[Tweak] Support for PAL1.1 Change Language option #3124
Merged
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.
This adds the "Change Language" option from PAL N64 to the Main Menu Options screen.
To achieve this, I had to search for the additional assets provided in the pal1.1 rom and add unique definitions for them to be extracted, as well as headers for them.
The render code for the options menu will look at which platform type and region type is loaded by the active OTR and decide what to render (as not all OTRs will have the expected assets). This will most likely be extended once we add support for NTSC later on.
The input detection also will now take into account if there is 2 or 3 rows of settings. Once the language is changed, the CVar is automatically updated to ensure the setting takes place and is not overwritten on the next frame. TTS additions are provided to read out the language names.
Without a proper PAL N64 decomp to reference, I can't say for sure if this is 1-1 with how it would have been coded, but I consider this a functional enough match for the feature, as well as preserving PAL GC behavior.
I've added the PAL N64 headers to
soh-assets.h
but I think long term we will want to figure out a way to run the extract headers step on multiple roms and merge them together so that xml defined headers are always auto generated, and soh-assets.h is strictly for custom assets.2023-08-16.13-54-55.mp4
Build Artifacts