summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortpart <tpart120@proton.me>2024-08-13 21:38:20 +0200
committertpart <tpart120@proton.me>2024-08-13 21:38:30 +0200
commit598cc27e750b00cb9c4e58789dee19c926bbd41e (patch)
tree5d0cf8892454c267d28b550331decffe8f1e2520
parentfa4e866c2736e6679ff6717b849f3f6f34a7dc00 (diff)
downloadhurrycurry-598cc27e750b00cb9c4e58789dee19c926bbd41e.tar
hurrycurry-598cc27e750b00cb9c4e58789dee19c926bbd41e.tar.bz2
hurrycurry-598cc27e750b00cb9c4e58789dee19c926bbd41e.tar.zst
Add UI blur setting
-rw-r--r--client/global.gd3
-rw-r--r--client/menu/blur_mix.gdshader10
-rw-r--r--client/menu/blur_setup.gd8
-rw-r--r--client/menu/credits.tscn4
-rw-r--r--client/menu/ingame.tscn4
-rw-r--r--client/menu/lobby.tscn4
-rw-r--r--client/menu/main.tscn4
-rw-r--r--client/menu/settings.tscn4
-rw-r--r--client/menu/theme/blur_material.tres2
-rw-r--r--client/menu/theme/dark_blur_material.tres2
10 files changed, 37 insertions, 8 deletions
diff --git a/client/global.gd b/client/global.gd
index 8bc119e1..f36296a9 100644
--- a/client/global.gd
+++ b/client/global.gd
@@ -67,7 +67,8 @@ var default_settings := {
"lq_trees": ToggleSetting.new(tr("Low-poly trees"), false if on_high_end() else true),
"setup_complete": ToggleSetting.new(tr("Initial setup complete. (Uncheck and restart to reenter)"), false),
"tutorial_started": ToggleSetting.new(tr("Tutorial started"), false),
- "latch_boost": ToggleSetting.new(tr("Always extend boost to maximum duration"), true)
+ "latch_boost": ToggleSetting.new(tr("Always extend boost to maximum duration"), true),
+ "ui_blur": ToggleSetting.new(tr("Enable UI blur"), true)
}
var profile: Dictionary
diff --git a/client/menu/blur_mix.gdshader b/client/menu/blur_mix.gdshader
index 706903d5..7e95224d 100644
--- a/client/menu/blur_mix.gdshader
+++ b/client/menu/blur_mix.gdshader
@@ -19,10 +19,16 @@ shader_type canvas_item;
uniform float blur_amount : hint_range(-2.0, 10.0);
uniform float mix_amount : hint_range(0.0, 1.0);
+uniform float mix_amount_no_blur : hint_range(0.0, 1.0);
uniform vec4 color_over: source_color;
uniform sampler2D SCREEN_TEXTURE : hint_screen_texture, filter_linear_mipmap;
+uniform bool enable_blur;
void fragment() {
- vec4 blurred = textureLod(SCREEN_TEXTURE, SCREEN_UV, blur_amount);
- COLOR = mix(blurred, color_over, mix_amount);
+ if (enable_blur) {
+ vec4 blurred = textureLod(SCREEN_TEXTURE, SCREEN_UV, blur_amount);
+ COLOR = mix(blurred, color_over, mix_amount);
+ } else {
+ COLOR = mix(texture(SCREEN_TEXTURE, SCREEN_UV), color_over, mix_amount_no_blur);
+ }
} \ No newline at end of file
diff --git a/client/menu/blur_setup.gd b/client/menu/blur_setup.gd
new file mode 100644
index 00000000..f5363003
--- /dev/null
+++ b/client/menu/blur_setup.gd
@@ -0,0 +1,8 @@
+extends Control
+
+func _ready():
+ update()
+ Global.settings_changed.connect(update)
+
+func update():
+ material.set_shader_parameter("enable_blur", Global.get_setting("ui_blur"))
diff --git a/client/menu/credits.tscn b/client/menu/credits.tscn
index 657bfa44..ecc83752 100644
--- a/client/menu/credits.tscn
+++ b/client/menu/credits.tscn
@@ -1,8 +1,9 @@
-[gd_scene load_steps=5 format=3 uid="uid://7mqbxa054bjv"]
+[gd_scene load_steps=6 format=3 uid="uid://7mqbxa054bjv"]
[ext_resource type="Theme" uid="uid://b0qmvo504e457" path="res://menu/theme/theme.tres" id="1_16kk6"]
[ext_resource type="Script" path="res://menu/credits.gd" id="2_alvab"]
[ext_resource type="Material" uid="uid://beea1pc5nt67r" path="res://menu/theme/dark_blur_material.tres" id="3_nwoiv"]
+[ext_resource type="Script" path="res://menu/blur_setup.gd" id="4_8sii3"]
[ext_resource type="Script" path="res://menu/scroll_container_custom.gd" id="4_bfcw8"]
[node name="CreditsMenu" type="Control"]
@@ -27,6 +28,7 @@ grow_vertical = 2
[node name="Panel" type="Panel" parent="OuterMargin"]
material = ExtResource("3_nwoiv")
layout_mode = 2
+script = ExtResource("4_8sii3")
[node name="InnerMargin" type="MarginContainer" parent="OuterMargin/Panel"]
layout_mode = 1
diff --git a/client/menu/ingame.tscn b/client/menu/ingame.tscn
index 3088ac6a..bf96229c 100644
--- a/client/menu/ingame.tscn
+++ b/client/menu/ingame.tscn
@@ -1,8 +1,9 @@
-[gd_scene load_steps=9 format=3 uid="uid://lxlgtjm8hw7v"]
+[gd_scene load_steps=10 format=3 uid="uid://lxlgtjm8hw7v"]
[ext_resource type="Theme" uid="uid://b0qmvo504e457" path="res://menu/theme/theme.tres" id="1_2vmyh"]
[ext_resource type="Script" path="res://menu/ingame.gd" id="2_0h3no"]
[ext_resource type="Material" uid="uid://beea1pc5nt67r" path="res://menu/theme/dark_blur_material.tres" id="3_vvvlt"]
+[ext_resource type="Script" path="res://menu/blur_setup.gd" id="4_b6bm7"]
[ext_resource type="FontFile" uid="uid://bo4vh5xkpvrh1" path="res://menu/theme/font-sansita-swashed.woff2" id="4_scupw"]
[sub_resource type="Animation" id="Animation_8sedy"]
@@ -67,6 +68,7 @@ anchor_bottom = 1.0
offset_left = -400.0
offset_right = -106.0
grow_vertical = 2
+script = ExtResource("4_b6bm7")
[node name="Margin" type="MarginContainer" parent="Side"]
layout_mode = 2
diff --git a/client/menu/lobby.tscn b/client/menu/lobby.tscn
index e9bac46b..ebf5871b 100644
--- a/client/menu/lobby.tscn
+++ b/client/menu/lobby.tscn
@@ -1,4 +1,4 @@
-[gd_scene load_steps=15 format=3 uid="uid://bc50la65ntifb"]
+[gd_scene load_steps=16 format=3 uid="uid://bc50la65ntifb"]
[ext_resource type="Theme" uid="uid://b0qmvo504e457" path="res://menu/theme/theme.tres" id="1_u18ke"]
[ext_resource type="Script" path="res://menu/lobby.gd" id="2_7657i"]
@@ -6,6 +6,7 @@
[ext_resource type="Material" uid="uid://beea1pc5nt67r" path="res://menu/theme/dark_blur_material.tres" id="3_esmbx"]
[ext_resource type="Texture2D" uid="uid://35rd5gamtyqm" path="res://menu/arrow.svg" id="3_jxleg"]
[ext_resource type="Texture2D" uid="uid://j75dbytlbju" path="res://menu/arrow_pressed.svg" id="4_eapmn"]
+[ext_resource type="Script" path="res://menu/blur_setup.gd" id="5_am8pt"]
[ext_resource type="Texture2D" uid="uid://b33qmctbpf48g" path="res://menu/arrow_hover.svg" id="5_odwav"]
[ext_resource type="Texture2D" uid="uid://by3qsrpxnfq4w" path="res://menu/arrow_focus.svg" id="6_tulu3"]
[ext_resource type="PackedScene" uid="uid://b1f7bgn65j7b5" path="res://menu/controller_buttons/controller_button.tscn" id="7_t6mox"]
@@ -41,6 +42,7 @@ alignment = 2
material = ExtResource("3_esmbx")
layout_mode = 2
theme_override_styles/panel = ExtResource("3_6iqoe")
+script = ExtResource("5_am8pt")
[node name="MarginContainer" type="MarginContainer" parent="HBoxContainer/Bottom"]
layout_mode = 2
diff --git a/client/menu/main.tscn b/client/menu/main.tscn
index 9c1fd5ef..cee3003d 100644
--- a/client/menu/main.tscn
+++ b/client/menu/main.tscn
@@ -1,9 +1,10 @@
-[gd_scene load_steps=8 format=3 uid="uid://dbj8508whxgwv"]
+[gd_scene load_steps=9 format=3 uid="uid://dbj8508whxgwv"]
[ext_resource type="Theme" uid="uid://b0qmvo504e457" path="res://menu/theme/theme.tres" id="1_3qfu3"]
[ext_resource type="Script" path="res://menu/main.gd" id="2_xjnc3"]
[ext_resource type="PackedScene" uid="uid://l4vm07dtda4j" path="res://menu/menu_background.tscn" id="3_4evao"]
[ext_resource type="Material" uid="uid://2j8a0c0a2ta5" path="res://menu/theme/blur_material.tres" id="4_nx4vf"]
+[ext_resource type="Script" path="res://menu/blur_setup.gd" id="5_0mn56"]
[ext_resource type="FontFile" uid="uid://bo4vh5xkpvrh1" path="res://menu/theme/font-sansita-swashed.woff2" id="5_k7bqq"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ukani"]
@@ -32,6 +33,7 @@ anchor_bottom = 1.0
offset_right = 294.0
grow_vertical = 2
theme_override_styles/panel = SubResource("StyleBoxFlat_ukani")
+script = ExtResource("5_0mn56")
[node name="margin" type="MarginContainer" parent="side"]
layout_mode = 2
diff --git a/client/menu/settings.tscn b/client/menu/settings.tscn
index b36f8c29..b7918339 100644
--- a/client/menu/settings.tscn
+++ b/client/menu/settings.tscn
@@ -1,8 +1,9 @@
-[gd_scene load_steps=5 format=3 uid="uid://8ic77jmadadj"]
+[gd_scene load_steps=6 format=3 uid="uid://8ic77jmadadj"]
[ext_resource type="Theme" uid="uid://b0qmvo504e457" path="res://menu/theme/theme.tres" id="1_foq3a"]
[ext_resource type="Script" path="res://menu/settings.gd" id="2_3hgm8"]
[ext_resource type="Material" uid="uid://beea1pc5nt67r" path="res://menu/theme/dark_blur_material.tres" id="3_8nykw"]
+[ext_resource type="Script" path="res://menu/blur_setup.gd" id="4_v6q3y"]
[ext_resource type="Script" path="res://menu/scroll_container_custom.gd" id="4_vfb63"]
[node name="SettingsMenu" type="Control"]
@@ -27,6 +28,7 @@ grow_vertical = 2
[node name="Panel" type="Panel" parent="OuterGap"]
material = ExtResource("3_8nykw")
layout_mode = 2
+script = ExtResource("4_v6q3y")
[node name="InnerGap" type="MarginContainer" parent="OuterGap/Panel"]
layout_mode = 1
diff --git a/client/menu/theme/blur_material.tres b/client/menu/theme/blur_material.tres
index ba65602c..c035d230 100644
--- a/client/menu/theme/blur_material.tres
+++ b/client/menu/theme/blur_material.tres
@@ -6,4 +6,6 @@
shader = ExtResource("1_d16rd")
shader_parameter/blur_amount = 3.5
shader_parameter/mix_amount = 0.3
+shader_parameter/mix_amount_no_blur = 0.5
shader_parameter/color_over = null
+shader_parameter/enable_blur = false
diff --git a/client/menu/theme/dark_blur_material.tres b/client/menu/theme/dark_blur_material.tres
index ba35a7a9..daf74099 100644
--- a/client/menu/theme/dark_blur_material.tres
+++ b/client/menu/theme/dark_blur_material.tres
@@ -6,4 +6,6 @@
shader = ExtResource("1_cynu0")
shader_parameter/blur_amount = 3.5
shader_parameter/mix_amount = 0.5
+shader_parameter/mix_amount_no_blur = 0.7
shader_parameter/color_over = null
+shader_parameter/enable_blur = null