From a7e2891d89dd9f1fce00430d04dcff323c788643 Mon Sep 17 00:00:00 2001
From: Rtch90 <ritchie.cunningham@protonmail.com>
Date: Sun, 15 Jan 2012 14:28:37 +0000
Subject: [PATCH] [Add] New character sheets from Moosader - Not final.
 [Change] Re-structured Map stuff a little.

---
 Bin/Makefile                                  |  10 +-
 Data/Media/Images/Characters/Player.png       | Bin 0 -> 4990 bytes
 Data/Media/Images/Characters/template.png     | Bin 2145 -> 3958 bytes
 Unuk-QT/Makefile                              | 152 +++++------
 Unuk-QT/Unuk-QT.pro                           |  14 +-
 src/Unuk/Game.cpp                             |   2 +-
 src/Unuk/Game.h                               |   4 +-
 src/Unuk/Player.cpp                           |   2 +-
 src/Unuk/Player.h                             |   2 +-
 src/libUnuk/Engine/Character.cpp              |   2 +-
 src/libUnuk/Engine/Character.h                |   8 +-
 src/libUnuk/Engine/NPC.cpp                    |   2 +-
 src/libUnuk/Engine/NPC.h                      |   2 +-
 src/libUnuk/LevelGen/Level.cpp                |   9 -
 src/libUnuk/LevelGen/Level.h                  |  10 -
 src/libUnuk/LevelGen/LevelGen.cpp             | 242 +++++++++++++++++
 src/libUnuk/LevelGen/LevelGen.h               |  54 +++-
 src/libUnuk/{Map => LevelGen}/Makefile        |   0
 src/libUnuk/{Map => LevelGen}/MapElement.cpp  |   0
 src/libUnuk/{Map => LevelGen}/MapElement.h    |   0
 src/libUnuk/{Map => LevelGen}/MapEntities.cpp |   0
 src/libUnuk/{Map => LevelGen}/MapEntities.h   |   0
 src/libUnuk/{Map => LevelGen}/MapTile.h       |   4 +-
 src/libUnuk/Map/Map.cpp                       | 251 ------------------
 src/libUnuk/Map/Map.h                         |  64 -----
 src/libUnuk/UI/MainMenu.h                     |   4 +-
 26 files changed, 392 insertions(+), 446 deletions(-)
 create mode 100644 Data/Media/Images/Characters/Player.png
 delete mode 100644 src/libUnuk/LevelGen/Level.cpp
 delete mode 100644 src/libUnuk/LevelGen/Level.h
 rename src/libUnuk/{Map => LevelGen}/Makefile (100%)
 rename src/libUnuk/{Map => LevelGen}/MapElement.cpp (100%)
 rename src/libUnuk/{Map => LevelGen}/MapElement.h (100%)
 rename src/libUnuk/{Map => LevelGen}/MapEntities.cpp (100%)
 rename src/libUnuk/{Map => LevelGen}/MapEntities.h (100%)
 rename src/libUnuk/{Map => LevelGen}/MapTile.h (95%)
 delete mode 100644 src/libUnuk/Map/Map.cpp
 delete mode 100644 src/libUnuk/Map/Map.h

diff --git a/Bin/Makefile b/Bin/Makefile
index 4920ab1..3470f8b 100644
--- a/Bin/Makefile
+++ b/Bin/Makefile
@@ -9,13 +9,13 @@ default: all
 
 all:
 	$(MAKE) -C ../src/libUnuk/Engine
-	$(MAKE) -C ../src/libUnuk/Map
+	$(MAKE) -C ../src/libUnuk/LevelGen
 	$(MAKE) -C ../src/libUnuk/Sprite
 	$(MAKE) -C ../src/libUnuk/System
 	$(MAKE) -C ../src/libUnuk/UI
 	$(MAKE) -C ../src/Unuk
 	
-	$(CC) $(CFLAGS) -o Unuk ../src/Unuk/main.cpp ../src/libUnuk/Engine/*.o ../src/libUnuk/Map/*.o \
+	$(CC) $(CFLAGS) -o Unuk ../src/Unuk/main.cpp ../src/libUnuk/Engine/*.o ../src/libUnuk/LevelGen/*.o \
                           ../src/libUnuk/Sprite/*.o ../src/libUnuk/System/*.o ../src/libUnuk/UI/*.o \
                           ../src/Unuk/*.o $(LDADD)
 
@@ -23,19 +23,19 @@ static:
 	@echo -e "\033[1;31mThis is an experimental build, if it does not work, don't complain...\033[0m"
 	@sleep 1
 	$(MAKE) -C ../src/libUnuk/Engine
-	$(MAKE) -C ../src/libUnuk/Map
+	$(MAKE) -C ../src/libUnuk/LevelGen
 	$(MAKE) -C ../src/libUnuk/Sprite
 	$(MAKE) -C ../src/libUnuk/System
 	$(MAKE) -C ../src/libUnuk/UI
 	$(MAKE) -C ../src/Unuk
 	
-	$(CC) $(CFLAGS) -o build/Unuk-static ../src/Unuk/main.cpp ../src/libUnuk/Engine/*.o ..src/libUnuk/Map/*.o \
+	$(CC) $(CFLAGS) -o build/Unuk-static ../src/Unuk/main.cpp ../src/libUnuk/Engine/*.o ..src/libUnuk/LevelGen/*.o \
                                        ../src/libUnuk/Sprite/*.o ../src/libUnuk/System/*.o ../src/libUnuk/UI/*.o \
                                        ../src/Unuk/*.o $(LDADDSTATIC)
 
 clean:
 	$(MAKE) -C ../src/libUnuk/Engine       clean
-	$(MAKE) -C ../src/libUnuk/Map          clean
+	$(MAKE) -C ../src/libUnuk/LevelGen     clean
 	$(MAKE) -C ../src/libUnuk/Sprite       clean
 	$(MAKE) -C ../src/libUnuk/System       clean
 	$(MAKE) -C ../src/libUnuk/UI           clean
diff --git a/Data/Media/Images/Characters/Player.png b/Data/Media/Images/Characters/Player.png
new file mode 100644
index 0000000000000000000000000000000000000000..23a2fdff76e3172afad08db86f2601d42ab3d408
GIT binary patch
literal 4990
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
LVW3{A>J;}s#80g?

literal 0
HcmV?d00001

diff --git a/Data/Media/Images/Characters/template.png b/Data/Media/Images/Characters/template.png
index 6628413648b0dbb210adf58d3a452a8ee2cb3d87..eddb8cd3154a1da41f01922dee5dc848b29fccaf 100644
GIT binary patch
literal 3958
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
CzRE@b

literal 2145
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
RPWrC{vC(mYnkC}g{{c*a(ux28

diff --git a/Unuk-QT/Makefile b/Unuk-QT/Makefile
index b5993f2..18a8583 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.3) on: Sat Jan 14 13:52:16 2012
+# Generated by qmake (2.01a) (Qt 4.7.3) on: Sat Jan 14 18:40:02 2012
 # 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
@@ -50,9 +50,6 @@ SOURCES       = ../src/libUnuk/Engine/WorldManager.cpp \
 		../src/libUnuk/Engine/Collision.cpp \
 		../src/libUnuk/Engine/Character.cpp \
 		../src/libUnuk/Engine/AStar.cpp \
-		../src/libUnuk/Map/MapEntities.cpp \
-		../src/libUnuk/Map/MapElement.cpp \
-		../src/libUnuk/Map/Map.cpp \
 		../src/libUnuk/Sprite/TextureManager.cpp \
 		../src/libUnuk/Sprite/Texture.cpp \
 		../src/libUnuk/Sprite/ImageLoader.cpp \
@@ -74,7 +71,8 @@ SOURCES       = ../src/libUnuk/Engine/WorldManager.cpp \
 		../src/Unuk/Globals.cpp \
 		../src/Unuk/Game.cpp \
 		../src/libUnuk/LevelGen/LevelGen.cpp \
-		../src/libUnuk/LevelGen/Level.cpp 
+		../src/libUnuk/LevelGen/MapEntities.cpp \
+		../src/libUnuk/LevelGen/MapElement.cpp 
 OBJECTS       = WorldManager.o \
 		ParticleEmitter.o \
 		NPC.o \
@@ -82,9 +80,6 @@ OBJECTS       = WorldManager.o \
 		Collision.o \
 		Character.o \
 		AStar.o \
-		MapEntities.o \
-		MapElement.o \
-		Map.o \
 		TextureManager.o \
 		Texture.o \
 		ImageLoader.o \
@@ -106,7 +101,8 @@ OBJECTS       = WorldManager.o \
 		Globals.o \
 		Game.o \
 		LevelGen.o \
-		Level.o
+		MapEntities.o \
+		MapElement.o
 DIST          = /usr/share/qt4/mkspecs/common/g++.conf \
 		/usr/share/qt4/mkspecs/common/unix.conf \
 		/usr/share/qt4/mkspecs/common/linux.conf \
@@ -206,7 +202,7 @@ qmake:  FORCE
 
 dist: 
 	@$(CHK_DIR_EXISTS) .tmp/Unuk-QT1.0.0 || $(MKDIR) .tmp/Unuk-QT1.0.0 
-	$(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/Unuk-QT1.0.0/ && $(COPY_FILE) --parents ../src/Libs/wglext.h ../src/Libs/glxext.h ../src/libUnuk/Engine/WorldManager.h ../src/libUnuk/Engine/ParticleEmitter.h ../src/libUnuk/Engine/NPC.h ../src/libUnuk/Engine/MemManager.h ../src/libUnuk/Engine/MemClass.h ../src/libUnuk/Engine/Collision.h ../src/libUnuk/Engine/Character.h ../src/libUnuk/Engine/AStarBase.h ../src/libUnuk/Engine/AStar.h ../src/libUnuk/Map/MapTile.h ../src/libUnuk/Map/MapEntities.h ../src/libUnuk/Map/MapElement.h ../src/libUnuk/Map/Map.h ../src/libUnuk/Sprite/TextureManager.h ../src/libUnuk/Sprite/Texture.h ../src/libUnuk/Sprite/ImageLoader.h ../src/libUnuk/Sprite/ApplySurface.h ../src/libUnuk/System/Rect.h ../src/libUnuk/System/Input.h ../src/libUnuk/System/FPS.h ../src/libUnuk/System/Debug.h ../src/libUnuk/System/Timer.h ../src/libUnuk/UI/MainMenu.h ../src/libUnuk/UI/IngameMenu.h ../src/libUnuk/UI/Font.h ../src/libUnuk/UI/ButtonToggle.h ../src/libUnuk/UI/ButtonGroup.h ../src/libUnuk/UI/Button.h ../src/libUnuk/UI/Text.h ../src/Unuk/Globals.h ../src/Unuk/Game.h ../src/Unuk/Constants.h ../src/Unuk/Player.h ../src/libUnuk/LevelGen/LevelGen.h ../src/libUnuk/LevelGen/Level.h .tmp/Unuk-QT1.0.0/ && $(COPY_FILE) --parents ../src/libUnuk/Engine/WorldManager.cpp ../src/libUnuk/Engine/ParticleEmitter.cpp ../src/libUnuk/Engine/NPC.cpp ../src/libUnuk/Engine/MemManager.cpp ../src/libUnuk/Engine/Collision.cpp ../src/libUnuk/Engine/Character.cpp ../src/libUnuk/Engine/AStar.cpp ../src/libUnuk/Map/MapEntities.cpp ../src/libUnuk/Map/MapElement.cpp ../src/libUnuk/Map/Map.cpp ../src/libUnuk/Sprite/TextureManager.cpp ../src/libUnuk/Sprite/Texture.cpp ../src/libUnuk/Sprite/ImageLoader.cpp ../src/libUnuk/Sprite/ApplySurface.cpp ../src/libUnuk/System/Timer.cpp ../src/libUnuk/System/Rect.cpp ../src/libUnuk/System/Input.cpp ../src/libUnuk/System/FPS.cpp ../src/libUnuk/System/Debug.cpp ../src/libUnuk/UI/Text.cpp ../src/libUnuk/UI/MainMenu.cpp ../src/libUnuk/UI/IngameMenu.cpp ../src/libUnuk/UI/Font.cpp ../src/libUnuk/UI/ButtonToggle.cpp ../src/libUnuk/UI/ButtonGroup.cpp ../src/libUnuk/UI/Button.cpp ../src/Unuk/Player.cpp ../src/Unuk/main.cpp ../src/Unuk/Globals.cpp ../src/Unuk/Game.cpp ../src/libUnuk/LevelGen/LevelGen.cpp ../src/libUnuk/LevelGen/Level.cpp .tmp/Unuk-QT1.0.0/ && (cd `dirname .tmp/Unuk-QT1.0.0` && $(TAR) Unuk-QT1.0.0.tar Unuk-QT1.0.0 && $(COMPRESS) Unuk-QT1.0.0.tar) && $(MOVE) `dirname .tmp/Unuk-QT1.0.0`/Unuk-QT1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/Unuk-QT1.0.0
+	$(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/Unuk-QT1.0.0/ && $(COPY_FILE) --parents ../src/Libs/wglext.h ../src/Libs/glxext.h ../src/libUnuk/Engine/WorldManager.h ../src/libUnuk/Engine/ParticleEmitter.h ../src/libUnuk/Engine/NPC.h ../src/libUnuk/Engine/MemManager.h ../src/libUnuk/Engine/MemClass.h ../src/libUnuk/Engine/Collision.h ../src/libUnuk/Engine/Character.h ../src/libUnuk/Engine/AStarBase.h ../src/libUnuk/Engine/AStar.h ../src/libUnuk/Sprite/TextureManager.h ../src/libUnuk/Sprite/Texture.h ../src/libUnuk/Sprite/ImageLoader.h ../src/libUnuk/Sprite/ApplySurface.h ../src/libUnuk/System/Rect.h ../src/libUnuk/System/Input.h ../src/libUnuk/System/FPS.h ../src/libUnuk/System/Debug.h ../src/libUnuk/System/Timer.h ../src/libUnuk/UI/MainMenu.h ../src/libUnuk/UI/IngameMenu.h ../src/libUnuk/UI/Font.h ../src/libUnuk/UI/ButtonToggle.h ../src/libUnuk/UI/ButtonGroup.h ../src/libUnuk/UI/Button.h ../src/libUnuk/UI/Text.h ../src/Unuk/Globals.h ../src/Unuk/Game.h ../src/Unuk/Constants.h ../src/Unuk/Player.h ../src/libUnuk/LevelGen/LevelGen.h ../src/libUnuk/LevelGen/MapEntities.h ../src/libUnuk/LevelGen/MapElement.h ../src/libUnuk/LevelGen/MapTile.h .tmp/Unuk-QT1.0.0/ && $(COPY_FILE) --parents ../src/libUnuk/Engine/WorldManager.cpp ../src/libUnuk/Engine/ParticleEmitter.cpp ../src/libUnuk/Engine/NPC.cpp ../src/libUnuk/Engine/MemManager.cpp ../src/libUnuk/Engine/Collision.cpp ../src/libUnuk/Engine/Character.cpp ../src/libUnuk/Engine/AStar.cpp ../src/libUnuk/Sprite/TextureManager.cpp ../src/libUnuk/Sprite/Texture.cpp ../src/libUnuk/Sprite/ImageLoader.cpp ../src/libUnuk/Sprite/ApplySurface.cpp ../src/libUnuk/System/Timer.cpp ../src/libUnuk/System/Rect.cpp ../src/libUnuk/System/Input.cpp ../src/libUnuk/System/FPS.cpp ../src/libUnuk/System/Debug.cpp ../src/libUnuk/UI/Text.cpp ../src/libUnuk/UI/MainMenu.cpp ../src/libUnuk/UI/IngameMenu.cpp ../src/libUnuk/UI/Font.cpp ../src/libUnuk/UI/ButtonToggle.cpp ../src/libUnuk/UI/ButtonGroup.cpp ../src/libUnuk/UI/Button.cpp ../src/Unuk/Player.cpp ../src/Unuk/main.cpp ../src/Unuk/Globals.cpp ../src/Unuk/Game.cpp ../src/libUnuk/LevelGen/LevelGen.cpp ../src/libUnuk/LevelGen/MapEntities.cpp ../src/libUnuk/LevelGen/MapElement.cpp .tmp/Unuk-QT1.0.0/ && (cd `dirname .tmp/Unuk-QT1.0.0` && $(TAR) Unuk-QT1.0.0.tar Unuk-QT1.0.0 && $(COMPRESS) Unuk-QT1.0.0.tar) && $(MOVE) `dirname .tmp/Unuk-QT1.0.0`/Unuk-QT1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/Unuk-QT1.0.0
 
 
 clean:compiler_clean 
@@ -259,11 +255,11 @@ WorldManager.o: ../src/libUnuk/Engine/WorldManager.cpp ../src/libUnuk/Engine/Wor
 		../src/libUnuk/System/Debug.h \
 		../src/libUnuk/Sprite/ImageLoader.h \
 		../src/libUnuk/Engine/Collision.h \
-		../src/libUnuk/Map/Map.h \
-		../src/libUnuk/Map/MapTile.h \
-		../src/libUnuk/Map/MapElement.h \
+		../src/libUnuk/LevelGen/LevelGen.h \
+		../src/libUnuk/LevelGen/MapTile.h \
+		../src/libUnuk/LevelGen/MapElement.h \
 		../src/libUnuk/Sprite/TextureManager.h \
-		../src/libUnuk/Map/MapEntities.h \
+		../src/libUnuk/LevelGen/MapEntities.h \
 		../src/libUnuk/System/Timer.h \
 		../src/libUnuk/UI/Text.h \
 		../src/libUnuk/UI/Font.h \
@@ -288,11 +284,11 @@ NPC.o: ../src/libUnuk/Engine/NPC.cpp ../src/libUnuk/Engine/NPC.h \
 		../src/libUnuk/System/Debug.h \
 		../src/libUnuk/Sprite/ImageLoader.h \
 		../src/libUnuk/Engine/Collision.h \
-		../src/libUnuk/Map/Map.h \
-		../src/libUnuk/Map/MapTile.h \
-		../src/libUnuk/Map/MapElement.h \
+		../src/libUnuk/LevelGen/LevelGen.h \
+		../src/libUnuk/LevelGen/MapTile.h \
+		../src/libUnuk/LevelGen/MapElement.h \
 		../src/libUnuk/Sprite/TextureManager.h \
-		../src/libUnuk/Map/MapEntities.h \
+		../src/libUnuk/LevelGen/MapEntities.h \
 		../src/libUnuk/Engine/WorldManager.h \
 		../src/libUnuk/System/Timer.h \
 		../src/libUnuk/UI/Text.h \
@@ -317,11 +313,11 @@ Character.o: ../src/libUnuk/Engine/Character.cpp ../src/libUnuk/Engine/Character
 		../src/libUnuk/System/Debug.h \
 		../src/libUnuk/Sprite/ImageLoader.h \
 		../src/libUnuk/Engine/Collision.h \
-		../src/libUnuk/Map/Map.h \
-		../src/libUnuk/Map/MapTile.h \
-		../src/libUnuk/Map/MapElement.h \
+		../src/libUnuk/LevelGen/LevelGen.h \
+		../src/libUnuk/LevelGen/MapTile.h \
+		../src/libUnuk/LevelGen/MapElement.h \
 		../src/libUnuk/Sprite/TextureManager.h \
-		../src/libUnuk/Map/MapEntities.h \
+		../src/libUnuk/LevelGen/MapEntities.h \
 		../src/libUnuk/Engine/WorldManager.h \
 		../src/libUnuk/System/Timer.h \
 		../src/libUnuk/UI/Text.h \
@@ -332,46 +328,6 @@ AStar.o: ../src/libUnuk/Engine/AStar.cpp ../src/libUnuk/Engine/AStar.h \
 		../src/libUnuk/Engine/AStarBase.h
 	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o AStar.o ../src/libUnuk/Engine/AStar.cpp
 
-MapEntities.o: ../src/libUnuk/Map/MapEntities.cpp ../src/libUnuk/Map/MapEntities.h \
-		../src/libUnuk/Map/MapElement.h \
-		../src/Unuk/Globals.h \
-		../src/libUnuk/Sprite/ApplySurface.h \
-		../src/libUnuk/System/Debug.h \
-		../src/libUnuk/Sprite/TextureManager.h \
-		../src/libUnuk/Sprite/ImageLoader.h
-	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o MapEntities.o ../src/libUnuk/Map/MapEntities.cpp
-
-MapElement.o: ../src/libUnuk/Map/MapElement.cpp ../src/libUnuk/Map/MapElement.h \
-		../src/Unuk/Globals.h \
-		../src/libUnuk/Sprite/ApplySurface.h \
-		../src/libUnuk/System/Debug.h \
-		../src/libUnuk/Sprite/TextureManager.h \
-		../src/libUnuk/Sprite/ImageLoader.h
-	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o MapElement.o ../src/libUnuk/Map/MapElement.cpp
-
-Map.o: ../src/libUnuk/Map/Map.cpp ../src/libUnuk/Map/Map.h \
-		../src/Unuk/Globals.h \
-		../src/Unuk/Constants.h \
-		../src/libUnuk/Sprite/ImageLoader.h \
-		../src/libUnuk/System/Debug.h \
-		../src/libUnuk/Sprite/ApplySurface.h \
-		../src/libUnuk/Map/MapTile.h \
-		../src/libUnuk/Map/MapElement.h \
-		../src/libUnuk/Sprite/TextureManager.h \
-		../src/libUnuk/Map/MapEntities.h \
-		../src/libUnuk/Engine/WorldManager.h \
-		../src/libUnuk/Engine/NPC.h \
-		../src/libUnuk/Engine/Character.h \
-		../src/libUnuk/Engine/MemClass.h \
-		../src/libUnuk/Engine/MemManager.h \
-		../src/libUnuk/Engine/Collision.h \
-		../src/libUnuk/System/Timer.h \
-		../src/libUnuk/UI/Text.h \
-		../src/libUnuk/UI/Font.h \
-		../src/libUnuk/Engine/AStar.h \
-		../src/libUnuk/Engine/AStarBase.h
-	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o Map.o ../src/libUnuk/Map/Map.cpp
-
 TextureManager.o: ../src/libUnuk/Sprite/TextureManager.cpp ../src/libUnuk/Sprite/TextureManager.h \
 		../src/libUnuk/Sprite/ImageLoader.h \
 		../src/Unuk/Globals.h \
@@ -437,12 +393,12 @@ MainMenu.o: ../src/libUnuk/UI/MainMenu.cpp ../src/libUnuk/UI/MainMenu.h \
 		../src/libUnuk/System/Rect.h \
 		../src/libUnuk/Engine/MemClass.h \
 		../src/libUnuk/Engine/MemManager.h \
-		../src/libUnuk/Map/Map.h \
+		../src/libUnuk/LevelGen/LevelGen.h \
 		../src/libUnuk/Sprite/ImageLoader.h \
-		../src/libUnuk/Map/MapTile.h \
-		../src/libUnuk/Map/MapElement.h \
+		../src/libUnuk/LevelGen/MapTile.h \
+		../src/libUnuk/LevelGen/MapElement.h \
 		../src/libUnuk/Sprite/TextureManager.h \
-		../src/libUnuk/Map/MapEntities.h \
+		../src/libUnuk/LevelGen/MapEntities.h \
 		../src/libUnuk/Engine/WorldManager.h
 	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o MainMenu.o ../src/libUnuk/UI/MainMenu.cpp
 
@@ -510,11 +466,11 @@ Player.o: ../src/Unuk/Player.cpp ../src/Unuk/Player.h \
 		../src/libUnuk/System/Debug.h \
 		../src/libUnuk/Sprite/ImageLoader.h \
 		../src/libUnuk/Engine/Collision.h \
-		../src/libUnuk/Map/Map.h \
-		../src/libUnuk/Map/MapTile.h \
-		../src/libUnuk/Map/MapElement.h \
+		../src/libUnuk/LevelGen/LevelGen.h \
+		../src/libUnuk/LevelGen/MapTile.h \
+		../src/libUnuk/LevelGen/MapElement.h \
 		../src/libUnuk/Sprite/TextureManager.h \
-		../src/libUnuk/Map/MapEntities.h \
+		../src/libUnuk/LevelGen/MapEntities.h \
 		../src/libUnuk/Engine/WorldManager.h \
 		../src/libUnuk/System/Timer.h \
 		../src/libUnuk/UI/Text.h \
@@ -536,12 +492,12 @@ main.o: ../src/Unuk/main.cpp ../src/libUnuk/UI/MainMenu.h \
 		../src/libUnuk/System/Rect.h \
 		../src/libUnuk/Engine/MemClass.h \
 		../src/libUnuk/Engine/MemManager.h \
-		../src/libUnuk/Map/Map.h \
+		../src/libUnuk/LevelGen/LevelGen.h \
 		../src/libUnuk/Sprite/ImageLoader.h \
-		../src/libUnuk/Map/MapTile.h \
-		../src/libUnuk/Map/MapElement.h \
+		../src/libUnuk/LevelGen/MapTile.h \
+		../src/libUnuk/LevelGen/MapElement.h \
 		../src/libUnuk/Sprite/TextureManager.h \
-		../src/libUnuk/Map/MapEntities.h \
+		../src/libUnuk/LevelGen/MapEntities.h \
 		../src/libUnuk/Engine/WorldManager.h \
 		../src/libUnuk/Engine/NPC.h \
 		../src/libUnuk/Engine/Character.h \
@@ -568,11 +524,11 @@ Game.o: ../src/Unuk/Game.cpp ../src/Unuk/Game.h \
 		../src/libUnuk/System/Debug.h \
 		../src/libUnuk/Sprite/ImageLoader.h \
 		../src/libUnuk/Engine/Collision.h \
-		../src/libUnuk/Map/Map.h \
-		../src/libUnuk/Map/MapTile.h \
-		../src/libUnuk/Map/MapElement.h \
+		../src/libUnuk/LevelGen/LevelGen.h \
+		../src/libUnuk/LevelGen/MapTile.h \
+		../src/libUnuk/LevelGen/MapElement.h \
 		../src/libUnuk/Sprite/TextureManager.h \
-		../src/libUnuk/Map/MapEntities.h \
+		../src/libUnuk/LevelGen/MapEntities.h \
 		../src/libUnuk/Engine/WorldManager.h \
 		../src/libUnuk/System/Timer.h \
 		../src/libUnuk/UI/Text.h \
@@ -588,11 +544,45 @@ Game.o: ../src/Unuk/Game.cpp ../src/Unuk/Game.h \
 		../src/libUnuk/Engine/AStarBase.h
 	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o Game.o ../src/Unuk/Game.cpp
 
-LevelGen.o: ../src/libUnuk/LevelGen/LevelGen.cpp ../src/libUnuk/LevelGen/LevelGen.h
+LevelGen.o: ../src/libUnuk/LevelGen/LevelGen.cpp ../src/libUnuk/LevelGen/LevelGen.h \
+		../src/Unuk/Globals.h \
+		../src/Unuk/Constants.h \
+		../src/libUnuk/Sprite/ImageLoader.h \
+		../src/libUnuk/System/Debug.h \
+		../src/libUnuk/Sprite/ApplySurface.h \
+		../src/libUnuk/LevelGen/MapTile.h \
+		../src/libUnuk/LevelGen/MapElement.h \
+		../src/libUnuk/Sprite/TextureManager.h \
+		../src/libUnuk/LevelGen/MapEntities.h \
+		../src/libUnuk/Engine/WorldManager.h \
+		../src/libUnuk/Engine/NPC.h \
+		../src/libUnuk/Engine/Character.h \
+		../src/libUnuk/Engine/MemClass.h \
+		../src/libUnuk/Engine/MemManager.h \
+		../src/libUnuk/Engine/Collision.h \
+		../src/libUnuk/System/Timer.h \
+		../src/libUnuk/UI/Text.h \
+		../src/libUnuk/UI/Font.h \
+		../src/libUnuk/Engine/AStar.h \
+		../src/libUnuk/Engine/AStarBase.h
 	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o LevelGen.o ../src/libUnuk/LevelGen/LevelGen.cpp
 
-Level.o: ../src/libUnuk/LevelGen/Level.cpp ../src/libUnuk/LevelGen/Level.h
-	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o Level.o ../src/libUnuk/LevelGen/Level.cpp
+MapEntities.o: ../src/libUnuk/LevelGen/MapEntities.cpp ../src/libUnuk/LevelGen/MapEntities.h \
+		../src/libUnuk/LevelGen/MapElement.h \
+		../src/Unuk/Globals.h \
+		../src/libUnuk/Sprite/ApplySurface.h \
+		../src/libUnuk/System/Debug.h \
+		../src/libUnuk/Sprite/TextureManager.h \
+		../src/libUnuk/Sprite/ImageLoader.h
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o MapEntities.o ../src/libUnuk/LevelGen/MapEntities.cpp
+
+MapElement.o: ../src/libUnuk/LevelGen/MapElement.cpp ../src/libUnuk/LevelGen/MapElement.h \
+		../src/Unuk/Globals.h \
+		../src/libUnuk/Sprite/ApplySurface.h \
+		../src/libUnuk/System/Debug.h \
+		../src/libUnuk/Sprite/TextureManager.h \
+		../src/libUnuk/Sprite/ImageLoader.h
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o MapElement.o ../src/libUnuk/LevelGen/MapElement.cpp
 
 ####### Install
 
diff --git a/Unuk-QT/Unuk-QT.pro b/Unuk-QT/Unuk-QT.pro
index 594ec91..aeec6a8 100644
--- a/Unuk-QT/Unuk-QT.pro
+++ b/Unuk-QT/Unuk-QT.pro
@@ -16,10 +16,6 @@ HEADERS += ../src/Libs/wglext.h \
     ../src/libUnuk/Engine/Character.h \
     ../src/libUnuk/Engine/AStarBase.h \
     ../src/libUnuk/Engine/AStar.h \
-    ../src/libUnuk/Map/MapTile.h \
-    ../src/libUnuk/Map/MapEntities.h \
-    ../src/libUnuk/Map/MapElement.h \
-    ../src/libUnuk/Map/Map.h \
     ../src/libUnuk/Sprite/TextureManager.h \
     ../src/libUnuk/Sprite/Texture.h \
     ../src/libUnuk/Sprite/ImageLoader.h \
@@ -41,7 +37,9 @@ HEADERS += ../src/Libs/wglext.h \
     ../src/Unuk/Constants.h \
     ../src/Unuk/Player.h \
     ../src/libUnuk/LevelGen/LevelGen.h \
-    ../src/libUnuk/LevelGen/Level.h
+    ../src/libUnuk/LevelGen/MapEntities.h \
+    ../src/libUnuk/LevelGen/MapElement.h \
+    ../src/libUnuk/LevelGen/MapTile.h
 SOURCES += ../src/libUnuk/Engine/WorldManager.cpp \
     ../src/libUnuk/Engine/ParticleEmitter.cpp \
     ../src/libUnuk/Engine/NPC.cpp \
@@ -49,9 +47,6 @@ SOURCES += ../src/libUnuk/Engine/WorldManager.cpp \
     ../src/libUnuk/Engine/Collision.cpp \
     ../src/libUnuk/Engine/Character.cpp \
     ../src/libUnuk/Engine/AStar.cpp \
-    ../src/libUnuk/Map/MapEntities.cpp \
-    ../src/libUnuk/Map/MapElement.cpp \
-    ../src/libUnuk/Map/Map.cpp \
     ../src/libUnuk/Sprite/TextureManager.cpp \
     ../src/libUnuk/Sprite/Texture.cpp \
     ../src/libUnuk/Sprite/ImageLoader.cpp \
@@ -73,5 +68,6 @@ SOURCES += ../src/libUnuk/Engine/WorldManager.cpp \
     ../src/Unuk/Globals.cpp \
     ../src/Unuk/Game.cpp \
     ../src/libUnuk/LevelGen/LevelGen.cpp \
-    ../src/libUnuk/LevelGen/Level.cpp
+    ../src/libUnuk/LevelGen/MapEntities.cpp \
+    ../src/libUnuk/LevelGen/MapElement.cpp
 OTHER_FILES += 
diff --git a/src/Unuk/Game.cpp b/src/Unuk/Game.cpp
index b5f34bd..7db2df5 100644
--- a/src/Unuk/Game.cpp
+++ b/src/Unuk/Game.cpp
@@ -17,7 +17,7 @@ Game::~Game(void) {
 
 gameNavVal_t Game::Run(const string savegameIDArg) {
   _player->SetXY(50, 50);
-  _player->LoadSprites("../Data/Media/Images/Characters/template.png", 40, 45);
+	_player->LoadSprites("../Data/Media/Images/Characters/Player.png", 40, 45);
 
   LoadSavegame(savegameIDArg);
 
diff --git a/src/Unuk/Game.h b/src/Unuk/Game.h
index e4dae89..41bcf22 100644
--- a/src/Unuk/Game.h
+++ b/src/Unuk/Game.h
@@ -11,7 +11,7 @@
 #include "Globals.h"
 #include "Player.h"
 #include "../libUnuk/UI/IngameMenu.h"
-#include "../libUnuk/Map/Map.h"
+#include "../libUnuk/LevelGen/LevelGen.h"
 #include "../libUnuk/System/Timer.h"
 #include "../libUnuk/System/Debug.h"
 #include "../libUnuk/UI/Text.h"
@@ -53,7 +53,7 @@ private:
   Text _npcHealth;
 
   IngameMenu _ingameMenu;
-  Map _map;
+	LevelGen _map;
 
   Player* _player;
 };
diff --git a/src/Unuk/Player.cpp b/src/Unuk/Player.cpp
index 2f9a99b..f489cd1 100644
--- a/src/Unuk/Player.cpp
+++ b/src/Unuk/Player.cpp
@@ -3,7 +3,7 @@
 // Pixels * 60 / sec.
 const float Player::PLAYER_SPEED = Character::CHARACTER_SPEED + 0.5f;
 
-Player::Player(Map *mapArg) : Character(mapArg) {
+Player::Player(LevelGen *mapArg) : Character(mapArg) {
 
 }
 
diff --git a/src/Unuk/Player.h b/src/Unuk/Player.h
index 5cd1148..f2fe62c 100644
--- a/src/Unuk/Player.h
+++ b/src/Unuk/Player.h
@@ -8,7 +8,7 @@
 
 class Player : public Character {
 public:
-  Player(Map* mapArg);
+  Player(LevelGen* mapArg);
   ~Player(void);
 
   void HandleInput(void);
diff --git a/src/libUnuk/Engine/Character.cpp b/src/libUnuk/Engine/Character.cpp
index 07271fe..8892a12 100644
--- a/src/libUnuk/Engine/Character.cpp
+++ b/src/libUnuk/Engine/Character.cpp
@@ -6,7 +6,7 @@ const float Character::CHARACTER_SPEED = 3.5f;
 static list<Character*>collisionList;
 static list<Character*>::iterator collisionIter;
 
-Character::Character(Map* mapArg) {
+Character::Character(LevelGen* mapArg) {
   map = mapArg;
   attacking = false;
   directionFacing = FACING_DOWN;
diff --git a/src/libUnuk/Engine/Character.h b/src/libUnuk/Engine/Character.h
index 2ff2c8c..965bc6f 100644
--- a/src/libUnuk/Engine/Character.h
+++ b/src/libUnuk/Engine/Character.h
@@ -9,17 +9,17 @@
 #include "../Sprite/ApplySurface.h"
 #include "../Sprite/ImageLoader.h"
 #include "../Engine/Collision.h"
-#include "../Map/Map.h"
+#include "../LevelGen/LevelGen.h"
 #include "../System/Timer.h"
 #include "../UI/Text.h"
 #include "../System/Debug.h"
 using namespace std;
 
-class Map;
+class LevelGen;
 
 class Character {
 public:
-  Character(Map* mapArg);
+	Character(LevelGen* mapArg);
   ~Character(void);
 
   void LoadSprites(string filename, int wArg, int hArg);
@@ -88,7 +88,7 @@ protected:
 
   int _health;
   
-  Map* map;
+	LevelGen* map;
   
   static const float CHARACTER_SPEED;
   
diff --git a/src/libUnuk/Engine/NPC.cpp b/src/libUnuk/Engine/NPC.cpp
index 37fa4d7..9c4a560 100644
--- a/src/libUnuk/Engine/NPC.cpp
+++ b/src/libUnuk/Engine/NPC.cpp
@@ -1,6 +1,6 @@
 #include "NPC.h"
 
-NPC::NPC(Map* mapArg) : Character(mapArg) {
+NPC::NPC(LevelGen* mapArg) : Character(mapArg) {
   _moveTimer.Start();
   
   _moveChangeFrequency = 14000;
diff --git a/src/libUnuk/Engine/NPC.h b/src/libUnuk/Engine/NPC.h
index 5774690..0174a51 100644
--- a/src/libUnuk/Engine/NPC.h
+++ b/src/libUnuk/Engine/NPC.h
@@ -5,7 +5,7 @@
 
 class NPC : public Character {
 public:
-  NPC(Map* mapArg);
+  NPC(LevelGen* mapArg);
   ~NPC(void);
   
   void Update(void);
diff --git a/src/libUnuk/LevelGen/Level.cpp b/src/libUnuk/LevelGen/Level.cpp
deleted file mode 100644
index de9e0f4..0000000
--- a/src/libUnuk/LevelGen/Level.cpp
+++ /dev/null
@@ -1,9 +0,0 @@
-#include "Level.h"
-
-Level::Level(void) {
-
-}
-
-Level::~Level(void) {
-
-}
diff --git a/src/libUnuk/LevelGen/Level.h b/src/libUnuk/LevelGen/Level.h
deleted file mode 100644
index 5d9dff6..0000000
--- a/src/libUnuk/LevelGen/Level.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#pragma once
-
-class Level {
-public:
-	Level(void);
-	~Level(void);
-
-private:
-
-};
diff --git a/src/libUnuk/LevelGen/LevelGen.cpp b/src/libUnuk/LevelGen/LevelGen.cpp
index 7fc737e..82ebb2f 100644
--- a/src/libUnuk/LevelGen/LevelGen.cpp
+++ b/src/libUnuk/LevelGen/LevelGen.cpp
@@ -1,4 +1,5 @@
 #include "LevelGen.h"
+#include "../Engine/NPC.h"
 
 LevelGen::LevelGen(void) {
 
@@ -7,3 +8,244 @@ LevelGen::LevelGen(void) {
 LevelGen::~LevelGen(void) {
 
 }
+
+void LevelGen::Load(const string filename) {
+  Unload();
+  _currentMap = filename;
+  string fullMapPath = "../Data/Media/Maps/" + filename;
+  TiXmlDocument mapFile(fullMapPath.c_str());
+
+  assert(mapFile.LoadFile() == true);
+
+  // Getting dirty with some XML. This seems like a nicer
+	// approach to loading maps, rather than parsing text files.
+  TiXmlElement* rootElem = NULL;
+  TiXmlElement* lineElem = NULL;
+  TiXmlElement* tileElem = NULL;
+  TiXmlElement* dataElem = NULL;
+
+  x = -1;
+  y = -1;
+
+  // <map> - Let's start parsing the map.
+  rootElem = mapFile.FirstChildElement("map");
+  assert(rootElem != NULL);
+  if(rootElem) {
+    // <line> - We want to tile one line at a time. line represents
+    // the row we are tiling.
+    lineElem = rootElem->FirstChildElement("line");
+    assert(lineElem != NULL);
+    while(lineElem) {
+      y++;
+      x = -1;
+
+      // <tile> - Then we will select the tile. and increment x to keep tiling that row.
+      tileElem = lineElem->FirstChildElement("tile");
+      assert(tileElem != NULL);
+      while(tileElem) {
+        x++;
+        _tile[x][y].SetTileXY(x * TILE_WIDTH, y * TILE_HEIGHT);
+
+        // <tileTexture> - Apply a teture to the tile.
+        dataElem = tileElem->FirstChildElement("tileTexture");
+        assert(dataElem != NULL);
+        stringstream tilePath;
+        tilePath << "../Data/Media/Images/Tiles/" << dataElem->GetText() << ".png";
+        _tile[x][y].SetTileTexture(_tileTextures.Add(tilePath.str()));
+        // <tileTexture> - Finished applying the texture, move to the next sibling.
+
+        // <solidTile> - Check to see if the tile is solid or not.
+        dataElem = dataElem->NextSiblingElement("solidTile");
+        assert(dataElem != NULL);
+        string tileSolidity = dataElem->GetText();
+        assert(tileSolidity == "false" || tileSolidity == "true");
+        if(tileSolidity == "false")
+          _tile[x][y].SetTileSolidity(false);
+        else
+          _tile[x][y].SetTileSolidity(true);
+        // </solidTile>
+
+        // <entityTexture>
+        dataElem = dataElem->NextSiblingElement("entityTexture");
+        assert(dataElem != NULL);
+        string entityName = dataElem->GetText();
+        if(entityName != "null") {
+          stringstream entityPath;
+          entityPath << "../Data/Media/Images/Entities/" << entityName << ".png";
+          _tile[x][y].SetEntityTexture(_entityTextures.AddAlpha(entityPath.str()));
+
+          _tile[x][y].SetEntityXY(_tile[x][y].GetTileX() + TILE_WIDTH  / 2 - _tile[x][y].GetEntityWidth()  / 2,
+                                   _tile[x][y].GetTileY() + TILE_HEIGHT / 2 - _tile[x][y].GetEntityHeight() / 2);
+        }
+        // </entityTexture>
+
+        // <SolidEntity>
+        dataElem = dataElem->NextSiblingElement("solidEntity");
+        assert(dataElem != NULL);
+        string entitySolidity = dataElem->GetText();
+        assert(entitySolidity == "false" || entitySolidity == "true");
+        if(entitySolidity == "false")
+          _tile[x][y].SetEntitySolidity(false);
+        else
+          _tile[x][y].SetEntitySolidity(true);
+        // </solidEntity>
+
+        // <zlevel>
+        dataElem = dataElem->NextSiblingElement("zLevel");
+        assert(dataElem != NULL);
+        _tile[x][y].SetZLevel(atoi(dataElem->GetText()));
+        // </zlevel>
+
+        // <mapTransition>
+        dataElem = dataElem->NextSiblingElement("mapTransition");
+        assert(dataElem != NULL);
+        _tile[x][y].SetMapTransitionName(dataElem->GetText());
+        // </mapTransition>
+
+        // <mapTransX>
+        dataElem = dataElem->NextSiblingElement("mapTransX");
+        assert(dataElem != NULL);
+        // int mapTransX = atoi(dataElem->GetText()); // not referenced
+        // </mapTransX>
+
+        // <mapTransY>
+        dataElem = dataElem->NextSiblingElement("mapTransY");
+        assert(dataElem != NULL);
+       // int mapTransY = atoi(dataElem->GetText()); // not referenced
+        // </mapTransY>
+
+        tileElem = tileElem->NextSiblingElement("tile");
+      }
+      //</tile>
+
+      lineElem = lineElem->NextSiblingElement("line");
+    }
+    // </line>
+  }
+  // </map>
+  levelWidth  = x * TILE_WIDTH;
+  levelHeight = y * TILE_HEIGHT;
+
+  //character->Load(filename);
+
+  NPC* npc = new NPC(this);
+
+  npc->SetXY(300, 300);
+  npc->LoadSprites("../Data/Media/Images/Characters/template.png", 40,45);
+  _world.AddNPC(npc);
+
+  npc = new NPC(this);
+  npc->SetXY(150, 350);
+  npc->LoadSprites("../Data/Media/Images/Characters/template.png", 40,45);
+  _world.AddNPC(npc);
+
+  npc = new NPC(this);
+  npc->SetXY(100, 250);
+  npc->LoadSprites("../Data/Media/Images/Characters/template.png", 40,45);
+  _world.AddNPC(npc);
+}
+
+void LevelGen::Update(void) {
+  _world.Update();
+  // Update the map so we can render when camera moves.
+}
+
+void LevelGen::Render(void) {
+  int xOrig = (camera.x / TILE_WIDTH) - 1;
+  int yOrig = (camera.y / TILE_HEIGHT) - 1;
+
+  if (xOrig < 0) xOrig = 0;
+  if (yOrig < 0) yOrig = 0;
+
+  int xEnd = xOrig + (SCREEN_WIDTH  / TILE_WIDTH) + 3;
+  int yEnd = yOrig + (SCREEN_HEIGHT / TILE_HEIGHT) + 3;
+
+  /* the fuck is this Allanis? --konom
+  if(xEnd < x)
+    xEnd++;
+  else
+    xEnd = x;
+
+  if(yEnd < y)
+    yEnd++;
+  else
+    yEnd = y;
+  */
+
+  if (xEnd > x) xEnd = x;
+  if (yEnd > y) yEnd = y;
+  if (xEnd < 0) xEnd = 0;
+  if (yEnd < 0) yEnd = 0;
+
+  if (xOrig > xEnd) xOrig = xEnd - 1;
+  if (yOrig > yEnd) yOrig = yEnd - 1;
+
+  for(int i = xOrig; i < xEnd; i++) {
+    for(int j = yOrig; j < yEnd; j++) {
+      _tile[i][j].Render();
+    }
+  }
+
+  _world.Render();
+}
+
+void LevelGen::Unload(void) {
+  _tileTextures.Unload();
+  _entityTextures.Unload();
+}
+
+string LevelGen::GetCurrentMap(void) {
+  return _currentMap;
+}
+
+bool LevelGen::GetTileSolidity(int xArg, int yArg) {
+  return _tile[xArg + 1][yArg + 1].GetTileSolidity();
+}
+
+int LevelGen::GetTileX(int xArg, int yArg) {
+  return _tile[xArg + 1][yArg + 1].GetTileX();
+}
+
+int LevelGen::GetTileY(int xArg, int yArg) {
+  return _tile[xArg + 1][yArg + 1].GetTileY();
+}
+
+bool LevelGen::GetEntitySolidity(int xArg, int yArg) {
+  if(xArg > x || yArg > y || yArg < 0 || yArg < 0) {
+    return false;
+  }
+
+  return _tile[xArg + 1][yArg + 1].GetEntitySolitity();
+}
+
+int LevelGen::GetEntityX(int xArg, int yArg) {
+  return _tile[xArg + 1][yArg + 1].GetEntityX();
+}
+
+int LevelGen::GetEntityY(int xArg, int yArg) {
+  return _tile[xArg + 1][yArg + 1].GetEntityY();
+}
+
+int LevelGen::GetEntityWidth(int xArg, int yArg) {
+  return _tile[xArg + 1][yArg + 1].GetEntityWidth();
+}
+
+int LevelGen::GetEntityHeight(int xArg, int yArg) {
+  return _tile[xArg + 1][yArg + 1].GetEntityHeight();
+}
+
+int LevelGen::GetTileZLevel(int xArg, int yArg) {
+  return _tile[xArg + 1][yArg + 1].GetZLevel();
+}
+
+string LevelGen::GetMapTransitionName(int xArg, int yArg) {
+  return _tile[xArg + 1][yArg + 1].GetMapTransitionName();
+}
+
+int LevelGen::GetMapTransitionX(int xArg, int yArg) {
+  return _tile[xArg + 1][yArg + 1].GetMapTransitionX();
+}
+
+int LevelGen::GetMapTransitionY(int xArg, int yArg) {
+  return _tile[xArg + 1][yArg + 1].GetMapTransitionY();
+}
diff --git a/src/libUnuk/LevelGen/LevelGen.h b/src/libUnuk/LevelGen/LevelGen.h
index b69dca9..f58b228 100644
--- a/src/libUnuk/LevelGen/LevelGen.h
+++ b/src/libUnuk/LevelGen/LevelGen.h
@@ -1,10 +1,62 @@
 #pragma once
+#include <SDL/SDL.h>
+#include <iostream>
+#include <string>
+#include <sstream>
+#include <fstream>
+#include <assert.h>
+#include <tinyxml.h>
+
+#include "../../Unuk/Globals.h"
+#include "../../Unuk/Constants.h"
+#include "../Sprite/ImageLoader.h"
+#include "../Sprite/ApplySurface.h"
+#include "../LevelGen/MapTile.h"
+#include "../System/Debug.h"
+#include "../Engine/WorldManager.h"
+using namespace std;
 
 class LevelGen {
 public:
 	LevelGen(void);
 	~LevelGen(void);
 
-private:
+  void Load(const string filename);
+  void Update(void);
+  void Render(void);
 
+	bool GetTileSolidity(int xArg, int yArg);
+	int  GetTileX(int xArg, int yArg);
+	int  GetTileY(int xArg, int yArg);
+
+	bool GetEntitySolidity(int xArg, int yArg);
+	int  GetEntityX(int xArg, int yArg);
+	int  GetEntityY(int xArg, int yArg);
+	int  GetEntityWidth(int xArg, int yArg);
+	int  GetEntityHeight(int xArg, int yArg);
+
+	int  GetTileZLevel(int xArg, int yArg);
+
+	string GetMapTransitionName(int xArg, int yArg);
+	int    GetMapTransitionX(int xArg, int yArg);
+	int    GetMapTransitionY(int xArg, int yArg);
+
+	string GetCurrentMap(void);
+
+	WorldManager& GetWorld(void) { return _world; }
+
+private:
+  void Unload(void);
+
+  string _currentMap;
+  int x;
+  int y;
+
+  static const int TILE_ARRAY_SIZE = 150;
+  MapTile _tile[TILE_ARRAY_SIZE][TILE_ARRAY_SIZE];
+
+  TextureManager _tileTextures;
+  TextureManager _entityTextures;
+
+  WorldManager _world;
 };
diff --git a/src/libUnuk/Map/Makefile b/src/libUnuk/LevelGen/Makefile
similarity index 100%
rename from src/libUnuk/Map/Makefile
rename to src/libUnuk/LevelGen/Makefile
diff --git a/src/libUnuk/Map/MapElement.cpp b/src/libUnuk/LevelGen/MapElement.cpp
similarity index 100%
rename from src/libUnuk/Map/MapElement.cpp
rename to src/libUnuk/LevelGen/MapElement.cpp
diff --git a/src/libUnuk/Map/MapElement.h b/src/libUnuk/LevelGen/MapElement.h
similarity index 100%
rename from src/libUnuk/Map/MapElement.h
rename to src/libUnuk/LevelGen/MapElement.h
diff --git a/src/libUnuk/Map/MapEntities.cpp b/src/libUnuk/LevelGen/MapEntities.cpp
similarity index 100%
rename from src/libUnuk/Map/MapEntities.cpp
rename to src/libUnuk/LevelGen/MapEntities.cpp
diff --git a/src/libUnuk/Map/MapEntities.h b/src/libUnuk/LevelGen/MapEntities.h
similarity index 100%
rename from src/libUnuk/Map/MapEntities.h
rename to src/libUnuk/LevelGen/MapEntities.h
diff --git a/src/libUnuk/Map/MapTile.h b/src/libUnuk/LevelGen/MapTile.h
similarity index 95%
rename from src/libUnuk/Map/MapTile.h
rename to src/libUnuk/LevelGen/MapTile.h
index e32ed8d..dfde0d9 100644
--- a/src/libUnuk/Map/MapTile.h
+++ b/src/libUnuk/LevelGen/MapTile.h
@@ -5,8 +5,8 @@
 
 #include "../../Unuk/Constants.h"
 #include "../Sprite/ApplySurface.h"
-#include "../Map/MapElement.h"
-#include "../Map/MapEntities.h"
+#include "../LevelGen/MapElement.h"
+#include "../LevelGen/MapEntities.h"
 using namespace std;
 
 class MapTile {
diff --git a/src/libUnuk/Map/Map.cpp b/src/libUnuk/Map/Map.cpp
deleted file mode 100644
index d3952c8..0000000
--- a/src/libUnuk/Map/Map.cpp
+++ /dev/null
@@ -1,251 +0,0 @@
-#include "Map.h"
-#include "../Engine/NPC.h"
-
-Map::Map(void) {
-
-}
-
-Map::~Map(void) {
-
-}
-
-void Map::Load(const string filename) {
-  Unload();
-  _currentMap = filename;
-  string fullMapPath = "../Data/Media/Maps/" + filename;
-  TiXmlDocument mapFile(fullMapPath.c_str());
-
-  assert(mapFile.LoadFile() == true);
-
-  // Getting dirty with some XML. This seems like a nicer
-  // approach to loading maps, rather than parsing tet files.
-  TiXmlElement* rootElem = NULL;
-  TiXmlElement* lineElem = NULL;
-  TiXmlElement* tileElem = NULL;
-  TiXmlElement* dataElem = NULL;
-
-  x = -1;
-  y = -1;
-
-  // <map> - Let's start parsing the map.
-  rootElem = mapFile.FirstChildElement("map");
-  assert(rootElem != NULL);
-  if(rootElem) {
-    // <line> - We want to tile one line at a time. line represents
-    // the row we are tiling.
-    lineElem = rootElem->FirstChildElement("line");
-    assert(lineElem != NULL);
-    while(lineElem) {
-      y++;
-      x = -1;
-
-      // <tile> - Then we will select the tile. and increment x to keep tiling that row.
-      tileElem = lineElem->FirstChildElement("tile");
-      assert(tileElem != NULL);
-      while(tileElem) {
-        x++;
-        _tile[x][y].SetTileXY(x * TILE_WIDTH, y * TILE_HEIGHT);
-
-        // <tileTexture> - Apply a teture to the tile.
-        dataElem = tileElem->FirstChildElement("tileTexture");
-        assert(dataElem != NULL);
-        stringstream tilePath;
-        tilePath << "../Data/Media/Images/Tiles/" << dataElem->GetText() << ".png";
-        _tile[x][y].SetTileTexture(_tileTextures.Add(tilePath.str()));
-        // <tileTexture> - Finished applying the texture, move to the next sibling.
-
-        // <solidTile> - Check to see if the tile is solid or not.
-        dataElem = dataElem->NextSiblingElement("solidTile");
-        assert(dataElem != NULL);
-        string tileSolidity = dataElem->GetText();
-        assert(tileSolidity == "false" || tileSolidity == "true");
-        if(tileSolidity == "false")
-          _tile[x][y].SetTileSolidity(false);
-        else
-          _tile[x][y].SetTileSolidity(true);
-        // </solidTile>
-
-        // <entityTexture>
-        dataElem = dataElem->NextSiblingElement("entityTexture");
-        assert(dataElem != NULL);
-        string entityName = dataElem->GetText();
-        if(entityName != "null") {
-          stringstream entityPath;
-          entityPath << "../Data/Media/Images/Entities/" << entityName << ".png";
-          _tile[x][y].SetEntityTexture(_entityTextures.AddAlpha(entityPath.str()));
-
-          _tile[x][y].SetEntityXY(_tile[x][y].GetTileX() + TILE_WIDTH  / 2 - _tile[x][y].GetEntityWidth()  / 2,
-                                   _tile[x][y].GetTileY() + TILE_HEIGHT / 2 - _tile[x][y].GetEntityHeight() / 2);
-        }
-        // </entityTexture>
-
-        // <SolidEntity>
-        dataElem = dataElem->NextSiblingElement("solidEntity");
-        assert(dataElem != NULL);
-        string entitySolidity = dataElem->GetText();
-        assert(entitySolidity == "false" || entitySolidity == "true");
-        if(entitySolidity == "false")
-          _tile[x][y].SetEntitySolidity(false);
-        else
-          _tile[x][y].SetEntitySolidity(true);
-        // </solidEntity>
-
-        // <zlevel>
-        dataElem = dataElem->NextSiblingElement("zLevel");
-        assert(dataElem != NULL);
-        _tile[x][y].SetZLevel(atoi(dataElem->GetText()));
-        // </zlevel>
-
-        // <mapTransition>
-        dataElem = dataElem->NextSiblingElement("mapTransition");
-        assert(dataElem != NULL);
-        _tile[x][y].SetMapTransitionName(dataElem->GetText());
-        // </mapTransition>
-
-        // <mapTransX>
-        dataElem = dataElem->NextSiblingElement("mapTransX");
-        assert(dataElem != NULL);
-        // int mapTransX = atoi(dataElem->GetText()); // not referenced
-        // </mapTransX>
-
-        // <mapTransY>
-        dataElem = dataElem->NextSiblingElement("mapTransY");
-        assert(dataElem != NULL);
-       // int mapTransY = atoi(dataElem->GetText()); // not referenced
-        // </mapTransY>
-
-        tileElem = tileElem->NextSiblingElement("tile");
-      }
-      //</tile>
-
-      lineElem = lineElem->NextSiblingElement("line");
-    }
-    // </line>
-  }
-  // </map>
-  levelWidth  = x * TILE_WIDTH;
-  levelHeight = y * TILE_HEIGHT;
-
-  //character->Load(filename);
-
-  NPC* npc = new NPC(this);
-
-  npc->SetXY(300, 300);
-  npc->LoadSprites("../Data/Media/Images/Characters/template.png", 40,45);
-  _world.AddNPC(npc);
-
-  npc = new NPC(this);
-  npc->SetXY(150, 350);
-  npc->LoadSprites("../Data/Media/Images/Characters/template.png", 40,45);
-  _world.AddNPC(npc);
-
-  npc = new NPC(this);
-  npc->SetXY(100, 250);
-  npc->LoadSprites("../Data/Media/Images/Characters/template.png", 40,45);
-  _world.AddNPC(npc);
-}
-
-void Map::Update(void) {
-  _world.Update();
-  // Update the map so we can render when camera moves.
-}
-
-void Map::Render(void) {
-  int xOrig = (camera.x / TILE_WIDTH) - 1;
-  int yOrig = (camera.y / TILE_HEIGHT) - 1;
-
-  if (xOrig < 0) xOrig = 0;
-  if (yOrig < 0) yOrig = 0;
-
-  int xEnd = xOrig + (SCREEN_WIDTH  / TILE_WIDTH) + 3;
-  int yEnd = yOrig + (SCREEN_HEIGHT / TILE_HEIGHT) + 3;
-
-  /* the fuck is this Allanis? --konom
-  if(xEnd < x)
-    xEnd++;
-  else
-    xEnd = x;
-
-  if(yEnd < y)
-    yEnd++;
-  else
-    yEnd = y;
-  */
-
-  if (xEnd > x) xEnd = x;
-  if (yEnd > y) yEnd = y;
-  if (xEnd < 0) xEnd = 0;
-  if (yEnd < 0) yEnd = 0;
-
-  if (xOrig > xEnd) xOrig = xEnd - 1;
-  if (yOrig > yEnd) yOrig = yEnd - 1;
-
-  for(int i = xOrig; i < xEnd; i++) {
-    for(int j = yOrig; j < yEnd; j++) {
-      _tile[i][j].Render();
-    }
-  }
-
-  _world.Render();
-}
-
-void Map::Unload(void) {
-  _tileTextures.Unload();
-  _entityTextures.Unload();
-}
-
-string Map::GetCurrentMap(void) {
-  return _currentMap;
-}
-
-bool Map::GetTileSolidity(int xArg, int yArg) {
-  return _tile[xArg + 1][yArg + 1].GetTileSolidity();
-}
-
-int Map::GetTileX(int xArg, int yArg) {
-  return _tile[xArg + 1][yArg + 1].GetTileX();
-}
-
-int Map::GetTileY(int xArg, int yArg) {
-  return _tile[xArg + 1][yArg + 1].GetTileY();
-}
-
-bool Map::GetEntitySolidity(int xArg, int yArg) {
-  if(xArg > x || yArg > y || yArg < 0 || yArg < 0) {
-    return false;
-  }
-
-  return _tile[xArg + 1][yArg + 1].GetEntitySolitity();
-}
-
-int Map::GetEntityX(int xArg, int yArg) {
-  return _tile[xArg + 1][yArg + 1].GetEntityX();
-}
-
-int Map::GetEntityY(int xArg, int yArg) {
-  return _tile[xArg + 1][yArg + 1].GetEntityY();
-}
-
-int Map::GetEntityWidth(int xArg, int yArg) {
-  return _tile[xArg + 1][yArg + 1].GetEntityWidth();
-}
-
-int Map::GetEntityHeight(int xArg, int yArg) {
-  return _tile[xArg + 1][yArg + 1].GetEntityHeight();
-}
-
-int Map::GetTileZLevel(int xArg, int yArg) {
-  return _tile[xArg + 1][yArg + 1].GetZLevel();
-}
-
-string Map::GetMapTransitionName(int xArg, int yArg) {
-  return _tile[xArg + 1][yArg + 1].GetMapTransitionName();
-}
-
-int Map::GetMapTransitionX(int xArg, int yArg) {
-  return _tile[xArg + 1][yArg + 1].GetMapTransitionX();
-}
-
-int Map::GetMapTransitionY(int xArg, int yArg) {
-  return _tile[xArg + 1][yArg + 1].GetMapTransitionY();
-}
diff --git a/src/libUnuk/Map/Map.h b/src/libUnuk/Map/Map.h
deleted file mode 100644
index 0d6a5cc..0000000
--- a/src/libUnuk/Map/Map.h
+++ /dev/null
@@ -1,64 +0,0 @@
-#pragma once
-#include <SDL/SDL.h>
-#include <iostream>
-#include <string>
-#include <sstream>
-#include <fstream>
-#include <assert.h>
-#include <tinyxml.h>
-
-#include "../../Unuk/Globals.h"
-#include "../../Unuk/Constants.h"
-#include "../Sprite/ImageLoader.h"
-#include "../Sprite/ApplySurface.h"
-#include "../Map/MapTile.h"
-#include "../System/Debug.h"
-#include "../Engine/WorldManager.h"
-using namespace std;
-
-//class CharacterManager;
-
-class Map {
-public:
-  Map(void);
-  ~Map(void);
-
-  void Load(const string filename);
-  void Update(void);
-  void Render(void);
-
-  bool GetTileSolidity(int xArg, int yArg);
-  int  GetTileX(int xArg, int yArg);
-  int  GetTileY(int xArg, int yArg);
-
-  bool GetEntitySolidity(int xArg, int yArg);
-  int  GetEntityX(int xArg, int yArg);
-  int  GetEntityY(int xArg, int yArg);
-  int  GetEntityWidth(int xArg, int yArg);
-  int  GetEntityHeight(int xArg, int yArg);
-
-  int  GetTileZLevel(int xArg, int yArg);
-
-  string GetMapTransitionName(int xArg, int yArg);
-  int    GetMapTransitionX(int xArg, int yArg);
-  int    GetMapTransitionY(int xArg, int yArg);
-
-  string GetCurrentMap(void);
-
-  WorldManager& GetWorld(void) { return _world; }
-
-private:
-  void Unload(void);
-
-  string _currentMap;
-  int x;
-  int y;
-
-  static const int TILE_ARRAY_SIZE = 150;
-  MapTile _tile[TILE_ARRAY_SIZE][TILE_ARRAY_SIZE];
-
-  TextureManager _tileTextures;
-  TextureManager _entityTextures;
-
-  WorldManager _world;
-};
diff --git a/src/libUnuk/UI/MainMenu.h b/src/libUnuk/UI/MainMenu.h
index a59bb9d..39be779 100644
--- a/src/libUnuk/UI/MainMenu.h
+++ b/src/libUnuk/UI/MainMenu.h
@@ -3,7 +3,7 @@
 #include "../../Unuk/Constants.h"
 #include "../System/FPS.h"
 #include "../UI/ButtonGroup.h"
-#include "../Map/Map.h"
+#include "../LevelGen/LevelGen.h"
 #include "../System/Rect.h"
 #include "../UI/Text.h"
 
@@ -24,7 +24,7 @@ public:
 private:
   void Render(void);
 
-  Map _background;
+	LevelGen _background;
 
   Text lblMenu;