Repository navigation
fix: P3D model info names after property_frequent - #46
Merged
Merged
Conversation
- ModelInfo: the u32 after property_frequent (version 31 and up) counts names that follow it. It was read as a plain unknown int, so a model with one name put everything after it off by the name's length: the shadow LOD arrays, the animations and the LOD addresses. Now read as ModelInfo::unknown_strings. The only model with one in Arma 3 and ~28,000 mod models is FFAA's invisibletargetvehicle.p3d (component01), which loads now. - Test data: the FFAA model in rv-test-data-part-4.7z.
Codecov Report✅ All modified and coverable lines are covered by tests. 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
ModelInfo: the u32 afterproperty_frequent(version 31 and up) counts names that follow it. It was read as a plain unknown int, so a model with one name put everything after it off by the name's length: the shadow LOD arrays, the animations and the LOD addresses. Now read asModelInfo::unknown_strings.invisibletargetvehicle.p3dinrv-test-data-part-4.7z, the only model with a name there (component01).Checked by loading every P3D of Arma 3 (6,682, all load) and of 150 mods (~28,000): every real ODOL model loads. The ones that still fail are obfuscation decoys (junk names, garbage after a valid header) in 3CB Factions, Pr.1204, Tiger, Stargate and Blastcore. Some of them make the reader panic or abort on huge allocations, that follows in a separate PR.