Commit graph

208 commits

Author SHA1 Message Date
JeffR
6b28f1f151 Fleshes out remaining missing editor settings entries/categories
Makes GUIAssets exec scripts before the gui file to allow onAdd methods to work
Adds missing getForestPath and getNavmeshPath methods and updates asset move logic to utilize them
2022-04-05 00:29:58 -05:00
JeffR
d044ae0702 Removed unneeded default irradiance and prefilter cubemaps, and their convars
Added getGUIPath console function to guiAsset
Corrected console function documentation for getScriptPath in MaterialAsset
Added getter console functions to PostEffectAsset
Added getAnimationPath console function to PostEffectAsset
Fixes handling of mapto with the reskin usage when generating preview renders for ShapeAssets
Standardizes getShapeFile to getShapePath on ShapeAsset to better match formatting of other getters on assets
Adds sanity checking for getStringWidth to prevent crash if there's an issue with the font being ready at time of request(from Az)
Earlies out on rendering of impostors if it's the deferred bin to prevent unneeded duplicate rendering messing up results(from Az)
Fixed duplicate naming of quality levels on LightingQualityList
Added check so if _makePrettyResString is handed a 'human formatted' resolution string(as in, has <width> x <height> it can handle that properly
Shifted yes/no and on/off option lists to globals for ease and consistency of handling on options menu
Improves check for unapplied graphics options on options menu and applies them all at once
Add sanitizing of variable names so getVariable doesn't have issues when looking up array variables in optionsMenu logic
Adds better tracking of what options menu category is shown so refreshes don't reset it
Add better handling for changing resolution in options menu and getting it to apply properly
Adds better utility functions for setting bools vs optionsLists vs quality lists and updates options fields to use the most appropriate
Removes redundant setting of $pref::SFX::channelVolume vars in defaults.tscript
Removed unneeded extra logging from asset browser drag-n-drop actions
Adds item to RMB context menu in AB to regenerate preview images
Fixes move command for asset types(needed to properly reference the full path of the associated files) and added it for shapes, animations and terrains
Added logic so when the dropdown for selecting a target module on the Create New Asset window is changed, it forcefully updates the target path to point to the module to avoid erroneous paths being provided
Adds proper clamping of values to Forest Editor's brush size in the editor bar. Could be set to below 1 even though it would visually clamp to 1.
Temporarily disables fields and handling of 'open in Torsion'.
Fixes bad pixel in gui/images/tab_border.png which was causing it to fail to generate bitmap array properly
Makes the New GUI option from menubar in GUI Editor use same Create New Asset method as everything else
Disables access to the CubemapDesc reflector field in the material editor as it's not nominally used now in favor of probes
Adds proper loading of roughness and metalness fields in material editor
Fixes the default ReflectProbePreviewMat to use a better base DiffuseMap (No Material) rather than the occluder
Fixes disable display for some options in the advanced panel in the shape editor so they look more fitting to everything else
Adds check to avoid spam of markItem errors in the event requested tree item is invalid
Fixed remove material button and command in TerrainMaterial Editor
2022-04-03 20:00:30 -05:00
JeffR
81aa43a4bd Fixed formatting to match the standard for TerrainMaterialAsset inspector fields
Added utility functions to TerrainMaterialAsset for getting the material and fx material definitions
Fixed logical flaw with the initialization code that could cause the materialDefinition to be nulled in terrainmaterialassets
Fixed layer handling in GroundCover to properly work with TerrainMaterialAssets
Added logic to properly exit out of the onAdd in the event no internal name is assigned or if there is a collision. This prevents duplicates from appearing in the terr mat editor when creating a new material
Fixed issue where going from a creator item in the AB to selecting a particular asset type would break the filtering because select mode removed collections and creator items, changing all the item ids and breaking references.
Added sanity check to prevent attempting to acquire non-assets in the AB, such as creator entries, which would cause console spam
Added optional field to provide an override new asset name to the New Asset window
Added logic so in the event no FX Material is found when importing a terrain material, it will create a stub entry so it always has one defined
Added logic to handle situations where a terrain has a reference to an assetId, but the asset does not exist for whatever reason. Will prompt to create the missing asset, then continue on with the regular saving/editing process as normal
Fixed issue where the terrain material editor would try and reference the preview images being used in the display on the editor instead of the proper assetId itself
2022-03-29 01:40:07 -05:00
Brian Roberts
05a6a249ea
Merge pull request #748 from Areloch/MiscImportAndToolFixes
Misc Tool and Asset Import fixes and improvements
2022-03-20 18:49:36 -05:00
JeffR
cf8659735b Adjusts handling so if a file being processed for importing is not actually imported as a new, successful asset it does not return an id, allowing tooling to only worry about actual new assets.
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.
2022-03-20 16:17:06 -05:00
JeffR
b3342ff7e6 Adds handling for import of files marked as ShapeAnimationAsset
Adds filetype handling of dsqs for importing
Improves logic checks to prevent incorrectly redundantly processing incoming assets for collisions, which could mark all assets as colliding instead of all but the first.
Adds better handling for assets marked as for dependency usage when importing
Improves rules for writing originalFilePath only if it's actually from an external directory, and the file actually exists to prevent polluting in redundant or garbage data
Fixes issue where MaterialEditor was not tracking the currently material assetId if the material was changed via the dropdown selector
Adds a sanity check to shapeAnimationAsset load so if the resource does not load properly it doesn't hard crash but instead logs the error and returns safely.
2022-03-20 03:17:31 -05:00
JeffR
630285def6 Shifts handling of material and terrain material definitions to be written into the asset definition taml file instead of having an extra loose file
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
2022-01-30 11:50:16 -06:00
AzaezelX
eeff4d858a clean up ambiguous reference 2022-01-22 03:27:22 -06:00
JeffR
1952820ef2 Merge branch 'Preview4_0' of https://github.com/TorqueGameEngines/Torque3D into UpdatedProjectImporter 2022-01-20 17:48:17 -06:00
JeffR
ecd35df7e9 Implementation of updated handling of Legacy Project importer to better seperate out importer versions as well as more explicit processing of incoming content 2022-01-20 01:14:43 -06:00
JeffR
15ef8b4fbe Cleaned up implementation of #712
Also updates other game classes like the shapebase to utilize the sound asset hooks properly.
2022-01-03 20:57:10 -06:00
JeffR
b70faae38f Updates the handling of the baking of shape asset previews to generate them with support for view angle control to improve visibility, as well as supporting overriding of a material in the preview bake
Also utilizes the updated bake handling to have material asset previews render as a sphere shape asset, overriding with the material asset's material, improving distinction of what is a material asset vs image asset
Also updates the sphere preview mesh to be more generic and not only for reflection probes
2021-12-24 17:26:45 -06:00
JeffR
a8b3d874a1 Fixes mapping of imposter images to be packed as part of the shape asset, and fixes paths to be formatted more sanely. 2021-12-10 00:01:26 -06:00
Areloch
a5944aff19 Adjusted callback handling of asset inspector fields when invoking AB to select asset for more consistent behavior and better handling of updating the objects and inspector
Added logic to forcefully acquire newly imported asset definition to better try and ensure it's loaded immediately after import
Added logic to asset importer so if a file is not found for an importing material asset, if populate maps is on, then it will try and find a matching image asset in the destination module
Added logic to tsStatic to better handle fields being updated via the editor, forcing updates and refreshes of the shape and materialSlots
Fixed handling of guiBitmapButtonCtrl so it will update the bitmap used when edited via the Gui Editor
Updated image ref to the hudFill image asset for the console GUI
Cleaned up names for the default camera model/material
Defaulted import config to utilize the Prune action instead of rename for more predictable default behavior
Added icons next to AB's preview slider bar for additional visual feedback of slider intent
Added missing checkbox to asset import window and cleaned up scaling behavior
Fixed handling of drag-n-drop behavior in GUI editor so it doesn't block further interaction
Added logic for drag-n-drop of image assets to GUI Editor so it will create a GuiBitmapCtrl with the image
Added handling for drag-n-drop import of folders of assets to AB/Asset Import
Added missing asset import config option to indicate if config supported import of sound assets
Added logic when opening asset import config editor, where if there is a default import config set in the settings, it will open that one by default
Hid the collision section of the import config editor, as those options are currently unutilized
Improved behavior for Create New Folder window in the AB, now always pushing to the front, and also selecting the text by default, so the user can just start typing the new name
Also added return and escape key accelerators to Create New Folder window for better UX
Fixed display of editor windows, adding a distinct blue color to highlighted windows' title bar and fixing display of minimize/maximize/window/close buttons
Moved GUIEditor's onControlDropped function to the AB script to match placement of sibling world editor function
Fixed issue with material editor where the ORM Config map slot was getting the normal map instead of the correct ORM map
2021-11-26 16:40:15 -06:00
Brian Roberts
b5bd242e23
Merge pull request #673 from Areloch/useImagePreviews
Shifts utilization of gui elements in editors that point to 'normal' image assets to utilize generated previews instead.
2021-11-15 12:39:33 -06:00
Areloch
eb24b63be4 Shifts utilization of gui elements in editors that point to 'normal' image assets to utilize generated previews instead.
This reduces console spam about mismatched texture profiles and improves stability.
2021-11-14 21:39:51 -06:00
Areloch
97484247ae Fixes Settings window not being able to be brought forward over AB
Adds checkbox to mark as not showing Import Window each time
Added loaded import config to import log output
Fixed targeted material map slot field names
Added helper function for playing a sound asset via AssetId
Updated import config to have some more common suffixes
Updated editor settings to have Import Window show by default
Changed AB context menu from listing item as "Refresh Asset" to "Reload Asset" for improved clarity
Removed unneeded duplicate editor settings window script file
2021-11-14 01:26:04 -06:00
Areloch
d06bc790e3 Merge branch 'Preview4_0' of https://github.com/TorqueGameEngines/Torque3D into Preview4_0 2021-11-09 19:06:57 -06:00
Brian Roberts
4e51ac17bd
Merge pull request #661 from Azaezel/alpha40/namedtexturetargs
better handle old style references to named texture targets
2021-11-08 14:38:11 -06:00
Brian Roberts
e87ce245e9
Merge pull request #662 from Areloch/MiscImportFixes20211105
Misc asset import QOL and bugfix changes
2021-11-08 14:37:03 -06:00
Robert MacGregor
a8116bbaf5 * [AssetImporter] BugFix: Correct ASAN reported out of bounds reads in the asset import programming. 2021-11-08 15:31:07 -05:00
Areloch
a3351390c6 Expands handling of the collada enumerator so if the material is not named the same as the image file, it performs a lookup to find the associated material. 2021-11-06 22:36:59 -05:00
JeffR
b3cd08520e Disables generation of the materials script files by the internal shape import processor. Material script files are now only generated by the AssetImporter as part of the shape injest process.
Renames validateImportingAssets to hasImportIssues for AssetImporter console method for clarity
Updated console method documentation for AssetImporter methods
Fixed logical error for material asset generation if the import config was set to use existing materials but one was not found.
Fixed logical error when a shapeFile has a material with a texture mapped to it is not in the same directory as the shape, it would not correctly find the texture
Adjusts AssetImport window logic so it will display the window in the event of import issues being detected, or the asset is being re-imported.
Updates the AssetImport window activity log to use the new AssetImporter's log for consistency.
2021-11-05 17:49:48 -05:00
AzaezelX
e211f502e8 better handle old style references to named texture targets 2021-11-04 15:44:43 -05:00
Brian Roberts
2bb4d34efd
Merge pull request #658 from Azaezel/alpha40/imageArrayProfileFixes
imageasset array profile fixes
2021-11-03 21:15:59 -05:00
AzaezelX
e45b959d7d correct imageassetarrays having a singular texture profile as oposed to a type per.
while that certainly works for most cases it falls apart when dealing with postfx where it's an unnamed array of variable types of inputs.
shifted the profile assignment to #define INIT_IMAGEASSET_ARRAY(name, profile, index) so there's still a really obvious point where you can see the default setting, even if it's not in the more desireable OG definition spot
for postfx in particular, given we can swap that, provided an example of how to do just that
2021-11-03 12:30:52 -05:00
JeffR
fda722e355 Updates asset importer and project importer to output to separate log files into tools/logs
Add utility console function for getting current datetime
2021-11-03 00:13:00 -05:00
Areloch
0fab2ebf54 Added fallback handling to MaterialAssets if the asset was found but the matDef was not
Added import config handling for prepending Directory to asset name
Added handling for import config of appending a sound suffix
Integrated handling of directory prepend and asset type suffix to rename issue resolution of asset importing
Corrected miswording of warn message for duplicate object names
Correct GUI issues with verve tools
Convert verve tools to utilize assets for their GUI elements
Fix window binding/naming issue depending on window mode for verve
Fix popup menus formatting for verve
WIP fix for material swap in Material editor. Corrects crash, but swap action is unreliable depending on object type
Fix display issue with mission area editor toolbar button image
Fix tooltip display of SFXEmitters in editor tree to correctly show the bound asset
Changed network graph accelerator keybind from just N to Ctrl N to avoid keybind issues when typing
Fixed Create New Emitter button in particle emitter that was showing as no texture
2021-10-28 23:52:58 -05:00
AzaezelX
f5600826d7 Merge branch 'Preview4_0' into SoundAssetImplements
# Conflicts:
#	Engine/source/T3D/assets/assetImporter.cpp
#	Engine/source/forest/forestItem.cpp
2021-10-11 20:11:27 -05:00
Robert MacGregor
aba091a97a Merge remote-tracking branch 'main/Preview4_0' into bugfix-msvc-compiler-warnings 2021-10-11 19:36:52 -04:00
AzaezelX
d9eea8e5be make gcc happy 2021-10-11 16:25:37 -05:00
AzaezelX
e468c2bf73 add a bit of further clarity to soundasset code injectors 2021-10-11 14:38:14 -05:00
Brian Roberts
25e9e97c45
Merge pull request #603 from Azaezel/alpha40/assetimportcleanups
item->importStatus cleanup for asset importer
2021-10-09 01:01:42 -05:00
Areloch
506621352c Tweaks the MaterialAsset loading logic to continue to see if the matDefinition already points to an existing object(to avoid needlessly re-executing files over and over), but also validate other cases, and ensures that if we DO have an existing definition, we still process and load it in the asset itself properly. 2021-10-09 00:07:01 -05:00
Robert MacGregor
2d55fcf1bc * BugFix: Invert the corrections made in ImageAsset and ScriptAsset to be correct. 2021-10-07 13:16:55 -04:00
Robert MacGregor
74cc60508b * BugFix: More cleanup of MSVC compiler warnings. 2021-10-07 01:10:00 -04:00
Robert MacGregor
1b6b803a20 * BugFix: Clear a lot of warnings and correct a few actual programming errors along the way. 2021-10-04 20:04:21 -04:00
AzaezelX
79ad78361d item->importStatus cleanup for asset importer 2021-10-04 18:24:33 -05:00
AzaezelX
ab1b14587e generic asset loader macros. currently unused 2021-10-03 15:19:04 -05:00
AzaezelX
98a079a797 code duplication prune. should aid in stability 2021-10-03 02:56:26 -05:00
AzaezelX
10f2453cee setget was causing active interference with INITPERSISTFIELD_SOUNDASSET_ENUMED 2021-10-02 23:24:46 -05:00
AzaezelX
19eb3c42f0 more enum work, now with somewhat clearer boundary names, and some debug spam for initpersistfields, and pack and unpack macros to help us try and trace why those are scrambling 2021-10-02 21:05:04 -05:00
AzaezelX
0760621212 fix item->importStatus tagging in importer 2021-10-02 21:01:14 -05:00
AzaezelX
5c7069555a filter out array entries without enum strings 2021-09-30 16:00:37 -05:00
AzaezelX
64a87ceba8 trim assetEnumNameConcat to 2 values, set INITPERSISTFIELD_SOUNDASSET_ENUMED to exclude maxValue 2021-09-30 13:46:03 -05:00
marauder2k7
3d7f092c52 Merge branch 'SoundAssetImplements' of https://github.com/Azaezel/Torque3D-1 into SoundAssetImplements
# Conflicts:
#	Engine/source/T3D/fx/lightning.cpp
2021-09-29 06:31:56 +01:00
AzaezelX
2630b4ada6 corrected and simplified the is<foo>Valid method macro injections 2021-09-28 18:50:35 -05:00
AzaezelX
776741770d boolean is<thing>valid chjecks for assets. tests wether it's non-empty and reporting zero flaws 2021-09-28 18:16:14 -05:00
marauder2k7
6bec47d3fa -SoundAsset added init for enum types.
-Vehicles updated to use enum initpersistfield.
2021-09-28 23:36:04 +01:00
AzaezelX
96891e5673 early out if any asset feed route results in explicitly being told to use an emptystring 2021-09-28 17:33:36 -05:00