mirror of https://github.com/zeldaret/tp.git
d_event_debug equivalent & modifications to dEvLib_callback_c (#2359)
* WIP d_event_debug * Implemented most functions close to matching * Removed erroneous comment in d_com_inf_game.h * Implemented getEventP in dEvDtBase_c * Retyped dEvLib_callback_c function returns from BOOL to bool * Implemented getHeader, getEventList, and setDbgData in dEvent_manager_c * Moved relevant dEvDb_* classes from d_event.h to d_event_debug.h and changed to structs * Extended JORFile mFilename character array from 8 to 256 characters * Implemented combo boxes and update slider functionalities in JORMContext * Named field_0xC of JORProperyEvent as id, based on use of field in d_event_debug.cpp * Corrected debug event tables and created missing table * Debug tables explicitly pasted in d_event_debug.cpp to circumvent ShiftJIS not properly encoding tables via #include directive * Change return types for implemented virtual functions of actors that inherit from dEvLib_callback_c * Add const modifier to several d_com_inf_game functions called in d_event_debug, and change respective fields in dEvDb_bit & reg_c to be const * d_event_debug Equivalent * Changed configure.py entry to equivalent instead of matching * Preliminary documentation * Remove debug tables from d_event.cpp
This commit is contained in:
parent
559d389e3d
commit
4ccca6b893
|
|
@ -518,6 +518,7 @@ config.libs = [
|
|||
Object(MatchingFor("GZ2E01"), "d/d_event_data.cpp"),
|
||||
Object(MatchingFor("GZ2E01"), "d/d_event_manager.cpp", extra_cflags=['-pragma "nosyminline on"']),
|
||||
Object(MatchingFor("GZ2E01"), "d/d_event_lib.cpp"),
|
||||
Object(Equivalent, "d/d_event_debug.cpp"), # RTTI & vtable padding
|
||||
Object(MatchingFor("GZ2E01"), "d/d_simple_model.cpp"),
|
||||
Object(NonMatching, "d/d_particle.cpp"),
|
||||
Object(MatchingFor("GZ2E01"), "d/d_particle_name.cpp"),
|
||||
|
|
|
|||
|
|
@ -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 */
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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; }
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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) {}
|
||||
|
|
|
|||
|
|
@ -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*);
|
||||
|
|
|
|||
|
|
@ -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); }
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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() {}
|
||||
|
|
|
|||
|
|
@ -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(); }
|
||||
|
|
|
|||
|
|
@ -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 */
|
||||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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; }
|
||||
|
||||
|
|
|
|||
|
|
@ -90,19 +90,19 @@ void JORReflexible::listenPropertyEvent(const JORPropertyEvent* pEvent) {
|
|||
case 'CMBX':
|
||||
if (pEvent->field_0x14 >= 4) {
|
||||
JORPropertyEvent* event = (JORPropertyEvent*)pEvent;
|
||||
JORServer::defSetVal(event->field_0xc, event->kind, event->field_0x18.U32);
|
||||
JORServer::defSetVal(event->id, event->kind, event->field_0x18.U32);
|
||||
}
|
||||
break;
|
||||
case 'CHBX':
|
||||
if (pEvent->field_0x14 >= 4) {
|
||||
JORPropertyEvent* event = (JORPropertyEvent*)pEvent;
|
||||
JORServer::defSetBitVal(event->field_0xc, event->kind, (u16)event->field_0x18.U16[0], (u16)event->field_0x18.U16[1]);
|
||||
JORServer::defSetBitVal(event->id, event->kind, (u16)event->field_0x18.U16[0], (u16)event->field_0x18.U16[1]);
|
||||
}
|
||||
break;
|
||||
case 'EDBX':
|
||||
JORPropertyEvent* event = (JORPropertyEvent*)pEvent;
|
||||
JSUMemoryInputStream stream(&event->field_0x18, event->field_0x14);
|
||||
stream >> event->field_0xc;
|
||||
stream >> event->id;
|
||||
break;
|
||||
}
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -266,9 +266,9 @@ void daTurara_c::modeWait() {
|
|||
}
|
||||
|
||||
/* 80B9D998-80B9D9BC 000EF8 0024+00 2/1 0/0 0/0 .text eventStart__10daTurara_cFv */
|
||||
BOOL daTurara_c::eventStart() {
|
||||
bool daTurara_c::eventStart() {
|
||||
init_modeDropInit();
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 80B9D9BC-80B9DA00 000F1C 0044+00 1/1 0/0 0/0 .text init_modeDropInit__10daTurara_cFv
|
||||
|
|
|
|||
|
|
@ -332,9 +332,9 @@ void daObjYtaihou_c::shotCheck() {
|
|||
}
|
||||
|
||||
/* 80BA0964-80BA0974 000F64 0010+00 2/1 0/0 0/0 .text eventStart__14daObjYtaihou_cFv */
|
||||
BOOL daObjYtaihou_c::eventStart() {
|
||||
bool daObjYtaihou_c::eventStart() {
|
||||
mStartBomb = 0x5a;
|
||||
return 1;
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 80BA0974-80BA09E4 000F74 0070+00 1/0 0/0 0/0 .text CreateHeap__14daObjYtaihou_cFv */
|
||||
|
|
|
|||
|
|
@ -193,9 +193,9 @@ void daAmiShutter_c::modeWaitEvent() {
|
|||
}
|
||||
|
||||
/* 80BA1C90-80BA1CB4 0008B0 0024+00 2/1 0/0 0/0 .text eventStart__14daAmiShutter_cFv */
|
||||
BOOL daAmiShutter_c::eventStart() {
|
||||
bool daAmiShutter_c::eventStart() {
|
||||
init_modeCloseEvent();
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
|
|
|
|||
|
|
@ -348,7 +348,7 @@ int daObjKWheel00_c::Delete() {
|
|||
}
|
||||
|
||||
/* 80C4E298-80C4E2C0 000C18 0028+00 2/1 0/0 0/0 .text eventStart__15daObjKWheel00_cFv */
|
||||
BOOL daObjKWheel00_c::eventStart() {
|
||||
bool daObjKWheel00_c::eventStart() {
|
||||
#if DEBUG
|
||||
if(getArg0())
|
||||
mZAngularVelocity = l_HIO.mZAngularAcceleration;
|
||||
|
|
@ -361,7 +361,7 @@ BOOL daObjKWheel00_c::eventStart() {
|
|||
mZAngularVelocity = -2;
|
||||
#endif
|
||||
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
|
|
|
|||
|
|
@ -325,7 +325,7 @@ int daObjKWheel01_c::Delete() {
|
|||
}
|
||||
|
||||
/* 80C4F498-80C4F4C0 000A98 0028+00 2/2 0/0 0/0 .text eventStart__15daObjKWheel01_cFv */
|
||||
BOOL daObjKWheel01_c::eventStart() {
|
||||
bool daObjKWheel01_c::eventStart() {
|
||||
#ifdef DEBUG
|
||||
if(getArg0())
|
||||
mYAngularVelocity = l_HIO.mYAngularAcceleration;
|
||||
|
|
@ -338,7 +338,7 @@ BOOL daObjKWheel01_c::eventStart() {
|
|||
mYAngularVelocity = -2;
|
||||
#endif
|
||||
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
|
|
|
|||
|
|
@ -385,7 +385,7 @@ int daLv3Water_c::Delete() {
|
|||
}
|
||||
|
||||
/* 80C59AE0-80C59BA8 001400 00C8+00 2/1 0/0 0/0 .text eventStart__12daLv3Water_cFv */
|
||||
BOOL daLv3Water_c::eventStart() {
|
||||
bool daLv3Water_c::eventStart() {
|
||||
field_0x601 = fpcM_GetParam(this) >> 0x18;
|
||||
mSwitch1 = mSwitch2;
|
||||
|
||||
|
|
@ -402,7 +402,7 @@ BOOL daLv3Water_c::eventStart() {
|
|||
mode_init_levelCtrl();
|
||||
}
|
||||
|
||||
return 1;
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 80C59BA8-80C59BD4 0014C8 002C+00 1/0 0/0 0/0 .text daLv3Water_Draw__FP12daLv3Water_c
|
||||
|
|
|
|||
|
|
@ -257,7 +257,7 @@ int daLv3Water2_c::Delete() {
|
|||
}
|
||||
|
||||
/* 80C5AF3C-80C5B0C0 000C1C 0184+00 2/1 0/0 0/0 .text eventStart__13daLv3Water2_cFv */
|
||||
BOOL daLv3Water2_c::eventStart() {
|
||||
bool daLv3Water2_c::eventStart() {
|
||||
if(mEastSwInitialStatus != mEastSwCurrentStatus) {
|
||||
mWaterLv = getParamLevel1() * 5.0f;
|
||||
mWaterLvFrame = static_cast<u8>(getParamFrame1());
|
||||
|
|
@ -279,7 +279,7 @@ BOOL daLv3Water2_c::eventStart() {
|
|||
|
||||
mode_init_levelCtrl();
|
||||
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 80C5B0C0-80C5B0EC 000DA0 002C+00 1/0 0/0 0/0 .text daLv3Water2_Draw__FP13daLv3Water2_c
|
||||
|
|
|
|||
|
|
@ -349,9 +349,9 @@ void dalv4CandleDemoTag_c::modeEnd() {
|
|||
}
|
||||
|
||||
/* 80C5CF78-80C5CF9C 000678 0024+00 2/1 0/0 0/0 .text eventStart__20dalv4CandleDemoTag_cFv */
|
||||
BOOL dalv4CandleDemoTag_c::eventStart() {
|
||||
bool dalv4CandleDemoTag_c::eventStart() {
|
||||
init_modeEnemyCreate();
|
||||
return 1;
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 80C5CF9C-80C5CFEC 00069C 0050+00 1/1 0/0 0/0 .text
|
||||
|
|
|
|||
|
|
@ -475,9 +475,9 @@ void daObjSwHang_c::modeOnWait() {
|
|||
}
|
||||
|
||||
/* 80CFCCE0-80CFCD04 001420 0024+00 2/1 0/0 0/0 .text eventStart__13daObjSwHang_cFv */
|
||||
BOOL daObjSwHang_c::eventStart() {
|
||||
bool daObjSwHang_c::eventStart() {
|
||||
changeOnStatus();
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 80CFCD04-80CFCD98 001444 0094+00 1/0 0/0 0/0 .text Draw__13daObjSwHang_cFv */
|
||||
|
|
|
|||
|
|
@ -250,12 +250,12 @@ void daSyRock_c::modeWait() {
|
|||
}
|
||||
|
||||
/* 80D02F88-80D02FB8 000DC8 0030+00 2/1 0/0 0/0 .text eventStart__10daSyRock_cFv */
|
||||
BOOL daSyRock_c::eventStart() {
|
||||
bool daSyRock_c::eventStart() {
|
||||
// field_0x779 is always 0 when eventStart() is called (see modeWait())
|
||||
if(!field_0x779)
|
||||
init_modeDropInit();
|
||||
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 80D02FB8-80D03070 000DF8 00B8+00 1/1 0/0 0/0 .text init_modeDropInit__10daSyRock_cFv
|
||||
|
|
|
|||
|
|
@ -390,13 +390,13 @@ void daObjVolcBall_c::actionEnd() {
|
|||
}
|
||||
|
||||
/* 80D22DDC-80D22E24 00133C 0048+00 2/1 0/0 0/0 .text eventStart__15daObjVolcBall_cFv */
|
||||
BOOL daObjVolcBall_c::eventStart() {
|
||||
bool daObjVolcBall_c::eventStart() {
|
||||
daObjVolcBom_c* bom_p = (daObjVolcBom_c*)fopAcM_SearchByID(mBigVolcActorID);
|
||||
if (bom_p != NULL) {
|
||||
bom_p->startFall();
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 80D22E24-80D22ED4 001384 00B0+00 1/1 0/0 0/0 .text setEruptEffect__15daObjVolcBall_cFi
|
||||
|
|
|
|||
|
|
@ -341,7 +341,7 @@ void daWtPillar_c::actionSwWait() {
|
|||
}
|
||||
|
||||
/* 80D2D488-80D2D4AC 000EA8 0024+00 2/1 0/0 0/0 .text eventStart__12daWtPillar_cFv */
|
||||
BOOL daWtPillar_c::eventStart() {
|
||||
bool daWtPillar_c::eventStart() {
|
||||
actionUpFirstInit();
|
||||
return TRUE;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,8 +27,8 @@ public:
|
|||
/* 805A3038 */ int _delete();
|
||||
|
||||
/* 805A3118 */ ~daTagAtkItem_c();
|
||||
/* 805A2D10 */ BOOL eventStart();
|
||||
/* 805A2D34 */ BOOL eventEnd();
|
||||
/* 805A2D10 */ bool eventStart();
|
||||
/* 805A2D34 */ bool eventEnd();
|
||||
|
||||
u8 getEvId() { return fopAcM_GetParamBit(this, 0x18, 8); }
|
||||
u8 getNum() { return fopAcM_GetParamBit(this, 8, 8); }
|
||||
|
|
@ -268,15 +268,15 @@ void daTagAtkItem_c::action() {
|
|||
|
||||
|
||||
/* 805A2D10-805A2D34 000430 0024+00 2/1 0/0 0/0 .text eventStart__14daTagAtkItem_cFv */
|
||||
BOOL daTagAtkItem_c::eventStart() {
|
||||
bool daTagAtkItem_c::eventStart() {
|
||||
createItem();
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 805A2D34-805A2D58 000454 0024+00 2/1 0/0 0/0 .text eventEnd__14daTagAtkItem_cFv */
|
||||
BOOL daTagAtkItem_c::eventEnd() {
|
||||
bool daTagAtkItem_c::eventEnd() {
|
||||
fopAcM_delete(this);
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 805A2D58-805A2F54 000478 01FC+00 1/1 0/0 0/0 .text checkHit__14daTagAtkItem_cFv */
|
||||
|
|
@ -404,4 +404,4 @@ daTagAtkItem_c::~daTagAtkItem_c() {
|
|||
// cCcD_GStts::~cCcD_GStts() {
|
||||
extern "C" void __dt__10cCcD_GSttsFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,43 +12,7 @@
|
|||
#include "d/actor/d_a_midna.h"
|
||||
#include "d/actor/d_a_tag_mhint.h"
|
||||
#include "d/actor/d_a_tag_mstop.h"
|
||||
|
||||
// This probably will need to be moved once actual debug rom decomp begins
|
||||
#ifdef DEBUG
|
||||
static dEvDb_bit_c dEvDb_bit_table[799] = {
|
||||
#include "src/d/d_event_debug_bit_table.inc"
|
||||
};
|
||||
|
||||
static dEvDb_reg_c dEvDb_reg_table[21] = {
|
||||
#include "src/d/d_event_debug_reg_table.inc"
|
||||
};
|
||||
|
||||
static dEvDb_bit_c dEvDb_bit_table_tmp[169] = {
|
||||
#include "src/d/d_event_debug_bit_table_tmp.inc"
|
||||
};
|
||||
|
||||
static dEvDb_reg_c dEvDb_reg_table_tmp[14] = {
|
||||
#include "src/d/d_event_debug_reg_table_tmp.inc"
|
||||
};
|
||||
|
||||
static dEvDb_flag_base_c dEvDb_flag_base_table = {
|
||||
dEvDb_bit_table, // mBitTable
|
||||
dEvDb_reg_table, // mRegTable
|
||||
799, // mBitNum
|
||||
21, // mRegNum
|
||||
22, // field_0x10
|
||||
4 // field_0x1
|
||||
};
|
||||
|
||||
static dEvDb_flag_base_c dEvDb_flag_base_table_tmp = {
|
||||
dEvDb_bit_table_tmp, // mBitTable
|
||||
dEvDb_reg_table_tmp, // mRegTable
|
||||
169, // mBitNum
|
||||
14, // mRegNum
|
||||
43, // field_0x10
|
||||
6 // field_0x14
|
||||
};
|
||||
#endif
|
||||
#include "d/d_event_debug.h"
|
||||
|
||||
/* 80041480-80041488 03BDC0 0008+00 1/1 0/0 0/0 .text event_debug_evnt__21@unnamed@d_event_cpp@Fv
|
||||
*/
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -117,7 +117,7 @@
|
|||
},
|
||||
{
|
||||
"F_0808",
|
||||
"808 初日のと話した", // Talked to Beth on the first day
|
||||
"808 初日のベスと話した", // Talked to Beth on the first day
|
||||
"京極", // Kyogoku
|
||||
0x6240,
|
||||
"F_SP103:トアル村", // Ordon Village
|
||||
|
|
@ -765,7 +765,7 @@
|
|||
},
|
||||
{
|
||||
"F_0729",
|
||||
"729 ポストマン「おォ〜い!」直後", // Right after postman's "Hey!"
|
||||
"729 ポストマン「おォ~い!」直後", // Right after postman's "Hey!"
|
||||
"一角", // Ikkaku
|
||||
0x5940,
|
||||
"環状フィールド", // Ring field
|
||||
|
|
@ -1908,7 +1908,7 @@
|
|||
},
|
||||
{
|
||||
"F_0596",
|
||||
"596 F0003:2日目−コリン剣チュー後〜馬拒絶までに会話", // 2nd Day - Conversation with Colin after sword tutorial, before horse rejection
|
||||
"596 F0003:2日目-コリン剣チュー後~馬拒絶までに会話", // 2nd Day - Conversation with Colin after sword tutorial, before horse rejection
|
||||
"京極", // Kyogoku
|
||||
0x4920,
|
||||
"F_SP103:トアル村", // Ordon Village
|
||||
|
|
@ -2610,7 +2610,7 @@
|
|||
},
|
||||
{
|
||||
"F_0518",
|
||||
"518 コリン誘拐〜寝込み中のウーリからコリンに手紙出した話聞いた", // Colin kidnapped ~ Heard about giving letter to Colin from sleeping Uli
|
||||
"518 コリン誘拐~寝込み中のウーリからコリンに手紙出した話聞いた", // Colin kidnapped ~ Heard about giving letter to Colin from sleeping Uli
|
||||
"京極", // Kyogoku
|
||||
0x3f08,
|
||||
"F_SP103:トアル村", // Ordon Village
|
||||
|
|
@ -7188,4 +7188,4 @@
|
|||
"F_SP108:フィローネの森", // Faron Woods
|
||||
0xf,
|
||||
0x10,
|
||||
},
|
||||
},
|
||||
|
|
|
|||
|
|
@ -98,7 +98,7 @@
|
|||
0x16,
|
||||
},
|
||||
{
|
||||
"Hanch_CLIMBOUT_POND",
|
||||
"HANJO_CLIMBOUT_POND",
|
||||
"172 飛び込んだハンジョ−、池から出た", // Hanch gets out of lake after jumping in
|
||||
"住吉", // Sumiyoshi
|
||||
0x1304,
|
||||
|
|
@ -1377,7 +1377,7 @@
|
|||
},
|
||||
{
|
||||
"T_0020",
|
||||
"21 牛追い/時間切れ後〜再開の間までON", // cow herding - ON from `time's up` until `restart`
|
||||
"21 牛追い/時間切れ後~再開の間までON", // cow herding - ON from `time's up` until `restart`
|
||||
"京極", // Kyogoku
|
||||
0x101,
|
||||
"F_SP103:トアル村", // Ordon Village
|
||||
|
|
@ -1518,4 +1518,4 @@
|
|||
"F_SP103:トアル村", // Ordon Village
|
||||
0x6,
|
||||
0x7,
|
||||
},
|
||||
},
|
||||
|
|
|
|||
|
|
@ -0,0 +1,126 @@
|
|||
{
|
||||
"SHA_DBG",
|
||||
"184 占い師デバッグ", // Fortune teller debugging
|
||||
"住吉", // Sumiyoshi
|
||||
0xF2FF,
|
||||
"F_SP116:城下街", // Castle town
|
||||
0x2,
|
||||
0xE,
|
||||
},
|
||||
{
|
||||
"PACHITUTORIAL_INF",
|
||||
"115 パチチュ−、ヒット情報", // Slingshot tutorial, hit information
|
||||
"住吉", // Sumiyoshi
|
||||
0xF3FF,
|
||||
"F_SP103:トアル村", // Ordon Village
|
||||
0x1,
|
||||
0x7,
|
||||
},
|
||||
{
|
||||
"PACHITUTORIAL_CNT",
|
||||
"114 パチチュ−、壊した的の数", // Slingshot tutorial, number of targets broken
|
||||
"住吉", // Sumiyoshi
|
||||
0xF4FF,
|
||||
"F_SP103:トアル村", // Ordon Village
|
||||
0x1,
|
||||
0x7,
|
||||
},
|
||||
{
|
||||
"SHA_LOVEFORTUNE_05",
|
||||
"106 恋愛運シ−ン切り替え先記憶用", // Love fortune scene change destination
|
||||
"住吉", // Sumiyoshi
|
||||
0xF5FF,
|
||||
"F_SP116:城下街", // Castle town
|
||||
0x2,
|
||||
0xE,
|
||||
},
|
||||
{
|
||||
"SHA_LOVEFORTUNE_04",
|
||||
"105 恋愛運シ−ン切り替え先記憶用", // Love fortune scene change destination
|
||||
"住吉", // Sumiyoshi
|
||||
0xF6FF,
|
||||
"F_SP116:城下街", // Castle town
|
||||
0x2,
|
||||
0xE,
|
||||
},
|
||||
{
|
||||
"SHA_LOVEFORTUNE_03",
|
||||
"104 恋愛運シ−ン切り替え先記憶用", // Love fortune scene change destination
|
||||
"住吉", // Sumiyoshi
|
||||
0xF7FF,
|
||||
"F_SP116:城下街", // Castle town
|
||||
0x2,
|
||||
0xE,
|
||||
},
|
||||
{
|
||||
"SHA_LOVEFORTUNE_02",
|
||||
"103 恋愛運シ−ン切り替え先記憶用", // Love fortune scene change destination
|
||||
"住吉", // Sumiyoshi
|
||||
0xF8FF,
|
||||
"F_SP116:城下街", // Castle town
|
||||
0x2,
|
||||
0xE,
|
||||
},
|
||||
{
|
||||
"SHA_LOVEFORTUNE_01",
|
||||
"102 恋愛運シ−ン切り替え先記憶用", // Love fortune scene change destination
|
||||
"住吉", // Sumiyoshi
|
||||
0xF9FF,
|
||||
"F_SP116:城下街", // Castle town
|
||||
0x2,
|
||||
0xE,
|
||||
},
|
||||
{
|
||||
"SHA_LOVEFORTUNE_00",
|
||||
"101 恋愛運シ−ン切り替え先記憶用", // Love fortune scene change destination
|
||||
"住吉", // Sumiyoshi
|
||||
0xFAFF,
|
||||
"F_SP116:城下街", // Castle town
|
||||
0x2,
|
||||
0xE,
|
||||
},
|
||||
{
|
||||
"TREG_000",
|
||||
"34 キュリ−の会話で使います", // Used in Pergie's conversation
|
||||
"住吉", // Sumiyoshi
|
||||
0xFBFF,
|
||||
"F_SP103:トアル村", // Ordon Village
|
||||
0x1,
|
||||
0x7,
|
||||
},
|
||||
{
|
||||
"T_0006",
|
||||
"6 戻り先のレイヤ−番号", // Destination layer number
|
||||
"住吉", // Sumiyoshi
|
||||
0xFCFF,
|
||||
"仮デモ", // Temporary demo
|
||||
0x3,
|
||||
0x14,
|
||||
},
|
||||
{
|
||||
"T_0005",
|
||||
"5 実行デモNo受け渡し", // Executing demo No. receipt
|
||||
"住吉", // Sumiyoshi
|
||||
0xFDFF,
|
||||
"仮デモ", // Temporary demo
|
||||
0x3,
|
||||
0x14,
|
||||
},
|
||||
{
|
||||
"T_0003",
|
||||
"3 剣チュ−トリアル・斬った回数", // Sword tutorial・number of slashes
|
||||
"住吉", // Sumiyoshi
|
||||
0xFEFF,
|
||||
"F_SP103:トアル村", // Ordon Village
|
||||
0x1,
|
||||
0x7,
|
||||
},
|
||||
{
|
||||
"T_0002",
|
||||
"2 剣チュ−トリアル・ステップ", // Sword tutorial・step
|
||||
"住吉", // Sumiyoshi
|
||||
0xFF0F,
|
||||
"F_SP103:トアル村", // Ordon Village
|
||||
0x1,
|
||||
0x7,
|
||||
},
|
||||
|
|
@ -5,6 +5,7 @@
|
|||
|
||||
#include "d/d_event_lib.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "f_op/f_op_actor.h"
|
||||
|
||||
/* 803A82B8-803A82C4 0053D8 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */
|
||||
static u8 cNullVec__6Z2Calc[12] = {
|
||||
|
|
@ -12,7 +13,7 @@ static u8 cNullVec__6Z2Calc[12] = {
|
|||
};
|
||||
|
||||
/* 8004886C-800488A4 0431AC 0038+00 0/0 0/0 23/23 .text eventUpdate__17dEvLib_callback_cFv */
|
||||
BOOL dEvLib_callback_c::eventUpdate() {
|
||||
bool dEvLib_callback_c::eventUpdate() {
|
||||
if (mAction == NULL) {
|
||||
return FALSE;
|
||||
} else {
|
||||
|
|
@ -31,13 +32,13 @@ static action_class<dEvLib_callback_c> l_runAction(&dEvLib_callback_c::initRun,
|
|||
|
||||
/* 800488A4-80048940 0431E4 009C+00 1/1 0/0 1/1 .text setEvent__17dEvLib_callback_cFiii
|
||||
*/
|
||||
BOOL dEvLib_callback_c::setEvent(int mapToolId, int eventIdx, int param_2) {
|
||||
bool dEvLib_callback_c::setEvent(int mapToolId, int eventIdx, int param_2) {
|
||||
if (mAction != NULL) {
|
||||
return FALSE;
|
||||
} else {
|
||||
mActor->eventInfo.setMapToolId(mapToolId);
|
||||
if (mapToolId != 0xFF && eventIdx == 0xFF) {
|
||||
eventIdx = dComIfGp_getEventManager().getEventIdx(mActor, mapToolId);
|
||||
eventIdx = dComIfGp_getEventManager().getEventIdx(mActor, static_cast<u16>(mapToolId));
|
||||
}
|
||||
mActor->eventInfo.setEventId(eventIdx);
|
||||
_C = param_2;
|
||||
|
|
@ -52,10 +53,10 @@ void dEvLib_callback_c::orderEvent(int param_0, int param_1, int param_2) {
|
|||
|
||||
/* 80048970-800489A8 0432B0 0038+00 3/3 0/0 0/0 .text
|
||||
* setAction__17dEvLib_callback_cFP33action_class<17dEvLib_callback_c> */
|
||||
BOOL dEvLib_callback_c::setAction(action_class<dEvLib_callback_c>* action) {
|
||||
bool dEvLib_callback_c::setAction(action_class<dEvLib_callback_c>* action) {
|
||||
mAction = action;
|
||||
if (mAction == NULL) {
|
||||
return FALSE;
|
||||
return false;
|
||||
} else {
|
||||
return initAction();
|
||||
}
|
||||
|
|
@ -63,7 +64,7 @@ BOOL dEvLib_callback_c::setAction(action_class<dEvLib_callback_c>* action) {
|
|||
|
||||
/* 800489A8-800489F8 0432E8 0050+00 1/1 0/0 0/0 .text initAction__17dEvLib_callback_cFv
|
||||
*/
|
||||
BOOL dEvLib_callback_c::initAction() {
|
||||
bool dEvLib_callback_c::initAction() {
|
||||
if (!mAction->getInit()) {
|
||||
return TRUE;
|
||||
} else {
|
||||
|
|
@ -72,7 +73,7 @@ BOOL dEvLib_callback_c::initAction() {
|
|||
}
|
||||
|
||||
/* 800489F8-80048A50 043338 0058+00 1/1 0/0 0/0 .text executeAction__17dEvLib_callback_cFv */
|
||||
BOOL dEvLib_callback_c::executeAction() {
|
||||
bool dEvLib_callback_c::executeAction() {
|
||||
if (!mAction->getExecute()) {
|
||||
return TRUE;
|
||||
} else {
|
||||
|
|
@ -81,13 +82,13 @@ BOOL dEvLib_callback_c::executeAction() {
|
|||
}
|
||||
|
||||
/* 80048A50-80048A70 043390 0020+00 1/0 0/0 0/0 .text initStart__17dEvLib_callback_cFv */
|
||||
BOOL dEvLib_callback_c::initStart() {
|
||||
bool dEvLib_callback_c::initStart() {
|
||||
return executeStart();
|
||||
}
|
||||
|
||||
/* 80048A70-80048B1C 0433B0 00AC+00 2/1 0/0 0/0 .text executeStart__17dEvLib_callback_cFv
|
||||
*/
|
||||
BOOL dEvLib_callback_c::executeStart() {
|
||||
bool dEvLib_callback_c::executeStart() {
|
||||
if (!mActor->eventInfo.checkCommandDemoAccrpt()) {
|
||||
if (mActor->eventInfo.getMapToolId() != 0xFF) {
|
||||
fopAcM_orderMapToolEvent(mActor, mActor->eventInfo.getMapToolId(),
|
||||
|
|
@ -104,14 +105,14 @@ BOOL dEvLib_callback_c::executeStart() {
|
|||
}
|
||||
|
||||
/* 80048B1C-80048B48 04345C 002C+00 1/0 0/0 0/0 .text initRun__17dEvLib_callback_cFv */
|
||||
BOOL dEvLib_callback_c::initRun() {
|
||||
bool dEvLib_callback_c::initRun() {
|
||||
return eventStart();
|
||||
}
|
||||
|
||||
/* 80048B48-80048BD8 043488 0090+00 1/0 0/0 0/0 .text executeRun__17dEvLib_callback_cFv
|
||||
*/
|
||||
BOOL dEvLib_callback_c::executeRun() {
|
||||
if (!dComIfGp_getEventManager().endCheck(mActor->eventInfo.getEventId())) {
|
||||
bool dEvLib_callback_c::executeRun() {
|
||||
if (!dComIfGp_evmng_endCheck(mActor->eventInfo.getEventId())) {
|
||||
return eventRun();
|
||||
} else {
|
||||
dComIfGp_getEvent().reset();
|
||||
|
|
|
|||
|
|
@ -97,6 +97,13 @@ void* dEvent_manager_c::getSubstance(dEvDtData_c* p_data, int type) {
|
|||
}
|
||||
}
|
||||
|
||||
void dEvent_manager_c::setDbgData(const char* buffer) {
|
||||
if(buffer) {
|
||||
char* writableBuffer = const_cast<char*>(buffer);
|
||||
mEventList[11].init(writableBuffer, -1);
|
||||
}
|
||||
}
|
||||
|
||||
dEvent_manager_c::dEvent_manager_c() {
|
||||
mDataLoaded = false;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue