mirror of
https://github.com/MonsterDruide1/OdysseyDecomp
synced 2026-04-23 09:04:21 +00:00
255 lines
17 KiB
C++
255 lines
17 KiB
C++
#pragma once
|
|
|
|
#include <math/seadBoundBox.h>
|
|
#include <math/seadMatrix.h>
|
|
#include <math/seadQuat.h>
|
|
#include <math/seadVector.h>
|
|
|
|
namespace al {
|
|
class LiveActor;
|
|
class HitSensor;
|
|
class ActorParamMove;
|
|
|
|
void resetPosition(LiveActor* actor);
|
|
void resetPosition(LiveActor* actor, const sead::Vector3f& trans);
|
|
void resetRotatePosition(LiveActor* actor, const sead::Vector3f& rot, const sead::Vector3f& trans);
|
|
void resetQuatPosition(LiveActor* actor, const sead::Quatf& quat, const sead::Vector3f& trans);
|
|
void resetMtxPosition(LiveActor* actor, const sead::Matrix34f& mtx);
|
|
void resetActorPosition(LiveActor* actor, const LiveActor* target);
|
|
bool trySetPosOnGround(LiveActor* actor);
|
|
const sead::Vector3f& getVelocity(const LiveActor* actor);
|
|
sead::Vector3f* getVelocityPtr(LiveActor* actor);
|
|
void separateVelocityHV(sead::Vector3f*, sead::Vector3f*, const LiveActor* actor);
|
|
void separateVelocityDirHV(sead::Vector3f*, sead::Vector3f*, const LiveActor* actor, const sead::Vector3f&);
|
|
void separateVelocityParallelVertical(sead::Vector3f*, sead::Vector3f*, const LiveActor* actor, const sead::Vector3f&);
|
|
void setVelocity(LiveActor* actor, const sead::Vector3f& vel);
|
|
void setVelocity(LiveActor* actor, f32 x, f32 y, f32 z);
|
|
void setVelocityX(LiveActor* actor, f32 x);
|
|
void setVelocityY(LiveActor* actor, f32 y);
|
|
void setVelocityZ(LiveActor* actor, f32 z);
|
|
void setVelocityZero(LiveActor* actor);
|
|
void setVelocityZeroX(LiveActor* actor);
|
|
void setVelocityZeroY(LiveActor* actor);
|
|
void setVelocityZeroZ(LiveActor* actor);
|
|
void setVelocityZeroH(LiveActor* actor);
|
|
void setVelocityZeroH(LiveActor* actor, const sead::Vector3f&);
|
|
void setVelocityZeroV(LiveActor* actor);
|
|
void setVelocityZeroV(LiveActor* actor, const sead::Vector3f&);
|
|
void setVelocityJump(LiveActor* actor, f32);
|
|
void setVelocityToFront(LiveActor* actor, f32);
|
|
void setVelocityToUp(LiveActor* actor, f32);
|
|
void setVelocityToSide(LiveActor* actor, f32);
|
|
void setVelocityToDirection(LiveActor* actor, const sead::Vector3f&, f32);
|
|
void setVelocityToGravity(LiveActor* actor, f32);
|
|
void setVelocitySeparateHV(LiveActor* actor, const sead::Vector3f&, const sead::Vector3f&, f32, f32);
|
|
void setVelocitySeparateHV(LiveActor* actor, const sead::Vector3f&, f32, f32);
|
|
void calcVelocitySeparateHV(sead::Vector3f*, const LiveActor* actor, const sead::Vector3f&, f32, f32);
|
|
void setVelocitySeparateUp(LiveActor* actor, const sead::Vector3f&, f32, f32);
|
|
void setVelocityOnlyDir(LiveActor* actor, const sead::Vector3f&, f32);
|
|
void setVelocityOnlyV(LiveActor* actor, f32);
|
|
void setVelocityOnlyGravity(LiveActor* actor, f32);
|
|
void addVelocity(LiveActor* actor, const sead::Vector3f& vel);
|
|
void addVelocity(LiveActor* actor, f32 x, f32 y, f32 z);
|
|
void addVelocityX(LiveActor* actor, f32 x);
|
|
void addVelocityY(LiveActor* actor, f32 y);
|
|
void addVelocityZ(LiveActor* actor, f32 z);
|
|
void addVelocityDump(LiveActor* actor, const sead::Vector3f& dir, f32 force);
|
|
void addVelocityJump(LiveActor* actor, f32 force);
|
|
void addVelocityToFront(LiveActor* actor, f32 force);
|
|
void addVelocityToUp(LiveActor* actor, f32 force);
|
|
void addVelocityToSide(LiveActor* actor, f32 force);
|
|
void addVelocityToDown(LiveActor* actor, f32 force);
|
|
void addVelocityToDirection(LiveActor* actor, const sead::Vector3f& dir, f32 force);
|
|
void addVelocityToGravity(LiveActor* actor, f32);
|
|
void addVelocityToGravityLimit(LiveActor* actor, f32, f32);
|
|
void addVelocityToGravityFittedGround(LiveActor* actor, f32, u32);
|
|
void addVelocityToGravityNaturalOrFittedGround(LiveActor* actor, f32);
|
|
void calcGravityDir(sead::Vector3f*, const LiveActor* actor);
|
|
void addVelocityToTarget(LiveActor* actor, const sead::Vector3f&, f32);
|
|
void addVelocityToTarget(LiveActor* actor, const sead::Vector3f&, f32, f32, f32, f32);
|
|
void addVelocityToTargetH(LiveActor* actor, const sead::Vector3f&, f32);
|
|
void addVelocityToTargetHV(LiveActor* actor, const sead::Vector3f&, f32, f32);
|
|
void addVelocityDampToTarget(LiveActor* actor, const sead::Vector3f&, f32);
|
|
void addVelocityDampToTarget(LiveActor* actor, const sead::Vector3f&, f32, f32);
|
|
void addVelocityToPlayer(LiveActor* actor, const f32, sead::Vector3f&);
|
|
void addVelocityToPlayerHV(LiveActor* actor, const f32, f32, sead::Vector3f&);
|
|
void addVelocityFromTarget(LiveActor* actor, const sead::Vector3f&, f32);
|
|
void addVelocityFromTargetHV(LiveActor* actor, const sead::Vector3f&, f32, f32);
|
|
void addVelocityFromPlayer(LiveActor* actor, const f32, sead::Vector3f&);
|
|
void addVelocityFromPlayerHV(LiveActor* actor, const f32, f32, sead::Vector3f&);
|
|
void addVelocityClockwiseToDirection(LiveActor* actor, const sead::Vector3f&, f32);
|
|
void calcVelocityClockwiseToDirection(LiveActor* actor, sead::Vector3f*, const sead::Vector3f&);
|
|
void addVelocityClockwiseToTarget(LiveActor* actor, const sead::Vector3f&, f32);
|
|
void addVelocityJumpGroundInertia(LiveActor* actor, const sead::Vector3f&, f32);
|
|
bool tryAddVelocityLimit(LiveActor* actor, const sead::Vector3f&, f32);
|
|
void subVelocityExceptDirectionLimit(LiveActor* actor, const sead::Vector3f&, f32, f32);
|
|
void scaleVelocity(LiveActor* actor, f32);
|
|
void scaleVelocityLimit(LiveActor* actor, f32, f32);
|
|
void scaleVelocityX(LiveActor* actor, f32);
|
|
void scaleVelocityY(LiveActor* actor, f32);
|
|
void scaleVelocityZ(LiveActor* actor, f32);
|
|
void scaleVelocityHV(LiveActor* actor, f32, f32);
|
|
void scaleVelocityDirection(LiveActor* actor, const sead::Vector3f&, f32);
|
|
void scaleVelocityExceptDirection(LiveActor* actor, const sead::Vector3f&, f32);
|
|
void scaleVelocityParallelVertical(LiveActor* actor, const sead::Vector3f&, f32, f32);
|
|
void limitVelocity(LiveActor* actor, f32);
|
|
float calcSpeed(const LiveActor* actor);
|
|
void limitVelocityX(LiveActor* actor, f32);
|
|
void limitVelocityY(LiveActor* actor, f32);
|
|
void limitVelocityZ(LiveActor* actor, f32);
|
|
void limitVelocityH(LiveActor* actor, f32);
|
|
void limitVelocityHV(LiveActor* actor, f32, f32);
|
|
void limitVelocityUpGravityH(LiveActor* actor, f32, f32, f32);
|
|
void limitVelocityDir(LiveActor* actor, const sead::Vector3f&, f32);
|
|
void limitVelocityDirSign(LiveActor* actor, const sead::Vector3f&, f32);
|
|
void limitVelocityDirV(LiveActor* actor, const sead::Vector3f&, f32);
|
|
void limitVelocityDirVRate(LiveActor* actor, const sead::Vector3f&, f32, f32);
|
|
void limitVelocityParallelVertical(LiveActor* actor, const sead::Vector3f&, f32, f32);
|
|
void limitVelocitySeparateHV(LiveActor* actor, const sead::Vector3f&, f32, f32);
|
|
void reboundVelocityPart(LiveActor* actor, f32, f32);
|
|
void reboundVelocityPart(LiveActor* actor, f32, f32, f32, f32);
|
|
void reboundVelocityFromEachCollision(LiveActor* actor, f32, f32, f32, f32);
|
|
void reboundVelocityFromCollision(LiveActor* actor, f32, f32, f32);
|
|
void reboundVelocityFromTriangles(LiveActor* actor, f32, f32);
|
|
void reboundVelocityFromActor(LiveActor* actor, const LiveActor* target, f32);
|
|
void reboundVelocityFromActor(LiveActor* actor, const LiveActor* target, const sead::Vector3f&, f32);
|
|
void reboundVelocityFromSensor(LiveActor* actor, const HitSensor*, f32);
|
|
void reboundVelocityFromSensor(LiveActor* actor, const HitSensor*, const sead::Vector3f&, f32);
|
|
void calcDirToActor(sead::Vector3f*, const LiveActor* actor, const LiveActor* target);
|
|
void reboundVelocityBetweenActor(LiveActor* actor, LiveActor* target, f32);
|
|
void reboundVelocityBetweenSensor(HitSensor*, HitSensor*, f32);
|
|
void calcVelocityKeepLengthBetweenActor(sead::Vector3f*, const LiveActor* actor, const LiveActor* target, f32, f32);
|
|
void addVelocityKeepLengthBetweenActor(LiveActor* actor, LiveActor* target, f32, f32);
|
|
void addVelocityDumpKeepLengthBetweenActor(LiveActor* actor, LiveActor* target, f32, f32, f32);
|
|
void calcVelocityBlowAttack(sead::Vector3f*, const LiveActor* actor, const sead::Vector3f&, f32, f32);
|
|
void addVelocityBlowAttack(LiveActor* actor, const sead::Vector3f&, f32, f32);
|
|
void addVelocityBlowAttack(LiveActor* actor, const HitSensor*, f32, f32);
|
|
void setVelocityBlowAttack(LiveActor* actor, const sead::Vector3f&, f32, f32);
|
|
void setVelocityBlowAttack(LiveActor* actor, const HitSensor*, f32, f32);
|
|
void setVelocityBlowAttackAndTurnToTarget(LiveActor* actor, const sead::Vector3f&, f32, f32);
|
|
bool isVelocityFast(const LiveActor* actor, f32);
|
|
bool isVelocityFastH(const LiveActor* actor, f32);
|
|
bool isVelocitySlow(const LiveActor* actor, f32);
|
|
bool isVelocitySlowH(const LiveActor* actor, f32);
|
|
float calcSpeedH(const LiveActor* actor);
|
|
float calcSpeedV(const LiveActor* actor);
|
|
void calcSpeedDirection(const LiveActor* actor, const sead::Vector3f&);
|
|
void calcSpeedExceptDir(const LiveActor* actor, const sead::Vector3f&);
|
|
bool isNear(const LiveActor* actor, const LiveActor* target, f32);
|
|
bool isNear(const LiveActor* actor, const sead::Vector3f&, f32);
|
|
bool isNearXZ(const LiveActor* actor, const sead::Vector3f&, f32);
|
|
bool isNearH(const LiveActor* actor, const sead::Vector3f&, f32);
|
|
float calcDistanceH(const LiveActor* actor, const sead::Vector3f&);
|
|
bool isNearV(const LiveActor* actor, const sead::Vector3f&, f32);
|
|
float calcDistanceV(const LiveActor* actor, const sead::Vector3f&);
|
|
bool isNearHV(const LiveActor* actor, const sead::Vector3f&, f32, f32);
|
|
bool isNearHV(const LiveActor* actor, const sead::Vector3f&, f32, f32, f32);
|
|
void calcHeight(const LiveActor* actor, const sead::Vector3f&);
|
|
bool isFar(const LiveActor* actor, const LiveActor* target, f32);
|
|
bool isFar(const LiveActor* actor, const sead::Vector3f&, f32);
|
|
float calcDistance(const LiveActor* actor, const LiveActor* target);
|
|
float calcDistance(const LiveActor* actor, const sead::Vector3f&);
|
|
float calcDistanceV(const LiveActor* actor, const LiveActor* target);
|
|
float calcDistanceH(const LiveActor* actor, const LiveActor* target);
|
|
float calcDistanceH(const LiveActor* actor, const sead::Vector3f&, const sead::Vector3f&);
|
|
float calcHeight(const LiveActor* actor, const LiveActor* target);
|
|
void calcDistanceFront(const LiveActor* actor, const sead::Vector3f&);
|
|
void calcDistanceFront(const LiveActor* actor, const LiveActor* target);
|
|
void addRotateAndRepeatX(LiveActor* actor, f32);
|
|
void addRotateAndRepeatY(LiveActor* actor, f32);
|
|
void addRotateAndRepeatZ(LiveActor* actor, f32);
|
|
void addRandomRotateY(LiveActor* actor);
|
|
void calcQuatSide(sead::Vector3f*, const LiveActor* actor);
|
|
void calcQuatUp(sead::Vector3f*, const LiveActor* actor);
|
|
void calcQuatFront(sead::Vector3f*, const LiveActor* actor);
|
|
void calcQuatLocalAxis(sead::Vector3f*, const LiveActor* actor, s32);
|
|
void calcTransOffsetFront(sead::Vector3f*, const LiveActor* actor, f32);
|
|
void calcTransOffsetUp(sead::Vector3f*, const LiveActor* actor, f32);
|
|
void calcTransOffsetSide(sead::Vector3f*, const LiveActor* actor, f32);
|
|
void setTransOffsetLocalDir(LiveActor* actor, const sead::Quatf&, const sead::Vector3f&, f32, s32);
|
|
void addTransOffsetLocal(LiveActor* actor, const sead::Vector3f&);
|
|
void addTransOffsetLocalDir(LiveActor* actor, f32, s32);
|
|
void rotateQuatXDirDegree(LiveActor* actor, f32);
|
|
void rotateQuatXDirDegree(LiveActor* actor, const sead::Quatf&, f32);
|
|
void rotateQuatYDirDegree(LiveActor* actor, f32);
|
|
void rotateQuatYDirDegree(LiveActor* actor, const sead::Quatf&, f32);
|
|
void rotateQuatZDirDegree(LiveActor* actor, f32);
|
|
void rotateQuatZDirDegree(LiveActor* actor, const sead::Quatf&, f32);
|
|
void rotateQuatLocalDirDegree(LiveActor* actor, s32, f32);
|
|
void rotateQuatLocalDirDegree(LiveActor* actor, const sead::Quatf&, s32, f32);
|
|
void rotateQuatYDirRandomDegree(LiveActor* actor);
|
|
void rotateQuatYDirRandomDegree(LiveActor* actor, const sead::Quatf&);
|
|
void turnQuatFrontToDirDegreeH(LiveActor* actor, const sead::Vector3f&, f32);
|
|
void turnQuatFrontToPosDegreeH(LiveActor* actor, const sead::Vector3f&, f32);
|
|
void turnQuatFrontFromPosDegreeH(LiveActor* actor, const sead::Vector3f&, f32);
|
|
void turnFront(LiveActor* actor, f32);
|
|
void turnFront(LiveActor* actor, const sead::Vector3f&, f32);
|
|
void turnFrontToPos(LiveActor* actor, const sead::Vector3f&, f32);
|
|
void turnFrontToDir(LiveActor* actor, const sead::Vector3f&, f32);
|
|
void turnFrontToDirGetIsFinished(LiveActor* actor, const sead::Vector3f&, f32);
|
|
void turnDirectionDegree(const LiveActor* actor, sead::Vector3f*, const sead::Vector3f&, f32);
|
|
void turnFrontToTarget(LiveActor* actor, const LiveActor* target, f32);
|
|
void turnFrontFromTarget(LiveActor* actor, const LiveActor* target, f32);
|
|
void turnFrontToPlayer(LiveActor* actor, f32);
|
|
void turnFrontFromPlayer(LiveActor* actor, f32);
|
|
void turnDirection(const LiveActor* actor, sead::Vector3f*, const sead::Vector3f&, f32);
|
|
void turnDirectionToTarget(const LiveActor* actor, sead::Vector3f*, const sead::Vector3f&, f32);
|
|
void turnDirectionToTargetDegree(const LiveActor* actor, sead::Vector3f*, const sead::Vector3f&, f32);
|
|
void turnDirectionFromTargetDegree(const LiveActor* actor, sead::Vector3f*, const sead::Vector3f&, f32);
|
|
void turnDirectionAlongGround(const LiveActor* actor, sead::Vector3f*);
|
|
void turnDirectionAlongGround(LiveActor* actor);
|
|
void turnToDirectionAxis(LiveActor* actor, const sead::Vector3f&, const sead::Vector3f&, f32);
|
|
void turnFrontSpherical(const LiveActor* actor, sead::Vector3f*, const sead::Vector3f&, f32);
|
|
void turnFrontSphericalToTarget(const LiveActor* actor, sead::Vector3f*, const sead::Vector3f&, f32);
|
|
void turnFrontSphericalToTargetDegree(const LiveActor* actor, sead::Vector3f*, const sead::Vector3f&, f32);
|
|
void turnToDirection(LiveActor* actor, const sead::Vector3f&, f32);
|
|
void turnLocalDirToDirection(LiveActor* actor, const sead::Vector3f&, const sead::Vector3f&, f32);
|
|
void turnToTarget(LiveActor* actor, const sead::Vector3f&, f32);
|
|
void turnToTarget(LiveActor* actor, const LiveActor* target, f32);
|
|
void faceToDirection(LiveActor* actor, const sead::Vector3f&);
|
|
void faceToDirectionSupportUp(LiveActor* actor, const sead::Vector3f&);
|
|
void faceToTarget(LiveActor* actor, const sead::Vector3f&);
|
|
void faceToTarget(LiveActor* actor, const LiveActor* target);
|
|
void faceToSensor(LiveActor* actor, const HitSensor*);
|
|
void faceToVelocity(LiveActor* actor);
|
|
void calcDirClockwiseToDir(sead::Vector3f*, const LiveActor* actor, const sead::Vector3f&);
|
|
void calcDirClockwiseToPos(sead::Vector3f*, const LiveActor* actor, const sead::Vector3f&);
|
|
void calcDirToActorH(sead::Vector3f*, const LiveActor* actor, const LiveActor* target);
|
|
void calcDirToActorH(sead::Vector3f*, const LiveActor* actor, const sead::Vector3f&);
|
|
void calcAngleToTargetH(const LiveActor* actor, const sead::Vector3f&);
|
|
void calcAngleToTargetV(const LiveActor* actor, const sead::Vector3f&);
|
|
bool isFaceToTargetDegree(const LiveActor* actor, const sead::Vector3f&, const sead::Vector3f&, f32);
|
|
bool isFaceToTargetDegree(const LiveActor* actor, const sead::Vector3f&, f32);
|
|
bool isFaceToTargetDegreeHV(const LiveActor* actor, const sead::Vector3f&, const sead::Vector3f&, f32, f32);
|
|
bool isFaceToTargetDegreeH(const LiveActor* actor, const sead::Vector3f&, const sead::Vector3f&, f32);
|
|
bool isInSightCone(const LiveActor* actor, const sead::Vector3f&, const sead::Vector3f&, f32, f32);
|
|
bool isInSightConeTarget(const LiveActor* actor, const LiveActor* target, f32, f32);
|
|
bool isInSightConePlayer(const LiveActor* actor, f32, f32);
|
|
bool isInSightFan(const LiveActor* actor, const sead::Vector3f&, const sead::Vector3f&, f32, f32, f32);
|
|
bool isInSightFanTarget(const LiveActor* actor, const LiveActor* target, f32, f32, f32);
|
|
bool isInSightBox(const LiveActor* actor, const sead::Vector3f&, const sead::BoundBox3f&);
|
|
void walkAndTurnToDirection(LiveActor* actor, const sead::Vector3f&, f32, f32, f32, f32, bool);
|
|
void walkAndTurnToDirection(LiveActor* actor, sead::Vector3f*, const sead::Vector3f&, f32, f32, f32, f32, bool);
|
|
void walkAndTurnPoseToDirection(LiveActor* actor, const sead::Vector3f&, const ActorParamMove&, bool);
|
|
void walkAndTurnToTarget(LiveActor* actor, const sead::Vector3f&, f32, f32, f32, f32, bool);
|
|
void flyAndTurnToDirection(LiveActor* actor, sead::Vector3f*, const sead::Vector3f&, f32, f32, f32, f32);
|
|
void flyAndTurnToDirection(LiveActor* actor, const sead::Vector3f&, f32, f32, f32, f32);
|
|
void flyAndTurnToTarget(LiveActor* actor, const sead::Vector3f&, f32, f32, f32, f32);
|
|
void walkAndTurnToDirectionFittedGroundGravity(LiveActor* actor, sead::Vector3f*, const sead::Vector3f&, f32, f32, f32, f32, bool);
|
|
void walkAndTurnToDirectionFittedGroundGravity(LiveActor* actor, const sead::Vector3f&, f32, f32, f32, f32, bool);
|
|
void walkAndTurnToTargetFittedGroundGravity(LiveActor* actor, const sead::Vector3f&, f32, f32, f32, f32, bool);
|
|
bool tryKillByDeathArea(LiveActor* actor);
|
|
void rotateAndKeepColliderPosRate(LiveActor* actor, const sead::Vector3f&, const sead::Vector3f&, f32);
|
|
void calcSpringMovement(LiveActor* actor, const sead::Vector3f&, const f32, f32, sead::Vector3f&, f32, f32);
|
|
void addVelocityClockwiseToPlayer(LiveActor* actor, f32);
|
|
void calcDirClockwiseToPlayer(sead::Vector3f*, const LiveActor* actor);
|
|
void flyAndTurnToPlayer(LiveActor* actor, const ActorParamMove&);
|
|
void escapeFromPlayer(LiveActor* actor, f32, f32, f32, f32);
|
|
void escapeFromPlayer(LiveActor* actor, sead::Vector3f*, f32, f32, f32, f32);
|
|
void walkAndTurnToPlayer(LiveActor* actor, f32, f32, f32, f32, bool);
|
|
bool isPlayerInSightFan(const LiveActor* actor, f32, f32, f32);
|
|
bool isFallOrDamageCodeNextMove(const LiveActor* actor, const sead::Vector3f&, f32, f32);
|
|
bool isFallNextMove(const LiveActor* actor, const sead::Vector3f&, f32, f32);
|
|
|
|
} // namespace al
|