mirror of
https://github.com/zeldaret/tp
synced 2026-09-02 18:02:55 -04:00
j2d / map_path work, d_drawlist / d_attention cleanup (#208)
* work on fop actor / actor mng, daalink, d_a_obj_item * d_a_title mostly decompiled * daalink / d_event / JMessage / dmsg_out_font work * msg_scrn_base / msg_scrn_boss * some work on mDo machine, d_menu_save, d_tresure, and various * remove asm * progress * finish d_menu_save / d_pane_class_alpha / d_pane_class / rename some data * rename more data * remove asm / progress * match all of d_pane_class * fixes / some dKankyo doc * bunch of j2d work. d_drawlist / d_attention cleanup * progress / asm * cleanup wip * decompile JStage * setup some more JStudio structs * set up d_demo classes * some d_demo work * cleanup dolphin os stuff * some initial dEvent documentation * some At collision documentation * match JUTConsole::doDraw * dbgs work / split up some of d_a_alink into .inc files * d_a_alink_spinner work
This commit is contained in:
+53
-28
@@ -15,7 +15,7 @@ public:
|
||||
|
||||
/* 0x00 */ u16 mEventType;
|
||||
/* 0x02 */ u16 mFlag;
|
||||
/* 0x04 */ u16 field_0x04;
|
||||
/* 0x04 */ u16 mHindFlag;
|
||||
/* 0x08 */ fopAc_ac_c* mActor1;
|
||||
/* 0x0C */ fopAc_ac_c* mActor2;
|
||||
/* 0x10 */ s16 mEventId;
|
||||
@@ -28,25 +28,50 @@ STATIC_ASSERT(sizeof(dEvt_order_c) == 0x18);
|
||||
|
||||
typedef int (*SkipFunc)(void*, int);
|
||||
|
||||
enum EventMode {
|
||||
/* 0x0 */ EVT_MODE_NONE,
|
||||
/* 0x1 */ EVT_MODE_TALK,
|
||||
/* 0x2 */ EVT_MODE_DEMO,
|
||||
/* 0x3 */
|
||||
};
|
||||
|
||||
enum EventType {
|
||||
/* 0x0 */ EVT_TYPE_TALK,
|
||||
/* 0x1 */ EVT_TYPE_DOOR,
|
||||
/* 0x2 */ EVT_TYPE_OTHER,
|
||||
/* 0x3 */ EVT_TYPE_COMPULSORY,
|
||||
/* 0x4 */ EVT_TYPE_POTENTIAL,
|
||||
/* 0x5 */ EVT_TYPE_ITEM,
|
||||
/* 0x6 */ EVT_TYPE_SHOWITEM_X,
|
||||
/* 0x7 */ EVT_TYPE_SHOWITEM_Y,
|
||||
/* 0xA */ EVT_TYPE_CATCH = 10,
|
||||
/* 0xB */ EVT_TYPE_TREASURE,
|
||||
};
|
||||
|
||||
enum EventStatus {
|
||||
/* 0x0 */ STATUS_NONE,
|
||||
};
|
||||
|
||||
class dEvt_control_c {
|
||||
public:
|
||||
dEvt_control_c();
|
||||
s32 orderOld(u16, u16, u16, u16, void*, void*, void const*);
|
||||
s32 orderOld(u16 eventType, u16 priority, u16 flag, u16 param_3, void* param_4, void* param_5,
|
||||
void const* param_6);
|
||||
s32 order(u16 eventType, u16 priority, u16 flag, u16 param_3, void* param_4, void* param_5,
|
||||
s16 eventID, u8 infoIdx);
|
||||
void setParam(dEvt_order_c*);
|
||||
s32 beforeFlagProc(dEvt_order_c*);
|
||||
void afterFlagProc(dEvt_order_c*);
|
||||
int commonCheck(dEvt_order_c*, u16, u16);
|
||||
int talkCheck(dEvt_order_c*);
|
||||
int talkXyCheck(dEvt_order_c*);
|
||||
int catchCheck(dEvt_order_c*);
|
||||
void setParam(dEvt_order_c* p_order);
|
||||
s32 beforeFlagProc(dEvt_order_c* p_order);
|
||||
void afterFlagProc(dEvt_order_c* p_order);
|
||||
int commonCheck(dEvt_order_c* p_order, u16 condition, u16 command);
|
||||
int talkCheck(dEvt_order_c* p_order);
|
||||
int talkXyCheck(dEvt_order_c* p_order);
|
||||
int catchCheck(dEvt_order_c* p_order);
|
||||
int talkEnd();
|
||||
int demoCheck(dEvt_order_c*);
|
||||
int demoCheck(dEvt_order_c* p_order);
|
||||
int demoEnd();
|
||||
int potentialCheck(dEvt_order_c*);
|
||||
int doorCheck(dEvt_order_c*);
|
||||
int itemCheck(dEvt_order_c*);
|
||||
int potentialCheck(dEvt_order_c* p_order);
|
||||
int doorCheck(dEvt_order_c* p_order);
|
||||
int itemCheck(dEvt_order_c* p_order);
|
||||
int endProc();
|
||||
int change();
|
||||
int entry();
|
||||
@@ -64,20 +89,20 @@ public:
|
||||
BOOL compulsory(void*, char const*, u16);
|
||||
void remove();
|
||||
dStage_MapEvent_dt_c* getStageEventDt();
|
||||
void sceneChange(int);
|
||||
void sceneChange(int exitId);
|
||||
u32 getPId(void*);
|
||||
void* convPId(unsigned int);
|
||||
void* getStbDemoData(char*);
|
||||
static dStage_MapEvent_dt_c* searchMapEventData(u8, s32);
|
||||
static dStage_MapEvent_dt_c* 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);
|
||||
void* getStbDemoData(char* resName);
|
||||
static dStage_MapEvent_dt_c* searchMapEventData(u8 mapToolID, s32 roomNo);
|
||||
static dStage_MapEvent_dt_c* searchMapEventData(u8 mapToolID);
|
||||
s16 runningEventID(s16 eventID);
|
||||
void setPt1(void* ptr);
|
||||
void setPt2(void* ptr);
|
||||
void setPtT(void* ptr);
|
||||
void setPtI(void* ptr);
|
||||
void setPtI_Id(unsigned int id);
|
||||
void setPtD(void* ptr);
|
||||
void setGtItm(u8 itemNo);
|
||||
void isOrderOK();
|
||||
|
||||
u16 chkFlag2(u16 flag) { return flag & mFlag2; }
|
||||
@@ -111,9 +136,9 @@ public:
|
||||
/* 0x0DA */ u16 mFlag2;
|
||||
/* 0x0DC */ u16 mHindFlag;
|
||||
/* 0x0DE */ s16 mSpecifiedEvent; // name maybe wrong
|
||||
/* 0x0E0 */ s16 field_0xe0;
|
||||
/* 0x0E0 */ s16 mEventID;
|
||||
/* 0x0E2 */ s8 mNum;
|
||||
/* 0x0E3 */ s8 field_0xe3;
|
||||
/* 0x0E3 */ s8 mOrderIdx;
|
||||
/* 0x0E4 */ u8 mMode;
|
||||
/* 0x0E5 */ u8 mEventStatus;
|
||||
/* 0x0E6 */ u8 field_0xe6;
|
||||
@@ -137,7 +162,7 @@ public:
|
||||
/* 0x110 */ int mSkipFade;
|
||||
/* 0x114 */ char mSkipEventName[20];
|
||||
/* 0x128 */ u8 mCompulsory;
|
||||
/* 0x129 */ bool field_0x129;
|
||||
/* 0x129 */ bool mRoomInfoSet;
|
||||
/* 0x12C */ int mRoomNo;
|
||||
}; // Size = 0x130
|
||||
|
||||
|
||||
@@ -116,11 +116,11 @@ public:
|
||||
s32 unk;
|
||||
};
|
||||
|
||||
void specialProc_WaitStart(int);
|
||||
void specialProc_WaitStart(int index);
|
||||
void specialProc_WaitProc(int);
|
||||
void specialProc();
|
||||
void init();
|
||||
void advanceCut(int);
|
||||
void advanceCut(int cut);
|
||||
void specialProcLight();
|
||||
void specialProcMessage();
|
||||
void specialProcSound();
|
||||
@@ -159,7 +159,7 @@ class dEvDtEvent_c {
|
||||
public:
|
||||
int finishCheck();
|
||||
int forceFinish();
|
||||
void specialStaffProc(dEvDtStaff_c*);
|
||||
void specialStaffProc(dEvDtStaff_c* p_staff);
|
||||
int getNStaff() { return mNStaff; }
|
||||
int getStaff(int idx) { return mStaff[idx]; }
|
||||
char* getName() { return mName; }
|
||||
@@ -183,9 +183,9 @@ public:
|
||||
class dEvDtFlag_c {
|
||||
public:
|
||||
dEvDtFlag_c() {}
|
||||
BOOL flagCheck(int);
|
||||
BOOL flagSet(int);
|
||||
BOOL flagMaxCheck(int);
|
||||
BOOL flagCheck(int flag);
|
||||
BOOL flagSet(int flag);
|
||||
BOOL flagMaxCheck(int flag);
|
||||
void init();
|
||||
|
||||
#define FlagMax 0x2800
|
||||
@@ -199,9 +199,9 @@ public:
|
||||
dEvDtBase_c() { init(); }
|
||||
~dEvDtBase_c() {}
|
||||
int init();
|
||||
int init(char*, int);
|
||||
void advanceCut(dEvDtEvent_c*);
|
||||
BOOL advanceCutLocal(dEvDtStaff_c*);
|
||||
int init(char* p_data, int roomNo);
|
||||
void advanceCut(dEvDtEvent_c* p_event);
|
||||
BOOL advanceCutLocal(dEvDtStaff_c* p_staff);
|
||||
|
||||
event_binary_data_header* getHeaderP() { return mHeaderP; }
|
||||
dEvDtStaff_c* getStaffP(int i) { return &mStaffP[i]; }
|
||||
|
||||
@@ -8,62 +8,66 @@ class dEvent_exception_c {
|
||||
public:
|
||||
dEvent_exception_c() { mEventInfoIdx = -1; }
|
||||
void init();
|
||||
s32 setStartDemo(int);
|
||||
s32 setStartDemo(int mapToolID);
|
||||
const char* getEventName();
|
||||
|
||||
// private:
|
||||
s32 mEventInfoIdx;
|
||||
u8 field_0x4;
|
||||
u8 field_0x5;
|
||||
u8 field_0x6;
|
||||
u8 field_0x7;
|
||||
s32 mState;
|
||||
/* 0x0 */ s32 mEventInfoIdx;
|
||||
/* 0x4 */ u8 field_0x4;
|
||||
/* 0x5 */ u8 field_0x5;
|
||||
/* 0x6 */ u8 field_0x6;
|
||||
/* 0x7 */ u8 field_0x7;
|
||||
/* 0x8 */ s32 mState;
|
||||
};
|
||||
|
||||
#define EVT_SE_RIDDLE_A 1
|
||||
#define EVT_SE_RIDDLE_B 2
|
||||
|
||||
class dEvent_manager_c {
|
||||
public:
|
||||
void* getSubstance(dEvDtData_c*, int);
|
||||
void* getSubstance(dEvDtData_c* p_data, int type);
|
||||
dEvent_manager_c();
|
||||
~dEvent_manager_c() {}
|
||||
int create();
|
||||
bool setObjectArchive(char*);
|
||||
bool setObjectArchive(char* arcName);
|
||||
void demoInit();
|
||||
void roomInit(int);
|
||||
void roomFinish(int);
|
||||
void roomInit(int roomNo);
|
||||
void roomFinish(int roomNo);
|
||||
int orderStartDemo();
|
||||
void remove();
|
||||
void startProc(dEvDtEvent_c*);
|
||||
void closeProc(dEvDtEvent_c*);
|
||||
void endProc(s16, int);
|
||||
void startProc(dEvDtEvent_c* p_evnt);
|
||||
void closeProc(dEvDtEvent_c* p_evnt);
|
||||
void endProc(s16 eventID, int close);
|
||||
void Sequencer();
|
||||
void Experts();
|
||||
dEvDtEvent_c* getEventData(s16);
|
||||
dEvDtEvent_c* getEventData(s16 eventCompositId);
|
||||
dEvDtEvent_c* getEventData(s16, int);
|
||||
s16 getEventIdx(char const*, u8, s32);
|
||||
s16 getEventIdx(fopAc_ac_c*, u8);
|
||||
s16 getEventIdx(fopAc_ac_c*, char const*, u8);
|
||||
int isMapToolCamera(u8, s32);
|
||||
int order(s16);
|
||||
int startCheck(s16);
|
||||
int startCheckOld(char const*);
|
||||
s16 getEventIdx(char const* eventName, u8 mapToolID, s32 roomNo);
|
||||
s16 getEventIdx(fopAc_ac_c* pActor, u8 mapToolID);
|
||||
s16 getEventIdx(fopAc_ac_c* pActor, char const* eventName, u8 mapToolID);
|
||||
int isMapToolCamera(u8 mapToolID, s32 roomNo);
|
||||
int order(s16 eventCompositId);
|
||||
int startCheck(s16 eventCompositId);
|
||||
int startCheckOld(char const* name);
|
||||
int endCheck(s16);
|
||||
int endCheckOld(char const*);
|
||||
int getMyStaffId(char const*, fopAc_ac_c*, int);
|
||||
int getIsAddvance(int);
|
||||
int getMyActIdx(int, char const* const*, int, int, int);
|
||||
char* getMyNowCutName(int);
|
||||
dEvDtData_c* getMyDataP(int, char const*, int);
|
||||
void* getMySubstanceP(int, char const*, int);
|
||||
int getMySubstanceNum(int, char const*);
|
||||
void cutEnd(int);
|
||||
int getEventPrio(fopAc_ac_c*, s16);
|
||||
void issueStaff(char const*);
|
||||
void cancelStaff(char const*);
|
||||
void setGoal(cXyz*);
|
||||
int endCheckOld(char const* name);
|
||||
int getMyStaffId(char const* staffName, fopAc_ac_c* pActor, int tagId);
|
||||
int getIsAddvance(int staffIdx);
|
||||
int getMyActIdx(int staffIdx, char const* const* param_1, int param_2, int param_3,
|
||||
int param_4);
|
||||
char* getMyNowCutName(int cutIndex);
|
||||
dEvDtData_c* getMyDataP(int index, char const* name, int type);
|
||||
void* getMySubstanceP(int index, char const* name, int type);
|
||||
int getMySubstanceNum(int index, char const* name);
|
||||
void cutEnd(int cutIndex);
|
||||
int getEventPrio(fopAc_ac_c* pActor, s16 eventCompositId);
|
||||
void issueStaff(char const* name);
|
||||
void cancelStaff(char const* name);
|
||||
void setGoal(cXyz* p_goal);
|
||||
cXyz* getGoal();
|
||||
const char* getRunEventName();
|
||||
fopAc_ac_c* specialCast_Shutter(s16, int);
|
||||
fopAc_ac_c* specialCast(char const*, int);
|
||||
fopAc_ac_c* specialCast_Shutter(s16 bsTypeId, int param_1);
|
||||
fopAc_ac_c* specialCast(char const* name, int param_1);
|
||||
int ChkPresentEnd();
|
||||
int checkStartDemo();
|
||||
|
||||
@@ -71,7 +75,7 @@ public:
|
||||
void setCameraPlay(int status) { mCameraPlay = status; }
|
||||
dEvDtBase_c& getBase() { return mEventList[mCurrentEventType]; }
|
||||
void setFlag(int flag) { mFlags.flagSet(flag); }
|
||||
bool dataLoaded() { return mDataLoaded; }
|
||||
bool dataLoaded() { return mDataLoaded; }
|
||||
int flagCheck(int flag) { return mFlags.flagCheck(flag); }
|
||||
|
||||
static int getIndexCompositId(s16 param_0) { return param_0 != -1 ? (u8)param_0 : -1; }
|
||||
|
||||
Reference in New Issue
Block a user