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; |