QTfrontend/campaign.cpp
branchspacecampaign
changeset 9275 3df990e2ee0e
parent 9272 6fa30e491b37
child 9278 33a30ce9782f
equal deleted inserted replaced
9272:6fa30e491b37 9275:3df990e2ee0e
    17  */
    17  */
    18 
    18 
    19 #include "campaign.h"
    19 #include "campaign.h"
    20 #include "hwconsts.h"
    20 #include "hwconsts.h"
    21 #include <QSettings>
    21 #include <QSettings>
    22 #include <QHash>
    22 #include <QMap>
    23 #include <QDebug>
    23 #include <QDebug>
    24 
    24 
    25 QStringList getCampMissionList(QString & campaign)
    25 QStringList getCampMissionList(QString & campaign)
    26 {
    26 {
    27     QSettings campfile("physfs://Missions/Campaign/" + campaign + "/campaign.ini", QSettings::IniFormat, 0);
    27     QSettings campfile("physfs://Missions/Campaign/" + campaign + "/campaign.ini", QSettings::IniFormat, 0);
    34       missionList += campfile.value(QString("Mission %1/Name").arg(i + 1)).toString();
    34       missionList += campfile.value(QString("Mission %1/Name").arg(i + 1)).toString();
    35     }
    35     }
    36     return missionList;
    36     return missionList;
    37 }
    37 }
    38 
    38 
    39 unsigned int getCampProgress(QString & teamName, QString & campName)
    39 // works ok
    40 {
    40 QStringList getCampMissionList2(QString & campaignName, QString & teamName)
    41     QSettings teamfile(cfgdir->absolutePath() + "/Teams/" + teamName + ".hwt", QSettings::IniFormat, 0);
    41 {    
    42     teamfile.setIniCodec("UTF-8");
    42     QStringList missionList;
    43     return teamfile.value("Campaign " + campName + "/Progress", 0).toInt();
       
    44 }
       
    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);
    43 	QSettings teamfile(cfgdir->absolutePath() + "/Teams/" + teamName + ".hwt", QSettings::IniFormat, 0);
    50     teamfile.setIniCodec("UTF-8");
    44     teamfile.setIniCodec("UTF-8");
    51     unsigned int progress = teamfile.value("Campaign " + campaignName + "/Progress", 0).toInt();
    45     unsigned int progress = teamfile.value("Campaign " + campaignName + "/Progress", 0).toInt();
    52     qDebug("HERE is progress : %d",progress);
    46     qDebug("HERE is progress : %d",progress);
    53     unsigned int unlockedMissions = teamfile.value("Campaign " + campaignName + "/UnlockedMissions", 0).toInt();
    47     unsigned int unlockedMissions = teamfile.value("Campaign " + campaignName + "/UnlockedMissions", 0).toInt();
    56     QSettings campfile("physfs://Missions/Campaign/" + campaignName + "/campaign.ini", QSettings::IniFormat, 0);
    50     QSettings campfile("physfs://Missions/Campaign/" + campaignName + "/campaign.ini", QSettings::IniFormat, 0);
    57     campfile.setIniCodec("UTF-8");
    51     campfile.setIniCodec("UTF-8");
    58     unsigned int missionsNumber = campfile.value("MissionNum", 0).toInt();
    52     unsigned int missionsNumber = campfile.value("MissionNum", 0).toInt();
    59     qDebug("HERE is number of missions : %d",missionsNumber);  
    53     qDebug("HERE is number of missions : %d",missionsNumber);  
    60     
    54     
    61     if(progress>0)
    55     if(progress>=0 and unlockedMissions==0)
    62     {
    56     {
    63 		for(unsigned int i=1;i<=missionsNumber;i++)
    57 		for(unsigned int i=progress+1;i>0;i--)
       
    58 		{
       
    59 			missionList += campfile.value(QString("Mission %1/Name").arg(i)).toString();
       
    60 		}
       
    61 	} 
       
    62 	else if(unlockedMissions>0)
       
    63 	{
       
    64 		qDebug("IN HERE !!!");  
       
    65 		for(unsigned int i=1;i<=unlockedMissions;i++)
       
    66 		{
       
    67 			QString missionNum = QString("%1").arg(i);
       
    68 			int missionNumber = teamfile.value("Campaign " + campaignName + "/Mission"+missionNum, -1).toInt();
       
    69 			qDebug("Campaign %s Mission %d",campaignName.toUtf8().constData(),i);  
       
    70 			qDebug("MISSION NUMBER : %d",missionNumber);  
       
    71 			missionList += campfile.value(QString("Mission %1/Name").arg(missionNumber)).toString();
       
    72 			qDebug(campfile.value(QString("Mission %1/Name").arg(missionNumber)).toString().toUtf8().constData());
       
    73 		}
       
    74 	}
       
    75 	return missionList;
       
    76 }
       
    77 
       
    78 unsigned int getCampProgress(QString & teamName, QString & campName)
       
    79 {
       
    80     QSettings teamfile(cfgdir->absolutePath() + "/Teams/" + teamName + ".hwt", QSettings::IniFormat, 0);
       
    81     teamfile.setIniCodec("UTF-8");
       
    82     return teamfile.value("Campaign " + campName + "/Progress", 0).toInt();
       
    83 }
       
    84 
       
    85 QMap<QString,QString> getUnlockedMissions2(QString & campaignName, QString & teamName)
       
    86 {
       
    87 	QMap<QString,QString> hash;
       
    88 	QSettings teamfile(cfgdir->absolutePath() + "/Teams/" + teamName + ".hwt", QSettings::IniFormat, 0);
       
    89     teamfile.setIniCodec("UTF-8");
       
    90     unsigned int progress = teamfile.value("Campaign " + campaignName + "/Progress", 0).toInt();
       
    91     qDebug("HERE is progress : %d",progress);
       
    92     unsigned int unlockedMissions = teamfile.value("Campaign " + campaignName + "/UnlockedMissions", 0).toInt();
       
    93     qDebug("HERE is unlocked missions : %d",unlockedMissions);
       
    94     
       
    95     QSettings campfile("physfs://Missions/Campaign/" + campaignName + "/campaign.ini", QSettings::IniFormat, 0);
       
    96     campfile.setIniCodec("UTF-8");
       
    97     unsigned int missionsNumber = campfile.value("MissionNum", 0).toInt();
       
    98     qDebug("HERE is number of missions : %d",missionsNumber);  
       
    99     
       
   100     if(progress>=0 and unlockedMissions==0)
       
   101     {
       
   102 		for(unsigned int i=1;i<=progress+1;i++)
    64 		{
   103 		{
    65 			hash[getCampaignScript(campaignName,i)] = campfile.value(QString("Mission %1/Name").arg(i)).toString();
   104 			hash[getCampaignScript(campaignName,i)] = campfile.value(QString("Mission %1/Name").arg(i)).toString();
    66 		}
   105 		}
    67 	} 
   106 	} 
    68 	else if(unlockedMissions>0)
   107 	else if(unlockedMissions>0)