Commit graph

698 commits

Author SHA1 Message Date
Areloch 9c381caea2 Added initial implement of Image Types for GFX resource management
Added logic to intercept TSStatic setting shape to try and utilize a shapeAsset if it can find a matching loose file
Added lookup logic for getting any textures inside collada files to streamline asset importing logic
Fixed modal behavior for Import config and import window
Initial implementation of loose file/legacy file importing
Adjusted Asset Browser and Asset Import refreshing behavior to queue to improve performance by avoiding multiple refreshes as well as potential infinite loops
Fixed volume visibility behavior
Fixed physics world viz toggle
2020-02-17 00:32:50 -06: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
Areloch 66cc6fb9d1 Removes current implement of shadow caching
Also removes EC stuff as it's not ready for prime-time yet
2019-12-13 01:14:03 -06:00
Areloch a43233d9c9 Updated move folder behavior to better update the module and asset databases of changes
added dynamic reload on editor profiles when the theme is changed via editor
Adjusted direct filename fields to just be hidden, not disabled(avoids breaking legacy content)
Added ability to update asset references in a given folder path
Added WIP ability to scan for and update module dependencies
2019-12-08 15:54:37 -06:00
Areloch 09c651c26d Corrected profile for GameObjectAsset type field button
Initial implementation of changeable TSStatic materials via material slots and drag and drop of material assets onto world editor from AB
Updated Volumetric Fog to support ShapeAsset for it's model data
Added cmake option to hide literal filename fields if the class supports asset fields for the same input
Added light viz modes to see diffuse, specular and detail lighting modes(currently just sun)
New raycast console function to return back material of hit object
Moved GameObject logic to SceneObject and started fixing up of editor behavior to allow any SceneObject to be converted into a GO, along with all supported behavior such as instance-template management and spawning GO via drag-and-drop from AB
Fixed inspector field tooltip text to be positioned in inspector footer properly again
Drag and drop of shape asset attempts to drop at raycast position now, instead of just at the camera ray position
2019-12-05 20:42:47 -06:00
Areloch b1e3706dd6 Removed unneeded deletion of asset definition in various asset deconstructors - was causing crash on shutdown when a new asset was made
Added ability to check if popup menu is currently Visible
Removed unwanted path debug/testing code from tsShapeConstructor
Made a number of default postFX's names more consistent and set up asset definitions for them. Began adding hooks to PostFX editor as well
Refactored Asset Import window with new layout, revamped import behavior to work with new layout concept and easier editing of import 'session'
Updated Asset Browser to utilize a common 'DirectoryHandler' object to standardize/centralize all folder navigation behavior for the asset tool ecosystem
Added new window to select path for assets
Refactored import config editor to be easier to utilize
Added field in editor settings to edit import configs without needing to first try and import assets
Updated a number of asset types' scripts to handle address-based system
Began standardizing a number of 'actions' for the asset browser, including drag-n-drop, renaming, deleting, moving, etc.
Made refreshing behavior of AB more consistent
When making new in AB folder, it will automatically navigate to the new folder
When making a new folder, prompts the folder name via new popup window
Refactored PostFX editor to use newer layout with side list for easier use
2019-12-03 00:09:18 -06:00
Areloch b2fcd5e7fb WIP corrections for drag-n-drop handling for cubemap and shape asset types
Added ability to override radio button behavior when selecting items in popup menus
Added ability to turn on rotation snapping as a setting, with SHIFT just inverting the rot snap mode
Implemented proper asset type filtering, complete with multiple type selection, and listing of active filters in AB footer. Selectable via visibility popup Menu
Moved asset preview button generation from code to template GUI file
added ability to move asset with drag-n-drop(Image asset only so far)
New AB folder icon
Properly link image asset fields to material asset if 'AlwaysPresentImageMaps' config setting is active
2019-11-24 06:52:34 -06:00
Areloch 60d0e73190 Enabled probe viz item for live updates of probes when working with them(auto-baking while on)
Updated debug forward mat viz to work with probe visualization
More correct premult math
Updated probe viz menu behavior to properly toggle and mark which is active
2019-11-22 01:30:49 -06:00
Areloch 7b5e1c3c58 @rextimmy fix for GuiWindowCtrl so they snap correctly again
Added asset loose files for editor and bake level files on level asset
Correct return of ConsoleGetType on TypeShapeAssetPtr
Adds shape asset support to TSStatic, now will support either raw shape file or ShapeAsset
Adds onInspect function behavior, so when object is inspected, it can do special editor behavior
Adds callback for when editTSCtrl is resized
Added editor setting to force the world editor sidebar(scene tree and inspector windows) to resize to fit to the right side of the screen automatically instead of float
If assimp loader encounters error, it's output into the console log
Makes root Data item in folder hierarchy tree in Asset Browser able to support right mouse popup menu action
Material and Shape assets now correctly base on current browsed folder
Material asset generation now more properly fills out common maps, as well as handles skipped dependencies better
More theme corrections
Updated TestGrid images asset defs to have proper loose file handling
2019-11-18 03:30:04 -06:00
Areloch 22249bf4d4 WIP of updating terrain editor to work with assets
Fix minor UI issues for asset browser
included folder 'asset type' script
2019-11-06 00:23:07 -06:00
AzaezelX 8b4f3fea31 misc formatting fixes, and a removal of the
bool LightningData::preload(bool server, String &errorStr)
{...
dQsort(thunderSounds, MaxThunders, sizeof(SFXTrack*), cmpSounds);
...}
call causing network stream corruption
2019-10-21 18:58:15 -05:00
Areloch cba14c035f Change Asset Browser logic to utilize folder heirarchy instead of strict Asset Type filtration
Added navigation history to AB, as well as ability to navigate via forward and backward buttons and breadcrumb buttons
Added folder 'asset type', allowing you to create, rename, delete and move folders via the asset browser for better organization
Adjusted various behaviors to work with the address-driven navigation/organization of the AB
Expanded visibility options for the AB and integrated them into editor settings so they are retained
Added Search field for searching the folder structure, in addition to the existing preview tiles search
Adjusted drag-n-drop behavior of the platform code so it accepts dropping folders
Added ability to dump active PostEffects list to see what is currently running
Added ability to mark specific items in GuiTreeViewCtrl as hidden
Made reflection probe bounds boxes translucent rather than wireframe to improve editing visibility
Added expanded loose file references to LevelAsset for common companion files like decals and posteffect scrips
Added editor setting for Editor Layout Mode, allowing you to set the editor into 'Modern' layout.
Added editor settings to set default import config ruleset, and also ability to set auto-import. If both of these are set, then as long as the importing assets have no errors, they will auto-process and the user doesn't need to manually check and confirm them via the asset import window
2019-10-20 02:47:15 -05:00
Areloch 6b6e5b6ca2 Merge branch 'alpha40DynShadowRefreshRedux' of https://github.com/Azaezel/Torque3D into Preview4_0 2019-09-29 06:51:04 -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
AzaezelX c680471378 looks like the with the latest translucnency work, dynamic shadows are no longer triggering malformed values in forward lit materials, so flipped that back on 2019-09-20 14:45:05 -05: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 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
AzaezelX 059d531b62 linux followup work by tim 2019-08-21 03:12:54 -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 1228fbcb78 Implemented initial pass at proper client/server separation handling for module initialization
Added GameModeName to Scene
Added function to get number of active scenes
Added logic to level/client loading to enact gameplay mode logic driven by either Scene's GameModeName or project setting's default game mode
Added template module.cs file for module creation and adjusted new module logic in AssetBrowser to create off template
Updated FPSGameplay code to have deathmatchGame mode work with new GameMode logic
Updated EmptyLevel scene to define deathMatchGame as gamemode
Updated FPSGameplay module script to properly client/server initialize
2019-08-04 23:21:28 -05:00
Jeff Raab 5088197d05 Merge branch 'alpha40translucency2' of https://github.com/Azaezel/Torque3D into Preview4_0 2019-07-16 08:34:38 -05:00
Areloch 89128ce14a Post FX script file initialization 2019-07-15 00:38:53 -05:00
AzaezelX 09c8e70e1c Merge branch 'Preview4_0' into alpha40translucency2 2019-07-11 03:45:21 -05:00
Areloch 98f50a4453 Fixed probe cubemap reindexing assignment
Fixed BRDF texture binding in forward pass so it doesn't screw with the probes or regular lighting results during bakes
Fixed early-out check on probe manager so probes can be rendered during reflect pass as well.
2019-07-10 23:41:55 -05:00
AzaezelX bc77ff0833 Revert "Updated SDL, Bullet and OpenAL soft libs"
This reverts commit 370161cfb1.
2019-07-08 09:49:44 -05:00
Areloch f8750dd8ed Updated SDL, Bullet and OpenAL soft libs
Fixed case sensitivity problem
Fixed clang compiler problem with having the class namespace used in an inline for the == operator
Tweaked some theme stuff to be more consistent.
Added initial test of no-pie for linux
test sidestep of getTexCoord in shadergen hlsl feature so we don't assert when getting the terrain's shaderstuffs(which uses float3 instead of normal float2)
2019-07-07 02:43:49 -05:00
Areloch 0eca610c50 Merge pull request #56 from Azaezel/alpha40_4_entityComponentCleanup
Alpha40 4 entity component cleanup
2019-06-29 02:43:46 -05:00
Areloch dd3422b5a2 Added ability to pass ints to post effect shader consts
Reorg'd probe init to flow better and be more robust on load
Cleaned up various parts of the probe render manager to be more stable
Fixed issue with crash on release due to numProbe in loops being 0
Updated glsl probe array shader
Beginning of rework of editor settings
Beginning of conversion of asset import config to similar system as editor settings
2019-06-13 00:37:12 -05:00
Areloch b40d33a663 WIP of shifting the skylight cubemap to be packed into the cubemap array 2019-06-05 01:04:47 -05:00
Areloch 27b304eec3 Various fixes
Separated baked cubemap load/processing logic into a separate function for clarity
various corrections for when fields change so it properly notifies down to the client
Fixed enable flag logic to actually work
Fixed skylight enable flag so it properly disables if flipped off
2019-06-05 00:07:46 -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
AzaezelX 7832458005 component vector cleanup cleanup 2019-06-03 15:12:56 -05:00
Areloch 17cec11b97 Added refactor of Editor Settings window
Various fixes for asset handling.
WIP of crash tracking
2019-06-03 02:47:30 -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 98c4606b3c Removed test custom shader bindings until memleak is corrected. 2019-05-27 13:06:15 -05:00
Areloch dfa0f30572 Merge branch 'alpha40Macwork' of https://github.com/Azaezel/Torque3D into Preview4_0 2019-05-25 01:12:20 -05:00
Brian Roberts f79265089a mac compilation correction - casting flaw 2019-05-21 19:32:17 -05:00
AzaezelX 76dbedb02f reskinning fixes
1) falls back to assuming the word "base" is what is to be replaced if no "oldSkin = newSkin" entry exists
2) falls back to *using* base if the entry is left entriely blank
2019-05-21 12:03:19 -05:00
Areloch ebb51bb178 Catch the template files up and add the improved convex editor bits. 2019-05-19 21:30:45 -05:00
Areloch 3697737498 Merge branch 'ModernEditorLayoutWIP' of https://github.com/Areloch/Torque3D into development 2019-05-13 00:28:23 -05:00
Areloch c283295f22 Merge branch 'CustomShaderFeatures' of https://github.com/Areloch/Torque3D into development 2019-05-11 21:53:08 -05:00
Areloch 3fa7a0d4fa Various fixes 2019-05-11 21:42:27 -05:00
Areloch e83ec69292 Merge branch 'PBR_ProbeArrayGLWIP' of https://github.com/Azaezel/Torque3D into development 2019-05-06 01:50:45 -05:00
Areloch 82c74b4511 Merge branch 'VerveMergeWIP' of https://github.com/Areloch/Torque3D into development 2019-05-06 01:49:58 -05:00
Areloch bac0b2e8df Merge branch 'GameObjectExamples' of https://github.com/Areloch/Torque3D into development 2019-05-04 16:25:00 -05:00
Areloch 7f37aced90 Merge branch 'ExpandsComponents' of https://github.com/Areloch/Torque3D into development 2019-05-04 16:09:09 -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
AzaezelX dd1470202d Merge branch 'development' of https://github.com/GarageGames/Torque3D into PBR_ProbeArrayGLWIP
# Conflicts:
#	Engine/source/gfx/D3D11/gfxD3D11Device.cpp
#	Engine/source/lighting/lightManager.cpp
#	Templates/Full/game/levels/Empty Room.mis
#	Templates/Full/game/levels/Empty Terrain.mis
2019-05-01 23:18:31 -05:00
Areloch 59b6e67ecf Merge pull request #2043 from John3/toolShapes_3
cleaning the modules
2019-03-31 14:41:35 -05:00
Areloch fc93bc229c Merge pull request #2339 from Areloch/MountedCollisionsFix
Adds logic to temporarily disable collisions of mounted objects on Players
2019-03-31 12:31:57 -05:00