QTfrontend/campaign.cpp
changeset 13910 6c8d4e140f27
parent 13811 e3fee73c51a0
child 14462 4c743ef80b1b
equal deleted inserted replaced
13909:a44e4c057f57 13910:6c8d4e140f27
    29     teamfile->setIniCodec("UTF-8");
    29     teamfile->setIniCodec("UTF-8");
    30     // if entry not found check if there is written without _
    30     // if entry not found check if there is written without _
    31     // if then is found rename it to use _
    31     // if then is found rename it to use _
    32     QString spaceCampName = campaignName;
    32     QString spaceCampName = campaignName;
    33     spaceCampName = spaceCampName.replace(QString("_"),QString(" "));
    33     spaceCampName = spaceCampName.replace(QString("_"),QString(" "));
    34     if (!teamfile->childGroups().contains("Campaign " + campaignName) and
    34     if (!teamfile->childGroups().contains("Campaign " + campaignName) &&
    35             teamfile->childGroups().contains("Campaign " + spaceCampName)){
    35             teamfile->childGroups().contains("Campaign " + spaceCampName)){
    36         teamfile->beginGroup("Campaign " + spaceCampName);
    36         teamfile->beginGroup("Campaign " + spaceCampName);
    37         QStringList keys = teamfile->childKeys();
    37         QStringList keys = teamfile->childKeys();
    38         teamfile->endGroup();
    38         teamfile->endGroup();
    39         for (int i=0;i<keys.size();i++) {
    39         for (int i=0;i<keys.size();i++) {
    55 bool isMissionWon(QString & campaignName, int missionInList, QString & teamName)
    55 bool isMissionWon(QString & campaignName, int missionInList, QString & teamName)
    56 {
    56 {
    57     QSettings* teamfile = getCampTeamFile(campaignName, teamName);
    57     QSettings* teamfile = getCampTeamFile(campaignName, teamName);
    58     int progress = teamfile->value("Campaign " + campaignName + "/Progress", 0).toInt();
    58     int progress = teamfile->value("Campaign " + campaignName + "/Progress", 0).toInt();
    59     int unlockedMissions = teamfile->value("Campaign " + campaignName + "/UnlockedMissions", 0).toInt();
    59     int unlockedMissions = teamfile->value("Campaign " + campaignName + "/UnlockedMissions", 0).toInt();
    60     if(progress>0 and unlockedMissions==0)
    60     if(progress>0 && unlockedMissions==0)
    61     {
    61     {
    62         QSettings campfile("physfs://Missions/Campaign/" + campaignName + "/campaign.ini", QSettings::IniFormat, 0);
    62         QSettings campfile("physfs://Missions/Campaign/" + campaignName + "/campaign.ini", QSettings::IniFormat, 0);
    63         campfile.setIniCodec("UTF-8");
    63         campfile.setIniCodec("UTF-8");
    64         int totalMissions = campfile.value("MissionNum", 1).toInt();
    64         int totalMissions = campfile.value("MissionNum", 1).toInt();
    65         return (progress > (progress - missionInList)) || (progress >= totalMissions);
    65         return (progress > (progress - missionInList)) || (progress >= totalMissions);
   122     QSettings campfile("physfs://Missions/Campaign/" + campaignName + "/campaign.ini", QSettings::IniFormat, 0);
   122     QSettings campfile("physfs://Missions/Campaign/" + campaignName + "/campaign.ini", QSettings::IniFormat, 0);
   123     campfile.setIniCodec("UTF-8");
   123     campfile.setIniCodec("UTF-8");
   124 
   124 
   125     QSettings* m_info = getCampMetaInfo();
   125     QSettings* m_info = getCampMetaInfo();
   126 
   126 
   127     if(progress>=0 and unlockedMissions==0)
   127     if(progress >= 0 && unlockedMissions == 0)
   128     {
   128     {
   129         for(unsigned int i=progress+1;i>0;i--)
   129         for(unsigned int i = progress + 1; i > 0; i--)
   130         {
   130         {
   131             MissionInfo missionInfo;
   131             MissionInfo missionInfo;
   132             QString script = campfile.value(QString("Mission %1/Script").arg(i)).toString();
   132             QString script = campfile.value(QString("Mission %1/Script").arg(i)).toString();
   133             if(!script.isNull()) {
   133             if(!script.isNull()) {
   134                 missionInfo.script = script;
   134                 missionInfo.script = script;