Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
d_event.h
Go to the documentation of this file.
1#ifndef D_EVENT_D_EVENT_H
2#define D_EVENT_D_EVENT_H
3
5
6int dEv_noFinishSkipProc(void*, int);
7
9class fopAc_ac_c;
10
12public:
15
16 /* 0x00 */ u16 mEventType;
17 /* 0x02 */ u16 mFlag;
18 /* 0x04 */ u16 mHindFlag;
19 /* 0x08 */ fopAc_ac_c* mActor1;
20 /* 0x0C */ fopAc_ac_c* mActor2;
21 /* 0x10 */ s16 mEventId;
22 /* 0x12 */ u16 mPriority;
23 /* 0x14 */ s8 mNextOrderIdx;
24 /* 0x15 */ u8 mEventInfoIdx;
25}; // Size = 0x18
26
27STATIC_ASSERT(sizeof(dEvt_order_c) == 0x18);
28
29typedef int (*SkipFunc)(void*, int);
30
32 /* 0x0 */ EVT_MODE_NONE,
33 /* 0x1 */ EVT_MODE_TALK,
34 /* 0x2 */ EVT_MODE_DEMO,
35 /* 0x3 */
36};
37
39 /* 0x0 */ EVT_TYPE_TALK,
40 /* 0x1 */ EVT_TYPE_DOOR,
41 /* 0x2 */ EVT_TYPE_OTHER,
44 /* 0x5 */ EVT_TYPE_ITEM,
47 /* 0xA */ EVT_TYPE_CATCH = 10,
49};
50
52 /* 0x0 */ STATUS_NONE,
53};
54
56public:
58 s32 orderOld(u16 eventType, u16 priority, u16 flag, u16 param_3, void* param_4, void* param_5,
59 void const* param_6);
60 s32 order(u16 eventType, u16 priority, u16 flag, u16 param_3, void* param_4, void* param_5,
61 s16 eventID, u8 infoIdx);
62 void setParam(dEvt_order_c* p_order);
64 void afterFlagProc(dEvt_order_c* p_order);
65 int commonCheck(dEvt_order_c* p_order, u16 condition, u16 command);
66 int talkCheck(dEvt_order_c* p_order);
67 int talkXyCheck(dEvt_order_c* p_order);
68 int catchCheck(dEvt_order_c* p_order);
69 int talkEnd();
70 int demoCheck(dEvt_order_c* p_order);
71 int demoEnd();
72 int potentialCheck(dEvt_order_c* p_order);
73 int doorCheck(dEvt_order_c* p_order);
74 int itemCheck(dEvt_order_c* p_order);
75 int endProc();
76 int change();
77 int entry();
78 void reset(void*);
79 void reset();
80 void clearSkipSystem();
81 char* getSkipEventName();
82 void setSkipProc(void*, SkipFunc, int);
83 void setSkipZev(void*, char*);
84 void onSkipFade();
85 void offSkipFade();
86 bool skipper();
87 int Step();
88 int moveApproval(void*);
89 BOOL compulsory(void*, char const*, u16);
90 void remove();
92 void sceneChange(int exitId);
93 u32 getPId(void*);
95 void* getStbDemoData(char* resName);
96 static dStage_MapEvent_dt_c* searchMapEventData(u8 mapToolID, s32 roomNo);
98 s16 runningEventID(s16 eventID);
99 void setPt1(void* ptr);
100 void setPt2(void* ptr);
101 void setPtT(void* ptr);
102 void setPtI(void* ptr);
103 void setPtI_Id(fpc_ProcID id);
104 void setPtD(void* ptr);
105 void setGtItm(u8 itemNo);
106
108 BOOL runCheck() { return mEventStatus != 0; }
112 void offEventFlag(u16 flag) { mEventFlag &= ~flag; }
113 u8 getMode() const { return mMode; }
115 void offHindFlag(u16 flag) { mHindFlag &= ~flag; }
119 void onFlag2(u16 flag) { mFlag2 |= flag; }
120 void offFlag2(u16 flag) { mFlag2 &= ~flag; }
121 void setCullRate(f32 f) { mCullRate = f; }
122 BOOL chkTalkXY() { return field_0xed == 1 || field_0xed == 2; }
123
124 BOOL isOrderOK() { return mEventStatus == 0 || mEventStatus == 2; }
130 bool isChangeOK(void* param_0) { return mChangeOK == param_0; }
132 u8 getGtItm() { return mGtItm; }
133 void startCheckSkipEdge(void* param_0) { setSkipProc(param_0, dEv_noFinishSkipProc, 0); }
134 bool checkSkipEdge() { return chkFlag2(8) != false; }
135 void setDebugStb(u8 stb) { mDebugStb = stb; }
136
137public:
138 /* 0x000 */ u8 field_0x0[4];
139 /* 0x004 */ dEvt_order_c mOrder[8];
140 /* 0x0C4 */ fpc_ProcID mPt1;
141 /* 0x0C8 */ fpc_ProcID mPt2;
142 /* 0x0CC */ fpc_ProcID mPtT;
143 /* 0x0D0 */ fpc_ProcID mPtI;
144 /* 0x0D4 */ fpc_ProcID mPtd;
145 /* 0x0D8 */ u16 mEventFlag;
146 /* 0x0DA */ u16 mFlag2;
147 /* 0x0DC */ u16 mHindFlag;
148 /* 0x0DE */ s16 mSpecifiedEvent; // name maybe wrong
149 /* 0x0E0 */ s16 mEventID;
150 /* 0x0E2 */ s8 mNum;
151 /* 0x0E3 */ s8 mOrderIdx;
152 /* 0x0E4 */ u8 mMode;
153 /* 0x0E5 */ u8 mEventStatus;
154 /* 0x0E6 */ u8 field_0xe6;
155 /* 0x0E7 */ u8 field_0xe7;
156 /* 0x0E8 */ u8 field_0xe8;
157 /* 0x0E9 */ u8 mDebugStb;
158 /* 0x0EA */ u8 field_0xea;
159 /* 0x0EB */ u8 mMapToolId;
160 /* 0x0EC */ u8 field_0xec;
161 /* 0x0ED */ u8 field_0xed;
162 /* 0x0EE */ u8 mPreItemNo;
163 /* 0x0EF */ u8 mGtItm;
164 /* 0x0F0 */ f32 mCullRate;
166 /* 0x0F8 */ void* mChangeOK;
167 /* 0x0FC */ u8 field_0xfc[4];
168 /* 0x100 */ SkipFunc mSkipFunc;
169 /* 0x104 */ u32 field_0x104;
170 /* 0x108 */ int mSkipTimer;
171 /* 0x10C */ int field_0x10c;
172 /* 0x110 */ int mSkipFade;
173 /* 0x114 */ char mSkipEventName[20];
174 /* 0x128 */ u8 mCompulsory;
175 /* 0x129 */ bool mRoomInfoSet;
176 /* 0x12C */ int mRoomNo;
177#ifdef DEBUG
178 /* 0x130 */ u8 field_0x130;
179#endif
180}; // Size = 0x130
181
182int dEv_defaultSkipProc(void* param_0, int param_1);
183int dEv_defaultSkipZev(void* param_0, int param_1);
184int dEv_defaultSkipStb(void* param_0, int param_1);
185int dEv_noFinishSkipProc(void* param_0, int param_1);
186
187#endif /* D_EVENT_D_EVENT_H */
static BOOL flag
Definition DEMOAVX.c:20
Definition d_event.h:55
fpc_ProcID mPt1
Definition d_event.h:140
int mSkipTimer
Definition d_event.h:170
u16 mFlag2
Definition d_event.h:146
bool mRoomInfoSet
Definition d_event.h:175
int field_0x10c
Definition d_event.h:171
bool isChangeOK(void *param_0)
Definition d_event.h:130
s32 beforeFlagProc(dEvt_order_c *p_order)
Definition d_event.cpp:162
fopAc_ac_c * getPtI()
Definition d_event.h:128
u8 field_0xe6
Definition d_event.h:154
void setGtItm(u8 itemNo)
Definition d_event.cpp:1180
void setPt1(void *ptr)
Definition d_event.cpp:1156
void setPtD(void *ptr)
Definition d_event.cpp:1176
void setCullRate(f32 f)
Definition d_event.h:121
u8 field_0xe7
Definition d_event.h:155
void startCheckSkipEdge(void *param_0)
Definition d_event.h:133
int commonCheck(dEvt_order_c *p_order, u16 condition, u16 command)
Definition d_event.cpp:186
fopAc_ac_c * getPtT()
Definition d_event.h:127
u8 field_0xec
Definition d_event.h:160
int doorCheck(dEvt_order_c *p_order)
Definition d_event.cpp:402
s16 mSpecifiedEvent
Definition d_event.h:148
void onFlag2(u16 flag)
Definition d_event.h:119
void * mChangeOK
Definition d_event.h:166
u8 mEventStatus
Definition d_event.h:153
u8 getMapToolId()
Definition d_event.h:118
void setPtT(void *ptr)
Definition d_event.cpp:1164
u8 mMode
Definition d_event.h:152
u16 mHindFlag
Definition d_event.h:147
dEvt_control_c()
Definition d_event.cpp:40
void * getStbDemoData(char *resName)
Definition d_event.cpp:1051
int talkCheck(dEvt_order_c *p_order)
Definition d_event.cpp:203
u8 mGtItm
Definition d_event.h:163
u8 mDebugStb
Definition d_event.h:157
s16 runningEventID(s16 eventID)
Definition d_event.cpp:1152
int Step()
Definition d_event.cpp:803
dStage_MapEvent_dt_c * mStageEventDt
Definition d_event.h:165
int demoCheck(dEvt_order_c *p_order)
Definition d_event.cpp:322
u16 chkEventFlag(u16 flag)
Definition d_event.h:110
void clearSkipSystem()
Definition d_event.cpp:586
char * getSkipEventName()
Definition d_event.cpp:698
dEvt_order_c mOrder[8]
Definition d_event.h:139
u8 field_0xed
Definition d_event.h:161
u16 checkHind(u16 flag)
Definition d_event.h:116
fopAc_ac_c * convPId(fpc_ProcID)
Definition d_event.cpp:1045
int change()
Definition d_event.cpp:476
u8 field_0xfc[4]
Definition d_event.h:167
void afterFlagProc(dEvt_order_c *p_order)
Definition d_event.cpp:178
fpc_ProcID mPt2
Definition d_event.h:141
u8 field_0xe8
Definition d_event.h:156
u32 field_0x104
Definition d_event.h:169
u8 field_0xea
Definition d_event.h:158
fopAc_ac_c * getPt2()
Definition d_event.h:126
fpc_ProcID mPtd
Definition d_event.h:144
s16 mEventID
Definition d_event.h:149
u16 mEventFlag
Definition d_event.h:145
u8 field_0x0[4]
Definition d_event.h:138
s8 mNum
Definition d_event.h:150
void setParam(dEvt_order_c *p_order)
Definition d_event.cpp:117
u8 getMode() const
Definition d_event.h:113
BOOL isOrderOK()
Definition d_event.h:124
u8 field_0x130
Definition d_event.h:178
s32 orderOld(u16 eventType, u16 priority, u16 flag, u16 param_3, void *param_4, void *param_5, void const *param_6)
Definition d_event.cpp:48
int moveApproval(void *)
Definition d_event.cpp:922
static dStage_MapEvent_dt_c * searchMapEventData(u8 mapToolID, s32 roomNo)
Definition d_event.cpp:1122
f32 getCullRate()
Definition d_event.h:109
fpc_ProcID mPtI
Definition d_event.h:143
int demoEnd()
Definition d_event.cpp:368
void reset()
Definition d_event.cpp:561
int mSkipFade
Definition d_event.h:172
void setSkipZev(void *, char *)
Definition d_event.cpp:708
void onHindFlag(u16 flag)
Definition d_event.h:114
void setPtI_Id(fpc_ProcID id)
Definition d_event.cpp:1172
s8 mOrderIdx
Definition d_event.h:151
int catchCheck(dEvt_order_c *p_order)
Definition d_event.cpp:273
int talkXyCheck(dEvt_order_c *p_order)
Definition d_event.cpp:233
void setPtI(void *ptr)
Definition d_event.cpp:1168
char mSkipEventName[20]
Definition d_event.h:173
BOOL runCheck()
Definition d_event.h:108
int endProc()
Definition d_event.cpp:451
f32 mCullRate
Definition d_event.h:164
void offSkipFade()
Definition d_event.cpp:717
u8 checkCompulsory()
Definition d_event.h:117
void setDebugStb(u8 stb)
Definition d_event.h:135
bool skipper()
Definition d_event.cpp:725
int potentialCheck(dEvt_order_c *p_order)
Definition d_event.cpp:386
BOOL chkTalkXY()
Definition d_event.h:122
bool checkSkipEdge()
Definition d_event.h:134
fopAc_ac_c * getPt1()
Definition d_event.h:125
u8 getGtItm()
Definition d_event.h:132
u8 mPreItemNo
Definition d_event.h:162
BOOL compulsory(void *, char const *, u16)
Definition d_event.cpp:991
u8 mCompulsory
Definition d_event.h:174
void offFlag2(u16 flag)
Definition d_event.h:120
int mRoomNo
Definition d_event.h:176
void onSkipFade()
Definition d_event.cpp:713
void offEventFlag(u16 flag)
Definition d_event.h:112
void remove()
Definition d_event.cpp:1002
void onEventFlag(u16 flag)
Definition d_event.h:111
SkipFunc mSkipFunc
Definition d_event.h:168
dStage_MapEvent_dt_c * getStageEventDt()
Definition d_event.cpp:1028
u16 chkFlag2(u16 flag)
Definition d_event.h:107
void sceneChange(int exitId)
Definition d_event.cpp:1032
u8 getPreItemNo()
Definition d_event.h:131
fpc_ProcID mPtT
Definition d_event.h:142
int talkEnd()
Definition d_event.cpp:297
u32 getPId(void *)
Definition d_event.cpp:1036
int entry()
Definition d_event.cpp:500
void setSkipProc(void *, SkipFunc, int)
Definition d_event.cpp:702
int itemCheck(dEvt_order_c *p_order)
Definition d_event.cpp:437
void setPt2(void *ptr)
Definition d_event.cpp:1160
u8 mMapToolId
Definition d_event.h:159
void offHindFlag(u16 flag)
Definition d_event.h:115
s32 order(u16 eventType, u16 priority, u16 flag, u16 param_3, void *param_4, void *param_5, s16 eventID, u8 infoIdx)
Definition d_event.cpp:55
fopAc_ac_c * getPtD()
Definition d_event.h:129
Definition d_event.h:11
s8 mNextOrderIdx
Definition d_event.h:23
~dEvt_order_c()
Definition d_event.h:13
s16 mEventId
Definition d_event.h:21
u16 mHindFlag
Definition d_event.h:18
u8 mEventInfoIdx
Definition d_event.h:24
fopAc_ac_c * mActor1
Definition d_event.h:19
fopAc_ac_c * mActor2
Definition d_event.h:20
dEvt_order_c()
Definition d_event.cpp:44
u16 mEventType
Definition d_event.h:16
u16 mFlag
Definition d_event.h:17
u16 mPriority
Definition d_event.h:22
static SECTION_RODATA u32 const itemNo
Definition d_a_obj_poFire.cpp:380
int dEv_noFinishSkipProc(void *, int)
Definition d_event.cpp:693
EventMode
Definition d_event.h:31
@ EVT_MODE_DEMO
Definition d_event.h:34
@ EVT_MODE_NONE
Definition d_event.h:32
@ EVT_MODE_TALK
Definition d_event.h:33
int dEv_defaultSkipProc(void *param_0, int param_1)
Definition d_event.cpp:599
int dEv_defaultSkipStb(void *param_0, int param_1)
Definition d_event.cpp:648
EventType
Definition d_event.h:38
@ EVT_TYPE_TALK
Definition d_event.h:39
@ EVT_TYPE_DOOR
Definition d_event.h:40
@ EVT_TYPE_OTHER
Definition d_event.h:41
@ EVT_TYPE_ITEM
Definition d_event.h:44
@ EVT_TYPE_SHOWITEM_Y
Definition d_event.h:46
@ EVT_TYPE_COMPULSORY
Definition d_event.h:42
@ EVT_TYPE_POTENTIAL
Definition d_event.h:43
@ EVT_TYPE_CATCH
Definition d_event.h:47
@ EVT_TYPE_SHOWITEM_X
Definition d_event.h:45
@ EVT_TYPE_TREASURE
Definition d_event.h:48
int dEv_defaultSkipZev(void *param_0, int param_1)
Definition d_event.cpp:605
STATIC_ASSERT(sizeof(dEvt_order_c)==0x18)
EventStatus
Definition d_event.h:51
@ STATUS_NONE
Definition d_event.h:52
int(* SkipFunc)(void *, int)
Definition d_event.h:29
unsigned int fpc_ProcID
Definition f_pc_base.h:10
Definition d_stage.h:335
Definition d_a_hozelda.cpp:74
int BOOL
Definition types.h:30
signed char s8
Definition types.h:4
unsigned long u32
Definition types.h:9
signed short int s16
Definition types.h:6
float f32
Definition types.h:22
unsigned short int u16
Definition types.h:7
signed long s32
Definition types.h:8
unsigned char u8
Definition types.h:5