Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions config/GZ2E01/rels/d_a_grass/symbols.txt
Original file line number Diff line number Diff line change
Expand Up @@ -175,32 +175,32 @@ l_pos = .data:0x00001020; // type:object size:0x3C0 scope:global
l_normal = .data:0x000013E0; // type:object size:0xC scope:global
l_color = .data:0x000013EC; // type:object size:0x14 scope:global
l_texCoord = .data:0x00001400; // type:object size:0xA0 scope:global
l_M_Kusa_9qDL = .data:0x000014A0; // type:object size:0xCB scope:global
l_M_Kusa_9q_cDL = .data:0x00001580; // type:object size:0xCB scope:global
l_M_TenGusaDL = .data:0x00001660; // type:object size:0xD4 scope:global
l_M_Kusa_9qDL = .data:0x000014A0; // type:object size:0xCB scope:global align:32
l_M_Kusa_9q_cDL = .data:0x00001580; // type:object size:0xCB scope:global align:32
l_M_TenGusaDL = .data:0x00001660; // type:object size:0xD4 scope:global align:32
l_Tengusa_matDL = .data:0x00001740; // type:object size:0xA8 scope:global
l_kusa9q_matDL = .data:0x00001800; // type:object size:0xA8 scope:global
l_kusa9q_l4_matDL = .data:0x000018C0; // type:object size:0xA8 scope:global
@4620 = .data:0x00001968; // type:object size:0xC scope:local
l_vtxDescList$4654 = .data:0x00001974; // type:object size:0x28 scope:local
l_vtxAttrFmtList$4655 = .data:0x0000199C; // type:object size:0x50 scope:local
l_J_Ohana00_64TEX = .data:0x00001A00; // type:object size:0x800 scope:global
l_J_Ohana00_64TEX = .data:0x00001A00; // type:object size:0x800 scope:global align:32
l_flowerPos = .data:0x00002200; // type:object size:0x2C4 scope:global
l_flowerNormal = .data:0x000024C4; // type:object size:0xB4 scope:global
l_flowerColor = .data:0x00002578; // type:object size:0x8 scope:global
l_flowerTexCoord = .data:0x00002580; // type:object size:0x138 scope:global
l_J_hana00DL = .data:0x000026C0; // type:object size:0x150 scope:global
l_J_hana00_cDL = .data:0x00002820; // type:object size:0xDE scope:global
l_J_hana00DL = .data:0x000026C0; // type:object size:0x150 scope:global align:32
l_J_hana00_cDL = .data:0x00002820; // type:object size:0xDE scope:global align:32
l_matDL = .data:0x00002900; // type:object size:0x99 scope:global
l_matLight4DL = .data:0x000029A0; // type:object size:0x99 scope:global
l_J_Ohana01_64128_0419TEX = .data:0x00002A40; // type:object size:0x1000 scope:global
l_J_Ohana01_64128_0419TEX = .data:0x00002A40; // type:object size:0x1000 scope:global align:32
l_flowerPos2 = .data:0x00003A40; // type:object size:0x4C8 scope:global
l_flowerNormal2 = .data:0x00003F08; // type:object size:0x120 scope:global
l_flowerColor2 = .data:0x00004028; // type:object size:0x8 scope:global
l_flowerTexCoord2 = .data:0x00004030; // type:object size:0x120 scope:global
l_J_hana01DL = .data:0x00004160; // type:object size:0x138 scope:global
l_J_hana01_c_00DL = .data:0x000042A0; // type:object size:0xDE scope:global
l_J_hana01_c_01DL = .data:0x00004380; // type:object size:0x128 scope:global
l_J_hana01DL = .data:0x00004160; // type:object size:0x138 scope:global align:32
l_J_hana01_c_00DL = .data:0x000042A0; // type:object size:0xDE scope:global align:32
l_J_hana01_c_01DL = .data:0x00004380; // type:object size:0x128 scope:global align:32
l_mat2DL = .data:0x000044C0; // type:object size:0x99 scope:global
l_mat2Light4DL = .data:0x00004560; // type:object size:0x99 scope:global
@5875 = .data:0x000045FC; // type:object size:0xC scope:local data:4byte
Expand Down
14 changes: 7 additions & 7 deletions config/GZ2E01/rels/d_a_spinner/symbols.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ _unresolved = .text:0x00000058; // type:function size:0x20 scope:global
__register_global_object = .text:0x00000078; // type:function size:0x1C scope:global
__destroy_global_chain = .text:0x00000094; // type:function size:0x58 scope:global
createHeap__11daSpinner_cFv = .text:0x000000EC; // type:function size:0xC4 scope:global
daSpinner_createHeap__FP10fopAc_ac_c = .text:0x000001B0; // type:function size:0x20 scope:global
daSpinner_createHeap__FP10fopAc_ac_c = .text:0x000001B0; // type:function size:0x20 scope:local
create__11daSpinner_cFv = .text:0x000001D0; // type:function size:0x2F0 scope:global
__dt__8cM3dGCylFv = .text:0x000004C0; // type:function size:0x48 scope:global
__dt__8cM3dGAabFv = .text:0x00000508; // type:function size:0x48 scope:global
Expand All @@ -13,9 +13,9 @@ __dt__4cXyzFv = .text:0x000005AC; // type:function size:0x3C scope:global
__dt__13dBgS_LinkAcchFv = .text:0x000005E8; // type:function size:0x70 scope:global
__dt__12dBgS_AcchCirFv = .text:0x00000658; // type:function size:0x70 scope:global
__dt__12J3DFrameCtrlFv = .text:0x000006C8; // type:function size:0x48 scope:global
daSpinner_Create__FP10fopAc_ac_c = .text:0x00000710; // type:function size:0x20 scope:global
daSpinner_Create__FP10fopAc_ac_c = .text:0x00000710; // type:function size:0x20 scope:local
__dt__11daSpinner_cFv = .text:0x00000730; // type:function size:0x1E8 scope:global
daSpinner_Delete__FP11daSpinner_c = .text:0x00000918; // type:function size:0x28 scope:global
daSpinner_Delete__FP11daSpinner_c = .text:0x00000918; // type:function size:0x28 scope:local
setRoomInfo__11daSpinner_cFv = .text:0x00000940; // type:function size:0x98 scope:global
setMatrix__11daSpinner_cFv = .text:0x000009D8; // type:function size:0xA8 scope:global
setEffect__11daSpinner_cFv = .text:0x00000A80; // type:function size:0x2D4 scope:global
Expand All @@ -32,9 +32,9 @@ checkPathMove__11daSpinner_cFv = .text:0x00001ED4; // type:function size:0x5EC s
setSpreadEffect__11daSpinner_cFv = .text:0x000024C0; // type:function size:0x1B4 scope:global
clearSpreadEffect__11daSpinner_cFv = .text:0x00002674; // type:function size:0x78 scope:global
execute__11daSpinner_cFv = .text:0x000026EC; // type:function size:0xC08 scope:global
daSpinner_Execute__FP11daSpinner_c = .text:0x000032F4; // type:function size:0x20 scope:global
daSpinner_Execute__FP11daSpinner_c = .text:0x000032F4; // type:function size:0x20 scope:local
draw__11daSpinner_cFv = .text:0x00003314; // type:function size:0x154 scope:global
daSpinner_Draw__FP11daSpinner_c = .text:0x00003468; // type:function size:0x20 scope:global
daSpinner_Draw__FP11daSpinner_c = .text:0x00003468; // type:function size:0x20 scope:local
__dt__10cCcD_GSttsFv = .text:0x00003488; // type:function size:0x48 scope:global
@36@__dt__13dBgS_LinkAcchFv = .text:0x000034D0; // type:function size:0x8 scope:local
@20@__dt__13dBgS_LinkAcchFv = .text:0x000034D8; // type:function size:0x8 scope:local
Expand Down Expand Up @@ -90,8 +90,8 @@ effName$5299 = .rodata:0x000000D8; // type:object size:0x4 scope:local
@5723 = .rodata:0x00000108; // type:object size:0x4 scope:local
@5724 = .rodata:0x0000010C; // type:object size:0x4 scope:local
@stringBase0 = .rodata:0x00000110; // type:object size:0x8 scope:local data:string_table
l_cylSrc = .data:0x00000000; // type:object size:0x44 scope:global
l_daSpinner_Method = .data:0x00000044; // type:object size:0x20 scope:global
l_cylSrc = .data:0x00000000; // type:object size:0x44 scope:local
l_daSpinner_Method = .data:0x00000044; // type:object size:0x20 scope:local
g_profile_SPINNER = .data:0x00000064; // type:object size:0x30 scope:global
__vt__8cM3dGPla = .data:0x00000094; // type:object size:0xC scope:global
__vt__8cM3dGLin = .data:0x000000A0; // type:object size:0xC scope:global
Expand Down
2 changes: 1 addition & 1 deletion configure.py
Original file line number Diff line number Diff line change
Expand Up @@ -1486,7 +1486,7 @@ def MatchingFor(*versions):
ActorRel(Equivalent, "d_a_nbomb"), # weak func order
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_life_container"),
ActorRel(NonMatching, "d_a_obj_yousei"),
ActorRel(NonMatching, "d_a_spinner"),
ActorRel(MatchingFor("GZ2E01"), "d_a_spinner"),
ActorRel(MatchingFor("GZ2E01"), "d_a_suspend"),
ActorRel(MatchingFor("GZ2E01"), "d_a_tag_attention"),
ActorRel(MatchingFor("GZ2E01"), "d_a_alldie"),
Expand Down
2 changes: 1 addition & 1 deletion include/SSystem/SComponent/c_counter.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
struct counter_class {
u32 mCounter0;
s32 mCounter1;
s32 mTimer;
u32 mTimer;
};

extern counter_class g_Counter;
Expand Down
34 changes: 34 additions & 0 deletions include/d/actor/d_a_alink.h
Original file line number Diff line number Diff line change
Expand Up @@ -3555,6 +3555,40 @@ class daAlink_c : public daPy_py_c {
mDoMtx_multVec(getRightHandMatrix(), &m_handRightInSidePos, o_pos);
}

cXyz* getLineTopPosP() {
return mSight.getPosP();
}

cXyz* getBoomerangLockPosP() {
return &mHeldItemRootPos;
}

BOOL boomerangLockTrigger() {
return itemActionTrigger();
}

BOOL checkBoomerangLockTrigger() {
return boomerangLockTrigger();
}

BOOL checkDemoSpinnerKeep() const {
return mDemo.getDemoMode() == 14 && mDemo.getParam0() == 1;
}

BOOL checkDemoSpinnerKeepSpeed() const {
return mDemo.getDemoMode() == 14 && mDemo.getParam0() == 2;
}

bool checkSpinnerRideOwn(const fopAc_ac_c* param_0) {
return checkSpinnerRide() && mRideAcKeep.getActorConst() == param_0;
}

BOOL checkSpinnerReady() const { return mProcID == PROC_SPINNER_READY; }

BOOL checkGameOverWindow() const { return mProcID == PROC_DEAD && field_0x3478 < 0.01f; }

f32 getSlideLimit() const { return field_0x3470; }

inline bool checkWindSpeedOnXZ() const;
inline void startRestartRoomFromOut(int, u32, int);
inline u16 getReadyItem();
Expand Down
174 changes: 91 additions & 83 deletions include/d/actor/d_a_boomerang.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,56 +5,58 @@
#include "d/d_particle_copoly.h"
#include "f_op/f_op_actor_mng.h"

class daBoomerang_sight_c {
#define BOOMERANG_LOCK_MAX 5

class daBoomerang_sight_c : public dDlst_base_c {
public:
/* 8049E0B8 */ int createHeap();
/* 8049E36C */ void initialize();
/* 8049EB64 */ int playAnime(int, int);
/* 8049EDA8 */ void initFrame(int);
/* 8049EDE8 */ void copyNumData(int);
/* 8049EEC8 */ void setSight(cXyz const*, int);
/* 8049EF60 */ void draw();

/* 804A278C */ virtual ~daBoomerang_sight_c();
/* 8049EF60 */ virtual void draw();
/* 804A278C */ virtual ~daBoomerang_sight_c() {}

u8 getReserve() const { return mReserve; }
u8 getAlpha(int i_index) { return mAlpha[i_index]; }
void offRedSight() { mRedSight = false; }
u8 getAlpha(int i_index) { return m_alpha[i_index]; }
void offRedSight() { m_redSight = false; }
void onReserve() { mReserve = 1; }
void offReserve() { mReserve = 0; }

private:
/* 0x04 */ J2DScreen* field_0x4;
/* 0x08 */ J2DPane* field_0x8;
/* 0x0C */ J2DPane* field_0xc;
/* 0x10 */ J2DPane* field_0x10;
/* 0x14 */ J2DPane* field_0x14;
/* 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 */ 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 */ J2DAnmTevRegKey* field_0x50;
/* 0x54 */ J2DAnmTevRegKey* field_0x54;
/* 0x58 */ J2DAnmColor* field_0x58;
/* 0x5C */ J2DAnmTransform* field_0x5c;
/* 0x60 */ bool mRedSight;
/* 0x04 */ J2DScreen* m_cursorYellowScrn;
/* 0x08 */ J2DPane* m_cursorYellowAllPane;
/* 0x0C */ J2DPane* m_cursorYellow0Pane;
/* 0x10 */ J2DPane* m_cursorYellow1Pane;
/* 0x14 */ J2DPane* m_cursorYellow2Pane;
/* 0x18 */ J2DAnmTevRegKey* m_cursorYellow2Brk;
/* 0x1C */ J2DAnmTevRegKey* m_cursorYellowBrk;
/* 0x20 */ J2DScreen* m_cursorRedScrn;
/* 0x24 */ J2DPane* m_cursorRedAllPane;
/* 0x28 */ J2DPane* m_cursorRed0Pane;
/* 0x2C */ J2DPane* m_cursorRed1Pane;
/* 0x30 */ J2DPane* m_cursorRed2Pane;
/* 0x34 */ J2DAnmTevRegKey* m_cursorRed2Brk;
/* 0x38 */ J2DAnmTevRegKey* m_cursorRedBrk;
/* 0x3C */ J2DScreen* m_cursorOrangeScrn;
/* 0x40 */ J2DPane* m_cursorOrangeAllPane;
/* 0x44 */ J2DPane* m_cursorOrange0Pane;
/* 0x48 */ J2DPane* m_cursorOrange1Pane;
/* 0x4C */ J2DPane* m_cursorOrange2Pane;
/* 0x50 */ J2DAnmTevRegKey* m_cursorOrange2Brk;
/* 0x54 */ J2DAnmTevRegKey* m_cursorOrangeBrk;
/* 0x58 */ J2DAnmColor* m_cursorYellowBpk;
/* 0x5C */ J2DAnmTransform* m_cursorYellowBck;
/* 0x60 */ bool m_redSight;
/* 0x61 */ u8 mReserve;
/* 0x62 */ u8 mAlpha[6];
/* 0x68 */ f32 field_0x68[6];
/* 0x80 */ f32 field_0x80[6];
/* 0x62 */ u8 m_alpha[6];
/* 0x68 */ f32 m_proj_posX[6];
/* 0x80 */ f32 m_proj_posY[6];
/* 0x98 */ f32 field_0x98[6];
/* 0xB0 */ f32 field_0xb0[6];
/* 0xC8 */ cXyz field_0xc8[6];
/* 0xC8 */ cXyz m_pos[6];
}; // Size: 0x110

class daAlink_c;
Expand All @@ -70,10 +72,16 @@ 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,
/* 0x001 */ FLG0_1 = 0x1,
/* 0x002 */ FLG0_2 = 0x2,
/* 0x004 */ FLG0_4 = 0x4,
/* 0x010 */ FLG0_10 = 0x10,
/* 0x020 */ FLG0_20 = 0x20,
/* 0x040 */ FLG0_40 = 0x40,
/* 0x080 */ FLG0_80 = 0x80,
/* 0x100 */ FLG0_100 = 0x100,
/* 0x200 */ FLG0_200 = 0x200,
/* 0x400 */ FLG0_400 = 0x400,
/* 0x800 */ FLG0_LOCK_DIST_CANCEL = 0x800,
/* 0x080 */ WIND_CATCH = 0x80,
};
Expand All @@ -95,85 +103,86 @@ class daBoomerang_c : public fopAc_ac_c {
/* 8049FE6C */ void checkBgHit(cXyz*, cXyz*);
/* 804A006C */ JPABaseEmitter* setEffectTraceMatrix(u32*, u16);
/* 804A012C */ void setEffect();
/* 804A0874 */ void procWait();
/* 804A0F0C */ void procMove();
/* 804A0874 */ int procWait();
/* 804A0F0C */ int procMove();
/* 804A1814 */ int execute();
/* 804A1BF4 */ ~daBoomerang_c();
/* 804A1EE4 */ int createHeap();
/* 804A2084 */ int create();
/* 804A230C */ daBoomerang_c();

u32 checkStateFlg0(daBoomerang_FLG0 i_flag) { return mStateFlg0 & i_flag; }
void onStateFlg0(daBoomerang_FLG0 flag) { mStateFlg0 |= flag; }
u32 checkStateFlg0(daBoomerang_FLG0 i_flag) const { return m_stateFlg0 & i_flag; }
void onStateFlg0(daBoomerang_FLG0 flag) { m_stateFlg0 |= flag; }
void offStateFlg0(daBoomerang_FLG0 flag) { m_stateFlg0 &= ~flag; }
void onWindCatch() { onStateFlg0(WIND_CATCH); }
bool checkForceDelete() const { return mForceDelete; }
void onForceDelete() { mForceDelete = true; }
bool checkForceDelete() const { return m_forceDelete; }
void onForceDelete() { m_forceDelete = true; }
bool checkCharge() const { return true; }
void setThrow() { fopAcM_SetParam(this, 1); }
void setAimActor(fopAc_ac_c* i_actor) { (this->*mpSetAimActorFn)(i_actor); }
void cancelLockActor(fopAc_ac_c* i_actor) { (this->*mpCancelLockActorFn)(i_actor); }
u8 getLockReserve() const { return mSight.getReserve(); }
bool getLockCntMax() { return mLockCnt >= 5; }
void setAimActor(fopAc_ac_c* i_actor) { (this->*m_setAimActorFn)(i_actor); }
void cancelLockActor(fopAc_ac_c* i_actor) { (this->*m_cancelLockActorFn)(i_actor); }
u8 getLockReserve() const { return m_sight.getReserve(); }
bool getLockCntMax() { return m_lockCnt >= BOOMERANG_LOCK_MAX; }
void onLockDistanceCancel() { onStateFlg0(FLG0_LOCK_DIST_CANCEL); }

private:
/* 0x568 */ J3DModel* field_0x568;
/* 0x56C */ J3DModel* field_0x56c;
/* 0x568 */ J3DModel* mp_boomModel;
/* 0x56C */ J3DModel* mp_shippuModel;
/* 0x570 */ J3DAnmTextureSRTKey* m_windBtk;
/* 0x574 */ mDoExt_bckAnm mBck;
/* 0x590 */ J3DModel* field_0x590;
/* 0x574 */ mDoExt_bckAnm m_shippuBck;
/* 0x590 */ J3DModel* mp_setboomEfModel;
/* 0x594 */ J3DAnmTextureSRTKey* m_waitEffBtk;
/* 0x598 */ daBoomerang_sight_c mSight;
/* 0x6A8 */ s32 field_0x6a8;
/* 0x6AC */ s32 field_0x6ac[5];
/* 0x6C0 */ fopAc_ac_c* mLockActors[5]; // Actors corresponding to the five target points
/* 0x6D4 */ u32 field_0x6d4;
/* 0x598 */ daBoomerang_sight_c m_sight;
/* 0x6A8 */ fpc_ProcID m_lockLineActorID;
/* 0x6AC */ fpc_ProcID m_lockActorIDs[BOOMERANG_LOCK_MAX];
/* 0x6C0 */ fopAc_ac_c* m_lockActors[BOOMERANG_LOCK_MAX]; // Actors corresponding to the five target points
/* 0x6D4 */ fpc_ProcID 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;
/* 0x918 */ dPaPo_c field_0x918;
/* 0x950 */ u8 mLockCnt;
/* 0x6DC */ cXyz m_lockActorsPositions[BOOMERANG_LOCK_MAX];
/* 0x718 */ u8 field_0x718[BOOMERANG_LOCK_MAX];
/* 0x720 */ Z2SoundObjSimple m_sound;
/* 0x740 */ dBgS_ObjAcch m_acch;
/* 0x918 */ dPaPo_c m_papo;
/* 0x950 */ u8 m_lockCnt;
/* 0x951 */ u8 field_0x951;
/* 0x952 */ u8 field_0x952;
/* 0x953 */ u8 field_0x953;
/* 0x953 */ s8 m_reverb;
/* 0x954 */ u8 field_0x954;
/* 0x955 */ u8 field_0x955;
/* 0x956 */ bool mForceDelete;
/* 0x956 */ bool m_forceDelete;
/* 0x957 */ u8 field_0x957;
/* 0x958 */ s16 field_0x958;
/* 0x95A */ s16 field_0x95a;
/* 0x95A */ s16 m_modelRotY;
/* 0x95C */ s16 field_0x95c;
/* 0x95E */ s16 field_0x95e;
/* 0x960 */ s16 field_0x960;
/* 0x962 */ s16 field_0x962;
/* 0x964 */ u32 mStateFlg0;
/* 0x964 */ u32 m_stateFlg0;
/* 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;
/* 0x980 */ f32 mGroundY;
/* 0x984 */ f32 m_lockLineSqdist;
/* 0x988 */ f32 field_0x988;
/* 0x98C */ f32 field_0x98c;
/* 0x990 */ cXyz field_0x990;
/* 0x98C */ f32 m_shippuFrame;
/* 0x990 */ cXyz m_aimPos;
/* 0x99C */ cXyz field_0x99c;
/* 0x9A8 */ f32 field_0x9a8;
/* 0x9AC */ cXyz field_0x9ac;
/* 0x9A8 */ f32 m_shippuSize;
/* 0x9AC */ cXyz m_moveTargetPos;
/* 0x9B8 */ cXyz field_0x9b8;
/* 0x9C4 */ cXyz field_0x9c4;
/* 0x9D0 */ dCcD_Stts field_0x9d0;
/* 0xA0C */ dCcD_Cps field_0xa0c;
/* 0xB50 */ dCcD_Cyl field_0xb50;
/* 0xC8C */ dBgS_BoomerangLinChk field_0xc8c;
/* 0xCFC */ dBgS_ObjLinChk field_0xcfc;
/* 0xD6C */ dBgS_ObjGndChk field_0xd6c;
/* 0xDC0 */ int (daBoomerang_c::*mpProcFn)();
/* 0xDCC */ void (daBoomerang_c::*mpSetAimActorFn)(fopAc_ac_c*);
/* 0xDD8 */ void (daBoomerang_c::*mpCancelLockActorFn)(fopAc_ac_c*);
/* 0x9C4 */ cXyz m_movePos;
/* 0x9D0 */ dCcD_Stts m_colliderStts;
/* 0xA0C */ dCcD_Cps m_atCps;
/* 0xB50 */ dCcD_Cyl m_windAtCyl;
/* 0xC8C */ dBgS_BoomerangLinChk m_boomLineChk;
/* 0xCFC */ dBgS_ObjLinChk m_lineChk;
/* 0xD6C */ dBgS_ObjGndChk m_gndChk;
/* 0xDC0 */ int (daBoomerang_c::*m_procFn)();
/* 0xDCC */ void (daBoomerang_c::*m_setAimActorFn)(fopAc_ac_c*);
/* 0xDD8 */ void (daBoomerang_c::*m_cancelLockActorFn)(fopAc_ac_c*);
};

STATIC_ASSERT(sizeof(daBoomerang_c) == 0xDE4);
Expand All @@ -188,5 +197,4 @@ class daBoomerang_HIO_c0 {
static f32 const m_lockWindScale;
};


#endif /* D_A_BOOMERANG_H */
Loading