diff --git a/include/d/d_timer.h b/include/d/d_timer.h index f4b0f517c4c..a70cac2145b 100644 --- a/include/d/d_timer.h +++ b/include/d/d_timer.h @@ -2,11 +2,30 @@ #define D_D_TIMER_H #include "SSystem/SComponent/c_xyz.h" +#include "SSystem/SComponent/c_phase.h" #include "dolphin/types.h" +#include "dolphin/os/OSTime.h" +#include "d/msg/d_msg_class.h" +#include "JSystem/JKernel/JKRExpHeap.h" void dTimer_createStockTimer(); -class dTimer_c { +class dTimer_c : public msg_class { +private: + /* 0x100 */ JKRExpHeap* mpHeap; + /* 0x104 */ u8 field_0x104[4]; + /* 0x108 */ request_of_phase_process_class mPhase; + /* 0x110 */ OSTime mTime1; + /* 0x118 */ OSTime mTime2; + /* 0x120 */ u8 field_0x120[32]; + /* 0x140 */ OSTime mTime3; + /* 0x148 */ u8 field_0x148[12]; + /* 0x154 */ int mTimerMode; + /* 0x158 */ u8 field_0x158[12]; + /* 0x164 */ u8 mSeIdx; + /* 0x165 */ u8 field_0x165[7]; + /* 0x16C */ u8 mDeleteCheck; + public: /* 8025CA0C */ void _create(); /* 8025CF04 */ void _execute(); diff --git a/src/d/d_timer.cpp b/src/d/d_timer.cpp index c45998a6a39..7fec36a8194 100644 --- a/src/d/d_timer.cpp +++ b/src/d/d_timer.cpp @@ -252,6 +252,11 @@ asm void dTimer_c::_delete() { #pragma pop /* 8025D524-8025D538 257E64 0014+00 0/0 1/1 0/0 .text deleteCheck__8dTimer_cFv */ +#ifndef NONMATCHING +int dTimer_c::deleteCheck() { + return mDeleteCheck == 7; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -260,6 +265,7 @@ asm int dTimer_c::deleteCheck() { #include "asm/d/d_timer/deleteCheck__8dTimer_cFv.s" } #pragma pop +#endif /* 8025D538-8025D618 257E78 00E0+00 1/1 1/1 0/0 .text start__8dTimer_cFi */ #pragma push