Commit graph

84 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 3213ede656 dsq followup work 1
fix animation export filename eroneous append
add ::canLoadCachedDSQ(const Torque::Path& path) methods to dae and assimp chains

SPECIAL NOTE:
as the above leads to dsqs not being previewable in editor, nor being able to understand they shouldn't be filtering out bones, for the block
         bool readSuccess = false;
         if (canLoadCached)
         {
            readSuccess = shape->read(&cachedStream);
         }
         else
         {
            readSuccess = shape->importSequences(&cachedStream, cachedPath);
         }
we'll be wanting to inject an armature proxy method to fill out          TSShape *shape = new TSShape;

untill such time as that's sorted, there's a bool gTryUseDSQs = false; killswitch in for dsqs
2025-12-22 11:13:33 -06:00
AzaezelX 5b0f559c9f animation playback cleanups
courtessy of marauder
2025-12-17 15:42:13 -06:00
marauder2k7 cc17dcdc17 Update assimpShapeLoader.cpp
signage still causes issues
2025-12-10 08:21:47 +00:00
marauder2k7 a716107dd2 Assimp Import Axis
Build a matrix to fix the assimp import to be zup yforward
2025-12-10 04:52:03 +00:00
AzaezelX 9bcf8a90b2 dsq detection filters 2025-11-25 19:03:38 -06:00
marauder2k7 891ede5d59 Update assimpAppNode.cpp 2025-11-25 10:09:18 +00:00
marauder2k7 f817d7d903 further assimp fixes
AppMesh position was being scaled twice since the node is now being scaled
Try and resolve fps from file instead of default 30
maxKeyTime should be outside the loop
2025-11-25 08:34:00 +00:00
marauder2k7 a5ed09fa57 fix assimp import
Assimp importer now sets the collada options to fix up axis transformation
bounds are now created by tsmesh
top level nodes are now added to the processNodes stack so bounds and other root nodes can be found correctly
2025-11-24 07:54:53 +00:00
AzaezelX b69c0d2a0f even more precice filtering for dts vs dsq 2025-09-23 11:52:50 -05:00
marauder2k7 2606b6366b Assimp just armature tests
Remove the check for incomplete scene
Move child recursion to assimpAppNode in BuildChildList
same for meshes
2025-09-23 15:59:24 +01:00
AzaezelX f5875dd5a2 reinforce dsq or dts filter 2025-09-23 08:51:24 -05:00
AzaezelX cd5f897e55 dsqs area subset of dts data
ensure if an input file contains mesh data *and* an animation, thats a dts, if it's *just* an armature, that's dsq
also fix shapeanimation tooltip display
and for furutere utility,  TSShape::isShapeFileType(Torque::Path filePath); is now static since it only requires a path, not an object instance per-se
2025-09-14 15:18:03 -05: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
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
Brian Roberts 6cda97867c
Merge pull request #1452 from marauder2k9-torque/MEMORY-MANAGER-REFACTOR
Memory Manager Refactor
2025-05-12 15:31:06 -05:00
marauder2k7 8c812cb448 initial commit
This change makes the memory manager work again for detecting leaks, the built in one kept coming into de-ref and other bugs so this is the start of a refactor to get it working.
2025-05-12 11:50:13 +01:00
marauder2k7 0f4d2d1689 material definition finished 2025-01-23 22:16:02 +00:00
marauder2k7 cebfdbc5ec material definition
changing the beast over to the refactor
2025-01-23 22:15:29 +00:00
marauder2k7 87de724d31 final cleanup 2024-12-12 15:08:01 +00:00
marauder2k7 4a1d664b6a final commit get this merged 2024-12-12 14:32:20 +00:00
marauder2k7 13a6df35cc mac/linux fix 2024-12-12 01:02:36 +00:00
marauder2k7 dcedcdd6f8 test cases
apply transform to root before importing scene
2024-12-12 00:21:37 +00:00
marauder2k7 742b341bcd Update assimpAppNode.h 2024-12-11 21:12:55 +00:00
marauder2k7 3966f561a6 Update assimpShapeLoader.cpp
missed that one
2024-12-11 19:33:21 +00:00
marauder2k7 aa294b37f6 final cleanup
cleanup types
cleanout unnecessary vars
only aboslutely necessary vars to collada utils remain, for tracking scale and up_axis etc.
2024-12-11 19:28:09 +00:00
marauder2k7 684f299e86 Update assimpShapeLoader.cpp
most uniform shape import across the formats....
2024-12-11 16:43:23 +00:00
marauder2k7 4ac9639a52 bkup commit
fbx details matching for skinned meshes, gltf still offset
2024-12-11 15:38:17 +00:00
marauder2k7 af6722f547 Update assimpShapeLoader.cpp
because of the convert to lefthand gltf all formats are good with Y_UP
2024-12-10 18:41:14 +00:00
marauder2k7 5beef47b23 dont autoconfig up axis set it explicitly for the formats 2024-12-10 16:46:29 +00:00
marauder2k7 28fcb8d68b animation update
updated how animations are handled from assimp
gltf timing now correct
2024-12-10 11:54:13 +00:00
marauder2k7 5f1c2a63e5 Update assimpShapeLoader.cpp
fix for mac and linux build
2024-12-10 00:41:23 +00:00
marauder2k7 ca6e26520b Update assimp importing
assimp importer now works for the most part for fbx and gltf
animations for gltf still need to be sorted out
2024-12-09 23:24:09 +00:00
AzaezelX bb432dc906 fix(?) assimp to torquie matrix converter
it wasn't accounting for the formatScaleFactor (1, 0.01, ect) leading to mesh deformations based on bone vs skinned mesh displacement
2024-09-30 22:39:00 -05:00
marauder2k7 2b295fb7f0 rest of virtuals removed
virtuals removed and replaced with override where necessary on the rest of the code base, clang-tidy to the rescue.
2024-03-18 18:40:22 +00:00
marauder2k7 efbe5e90f5 virtuals removed
virtuals removed and replaced with override where necessary, clang-tidy to the rescue.
2024-03-18 18:13:00 +00:00
marauder2k7 6355da5df6 various fixes
STB probably shouldn't fail on failed info, just continue.
Assimp only add sequences if there are any.
Update kork chan asset.
2024-03-01 15:01:47 +00:00
marauder2k7 58bcea770c Node interp
Fix node interpolation to remove the jittered (reverted back to previous get node transform)
2024-02-10 21:57:08 +00:00
marauder2k7 05960e4d25 extra fixes
Torque sees the seqEnd in appSequence as a time in seconds whereas in Assimp this is in frames.
This is then converted to frames in generateSequences.
2024-02-10 20:01:52 +00:00
marauder2k7 e2550ed525 Update assimpAppSequence.cpp 2024-02-10 04:49:57 +00:00
marauder2k7 144e1bcc60 Update assimpShapeLoader.cpp 2024-02-10 04:25:48 +00:00
marauder2k7 7115d9bcc6 Update assimpShapeLoader.cpp 2024-02-09 22:12:52 +00:00
marauder2k7 37dd58dca4 Update assimpShapeLoader.cpp
non destructive fixes for assimp loader
-this creates an ambient sequence if 1 does not exist.
-adds a bounds node if 1 does not exist.
2024-02-09 22:06:11 +00:00
AzaezelX 0ce2da3a23 clean up math varsize complaints 2023-04-27 16:10:04 -05:00
Areloch 04b0883a31 Assimp checks against lowercase extensions, so we force the extension of the file to lower before fetching the importer.
Also adds sanity check that the importer was actually found before we try and use it.
2021-11-19 23:14:06 -06:00
Areloch 2af12c52e1 Shifted check for FBX importer in assimp shape loader code to utilize stringtable 2021-11-14 01:28:16 -06:00
AzaezelX f9496559c9 fix fbx importer lookup for setting formatScaleFactor 2021-11-09 01:05:42 -06: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
Areloch 88ae8a9665 Added getShapeConstructorFilePath console function on shapeAsset
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
2021-08-02 04:20:27 -05:00
Areloch 5525f8ecdd Converts all game, gui editor, and system classes to utilize assets
Processed core, tools and default modules to utilize assets
Converted all console types that were string based, such as TypeImageFilename to utilize const char*/the string table, which avoids a lot of type swapping shenanigans and avoids string corruption
Removed unneeded MainEditor mockup module
Removed some unused/duplicate image assets from the tools
2021-07-19 01:07:08 -05:00