d_a_npc_coach OK

Closes #758
This commit is contained in:
YunataSavior
2025-09-21 23:57:05 -07:00
parent c756345026
commit fef808621f
7 changed files with 550 additions and 544 deletions
+1 -1
View File
@@ -39,7 +39,7 @@ public:
inline int draw();
inline void setCcSphere();
inline void setNoHitTimer();
void setNoHitTimer() { noHitTimer = 20; }
inline int execute();
private:
+28 -40
View File
@@ -34,9 +34,7 @@ public:
/* 0x40 */ f32 jump_dist; // 跳ね距離 - Jump Distance
/* 0x44 */ f32 wheel_bounce; // 車輪跳ね - Wheel Bounce
/* 0x48 */ f32 field_0x48;
/* 0x4C */ f32 field_0x4c;
/* 0x50 */ f32 field_0x50;
/* 0x54 */ f32 field_0x54;
/* 0x4C */ Vec field_0x4c;
/* 0x58 */ f32 field_0x58;
/* 0x5C */ f32 field_0x5c;
/* 0x60 */ s16 field_0x60;
@@ -75,8 +73,8 @@ class daNpcChReins_c {
public:
/* 0x000 */ mDoExt_3DlineMat1_c field_0x0;
/* 0x03C */ mDoExt_3DlineMat1_c field_0x3c;
/* 0x078 */ cXyz field_0x78[10];
/* 0x0F0 */ cXyz field_0xf0[10];
/* 0x078 */ cXyz field_0x78[2][5];
/* 0x0F0 */ cXyz field_0xf0[2][5];
/* 0x168 */ f32 field_0x168;
/* 0x16C */ s8 field_0x16c;
/* 0x170 */ cXyz field_0x170;
@@ -114,8 +112,6 @@ public:
class daNpcChHarness_c {
public:
/* 809A3570 */ ~daNpcChHarness_c();
/* 0x000 */ J3DModel* mHarnessModel;
/* 0x004 */ dKy_tevstr_c mTevStr;
/* 0x38C */ dBgS_ObjAcch mBgc;
@@ -135,8 +131,6 @@ public:
class daNpcChCoach_c {
public:
/* 809A3674 */ ~daNpcChCoach_c();
/* 0x000 */ J3DModel* mCoachModel;
/* 0x004 */ dKy_tevstr_c mTevStr;
/* 0x38C */ dBgS_ObjAcch mBgc;
@@ -175,7 +169,7 @@ public:
class daNpcChPath_c {
public:
BOOL setPath(int, int, cXyz*, bool);
inline BOOL setPath(int, int, cXyz&, bool);
BOOL isClose() { return dPath_ChkClose(mpPath); }
bool setNextPoint() {
mPntIndex++;
@@ -215,8 +209,8 @@ public:
s8 getArg0() { return mpPath->m_points[mPntIndex].mArg0; }
s8 getArg1() { return mpPath->m_points[mPntIndex].mArg1; }
s8 getArg2() { return mpPath->m_points[mPntIndex].mArg2; }
int getArg3() { return mpPath->m_points[mPntIndex].mArg3; }
inline int checkNearAttackPoint();
s8 getArg3() { return mpPath->m_points[mPntIndex].mArg3; }
inline s8 checkNearAttackPoint();
inline bool checkPoint(cXyz*, f32);
inline bool setNextTarget();
@@ -239,50 +233,44 @@ public:
/* 8099E4C0 */ int createHeap();
/* 8099EB40 */ int execute();
/* 8099EEA0 */ void checkCoachDamage();
/* 8099F1B8 */ void setCoachBlazing(u8);
/* 8099F1B8 */ inline void setCoachBlazing(u8);
/* 8099F4BC */ void reinsExecute();
/* 8099F988 */ void reinsInit();
/* 8099FCF4 */ void calcCoachMotion();
/* 809A0728 */ void calcRearWheelRotate();
/* 809A0728 */ inline void calcRearWheelRotate();
/* 809A0E00 */ void calcHarnessMotion();
/* 809A1180 */ void calcFrontWheelRotate();
/* 809A1810 */ void calcHorseMotion();
/* 809A1BE0 */ void calcHorseAnm();
/* 809A1BE0 */ inline void calcHorseAnm();
/* 809A2740 */ void calcHorsePath();
/* 809A2EB8 */ int draw();
/* 809A3330 */ ~daNpcCoach_c();
/* 809A3884 */ cPhs__Step create();
/* 809A3928 */ void create_init();
/* 809A4078 */ void initCollision();
/* 809A4078 */ inline void initCollision();
/* 809A43A0 */ void initBaseMtx();
/* 809A43DC */ void setBaseMtx();
/* 809A46C4 */ void initCoachBlazing();
/* 809A48A8 */ daNpcCoach_c();
inline bool checkCoachBlazing() { return mCoachBlazing; }
inline Mtx* getCoachMtx() { return &mCoachMtx; }
inline csXyz* getFrontWheelRot(int param_1) {
if (param_1 == 2) {
return &mChHarness.field_0x70c.mWheelRot;
}
return &mChHarness.field_0x730.mWheelRot;
bool checkCoachBlazing() { return mCoachBlazing; }
Mtx* getCoachMtx() { return &mCoachMtx; }
csXyz* getFrontWheelRot(int param_1) {
return (param_1 == 2) ? &mChHarness.field_0x70c.mWheelRot
: &mChHarness.field_0x730.mWheelRot;
}
inline csXyz* getRearWheelRot(int param_1) {
if (param_1 == 1) {
return &mChCoach.field_0x7a8.mWheelRot;
}
return &mChCoach.field_0x7cc.mWheelRot;
csXyz* getRearWheelRot(int param_1) {
return (param_1 == 1) ? &mChCoach.field_0x7a8.mWheelRot
: &mChCoach.field_0x7cc.mWheelRot;
}
inline s16 getCoachRotate() { return mChCoach.mCoachRot; }
inline f32 getCoachTrans() { return mChCoach.mCoachTrans; }
inline int getRailID() { return mChPath.getCurrentId(); }
s16 getCoachRotate() { return mChCoach.mCoachRot; }
f32 getCoachTrans() { return mChCoach.mCoachTrans; }
int getRailID() { return mChPath.getCurrentId(); }
inline void setDriverMtx();
inline void calcDriverMotion() { setDriverMtx(); }
void calcDriverMotion() { setDriverMtx(); }
inline void calcYeliaMotion();
inline void setYeliaMtx() {
void setYeliaMtx() {
mDoMtx_stack_c::copy(mChCoach.mCoachModel->getAnmMtx(6));
mDoMtx_stack_c::multVecZero(&mChYelia.field_0x694);
mChYelia.mpModelMorf->getModel()->setBaseTRMtx(mDoMtx_stack_c::get());
@@ -299,15 +287,15 @@ public:
inline void setHorseMtx();
inline void setHorseAnm(int);
inline void eyeWink();
inline BOOL checkKargoAttack();
inline bool checkKargoAttack();
inline BOOL setExpressionAnm(int, bool);
inline void resetOverAngle();
inline void reinsDraw();
inline u8 getPathID() { return fopAcM_GetParam(this) & 0xFF; }
inline int getMessageNo() { return home.angle.x; }
u8 getPathID() { return fopAcM_GetParam(this) & 0xFF; }
s16 getMessageNo() { return home.angle.x; }
inline void setHarnessMtx();
const daNpcCoach_Attr_c& attr() { return M_attr; }
const daNpcCoach_Attr_c& attr() const { return M_attr; }
static daNpcCoach_Attr_c const M_attr;
static u16 const ParticleName[10];
@@ -325,7 +313,7 @@ private:
/* 0x247C */ fpc_ProcID field_0x247c[5];
/* 0x2490 */ Mtx mCoachMtx;
/* 0x24C0 */ int field_0x24c0;
/* 0x24C4 */ int field_0x24c4;
/* 0x24C4 */ int mTotalDmgRecv;
/* 0x24C8 */ f32 field_0x24c8;
/* 0x24CC */ dBgS_AcchCir mAcchCir;
/* 0x250C */ dCcD_Stts mStts;
+1 -1
View File
@@ -107,7 +107,7 @@ public:
setPosition(param_1, 14, param_2, -1);
}
static void setCoachPosition(int param_1, Vec* param_2, int param_3) {
static void setCoachPosition(int param_1, const Vec* param_2, int param_3) {
setPosition(param_1, 10, param_2, param_3);
}
};