83 |
84 |
84 void HWGame::SendConfig() |
85 void HWGame::SendConfig() |
85 { |
86 { |
86 SendIPC(QString("eseed %1").arg(seed)); |
87 SendIPC(QString("eseed %1").arg(seed)); |
87 SendIPC(QString("etheme %1").arg(GetThemeBySeed())); |
88 SendIPC(QString("etheme %1").arg(GetThemeBySeed())); |
88 //SENDIPC("emap test"); |
|
89 SENDIPC("TL"); |
89 SENDIPC("TL"); |
90 SendIPC(QString("e$gmflags %1").arg(gamecfg->getGameFlags())); |
90 SendIPC(QString("e$gmflags %1").arg(gamecfg->getGameFlags())); |
91 SENDIPC("eaddteam"); |
91 SENDIPC("eaddteam"); |
92 SendTeamConfig(0); |
92 LocalCFG(0); |
93 SENDIPC("ecolor 65535"); |
93 SENDIPC("ecolor 65535"); |
94 SENDIPC("eadd hh0 1"); |
94 SENDIPC("eadd hh0 0"); |
95 SENDIPC("eadd hh1 1"); |
95 SENDIPC("eadd hh1 0"); |
96 SENDIPC("eadd hh2 1"); |
96 SENDIPC("eadd hh2 0"); |
97 SENDIPC("eadd hh3 1"); |
97 SENDIPC("eadd hh3 0"); |
98 SENDIPC("eadd hh4 1"); |
|
99 SENDIPC("eadd hh5 1"); |
|
100 SENDIPC("eadd hh6 1"); |
|
101 SENDIPC("eadd hh7 1"); |
|
102 SENDIPC("eaddteam"); |
98 SENDIPC("eaddteam"); |
103 SendTeamConfig(1); |
99 LocalCFG(1); |
104 SENDIPC("ecolor 16776960"); |
100 SENDIPC("ecolor 16776960"); |
105 SENDIPC("eadd hh0 1"); |
101 SENDIPC("eadd hh0 1"); |
106 SENDIPC("eadd hh1 1"); |
102 SENDIPC("eadd hh1 1"); |
107 SENDIPC("eadd hh2 1"); |
103 SENDIPC("eadd hh2 1"); |
108 SENDIPC("eadd hh3 1"); |
104 SENDIPC("eadd hh3 1"); |
109 SENDIPC("eadd hh4 1"); |
|
110 SENDIPC("eadd hh5 1"); |
|
111 SENDIPC("eadd hh6 1"); |
|
112 SENDIPC("eadd hh7 1"); |
|
113 SENDIPC("eaddteam"); |
|
114 SendTeamConfig(1); |
|
115 SENDIPC("ecolor 255"); |
|
116 SENDIPC("eadd hh0 1"); |
|
117 SENDIPC("eadd hh1 1"); |
|
118 SENDIPC("eadd hh2 1"); |
|
119 SENDIPC("eadd hh3 1"); |
|
120 SENDIPC("eadd hh4 1"); |
|
121 SENDIPC("eadd hh5 1"); |
|
122 SENDIPC("eadd hh6 1"); |
|
123 SENDIPC("eadd hh7 1"); |
|
124 } |
105 } |
125 |
106 |
126 void HWGame::ParseMessage(const QByteArray & msg) |
107 void HWGame::ParseMessage(const QByteArray & msg) |
127 { |
108 { |
128 switch(msg.data()[1]) |
109 switch(msg.data()[1]) |
359 if (TeamCount < 2) return; |
340 if (TeamCount < 2) return; |
360 seedgen.GenRNDStr(seed, 10); |
341 seedgen.GenRNDStr(seed, 10); |
361 Start(); |
342 Start(); |
362 } |
343 } |
363 |
344 |
|
345 void HWGame::StartQuick() |
|
346 { |
|
347 gameType = gtLocal; |
|
348 seedgen.GenRNDStr(seed, 10); |
|
349 Start(); |
|
350 } |
|
351 |
|
352 |
364 void HWGame::LocalCFG(const QString & teamname) |
353 void HWGame::LocalCFG(const QString & teamname) |
365 { |
354 { |
366 QFile teamcfg(config->cfgdir.absolutePath() + "/" + teamname + ".cfg"); |
355 HWTeam team(teamname, config); |
367 if (!teamcfg.open(QIODevice::ReadOnly)) |
356 if (!team.LoadFromFile()) { |
368 { |
357 QMessageBox::critical(0, |
369 return ; |
358 "Error", |
370 } |
359 QString("Cannot load team config ""%1""").arg(teamname), |
371 QTextStream stream(&teamcfg); |
360 QMessageBox::Ok, |
372 stream.setCodec("UTF-8"); |
361 QMessageBox::NoButton, |
373 QString str; |
362 QMessageBox::NoButton); |
374 |
363 return; |
375 while (!stream.atEnd()) |
364 } |
376 { |
365 RawSendIPC(team.IPCTeamInfo()); |
377 str = stream.readLine(); |
366 } |
378 if (str.startsWith(";") || (str.length() > 254)) continue; |
367 |
379 str.prepend("e"); |
368 void HWGame::LocalCFG(quint8 num) |
380 SendIPC(str.toUtf8()); |
369 { |
381 } |
370 HWTeam team(num, config); |
382 teamcfg.close(); |
371 RawSendIPC(team.IPCTeamInfo()); |
383 } |
372 } |