Fixed bug where computer players where displayed as numbers in lobby.

This commit is contained in:
lotodore
2007-11-14 22:54:47 +00:00
parent d21ef93ea0
commit 7f5ff4af97
4 changed files with 13 additions and 11 deletions
+2
View File
@@ -23,6 +23,8 @@
#include <playerdata.h> #include <playerdata.h>
#define SERVER_COMPUTER_PLAYER_NAME "Computer"
enum GameMode enum GameMode
{ {
GAME_MODE_CREATED = 1, GAME_MODE_CREATED = 1,
+11 -7
View File
@@ -420,16 +420,20 @@ ClientThread::SetPlayerInfo(unsigned id, const PlayerInfo &info)
// for the same player name if it exists. // for the same player name if it exists.
// This can only be one entry, since every time a duplicate // This can only be one entry, since every time a duplicate
// name is added one is removed. // name is added one is removed.
PlayerInfoMap::iterator i = m_playerInfoMap.begin(); // Only erase non computer player entries.
PlayerInfoMap::iterator end = m_playerInfoMap.end(); if (info.playerName.substr(0, sizeof(SERVER_COMPUTER_PLAYER_NAME) - 1) != SERVER_COMPUTER_PLAYER_NAME)
while (i != end)
{ {
if (i->first != id && i->second.playerName == info.playerName) PlayerInfoMap::iterator i = m_playerInfoMap.begin();
PlayerInfoMap::iterator end = m_playerInfoMap.end();
while (i != end)
{ {
m_playerInfoMap.erase(i); if (i->first != id && i->second.playerName == info.playerName)
break; {
m_playerInfoMap.erase(i);
break;
}
++i;
} }
++i;
} }
m_playerInfoMap[id] = info; m_playerInfoMap[id] = info;
} }
-2
View File
@@ -62,8 +62,6 @@ using namespace std;
#define SERVER_COMPUTER_ACTION_DELAY_SEC 2 #define SERVER_COMPUTER_ACTION_DELAY_SEC 2
#endif #endif
#define SERVER_COMPUTER_PLAYER_NAME "Computer"
// Helper functions // Helper functions
// TODO: these are hacks. // TODO: these are hacks.
-2
View File
@@ -41,8 +41,6 @@
#define SERVER_NUM_AVATAR_SENDER_THREADS 5 #define SERVER_NUM_AVATAR_SENDER_THREADS 5
#define SERVER_COMPUTER_PLAYER_NAME "Computer"
#define SERVER_STATISTICS_FILE_NAME "server_statistics.log" #define SERVER_STATISTICS_FILE_NAME "server_statistics.log"
#define SERVER_STATISTICS_STR_TOTAL_PLAYERS "TotalNumPlayersLoggedIn" #define SERVER_STATISTICS_STR_TOTAL_PLAYERS "TotalNumPlayersLoggedIn"
#define SERVER_STATISTICS_STR_TOTAL_GAMES "TotalNumGamesStarted" #define SERVER_STATISTICS_STR_TOTAL_GAMES "TotalNumGamesStarted"