diff options
author | DizzyEggg <jajkodizzy@wp.pl> | 2017-08-31 16:48:24 +0200 |
---|---|---|
committer | DizzyEggg <jajkodizzy@wp.pl> | 2017-08-31 16:48:24 +0200 |
commit | 6f03356237fbfb60669cc3d80cb4c6cf8924957e (patch) | |
tree | e62657f00e7587ddaf8fcf49510ff97b42e46218 /src/play_time.c | |
parent | cbe13acff18405e99827df7c4a772d20b851f33b (diff) |
begin working on pokeemerald
Diffstat (limited to 'src/play_time.c')
-rw-r--r-- | src/play_time.c | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/src/play_time.c b/src/play_time.c new file mode 100644 index 000000000..444c2c86c --- /dev/null +++ b/src/play_time.c @@ -0,0 +1,73 @@ +#include "global.h" +#include "play_time.h" + +enum +{ + STOPPED, + RUNNING, + MAXED_OUT +}; + +static u8 sPlayTimeCounterState; + +void PlayTimeCounter_Reset() +{ + sPlayTimeCounterState = STOPPED; + + gSaveBlock2Ptr->playTimeHours = 0; + gSaveBlock2Ptr->playTimeMinutes = 0; + gSaveBlock2Ptr->playTimeSeconds = 0; + gSaveBlock2Ptr->playTimeVBlanks = 0; +} + +void PlayTimeCounter_Start() +{ + sPlayTimeCounterState = RUNNING; + + if (gSaveBlock2Ptr->playTimeHours > 999) + PlayTimeCounter_SetToMax(); +} + +void PlayTimeCounter_Stop() +{ + sPlayTimeCounterState = STOPPED; +} + +void PlayTimeCounter_Update() +{ + if (sPlayTimeCounterState == RUNNING) + { + gSaveBlock2Ptr->playTimeVBlanks++; + + if (gSaveBlock2Ptr->playTimeVBlanks > 59) + { + gSaveBlock2Ptr->playTimeVBlanks = 0; + gSaveBlock2Ptr->playTimeSeconds++; + + if (gSaveBlock2Ptr->playTimeSeconds > 59) + { + gSaveBlock2Ptr->playTimeSeconds = 0; + gSaveBlock2Ptr->playTimeMinutes++; + + if (gSaveBlock2Ptr->playTimeMinutes > 59) + { + gSaveBlock2Ptr->playTimeMinutes = 0; + gSaveBlock2Ptr->playTimeHours++; + + if (gSaveBlock2Ptr->playTimeHours > 999) + PlayTimeCounter_SetToMax(); + } + } + } + } +} + +void PlayTimeCounter_SetToMax() +{ + sPlayTimeCounterState = MAXED_OUT; + + gSaveBlock2Ptr->playTimeHours = 999; + gSaveBlock2Ptr->playTimeMinutes = 59; + gSaveBlock2Ptr->playTimeSeconds = 59; + gSaveBlock2Ptr->playTimeVBlanks = 59; +} |