d_timer start

This commit is contained in:
Jasper St. Pierre
2024-01-14 20:34:06 -08:00
parent 7655669c87
commit 5ab99df86e
5 changed files with 432 additions and 70 deletions
+8
View File
@@ -439,6 +439,8 @@ public:
dTimer_c* getTimerPtr() { return mTimerInfo.mTimerPtr; }
s32 getTimerMode() { return mTimerInfo.mTimerMode; }
s32 getTimerNowTimeMs() { return mTimerInfo.mTimerNowTimeMs; }
s32 getTimerLimitTimeMs() { return mTimerInfo.mTimerLimitTimeMs; }
s16 getItemMagicCount() { return mItemMagicCount; }
void setItemMagicCount(s16 magic) { mItemMagicCount += magic; }
@@ -523,6 +525,7 @@ public:
void setClothResArchive(JKRArchive * pArc) { mpClothResArchive = pArc; }
void setSaveResArchive(JKRArchive * pArc) { mpSaveResArchive = pArc; }
void setItemIconArchive(JKRArchive * pArc) { mpItemIconArchive = pArc; }
JKRArchive* getItemIconArchive() { return mpItemIconArchive; }
void setNameResArchive(JKRArchive * pArc) { mpNameResArchive = pArc; }
void setErrorResArchive(JKRArchive * pArc) { mpErrorResArchive = pArc; }
void setActionIconArchive(JKRArchive * pArc) { mpActionIconArchive = pArc; }
@@ -2774,6 +2777,7 @@ inline void dComIfGp_setOptResArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.pl
inline void dComIfGp_setClothResArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setClothResArchive(pArc); }
inline void dComIfGp_setSaveResArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setSaveResArchive(pArc); }
inline void dComIfGp_setItemIconArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setItemIconArchive(pArc); }
inline JKRArchive* dComIfGp_getItemIconArchive() { return g_dComIfG_gameInfo.play.getItemIconArchive(); }
inline void dComIfGp_setNameResArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setNameResArchive(pArc); }
inline void dComIfGp_setErrorResArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setErrorResArchive(pArc); }
inline void dComIfGp_setActionIconArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setActionIconArchive(pArc); }
@@ -3078,6 +3082,10 @@ inline u8 dComIfG_getBrightness() {
return g_dComIfG_gameInfo.mBrightness;
}
inline u32 dComIfG_getTimerRestTimeMs() {
return g_dComIfG_gameInfo.play.getTimerLimitTimeMs() - g_dComIfG_gameInfo.play.getTimerNowTimeMs();
}
int dComIfG_changeOpeningScene(scene_class* i_scene, s16 i_procName);
#endif /* D_COM_D_COM_INF_GAME_H */
+3 -2
View File
@@ -247,8 +247,9 @@ public:
/* 0x94 */ f32 field_0x94;
/* 0x98 */ u8 field_0x98;
/* 0x99 */ u8 field_0x99;
/* 0x9A */ short field_0x9a;
/* 0x9C */ u8 field_0x9C[0xA0 - 0x9C];
/* 0x9A */ s16 field_0x9a;
/* 0x9C */ s16 field_0x9c;
/* 0x9E */ s16 field_0x9e;
/* 0xA0 */ f32 field_0xa0;
/* 0xA4 */ short field_0xa4;
/* 0xA6 */ short field_0xa6;
+45 -14
View File
@@ -1,18 +1,20 @@
#ifndef D_TIMER_H
#define D_TIMER_H
#include "SSystem/SComponent/c_phase.h"
#include "f_op/f_op_msg_mng.h"
#include "d/d_drawlist.h"
#include "SSystem/SComponent/c_phase.h"
class J2DPane;
class JKRArchive;
class JKRSolidHeap;
class dDlst_TimerScrnDraw_c {
class dDlst_TimerScrnDraw_c : public dDlst_base_c {
public:
~dDlst_TimerScrnDraw_c();
void setScreen(const char*, JKRArchive*);
void changeNumberTexture(J2DPane*, int);
void getNumber(int);
const char* getNumber(int);
void setTimer(int);
void setRupee(s16);
void setPaneInitialPos(fopMsgM_pane_class*, f32, f32);
@@ -21,17 +23,46 @@ public:
void setShowType(u8);
void setIconType(void*, u8);
void anime();
void closeAnime();
void hide();
bool closeAnime();
bool hide();
void draw();
public:
/* 0x004 */ J2DScreen* scrn;
/* 0x008 */ fopMsgM_pane_class field_0x008;
/* 0x040 */ fopMsgM_pane_class field_0x040;
/* 0x078 */ fopMsgM_pane_class field_0x078;
/* 0x0B0 */ fopMsgM_pane_class field_0x0b0;
/* 0x0E8 */ fopMsgM_pane_class field_0x0e8;
/* 0x120 */ fopMsgM_pane_class field_0x120;
/* 0x158 */ fopMsgM_pane_class field_0x158;
/* 0x190 */ fopMsgM_pane_class field_0x190;
/* 0x1C8 */ fopMsgM_pane_class field_0x1c8;
/* 0x200 */ J2DPane* field_0x200;
/* 0x204 */ J2DPane* field_0x204;
/* 0x208 */ J2DPane* field_0x208;
/* 0x20C */ J2DPane* field_0x20c;
/* 0x210 */ J2DPane* field_0x210;
/* 0x214 */ J2DPane* field_0x214;
/* 0x218 */ J2DPane* field_0x218;
/* 0x21C */ J2DPane* field_0x21c;
/* 0x220 */ J2DPane* field_0x220;
/* 0x224 */ J2DPane* field_0x224;
/* 0x228 */ J2DPane* field_0x228;
/* 0x22C */ J2DPicture* field_0x22c;
/* 0x230 */ u32 field_0x230;
/* 0x234 */ s8 field_0x234;
/* 0x235 */ u8 field_0x235;
/* 0x236 */ u8 field_0x236;
/* 0x237 */ u8 field_0x237;
};
class dTimer_c {
class dTimer_c : public msg_class {
public:
void _create();
void _execute();
void _draw();
void _delete();
s32 _create();
BOOL _execute();
BOOL _draw();
BOOL _delete();
void RestTimeCheck(int);
void deleteCheck();
void SetSE();
@@ -47,14 +78,14 @@ public:
void getLimitTimeMs();
void getRestTimeMs();
/* 0x000 */ msg_class parent;
/* 0x0FC */ dDlst_TimerScrnDraw_c* mpScrnDraw;
/* 0x100 */ u8 field_0x100[0x104 - 0x100];
/* 0x100 */ void* iconTex;
/* 0x104 */ request_of_phase_process_class mPhs;
/* 0x10C */ u8 field_0x10C[0x154 - 0x10C];
/* 0x154 */ int field_0x154;
/* 0x154 */ u32 mType;
/* 0x158 */ u8 field_0x158[0x170 - 0x158];
/* 0x170 */ JKRHeap* mpSolidHeap;
/* 0x170 */ JKRSolidHeap* mpSolidHeap;
/* 0x174 */ u32 field_0x174;
};
#endif /* D_TIMER_H */
+8 -12
View File
@@ -25,20 +25,16 @@ struct fopMsg_prm_class {
/* 0x18 */ int field_0x18;
}; // Size: 0x1C
struct fopMsg_prm_timer {
/* 0x00 */ int field_0x0;
/* 0x04 */ cXyz field_0x4;
/* 0x10 */ int field_0x10;
/* 0x14 */ int field_0x14;
/* 0x18 */ u32 field_0x18;
struct fopMsg_prm_timer : public fopMsg_prm_class {
/* 0x1C */ int field_0x1c;
/* 0x20 */ u32 field_0x20;
/* 0x20 */ u8 field_0x20;
/* 0x21 */ u8 field_0x21;
/* 0x22 */ u8 mShowType;
/* 0x23 */ u8 mIconType;
/* 0x24 */ u8 field_0x24;
/* 0x25 */ u8 field_0x25;
/* 0x28 */ f32 field_0x28;
/* 0x2C */ f32 field_0x2c;
/* 0x30 */ f32 field_0x30;
/* 0x34 */ f32 field_0x34;
/* 0x28 */ cXy mTimerPos;
/* 0x30 */ cXy mRupeePos;
}; // Size: 0x38
class J2DScreen;
@@ -80,7 +76,7 @@ int fopMsgM_messageSet(u32 param_0);
int fopMsgM_messageSetDemo(u32 param_0);
msg_class* fopMsgM_SearchByID(unsigned int param_0);
char* fopMsgM_messageGet(char* msg, u32 string_id);
s32 fop_Timer_create(s16 param_0, u8 param_1, u32 param_2, u8 param_3, u8 param_4, f32 param_5,
s32 fop_Timer_create(s16 param_0, u8 param_1, u16 param_2, u8 param_3, u8 param_4, f32 param_5,
f32 param_6, f32 param_7, f32 param_8, fopMsgCreateFunc createFunc);
inline s32 fopMsgM_Timer_create(s16 param_0, u8 param_1, u32 param_2, u8 param_3, u8 param_4,
f32 param_5, f32 param_6, f32 param_7, f32 param_8,