QTfrontend/game.cpp
branchhedgeroid
changeset 6224 42b256eca362
parent 6217 ef53ba841791
child 6616 f77bb02b669f
equal deleted inserted replaced
6055:88cfcd9161d3 6224:42b256eca362
    39   ammostr(ammo),
    39   ammostr(ammo),
    40   m_pTeamSelWidget(pTeamSelWidget)
    40   m_pTeamSelWidget(pTeamSelWidget)
    41 {
    41 {
    42     this->config = config;
    42     this->config = config;
    43     this->gamecfg = gamecfg;
    43     this->gamecfg = gamecfg;
    44     TeamCount = 0;
       
    45     netSuspend = false;
    44     netSuspend = false;
    46 }
    45 }
    47 
    46 
    48 HWGame::~HWGame()
    47 HWGame::~HWGame()
    49 {
    48 {
   118     HWProto::addStringToBuffer(teamscfg, "TL");
   117     HWProto::addStringToBuffer(teamscfg, "TL");
   119     HWProto::addStringToBuffer(teamscfg, QString("etheme %1")
   118     HWProto::addStringToBuffer(teamscfg, QString("etheme %1")
   120             .arg((themesModel->rowCount() > 0) ? themesModel->index(rand() % themesModel->rowCount()).data().toString() : "steel"));
   119             .arg((themesModel->rowCount() > 0) ? themesModel->index(rand() % themesModel->rowCount()).data().toString() : "steel"));
   121     HWProto::addStringToBuffer(teamscfg, "eseed " + QUuid::createUuid().toString());
   120     HWProto::addStringToBuffer(teamscfg, "eseed " + QUuid::createUuid().toString());
   122 
   121 
   123     HWNamegen namegen;
       
   124 
       
   125     HWTeam team1;
   122     HWTeam team1;
   126     team1.setDifficulty(0);
   123     team1.setDifficulty(0);
   127     team1.setColor(QColor(colors[0]));
   124     team1.setColor(QColor(colors[0]));
   128     team1.setNumHedgehogs(4);
   125     team1.setNumHedgehogs(4);
   129     namegen.teamRandomNames(team1,TRUE);
   126     HWNamegen::teamRandomNames(team1,true);
   130     HWProto::addStringListToBuffer(teamscfg,
   127     HWProto::addStringListToBuffer(teamscfg,
   131             team1.teamGameConfig(100));
   128             team1.teamGameConfig(100));
   132 
   129 
   133     HWTeam team2;
   130     HWTeam team2;
   134     team2.setDifficulty(4);
   131     team2.setDifficulty(4);
   135     team2.setColor(QColor(colors[1]));
   132     team2.setColor(QColor(colors[1]));
   136     team2.setNumHedgehogs(4);
   133     team2.setNumHedgehogs(4);
   137     do
   134     do
   138         namegen.teamRandomNames(team2,TRUE);
   135         HWNamegen::teamRandomNames(team2,true);
   139     while(!team2.name().compare(team1.name()) || !team2.hedgehog(0).Hat.compare(team1.hedgehog(0).Hat));
   136     while(!team2.name().compare(team1.name()) || !team2.hedgehog(0).Hat.compare(team1.hedgehog(0).Hat));
   140     HWProto::addStringListToBuffer(teamscfg,
   137     HWProto::addStringListToBuffer(teamscfg,
   141             team2.teamGameConfig(100));
   138             team2.teamGameConfig(100));
   142 
   139 
   143     HWProto::addStringToBuffer(teamscfg, QString("eammloadt %1").arg(cDefaultAmmoStore->mid(0, cAmmoNumber)));
   140     HWProto::addStringToBuffer(teamscfg, QString("eammloadt %1").arg(cDefaultAmmoStore->mid(0, cAmmoNumber)));
   316     arguments << tr("en.txt");
   313     arguments << tr("en.txt");
   317 
   314 
   318     return arguments;
   315     return arguments;
   319 }
   316 }
   320 
   317 
   321 void HWGame::AddTeam(const QString & teamname)
       
   322 {
       
   323     if (TeamCount == 5) return;
       
   324     teams[TeamCount] = teamname;
       
   325     TeamCount++;
       
   326 }
       
   327 
       
   328 void HWGame::PlayDemo(const QString & demofilename, bool isSave)
   318 void HWGame::PlayDemo(const QString & demofilename, bool isSave)
   329 {
   319 {
   330     gameType = isSave ? gtSave : gtDemo;
   320     gameType = isSave ? gtSave : gtDemo;
   331     QFile demofile(demofilename);
   321     QFile demofile(demofilename);
   332     if (!demofile.open(QIODevice::ReadOnly))
   322     if (!demofile.open(QIODevice::ReadOnly))
   390 {
   380 {
   391     gameState = state;
   381     gameState = state;
   392     emit GameStateChanged(state);
   382     emit GameStateChanged(state);
   393 }
   383 }
   394 
   384 
   395 void HWGame::KillAllTeams()
   385 void HWGame::abort()
   396 {
   386 {
   397     if (m_pTeamSelWidget)
   387     QByteArray buf;
   398     {
   388     HWProto::addStringToBuffer(buf, QString("efinish"));
   399         QByteArray buf;
   389     RawSendIPC(buf);
   400         foreach(HWTeam team, m_pTeamSelWidget->getPlayingTeams())
   390 }
   401             HWProto::addStringToBuffer(buf, QString("eteamgone %1").arg(team.name()));
       
   402         RawSendIPC(buf);
       
   403     }
       
   404 }