Commit graph

811 commits

Author SHA1 Message Date
Areloch
c741036881
Merge pull request #99 from Azaezel/alpha40ModuleDependencyResolvers
Alpha40 module dependency resolvers
2019-10-26 23:18:49 -05:00
Areloch
25758d3148 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
AzaezelX
e7ccc362e2 looks like arrayObjects return count() as size+1;
one of these days should really do a consistency pass on those...
2019-10-06 11:08:49 -05:00
Areloch
ec63be32e3 Corrected the logic for the GenerateComposite import config rule so it only applies if there's any of the ORM maps detected
Added new import config rule: AlwaysPresentImageMaps so it will add entries for the regular map inputs on a material, even if they weren't actually found
Disabled a number of inactive popup menu items
Added Create New Module to normal add asset popup for more obvious/simplified use-flow
Adjusted the editor loading logic so it will properly display the loading splash to inform loading is happening instead of just lagging
Adjusted the assimp shape loader code so if it doesn't find a texture, and thus just sets a material value as the material color, it has a more parsable formatting
2019-10-06 01:29:12 -05:00
AzaezelX
13e84eee51 adds an optional entry to registerDatablock that sets a flag in the datablock files to-be-executed DatablockFilesList ArrayObject that erases relative-path duplicates and surpresses overwrites. setting it again in a sucessively executed module will take ownership of the exclusivity. otherwise, all script files follwing the same general path will be executed.
adds an unRegisterDatablock to remove a given "relativePath / file" from the list
sets up an automatically-cleaned ExecFilesList  ArrayObject following a similar pattern, and executed for each callOnModules call, so that for instance all module::initServer(%this) entries are parsed, %this.queueExec feeds the vector, and opon completion of gathering the list, all are then executed in module-dependency order
2019-10-05 08:03:13 -05:00
Areloch
388b568739 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
3bc8401947 Add proper refreshing of fields in the Project and Editor settings editors. 2019-10-05 01:16:14 -05:00
Areloch
28c4bad74d 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
f0776fa557 Re-enabled ExampleModule's keybinds 2019-09-29 23:12:46 -05:00
Areloch
0b345fdf53 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
4ddcc4a84b Merge branch 'Preview4_0' of https://github.com/zfbx/Torque3D into Preview4_0 2019-09-29 06:51:47 -05:00
Areloch
8f18edf439 Merge branch 'alpha40EditorEditing' of https://github.com/Azaezel/Torque3D into Preview4_0 2019-09-29 06:50:45 -05:00
Areloch
fdc50ac8be 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
Areloch
c650c0fb36 Utilizes old method to clean up tree items in GuiTreeViewCtrl to resolve guiEditor crashes
Updates probeManager to correctly utilize skylight idx to infer if a skylight is active, and set the SKYLIGHT_ONLY macro correctly, resolving erroneous behavior
Cleaned up some of the guiEditor initialization script to remove redundancy
Cleaned up tools modules loading script to remove redundancy
2019-09-18 01:41:57 -05:00
AzaezelX
f76c2afb89 pad the internals of the GuiScrollCtrl encapsulated within the EWCreatorWindow/[CreatorWindow] to prevent overhang issues due to the parent rescaling it's position/extent 2019-09-15 13:32:56 -05:00
AzaezelX
4a1e92b4cd kill duplicate gui as a source of correction confusion 2019-09-15 13:30:54 -05:00
Tony
32465f3db3 moved guis to where they're called in script 2019-09-15 00:41:40 -04:00
Tony
ed971fe030 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
889115f45e 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
52fcbecb9f 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
9e1544880e 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
3b2927801e 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
b4b0cce1c0 Changed findModule default version value to 1 to match default module version number
Added running of onCreateGameServer and onDestoyGameServer callOnModules for core modules as well to enable default datablock stuffs
Added default datablocks, materials and shaders for some base required objects such as spawn markers, ribbon particles and the like.
Includes ExampleModule to act as a template/documentation case for how modules should be set up
Includes GameUI module so there's a PlayGUI gui object by default.
2019-08-28 00:56:24 -05:00
AzaezelX
f1282a9cbc linux followup work by tim 2019-08-21 03:12:54 -05:00
Areloch
9ebe30b7f8 Update to SDL2.0.10 2019-08-19 23:30:35 -05:00
Areloch
e916d14440 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
142da31156 Added D3D error code interpreter
Added sanity check for findMatch
Finished most of asset importer logic to utilize settings system
Cleaned up code for finding associated files
Added General importer settings category and integrated logic for those settings fields
Updated logic in variableGroup to support callbacks in custom fields
Updated logic in variableInspector to better handle callbacks, as well as being able to manually update when manipulating fields
Updated scripts to utilize project settings values for playGUI and mainMenuGUI names
Improved module-oriented loading of materials
Added util function for populating custom fonts
2019-08-12 01:04:17 -05:00
Areloch
fee1ceab3c 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
e6e2ee0d50 Change to main.cs so the client/server core module execs after game modules have loaded 2019-08-05 02:04:12 -05:00
Areloch
7dc03ae17a 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
d97c05b411 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
4dcac05b33 Some missing bits and bobs that set up AFX 2019-07-24 23:33:45 -05:00
Areloch
836c4d34cd Merge branch 'Preview4_0_w_translucencyWIP' of https://github.com/Azaezel/Torque3D into Preview4_0_w_translucencyWIP 2019-07-22 00:17:29 -05:00
Areloch
9fad181748 Add vector light support to forward materials. 2019-07-22 00:16:58 -05:00
AzaezelX
e04b04a531 crashfix: we don't actually need the texture coordinates for forward lit surface creation. at that point, the rest of the shader features have already filled out the info being looked up from the gbuffer for deferred. (was triggering errors with float2 vs float3 coord entries for terrain) 2019-07-21 23:03:32 -05:00
Jeff Raab
c873d534c7 Updates names of probe forward shader consts to be consistent with shadergen, allowing proper data throughput 2019-07-16 09:34:31 -05:00
Jeff Raab
ee01ff54d4 Merge branch 'alpha40translucency2' of https://github.com/Azaezel/Torque3D into Preview4_0 2019-07-16 08:34:38 -05:00
Areloch
6e2560ee46 Adjusted creation of various assets to utilize template files. 2019-07-15 00:34:18 -05:00
AzaezelX
941d8c7eec refbox calc parity, and killed off some doubled up alpha subtraction 2019-07-14 10:44:50 -05:00
AzaezelX
e7ee94428e Revert "Updated SDL, Bullet and OpenAL soft libs"
This reverts commit 370161cfb1.
2019-07-08 09:49:44 -05:00
AzaezelX
160dc00c07 Merge branch 'Preview4_0' into alpha40translucency2 2019-07-08 04:11:57 -05:00
Areloch
370161cfb1 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
AzaezelX
fab6b6d7c6 blend, don't add skylight, and take shadowmask into account for compute4lights. 2019-07-05 22:01:03 -05:00
AzaezelX
0d6e4e2bed shift ambient occlusion to the ibl terms only 2019-07-02 19:20:31 -05:00
Areloch
a1ecc98c87 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
AzaezelX
857d8b8c81 missed a few conversions 2019-06-28 10:56:38 -05:00
AzaezelX
b44972859b nomenclature shift for clarity: bunch of stuff tagged as probe that refferenced things properly tied conceptually to the reflection refrence box. 2019-06-28 10:21:50 -05:00
Areloch
e5bbd12d4b 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
436c28b87c Reduce console spam from probe manager when not in debug
Added ability to activate height override on inspector fields from script
Further refinements of theme usage as well as editor settings
2019-06-17 23:48:20 -05:00
Areloch
f1777016b8 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