diff --git a/res/layouts/pages/settings_graphics.xml.lua b/res/layouts/pages/settings_graphics.xml.lua
index 835b3746..179d8df8 100644
--- a/res/layouts/pages/settings_graphics.xml.lua
+++ b/res/layouts/pages/settings_graphics.xml.lua
@@ -1,6 +1,7 @@
-function create_setting(id, name, step, postfix)
+function create_setting(id, name, step, postfix, tooltip)
local info = core.get_setting_info(id)
postfix = postfix or ""
+ tooltip = tooltip or ""
document.root:add(gui.template("track_setting", {
id=id,
name=gui.str(name, "settings"),
@@ -8,7 +9,8 @@ function create_setting(id, name, step, postfix)
min=info.min,
max=info.max,
step=step,
- postfix=postfix
+ postfix=postfix,
+ tooltip=tooltip
}))
update_setting(core.get_setting(id), id, name, postfix)
end
@@ -24,10 +26,11 @@ function update_setting(x, id, name, postfix)
)
end
-function create_checkbox(id, name)
+function create_checkbox(id, name, tooltip)
+ tooltip = tooltip or ''
document.root:add(string.format(
- "%s",
- id, core.str_setting(id), gui.str(name, "settings")
+ "%s",
+ id, core.str_setting(id), gui.str(tooltip, "settings"), gui.str(name, "settings")
))
end
@@ -35,10 +38,10 @@ function on_open()
create_setting("chunks.load-distance", "Load Distance", 1)
create_setting("chunks.load-speed", "Load Speed", 1)
create_setting("graphics.fog-curve", "Fog Curve", 0.1)
- create_setting("graphics.gamma", "Gamma", 0.05)
+ create_setting("graphics.gamma", "Gamma", 0.05, "", "graphics.gamma.tooltip")
create_setting("camera.fov", "FOV", 1, "°")
create_checkbox("display.fullscreen", "Fullscreen")
create_checkbox("display.vsync", "V-Sync")
- create_checkbox("graphics.backlight", "Backlight")
+ create_checkbox("graphics.backlight", "Backlight", "graphics.backlight.tooltip")
create_checkbox("camera.shaking", "Camera Shaking")
end
diff --git a/res/layouts/templates/track_setting.xml b/res/layouts/templates/track_setting.xml
index 994e5bb3..82ee81c1 100644
--- a/res/layouts/templates/track_setting.xml
+++ b/res/layouts/templates/track_setting.xml
@@ -1,6 +1,6 @@
diff --git a/res/texts/en_US.txt b/res/texts/en_US.txt
index 979c7330..8681a069 100644
--- a/res/texts/en_US.txt
+++ b/res/texts/en_US.txt
@@ -8,6 +8,10 @@ world.delete-confirm=Do you want to delete world forever?
world.generators.default=Default
world.generators.flat=Flat
+# Tooltips
+graphics.gamma.tooltip=Lighting brightness curve
+graphics.backlight.tooltip=Backlight to prevent total darkness
+
# Bindings
devtools.console=Console
movement.forward=Forward
diff --git a/res/texts/ru_RU.txt b/res/texts/ru_RU.txt
index ec2946ef..a1b7f3be 100644
--- a/res/texts/ru_RU.txt
+++ b/res/texts/ru_RU.txt
@@ -12,6 +12,10 @@ error.pack-not-found=Не удалось найти пакет
error.dependency-not-found=Используемая зависимость не найдена
pack.remove-confirm=Удалить весь поставляемый паком/паками контент из мира (безвозвратно)?
+# Подсказки
+graphics.gamma.tooltip=Кривая яркости освещения
+graphics.backlight.tooltip=Подсветка, предотвращающая полную темноту
+
# Меню
menu.Apply=Применить
menu.Audio=Звук
diff --git a/src/graphics/ui/elements/CheckBox.hpp b/src/graphics/ui/elements/CheckBox.hpp
index e366768e..74172337 100644
--- a/src/graphics/ui/elements/CheckBox.hpp
+++ b/src/graphics/ui/elements/CheckBox.hpp
@@ -50,6 +50,10 @@ namespace gui {
virtual bool isChecked() const {
return checkbox->isChecked();
}
+
+ virtual void setTooltip(const std::wstring& text) override {
+ checkbox->setTooltip(text);
+ }
};
}