You can now use GetStatData to get all of the stat data for a file (its timestamps, size, read-only state, and type (file or directory)) in a single file-system request. Depending on the platform, this can be much more efficient than making multiple requests.
This change also adds alternate directory iteration functions (IterateDirectoryStat and IterateDirectoryStatRecursive) for when you need the stat data along with the files/directories on disk. For platforms that provide this stat data as part of the low-level directory iteration (such as Windows), this can yield much better performance than making two separate file-system requests. Platforms that do not provide this information as part of the directory iteration will just perform a stat request while iterating.
#platformnotify Josh.Adams
[CL 2634161 by Jamie Dale in Main branch]
Fixes bug where Fortnite cooked builds being unable to open log files through PlatformFilePak since they are open for write.
Merged //depot/UE4-Fortnite/Engine/Source/Runtime/... to //depot/UE4/Engine/Source/Runtime/...
[CL 2580616 by Eric Newman in Main branch]
- Currently essential on Windows only; other platforms may make use of this when managing file handles.
#codereview Eric.Newman, Robert.Manuszewski, Josh.Adams, Michael.Trepka, Chris.Babcock, Marcus.Wassmer, Peter.Sauerbrei
[CL 2480709 by Dmitry Rekman in Main branch]
- The project file (passed with abs path) could be found in the pak file, but its directory could not.
- Fixed by PeterK in UT4 branch.
#codereview Robert.Manuszewski, Peter.Knepley
(Merging CL 2345332 from UT4 branch to main).
[CL 2364254 by Dmitry Rekman in Main branch]
#change Removed GGameName usage from code and replaced it with FApp::*GameName API
#change Added FApp::SetGameName(), FApp::IsGameNameEmpty()
#change Added IFileManager::GetFilenameOnDisk to get the correct case of a filename on disk
#change Renamed GGameName to GInternalGameName
[CL 2328446 by Robert Manuszewski in Main branch]