summaryrefslogtreecommitdiff
path: root/client
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2024-07-18 12:39:48 +0200
committermetamuffin <metamuffin@disroot.org>2024-07-18 12:39:48 +0200
commitefc29c03f7be043ae8d037a93efce8cfa7c384cc (patch)
tree243d0b1895d9b98c1273cd4df1821b54222b690f /client
parent2a31d26fca33789ccf8ea28cdb214d20dd29f85d (diff)
parent0b67eafb3b4942ed511c802fa6289634c414af30 (diff)
downloadhurrycurry-efc29c03f7be043ae8d037a93efce8cfa7c384cc.tar
hurrycurry-efc29c03f7be043ae8d037a93efce8cfa7c384cc.tar.bz2
hurrycurry-efc29c03f7be043ae8d037a93efce8cfa7c384cc.tar.zst
Merge branch 'master' of https://codeberg.org/hurrycurry/hurrycurry
Diffstat (limited to 'client')
-rw-r--r--client/global.gd1
-rw-r--r--client/map/auto_setup/environment_setup.gd3
-rw-r--r--client/menu/menu.gd4
-rw-r--r--client/menu/setup.gd2
-rw-r--r--client/menu/warning_popup.tscn1
-rw-r--r--client/player/controllable_player.gd2
-rw-r--r--client/player/interact_marker.gdshader7
-rw-r--r--client/player/marker.gd5
-rw-r--r--client/player/marker.tscn1
9 files changed, 19 insertions, 7 deletions
diff --git a/client/global.gd b/client/global.gd
index e3fe9000..8fd9e399 100644
--- a/client/global.gd
+++ b/client/global.gd
@@ -55,6 +55,7 @@ var default_settings := {
"voxel_gi": ToggleSetting.new(tr("Use VoxelGI (Blocks the game on map update but is more accurate)"), false),
"sdfgi": ToggleSetting.new(tr("Use SDFGI (Doesn't block the game but produces more artifacts)"), false),
"shadows": ToggleSetting.new(tr("Enable shadows"), true),
+ "glow": ToggleSetting.new(tr("Enable glow"), true),
"debug_info": ToggleSetting.new(tr("Display debug info (Framerate, etc.)"), false),
"grass_amount": RangeSetting.new(tr("3D grass amount per grass tile"), 16, 0, 32),
"setup_complete": ToggleSetting.new(tr("Initial setup complete. (Uncheck and restart to reenter)"), false),
diff --git a/client/map/auto_setup/environment_setup.gd b/client/map/auto_setup/environment_setup.gd
index 323a7f04..96feb86b 100644
--- a/client/map/auto_setup/environment_setup.gd
+++ b/client/map/auto_setup/environment_setup.gd
@@ -24,4 +24,5 @@ func _ready():
func apply_settings():
environment.ssao_enabled = Global.get_setting("ssao")
- environment.sdfgi_enabled = Global.get_setting("sdfgi") if allow_sdfgi else false
+ environment.sdfgi_enabled = Global.get_setting("sdfgi") and allow_sdfgi
+ environment.glow_enabled = Global.get_setting("glow")
diff --git a/client/menu/menu.gd b/client/menu/menu.gd
index d2da3529..6dd48fca 100644
--- a/client/menu/menu.gd
+++ b/client/menu/menu.gd
@@ -51,13 +51,13 @@ func menu_anim_cover(_state: bool):
pass
var popup: Menu = null
-func submenu(path: String, data = null):
+func submenu(path: String, data_ = null):
var prev_focus = Global.focused_node
if popup != null: return
_disable_recursive(self, true)
await menu_anim_cover(true)
popup = load(path).instantiate()
- popup.data = data
+ popup.data = data_
add_child(popup)
print("Submenu opened ", path)
await submenu_close
diff --git a/client/menu/setup.gd b/client/menu/setup.gd
index 6e901b9c..470b0839 100644
--- a/client/menu/setup.gd
+++ b/client/menu/setup.gd
@@ -54,7 +54,7 @@ func _process(delta):
func check():
if username.text == "": return "Username cannot be empty"
var n = username.text.to_lower()
- if n.begins_with("f") and n.ends_with("miller"): return "You are not Frank Miller"
+ if n.begins_with("f") and n.ends_with("miller"): return "You cannot choose that name.\n(It's too close to your boss')"
if character == -1: return "You must select a hairstyle"
return null
diff --git a/client/menu/warning_popup.tscn b/client/menu/warning_popup.tscn
index 784011b3..4fd2fbba 100644
--- a/client/menu/warning_popup.tscn
+++ b/client/menu/warning_popup.tscn
@@ -37,6 +37,7 @@ theme_override_constants/separation = 16
[node name="Message" type="Label" parent="CenterContainer/Panel/MarginContainer/VBoxContainer"]
layout_mode = 2
text = "You must fill out all requested fields."
+horizontal_alignment = 1
[node name="HBoxContainer" type="HBoxContainer" parent="CenterContainer/Panel/MarginContainer/VBoxContainer"]
layout_mode = 2
diff --git a/client/player/controllable_player.gd b/client/player/controllable_player.gd
index 659a5c6b..9287a533 100644
--- a/client/player/controllable_player.gd
+++ b/client/player/controllable_player.gd
@@ -160,8 +160,10 @@ func interact():
if Input.is_action_just_pressed("interact"):
game.mp.send_tile_interact(target, true)
tile.interact()
+ marker.set_interacting(true)
elif Input.is_action_just_released("interact"):
game.mp.send_tile_interact(target, false)
+ marker.set_interacting(false)
else:
marker.visible = false
diff --git a/client/player/interact_marker.gdshader b/client/player/interact_marker.gdshader
index eee76270..3720290f 100644
--- a/client/player/interact_marker.gdshader
+++ b/client/player/interact_marker.gdshader
@@ -21,9 +21,12 @@ uniform float max_width = .1;
uniform float marker_length = .5;
uniform float pulse_speed = 4.;
uniform bool interactive = false;
+uniform bool interacting = false;
void fragment() {
- if (interactive) {
+ if (interacting) {
+ ALBEDO = vec3(0., 0., 15.);
+ } else if (interactive) {
ALBEDO = vec3(15., 0., 0.);
} else {
ALBEDO = vec3(.1, .1, .1);
@@ -31,7 +34,7 @@ void fragment() {
vec2 uv = abs(2. * UV.xy - 1.);
float m_length = marker_length / max_width;
float anim;
- if (interactive) {
+ if (interactive || interacting) {
anim = sin(TIME * pulse_speed) * .5 + 1.;
} else {
anim = .5;
diff --git a/client/player/marker.gd b/client/player/marker.gd
index 7161c78e..07f6bfe8 100644
--- a/client/player/marker.gd
+++ b/client/player/marker.gd
@@ -18,7 +18,10 @@ class_name Marker
extends Node3D
@onready var _cube: MeshInstance3D = $Cube
+@onready var mat: ShaderMaterial = _cube.get_active_material(0)
func set_interactive(val: bool):
- var mat: ShaderMaterial = _cube.get_active_material(0)
mat.set_shader_parameter("interactive", val)
+
+func set_interacting(val: bool):
+ mat.set_shader_parameter("interacting", val)
diff --git a/client/player/marker.tscn b/client/player/marker.tscn
index 9a68e1c1..0d5efedb 100644
--- a/client/player/marker.tscn
+++ b/client/player/marker.tscn
@@ -42,6 +42,7 @@ shader_parameter/max_width = 0.1
shader_parameter/marker_length = 0.5
shader_parameter/pulse_speed = 4.0
shader_parameter/interactive = false
+shader_parameter/interacting = false
[node name="Marker" type="Node3D"]
script = ExtResource("1_3njdu")