Commit graph

50 commits

Author SHA1 Message Date
Areloch 334cd1d205 Adds function to better report active device type from GFXDevice
Ensures Window title and options menu correctly displays available and active render api
Fixes AA option so it correctly toggles FXAA
2020-12-12 23:04:50 -06:00
Areloch 7b6ee8a453 Adds handling so the pause menu has a button to exit the editor as a quick shortcut 2020-12-03 19:58:51 -06:00
Areloch bca972ae24 Adds a flag to the guiGameListMenuCtrl to allow consuming of key input events. This allows for overriding other active keybinds that may be in play when a menu is active. 2020-11-21 02:35:05 -06:00
Areloch d83fc0b232 Adds check so we only do the pausing of the audio/sim when opening the pause menu when it's single player 2020-10-25 14:40:32 -05:00
Areloch db6c63d424 Adjusts guiGameListMenuCtrl.cpp to handle Left and Right keys to adjust options, which simultaneously fixes the 'jiggle' issue on the options menu of the BaseGame base UI
Per Steve's suggestion, put a pause on gameplay sounds alongside the game sim being paused when the pause menu is opened.
Nudges the keybind preview image for guiGameListMenuCtrl to be better centered
2020-10-25 02:51:52 -05:00
Areloch 837983c767 Adds script function to access full path of the level asset's preview image file
Updates script function descriptions to be correct
Updates chooseLevelDlg functions to be more efficient and consistent, and use the exposed get methods for getting preview images and the like properly
2020-10-13 18:44:42 -05:00
AzaezelX 7d63f114fa followup 2020-10-05 15:50:45 -05:00
Areloch 4a8273b824 Implements new shape fadeout and lighting fade/max lights/shadows pref options into the options menu 2020-09-24 22:49:05 -05:00
Areloch 26ef40950b Updated version of OTHGMars' updated window and resolution options modes.
Additional changes include disabling certain options when they are not valid(ie, resolution is disabled when in borderless mode)
2020-09-20 02:06:15 -05:00
AzaezelX 7af0a758d1 fix chooseleveldlg 2020-09-12 15:01:01 -05:00
Areloch 7405453123 Fixes issue where it would try and load a SIS file even if it doesnt exist
Fixed warning about use of invalid function 'setEnabled' instead of 'setActive'
Fixed formatting of a schedule call in ExmapleGameMode
Fixed EditorOpenMission logic to correctly get and use levelAsset
Removed unneeded continues from menuInputButtons' refresh()
Updated settings.xml to have sorted order for future consistency
2020-08-26 13:40:04 -05:00
Areloch 40dd926873 Adds function for sceneObjects to report utilized assets
Add reporting of used assets to tsStatics and TerrData
When saving a Scene, it will write static object asset dependencies to it's levelAsset
Shifted level loader logic to pass up the levelAsset rather than full level path
Made it so when level is loading, the levelAsset loads its dependencies. When the level is ended, as part of cleanup, they are unloaded
Shifts defaultEditorLevel to be an actual asset and made the ToolsModule load assets
Fixes the Save As action to correctly save out to the new level asset
Fixed the autoLoadAssets logic to be cleaner and not manually check types
Removed extra, unused DefaultEditorFile file
2020-08-19 18:30:42 -05:00
Areloch 69bfbb0978 Adds functions to get the full path for level and shape asset files
Updated choose level UI to use getLevelPath function so it works again
Added a check for mis.dso for choose level UI as well in case it was compiled
Updated open asset in shape editor logic to use getShapeFile so it works again
Fixed on-exit crash after drag-n-drop importing of assets into the AB by properly using the import config object as a pointered object
Added sanity check when inspecting a TSStatic, if there isn't a materials inspector group for whatever reason to prevent a crash
Added filter logic so if in select mode for a specific asset type, it won't show datablocks, prefabs or other loosefiles
Removed unneeded setting of AB's current address path when creating a new terrain material asset
Added logic for forcing field validation in the create a new asset window. This fixes a problem where if you'd typed in a field but didn't hit enter and then immediately hit the done button, the typed string wasn't used.
2020-08-12 13:11:13 -05:00
Brian Roberts bcbc08cf23
Merge pull request #251 from zfbx/patch-1
Added slider to consoleDlg for bg alpha (Needs refinement)
2020-07-27 10:13:51 -05:00
Tony 3d76cc4c12 Moved GuiSliderProfile into core 2020-07-27 10:57:08 -04:00
Areloch 0e37214a8b Moves the BaseUI module to utilize the queuedExec function to make overriding UI elements easier 2020-07-26 16:39:49 -05:00
Areloch 5f95f9f8c0 Made GuiFadeinBitmapCtrl not only respond to mouse and keyboard events, but gamepad events as well, allowing gamepad inputs to skip opening splash pages
Ensured that guiGameListMenuCtrl adjusts values for rows marked as sliders via the left and right gamepad actions
Corrected the button maps for look and move on the gamepad for the ExampleModule's default movement binds
Fixed ExampleModule's default keybinds so alt+enter correctly toggles fullscreen
Fixed joinServerMenu so it has a guiInputCtrl that can catch keybind events and pass them to the menuInputButtons
Removed erroneous input consumption on OptionsMenuList
Removed unneeded check against Graphics API list
Flipped order of Anti Aliasing option to match ordering of the others
Removed old, unneeded legacy option menu script files
Added logic for message boxes to automatically return active MenuInputButton control to the holder before it was pushed
Added fill color for the UI list gui profile so the sliders render more legibly
2020-07-25 01:29:25 -05:00
Areloch 5b289bce5e Shifts the tools messageboxes to be distinct from any messageboxes in the main game
Reorged the canvas handling of gamepad inputs for the axis and triggers to use the SI_ versions in the right spots
Fixed issue where pause menu would be hidden and not display again
Made the pause menu active from the gamepad start button rather than back
2020-07-24 00:40:03 -05:00
Areloch ef4cc8b573 Updated names of some of the input images to match the names of the inputs to simplify lookups
Altered a few of the input images to improve readability of some of the text
Standardizes the menuInputButton set usage to just use the raw action names rather than a middleman naming scheme for simplicity and standardization
Added comments to menuInputButtons.cs
Split out the menuInputButton containers to simplify and stabilize the code on the messageBox dialog
Removed old reference to script/gui files not there anymore
Simplified the input state check in guiGameListMenuCtrl.cpp
Added a check so we don't try exec'ing the selected list item in guiGameListMenuCtrl.cpp if nothing has actually be selected
2020-07-23 16:26:38 -05:00
Areloch 37420cda66 Updates the BaseGame UI theme to be more legible and visually consistent.
Also standardizes and fixes the menuInputButtons system.
2020-07-23 00:22:15 -05:00
AzaezelX f6a2149dd1 tempfix: corrects the display api entry...
in the options menu so that it properly reflects what's active/selected for restart, and more importantly saves the pref.

Important Note:
down the line we'd discussed treating options similar to the key remap system where it'd be a map of

opt[varname]=varstate;
2020-06-04 20:04:47 -05:00
Areloch 11f0ec2c0f Overhauled keybind remap part of options menu
Fix audio options menu so it correctly save and applies settings
2020-06-01 03:55:25 -05:00
Areloch 3b47d41da2 Majority of options menu integration completed
Implemented keybind option type
Updated Pause menu to comply with new style
2020-05-25 00:51:33 -05:00
Areloch bc27125e90 Initial pass to rework and cleanup the main UI interface
Implements interface buttons that react to input type and visually display keybinds
Updates the T3D icon and splash screen
2020-05-20 17:19:52 -05:00
Areloch f7b891442a Updated path handling for loose asset files for CPP, Image, Level, Material, PostFX, Shape, Terrain, TerrainMat and StateMachine assets to be more predictable in when and how they expando the loose file path into a full, useable path
Fixed loose file bindings for all associated slots in level asset, such as postFX file, decals, etc
Expanded TSStatic onInspect testcase to parse materialSlots and hook-in a specialized material field for editing/quick reference from the inspector
Adjusted expand behavior of guiTree to be more reliable
Added internal name 'stack' to inspectorGroup's stack child objects for easier access to add programatic fields
Removed redundant PreMult translucency type code
Added setting of feature so probes work when in forward/basic lit mode
Corrected indexing error in SQLiteObject class so it properly parses with the updated console API
Tweaked the FOV setting logic in GameConnection::onControlObjectChange to not be spammy
Fixed var when trying to bind the camera to the client
Added project setting field to dictate the default render mode between Forward or Deferred
Integrated MotionBlur PostFX into updated PostFX Editor paradigm and exposed the samples uniform as an editable field
Integrated DOF PostFX into updated PostFX Editor paradigm
Updated setting group name for vignette postFX
Shifted shaderCache to be in data/cache along with other cached files
Added helper function to replace strings in a file
Fixed ExampleCppObject asset to have correct loose file references
Adjusted editor default level logic so it can be modifed and then stored, as well as reset back to the original default
Fixed verve reference to root scene group
Adjusted location of a nonmodal gui profile so it loads at the correct time
Reorganized AssetBrowser loading and refresh logic so it doesn't stack multiple refresh requests back-to-back causing lag
Updated the search behavior to search not just the current address, but all child folders as well, making it far more useful
Initial work into zip and folder drag-and-drop asset importing support
Removed the import config setting for 'always display material maps' as it is redundant with the new importer context menu actions
Updated example asset type file
Ensured all asset types have proper handling for move, rename and delete actions
Fixed double-click behavior on folders in the AB
Fixed CPP asset preview
Added better logic to discern if a top-level folder belongs to a module or not in the AB directory browser
Added ability to convert a non-module top-level folder in the AB into a module
Added initial hooks for being able to generate a new Editor Tool, similar to how the AB can generate modules
Renamed CPP asset template files to have the .template so they aren't accidentally picked up by cmake
Fixed convex editor's material handling to work with AB and reference back properly
Updated AB images for folder up/down navigation buttons, and the breadcrumb divider arrow
Made PostFX Editor properly allow for input pass-through so you can still edit the level with it open
Added some additional common text gui profiles
Disabled calls to old editor settings logic in various editors to remove spam
Added callOnModules call so tools can initialize properly when the world editor is opened
Fixed logic test for visualizers
Added ability for cmake to scan tools directory for any tools that add source files
2020-02-04 01:47:28 -06:00
Marc Chapman 326908aa3d Fixed bug in display options UI writing incorrect values. 2019-10-18 04:25:49 +01:00
Areloch c9a63d63cf Updated ToolsGuiTextPadProile to comply to editor theme
Further tweaks/reorg to UI module
Implemented cubemap array scaling on GL so it doesn't crash when texture quality is lowered
2019-09-29 07:51:43 -05:00
Areloch 3986b800cd Merge branch 'Preview4_0' of https://github.com/zfbx/Torque3D into Preview4_0 2019-09-29 06:51:47 -05:00
Areloch e7bf49e801 Moved unneeded modules to Templates/Modules
Added templated getObjectsByClass to Scene for easier engine-side polling of objects, including nested checks for subscenes
Proper init'ing of mGamemodeName in LevelAsset, as well as proper fieldType for mIsSubLevel
D3D11 added logic to handle scaling down of textures in cubemap arrays for lower texture resolution preferences
Added ability to collapse groups programmatically to GuiVariableInspector
Upped PSSM shadowmap max size to 4096
Caught GL deferred lighting/probes up to D3D11
Temporarily disabled forward lighting/probes on GL materials until conversion finished
Upped smMaxInstancingVerts to 2000 from 200 to support slightly more detailed meshes being instanced
Reordered project settings so they load ahead of core modules, so that core modules can actually use project settings
Established current preset file for PostFXManager to use for reverting
WIP logic for forcing probes to update as part of level lighting load step in loading process
Streamlined PostFXManager code, removing unnecessary/redundant files
Coverted HDR, Lightrays and SSAO and ExamplePostEffect to use new PostFX Manager/Editor paradigm
PostFX manager now enacts callbacks so that postFXs' can process their own settings as well as provide editor fields
Changed PostFX editor to work with new callbacks via using VariableInspector
Updated PostEffectAsset's template file so new PostFX's will now automatically register with the PostFXManager and have the needed new callbacks for integration
Made HDR on by default, removed enable field from editing
Made probe bake resolution a project setting
Updated many GL postFX shaders to have proper case for PostFx.glsl
Example module now loads ExampleGUI and ExamplePostEffect during init'ing
Removed unneeded autoload definitions from ExampleModule's module file
Fixed Graphics Adapter settings field to properly display as well as apply setting
Updated many referenced profiles in tools folder to use the Tools specific gui profiles to make theming more consistent
Fixed coloration of tools button bitmap to make theming more consistent
Updated a few theme settings for improved visibility with theme, particularly selected/highlighted text
Moved AssetBrowser field types to separated folder/files
Updated new module creation to properly utilize template file instead of overriding it with a programmatic script generation.
Removed unneded default autoload definitions from new modules
Added WIP for editing Module/Asset dependencies
Updated the PostEffectAsset to properly generate glsl and hlsl files from templates
Updated module editor window to display only necessary fields
Added WIP of TerrainAsset
Added shaderCache gitignore file so folder isn't lost
2019-09-29 06:44:43 -05:00
Tony c97e6a32b5 moved guis to where they're called in script 2019-09-15 00:41:40 -04:00
Tony 67d71c8558 removed and moved files for baseGame
removed templates/baseGame/game/data/art as it's a copy of /images
removed templates/baseGame/game/data/scripts/guis as it's a copy of ../gui
moved fileDialog.cs to /ui/gui
remove duplicate scripts under /ui/scripts that are in /ui/gui already
2019-09-14 23:55:21 -04:00
Areloch 9db95f4fb2 Implemented proper ScriptAsset execution on load
Implemented script dependency handling
Added test-case of script dependency handling in ExampleModule
Cleanup of redundant getSceneCount calls
Properly get scene count in callGamemodeFunction
Remove unneeded TODO comment in shaders
Converted onMissionEnded gamemode func call to use callGameModeFunction function
Convert ExampleGameMode to be container-object based, and updated callGamemodeFunction to handle that
Correct import settings typoe so image suffixes are read correctly
Largely fixed companion image scanning when importing images and streamlined image-material interop during import preprocessing
Added handling for reading in PBR maps and creating a composite image + asset
Added WIP of Cubemap asset, and editing integration with a standalone cubemap editor
Added ability to create new Cubemap asset in Asset Browser
2019-09-13 00:27:48 -05:00
Areloch 7c3bd49615 Adds ability to adjust padding to guiTextListCtrl's rows
ForcedMaterialMeshMgr tweaked to allow proper setting of override material
Ongoing WIP of update/fixing of options menus
WIP of expanded visualizers, including material complexity viz
Adds no-pie flag when compiling on linux with non-clang compilers
2019-09-06 00:00:17 -05:00
Areloch 99cee7f32a Caught the main modules up to new module script file paradigm
Have initServer only get called when a server is actually started for the first time
Added utility method callGamemodeFunction to streamline exec'ing of gamemode function calls
Added onClientConnect gamemode function, called when the client establishes the connection
Added onInitialControlSet gamemode function, called when the client actively gains control in the game, to allow gamemodes to special override GUI settings or input commands
Cleaned up init'ng of the engine so stock UI module isn't required to trip configuration of the canvas
Added fallback so if nothing set the main content control for the UI after boot, we attempt to set the defined mainMenuGUI, on the chance nothing explicitly sets it on load
2019-09-02 16:13:24 -05:00
Areloch d720eb8ccd Makes the graphics menu in the stock UI mostly functional again
Adds sanity check to editing of gameasset script action in asset browser
Updates module template file
Updates visualizers
Fixes checking of popup menu items
Adds stub for TerrainMaterialAsset
2019-08-29 00:22:33 -05:00
Areloch 3f2770bea4 Adjusted init'ing logic to defer to project settings for the name of the play gui and mainMenu gui instead of hardcoding them 2019-08-07 01:27:39 -05:00
Areloch bbe00a246c Some missing bits and bobs that set up AFX 2019-07-24 23:33:45 -05:00
Areloch 07b28cb29a GFX card profile config file logging moved to debug only
WIP mode of guiSliderCtrl to be a filled rectangle instead of a textured UI
Fixed bug with guiTextEditCtrl losing focus updating history passing malformed strings
Updated WIP options menu
Editor/Project settings WIP
Updated editor theme to be consistent, and feed off the editor settings
Updated popup menus to reference renamed profiles
Added more in-progress modules for examples/stress testing
2019-06-17 02:30:45 -05:00
Areloch ae857faae2 Adds test shapes of Kork and SpaceOrc
Sidestep of memleak from CSF at the moment
Minor fixes and corrections with asset importing and loose files
WIP of updated options menu
2019-05-28 17:24:29 -05:00
Areloch 60a29777fa WIP updated UI
WIP dark editor theme
fixed multiwindow
2019-05-09 00:11:49 -05:00
Areloch cedbd387d9 Updating BaseGame to work with PBR, and a PBR example module 2019-05-08 01:27:51 -05:00
Areloch ddfc416418 Expands/Cleans up a lot of the asset functionality, including management, file association, and creation/importing 2019-05-04 11:49:42 -05:00
Areloch a6038d1801 Fixes issue with not detecting any non-template level meshes in the choose level dlg screen. 2018-01-28 16:59:43 -06:00
Areloch 746999ee8c Modifies the chooslLevelDlg in the UI module to utilize LevelAssets for the non editor template level selection. 2018-01-28 15:21:03 -06:00
Areloch d07abe8ad2 * 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-07-08 02:56:09 -05:00
Areloch 7e5d2f3eac Additional cleanup and add-in of files that were missed. 2017-03-27 00:36:23 -05:00
Areloch b357ad077d Re-adds some bits from the old templates that were missed when doing the BaseGame template. 2017-03-26 17:53:01 -05:00
Areloch 2f88bdf865 Tweaked the no-levels-found popup messagebox to properly call the returnTo functionality to bump back to the appropriate originator gui. 2017-03-01 00:46:39 -06:00
Areloch 9f171a42e7 Adds some basic, common materials to the editor so some starting point is always on-hand, as well as hook the BlankRoom starting editor level up to use them.
Added a check so if no levels are found from other modules, the default ui module will prompt the user to launch the editor to the base editor level and begin editing or return to main menu if tools are present, or inform them to double-check that there are modules with gameplay/levels and return them to the main menu in no tools available.

Also set it up so if the editor is launched while a mission isn't running, it'll automatically load to the base editor level and set up a default camera object. This way editing can be done even if no level is currently loaded.
2017-02-27 22:46:17 -06:00
Areloch 1ed8b05169 Initial implementation of the new Base Game Template and some starting modules.
This makes some tweaks to the engine to support this, specifically, it tweaks the hardcoded shaderpaths to defer to a pref variable, so none of the shader paths are hardcoded.

Also tweaks how post effects read in texture files, removing a bizzare filepath interpretation choice, where if the file path didn't start with "/" it forcefully appended the script's file path. This made it impossible to have images not in the same dir as the script file defining the post effect.

This was changed and the existing template's post effects tweaked for now to just add "./" to those few paths impacted, as well as the perf vars to support the non-hardcoded shader paths in the engine.
2017-02-24 02:40:56 -06:00