Add comments and a test framework for testing FPakProcessedReadRequest.
#rb Graeme.Thornton
#rnx
#ROBOMERGE-SOURCE: CL 17029321 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v845-17028103)
#ROBOMERGE[bot1]: dev-enginemerge-test
[CL 17029333 by matt peters in ue5-release-engine-test branch]
Add an earlier FATAL log to catch invalid premature deletion of FPakProcessedReadRequest before it can cause difficult-to-diagnose crashes on the asynchronous DoProcessing thread.
#rb Justin.Marcus
#rnx
#ROBOMERGE-SOURCE: CL 17015222 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v839-17012307)
#ROBOMERGE[bot1]: dev-enginemerge-test
[CL 17015231 by matt peters in ue5-release-engine-test branch]
use GetMaximumCompressedSize for decoding
use CompressMemoryBound for encoding
#rb dan.thompson
#ROBOMERGE-SOURCE: CL 16897963 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)
[CL 16897969 by charles bloom in ue5-release-engine-test branch]
All games now use Engine Oodle for runtime decompression
Oodle in Engine can load an older Oodle DLL for encoding packages to keep making the same binary data
#rb dan.thompson,devin.doucette
#ROBOMERGE-SOURCE: CL 16879404 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)
[CL 16879428 by charles bloom in ue5-release-engine-test branch]
FPakFile::DecodePakEntry: Fix special case handling for when CompressionBlockSize should be set equal to UncompressedSize.
The original legacy condition was to set CompressionBlockSize = UnCompressedSize when UncompressedSize < 65536.
That condition is incompatible with future plans for more flexible CompressionBlockSize.
We changed that to UnCompressedSize < CompressionBlockSize, but now we have found that
new check does not catch the case of e.g. UnCompressedSize == 909, CompressionBlockSize = 909, and encoded CompressionBlockSize == 909 >> 11 == 0.
The original legacy condition relied on the assumption that (UncompressedSize < 65536) implies (NumCompressionBlocks == 1).
In our second attempt at fixing the legacy condition, we now use the condition NumCompressionBlocks == 1.
#rb Charles.Bloom
#rnx
[CL 16161323 by Matt Peters in ue5-main branch]