Add UE5_8 engine version - #75
Open
stevenlafl wants to merge 1 commit into
Open
Conversation
UE 5.8 introduced no new EIoStoreTocVersion, EIoContainerHeaderVersion,
or EUnrealEngineObjectUE5Version entries, so UE5_8 maps to the same
values as UE5_7 (ReplaceIoChunkHashWithIoHash /
SoftPackageReferencesOffset / ImportTypeHierarchies). Verified against
a commercial UE 5.8.1 title: its shipped containers report exactly
these versions, to-legacy extraction of its assets matches UE5_7-mode
output byte-for-byte on the export payload, and to-zen round-trips
produce correctly versioned containers.
Adds UE5_8 test cases mirroring the existing UE5_7 pattern (reusing
the 5.6 fixtures, identical IoStore serialization).
Note: test_zen_asset_identity_conversion currently fails on master
before reaching the 5.7/5.8 cases ('failed to fill whole buffer' on
the UE5.4 fixtures); the failure is identical with and without this
change.
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.
Add UE5_8 engine version
Toward #74: adds
UE5_8toEngineVersionso 5.8 titles can be targeted explicitly with--version UE5_8.Note this does not make 5.8 support complete on its own: #72 documents a further 5.8 change (
FFilePackageStoreEntry::ShaderMapHasheselements shrank fromFSHAHashto 8 bytes, without anEIoContainerHeaderVersionbump) that affects titles whose store entries carry shader map hashes. The title used for verification below has none, so this PR is correct but orthogonal to that fix; withUE5_8in the enum, a #72 fix gains a natural key for the write side.Mapping
UE 5.8 introduced no new
EIoStoreTocVersion,EIoContainerHeaderVersion, orEUnrealEngineObjectUE5Versionentries (verified against the 5.7 and 5.8 release branches of the engine source), soUE5_8maps to the same values asUE5_7:ReplaceIoChunkHashWithIoHashSoftPackageReferencesOffsetImportTypeHierarchiesVerification
Tested against a commercial UE 5.8.1 title (updated from 5.7.4, so both cooks were available for comparison):
retoc infoon its shipped containers reports exactly the mapped versions aboveto-legacy --version UE5_8extraction of its assets is byte-identical on the export payload toUE5_7-mode extractionto-zen --version UE5_8round-trips extracted assets into correctly versioned containers, and containers built this way mount and load in the title's 5.8.1 runtimeAlso adds
UE5_8cases totest_zen_asset_identity_conversion, mirroring the existingUE5_7pattern (reusing the 5.6 fixtures, identical IoStore serialization).Note:
test_zen_asset_identity_conversioncurrently fails on master before reaching the 5.7/5.8 cases (failed to fill whole bufferon the UE5.4 fixtures; that directory has noAssetRegistry.binandBP_Table_Lamphas no.metadata.json). The failure is identical with and without this change.Disclosure
Developed in a Claude Code session: the AI assistant performed the engine-source version analysis and authored the change; I (the human) provided licensed UE source access, ran the real-game verification, and reviewed the result.