Support loading streaming data in decompiler #130
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.
It turns out streaming data in Jak 1 is implemented as a bunch of chunks. Each chunk is a GOAL object file. This PR adds the
StrFileReader
utility for reading and extracting GOAL objects from a streaming data file, adds support for STR files to the decompiler, and adds all STR files to the object map and decompiler config. There were no duplicate names, so naming was simple and there is no name remapping.These chunks don't store an easy to understand name, so the utility also can extract the full name. For example, the file
GRSOBBA
is actually an abbreviation ofgreen-sagecage-outro-beat-boss-a
. We also test that we can correctly abbreviate animation names using the stupidly complicated Animation Name system.