--- a/QTfrontend/campaign.cpp Fri Jun 28 22:06:57 2013 +0300
+++ b/QTfrontend/campaign.cpp Fri Jun 28 22:38:08 2013 +0300
@@ -20,78 +20,20 @@
#include "hwconsts.h"
#include "DataManager.h"
#include <QSettings>
-#include <QMap>
-#include <QDebug>
#include <QObject>
-
-QStringList getCampMissionList(QString & campaign)
-{
- QSettings campfile("physfs://Missions/Campaign/" + campaign + "/campaign.ini", QSettings::IniFormat, 0);
- campfile.setIniCodec("UTF-8");
- unsigned int mNum = campfile.value("MissionNum", 0).toInt();
-
- QStringList missionList;
- for (unsigned int i = 0; i < mNum; i++)
- {
- missionList += campfile.value(QString("Mission %1/Name").arg(i + 1)).toString();
- }
- return missionList;
-}
+#include <QLocale>
-// works ok
-QStringList getCampMissionList2(QString & campaignName, QString & teamName)
-{
- QStringList missionList;
- QSettings teamfile(cfgdir->absolutePath() + "/Teams/" + teamName + ".hwt", QSettings::IniFormat, 0);
- teamfile.setIniCodec("UTF-8");
- unsigned int progress = teamfile.value("Campaign " + campaignName + "/Progress", 0).toInt();
- qDebug("HERE is progress : %d",progress);
- unsigned int unlockedMissions = teamfile.value("Campaign " + campaignName + "/UnlockedMissions", 0).toInt();
- qDebug("HERE is unlocked missions : %d",unlockedMissions);
-
- QSettings campfile("physfs://Missions/Campaign/" + campaignName + "/campaign.ini", QSettings::IniFormat, 0);
- campfile.setIniCodec("UTF-8");
- unsigned int missionsNumber = campfile.value("MissionNum", 0).toInt();
- qDebug("HERE is number of missions : %d",missionsNumber);
-
- if(progress>=0 and unlockedMissions==0)
- {
- for(unsigned int i=progress+1;i>0;i--)
- {
- missionList += campfile.value(QString("Mission %1/Name").arg(i)).toString();
- }
- }
- else if(unlockedMissions>0)
- {
- qDebug("IN HERE !!!");
- for(unsigned int i=1;i<=unlockedMissions;i++)
- {
- QString missionNum = QString("%1").arg(i);
- int missionNumber = teamfile.value("Campaign " + campaignName + "/Mission"+missionNum, -1).toInt();
- qDebug("Campaign %s Mission %d",campaignName.toUtf8().constData(),i);
- qDebug("MISSION NUMBER : %d",missionNumber);
- missionList += campfile.value(QString("Mission %1/Name").arg(missionNumber)).toString();
- qDebug(campfile.value(QString("Mission %1/Name").arg(missionNumber)).toString().toUtf8().constData());
- }
- }
- return missionList;
-}
-
-QList<MissionInfo> getCampMissionList3(QString & campaignName, QString & teamName)
+QList<MissionInfo> getCampMissionList(QString & campaignName, QString & teamName)
{
// TODO: add default image if there isn't an available one
QList<MissionInfo> missionInfoList;
QSettings teamfile(cfgdir->absolutePath() + "/Teams/" + teamName + ".hwt", QSettings::IniFormat, 0);
teamfile.setIniCodec("UTF-8");
unsigned int progress = teamfile.value("Campaign " + campaignName + "/Progress", 0).toInt();
- qDebug("HERE is progress : %d",progress);
unsigned int unlockedMissions = teamfile.value("Campaign " + campaignName + "/UnlockedMissions", 0).toInt();
- qDebug("HERE is unlocked missions : %d",unlockedMissions);
QSettings campfile("physfs://Missions/Campaign/" + campaignName + "/campaign.ini", QSettings::IniFormat, 0);
campfile.setIniCodec("UTF-8");
- unsigned int missionsNumber = campfile.value("MissionNum", 0).toInt();
- qDebug("HERE is number of missions : %d",missionsNumber);
DataManager & dataMgr = DataManager::instance();
// get locale
@@ -118,214 +60,27 @@
{
MissionInfo missionInfo;
missionInfo.name = campfile.value(QString("Mission %1/Name").arg(i)).toString();
- missionInfo.description = m_info.value(campaignName+"-"+ getCampaignMissionName(campaignName,i) + ".desc",
+ missionInfo.script = campfile.value(QString("Mission %1/Script").arg(i)).toString();
+ missionInfo.description = m_info.value(campaignName+"-"+ missionInfo.script.replace(QString(".lua"),QString("")) + ".desc",
QObject::tr("No description available")).toString();
- missionInfo.script = campfile.value(QString("Mission %1/Script").arg(i)).toString();
missionInfo.image = campfile.value(QString("Mission %1/Script").arg(i)).toString().replace(QString(".lua"),QString(".png"));
missionInfoList.append(missionInfo);
}
}
else if(unlockedMissions>0)
{
- qDebug("IN HERE !!!");
for(unsigned int i=1;i<=unlockedMissions;i++)
{
QString missionNum = QString("%1").arg(i);
int missionNumber = teamfile.value("Campaign " + campaignName + "/Mission"+missionNum, -1).toInt();
MissionInfo missionInfo;
missionInfo.name = campfile.value(QString("Mission %1/Name").arg(missionNumber)).toString();
- missionInfo.description = m_info.value(campaignName+"-"+ getCampaignMissionName(campaignName,missionNumber) + ".desc",
+ missionInfo.script = campfile.value(QString("Mission %1/Script").arg(missionNumber)).toString();
+ missionInfo.description = m_info.value(campaignName+"-"+ missionInfo.script.replace(QString(".lua"),QString("")) + ".desc",
QObject::tr("No description available")).toString();
- missionInfo.script = campfile.value(QString("Mission %1/Script").arg(missionNumber)).toString();
missionInfo.image = campfile.value(QString("Mission %1/Script").arg(missionNumber)).toString().replace(QString(".lua"),QString(".png"));
missionInfoList.append(missionInfo);
}
}
return missionInfoList;
}
-
-QStringList getDescriptions(QString & campaignName, QString & teamName)
-{
- QStringList descriptionList;
- QSettings teamfile(cfgdir->absolutePath() + "/Teams/" + teamName + ".hwt", QSettings::IniFormat, 0);
- teamfile.setIniCodec("UTF-8");
- unsigned int progress = teamfile.value("Campaign " + campaignName + "/Progress", 0).toInt();
- qDebug("HERE is progress : %d",progress);
- unsigned int unlockedMissions = teamfile.value("Campaign " + campaignName + "/UnlockedMissions", 0).toInt();
- qDebug("HERE is unlocked missions : %d",unlockedMissions);
-
- QSettings campfile("physfs://Missions/Campaign/" + campaignName + "/campaign.ini", QSettings::IniFormat, 0);
- campfile.setIniCodec("UTF-8");
- unsigned int missionsNumber = campfile.value("MissionNum", 0).toInt();
- qDebug("HERE is number of missions : %d",missionsNumber);
-
-
- DataManager & dataMgr = DataManager::instance();
- // get locale
- QSettings settings(dataMgr.settingsFileName(),
- QSettings::IniFormat);
- QString loc = settings.value("misc/locale", "").toString();
- if (loc.isEmpty())
- loc = QLocale::system().name();
- QString campaignDescFile = QString("physfs://Locale/campaigns_" + loc + ".txt");
- // if file is non-existant try with language only
- if (!QFile::exists(campaignDescFile))
- campaignDescFile = QString("physfs://Locale/campaigns_" + loc.remove(QRegExp("_.*$")) + ".txt");
-
- // fallback if file for current locale is non-existant
- if (!QFile::exists(campaignDescFile))
- campaignDescFile = QString("physfs://Locale/campaigns_en.txt");
-
- QSettings m_info(campaignDescFile, QSettings::IniFormat, 0);
- m_info.setIniCodec("UTF-8");
-
- if(progress>=0 and unlockedMissions==0)
- {
- for(unsigned int i=progress+1;i>0;i--)
- {
- //update descruiptions here
- descriptionList += m_info.value(campaignName+"-"+ getCampaignMissionName(campaignName,i) + ".desc",
- QObject::tr("No description available")).toString();
- }
- }
- else if(unlockedMissions>0)
- {
- qDebug("IN HERE !!!");
- for(unsigned int i=1;i<=unlockedMissions;i++)
- {
- QString missionNum = QString("%1").arg(i);
- int missionNumber = teamfile.value("Campaign " + campaignName + "/Mission"+missionNum, -1).toInt();
- descriptionList += m_info.value(campaignName+"-"+ getCampaignMissionName(campaignName,missionNumber) + ".desc",
- QObject::tr("No description available")).toString();
- }
- }
- return descriptionList;
-}
-
-QStringList getImages(QString & campaignName, QString & teamName)
-{
- QStringList imageList;
- QSettings teamfile(cfgdir->absolutePath() + "/Teams/" + teamName + ".hwt", QSettings::IniFormat, 0);
- teamfile.setIniCodec("UTF-8");
- unsigned int progress = teamfile.value("Campaign " + campaignName + "/Progress", 0).toInt();
- qDebug("HERE is progress : %d",progress);
- unsigned int unlockedMissions = teamfile.value("Campaign " + campaignName + "/UnlockedMissions", 0).toInt();
- qDebug("HERE is unlocked missions : %d",unlockedMissions);
-
- QSettings campfile("physfs://Missions/Campaign/" + campaignName + "/campaign.ini", QSettings::IniFormat, 0);
- campfile.setIniCodec("UTF-8");
- unsigned int missionsNumber = campfile.value("MissionNum", 0).toInt();
- qDebug("HERE is number of missions : %d",missionsNumber);
-
-
- DataManager & dataMgr = DataManager::instance();
- // get locale
- QSettings settings(dataMgr.settingsFileName(),
- QSettings::IniFormat);
- QString loc = settings.value("misc/locale", "").toString();
- if (loc.isEmpty())
- loc = QLocale::system().name();
- QString campaignDescFile = QString("physfs://Locale/campaigns_" + loc + ".txt");
- // if file is non-existant try with language only
- if (!QFile::exists(campaignDescFile))
- campaignDescFile = QString("physfs://Locale/campaigns_" + loc.remove(QRegExp("_.*$")) + ".txt");
-
- // fallback if file for current locale is non-existant
- if (!QFile::exists(campaignDescFile))
- campaignDescFile = QString("physfs://Locale/campaigns_en.txt");
-
- QSettings m_info(campaignDescFile, QSettings::IniFormat, 0);
- m_info.setIniCodec("UTF-8");
-
- if(progress>=0 and unlockedMissions==0)
- {
- for(unsigned int i=progress+1;i>0;i--)
- {
- //update descruiptions here
- imageList += campfile.value(QString("Mission %1/Script").arg(i)).toString().replace(QString(".lua"),QString(".png"));
- }
- }
- else if(unlockedMissions>0)
- {
- qDebug("IN HERE !!!");
- for(unsigned int i=1;i<=unlockedMissions;i++)
- {
- QString missionNum = QString("%1").arg(i);
- int missionNumber = teamfile.value("Campaign " + campaignName + "/Mission"+missionNum, -1).toInt();
- imageList += campfile.value(QString("Mission %1/Script").arg(missionNumber)).toString().replace(QString(".lua"),QString(".png"));
- }
- }
- return imageList;
-}
-
-unsigned int getCampProgress(QString & teamName, QString & campName)
-{
- QSettings teamfile(cfgdir->absolutePath() + "/Teams/" + teamName + ".hwt", QSettings::IniFormat, 0);
- teamfile.setIniCodec("UTF-8");
- return teamfile.value("Campaign " + campName + "/Progress", 0).toInt();
-}
-
-QMap<QString,QString> getUnlockedMissions2(QString & campaignName, QString & teamName)
-{
- QMap<QString,QString> hash;
- QSettings teamfile(cfgdir->absolutePath() + "/Teams/" + teamName + ".hwt", QSettings::IniFormat, 0);
- teamfile.setIniCodec("UTF-8");
- unsigned int progress = teamfile.value("Campaign " + campaignName + "/Progress", 0).toInt();
- qDebug("HERE is progress : %d",progress);
- unsigned int unlockedMissions = teamfile.value("Campaign " + campaignName + "/UnlockedMissions", 0).toInt();
- qDebug("HERE is unlocked missions : %d",unlockedMissions);
-
- QSettings campfile("physfs://Missions/Campaign/" + campaignName + "/campaign.ini", QSettings::IniFormat, 0);
- campfile.setIniCodec("UTF-8");
- unsigned int missionsNumber = campfile.value("MissionNum", 0).toInt();
- qDebug("HERE is number of missions : %d",missionsNumber);
-
- if(progress>=0 and unlockedMissions==0)
- {
- for(unsigned int i=1;i<=progress+1;i++)
- {
- hash[getCampaignScript(campaignName,i)] = campfile.value(QString("Mission %1/Name").arg(i)).toString();
- }
- }
- else if(unlockedMissions>0)
- {
- for(unsigned int i=1;i<=unlockedMissions;i++)
- {
- int missionNumber = teamfile.value("Campaign " + campaignName + "/Mission"+i, -1).toInt();
- hash[getCampaignScript(campaignName,missionNumber)] = campfile.value(QString("Mission %1/Name").arg(missionNumber)).toString();
- }
- }
- return hash;
-}
-
-QStringList getUnlockedMissions(QString & teamName, QString & campName)
-{
- QSettings teamfile(cfgdir->absolutePath() + "/Teams/" + teamName + ".hwt", QSettings::IniFormat, 0);
- teamfile.setIniCodec("UTF-8");
- unsigned int mNum = teamfile.value("UnlockedMissions", 0).toInt();
-
- QStringList missionList;
- for (unsigned int i = 0; i < mNum; i++)
- {
- missionList += teamfile.value(QString("Mission%1").arg(i + 1)).toString();
- }
- return missionList;
-}
-
-QString getCampaignScript(QString campaign, unsigned int mNum)
-{
- QSettings campfile("physfs://Missions/Campaign/" + campaign + "/campaign.ini", QSettings::IniFormat, 0);
- campfile.setIniCodec("UTF-8");
- return campfile.value(QString("Mission %1/Script").arg(mNum)).toString();
-}
-
-QString getCampaignImage(QString campaign, unsigned int mNum)
-{
- return getCampaignScript(campaign,mNum).replace(QString(".lua"),QString(".png"));
-}
-
-QString getCampaignMissionName(QString campaign, unsigned int mNum)
-{
- return getCampaignScript(campaign,mNum).replace(QString(".lua"),QString(""));
-}
-