]> git.jsancho.org Git - lugaru.git/blobdiff - Source/Account.cpp
console commands works again.
[lugaru.git] / Source / Account.cpp
index 1388b7e0e281e4d1fa4e57ef3b0295f2a311c72e..7eba58815332e28c4edda56ca0be8fd99c7a7c87 100644 (file)
@@ -46,12 +46,6 @@ Account::Account(string n) : campaignProgress() {
 
 void Account::setCurrentCampaign(string name) {
        currentCampaign = name;
-       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) {
@@ -77,7 +71,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();
 }
 
@@ -158,6 +152,16 @@ Account* Account::loadFile(string filename) {
                                }
                        }
                        
+                       acc->currentCampaign = "";
+                       int t;
+                       char c;
+                       funpackf(tfile, "Bi",  &t);
+                       for(int i=0;i<t;i++)
+                       {
+                               funpackf(tfile, "Bb",  &c);
+                               acc->currentCampaign.append(1,c);
+                       }
+                       
                        funpackf(tfile, "Bf", &(acc->points));
                        for(int i=0;i<50;i++)
                        {
@@ -208,7 +212,7 @@ void Account::saveFile(string filename, Account* accountactive) {
                        fpackf(tfile, "Bi", a->progress);
                        fpackf(tfile, "Bi", a->campaignProgress.size());
                        
-                       map<string,campaign_progress_t>::const_iterator it;
+                       map<string,CampaignProgress>::const_iterator it;
                        for( it=a->campaignProgress.begin(); it!= a->campaignProgress.end(); ++it) {
                                fpackf(tfile, "Bi",  it->first.size());
                                for(j=0;j<it->first.size();j++)
@@ -226,6 +230,12 @@ void Account::saveFile(string filename, Account* accountactive) {
                                }
                        }
                        
+                       fpackf(tfile, "Bi", a->getCurrentCampaign().size());
+                       for(j=0;j<a->getCurrentCampaign().size();j++)
+                       {
+                               fpackf(tfile, "Bb", a->getCurrentCampaign()[j]);
+                       }
+                       
                        fpackf(tfile, "Bf", a->points);
                        for(j=0;j<50;j++)
                        {