diff options
author | aap <aap@papnet.eu> | 2019-07-07 13:09:11 +0200 |
---|---|---|
committer | aap <aap@papnet.eu> | 2019-07-07 13:09:11 +0200 |
commit | 53023eb65bdcde43e341c1ecb7cf0c7f8ee524fb (patch) | |
tree | fc65a6c40fa719f9d43be9e0e15be79c490135e0 /src/Clock.cpp | |
parent | finished CPhysical (diff) | |
download | re3-53023eb65bdcde43e341c1ecb7cf0c7f8ee524fb.tar re3-53023eb65bdcde43e341c1ecb7cf0c7f8ee524fb.tar.gz re3-53023eb65bdcde43e341c1ecb7cf0c7f8ee524fb.tar.bz2 re3-53023eb65bdcde43e341c1ecb7cf0c7f8ee524fb.tar.lz re3-53023eb65bdcde43e341c1ecb7cf0c7f8ee524fb.tar.xz re3-53023eb65bdcde43e341c1ecb7cf0c7f8ee524fb.tar.zst re3-53023eb65bdcde43e341c1ecb7cf0c7f8ee524fb.zip |
Diffstat (limited to 'src/Clock.cpp')
-rw-r--r-- | src/Clock.cpp | 131 |
1 files changed, 0 insertions, 131 deletions
diff --git a/src/Clock.cpp b/src/Clock.cpp deleted file mode 100644 index 707b0e57..00000000 --- a/src/Clock.cpp +++ /dev/null @@ -1,131 +0,0 @@ -#include "common.h" -#include "patcher.h" -#include "Timer.h" -#include "Pad.h" -#include "Clock.h" -#include "Stats.h" - -_TODO("gbFastTime"); -bool &gbFastTime = *(bool*)0x95CDBB; - -uint8 &CClock::ms_nGameClockHours = *(uint8*)0x95CDA6; -uint8 &CClock::ms_nGameClockMinutes = *(uint8*)0x95CDC8; -uint16 &CClock::ms_nGameClockSeconds = *(uint16*)0x95CC7C; -uint8 &CClock::ms_Stored_nGameClockHours = *(uint8*)0x95CD7B; -uint8 &CClock::ms_Stored_nGameClockMinutes = *(uint8*)0x95CD9B; -uint16 &CClock::ms_Stored_nGameClockSeconds = *(uint16*)0x95CC9C; -uint32 &CClock::ms_nMillisecondsPerGameMinute = *(uint32*)0x8F2C64; -int32 &CClock::ms_nLastClockTick = *(int32*)0x9430E4; -bool &CClock::ms_bClockHasBeenStored = *(bool*)0x95CD82; - -void -CClock::Initialise(uint32 scale) -{ - debug("Initialising CClock...\n"); - ms_nGameClockHours = 12; - ms_nGameClockMinutes = 0; - ms_nGameClockSeconds = 0; - ms_nMillisecondsPerGameMinute = scale; - ms_nLastClockTick = CTimer::GetTimeInMilliseconds(); - ms_bClockHasBeenStored = false; - debug("CClock ready\n"); -} - -void -CClock::Update(void) -{ - if(CPad::GetPad(1)->GetRightShoulder1()) - { - ms_nGameClockMinutes += 8; - ms_nLastClockTick = CTimer::GetTimeInMilliseconds(); - - if(ms_nGameClockMinutes >= 60) - { - ms_nGameClockHours++; - ms_nGameClockMinutes = 0; - if(ms_nGameClockHours >= 24) - ms_nGameClockHours = 0; - } - - } - else if(CTimer::GetTimeInMilliseconds() - ms_nLastClockTick > ms_nMillisecondsPerGameMinute || gbFastTime) - { - ms_nGameClockMinutes++; - ms_nLastClockTick += ms_nMillisecondsPerGameMinute; - - if ( gbFastTime ) - ms_nLastClockTick = CTimer::GetTimeInMilliseconds(); - - if(ms_nGameClockMinutes >= 60) - { - ms_nGameClockHours++; - ms_nGameClockMinutes = 0; - if(ms_nGameClockHours >= 24) - { - CStats::DaysPassed++; - ms_nGameClockHours = 0; - } - } - } - ms_nGameClockSeconds += - 60 - * (CTimer::GetTimeInMilliseconds() - ms_nLastClockTick) - / ms_nMillisecondsPerGameMinute; -} - -void -CClock::SetGameClock(uint8 h, uint8 m) -{ - ms_nGameClockHours = h; - ms_nGameClockMinutes = m; - ms_nGameClockSeconds = 0; - ms_nLastClockTick = CTimer::GetTimeInMilliseconds(); -} - -int32 -CClock::GetGameClockMinutesUntil(uint8 h, uint8 m) -{ - int32 now, then; - now = ms_nGameClockHours*60 + ms_nGameClockMinutes; - then = h*60 + m; - if(then < now) - then += 24*60; - return then-now; -} - -bool -CClock::GetIsTimeInRange(uint8 h1, uint8 h2) -{ - if(h1 > h2) - return ms_nGameClockHours >= h1 || ms_nGameClockHours < h2; - else - return ms_nGameClockHours >= h1 && ms_nGameClockHours < h2; -} - -void -CClock::StoreClock(void) -{ - ms_Stored_nGameClockHours = ms_nGameClockHours; - ms_Stored_nGameClockMinutes = ms_nGameClockMinutes; - ms_Stored_nGameClockSeconds = ms_nGameClockSeconds; - ms_bClockHasBeenStored = true; -} - -void -CClock::RestoreClock(void) -{ - ms_nGameClockHours = ms_Stored_nGameClockHours; - ms_nGameClockMinutes = ms_Stored_nGameClockMinutes; - ms_nGameClockSeconds = ms_Stored_nGameClockSeconds; -} - - -STARTPATCHES - InjectHook(0x473370, CClock::Initialise, PATCH_JUMP); - InjectHook(0x473460, CClock::Update, PATCH_JUMP); - InjectHook(0x4733C0, CClock::SetGameClock, PATCH_JUMP); - InjectHook(0x4733F0, CClock::GetGameClockMinutesUntil, PATCH_JUMP); - InjectHook(0x473420, CClock::GetIsTimeInRange, PATCH_JUMP); - InjectHook(0x473540, CClock::StoreClock, PATCH_JUMP); - InjectHook(0x473570, CClock::RestoreClock, PATCH_JUMP); -ENDPATCHES |