Commit graph

35 commits

Author SHA1 Message Date
AzaezelX 5ffa3b81f1 dial back nullPtr usage
while it still remains a good idea to port as many NULL compares and assignments over to nullPtr as feasable, we do still need to sort out how to better support scripted empty, false, and zero assigns for things like objectIDs.

this means we'll need to both fully convert the backend of the parser to support that kind of thing, but also alter most if not all exisiting NULLs. up to and including things like SAFE_DELETE. while that's certainly feasable, given there's aproximatel 400 nullptr assigns/checks prior to this commit, and roughly 1800 of the prior, if it terminates in a script call and not an aip one direct, we'll be dialing that back until such time as fork fully fopcused on converting and resolving any lingering mismatches is completed.
2025-12-29 17:45:09 -06:00
JeffR 66f924ebd4 Updates TerrainMaterialAsset to utilize similar macros to everything else
Updates groundCover to utilize TerrainMaterialAsset macros in place of straight StringTableEntry for type layers
Fixes formatting for several asset types' inspector fields so they correctly call down into prompting the AssetBrowser being shown with correct field naming, thus allowing fields that are arrays to have the right index when setting the target variable
Updates several asset helper macros to handle blank values for network traffic to actually be sent to client, thus allowing setting an asset to blank on the client, rather than only falling back
2025-12-03 00:33:14 -06:00
AzaezelX e8ccb3443a try to load shapes during preload
it's half the point of the protocol
2025-07-06 19:51:55 -05:00
marauder2k7 5d641929cf player and ground cover 2025-06-19 14:10:00 +01:00
AzaezelX 8bd145d54f use of get<some name> methods that already return nulls/false when attempting to load
in contexts where we would want to try first (pt2)
2025-05-28 17:45:02 -05:00
marauder2k7 e1c01cd49a Merge remote-tracking branch 'upstream/development' into imageAsset_refactor_rev3 2025-05-12 14:45:41 +01:00
JeffR 24db0305f6 Modified callback to ensure that when a shapeAsset changes, groundCovers properly re-initialize to reflect the change 2025-04-24 13:24:26 -05:00
marauder2k7 0da0903599
Merge branch 'development' into imageAsset_refactor_rev3 2025-03-24 20:07:06 +00:00
AzaezelX f633ef3a3d fill in the validated variables 2025-03-09 11:53:23 -05:00
marauder2k7 cebfdbc5ec material definition
changing the beast over to the refactor
2025-01-23 22:15:29 +00:00
AzaezelX f5a34308f9 add a docsURL; macro to link a given set of script config vars to git or similar storage urls via clicking on the inspector 2023-01-27 01:13:15 -06: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
AzaezelX 98a079a797 code duplication prune. should aid in stability 2021-10-03 02:56:26 -05:00
Areloch 426f5974da Corrected ShapeAsset array initpersist macro to assign arraySize
Uncommented line in preview build function for material assets so they generate the reduced preview image
Added cubeFace to cubemapData import processing vars checked
Updated ShapeBaseImageData convert vars to properly use asset var names
2021-08-08 23:44:17 -05:00
AzaezelX b73353a446 we want old direct-file references first, then asset macros, since those plug in the old entries to empty if valid. 2021-07-29 11:12:07 -05:00
Areloch 5525f8ecdd Converts all game, gui editor, and system classes to utilize assets
Processed core, tools and default modules to utilize assets
Converted all console types that were string based, such as TypeImageFilename to utilize const char*/the string table, which avoids a lot of type swapping shenanigans and avoids string corruption
Removed unneeded MainEditor mockup module
Removed some unused/duplicate image assets from the tools
2021-07-19 01:07:08 -05:00
Areloch bf5b26f734 Assetifies MeshRoad, Decal Road, and the material slot of GroundCover
Creates a networked and non-networked variant of DECLARE_MATERIALASSET macro
2021-01-03 08:58:53 -06:00
AzaezelX 7c9d2f3ca2 groundcover requested augs
1) fadescale- allows an enduser to reduce drawdistance for groundcover via $pref::GroundCover::fadeScale
2) adds minslope, conformtonormal, and min/max rotations along the x and y axies
2020-06-13 12:18:41 -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 ae857faae2 Adds test shapes of Kork and SpaceOrc
Sidestep of memleak from CSF at the moment
Minor fixes and corrections with asset importing and loose files
WIP of updated options menu
2019-05-28 17:24:29 -05:00
Azaezel 610667f760 groundcover shadowvar cleanup 2018-03-15 15:37:04 -05:00
Azaezel 654fc29dc2 bounds to mBounds conflict avoidance 2018-03-13 01:05:15 -05:00
Areloch 25686ed4be Implementation of sRGB image support. Overhauls the linearization setup to utilize the sRGB image types, as well as refactors the use of ColorF and ColorI to be properly internally consistent. ColorIs are used only for front-facing/editing/UI settings, and ColorFs, now renamed to LinearColorF to reduce confusion of purpose, are used for color info in the engine itself. This avoids confusing and expensive conversions back and forth between types and avoids botches with linearity. Majority work done by @rextimmy 2017-06-23 11:36:20 -05:00
Areloch af8fbf0e3a Goes and replaces the references/names that use Prepass to be Deferred, since we're actually using deferred. 2017-04-11 00:23:14 -05:00
Azaezel fbfd3ed8ed clang: constructor initialization order
while not a major issue per-se, the sheer number of times the engine has to jump back in memory and backfill data in a given class can add up. First run of... many.,
2016-10-14 18:16:55 -05:00
Daniel Buckmaster 84e8cbb4ee Revert recent style cleanup changes. 2015-03-04 11:58:36 +11:00
Daniel Buckmaster 33fcc59543 Merge remote-tracking branch 'origin/style-cleanup' into development
Conflicts:
	Engine/source/T3D/tsStatic.cpp
	Engine/source/console/compiledEval.cpp
	Engine/source/ts/tsMesh.cpp
	Engine/source/ts/tsShape.cpp
2015-03-01 22:30:22 +11:00
Ben Payne 0ffd7f5620 Fix member vars left uninitialized in constructors 2015-02-20 18:41:51 -05:00
bank 69dbaf5b85 Rename all member variables to follow the style guidelines (prefixed with the 'm') - class TSShape 2014-05-13 14:08:42 +04:00
DavidWyand-GG 3be3cc6589 Fix GroundCover banking with camera
Fix for issue https://github.com/GarageGames/Torque3D/issues/527
2013-11-11 15:03:45 -05:00
DavidWyand-GG 91e542b8ec SceneCullingState with culling and camera frustum
- Fix for issue https://github.com/GarageGames/Torque3D/issues/525  This
fix takes into account the skewed view into the world when you have a
projection offset and the ability to see further into the scene at the
edges opposite to the offset.
- SceneCullingState now has two frustum rather than one: a culling
frustum and camera frustum.
- The camera frustum should be referenced when you need the projection
matrix or don't want a skewed frustum.
- The culling frustum should be referenced during any scene culling or
when determining what dynamic geometry to render.  It currently skews
itself to take into account any projection offset (automatically
calculated in SceneCullingState constructor).
- When there is no projection offset, the camera frustum and culling
frustum are the same.  This usually means any time when not using the
Oculus Rift.
2013-11-07 15:07:16 -05:00
Daniel Buckmaster 8bc72ad9f9 Fixed GroundCover placement on rotated TerrainBlocks. 2013-06-13 10:15:48 +10:00
Daniel Buckmaster 027d5608bd Added comment. 2012-11-13 10:21:03 +11:00
Daniel Buckmaster 74bd05030d Consider zoom when culling billboards.
screenScale represents the current zoom factor, but may need some
revision because I'm not sure if what it's doing is technically correct.
It is used to multiply the culling distance for cells, as well as the
fading distance.
2012-11-13 09:13:49 +11:00
DavidWyand-GG 7dbfe6994d Engine directory for ticket #1 2012-09-19 11:15:01 -04:00