Commit graph

218 commits

Author SHA1 Message Date
AzaezelX 5cf54580e6 Generic Damagemodel
included in root/data/ as a module so theres a generic folks can riff off of
additionally, includes a physcs based damage option inspector exposed augment for velicity based collisions, as well as utilities for applying damage to the object a given thing is mounted to
further. also fixes a lack of vehicles being able to use thier mvTriggerCount4 and 5 for the additional 2 mountpoints allowed
2025-04-06 16:09:14 -05:00
AzaezelX 5f1eec0e00 expand playgui callbacks to also allow game modes to inject element layers 2025-02-27 14:41:21 -06:00
AzaezelX 3797038664 Don't report keybinds unless asked
Do report where you're saving prefs
2025-01-30 17:29:31 -06:00
JeffR c5ae9af0ae Core now spawns a ControlObject directly, with callbacks allowing overriding of values to control what spawns (and what occurs afterwards) to tie several tracking variables to a given client connection.
By default this list of variables would be:
%this.spawnClass = "Camera";
%this.spawnDBType = "CameraData";
%this.spawnDataBlock = "Observer";
%this.playerSpawnGroups = "PlayerSpawnPoints PlayerDropPoints";
%this.spawnPoint = "";
%this.spawnLocation = "0 0 0";

Also adds several callbacks so that these values can be overridden by modules and gamemodes, kicked off from the %client.spawnControlObject(); command :
callOnModules("setSpawnObjectType", "Game", %this);
callGamemodeFunction("setSpawnObjectType", %this);

callOnModules("setSpawnPoint", "Game", %this);
callGamemodeFunction("setSpawnPoint", %this);

callOnModules("onPostSpawn", "Game", %this);
callGamemodeFunction("onPostSpawn", %this);

This is to ensure that a game mode can supersede modules, but even modules can dictate spawn behaviors for minimalist implementations and drop-in interop support
2024-12-21 02:11:35 -06:00
JeffR bf9692a451 Updates DecalRoad, MeshRoad and River to be able to write out via persistManager using specialityField functions, similar to ConvexShape
Fixes behavior with gamemode selection in ChooseLevelMenu so if there is only one gamemode, it is auto-selected and advances to the level selection
Update ExampleLevel in ExampleModule to have updated gamemodes field name
2024-12-15 23:48:16 -06:00
JeffR 020bd03cf9 Adds logic so levels without a gamemode defined at all are treated as wildcarded to any given gamemode selected 2024-10-04 00:22:12 -05:00
JeffR e4d07c7e8d Adds utility function and method to be able to enact a load of subscenes at a specific world position
Adds loadIf conditional logic to evaluate if a subscene is 'allowed' to load when tested
Adds isAlwaysActive to GameMode to be able to flag a gamemode as being defaulted to on and used automatically
Updated GetGameModesList function to return an arrayObject of the gamemodes found
Overhauled CallGameModeFunction to utilize the gamemodes list with active/alwaysActive modes being called against, rather than level-scanning
Updated ChooseLevelMenu to be able to toggle on/off multiple gamemodes with an image indicator if it's active or not
2024-10-04 00:10:26 -05:00
Areloch 4bb26bf96c Reorganized the exec's for datablocks in module template file to be within the start/stop blocks
Tweaked example module script file to comply
Moved ExampleGameMode script file to scripts/shared since client and server need access to the gamemode for logic to work
2024-09-01 23:26:10 -05:00
Areloch d7335a73e4 Removed dummy placeholder function stub 2024-09-01 17:59:24 -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
Areloch 8ce6fb96ad Ensures there's a regular fallback actionmap for toggling the game menu 2024-07-24 10:48:55 -05:00
Areloch c9a1955b47 Removes old remaining refs to PauseMenu
Updates and moves the escape keybind to be an actionMap that is activated/deactivated in the UI module when a client connection is processed to keep it within the module's functionality
2024-06-28 20:47:42 -05:00
AzaezelX fdbc55b733 fix arrowPrimative badfilereference 2024-04-13 16:28:56 -05:00
Areloch b1f71bab74 Adds handling for the keyboard remap page of the options menu to be able to present a bind with a modifier key 2024-03-19 23:05:03 -05:00
marauder2k7 6355da5df6 various fixes
STB probably shouldn't fail on failed info, just continue.
Assimp only add sequences if there are any.
Update kork chan asset.
2024-03-01 15:01:47 +00:00
marauder2k7 7fb14e17b5 Create jelly-fish.ies 2024-02-21 10:16:07 +00:00
marauder2k7 973d2792ed Delete A23D-Pathway-&-Accent-Light.ies 2024-02-21 10:15:44 +00:00
marauder2k7 3b4a15d7aa Some test ies profiles
IES profiles to my knowledge are not only free to download, but also free to distribute. you can get packs with thousands of these, i am uploading 3 test ones for now.
2024-02-21 10:14:29 +00:00
Brian Roberts 1ee85334b0
Merge pull request #1197 from Areloch/UpdateBaseUILoadingScreen
Updates the loadingGUI to utilize the same panels for the background coloration that the other new menus use, rather than a bitmap.
2024-02-04 00:12:01 -06:00
Areloch 1bdaef9f82 * Ensures the HDRBloom pref is properly set as part of the default settings
* Adds a few input names to the bitmap button lookup for the BaseUI logic
* Properly defaults the current menu index for the GameMenu gui
* Ensures that all editing actions for forest editor flag the editor/map as dirty for saving
* Ensures editor messageBoxes are properly focused on popping up
* Returns the newly created camera bookmark objects from their create functions
2024-02-03 23:15:35 -06:00
Areloch 303a107c29 Updates the loadingGUI to utilize the same panels for the background coloration that the other new menus use, rather than a bitmap. 2024-02-03 18:03:55 -06:00
Brian Roberts cf7e9f7a00
Merge pull request #1172 from Areloch/BaseUIUpdate_Wipwork
BaseUI Update
2024-01-05 14:30:00 -06:00
Areloch 833d17ccfc - Cleaned up elements in ChooseLevelMenu and ensured onscreen button had correct command
- Ensured there's always a level selected by default on the chooseLevelMenu
- Added a small delay to try and ensure the level/server config tab key hints align properly
- Added logic so you can't swap to server config page on chooseLevelMenu if in single player mode
- Added server description to server details line on JoinServerMenu
- Ensured programmatically added elements aren't saved out if GUIs are edited
- Fixed back-out prompt in OptionsMenu properly backs out so it doesn't break menu nav
2024-01-04 20:30:11 -06:00
AzaezelX f4491f8202 typofix. also, repopulate pref GuiTextEditCtrl each onWake just to be sure 2024-01-04 13:10:17 -06:00
AzaezelX e4342079f1 function ChooseLevelMenu::fillPrefEntries( %this ) utility method to set gui elements to prefs 2024-01-04 12:55:07 -06:00
AzaezelX 2fee2902f6 don't automatically set the server password 2024-01-04 12:07:57 -06:00
AzaezelX 5e334eb196 don't save map population elements when editing
track addOption entry/slider/group position in the overall list, and use that found key to hook in the "<" and ">" subelements for selection purposes
2024-01-04 11:54:28 -06:00
Areloch c809dbb4be - Ensures if there is a $pref::server::password set and you're creating a localConnection game, you can connect even if you don't have a client password set
- Changed ChooseLevelMenu layout to have a vertical list for levels with a static preview set, as well as a separate tab for server configs if trying to create a server
- Added field to set password for connecting to passworded servers on the JoinServerMenu
- Added sanity check so you can't try and activate a menuList that has no children(caused error spam)
2024-01-03 23:45:36 -06:00
Areloch 150684a47d - Complied the SystemMenu buttons to the groupNum highlighting implementation as they're simple buttons
- Fixed issue of Query Server on-screen button tripping a join action
- Added playername textEdit field to Join Server menu
- Fixed issue of messageBox on-screen buttons not making the input events properly after adding the make/break check from prior commit
- Added MenuTextEditProfile for editable text fields in menu
- Fixed issue of not getting the correct shift key bitmap if the button name was l/rshift
2024-01-01 14:11:43 -06:00
Areloch e71880b898 - Added a companion global var array for $AudioChannelsName[x] as well as utilizing $AudioChannelCount for keeping better tabs on the active defined audio channels. This allows modules to establish new channels more easily
- Updated the handling of the option slider entries to utilize temp vars and properly complied the audio channel options to the new setup
- Fixed issue where behavior of slider was erratic because of improperly defined tick count
- Added logic to check if audio sliders were changed for the 'check unchanged settings' logic
- Made the keybind remap inputCtrl ignore axis events
- Made the MessageBoxDlg input commands properly check for key makes, to prevent messages boxes from catching key breaks and blowing past follow-up messageboxes accidentally
- Fixed forward/backward iteration of options entries, especially on dpad, and added handling for gamepad stick to do the same
- Added logic so option sliders can also be manipulated by the forward/backward to make it standard for all
- Fixed erroneous marking of "restart required" message as true if any settings change, and not just settings expressly flagged as requiring a restart
2024-01-01 01:42:53 -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
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 36d00e09d3 - Fixed Back on-screen menu button for OptionsMenu wasn't working
- Fixed MainMenu buttonlist not navigating with keybinds after going to optionsMenu and going back
- Fixed menu title text clipping
- Fixed keybind preview images on keybind lists in OptionsMenu being modal
- Fixed btn_l and btn_r bitmap button binding not working
- Fixed a/b and x/y button bitmaps on xbox controllers being flipped
2023-12-27 01:36:58 -06:00
AzaezelX caa93e2179 leverage writeapppend to add any new info requested.
filter out pre-existing callback defines
2023-12-24 15:18:18 -06:00
AzaezelX ace243171e file saving 2023-12-24 12:03:48 -06:00
AzaezelX ca31e4c2c9 leverage the new getMethodSigsNS, getFieldCountNS, and getFieldNS
functions to look up methods and (hardcoded) variables from the classrep rather than creating an instance
this did cost us dynamic variable listing, but that's runtime assignment as-is and can likely be referenced another route in the end
2023-12-24 03:27:18 -06:00
Areloch 5d2d04791d Cleaned up old, deprecated apply function causing confusion
Cleaned up old refs to previous unapplied changes system
Added comments to some critical functions to better explain their behavior and purpose, as well as referencing the source files for the graphic and audio options groups
2023-12-21 23:59:19 -06:00
Areloch df00543502 Implemented apply changes logic
Updated autodetect graphics to complete to new apply changes rules
Made it so gamepad can activate key rebinds
2023-12-19 16:37:23 -06:00
Areloch 70e121595f Most of the keybind/remap stuff finished
Fixed up most of the options apply logic
2023-12-19 02:36:43 -06:00
Areloch 55697cffdb Streamlined baseUI profiles
Implemented audioOptions file with structure to comply to BaseUI options menu
Implemented majority of keybind remapping logic for options menu
2023-12-18 23:49:13 -06:00
Areloch f14c96c2bc Standardized titlebar formatting
Cleaned up some unneeded fields in the gui files
Fixed up querying presentation for joinServerMenu
Removed usages of background image in favor of guiProfiles for various menus
Implemented optionsMenu traversing options categories along with required keybinds
Adjusted some guiProfiles' font sizes to improve legibility on smaller displays
2023-12-17 03:27:30 -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 045c15fd26 Merge branch 'development' of https://github.com/TorqueGameEngines/Torque3D into classPrototypingPresenter 2023-11-29 14:16:37 -06:00
Areloch d867c1f7d0 - Adds Color Calibration card and Material Grid for reference resources to prototyping module
- Adds arrow primitive shape to prototyping module
2023-11-28 18:54:50 -06:00
AzaezelX 4b86e112c8 add safeties 2023-11-24 15:58:35 -06:00
AzaezelX c10808873d hook PrototypeClass(%objectName) on up to inspector
fix dialog close, fix dynamic variable gui element alignment
2023-11-24 15:44:54 -06:00
AzaezelX 81b721c755 wipwork for adding a gui driven class callback method prototyper with command and variable reporting 2023-11-24 14:05:55 -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