From 5e51ef0fd1faa62b8bb13d399921d1203238f884 Mon Sep 17 00:00:00 2001
From: Rtch90 <ritchie.cunningham@protonmail.com>
Date: Tue, 13 Dec 2011 23:27:34 +0000
Subject: [PATCH] Refactored the maps a little so we do not render the part of
 the map that is off-screen.

---
 Data/Media/Maps/TestLevel | 35 ++++++++++++++++++-----------------
 Data/Media/Maps/mainmenu  | 13 -------------
 README                    |  2 --
 Unuk-QT/Makefile          | 17 +++++++----------
 src/Unuk/Game.cpp         | 30 ++++++++++++------------------
 src/Unuk/Game.h           |  4 ++--
 src/libUnuk/Character.cpp |  4 ++--
 src/libUnuk/MainMenu.cpp  |  7 +++----
 src/libUnuk/MainMenu.h    |  2 +-
 src/libUnuk/Map.cpp       | 31 ++++++++++++++++++-------------
 src/libUnuk/Map.h         |  4 ++--
 src/libUnuk/MapTile.h     |  4 ++--
 12 files changed, 67 insertions(+), 86 deletions(-)
 delete mode 100644 Data/Media/Maps/mainmenu

diff --git a/Data/Media/Maps/TestLevel b/Data/Media/Maps/TestLevel
index 9cf587a..2a162f4 100644
--- a/Data/Media/Maps/TestLevel
+++ b/Data/Media/Maps/TestLevel
@@ -1,17 +1,18 @@
-grass 1 n 0 100 n 0 0 rock 0 n 0 100 mainmenu 200 200 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 1 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 
-grass 1 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 1 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 
-grass 1 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 1 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 
-grass 1 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 1 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 
-grass 1 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 mud 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 1 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 
-grass 1 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 gravel 0 n 0 100 n 0 0 ice 0 tree 1 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 1 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 
-grass 1 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 1 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 
-grass 1 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 1 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 
-grass 1 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 1 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 
-grass 1 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 1 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 
-grass 1 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 1 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 
-grass 1 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 1 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 
-grass 1 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 1 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 
-grass 1 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 1 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 
-grass 1 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 1 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 
-grass 1 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 1 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 
-grass 1 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 1 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 
+grass 0 n 0 100 n 0 0 rock 0 n 0 100 MainMenu 200 200 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0
+grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0
+grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0
+grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0
+grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0
+grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0
+grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0
+grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0
+grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0
+grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0
+grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0
+grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0
+grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0
+grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0
+grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0
+grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0
+grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0
+grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 grass 0 n 0 100 n 0 0 rock 0 n 0 100 n 0 0 
diff --git a/Data/Media/Maps/mainmenu b/Data/Media/Maps/mainmenu
deleted file mode 100644
index 905bd3e..0000000
--- a/Data/Media/Maps/mainmenu
+++ /dev/null
@@ -1,13 +0,0 @@
-rock 1 n 0 000 n 0 0	rock 1 n 0 000 n 0 0	rock 1 n 0 000 n 0 0	rock 1 n 0 000 n 0 0	rock 1 n 0 000 n 0 0	rock 1 n 0 000 n 0 0	gravel 0 n 0 000 n 0 0	rock 1 n 0 000 n 0 0	rock 1 n 0 000 n 0 0	rock 1 n 0 000 n 0 0	rock 1 n 0 000 n 0 0	rock 1 n 0 000 n 0 0	rock 1 n 0 000 n 0 0	rock 1 n 0 000 n 0 0	rock 1 n 0 000 n 0 0	rock 1 n 0 000 n 0 0	rock 1 n 0 000 n 0 0	rock 1 n 0 000 n 0 0	rock 1 n 0 000 n 0 0	rock 1 n 0 000 n 0 0	
-rock 1 n 0 000 n 0 0	rock 1 n 0 000 n 0 0	rock 1 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	gravel 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	rock 1 n 0 000 n 0 0	rock 1 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	rock 1 n 0 000 n 0 0	rock 1 n 0 000 n 0 0	rock 1 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	
-rock 1 n 0 000 n 0 0	rock 1 n 0 000 n 0 0	rock 1 n 0 000 n 0 0	grass 0 tree 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	gravel 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	rock 1 n 0 000 n 0 0	rock 1 n 0 000 n 0 0	rock 1 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	gravel 0 n 0 000 n 0 0	gravel 0 n 0 000 n 0 0	gravel 0 n 0 000 n 0 0	
-rock 1 n 0 000 n 0 0	rock 1 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	gravel 0 n 0 000 n 0 0	gravel 0 n 0 000 n 0 0	gravel 0 n 0 000 n 0 0	gravel 0 n 0 000 n 0 0	gravel 0 n 0 000 n 0 0	gravel 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	rock 1 n 0 000 n 0 0	rock 1 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	gravel 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	
-rock 1 n 0 000 n 0 0	rock 1 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	gravel 0 n 0 000 n 0 0	gravel 0 n 0 000 n 0 0	gravel 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	gravel 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	gravel 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	
-rock 1 n 0 000 n 0 0	rock 1 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	gravel 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	water 1 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	gravel 0 n 0 000 n 0 0	gravel 0 n 0 000 n 0 0	gravel 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	gravel 0 n 0 000 n 0 0	gravel 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	
-rock 1 n 0 000 n 0 0	rock 1 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	gravel 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	water 1 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	water 1 n 0 000 n 0 0	water 1 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	gravel 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	gravel 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	
-rock 1 n 0 000 n 0 0	rock 1 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	gravel 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	water 1 n 0 000 n 0 0	water 1 n 0 000 n 0 0	water 1 n 0 000 n 0 0	water 1 n 0 000 n 0 0	water 1 n 0 000 n 0 0	water 1 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	gravel 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	gravel 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	
-rock 1 n 0 000 n 0 0	rock 1 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	gravel 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	water 1 n 0 000 n 0 0	water 1 n 0 000 n 0 0	water 1 n 0 000 n 0 0	water 1 n 0 000 n 0 0	water 1 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	gravel 0 n 0 000 n 0 0	gravel 0 n 0 000 n 0 0	gravel 0 n 0 000 n 0 0	gravel 0 n 0 000 n 0 0	gravel 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	
-rock 1 n 0 000 n 0 0	rock 1 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	gravel 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	water 1 n 0 000 n 0 0	water 1 n 0 000 n 0 0	water 1 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	
-rock 1 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	gravel 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	water 1 n 0 000 n 0 0	water 1 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	
-rock 1 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	gravel 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	water 1 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	
-grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	gravel 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	grass 0 n 0 000 n 0 0	
diff --git a/README b/README
index 58367d7..d089163 100644
--- a/README
+++ b/README
@@ -14,8 +14,6 @@ for a portfolio piece. I will place this under the GPL licence.
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 TODO:
 
-Take the camera into account so we do not draw things off screen.
-
 *Menu:
 ~~~~~
 - New Game
diff --git a/Unuk-QT/Makefile b/Unuk-QT/Makefile
index 3c068d0..6bf4200 100644
--- a/Unuk-QT/Makefile
+++ b/Unuk-QT/Makefile
@@ -1,6 +1,6 @@
 #############################################################################
 # Makefile for building: Unuk-QT
-# Generated by qmake (2.01a) (Qt 4.7.4) on: Tue Dec 13 01:27:36 2011
+# Generated by qmake (2.01a) (Qt 4.7.3) on: Tue Dec 13 22:04:29 2011
 # Project:  Unuk-QT.pro
 # Template: app
 # Command: /usr/bin/qmake-qt4 -spec /usr/share/qt4/mkspecs/linux-g++ CONFIG+=debug -o Makefile Unuk-QT.pro
@@ -10,13 +10,13 @@
 
 CC            = gcc
 CXX           = g++
-DEFINES       = -DQT_WEBKIT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED
+DEFINES       = -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED
 CFLAGS        = -pipe -g -Wall -W -D_REENTRANT $(DEFINES)
 CXXFLAGS      = -pipe -g -Wall -W -D_REENTRANT $(DEFINES)
 INCPATH       = -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I.
 LINK          = g++
 LFLAGS        = 
-LIBS          = $(SUBLIBS)  -L/usr/lib/i386-linux-gnu -lGL -lSDL -lSDL_ttf -lSDL_image -lGLU -lQtGui -lQtCore -lpthread 
+LIBS          = $(SUBLIBS)  -L/usr/lib -lGL -lSDL -lSDL_ttf -lSDL_image -lGLU -lQtGui -lQtCore -lpthread 
 AR            = ar cqs
 RANLIB        = 
 QMAKE         = /usr/bin/qmake-qt4
@@ -95,7 +95,6 @@ DIST          = /usr/share/qt4/mkspecs/common/g++.conf \
 		/usr/share/qt4/mkspecs/common/unix.conf \
 		/usr/share/qt4/mkspecs/common/linux.conf \
 		/usr/share/qt4/mkspecs/qconfig.pri \
-		/usr/share/qt4/mkspecs/modules/qt_webkit_version.pri \
 		/usr/share/qt4/mkspecs/features/qt_functions.prf \
 		/usr/share/qt4/mkspecs/features/qt_config.prf \
 		/usr/share/qt4/mkspecs/features/exclusive_builds.prf \
@@ -147,7 +146,6 @@ Makefile: Unuk-QT.pro  /usr/share/qt4/mkspecs/linux-g++/qmake.conf /usr/share/qt
 		/usr/share/qt4/mkspecs/common/unix.conf \
 		/usr/share/qt4/mkspecs/common/linux.conf \
 		/usr/share/qt4/mkspecs/qconfig.pri \
-		/usr/share/qt4/mkspecs/modules/qt_webkit_version.pri \
 		/usr/share/qt4/mkspecs/features/qt_functions.prf \
 		/usr/share/qt4/mkspecs/features/qt_config.prf \
 		/usr/share/qt4/mkspecs/features/exclusive_builds.prf \
@@ -163,14 +161,13 @@ Makefile: Unuk-QT.pro  /usr/share/qt4/mkspecs/linux-g++/qmake.conf /usr/share/qt
 		/usr/share/qt4/mkspecs/features/yacc.prf \
 		/usr/share/qt4/mkspecs/features/lex.prf \
 		/usr/share/qt4/mkspecs/features/include_source_dir.prf \
-		/usr/lib/i386-linux-gnu/libQtGui.prl \
-		/usr/lib/i386-linux-gnu/libQtCore.prl
+		/usr/lib/libQtGui.prl \
+		/usr/lib/libQtCore.prl
 	$(QMAKE) -spec /usr/share/qt4/mkspecs/linux-g++ CONFIG+=debug -o Makefile Unuk-QT.pro
 /usr/share/qt4/mkspecs/common/g++.conf:
 /usr/share/qt4/mkspecs/common/unix.conf:
 /usr/share/qt4/mkspecs/common/linux.conf:
 /usr/share/qt4/mkspecs/qconfig.pri:
-/usr/share/qt4/mkspecs/modules/qt_webkit_version.pri:
 /usr/share/qt4/mkspecs/features/qt_functions.prf:
 /usr/share/qt4/mkspecs/features/qt_config.prf:
 /usr/share/qt4/mkspecs/features/exclusive_builds.prf:
@@ -186,8 +183,8 @@ Makefile: Unuk-QT.pro  /usr/share/qt4/mkspecs/linux-g++/qmake.conf /usr/share/qt
 /usr/share/qt4/mkspecs/features/yacc.prf:
 /usr/share/qt4/mkspecs/features/lex.prf:
 /usr/share/qt4/mkspecs/features/include_source_dir.prf:
-/usr/lib/i386-linux-gnu/libQtGui.prl:
-/usr/lib/i386-linux-gnu/libQtCore.prl:
+/usr/lib/libQtGui.prl:
+/usr/lib/libQtCore.prl:
 qmake:  FORCE
 	@$(QMAKE) -spec /usr/share/qt4/mkspecs/linux-g++ CONFIG+=debug -o Makefile Unuk-QT.pro
 
diff --git a/src/Unuk/Game.cpp b/src/Unuk/Game.cpp
index 67a10e9..b75cf2b 100644
--- a/src/Unuk/Game.cpp
+++ b/src/Unuk/Game.cpp
@@ -1,19 +1,13 @@
 #include "Game.h"
 
 Game::Game(void) {
-  m_map = new Map;
-  m_ingameMenu = new IngameMenu;
-
-  m_player = new Player(m_map);
-  m_npc = new NPC(m_map);
+  m_player = new Player(&m_map);
+  m_npc = new NPC(&m_map);
 
   m_runGameReturnValue = GAME_RETURN_TO_MMENU;
 }
 
 Game::~Game(void) {
-  delete m_map;
-  delete m_ingameMenu;
-
   delete m_player;
   delete m_npc;
 }
@@ -101,13 +95,13 @@ int Game::Run(const string savegameIDArg) {
 }
 
 void Game::HandleInput(void) {
-  if(m_ingameMenu->GetStatus() == false) {
+  if(m_ingameMenu.GetStatus() == false) {
     while(SDL_PollEvent(&event)) {
       m_player->HandleInput();
 
       if(event.key.type == SDL_KEYDOWN) {
         if(event.key.keysym.sym == SDLK_ESCAPE)
-          m_ingameMenu->SetStatus(true);
+          m_ingameMenu.SetStatus(true);
         if(event.key.keysym.sym == SDLK_p)
           debugEnabled = !debugEnabled;
       }
@@ -118,11 +112,11 @@ void Game::HandleInput(void) {
       }
     }
   } else {
-    switch(m_ingameMenu->HandleInput()) {
+    switch(m_ingameMenu.HandleInput()) {
     case INGAME_MENU_NOTHING:
       break;
     case INGAME_MENU_RESUME:
-      m_ingameMenu->SetStatus(false);
+      m_ingameMenu.SetStatus(false);
       break;
     case INGAME_MENU_SAVE_GAME:
       break;
@@ -137,14 +131,14 @@ void Game::HandleInput(void) {
 
     if(event.type == SDL_QUIT) {
       m_gameRunning = false;
-      m_ingameMenu->SetStatus(false);
+      m_ingameMenu.SetStatus(false);
       m_runGameReturnValue = GAME_QUIT_GAME;
     }
   }
 }
 
 void Game::UpdateGame(void) {
-  if(m_ingameMenu->GetStatus() == false) {
+  if(m_ingameMenu.GetStatus() == false) {
     m_player->Update();
     m_npc->Update();
   } else {
@@ -153,8 +147,8 @@ void Game::UpdateGame(void) {
 }
 
 void Game::Render(void) {
-  if(m_ingameMenu->GetStatus() == false) {
-    m_map->Render();
+  if(m_ingameMenu.GetStatus() == false) {
+    m_map.Render();
 
     m_player->Render();
     m_npc->Render();
@@ -165,7 +159,7 @@ void Game::Render(void) {
       m_playerXY.RenderLiteral();
     }
   } else {
-    m_ingameMenu->Render();
+    m_ingameMenu.Render();
   }
   SDL_Flip(screen);
   SDL_Flip(screen);
@@ -180,7 +174,7 @@ void Game::LoadSavegame(const string savegameIDArg) {
   assert(saveFile.is_open());
 
   // Read stuff.
-  m_map->Load("TestLevel");
+  m_map.Load("TestLevel");
 }
 
 void Game::SaveSavegame(void) {
diff --git a/src/Unuk/Game.h b/src/Unuk/Game.h
index 3c1ff86..15656e5 100644
--- a/src/Unuk/Game.h
+++ b/src/Unuk/Game.h
@@ -51,8 +51,8 @@ private:
   static const int GAME_UPDATES_PER_SECOND = 60;
   static const int SKIP_TICKS = 1000 / GAME_UPDATES_PER_SECOND;
 
-  IngameMenu* m_ingameMenu;
-  Map* m_map;
+  IngameMenu m_ingameMenu;
+  Map m_map;
 
   Player* m_player;
   NPC* m_npc;
diff --git a/src/libUnuk/Character.cpp b/src/libUnuk/Character.cpp
index 1aaffcf..a864cd9 100644
--- a/src/libUnuk/Character.cpp
+++ b/src/libUnuk/Character.cpp
@@ -116,8 +116,8 @@ void Character::Move(void) {
 }
 
 bool Character::CheckTileCollisions(void) {
-  for(int i = -1; i < 2; i++) {
-    for(int j = -1; j < 2; j++) {
+  for(int i = -2; i < 3; i++) {
+    for(int j = -2; j < 3; j++) {
       if(map->GetTileSolidity(tileX + i, tileY + j))
         if(CheckCollisionXY(x, y, w, h, map->GetTileX(tileX + i, tileY + j),
                             map->GetTileY(tileX + i, tileY + j), TILE_WIDTH, TILE_HEIGHT))
diff --git a/src/libUnuk/MainMenu.cpp b/src/libUnuk/MainMenu.cpp
index f84aaf5..fbbbdb6 100644
--- a/src/libUnuk/MainMenu.cpp
+++ b/src/libUnuk/MainMenu.cpp
@@ -49,15 +49,14 @@ MainMenu::MainMenu(void) {
   lblMenu.SetXY(100, 75);
   lblMenu.SetTextBlended("Unuk", "vlarge", 0, 0, 0);
 
-  m_background = new Map;
-  m_background->Load("MainMenu");
+  m_background.Load("MainMenu");
 
   camera.x = 0;
   camera.y = 0;
 }
 
 MainMenu::~MainMenu(void) {
-  delete m_background;
+
 }
 
 int MainMenu::HandleInput(void) {
@@ -99,7 +98,7 @@ int MainMenu::HandleInput(void) {
 }
 
 void MainMenu::Render(void) {
-  m_background->Render();
+  m_background.Render();
 
   lblMenu.Render();
 
diff --git a/src/libUnuk/MainMenu.h b/src/libUnuk/MainMenu.h
index a1185cb..db6ea94 100644
--- a/src/libUnuk/MainMenu.h
+++ b/src/libUnuk/MainMenu.h
@@ -21,7 +21,7 @@ public:
   void Render(void);
 
 private:
-  Map* m_background;
+  Map m_background;
 
   Text lblMenu;
 
diff --git a/src/libUnuk/Map.cpp b/src/libUnuk/Map.cpp
index fb6abe6..63565e3 100644
--- a/src/libUnuk/Map.cpp
+++ b/src/libUnuk/Map.cpp
@@ -1,14 +1,10 @@
 #include "Map.h"
 
 Map::Map(void) {
-  m_tileTextures = new TextureManager;
-  m_entityTextures = new TextureManager;
   //m_characters = CharacterManager;
 }
 
 Map::~Map(void) {
-  delete m_tileTextures;
-  delete m_entityTextures;
   //delete m_characters;
 }
 
@@ -30,9 +26,9 @@ void Map::Load(const string filename) {
     string tileName;
     while(iss >> tileName) {
       string fullTilePath = "../Data/Media/Images/Tiles/" + tileName + ".png";
-      m_tile[m_mapRows][m_mapColumns].SetTileTexture(m_tileTextures->Add(fullTilePath));
+      m_tile[m_mapRows][m_mapColumns].SetTileTexture(m_tileTextures.Add(fullTilePath));
 
-      // Read the file solidity.
+      // Read the tile solidity.
       bool tileSolidity;
       iss >> tileSolidity;
       m_tile[m_mapRows][m_mapColumns].SetTileSolidity(tileSolidity);
@@ -49,7 +45,7 @@ void Map::Load(const string filename) {
       } else {
         string entityPath = "../Data/Media/Images/Entities/" + entityName + ".png";
 
-        m_tile[m_mapRows][m_mapColumns].SetEntityTexture(m_entityTextures->AddAlpha(entityPath));
+        m_tile[m_mapRows][m_mapColumns].SetEntityTexture(m_entityTextures.AddAlpha(entityPath));
 
         // Set the entities x and y variables.
         m_tile[m_mapRows][m_mapColumns].SetEntityXY(
@@ -89,11 +85,20 @@ void Map::Load(const string filename) {
   //character->Load(filename);
 }
 
-// TODO: Take the camera into account so we do not
-// draw things off of screen.
 void Map::Render(void) {
-  for(int j = 1; j < m_mapRows; j++)
-    for(int i = 1; i < m_mapColumns; i++) {
+  int xOrig = (camera.x / TILE_WIDTH)  + 1;
+  int yOrig = (camera.y / TILE_HEIGHT) + 1;
+
+  int xEnd = xOrig + (SCREEN_WIDTH / TILE_WIDTH);
+  int yEnd = yOrig + (SCREEN_HEIGHT / TILE_HEIGHT);
+
+  if(xEnd < m_mapRows)
+    xEnd++;
+  if(yEnd < m_mapColumns)
+    yEnd++;
+
+  for(int j = xOrig; j < xEnd; j++)
+    for(int i = yOrig; i < yEnd; i++) {
     ApplySurface(m_tile[j][i].GetTileX(), m_tile[j][i].GetTileY(),
                  m_tile[j][i].GetTileTexture(), screen);
     if(m_tile[j][i].GetEntityTexture() != NULL) {
@@ -104,8 +109,8 @@ void Map::Render(void) {
 }
 
 void Map::Unload(void) {
-  m_tileTextures->Unload();
-  m_entityTextures->Unload();
+  m_tileTextures.Unload();
+  m_entityTextures.Unload();
 
   // Start at 1,1 so we do not have to be concerned about messy
   // bounds checking when accessing the tile array within the game loop.
diff --git a/src/libUnuk/Map.h b/src/libUnuk/Map.h
index 030d3e1..3c49796 100644
--- a/src/libUnuk/Map.h
+++ b/src/libUnuk/Map.h
@@ -50,8 +50,8 @@ private:
   int m_mapColumns;
   int m_mapRows;
 
-  TextureManager* m_tileTextures;
-  TextureManager* m_entityTextures;
+  TextureManager m_tileTextures;
+  TextureManager m_entityTextures;
   //CharacterManager* m_characters;
 
   static const int TILE_ARRAY_SIZE = 150;
diff --git a/src/libUnuk/MapTile.h b/src/libUnuk/MapTile.h
index dfb4d01..388a849 100644
--- a/src/libUnuk/MapTile.h
+++ b/src/libUnuk/MapTile.h
@@ -9,8 +9,8 @@ using namespace std;
 
 class MapTile {
 public:
-  MapTile(void)  {}
-  ~MapTile(void) {}
+  MapTile(void)                                     { m_entitySolidity = false; }
+  ~MapTile(void)                                    {  }
 
   void SetTileTexture(SDL_Surface* surface)         { m_tileTexture = surface; }
   SDL_Surface* GetTileTexture(void)                 { return m_tileTexture; }