Index: src/com/medievaltech/advancewars/Game.java
===================================================================
--- src/com/medievaltech/advancewars/Game.java	(revision 379005b098510fbba83457f758bd80713406b8a5)
+++ src/com/medievaltech/advancewars/Game.java	(revision b66001710128bab2f536743779ea815c7c5cb081)
@@ -99,22 +99,9 @@
         if (savedInstanceState == null) {	// we were just launched: set up a new game
         	Log.w("AdvanceWars", "SIS is null");
-        	
-        	mThread.setState(AppState.RUNNING);
         } else {
             Log.w("AdvanceWars", "SIS is nonnull");
             
-            mThread.setState(AppState.RUNNING);
-            
             mGameView.getThread().mGameState = (GameState)savedInstanceState.getSerializable("gameState");
         }
-    }
-
-    /**
-     * Invoked when the Activity loses user focus.
-     */
-    @Override
-    protected void onPause() {
-        super.onPause();
-        mGameView.getThread().pause(); // pause game when Activity pauses
     }
 
Index: src/com/medievaltech/advancewars/GameView.java
===================================================================
--- src/com/medievaltech/advancewars/GameView.java	(revision 379005b098510fbba83457f758bd80713406b8a5)
+++ src/com/medievaltech/advancewars/GameView.java	(revision b66001710128bab2f536743779ea815c7c5cb081)
@@ -18,5 +18,4 @@
 	
     class DrawingThread extends Thread {        
-        public AppState mAppState;
         public GameState mGameState;
 
@@ -28,10 +27,4 @@
         private int mCanvasWidth = 1;
 
-        /** Message handler used by thread to interact with TextView */
-        private Handler mHandler;
-
-        /** Used to figure out elapsed time between frames */
-        private long mLastTime;
-
         /** Paint to draw the lines on screen. */
         private Paint mLinePaint, mTextPaint, mButtonPaint, mTilePaint1, mTilePaint2, mSelectionPaint,
@@ -53,7 +46,5 @@
         
         public DrawingThread(SurfaceHolder surfaceHolder, Context context, Handler handler) {
-            // get handles to some important objects
             mSurfaceHolder = surfaceHolder;
-            mHandler = handler;
             
             mLinePaint = new Paint();
@@ -126,17 +117,6 @@
         public void doStart() {
             synchronized (mSurfaceHolder) {
-                mLastTime = System.currentTimeMillis() + 100;
-                setState(AppState.RUNNING);
                 Log.i("AdvanceWars", "Player's turn starting now");
                 mGameState = GameState.MAIN_MENU;
-            }
-        }
-
-        /**
-         * Pauses the physics update & animation.
-         */
-        public void pause() {
-            synchronized (mSurfaceHolder) {
-                if (mAppState == AppState.RUNNING) setState(AppState.PAUSE);
             }
         }
@@ -149,6 +129,4 @@
                     c = mSurfaceHolder.lockCanvas(null);
                     synchronized(mSurfaceHolder) {
-                        if(mAppState == AppState.RUNNING)
-                        	updatePhysics();
                         doDraw(c);
                     }
@@ -175,65 +153,8 @@
             mRun = b;
         }
-
-        /**
-         * Sets the game mode. That is, whether we are running, paused, in the
-         * failure state, in the victory state, etc.
-         * 
-         * @see #setState(int, CharSequence)
-         * @param mode one of the STATE_* constants
-         */
-        public void setState(AppState state) {
-            synchronized (mSurfaceHolder) {
-                setState(state, null);
-            }
-        }
         
         public void setGameState(GameState state) {
             synchronized (mSurfaceHolder) {
                 mGameState = state;
-            }
-        }
-
-        /**
-         * Sets the game mode. That is, whether we are running, paused, in the
-         * failure state, in the victory state, etc.
-         * 
-         * @param mode one of the STATE_* constants
-         * @param message string to add to screen or null
-         */
-        public void setState(AppState mode, CharSequence message) {
-            /*
-             * This method optionally can cause a text message to be displayed
-             * to the user when the mode changes. Since the View that actually
-             * renders that text is part of the main View hierarchy and not
-             * owned by this thread, we can't touch the state of that View.
-             * Instead we use a Message + Handler to relay commands to the main
-             * thread, which updates the user-text View.
-             */
-            synchronized (mSurfaceHolder) {
-            	mAppState = mode;
-
-                if (mAppState == AppState.RUNNING) {
-                    Message msg = mHandler.obtainMessage();
-                    Bundle b = new Bundle();
-                    b.putString("text", "");
-                    b.putInt("viz", GameView.INVISIBLE);
-                    msg.setData(b);
-                    mHandler.sendMessage(msg);
-                } else {
-                    CharSequence str = "";
-                    str = "Mode probably changed";
-
-                    if (message != null) {
-                        str = message + "\n" + str;
-                    }
-
-                    Message msg = mHandler.obtainMessage();
-                    Bundle b = new Bundle();
-                    b.putString("text", str.toString());
-                    b.putInt("viz", GameView.VISIBLE);
-                    msg.setData(b);
-                    //mHandler.sendMessage(msg);
-                }
             }
         }
@@ -248,73 +169,4 @@
                 Log.i("AdvanceWars", "width: "+mCanvasWidth+", height: "+mCanvasHeight);
             }
-        }
-
-        /**
-         * Resumes from a pause.
-         */
-        public void unpause() {
-            // Move the real time clock up to now
-            synchronized (mSurfaceHolder) {
-                mLastTime = System.currentTimeMillis() + 100;
-            }
-            setState(AppState.RUNNING);
-        }
-
-        /**
-         * Handles a key-down event.
-         * 
-         * @param keyCode the key that was pressed
-         * @param msg the original event object
-         * @return true
-         */
-        boolean doKeyDown(int keyCode, KeyEvent msg) {
-            synchronized (mSurfaceHolder) {
-                boolean okStart = false;
-                if (keyCode == KeyEvent.KEYCODE_DPAD_UP) okStart = true;
-                if (keyCode == KeyEvent.KEYCODE_DPAD_DOWN) okStart = true;
-                if (keyCode == KeyEvent.KEYCODE_S) okStart = true;
-
-                if (okStart
-                        && (mAppState == AppState.READY || mAppState == AppState.LOSE || mAppState == AppState.WIN)) {
-                    // ready-to-start -> start
-                    doStart();
-                    return true;
-                } else if (mAppState == AppState.PAUSE && okStart) {
-                    // paused -> running
-                    unpause();
-                    return true;
-                } else if (mAppState == AppState.RUNNING) {
-                    return true;
-                }
-
-                return false;
-            }
-        }
-
-        /**
-         * Handles a key-up event.
-         * 
-         * @param keyCode the key that was pressed
-         * @param msg the original event object
-         * @return true if the key was handled and consumed, or else false
-         */
-        boolean doKeyUp(int keyCode, KeyEvent msg) {
-            boolean handled = false;
-
-            synchronized (mSurfaceHolder) {
-                if (mAppState == AppState.RUNNING) {
-                    if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER
-                            || keyCode == KeyEvent.KEYCODE_SPACE) {
-                        handled = true;
-                    } else if (keyCode == KeyEvent.KEYCODE_DPAD_LEFT
-                            || keyCode == KeyEvent.KEYCODE_Q
-                            || keyCode == KeyEvent.KEYCODE_DPAD_RIGHT
-                            || keyCode == KeyEvent.KEYCODE_W) {
-                        handled = true;
-                    }
-                }
-            }
-
-            return handled;
         }
 
@@ -345,22 +197,4 @@
         		break;
         	}
-        }
-
-        /**
-         * Figures the lander state (x, y, fuel, ...) based on the passage of
-         * realtime. Does not invalidate(). Called at the start of draw().
-         * Detects the end-of-game and sets the UI to the next state.
-         */
-        private void updatePhysics() {
-            long now = System.currentTimeMillis();
-
-            // Do nothing if mLastTime is in the future.
-            // This allows the game-start to delay the start of the physics
-            // by 100ms or whatever.
-            if (mLastTime > now) return;
-            
-            // DO SHIT HERE
-
-            mLastTime = now+50;
         }
     }
@@ -491,30 +325,4 @@
 
     /**
-     * Standard override to get key-press events.
-     */
-    @Override
-    public boolean onKeyDown(int keyCode, KeyEvent msg) {
-        return thread.doKeyDown(keyCode, msg);
-    }
-
-    /**
-     * Standard override for key-up. We actually care about these, so we can
-     * turn off the engine or stop rotating.
-     */
-    @Override
-    public boolean onKeyUp(int keyCode, KeyEvent msg) {
-        return thread.doKeyUp(keyCode, msg);
-    }
-
-    /**
-     * Standard window-focus override. Notice focus lost so we can pause on
-     * focus lost. e.g. user switches to take a call.
-     */
-    @Override
-    public void onWindowFocusChanged(boolean hasWindowFocus) {
-        if (!hasWindowFocus) thread.pause();
-    }
-
-    /**
      * Installs a pointer to the text view used for messages.
      */
@@ -534,12 +342,6 @@
      */
     public void surfaceCreated(SurfaceHolder holder) {
-        // start the thread here so that we don't busy-wait in run()
-        // waiting for the surface to be created
         thread.setRunning(true);
-        
-        //if(thread.mAppState == AppState.PAUSE)
-        	//thread.unpause();
-        //else
-        	thread.start();
+        thread.start();
     }
 
