begin working on pokeemerald
This commit is contained in:
73
src/play_time.c
Normal file
73
src/play_time.c
Normal file
@@ -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;
|
||||
}
|
||||
Reference in New Issue
Block a user