mirror of
https://github.com/encounter/tp.git
synced 2026-07-11 06:18:46 -07:00
wip
This commit is contained in:
@@ -60,7 +60,7 @@ public:
|
||||
void skipper();
|
||||
void Step();
|
||||
void moveApproval(void*);
|
||||
bool compulsory(void*, char const*, u16);
|
||||
BOOL compulsory(void*, char const*, u16);
|
||||
void remove();
|
||||
void* getStageEventDt(); // ret type probably wrong, fix later
|
||||
void sceneChange(int);
|
||||
@@ -82,6 +82,7 @@ public:
|
||||
u16 chkFlag2(u16 flag) { return flag & mFlag2; }
|
||||
bool runCheck() { return field_0xe5 != 0; }
|
||||
u16 chkEventFlag(u16 flag) { return flag & mEventFlag; }
|
||||
u8 getMode() const { return mMode; }
|
||||
|
||||
public:
|
||||
/* 0x000 */ u8 field_0x0[4];
|
||||
|
||||
+130
-30
@@ -5,25 +5,80 @@
|
||||
#include "d/save/d_save.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
struct event_binary_data_header {};
|
||||
struct event_binary_data_header {
|
||||
/* 0x00 */ u32 eventTop; // offset to Event chunk
|
||||
/* 0x04 */ s32 eventNum;
|
||||
/* 0x08 */ u32 staffTop; // offset to Staff chunk
|
||||
/* 0x0C */ s32 staffNum;
|
||||
/* 0x10 */ u32 cutTop; // offset to Cut chunk
|
||||
/* 0x14 */ s32 cutNum;
|
||||
/* 0x18 */ u32 dataTop; // offset to Data chunk
|
||||
/* 0x1C */ s32 dataNum;
|
||||
/* 0x20 */ u32 fDataTop; // offset to FData chunk
|
||||
/* 0x24 */ s32 fDataNum;
|
||||
/* 0x28 */ u32 iDataTop; // offset to IData chunk
|
||||
/* 0x2C */ s32 iDataNum;
|
||||
/* 0x30 */ u32 sDataTop; // offset to SData chunk
|
||||
/* 0x34 */ s32 sDataNum;
|
||||
/* 0x38 */ u8 unk[8];
|
||||
}; // Size: 0x40
|
||||
|
||||
struct dEvDtData_c {};
|
||||
class dEvDtData_c {
|
||||
public:
|
||||
enum DataType {
|
||||
/* 0x0 */ TYPE_FLOAT,
|
||||
/* 0x1 */ TYPE_VEC,
|
||||
/* 0x3 */ TYPE_INT = 3,
|
||||
/* 0x4 */ TYPE_STRING
|
||||
};
|
||||
|
||||
int getIndex() { return mDataIndex; }
|
||||
int getNumber() { return mNumber; }
|
||||
int getType() { return mType; }
|
||||
int getNext() { return mNext; }
|
||||
char* getName() { return mName; }
|
||||
|
||||
/* 0x00 */ char mName[32];
|
||||
/* 0x20 */ u32 mIndex;
|
||||
/* 0x24 */ int mType;
|
||||
/* 0x28 */ int mDataIndex;
|
||||
/* 0x2C */ int mNumber;
|
||||
/* 0x30 */ int mNext;
|
||||
/* 0x34 */ u8 field_0x34[12];
|
||||
}; // Size: 0x40
|
||||
|
||||
class dEvDtCut_c {
|
||||
public:
|
||||
void startCheck();
|
||||
|
||||
int getDataTop() { return mDataTop; }
|
||||
|
||||
private:
|
||||
/* 0x00 */ u8 field_0x0[0x20];
|
||||
/* 0x00 */ char mName[32];
|
||||
/* 0x20 */ u32 mTagID;
|
||||
/* 0x28 */ int field_0x28[3];
|
||||
/* 0x24 */ u32 mIndex;
|
||||
/* 0x28 */ int mFlags[3];
|
||||
/* 0x34 */ u32 mFlagId;
|
||||
/* 0x38 */ u32 mDataTop;
|
||||
/* 0x3C */ u32 mNext;
|
||||
};
|
||||
/* 0x38 */ int mDataTop;
|
||||
/* 0x3C */ int mNext;
|
||||
/* 0x40 */ u8 field_0x40[0x10];
|
||||
}; // Size: 0x50
|
||||
|
||||
class dEvDtStaff_c {
|
||||
public:
|
||||
enum StaffType {
|
||||
/* 0x0 */ TYPE_DEFAULT,
|
||||
/* 0x1 */ TYPE_ALL,
|
||||
/* 0x2 */ TYPE_CAMERA,
|
||||
/* 0x4 */ TYPE_TIMEKEEPER = 4,
|
||||
/* 0x6 */ TYPE_DIRECTOR = 6,
|
||||
/* 0x7 */ TYPE_MESSAGE,
|
||||
/* 0x8 */ TYPE_SOUND,
|
||||
/* 0x9 */ TYPE_LIGHT,
|
||||
/* 0xB */ TYPE_PACKAGE = 11,
|
||||
/* 0xC */ TYPE_CREATE,
|
||||
};
|
||||
|
||||
void specialProc_WaitStart(int);
|
||||
void specialProc_WaitProc(int);
|
||||
void specialProc();
|
||||
@@ -38,40 +93,52 @@ public:
|
||||
void specialProcTimekeeper();
|
||||
void specialProcEffect();
|
||||
|
||||
int getType() { return mType; }
|
||||
char* getName() { return mName; }
|
||||
int getCurrentCut() { return mCurrentCut; }
|
||||
int getStartCut() { return mStartCut; }
|
||||
|
||||
private:
|
||||
/* 0x00 */ u8 field_0x00[4];
|
||||
/* 0x04 */ void* field_0x04;
|
||||
/* 0x08 */ u32 field_0x08;
|
||||
/* 0x0C */ int field_0x0c;
|
||||
/* 0x10 */ u32 field_0x10;
|
||||
/* 0x14 */ u8 field_0x14[0xC];
|
||||
/* 0x00 */ char mName[32];
|
||||
/* 0x20 */ u32 mTagID;
|
||||
/* 0x24 */ u32 field_0x24;
|
||||
/* 0x28 */ u8 field_0x28[4];
|
||||
/* 0x24 */ u32 mIndex;
|
||||
/* 0x28 */ u32 mFlagID;
|
||||
/* 0x2C */ int mType;
|
||||
/* 0x30 */ u32 mStartCut;
|
||||
/* 0x30 */ int mStartCut;
|
||||
/* 0x34 */ u8 field_0x34[2];
|
||||
/* 0x36 */ s16 field_0x36;
|
||||
/* 0x38 */ int mCurrentCut;
|
||||
/* 0x3C */ u32 field_0x3c;
|
||||
/* 0x40 */ u8 field_0x40;
|
||||
/* 0x41 */ u8 field_0x41;
|
||||
/* 0x40 */ bool field_0x40;
|
||||
/* 0x41 */ bool field_0x41;
|
||||
/* 0x42 */ s16 field_0x42;
|
||||
/* 0x44 */ s16 mSoundWait;
|
||||
/* 0x46 */ u8 field_0x46[4];
|
||||
/* 0x4A */ int field_0x4a;
|
||||
};
|
||||
/* 0x46 */ u8 field_0x46[10];
|
||||
}; // Size: 0x50
|
||||
|
||||
class dEvDtEvent_c {
|
||||
public:
|
||||
void finishCheck();
|
||||
void forceFinish();
|
||||
void specialStaffProc(dEvDtStaff_c*);
|
||||
int getNStaff() { return mNStaff; }
|
||||
int getStaff(int idx) { return mStaff[idx]; }
|
||||
|
||||
/* 0x00 */ s32 mEventNum;
|
||||
/* 0x04 */ u8 field_0x4[0xA0];
|
||||
/* 0xA4 */ int field_0xa4;
|
||||
};
|
||||
/* 0x00 */ char mName[32];
|
||||
/* 0x20 */ u32 mIndex;
|
||||
/* 0x24 */ int field_0x24;
|
||||
/* 0x28 */ int mPriority;
|
||||
/* 0x2C */ int mStaff[20];
|
||||
/* 0x7C */ int mNStaff;
|
||||
/* 0x80 */ u8 field_0x80[4];
|
||||
/* 0x84 */ int field_0x84;
|
||||
/* 0x88 */ int field_0x88[2];
|
||||
/* 0x90 */ int field_0x90;
|
||||
/* 0x94 */ bool mPlaySound;
|
||||
/* 0x95 */ u8 field_0x95[0xF];
|
||||
/* 0xA4 */ int mEventState;
|
||||
/* 0xA8 */ u8 field_0xa8[8];
|
||||
}; // Size: 0xB0
|
||||
|
||||
class dEvDtFlag_c {
|
||||
public:
|
||||
@@ -91,23 +158,56 @@ class dEvDtBase_c {
|
||||
public:
|
||||
dEvDtBase_c();
|
||||
~dEvDtBase_c() {}
|
||||
void init();
|
||||
void init(char*, int);
|
||||
int init();
|
||||
int init(char*, int);
|
||||
void advanceCut(dEvDtEvent_c*);
|
||||
void advanceCutLocal(dEvDtStaff_c*);
|
||||
|
||||
event_binary_data_header* getHeaderP() { return mHeaderP; }
|
||||
s32 getEventNum() { return mEventP->mEventNum; }
|
||||
dEvDtStaff_c* getStaffP(int i) { return &mStaffP[i]; }
|
||||
dEvDtEvent_c* getEventP(int i) { return &mEventP[i]; }
|
||||
dEvDtData_c* getDataP(int i) { return &mDataP[i]; }
|
||||
dEvDtCut_c* getCutP(int i) { return &mCutP[i]; }
|
||||
int getStaffCurrentCut(int i) { return mStaffP[i].getCurrentCut(); }
|
||||
dEvDtCut_c* getCutStaffCurrentCutP(int i) { return getCutP(getStaffCurrentCut(i)); }
|
||||
int getStaffStartCut(int i) { return mStaffP[i].getStartCut(); }
|
||||
dEvDtCut_c* getCutStaffStartCutP(int i) { return getCutP(getStaffStartCut(i)); }
|
||||
int* getIDataP(int i) { return &mIDataP[i]; }
|
||||
f32* getFDataP(int i) { return &mFDataP[i]; }
|
||||
char* getSDataP(int i) { return &mSDataP[i]; }
|
||||
u32 getEventTop() { return mHeaderP->eventTop; }
|
||||
s32 getEventNum() { return mHeaderP->eventNum; }
|
||||
u32 getStaffTop() { return mHeaderP->staffTop; }
|
||||
s32 getStaffNum() { return mHeaderP->staffNum; }
|
||||
u32 getCutTop() { return mHeaderP->cutTop; }
|
||||
s32 getCutNum() { return mHeaderP->cutNum; }
|
||||
u32 getDataTop() { return mHeaderP->dataTop; }
|
||||
s32 getDataNum() { return mHeaderP->dataNum; }
|
||||
u32 getFDataTop() { return mHeaderP->fDataTop; }
|
||||
s32 getFDataNum() { return mHeaderP->fDataNum; }
|
||||
u32 getIDataTop() { return mHeaderP->iDataTop; }
|
||||
s32 getIDataNum() { return mHeaderP->iDataNum; }
|
||||
u32 getSDataTop() { return mHeaderP->sDataTop; }
|
||||
s32 getSDataNum() { return mHeaderP->sDataNum; }
|
||||
s32 roomNo() { return mRoomNo; }
|
||||
|
||||
void setHeaderP(event_binary_data_header* p_header) { mHeaderP = p_header; }
|
||||
void setEventP(dEvDtEvent_c* p_event) { mEventP = p_event; }
|
||||
void setStaffP(dEvDtStaff_c* p_staff) { mStaffP = p_staff; }
|
||||
void setCutP(dEvDtCut_c* p_cut) { mCutP = p_cut; }
|
||||
void setDataP(dEvDtData_c* p_data) { mDataP = p_data; }
|
||||
void setFDataP(f32* p_fdata) { mFDataP = p_fdata; }
|
||||
void setIDataP(int* p_idata) { mIDataP = p_idata; }
|
||||
void setSDataP(char* p_sdata) { mSDataP = p_sdata; }
|
||||
|
||||
private:
|
||||
/* 0x00 */ event_binary_data_header* mHeaderP;
|
||||
/* 0x04 */ dEvDtEvent_c* mEventP;
|
||||
/* 0x08 */ dEvDtStaff_c* mStaffP;
|
||||
/* 0x0C */ dEvDtCut_c* mCutP;
|
||||
/* 0x10 */ dEvDtData_c* mDataP;
|
||||
/* 0x14 */ float* mFDataP;
|
||||
/* 0x18 */ s32* mIDataP;
|
||||
/* 0x14 */ f32* mFDataP;
|
||||
/* 0x18 */ int* mIDataP;
|
||||
/* 0x1C */ char* mSDataP;
|
||||
/* 0x20 */ s32 mRoomNo;
|
||||
}; // Size = 0x24
|
||||
|
||||
@@ -22,7 +22,7 @@ private:
|
||||
|
||||
class dEvent_manager_c {
|
||||
public:
|
||||
void getSubstance(dEvDtData_c*, int);
|
||||
void* getSubstance(dEvDtData_c*, int);
|
||||
dEvent_manager_c();
|
||||
~dEvent_manager_c() {}
|
||||
int create();
|
||||
@@ -52,8 +52,8 @@ public:
|
||||
void getIsAddvance(int);
|
||||
void getMyActIdx(int, char const* const*, int, int, int);
|
||||
void getMyNowCutName(int);
|
||||
void getMyDataP(int, char const*, int);
|
||||
void getMySubstanceP(int, char const*, int);
|
||||
dEvDtData_c* getMyDataP(int, char const*, int);
|
||||
void* getMySubstanceP(int, char const*, int);
|
||||
void getMySubstanceNum(int, char const*);
|
||||
void cutEnd(int);
|
||||
void getEventPrio(fopAc_ac_c*, s16);
|
||||
@@ -63,11 +63,13 @@ public:
|
||||
void getGoal();
|
||||
void getRunEventName();
|
||||
void specialCast_Shutter(s16, int);
|
||||
void specialCast(char const*, int);
|
||||
fopAc_ac_c* specialCast(char const*, int);
|
||||
void ChkPresentEnd();
|
||||
void checkStartDemo();
|
||||
|
||||
void setStartDemo(int param_0) { mEventException.setStartDemo(param_0); }
|
||||
void setCameraPlay(int status) { mCameraPlay = status; }
|
||||
dEvDtBase_c& getBase() { return mEventList[field_0x1b4]; }
|
||||
|
||||
private:
|
||||
/* 0x0000 */ dEvDtBase_c mEventList[11];
|
||||
@@ -77,7 +79,7 @@ private:
|
||||
/* 0x01A8 */ u8 field_0x1a8[2];
|
||||
/* 0x01AA */ s16 field_0x1aa;
|
||||
/* 0x01AC */ u8 field_0x1ac[4];
|
||||
/* 0x01B0 */ u32 field_0x1b0;
|
||||
/* 0x01B0 */ int mRoomNo;
|
||||
/* 0x01B4 */ u32 field_0x1b4;
|
||||
/* 0x01B8 */ u32 field_0x1b8;
|
||||
/* 0x01BC */ dEvDtFlag_c mFlags;
|
||||
|
||||
Reference in New Issue
Block a user