From 8518811226ff79bf31d8a9df446854bb53ef1614 Mon Sep 17 00:00:00 2001 From: Pheenoh Date: Thu, 22 Dec 2022 01:25:35 -0700 Subject: [PATCH] dTimer_c::isStart --- include/d/d_timer.h | 6 +++--- src/d/d_timer.cpp | 43 +++++++++++++++++++++++++------------------ 2 files changed, 28 insertions(+), 21 deletions(-) diff --git a/include/d/d_timer.h b/include/d/d_timer.h index 720297f2c55..69f7499c9ea 100644 --- a/include/d/d_timer.h +++ b/include/d/d_timer.h @@ -20,7 +20,7 @@ private: /* 0x120 */ u8 field_0x120[16]; /* 0x130 */ OSTime mTime3; /* 0x138 */ OSTime mTime5; - /* 0x140 */ OSTime mTime4; + /* 0x140 */ OSTime mLimitTime; /* 0x148 */ u8 field_0x148[12]; /* 0x154 */ int mTimerMode; /* 0x158 */ u8 field_0x158[12]; @@ -47,8 +47,8 @@ public: /* 8025D9E0 */ int deleteRequest(); /* 8025D9F0 */ int getTimeMs(); /* 8025DA54 */ int getLimitTimeMs(); - /* 8025DA9C */ void getRestTimeMs(); - /* 8025DB10 */ void isStart(); + /* 8025DA9C */ int getRestTimeMs(); + /* 8025DB10 */ int isStart(); /* 802613DC */ void createGetIn(cXyz); }; diff --git a/src/d/d_timer.cpp b/src/d/d_timer.cpp index 0816bfe89d9..fea7eba086f 100644 --- a/src/d/d_timer.cpp +++ b/src/d/d_timer.cpp @@ -360,37 +360,43 @@ int dTimer_c::deleteRequest() { } /* 8025D9F0-8025DA54 258330 0064+00 3/3 0/0 0/0 .text getTimeMs__8dTimer_cFv */ -#ifndef NONMATCHING int dTimer_c::getTimeMs() { return (mTime2 - mTime1 - mTime5) / OS_TIMER_CLOCK_MS; } +/* 8025DA54-8025DA9C 258394 0048+00 3/3 0/0 0/0 .text getLimitTimeMs__8dTimer_cFv */ +int dTimer_c::getLimitTimeMs() { + return mLimitTime / OS_TIMER_CLOCK_MS; +} + +/* 8025DA9C-8025DB10 2583DC 0074+00 2/2 0/0 1/1 .text getRestTimeMs__8dTimer_cFv */ +#ifdef NONMATCHING +// regs swapped +int dTimer_c::getRestTimeMs() { + OSTime tmpTime2 = mTime2 - mTime1 - mTime5; + // OSTime tmpTime = (mTime5) - mLimitTime; + + return (tmpTime2 - mLimitTime) / OS_TIMER_CLOCK_MS; +} #else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dTimer_c::getTimeMs() { - nofralloc -#include "asm/d/d_timer/getTimeMs__8dTimer_cFv.s" -} -#pragma pop -#endif - -/* 8025DA54-8025DA9C 258394 0048+00 3/3 0/0 0/0 .text getLimitTimeMs__8dTimer_cFv */ -int dTimer_c::getLimitTimeMs() { - return mTime4 / OS_TIMER_CLOCK_MS; -} - -/* 8025DA9C-8025DB10 2583DC 0074+00 2/2 0/0 1/1 .text getRestTimeMs__8dTimer_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dTimer_c::getRestTimeMs() { +asm int dTimer_c::getRestTimeMs() { nofralloc #include "asm/d/d_timer/getRestTimeMs__8dTimer_cFv.s" } #pragma pop +#endif /* 8025DB10-8025DB38 258450 0028+00 1/1 0/0 4/4 .text isStart__8dTimer_cFv */ +#ifndef NONMATCHING +int dTimer_c::isStart() { + if (field_0x16A != 1 && mDeleteCheck == 4) { + return 1; + } + return 0; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -399,6 +405,7 @@ asm void dTimer_c::isStart() { #include "asm/d/d_timer/isStart__8dTimer_cFv.s" } #pragma pop +#endif /* ############################################################################################## */ /* 803C33C0-803C33E4 -00001 0024+00 1/1 0/0 0/0 .data @5239 */