Commit graph

731 commits

Author SHA1 Message Date
JeffR 322d3bb093 Allows setBitmap calls on IconButtons to set the bitmap data even if the control isn't awake to avoid issues of a set call being 'skipped' 2026-01-07 17:57:53 -06:00
Brian Roberts 0f32c10a2c
Merge pull request #1647 from marauder2k9-torque/development
Some checks are pending
Linux Build / ${{matrix.config.name}} (map[build_type:Release cc:gcc cxx:g++ generator:Ninja name:Ubuntu Latest GCC]) (push) Waiting to run
MacOSX Build / ${{matrix.config.name}} (map[build_type:Release cc:clang cxx:clang++ generator:Ninja name:MacOSX Latest Clang]) (push) Waiting to run
Windows Build / ${{matrix.config.name}} (map[build_type:Release cc:cl cxx:cl environment_script:C:/Program Files (x86)/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvars64.bat generator:Visual Studio 17 2022 name:Windows Latest MSVC]) (push) Waiting to run
Update guiPopUpCtrl.cpp
2025-12-31 10:00:47 -06:00
marauder2k7 26ae2f8420 Update guiPopUpCtrl.cpp
Fix for "|" in text for popupctrl

If 1 was found it was just assuming all other bars existed for a colour input.

there could be a cleaner way to do this but the direct approach allows for clear safeties.
2025-12-31 05:55:11 +00:00
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 0e4b08ead1 roll back _setitmap macro-mirroring. seems there was somethin off there 2025-12-25 18:59:03 -06:00
AzaezelX d50161d296 fix GuiBitmapButtonCtrl setBitmap script command
it was pointing at the macro method direct, not the bespoke case that *also* calls the macro method.
2025-12-25 17:47:31 -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
Brian Roberts aa9a8154e1
Merge pull request #1592 from Azaezel/alpha41/crashTestDummies
Some checks failed
Linux Build / ${{matrix.config.name}} (map[build_type:Release cc:gcc cxx:g++ generator:Ninja name:Ubuntu Latest GCC]) (push) Has been cancelled
MacOSX Build / ${{matrix.config.name}} (map[build_type:Release cc:clang cxx:clang++ generator:Ninja name:MacOSX Latest Clang]) (push) Has been cancelled
Windows Build / ${{matrix.config.name}} (map[build_type:Release cc:cl cxx:cl environment_script:C:/Program Files (x86)/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvars64.bat generator:Visual Studio 17 2022 name:Windows Latest MSVC]) (push) Has been cancelled
crashfixes
2025-11-23 20:55:41 -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
Areloch 91e354fe99
Merge pull request #1591 from Azaezel/alpha41/thumbsSideways
scroll thumb safety
2025-11-21 21:55:57 -06:00
AzaezelX 75883f74cf scroll thumb safety
avoid divnull
2025-11-20 20:56:18 -06:00
AzaezelX cce40efd35 fix particle glow
multiple preloads were failing to return false or mesages on failure of mandatory entries.
clear out redundant isScriptFile definition
fix default order of /scripts/managedData script files
2025-11-13 14:29:25 -06:00
Brian Roberts 7a0ae4c7af
Merge pull request #1570 from Azaezel/alpha41/consoleCleanupos
misc cleanups related to ranges
2025-10-07 18:07:05 -05:00
AzaezelX bd44ee5341 misc cleanups related to ranges
gui padding is a >=0 element
guitabbookctrl.selectedPage defaults to -1
shape editor triggers derived from textrows must ensure they are actually loking aty an entry. -1 is the return value of" not found"
2025-10-07 16:31:24 -05: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 eb380e58a3
Merge pull request #1554 from Azaezel/alpha41/decalAtlasWipWork
decal atlas and decal editor corrections
2025-09-22 08:49:42 -05:00
AzaezelX 82435693dd decal atlas support work
allow a textureCoordCount to be used raw when texrows and coumns are not >1 in order to let the transmitted vector actually be used

correct and augment editDecalDetails to now read
      DecalEditorGui.editDecalDetails( %this.instanceId, %pos, %tan, %size, %uvID  );
it needed the word split to begin with, and also added the uvID for instance frame tracking/overriding
same token added a  getDecalFrame(%this.instanceId); method

todos: add a frame lookup and selector for the instance tab, modify decal display to account for non-square uv portions
2025-09-19 09:09:55 -05:00
JeffR 50e05800f4 Fixes issues with shifting the gui selection dropdown to be searchable via the Ex control. 2025-09-06 19:28:14 -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 c2a46e4b45 Make sure to actually remove the signal registration too 2025-08-11 00:09:54 -05:00
JeffR 970aba9766 Fixes design oversight where the general game menu keybind was being overridden due to order of operations issues with an offscreen canvas demoing the options menu
Fixed via several solutions to prevent issue from cropping up again.
Firstly, Adjusted behavior script-side so game menu keybind is pushed with the PlayGUI since almost every single game will use the game menu
Secondly, added logic so that the guiInputCtrl, when going to push an ActionMap(if it has one) will check if it's root canvas is active.
Thirdly, to allow guiInputCtrls to respond to a canvas becoming active, such as a GUi-on-Material surface displaying a menu and it's activated, an offscreen canvas becoming active now trips a signal that guiInputCtrl listens for.
2025-08-11 00:06:42 -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 08f52cfa16 add extra checks
add extra checks around an empty stringtableentry for assets and bitmap controls
2025-06-19 16:58:44 +01:00
marauder2k7 c6ec2fd6a1 Merge branch 'PreviewAssets_UseAsset' into SoundAsset_Refactor 2025-06-19 13:36:49 +01:00
marauder2k7 1918ecfdd6 feedback from az
fixes for interaction from az
2025-06-18 20:44:37 +01:00
marauder2k7 6f9c4158d8 gui offscreen material test
added interaction static guioffscreencanvas to capture mouse events
added test shape
2025-06-18 17:05:35 +01:00
marauder2k7 51b1e3b07e update cursors
GuiCursor needs to be changed to use bitmapAsset
guiTypes.GuiCursor safety around rendering getBitmap()
2025-06-18 09:27:47 +01:00
Brian Roberts 0aaddcddb4
Merge pull request #1500 from marauder2k9-torque/MissionArea-RemoveTerrainDependency
remove terrain dependency from mission area
2025-06-16 16:36:24 -05:00
marauder2k7 47bff2f0eb Update guiMissionArea.cpp
simplify logic around skipping objects that push the mLevelBounds outside F32_MAX
2025-06-15 17:15:59 +01:00
marauder2k7 4fc182444e Update guiMissionArea.cpp
set a minimum size for the level bounds, this stops the mouse drag issue until it is sorted out properly
2025-06-15 16:23:57 +01:00
marauder2k7 0a1e3f74ed remove terrain dependency from mission area
Mission Area now captures the entire level bounds based on objects in the scene
Terrain is no longer required for mission area to be set
2025-06-15 12:41:47 +01:00
AzaezelX 83a3ef877e don't trace setShaderConsts or onNewMessage callbacks
they spam up the console to uselessness when using the trace(true/false) command
2025-06-09 13:35:32 -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 5397c168bc Merge branch 'DirectImageFileOption' of https://github.com/Areloch/Torque3D into development 2025-05-30 00:08:29 -05:00
AzaezelX 8bd145d54f use of get<some name> methods that already return nulls/false when attempting to load
in contexts where we would want to try first (pt2)
2025-05-28 17:45:02 -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
AzaezelX 40974dd14b use of get<some name> methods that already return nulls/false when attempting to load
in contexts where we would want to try first
2025-05-27 17:07:08 -05:00
Brian Roberts a43458677a
Merge pull request #1481 from Areloch/MiscFixes_20250525
Misc Fixes and improvements including updated autosave handling
2025-05-27 08:03:08 -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
AzaezelX 73af7f6c3e third case 2025-05-21 11:06:50 -05:00
AzaezelX 38de3d866c fix a couple cases of old direct references
use getBitmap(), not mBitmap
2025-05-21 11:02:31 -05:00
marauder2k7 aa3f07e339 update macro
Added get##name##File to macro that will check to make sure the asset is not null before getting the image file.
2025-05-14 00:30:47 +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 7c4d41ee21 Merge remote-tracking branch 'upstream/development' into imageAsset_refactor_rev3 2025-04-05 15:59:02 +01:00