diff options
| author | TakaRikka <38417346+TakaRikka@users.noreply.github.com> | 2021-06-12 15:22:36 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-06-12 18:22:36 -0400 |
| commit | 4448c08ac082e8f569f2b4c0dd9e5f4d91dec093 (patch) | |
| tree | 8778c90e82d9b79e70ff998082a83ab8391edb68 /include/d | |
| parent | 5be309a186d35e952080d73cc9584a8345d9e029 (diff) | |
move / fix bunch of stuff (#133)
* fix some class structures / d_event wip
* d_event wip
* move gamepad stuff
* move m_Do_main
* move d_bomb / partial m_Do_reset
* format
* remove asm
* add Z2SoundID enum
* move some Z2 classes
* fix
* move more Z2 stuff
* fix fopAc_ac_c more
Diffstat (limited to 'include/d')
| -rw-r--r-- | include/d/a/d_a_alink.h | 4 | ||||
| -rw-r--r-- | include/d/a/d_a_player.h | 5 | ||||
| -rw-r--r-- | include/d/bg/d_bg_s_lin_chk.h | 5 | ||||
| -rw-r--r-- | include/d/com/d_com_inf_game.h | 28 | ||||
| -rw-r--r-- | include/d/d_attention.h | 164 | ||||
| -rw-r--r-- | include/d/d_bomb.h | 42 | ||||
| -rw-r--r-- | include/d/d_jnt_col.h | 2 | ||||
| -rw-r--r-- | include/d/event/d_event.h | 348 | ||||
| -rw-r--r-- | include/d/event/d_event_data.h | 128 | ||||
| -rw-r--r-- | include/d/event/d_event_manager.h | 132 | ||||
| -rw-r--r-- | include/d/kankyo/d_kankyo.h | 45 | ||||
| -rw-r--r-- | include/d/menu/d_menu_window.h | 169 | ||||
| -rw-r--r-- | include/d/meter/d_meter2_info.h | 30 | ||||
| -rw-r--r-- | include/d/particle/d_particle_copoly.h | 2 |
14 files changed, 624 insertions, 480 deletions
diff --git a/include/d/a/d_a_alink.h b/include/d/a/d_a_alink.h index 8aee3e817e..45cbf2da37 100644 --- a/include/d/a/d_a_alink.h +++ b/include/d/a/d_a_alink.h @@ -2909,7 +2909,7 @@ public: private: /* 0x0000 */ fopAc_ac_c mActor; - /* 0x0538 */ u8 field_0x538[0xD1C]; + /* 0x0570 */ u8 field_0x570[0xCE4]; /* 0x1254 */ daPy_actorKeep_c mZeldaActorKeep; }; @@ -2932,7 +2932,7 @@ public: private: /* 0x0000 */ fopAc_ac_c mActor; - /* 0x0538 */ u8 field_0x538[0x35C]; + /* 0x0570 */ u8 field_0x570[0x324]; /* 0x0894 */ u32 mStateFlg1; /* 0x0898 */ u32 mEndResetStateFlg0; }; diff --git a/include/d/a/d_a_player.h b/include/d/a/d_a_player.h index deed7b2ec8..f48328e34c 100644 --- a/include/d/a/d_a_player.h +++ b/include/d/a/d_a_player.h @@ -126,9 +126,6 @@ private: class daPy_py_c : public fopAc_ac_c { public: - /* 0x0538 */ u8 field_0x538[0x32]; - /* 0x056A */ u8 field_0x56a; - /* 0x056B */ u8 field_0x56b[5]; /* 0x0570 */ int mNoResetFlg0; /* 0x0574 */ int mNoResetFlg1; /* 0x0578 */ int mNoResetFlg2; @@ -390,7 +387,7 @@ public: inline bool getSumouCameraMode() const { bool sumouCameraMode = false; - if (field_0x56a != 0 && field_0x56a < 0x26) { + if (field_0x560[0xA] != 0 && field_0x560[0xA] < 0x26) { sumouCameraMode = true; } return sumouCameraMode; diff --git a/include/d/bg/d_bg_s_lin_chk.h b/include/d/bg/d_bg_s_lin_chk.h index 6edea1d3e6..33029a5acb 100644 --- a/include/d/bg/d_bg_s_lin_chk.h +++ b/include/d/bg/d_bg_s_lin_chk.h @@ -43,4 +43,9 @@ class dBgS_ObjLinChk : dBgS_LinChk { /* 80077FB8 */ ~dBgS_ObjLinChk(); }; +class dBgS_BombLinChk : dBgS_LinChk { + /* 80078104 */ dBgS_BombLinChk(); + /* 80078160 */ ~dBgS_BombLinChk(); +}; + #endif /* D_BG_D_BG_S_LIN_CHK_H */ diff --git a/include/d/com/d_com_inf_game.h b/include/d/com/d_com_inf_game.h index ea562093b8..df531283ce 100644 --- a/include/d/com/d_com_inf_game.h +++ b/include/d/com/d_com_inf_game.h @@ -137,9 +137,7 @@ public: /* 0x03F8C */ dStage_roomControl_c* mRoomControl; /* 0x03F90 */ dEvt_control_c mEvent; /* 0x040C0 */ dEvent_manager_c mEvtManager; - /* 0x0477C */ u8 field_0x477C[4]; /* 0x04780 */ dAttention_c mAttention; - /* 0x04C88 */ u8 field_0x4c88[0x14]; /* 0x04C9C */ dVibration_c mVibration; /* 0x04D2C */ u8 field_0x4d2c[4]; /* 0x04D30 */ JKRArchive* mFieldMapArchive2; @@ -258,18 +256,18 @@ public: /* 0x04F07 */ u8 mCStickStatusForce; /* 0x04F08 */ u8 mSButtonStatusForce; /* 0x04F09 */ u8 mZStatusForce; - /* 0x04F0A */ u8 mRSetFlag; // related to RStatus - /* 0x04F0B */ u8 mASetFlag; // related to AStatus + /* 0x04F0A */ u8 mRSetFlag; + /* 0x04F0B */ u8 mASetFlag; /* 0x04F0C */ u8 field_0x4f0c; - /* 0x04F0D */ u8 mNunSetFlag; // related to NunStatus - /* 0x04F0E */ u8 mBottleSetFlag; // related to BottleStatus - /* 0x04F0F */ u8 mRemoConSetFlag; // related to RemoConStatus + /* 0x04F0D */ u8 mNunSetFlag; + /* 0x04F0E */ u8 mBottleSetFlag; + /* 0x04F0F */ u8 mRemoConSetFlag; /* 0x04F10 */ u8 field_0x4f10[2]; - /* 0x04F12 */ u8 mDoSetFlag; // related to DoStatus - /* 0x04F13 */ u8 m3DSetFlag; // related to 3DStatus - /* 0x04F14 */ u8 mCStickSetFlag; // related to CStickStatus - /* 0x04F15 */ u8 mSButtonSetFlag; // related to SButtonStatus - /* 0x04F16 */ u8 mZSetFlag; // related to ZStatus + /* 0x04F12 */ u8 mDoSetFlag; + /* 0x04F13 */ u8 m3DSetFlag; + /* 0x04F14 */ u8 mCStickSetFlag; + /* 0x04F15 */ u8 mSButtonSetFlag; + /* 0x04F16 */ u8 mZSetFlag; /* 0x04F17 */ u8 mRSetFlagForce; /* 0x04F18 */ u8 mASetFlagForce; /* 0x04F19 */ u8 field_0x4f19; @@ -288,14 +286,14 @@ public: /* 0x04F27 */ u8 mXSetFlagForce; /* 0x04F28 */ u8 mYStatus; /* 0x04F29 */ u8 mYStatusForce; - /* 0x04F2A */ u8 mYSetFlag; // related to YStatus + /* 0x04F2A */ u8 mYSetFlag; /* 0x04F2B */ u8 mYSetFlagForce; /* 0x04F2C */ u8 mNunZStatus; - /* 0x04F2D */ u8 mNunZSetFlag; // related to NunZStatus + /* 0x04F2D */ u8 mNunZSetFlag; /* 0x04F2E */ u8 field_0x4fc6; // related to NunZStatusForce /* 0x04F2F */ u8 field_0x4fc7; // related to NunZStatusForce /* 0x04F30 */ u8 mNunCStatus; - /* 0x04F31 */ u8 mNunCSetFlag; // related to NunCStatus + /* 0x04F31 */ u8 mNunCSetFlag; /* 0x04F32 */ u8 field_0x4fca; // related to NunCStatusForce /* 0x04F33 */ u8 field_0x4fcb; // related to NunCStatusForce /* 0x04F34 */ u8 mSelectItem[8]; diff --git a/include/d/d_attention.h b/include/d/d_attention.h index 2690ea3a7e..3cc89e0a45 100644 --- a/include/d/d_attention.h +++ b/include/d/d_attention.h @@ -25,10 +25,10 @@ private: class dAttCatch_c { public: - /* 8007398C */ void convPId(unsigned int); - /* 800739BC */ void init(); - /* 800739DC */ void proc(); - /* 80073A08 */ void request(fopAc_ac_c*, u8, f32, f32, f32, s16, int); + void convPId(unsigned int); + void init(); + void proc(); + void request(fopAc_ac_c*, u8, f32, f32, f32, s16, int); private: void* field_0x0; @@ -38,8 +38,9 @@ private: u8 field_0xd; u8 field_0xe; u8 field_0xf; - void* field_0x10; -}; + u32 field_0x10; + u8 mChangeItem; +}; // Size = 0x14 class dAttParam_c { public: @@ -47,26 +48,29 @@ public: /* 80070110 */ ~dAttParam_c(); private: - u8 field_0x0; - u8 field_0x1; - u8 field_0x2; - u8 field_0x3; - u8 field_0x4; - u8 field_0x5; - u8 field_0x6; - u8 field_0x7; - u8 field_0x8; - u8 field_0x9; - u8 field_0xa; - u8 field_0xb; - u8 field_0xc; - u8 field_0xd; - u8 field_0xe; - u8 field_0xf; - u8 field_0x10; - u8 field_0x11; - u8 field_0x12; -}; + /* 0x00 */ void* vtable; + /* 0x04 */ u8 field_0x4; + /* 0x05 */ u8 field_0x5; + /* 0x06 */ u16 mFlag; + /* 0x08 */ float field_0x8; + /* 0x0C */ float field_0xc; + /* 0x10 */ float field_0x10; + /* 0x14 */ float field_0x14; + /* 0x18 */ float field_0x18; + /* 0x1C */ float field_0x1c; + /* 0x20 */ float field_0x20; + /* 0x24 */ float field_0x24; + /* 0x28 */ float field_0x28; + /* 0x2C */ float field_0x2c; + /* 0x30 */ float field_0x30; + /* 0x34 */ float field_0x34; + /* 0x38 */ u8 field_0x38; + /* 0x39 */ u8 field_0x39; + /* 0x3C */ float field_0x3c; + /* 0x40 */ float field_0x40; + /* 0x44 */ u32 field_0x44; + /* 0x48 */ u32 field_0x48; +}; // Size = 0x4C class dAttLook_c { public: @@ -79,7 +83,8 @@ private: u32 field_0x0; u32 field_0x4; float field_0x8; -}; + u32 field_0xc; +}; // Size = 0x10 #pragma pack(push, 1) class dAttList_c { @@ -96,7 +101,6 @@ private: }; #pragma pack(pop) -#pragma pack(push, 1) class dAttDraw_c { public: /* 8003054C */ ~dAttDraw_c(); @@ -123,7 +127,7 @@ public: /* 0x11C */ mDoExt_bpkAnm bpkAnm2; /* 0x134 */ mDoExt_brkAnm brkAnm3; /* 0x14C */ mDoExt_btkAnm btkAnm2; - /* 0x164 */ u8 field_0x164[0xC]; + /* 0x164 */ cXyz field_0x164; /* 0x170 */ u8 field_0x170; /* 0x171 */ u8 field_0x171; /* 0x172 */ u8 field_0x172; @@ -131,7 +135,6 @@ public: /* 0x174 */ u8 field_0x174; /* 0x175 */ u8 field_0x175; }; -#pragma pack(pop) class dAttDraw_CallBack_c { public: @@ -187,58 +190,53 @@ public: static u32 chk_type_tbl; static u32 chk_type_num; -private: - u8 field_0x0[4]; - u32 field_0x4; - dAttDraw_CallBack_c dattdraw_callback; - u32 field_0xc; - u32 field_0x10; - u8 field_0x14[8]; - cXyz field_0x1c; - /* 0x028 */ dAttDraw_c attention_draw[2]; - int field_0x318; - cXyz field_0x31c; - u8 field_0x328[12]; - u32 field_0x334; - /* 0x0338 */ dAttList_c attention_list1[8]; - int* field_0x3d8; - int* field_0x3dc; - /* 0x03E0 */ dAttList_c attention_list2[4]; - int* field_0x430; - int field_0x434; - /* 0x0438 */ dAttList_c attention_list3[4]; - int* field_0x488; - int field_0x48c; - dAttHint_c attention_hint; - dAttCatch_c attention_catch; - u8 field_0x4b0[4]; - dAttLook_c attention_look; - u8 field_0x4c0; - u8 field_0x4c1; - u8 field_0x4c2; - u8 field_0x4c3; - int* field_0x4c4; - u8 field_0x4c8; - u8 field_0x4c9; - u8 field_0x4ca; - u8 field_0x4cb; - u8 field_0x4cc; - u8 field_0x4cd; - u8 field_0x4ce; - u8 field_0x4cf; - /* 0x04D0 */ dAttParam_c attention_param; - u8 field_0x4e3; - u8 field_0x4e4; - u8 field_0x4e5; - int* field_0x4e6; - u8 field_0x4ea; - u8 field_0x4eb; - u8 field_0x4ec; - u8 field_0x4ed; - u8 field_0x4ee; - u8 field_0x4ef; - u8 field_0x4f0[0x18]; - /* 0x0508 */ void* vtable; -}; +public: + /* 0x000 */ fopAc_ac_c* field_0x0; + /* 0x004 */ u32 field_0x4; + /* 0x008 */ dAttDraw_CallBack_c dattdraw_callback; + /* 0x00C */ u32 field_0xc; + /* 0x010 */ u32 field_0x10; + /* 0x014 */ u8 field_0x14[4]; + /* 0x018 */ JKRSolidHeap* heap; + /* 0x01C */ cXyz field_0x1c; + /* 0x028 */ dAttDraw_c draw[2]; + /* 0x318 */ int field_0x318; + /* 0x31C */ cXyz field_0x31c; + /* 0x328 */ u8 field_0x328; + /* 0x329 */ u8 field_0x329; + /* 0x32A */ u8 field_0x32a; + /* 0x32B */ u8 field_0x32b; + /* 0x32C */ u8 field_0x32c; + /* 0x32D */ u8 field_0x32d; + /* 0x32E */ u8 field_0x32e; + /* 0x32F */ u8 field_0x32f; + /* 0x330 */ u8 field_0x330; + /* 0x331 */ u8 field_0x331; + /* 0x332 */ u8 field_0x332; + /* 0x333 */ u8 field_0x333; + /* 0x334 */ u32 mFlags; + /* 0x338 */ dAttList_c mLockOnList[8]; + /* 0x3D8 */ int mLockonCount; + /* 0x3DC */ int field_0x3dc; + /* 0x3E0 */ dAttList_c mActionList[4]; + /* 0x430 */ int mActionCount; + /* 0x434 */ int field_0x434; + /* 0x438 */ dAttList_c attention_list3[4]; + /* 0x488 */ int mCheckObjectCount; + /* 0x48C */ int field_0x48c; + /* 0x490 */ dAttHint_c mZHintTarget; + /* 0x49C */ dAttCatch_c mCatghTarget; + /* 0x4B4 */ dAttLook_c mLookTarget; + /* 0x4C4 */ int field_0x4c4; + /* 0x4C8 */ u8 field_0x4c8; + /* 0x4C9 */ u8 field_0x4c9; + /* 0x4CA */ u8 field_0x4ca; + /* 0x4CB */ u8 field_0x4cb; + /* 0x4CC */ u8 field_0x4cc; + /* 0x4CD */ u8 field_0x4cd; + /* 0x4CE */ u8 field_0x4ce; + /* 0x4CF */ u8 field_0x4cf; + /* 0x4D0 */ dAttParam_c attention_param; +}; // Size = 0x51C #endif /* D_D_ATTENTION_H */ diff --git a/include/d/d_bomb.h b/include/d/d_bomb.h index 07668ee3b0..b021b0a411 100644 --- a/include/d/d_bomb.h +++ b/include/d/d_bomb.h @@ -1,6 +1,46 @@ #ifndef D_D_BOMB_H #define D_D_BOMB_H -#include "dolphin/types.h" +#include "Z2AudioLib/Z2SoundObject.h" +#include "d/bg/d_bg_s_acch.h" +#include "d/cc/d_cc_d.h" +#include "d/kankyo/d_kankyo.h" +#include "f_op/f_op_actor.h" + +class daNbomb_c { +public: + enum daNbomb_FLG0 { WATER_BOMB = 16 }; + + u32 checkStateFlg0(daNbomb_FLG0 flag) const { return mStateFlg0 & flag; } + u32 checkWaterBomb() const { return checkStateFlg0(WATER_BOMB); } + + /* 0x000 */ fopAc_ac_c mActor; + /* 0x570 */ u8 field_0x570[8]; + /* 0x578 */ dBgS_Acch mAcch; + /* 0x750 */ dBgS_AcchCir mAcchCir; + /* 0x790 */ dCcD_Stts mStts; + /* 0x7CC */ dCcD_Sph mSph1; + /* 0x904 */ dCcD_Sph mSph2; + /* 0xA3C */ u8 field_0xa3c[0x64]; + /* 0xAA0 */ dBgS_BombLinChk mLinChk; + /* 0xB10 */ cBgS_PolyInfo mPolyInfo; + /* 0xB20 */ Z2SoundObjSimple mSoundObj; + /* 0xB40 */ u8 field_0xb40[0xC]; + /* 0xB4C */ u32 mStateFlg0; + /* 0xB50 */ u8 field_0xb50; + /* 0xB51 */ u8 field_0xb51[0x3]; + /* 0xB54 */ u8 field_0xb54; + /* 0xB55 */ u8 field_0xb55[0xB]; + /* 0xB60 */ LIGHT_INFLUENCE field_0xb60; + /* 0xB80 */ WIND_INFLUENCE field_0xb80; +}; + +class dBomb_c : public daNbomb_c { +public: + bool checkStateCarry(); + bool checkFlowerBombWait(fopAc_ac_c*); + bool checkWaterBomb(fopAc_ac_c*); + bool checkInsectBombMove(fopAc_ac_c*); +}; #endif /* D_D_BOMB_H */ diff --git a/include/d/d_jnt_col.h b/include/d/d_jnt_col.h index a340444041..2b88c55ed3 100644 --- a/include/d/d_jnt_col.h +++ b/include/d/d_jnt_col.h @@ -8,6 +8,8 @@ class dJntColData_c {}; +class fopAc_ac_c; + class dJntCol_c { public: /* 80035C8C */ dJntCol_c(); diff --git a/include/d/event/d_event.h b/include/d/event/d_event.h index e42af8eceb..c02ed580c3 100644 --- a/include/d/event/d_event.h +++ b/include/d/event/d_event.h @@ -4,275 +4,94 @@ #include "d/a/d_a_itembase.h" #include "d/a/d_a_player.h" #include "d/d_stage.h" +#include "d/event/d_event_manager.h" #include "d/save/d_save.h" #include "dolphin/types.h" -#pragma pack(push, 1) class dEvt_order_c { public: - /* 80030154 */ ~dEvt_order_c(); - /* 800415D4 */ dEvt_order_c(); + ~dEvt_order_c(); + dEvt_order_c(); -private: - u8 field_0x0; - u8 field_0x1; - u8 field_0x2; - u8 field_0x3; - u8 field_0x4; - u8 field_0x5; - u8 field_0x6; - u8 field_0x7; - u8 field_0x8; - u8 field_0x9; - u8 field_0xa; - u8 field_0xb; - u8 field_0xc; - u8 field_0xd; - u8 field_0xe; - u8 field_0xf; - u8 field_0x10; - u8 field_0x11; - u8 field_0x12; - u8 field_0x13; - u8 field_0x14; - u8 field_0x15; - u8 field_0x16; - u8 field_0x17; - u8 field_0x18; - u8 field_0x19; - u8 field_0x1a; - u8 field_0x1b; - u8 field_0x1c; - u8 field_0x1d; - u8 field_0x1e; - u8 field_0x1f; - u8 field_0x20; - u8 field_0x21; - u8 field_0x22; - u8 field_0x23; - u8 field_0x24; - u8 field_0x25; - u8 field_0x26; - u8 field_0x27; - u8 field_0x28; - u8 field_0x29; - u8 field_0x2a; - u8 field_0x2b; - u8 field_0x2c; - u8 field_0x2d; - u8 field_0x2e; - u8 field_0x2f; - u8 field_0x30; - u8 field_0x31; - u8 field_0x32; - u8 field_0x33; - u8 field_0x34; - u8 field_0x35; - u8 field_0x36; - u8 field_0x37; - u8 field_0x38; - u8 field_0x39; - u8 field_0x3a; - u8 field_0x3b; - u8 field_0x3c; - u8 field_0x3d; - u8 field_0x3e; - u8 field_0x3f; - u8 field_0x40; - u8 field_0x41; - u8 field_0x42; - u8 field_0x43; - u8 field_0x44; - u8 field_0x45; - u8 field_0x46; - u8 field_0x47; - u8 field_0x48; - u8 field_0x49; - u8 field_0x4a; - u8 field_0x4b; - u8 field_0x4c; - u8 field_0x4d; - u8 field_0x4e; - u8 field_0x4f; - u8 field_0x50; - u8 field_0x51; - u8 field_0x52; - u8 field_0x53; - u8 field_0x54; - u8 field_0x55; - u8 field_0x56; - u8 field_0x57; - u8 field_0x58; - u8 field_0x59; - u8 field_0x5a; - u8 field_0x5b; - u8 field_0x5c; - u8 field_0x5d; - u8 field_0x5e; - u8 field_0x5f; - u8 field_0x60; - u8 field_0x61; - u8 field_0x62; - u8 field_0x63; - u8 field_0x64; - u8 field_0x65; - u8 field_0x66; - u8 field_0x67; - u8 field_0x68; - u8 field_0x69; - u8 field_0x6a; - u8 field_0x6b; - u8 field_0x6c; - u8 field_0x6d; - u8 field_0x6e; - u8 field_0x6f; - u8 field_0x70; - u8 field_0x71; - u8 field_0x72; - u8 field_0x73; - u8 field_0x74; - u8 field_0x75; - u8 field_0x76; - u8 field_0x77; - u8 field_0x78; - u8 field_0x79; - u8 field_0x7a; - u8 field_0x7b; - u8 field_0x7c; - u8 field_0x7d; - u8 field_0x7e; - u8 field_0x7f; - u8 field_0x80; - u8 field_0x81; - u8 field_0x82; - u8 field_0x83; - u8 field_0x84; - u8 field_0x85; - u8 field_0x86; - u8 field_0x87; - u8 field_0x88; - u8 field_0x89; - u8 field_0x8a; - u8 field_0x8b; - u8 field_0x8c; - u8 field_0x8d; - u8 field_0x8e; - u8 field_0x8f; - u8 field_0x90; - u8 field_0x91; - u8 field_0x92; - u8 field_0x93; - u8 field_0x94; - u8 field_0x95; - u8 field_0x96; - u8 field_0x97; - u8 field_0x98; - u8 field_0x99; - u8 field_0x9a; - u8 field_0x9b; - u8 field_0x9c; - u8 field_0x9d; - u8 field_0x9e; - u8 field_0x9f; - u8 field_0xa0; - u8 field_0xa1; - u8 field_0xa2; - u8 field_0xa3; - u8 field_0xa4; - u8 field_0xa5; - u8 field_0xa6; - u8 field_0xa7; - u8 field_0xa8; - u8 field_0xa9; - u8 field_0xaa; - u8 field_0xab; - u8 field_0xac; - u8 field_0xad; - u8 field_0xae; - u8 field_0xaf; - u8 field_0xb0; - u8 field_0xb1; - u8 field_0xb2; - u8 field_0xb3; - u8 field_0xb4; - u8 field_0xb5; - u8 field_0xb6; - u8 field_0xb7; - u8 field_0xb8; - u8 field_0xb9; - u8 field_0xba; - u8 field_0xbb; - u8 field_0xbc; - u8 field_0xbd; - u8 field_0xbe; -}; -#pragma pack(pop) + /* 0x00 */ u16 mEventType; + /* 0x02 */ u16 mFlag; + /* 0x04 */ s16 field_0x04; + /* 0x08 */ fopAc_ac_c* mActor1; + /* 0x0C */ fopAc_ac_c* mActor2; + /* 0x10 */ s16 mEventId; + /* 0x12 */ s16 mPriority; + /* 0x14 */ u8 mNextOrderIdx; + /* 0x15 */ u8 mEventInfoIdx; +}; // Size = 0x18 + +typedef int (*SkipFunc)(void*, int); -#pragma pack(push, 1) class dEvt_control_c { public: - /* 80041580 */ dEvt_control_c(); - /* 800415D8 */ void orderOld(u16, u16, u16, u16, void*, void*, void const*); - /* 80041668 */ void order(u16, u16, u16, u16, void*, void*, s16, u8); - /* 80041804 */ void setParam(dEvt_order_c*); - /* 80041934 */ void beforeFlagProc(dEvt_order_c*); - /* 80041964 */ void afterFlagProc(dEvt_order_c*); - /* 800419A8 */ void commonCheck(dEvt_order_c*, u16, u16); - /* 80041A20 */ void talkCheck(dEvt_order_c*); - /* 80041B58 */ void talkXyCheck(dEvt_order_c*); - /* 80041C90 */ void catchCheck(dEvt_order_c*); - /* 80041D34 */ void talkEnd(); - /* 80041DDC */ void demoCheck(dEvt_order_c*); - /* 80041F18 */ void demoEnd(); - /* 80041FA0 */ void potentialCheck(dEvt_order_c*); - /* 80042014 */ void doorCheck(dEvt_order_c*); - /* 8004212C */ void itemCheck(dEvt_order_c*); - /* 800421C0 */ void endProc(); - /* 80042254 */ void change(); - /* 800422C0 */ void entry(); - /* 80042518 */ void reset(void*); - /* 80042468 */ void reset(); - /* 800425B4 */ void clearSkipSystem(); - /* 8004290C */ void getSkipEventName(); - /* 80042914 */ void setSkipProc(void*, int (*)(void*, int), int); - /* 80042958 */ void setSkipZev(void*, char*); - /* 800429A8 */ void onSkipFade(); - /* 800429B4 */ void offSkipFade(); - /* 800429D4 */ void skipper(); - /* 80042BBC */ void Step(); - /* 80042FA8 */ void moveApproval(void*); - /* 8004316C */ void compulsory(void*, char const*, u16); - /* 800431E8 */ void remove(); - /* 80043278 */ void getStageEventDt(); - /* 80043280 */ void sceneChange(int); - /* 800432C8 */ void getPId(void*); - /* 800432EC */ void convPId(unsigned int); - /* 8004331C */ void getStbDemoData(char*); - /* 80043500 */ void searchMapEventData(u8, s32); - /* 800434D8 */ void searchMapEventData(u8); - /* 8004360C */ void runningEventID(s16); - /* 8004362C */ void setPt1(void*); - /* 8004365C */ void setPt2(void*); - /* 8004368C */ void setPtT(void*); - /* 800436BC */ void setPtI(void*); - /* 800436EC */ void setPtI_Id(unsigned int); - /* 800436F4 */ void setPtD(void*); - /* 80043724 */ void setGtItm(u8); + dEvt_control_c(); + void orderOld(u16, u16, u16, u16, void*, void*, void const*); + void order(u16, u16, u16, u16, void*, void*, s16, u8); + void setParam(dEvt_order_c*); + s32 beforeFlagProc(dEvt_order_c*); + void afterFlagProc(dEvt_order_c*); + void commonCheck(dEvt_order_c*, u16, u16); + void talkCheck(dEvt_order_c*); + void talkXyCheck(dEvt_order_c*); + void catchCheck(dEvt_order_c*); + void talkEnd(); + void demoCheck(dEvt_order_c*); + void demoEnd(); + s32 potentialCheck(dEvt_order_c*); + void doorCheck(dEvt_order_c*); + void itemCheck(dEvt_order_c*); + void endProc(); + void change(); + void entry(); + void reset(void*); + void reset(); + void clearSkipSystem(); + char* getSkipEventName(); + void setSkipProc(void*, SkipFunc, int); + void setSkipZev(void*, char*); + void onSkipFade(); + void offSkipFade(); + void skipper(); + void Step(); + void moveApproval(void*); + void compulsory(void*, char const*, u16); + void remove(); + void* getStageEventDt(); // ret type probably wrong, fix later + void sceneChange(int); + u32 getPId(void*); + void convPId(unsigned int); + void getStbDemoData(char*); + void searchMapEventData(u8, s32); + void searchMapEventData(u8); + s16 runningEventID(s16); + void setPt1(void*); + void setPt2(void*); + void setPtT(void*); + void setPtI(void*); + void setPtI_Id(unsigned int); + void setPtD(void*); + void setGtItm(u8); + + u16 chkFlag2(u16 flag) { return flag & mFlag2; } -private: +public: /* 0x000 */ u8 field_0x0[4]; - /* 0x004 */ dEvt_order_c event_order; - /* 0x0C4 */ int mPt1; - /* 0x0C8 */ int mPt2; - /* 0x0CC */ int mPtT; - /* 0x0D0 */ int mPtI; - /* 0x0D4 */ int mPtd; + /* 0x004 */ dEvt_order_c mOrder[8]; + /* 0x0C4 */ u32 mPt1; + /* 0x0C8 */ u32 mPt2; + /* 0x0CC */ u32 mPtT; + /* 0x0D0 */ u32 mPtI; + /* 0x0D4 */ u32 mPtd; /* 0x0D8 */ u16 mEventFlag; /* 0x0DA */ u16 mFlag2; /* 0x0DC */ u16 mHindFlag; - /* 0x0DE */ u16 field_0xde; - /* 0x0E0 */ u16 field_0xe0; - /* 0x0E2 */ u8 field_0xe2; + /* 0x0DE */ s16 mSpecifiedEvent; // name maybe wrong + /* 0x0E0 */ s16 field_0xe0; + /* 0x0E2 */ u8 mNum; /* 0x0E3 */ u8 field_0xe3; /* 0x0E4 */ u8 mMode; /* 0x0E5 */ u8 field_0xe5; @@ -287,15 +106,18 @@ private: /* 0x0EE */ u8 mPreItemNo; /* 0x0EF */ u8 mGtItm; /* 0x0F0 */ float mCullRate; - /* 0x0F4 */ int mStageEventDt; - /* 0x0F8 */ int mChangeOK; - /* 0x0FC */ u8 field_0xfc[20]; - /* 0x110 */ bool mSkipFade; - /* 0x114 */ char mSkipEventName[0x14]; + /* 0x0F4 */ void* mStageEventDt; + /* 0x0F8 */ void* mChangeOK; + /* 0x0FC */ u8 field_0xfc[4]; + /* 0x100 */ SkipFunc mSkipFunc; + /* 0x104 */ u32 field_0x104; + /* 0x108 */ u32 field_0x108; + /* 0x10C */ u32 field_0x10c; + /* 0x110 */ int mSkipFade; + /* 0x114 */ char mSkipEventName[20]; /* 0x128 */ u8 mCompulsory; - /* 0x129 */ u8 field_0x129; + /* 0x129 */ bool field_0x129; /* 0x12C */ int field_0x12c; -}; -#pragma pack(pop) +}; // Size = 0x130 #endif /* D_EVENT_D_EVENT_H */ diff --git a/include/d/event/d_event_data.h b/include/d/event/d_event_data.h index 8a6e6d4f58..f09499c826 100644 --- a/include/d/event/d_event_data.h +++ b/include/d/event/d_event_data.h @@ -5,59 +5,111 @@ #include "d/save/d_save.h" #include "dolphin/types.h" -struct dEvDtStaff_c { - /* 80043FD8 */ void specialProc_WaitStart(int); - /* 8004403C */ void specialProc_WaitProc(int); - /* 80044080 */ void specialProc(); - /* 80044134 */ void init(); - /* 80044170 */ void advanceCut(int); - /* 80044190 */ void specialProcLight(); - /* 80044324 */ void specialProcMessage(); - /* 80044A58 */ void specialProcSound(); - /* 80044CB8 */ void specialProcCreate(); - /* 80044EE4 */ void specialProcDirector(); - /* 80045878 */ void specialProcPackage(); - /* 80045AFC */ void specialProcTimekeeper(); - /* 80045C34 */ void specialProcEffect(); +struct event_binary_data_header {}; + +struct dEvDtData_c {}; + +class dEvDtCut_c { +public: + void startCheck(); + +private: + /* 0x00 */ u8 field_0x0[0x20]; + /* 0x20 */ u32 mTagID; + /* 0x28 */ int field_0x28[3]; + /* 0x34 */ u32 mFlagId; + /* 0x38 */ u32 mDataTop; + /* 0x3C */ u32 mNext; }; -struct dEvDtEvent_c { - /* 80043E78 */ void finishCheck(); - /* 80043EFC */ void forceFinish(); - /* 80043F70 */ void specialStaffProc(dEvDtStaff_c*); +class dEvDtStaff_c { +public: + void specialProc_WaitStart(int); + void specialProc_WaitProc(int); + void specialProc(); + void init(); + void advanceCut(int); + void specialProcLight(); + void specialProcMessage(); + void specialProcSound(); + void specialProcCreate(); + void specialProcDirector(); + void specialProcPackage(); + void specialProcTimekeeper(); + void specialProcEffect(); + +private: + /* 0x00 */ u8 field_0x00[4]; + /* 0x04 */ void* field_0x04; + /* 0x08 */ u32 field_0x08; + /* 0x0C */ int field_0x0c; + /* 0x10 */ u32 field_0x10; + /* 0x14 */ u8 field_0x14[0xC]; + /* 0x20 */ u32 mTagID; + /* 0x24 */ u32 field_0x24; + /* 0x28 */ u8 field_0x28[4]; + /* 0x2C */ int mType; + /* 0x30 */ u32 mStartCut; + /* 0x34 */ u8 field_0x34[2]; + /* 0x36 */ s16 field_0x36; + /* 0x38 */ int mCurrentCut; + /* 0x3C */ u32 field_0x3c; + /* 0x40 */ u8 field_0x40; + /* 0x41 */ u8 field_0x41; + /* 0x42 */ s16 field_0x42; + /* 0x44 */ s16 mSoundWait; + /* 0x46 */ u8 field_0x46[4]; + /* 0x4A */ int field_0x4a; +}; + +class dEvDtEvent_c { +public: + void finishCheck(); + void forceFinish(); + void specialStaffProc(dEvDtStaff_c*); + + /* 0x00 */ s32 mEventNum; }; class dEvDtFlag_c { public: - /* 80043D60 */ void flagCheck(int); - /* 80043DC8 */ void flagSet(int); - /* 80043E30 */ void flagMaxCheck(int); - /* 80043E58 */ void init(); + dEvDtFlag_c() {} + void flagCheck(int); + void flagSet(int); + bool flagMaxCheck(int); + void init(); + +#define FlagMax 0x2800 private: - u8 field_0x0[320]; -}; + u32 mFlags[320]; +}; // Size = 0x500 + #pragma pack(push, 1) class dEvDtBase_c { public: dEvDtBase_c(); ~dEvDtBase_c(); - /* 80046138 */ void init(); - /* 8004616C */ void init(char*, int); - /* 8004628C */ void advanceCut(dEvDtEvent_c*); - /* 800462FC */ void advanceCutLocal(dEvDtStaff_c*); + void init(); + void init(char*, int); + void advanceCut(dEvDtEvent_c*); + void advanceCutLocal(dEvDtStaff_c*); + + event_binary_data_header* getHeaderP() { return mHeaderP; } + s32 getEventNum() { return mEventP->mEventNum; } + s32 roomNo() { return mRoomNo; } private: - u32 field_0x0; - u32 field_0x4; - u32 field_0x8; - u32 field_0xc; - u32 field_0x10; - u32 field_0x14; - u32 field_0x18; - u32 field_0x1c; - u32 field_0x20; -}; + /* 0x00 */ event_binary_data_header* mHeaderP; + /* 0x04 */ dEvDtEvent_c* mEventP; + /* 0x08 */ dEvDtStaff_c* mStaffP; + /* 0x0C */ dEvDtCut_c* mCutP; + /* 0x10 */ dEvDtData_c* mDataP; + /* 0x14 */ float* mFDataP; + /* 0x18 */ s32* mIDataP; + /* 0x1C */ char* mSDataP; + /* 0x20 */ s32 mRoomNo; +}; // Size = 0x24 #pragma pack(pop) #endif /* D_EVENT_D_EVENT_DATA_H */ diff --git a/include/d/event/d_event_manager.h b/include/d/event/d_event_manager.h index e9d571a819..c941d17183 100644 --- a/include/d/event/d_event_manager.h +++ b/include/d/event/d_event_manager.h @@ -4,87 +4,81 @@ #include "d/event/d_event_data.h" #include "dolphin/types.h" -struct dEvDtData_c {}; - -#pragma pack(push, 1) class dEvent_exception_c { public: - /* 800463DC */ void init(); - /* 800463F0 */ void setStartDemo(int); - /* 80046480 */ void getEventName(); + dEvent_exception_c() { mEventInfoIdx = -1; } + void init(); + void setStartDemo(int); + void getEventName(); private: - u32 field_0x0; + u32 mEventInfoIdx; u8 field_0x4; u8 field_0x5; u8 field_0x6; u8 field_0x7; - u32 field_0x8; + u32 mState; }; -#pragma pack(pop) -#pragma pack(push, 1) -struct dEvent_manager_c { - /* 800465E8 */ void getSubstance(dEvDtData_c*, int); - /* 80046688 */ dEvent_manager_c(); - /* 80046710 */ void create(); - /* 80046800 */ void setObjectArchive(char*); - /* 80046888 */ void demoInit(); - /* 80046904 */ void roomInit(int); - /* 800469EC */ void roomFinish(int); - /* 80046A58 */ void orderStartDemo(); - /* 80046C0C */ void remove(); - /* 80046CB8 */ void startProc(dEvDtEvent_c*); - /* 80046DA0 */ void closeProc(dEvDtEvent_c*); - /* 80046DAC */ void endProc(s16, int); - /* 80046E64 */ void Sequencer(); - /* 800473FC */ void Experts(); - /* 800474BC */ void getEventData(s16); - /* 80047454 */ void getEventData(s16, int); - /* 80047514 */ void getEventIdx(char const*, u8, s32); - /* 80047698 */ void getEventIdx(fopAc_ac_c*, u8); - /* 80047758 */ void getEventIdx(fopAc_ac_c*, char const*, u8); - /* 80047930 */ void isMapToolCamera(u8, s32); - /* 80047984 */ void order(s16); - /* 800479F8 */ void startCheck(s16); - /* 80047A38 */ void startCheckOld(char const*); - /* 80047A78 */ void endCheck(s16); - /* 80047ADC */ void endCheckOld(char const*); - /* 80047B1C */ void getMyStaffId(char const*, fopAc_ac_c*, int); - /* 80047D4C */ void getIsAddvance(int); - /* 80047E10 */ void getMyActIdx(int, char const* const*, int, int, int); - /* 80047F5C */ void getMyNowCutName(int); - /* 80047FC8 */ void getMyDataP(int, char const*, int); - /* 800480EC */ void getMySubstanceP(int, char const*, int); - /* 80048144 */ void getMySubstanceNum(int, char const*); - /* 8004817C */ void cutEnd(int); - /* 800481F4 */ void getEventPrio(fopAc_ac_c*, s16); - /* 800482CC */ void issueStaff(char const*); - /* 80048348 */ void cancelStaff(char const*); - /* 800483C4 */ void setGoal(cXyz*); - /* 800483E0 */ void getGoal(); - /* 800483E8 */ void getRunEventName(); - /* 80048520 */ void specialCast_Shutter(s16, int); - /* 80048618 */ void specialCast(char const*, int); - /* 800487F0 */ void ChkPresentEnd(); - /* 8004882C */ void checkStartDemo(); +class dEvent_manager_c { +public: + void getSubstance(dEvDtData_c*, int); + dEvent_manager_c(); + void create(); + void setObjectArchive(char*); + void demoInit(); + void roomInit(int); + void roomFinish(int); + void orderStartDemo(); + void remove(); + void startProc(dEvDtEvent_c*); + void closeProc(dEvDtEvent_c*); + void endProc(s16, int); + void Sequencer(); + void Experts(); + void getEventData(s16); + dEvDtEvent_c* getEventData(s16, int); + void getEventIdx(char const*, u8, s32); + void getEventIdx(fopAc_ac_c*, u8); + void getEventIdx(fopAc_ac_c*, char const*, u8); + void isMapToolCamera(u8, s32); + void order(s16); + void startCheck(s16); + void startCheckOld(char const*); + void endCheck(s16); + void endCheckOld(char const*); + void getMyStaffId(char const*, fopAc_ac_c*, int); + void getIsAddvance(int); + void getMyActIdx(int, char const* const*, int, int, int); + void getMyNowCutName(int); + void getMyDataP(int, char const*, int); + void getMySubstanceP(int, char const*, int); + void getMySubstanceNum(int, char const*); + void cutEnd(int); + void getEventPrio(fopAc_ac_c*, s16); + void issueStaff(char const*); + void cancelStaff(char const*); + void setGoal(cXyz*); + void getGoal(); + void getRunEventName(); + void specialCast_Shutter(s16, int); + void specialCast(char const*, int); + void ChkPresentEnd(); + void checkStartDemo(); - /* 0x0000 */ dEvDtBase_c event_data_base[11]; - /* 0x018C */ u32 field_0x18c; - /* 0x0190 */ u32 field_0x190; - /* 0x0194 */ u8 field_0x194[0x8]; - /* 0x019C */ cXyz goal; - /* 0x01A8 */ u8 field_0x1A8[4]; +private: + /* 0x0000 */ dEvDtBase_c mEventList[11]; + /* 0x018C */ s32 mCameraPlay; + /* 0x0190 */ dEvent_exception_c mEventException; + /* 0x019C */ cXyz mGoal; + /* 0x01A8 */ u8 field_0x1a8[2]; /* 0x01AA */ u16 field_0x1aa; - /* 0x01AC */ u8 field_0x1ac[0x8]; - /* 0x01B4 */ dEvent_exception_c event_exception; - /* 0x01C0 */ cXyz position; - /* 0x01CC */ u8 field_0x1cc[0x14]; - /* 0x01E0 */ dEvDtFlag_c event_data_flag; - /* 0x0320 */ u8 field_0x320[0x35C]; - /* 0x067C */ void* vtable; - /* 0x0680 */ u8 field_0x680[0x3C]; + /* 0x01AC */ u8 field_0x1ac[4]; + /* 0x01B0 */ u32 field_0x1b0; + /* 0x01B4 */ u32 field_0x1b4; + /* 0x01B8 */ u32 field_0x1b8; + /* 0x01BC */ dEvDtFlag_c mFlags; + /* 0x06BC */ bool mDataLoaded; }; -#pragma pack(pop) #endif /* D_EVENT_D_EVENT_MANAGER_H */ diff --git a/include/d/kankyo/d_kankyo.h b/include/d/kankyo/d_kankyo.h index bb382bc415..d92ecebccd 100644 --- a/include/d/kankyo/d_kankyo.h +++ b/include/d/kankyo/d_kankyo.h @@ -1,6 +1,7 @@ #ifndef D_KANKYO_D_KANKYO_H #define D_KANKYO_D_KANKYO_H +#include "JSystem/J3DGraphBase/J3DStruct.h" #include "SSystem/SComponent/c_xyz.h" #include "dolphin/gx/GXTexture.h" #include "dolphin/types.h" @@ -16,4 +17,48 @@ struct LIGHT_INFLUENCE { /* 0x1C */ int field_0x1c; }; +struct WIND_INFLUENCE { + /* 0x00 */ cXyz field_0x00; + /* 0x0C */ cXyz field_0x0c; + /* 0x18 */ u8 field_0x18[0xC]; + /* 0x24 */ int field_0x24; + /* 0x28 */ u8 field_0x28; + /* 0x29 */ u8 field_0x29; +}; + +class dKy_tevstr_c { +public: +private: + /* 0x000 */ J3DLightObj field_0x000; + /* 0x074 */ J3DLightObj field_0x074[6]; + /* 0x32C */ cXyz field_0x32c; + /* 0x338 */ cXyz field_0x338; + /* 0x344 */ f32 field_0x344; + /* 0x348 */ int field_0x348; + /* 0x34C */ int field_0x34c; + /* 0x350 */ int field_0x350; + /* 0x354 */ int field_0x354; + /* 0x358 */ int field_0x358; + /* 0x35C */ int field_0x35c; + /* 0x360 */ int field_0x360; + /* 0x364 */ int field_0x364; + /* 0x368 */ f32 field_0x368; + /* 0x36C */ f32 field_0x36c; + /* 0x370 */ f32 field_0x370; + /* 0x374 */ f32 field_0x374; + /* 0x378 */ u16 field_0x378; + /* 0x37A */ u8 field_0x37a; + /* 0x37B */ u8 field_0x37b; + /* 0x37C */ u8 field_0x37c; + /* 0x37D */ u8 field_0x37d; + /* 0x37E */ u8 field_0x37e; + /* 0x37F */ u8 field_0x37f; + /* 0x380 */ u8 field_0x380; + /* 0x381 */ u8 field_0x381; + /* 0x382 */ u8 field_0x382; + /* 0x383 */ u8 field_0x383; + /* 0x384 */ u8 field_0x384; + /* 0x385 */ u8 field_0x385; +}; // Size = 0x388? + #endif /* D_KANKYO_D_KANKYO_H */ diff --git a/include/d/menu/d_menu_window.h b/include/d/menu/d_menu_window.h index 18a7adb402..781f1ed640 100644 --- a/include/d/menu/d_menu_window.h +++ b/include/d/menu/d_menu_window.h @@ -1,6 +1,175 @@ #ifndef D_MENU_D_MENU_WINDOW_H #define D_MENU_D_MENU_WINDOW_H +#include "d/meter/d_meter2_info.h" #include "dolphin/types.h" +#include "m_Do/m_Do_controller_pad.h" + +struct STControl; +struct CSTControl; +class dDlst_base_c; +class dMenu_Ring_c; +class dMenu_Collect2D_c; +class dMenu_Dmap_c; +class dMenu_Fmap_c; +class dMenu_save_c; +class dMenu_Option_c; +class dMenu_Letter_c; +class dMenu_Fishing_c; +class dMenu_Skill_c; +class dMenu_Insect_c; + +class dMw_c { +public: + /* 801FA13C */ void key_wait_init(u8); + /* 801FA220 */ void ring_open_init(u8); + /* 801FA23C */ void ring_move_init(u8); + /* 801FA240 */ void ring_close_init(u8); + /* 801FA244 */ void collect_open_init(u8); + /* 801FA2D0 */ void collect_move_init(u8); + /* 801FA46C */ void collect_close_init(u8); + /* 801FA538 */ void fmap_open_init(u8); + /* 801FA55C */ void fmap_move_init(u8); + /* 801FA560 */ void fmap_close_init(u8); + /* 801FA564 */ void dmap_open_init(u8); + /* 801FA588 */ void dmap_move_init(u8); + /* 801FA58C */ void dmap_close_init(u8); + /* 801FA590 */ void collect_save_open_init(u8); + /* 801FA5E4 */ void collect_save_move_init(u8); + /* 801FA5E8 */ void collect_save_close_init(u8); + /* 801FA608 */ void collect_option_open_init(u8); + /* 801FA65C */ void collect_option_move_init(u8); + /* 801FA660 */ void collect_option_close_init(u8); + /* 801FA680 */ void collect_letter_open_init(u8); + /* 801FA6DC */ void collect_letter_move_init(u8); + /* 801FA6E0 */ void collect_letter_close_init(u8); + /* 801FA738 */ void collect_fishing_open_init(u8); + /* 801FA794 */ void collect_fishing_move_init(u8); + /* 801FA798 */ void collect_fishing_close_init(u8); + /* 801FA7F0 */ void collect_skill_open_init(u8); + /* 801FA84C */ void collect_skill_move_init(u8); + /* 801FA850 */ void collect_skill_close_init(u8); + /* 801FA8A8 */ void collect_insect_open_init(u8); + /* 801FA908 */ void collect_insect_move_init(u8); + /* 801FA90C */ void collect_insect_close_init(u8); + /* 801FA964 */ void insect_open_init(u8); + /* 801FA9E8 */ void insect_open2_init(u8); + /* 801FA9EC */ void insect_move_init(u8); + /* 801FA9F0 */ void insect_close_init(u8); + /* 801FAA48 */ void key_wait_proc(); + /* 801FAFDC */ void ring_open_proc(); + /* 801FB01C */ void ring_move_proc(); + /* 801FB064 */ void ring_close_proc(); + /* 801FB0B8 */ void collect_open_proc(); + /* 801FB110 */ void collect_move_proc(); + /* 801FB1A0 */ void collect_close_proc(); + /* 801FB240 */ void fmap_open_proc(); + /* 801FB298 */ void fmap_move_proc(); + /* 801FB36C */ void fmap_close_proc(); + /* 801FB3AC */ void dmap_open_proc(); + /* 801FB404 */ void dmap_move_proc(); + /* 801FB5DC */ void dmap_close_proc(); + /* 801FB61C */ void collect_save_open_proc(); + /* 801FB67C */ void collect_save_move_proc(); + /* 801FB6D8 */ void collect_save_close_proc(); + /* 801FB73C */ void collect_option_open_proc(); + /* 801FB7AC */ void collect_option_move_proc(); + /* 801FB800 */ void collect_option_close_proc(); + /* 801FB81C */ void collect_letter_open_proc(); + /* 801FB8AC */ void collect_letter_move_proc(); + /* 801FB900 */ void collect_letter_close_proc(); + /* 801FB91C */ void collect_fishing_open_proc(); + /* 801FB9AC */ void collect_fishing_move_proc(); + /* 801FBA00 */ void collect_fishing_close_proc(); + /* 801FBA1C */ void collect_skill_open_proc(); + /* 801FBAAC */ void collect_skill_move_proc(); + /* 801FBB00 */ void collect_skill_close_proc(); + /* 801FBB1C */ void collect_insect_open_proc(); + /* 801FBBAC */ void collect_insect_move_proc(); + /* 801FBC00 */ void collect_insect_close_proc(); + /* 801FBC1C */ void insect_open_proc(); + /* 801FBC78 */ void insect_open2_proc(); + /* 801FBD08 */ void insect_move_proc(); + /* 801FBD64 */ void insect_close_proc(); + /* 801FBD80 */ void dMw_capture_create(); + /* 801FBE14 */ void dMw_capture_delete(); + /* 801FBE94 */ void dMw_ring_create(u8); + /* 801FBF60 */ void dMw_ring_delete(); + /* 801FBFF8 */ void dMw_collect_create(); + /* 801FC090 */ void dMw_collect_delete(bool); + /* 801FC0FC */ void dMw_fmap_create(); + /* 801FC264 */ void dMw_fmap_delete(bool); + /* 801FC350 */ void dMw_dmap_create(); + /* 801FC46C */ void dMw_dmap_delete(bool); + /* 801FC520 */ void dMw_save_create(); + /* 801FC5D0 */ void dMw_save_delete(); + /* 801FC668 */ void dMw_option_create(); + /* 801FC70C */ void dMw_option_delete(); + /* 801FC7BC */ void dMw_letter_create(); + /* 801FC85C */ void dMw_letter_delete(); + /* 801FC904 */ void dMw_fishing_create(); + /* 801FC9A4 */ void dMw_fishing_delete(); + /* 801FCA4C */ void dMw_skill_create(); + /* 801FCAEC */ void dMw_skill_delete(); + /* 801FCB94 */ void dMw_insect_create(u8); + /* 801FCC44 */ void dMw_insect_delete(); + /* 801FCCEC */ void dMw_onButtonBit(u8); + /* 801FCCFC */ void dMw_offButtonBit(u8); + /* 801FCD0C */ void dMw_isButtonBit(u8); + /* 801FCD24 */ void dMw_isPush_S_Button(); + /* 801FCDD8 */ void isPauseReady(); + /* 801FCE08 */ void dMw_fade_out(); + /* 801FCE78 */ void dMw_fade_in(); + /* 801FCEE8 */ void checkCStickTrigger(); + /* 801FCF84 */ void isEventCheck(); + /* 801FD094 */ void markMemSize(); + /* 801FD0D4 */ void checkMemSize(); + /* 801FD140 */ void _create(); + /* 801FD2D8 */ void _execute(); + /* 801FD450 */ void _draw(); + /* 801FD67C */ void _delete(); + + void onPauseWindow() { mPauseWindow = true; } + void offPauseWindow() { mPauseWindow = false; } + void onShowFlag() { mShowFlag |= 1; } + void offShowFlag() { mShowFlag &= ~1; } + bool isShowFlag() { return mShowFlag & 1 != 0; } + +private: + u8 field_0x0[0x100]; + /* 0x100 */ void* field_0x100; + /* 0x104 */ STControl* mpStick; + /* 0x108 */ CSTControl* mpCStick; + /* 0x10C */ dDlst_base_c* field_0x10c; + /* 0x110 */ dMenu_Ring_c* mRing; + /* 0x114 */ dMenu_Collect2D_c* mCollect2D; + /* 0x118 */ dMenu_Dmap_c* mDmap; + /* 0x11C */ dMenu_Fmap_c* mFmap; + /* 0x120 */ dMenu_save_c* mSave; + /* 0x124 */ dMenu_Option_c* mOption; + /* 0x128 */ dMenu_Letter_c* mLetter; + /* 0x12C */ dMenu_Fishing_c* mFishing; + /* 0x130 */ dMenu_Skill_c* mSkill; + /* 0x134 */ dMenu_Insect_c* mInsect; + /* 0x138 */ int field_0x138; + /* 0x13C */ u8 field_0x13c[8]; + /* 0x144 */ u8 field_0x144; + /* 0x145 */ u8 mButtons; + /* 0x146 */ u8 field_0x146; + /* 0x147 */ u8 mShowFlag; + /* 0x148 */ u8 field_0x148; + /* 0x149 */ u8 field_0x149; + /* 0x14A */ u8 field_0x14A; + /* 0x14B */ u8 field_0x14B; + /* 0x14C */ u8 field_0x14C; + /* 0x14D */ u8 field_0x14D; + /* 0x14E */ u8 field_0x14E; + /* 0x14F */ u8 field_0x14F; + /* 0x150 */ u8 field_0x150; + /* 0x151 */ u8 field_0x151; + /* 0x152 */ u8 field_0x152; + /* 0x153 */ u8 field_0x153; + /* 0x154 */ bool mPauseWindow; +}; #endif /* D_MENU_D_MENU_WINDOW_H */ diff --git a/include/d/meter/d_meter2_info.h b/include/d/meter/d_meter2_info.h index a0f124a1b2..61ba0bd8a9 100644 --- a/include/d/meter/d_meter2_info.h +++ b/include/d/meter/d_meter2_info.h @@ -3,6 +3,7 @@ #include "JSystem/JUtility/JUTTexture.h" #include "d/d_resorce.h" +#include "d/menu/d_menu_window.h" #include "d/msg/d_msg_flow.h" #include "dolphin/types.h" #include "f_op/f_op_actor.h" @@ -14,11 +15,16 @@ struct dSv_event_flag_c { struct dMsgObject_c { /* 802384C4 */ void setLetterNameID(u16); + /* 802379AC */ void setKillMessageFlag(); + /* 8023822C */ void getStatus(); }; class dMeterMap_c { public: /* 8020D900 */ bool isMapOpenCheck(); + /* 8020D650 */ void isEnableDispMapAndMapDispSizeTypeNo(); + /* 8020D874 */ void setDispPosInsideFlg_SE_On(); + /* 8020D8BC */ void setDispPosOutsideFlg_SE_On(); }; struct J2DPicture {}; @@ -41,9 +47,12 @@ struct dItem_data { struct CPaneMgr {}; -class dMeter2_c {}; +class dMw_c; -class dMw_c {}; +class dMeter2_c { +public: + /* 8021F6EC */ void emphasisButtonDelete(); +}; class dMeter2Info_c { public: @@ -98,8 +107,13 @@ public: void setMiniGameCount(s8); void setSaveStageName(const char*); + void setWindowStatus(u8 status) { + unk186 = mWindowStatus; + mWindowStatus = status; + } u8& getDirectUseItem() { return mDirectUseItem; } dMeterMap_c* getMeterMapClass() { return mMeterMap; } + dMw_c* getMenuWindowClass() { return mMenuWindowClass; } void offUseButton(int pButton) { mUseButton &= ~(u16)pButton; } private: @@ -187,12 +201,20 @@ private: extern dMeter2Info_c g_meter2_info; +inline void dMeter2Info_Initialize() { + g_meter2_info.init(); +} + inline dMeterMap_c* dMeter2Info_getMeterMapClass() { return g_meter2_info.getMeterMapClass(); } -inline void dMeter2Info_Initialize() { - g_meter2_info.init(); +inline dMw_c* dMeter2Info_getMenuWindowClass() { + return g_meter2_info.getMenuWindowClass(); +} + +inline void dMeter2Info_setWindowStatus(u8 status) { + g_meter2_info.setWindowStatus(status); } #endif /* D_METER_D_METER2_INFO_H */ diff --git a/include/d/particle/d_particle_copoly.h b/include/d/particle/d_particle_copoly.h index f4da7608d9..561b75ea19 100644 --- a/include/d/particle/d_particle_copoly.h +++ b/include/d/particle/d_particle_copoly.h @@ -4,7 +4,7 @@ #include "d/bg/d_bg_s_acch.h" #include "dolphin/types.h" -struct dKy_tevstr_c {}; +struct dKy_tevstr_c; class dPaPo_c { public: |
