Commit graph

118 commits

Author SHA1 Message Date
OTHGMars
6534957496 registerDatablock update in-place.
Maintains load order for datablock files that are overridden by registerDatablock.
2020-08-07 05:27:36 -04:00
OTHGMars
840ad6d385 queueExec update in-place.
Maintains load order for files that are overridden by queueExec.
2020-08-07 04:40:14 -04:00
AzaezelX
dc2e17d894 ribbon shader variable order fix from @steve_yorkshire 2020-08-02 14:44:26 -05:00
Brian Roberts
3bc479a921
Merge pull request #265 from Azaezel/alpha40_dbCacheClearCorrectly
proper variation on the datablock file list erasure
2020-07-30 11:49:06 -05:00
AzaezelX
69f154e0b9 proper variation on the datablock file list erasure
clear is a nonfuncitonal command for arrayobjects, so a) needed to use erase, and b) needed to fill in a couple more spots
2020-07-29 15:27:34 -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
Brian Roberts
70ea856574
Merge pull request #236 from Azaezel/alpha40_connectionCleanup
client cleanups
2020-07-26 18:03:15 -05:00
AzaezelX
ea206b48b2 from jeff and tim: review of lighting impacts
(with a focus on fresnel)
also adds BRDF_GetDebugXXX methods gl side
2020-07-16 16:36:13 -05:00
Tony
48838494d4
Update console.gui 2020-07-14 22:47:43 -04:00
Tony
e4e98d87cb
Added BG alpha/opacity slider to ConsoleDlg
function was already there so just made use of it with a slider
2020-07-14 21:51:15 -04:00
AzaezelX
648ceebbff client cleanups
part 1) order of operations on disconnectedCleanup
2020-07-03 13:52:15 -05:00
AzaezelX
5072a091a8 adress #116 and #179 (shaderside)
kills off code folks haven't been using for years now, as well as a clamp to force the color into a 0-1 range. (hdr relies on >1.0 values for it's blur effect to populate)
2020-06-23 17:41:56 -05:00
Marc Chapman
d5bb385a7d Removal of old font files from basegame template 2020-06-20 19:21:16 +01:00
AzaezelX
0c0646a90c seed the engine core with three baseline light animation dbs. no motion, pulse, and spin. 2020-06-13 01:32:14 -05:00
Areloch
97880e44dd Implements the special guiVariableInspector field type of 'range' which adds a slider to allow editing a float range. 2020-06-07 02:22:12 -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
69089e1ee2 Merge branch 'Preview4_0' of https://github.com/TorqueGameEngines/Torque3D into Preview4_0_MenuUIRework 2020-06-01 03:48:20 -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
87b160faab Merge branch 'alpha40_dbClear' of https://github.com/Azaezel/Torque3D into Preview4_0_w_alph40_cleanups 2020-05-16 02:17:50 -05:00
AzaezelX
d15780b0cb we do actually need to account for reference position (of the capture box) to avoid it trying to look up the cube face relative to world origin... will need to eyeball what's going on backend wise forcing additional position-offsetting... 2020-04-14 15:00:29 -05:00
AzaezelX
e28b6ae6de misc fixes to mitigate banding
scriptside:
1) HDRPostFX::onEnabled needs to test vs GFXFormatR16G16B16A16F, as that's what's getting returned by getBestHDRFormat()
2)  AL_FormatToken shifted to that same GFXFormatR16G16B16A16F target format
3) tangental but somewhat related, we were doubling up refposition offsets in the boxproject
sourceside:
tweaked the capture code for probes to ensure that the "screengrab" and output cubemap formats were identical
2020-04-14 11:36:49 -05:00
AzaezelX
83ad320886 make sure we're working with a clean slate each datablock load cycle to prevent wierd order confusion 2020-04-06 11:13:47 -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
Areloch
9735b1180d Merge pull request #143 from Azaezel/alpha40Fontcache
shift front profile on over to the cache directory in keeping with the rest
2020-01-14 19:27:20 -06:00
AzaezelX
7d350427f1 shift front profile on over to the cache directory in keeping with the rest 2020-01-12 00:24:21 -06:00
Areloch
d840d52038 Added asset import logging
Added WIP of lighting viz logic to point and spotlight shaders
Made new asset window adhere to path-based system
Ongoing work to standardize asset import actions
Context-based Asset Import popups
Fixed behavior with adding a new sequence in shape editor
Made it so apply in PostFX editor no longer closes window
Work to re-add class visibility filters in editor
2020-01-09 18:28:53 -06:00
Areloch
7dc6ab42dc Merge branch 'Preview4_0_ShadowCache_Component_Cleanup' of https://github.com/Areloch/Torque3D into Preview4_0 2019-12-23 23:24:47 -06:00
Areloch
c0dd314c12 Changed default terrain paths to go into data/terrains if nothing is set
Added default terrianmat definition for warning_material
Corrected separator-h image path for a few GUI controls
Corrected SelectAssetPathWindow reference so it focuses the window right
Changed new asset window to work with new Select Path window and address system
Added call to force AssetBrowser to load/initialize when the tools are initialized(ensures anything utilizing assets in other tools don't have reference issues)
Standardized drag-n-drop move behavior in the Asset browser so dragging onto the folder tree and a folder in the browser both behave more predictably
If import config is set to not allow importing with errors, then the Done button is disabled when errors are detected
Updated the example assettype file for the AB
Fixed up move/delete/rename behavior for folders in AB
Begun full standardization of move/delete/rename actions for other asset types in AB
Added standardized call for New Asset field fillouts by letting the asset types populate them
Moved terrain block creation to the standard create call so it can accept other normal fields like resolution
Updated the 'Do you want to create' terrain block prompts to generate the asset if yes, and if no it'll prompt to go find an existing terrain asset
Added placeholder image for terrain material asset for preview
Updated refresh behavior for terrain material assets so they properly populate on creation now
Added standardized functions to the directoryHandling class for folder/file manipulation
Corrected some warnMat image references
2019-12-23 12:37:55 -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
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
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
c74b669f5e Removed redundant 'load last edited level' startup mode to editor.
Fixed recent levels open command behavior
Includes rextimmy's vertex WS normal logic in HLS shadergen
2019-11-20 01:39:12 -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
883420d21b Merge branch 'alpha40_spotlightSlimdown' of https://github.com/Azaezel/Torque3D into Preview4_0 2019-11-16 10:15:07 -06:00
AzaezelX
2e56645f13 shifts spotlightparams to the actually used float2/vec2 entries (stops debug screaming every frame) 2019-11-07 23:18:14 -06:00
Areloch
d8cc73f5a1 Added utility methods to AssetBase:
getAssetDependencyFieldCount
clearAssetDependencyFields
addAssetDependencyField
saveAsset

Updated the saveAsset function for terrain block to utilize utility methods to ensure the terrain asset's material dependencies, so they will load properly.
2019-11-07 00:42:55 -06:00
AzaezelX
501990c3b6 from @rextimmy: ssao work
shifts ssao from the vectorlight to ibl-only via the reflectionProbearray postfx shader
2019-10-31 19:06:40 -05:00
Areloch
3af902c911 Merge pull request #114 from Azaezel/alpha40DBCache
Alpha40 db cache
2019-10-26 23:19:19 -05:00
Areloch
fde83b7058 Merge pull request #111 from Bloodknight/MinorFixes
Minor fixes
2019-10-26 23:19:07 -05:00
Areloch
0b282c6947 Merge pull request #99 from Azaezel/alpha40ModuleDependencyResolvers
Alpha40 module dependency resolvers
2019-10-26 23:18:49 -05:00
AzaezelX
0b21072b10 datablock caching, and dependency-object vs hooked up class method segregation
1) relies on https://github.com/Areloch/Torque3D/pull/99 for modular resolvers (re-included for ease of testing)
2) adds a new module::onServerScriptExec(%this) callback executed after datablock transmission
3) bypasses DB transmission in favor of a straight file read if the resulting network data would (via CRC compare) match what a client already has saved off under data\cache\<client or server>
2019-10-21 18:55: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
Marc Chapman
40cdc29e0c GFXStateBlockData new -> singleton 2019-10-16 19:26:45 +01:00
Marc Chapman
27d2f63986 Shaderdata new->singleton 2019-10-16 19:23:32 +01:00
AzaezelX
f44cb01249 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
AzaezelX
9229c21788 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
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