From 5e997de2c1e7b6e841ccaf7d39e70f30f3eb5f67 Mon Sep 17 00:00:00 2001 From: Pheenoh Date: Wed, 21 Dec 2022 23:57:09 -0700 Subject: dTimer_c::deleteCheck --- src/d/d_timer.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/d/d_timer.cpp') diff --git a/src/d/d_timer.cpp b/src/d/d_timer.cpp index c45998a6a3..7fec36a819 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 -- cgit v1.2.3 From c4ed589f23cc04582596132bcbce2bfabdfee3cd Mon Sep 17 00:00:00 2001 From: Pheenoh Date: Thu, 22 Dec 2022 00:03:31 -0700 Subject: dTimer_c::stock_start --- src/d/d_timer.cpp | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) (limited to 'src/d/d_timer.cpp') diff --git a/src/d/d_timer.cpp b/src/d/d_timer.cpp index 7fec36a819..a7b378b2e2 100644 --- a/src/d/d_timer.cpp +++ b/src/d/d_timer.cpp @@ -252,20 +252,9 @@ 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 -asm int dTimer_c::deleteCheck() { - nofralloc -#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 @@ -288,16 +277,34 @@ asm void dTimer_c::start(int param_0, s16 param_1) { #pragma pop /* 8025D708-8025D7C0 258048 00B8+00 1/1 0/0 0/0 .text stock_start__8dTimer_cFv */ +#ifdef NONMATCHING +int dTimer_c::stock_start() { + if (mDeleteCheck == 0) { + field_0x168 = param_1 + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dTimer_c::stock_start() { +asm bool dTimer_c::stock_start() { nofralloc #include "asm/d/d_timer/stock_start__8dTimer_cFv.s" } #pragma pop +#endif /* 8025D7C0-8025D7E8 258100 0028+00 1/1 0/0 0/0 .text stock_start__8dTimer_cFs */ +#ifndef NONMATCHING +int dTimer_c::stock_start(s16 param_0) { + if (mDeleteCheck == 0) { + field_0x168 = param_0; + mDeleteCheck = 5; + return 1; + } + return 0; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -306,6 +313,7 @@ asm void dTimer_c::stock_start(s16 param_0) { #include "asm/d/d_timer/stock_start__8dTimer_cFs.s" } #pragma pop +#endif /* 8025D7E8-8025D86C 258128 0084+00 3/3 1/1 0/0 .text stop__8dTimer_cFUc */ #pragma push -- cgit v1.2.3 From 42d6d8c0bfaa71f9a87fe3b2313d0e60f67e879e Mon Sep 17 00:00:00 2001 From: Pheenoh Date: Thu, 22 Dec 2022 00:30:04 -0700 Subject: dTimer_c::stock_start (no param) attempt --- src/d/d_timer.cpp | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) (limited to 'src/d/d_timer.cpp') diff --git a/src/d/d_timer.cpp b/src/d/d_timer.cpp index a7b378b2e2..618c6b0b98 100644 --- a/src/d/d_timer.cpp +++ b/src/d/d_timer.cpp @@ -278,10 +278,21 @@ asm void dTimer_c::start(int param_0, s16 param_1) { /* 8025D708-8025D7C0 258048 00B8+00 1/1 0/0 0/0 .text stock_start__8dTimer_cFv */ #ifdef NONMATCHING -int dTimer_c::stock_start() { - if (mDeleteCheck == 0) { - field_0x168 = param_1 +bool dTimer_c::stock_start() { + if (mDeleteCheck == 5) { + mDeleteCheck = 4; + OSTime current_time = dLib_time_c::getTime(); + mTime1 = current_time; + mTime2 = current_time; + + int timer_ms = dComIfG_getTimerNowTimeMs(); + OSTime time1 = mTime1; + u32 timer_clock_ms = OS_TIMER_CLOCK / 1000; + + mTime1 = time1 - timer_clock_ms * timer_ms; + } + return mDeleteCheck == 5; } #else #pragma push @@ -295,7 +306,6 @@ asm bool dTimer_c::stock_start() { #endif /* 8025D7C0-8025D7E8 258100 0028+00 1/1 0/0 0/0 .text stock_start__8dTimer_cFs */ -#ifndef NONMATCHING int dTimer_c::stock_start(s16 param_0) { if (mDeleteCheck == 0) { field_0x168 = param_0; @@ -304,16 +314,6 @@ int dTimer_c::stock_start(s16 param_0) { } return 0; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dTimer_c::stock_start(s16 param_0) { - nofralloc -#include "asm/d/d_timer/stock_start__8dTimer_cFs.s" -} -#pragma pop -#endif /* 8025D7E8-8025D86C 258128 0084+00 3/3 1/1 0/0 .text stop__8dTimer_cFUc */ #pragma push -- cgit v1.2.3 From 282b2a33f440fc7a2d54fa951adc3e278ec93019 Mon Sep 17 00:00:00 2001 From: Pheenoh Date: Thu, 22 Dec 2022 00:36:10 -0700 Subject: dTimer_c::stop --- src/d/d_timer.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/d/d_timer.cpp') diff --git a/src/d/d_timer.cpp b/src/d/d_timer.cpp index 618c6b0b98..acb67d8003 100644 --- a/src/d/d_timer.cpp +++ b/src/d/d_timer.cpp @@ -316,6 +316,24 @@ int dTimer_c::stock_start(s16 param_0) { } /* 8025D7E8-8025D86C 258128 0084+00 3/3 1/1 0/0 .text stop__8dTimer_cFUc */ +#ifndef NONMATCHING +int dTimer_c::stop(u8 param_0) { + int ret; + + if (field_0x16A == 1 || field_0x16B != 0) { + ret = 0; + } else if (mDeleteCheck != 4) { + ret = 0; + } else { + mTime3 = dLib_time_c::getTime(); + field_0x16A = 1; + field_0x16B = param_0; + ret = 1; + } + + return ret; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -324,6 +342,7 @@ asm void dTimer_c::stop(u8 param_0) { #include "asm/d/d_timer/stop__8dTimer_cFUc.s" } #pragma pop +#endif /* 8025D86C-8025D920 2581AC 00B4+00 1/1 1/1 0/0 .text restart__8dTimer_cFUc */ #pragma push -- cgit v1.2.3 From 538c1d22141ec31288c7b06960a2e43e307d44b5 Mon Sep 17 00:00:00 2001 From: Pheenoh Date: Thu, 22 Dec 2022 00:37:31 -0700 Subject: dTimer_c::deleteRequest --- src/d/d_timer.cpp | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) (limited to 'src/d/d_timer.cpp') diff --git a/src/d/d_timer.cpp b/src/d/d_timer.cpp index acb67d8003..c15c57c8a3 100644 --- a/src/d/d_timer.cpp +++ b/src/d/d_timer.cpp @@ -316,10 +316,9 @@ int dTimer_c::stock_start(s16 param_0) { } /* 8025D7E8-8025D86C 258128 0084+00 3/3 1/1 0/0 .text stop__8dTimer_cFUc */ -#ifndef NONMATCHING int dTimer_c::stop(u8 param_0) { int ret; - + if (field_0x16A == 1 || field_0x16B != 0) { ret = 0; } else if (mDeleteCheck != 4) { @@ -333,16 +332,6 @@ int dTimer_c::stop(u8 param_0) { return ret; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dTimer_c::stop(u8 param_0) { - nofralloc -#include "asm/d/d_timer/stop__8dTimer_cFUc.s" -} -#pragma pop -#endif /* 8025D86C-8025D920 2581AC 00B4+00 1/1 1/1 0/0 .text restart__8dTimer_cFUc */ #pragma push @@ -365,6 +354,12 @@ asm void dTimer_c::end(int param_0) { #pragma pop /* 8025D9E0-8025D9F0 258320 0010+00 0/0 1/1 0/0 .text deleteRequest__8dTimer_cFv */ +#ifndef NONMATCHING +int dTimer_c::deleteRequest() { + mDeleteCheck = 8; + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -373,6 +368,7 @@ asm void dTimer_c::deleteRequest() { #include "asm/d/d_timer/deleteRequest__8dTimer_cFv.s" } #pragma pop +#endif /* 8025D9F0-8025DA54 258330 0064+00 3/3 0/0 0/0 .text getTimeMs__8dTimer_cFv */ #pragma push -- cgit v1.2.3 From 995d81d7ea8c3dbb93f1c4257428e66039038ada Mon Sep 17 00:00:00 2001 From: Pheenoh Date: Thu, 22 Dec 2022 00:46:31 -0700 Subject: dTimer_c::getLimitTimeMs --- src/d/d_timer.cpp | 21 ++------------------- 1 file changed, 2 insertions(+), 19 deletions(-) (limited to 'src/d/d_timer.cpp') diff --git a/src/d/d_timer.cpp b/src/d/d_timer.cpp index c15c57c8a3..4f42309a44 100644 --- a/src/d/d_timer.cpp +++ b/src/d/d_timer.cpp @@ -354,21 +354,10 @@ asm void dTimer_c::end(int param_0) { #pragma pop /* 8025D9E0-8025D9F0 258320 0010+00 0/0 1/1 0/0 .text deleteRequest__8dTimer_cFv */ -#ifndef NONMATCHING int dTimer_c::deleteRequest() { mDeleteCheck = 8; return 1; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dTimer_c::deleteRequest() { - nofralloc -#include "asm/d/d_timer/deleteRequest__8dTimer_cFv.s" -} -#pragma pop -#endif /* 8025D9F0-8025DA54 258330 0064+00 3/3 0/0 0/0 .text getTimeMs__8dTimer_cFv */ #pragma push @@ -381,15 +370,9 @@ asm void dTimer_c::getTimeMs() { #pragma pop /* 8025DA54-8025DA9C 258394 0048+00 3/3 0/0 0/0 .text getLimitTimeMs__8dTimer_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dTimer_c::getLimitTimeMs() { - nofralloc -#include "asm/d/d_timer/getLimitTimeMs__8dTimer_cFv.s" +int dTimer_c::getLimitTimeMs() { + return mTime4 / OS_TIMER_CLOCK_MS; } -#pragma pop - /* 8025DA9C-8025DB10 2583DC 0074+00 2/2 0/0 1/1 .text getRestTimeMs__8dTimer_cFv */ #pragma push #pragma optimization_level 0 -- cgit v1.2.3 From 09cf836d6ef392356efc3c1e87e254900d7bdc28 Mon Sep 17 00:00:00 2001 From: Pheenoh Date: Thu, 22 Dec 2022 00:57:43 -0700 Subject: dTimer_c::getTimeMs --- src/d/d_timer.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/d/d_timer.cpp') diff --git a/src/d/d_timer.cpp b/src/d/d_timer.cpp index 4f42309a44..0816bfe89d 100644 --- a/src/d/d_timer.cpp +++ b/src/d/d_timer.cpp @@ -360,6 +360,11 @@ 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 @@ -368,11 +373,13 @@ asm void dTimer_c::getTimeMs() { #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 -- cgit v1.2.3 From 8518811226ff79bf31d8a9df446854bb53ef1614 Mon Sep 17 00:00:00 2001 From: Pheenoh Date: Thu, 22 Dec 2022 01:25:35 -0700 Subject: dTimer_c::isStart --- src/d/d_timer.cpp | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) (limited to 'src/d/d_timer.cpp') 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 */ -- cgit v1.2.3 From 2764ca7bec0a8f89a4278e66217533c22a5e6fd5 Mon Sep 17 00:00:00 2001 From: Pheenoh Date: Thu, 22 Dec 2022 08:06:17 -0700 Subject: dTimer_Draw --- src/d/d_timer.cpp | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) (limited to 'src/d/d_timer.cpp') diff --git a/src/d/d_timer.cpp b/src/d/d_timer.cpp index fea7eba086..2ec74b3ffe 100644 --- a/src/d/d_timer.cpp +++ b/src/d/d_timer.cpp @@ -389,24 +389,12 @@ asm int dTimer_c::getRestTimeMs() { #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 -asm void dTimer_c::isStart() { - nofralloc -#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 */ SECTION_DATA static void* lit_5239[9] = { @@ -807,6 +795,11 @@ asm void dDlst_TimerScrnDraw_c::drawPikari(int param_0) { #pragma pop /* 80260F04-80260F24 25B844 0020+00 1/0 0/0 0/0 .text dTimer_Draw__FP8dTimer_c */ +#ifndef NONMATCHING +static void dTimer_Draw(dTimer_c* i_timer) { + i_timer->_draw(); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -815,6 +808,7 @@ static asm void dTimer_Draw(dTimer_c* param_0) { #include "asm/d/d_timer/dTimer_Draw__FP8dTimer_c.s" } #pragma pop +#endif /* 80260F24-80260F44 25B864 0020+00 1/0 0/0 0/0 .text dTimer_Execute__FP8dTimer_c */ #pragma push -- cgit v1.2.3 From d3ef35d560f5379711b4b8676c5a07d517a0cd68 Mon Sep 17 00:00:00 2001 From: Pheenoh Date: Thu, 22 Dec 2022 08:10:03 -0700 Subject: dTimer_Create --- src/d/d_timer.cpp | 37 +++++++++++-------------------------- 1 file changed, 11 insertions(+), 26 deletions(-) (limited to 'src/d/d_timer.cpp') diff --git a/src/d/d_timer.cpp b/src/d/d_timer.cpp index 2ec74b3ffe..554cbbccc5 100644 --- a/src/d/d_timer.cpp +++ b/src/d/d_timer.cpp @@ -795,47 +795,31 @@ asm void dDlst_TimerScrnDraw_c::drawPikari(int param_0) { #pragma pop /* 80260F04-80260F24 25B844 0020+00 1/0 0/0 0/0 .text dTimer_Draw__FP8dTimer_c */ -#ifndef NONMATCHING static void dTimer_Draw(dTimer_c* i_timer) { i_timer->_draw(); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void dTimer_Draw(dTimer_c* param_0) { - nofralloc -#include "asm/d/d_timer/dTimer_Draw__FP8dTimer_c.s" -} -#pragma pop -#endif /* 80260F24-80260F44 25B864 0020+00 1/0 0/0 0/0 .text dTimer_Execute__FP8dTimer_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void dTimer_Execute(dTimer_c* param_0) { - nofralloc -#include "asm/d/d_timer/dTimer_Execute__FP8dTimer_c.s" +static void dTimer_Execute(dTimer_c* i_timer) { + i_timer->_execute(); } -#pragma pop /* 80260F44-80260F4C 25B884 0008+00 1/0 0/0 0/0 .text dTimer_IsDelete__FP8dTimer_c */ -static bool dTimer_IsDelete(dTimer_c* param_0) { +static bool dTimer_IsDelete(dTimer_c* i_timer) { return true; } /* 80260F4C-80260F6C 25B88C 0020+00 1/0 0/0 0/0 .text dTimer_Delete__FP8dTimer_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void dTimer_Delete(dTimer_c* param_0) { - nofralloc -#include "asm/d/d_timer/dTimer_Delete__FP8dTimer_c.s" +static void dTimer_Delete(dTimer_c* i_timer) { + i_timer->_delete(); } -#pragma pop /* 80260F6C-80260F8C 25B8AC 0020+00 1/0 0/0 0/0 .text dTimer_Create__FP9msg_class */ +#ifndef NONMATCHING +static void dTimer_Create(msg_class* i_timer) { + ((dTimer_c*)i_timer)->_create(); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -844,6 +828,7 @@ static asm void dTimer_Create(msg_class* param_0) { #include "asm/d/d_timer/dTimer_Create__FP9msg_class.s" } #pragma pop +#endif /* 80260F8C-80261034 25B8CC 00A8+00 0/0 1/1 9/9 .text dTimer_createTimer__FlUlUcUcffff */ #pragma push -- cgit v1.2.3 From a2c1e7afafc5c494aabf55629909eaea4264f0fa Mon Sep 17 00:00:00 2001 From: Pheenoh Date: Thu, 22 Dec 2022 10:36:47 -0700 Subject: dTimer_createStockTimer --- src/d/d_timer.cpp | 48 +++++++++++++++++++++++++++++------------------- 1 file changed, 29 insertions(+), 19 deletions(-) (limited to 'src/d/d_timer.cpp') diff --git a/src/d/d_timer.cpp b/src/d/d_timer.cpp index 554cbbccc5..6cb0841bf4 100644 --- a/src/d/d_timer.cpp +++ b/src/d/d_timer.cpp @@ -5,9 +5,11 @@ #include "d/d_timer.h" #include "d/com/d_com_inf_game.h" +#include "f_op/f_op_msg_mng.h" #include "dol2asm.h" #include "dolphin/types.h" + // // Types: // @@ -815,32 +817,24 @@ static void dTimer_Delete(dTimer_c* i_timer) { } /* 80260F6C-80260F8C 25B8AC 0020+00 1/0 0/0 0/0 .text dTimer_Create__FP9msg_class */ -#ifndef NONMATCHING static void dTimer_Create(msg_class* i_timer) { ((dTimer_c*)i_timer)->_create(); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void dTimer_Create(msg_class* param_0) { - nofralloc -#include "asm/d/d_timer/dTimer_Create__FP9msg_class.s" -} -#pragma pop -#endif /* 80260F8C-80261034 25B8CC 00A8+00 0/0 1/1 9/9 .text dTimer_createTimer__FlUlUcUcffff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dTimer_createTimer(s32 param_0, u32 param_1, u8 param_2, u8 param_3, f32 param_4, +s32 dTimer_createTimer(s32 param_0, u32 param_1, u8 param_2, u8 param_3, f32 param_4, f32 param_5, f32 param_6, f32 param_7) { - nofralloc -#include "asm/d/d_timer/dTimer_createTimer__FlUlUcUcffff.s" -} -#pragma pop + s32 ret; + if (dComIfG_getTimerMode() == -1) { + ret = fopMsgM_Timer_create(0x315,param_0,param_1,param_2,param_3,param_4,param_5,param_6,param_7,0); + } + else { + ret = -1; + } + + return ret; +} /* ############################################################################################## */ /* 8039A3D8-8039A3D8 026A38 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ #pragma push @@ -863,6 +857,21 @@ SECTION_SDATA2 static f32 lit_5546 = 32.0f; SECTION_SDATA2 static f32 lit_5547 = 419.0f; /* 80261034-80261100 25B974 00CC+00 0/0 1/1 0/0 .text dTimer_createStockTimer__Fv */ +#ifndef NONMATCHING +s32 dTimer_createStockTimer() { + if (dComIfG_getTimerMode() != -1) { + if ((dComIfG_getTimerMode() == 3 || dComIfG_getTimerMode() == 4) && strcmp(dComIfGp_getStartStageName(),"F_SP115")) { + dComIfG_setTimerMode(-1); + return -1; + } else { + u8 timer_type = dComIfG_getTimerType(); + return fopMsgM_Timer_create(0x315,10,0,timer_type,0,FLOAT_LABEL(lit_5544),FLOAT_LABEL(lit_5545),FLOAT_LABEL(lit_5546),FLOAT_LABEL(lit_5547),0); + } + } else { + return -1; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -871,6 +880,7 @@ asm void dTimer_createStockTimer() { #include "asm/d/d_timer/dTimer_createStockTimer__Fv.s" } #pragma pop +#endif /* 80261100-80261188 25BA40 0088+00 0/0 0/0 1/1 .text dTimer_createGetIn2D__Fl4cXyz */ #pragma push -- cgit v1.2.3 From cf04f10a8327f847b119fa425a93cd1311e08c2b Mon Sep 17 00:00:00 2001 From: Pheenoh Date: Thu, 22 Dec 2022 12:31:19 -0700 Subject: dTimer_createGetIn2D --- src/d/d_timer.cpp | 70 +++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 58 insertions(+), 12 deletions(-) (limited to 'src/d/d_timer.cpp') diff --git a/src/d/d_timer.cpp b/src/d/d_timer.cpp index 6cb0841bf4..5acaa97c5a 100644 --- a/src/d/d_timer.cpp +++ b/src/d/d_timer.cpp @@ -8,6 +8,7 @@ #include "f_op/f_op_msg_mng.h" #include "dol2asm.h" #include "dolphin/types.h" +#include "m_Do/m_Do_lib.h" // @@ -857,7 +858,6 @@ SECTION_SDATA2 static f32 lit_5546 = 32.0f; SECTION_SDATA2 static f32 lit_5547 = 419.0f; /* 80261034-80261100 25B974 00CC+00 0/0 1/1 0/0 .text dTimer_createStockTimer__Fv */ -#ifndef NONMATCHING s32 dTimer_createStockTimer() { if (dComIfG_getTimerMode() != -1) { if ((dComIfG_getTimerMode() == 3 || dComIfG_getTimerMode() == 4) && strcmp(dComIfGp_getStartStageName(),"F_SP115")) { @@ -871,18 +871,21 @@ s32 dTimer_createStockTimer() { return -1; } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dTimer_createStockTimer() { - nofralloc -#include "asm/d/d_timer/dTimer_createStockTimer__Fv.s" -} -#pragma pop -#endif /* 80261100-80261188 25BA40 0088+00 0/0 0/0 1/1 .text dTimer_createGetIn2D__Fl4cXyz */ +#ifndef NONMATCHING +u32 dTimer_createGetIn2D(s32 param_0, cXyz param_1) { + if (dComIfG_getTimerPtr()) { + cXyz tmp; + mDoLib_project(¶m_1,&tmp); + param_0 = dComIfG_getTimerPtr()->createGetIn(tmp); + } else { + param_0 = 0; + } + + return param_0; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -891,8 +894,14 @@ asm void dTimer_createGetIn2D(s32 param_0, cXyz param_1) { #include "asm/d/d_timer/dTimer_createGetIn2D__Fl4cXyz.s" } #pragma pop +#endif /* 80261188-802611F0 25BAC8 0068+00 1/1 0/0 0/0 .text dTimer_createStart2D__FlUs */ +#ifdef NONMATCHING +static int dTimer_createStart2D(s32 param_0, u16 param_1) { + +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -901,8 +910,14 @@ static asm void dTimer_createStart2D(s32 param_0, u16 param_1) { #include "asm/d/d_timer/dTimer_createStart2D__FlUs.s" } #pragma pop +#endif /* 802611F0-80261244 25BB30 0054+00 0/0 0/0 5/5 .text dTimer_isStart__Fv */ +#ifdef NONMATCHING +int dTimer_isStart() { + +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -911,8 +926,14 @@ asm void dTimer_isStart() { #include "asm/d/d_timer/dTimer_isStart__Fv.s" } #pragma pop +#endif /* 80261244-80261298 25BB84 0054+00 0/0 0/0 2/2 .text dTimer_getRestTimeMs__Fv */ +#ifdef NONMATCHING +int dTimer_getRestTimeMs() { + +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -921,8 +942,14 @@ asm void dTimer_getRestTimeMs() { #include "asm/d/d_timer/dTimer_getRestTimeMs__Fv.s" } #pragma pop +#endif /* 80261298-802612EC 25BBD8 0054+00 0/0 0/0 2/2 .text dTimer_show__Fv */ +#ifdef NONMATCHING +void dTimer_show() { + +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -931,8 +958,14 @@ asm void dTimer_show() { #include "asm/d/d_timer/dTimer_show__Fv.s" } #pragma pop +#endif /* 802612EC-80261340 25BC2C 0054+00 0/0 0/0 2/2 .text dTimer_hide__Fv */ +#ifdef NONMATCHING +void dTimer_hide() { + +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -941,8 +974,14 @@ asm void dTimer_hide() { #include "asm/d/d_timer/dTimer_hide__Fv.s" } #pragma pop +#endif /* 80261340-80261394 25BC80 0054+00 0/0 0/0 1/1 .text dTimer_isReadyFlag__Fv */ +#ifdef NONMATCHING +u32 dTimer_isReadyFlag() { + +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -951,6 +990,7 @@ asm void dTimer_isReadyFlag() { #include "asm/d/d_timer/dTimer_isReadyFlag__Fv.s" } #pragma pop +#endif /* 80261394-802613DC 25BCD4 0048+00 1/0 0/0 0/0 .text __dt__21dDlst_TimerScrnDraw_cFv */ #pragma push @@ -963,13 +1003,19 @@ asm dDlst_TimerScrnDraw_c::~dDlst_TimerScrnDraw_c() { #pragma pop /* 802613DC-8026141C 25BD1C 0040+00 1/1 0/0 0/0 .text createGetIn__8dTimer_cF4cXyz */ +#ifdef NONMATCHING +void dTimer_c::createGetIn(cXyz param_0) { + +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dTimer_c::createGetIn(cXyz param_0) { +asm int dTimer_c::createGetIn(cXyz param_0) { nofralloc #include "asm/d/d_timer/createGetIn__8dTimer_cF4cXyz.s" } #pragma pop +#endif /* 8039A3D8-8039A3D8 026A38 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -- cgit v1.2.3 From 4d77ac57d2695c8b21cd8f3a3356b20ab897aa22 Mon Sep 17 00:00:00 2001 From: Pheenoh Date: Thu, 22 Dec 2022 12:58:10 -0700 Subject: dTimer_createStart2D --- src/d/d_timer.cpp | 62 +++++++++---------------------------------------------- 1 file changed, 10 insertions(+), 52 deletions(-) (limited to 'src/d/d_timer.cpp') diff --git a/src/d/d_timer.cpp b/src/d/d_timer.cpp index 5acaa97c5a..a1fef2a117 100644 --- a/src/d/d_timer.cpp +++ b/src/d/d_timer.cpp @@ -19,34 +19,7 @@ struct dMsgObject_c { /* 8023822C */ void getStatus(); }; -struct dDlst_TimerScrnDraw_c { - /* 8025DB38 */ dDlst_TimerScrnDraw_c(); - /* 8025DBE0 */ void setHIO(); - /* 8025DFBC */ void setScreen(s32, JKRArchive*); - /* 8025E240 */ void setScreenBase(); - /* 8025E66C */ void setScreenBoatRace(); - /* 8025E8B8 */ void setScreenRider(); - /* 8025EB20 */ void hideDenominator(); - /* 8025EC5C */ void deleteScreen(); - /* 8025EE24 */ void changeNumberTexture(J2DPane*, int); - /* 8025EECC */ void getNumber(int); - /* 8025EEF0 */ void setTimer(int); - /* 8025F180 */ void setCounter(u8, u8); - /* 8025FA00 */ void setParentPos(f32, f32); - /* 8025FA2C */ void setTimerPos(f32, f32); - /* 8025FA6C */ void setCounterPos(f32, f32); - /* 8025FA98 */ void setImagePos(f32, f32); - /* 8025FAC4 */ void setShowType(u8); - /* 8025FB74 */ void anime(); - /* 8025FF98 */ void closeAnime(); - /* 802601E4 */ void createGetIn(cXyz); - /* 80260574 */ void createStart(u16); - /* 80260690 */ void draw(); - /* 80260AA8 */ void checkStartAnimeEnd(); - /* 80260AD4 */ void playBckAnimation(f32); - /* 80260B54 */ void drawPikari(int); - /* 80261394 */ ~dDlst_TimerScrnDraw_c(); -}; + struct J2DAnmLoaderDataBase { /* 80308A6C */ void load(void const*); @@ -739,7 +712,7 @@ asm void dDlst_TimerScrnDraw_c::createGetIn(cXyz param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dDlst_TimerScrnDraw_c::createStart(u16 param_0) { +asm s32 dDlst_TimerScrnDraw_c::createStart(u16 param_0) { nofralloc #include "asm/d/d_timer/createStart__21dDlst_TimerScrnDraw_cFUs.s" } @@ -873,7 +846,6 @@ s32 dTimer_createStockTimer() { } /* 80261100-80261188 25BA40 0088+00 0/0 0/0 1/1 .text dTimer_createGetIn2D__Fl4cXyz */ -#ifndef NONMATCHING u32 dTimer_createGetIn2D(s32 param_0, cXyz param_1) { if (dComIfG_getTimerPtr()) { cXyz tmp; @@ -885,32 +857,18 @@ u32 dTimer_createGetIn2D(s32 param_0, cXyz param_1) { return param_0; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dTimer_createGetIn2D(s32 param_0, cXyz param_1) { - nofralloc -#include "asm/d/d_timer/dTimer_createGetIn2D__Fl4cXyz.s" -} -#pragma pop -#endif /* 80261188-802611F0 25BAC8 0068+00 1/1 0/0 0/0 .text dTimer_createStart2D__FlUs */ -#ifdef NONMATCHING static int dTimer_createStart2D(s32 param_0, u16 param_1) { - -} -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void dTimer_createStart2D(s32 param_0, u16 param_1) { - nofralloc -#include "asm/d/d_timer/dTimer_createStart2D__FlUs.s" + dTimer_c* timer = dComIfG_getTimerPtr(); + if (timer) { + param_0 = dComIfG_getTimerPtr()->createStart(param_1); + } else { + param_0 = 0; + } + + return param_0; } -#pragma pop -#endif /* 802611F0-80261244 25BB30 0054+00 0/0 0/0 5/5 .text dTimer_isStart__Fv */ #ifdef NONMATCHING -- cgit v1.2.3 From 861541a4d25cc5ac070afbd367ea3d22351b066c Mon Sep 17 00:00:00 2001 From: Pheenoh Date: Thu, 22 Dec 2022 13:02:32 -0700 Subject: dTimer_isStart --- src/d/d_timer.cpp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'src/d/d_timer.cpp') diff --git a/src/d/d_timer.cpp b/src/d/d_timer.cpp index a1fef2a117..add562a252 100644 --- a/src/d/d_timer.cpp +++ b/src/d/d_timer.cpp @@ -860,8 +860,7 @@ u32 dTimer_createGetIn2D(s32 param_0, cXyz param_1) { /* 80261188-802611F0 25BAC8 0068+00 1/1 0/0 0/0 .text dTimer_createStart2D__FlUs */ static int dTimer_createStart2D(s32 param_0, u16 param_1) { - dTimer_c* timer = dComIfG_getTimerPtr(); - if (timer) { + if (dComIfG_getTimerPtr()) { param_0 = dComIfG_getTimerPtr()->createStart(param_1); } else { param_0 = 0; @@ -871,9 +870,17 @@ static int dTimer_createStart2D(s32 param_0, u16 param_1) { } /* 802611F0-80261244 25BB30 0054+00 0/0 0/0 5/5 .text dTimer_isStart__Fv */ -#ifdef NONMATCHING +#ifndef NONMATCHING int dTimer_isStart() { - + int ret; + if (dComIfG_getTimerPtr()) { + ret = dComIfG_getTimerPtr()->isStart(); + } else { + ret = 0; + } + + return ret; + } #else #pragma push -- cgit v1.2.3 From dd8a1ca27ff3a0b4ad9db479ccb59c9e97fa1cec Mon Sep 17 00:00:00 2001 From: Pheenoh Date: Thu, 22 Dec 2022 13:03:11 -0700 Subject: dTimer_getRestTimeMs --- src/d/d_timer.cpp | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) (limited to 'src/d/d_timer.cpp') diff --git a/src/d/d_timer.cpp b/src/d/d_timer.cpp index add562a252..b38d431102 100644 --- a/src/d/d_timer.cpp +++ b/src/d/d_timer.cpp @@ -870,9 +870,9 @@ static int dTimer_createStart2D(s32 param_0, u16 param_1) { } /* 802611F0-80261244 25BB30 0054+00 0/0 0/0 5/5 .text dTimer_isStart__Fv */ -#ifndef NONMATCHING int dTimer_isStart() { int ret; + if (dComIfG_getTimerPtr()) { ret = dComIfG_getTimerPtr()->isStart(); } else { @@ -882,21 +882,18 @@ int dTimer_isStart() { return ret; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dTimer_isStart() { - nofralloc -#include "asm/d/d_timer/dTimer_isStart__Fv.s" -} -#pragma pop -#endif - /* 80261244-80261298 25BB84 0054+00 0/0 0/0 2/2 .text dTimer_getRestTimeMs__Fv */ -#ifdef NONMATCHING +#ifndef NONMATCHING int dTimer_getRestTimeMs() { - + int ret; + + if (dComIfG_getTimerPtr()) { + ret = dComIfG_getTimerPtr()->getRestTimeMs(); + } else { + ret = 0; + } + + return ret; } #else #pragma push -- cgit v1.2.3 From 90ac790694c05b0d16784c8a20a71023d5cc43f0 Mon Sep 17 00:00:00 2001 From: Pheenoh Date: Thu, 22 Dec 2022 13:07:26 -0700 Subject: dTimer_show and dTimer_hide --- src/d/d_timer.cpp | 32 +++++++------------------------- 1 file changed, 7 insertions(+), 25 deletions(-) (limited to 'src/d/d_timer.cpp') diff --git a/src/d/d_timer.cpp b/src/d/d_timer.cpp index b38d431102..6aa53e364a 100644 --- a/src/d/d_timer.cpp +++ b/src/d/d_timer.cpp @@ -883,7 +883,6 @@ int dTimer_isStart() { } /* 80261244-80261298 25BB84 0054+00 0/0 0/0 2/2 .text dTimer_getRestTimeMs__Fv */ -#ifndef NONMATCHING int dTimer_getRestTimeMs() { int ret; @@ -895,37 +894,20 @@ int dTimer_getRestTimeMs() { return ret; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dTimer_getRestTimeMs() { - nofralloc -#include "asm/d/d_timer/dTimer_getRestTimeMs__Fv.s" -} -#pragma pop -#endif /* 80261298-802612EC 25BBD8 0054+00 0/0 0/0 2/2 .text dTimer_show__Fv */ -#ifdef NONMATCHING void dTimer_show() { - -} -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dTimer_show() { - nofralloc -#include "asm/d/d_timer/dTimer_show__Fv.s" + if (dComIfG_getTimerPtr()) { + dComIfG_getTimerPtr()->show(); + } } -#pragma pop -#endif /* 802612EC-80261340 25BC2C 0054+00 0/0 0/0 2/2 .text dTimer_hide__Fv */ -#ifdef NONMATCHING +#ifndef NONMATCHING void dTimer_hide() { - + if (dComIfG_getTimerPtr()) { + dComIfG_getTimerPtr()->hide(); + } } #else #pragma push -- cgit v1.2.3 From 07419c7e9f948d5f68d26fd4d981b5efb95d4119 Mon Sep 17 00:00:00 2001 From: Pheenoh Date: Thu, 22 Dec 2022 13:10:09 -0700 Subject: dTimer_isReadyFlag --- src/d/d_timer.cpp | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) (limited to 'src/d/d_timer.cpp') diff --git a/src/d/d_timer.cpp b/src/d/d_timer.cpp index 6aa53e364a..b5a4c8162d 100644 --- a/src/d/d_timer.cpp +++ b/src/d/d_timer.cpp @@ -903,27 +903,24 @@ void dTimer_show() { } /* 802612EC-80261340 25BC2C 0054+00 0/0 0/0 2/2 .text dTimer_hide__Fv */ -#ifndef NONMATCHING void dTimer_hide() { if (dComIfG_getTimerPtr()) { dComIfG_getTimerPtr()->hide(); } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dTimer_hide() { - nofralloc -#include "asm/d/d_timer/dTimer_hide__Fv.s" -} -#pragma pop -#endif /* 80261340-80261394 25BC80 0054+00 0/0 0/0 1/1 .text dTimer_isReadyFlag__Fv */ -#ifdef NONMATCHING +#ifndef NONMATCHING u32 dTimer_isReadyFlag() { - + u32 ret; + + if (dComIfG_getTimerPtr()) { + ret = dComIfG_getTimerPtr()->isReadyFlag(); + } else { + ret = 0; + } + + return ret; } #else #pragma push -- cgit v1.2.3 From 07c9f3234b8a6573e2feec10d65c30f115cc0859 Mon Sep 17 00:00:00 2001 From: Pheenoh Date: Thu, 22 Dec 2022 13:32:41 -0700 Subject: dTimer_c::_draw --- src/d/d_timer.cpp | 39 ++++++++++++++++++--------------------- 1 file changed, 18 insertions(+), 21 deletions(-) (limited to 'src/d/d_timer.cpp') diff --git a/src/d/d_timer.cpp b/src/d/d_timer.cpp index b5a4c8162d..1d52d160ad 100644 --- a/src/d/d_timer.cpp +++ b/src/d/d_timer.cpp @@ -15,10 +15,6 @@ // Types: // -struct dMsgObject_c { - /* 8023822C */ void getStatus(); -}; - struct J2DAnmLoaderDataBase { @@ -208,6 +204,23 @@ asm void dTimer_c::_execute() { #pragma pop /* 8025D33C-8025D3BC 257C7C 0080+00 1/1 0/0 0/0 .text _draw__8dTimer_cFv */ + +#ifndef NONMATCHING +int dTimer_c::_draw() { + int ret; + + if (dComIfGp_isPauseFlag() || dMsgObject_isTalkNowCheck()) { + ret = 1; + } else { + dComIfGd_set2DOpa((dDlst_base_c*)field_0xfc); + ret = 1; + } + + + return ret; + +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -216,6 +229,7 @@ asm void dTimer_c::_draw() { #include "asm/d/d_timer/_draw__8dTimer_cFv.s" } #pragma pop +#endif /* 8025D3BC-8025D524 257CFC 0168+00 1/1 0/0 0/0 .text _delete__8dTimer_cFv */ #pragma push @@ -910,7 +924,6 @@ void dTimer_hide() { } /* 80261340-80261394 25BC80 0054+00 0/0 0/0 1/1 .text dTimer_isReadyFlag__Fv */ -#ifndef NONMATCHING u32 dTimer_isReadyFlag() { u32 ret; @@ -922,16 +935,6 @@ u32 dTimer_isReadyFlag() { return ret; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dTimer_isReadyFlag() { - nofralloc -#include "asm/d/d_timer/dTimer_isReadyFlag__Fv.s" -} -#pragma pop -#endif /* 80261394-802613DC 25BCD4 0048+00 1/0 0/0 0/0 .text __dt__21dDlst_TimerScrnDraw_cFv */ #pragma push @@ -944,11 +947,6 @@ asm dDlst_TimerScrnDraw_c::~dDlst_TimerScrnDraw_c() { #pragma pop /* 802613DC-8026141C 25BD1C 0040+00 1/1 0/0 0/0 .text createGetIn__8dTimer_cF4cXyz */ -#ifdef NONMATCHING -void dTimer_c::createGetIn(cXyz param_0) { - -} -#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -957,6 +955,5 @@ asm int dTimer_c::createGetIn(cXyz param_0) { #include "asm/d/d_timer/createGetIn__8dTimer_cF4cXyz.s" } #pragma pop -#endif /* 8039A3D8-8039A3D8 026A38 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -- cgit v1.2.3 From 9d049c1549175301d2aa5c8e22bcddb13876f997 Mon Sep 17 00:00:00 2001 From: Pheenoh Date: Thu, 22 Dec 2022 13:49:29 -0700 Subject: dTime_c::stock_start attempt again --- src/d/d_timer.cpp | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) (limited to 'src/d/d_timer.cpp') diff --git a/src/d/d_timer.cpp b/src/d/d_timer.cpp index 1d52d160ad..fa61c2035e 100644 --- a/src/d/d_timer.cpp +++ b/src/d/d_timer.cpp @@ -205,7 +205,6 @@ asm void dTimer_c::_execute() { /* 8025D33C-8025D3BC 257C7C 0080+00 1/1 0/0 0/0 .text _draw__8dTimer_cFv */ -#ifndef NONMATCHING int dTimer_c::_draw() { int ret; @@ -220,16 +219,6 @@ int dTimer_c::_draw() { return ret; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dTimer_c::_draw() { - nofralloc -#include "asm/d/d_timer/_draw__8dTimer_cFv.s" -} -#pragma pop -#endif /* 8025D3BC-8025D524 257CFC 0168+00 1/1 0/0 0/0 .text _delete__8dTimer_cFv */ #pragma push @@ -275,12 +264,7 @@ bool dTimer_c::stock_start() { mTime1 = current_time; mTime2 = current_time; - int timer_ms = dComIfG_getTimerNowTimeMs(); - OSTime time1 = mTime1; - u32 timer_clock_ms = OS_TIMER_CLOCK / 1000; - - mTime1 = time1 - timer_clock_ms * timer_ms; - + mTime1 -= OS_TIMER_CLOCK_MS * dComIfG_getTimerNowTimeMs(); } return mDeleteCheck == 5; } -- cgit v1.2.3 From a15c20dcd79b46e910c95d3981f4465be052d5de Mon Sep 17 00:00:00 2001 From: Pheenoh Date: Thu, 22 Dec 2022 14:36:27 -0700 Subject: dTimer_c::restart --- src/d/d_timer.cpp | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) (limited to 'src/d/d_timer.cpp') diff --git a/src/d/d_timer.cpp b/src/d/d_timer.cpp index fa61c2035e..c25872b679 100644 --- a/src/d/d_timer.cpp +++ b/src/d/d_timer.cpp @@ -308,14 +308,22 @@ int dTimer_c::stop(u8 param_0) { } /* 8025D86C-8025D920 2581AC 00B4+00 1/1 1/1 0/0 .text restart__8dTimer_cFUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dTimer_c::restart(u8 param_0) { - nofralloc -#include "asm/d/d_timer/restart__8dTimer_cFUc.s" +int dTimer_c::restart(u8 param_0) { + if (field_0x16A != 1 || field_0x16B != param_0) { + return 0; + } else { + if (mDeleteCheck != 4 && mDeleteCheck != 2) { + return 0; + } else { + mTime2 = dLib_time_c::getTime(); + OSTime tmp = mTime2 - mTime3; + mTime5 += tmp; + field_0x16A = 0; + field_0x16B = 0; + return 1; + } + } } -#pragma pop /* 8025D920-8025D9E0 258260 00C0+00 0/0 1/1 0/0 .text end__8dTimer_cFi */ #pragma push -- cgit v1.2.3 From a4911a8c7d397508b7a166695b7fb5dfc571d163 Mon Sep 17 00:00:00 2001 From: Pheenoh Date: Thu, 22 Dec 2022 15:27:33 -0700 Subject: dTimer_c::end --- src/d/d_timer.cpp | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) (limited to 'src/d/d_timer.cpp') diff --git a/src/d/d_timer.cpp b/src/d/d_timer.cpp index c25872b679..f149252e7b 100644 --- a/src/d/d_timer.cpp +++ b/src/d/d_timer.cpp @@ -316,8 +316,7 @@ int dTimer_c::restart(u8 param_0) { return 0; } else { mTime2 = dLib_time_c::getTime(); - OSTime tmp = mTime2 - mTime3; - mTime5 += tmp; + mTime5 += mTime2 - mTime3; field_0x16A = 0; field_0x16B = 0; return 1; @@ -326,6 +325,25 @@ int dTimer_c::restart(u8 param_0) { } /* 8025D920-8025D9E0 258260 00C0+00 0/0 1/1 0/0 .text end__8dTimer_cFi */ +#ifndef NONMATCHING +int dTimer_c::end(int param_0) { + int ret; + if (mDeleteCheck != 4) { + ret = 0; + + } else { + mTime6 = dLib_time_c::getTime(); + mDeleteCheck = 6; + dComIfG_setTimerNowTimeMs((mTime6 - mTime1 - mTime5) / OS_TIMER_CLOCK_MS); + if (param_0 != -1) { + field_0x158 = param_0; + } + ret = 1; + } + + return ret; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -334,6 +352,7 @@ asm void dTimer_c::end(int param_0) { #include "asm/d/d_timer/end__8dTimer_cFi.s" } #pragma pop +#endif /* 8025D9E0-8025D9F0 258320 0010+00 0/0 1/1 0/0 .text deleteRequest__8dTimer_cFv */ int dTimer_c::deleteRequest() { -- cgit v1.2.3 From 9430a5aa60ce902d695ac85ebf1a2763c5655453 Mon Sep 17 00:00:00 2001 From: Pheenoh Date: Thu, 22 Dec 2022 15:52:44 -0700 Subject: dDlst_TimerScrnDraw_c::getNumber --- src/d/d_timer.cpp | 38 +++++++++++++++++++++++++++----------- 1 file changed, 27 insertions(+), 11 deletions(-) (limited to 'src/d/d_timer.cpp') diff --git a/src/d/d_timer.cpp b/src/d/d_timer.cpp index f149252e7b..9a54c4226f 100644 --- a/src/d/d_timer.cpp +++ b/src/d/d_timer.cpp @@ -325,7 +325,6 @@ int dTimer_c::restart(u8 param_0) { } /* 8025D920-8025D9E0 258260 00C0+00 0/0 1/1 0/0 .text end__8dTimer_cFi */ -#ifndef NONMATCHING int dTimer_c::end(int param_0) { int ret; if (mDeleteCheck != 4) { @@ -343,16 +342,6 @@ int dTimer_c::end(int param_0) { return ret; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dTimer_c::end(int param_0) { - nofralloc -#include "asm/d/d_timer/end__8dTimer_cFi.s" -} -#pragma pop -#endif /* 8025D9E0-8025D9F0 258320 0010+00 0/0 1/1 0/0 .text deleteRequest__8dTimer_cFv */ int dTimer_c::deleteRequest() { @@ -435,6 +424,26 @@ SECTION_DATA extern void* __vt__21dDlst_TimerScrnDraw_c[4] = { }; /* 8025DB38-8025DBE0 258478 00A8+00 1/1 0/0 0/0 .text __ct__21dDlst_TimerScrnDraw_cFv */ +#ifdef NONMATCHING +dDlst_TimerScrnDraw_c::dDlst_TimerScrnDraw_c() { + mTimerVisible = 0; + field_0x3DD = 0; + field_0x3D8 = 0; + field_0x3CC = -1; + field_0x3D0 = -1; + field_0x3D4 = 0; + + field_0x3B0 = 0; // fix + field_0x3B4 = 0; // fix + field_0x3B8 = 0; // fix + field_0x3BC = 0; // fix + + field_0x3DE = 0; + field_0x3DF = 0; + field_0x3E0 = 0; + field_0x3E1 = 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -443,6 +452,7 @@ asm dDlst_TimerScrnDraw_c::dDlst_TimerScrnDraw_c() { #include "asm/d/d_timer/__ct__21dDlst_TimerScrnDraw_cFv.s" } #pragma pop +#endif /* 8025DBE0-8025DFBC 258520 03DC+00 1/1 0/0 0/0 .text setHIO__21dDlst_TimerScrnDraw_cFv */ @@ -559,6 +569,11 @@ asm void dDlst_TimerScrnDraw_c::changeNumberTexture(J2DPane* param_0, int param_ #pragma pop /* 8025EECC-8025EEF0 25980C 0024+00 1/1 0/0 0/0 .text getNumber__21dDlst_TimerScrnDraw_cFi */ +#ifndef NONMATCHING +char* dDlst_TimerScrnDraw_c::getNumber(int pIndex) { + return dMeter2Info_getNumberTextureName(pIndex); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -567,6 +582,7 @@ asm void dDlst_TimerScrnDraw_c::getNumber(int param_0) { #include "asm/d/d_timer/getNumber__21dDlst_TimerScrnDraw_cFi.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80454F4C-80454F50 00354C 0004+00 5/5 0/0 0/0 .sdata2 @4124 */ -- cgit v1.2.3 From 7754b252fceaec6d9148164fd206d7082a3ecbc3 Mon Sep 17 00:00:00 2001 From: Pheenoh Date: Thu, 22 Dec 2022 16:02:42 -0700 Subject: dDlst_TimerScrnDraw_c::getNumber --- src/d/d_timer.cpp | 11 ----------- 1 file changed, 11 deletions(-) (limited to 'src/d/d_timer.cpp') diff --git a/src/d/d_timer.cpp b/src/d/d_timer.cpp index 9a54c4226f..a970894bab 100644 --- a/src/d/d_timer.cpp +++ b/src/d/d_timer.cpp @@ -569,20 +569,9 @@ asm void dDlst_TimerScrnDraw_c::changeNumberTexture(J2DPane* param_0, int param_ #pragma pop /* 8025EECC-8025EEF0 25980C 0024+00 1/1 0/0 0/0 .text getNumber__21dDlst_TimerScrnDraw_cFi */ -#ifndef NONMATCHING char* dDlst_TimerScrnDraw_c::getNumber(int pIndex) { return dMeter2Info_getNumberTextureName(pIndex); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDlst_TimerScrnDraw_c::getNumber(int param_0) { - nofralloc -#include "asm/d/d_timer/getNumber__21dDlst_TimerScrnDraw_cFi.s" -} -#pragma pop -#endif /* ############################################################################################## */ /* 80454F4C-80454F50 00354C 0004+00 5/5 0/0 0/0 .sdata2 @4124 */ -- cgit v1.2.3 From 02975d1764d76e31ad3397e7db7d3e37765624ec Mon Sep 17 00:00:00 2001 From: Pheenoh Date: Thu, 22 Dec 2022 16:12:32 -0700 Subject: rm types --- src/d/d_timer.cpp | 11 ----------- 1 file changed, 11 deletions(-) (limited to 'src/d/d_timer.cpp') diff --git a/src/d/d_timer.cpp b/src/d/d_timer.cpp index a970894bab..a887623e67 100644 --- a/src/d/d_timer.cpp +++ b/src/d/d_timer.cpp @@ -10,17 +10,6 @@ #include "dolphin/types.h" #include "m_Do/m_Do_lib.h" - -// -// Types: -// - - - -struct J2DAnmLoaderDataBase { - /* 80308A6C */ void load(void const*); -}; - // // Forward References: // -- cgit v1.2.3