*Reduces code duplication
*Enables the same ODSC flow to be used for both COTF variants
*The client will now autodetect if it should run in Zen mode or not
#rb pj.kack,per.larsson
#preflight 628c79bdf057b981ca479b3e
[CL 20344832 by CarlMagnus Nordin in ue5-main branch]
Cooker: Fix the issue that we were trying to fix with that previous change; it is specific to WorldPartition and CookPackageSplitter; we need to requery the list of objects in the package that need BeginCacheForCookedPlatformData after we call on WorldPartition to move all of its OFPA objects into the Level object for cooking.
#jira UE-152960
#jira FORT-480046
#jira UE-152856
#rb Zousar.Shaker
#rnx
#preflight 6286a2e8614041edb7235cab
[CL 20286770 by Matt Peters in ue5-main branch]
Fix precision issues with some times used in polling that were stored as floats instead of doubles.
#rb CarlMagnus.Nordin
#rnx
#preflight 6285674e614041edb7a85a12
[CL 20269102 by Matt Peters in ue5-main branch]
This is necessary because as of CL 20151503, the cooker can commit the same package multiple times if the first save failed due to a timeout.
#fyi CarlMagnus.Nordin
#rnx
#rb Per.Larsson
#preflight 62853ba90f0d5076dee74ced
[CL 20265738 by Matt Peters in ue5-main branch]
Merge duplicated code in SaveGlobalShaderMapFiles and InitializeShadersForCookOnTheFly.
#preflight 62840a0d185a31bd39e4261d
[CL 20250859 by Matt Peters in ue5-main branch]
GetAllTextureFormats is only used by COTF for version checking
could deprecate then remove it entirely
#rb none
#preflight 62797695e02e157f3e6a021b
[CL 20110473 by charles bloom in ue5-main branch]
#fyi Josh.Adams
Original CL Desc
-----------------------------------------------------------------
- Adding FConfigContext which is used to repalce LoadExternalIniFile, LoadLocalIniFile, etc, as well as have localized data for all configs read on a thread (like the other platform configs loaded in the editor)
- The Load*IniFile functions will create a Context, but eventually those APIs will go away and the Context will be the only way to load ini files
- Simplified some of the ini loading code, like removing the HierarchyCache (it wasn't helping editor load times, and added much complexity, and was not thread-safe, and it shouldn't actually be helpful because all the calls to Load*IniFile should eventually be replaced with either GConfig or FCOnfigCacheIni::ForPlatform(), which won't need to re-read in files
- Ini reading time actually went down due to the simplification, including Cache removal
- Left in old code for now behing a #define (USE_CONTEXT) in case something goes wrong
- Added in VERIFY_CONTEXT mode which I used to run original and Context modes and compare (including preflighting builds) (I also added a Compare function that we may want to keep around to use for future debugging)
- Added a separate set of config layers for plugins which speeds up plugin parsing, but also will fix the issue with BaseEngine.ini vs DefaultEngine.ini in Engine vs Project plugins (this shows how Contexts can bring useful information down into the guts - however a later change will enable it)
- Once this is all seen to be working, I will clean up the non-Context functions, and some globals vs static members, etc
#rb paul.chipchase
#jira none
#preflight 62716c1c5e6ce673f452005a
[CL 20033253 by josh adams in ue5-main branch]
- The Load*IniFile functions will create a Context, but eventually those APIs will go away and the Context will be the only way to load ini files
- Simplified some of the ini loading code, like removing the HierarchyCache (it wasn't helping editor load times, and added much complexity, and was not thread-safe, and it shouldn't actually be helpful because all the calls to Load*IniFile should eventually be replaced with either GConfig or FCOnfigCacheIni::ForPlatform(), which won't need to re-read in files
- Ini reading time actually went down due to the simplification, including Cache removal
- Left in old code for now behing a #define (USE_CONTEXT) in case something goes wrong
- Added in VERIFY_CONTEXT mode which I used to run original and Context modes and compare (including preflighting builds) (I also added a Compare function that we may want to keep around to use for future debugging)
- Added a separate set of config layers for plugins which speeds up plugin parsing, but also will fix the issue with BaseEngine.ini vs DefaultEngine.ini in Engine vs Project plugins (this shows how Contexts can bring useful information down into the guts - however a later change will enable it)
- Once this is all seen to be working, I will clean up the non-Context functions, and some globals vs static members, etc
#rb paul.chipchase
#jira none
#preflight 62716c1c5e6ce673f452005a
[CL 20029165 by Josh Adams in ue5-main branch]
1) Split StartCookByTheBook into subfunctions.
2) Rename some functions to match the new naming convention I've made for StartCookByTheBook helpers.
3) Make StartCookByTheBook and StartCookOnTheFly/AddCookOnTheFlyPlatform share subfunctions rather than duplicate code. Make Cancel and CookByTheBookFinished share subfunctions.
4) Remove up front allocation of MapDependencyGraphs; we can construct them on demand in CookByTheBookFinished.
#rb Zousar.Shaker
#rnx
#preflight 62703c3b220f89f0ad528cf6
[CL 20015198 by Matt Peters in ue5-main branch]
1) Remove GenerateAssetRegistry, it is no longer needed.
2) Factor shadercode out of StartCookByTheBook into a subfunction and move the portion that occurs after cleaning the sandbox to the end of StartCookByTheBook to give its asynchronous operations more time to complete.
3) Move CancelCookByTheBook out of the scoped cooktimer so it can clear the cook timers.
4) Move CookOnTheFly status logs into UpdateDisplay.
#rb Zousar.Shaker
#rnx
#preflight 626af9f8b17dd9121b5797e4
[CL 19971385 by Matt Peters in ue5-main branch]
1) Add CookSettings metadata to the cook directory so we can invalidate iterative cooks when a cook parameter has changed to a value incompatible with the previous cook.
2) Split BeginCookSandbox into two parts so we can calculate whether the build is iterative earlier and use it in functions that need to run before deleting the previous cook results.
#rb Zousar.Shaker
#rnx
#preflight 626ac681b17dd9121b425c6c
#preflight 626af9f8b17dd9121b5797e4
[CL 19968382 by Matt Peters in ue5-main branch]