Commit graph

93 commits

Author SHA1 Message Date
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
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 796a95b8a5 Adds isSRGB and invertSmoothness checkboxes to terrain material editor
Added ability for assimp loader to ignore cached DTS shapes on demand when building shape data
Added assimp importer options to asset import config settings set
Moved variableInspector field types folder from tools/assetBrowser/scripts to tools/guis
2019-11-11 01:40:55 -06:00
AzaezelX 062e6f3364 Merge branch 'Preview4_0' of https://github.com/Areloch/Torque3D into alph40_pbrConfig_BREAKINGWip 2019-11-07 01:39:50 -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 25015eb724 missing gui file entries. though it doesn't seem to be reflected in the end terrain material editor result... 2019-10-31 23:42:13 -05:00
Areloch fde83b7058 Merge pull request #111 from Bloodknight/MinorFixes
Minor fixes
2019-10-26 23:19:07 -05:00
Marc Chapman 626a656bcb MIssed settings 2019-10-20 09:48:57 +01:00
Marc Chapman 47f60f9272 Added TerrainSnapOffsetZ back to editor settings 2019-10-20 09:16:16 +01: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
Areloch e621e362f4 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
Areloch 782ab7b73a Add proper refreshing of fields in the Project and Editor settings editors. 2019-10-05 01:16:14 -05:00