From d8ababbada84e1625a264a7a534a8360f040e0dd Mon Sep 17 00:00:00 2001
From: Gabriel PĂ©rez-Cerezo <gabriel@gpcf.eu>
Date: Sat, 10 Oct 2020 23:32:28 +0200
Subject: Squashed 'advtrains_platform/' content from commit fce72d6

git-subtree-dir: advtrains_platform
git-subtree-split: fce72d6a60aa9053c97e8c5f447e64717eaedf4e
---
 depends.txt                                  |   9 +
 init.lua                                     | 428 +++++++++++++++++++++++++++
 screenshot.png                               | Bin 0 -> 432480 bytes
 textures/advtrains_platform_version_node.png | Bin 0 -> 733 bytes
 version_info                                 |  36 +++
 5 files changed, 473 insertions(+)
 create mode 100644 depends.txt
 create mode 100644 init.lua
 create mode 100755 screenshot.png
 create mode 100644 textures/advtrains_platform_version_node.png
 create mode 100755 version_info

diff --git a/depends.txt b/depends.txt
new file mode 100644
index 0000000..e4772a3
--- /dev/null
+++ b/depends.txt
@@ -0,0 +1,9 @@
+advtrains
+default
+stairs
+moreblocks?
+ethereal?
+maple?
+moreores?
+minetest_errata?
+technic?
diff --git a/init.lua b/init.lua
new file mode 100644
index 0000000..c728022
--- /dev/null
+++ b/init.lua
@@ -0,0 +1,428 @@
+-- all nodes that do not fit in any other category
+-- Author:  Och_Noe
+-- Licence: LGPL 2.1 
+-- 
+
+
+local own_name = "advtrains_platform"
+
+
+local function register_platform(on,preset)
+	local ndef=minetest.registered_nodes[preset]
+	if not ndef then 
+		minetest.log("warning", " register_platform couldn't find preset node "..preset)
+		return
+	end
+	local btex=ndef.tiles
+	if type(btex)=="table" then
+		btex=btex[1]
+	end
+	local desc=ndef.description or ""
+	local nodename=string.match(preset, ":(.+)$")
+	minetest.register_node(on..":platform_low_"..nodename, {
+		description = attrans("@1 Platform (low)", desc),
+		tiles = {btex.."^advtrains_platform.png", btex, btex, btex, btex, btex},
+		groups = {cracky = 1, not_blocking_trains = 1, platform=1},
+		sounds = default.node_sound_stone_defaults(),
+		drawtype = "nodebox",
+		node_box = {
+			type = "fixed",
+			fixed = {
+				{-0.5, -0.1, -0.1, 0.5,  0  , 0.5},
+				{-0.5, -0.5,  0  , 0.5, -0.1, 0.5}
+			},
+		},
+		paramtype2="facedir",
+		paramtype = "light",
+		sunlight_propagates = true,
+	})
+	minetest.register_node(on..":platform_high_"..nodename, {
+		description = attrans("@1 Platform (high)", desc),
+		tiles = {btex.."^advtrains_platform.png", btex, btex, btex, btex, btex},
+		groups = {cracky = 1, not_blocking_trains = 1, platform=2},
+		sounds = default.node_sound_stone_defaults(),
+		drawtype = "nodebox",
+		node_box = {
+			type = "fixed",
+			fixed = {
+				{-0.5,  0.3, -0.1, 0.5,  0.5, 0.5},
+				{-0.5, -0.5,  0  , 0.5,  0.3, 0.5}
+			},
+		},
+		paramtype2="facedir",
+		paramtype = "light",
+		sunlight_propagates = true,
+	})
+	minetest.register_craft({
+		type="shapeless",
+		output = on..":platform_high_"..nodename.." 4",
+		recipe = {
+			"dye:yellow", preset, preset
+		},
+	})
+	minetest.register_craft({
+		type="shapeless",
+		output = on..":platform_low_"..nodename.." 4",
+		recipe = {
+			"dye:yellow", preset
+		},
+	})
+end
+
+
+
+--  bricks / blocks
+
+list_default =    { 
+   "default:desert_sandstone_brick",
+   "default:desert_stonebrick",
+   "default:silver_sandstone",
+   "default:silver_sandstone_brick",
+   "default:silver_sandstone_block",
+   "default:brick",
+   "default:stone",
+   "default:sandstone",
+   "default:obsidian_glass",
+   "default:dirt",
+   "default:dirt_with_grass", 
+   "default:desert_stone",
+   "default:desert_sandstone",
+-- added  2018-10-16    
+   "default:desert_sandstone_brick",
+-- added 2018-10-26
+   "default:cobble",
+}
+
+list_moreblocks = {
+   "moreblocks:cactus_brick",
+   "moreblocks:coal_stone_bricks",
+   "moreblocks:grey_bricks",
+   "moreblocks:iron_stone_bricks",
+   "moreblocks:stone_tile", 
+-- added 2019-01-19
+   "moreblocks:split_stone_tile", 
+   "moreblocks:split_stone_tile_alt", 
+}
+
+list_ethereal = {
+   "ethereal:icebrick",
+   "ethereal:bamboo_dirt" }
+
+
+-- added 2018-10-16
+list_errata= {
+   "minetest_errata:desert_sandstone_cobble",
+   "minetest_errata:mossy_stone_tile",
+   "minetest_errata:mossystone",
+   "minetest_errata:sandstone_cobble",
+   "minetest_errata:silver_sandstone_cobble", }
+
+
+--  wood
+
+list_wood= {
+   "default:acacia_wood",
+   "default:aspen_wood",
+   "default:junglewood",
+   "default:pine_wood",
+   "default:wood"  }
+
+
+list_wood_ethereal = {
+   "ethereal:banana_wood",
+   "ethereal:birch_wood",
+   "ethereal:frost_wood",
+   "ethereal:palm_wood",
+   "ethereal:redwood_wood",
+   "ethereal:willow_wood",
+   "ethereal:yellow_wood",
+   "ethereal:bamboo_floor"  }
+
+
+list_wood_maple = { 
+   "maple:maple_wood"  }
+
+
+
+--  metal blocks
+
+list_moreores = {
+   "moreores:mithril_block" }
+
+
+-- wool
+
+-- ?
+
+
+-- technic  - added 2019-03-11
+
+list_technic =  {
+	"technic:marble" }
+	
+
+
+for _,name in pairs(list_default) do
+   register_platform(own_name,name)   
+end
+
+if minetest.get_modpath("moreblocks") then
+   for _,name in pairs(list_moreblocks) do
+      register_platform(own_name,name)   
+   end
+end
+
+-- added 2018-10-16
+if minetest.get_modpath("minetest_errata") then
+   for _,name in pairs(list_errata) do
+      register_platform(own_name,name)   
+   end
+end
+
+
+
+for _,name in pairs(list_wood) do
+   register_platform(own_name,name)   
+end
+
+
+if minetest.get_modpath("ethereal") then
+   for _,name in pairs(list_ethereal) do
+      register_platform(own_name,name)   
+   end
+   for _,name in pairs(list_wood_ethereal) do
+      register_platform(own_name,name)   
+   end
+end
+
+
+if minetest.get_modpath("maple") then
+   for _,name in pairs(list_wood_maple) do
+      register_platform(own_name,name)   
+   end
+end
+
+
+if minetest.get_modpath("moreores") then
+   for _,name in pairs(list_moreores) do
+      register_platform(own_name,name)   
+   end
+end
+
+
+if minetest.get_modpath("technic") then
+   for _,name in pairs(list_technic) do
+      register_platform(own_name,name)
+   end
+end
+
+
+
+local woodpath_lengths = { 
+   { 5,10 },
+   { 5,20 },
+   { 5,25 },
+   { 10,10 },
+   { 10,20 },
+   { 10,25 },
+   { 20,20 },
+   { 20,25 },
+   { 25,25 },
+}
+
+
+-- path crossing track 
+
+local snowdef = minetest.registered_nodes['default:snowblock']
+local node_sound_snow_default = nil
+if snowdef then
+   node_sound_snow_default = snowdef.sounds
+end
+
+-- nodelist
+
+nodelist = {}
+
+-- nodelist:insert( { name = "", tile = ".png", 
+--		   sound = ,
+--		   full = "", half = "" } )
+
+table.insert(nodelist,  { name = "wood", 
+		tile = "default_wood.png", 
+		sound = default.node_sound_wood_defaults(),
+		full = "default:wood", 
+		half = "stairs:slab_wood" } )
+table.insert(nodelist,  { name = "cobble", 
+		tile = "default_cobble.png", 
+		sound = default.node_sound_stone_defaults(),
+		full = "default:cobble", 
+		half = "stairs:slab_cobble" } )
+table.insert(nodelist,  { name = "stonebrick", 
+		tile = "default_stone_brick.png", 
+		sound = default.node_sound_stone_defaults(),
+		full = "default:stonebrick", 
+		half = "stairs:slab_stonebrick" } )
+table.insert(nodelist, { name = "snow", tile = "default_snow.png", 
+		sound = node_sound_snow_default,
+		full = "default:snowblock", 
+		half = "stairs:slab_snowblock" } )
+
+
+local adv_track = "advtrains:dtrack_placer"
+
+if minetest.get_modpath("moreblocks") then
+   table.insert(nodelist,  { name = "tar", 
+		   tile = "moreblocks_tar.png", 
+		   sound = default.node_sound_stone_defaults(),
+		   full = "moreblocks:tar", 
+		   half = "moreblocks:slab_tar" } )
+   table.insert(nodelist,  { name = "stone tile", 
+		   tile = "moreblocks_stone_tile.png", 
+		   sound = default.node_sound_stone_defaults(),
+		   full = "moreblocks:stone_tile", 
+		   half = "moreblocks:slab_stone_tile" } )
+end
+
+
+for _,entry in pairs(nodelist) do
+
+   for _,lengths in pairs(woodpath_lengths) do
+      
+      local b = lengths[1]  --  "back"  in 1/10 nodes
+      local f = lengths[2]  --  "front" in 1/10 nodes   
+      
+      local h = string.format(":"..entry.name:gsub(" ","_") .."path_track_%02d%02d",b,f)
+      local d = string.format(entry.name .." level crossing %02d-%02d",b,f)
+      local h2 = string.format(":"..entry.name:gsub(" ","_") .."path_track_narrow_%02d%02d",b,f)
+      local d2 = string.format(entry.name .." level crossing (narrow) %02d-%02d",b,f)
+
+      minetest.register_node(own_name..h, 
+			     {
+				tiles =  { entry.tile, },
+				description = d,
+				drawtype = "nodebox",
+				paramtype = "light",
+				paramtype2 = "facedir",
+				node_box = 
+				   {
+				   type = "fixed",
+				   fixed = {
+				      {-0.5, -0.5, b/-10, 0.5, -0.4, f/10}, 
+				   }
+				},
+				groups = {choppy = 2, not_blocking_trains = 1,
+				   oddly_breakable_by_hand = 2,
+				   },
+				sounds = entry.sound,
+				on_place = minetest.rotate_node,
+				
+			     })
+
+      minetest.register_node(own_name..h2, 
+			     {
+				tiles =  { entry.tile, },
+				description = d2,
+				drawtype = "nodebox",
+				paramtype = "light",
+				paramtype2 = "facedir",
+				node_box = 
+				   {
+				   type = "fixed",
+				   fixed = {
+				      {-0.4, -0.5, b/-10, 0.4, -0.4, f/10}, 
+				      
+				   }
+				},
+				groups = {choppy = 2, not_blocking_trains = 1,
+				   oddly_breakable_by_hand = 2,
+				   },
+				sounds = entry.sound,
+				on_place = minetest.rotate_node,
+				
+			     })
+
+
+      local craft = { { "","","" } , { "","","" } , { "","","" } }
+      
+      craft[3][2] = adv_track
+      
+      for y = 2,1,-1
+      do
+	 if (b>=5) and (f>=5) then
+	    b = b-5
+	    f = f-5
+	    craft[y][2] = entry.full
+	 end
+      end
+
+      for y = 2,1,-1
+      do
+	 if (b>=10) then
+	    b = b-10
+	    craft[y][1] = entry.full
+	 elseif (b>=5) then
+	    b = b-5
+	    craft[y][1] = entry.half
+	 end
+	 if (f>=10) then
+	    f = f-10
+	    craft[y][3] = entry.full
+	 elseif (f>=5) then
+	    f = f-5
+	    craft[y][3] = entry.half
+	 end
+      end      
+
+      --   if (b>0) or (f>0) then
+      --      print(h.." b: "..b.." f: "..f)
+      --   else
+      --      t_aus = ""
+      --      for y=1,3 do
+      --	 for x=1,3 do
+      --	    t_aus = t_aus .. craft[y][x] .. ", "
+      --	 end
+      --     end
+      --     print(h..t_aus)
+      --   end
+
+      minetest.register_craft({
+				 output = own_name..h,
+				 recipe = craft,
+				 replacements = { {adv_track,adv_track}, }
+			      })
+
+      minetest.register_craft({
+				 output = own_name..h2,
+				 recipe = { { own_name..h } },
+			      })
+
+   end
+
+
+   --  3 nodes long slope
+
+   
+
+
+end
+
+
+
+
+
+
+minetest.register_node(own_name..":version_node", {
+        description = own_name.." version node",
+        tiles = {own_name.."_version_node.png"},
+        groups = {cracky = 3,not_in_creative_inventory=1},
+     })
+
+minetest.register_craft({
+			   output = own_name..":version_node",
+			   recipe = { 
+			      { "advtrains_platform:platform_high_cobble" }, 
+			      { "advtrains_platform:platform_high_stone" },
+			      { adv_track },
+			   },
+			})
+
diff --git a/screenshot.png b/screenshot.png
new file mode 100755
index 0000000..6576bbb
Binary files /dev/null and b/screenshot.png differ
diff --git a/textures/advtrains_platform_version_node.png b/textures/advtrains_platform_version_node.png
new file mode 100644
index 0000000..fe617d2
Binary files /dev/null and b/textures/advtrains_platform_version_node.png differ
diff --git a/version_info b/version_info
new file mode 100755
index 0000000..30a7fd0
--- /dev/null
+++ b/version_info
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+find *.lua *.txt textures  -type f | fgrep -v textures/advtrains_platform_version_node.png | head -12 >.filelist
+
+echo -n "" >.datelist
+
+cat .filelist | while read line ; do
+	echo "$(date --iso=m -r ${line})  ${line}" >>.datelist
+done
+
+
+
+(echo "$(date --iso=m)  [$(basename "$(realpath . )")]" ; cat .datelist | sed 's/  textures/  t/' | sort -r ) | anytopnm >.image
+
+WIDTH=$(head -2 .image | tail -1 | awk '{ print $1 }')
+HEIGHT=$(head -2 .image | tail -1 | awk '{ print $2 }')
+
+echo $WIDTH
+echo $HEIGHT
+
+if [ $WIDTH -gt $HEIGHT ] ; then
+	ppmmake white 1 $((WIDTH-HEIGHT)) >.image_temp
+	pnmcat -tb .image .image_temp >.image2
+fi
+
+if [ $WIDTH -lt $HEIGHT ] ; then
+        ppmmake white  $((HEIGHT-WIDTH)) 1 >.image_temp
+        pnmcat -lr .image .image_temp >.image2
+fi
+
+
+pnmtopng .image2 >textures/advtrains_platform_version_node.png
+
+
+
+
-- 
cgit v1.2.3