51 } |
51 } |
52 |
52 |
53 void HWGame::onClientDisconnect() |
53 void HWGame::onClientDisconnect() |
54 { |
54 { |
55 switch (gameType) { |
55 switch (gameType) { |
56 case gtDemo: break; |
56 case gtDemo: |
|
57 if (gameState == gsInterrupted || gameState == gsHalted) emit HaveRecord(false, demo); |
|
58 break; |
57 case gtNet: |
59 case gtNet: |
58 emit HaveRecord(true, demo); |
60 emit HaveRecord(true, demo); |
59 break; |
61 break; |
60 default: |
62 default: |
61 if (gameState == gsInterrupted || gameState == gsHalted) emit HaveRecord(false, demo); |
63 if (gameState == gsInterrupted || gameState == gsHalted) emit HaveRecord(false, demo); |
82 |
84 |
83 buf += gamecfg->getFullConfig(); |
85 buf += gamecfg->getFullConfig(); |
84 |
86 |
85 if (m_pTeamSelWidget) |
87 if (m_pTeamSelWidget) |
86 { |
88 { |
87 QListIterator<HWTeam> it(m_pTeamSelWidget->getPlayingTeams()); |
89 foreach(HWTeam team, m_pTeamSelWidget->getPlayingTeams()) |
88 while(it.hasNext()) |
|
89 { |
90 { |
90 HWProto::addStringToBuffer(buf, QString("eammloadt %1").arg(ammostr.mid(0, cAmmoNumber))); |
91 HWProto::addStringToBuffer(buf, QString("eammloadt %1").arg(ammostr.mid(0, cAmmoNumber))); |
91 HWProto::addStringToBuffer(buf, QString("eammprob %1").arg(ammostr.mid(cAmmoNumber, cAmmoNumber))); |
92 HWProto::addStringToBuffer(buf, QString("eammprob %1").arg(ammostr.mid(cAmmoNumber, cAmmoNumber))); |
92 HWProto::addStringToBuffer(buf, QString("eammdelay %1").arg(ammostr.mid(2 * cAmmoNumber, cAmmoNumber))); |
93 HWProto::addStringToBuffer(buf, QString("eammdelay %1").arg(ammostr.mid(2 * cAmmoNumber, cAmmoNumber))); |
93 HWProto::addStringToBuffer(buf, QString("eammreinf %1").arg(ammostr.mid(3 * cAmmoNumber, cAmmoNumber))); |
94 HWProto::addStringToBuffer(buf, QString("eammreinf %1").arg(ammostr.mid(3 * cAmmoNumber, cAmmoNumber))); |
94 if(!gamecfg->schemeData(21).toBool()) HWProto::addStringToBuffer(buf, QString("eammstore")); |
95 if(!gamecfg->schemeData(21).toBool()) HWProto::addStringToBuffer(buf, QString("eammstore")); |
95 HWProto::addStringListToBuffer(buf, |
96 HWProto::addStringListToBuffer(buf, |
96 it.next().TeamGameConfig(gamecfg->getInitHealth())); |
97 team.TeamGameConfig(gamecfg->getInitHealth())); |
97 ; |
98 ; |
98 } |
99 } |
99 } |
100 } |
100 RawSendIPC(buf); |
101 RawSendIPC(buf); |
101 } |
102 } |
390 void HWGame::KillAllTeams() |
391 void HWGame::KillAllTeams() |
391 { |
392 { |
392 if (m_pTeamSelWidget) |
393 if (m_pTeamSelWidget) |
393 { |
394 { |
394 QByteArray buf; |
395 QByteArray buf; |
395 QListIterator<HWTeam> it(m_pTeamSelWidget->getPlayingTeams()); |
396 foreach(HWTeam team, m_pTeamSelWidget->getPlayingTeams()) |
396 while(it.hasNext()) |
397 HWProto::addStringToBuffer(buf, QString("eteamgone %1").arg(team.TeamName)); |
397 HWProto::addStringToBuffer(buf, QString("eteamgone %1").arg(it.next().TeamName)); |
|
398 RawSendIPC(buf); |
398 RawSendIPC(buf); |
399 } |
399 } |
400 } |
400 } |