diff --git a/src/engine/boardinterface.h b/src/engine/boardinterface.h index 2153c130..15d0ed8d 100644 --- a/src/engine/boardinterface.h +++ b/src/engine/boardinterface.h @@ -54,7 +54,7 @@ public: virtual void distributePot() =0; virtual std::list getWinners() const =0; - + virtual void setWinners(const std::list &winners) =0; }; diff --git a/src/engine/local_engine/localboard.cpp b/src/engine/local_engine/localboard.cpp index 420d7b80..843d0845 100755 --- a/src/engine/local_engine/localboard.cpp +++ b/src/engine/local_engine/localboard.cpp @@ -95,7 +95,7 @@ void LocalBoard::distributePot() { int highestCardsValue; size_t winnerCount; size_t mod; - int winnerPointer; +// int winnerPointer; bool winnerHit; // level loop diff --git a/src/engine/local_engine/localboard.h b/src/engine/local_engine/localboard.h index a19b97cf..995a3cb1 100755 --- a/src/engine/local_engine/localboard.h +++ b/src/engine/local_engine/localboard.h @@ -52,7 +52,8 @@ public: void distributePot(); std::list getWinners() const { return winners; } - + void setWinners(const std::list &w) { winners = w; } + private: PlayerList seatsList; diff --git a/src/engine/network_engine/clientboard.cpp b/src/engine/network_engine/clientboard.cpp index 04de7959..caf5bacd 100644 --- a/src/engine/network_engine/clientboard.cpp +++ b/src/engine/network_engine/clientboard.cpp @@ -121,7 +121,14 @@ ClientBoard::distributePot() std::list ClientBoard::getWinners() const { + boost::recursive_mutex::scoped_lock lock(m_syncMutex); return winners; } +void +ClientBoard::setWinners(const std::list &w) +{ + boost::recursive_mutex::scoped_lock lock(m_syncMutex); + winners = w; +} diff --git a/src/engine/network_engine/clientboard.h b/src/engine/network_engine/clientboard.h index 4a4d7f0c..317a5349 100644 --- a/src/engine/network_engine/clientboard.h +++ b/src/engine/network_engine/clientboard.h @@ -51,6 +51,7 @@ public: void distributePot(); std::list getWinners() const; + void setWinners(const std::list &winners); private: mutable boost::recursive_mutex m_syncMutex; diff --git a/src/net/common/clientstate.cpp b/src/net/common/clientstate.cpp index e18f56a5..9880c369 100644 --- a/src/net/common/clientstate.cpp +++ b/src/net/common/clientstate.cpp @@ -1097,7 +1097,7 @@ ClientStateRunHand::InternalProcess(ClientThread &client, boost::shared_ptrsetMyCash(endHandData.playerMoney); - // TODO use moneyWon + curGame->getCurrentHand()->getBoard()->setPot(0); client.GetGui().postRiverRunAnimation1(); @@ -1125,6 +1125,7 @@ ClientStateRunHand::InternalProcess(ClientThread &client, boost::shared_ptr winnerList; int highestValueOfCards = 0; while (i != end) { @@ -1144,11 +1145,14 @@ ClientStateRunHand::InternalProcess(ClientThread &client, boost::shared_ptrgetMyCardsValueInt() > highestValueOfCards) highestValueOfCards = tmpPlayer->getMyCardsValueInt(); tmpPlayer->setMyCash((*i).playerMoney); - // TODO use moneyWon + + if ((*i).moneyWon) + winnerList.push_back((*i).playerId); ++i; } curGame->getCurrentHand()->getCurrentBeRo()->setHighestCardsValue(highestValueOfCards); curGame->getCurrentHand()->getBoard()->setPot(0); + curGame->getCurrentHand()->getBoard()->setWinners(winnerList); client.GetGui().postRiverRunAnimation1();