1
0
mirror of https://repo.or.cz/minetest_hudbars.git synced 2025-06-29 15:00:27 +02:00

1 Commits

Author SHA1 Message Date
bb55851b36 Version MFF. 2018-09-07 22:41:38 +02:00
29 changed files with 360 additions and 394 deletions

View File

@ -1,2 +0,0 @@
Wuzzy <Wuzzy@disroot.org> <Wuzzy2@mail.ru>
Wuzzy <Wuzzy@disroot.org> <almikes@aol.com>

44
API.md Normal file → Executable file
View File

@ -1,5 +1,5 @@
API documentation for the HUD bars mod API documentation for the HUD bars mod 1.4.1
====================================== ============================================
## Introduction ## Introduction
This API allows you to add, change, hide and unhide custom HUD bars for this mod. This API allows you to add, change, hide and unhide custom HUD bars for this mod.
@ -45,7 +45,7 @@ a vertical gradient.
### Icon ### Icon
A 16×16 image shown left of the HUD bar. This is optional. A 16×16 image shown left of the HUD bar. This is optional.
### `hb.register_hudbar(identifier, text_color, label, textures, default_start_value, default_start_max, default_start_hidden, format_string, format_string_config)` ### `hb.register_hudbar(identifier, text_color, label, textures, default_start_value, default_start_max, default_start_hidden, format_string)`
This function registers a new custom HUD bar definition to the HUD bars mod, so it can be later used to be displayed, changed, hidden This function registers a new custom HUD bar definition to the HUD bars mod, so it can be later used to be displayed, changed, hidden
and unhidden on a per-player basis. and unhidden on a per-player basis.
Note this does not yet display the HUD bar. Note this does not yet display the HUD bar.
@ -66,21 +66,7 @@ for more information.
* `default_start_value`: If this HUD bar is added to a player, and no initial value is specified, this value will be used as initial current value * `default_start_value`: If this HUD bar is added to a player, and no initial value is specified, this value will be used as initial current value
* `default_max_value`: If this HUD bar is added to a player, and no initial maximum value is specified, this value will be used as initial maximum value * `default_max_value`: If this HUD bar is added to a player, and no initial maximum value is specified, this value will be used as initial maximum value
* `default_start_hidden`: The HUD bar will be initially start hidden by default when added to a player. Use `hb.unhide_hudbar` to unhide it. * `default_start_hidden`: The HUD bar will be initially start hidden by default when added to a player. Use `hb.unhide_hudbar` to unhide it.
* `format_string`: Optional; You can specify an alternative format string to use for the final text on the HUD bar. The default format string is “`@1: @2/@3`” (The “@” numbers are placeholders that have a meaning in this order: @1 = Label, @2 = current value, @3 = maximum value). Do *not* use minetest.translator on this string, the string will be translated by `hudbars`, but you still must put this string into the translation catalogue file. * `format_string`: This is optional; You can specify an alternative format string display the final text on the HUD bar. The default format string is “`%s: %d/%d`” (in this order: Label, current value, maximum value). See also the Lua documentation of `string.format`.
* `format_string_config`: Required if `format_string` is set. This allows to change which parameters to use in the format string. It's a table with these fields:
* `textdomain`: Text domain of the format string, used by `minetest.translate`
* `order`: Table that contains the order of the placeholders. It's also possible to remove placeholders. Default order: `{ "label", "value", "max_value" }`
* `format_value`: Format string to apply when displaying `value`. Syntax is same as in `string.format`. Default: `"%d"`
* `format_max_value`: Same as `format_value` but is applied to `max_value`
#### Example
Example (mostly) from `hbarmor` mod:
```
hb.register_hudbar("armor", 0xFFFFFF, minetest.translator("hbarmor", "Armor"), { icon = "hbarmor_icon.png", bgicon = "hbarmor_bgicon.png", bar = "hbarmor_bar.png" }, 0, 100, hbarmor.autohide, N("@1: @2%"), { order = { "label", "value" }, textdomain = "hbarmor" } )
```
Displays an armor HUD bar with a label of the form „Armor: 53%“. (`N` is a dummy function that returns its argument, used to make the string visible for translator scripts.)
#### Return value #### Return value
Always `nil`. Always `nil`.
@ -109,7 +95,8 @@ the HUD bar will be initially be shown to the player.
* `start_hidden`: Whether the HUD bar is initially hidden. This is optional, `default_start_hidden` of the registration function will be used as default * `start_hidden`: Whether the HUD bar is initially hidden. This is optional, `default_start_hidden` of the registration function will be used as default
#### Return value #### Return value
`true` on success, `false` otherwise. Always `nil`.
## Modifying a HUD bar ## Modifying a HUD bar
@ -148,7 +135,7 @@ such network optimization for the “styling” parameters, so keep this in mind
* `new_text_color`: A 3-octet number defining the new color of the text. * `new_text_color`: A 3-octet number defining the new color of the text.
#### Return value #### Return value
`true` on success, `false` otherwise. Always `nil`.
## Hiding and unhiding a HUD bar ## Hiding and unhiding a HUD bar
@ -169,7 +156,7 @@ Hides the specified HUD bar from the screen of the specified player.
* `identifier`: The identifier of the HUD bar type to hide, as specified in `hb.register_hudbar`. * `identifier`: The identifier of the HUD bar type to hide, as specified in `hb.register_hudbar`.
#### Return value #### Return value
`true` on success, `false` otherwise. Always `nil`.
### `hb.unhide_hudbar(player, identifier)` ### `hb.unhide_hudbar(player, identifier)`
@ -180,11 +167,11 @@ Makes a previously hidden HUD bar visible again to a player.
* `identifier`: The identifier of the HUD bar type to unhide, as specified in `hb.register_hudbar`. * `identifier`: The identifier of the HUD bar type to unhide, as specified in `hb.register_hudbar`.
#### Return value #### Return value
`true` on success, `false` otherwise. Always `nil`.
## Reading HUD bar information ## Reading HUD bar information
It is also possible to read information about existing HUD bars. It is also possible to read information about an active HUD bar.
### `hb.get_hudbar_state(player, identifier)` ### `hb.get_hudbar_state(player, identifier)`
Returns the current state of the active player's HUD bar. Returns the current state of the active player's HUD bar.
@ -194,17 +181,12 @@ Returns the current state of the active player's HUD bar.
* `identifier`: The identifier of the HUD bar type to hide, as specified in `hb.register_hudbar`. * `identifier`: The identifier of the HUD bar type to hide, as specified in `hb.register_hudbar`.
#### Return value #### Return value
On success, returns a table which holds information on the current state of the HUD bar. Note A table which holds information on the current state of the HUD bar. Note the table is a deep
the table is a deep copy of the internal HUD bar state, it is *not* a reference; the information copy of the internal HUD bar state, it is *not* a reference; the information hold by the table is
hold by the table is only true for the moment you called this function. The fields of this table are: only true for the moment you called this function. The fields of this table are:
* `value`: Current value of HUD bar. * `value`: Current value of HUD bar.
* `max`: Current maximum value of HUD bar. * `max`: Current maximum value of HUD bar.
* `hidden`: Boolean denoting whether the HUD bar is hidden. * `hidden`: Boolean denoting whether the HUD bar is hidden.
* `barlength`: The length of the HUD bar in pixels. This field is meaningless if the HUD bar is currently hidden. * `barlength`: The length of the HUD bar in pixels. This field is meaningless if the HUD bar is currently hidden.
* `text`: The text shown on the HUD bar. This fiels is meaningless if the HUD bar is currently hidden. * `text`: The text shown on the HUD bar. This fiels is meaningless if the HUD bar is currently hidden.
If the player does not exist, returns `nil` instead.
### `hb.get_hudbar_identifiers()`
Returns a table of all currently registered HUD bar identifiers.

View File

@ -1,62 +0,0 @@
# HUD bars
## Description
This mod changes the HUD of Minetest. It replaces the default health and breath
symbols by horizontal colored bars with text showing the number.
Furthermore, it enables other mods to add their own custom bars to the HUD,
this mod will place them accordingly.
**Important**: Keep in mind if running a server with this mod, that the custom
position should be displayed correctly on every screen size.
## Current version
The current version is 2.3.3.
It works for Minetest 5.3.0.
This software uses [semantic versioning](http://semver.org), as defined by version 2.0.0 of the SemVer
standard.
## Settings
This mod can be configured quite a bit. You can change HUD bar appearance, offsets, ordering, and more.
Use the advanced settings menu in Minetest for detailed configuration.
## API
The API is used to add your own custom HUD bars.
Documentation for the API of this mod can be found in `API.md`.
## Legal
### License of source code
Author: Wuzzy (2015)
Also: This mod was forked from the “Better HUD” [hud] mod by BlockMen.
Translations:
* German: Wuzzy
* Portuguese: BrunoMine
* Turkish: admicos
* Dutch: kingoscargames
* Italian: Hamlet
* Malay: muhdnurhidayat
* Russian: Imk
* Spanish: wuniversales
This program is free software. It comes without any warranty, to
the extent permitted by applicable law. You can redistribute it
and/or modify it under the terms of the MIT License.
### Licenses of textures
* `hudbars_icon_health.png`—celeron55 (CC BY-SA 3.0), modified by BlockMen
* `hudbars_bgicon_health.png`—celeron55 (CC BY-SA 3.0), modified by BlockMen
* `hudbars_icon_breath.png`—kaeza (MIT License), modified by BlockMen, modified again by Wuzzy
* `hudbars_bgicon_breath.png`—based on previous image, edited by Wuzzy (MIT License)
* `hudbars_bar_health.png`—Wuzzy (MIT License)
* `hudbars_bar_breath.png`—Wuzzy (MIT License)
* `hudbars_bar_background.png`—Wuzzy (MIT License)
### License references
* [CC-BY-SA 3.0](https://creativecommons.org/licenses/by-sa/3.0/)
* [MIT License](https://opensource.org/licenses/MIT)

109
README.txt Executable file
View File

@ -0,0 +1,109 @@
Minetest mod: HUD bars
======================
Version: 1.2.1
This software uses semantic versioning, as defined by version 2.0.0 of the SemVer
standard. <http://semver.org/>
License of source code: WTFPL
-----------------------------
Author: Wuzzy (2015)
Forked from the “Better HUD” [hud] mod by BlockMen.
Using the mod:
--------------
This mod changes the HUD of Minetest. It replaces the default health and breath symbols by horizontal colored bars with text showing
the number.
Furthermore, it enables other mods to add their own custom bars to the HUD, this mod will place them accordingly.
You can create a “hudbars.conf” file to customize the positions of the health and breath bars. Take a look at “hudbars.conf.example”
to get more infos. The lines starting with “--” are comments, remove the two dashes to activate a setting. Settings which are not
set will use a default value instead.
IMPORTANT:
Keep in mind if running a server with this mod, that the custom position should be displayed correctly on every screen size!
Settings:
---------
This mod can be configured by editing minetest.conf. Currently, the following setting is recognized:
- hudbars_autohide_breath: A boolean setting, it can be either “true” or “false”. If set to “true”,
the breath bar will be automatically hidden shortly after the breathbar has been filled up. If set
to “false”, the breath bar will always be displayed. The default value is “true”.
- hudbars_sorting: This setting allows you to specify the “slot” positions of the HUD bars manually.
The setting has to be specified as a comma-seperated list of key=value pairs, where a key refers to the
identifier of a HUD bar and the value refers to the slot number of where the HUD bar should be placed.
The slot number must be an integer greater of equal to 0. The slot positions start (slot 0) at the
bottom (nearest to hotbar in default configuration) left side, the following slot 1 is at the right
side, slot `2` is on the right side again, but placed over the first HUD bar (slot 0), and it goes on,
in a zig-zag pattern.
All HUD bars to which no sorting rule has been applied will fill in all slots which have not been occupied
by the HUD bars specified in this setting, the slots will be filled in from the lowest slot number.
Note that the order of those remaining HUD bars is *not* fixed, it basically just boils down on which mod
“came” first. Don't worry, the mod will still work perfectly fine, this setting is entirely optional.
Be careful not to use slot indices twice, or else different HUD bars will be drawn over each other!
If this setting is not set, by default the health and breath bar are displayed at slot positions 0 and 1,
respectively (health bar at left bottom-most positoin, breath bar right from it). All other HUD bars are
placed automatically.
Example value:
breath=0, health=1
This places the breath bar at the left side, and the health bar to the right side.
- hudbars_bar_type: Specifies the style of bars. You can select between the default progress-bar-like bars and the good old statbars
like you know from vanilla Minetest. Note that the classic and modern statbars are still a little bit experimental.
These values are possible:
- progress_bar: A horizontal progress-bar-like bar with a label, showing numerical value (current, maximum), and an icon.
These bars usually convey the most information. This is the default and recommended value..
- statbar_classic: Classic statbar, like in vanilla Minetest. Made out of up to 20 half-symbols. Those bars represent the vague ratio between
the current value and the maximum value. 1 half-symbol stands for approximately 5% of the maximum value.
- statbar_modern: Like the classic statbar, but also supports background images, this kind of statbar may be considered to be more user-friendly
than the classic statbar. This bar type closely resembles the [hud] mod.
- hudbars_vmargin: The vertical distance between two HUD bars in pixels (default: 24)
- hudbars_tick: The number of seconds between two updates of the HUD bars. Increase this number if you have a slow server (default: 0.1)
Position settings:
With these settings you can configure the positions of the HUD bars. All settings must be specified as a number.
The pos settings are specified as a floating-point number between 0 to 1 each, the start_offset settings are
specified as whole numbers, they specify a number of pixels.
The left and right variants are used for the zig-zag mode. In the stack_up and stack_down modes, only the left variant is used for
the base position
- hudbars_pos_left_x, hudbars_pos_left_y: Screen position (x and y) of the left HUD bar in zigzag mode. 0 is left-most/top, 1 is right-most/bottom.
Defaults: 0.5 (x) and 1 (y)
- hudbars_pos_right_x, hudbars_pos_right_y: Same as above, but for the right one.
Defaults: 0.5 and 1.
- hudbars_start_offset_left_x, hudbars_start_offset_left_y: Offset in pixels from the basic screen position specified in hudbars_pos_left_x/hudbars_pos_left_y.
Defaults: -175 and -86
- hudbars_start_offset_right_x, hudbars_start_offset_right_y: Same as above, but for the right one.
Defaults: 15 and -86
API:
----
The API is used to add your own custom HUD bars.
Documentation for the API of this mod can be found in API.md.
License of textures:
--------------------
hudbars_icon_health.png - celeron55 (CC BY-SA 3.0), modified by BlockMen
hudbars_bgicon_health.png - celeron55 (CC BY-SA 3.0), modified by BlockMen
hudbars_icon_breath.png - kaeza (WTFPL), modified by BlockMen
hudbars_bar_health.png - Wuzzy (WTFPL)
hudbars_bar_breath.png - Wuzzy (WTFPL)
hudbars_bar_background.png - Wuzzy(WTFPL)
This program is free software. It comes without any warranty, to
the extent permitted by applicable law. You can redistribute it
and/or modify it under the terms of the Do What The Fuck You Want
To Public License, Version 2, as published by Sam Hocevar. See
http://sam.zoy.org/wtfpl/COPYING for more details.

83
changelog.txt Executable file
View File

@ -0,0 +1,83 @@
Note: This software uses semantic versioning,
as of version 2.0.0 of the standard <http://semver.org/>.
0.1.0
-----
- Initial release, forked from mod “Better HUD” [hud].
0.2.0
-----
- Add API documentation
0.3.0
-----
- Rename main table from “hud” to “hb” (affects function names!)
- Arguments 3-4 of hb.change_hudbar can be nil for values which should not change
- Add proper function hb.init_hudbar, replaces odd call to hud.hudtables[identifier].add_all
- Update API documentation and fix mistakes
- Use “hudbars.conf” instead of “hud.conf”
0.4.0
-----
- New function: hb.get_hudbar_state to get information about the state of an active HUD bar, such as values, whether it is hidden, etc.
- hb.change_hudbar has been optimized to call hud_change fewer times, which is hopefully good for networking
- Rename hb.register_hudbar parameter “start_hide” to “start_hidden”
- start_hidden parameter now finally works
- Do not affect other HUD flags (crosshair, wielditem, etc.) when starting mod
- Show error message when trying to call hb.init_hudbar or hb.change_hudbar with bad values
- Update documentation
- Lots of refactoring
- Health and breath bar now use API
1.0.0
-----
- Add new parameter start_hidden to hb.init_hudbar, specified whether HUD bar is hidden on start
- Copy-editing of API.md and README.txt
- Internal: Fix add_all weirdness
1.0.1
-----
- Fix race condition causing crash at start of server
1.0.2
-----
- Fix other HUD elements disappearing for rejoining players
- Remove pointless delays for initializing the HUD for new or rejoining players
1.0.3
-----
- Adjust default HUD bars position for Minetest 0.4.12
1.1.0
-----
- Add boolean minetest.conf setting support (hudbars_autohide_breathbar) to control whether the breath bar is automatically hidden when full (default: yes)
1.2.0
-----
- New setting: hudbars_sorting. You can now manually sort all the HUD bars. Useful if you don't like automatic order
- New setting: hudbars_bar_type. You now can change the appearance of the HUD bars.
- New HUD bar types, slightly experimental: Classic statbars and modern [hud]-style statbars
- New experimental/unfinished setting: hudbars_alignment_pattern: You can now make the HUD bars stack vertically instead of the current zig-zag pattern. Note you probably need to change source code to productively use this feature
- Various position-related HUD bar settings (see README.txt)
- Remove hudbars.conf support and hudbars.conf.example (was never officially supported anyways)
1.2.1
-----
- Fix crash when enable_damage is changed in mid-game
1.3.0
-----
- Make all settings avaialbe in Minetest's advanced settings menu
- Fix HUD bars overlap when both hudbars_tick and hudbars_vmargin were set
- Use Markdown syntax in readme file
- Fix some factual mistakes in readme file
- Add metadata: mod.conf, description.txt, screenshot.png
1.4.0
-----
- Allow to change HUD bar images and label after it has been registered
- Minor API.md correction
1.4.1
-----
- Fix bug in hb.change_hudbar being a no-op if new_value and new_max value are nil

View File

@ -1,48 +0,0 @@
-- (Hardcoded) default settings
hb.settings.max_bar_length = 160
hb.settings.statbar_length = 20
-- Statbar positions
hb.settings.pos_left = {}
hb.settings.pos_right = {}
hb.settings.start_offset_left = {}
hb.settings.start_offset_right= {}
hb.settings.pos_left.x = hb.load_setting("hudbars_pos_left_x", "number", 0.5)
hb.settings.pos_left.y = hb.load_setting("hudbars_pos_left_y", "number", 1)
hb.settings.pos_right.x = hb.load_setting("hudbars_pos_right_x", "number", 0.5)
hb.settings.pos_right.y = hb.load_setting("hudbars_pos_right_y", "number", 1)
hb.settings.bar_type = hb.load_setting("hudbars_bar_type", "string", "progress_bar", {"progress_bar", "statbar_classic", "statbar_modern"})
if hb.settings.bar_type == "progress_bar" then
hb.settings.start_offset_left.x = hb.load_setting("hudbars_start_offset_left_x", "number", -175)
hb.settings.start_offset_left.y = hb.load_setting("hudbars_start_offset_left_y", "number", -86)
hb.settings.start_offset_right.x = hb.load_setting("hudbars_start_offset_right_x", "number", 15)
hb.settings.start_offset_right.y = hb.load_setting("hudbars_start_offset_right_y", "number", -86)
else
hb.settings.start_offset_left.x = hb.load_setting("hudbars_start_statbar_offset_left_x", "number", -265)
hb.settings.start_offset_left.y = hb.load_setting("hudbars_start_statbar_offset_left_y", "number", -90)
hb.settings.start_offset_right.x = hb.load_setting("hudbars_start_statbar_offset_right_x", "number", 25)
hb.settings.start_offset_right.y = hb.load_setting("hudbars_start_statbar_offset_right_y", "number", -90)
end
hb.settings.vmargin = hb.load_setting("hudbars_vmargin", "number", 24)
hb.settings.tick = hb.load_setting("hudbars_tick", "number", 0.1)
-- Experimental setting: Changing this setting is not officially supported, do NOT rely on it!
hb.settings.forceload_default_hudbars = hb.load_setting("hudbars_forceload_default_hudbars", "bool", true)
-- Misc. settings
hb.settings.alignment_pattern = hb.load_setting("hudbars_alignment_pattern", "string", "zigzag", {"zigzag", "stack_up", "stack_down"})
hb.settings.autohide_breath = hb.load_setting("hudbars_autohide_breath", "bool", true)
local sorting = minetest.settings:get("hudbars_sorting")
if sorting ~= nil then
hb.settings.sorting = {}
hb.settings.sorting_reverse = {}
for k,v in string.gmatch(sorting, "(%w+)=(%w+)") do
hb.settings.sorting[k] = tonumber(v)
hb.settings.sorting_reverse[tonumber(v)] = k
end
else
hb.settings.sorting = { ["health"] = 0, ["breath"] = 1 }
hb.settings.sorting_reverse = { [0] = "health", [1] = "breath" }
end

2
depends.txt Executable file
View File

@ -0,0 +1,2 @@
default
intllib?

1
description.txt Normal file
View File

@ -0,0 +1 @@
Replaces the health and breath symbols in the HUD by “progress bars” and shows exact values. Other mods can add more progress bars for custom player stats.

10
hudbars.conf Executable file
View File

@ -0,0 +1,10 @@
-- if custom==true, use custom position
-- X 0=left, 1=right
--Y 0,1,2 = down--> up
hb.settings.custom.custom = true
hb.settings.custom.health = { x = 0, y = 0 }
hb.settings.custom.satiation = { x = 0, y = 1 }
hb.settings.custom.sprint = { x = 1, y = 1 }
hb.settings.custom.mana = { x = 1, y = 0 }
hb.settings.custom.armor = { x = 1, y = 2 }
hb.settings.custom.breath = { x = 0, y = 2 }

321
init.lua
View File

@ -1,5 +1,10 @@
local S = minetest.get_translator("hudbars") local S
local N = function(s) return s end if (minetest.get_modpath("intllib")) then
dofile(minetest.get_modpath("intllib").."/intllib.lua")
S = intllib.Getter(minetest.get_current_modname())
else
S = function ( s ) return s end
end
hb = {} hb = {}
@ -16,11 +21,11 @@ hb.settings = {}
function hb.load_setting(sname, stype, defaultval, valid_values) function hb.load_setting(sname, stype, defaultval, valid_values)
local sval local sval
if stype == "string" then if stype == "string" then
sval = minetest.settings:get(sname) sval = minetest.setting_get(sname)
elseif stype == "bool" then elseif stype == "bool" then
sval = minetest.settings:get_bool(sname) sval = minetest.setting_getbool(sname)
elseif stype == "number" then elseif stype == "number" then
sval = tonumber(minetest.settings:get(sname)) sval = tonumber(minetest.setting_get(sname))
end end
if sval ~= nil then if sval ~= nil then
if valid_values ~= nil then if valid_values ~= nil then
@ -44,44 +49,50 @@ function hb.load_setting(sname, stype, defaultval, valid_values)
end end
end end
-- Load default settings -- (hardcoded) default settings
dofile(minetest.get_modpath("hudbars").."/default_settings.lua") hb.settings.max_bar_length = 160
hb.settings.statbar_length = 20
local function player_exists(player) -- statbar positions
return player ~= nil and player:is_player() hb.settings.pos_left = {}
end hb.settings.pos_right = {}
hb.settings.start_offset_left = {}
hb.settings.start_offset_right= {}
hb.settings.pos_left.x = hb.load_setting("hudbars_pos_left_x", "number", 0.5)
hb.settings.pos_left.y = hb.load_setting("hudbars_pos_left_y", "number", 1)
hb.settings.pos_right.x = hb.load_setting("hudbars_pos_right_x", "number", 0.5)
hb.settings.pos_right.y = hb.load_setting("hudbars_pos_right_y", "number", 1)
hb.settings.start_offset_left.x = hb.load_setting("hudbars_start_offset_left_x", "number", -175)
hb.settings.start_offset_left.y = hb.load_setting("hudbars_start_offset_left_y", "number", -86)
hb.settings.start_offset_right.x = hb.load_setting("hudbars_start_offset_right_x", "number", 15)
hb.settings.start_offset_right.y = hb.load_setting("hudbars_start_offset_right_y", "number", -86)
local function make_label(format_string, format_string_config, label, start_value, max_value) hb.settings.vmargin = hb.load_setting("hudbars_vmargin", "number", 24)
local params = {} hb.settings.tick = hb.load_setting("hudbars_tick", "number", 0.4)
local order = format_string_config.order
for o=1, #order do -- experimental setting: Changing this setting is not officially supported, do NOT rely on it!
if order[o] == "label" then hb.settings.forceload_default_hudbars = hb.load_setting("hudbars_forceload_default_hudbars", "bool", true)
table.insert(params, label)
elseif order[o] == "value" then -- Misc. settings
if format_string_config.format_value then hb.settings.alignment_pattern = hb.load_setting("hudbars_alignment_pattern", "string", "zigzag", {"zigzag", "stack_up", "stack_down"})
table.insert(params, string.format(format_string_config.format_value, start_value)) hb.settings.bar_type = hb.load_setting("hudbars_bar_type", "string", "progress_bar", {"progress_bar", "statbar_classic", "statbar_modern"})
else hb.settings.autohide_breath = hb.load_setting("hudbars_autohide_breath", "bool", true)
table.insert(params, start_value)
end local sorting = minetest.setting_get("hudbars_sorting")
elseif order[o] == "max_value" then if sorting ~= nil then
if format_string_config.format_max_value then hb.settings.sorting = {}
table.insert(params, string.format(format_string_config.format_max_value, max_value)) hb.settings.sorting_reverse = {}
else for k,v in string.gmatch(sorting, "(%w+)=(%w+)") do
table.insert(params, max_value) hb.settings.sorting[k] = tonumber(v)
end hb.settings.sorting_reverse[tonumber(v)] = k
end
end end
local ret else
if format_string_config.textdomain then hb.settings.sorting = { ["health"] = 0, ["breath"] = 1 }
ret = minetest.translate(format_string_config.textdomain, format_string, unpack(params)) hb.settings.sorting_reverse = { [0] = "health", [1] = "breath" }
else
ret = S(format_string, unpack(params))
end
return ret
end end
-- Table which contains all players with active default HUD bars (only for internal use) -- Table which contains all players with active default HUD bars (only for internal use)
hb.players = {} --hb.players = {}
function hb.value_to_barlength(value, max) function hb.value_to_barlength(value, max)
if max == 0 then if max == 0 then
@ -119,7 +130,7 @@ function hb.get_hudbar_position_index(identifier)
end end
end end
function hb.register_hudbar(identifier, text_color, label, textures, default_start_value, default_start_max, default_start_hidden, format_string, format_string_config) function hb.register_hudbar(identifier, text_color, label, textures, default_start_value, default_start_max, default_start_hidden, format_string)
minetest.log("action", "hb.register_hudbar: "..tostring(identifier)) minetest.log("action", "hb.register_hudbar: "..tostring(identifier))
local hudtable = {} local hudtable = {}
local pos, offset local pos, offset
@ -153,19 +164,7 @@ function hb.register_hudbar(identifier, text_color, label, textures, default_sta
end end
end end
if format_string == nil then if format_string == nil then
format_string = N("@1: @2/@3") format_string = S("%s: %d/%d")
end
if format_string_config == nil then
format_string_config = {}
end
if format_string_config.order == nil then
format_string_config.order = { "label", "value", "max_value" }
end
if format_string_config.format_value == nil then
format_string_config.format_value = "%d"
end
if format_string_config.format_max_value == nil then
format_string_config.format_max_value = "%d"
end end
hudtable.add_all = function(player, hudtable, start_value, start_max, start_hidden) hudtable.add_all = function(player, hudtable, start_value, start_max, start_hidden)
@ -190,7 +189,7 @@ function hb.register_hudbar(identifier, text_color, label, textures, default_sta
iconscale = { x=1, y=1 } iconscale = { x=1, y=1 }
barnumber = hb.value_to_barlength(start_value, start_max) barnumber = hb.value_to_barlength(start_value, start_max)
bgiconnumber = hb.settings.statbar_length bgiconnumber = hb.settings.statbar_length
text = make_label(format_string, format_string_config, label, start_value, start_max) text = string.format(format_string, label, start_value, start_max)
end end
if hb.settings.bar_type == "progress_bar" then if hb.settings.bar_type == "progress_bar" then
ids.bg = player:hud_add({ ids.bg = player:hud_add({
@ -200,7 +199,6 @@ function hb.register_hudbar(identifier, text_color, label, textures, default_sta
text = "hudbars_bar_background.png", text = "hudbars_bar_background.png",
alignment = {x=1,y=1}, alignment = {x=1,y=1},
offset = { x = offset.x - 1, y = offset.y - 1 }, offset = { x = offset.x - 1, y = offset.y - 1 },
z_index = 0,
}) })
if textures.icon ~= nil then if textures.icon ~= nil then
ids.icon = player:hud_add({ ids.icon = player:hud_add({
@ -210,37 +208,34 @@ function hb.register_hudbar(identifier, text_color, label, textures, default_sta
text = textures.icon, text = textures.icon,
alignment = {x=-1,y=1}, alignment = {x=-1,y=1},
offset = { x = offset.x - 3, y = offset.y }, offset = { x = offset.x - 3, y = offset.y },
z_index = 1, })
end
elseif hb.settings.bar_type == "statbar_modern" then
if textures.bgicon ~= nil then
ids.bg = player:hud_add({
hud_elem_type = "statbar",
position = pos,
text = textures.bgicon,
number = bgiconnumber,
alignment = {x=-1,y=-1},
offset = { x = offset.x, y = offset.y },
}) })
end end
end end
local bar_image, bgicon, bar_size local bar_image
if hb.settings.bar_type == "progress_bar" then if hb.settings.bar_type == "progress_bar" then
bar_image = textures.bar bar_image = textures.bar
-- NOTE: Intentionally set to nil. For some reason, on some systems,
-- the progress bar is displaced when the bar_size is set explicitly here.
-- On the other hand, setting this to nil is deprecated in MT 5.0.0 due to
-- a debug log warning, but nothing is explained in lua_api.txt.
-- This section is a potential bug magnet, please watch with care!
-- The size of the bar image is expected to be exactly 2×16 pixels.
bar_size = nil
elseif hb.settings.bar_type == "statbar_classic" or hb.settings.bar_type == "statbar_modern" then elseif hb.settings.bar_type == "statbar_classic" or hb.settings.bar_type == "statbar_modern" then
bar_image = textures.icon bar_image = textures.icon
bgicon = textures.bgicon
bar_size = {x=24, y=24}
end end
ids.bar = player:hud_add({ ids.bar = player:hud_add({
hud_elem_type = "statbar", hud_elem_type = "statbar",
position = pos, position = pos,
text = bar_image, text = bar_image,
text2 = bgicon,
number = barnumber, number = barnumber,
item = bgiconnumber,
alignment = {x=-1,y=-1}, alignment = {x=-1,y=-1},
offset = offset, offset = offset,
direction = 0, size = "",
size = bar_size,
z_index = 1,
}) })
if hb.settings.bar_type == "progress_bar" then if hb.settings.bar_type == "progress_bar" then
ids.text = player:hud_add({ ids.text = player:hud_add({
@ -251,7 +246,6 @@ function hb.register_hudbar(identifier, text_color, label, textures, default_sta
number = text_color, number = text_color,
direction = 0, direction = 0,
offset = { x = offset.x + 2, y = offset.y - 1}, offset = { x = offset.x + 2, y = offset.y - 1},
z_index = 2,
}) })
end end
-- Do not forget to update hb.get_hudbar_state if you add new fields to the state table -- Do not forget to update hb.get_hudbar_state if you add new fields to the state table
@ -280,7 +274,6 @@ function hb.register_hudbar(identifier, text_color, label, textures, default_sta
hudtable.identifier = identifier hudtable.identifier = identifier
hudtable.format_string = format_string hudtable.format_string = format_string
hudtable.format_string_config = format_string_config
hudtable.label = label hudtable.label = label
hudtable.hudids = {} hudtable.hudids = {}
hudtable.hudstate = {} hudtable.hudstate = {}
@ -294,42 +287,38 @@ function hb.register_hudbar(identifier, text_color, label, textures, default_sta
end end
function hb.init_hudbar(player, identifier, start_value, start_max, start_hidden) function hb.init_hudbar(player, identifier, start_value, start_max, start_hidden)
if not player_exists(player) then return false end
local hudtable = hb.get_hudtable(identifier) local hudtable = hb.get_hudtable(identifier)
hb.hudtables[identifier].add_all(player, hudtable, start_value, start_max, start_hidden) hb.hudtables[identifier].add_all(player, hudtable, start_value, start_max, start_hidden)
return true
end end
function hb.change_hudbar(player, identifier, new_value, new_max_value, new_icon, new_bgicon, new_bar, new_label, new_text_color) function hb.change_hudbar(player, identifier, new_value, new_max_value, new_icon, new_bgicon, new_bar, new_label, new_text_color)
if new_value == nil and new_max_value == nil and new_icon == nil and new_bgicon == nil and new_bar == nil and new_label == nil and new_text_color == nil then if new_value == nil and new_max_value == nil and new_icon == nil and new_bgicon == nil and new_bar == nil and new_label == nil and new_text_color == nil then
return true return
end
if not player_exists(player) then
return false
end end
local name = player:get_player_name() local name = player:get_player_name()
local hudtable = hb.get_hudtable(identifier) local hudtable = hb.get_hudtable(identifier)
if not hudtable.hudstate[name] then
return false
end
local value_changed, max_changed = false, false local value_changed, max_changed = false, false
if new_value ~= nil then
if new_value ~= hudtable.hudstate[name].value then
hudtable.hudstate[name].value = new_value
value_changed = true
end
else
new_value = hudtable.hudstate[name].value
end
if new_max_value ~= nil then if new_max_value ~= nil then
if new_max_value ~= hudtable.hudstate[name].max then if new_max_value ~= hudtable.hudstate[name].max then
hudtable.hudstate[name].max = new_max_value hudtable.hudstate[name].max = new_max_value
max_changed = true max_changed = true
end end
else else
new_max_value = hudtable.hudstate[name].max new_max_value = (hudtable.hudstate[name] or {max = 0}).max
end
if new_value ~= nil and hudtable.hudstate[name] then
if new_value ~= hudtable.hudstate[name].value then
if new_value > new_max_value then
new_value = new_max_value
end
hudtable.hudstate[name].value = new_value
value_changed = true
end
else
new_value = (hudtable.hudstate[name] or {value = 0}).value
end end
if hb.settings.bar_type == "progress_bar" then if hb.settings.bar_type == "progress_bar" then
@ -344,7 +333,7 @@ function hb.change_hudbar(player, identifier, new_value, new_max_value, new_icon
end end
if new_label ~= nil then if new_label ~= nil then
hudtable.label = new_label hudtable.label = new_label
local new_text = make_label(hudtable.format_string, hudtable.format_string_config, new_label, hudtable.hudstate[name].value, hudtable.hudstate[name].max) local new_text = string.format(hudtable.format_string, new_label, hudtable.hudstate[name].value, hudtable.hudstate[name].max)
player:hud_change(hudtable.hudids[name].text, "text", new_text) player:hud_change(hudtable.hudids[name].text, "text", new_text)
end end
if new_text_color ~= nil then if new_text_color ~= nil then
@ -388,7 +377,7 @@ function hb.change_hudbar(player, identifier, new_value, new_max_value, new_icon
end end
if hb.settings.bar_type == "progress_bar" then if hb.settings.bar_type == "progress_bar" then
local new_text = make_label(hudtable.format_string, hudtable.format_string_config, hudtable.label, new_value, new_max_value) local new_text = string.format(hudtable.format_string, hudtable.label, new_value, new_max_value)
if new_text ~= hudtable.hudstate[name].text then if new_text ~= hudtable.hudstate[name].text then
player:hud_change(hudtable.hudids[name].text, "text", new_text) player:hud_change(hudtable.hudids[name].text, "text", new_text)
hudtable.hudstate[name].text = new_text hudtable.hudstate[name].text = new_text
@ -396,55 +385,50 @@ function hb.change_hudbar(player, identifier, new_value, new_max_value, new_icon
end end
end end
end end
return true
end end
function hb.hide_hudbar(player, identifier) function hb.hide_hudbar(player, identifier)
if not player_exists(player) then return false end
local name = player:get_player_name() local name = player:get_player_name()
local hudtable = hb.get_hudtable(identifier) local hudtable = hb.get_hudtable(identifier)
if hudtable == nil then return false end if(hudtable.hudstate[name].hidden == false) then
if hudtable.hudstate[name].hidden == true then return true end if hb.settings.bar_type == "progress_bar" then
if hb.settings.bar_type == "progress_bar" then if hudtable.hudids[name].icon ~= nil then
if hudtable.hudids[name].icon ~= nil then player:hud_change(hudtable.hudids[name].icon, "scale", {x=0,y=0})
player:hud_change(hudtable.hudids[name].icon, "scale", {x=0,y=0}) end
player:hud_change(hudtable.hudids[name].bg, "scale", {x=0,y=0})
player:hud_change(hudtable.hudids[name].text, "text", "")
elseif hb.settings.bar_type == "statbar_modern" then
player:hud_change(hudtable.hudids[name].bg, "number", 0)
end end
player:hud_change(hudtable.hudids[name].bg, "scale", {x=0,y=0}) player:hud_change(hudtable.hudids[name].bar, "number", 0)
player:hud_change(hudtable.hudids[name].text, "text", "") hudtable.hudstate[name].hidden = true
end end
player:hud_change(hudtable.hudids[name].bar, "number", 0)
player:hud_change(hudtable.hudids[name].bar, "item", 0)
hudtable.hudstate[name].hidden = true
return true
end end
function hb.unhide_hudbar(player, identifier) function hb.unhide_hudbar(player, identifier)
if not player_exists(player) then return false end
local name = player:get_player_name() local name = player:get_player_name()
local hudtable = hb.get_hudtable(identifier) local hudtable = hb.get_hudtable(identifier)
if hudtable == nil then return false end if(hudtable.hudstate[name].hidden) then
if hudtable.hudstate[name].hidden == false then return true end local name = player:get_player_name()
local value = hudtable.hudstate[name].value local value = hudtable.hudstate[name].value
local max = hudtable.hudstate[name].max local max = hudtable.hudstate[name].max
if hb.settings.bar_type == "progress_bar" then if hb.settings.bar_type == "progress_bar" then
if hudtable.hudids[name].icon ~= nil then if hudtable.hudids[name].icon ~= nil then
player:hud_change(hudtable.hudids[name].icon, "scale", {x=1,y=1}) player:hud_change(hudtable.hudids[name].icon, "scale", {x=1,y=1})
end
if hudtable.hudstate[name].max ~= 0 then
player:hud_change(hudtable.hudids[name].bg, "scale", {x=1,y=1})
end
player:hud_change(hudtable.hudids[name].text, "text", tostring(string.format(hudtable.format_string, hudtable.label, value, max)))
elseif hb.settings.bar_type == "statbar_modern" then
player:hud_change(hudtable.hudids[name].bg, "number", hb.settings.statbar_length)
end end
if hudtable.hudstate[name].max ~= 0 then player:hud_change(hudtable.hudids[name].bar, "number", hb.value_to_barlength(value, max))
player:hud_change(hudtable.hudids[name].bg, "scale", {x=1,y=1}) hudtable.hudstate[name].hidden = false
end
player:hud_change(hudtable.hudids[name].text, "text", make_label(hudtable.format_string, hudtable.format_string_config, hudtable.label, value, max))
elseif hb.settings.bar_type == "statbar_modern" then
player:hud_change(hudtable.hudids[name].bar, "scale", {x=1,y=1})
end end
player:hud_change(hudtable.hudids[name].bar, "number", hb.value_to_barlength(value, max))
player:hud_change(hudtable.hudids[name].bar, "item", hb.value_to_barlength(max, max))
hudtable.hudstate[name].hidden = false
return true
end end
function hb.get_hudbar_state(player, identifier) function hb.get_hudbar_state(player, identifier)
if not player_exists(player) then return nil end
local ref = hb.get_hudtable(identifier).hudstate[player:get_player_name()] local ref = hb.get_hudtable(identifier).hudstate[player:get_player_name()]
-- Do not forget to update this chunk of code in case the state changes -- Do not forget to update this chunk of code in case the state changes
local copy = { local copy = {
@ -457,16 +441,8 @@ function hb.get_hudbar_state(player, identifier)
return copy return copy
end end
function hb.get_hudbar_identifiers()
local ids = {}
for id, _ in pairs(hb.hudtables) do
table.insert(ids, id)
end
return ids
end
--register built-in HUD bars --register built-in HUD bars
if minetest.settings:get_bool("enable_damage") or hb.settings.forceload_default_hudbars then if minetest.setting_getbool("enable_damage") or hb.settings.forceload_default_hudbars then
hb.register_hudbar("health", 0xFFFFFF, S("Health"), { bar = "hudbars_bar_health.png", icon = "hudbars_icon_health.png", bgicon = "hudbars_bgicon_health.png" }, 20, 20, false) hb.register_hudbar("health", 0xFFFFFF, S("Health"), { bar = "hudbars_bar_health.png", icon = "hudbars_icon_health.png", bgicon = "hudbars_bgicon_health.png" }, 20, 20, false)
hb.register_hudbar("breath", 0xFFFFFF, S("Breath"), { bar = "hudbars_bar_breath.png", icon = "hudbars_icon_breath.png", bgicon = "hudbars_bgicon_breath.png" }, 10, 10, true) hb.register_hudbar("breath", 0xFFFFFF, S("Breath"), { bar = "hudbars_bar_breath.png", icon = "hudbars_icon_breath.png", bgicon = "hudbars_bgicon_breath.png" }, 10, 10, true)
end end
@ -480,89 +456,62 @@ end
local function custom_hud(player) local function custom_hud(player)
if minetest.settings:get_bool("enable_damage") or hb.settings.forceload_default_hudbars then if minetest.setting_getbool("enable_damage") or hb.settings.forceload_default_hudbars then
local hide local hide
if minetest.settings:get_bool("enable_damage") then if minetest.setting_getbool("enable_damage") then
hide = false hide = false
else else
hide = true hide = true
end end
local hp = player:get_hp() hb.init_hudbar(player, "health", player:get_hp(), nil, hide)
local hp_max = player:get_properties().hp_max
hb.init_hudbar(player, "health", math.min(hp, hp_max), hp_max, hide)
local breath = player:get_breath() local breath = player:get_breath()
local breath_max = player:get_properties().breath_max
local hide_breath local hide_breath
if breath >= breath_max and hb.settings.autohide_breath == true then hide_breath = true else hide_breath = false end if breath == 11 and hb.settings.autohide_breath == true then hide_breath = true else hide_breath = false end
hb.init_hudbar(player, "breath", math.min(breath, breath_max), breath_max, hide_breath or hide) hb.init_hudbar(player, "breath", math.min(breath, 10), nil, hide_breath or hide)
end end
end end
local function update_health(player)
local hp_max = player:get_properties().hp_max
hb.change_hudbar(player, "health", player:get_hp(), hp_max)
end
-- update built-in HUD bars -- update built-in HUD bars
local function update_hud(player) local function update_hud(player)
if not player_exists(player) then return end if minetest.setting_getbool("enable_damage") then
if minetest.settings:get_bool("enable_damage") then
if hb.settings.forceload_default_hudbars then if hb.settings.forceload_default_hudbars then
hb.unhide_hudbar(player, "health") hb.unhide_hudbar(player, "health")
end end
--air --air
local breath_max = player:get_properties().breath_max
local breath = player:get_breath() local breath = player:get_breath()
if breath >= breath_max and hb.settings.autohide_breath == true then if breath == 11 and hb.settings.autohide_breath == true then
hb.hide_hudbar(player, "breath") hb.hide_hudbar(player, "breath")
else else
hb.unhide_hudbar(player, "breath") hb.unhide_hudbar(player, "breath")
hb.change_hudbar(player, "breath", math.min(breath, breath_max), breath_max) hb.change_hudbar(player, "breath", math.min(breath, 10))
end end
--health --health
update_health(player) hb.change_hudbar(player, "health", player:get_hp())
elseif hb.settings.forceload_default_hudbars then elseif hb.settings.forceload_default_hudbars then
hb.hide_hudbar(player, "health") hb.hide_hudbar(player, "health")
hb.hide_hudbar(player, "breath") hb.hide_hudbar(player, "breath")
end end
end end
minetest.register_on_player_hpchange(function(player) local function hb_step()
if hb.players[player:get_player_name()] ~= nil then if minetest.setting_getbool("enable_damage") or hb.settings.forceload_default_hudbars then
update_health(player) for _,player in ipairs(minetest.get_connected_players()) do
end -- only proceed if damage is enabled
end) -- update all hud elements
update_hud(player)
minetest.register_on_respawnplayer(function(player)
update_health(player)
hb.hide_hudbar(player, "breath")
end)
minetest.register_on_joinplayer(function(player)
hide_builtin(player)
custom_hud(player)
hb.players[player:get_player_name()] = player
end)
minetest.register_on_leaveplayer(function(player)
hb.players[player:get_player_name()] = nil
end)
local main_timer = 0
local timer = 0
minetest.register_globalstep(function(dtime)
main_timer = main_timer + dtime
timer = timer + dtime
if main_timer > hb.settings.tick or timer > 4 then
if main_timer > hb.settings.tick then main_timer = 0 end
-- only proceed if damage is enabled
if minetest.settings:get_bool("enable_damage") or hb.settings.forceload_default_hudbars then
for _, player in pairs(hb.players) do
-- update all hud elements
update_hud(player)
end
end end
end end
if timer > 4 then timer = 0 end minetest.after(hb.settings.tick, hb_step)
end
minetest.register_on_joinplayer(function(player)
local name = player:get_player_name()
if not name or name == "" then return end
hide_builtin(player)
custom_hud(player)
end) end)
minetest.after(0, hb_step)

3
locale/de.txt Normal file
View File

@ -0,0 +1,3 @@
Health = Leben
Breath = Atem
%s: %d/%d = %s: %d/%d

View File

@ -1,4 +0,0 @@
# textdomain: hudbars
Health=Leben
Breath=Atem
@1: @2/@3=@1: @2/@3

View File

@ -1,4 +0,0 @@
# textdomain: hudbars
Health=Salud
Breath=Aliento
@1: @2/@3=@1: @2/@3

View File

@ -1,6 +0,0 @@
# textdomain: hudbars
Health=Salute
Breath=Ossigeno
# Default format string for progress bar-style HUD bars, e.g. “Health 5/20”
@1: @2/@3=@1: @2/@3

View File

@ -1,4 +0,0 @@
# textdomain: hudbars
Health=Kesihatan
Breath=Nafas
@1: @2/@3=@1: @2/@3

View File

@ -1,6 +0,0 @@
# textdomain: hudbars
Health=Gezondheid
Breath=Adem
# Default format string for progress bar-style HUD bars, e.g. “Health 5/20”
@1: @2/@3=@1: @2/@3

View File

@ -1,6 +0,0 @@
# textdomain: hudbars
Health=Saude
Breath=Folego
# Formato de string padrão para progresso bar-style de barras do HUD, por exemplo “Saude 5/20”
@1: @2/@3=@1: @2/@3

View File

@ -1,4 +0,0 @@
# textdomain: hudbars
Health=HP
Breath=дыхание
@1: @2/@3=@1: @2/@3

View File

@ -1,4 +0,0 @@
# textdomain: hudbars
Health=Can
Breath=Nefes
@1: @2/@3=@1: @2/@3

View File

@ -1,6 +1,5 @@
# textdomain: hudbars Health
Health= Breath
Breath=
# Default format string for progress bar-style HUD bars, e.g. “Health 5/20” # Default format string for progress bar-style HUD bars, e.g. “Health 5/20”
@1: @2/@3= %s: %d/%d

View File

@ -1,2 +1 @@
name = hudbars name = hudbars
description = Replaces the health and breath symbols in the HUD by “progress bars” and shows exact values. Other mods can add more progress bars for custom player stats.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.3 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

View File

@ -77,38 +77,17 @@ hudbars_pos_right_y (Right HUD bar screen y position) float 1.0 0.0 1.0
# Precise x offset in pixels from the basic screen x position of the HUD bars. # Precise x offset in pixels from the basic screen x position of the HUD bars.
# For the zig-zag alignment pattern, this is for the left HUD bars. # For the zig-zag alignment pattern, this is for the left HUD bars.
# This setting is used for the progress bar HUD bar style.
hudbars_start_offset_left_x (Left HUD bar x offset) int -175 hudbars_start_offset_left_x (Left HUD bar x offset) int -175
# Precise y offset in pixels from the basic screen y position of the HUD bars. # Precise y offset in pixels from the basic screen y position of the HUD bars.
# For the zig-zag alignment pattern, this is for the left HUD bars. # For the zig-zag alignment pattern, this is for the left HUD bars.
# This setting is used for the progress bar HUD bar style.
hudbars_start_offset_left_y (Left HUD bar y offset) int -86 hudbars_start_offset_left_y (Left HUD bar y offset) int -86
# Precise x offset in pixels from the basic screen x position of the right HUD bars. # Precise x offset in pixels from the basic screen x position of the right HUD bars.
# Only used for the zig-zag alignment pattern. # Only used for the zig-zag alignment pattern.
# This setting is used for the progress bar HUD bar style.
hudbars_start_offset_right_x (Right HUD bar x offset) int 15 hudbars_start_offset_right_x (Right HUD bar x offset) int 15
# Precise y offset in pixels from the basic screen y position of the right HUD bars. # Precise y offset in pixels from the basic screen y position of the right HUD bars.
# Only used for the zig-zag alignment pattern. # Only used for the zig-zag alignment pattern.
# This setting is used for the progress bar HUD bar style.
hudbars_start_offset_right_y (Right HUD bar y offset) int -86 hudbars_start_offset_right_y (Right HUD bar y offset) int -86
# Precise x offset in pixels from the basic screen x position of the HUD statbars.
# For the zig-zag alignment pattern, this is for the left HUD statbars.
# This setting is used for the classic and modern statbar styles.
hudbars_start_statbar_offset_left_x (Left HUD statbar x offset) int -265
# Precise y offset in pixels from the basic screen y position of the HUD statbars.
# For the zig-zag alignment pattern, this is for the left HUD statbars.
# This setting is used for the classic and modern statbar styles.
hudbars_start_statbar_offset_left_y (Left HUD statbar y offset) int -90
# Precise x offset in pixels from the basic screen x position of the right HUD statbars.
# Only used for the zig-zag alignment pattern.
# This setting is used for the classic and modern statbar styles.
hudbars_start_statbar_offset_right_x (Right HUD statbar x offset) int 25
# Precise y offset in pixels from the basic screen y position of the right HUD statbars.
# Only used for the zig-zag alignment pattern.
# This setting is used for the classic and modern statbar styles.
hudbars_start_statbar_offset_right_y (Right HUD statbar y offset) int -90
# The vertical distance between two HUD bars, in pixels. # The vertical distance between two HUD bars, in pixels.
hudbars_vmargin (Vertical distance between HUD bars) int 24 0 hudbars_vmargin (Vertical distance between HUD bars) int 24 0

BIN
textures/hudbars_bar_background.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 140 B

After

Width:  |  Height:  |  Size: 113 B

0
textures/hudbars_bar_breath.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 80 B

After

Width:  |  Height:  |  Size: 80 B

0
textures/hudbars_bar_health.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 80 B

After

Width:  |  Height:  |  Size: 80 B

BIN
textures/hudbars_bgicon_health.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 302 B

After

Width:  |  Height:  |  Size: 247 B

BIN
textures/hudbars_icon_breath.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 818 B

After

Width:  |  Height:  |  Size: 544 B

0
textures/hudbars_icon_health.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 321 B

After

Width:  |  Height:  |  Size: 321 B