Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_timer.h
Go to the documentation of this file.
1#ifndef D_D_TIMER_H
2#define D_D_TIMER_H
3
4#include "d/d_msg_object.h"
5#include "f_op/f_op_msg.h"
6
7class CPaneMgr;
8class JKRArchive;
9class JKRExpHeap;
10
12fpc_ProcID dTimer_createTimer(s32 i_mode, u32 i_limitMs, u8 i_type, u8 param_3, f32 param_4, f32 param_5,
13 f32 param_6, f32 param_7);
14u32 dTimer_createGetIn2D(s32 param_0, cXyz i_pos);
16bool dTimer_isStart();
17void dTimer_show();
18void dTimer_hide();
20
22public:
23 struct getin_info {
24 /* 0x0 */ f32 bck_frame;
25 /* 0x4 */ f32 pikari_frame;
26 /* 0x8 */ s16 pos_x;
27 /* 0xA */ s16 pos_y;
28 /* 0xC */ u8 field_0xc;
29 /* 0xD */ u8 field_0xd;
30 }; // Size: 0x10
31
33 void setHIO();
34 void setScreen(s32, JKRArchive*);
35 void setScreenBase();
36 void setScreenBoatRace();
37 void setScreenRider();
38 void hideDenominator();
39 void deleteScreen();
40 void changeNumberTexture(J2DPane*, int);
41 const char* getNumber(int);
42 void setTimer(int);
43 void setCounter(u8, u8);
44 void setParentPos(f32, f32);
45 void setTimerPos(f32, f32);
46 void setCounterPos(f32, f32);
47 void setImagePos(f32, f32);
48 void setShowType(u8);
49 void anime();
51 int createGetIn(cXyz);
53 bool checkStartAnimeEnd();
55#if VERSION == VERSION_GCN_JPN
56 bool isLeadByte(int);
57#endif
58 void drawPikari(int);
59
60 virtual void draw();
61 virtual ~dDlst_TimerScrnDraw_c();
62
63 void show() { mTimerVisible = 1; }
64 void hide() { mTimerVisible = 0; }
65 void setHIOType(u8 i_type) { mHIOType = i_type; }
68 void resetCowID() { mCowID = 0; }
69 bool isVisible() { return mTimerVisible; }
70
71 f32 acc(s16 param_0, s16 param_1, s16 param_2) {
72 return ((f32)(param_1 - param_2) * (f32)(param_1 - param_2)) / ((f32)(param_0 - param_2) * (f32)(param_0 - param_2));
73 }
74
78 }
79
80private:
81 /* 0x004 */ J2DScreen* mpScreen;
84 /* 0x010 */ CPaneMgr* mpParent;
85 /* 0x014 */ CPaneMgr* mpCowParent;
86 /* 0x018 */ CPaneMgr* mpTimeParent;
87 /* 0x01C */ CPaneMgr* mpImageParent;
88 /* 0x020 */ CPaneMgr* mpGetInParent;
89 /* 0x024 */ CPaneMgr* mpGetInRoot;
90 /* 0x028 */ CPaneMgr* mpGetInText;
91 /* 0x02C */ J2DPane* mTimerText[6][2];
92 /* 0x05C */ J2DPane* field_0x5c[2][2];
93 /* 0x06C */ J2DPicture* field_0x6c[2];
94 /* 0x074 */ J2DPicture* field_0x74[2];
95 /* 0x07C */ JKRArchive* mpArchive;
96 /* 0x080 */ getin_info m_getin_info[51];
97 /* 0x3B0 */ f32 mParentAlpha;
98 /* 0x3B4 */ f32 mTimerAlpha;
99 /* 0x3B8 */ f32 mCounterAlpha;
100 /* 0x3BC */ f32 mImageAlpha;
101 /* 0x3C0 */ f32 mTimerTransX;
102 /* 0x3C4 */ f32 mTimerTransY;
103 /* 0x3C8 */ s32 field_0x3C8;
104 /* 0x3CC */ int field_0x3CC;
105 /* 0x3D0 */ int field_0x3D0;
106 /* 0x3D4 */ int field_0x3D4;
107 /* 0x3D8 */ int field_0x3D8;
108 /* 0x3DC */ u8 mCowID;
109 /* 0x3DD */ u8 mHIOType;
110 /* 0x3DE */ u8 field_0x3DE;
111 /* 0x3DF */ u8 field_0x3DF;
112 /* 0x3E0 */ u8 field_0x3E0;
113 /* 0x3E1 */ u8 mTimerVisible;
114 /* 0x3E2 */ u8 field_0x3e2;
115};
116
117class dTimer_c : public msg_class {
118public:
119 int _create();
120 int _execute();
121 int _draw();
122 int _delete();
123 int deleteCheck();
124 int start(int, s16);
125 int start(int);
126 int stock_start(s16);
127 bool stock_start();
128 int stop(u8);
129 int restart(u8);
130 int end(int);
131 int deleteRequest();
132 int getTimeMs();
133 int getLimitTimeMs();
134 int getRestTimeMs();
135 bool isStart();
136 int createGetIn(cXyz);
137
138 s32 createStart(u16 param_0) { return mp_tm_scrn->createStart(param_0); }
139 void show() { mp_tm_scrn->show(); }
140 void hide() { mp_tm_scrn->hide(); }
141 void setShowType(u8 i_type) { mp_tm_scrn->setShowType(i_type); }
142 void setCounterPos(f32 param_0, f32 param_1) { mp_tm_scrn->setCounterPos(param_0, param_1); }
143 void setImagePos(f32 param_0, f32 param_1) { mp_tm_scrn->setImagePos(param_0, param_1); }
144 void setTimerPos(f32 param_0, f32 param_1) { mp_tm_scrn->setTimerPos(param_0, param_1); }
145
147
148private:
150 /* 0x100 */ JKRExpHeap* mp_heap;
151 /* 0x104 */ u8 field_0x104[4];
153 /* 0x110 */ OSTime m_start_time;
154 /* 0x118 */ OSTime m_time;
155 /* 0x120 */ OSTime field_0x120;
156 /* 0x128 */ OSTime field_0x128;
157 /* 0x130 */ OSTime field_0x130;
158 /* 0x138 */ OSTime field_0x138;
159 /* 0x140 */ OSTime mLimitTime;
160 /* 0x148 */ u8 field_0x148[0x150 - 0x148];
161 /* 0x150 */ int field_0x150;
162 /* 0x154 */ int m_timer_mode;
163 /* 0x158 */ int field_0x158;
164 /* 0x15C */ int field_0x15c;
165 /* 0x160 */ int field_0x160;
166 /* 0x164 */ int m_se_idx;
167 /* 0x168 */ s16 field_0x168;
168 /* 0x16A */ u8 field_0x16A;
169 /* 0x16B */ u8 field_0x16B;
170 /* 0x16C */ u8 m_mode;
171 /* 0x16D */ u8 field_0x16D;
172 /* 0x16E */ u8 m_is_ready;
173};
174
175#endif /* D_D_TIMER_H */
Definition d_pane_class.h:13
Definition J2DAnimation.h:156
Definition J2DPane.h:51
Definition J2DPicture.h:55
Definition J2DScreen.h:48
Definition JKRArchive.h:57
Definition JKRExpHeap.h:11
Definition d_timer.h:21
void setScreenBoatRace()
Definition d_timer.cpp:678
CPaneMgr * mpParent
Definition d_timer.h:84
BOOL closeAnime()
Definition d_timer.cpp:1176
JKRArchive * mpArchive
Definition d_timer.h:95
bool isVisible()
Definition d_timer.h:69
void resetCowID()
Definition d_timer.h:68
u8 field_0x3E0
Definition d_timer.h:112
void setScreen(s32, JKRArchive *)
Definition d_timer.cpp:580
void setShowType(u8)
Definition d_timer.cpp:1077
u8 field_0x3DE
Definition d_timer.h:110
u8 mTimerVisible
Definition d_timer.h:113
void anime()
Definition d_timer.cpp:1107
u8 getHIOType()
Definition d_timer.h:66
void setHIO()
Definition d_timer.cpp:493
J2DPane * mTimerText[6][2]
Definition d_timer.h:91
CPaneMgr * mpTimeParent
Definition d_timer.h:86
u8 mHIOType
Definition d_timer.h:109
u8 mCowID
Definition d_timer.h:108
s32 createStart(u16)
Definition d_timer.cpp:1309
dDlst_TimerScrnDraw_c()
Definition d_timer.cpp:474
void setTimerTrans(f32 x, f32 y)
Definition d_timer.h:75
CPaneMgr * mpGetInRoot
Definition d_timer.h:89
f32 mParentAlpha
Definition d_timer.h:97
J2DPicture * field_0x74[2]
Definition d_timer.h:94
CPaneMgr * mpImageParent
Definition d_timer.h:87
bool checkStartAnimeEnd()
Definition d_timer.cpp:1399
void hideDenominator()
Definition d_timer.cpp:757
u8 field_0x3DF
Definition d_timer.h:111
f32 mCounterAlpha
Definition d_timer.h:99
f32 getTimerTransY()
Definition d_timer.h:67
void setParentPos(f32, f32)
Definition d_timer.cpp:1053
void setTimer(int)
Definition d_timer.cpp:836
f32 mTimerTransY
Definition d_timer.h:102
J2DScreen * mpGetInScreen
Definition d_timer.h:82
void setScreenBase()
Definition d_timer.cpp:632
void show()
Definition d_timer.h:63
virtual void draw()
Definition d_timer.cpp:1328
void setCounter(u8, u8)
Definition d_timer.cpp:900
f32 mImageAlpha
Definition d_timer.h:100
J2DAnmTransform * mpGetInBck
Definition d_timer.h:83
CPaneMgr * mpGetInParent
Definition d_timer.h:88
virtual ~dDlst_TimerScrnDraw_c()
Definition d_timer.cpp:1623
void deleteScreen()
Definition d_timer.cpp:783
const char * getNumber(int)
Definition d_timer.cpp:832
f32 mTimerAlpha
Definition d_timer.h:98
void setScreenRider()
Definition d_timer.cpp:720
f32 acc(s16 param_0, s16 param_1, s16 param_2)
Definition d_timer.h:71
s32 field_0x3C8
Definition d_timer.h:103
void setCounterPos(f32, f32)
Definition d_timer.cpp:1065
void setHIOType(u8 i_type)
Definition d_timer.h:65
f32 mTimerTransX
Definition d_timer.h:101
CPaneMgr * mpGetInText
Definition d_timer.h:90
int field_0x3D4
Definition d_timer.h:106
J2DScreen * mpScreen
Definition d_timer.h:81
void drawPikari(int)
Definition d_timer.cpp:1421
void playBckAnimation(f32)
Definition d_timer.cpp:1407
void changeNumberTexture(J2DPane *, int)
Definition d_timer.cpp:823
int field_0x3D8
Definition d_timer.h:107
J2DPane * field_0x5c[2][2]
Definition d_timer.h:92
u8 field_0x3e2
Definition d_timer.h:114
void hide()
Definition d_timer.h:64
int field_0x3CC
Definition d_timer.h:104
int field_0x3D0
Definition d_timer.h:105
int createGetIn(cXyz)
Definition d_timer.cpp:1220
void setTimerPos(f32, f32)
Definition d_timer.cpp:1059
void setImagePos(f32, f32)
Definition d_timer.cpp:1071
bool isLeadByte(int)
Definition d_timer.cpp:1416
J2DPicture * field_0x6c[2]
Definition d_timer.h:93
getin_info m_getin_info[51]
Definition d_timer.h:96
CPaneMgr * mpCowParent
Definition d_timer.h:85
Definition d_drawlist.h:32
Definition d_timer.h:117
int _execute()
Definition d_timer.cpp:160
u8 m_mode
Definition d_timer.h:170
int restart(u8)
Definition d_timer.cpp:418
request_of_phase_process_class m_phase
Definition d_timer.h:152
void show()
Definition d_timer.h:139
OSTime field_0x120
Definition d_timer.h:155
int field_0x15c
Definition d_timer.h:164
void setCounterPos(f32 param_0, f32 param_1)
Definition d_timer.h:142
u8 field_0x104[4]
Definition d_timer.h:151
u8 field_0x16A
Definition d_timer.h:168
int field_0x160
Definition d_timer.h:165
int field_0x150
Definition d_timer.h:161
int stop(u8)
Definition d_timer.cpp:405
int end(int)
Definition d_timer.cpp:432
u8 field_0x16D
Definition d_timer.h:171
OSTime field_0x138
Definition d_timer.h:158
OSTime m_start_time
Definition d_timer.h:153
s32 createStart(u16 param_0)
Definition d_timer.h:138
void setShowType(u8 i_type)
Definition d_timer.h:141
int m_se_idx
Definition d_timer.h:166
u8 field_0x148[0x150 - 0x148]
Definition d_timer.h:160
u8 m_is_ready
Definition d_timer.h:172
dDlst_TimerScrnDraw_c * mp_tm_scrn
Definition d_timer.h:149
int field_0x158
Definition d_timer.h:163
OSTime mLimitTime
Definition d_timer.h:159
u8 isReadyFlag()
Definition d_timer.h:146
int _create()
Definition d_timer.cpp:27
OSTime m_time
Definition d_timer.h:154
void setImagePos(f32 param_0, f32 param_1)
Definition d_timer.h:143
int createGetIn(cXyz)
Definition d_timer.cpp:1625
int getTimeMs()
Definition d_timer.cpp:453
int getLimitTimeMs()
Definition d_timer.cpp:456
int deleteCheck()
Definition d_timer.cpp:325
OSTime field_0x128
Definition d_timer.h:156
JKRExpHeap * mp_heap
Definition d_timer.h:150
int deleteRequest()
Definition d_timer.cpp:448
bool isStart()
Definition d_timer.cpp:466
s16 field_0x168
Definition d_timer.h:167
void setTimerPos(f32 param_0, f32 param_1)
Definition d_timer.h:144
OSTime field_0x130
Definition d_timer.h:157
int getRestTimeMs()
Definition d_timer.cpp:460
bool stock_start()
Definition d_timer.cpp:380
int _delete()
Definition d_timer.cpp:295
int _draw()
Definition d_timer.cpp:286
int m_timer_mode
Definition d_timer.h:162
void hide()
Definition d_timer.h:140
u8 field_0x16B
Definition d_timer.h:169
int dTimer_getRestTimeMs()
Definition d_timer.cpp:1595
bool dTimer_isStart()
Definition d_timer.cpp:1587
fpc_ProcID dTimer_createTimer(s32 i_mode, u32 i_limitMs, u8 i_type, u8 param_3, f32 param_4, f32 param_5, f32 param_6, f32 param_7)
Definition d_timer.cpp:1538
void dTimer_hide()
Definition d_timer.cpp:1609
s32 dTimer_createStockTimer()
Definition d_timer.cpp:1548
u8 dTimer_isReadyFlag()
Definition d_timer.cpp:1615
u32 dTimer_createGetIn2D(s32 param_0, cXyz i_pos)
Definition d_timer.cpp:1565
void dTimer_show()
Definition d_timer.cpp:1603
s64 OSTime
Definition os.h:19
int BOOL
Definition types.h:33
unsigned long u32
Definition types.h:12
signed short int s16
Definition types.h:9
float f32
Definition types.h:25
unsigned short int u16
Definition types.h:10
signed long s32
Definition types.h:11
unsigned char u8
Definition types.h:8
double x double x
Definition e_atan2.c:58
double x double y
Definition e_atan2.c:58
unsigned int fpc_ProcID
Definition f_pc_base.h:10
@ start
Definition strtoul.c:8
Definition c_xyz.h:7
Definition d_timer.h:23
f32 bck_frame
Definition d_timer.h:24
s16 pos_y
Definition d_timer.h:27
u8 field_0xd
Definition d_timer.h:29
u8 field_0xc
Definition d_timer.h:28
s16 pos_x
Definition d_timer.h:26
f32 pikari_frame
Definition d_timer.h:25
Definition f_op_msg.h:25
Definition c_phase.h:17