Commit graph

217 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 5b2274d203 don't trip onInspectorFieldModified unless the value actually changed 2025-12-23 11:49:24 -06:00
AzaezelX 88e9de47d7 add text selection to tab cycling 2025-12-23 11:15:33 -06:00
JeffR 12ebebff46 Update of Particle Editor to standardize it up and utilize inspectors rather than adhoc guis 2025-12-21 16:39:19 -06:00
AzaezelX 2b8d7855e4 crashfixes
IRangeValidatorScaled display was looking in the wrong var
afxMagicMissileData was misconverted and lacked a NULL initializer
2025-11-23 15:10:37 -06:00
AzaezelX da2fd36dd2 add safeties for GuiShapeEdPreview animthread
bunch of spots we were assuming no one would ever script an invalid entry.
2025-10-06 17:47:11 -05:00
Brian Roberts e73efc13c4
Merge pull request #1541 from Areloch/MiscFixes_20250825
Misc small fixes, improvements and QoL tweaks
2025-08-26 01:43:57 -05:00
JeffR 9c654d7932 - Fixes the display of the preview in the MaterialAsset fields
- Hides the special-case direct filepath field for ShapeAsset persist fields macro
- Shifts the handling of TSStatics so the shape instance will load materials on the server as well as the client. This opens gameplay options as well as allowing rebaking of meshes functionality more easily
- Expands AssetBase's isValidAsset utility function to actually check validity instead of just returning true
- Adds isValid utility function to AssetPtr
- Added new field flag that makes the field not write out to file
- Removed legacy iconBitmap field from GuiIconButtonCtrl because it was causing errors
- Fixed group filtering check of guiInspector to ignore case
- Removed unneeded isFile checks for common datablock script files in Prototyping module script
- Removed test datablocks from Prototyping module
- Removed unnecessary container control from AssetBrowser
- Adjusted preview regen logic of AssetBrowser so it doesn't trip if you're simply resizing the window
- Fixed issue where row-vs-column layout logic for AssetBrowser when resizing window was fiddly
- Added handling for when Dragging and Dropping datablock from AssetBrowser to spawn, it'll prompt if it spawns the actual object, or a spawnsphere that spawns said object. In the event of an PlayerData will also prompt if it should spawn an AIPlayer
- Added ability to take a TSStatic that uses a baked down mesh and are able to restore it to the cache prefab, or trigger and in-place rebake to refresh it if something has changed in the original contents via RMB menu on the scene tree
- Added ability to explode prefab to RMB menu on scene tree
- Added ability to convert selection to prefab or bake to mesh in RMB menu on scene tree
- Tweaked sizing of the DatablockEditorCreatePrompt window to not have cut off elements and easier to see/work with
- Added sanity check to datablock editor creation
- Fixed preview display of material in Decal Editor
- Made compositeTextureEditor use the cached preview of images
- Fixed sizing/spacing of gui selection dropdown as well as resolution dropdown of GuiEditor
- Fixes MaterialEditor to properly save the group collapse state when editing
- Adds ability to in-flow edit and create datablocks in the NavMesh Editor for the testing panel, and makes the datablock dropdown searchable
- Fixed issue where opening the ShapeEditor via the edit button on a ShapeAsset field would cause the action buttons on the top bar to not show
- Fixed error in shape editor where when exiting it was erroneously checking for a clear value of -1 rather than 0
- Removed unneeded top tabbook and tab page for main editor panel
- Fixed issue where reset button of TerrainBrush Softness Curve editor didn't actually reset
- Resized Object Builder window to not cut off elements and have enough width to show more data
- Added a TypeCommand field type to Object Builder and changed spawnscript field of SpawnSphere to use it rather than a simple text edit field
- Allow SpawnSphere in ObjectBuilder to be passed in spawn class and spawn datablock default info
- Injects button to controllable objects when Inspecting them to make it easy to toggle if you're in control of it or not
-
2025-08-25 23:35:28 -05:00
AzaezelX 67f4ce44a6 add tab cycling between inspector sub-elements
for linked values like position, scale, extents ect
2025-08-24 12:11:31 -05:00
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 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 e1c01cd49a Merge remote-tracking branch 'upstream/development' into imageAsset_refactor_rev3 2025-05-12 14:45:41 +01:00
AzaezelX c04eaa5862 fix PopupMenu::checkItem filter
reminder size is the total element count of the vector
2025-04-29 15:45:39 -05:00
marauder2k7 c025ea86b4 more cleanups
cleanup the type removing the refactor tag
materialManager restored to its original state
2025-03-27 08:59:50 +00:00
marauder2k7 0da0903599
Merge branch 'development' into imageAsset_refactor_rev3 2025-03-24 20:07:06 +00:00
AzaezelX fcd2d38deb further validator cleanups
bump default fidelity from 0,0001 to 0.01
fix F32Range. needs to go from - to +, not smallest to largest positive value
fix several misasigned validator ranges. most of which use some form of -1 default to do a Special Thing
2025-03-18 14:06:33 -05:00
AzaezelX f633ef3a3d fill in the validated variables 2025-03-09 11:53:23 -05:00
AzaezelX fa760fa746 add numerous new validators
as well as inspector support to treat a significant chunk of the codebase as range-clmped values which can take a guisliderbarctrl with a configurable at the validator level fidelity variable
additionally adds a new addfieldV and addprotetedfieldV for further callback validated slider-presented variables
*also* adds an on additional callbacks to the inspector itself, like onPreinspectobject, onPostinspectObject, and onPostInspectorfieldModified
in addition to *that*, adds a new hidefield command to tag a given specific field not to show in inspector
2025-03-09 11:51:54 -05:00
AzaezelX 45bb368762 from marauder: proper enumtable lookup 2025-03-07 00:12:09 -06:00
AzaezelX d8fcbb7863 work towards reflecting the typemask in the checkboxes in a combinatory manner again 2025-03-06 23:37:37 -06:00
AzaezelX 79782148ec fix another potential crash with firstresponder code 2025-03-06 23:32:38 -06:00
AzaezelX 53a87af2b1 inspector aug: docs as tooltips
convert feilddocs to an 80-char per line tooltip to better help folks understand what a given variables intent is
2025-03-01 15:09:32 -06:00
AzaezelX 5fb73edc00 setFirstResonder Safeties
make sure we've properly added gui elements before trying to set the to be the responding one, or running callbacks against them
2025-02-25 18:23:45 -06:00
AzaezelX b36ec14194 add typeS16 2025-02-22 18:57:27 -06:00
Olathuss 44df6dada7 Close Menu Implemented
closeMenu function on guiMenuBar implemented. Closes menu when selecting a popup menu action.
2025-01-25 22:59:17 -07:00
marauder2k7 4d980e5406 various cleanups and fixes
basicClouds refactored
null dereference fixes in guiMenuBar
2025-01-23 22:14:05 +00:00
marauder2k7 eb746a1142 console spam
moved error printout in guiType guiControlProfile incLoadCount inside a check to make sure the profile has a bitmap asset set.

remove older typeImageAssetId from group and variable inspector classes
2025-01-23 22:13:49 +00:00
marauder2k7 32c6330b72 guiControlProfile 2025-01-23 22:13:48 +00:00
marauder2k7 22037bf94f moar refactors 2025-01-23 22:13:46 +00:00
JeffR 10d1aeca1f Shift tracking of dynamicObjects from strict child objects for Scenes, to tracking the objects but keeping them in the Cleanup Group to fix prefab loading behavior
Shifted to utilizing SimGroupInterator and persistenceManager to fix saving issues with SubScenes
Shifted to utilizing SimGroupIterator for Scene saving to standardize and minimize object misses
Changed prefab load file logic to add loaded child simgroup to rootscene for consistent tracking and avoiding conflicts with subScene's hijacking the ImmediateGroup var
Reduced duplication of build<type>field callback for inspectors
Added more standard field type lookups to inspector group when creating a field to avoid misses for types like 'F32' or similar.
Folded the added-on MinSize/MaxSize/SimgroupSelect fields for SimGroup editing into a single compound field and fixed bugs with it's behavior so it works as expected now
2024-10-27 20:04:13 -05:00
AzaezelX eaa09a6db7 corrections:
fill in missing SceneObjectTypes enums.
parity with simobject.cpp and objecttypes.h
correct inspector display
2024-07-24 20:43:36 -05:00
AzaezelX 72c67e196a Merge branch 'development' of https://github.com/TorqueGameEngines/Torque3D into Enumnanigans 2024-07-24 17:58:27 -05:00
AzaezelX fe5e81a27a fix fighting itterators 2024-05-13 21:31:20 -05:00
Areloch b77911bdcd Exposes the SceneObjectTypeMasks as an enum type, allowing it to be utilized in inspectors.
Updated Trigger triggeredBy field to utilize new enum type for editing
Updated MaterialDefinition's animFlags field to utilize appropriate enum type for editing
Fixed image reference in bitmask inspectorField type to use correct image asset name
2024-05-04 09:56:04 -05:00
Areloch 0d2aeac303 Cleaned up unneeded formatting values on the TypePointX field elements
Adds logic checks so we don't multi-apply edits from applyWord fields, causing redundant extra undo's
2024-05-01 21:58:18 -05:00
Areloch fdadfa5eea Adds handling for complex fields such as Point2, Point3 and Point4's to be able to apply value changes to only one axis across a multi-object set without affecting other axis' 2024-04-30 18:44:17 -05:00
marauder2k7 447cec6cdd Update guiInspectorTypes.cpp
fix rotation display
2024-04-02 01:48:37 +01:00
AzaezelX 2b73f93f38 fix position editor value flutter
a) it didn't like mixing the script input %g and %.7f
b) we should set the increment to POINT_EPSILON as that's our cutoff value for several calcs.
2024-03-26 14:29:20 -05:00
Brian Roberts 05a083ca6f
Merge pull request #1234 from marauder2k9-torque/virtuals-override
Virtuals override
2024-03-21 10:43:26 -05:00
AzaezelX 8549c17a42 crashfix for inpector dynamic field editing 2024-03-20 14:32:09 -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
AzaezelX 07ed59a872 TORQUE_TOOLS off compile fix
fix a cornercase for when TORQUE_TOOLS is #undef at the torqueconfig.h level
2024-03-10 14:29:17 -05:00
Areloch d890c530f9 Adds logic to be able to set a search string on an inspector that will be used to filter displayed fields.
Adds a textEdit filter box to the main world inspector that hooks into the primary inspector for said search functionality
2024-02-13 20:33:14 -06:00
AzaezelX de87d2f6ad fix guishapeedpreview not displaying IBL
note this *does* require a baked skylight in the main scene
todo: track down why a similar protocol does not operate for guimaterialpreview and guiobjectview
2024-02-10 13:36:55 -06:00
Brian Roberts 600a6b8ebc
Merge pull request #1192 from Areloch/EditorPopupEXFieldExpansion
Usability improvements for editor fields utilizing popup menus
2024-02-07 19:29:07 -06:00
Areloch 7ef4552196 Fixed category filtering logic for datablockField populateMenu 2024-02-04 15:25:35 -06:00
Areloch 4646d5eac3 Adds ability to force the inspector to only show a set index of array'd fields. Mostly for specific editor tool use(like editing material's individual layers/stages) 2024-02-04 00:21:54 -06:00
Areloch d952722811 Updates the field types used in the editor to utilize the GuiPopUpMenuCtrlEx to make them support categories and be able to search filter them
Updates the dataBlock field type to properly present categorized listings
Expands the datablock Field to have an edit and add buttons on the field to make the workflow simpler
Adds utility functions to GuiPopUpMenuCtrlEx to control indentation, categories and searchability
Expands datablock editor functionality to be able to create a datablock of a type to pre-set the inheritFrom param of the process early(used for the add new button on DB fields to carry-through the current DB to the creation process of a derivative)
2024-02-03 16:10:28 -06:00
AzaezelX 4ed617f7df fix type list popup display 2023-12-20 18:51:12 -06:00