X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FAccount.cpp;h=662c0d35ea2c48832d86945ef65e48c6e3ee0b3d;hb=710fa624080c2f2db7923832e2fd9945f4dd8254;hp=beb5f46a041787aae4e675b1588de9449ab21584;hpb=38a0b81007611ee5f49b674ea5605fe79dac7e1e;p=lugaru.git diff --git a/Source/Account.cpp b/Source/Account.cpp index beb5f46..662c0d3 100644 --- a/Source/Account.cpp +++ b/Source/Account.cpp @@ -46,10 +46,12 @@ Account::Account(string n) : campaignProgress() { void Account::setCurrentCampaign(string name) { currentCampaign = name; - campaignProgress[name].highscore = 0; - campaignProgress[name].fasttime = 0; - campaignProgress[name].score = 0; - campaignProgress[name].time = 0; + if(campaignProgress.find(name)==campaignProgress.end()) { + campaignProgress[name].highscore = 0; + campaignProgress[name].fasttime = 0; + campaignProgress[name].score = 0; + campaignProgress[name].time = 0; + } } Account* Account::add(string name) { @@ -75,7 +77,7 @@ Account* Account::destroy(Account* a) { return NULL; } } - printf("Unexpected error : User %s not found %d\n",a->getName(),a); + printf("Unexpected error : User %s not found\n",a->getName()); return accounts.front(); } @@ -156,6 +158,16 @@ Account* Account::loadFile(string filename) { } } + acc->currentCampaign = ""; + int t; + char c; + funpackf(tfile, "Bi", &t); + for(int i=0;icurrentCampaign.append(1,c); + } + funpackf(tfile, "Bf", &(acc->points)); for(int i=0;i<50;i++) { @@ -224,6 +236,12 @@ void Account::saveFile(string filename, Account* accountactive) { } } + fpackf(tfile, "Bi", a->getCurrentCampaign().size()); + for(j=0;jgetCurrentCampaign().size();j++) + { + fpackf(tfile, "Bb", a->getCurrentCampaign()[j]); + } + fpackf(tfile, "Bf", a->points); for(j=0;j<50;j++) {