Fixing some timer problems. Starting an internet game now works again. There are still some issues: Games are never terminated, and error handling is not implemented (errors will terminate the server).

This commit is contained in:
lotodore
2009-05-31 13:47:10 +00:00
parent 59358bff0e
commit fab224c8ad
3 changed files with 8 additions and 5 deletions
+4 -3
View File
@@ -630,7 +630,6 @@ ServerGameStateStartGame::InternalProcessPacket(ServerGameThread &server, Sessio
// Everyone is ready.
server.GetSessionManager().ResetAllReadyFlags();
DoStart(server);
server.SetState(SERVER_START_GAME_STATE::Instance());
retVal = MSG_SOCK_INIT_DONE;
}
}
@@ -646,7 +645,6 @@ ServerGameStateStartGame::TimerTimeout(ServerGameThread &server)
// TODO report successful start! -> new callback?!
//retVal = MSG_SOCK_INIT_DONE;
DoStart(server);
server.SetState(SERVER_START_GAME_STATE::Instance());
}
void
@@ -843,6 +841,10 @@ ServerGameStateHand::TimerLoop(ServerGameThread &server)
else if (!server.GetSessionManager().IsPlayerConnected(curPlayer->getMyName()))
{
PerformPlayerAction(server, curPlayer, PLAYER_ACTION_FOLD, 0);
server.SetStateTimerId(
server.GetLobbyThread().GetTimerManager().RegisterTimer(
SERVER_LOOP_DELAY_MSEC,
boost::bind(&ServerGameStateHand::TimerLoop, this, boost::ref(server))));
}
else
{
@@ -936,7 +938,6 @@ ServerGameStateHand::TimerLoop(ServerGameThread &server)
}
}
}
// TODO if not state changed and not timer set, set new loop timer.
}
void