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 00000000..9473d5be Binary files /dev/null and b/mods/ITEMS/mcl_maps/textures/mcl_maps_player_arrow_diagonal.png differ