Commit graph

78 commits

Author SHA1 Message Date
JeffR ff2a4daa9f Ensures that when performing certain actions like painting, erasing, cutting or pasting, it will mark the forest editor as dirty so it will save as expected 2025-08-12 00:46:52 -05: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 9208cdfcd6 tsforestitem and forestitem 2025-06-19 17:24:43 +01:00
JeffR bb7ee38bf4 - Reimplements autosave logic to handle levels, subscenes and terrains in a more consistent, reliable way.
- Adds entry to RMB menu in Asset Browser to restore an asset to a backup copy taken from autosaves
- Adds reparent out-of-bounds objects button to SceneGroup inspector
- Adds ability to have SubScene have a different loading bounds from the actual subscene bounds, allowing load triggering to happen ahead of the bounds of the subscene itself
- Fixes asset importer handling of animFPS field to be the correct type
- Adds onInspect handling to GameBase allowing better handling for any game class type with editor integration
- Add getAssetLooseFileCount and getAssetLooseFile to AssetManager to be able to iterate over all loose files associated to an asset
- Add standard/default preload function def to forestItem
- Fixes handling of text placement on GuiIconButtonCtrl when text is set to the right
- Adds setGlobalCenter utility function
- Adds ability to set guiInputCtrl active state
- Matched util functions for tracking if left and right mouse buttons are down to EditTSCtrl alongside the existing middle mouse
- Add empty element sanity check to appMesh loader
- Add callback for GameBase when game is created
- Add default graphics options config for steamdeck
- Fix typo in assetImportConfig default
- Filters SceneGroup utility buttons in inspector to only show for relevent class types
2025-05-25 07:40:10 -05:00
JeffR f31acf774e Adds handling for datablocks to be reloaded if the assets they utilize have their files directly edited. 2025-04-24 00:58:20 -05:00
AzaezelX f633ef3a3d fill in the validated variables 2025-03-09 11:53:23 -05:00
AzaezelX 99bcf7ca3e fix forest editor failing to pop up a create new
reminder note for if switches in c++, it it fails once in an or evaluation, that's it. it does not try other portions
2024-09-30 19:45:32 -05:00
marauder2k7 2b295fb7f0 rest of virtuals removed
virtuals removed and replaced with override where necessary on the rest of the code base, clang-tidy to the rescue.
2024-03-18 18:40:22 +00:00
Areloch da06fc1d96 * Fixes description for a few Scene methods
* Adds method to Scene to delete dynamic objects in the scene
* Add getNodeTransform to ShapeBase
* Add sanity check to AFX ea_update function to avoid divide by zero
* Adds ability to set color mul on GuiBitmapBorderCtrl like bitmapCtrl
* MatrixF utilty functions/operators
* Add ability to ignore an object in the containerBoxEmpty method call
* Adds some better initialization/sanity handling for resetWorldBox and resetRenderWorldBox for SceneObject
2024-02-03 23:42:26 -06:00
AzaezelX fbcfe02098 clean up "Add" menubar categoes on the 3d object side via the following:
SceneObject now defaults to a category of "misc"
getCategoryOfClass now checks parent classes for what categories they hold so that variants can inherit
categories are in one of a few rough groups and subgroups depending on actual mapper needs/usages
2023-11-08 20:42:47 -06:00
AzaezelX b710a309bd asset load flow work
add reloading state to asset tracking,
convert most asset.isnull() checks on over to skipping out unless the errcode is ::Ok, or ::UsingFallback
add more errstriongcodes to hook up
skip load<type> execution if the asset loaded state is ::Ok
2023-10-08 13:19:43 -05:00
James Urquhart 596d13f9a4 Optimize container bin lookups 2023-09-26 12:03:51 -05:00
AzaezelX fd758b1736 fix forest element inspector 2023-06-17 11:31:32 -05: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
AzaezelX ace18d0246 layout consistency pass pt 2 -place shapebase inheriting initpersistfields up top so the child layout appends to the parent 2023-01-24 19:30:09 -06:00
AzaezelX f07c8745b2 inspector cleanups
clustering work for datablocks for both consistent scanning for object parameters, as well as an eye towards orgainizing things to make reviewing what variations of components we'll be needing down the line clearer
2023-01-24 17:12:23 -06:00
JeffR bfe3d4d02b Shifts handling of forest brush and item elements into standard simsets for consistency
Updates the forest editor tooling to utilize the new sets, and adjusts the creation of new Brushes in the forest editor to have user select a target module first.
This ensures all a module's brushes are grouped into the new ForestBrushGroup class which auto-registers into the ForestBrushSet, thus allowing modules to have their own sets of brushes that automatically hook into the editor workflow.
2022-04-07 18:19:13 -05:00
AzaezelX f5600826d7 Merge branch 'Preview4_0' into SoundAssetImplements
# Conflicts:
#	Engine/source/T3D/assets/assetImporter.cpp
#	Engine/source/forest/forestItem.cpp
2021-10-11 20:11:27 -05:00
Robert MacGregor 5d26dba7da * BugFix: Clear some MSVC compiler warnings. 2021-10-07 00:27:39 -04:00
AzaezelX 98a079a797 code duplication prune. should aid in stability 2021-10-03 02:56:26 -05:00
Jeff Hutchinson 755bbacaa0 Fix specific usage of Con::executef where it was not being assigned to a ConsoleValue before getting it's data out of it. 2021-09-24 19:32:57 -04:00
AzaezelX 20e4f3c120 wrap to remove ambiguity 2021-08-09 22:24:20 -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
chaigler c4e00be91a Fix for crash in _onZoningChanged methods when called by hidden objects.
Hidden objects are removed from the scene manager so calls to getSceneManager()->getZoneManager() crash and burn.
2020-07-02 15:50:29 -04:00
AzaezelX 1efb687867 uninitialized variables-environment and forrest 2020-05-11 14:56:04 -05:00
AzaezelX e9415a0994 uninitialized variables-collision 2020-05-11 14:33:59 -05:00
suncaller 31d0eb16f8 Clean up MSVC warning [C4312] conversion from type to type * of greater size 2019-02-02 23:09:55 -05:00
Areloch 6cf0c9e360 Merge branch 'development' into EngineAPI-Refactor 2018-12-09 14:48:50 -06:00
Areloch 471bdcaefe Merge pull request #2252 from pacomont/Allow_to_change_wind's_direction
It's almost imposible to change direction of wind. Reseting mCurrentT…
2018-07-12 15:42:51 -05:00
Francisco Montañés García 4a5d63dc9b It's almost imposible to change direction of wind. Reseting mCurrentTarget will allow to rotate properly. 2018-05-09 13:49:58 +02:00
Azaezel 13334b4d5c Merge branch 'development' of https://github.com/GarageGames/Torque3D into memberMess
# Conflicts:
#	Engine/source/sfx/sfxSystem.cpp
2018-04-23 10:08:14 -05:00
Lukas Joergensen 76908eae3c Eliminate DefineConsoleMethod 2018-04-17 21:01:50 +02:00
Azaezel d810e6d208 forest shadowvar cleanups 2018-03-15 20:47:25 -05:00
Azaezel 654fc29dc2 bounds to mBounds conflict avoidance 2018-03-13 01:05:15 -05:00
Azaezel 2369645a5a simset::objectList to simset::mObjectList 2018-03-12 03:58:19 -05:00
Azaezel 01f0d5cfca tAlgorythm fed namespace T3D for better library interoperability. resulted in the need to specify usage in... a few places. 2017-12-27 22:57:47 -06:00
Areloch 8c807485b1 Reworks the $Core::commonShaderPath variable usage to be a static variable in ShaderGen for efficiency(only one getVariable when shadergen is initialized), as well as implements the ability to set a default value, and ensures that it tries to set a path even if the pref variable is missing which is important for ported projects from older builds. 2017-07-24 00:40:27 -05:00
Phillip Khandeliants f5fee65378 Fixed V570: Variable is assigned to itself
The uninitialized variable 'box' is assigned to itself. Judging from the fact that this is a copy constructor, I think that it is necessary to store in the 'box' the value of 'cv.box'
2017-04-27 12:25:01 +03:00
Masquara 15f67015d3 Reordering initialization methods #1912 2017-04-19 14:02:45 -04:00
Areloch 1ed8b05169 Initial implementation of the new Base Game Template and some starting modules.
This makes some tweaks to the engine to support this, specifically, it tweaks the hardcoded shaderpaths to defer to a pref variable, so none of the shader paths are hardcoded.

Also tweaks how post effects read in texture files, removing a bizzare filepath interpretation choice, where if the file path didn't start with "/" it forcefully appended the script's file path. This made it impossible to have images not in the same dir as the script file defining the post effect.

This was changed and the existing template's post effects tweaked for now to just add "./" to those few paths impacted, as well as the perf vars to support the non-hardcoded shader paths in the engine.
2017-02-24 02:40:56 -06:00
Areloch 2db03e47e9 Fixes a crash when you try to delete things without being in selection mode in the forest editor. Adds a sanity check that everything is properly set up before attempting the delete action.
Also adds a fix to the mesh item tab in the forest editor to correct odd selection behavior that could erroneously cause selection of two items in the list when you only clicked one.
2017-02-04 22:45:49 -06:00
Anis 60e258e5a9 Merge pull request #1806 from Azaezel/byeByeVarVar2
more unused variable cleanups
2016-10-23 21:04:36 +02:00
Azaezel 1ee127b753 more unused variable cleanups 2016-10-16 14:41:34 -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
Azaezel 2753f562e8 shadow caching
SPECIAL NOTE: highly suggest https://github.com/GarageGames/Torque3D/pull/1441 or a variation thereof to prevent debug spew and false-postives for occlusion results.

With significant research, development and prototyping assistance from both @andr3wmac (shaders and partial hook work), and @LuisAntonRebollo (additional culling)

System operates as follows:
1) materials are given an additional castDynamicShadows boolean entry. (Default at time of writing is true by request. Personal usage at time of writing defaults to false. value is default-initialized in materialDefinition.cpp. script/gui exposed)
2) lights are given a staticRefreshFreq and dynamicRefreshFreq (in milliseconds). script/gui exposed
3) materials are (effectively) sorted into dynamic and static shadowmap render lists based on flag. (see shadowMapPass.cpp)
4) initial shadowmaps are generated for each light and 'list'.
5) as each refreshFreq times out, the relevant shadowmap for a given light is refreshed.

Special notes:
dynamicRefreshFreq for all lights is set to a (script exposed) 8MS refresh timer.
StaticRefreshFreq for the lions share of lights defaults to 250 MS (1/4 of a second)
scattersky's embedded light, which is intended to operate in a mobile manner, defaults to 8
to reiterate, these are all customizable per-light via script/inspector gui in the case of alternate project needs.
2015-10-13 18:12:19 -05:00
Azaezel c100d7f932 suggested revision 2015-08-06 21:56:46 -05:00
Azaezel af38320300 warning C4706: assignment within conditional expression 2015-08-06 20:52:48 -05:00
Daniel Buckmaster 86e0e67496 Merge pull request #1352 from Areloch/PVS_Cleanup_807
Unnecessarily repeated expressions
2015-07-16 15:45:32 +10:00
Areloch 5c688260d5 Issue found with PVS-Studio:
Many places utilize post-incrementation with iterators, but it's better performance to use pre-incrementation.

Resolved by changing the iter++ instances to ++iter;
2015-07-13 23:08:17 -05:00
Areloch 2002d74b78 Issue found with PVS-Studio:
Many instances of a function or expression being used repeatedly, which can lower performance.

Fixed it in these cases by creating on local var, reference or pointer that's used instead.
2015-07-13 22:51:17 -05:00