Commit graph

442 commits

Author SHA1 Message Date
Brian Roberts
a43458677a
Merge pull request #1481 from Areloch/MiscFixes_20250525
Misc Fixes and improvements including updated autosave handling
2025-05-27 08:03:08 -05: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
marauder2k7
183d8e904f Update core.tscript
returns the ability to compile all scripts and gui files
2025-05-18 16:03:48 +01:00
marauder2k7
e1c01cd49a Merge remote-tracking branch 'upstream/development' into imageAsset_refactor_rev3 2025-05-12 14:45:41 +01:00
AzaezelX
618ddbc9ba Merge branch 'development' of https://github.com/TorqueGameEngines/Torque3D into aiSubsystem
# Conflicts:
#	Engine/source/T3D/player.cpp
2025-04-28 14:28:54 -05:00
Brian Roberts
2ac15f74f2
Merge pull request #1443 from Azaezel/alpha41/controlModel
add a controlmap entry
2025-04-28 10:50:02 -05:00
AzaezelX
2ae10c7ce1 add reload status to onNewDataBlock callback
and skip calling onremove/onadd if we're not reloading
2025-04-27 19:49:13 -05:00
AzaezelX
b643aa41a2 take flight floor and ceiling into account for yaw too
ditch roll compensation as it was causing more problems than it was solving
2025-04-26 21:04:06 -05:00
AzaezelX
20976b485c Merge branch 'development' of https://github.com/TorqueGameEngines/Torque3D into aiSubsystem 2025-04-26 10:11:13 -05:00
JeffR
7b7de1f10f Adjusts the handling of the disconnect call to not utilize package overrides, but instead a callOnModules invoke like most other cross-module calls.
This allows the editor to issue a disconnect call properly again.
2025-04-22 18:20:12 -05:00
AzaezelX
6200a6f1fb add a calibrateable mHeightTolerance
for players this defaults to 0.001, for wheeledvehicles, 2.0, and for flyingvehicles, 200
fix naveditor cript not looking up the object.datablock.aicontrollerdata
fix AIWheeledVehicleControllerData not binding the relevant ::resolvespeed
also the relevant ::resolvespeed now lowers the throttle post-turning
add AIFlyingVehicleControllerData
2025-04-21 14:58:11 -05:00
AzaezelX
32d95d3b8b put AIPlayer support back, and it as the default class to spawn 2025-04-20 15:29:26 -05:00
AzaezelX
1fad2c7372 AIWheeledVehicleControllerData wipwork 2025-04-17 20:01:36 -05:00
AzaezelX
4fb92f02a3 completed list of roughly ported over scripthooks.
todo: need to figure out why followobject is only hitting the first path node. likely  amixup with goal handling
2025-04-17 01:27:08 -05:00
AzaezelX
5b2c0c7703 add a controlmap entry
for players, vehicles, and turret datablocks
add a client command to setMovemap(%object.getDatablock().controlMap)
2025-04-13 14:51:30 -05:00
marauder2k7
7c4d41ee21 Merge remote-tracking branch 'upstream/development' into imageAsset_refactor_rev3 2025-04-05 15:59:02 +01:00
AzaezelX
3b2651c0ab typofix for bad %client.spawnDataBlock filtering 2025-04-02 17:40:37 -05:00
AzaezelX
8ac9da0e9f fix spawn failure reports
also force the fallbacks on failures
2025-04-01 20:48:50 -05:00
AzaezelX
9f11f132d3 fix wetness 2025-03-26 06:22:01 -05:00
marauder2k7
bab7878ca6 give named target a fallback
we need to give named target a fallback image so references are kept when a named target is not ready.
2025-03-26 09:12:06 +00:00
AzaezelX
5666373447 unmangle brdfTexture. again.
also correct roughnessToMipLevel, specular tinting and missing horizon correction
2025-03-24 18:18:12 -05:00
AzaezelX
9d7fdab193 correct further flaws with albedo handling 2025-03-23 20:53:32 -05:00
AzaezelX
61dbbf7102 clean up brdf
it was loading in the wrong colorspace, and there as a mix of texture/textureLOD refs leading to inconsistencies
2025-03-22 13:38:09 -05:00
AzaezelX
42710ec6f0 specular review
cleanup of various calcs
2025-03-22 10:00:45 -05:00
AzaezelX
6381065eea proper correction for missing direct light suface coloration 2025-03-02 00:29:04 -06:00
AzaezelX
41133624e3 reduce redundant calcs for the dampen method.
remove overemphasized normal infleunce on groundcover foliage
2025-02-25 15:46:41 -06:00
AzaezelX
34bc015d3e correct high metallic objects lacking color input 2025-02-25 02:45:53 -06:00
AzaezelX
516df48354 adds a built in detail map generator
splitTerrainMaps("data/some/file"); or  makeTerrainMapsFrom("module:anAsset"); to take a detailed albedo map and split it into a _bas(is) file thats an averaghe of the inut and a _det(ail) file to raise and lower different channels from that average.
special note: while used primarily for terrain authoring, these files could also be plugged into a normal material
2025-02-06 14:46:05 -06:00
AzaezelX
cf92b29898 take ao into account for the brdf diffuse component 2025-02-03 11:51:53 -06:00
Brian Roberts
f71f4e051f
Merge pull request #1375 from Azaezel/alpha41/conoleCleanups
Don't report keybinds unless asked
2025-01-30 17:31:15 -06:00
AzaezelX
3797038664 Don't report keybinds unless asked
Do report where you're saving prefs
2025-01-30 17:29:31 -06:00
Brian Roberts
cd2213de36
Merge pull request #1371 from Azaezel/afxZodiacFindings
Afx zodiac findings
2025-01-27 18:57:28 -06:00
marauder2k7
c4a6159faa Update core.tscript
change the execution order so sfx is initialized right after rendering
2025-01-26 21:04:52 +00:00
AzaezelX
967fa62ddd shaders/common/ no longer exists 2025-01-23 11:19:27 -06:00
AzaezelX
fa1380acc5 add missing shaderData defines. don't ask if something exists before creating it 2025-01-23 11:18:52 -06:00
marauder2k7
d5d7f9b91b missed glsl shader changes
missed a few glsl shader changes
fixed gradient to look correct with selected underlay colour
2025-01-22 21:32:07 +00:00
marauder2k7
29a9bd7917 ground work before gui 2025-01-22 17:21:46 +00:00
AzaezelX
52dbef6f5f correct misbehaving ibl
got turned around on which pass returned the surface.basecolor when ign orelighting was on.
refine dampen method o stop fighting grass
2025-01-20 19:45:22 -06:00
Brian Roberts
a0d1eda965
Merge pull request #1358 from Azaezel/alpha41/saveAsSignature
fix level saveas
2025-01-18 22:04:36 -06:00
AzaezelX
aea3879698 fix level saveas
.getCount()  != .count()
2025-01-18 22:02:56 -06:00
Brian Roberts
6b1a811689
Merge pull request #1355 from Azaezel/alpha41/roughTime
roughness was ramping up mip levels too slowly
2025-01-09 10:50:01 -06:00
AzaezelX
439438cd1f roughness was ramping up mip levels too slowly 2025-01-09 10:24:52 -06:00
AzaezelX
59d6ec1a0f adjust spherical probe attenuation curve to steepen with to assist with blending 2025-01-08 11:13:04 -06:00
AzaezelX
a4266a1336 fix distance falloff misassignmen. fix uninitialized attenuation in root probes 2025-01-07 23:48:34 -06:00
AzaezelX
5a2ec2731f shift attenuation to probes in general. 2025-01-07 16:58:50 -06:00
JeffR
8d63e3008e Adjusts final call invoke of when we spawn to after we have both the spawnObject type as well as a spawn position
Also adds a check so if we have spawned as just a camera, it scopes down to the client correctly
Correctly has the shortcut calls activate for the spawn override callbacks if no modules or gamemodes are able to respond to them
2025-01-07 07:14:48 -06:00
Brian Roberts
8274bbbca4
Merge pull request #1342 from Areloch/SpawnObjectOverrideOverhaul
SpawnObject Override Overhaul
2025-01-03 09:44:37 -06:00
JeffR
46f6f6a9da Added field to ModuleDefinition for priority, which can be used to process/sort them in priority order
Added logic to ModuleManager's findModules method to allow priority sorting as well as pre-filtering by a given module group
Adjusts the %isFine argument for the onMapLoadFailed callback events to %canContinueOnFail for a bit more clarity on what the arg conveys
Shifts the setSpawnObjectType, setSpawnPoint and onPostSpawn call stack to utilize an event manager to allow the setup process for spawners and gamemode prepwork to run in it's own time, if needbe. Such as if a gamemode has to generate a map and there's no guarantees on when it'll b e done for one client vs another
Added getModulesAndGameModesList, callOnObjectList and getNumCanCallOnObjectList utility functions
2025-01-03 00:37:25 -06:00
Brian Roberts
783f2a03b4
Merge pull request #1341 from Azaezel/alpha41/probeOffsetFix
fix probe capturepoint nudge utility
2024-12-23 03:12:07 -06:00
JeffR
c5ae9af0ae Core now spawns a ControlObject directly, with callbacks allowing overriding of values to control what spawns (and what occurs afterwards) to tie several tracking variables to a given client connection.
By default this list of variables would be:
%this.spawnClass = "Camera";
%this.spawnDBType = "CameraData";
%this.spawnDataBlock = "Observer";
%this.playerSpawnGroups = "PlayerSpawnPoints PlayerDropPoints";
%this.spawnPoint = "";
%this.spawnLocation = "0 0 0";

Also adds several callbacks so that these values can be overridden by modules and gamemodes, kicked off from the %client.spawnControlObject(); command :
callOnModules("setSpawnObjectType", "Game", %this);
callGamemodeFunction("setSpawnObjectType", %this);

callOnModules("setSpawnPoint", "Game", %this);
callGamemodeFunction("setSpawnPoint", %this);

callOnModules("onPostSpawn", "Game", %this);
callGamemodeFunction("onPostSpawn", %this);

This is to ensure that a game mode can supersede modules, but even modules can dictate spawn behaviors for minimalist implementations and drop-in interop support
2024-12-21 02:11:35 -06:00