Commit graph

106 commits

Author SHA1 Message Date
Areloch
85a9a9b608 Implements shape preview caching for shape assets
Also standardizes the loading gui overlay so it can be used to inform that the asset preview generation is happening
2021-01-27 01:54:26 -06:00
Areloch
3cb1699ed1 Fixed guiProfile references 2021-01-24 04:40:19 -06:00
Areloch
b7a2c30337 Integrates object creator logic into the AB
Adds lookup logic to Datablock AB entries to try and find class icons for the preview
Adds 2 new datablock class create methods
2021-01-24 04:33:28 -06:00
Lukas Aldershaab
9ccaa6d3ea Improve handling of non-default script filenames 2021-01-19 21:32:31 +01:00
Lukas Aldershaab
099dd4f1f3 Parametrize script extension, default to 'tscript' 2021-01-19 21:32:31 +01:00
Brian Roberts
27641b16ca
Merge pull request #424 from lukaspj/feature/new-terrain-blending
Height based terrain texture blending
2021-01-04 05:36:50 -06:00
Lukas Aldershaab
7ffe0f3c80 Fix default values for texture formats in UI 2021-01-04 11:48:00 +01:00
Lukas Aldershaab
88bdb594aa Set default terrain texture format 2021-01-04 10:26:08 +01:00
Lukas Aldershaab
60a10f4334 Add global blendDepth slider and update default blendDepth for mats 2021-01-03 01:26:19 +01:00
Lukas Aldershaab
db496fa0c4 Make terrain texture settings global, add dialog to painter 2021-01-03 00:50:42 +01:00
Lukas Aldershaab
1ffec9ab56 Add blend contrast slider 2021-01-02 03:20:18 +01:00
Lukas Aldershaab
f55e7f7a22 Terrain painter integration for height based blending 2021-01-01 21:07:12 +01:00
Areloch
f7ce1efd62 Consolidates and standardizes terrain creation between the editor, asset browser and creator panel
Also shifts terrain data importing into the new terrain asset window instead of separate in the File menu
Also removes redundant loadMaterials call that caused duplicates in the Terrain Painter material list
2020-12-28 23:43:56 -06:00
Brian Roberts
52ecd8bb0f
Merge pull request #395 from Areloch/MarkActiveScene
WIP of marking active scene in the scenetree
2020-12-19 02:35:58 -06:00
Areloch
b0f977b810 Fixes opening of Gui Asset from AB so it correctly opens the GUI editor, making the toolbar appear
Fixes typo'd name for material-editor menubar image
Adds probe menubar images
Adds setting menubar images
Adds probe and settings buttons to menubar
Removes unneeded tab from class visibility window popup
2020-12-06 08:48:35 -06:00
Areloch
27cf3466c3 WIP of marking active scene in the scenetree 2020-12-03 00:31:23 -06:00
Areloch
9ca276fef0 Misc fixes to ensure that the default postFX save, load and editing process is valid
Also fixes it so if a level asset doesn't point to a valid postfx preset file, it'll generate a clean one on save
2020-11-01 15:39:30 -06:00
Areloch
6a3603c737 Overhauls the handling of probes to utilize an active probe list to improve performance and allow a greater total number of active probes in a scene.
Also fixes handling of metal materials during bakes to render properly, and fixes a possible double-up return in findObjectByType, which could cause doubling when getting probes in the scene
2020-10-19 00:53:09 -05:00
Brian Roberts
0c29847943
Merge pull request #343 from lukaspj/feature/mesh-road-profile-editor
Profile editor for the meshRoad object
2020-10-03 17:48:00 -05:00
Lukas Aldershaab
973fd44c6a Profile editor for the meshRoad object
credit to Ryan Mounts (RDM)

found originally at http://www.garagegames.com/community/forums/viewthread/105391
2020-10-04 00:19:43 +02:00
Brian Roberts
681dbe108c
Merge pull request #323 from Azaezel/alpha40_smoothToRough_clean
shift pbrconfig to ORM in keeping with the prepoderance of industry standards
2020-10-03 11:49:10 -05:00
Lukas Aldershaab
dca2dc0074 Implementation of guiRenderTargetVizCtrl 2020-10-03 00:58:38 +02:00
AzaezelX
0c7811bd1a shift pbrconfig to ORM 2020-09-30 13:51:12 -05:00
Areloch
b05d5fd3bd Merge branch 'PostFXReorgAndUpdate' of https://github.com/Areloch/Torque3D into Preview4_0 2020-09-11 03:21:56 -05:00
Areloch
3c0c106051 Reorgs the editing of postFX so the editor settings edits the default config, and Scene > edit postFX to edit scene
Changes the saving of postfx from saving via the editor to instead save on level save
Reorganizes the core postfx folder to subfolders for better organization, as well as moving the shaders to group with the respective postFX
Changes the postfx editor so it only edits postFXs that are actively enabled in the scene, and only saves out similarly.
Adjusts the level download logic to pass asset id for both data compactness compared to the full level filename, as well as easier lookup reference for associated files like the postFX preset file or decal files from the asset def.
Updated the PostFXAsset template to provide an up-to-date starting point/template.
2020-09-11 02:28:15 -05:00
Areloch
0b954459a3 Added recursive scanning for utilized assets on any object within the scene, soas to catch objects in simgroups or parented
Disabled initial materialSlot fill-out until logic for looking up assetName from material list name can be done to avoid 'unable to find assetid' spam
Added function to SimGroup to easily acquire child object by index
Some minor cleanup of commented lines in asset browser
Fixed forward/backward navigation arrow behavior in asset browser
Fixed double-click navigation when the AB is in select mode
Fixed erroneous 'could not acquire asset' messages when navigating folders in AB
Added editor setting for UseGroupSnap snap option and integrated it into the UI interface
Removed some duplicate settings from the EditorSettingsWindow
2020-09-02 01:26:43 -05:00
Brian Roberts
82f7db3d48
Merge pull request #306 from Areloch/MiscFixes20200828
Misc Fixes for level saving and selecting asset paths
2020-08-30 07:24:04 -05:00
Areloch
8824ee9a2a Added autosave logic to the world editor. Via a schedule, it will autosave to tool/autosave to create a backup of the current dirty scene
Fixed RMB menu on multi select objects in the Scene Tree so it will properly display the full list of actions
Fixed up several spots of editor settings fields being incorrect copy-pastes
Integrated AssetBrowser tool into the standard initSettings hook-through for proper default settings integration
Added Editor Theme settings to the default value init'ing of the World Editor
Shifted exec of editor settings default values as part of the initial editor load to ensure that if the settings.xml is deleted, theme info reverts back to the default
Integrated Convex Editor's settings into new EditorSettings window system
Added several missing World Editor settings to Editor Settings Window
2020-08-30 04:59:26 -05:00
Areloch
f3fe2298d5 Fixes level save as logic to correctly name new level's scene object to match, and helps ensure you're editing the right scene.
Added New Folder button to Select Path window
2020-08-29 04:22:58 -05:00
Areloch
ae70cccfde Fixes de-selection logic in editor that caused special cases to permanently be selected such as mounted Lights
Shifted every-frame RT allocation to be stored in advancedLightBinManager
Remove deprecated references to dynamicShadowMap in light materials
Updated spotLight shaders to remove deprecated dynamic shadowmap reference which was causing a crash when spotlights had shadows turned on
Added GLSL version of Viz_SurfaceProperties so it works on both APIs
2020-08-28 01:57:06 -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
4ffe6d2bb7 Adds a notes object that only displays in the editor, useful for when working on maps. 2020-08-17 16:41:59 -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
Areloch
79ecc2f4a0 Updates the rest of the asset types to utilize separate expanded path variables to avoid breaking assetDef saving
Fixes select mode for the Asset Browser to properly filter to the selecting type
Fixes the imageType in the asset import window inspector to properly set to the importing image asset's discovered type if valid
Fixes AssetBrowser asset selection return so it returns back a valid assetId
Fixes TerrainMaterial save crash by ensuring we fill in the diffuseMapAsset
Removes saving of TerrainMaterial being saved to a generic script file if one isn't found for an existing TerrainMaterialAssets
2020-08-09 01:32:27 -05:00
Areloch
813762c722 Separated ShapeAsset's fileName for the loose file name and the fully processed file path to avoid potential save-out problems
Fixed autoAssetImport so it properly cleared any prior import session objects
Added beginning and ending comment line signfiers to make import logging easier to spot in console
Fixed variable used when doing the actual import on assets where it would use the top-level asset import objects and not the children array, causing a crash
Fixed the Make Selected A Mesh logic to work with the creation of a new shapeAsset
Added secondary handling to generate a prefab of the original selection for preservation purposes
Added optional input for makeSelectedPrefab to not delete the original selection(useful for the preservational prefab mentioned above)
Adjusted font color for NA text edit fields to make it more legible
Changed the non-working reloadDatabase button in assetBrowser to instead open the Asset Editing editor settings page.
2020-08-07 00:24:26 -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
AzaezelX
bf50af7954 show/hide children automagically for simgroups via inspector
operates by shifting oninspectpostapply callback further down the inheritance hieracrchy and add some scripts to trigger sethidden and setlocked for all sceneobjects in a given simgroup if the states are set for that group
2020-03-29 17:36:33 -05:00
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
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
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
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
ac77315e29 Merge branch 'alph40_pbrConfig_BREAKINGWip' of https://github.com/Azaezel/Torque3D into Preview4_0 2019-11-22 21:24:59 -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
72ceede272 Added Forward Material debug viz for HLSL(so far) and integrated it back into editor flagging.
Re-added logic to track existing probe shader consts instead of constantly recreating it
Added logic for pre multiplied translucency mode
2019-11-21 00:48:55 -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
62fabf6894 From @rextimmy was missing the stateblock handling for the Transparency mode Sub
Added Open Recent functionality to File menubar item
Added new editor setting for Startup Mode to dictate if it'll open the most recent level edited or the blank level, instead of utilizing a game UI control for level selection.
Properly re-enabled the handling for the forceSidebarToSide setting to track to the setting value
2019-11-19 01:25:24 -06:00