Index: ClientThread.java
===================================================================
--- ClientThread.java	(revision 92d1b2a7713fdee41a44e650aae40378209f430f)
+++ ClientThread.java	(revision 55522beff9cd77a58d08beeb5d81b94c79e5576e)
@@ -1,7 +1,3 @@
 import gamegui.*;
-
-/*
- * This thread is responsible for interacting with the server. It waits to receive messages from the server and then handles them.
- */
 
 public class ClientThread extends Connection {
Index: LostHavenClient.java
===================================================================
--- LostHavenClient.java	(revision 92d1b2a7713fdee41a44e650aae40378209f430f)
+++ LostHavenClient.java	(revision 55522beff9cd77a58d08beeb5d81b94c79e5576e)
@@ -10,12 +10,4 @@
 
 import gamegui.*;
-
-/*
- * This is the main class in the project. It initializes wide-screen mode and is responsible for drawing to the screen and handling
- * input.
- * 
- * The classes in the gamegui folder are similar to the Swing classes in that they help in building a gui. They are all extended from
- * the Member class and instances of each of them can be added to a Window class. They also have input-handling functionality.
- */
 
 public class LostHavenClient implements KeyListener, MouseListener {
Index: err.txt
===================================================================
--- err.txt	(revision 55522beff9cd77a58d08beeb5d81b94c79e5576e)
+++ err.txt	(revision 55522beff9cd77a58d08beeb5d81b94c79e5576e)
@@ -0,0 +1,279 @@
+-----[ Session started on 07/17/2007 02:39:54 ]-----
+java.lang.NullPointerException
+	at LostHavenClient.drawMap(LostHavenClient.java:589)
+	at LostHavenClient.render(LostHavenClient.java:457)
+	at LostHavenClient.<init>(LostHavenClient.java:114)
+	at LostHavenClient.main(LostHavenClient.java:942)
+-----[ Session started on 07/17/2007 02:44:45 ]-----
+-----[ Session started on 07/17/2007 02:48:23 ]-----
+-----[ Session started on 07/17/2007 02:49:16 ]-----
+Exception in thread "ClientThread" java.lang.StringIndexOutOfBoundsException: String index out of range: -1
+	at java.lang.String.substring(Unknown Source)
+	at ClientThread.processMessage(ClientThread.java:100)
+	at Connection.run(Connection.java:122)
+-----[ Session started on 07/17/2007 02:53:04 ]-----
+-----[ Session started on 07/17/2007 03:03:22 ]-----
+-----[ Session started on 07/17/2007 03:39:06 ]-----
+java.lang.NullPointerException
+	at LostHavenClient.drawCreateAccount(LostHavenClient.java:541)
+	at LostHavenClient.render(LostHavenClient.java:436)
+	at LostHavenClient.<init>(LostHavenClient.java:111)
+	at LostHavenClient.main(LostHavenClient.java:937)
+-----[ Session started on 07/17/2007 03:39:29 ]-----
+-----[ Session started on 07/17/2007 03:41:07 ]-----
+-----[ Session started on 07/17/2007 03:41:41 ]-----
+-----[ Session started on 07/17/2007 03:42:06 ]-----
+-----[ Session started on 07/17/2007 03:42:48 ]-----
+-----[ Session started on 07/17/2007 03:43:15 ]-----
+Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException: disposed component
+	at sun.java2d.windows.Win32SurfaceData.initOps(Native Method)
+	at sun.java2d.windows.Win32SurfaceData.<init>(Unknown Source)
+	at sun.java2d.windows.Win32SurfaceData.createData(Unknown Source)
+	at sun.awt.Win32GraphicsConfig.createSurfaceData(Unknown Source)
+	at sun.awt.windows.WComponentPeer.replaceSurfaceData(Unknown Source)
+	at sun.awt.windows.WComponentPeer.replaceSurfaceData(Unknown Source)
+	at sun.awt.windows.WComponentPeer.displayChanged(Unknown Source)
+	at sun.awt.windows.WCanvasPeer.displayChanged(Unknown Source)
+	at sun.awt.windows.WPanelPeer.displayChanged(Unknown Source)
+	at sun.awt.windows.WWindowPeer.displayChanged(Unknown Source)
+	at sun.awt.SunDisplayChanger.notifyListeners(Unknown Source)
+	at sun.awt.Win32GraphicsDevice.displayChanged(Unknown Source)
+	at sun.java2d.SunGraphicsEnvironment.displayChanged(Unknown Source)
+	at sun.awt.Win32GraphicsEnvironment.displayChanged(Unknown Source)
+	at sun.awt.windows.WToolkit$4.run(Unknown Source)
+	at java.awt.event.InvocationEvent.dispatch(Unknown Source)
+	at java.awt.EventQueue.dispatchEvent(Unknown Source)
+	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
+	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
+	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
+	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
+	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
+	at java.awt.EventDispatchThread.run(Unknown Source)
+-----[ Session started on 07/17/2007 06:09:02 ]-----
+-----[ Session started on 07/17/2007 06:36:36 ]-----
+-----[ Session started on 07/17/2007 06:38:12 ]-----
+-----[ Session started on 07/17/2007 06:41:42 ]-----
+Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
+	at LostHavenClient.mousePressed(LostHavenClient.java:815)
+	at java.awt.Component.processMouseEvent(Unknown Source)
+	at java.awt.Component.processEvent(Unknown Source)
+	at java.awt.Container.processEvent(Unknown Source)
+	at java.awt.Window.processEvent(Unknown Source)
+	at java.awt.Component.dispatchEventImpl(Unknown Source)
+	at java.awt.Container.dispatchEventImpl(Unknown Source)
+	at java.awt.Window.dispatchEventImpl(Unknown Source)
+	at java.awt.Component.dispatchEvent(Unknown Source)
+	at java.awt.EventQueue.dispatchEvent(Unknown Source)
+	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
+	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
+	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
+	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
+	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
+	at java.awt.EventDispatchThread.run(Unknown Source)
+Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
+	at LostHavenClient.mousePressed(LostHavenClient.java:815)
+	at java.awt.Component.processMouseEvent(Unknown Source)
+	at java.awt.Component.processEvent(Unknown Source)
+	at java.awt.Container.processEvent(Unknown Source)
+	at java.awt.Window.processEvent(Unknown Source)
+	at java.awt.Component.dispatchEventImpl(Unknown Source)
+	at java.awt.Container.dispatchEventImpl(Unknown Source)
+	at java.awt.Window.dispatchEventImpl(Unknown Source)
+	at java.awt.Component.dispatchEvent(Unknown Source)
+	at java.awt.EventQueue.dispatchEvent(Unknown Source)
+	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
+	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
+	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
+	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
+	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
+	at java.awt.EventDispatchThread.run(Unknown Source)
+Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
+	at LostHavenClient.mousePressed(LostHavenClient.java:815)
+	at java.awt.Component.processMouseEvent(Unknown Source)
+	at java.awt.Component.processEvent(Unknown Source)
+	at java.awt.Container.processEvent(Unknown Source)
+	at java.awt.Window.processEvent(Unknown Source)
+	at java.awt.Component.dispatchEventImpl(Unknown Source)
+	at java.awt.Container.dispatchEventImpl(Unknown Source)
+	at java.awt.Window.dispatchEventImpl(Unknown Source)
+	at java.awt.Component.dispatchEvent(Unknown Source)
+	at java.awt.EventQueue.dispatchEvent(Unknown Source)
+	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
+	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
+	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
+	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
+	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
+	at java.awt.EventDispatchThread.run(Unknown Source)
+Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
+	at LostHavenClient.mousePressed(LostHavenClient.java:815)
+	at java.awt.Component.processMouseEvent(Unknown Source)
+	at java.awt.Component.processEvent(Unknown Source)
+	at java.awt.Container.processEvent(Unknown Source)
+	at java.awt.Window.processEvent(Unknown Source)
+	at java.awt.Component.dispatchEventImpl(Unknown Source)
+	at java.awt.Container.dispatchEventImpl(Unknown Source)
+	at java.awt.Window.dispatchEventImpl(Unknown Source)
+	at java.awt.Component.dispatchEvent(Unknown Source)
+	at java.awt.EventQueue.dispatchEvent(Unknown Source)
+	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
+	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
+	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
+	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
+	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
+	at java.awt.EventDispatchThread.run(Unknown Source)
+Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
+	at LostHavenClient.mousePressed(LostHavenClient.java:815)
+	at java.awt.Component.processMouseEvent(Unknown Source)
+	at java.awt.Component.processEvent(Unknown Source)
+	at java.awt.Container.processEvent(Unknown Source)
+	at java.awt.Window.processEvent(Unknown Source)
+	at java.awt.Component.dispatchEventImpl(Unknown Source)
+	at java.awt.Container.dispatchEventImpl(Unknown Source)
+	at java.awt.Window.dispatchEventImpl(Unknown Source)
+	at java.awt.Component.dispatchEvent(Unknown Source)
+	at java.awt.EventQueue.dispatchEvent(Unknown Source)
+	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
+	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
+	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
+	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
+	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
+	at java.awt.EventDispatchThread.run(Unknown Source)
+-----[ Session started on 07/17/2007 06:42:59 ]-----
+-----[ Session started on 07/17/2007 06:49:03 ]-----
+-----[ Session started on 07/17/2007 06:52:22 ]-----
+-----[ Session started on 07/19/2007 01:03:52 ]-----
+-----[ Session started on 07/19/2007 01:05:10 ]-----
+-----[ Session started on 07/19/2007 01:06:00 ]-----
+-----[ Session started on 07/19/2007 01:06:28 ]-----
+-----[ Session started on 07/19/2007 01:18:24 ]-----
+-----[ Session started on 07/19/2007 01:19:29 ]-----
+-----[ Session started on 07/19/2007 01:19:41 ]-----
+-----[ Session started on 07/19/2007 01:36:34 ]-----
+java.util.NoSuchElementException
+	at java.util.LinkedList.remove(Unknown Source)
+	at java.util.LinkedList.removeFirst(Unknown Source)
+	at java.util.LinkedList.poll(Unknown Source)
+	at LostHavenClient.<init>(LostHavenClient.java:122)
+	at LostHavenClient.main(LostHavenClient.java:956)
+-----[ Session started on 07/19/2007 01:38:53 ]-----
+-----[ Session started on 07/19/2007 01:39:42 ]-----
+-----[ Session started on 07/19/2007 01:40:37 ]-----
+-----[ Session started on 07/19/2007 01:41:19 ]-----
+java.lang.IllegalArgumentException: Width (0) and height (0) cannot be <= 0
+	at java.awt.image.DirectColorModel.createCompatibleWritableRaster(Unknown Source)
+	at sun.awt.image.SunVolatileImage.getBackupImage(Unknown Source)
+	at sun.awt.image.VolatileSurfaceManager.getBackupSurface(Unknown Source)
+	at sun.awt.image.VolatileSurfaceManager.initialize(Unknown Source)
+	at sun.awt.image.SunVolatileImage.<init>(Unknown Source)
+	at sun.awt.image.SunVolatileImage.<init>(Unknown Source)
+	at sun.awt.image.SunVolatileImage.<init>(Unknown Source)
+	at sun.java2d.windows.WinBackBuffer.<init>(Unknown Source)
+	at sun.awt.Win32GraphicsConfig.createBackBuffer(Unknown Source)
+	at sun.awt.windows.WComponentPeer.replaceSurfaceData(Unknown Source)
+	at sun.awt.windows.WComponentPeer.replaceSurfaceData(Unknown Source)
+	at sun.awt.windows.WComponentPeer.setBounds(Unknown Source)
+	at java.awt.Component.reshapeNativePeer(Unknown Source)
+	at java.awt.Component.reshape(Unknown Source)
+	at java.awt.Window.reshape(Unknown Source)
+	at java.awt.Component.setBounds(Unknown Source)
+	at java.awt.Window.setBounds(Unknown Source)
+	at java.awt.Window.setBounds(Unknown Source)
+	at java.awt.GraphicsDevice.setFullScreenWindow(Unknown Source)
+	at sun.awt.Win32GraphicsDevice.setFullScreenWindow(Unknown Source)
+	at LostHavenClient.<init>(LostHavenClient.java:142)
+	at LostHavenClient.main(LostHavenClient.java:960)
+Exception in thread "AWT-EventQueue-0" java.lang.InternalError: Message not posted, native event queue may be full.
+	at sun.awt.windows.WComponentPeer.nativeHandleEvent(Native Method)
+	at sun.awt.windows.WComponentPeer.handleEvent(Unknown Source)
+	at java.awt.Component.dispatchEventImpl(Unknown Source)
+	at java.awt.Container.dispatchEventImpl(Unknown Source)
+	at java.awt.Window.dispatchEventImpl(Unknown Source)
+	at java.awt.Component.dispatchEvent(Unknown Source)
+	at java.awt.EventQueue.dispatchEvent(Unknown Source)
+	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
+	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
+	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
+	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
+	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
+	at java.awt.EventDispatchThread.run(Unknown Source)
+-----[ Session started on 07/19/2007 01:43:13 ]-----
+-----[ Session started on 07/19/2007 13:51:09 ]-----
+-----[ Session started on 07/19/2007 13:59:05 ]-----
+-----[ Session started on 07/19/2007 14:01:27 ]-----
+-----[ Session started on 07/19/2007 15:43:32 ]-----
+-----[ Session started on 07/19/2007 15:44:03 ]-----
+-----[ Session started on 07/19/2007 15:48:48 ]-----
+-----[ Session started on 07/19/2007 15:51:19 ]-----
+-----[ Session started on 07/19/2007 15:51:43 ]-----
+-----[ Session started on 07/19/2007 15:57:13 ]-----
+java.lang.NullPointerException
+	at ClientThread.handleMessage(ClientThread.java:132)
+	at LostHavenClient.<init>(LostHavenClient.java:124)
+	at LostHavenClient.main(LostHavenClient.java:963)
+-----[ Session started on 07/19/2007 18:46:34 ]-----
+-----[ Session started on 07/19/2007 19:16:23 ]-----
+-----[ Session started on 07/19/2007 19:16:56 ]-----
+-----[ Session started on 07/19/2007 19:17:25 ]-----
+java.lang.ArrayIndexOutOfBoundsException: -4
+	at Map.getLoc(Map.java:59)
+	at LostHavenClient.drawMap(LostHavenClient.java:607)
+	at LostHavenClient.render(LostHavenClient.java:470)
+	at LostHavenClient.<init>(LostHavenClient.java:124)
+	at LostHavenClient.main(LostHavenClient.java:960)
+-----[ Session started on 07/19/2007 19:20:52 ]-----
+java.lang.ArrayIndexOutOfBoundsException: -4
+	at Map.getLoc(Map.java:59)
+	at LostHavenClient.drawMap(LostHavenClient.java:620)
+	at LostHavenClient.render(LostHavenClient.java:470)
+	at LostHavenClient.<init>(LostHavenClient.java:124)
+	at LostHavenClient.main(LostHavenClient.java:973)
+-----[ Session started on 07/19/2007 19:21:59 ]-----
+-----[ Session started on 07/19/2007 19:23:05 ]-----
+-----[ Session started on 07/19/2007 19:23:15 ]-----
+java.lang.NullPointerException
+	at ClientThread.handleMessage(ClientThread.java:132)
+	at LostHavenClient.<init>(LostHavenClient.java:118)
+	at LostHavenClient.main(LostHavenClient.java:973)
+-----[ Session started on 07/19/2007 21:31:09 ]-----
+-----[ Session started on 07/19/2007 21:31:42 ]-----
+-----[ Session started on 07/19/2007 21:34:16 ]-----
+-----[ Session started on 07/19/2007 21:34:39 ]-----
+-----[ Session started on 07/19/2007 22:18:02 ]-----
+-----[ Session started on 07/19/2007 22:19:49 ]-----
+-----[ Session started on 07/19/2007 22:20:49 ]-----
+-----[ Session started on 07/19/2007 22:23:43 ]-----
+-----[ Session started on 07/19/2007 22:24:38 ]-----
+-----[ Session started on 07/19/2007 22:27:06 ]-----
+-----[ Session started on 07/19/2007 22:27:28 ]-----
+java.lang.ArrayIndexOutOfBoundsException: -4
+	at Map.getLoc(Map.java:59)
+	at LostHavenClient.drawMap(LostHavenClient.java:601)
+	at LostHavenClient.render(LostHavenClient.java:462)
+	at LostHavenClient.<init>(LostHavenClient.java:116)
+	at LostHavenClient.main(LostHavenClient.java:954)
+-----[ Session started on 07/19/2007 22:28:56 ]-----
+-----[ Session started on 07/19/2007 22:31:06 ]-----
+-----[ Session started on 07/21/2007 13:04:59 ]-----
+-----[ Session started on 07/21/2007 13:09:19 ]-----
+-----[ Session started on 07/21/2007 13:09:43 ]-----
+java.lang.ArrayIndexOutOfBoundsException: 30
+	at Map.getLoc(Map.java:59)
+	at LostHavenClient.drawMap(LostHavenClient.java:602)
+	at LostHavenClient.render(LostHavenClient.java:458)
+	at LostHavenClient.<init>(LostHavenClient.java:112)
+	at LostHavenClient.main(LostHavenClient.java:955)
+-----[ Session started on 07/21/2007 13:18:59 ]-----
+java.lang.ArrayIndexOutOfBoundsException: 30
+	at Map.getLoc(Map.java:59)
+	at LostHavenClient.drawMap(LostHavenClient.java:606)
+	at LostHavenClient.render(LostHavenClient.java:455)
+	at LostHavenClient.<init>(LostHavenClient.java:109)
+	at LostHavenClient.main(LostHavenClient.java:959)
+-----[ Session started on 07/21/2007 13:20:50 ]-----
+-----[ Session started on 07/21/2007 13:33:21 ]-----
+-----[ Session started on 07/21/2007 13:34:07 ]-----
+-----[ Session started on 07/21/2007 13:40:45 ]-----
+-----[ Session started on 07/31/2007 12:59:05 ]-----
+-----[ Session started on 08/07/2007 18:32:33 ]-----
+-----[ Session started on 08/19/2007 17:38:01 ]-----
+-----[ Session started on 08/27/2007 18:50:53 ]-----
