You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
#rb CarlMagnus.Nordin, Per.Larsson #rnx #preflight 63496fcf1f6054a99fe8bd0c - When parsing the paklist, any file with a -rehydrate flag will be considered for rehydration - Add the virtualization module to the PakFileUtilities module - Add the source control module to UnrealPak (the virtualization module should be taking care of this) - While parsing the files to be included in the pak file, we will record if any of the files require rehydration, if so this will be noted in FPakCommandLineParameters::bRequiresRehydration and used to initialize the virtualization system. -- We only need to initialize the system once, even if we detect that multiple pak files have files that need rehydration. -- If no pak file needs rehydration we do not initialize the system and the virtualization module is never loaded. - FOutputPakFileEntry::CompressedFileBuffer was made private with accessors to make the refactor easier. - Now when we start to compress a file, we always load it entirely into memory (along with any potential padding needed), if we then detect that the file doesn't require padding then we just use the in memory buffer as the output and if we do need compression we compress the buffer. -- This means that there is only one place we load the file from disk, meaing only one place we need to insert the rehydration code to. This load is where the rehydration occurs. -- In the previous code we would load the file into memory and then retain this copy during the compression pass, so no additional memory should be used. - At the moment when we get the buffer back fromt he rehydration pass it will be in the form of a FSharedBuffer and so for now we need to memcpy to FCompressedFileBuffer::UncompressedBuffer, which is a waste of cpu cycles. -- In a future change we should change UncompressedBuffer from TArray to FSharedBuffer to avoid this. [CL 22595708 by paul chipchase in ue5-main branch]