d_a_npc_fguard equivalent (#2595)

* almost matching

* Still have inline issue

* equivalent

* updated configure.py

* fixed broken match
This commit is contained in:
Carco_21
2025-08-22 04:29:44 -04:00
committed by GitHub
parent 961e370b3e
commit ff245df451
5 changed files with 230 additions and 604 deletions
+8 -45
View File
@@ -111,13 +111,8 @@ inline s16 Cd2_HIO_atnOfs(int param_1) {
}
inline f32 Cd2_HIO_objScale(int param_1) {
f32 rv;
if (param_1 < 16) {
rv = l_Cd2_HIO.field_0x0004[param_1].mScale;
} else {
return l_Cd2_HIO.field_0x20c4[param_1 - 16].mScale;
}
return rv;
return (f32)(param_1 < 16 ? l_Cd2_HIO.field_0x0004[param_1].mScale : l_Cd2_HIO.field_0x20c4[param_1 - 16].mScale);
}
inline f32 Cd2_HIO_walkMaxSpeed(int param_1) {
@@ -151,53 +146,23 @@ inline f32 Cd2_HIO_maxSpeed(int param_1) {
}
inline f32 Cd2_HIO_anmPlaySpeed(int param_1) {
f32 rv;
if (param_1 < 16) {
rv = l_Cd2_HIO.field_0x0004[param_1].mAnmPlaySpeed;
} else {
return l_Cd2_HIO.field_0x20c4[param_1 - 16].mAnmPlaySpeed;
}
return rv;
return (f32)(param_1 < 16 ? l_Cd2_HIO.field_0x0004[param_1].mAnmPlaySpeed : l_Cd2_HIO.field_0x20c4[param_1 - 16].mAnmPlaySpeed);
}
inline f32 Cd2_HIO_chkWallH(int param_1) {
f32 rv;
if (param_1 < 16) {
rv = l_Cd2_HIO.field_0x0004[param_1].mChkWallH;
} else {
rv = l_Cd2_HIO.field_0x20c4[param_1 - 16].mChkWallH;
}
return rv;
return param_1 < 16 ? l_Cd2_HIO.field_0x0004[param_1].mChkWallH : l_Cd2_HIO.field_0x20c4[param_1 - 16].mChkWallH;
}
inline f32 Cd2_HIO_chkWallR(int param_1) {
f32 rv;
if (param_1 < 16) {
rv = l_Cd2_HIO.field_0x0004[param_1].mChkWallR;
} else {
rv = l_Cd2_HIO.field_0x20c4[param_1 - 16].mChkWallR;
}
return rv;
return param_1 < 16 ? l_Cd2_HIO.field_0x0004[param_1].mChkWallR : l_Cd2_HIO.field_0x20c4[param_1 - 16].mChkWallR;
}
inline f32 Cd2_HIO_cylR(int param_1) {
f32 rv;
if (param_1 < 16) {
rv = l_Cd2_HIO.field_0x0004[param_1].mCylR;
} else {
rv = l_Cd2_HIO.field_0x20c4[param_1 - 16].mCylR;
}
return rv;
return param_1 < 16 ? l_Cd2_HIO.field_0x0004[param_1].mCylR : l_Cd2_HIO.field_0x20c4[param_1 - 16].mCylR;
}
inline f32 Cd2_HIO_cylH(int param_1) {
f32 rv;
if (param_1 < 16) {
rv = l_Cd2_HIO.field_0x0004[param_1].mCylH;
} else {
rv = l_Cd2_HIO.field_0x20c4[param_1 - 16].mCylH;
}
return rv;
return param_1 < 16 ? l_Cd2_HIO.field_0x0004[param_1].mCylH : l_Cd2_HIO.field_0x20c4[param_1 - 16].mCylH;
}
inline int Cd2_HIO_maxLmtX_BACKBONE(int param_1) {
@@ -407,9 +372,7 @@ public:
/* 0xAA4 */ int field_0xaa4;
/* 0xAA8 */ int mHitodamaEmitters[2];
/* 0xAB0 */ daTagEscape_c* mEscapeTag;
/* 0xAB4 */ f32 field_0xab4;
/* 0xAB8 */ f32 field_0xab8;
/* 0xABC */ f32 field_0xabc;
/* 0xAB4 */ cXyz field_0xab4;
/* 0xAC0 */ s16 field_0xac0;
/* 0xAC2 */ s16 field_0xac2;
/* 0xAC4 */ s16 field_0xac4;
+20 -17
View File
@@ -11,31 +11,34 @@
*
* @details
*
*/
*/
class daNpcFgd_c : public daNpcCd2_c {
public:
/* 809BA53C */ void initPosAngle(Vec&, s16);
/* 809BA584 */ void create();
/* 809BA584 */ cPhs__Step create();
/* 809BA730 */ void create_init();
/* 809BAA80 */ ~daNpcFgd_c();
void setAnime(int param_1) {
setAnm((J3DAnmTransformKey*)getAnmP(param_1, field_0xacc), 1.0f, 12.0f, 2, cM_rndF(5.0f), -1);
}
int getType() { return fopAcM_GetParam(this) & 0xFF; }
int getObjNum() { return (fopAcM_GetParam(this) >> 8) & 0xFF; }
inline int createHeap();
inline void initCollision();
int getFirstFlag() { return ((fopAcM_GetParam(this) >> 16) & 0xFF) != 0; }
void setAnime(int param_1) { setAnm((J3DAnmTransformKey*)getAnmP(param_1, mObjNum), 1.0f, 12.0f, 2, cM_rndF(5.0f), -1); }
inline void setBaseMtx();
inline void checkGroundHeight();
inline void setCollision();
inline int execute();
inline int draw();
void offDrawFlag() { mFlag = 0; }
void onDrawFlag() { mFlag = 1; }
void offDrawFlag() {
field_0xad8 = 0;
}
void onDrawFlag() {
field_0xad8 = 1;
}
/* 0xAC8 */ u32 field_0xac8;
/* 0xACC */ u32 field_0xacc;
/* 0xAC8 */ J3DModel* field_0xac8;
/* 0xACC */ int mObjNum;
/* 0xAD0 */ u32 field_0xad0;
/* 0xAD4 */ u32 field_0xad4;
/* 0xAD8 */ u8 field_0xad8;
/* 0xAD4 */ f32 field_0xad4;
/* 0xAD8 */ u8 mFlag;
};
#endif /* D_A_NPC_FGUARD_H */