2016-04-30 13:31:37 +02:00
|
|
|
|
#include "..\C-Engine\CHeader.hpp"
|
|
|
|
|
|
|
|
|
|
#include "Save.hpp"
|
|
|
|
|
|
|
|
|
|
extern "C"
|
|
|
|
|
{
|
|
|
|
|
#include "Memory/memory.h"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Save::Save()
|
|
|
|
|
{
|
|
|
|
|
nblevel = 3;
|
|
|
|
|
UserInfo = NULL;
|
|
|
|
|
TabLevel = NULL;
|
|
|
|
|
data = NULL;
|
|
|
|
|
lenght = 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Save::~Save()
|
|
|
|
|
{
|
|
|
|
|
delete data;
|
|
|
|
|
delete UserInfo;
|
|
|
|
|
for(int i = 0 ; i < nblevel ; i++)
|
|
|
|
|
{
|
|
|
|
|
delete TabLevel[i];
|
|
|
|
|
}
|
|
|
|
|
delete TabLevel;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void Save::LoadData()
|
|
|
|
|
{
|
|
|
|
|
UserInfo = new Info;
|
|
|
|
|
TabLevel = new Level*[nblevel];
|
|
|
|
|
|
|
|
|
|
for(int i = 0 ; i < nblevel ; i++)
|
|
|
|
|
{
|
|
|
|
|
TabLevel[i] = new Level;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(memory_exists("\\\\fls0\\Dash.sav"))
|
|
|
|
|
{
|
|
|
|
|
data = (int*)memory_load("\\\\fls0\\Dash.sav");
|
|
|
|
|
UserInfo->nbattemp = data[0];
|
|
|
|
|
UserInfo->nbjump = data[1];
|
|
|
|
|
UserInfo->nbtime = data[2];
|
|
|
|
|
UserInfo->completlevel = data[3];
|
|
|
|
|
UserInfo->perso = data[4];
|
2016-05-13 23:07:30 +02:00
|
|
|
|
UserInfo->mini = data[5];
|
2016-04-30 13:31:37 +02:00
|
|
|
|
|
|
|
|
|
for(int i = 0 ; i < nblevel ; i++)
|
|
|
|
|
{
|
2016-05-13 23:07:30 +02:00
|
|
|
|
TabLevel[i]->normalprogress = data[6 + i * 2];
|
|
|
|
|
TabLevel[i]->practiseprogress = data[7 + i * 2];
|
2016-04-30 13:31:37 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
free(data);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
UserInfo->nbattemp = 0;
|
|
|
|
|
UserInfo->nbjump = 0;
|
|
|
|
|
UserInfo->nbtime = 0;
|
|
|
|
|
UserInfo->completlevel = 0;
|
|
|
|
|
UserInfo->perso = 0;
|
2016-05-13 23:07:30 +02:00
|
|
|
|
UserInfo->mini = 1;
|
2016-04-30 13:31:37 +02:00
|
|
|
|
|
|
|
|
|
for(int i = 0 ; i < nblevel ; i++)
|
|
|
|
|
{
|
|
|
|
|
TabLevel[i]->normalprogress = 0;
|
|
|
|
|
TabLevel[i]->practiseprogress = 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void Save::SaveData()
|
|
|
|
|
{
|
|
|
|
|
//Encapssulation des donn<6E>es.
|
|
|
|
|
lenght = 5 + nblevel * 2;
|
|
|
|
|
|
|
|
|
|
data = new int[lenght];
|
|
|
|
|
data[0] = UserInfo->nbattemp;
|
|
|
|
|
data[1] = UserInfo->nbjump;
|
|
|
|
|
data[2] = UserInfo->nbtime;
|
|
|
|
|
data[3] = UserInfo->completlevel;
|
|
|
|
|
data[4] = UserInfo->perso;
|
2016-05-13 23:07:30 +02:00
|
|
|
|
data[5] = UserInfo->mini;
|
2016-04-30 13:31:37 +02:00
|
|
|
|
|
|
|
|
|
for(int i = 0 ; i < nblevel ; i++)
|
|
|
|
|
{
|
2016-05-13 23:07:30 +02:00
|
|
|
|
data[6 + i * 2] = TabLevel[i]->normalprogress;
|
|
|
|
|
data[7 + i * 2] = TabLevel[i]->practiseprogress;
|
2016-04-30 13:31:37 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//fin de l'encapssulation.
|
|
|
|
|
|
2016-05-13 23:07:30 +02:00
|
|
|
|
//int error = memory_save("\\\\fls0\\Dash.sav",data,lenght * sizeof (int)); //Sauvegarde
|
2016-04-30 13:31:37 +02:00
|
|
|
|
|
|
|
|
|
delete data;
|
|
|
|
|
}
|