vector<Account*> Account::accounts = vector<Account*>();
-Account::Account(string n) {
+Account::Account(string n) : campaignProgress() {
name = string(n);
difficulty = 0;
progress = 0;
memset(fasttime, 0, sizeof(fasttime));
memset(unlocked, 0, sizeof(unlocked));
- currentCampaign = "main";
+ setCurrentCampaign("main");
+}
+
+void Account::setCurrentCampaign(string name) {
+ currentCampaign = name;
}
Account* Account::add(string name) {
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();
}
FILE *tfile;
int numaccounts;
int accountactive;
- int j;
tfile=fopen(ConvertFileName(filename.c_str()), "rb" );
funpackf(tfile, "Bi", &(acc->progress));
int nbCampaigns;
funpackf(tfile, "Bi", &nbCampaigns);
- printf("loading %d campaign progress info\n",nbCampaigns);
+ //~ printf("loading %d campaign progress info\n",nbCampaigns);
for(int k=0;k<nbCampaigns;++k) {
string campaignName = "";
int t;
char c;
funpackf(tfile, "Bi", &t);
- for(j=0;j<t;j++)
+ for(int j=0;j<t;j++)
{
funpackf(tfile, "Bb", &c);
campaignName.append(1,c);
}
- printf("loading %s campaign progress info\n",campaignName.c_str());
+ //~ printf("loading %s campaign progress info\n",campaignName.c_str());
funpackf(tfile, "Bf", &(acc->campaignProgress[campaignName].time));
funpackf(tfile, "Bf", &(acc->campaignProgress[campaignName].score));
funpackf(tfile, "Bf", &(acc->campaignProgress[campaignName].fasttime));
funpackf(tfile, "Bf", &(acc->campaignProgress[campaignName].highscore));
int campaignchoicesmade,campaignchoice;
funpackf(tfile, "Bi", &campaignchoicesmade);
- for(j=0;j<campaignchoicesmade;j++)
+ for(int j=0;j<campaignchoicesmade;j++)
{
funpackf(tfile, "Bi", &campaignchoice);
if (campaignchoice >= 10) // what is that for?
}
}
+ 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(j=0;j<50;j++)
+ for(int i=0;i<50;i++)
{
- funpackf(tfile, "Bf", &(acc->highscore[j]));
- funpackf(tfile, "Bf", &(acc->fasttime[j]));
+ funpackf(tfile, "Bf", &(acc->highscore[i]));
+ funpackf(tfile, "Bf", &(acc->fasttime[i]));
}
- for(j=0;j<60;j++)
+ for(int i=0;i<60;i++)
{
- funpackf(tfile, "Bb", &(acc->unlocked[j]));
+ funpackf(tfile, "Bb", &(acc->unlocked[i]));
}
int temp;
char ctemp;
funpackf(tfile, "Bi", &temp);
- for(j=0;j<temp;j++)
+ for(int i=0;i<temp;i++)
{
funpackf(tfile, "Bb", &ctemp);
acc->name.append(1,ctemp);
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++)
}
}
+ 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++)
{