author | Periklis Ntanasis <pntanasis@gmail.com> |
Fri, 28 Jun 2013 18:55:01 +0300 | |
branch | spacecampaign |
changeset 9278 | 33a30ce9782f |
parent 9275 | 3df990e2ee0e |
child 9284 | 13b76fa362b4 |
permissions | -rw-r--r-- |
7201
dc17ffdf0702
The first campaign commit with a lot of changes...
belphegorr <szabibibi@gmail.com>
parents:
diff
changeset
|
1 |
/* |
dc17ffdf0702
The first campaign commit with a lot of changes...
belphegorr <szabibibi@gmail.com>
parents:
diff
changeset
|
2 |
* Hedgewars, a free turn based strategy game |
9080 | 3 |
* Copyright (c) 2004-2013 Andrey Korotaev <unC0Rr@gmail.com> |
7201
dc17ffdf0702
The first campaign commit with a lot of changes...
belphegorr <szabibibi@gmail.com>
parents:
diff
changeset
|
4 |
* |
dc17ffdf0702
The first campaign commit with a lot of changes...
belphegorr <szabibibi@gmail.com>
parents:
diff
changeset
|
5 |
* This program is free software; you can redistribute it and/or modify |
dc17ffdf0702
The first campaign commit with a lot of changes...
belphegorr <szabibibi@gmail.com>
parents:
diff
changeset
|
6 |
* it under the terms of the GNU General Public License as published by |
dc17ffdf0702
The first campaign commit with a lot of changes...
belphegorr <szabibibi@gmail.com>
parents:
diff
changeset
|
7 |
* the Free Software Foundation; version 2 of the License |
dc17ffdf0702
The first campaign commit with a lot of changes...
belphegorr <szabibibi@gmail.com>
parents:
diff
changeset
|
8 |
* |
dc17ffdf0702
The first campaign commit with a lot of changes...
belphegorr <szabibibi@gmail.com>
parents:
diff
changeset
|
9 |
* This program is distributed in the hope that it will be useful, |
dc17ffdf0702
The first campaign commit with a lot of changes...
belphegorr <szabibibi@gmail.com>
parents:
diff
changeset
|
10 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
dc17ffdf0702
The first campaign commit with a lot of changes...
belphegorr <szabibibi@gmail.com>
parents:
diff
changeset
|
11 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
dc17ffdf0702
The first campaign commit with a lot of changes...
belphegorr <szabibibi@gmail.com>
parents:
diff
changeset
|
12 |
* GNU General Public License for more details. |
dc17ffdf0702
The first campaign commit with a lot of changes...
belphegorr <szabibibi@gmail.com>
parents:
diff
changeset
|
13 |
* |
dc17ffdf0702
The first campaign commit with a lot of changes...
belphegorr <szabibibi@gmail.com>
parents:
diff
changeset
|
14 |
* You should have received a copy of the GNU General Public License |
dc17ffdf0702
The first campaign commit with a lot of changes...
belphegorr <szabibibi@gmail.com>
parents:
diff
changeset
|
15 |
* along with this program; if not, write to the Free Software |
dc17ffdf0702
The first campaign commit with a lot of changes...
belphegorr <szabibibi@gmail.com>
parents:
diff
changeset
|
16 |
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA |
dc17ffdf0702
The first campaign commit with a lot of changes...
belphegorr <szabibibi@gmail.com>
parents:
diff
changeset
|
17 |
*/ |
dc17ffdf0702
The first campaign commit with a lot of changes...
belphegorr <szabibibi@gmail.com>
parents:
diff
changeset
|
18 |
|
9000
af202eff659c
remove about 45 useless #include statements from campain.* - copypasta ftw, eh? :p
sheepluva
parents:
8434
diff
changeset
|
19 |
#include "campaign.h" |
af202eff659c
remove about 45 useless #include statements from campain.* - copypasta ftw, eh? :p
sheepluva
parents:
8434
diff
changeset
|
20 |
#include "hwconsts.h" |
9278
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
21 |
#include "DataManager.h" |
7201
dc17ffdf0702
The first campaign commit with a lot of changes...
belphegorr <szabibibi@gmail.com>
parents:
diff
changeset
|
22 |
#include <QSettings> |
9275
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
23 |
#include <QMap> |
9272
6fa30e491b37
changes in campaign page - not tested wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9219
diff
changeset
|
24 |
#include <QDebug> |
9278
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
25 |
#include <QObject> |
7201
dc17ffdf0702
The first campaign commit with a lot of changes...
belphegorr <szabibibi@gmail.com>
parents:
diff
changeset
|
26 |
|
dc17ffdf0702
The first campaign commit with a lot of changes...
belphegorr <szabibibi@gmail.com>
parents:
diff
changeset
|
27 |
QStringList getCampMissionList(QString & campaign) |
dc17ffdf0702
The first campaign commit with a lot of changes...
belphegorr <szabibibi@gmail.com>
parents:
diff
changeset
|
28 |
{ |
8049 | 29 |
QSettings campfile("physfs://Missions/Campaign/" + campaign + "/campaign.ini", QSettings::IniFormat, 0); |
7201
dc17ffdf0702
The first campaign commit with a lot of changes...
belphegorr <szabibibi@gmail.com>
parents:
diff
changeset
|
30 |
campfile.setIniCodec("UTF-8"); |
dc17ffdf0702
The first campaign commit with a lot of changes...
belphegorr <szabibibi@gmail.com>
parents:
diff
changeset
|
31 |
unsigned int mNum = campfile.value("MissionNum", 0).toInt(); |
8434 | 32 |
|
7201
dc17ffdf0702
The first campaign commit with a lot of changes...
belphegorr <szabibibi@gmail.com>
parents:
diff
changeset
|
33 |
QStringList missionList; |
dc17ffdf0702
The first campaign commit with a lot of changes...
belphegorr <szabibibi@gmail.com>
parents:
diff
changeset
|
34 |
for (unsigned int i = 0; i < mNum; i++) |
dc17ffdf0702
The first campaign commit with a lot of changes...
belphegorr <szabibibi@gmail.com>
parents:
diff
changeset
|
35 |
{ |
dc17ffdf0702
The first campaign commit with a lot of changes...
belphegorr <szabibibi@gmail.com>
parents:
diff
changeset
|
36 |
missionList += campfile.value(QString("Mission %1/Name").arg(i + 1)).toString(); |
dc17ffdf0702
The first campaign commit with a lot of changes...
belphegorr <szabibibi@gmail.com>
parents:
diff
changeset
|
37 |
} |
dc17ffdf0702
The first campaign commit with a lot of changes...
belphegorr <szabibibi@gmail.com>
parents:
diff
changeset
|
38 |
return missionList; |
dc17ffdf0702
The first campaign commit with a lot of changes...
belphegorr <szabibibi@gmail.com>
parents:
diff
changeset
|
39 |
} |
8434 | 40 |
|
9275
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
41 |
// works ok |
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
42 |
QStringList getCampMissionList2(QString & campaignName, QString & teamName) |
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
43 |
{ |
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
44 |
QStringList missionList; |
9272
6fa30e491b37
changes in campaign page - not tested wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9219
diff
changeset
|
45 |
QSettings teamfile(cfgdir->absolutePath() + "/Teams/" + teamName + ".hwt", QSettings::IniFormat, 0); |
6fa30e491b37
changes in campaign page - not tested wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9219
diff
changeset
|
46 |
teamfile.setIniCodec("UTF-8"); |
6fa30e491b37
changes in campaign page - not tested wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9219
diff
changeset
|
47 |
unsigned int progress = teamfile.value("Campaign " + campaignName + "/Progress", 0).toInt(); |
6fa30e491b37
changes in campaign page - not tested wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9219
diff
changeset
|
48 |
qDebug("HERE is progress : %d",progress); |
6fa30e491b37
changes in campaign page - not tested wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9219
diff
changeset
|
49 |
unsigned int unlockedMissions = teamfile.value("Campaign " + campaignName + "/UnlockedMissions", 0).toInt(); |
6fa30e491b37
changes in campaign page - not tested wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9219
diff
changeset
|
50 |
qDebug("HERE is unlocked missions : %d",unlockedMissions); |
6fa30e491b37
changes in campaign page - not tested wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9219
diff
changeset
|
51 |
|
6fa30e491b37
changes in campaign page - not tested wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9219
diff
changeset
|
52 |
QSettings campfile("physfs://Missions/Campaign/" + campaignName + "/campaign.ini", QSettings::IniFormat, 0); |
6fa30e491b37
changes in campaign page - not tested wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9219
diff
changeset
|
53 |
campfile.setIniCodec("UTF-8"); |
6fa30e491b37
changes in campaign page - not tested wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9219
diff
changeset
|
54 |
unsigned int missionsNumber = campfile.value("MissionNum", 0).toInt(); |
6fa30e491b37
changes in campaign page - not tested wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9219
diff
changeset
|
55 |
qDebug("HERE is number of missions : %d",missionsNumber); |
6fa30e491b37
changes in campaign page - not tested wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9219
diff
changeset
|
56 |
|
9275
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
57 |
if(progress>=0 and unlockedMissions==0) |
9272
6fa30e491b37
changes in campaign page - not tested wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9219
diff
changeset
|
58 |
{ |
9275
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
59 |
for(unsigned int i=progress+1;i>0;i--) |
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
60 |
{ |
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
61 |
missionList += campfile.value(QString("Mission %1/Name").arg(i)).toString(); |
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
62 |
} |
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
63 |
} |
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
64 |
else if(unlockedMissions>0) |
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
65 |
{ |
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
66 |
qDebug("IN HERE !!!"); |
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
67 |
for(unsigned int i=1;i<=unlockedMissions;i++) |
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
68 |
{ |
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
69 |
QString missionNum = QString("%1").arg(i); |
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
70 |
int missionNumber = teamfile.value("Campaign " + campaignName + "/Mission"+missionNum, -1).toInt(); |
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
71 |
qDebug("Campaign %s Mission %d",campaignName.toUtf8().constData(),i); |
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
72 |
qDebug("MISSION NUMBER : %d",missionNumber); |
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
73 |
missionList += campfile.value(QString("Mission %1/Name").arg(missionNumber)).toString(); |
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
74 |
qDebug(campfile.value(QString("Mission %1/Name").arg(missionNumber)).toString().toUtf8().constData()); |
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
75 |
} |
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
76 |
} |
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
77 |
return missionList; |
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
78 |
} |
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
79 |
|
9278
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
80 |
QStringList getDescriptions(QString & campaignName, QString & teamName) |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
81 |
{ |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
82 |
QStringList descriptionList; |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
83 |
QSettings teamfile(cfgdir->absolutePath() + "/Teams/" + teamName + ".hwt", QSettings::IniFormat, 0); |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
84 |
teamfile.setIniCodec("UTF-8"); |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
85 |
unsigned int progress = teamfile.value("Campaign " + campaignName + "/Progress", 0).toInt(); |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
86 |
qDebug("HERE is progress : %d",progress); |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
87 |
unsigned int unlockedMissions = teamfile.value("Campaign " + campaignName + "/UnlockedMissions", 0).toInt(); |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
88 |
qDebug("HERE is unlocked missions : %d",unlockedMissions); |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
89 |
|
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
90 |
QSettings campfile("physfs://Missions/Campaign/" + campaignName + "/campaign.ini", QSettings::IniFormat, 0); |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
91 |
campfile.setIniCodec("UTF-8"); |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
92 |
unsigned int missionsNumber = campfile.value("MissionNum", 0).toInt(); |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
93 |
qDebug("HERE is number of missions : %d",missionsNumber); |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
94 |
|
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
95 |
|
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
96 |
DataManager & dataMgr = DataManager::instance(); |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
97 |
// get locale |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
98 |
QSettings settings(dataMgr.settingsFileName(), |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
99 |
QSettings::IniFormat); |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
100 |
QString loc = settings.value("misc/locale", "").toString(); |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
101 |
if (loc.isEmpty()) |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
102 |
loc = QLocale::system().name(); |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
103 |
QString campaignDescFile = QString("physfs://Locale/campaigns_" + loc + ".txt"); |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
104 |
// if file is non-existant try with language only |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
105 |
if (!QFile::exists(campaignDescFile)) |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
106 |
campaignDescFile = QString("physfs://Locale/campaigns_" + loc.remove(QRegExp("_.*$")) + ".txt"); |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
107 |
|
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
108 |
// fallback if file for current locale is non-existant |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
109 |
if (!QFile::exists(campaignDescFile)) |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
110 |
campaignDescFile = QString("physfs://Locale/campaigns_en.txt"); |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
111 |
|
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
112 |
QSettings m_info(campaignDescFile, QSettings::IniFormat, 0); |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
113 |
m_info.setIniCodec("UTF-8"); |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
114 |
|
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
115 |
if(progress>=0 and unlockedMissions==0) |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
116 |
{ |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
117 |
for(unsigned int i=progress+1;i>0;i--) |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
118 |
{ |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
119 |
//update descruiptions here |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
120 |
descriptionList += m_info.value(campaignName+"-"+ getCampaignMissionName(campaignName,i) + ".desc", |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
121 |
QObject::tr("No description available")).toString(); |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
122 |
} |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
123 |
} |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
124 |
else if(unlockedMissions>0) |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
125 |
{ |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
126 |
qDebug("IN HERE !!!"); |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
127 |
for(unsigned int i=1;i<=unlockedMissions;i++) |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
128 |
{ |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
129 |
QString missionNum = QString("%1").arg(i); |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
130 |
descriptionList += m_info.value(campaignName+"-"+ getCampaignMissionName(campaignName,i) + ".desc", |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
131 |
QObject::tr("No description available")).toString(); |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
132 |
} |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
133 |
} |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
134 |
return descriptionList; |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
135 |
} |
33a30ce9782f
this seems to works, still wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9275
diff
changeset
|
136 |
|
9275
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
137 |
unsigned int getCampProgress(QString & teamName, QString & campName) |
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
138 |
{ |
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
139 |
QSettings teamfile(cfgdir->absolutePath() + "/Teams/" + teamName + ".hwt", QSettings::IniFormat, 0); |
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
140 |
teamfile.setIniCodec("UTF-8"); |
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
141 |
return teamfile.value("Campaign " + campName + "/Progress", 0).toInt(); |
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
142 |
} |
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
143 |
|
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
144 |
QMap<QString,QString> getUnlockedMissions2(QString & campaignName, QString & teamName) |
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
145 |
{ |
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
146 |
QMap<QString,QString> hash; |
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
147 |
QSettings teamfile(cfgdir->absolutePath() + "/Teams/" + teamName + ".hwt", QSettings::IniFormat, 0); |
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
148 |
teamfile.setIniCodec("UTF-8"); |
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
149 |
unsigned int progress = teamfile.value("Campaign " + campaignName + "/Progress", 0).toInt(); |
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
150 |
qDebug("HERE is progress : %d",progress); |
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
151 |
unsigned int unlockedMissions = teamfile.value("Campaign " + campaignName + "/UnlockedMissions", 0).toInt(); |
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
152 |
qDebug("HERE is unlocked missions : %d",unlockedMissions); |
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
153 |
|
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
154 |
QSettings campfile("physfs://Missions/Campaign/" + campaignName + "/campaign.ini", QSettings::IniFormat, 0); |
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
155 |
campfile.setIniCodec("UTF-8"); |
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
156 |
unsigned int missionsNumber = campfile.value("MissionNum", 0).toInt(); |
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
157 |
qDebug("HERE is number of missions : %d",missionsNumber); |
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
158 |
|
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
159 |
if(progress>=0 and unlockedMissions==0) |
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
160 |
{ |
3df990e2ee0e
more on campaign page - wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9272
diff
changeset
|
161 |
for(unsigned int i=1;i<=progress+1;i++) |
9272
6fa30e491b37
changes in campaign page - not tested wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9219
diff
changeset
|
162 |
{ |
6fa30e491b37
changes in campaign page - not tested wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9219
diff
changeset
|
163 |
hash[getCampaignScript(campaignName,i)] = campfile.value(QString("Mission %1/Name").arg(i)).toString(); |
6fa30e491b37
changes in campaign page - not tested wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9219
diff
changeset
|
164 |
} |
6fa30e491b37
changes in campaign page - not tested wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9219
diff
changeset
|
165 |
} |
6fa30e491b37
changes in campaign page - not tested wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9219
diff
changeset
|
166 |
else if(unlockedMissions>0) |
6fa30e491b37
changes in campaign page - not tested wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9219
diff
changeset
|
167 |
{ |
6fa30e491b37
changes in campaign page - not tested wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9219
diff
changeset
|
168 |
for(unsigned int i=1;i<=unlockedMissions;i++) |
6fa30e491b37
changes in campaign page - not tested wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9219
diff
changeset
|
169 |
{ |
6fa30e491b37
changes in campaign page - not tested wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9219
diff
changeset
|
170 |
int missionNumber = teamfile.value("Campaign " + campaignName + "/Mission"+i, -1).toInt(); |
6fa30e491b37
changes in campaign page - not tested wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9219
diff
changeset
|
171 |
hash[getCampaignScript(campaignName,missionNumber)] = campfile.value(QString("Mission %1/Name").arg(missionNumber)).toString(); |
6fa30e491b37
changes in campaign page - not tested wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9219
diff
changeset
|
172 |
} |
6fa30e491b37
changes in campaign page - not tested wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9219
diff
changeset
|
173 |
} |
6fa30e491b37
changes in campaign page - not tested wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9219
diff
changeset
|
174 |
return hash; |
6fa30e491b37
changes in campaign page - not tested wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9219
diff
changeset
|
175 |
} |
6fa30e491b37
changes in campaign page - not tested wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9219
diff
changeset
|
176 |
|
6fa30e491b37
changes in campaign page - not tested wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9219
diff
changeset
|
177 |
QStringList getUnlockedMissions(QString & teamName, QString & campName) |
6fa30e491b37
changes in campaign page - not tested wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9219
diff
changeset
|
178 |
{ |
6fa30e491b37
changes in campaign page - not tested wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9219
diff
changeset
|
179 |
QSettings teamfile(cfgdir->absolutePath() + "/Teams/" + teamName + ".hwt", QSettings::IniFormat, 0); |
6fa30e491b37
changes in campaign page - not tested wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9219
diff
changeset
|
180 |
teamfile.setIniCodec("UTF-8"); |
6fa30e491b37
changes in campaign page - not tested wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9219
diff
changeset
|
181 |
unsigned int mNum = teamfile.value("UnlockedMissions", 0).toInt(); |
6fa30e491b37
changes in campaign page - not tested wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9219
diff
changeset
|
182 |
|
6fa30e491b37
changes in campaign page - not tested wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9219
diff
changeset
|
183 |
QStringList missionList; |
6fa30e491b37
changes in campaign page - not tested wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9219
diff
changeset
|
184 |
for (unsigned int i = 0; i < mNum; i++) |
6fa30e491b37
changes in campaign page - not tested wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9219
diff
changeset
|
185 |
{ |
6fa30e491b37
changes in campaign page - not tested wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9219
diff
changeset
|
186 |
missionList += teamfile.value(QString("Mission%1").arg(i + 1)).toString(); |
6fa30e491b37
changes in campaign page - not tested wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9219
diff
changeset
|
187 |
} |
6fa30e491b37
changes in campaign page - not tested wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9219
diff
changeset
|
188 |
return missionList; |
6fa30e491b37
changes in campaign page - not tested wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9219
diff
changeset
|
189 |
} |
6fa30e491b37
changes in campaign page - not tested wip
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9219
diff
changeset
|
190 |
|
7201
dc17ffdf0702
The first campaign commit with a lot of changes...
belphegorr <szabibibi@gmail.com>
parents:
diff
changeset
|
191 |
QString getCampaignScript(QString campaign, unsigned int mNum) |
dc17ffdf0702
The first campaign commit with a lot of changes...
belphegorr <szabibibi@gmail.com>
parents:
diff
changeset
|
192 |
{ |
8049 | 193 |
QSettings campfile("physfs://Missions/Campaign/" + campaign + "/campaign.ini", QSettings::IniFormat, 0); |
7201
dc17ffdf0702
The first campaign commit with a lot of changes...
belphegorr <szabibibi@gmail.com>
parents:
diff
changeset
|
194 |
campfile.setIniCodec("UTF-8"); |
dc17ffdf0702
The first campaign commit with a lot of changes...
belphegorr <szabibibi@gmail.com>
parents:
diff
changeset
|
195 |
return campfile.value(QString("Mission %1/Script").arg(mNum)).toString(); |
dc17ffdf0702
The first campaign commit with a lot of changes...
belphegorr <szabibibi@gmail.com>
parents:
diff
changeset
|
196 |
} |
9182
f92e205bc167
issue 562, image and description for the campaign page
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9080
diff
changeset
|
197 |
|
f92e205bc167
issue 562, image and description for the campaign page
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9080
diff
changeset
|
198 |
QString getCampaignImage(QString campaign, unsigned int mNum) |
f92e205bc167
issue 562, image and description for the campaign page
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9080
diff
changeset
|
199 |
{ |
9219 | 200 |
return getCampaignScript(campaign,mNum).replace(QString(".lua"),QString(".png")); |
9182
f92e205bc167
issue 562, image and description for the campaign page
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9080
diff
changeset
|
201 |
} |
f92e205bc167
issue 562, image and description for the campaign page
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9080
diff
changeset
|
202 |
|
9219 | 203 |
QString getCampaignMissionName(QString campaign, unsigned int mNum) |
9182
f92e205bc167
issue 562, image and description for the campaign page
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9080
diff
changeset
|
204 |
{ |
9219 | 205 |
return getCampaignScript(campaign,mNum).replace(QString(".lua"),QString("")); |
9182
f92e205bc167
issue 562, image and description for the campaign page
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9080
diff
changeset
|
206 |
} |
f92e205bc167
issue 562, image and description for the campaign page
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9080
diff
changeset
|
207 |