QTfrontend/campaign.cpp
author Periklis Ntanasis <pntanasis@gmail.com>
Fri, 28 Jun 2013 18:55:01 +0300
branchspacecampaign
changeset 9278 33a30ce9782f
parent 9275 3df990e2ee0e
child 9284 13b76fa362b4
permissions -rw-r--r--
this seems to works, still wip
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
9b42757d7e71 bump copyright year for Andrey entries
unc0rr
parents: 9001
diff changeset
     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
133e22b5c410 Get rid of DataManager::findFileForRead
unc0rr
parents: 7794
diff changeset
    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
4821897a0f10 big indentation/whitespaces cleanup
sheepluva
parents: 8049
diff changeset
    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
4821897a0f10 big indentation/whitespaces cleanup
sheepluva
parents: 8049
diff changeset
    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
133e22b5c410 Get rid of DataManager::findFileForRead
unc0rr
parents: 7794
diff changeset
   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
0a4b6bb69f99 bring windows fixes from main repo
koda
parents: 9182
diff changeset
   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
0a4b6bb69f99 bring windows fixes from main repo
koda
parents: 9182
diff changeset
   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
0a4b6bb69f99 bring windows fixes from main repo
koda
parents: 9182
diff changeset
   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