75 } |
75 } |
76 } |
76 } |
77 return missionList; |
77 return missionList; |
78 } |
78 } |
79 |
79 |
80 QStringList getDescriptions(QString & campaignName, QString & teamName) |
80 QList<MissionInfo> getCampMissionList3(QString & campaignName, QString & teamName) |
81 { |
81 { |
82 QStringList descriptionList; |
82 // TODO: add default image if there isn't an available one |
83 QSettings teamfile(cfgdir->absolutePath() + "/Teams/" + teamName + ".hwt", QSettings::IniFormat, 0); |
83 QList<MissionInfo> missionInfoList; |
84 teamfile.setIniCodec("UTF-8"); |
84 QSettings teamfile(cfgdir->absolutePath() + "/Teams/" + teamName + ".hwt", QSettings::IniFormat, 0); |
85 unsigned int progress = teamfile.value("Campaign " + campaignName + "/Progress", 0).toInt(); |
85 teamfile.setIniCodec("UTF-8"); |
86 qDebug("HERE is progress : %d",progress); |
86 unsigned int progress = teamfile.value("Campaign " + campaignName + "/Progress", 0).toInt(); |
87 unsigned int unlockedMissions = teamfile.value("Campaign " + campaignName + "/UnlockedMissions", 0).toInt(); |
87 qDebug("HERE is progress : %d",progress); |
88 qDebug("HERE is unlocked missions : %d",unlockedMissions); |
88 unsigned int unlockedMissions = teamfile.value("Campaign " + campaignName + "/UnlockedMissions", 0).toInt(); |
89 |
89 qDebug("HERE is unlocked missions : %d",unlockedMissions); |
90 QSettings campfile("physfs://Missions/Campaign/" + campaignName + "/campaign.ini", QSettings::IniFormat, 0); |
90 |
91 campfile.setIniCodec("UTF-8"); |
91 QSettings campfile("physfs://Missions/Campaign/" + campaignName + "/campaign.ini", QSettings::IniFormat, 0); |
92 unsigned int missionsNumber = campfile.value("MissionNum", 0).toInt(); |
92 campfile.setIniCodec("UTF-8"); |
93 qDebug("HERE is number of missions : %d",missionsNumber); |
93 unsigned int missionsNumber = campfile.value("MissionNum", 0).toInt(); |
94 |
94 qDebug("HERE is number of missions : %d",missionsNumber); |
95 |
95 |
96 DataManager & dataMgr = DataManager::instance(); |
96 DataManager & dataMgr = DataManager::instance(); |
97 // get locale |
97 // get locale |
98 QSettings settings(dataMgr.settingsFileName(), |
98 QSettings settings(dataMgr.settingsFileName(), |
99 QSettings::IniFormat); |
99 QSettings::IniFormat); |
114 |
114 |
115 if(progress>=0 and unlockedMissions==0) |
115 if(progress>=0 and unlockedMissions==0) |
116 { |
116 { |
117 for(unsigned int i=progress+1;i>0;i--) |
117 for(unsigned int i=progress+1;i>0;i--) |
118 { |
118 { |
119 //update descruiptions here |
119 MissionInfo missionInfo; |
120 descriptionList += m_info.value(campaignName+"-"+ getCampaignMissionName(campaignName,i) + ".desc", |
120 missionInfo.name = campfile.value(QString("Mission %1/Name").arg(i)).toString(); |
|
121 missionInfo.description = m_info.value(campaignName+"-"+ getCampaignMissionName(campaignName,i) + ".desc", |
121 QObject::tr("No description available")).toString(); |
122 QObject::tr("No description available")).toString(); |
|
123 missionInfo.script = campfile.value(QString("Mission %1/Script").arg(i)).toString(); |
|
124 missionInfo.image = campfile.value(QString("Mission %1/Script").arg(i)).toString().replace(QString(".lua"),QString(".png")); |
|
125 missionInfoList.append(missionInfo); |
122 } |
126 } |
123 } |
127 } |
124 else if(unlockedMissions>0) |
128 else if(unlockedMissions>0) |
125 { |
129 { |
126 qDebug("IN HERE !!!"); |
130 qDebug("IN HERE !!!"); |
127 for(unsigned int i=1;i<=unlockedMissions;i++) |
131 for(unsigned int i=1;i<=unlockedMissions;i++) |
128 { |
132 { |
129 QString missionNum = QString("%1").arg(i); |
133 QString missionNum = QString("%1").arg(i); |
130 int missionNumber = teamfile.value("Campaign " + campaignName + "/Mission"+missionNum, -1).toInt(); |
134 int missionNumber = teamfile.value("Campaign " + campaignName + "/Mission"+missionNum, -1).toInt(); |
131 descriptionList += m_info.value(campaignName+"-"+ getCampaignMissionName(campaignName,missionNumber) + ".desc", |
135 MissionInfo missionInfo; |
|
136 missionInfo.name = campfile.value(QString("Mission %1/Name").arg(missionNumber)).toString(); |
|
137 missionInfo.description = m_info.value(campaignName+"-"+ getCampaignMissionName(campaignName,missionNumber) + ".desc", |
132 QObject::tr("No description available")).toString(); |
138 QObject::tr("No description available")).toString(); |
133 } |
139 missionInfo.script = campfile.value(QString("Mission %1/Script").arg(missionNumber)).toString(); |
134 } |
140 missionInfo.image = campfile.value(QString("Mission %1/Script").arg(missionNumber)).toString().replace(QString(".lua"),QString(".png")); |
135 return descriptionList; |
141 missionInfoList.append(missionInfo); |
136 } |
142 } |
137 |
143 } |
138 QStringList getImages(QString & campaignName, QString & teamName) |
144 return missionInfoList; |
|
145 } |
|
146 |
|
147 QStringList getDescriptions(QString & campaignName, QString & teamName) |
139 { |
148 { |
140 QStringList imageList; |
149 QStringList descriptionList; |
141 QSettings teamfile(cfgdir->absolutePath() + "/Teams/" + teamName + ".hwt", QSettings::IniFormat, 0); |
150 QSettings teamfile(cfgdir->absolutePath() + "/Teams/" + teamName + ".hwt", QSettings::IniFormat, 0); |
142 teamfile.setIniCodec("UTF-8"); |
151 teamfile.setIniCodec("UTF-8"); |
143 unsigned int progress = teamfile.value("Campaign " + campaignName + "/Progress", 0).toInt(); |
152 unsigned int progress = teamfile.value("Campaign " + campaignName + "/Progress", 0).toInt(); |
144 qDebug("HERE is progress : %d",progress); |
153 qDebug("HERE is progress : %d",progress); |
145 unsigned int unlockedMissions = teamfile.value("Campaign " + campaignName + "/UnlockedMissions", 0).toInt(); |
154 unsigned int unlockedMissions = teamfile.value("Campaign " + campaignName + "/UnlockedMissions", 0).toInt(); |
173 if(progress>=0 and unlockedMissions==0) |
182 if(progress>=0 and unlockedMissions==0) |
174 { |
183 { |
175 for(unsigned int i=progress+1;i>0;i--) |
184 for(unsigned int i=progress+1;i>0;i--) |
176 { |
185 { |
177 //update descruiptions here |
186 //update descruiptions here |
|
187 descriptionList += m_info.value(campaignName+"-"+ getCampaignMissionName(campaignName,i) + ".desc", |
|
188 QObject::tr("No description available")).toString(); |
|
189 } |
|
190 } |
|
191 else if(unlockedMissions>0) |
|
192 { |
|
193 qDebug("IN HERE !!!"); |
|
194 for(unsigned int i=1;i<=unlockedMissions;i++) |
|
195 { |
|
196 QString missionNum = QString("%1").arg(i); |
|
197 int missionNumber = teamfile.value("Campaign " + campaignName + "/Mission"+missionNum, -1).toInt(); |
|
198 descriptionList += m_info.value(campaignName+"-"+ getCampaignMissionName(campaignName,missionNumber) + ".desc", |
|
199 QObject::tr("No description available")).toString(); |
|
200 } |
|
201 } |
|
202 return descriptionList; |
|
203 } |
|
204 |
|
205 QStringList getImages(QString & campaignName, QString & teamName) |
|
206 { |
|
207 QStringList imageList; |
|
208 QSettings teamfile(cfgdir->absolutePath() + "/Teams/" + teamName + ".hwt", QSettings::IniFormat, 0); |
|
209 teamfile.setIniCodec("UTF-8"); |
|
210 unsigned int progress = teamfile.value("Campaign " + campaignName + "/Progress", 0).toInt(); |
|
211 qDebug("HERE is progress : %d",progress); |
|
212 unsigned int unlockedMissions = teamfile.value("Campaign " + campaignName + "/UnlockedMissions", 0).toInt(); |
|
213 qDebug("HERE is unlocked missions : %d",unlockedMissions); |
|
214 |
|
215 QSettings campfile("physfs://Missions/Campaign/" + campaignName + "/campaign.ini", QSettings::IniFormat, 0); |
|
216 campfile.setIniCodec("UTF-8"); |
|
217 unsigned int missionsNumber = campfile.value("MissionNum", 0).toInt(); |
|
218 qDebug("HERE is number of missions : %d",missionsNumber); |
|
219 |
|
220 |
|
221 DataManager & dataMgr = DataManager::instance(); |
|
222 // get locale |
|
223 QSettings settings(dataMgr.settingsFileName(), |
|
224 QSettings::IniFormat); |
|
225 QString loc = settings.value("misc/locale", "").toString(); |
|
226 if (loc.isEmpty()) |
|
227 loc = QLocale::system().name(); |
|
228 QString campaignDescFile = QString("physfs://Locale/campaigns_" + loc + ".txt"); |
|
229 // if file is non-existant try with language only |
|
230 if (!QFile::exists(campaignDescFile)) |
|
231 campaignDescFile = QString("physfs://Locale/campaigns_" + loc.remove(QRegExp("_.*$")) + ".txt"); |
|
232 |
|
233 // fallback if file for current locale is non-existant |
|
234 if (!QFile::exists(campaignDescFile)) |
|
235 campaignDescFile = QString("physfs://Locale/campaigns_en.txt"); |
|
236 |
|
237 QSettings m_info(campaignDescFile, QSettings::IniFormat, 0); |
|
238 m_info.setIniCodec("UTF-8"); |
|
239 |
|
240 if(progress>=0 and unlockedMissions==0) |
|
241 { |
|
242 for(unsigned int i=progress+1;i>0;i--) |
|
243 { |
|
244 //update descruiptions here |
178 imageList += campfile.value(QString("Mission %1/Script").arg(i)).toString().replace(QString(".lua"),QString(".png")); |
245 imageList += campfile.value(QString("Mission %1/Script").arg(i)).toString().replace(QString(".lua"),QString(".png")); |
179 } |
246 } |
180 } |
247 } |
181 else if(unlockedMissions>0) |
248 else if(unlockedMissions>0) |
182 { |
249 { |