Commit graph

4755 commits

Author SHA1 Message Date
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
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 f84bf058c9 navigation: setPathdestination now takes a replace bool to preserve the goal
also killed a few now extraneous  clearfollow calls
2025-04-17 17:51:31 -05:00
AzaezelX c72c3068f8 aiinfo subclass inheritance cleanups, and default constructor removals for safeties 2025-04-17 14:38:27 -05:00
AzaezelX 4f87ad4cf7 moar gaol tracking cleanups 2025-04-17 12:27:05 -05:00
AzaezelX 2956223a60 simplify setpathdestination loop 2025-04-17 11:39:06 -05:00
AzaezelX 83822f1148 fix eroneous defaults 2025-04-17 11:38:21 -05:00
AzaezelX 25b3a7c070 break wether we *should* be trying to move out of the resolver 2025-04-17 10:50:58 -05:00
AzaezelX eaa6a62b0c misc cleanups 2025-04-17 10:38:36 -05:00
AzaezelX a10169accf fix node following stopping early 2025-04-17 09:44:04 -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 e37ae27bc0 fix aim safeties to actually be safe, add an explicit clearAim script command 2025-04-16 17:58:30 -05:00
AzaezelX 14a03dfc6c if you've stopped moving on purpose, you're not stuck 2025-04-16 17:40:53 -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 f00b8e1ae0 toEuler. n ot getforwardvector 2025-04-15 18:23:12 -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
Brian Roberts 75e23e85ea
Merge pull request #1440 from marauder2k9-torque/IntegerParsing
Parse Property Templated function
2025-04-14 10:03:35 -05:00
marauder2k7 0ff636e9ca Update mathTypes.cpp 2025-04-10 08:56:40 +01:00
marauder2k7 77a7847eed Update mathTypes.cpp 2025-04-10 08:56:20 +01:00
marauder2k7 fae5ebb9e8 null termination was wiping buffer 2025-04-10 08:55:42 +01:00
marauder2k7 2e64d36382 Update mathTypes.cpp
fix matrix types, should of been using columns not the rows
2025-04-10 08:13:10 +01:00
marauder2k7 ee4acc98fe Update propertyParsing.h
bahhh humbug
2025-04-09 16:29:03 +01:00
marauder2k7 cd7666bf2a rename overloaded function so linux and mac stop bitching 2025-04-09 16:05:22 +01:00
marauder2k7 7c3fbfc9d8 add getter for console get types
templated function for getting data from a field
2025-04-09 15:14:46 +01:00
AzaezelX d0d2e1f343 handle relfecting the health of the controlled object
players and vehicles can both be the controlobject, or you can control a vehicle *through* a player.
set the health bar/text controls to reflect that state
2025-04-08 18:30:06 -05:00
AzaezelX b886cbb527 on balance we'll want to round instead of truncate 2025-04-08 16:09:54 -05:00
marauder2k7 f30ff6734e Update mathTypes.cpp
mathtypes.cpp ConsoleSetTypes now converted
2025-04-08 10:13:48 +01:00
marauder2k7 1cb2109d6e Update mathTypes.cpp
update matrix/ang types to use the new function
change all print's to warn's
2025-04-08 09:51:38 +01:00
marauder2k7 802f90bf69 init commit
initial commit of templated ParseProperty function
TypePoint and TypeRect consoleSetTypes now use the new templated function
2025-04-08 08:16:09 +01:00
AzaezelX 2d974cebf5 add difFloatPi range validator
player:
apply to player min/max angle
allow fallingspeedthreshold to go negative
splashdata:
velocity, hieght, acceleration and startradius can all be negative
wrap material animation range from -1 to 1
2025-04-03 16:52:49 -05:00
AzaezelX 0e78312e95 fix (?) rotation
set the behaviour back to prior calcs, plus allow the desired scroll combo to work
2025-04-02 23:07:09 -05:00
Brian Roberts f41cdaaa7e
Merge pull request #1430 from Azaezel/alpha41/GFXRedundancyCleanups
clean up (some) shader variation redundancies
2025-04-02 16:21:57 -05:00
Brian Roberts 46a4cd71e2
Merge pull request #1433 from Azaezel/alpha41/dontBeATool
encapsulate tool-only code for levelassets
2025-04-02 16:21:47 -05:00