aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2024-07-03 16:55:14 +0200
committermetamuffin <metamuffin@disroot.org>2024-07-03 16:55:14 +0200
commit095db9be074577c0b46fa0ba080bfbd4f37c8f83 (patch)
tree27efe2ecfe60f3a80a9e16e731b39f7fa59ad84c
parent074c37aae5b25844a9e85e89b30893042c9e6059 (diff)
parent872568d39a6e5e1334f02a384491b7645e65919d (diff)
downloadhurrycurry-095db9be074577c0b46fa0ba080bfbd4f37c8f83.tar
hurrycurry-095db9be074577c0b46fa0ba080bfbd4f37c8f83.tar.bz2
hurrycurry-095db9be074577c0b46fa0ba080bfbd4f37c8f83.tar.zst
Merge branch 'master' of https://codeberg.org/metamuffin/undercooked
-rw-r--r--client/audio/sound.gd43
-rw-r--r--client/audio/sound.tscn2
-rw-r--r--client/game.gd2
-rw-r--r--client/global.gd45
-rw-r--r--client/map/items/food_processor.gd10
-rw-r--r--client/map/items/item.gd5
-rw-r--r--client/map/items/plate.gd4
-rw-r--r--client/map/items/pot.gd4
-rw-r--r--client/map/items/sounds/food_processor_running.oggbin0 -> 16629 bytes
-rw-r--r--client/map/items/sounds/food_processor_running.ogg.import19
-rw-r--r--client/map/items/sounds/food_processor_stopping.oggbin0 -> 14288 bytes
-rw-r--r--client/map/items/sounds/food_processor_stopping.ogg.import19
-rw-r--r--client/map/items/sounds/generic_put.ogg (renamed from client/map/sounds/generic_down.ogg)bin7746 -> 7746 bytes
-rw-r--r--client/map/items/sounds/generic_put.ogg.import19
-rw-r--r--client/map/items/sounds/generic_take.ogg (renamed from client/map/sounds/generic_up.ogg)bin6824 -> 6824 bytes
-rw-r--r--client/map/items/sounds/generic_take.ogg.import19
-rw-r--r--client/map/items/sounds/plate_put.oggbin0 -> 7711 bytes
-rw-r--r--client/map/items/sounds/plate_put.ogg.import19
-rw-r--r--client/map/items/sounds/plate_take.oggbin0 -> 7296 bytes
-rw-r--r--client/map/items/sounds/plate_take.ogg.import19
-rw-r--r--client/map/items/sounds/pot_put.oggbin0 -> 7171 bytes
-rw-r--r--client/map/items/sounds/pot_put.ogg.import19
-rw-r--r--client/map/items/sounds/pot_take.oggbin0 -> 7919 bytes
-rw-r--r--client/map/items/sounds/pot_take.ogg.import19
-rw-r--r--client/map/sounds/generic_down.ogg.import19
-rw-r--r--client/map/sounds/generic_up.ogg.import19
-rw-r--r--client/map/sounds/plate_down.oggbin6900 -> 0 bytes
-rw-r--r--client/map/sounds/plate_down.ogg.import19
-rw-r--r--client/map/sounds/plate_up.oggbin7286 -> 0 bytes
-rw-r--r--client/map/sounds/plate_up.ogg.import19
-rw-r--r--client/menu/overlay.gd4
-rw-r--r--client/menu/settings.gd3
-rw-r--r--client/player/controllable_player.gd4
-rw-r--r--client/project.godot5
34 files changed, 264 insertions, 95 deletions
diff --git a/client/audio/sound.gd b/client/audio/sound.gd
index 6a562d75..c4ef0ad2 100644
--- a/client/audio/sound.gd
+++ b/client/audio/sound.gd
@@ -3,6 +3,9 @@ extends Node
@onready var click_sound = $UI/Click
@onready var hover_sound = $UI/Hover
+var item_sounds: Dictionary = {}
+var item_id: int = 0
+
func play_click():
click_sound.play()
@@ -14,3 +17,43 @@ func play_hover_maybe(element):
if element.is_hovered():
return
play_hover()
+
+func item_progress(item: Item, running: AudioStream, stopping: AudioStream) -> int:
+ item_id += 1
+ var running_player: AudioStreamPlayer3D = AudioStreamPlayer3D.new()
+ running_player.stream = running
+ running_player.name = "Running%d" % item_id
+ add_child(running_player)
+ var stopping_player: AudioStreamPlayer3D = AudioStreamPlayer3D.new()
+ stopping_player.stream = stopping
+ stopping_player.name = "Stopping%d" % item_id
+ running_player.play()
+ add_child(stopping_player)
+ item_sounds[item_id] = [item, running_player, stopping_player, false]
+ return item_id
+
+func item_finished(id: int):
+ var running_player: AudioStreamPlayer3D = item_sounds[id][1]
+ var stopping_player: AudioStreamPlayer3D = item_sounds[id][2]
+ item_sounds[id][3] = true
+ running_player.stop()
+ stopping_player.play()
+ stopping_player.finished.connect(func():
+ free_sound(id)
+ )
+
+func free_sound(id: int):
+ var running_player: AudioStreamPlayer3D = item_sounds[id][1]
+ var stopping_player: AudioStreamPlayer3D = item_sounds[id][2]
+ running_player.queue_free()
+ stopping_player.queue_free()
+ item_sounds.erase(id)
+
+func _physics_process(_delta):
+ for k in item_sounds.keys():
+ if item_sounds[k][0] != null:
+ var position: Vector3 = item_sounds[k][0].position
+ item_sounds[k][1].position = position
+ item_sounds[k][2].position = position
+ elif not item_sounds[k][3]:
+ item_finished(k)
diff --git a/client/audio/sound.tscn b/client/audio/sound.tscn
index 7c0458dc..3f2607c8 100644
--- a/client/audio/sound.tscn
+++ b/client/audio/sound.tscn
@@ -4,7 +4,7 @@
[ext_resource type="AudioStream" uid="uid://cpyn511c5mtni" path="res://menu/sounds/click.ogg" id="2_mhrce"]
[ext_resource type="AudioStream" uid="uid://dtr1khfyqr56o" path="res://menu/sounds/hover.ogg" id="3_qft2s"]
-[node name="Sound" type="Node"]
+[node name="Sound" type="Node3D"]
script = ExtResource("1_b0qb1")
[node name="UI" type="Node" parent="."]
diff --git a/client/game.gd b/client/game.gd
index 98c8986b..d3ad3bb5 100644
--- a/client/game.gd
+++ b/client/game.gd
@@ -201,7 +201,7 @@ func _ready():
mp.server_message.connect(func(text): print(text))
mp.score.connect($Overlay.update)
- mp.hide_score.connect($Overlay.hide)
+ mp.hide_score.connect($Overlay.reset)
func _process(delta):
marker.position = Global.interpolate(marker.position, marker_target, delta * 30.)
diff --git a/client/global.gd b/client/global.gd
index 2dd5f735..d9d5614b 100644
--- a/client/global.gd
+++ b/client/global.gd
@@ -17,6 +17,8 @@
#
extends Node
+signal settings_changed()
+
# Each setting contains a dictionary with the following keys:
# "type": The type of the setting. Can be "toggle", "line", "range", "dropdown", or "dropdown_preset"
# "value": The value of the setting. When using "dropdown", this contains an int
@@ -37,6 +39,8 @@ var languages := [tr("System default"), "en", "de"]
var default_settings := {
"language": DropdownSetting.new(tr("Language"), 0, languages),
+ "aa": DropdownSetting.new(tr("Anti-aliasing"), 2, [tr("Disabled"), "FXAA", "MSAA 2x", "MSAA 4x"]),
+ "taa": ToggleSetting.new(tr("Temporal Anti-Aliasing"), false),
"fullscreen": ToggleSetting.new(tr("Fullscreen"), false),
"touch_controls": ToggleSetting.new(tr("Enable touch screen conrols"), DisplayServer.is_touchscreen_available()),
"interpolate_camera_rotation": ToggleSetting.new(tr("Interpolate the camera rotation"), true),
@@ -55,14 +59,13 @@ var settings: Dictionary
var server_url = ""
var error_message = ""
-func _init():
- profile = load_dict("user://profile", default_profile)
- load_settings("user://settings")
- update_fullscreen()
- update_language()
-
var focused_node: Control
+
func _ready():
+ profile = load_dict("user://profile", default_profile)
+ load_settings("user://settings")
+ apply_settings()
+
get_viewport().gui_focus_changed.connect(Sound.play_hover_maybe)
get_viewport().gui_focus_changed.connect(func (node): focused_node = node)
@@ -72,6 +75,34 @@ func _input(_event):
save_settings()
update_fullscreen()
+func apply_settings():
+ update_fullscreen()
+ update_language()
+
+ # Anti-aliasing
+ match get_setting("aa"):
+ 0:
+ get_viewport().msaa_2d = Viewport.MSAA_DISABLED
+ get_viewport().msaa_3d = Viewport.MSAA_DISABLED
+ get_viewport().screen_space_aa = Viewport.SCREEN_SPACE_AA_DISABLED
+ 1:
+ get_viewport().msaa_2d = Viewport.MSAA_DISABLED
+ get_viewport().msaa_3d = Viewport.MSAA_DISABLED
+ get_viewport().screen_space_aa = Viewport.SCREEN_SPACE_AA_FXAA
+ 2:
+ get_viewport().msaa_2d = Viewport.MSAA_2X
+ get_viewport().msaa_3d = Viewport.MSAA_2X
+ get_viewport().screen_space_aa = Viewport.SCREEN_SPACE_AA_DISABLED
+ 3:
+ get_viewport().msaa_2d = Viewport.MSAA_4X
+ get_viewport().msaa_3d = Viewport.MSAA_4X
+ get_viewport().screen_space_aa = Viewport.SCREEN_SPACE_AA_DISABLED
+
+ # Temporal Anti-aliasing
+ get_viewport().use_taa = get_setting("taa")
+
+ emit_signal("settings_changed")
+
func update_language():
var lang_idx: int = get_setting("language")
var lang = languages[lang_idx]
@@ -84,7 +115,7 @@ func update_language():
func update_fullscreen():
if get_setting("fullscreen"):
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_FULLSCREEN)
- else:
+ elif DisplayServer.window_get_mode() == DisplayServer.WINDOW_MODE_FULLSCREEN:
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED)
func save_profile():
diff --git a/client/map/items/food_processor.gd b/client/map/items/food_processor.gd
index f2226e5f..588777ff 100644
--- a/client/map/items/food_processor.gd
+++ b/client/map/items/food_processor.gd
@@ -28,10 +28,18 @@ func progress(p: float, warn: bool):
processing.emitting = true
processing.rotation.y += p * TAU
base.rotation.y += p * TAU
+ if sound_id == null:
+ sound_id = Sound.item_progress(
+ self,
+ preload("res://map/items/sounds/food_processor_running.ogg"),
+ preload("res://map/items/sounds/food_processor_stopping.ogg")
+ )
func finish(warn: bool):
super(warn)
- processing.emitting = false
+ if sound_id != null:
+ processing.emitting = false
+ Sound.item_finished(sound_id)
static func base_position() -> Vector3:
return Vector3(0., 0.4, 0.)
diff --git a/client/map/items/item.gd b/client/map/items/item.gd
index 84d3f3fa..6433d5db 100644
--- a/client/map/items/item.gd
+++ b/client/map/items/item.gd
@@ -22,6 +22,7 @@ var base: Node3D = Node3D.new()
var progress_instance: ProgressBar3D = preload("res://map/progress.tscn").instantiate()
var take_sound: PlayRandom = preload("res://audio/play_random.tscn").instantiate()
var put_sound: PlayRandom = preload("res://audio/play_random.tscn").instantiate()
+var sound_id
func _init(owned_by_: Node3D):
progress_instance.position.y = 1
@@ -50,8 +51,8 @@ func finish(_warn: bool):
progress_instance.visible = false
func setup_sounds():
- take_sound.setup([preload("res://map/sounds/generic_up.ogg")])
- put_sound.setup([preload("res://map/sounds/plate_down.ogg")])
+ take_sound.setup([preload("res://map/items/sounds/generic_take.ogg")])
+ put_sound.setup([preload("res://map/items/sounds/plate_put.ogg")])
func take():
take_sound.play_random()
diff --git a/client/map/items/plate.gd b/client/map/items/plate.gd
index 9d2fe538..73ffc5d9 100644
--- a/client/map/items/plate.gd
+++ b/client/map/items/plate.gd
@@ -21,8 +21,8 @@ func _init(owned_by_: Node3D):
add_child(load("res://map/items/plate.tscn").instantiate())
func setup_sounds():
- take_sound.setup([preload("res://map/sounds/plate_up.ogg")])
- put_sound.setup([preload("res://map/sounds/plate_down.ogg")])
+ take_sound.setup([preload("res://map/items/sounds/plate_take.ogg")])
+ put_sound.setup([preload("res://map/items/sounds/plate_put.ogg")])
static func base_position() -> Vector3:
return Vector3(0., 0.05, 0.)
diff --git a/client/map/items/pot.gd b/client/map/items/pot.gd
index 89cbf4c4..e802b7e9 100644
--- a/client/map/items/pot.gd
+++ b/client/map/items/pot.gd
@@ -35,5 +35,9 @@ func finish(warn: bool):
super(warn)
steam.emitting = false
+func setup_sounds():
+ take_sound.setup([preload("res://map/items/sounds/pot_take.ogg")])
+ put_sound.setup([preload("res://map/items/sounds/pot_put.ogg")])
+
static func base_position() -> Vector3:
return Vector3(0., 0.015, 0.)
diff --git a/client/map/items/sounds/food_processor_running.ogg b/client/map/items/sounds/food_processor_running.ogg
new file mode 100644
index 00000000..10ebaf90
--- /dev/null
+++ b/client/map/items/sounds/food_processor_running.ogg
Binary files differ
diff --git a/client/map/items/sounds/food_processor_running.ogg.import b/client/map/items/sounds/food_processor_running.ogg.import
new file mode 100644
index 00000000..d16ab2a5
--- /dev/null
+++ b/client/map/items/sounds/food_processor_running.ogg.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://rxjywx4vm0v8"
+path="res://.godot/imported/food_processor_running.ogg-6506a6a5653ba2f2b6b730a02c0666b6.oggvorbisstr"
+
+[deps]
+
+source_file="res://map/items/sounds/food_processor_running.ogg"
+dest_files=["res://.godot/imported/food_processor_running.ogg-6506a6a5653ba2f2b6b730a02c0666b6.oggvorbisstr"]
+
+[params]
+
+loop=true
+loop_offset=0.0
+bpm=0.0
+beat_count=0
+bar_beats=4
diff --git a/client/map/items/sounds/food_processor_stopping.ogg b/client/map/items/sounds/food_processor_stopping.ogg
new file mode 100644
index 00000000..471e264a
--- /dev/null
+++ b/client/map/items/sounds/food_processor_stopping.ogg
Binary files differ
diff --git a/client/map/items/sounds/food_processor_stopping.ogg.import b/client/map/items/sounds/food_processor_stopping.ogg.import
new file mode 100644
index 00000000..88ad40f0
--- /dev/null
+++ b/client/map/items/sounds/food_processor_stopping.ogg.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://dghbc6sebonde"
+path="res://.godot/imported/food_processor_stopping.ogg-ff77c875a73e7d6e0dc852e7de936ae8.oggvorbisstr"
+
+[deps]
+
+source_file="res://map/items/sounds/food_processor_stopping.ogg"
+dest_files=["res://.godot/imported/food_processor_stopping.ogg-ff77c875a73e7d6e0dc852e7de936ae8.oggvorbisstr"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/client/map/sounds/generic_down.ogg b/client/map/items/sounds/generic_put.ogg
index 2646fc02..2646fc02 100644
--- a/client/map/sounds/generic_down.ogg
+++ b/client/map/items/sounds/generic_put.ogg
Binary files differ
diff --git a/client/map/items/sounds/generic_put.ogg.import b/client/map/items/sounds/generic_put.ogg.import
new file mode 100644
index 00000000..c3c06725
--- /dev/null
+++ b/client/map/items/sounds/generic_put.ogg.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://74413o382cgr"
+path="res://.godot/imported/generic_put.ogg-71f756ad7da95a854dc079b882d88098.oggvorbisstr"
+
+[deps]
+
+source_file="res://map/items/sounds/generic_put.ogg"
+dest_files=["res://.godot/imported/generic_put.ogg-71f756ad7da95a854dc079b882d88098.oggvorbisstr"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/client/map/sounds/generic_up.ogg b/client/map/items/sounds/generic_take.ogg
index 89577f19..89577f19 100644
--- a/client/map/sounds/generic_up.ogg
+++ b/client/map/items/sounds/generic_take.ogg
Binary files differ
diff --git a/client/map/items/sounds/generic_take.ogg.import b/client/map/items/sounds/generic_take.ogg.import
new file mode 100644
index 00000000..90ee9e85
--- /dev/null
+++ b/client/map/items/sounds/generic_take.ogg.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://dimmyptj1wxlm"
+path="res://.godot/imported/generic_take.ogg-58b7a86e64dc39c372d275df9a89f825.oggvorbisstr"
+
+[deps]
+
+source_file="res://map/items/sounds/generic_take.ogg"
+dest_files=["res://.godot/imported/generic_take.ogg-58b7a86e64dc39c372d275df9a89f825.oggvorbisstr"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/client/map/items/sounds/plate_put.ogg b/client/map/items/sounds/plate_put.ogg
new file mode 100644
index 00000000..17059fa1
--- /dev/null
+++ b/client/map/items/sounds/plate_put.ogg
Binary files differ
diff --git a/client/map/items/sounds/plate_put.ogg.import b/client/map/items/sounds/plate_put.ogg.import
new file mode 100644
index 00000000..e748930c
--- /dev/null
+++ b/client/map/items/sounds/plate_put.ogg.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://bmsdt2xav3dfi"
+path="res://.godot/imported/plate_put.ogg-4e332f97bec21a96276803836308400a.oggvorbisstr"
+
+[deps]
+
+source_file="res://map/items/sounds/plate_put.ogg"
+dest_files=["res://.godot/imported/plate_put.ogg-4e332f97bec21a96276803836308400a.oggvorbisstr"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/client/map/items/sounds/plate_take.ogg b/client/map/items/sounds/plate_take.ogg
new file mode 100644
index 00000000..4ee7fd37
--- /dev/null
+++ b/client/map/items/sounds/plate_take.ogg
Binary files differ
diff --git a/client/map/items/sounds/plate_take.ogg.import b/client/map/items/sounds/plate_take.ogg.import
new file mode 100644
index 00000000..c8f13933
--- /dev/null
+++ b/client/map/items/sounds/plate_take.ogg.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://dytee1arrjb2j"
+path="res://.godot/imported/plate_take.ogg-dd95f70134d26571c8fd012af38d2e8a.oggvorbisstr"
+
+[deps]
+
+source_file="res://map/items/sounds/plate_take.ogg"
+dest_files=["res://.godot/imported/plate_take.ogg-dd95f70134d26571c8fd012af38d2e8a.oggvorbisstr"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/client/map/items/sounds/pot_put.ogg b/client/map/items/sounds/pot_put.ogg
new file mode 100644
index 00000000..13e1abf9
--- /dev/null
+++ b/client/map/items/sounds/pot_put.ogg
Binary files differ
diff --git a/client/map/items/sounds/pot_put.ogg.import b/client/map/items/sounds/pot_put.ogg.import
new file mode 100644
index 00000000..363d3784
--- /dev/null
+++ b/client/map/items/sounds/pot_put.ogg.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://dfmty54bviifx"
+path="res://.godot/imported/pot_put.ogg-1c886ef2769ab239bdd47fb1253a9552.oggvorbisstr"
+
+[deps]
+
+source_file="res://map/items/sounds/pot_put.ogg"
+dest_files=["res://.godot/imported/pot_put.ogg-1c886ef2769ab239bdd47fb1253a9552.oggvorbisstr"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/client/map/items/sounds/pot_take.ogg b/client/map/items/sounds/pot_take.ogg
new file mode 100644
index 00000000..2736101b
--- /dev/null
+++ b/client/map/items/sounds/pot_take.ogg
Binary files differ
diff --git a/client/map/items/sounds/pot_take.ogg.import b/client/map/items/sounds/pot_take.ogg.import
new file mode 100644
index 00000000..4e8e0f4f
--- /dev/null
+++ b/client/map/items/sounds/pot_take.ogg.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://cpeig1y5bsar2"
+path="res://.godot/imported/pot_take.ogg-d1e77bdb4ef71d0a80a6b45ecef61ed6.oggvorbisstr"
+
+[deps]
+
+source_file="res://map/items/sounds/pot_take.ogg"
+dest_files=["res://.godot/imported/pot_take.ogg-d1e77bdb4ef71d0a80a6b45ecef61ed6.oggvorbisstr"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/client/map/sounds/generic_down.ogg.import b/client/map/sounds/generic_down.ogg.import
deleted file mode 100644
index 8bdaf0da..00000000
--- a/client/map/sounds/generic_down.ogg.import
+++ /dev/null
@@ -1,19 +0,0 @@
-[remap]
-
-importer="oggvorbisstr"
-type="AudioStreamOggVorbis"
-uid="uid://74413o382cgr"
-path="res://.godot/imported/generic_down.ogg-f6d254ca3073bfe53a9d25f0138ad218.oggvorbisstr"
-
-[deps]
-
-source_file="res://map/sounds/generic_down.ogg"
-dest_files=["res://.godot/imported/generic_down.ogg-f6d254ca3073bfe53a9d25f0138ad218.oggvorbisstr"]
-
-[params]
-
-loop=false
-loop_offset=0
-bpm=0
-beat_count=0
-bar_beats=4
diff --git a/client/map/sounds/generic_up.ogg.import b/client/map/sounds/generic_up.ogg.import
deleted file mode 100644
index 96dab74e..00000000
--- a/client/map/sounds/generic_up.ogg.import
+++ /dev/null
@@ -1,19 +0,0 @@
-[remap]
-
-importer="oggvorbisstr"
-type="AudioStreamOggVorbis"
-uid="uid://dimmyptj1wxlm"
-path="res://.godot/imported/generic_up.ogg-fe69b207b9c1d21d7754ffe5f7b09f51.oggvorbisstr"
-
-[deps]
-
-source_file="res://map/sounds/generic_up.ogg"
-dest_files=["res://.godot/imported/generic_up.ogg-fe69b207b9c1d21d7754ffe5f7b09f51.oggvorbisstr"]
-
-[params]
-
-loop=false
-loop_offset=0
-bpm=0
-beat_count=0
-bar_beats=4
diff --git a/client/map/sounds/plate_down.ogg b/client/map/sounds/plate_down.ogg
deleted file mode 100644
index 0827d902..00000000
--- a/client/map/sounds/plate_down.ogg
+++ /dev/null
Binary files differ
diff --git a/client/map/sounds/plate_down.ogg.import b/client/map/sounds/plate_down.ogg.import
deleted file mode 100644
index 86e34bbf..00000000
--- a/client/map/sounds/plate_down.ogg.import
+++ /dev/null
@@ -1,19 +0,0 @@
-[remap]
-
-importer="oggvorbisstr"
-type="AudioStreamOggVorbis"
-uid="uid://dy4bab6rn1cyu"
-path="res://.godot/imported/plate_down.ogg-97c6d5277190ef2a4619a7c4fee5a3bb.oggvorbisstr"
-
-[deps]
-
-source_file="res://map/sounds/plate_down.ogg"
-dest_files=["res://.godot/imported/plate_down.ogg-97c6d5277190ef2a4619a7c4fee5a3bb.oggvorbisstr"]
-
-[params]
-
-loop=false
-loop_offset=0
-bpm=0
-beat_count=0
-bar_beats=4
diff --git a/client/map/sounds/plate_up.ogg b/client/map/sounds/plate_up.ogg
deleted file mode 100644
index 21a96811..00000000
--- a/client/map/sounds/plate_up.ogg
+++ /dev/null
Binary files differ
diff --git a/client/map/sounds/plate_up.ogg.import b/client/map/sounds/plate_up.ogg.import
deleted file mode 100644
index 5f2128e4..00000000
--- a/client/map/sounds/plate_up.ogg.import
+++ /dev/null
@@ -1,19 +0,0 @@
-[remap]
-
-importer="oggvorbisstr"
-type="AudioStreamOggVorbis"
-uid="uid://dyt45wi23lmmh"
-path="res://.godot/imported/plate_up.ogg-321cdd38fc6e820b2112fd77d567bcc9.oggvorbisstr"
-
-[deps]
-
-source_file="res://map/sounds/plate_up.ogg"
-dest_files=["res://.godot/imported/plate_up.ogg-321cdd38fc6e820b2112fd77d567bcc9.oggvorbisstr"]
-
-[params]
-
-loop=false
-loop_offset=0
-bpm=0
-beat_count=0
-bar_beats=4
diff --git a/client/menu/overlay.gd b/client/menu/overlay.gd
index 58e1415c..66ee8976 100644
--- a/client/menu/overlay.gd
+++ b/client/menu/overlay.gd
@@ -33,6 +33,10 @@ func update(failed_: int, completed_: int, points_: int, time: float):
if timer.is_stopped():
timer.start()
+func reset():
+ hide()
+ timer.stop()
+
func _process(delta):
failed_label.scale = Global.interpolate(failed_label.scale, Vector2(1, 1), delta * 4.)
completed_label.scale = Global.interpolate(completed_label.scale, Vector2(1, 1), delta * 4.)
diff --git a/client/menu/settings.gd b/client/menu/settings.gd
index efd462ca..1835d620 100644
--- a/client/menu/settings.gd
+++ b/client/menu/settings.gd
@@ -19,8 +19,7 @@ extends Menu
func _on_back_pressed():
Global.save_settings()
- Global.update_language()
- Global.update_fullscreen()
+ Global.apply_settings()
exit()
func _ready():
diff --git a/client/player/controllable_player.gd b/client/player/controllable_player.gd
index 82365b83..8ba11097 100644
--- a/client/player/controllable_player.gd
+++ b/client/player/controllable_player.gd
@@ -138,6 +138,10 @@ func update_position(_new_position: Vector2, _new_rotation: float):
func submit_message(text: String):
game.mp.send_chat(text)
+func progress(p: float, warn: bool):
+ super(p, warn)
+ Input.start_joy_vibration(0, 0.5, 0.1, 0.15)
+
func interact():
var tile = game.map.get_tile_instance(target)
if tile != null:
diff --git a/client/project.godot b/client/project.godot
index 48b6523e..d1518e25 100644
--- a/client/project.godot
+++ b/client/project.godot
@@ -148,6 +148,5 @@ locale/translations_pot_files=PackedStringArray("res://menu/main_menu.tscn", "re
[rendering]
textures/vram_compression/import_etc2_astc=true
-anti_aliasing/quality/msaa_2d=2
-anti_aliasing/quality/msaa_3d=2
-anti_aliasing/quality/use_taa=true
+anti_aliasing/quality/msaa_2d=1
+anti_aliasing/quality/msaa_3d=1