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 #698.
Resolves #701.
Checklist
Description
This is the last aspect (at least for the time being) in TRR that we're able to randomize. I'll follow this up with a documentation PR, which will close the related issue, then release it for testing and any bugs raised from that can be handled separately.
This is a big change, but filtering out the JSON will probably be a good approach, or going commit-by-commit. Previously, TR2 and 3 had their own format which was tied to the string indices in the script file, then we had TR1X which was much more intuitive with string keys to values. We now use the TR1X format for everything, hence the large JSON rewrite. The specific implementations handle the conversion of our keys to where in the script the values need to be placed. Similarly for TRR, it's another set of mappings into the text files here.
This also fixes a bug that has gone unnoticed since TR3 strings were introduced in #242. The files were all in ANSI but UTF8 is needed here, and they had several unusable characters as a result. Everything is now sanitized.