mirror of
https://github.com/encounter/tww.git
synced 2026-03-30 11:41:09 -07:00
111 lines
3.0 KiB
C++
111 lines
3.0 KiB
C++
#ifndef D_TIMER_H
|
|
#define D_TIMER_H
|
|
|
|
#include "f_op/f_op_msg_mng.h"
|
|
#include "d/d_drawlist.h"
|
|
#include "SSystem/SComponent/c_phase.h"
|
|
#include "dolphin/os/OSTime.h"
|
|
|
|
class J2DPane;
|
|
class JKRArchive;
|
|
class JKRSolidHeap;
|
|
|
|
class dDlst_TimerScrnDraw_c : public dDlst_base_c {
|
|
public:
|
|
dDlst_TimerScrnDraw_c() {
|
|
field_0x234 = 0;
|
|
mRupeeNum = -1;
|
|
field_0x235 = 0;
|
|
}
|
|
~dDlst_TimerScrnDraw_c();
|
|
void setScreen(const char*, JKRArchive*);
|
|
void changeNumberTexture(J2DPane*, int);
|
|
const char* getNumber(int);
|
|
void setTimer(int);
|
|
void setRupee(s16);
|
|
void setPaneInitialPos(fopMsgM_pane_class*, f32, f32);
|
|
void setTimerPos(f32, f32);
|
|
void setRupeePos(f32, f32);
|
|
void setShowType(u8);
|
|
void setIconType(void*, u8);
|
|
void anime();
|
|
BOOL closeAnime();
|
|
bool hide();
|
|
void draw();
|
|
|
|
public:
|
|
/* 0x004 */ J2DScreen* scrn;
|
|
/* 0x008 */ fopMsgM_pane_class mClockIcon;
|
|
/* 0x040 */ fopMsgM_pane_class mClockBG;
|
|
/* 0x078 */ fopMsgM_pane_class mTimerNumber0;
|
|
/* 0x0B0 */ fopMsgM_pane_class mTimerNumberBG;
|
|
/* 0x0E8 */ fopMsgM_pane_class mTimerBG;
|
|
/* 0x120 */ fopMsgM_pane_class mTimerBGShadow;
|
|
/* 0x158 */ fopMsgM_pane_class mRupee;
|
|
/* 0x190 */ fopMsgM_pane_class mRupeeXShadow;
|
|
/* 0x1C8 */ fopMsgM_pane_class mRupeeShadow;
|
|
/* 0x200 */ J2DPane* mTimerNumber[5];
|
|
/* 0x214 */ J2DPane* mRupeeNumber[3];
|
|
/* 0x220 */ J2DPane* mRupeeNumberShadow[3];
|
|
/* 0x22C */ J2DPicture* mIconPicture;
|
|
/* 0x230 */ s32 mRupeeNum;
|
|
/* 0x234 */ s8 field_0x234;
|
|
/* 0x235 */ u8 field_0x235;
|
|
/* 0x236 */ u8 field_0x236;
|
|
/* 0x237 */ u8 field_0x237;
|
|
};
|
|
|
|
class dTimer_c : public msg_class {
|
|
public:
|
|
s32 _create();
|
|
BOOL _execute();
|
|
BOOL _draw();
|
|
BOOL _delete();
|
|
BOOL RestTimeCheck(int);
|
|
BOOL deleteCheck();
|
|
void SetSE();
|
|
bool start();
|
|
bool start(s16);
|
|
bool stock_start();
|
|
bool stock_start(s16);
|
|
bool stop(u8);
|
|
bool restart(u8);
|
|
bool end(int);
|
|
bool deleteRequest();
|
|
s32 getTimeMs();
|
|
s32 getLimitTimeMs();
|
|
s32 getRestTimeMs();
|
|
|
|
/* 0x0FC */ dDlst_TimerScrnDraw_c* mpScrnDraw;
|
|
/* 0x100 */ void* iconTex;
|
|
/* 0x104 */ request_of_phase_process_class mPhs;
|
|
/* 0x10C */ u32 field_0x10c;
|
|
/* 0x110 */ OSTime mStartTime;
|
|
/* 0x118 */ OSTime mTime;
|
|
/* 0x120 */ OSTime field_0x120;
|
|
/* 0x128 */ OSTime field_0x128;
|
|
/* 0x130 */ OSTime field_0x130;
|
|
/* 0x138 */ OSTime field_0x138;
|
|
/* 0x140 */ OSTime mLimitTime;
|
|
/* 0x148 */ u32 field_0x148;
|
|
/* 0x14C */ u32 field_0x14c;
|
|
/* 0x150 */ s32 field_0x150;
|
|
/* 0x154 */ s32 mTimerMode;
|
|
/* 0x158 */ s32 field_0x158;
|
|
/* 0x15C */ s32 field_0x15c;
|
|
/* 0x160 */ s16 field_0x160;
|
|
/* 0x162 */ u8 field_0x162;
|
|
/* 0x163 */ u8 field_0x163;
|
|
/* 0x164 */ u8 mState;
|
|
/* 0x168 */ s32 mSeTimeLeft;
|
|
/* 0x16C */ u32 mSeTableIndex;
|
|
/* 0x170 */ JKRSolidHeap* mpSolidHeap;
|
|
/* 0x174 */ u32 field_0x174;
|
|
};
|
|
|
|
fpc_ProcID dTimer_createStockTimer();
|
|
|
|
fpc_ProcID dTimer_createTimer(int, u16, u8, u8, f32, f32, f32, f32);
|
|
|
|
#endif /* D_TIMER_H */
|