Commit graph

53 commits

Author SHA1 Message Date
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
Areloch 2a390e98e9 Fixes the issue of changing audio settings causing the SFX re-init'ing to fail 2023-09-10 18:47:27 -05:00
Areloch 37c85bb7ee From Nils' UI work
- Updates various images in core and UI to be more standardized to the default theme
- Updates some spacing, sizing and coloration of gui controls and profiles
2023-09-05 00:05:32 -05:00
AzaezelX 5e6a95866a localization utiity methods
to better adress https://github.com/TorqueGameEngines/Torque3D/issues/1036
2023-06-22 17:52:32 -05:00
AtomicWalrus 732d76d17c Key rebinding script fixes
Fixes two issues:
-Bindings after the first page were not pointing to the correct remapping entries when actually remapping. Were populating the name and button image correctly, but first item on every page pointed to first item on first page.
-Keybinds were never being saved to file if your action maps all had long-form ("human readable") names defined.
2023-02-25 03:14:30 -07: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 44c894d335 Adds utility function to clean up and standardize the remapping handling for keybinds
Adds sanity check so if no remappable binds are found for an actionMap, it isn't listed in the controls menu
Updates ExampleModule's keybinds to use new utility function
2022-12-06 00:16:13 -06:00
Areloch 48680558c7 Fixes the movemap toggle in the options menu 2022-12-03 00:57:03 -06:00
AzaezelX 208e375336 parseArgs() followup
links functionality up for the -guieditor and -worldeditor cli/shortcut options
2022-10-25 00:02:51 -05:00
OTHGMars 582751ae42 Resolution change detection.
Makes sure that automatic resolution changes resulting from canvas mode switches are applied.
2022-09-29 03:39:03 -04:00
Areloch 5e9d7d63a1 Adjusts handling for httpObject class so that if curl flag is off, files are not included and references are disabled to avoid compilation issues
Adds SMAA anti aliasing
Adjusts AA option setting to properly work and facilitate SMAA
Added defaults for AA to facilitate SMAA
Updated brightness and HDR values on Example Level to comply more closely to the Editor default to give better default results
Fixed issue where ShapeEditor wasn't initialized properly when we'd open it from the Asset Browser
2022-09-16 16:16:12 -05:00
Areloch 628532d006 Temp disables fullscreen on Windows platform due to various system behavioral issues with it
Integrates the HDR's bloom toggle into the Shader Quality setting
2022-09-03 14:40:10 -05:00
AzaezelX ed200ce1ef from @oth_mars - fix borderless value lookup 2022-08-31 17:12:34 -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 4590e14a13 Merge branch 'GuiProfileSoundAssets' of https://github.com/marauder2k9-torque/Torque3D into alpha401/resolveAudioConflict
# Conflicts:
#	Templates/BaseGame/game/data/UI/UI.tscript
#	Templates/BaseGame/game/data/UI/sounds/buttonClick.asset.taml
#	Templates/BaseGame/game/data/UI/sounds/buttonHover.asset.taml
2022-08-29 17:47:07 -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
AzaezelX 53b0f0530c soundasset sourcegroup fallback
ensure if there's no assigned sourcegroup, we at least point at "AudioChannelMaster" so overall sound volume can have it's say
turn on button hover and click profiles by unremming the file
assign hoverasset and buttonclick assets to audioChannelGUI
todo: sort volume hooks for non-AudioChannelMaster
long term: resolve the requirement that gui profiles need direct sound profiles instead of the capacity to take assets
2022-08-29 16:36:17 -05:00
Brian Roberts e8037a1c7b
Merge pull request #855 from Areloch/OptionsIssuesFix
Fixes behavior of various options menu settings to work as expected
2022-08-17 08:29:48 -05:00
Areloch ee1e07e757 Fixes behavior of various options menu settings to work as expected 2022-08-16 23:25:01 -05:00
Brian Roberts 3006265175
Merge pull request #849 from Azaezel/alpha401/mainMenuAugs
tool trickerey
2022-08-15 22:43:03 -05:00
Areloch 7bd09dcd7c Fixes ordering of controls on PauseMenu gui so the input handler doesn't eat mouse inputs 2022-08-15 19:23:40 -05:00
AzaezelX 8f1b98a4d6 tool trickerey
label the editor buttons with thier respective hotkeys, and hide them if the ToolsModule doesn't exist
2022-08-15 19:09:25 -05:00
JeffR 6d2bfa0368 Adds animations for Playerbot
Fixes PauseMenu navigation behavior and confirms the menu buttons and page nav to standard
Fixes PauseMenu and OptionMenu menu buttons that were not being set correctly on wake
Fixes logic in the shape editor where it wouldn't add new sequences if you were working off a non-assetId sequence in the sequence list(such as ambient)
2022-06-21 00:25:03 -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
JeffR f4ca9c5202 Adds sanity check on UINavigation to avoid crashes if there are no pages in the stack.
Removes button to fill import terrain images temporarily to contend with limitations in asset creation workflow
Adds sanity check to saving terrain material that obligates setting of diffuse and detail maps so everything displays and blends properly
2022-06-05 15:35:20 -05:00
JeffR 1acf4b2dae Adjusts engine cleanup ordering on shaderFeatureMgr to avoid periodic crashes on Mac ARM machines
Adds missing disconnect/timeout handling callbacks to the clientServer core module
Adds page refresh function to UINavigation to be able to selectively nudge the current page to refresh its contents if needbe
2022-06-05 01:21:38 -05:00
JeffR c7763fe3ec Added cleanup of exec stack for module when it's finished to avoid duplicate executions
Added proper container bracketing for the main menu buttons and made that the main navigation target
Added logic to UINav to prevent needlessly re-setting the root page if it already is the root page, which would break the navigation stack
Added logic to UINav toprevent needlessly adding duplicate pages whicn would break the navigation stack
Added logic to close the chooseLevelDlg page when the level is loaded to avoid the page being left hanging on the nav stack
Fixed assetId for no preview image fallback on the chooseLevelDlg page
Fixed display of icons in the shape editor shape helper section
Fixed name lookup on terrain material editor dialogue which would break saving of terrain materials
Disables TORQUE_SFX_DirectX which is currently not in use and nonfunctional
2022-06-02 20:17:23 -05:00
dottools 8267c13696 BaseGame Template: Fix script assert on canceling game options changes 2022-05-30 15:54:32 -05:00
Brian Roberts 516163fd5d
Merge pull request #781 from Areloch/MiscFixes20220510
Misc Fixes for 2022/05/10
2022-05-11 01:15:07 -05:00
JeffR 8aed00ec4d Fixed graphical level values to set defaultAnisotropy instead of vsync
Forced update of cursor position when using keyboard/mouse on options menu when changing an option to re-establish focus after refresh
Updated missed bitmap field on GuiPopupMenuItemBorder to use assetId
Made folders display before other preview entries in the AB for ease of navigation
Fixed issue where when re-opening the AB the path would reset, especially with select mode
Fixed issue when generating previews for materials, terrain materials and shapes where the very first time the preview generated it wouldn't map correctly
Cleaned up some old commented code blocks
Added text to the Open menubar entry in the GUIEditor to indicate it opens files specifically to add clarity
2022-05-11 00:58:14 -05:00
JeffR 5f871763fb Adds creator callback integration to pair with the base UI module having shortcut creator entries in the GUIEditor for creating stuff like the UINavigation containers, or MenuList controls with the namespace hooks already established. 2022-05-09 20:57:42 -05:00
JeffR 07b3e2789e Adds proper documentation and explains some of the navigation/menu usage behavior via the BaseUI example menus 2022-05-09 16:17:22 -05:00
JeffR 41add628ad Implements a more standardized way to format usual UI pages by having the ability to utilize the UINavigation namespace for page stack navigation
Also fixes behavior handling of menu input buttons not refreshing reliably
Adds ability to define a control on a MenuList to act as a highlighter over the currently selected control
Cleaned up BaseUI pages to use UINavigation which reduced a lot of duplication of elements and code
2022-05-06 23:39:16 -05:00
JeffR 70a70dfc10 Fixes issue with some of the On/Off options not properly toggling in the OptionsMenu
Adds staged loading/generation of preview images for image, shape, material and terrain material types to improve navigation responsiveness
Disabled lookup of bitmap info of image assets for tooltip metadata as it was causing major hangs when the images were high resolution
Added function so Import new File button on AB interface will correctly prompt to find and then import in a new file
Fixed theming of AssetBrowser preview card profiles to improve readability
Fixed theming of ToolsGuiTextListProfile to improve readability
Fixed issue where trying to import in a splat map for importing terrain data could fail due to not having full path when trying to load the bitmap's channel data
Corrected Import Terrain Heightmap item in menubar to prompt creation of a new terrain asset in addition to opening the import terraindata window to avoid missed steps foc creation
2022-04-23 16:07:36 -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 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
JeffR f204a4c646 Fixes issue where nested callOnModules would thrash the queued exec lists from other invokes
Also removes unwanted reference ids from the OptionsMenu gui object and disabled the ability for dynamic fields to be saved on it to prevent it from happening again.
2022-03-27 14:09:41 -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 9b4acda7bd Missed clearing the options categories in options menu onWake 2022-02-23 00:29:00 -06:00
JeffR 725e2b1575 Typo'd assetId correction 2022-02-22 23:39:52 -06:00
JeffR 938e4930ae Git didn't properly actually commit new files. 2022-02-22 23:28:28 -06:00
JeffR 01de818503 Ran importer on UI module to ensure guis and images are converted to latest standards
Updated all UI module controls to utilize a more standard structure with stack controls instead of the GameMenu ctrls, as well as more standardization of gamepad input handling
2022-02-22 20:12:39 -06:00
JeffR 40acf75238 Template changes 2022-02-17 18:21:13 -06:00
Areloch adec6e7c74 Adds load status to MaterialAsset for if the Script file itself has been loaded, but the material itself hasn't yet been processed.
Fixed String -> StringTableEntry conversion in prefab file to correct corruption when setting the filename
Cleaned up message spam from the MaterialSlot fields on TSStatics
Added getter/setters for terrain file and assets
Removed unneeded exec of tools profiles for MainMenuGUI
Add logic to remove creators section of AB if in select mode
Fixed misc. messageBox invokes that were erroneously converted to 'toolsMessageBox'
Fix classname for NotesObject in AB Creator Entry
Fix issue where ConvexShapeEditor toolbar would hide after being seen once
Changed keybind for quick AB access from 'space' to 'shift space' to avoid input issues when typing in fields in some cases
Fixed default image assignments for River objects on foam/ripple/depth
Added handling for Material, Sound and Shape asset fields in Object Builder, and updated various objectBuilder class entries to utilize them now.
Updated various fields' defaults for ObjectBuilder to utilize correct assetId's
Fixed editor SceneTree tooltips for TSShape and GroundCovert to correctly reference assets as needed
Added logic to properly check terrain asset validity when prompting to save changes, which would break saving actions before
Added menubar items in the Object category to take control and release control of control objects quickly for testing
2021-09-19 01:01:47 -05:00
Jeff Hutchinson 41bd5ef6b6 remove FMODex from Torque3D
The current version of FMod in Torque3D uses the legacy ex plugin, which hasn't been around for a long time.
2021-09-11 16:29:32 -04:00
Areloch 6487e2eede
Merge pull request #495 from JeffProgrammer/tsneo
TorqueScript Interpreter 2.0
2021-09-09 19:22:15 -05:00