QTfrontend/campaign.cpp
branchspacecampaign
changeset 9272 6fa30e491b37
parent 9219 0a4b6bb69f99
child 9275 3df990e2ee0e
equal deleted inserted replaced
9269:4adb0e860bed 9272:6fa30e491b37
    15  * along with this program; if not, write to the Free Software
    15  * along with this program; if not, write to the Free Software
    16  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
    16  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
    17  */
    17  */
    18 
    18 
    19 #include "campaign.h"
    19 #include "campaign.h"
    20 
       
    21 #include "hwconsts.h"
    20 #include "hwconsts.h"
    22 
       
    23 #include <QSettings>
    21 #include <QSettings>
    24 
    22 #include <QHash>
       
    23 #include <QDebug>
    25 
    24 
    26 QStringList getCampMissionList(QString & campaign)
    25 QStringList getCampMissionList(QString & campaign)
    27 {
    26 {
    28     QSettings campfile("physfs://Missions/Campaign/" + campaign + "/campaign.ini", QSettings::IniFormat, 0);
    27     QSettings campfile("physfs://Missions/Campaign/" + campaign + "/campaign.ini", QSettings::IniFormat, 0);
    29     campfile.setIniCodec("UTF-8");
    28     campfile.setIniCodec("UTF-8");
    42     QSettings teamfile(cfgdir->absolutePath() + "/Teams/" + teamName + ".hwt", QSettings::IniFormat, 0);
    41     QSettings teamfile(cfgdir->absolutePath() + "/Teams/" + teamName + ".hwt", QSettings::IniFormat, 0);
    43     teamfile.setIniCodec("UTF-8");
    42     teamfile.setIniCodec("UTF-8");
    44     return teamfile.value("Campaign " + campName + "/Progress", 0).toInt();
    43     return teamfile.value("Campaign " + campName + "/Progress", 0).toInt();
    45 }
    44 }
    46 
    45 
       
    46 QHash<QString,QString> getUnlockedMissions2(QString & campaignName, QString & teamName)
       
    47 {
       
    48 	QHash<QString,QString> hash;
       
    49 	QSettings teamfile(cfgdir->absolutePath() + "/Teams/" + teamName + ".hwt", QSettings::IniFormat, 0);
       
    50     teamfile.setIniCodec("UTF-8");
       
    51     unsigned int progress = teamfile.value("Campaign " + campaignName + "/Progress", 0).toInt();
       
    52     qDebug("HERE is progress : %d",progress);
       
    53     unsigned int unlockedMissions = teamfile.value("Campaign " + campaignName + "/UnlockedMissions", 0).toInt();
       
    54     qDebug("HERE is unlocked missions : %d",unlockedMissions);
       
    55     
       
    56     QSettings campfile("physfs://Missions/Campaign/" + campaignName + "/campaign.ini", QSettings::IniFormat, 0);
       
    57     campfile.setIniCodec("UTF-8");
       
    58     unsigned int missionsNumber = campfile.value("MissionNum", 0).toInt();
       
    59     qDebug("HERE is number of missions : %d",missionsNumber);  
       
    60     
       
    61     if(progress>0)
       
    62     {
       
    63 		for(unsigned int i=1;i<=missionsNumber;i++)
       
    64 		{
       
    65 			hash[getCampaignScript(campaignName,i)] = campfile.value(QString("Mission %1/Name").arg(i)).toString();
       
    66 		}
       
    67 	} 
       
    68 	else if(unlockedMissions>0)
       
    69 	{
       
    70 		for(unsigned int i=1;i<=unlockedMissions;i++)
       
    71 		{
       
    72 			int missionNumber = teamfile.value("Campaign " + campaignName + "/Mission"+i, -1).toInt();
       
    73 			hash[getCampaignScript(campaignName,missionNumber)] = campfile.value(QString("Mission %1/Name").arg(missionNumber)).toString();
       
    74 		}
       
    75 	}
       
    76 	return hash;
       
    77 }
       
    78 
       
    79 QStringList getUnlockedMissions(QString & teamName, QString & campName)
       
    80 {
       
    81 	QSettings teamfile(cfgdir->absolutePath() + "/Teams/" + teamName + ".hwt", QSettings::IniFormat, 0);
       
    82     teamfile.setIniCodec("UTF-8");
       
    83     unsigned int mNum = teamfile.value("UnlockedMissions", 0).toInt();
       
    84     
       
    85     QStringList missionList;
       
    86     for (unsigned int i = 0; i < mNum; i++)
       
    87     {
       
    88       missionList += teamfile.value(QString("Mission%1").arg(i + 1)).toString();
       
    89     }
       
    90     return missionList;
       
    91 }
       
    92 
    47 QString getCampaignScript(QString campaign, unsigned int mNum)
    93 QString getCampaignScript(QString campaign, unsigned int mNum)
    48 {
    94 {
    49     QSettings campfile("physfs://Missions/Campaign/" + campaign + "/campaign.ini", QSettings::IniFormat, 0);
    95     QSettings campfile("physfs://Missions/Campaign/" + campaign + "/campaign.ini", QSettings::IniFormat, 0);
    50     campfile.setIniCodec("UTF-8");
    96     campfile.setIniCodec("UTF-8");
    51     return campfile.value(QString("Mission %1/Script").arg(mNum)).toString();
    97     return campfile.value(QString("Mission %1/Script").arg(mNum)).toString();