mirror of
https://repo.or.cz/minetest_orienteering.git
synced 2024-12-12 16:53:16 +01:00
Make HUD position configurable
This commit is contained in:
parent
fd1601293d
commit
4d6d7cbe13
@ -35,7 +35,8 @@ The following tools are available:
|
|||||||
To toggle between 12h and 24h mode for the displayed time, wield any device
|
To toggle between 12h and 24h mode for the displayed time, wield any device
|
||||||
which is capable of displaying the time and press the left mouse button.
|
which is capable of displaying the time and press the left mouse button.
|
||||||
|
|
||||||
## Configuration recommendations
|
## Configuration
|
||||||
|
### Recommendations
|
||||||
Note that in Minetest, it is also possible to access the coordinates, angles,
|
Note that in Minetest, it is also possible to access the coordinates, angles,
|
||||||
etc. through the debug menu, but this would be generally considered cheating as
|
etc. through the debug menu, but this would be generally considered cheating as
|
||||||
this defeats the purpose of this mod. Try to resist this urge.
|
this defeats the purpose of this mod. Try to resist this urge.
|
||||||
@ -45,6 +46,9 @@ following line into your `minetest.conf`:
|
|||||||
|
|
||||||
keymap_toggle_debug =
|
keymap_toggle_debug =
|
||||||
|
|
||||||
|
### HUD text position
|
||||||
|
The text position can be configured by using Minetest's settings system. See
|
||||||
|
the advanced settings menu for more information.
|
||||||
|
|
||||||
## Crafting recipes
|
## Crafting recipes
|
||||||
Crafting recipes are only available when the default mod is used.
|
Crafting recipes are only available when the default mod is used.
|
||||||
|
28
init.lua
28
init.lua
@ -11,6 +11,26 @@ orienteering.playerhuds = {}
|
|||||||
orienteering.settings = {}
|
orienteering.settings = {}
|
||||||
orienteering.settings.speed_unit = S("m/s")
|
orienteering.settings.speed_unit = S("m/s")
|
||||||
orienteering.settings.length_unit = S("m")
|
orienteering.settings.length_unit = S("m")
|
||||||
|
orienteering.settings.hud_pos = { x = 0.5, y = 0 }
|
||||||
|
orienteering.settings.hud_offset = { x = 0, y = 15 }
|
||||||
|
orienteering.settings.hud_alignment = { x = 0, y = 0 }
|
||||||
|
|
||||||
|
local set = tonumber(minetest.setting_get("orienteering_hud_pos_x"))
|
||||||
|
if set then orienteering.settings.hud_pos.x = set end
|
||||||
|
set = tonumber(minetest.setting_get("orienteering_hud_pos_y"))
|
||||||
|
if set then orienteering.settings.hud_pos.y = set end
|
||||||
|
set = tonumber(minetest.setting_get("orienteering_hud_offset_x"))
|
||||||
|
if set then orienteering.settings.hud_offset.x = set end
|
||||||
|
set = tonumber(minetest.setting_get("orienteering_hud_offset_y"))
|
||||||
|
if set then orienteering.settings.hud_offset.y = set end
|
||||||
|
set = minetest.setting_get("orienteering_hud_alignment")
|
||||||
|
if set == "left" then
|
||||||
|
orienteering.settings.hud_alignment.x = 1
|
||||||
|
elseif set == "center" then
|
||||||
|
orienteering.settings.hud_alignment.x = 0
|
||||||
|
elseif set == "right" then
|
||||||
|
orienteering.settings.hud_alignment.x = -1
|
||||||
|
end
|
||||||
|
|
||||||
local o_lines = 4 -- Number of lines in HUD
|
local o_lines = 4 -- Number of lines in HUD
|
||||||
|
|
||||||
@ -182,6 +202,8 @@ function update_automapper(player)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function init_hud(player)
|
function init_hud(player)
|
||||||
update_automapper(player)
|
update_automapper(player)
|
||||||
local name = player:get_player_name()
|
local name = player:get_player_name()
|
||||||
@ -190,9 +212,9 @@ function init_hud(player)
|
|||||||
orienteering.playerhuds[name]["o_line"..i] = player:hud_add({
|
orienteering.playerhuds[name]["o_line"..i] = player:hud_add({
|
||||||
hud_elem_type = "text",
|
hud_elem_type = "text",
|
||||||
text = "",
|
text = "",
|
||||||
position = { x = 0.5, y = 0.001 },
|
position = orienteering.settings.hud_pos,
|
||||||
offset = { x = 0, y = 0+20*i },
|
offset = { x = orienteering.settings.hud_offset.x, y = orienteering.settings.hud_offset.y + 20*(i-1) },
|
||||||
alignment = { x = 0, y = 0 },
|
alignment = orienteering.settings.hud_alignment,
|
||||||
number = 0xFFFFFF,
|
number = 0xFFFFFF,
|
||||||
scale= { x = 100, y = 20 },
|
scale= { x = 100, y = 20 },
|
||||||
})
|
})
|
||||||
|
14
settingtypes.txt
Normal file
14
settingtypes.txt
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
# Horizontal main position (x) of the Orienteering text.
|
||||||
|
# 0.0 is left, 1.0 is right.
|
||||||
|
orienteering_hud_pos_x (Horizontal Orienteering text screen position) float 0.5 0.0 1.0
|
||||||
|
# Vertical main position (y) of the Orienteering text.
|
||||||
|
# 0.0 is top, 1.0 is bottom.
|
||||||
|
orienteering_hud_pos_y (Vertical Orienteering text screen position) float 0.0 0.0 1.0
|
||||||
|
|
||||||
|
# Horizontal offset (x) of the Orienteering text from the screen position.
|
||||||
|
orienteering_hud_offset_x (Horizontal Orienteering text offset) int 0
|
||||||
|
# Vertical offset (y) of the Orienteering text from the screen position.
|
||||||
|
orienteering_hud_offset_y (Vertical Orienteering text offset) int 15
|
||||||
|
|
||||||
|
# Alignment of the Orienteering text.
|
||||||
|
orienteering_hud_alignment (Orienteering text alignment) enum center left,center,right
|
Loading…
Reference in New Issue
Block a user