Commit graph

634 commits

Author SHA1 Message Date
JeffR
bae6a3f514 Fixes assignment of the mapTo field for terrain FX materials to point to the assetId rather than just the assetName, fixing the material mapping lookups
Fixes project import to comply to above change
Makes Material default mEffectColor to white instead of whatever default value it comes up with due to memset
2022-03-31 18:58:06 -05:00
JeffR
c2857efe28 Adds logic to up-convert non-embedded terrain materials and materials to have embedded definitions 2022-03-31 00:40:24 -05:00
JeffR
85bb4cbff3 Adds cleanup of material and terrain material objects when creating a new asset of the respective type to avoid collisions when we immediately properly init the asset on creation
Reorganizes the terrainMaterialDlg to use a split container for better usability, fixed some minor layout issues, and added in FX material fields to be able to edit those directly via the terrain mat editor
Updated the terrainMaterialDlg save logic to better sequence the steps for saving to allow stable in-place creation of asset for stub materials due to missing references
Updated the terrainMaterialDlg save logic to properly save out all the material effects stuff like footstep flags, effect colors, or sounds.
2022-03-30 01:38:15 -05:00
JeffR
81aa43a4bd Fixed formatting to match the standard for TerrainMaterialAsset inspector fields
Added utility functions to TerrainMaterialAsset for getting the material and fx material definitions
Fixed logical flaw with the initialization code that could cause the materialDefinition to be nulled in terrainmaterialassets
Fixed layer handling in GroundCover to properly work with TerrainMaterialAssets
Added logic to properly exit out of the onAdd in the event no internal name is assigned or if there is a collision. This prevents duplicates from appearing in the terr mat editor when creating a new material
Fixed issue where going from a creator item in the AB to selecting a particular asset type would break the filtering because select mode removed collections and creator items, changing all the item ids and breaking references.
Added sanity check to prevent attempting to acquire non-assets in the AB, such as creator entries, which would cause console spam
Added optional field to provide an override new asset name to the New Asset window
Added logic so in the event no FX Material is found when importing a terrain material, it will create a stub entry so it always has one defined
Added logic to handle situations where a terrain has a reference to an assetId, but the asset does not exist for whatever reason. Will prompt to create the missing asset, then continue on with the regular saving/editing process as normal
Fixed issue where the terrain material editor would try and reference the preview images being used in the display on the editor instead of the proper assetId itself
2022-03-29 01:40:07 -05:00
JeffR
f204a4c646 Fixes issue where nested callOnModules would thrash the queued exec lists from other invokes
Also removes unwanted reference ids from the OptionsMenu gui object and disabled the ability for dynamic fields to be saved on it to prevent it from happening again.
2022-03-27 14:09:41 -05:00
Brian Roberts
d3832d062e
Merge pull request #747 from Azaezel/alpha40/playGuiCallbackHooks
extended callonModules hooks for baseline playgui
2022-03-27 04:37:28 -05:00
Brian Roberts
c64671ff91
Merge pull request #753 from Areloch/miscFixes20220327
Misc Fixes for 2022/03/27
2022-03-27 04:36:49 -05:00
JeffR
dff83182e2 Added sanity check to ensure that the requested file to be scaled via saveScaledImage actually exists
Shifts integration of other modules with the OptionsMenu so other modules can inject their own options categories to a callOnModules hook
Updated ExampleModule to use new options menu integration angle to show example option
Deleted unneeded dropdown_textEdit_image asset def from baseUI
Fixed incorrect internal values for the terrainIcon_image asset def that made it present as a redundant terrain material asset
Cleaned up old, bad loadFilters calls and replaced them with the proper refresh() calls.
Removed old, bad calls for jumping through the asset browser's tree from when it was still hardcoded organization, which cuts down a lot of error spam
Cleaned up some of the asset type's preview image assignment code to be more reliable
Made terrain materials now use a similar preview proxy shape as regular materials
Fixed erroneous duplicate GuiInspectorTypeShapeAssetPtr::onControlDropped, which was breaking drag-n-drop actions of shapeAssets into inspector fields
Added proper logic for drag-n-drop actions of imageAssets into inspector fields
Add sanity check after creating new asset to avoid redundant attempts at initialization of the new asset
Fixed ConvexShape Editor tooling so you can now use the UI to apply the selected material to the selected surface
Added tools menu to the menubar with the Project Importer entry so the PI can be launched from either tool
Implemented ability to drag-n-drop imageAssets onto MaterialEditor map fields and have it work
Implemented ability to drag-n-drop imageAssets onto TerrainMaterial Editor map fields and have it work
Made the TerrainMaterial editor dialogue have a non-modal background so you can interact with the editor as normal while it's up
Add sanity check to avoid attempting to mark EditorTree items if we couldn't find it's id
renamed BaseMap references in terrain material editor to diffuseMap for consistency
2022-03-27 03:05:48 -05:00
JeffR
69d547fd72 Adjusted handling for the bitmap and bitmapAsset fields for guiBitmapButtonCtrl to forcefully update the button states when changed, ensuring that the bitmaps refresh when changed via the field
Added callback for onResize to guiWindowCtrl so controls - such as the EditorTree - can be properly resized in certain circumstances when the window is changed
Added getIncrement() and getRange() to GuiGameSettingsCtrl to better facilitate options manipulation on the script side
Corrected some of the console method documentation strings in GuiGameSettingsCtrl
Removed some unneeded, extraneous files and their asset definitions that came from odd import conversions. Where applicable, created cleaned up versions to make naming conventions and references stable
Fixed canvas mode update text typo: FSAA -> FXAA
Added logic to DOF, Light Rays, SSAO and Vignette postFX's to check both the preset setting AND the user preference before enabling.
Shifted initialization order so PostFX's are loaded before we configure the canvas, to ensure stuff like the FXAAPostFX exists and can be toggled on on load
Fixed multiple issues with options menu:
 When using gamepad, unable to navigate from categories to options. Fixed so can now traverse as normal
 Input limitations on gamepad necessitated changing of how setting applying happens, is now done as a 'apply or discard' prompt when leaving the options menu
 Added proper handling for adjusting settings with gamepad with left/right inputs
 Fixed issue where the unapplied change for an option was sometimes being processed as an object name rather than an implicit string. Now made to be explicit strings to avoid issue.
 Made the menu button input for "Select" to go from categories to options gamepad only, and hidden when in the options list
 Fixed issue where changing window mode didn't correctly affect resolution option. Now set up so changing this field correctly refreshes the resolution option. Specifically, when on borderless, the resolution field does not show, preventing confusion as it is always full resolution
 Generally have the options list refresh when changes happen to allow any and all fields to be able to dynamically respond to other options having changed improving flexibility.
 Cleaned up old, unused, commented out functions
Added ability on OKCancel message boxes to override the button text if needed
Fixed issue with AssetBrowser where the shrink/grow icons next to the preview size slider were not anchored correctly.
Adjusted callback logic so if preview slider is clicked on, rather than dragged, it will correctly update the zoom values
Added sorting to Modules List dropdown for the AssetBrowser
Improved standardization of double-clicking in AssetBrowser. Now defaults to editing action if regularly browsing and selecting if in select mode. Still allows regular per-type overrides as normal
Moved definition of GuiDisabledTextEditProfile to gui profiles.ed.tscript file, removed duplicates to stop error spam
Adjusted default settings value for double-click action in AB to be edit to prevent unstable behavior
Removed old file refs from Load Recent list in the default settings
2022-03-26 22:36:37 -05:00
Brian Roberts
05a6a249ea
Merge pull request #748 from Areloch/MiscImportAndToolFixes
Misc Tool and Asset Import fixes and improvements
2022-03-20 18:49:36 -05:00
JeffR
26044677c1 Made renaming of terrain materials on importing terrainblocks to use the full assetId, as it should 2022-03-20 16:42:21 -05:00
JeffR
cf8659735b Adjusts handling so if a file being processed for importing is not actually imported as a new, successful asset it does not return an id, allowing tooling to only worry about actual new assets.
Adds utility functions to TerrainBlock to be able to replace names of materials in the terrain file, mostly used for importing legacy files
Adjusts terrainblock save asset logic to be able to save on a non-networked terrainblock such as when loaded temporarily on the server, for tooling purposes.
Changes handling of not-found terrain materials when loading a terrain block so it will create a dummy terrain material with the same name as the not-found, but set the texture as the Warning image, instead of thrashing the original material names data
Adds logic for testing newly imported terrain files' materials and if needbe, replacing them with the new terrain material asset ids.
Adds logic in the project importer for if a would-be level asset's name already exists, we attempt to slap a "Level" suffix onto it to sidestep collisions.
Changed LegacyImport config to try always adding shape suffix to help minimize probable naming collisions.
Fixed handling of mission file's MissionGroup defines by specially checking for MissionGroup objects and processing the line into a Scene() declaration instead.
2022-03-20 16:17:06 -05:00
JeffR
b3342ff7e6 Adds handling for import of files marked as ShapeAnimationAsset
Adds filetype handling of dsqs for importing
Improves logic checks to prevent incorrectly redundantly processing incoming assets for collisions, which could mark all assets as colliding instead of all but the first.
Adds better handling for assets marked as for dependency usage when importing
Improves rules for writing originalFilePath only if it's actually from an external directory, and the file actually exists to prevent polluting in redundant or garbage data
Fixes issue where MaterialEditor was not tracking the currently material assetId if the material was changed via the dropdown selector
Adds a sanity check to shapeAnimationAsset load so if the resource does not load properly it doesn't hard crash but instead logs the error and returns safely.
2022-03-20 03:17:31 -05:00
AzaezelX
8cea8ec011 extended callonModules hooks for baseline playgui
used for the noticeSystem chathud injection sample
2022-03-19 13:03:33 -05:00
Brian Roberts
c95db92622
Merge pull request #745 from Areloch/FixEditorsMenubar
Fixes handling of the setEditor commands so that the dropdown Editors menubar entry properly works
2022-03-17 13:40:01 -05:00
Brian Roberts
4969effaba
Merge pull request #744 from Areloch/miscCoreToolsErrorCleanups
Fixes and cleans up various issues and error spam for core and tools folders
2022-03-17 13:39:53 -05:00
Brian Roberts
1523bb0653
Merge pull request #743 from Areloch/newMatEdMaterialAsset
Changes the creation of new materials in the material editor process
2022-03-17 13:39:44 -05:00
JeffR
87ea262ef0 Fixes handling of the setEditor commands so that the dropdown Editors menubar entry properly works 2022-03-17 03:09:11 -05:00
JeffR
2c999008f1 Fixes and cleans up various issues and error spam for core and tools folders
Also:
Fixes error spam about CreatorIconArray
Fixes error spam about duplicate uses of various materials
Converts a number of materials to be packed into the mat assets for cleanliness and preventing unwanted duplicate exec's
Removed some extraneous misconvert '.asset.taml' files
Fixes 'cannot compile shader' error when trying to use the viz modes
Fixed a some instances of guiControlProfiles not being actually defined
Fixed some instances of guiControlProfiles being duplicated
2022-03-17 02:43:18 -05:00
JeffR
532200ff43 Changes the creation of new materials in the material editor to go through the new asset interface, which ensures the creation is standardized across the board. 2022-03-17 00:03:22 -05:00
AzaezelX
23b908da56 crashfix and projection fix for spotlights with cookies 2022-03-15 19:26:37 -05:00
Brian Roberts
2198dd14d1
Merge pull request #737 from Azaezel/alpha40/GCOrder
ensure MissionCleanup exists before .mis load
2022-03-09 17:02:29 -06:00
AzaezelX
4d336e9ecf ensure MissionCleanup exists before .mis load 2022-03-08 17:52:42 -06:00
marauder2k7
1d5a36c4c0 Spheres for Skies
-Added: SkySphere a full sphere skyBox
-Change: ScatterSky now renders a dome instead of the top face of a cubeSphere
-Change: Creator now has skySphere

TODO: Simplify sphere creation
PossibleMethod: Add the sphere creation functions to one place to be shared around.
2022-03-08 19:50:36 +00:00
AzaezelX
3e4cc0a5c6 fix probe baking typo 2022-03-06 13:18:06 -06:00
JeffR
b8b94fdec9 Standardizes project import copy behavior to validate if we're in-place importing to avoid erroring out needlessly with a new utility function
Fixed wrong variable preventing ImportConfig Editor from refreshing when selecting different configs
Standardized DefaultImportConfig's settings against Legacy Import setting, specifically collision resolution behavior and appending _mat suffix to materials
2022-02-25 00:03:33 -06:00
JeffR
7659b51ac9 Added trimming of parsed object names to ensure whitespace before and after isn't accidentally processed as invalid characters
Also made the classname validity check happen on the other creation keyword types
Added logic so when processing an importing material definition that already has an asset, can handle it if the scriptPath doesn't have the extension in it already.
2022-02-24 01:33:14 -06:00
JeffR
8d8432115b Adjusts formatting when parsing for object and function definitions in the project importer to be more accurate
Adds handling for progrommatic new object delcarations where the class type is defined via () encapsulated code so the project import doesn't mangle it.
2022-02-24 00:48:00 -06:00
Brian Roberts
10c3188171
Merge pull request #730 from Areloch/BaseUIModuleStandardizePR
Base UI module standardize pr
2022-02-23 10:45:00 -06:00
JeffR
9b4acda7bd Missed clearing the options categories in options menu onWake 2022-02-23 00:29:00 -06:00
JeffR
725e2b1575 Typo'd assetId correction 2022-02-22 23:39:52 -06:00
JeffR
938e4930ae Git didn't properly actually commit new files. 2022-02-22 23:28:28 -06:00
JeffR
01de818503 Ran importer on UI module to ensure guis and images are converted to latest standards
Updated all UI module controls to utilize a more standard structure with stack controls instead of the GameMenu ctrls, as well as more standardization of gamepad input handling
2022-02-22 20:12:39 -06:00
JeffR
6a357d8dfb Merge branch 'Preview4_0' of https://github.com/TorqueGameEngines/Torque3D into Preview4_0 2022-02-17 18:30:23 -06:00
JeffR
40acf75238 Template changes 2022-02-17 18:21:13 -06:00
AzaezelX
1f7d06542e doublesided material renderfix
as per the OG writeup, need to apply horizon trick strictly to the specular component
2022-02-14 14:42:15 -06:00
JeffR
c1a88ec423 Complied connect var data in GL to D3D for the wsPosition
Made the use of ints for the cubemapIdx in the shaders consistent
2022-02-12 17:32:30 -06:00
JeffR
79eebdd5f3 Cleaned and repacked work to update the probe bin and reflection probe behavior to clean and standardize it. 2022-02-12 15:53:40 -06:00
JeffR
696c2e2eec Add sanity check for default value results checking when filtering out default values
Add additional utility functions for updating parsed object data in the project importer
Adds logic to find and associate FX materials to their terrainMaterials and adding them to the terrian material asset if found on project importer
2022-02-02 01:11:33 -06:00
JeffR
5e1eb80bc1 Fixed handling issue where it would misparse lines that would contain new/singleton/datablock keywords
fixed incorrect getSubStr function invoke
2022-01-30 19:14:36 -06:00
JeffR
630285def6 Shifts handling of material and terrain material definitions to be written into the asset definition taml file instead of having an extra loose file
Also updates importers to correctly handle this change
Adds ability for taml XML serialization to properly assign array'd fields
Adds 'inheritFrom' field to simobjects for when objects with parent objects are serialized
AssetBase how inherits from SimGroup so it can have objects like material definitions embedded in them for save/load in the taml definition file
Updated loading/handling logic in terrain material asset to be more similar to regular material assets
2022-01-30 11:50:16 -06:00
JeffR
728aa83481 Comments and cleanup 2022-01-20 17:48:01 -06:00
JeffR
ecd35df7e9 Implementation of updated handling of Legacy Project importer to better seperate out importer versions as well as more explicit processing of incoming content 2022-01-20 01:14:43 -06:00
JeffR
cde1d68f78 Fixes handling in the generic creator function to deal with commands formatted with "return " at the start AND without
Fixes assignment of default material to convex shape when the toolbar button is pressed to create a 1u cube automatically.
2021-12-25 12:30:31 -06:00
JeffR
b70faae38f Updates the handling of the baking of shape asset previews to generate them with support for view angle control to improve visibility, as well as supporting overriding of a material in the preview bake
Also utilizes the updated bake handling to have material asset previews render as a sphere shape asset, overriding with the material asset's material, improving distinction of what is a material asset vs image asset
Also updates the sphere preview mesh to be more generic and not only for reflection probes
2021-12-24 17:26:45 -06:00
AzaezelX
7c32abd026 fix ServerPlaySound 2021-12-16 18:25:14 -06:00
AzaezelX
a76613604a augments playSoundAsset
adds hooks to the garbage collector
exposes an (optional) position.
adds a ServerPlaySound + clientCMDPlaySound command pair to trip that for all clients
2021-12-13 20:36:50 -06:00
Brian Roberts
07310d4d6d
Merge pull request #699 from Areloch/CoreInitCleanup
Cleans up some core execution behavior
2021-12-05 19:31:13 -06:00
Areloch
c6c2e9139f Cleans up some core execution behavior
Removes a duplicated material definition
Fixes up PostFX init'ing order so it inits before trying to load the prefs
Adds a skip of loading the CoreModule's materials so we don't double-execute any of them
Fixes a typo for the Vignette PostFX's name so it properly integrates
2021-12-05 11:00:02 -06:00
Areloch
a30e9c6242 Removes the Library tabs from the World and GUI editors to avoid confusion. Adjusts the creation namespace from ECreatorWindow to a dummy object ObjectCreator to handle invoking for creation 2021-12-04 22:47:10 -06:00