Commit graph

1501 commits

Author SHA1 Message Date
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
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
f0c0f3c42c projectile augs
use impactforce to applyimpulse for stock physics too
add an optional explodeOnTmeout
for nonballistic projectiles, track if they hit something before their armingdelay is up, and delete them next simulation cycle
2025-04-16 13:08:39 -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
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
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
5cf54580e6 Generic Damagemodel
included in root/data/ as a module so theres a generic folks can riff off of
additionally, includes a physcs based damage option inspector exposed augment for velicity based collisions, as well as utilities for applying damage to the object a given thing is mounted to
further. also fixes a lack of vehicles being able to use thier mvTriggerCount4 and 5 for the additional 2 mountpoints allowed
2025-04-06 16:09:14 -05:00
marauder2k7
7c4d41ee21 Merge remote-tracking branch 'upstream/development' into imageAsset_refactor_rev3 2025-04-05 15:59:02 +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
b299b54467 encapsulate tool-only code for levelassets 2025-04-02 15:38:43 -05:00
JeffR
5566f8a396 Updated handling of subscenes in assets to be it's own distinct definition to avoid parsing and detection issues, as well as fields to be handled distinctly between the types 2025-03-30 16:36:15 -05:00
JeffR
c2af4e578b Merge branch 'Standardized_AB_AssetManagement' of https://github.com/Areloch/Torque3D into development 2025-03-30 15:03:43 -05:00
marauder2k7
774bd874b5 Update ImageAsset.cpp
early out of generateTexture
2025-03-30 11:44:55 +01:00
marauder2k7
73ad92b757 review notes from Az
Should render fallback for namedTarget if namedTarget fails
Add safety around namedtarget getTexture to stop assert
Missing assets should revert to fallback image and print a warning to console
Remove REFACTOR tag from all macros.
2025-03-30 11:22:42 +01:00
marauder2k7
b707b2e2b7 final rev
add safeties to getters
getTextureBitmap/ functions to return member variable that is collected when the image is set
2025-03-28 15:32:16 +00:00
marauder2k7
bfe2401ebb get image metadata
adds ability to get image metadata without loading the texture
since we are using the getOwned parameter correctly now new assets must have the full path to the image file when being created
when the asset becomes owned again the image file path will be updated.
2025-03-28 11:14:21 +00:00
marauder2k7
db8c565416 ID10T issue
we dont want both fileChanged and resourcechanged.... causes issues
2025-03-27 19:34:11 +00:00
marauder2k7
fc30d178af fix asset refresh on materialAssets 2025-03-27 18:33:37 +00:00
marauder2k7
c025ea86b4 more cleanups
cleanup the type removing the refactor tag
materialManager restored to its original state
2025-03-27 08:59:50 +00:00
marauder2k7
3b70689abc clean out old macros 2025-03-26 21:16:43 +00:00
marauder2k7
7af992970a Update ImageAsset.cpp
update getAssetIdByFilename to also check the imageFile of the asset
This helps match filenames for assets created privately such as probe bakes and targets
2025-03-26 18:51:44 +00:00
marauder2k7
086db03bbc Update ImageAsset.h 2025-03-26 15:42:26 +00:00