Commit graph

60 commits

Author SHA1 Message Date
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
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
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
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
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 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 73ad92b757 review notes from Az
Should render fallback for namedTarget if namedTarget fails
Add safety around namedtarget getTexture to stop assert
Missing assets should revert to fallback image and print a warning to console
Remove REFACTOR tag from all macros.
2025-03-30 11:22:42 +01: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
marauder2k7 32c6330b72 guiControlProfile 2025-01-23 22:13:48 +00:00
marauder2k7 b75d5b70c6 toolbox 2025-01-23 22:13:47 +00:00
marauder2k7 22037bf94f moar refactors 2025-01-23 22:13:46 +00:00
marauder2k7 4d893f51cf gui image asset refactor
bitmap button popup ctrl ex
2025-01-23 22:13:21 +00:00
marauder2k7 eca0820134 init commit
start of attempt 3
2025-01-23 22:12:52 +00: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
Areloch f5ab97242f - Added logic to guiButtonBaseCtrl so if highlighted and is part of a group, will signal the siblings in the group as well
- Standardizes highlighting behavior between keybind and mouse highlighting of buttons
- Standardized onHighlighted callback for buttonBase
- Fixed handling of up/down nav with gamepad stick
- Added logic to make holding down nav keybinds iterate over buttons in menu lists
2023-12-27 11:42:43 -06:00
Areloch ce4c8dabc9 Ongoing wipwork of the BaseUI update. Some bugfixes pending 2023-12-16 23:18:33 -06:00
AzaezelX 7a9715654d fix bitmap button state display 2023-11-12 19:49:45 -06:00
Areloch d0f914b3e6 From Nils' UI work
Adds ability to control button margin of IconButtons
Adds ability to define button offset of window controls
Add mouse drag callback for window controls
Tweaks colors of gui slider control
Tweak to line split for text edit slider bitmap control
Tweaks to colors for text edit slider control
Tweaks to colors for Edit control
Tweaks to default menubar height
2023-09-04 22:50:45 -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
AzaezelX d6480cb63c check wether or not mBitmapArrayRects.empty(). not simply if size()
(cherry picked from commit fea81a4d57edff9c05bf397a5b21d8422838cc1c)
2023-03-06 15:29:40 -06:00
AzaezelX 76a7b024e8 fix GuiIconButtonCtrl not taking borderThickness entires 2023-02-14 17:32:31 -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 65275a8a35 leftover profile reference flaw 2022-08-29 21:18:20 -05:00
marauder2k7 5d85664b40 Change GuiProfile to use Sound Asset
-Added SoundAssetInspector to bypass circular issue
-Added SoundAsset to GuiTypes
2022-08-29 23:40:51 +01:00
JeffR 67d8448915 Fixes cleanup handling on guiBitmapButtonCtrl and guiGameSettingsCtrl to release the bound textures like other GUI controls when they sleep, avoiding a texture object leak.
Fixes a call for UINavigation to getPageCount that was erroneously referencing the pageStack
Fixes fetch and binding of the image for display when using the uvEditor
2022-06-09 16:29:32 -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
JeffR 69d547fd72 Adjusted handling for the bitmap and bitmapAsset fields for guiBitmapButtonCtrl to forcefully update the button states when changed, ensuring that the bitmaps refresh when changed via the field
Added callback for onResize to guiWindowCtrl so controls - such as the EditorTree - can be properly resized in certain circumstances when the window is changed
Added getIncrement() and getRange() to GuiGameSettingsCtrl to better facilitate options manipulation on the script side
Corrected some of the console method documentation strings in GuiGameSettingsCtrl
Removed some unneeded, extraneous files and their asset definitions that came from odd import conversions. Where applicable, created cleaned up versions to make naming conventions and references stable
Fixed canvas mode update text typo: FSAA -> FXAA
Added logic to DOF, Light Rays, SSAO and Vignette postFX's to check both the preset setting AND the user preference before enabling.
Shifted initialization order so PostFX's are loaded before we configure the canvas, to ensure stuff like the FXAAPostFX exists and can be toggled on on load
Fixed multiple issues with options menu:
 When using gamepad, unable to navigate from categories to options. Fixed so can now traverse as normal
 Input limitations on gamepad necessitated changing of how setting applying happens, is now done as a 'apply or discard' prompt when leaving the options menu
 Added proper handling for adjusting settings with gamepad with left/right inputs
 Fixed issue where the unapplied change for an option was sometimes being processed as an object name rather than an implicit string. Now made to be explicit strings to avoid issue.
 Made the menu button input for "Select" to go from categories to options gamepad only, and hidden when in the options list
 Fixed issue where changing window mode didn't correctly affect resolution option. Now set up so changing this field correctly refreshes the resolution option. Specifically, when on borderless, the resolution field does not show, preventing confusion as it is always full resolution
 Generally have the options list refresh when changes happen to allow any and all fields to be able to dynamically respond to other options having changed improving flexibility.
 Cleaned up old, unused, commented out functions
Added ability on OKCancel message boxes to override the button text if needed
Fixed issue with AssetBrowser where the shrink/grow icons next to the preview size slider were not anchored correctly.
Adjusted callback logic so if preview slider is clicked on, rather than dragged, it will correctly update the zoom values
Added sorting to Modules List dropdown for the AssetBrowser
Improved standardization of double-clicking in AssetBrowser. Now defaults to editing action if regularly browsing and selecting if in select mode. Still allows regular per-type overrides as normal
Moved definition of GuiDisabledTextEditProfile to gui profiles.ed.tscript file, removed duplicates to stop error spam
Adjusted default settings value for double-click action in AB to be edit to prevent unstable behavior
Removed old file refs from Load Recent list in the default settings
2022-03-26 22:36:37 -05:00
JeffR 6a357d8dfb Merge branch 'Preview4_0' of https://github.com/TorqueGameEngines/Torque3D into Preview4_0 2022-02-17 18:30:23 -06:00
JeffR ed36cf2c5c Changes for BaseUI Update 2022-02-17 18:04:31 -06:00
AzaezelX d074343b50 adds colorization to GuiBitmapButtonCtrl 2021-11-26 20:13:59 -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
AzaezelX 0dcd272b87 clean up more texture profile refs to kill spam 2021-10-31 14:38:02 -05:00
AzaezelX 98a079a797 code duplication prune. should aid in stability 2021-10-03 02:56:26 -05:00
AzaezelX c5d0310bc3 Merge branch 'EngineAssetify' of https://github.com/Areloch/Torque3D into EngineAssetify_Followups_XML2Check
# Conflicts:
#	Engine/source/ts/tsShapeConstruct.cpp
2021-08-02 13:54:51 -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
AzaezelX b73353a446 we want old direct-file references first, then asset macros, since those plug in the old entries to empty if valid. 2021-07-29 11:12:07 -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
OTHGMars fd85491ed7 Changes GuiIconButtonCtrl to relative paths that can be opened by the mount system. 2021-01-11 05:00:37 -05:00
AzaezelX 9fef1b3cd1 uninitialized variables-gui 2020-05-11 15:03:27 -05:00
Azaezel e7c3085d5f corrects a copy-corruption flaw with GuiSwatchButtonCtrl::onMouseDragged
pretty sure the offending leak-line creeps in with
 561f010f2e/Templates/BaseGame/game/tools/base/utils/swatchButtons.ed.cs (L34)
comparative release/debug results in
string gridBitmap = "\c0"
vs
string gridBitmap = "ic\c1Gl\c0"
and the relavent initpersistfields entry of TypeString points to
561f010f2e/Engine/source/console/consoleTypes.h (L71)
which is likely causing malformation
2019-01-28 21:04:51 -06:00
Lukas Joergensen 76908eae3c Eliminate DefineConsoleMethod 2018-04-17 21:01:50 +02:00
Azaezel 8bc4858fa3 companion to #2203: corrects a couple backend profile assignment mismatches found with @rextimmys debug spew 2018-02-13 02:51:28 -06:00
Areloch 25686ed4be Implementation of sRGB image support. Overhauls the linearization setup to utilize the sRGB image types, as well as refactors the use of ColorF and ColorI to be properly internally consistent. ColorIs are used only for front-facing/editing/UI settings, and ColorFs, now renamed to LinearColorF to reduce confusion of purpose, are used for color info in the engine itself. This avoids confusing and expensive conversions back and forth between types and avoids botches with linearity. Majority work done by @rextimmy 2017-06-23 11:36:20 -05:00