[RN] Minor, PakFiles
#ROBOMERGE-SOURCE: CL 12502978 via CL 12502983 via CL 12502984
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v673-12478461)
[CL 12502987 by matt peters in Main branch]
Legacy pak file versions encode pak entries in FPakFile::LoadLegacyIndex. That function repeatedly serializes bytes from the pakfile on disk into a reused FPakEntry. Serialize expects the FPakEntry to be in an empty constructed state, and it was not empty due to serializing previous PakEntries into it.
Added a reset function and call it in this one place where FPakEntry is reused.
#rb Graeme.Thornton
#rnx
[CL 12000363 by Matt Peters in Main branch]
Fix incorrect use of static constexpr without inline.
#rb trivial
#rnx
#ROBOMERGE-SOURCE: CL 11465526 via CL 11465539
#ROBOMERGE-BOT: (v654-11333218)
[CL 11465545 by matt peters in Main branch]
#ROBOMERGE-SOURCE: CL 11458135 via CL 11458136 via CL 11458137 via CL 11458138
#ROBOMERGE-BOT: (v654-11333218)
[CL 11458139 by matt peters in Main branch]
OptimizedPakIndex: Bump the PakIndex version from 9 to 10, to avoid conflict with PakFile_Version_FrozenIndex = 9 from mainline. This change will remain in Fortnite only, and unlike UE::Main will refuse to load version 9 paks. This change can be clobbered with UE::Main's version after a few days when we have deleted all of our version 9 paks.
#ROBOMERGE-SOURCE: CL 11458117 via CL 11458118 via CL 11458119 via CL 11458120
#ROBOMERGE-BOT: (v654-11333218)
[CL 11458121 by matt peters in Main branch]
[REVIEW]
#rb Graeme.Thornton
Optimize Pak file indices by computing the PathHashIndex in unrealpak rather than using strings at runtime.
This also removes the need to shrink the string indices for performance, which was triggering a bug due to unsynchronized multithreaded access.
#ROBOMERGE-SOURCE: CL 11442058 in //Fortnite/Release-12.00/... via CL 11442063 via CL 11442073 via CL 11442081
[CL 11443295 by Matt Peters in Main branch]
#rb steve.robb
#ROBOMERGE-SOURCE: CL 11303014 via CL 11303031 via CL 11303037 via CL 11303042
#ROBOMERGE-BOT: (v0-11244347)
[CL 11303201 by graeme thornton in Main branch]
Name the number in pakchunk file pakchunk index and the number of a platform chunk chunk id to avoid confusion. Also keep this naming convention consistent across all platform code.
#ROBOMERGE-SOURCE: CL 11131543 via CL 11132441 via CL 11132504
#ROBOMERGE-BOT: (v640-11091645)
[CL 11132564 by hongyi yu in Main branch]
#rnx
#rb none
#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869210 via CL 10869511 via CL 10869900
#ROBOMERGE-BOT: (v613-10869866)
[CL 10870549 by ryan durand in Main branch]
Replicated from CL# 7924370.
#rb none
#ROBOMERGE-OWNER: steve.robb
#ROBOMERGE-AUTHOR: steve.robb
#ROBOMERGE-SOURCE: CL 9279060 via CL 9279063
#ROBOMERGE-BOT: (v443-9013191)
[CL 9279836 by steve robb in Main branch]
Also add support for overriding the startup pak mount wildcard
#rb daniel.lamb,dan.phillips
#ROBOMERGE-OWNER: ben.woodhouse
#ROBOMERGE-AUTHOR: ben.woodhouse
#ROBOMERGE-SOURCE: CL 8511857 via CL 8511859 via CL 8511866 via CL 8512599 via CL 8513780
#ROBOMERGE-BOT: (v406-8472469)
[CL 8513797 by ben woodhouse in Main branch]
Also removed DDC config file. Will need to figure out another way to do this when we enable DDC.
Graeme.Thornton
#ROBOMERGE-SOURCE: CL 8240468 via CL 8240483 via CL 8243394
#ROBOMERGE-BOT: (v401-8057353)
[CL 8243494 by daniel lamb in Main branch]
Allow more control over the pak cache, cache per pak, indvidual caches for all paks.
Increase the number of cached blocks for XboxOne.
Enable cache per pak for XboxOne.
[FYI] ben.woodhouse
gil.gribb, graeme.thornton
#ROBOMERGE-OWNER: dan.phillips
#ROBOMERGE-AUTHOR: dan.phillips
#ROBOMERGE-SOURCE: CL 7681509 via CL 7689295
#ROBOMERGE-BOT: (v383-7686620)
[CL 7689301 by dan phillips in Main branch]
- Fix entry shrinking not working on pak files that contain files that are encrypted AND compressed
- Optimize any pak files that are added after encryption keys are registered
- Improvements to logging / diagnostics
- Use a unique starting seed (hash of filename) when doing filename unloading. Reduces cost expected collisions (localization paks / encrypted paks with duplicated assets)
- In non-shipping builds, decode shrunken entries after the shrinking to check they match the original
- Fix leaked FPakFile object when it was immediately determined to be invalid
#rb allan.bentham
[FYI] ben.woodhouse, hongyi.yu
#ROBOMERGE-OWNER: graeme.thornton
#ROBOMERGE-AUTHOR: graeme.thornton
#ROBOMERGE-SOURCE: CL 7139776 via CL 7139778 via CL 7167780
#ROBOMERGE-BOT: (v367-6836689)
[CL 7167782 by graeme thornton in Main branch]
[FYI] Daniel.Lamb
#ROBOMERGE-SOURCE: CL 6910644 via CL 6910646 via CL 6911055 via CL 6912095
#ROBOMERGE-BOT: (v366-6836689)
[CL 6913768 by peter knepley in Main branch]
- If a corrupt index is detected, do a retry but collect and log more information along the way to help diagnose the issue.
#rb stefan.boberg
#ROBOMERGE-SOURCE: CL 6685180 via CL 6685186 via CL 6751170
#ROBOMERGE-BOT: (v365-6733468)
[CL 6751664 by graeme thornton in Main branch]
[at]Josh.Adams [at]Graeme.Thornton
#ROBOMERGE-OWNER: justin.marcus
#ROBOMERGE-AUTHOR: justin.marcus
#ROBOMERGE-SOURCE: CL 6658947 via CL 6659206 via CL 6659209 via CL 6659344 via CL 6659918
#ROBOMERGE-BOT: (vundefined-6654089)
[CL 6660722 by justin marcus in Main branch]