Commit graph

7560 commits

Author SHA1 Message Date
Brian Roberts
13bf126418
Merge pull request #1445 from Azaezel/aiSubsystem
Ai subsystem
2025-05-07 19:09:55 -05:00
AzaezelX
4ba93dafc3 Merge branch 'development' of https://github.com/TorqueGameEngines/Torque3D into aiSubsystem 2025-05-03 15:25:36 -05:00
Brian Roberts
b095134df8
Merge pull request #1451 from Azaezel/alpha41/cleanerCleanups
isobject and obj.delete safties
2025-04-29 20:25:39 -05:00
AzaezelX
62aadf9114 isobject and obj.delete safties
isobject isn't actually one if it's yet to be properlyAdded, or already marked with isRemoved
likewise don't try and delete a deleted thing
2025-04-29 16:45:25 -05:00
Brian Roberts
db57f67839
Merge pull request #1450 from Azaezel/alpha41/popUpGoPop
fix PopupMenu::checkItem filter
2025-04-29 15:45:54 -05:00
AzaezelX
c04eaa5862 fix PopupMenu::checkItem filter
reminder size is the total element count of the vector
2025-04-29 15:45:39 -05:00
Brian Roberts
798936ebd2
Merge pull request #1325 from Areloch/Standardized_AB_AssetManagement
Updates most of the handling of asset types to follow a more standardized type-registration system.
2025-04-29 13:19:50 -05:00
AzaezelX
e489e0cd18 go ahead and allow follow without needing a navmesh 2025-04-28 16:01:24 -05:00
AzaezelX
a05ff4f351 kill dupe controlmap tracking var define 2025-04-28 14:38:51 -05:00
AzaezelX
9e2666ed09 nav editor compliance 2025-04-28 14:35:26 -05:00
AzaezelX
f278150185 TORQUE_NAVIGATION_ENABLED filtering 2025-04-28 14:31:27 -05: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
AzaezelX
c6f19e5cae fix nav editor stop comand 2025-04-28 12:49:48 -05:00
Brian Roberts
53cb313561
Merge pull request #1438 from Azaezel/alpha41/DamageModel
Generic Damagemodel
2025-04-28 10:54:21 -05:00
AzaezelX
be35c27411 Merge branch 'development' of https://github.com/TorqueGameEngines/Torque3D into alpha41/DamageModel
# Conflicts:
#	Engine/source/T3D/vehicles/vehicle.cpp
2025-04-28 10:53:53 -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
Brian Roberts
06058cb6e2
Merge pull request #1448 from Azaezel/alpha41/dbReload
add reload status to onNewDataBlock callback
2025-04-28 10:49:24 -05:00
AzaezelX
7ed3f11c8e might as well go ahead and allow substitution statement support 2025-04-28 00:26:45 -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
8fa132707d fix stop button 2025-04-26 10:37:42 -05:00
AzaezelX
20976b485c Merge branch 'development' of https://github.com/TorqueGameEngines/Torque3D into aiSubsystem 2025-04-26 10:11:13 -05:00
AzaezelX
b2021caa6d skip sidestepping off a cliff raycast if we're not sidestepping
take current velocity into account for vehicles since some degree of momentum will be maintained
2025-04-25 20:36:22 -05:00
AzaezelX
675bdfe6b3 fix pack/unpack data for AIControllerData's (though we still send nothing, we do need to mark it clientside as false)
more pitchwork for flying vehicle drivers
when flocking is irrelevant just path to next node
2025-04-25 18:50:16 -05:00
Brian Roberts
2852b33cec
Merge pull request #1447 from Areloch/liveDBAssetEditReload
Adds handling for datablocks to be reloaded if the assets they utilize have their files directly edited.
2025-04-24 17:49:15 -05: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
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
6efb3843f6 scale flyingvehicle ai pitch by the amount yaw forces it to roll 2025-04-23 16:25:35 -05:00
AzaezelX
c1d32a9fd6 more cleanups and standardizations 2025-04-23 00:05:57 -05:00
AzaezelX
d8ea8803c3 simplify calcs by leveraging pre-existing matrix methods and dot product properties 2025-04-22 22:06:32 -05:00
Brian Roberts
0eafadb1a0
Merge pull request #1446 from Areloch/disconnectCallFix
Fix disconnect function call behavior
2025-04-22 18:23:30 -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
71b8046bb1 shift mode stop and stuck below modeslowing so we can just do basic math filtering
fix a few bits of eroneous sidestepping attempts by flying and wheeled vehicles.
more work on flyingvehicle resolvepitch and resolvespeed
2025-04-22 00:34:32 -05:00
AzaezelX
584093f48d aiInfo getPosition now optionally takes a doCastray bool (off by default)
AIFlyingVehicleControllerData add flightfloor and cieling
resolvepitch from (portions of) the old aiflyingvehicle resource
no reversing for flyingvehicles, so bottom out resolvespeed at 0
2025-04-21 19:13:31 -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
fdb64b15a8 stop spamming the console with callack status 2025-04-20 21:41:04 -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
185acd23e0 stop controllobjects from fighting 2025-04-19 14:35:18 -05:00
AzaezelX
b864908efd clean up a few stray bits 2025-04-19 07:10:18 -05:00
AzaezelX
a609917cee put the flocking protocol ion the repath command itself with a high weight so it prioritizes avoidance vs straight following 2025-04-19 06:37:28 -05:00
AzaezelX
3210325f3f elevated mAicontroller to shapebase
aiwheeleedveiclecontrollerdata resolvespeed now only touches throttle
objects assigned aicontrollers now reflect that by thier objecttype
basic flocking
2025-04-19 04:25:36 -05:00
AzaezelX
d36cf31707 more safeties. simplified reverse steering calc 2025-04-18 18:27:39 -05:00
AzaezelX
712404c9b4 hook up Vehicle's getAIMove(Move*);
list aiControllerData's in the datablock. though the command is still required to set the controler and look up the relevant db for game specific logic
2025-04-18 12:28:49 -05:00
AzaezelX
2d0bcbcf8d behavioural change: feeding an AInfo an object with a 0 radius causes the class to fill in radius from that objects bounds box
also, vehicle direct hooks
2025-04-18 11:36:27 -05:00
AzaezelX
78a26b0108 expose a getThrottle for vehicles. save some calcs in AIWheeledVehicleControllerData
deletion cleanups
2025-04-18 11:00:13 -05:00
Brian Roberts
28c8690d72
Merge pull request #1444 from Azaezel/alpha41/projectilePoking
projectile augs
2025-04-18 09:30:44 -05:00
AzaezelX
2d5e8c1560 make steerstate for AIWheeledVehicleControllerData's self contained
variable raylength for the rpath filter. same 0.001 for players to stop recalculating a path when jumping, but bump anything they're mounted to to a 2 unit check

bit of work towards parallel parking. or at least not ending up arcing back and forth infinitely in an arc
2025-04-17 23:31:30 -05:00
AzaezelX
1fad2c7372 AIWheeledVehicleControllerData wipwork 2025-04-17 20:01:36 -05:00
AzaezelX
d0b0070ec7 set navmesh test tool bots to damage enabled and navmeshignore 2025-04-17 18:15:41 -05:00
AzaezelX
32f9917ed2 aicontroller:
in order to call derivatives of AIControllerData datablocks *without* requiring an accompanying AIController subclass as well, leverage the fastdelegate system for our resolver callbacks
additionally, don't try and repath in mid air
aigoal: initialize inange/infirinrange to false. use those to filter callbacks
2025-04-17 17:55:38 -05:00