Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Part of #619.
Checklist
Description
This squashes SFX data into one structure in TR1-3 and removes the complication of ensuring details are sorted/configured correctly before writing. TR4/5 remain as they were for now, these classes in general will be updated soon to hide the compression details and make things easier (too complicated as part of this PR, plus we don't randomize anything there yet).
This causes one side effect temporarily - cross-level enemies will be imported without any sound. The reason being model transport - although now setup to deal with the new
SortedDictionary
, and in a much simpler way than before - doesn't have updated data files as of yet (e.g. everything inTRRandomizerCore/Resources/TR1/Models
remains without the exported new information). This won't be going live until after the next stage, which will be handling models, animations, etc. Once that's done, I am planning a new data structure overall to reduce our footprint a little more.The first commit here contains the bulk of the new code, mainly big SFX enums, so might be easier to review commit-by-commit.