Cleaned up some networking code. Total sets are now calculated by the client.
This commit is contained in:
1 parent
4b8049e9dd
commit
056ae1aa32
8 files changed
+79
-86
No files matched your search
@@ -624,7 +624,7 @@ ClientStateRunHand::InternalProcess(ClientThread &client, boost::shared_ptr<NetP
|
||||
tmpPlayer->setMyAction(actionDoneData.playerAction);
|
||||
tmpPlayer->setMySetAbsolute(actionDoneData.totalPlayerBet);
|
||||
tmpPlayer->setMyCash(actionDoneData.playerMoney);
|
||||
curGame->getCurrentHand()->getBoard()->setSets(actionDoneData.curHandBets);
|
||||
curGame->getCurrentHand()->getBoard()->collectSets();
|
||||
|
||||
// Update highest set
|
||||
if (tmpPlayer->getMySet() > GetHighestSet(*curGame))
|
||||
|
||||
@@ -163,7 +163,6 @@ struct GCC_PACKED NetPacketPlayersActionDoneData
|
||||
u_int16_t reserved;
|
||||
u_int32_t totalPlayerBet;
|
||||
u_int32_t playerMoney;
|
||||
u_int32_t curHandBets;
|
||||
};
|
||||
|
||||
struct GCC_PACKED NetPacketPlayersActionRejectedData
|
||||
@@ -1238,7 +1237,6 @@ NetPacketPlayersActionDone::SetData(const NetPacketPlayersActionDone::Data &inDa
|
||||
tmpData->playerAction = htons(inData.playerAction);
|
||||
tmpData->totalPlayerBet = htonl(inData.totalPlayerBet);
|
||||
tmpData->playerMoney = htonl(inData.playerMoney);
|
||||
tmpData->curHandBets = htonl(inData.curHandBets);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -1252,7 +1250,6 @@ NetPacketPlayersActionDone::GetData(NetPacketPlayersActionDone::Data &outData) c
|
||||
outData.playerAction = static_cast<PlayerAction>(ntohs(tmpData->playerAction));
|
||||
outData.totalPlayerBet = ntohl(tmpData->totalPlayerBet);
|
||||
outData.playerMoney = ntohl(tmpData->playerMoney);
|
||||
outData.curHandBets = ntohl(tmpData->curHandBets);
|
||||
}
|
||||
|
||||
const NetPacketPlayersActionDone *
|
||||
|
||||
@@ -180,6 +180,23 @@ ServerRecvStateReceiving::Process(ServerRecvThread &server)
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
ServerRecvStateTimer::ServerRecvStateTimer()
|
||||
{
|
||||
}
|
||||
|
||||
ServerRecvStateTimer::~ServerRecvStateTimer()
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
ServerRecvStateTimer::Init()
|
||||
{
|
||||
m_timer.reset();
|
||||
m_timer.start();
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
ServerRecvStateInit &
|
||||
ServerRecvStateInit::Instance()
|
||||
{
|
||||
@@ -436,7 +453,6 @@ ServerRecvStateStartHand::Process(ServerRecvThread &server)
|
||||
actionDoneData.playerAction = (PlayerAction)playerArray[i]->getMyAction();
|
||||
actionDoneData.totalPlayerBet = playerArray[i]->getMySet();
|
||||
actionDoneData.playerMoney = playerArray[i]->getMyCash();
|
||||
actionDoneData.curHandBets = playerArray[i]->getMySet(); // first bet only
|
||||
static_cast<NetPacketPlayersActionDone *>(notifySmallBlind.get())->SetData(actionDoneData);
|
||||
server.SendToAllPlayers(notifySmallBlind);
|
||||
break;
|
||||
@@ -453,7 +469,6 @@ ServerRecvStateStartHand::Process(ServerRecvThread &server)
|
||||
actionDoneData.playerAction = (PlayerAction)playerArray[i]->getMyAction();
|
||||
actionDoneData.totalPlayerBet = playerArray[i]->getMySet();
|
||||
actionDoneData.playerMoney = playerArray[i]->getMyCash();
|
||||
actionDoneData.curHandBets = curGame.getCurrentHand()->getBoard()->getSets();
|
||||
static_cast<NetPacketPlayersActionDone *>(notifyBigBlind.get())->SetData(actionDoneData);
|
||||
server.SendToAllPlayers(notifyBigBlind);
|
||||
break;
|
||||
@@ -530,9 +545,6 @@ ServerRecvStateStartRound::Process(ServerRecvThread &server)
|
||||
server.SendToAllPlayers(allIn);
|
||||
curGame.getCurrentHand()->setCardsShown(true);
|
||||
|
||||
boost::microsec_timer delayTimer;
|
||||
delayTimer.start();
|
||||
ServerRecvStateShowCardsDelay::Instance().SetTimer(delayTimer);
|
||||
server.SetState(ServerRecvStateShowCardsDelay::Instance());
|
||||
retVal = MSG_NET_GAME_SERVER_CARDS_DELAY;
|
||||
}
|
||||
@@ -540,9 +552,6 @@ ServerRecvStateStartRound::Process(ServerRecvThread &server)
|
||||
{
|
||||
SendNewRoundCards(server, curGame, newRound);
|
||||
|
||||
boost::microsec_timer delayTimer;
|
||||
delayTimer.start();
|
||||
ServerRecvStateDealCardsDelay::Instance().SetTimer(delayTimer);
|
||||
server.SetState(ServerRecvStateDealCardsDelay::Instance());
|
||||
retVal = MSG_NET_GAME_SERVER_CARDS_DELAY;
|
||||
}
|
||||
@@ -636,9 +645,6 @@ ServerRecvStateStartRound::Process(ServerRecvThread &server)
|
||||
server.SetState(ServerRecvStateFinal::Instance()); // TODO
|
||||
else
|
||||
{
|
||||
boost::microsec_timer delayTimer;
|
||||
delayTimer.start();
|
||||
ServerRecvStateNextHand::Instance().SetTimer(delayTimer);
|
||||
server.SetState(ServerRecvStateNextHand::Instance());
|
||||
retVal = MSG_NET_GAME_SERVER_HAND_END;
|
||||
}
|
||||
@@ -777,7 +783,6 @@ ServerRecvStateWaitPlayerAction::PerformPlayerAction(ServerRecvThread &server, P
|
||||
actionDoneData.playerAction = static_cast<PlayerAction>(player->getMyAction());
|
||||
actionDoneData.totalPlayerBet = player->getMySet();
|
||||
actionDoneData.playerMoney = player->getMyCash();
|
||||
actionDoneData.curHandBets = curGame.getCurrentHand()->getBoard()->getSets();
|
||||
static_cast<NetPacketPlayersActionDone *>(notifyActionDone.get())->SetData(actionDoneData);
|
||||
server.SendToAllPlayers(notifyActionDone);
|
||||
}
|
||||
@@ -849,12 +854,6 @@ ServerRecvStateDealCardsDelay::~ServerRecvStateDealCardsDelay()
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
ServerRecvStateDealCardsDelay::SetTimer(const boost::microsec_timer &timer)
|
||||
{
|
||||
m_delayTimer = timer;
|
||||
}
|
||||
|
||||
int
|
||||
ServerRecvStateDealCardsDelay::Process(ServerRecvThread &server)
|
||||
{
|
||||
@@ -863,24 +862,23 @@ ServerRecvStateDealCardsDelay::Process(ServerRecvThread &server)
|
||||
Game &curGame = server.GetGame();
|
||||
|
||||
int allInDelay = curGame.getCurrentHand()->getAllInCondition() ? SERVER_DEAL_ADD_ALL_IN_DELAY_SEC : 0;
|
||||
int delay = 0;
|
||||
|
||||
switch(curGame.getCurrentHand()->getActualRound())
|
||||
{
|
||||
case GAME_STATE_FLOP:
|
||||
if (m_delayTimer.elapsed().seconds() >= SERVER_DEAL_FLOP_CARDS_DELAY_SEC + allInDelay)
|
||||
server.SetState(ServerRecvStateStartRound::Instance());
|
||||
delay = SERVER_DEAL_FLOP_CARDS_DELAY_SEC + allInDelay;
|
||||
break;
|
||||
case GAME_STATE_TURN:
|
||||
if (m_delayTimer.elapsed().seconds() >= SERVER_DEAL_TURN_CARD_DELAY_SEC)
|
||||
server.SetState(ServerRecvStateStartRound::Instance());
|
||||
delay = SERVER_DEAL_TURN_CARD_DELAY_SEC;
|
||||
break;
|
||||
case GAME_STATE_RIVER:
|
||||
if (m_delayTimer.elapsed().seconds() >= SERVER_DEAL_RIVER_CARD_DELAY_SEC)
|
||||
server.SetState(ServerRecvStateStartRound::Instance());
|
||||
delay = SERVER_DEAL_RIVER_CARD_DELAY_SEC;
|
||||
break;
|
||||
default:
|
||||
server.SetState(ServerRecvStateStartRound::Instance());
|
||||
}
|
||||
if (!delay || GetTimer().elapsed().seconds() >= delay)
|
||||
server.SetState(ServerRecvStateStartRound::Instance());
|
||||
|
||||
return retVal;
|
||||
}
|
||||
|
||||
@@ -907,12 +905,6 @@ ServerRecvStateShowCardsDelay::~ServerRecvStateShowCardsDelay()
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
ServerRecvStateShowCardsDelay::SetTimer(const boost::microsec_timer &timer)
|
||||
{
|
||||
m_delayTimer = timer;
|
||||
}
|
||||
|
||||
int
|
||||
ServerRecvStateShowCardsDelay::Process(ServerRecvThread &server)
|
||||
{
|
||||
@@ -920,13 +912,10 @@ ServerRecvStateShowCardsDelay::Process(ServerRecvThread &server)
|
||||
|
||||
Game &curGame = server.GetGame();
|
||||
|
||||
if (m_delayTimer.elapsed().seconds() >= SERVER_SHOW_CARDS_DELAY_SEC)
|
||||
if (GetTimer().elapsed().seconds() >= SERVER_SHOW_CARDS_DELAY_SEC)
|
||||
{
|
||||
SendNewRoundCards(server, curGame, curGame.getCurrentHand()->getActualRound());
|
||||
|
||||
boost::microsec_timer delayTimer;
|
||||
delayTimer.start();
|
||||
ServerRecvStateDealCardsDelay::Instance().SetTimer(delayTimer);
|
||||
server.SetState(ServerRecvStateDealCardsDelay::Instance());
|
||||
retVal = MSG_NET_GAME_SERVER_CARDS_DELAY;
|
||||
}
|
||||
@@ -957,18 +946,12 @@ ServerRecvStateNextHand::~ServerRecvStateNextHand()
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
ServerRecvStateNextHand::SetTimer(const boost::microsec_timer &timer)
|
||||
{
|
||||
m_delayTimer = timer;
|
||||
}
|
||||
|
||||
int
|
||||
ServerRecvStateNextHand::Process(ServerRecvThread &server)
|
||||
{
|
||||
int retVal = ServerRecvStateReceiving::Process(server);
|
||||
|
||||
if (m_delayTimer.elapsed().seconds() >= SERVER_DELAY_NEXT_HAND_SEC)
|
||||
if (GetTimer().elapsed().seconds() >= SERVER_DELAY_NEXT_HAND_SEC)
|
||||
server.SetState(ServerRecvStateStartHand::Instance());
|
||||
|
||||
return retVal;
|
||||
|
||||
@@ -601,6 +601,7 @@ ServerRecvThread::GetState()
|
||||
void
|
||||
ServerRecvThread::SetState(ServerRecvState &newState)
|
||||
{
|
||||
newState.Init();
|
||||
m_curState = &newState;
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user