diff --git a/Data/Media/.svn/all-wcprops b/Data/Media/.svn/all-wcprops
deleted file mode 100644
index 863ab18..0000000
--- a/Data/Media/.svn/all-wcprops
+++ /dev/null
@@ -1,11 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 45
-/saracraft/!svn/ver/119/trunk/Unuk/Data/Media
-END
-test.bmp
-K 25
-svn:wc:ra_dav:version-url
-V 54
-/saracraft/!svn/ver/119/trunk/Unuk/Data/Media/test.bmp
-END
diff --git a/Data/Media/.svn/entries b/Data/Media/.svn/entries
deleted file mode 100644
index 58857de..0000000
--- a/Data/Media/.svn/entries
+++ /dev/null
@@ -1,62 +0,0 @@
-10
-
-dir
-119
-https://svn.origo.ethz.ch/saracraft/trunk/Unuk/Data/Media
-https://svn.origo.ethz.ch/saracraft
-
-
-
-2011-08-27T10:14:02.081475Z
-119
-allanis
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-ed78350d-8895-4595-9ae3-86e2b1f39417
-
-test.bmp
-file
-
-
-
-
-2011-08-27T14:28:59.000000Z
-547bee8a4cb01050e3391eb8201ae6d5
-2011-08-27T10:14:02.081475Z
-119
-allanis
-has-props
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-160054
-
diff --git a/Data/Media/.svn/prop-base/test.bmp.svn-base b/Data/Media/.svn/prop-base/test.bmp.svn-base
deleted file mode 100644
index 5e9587e..0000000
--- a/Data/Media/.svn/prop-base/test.bmp.svn-base
+++ /dev/null
@@ -1,5 +0,0 @@
-K 13
-svn:mime-type
-V 24
-application/octet-stream
-END
diff --git a/Data/Media/.svn/text-base/test.bmp.svn-base b/Data/Media/.svn/text-base/test.bmp.svn-base
deleted file mode 100644
index cdfd4c9..0000000
Binary files a/Data/Media/.svn/text-base/test.bmp.svn-base and /dev/null differ
diff --git a/Data/Media/Characters/format.xml b/Data/Media/Characters/format.xml
new file mode 100644
index 0000000..949b1ad
--- /dev/null
+++ b/Data/Media/Characters/format.xml
@@ -0,0 +1,18 @@
+
+ Vagrant // can be overrided in the map.char file
+ healer_f // leave out path and filetype (.png)
+ false // true, false or on-attack
+
+ 100
+ 100
+
+
+
+
+
+ // this, and/or its child elements can be left out - null will be assumed
+
+
+
+
+
diff --git a/Data/Media/Characters/healer.xml b/Data/Media/Characters/healer.xml
new file mode 100644
index 0000000..3d5a289
--- /dev/null
+++ b/Data/Media/Characters/healer.xml
@@ -0,0 +1,6 @@
+
+ Healer
+ healer_f
+ false
+
+
diff --git a/Data/Media/Images/Characters/healer_f.png b/Data/Media/Images/Characters/healer_f.png
new file mode 100644
index 0000000..cca200e
Binary files /dev/null and b/Data/Media/Images/Characters/healer_f.png differ
diff --git a/Data/Media/Images/Characters/healer_m.png b/Data/Media/Images/Characters/healer_m.png
new file mode 100644
index 0000000..2669c9c
Binary files /dev/null and b/Data/Media/Images/Characters/healer_m.png differ
diff --git a/Data/Media/Images/Characters/mage_f.png b/Data/Media/Images/Characters/mage_f.png
new file mode 100644
index 0000000..7117737
Binary files /dev/null and b/Data/Media/Images/Characters/mage_f.png differ
diff --git a/Data/Media/Images/Characters/mage_m.png b/Data/Media/Images/Characters/mage_m.png
new file mode 100644
index 0000000..f384186
Binary files /dev/null and b/Data/Media/Images/Characters/mage_m.png differ
diff --git a/Data/Media/Images/Characters/ninja_f.png b/Data/Media/Images/Characters/ninja_f.png
new file mode 100644
index 0000000..eadc0d6
Binary files /dev/null and b/Data/Media/Images/Characters/ninja_f.png differ
diff --git a/Data/Media/Images/Characters/ninja_m.png b/Data/Media/Images/Characters/ninja_m.png
new file mode 100644
index 0000000..2c677f7
Binary files /dev/null and b/Data/Media/Images/Characters/ninja_m.png differ
diff --git a/Data/Media/Images/Characters/ranger_f.png b/Data/Media/Images/Characters/ranger_f.png
new file mode 100644
index 0000000..9b4758d
Binary files /dev/null and b/Data/Media/Images/Characters/ranger_f.png differ
diff --git a/Data/Media/Images/Characters/ranger_m.png b/Data/Media/Images/Characters/ranger_m.png
new file mode 100644
index 0000000..dd04e51
Binary files /dev/null and b/Data/Media/Images/Characters/ranger_m.png differ
diff --git a/Data/Media/Images/Characters/template.png_backup b/Data/Media/Images/Characters/template.png_backup
new file mode 100644
index 0000000..6628413
Binary files /dev/null and b/Data/Media/Images/Characters/template.png_backup differ
diff --git a/Data/Media/Images/Characters/townfolk_f.png b/Data/Media/Images/Characters/townfolk_f.png
new file mode 100644
index 0000000..e19fb58
Binary files /dev/null and b/Data/Media/Images/Characters/townfolk_f.png differ
diff --git a/Data/Media/Images/Characters/townfolk_m.png b/Data/Media/Images/Characters/townfolk_m.png
new file mode 100644
index 0000000..d541d9b
Binary files /dev/null and b/Data/Media/Images/Characters/townfolk_m.png differ
diff --git a/Data/Media/Images/Characters/warrior_f.png b/Data/Media/Images/Characters/warrior_f.png
new file mode 100644
index 0000000..ffd65bd
Binary files /dev/null and b/Data/Media/Images/Characters/warrior_f.png differ
diff --git a/Data/Media/Images/Characters/warrior_m.png b/Data/Media/Images/Characters/warrior_m.png
new file mode 100644
index 0000000..5902e9d
Binary files /dev/null and b/Data/Media/Images/Characters/warrior_m.png differ
diff --git a/Data/Media/Images/Entities/closedChest.png b/Data/Media/Images/Entities/closedChest.png
new file mode 100644
index 0000000..b1a9dab
Binary files /dev/null and b/Data/Media/Images/Entities/closedChest.png differ
diff --git a/Data/Media/Images/Entities/closedChestMetal.png b/Data/Media/Images/Entities/closedChestMetal.png
new file mode 100644
index 0000000..3cbcb4a
Binary files /dev/null and b/Data/Media/Images/Entities/closedChestMetal.png differ
diff --git a/Data/Media/Images/Entities/closedChestMetal2.png b/Data/Media/Images/Entities/closedChestMetal2.png
new file mode 100644
index 0000000..5bec0a1
Binary files /dev/null and b/Data/Media/Images/Entities/closedChestMetal2.png differ
diff --git a/Data/Media/Images/Entities/openChest.png b/Data/Media/Images/Entities/openChest.png
new file mode 100644
index 0000000..43f2d67
Binary files /dev/null and b/Data/Media/Images/Entities/openChest.png differ
diff --git a/Data/Media/Images/Entities/openChestMetal.png b/Data/Media/Images/Entities/openChestMetal.png
new file mode 100644
index 0000000..b1fd5a0
Binary files /dev/null and b/Data/Media/Images/Entities/openChestMetal.png differ
diff --git a/Data/Media/Images/Entities/openChestMetal2.png b/Data/Media/Images/Entities/openChestMetal2.png
new file mode 100644
index 0000000..197078e
Binary files /dev/null and b/Data/Media/Images/Entities/openChestMetal2.png differ
diff --git a/Data/Media/Images/Entities/tree.png b/Data/Media/Images/Entities/tree.png
new file mode 100644
index 0000000..554c867
Binary files /dev/null and b/Data/Media/Images/Entities/tree.png differ
diff --git a/Data/Media/Images/Particles/black.png b/Data/Media/Images/Particles/black.png
new file mode 100644
index 0000000..f49692d
Binary files /dev/null and b/Data/Media/Images/Particles/black.png differ
diff --git a/Data/Media/Images/Particles/blue.png b/Data/Media/Images/Particles/blue.png
new file mode 100644
index 0000000..baebf7d
Binary files /dev/null and b/Data/Media/Images/Particles/blue.png differ
diff --git a/Data/Media/Images/Particles/green.png b/Data/Media/Images/Particles/green.png
new file mode 100644
index 0000000..7aee1b6
Binary files /dev/null and b/Data/Media/Images/Particles/green.png differ
diff --git a/Data/Media/Images/Particles/orange.png b/Data/Media/Images/Particles/orange.png
new file mode 100644
index 0000000..ffcf82d
Binary files /dev/null and b/Data/Media/Images/Particles/orange.png differ
diff --git a/Data/Media/Images/Particles/pink.png b/Data/Media/Images/Particles/pink.png
new file mode 100644
index 0000000..86ace67
Binary files /dev/null and b/Data/Media/Images/Particles/pink.png differ
diff --git a/Data/Media/Images/Particles/purple.png b/Data/Media/Images/Particles/purple.png
new file mode 100644
index 0000000..82ac7c7
Binary files /dev/null and b/Data/Media/Images/Particles/purple.png differ
diff --git a/Data/Media/Images/Particles/red.png b/Data/Media/Images/Particles/red.png
new file mode 100644
index 0000000..716e3f3
Binary files /dev/null and b/Data/Media/Images/Particles/red.png differ
diff --git a/Data/Media/Images/Particles/teal.png b/Data/Media/Images/Particles/teal.png
new file mode 100644
index 0000000..7f45d00
Binary files /dev/null and b/Data/Media/Images/Particles/teal.png differ
diff --git a/Data/Media/Images/Particles/white.png b/Data/Media/Images/Particles/white.png
new file mode 100644
index 0000000..ad003c7
Binary files /dev/null and b/Data/Media/Images/Particles/white.png differ
diff --git a/Data/Media/Images/Particles/yellow.png b/Data/Media/Images/Particles/yellow.png
new file mode 100644
index 0000000..fb0fdf5
Binary files /dev/null and b/Data/Media/Images/Particles/yellow.png differ
diff --git a/Data/Media/Images/Tiles/0px/brickFloor.png b/Data/Media/Images/Tiles/0px/brickFloor.png
new file mode 100644
index 0000000..bcc223a
Binary files /dev/null and b/Data/Media/Images/Tiles/0px/brickFloor.png differ
diff --git a/Data/Media/Images/Tiles/0px/grass.png b/Data/Media/Images/Tiles/0px/grass.png
new file mode 100644
index 0000000..08e0a87
Binary files /dev/null and b/Data/Media/Images/Tiles/0px/grass.png differ
diff --git a/Data/Media/Images/Tiles/0px/grassDead.png b/Data/Media/Images/Tiles/0px/grassDead.png
new file mode 100644
index 0000000..b76e5a8
Binary files /dev/null and b/Data/Media/Images/Tiles/0px/grassDead.png differ
diff --git a/Data/Media/Images/Tiles/0px/grassFrozen.png b/Data/Media/Images/Tiles/0px/grassFrozen.png
new file mode 100644
index 0000000..171f8ef
Binary files /dev/null and b/Data/Media/Images/Tiles/0px/grassFrozen.png differ
diff --git a/Data/Media/Images/Tiles/0px/gravel.png b/Data/Media/Images/Tiles/0px/gravel.png
new file mode 100644
index 0000000..f48cd55
Binary files /dev/null and b/Data/Media/Images/Tiles/0px/gravel.png differ
diff --git a/Data/Media/Images/Tiles/0px/groundFrozen.png b/Data/Media/Images/Tiles/0px/groundFrozen.png
new file mode 100644
index 0000000..1f8c75a
Binary files /dev/null and b/Data/Media/Images/Tiles/0px/groundFrozen.png differ
diff --git a/Data/Media/Images/Tiles/0px/groundFrozen2.png b/Data/Media/Images/Tiles/0px/groundFrozen2.png
new file mode 100644
index 0000000..8b03808
Binary files /dev/null and b/Data/Media/Images/Tiles/0px/groundFrozen2.png differ
diff --git a/Data/Media/Images/Tiles/0px/groundFrozen3.png b/Data/Media/Images/Tiles/0px/groundFrozen3.png
new file mode 100644
index 0000000..277baa0
Binary files /dev/null and b/Data/Media/Images/Tiles/0px/groundFrozen3.png differ
diff --git a/Data/Media/Images/Tiles/0px/groundFrozen4.png b/Data/Media/Images/Tiles/0px/groundFrozen4.png
new file mode 100644
index 0000000..114724f
Binary files /dev/null and b/Data/Media/Images/Tiles/0px/groundFrozen4.png differ
diff --git a/Data/Media/Images/Tiles/0px/ice.png b/Data/Media/Images/Tiles/0px/ice.png
new file mode 100644
index 0000000..e680dd6
Binary files /dev/null and b/Data/Media/Images/Tiles/0px/ice.png differ
diff --git a/Data/Media/Images/Tiles/0px/ice2.png b/Data/Media/Images/Tiles/0px/ice2.png
new file mode 100644
index 0000000..d54febe
Binary files /dev/null and b/Data/Media/Images/Tiles/0px/ice2.png differ
diff --git a/Data/Media/Images/Tiles/0px/ice3.png b/Data/Media/Images/Tiles/0px/ice3.png
new file mode 100644
index 0000000..b2ea835
Binary files /dev/null and b/Data/Media/Images/Tiles/0px/ice3.png differ
diff --git a/Data/Media/Images/Tiles/0px/marbleGreen.png b/Data/Media/Images/Tiles/0px/marbleGreen.png
new file mode 100644
index 0000000..7b356c7
Binary files /dev/null and b/Data/Media/Images/Tiles/0px/marbleGreen.png differ
diff --git a/Data/Media/Images/Tiles/0px/marbleGreen2.png b/Data/Media/Images/Tiles/0px/marbleGreen2.png
new file mode 100644
index 0000000..bb5fec8
Binary files /dev/null and b/Data/Media/Images/Tiles/0px/marbleGreen2.png differ
diff --git a/Data/Media/Images/Tiles/0px/marbleWhite.png b/Data/Media/Images/Tiles/0px/marbleWhite.png
new file mode 100644
index 0000000..a8815c6
Binary files /dev/null and b/Data/Media/Images/Tiles/0px/marbleWhite.png differ
diff --git a/Data/Media/Images/Tiles/0px/mud.png b/Data/Media/Images/Tiles/0px/mud.png
new file mode 100644
index 0000000..9d64879
Binary files /dev/null and b/Data/Media/Images/Tiles/0px/mud.png differ
diff --git a/Data/Media/Images/Tiles/0px/rock.png b/Data/Media/Images/Tiles/0px/rock.png
new file mode 100644
index 0000000..dd6e5e8
Binary files /dev/null and b/Data/Media/Images/Tiles/0px/rock.png differ
diff --git a/Data/Media/Images/Tiles/0px/sand.png b/Data/Media/Images/Tiles/0px/sand.png
new file mode 100644
index 0000000..252c2d3
Binary files /dev/null and b/Data/Media/Images/Tiles/0px/sand.png differ
diff --git a/Data/Media/Images/Tiles/0px/snow.png b/Data/Media/Images/Tiles/0px/snow.png
new file mode 100644
index 0000000..0531f43
Binary files /dev/null and b/Data/Media/Images/Tiles/0px/snow.png differ
diff --git a/Data/Media/Images/Tiles/0px/stoneFLoor.png b/Data/Media/Images/Tiles/0px/stoneFLoor.png
new file mode 100644
index 0000000..e68e673
Binary files /dev/null and b/Data/Media/Images/Tiles/0px/stoneFLoor.png differ
diff --git a/Data/Media/Images/Tiles/0px/stoneFloor2.png b/Data/Media/Images/Tiles/0px/stoneFloor2.png
new file mode 100644
index 0000000..dfec331
Binary files /dev/null and b/Data/Media/Images/Tiles/0px/stoneFloor2.png differ
diff --git a/Data/Media/Images/Tiles/0px/water.png b/Data/Media/Images/Tiles/0px/water.png
new file mode 100644
index 0000000..9086086
Binary files /dev/null and b/Data/Media/Images/Tiles/0px/water.png differ
diff --git a/Data/Media/Images/Tiles/0px/water2.png b/Data/Media/Images/Tiles/0px/water2.png
new file mode 100644
index 0000000..f769ca0
Binary files /dev/null and b/Data/Media/Images/Tiles/0px/water2.png differ
diff --git a/Data/Media/Images/Tiles/0px/woodFloor.png b/Data/Media/Images/Tiles/0px/woodFloor.png
new file mode 100644
index 0000000..0748414
Binary files /dev/null and b/Data/Media/Images/Tiles/0px/woodFloor.png differ
diff --git a/Data/Media/Images/Tiles/0px/woodPlank.png b/Data/Media/Images/Tiles/0px/woodPlank.png
new file mode 100644
index 0000000..e656b14
Binary files /dev/null and b/Data/Media/Images/Tiles/0px/woodPlank.png differ
diff --git a/Data/Media/Images/Tiles/0px/woodPlank2.png b/Data/Media/Images/Tiles/0px/woodPlank2.png
new file mode 100644
index 0000000..58e5923
Binary files /dev/null and b/Data/Media/Images/Tiles/0px/woodPlank2.png differ
diff --git a/Data/Media/Images/Tiles/0px/woodPlank3.png b/Data/Media/Images/Tiles/0px/woodPlank3.png
new file mode 100644
index 0000000..00148de
Binary files /dev/null and b/Data/Media/Images/Tiles/0px/woodPlank3.png differ
diff --git a/Data/Media/Images/Tiles/0px/woodPlank4.png b/Data/Media/Images/Tiles/0px/woodPlank4.png
new file mode 100644
index 0000000..ee340a6
Binary files /dev/null and b/Data/Media/Images/Tiles/0px/woodPlank4.png differ
diff --git a/Data/Media/Images/Tiles/2px/brickFloor.png b/Data/Media/Images/Tiles/2px/brickFloor.png
new file mode 100644
index 0000000..2c5f64d
Binary files /dev/null and b/Data/Media/Images/Tiles/2px/brickFloor.png differ
diff --git a/Data/Media/Images/Tiles/2px/grass.png b/Data/Media/Images/Tiles/2px/grass.png
new file mode 100644
index 0000000..170a5c9
Binary files /dev/null and b/Data/Media/Images/Tiles/2px/grass.png differ
diff --git a/Data/Media/Images/Tiles/2px/grassDead.png b/Data/Media/Images/Tiles/2px/grassDead.png
new file mode 100644
index 0000000..c5140e6
Binary files /dev/null and b/Data/Media/Images/Tiles/2px/grassDead.png differ
diff --git a/Data/Media/Images/Tiles/2px/grassFrozen.png b/Data/Media/Images/Tiles/2px/grassFrozen.png
new file mode 100644
index 0000000..d5addd3
Binary files /dev/null and b/Data/Media/Images/Tiles/2px/grassFrozen.png differ
diff --git a/Data/Media/Images/Tiles/2px/gravel.png b/Data/Media/Images/Tiles/2px/gravel.png
new file mode 100644
index 0000000..39d9362
Binary files /dev/null and b/Data/Media/Images/Tiles/2px/gravel.png differ
diff --git a/Data/Media/Images/Tiles/2px/groundFrozen.png b/Data/Media/Images/Tiles/2px/groundFrozen.png
new file mode 100644
index 0000000..12efca9
Binary files /dev/null and b/Data/Media/Images/Tiles/2px/groundFrozen.png differ
diff --git a/Data/Media/Images/Tiles/2px/groundFrozen2.png b/Data/Media/Images/Tiles/2px/groundFrozen2.png
new file mode 100644
index 0000000..cbb6bb5
Binary files /dev/null and b/Data/Media/Images/Tiles/2px/groundFrozen2.png differ
diff --git a/Data/Media/Images/Tiles/2px/groundFrozen3.png b/Data/Media/Images/Tiles/2px/groundFrozen3.png
new file mode 100644
index 0000000..d4230b6
Binary files /dev/null and b/Data/Media/Images/Tiles/2px/groundFrozen3.png differ
diff --git a/Data/Media/Images/Tiles/2px/groundFrozen4.png b/Data/Media/Images/Tiles/2px/groundFrozen4.png
new file mode 100644
index 0000000..a9a2728
Binary files /dev/null and b/Data/Media/Images/Tiles/2px/groundFrozen4.png differ
diff --git a/Data/Media/Images/Tiles/2px/ice.png b/Data/Media/Images/Tiles/2px/ice.png
new file mode 100644
index 0000000..ca35ec7
Binary files /dev/null and b/Data/Media/Images/Tiles/2px/ice.png differ
diff --git a/Data/Media/Images/Tiles/2px/ice2.png b/Data/Media/Images/Tiles/2px/ice2.png
new file mode 100644
index 0000000..c112a90
Binary files /dev/null and b/Data/Media/Images/Tiles/2px/ice2.png differ
diff --git a/Data/Media/Images/Tiles/2px/ice3.png b/Data/Media/Images/Tiles/2px/ice3.png
new file mode 100644
index 0000000..e775161
Binary files /dev/null and b/Data/Media/Images/Tiles/2px/ice3.png differ
diff --git a/Data/Media/Images/Tiles/2px/marbleGreen.png b/Data/Media/Images/Tiles/2px/marbleGreen.png
new file mode 100644
index 0000000..f098438
Binary files /dev/null and b/Data/Media/Images/Tiles/2px/marbleGreen.png differ
diff --git a/Data/Media/Images/Tiles/2px/marbleGreen2.png b/Data/Media/Images/Tiles/2px/marbleGreen2.png
new file mode 100644
index 0000000..5f46bf8
Binary files /dev/null and b/Data/Media/Images/Tiles/2px/marbleGreen2.png differ
diff --git a/Data/Media/Images/Tiles/2px/marbleWhite.png b/Data/Media/Images/Tiles/2px/marbleWhite.png
new file mode 100644
index 0000000..8221f95
Binary files /dev/null and b/Data/Media/Images/Tiles/2px/marbleWhite.png differ
diff --git a/Data/Media/Images/Tiles/2px/mud.png b/Data/Media/Images/Tiles/2px/mud.png
new file mode 100644
index 0000000..752cda4
Binary files /dev/null and b/Data/Media/Images/Tiles/2px/mud.png differ
diff --git a/Data/Media/Images/Tiles/2px/rock.png b/Data/Media/Images/Tiles/2px/rock.png
new file mode 100644
index 0000000..a00ed44
Binary files /dev/null and b/Data/Media/Images/Tiles/2px/rock.png differ
diff --git a/Data/Media/Images/Tiles/2px/sand.png b/Data/Media/Images/Tiles/2px/sand.png
new file mode 100644
index 0000000..e20f949
Binary files /dev/null and b/Data/Media/Images/Tiles/2px/sand.png differ
diff --git a/Data/Media/Images/Tiles/2px/snow.png b/Data/Media/Images/Tiles/2px/snow.png
new file mode 100644
index 0000000..fd57956
Binary files /dev/null and b/Data/Media/Images/Tiles/2px/snow.png differ
diff --git a/Data/Media/Images/Tiles/2px/stoneFLoor.png b/Data/Media/Images/Tiles/2px/stoneFLoor.png
new file mode 100644
index 0000000..41b6c1c
Binary files /dev/null and b/Data/Media/Images/Tiles/2px/stoneFLoor.png differ
diff --git a/Data/Media/Images/Tiles/2px/stoneFloor2.png b/Data/Media/Images/Tiles/2px/stoneFloor2.png
new file mode 100644
index 0000000..87f2aba
Binary files /dev/null and b/Data/Media/Images/Tiles/2px/stoneFloor2.png differ
diff --git a/Data/Media/Images/Tiles/2px/water.png b/Data/Media/Images/Tiles/2px/water.png
new file mode 100644
index 0000000..0c58c0d
Binary files /dev/null and b/Data/Media/Images/Tiles/2px/water.png differ
diff --git a/Data/Media/Images/Tiles/2px/water2.png b/Data/Media/Images/Tiles/2px/water2.png
new file mode 100644
index 0000000..230a274
Binary files /dev/null and b/Data/Media/Images/Tiles/2px/water2.png differ
diff --git a/Data/Media/Images/Tiles/2px/woodFloor.png b/Data/Media/Images/Tiles/2px/woodFloor.png
new file mode 100644
index 0000000..da05959
Binary files /dev/null and b/Data/Media/Images/Tiles/2px/woodFloor.png differ
diff --git a/Data/Media/Images/Tiles/2px/woodPlank.png b/Data/Media/Images/Tiles/2px/woodPlank.png
new file mode 100644
index 0000000..e3f414f
Binary files /dev/null and b/Data/Media/Images/Tiles/2px/woodPlank.png differ
diff --git a/Data/Media/Images/Tiles/2px/woodPlank2.png b/Data/Media/Images/Tiles/2px/woodPlank2.png
new file mode 100644
index 0000000..33f0f8b
Binary files /dev/null and b/Data/Media/Images/Tiles/2px/woodPlank2.png differ
diff --git a/Data/Media/Images/Tiles/2px/woodPlank3.png b/Data/Media/Images/Tiles/2px/woodPlank3.png
new file mode 100644
index 0000000..dae70ab
Binary files /dev/null and b/Data/Media/Images/Tiles/2px/woodPlank3.png differ
diff --git a/Data/Media/Images/Tiles/2px/woodPlank4.png b/Data/Media/Images/Tiles/2px/woodPlank4.png
new file mode 100644
index 0000000..0ef4268
Binary files /dev/null and b/Data/Media/Images/Tiles/2px/woodPlank4.png differ
diff --git a/Data/Media/Images/Tiles/5px/brickFloor.png b/Data/Media/Images/Tiles/5px/brickFloor.png
new file mode 100644
index 0000000..152fb8b
Binary files /dev/null and b/Data/Media/Images/Tiles/5px/brickFloor.png differ
diff --git a/Data/Media/Images/Tiles/5px/brickFloor2.png b/Data/Media/Images/Tiles/5px/brickFloor2.png
new file mode 100644
index 0000000..c2a5f80
Binary files /dev/null and b/Data/Media/Images/Tiles/5px/brickFloor2.png differ
diff --git a/Data/Media/Images/Tiles/5px/frozenGround.png b/Data/Media/Images/Tiles/5px/frozenGround.png
new file mode 100644
index 0000000..15c36e3
Binary files /dev/null and b/Data/Media/Images/Tiles/5px/frozenGround.png differ
diff --git a/Data/Media/Images/Tiles/5px/frozenGround2.png b/Data/Media/Images/Tiles/5px/frozenGround2.png
new file mode 100644
index 0000000..44ff9aa
Binary files /dev/null and b/Data/Media/Images/Tiles/5px/frozenGround2.png differ
diff --git a/Data/Media/Images/Tiles/5px/frozenGround3.png b/Data/Media/Images/Tiles/5px/frozenGround3.png
new file mode 100644
index 0000000..d75ec09
Binary files /dev/null and b/Data/Media/Images/Tiles/5px/frozenGround3.png differ
diff --git a/Data/Media/Images/Tiles/5px/grass.png b/Data/Media/Images/Tiles/5px/grass.png
new file mode 100644
index 0000000..b4a261a
Binary files /dev/null and b/Data/Media/Images/Tiles/5px/grass.png differ
diff --git a/Data/Media/Images/Tiles/5px/grassDead.png b/Data/Media/Images/Tiles/5px/grassDead.png
new file mode 100644
index 0000000..c2c7926
Binary files /dev/null and b/Data/Media/Images/Tiles/5px/grassDead.png differ
diff --git a/Data/Media/Images/Tiles/5px/grassDead2.png b/Data/Media/Images/Tiles/5px/grassDead2.png
new file mode 100644
index 0000000..a60e4b6
Binary files /dev/null and b/Data/Media/Images/Tiles/5px/grassDead2.png differ
diff --git a/Data/Media/Images/Tiles/5px/grassFrozen.png b/Data/Media/Images/Tiles/5px/grassFrozen.png
new file mode 100644
index 0000000..d351d84
Binary files /dev/null and b/Data/Media/Images/Tiles/5px/grassFrozen.png differ
diff --git a/Data/Media/Images/Tiles/5px/grassRocky.png b/Data/Media/Images/Tiles/5px/grassRocky.png
new file mode 100644
index 0000000..d40aabb
Binary files /dev/null and b/Data/Media/Images/Tiles/5px/grassRocky.png differ
diff --git a/Data/Media/Images/Tiles/5px/gravel.png b/Data/Media/Images/Tiles/5px/gravel.png
new file mode 100644
index 0000000..31015b9
Binary files /dev/null and b/Data/Media/Images/Tiles/5px/gravel.png differ
diff --git a/Data/Media/Images/Tiles/5px/ice.png b/Data/Media/Images/Tiles/5px/ice.png
new file mode 100644
index 0000000..7386bf4
Binary files /dev/null and b/Data/Media/Images/Tiles/5px/ice.png differ
diff --git a/Data/Media/Images/Tiles/5px/ice2.png b/Data/Media/Images/Tiles/5px/ice2.png
new file mode 100644
index 0000000..afb7f85
Binary files /dev/null and b/Data/Media/Images/Tiles/5px/ice2.png differ
diff --git a/Data/Media/Images/Tiles/5px/ice3.png b/Data/Media/Images/Tiles/5px/ice3.png
new file mode 100644
index 0000000..0041f4f
Binary files /dev/null and b/Data/Media/Images/Tiles/5px/ice3.png differ
diff --git a/Data/Media/Images/Tiles/5px/leavesDead.png b/Data/Media/Images/Tiles/5px/leavesDead.png
new file mode 100644
index 0000000..797e304
Binary files /dev/null and b/Data/Media/Images/Tiles/5px/leavesDead.png differ
diff --git a/Data/Media/Images/Tiles/5px/marbleGreen.png b/Data/Media/Images/Tiles/5px/marbleGreen.png
new file mode 100644
index 0000000..a881bc2
Binary files /dev/null and b/Data/Media/Images/Tiles/5px/marbleGreen.png differ
diff --git a/Data/Media/Images/Tiles/5px/marbleGreen2.png b/Data/Media/Images/Tiles/5px/marbleGreen2.png
new file mode 100644
index 0000000..900b6b6
Binary files /dev/null and b/Data/Media/Images/Tiles/5px/marbleGreen2.png differ
diff --git a/Data/Media/Images/Tiles/5px/marbleWhite.png b/Data/Media/Images/Tiles/5px/marbleWhite.png
new file mode 100644
index 0000000..995070c
Binary files /dev/null and b/Data/Media/Images/Tiles/5px/marbleWhite.png differ
diff --git a/Data/Media/Images/Tiles/5px/mossyStone.png b/Data/Media/Images/Tiles/5px/mossyStone.png
new file mode 100644
index 0000000..e01676a
Binary files /dev/null and b/Data/Media/Images/Tiles/5px/mossyStone.png differ
diff --git a/Data/Media/Images/Tiles/5px/mud.png b/Data/Media/Images/Tiles/5px/mud.png
new file mode 100644
index 0000000..f6c70ab
Binary files /dev/null and b/Data/Media/Images/Tiles/5px/mud.png differ
diff --git a/Data/Media/Images/Tiles/5px/rock.png b/Data/Media/Images/Tiles/5px/rock.png
new file mode 100644
index 0000000..e75224f
Binary files /dev/null and b/Data/Media/Images/Tiles/5px/rock.png differ
diff --git a/Data/Media/Images/Tiles/5px/sand.png b/Data/Media/Images/Tiles/5px/sand.png
new file mode 100644
index 0000000..adb0abd
Binary files /dev/null and b/Data/Media/Images/Tiles/5px/sand.png differ
diff --git a/Data/Media/Images/Tiles/5px/snow.png b/Data/Media/Images/Tiles/5px/snow.png
new file mode 100644
index 0000000..8695693
Binary files /dev/null and b/Data/Media/Images/Tiles/5px/snow.png differ
diff --git a/Data/Media/Images/Tiles/5px/stone.png b/Data/Media/Images/Tiles/5px/stone.png
new file mode 100644
index 0000000..cd69970
Binary files /dev/null and b/Data/Media/Images/Tiles/5px/stone.png differ
diff --git a/Data/Media/Images/Tiles/5px/stoneFloor.png b/Data/Media/Images/Tiles/5px/stoneFloor.png
new file mode 100644
index 0000000..aa33270
Binary files /dev/null and b/Data/Media/Images/Tiles/5px/stoneFloor.png differ
diff --git a/Data/Media/Images/Tiles/5px/void.png b/Data/Media/Images/Tiles/5px/void.png
new file mode 100644
index 0000000..0303bfd
Binary files /dev/null and b/Data/Media/Images/Tiles/5px/void.png differ
diff --git a/Data/Media/Images/Tiles/5px/water.png b/Data/Media/Images/Tiles/5px/water.png
new file mode 100644
index 0000000..24a0fdd
Binary files /dev/null and b/Data/Media/Images/Tiles/5px/water.png differ
diff --git a/Data/Media/Images/Tiles/5px/water2.png b/Data/Media/Images/Tiles/5px/water2.png
new file mode 100644
index 0000000..aa79b44
Binary files /dev/null and b/Data/Media/Images/Tiles/5px/water2.png differ
diff --git a/Data/Media/Images/Tiles/5px/woodFloor.png b/Data/Media/Images/Tiles/5px/woodFloor.png
new file mode 100644
index 0000000..94b3ab6
Binary files /dev/null and b/Data/Media/Images/Tiles/5px/woodFloor.png differ
diff --git a/Data/Media/Images/Tiles/5px/woodPlanks.png b/Data/Media/Images/Tiles/5px/woodPlanks.png
new file mode 100644
index 0000000..677c728
Binary files /dev/null and b/Data/Media/Images/Tiles/5px/woodPlanks.png differ
diff --git a/Data/Media/Images/Tiles/5px/woodPlanks2.png b/Data/Media/Images/Tiles/5px/woodPlanks2.png
new file mode 100644
index 0000000..3cac637
Binary files /dev/null and b/Data/Media/Images/Tiles/5px/woodPlanks2.png differ
diff --git a/Data/Media/Images/Tiles/5px/woodPlanks3.png b/Data/Media/Images/Tiles/5px/woodPlanks3.png
new file mode 100644
index 0000000..9864868
Binary files /dev/null and b/Data/Media/Images/Tiles/5px/woodPlanks3.png differ
diff --git a/Data/Media/Images/Tiles/5px/woodPlanks4.png b/Data/Media/Images/Tiles/5px/woodPlanks4.png
new file mode 100644
index 0000000..bd22027
Binary files /dev/null and b/Data/Media/Images/Tiles/5px/woodPlanks4.png differ
diff --git a/Data/Media/Images/Tiles/brickFloor.png b/Data/Media/Images/Tiles/brickFloor.png
new file mode 100644
index 0000000..bcc223a
Binary files /dev/null and b/Data/Media/Images/Tiles/brickFloor.png differ
diff --git a/Data/Media/Images/Tiles/cliff.png b/Data/Media/Images/Tiles/cliff.png
new file mode 100644
index 0000000..f5490c0
Binary files /dev/null and b/Data/Media/Images/Tiles/cliff.png differ
diff --git a/Data/Media/Images/Tiles/grass.png b/Data/Media/Images/Tiles/grass.png
new file mode 100644
index 0000000..08e0a87
Binary files /dev/null and b/Data/Media/Images/Tiles/grass.png differ
diff --git a/Data/Media/Images/Tiles/grassDead.png b/Data/Media/Images/Tiles/grassDead.png
new file mode 100644
index 0000000..b76e5a8
Binary files /dev/null and b/Data/Media/Images/Tiles/grassDead.png differ
diff --git a/Data/Media/Images/Tiles/grassFrozen.png b/Data/Media/Images/Tiles/grassFrozen.png
new file mode 100644
index 0000000..171f8ef
Binary files /dev/null and b/Data/Media/Images/Tiles/grassFrozen.png differ
diff --git a/Data/Media/Images/Tiles/gravel.png b/Data/Media/Images/Tiles/gravel.png
new file mode 100644
index 0000000..f48cd55
Binary files /dev/null and b/Data/Media/Images/Tiles/gravel.png differ
diff --git a/Data/Media/Images/Tiles/groundFrozen.png b/Data/Media/Images/Tiles/groundFrozen.png
new file mode 100644
index 0000000..1f8c75a
Binary files /dev/null and b/Data/Media/Images/Tiles/groundFrozen.png differ
diff --git a/Data/Media/Images/Tiles/groundFrozen2.png b/Data/Media/Images/Tiles/groundFrozen2.png
new file mode 100644
index 0000000..8b03808
Binary files /dev/null and b/Data/Media/Images/Tiles/groundFrozen2.png differ
diff --git a/Data/Media/Images/Tiles/groundFrozen3.png b/Data/Media/Images/Tiles/groundFrozen3.png
new file mode 100644
index 0000000..277baa0
Binary files /dev/null and b/Data/Media/Images/Tiles/groundFrozen3.png differ
diff --git a/Data/Media/Images/Tiles/groundFrozen4.png b/Data/Media/Images/Tiles/groundFrozen4.png
new file mode 100644
index 0000000..114724f
Binary files /dev/null and b/Data/Media/Images/Tiles/groundFrozen4.png differ
diff --git a/Data/Media/Images/Tiles/ice.png b/Data/Media/Images/Tiles/ice.png
new file mode 100644
index 0000000..e680dd6
Binary files /dev/null and b/Data/Media/Images/Tiles/ice.png differ
diff --git a/Data/Media/Images/Tiles/ice2.png b/Data/Media/Images/Tiles/ice2.png
new file mode 100644
index 0000000..d54febe
Binary files /dev/null and b/Data/Media/Images/Tiles/ice2.png differ
diff --git a/Data/Media/Images/Tiles/ice3.png b/Data/Media/Images/Tiles/ice3.png
new file mode 100644
index 0000000..b2ea835
Binary files /dev/null and b/Data/Media/Images/Tiles/ice3.png differ
diff --git a/Data/Media/Images/Tiles/marbleGreen.png b/Data/Media/Images/Tiles/marbleGreen.png
new file mode 100644
index 0000000..7b356c7
Binary files /dev/null and b/Data/Media/Images/Tiles/marbleGreen.png differ
diff --git a/Data/Media/Images/Tiles/marbleGreen2.png b/Data/Media/Images/Tiles/marbleGreen2.png
new file mode 100644
index 0000000..bb5fec8
Binary files /dev/null and b/Data/Media/Images/Tiles/marbleGreen2.png differ
diff --git a/Data/Media/Images/Tiles/marbleWhite.png b/Data/Media/Images/Tiles/marbleWhite.png
new file mode 100644
index 0000000..a8815c6
Binary files /dev/null and b/Data/Media/Images/Tiles/marbleWhite.png differ
diff --git a/Data/Media/Images/Tiles/mud.png b/Data/Media/Images/Tiles/mud.png
new file mode 100644
index 0000000..9d64879
Binary files /dev/null and b/Data/Media/Images/Tiles/mud.png differ
diff --git a/Data/Media/Images/Tiles/original/FloorsMedieval0009_1_S.jpg b/Data/Media/Images/Tiles/original/FloorsMedieval0009_1_S.jpg
new file mode 100644
index 0000000..a48a525
Binary files /dev/null and b/Data/Media/Images/Tiles/original/FloorsMedieval0009_1_S.jpg differ
diff --git a/Data/Media/Images/Tiles/original/FloorsMedieval0010_5_S.jpg b/Data/Media/Images/Tiles/original/FloorsMedieval0010_5_S.jpg
new file mode 100644
index 0000000..27ee719
Binary files /dev/null and b/Data/Media/Images/Tiles/original/FloorsMedieval0010_5_S.jpg differ
diff --git a/Data/Media/Images/Tiles/original/FloorsMedieval0012_7_S.jpg b/Data/Media/Images/Tiles/original/FloorsMedieval0012_7_S.jpg
new file mode 100644
index 0000000..94316ce
Binary files /dev/null and b/Data/Media/Images/Tiles/original/FloorsMedieval0012_7_S.jpg differ
diff --git a/Data/Media/Images/Tiles/original/FloorsMedieval0015_19_S.jpg b/Data/Media/Images/Tiles/original/FloorsMedieval0015_19_S.jpg
new file mode 100644
index 0000000..3eeb486
Binary files /dev/null and b/Data/Media/Images/Tiles/original/FloorsMedieval0015_19_S.jpg differ
diff --git a/Data/Media/Images/Tiles/original/FloorsRounded0041_2_S.jpg b/Data/Media/Images/Tiles/original/FloorsRounded0041_2_S.jpg
new file mode 100644
index 0000000..0e89df8
Binary files /dev/null and b/Data/Media/Images/Tiles/original/FloorsRounded0041_2_S.jpg differ
diff --git a/Data/Media/Images/Tiles/original/Grass0053_26_S.jpg b/Data/Media/Images/Tiles/original/Grass0053_26_S.jpg
new file mode 100644
index 0000000..d6a4ace
Binary files /dev/null and b/Data/Media/Images/Tiles/original/Grass0053_26_S.jpg differ
diff --git a/Data/Media/Images/Tiles/original/GrassDead0106_13_S.jpg b/Data/Media/Images/Tiles/original/GrassDead0106_13_S.jpg
new file mode 100644
index 0000000..97e4cce
Binary files /dev/null and b/Data/Media/Images/Tiles/original/GrassDead0106_13_S.jpg differ
diff --git a/Data/Media/Images/Tiles/original/GravelCobble0019_15_S.jpg b/Data/Media/Images/Tiles/original/GravelCobble0019_15_S.jpg
new file mode 100644
index 0000000..7a78951
Binary files /dev/null and b/Data/Media/Images/Tiles/original/GravelCobble0019_15_S.jpg differ
diff --git a/Data/Media/Images/Tiles/original/GroundFrozen0021_7_S.jpg b/Data/Media/Images/Tiles/original/GroundFrozen0021_7_S.jpg
new file mode 100644
index 0000000..345c03c
Binary files /dev/null and b/Data/Media/Images/Tiles/original/GroundFrozen0021_7_S.jpg differ
diff --git a/Data/Media/Images/Tiles/original/GroundFrozen0028_9_S.jpg b/Data/Media/Images/Tiles/original/GroundFrozen0028_9_S.jpg
new file mode 100644
index 0000000..bd17944
Binary files /dev/null and b/Data/Media/Images/Tiles/original/GroundFrozen0028_9_S.jpg differ
diff --git a/Data/Media/Images/Tiles/original/GroundFrozen0033_2_S.jpg b/Data/Media/Images/Tiles/original/GroundFrozen0033_2_S.jpg
new file mode 100644
index 0000000..5a038af
Binary files /dev/null and b/Data/Media/Images/Tiles/original/GroundFrozen0033_2_S.jpg differ
diff --git a/Data/Media/Images/Tiles/original/GroundFrozen0038_2_S.jpg b/Data/Media/Images/Tiles/original/GroundFrozen0038_2_S.jpg
new file mode 100644
index 0000000..64269ad
Binary files /dev/null and b/Data/Media/Images/Tiles/original/GroundFrozen0038_2_S.jpg differ
diff --git a/Data/Media/Images/Tiles/original/Ice0044_28_S.jpg b/Data/Media/Images/Tiles/original/Ice0044_28_S.jpg
new file mode 100644
index 0000000..13a6d82
Binary files /dev/null and b/Data/Media/Images/Tiles/original/Ice0044_28_S.jpg differ
diff --git a/Data/Media/Images/Tiles/original/Ice0044_42_S.jpg b/Data/Media/Images/Tiles/original/Ice0044_42_S.jpg
new file mode 100644
index 0000000..0cff46f
Binary files /dev/null and b/Data/Media/Images/Tiles/original/Ice0044_42_S.jpg differ
diff --git a/Data/Media/Images/Tiles/original/Ice0054_2_S.jpg b/Data/Media/Images/Tiles/original/Ice0054_2_S.jpg
new file mode 100644
index 0000000..209d863
Binary files /dev/null and b/Data/Media/Images/Tiles/original/Ice0054_2_S.jpg differ
diff --git a/Data/Media/Images/Tiles/original/MarbleGreen0001_39_S.jpg b/Data/Media/Images/Tiles/original/MarbleGreen0001_39_S.jpg
new file mode 100644
index 0000000..f2323f0
Binary files /dev/null and b/Data/Media/Images/Tiles/original/MarbleGreen0001_39_S.jpg differ
diff --git a/Data/Media/Images/Tiles/original/MarbleGreen0014_21_S.jpg b/Data/Media/Images/Tiles/original/MarbleGreen0014_21_S.jpg
new file mode 100644
index 0000000..dcf6c6a
Binary files /dev/null and b/Data/Media/Images/Tiles/original/MarbleGreen0014_21_S.jpg differ
diff --git a/Data/Media/Images/Tiles/original/MarbleWhite0059_9_S.jpg b/Data/Media/Images/Tiles/original/MarbleWhite0059_9_S.jpg
new file mode 100644
index 0000000..065b220
Binary files /dev/null and b/Data/Media/Images/Tiles/original/MarbleWhite0059_9_S.jpg differ
diff --git a/Data/Media/Images/Tiles/original/RockJagged0010_2_S.jpg b/Data/Media/Images/Tiles/original/RockJagged0010_2_S.jpg
new file mode 100644
index 0000000..52104b8
Binary files /dev/null and b/Data/Media/Images/Tiles/original/RockJagged0010_2_S.jpg differ
diff --git a/Data/Media/Images/Tiles/original/Snow0041_5_S.jpg b/Data/Media/Images/Tiles/original/Snow0041_5_S.jpg
new file mode 100644
index 0000000..ac44f78
Binary files /dev/null and b/Data/Media/Images/Tiles/original/Snow0041_5_S.jpg differ
diff --git a/Data/Media/Images/Tiles/original/SoilBeach0087_1_S.jpg b/Data/Media/Images/Tiles/original/SoilBeach0087_1_S.jpg
new file mode 100644
index 0000000..97a28bf
Binary files /dev/null and b/Data/Media/Images/Tiles/original/SoilBeach0087_1_S.jpg differ
diff --git a/Data/Media/Images/Tiles/original/SoilMud0004_9_S.jpg b/Data/Media/Images/Tiles/original/SoilMud0004_9_S.jpg
new file mode 100644
index 0000000..e71d4d0
Binary files /dev/null and b/Data/Media/Images/Tiles/original/SoilMud0004_9_S.jpg differ
diff --git a/Data/Media/Images/Tiles/original/WaterPlain0008_2_S.jpg b/Data/Media/Images/Tiles/original/WaterPlain0008_2_S.jpg
new file mode 100644
index 0000000..541ea80
Binary files /dev/null and b/Data/Media/Images/Tiles/original/WaterPlain0008_2_S.jpg differ
diff --git a/Data/Media/Images/Tiles/original/WaterPlain0029_5_S.jpg b/Data/Media/Images/Tiles/original/WaterPlain0029_5_S.jpg
new file mode 100644
index 0000000..41ea272
Binary files /dev/null and b/Data/Media/Images/Tiles/original/WaterPlain0029_5_S.jpg differ
diff --git a/Data/Media/Images/Tiles/original/WoodPlanksBare0001_1_S.jpg b/Data/Media/Images/Tiles/original/WoodPlanksBare0001_1_S.jpg
new file mode 100644
index 0000000..284d9e6
Binary files /dev/null and b/Data/Media/Images/Tiles/original/WoodPlanksBare0001_1_S.jpg differ
diff --git a/Data/Media/Images/Tiles/original/WoodPlanksBare0006_1_S.jpg b/Data/Media/Images/Tiles/original/WoodPlanksBare0006_1_S.jpg
new file mode 100644
index 0000000..ae8a455
Binary files /dev/null and b/Data/Media/Images/Tiles/original/WoodPlanksBare0006_1_S.jpg differ
diff --git a/Data/Media/Images/Tiles/original/WoodPlanksBare0057_1_S.jpg b/Data/Media/Images/Tiles/original/WoodPlanksBare0057_1_S.jpg
new file mode 100644
index 0000000..c29392a
Binary files /dev/null and b/Data/Media/Images/Tiles/original/WoodPlanksBare0057_1_S.jpg differ
diff --git a/Data/Media/Images/Tiles/original/WoodPlanksBare0063_1_S.jpg b/Data/Media/Images/Tiles/original/WoodPlanksBare0063_1_S.jpg
new file mode 100644
index 0000000..609467a
Binary files /dev/null and b/Data/Media/Images/Tiles/original/WoodPlanksBare0063_1_S.jpg differ
diff --git a/Data/Media/Images/Tiles/rock.png b/Data/Media/Images/Tiles/rock.png
new file mode 100644
index 0000000..dd6e5e8
Binary files /dev/null and b/Data/Media/Images/Tiles/rock.png differ
diff --git a/Data/Media/Images/Tiles/sand.png b/Data/Media/Images/Tiles/sand.png
new file mode 100644
index 0000000..252c2d3
Binary files /dev/null and b/Data/Media/Images/Tiles/sand.png differ
diff --git a/Data/Media/Images/Tiles/snow.png b/Data/Media/Images/Tiles/snow.png
new file mode 100644
index 0000000..0531f43
Binary files /dev/null and b/Data/Media/Images/Tiles/snow.png differ
diff --git a/Data/Media/Images/Tiles/stoneFloor.png b/Data/Media/Images/Tiles/stoneFloor.png
new file mode 100644
index 0000000..e68e673
Binary files /dev/null and b/Data/Media/Images/Tiles/stoneFloor.png differ
diff --git a/Data/Media/Images/Tiles/stoneFloor2.png b/Data/Media/Images/Tiles/stoneFloor2.png
new file mode 100644
index 0000000..dfec331
Binary files /dev/null and b/Data/Media/Images/Tiles/stoneFloor2.png differ
diff --git a/Data/Media/Images/Tiles/void.png b/Data/Media/Images/Tiles/void.png
new file mode 100644
index 0000000..6b70c56
Binary files /dev/null and b/Data/Media/Images/Tiles/void.png differ
diff --git a/Data/Media/Images/Tiles/water.png b/Data/Media/Images/Tiles/water.png
new file mode 100644
index 0000000..9086086
Binary files /dev/null and b/Data/Media/Images/Tiles/water.png differ
diff --git a/Data/Media/Images/Tiles/water2.png b/Data/Media/Images/Tiles/water2.png
new file mode 100644
index 0000000..f769ca0
Binary files /dev/null and b/Data/Media/Images/Tiles/water2.png differ
diff --git a/Data/Media/Images/Tiles/woodFloor.png b/Data/Media/Images/Tiles/woodFloor.png
new file mode 100644
index 0000000..0748414
Binary files /dev/null and b/Data/Media/Images/Tiles/woodFloor.png differ
diff --git a/Data/Media/Images/Tiles/woodPlank.png b/Data/Media/Images/Tiles/woodPlank.png
new file mode 100644
index 0000000..e656b14
Binary files /dev/null and b/Data/Media/Images/Tiles/woodPlank.png differ
diff --git a/Data/Media/Images/Tiles/woodPlank2.png b/Data/Media/Images/Tiles/woodPlank2.png
new file mode 100644
index 0000000..58e5923
Binary files /dev/null and b/Data/Media/Images/Tiles/woodPlank2.png differ
diff --git a/Data/Media/Images/Tiles/woodPlank3.png b/Data/Media/Images/Tiles/woodPlank3.png
new file mode 100644
index 0000000..00148de
Binary files /dev/null and b/Data/Media/Images/Tiles/woodPlank3.png differ
diff --git a/Data/Media/Images/Tiles/woodPlank4.png b/Data/Media/Images/Tiles/woodPlank4.png
new file mode 100644
index 0000000..ee340a6
Binary files /dev/null and b/Data/Media/Images/Tiles/woodPlank4.png differ
diff --git a/Data/Media/Maps/format b/Data/Media/Maps/format
new file mode 100644
index 0000000..26a4d51
--- /dev/null
+++ b/Data/Media/Maps/format
@@ -0,0 +1,18 @@
+ grass 0 crate 1 100 n 0 0
+tile texture | solid tile | entity texture | solid entity | zlevel | transition | x | y
+
+off/null in the string fields is represented by "null".
+
+A solid entity is only possible if the entity is smaller than a tile.
+
+A tile with the texture "null" must be used to make the map rectangular, this is to avoid onion skinning.
+
+A zLevel of 100 is the floor.
+
+A zlevel of -1 means a ladder or ramp, it temporarily turns off the zLevel movement restrictions for the player,
+ the next tile that the player walks upon will be the new zLevel of the player.
+There must be solid tiles to either side of the ladder/ramp.
+
+A map name in the transition field will make the game switch to that map when the player walks onto that tile.
+
+The last two fields are the x,y that the player should be transported to if the map is changed.
diff --git a/Data/Media/Maps/mainmenu b/Data/Media/Maps/mainmenu
new file mode 100644
index 0000000..905bd3e
--- /dev/null
+++ b/Data/Media/Maps/mainmenu
@@ -0,0 +1,13 @@
+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/Data/Media/Maps/mainmenu~ b/Data/Media/Maps/mainmenu~
new file mode 100644
index 0000000..70fc775
--- /dev/null
+++ b/Data/Media/Maps/mainmenu~
@@ -0,0 +1,13 @@
+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 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 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/Data/Media/Maps/rock b/Data/Media/Maps/rock
new file mode 100644
index 0000000..9cf587a
--- /dev/null
+++ b/Data/Media/Maps/rock
@@ -0,0 +1,17 @@
+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
diff --git a/Data/Media/Maps/rock.char b/Data/Media/Maps/rock.char
new file mode 100644
index 0000000..e69de29
diff --git a/Data/Media/Maps/rock~ b/Data/Media/Maps/rock~
new file mode 100644
index 0000000..9cf587a
--- /dev/null
+++ b/Data/Media/Maps/rock~
@@ -0,0 +1,17 @@
+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
diff --git a/Data/Media/Spells/format.xml b/Data/Media/Spells/format.xml
new file mode 100644
index 0000000..df420d2
--- /dev/null
+++ b/Data/Media/Spells/format.xml
@@ -0,0 +1,7 @@
+
+ beam // beam, spray, targeted, self // all can either be one-off or sustained
+ white black // multiple colours can be listed and the spell will have equal amounts of those colours
+
+ 5 // per sec, or per cast
+
+
diff --git a/Data/Media/attrib b/Data/Media/attrib
new file mode 100644
index 0000000..8e399e4
--- /dev/null
+++ b/Data/Media/attrib
@@ -0,0 +1,10 @@
+World textures:
+http://www.cgtextures.com/
+
+
+Character sprites:
+http://opengameart.org/content/antifareas-rpg-sprite-set-1-enlarged-w-transparent-background-0
+
+
+Chest images:
+http://opengameart.org/content/treasure-chests-32x32-and-16x16
diff --git a/Unuk-QT/Entity.o b/Unuk-QT/Entity.o
deleted file mode 100644
index 267e388..0000000
Binary files a/Unuk-QT/Entity.o and /dev/null differ
diff --git a/Unuk-QT/Game.o b/Unuk-QT/Game.o
deleted file mode 100644
index b8d347c..0000000
Binary files a/Unuk-QT/Game.o and /dev/null differ
diff --git a/Unuk-QT/Makefile b/Unuk-QT/Makefile
index 51bb948..023210a 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: Wed Nov 9 15:15:42 2011
+# Generated by qmake (2.01a) (Qt 4.7.3) on: Sat Nov 19 22:57:56 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
@@ -54,7 +54,12 @@ SOURCES = ../src/libUnuk/Debug.cpp \
../src/libUnuk/ImageLoader.cpp \
../src/libUnuk/TextureManager.cpp \
../src/libUnuk/Texture.cpp \
- ../src/libUnuk/Text.cpp
+ ../src/libUnuk/Text.cpp \
+ ../src/libUnuk/Map.cpp \
+ ../src/libUnuk/Button.cpp \
+ ../src/libUnuk/ButtonToggle.cpp \
+ ../src/libUnuk/ParticleEmitter.cpp \
+ ../src/libUnuk/MainMenu.cpp
OBJECTS = Debug.o \
main.o \
Input.o \
@@ -66,12 +71,16 @@ OBJECTS = Debug.o \
ImageLoader.o \
TextureManager.o \
Texture.o \
- Text.o
+ Text.o \
+ Map.o \
+ Button.o \
+ ButtonToggle.o \
+ ParticleEmitter.o \
+ MainMenu.o
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_phonon.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 \
@@ -123,7 +132,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_phonon.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 \
@@ -146,7 +154,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_phonon.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:
@@ -169,7 +176,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/libUnuk/Debug.h ../src/Libs/wglext.h ../src/Libs/glxext.h ../src/libUnuk/Input.h ../src/libUnuk/Rect.h ../src/libUnuk/Timer.h ../src/libUnuk/Font.h ../Constants.h ../src/Unuk/Constants.h ../src/libUnuk/ApplySurface.h ../src/Unuk/Globals.h ../src/libUnuk/ImageLoader.h ../src/libUnuk/TextureManager.h ../src/libUnuk/Texture.h ../src/libUnuk/Text.h .tmp/Unuk-QT1.0.0/ && $(COPY_FILE) --parents ../src/libUnuk/Debug.cpp ../src/Unuk/main.cpp ../src/libUnuk/Input.cpp ../src/libUnuk/Timer.cpp ../src/libUnuk/Font.cpp ../src/libUnuk/ApplySurface.cpp ../src/Unuk/Globals.cpp ../src/libUnuk/Rect.cpp ../src/libUnuk/ImageLoader.cpp ../src/libUnuk/TextureManager.cpp ../src/libUnuk/Texture.cpp ../src/libUnuk/Text.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/libUnuk/Debug.h ../src/Libs/wglext.h ../src/Libs/glxext.h ../src/libUnuk/Input.h ../src/libUnuk/Rect.h ../src/libUnuk/Timer.h ../src/libUnuk/Font.h ../Constants.h ../src/Unuk/Constants.h ../src/libUnuk/ApplySurface.h ../src/Unuk/Globals.h ../src/libUnuk/ImageLoader.h ../src/libUnuk/TextureManager.h ../src/libUnuk/Texture.h ../src/libUnuk/Text.h ../src/libUnuk/MapTile.h ../src/libUnuk/Map.h ../src/libUnuk/Button.h ../src/libUnuk/ButtonToggle.h ../src/libUnuk/Menu.h ../src/libUnuk/MainMenu.h ../src/libUnuk/ParticleEmitter.h .tmp/Unuk-QT1.0.0/ && $(COPY_FILE) --parents ../src/libUnuk/Debug.cpp ../src/Unuk/main.cpp ../src/libUnuk/Input.cpp ../src/libUnuk/Timer.cpp ../src/libUnuk/Font.cpp ../src/libUnuk/ApplySurface.cpp ../src/Unuk/Globals.cpp ../src/libUnuk/Rect.cpp ../src/libUnuk/ImageLoader.cpp ../src/libUnuk/TextureManager.cpp ../src/libUnuk/Texture.cpp ../src/libUnuk/Text.cpp ../src/libUnuk/Map.cpp ../src/libUnuk/Button.cpp ../src/libUnuk/ButtonToggle.cpp ../src/libUnuk/ParticleEmitter.cpp ../src/libUnuk/MainMenu.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
@@ -216,7 +223,8 @@ Debug.o: ../src/libUnuk/Debug.cpp ../src/libUnuk/Debug.h
main.o: ../src/Unuk/main.cpp ../src/libUnuk/Input.h \
../src/libUnuk/Debug.h \
- ../src/Unuk/Constants.h
+ ../src/Unuk/Constants.h \
+ ../src/Unuk/Globals.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o ../src/Unuk/main.cpp
Input.o: ../src/libUnuk/Input.cpp ../src/libUnuk/Input.h
@@ -268,6 +276,63 @@ Text.o: ../src/libUnuk/Text.cpp ../src/libUnuk/Text.h \
../src/libUnuk/Font.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o Text.o ../src/libUnuk/Text.cpp
+Map.o: ../src/libUnuk/Map.cpp ../src/libUnuk/Map.h \
+ ../src/Unuk/Globals.h \
+ ../src/Unuk/Constants.h \
+ ../src/libUnuk/ImageLoader.h \
+ ../src/libUnuk/Debug.h \
+ ../src/libUnuk/ApplySurface.h \
+ ../src/libUnuk/TextureManager.h \
+ ../src/libUnuk/MapTile.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o Map.o ../src/libUnuk/Map.cpp
+
+Button.o: ../src/libUnuk/Button.cpp ../src/libUnuk/Button.h \
+ ../src/Unuk/Globals.h \
+ ../src/libUnuk/Input.h \
+ ../src/libUnuk/Text.h \
+ ../src/libUnuk/ApplySurface.h \
+ ../src/libUnuk/Debug.h \
+ ../src/libUnuk/Font.h \
+ ../src/libUnuk/Rect.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o Button.o ../src/libUnuk/Button.cpp
+
+ButtonToggle.o: ../src/libUnuk/ButtonToggle.cpp ../src/libUnuk/ButtonToggle.h \
+ ../src/libUnuk/Button.h \
+ ../src/Unuk/Globals.h \
+ ../src/libUnuk/Input.h \
+ ../src/libUnuk/Text.h \
+ ../src/libUnuk/ApplySurface.h \
+ ../src/libUnuk/Debug.h \
+ ../src/libUnuk/Font.h \
+ ../src/libUnuk/Rect.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ButtonToggle.o ../src/libUnuk/ButtonToggle.cpp
+
+ParticleEmitter.o: ../src/libUnuk/ParticleEmitter.cpp ../src/libUnuk/ParticleEmitter.h \
+ ../src/Unuk/Globals.h \
+ ../src/libUnuk/ImageLoader.h \
+ ../src/libUnuk/Debug.h \
+ ../src/libUnuk/ApplySurface.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ParticleEmitter.o ../src/libUnuk/ParticleEmitter.cpp
+
+MainMenu.o: ../src/libUnuk/MainMenu.cpp ../src/libUnuk/MainMenu.h \
+ ../src/Unuk/Constants.h \
+ ../src/libUnuk/ParticleEmitter.h \
+ ../src/Unuk/Globals.h \
+ ../src/libUnuk/ImageLoader.h \
+ ../src/libUnuk/Debug.h \
+ ../src/libUnuk/ApplySurface.h \
+ ../src/libUnuk/Menu.h \
+ ../src/libUnuk/Button.h \
+ ../src/libUnuk/Input.h \
+ ../src/libUnuk/Text.h \
+ ../src/libUnuk/Font.h \
+ ../src/libUnuk/Rect.h \
+ ../src/libUnuk/ButtonToggle.h \
+ ../src/libUnuk/Map.h \
+ ../src/libUnuk/TextureManager.h \
+ ../src/libUnuk/MapTile.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o MainMenu.o ../src/libUnuk/MainMenu.cpp
+
####### Install
install: FORCE
diff --git a/Unuk-QT/Makefile_backup b/Unuk-QT/Makefile_backup
deleted file mode 100644
index c5297d5..0000000
--- a/Unuk-QT/Makefile_backup
+++ /dev/null
@@ -1,261 +0,0 @@
-#############################################################################
-# Makefile for building: Unuk-QT
-# Generated by qmake (2.01a) (Qt 4.7.3) on: Wed Oct 5 01:03:25 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
-#############################################################################
-
-####### Compiler, tools and options
-
-CC = gcc
-CXX = g++
-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 -lQtGui -lQtCore -lpthread -lGL -lGLU -lglut -lSDL
-AR = ar cqs
-RANLIB =
-QMAKE = /usr/bin/qmake-qt4
-TAR = tar -cf
-COMPRESS = gzip -9f
-COPY = cp -f
-SED = sed
-COPY_FILE = $(COPY)
-COPY_DIR = $(COPY) -r
-STRIP = strip
-INSTALL_FILE = install -m 644 -p
-INSTALL_DIR = $(COPY_DIR)
-INSTALL_PROGRAM = install -m 755 -p
-DEL_FILE = rm -f
-SYMLINK = ln -f -s
-DEL_DIR = rmdir
-MOVE = mv -f
-CHK_DIR_EXISTS= test -d
-MKDIR = mkdir -p
-
-####### Output directory
-
-OBJECTS_DIR = ./
-
-####### Files
-
-SOURCES = ../src/libUnuk/Vec2.cpp \
- ../src/libUnuk/Sprite.cpp \
- ../src/libUnuk/ImageLoader.cpp \
- ../src/libUnuk/GlxWindow.cpp \
- ../src/libUnuk/Debug.cpp \
- ../src/Unuk/Player.cpp \
- ../src/Unuk/main.cpp \
- ../src/Unuk/Game.cpp
-OBJECTS = Vec2.o \
- Sprite.o \
- ImageLoader.o \
- GlxWindow.o \
- Debug.o \
- Player.o \
- main.o \
- Game.o
-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/features/qt_functions.prf \
- /usr/share/qt4/mkspecs/features/qt_config.prf \
- /usr/share/qt4/mkspecs/features/exclusive_builds.prf \
- /usr/share/qt4/mkspecs/features/default_pre.prf \
- /usr/share/qt4/mkspecs/features/debug.prf \
- /usr/share/qt4/mkspecs/features/default_post.prf \
- /usr/share/qt4/mkspecs/features/warn_on.prf \
- /usr/share/qt4/mkspecs/features/qt.prf \
- /usr/share/qt4/mkspecs/features/unix/thread.prf \
- /usr/share/qt4/mkspecs/features/moc.prf \
- /usr/share/qt4/mkspecs/features/resources.prf \
- /usr/share/qt4/mkspecs/features/uic.prf \
- /usr/share/qt4/mkspecs/features/yacc.prf \
- /usr/share/qt4/mkspecs/features/lex.prf \
- /usr/share/qt4/mkspecs/features/include_source_dir.prf \
- Unuk-QT.pro
-QMAKE_TARGET = Unuk-QT
-DESTDIR =
-TARGET = Unuk-QT
-
-first: all
-####### Implicit rules
-
-.SUFFIXES: .o .c .cpp .cc .cxx .C
-
-.cpp.o:
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
-
-.cc.o:
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
-
-.cxx.o:
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
-
-.C.o:
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
-
-.c.o:
- $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<"
-
-####### Build rules
-
-all: Makefile $(TARGET)
-
-$(TARGET): $(OBJECTS)
- $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)
-
-Makefile: Unuk-QT.pro /usr/share/qt4/mkspecs/linux-g++/qmake.conf /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/features/qt_functions.prf \
- /usr/share/qt4/mkspecs/features/qt_config.prf \
- /usr/share/qt4/mkspecs/features/exclusive_builds.prf \
- /usr/share/qt4/mkspecs/features/default_pre.prf \
- /usr/share/qt4/mkspecs/features/debug.prf \
- /usr/share/qt4/mkspecs/features/default_post.prf \
- /usr/share/qt4/mkspecs/features/warn_on.prf \
- /usr/share/qt4/mkspecs/features/qt.prf \
- /usr/share/qt4/mkspecs/features/unix/thread.prf \
- /usr/share/qt4/mkspecs/features/moc.prf \
- /usr/share/qt4/mkspecs/features/resources.prf \
- /usr/share/qt4/mkspecs/features/uic.prf \
- /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/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/features/qt_functions.prf:
-/usr/share/qt4/mkspecs/features/qt_config.prf:
-/usr/share/qt4/mkspecs/features/exclusive_builds.prf:
-/usr/share/qt4/mkspecs/features/default_pre.prf:
-/usr/share/qt4/mkspecs/features/debug.prf:
-/usr/share/qt4/mkspecs/features/default_post.prf:
-/usr/share/qt4/mkspecs/features/warn_on.prf:
-/usr/share/qt4/mkspecs/features/qt.prf:
-/usr/share/qt4/mkspecs/features/unix/thread.prf:
-/usr/share/qt4/mkspecs/features/moc.prf:
-/usr/share/qt4/mkspecs/features/resources.prf:
-/usr/share/qt4/mkspecs/features/uic.prf:
-/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/libQtGui.prl:
-/usr/lib/libQtCore.prl:
-qmake: FORCE
- @$(QMAKE) -spec /usr/share/qt4/mkspecs/linux-g++ CONFIG+=debug -o Makefile Unuk-QT.pro
-
-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/libUnuk/Vec2.h ../src/libUnuk/ImageLoader.h ../src/libUnuk/GlxWindow.h ../src/libUnuk/Sprite.h ../src/libUnuk/Debug.h ../src/Libs/wglext.h ../src/Libs/glxext.h ../src/Unuk/Game.h ../src/Unuk/Player.h ../src/libUnuk/Input.h .tmp/Unuk-QT1.0.0/ && $(COPY_FILE) --parents ../src/libUnuk/Vec2.cpp ../src/libUnuk/Sprite.cpp ../src/libUnuk/ImageLoader.cpp ../src/libUnuk/GlxWindow.cpp ../src/libUnuk/Debug.cpp ../src/Unuk/Player.cpp ../src/Unuk/main.cpp ../src/Unuk/Game.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
- -$(DEL_FILE) $(OBJECTS)
- -$(DEL_FILE) *~ core *.core
-
-
-####### Sub-libraries
-
-distclean: clean
- -$(DEL_FILE) $(TARGET)
- -$(DEL_FILE) Makefile
-
-
-check: first
-
-mocclean: compiler_moc_header_clean compiler_moc_source_clean
-
-mocables: compiler_moc_header_make_all compiler_moc_source_make_all
-
-compiler_moc_header_make_all:
-compiler_moc_header_clean:
-compiler_rcc_make_all:
-compiler_rcc_clean:
-compiler_image_collection_make_all: qmake_image_collection.cpp
-compiler_image_collection_clean:
- -$(DEL_FILE) qmake_image_collection.cpp
-compiler_moc_source_make_all:
-compiler_moc_source_clean:
-compiler_uic_make_all:
-compiler_uic_clean:
-compiler_yacc_decl_make_all:
-compiler_yacc_decl_clean:
-compiler_yacc_impl_make_all:
-compiler_yacc_impl_clean:
-compiler_lex_make_all:
-compiler_lex_clean:
-compiler_clean:
-
-####### Compile
-
-Vec2.o: ../src/libUnuk/Vec2.cpp ../src/libUnuk/Vec2.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o Vec2.o ../src/libUnuk/Vec2.cpp
-
-Sprite.o: ../src/libUnuk/Sprite.cpp ../src/libUnuk/Sprite.h \
- ../src/libUnuk/ImageLoader.h \
- ../src/libUnuk/Debug.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o Sprite.o ../src/libUnuk/Sprite.cpp
-
-ImageLoader.o: ../src/libUnuk/ImageLoader.cpp ../src/libUnuk/ImageLoader.h \
- ../src/libUnuk/Debug.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ImageLoader.o ../src/libUnuk/ImageLoader.cpp
-
-GlxWindow.o: ../src/libUnuk/GlxWindow.cpp ../src/libUnuk/GlxWindow.h \
- ../src/Libs/glxext.h \
- ../src/Unuk/Game.h \
- ../src/Unuk/Player.h \
- ../src/libUnuk/Sprite.h \
- ../src/libUnuk/ImageLoader.h \
- ../src/libUnuk/Vec2.h \
- ../src/libUnuk/Debug.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o GlxWindow.o ../src/libUnuk/GlxWindow.cpp
-
-Debug.o: ../src/libUnuk/Debug.cpp ../src/libUnuk/Debug.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o Debug.o ../src/libUnuk/Debug.cpp
-
-Player.o: ../src/Unuk/Player.cpp ../src/libUnuk/Sprite.h \
- ../src/libUnuk/ImageLoader.h \
- ../src/libUnuk/Vec2.h \
- ../src/libUnuk/Debug.h \
- ../src/Unuk/Player.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o Player.o ../src/Unuk/Player.cpp
-
-main.o: ../src/Unuk/main.cpp ../src/libUnuk/Win32Window.h \
- ../src/libUnuk/GlxWindow.h \
- ../src/Libs/glxext.h \
- ../src/Unuk/Game.h \
- ../src/Unuk/Player.h \
- ../src/libUnuk/Sprite.h \
- ../src/libUnuk/ImageLoader.h \
- ../src/libUnuk/Vec2.h \
- ../src/libUnuk/Debug.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o ../src/Unuk/main.cpp
-
-Game.o: ../src/Unuk/Game.cpp ../src/Unuk/Game.h \
- ../src/Unuk/Player.h \
- ../src/libUnuk/Sprite.h \
- ../src/libUnuk/ImageLoader.h \
- ../src/libUnuk/Vec2.h \
- ../src/libUnuk/Debug.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o Game.o ../src/Unuk/Game.cpp
-
-####### Install
-
-install: FORCE
-
-uninstall: FORCE
-
-FORCE:
-
diff --git a/Unuk-QT/Player.o b/Unuk-QT/Player.o
deleted file mode 100644
index a48f487..0000000
Binary files a/Unuk-QT/Player.o and /dev/null differ
diff --git a/Unuk-QT/Sprite.o b/Unuk-QT/Sprite.o
deleted file mode 100644
index bd9d82b..0000000
Binary files a/Unuk-QT/Sprite.o and /dev/null differ
diff --git a/Unuk-QT/Unuk-QT.pro b/Unuk-QT/Unuk-QT.pro
index 18a0e40..eefce26 100644
--- a/Unuk-QT/Unuk-QT.pro
+++ b/Unuk-QT/Unuk-QT.pro
@@ -19,7 +19,14 @@ HEADERS += ../src/libUnuk/Debug.h \
../src/libUnuk/ImageLoader.h \
../src/libUnuk/TextureManager.h \
../src/libUnuk/Texture.h \
- ../src/libUnuk/Text.h
+ ../src/libUnuk/Text.h \
+ ../src/libUnuk/MapTile.h \
+ ../src/libUnuk/Map.h \
+ ../src/libUnuk/Button.h \
+ ../src/libUnuk/ButtonToggle.h \
+ ../src/libUnuk/Menu.h \
+ ../src/libUnuk/MainMenu.h \
+ ../src/libUnuk/ParticleEmitter.h
SOURCES += ../src/libUnuk/Debug.cpp \
../src/Unuk/main.cpp \
../src/libUnuk/Input.cpp \
@@ -31,4 +38,9 @@ SOURCES += ../src/libUnuk/Debug.cpp \
../src/libUnuk/ImageLoader.cpp \
../src/libUnuk/TextureManager.cpp \
../src/libUnuk/Texture.cpp \
- ../src/libUnuk/Text.cpp
+ ../src/libUnuk/Text.cpp \
+ ../src/libUnuk/Map.cpp \
+ ../src/libUnuk/Button.cpp \
+ ../src/libUnuk/ButtonToggle.cpp \
+ ../src/libUnuk/ParticleEmitter.cpp \
+ ../src/libUnuk/MainMenu.cpp
diff --git a/src/Unuk/Globals.cpp b/src/Unuk/Globals.cpp
index 6ca0bd3..3cd14d4 100644
--- a/src/Unuk/Globals.cpp
+++ b/src/Unuk/Globals.cpp
@@ -5,7 +5,7 @@ SDL_Surface* errorTexture = NULL;
SDL_Rect camera;
-//SDL_Event event;
+SDL_Event event;
int levelWidth;
int levelHeight;
diff --git a/src/Unuk/Globals.h b/src/Unuk/Globals.h
index d563fb0..7949c9b 100644
--- a/src/Unuk/Globals.h
+++ b/src/Unuk/Globals.h
@@ -8,7 +8,7 @@ extern SDL_Surface* errorTexture;
extern SDL_Rect camera;
-//extern SDL_Event event;
+extern SDL_Event event;
extern int levelWidth;
extern int levelHeight;
diff --git a/src/Unuk/main.cpp b/src/Unuk/main.cpp
index faa8cf7..2bce4a6 100644
--- a/src/Unuk/main.cpp
+++ b/src/Unuk/main.cpp
@@ -6,10 +6,12 @@
#include
#include
#include
-#include "SDL/SDL.h"
+#include
+
#include "../libUnuk/Input.h"
#include "../libUnuk/Debug.h"
#include "Constants.h"
+#include "Globals.h"
// Screen width, height, and bit depth.
//const int SCREEN_WIDTH = 640;
diff --git a/src/libUnuk/Button.cpp b/src/libUnuk/Button.cpp
new file mode 100644
index 0000000..02a6138
--- /dev/null
+++ b/src/libUnuk/Button.cpp
@@ -0,0 +1,62 @@
+#include "Button.h"
+
+Button::Button(void) {
+
+}
+
+Button::~Button(void) {
+
+}
+
+void Button::SetOutRGB(Uint8 r, Uint8 g, Uint8 b) {
+ button.SetRGB(r, g, b);
+ m_mouseOutColour.r = r;
+ m_mouseOutColour.g = g;
+ m_mouseOutColour.b = b;
+}
+
+void Button::SetOverRGB(Uint8 r, Uint8 g, Uint8 b) {
+ m_mouseOverColour.r = r;
+ m_mouseOverColour.g = g;
+ m_mouseOverColour.b = b;
+}
+
+void Button::SetXY(int xArg, int yArg) {
+ x = xArg;
+ y = yArg;
+ button.SetXY(x, y);
+
+ text.SetXY(x + 10, y + 10);
+}
+
+void Button::SetTextRGB(Uint8 r, Uint8 g, Uint8 b) {
+ m_textColour.r = r;
+ m_textColour.g = g;
+ m_textColour.b = b;
+
+ text.SetTextBlended(text.GetText(), "small", m_textColour);
+}
+
+void Button::SetText(string textArg) {
+ text.SetTextBlended(textArg, "small", m_textColour);
+
+ w = text.GetWidth();
+ h = text.GetHeight();
+ button.SetWidthHeight(w + 20, h + 15);
+}
+
+bool Button::CheckMouseOver(void) {
+ if(event.motion.x > button.GetX() && event.motion.x < button.GetX() + button.GetWidth()) {
+ if(event.motion.y > button.GetY() && event.motion.y < button.GetY() + button.GetHeight()) {
+ button.SetRGB(m_mouseOverColour.r, m_mouseOverColour.g, m_mouseOverColour.b);
+ return true;
+ }
+ }
+ button.SetRGB(m_mouseOutColour.r, m_mouseOutColour.g, m_mouseOutColour.b);
+ return false;
+}
+
+void Button::Render(void) {
+ button.DrawLiteral();
+ text.RenderLiteral();
+}
diff --git a/src/libUnuk/Button.h b/src/libUnuk/Button.h
new file mode 100644
index 0000000..850e095
--- /dev/null
+++ b/src/libUnuk/Button.h
@@ -0,0 +1,46 @@
+#ifndef _BUTTON_H_
+#define _BUTTON_H_
+#include
+#include
+
+#include "../Unuk/Globals.h"
+#include "Input.h"
+#include "Text.h"
+#include "Rect.h"
+
+class Button {
+public:
+ Button(void);
+ ~Button(void);
+
+ void SetOutRGB(Uint8 r, Uint8 g, Uint8 b);
+ void SetOverRGB(Uint8 r, Uint8 g, Uint8 b);
+ void SetXY(int xArg, int yArg);
+
+ void SetTextRGB(Uint8 r, Uint8 g, Uint8 b);
+ void SetText(string textArg);
+
+ int GetX(void) { return x; }
+ int GetY(void) { return y; }
+ int GetWidth(void) { return w; }
+ int GetHeight(void) { return h; }
+
+ bool CheckMouseOver(void);
+
+ void Render(void);
+
+private:
+ SDL_Color m_mouseOutColour;
+ SDL_Color m_mouseOverColour;
+ SDL_Color m_textColour;
+
+ int x;
+ int y;
+ int w;
+ int h;
+
+ Rect button;
+ Text text;
+};
+
+#endif
diff --git a/src/libUnuk/ButtonToggle.cpp b/src/libUnuk/ButtonToggle.cpp
new file mode 100644
index 0000000..f5e5719
--- /dev/null
+++ b/src/libUnuk/ButtonToggle.cpp
@@ -0,0 +1,13 @@
+#include "ButtonToggle.h"
+
+void ButtonToggle::SetOverRGB(Uint8 r, Uint8 g, Uint8 b) {
+ Button::SetOverRGB(r, g, b);
+}
+
+void ButtonToggle::SetOffRGB(Uint8 r, Uint8 g, Uint8 b) {
+ ButtonToggle::SetOutRGB(r, g, b);
+}
+
+void ButtonToggle::SetOnRGB(Uint8 r, Uint8 g, Uint8 b) {
+
+}
diff --git a/src/libUnuk/ButtonToggle.h b/src/libUnuk/ButtonToggle.h
new file mode 100644
index 0000000..3c45e7e
--- /dev/null
+++ b/src/libUnuk/ButtonToggle.h
@@ -0,0 +1,37 @@
+#ifndef _BUTTONTOGGLE_H_
+#define _BUTTONTOGGLE_H_
+#include
+#include
+
+#include "Button.h"
+
+class ButtonToggle : protected Button {
+public:
+ ButtonToggle(void);
+ ~ButtonToggle(void);
+
+ void SetOverRGB(Uint8 r, Uint8 g, Uint8 b);
+ void SetOffRGB(Uint8 r, Uint8 g, Uint8 b);
+ void SetOnRGB(Uint8 r, Uint8 g, Uint8 b);
+
+ void SetTextRGB(Uint8 r, Uint8 g, Uint8 b);
+ void SetOnText(string);
+ void SetOffText(string);
+
+ void SetState(bool);
+ bool GetState(void) { return m_state; }
+
+ bool CheckMouseOver(void);
+
+ void Render(void);
+
+private:
+ bool m_state;
+
+ SDL_Colour m_onColour;
+
+ Text m_onText;
+};
+
+
+#endif
diff --git a/src/libUnuk/MainMenu.cpp b/src/libUnuk/MainMenu.cpp
new file mode 100644
index 0000000..44d8ad2
--- /dev/null
+++ b/src/libUnuk/MainMenu.cpp
@@ -0,0 +1,70 @@
+#include "MainMenu.h"
+
+MainMenu::MainMenu(void) {
+ btnNewGame.SetOutRGB(200, 200, 200);
+ btnNewGame.SetOverRGB(255, 255, 255);
+ btnNewGame.SetTextRGB(0, 0, 0);
+ btnNewGame.SetText("New Game");
+ btnNewGame.SetXY(100, 100);
+
+ btnLoadGame.SetOutRGB(200, 200, 200);
+ btnLoadGame.SetOverRGB(255, 255, 255);
+ btnLoadGame.SetTextRGB(0, 0, 0);
+ btnLoadGame.SetText("Load Game");
+ btnLoadGame.SetXY(100, 150);
+
+ btnOptions.SetOutRGB(200, 200, 200);
+ btnOptions.SetOverRGB(255, 255, 255);
+ btnOptions.SetTextRGB(0, 0, 0);
+ btnOptions.SetText("Options");
+ btnOptions.SetXY(100, 200);
+
+ btnExit.SetOutRGB(200, 200, 200);
+ btnExit.SetOverRGB(255, 255, 255);
+ btnExit.SetTextRGB(0, 0, 0);
+ btnExit.SetText("Exit");
+ btnExit.SetXY(100, 250);
+ m_background = new Map;
+ m_background->Load("mainmenu");
+ camera.x = 0;
+ camera.y = 0;
+}
+
+MainMenu::~MainMenu(void) {
+ delete m_background;
+}
+
+int MainMenu::HandleInput(void) {
+ while(SDL_PollEvent(&event)) {
+ btnNewGame.CheckMouseOver();
+ btnLoadGame.CheckMouseOver();
+ btnOptions.CheckMouseOver();
+ btnExit.CheckMouseOver();
+
+ if(event.type == SDL_MOUSEBUTTONUP) {
+ if(event.button.button == SDL_BUTTON_LEFT) {
+ if(btnNewGame.CheckMouseOver())
+ return MAIN_MENU_NEW_GAME;
+ else if(btnLoadGame.CheckMouseOver())
+ return MAIN_MENU_LOAD_GAME;
+ else if(btnOptions.CheckMouseOver())
+ return MAIN_MENU_OPTIONS;
+ else if(btnExit.CheckMouseOver())
+ return MAIN_MENU_EXIT;
+ }
+ }
+ else if(event.type == SDL_QUIT) {
+ return MAIN_MENU_EXIT;
+ }
+ }
+ return MAIN_MENU_NOTHING;
+}
+
+void MainMenu::Render(void) {
+ m_background->Render();
+
+ btnNewGame.Render();
+ btnLoadGame.Render();
+ btnOptions.Render();
+ btnExit.Render();
+}
diff --git a/src/libUnuk/MainMenu.h b/src/libUnuk/MainMenu.h
new file mode 100644
index 0000000..41d3e55
--- /dev/null
+++ b/src/libUnuk/MainMenu.h
@@ -0,0 +1,32 @@
+#ifndef _MAINMENU_H_
+#define _MAINMENU_H_
+#include "../Unuk/Constants.h"
+#include "ParticleEmitter.h"
+#include "Menu.h"
+#include "Map.h"
+#include "Rect.h"
+
+const int MAIN_MENU_NOTHING = 0;
+const int MAIN_MENU_NEW_GAME = 1;
+const int MAIN_MENU_LOAD_GAME = 2;
+const int MAIN_MENU_OPTIONS = 3;
+const int MAIN_MENU_EXIT = 4;
+
+class MainMenu : public Menu {
+public:
+ MainMenu(void);
+ ~MainMenu(void);
+
+ int HandleInput(void);
+ void Render(void);
+
+private:
+ Map *m_background;
+
+ Button btnNewGame;
+ Button btnLoadGame;
+ Button btnOptions;
+ Button btnExit;
+};
+
+#endif
diff --git a/src/libUnuk/Map.cpp b/src/libUnuk/Map.cpp
new file mode 100644
index 0000000..01d2786
--- /dev/null
+++ b/src/libUnuk/Map.cpp
@@ -0,0 +1,180 @@
+#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;
+}
+
+void Map::Load(const string filename) {
+ m_currentMap = filename;
+ string fullMapPath = "../Data/Media/Maps/" + filename;
+ ifstream mapFile(fullMapPath.c_str());
+ assert(mapFile.is_open());
+
+ Unload();
+
+ // Read in from the map file, one line at a time.
+ string line;
+ while(getline(mapFile, line)) {
+ m_mapRows = 1;
+
+ istringstream iss(line);
+
+ string tileName;
+ while(iss >> tileName) {
+ string fullTilePath = "../Data/Media/Images/Tiles/" + tileName + ".png";
+ m_tile[m_mapRows][m_mapColumns].SetTextureID(m_tileTextures->Add(fullTilePath));
+
+ // Read the file solidity.
+ bool tileSolidity;
+ iss >> tileSolidity;
+ m_tile[m_mapRows][m_mapColumns].SetTileSolidity(tileSolidity);
+
+ // Set the tile x and y variable.
+ m_tile[m_mapRows][m_mapColumns].SetTileXY((m_mapRows - 1) * TILE_WIDTH, (m_mapColumns - 1) * TILE_HEIGHT);
+
+ // Read the entity textures.
+ string entityName;
+ iss >> entityName;
+
+ if(entityName == "n") {
+ m_tile[m_mapRows][m_mapColumns].SetEntityID(-1);
+ } else {
+ string entityPath = "../Data/Media/Images/Entities/" + entityName + ".png";
+
+ m_tile[m_mapRows][m_mapColumns].SetEntityID(m_entityTextures->AddAlpha(entityPath));
+
+ // Set the entities width and height variables.
+ m_tile[m_mapRows][m_mapColumns].SetEntityWidthHeight(
+ m_entityTextures->GetTextureWidth(m_tile[m_mapRows][m_mapColumns].GetEntityID()),
+ m_entityTextures->GetTextureHeight(m_tile[m_mapRows][m_mapColumns].GetEntityID()));
+
+ // Set the entities x and y variables.
+ m_tile[m_mapRows][m_mapColumns].SetEntityXY(
+ m_tile[m_mapRows][m_mapColumns].GetTileX() - (m_tile[m_mapRows][m_mapColumns].GetEntityWidth() / 2 + TILE_WIDTH / 2),
+ m_tile[m_mapRows][m_mapColumns].GetTileY() - (m_tile[m_mapRows][m_mapColumns].GetEntityHeight() / 2 + TILE_HEIGHT / 2));
+ }
+ // Read the entity solidity.
+ bool entitySolidity;
+ iss >> entitySolidity;
+ m_tile[m_mapRows][m_mapColumns].SetEntitySolidity(entitySolidity);
+
+ // Read the tile zlevel.
+ int zLevel;
+ iss >> zLevel;
+ m_tile[m_mapRows][m_mapColumns].SetZLevel(zLevel);
+
+ // Read the map transition value.
+ string mapTransitionName;
+ iss >> mapTransitionName;
+ m_tile[m_mapRows][m_mapColumns].SetMapTransitionName(mapTransitionName);
+
+ // Read the transition x and y.
+ int mapTransitionX, mapTransitionY;
+ iss >> mapTransitionX;
+ iss >> mapTransitionY;
+ m_tile[m_mapRows][m_mapColumns].SetMapTransitionXY(mapTransitionX, mapTransitionY);
+
+ m_mapRows++;
+ assert(m_mapRows < TILE_ARRAY_SIZE);
+ }
+ m_mapColumns++;
+ assert(m_mapColumns < TILE_ARRAY_SIZE);
+ }
+ levelWidth = (m_mapRows - 1) * TILE_WIDTH;
+ levelHeight = (m_mapColumns - 1) * TILE_HEIGHT;
+
+ //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++) {
+ ApplySurface(m_tile[j][i].GetTileX(), m_tile[j][i].GetTileY(),
+ m_tileTextures->Get(m_tile[j][i].GetTextureID()), screen);
+ if(m_tile[j][i].GetEntityID() != -1) {
+ ApplySurface(m_tile[j][i].GetEntityX(), m_tile[j][i].GetEntityY(),
+ m_entityTextures->Get(m_tile[j][i].GetEntityID()), screen);
+ }
+ }
+}
+
+void Map::Unload(void) {
+ m_tileTextures->Clear();
+ m_entityTextures->Clear();
+
+ // 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.
+ m_mapRows = 1;
+ m_mapColumns = 1;
+
+ // As we are not doing bounds checking inside the game loop
+ // we don't want there to be a solid entity with w,h of ($RAND)
+ // creating an invisible wall anywhere.
+ for(int i = 0; i < TILE_ARRAY_SIZE; i++) {
+ for(int j = 0; j < TILE_ARRAY_SIZE; j++) {
+ m_tile[i][j].SetTileSolidity(false);
+ }
+ }
+}
+
+string Map::GetCurrentMap(void) {
+ return m_currentMap;
+}
+
+bool Map::GetTileSolidity(int row, int column) {
+ return m_tile[row + 1][column + 1].GetTileSolidity();
+}
+
+int Map::GetTileX(int row, int column) {
+ return m_tile[row + 1][column + 1].GetTileX();
+}
+
+int Map::GetTileY(int row, int column) {
+ return m_tile[row + 1][column + 1].GetTileY();
+}
+
+bool Map::GetEntitySolidity(int row, int column) {
+ return m_tile[row + 1][column + 1].GetEntitySolitity();
+}
+
+int Map::GetEntityX(int row, int column) {
+ return m_tile[row + 1][column + 1].GetEntityX();
+}
+
+int Map::GetEntityY(int row, int column) {
+ return m_tile[row + 1][column + 1].GetEntityY();
+}
+
+int Map::GetEntityWidth(int row, int column) {
+ return m_tile[row + 1][column + 1].GetEntityWidth();
+}
+
+int Map::GetEntityHeight(int row, int column) {
+ return m_tile[row + 1][column + 1].GetEntityHeight();
+}
+
+int Map::GetTileZLevel(int row, int column) {
+ return m_tile[row + 1][column + 1].GetZLevel();
+}
+
+string Map::GetMapTransitionName(int row, int column) {
+ return m_tile[row + 1][column + 1].GetMapTransitionName();
+}
+
+int Map::GetMapTransitionX(int row, int column) {
+ return m_tile[row + 1][column + 1].GetMapTransitionX();
+}
+
+int Map::GetMapTransitionY(int row, int column) {
+ return m_tile[row + 1][column + 1].GetMapTransitionY();
+}
diff --git a/src/libUnuk/Map.h b/src/libUnuk/Map.h
new file mode 100644
index 0000000..030d3e1
--- /dev/null
+++ b/src/libUnuk/Map.h
@@ -0,0 +1,61 @@
+#ifndef _MAP_H_
+#define _MAP_H_
+#include
+#include
+#include
+#include
+#include
+#include
+
+#include "../Unuk/Globals.h"
+#include "../Unuk/Constants.h"
+#include "ImageLoader.h"
+#include "ApplySurface.h"
+#include "TextureManager.h"
+#include "MapTile.h"
+using namespace std;
+
+//class CharacterManager;
+
+class Map {
+public:
+ Map(void);
+ ~Map(void);
+
+ void Load(const string filename);
+ void Render(void);
+
+ bool GetTileSolidity(int row, int column);
+ int GetTileX(int row, int column);
+ int GetTileY(int row, int column);
+
+ bool GetEntitySolidity(int row, int column);
+ int GetEntityX(int row, int column);
+ int GetEntityY(int row, int column);
+ int GetEntityWidth(int row, int column);
+ int GetEntityHeight(int row, int column);
+
+ int GetTileZLevel(int row, int column);
+
+ string GetMapTransitionName(int row, int column);
+ int GetMapTransitionX(int row, int column);
+ int GetMapTransitionY(int row, int column);
+
+ string GetCurrentMap(void);
+
+private:
+ void Unload(void);
+
+ string m_currentMap;
+ int m_mapColumns;
+ int m_mapRows;
+
+ TextureManager* m_tileTextures;
+ TextureManager* m_entityTextures;
+ //CharacterManager* m_characters;
+
+ static const int TILE_ARRAY_SIZE = 150;
+ MapTile m_tile[TILE_ARRAY_SIZE][TILE_ARRAY_SIZE];
+};
+
+#endif
diff --git a/src/libUnuk/MapTile.h b/src/libUnuk/MapTile.h
new file mode 100644
index 0000000..40c3028
--- /dev/null
+++ b/src/libUnuk/MapTile.h
@@ -0,0 +1,68 @@
+#ifndef _MAPTILE_H_
+#define _MAPTILE_H_
+#include
+#include
+using namespace std;
+
+class MapTile {
+public:
+ MapTile(void) {}
+ ~MapTile(void) {}
+
+ void SetTextureID(int arg) { m_textureID = arg; }
+ int GetTextureID(void) { return m_textureID; }
+
+ void SetTileSolidity(bool arg) { m_tileSolidity = arg; }
+ bool GetTileSolidity(void) { return m_tileSolidity; }
+ void SetTileXY(int xArg, int yArg) { m_tileX = xArg, m_tileY = yArg; }
+ int GetTileX(void) { return m_tileX; }
+ int GetTileY(void) { return m_tileY; }
+
+ void SetEntityID(int arg) { m_entityID = arg; }
+ int GetEntityID(void) { return m_entityID; }
+
+ void SetEntitySolidity(bool arg) { m_entityID = arg; }
+ bool GetEntitySolitity(void) { return m_entitySolidity; }
+ void SetEntityXY(int xArg, int yArg) { m_entityX = xArg, m_entityY = yArg; }
+ int GetEntityX(void) { return m_entityX; }
+ int GetEntityY(void) { return m_entityY; }
+
+ void SetEntityWidthHeight(int wArg, int hArg) { m_entityW = wArg, m_entityH = hArg; }
+ int GetEntityWidth(void) { return m_entityW; }
+ int GetEntityHeight(void) { return m_entityH; }
+
+ void SetZLevel(int arg) { m_zLevel = arg; }
+ int GetZLevel(void) { return m_zLevel; }
+
+ void SetMapTransitionName(string arg) { m_mapTransitionName = arg; }
+ string GetMapTransitionName(void) { return m_mapTransitionName; }
+
+ void SetMapTransitionXY(int xArg, int yArg) { m_mapTransitionX = xArg, m_mapTransitionY = yArg; }
+ int GetMapTransitionX(void) { return m_mapTransitionX; }
+ int GetMapTransitionY(void) { return m_mapTransitionY; }
+
+private:
+ int m_textureID;
+ bool m_tileSolidity;
+ int m_tileX;
+ int m_tileY;
+
+ // Less than -1 if entity is present.
+ int m_entityID;
+ bool m_entitySolidity;
+ int m_entityX;
+ int m_entityY;
+ int m_entityW;
+ int m_entityH;
+
+ // -1 is a 'special' tile, the next tile that the player walks
+ // on is the new player z-level.
+ int m_zLevel;
+
+ //If not 'n', switch map when the player walks on this tile.
+ string m_mapTransitionName;
+ int m_mapTransitionX;
+ int m_mapTransitionY;
+};
+
+#endif
diff --git a/src/libUnuk/Menu.h b/src/libUnuk/Menu.h
new file mode 100644
index 0000000..b804bb4
--- /dev/null
+++ b/src/libUnuk/Menu.h
@@ -0,0 +1,20 @@
+#ifndef _MENU_H_
+#define _MENU_H_
+#include "../Unuk/Globals.h"
+#include "../Unuk/Constants.h"
+#include "Button.h"
+#include "ButtonToggle.h"
+
+ class Menu {
+public:
+ Menu(void) {};
+ ~Menu(void) {};
+
+ virtual int HandleInput(void) = 0;
+ virtual void Render(void) = 0;
+
+protected:
+
+};
+
+#endif
diff --git a/src/libUnuk/ParticleEmitter.cpp b/src/libUnuk/ParticleEmitter.cpp
new file mode 100644
index 0000000..3041d31
--- /dev/null
+++ b/src/libUnuk/ParticleEmitter.cpp
@@ -0,0 +1,80 @@
+#include "ParticleEmitter.h"
+
+ParticleEmitter::ParticleEmitter(void) {
+
+}
+
+ParticleEmitter::~ParticleEmitter(void) {
+
+}
+
+void ParticleEmitter::SetXY(int xArg, int yArg) {
+ x = xArg;
+ y = yArg;
+}
+
+void ParticleEmitter::ForceXY(int xArg, int yArg) {
+ for(int i = 0; i < m_particleCount; i++) {
+ m_particle[i].x = xArg;
+ m_particle[i].y = yArg;
+ }
+}
+
+void ParticleEmitter::SetParticleCount(int countArg) {
+ m_particleCount = countArg;
+ m_particle.resize(m_particleCount);
+
+ for(int i = 0; i < m_particleCount; i++) {
+ m_particle[i].startTime = SDL_GetTicks();
+ }
+}
+
+void ParticleEmitter::SetParticleSpeed(float speedArg) {
+ m_particleSpeed = speedArg;
+}
+
+void ParticleEmitter::SetParticleType(string typeArg) {
+ if(!particleTexture) {
+ SDL_FreeSurface(particleTexture);
+ }
+
+ string textureFilename = "../Data/Media/Images/Particles/" + typeArg + ".png";
+ particleTexture = LoadImageAlpha(textureFilename.c_str());
+}
+
+void ParticleEmitter::SetParticleLifetime(int lifetimeArg) {
+ m_particleLifetime = lifetimeArg;
+
+ for(int i = 0; i < m_particleCount; i++) {
+ m_particle[i].lifetime = rand() % m_particleLifetime + m_particleLifetime / 4;
+ }
+}
+
+void ParticleEmitter::Render(void) {
+ for(int i = 0; i < m_particleCount; i++) {
+ ApplySurface(m_particle[i].x, m_particle[i].y, particleTexture, screen);
+ }
+}
+
+void ParticleEmitter::Update(void) {
+ for(int i = 0; i < m_particleCount; i++) {
+ if((int)SDL_GetTicks() - m_particle[i].startTime > m_particle[i].lifetime) {
+ // Reset the x and y coords.
+ m_particle[i].x = x;
+ m_particle[i].y = y;
+
+ m_particle[i].xVel = rand() % 360;
+ m_particle[i].yVel = rand() % 360;
+
+ if(rand() % 2)
+ m_particle[i].xVel = m_particle[i].xVel * -1;
+ if(rand() % 2)
+ m_particle[i].yVel = m_particle[i].yVel * -1;
+
+ m_particle[i].startTime = SDL_GetTicks();
+ } else {
+ m_particle[i].x += m_particle[i].xVel * m_particleSpeed;
+ m_particle[i].y += m_particle[i].yVel * m_particleSpeed;
+ }
+ }
+}
diff --git a/src/libUnuk/ParticleEmitter.h b/src/libUnuk/ParticleEmitter.h
new file mode 100644
index 0000000..4f667eb
--- /dev/null
+++ b/src/libUnuk/ParticleEmitter.h
@@ -0,0 +1,55 @@
+#ifndef _PARTICLEEMITTER_H_
+#define _PARTICLEEMITTER_H_
+#include
+#include
+#include
+#include
+
+#include "../Unuk/Globals.h"
+#include "ImageLoader.h"
+#include "ApplySurface.h"
+using namespace std;
+
+struct Particle {
+ float x;
+ float y;
+
+ float xVel;
+ float yVel;
+
+ int lifetime;
+ int startTime;
+};
+
+class ParticleEmitter {
+public:
+ ParticleEmitter(void);
+ ~ParticleEmitter(void);
+
+ // distribute particles from the new x and y.
+ void SetXY(int xArg, int yArg);
+ // Move all the existing particles to the new x and y.
+ void ForceXY(int xArg, int yArg);
+
+ void SetParticleCount(int countArg);
+ void SetParticleLifetime(int lifetimeArg);
+ void SetParticleSpeed(float speedArg);
+ void SetParticleType(string typeArg);
+
+ void Render(void);
+ void Update(void);
+
+private:
+ vector m_particle;
+
+ int x;
+ int y;
+
+ int m_particleCount;
+ int m_particleLifetime;
+ float m_particleSpeed;
+
+ SDL_Surface* particleTexture;
+};
+
+#endif