aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2024-06-29 21:42:17 +0200
committermetamuffin <metamuffin@disroot.org>2024-06-29 21:42:17 +0200
commitc0f9942cd4562b169a4dddfdc083e505dc465830 (patch)
treeabfaaf02350a5fbb4f4e90787f1c45055e024812
parent95e008d419053a53e5e32c36751fae40eeec3725 (diff)
parent4e04980ea7d4548a305586ebf3fe9607c0840bd5 (diff)
downloadhurrycurry-c0f9942cd4562b169a4dddfdc083e505dc465830.tar
hurrycurry-c0f9942cd4562b169a4dddfdc083e505dc465830.tar.bz2
hurrycurry-c0f9942cd4562b169a4dddfdc083e505dc465830.tar.zst
Merge branch 'master' of https://codeberg.org/metamuffin/undercooked
-rw-r--r--client/game.gd1
-rw-r--r--client/global.gd6
-rw-r--r--client/menu/credits_menu.gd11
-rw-r--r--client/menu/menu_manager.gd16
-rw-r--r--client/menu/menu_manager.tscn10
-rw-r--r--client/menu/settings_menu.gd8
-rw-r--r--client/menu/sounds/click.oggbin0 -> 24573 bytes
-rw-r--r--client/menu/sounds/click.ogg.import19
-rw-r--r--client/menu/sounds/hover.oggbin0 -> 15692 bytes
-rw-r--r--client/menu/sounds/hover.ogg.import19
-rw-r--r--client/player/player.gd1
-rw-r--r--client/po/de.po137
-rw-r--r--client/project.godot2
13 files changed, 219 insertions, 11 deletions
diff --git a/client/game.gd b/client/game.gd
index a2893cc8..37dc4e99 100644
--- a/client/game.gd
+++ b/client/game.gd
@@ -104,6 +104,7 @@ func _ready():
mp.set_tile_item.connect(func(tile: Vector2i, item: int):
var t: Tile = map.get_tile_instance(tile)
var i = ItemFactory.produce(item_names[item], t.item_base)
+ i.position = t.item_base.global_position
add_child(i)
i.name = item_names[item]
t.set_item(i)
diff --git a/client/global.gd b/client/global.gd
index 427809be..b9f35b6b 100644
--- a/client/global.gd
+++ b/client/global.gd
@@ -21,10 +21,10 @@ extends Node
# "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
# as the index for the respecitve element in the "options" array.
-# "apply": Only for type "dropdown_preset": A dictionary to override all other settings.
-# "min" and "max": Only for type "range": The min and max values.
+# (Optional: Only when type "dropdown_preset") "apply": A dictionary to override all other settings.
+# (Optional: Only when type "range") "min" and "max": The min and max values.
# "description": The setting name displayed in the settings menu.
-# (Optional: Only when type = "dropdown") "options": An array which contains all
+# (Optional: Only when type "dropdown") "options": An array which contains all
# possible values.
const DEFAULT_PROFILE := {
diff --git a/client/menu/credits_menu.gd b/client/menu/credits_menu.gd
index ece061ec..e8abedb5 100644
--- a/client/menu/credits_menu.gd
+++ b/client/menu/credits_menu.gd
@@ -20,6 +20,9 @@ var cc_0 := ["kenney.nl", "Kay Lousberg"]
var cc_by_3 := {
"Glasses": "Jeremy Edelblut"
}
+var cc_by_4 := {
+ "Universal UI/Menu Soundpack": "Ellr"
+}
@onready var menu_manager: MenuManager = get_parent()
@onready var label = $MarginContainer/Panel/MarginContainer/VBoxContainer/RichTextLabel
@@ -36,10 +39,16 @@ func prepare():
for k in cc_by_3.keys():
var v = cc_by_3[k]
- label.text += "[b]\"%s\" %s[/b]\n" % [k, v]
+ label.text += "[b]\"%s\" by %s[/b]\n" % [k, v]
label.text += tr("Licensed under Creative Commons: By Attribution 3.0 License")
label.text += "\nhttps://creativecommons.org/licenses/by/3.0/\n\n"
+ for k in cc_by_4.keys():
+ var v = cc_by_4[k]
+ label.text += "[b]\"%s\" by %s[/b]\n" % [k, v]
+ label.text += tr("Licensed under Creative Commons: By Attribution 4.0 License")
+ label.text += "\nhttps://creativecommons.org/licenses/by/4.0/\n\n"
+
label.text += "[b]"
label.text += tr("Additional CC0 assets by:")
label.text += "[/b]\n"
diff --git a/client/menu/menu_manager.gd b/client/menu/menu_manager.gd
index 907f23e7..c15f181f 100644
--- a/client/menu/menu_manager.gd
+++ b/client/menu/menu_manager.gd
@@ -8,17 +8,25 @@ class_name MenuManager
}
@onready var transition = $SceneTransition
+@onready var hover_sound = $Hover
+@onready var click_sound = $Click
+
var menu_stack = ["main"]
+
func _ready():
Global.focus_first_button(menus[menu_stack.back()])
+ for m in menus.values():
+ connect_button_sounds(m)
+
if Global.fade_next:
Global.fade_next = false
transition.fade_in()
func _input(_event):
if Input.is_action_just_pressed("ui_cancel") && menu_stack.size() > 1:
+ play_click()
go_back()
func goto(menu_name: String):
@@ -45,3 +53,11 @@ func show_menu(menu_name: String):
menus[k].hide()
await transition.fade_in()
+func connect_button_sounds(node: Node):
+ if node is Button:
+ node.pressed.connect(play_click)
+ for c in node.get_children():
+ connect_button_sounds(c)
+
+func play_click():
+ click_sound.play()
diff --git a/client/menu/menu_manager.tscn b/client/menu/menu_manager.tscn
index 56cc6442..c6959407 100644
--- a/client/menu/menu_manager.tscn
+++ b/client/menu/menu_manager.tscn
@@ -1,4 +1,4 @@
-[gd_scene load_steps=7 format=3 uid="uid://cd52sr1cmo8oj"]
+[gd_scene load_steps=9 format=3 uid="uid://cd52sr1cmo8oj"]
[ext_resource type="Script" path="res://menu/menu_manager.gd" id="1_c0rjm"]
[ext_resource type="PackedScene" uid="uid://l4vm07dtda4j" path="res://menu/menu_background.tscn" id="2_nf7b6"]
@@ -6,6 +6,8 @@
[ext_resource type="PackedScene" uid="uid://7mqbxa054bjv" path="res://menu/credits_menu.tscn" id="4_xhcd8"]
[ext_resource type="PackedScene" uid="uid://8ic77jmadadj" path="res://menu/settings_menu.tscn" id="5_lifj8"]
[ext_resource type="PackedScene" uid="uid://bg2d78ycorcqk" path="res://menu/scene_transition.tscn" id="6_p4u45"]
+[ext_resource type="AudioStream" uid="uid://dtr1khfyqr56o" path="res://menu/sounds/hover.ogg" id="7_82cmi"]
+[ext_resource type="AudioStream" uid="uid://cpyn511c5mtni" path="res://menu/sounds/click.ogg" id="8_qwknj"]
[node name="MenuManager" type="Control"]
layout_mode = 3
@@ -32,3 +34,9 @@ layout_mode = 1
[node name="SceneTransition" parent="." instance=ExtResource("6_p4u45")]
visible = false
layout_mode = 1
+
+[node name="Hover" type="AudioStreamPlayer" parent="."]
+stream = ExtResource("7_82cmi")
+
+[node name="Click" type="AudioStreamPlayer" parent="."]
+stream = ExtResource("8_qwknj")
diff --git a/client/menu/settings_menu.gd b/client/menu/settings_menu.gd
index 4c14a459..68f3f2fc 100644
--- a/client/menu/settings_menu.gd
+++ b/client/menu/settings_menu.gd
@@ -32,7 +32,7 @@ func _ready():
func show_graphis():
menu_manager.goto("settings_graphics")
-func update_rows():
+func update_rows(fix_focus = false):
for c in options.get_children():
c.queue_free()
@@ -43,6 +43,10 @@ func update_rows():
row.connect("apply_preset", apply_preset)
options.add_child(row)
settings[k] = row
+
+ if fix_focus:
+ await get_tree().process_frame
+ Global.focus_first_button(self)
func apply_preset(preset: Dictionary):
for k in settings.keys():
@@ -51,4 +55,4 @@ func apply_preset(preset: Dictionary):
for k in preset.keys():
Global.settings[k]["value"] = preset[k]
- update_rows()
+ update_rows(true)
diff --git a/client/menu/sounds/click.ogg b/client/menu/sounds/click.ogg
new file mode 100644
index 00000000..db4aaf4e
--- /dev/null
+++ b/client/menu/sounds/click.ogg
Binary files differ
diff --git a/client/menu/sounds/click.ogg.import b/client/menu/sounds/click.ogg.import
new file mode 100644
index 00000000..965b171a
--- /dev/null
+++ b/client/menu/sounds/click.ogg.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://cpyn511c5mtni"
+path="res://.godot/imported/click.ogg-e2bf88f5afe364b816ac9ff7e76a0967.oggvorbisstr"
+
+[deps]
+
+source_file="res://menu/sounds/click.ogg"
+dest_files=["res://.godot/imported/click.ogg-e2bf88f5afe364b816ac9ff7e76a0967.oggvorbisstr"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/client/menu/sounds/hover.ogg b/client/menu/sounds/hover.ogg
new file mode 100644
index 00000000..17d414ca
--- /dev/null
+++ b/client/menu/sounds/hover.ogg
Binary files differ
diff --git a/client/menu/sounds/hover.ogg.import b/client/menu/sounds/hover.ogg.import
new file mode 100644
index 00000000..b83eab9d
--- /dev/null
+++ b/client/menu/sounds/hover.ogg.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://dtr1khfyqr56o"
+path="res://.godot/imported/hover.ogg-45eb1351c35b416453fb2a6674b9d0f1.oggvorbisstr"
+
+[deps]
+
+source_file="res://menu/sounds/hover.ogg"
+dest_files=["res://.godot/imported/hover.ogg-45eb1351c35b416453fb2a6674b9d0f1.oggvorbisstr"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/client/player/player.gd b/client/player/player.gd
index 75e3861e..b47216d6 100644
--- a/client/player/player.gd
+++ b/client/player/player.gd
@@ -45,6 +45,7 @@ const HAND_BASE_POSITION: Vector3 = Vector3(0, .25, .4)
func _init(_id: int, new_name: String, pos: Vector2, new_character_idx: int, new_game: Game):
add_child(character)
position_ = pos
+ position_anim = pos
name = new_name
game = new_game
diff --git a/client/po/de.po b/client/po/de.po
index 047f24cb..ab44e021 100644
--- a/client/po/de.po
+++ b/client/po/de.po
@@ -18,6 +18,47 @@ msgstr ""
"X-Generator: Poedit 3.4.4\n"
#: menu/main_menu.tscn
+msgid "Stop Server"
+msgstr "Server stoppen"
+
+#: menu/main_menu.tscn
+msgid "Server (Testing)"
+msgstr "Server (Prüfe)"
+
+#: menu/main_menu.tscn
+msgid "Server is starting..."
+msgstr "Server startet..."
+
+#: menu/main_menu.tscn
+msgid "Start Server"
+msgstr "Server starten"
+
+#: menu/main_menu.tscn
+msgid "Server (Failed)"
+msgstr "Server (Fehlgeschlagen)"
+
+#: menu/main_menu.tscn
+msgid ""
+"The server crashed or exited in some way or another.\n"
+"Godot's APIs are so bad however, that we really can't know why that "
+"happend.\n"
+"You should try starting the server from the command-line."
+msgstr ""
+"Der Server ist abgestürzt oder hat sich beendet\n"
+"Godots Programmierschnittstellen sind jedoch zu unpräzise, um zu wissen, was "
+"genau passiert ist.\n"
+"Versuchen Sie, den Server aus der Kommandozeile zu starten."
+
+#: menu/main_menu.tscn
+msgid "Server (Unavailable)"
+msgstr "Server (Nicht verfügbar)"
+
+#: menu/main_menu.tscn
+msgid "Server binary was not found. Please install the server seperately."
+msgstr ""
+"Server wurde nicht gefunden, bitte installieren Sie den Server getrennt."
+
+#: menu/main_menu.tscn
msgid "Quick Connect"
msgstr "Jetzt verbinden"
@@ -34,10 +75,14 @@ msgid "Settings"
msgstr "Einstellungen"
#: menu/main_menu.tscn
+msgid "Server"
+msgstr "Server"
+
+#: menu/main_menu.tscn
msgid "Credits"
msgstr "Anerkennung"
-#: menu/main_menu.tscn menu/ingame_menu.tscn
+#: menu/main_menu.tscn
msgid "Quit"
msgstr "Verlassen"
@@ -114,20 +159,106 @@ msgid "Reconnect"
msgstr "Erneut verbinden"
#: menu/ingame_menu.tscn
-msgid "Main Menu"
+msgid "Main menu"
msgstr "Hauptmenü"
+#: menu/ingame_menu.tscn
+msgid "Quit game"
+msgstr "Verlassen"
+
#: global.gd
msgid "Interpolate the camera rotation"
msgstr "Kameradrehung interpolieren"
#: global.gd
-msgid "Just a test value"
+msgid "Server binary (leave empty to search PATH)"
+msgstr "Pfad zum Server (leer lassen, um PATH zu durchsuchen)"
+
+#: global.gd
+msgid "Server data directory (leave empty to auto-detect)"
+msgstr "Server Datenverzeichnis (leer lassen, um automatisch zu erkennen)"
+
+#: global.gd
+msgid "Low"
+msgstr "Niedrig"
+
+#: global.gd
+msgid "Medium"
+msgstr "Mittel"
+
+#: global.gd
+msgid "High"
+msgstr "Hoch"
+
+#: global.gd
+msgid "Ultra"
+msgstr "Ultra"
+
+#: global.gd
+msgid "Graphics preset"
+msgstr "Grafikvoreinstellung"
+
+#: global.gd
+msgid "Use VoxelGI (Blocks the game on map update)"
+msgstr "VoxelGI verwenden (blockiert das Spiel, wenn die Map sich verändert)"
+
+#: global.gd
+msgid "Use SDFGI (Doesn't block the game but is more resource-hungry)"
msgstr ""
+"SDFGI verwenden (blockiert das Spiel nicht, ist aber weniger "
+"Ressourcenschonend)"
+
+#: global.gd
+msgid "3D grass amount per grass tile"
+msgstr "3D-Grasmenge pro Tile"
#: menu/settings_menu.tscn
msgid "Back to Main Menu"
msgstr "Zurück zum Hauptmenü"
+#: menu/setup_menu.tscn
+msgid "EMPLOYMENT CONTRACT"
+msgstr "ARBEITSVERTRAG"
+
+#: menu/setup_menu.tscn
+msgid "1. [b]Name of the Employee[/b]"
+msgstr "1. [b]Name der angestellten Person[/b]"
+
+#: menu/setup_menu.tscn
+msgid ""
+"2. [b]Working Uniform.[/b] You must always have one of the following "
+"hairstyles."
+msgstr ""
+"2. [b]Arbeitsuniform.[/b] Sie müssen immer eine der folgenden Frisuren "
+"tragen."
+
+#: menu/setup_menu.tscn
+msgid "Hairstyle 1"
+msgstr "Frisur 1"
+
+#: menu/setup_menu.tscn
+msgid "Hairstyle 2"
+msgstr "Frisur 2"
+
+#: menu/setup_menu.tscn
+msgid "Hairstyle 3"
+msgstr "Frisur 3"
+
+#: menu/setup_menu.tscn
+msgid ""
+"2. [b]Duties.[/b] It is your duty to serve customers the meal or item that "
+"they request.\n"
+msgstr ""
+"2. [b]Pflichten.[/b] Es ist ihre Pflicht, die bestellten Mahlzeiten zu "
+"servieren.\n"
+
+#: menu/setup_menu.tscn
+msgid ""
+"3. [b]Additional Terms.[/b] You shall not duplicate plates. (That is [u]NOT[/"
+"u] possible!)\n"
+msgstr ""
+"3. [b]Zusätzliche Richtlinien.[/b] Sie dürfen keine Teller duplizieren. (Das "
+"ist [u]NICHT[/u] möglich!)\n"
+
#~ msgid "This textbox is useless."
#~ msgstr "Diese Textbox ist nutzlos."
diff --git a/client/project.godot b/client/project.godot
index 59515f71..d595d655 100644
--- a/client/project.godot
+++ b/client/project.godot
@@ -128,7 +128,7 @@ chat={
[internationalization]
locale/translations=PackedStringArray("res://po/de.po")
-locale/translations_pot_files=PackedStringArray("res://menu/main_menu.tscn", "res://menu/character_menu.tscn", "res://menu/credits_menu.tscn", "res://menu/error_menu.tscn", "res://menu/ingame_menu.tscn", "res://global.gd", "res://menu/settings_menu.tscn", "res://menu/credits_menu.gd")
+locale/translations_pot_files=PackedStringArray("res://menu/main_menu.tscn", "res://menu/character_menu.tscn", "res://menu/credits_menu.tscn", "res://menu/error_menu.tscn", "res://menu/ingame_menu.tscn", "res://global.gd", "res://menu/settings_menu.tscn", "res://menu/credits_menu.gd", "res://menu/setup_menu.tscn")
[rendering]