Index: client/Client/main.cpp
===================================================================
--- client/Client/main.cpp	(revision dfb93639f1daef3228d1d6099aca6d510bd80be0)
+++ client/Client/main.cpp	(revision 6f64166995265628c9a43f45d5947ef9a155d423)
@@ -58,5 +58,9 @@
 void shutdownWinSock();
 void createGui(ALLEGRO_FONT* font);
-void processMessage(NETWORK_MSG &msg, int &state, chat &chatConsole, map<unsigned int, Player*>& mapPlayers, unsigned int& curPlayerId);
+
+void processMessage(NETWORK_MSG &msg, int &state, chat &chatConsole, map<unsigned int, Player*>& mapPlayers, map<string, int>& mapGames, unsigned int& curPlayerId);
+void handleMsgPlayer(NETWORK_MSG &msg, map<unsigned int, Player*>& mapPlayers, map<string, int>& mapGames);
+void handleMsgGameInfo(NETWORK_MSG &msg, map<unsigned int, Player*>& mapPlayers, map<string, int>& mapGames);
+
 int getRefreshRate(int width, int height);
 void drawMessageStatus(ALLEGRO_FONT* font);
@@ -123,5 +127,4 @@
 chat chatConsole, debugConsole;
 bool debugging;
-map<string, int> mapGames;
 Game* game;
 GameSummary* gameSummary;
@@ -135,4 +138,5 @@
    ALLEGRO_TIMER *timer = NULL;
    map<unsigned int, Player*> mapPlayers;
+   map<string, int> mapGames;
    unsigned int curPlayerId = -1;
    ofstream outputLog;
@@ -369,5 +373,5 @@
 
       if (msgProcessor.receiveMessage(&msgFrom, &from) >= 0)
-         processMessage(msgFrom, state, chatConsole, mapPlayers, curPlayerId);
+         processMessage(msgFrom, state, chatConsole, mapPlayers, mapGames, curPlayerId);
 
       if (redraw)
@@ -655,5 +659,5 @@
 }
 
-void processMessage(NETWORK_MSG &msg, int &state, chat &chatConsole, map<unsigned int, Player*>& mapPlayers, unsigned int& curPlayerId)
+void processMessage(NETWORK_MSG &msg, int &state, chat &chatConsole, map<unsigned int, Player*>& mapPlayers, map<string, int>& mapGames, unsigned int& curPlayerId)
 {
    cout << "Total players in map: " << mapPlayers.size() << endl;
@@ -758,79 +762,7 @@
                break;
             }
-            case MSG_TYPE_PLAYER:
-            {
-               cout << "Received MSG_TYPE_PLAYER" << endl;
-
-               Player p("", "");
-               p.deserialize(msg.buffer);
-               p.timeLastUpdated = getCurrentMillis();
-               p.isChasing = false;
-               if (p.health <= 0)
-                  p.isDead = true;
-               else
-                  p.isDead = false;
-
-               if (mapPlayers.find(p.getId()) != mapPlayers.end())
-                  *(mapPlayers[p.getId()]) = p;
-               else
-                  mapPlayers[p.getId()] = new Player(p);
-
-               break;
-            }
-            case MSG_TYPE_PLAYER_MOVE:
-            {
-               unsigned int id;
-               int x, y;
-
-               memcpy(&id, msg.buffer, 4);
-               memcpy(&x, msg.buffer+4, 4);
-               memcpy(&y, msg.buffer+8, 4);
-
-               mapPlayers[id]->target.x = x;
-               mapPlayers[id]->target.y = y;
-
-               mapPlayers[id]->isChasing = false;
-               mapPlayers[id]->setTargetPlayer(0);
-
-               break;
-            }
             case MSG_TYPE_CHAT:
             {
                chatConsole.addLine(response);
-
-               break;
-            }
-            case MSG_TYPE_ATTACK:
-            {
-               cout << "Received START_ATTACK message" << endl;
-
-               unsigned int id, targetID;
-               memcpy(&id, msg.buffer, 4);
-               memcpy(&targetID, msg.buffer+4, 4);
-
-               cout << "source id: " << id << endl;
-               cout << "target id: " << targetID << endl;
-
-               Player* source = mapPlayers[id];
-               source->setTargetPlayer(targetID);
-               source->isChasing = true;
-
-               break;
-            }
-            case MSG_TYPE_GAME_INFO:
-            {
-               cout << "Received a GAME_INFO message" << endl;
-
-               string gameName(msg.buffer+4);
-               int numPlayers;
-
-               memcpy(&numPlayers, msg.buffer, 4);
-               
-               cout << "Received game info for " << gameName << " (num players: " << numPlayers << ")" << endl;
-               
-               if (numPlayers > 0)
-                  mapGames[gameName] = numPlayers;
-               else
-                  mapGames.erase(gameName);
 
                break;
@@ -863,4 +795,16 @@
             {
                cout << "Received a JOIN_GAME_FAILURE message" << endl;
+
+               break;
+            }
+            case MSG_TYPE_PLAYER:
+            {
+               handleMsgPlayer(msg, mapPlayers, mapGames);
+
+               break;
+            }
+            case MSG_TYPE_GAME_INFO:
+            {
+               handleMsgGameInfo(msg, mapPlayers, mapGames);
 
                break;
@@ -881,40 +825,4 @@
          switch(msg.type)
          {
-            case MSG_TYPE_GAME_INFO:
-            {
-               cout << "Received a GAME_INFO message" << endl;
-
-               string gameName(msg.buffer+4);
-               int numPlayers;
-
-               memcpy(&numPlayers, msg.buffer, 4);
-               
-               cout << "Received game info for " << gameName << " (num players: " << numPlayers << ")" << endl;
-               
-               if (numPlayers > 0)
-                  mapGames[gameName] = numPlayers;
-               else
-                  mapGames.erase(gameName);
-
-               break;
-            }
-            case MSG_TYPE_SCORE:
-            {
-               cout << "Received SCORE message!" << endl;
-
-               int blueScore;
-               memcpy(&blueScore, msg.buffer, 4);
-               cout << "blue score: " << blueScore << endl;
-               game->setBlueScore(blueScore);
-
-               int redScore;
-               memcpy(&redScore, msg.buffer+4, 4);
-               cout << "red score: " << redScore << endl;
-               game->setRedScore(redScore);
-
-               cout << "Processed SCORE message!" << endl;
- 
-               break;
-            }
             case MSG_TYPE_FINISH_GAME:
             {
@@ -929,9 +837,4 @@
                string gameName(msg.buffer+12);
 
-               cout << "winner: " << winner << endl;
-               cout << "blueScore: " << blueScore << endl;
-               cout << "redScore: " << redScore << endl;
-               cout << "gameName: " << gameName << endl;
-
                gameSummary = new GameSummary(gameName, winner, blueScore, redScore);
 
@@ -940,29 +843,4 @@
                state = STATE_LOBBY;
                wndCurrent = wndGameSummary;
-
-
-               cout << "winner from obj: " << gameSummary->getWinner() << endl;
-               cout << "blueScore from obj: " << gameSummary->getBlueScore() << endl;
-               cout << "redScore from obj: " << gameSummary->getRedScore() << endl;
-               cout << "gameName from obj: " << gameSummary->getName() << endl;
-               break;
-            }
-            case MSG_TYPE_PLAYER:
-            {
-               cout << "Received MSG_TYPE_PLAYER" << endl;
-
-               Player p("", "");
-               p.deserialize(msg.buffer);
-               p.timeLastUpdated = getCurrentMillis();
-               p.isChasing = false;
-               if (p.health <= 0)
-                  p.isDead = true;
-               else
-                  p.isDead = false;
-
-               if (mapPlayers.find(p.getId()) != mapPlayers.end())
-                  *(mapPlayers[p.getId()]) = p;
-               else
-                  mapPlayers[p.getId()] = new Player(p);
 
                break;
@@ -1121,4 +999,16 @@
                break;
             }
+            case MSG_TYPE_PLAYER:
+            {
+               handleMsgPlayer(msg, mapPlayers, mapGames);
+
+               break;
+            }
+            case MSG_TYPE_GAME_INFO:
+            {
+               handleMsgGameInfo(msg, mapPlayers, mapGames);
+
+               break;
+            }
             default:
             {
@@ -1212,4 +1102,40 @@
       }
    }
+}
+
+// message handling functions
+
+void handleMsgPlayer(NETWORK_MSG &msg, map<unsigned int, Player*>& mapPlayers, map<string, int>& mapGames) {
+   cout << "Received MSG_TYPE_PLAYER" << endl;
+
+   Player p("", "");
+   p.deserialize(msg.buffer);
+   p.timeLastUpdated = getCurrentMillis();
+   p.isChasing = false;
+   if (p.health <= 0)
+      p.isDead = true;
+   else
+      p.isDead = false;
+
+   if (mapPlayers.find(p.getId()) != mapPlayers.end())
+      *(mapPlayers[p.getId()]) = p;
+   else
+      mapPlayers[p.getId()] = new Player(p);
+}
+
+void handleMsgGameInfo(NETWORK_MSG &msg, map<unsigned int, Player*>& mapPlayers, map<string, int>& mapGames) {
+   cout << "Received a GAME_INFO message" << endl;
+
+   string gameName(msg.buffer+4);
+   int numPlayers;
+
+   memcpy(&numPlayers, msg.buffer, 4);
+               
+   cout << "Received game info for " << gameName << " (num players: " << numPlayers << ")" << endl;
+               
+   if (numPlayers > 0)
+      mapGames[gameName] = numPlayers;
+   else
+      mapGames.erase(gameName);
 }
 
