Commit graph

107 commits

Author SHA1 Message Date
AzaezelX 5ffa3b81f1 dial back nullPtr usage
while it still remains a good idea to port as many NULL compares and assignments over to nullPtr as feasable, we do still need to sort out how to better support scripted empty, false, and zero assigns for things like objectIDs.

this means we'll need to both fully convert the backend of the parser to support that kind of thing, but also alter most if not all exisiting NULLs. up to and including things like SAFE_DELETE. while that's certainly feasable, given there's aproximatel 400 nullptr assigns/checks prior to this commit, and roughly 1800 of the prior, if it terminates in a script call and not an aip one direct, we'll be dialing that back until such time as fork fully fopcused on converting and resolving any lingering mismatches is completed.
2025-12-29 17:45:09 -06:00
AzaezelX 9bcf8a90b2 dsq detection filters 2025-11-25 19:03:38 -06:00
marauder2k7 10acab1b07 more fixes
DSQ Fixes
2025-09-23 19:09:20 +01:00
marauder2k7 fd7342668c streamline shape asset
shape asset now has the same import "@" as image asset
cut out extra filename parameters that arent needed
refresh hopefully fixed
2025-06-20 15:58:20 +01:00
marauder2k7 3d77b59b71 Update assetImporter.cpp
refresh asset so image asset can write out its image metadata
2025-06-17 14:57:18 +01:00
marauder2k7 67f217ada1 Update assetImporter.cpp
asset importing for images shouldnt execute a file copy, original file path is enough as it is relative to exe
2025-06-17 12:20:47 +01:00
marauder2k7 fc9f221ac0 Prepend symbol for image files
Prepend image filenames in imageassets with "@" symbol so expand and collapse works correctly for files relative to that asset.taml file.
2025-06-16 08:33:11 +01:00
JeffR bb7ee38bf4 - Reimplements autosave logic to handle levels, subscenes and terrains in a more consistent, reliable way.
- Adds entry to RMB menu in Asset Browser to restore an asset to a backup copy taken from autosaves
- Adds reparent out-of-bounds objects button to SceneGroup inspector
- Adds ability to have SubScene have a different loading bounds from the actual subscene bounds, allowing load triggering to happen ahead of the bounds of the subscene itself
- Fixes asset importer handling of animFPS field to be the correct type
- Adds onInspect handling to GameBase allowing better handling for any game class type with editor integration
- Add getAssetLooseFileCount and getAssetLooseFile to AssetManager to be able to iterate over all loose files associated to an asset
- Add standard/default preload function def to forestItem
- Fixes handling of text placement on GuiIconButtonCtrl when text is set to the right
- Adds setGlobalCenter utility function
- Adds ability to set guiInputCtrl active state
- Matched util functions for tracking if left and right mouse buttons are down to EditTSCtrl alongside the existing middle mouse
- Add empty element sanity check to appMesh loader
- Add callback for GameBase when game is created
- Add default graphics options config for steamdeck
- Fix typo in assetImportConfig default
- Filters SceneGroup utility buttons in inspector to only show for relevent class types
2025-05-25 07:40:10 -05:00
marauder2k7 a9240b87f4 Update assetImporter.cpp
image asset importer was doubling up on the filepath.
2025-05-16 08:14:25 +01:00
marauder2k7 bfe2401ebb get image metadata
adds ability to get image metadata without loading the texture
since we are using the getOwned parameter correctly now new assets must have the full path to the image file when being created
when the asset becomes owned again the image file path will be updated.
2025-03-28 11:14:21 +00:00
marauder2k7 0da0903599
Merge branch 'development' into imageAsset_refactor_rev3 2025-03-24 20:07:06 +00:00
AzaezelX f633ef3a3d fill in the validated variables 2025-03-09 11:53:23 -05:00
AzaezelX bc9ed3e10a prexisting material asset safety check
from steve_yorkshire
don't try and create a new suffixed materiaAsset if one already exists
2025-03-01 17:17:24 -06:00
marauder2k7 0f4d2d1689 material definition finished 2025-01-23 22:16:02 +00:00
marauder2k7 58119a4f82 more material def 2025-01-23 22:15:47 +00:00
marauder2k7 cebfdbc5ec material definition
changing the beast over to the refactor
2025-01-23 22:15:29 +00:00
marauder2k7 eca0820134 init commit
start of attempt 3
2025-01-23 22:12:52 +00:00
AzaezelX f8f9e88dc6 correct malformed config passalong 2024-11-26 19:56:34 -06:00
AzaezelX da9b9ed787 prelim refactor 2024-02-05 14:23:11 -06:00
Brian Roberts a6f03897ed
Merge pull request #1016 from Azaezel/alpha41/mangledMath
clean up math varsize complaints
2023-05-08 21:28:49 -05:00
AzaezelX 0d4221fa59 uninitialized and unused value cleanups
(cherry picked from commit 1f08602cf0ad84409cd8b3520510f9c6ce7d5f9c)
2023-05-01 10:40:02 -05:00
AzaezelX 0ce2da3a23 clean up math varsize complaints 2023-04-27 16:10:04 -05:00
Areloch 727c5b1e59 Fix up handling of assets marked for UseForDependencies during import process 2023-02-01 23:54:11 -06:00
AzaezelX f5a34308f9 add a docsURL; macro to link a given set of script config vars to git or similar storage urls via clicking on the inspector 2023-01-27 01:13:15 -06:00
AzaezelX 567e766ffe correct a flaw with mapto importing.
addImportingAsset was improperly applying cleaning to cleanAssetName rather than leaving it as the raw origional. may or may not want a tighter target there
2022-09-12 01:10:20 -05:00
Robert MacGregor 93a4f8780c * BugFix: Correct simple incorrect references after changing Platform::isFile to Torque::FS::isFile in the asset importer. 2022-06-13 08:20:46 -04:00
Robert MacGregor 161ffc62fe Merge branch 'Preview4_0' into feature-vfs-security 2022-06-13 08:05:26 -04:00
JeffR 1c7c32baa6 Separates out acquireAsset call for importing assets until after all assets have been imported, then runs it as a post step to ensure all assets are properly loaded before they're used 2022-04-10 19:41:37 -05:00
JeffR 5c8d8fab00 Changes behavior with suffix appending of asset importer so it doesn't contaminate the original "clean" name, which is used for setting the mapTo value of material definitions
Also adds a sanity check when applying the type suffix to see if it's already there to avoid needless doubleups
Fixes offsetting/positioning behavior on icon buttons to actually respect the icon position variable
Adds sanity checks to ensure we're not trying to utilize a in-process-of-deleting decoy dummy
Fixes handling of sliders in option menus to properly store and test unapplied values
Fixes handling of display device setting to properly store and test unapplied values
Adds additional logic to creation of shape and material asset previews to attempt to force-load dependencies to improve likelihood that they'll actually be loaded when we go to generate the preview.
Temp disables creating cubemap 'assets' via the RMB context menu in the AB
2022-04-10 01:40:15 -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 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
Robert MacGregor abb4e558dc * Adjustment: Rework the TORQUE_SECURE_VFS paths in the assetImporter to use dStrcpy instead of manual memory management. 2021-12-21 02:15:16 -05:00
Robert MacGregor 66f9336995 * Adjustment: Tweak the asset importer to use the Torque VFS functions. 2021-12-19 00:28:15 -05:00
Robert MacGregor 277cdf67b0 * Feature: Initial secure VFS implementation with asset import capability. 2021-12-17 21:16:42 -05: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
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 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
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
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