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 #614.
Resolves #684.
Checklist
Description
More deduplication here, so the shared
AudioRandomizer
now handles most things. I will follow up and rename this toAudioAllocator
to stay in line with the rest; I just wanted to keep it separate to preserve history.SFX rando is kept separate for TR1. I originally thought it wasn't going to be possible to randomize SFX in TR1R because it now uses MAIN.SFX and it seems to have a hardcoded LUT, meaning the samples and indices in the level files are ignored. But instead, what we now do here is randomize the SFX animation commands and any sound sources, which covers most things. There are still some hardcoded sounds we can't change, like Lara's gunshots. OG TR1 still uses the original method of swapping the WAV samples around.
I've also fixed #684 -
Settings.AssaultCourseWireframe
was being referenced instead ofSettings.UncontrolledSFXAssaultCourse
. The dangers of copy-paste...