Commit graph

92 commits

Author SHA1 Message Date
Areloch c1cd217557 Initial pass at implementing MaterialAsset macromagic utility functions and applies it to the renderMeshExample object as well as groundPlane 2020-12-27 23:24:29 -06:00
Brian Roberts 7dc6fc8abf
Merge pull request #415 from Areloch/GroundPlaneAssetify
Converts GroundPlane to utilize assets
2020-12-19 02:35:32 -06:00
Brian Roberts 78a836e433
Merge pull request #409 from Azaezel/alpha40_assetPipeCleanups
asset pipe cleanups
2020-12-19 02:34:57 -06:00
Areloch 3821ddd15a Merge branch 'GroundPlaneAssetify' of https://github.com/Areloch/Torque3D into Preview4_0 2020-12-18 14:12:54 -06:00
Areloch 8f60d03830 Adjusts Asset Importer logic when looking up and saving out a newly created ShapeConstructor so that it doesn't duplicate a definition it one already exists.
Adds _ORM and -ORM suffixes for PBR-ORM map import rule
Tweaks naming convention for IgnoreNode/Meshes and ImportNode/Meshes to be clearer via the prefix 'Always'
Fixes a token typo in suffix parsing, and adds \t to token deliniation for all suffix parsing to asset importer
2020-12-18 00:55:01 -06:00
AzaezelX b26c87491f need to ensure we've got an asset at all before setting the loaded state 2020-12-14 13:33:49 -06:00
AzaezelX f95a78d2e8 misc asset pipeline cleanups
AssetImporter::validateAsset make sure the modelDef looked for is valid
AssetImporter::importShapeAsset had a stray +"_"+embeded in it when it came to stitching togeather filenames and extentions
2020-12-14 13:32:45 -06:00
Brian Roberts 5534384c54
Merge pull request #390 from Azaezel/alpha40_assetErrorcodes
variation on #387 that also introduces errorcodes
2020-12-08 23:50:07 -06:00
AzaezelX 8bb43dd5ae error string interpreter, example of usage in shapebase::preload, plus flips the datablock filter back on to save some network bandwidth. 2020-12-03 15:37:51 -06:00
Areloch e8564680e4 Better handling for finding modules by file path. Mainly used in asset importer 2020-12-02 23:57:17 -06:00
AzaezelX 220771d2fe variation on #387 that also introduces errorcodes 2020-12-01 19:16:36 -06:00
AzaezelX 5de19404d9 mac compile fixes
1) `/` not `\` for includes
2) had to clean up a few extra ## bits that work fine winside, but trip up macs (only needed when stitching, had 5 spots where that was pointless)
2020-11-06 02:11:13 -06:00
Areloch 388a700a53 Implements material asset handling for GroundPlane object
Adds handling for finding material asset akin to shape and image assets
Updates the material asset inspector field to follow the current standard
Updates prototyping material assets to correctly have materialDefinitionName assigned
Fixed material asset import step to properly assign materialDefinitionName
Fixed typo in material editor icon name
Added logic to editAsset function call so it can also parse assetIds
Changed DefaultEditorLevel to utilize FloorGray material
Adds proper NoMaterial asset for fallback purposes
2020-11-01 23:32:34 -06:00
Brian Roberts 072b5ecb19
Merge pull request #357 from Areloch/ImageAssetHookins
Updates macromagic to properly set up for init'ing when image assets are set in material and terrain materials
2020-10-17 16:21:24 -05:00
Brian Roberts 3851612b91
Merge pull request #361 from Areloch/LevelAssetLoadConsistency
Updates some level asset functions and script handling
2020-10-17 16:21:01 -05:00
Areloch f4f60e1ae7 Improves default suffix handling for asset importer on image assets under a material asset 2020-10-16 17:03:30 -05:00
Areloch 837983c767 Adds script function to access full path of the level asset's preview image file
Updates script function descriptions to be correct
Updates chooseLevelDlg functions to be more efficient and consistent, and use the exposed get methods for getting preview images and the like properly
2020-10-13 18:44:42 -05:00
AzaezelX 4250e1d1b4 simplification of the Class::_set<slotname>Asset methods, (as well as early outting before dAtoi(index) hurt itself if index was invalid)
also since I was in there, fixed isrgb accidently being flipped on by default
2020-10-12 04:43:47 -05:00
Areloch f0068c2435 Updates macromagic to properly set up for init'ing when image assets are set in material and terrain materials 2020-10-10 22:48:13 -05:00
AzaezelX d1cc5964c4 fix GCC compile 2020-10-08 18:17:35 -05:00
Brian Roberts d50f1f0b81
Merge pull request #342 from lukaspj/fix/replace-dstrcmp
Replace uses of dStrCmp with new String::compare
2020-10-03 17:01:12 -05:00
Lukas Aldershaab 197a62f6ea Convert dStrcmp to String::compare for more cases 2020-10-04 00:00:01 +02:00
AzaezelX 0c7811bd1a shift pbrconfig to ORM 2020-09-30 13:51:12 -05:00
AzaezelX 22b0785c73 augment imageasset with initMapSlot and bindMap class insert macros (and array variants) to make the conversion process for folks shifting from 3.x to 4.x cleaner, as well as autocreation of getter/setter methods andadditoinal acessor macros for consistency 2020-09-30 13:50:23 -05:00
Areloch 8956559bfd Various misc. tweaks and fixes based on static code analysis to minimize/fix memleaks, crashes, or other performance impacting code. 2020-09-19 18:25:10 -05:00
Areloch 8fbad31b43 Fixes the hook-ins so when a shape asset is changed, tsstatics now are correctly triggered for a reload 2020-09-13 17:57:19 -05:00
Areloch 3c0c106051 Reorgs the editing of postFX so the editor settings edits the default config, and Scene > edit postFX to edit scene
Changes the saving of postfx from saving via the editor to instead save on level save
Reorganizes the core postfx folder to subfolders for better organization, as well as moving the shaders to group with the respective postFX
Changes the postfx editor so it only edits postFXs that are actively enabled in the scene, and only saves out similarly.
Adjusts the level download logic to pass asset id for both data compactness compared to the full level filename, as well as easier lookup reference for associated files like the postFX preset file or decal files from the asset def.
Updated the PostFXAsset template to provide an up-to-date starting point/template.
2020-09-11 02:28:15 -05:00
Areloch 7405453123 Fixes issue where it would try and load a SIS file even if it doesnt exist
Fixed warning about use of invalid function 'setEnabled' instead of 'setActive'
Fixed formatting of a schedule call in ExmapleGameMode
Fixed EditorOpenMission logic to correctly get and use levelAsset
Removed unneeded continues from menuInputButtons' refresh()
Updated settings.xml to have sorted order for future consistency
2020-08-26 13:40:04 -05:00
Brian Roberts 5544951b5d
Merge pull request #302 from Areloch/soundAndAnimationAssetImport
Integrates sound and shapeAnimation assets into the importer
2020-08-25 00:23:05 -05:00
Areloch 1942535923 Integrates sound and shapeAnimation assets into the importer
Added drag-n-drop spawn action for soundAssets
2020-08-24 20:24:50 -05:00
Areloch d06c99a088 Adds function to get material definition by mapTo usage
Re-enables logic for looking up existing material(generally just for in-place autoimport) and creates the material asset off of that. Also adds logic to look up the mapTo if it exists if the material name lookup fails.
Adds initial pass at re-enabling the sis file support for shape importing. In the event the UseManualShapeConfigRules setting is disabled(which it is by default) it will try and find the matching sis file and apply the rules from that to the config. Once the processing/import is done on the shape, the cached values of the main config are restored again.
Adds initial fbx.sis file. Needs to have the fields standardized to the config names.
2020-08-24 04:41:17 -05:00
Areloch 40dd926873 Adds function for sceneObjects to report utilized assets
Add reporting of used assets to tsStatics and TerrData
When saving a Scene, it will write static object asset dependencies to it's levelAsset
Shifted level loader logic to pass up the levelAsset rather than full level path
Made it so when level is loading, the levelAsset loads its dependencies. When the level is ended, as part of cleanup, they are unloaded
Shifts defaultEditorLevel to be an actual asset and made the ToolsModule load assets
Fixes the Save As action to correctly save out to the new level asset
Fixed the autoLoadAssets logic to be cleaner and not manually check types
Removed extra, unused DefaultEditorFile file
2020-08-19 18:30:42 -05:00
Areloch 686975c8ee shifts getImageFilename to getImagePath on ImageAsset
Adjusts references to utilize getImagePath to ensure things using the image asset gets the proper full path
Adjusts image import logic to import finding associated images
Adds logic so if a roughness map is imported, the generated material asset has the invertSmoothness flag on.
2020-08-13 01:35:24 -05:00
Areloch 69bfbb0978 Adds functions to get the full path for level and shape asset files
Updated choose level UI to use getLevelPath function so it works again
Added a check for mis.dso for choose level UI as well in case it was compiled
Updated open asset in shape editor logic to use getShapeFile so it works again
Fixed on-exit crash after drag-n-drop importing of assets into the AB by properly using the import config object as a pointered object
Added sanity check when inspecting a TSStatic, if there isn't a materials inspector group for whatever reason to prevent a crash
Added filter logic so if in select mode for a specific asset type, it won't show datablocks, prefabs or other loosefiles
Removed unneeded setting of AB's current address path when creating a new terrain material asset
Added logic for forcing field validation in the create a new asset window. This fixes a problem where if you'd typed in a field but didn't hit enter and then immediately hit the done button, the typed string wasn't used.
2020-08-12 13:11:13 -05:00
Brian Roberts d1a79ae5eb
Merge pull request #280 from Areloch/YetMoreMiscAssetFixes
Even more misc asset fixes
2020-08-09 14:09:29 -05:00
Areloch 79ecc2f4a0 Updates the rest of the asset types to utilize separate expanded path variables to avoid breaking assetDef saving
Fixes select mode for the Asset Browser to properly filter to the selecting type
Fixes the imageType in the asset import window inspector to properly set to the importing image asset's discovered type if valid
Fixes AssetBrowser asset selection return so it returns back a valid assetId
Fixes TerrainMaterial save crash by ensuring we fill in the diffuseMapAsset
Removes saving of TerrainMaterial being saved to a generic script file if one isn't found for an existing TerrainMaterialAssets
2020-08-09 01:32:27 -05:00
Brian Roberts 641c75b721
Merge pull request #279 from Areloch/MoreABAndImporterFixes
More various Asset Browser and importer fixes
2020-08-08 15:12:01 -05:00
Areloch d01341708e Removes extra assetImportConfigs file
Fixes name handling when finding associated image files on materials
Makes parseImageSuffix return back the case-correct suffix given the image's filename
Fixes import session reset logic to not have infinite looping happen when activated if files are in the session still(used mainly when import config is changed)
Makes sure materials are not processed if they are found in the import config's ignoreMaterials list
Makes sure active import config is properly on importer when it's changed in the Import window
Tweaked asset browser folder filtering logic so it always rejects .git folders from displaying, and also made the core, tools, cache and shaderCache filtering behavior consistent
Fixed navigation of root-level folders if double-clicking on them through the main window
Ensured import session is reset after an import happens so no extra files are left over in the importer's list
2020-08-08 13:01:50 -05:00
AzaezelX 284ad3e083 from @OTHGMars: AssetImporter type and path for material look-ups.
(and fix for pbrconfig<map> entry)
2020-08-08 00:54:06 -05:00
Areloch 813762c722 Separated ShapeAsset's fileName for the loose file name and the fully processed file path to avoid potential save-out problems
Fixed autoAssetImport so it properly cleared any prior import session objects
Added beginning and ending comment line signfiers to make import logging easier to spot in console
Fixed variable used when doing the actual import on assets where it would use the top-level asset import objects and not the children array, causing a crash
Fixed the Make Selected A Mesh logic to work with the creation of a new shapeAsset
Added secondary handling to generate a prefab of the original selection for preservation purposes
Added optional input for makeSelectedPrefab to not delete the original selection(useful for the preservational prefab mentioned above)
Adjusted font color for NA text edit fields to make it more legible
Changed the non-working reloadDatabase button in assetBrowser to instead open the Asset Editing editor settings page.
2020-08-07 00:24:26 -05:00
Areloch fc225a7f0b Adds a default value to the lodType of the asset importer to prevent utilizing an un initialized value 2020-07-29 15:42:28 -05:00
Bloodknight af126ad089 Fix GCC9 complaints 2020-07-22 16:40:01 +01:00
Bloodknight f52ae7f1b3 Fix GCC9 complaints 2020-07-22 14:29:54 +01:00
Areloch 7818b1ba49 Correct to make the getModuleFromPath function static again. 2020-07-11 21:57:40 -05:00
Areloch a3d6afc197 Corrects lookup/in-place auto import logic for ImageAssets
Fixed sizing issue for material asset ptr fields
Fixed type of comment in Particle Asset
Hooked GLSL and HLSL shader files to be proper asset loose files for PostEffectAsset
Adjusted some default values for default ImportConfig
Corrected field type of multiple fields  for the importConfig
Corrected loading of PopulateMaterialMaps config setting from config file
Corrected field types of multiple fields for AssetImportObjects
Exposed several utility fields for the Importer to script
Added ability to create an AssetImportObject in script and add it to the Importer's current session
Ensured stable naming behavior(replacing spaces, -, and . in names with _
Improved getAssetTypeByFile logical lookup so it doesn't accidentally grab cached.dts files
Added ability to hard reset an import session, wiping all inbound files for a full reset
Added ability to process DTS files to shape import so it can parse out content such as materials for associated asset imports
Added better handling for shape materials that are just colors
Added callback hook-in so if the importer doesn't have a defined function for importing a given asset type, it'll try calling down into the editor
Stabilized imageAsset processing logic when generating a material for it
Improved imageType lookup/processing logic in Importer
Improved logic for binding in associated image files to materialAssets
Improved logic for processing shapes to get related materials and images, ensuring better likelyhood of finding and associating related assets
Cleaned up validation logic
Added ability to properly look up the editor's default import config if it's set to be used for autoimport
Improved handling of originalFilePath logic, so if it's an in-place import, it doesn't bother populating the field
Set default UP axis value on shape importing to ensure better default behavior
2020-07-11 16:20:10 -05:00
Areloch 7b1c083839 Adjusts importer logic of assets to fill spaces in the names as underscores to avoid issues. 2020-06-26 23:28:53 -05:00
Areloch 41277fe3b8 Fixes a mistake with setting the looseFilePath for the auto-created terrain asset. 2020-06-26 00:05:14 -05:00
Areloch 4ce558f042 Reworks the terrain loader code to work with the assets.
Fixes the terrain asset creation, makes the loading logic go through the asset auto-import behavior when a filename or assetid is bound that is not found.
Corrects terrain material binding to properly save and load
Makes the terrain asset inspector fields work as expected.
2020-06-25 23:33:01 -05:00
Areloch 6a5661ddc7 Corrected some path-slash wrongness 2020-05-17 15:27:16 -05:00
Areloch 9b7b09dce8 Adjusts the ShapeAsset autoImport invoke logic to actually use the C++-side autoImport logic
Changed originalImportingAssets to originalImportingFiles in the AssetImporter for naming clarity
Made autoImportFile properly return the assetId that was made
Additional logging in the AssetImporter
Adjusted the asset registration logic to support reimports, which merely refreshes the assetID
Added logic to shape asset importing to be able to import in an existing companion constructor cs file
Tweaked the TSStatic setShapeName logic so it will properly set fields depending on if the assetID was correctly set, or if we have the noShape fallback in use
2020-05-17 01:38:17 -05:00