diff -r 171da01bd04d -r ad178654142a QTfrontend/game.cpp --- a/QTfrontend/game.cpp Tue Dec 04 09:15:55 2012 +0400 +++ b/QTfrontend/game.cpp Tue Dec 04 22:31:22 2012 +0400 @@ -54,28 +54,6 @@ flib_gameconn_destroy(m_conn); } -void HWGame::onClientDisconnect() -{/* - switch (gameType) - { - case gtDemo: - // for video recording we need demo anyway - emit HaveRecord(rtNeither, demo); - break; - case gtNet: - emit HaveRecord(rtDemo, demo); - break; - default: - if (gameState == gsInterrupted || gameState == gsHalted) - emit HaveRecord(rtSave, demo); - else if (gameState == gsFinished) - emit HaveRecord(rtDemo, demo); - else - emit HaveRecord(rtNeither, demo); - }*/ - SetGameState(gsStopped); -} - void HWGame::commonConfig() { QByteArray buf; @@ -416,7 +394,7 @@ emit GameStateChanged(state); if (gameType == gtCampaign) { - emit CampStateChanged(1); + emit campStateChanged(1); } } @@ -452,7 +430,64 @@ teamfile.setValue("Campaign " + campaign + "/" + varToWrite, varValue); } + +static void HWGame::onChat(void* context, const char *msg, bool teamchat) +{ + HWGame * game = (HWGame *) context; +} + +static void HWGame::onConnect(void* context) +{ + HWGame * game = (HWGame *) context; +} + +static void HWGame::onDisconnect(void* context, int reason) +{ + HWGame * game = (HWGame *) context; + /* + switch (gameType) + { + case gtDemo: + // for video recording we need demo anyway + emit HaveRecord(rtNeither, demo); + break; + case gtNet: + emit HaveRecord(rtDemo, demo); + break; + default: + if (gameState == gsInterrupted || gameState == gsHalted) + emit HaveRecord(rtSave, demo); + else if (gameState == gsFinished) + emit HaveRecord(rtDemo, demo); + else + emit HaveRecord(rtNeither, demo); + }*/ + game->SetGameState(gsStopped); +} + +static void HWGame::onEngineMessage(void *context, const uint8_t *em, size_t size) +{ + HWGame * game = (HWGame *) context; +} + +static void HWGame::onErrorMessage(void* context, const char *msg) +{ + HWGame * game = (HWGame *) context; +} + +static void HWGame::onGameRecorded(void *context, const uint8_t *record, size_t size, bool isSavegame) +{ + HWGame * game = (HWGame *) context; +} + void HWGame::onEngineStart() { + flib_gameconn_onChat(m_conn, onChat, this); + flib_gameconn_onConnect(m_conn, onConnect, this); + flib_gameconn_onDisconnect(m_conn, onDisconnect, this); + flib_gameconn_onEngineMessage(m_conn, onEngineMessage, this); + flib_gameconn_onErrorMessage(m_conn, onErrorMessage, this); + flib_gameconn_onGameRecorded(m_conn, onGameRecorded, this); + new FrontLibPoller((void (*)(void *))flib_gameconn_tick, m_conn, this); }