[BUGFIX] Fallback to default if voices defined in the metadata don't exist #5954
+61
−52
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.
Linked Issues
#5910
Description
If a song's metadata explicitly defines the voices, the game will use them without checking if they actually exist which will cause a crash later. This PR fixes this issue by only using the voices defined in the metadata if their files exist. If they don't exist, it will fallback to the default method of resolving voices.
Test
I tested this PR using this mod. All this mod does is replace the metadata file for Roses with the metadata file sent by the author of the linked issue:
metadataTest.zip
If you use this mod on the release version, the game will crash when loading Roses. If you use it on a version compiled from this PR, the game will not crash.