mirror of
https://github.com/MonsterDruide1/OdysseyDecomp
synced 2026-05-06 07:24:34 +00:00
112 lines
5.7 KiB
C++
112 lines
5.7 KiB
C++
#pragma once
|
|
|
|
#include "Library/LiveActor/LiveActor.h"
|
|
|
|
namespace al {
|
|
class ActorCollisionController;
|
|
class CollisionPartsFilterBase;
|
|
class HitSensor;
|
|
class TriangleFilterBase;
|
|
|
|
Collider* getActorCollider(const LiveActor*);
|
|
bool isExistActorCollider(const LiveActor*);
|
|
void getActorCollisionPartsSensor(const LiveActor*);
|
|
bool isExistCollisionParts(const LiveActor*);
|
|
bool isEqualCollisionParts(const LiveActor*, const CollisionParts*);
|
|
void validateCollisionParts(LiveActor*);
|
|
void invalidateCollisionParts(LiveActor*);
|
|
void validateCollisionPartsBySystem(LiveActor*);
|
|
void invalidateCollisionPartsBySystem(LiveActor*);
|
|
void isValidCollisionParts(const LiveActor*);
|
|
void setCollisionPartsSpecialPurposeName(LiveActor*, const char*);
|
|
void resetAllCollisionMtx(LiveActor*);
|
|
void syncCollisionMtx(LiveActor*, const sead::Matrix34f*);
|
|
void syncCollisionMtx(LiveActor*, CollisionParts*, const sead::Matrix34f*);
|
|
void setSyncCollisionMtxPtr(LiveActor*, const sead::Matrix34f*);
|
|
bool isOnGround(const LiveActor*, u32);
|
|
bool isOnGroundFace(const LiveActor*);
|
|
bool isCollidedGroundEdgeOrCorner(const LiveActor*);
|
|
bool isOnGroundNoVelocity(const LiveActor*, u32);
|
|
bool isOnGroundDegree(const LiveActor*, f32, u32);
|
|
bool isOnGroundFaceDegree(const LiveActor*, f32);
|
|
bool isOnGroundNoVelocityDegree(const LiveActor*, f32, u32);
|
|
const sead::Vector3f& getOnGroundNormal(const LiveActor*, u32);
|
|
void setColliderRadius(LiveActor*, f32);
|
|
void setColliderOffsetY(LiveActor*, f32);
|
|
f32 getColliderRadius(const LiveActor*);
|
|
f32 getColliderOffsetY(const LiveActor*);
|
|
void getColliderFixReaction(const LiveActor*);
|
|
void calcColliderPos(sead::Vector3f*, const LiveActor*);
|
|
void validateColliderRobustCheck(LiveActor*);
|
|
void invalidateColliderRobustCheck(LiveActor*);
|
|
void setColliderReactMovePower(LiveActor*, bool);
|
|
void calcColliderFloorRotatePower(sead::Quatf*, LiveActor*);
|
|
void calcJumpInertia(sead::Vector3f*, LiveActor*, const sead::Vector3f&, f32);
|
|
bool isCollidedGround(const LiveActor*);
|
|
void calcJumpInertiaWall(sead::Vector3f*, LiveActor*, f32);
|
|
bool isCollidedWall(const LiveActor*);
|
|
void scaleVelocityInertiaWallHit(LiveActor*, f32, f32, f32);
|
|
const sead::Vector3f& getCollidedWallNormal(const LiveActor*);
|
|
void calcCollidedNormalSum(const LiveActor*, sead::Vector3f*);
|
|
void calcGroundNormalOrUpDir(sead::Vector3f*, const LiveActor*);
|
|
const sead::Vector3f& getCollidedGroundNormal(const LiveActor*);
|
|
void calcGroundNormalOrGravityDir(sead::Vector3f*, const LiveActor*);
|
|
void setColliderFilterTriangle(LiveActor*, const TriangleFilterBase*);
|
|
void setColliderFilterCollisionParts(LiveActor*, const CollisionPartsFilterBase*);
|
|
void createAndSetColliderFilterExistActor(LiveActor*);
|
|
void createAndSetColliderFilterExistActor(LiveActor*, LiveActor*);
|
|
void createAndSetColliderFilterSubActor(LiveActor*);
|
|
void createAndSetColliderSpecialPurpose(LiveActor*, const char*);
|
|
void createAndSetColliderSpecialPurposeForCollisionActor(LiveActor*, const char*);
|
|
void createAndSetColliderIgnoreOptionalPurpose(LiveActor*, const char*);
|
|
void createAndSetColliderSpecialAndIgnoreOptionalPurpose(LiveActor*, const char*, const char*);
|
|
void createActorCollisionController(LiveActor*);
|
|
void setColliderRadius(ActorCollisionController*, f32);
|
|
void setColliderRadiusScale(ActorCollisionController*, f32);
|
|
void setColliderOffsetY(ActorCollisionController*, f32);
|
|
void resetActorCollisionController(ActorCollisionController*, s32);
|
|
void updateActorCollisionController(ActorCollisionController*);
|
|
const char* getCollidedFloorMaterialCodeName(const LiveActor*);
|
|
const char* getCollidedFloorMaterialCodeName(const Collider*);
|
|
const char* getCollidedWallMaterialCodeName(const LiveActor*);
|
|
const char* getCollidedCeilingMaterialCodeName(const LiveActor*);
|
|
bool isCollidedFloorCode(const LiveActor*, const char*);
|
|
bool isCollidedCollisionCode(const LiveActor*, const char*, const char*);
|
|
bool isCollidedWallCode(const LiveActor*, const char*);
|
|
bool isCollidedCameraCode(const LiveActor*, const char*);
|
|
bool isCollidedMaterialCode(const LiveActor*, const char*);
|
|
bool isCollidedGroundFloorCode(const LiveActor*, const char*);
|
|
bool isCollidedGroundCollisionCode(const LiveActor*, const char*, const char*);
|
|
bool isCollided(const LiveActor*);
|
|
bool isCollidedCeiling(const LiveActor*);
|
|
bool isCollidedWallFace(const LiveActor*);
|
|
bool isCollidedVelocity(const LiveActor*);
|
|
bool isCollidedWallVelocity(const LiveActor*);
|
|
bool isCollidedCeilingVelocity(const LiveActor*);
|
|
const sead::Vector3f& getCollidedCeilingNormal(const LiveActor*);
|
|
const sead::Vector3f& getCollidedGroundPos(const LiveActor*);
|
|
const sead::Vector3f& getCollidedWallPos(const LiveActor*);
|
|
const sead::Vector3f& getCollidedCeilingPos(const LiveActor*);
|
|
void calcSpeedCollideWall(const LiveActor*);
|
|
void calcSpeedCollideGround(const LiveActor*);
|
|
void calcSpeedCollideCeiling(const LiveActor*);
|
|
void getCollidedGroundCollisionParts(const LiveActor*);
|
|
bool tryGetCollidedGroundCollisionParts(const LiveActor*);
|
|
void getCollidedWallCollisionParts(const LiveActor*);
|
|
bool tryGetCollidedWallCollisionParts(const LiveActor*);
|
|
void getCollidedCeilingCollisionParts(const LiveActor*);
|
|
bool tryGetCollidedCeilingCollisionParts(const LiveActor*);
|
|
void getCollidedGroundSensor(const LiveActor*);
|
|
HitSensor* tryGetCollidedGroundSensor(const LiveActor*);
|
|
HitSensor* getCollidedWallSensor(const LiveActor*);
|
|
HitSensor* tryGetCollidedWallSensor(const LiveActor*);
|
|
HitSensor* getCollidedCeilingSensor(const LiveActor*);
|
|
HitSensor* tryGetCollidedCeilingSensor(const LiveActor*);
|
|
HitSensor* tryGetCollidedSensor(const LiveActor*);
|
|
bool tryGetCollidedPos(sead::Vector3f*, const LiveActor*);
|
|
void setForceCollisionScaleOne(const LiveActor*);
|
|
void followRotateFrontAxisUpGround(LiveActor*);
|
|
void followRotateFrontAxisUp(LiveActor*, const CollisionParts*);
|
|
// void ActorFactory::ActorFactory(const char*);
|
|
} // namespace al
|