Add diagonal player marker to maps

This commit is contained in:
Nils Dagsson Moskopp 2022-02-01 09:40:17 +01:00
parent 9566ea58e3
commit 62ee1267de
No known key found for this signature in database
GPG Key ID: A3BC671C35191080
2 changed files with 15 additions and 4 deletions

View File

@ -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)

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 B