diff --git a/game/engines/default/modules/boot/class/Game.lua b/game/engines/default/modules/boot/class/Game.lua
index 5a39ed1956cda1b890b2b26e6887b77076b9afa1..8aa304353e2fe90f793d4331a3949bee1e917e9f 100644
--- a/game/engines/default/modules/boot/class/Game.lua
+++ b/game/engines/default/modules/boot/class/Game.lua
@@ -29,6 +29,7 @@ local Dialog = require "engine.ui.Dialog"
 local Tooltip = require "engine.Tooltip"
 local MainMenu = require "mod.dialogs.MainMenu"
 local Downloader = require "engine.dialogs.Downloader"
+local FontPackage = require "engine.FontPackage"
 
 local Shader = require "engine.Shader"
 local Zone = require "engine.Zone"
@@ -76,8 +77,8 @@ function _M:init()
 
 --	self.refuse_threads = true
 	self.normal_key = self.key
-	-- self.stopped = config.settings.boot_menu_background
-	self.stopped = true
+	self.stopped = config.settings.boot_menu_background
+	-- self.stopped = true
 	if core.display.safeMode() then self.stopped = true end
 	if self.stopped then
 		core.game.setRealtime(0)
@@ -113,7 +114,9 @@ function _M:run()
 		self:makeWebtooltip()
 	end
 
-	self.flyers = FlyingText.new()
+	local flyfont, flysize = FontPackage:getFont("flyer")
+	self.flyers = FlyingText.new(flyfont, flysize, flyfont, flysize + 3)
+	self.flyers:enableShadow(0.6)
 	self:setFlyingText(self.flyers)
 	self.log = function(style, ...) end
 	self.logSeen = function(e, style, ...) end
diff --git a/game/engines/default/modules/boot/class/Grid.lua b/game/engines/default/modules/boot/class/Grid.lua
index 3efb140803a28d86ab0fc7d0c3b48e641f4087a8..5bc1bfd91124f0a056d6f781693e624dfd360c01 100644
--- a/game/engines/default/modules/boot/class/Grid.lua
+++ b/game/engines/default/modules/boot/class/Grid.lua
@@ -30,7 +30,7 @@ end
 function _M:block_move(x, y, e, act, couldpass)
 	-- Open doors
 	if self.door_opened and act then
-		game.level.map(x, y, engine.Map.TERRAIN, game.zone.grid_list.DOOR_OPEN)
+		game.level.map(x, y, engine.Map.TERRAIN, game.zone.grid_list[self.door_opened])
 		return true
 	elseif self.door_opened and not couldpass then
 		return true
@@ -56,36 +56,78 @@ function _M:on_move(x, y, who, forced)
 end
 
 --- Generate sub entities to make nice trees
-function _M:makeTrees(base, max, bigheight_limit, tint)
+function _M:makeNewTrees(g, kindsdefs, max_trees, basedir)
+	basedir = basedir or "terrain/trees/"
+	max_trees = max_trees or 3
+	g.add_displays = g.add_displays or {}
+	g.add_mos = g.add_mos or {}
+	local basemos = g.add_mos
+	local add = g.add_displays
+	add[#add+1] = engine.Entity.new{image="invis.png", z=3, display_on_seen = true, display_on_remember = true, add_mos={}}
+	local mos = add[#add].add_mos
+	local function getname(n)
+		if type(n) == "string" then return n end
+		return n[1]:format(rng.range(n[2], n[3]))
+	end
 	local function makeTree(nb, z)
 		local inb = 4 - nb
-		local treeid = rng.range(1, max or 5)
-		return engine.Entity.new{
+		local treedef = rng.table(kindsdefs)
+		local treeid = treedef[1]
+		local parts = treedef[2]
+		if not parts.tall then parts.tall = 0 end
+
+		local scale = rng.float(0.5 + inb / 6, 1)
+		local x = rng.float(-1 / 3 * nb / 3, 1 / 3 * nb / 3)
+		local y = rng.float(-1 / 5 * nb / 3, 1 / 4 * nb / 3)
+
+		for i = 1, #parts - 1 do
+			mos[#mos+1] = {image=basedir..treeid.."_"..getname(parts[i])..".png", display_x=x, display_y=y, display_w=scale, display_h=scale}
+		end
+		if parts.base then
+			basemos[#basemos+1] = {image=basedir..treeid.."_"..getname(parts.base)..".png", display_x=x, display_y=y, display_w=scale, display_h=scale}
+		end
+		if parts.adds then
+			local name = parts.adds[1]
+			local t = {
+				z = z,
+				display_x = x,
+				display_y = y,
+				display_w = scale,
+				display_h = scale,
+				display_on_seen = true,
+				display_on_remember = true,
+				image = basedir..treeid.."_"..getname(name)..".png",
+			}
+			table.merge(t, parts.adds)
+			add[#add+1] = engine.Entity.new(t)
+		end
+		add[#add+1] = engine.Entity.new{
 			z = z,
-			display_scale = 1,
-			display_scale = rng.float(0.5 + inb / 6, 1),
-			display_x = rng.float(-1 / 3 * nb / 3, 1 / 3 * nb / 3),
-			display_y = rng.float(-1 / 3 * nb / 3, 1 / 3 * nb / 3) - (treeid < (bigheight_limit or 9) and 0 or 1),
+			_st = y,
+			display_x = x,
+			display_y = y + scale * parts.tall,
+			display_w = scale,
+			display_h = scale * (1 - parts.tall),
 			display_on_seen = true,
 			display_on_remember = true,
-			display_h = treeid < (bigheight_limit or 9) and 1 or 2,
-			image = (base or "terrain/tree_alpha")..treeid..".png",
-			tint = tint,
+			image = basedir..treeid.."_"..getname(parts[#parts])..".png",
+			shader = "tree", shader_args = parts.shader_args,
 		}
+		return add[#add]
 	end
 
 	local v = rng.range(0, 100)
 	local tbl
-	if v < 33 then
+	if v < 33 and max_trees >= 3 then
 		tbl = { makeTree(3, 16), makeTree(3, 17), makeTree(3, 18), }
-	elseif v < 66 then
+	elseif v < 66 and max_trees >= 2 then
 		tbl = { makeTree(2, 16), makeTree(2, 17), }
 	else
 		tbl = { makeTree(1, 16), }
 	end
-	table.sort(tbl, function(a,b) return a.display_scale < b.display_scale end)
+	table.sort(tbl, function(a,b) return a._st < b._st end)
 	for i = 1, #tbl do tbl[i].z = 16 + i - 1 end
-	return tbl
+	return g
 end
 
 --- Generate sub entities to make nice crystals, same as trees but change tint
diff --git a/game/engines/default/modules/boot/class/NicerTiles.lua b/game/engines/default/modules/boot/class/NicerTiles.lua
index 548db99d1275d3a096b679d2d6994c1fc4d479d0..0f72a773c481ed2e28bf34b60b205f6a2b7c1c66 100644
--- a/game/engines/default/modules/boot/class/NicerTiles.lua
+++ b/game/engines/default/modules/boot/class/NicerTiles.lua
@@ -162,13 +162,13 @@ end
 
 --- Make walls have a pseudo 3D effect
 function _M:niceTileWall3d(level, i, j, g, nt)
-	local s = level.map:checkEntity(i, j, Map.TERRAIN, "type") or "wall"
-	local gn = level.map:checkEntity(i, j-1, Map.TERRAIN, "type") or "wall"
-	local dn = level.map:checkEntity(i, j-1, Map.TERRAIN, "door_opened")
-	local gs = level.map:checkEntity(i, j+1, Map.TERRAIN, "type") or "wall"
-	local ds = level.map:checkEntity(i, j+1, Map.TERRAIN, "door_opened")
-	local gw = level.map:checkEntity(i-1, j, Map.TERRAIN, "type") or "wall"
-	local ge = level.map:checkEntity(i+1, j, Map.TERRAIN, "type") or "wall"
+	local s = (level.map:checkEntity(i, j, Map.TERRAIN, "type") or "wall").."/"..(level.map:checkEntity(i, j, Map.TERRAIN, "subtype") or "floor")
+	local gn = (level.map:checkEntity(i, j-1, Map.TERRAIN, "type") or "wall").."/"..(level.map:checkEntity(i, j-1, Map.TERRAIN, "subtype") or "floor")
+	local gs = (level.map:checkEntity(i, j+1, Map.TERRAIN, "type") or "wall").."/"..(level.map:checkEntity(i, j+1, Map.TERRAIN, "subtype") or "floor")
+	local gw = (level.map:checkEntity(i-1, j, Map.TERRAIN, "type") or "wall").."/"..(level.map:checkEntity(i-1, j, Map.TERRAIN, "subtype") or "floor")
+	local ge = (level.map:checkEntity(i+1, j, Map.TERRAIN, "type") or "wall").."/"..(level.map:checkEntity(i+1, j, Map.TERRAIN, "subtype") or "floor")
+	local dn = level.map:checkEntity(i, j-1, Map.TERRAIN, "is_door")
+	local ds = level.map:checkEntity(i, j+1, Map.TERRAIN, "is_door")
 
 	if gs ~= s and gn ~= s and gw ~= s and ge ~= s then self:replace(i, j, self:getTile(nt.small_pillar))
 	elseif gs ~= s and gn ~= s and gw ~= s and ge == s then self:replace(i, j, self:getTile(nt.pillar_4))
@@ -248,20 +248,35 @@ end
 
 local defs = {
 grass = { method="borders", type="grass", forbid={lava=true, rock=true},
-	default8={add_mos={{image="terrain/grass/grass_2_%02d.png", display_y=-1}}, min=1, max=5},
-	default2={add_mos={{image="terrain/grass/grass_8_%02d.png", display_y=1}}, min=1, max=5},
-	default4={add_mos={{image="terrain/grass/grass_6_%02d.png", display_x=-1}}, min=1, max=5},
-	default6={add_mos={{image="terrain/grass/grass_4_%02d.png", display_x=1}}, min=1, max=4},
-
-	default1={add_mos={{image="terrain/grass/grass_9_%02d.png", display_x=-1, display_y=1}}, min=1, max=3},
-	default3={add_mos={{image="terrain/grass/grass_7_%02d.png", display_x=1, display_y=1}}, min=1, max=3},
-	default7={add_mos={{image="terrain/grass/grass_3_%02d.png", display_x=-1, display_y=-1}}, min=1, max=3},
-	default9={add_mos={{image="terrain/grass/grass_1_%02d.png", display_x=1, display_y=-1}}, min=1, max=3},
-
-	default1i={add_mos={{image="terrain/grass/grass_inner_1_%02d.png", display_x=-1, display_y=1}}, min=1, max=3},
-	default3i={add_mos={{image="terrain/grass/grass_inner_3_%02d.png", display_x=1, display_y=1}}, min=1, max=3},
-	default7i={add_mos={{image="terrain/grass/grass_inner_7_%02d.png", display_x=-1, display_y=-1}}, min=1, max=3},
-	default9i={add_mos={{image="terrain/grass/grass_inner_9_%02d.png", display_x=1, display_y=-1}}, min=1, max=3},
+	default8={add_mos={{image="terrain/grass/grass_2_%02d.png", display_y=-1}}, min=1, max=2},
+	default2={add_mos={{image="terrain/grass/grass_8_%02d.png", display_y=1}}, min=1, max=2},
+	default4={add_mos={{image="terrain/grass/grass_6_%02d.png", display_x=-1}}, min=1, max=2},
+	default6={add_mos={{image="terrain/grass/grass_4_%02d.png", display_x=1}}, min=1, max=2},
+
+	default1={add_mos={{image="terrain/grass/grass_9_%02d.png", display_x=-1, display_y=1}}, min=1, max=1},
+	default3={add_mos={{image="terrain/grass/grass_7_%02d.png", display_x=1, display_y=1}}, min=1, max=1},
+	default7={add_mos={{image="terrain/grass/grass_3_%02d.png", display_x=-1, display_y=-1}}, min=1, max=1},
+	default9={add_mos={{image="terrain/grass/grass_1_%02d.png", display_x=1, display_y=-1}}, min=1, max=1},
+
+	default1i={add_mos={{image="terrain/grass/grass_inner_1_%02d.png", display_x=-1, display_y=1}}, min=1, max=2},
+	default3i={add_mos={{image="terrain/grass/grass_inner_3_%02d.png", display_x=1, display_y=1}}, min=1, max=2},
+	default7i={add_mos={{image="terrain/grass/grass_inner_7_%02d.png", display_x=-1, display_y=-1}}, min=1, max=2},
+	default9i={add_mos={{image="terrain/grass/grass_inner_9_%02d.png", display_x=1, display_y=-1}}, min=1, max=2},
+
+	water8={add_mos={{image="terrain/grass/grass_2_%02d.png", display_y=-1}}, min=1, max=1},
+	water2={add_mos={{image="terrain/grass/grass_8_%02d.png", display_y=1}}, min=1, max=1},
+	water4={add_mos={{image="terrain/grass/grass_6_%02d.png", display_x=-1}}, min=1, max=1},
+	water6={add_mos={{image="terrain/grass/grass_4_%02d.png", display_x=1}}, min=1, max=1},
+
+	water1={add_mos={{image="terrain/grass/grass_9_%02d.png", display_x=-1, display_y=1}}, min=1, max=1},
+	water3={add_mos={{image="terrain/grass/grass_7_%02d.png", display_x=1, display_y=1}}, min=1, max=1},
+	water7={add_mos={{image="terrain/grass/grass_3_%02d.png", display_x=-1, display_y=-1}}, min=1, max=1},
+	water9={add_mos={{image="terrain/grass/grass_1_%02d.png", display_x=1, display_y=-1}}, min=1, max=1},
+
+	water1i={add_mos={{image="terrain/grass/grass_inner_1_%02d.png", display_x=-1, display_y=1}}, min=1, max=1},
+	water3i={add_mos={{image="terrain/grass/grass_inner_3_%02d.png", display_x=1, display_y=1}}, min=1, max=1},
+	water7i={add_mos={{image="terrain/grass/grass_inner_7_%02d.png", display_x=-1, display_y=-1}}, min=1, max=1},
+	water9i={add_mos={{image="terrain/grass/grass_inner_9_%02d.png", display_x=1, display_y=-1}}, min=1, max=1},
 },
 }
 
diff --git a/game/engines/default/modules/boot/class/interface/Combat.lua b/game/engines/default/modules/boot/class/interface/Combat.lua
index 804b2bcb16a28d7dc527b919230f7d52360bdbc6..7da033cf5cfeead20ebc28648892034c79f549e3 100644
--- a/game/engines/default/modules/boot/class/interface/Combat.lua
+++ b/game/engines/default/modules/boot/class/interface/Combat.lua
@@ -47,8 +47,12 @@ end
 --- Makes the death happen!
 function _M:attackTarget(target, mult)
 	if self.combat then
+		self:setMoveAnim(self.x, self.y, 3, blur, util.getDir(target.x, target.y, self.x, self.y), 0.2)
+		
 		local dam = self.combat.dam + self:getStr() - target.combat_armor
 		DamageType:get(DamageType.PHYSICAL).projector(self, target.x, target.y, DamageType.PHYSICAL, math.max(0, dam))
+
+		game.level.map:particleEmitter(target.x, target.y, 1, "melee_attack", {color=target.blood_color})
 	end
 
 	-- We use up our own energy
diff --git a/game/engines/default/modules/boot/data/general/grids/basic.lua b/game/engines/default/modules/boot/data/general/grids/basic.lua
index a52f5fc9ded9fe4cbf01094c09a38f0313047d77..63a58b0a334b30afa0788dd22688c93c8b94e621 100644
--- a/game/engines/default/modules/boot/data/general/grids/basic.lua
+++ b/game/engines/default/modules/boot/data/general/grids/basic.lua
@@ -70,6 +70,7 @@ newEntity{
 	notice = true,
 	always_remember = true,
 	block_sight = true,
+	is_door = true,
 	door_opened = "DOOR_OPEN",
 	dig = "FLOOR",
 }
@@ -79,9 +80,10 @@ newEntity{
 	name = "open door", image="terrain/granite_door1_open.png",
 	display = "'", color_r=238, color_g=154, color_b=77, back_color=colors.DARK_GREY,
 	always_remember = true,
+	is_door = true,
 	door_closed = "DOOR",
 }
-newEntity{ base = "DOOR", define_as = "DOOR_HORIZ", image = "terrain/granite_door1.png", add_displays = {class.new{image="terrain/granite_wall3.png", z=18, display_y=-1}}, door_opened = "DOOR_HORIZ_OPEN"}
+newEntity{ base = "DOOR", define_as = "DOOR_HORIZ", z=3, image = "terrain/granite_door1.png", add_displays = {class.new{image="terrain/granite_wall3.png", z=18, display_y=-1}}, door_opened = "DOOR_HORIZ_OPEN"}
 newEntity{ base = "DOOR_OPEN", define_as = "DOOR_HORIZ_OPEN", image = "terrain/marble_floor.png", add_displays = {class.new{image="terrain/granite_door1_open.png", z=17}, class.new{image="terrain/granite_wall3.png", z=18, display_y=-1}}, door_closed = "DOOR_HORIZ"}
 newEntity{ base = "DOOR", define_as = "DOOR_VERT", image = "terrain/marble_floor.png", add_displays = {class.new{image="terrain/granite_door1_vert.png", z=17}, class.new{image="terrain/granite_door1_vert_north.png", z=18, display_y=-1}}, door_opened = "DOOR_OPEN_VERT", dig = "DOOR_OPEN_VERT"}
 newEntity{ base = "DOOR_OPEN", define_as = "DOOR_OPEN_VERT", image = "terrain/marble_floor.png", add_displays = {class.new{image="terrain/granite_door1_open_vert.png", z=17}, class.new{image="terrain/granite_door1_open_vert_north.png", z=18, display_y=-1}}, door_closed = "DOOR_VERT"}
diff --git a/game/engines/default/modules/boot/data/general/grids/forest.lua b/game/engines/default/modules/boot/data/general/grids/forest.lua
index b7073d3c0691fa396f5a901c3caf663b1319734d..187414d7295d814e36f9b76a4396a5b6af3f94a8 100644
--- a/game/engines/default/modules/boot/data/general/grids/forest.lua
+++ b/game/engines/default/modules/boot/data/general/grids/forest.lua
@@ -25,10 +25,27 @@ newEntity{
 	name = "grass", image = "terrain/grass.png",
 	display = '.', color=colors.LIGHT_GREEN, back_color={r=44,g=95,b=43},
 	grow = "TREE",
-	nice_tiler = { method="replace", base={"GRASS_PATCH", 70, 1, 12}},
+	nice_tiler = { method="replace", base={"GRASS_PATCH", 100, 1, 14}},
 	nice_editer = grass_editer,
 }
-for i = 1, 12 do newEntity{ base = "GRASS", define_as = "GRASS_PATCH"..i, image = "terrain/grass"..(i<7 and "" or "2")..".png" } end
+for i = 1, 14 do newEntity{ base = "GRASS", define_as = "GRASS_PATCH"..i, image = ("terrain/grass/grass_main_%02d.png"):format(i) } end
+
+local treesdef = {
+	{"small_elm", {"shadow", "trunk", "foliage_summer"}},
+	{"small_elm", {"shadow", "trunk", "foliage_summer"}},
+	{"elm", {tall=-1, "shadow", "trunk", "foliage_summer"}},
+	{"elm", {tall=-1, "shadow", "trunk", "foliage_summer"}},
+	{"light_pine", {tall=-1, "shadow", "trunk", {"foliage_%02d",1,4}}},
+	{"light_small_wider_pine", {"shadow", "trunk", {"foliage_%02d",1,4}}},
+	{"light_small_narrow_pine", {"shadow", "trunk", {"foliage_%02d",1,4}}},
+	{"cypress", {tall=-1, "shadow", "trunk", {"foliage_%02d",1,4}}},
+	{"small_cypress", {tall=-1, "shadow", "trunk", {"foliage_%02d",1,4}}},
+	{"tiny_cypress", {"shadow", "trunk", {"foliage_%02d",1,4}}},
+	{"oak", {tall=-1, "shadow", "trunk_01", {"foliage_summer_%02d",1,2}}},
+	{"oak", {tall=-1, "shadow", "trunk_02", {"foliage_summer_%02d",3,4}}},
+	{"small_oak", {"shadow", "trunk_01", {"foliage_summer_%02d",1,2}}},
+	{"small_oak", {"shadow", "trunk_02", {"foliage_summer_%02d",3,4}}},
+}
 
 newEntity{
 	define_as = "TREE",
@@ -44,7 +61,9 @@ newEntity{
 	nice_tiler = { method="replace", base={"TREE", 100, 1, 30}},
 	nice_editer = grass_editer,
 }
-for i = 1, 30 do newEntity{ base="TREE", define_as = "TREE"..i, image = "terrain/grass.png", add_displays = class:makeTrees("terrain/tree_alpha", 13, 9)} end
+for i = 1, 30 do
+	newEntity(class:makeNewTrees({base="TREE", define_as = "TREE"..i, image = "terrain/grass.png"}, treesdef))
+end
 
 newEntity{
 	define_as = "FLOWER",
diff --git a/game/engines/default/modules/boot/data/general/grids/water.lua b/game/engines/default/modules/boot/data/general/grids/water.lua
index bf5d886c9f5226bfc9bb22515c762da4646a4378..86485936be35c43d6d3a1616f7433ff6d3e4e155 100644
--- a/game/engines/default/modules/boot/data/general/grids/water.lua
+++ b/game/engines/default/modules/boot/data/general/grids/water.lua
@@ -37,4 +37,5 @@ newEntity{
 newEntity{ base="WATER_BASE",
 	define_as = "DEEP_WATER",
 	image="terrain/water_grass_5_1.png",
+	shader = "water",
 }
diff --git a/game/engines/default/modules/boot/data/gfx/attacks/attack_white_01.png b/game/engines/default/modules/boot/data/gfx/attacks/attack_white_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..528b63bd590ec5a16ac07b127ea91a4e1c7e80ba
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/attacks/attack_white_01.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/attacks/attack_white_02.png b/game/engines/default/modules/boot/data/gfx/attacks/attack_white_02.png
new file mode 100644
index 0000000000000000000000000000000000000000..9b6de6a807ca7b91eff2c9c32268b8e1a5978f46
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/attacks/attack_white_02.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/attacks/attack_white_03.png b/game/engines/default/modules/boot/data/gfx/attacks/attack_white_03.png
new file mode 100644
index 0000000000000000000000000000000000000000..a276d1c95b46f93396e81555f361ff23cc423f24
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/attacks/attack_white_03.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/attacks/attack_white_04.png b/game/engines/default/modules/boot/data/gfx/attacks/attack_white_04.png
new file mode 100644
index 0000000000000000000000000000000000000000..b794572a880907b246c623561c618f394f0a5d72
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/attacks/attack_white_04.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/attacks/attack_white_05.png b/game/engines/default/modules/boot/data/gfx/attacks/attack_white_05.png
new file mode 100644
index 0000000000000000000000000000000000000000..33cd6642ab8b6bf6664c449bf982082937443ab1
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/attacks/attack_white_05.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/attacks/attack_white_06.png b/game/engines/default/modules/boot/data/gfx/attacks/attack_white_06.png
new file mode 100644
index 0000000000000000000000000000000000000000..70fff5acac1ad194e90cfe8587ef8bed56bda2d6
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/attacks/attack_white_06.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/attacks/attack_white_07.png b/game/engines/default/modules/boot/data/gfx/attacks/attack_white_07.png
new file mode 100644
index 0000000000000000000000000000000000000000..71033bc51723fe844ce8297bd361cf3d91c61c80
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/attacks/attack_white_07.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/attacks/attack_white_08.png b/game/engines/default/modules/boot/data/gfx/attacks/attack_white_08.png
new file mode 100644
index 0000000000000000000000000000000000000000..bf4a926daa92553bc627824ec373932819f27f53
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/attacks/attack_white_08.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/attacks/attack_white_09.png b/game/engines/default/modules/boot/data/gfx/attacks/attack_white_09.png
new file mode 100644
index 0000000000000000000000000000000000000000..e49a0882d3e7d8468696fc43eac70f34098c7d37
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/attacks/attack_white_09.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/attacks/attack_white_10.png b/game/engines/default/modules/boot/data/gfx/attacks/attack_white_10.png
new file mode 100644
index 0000000000000000000000000000000000000000..ed462835cb84c44f66b4e4a455b435f8b333c8aa
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/attacks/attack_white_10.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/attacks/attack_white_11.png b/game/engines/default/modules/boot/data/gfx/attacks/attack_white_11.png
new file mode 100644
index 0000000000000000000000000000000000000000..cc011b318886fdf25f7383401f271fa51eb7483e
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/attacks/attack_white_11.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/attacks/attack_white_12.png b/game/engines/default/modules/boot/data/gfx/attacks/attack_white_12.png
new file mode 100644
index 0000000000000000000000000000000000000000..7b7c2b3c7b31f935cf12910b2e18f7a6b2d5fbd8
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/attacks/attack_white_12.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/attacks/attack_white_13.png b/game/engines/default/modules/boot/data/gfx/attacks/attack_white_13.png
new file mode 100644
index 0000000000000000000000000000000000000000..88d50b88af26cdee100a4ab777534b781d6f1369
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/attacks/attack_white_13.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/attacks/attack_white_14.png b/game/engines/default/modules/boot/data/gfx/attacks/attack_white_14.png
new file mode 100644
index 0000000000000000000000000000000000000000..4f693d5f782095badc20fe6342aeea025799955c
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/attacks/attack_white_14.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/attacks/attack_white_15.png b/game/engines/default/modules/boot/data/gfx/attacks/attack_white_15.png
new file mode 100644
index 0000000000000000000000000000000000000000..cf1d6b8baa3ed2a1a758bec9787f3092af081d26
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/attacks/attack_white_15.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/attacks/attack_white_16.png b/game/engines/default/modules/boot/data/gfx/attacks/attack_white_16.png
new file mode 100644
index 0000000000000000000000000000000000000000..e62042e0e3a542b65b4d96b9faf2c5f6261b7188
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/attacks/attack_white_16.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/attacks/attack_white_17.png b/game/engines/default/modules/boot/data/gfx/attacks/attack_white_17.png
new file mode 100644
index 0000000000000000000000000000000000000000..9f9fb21c4453bcfaad0f6163e7f43725c4c18f99
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/attacks/attack_white_17.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/attacks/attack_white_18.png b/game/engines/default/modules/boot/data/gfx/attacks/attack_white_18.png
new file mode 100644
index 0000000000000000000000000000000000000000..fe16ac98e8c52e49a60b9064d4cbad90e1510d51
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/attacks/attack_white_18.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/attacks/attack_white_19.png b/game/engines/default/modules/boot/data/gfx/attacks/attack_white_19.png
new file mode 100644
index 0000000000000000000000000000000000000000..83b4a6f75ce65b39f79ae27354ffa131308a6440
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/attacks/attack_white_19.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/particles/golden_shield.lua b/game/engines/default/modules/boot/data/gfx/particles/golden_shield.lua
index f3a5e0089499b2bce9068e5b8a708ea7e536502b..bc2e4a0e2ab050fd0a6b750666c69a859c8a38f4 100644
--- a/game/engines/default/modules/boot/data/gfx/particles/golden_shield.lua
+++ b/game/engines/default/modules/boot/data/gfx/particles/golden_shield.lua
@@ -17,9 +17,10 @@
 -- Nicolas Casalini "DarkGod"
 -- darkgod@te4.org
 
+can_shift = true
 base_size = 32
 
-return { blend_mode=core.particles.BLEND_ADDITIVE, generator = function()
+return { blend_mode=core.particles.BLEND_SHINY, generator = function()
 	local ad = rng.range(0, 360)
 	local a = math.rad(ad)
 	local dir = math.rad(ad + 90)
diff --git a/game/engines/default/modules/boot/data/gfx/particles/melee_attack.lua b/game/engines/default/modules/boot/data/gfx/particles/melee_attack.lua
new file mode 100644
index 0000000000000000000000000000000000000000..d3129dedf93389844d62c74ef310f43af85deeb8
--- /dev/null
+++ b/game/engines/default/modules/boot/data/gfx/particles/melee_attack.lua
@@ -0,0 +1,53 @@
+-- ToME - Tales of Maj'Eyal
+-- Copyright (C) 2009 - 2015 Nicolas Casalini
+--
+-- This program is free software: you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as published by
+-- the Free Software Foundation, either version 3 of the License, or
+-- (at your option) any later version.
+--
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+--
+-- You should have received a copy of the GNU General Public License
+-- along with this program.  If not, see <http://www.gnu.org/licenses/>.
+--
+-- Nicolas Casalini "DarkGod"
+-- darkgod@te4.org
+
+local first = true
+base_size = 32
+local r = 255
+local g = 0
+local b = 0
+if color then r, g, b = color.r, color.g, color.b end
+
+return { generator = function()
+	local size = rng.range(18, 28)
+	local x = rng.range(-8, 8)
+	local y = rng.range(-8, 8)
+
+	return {
+		life = 5,
+		size = size, sizev = 0, sizea = 0,
+
+		x = x, xv = 0, xa = 0,
+		y = y, yv = 0, ya = 0,
+		dir = 0, dirv = 0, dira = 0,
+		vel = 0, velv = 0, vela = 0,
+
+		r = r, rv = 0, ra = 0,
+		g = g, gv = 0, ga = 0,
+		b = b, bv = 0, ba = 0,
+		a = rng.float(0.6, 1), av = 0.1, aa = 0,
+	}
+end, },
+function(self)
+	if first then
+		self.ps:emit(1)
+		first = false
+	end
+end,
+1, ("attacks/attack_white_%02d"):format(rng.range(1, 19))
diff --git a/game/engines/default/modules/boot/data/gfx/shaders/tree.frag b/game/engines/default/modules/boot/data/gfx/shaders/tree.frag
new file mode 100644
index 0000000000000000000000000000000000000000..1c36208c31165f45473bac047347c57ea918385f
--- /dev/null
+++ b/game/engines/default/modules/boot/data/gfx/shaders/tree.frag
@@ -0,0 +1,24 @@
+uniform sampler2D tex;
+uniform float tick;
+uniform vec2 mapCoord;
+uniform vec4 texCoord;
+uniform float attenuation;
+
+void main(void)
+{
+	float time = tick / 1000.0;
+	vec2 xy = gl_TexCoord[0].xy;
+//	if (xy.y <= 0.5) xy.x = xy.x + (0.5-xy.y) * sin(time + mapCoord.x / 40.0 + mapCoord.y) / 14.0;
+	// if (xy.y <= 0.75) xy.x = xy.x + (0.75-xy.y) * sin(time + mapCoord.x / 40.0 + mapCoord.y) / attenuation;
+
+	vec2 ts = texCoord.zw;
+	vec2 tx = texCoord.xy;
+	if (xy.y <= tx.y + 0.75 * ts.y) {
+		xy.x = xy.x + (tx.y + 0.75 * ts.y - xy.y) * sin(time + mapCoord.x / (40.0) + mapCoord.y) / attenuation;
+	}
+
+//	xy.x = xy.x + (1.0-xy.y) * sin(time + mapCoord.x / 40 + mapCoord.y) / attenuation;
+
+	xy = clamp(xy, tx, tx + ts);
+	gl_FragColor = texture2D(tex, xy) * gl_Color;
+}
diff --git a/game/engines/default/modules/boot/data/gfx/shaders/tree.lua b/game/engines/default/modules/boot/data/gfx/shaders/tree.lua
new file mode 100644
index 0000000000000000000000000000000000000000..8cb5b6f220ebf16e9ad5bb0c6a930e1d4c7568fd
--- /dev/null
+++ b/game/engines/default/modules/boot/data/gfx/shaders/tree.lua
@@ -0,0 +1,27 @@
+-- ToME - Tales of Maj'Eyal
+-- Copyright (C) 2009 - 2015 Nicolas Casalini
+--
+-- This program is free software: you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as published by
+-- the Free Software Foundation, either version 3 of the License, or
+-- (at your option) any later version.
+--
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+--
+-- You should have received a copy of the GNU General Public License
+-- along with this program.  If not, see <http://www.gnu.org/licenses/>.
+--
+-- Nicolas Casalini "DarkGod"
+-- darkgod@te4.org
+
+return {
+	frag = "tree",
+	vert = nil,
+	args = {
+		attenuation = attenuation or 35,
+	},
+	clone = false,
+}
diff --git a/game/engines/default/modules/boot/data/gfx/shaders/water.frag b/game/engines/default/modules/boot/data/gfx/shaders/water.frag
index 264bbed35ba37c816431f357056a866d59c79f68..e12b53880e23c4d28f8dfc04b01b20e44458fe39 100644
--- a/game/engines/default/modules/boot/data/gfx/shaders/water.frag
+++ b/game/engines/default/modules/boot/data/gfx/shaders/water.frag
@@ -1,21 +1,87 @@
+// Simple Water shader. (c) Victor Korsun, bitekas@gmail.com; 2012.
+//
+// Attribution-ShareAlike CC License.
+
+#ifdef GL_ES
+precision highp float;
+#endif
+
+uniform vec2 texSize;
 uniform float tick;
-uniform sampler3D noisevol;
+uniform sampler2D tex;
 uniform vec2 mapCoord;
-uniform vec4 displayColor;
-uniform vec4 color1;
-uniform vec4 color2;
+uniform vec4 texCoord;
+
+const float PI = 3.1415926535897932;
+
+// play with these parameters to custimize the effect
+// ===================================================
+
+//speed
+const float speed = 0.2;
+const float speed_x = 0.3;
+const float speed_y = 0.3;
+
+// refraction
+const float emboss = 0.50;
+const float intensity = 2.4;
+const int steps = 10;
+const float frequency = 12.0;
+const int angle = 7; // better when a prime
+
+// reflection
+const float delta = 60.;
+const float intence = 700.;
+
+const float reflectionCutOff = 0.012;
+const float reflectionIntence = 200000.;
+
+// ===================================================
+
+float time = tick / 10000.0;
+
+float col(vec2 coord)
+{
+	float delta_theta = 2.0 * PI / float(angle);
+	float col = 0.0;
+	float theta = 0.0;
+	for (int i = 0; i < steps; i++)
+	{
+		vec2 adjc = coord;
+		theta = delta_theta*float(i);
+		adjc.x += cos(theta)*time*speed + time * speed_x;
+		adjc.y -= sin(theta)*time*speed - time * speed_y;
+		col = col + cos( (adjc.x*cos(theta) - adjc.y*sin(theta))*frequency)*intensity;
+	}
+
+	return cos(col);
+}
+
+//---------- main
 
 void main(void)
 {
-	float fTime0_X = tick / 100000.0;
-	vec2 coord = mapCoord+gl_TexCoord[0].xy;
-	float noisy = texture3D(noisevol,vec3(coord,fTime0_X)).r;
-	float noisy2 = texture3D(noisevol,vec3(coord/5.0,fTime0_X)).r;
-	float noisy3 = texture3D(noisevol,vec3(coord/7.0,fTime0_X)).r;
-	float noise = (noisy+noisy2+noisy3)/3.0;
-
-	float bump = 1.0-abs((2.0 * noise)-1.0);
-	bump *= bump - 0.3;
-	gl_FragColor = mix(color1, color2, bump) * displayColor;
-	gl_FragColor.a = 0.4;
+	vec2 p = (vec2(gl_FragCoord.x - mapCoord.x, texSize.y - gl_FragCoord.y - mapCoord.y)) / texSize.xy, c1 = p, c2 = p;
+	float cc1 = col(c1);
+
+	c2.x += texSize.x/delta;
+	float dx = emboss*(cc1-col(c2))/delta;
+
+	c2.x = p.x;
+	c2.y += texSize.y/delta;
+	float dy = emboss*(cc1-col(c2))/delta;
+
+	c1.x += dx*2.;
+	c1.y = -(c1.y+dy*2.);
+
+	float alpha = 1.+dot(dx,dy)*intence;
+		
+	float ddx = dx - reflectionCutOff;
+	float ddy = dy - reflectionCutOff;
+	if (ddx > 0. && ddy > 0.)
+		alpha = pow(alpha, ddx*ddy*reflectionIntence);
+	
+	c1 = clamp(c1, texCoord.xy, texCoord.xy + texCoord.zw);
+	vec4 col = texture2D(tex, texCoord.xy + c1 * texCoord.zw)*(alpha);
+	gl_FragColor = col;
 }
diff --git a/game/engines/default/modules/boot/data/gfx/shaders/water.lua b/game/engines/default/modules/boot/data/gfx/shaders/water.lua
index 6cbc2e9b32219b352cd43356dea18613ea15f29a..70f1aa301769cf9e6601aa7aa6f10ade081bb3d2 100644
--- a/game/engines/default/modules/boot/data/gfx/shaders/water.lua
+++ b/game/engines/default/modules/boot/data/gfx/shaders/water.lua
@@ -1,4 +1,4 @@
--- ToME - Tales of Middle-Earth
+-- ToME - Tales of Maj'Eyal
 -- Copyright (C) 2009 - 2015 Nicolas Casalini
 --
 -- This program is free software: you can redistribute it and/or modify
@@ -18,12 +18,12 @@
 -- darkgod@te4.org
 
 return {
+	require_kind = "adv",
 	frag = "water",
 	vert = nil,
 	args = {
-		noisevol = { texture = 1 },
-		color1 = {0,0,1,1},
-		color2 = {0,0.6,0.8,1},
+		tex = { texture = 0 },
+		iResolution = size or {64.0, 64.0},
 	},
 	clone = false,
 }
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass.png b/game/engines/default/modules/boot/data/gfx/terrain/grass.png
index db5091dd4434cf1c6a1a7f83bc50f679f9816ae7..7902643691d825a225ff2c88b1130f4098724c28 100644
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass.png and b/game/engines/default/modules/boot/data/gfx/terrain/grass.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_1_01.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_1_01.png
index f3e7524b930b5c4a62b1b966e23c234c46eff13f..f040fda532c596552439e6a87a171d4541fc3fa9 100644
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_1_01.png and b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_1_01.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_1_02.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_1_02.png
deleted file mode 100644
index 2e45c2d6e61eb7176f8018555816ef7ded760b59..0000000000000000000000000000000000000000
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_1_02.png and /dev/null differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_1_03.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_1_03.png
deleted file mode 100644
index ee3ebb3bd4dedc3e7f82ecacee523ebbc4ee2873..0000000000000000000000000000000000000000
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_1_03.png and /dev/null differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_2_01.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_2_01.png
index 28d0b7f063c0cc7dfb3c84f5e5ea12b2b592c0cc..2fd125678356b463766c413fa3f8af598574dc60 100644
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_2_01.png and b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_2_01.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_2_02.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_2_02.png
index b7aa9c92adc5382977e2e6dd5fcb440251ac8b80..7a6c8a85b6843cab069e1a867a06d3b972fab12f 100644
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_2_02.png and b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_2_02.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_2_03.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_2_03.png
deleted file mode 100644
index 393520177ebacab016b1c9d6eadde9c2d748c625..0000000000000000000000000000000000000000
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_2_03.png and /dev/null differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_2_04.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_2_04.png
deleted file mode 100644
index 0a6584f6d132a07694bbc898a0a5c6d8762a14cf..0000000000000000000000000000000000000000
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_2_04.png and /dev/null differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_2_05.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_2_05.png
deleted file mode 100644
index 497775b691b35f1261b76ddaca616dcae608701d..0000000000000000000000000000000000000000
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_2_05.png and /dev/null differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_3_01.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_3_01.png
index 26054853b19522a9b112b88c6258ab4b5d1ae415..b14e7e8a4cec417fd5ffceea1bfb45279b1c9d1e 100644
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_3_01.png and b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_3_01.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_3_02.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_3_02.png
deleted file mode 100644
index 58206934caae6a0014df81cece34f4bf2917d5c1..0000000000000000000000000000000000000000
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_3_02.png and /dev/null differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_3_03.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_3_03.png
deleted file mode 100644
index 70a77abaa0a008e1e893b8f847ff0f17c5b37fc7..0000000000000000000000000000000000000000
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_3_03.png and /dev/null differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_4_01.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_4_01.png
index 1b0c5bfbd15a634aceb07bb1f748978b74a42d59..ecb101d0ccc4f22554d14a6c217f27189a0075eb 100644
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_4_01.png and b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_4_01.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_4_02.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_4_02.png
index 66abf18c9af61b4ed44fcf58bccd1554087226e2..6d4ba665f433eed8641173e48a2a8aa0606b73de 100644
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_4_02.png and b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_4_02.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_4_03.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_4_03.png
deleted file mode 100644
index 2178af714496ccb5c175e9ef3d6fddbae36d5403..0000000000000000000000000000000000000000
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_4_03.png and /dev/null differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_4_04.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_4_04.png
deleted file mode 100644
index 1003449afd9e156606f44a2c1c0b08556260ff52..0000000000000000000000000000000000000000
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_4_04.png and /dev/null differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_6_01.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_6_01.png
index f50d877d0f2c033370ea5cb030e52f673a95f2b1..ca40e27de872149a711117ebe2941a3a8f3e5e22 100644
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_6_01.png and b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_6_01.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_6_02.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_6_02.png
index b5bb5c925608c86d719bddb318ef923cfc44403b..5ada68280c4a7fcd69b621aa939c6cbeee0f5d1a 100644
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_6_02.png and b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_6_02.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_6_03.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_6_03.png
deleted file mode 100644
index f850febd57dc9afc2bd6551485b736fdcbdfecaf..0000000000000000000000000000000000000000
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_6_03.png and /dev/null differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_6_04.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_6_04.png
deleted file mode 100644
index c2e8be06a8edde10e19808477657eaa5311c56bd..0000000000000000000000000000000000000000
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_6_04.png and /dev/null differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_6_05.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_6_05.png
deleted file mode 100644
index 8ff1b59659de9e3e9d8384bbab553f8509cae540..0000000000000000000000000000000000000000
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_6_05.png and /dev/null differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_7_01.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_7_01.png
index d3b3fe8c63feae668719ca8a240a6d764c14d3cd..7d6b61f370f23924accf28817a5f73e12422955c 100644
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_7_01.png and b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_7_01.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_7_02.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_7_02.png
deleted file mode 100644
index d4ef92909d1d204b4e9e298637d5fea0e6bd0623..0000000000000000000000000000000000000000
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_7_02.png and /dev/null differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_7_03.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_7_03.png
deleted file mode 100644
index cc46063c8e814886433f089b6589e28e733a1a92..0000000000000000000000000000000000000000
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_7_03.png and /dev/null differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_8_01.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_8_01.png
index 97bd39972df23dd8348ca6fd99d4a622dc1a68a4..82696a1de6f17953d23b910407e77f011b49a617 100644
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_8_01.png and b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_8_01.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_8_02.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_8_02.png
index 4c6442642ff1be23171c26e742ecc54626415b8d..a3f4a444aa4b51f4a4405c10f44d72d32c9853e1 100644
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_8_02.png and b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_8_02.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_8_03.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_8_03.png
deleted file mode 100644
index 6d1b25bb37ed6f205b7793ff4fe671fbf8fc8a98..0000000000000000000000000000000000000000
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_8_03.png and /dev/null differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_8_04.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_8_04.png
deleted file mode 100644
index af834b0935dbc0244766b5c44fed9f400f16e77f..0000000000000000000000000000000000000000
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_8_04.png and /dev/null differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_8_05.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_8_05.png
deleted file mode 100644
index 966f21ddae964b1bb43cda8171f663797d1e7073..0000000000000000000000000000000000000000
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_8_05.png and /dev/null differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_9_01.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_9_01.png
index 0c042c1c9b8fcffe4fa709e584ef2745c7bb8c22..b8c79a6c56b2c1eccdaee565119eb3eee0f72ac6 100644
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_9_01.png and b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_9_01.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_9_02.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_9_02.png
deleted file mode 100644
index 0c32d2f4d89bef9e7669536bd015c80c71c5690e..0000000000000000000000000000000000000000
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_9_02.png and /dev/null differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_9_03.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_9_03.png
deleted file mode 100644
index 3f6bc44f2192a5e84d96b99f8ff774d9a2764ec5..0000000000000000000000000000000000000000
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_9_03.png and /dev/null differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_inner_1_01.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_inner_1_01.png
index 854afa70f7655e75ed280c1f98bddad2c3d6e920..666aef60742bdaa0907b998ad8d14fd9e5259188 100644
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_inner_1_01.png and b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_inner_1_01.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_inner_1_02.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_inner_1_02.png
index 19077cc9daca7941b11309b7ba44b0d704736ba8..98e64607fed62820f53a6436617ba4d6c45e70d4 100644
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_inner_1_02.png and b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_inner_1_02.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_inner_1_03.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_inner_1_03.png
deleted file mode 100644
index d5d245c452e324d94cd38ef4a8e751748a2a1c33..0000000000000000000000000000000000000000
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_inner_1_03.png and /dev/null differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_inner_3_01.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_inner_3_01.png
index a0305e0d2234eb7cfe6e45b4773899ca4cedd967..8ed63f1d6b1dcea63bcb6b23aaa246b18491dc98 100644
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_inner_3_01.png and b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_inner_3_01.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_inner_3_02.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_inner_3_02.png
index 0b074fba982daa22468eef98c8ec514843da9da3..0a0a2c471b27b9480919b6d85796fa0de8691ea1 100644
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_inner_3_02.png and b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_inner_3_02.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_inner_3_03.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_inner_3_03.png
deleted file mode 100644
index a810a581e8339421b29ca68698cb8c228e26c495..0000000000000000000000000000000000000000
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_inner_3_03.png and /dev/null differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_inner_7_01.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_inner_7_01.png
index a598786013f285f67474f69a2172b3abbe7a105c..85052c42bf2e21b142c364468ab03e494c03657d 100644
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_inner_7_01.png and b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_inner_7_01.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_inner_7_02.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_inner_7_02.png
index 09d22883f25181ec1058b2745d7b90efc098c3e8..8e849f7d059b879e20de3266f13d68206d896e95 100644
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_inner_7_02.png and b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_inner_7_02.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_inner_7_03.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_inner_7_03.png
deleted file mode 100644
index 8c644b90a971d400c9433fbff908f13f806f9c8a..0000000000000000000000000000000000000000
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_inner_7_03.png and /dev/null differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_inner_9_01.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_inner_9_01.png
index 007194981e58e4818e4ee437cedbd1b42f2b1262..c613ec0c85b2ed06f9227226e863914e0870d24c 100644
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_inner_9_01.png and b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_inner_9_01.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_inner_9_02.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_inner_9_02.png
index 9c8b0e84eaa952684a54df09510ca667b48c5477..04bcbc7a0c0459e0cfb8d96f0737a1319fc5a4a4 100644
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_inner_9_02.png and b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_inner_9_02.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_inner_9_03.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_inner_9_03.png
deleted file mode 100644
index 4b1e197fcae03b0aea01d7f9e96d81466b9884c9..0000000000000000000000000000000000000000
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_inner_9_03.png and /dev/null differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_main_01.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_main_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..7902643691d825a225ff2c88b1130f4098724c28
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_main_01.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_main_02.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_main_02.png
new file mode 100644
index 0000000000000000000000000000000000000000..5a0e93a527d64b385ccbe018b5ee4d54a1a81ea2
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_main_02.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_main_03.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_main_03.png
new file mode 100644
index 0000000000000000000000000000000000000000..1e8faa2794081e603550128be335da991ae92ce2
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_main_03.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_main_04.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_main_04.png
new file mode 100644
index 0000000000000000000000000000000000000000..bb79e2cf8360780800a7c8cc6c3e4d6950947783
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_main_04.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_main_05.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_main_05.png
new file mode 100644
index 0000000000000000000000000000000000000000..22dc82254bfa57703a4f05f461abd10d14cf3711
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_main_05.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_main_06.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_main_06.png
new file mode 100644
index 0000000000000000000000000000000000000000..aa233b3ac23fcd1ccff7015a2602ebeda935f307
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_main_06.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_main_07.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_main_07.png
new file mode 100644
index 0000000000000000000000000000000000000000..d5dc72d09bbab45a52e93e13dff67e80a73cc043
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_main_07.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_main_08.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_main_08.png
new file mode 100644
index 0000000000000000000000000000000000000000..547ffc94bed2cab96c6d4b960d1aba6cd8f4b1bb
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_main_08.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_main_09.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_main_09.png
new file mode 100644
index 0000000000000000000000000000000000000000..da5808196e89070acc9baa0d6c074d7aa5cecf70
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_main_09.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_main_10.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_main_10.png
new file mode 100644
index 0000000000000000000000000000000000000000..73b72406c23f7cc14ea960b6563d20374a4cd7b2
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_main_10.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_main_11.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_main_11.png
new file mode 100644
index 0000000000000000000000000000000000000000..171b073e7e3ee621b09d0abaa8795a78ad6bf98a
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_main_11.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_main_12.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_main_12.png
new file mode 100644
index 0000000000000000000000000000000000000000..ac7f6c9a1ffbb04a39d9c367a07a306edb9f6379
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_main_12.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_main_13.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_main_13.png
new file mode 100644
index 0000000000000000000000000000000000000000..ce36b71c828dc00fbd6c60dc3a70733cd8d7f1ac
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_main_13.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_main_14.png b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_main_14.png
new file mode 100644
index 0000000000000000000000000000000000000000..03706494495dc300aea55e31d5cb6de7bc414a6c
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/grass/grass_main_14.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass2.png b/game/engines/default/modules/boot/data/gfx/terrain/grass2.png
deleted file mode 100644
index 9963bf09ea7d77efcc51ee73e657b2aef1aa0108..0000000000000000000000000000000000000000
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass2.png and /dev/null differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/grass3.png b/game/engines/default/modules/boot/data/gfx/terrain/grass3.png
deleted file mode 100644
index d220e62f6c7b903beac79c5f274d6ea36b23302a..0000000000000000000000000000000000000000
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/grass3.png and /dev/null differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/tree_alpha1.png b/game/engines/default/modules/boot/data/gfx/terrain/tree_alpha1.png
deleted file mode 100644
index bdb612a9003560f891ddd9e1fa38f076d4433065..0000000000000000000000000000000000000000
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/tree_alpha1.png and /dev/null differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/tree_alpha10.png b/game/engines/default/modules/boot/data/gfx/terrain/tree_alpha10.png
deleted file mode 100644
index 3a1753a46b6e5ece59fa2247e1f4fdd63c0d25fb..0000000000000000000000000000000000000000
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/tree_alpha10.png and /dev/null differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/tree_alpha11.png b/game/engines/default/modules/boot/data/gfx/terrain/tree_alpha11.png
deleted file mode 100644
index 722864a2779b502f37fb9fdf96b7d4a7ec21c900..0000000000000000000000000000000000000000
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/tree_alpha11.png and /dev/null differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/tree_alpha12.png b/game/engines/default/modules/boot/data/gfx/terrain/tree_alpha12.png
deleted file mode 100644
index d41ab826c8b7e808069a5bf20aa9ce38f81276e0..0000000000000000000000000000000000000000
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/tree_alpha12.png and /dev/null differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/tree_alpha13.png b/game/engines/default/modules/boot/data/gfx/terrain/tree_alpha13.png
deleted file mode 100644
index 17e3ef0ae1840588161fcbac8a8148804ee0c9d3..0000000000000000000000000000000000000000
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/tree_alpha13.png and /dev/null differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/tree_alpha2.png b/game/engines/default/modules/boot/data/gfx/terrain/tree_alpha2.png
deleted file mode 100644
index ab92cf5478c6dd7df838b01e2952f541ff0fe399..0000000000000000000000000000000000000000
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/tree_alpha2.png and /dev/null differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/tree_alpha3.png b/game/engines/default/modules/boot/data/gfx/terrain/tree_alpha3.png
deleted file mode 100644
index f2d3ae505b9e36e0f8424eb60778592204bcde29..0000000000000000000000000000000000000000
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/tree_alpha3.png and /dev/null differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/tree_alpha4.png b/game/engines/default/modules/boot/data/gfx/terrain/tree_alpha4.png
deleted file mode 100644
index eb594d7cb46838de0f62308a39456f0e3cecf7a5..0000000000000000000000000000000000000000
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/tree_alpha4.png and /dev/null differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/tree_alpha5.png b/game/engines/default/modules/boot/data/gfx/terrain/tree_alpha5.png
deleted file mode 100644
index 3d690d4431a3af652a21f4065a0efb064cac0728..0000000000000000000000000000000000000000
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/tree_alpha5.png and /dev/null differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/tree_alpha6.png b/game/engines/default/modules/boot/data/gfx/terrain/tree_alpha6.png
deleted file mode 100644
index 01bc1196ce313f525df1416d37848354ef73258c..0000000000000000000000000000000000000000
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/tree_alpha6.png and /dev/null differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/tree_alpha7.png b/game/engines/default/modules/boot/data/gfx/terrain/tree_alpha7.png
deleted file mode 100644
index ec7db62f6fad2a1123ebc674e11b662d5a2d4de5..0000000000000000000000000000000000000000
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/tree_alpha7.png and /dev/null differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/tree_alpha8.png b/game/engines/default/modules/boot/data/gfx/terrain/tree_alpha8.png
deleted file mode 100644
index f98d25fc812aa8413007d6157b9680c46743a5d7..0000000000000000000000000000000000000000
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/tree_alpha8.png and /dev/null differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/tree_alpha9.png b/game/engines/default/modules/boot/data/gfx/terrain/tree_alpha9.png
deleted file mode 100644
index 083c1e7c233d09340d964c8ce105d65bd2259080..0000000000000000000000000000000000000000
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/tree_alpha9.png and /dev/null differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/tree_dark_alpha1.png b/game/engines/default/modules/boot/data/gfx/terrain/tree_dark_alpha1.png
deleted file mode 100644
index 1ee6bf338c3aafbed31964c31c2727aa4c285a2f..0000000000000000000000000000000000000000
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/tree_dark_alpha1.png and /dev/null differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/tree_dark_alpha2.png b/game/engines/default/modules/boot/data/gfx/terrain/tree_dark_alpha2.png
deleted file mode 100644
index 7cd47279a51a4b74f1418bd4df256958d5615eb5..0000000000000000000000000000000000000000
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/tree_dark_alpha2.png and /dev/null differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/tree_dark_alpha3.png b/game/engines/default/modules/boot/data/gfx/terrain/tree_dark_alpha3.png
deleted file mode 100644
index ba16d906198c3d1a071239df564cfa377aa80708..0000000000000000000000000000000000000000
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/tree_dark_alpha3.png and /dev/null differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/tree_dark_alpha4.png b/game/engines/default/modules/boot/data/gfx/terrain/tree_dark_alpha4.png
deleted file mode 100644
index a91a4f271fa521e7a96407a202863d667c684e8c..0000000000000000000000000000000000000000
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/tree_dark_alpha4.png and /dev/null differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/tree_dark_alpha5.png b/game/engines/default/modules/boot/data/gfx/terrain/tree_dark_alpha5.png
deleted file mode 100644
index a11b2699ec85715e94a7e99cf9ff4889a911a40e..0000000000000000000000000000000000000000
Binary files a/game/engines/default/modules/boot/data/gfx/terrain/tree_dark_alpha5.png and /dev/null differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/cypress_foliage_01.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/cypress_foliage_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..045a9aefaec1c5ed98680d46ab9f4a1715626b9b
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/cypress_foliage_01.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/cypress_foliage_02.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/cypress_foliage_02.png
new file mode 100644
index 0000000000000000000000000000000000000000..bb3b755215da3c212cf09c5d229f2b72780093bb
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/cypress_foliage_02.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/cypress_foliage_03.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/cypress_foliage_03.png
new file mode 100644
index 0000000000000000000000000000000000000000..dfbe84f4e36a8c095d1c0c542e78317ef82c3f67
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/cypress_foliage_03.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/cypress_foliage_04.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/cypress_foliage_04.png
new file mode 100644
index 0000000000000000000000000000000000000000..591976fef7fe970b10f738ba364d32ca3ba3679c
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/cypress_foliage_04.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/cypress_shadow.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/cypress_shadow.png
new file mode 100644
index 0000000000000000000000000000000000000000..8ee68dabae67c3ba011189c6ed2a7127144cd6cc
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/cypress_shadow.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/cypress_trunk.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/cypress_trunk.png
new file mode 100644
index 0000000000000000000000000000000000000000..705edf19dd1ffec15e8305698e8ff90060d818ec
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/cypress_trunk.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/elm_foliage_bare.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/elm_foliage_bare.png
new file mode 100644
index 0000000000000000000000000000000000000000..ba2632228cf2499197e0dcbf75b599d9eedc83a9
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/elm_foliage_bare.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/elm_foliage_summer.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/elm_foliage_summer.png
new file mode 100644
index 0000000000000000000000000000000000000000..358786c86276072573d28819a36d585632310dbd
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/elm_foliage_summer.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/elm_shadow.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/elm_shadow.png
new file mode 100644
index 0000000000000000000000000000000000000000..6e389a8bd0cf3b4066e8c53cda0133922ed919a2
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/elm_shadow.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/elm_trunk.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/elm_trunk.png
new file mode 100644
index 0000000000000000000000000000000000000000..6cfb7bcf4a2d30ce3120012e79181e0c351636f1
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/elm_trunk.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/light_pine_foliage_01.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/light_pine_foliage_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..c41de4ddce4f4e40b7fef8e1b2afaed40158c3d5
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/light_pine_foliage_01.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/light_pine_foliage_02.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/light_pine_foliage_02.png
new file mode 100644
index 0000000000000000000000000000000000000000..bfed12dfae8ea27a5f317fc1b772dbefdd4dc9bb
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/light_pine_foliage_02.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/light_pine_foliage_03.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/light_pine_foliage_03.png
new file mode 100644
index 0000000000000000000000000000000000000000..9ed585e806987cb55dda821dc7c2787ffeab8e44
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/light_pine_foliage_03.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/light_pine_foliage_04.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/light_pine_foliage_04.png
new file mode 100644
index 0000000000000000000000000000000000000000..57f60708d849abcebc02f900b746842899bb2729
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/light_pine_foliage_04.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/light_pine_shadow.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/light_pine_shadow.png
new file mode 100644
index 0000000000000000000000000000000000000000..8ea54685606a909625a054f9fc1766501c3d13cb
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/light_pine_shadow.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/light_pine_trunk.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/light_pine_trunk.png
new file mode 100644
index 0000000000000000000000000000000000000000..ec7f428f25b9daa80c87986a256315e7ac0e6233
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/light_pine_trunk.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/light_small_narrow_pine_foliage_01.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/light_small_narrow_pine_foliage_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..5a94352f2bb68dc6679377d2f966974403e91804
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/light_small_narrow_pine_foliage_01.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/light_small_narrow_pine_foliage_02.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/light_small_narrow_pine_foliage_02.png
new file mode 100644
index 0000000000000000000000000000000000000000..456176d2fed7cff89211d32b527f943e648f3a0d
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/light_small_narrow_pine_foliage_02.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/light_small_narrow_pine_foliage_03.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/light_small_narrow_pine_foliage_03.png
new file mode 100644
index 0000000000000000000000000000000000000000..74346de64f2901204ba086982af2dc2f0d56c5fa
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/light_small_narrow_pine_foliage_03.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/light_small_narrow_pine_foliage_04.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/light_small_narrow_pine_foliage_04.png
new file mode 100644
index 0000000000000000000000000000000000000000..f61cad5780bd44c36040dce433a9c22f7ac0575b
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/light_small_narrow_pine_foliage_04.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/light_small_narrow_pine_shadow.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/light_small_narrow_pine_shadow.png
new file mode 100644
index 0000000000000000000000000000000000000000..6e99d15404e860d3c02ecfc70c51afd4484ea513
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/light_small_narrow_pine_shadow.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/light_small_pine_trunk.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/light_small_pine_trunk.png
new file mode 100644
index 0000000000000000000000000000000000000000..07aec5afc13ef893a9aee3b5ba1c233a798a0612
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/light_small_pine_trunk.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/light_small_wider_pine_foliage_01.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/light_small_wider_pine_foliage_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..d6fa4a561a49b3337c5cc997b9eac7dfea823ef6
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/light_small_wider_pine_foliage_01.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/light_small_wider_pine_foliage_02.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/light_small_wider_pine_foliage_02.png
new file mode 100644
index 0000000000000000000000000000000000000000..2e2326037868026967d7fa265471819bb02a97b6
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/light_small_wider_pine_foliage_02.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/light_small_wider_pine_foliage_03.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/light_small_wider_pine_foliage_03.png
new file mode 100644
index 0000000000000000000000000000000000000000..66b7626a7dea52e235aa26b26da96dba90bc6ad7
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/light_small_wider_pine_foliage_03.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/light_small_wider_pine_foliage_04.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/light_small_wider_pine_foliage_04.png
new file mode 100644
index 0000000000000000000000000000000000000000..65cc908b5e28497be8a211224c079a80b2dabe96
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/light_small_wider_pine_foliage_04.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/light_small_wider_pine_shadow.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/light_small_wider_pine_shadow.png
new file mode 100644
index 0000000000000000000000000000000000000000..6171d6385f66dac8a4f1acaced9cae35c45ff316
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/light_small_wider_pine_shadow.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/narrow_cypress_foliage_01.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/narrow_cypress_foliage_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..1ba287864053c875d0ca79ad906a5da2069fd460
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/narrow_cypress_foliage_01.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/narrow_cypress_foliage_02.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/narrow_cypress_foliage_02.png
new file mode 100644
index 0000000000000000000000000000000000000000..a0c46b62100df926daacb041e965c5a0284e2ca4
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/narrow_cypress_foliage_02.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/narrow_cypress_foliage_03.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/narrow_cypress_foliage_03.png
new file mode 100644
index 0000000000000000000000000000000000000000..1398d2babaccd6304b7c68c258ffc8108b485b54
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/narrow_cypress_foliage_03.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/narrow_cypress_foliage_04.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/narrow_cypress_foliage_04.png
new file mode 100644
index 0000000000000000000000000000000000000000..09fa37e52f715d7e30a0dcf69fe942ab2382f5b9
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/narrow_cypress_foliage_04.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/narrow_cypress_shadow.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/narrow_cypress_shadow.png
new file mode 100644
index 0000000000000000000000000000000000000000..01dd3aad0c020205fe74f707344680950c2330ec
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/narrow_cypress_shadow.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/narrow_cypress_trunk.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/narrow_cypress_trunk.png
new file mode 100644
index 0000000000000000000000000000000000000000..217c90c2433ef85c756fd6da21f0d88c6a27ab23
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/narrow_cypress_trunk.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/oak_foliage_bare_01.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/oak_foliage_bare_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..617a3cfdb580ceb57b90154d260e909db4da039f
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/oak_foliage_bare_01.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/oak_foliage_bare_02.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/oak_foliage_bare_02.png
new file mode 100644
index 0000000000000000000000000000000000000000..da4fb95234222b9f87e63376392e087d3e92f8d4
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/oak_foliage_bare_02.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/oak_foliage_bare_03.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/oak_foliage_bare_03.png
new file mode 100644
index 0000000000000000000000000000000000000000..da4fb95234222b9f87e63376392e087d3e92f8d4
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/oak_foliage_bare_03.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/oak_foliage_summer_01.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/oak_foliage_summer_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..6b427dafa149d9be96ac4389c4d33f2d177e9c2c
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/oak_foliage_summer_01.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/oak_foliage_summer_02.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/oak_foliage_summer_02.png
new file mode 100644
index 0000000000000000000000000000000000000000..dd2ba9c0cf8aeb0522d33bff45ed23a4b1fe328c
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/oak_foliage_summer_02.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/oak_foliage_summer_03.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/oak_foliage_summer_03.png
new file mode 100644
index 0000000000000000000000000000000000000000..9579ceed53ba528fe6db19ea2a3b53faaccf0cc1
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/oak_foliage_summer_03.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/oak_foliage_summer_04.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/oak_foliage_summer_04.png
new file mode 100644
index 0000000000000000000000000000000000000000..6d279065bcb21a359de87def307399f6226e0ef5
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/oak_foliage_summer_04.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/oak_shadow.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/oak_shadow.png
new file mode 100644
index 0000000000000000000000000000000000000000..e00b58fec6ca79f2c1b172d2db14a38dfe855df3
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/oak_shadow.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/oak_trunk_01.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/oak_trunk_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..3efc50755bcd709e0bfddb2f3129ff4030711793
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/oak_trunk_01.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/oak_trunk_02.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/oak_trunk_02.png
new file mode 100644
index 0000000000000000000000000000000000000000..1e10812efea61d5e9164ebdba5c60fe9c300899b
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/oak_trunk_02.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/pine_foliage_01.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/pine_foliage_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..a5c62199e6cbff151edd2fa0ec970c75453f68f6
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/pine_foliage_01.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/pine_foliage_02.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/pine_foliage_02.png
new file mode 100644
index 0000000000000000000000000000000000000000..837d949a812a0f70d6a95f0e0436dc3b7e2365cf
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/pine_foliage_02.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/pine_foliage_03.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/pine_foliage_03.png
new file mode 100644
index 0000000000000000000000000000000000000000..b70673309cbd68a7d10293529821c9fe906e89c3
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/pine_foliage_03.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/pine_foliage_04.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/pine_foliage_04.png
new file mode 100644
index 0000000000000000000000000000000000000000..3742b72a1ded7e41a6fd1c34ab5e88e378bda149
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/pine_foliage_04.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/pine_shadow.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/pine_shadow.png
new file mode 100644
index 0000000000000000000000000000000000000000..8ea54685606a909625a054f9fc1766501c3d13cb
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/pine_shadow.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/pine_trunk.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/pine_trunk.png
new file mode 100644
index 0000000000000000000000000000000000000000..922d32e21a86eee02174257c9a64f25ba5b1e9a5
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/pine_trunk.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/small_cypress_foliage_01.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_cypress_foliage_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..299af1db5537ca4cc095ff577616488b8dbae146
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_cypress_foliage_01.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/small_cypress_foliage_02.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_cypress_foliage_02.png
new file mode 100644
index 0000000000000000000000000000000000000000..d4c4395edbc7368d8ce760d6b1a231c5741dd845
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_cypress_foliage_02.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/small_cypress_foliage_03.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_cypress_foliage_03.png
new file mode 100644
index 0000000000000000000000000000000000000000..714accb3e4a4b2976489e5ef53f6b9aa695a8020
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_cypress_foliage_03.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/small_cypress_foliage_04.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_cypress_foliage_04.png
new file mode 100644
index 0000000000000000000000000000000000000000..5140ea1c626679defa0c1a66a59389e04c0c081c
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_cypress_foliage_04.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/small_cypress_shadow.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_cypress_shadow.png
new file mode 100644
index 0000000000000000000000000000000000000000..db9e39e51b1c6b7e378ae5323eaf644a72afb412
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_cypress_shadow.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/small_cypress_trunk.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_cypress_trunk.png
new file mode 100644
index 0000000000000000000000000000000000000000..e1d26ad039957f9d402a929b5579d3a2de310124
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_cypress_trunk.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/small_elm_foliage_bare.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_elm_foliage_bare.png
new file mode 100644
index 0000000000000000000000000000000000000000..eca476578651cdd72af9b54c9fa3c94a9b4a3f7e
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_elm_foliage_bare.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/small_elm_foliage_summer.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_elm_foliage_summer.png
new file mode 100644
index 0000000000000000000000000000000000000000..f406d6b7a0b1e55376994bb9cda68921ff88ea78
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_elm_foliage_summer.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/small_elm_shadow.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_elm_shadow.png
new file mode 100644
index 0000000000000000000000000000000000000000..3106a4db91decd3a3561e8416b4a01ad071c4b04
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_elm_shadow.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/small_elm_trunk.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_elm_trunk.png
new file mode 100644
index 0000000000000000000000000000000000000000..719426180396c5c6eca9922c8dd88c244ce5165e
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_elm_trunk.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/small_narrow_pine_foliage_01.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_narrow_pine_foliage_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..fb51567eab7ec948fbb0f3e6da70abf585b1f360
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_narrow_pine_foliage_01.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/small_narrow_pine_foliage_02.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_narrow_pine_foliage_02.png
new file mode 100644
index 0000000000000000000000000000000000000000..4354dd7797556a80bf18ee8f7c874cb66c69a0d2
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_narrow_pine_foliage_02.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/small_narrow_pine_foliage_03.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_narrow_pine_foliage_03.png
new file mode 100644
index 0000000000000000000000000000000000000000..ba6d93a73d77d53b7fc18e0af945a8cad044fe92
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_narrow_pine_foliage_03.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/small_narrow_pine_foliage_04.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_narrow_pine_foliage_04.png
new file mode 100644
index 0000000000000000000000000000000000000000..8297931145fcca894dadde34eff35ba26560f761
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_narrow_pine_foliage_04.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/small_narrow_pine_shadow.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_narrow_pine_shadow.png
new file mode 100644
index 0000000000000000000000000000000000000000..6e99d15404e860d3c02ecfc70c51afd4484ea513
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_narrow_pine_shadow.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/small_narrow_pine_trunk.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_narrow_pine_trunk.png
new file mode 100644
index 0000000000000000000000000000000000000000..2e0ed986f51b51867acae6bea230c3382aba99cf
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_narrow_pine_trunk.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/small_oak_foliage_bare_01.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_oak_foliage_bare_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..00fc9d5629e963ce983d49bbc97cd41eb6732b0d
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_oak_foliage_bare_01.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/small_oak_foliage_bare_03.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_oak_foliage_bare_03.png
new file mode 100644
index 0000000000000000000000000000000000000000..0084876a2f64e2ac496cebd801eeacd5b2150b31
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_oak_foliage_bare_03.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/small_oak_foliage_summer_01.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_oak_foliage_summer_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..3bf52ecc1f0a030877d8e4c4ed31fee66c1f7f7f
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_oak_foliage_summer_01.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/small_oak_foliage_summer_02.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_oak_foliage_summer_02.png
new file mode 100644
index 0000000000000000000000000000000000000000..fff69fd9197f38d33bca420ec46aaa28237a4274
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_oak_foliage_summer_02.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/small_oak_foliage_summer_03.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_oak_foliage_summer_03.png
new file mode 100644
index 0000000000000000000000000000000000000000..d223f32225c1aac697f2169d19a47744c164a2e5
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_oak_foliage_summer_03.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/small_oak_foliage_summer_04.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_oak_foliage_summer_04.png
new file mode 100644
index 0000000000000000000000000000000000000000..a1b94f286672f437e41109fa565d995c03ac4f2e
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_oak_foliage_summer_04.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/small_oak_shadow.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_oak_shadow.png
new file mode 100644
index 0000000000000000000000000000000000000000..e910db9fc5b0c4df8f8aa6af93806e5c18b7ca8f
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_oak_shadow.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/small_oak_trunk_01.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_oak_trunk_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..6d6049fd0812880d1f9d817e47e5f44565e0986c
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_oak_trunk_01.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/small_oak_trunk_02.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_oak_trunk_02.png
new file mode 100644
index 0000000000000000000000000000000000000000..dba52b5339528015786ab346ebcb44532b225664
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_oak_trunk_02.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/small_wider_pine_foliage_01.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_wider_pine_foliage_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..ecb85e403ea59818bb251167062e3087377ddf31
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_wider_pine_foliage_01.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/small_wider_pine_foliage_02.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_wider_pine_foliage_02.png
new file mode 100644
index 0000000000000000000000000000000000000000..5a282a1c9d6a98b656948be784470a2bdad4535d
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_wider_pine_foliage_02.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/small_wider_pine_foliage_03.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_wider_pine_foliage_03.png
new file mode 100644
index 0000000000000000000000000000000000000000..d1ff299a612c5053dcdd995126b324206e2a2db4
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_wider_pine_foliage_03.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/small_wider_pine_foliage_04.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_wider_pine_foliage_04.png
new file mode 100644
index 0000000000000000000000000000000000000000..46f846d4b525e038b71fe022ccc4dd147d2f5f29
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_wider_pine_foliage_04.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/small_wider_pine_shadow.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_wider_pine_shadow.png
new file mode 100644
index 0000000000000000000000000000000000000000..6171d6385f66dac8a4f1acaced9cae35c45ff316
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_wider_pine_shadow.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/small_wider_pine_trunk.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_wider_pine_trunk.png
new file mode 100644
index 0000000000000000000000000000000000000000..2e0ed986f51b51867acae6bea230c3382aba99cf
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/small_wider_pine_trunk.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/tiny_cypress_foliage_01.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/tiny_cypress_foliage_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..2804abcffd70c7a0f2216d034dcbe14d664d4bfe
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/tiny_cypress_foliage_01.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/tiny_cypress_foliage_02.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/tiny_cypress_foliage_02.png
new file mode 100644
index 0000000000000000000000000000000000000000..8c2955bce8972896c9357edaeed9278582d81bed
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/tiny_cypress_foliage_02.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/tiny_cypress_foliage_03.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/tiny_cypress_foliage_03.png
new file mode 100644
index 0000000000000000000000000000000000000000..91885a5bf63cfac513d7a13e145c092bd2388f26
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/tiny_cypress_foliage_03.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/tiny_cypress_foliage_04.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/tiny_cypress_foliage_04.png
new file mode 100644
index 0000000000000000000000000000000000000000..8a75898222ed8d6ffb64fb323d0cffdc5a595438
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/tiny_cypress_foliage_04.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/tiny_cypress_shadow.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/tiny_cypress_shadow.png
new file mode 100644
index 0000000000000000000000000000000000000000..cb0438daa9de5663ac31181372cb25ca0b63f662
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/tiny_cypress_shadow.png differ
diff --git a/game/engines/default/modules/boot/data/gfx/terrain/trees/tiny_cypress_trunk.png b/game/engines/default/modules/boot/data/gfx/terrain/trees/tiny_cypress_trunk.png
new file mode 100644
index 0000000000000000000000000000000000000000..2788ebd966015aebdb7121eb177dcc765ff05a47
Binary files /dev/null and b/game/engines/default/modules/boot/data/gfx/terrain/trees/tiny_cypress_trunk.png differ
diff --git a/game/engines/default/modules/boot/data/zones/dungeon/zone.lua b/game/engines/default/modules/boot/data/zones/dungeon/zone.lua
index 739ed5ff6939f5a418e4b6c86a10d442a7e2a5c3..146f873a376d8b7e25dbe2a5c4d7723aca02691f 100644
--- a/game/engines/default/modules/boot/data/zones/dungeon/zone.lua
+++ b/game/engines/default/modules/boot/data/zones/dungeon/zone.lua
@@ -25,7 +25,7 @@ return {
 	decay = {300, 800},
 	actor_adjust_level = function(zone, level, e) return zone.base_level + level.level-1 + rng.range(-1,2) end,
 	width = 50, height = 50,
---	all_remembered = true,
+	-- all_remembered = true,
 	all_lited = true,
 	levels = {
 		[1] = {
diff --git a/game/engines/default/modules/boot/dialogs/MainMenu.lua b/game/engines/default/modules/boot/dialogs/MainMenu.lua
index 38de4492e7762f2f02275a2de09353d86f687b4e..18f74c3d63e549cc19b1234db5bade65b9511d0e 100644
--- a/game/engines/default/modules/boot/dialogs/MainMenu.lua
+++ b/game/engines/default/modules/boot/dialogs/MainMenu.lua
@@ -73,7 +73,7 @@ function _M:init()
 
 	self.base_uis = {
 		{left=0, top=0, ui=self.c_list},
-		-- {left=0, bottom=0, absolute=true, ui=self.c_background},
+		{left=0, bottom=0, absolute=true, ui=self.c_background},
 		{right=self.c_facebook.w, bottom=0, absolute=true, ui=self.c_version},
 		{right=0, bottom=self.c_facebook.h+self.c_twitter.h, absolute=true, ui=self.c_forums},
 		{right=0, bottom=self.c_twitter.h, absolute=true, ui=self.c_facebook},
diff --git a/game/modules/tome/data/birth/races/giant.lua b/game/modules/tome/data/birth/races/giant.lua
index a4fa7b880f79da82e289b01cf4c5b9ab7e86e02e..87e2a8dee39417a367eac9d47ce9353718c5ceda 100644
--- a/game/modules/tome/data/birth/races/giant.lua
+++ b/game/modules/tome/data/birth/races/giant.lua
@@ -39,6 +39,19 @@ newBirthDescriptor{
 	copy = {
 		type = "giant", subtype="giant",
 	},
+
+	cosmetic_unlock = {
+		cosmetic_bikini =  {
+			{name="Bikini [donator only]", donator=true, on_actor=function(actor, birther, last)
+				if not last then local o = birther.obj_list_by_name.Bikini if not o then print("No bikini found!") return end actor:getInven(actor.INVEN_BODY)[1] = o:cloneFull()
+				else actor:registerOnBirthForceWear("FUN_BIKINI") end
+			end, check=function(birth) return birth.descriptors_by_type.sex == "Female" end},
+			{name="Mankini [donator only]", donator=true, on_actor=function(actor, birther, last)
+				if not last then local o = birther.obj_list_by_name.Mankini if not o then print("No mankini found!") return end actor:getInven(actor.INVEN_BODY)[1] = o:cloneFull()
+				else actor:registerOnBirthForceWear("FUN_MANKINI") end
+			end, check=function(birth) return birth.descriptors_by_type.sex == "Male" end},
+		},
+	},
 }
 
 ---------------------------------------------------------
diff --git a/src/main.c b/src/main.c
index f2acadb6f4ccee13790d05cdd59fcd63bd9968b9..e81ffdc8c43b7972f48b53d799fee02fe54254cb 100644
--- a/src/main.c
+++ b/src/main.c
@@ -864,6 +864,7 @@ void setupRealtime(float freq)
 	else
 	{
 		float interval = 1000 / freq;
+		if (realtime_timer_id) SDL_RemoveTimer(realtime_timer_id);
 		realtime_timer_id = SDL_AddTimer((int)interval, realtime_timer, NULL);
 		printf("[ENGINE] Switching to realtime, interval %d ms\n", (int)interval);
 	}