#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]; UserInfo->mini = data[5]; for(int i = 0 ; i < nblevel ; i++) { TabLevel[i]->normalprogress = data[6 + i * 2]; TabLevel[i]->practiseprogress = data[7 + i * 2]; } free(data); } else { UserInfo->nbattemp = 0; UserInfo->nbjump = 0; UserInfo->nbtime = 0; UserInfo->completlevel = 0; UserInfo->perso = 0; UserInfo->mini = 0; for(int i = 0 ; i < nblevel ; i++) { TabLevel[i]->normalprogress = 0; TabLevel[i]->practiseprogress = 0; } } } void Save::SaveData() { //Encapssulation des données. lenght = 6 + 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; data[5] = UserInfo->mini; for(int i = 0 ; i < nblevel ; i++) { data[6 + i * 2] = TabLevel[i]->normalprogress; data[7 + i * 2] = TabLevel[i]->practiseprogress; } //fin de l'encapssulation. int error = memory_save("\\\\fls0\\Dash.sav",data,lenght * sizeof (int)); //Sauvegarde delete data; }