Changing GetUObjectArray() -> GUObjectArray to avoid redundant function calls in places like weak pointers/GC/object iterators
[CL 2686461 by Robert Manuszewski in Main branch]
Improvements and fixes for dependency preloading
- Fix check when mutliple load requests reference a shared asset
- Added a package load flag to disable dependency preloading on that package
- Fix a crash when loading default materials by disabling preloading
- Added WIP code to cooker to sort maps in pak file.
Display level load times for persistent levels when using "stat levels"
[CL 2669089 by Graeme Thornton in Main branch]
#UE4 Allowing ResetLoader to get called on FAsyncPackages in cooked games. Previously DetachLinker would get called right before which prevents ResetLoader from deleting the linker and reclaiming the memory used until the UPackage is destroyed.
#codereview Robert.Manuszewski
--------
Integrated using branch Ue4-To-UE4-Fortnite-Simple (reversed) of change#2640980 by Bob.Tellez on 2015/07/31 17:03:42.
[CL 2640982 by Bob Tellez in Main branch]
#UE4 Change the order of the async loading tick to process loaded packages before reading in new ones. This stops it from preloading all packages and exploding memory usage before it processes any of the loaded ones.
Change it so newly requested async load packages are placed after packages of equal priority, this stops them from interrupting in progress loads of the same priority
[CL 2640423 by Robert Manuszewski in Main branch]
All changes regarding e-mail discussion titled "Asset registry shenanigans".
Changes:
1. Engine now actively is getting rid of short asset paths in FStringAssetReference during saving (for all packages) and loading (only for older packages).
2. Deprecated direct access to FStringAssetReference.AssetLongPathname and exposed it via ToString and SetPath -- SetPath is making sure the path is in correct format. If the path can't be found on disk, the path is cleared.
3. Also access to FStringAssetReference.AssetLongPathnam via Blueprints is guarded using custom Make node function that uses SetPath instead of simple assign.
4. StringAssetReferenceMap will now contain only paths to packages (not objects) and ini references
5. GetDependencies now has additional parameter that lets you chose if it should resolve ini references or not. It was left not as default to keep old behaviour.
[CL 2630589 by Jaroslaw Palczynski in Main branch]
#UE4 Added the exclusive load package time tracker, which is a tool to keep track of the exclusive load times for all packages that are loaded in development/debug builds. Use the "LoadTimes.DumpReport" console command to see the load time report
--------
Integrated using branch Ue4-To-UE4-Fortnite-Simple (reversed) of change#2627564 by Bob.Tellez on 2015/07/21 12:07:44.
[CL 2627568 by Bob Tellez in Main branch]
- Generate a new cooker file open log for unrealpak to use if it can't find a game file order
- Add dependency data into the "mini" asset registry
- Load mini asset registry at runtime and use it to load package dependencies BEFORE opening the requested package. Hopefully, all in the same order as the cooker file log
[CL 2608850 by Graeme Thornton in Main branch]