d_event_data mostly

This commit is contained in:
Jasper St. Pierre
2023-11-11 01:49:46 -08:00
parent 61299c9f16
commit 04e35fdbe0
8 changed files with 791 additions and 48 deletions
+12
View File
@@ -1675,10 +1675,22 @@ inline dDemo_manager_c* dComIfGp_demo_get() {
return g_dComIfG_gameInfo.play.getDemo();
}
inline void dComIfGp_demo_create(const u8* demo_data, cXyz* offsetPos, f32 offsetAngleY) {
g_dComIfG_gameInfo.play.getDemo()->create(demo_data, offsetPos, offsetAngleY);
}
inline void dComIfGp_demo_remove() {
g_dComIfG_gameInfo.play.getDemo()->remove();
}
inline void dComIfGp_demo_update() {
g_dComIfG_gameInfo.play.getDemo()->update();
}
inline s32 dComIfGp_demo_mode() {
return g_dComIfG_gameInfo.play.getDemo()->getMode();
}
inline dDemo_actor_c* dComIfGp_demo_getActor(u8 id) {
return g_dComIfG_gameInfo.play.getDemo()->mDemoObj.getActor(id);
}
+4 -2
View File
@@ -81,6 +81,8 @@ public:
void update();
int getFrame() { return mFrame; }
u32 getFrameNoMsg() { return mFrameNoMsg; }
s32 getMode() { return mMode; }
/* 0x00 */ dDemo_system_c* mpSystem;
/* 0x04 */ TControl* mpControl;
@@ -93,8 +95,8 @@ public:
/* 0x20 */ dDemo_object_c mDemoObj;
/* 0xD0 */ void* field_0xd0;
/* 0xD4 */ int mFrame;
/* 0xD8 */ int field_0xd8;
/* 0xDC */ int mState;
/* 0xD8 */ int mFrameNoMsg;
/* 0xDC */ int mMode;
};
class mDoExt_McaMorf;
+1
View File
@@ -429,6 +429,7 @@ public:
view_class* getView() { return (view_class*)mpCamera; }
static void offWipe() { mWipe = false; }
static f32 getWipeRate() { return mWipeRate; }
void newPeekZdata(s16 x, s16 y, u32 * data) { mPeekZ.newData(x, y, data); }
+66 -10
View File
@@ -25,7 +25,20 @@ class dEvDtData_c {};
class dEvDtCut_c {
public:
void startCheck();
s32 startCheck();
s32 getNext() { return mNextCutIdx; }
u32 getFlagId() { return mFlagIdx; }
u32 getTagId() { return mTagId; }
public:
/* 0x00 */ char mName[32];
/* 0x20 */ u32 mTagId;
/* 0x24 */ u32 mIndex;
/* 0x28 */ u32 mFlagCheck[3];
/* 0x34 */ u32 mFlagIdx;
/* 0x38 */ u32 field_0x38;
/* 0x3C */ u32 mNextCutIdx;
/* 0x40 */ u32 field_0x40[4];
};
class dEvDtStaff_c {
@@ -43,10 +56,28 @@ public:
void specialProcPackage();
void specialProcTimekeeper();
u32 getCurrentCut() { return mCurCutIdx; }
enum StaffType_e {
NORMAL_e,
ALL_e,
CAMERA_e,
EFFECT_e,
TIMEKEEPER_e,
FIVE_e,
DIRECTOR_e,
MESSAGE_e,
SOUND_e,
LIGHT_e,
TEN_e,
PACKAGE_e,
CREATE_e,
};
public:
/* 0x00 */ char mName[32];
/* 0x20 */ int mSub;
/* 0x24 */ int mIndex;
/* 0x24 */ int mStaffIdx;
/* 0x28 */ int m28;
/* 0x2C */ int mStaffType;
/* 0x30 */ int mFirstCutIdx;
@@ -57,28 +88,51 @@ public:
/* 0x42 */ s16 mTimer;
/* 0x44 */ u8 m44;
/* 0x45 */ u8 m45;
/* 0x46 */ u8 mbIsAdvance;
/* 0x46 */ u8 mAdvance;
/* 0x47 */ u8 mbNeedsAction;
/* 0x48 */ u8 field_48[0x50 - 0x48];
};
class dEvDtEvent_c {
public:
void finish_check();
BOOL finish_check();
void specialStaffProc(dEvDtStaff_c*);
char * getName() { return mName; }
u32 getStaff(int idx) { return mStaffIdx[idx]; }
s32 getNStaff() { return mNStaff; }
u32 getPriority() { return mPriority; }
public:
/* 0x00 */ char mName[0x20];
/* 0x20 */ u32 field_0x20;
/* 0x24 */ u32 field_0x24;
/* 0x28 */ u32 mPriority;
/* 0x2C */ u32 mStaffIdx[20];
/* 0x7C */ s32 mNStaff;
/* 0x80 */ int mFlagCheckStart[2];
/* 0x88 */ int mFlagCheckFinish[3];
/* 0x94 */ u8 mEventEndSound;
/* 0x98 */ u32 field_0x98;
/* 0x9C */ u32 field_0x9c;
/* 0xA0 */ u32 field_0xa0;
/* 0xA4 */ u32 mEventState;
/* 0xA8 */ u32 field_0xa8;
/* 0xAC */ u32 field_0xac;
};
class dEvDtFlag_c {
public:
dEvDtFlag_c() {}
void flagCheck(int);
void flagSet(int);
void flagMaxCheck(int);
BOOL flagCheck(int);
BOOL flagSet(int);
BOOL flagMaxCheck(int);
void init();
public:
u32 mFlags[320];
u32 mFlag[320];
enum { FlagMax = 320 * 32 };
}; // Size = 0x500
class dEvDtBase_c {
@@ -88,7 +142,9 @@ public:
void init();
void advanceCut(dEvDtEvent_c*);
void advanceCutLocal(dEvDtStaff_c*);
bool advanceCutLocal(dEvDtStaff_c*);
dEvDtCut_c * getCutP(int idx) { return &mCutP[idx]; }
public:
/* 0x00 */ event_binary_data_header* mHeaderP;
@@ -103,4 +159,4 @@ public:
STATIC_ASSERT(sizeof(dEvDtBase_c) == 0x20);
#endif /* D_EVENT_D_EVENT_DATA_H */
#endif /* D_EVENT_D_EVENT_DATA_H */
+3 -1
View File
@@ -65,11 +65,13 @@ public:
BOOL ChkPresentEnd();
void CancelPresent();
void checkStartDemo();
dEvDtFlag_c& getFlags() { return mFlag; }
int setStartDemo(int eventInfoIdx) { return mException.setStartDemo(eventInfoIdx); }
void setCameraPlay(u32 v) { mCameraPlay = v; }
/* 0x000 */ dEvDtBase_c mList;
/* 0x020 */ int mCameraPlay;
/* 0x020 */ u32 mCameraPlay;
/* 0x024 */ dEvent_exception_c mException;
/* 0x030 */ cXyz mGoal;
/* 0x03C */ dEvDtFlag_c mFlag;
+2
View File
@@ -388,6 +388,8 @@ int dKy_get_dayofweek();
u32 dKy_moon_type_chk();
BOOL dKy_checkEventNightStop();
void dKy_set_nexttime(f32);
void dKy_instant_timechg(f32);
void dKy_instant_rainchg();
void dKy_Sound_set(cXyz i_pos, int param_1, unsigned int i_actorID, int param_3);
void dKy_itudemo_se();
void dKy_actor_addcol_set(s16, s16, s16, f32);
+20
View File
@@ -50,10 +50,30 @@ inline void mDoAud_subBgmStart(u32 param_0) {
mDoAud_zelAudio_c::getInterface()->subBgmStart(param_0);
}
inline void mDoAud_bgmStreamPrepare(u32 id) {
mDoAud_zelAudio_c::getInterface()->bgmStreamPrepare(id);
}
inline void mDoAud_bgmStreamPlay() {
mDoAud_zelAudio_c::getInterface()->bgmStreamPlay();
}
inline void mDoAud_bgmStop(u32 param_0) {
mDoAud_zelAudio_c::getInterface()->bgmStop(param_0, 0);
}
inline void mDoAud_prepareLandingDemo(u32 idx) {
mDoAud_zelAudio_c::getInterface()->prepareLandingDemo(idx);
}
inline void mDoAud_startLandingDemo() {
mDoAud_zelAudio_c::getInterface()->startLandingDemo();
}
inline void mDoAud_endLandingDemo() {
mDoAud_zelAudio_c::getInterface()->endLandingDemo();
}
inline void mDoAud_sceneBgmStart() {
mDoAud_zelAudio_c::getInterface()->sceneBgmStart();
}