QTfrontend/game.cpp
branchios-develop
changeset 13413 ba39a1d396c0
parent 13313 93780a3b846a
child 13389 24b531dcebe7
child 13628 d5e029b84e16
equal deleted inserted replaced
13411:6e8b807bda4b 13413:ba39a1d396c0
   138 }
   138 }
   139 
   139 
   140 void HWGame::SendQuickConfig()
   140 void HWGame::SendQuickConfig()
   141 {
   141 {
   142     QByteArray teamscfg;
   142     QByteArray teamscfg;
   143     ThemeModel * themeModel = DataManager::instance().themeModel();
   143     QAbstractItemModel * themeModel = DataManager::instance().themeModel()->withoutHidden();
   144 
   144 
   145     HWProto::addStringToBuffer(teamscfg, "TL");
   145     HWProto::addStringToBuffer(teamscfg, "TL");
   146     HWProto::addStringToBuffer(teamscfg, QString("etheme %1")
   146     HWProto::addStringToBuffer(teamscfg, QString("etheme %1")
   147                                .arg((themeModel->rowCount() > 0) ? themeModel->index(rand() % themeModel->rowCount()).data(ThemeModel::ActualNameRole).toString() : "steel"));
   147                                .arg((themeModel->rowCount() > 0) ? themeModel->index(rand() % themeModel->rowCount(), 0).data(ThemeModel::ActualNameRole).toString() : "Nature"));
   148     HWProto::addStringToBuffer(teamscfg, "eseed " + QUuid::createUuid().toString());
   148     HWProto::addStringToBuffer(teamscfg, "eseed " + QUuid::createUuid().toString());
   149 
   149 
   150     HWProto::addStringToBuffer(teamscfg, "e$template_filter 2");
   150     HWProto::addStringToBuffer(teamscfg, "e$template_filter 2");
   151     HWProto::addStringToBuffer(teamscfg, "e$feature_size "+QString::number(rand()%18+4));
   151     HWProto::addStringToBuffer(teamscfg, "e$feature_size "+QString::number(rand()%18+4));
   152 
   152 
   253         }
   253         }
   254         case 'E':
   254         case 'E':
   255         {
   255         {
   256             int size = msg.size();
   256             int size = msg.size();
   257             emit ErrorMessage(
   257             emit ErrorMessage(
   258                 tr("A Fatal ERROR occured! - The game engine had to stop.\n\n"
   258                 tr("A fatal ERROR occured! The game engine had to stop.\n\n"
   259                 "We are very sorry for the inconvenience :(\n\n"
   259                 "We are very sorry for the inconvenience. :-(\n\n"
   260                 "If this keeps happening, please click the '%1' button in the main menu!\n\n"
   260                 "If this keeps happening, please click the 'Feedback' button in the main menu!\n\n"
   261                 "Last two engine messages:\n%2")
   261                 "Last engine message:\n%1")
   262                 .arg("Feedback")
       
   263                 .arg(QString::fromUtf8(msg.mid(2).left(size - 4))));
   262                 .arg(QString::fromUtf8(msg.mid(2).left(size - 4))));
   264             return;
   263             return;
   265         }
   264         }
   266         case 'i':
   265         case 'i':
   267         {
   266         {
   535 }
   534 }
   536 
   535 
   537 void HWGame::sendCampaignVar(const QByteArray &varToSend)
   536 void HWGame::sendCampaignVar(const QByteArray &varToSend)
   538 {
   537 {
   539     QString varToFind = QString::fromUtf8(varToSend);
   538     QString varToFind = QString::fromUtf8(varToSend);
   540     QSettings teamfile(QString("physfs://Teams/%1.hwt").arg(campaignTeam), QSettings::IniFormat, 0);
   539     QSettings teamfile(QString(cfgdir->absolutePath() + "/Teams/%1.hwt").arg(campaignTeam), QSettings::IniFormat, 0);
   541     teamfile.setIniCodec("UTF-8");
   540     teamfile.setIniCodec("UTF-8");
   542     QString varValue = teamfile.value("Campaign " + campaign + "/" + varToFind, "").toString();
   541     QString varValue = teamfile.value("Campaign " + campaign + "/" + varToFind, "").toString();
   543     QByteArray command;
   542     QByteArray command;
   544     HWProto::addStringToBuffer(command, "V." + varValue);
   543     HWProto::addStringToBuffer(command, "V." + varValue);
   545     RawSendIPC(command);
   544     RawSendIPC(command);
   552         return;
   551         return;
   553 
   552 
   554     QString varToWrite = QString::fromUtf8(varVal.left(i));
   553     QString varToWrite = QString::fromUtf8(varVal.left(i));
   555     QString varValue = QString::fromUtf8(varVal.mid(i + 1));
   554     QString varValue = QString::fromUtf8(varVal.mid(i + 1));
   556 
   555 
   557     QSettings teamfile(QString("physfs://Teams/%1.hwt").arg(campaignTeam), QSettings::IniFormat, 0);
   556     QSettings teamfile(QString(cfgdir->absolutePath() + "/Teams/%1.hwt").arg(campaignTeam), QSettings::IniFormat, 0);
   558     teamfile.setIniCodec("UTF-8");
   557     teamfile.setIniCodec("UTF-8");
   559     teamfile.setValue("Campaign " + campaign + "/" + varToWrite, varValue);
   558     teamfile.setValue("Campaign " + campaign + "/" + varToWrite, varValue);
   560 }
   559 }
   561 
   560