Adds utility functions to TerrainBlock to be able to replace names of materials in the terrain file, mostly used for importing legacy files
Adjusts terrainblock save asset logic to be able to save on a non-networked terrainblock such as when loaded temporarily on the server, for tooling purposes.
Changes handling of not-found terrain materials when loading a terrain block so it will create a dummy terrain material with the same name as the not-found, but set the texture as the Warning image, instead of thrashing the original material names data
Adds logic for testing newly imported terrain files' materials and if needbe, replacing them with the new terrain material asset ids.
Adds logic in the project importer for if a would-be level asset's name already exists, we attempt to slap a "Level" suffix onto it to sidestep collisions.
Changed LegacyImport config to try always adding shape suffix to help minimize probable naming collisions.
Fixed handling of mission file's MissionGroup defines by specially checking for MissionGroup objects and processing the line into a Scene() declaration instead.
Also:
Fixes error spam about CreatorIconArray
Fixes error spam about duplicate uses of various materials
Converts a number of materials to be packed into the mat assets for cleanliness and preventing unwanted duplicate exec's
Removed some extraneous misconvert '.asset.taml' files
Fixes 'cannot compile shader' error when trying to use the viz modes
Fixed a some instances of guiControlProfiles not being actually defined
Fixed some instances of guiControlProfiles being duplicated
-Added: SkySphere a full sphere skyBox
-Change: ScatterSky now renders a dome instead of the top face of a cubeSphere
-Change: Creator now has skySphere
TODO: Simplify sphere creation
PossibleMethod: Add the sphere creation functions to one place to be shared around.
Fixed wrong variable preventing ImportConfig Editor from refreshing when selecting different configs
Standardized DefaultImportConfig's settings against Legacy Import setting, specifically collision resolution behavior and appending _mat suffix to materials
Also made the classname validity check happen on the other creation keyword types
Added logic so when processing an importing material definition that already has an asset, can handle it if the scriptPath doesn't have the extension in it already.
Adds handling for progrommatic new object delcarations where the class type is defined via () encapsulated code so the project import doesn't mangle it.
Updated all UI module controls to utilize a more standard structure with stack controls instead of the GameMenu ctrls, as well as more standardization of gamepad input handling