#include "global.h" #include "play_time.h" enum { STOPPED, RUNNING, MAXED_OUT }; static u8 sPlayTimeCounterState; void PlayTimeCounter_Reset(void) { sPlayTimeCounterState = STOPPED; gSaveBlock2Ptr->playTimeHours = 0; gSaveBlock2Ptr->playTimeMinutes = 0; gSaveBlock2Ptr->playTimeSeconds = 0; gSaveBlock2Ptr->playTimeVBlanks = 0; } void PlayTimeCounter_Start(void) { sPlayTimeCounterState = RUNNING; if (gSaveBlock2Ptr->playTimeHours > 999) PlayTimeCounter_SetToMax(); } void PlayTimeCounter_Stop(void) { sPlayTimeCounterState = STOPPED; } void PlayTimeCounter_Update(void) { 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(void) { sPlayTimeCounterState = MAXED_OUT; gSaveBlock2Ptr->playTimeHours = 999; gSaveBlock2Ptr->playTimeMinutes = 59; gSaveBlock2Ptr->playTimeSeconds = 59; gSaveBlock2Ptr->playTimeVBlanks = 59; }