2020-01-07 21:31:34 +01:00
|
|
|
#include <save.h>
|
|
|
|
|
|
|
|
#include <stdint.h>
|
|
|
|
|
|
|
|
|
2020-01-15 20:42:51 +01:00
|
|
|
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};
|
2020-01-07 21:31:34 +01:00
|
|
|
|
|
|
|
|
2020-01-23 19:53:58 +01:00
|
|
|
uint32_t progress_status=0; // in worlds : world 1 only
|
2020-01-07 21:31:34 +01:00
|
|
|
|
2020-01-15 20:42:51 +01:00
|
|
|
|
2020-01-07 21:31:34 +01:00
|
|
|
static uint32_t checksum1;
|
|
|
|
|
2020-01-15 20:42:51 +01:00
|
|
|
static uint32_t const file_size = sizeof(level_scores)+sizeof(level_times)+sizeof(progress_status)+sizeof(checksum1);
|
2020-01-07 21:31:34 +01:00
|
|
|
|
2020-02-16 20:43:35 +01:00
|
|
|
void saveLoad(){};
|
|
|
|
void saveWrite(){};
|
2020-01-07 21:31:34 +01:00
|
|
|
|
2020-02-16 20:43:35 +01:00
|
|
|
int saveGetScore(int world, int level)
|
2020-01-07 21:31:34 +01:00
|
|
|
{
|
2020-01-15 20:42:51 +01:00
|
|
|
return level_scores[world%NB_MONDES][level%WORLD_RUN_ENTRY];
|
2020-01-07 21:31:34 +01:00
|
|
|
}
|
|
|
|
|
2020-02-16 20:43:35 +01:00
|
|
|
void saveSetScore(int world, int level, unsigned int score)
|
2020-01-07 21:31:34 +01:00
|
|
|
{
|
2020-01-19 19:59:13 +01:00
|
|
|
if (score>level_scores[world%NB_MONDES][level%WORLD_RUN_ENTRY])
|
|
|
|
level_scores[world%NB_MONDES][level%WORLD_RUN_ENTRY]=score;
|
2020-01-07 21:31:34 +01:00
|
|
|
}
|
|
|
|
|
2020-01-25 11:54:39 +01:00
|
|
|
|
2020-02-16 20:43:35 +01:00
|
|
|
int saveGetCoins(int world, int level)
|
2020-01-25 11:54:39 +01:00
|
|
|
{
|
|
|
|
return level_coins[world%NB_MONDES][level%WORLD_RUN_ENTRY];
|
|
|
|
}
|
|
|
|
|
2020-02-16 20:43:35 +01:00
|
|
|
void saveSetCoins(int world, int level, unsigned int coins)
|
2020-01-25 11:54:39 +01:00
|
|
|
{
|
|
|
|
if (coins>level_coins[world%NB_MONDES][level%WORLD_RUN_ENTRY])
|
|
|
|
level_coins[world%NB_MONDES][level%WORLD_RUN_ENTRY]=coins;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2020-02-16 20:43:35 +01:00
|
|
|
int saveGetTime(int world, int level)
|
2020-01-07 21:31:34 +01:00
|
|
|
{
|
2020-01-15 20:42:51 +01:00
|
|
|
return level_times[world%NB_MONDES][level%WORLD_RUN_ENTRY];
|
2020-01-07 21:31:34 +01:00
|
|
|
}
|
|
|
|
|
2020-02-16 20:43:35 +01:00
|
|
|
void saveSetTime(int world, int level, unsigned int time)
|
2020-01-07 21:31:34 +01:00
|
|
|
{
|
2020-02-15 19:35:49 +01:00
|
|
|
if (level_times[world%NB_MONDES][level%WORLD_RUN_ENTRY]==0 || time<level_times[world%NB_MONDES][level%WORLD_RUN_ENTRY])
|
|
|
|
level_times[world%NB_MONDES][level%WORLD_RUN_ENTRY]=time;
|
2020-01-08 15:43:58 +01:00
|
|
|
}
|
|
|
|
|
2020-02-16 20:43:35 +01:00
|
|
|
unsigned int saveGetProgressStatus()
|
2020-01-23 19:53:58 +01:00
|
|
|
{
|
|
|
|
return progress_status;
|
2020-02-15 19:35:49 +01:00
|
|
|
}
|