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.
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
Add additional utility functions for updating parsed object data in the project importer
Adds logic to find and associate FX materials to their terrainMaterials and adding them to the terrian material asset if found on project importer
Also updates importers to correctly handle this change
Adds ability for taml XML serialization to properly assign array'd fields
Adds 'inheritFrom' field to simobjects for when objects with parent objects are serialized
AssetBase how inherits from SimGroup so it can have objects like material definitions embedded in them for save/load in the taml definition file
Updated loading/handling logic in terrain material asset to be more similar to regular material assets
Added santizing of strings to filenames, object names and asset names for the importer process
Added sanitizeString console function for above
Added processing of terrainBlock object's fields for importer
Added check to avoid updateTSShapeLoadProgress spam
Adjusted folderPrefix logic to walk up directory to find assetName that isn't already in use.
Uncommented line in preview build function for material assets so they generate the reduced preview image
Added cubeFace to cubemapData import processing vars checked
Updated ShapeBaseImageData convert vars to properly use asset var names
Fixed handling of convex shape editor's active and default materials
Fixed assignment of material for convex shapes via editor
Fixed material editor map assignment logic
Added utility function to detect possible duplicate files in project to ProjectImporter
Added conversion of legacy sky and water classes to importer
Fixed bufferLen issue with guiTreeViewCtrl
Fixed creation of materialAsset from AB to properly generate companion script file
Fixed logic in project import that if we import in a legacy module script, we get rid of the newly generated one in favor of the old one
Fixed typo in import config settings for DuplicateAutoResolution
Converted TSShapeConstructor to utilize assets
Updated shape editor to work with assetified constructors
Converted guiBitmapButtonCtrl to use assets
Fixed modulePath not setting in some cases for project importer
Fixed not assigning drop and splash textures in precipitation
Fixed stringtable insert for sfxProfile
Added asset import conflict resolution option to prepend folder name
Cleanups of Project Importer and fixed importing of material and terrain materials, specifically, fallbacks in the event they are unnamed to utilize the mapTo and internalName fields, respectively
Fixed typos in guiTerrainMaterialDlg
Added AssetBrowser button to GuiEditor
Improved FileObject's PeekLine function to be able to peek forward further via an optional lineOffset argument
Assets created for missed objects and files
Improvements to the Project Importer to correct a number of issues, including not parsing ,'s from object names, trimming whitespace, pruning script extensions from exec invokes
A) if the file reference string lacks a "/" or "\" entirely, assume it's truly oldschool relative-to-scriptfile when generating links
B) leverage a combination of getClassHierarchy(%currentObjClass); and a new T3Dpre4ProjectImporter::genProcessor(%classType, %conversionMap) method to list-generate ittertatively applied entry conversions in a typo avoiding manner. (will stil need to ensure the old entries are properly listed. this only really avoids copypasta errors)