X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FAccount.cpp;h=145dea1bdf9cc7ee1dfef1c0f037780637f52dd6;hb=54cbb28b51da68b2280068a41e7964f78dec6858;hp=31e99af8c54efcaecdcbdf601e2476dfac870321;hpb=e31b70325214fa5bdd433c1fd2aa96a1eb6c6684;p=lugaru.git diff --git a/Source/Account.cpp b/Source/Account.cpp index 31e99af..145dea1 100644 --- a/Source/Account.cpp +++ b/Source/Account.cpp @@ -1,6 +1,6 @@ /* Copyright (C) 2003, 2010 - Wolfire Games -Copyright (C) 2010 - MCMic +Copyright (C) 2010 - Côme BERNIGAUD This file is part of Lugaru. @@ -37,15 +37,13 @@ Account::Account(string n) { difficulty = 0; progress = 0; points = 0; - for(int i=0;i<50;highscore[i++] = 0); - for(int i=0;i<50;fasttime[i++] = 0); - for(int i=0;i<60;unlocked[i++] = 0); + memset(highscore, 0, sizeof(highscore)); + memset(fasttime, 0, sizeof(fasttime)); + memset(unlocked, 0, sizeof(unlocked)); campaignhighscore = 0; campaignfasttime = 0; campaignscore = 0; campaigntime = 0; - campaignchoicesmade = 0; - for(int i=0;i<5000;campaignchoices[i++] = 0); } Account* Account::add(string name) { @@ -54,7 +52,8 @@ Account* Account::add(string name) { } Account* Account::get(int i) { - if(i=0)&&(icampaignhighscore)); funpackf(tfile, "Bi", &(acc->difficulty)); funpackf(tfile, "Bi", &(acc->progress)); - funpackf(tfile, "Bi", &(acc->campaignchoicesmade)); - for(j=0;jcampaignchoicesmade;j++) + int campaignchoicesmade,campaignchoice; + funpackf(tfile, "Bi", &campaignchoicesmade); + for(j=0;jcampaignchoices[j])); - if (acc->campaignchoices[j] >= 10) + funpackf(tfile, "Bi", &campaignchoice); + if (campaignchoice >= 10) // what is that for? { - acc->campaignchoices[j] = 0; + campaignchoice = 0; } + acc->campaignchoices.push_back(campaignchoice); } funpackf(tfile, "Bf", &(acc->points)); for(j=0;j<50;j++) @@ -166,10 +167,9 @@ Account* Account::loadFile(string filename) { void Account::saveFile(string filename, Account* accountactive) { FILE *tfile; - int numaccounts; int j; - tfile=fopen(ConvertFileName(filename.c_str()), "wb" ); + tfile=fopen(ConvertFileName(filename.c_str(), "wb"), "wb" ); if(tfile) { printf("writing %d accounts :\n",getNbAccounts()); @@ -186,8 +186,8 @@ void Account::saveFile(string filename, Account* accountactive) { fpackf(tfile, "Bf", a->campaignhighscore); fpackf(tfile, "Bi", a->difficulty); fpackf(tfile, "Bi", a->progress); - fpackf(tfile, "Bi", a->campaignchoicesmade); - for(j=0;jcampaignchoicesmade;j++) + fpackf(tfile, "Bi", a->getCampaignChoicesMade()); + for(j=0;jgetCampaignChoicesMade();j++) { fpackf(tfile, "Bi", a->campaignchoices[j]); }