Commit graph

24 commits

Author SHA1 Message Date
AzaezelX
311c3f224d expanded movement state data for aitonrollers
status tracking and scipt tests for stopped, inair (above a minum) and inwater
2026-01-18 17:43:25 -06:00
marauder2k7
6d36e17d91 added navmesh tester tool
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
2025-07-26 10:34:19 +01:00
AzaezelX
e489e0cd18 go ahead and allow follow without needing a navmesh 2025-04-28 16:01:24 -05:00
AzaezelX
f278150185 TORQUE_NAVIGATION_ENABLED filtering 2025-04-28 14:31:27 -05:00
AzaezelX
7ed3f11c8e might as well go ahead and allow substitution statement support 2025-04-28 00:26:45 -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
AzaezelX
d8ea8803c3 simplify calcs by leveraging pre-existing matrix methods and dot product properties 2025-04-22 22:06:32 -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
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
78a26b0108 expose a getThrottle for vehicles. save some calcs in AIWheeledVehicleControllerData
deletion cleanups
2025-04-18 11:00:13 -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
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
AzaezelX
c72c3068f8 aiinfo subclass inheritance cleanups, and default constructor removals for safeties 2025-04-17 14:38:27 -05:00
AzaezelX
83822f1148 fix eroneous defaults 2025-04-17 11:38:21 -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
f3ef698e89 getmovedestination, set/get speed, targetting script commands
todo: need to see why getAIController().setAimLocation("10 10 0"); seems to get into an onreachdestination+stuck callback loop
2025-04-16 17:27:26 -05:00
AzaezelX
2fe36a571b setaicontroller: use Ids
get rid of duplicated mMoveDestination
2025-04-15 18:01:18 -05:00
AzaezelX
201b7bf695 aiController.setMoveDestination test 2025-04-15 17:00:36 -05:00
AzaezelX
19e73c0be2 expose the AIPlayerControllerData subtype to console 2025-04-15 15:34:58 -05:00
AzaezelX
8c663a19a5 generalized ai subsystem wipwork 2025-04-15 15:12:27 -05:00