Index: client/Client/Client.vcxproj
===================================================================
--- client/Client/Client.vcxproj	(revision 365e15609788cc71f66f3b238528e66756bedad4)
+++ client/Client/Client.vcxproj	(revision 49da01a0a5c0ebb0b6e93db32fc55ebb93e80940)
@@ -71,5 +71,4 @@
     <ClCompile Include="..\..\common\Projectile.cpp" />
     <ClCompile Include="..\..\common\WorldMap.cpp" />
-    <ClCompile Include="..\..\common\Message.cpp" />
     <ClCompile Include="..\..\common\Player.cpp" />
     <ClCompile Include="chat.cpp" />
@@ -88,5 +87,4 @@
     <ClInclude Include="..\..\common\Projectile.h" />
     <ClInclude Include="..\..\common\WorldMap.h" />
-    <ClInclude Include="..\..\common\Message.h" />
     <ClInclude Include="..\..\common\Player.h" />
     <ClInclude Include="chat.h" />
Index: client/Client/Client.vcxproj.filters
===================================================================
--- client/Client/Client.vcxproj.filters	(revision 365e15609788cc71f66f3b238528e66756bedad4)
+++ client/Client/Client.vcxproj.filters	(revision 49da01a0a5c0ebb0b6e93db32fc55ebb93e80940)
@@ -43,7 +43,4 @@
       <Filter>Source Files\gui</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\common\Message.cpp">
-      <Filter>Source Files\common</Filter>
-    </ClCompile>
     <ClCompile Include="Window.cpp">
       <Filter>Source Files\gui</Filter>
@@ -87,7 +84,4 @@
       <Filter>Header Files\common</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\common\Message.h">
-      <Filter>Header Files\common</Filter>
-    </ClInclude>
     <ClInclude Include="..\..\common\Common.h">
       <Filter>Header Files\common</Filter>
Index: client/Client/RadioButtonList.cpp
===================================================================
--- client/Client/RadioButtonList.cpp	(revision 365e15609788cc71f66f3b238528e66756bedad4)
+++ client/Client/RadioButtonList.cpp	(revision 49da01a0a5c0ebb0b6e93db32fc55ebb93e80940)
@@ -65,2 +65,6 @@
    return this->selectedButton;
 }
+
+void RadioButtonList::setSelectedButton(int b) {
+   this->selectedButton = b;
+}
Index: client/Client/RadioButtonList.h
===================================================================
--- client/Client/RadioButtonList.h	(revision 365e15609788cc71f66f3b238528e66756bedad4)
+++ client/Client/RadioButtonList.h	(revision 49da01a0a5c0ebb0b6e93db32fc55ebb93e80940)
@@ -26,4 +26,5 @@
    void addRadioButton(string s);
    int getSelectedButton();
+   void setSelectedButton(int b);
 };
 
Index: client/Client/main.cpp
===================================================================
--- client/Client/main.cpp	(revision 365e15609788cc71f66f3b238528e66756bedad4)
+++ client/Client/main.cpp	(revision 49da01a0a5c0ebb0b6e93db32fc55ebb93e80940)
@@ -232,5 +232,5 @@
    cout << "Created main screen" << endl;
 
-   wndCurrent = wndLogin;
+   goToLoginScreen();
  
    event_queue = al_create_event_queue();
@@ -398,10 +398,5 @@
          chatConsole.draw(font, al_map_rgb(255,255,255));
 
-         // There should be label gui components that show these or each textbox should have a label
-         if(wndCurrent == wndLogin || wndCurrent == wndRegister) {
-            //al_draw_text(font, al_map_rgb(0, 255, 0), 416, 43, ALLEGRO_ALIGN_LEFT, "Username:");
-            //al_draw_text(font, al_map_rgb(0, 255, 0), 413, 73, ALLEGRO_ALIGN_LEFT, "Password:");
-         }
-         else if(wndCurrent == wndMain) {
+         if(wndCurrent == wndMain) {
             al_draw_text(font, al_map_rgb(0, 255, 0), 4, 43, ALLEGRO_ALIGN_LEFT, "Message:");
 
@@ -645,5 +640,5 @@
                   cout << "Logged out" << endl;
                   state = STATE_START;
-                  wndCurrent = wndLogin;
+                  goToLoginScreen();
                }
 
@@ -914,16 +909,19 @@
 void goToRegisterScreen()
 {
-   wndCurrent = wndRegister;
-
    txtUsernameRegister->clear();
    txtPasswordRegister->clear();
+   lblRegisterStatus->setText("");
+   rblClasses->setSelectedButton(-1);
+
+   wndCurrent = wndRegister;
 }
 
 void goToLoginScreen()
 {
-   wndCurrent = wndLogin;
-
    txtUsername->clear();
    txtPassword->clear();
+   lblLoginStatus->setText("");
+
+   wndCurrent = wndLogin;
 }
 
Index: mmon/Message.cpp
===================================================================
--- common/Message.cpp	(revision 365e15609788cc71f66f3b238528e66756bedad4)
+++ 	(revision )
@@ -1,36 +1,0 @@
-#include "Message.h"
-
-#include "Compiler.h"
-
-#if defined WINDOWS
-   #include <winsock2.h>
-   #include <WS2tcpip.h>
-#elif defined LINUX
-   #include <sys/socket.h>
-   #include <netinet/in.h>
-#endif
-
-#include <iostream>
-
-using namespace std;
-
-/*
-int sendMessage(NETWORK_MSG *msg, int sock, struct sockaddr_in *dest)
-{
-   int ret =  sendto(sock, (char*)msg, sizeof(NETWORK_MSG), 0, (struct sockaddr *)dest, sizeof(struct sockaddr_in));
-
-   cout << "Send a message of type " << msg->type << endl;
-
-   return ret;
-}
-
-int receiveMessage(NETWORK_MSG *msg, int sock, struct sockaddr_in *source)
-{
-   socklen_t socklen = sizeof(struct sockaddr_in);
-
-   // assume we don't care about the value of socklen
-   int ret =  recvfrom(sock, (char*)msg, sizeof(NETWORK_MSG), 0, (struct sockaddr *)source, &socklen);
-
-   return ret;
-}
-*/
Index: mmon/Message.h
===================================================================
--- common/Message.h	(revision 365e15609788cc71f66f3b238528e66756bedad4)
+++ 	(revision )
@@ -1,32 +1,0 @@
-#ifndef _MESSAGE_H
-#define _MESSAGE_H
-
-#define MSG_TYPE_ACK               1
-#define MSG_TYPE_REGISTER          2
-#define MSG_TYPE_LOGIN             3
-#define MSG_TYPE_LOGOUT            4
-#define MSG_TYPE_CHAT              5
-#define MSG_TYPE_PLAYER            6  // server sends this to update player positions
-#define MSG_TYPE_PLAYER_MOVE       7  // client sends this when a player wants to move
-#define MSG_TYPE_OBJECT            8
-#define MSG_TYPE_REMOVE_OBJECT     9
-#define MSG_TYPE_PICKUP_FLAG       10
-#define MSG_TYPE_DROP_FLAG         11
-#define MSG_TYPE_SCORE             12
-#define MSG_TYPE_START_ATTACK      13
-#define MSG_TYPE_ATTACK            14
-#define MSG_TYPE_PROJECTILE        15
-#define MSG_TYPE_REMOVE_PROJECTILE 16
-
-typedef struct
-{
-   unsigned int id;
-   unsigned short type;
-   char buffer[256];
-} NETWORK_MSG;
-
-//int sendMessage(NETWORK_MSG *msg, int sock, struct sockaddr_in *dest);
-
-//int receiveMessage(NETWORK_MSG *msg, int sock, struct sockaddr_in *source);
-
-#endif
Index: common/MessageProcessor.h
===================================================================
--- common/MessageProcessor.h	(revision 365e15609788cc71f66f3b238528e66756bedad4)
+++ common/MessageProcessor.h	(revision 49da01a0a5c0ebb0b6e93db32fc55ebb93e80940)
@@ -15,27 +15,27 @@
 #endif
 
-/*
-#define MSG_TYPE_REGISTER          1
-#define MSG_TYPE_LOGIN             2
-#define MSG_TYPE_LOGOUT            3
-#define MSG_TYPE_CHAT              4
-#define MSG_TYPE_PLAYER            5  // server sends this to update player positions
-#define MSG_TYPE_PLAYER_MOVE       6  // client sends this when a player wants to move
-#define MSG_TYPE_OBJECT            7
-#define MSG_TYPE_REMOVE_OBJECT     8
-#define MSG_TYPE_PICKUP_FLAG       9
-#define MSG_TYPE_DROP_FLAG         10
-#define MSG_TYPE_SCORE             11
-#define MSG_TYPE_START_ATTACK      12
-#define MSG_TYPE_ATTACK            13
-#define MSG_TYPE_PROJECTILE        14
-#define MSG_TYPE_REMOVE_PROJECTILE 15
+#define MSG_TYPE_ACK               1
+#define MSG_TYPE_REGISTER          2
+#define MSG_TYPE_LOGIN             3
+#define MSG_TYPE_LOGOUT            4
+#define MSG_TYPE_CHAT              5
+#define MSG_TYPE_PLAYER            6  // server sends this to update player positions
+#define MSG_TYPE_PLAYER_MOVE       7  // client sends this when a player wants to move
+#define MSG_TYPE_OBJECT            8
+#define MSG_TYPE_REMOVE_OBJECT     9
+#define MSG_TYPE_PICKUP_FLAG       10
+#define MSG_TYPE_DROP_FLAG         11
+#define MSG_TYPE_SCORE             12
+#define MSG_TYPE_START_ATTACK      13
+#define MSG_TYPE_ATTACK            14
+#define MSG_TYPE_PROJECTILE        15
+#define MSG_TYPE_REMOVE_PROJECTILE 16
 
 typedef struct
 {
-   short type;
+   unsigned int id;
+   unsigned short type;
    char buffer[256];
 } NETWORK_MSG;
-*/
 
 using namespace std;
