107 } |
107 } |
108 |
108 |
109 /** Returns the localized campaign name */ |
109 /** Returns the localized campaign name */ |
110 QString getRealCampName(QString & campaignName) |
110 QString getRealCampName(QString & campaignName) |
111 { |
111 { |
112 QSettings* m_info = getCampMetaInfo(); |
112 QString campaignNameOrig = campaignName; |
113 if(m_info->contains(campaignName+".name")) |
113 QString campaignNameSpaces = campaignName.replace(QString("_"), QString(" ")); |
114 return m_info->value(campaignName+".name").toString(); |
114 return getCampMetaInfo()->value(campaignNameOrig+".name", campaignNameSpaces).toString(); |
115 else |
|
116 return campaignName.replace(QString("_"), QString(" ")); |
|
117 } |
115 } |
118 |
116 |
119 QList<MissionInfo> getCampMissionList(QString & campaignName, QString & teamName) |
117 QList<MissionInfo> getCampMissionList(QString & campaignName, QString & teamName) |
120 { |
118 { |
121 QList<MissionInfo> missionInfoList; |
119 QList<MissionInfo> missionInfoList; |
134 for(unsigned int i=progress+1;i>0;i--) |
132 for(unsigned int i=progress+1;i>0;i--) |
135 { |
133 { |
136 MissionInfo missionInfo; |
134 MissionInfo missionInfo; |
137 QString script = campfile.value(QString("Mission %1/Script").arg(i)).toString(); |
135 QString script = campfile.value(QString("Mission %1/Script").arg(i)).toString(); |
138 if(!script.isNull()) { |
136 if(!script.isNull()) { |
|
137 missionInfo.script = script; |
139 missionInfo.name = campfile.value(QString("Mission %1/Name").arg(i)).toString(); |
138 missionInfo.name = campfile.value(QString("Mission %1/Name").arg(i)).toString(); |
140 missionInfo.script = script; |
139 QString scriptPrefix = campaignName+"-"+ script.replace(QString(".lua"),QString("")); |
141 missionInfo.description = m_info->value(campaignName+"-"+ script.replace(QString(".lua"),QString("")) + ".desc", |
140 missionInfo.realName = m_info->value(scriptPrefix+".name", missionInfo.name).toString(); |
|
141 missionInfo.description = m_info->value(scriptPrefix + ".desc", |
142 QObject::tr("No description available")).toString(); |
142 QObject::tr("No description available")).toString(); |
143 QString image = campfile.value(QString("Mission %1/Script").arg(i)).toString().replace(QString(".lua"),QString(".png")); |
143 QString image = campfile.value(QString("Mission %1/Script").arg(i)).toString().replace(QString(".lua"),QString(".png")); |
144 missionInfo.image = ":/res/campaign/"+campaignName+"/"+image; |
144 missionInfo.image = ":/res/campaign/"+campaignName+"/"+image; |
145 if (!QFile::exists(missionInfo.image)) |
145 if (!QFile::exists(missionInfo.image)) |
146 missionInfo.image = ":/res/CampaignDefault.png"; |
146 missionInfo.image = ":/res/CampaignDefault.png"; |
153 for(int i=1;i<=unlockedMissions;i++) |
153 for(int i=1;i<=unlockedMissions;i++) |
154 { |
154 { |
155 QString missionNum = QString("%1").arg(i); |
155 QString missionNum = QString("%1").arg(i); |
156 int missionNumber = teamfile->value("Campaign " + campaignName + "/Mission"+missionNum, -1).toInt(); |
156 int missionNumber = teamfile->value("Campaign " + campaignName + "/Mission"+missionNum, -1).toInt(); |
157 MissionInfo missionInfo; |
157 MissionInfo missionInfo; |
158 missionInfo.name = campfile.value(QString("Mission %1/Name").arg(missionNumber)).toString(); |
|
159 QString script = campfile.value(QString("Mission %1/Script").arg(missionNumber)).toString(); |
158 QString script = campfile.value(QString("Mission %1/Script").arg(missionNumber)).toString(); |
160 missionInfo.script = script; |
159 missionInfo.script = script; |
161 missionInfo.description = m_info->value(campaignName+"-"+ script.replace(QString(".lua"),QString("")) + ".desc", |
160 missionInfo.name = campfile.value(QString("Mission %1/Name").arg(missionNumber)).toString(); |
|
161 QString scriptPrefix = campaignName+"-"+ script.replace(QString(".lua"),QString("")); |
|
162 missionInfo.realName = m_info->value(scriptPrefix+".name", missionInfo.name).toString(); |
|
163 missionInfo.description = m_info->value(scriptPrefix + ".desc", |
162 QObject::tr("No description available")).toString(); |
164 QObject::tr("No description available")).toString(); |
163 QString image = campfile.value(QString("Mission %1/Script").arg(missionNumber)).toString().replace(QString(".lua"),QString(".png")); |
165 QString image = campfile.value(QString("Mission %1/Script").arg(missionNumber)).toString().replace(QString(".lua"),QString(".png")); |
164 missionInfo.image = ":/res/campaign/"+campaignName+"/"+image; |
166 missionInfo.image = ":/res/campaign/"+campaignName+"/"+image; |
165 if (!QFile::exists(missionInfo.image)) |
167 if (!QFile::exists(missionInfo.image)) |
166 missionInfo.image = ":/res/CampaignDefault.png"; |
168 missionInfo.image = ":/res/CampaignDefault.png"; |