supercasiobros/src/save.c

60 lines
1.5 KiB
C

#include <save.h>
#include <stdint.h>
uint32_t level_scores [NB_MONDES] [WORLD_RUN_ENTRY]={0};
uint32_t level_times [NB_MONDES] [WORLD_RUN_ENTRY]={0};
uint32_t level_coins [NB_MONDES] [WORLD_RUN_ENTRY]={0};
uint32_t level_starfrags [NB_MONDES] [WORLD_RUN_ENTRY]={0};
uint32_t progress_status=0; // in worlds : world 1 only
static uint32_t checksum1;
static uint32_t const file_size = sizeof(level_scores)+sizeof(level_times)+sizeof(progress_status)+sizeof(checksum1);
void load_save(){};
void flash_save(){};
int get_highscore(int world, int level)
{
return level_scores[world%NB_MONDES][level%WORLD_RUN_ENTRY];
}
void set_highscore(int world, int level, int score)
{
if (score>level_scores[world%NB_MONDES][level%WORLD_RUN_ENTRY])
level_scores[world%NB_MONDES][level%WORLD_RUN_ENTRY]=score;
}
int get_highcoins(int world, int level)
{
return level_coins[world%NB_MONDES][level%WORLD_RUN_ENTRY];
}
void set_highcoins(int world, int level, int coins)
{
if (coins>level_coins[world%NB_MONDES][level%WORLD_RUN_ENTRY])
level_coins[world%NB_MONDES][level%WORLD_RUN_ENTRY]=coins;
}
int get_best_time(int world, int level)
{
return level_times[world%NB_MONDES][level%WORLD_RUN_ENTRY];
}
void set_best_time(int world, int level, int score)
{
if (level_times[world%NB_MONDES][level%WORLD_RUN_ENTRY]==0 || score<level_times[world%NB_MONDES][level%WORLD_RUN_ENTRY])
level_times[world%NB_MONDES][level%WORLD_RUN_ENTRY]=score;
}
int get_progress_status()
{
return progress_status;
}