Commit graph

72 commits

Author SHA1 Message Date
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
Daniel Buckmaster 39f0e269d6 Merge pull request #1328 from GarageGames/release-3.7
Release 3.7
2015-06-24 19:00:57 +10:00
Daniel Buckmaster 42bd368045 Default to no bounds instead of crazy bounds. See #1287. 2015-05-16 22:32:42 +10:00
RichardRanft 3ddd9b8a4c Add static String::isEmpty(const char*) method and use it to verify path for Forest::saveDataFile() is not empty. 2015-05-06 15:39:02 -07:00
Areloch 2f69ffd2d4 Fixes issue #1277
Adds the file path to the saveDataFile call (missionpath\missionname.forest as the format)

This correctly utilizes the forest object's datafile field if it's set.
If not, it will create a new forest item with the missionPath\missionName.forest convention.

This also removes the checks for the hardcoded "theForest" forest object name, so that if it is renamed for some reason, it doesn't break.

Lastly, this corrects a minor semi-related bug, where if you are in the forest editor and have a brush selected, and then click to paint, but no forest object currently exists, it prompts to create one. Once the forest object is created, it would trigger the editor to inspect the newly made forest object. If you attempted to paint the currently selected brush, there was a mis-match in the inspector information, and it would trigger a crash.

This has been corrected by re-initializing the forest editor's selected tool mode so it can be utilized immediately after the forest object is created.
2015-04-27 21:45:57 +10: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