QTfrontend/game.cpp
branchflibqtfrontend
changeset 8106 861d145b270e
parent 8103 c247346d296f
child 8128 ebef2de30c18
equal deleted inserted replaced
8103:c247346d296f 8106:861d145b270e
   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());
   179 
   140 
   180 void HWGame::SendNetConfig()
   141 void HWGame::SendNetConfig()
   181 {
   142 {
   182     commonConfig();
   143     commonConfig();
   183 }
   144 }
   184 
   145 /*
   185 void HWGame::ParseMessage(const QByteArray & msg)
   146 void HWGame::ParseMessage(const QByteArray & msg)
   186 {
   147 {
   187     switch(msg.at(1))
   148     switch(msg.at(1))
   188     {
   149     {
   189         case '?':
   150         case '?':
   284                 emit SendNet(msg);
   245                 emit SendNet(msg);
   285             }
   246             }
   286             //demo.append(msg);
   247             //demo.append(msg);
   287         }
   248         }
   288     }
   249     }
   289 }
   250 }*/
   290 
   251 
   291 void HWGame::FromNet(const QByteArray & msg)
   252 void HWGame::FromNet(const QByteArray & msg)
   292 {
   253 {
   293     //RawSendIPC(msg);
   254     //RawSendIPC(msg);
   294 }
   255 }
   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