115 void HWGame::SendConfig() |
115 void HWGame::SendConfig() |
116 { |
116 { |
117 commonConfig(); |
117 commonConfig(); |
118 } |
118 } |
119 |
119 |
120 void HWGame::SendQuickConfig() |
|
121 { |
|
122 QByteArray teamscfg; |
|
123 ThemeModel * themeModel = DataManager::instance().themeModel(); |
|
124 |
|
125 HWProto::addStringToBuffer(teamscfg, "TL"); |
|
126 HWProto::addStringToBuffer(teamscfg, QString("etheme %1") |
|
127 .arg((themeModel->rowCount() > 0) ? themeModel->index(rand() % themeModel->rowCount()).data().toString() : "steel")); |
|
128 HWProto::addStringToBuffer(teamscfg, "eseed " + QUuid::createUuid().toString()); |
|
129 |
|
130 HWProto::addStringToBuffer(teamscfg, "e$template_filter 2"); |
|
131 |
|
132 HWTeam team1; |
|
133 team1.setDifficulty(0); |
|
134 team1.setColor(0); |
|
135 team1.setNumHedgehogs(4); |
|
136 HWNamegen::teamRandomNames(team1, true); |
|
137 // HWProto::addStringListToBuffer(teamscfg, |
|
138 // team1.teamGameConfig(100)); |
|
139 |
|
140 HWTeam team2; |
|
141 team2.setDifficulty(4); |
|
142 team2.setColor(1); |
|
143 team2.setNumHedgehogs(4); |
|
144 do |
|
145 HWNamegen::teamRandomNames(team2,true); |
|
146 while(!team2.name().compare(team1.name()) || !team2.hedgehogHat(0).compare(team1.hedgehogHat(0))); |
|
147 // HWProto::addStringListToBuffer(teamscfg, |
|
148 // team2.teamGameConfig(100)); |
|
149 |
|
150 HWProto::addStringToBuffer(teamscfg, QString("eammloadt %1").arg(cDefaultAmmoStore->mid(0, cAmmoNumber))); |
|
151 HWProto::addStringToBuffer(teamscfg, QString("eammprob %1").arg(cDefaultAmmoStore->mid(cAmmoNumber, cAmmoNumber))); |
|
152 HWProto::addStringToBuffer(teamscfg, QString("eammdelay %1").arg(cDefaultAmmoStore->mid(2 * cAmmoNumber, cAmmoNumber))); |
|
153 HWProto::addStringToBuffer(teamscfg, QString("eammreinf %1").arg(cDefaultAmmoStore->mid(3 * cAmmoNumber, cAmmoNumber))); |
|
154 HWProto::addStringToBuffer(teamscfg, QString("eammstore")); |
|
155 HWProto::addStringToBuffer(teamscfg, QString("eammstore")); |
|
156 //RawSendIPC(teamscfg); |
|
157 } |
|
158 |
|
159 void HWGame::SendTrainingConfig() |
120 void HWGame::SendTrainingConfig() |
160 { |
121 { |
161 QByteArray traincfg; |
122 QByteArray traincfg; |
162 HWProto::addStringToBuffer(traincfg, "TL"); |
123 HWProto::addStringToBuffer(traincfg, "TL"); |
163 HWProto::addStringToBuffer(traincfg, "eseed " + QUuid::createUuid().toString()); |
124 HWProto::addStringToBuffer(traincfg, "eseed " + QUuid::createUuid().toString()); |
375 |
336 |
376 void HWGame::StartQuick() |
337 void HWGame::StartQuick() |
377 { |
338 { |
378 ThemeModel * themeModel = DataManager::instance().themeModel(); |
339 ThemeModel * themeModel = DataManager::instance().themeModel(); |
379 gameType = gtQLocal; |
340 gameType = gtQLocal; |
380 /* |
341 |
381 typedef struct { |
|
382 char *style; // e.g. "Capture the Flag" |
|
383 flib_scheme *gamescheme; |
|
384 flib_map *map; |
|
385 flib_teamlist *teamlist; |
|
386 } flib_gamesetup; |
|
387 */ |
|
388 flib_gamesetup gameSetup; |
342 flib_gamesetup gameSetup; |
389 gameSetup.style = NULL; |
343 gameSetup.style = NULL; |
390 gameSetup.gamescheme = flib_scheme_create("Default"); |
344 gameSetup.gamescheme = flib_scheme_create("Default"); |
391 gameSetup.map = flib_map_create_regular( |
345 gameSetup.map = flib_map_create_regular( |
392 QUuid::createUuid().toByteArray().constData() |
346 QUuid::createUuid().toByteArray().constData() |
393 , themeModel->rowCount() > 0 ? themeModel->index(rand() % themeModel->rowCount()).data().toString().toUtf8().constData() : "Sheep" |
347 , themeModel->rowCount() > 0 ? themeModel->index(rand() % themeModel->rowCount()).data().toString().toUtf8().constData() : "Sheep" |
394 , 3); |
348 , 3); |
395 gameSetup.teamlist = flib_teamlist_create(); |
349 gameSetup.teamlist = flib_teamlist_create(); |
396 |
350 |
|
351 { // add teams |
|
352 HWTeam team1; |
|
353 team1.setDifficulty(0); |
|
354 team1.setColor(0); |
|
355 team1.setNumHedgehogs(4); |
|
356 HWNamegen::teamRandomNames(team1, true); |
|
357 |
|
358 HWTeam team2; |
|
359 team2.setDifficulty(4); |
|
360 team2.setColor(1); |
|
361 team2.setNumHedgehogs(4); |
|
362 do |
|
363 HWNamegen::teamRandomNames(team2,true); |
|
364 while(!team2.name().compare(team1.name()) || !team2.hedgehogHat(0).compare(team1.hedgehogHat(0))); |
|
365 |
|
366 flib_teamlist_insert(gameSetup.teamlist, team1.toFlibTeam(), 0); |
|
367 flib_teamlist_insert(gameSetup.teamlist, team2.toFlibTeam(), 1); |
|
368 } |
|
369 |
397 m_conn = flib_gameconn_create(config->netNick().toUtf8().constData(), &gameSetup, false); |
370 m_conn = flib_gameconn_create(config->netNick().toUtf8().constData(), &gameSetup, false); |
|
371 |
|
372 flib_teamlist_destroy(gameSetup.teamlist); |
|
373 flib_map_destroy(gameSetup.map); |
|
374 flib_scheme_destroy(gameSetup.gamescheme); |
398 |
375 |
399 start(false); |
376 start(false); |
400 SetGameState(gsStarted); |
377 SetGameState(gsStarted); |
401 } |
378 } |
402 |
379 |