Commit graph

222 commits

Author SHA1 Message Date
JeffR
f3cad0d77e Converts the ad-hoc design of the Material Editor to utilize the same inspector interface as most everything else does.
- Overhauls the material editor to simplify and streamline the logic behind it since the inspector does most of the work
- Tweak a few order positions of materialdefinition fields to work better
- Sets AO, Rough and Metal channel fields to use an enum type for human readability
- Updates the MaterialPreview gui control to work with assetIds
- MatEd now supports setting of parent material to inherit from
- Creating a new material now can prompt selecting an existing material to inherit from
- Can now edit the mapTo value of a material in the matEd
- New standalone Composite Texture Editor window for convering AO, Roughness and Metalness maps in a material to an ORMMap
- Can also star the creation of a composite texture via RMB context menu in AB on an image asset
- Moved logic of CubemapEditor from MatEd to it's own stuff
- Made ImageAsset fields now be more clear when they have nothing assigned, and also have a clear button to empty the field's value so it's consistent across the board
- Reorganized the layout of the gui and image files for the MatEd to be easier to navigate
- MaterialEditor now overlays the EditorGUI instead of being forcefully embedded in it, allowing easy editing of the MatEd Gui via the Gui editor
2025-08-03 12:03:02 -05:00
marauder2k7
99db60e3f3 Update assetBrowser.tscript
fix folder navigation in asset browser

fix found by Abbey
2025-07-11 12:31:27 +01:00
JeffR
b9d9c52786 Flips the datablock order exec to always guarantee particle data is loaded ahead of emitter data when making a new module 2025-07-07 16:18:01 -05:00
marauder2k7
c6ec2fd6a1 Merge branch 'PreviewAssets_UseAsset' into SoundAsset_Refactor 2025-06-19 13:36:49 +01:00
JeffR
d35a305149 Fixes issue of not being able to create GameModes or blank MaterialAssets from the Asset Browser 2025-06-17 19:08:45 -05: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
marauder2k7
50f74368b3 various fixes around preview assets and imageassets text field
Imageasset text field now displays correctly in inspector
previews now use assets again
assetBrowser hides previewCache folder
2025-06-15 22:07:12 +01:00
JeffR
970394c42d Corrects handling for creating new folders via asset/AB workflow
Also fixes issue where Make Selected a Mesh action wasn't working properly because it lacked a ShapeAsset createNew method
2025-06-03 15:13:33 -05:00
JeffR
0e6c33f78a Fixed gui editor drag and drop behavior for image, shape, and sound
Ensure BitmapFile is given a proper default
2025-05-30 20:21:13 -05:00
JeffR
8ed3bab44c Re-added prefix handling for named texture lookups for image asset fields
Changed render-out of shape preview images to use png
Added filter against previewCache folder
2025-05-28 17:47:23 -05:00
JeffR
0fa8b97f91 Reimplements ability to utilize direct file load alongside ImageAsset fields when utilizing the ImageAsset macros
Updates Asset Browser generated preview images to not utilize full assets, but just the preview image files themselves
2025-05-27 17:12:03 -05: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
JeffR
65c290a770 Simplified the code to the important part as we do the position math previously.
Also added the stub for the onGUIEditorDropped
2025-05-15 12:50:21 -05:00
JeffR
c6213f0d12 Fixes the handling of creator entries in the asset browser 2025-05-15 11:14:53 -05:00
marauder2k7
f86497434e is named target
clear out texHandles on teardown of imageAssets.
2025-05-12 22:17:01 +01:00
marauder2k7
18b1b6d1d0 Update image.tscript 2025-05-12 21:51:16 +01:00
marauder2k7
e1c01cd49a Merge remote-tracking branch 'upstream/development' into imageAsset_refactor_rev3 2025-05-12 14:45:41 +01:00
JeffR
0bf38aacf3 Made the Asset Properties inspector ctrl be a regular GuiInspector control
Standardized the image asset action menu and editing callbacks while leaving it open for modification/expansion later as needed
2025-04-01 02:10:13 -05:00
JeffR
5566f8a396 Updated handling of subscenes in assets to be it's own distinct definition to avoid parsing and detection issues, as well as fields to be handled distinctly between the types 2025-03-30 16:36:15 -05:00
JeffR
c2af4e578b Merge branch 'Standardized_AB_AssetManagement' of https://github.com/Areloch/Torque3D into development 2025-03-30 15:03:43 -05:00
marauder2k7
435462c738 fix the other previewss 2025-03-28 13:00:25 +00:00
marauder2k7
9cf17ae9a0 Update assetBrowser.tscript
remove spam from debug echos
2025-03-28 12:41:42 +00: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
e1a2a6d9f9 fix material editor
material editor now handles named targets propertly when loading
also update preview image in material editor
2025-03-26 10:55:54 +00:00
marauder2k7
16d219769f set preview image
set the image asset preview image for namedTargets
2025-03-26 10:12:14 +00:00
marauder2k7
0da0903599
Merge branch 'development' into imageAsset_refactor_rev3 2025-03-24 20:07:06 +00:00
JeffR
0d338f2d51 * Update levelAsset creation so it can be flagged to be creating a subScene preemptively, improving workflow when creating a SubScene level asset 'in place' via the inspector.
* Fixed issue of creating new SubScene using the full level template instead of a blank level file
* Fixed subScene inspector field handling so clicking the create new will mark the 'in place' created level asset as a subscene appropriately
* Changed up persistenceManager logic when parsing objects out - especially with specialty fields - to use Strings instead of const char* to simplify memory juggling and improve stability
* Rolled back specialty array field outputs for decal roads and convex shapes to have the field names in the output again
* Added sanity check for MeshRoad's when writing out via specialty array field to ensure there are profile nodes before trying to write any
* Added sanity check to avoid pointlessly writing out meshroad and river position field into subScene file as it could cause a transform double-up and cause them to move when loading from a subscene
2025-02-05 22:51:43 -06:00
marauder2k7
f519cff6ff gui types using image_asset 2025-01-23 22:12:57 +00:00
JeffR
e4d07c7e8d Adds utility function and method to be able to enact a load of subscenes at a specific world position
Adds loadIf conditional logic to evaluate if a subscene is 'allowed' to load when tested
Adds isAlwaysActive to GameMode to be able to flag a gamemode as being defaulted to on and used automatically
Updated GetGameModesList function to return an arrayObject of the gamemodes found
Overhauled CallGameModeFunction to utilize the gamemodes list with active/alwaysActive modes being called against, rather than level-scanning
Updated ChooseLevelMenu to be able to toggle on/off multiple gamemodes with an image indicator if it's active or not
2024-10-04 00:10:26 -05:00
JeffR
20a01d9f02 Merge branch 'development' of https://github.com/TorqueGameEngines/Torque3D into SubScenes_Gamemode_PR 2024-09-28 22:11:39 -05:00
JeffR
3442aceb0f Updates most of the handling of asset types to follow a more standardized type-registration system.
This streamlines much of the code and makes it easier to find and follow how different asset, object and file types are handled by the asset browser
Also clears out various bits of cruft and old commented blocks of code
2024-09-28 16:09:56 -05:00
AzaezelX
8461b9dbfd asset browser spam kill
don't report populating preview images if the count is 0
also, remmber to cancel a pending scheduled method if you're rescheduling it
2024-09-23 08:59:36 -05:00
Nils Eikelenboom
0291b000e0 Remove tabs from asset broser and win. console
Remove the tabs from the asset browser and windowed console. There were some issues and asset browser will be changed soon. Downside is that the windowed console and asset browser will now open on top of each other.
2024-09-22 19:36:48 +02:00
Areloch
4bb26bf96c Reorganized the exec's for datablocks in module template file to be within the start/stop blocks
Tweaked example module script file to comply
Moved ExampleGameMode script file to scripts/shared since client and server need access to the gamemode for logic to work
2024-09-01 23:26:10 -05:00
Areloch
ae8eca48e1 Implementation of Subscenes, SceneGroups and Gamemodes
Standardizes Gamemodes to be an actual class with data and utility functions that can be parsed
Adds inspector field handling for selecting gamemodes
Updated Scene class to work with Gamemodes for the gamemode field
Updates editor suite elements to be able to create SubScenes, SceneGroups and Gamemodes
Adds ability to convert SimGroup to SubScene
Updates BaseUI's chooselevel menu to have gamemode selection and filters shown levels based on selected gamemode
2024-09-01 16:39:00 -05:00
AzaezelX
265ce8429b fix guiwindowCTRL callback
also set asset browser to use rows or columns depending on which dimension is longer
2024-07-28 05:51:03 -05:00
AzaezelX
2a941e733e asset browser was passing along screen position, not scene position based on drop at options 2024-04-13 15:23:30 -05:00
marauder2k7
7216ba8530 Revert "revert #1148 as prematurely incorporated"
This reverts commit f946088214.
2024-01-20 18:01:57 +00:00
AzaezelX
f946088214 revert #1148 as prematurely incorporated
it's getting there, but there have been a few spots noted where it eroneously corrupts text, so we'll have to pull this back out for a bit barring a proper resolution
2024-01-11 13:33:03 -06:00
Brian Roberts
cf7e9f7a00
Merge pull request #1172 from Areloch/BaseUIUpdate_Wipwork
BaseUI Update
2024-01-05 14:30:00 -06:00
Brian Roberts
51426a3575
Merge pull request #1148 from marauder2k9-torque/STBImageLoading-PR
Stb image loading
2024-01-01 08:48:46 -06:00
AzaezelX
733c9d4b6d clean out unnecessary position set
add a new route for the asset browser to create things in the form of  ".on" @ %assetType @ "GUIEditorDropped(" @ %assetDef @ ",\"" @ %pos @ "\");";
demonstrate it with a soundasset creating a  GuiAudioCtrl when drug onto the canvas
2023-12-31 13:04:45 -06:00
Areloch
55697cffdb Streamlined baseUI profiles
Implemented audioOptions file with structure to comply to BaseUI options menu
Implemented majority of keybind remapping logic for options menu
2023-12-18 23:49:13 -06:00
marauder2k7
ace9cc328b Update assetImport.tscript
add extra formats for stb_image to asset importer
2023-12-08 05:06:24 +00:00
Brian Roberts
105e45c56b
Merge pull request #1119 from Areloch/AssetPropEditRefreshFix
Ensures that when the asset is edited via the asset properties window the asset is refreshed in the backend systems as well
2023-10-24 18:42:53 -05:00
Areloch
473e566b70 Adds a separate gui profile for the popupmenus themselves that has a lighter border color, making it easier to keep track of the layout
Fixes the C++ asset creation and management function names so the AB can create C++ assets now
removes duplicate menuBuilder script file
2023-10-24 17:53:37 -05:00
Areloch
c3ea12f9df Ensures that when the asset is edited via the asset properties window, the asset is refreshed in the backend systems as well 2023-10-22 11:32:54 -05:00
Areloch
8232d0f6dd Fixes the handling of the temp editable asset definition in the asset properties inspector so it'll save sub-objects as expected 2023-10-18 11:37:27 -05:00
Areloch
33f35d35d4 Implementation of Nils' UI work for updated theming, functionality and style for the editors suite 2023-09-08 22:44:18 -05:00
AzaezelX
73e3b44e12 guiprofiles augs
guiprofiles now have additional options: borderSEL and borderERR in keeping with the fillcolor variants. fontColors now also takes an optional ERR entry on the backend, though that remains unleveraged at time of writing.
guiiconbuttonctrl now uses the expanded list in conjunction with renderFilledBorder
asset browser profiles now contain a AssetBrowserProtoProfile that type-profiles derive from for consistency in border selection, highlight, (and down the line error)  colors and border thickness while maintaining type-sepcific border color entries for general display
2023-03-16 17:21:07 -05:00