Loading [MathJax]/extensions/MathMenu.js
Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
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
12s32 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);
18
20public:
21 struct getin_info {
22 /* 0x0 */ f32 bck_frame;
23 /* 0x4 */ f32 pikari_frame;
24 /* 0x8 */ s16 pos_x;
25 /* 0xA */ s16 pos_y;
26 /* 0xC */ u8 field_0xc;
27 /* 0xD */ u8 field_0xd;
28 }; // Size: 0x10
29
30 /* 8025DB38 */ dDlst_TimerScrnDraw_c();
31 /* 8025DBE0 */ void setHIO();
32 /* 8025DFBC */ void setScreen(s32, JKRArchive*);
33 /* 8025E240 */ void setScreenBase();
34 /* 8025E66C */ void setScreenBoatRace();
35 /* 8025E8B8 */ void setScreenRider();
36 /* 8025EB20 */ void hideDenominator();
37 /* 8025EC5C */ void deleteScreen();
38 /* 8025EE24 */ void changeNumberTexture(J2DPane*, int);
39 /* 8025EECC */ const char* getNumber(int);
40 /* 8025EEF0 */ void setTimer(int);
41 /* 8025F180 */ void setCounter(u8, u8);
42 /* 8025FA00 */ void setParentPos(f32, f32);
43 /* 8025FA2C */ void setTimerPos(f32, f32);
44 /* 8025FA6C */ void setCounterPos(f32, f32);
45 /* 8025FA98 */ void setImagePos(f32, f32);
46 /* 8025FAC4 */ void setShowType(u8);
47 /* 8025FB74 */ void anime();
48 /* 8025FF98 */ BOOL closeAnime();
49 /* 802601E4 */ int createGetIn(cXyz);
50 /* 80260574 */ s32 createStart(u16);
51 /* 80260AA8 */ bool checkStartAnimeEnd();
52 /* 80260AD4 */ void playBckAnimation(f32);
53 /* 80260B54 */ void drawPikari(int);
54
55 /* 80260690 */ virtual void draw();
56 /* 80261394 */ virtual ~dDlst_TimerScrnDraw_c();
57
58 void show() { mTimerVisible = 1; }
59 void hide() { mTimerVisible = 0; }
60 void setHIOType(u8 i_type) { mHIOType = i_type; }
63 void resetCowID() { mCowID = 0; }
64 bool isVisible() { return mTimerVisible; }
65
66 f32 acc(s16 param_0, s16 param_1, s16 param_2) {
67 return ((f32)(param_1 - param_2) * (f32)(param_1 - param_2)) / ((f32)(param_0 - param_2) * (f32)(param_0 - param_2));
68 }
69
73 }
74
75private:
76 /* 0x004 */ J2DScreen* mpScreen;
79 /* 0x010 */ CPaneMgr* mpParent;
80 /* 0x014 */ CPaneMgr* mpCowParent;
81 /* 0x018 */ CPaneMgr* mpTimeParent;
82 /* 0x01C */ CPaneMgr* mpImageParent;
83 /* 0x020 */ CPaneMgr* mpGetInParent;
84 /* 0x024 */ CPaneMgr* mpGetInRoot;
85 /* 0x028 */ CPaneMgr* mpGetInText;
86 /* 0x02C */ J2DPane* mTimerText[6][2];
87 /* 0x05C */ J2DPane* field_0x5c[2][2];
88 /* 0x06C */ J2DPicture* field_0x6c[2];
89 /* 0x074 */ J2DPicture* field_0x74[2];
90 /* 0x07C */ JKRArchive* mpArchive;
91 /* 0x080 */ getin_info m_getin_info[51];
92 /* 0x3B0 */ f32 mParentAlpha;
93 /* 0x3B4 */ f32 mTimerAlpha;
94 /* 0x3B8 */ f32 mCounterAlpha;
95 /* 0x3BC */ f32 mImageAlpha;
96 /* 0x3C0 */ f32 mTimerTransX;
97 /* 0x3C4 */ f32 mTimerTransY;
98 /* 0x3C8 */ s32 field_0x3C8;
99 /* 0x3CC */ int field_0x3CC;
100 /* 0x3D0 */ int field_0x3D0;
101 /* 0x3D4 */ int field_0x3D4;
102 /* 0x3D8 */ int field_0x3D8;
103 /* 0x3DC */ u8 mCowID;
104 /* 0x3DD */ u8 mHIOType;
105 /* 0x3DE */ u8 field_0x3DE;
106 /* 0x3DF */ u8 field_0x3DF;
107 /* 0x3E0 */ u8 field_0x3E0;
108 /* 0x3E1 */ u8 mTimerVisible;
109 /* 0x3E2 */ u8 field_0x3e2;
110};
111
112class dTimer_c : public msg_class {
113public:
114 /* 8025CA0C */ int _create();
115 /* 8025CF04 */ int _execute();
116 /* 8025D33C */ int _draw();
117 /* 8025D3BC */ int _delete();
118 /* 8025D524 */ int deleteCheck();
119 /* 8025D618 */ int start(int, s16);
120 /* 8025D538 */ int start(int);
121 /* 8025D7C0 */ int stock_start(s16);
122 /* 8025D708 */ bool stock_start();
123 /* 8025D7E8 */ int stop(u8);
124 /* 8025D86C */ int restart(u8);
125 /* 8025D920 */ int end(int);
126 /* 8025D9E0 */ int deleteRequest();
127 /* 8025D9F0 */ int getTimeMs();
128 /* 8025DA54 */ int getLimitTimeMs();
129 /* 8025DA9C */ int getRestTimeMs();
130 /* 8025DB10 */ u8 isStart();
131 /* 802613DC */ int createGetIn(cXyz);
132
133 s32 createStart(u16 param_0) { return mp_tm_scrn->createStart(param_0); }
134 void show() { mp_tm_scrn->show(); }
135 void hide() { mp_tm_scrn->hide(); }
136 void setShowType(u8 i_type) { mp_tm_scrn->setShowType(i_type); }
137 void setCounterPos(f32 param_0, f32 param_1) { mp_tm_scrn->setCounterPos(param_0, param_1); }
138 void setImagePos(f32 param_0, f32 param_1) { mp_tm_scrn->setImagePos(param_0, param_1); }
139 void setTimerPos(f32 param_0, f32 param_1) { mp_tm_scrn->setTimerPos(param_0, param_1); }
140
142
143private:
145 /* 0x100 */ JKRExpHeap* mp_heap;
146 /* 0x104 */ u8 field_0x104[4];
148 /* 0x110 */ OSTime m_start_time;
149 /* 0x118 */ OSTime m_time;
150 /* 0x120 */ OSTime field_0x120;
151 /* 0x128 */ OSTime field_0x128;
152 /* 0x130 */ OSTime field_0x130;
153 /* 0x138 */ OSTime field_0x138;
154 /* 0x140 */ OSTime mLimitTime;
155 /* 0x148 */ u8 field_0x148[0x150 - 0x148];
156 /* 0x150 */ int field_0x150;
157 /* 0x154 */ int m_timer_mode;
158 /* 0x158 */ int field_0x158;
159 /* 0x15C */ int field_0x15c;
160 /* 0x160 */ int field_0x160;
161 /* 0x164 */ int m_se_idx;
162 /* 0x168 */ s16 field_0x168;
163 /* 0x16A */ u8 field_0x16A;
164 /* 0x16B */ u8 field_0x16B;
165 /* 0x16C */ u8 m_mode;
166 /* 0x16D */ u8 field_0x16D;
167 /* 0x16E */ u8 m_is_ready;
168};
169
170#endif /* D_D_TIMER_H */
Definition d_pane_class.h:13
Definition J2DAnimation.h:146
Definition J2DPane.h:51
Definition J2DPicture.h:55
Definition J2DScreen.h:48
Definition JKRArchive.h:57
Definition d_timer.h:19
void setScreenBoatRace()
Definition d_timer.cpp:701
CPaneMgr * mpParent
Definition d_timer.h:79
BOOL closeAnime()
Definition d_timer.cpp:1216
JKRArchive * mpArchive
Definition d_timer.h:90
bool isVisible()
Definition d_timer.h:64
void resetCowID()
Definition d_timer.h:63
u8 field_0x3E0
Definition d_timer.h:107
void setScreen(s32, JKRArchive *)
Definition d_timer.cpp:600
void setShowType(u8)
Definition d_timer.cpp:1115
u8 field_0x3DE
Definition d_timer.h:105
u8 mTimerVisible
Definition d_timer.h:108
void anime()
Definition d_timer.cpp:1146
u8 getHIOType()
Definition d_timer.h:61
void setHIO()
Definition d_timer.cpp:511
J2DPane * mTimerText[6][2]
Definition d_timer.h:86
CPaneMgr * mpTimeParent
Definition d_timer.h:81
u8 mHIOType
Definition d_timer.h:104
u8 mCowID
Definition d_timer.h:103
s32 createStart(u16)
Definition d_timer.cpp:1352
dDlst_TimerScrnDraw_c()
Definition d_timer.cpp:490
void setTimerTrans(f32 x, f32 y)
Definition d_timer.h:70
CPaneMgr * mpGetInRoot
Definition d_timer.h:84
f32 mParentAlpha
Definition d_timer.h:92
J2DPicture * field_0x74[2]
Definition d_timer.h:89
CPaneMgr * mpImageParent
Definition d_timer.h:82
bool checkStartAnimeEnd()
Definition d_timer.cpp:1445
void hideDenominator()
Definition d_timer.cpp:783
u8 field_0x3DF
Definition d_timer.h:106
f32 mCounterAlpha
Definition d_timer.h:94
f32 getTimerTransY()
Definition d_timer.h:62
void setParentPos(f32, f32)
Definition d_timer.cpp:1087
void setTimer(int)
Definition d_timer.cpp:868
f32 mTimerTransY
Definition d_timer.h:97
J2DScreen * mpGetInScreen
Definition d_timer.h:77
void setScreenBase()
Definition d_timer.cpp:653
void show()
Definition d_timer.h:58
virtual void draw()
Definition d_timer.cpp:1372
void setCounter(u8, u8)
Definition d_timer.cpp:933
f32 mImageAlpha
Definition d_timer.h:95
J2DAnmTransform * mpGetInBck
Definition d_timer.h:78
CPaneMgr * mpGetInParent
Definition d_timer.h:83
virtual ~dDlst_TimerScrnDraw_c()
Definition d_timer.cpp:1660
void deleteScreen()
Definition d_timer.cpp:810
const char * getNumber(int)
Definition d_timer.cpp:862
f32 mTimerAlpha
Definition d_timer.h:93
void setScreenRider()
Definition d_timer.cpp:744
f32 acc(s16 param_0, s16 param_1, s16 param_2)
Definition d_timer.h:66
s32 field_0x3C8
Definition d_timer.h:98
void setCounterPos(f32, f32)
Definition d_timer.cpp:1101
void setHIOType(u8 i_type)
Definition d_timer.h:60
f32 mTimerTransX
Definition d_timer.h:96
CPaneMgr * mpGetInText
Definition d_timer.h:85
int field_0x3D4
Definition d_timer.h:101
J2DScreen * mpScreen
Definition d_timer.h:76
void drawPikari(int)
Definition d_timer.cpp:1464
void playBckAnimation(f32)
Definition d_timer.cpp:1455
void changeNumberTexture(J2DPane *, int)
Definition d_timer.cpp:852
int field_0x3D8
Definition d_timer.h:102
J2DPane * field_0x5c[2][2]
Definition d_timer.h:87
u8 field_0x3e2
Definition d_timer.h:109
void hide()
Definition d_timer.h:59
int field_0x3CC
Definition d_timer.h:99
int field_0x3D0
Definition d_timer.h:100
int createGetIn(cXyz)
Definition d_timer.cpp:1262
void setTimerPos(f32, f32)
Definition d_timer.cpp:1094
void setImagePos(f32, f32)
Definition d_timer.cpp:1108
J2DPicture * field_0x6c[2]
Definition d_timer.h:88
getin_info m_getin_info[51]
Definition d_timer.h:91
CPaneMgr * mpCowParent
Definition d_timer.h:80
Definition d_drawlist.h:31
Definition d_timer.h:112
int _execute()
Definition d_timer.cpp:160
u8 m_mode
Definition d_timer.h:165
int restart(u8)
Definition d_timer.cpp:427
request_of_phase_process_class m_phase
Definition d_timer.h:147
void show()
Definition d_timer.h:134
OSTime field_0x120
Definition d_timer.h:150
int field_0x15c
Definition d_timer.h:159
void setCounterPos(f32 param_0, f32 param_1)
Definition d_timer.h:137
u8 field_0x104[4]
Definition d_timer.h:146
u8 field_0x16A
Definition d_timer.h:163
int field_0x160
Definition d_timer.h:160
int field_0x150
Definition d_timer.h:156
int stop(u8)
Definition d_timer.cpp:413
int end(int)
Definition d_timer.cpp:442
u8 field_0x16D
Definition d_timer.h:166
OSTime field_0x138
Definition d_timer.h:153
OSTime m_start_time
Definition d_timer.h:148
s32 createStart(u16 param_0)
Definition d_timer.h:133
void setShowType(u8 i_type)
Definition d_timer.h:136
int m_se_idx
Definition d_timer.h:161
u8 field_0x148[0x150 - 0x148]
Definition d_timer.h:155
u8 m_is_ready
Definition d_timer.h:167
dDlst_TimerScrnDraw_c * mp_tm_scrn
Definition d_timer.h:144
int field_0x158
Definition d_timer.h:158
OSTime mLimitTime
Definition d_timer.h:154
u8 isReadyFlag()
Definition d_timer.h:141
int _create()
Definition d_timer.cpp:26
OSTime m_time
Definition d_timer.h:149
void setImagePos(f32 param_0, f32 param_1)
Definition d_timer.h:138
int createGetIn(cXyz)
Definition d_timer.cpp:1663
int getTimeMs()
Definition d_timer.cpp:465
u8 isStart()
Definition d_timer.cpp:481
int getLimitTimeMs()
Definition d_timer.cpp:469
int deleteCheck()
Definition d_timer.cpp:328
OSTime field_0x128
Definition d_timer.h:151
JKRExpHeap * mp_heap
Definition d_timer.h:145
int deleteRequest()
Definition d_timer.cpp:459
s16 field_0x168
Definition d_timer.h:162
void setTimerPos(f32 param_0, f32 param_1)
Definition d_timer.h:139
OSTime field_0x130
Definition d_timer.h:152
int getRestTimeMs()
Definition d_timer.cpp:474
bool stock_start()
Definition d_timer.cpp:386
int _delete()
Definition d_timer.cpp:297
int _draw()
Definition d_timer.cpp:287
int m_timer_mode
Definition d_timer.h:157
void hide()
Definition d_timer.h:135
u8 field_0x16B
Definition d_timer.h:164
Definition f_op_msg.h:9
int dTimer_getRestTimeMs()
Definition d_timer.cpp:1628
u8 dTimer_isStart()
Definition d_timer.cpp:1619
s32 dTimer_createStockTimer()
Definition d_timer.cpp:1577
u8 dTimer_isReadyFlag()
Definition d_timer.cpp:1651
u32 dTimer_createGetIn2D(s32 param_0, cXyz i_pos)
Definition d_timer.cpp:1595
s32 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:1566
double x double x
Definition e_atan2.c:58
double x double y
Definition e_atan2.c:58
s64 OSTime
Definition os.h:16
@ start
Definition strtoul.c:8
Definition d_a_balloon_2D.h:178
Definition d_a_hozelda.cpp:20
Definition d_timer.h:21
f32 bck_frame
Definition d_timer.h:22
s16 pos_y
Definition d_timer.h:25
u8 field_0xd
Definition d_timer.h:27
u8 field_0xc
Definition d_timer.h:26
s16 pos_x
Definition d_timer.h:24
f32 pikari_frame
Definition d_timer.h:23
Definition d_a_hozelda.cpp:14
int BOOL
Definition types.h:30
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