diff --git a/builtin/mainmenu/settings/components.lua b/builtin/mainmenu/settings/components.lua index bfe64285c..79253558b 100644 --- a/builtin/mainmenu/settings/components.lua +++ b/builtin/mainmenu/settings/components.lua @@ -67,6 +67,19 @@ function make.heading(text) end +function make.note(text) + return { + full_width = true, + get_formspec = function(self, avail_w) + -- Assuming label height 0.4: + -- Position at y=0 to eat 0.2 of the padding above, leave 0.05. + -- The returned used_height doesn't include padding. + return ("label[0,0;%s]"):format(core.colorize("#bbb", core.formspec_escape(text))), 0.2 + end, + } +end + + --- Used for string and numeric style fields --- --- @param converter Function to coerce values from strings. diff --git a/builtin/mainmenu/settings/dlg_settings.lua b/builtin/mainmenu/settings/dlg_settings.lua index 75f99376d..4842b2e1a 100644 --- a/builtin/mainmenu/settings/dlg_settings.lua +++ b/builtin/mainmenu/settings/dlg_settings.lua @@ -152,9 +152,19 @@ local function load() table.insert(page_by_id.controls_keyboard_and_mouse.content, 1, change_keys) do - local content = page_by_id.graphics_and_audio_shaders.content + local content = page_by_id.graphics_and_audio_effects.content local idx = table.indexof(content, "enable_dynamic_shadows") table.insert(content, idx, shadows_component) + + idx = table.indexof(content, "enable_auto_exposure") + 1 + local note = component_funcs.note(fgettext_ne("(The game will need to enable automatic exposure as well)")) + note.requires = get_setting_info("enable_auto_exposure").requires + table.insert(content, idx, note) + + idx = table.indexof(content, "enable_volumetric_lighting") + 1 + note = component_funcs.note(fgettext_ne("(The game will need to enable volumetric lighting as well)")) + note.requires = get_setting_info("enable_volumetric_lighting").requires + table.insert(content, idx, note) end -- These must not be translated, as they need to show in the local diff --git a/builtin/settingtypes.txt b/builtin/settingtypes.txt index cffc728d1..342fc24a6 100644 --- a/builtin/settingtypes.txt +++ b/builtin/settingtypes.txt @@ -262,31 +262,6 @@ viewing_range (Viewing range) int 190 20 4000 # Higher values result in a less detailed image. undersampling (Undersampling) int 1 1 8 -[**Graphical Effects] - -# Allows liquids to be translucent. -translucent_liquids (Translucent liquids) bool true - -# Leaves style: -# - Fancy: all faces visible -# - Simple: only outer faces, if defined special_tiles are used -# - Opaque: disable transparency -leaves_style (Leaves style) enum fancy fancy,simple,opaque - -# Connects glass if supported by node. -connected_glass (Connect glass) bool false - -# Enable smooth lighting with simple ambient occlusion. -# Disable for speed or for different looks. -smooth_lighting (Smooth lighting) bool true - -# Enables tradeoffs that reduce CPU load or increase rendering performance -# at the expense of minor visual glitches that do not impact game playability. -performance_tradeoffs (Tradeoffs for performance) bool false - -# Adds particles when digging a node. -enable_particles (Digging particles) bool true - [**3D] # 3D support. @@ -466,7 +441,29 @@ enable_raytraced_culling (Enable Raytraced Culling) bool true -[*Shaders] +[*Effects] + +# Allows liquids to be translucent. +translucent_liquids (Translucent liquids) bool true + +# Leaves style: +# - Fancy: all faces visible +# - Simple: only outer faces +# - Opaque: disable transparency +leaves_style (Leaves style) enum fancy fancy,simple,opaque + +# Connects glass if supported by node. +connected_glass (Connect glass) bool false + +# Enable smooth lighting with simple ambient occlusion. +smooth_lighting (Smooth lighting) bool true + +# Enables tradeoffs that reduce CPU load or increase rendering performance +# at the expense of minor visual glitches that do not impact game playability. +performance_tradeoffs (Tradeoffs for performance) bool false + +# Adds particles when digging a node. +enable_particles (Digging particles) bool true [**Waving Nodes] @@ -504,11 +501,6 @@ water_wave_length (Waving liquids wavelength) float 20.0 0.1 # Requires: shaders, enable_waving_water water_wave_speed (Waving liquids wave speed) float 5.0 -# When enabled, liquid reflections are simulated. -# -# Requires: shaders, enable_waving_water, enable_dynamic_shadows -enable_water_reflections (Liquid reflections) bool false - [**Dynamic shadows] # Set to true to enable Shadow Mapping. @@ -632,14 +624,6 @@ debanding (Enable Debanding) bool true # Requires: shaders, enable_post_processing enable_bloom (Enable Bloom) bool false -# Set to true to render debugging breakdown of the bloom effect. -# In debug mode, the screen is split into 4 quadrants: -# top-left - processed base image, top-right - final image -# bottom-left - raw base image, bottom-right - bloom texture. -# -# Requires: shaders, enable_post_processing, enable_bloom -enable_bloom_debug (Enable Bloom Debug) bool false - # Defines how much bloom is applied to the rendered image # Smaller values make bloom more subtle # Range: from 0.01 to 1.0, default: 0.05 @@ -677,6 +661,11 @@ enable_translucent_foliage (Translucent foliage) bool false # Requires: shaders, enable_dynamic_shadows enable_node_specular (Node specular) bool false +# When enabled, liquid reflections are simulated. +# +# Requires: shaders, enable_waving_water, enable_dynamic_shadows +enable_water_reflections (Liquid reflections) bool false + [*Audio] # Volume of all sounds. @@ -1940,6 +1929,14 @@ client_mesh_chunk (Client Mesh Chunksize) int 1 1 16 # Enables debug and error-checking in the OpenGL driver. opengl_debug (OpenGL debug) bool false +# Set to true to render debugging breakdown of the bloom effect. +# In debug mode, the screen is split into 4 quadrants: +# top-left - processed base image, top-right - final image +# bottom-left - raw base image, bottom-right - bloom texture. +# +# Requires: shaders, enable_post_processing, enable_bloom +enable_bloom_debug (Enable Bloom Debug) bool false + [**Sound] # Comma-separated list of AL and ALC extensions that should not be used. # Useful for testing. See al_extensions.[h,cpp] for details.