summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPheenoh <pheenoh@gmail.com>2022-12-22 01:25:35 -0700
committerPheenoh <pheenoh@gmail.com>2022-12-22 01:25:35 -0700
commit8518811226ff79bf31d8a9df446854bb53ef1614 (patch)
treecb1c826e461ae75b4f3d694e2b88b9fa85700a05
parent09cf836d6ef392356efc3c1e87e254900d7bdc28 (diff)
dTimer_c::isStart
-rw-r--r--include/d/d_timer.h6
-rw-r--r--src/d/d_timer.cpp35
2 files changed, 24 insertions, 17 deletions
diff --git a/include/d/d_timer.h b/include/d/d_timer.h
index 720297f2c5..69f7499c9e 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 0816bfe89d..fea7eba086 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;
}
-#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;
+ 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::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 */