From 62ee1267dea305f63959101e95087579aa393adb Mon Sep 17 00:00:00 2001 From: Nils Dagsson Moskopp Date: Tue, 1 Feb 2022 09:40:17 +0100 Subject: [PATCH] Add diagonal player marker to maps --- mods/ITEMS/mcl_maps/init.lua | 19 ++++++++++++++---- .../mcl_maps_player_arrow_diagonal.png | Bin 0 -> 134 bytes 2 files changed, 15 insertions(+), 4 deletions(-) create mode 100644 mods/ITEMS/mcl_maps/textures/mcl_maps_player_arrow_diagonal.png diff --git a/mods/ITEMS/mcl_maps/init.lua b/mods/ITEMS/mcl_maps/init.lua index 0e4a6a19..d4e98012 100644 --- a/mods/ITEMS/mcl_maps/init.lua +++ b/mods/ITEMS/mcl_maps/init.lua @@ -321,7 +321,7 @@ minetest.register_globalstep(function(dtime) local minp = string_to_pos(meta:get_string("mcl_maps:minp")) local maxp = string_to_pos(meta:get_string("mcl_maps:maxp")) - local marker = "mcl_maps_player_arrow.png" + local marker if pos.x < minp.x then marker = "mcl_maps_player_dot.png" @@ -339,9 +339,20 @@ minetest.register_globalstep(function(dtime) pos.z = maxp.z end - if marker == "mcl_maps_player_arrow.png" then - local yaw = (math.floor(player:get_look_horizontal() * 180 / math.pi / 90 + 0.5) % 4) * 90 - marker = marker .. "^[transformR" .. yaw + if nil == marker then + local yaw = (math.floor(player:get_look_horizontal() * 180 / math.pi / 45 + 0.5) % 8) * 45 + if yaw == 0 or + yaw == 90 or + yaw == 180 or + yaw == 270 then + marker = "mcl_maps_player_arrow.png" .. "^[transformR" .. yaw + end + if yaw == 45 or + yaw == 135 or + yaw == 225 or + yaw == 315 then + marker = "mcl_maps_player_arrow_diagonal.png" .. "^[transformR" .. (yaw - 45) + end end player:hud_change(hud.marker, "text", marker) diff --git a/mods/ITEMS/mcl_maps/textures/mcl_maps_player_arrow_diagonal.png b/mods/ITEMS/mcl_maps/textures/mcl_maps_player_arrow_diagonal.png new file mode 100644 index 0000000000000000000000000000000000000000..9473d5be0e92dee678d6ce5cf81434bf47d7df09 GIT binary patch literal 134 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!VDyjYyB_fQp@nk-2PYF} c)00LC2G;=Ql7Po@l|a=Dp00i_>zopr012xh%m4rY literal 0 HcmV?d00001