Commit graph

76 commits

Author SHA1 Message Date
Areloch fb5195dd44 Corrects groundplane assigned material in the example and editor levels
Assetifies GroundPlane's handling of it's material field
2020-12-19 01:43:52 -06:00
Areloch 3821ddd15a Merge branch 'GroundPlaneAssetify' of https://github.com/Areloch/Torque3D into Preview4_0 2020-12-18 14:12:54 -06:00
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 388a700a53 Implements material asset handling for GroundPlane object
Adds handling for finding material asset akin to shape and image assets
Updates the material asset inspector field to follow the current standard
Updates prototyping material assets to correctly have materialDefinitionName assigned
Fixed material asset import step to properly assign materialDefinitionName
Fixed typo in material editor icon name
Added logic to editAsset function call so it can also parse assetIds
Changed DefaultEditorLevel to utilize FloorGray material
Adds proper NoMaterial asset for fallback purposes
2020-11-01 23:32:34 -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
Brian Roberts 3851612b91
Merge pull request #361 from Areloch/LevelAssetLoadConsistency
Updates some level asset functions and script handling
2020-10-17 16:21:01 -05:00
Areloch c0203e13e9 Basic prototyping module initial upload 2020-10-16 22:12:05 -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 61db21aaaf comparison flaw in spotlight animation check. also, proper location of shadercache dir 2020-07-07 16:54:25 -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 6ade6f08ce Updated Assimp
Added initial behavior for ImageAssets to hold a list of GFX resources of different texture profiles to avoid mem leaks with incorrect-typed usages
Added function to ImageAsset to get best-fit asset, allowing for fallbacks if the requested assetID is not found
Added function to ShapeAsset to get best-fit asset, allowing for fallbacks if the requested assetID is not found
Disabled fields for dynamic and static shadowmap refresh rates
Moved noShape model to core/rendering/shapes to place it in a more logical module position
Added an include to avoid undefined type compile error and removed unneeded semicolon from zone code
Added call to reload probe textures when a reloadTextures call is made
Adjusted default directional light shadowmap settings to not be as extreme
Added utility function to probe manager to allow any class to request a 'best fit' list of probes that would affect a given location, allowing other classes such as fog or particles to utilize IBL. Also updated probeManager's forward rendering to utilize same function to reduce code duplication.
Shifted shape loader code to utilize assimp for loader consistency and testing
Changed render bin used for SSAO postfx so it runs at the right time
Made Core_Rendering module scan for assets
Updated loose file references to a number of assets to follow proper formatting
Refactored asset import code to follow a more consistent object heirarchy structure on importing assets, allowing more reliable cross-referencing between inbound items
Updated asset import logic for materials/images so that they properly utilize ImageType. Images correctly save out the assigned image type, materials reference the images' type to know what map slot they should be used in. Importer logic also updated to better find-and-add associated images based on type.
Cleaned up a bunch of old, outdated code in the asset importer
Added initial handling for in-place importing of files without needing to process them through the UI.
Added ability to edit module script from RMB context menu if torsion path is set
Updated list field code for variable inspector to utilize correct ownerObject field
2020-03-19 09:47:38 -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
Marc Chapman 4aed48697d typos 2019-10-16 19:22:56 +01:00
Areloch 248f1da1c5 Standardizes the Level Assets to just use the regular asset description field for it's description
Updated existing level asset definitions to comply
2019-10-05 01:55:52 -05:00
Areloch 94b6749012 Catches FPSGameplay module up to new gamemode and module paradigm
Adds additional args for callGamemodeFunction
Adds default Observer camera datablock
2019-10-04 21:00:58 -05:00
Areloch 6f02f64dd2 Re-enabled ExampleModule's keybinds 2019-09-29 23:12:46 -05: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 600859bd63 Force proper update of box probe when attenuation changes
Fixed multiple case sensitivity issues
Adds GL ARB check for cubemap arrays for certain cases where the driver only supports the extension, not as core
Fixes undeeded namespace declaration in an inline operator function
Cleaned up/reordered some modules default in the data dir
WIP of Das Boot test map
Begun refactoring visualizer tools
Added default cloud and water textures to core/rendering so water and cloud objects work correctly
Added default Fog_Cube mesh so volumetric fog works correctly
2019-08-19 01:14:34 -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
Jeff Raab da18eaff45 Initial implementation of separated client and server create/destroy functions for module setup
Implements fix so cubemap arrays load correctly when texture resolution settings have been lowered
Begun refactor of asset import config editing/settings.
2019-08-01 01:38:36 -05:00
Areloch bbe00a246c Some missing bits and bobs that set up AFX 2019-07-24 23:33:45 -05:00