diff --git a/src/engine/berointerface.h b/src/engine/berointerface.h index e2e669e7..e9e430c1 100644 --- a/src/engine/berointerface.h +++ b/src/engine/berointerface.h @@ -38,9 +38,12 @@ public: virtual void setCurrentPlayersTurnIt(PlayerListIterator) =0; virtual PlayerListIterator getCurrentPlayersTurnIt() const =0; + virtual void setSmallBlindPositionId(unsigned) =0; virtual unsigned getSmallBlindPositionId() const =0; + + virtual void setBigBlindPositionId(unsigned) =0; virtual unsigned getBigBlindPositionId() const =0; - + virtual void setHighestSet(int) =0; virtual int getHighestSet() const =0; diff --git a/src/engine/network_engine/clientbero.cpp b/src/engine/network_engine/clientbero.cpp index d805337e..b6c0b874 100644 --- a/src/engine/network_engine/clientbero.cpp +++ b/src/engine/network_engine/clientbero.cpp @@ -97,12 +97,26 @@ ClientBeRo::getLastPlayersTurnIt() const return lastPlayersTurnIt; } +void +ClientBeRo::setSmallBlindPositionId(unsigned theValue) +{ + boost::recursive_mutex::scoped_lock lock(m_syncMutex); + smallBlindPositionId = theValue; +} + unsigned ClientBeRo::getSmallBlindPositionId() const { return smallBlindPositionId; } +void +ClientBeRo::setBigBlindPositionId(unsigned theValue) +{ + boost::recursive_mutex::scoped_lock lock(m_syncMutex); + bigBlindPositionId = theValue; +} + unsigned ClientBeRo::getBigBlindPositionId() const { diff --git a/src/engine/network_engine/clientbero.h b/src/engine/network_engine/clientbero.h index 191c167d..0ac15e02 100644 --- a/src/engine/network_engine/clientbero.h +++ b/src/engine/network_engine/clientbero.h @@ -36,7 +36,10 @@ public: void setPlayersTurn(int theValue); int getPlayersTurn() const; + void setSmallBlindPositionId(unsigned theValue); unsigned getSmallBlindPositionId() const; + + void setBigBlindPositionId(unsigned theValue); unsigned getBigBlindPositionId() const; void setCurrentPlayersTurnId(unsigned theValue); diff --git a/src/net/common/clientstate.cpp b/src/net/common/clientstate.cpp index 27f4910b..ff443318 100644 --- a/src/net/common/clientstate.cpp +++ b/src/net/common/clientstate.cpp @@ -760,9 +760,15 @@ ClientStateRunHand::InternalProcess(ClientThread &client, boost::shared_ptrgetCurrentHand()->getCurrentBeRo()->setSmallBlindPositionId(tmpPlayer->getMyUniqueID()); tmpPlayer->setMyButton(BUTTON_SMALL_BLIND); + } else if (actionDoneData.gameState == GAME_STATE_PREFLOP_BIG_BLIND) + { + curGame->getCurrentHand()->getCurrentBeRo()->setBigBlindPositionId(tmpPlayer->getMyUniqueID()); tmpPlayer->setMyButton(BUTTON_BIG_BLIND); + } else // no blind -> log { if (actionDoneData.playerAction)