QTfrontend/team.cpp
changeset 3758 80007c41c35e
parent 3697 d5b30d6373fc
child 3767 2416a3f51c77
equal deleted inserted replaced
3757:ad2f669c8435 3758:80007c41c35e
    50         binds[i].action = cbinds[i].action;
    50         binds[i].action = cbinds[i].action;
    51         binds[i].strbind = cbinds[i].strbind;
    51         binds[i].strbind = cbinds[i].strbind;
    52     }
    52     }
    53     Rounds = 0;
    53     Rounds = 0;
    54     Wins = 0;
    54     Wins = 0;
       
    55     CampaignProgress = 0;
    55 }
    56 }
    56 
    57 
    57 HWTeam::HWTeam(const QStringList& strLst) :
    58 HWTeam::HWTeam(const QStringList& strLst) :
    58   numHedgehogs(4),
    59   numHedgehogs(4),
    59   m_isNetTeam(true)
    60   m_isNetTeam(true)
    75 // Checking net teams is probably pointless, but can't hurt.
    76 // Checking net teams is probably pointless, but can't hurt.
    76         if (Hedgehogs[i].Hat.length() == 0) Hedgehogs[i].Hat = "NoHat";
    77         if (Hedgehogs[i].Hat.length() == 0) Hedgehogs[i].Hat = "NoHat";
    77     }
    78     }
    78     Rounds = 0;
    79     Rounds = 0;
    79     Wins = 0;
    80     Wins = 0;
       
    81     CampaignProgress = 0;
    80 }
    82 }
    81 
    83 
    82 HWTeam::HWTeam() :
    84 HWTeam::HWTeam() :
    83   difficulty(0),
    85   difficulty(0),
    84   numHedgehogs(4),
    86   numHedgehogs(4),
   101         binds[i].action = cbinds[i].action;
   103         binds[i].action = cbinds[i].action;
   102         binds[i].strbind = cbinds[i].strbind;
   104         binds[i].strbind = cbinds[i].strbind;
   103     }
   105     }
   104     Rounds = 0;
   106     Rounds = 0;
   105     Wins = 0;
   107     Wins = 0;
       
   108     CampaignProgress = 0;
   106 }
   109 }
   107 
   110 
   108 
   111 
   109 bool HWTeam::LoadFromFile()
   112 bool HWTeam::LoadFromFile()
   110 {
   113 {
   111     QSettings teamfile(cfgdir->absolutePath() + "/Teams/" + TeamName + ".ini", QSettings::IniFormat, 0);
   114     QSettings teamfile(cfgdir->absolutePath() + "/Teams/" + TeamName + ".hwt", QSettings::IniFormat, 0);
   112     teamfile.setIniCodec("UTF-8");
   115     teamfile.setIniCodec("UTF-8");
   113     TeamName = teamfile.value("Team/Name", TeamName).toString();
   116     TeamName = teamfile.value("Team/Name", TeamName).toString();
   114     Grave = teamfile.value("Team/Grave", "Statue").toString();
   117     Grave = teamfile.value("Team/Grave", "Statue").toString();
   115     Fort = teamfile.value("Team/Fort", "Plane").toString();
   118     Fort = teamfile.value("Team/Fort", "Plane").toString();
   116     Voicepack = teamfile.value("Team/Voicepack", "Default").toString();
   119     Voicepack = teamfile.value("Team/Voicepack", "Default").toString();
   117     Flag = teamfile.value("Team/Flag", "hedgewars").toString();
   120     Flag = teamfile.value("Team/Flag", "hedgewars").toString();
   118     difficulty = teamfile.value("Team/Difficulty", 0).toInt();
   121     difficulty = teamfile.value("Team/Difficulty", 0).toInt();
   119     Rounds = teamfile.value("Team/Rounds", 0).toInt();
   122     Rounds = teamfile.value("Team/Rounds", 0).toInt();
   120     Wins = teamfile.value("Team/Wins", 0).toInt();
   123     Wins = teamfile.value("Team/Wins", 0).toInt();
       
   124     CampaignProgress = teamfile.value("Team/CampaignProgress", 0).toInt();
   121     for(int i = 0; i < 8; i++)
   125     for(int i = 0; i < 8; i++)
   122     {
   126     {
   123         QString hh = QString("Hedgehog%1/").arg(i);
   127         QString hh = QString("Hedgehog%1/").arg(i);
   124         Hedgehogs[i].Name = teamfile.value(hh + "Name", QString("hedgehog %1").arg(i)).toString();
   128         Hedgehogs[i].Name = teamfile.value(hh + "Name", QString("hedgehog %1").arg(i)).toString();
   125         Hedgehogs[i].Hat = teamfile.value(hh + "Hat", "NoHat").toString();
   129         Hedgehogs[i].Hat = teamfile.value(hh + "Hat", "NoHat").toString();
   138     return true;
   142     return true;
   139 }
   143 }
   140 
   144 
   141 bool HWTeam::FileExists()
   145 bool HWTeam::FileExists()
   142 {
   146 {
   143     QFile f(cfgdir->absolutePath() + "/Teams/" + TeamName + ".ini");
   147     QFile f(cfgdir->absolutePath() + "/Teams/" + TeamName + ".hwt");
   144     return f.exists();
   148     return f.exists();
   145 }
   149 }
   146 
   150 
   147 bool HWTeam::DeleteFile()
   151 bool HWTeam::DeleteFile()
   148 {
   152 {
   149     if(m_isNetTeam)
   153     if(m_isNetTeam)
   150         return false;
   154         return false;
   151     QFile cfgfile(cfgdir->absolutePath() + "/Teams/" + TeamName + ".ini");
   155     QFile cfgfile(cfgdir->absolutePath() + "/Teams/" + TeamName + ".hwt");
   152     cfgfile.remove();
   156     cfgfile.remove();
   153     return true;
   157     return true;
   154 }
   158 }
   155 
   159 
   156 bool HWTeam::SaveToFile()
   160 bool HWTeam::SaveToFile()
   157 {
   161 {
   158     if (OldTeamName != TeamName)
   162     if (OldTeamName != TeamName)
   159     {
   163     {
   160         QFile cfgfile(cfgdir->absolutePath() + "/Teams/" + OldTeamName + ".ini");
   164         QFile cfgfile(cfgdir->absolutePath() + "/Teams/" + OldTeamName + ".hwt");
   161         cfgfile.remove();
   165         cfgfile.remove();
   162         OldTeamName = TeamName;
   166         OldTeamName = TeamName;
   163     }
   167     }
   164     QSettings teamfile(cfgdir->absolutePath() + "/Teams/" + TeamName + ".ini", QSettings::IniFormat, 0);
   168     QSettings teamfile(cfgdir->absolutePath() + "/Teams/" + TeamName + ".hwt", QSettings::IniFormat, 0);
   165     teamfile.setIniCodec("UTF-8");
   169     teamfile.setIniCodec("UTF-8");
   166     teamfile.setValue("Team/Name", TeamName);
   170     teamfile.setValue("Team/Name", TeamName);
   167     teamfile.setValue("Team/Grave", Grave);
   171     teamfile.setValue("Team/Grave", Grave);
   168     teamfile.setValue("Team/Fort", Fort);
   172     teamfile.setValue("Team/Fort", Fort);
   169     teamfile.setValue("Team/Voicepack", Voicepack);
   173     teamfile.setValue("Team/Voicepack", Voicepack);
   170     teamfile.setValue("Team/Flag", Flag);
   174     teamfile.setValue("Team/Flag", Flag);
   171     teamfile.setValue("Team/Difficulty", difficulty);
   175     teamfile.setValue("Team/Difficulty", difficulty);
   172     teamfile.setValue("Team/Rounds", Rounds);
   176     teamfile.setValue("Team/Rounds", Rounds);
   173     teamfile.setValue("Team/Wins", Wins);
   177     teamfile.setValue("Team/Wins", Wins);
       
   178     teamfile.setValue("Team/CampaignProgress", CampaignProgress);
   174     for(int i = 0; i < 8; i++)
   179     for(int i = 0; i < 8; i++)
   175     {
   180     {
   176         QString hh = QString("Hedgehog%1/").arg(i);
   181         QString hh = QString("Hedgehog%1/").arg(i);
   177         teamfile.setValue(hh + "Name", Hedgehogs[i].Name);
   182         teamfile.setValue(hh + "Name", Hedgehogs[i].Name);
   178         teamfile.setValue(hh + "Hat", Hedgehogs[i].Hat);
   183         teamfile.setValue(hh + "Hat", Hedgehogs[i].Hat);