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]
#ROBOMERGE-SOURCE: CL 14629445 via CL 14629451 via CL 14629453 via CL 14629688 via CL 14629956 via CL 14630024
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v753-14616146)
#ushell-cherrypick of 14632086 by graeme.thornton
[CL 14784442 by Matt Peters in ue5-main branch]
#rb rune.stubbe
#jira none
#rnx
#ROBOMERGE-SOURCE: CL 13007135 in //UE4/Release-4.25/... via CL 13007150 via CL 13007159
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)
[CL 13007166 by jeff newquist in Main branch]
Normal read requests have this behavior, but size requests were not respecting this, which caused problems when the constructor launches a callback on another thread and then immediately calls WaitCompletion, such as in the callback lambda inside FFileCacheHandle::FFileCacheHandle / PushCompletedRequest.
#rb rune.stubbe
#jira none
#rnx
#ROBOMERGE-SOURCE: CL 12974187 in //UE4/Release-4.25/... via CL 12974195 via CL 12974203
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)
[CL 12974208 by jeff newquist in Main branch]