QTfrontend/game.cpp
changeset 14463 bd1db668b7c0
parent 14462 4c743ef80b1b
child 14467 4edcb655dc5a
equal deleted inserted replaced
14462:4c743ef80b1b 14463:bd1db668b7c0
    46 GameType lastGameType = gtNone;
    46 GameType lastGameType = gtNone;
    47 GameCFGWidget * lastGameCfg = NULL;
    47 GameCFGWidget * lastGameCfg = NULL;
    48 QString lastGameAmmo = NULL;
    48 QString lastGameAmmo = NULL;
    49 TeamSelWidget * lastGameTeamSel = NULL;
    49 TeamSelWidget * lastGameTeamSel = NULL;
    50 
    50 
    51 QString training, trainingTeam, campaign, campaignScript, campaignTeam; // TODO: Cleaner solution?
    51 QString trainingName, trainingScript, trainingTeam, campaign, campaignScript, campaignTeam; // TODO: Cleaner solution?
    52 
    52 
    53 HWGame::HWGame(GameUIConfig * config, GameCFGWidget * gamecfg, QString ammo, TeamSelWidget* pTeamSelWidget) :
    53 HWGame::HWGame(GameUIConfig * config, GameCFGWidget * gamecfg, QString ammo, TeamSelWidget* pTeamSelWidget) :
    54     TCPBase(true, 0),
    54     TCPBase(true, 0),
    55     ammostr(ammo),
    55     ammostr(ammo),
    56     m_pTeamSelWidget(pTeamSelWidget)
    56     m_pTeamSelWidget(pTeamSelWidget)
   182 void HWGame::SendTrainingConfig()
   182 void HWGame::SendTrainingConfig()
   183 {
   183 {
   184     QByteArray traincfg;
   184     QByteArray traincfg;
   185     HWProto::addStringToBuffer(traincfg, "TL");
   185     HWProto::addStringToBuffer(traincfg, "TL");
   186     HWProto::addStringToBuffer(traincfg, "eseed " + QUuid::createUuid().toString());
   186     HWProto::addStringToBuffer(traincfg, "eseed " + QUuid::createUuid().toString());
   187     HWProto::addStringToBuffer(traincfg, "escript " + training);
   187     HWProto::addStringToBuffer(traincfg, "escript " + trainingScript);
   188 
   188 
   189     RawSendIPC(traincfg);
   189     RawSendIPC(traincfg);
   190 }
   190 }
   191 
   191 
   192 void HWGame::SendCampaignConfig()
   192 void HWGame::SendCampaignConfig()
   515     lastGameStartArgs.append(trainTeam);
   515     lastGameStartArgs.append(trainTeam);
   516     lastGameType = gtTraining;
   516     lastGameType = gtTraining;
   517 
   517 
   518     gameType = gtTraining;
   518     gameType = gtTraining;
   519 
   519 
   520     training = "Missions/" + subFolder + "/" + file + ".lua";
   520     trainingScript  = "Missions/" + subFolder + "/" + file + ".lua";
       
   521     trainingName = file;
   521     trainingTeam = trainTeam;
   522     trainingTeam = trainTeam;
   522     demo.clear();
   523     demo.clear();
   523     Start(false);
   524     Start(false);
   524     SetGameState(gsStarted);
   525     SetGameState(gsStarted);
   525 }
   526 }
   586 void HWGame::sendMissionVar(const QByteArray &varToSend)
   587 void HWGame::sendMissionVar(const QByteArray &varToSend)
   587 {
   588 {
   588     QString varToFind = QString::fromUtf8(varToSend);
   589     QString varToFind = QString::fromUtf8(varToSend);
   589     QSettings teamfile(QString(cfgdir->absolutePath() + "/Teams/%1.hwt").arg(trainingTeam), QSettings::IniFormat, 0);
   590     QSettings teamfile(QString(cfgdir->absolutePath() + "/Teams/%1.hwt").arg(trainingTeam), QSettings::IniFormat, 0);
   590     teamfile.setIniCodec("UTF-8");
   591     teamfile.setIniCodec("UTF-8");
   591     QString varValue = teamfile.value("Mission " + training + "/" + varToFind, "").toString();
   592     QString varValue = teamfile.value("Mission " + trainingName + "/" + varToFind, "").toString();
   592     QByteArray command;
   593     QByteArray command;
   593     HWProto::addStringToBuffer(command, "v." + varValue);
   594     HWProto::addStringToBuffer(command, "v." + varValue);
   594     RawSendIPC(command);
   595     RawSendIPC(command);
   595 }
   596 }
   596 
   597 
   603     QString varToWrite = QString::fromUtf8(varVal.left(i));
   604     QString varToWrite = QString::fromUtf8(varVal.left(i));
   604     QString varValue = QString::fromUtf8(varVal.mid(i + 1));
   605     QString varValue = QString::fromUtf8(varVal.mid(i + 1));
   605 
   606 
   606     QSettings teamfile(QString(cfgdir->absolutePath() + "/Teams/%1.hwt").arg(trainingTeam), QSettings::IniFormat, 0);
   607     QSettings teamfile(QString(cfgdir->absolutePath() + "/Teams/%1.hwt").arg(trainingTeam), QSettings::IniFormat, 0);
   607     teamfile.setIniCodec("UTF-8");
   608     teamfile.setIniCodec("UTF-8");
   608     teamfile.setValue("Mission " + training + "/" + varToWrite, varValue);
   609     teamfile.setValue("Mission " + trainingName + "/" + varToWrite, varValue);
   609 }
   610 }
   610 
   611