aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2024-07-14 19:02:47 +0200
committermetamuffin <metamuffin@disroot.org>2024-07-14 19:02:47 +0200
commit721b9ecb282f84839eb096de4d269176f8ab389f (patch)
tree1471e5395f80d9aeb04d19ea00436fe628820456
parent52f422a01be059a120908a8d1f63335116ccf0e1 (diff)
parent3da43172332caf76e111639281c81916e7202c4b (diff)
downloadhurrycurry-721b9ecb282f84839eb096de4d269176f8ab389f.tar
hurrycurry-721b9ecb282f84839eb096de4d269176f8ab389f.tar.bz2
hurrycurry-721b9ecb282f84839eb096de4d269176f8ab389f.tar.zst
Merge branch 'master' of codeberg.org:hurrycurry/hurrycurry
-rw-r--r--client/game.gd14
-rw-r--r--client/game.tscn21
-rw-r--r--client/map/items/bread.gd13
-rw-r--r--client/map/items/steam.tscn1
-rw-r--r--client/map/progress.gdshader26
-rw-r--r--client/map/tiles/conveyor_direction.gdshader14
-rw-r--r--client/menu/blur_mix.gdshader4
-rw-r--r--client/menu/game.gd10
-rw-r--r--client/menu/game.tscn20
-rw-r--r--client/menu/grayscale.gdshader8
-rw-r--r--client/menu/lobby.gd1
-rw-r--r--client/menu/menu_background.gdshader20
-rw-r--r--client/menu/popup_message.gd5
-rw-r--r--client/menu/popup_message.tscn4
-rw-r--r--client/menu/setup.tscn2
-rw-r--r--client/player/interact_marker.gdshader36
-rw-r--r--client/po/de.po103
17 files changed, 194 insertions, 108 deletions
diff --git a/client/game.gd b/client/game.gd
index ccc72e11..c18f8d67 100644
--- a/client/game.gd
+++ b/client/game.gd
@@ -42,11 +42,10 @@ var players := {}
@onready var camera: FollowCamera = $FollowCamera
@onready var mp: Multiplayer = $Multiplayer
@onready var map: Map = $Map
-@onready var environment = $WorldEnvironment
-@onready var debug_label = $Debug
-@onready var overlay = $Overlay
-@onready var lobby = $"../Lobby"
-@onready var popup_message: PopupMessage = $PopupMessage
+@onready var environment: WorldEnvironment = $WorldEnvironment
+@onready var lobby: Lobby = $"../Lobby"
+@onready var overlay: Overlay = $"../Overlay"
+@onready var popup_message: PopupMessage = $"../PopupMessage"
func _ready():
if !Global.on_vulkan():
@@ -256,11 +255,6 @@ func _process(delta):
if is_replay and mp != null:
mp.send_replay_tick(delta)
- if Global.get_setting("debug_info"):
- debug_label.show()
- debug_label.text = "%d FPS" % Engine.get_frames_per_second()
- else: debug_label.hide()
-
func get_tile_collision(pos: Vector2i) -> bool:
var t = map.get_tile_name(pos)
if t == null: return true
diff --git a/client/game.tscn b/client/game.tscn
index 82fef27a..345a35b8 100644
--- a/client/game.tscn
+++ b/client/game.tscn
@@ -1,4 +1,4 @@
-[gd_scene load_steps=12 format=3 uid="uid://c6krh36hoqfg8"]
+[gd_scene load_steps=10 format=3 uid="uid://c6krh36hoqfg8"]
[ext_resource type="Script" path="res://game.gd" id="1_sftfn"]
[ext_resource type="PackedScene" uid="uid://b31mlnao6ybt8" path="res://player/follow_camera.tscn" id="2_s8y6o"]
@@ -6,8 +6,6 @@
[ext_resource type="Script" path="res://map/auto_setup/light_setup.gd" id="5_6fpff"]
[ext_resource type="Script" path="res://multiplayer.gd" id="6_fbxu8"]
[ext_resource type="PackedScene" uid="uid://b4gone8fu53r7" path="res://map/map.tscn" id="6_prg6t"]
-[ext_resource type="PackedScene" uid="uid://bpikve6wlsjfl" path="res://menu/overlay.tscn" id="7_7xrr6"]
-[ext_resource type="PackedScene" uid="uid://b21nrnkygiyjt" path="res://menu/popup_message.tscn" id="9_l5d71"]
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_py7px"]
ground_bottom_color = Color(0.0826605, 0.065772, 0.0461518, 1)
@@ -47,20 +45,3 @@ script = ExtResource("5_6fpff")
[node name="Map" parent="." instance=ExtResource("6_prg6t")]
[node name="Center" type="Node3D" parent="."]
-
-[node name="Overlay" parent="." instance=ExtResource("7_7xrr6")]
-offset_left = -280.0
-offset_bottom = 102.0
-
-[node name="Debug" type="RichTextLabel" parent="."]
-visible = false
-anchors_preset = 15
-anchor_right = 1.0
-anchor_bottom = 1.0
-grow_horizontal = 2
-grow_vertical = 2
-mouse_filter = 2
-theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
-theme_override_constants/outline_size = 5
-
-[node name="PopupMessage" parent="." instance=ExtResource("9_l5d71")]
diff --git a/client/map/items/bread.gd b/client/map/items/bread.gd
index b049b450..b5143c53 100644
--- a/client/map/items/bread.gd
+++ b/client/map/items/bread.gd
@@ -16,6 +16,19 @@
class_name Bread
extends Item
+var steam: CPUParticles3D = preload("res://map/items/steam.tscn").instantiate()
+
func _init(owned_by_: Node3D):
super(owned_by_)
base.add_child(load("res://map/items/bread.tscn").instantiate())
+ steam.position.y += .1
+ steam.color = Color(.6, .6, .6, .4)
+ base.add_child(steam)
+
+func progress(p: float, warn: bool):
+ super(p, warn)
+ steam.emitting = warn
+
+func finish(warn: bool):
+ super(warn)
+ steam.emitting = false
diff --git a/client/map/items/steam.tscn b/client/map/items/steam.tscn
index 4a112278..a6114124 100644
--- a/client/map/items/steam.tscn
+++ b/client/map/items/steam.tscn
@@ -1,6 +1,7 @@
[gd_scene load_steps=4 format=3 uid="uid://g1wsqgb56o1o"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_e1q7j"]
+transparency = 1
vertex_color_use_as_albedo = true
[sub_resource type="SphereMesh" id="SphereMesh_mk24m"]
diff --git a/client/map/progress.gdshader b/client/map/progress.gdshader
index 2ce33dd6..a5ebf575 100644
--- a/client/map/progress.gdshader
+++ b/client/map/progress.gdshader
@@ -1,6 +1,6 @@
/*
Hurry Curry! - a game about cooking
- Copyright 2024 metamuffin
+ Copyright 2024 nokoe
Copyright 2024 tpart
This program is free software: you can redistribute it and/or modify
@@ -23,18 +23,18 @@ uniform float progress = 0.;
uniform bool bad = false;
void fragment() {
- vec3 color = vec3(0., .5, 0.);
- float alpha_fac = 1.;
- if (bad) {
- color = vec3(1., 0., 0.);
- alpha_fac = sin(TIME * 15.) * .5 + 1.;
- }
- if (UV.x > progress) {
- ALPHA = 1.;
- color = vec3(0.1, 0.1, 0.1);
- }
- ALPHA *= alpha_fac;
- ALBEDO = color;
+ vec3 color = vec3(0., .5, 0.);
+ float alpha_fac = 1.;
+ if (bad) {
+ color = vec3(progress, 1. - progress, 0.);
+ alpha_fac = (sin(TIME * 15.) + 1.) * .5;
+ }
+ if (UV.x > progress) {
+ ALPHA = 1.;
+ color = vec3(0.1, 0.1, 0.1);
+ }
+ ALPHA *= alpha_fac;
+ ALBEDO = color;
}
void vertex() {
diff --git a/client/map/tiles/conveyor_direction.gdshader b/client/map/tiles/conveyor_direction.gdshader
index 7b3565e6..f2bf8154 100644
--- a/client/map/tiles/conveyor_direction.gdshader
+++ b/client/map/tiles/conveyor_direction.gdshader
@@ -24,11 +24,11 @@ uniform float speed = 1.;
uniform float alpha_fac = 1.;
void fragment() {
- ALBEDO = vec3(1., 1., 0.);
- vec2 uv = UV.xy;
- uv.x = abs(2. * uv.x - 1.);
- float alpha = step(
- mod(uv.y - TIME * speed + angle * uv.x, frequency), width
- );
- ALPHA = alpha * alpha_fac;
+ ALBEDO = vec3(1., 1., 0.);
+ vec2 uv = UV.xy;
+ uv.x = abs(2. * uv.x - 1.);
+ float alpha = step(
+ mod(uv.y - TIME * speed + angle * uv.x, frequency), width
+ );
+ ALPHA = alpha * alpha_fac;
}
diff --git a/client/menu/blur_mix.gdshader b/client/menu/blur_mix.gdshader
index 668ef57d..706903d5 100644
--- a/client/menu/blur_mix.gdshader
+++ b/client/menu/blur_mix.gdshader
@@ -23,6 +23,6 @@ uniform vec4 color_over: source_color;
uniform sampler2D SCREEN_TEXTURE : hint_screen_texture, filter_linear_mipmap;
void fragment() {
- vec4 blurred = textureLod(SCREEN_TEXTURE, SCREEN_UV, blur_amount);
- COLOR = mix(blurred, color_over, mix_amount);
+ vec4 blurred = textureLod(SCREEN_TEXTURE, SCREEN_UV, blur_amount);
+ COLOR = mix(blurred, color_over, mix_amount);
} \ No newline at end of file
diff --git a/client/menu/game.gd b/client/menu/game.gd
index 362bf169..78c01c42 100644
--- a/client/menu/game.gd
+++ b/client/menu/game.gd
@@ -16,6 +16,10 @@
#
extends Menu
+@onready var debug_label = $Debug
+@onready var overlay = $Overlay
+@onready var popup_message: PopupMessage = $PopupMessage
+
func _ready():
get_tree().get_root().connect("go_back_requested", open_ingame_menu)
super()
@@ -24,6 +28,12 @@ func _input(_event):
if Input.is_action_just_pressed("ui_menu"):
open_ingame_menu()
+func _process(delta):
+ if Global.get_setting("debug_info"):
+ debug_label.show()
+ debug_label.text = "%d FPS" % Engine.get_frames_per_second()
+ else: debug_label.hide()
+
func open_ingame_menu():
if popup != null: return
Sound.play_click()
diff --git a/client/menu/game.tscn b/client/menu/game.tscn
index af7f22a8..417aaf96 100644
--- a/client/menu/game.tscn
+++ b/client/menu/game.tscn
@@ -1,8 +1,10 @@
-[gd_scene load_steps=4 format=3 uid="uid://bbjwoxs71fnsk"]
+[gd_scene load_steps=6 format=3 uid="uid://bbjwoxs71fnsk"]
[ext_resource type="Script" path="res://menu/game.gd" id="1_cdpsh"]
[ext_resource type="PackedScene" uid="uid://c6krh36hoqfg8" path="res://game.tscn" id="2_uojcy"]
+[ext_resource type="PackedScene" uid="uid://bpikve6wlsjfl" path="res://menu/overlay.tscn" id="3_i0ytb"]
[ext_resource type="PackedScene" uid="uid://bc50la65ntifb" path="res://menu/lobby.tscn" id="3_udxby"]
+[ext_resource type="PackedScene" uid="uid://b21nrnkygiyjt" path="res://menu/popup_message.tscn" id="5_n1wy0"]
[node name="GameMenu" type="Control"]
layout_mode = 3
@@ -16,5 +18,21 @@ auto_anim = false
[node name="Game" parent="." instance=ExtResource("2_uojcy")]
+[node name="Overlay" parent="." instance=ExtResource("3_i0ytb")]
+layout_mode = 1
+
[node name="Lobby" parent="." instance=ExtResource("3_udxby")]
layout_mode = 1
+
+[node name="Debug" type="RichTextLabel" parent="."]
+visible = false
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+mouse_filter = 1
+
+[node name="PopupMessage" parent="." instance=ExtResource("5_n1wy0")]
+layout_mode = 1
diff --git a/client/menu/grayscale.gdshader b/client/menu/grayscale.gdshader
index 7c11b777..cc132c54 100644
--- a/client/menu/grayscale.gdshader
+++ b/client/menu/grayscale.gdshader
@@ -18,8 +18,8 @@
shader_type canvas_item;
void fragment() {
- float brightness = 0.2126 * COLOR.r + 0.7152 * COLOR.g + 0.0722 * COLOR.b;
- brightness = (brightness - .5) * 2.;
- COLOR.rgb = vec3(brightness);
- COLOR.a *= 1. - brightness;
+ float brightness = 0.2126 * COLOR.r + 0.7152 * COLOR.g + 0.0722 * COLOR.b;
+ brightness = (brightness - .5) * 2.;
+ COLOR.rgb = vec3(brightness);
+ COLOR.a *= 1. - brightness;
}
diff --git a/client/menu/lobby.gd b/client/menu/lobby.gd
index ae7548b7..3c4a6f58 100644
--- a/client/menu/lobby.gd
+++ b/client/menu/lobby.gd
@@ -15,6 +15,7 @@
# along with this program. If not, see <https://www.gnu.org/licenses/>.
#
extends Control
+class_name Lobby
const PLAYER = preload("res://menu/lobby/player.tscn")
diff --git a/client/menu/menu_background.gdshader b/client/menu/menu_background.gdshader
index 763c7b42..e6365dfa 100644
--- a/client/menu/menu_background.gdshader
+++ b/client/menu/menu_background.gdshader
@@ -22,14 +22,14 @@ uniform vec3 ccloud : source_color;
uniform vec3 csky : source_color;
void fragment() {
- vec2 uv = UV * 0.9;
- uv += TIME * vec2(0.001,0.002);
-
- float f = texture(noise, uv).x;
- f = 1. - f;
- f = pow(f, 1.5);
- f = floor(f*5.)/5.;
- f = pow(f, 2.);
-
- ALBEDO = mix(csky, ccloud, f);
+ vec2 uv = UV * 0.9;
+ uv += TIME * vec2(0.001,0.002);
+
+ float f = texture(noise, uv).x;
+ f = 1. - f;
+ f = pow(f, 1.5);
+ f = floor(f*5.)/5.;
+ f = pow(f, 2.);
+
+ ALBEDO = mix(csky, ccloud, f);
}
diff --git a/client/menu/popup_message.gd b/client/menu/popup_message.gd
index 1748f59a..2d707289 100644
--- a/client/menu/popup_message.gd
+++ b/client/menu/popup_message.gd
@@ -32,7 +32,7 @@ var is_joined := false
@onready var reset_timer = $Reset
-@onready var game: Game = get_parent()
+@onready var game: Game = $"../Game"
func _ready():
game.joined.connect(
@@ -112,7 +112,8 @@ func _on_move_timeout():
func _on_interact_timeout():
if not Global.get_hint("has_interacted") and not Global.get_setting("touch_controls"):
- display_hint_msg(tr("Press %s to pick up items and interact with tools") % display_keybind(tr("SPACE"), "A"))
+ var keybind = display_keybind(tr("SPACE"), "A")
+ display_hint_msg(tr("Press %s to pick up items and hold %s to interact with tools") % [keybind, keybind])
func _on_reset_timeout():
if not Global.get_hint("has_reset") and not Global.get_setting("touch_controls"):
diff --git a/client/menu/popup_message.tscn b/client/menu/popup_message.tscn
index fd98285d..b83d15a0 100644
--- a/client/menu/popup_message.tscn
+++ b/client/menu/popup_message.tscn
@@ -111,7 +111,7 @@ one_shot = true
[node name="AutoHintTimers" type="Node" parent="."]
[node name="Move" type="Timer" parent="AutoHintTimers"]
-wait_time = 5.0
+wait_time = 2.0
one_shot = true
[node name="Boost" type="Timer" parent="AutoHintTimers"]
@@ -119,7 +119,7 @@ wait_time = 90.0
one_shot = true
[node name="Interact" type="Timer" parent="AutoHintTimers"]
-wait_time = 20.0
+wait_time = 15.0
one_shot = true
[node name="RotateCamera" type="Timer" parent="AutoHintTimers"]
diff --git a/client/menu/setup.tscn b/client/menu/setup.tscn
index 5ef6a260..04064966 100644
--- a/client/menu/setup.tscn
+++ b/client/menu/setup.tscn
@@ -91,6 +91,8 @@ layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
+offset_right = 1152.0
+offset_bottom = 648.0
grow_horizontal = 2
grow_vertical = 2
follow_focus = true
diff --git a/client/player/interact_marker.gdshader b/client/player/interact_marker.gdshader
index 1a1b9c63..eee76270 100644
--- a/client/player/interact_marker.gdshader
+++ b/client/player/interact_marker.gdshader
@@ -23,22 +23,22 @@ uniform float pulse_speed = 4.;
uniform bool interactive = false;
void fragment() {
- if (interactive) {
- ALBEDO = vec3(15., 0., 0.);
- } else {
- ALBEDO = vec3(.1, .1, .1);
- }
- vec2 uv = abs(2. * UV.xy - 1.);
- float m_length = marker_length / max_width;
- float anim;
- if (interactive) {
- anim = sin(TIME * pulse_speed) * .5 + 1.;
- } else {
- anim = .5;
- }
- float alpha = step(
- 1. - max_width * anim, max(uv.x, uv.y))
- * step(1. - max_width * m_length, min(uv.x, uv.y)
- );
- ALPHA = alpha;
+ if (interactive) {
+ ALBEDO = vec3(15., 0., 0.);
+ } else {
+ ALBEDO = vec3(.1, .1, .1);
+ }
+ vec2 uv = abs(2. * UV.xy - 1.);
+ float m_length = marker_length / max_width;
+ float anim;
+ if (interactive) {
+ anim = sin(TIME * pulse_speed) * .5 + 1.;
+ } else {
+ anim = .5;
+ }
+ float alpha = step(
+ 1. - max_width * anim, max(uv.x, uv.y))
+ * step(1. - max_width * m_length, min(uv.x, uv.y)
+ );
+ ALPHA = alpha;
}
diff --git a/client/po/de.po b/client/po/de.po
index 20cfbd3c..cf541e05 100644
--- a/client/po/de.po
+++ b/client/po/de.po
@@ -122,6 +122,12 @@ msgstr ""
"Neueinrichten)"
#: global.gd
+msgid "Tutorial started. (Uncheck and restart to replay)"
+msgstr ""
+"Anleitung abgeschlossen. (Deaktivieren und Spiel neu starten zum erneuten "
+"Spielen)"
+
+#: global.gd
msgid "Always extend boost to maximum duration"
msgstr "Schub immer bis zum Anschlag verlängern"
@@ -155,6 +161,10 @@ msgid "1. [b]Name of the Employee[/b]"
msgstr "1. [b]Name der angestellten Person[/b]"
#: menu/setup.tscn
+msgid "Other players can see your name when playing on a server"
+msgstr "Andere Spieler auf öffentlichen Servern können diesen Namen sehen"
+
+#: menu/setup.tscn
msgid "2. [b]Employment Position[/b]"
msgstr "2. [b]Arbeitsstelle[/b]"
@@ -167,18 +177,6 @@ msgstr ""
"tragen."
#: menu/setup.tscn
-msgid "Hairstyle 1"
-msgstr "Frisur 1"
-
-#: menu/setup.tscn
-msgid "Hairstyle 2"
-msgstr "Frisur 2"
-
-#: menu/setup.tscn
-msgid "Hairstyle 3"
-msgstr "Frisur 3"
-
-#: menu/setup.tscn
msgid ""
"4. [b]Duties.[/b] It is your duty to serve customers the meal or item that "
"they request.\n"
@@ -459,18 +457,85 @@ msgid "Hint"
msgstr "Tipp"
#: menu/popup_message.gd
-msgid "Press SHIFT/Controller B to boost"
-msgstr "Drücke UMSCHALTEN bzw. Controller B für Schub"
+msgid "Press %s to boost"
+msgstr "Drücke %s für Schub"
+
+#: menu/popup_message.gd
+msgid "SHIFT"
+msgstr "UMSCHALTEN"
+
+#: menu/popup_message.gd
+msgid "Use %s to move"
+msgstr "Nutze %s zum Bewegen"
+
+#: menu/popup_message.gd
+msgid "left stick"
+msgstr "linken Stick"
+
+#: menu/popup_message.gd
+msgid "SPACE"
+msgstr "LEERTASTE"
+
+#: menu/popup_message.gd
+msgid "Press %s to pick up items and hold %s to interact with tools"
+msgstr ""
+"Drücke %s, um Gegenstände aufzuheben und halte %s gedrückt, um mit "
+"Utensilien zu interagieren"
+
+#: menu/popup_message.gd
+msgid "Press %s to reset the camera view"
+msgstr "Drücke %s, um die Kameradrehung zurückzusetzen"
+
+#: menu/popup_message.gd
+msgid "Use %s to zoom in/out"
+msgstr "Nutze %s zum Zoomen"
+
+#: menu/popup_message.gd
+msgid "PageUp/PageDown"
+msgstr "BildHoch/BildRunter"
+
+#: menu/popup_message.gd
+msgid "Use %s to reset the camera view"
+msgstr "Nutze %s, um die Kameraansicht zurückzusetzen"
#: menu/popup_message.gd
-msgid "Use WASD/Controller left stick to move"
-msgstr "Nutze WASD/Controller linker stick zum Bewegen"
+msgid "arrow keys"
+msgstr "Pfeiltasten"
#: menu/popup_message.gd
-msgid "Press SPACE/Controller A to pick up items and interact with tools"
+msgid "right stick"
+msgstr "rechten Stick"
+
+#: menu/popup_message.gd
+msgid "Username tags can be enabled/disabled in the settings"
+msgstr ""
+"Die Anzeige von Nutzernamen kann in den Einstellungen ein- und ausgeschaltet "
+"werden"
+
+#: multiplayer.gd
+msgid "WebSocket closed with code: %d, reason %s. Clean: %s"
+msgstr "Web-Socket wurde geschlossen mit Code: %d, Grund %s. Sauber: %s"
+
+#: multiplayer.gd
+msgid ""
+"Server and client versions do not match. Server: %d.%d, Client: %d.%d.\n"
+"Are you sure the game is up to date?"
msgstr ""
-"Drücke LEERTASTE/Controller A um Gegenstände aufzuheben und mit Utensilien "
-"zu interagieren"
+"Server und Client Versionen stimmen nicht überein. Server: %d.%d, Client: %d."
+"%d.\n"
+"Ist das Spiel auf der neusten Version?"
+
+#~ msgid "Hairstyle 1"
+#~ msgstr "Frisur 1"
+
+#~ msgid "Hairstyle 2"
+#~ msgstr "Frisur 2"
+
+#~ msgid "Hairstyle 3"
+#~ msgstr "Frisur 3"
+
+#~ msgid "Use WASD/Controller left stick to move"
+#~ msgstr "Nutze WASD/Controller linker stick zum Bewegen"
#~ msgid "Map"
#~ msgstr "Karte"