Browse Source

Fix trapdoor side textures and orientations

Previously, opening a trapdoor caused the side textures to flip.

Fix the incorrect textures.
Also add a texture transform to a tile of the open trapdoor, such
that the closed trapdoor sides use the lower part of the texture
and the open trapdoor sides use the higher part.

Clean up some codestyle issues.
Paramat 5 years ago
parent
commit
5c48c76aa2

+ 8 - 1
game_api.txt

@@ -214,6 +214,8 @@ The doors mod allows modders to register custom doors and trapdoors.
 	inventory_image = "mod_door_inv.png",
 	groups = {choppy = 2},
 	tiles = {"mod_door.png"}, -- UV map.
+	-- The front and back of the door must be identical in appearence as they swap on
+	-- open/close.
 	recipe = craftrecipe,
 	sounds = default.node_sound_wood_defaults(), -- optional
 	sound_open = sound play for open door, -- optional
@@ -228,7 +230,12 @@ The doors mod allows modders to register custom doors and trapdoors.
 	inventory_image = "mod_trapdoor_inv.png",
 	groups = {choppy = 2},
 	tile_front = "doors_trapdoor.png", -- the texture for the front and back of the trapdoor
-	tile_side = "doors_trapdoor_side.png", -- the tiles of the four side parts of the trapdoor
+	tile_side = "doors_trapdoor_side.png",
+	-- The texture for the four sides of the trapdoor.
+	-- The texture should have the trapdoor side drawn twice, in the lowest and highest
+	-- 1/8ths of the texture, both upright. The area between is not used.
+	-- The lower 1/8th will be used for the closed trapdoor, the higher 1/8th will be used
+	-- for the open trapdoor.
 	sounds = default.node_sound_wood_defaults(), -- optional
 	sound_open = sound play for open door, -- optional
 	sound_close = sound play for close door, -- optional

+ 3 - 1
mods/doors/README.txt

@@ -40,8 +40,10 @@ Following textures created by PenguinDad (CC BY-SA 4.0):
 
 Following textures created by sofar (CC-BY-SA-3.0):
   doors_trapdoor_steel.png
-  doors_trapdoor_steel_side.png
+
+Following textures created by paramat (CC-BY-SA-3.0):
   door_trapdoor_side.png
+  doors_trapdoor_steel_side.png
 
 Obsidian door textures by red-001 based on textures by Pilzadam and BlockMen (CC BY-SA 3.0):
   door_obsidian_glass.png

+ 16 - 9
mods/doors/init.lua

@@ -642,10 +642,14 @@ function doors.register_trapdoor(name, def)
 		type = "fixed",
 		fixed = {-0.5, -0.5, -0.5, 0.5, -6/16, 0.5}
 	}
-	def_closed.tiles = {def.tile_front,
-			def.tile_front .. '^[transformFY',
-			def.tile_side, def.tile_side,
-			def.tile_side, def.tile_side}
+	def_closed.tiles = {
+		def.tile_front,
+		def.tile_front .. '^[transformFY',
+		def.tile_side,
+		def.tile_side,
+		def.tile_side,
+		def.tile_side
+	}
 
 	def_opened.node_box = {
 		type = "fixed",
@@ -655,11 +659,14 @@ function doors.register_trapdoor(name, def)
 		type = "fixed",
 		fixed = {-0.5, -0.5, 6/16, 0.5, 0.5, 0.5}
 	}
-	def_opened.tiles = {def.tile_side, def.tile_side,
-			def.tile_side .. '^[transform3',
-			def.tile_side .. '^[transform1',
-			def.tile_front .. '^[transform46',
-			def.tile_front .. '^[transform6'}
+	def_opened.tiles = {
+		def.tile_side,
+		def.tile_side .. '^[transform2',
+		def.tile_side .. '^[transform3',
+		def.tile_side .. '^[transform1',
+		def.tile_front .. '^[transform46',
+		def.tile_front .. '^[transform6'
+	}
 
 	def_opened.drop = name_closed
 	def_opened.groups.not_in_creative_inventory = 1

BIN
mods/doors/textures/doors_trapdoor_side.png


BIN
mods/doors/textures/doors_trapdoor_steel_side.png