From 5af91f4ea202c518ad3cd795b1f241e80794abcb Mon Sep 17 00:00:00 2001 From: lotodore Date: Mon, 11 Jun 2007 20:35:12 +0000 Subject: [PATCH] Winning a game is now logged. --- src/gui/generic/serverguiwrapper.cpp | 1 + src/gui/generic/serverguiwrapper.h | 1 + src/gui/guiinterface.h | 1 + src/gui/qt/guiwrapper.cpp | 1 + src/gui/qt/guiwrapper.h | 1 + src/gui/qt/mainwindow/log/log.cpp | 4 ++-- src/net/common/clientstate.cpp | 16 +++++++++++++--- 7 files changed, 20 insertions(+), 5 deletions(-) diff --git a/src/gui/generic/serverguiwrapper.cpp b/src/gui/generic/serverguiwrapper.cpp index 49a4a8b8..8dbe6ca0 100644 --- a/src/gui/generic/serverguiwrapper.cpp +++ b/src/gui/generic/serverguiwrapper.cpp @@ -100,6 +100,7 @@ void ServerGuiWrapper::logNewGameHandMsg(int gameID, int handID) {} void ServerGuiWrapper::logPlayerWinsMsg(int playerID, int pot) {} void ServerGuiWrapper::logDealBoardCardsMsg(int roundID, int card1, int card2, int card3, int card4, int card5) {} void ServerGuiWrapper::logFlipHoleCardsMsg(std::string playerName, int card1, int card2, int cardsValueInt, std::string showHas) {} +void ServerGuiWrapper::logPlayerWinGame(std::string playerName, int gameID) {} void ServerGuiWrapper::SignalNetClientConnect(int actionID) { if (myClientcb) myClientcb->SignalNetClientConnect(actionID); } void ServerGuiWrapper::SignalNetClientGameInfo(int actionID) { if (myClientcb) myClientcb->SignalNetClientGameInfo(actionID); } diff --git a/src/gui/generic/serverguiwrapper.h b/src/gui/generic/serverguiwrapper.h index f508e1e8..ed24cf72 100644 --- a/src/gui/generic/serverguiwrapper.h +++ b/src/gui/generic/serverguiwrapper.h @@ -84,6 +84,7 @@ public: void logPlayerWinsMsg(int playerID, int pot); void logDealBoardCardsMsg(int roundID, int card1, int card2, int card3, int card4 = -1, int card5 = -1) ; void logFlipHoleCardsMsg(std::string playerName, int card1, int card2, int cardsValueInt = -1, std::string showHas = "shows") ; + void logPlayerWinGame(std::string playerName, int gameID); void SignalNetClientConnect(int actionID); void SignalNetClientGameInfo(int actionID); diff --git a/src/gui/guiinterface.h b/src/gui/guiinterface.h index ab2b4d4c..00b992fc 100644 --- a/src/gui/guiinterface.h +++ b/src/gui/guiinterface.h @@ -94,6 +94,7 @@ public: virtual void logPlayerWinsMsg(int playerID, int pot) = 0; virtual void logDealBoardCardsMsg(int roundID, int card1, int card2, int card3, int card4 = -1, int card5 = -1) = 0; virtual void logFlipHoleCardsMsg(std::string playerName, int card1, int card2, int cardsValueInt = -1, std::string showHas = "shows") = 0; + virtual void logPlayerWinGame(std::string playerName, int gameID) =0; }; #endif diff --git a/src/gui/qt/guiwrapper.cpp b/src/gui/qt/guiwrapper.cpp index 67696a49..55609299 100644 --- a/src/gui/qt/guiwrapper.cpp +++ b/src/gui/qt/guiwrapper.cpp @@ -102,6 +102,7 @@ void GuiWrapper::logNewGameHandMsg(int gameID, int handID) { myLog->signalLogNew void GuiWrapper::logPlayerWinsMsg(int playerID, int pot) { myLog->signalLogPlayerWinsMsg(playerID, pot); } void GuiWrapper::logDealBoardCardsMsg(int roundID, int card1, int card2, int card3, int card4, int card5) { myLog->signalLogDealBoardCardsMsg(roundID, card1, card2, card3, card4, card5); } void GuiWrapper::logFlipHoleCardsMsg(string playerName, int card1, int card2, int cardsValueInt, string showHas) { myLog->signalLogFlipHoleCardsMsg(QString::fromUtf8(playerName.c_str()), card1, card2, cardsValueInt, QString::fromUtf8(showHas.c_str())); } +void GuiWrapper::logPlayerWinGame(std::string playerName, int gameID) { myLog->signalLogPlayerWinGame(QString::fromUtf8(playerName.c_str()), gameID); } void GuiWrapper::SignalNetClientConnect(int actionID) { myW->signalNetClientConnect(actionID); } void GuiWrapper::SignalNetClientGameInfo(int actionID) { myW->signalNetClientGameInfo(actionID); } diff --git a/src/gui/qt/guiwrapper.h b/src/gui/qt/guiwrapper.h index 077d413b..4e46196a 100644 --- a/src/gui/qt/guiwrapper.h +++ b/src/gui/qt/guiwrapper.h @@ -94,6 +94,7 @@ public: void logPlayerWinsMsg(int playerID, int pot); void logDealBoardCardsMsg(int roundID, int card1, int card2, int card3, int card4 = -1, int card5 = -1); void logFlipHoleCardsMsg(std::string playerName, int card1, int card2, int cardsValueInt = -1, std::string showHas = "shows"); + void logPlayerWinGame(std::string playerName, int gameID); void SignalNetClientConnect(int actionID); void SignalNetClientGameInfo(int actionID); diff --git a/src/gui/qt/mainwindow/log/log.cpp b/src/gui/qt/mainwindow/log/log.cpp index 027e2fd4..e3bd8c12 100644 --- a/src/gui/qt/mainwindow/log/log.cpp +++ b/src/gui/qt/mainwindow/log/log.cpp @@ -460,11 +460,11 @@ void Log::logPlayerLeftMsg(QString playerName) { void Log::logPlayerWinGame(QString playerName, int gameID) { - myW->textBrowser_Log->append( ""+playerName+" wins game no. " + QString::number(gameID,10) +"!"); + myW->textBrowser_Log->append( ""+playerName+" wins game " + QString::number(gameID,10) +"!"); if(myConfig->readConfigInt("LogOnOff")) { - logFileStreamString += ""+playerName+" wins game no. " + QString::number(gameID,10) +"!
\n"; + logFileStreamString += ""+playerName+" wins game " + QString::number(gameID,10) +"!
\n"; if(myConfig->readConfigInt("LogInterval") == 0) { writeLogFileStream(logFileStreamString); diff --git a/src/net/common/clientstate.cpp b/src/net/common/clientstate.cpp index f69d5de6..1d7a7397 100644 --- a/src/net/common/clientstate.cpp +++ b/src/net/common/clientstate.cpp @@ -570,9 +570,19 @@ ClientStateWaitHand::InternalProcess(ClientThread &client, boost::shared_ptrToNetPacketEndOfGame()) { - client.GetCallback().SignalNetClientWaitDialog(); - client.SetState(ClientStateWaitGame::Instance()); - retVal = MSG_NET_GAME_CLIENT_END; + boost::shared_ptr curGame = client.GetGame(); + if (curGame.get()) + { + NetPacketEndOfGame::Data endData; + packet->ToNetPacketEndOfGame()->GetData(endData); + PlayerInterface *tmpPlayer = curGame->getPlayerByUniqueId(endData.winnerPlayerId); + if (!tmpPlayer) + throw ClientException(ERR_NET_UNKNOWN_PLAYER_ID, 0); + client.GetGui().logPlayerWinGame(tmpPlayer->getMyName(), curGame->getMyGameID()); + client.GetCallback().SignalNetClientWaitDialog(); + client.SetState(ClientStateWaitGame::Instance()); + retVal = MSG_NET_GAME_CLIENT_END; + } } return MSG_SOCK_INTERNAL_PENDING;