summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/JSystem/JHostIO/JORFile.h2
-rw-r--r--include/JSystem/JHostIO/JORMContext.h58
-rw-r--r--include/JSystem/JHostIO/JORReflexible.h2
-rw-r--r--include/d/actor/d_a_obj_Turara.h2
-rw-r--r--include/d/actor/d_a_obj_Y_taihou.h2
-rw-r--r--include/d/actor/d_a_obj_amiShutter.h2
-rw-r--r--include/d/actor/d_a_obj_kwheel00.h2
-rw-r--r--include/d/actor/d_a_obj_kwheel01.h2
-rw-r--r--include/d/actor/d_a_obj_lv3Water.h2
-rw-r--r--include/d/actor/d_a_obj_lv3Water2.h2
-rw-r--r--include/d/actor/d_a_obj_lv4CandleDemoTag.h2
-rw-r--r--include/d/actor/d_a_obj_swhang.h2
-rw-r--r--include/d/actor/d_a_obj_syRock.h2
-rw-r--r--include/d/actor/d_a_obj_volcball.h2
-rw-r--r--include/d/actor/d_a_obj_waterPillar.h2
-rw-r--r--include/d/d_com_inf_game.h20
-rw-r--r--include/d/d_event.h34
-rw-r--r--include/d/d_event_data.h1
-rw-r--r--include/d/d_event_debug.h173
-rw-r--r--include/d/d_event_lib.h26
-rw-r--r--include/d/d_event_manager.h4
21 files changed, 272 insertions, 72 deletions
diff --git a/include/JSystem/JHostIO/JORFile.h b/include/JSystem/JHostIO/JORFile.h
index 5d06259a48..d5119a60a7 100644
--- a/include/JSystem/JHostIO/JORFile.h
+++ b/include/JSystem/JHostIO/JORFile.h
@@ -88,7 +88,7 @@ public:
/* 0x16 */ u16 mFlags;
/* 0x18 */ int field_0x18;
/* 0x1C */ JSUMemoryOutputStream mDataStream;
- /* 0x30 */ char mFilename[8];
+ /* 0x30 */ char mFilename[256];
};
#endif /* JORFILE_H */
diff --git a/include/JSystem/JHostIO/JORMContext.h b/include/JSystem/JHostIO/JORMContext.h
index 68f4135c59..9c117a5f02 100644
--- a/include/JSystem/JHostIO/JORMContext.h
+++ b/include/JSystem/JHostIO/JORMContext.h
@@ -54,6 +54,30 @@
width, height); \
}
+#define DEFINE_START_COMBO_BOX(T, kind) \
+ void startComboBox(const char* label, T* pSrc, u32 style, \
+ JOREventListener* pListener, u16 posX, u16 posY, u16 width, u16 height) { \
+ startSelectorSub('CMBX', kind, label, (u32)pSrc, style, *pSrc, pListener, posX, \
+ posY, width, height); \
+ }
+
+#define DEFINE_START_COMBO_BOX_ID(T, kind) \
+ void startComboBoxID(const char* label, u32 id, T data, u32 style, \
+ JOREventListener* pListener, u16 posX, u16 posY, u16 width, u16 height) { \
+ startSelectorSub('CMBX', kind, label, id, style, data, pListener, posX, \
+ posY, width, height); \
+ }
+
+#define DEFINE_UPDATE_SLIDER(T) \
+ void updateSlider(u32 mode, T* pSrc, T rangeMin, T rangeMax, u32 param_5) { \
+ updateSliderSub(mode, (u32) pSrc, *pSrc, rangeMin, rangeMax, param_5); \
+ }
+
+#define DEFINE_UPDATE_SLIDER_ID(T) \
+ void updateSliderID(u32 mode, u32 id, T value, T rangeMin, T rangeMax, u32 param_5) { \
+ updateSliderSub(mode, id, value, rangeMin, rangeMax, param_5); \
+ }
+
namespace jhostio {
enum EKind {
EKind_8B = 0x08,
@@ -127,6 +151,10 @@ public:
genNodeSub(label, obj, param_2, param_3);
}
+ void startUpdateNode(JORReflexible* obj) {
+ putNode(obj);
+ }
+
void genNodeSub(const char* label, JORReflexible* i_node, u32, u32);
void putNode(JORReflexible* obj);
void invalidNode(JORReflexible* i_node, u32);
@@ -180,6 +208,27 @@ public:
DEFINE_GEN_SLIDER_ID(f64, JORPropertyEvent::EKind_ValueID | JORPropertyEvent::EKind_FloatValue)
DEFINE_GEN_SLIDER_ID(int, JORPropertyEvent::EKind_ValueID)
+ DEFINE_UPDATE_SLIDER(u8)
+ DEFINE_UPDATE_SLIDER(s16)
+ DEFINE_UPDATE_SLIDER(f32)
+ DEFINE_UPDATE_SLIDER(s32)
+
+ DEFINE_UPDATE_SLIDER_ID(f64)
+ DEFINE_UPDATE_SLIDER_ID(int)
+
+ /**
+ * === COMBO BOX ===
+ */
+ DEFINE_START_COMBO_BOX(u8, 0x100 | jhostio::EKind_8B)
+ DEFINE_START_COMBO_BOX(s16, jhostio::EKind_16B)
+ DEFINE_START_COMBO_BOX(s32, jhostio::EKind_32B)
+
+ DEFINE_START_COMBO_BOX_ID(int, JORPropertyEvent::EKind_ValueID)
+
+ void endComboBox() {
+ endSelectorSub();
+ }
+
void genComboBoxItem(const char* label, s32 itemNo) {
genSelectorItemSub(label, itemNo, 0, 0, 0, 0, 0);
}
@@ -196,6 +245,15 @@ public:
void updateCheckBoxSub(u32 mode, u32 id, u16 value, u16 mask, u32 param_4);
void updateSelectorSub(u32 mode, u32 id, s32 value, u32 param_3);
void updateEditBoxID(u32 mode, u32 id, const char* string, u32 param_3, u16 length);
+
+ void updateCheckBox(u32 mode, u8* pSrc, u8 mask, u32 param_4) {
+ updateCheckBoxSub(mode, (u32) pSrc, *pSrc, mask, param_4);
+ }
+
+ void updateCheckBoxID(u32 mode, u32 id, u8 value, u8 mask, u32 param_4) {
+ updateCheckBoxSub(mode, id, value, mask, param_4);
+ }
+
void editComboBoxItem(u32 param_0, u32 param_1, const char* param_2, s32 param_3, u32 param_4);
void openMessageBox(void* param_0, u32 style, const char* message, const char* title);
diff --git a/include/JSystem/JHostIO/JORReflexible.h b/include/JSystem/JHostIO/JORReflexible.h
index 0e82126cc7..04c8f54a37 100644
--- a/include/JSystem/JHostIO/JORReflexible.h
+++ b/include/JSystem/JHostIO/JORReflexible.h
@@ -17,7 +17,7 @@ struct JORPropertyEvent : JOREvent {
/* 0x00 */ u8 field_0x0[0x4 - 0x0];
/* 0x04 */ u32 type;
/* 0x08 */ u32 kind;
- /* 0x0C */ char* field_0xc;
+ /* 0x0C */ char* id; // id?
/* 0x10 */ JORReflexible* field_0x10; // ?
/* 0x14 */ u32 field_0x14;
union {
diff --git a/include/d/actor/d_a_obj_Turara.h b/include/d/actor/d_a_obj_Turara.h
index 63649da81f..0e203a0631 100644
--- a/include/d/actor/d_a_obj_Turara.h
+++ b/include/d/actor/d_a_obj_Turara.h
@@ -31,7 +31,7 @@ public:
/* 80B9D548 */ void move();
/* 80B9D72C */ void init_modeWait();
/* 80B9D738 */ void modeWait();
- /* 80B9D998 */ BOOL eventStart();
+ /* 80B9D998 */ bool eventStart();
/* 80B9D9BC */ void init_modeDropInit();
/* 80B9DA00 */ void modeDropInit();
/* 80B9DA44 */ void init_modeDrop();
diff --git a/include/d/actor/d_a_obj_Y_taihou.h b/include/d/actor/d_a_obj_Y_taihou.h
index df4ce5ec94..1ce439d254 100644
--- a/include/d/actor/d_a_obj_Y_taihou.h
+++ b/include/d/actor/d_a_obj_Y_taihou.h
@@ -25,7 +25,7 @@ public:
/* 80BA0084 */ void setMtx();
/* 80BA0208 */ void rotateCheck();
/* 80BA045C */ void shotCheck();
- /* 80BA0964 */ virtual BOOL eventStart();
+ /* 80BA0964 */ virtual bool eventStart();
/* 80BA0974 */ int CreateHeap();
/* 80BA09E4 */ int Create();
/* 80BA0A94 */ int Execute(Mtx** i_mtx);
diff --git a/include/d/actor/d_a_obj_amiShutter.h b/include/d/actor/d_a_obj_amiShutter.h
index c19f61e1c8..306e348ecd 100644
--- a/include/d/actor/d_a_obj_amiShutter.h
+++ b/include/d/actor/d_a_obj_amiShutter.h
@@ -44,7 +44,7 @@ public:
/* 80BA1B58 */ void modeWait();
/* 80BA1BCC */ void init_modeWaitEvent();
/* 80BA1BD8 */ void modeWaitEvent();
- /* 80BA1C90 */ BOOL eventStart();
+ /* 80BA1C90 */ bool eventStart();
/* 80BA1CB4 */ void init_modeClose();
/* 80BA1D48 */ void modeClose();
/* 80BA1DCC */ void init_modeCloseEvent();
diff --git a/include/d/actor/d_a_obj_kwheel00.h b/include/d/actor/d_a_obj_kwheel00.h
index d9a24d388a..02d749491f 100644
--- a/include/d/actor/d_a_obj_kwheel00.h
+++ b/include/d/actor/d_a_obj_kwheel00.h
@@ -29,7 +29,7 @@ public:
/* 80C4DBBC */ int Execute(Mtx**);
/* 80C4E1B0 */ int Draw();
/* 80C4E254 */ int Delete();
- /* 80C4E298 */ BOOL eventStart();
+ /* 80C4E298 */ bool eventStart();
int getSwNo() {
return fopAcM_GetParamBit(this, 0, 8);
diff --git a/include/d/actor/d_a_obj_kwheel01.h b/include/d/actor/d_a_obj_kwheel01.h
index cc94891fd5..5a890cfdbc 100644
--- a/include/d/actor/d_a_obj_kwheel01.h
+++ b/include/d/actor/d_a_obj_kwheel01.h
@@ -25,7 +25,7 @@ public:
/* 80C4F048 */ int Execute(Mtx**);
/* 80C4F344 */ int Draw();
/* 80C4F3E8 */ int Delete();
- /* 80C4F498 */ BOOL eventStart();
+ /* 80C4F498 */ bool eventStart();
private:
/* 0x5B8 */ Mtx mNewBgMtx;
diff --git a/include/d/actor/d_a_obj_lv3Water.h b/include/d/actor/d_a_obj_lv3Water.h
index 34d9134913..f9ef9bb6c6 100644
--- a/include/d/actor/d_a_obj_lv3Water.h
+++ b/include/d/actor/d_a_obj_lv3Water.h
@@ -38,7 +38,7 @@ public:
/* 80C59AA0 */ virtual int Delete();
/* 80C59D80 */ virtual ~daLv3Water_c();
- /* 80C59AE0 */ virtual BOOL eventStart();
+ /* 80C59AE0 */ virtual bool eventStart();
int getParam() { return fpcM_GetParam(this) >> 0xC & 0x0FFF; }
int getParamSw() { return fpcM_GetParam(this) & 0xFF; }
diff --git a/include/d/actor/d_a_obj_lv3Water2.h b/include/d/actor/d_a_obj_lv3Water2.h
index 595d87a686..8f9a3c4aa3 100644
--- a/include/d/actor/d_a_obj_lv3Water2.h
+++ b/include/d/actor/d_a_obj_lv3Water2.h
@@ -31,7 +31,7 @@ public:
/* 80C5ACE4 */ void mode_proc_levelCtrl();
/* 80C5ADA4 */ int Draw();
/* 80C5AEFC */ int Delete();
- /* 80C5AF3C */ BOOL eventStart();
+ /* 80C5AF3C */ bool eventStart();
private:
/* 0x5B8 */ request_of_phase_process_class mPhase;
diff --git a/include/d/actor/d_a_obj_lv4CandleDemoTag.h b/include/d/actor/d_a_obj_lv4CandleDemoTag.h
index ef7a0b1fe7..de15710694 100644
--- a/include/d/actor/d_a_obj_lv4CandleDemoTag.h
+++ b/include/d/actor/d_a_obj_lv4CandleDemoTag.h
@@ -40,7 +40,7 @@ public:
int getEventID() { return fopAcM_GetParamBit(this, 0x18, 8); }
/* 80C5D184 */ virtual ~dalv4CandleDemoTag_c();
- /* 80C5CF78 */ virtual BOOL eventStart();
+ /* 80C5CF78 */ virtual bool eventStart();
private:
/* 0x584 */ u8 mMode;
diff --git a/include/d/actor/d_a_obj_swhang.h b/include/d/actor/d_a_obj_swhang.h
index eef0e09676..513d898ad4 100644
--- a/include/d/actor/d_a_obj_swhang.h
+++ b/include/d/actor/d_a_obj_swhang.h
@@ -50,7 +50,7 @@ public:
/* 80CFC6AC */ void modeOffWait();
/* 80CFCA34 */ void init_modeOnWait();
/* 80CFCA40 */ void modeOnWait();
- /* 80CFCCE0 */ BOOL eventStart();
+ /* 80CFCCE0 */ bool eventStart();
/* 80CFD034 */ virtual ~daObjSwHang_c() {}
daObjSwHang_c() : dEvLib_callback_c(this) {}
diff --git a/include/d/actor/d_a_obj_syRock.h b/include/d/actor/d_a_obj_syRock.h
index d22e8dff2c..6cde36309f 100644
--- a/include/d/actor/d_a_obj_syRock.h
+++ b/include/d/actor/d_a_obj_syRock.h
@@ -29,7 +29,7 @@ public:
/* 80D02C54 */ void move();
/* 80D02E70 */ void init_modeWait();
/* 80D02E7C */ void modeWait();
- /* 80D02F88 */ BOOL eventStart();
+ /* 80D02F88 */ bool eventStart();
/* 80D02FB8 */ void init_modeDropInit();
/* 80D03070 */ void modeDropInit();
/* 80D030A8 */ static void* searchWaterPillar(void*, void*);
diff --git a/include/d/actor/d_a_obj_volcball.h b/include/d/actor/d_a_obj_volcball.h
index a69a557f87..d0ea3d5d0d 100644
--- a/include/d/actor/d_a_obj_volcball.h
+++ b/include/d/actor/d_a_obj_volcball.h
@@ -107,7 +107,7 @@ public:
/* 80D23904 */ int draw();
/* 80D23A0C */ int _delete();
- /* 80D22DDC */ virtual BOOL eventStart();
+ /* 80D22DDC */ virtual bool eventStart();
/* 80D23B24 */ virtual ~daObjVolcBall_c() {}
u8 getSwBit() { return fopAcM_GetParamBit(this, 0, 8); }
diff --git a/include/d/actor/d_a_obj_waterPillar.h b/include/d/actor/d_a_obj_waterPillar.h
index 72fa1b9b5d..9b7f61adc4 100644
--- a/include/d/actor/d_a_obj_waterPillar.h
+++ b/include/d/actor/d_a_obj_waterPillar.h
@@ -34,7 +34,7 @@ public:
/* 80D2D278 */ void effectSet2();
/* 80D2D3FC */ void actionSwWaitInit();
/* 80D2D408 */ void actionSwWait();
- /* 80D2D488 */ virtual BOOL eventStart();
+ /* 80D2D488 */ virtual bool eventStart();
/* 80D2D4AC */ void actionWaitInit();
/* 80D2D588 */ void actionWait();
/* 80D2D5C0 */ void actionUpFirstInit();
diff --git a/include/d/d_com_inf_game.h b/include/d/d_com_inf_game.h
index 9e391caec2..4432c181e1 100644
--- a/include/d/d_com_inf_game.h
+++ b/include/d/d_com_inf_game.h
@@ -1171,12 +1171,10 @@ inline void dComIfGs_setBottleNum(u8 i_bottleIdx, u8 i_bottleNum) {
g_dComIfG_gameInfo.info.getPlayer().getItemRecord().setBottleNum(i_bottleIdx, i_bottleNum);
}
-inline void dComIfGs_onEventBit(u16 i_flag) {
+inline void dComIfGs_onEventBit(const u16 i_flag) {
g_dComIfG_gameInfo.info.getSavedata().getEvent().onEventBit(i_flag);
}
-// debug rom says `i_flag` is not const, but it's needed to match in some places?
-// missing some other inline maybe?
inline BOOL dComIfGs_isEventBit(const u16 i_flag) {
return g_dComIfG_gameInfo.info.getEvent().isEventBit(i_flag);
}
@@ -1310,7 +1308,7 @@ inline u16 dComIfGs_getLife() {
return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getLife();
}
-inline void dComIfGs_offEventBit(u16 i_flag) {
+inline void dComIfGs_offEventBit(const u16 i_flag) {
g_dComIfG_gameInfo.info.getSavedata().getEvent().offEventBit(i_flag);
}
@@ -1482,7 +1480,7 @@ inline s32 dComIfGs_isGetMagicUseFlag() {
return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().isMagicFlag(0);
}
-inline void dComIfGs_offTmpBit(u16 i_flag) {
+inline void dComIfGs_offTmpBit(const u16 i_flag) {
g_dComIfG_gameInfo.info.getTmp().offEventBit(i_flag);
}
@@ -1490,11 +1488,11 @@ inline BOOL dComIfGs_isDarkClearLV(int i_no) {
return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusB().isDarkClearLV(i_no);
}
-inline BOOL dComIfGs_isTmpBit(u16 i_flag) {
+inline BOOL dComIfGs_isTmpBit(const u16 i_flag) {
return g_dComIfG_gameInfo.info.getTmp().isEventBit(i_flag);
}
-inline void dComIfGs_onTmpBit(u16 i_flag) {
+inline void dComIfGs_onTmpBit(const u16 i_flag) {
g_dComIfG_gameInfo.info.getTmp().onEventBit(i_flag);
}
@@ -1828,19 +1826,19 @@ inline void dComIfGs_onLightDropGetFlag(u8 i_nowLevel) {
g_dComIfG_gameInfo.info.getPlayer().getLightDrop().onLightDropGetFlag(i_nowLevel);
}
-inline void dComIfGs_setTmpReg(u16 i_reg, u8 i_no) {
+inline void dComIfGs_setTmpReg(const u16 i_reg, u8 i_no) {
g_dComIfG_gameInfo.info.getTmp().setEventReg(i_reg, i_no);
}
-inline u8 dComIfGs_getTmpReg(u16 i_reg) {
+inline u8 dComIfGs_getTmpReg(const u16 i_reg) {
return g_dComIfG_gameInfo.info.getTmp().getEventReg(i_reg);
}
-inline u8 dComIfGs_getEventReg(u16 reg) {
+inline u8 dComIfGs_getEventReg(const u16 reg) {
return g_dComIfG_gameInfo.info.getEvent().getEventReg(reg);
}
-inline void dComIfGs_setEventReg(u16 reg, u8 value) {
+inline void dComIfGs_setEventReg(const u16 reg, u8 value) {
g_dComIfG_gameInfo.info.getEvent().setEventReg(reg, value);
}
diff --git a/include/d/d_event.h b/include/d/d_event.h
index aa679237b2..a5d2a83648 100644
--- a/include/d/d_event.h
+++ b/include/d/d_event.h
@@ -8,40 +8,6 @@ int dEv_noFinishSkipProc(void*, int);
struct dStage_MapEvent_dt_c;
class fopAc_ac_c;
-#ifdef DEBUG
-class dEvDb_bit_c {
-public:
- /* 0x00 */ char* mFlagName;
- /* 0x04 */ char* mFlagDescription;
- /* 0x08 */ char* mFlagAuthor;
- /* 0x0C */ u16 mFlagValue;
- /* 0x10 */ char* mArea; // Area in the game where flag is used
- /* 0x14 */ u8 field_0x14;
- /* 0x15 */ u8 field_0x15;
-};
-
-class dEvDb_reg_c {
-public:
- /* 0x00 */ char* mFlagName;
- /* 0x04 */ char* mFlagDescription;
- /* 0x08 */ char* mFlagAuthor;
- /* 0x0C */ u16 mFlagValue;
- /* 0x10 */ char* mArea; // Area in the game where flag is used
- /* 0x14 */ u8 field_0x14;
- /* 0x15 */ u8 field_0x15;
-};
-
-class dEvDb_flag_base_c {
-public:
- /* 0x00 */ dEvDb_bit_c* mBitTable;
- /* 0x04 */ dEvDb_reg_c* mRegTable;
- /* 0x08 */ int mBitNum;
- /* 0x0C */ int mRegNum;
- /* 0x10 */ int field_0x10;
- /* 0x14 */ int field_0x14;
-};
-#endif
-
class dEvt_order_c {
public:
~dEvt_order_c() {}
diff --git a/include/d/d_event_data.h b/include/d/d_event_data.h
index acf2561210..9263af07d2 100644
--- a/include/d/d_event_data.h
+++ b/include/d/d_event_data.h
@@ -205,6 +205,7 @@ public:
event_binary_data_header* getHeaderP() { return mHeaderP; }
dEvDtStaff_c* getStaffP(int i) { return &mStaffP[i]; }
dEvDtEvent_c* getEventP(int i) { return &mEventP[i]; }
+ dEvDtEvent_c* getEventP() { return mEventP; }
dEvDtData_c* getDataP(int i) { return &mDataP[i]; }
dEvDtCut_c* getCutP(int i) { return &mCutP[i]; }
char* getEventName(int i) { return mEventP[i].getName(); }
diff --git a/include/d/d_event_debug.h b/include/d/d_event_debug.h
new file mode 100644
index 0000000000..b6cf546ec6
--- /dev/null
+++ b/include/d/d_event_debug.h
@@ -0,0 +1,173 @@
+#ifndef D_EVENT_D_EVENT_DEBUG_H
+#define D_EVENT_D_EVENT_DEBUG_H
+
+#ifdef DEBUG
+#include "JSystem/JHostIO/JORMContext.h"
+#include "d/d_event.h"
+
+struct dEvDb_bit_c {
+ /* 0x00 */ char* mFlagName;
+ /* 0x04 */ char* mFlagDescription;
+ /* 0x08 */ char* mFlagAuthor;
+ /* 0x0C */ const u16 mFlagValue;
+ /* 0x10 */ char* mArea; // Area in the game where flag is used
+ /* 0x14 */ u8 mRootBit;
+ /* 0x15 */ u8 field_0x15;
+ /* 0x16 */ u8 mIsSet;
+};
+
+struct dEvDb_reg_c {
+ /* 0x00 */ char* mFlagName;
+ /* 0x04 */ char* mFlagDescription;
+ /* 0x08 */ char* mFlagAuthor;
+ /* 0x0C */ const u16 mFlagValue;
+ /* 0x10 */ char* mArea; // Area in the game where flag is used
+ /* 0x14 */ u8 mRootReg;
+ /* 0x15 */ u8 field_0x15;
+ /* 0x16 */ u8 mIsSet;
+};
+
+struct dEvDb_flag_base_c {
+ /* 0x00 */ dEvDb_bit_c* mBitTable;
+ /* 0x04 */ dEvDb_reg_c* mRegTable;
+ /* 0x08 */ int mTotalBitNum;
+ /* 0x0C */ int mTotalRegNum;
+ /* 0x10 */ int mNumRootBits;
+ /* 0x14 */ int mNumRootRegs;
+
+ char* searchDirNameBit(int);
+ char* searchDirNameReg(int);
+};
+
+struct dEvM_play_HIO_c : public JORReflexible {
+ dEvM_play_HIO_c();
+
+ /* 0x04 */ s16 mTargetEvent;
+ /* 0x06 */ s16 field_0x6;
+ /* 0x08 */ s16 mEventCameraMode;
+ /* 0x0A */ s16 field_0xA;
+
+ void genMessage(JORMContext*);
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void removeComboBox();
+ void addComboBox();
+
+ enum JOR_PROPERTY_EVENT_IDs_e {
+ LBL_EVENT_PLAYBACK_TESTING = (1 << 31) + 1,
+ BTN_PLAYBACK = (1 << 26) + 1,
+ BTN_STOP
+ };
+
+ enum CAMERA_MODES_e {
+ UNSET = 0,
+ PLAYBACK,
+ STOP
+ };
+};
+
+STATIC_ASSERT(sizeof(dEvM_play_HIO_c) == 0xC);
+
+struct dEvM_reg_HIO_c : public JORReflexible {
+ dEvM_reg_HIO_c();
+ ~dEvM_reg_HIO_c();
+
+ /* 0x04 */ dEvDb_flag_base_c* mFlagTables;
+ /* 0x08 */ u8 field_0x008;
+ /* 0x09 */ u8 mRootRegIdx;
+
+ void genMessage(JORMContext*);
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void update();
+
+ enum JOR_PROPERTY_EVENT_IDs_e {
+ LBL_EVENT_SAVE_REGISTER = (1 << 31) + 1,
+ BTN_UPDATE = (1 << 28)
+ };
+};
+
+STATIC_ASSERT(sizeof(dEvM_reg_HIO_c) == 0xC);
+
+struct dEvM_bit_HIO_c : public JORReflexible {
+ dEvM_bit_HIO_c();
+ ~dEvM_bit_HIO_c();
+
+ /* 0x04 */ dEvDb_flag_base_c* mFlagTables;
+ /* 0x08 */ u8 field_0x008;
+ /* 0x09 */ u8 mRootBitIdx;
+
+ void genMessage(JORMContext*);
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void update();
+
+ enum JOR_PROPERTY_EVENT_IDs_e {
+ LBL_EVENT_SAVE_BIT = (1 << 31) + 1,
+ BTN_UPDATE = (1 << 28)
+ };
+};
+
+STATIC_ASSERT(sizeof(dEvM_bit_HIO_c) == 0xC);
+
+struct dEvM_root_bit_HIO_c : public JORReflexible {
+ dEvM_root_bit_HIO_c() {}
+
+ dEvM_bit_HIO_c mBit[100];
+ dEvDb_flag_base_c* mFlagTables;
+
+ void genMessage(JORMContext*);
+};
+
+STATIC_ASSERT(sizeof(dEvM_root_bit_HIO_c) == 0x4B8);
+
+struct dEvM_root_reg_HIO_c : public JORReflexible {
+ dEvM_root_reg_HIO_c() {}
+
+ dEvM_reg_HIO_c mReg[100];
+ dEvDb_flag_base_c* mFlagTables;
+
+ void genMessage(JORMContext*);
+};
+
+STATIC_ASSERT(sizeof(dEvM_root_reg_HIO_c) == 0x4B8);
+
+struct dEvM_HIO_c : public JORReflexible {
+ dEvM_HIO_c();
+ ~dEvM_HIO_c();
+
+ /* 0x004 */ s8 field_0x004;
+ /* 0x005 */ u8 m_EVdata_output;
+ /* 0x006 */ u8 m_evm_debug;
+ /* 0x007 */ u8 m_evd_debug;
+ /* 0x008 */ u8 m_eve_debug;
+ /* 0x009 */ u8 m_evd_unfinished;
+ /* 0x00A */ u8 m_prioritize_file;
+ /* 0x00B */ u8 m_enable_skip;
+ /* 0x00C */ u8 field_0x00C;
+ /* 0x00D */ u8 m_prevent_scene_switch;
+ /* 0x010 */ f32 field_0x010;
+ /* 0x014 */ f32 field_0x014;
+ /* 0x018 */ f32 field_0x018;
+ /* 0x01C */ s32 m_corrective_sound_adjustment;
+ /* 0x020 */ dEvM_play_HIO_c m_playtest;
+ /* 0x02C */ dEvM_root_bit_HIO_c m_save_bit;
+ /* 0x4E4 */ dEvM_root_bit_HIO_c m_temp_bit;
+ /* 0x99C */ dEvM_root_reg_HIO_c m_save_reg;
+ /* 0xE54 */ dEvM_root_reg_HIO_c m_temp_reg;
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+ void genMessage(JORMContext*);
+
+ bool setDebugCameraData(void*);
+
+ enum JOR_PROPERTY_EVENT_IDs_e {
+ LBL_EVENT_MANAGER_TESTING = (1 << 31) + 1,
+ BTN_READ,
+ BTN_FORCED_TERMINATION = (1 << 31) + 4
+ };
+};
+
+#endif /* DEBUG */
+
+#endif /* D_EVENT_D_EVENT_DEBUG_H */
diff --git a/include/d/d_event_lib.h b/include/d/d_event_lib.h
index 4c43dad324..51f2b0501b 100644
--- a/include/d/d_event_lib.h
+++ b/include/d/d_event_lib.h
@@ -7,7 +7,7 @@ class fopAc_ac_c;
template <typename A0>
struct action_class {
- typedef BOOL (A0::*fptr)();
+ typedef bool (A0::*fptr)();
fptr init;
fptr execute;
@@ -28,21 +28,21 @@ public:
mAction = NULL;
}
- /* 8004886C */ BOOL eventUpdate();
- /* 800488A4 */ BOOL setEvent(int, int, int);
+ /* 8004886C */ bool eventUpdate();
+ /* 800488A4 */ bool setEvent(int, int, int);
/* 80048940 */ void orderEvent(int, int, int);
- /* 80048970 */ BOOL setAction(action_class<dEvLib_callback_c>*);
- /* 800489A8 */ BOOL initAction();
- /* 800489F8 */ BOOL executeAction();
- /* 80048A50 */ BOOL initStart();
- /* 80048A70 */ BOOL executeStart();
- /* 80048B1C */ BOOL initRun();
- /* 80048B48 */ BOOL executeRun();
+ /* 80048970 */ bool setAction(action_class<dEvLib_callback_c>*);
+ /* 800489A8 */ bool initAction();
+ /* 800489F8 */ bool executeAction();
+ /* 80048A50 */ bool initStart();
+ /* 80048A70 */ bool executeStart();
+ /* 80048B1C */ bool initRun();
+ /* 80048B48 */ bool executeRun();
virtual ~dEvLib_callback_c() {}
- virtual BOOL eventStart() { return TRUE; }
- virtual BOOL eventRun() { return TRUE; }
- virtual BOOL eventEnd() { return TRUE; }
+ virtual bool eventStart() { return true; }
+ virtual bool eventRun() { return true; }
+ virtual bool eventEnd() { return true; }
/* 0x4 */ fopAc_ac_c* mActor;
/* 0x8 */ action_class<dEvLib_callback_c>* mAction;
diff --git a/include/d/d_event_manager.h b/include/d/d_event_manager.h
index 88ac75b2a4..3ffc942189 100644
--- a/include/d/d_event_manager.h
+++ b/include/d/d_event_manager.h
@@ -28,6 +28,7 @@ public:
class dEvent_manager_c {
public:
void* getSubstance(dEvDtData_c* p_data, int type);
+ void setDbgData(const char*);
dEvent_manager_c();
~dEvent_manager_c() {}
int create();
@@ -81,6 +82,9 @@ public:
int flagCheck(int flag) { return mFlags.flagCheck(flag); }
int cameraPlay() { return mCameraPlay; }
+ event_binary_data_header* getHeader(u8 idx) {return mEventList[idx].getHeaderP(); }
+ dEvDtEvent_c* getEventList(u8 idx) { return mEventList[idx].getEventP(); }
+
inline static s16 getIndexCompositId(s16 param_0) { return param_0 != -1 ? (s16)(param_0 & 0xff) : (s16)-1; }
static int getTypeCompositId(s16 param_0) { return param_0 == -1 ? 0 : param_0 >> 8; }