Commit graph

733 commits

Author SHA1 Message Date
AzaezelX 218caea9e8 remove filtes on misbehaving brushes.
correct range defaults
2024-10-28 09:39:02 -05: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 24933a1cc7 add min/max tile height entrys to painter, apply those to the general isvalid check for a given tile alteration. apply that to more brushes. 2024-10-24 13:37:45 -05:00
AzaezelX 85955479c8 terrain mask work
adds an isValid(gridinfo tile) command to prefilter out grid elements of a specified nature
applies that to SetEmptyAction::process
also corrects sliderbar positions for terrain painting elements, as ell as adds a min/max slope for removal

potential TODOs: apply it more places pending feedback. add a min/max hieght filter as well
2024-10-23 17:50:07 -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
AzaezelX 7664b63071 snap syncing
for world and convex shape editors
2024-09-22 14:34:07 -05:00
AzaezelX ead06b845e colorpicker cleanups
largely focuses on removing extraneous code and mangled math
2024-09-16 13:24:41 -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 1055dc8415 guiaudio crashfix on exit
further ensure sound playback isn't even started unless the test condition is true and the gui element is awake
remove redundant sfx->stop(). already does so with SFX_DELETE(source)
2024-08-07 21:51:36 -05:00
AzaezelX 9b5f137f77 guiAudiocCtrl fixes
ditch description: not needed.
set process ticking off when the gui element is put to sleep
for the case of re-use of 3d sounds, set emission to the listener position
2024-08-05 17:51:17 -05:00
Brian Roberts 95c7e9f3f2
Merge pull request #1299 from Azaezel/alpha41/abFixes
fix guiwindowCTRL callback
2024-07-29 04:06:16 -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 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
marauder2k7 6807abc8b6 ID10T error
no default does not need case -_- id10t error, few other fixes
2024-07-22 21:12:48 +01:00
marauder2k7 a621cc5100 various warnings
warnings cleanup
2024-07-22 20:59:48 +01:00
Brian Roberts cbe7f77ce0
Merge pull request #1278 from Azaezel/alpha41/oopsOps
fix fighting itterators
2024-05-14 09:47:54 -05:00
AzaezelX fe5e81a27a fix fighting itterators 2024-05-13 21:31:20 -05:00
AzaezelX 84c08e6ed9 work around collide not returning false with a nul object
fix a crash caused by having boundingBoxCollision on, while projecting the mouse so that there is nothing between it and a globalbounds object
it would seem we're somehow ending up in a state of WorldEditor::collide returning true it hit somethging, but NULL as far as *what*
until we properly fix this, doublecheck to make sure the hitObject isn't NULL before we start trying to reference membervars/methods
2024-05-07 00:24:49 -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
AzaezelX f6419d9659 fix order of ops mangling useGroupCenter snapping 2024-04-15 15:33:06 -05:00
AzaezelX 39e72cf2b6 ditch _snapfloat entirely in favor of just using the shared mRoundF 2024-04-10 15:56:44 -05:00
AzaezelX f52c1165b6 fix editor grid snap 2024-04-10 15:17:47 -05:00
AzaezelX f7ed077d82 round utility functions
add mRoundF to return nearest floating value to stepsize
2024-04-10 14:17:19 -05:00
marauder2k7 447cec6cdd Update guiInspectorTypes.cpp
fix rotation display
2024-04-02 01:48:37 +01:00
AzaezelX 01ff82cb72 fix mangled copypaste 2024-03-30 17:41:22 -05: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
marauder2k7 89843b541c Merge remote-tracking branch 'upstream/development' into ShaderConstBuffer-CleanupRefactor 2024-03-14 08:32:38 +00:00
marauder2k7 e6c653c441 warnings cleanup
cleanup and some warning fixes
2024-03-14 08:28:11 +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
marauder2k7 fbed04050a gui shaders for opengl
First opengl geometry shader along with the other shaders for gui rendering opengl side.
2024-03-09 18:34:43 +00:00
marauder2k7 d9c4269d8b bug fix
deleteSelection when an output node had multiple connections only the first one was deleted, needed a new function to return a vector of connections that are now looped and deleted at the end of delete selection.

few other minor additions and fixes.
2024-03-07 17:22:48 +00:00
marauder2k7 dbbd9383e7 better rounded rect 2024-03-07 10:20:06 +00:00
marauder2k7 0d448ad761 smoothing out results from gui shaders
roundedRectangle and circle drawing now smooth out their results
2024-03-07 09:47:18 +00:00
marauder2k7 2dc623df7e material output node
material output node added

colors denoting node sockets added. this will probably be changed.
2024-03-06 19:57:18 +00:00
marauder2k7 c9d70de609 extra draw gui
add the extra functions for drawing gui elements
RoundedRectangle:

All draw rect functions now pass through roundedRectangle which uses a shader and can draw borders, and rounds the corners

Draw thick line:
draws a line thicker than 1 pixel, uses a geometry shader to do this

Draw Circle:
Draws a circle with a border parameter.
2024-03-06 17:27:18 +00:00
marauder2k7 808e2f4200 Groundwork for other shaders
Adds the ground work for geometry shaders
Expands shaderData and gfxShader to allow for more shader types

note: when building a GFXShader in source you have to call setShaderStageFile with the shaderStage and the filepath for that stage.

Once we add compute shaders this will become more apparent as compute shaders are a stage of their own and do not require vertex and pixel files whereas other shaders sometimes do.
2024-03-06 13:26:39 +00:00
marauder2k7 949f788a0a connections
connections rendering and logic finished.
can make rendering better in future updates such as using geo shaders for bezier curves and smoother lines.
2024-03-05 20:39:33 +00:00
marauder2k7 155dfe0c69 more options for nodes
render nodes with GuiShaderEditor border colors
node size now changable.
2024-03-05 13:15:33 +00:00
marauder2k7 b2095db575 can key focus 2024-03-04 17:15:13 +00:00
marauder2k7 daa0cfef3a shader node editor test
node editor functioning correctly, connections needed next
shader nodes to be added in the next commit also
2024-03-03 21:13:58 +00:00
marauder2k7 6e85b43088 backup before connections
everything in shaderEditor now finished only thing left to add is the connections.
2024-03-03 19:24:49 +00:00
marauder2k7 be0689549a place functions in cpp
stop cli bitching.....
2024-03-02 20:14:11 +00:00
marauder2k7 457cdd00bb shader editor ground work
Adds the ground work for shader editor
Adds the base gui for the shader editor
2024-03-02 20:09:45 +00: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
Brian Roberts 3fd4cbdb89
Merge pull request #1207 from Areloch/ImageAssetArrayInspectorFix
Fixes the handling of imageAssets for array'd field types, as well asfixing the editor behavior of guiBitmapCtrl so the imageAssets correctly update the fields upon editing
2024-02-04 15:49:20 -06:00
Areloch 7ef4552196 Fixed category filtering logic for datablockField populateMenu 2024-02-04 15:25:35 -06:00
Areloch 1e21cc678f Fixes the handling of imageAssets for array'd field types, as well as fixing the editor behavior of guiBitmapCtrl so the imageAssets correctly update the fields upon editing 2024-02-04 14:45:19 -06:00
Brian Roberts ceec0dfb5b
Merge pull request #1205 from Areloch/ForcedArrayIndexInspector
Adds ability to force the inspector to only show a set index of array'd fields.
2024-02-04 11:27:50 -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
Brian Roberts 79e06af6dd
Merge pull request #1204 from Areloch/MLTextTypeOut
Adds ability for MLTextCtrl to type the characters out over time
2024-02-04 00:14:58 -06:00
Areloch 6de92264f6 Adds ability for MLTextCtrl to type the characters out over time 2024-02-04 00:13:33 -06:00
AzaezelX 67af2e0e0c resolve ambiguity
clang + ninja via clion disliked a string assignment from a case that could feed a string either another string or a char *, soi used the latter acroiss the board
2024-02-04 00:08:54 -06:00
Areloch da06fc1d96 * Fixes description for a few Scene methods
* Adds method to Scene to delete dynamic objects in the scene
* Add getNodeTransform to ShapeBase
* Add sanity check to AFX ea_update function to avoid divide by zero
* Adds ability to set color mul on GuiBitmapBorderCtrl like bitmapCtrl
* MatrixF utilty functions/operators
* Add ability to ignore an object in the containerBoxEmpty method call
* Adds some better initialization/sanity handling for resetWorldBox and resetRenderWorldBox for SceneObject
2024-02-03 23:42:26 -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 7c5490e841 when pasting, ensure you add a unique name
object names are namespaces, so they cannot match or it confuses the lookup tables
2024-01-29 13:06:02 -06:00
Brian Roberts d3babcdbda
Merge pull request #1177 from Areloch/SearchFilterPopupCtrl
Search filter popup ctrl
2024-01-09 11:28:08 -06:00
Areloch 192862ba6d Cleans up removal/deletion logic 2024-01-09 04:00:51 -06:00
Areloch 829cc2b24a Adjusts some of the loading logic, for guiBitmapCtrl mostly, to not try and load ALL image content upfront during client init, improving load times 2024-01-07 23:09:41 -06:00
Brian Roberts cf7e9f7a00
Merge pull request #1172 from Areloch/BaseUIUpdate_Wipwork
BaseUI Update
2024-01-05 14:30:00 -06:00
Areloch 67ac556ecd - Added ability to explicitly execute a guiControl's console and altConsole command
- Fixed formatting of resolution strings for the internal values, allowing them to be properly parsed and applied by the options menu/canvas
- Fixed display of Display Device on option's menu
- Fixed Issue of it not displaying any keybinds in keyboard/gamepad options if there's only a single actionmap
- Added 'hold to scroll' action to optionsMenu
- Added apply button to options menu
- Added remap button to options menu when on keyboard/gamepad keybinds categories
- Fixed up the remap logic so remapping a key only unbinds the matched device being bound, so binds for different devices are untouched
- Made keybinds options properly refresh when keybinds are changed
- Shifted keyboard "go" keybind for menu nav from Enter to Space for easier use
- Removed stick keybinds from gamepad
2023-12-31 12:46:48 -06:00
AzaezelX 905139f500 make const RectI GuiWindowCtrl::getClientRect() respect ResizeMargin for sub elements 2023-12-29 12:55:28 -06:00
AzaezelX ea63a7448e expose guiwindowctrl resize margin to script
also up the default to 5 pixels
2023-12-29 12:15:30 -06: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 4f399eb87f Expanded functionality of the guiPopupCtrlEx to support search filtering 2023-12-25 17:00:51 -06:00
AzaezelX 4ed617f7df fix type list popup display 2023-12-20 18:51:12 -06:00
Areloch ce4c8dabc9 Ongoing wipwork of the BaseUI update. Some bugfixes pending 2023-12-16 23:18:33 -06:00
Areloch 616d974212 Wipwork for updating the BaseUI
Adds ability to select an actionmap for a GuiInputCtrl which will push it onto the stack, so menus can enact an action map
Update of the MainMenuGUI to fit new style and have the logic needed for KBM and gamepad navigation
Very early wipwork of OptionsMenu overhaul for new standard
2023-12-06 19:50:51 -06:00
AzaezelX 113b3324a8 filter out component inspector button callbacks
specifically targets the undo manager via avoiding onInspectorFieldModified et al tripping on clicks
2023-11-27 19:45:15 -06:00
Areloch 59247bd9ca Moves the world Editor guis to be based through a tabbed structure to make it easier to begin separating out editor/tool guis into their own tabs or elements for better separation.
Currently establishes the MainScene tab and otherwise retains existing behavior directly
2023-11-14 18:58:58 -06:00
AzaezelX 7a9715654d fix bitmap button state display 2023-11-12 19:49:45 -06:00
James Urquhart 97d7d2e992 Alternate fix for castRay issue 2023-11-04 22:06:13 +00: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 c2d1e9d654 Expands functionality of MenuBuilder to act as primary API for building out menus
Shifts "Help" menubar entry in world editor to use new API structure as example/test
Removes extraneous 'MainEditor'
Adds EditorCore module
Moved Menubuilder to EditorCore module
Fixes Help Menu editor settings so they properly point at modern documentation and forum URLs
Fixes handling of MenuBar so when inserting new items, ensures the menubar refreshes as would be expected
Adds remove function to menubar to remove a menu
Removes old commented console methods from menubar file
Adds checks for onMouseDown and onMouseUp for PopupMenu so items that are submenus aren't clickable like normal items
2023-10-22 00:47:29 -05:00
AzaezelX b710a309bd asset load flow work
add reloading state to asset tracking,
convert most asset.isnull() checks on over to skipping out unless the errcode is ::Ok, or ::UsingFallback
add more errstriongcodes to hook up
skip load<type> execution if the asset loaded state is ::Ok
2023-10-08 13:19:43 -05:00
Lukas Aldershaab 89b0c7f73b Console Refactor 2023-09-13 10:33:20 +02:00
Brian Roberts 436cc91512
Merge pull request #1080 from Azaezel/alpha41/rangeUnRage
expand editor range fidelity to 7digits, and min/max to 10^32, not 10^3
2023-09-06 10:30:33 -05:00
AzaezelX e54c9428f0 expand editor range fidelity to 7digits, and min/max to 10^32, not 10^3 2023-09-05 11:04:39 -05: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
marauder2k7 f127b084ce Add 2d value types
- TypePoint2F and TypePoint2I now display as multi dimensional
2023-07-04 07:15:03 +01:00
marauder2k7 22f8e46288 Copy and Paste
Copy and paste buttons added for multi dimensional fields
No longer name conflict errors coming up.
2023-07-03 20:59:16 +01:00
marauder2k7 a4e2bfe34e Commit before cleanup
-TypeRotationMatrix working as designed
no more funny business on focus.
2023-06-11 22:37:08 +01:00
marauder2k7 cbe2bd4c7b Conversions
Commit from Azaezel to fix the naming of inspector fields.
TypeMatrixField still messes around on first responder, we know these functions convert angAxis to eul properly and from eul to angAxis but when the data comes to TypeMatrix it changes.... weird issue is weird.
2023-06-11 21:59:03 +01:00
marauder2k7 92920dbcd9 Change to GuiTextEditSliderCtrl
Change dimension elements to a guiTextEditSliderCtrl
add a button to copy all elements of the multi dimension class to the platform clipboard
2023-06-10 21:30:58 +01:00
marauder2k7 0a7550eeba Update guiInspectorTypes.cpp 2023-06-10 18:15:03 +01:00
marauder2k7 e6dbe0a860 Add multi dimensional entries to inspector
-Added 3 new classes
GuiInspectorType2DValue - 2 dimensional value
GuiInspectorType3DValue - 3 dimensional value
GuiInspectorType4DValue - 4 dimensional value

Added GuiInspectorTypePoint3F for 3 dimensional positions.
Added GuiInspectorTypeMatrixRotation for object rotation. Translates rotation to degrees atm. Input from this is not accounted for just yet.
2023-06-10 16:50:59 +01:00
Brian Roberts 06e4ce01a9
Merge pull request #1024 from Azaezel/alpha41/TypeHints
add TypeHints for scenetree viewing
2023-06-02 10:46:33 -05:00
AzaezelX b1f118898e add TypeHints for inspector viewing
typehints operate as an additional label for a given class in the inspector, allowing one to specify what class-entry to use as a tag
examples: Prefab displays prefab filename
TSStatic displays the used shape asset name
SFXEmitter displays the played sound asset
GameBase derivatives display the datablock used
2023-05-23 12:35:07 -05:00
XXTH a81c6ebd06 clean up 2023-05-12 11:42:06 +02:00
XXTH e0ab3830af bsd ready 2023-05-10 14:58:47 +02:00
Brian Roberts a6f03897ed
Merge pull request #1016 from Azaezel/alpha41/mangledMath
clean up math varsize complaints
2023-05-08 21:28:49 -05:00
Brian Roberts 3538da30d0
Merge pull request #1014 from Azaezel/alpha41/EnumErrata
add safeties for enum math across define boundaries
2023-05-03 13:38:23 -05:00
AzaezelX 0d4221fa59 uninitialized and unused value cleanups
(cherry picked from commit 1f08602cf0ad84409cd8b3520510f9c6ce7d5f9c)
2023-05-01 10:40:02 -05:00
AzaezelX 0ce2da3a23 clean up math varsize complaints 2023-04-27 16:10:04 -05:00
AzaezelX aa02e48c8d add safeties for enum math across define boundaries 2023-04-26 22:27:35 -05:00
bank 93cea86312
Fix buffer overflow in GuiTreeViewCtrl class.
When calculating test length (in method `GuiTreeViewCtrl::Item::getDisplayTextLength()`)
the code doesn't take into account the `ItemState::Marked`, which
adds additional char in `GuiTreeViewCtrl::Item::getDisplayText()` method.

This commit fixes warning printed into console when calling `dSprintf()`
as the buffer is now enough to fit all data.
2023-04-24 13:41:19 +03:00
AtomicWalrus 75625dc679 Reverse depth & 32F buffer format
-Adds reversed depth projection model, dramatically increasing depth buffer effective resolution.
-Adds 32F depth 8U stencil format GFXFormatD32FS8X24 (following DX naming conventions). Note this is a 64-bit format, and likely not suitable for mobile platforms. Revert to GFXFormatD24S8 in renderManager.tscript for mobile & "ancient" platforms.
-Corrects alignment of texture type details array.
2023-04-14 20:13:28 -06:00
Areloch b4f62a8005 Adds console methods to GuiInspectorField to ensure we can set the special edit variable name, type and callbacks for proper editor integration of script-managed types.
Adds default value for mVariableType to prevent bad data causing a crash.
2023-03-25 13:56:30 -05:00
Areloch a62024a677 Fixes the handling for special edit fields in the inspector to properly hook into the field's docs display 2023-03-21 19:48:25 -05:00
Areloch 2f40b843d4 Adds expanded ability to create and insert specialized script-based inspector fields
Adds logic during the editor script initialization to let game modules have embedded tools
Changed setting to force prompt for target modules when creating things like datablocks to minimize confusion about where they save to
2023-03-18 02:22:47 -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
Areloch 14d099ce37 Corrects logic handling the TypeString for the onInspect dynamic field behavior. 2023-03-08 13:01:52 -06:00
Brian Roberts 9eab4559fd
Merge pull request #984 from Azaezel/alpha41/safeArray
check whether or not mBitmapArrayRects.empty(). not simply if size()
2023-03-07 16:07:24 -06:00
Brian Roberts b257ac3d1e
Merge pull request #979 from mjunix/small-fixes
Small fixes
2023-03-06 19:31:07 -06: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
Brian Roberts f1d42d3867
Merge pull request #983 from Areloch/GuiPanelDeGradient
Removes the unnecessary gradient effect from GuiPanel when rendered.
2023-03-04 21:32:49 -06:00
Areloch 197aa9f887 Removes the unnecessary gradient effect from GuiPanel when rendered. Now uses just the fill color like most all other gui controls 2023-03-04 21:26:55 -06:00
Brian Roberts 59ed9ee7b6
Merge pull request #982 from Areloch/OnInspectEditorLogic
Adds logic and handling for Inspected SimObjects to be able to injectnew InspectorGroups and InspectorFields when being inspected for editing.
2023-03-04 20:07:25 -06:00
Areloch 3991019912 Adds logic and handling for Inspected SimObjects to be able to inject new InspectorGroups and InspectorFields when being inspected for editing.
Allows for expanded editing capabilities of existing classes without needing to add static fields to classes
2023-03-04 19:04:44 -06:00
Johan Mattsson 7519f18035
Check correct variable 2023-03-04 21:48:42 +01:00
Brian Roberts 36771d9f0b
Merge pull request #959 from Azaezel/alpha41/guiiconBorderfix
fix GuiIconButtonCtrl not taking borderThickness entires
2023-02-15 14:37:43 -06:00
AzaezelX 4543aaec26 audio gui control
a gui element that plays a sound on loop, with minor configuration options and a logcal block for conditional plug in
2023-02-14 18:54:25 -06:00
AzaezelX 76a7b024e8 fix GuiIconButtonCtrl not taking borderThickness entires 2023-02-14 17:32:31 -06:00
Areloch 5599721a1e Adds logic so the canvas keeps track of the last input device 2023-02-09 18:54:36 -06:00
AzaezelX 1b33b01eb1 add "docsURL" filter to assignFieldsFrom to prevent it from triggering opening web pages when inheriting values 2023-01-28 16:12:05 -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
Areloch f2585fea4d Fixes handling of click/activation events on keybind options ctrls so clicking on it at all activates it, instead of needing to click on the button image specifically
Adjust the scaling of the options rows to be a consistent 50/50 divide between the options name and the actual options values to make the layout and scaling consistent
Fixes key remapping behavior to work properly
Added SubHeader text gui profile that is centered
Made the remapping gui control be stylistically consistent to messageboxes
2022-12-16 00:35:16 -06:00
Areloch 6162c5da05 Updates the behavior and layout of the ImageAsset, MaterialAsset and ShapeAsset inspector field types to be clearer, with previews and obvious edit buttons
Also fixes drag-n-drop behavior from the AB into the image and shape fields to ensure they update as expected.
2022-12-08 20:00:55 -06:00
Jeff Hutchinson 1940becb2d Compilation fixes for C++20 2022-11-28 21:39:06 -05:00
Areloch fb5ad738e0
Merge branch 'development' into MiscFixes20220829 2022-08-30 01:31:42 -05:00
Areloch cd82186231 Fixes setter issue for image/shape/material custom inspector fields where it was not correctly passing through the changed value from the Asset Browser select
Swapped the water's disableTrueReflections variable to be enableTrueReflections for simplicity and consistency(also fixed a persistent typo)
Swapped disableVerticalSync to be enableVerticalSync for simplicity and consistency
Swapped disableParallaxMapping to be enableParallaxMapping for simplicity and consistency
Fix click detection on slider mode entries for guiGameSettingsCtrl so the click position correctly matches the percentage
Fixed problem where postFX initialization would always exec default.postfxpreset.tscript, even if a level's got it's own preset, which can cause problems
Fixed range field type behavior so that editing the values applies in real time, and also consistently applies between slider and text field
2022-08-30 01:29:39 -05:00
AzaezelX 65275a8a35 leftover profile reference flaw 2022-08-29 21:18:20 -05:00
AzaezelX b79b1ae65e remove leftover 2022-08-29 20:39:04 -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
Areloch ded99cd8cb * Fixes handling for Image, Material and Shape Assets' inspector fields so they properly work with non-object targeted inspectors, such as the PostFXEditor
* Updated PostFXEditor scripts to handle refreshing properly when certainl field types(assetId fields) are changed
* Adjusted display handling of slider values on guiGameSettingsCtrl to show 0.x decimal format instead of 0.xxxxx
* Fixed pad length of item names in guiTreeView for items that are marked to avoid console spam
* Fixed local offseting for popupMenus so scaled/offset window position doesn't cause the popup menu to offset from mouse click position(courtesy OTHG_Mars)
* Fix issue with terrain where, due to default value save validation, the global scope for the terrain collision list would be whiped when saving, causing players to fall through terrain. Moved to per-terrain convexLists
* Fixed issue with the core camera model mesh and updated references so camera bookmarks display properly
* Fixed console spam during asset browser initialization where it would try and expand the directory tree even though the dir tree isn't populated yet
* Fixed handling of Open File Location RMB menu action to properly deal with script and datablock types
* Removed unusuable "Create ___" asset type prompts from the RMB menus for the AB to avoid confusion
* Improved slider offset positioning for various popup sliders on editor toolbars
* Anchored the visibility popup menu to the button for more consistent formatting and better feel
* Shifted various visibility toggles from 'in place' on the menu buttons to functions, allowing it to also properly mark the menu entries as checked or not, improving usability
2022-08-26 15:25:17 -05:00
Areloch dbf60a95a2 Adds handling to winVolume's _BuildFileName so if it's a filename-less filename(has only extension but no name) then we process the filename string correctly
Adds logic so when trying to do a path copy, if it's not a valid source filename, we merely fail the copy, rather than crashing due to a nullref
Makes guiPopUpCtrlEx respect the mActive flag so the mouse cannot interact with it if it's inactive
2022-07-24 13:12:46 -05:00
Brian Roberts 41f5350173
Merge pull request #815 from Azaezel/alpha40/TORQUE_TOOLS
fix TORQUE_TOOLS = off compilation
2022-06-16 21:23:38 -05:00
AzaezelX 4a7104e5ea fix TORQUE_TOOLS = off compilation 2022-06-13 12:38:08 -05:00
JeffR 7cdace8da3 Fixes bounds scaling issue making the object box in the editor be double the convex's size
Fixes loading of modified surfaceTextures by properly inserting into stringtable
Fixes display of the active and default material previews in the ConvexShape editor
Adds buttons to hollow and recenter selected convex to tool window
2022-06-12 04:27:32 -05: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
dottools 01a3163d40 Engine GUI: Don't translate mouse coordinates in GuiCanvas::setCursorPos()
Removed translating passed mouse pointer coordinates from client to screen space. Source comments and exposed canvas script API help doc line for the same function states that passed mouse pointer coordinates are supposed to already be in screen space.
2022-05-30 16:09:48 -05:00
Robert MacGregor 3f944874f3 * BugFix: Correct MacOS not responding to Command+C, Command+X, Command+A and Command+V by removing a hack in guiTextEditCtrl and shifting the logic to sdlWindow. 2022-05-25 21:46:12 -04:00
JeffR 52368a0428 Fixes issue where creating a new ForestItem wouldn't have it show in the ForestItemData dropdown on brushes until you restart. 2022-05-24 02:10:06 -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 976c0bca79 Fixed uninitialized values for renderMeshExample and renderShapeExample which would cause a crash on creation
Added utility method to prefab to be able to get the internal simGroup that contains it's children
Adjusted logic for mounting items in GuiShapeEdPreview to utilize assetIds for the shapes
Moved the Asset and AssetBrowser editor settings populate functions to the AssetBrowser script to better organize things
Fixed command usage for General, Player and Observer spawn point creator entries to use the correct callback commands
Fixed logic for creator callback commands that don't just route through the class name based structure
Added RMB context menu actions for opening asset file or folder locations in OS file explorer
Fixed lookup of animation assets when editing a shape's animations in the shape editor so it provides the assetId of the anim if it exists
Fixes handling of mounting in the shape editor so it utilizes assets and the asset browser like everything else
2022-04-06 01:08:20 -05:00
JeffR d044ae0702 Removed unneeded default irradiance and prefilter cubemaps, and their convars
Added getGUIPath console function to guiAsset
Corrected console function documentation for getScriptPath in MaterialAsset
Added getter console functions to PostEffectAsset
Added getAnimationPath console function to PostEffectAsset
Fixes handling of mapto with the reskin usage when generating preview renders for ShapeAssets
Standardizes getShapeFile to getShapePath on ShapeAsset to better match formatting of other getters on assets
Adds sanity checking for getStringWidth to prevent crash if there's an issue with the font being ready at time of request(from Az)
Earlies out on rendering of impostors if it's the deferred bin to prevent unneeded duplicate rendering messing up results(from Az)
Fixed duplicate naming of quality levels on LightingQualityList
Added check so if _makePrettyResString is handed a 'human formatted' resolution string(as in, has <width> x <height> it can handle that properly
Shifted yes/no and on/off option lists to globals for ease and consistency of handling on options menu
Improves check for unapplied graphics options on options menu and applies them all at once
Add sanitizing of variable names so getVariable doesn't have issues when looking up array variables in optionsMenu logic
Adds better tracking of what options menu category is shown so refreshes don't reset it
Add better handling for changing resolution in options menu and getting it to apply properly
Adds better utility functions for setting bools vs optionsLists vs quality lists and updates options fields to use the most appropriate
Removes redundant setting of $pref::SFX::channelVolume vars in defaults.tscript
Removed unneeded extra logging from asset browser drag-n-drop actions
Adds item to RMB context menu in AB to regenerate preview images
Fixes move command for asset types(needed to properly reference the full path of the associated files) and added it for shapes, animations and terrains
Added logic so when the dropdown for selecting a target module on the Create New Asset window is changed, it forcefully updates the target path to point to the module to avoid erroneous paths being provided
Adds proper clamping of values to Forest Editor's brush size in the editor bar. Could be set to below 1 even though it would visually clamp to 1.
Temporarily disables fields and handling of 'open in Torsion'.
Fixes bad pixel in gui/images/tab_border.png which was causing it to fail to generate bitmap array properly
Makes the New GUI option from menubar in GUI Editor use same Create New Asset method as everything else
Disables access to the CubemapDesc reflector field in the material editor as it's not nominally used now in favor of probes
Adds proper loading of roughness and metalness fields in material editor
Fixes the default ReflectProbePreviewMat to use a better base DiffuseMap (No Material) rather than the occluder
Fixes disable display for some options in the advanced panel in the shape editor so they look more fitting to everything else
Adds check to avoid spam of markItem errors in the event requested tree item is invalid
Fixed remove material button and command in TerrainMaterial Editor
2022-04-03 20:00:30 -05:00
Brian Roberts c64671ff91
Merge pull request #753 from Areloch/miscFixes20220327
Misc Fixes for 2022/03/27
2022-03-27 04:36:49 -05:00
JeffR dff83182e2 Added sanity check to ensure that the requested file to be scaled via saveScaledImage actually exists
Shifts integration of other modules with the OptionsMenu so other modules can inject their own options categories to a callOnModules hook
Updated ExampleModule to use new options menu integration angle to show example option
Deleted unneeded dropdown_textEdit_image asset def from baseUI
Fixed incorrect internal values for the terrainIcon_image asset def that made it present as a redundant terrain material asset
Cleaned up old, bad loadFilters calls and replaced them with the proper refresh() calls.
Removed old, bad calls for jumping through the asset browser's tree from when it was still hardcoded organization, which cuts down a lot of error spam
Cleaned up some of the asset type's preview image assignment code to be more reliable
Made terrain materials now use a similar preview proxy shape as regular materials
Fixed erroneous duplicate GuiInspectorTypeShapeAssetPtr::onControlDropped, which was breaking drag-n-drop actions of shapeAssets into inspector fields
Added proper logic for drag-n-drop actions of imageAssets into inspector fields
Add sanity check after creating new asset to avoid redundant attempts at initialization of the new asset
Fixed ConvexShape Editor tooling so you can now use the UI to apply the selected material to the selected surface
Added tools menu to the menubar with the Project Importer entry so the PI can be launched from either tool
Implemented ability to drag-n-drop imageAssets onto MaterialEditor map fields and have it work
Implemented ability to drag-n-drop imageAssets onto TerrainMaterial Editor map fields and have it work
Made the TerrainMaterial editor dialogue have a non-modal background so you can interact with the editor as normal while it's up
Add sanity check to avoid attempting to mark EditorTree items if we couldn't find it's id
renamed BaseMap references in terrain material editor to diffuseMap for consistency
2022-03-27 03:05:48 -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 938e4930ae Git didn't properly actually commit new files. 2022-02-22 23:28:28 -06: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