Commit graph

46 commits

Author SHA1 Message Date
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
Areloch
e87dc787ee Corrected probe init'ing so they don't fight for the cubemap idx order
Also correct deleting behavior so it updates indicies when a probe is removed
Updated forward lighting to utilize the same math as deferred
2019-06-30 23:04:16 -05:00
Areloch
af77444ec9 Merge branch 'MatInstanceViewer' of https://github.com/Areloch/Torque3D into Preview4_0
Fixed up forward IBL
Reimplemented old forward light shader code as a baseline so it can be updated to new PBR math
2019-06-27 00:36:56 -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
a552471e4e Reorg of the probe initialization/update code to streamline parts of it, and make it flow more obviously
Added some initial asset stuffs for Das Boot for building out a better testing level.
2019-06-04 00:21:52 -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
d9f80140f1 Include materialball shape asset info
Includes spectatorGameplay by default for streamline testing for now
Adds in reparentItem for GuiTreeViewCtrl
Added gitignore to shaderCache/.gitignore
Fixed material asset import logic to properly parent included images to the material
Includes D3D_Compiler47.dll for dependency compliance, and modified cmake file to not install said dll if not using D3D11 API
2019-05-25 03:37:18 -05:00
Areloch
3fa7a0d4fa Various fixes 2019-05-11 21:42:27 -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
82c74b4511 Merge branch 'VerveMergeWIP' of https://github.com/Areloch/Torque3D into development 2019-05-06 01:49:58 -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
87ee749801 (Mostly) updated verve implementation. 2019-03-07 16:23:41 -06:00
Areloch
02972b5961 Clear out old core structure before adding the new module-ified structure. 2018-09-02 03:50:31 -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
297c256a61 Fixes server prefs to be force-loaded from defaults first before loading local prefs to avoid bad config files breaking everything.
Also added error message in the even of unexpected failure to connect to local servers that normal errors don't catch(and returns to the main menu in this case)
2018-01-28 15:19:36 -06:00
Areloch
b5277e0f08 Fixes the inspector/component editor to display the components attached to an entity correctly in the inspector. 2017-12-03 01:21:30 -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
296ab5b532 * Removes Direct3D9 functionality. 2017-07-07 03:13:43 -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
d793bb6804 Added the data/shaderCache dir for procedural shader files to generate into as well. 2017-03-05 01:26:33 -06: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
1520bc83b2 Move the common shader and postFX stuff to core, and moved the debug visualizers to the world editor, where they're actually used. 2017-02-27 15:29:35 -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