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