diff options
-rw-r--r-- | client/global.gd | 1 | ||||
-rw-r--r-- | client/map/auto_setup/environment_setup.gd | 3 | ||||
-rw-r--r-- | client/menu/menu.gd | 4 | ||||
-rw-r--r-- | client/menu/setup.gd | 2 | ||||
-rw-r--r-- | client/menu/warning_popup.tscn | 1 | ||||
-rw-r--r-- | client/player/controllable_player.gd | 2 | ||||
-rw-r--r-- | client/player/interact_marker.gdshader | 7 | ||||
-rw-r--r-- | client/player/marker.gd | 5 | ||||
-rw-r--r-- | client/player/marker.tscn | 1 | ||||
-rw-r--r-- | data/maps/line.yaml | 2 |
10 files changed, 20 insertions, 8 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") diff --git a/data/maps/line.yaml b/data/maps/line.yaml index f7aa913e..acc596e9 100644 --- a/data/maps/line.yaml +++ b/data/maps/line.yaml @@ -18,7 +18,7 @@ map: - "''███████████████████████''" - "''█ctc.ctc.ctc█pp█sSC#LR█''" - "!_d...........d..d......d~'" - - "''█ctc.ctc.ctc█pp█#of#TF█X'" + - "''█ctc.ctc.ctc█pp█oof#TF█X'" - "''███████████████████████''" - "'''''''''''''''''''''''''''" |