asset brower previews were asserting due to a cornercase rt assignment
also ditch mipgen for rts targetting a texture profile that's marked as nomip, and adjust hdr uopsampling shader to compensate for overdarks
Fixed via several solutions to prevent issue from cropping up again.
Firstly, Adjusted behavior script-side so game menu keybind is pushed with the PlayGUI since almost every single game will use the game menu
Secondly, added logic so that the guiInputCtrl, when going to push an ActionMap(if it has one) will check if it's root canvas is active.
Thirdly, to allow guiInputCtrls to respond to a canvas becoming active, such as a GUi-on-Material surface displaying a menu and it's activated, an offscreen canvas becoming active now trips a signal that guiInputCtrl listens for.
- Overhauls the material editor to simplify and streamline the logic behind it since the inspector does most of the work
- Tweak a few order positions of materialdefinition fields to work better
- Sets AO, Rough and Metal channel fields to use an enum type for human readability
- Updates the MaterialPreview gui control to work with assetIds
- MatEd now supports setting of parent material to inherit from
- Creating a new material now can prompt selecting an existing material to inherit from
- Can now edit the mapTo value of a material in the matEd
- New standalone Composite Texture Editor window for convering AO, Roughness and Metalness maps in a material to an ORMMap
- Can also star the creation of a composite texture via RMB context menu in AB on an image asset
- Moved logic of CubemapEditor from MatEd to it's own stuff
- Made ImageAsset fields now be more clear when they have nothing assigned, and also have a clear button to empty the field's value so it's consistent across the board
- Reorganized the layout of the gui and image files for the MatEd to be easier to navigate
- MaterialEditor now overlays the EditorGUI instead of being forcefully embedded in it, allowing easy editing of the MatEd Gui via the Gui editor
revert back to static
because we chache the results of the buffer we cannot use volatile buffers, volatile buffers need to be resubmitted every frame to the ring buffer
move the geo collection into each tile, seems to work better for large levels
add true to getnav in aiconver so it overwrites all goals
cache the triareas so we can use a tool later to modify them
Added ground work for tester tool
tester tool works but needs to fill out list of acceptable datablocks and spawnclasses
navpaths now share 1 navmeshquery
AIControllerData now has a vector of area costs for different polyareas
General cleanup
added an override flag to stop detour from setting our depth mask state. This was causing navmesh to draw through other objects when it wasnt meant to
Reset our bounds box for each draw cache
Clean out the link vars and functions from guinaveditorctrl its now handled by the tool
offmeshcontool: Add ability to continue to draw from the last links end point holding shift
Adds off mesh connection tool
upgrade functionality to allow setting the direction to be bi-directional
added immediate draw to duDebugDrawtorque so we can draw offmesh connections
DebugDraw for recast now caches the results
We now have a drawmode dropdown selector
drawmode changes come from the gui itself no longer from console values
all recast drawmodes are supported with the exception of drawmodes that add abilities like navqueries until the nav tester tool is imlpemented.
cache tiles data if keep intermediate is on
(we only need to cache the results of recast)
fix tile generation (again)
Add !m_geo check so that buildTile can regen the geometry needed to build the tile again.
Added chunkytrimesh - this class splits up the geometry the navmesh is interested in into kdtree for fast traversal, makes the actual navmesh generation work with smaller chunks.
Now only 1 RecastPolylist per navmesh this can be saved out in a future commit.
This is a history commit, all functionality works same as it did before but it matches recasts recommended setup more closely. Future additions may break backwards compatibility.
bump maxheading up to it's proper 180 degree max
bump netpipe for the turret rotations to the *controlling client* but not others to 11 bits per axis
leave the to-others fidelity slim
for player, if we're unmounting because we're being deleted, don't bother animating
for tsthreads in general, not much point in removing the threadlist, then checking if it's scaled
*just* check pathshape/staticshape/terrain for determining if we are attaching/detaching from a pathshape
and don't bother if we're not enabled and not falling
leverage minFaceDistance plus current hieght to try and ensure stepping down into a pathshape/tsstatic within the 0.1 ot -1.0 detection range range doesn't snap you through another one.
Added ability to shader features and shaderGen to create multiple instances of the same feature with the option of calling a static creation function that can take arguments in the form of a struct.
FEATUREMGR now has createFeature to take advantage of this.
The node editor requires this ability as the same node could be used multiple times with different arguments so in its update function we will be calling
```FEATUREMGR->registerFeature(feature_type, (optional default constructor), createFunction);```
then adding it to the feature set with the required arguments to build the shader feature.
```FeatureSet->add(feature_type, index, ParameterStruct);```
add change notification on intialize asset use this callback to update information about the image on refresh. Remove notification when the asset is removed and when the imagefile changes
- 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
This updates the minimum required cmake version and the libs that have updates for this.
Ogg updated to master as of 20052025
Libsndfile updated to master as of 20052025
Opus minimum cmake version changed
vorbis minimum cmake version changed
TransformF can take 7 or 3 values so on false just set position for now. We may need to change ParseProperty to return a count for such cases as this and be able to tell whether its just position, rotation or both being set
revert console.h to best working version
wrap includes around the TORQUE_DISABLE_MEMORY_MANAGER macro
in torqueConfig.h.in add check for whether we are in release and make sure TORQUE_DISABLE_MEMORY_MANAGER is defined.
std::move needs to be used with pointers, we werent doing that and so a temp var was being copied onto the heap when it should of stayed on the stack. This caused memory leaks
stop memleaker from leaking...... yes i see the irony
free was being blocked from running when unitialized
in shutdown reset our allocList allocCount and currentAllocId so the array can be written to again
Namespace Leaks: these leaks would have been freed on app kill but they were still contaminating the log so free em.
Con::shutdown: gGlobablVars again another leak that would of been freed on app kill
AssetManager onRemove should be clearing its lists
Scripting language needs a free for its strings these destructors free after the rule is executed so the data is cached internally and then freed. This may be needed for other types in the union (should not be used on nodes just raw data)
LEAK from G:\GameDev\GithubRepo\Torque3D\Engine\source\console/consoleObject.h:686
- leak around props remaining after the const_cast free it up
LEAK around sound asset
- assetEnumNameConcat was creating a leak.
This change makes the memory manager work again for detecting leaks, the built in one kept coming into de-ref and other bugs so this is the start of a refactor to get it working.