work on d_a_boomerang

This commit is contained in:
Trueffeloot
2023-08-03 23:13:13 +02:00
parent 0300993e11
commit dcec254788
14 changed files with 632 additions and 980 deletions
+4
View File
@@ -33,6 +33,10 @@ inline s16 i_cM_deg2s(f32 deg) {
return deg;
}
inline f32 cM_fcos(f32 x) {
return JMASCos(cM_rad2s(x));
}
inline f32 cM_fsin(f32 x) {
return JMASSin(cM_rad2s(x));
}
+1
View File
@@ -111,6 +111,7 @@ public:
}; // Size: 0x1404
bool dBgS_CheckBGroundPoly(cBgS_PolyInfo const&);
bool dBgS_CheckBRoofPoly(cBgS_PolyInfo const&);
bool dBgS_CheckBWallPoly(cBgS_PolyInfo const&);
void dBgS_MoveBGProc_Typical(dBgW* param_0, void* param_1, cBgS_PolyInfo const& param_2,
bool param_3, cXyz* param_4, csXyz* param_5, csXyz* param_6);
+36 -19
View File
@@ -11,9 +11,9 @@
class daBoomerang_sight_c {
public:
/* 8049E0B8 */ void createHeap();
/* 8049E0B8 */ int createHeap();
/* 8049E36C */ void initialize();
/* 8049EB64 */ void playAnime(int, int);
/* 8049EB64 */ int playAnime(int, int);
/* 8049EDA8 */ void initFrame(int);
/* 8049EDE8 */ void copyNumData(int);
/* 8049EEC8 */ void setSight(cXyz const*, int);
@@ -22,6 +22,10 @@ public:
/* 804A278C */ virtual ~daBoomerang_sight_c();
u8 getReserve() const { return mReserve; }
u8 getAlpha(int i_index) { return mAlpha[i_index]; }
void offRedSight() { mRedSight = false; }
void onReserve() { mReserve = 1; }
void offReserve() { mReserve = 0; }
private:
/* 0x04 */ J2DScreen* field_0x4;
@@ -29,24 +33,24 @@ private:
/* 0x0C */ J2DPane* field_0xc;
/* 0x10 */ J2DPane* field_0x10;
/* 0x14 */ J2DPane* field_0x14;
/* 0x18 */ J2DAnmBase* field_0x18;
/* 0x1C */ J2DAnmBase* field_0x1c;
/* 0x18 */ J2DAnmTevRegKey* field_0x18;
/* 0x1C */ J2DAnmTevRegKey* field_0x1c;
/* 0x20 */ J2DScreen* field_0x20;
/* 0x24 */ J2DPane* field_0x24;
/* 0x28 */ J2DPane* field_0x28;
/* 0x2C */ J2DPane* field_0x2c;
/* 0x30 */ J2DPane* field_0x30;
/* 0x34 */ J2DAnmBase* field_0x34;
/* 0x38 */ J2DAnmBase* field_0x38;
/* 0x34 */ J2DAnmTevRegKey* field_0x34;
/* 0x38 */ J2DAnmTevRegKey* field_0x38;
/* 0x3C */ J2DScreen* field_0x3c;
/* 0x40 */ J2DPane* field_0x40;
/* 0x44 */ J2DPane* field_0x44;
/* 0x48 */ J2DPane* field_0x48;
/* 0x4C */ J2DPane* field_0x4c;
/* 0x50 */ J2DAnmBase* field_0x50;
/* 0x54 */ J2DAnmBase* field_0x54;
/* 0x58 */ J2DAnmBase* field_0x58;
/* 0x5C */ J2DAnmBase* field_0x5c;
/* 0x50 */ J2DAnmTevRegKey* field_0x50;
/* 0x54 */ J2DAnmTevRegKey* field_0x54;
/* 0x58 */ J2DAnmColor* field_0x58;
/* 0x5C */ J2DAnmTransform* field_0x5c;
/* 0x60 */ bool mRedSight;
/* 0x61 */ u8 mReserve;
/* 0x62 */ u8 mAlpha[6];
@@ -62,7 +66,10 @@ class daAlink_c;
class daBoomerang_c : public fopAc_ac_c {
public:
enum daBoomerang_FLG0 {
/* 0x001 */ FLG0_1 = 0x001,
/* 0x004 */ FLG0_UNK = 0x004,
/* 0x010 */ FLG0_10 = 0x010,
/* 0x200 */ FLG0_0x200 = 0x200,
/* 0x800 */ FLG0_LOCK_DIST_CANCEL = 0x800,
/* 0x080 */ WIND_CATCH = 0x80,
};
@@ -74,7 +81,7 @@ public:
/* 8049F710 */ void pushLockList(int);
/* 8049F818 */ void cancelLockActorBase(fopAc_ac_c*);
/* 8049F874 */ void setAimActorBase(fopAc_ac_c*);
/* 8049F8B0 */ void setLockActor(fopAc_ac_c*, int);
/* 8049F8B0 */ int setLockActor(fopAc_ac_c*, int);
/* 8049F9A4 */ void resetLockActor();
/* 8049F9F0 */ void setRoomInfo();
/* 8049FAA4 */ void setKeepMatrix();
@@ -82,7 +89,7 @@ public:
/* 8049FCD0 */ void setRotAngle();
/* 8049FD6C */ void setAimPos();
/* 8049FE6C */ void checkBgHit(cXyz*, cXyz*);
/* 804A006C */ void setEffectTraceMatrix(u32*, u16);
/* 804A006C */ JPABaseEmitter* setEffectTraceMatrix(u32*, u16);
/* 804A012C */ void setEffect();
/* 804A0874 */ void procWait();
/* 804A0F0C */ void procMove();
@@ -92,6 +99,7 @@ public:
/* 804A2084 */ int create();
/* 804A230C */ daBoomerang_c();
u32 checkStateFlg0(daBoomerang_FLG0 i_flag) { return mStateFlg0 & i_flag; }
void onStateFlg0(daBoomerang_FLG0 flag) { mStateFlg0 |= flag; }
void onWindCatch() { onStateFlg0(WIND_CATCH); }
bool checkForceDelete() const { return mForceDelete; }
@@ -108,16 +116,16 @@ private:
/* 0x568 */ J3DModel* field_0x568;
/* 0x56C */ J3DModel* field_0x56c;
/* 0x570 */ J3DAnmTextureSRTKey* m_windBtk;
/* 0x574 */ mDoExt_bckAnm field_0x574;
/* 0x574 */ mDoExt_bckAnm mBck;
/* 0x590 */ J3DModel* field_0x590;
/* 0x594 */ J3DAnmTextureSRTKey* m_waitEffBtk;
/* 0x598 */ daBoomerang_sight_c mSight;
/* 0x6A8 */ u32 field_0x6a8;
/* 0x6AC */ u32 field_0x6ac[5];
/* 0x6A8 */ s32 field_0x6a8;
/* 0x6AC */ s32 field_0x6ac[5];
/* 0x6C0 */ fopAc_ac_c* mLockActors[5]; // Actors corresponding to the five target points
/* 0x6D4 */ fopAc_ac_c* field_0x6d4;
/* 0x6D8 */ u8 field_0x6d8[4];
/* 0x6DC */ cXyz field_0x6dc[5];
/* 0x6D4 */ u32 field_0x6d4;
/* 0x6D8 */ fopAc_ac_c* field_0x6d8;
/* 0x6DC */ cXyz mLockActorsPositions[5];
/* 0x718 */ u8 field_0x718[5];
/* 0x720 */ Z2SoundObjSimple field_0x720;
/* 0x740 */ dBgS_Acch field_0x740;
@@ -137,7 +145,16 @@ private:
/* 0x960 */ s16 field_0x960;
/* 0x962 */ s16 field_0x962;
/* 0x964 */ u32 mStateFlg0;
/* 0x968 */ u8 field_0x968[0x990 - 0x968];
/* 0x968 */ u32 field_0x968;
/* 0x96C */ u32 field_0x96c;
/* 0x970 */ u32 field_0x970;
/* 0x974 */ u32 field_0x974;
/* 0x978 */ u32 field_0x978;
/* 0x97C */ u32 field_0x97c;
/* 0x980 */ f32 field_0x980;
/* 0x984 */ f32 field_0x984;
/* 0x988 */ f32 field_0x988;
/* 0x98C */ f32 field_0x98c;
/* 0x990 */ cXyz field_0x990;
/* 0x99C */ cXyz field_0x99c;
/* 0x9A8 */ f32 field_0x9a8;