Index: server/server.cpp
===================================================================
--- server/server.cpp	(revision 5c84d54fcd64875d01b4c2544def37d20097477e)
+++ server/server.cpp	(revision b8601ee571c3981cee30903307a6d54e148d7f7e)
@@ -38,5 +38,5 @@
 // from used to be const. Removed that so I could take a reference
 // and use it to send messages
-bool processMessage(const NETWORK_MSG &clientMsg, struct sockaddr_in &from, map<unsigned int, Player>& mapPlayers, WorldMap* gameMap, unsigned int& unusedId, NETWORK_MSG &serverMsg, int sock);
+bool processMessage(const NETWORK_MSG &clientMsg, struct sockaddr_in &from, map<unsigned int, Player>& mapPlayers, WorldMap* gameMap, unsigned int& unusedId, NETWORK_MSG &serverMsg, int sock, int &scoreBlue, int &scoreRed);
 
 void updateUnusedId(unsigned int& id, map<unsigned int, Player>& mapPlayers);
@@ -84,4 +84,8 @@
    map<unsigned int, Player> mapPlayers;
    unsigned int unusedId = 1;
+   int scoreBlue, scoreRed;
+
+   scoreBlue = 0;
+   scoreRed = 0;
 
    //SSL_load_error_strings();
@@ -176,4 +180,5 @@
                         pos = gameMap->getStructureLocation(WorldMap::STRUCTURE_RED_FLAG);
                         flagTurnedIn = true;
+                        scoreBlue++;
                      }
 
@@ -188,4 +193,5 @@
                         pos = gameMap->getStructureLocation(WorldMap::STRUCTURE_BLUE_FLAG);
                         flagTurnedIn = true;
+                        scoreRed++;
                      }
 
@@ -204,4 +210,14 @@
 
                   map<unsigned int, Player>::iterator it2;
+                  for (it2 = mapPlayers.begin(); it2 != mapPlayers.end(); it2++)
+                  {
+                     if ( sendMessage(&serverMsg, sock, &(it2->second.addr)) < 0 )
+                        error("sendMessage");
+                  }
+
+                  serverMsg.type = MSG_TYPE_SCORE;
+                  memcpy(serverMsg.buffer, &scoreBlue, 4);
+                  memcpy(serverMsg.buffer+4, &scoreRed, 4);
+
                   for (it2 = mapPlayers.begin(); it2 != mapPlayers.end(); it2++)
                   {
@@ -233,5 +249,5 @@
 
       if (n >= 0) {
-         broadcastResponse = processMessage(clientMsg, from, mapPlayers, gameMap, unusedId, serverMsg, sock);
+         broadcastResponse = processMessage(clientMsg, from, mapPlayers, gameMap, unusedId, serverMsg, sock, scoreBlue, scoreRed);
 
          // probably replace this with a function that prints based on the
@@ -263,5 +279,5 @@
 }
 
-bool processMessage(const NETWORK_MSG& clientMsg, struct sockaddr_in& from, map<unsigned int, Player>& mapPlayers, WorldMap* gameMap, unsigned int& unusedId, NETWORK_MSG& serverMsg, int sock)
+bool processMessage(const NETWORK_MSG& clientMsg, struct sockaddr_in& from, map<unsigned int, Player>& mapPlayers, WorldMap* gameMap, unsigned int& unusedId, NETWORK_MSG& serverMsg, int sock, int &scoreBlue, int &scoreRed)
 {
    DataAccess da;
@@ -355,4 +371,12 @@
             }
 
+            // send the current score
+            serverMsg.type = MSG_TYPE_SCORE;
+            memcpy(serverMsg.buffer, &scoreBlue, 4);
+            memcpy(serverMsg.buffer+4, &scoreRed, 4);
+            if ( sendMessage(&serverMsg, sock, &from) < 0 )
+               error("sendMessage");
+
+            serverMsg.type = MSG_TYPE_PLAYER;
             p->serialize(serverMsg.buffer);
             cout << "Should be broadcasting the message" << endl;
