diff options
| author | Max Roncace <me@caseif.net> | 2026-06-23 20:52:55 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-06-23 12:52:55 -0700 |
| commit | c8fa8c9e2aab72cf4e5db0e5d1c84a9ea6ee6eb0 (patch) | |
| tree | e74401818820cb5571533e10e3f1b987bdb8b75a /include/d | |
| parent | 8eae8919c8f53c4c5015ef9b664c6cd2f7c31f8b (diff) | |
Diffstat (limited to 'include/d')
| -rw-r--r-- | include/d/d_com_inf_game.h | 167 | ||||
| -rw-r--r-- | include/d/d_cursor_mng.h | 46 | ||||
| -rw-r--r-- | include/d/d_item.h | 14 | ||||
| -rw-r--r-- | include/d/d_rvl_fb_copy.h | 6 | ||||
| -rw-r--r-- | include/d/d_save.h | 4 |
5 files changed, 182 insertions, 55 deletions
diff --git a/include/d/d_com_inf_game.h b/include/d/d_com_inf_game.h index 1d6edbb860..c959c1cb74 100644 --- a/include/d/d_com_inf_game.h +++ b/include/d/d_com_inf_game.h @@ -310,9 +310,9 @@ public: /* 0x04EEC */ u8 mDoStatus; // A button /* 0x04EED */ u8 field_0x4eed; /* 0x04EEE */ u8 m3DStatus; - /* 0x04EEF */ u8 field_0x4eef; // related to NunStatusForce + /* 0x04EEF */ u8 mNunDirectionForce; /* 0x04EF0 */ u8 field_0x4ef0; // related to NunStatus - /* 0x04EF1 */ u8 field_0x4ef1; // related to RemoConStatusForce + /* 0x04EF1 */ u8 mRemoConDirectionForce; /* 0x04EF2 */ u8 field_0x4ef2; // related to RemoConStatus /* 0x04EF3 */ u8 field_0x4ef3[2]; /* 0x04EF5 */ u8 m3DDirection; @@ -325,9 +325,9 @@ public: /* 0x04EFC */ u8 mRStatusForce; /* 0x04EFD */ u8 mAStatusForce; /* 0x04EFE */ u8 field_0x4efe; - /* 0x04EFF */ u8 field_0x4eff; // related to NunStatusForce + /* 0x04EFF */ u8 mNunStatusForce; /* 0x04F00 */ u8 mBottleStatusForce; - /* 0x04F01 */ u8 field_0x4f01; // related to RemoConStatusForce + /* 0x04F01 */ u8 mRemoConStatusForce; /* 0x04F02 */ u8 field_0x4f02[2]; /* 0x04F04 */ u8 mDoStatusForce; /* 0x04F05 */ u8 mTouchStatusForce; @@ -350,9 +350,9 @@ public: /* 0x04F17 */ u8 mRSetFlagForce; /* 0x04F18 */ u8 mASetFlagForce; /* 0x04F19 */ u8 field_0x4f19; - /* 0x04F1A */ u8 field_0x4f1a; // related to NunStatusForce + /* 0x04F1A */ u8 mNunSetFlagForce; /* 0x04F1B */ u8 mBottleSetFlagForce; - /* 0x04F1C */ u8 field_0x4f1c; // related to RemoConStatusForce + /* 0x04F1C */ u8 mRemoConSetFlagForce; /* 0x04F1D */ u8 field_0x4f1d[2]; /* 0x04F1F */ u8 mDoSetFlagForce; /* 0x04F20 */ u8 m3DSetFlagForce; @@ -369,12 +369,12 @@ public: /* 0x04F2B */ u8 mYSetFlagForce; /* 0x04F2C */ u8 mNunZStatus; /* 0x04F2D */ u8 mNunZSetFlag; - /* 0x04F2E */ u8 field_0x4fc6; // related to NunZStatusForce - /* 0x04F2F */ u8 field_0x4fc7; // related to NunZStatusForce + /* 0x04F2E */ u8 mNunZStatusForce; + /* 0x04F2F */ u8 mNunZSetFlagForce; /* 0x04F30 */ u8 mNunCStatus; /* 0x04F31 */ u8 mNunCSetFlag; - /* 0x04F32 */ u8 field_0x4fca; // related to NunCStatusForce - /* 0x04F33 */ u8 field_0x4fcb; // related to NunCStatusForce + /* 0x04F32 */ u8 mNunCStatusForce; + /* 0x04F33 */ u8 mNunCSetFlagForce; /* 0x04F34 */ u8 mSelectItem[8]; /* 0x04F3C */ u8 mSelectEquip[6]; /* 0x04F42 */ u8 mBaseAnimeID; @@ -406,7 +406,7 @@ public: /* 0x04F7D */ u8 mPauseFlag; /* 0x04F7E */ u8 mItemLifeCountType; /* 0x04F7F */ u8 mOxygenShowFlag; - /* 0x04F80 */ u8 mShow2D; + /* 0x04F80 */ bool mShow2D; /* 0x04F84 */ JKRExpHeap* mExpHeap2D; /* 0x04F88 */ JKRExpHeap* mSubExpHeap2D[2]; /* 0x04F90 */ JKRExpHeap* mMsgExpHeap; @@ -424,7 +424,7 @@ public: void clearItemBombNumCount(u8 i_item); s16 getItemMaxBombNumCount(u8 i_bombType); void setNowVibration(u8 vib_status); - u32 getNowVibration(); + u8 getNowVibration(); void setStartStage(dStage_startStage_c* p_startStage); static int getLayerNo_common_common(char const* stageName, int roomId, int layer); static int getLayerNo_common(char const* stageName, int roomId, int layer); @@ -593,7 +593,7 @@ public: dMsgObject_c* getMsgObjectClass() { return mItemInfo.mMsgObjectClass; } void setMsgObjectClass(dMsgObject_c* obj) { mItemInfo.mMsgObjectClass = obj; } f32 getItemLifeCount() { return mItemInfo.mItemLifeCount; } - u8& getItemLifeCountType() { return mItemInfo.mItemLifeCountType; } + u8 getItemLifeCountType() { return mItemInfo.mItemLifeCountType; } void setItemLifeCount(f32 hearts, u8 type) { mItemInfo.mItemLifeCount += hearts; mItemInfo.mItemLifeCountType = type; @@ -672,11 +672,18 @@ public: } u8 getNunStatus() { return mItemInfo.mNunStatus; } bool isNunSetFlag(u8 flag) { return (mItemInfo.mNunSetFlag & flag) ? true : false; } - void setNunStatus(u8 status, u8 param_1, u8 flag) { + void setNunStatus(u8 status, u8 direction, u8 flag) { mItemInfo.mNunStatus = status; - mItemInfo.field_0x4ef0 = param_1; + mItemInfo.field_0x4ef0 = direction; mItemInfo.mNunSetFlag = flag; } + u8 getNunStatusForce() { return mItemInfo.mNunStatus; } + bool getNunSetFlagForce() { return mItemInfo.mNunSetFlag; } + void setNunStatusForce(u8 status, u8 direction, u8 flag) { + mItemInfo.mNunStatusForce = status; + mItemInfo.mNunDirectionForce = direction; + mItemInfo.mNunSetFlagForce = flag; + } u8 getBottleStatus() { return mItemInfo.mBottleStatus; } bool isBottleSetFlag(u8 flag) { return (mItemInfo.mBottleSetFlag & flag) ? true : false; } void setBottleStatus(u8 status, u8 flag) { @@ -691,11 +698,18 @@ public: } u8 getRemoConStatus() { return mItemInfo.mRemoConStatus; } bool isRemoConSetFlag(u8 flag) { return (mItemInfo.mRemoConSetFlag & flag) ? true : false; } - void setRemoConStatus(u8 status, u8 param_1, u8 flag) { + void setRemoConStatus(u8 status, u8 direction, u8 flag) { mItemInfo.mRemoConStatus = status; - mItemInfo.field_0x4ef2 = param_1; + mItemInfo.field_0x4ef2 = direction; mItemInfo.mRemoConSetFlag = flag; } + u8 getRemoConStatusForce() { return mItemInfo.mBottleStatusForce; } + u8 getRemoConSetFlagForce() { return mItemInfo.mBottleSetFlagForce; } + void setRemoConStatusForce(u8 status, u8 direction, u8 flag) { + mItemInfo.mRemoConStatusForce = status; + mItemInfo.mRemoConDirectionForce = direction; + mItemInfo.mRemoConSetFlagForce = flag; + } u8 getDoStatus() { return mItemInfo.mDoStatus; } bool isDoSetFlag(u8 flag) { return (mItemInfo.mDoSetFlag & flag) ? true : false; } void setDoStatus(u8 status, u8 flag) { @@ -727,17 +741,17 @@ public: u8 getCStickStatus() { return mItemInfo.mCStickStatus; } u8 getCStickDirection() { return mItemInfo.mCStickDirection; } bool isCStickSetFlag(u8 flag) { return (mItemInfo.mCStickSetFlag & flag) ? true : false; } - void setCStickStatus(u8 status, u8 param_1, u8 flag) { + void setCStickStatus(u8 status, u8 direction, u8 flag) { mItemInfo.mCStickStatus = status; - mItemInfo.mCStickDirection = param_1; + mItemInfo.mCStickDirection = direction; mItemInfo.mCStickSetFlag = flag; } u8 getCStickStatusForce() { return mItemInfo.mCStickStatusForce; } u8 getCStickDirectionForce() { return mItemInfo.mCStickDirectionForce; } u8 getCStickSetFlagForce() { return mItemInfo.mCStickSetFlagForce; } - void setCStickStatusForce(u8 status, u8 param_1, u8 flag) { + void setCStickStatusForce(u8 status, u8 direction, u8 flag) { mItemInfo.mCStickStatusForce = status; - mItemInfo.mCStickDirectionForce = param_1; + mItemInfo.mCStickDirectionForce = direction; mItemInfo.mCStickSetFlagForce = flag; } u8 getSButtonStatus() { return mItemInfo.mSButtonStatus; } @@ -794,12 +808,29 @@ public: mItemInfo.mNunZStatus = status; mItemInfo.mNunZSetFlag = flag; } + u8 getNunZStatusForce() { return mItemInfo.mBottleStatusForce; } + u8 getNunZSetFlagForce() { return mItemInfo.mBottleSetFlagForce; } + void setNunZStatusForce(u8 status, u8 flag) { + mItemInfo.mNunZStatusForce = status; + mItemInfo.mNunZSetFlagForce = flag; + } u8 getNunCStatus() { return mItemInfo.mNunCStatus; } bool isNunCSetFlag(u8 flag) { return (mItemInfo.mNunCSetFlag & flag) ? true : false; } void setNunCStatus(u8 status, u8 flag) { mItemInfo.mNunCStatus = status; mItemInfo.mNunCSetFlag = flag; } + u8 getNunCStatusForce() { return mItemInfo.mBottleStatusForce; } + u8 getNunCSetFlagForce() { return mItemInfo.mBottleSetFlagForce; } + void setNunCStatusForce(u8 status, u8 flag) { + mItemInfo.mNunCStatusForce = status; + mItemInfo.mNunCSetFlagForce = flag; + } + u8 getTouchStatusForce() { return mItemInfo.mTouchStatusForce; } + u8 getTouchSetFlagForce() { return mItemInfo.mBottleSetFlagForce; } + void setTouchStatusForce(u8 status) { + mItemInfo.mTouchStatusForce = status; + } u8 getSelectItem(int idx) { return mItemInfo.mSelectItem[idx]; } void setSelectItem(int idx, u8 i_itemNo) { mItemInfo.mSelectItem[idx] = i_itemNo; } void setSelectEquip(int idx, u8 item_id) { mItemInfo.mSelectEquip[idx] = item_id; } @@ -835,7 +866,7 @@ public: void onPauseFlag() { mItemInfo.mPauseFlag = true; } u8 getOxygenShowFlag() { return mItemInfo.mOxygenShowFlag; } void setOxygenShowFlag(u8 flag) { mItemInfo.mOxygenShowFlag = flag; } - u8 show2dCheck() { return mItemInfo.mShow2D; } + bool show2dCheck() { return mItemInfo.mShow2D; } void show2dOn() { mItemInfo.mShow2D = 1; } void show2dOff() { mItemInfo.mShow2D = 0; } JKRExpHeap* getExpHeap2D() { return mItemInfo.mExpHeap2D; } @@ -3727,8 +3758,20 @@ inline bool dComIfGp_isNunSetFlag(u8 flag) { return g_dComIfG_gameInfo.play.isNunSetFlag(flag); } -inline void dComIfGp_setNunStatus(u8 status, u8 param_1, u8 flag) { - g_dComIfG_gameInfo.play.setNunStatus(status, param_1, flag); +inline void dComIfGp_setNunStatus(u8 status, u8 direction, u8 flag) { + g_dComIfG_gameInfo.play.setNunStatus(status, direction, flag); +} + +inline void dComIfGp_getNunStatusForce() { + g_dComIfG_gameInfo.play.getNunStatusForce(); +} + +inline void dComIfGp_getNunSetFlagForce() { + g_dComIfG_gameInfo.play.getNunSetFlagForce(); +} + +inline void dComIfGp_setNunStatusForce(u8 status, u8 direction, u8 flag) { + g_dComIfG_gameInfo.play.setNunStatusForce(status, direction, flag); } inline u8 dComIfGp_getBottleStatus() { @@ -3739,8 +3782,8 @@ inline bool dComIfGp_isBottleSetFlag(u8 flag) { return g_dComIfG_gameInfo.play.isBottleSetFlag(flag); } -inline void dComIfGp_setBottleStatus(u8 param_0, u8 param_1) { - g_dComIfG_gameInfo.play.setBottleStatus(param_0, param_1); +inline void dComIfGp_setBottleStatus(u8 status, u8 flag) { + g_dComIfG_gameInfo.play.setBottleStatus(status, flag); } inline u8 dComIfGp_getBottleStatusForce() { @@ -3751,8 +3794,8 @@ inline u8 dComIfGp_getBottleSetFlagForce() { return g_dComIfG_gameInfo.play.getBottleSetFlagForce(); } -inline void dComIfGp_setBottleStatusForce(u8 param_0, u8 param_1) { - g_dComIfG_gameInfo.play.setBottleStatusForce(param_0, param_1); +inline void dComIfGp_setBottleStatusForce(u8 status, u8 flag) { + g_dComIfG_gameInfo.play.setBottleStatusForce(status, flag); } inline u8 dComIfGp_getRemoConStatus() { @@ -3763,8 +3806,20 @@ inline bool dComIfGp_isRemoConSetFlag(u8 flag) { return g_dComIfG_gameInfo.play.isRemoConSetFlag(flag); } -inline void dComIfGp_setRemoConStatus(u8 status, u8 param_1, u8 flag) { - g_dComIfG_gameInfo.play.setRemoConStatus(status, param_1, flag); +inline void dComIfGp_setRemoConStatus(u8 status, u8 direction, u8 flag) { + g_dComIfG_gameInfo.play.setRemoConStatus(status, direction, flag); +} + +inline u8 dComIfGp_getRemoConStatusForce() { + return g_dComIfG_gameInfo.play.getRemoConStatusForce(); +} + +inline u8 dComIfGp_getRemoConSetFlagForce() { + return g_dComIfG_gameInfo.play.getRemoConSetFlagForce(); +} + +inline void dComIfGp_setRemoConStatusForce(u8 status, u8 direction, u8 flag) { + g_dComIfG_gameInfo.play.setRemoConStatusForce(status, direction, flag); } inline u8 dComIfGp_getDoStatus() { @@ -3835,8 +3890,8 @@ inline bool dComIfGp_isCStickSetFlag(u8 flag) { return g_dComIfG_gameInfo.play.isCStickSetFlag(flag); } -inline void dComIfGp_setCStickStatus(u8 status, u8 param_1, u8 flag) { - g_dComIfG_gameInfo.play.setCStickStatus(status, param_1, flag); +inline void dComIfGp_setCStickStatus(u8 status, u8 direction, u8 flag) { + g_dComIfG_gameInfo.play.setCStickStatus(status, direction, flag); } inline u8 dComIfGp_getCStickStatusForce() { @@ -3851,8 +3906,8 @@ inline u8 dComIfGp_getCStickSetFlagForce() { return g_dComIfG_gameInfo.play.getCStickSetFlagForce(); } -inline void dComIfGp_setCStickStatusForce(u8 status, u8 param_1, u8 flag) { - g_dComIfG_gameInfo.play.setCStickStatusForce(status, param_1, flag); +inline void dComIfGp_setCStickStatusForce(u8 status, u8 direction, u8 flag) { + g_dComIfG_gameInfo.play.setCStickStatusForce(status, direction, flag); } inline u8 dComIfGp_getSButtonStatus() { @@ -3963,6 +4018,18 @@ inline void dComIfGp_setNunZStatus(u8 param_0, u8 param_1) { g_dComIfG_gameInfo.play.setNunZStatus(param_0, param_1); } +inline u8 dComIfGp_getNunZStatusForce() { + return g_dComIfG_gameInfo.play.getNunZStatusForce(); +} + +inline u8 dComIfGp_getNunZSetFlagForce() { + return g_dComIfG_gameInfo.play.getNunZSetFlagForce(); +} + +inline void dComIfGp_setNunZStatusForce(u8 status, u8 flag) { + g_dComIfG_gameInfo.play.setNunZStatusForce(status, flag); +} + inline u8 dComIfGp_getNunCStatus() { return g_dComIfG_gameInfo.play.getNunCStatus(); } @@ -3971,8 +4038,32 @@ inline bool dComIfGp_isNunCSetFlag(u8 flag) { return g_dComIfG_gameInfo.play.isNunCSetFlag(flag); } -inline void dComIfGp_setNunCStatus(u8 param_0, u8 param_1) { - g_dComIfG_gameInfo.play.setNunCStatus(param_0, param_1); +inline void dComIfGp_setNunCStatus(u8 status, u8 flag) { + g_dComIfG_gameInfo.play.setNunCStatus(status, flag); +} + +inline u8 dComIfGp_getNunCStatusForce() { + return g_dComIfG_gameInfo.play.getNunCStatusForce(); +} + +inline u8 dComIfGp_getNunCSetFlagForce() { + return g_dComIfG_gameInfo.play.getNunCSetFlagForce(); +} + +inline void dComIfGp_setNunCStatusForce(u8 status, u8 flag) { + g_dComIfG_gameInfo.play.setNunCStatusForce(status, flag); +} + +inline u8 dComIfGp_getTouchStatusForce() { + return g_dComIfG_gameInfo.play.getTouchStatusForce(); +} + +inline u8 dComIfGp_getTouchSetFlagForce() { + return g_dComIfG_gameInfo.play.getTouchSetFlagForce(); +} + +inline void dComIfGp_setTouchStatusForce(u8 status) { + g_dComIfG_gameInfo.play.setTouchStatusForce(status); } inline void dComIfGp_setSelectEquipClothes(u8 i_clothNo) { @@ -4099,7 +4190,7 @@ inline void dComIfGp_onOxygenShowFlag() { g_dComIfG_gameInfo.play.setOxygenShowFlag(1); } -inline u8 dComIfGp_2dShowCheck() { +inline bool dComIfGp_2dShowCheck() { return g_dComIfG_gameInfo.play.show2dCheck(); } @@ -4254,7 +4345,7 @@ inline void dComIfGp_setNowVibration(u8 status) { g_dComIfG_gameInfo.play.setNowVibration(status); } -inline u32 dComIfGp_getNowVibration() { +inline u8 dComIfGp_getNowVibration() { return g_dComIfG_gameInfo.play.getNowVibration(); } diff --git a/include/d/d_cursor_mng.h b/include/d/d_cursor_mng.h index d8a84eb381..3d5a18d5b2 100644 --- a/include/d/d_cursor_mng.h +++ b/include/d/d_cursor_mng.h @@ -5,13 +5,13 @@ #include "m_Do/m_Do_graphic.h" #include "m_Re/m_Re_controller_pad.h" -// TODO: putting this here until a more appropriate place is found -extern u8 data_8053a730; - class dCsr_mng_c { +public: struct csr_c; - struct node_c : mDoGph_gInf_c::csr_c { + struct node_c { + virtual ~node_c() {} + BOOL set(u8 i_priority, u8, u16 i_mask); /* 0x04 */ u8 m_priority; @@ -19,12 +19,6 @@ class dCsr_mng_c { /* 0x06 */ u16 m_mask; /* 0x08 */ node_c* m_prev; /* 0x0C */ node_c* m_next; - /* 0x10 */ int m_actor_id; - /* 0x14 */ csr_c* m_csr; - /* 0x18 */ node_c* m_pointed_obj; - }; - - struct obj_c : node_c { }; struct list_c { @@ -40,7 +34,10 @@ class dCsr_mng_c { /* 0x04 */ node_c* m_root; }; - struct bloObj_c { + struct obj_c : node_c { + }; + + struct bloObj_c : obj_c { struct paneObj_c { paneObj_c(void) { m_handle = NULL; @@ -59,13 +56,16 @@ class dCsr_mng_c { }; bloObj_c() { - m_panes = new paneObj_c[1]; m_screen = 0; + m_panes = NULL; + m_pane_num = 0; + m_is_calc = FALSE; + m_pane_handle = NULL; } virtual ~bloObj_c(void); virtual u32 signature(void) const { - return 0x626c6f20; + return 'blo '; } virtual BOOL isInside(s16 i_x, s16 i_y); BOOL create(J2DScreen* i_screen, u16 i_mask, u8 i_priority, u8); @@ -73,7 +73,6 @@ class dCsr_mng_c { void calcPaneObjNum(J2DPane* i_pane); void createPaneObj(paneObj_c** i_panes, J2DPane* i_pane); - /* 0x04 */ u8 field_0x04[0x10 - 0x4]; /* 0x10 */ J2DScreen* m_screen; /* 0x14 */ paneObj_c* m_panes; /* 0x18 */ u16 m_pane_num; @@ -81,18 +80,35 @@ class dCsr_mng_c { /* 0x1C */ J2DPane* m_pane_handle; }; - struct ccObj_c : node_c { + struct ccObj_c : obj_c { virtual ~ccObj_c(void); virtual int signature(void) const { return 'cc '; } virtual BOOL isInside(s16, s16); void set(u16, u8, u8); + + /* 0x10 */ int m_actor_id; + /* 0x14 */ csr_c* m_csr; + /* 0x18 */ node_c* m_pointed_obj; }; struct csr_c : node_c { + csr_c() { + field_0x10 = 0xFF; + field_0x11 = 0; + field_0x12 = 0; + m_csr = NULL; + m_pointed_obj = NULL; + } virtual ~csr_c(void); BOOL set(mDoGph_gInf_c::csr_c* i_csr, u16, u8, u8); + + /* 0x10 */ u8 field_0x10; + /* 0x11 */ u8 field_0x11; + /* 0x12 */ u16 field_0x12; + /* 0x14 */ mDoGph_gInf_c::csr_c* m_csr; + /* 0x18 */ node_c* m_pointed_obj; }; private: diff --git a/include/d/d_item.h b/include/d/d_item.h index 0d379c0578..7b09ea9ddd 100644 --- a/include/d/d_item.h +++ b/include/d/d_item.h @@ -3,6 +3,20 @@ #include <types.h> +#if PLATFORM_WII +#define SELECT_ITEMS_COUNT 4 +#define SELECT_ITEMS_MAX 4 +#elif PLATFORM_SHIELD +// Shield has some weird code where the Wii item limit of 4 is used e.g. as a loop bound +// despite that version only allowing 2 bound items. We use a separate macro to differentiate +// these usages as being disconnected from the actual item slot count. +#define SELECT_ITEMS_COUNT 2 +#define SELECT_ITEMS_MAX 4 +#else +#define SELECT_ITEMS_COUNT 2 +#define SELECT_ITEMS_MAX 2 +#endif + class dEnemyItem_c { public: static void setItemData(u8* data) { mData = data; } diff --git a/include/d/d_rvl_fb_copy.h b/include/d/d_rvl_fb_copy.h new file mode 100644 index 0000000000..2b14f4dfb3 --- /dev/null +++ b/include/d/d_rvl_fb_copy.h @@ -0,0 +1,6 @@ +#ifndef D_SCREEN_COPY +#define D_SCREEN_COPY + +extern bool g_rvlEnableExtraFramebufferCopy; + +#endif /* D_SCREEN_COPY */ diff --git a/include/d/d_save.h b/include/d/d_save.h index 3bcb4766a0..d90709e6df 100644 --- a/include/d/d_save.h +++ b/include/d/d_save.h @@ -500,7 +500,7 @@ private: class dSv_player_config_c { public: void init(); - u32 checkVibration() const; + u8 checkVibration() const; u8 getSound(); void setSound(u8 i_mode); u8 getVibration(); @@ -639,7 +639,7 @@ public: void onDungeonItemBossKey() { onDungeonItem(BOSS_KEY); } void offDungeonItemBossKey() { offDungeonItem(BOSS_KEY); } s32 isDungeonItemBossKey() const { return isDungeonItem(BOSS_KEY); } - void onStageBossEnemy() { + void onStageBossEnemy() { onDungeonItem(STAGE_BOSS_ENEMY); onDungeonItem(OOCCOO_NOTE); } |
