diff options
-rw-r--r-- | client/map/items/item.gd | 2 | ||||
-rw-r--r-- | client/map/progress/progress.gd (renamed from client/map/progress.gd) | 0 | ||||
-rw-r--r-- | client/map/progress/progress.gdshader (renamed from client/map/progress.gdshader) | 0 | ||||
-rw-r--r-- | client/map/progress/progress.tscn (renamed from client/map/progress.tscn) | 4 | ||||
-rw-r--r-- | client/map/textures/palette.png (renamed from client/map/palette.png) | bin | 38079 -> 38079 bytes | |||
-rw-r--r-- | client/map/textures/palette.png.import (renamed from client/map/palette.png.import) | 8 | ||||
-rw-r--r-- | client/map/tiles/grass_side.res.depren | bin | 1430 -> 0 bytes | |||
-rw-r--r-- | client/menu/auto_setup/blur_setup.gd (renamed from client/menu/blur_setup.gd) | 0 | ||||
-rw-r--r-- | client/menu/auto_setup/scroll_container_custom.gd (renamed from client/menu/scroll_container_custom.gd) | 0 | ||||
-rw-r--r-- | client/menu/book/book.tscn | 2 | ||||
-rw-r--r-- | client/menu/character.tscn | 10 | ||||
-rw-r--r-- | client/menu/communicate/chat/chat_message.tscn | 2 | ||||
-rw-r--r-- | client/menu/communicate/chat/chat_open.tscn | 8 | ||||
-rw-r--r-- | client/menu/communicate/chat/chat_preview.tscn | 6 | ||||
-rw-r--r-- | client/menu/communicate/item/item_message.gd | 2 | ||||
-rw-r--r-- | client/menu/communicate/popup_message/pinned_item_messages.gd | 2 | ||||
-rw-r--r-- | client/menu/communicate/popup_message/popup_message.tscn | 10 | ||||
-rw-r--r-- | client/menu/communicate/popup_message/server_message.gd | 4 | ||||
-rw-r--r-- | client/menu/communicate/popup_message/server_message.tscn | 4 | ||||
-rw-r--r-- | client/menu/credits.tscn | 8 | ||||
-rw-r--r-- | client/menu/error.tscn | 4 | ||||
-rw-r--r-- | client/menu/hairstyle_preview.tscn | 2 | ||||
-rw-r--r-- | client/menu/icons/arrow.svg (renamed from client/menu/arrow.svg) | 0 | ||||
-rw-r--r-- | client/menu/icons/arrow.svg.import (renamed from client/menu/arrow.svg.import) | 6 | ||||
-rw-r--r-- | client/menu/icons/arrow_focus.svg (renamed from client/menu/arrow_focus.svg) | 0 | ||||
-rw-r--r-- | client/menu/icons/arrow_focus.svg.import (renamed from client/menu/arrow_focus.svg.import) | 6 | ||||
-rw-r--r-- | client/menu/icons/arrow_hover.svg (renamed from client/menu/arrow_hover.svg) | 0 | ||||
-rw-r--r-- | client/menu/icons/arrow_hover.svg.import (renamed from client/menu/arrow_hover.svg.import) | 6 | ||||
-rw-r--r-- | client/menu/icons/arrow_pressed.svg (renamed from client/menu/arrow_pressed.svg) | 0 | ||||
-rw-r--r-- | client/menu/icons/arrow_pressed.svg.import (renamed from client/menu/arrow_pressed.svg.import) | 6 | ||||
-rw-r--r-- | client/menu/icons/boost.webp (renamed from client/menu/boost.webp) | bin | 3670 -> 3670 bytes | |||
-rw-r--r-- | client/menu/icons/boost.webp.import (renamed from client/menu/boost.webp.import) | 6 | ||||
-rw-r--r-- | client/menu/icons/circle.svg (renamed from client/menu/circle.svg) | 0 | ||||
-rw-r--r-- | client/menu/icons/circle.svg.import (renamed from client/menu/circle.svg.import) | 6 | ||||
-rw-r--r-- | client/menu/icons/hint.svg (renamed from client/menu/hint.svg) | 0 | ||||
-rw-r--r-- | client/menu/icons/hint.svg.import (renamed from client/menu/hint.svg.import) | 6 | ||||
-rw-r--r-- | client/menu/icons/interact.webp (renamed from client/menu/interact.webp) | bin | 3604 -> 3604 bytes | |||
-rw-r--r-- | client/menu/icons/interact.webp.import (renamed from client/menu/interact.webp.import) | 6 | ||||
-rw-r--r-- | client/menu/icons/pause.webp (renamed from client/menu/pause.webp) | bin | 3144 -> 3144 bytes | |||
-rw-r--r-- | client/menu/icons/pause.webp.import (renamed from client/menu/pause.webp.import) | 6 | ||||
-rw-r--r-- | client/menu/icons/plus.svg (renamed from client/menu/plus.svg) | 0 | ||||
-rw-r--r-- | client/menu/icons/plus.svg.import (renamed from client/menu/plus.svg.import) | 6 | ||||
-rw-r--r-- | client/menu/icons/reset.svg (renamed from client/menu/reset.svg) | 0 | ||||
-rw-r--r-- | client/menu/icons/reset.svg.import (renamed from client/menu/reset.svg.import) | 6 | ||||
-rw-r--r-- | client/menu/icons/user.webp (renamed from client/menu/user.webp) | bin | 15122 -> 15122 bytes | |||
-rw-r--r-- | client/menu/icons/user.webp.import (renamed from client/menu/user.webp.import) | 6 | ||||
-rw-r--r-- | client/menu/ingame.tscn | 8 | ||||
-rw-r--r-- | client/menu/lobby.tscn | 18 | ||||
-rw-r--r-- | client/menu/lobby/player.tscn | 4 | ||||
-rw-r--r-- | client/menu/main.tscn | 8 | ||||
-rw-r--r-- | client/menu/menu_background.tscn | 2 | ||||
-rw-r--r-- | client/menu/overlay.tscn | 6 | ||||
-rw-r--r-- | client/menu/play.gd | 4 | ||||
-rw-r--r-- | client/menu/play.tscn | 15 | ||||
-rw-r--r-- | client/menu/popup.tscn | 6 | ||||
-rw-r--r-- | client/menu/printed_material.tres | 6 | ||||
-rw-r--r-- | client/menu/rating/rating.tscn | 6 | ||||
-rw-r--r-- | client/menu/settings.tscn | 6 | ||||
-rw-r--r-- | client/menu/settings/input/input_value_node.tscn | 2 | ||||
-rw-r--r-- | client/menu/settings/settings_row.gd | 2 | ||||
-rw-r--r-- | client/menu/settings/settings_row.tscn | 6 | ||||
-rw-r--r-- | client/menu/setup.tscn | 6 | ||||
-rw-r--r-- | client/menu/textures/paper_texture.tres (renamed from client/menu/theme/paper_texture.tres) | 0 | ||||
-rw-r--r-- | client/menu/theme/fonts/font-azaret-mono.woff2 (renamed from client/menu/theme/font-azaret-mono.woff2) | bin | 46132 -> 46132 bytes | |||
-rw-r--r-- | client/menu/theme/fonts/font-azaret-mono.woff2.import (renamed from client/menu/theme/font-azaret-mono.woff2.import) | 6 | ||||
-rw-r--r-- | client/menu/theme/fonts/font-josefin-sans.woff2 (renamed from client/menu/theme/font-josefin-sans.woff2) | bin | 47448 -> 47448 bytes | |||
-rw-r--r-- | client/menu/theme/fonts/font-josefin-sans.woff2.import (renamed from client/menu/theme/font-josefin-sans.woff2.import) | 6 | ||||
-rw-r--r-- | client/menu/theme/fonts/font-sansita-swashed.woff2 (renamed from client/menu/theme/font-sansita-swashed.woff2) | bin | 92808 -> 92808 bytes | |||
-rw-r--r-- | client/menu/theme/fonts/font-sansita-swashed.woff2.import (renamed from client/menu/theme/font-sansita-swashed.woff2.import) | 6 | ||||
-rw-r--r-- | client/menu/theme/materials/blur_material.tres (renamed from client/menu/theme/blur_material.tres) | 2 | ||||
-rw-r--r-- | client/menu/theme/materials/dark_blur_material.tres (renamed from client/menu/theme/dark_blur_material.tres) | 2 | ||||
-rw-r--r-- | client/menu/theme/materials/grayscale_material.tres (renamed from client/menu/grayscale_material.tres) | 2 | ||||
-rw-r--r-- | client/menu/theme/materials/printed_material.tres | 6 | ||||
-rw-r--r-- | client/menu/theme/shaders/blur_mix.gdshader (renamed from client/menu/blur_mix.gdshader) | 0 | ||||
-rw-r--r-- | client/menu/theme/shaders/grayscale.gdshader (renamed from client/menu/grayscale.gdshader) | 0 | ||||
-rw-r--r-- | client/menu/theme/shaders/menu_background.gdshader (renamed from client/menu/menu_background.gdshader) | 0 | ||||
-rw-r--r-- | client/menu/theme/shaders/printed.gdshader (renamed from client/menu/printed.gdshader) | 0 | ||||
-rw-r--r-- | client/menu/theme/style/paper_panel_style.tres (renamed from client/menu/theme/paper_panel_style.tres) | 2 | ||||
-rw-r--r-- | client/menu/theme/theme/paper.tres (renamed from client/menu/theme/paper.tres) | 4 | ||||
-rw-r--r-- | client/menu/theme/theme/theme.tres (renamed from client/menu/theme/theme.tres) | 9 | ||||
-rw-r--r-- | client/player/angry.tscn | 2 | ||||
-rw-r--r-- | client/player/chat_message.tscn | 2 | ||||
-rw-r--r-- | client/player/controllable_player.gd | 19 | ||||
-rw-r--r-- | client/player/marker/interact_marker.gdshader (renamed from client/player/interact_marker.gdshader) | 0 | ||||
-rw-r--r-- | client/player/marker/marker.gd (renamed from client/player/marker.gd) | 0 | ||||
-rw-r--r-- | client/player/marker/marker.tscn (renamed from client/player/marker.tscn) | 4 | ||||
-rw-r--r-- | client/player/onscreen_controls/controls.tscn | 6 | ||||
-rw-r--r-- | client/player/particles/angry/angry.webp (renamed from client/player/angry.webp) | bin | 5022 -> 5022 bytes | |||
-rw-r--r-- | client/player/particles/angry/angry.webp.import (renamed from client/player/angry.webp.import) | 8 | ||||
-rw-r--r-- | client/player/particles/effect.gd (renamed from client/player/effect.gd) | 0 | ||||
-rw-r--r-- | client/player/particles/effect.tscn (renamed from client/player/effect.tscn) | 4 | ||||
-rw-r--r-- | client/player/particles/satisfied/star.webp (renamed from client/player/star.webp) | bin | 5818 -> 5818 bytes | |||
-rw-r--r-- | client/player/particles/satisfied/star.webp.import (renamed from client/player/star.webp.import) | 8 | ||||
-rw-r--r-- | client/player/particles/satisfied/stars.tscn (renamed from client/player/stars.tscn) | 2 | ||||
-rw-r--r-- | client/player/player.gd | 5 | ||||
-rw-r--r-- | locale/de.ini | 22 | ||||
-rw-r--r-- | locale/el.ini | 1 | ||||
-rw-r--r-- | locale/en.ini | 19 | ||||
-rw-r--r-- | locale/fr.ini | 168 | ||||
-rw-r--r-- | locale/ko.ini | 1 | ||||
-rw-r--r-- | locale/nl.ini | 29 | ||||
-rw-r--r-- | locale/zh_Hans.ini | 4 | ||||
-rw-r--r-- | readme.md | 4 | ||||
-rw-r--r-- | server/bot/src/algos/dishwasher.rs | 7 |
104 files changed, 369 insertions, 246 deletions
diff --git a/client/map/items/item.gd b/client/map/items/item.gd index 80aa4d6d..f7592d87 100644 --- a/client/map/items/item.gd +++ b/client/map/items/item.gd @@ -21,7 +21,7 @@ extends Node3D var owned_by: Node3D var base: Node3D = Node3D.new() -var progress_instance: ProgressBar3D = preload("res://map/progress.tscn").instantiate() +var progress_instance: ProgressBar3D = preload("res://map/progress/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 ding_sound := AudioStreamPlayer3D.new() diff --git a/client/map/progress.gd b/client/map/progress/progress.gd index fc31408c..fc31408c 100644 --- a/client/map/progress.gd +++ b/client/map/progress/progress.gd diff --git a/client/map/progress.gdshader b/client/map/progress/progress.gdshader index a5ebf575..a5ebf575 100644 --- a/client/map/progress.gdshader +++ b/client/map/progress/progress.gdshader diff --git a/client/map/progress.tscn b/client/map/progress/progress.tscn index 7a0629a1..7f2ec175 100644 --- a/client/map/progress.tscn +++ b/client/map/progress/progress.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=5 format=3 uid="uid://4ewufm6tqhpb"] -[ext_resource type="Shader" path="res://map/progress.gdshader" id="1_6f2a0"] -[ext_resource type="Script" path="res://map/progress.gd" id="2_bb3u3"] +[ext_resource type="Shader" path="res://map/progress/progress.gdshader" id="1_6f2a0"] +[ext_resource type="Script" path="res://map/progress/progress.gd" id="2_bb3u3"] [sub_resource type="QuadMesh" id="QuadMesh_m0itj"] size = Vector2(0.75, 0.1) diff --git a/client/map/palette.png b/client/map/textures/palette.png Binary files differindex e184fe5b..e184fe5b 100644 --- a/client/map/palette.png +++ b/client/map/textures/palette.png diff --git a/client/map/palette.png.import b/client/map/textures/palette.png.import index 92840fcf..97dc821b 100644 --- a/client/map/palette.png.import +++ b/client/map/textures/palette.png.import @@ -3,8 +3,8 @@ importer="texture" type="CompressedTexture2D" uid="uid://dgcs4wkxsxe6a" -path.s3tc="res://.godot/imported/palette.png-3a59900c2345cc4f645d84b8df0a18e7.s3tc.ctex" -path.etc2="res://.godot/imported/palette.png-3a59900c2345cc4f645d84b8df0a18e7.etc2.ctex" +path.s3tc="res://.godot/imported/palette.png-7d1d158ba6a12563fba40a96786b0940.s3tc.ctex" +path.etc2="res://.godot/imported/palette.png-7d1d158ba6a12563fba40a96786b0940.etc2.ctex" metadata={ "imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true @@ -12,8 +12,8 @@ metadata={ [deps] -source_file="res://map/palette.png" -dest_files=["res://.godot/imported/palette.png-3a59900c2345cc4f645d84b8df0a18e7.s3tc.ctex", "res://.godot/imported/palette.png-3a59900c2345cc4f645d84b8df0a18e7.etc2.ctex"] +source_file="res://map/textures/palette.png" +dest_files=["res://.godot/imported/palette.png-7d1d158ba6a12563fba40a96786b0940.s3tc.ctex", "res://.godot/imported/palette.png-7d1d158ba6a12563fba40a96786b0940.etc2.ctex"] [params] diff --git a/client/map/tiles/grass_side.res.depren b/client/map/tiles/grass_side.res.depren Binary files differdeleted file mode 100644 index 3116171f..00000000 --- a/client/map/tiles/grass_side.res.depren +++ /dev/null diff --git a/client/menu/blur_setup.gd b/client/menu/auto_setup/blur_setup.gd index 9d55a9d4..9d55a9d4 100644 --- a/client/menu/blur_setup.gd +++ b/client/menu/auto_setup/blur_setup.gd diff --git a/client/menu/scroll_container_custom.gd b/client/menu/auto_setup/scroll_container_custom.gd index a456f644..a456f644 100644 --- a/client/menu/scroll_container_custom.gd +++ b/client/menu/auto_setup/scroll_container_custom.gd diff --git a/client/menu/book/book.tscn b/client/menu/book/book.tscn index 824c062d..366959a4 100644 --- a/client/menu/book/book.tscn +++ b/client/menu/book/book.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=3 format=3 uid="uid://bdggwo8un3mys"] [ext_resource type="Script" path="res://menu/book/book.gd" id="1_gyisx"] -[ext_resource type="Script" path="res://menu/scroll_container_custom.gd" id="2_0d0p0"] +[ext_resource type="Script" path="res://menu/auto_setup/scroll_container_custom.gd" id="2_0d0p0"] [node name="Book" type="Control"] layout_mode = 3 diff --git a/client/menu/character.tscn b/client/menu/character.tscn index 463fd4fe..bc4e1663 100644 --- a/client/menu/character.tscn +++ b/client/menu/character.tscn @@ -1,14 +1,14 @@ [gd_scene load_steps=11 format=3 uid="uid://1f7xpirm5d28"] -[ext_resource type="Theme" uid="uid://b0qmvo504e457" path="res://menu/theme/theme.tres" id="1_ak2pw"] +[ext_resource type="Theme" uid="uid://b0qmvo504e457" path="res://menu/theme/theme/theme.tres" id="1_ak2pw"] [ext_resource type="Script" path="res://menu/character.gd" id="1_brhd1"] [ext_resource type="PackedScene" uid="uid://b4gone8fu53r7" path="res://map/map.tscn" id="3_6mc88"] [ext_resource type="PackedScene" uid="uid://b3hhir2fvnunu" path="res://player/character/character.tscn" id="3_odq7n"] [ext_resource type="PackedScene" uid="uid://bg2d78ycorcqk" path="res://menu/scene_transition.tscn" id="4_c0ocf"] -[ext_resource type="Texture2D" uid="uid://35rd5gamtyqm" path="res://menu/arrow.svg" id="5_kvd7k"] -[ext_resource type="Texture2D" uid="uid://j75dbytlbju" path="res://menu/arrow_pressed.svg" id="5_xpff8"] -[ext_resource type="Texture2D" uid="uid://b33qmctbpf48g" path="res://menu/arrow_hover.svg" id="6_soj8g"] -[ext_resource type="Texture2D" uid="uid://by3qsrpxnfq4w" path="res://menu/arrow_focus.svg" id="6_u31hl"] +[ext_resource type="Texture2D" uid="uid://35rd5gamtyqm" path="res://menu/icons/arrow.svg" id="5_kvd7k"] +[ext_resource type="Texture2D" uid="uid://j75dbytlbju" path="res://menu/icons/arrow_pressed.svg" id="5_xpff8"] +[ext_resource type="Texture2D" uid="uid://b33qmctbpf48g" path="res://menu/icons/arrow_hover.svg" id="6_soj8g"] +[ext_resource type="Texture2D" uid="uid://by3qsrpxnfq4w" path="res://menu/icons/arrow_focus.svg" id="6_u31hl"] [sub_resource type="Environment" id="Environment_ex25y"] background_mode = 1 diff --git a/client/menu/communicate/chat/chat_message.tscn b/client/menu/communicate/chat/chat_message.tscn index 06a9311e..d4db3f5d 100644 --- a/client/menu/communicate/chat/chat_message.tscn +++ b/client/menu/communicate/chat/chat_message.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=4 format=3 uid="uid://bpc2qgsvcafhe"] [ext_resource type="Script" path="res://menu/communicate/chat/chat_message.gd" id="1_ey0qp"] -[ext_resource type="Theme" uid="uid://b0qmvo504e457" path="res://menu/theme/theme.tres" id="1_rx6vg"] +[ext_resource type="Theme" uid="uid://b0qmvo504e457" path="res://menu/theme/theme/theme.tres" id="1_rx6vg"] [sub_resource type="FontVariation" id="FontVariation_jfhbh"] variation_embolden = 1.3 diff --git a/client/menu/communicate/chat/chat_open.tscn b/client/menu/communicate/chat/chat_open.tscn index 0247a1ca..09cc4526 100644 --- a/client/menu/communicate/chat/chat_open.tscn +++ b/client/menu/communicate/chat/chat_open.tscn @@ -1,11 +1,11 @@ [gd_scene load_steps=7 format=3 uid="uid://dbd6k56l4p0ls"] [ext_resource type="Script" path="res://menu/communicate/chat/chat_open.gd" id="1_dsl4a"] -[ext_resource type="Material" uid="uid://beea1pc5nt67r" path="res://menu/theme/dark_blur_material.tres" id="1_isqmk"] -[ext_resource type="Script" path="res://menu/blur_setup.gd" id="2_urbd2"] -[ext_resource type="Theme" uid="uid://b0qmvo504e457" path="res://menu/theme/theme.tres" id="3_v7xmg"] +[ext_resource type="Material" uid="uid://beea1pc5nt67r" path="res://menu/theme/materials/dark_blur_material.tres" id="1_isqmk"] +[ext_resource type="Script" path="res://menu/auto_setup/blur_setup.gd" id="2_urbd2"] +[ext_resource type="Theme" uid="uid://b0qmvo504e457" path="res://menu/theme/theme/theme.tres" id="3_v7xmg"] [ext_resource type="StyleBox" uid="uid://bw4jamyna1top" path="res://menu/theme/style/panel_style_sidebar.tres" id="4_ew1yx"] -[ext_resource type="Script" path="res://menu/scroll_container_custom.gd" id="5_3mths"] +[ext_resource type="Script" path="res://menu/auto_setup/scroll_container_custom.gd" id="5_3mths"] [node name="ChatOpen" type="Control"] layout_mode = 3 diff --git a/client/menu/communicate/chat/chat_preview.tscn b/client/menu/communicate/chat/chat_preview.tscn index 4cc39e00..e1cac207 100644 --- a/client/menu/communicate/chat/chat_preview.tscn +++ b/client/menu/communicate/chat/chat_preview.tscn @@ -1,9 +1,9 @@ [gd_scene load_steps=5 format=3 uid="uid://xcxbmynn8mhi"] -[ext_resource type="Theme" uid="uid://b0qmvo504e457" path="res://menu/theme/theme.tres" id="1_x8ock"] +[ext_resource type="Theme" uid="uid://b0qmvo504e457" path="res://menu/theme/theme/theme.tres" id="1_x8ock"] [ext_resource type="Script" path="res://menu/communicate/chat/chat_preview.gd" id="2_72x70"] -[ext_resource type="Material" uid="uid://beea1pc5nt67r" path="res://menu/theme/dark_blur_material.tres" id="4_jo1xn"] -[ext_resource type="Script" path="res://menu/blur_setup.gd" id="5_1l77s"] +[ext_resource type="Material" uid="uid://beea1pc5nt67r" path="res://menu/theme/materials/dark_blur_material.tres" id="4_jo1xn"] +[ext_resource type="Script" path="res://menu/auto_setup/blur_setup.gd" id="5_1l77s"] [node name="ChatPreview" type="Control"] layout_mode = 3 diff --git a/client/menu/communicate/item/item_message.gd b/client/menu/communicate/item/item_message.gd index 17d2a629..dfbaf232 100644 --- a/client/menu/communicate/item/item_message.gd +++ b/client/menu/communicate/item/item_message.gd @@ -17,7 +17,7 @@ class_name ItemMessage extends Control -const PRINTED_MAT := preload("res://menu/printed_material.tres") +const PRINTED_MAT := preload("res://menu/theme/materials/printed_material.tres") @export var enable_rotation := true @export var enable_grayscale := false diff --git a/client/menu/communicate/popup_message/pinned_item_messages.gd b/client/menu/communicate/popup_message/pinned_item_messages.gd index c98b9184..15ae96b5 100644 --- a/client/menu/communicate/popup_message/pinned_item_messages.gd +++ b/client/menu/communicate/popup_message/pinned_item_messages.gd @@ -17,7 +17,7 @@ extends Control class_name PinnedItemMessages const ITEM_MESSAGE_SCENE := preload("res://menu/communicate/item/item_message.tscn") -const PAPER_PANEL_STYLE := preload("res://menu/theme/paper_panel_style.tres") +const PAPER_PANEL_STYLE := preload("res://menu/theme/style/paper_panel_style.tres") var pinned_items := {} diff --git a/client/menu/communicate/popup_message/popup_message.tscn b/client/menu/communicate/popup_message/popup_message.tscn index 880e8670..05b31e11 100644 --- a/client/menu/communicate/popup_message/popup_message.tscn +++ b/client/menu/communicate/popup_message/popup_message.tscn @@ -1,12 +1,12 @@ [gd_scene load_steps=12 format=3 uid="uid://b21nrnkygiyjt"] -[ext_resource type="Theme" uid="uid://b0qmvo504e457" path="res://menu/theme/theme.tres" id="1_a1566"] +[ext_resource type="Theme" uid="uid://b0qmvo504e457" path="res://menu/theme/theme/theme.tres" id="1_a1566"] [ext_resource type="Script" path="res://menu/communicate/popup_message/popup_message.gd" id="2_sbew6"] -[ext_resource type="Shader" path="res://menu/blur_mix.gdshader" id="3_2vnom"] +[ext_resource type="Shader" path="res://menu/theme/shaders/blur_mix.gdshader" id="3_2vnom"] [ext_resource type="PackedScene" uid="uid://dq61p3a8og2b6" path="res://menu/communicate/popup_message/server_message.tscn" id="3_m3rok"] -[ext_resource type="Script" path="res://menu/blur_setup.gd" id="4_pvwmw"] -[ext_resource type="FontFile" uid="uid://bk704sc5gkrb3" path="res://menu/theme/font-azaret-mono.woff2" id="4_wsrnf"] -[ext_resource type="Texture2D" uid="uid://b2uv5rf0enikf" path="res://menu/hint.svg" id="5_2dxsd"] +[ext_resource type="Script" path="res://menu/auto_setup/blur_setup.gd" id="4_pvwmw"] +[ext_resource type="FontFile" uid="uid://bk704sc5gkrb3" path="res://menu/theme/fonts/font-azaret-mono.woff2" id="4_wsrnf"] +[ext_resource type="Texture2D" uid="uid://b2uv5rf0enikf" path="res://menu/icons/hint.svg" id="5_2dxsd"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_k0m35"] shader = ExtResource("3_2vnom") diff --git a/client/menu/communicate/popup_message/server_message.gd b/client/menu/communicate/popup_message/server_message.gd index fc12ee76..c3fc0a78 100644 --- a/client/menu/communicate/popup_message/server_message.gd +++ b/client/menu/communicate/popup_message/server_message.gd @@ -1,8 +1,8 @@ extends BlurSetup class_name ServerMessage -const DEFAULT_FONT = preload("res://menu/theme/font-josefin-sans.woff2") -const MONOSPACE_FONT = preload("res://menu/theme/font-azaret-mono.woff2") +const DEFAULT_FONT = preload("res://menu/theme/fonts/font-josefin-sans.woff2") +const MONOSPACE_FONT = preload("res://menu/theme/fonts/font-azaret-mono.woff2") @onready var label: Label = $CenterContainer/Label diff --git a/client/menu/communicate/popup_message/server_message.tscn b/client/menu/communicate/popup_message/server_message.tscn index 2a848419..b23d2527 100644 --- a/client/menu/communicate/popup_message/server_message.tscn +++ b/client/menu/communicate/popup_message/server_message.tscn @@ -1,8 +1,8 @@ [gd_scene load_steps=8 format=3 uid="uid://dq61p3a8og2b6"] -[ext_resource type="Shader" path="res://menu/blur_mix.gdshader" id="1_qv8ew"] +[ext_resource type="Shader" path="res://menu/theme/shaders/blur_mix.gdshader" id="1_qv8ew"] [ext_resource type="Script" path="res://menu/communicate/popup_message/server_message.gd" id="2_csqo8"] -[ext_resource type="FontFile" uid="uid://bk704sc5gkrb3" path="res://menu/theme/font-azaret-mono.woff2" id="3_dw20j"] +[ext_resource type="FontFile" uid="uid://bk704sc5gkrb3" path="res://menu/theme/fonts/font-azaret-mono.woff2" id="3_dw20j"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_q3bbd"] shader = ExtResource("1_qv8ew") diff --git a/client/menu/credits.tscn b/client/menu/credits.tscn index 12bd3c23..783b308b 100644 --- a/client/menu/credits.tscn +++ b/client/menu/credits.tscn @@ -1,10 +1,10 @@ [gd_scene load_steps=6 format=3 uid="uid://7mqbxa054bjv"] -[ext_resource type="Theme" uid="uid://b0qmvo504e457" path="res://menu/theme/theme.tres" id="1_16kk6"] +[ext_resource type="Theme" uid="uid://b0qmvo504e457" path="res://menu/theme/theme/theme.tres" id="1_16kk6"] [ext_resource type="Script" path="res://menu/credits.gd" id="2_alvab"] -[ext_resource type="Material" uid="uid://beea1pc5nt67r" path="res://menu/theme/dark_blur_material.tres" id="3_nwoiv"] -[ext_resource type="Script" path="res://menu/blur_setup.gd" id="4_8sii3"] -[ext_resource type="Script" path="res://menu/scroll_container_custom.gd" id="4_bfcw8"] +[ext_resource type="Material" uid="uid://beea1pc5nt67r" path="res://menu/theme/materials/dark_blur_material.tres" id="3_nwoiv"] +[ext_resource type="Script" path="res://menu/auto_setup/blur_setup.gd" id="4_8sii3"] +[ext_resource type="Script" path="res://menu/auto_setup/scroll_container_custom.gd" id="4_bfcw8"] [node name="CreditsMenu" type="Control"] layout_mode = 3 diff --git a/client/menu/error.tscn b/client/menu/error.tscn index dfe6e015..55c3c9d9 100644 --- a/client/menu/error.tscn +++ b/client/menu/error.tscn @@ -1,10 +1,10 @@ [gd_scene load_steps=6 format=3 uid="uid://cimgn07lbcs4v"] -[ext_resource type="Theme" uid="uid://b0qmvo504e457" path="res://menu/theme/theme.tres" id="1_cabdu"] +[ext_resource type="Theme" uid="uid://b0qmvo504e457" path="res://menu/theme/theme/theme.tres" id="1_cabdu"] [ext_resource type="PackedScene" uid="uid://l4vm07dtda4j" path="res://menu/menu_background.tscn" id="2_5fxol"] [ext_resource type="Script" path="res://menu/error.gd" id="2_dbe41"] [ext_resource type="PackedScene" uid="uid://bg2d78ycorcqk" path="res://menu/scene_transition.tscn" id="4_1nbt3"] -[ext_resource type="Material" uid="uid://beea1pc5nt67r" path="res://menu/theme/dark_blur_material.tres" id="4_hxkkd"] +[ext_resource type="Material" uid="uid://beea1pc5nt67r" path="res://menu/theme/materials/dark_blur_material.tres" id="4_hxkkd"] [node name="ErrorMenu" type="Control"] layout_mode = 3 diff --git a/client/menu/hairstyle_preview.tscn b/client/menu/hairstyle_preview.tscn index 46bb9c74..5952de63 100644 --- a/client/menu/hairstyle_preview.tscn +++ b/client/menu/hairstyle_preview.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=7 format=3 uid="uid://dfon56nwd2tgn"] [ext_resource type="Script" path="res://menu/hairstyle_preview.gd" id="1_0qdmv"] -[ext_resource type="Shader" path="res://menu/grayscale.gdshader" id="1_sf0gc"] +[ext_resource type="Shader" path="res://menu/theme/shaders/grayscale.gdshader" id="1_sf0gc"] [ext_resource type="PackedScene" uid="uid://b3hhir2fvnunu" path="res://player/character/character.tscn" id="2_jtitc"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_entrs"] diff --git a/client/menu/arrow.svg b/client/menu/icons/arrow.svg index bafc9e69..bafc9e69 100644 --- a/client/menu/arrow.svg +++ b/client/menu/icons/arrow.svg diff --git a/client/menu/arrow.svg.import b/client/menu/icons/arrow.svg.import index 198224ad..2338d88e 100644 --- a/client/menu/arrow.svg.import +++ b/client/menu/icons/arrow.svg.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://35rd5gamtyqm" -path="res://.godot/imported/arrow.svg-41f5cc1ac36d42c934f574d48bb6dcd0.ctex" +path="res://.godot/imported/arrow.svg-4b2b120f303a2e998d242c78a6966282.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://menu/arrow.svg" -dest_files=["res://.godot/imported/arrow.svg-41f5cc1ac36d42c934f574d48bb6dcd0.ctex"] +source_file="res://menu/icons/arrow.svg" +dest_files=["res://.godot/imported/arrow.svg-4b2b120f303a2e998d242c78a6966282.ctex"] [params] diff --git a/client/menu/arrow_focus.svg b/client/menu/icons/arrow_focus.svg index 456f0261..456f0261 100644 --- a/client/menu/arrow_focus.svg +++ b/client/menu/icons/arrow_focus.svg diff --git a/client/menu/arrow_focus.svg.import b/client/menu/icons/arrow_focus.svg.import index 5643398a..19b426b8 100644 --- a/client/menu/arrow_focus.svg.import +++ b/client/menu/icons/arrow_focus.svg.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://by3qsrpxnfq4w" -path="res://.godot/imported/arrow_focus.svg-796c7015ab25a208e0703cc077245567.ctex" +path="res://.godot/imported/arrow_focus.svg-54159cec20654fda644690185faf6883.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://menu/arrow_focus.svg" -dest_files=["res://.godot/imported/arrow_focus.svg-796c7015ab25a208e0703cc077245567.ctex"] +source_file="res://menu/icons/arrow_focus.svg" +dest_files=["res://.godot/imported/arrow_focus.svg-54159cec20654fda644690185faf6883.ctex"] [params] diff --git a/client/menu/arrow_hover.svg b/client/menu/icons/arrow_hover.svg index 098063ec..098063ec 100644 --- a/client/menu/arrow_hover.svg +++ b/client/menu/icons/arrow_hover.svg diff --git a/client/menu/arrow_hover.svg.import b/client/menu/icons/arrow_hover.svg.import index c8811de2..6530e4bb 100644 --- a/client/menu/arrow_hover.svg.import +++ b/client/menu/icons/arrow_hover.svg.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://b33qmctbpf48g" -path="res://.godot/imported/arrow_hover.svg-e30a6426cf1ccd3c2d183c20eb7b0d9a.ctex" +path="res://.godot/imported/arrow_hover.svg-7a4a56e502ea35101b318789923c1f47.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://menu/arrow_hover.svg" -dest_files=["res://.godot/imported/arrow_hover.svg-e30a6426cf1ccd3c2d183c20eb7b0d9a.ctex"] +source_file="res://menu/icons/arrow_hover.svg" +dest_files=["res://.godot/imported/arrow_hover.svg-7a4a56e502ea35101b318789923c1f47.ctex"] [params] diff --git a/client/menu/arrow_pressed.svg b/client/menu/icons/arrow_pressed.svg index 1abd9a8f..1abd9a8f 100644 --- a/client/menu/arrow_pressed.svg +++ b/client/menu/icons/arrow_pressed.svg diff --git a/client/menu/arrow_pressed.svg.import b/client/menu/icons/arrow_pressed.svg.import index 74d1dffe..0958f395 100644 --- a/client/menu/arrow_pressed.svg.import +++ b/client/menu/icons/arrow_pressed.svg.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://j75dbytlbju" -path="res://.godot/imported/arrow_pressed.svg-27eedadced7da045a9df177b0099000b.ctex" +path="res://.godot/imported/arrow_pressed.svg-064136a9c6bd871ed0ad5fd10df7ddf7.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://menu/arrow_pressed.svg" -dest_files=["res://.godot/imported/arrow_pressed.svg-27eedadced7da045a9df177b0099000b.ctex"] +source_file="res://menu/icons/arrow_pressed.svg" +dest_files=["res://.godot/imported/arrow_pressed.svg-064136a9c6bd871ed0ad5fd10df7ddf7.ctex"] [params] diff --git a/client/menu/boost.webp b/client/menu/icons/boost.webp Binary files differindex afea92df..afea92df 100644 --- a/client/menu/boost.webp +++ b/client/menu/icons/boost.webp diff --git a/client/menu/boost.webp.import b/client/menu/icons/boost.webp.import index 999115e7..a7c0768b 100644 --- a/client/menu/boost.webp.import +++ b/client/menu/icons/boost.webp.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://bnxllatlo4clg" -path="res://.godot/imported/boost.webp-e0fa5b3507b36424ead2769ac2e73472.ctex" +path="res://.godot/imported/boost.webp-650c006bc54ab6e0ac3213a966d84ecd.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://menu/boost.webp" -dest_files=["res://.godot/imported/boost.webp-e0fa5b3507b36424ead2769ac2e73472.ctex"] +source_file="res://menu/icons/boost.webp" +dest_files=["res://.godot/imported/boost.webp-650c006bc54ab6e0ac3213a966d84ecd.ctex"] [params] diff --git a/client/menu/circle.svg b/client/menu/icons/circle.svg index 05fab1cb..05fab1cb 100644 --- a/client/menu/circle.svg +++ b/client/menu/icons/circle.svg diff --git a/client/menu/circle.svg.import b/client/menu/icons/circle.svg.import index dcc19684..bb92ad4f 100644 --- a/client/menu/circle.svg.import +++ b/client/menu/icons/circle.svg.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://d2xf8qdh01e41" -path="res://.godot/imported/circle.svg-d0b2fb05ade8e48b77faa1fda965eee3.ctex" +path="res://.godot/imported/circle.svg-f3244b3d13a0268ef24c94d9e07216c2.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://menu/circle.svg" -dest_files=["res://.godot/imported/circle.svg-d0b2fb05ade8e48b77faa1fda965eee3.ctex"] +source_file="res://menu/icons/circle.svg" +dest_files=["res://.godot/imported/circle.svg-f3244b3d13a0268ef24c94d9e07216c2.ctex"] [params] diff --git a/client/menu/hint.svg b/client/menu/icons/hint.svg index ad64de91..ad64de91 100644 --- a/client/menu/hint.svg +++ b/client/menu/icons/hint.svg diff --git a/client/menu/hint.svg.import b/client/menu/icons/hint.svg.import index 9f5eba04..e658d219 100644 --- a/client/menu/hint.svg.import +++ b/client/menu/icons/hint.svg.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://b2uv5rf0enikf" -path="res://.godot/imported/hint.svg-84d80eb00de22610835892179ff94034.ctex" +path="res://.godot/imported/hint.svg-df98298ece507a1bda0092ad9e5243d5.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://menu/hint.svg" -dest_files=["res://.godot/imported/hint.svg-84d80eb00de22610835892179ff94034.ctex"] +source_file="res://menu/icons/hint.svg" +dest_files=["res://.godot/imported/hint.svg-df98298ece507a1bda0092ad9e5243d5.ctex"] [params] diff --git a/client/menu/interact.webp b/client/menu/icons/interact.webp Binary files differindex cf57c4c0..cf57c4c0 100644 --- a/client/menu/interact.webp +++ b/client/menu/icons/interact.webp diff --git a/client/menu/interact.webp.import b/client/menu/icons/interact.webp.import index 55ec9275..daf614c6 100644 --- a/client/menu/interact.webp.import +++ b/client/menu/icons/interact.webp.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://dcgt82qkya880" -path="res://.godot/imported/interact.webp-ad70044ea6f17b27fedc400ffc5d7eb5.ctex" +path="res://.godot/imported/interact.webp-8116b5d17f0ba3d9118b7be9331681ba.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://menu/interact.webp" -dest_files=["res://.godot/imported/interact.webp-ad70044ea6f17b27fedc400ffc5d7eb5.ctex"] +source_file="res://menu/icons/interact.webp" +dest_files=["res://.godot/imported/interact.webp-8116b5d17f0ba3d9118b7be9331681ba.ctex"] [params] diff --git a/client/menu/pause.webp b/client/menu/icons/pause.webp Binary files differindex 24ec72d8..24ec72d8 100644 --- a/client/menu/pause.webp +++ b/client/menu/icons/pause.webp diff --git a/client/menu/pause.webp.import b/client/menu/icons/pause.webp.import index d132a237..c15aee7b 100644 --- a/client/menu/pause.webp.import +++ b/client/menu/icons/pause.webp.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://qto5rj6wlaeb" -path="res://.godot/imported/pause.webp-109d517ceb320a1dc8b8c95512f630f5.ctex" +path="res://.godot/imported/pause.webp-dc4a5d6b868b49810e4c5551e3a25757.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://menu/pause.webp" -dest_files=["res://.godot/imported/pause.webp-109d517ceb320a1dc8b8c95512f630f5.ctex"] +source_file="res://menu/icons/pause.webp" +dest_files=["res://.godot/imported/pause.webp-dc4a5d6b868b49810e4c5551e3a25757.ctex"] [params] diff --git a/client/menu/plus.svg b/client/menu/icons/plus.svg index c79169ba..c79169ba 100644 --- a/client/menu/plus.svg +++ b/client/menu/icons/plus.svg diff --git a/client/menu/plus.svg.import b/client/menu/icons/plus.svg.import index 13058c11..f951a1af 100644 --- a/client/menu/plus.svg.import +++ b/client/menu/icons/plus.svg.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://cnfjbowd2i02r" -path="res://.godot/imported/plus.svg-9648647cb056d51ef71ca6c84e7bca36.ctex" +path="res://.godot/imported/plus.svg-84dacc0e61bf1916a177b38a64ba42e2.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://menu/plus.svg" -dest_files=["res://.godot/imported/plus.svg-9648647cb056d51ef71ca6c84e7bca36.ctex"] +source_file="res://menu/icons/plus.svg" +dest_files=["res://.godot/imported/plus.svg-84dacc0e61bf1916a177b38a64ba42e2.ctex"] [params] diff --git a/client/menu/reset.svg b/client/menu/icons/reset.svg index 660d7759..660d7759 100644 --- a/client/menu/reset.svg +++ b/client/menu/icons/reset.svg diff --git a/client/menu/reset.svg.import b/client/menu/icons/reset.svg.import index cf012583..cecca8e4 100644 --- a/client/menu/reset.svg.import +++ b/client/menu/icons/reset.svg.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://cucnmy0j5n8l8" -path="res://.godot/imported/reset.svg-8568f92cfa4ad303d2cf2ad8267c710f.ctex" +path="res://.godot/imported/reset.svg-8a32af0c84ee1d00a467a7630ce0a918.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://menu/reset.svg" -dest_files=["res://.godot/imported/reset.svg-8568f92cfa4ad303d2cf2ad8267c710f.ctex"] +source_file="res://menu/icons/reset.svg" +dest_files=["res://.godot/imported/reset.svg-8a32af0c84ee1d00a467a7630ce0a918.ctex"] [params] diff --git a/client/menu/user.webp b/client/menu/icons/user.webp Binary files differindex 5bba0540..5bba0540 100644 --- a/client/menu/user.webp +++ b/client/menu/icons/user.webp diff --git a/client/menu/user.webp.import b/client/menu/icons/user.webp.import index 112cf9b8..1b8fbb89 100644 --- a/client/menu/user.webp.import +++ b/client/menu/icons/user.webp.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://222w1wha75od" -path="res://.godot/imported/user.webp-257e5395baacd6a382811f4f2dd7cd93.ctex" +path="res://.godot/imported/user.webp-de27cb424a236a023aa54d8999333695.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://menu/user.webp" -dest_files=["res://.godot/imported/user.webp-257e5395baacd6a382811f4f2dd7cd93.ctex"] +source_file="res://menu/icons/user.webp" +dest_files=["res://.godot/imported/user.webp-de27cb424a236a023aa54d8999333695.ctex"] [params] diff --git a/client/menu/ingame.tscn b/client/menu/ingame.tscn index 4bb2a458..74b0a486 100644 --- a/client/menu/ingame.tscn +++ b/client/menu/ingame.tscn @@ -1,10 +1,10 @@ [gd_scene load_steps=11 format=3 uid="uid://lxlgtjm8hw7v"] -[ext_resource type="Theme" uid="uid://b0qmvo504e457" path="res://menu/theme/theme.tres" id="1_2vmyh"] +[ext_resource type="Theme" uid="uid://b0qmvo504e457" path="res://menu/theme/theme/theme.tres" id="1_2vmyh"] [ext_resource type="Script" path="res://menu/ingame.gd" id="2_0h3no"] -[ext_resource type="Material" uid="uid://beea1pc5nt67r" path="res://menu/theme/dark_blur_material.tres" id="3_vvvlt"] -[ext_resource type="Script" path="res://menu/blur_setup.gd" id="4_b6bm7"] -[ext_resource type="FontFile" uid="uid://bo4vh5xkpvrh1" path="res://menu/theme/font-sansita-swashed.woff2" id="4_scupw"] +[ext_resource type="Material" uid="uid://beea1pc5nt67r" path="res://menu/theme/materials/dark_blur_material.tres" id="3_vvvlt"] +[ext_resource type="Script" path="res://menu/auto_setup/blur_setup.gd" id="4_b6bm7"] +[ext_resource type="FontFile" uid="uid://bo4vh5xkpvrh1" path="res://menu/theme/fonts/font-sansita-swashed.woff2" id="4_scupw"] [ext_resource type="StyleBox" uid="uid://bw4jamyna1top" path="res://menu/theme/style/panel_style_sidebar.tres" id="4_vr8y1"] [sub_resource type="Animation" id="Animation_8sedy"] diff --git a/client/menu/lobby.tscn b/client/menu/lobby.tscn index 909a14cb..83284357 100644 --- a/client/menu/lobby.tscn +++ b/client/menu/lobby.tscn @@ -1,18 +1,18 @@ [gd_scene load_steps=16 format=3 uid="uid://bc50la65ntifb"] -[ext_resource type="Theme" uid="uid://b0qmvo504e457" path="res://menu/theme/theme.tres" id="1_u18ke"] +[ext_resource type="Theme" uid="uid://b0qmvo504e457" path="res://menu/theme/theme/theme.tres" id="1_u18ke"] [ext_resource type="Script" path="res://menu/lobby.gd" id="2_7657i"] [ext_resource type="StyleBox" uid="uid://de80aw86emnql" path="res://menu/theme/style/lobby_panel_override.tres" id="3_6iqoe"] -[ext_resource type="Material" uid="uid://beea1pc5nt67r" path="res://menu/theme/dark_blur_material.tres" id="3_esmbx"] -[ext_resource type="Texture2D" uid="uid://35rd5gamtyqm" path="res://menu/arrow.svg" id="3_jxleg"] -[ext_resource type="Texture2D" uid="uid://j75dbytlbju" path="res://menu/arrow_pressed.svg" id="4_eapmn"] -[ext_resource type="Script" path="res://menu/blur_setup.gd" id="5_am8pt"] -[ext_resource type="Texture2D" uid="uid://b33qmctbpf48g" path="res://menu/arrow_hover.svg" id="5_odwav"] -[ext_resource type="Texture2D" uid="uid://by3qsrpxnfq4w" path="res://menu/arrow_focus.svg" id="6_tulu3"] +[ext_resource type="Material" uid="uid://beea1pc5nt67r" path="res://menu/theme/materials/dark_blur_material.tres" id="3_esmbx"] +[ext_resource type="Texture2D" uid="uid://35rd5gamtyqm" path="res://menu/icons/arrow.svg" id="3_jxleg"] +[ext_resource type="Texture2D" uid="uid://j75dbytlbju" path="res://menu/icons/arrow_pressed.svg" id="4_eapmn"] +[ext_resource type="Script" path="res://menu/auto_setup/blur_setup.gd" id="5_am8pt"] +[ext_resource type="Texture2D" uid="uid://b33qmctbpf48g" path="res://menu/icons/arrow_hover.svg" id="5_odwav"] +[ext_resource type="Texture2D" uid="uid://by3qsrpxnfq4w" path="res://menu/icons/arrow_focus.svg" id="6_tulu3"] [ext_resource type="PackedScene" uid="uid://b1f7bgn65j7b5" path="res://menu/controller_buttons/controller_button.tscn" id="7_t6mox"] -[ext_resource type="FontFile" uid="uid://5ixo6b3bd3km" path="res://menu/theme/font-josefin-sans.woff2" id="8_cwbpa"] +[ext_resource type="FontFile" uid="uid://5ixo6b3bd3km" path="res://menu/theme/fonts/font-josefin-sans.woff2" id="8_cwbpa"] [ext_resource type="Texture2D" uid="uid://bsx6fo7mv2u6a" path="res://menu/controller_buttons/x.svg" id="9_q14bw"] -[ext_resource type="Script" path="res://menu/scroll_container_custom.gd" id="10_bgene"] +[ext_resource type="Script" path="res://menu/auto_setup/scroll_container_custom.gd" id="10_bgene"] [ext_resource type="Texture2D" uid="uid://cr2a6ide6vnnv" path="res://menu/controller_buttons/y.svg" id="11_5uugf"] [sub_resource type="FontVariation" id="FontVariation_5xxr2"] diff --git a/client/menu/lobby/player.tscn b/client/menu/lobby/player.tscn index 964bc4fb..344aae91 100644 --- a/client/menu/lobby/player.tscn +++ b/client/menu/lobby/player.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=6 format=3 uid="uid://gmldnel4xbxy"] -[ext_resource type="Theme" uid="uid://b0qmvo504e457" path="res://menu/theme/theme.tres" id="1_flfqn"] -[ext_resource type="Texture2D" uid="uid://222w1wha75od" path="res://menu/user.webp" id="2_mnaqt"] +[ext_resource type="Theme" uid="uid://b0qmvo504e457" path="res://menu/theme/theme/theme.tres" id="1_flfqn"] +[ext_resource type="Texture2D" uid="uid://222w1wha75od" path="res://menu/icons/user.webp" id="2_mnaqt"] [ext_resource type="Script" path="res://menu/lobby/player.gd" id="2_w3lyk"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_1227j"] diff --git a/client/menu/main.tscn b/client/menu/main.tscn index ff4e7a94..7ec73085 100644 --- a/client/menu/main.tscn +++ b/client/menu/main.tscn @@ -1,11 +1,11 @@ [gd_scene load_steps=9 format=3 uid="uid://dbj8508whxgwv"] -[ext_resource type="Theme" uid="uid://b0qmvo504e457" path="res://menu/theme/theme.tres" id="1_3qfu3"] +[ext_resource type="Theme" uid="uid://b0qmvo504e457" path="res://menu/theme/theme/theme.tres" id="1_3qfu3"] [ext_resource type="Script" path="res://menu/main.gd" id="2_xjnc3"] [ext_resource type="PackedScene" uid="uid://l4vm07dtda4j" path="res://menu/menu_background.tscn" id="3_4evao"] -[ext_resource type="Material" uid="uid://2j8a0c0a2ta5" path="res://menu/theme/blur_material.tres" id="4_nx4vf"] -[ext_resource type="Script" path="res://menu/blur_setup.gd" id="5_0mn56"] -[ext_resource type="FontFile" uid="uid://bo4vh5xkpvrh1" path="res://menu/theme/font-sansita-swashed.woff2" id="5_k7bqq"] +[ext_resource type="Material" uid="uid://2j8a0c0a2ta5" path="res://menu/theme/materials/blur_material.tres" id="4_nx4vf"] +[ext_resource type="Script" path="res://menu/auto_setup/blur_setup.gd" id="5_0mn56"] +[ext_resource type="FontFile" uid="uid://bo4vh5xkpvrh1" path="res://menu/theme/fonts/font-sansita-swashed.woff2" id="5_k7bqq"] [ext_resource type="StyleBox" uid="uid://bw4jamyna1top" path="res://menu/theme/style/panel_style_sidebar.tres" id="5_qlyeo"] [sub_resource type="FontVariation" id="FontVariation_htgmg"] diff --git a/client/menu/menu_background.tscn b/client/menu/menu_background.tscn index 19f0d506..c8cd7c53 100644 --- a/client/menu/menu_background.tscn +++ b/client/menu/menu_background.tscn @@ -2,7 +2,7 @@ [ext_resource type="Script" path="res://menu/menu_background.gd" id="1_ijsg0"] [ext_resource type="Script" path="res://map/auto_setup/environment_setup.gd" id="2_rkilw"] -[ext_resource type="Shader" path="res://menu/menu_background.gdshader" id="3_5mp8y"] +[ext_resource type="Shader" path="res://menu/theme/shaders/menu_background.gdshader" id="3_5mp8y"] [ext_resource type="PackedScene" uid="uid://b4gone8fu53r7" path="res://map/map.tscn" id="3_p80a7"] [sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_uw50b"] diff --git a/client/menu/overlay.tscn b/client/menu/overlay.tscn index b298f54b..25ecae4c 100644 --- a/client/menu/overlay.tscn +++ b/client/menu/overlay.tscn @@ -1,9 +1,9 @@ [gd_scene load_steps=6 format=3 uid="uid://bpikve6wlsjfl"] -[ext_resource type="Theme" uid="uid://b0qmvo504e457" path="res://menu/theme/theme.tres" id="1_4kujw"] +[ext_resource type="Theme" uid="uid://b0qmvo504e457" path="res://menu/theme/theme/theme.tres" id="1_4kujw"] [ext_resource type="Script" path="res://menu/overlay.gd" id="2_kbjds"] -[ext_resource type="Texture2D" uid="uid://chxkwohi56cxx" path="res://menu/theme/paper_texture.tres" id="3_oum5g"] -[ext_resource type="FontFile" uid="uid://bo4vh5xkpvrh1" path="res://menu/theme/font-sansita-swashed.woff2" id="3_u54fv"] +[ext_resource type="Texture2D" uid="uid://chxkwohi56cxx" path="res://menu/textures/paper_texture.tres" id="3_oum5g"] +[ext_resource type="FontFile" uid="uid://bo4vh5xkpvrh1" path="res://menu/theme/fonts/font-sansita-swashed.woff2" id="3_u54fv"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_04ujj"] bg_color = Color(0, 0, 0, 0) diff --git a/client/menu/play.gd b/client/menu/play.gd index 7ef60bea..3d9a0d84 100644 --- a/client/menu/play.gd +++ b/client/menu/play.gd @@ -21,6 +21,7 @@ var url_regex: RegEx = RegEx.new() @onready var server_list: VBoxContainer = $side/margin/options/second/ScrollContainerCustom/ServerList @onready var server_list_loading: Label = $side/margin/options/second/Loading +@onready var server_list_empty: Label = $side/margin/options/second/NoServers @onready var connect_uri = $side/margin/options/second/connect/uri @onready var server = $side/margin/options/second/server @onready var server_control = $side/margin/options/second/server/control @@ -88,6 +89,9 @@ func update_server_list(lists: Array[Array]): connect_uri.grab_focus() else: server_list.get_child(idx - 1).grab_focus() + + # Show message if no servers available + server_list_empty.visible = idx == 0 func update_server_list_loading(status: bool): server_list_loading.visible = status diff --git a/client/menu/play.tscn b/client/menu/play.tscn index 7808c7b4..43a3414f 100644 --- a/client/menu/play.tscn +++ b/client/menu/play.tscn @@ -1,10 +1,10 @@ [gd_scene load_steps=8 format=3 uid="uid://c8url5fpttbem"] -[ext_resource type="Theme" uid="uid://b0qmvo504e457" path="res://menu/theme/theme.tres" id="1_cckds"] +[ext_resource type="Theme" uid="uid://b0qmvo504e457" path="res://menu/theme/theme/theme.tres" id="1_cckds"] [ext_resource type="Script" path="res://menu/play.gd" id="2_phxx0"] -[ext_resource type="Material" uid="uid://2j8a0c0a2ta5" path="res://menu/theme/blur_material.tres" id="3_fsbt7"] -[ext_resource type="Script" path="res://menu/scroll_container_custom.gd" id="5_cm120"] -[ext_resource type="FontFile" uid="uid://bo4vh5xkpvrh1" path="res://menu/theme/font-sansita-swashed.woff2" id="5_ojpbf"] +[ext_resource type="Material" uid="uid://2j8a0c0a2ta5" path="res://menu/theme/materials/blur_material.tres" id="3_fsbt7"] +[ext_resource type="Script" path="res://menu/auto_setup/scroll_container_custom.gd" id="5_cm120"] +[ext_resource type="FontFile" uid="uid://bo4vh5xkpvrh1" path="res://menu/theme/fonts/font-sansita-swashed.woff2" id="5_ojpbf"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ukani"] @@ -66,6 +66,13 @@ size_flags_horizontal = 3 text = "c.menu.play.fetching_list" horizontal_alignment = 1 +[node name="NoServers" type="Label" parent="side/margin/options/second"] +visible = false +layout_mode = 2 +size_flags_horizontal = 3 +text = "c.menu.play.no_servers" +horizontal_alignment = 1 + [node name="ScrollContainerCustom" type="ScrollContainer" parent="side/margin/options/second"] layout_mode = 2 size_flags_vertical = 3 diff --git a/client/menu/popup.tscn b/client/menu/popup.tscn index 68818643..84c44515 100644 --- a/client/menu/popup.tscn +++ b/client/menu/popup.tscn @@ -1,9 +1,9 @@ [gd_scene load_steps=5 format=3 uid="uid://lwtym0pbc17g"] -[ext_resource type="Theme" uid="uid://b0qmvo504e457" path="res://menu/theme/theme.tres" id="1_m0d0r"] +[ext_resource type="Theme" uid="uid://b0qmvo504e457" path="res://menu/theme/theme/theme.tres" id="1_m0d0r"] [ext_resource type="Script" path="res://menu/popup.gd" id="2_1h10j"] -[ext_resource type="Material" uid="uid://beea1pc5nt67r" path="res://menu/theme/dark_blur_material.tres" id="3_iouvy"] -[ext_resource type="Script" path="res://menu/blur_setup.gd" id="4_e4iqk"] +[ext_resource type="Material" uid="uid://beea1pc5nt67r" path="res://menu/theme/materials/dark_blur_material.tres" id="3_iouvy"] +[ext_resource type="Script" path="res://menu/auto_setup/blur_setup.gd" id="4_e4iqk"] [node name="Popup" type="Control"] layout_mode = 3 diff --git a/client/menu/printed_material.tres b/client/menu/printed_material.tres deleted file mode 100644 index 595248fd..00000000 --- a/client/menu/printed_material.tres +++ /dev/null @@ -1,6 +0,0 @@ -[gd_resource type="ShaderMaterial" load_steps=2 format=3 uid="uid://dogdyoqrmy6ft"] - -[ext_resource type="Shader" path="res://menu/printed.gdshader" id="1_v4ily"] - -[resource] -shader = ExtResource("1_v4ily") diff --git a/client/menu/rating/rating.tscn b/client/menu/rating/rating.tscn index 4b4b7a5f..a1f48c64 100644 --- a/client/menu/rating/rating.tscn +++ b/client/menu/rating/rating.tscn @@ -1,10 +1,10 @@ [gd_scene load_steps=12 format=3 uid="uid://buu3cdpigs8qq"] -[ext_resource type="Texture2D" uid="uid://b10goh4dsa3b0" path="res://player/star.webp" id="1_7qv7r"] +[ext_resource type="Texture2D" uid="uid://b10goh4dsa3b0" path="res://player/particles/satisfied/star.webp" id="1_7qv7r"] [ext_resource type="Shader" path="res://menu/rating/desaturate.gdshader" id="1_pddsm"] -[ext_resource type="Theme" uid="uid://b0qmvo504e457" path="res://menu/theme/theme.tres" id="1_uwajf"] +[ext_resource type="Theme" uid="uid://b0qmvo504e457" path="res://menu/theme/theme/theme.tres" id="1_uwajf"] [ext_resource type="Script" path="res://menu/rating/rating.gd" id="2_cq0se"] -[ext_resource type="Material" uid="uid://beea1pc5nt67r" path="res://menu/theme/dark_blur_material.tres" id="4_hdurb"] +[ext_resource type="Material" uid="uid://beea1pc5nt67r" path="res://menu/theme/materials/dark_blur_material.tres" id="4_hdurb"] [ext_resource type="AudioStream" uid="uid://camy77x26mmpv" path="res://menu/sounds/success.ogg" id="5_tutpj"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_oi7xd"] diff --git a/client/menu/settings.tscn b/client/menu/settings.tscn index d29a3646..7206990f 100644 --- a/client/menu/settings.tscn +++ b/client/menu/settings.tscn @@ -1,9 +1,9 @@ [gd_scene load_steps=5 format=3 uid="uid://8ic77jmadadj"] -[ext_resource type="Theme" uid="uid://b0qmvo504e457" path="res://menu/theme/theme.tres" id="1_foq3a"] +[ext_resource type="Theme" uid="uid://b0qmvo504e457" path="res://menu/theme/theme/theme.tres" id="1_foq3a"] [ext_resource type="Script" path="res://menu/settings.gd" id="2_3hgm8"] -[ext_resource type="Material" uid="uid://beea1pc5nt67r" path="res://menu/theme/dark_blur_material.tres" id="3_8nykw"] -[ext_resource type="Script" path="res://menu/blur_setup.gd" id="4_v6q3y"] +[ext_resource type="Material" uid="uid://beea1pc5nt67r" path="res://menu/theme/materials/dark_blur_material.tres" id="3_8nykw"] +[ext_resource type="Script" path="res://menu/auto_setup/blur_setup.gd" id="4_v6q3y"] [node name="SettingsMenu" type="Control"] layout_mode = 3 diff --git a/client/menu/settings/input/input_value_node.tscn b/client/menu/settings/input/input_value_node.tscn index 496bfaa0..0132a5dc 100644 --- a/client/menu/settings/input/input_value_node.tscn +++ b/client/menu/settings/input/input_value_node.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=3 format=3 uid="uid://c6r0nv5daq7wc"] [ext_resource type="Script" path="res://menu/settings/input/input_value_node.gd" id="1_snxax"] -[ext_resource type="Texture2D" uid="uid://cnfjbowd2i02r" path="res://menu/plus.svg" id="2_3vlvc"] +[ext_resource type="Texture2D" uid="uid://cnfjbowd2i02r" path="res://menu/icons/plus.svg" id="2_3vlvc"] [node name="InputValueNode" type="VBoxContainer"] offset_right = 128.0 diff --git a/client/menu/settings/settings_row.gd b/client/menu/settings/settings_row.gd index 68340918..f75922c4 100644 --- a/client/menu/settings/settings_row.gd +++ b/client/menu/settings/settings_row.gd @@ -24,7 +24,7 @@ signal reset() @onready var reset_button = $HBoxContainer/Reset var value_node: Node -var description = tr("No value was given to the row") +var description = "No value was given to the row" func _ready(): if value_node != null: diff --git a/client/menu/settings/settings_row.tscn b/client/menu/settings/settings_row.tscn index cd2e3b4b..489239f3 100644 --- a/client/menu/settings/settings_row.tscn +++ b/client/menu/settings/settings_row.tscn @@ -1,9 +1,9 @@ [gd_scene load_steps=7 format=3 uid="uid://o5e5vpem8w0k"] -[ext_resource type="Theme" uid="uid://b0qmvo504e457" path="res://menu/theme/theme.tres" id="1_iij3k"] +[ext_resource type="Theme" uid="uid://b0qmvo504e457" path="res://menu/theme/theme/theme.tres" id="1_iij3k"] [ext_resource type="Script" path="res://menu/settings/settings_row.gd" id="2_l8i7p"] -[ext_resource type="FontFile" uid="uid://5ixo6b3bd3km" path="res://menu/theme/font-josefin-sans.woff2" id="3_7k5da"] -[ext_resource type="Texture2D" uid="uid://cucnmy0j5n8l8" path="res://menu/reset.svg" id="4_bj3dr"] +[ext_resource type="FontFile" uid="uid://5ixo6b3bd3km" path="res://menu/theme/fonts/font-josefin-sans.woff2" id="3_7k5da"] +[ext_resource type="Texture2D" uid="uid://cucnmy0j5n8l8" path="res://menu/icons/reset.svg" id="4_bj3dr"] [sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_pk3rs"] content_margin_left = 16.0 diff --git a/client/menu/setup.tscn b/client/menu/setup.tscn index 67610aba..0ad994a5 100644 --- a/client/menu/setup.tscn +++ b/client/menu/setup.tscn @@ -1,9 +1,9 @@ [gd_scene load_steps=15 format=3 uid="uid://ddl3efikvqp66"] [ext_resource type="Script" path="res://menu/setup.gd" id="1_mo46n"] -[ext_resource type="Theme" uid="uid://ci2qajdoa1an1" path="res://menu/theme/paper.tres" id="1_yq0aa"] -[ext_resource type="Script" path="res://menu/scroll_container_custom.gd" id="2_4caf2"] -[ext_resource type="FontFile" uid="uid://bo4vh5xkpvrh1" path="res://menu/theme/font-sansita-swashed.woff2" id="3_2vg4d"] +[ext_resource type="Theme" uid="uid://ci2qajdoa1an1" path="res://menu/theme/theme/paper.tres" id="1_yq0aa"] +[ext_resource type="Script" path="res://menu/auto_setup/scroll_container_custom.gd" id="2_4caf2"] +[ext_resource type="FontFile" uid="uid://bo4vh5xkpvrh1" path="res://menu/theme/fonts/font-sansita-swashed.woff2" id="3_2vg4d"] [ext_resource type="AudioStream" uid="uid://do7ii5hx71p0m" path="res://menu/sounds/page.ogg" id="5_xac6d"] [ext_resource type="AudioStream" uid="uid://5b3noxjmasmu" path="res://menu/sounds/sign.ogg" id="6_wf0gh"] diff --git a/client/menu/theme/paper_texture.tres b/client/menu/textures/paper_texture.tres index 2c681244..2c681244 100644 --- a/client/menu/theme/paper_texture.tres +++ b/client/menu/textures/paper_texture.tres diff --git a/client/menu/theme/font-azaret-mono.woff2 b/client/menu/theme/fonts/font-azaret-mono.woff2 Binary files differindex c413b182..c413b182 100644 --- a/client/menu/theme/font-azaret-mono.woff2 +++ b/client/menu/theme/fonts/font-azaret-mono.woff2 diff --git a/client/menu/theme/font-azaret-mono.woff2.import b/client/menu/theme/fonts/font-azaret-mono.woff2.import index cafe1fbd..20a14c40 100644 --- a/client/menu/theme/font-azaret-mono.woff2.import +++ b/client/menu/theme/fonts/font-azaret-mono.woff2.import @@ -3,12 +3,12 @@ importer="font_data_dynamic" type="FontFile" uid="uid://bk704sc5gkrb3" -path="res://.godot/imported/font-azaret-mono.woff2-38a6d727215392526b2e0e5bff930be6.fontdata" +path="res://.godot/imported/font-azaret-mono.woff2-e51d1e7d25611225022685bd0a3a496f.fontdata" [deps] -source_file="res://menu/theme/font-azaret-mono.woff2" -dest_files=["res://.godot/imported/font-azaret-mono.woff2-38a6d727215392526b2e0e5bff930be6.fontdata"] +source_file="res://menu/theme/fonts/font-azaret-mono.woff2" +dest_files=["res://.godot/imported/font-azaret-mono.woff2-e51d1e7d25611225022685bd0a3a496f.fontdata"] [params] diff --git a/client/menu/theme/font-josefin-sans.woff2 b/client/menu/theme/fonts/font-josefin-sans.woff2 Binary files differindex dce2708f..dce2708f 100644 --- a/client/menu/theme/font-josefin-sans.woff2 +++ b/client/menu/theme/fonts/font-josefin-sans.woff2 diff --git a/client/menu/theme/font-josefin-sans.woff2.import b/client/menu/theme/fonts/font-josefin-sans.woff2.import index 03e086da..8334a70e 100644 --- a/client/menu/theme/font-josefin-sans.woff2.import +++ b/client/menu/theme/fonts/font-josefin-sans.woff2.import @@ -3,12 +3,12 @@ importer="font_data_dynamic" type="FontFile" uid="uid://5ixo6b3bd3km" -path="res://.godot/imported/font-josefin-sans.woff2-e2c3f263d98e1132cfe6af3f4f0a3454.fontdata" +path="res://.godot/imported/font-josefin-sans.woff2-3826b0a93d8b3bea37b981fd829e8139.fontdata" [deps] -source_file="res://menu/theme/font-josefin-sans.woff2" -dest_files=["res://.godot/imported/font-josefin-sans.woff2-e2c3f263d98e1132cfe6af3f4f0a3454.fontdata"] +source_file="res://menu/theme/fonts/font-josefin-sans.woff2" +dest_files=["res://.godot/imported/font-josefin-sans.woff2-3826b0a93d8b3bea37b981fd829e8139.fontdata"] [params] diff --git a/client/menu/theme/font-sansita-swashed.woff2 b/client/menu/theme/fonts/font-sansita-swashed.woff2 Binary files differindex 5c665fb0..5c665fb0 100644 --- a/client/menu/theme/font-sansita-swashed.woff2 +++ b/client/menu/theme/fonts/font-sansita-swashed.woff2 diff --git a/client/menu/theme/font-sansita-swashed.woff2.import b/client/menu/theme/fonts/font-sansita-swashed.woff2.import index 2d38716d..d35f5ae1 100644 --- a/client/menu/theme/font-sansita-swashed.woff2.import +++ b/client/menu/theme/fonts/font-sansita-swashed.woff2.import @@ -3,12 +3,12 @@ importer="font_data_dynamic" type="FontFile" uid="uid://bo4vh5xkpvrh1" -path="res://.godot/imported/font-sansita-swashed.woff2-323b4a2ee0671aba6e17a6f073f706f3.fontdata" +path="res://.godot/imported/font-sansita-swashed.woff2-02fc401b56679ae18723df7cf0e77bd6.fontdata" [deps] -source_file="res://menu/theme/font-sansita-swashed.woff2" -dest_files=["res://.godot/imported/font-sansita-swashed.woff2-323b4a2ee0671aba6e17a6f073f706f3.fontdata"] +source_file="res://menu/theme/fonts/font-sansita-swashed.woff2" +dest_files=["res://.godot/imported/font-sansita-swashed.woff2-02fc401b56679ae18723df7cf0e77bd6.fontdata"] [params] diff --git a/client/menu/theme/blur_material.tres b/client/menu/theme/materials/blur_material.tres index c035d230..035351c5 100644 --- a/client/menu/theme/blur_material.tres +++ b/client/menu/theme/materials/blur_material.tres @@ -1,6 +1,6 @@ [gd_resource type="ShaderMaterial" load_steps=2 format=3 uid="uid://2j8a0c0a2ta5"] -[ext_resource type="Shader" path="res://menu/blur_mix.gdshader" id="1_d16rd"] +[ext_resource type="Shader" path="res://menu/theme/shaders/blur_mix.gdshader" id="1_d16rd"] [resource] shader = ExtResource("1_d16rd") diff --git a/client/menu/theme/dark_blur_material.tres b/client/menu/theme/materials/dark_blur_material.tres index daf74099..cee1aeca 100644 --- a/client/menu/theme/dark_blur_material.tres +++ b/client/menu/theme/materials/dark_blur_material.tres @@ -1,6 +1,6 @@ [gd_resource type="ShaderMaterial" load_steps=2 format=3 uid="uid://beea1pc5nt67r"] -[ext_resource type="Shader" path="res://menu/blur_mix.gdshader" id="1_cynu0"] +[ext_resource type="Shader" path="res://menu/theme/shaders/blur_mix.gdshader" id="1_cynu0"] [resource] shader = ExtResource("1_cynu0") diff --git a/client/menu/grayscale_material.tres b/client/menu/theme/materials/grayscale_material.tres index 06d5e698..065356e5 100644 --- a/client/menu/grayscale_material.tres +++ b/client/menu/theme/materials/grayscale_material.tres @@ -1,6 +1,6 @@ [gd_resource type="ShaderMaterial" load_steps=2 format=3 uid="uid://bplhkekj6rebp"] -[ext_resource type="Shader" path="res://menu/grayscale.gdshader" id="1_u0c2c"] +[ext_resource type="Shader" path="res://menu/theme/shaders/grayscale.gdshader" id="1_u0c2c"] [resource] shader = ExtResource("1_u0c2c") diff --git a/client/menu/theme/materials/printed_material.tres b/client/menu/theme/materials/printed_material.tres new file mode 100644 index 00000000..5695d5a5 --- /dev/null +++ b/client/menu/theme/materials/printed_material.tres @@ -0,0 +1,6 @@ +[gd_resource type="ShaderMaterial" load_steps=2 format=3 uid="uid://dogdyoqrmy6ft"] + +[ext_resource type="Shader" path="res://menu/theme/shaders/printed.gdshader" id="1_sevww"] + +[resource] +shader = ExtResource("1_sevww") diff --git a/client/menu/blur_mix.gdshader b/client/menu/theme/shaders/blur_mix.gdshader index 7e95224d..7e95224d 100644 --- a/client/menu/blur_mix.gdshader +++ b/client/menu/theme/shaders/blur_mix.gdshader diff --git a/client/menu/grayscale.gdshader b/client/menu/theme/shaders/grayscale.gdshader index cc132c54..cc132c54 100644 --- a/client/menu/grayscale.gdshader +++ b/client/menu/theme/shaders/grayscale.gdshader diff --git a/client/menu/menu_background.gdshader b/client/menu/theme/shaders/menu_background.gdshader index 91b94601..91b94601 100644 --- a/client/menu/menu_background.gdshader +++ b/client/menu/theme/shaders/menu_background.gdshader diff --git a/client/menu/printed.gdshader b/client/menu/theme/shaders/printed.gdshader index 3b35faa8..3b35faa8 100644 --- a/client/menu/printed.gdshader +++ b/client/menu/theme/shaders/printed.gdshader diff --git a/client/menu/theme/paper_panel_style.tres b/client/menu/theme/style/paper_panel_style.tres index 5a8a4a78..bd49eea4 100644 --- a/client/menu/theme/paper_panel_style.tres +++ b/client/menu/theme/style/paper_panel_style.tres @@ -1,6 +1,6 @@ [gd_resource type="StyleBoxTexture" load_steps=2 format=3 uid="uid://bqhs5wtdp2oax"] -[ext_resource type="Texture2D" uid="uid://chxkwohi56cxx" path="res://menu/theme/paper_texture.tres" id="1_u1kqj"] +[ext_resource type="Texture2D" uid="uid://chxkwohi56cxx" path="res://menu/textures/paper_texture.tres" id="1_u1kqj"] [resource] texture = ExtResource("1_u1kqj") diff --git a/client/menu/theme/paper.tres b/client/menu/theme/theme/paper.tres index acf6699a..6ff3bd10 100644 --- a/client/menu/theme/paper.tres +++ b/client/menu/theme/theme/paper.tres @@ -1,7 +1,7 @@ [gd_resource type="Theme" load_steps=17 format=3 uid="uid://ci2qajdoa1an1"] -[ext_resource type="FontFile" uid="uid://bo4vh5xkpvrh1" path="res://menu/theme/font-sansita-swashed.woff2" id="1_koj1m"] -[ext_resource type="FontFile" uid="uid://5ixo6b3bd3km" path="res://menu/theme/font-josefin-sans.woff2" id="1_tc8bk"] +[ext_resource type="FontFile" uid="uid://bo4vh5xkpvrh1" path="res://menu/theme/fonts/font-sansita-swashed.woff2" id="1_koj1m"] +[ext_resource type="FontFile" uid="uid://5ixo6b3bd3km" path="res://menu/theme/fonts/font-josefin-sans.woff2" id="1_tc8bk"] [sub_resource type="FontVariation" id="FontVariation_pirkj"] base_font = ExtResource("1_tc8bk") diff --git a/client/menu/theme/theme.tres b/client/menu/theme/theme/theme.tres index fff223c0..b10c230a 100644 --- a/client/menu/theme/theme.tres +++ b/client/menu/theme/theme/theme.tres @@ -1,10 +1,10 @@ -[gd_resource type="Theme" load_steps=11 format=3 uid="uid://b0qmvo504e457"] +[gd_resource type="Theme" load_steps=12 format=3 uid="uid://b0qmvo504e457"] -[ext_resource type="FontFile" uid="uid://5ixo6b3bd3km" path="res://menu/theme/font-josefin-sans.woff2" id="1_f8qb0"] +[ext_resource type="FontFile" uid="uid://5ixo6b3bd3km" path="res://menu/theme/fonts/font-josefin-sans.woff2" id="1_f8qb0"] [ext_resource type="StyleBox" uid="uid://b86kbd3pfkd5w" path="res://menu/theme/style/focus_style.tres" id="1_x88rs"] [ext_resource type="StyleBox" uid="uid://pi5uhe0lrgka" path="res://menu/theme/style/normal_style.tres" id="2_8fwoi"] [ext_resource type="StyleBox" uid="uid://dua4jqje3704w" path="res://menu/theme/style/hover_style.tres" id="2_ye28t"] -[ext_resource type="FontFile" uid="uid://bo4vh5xkpvrh1" path="res://menu/theme/font-sansita-swashed.woff2" id="3_8u6ww"] +[ext_resource type="FontFile" uid="uid://bo4vh5xkpvrh1" path="res://menu/theme/fonts/font-sansita-swashed.woff2" id="3_8u6ww"] [ext_resource type="StyleBox" uid="uid://bcd4xcvtv7tws" path="res://menu/theme/style/panel_style.tres" id="4_42dlp"] [sub_resource type="StyleBoxLine" id="StyleBoxLine_emtvk"] @@ -35,6 +35,8 @@ base_font = ExtResource("1_f8qb0") variation_embolden = 1.25 spacing_top = 5 +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_or5ri"] + [resource] default_font = SubResource("FontVariation_lyo8w") Button/font_sizes/font_size = 18 @@ -65,3 +67,4 @@ RichTextLabel/fonts/bold_font = SubResource("FontVariation_ff4nr") RichTextLabel/fonts/bold_italics_font = SubResource("FontVariation_lyo8w") RichTextLabel/fonts/italics_font = SubResource("FontVariation_lyo8w") RichTextLabel/fonts/mono_font = SubResource("FontVariation_lyo8w") +TabContainer/styles/panel = SubResource("StyleBoxEmpty_or5ri") diff --git a/client/player/angry.tscn b/client/player/angry.tscn index 56fa4d05..c8f82ab6 100644 --- a/client/player/angry.tscn +++ b/client/player/angry.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=6 format=3 uid="uid://cvty1rwt52anq"] -[ext_resource type="Texture2D" uid="uid://unjbxplj845n" path="res://player/angry.webp" id="1_5op6v"] +[ext_resource type="Texture2D" uid="uid://unjbxplj845n" path="res://player/particles/angry/angry.webp" id="1_5op6v"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ysmnk"] transparency = 1 diff --git a/client/player/chat_message.tscn b/client/player/chat_message.tscn index 594e9ec1..287891d5 100644 --- a/client/player/chat_message.tscn +++ b/client/player/chat_message.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=4 format=3 uid="uid://5rcfoyuiwuya"] -[ext_resource type="FontFile" uid="uid://5ixo6b3bd3km" path="res://menu/theme/font-josefin-sans.woff2" id="1_3ximm"] +[ext_resource type="FontFile" uid="uid://5ixo6b3bd3km" path="res://menu/theme/fonts/font-josefin-sans.woff2" id="1_3ximm"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_dpele"] bg_color = Color(1, 1, 1, 1) diff --git a/client/player/controllable_player.gd b/client/player/controllable_player.gd index 8c907efa..3a245e1a 100644 --- a/client/player/controllable_player.gd +++ b/client/player/controllable_player.gd @@ -39,7 +39,7 @@ var current_vibration_strength := 0. var current_vibration_change := 0. var target: Vector2i = Vector2i(0, 0) -var last_interaction: Vector2i = Vector2i(0, 0) +var last_interaction = null func _ready(): vibration_timer = Timer.new() @@ -205,20 +205,23 @@ func take_item(tile: Tile): func interact(): if not is_input_enabled(): return var tile = game.map.get_tile_instance(target) - if tile != null and not last_interaction == target: - if interacting: + if tile != null: + marker.visible = true + + # clear last interaction if target has moved since + if last_interaction != null and not last_interaction == target: game.mp.send_tile_interact(game.player_id, last_interaction, false) + marker.set_interacting(false) + last_interaction = null marker.set_interactive(game.get_tile_interactive(target)) - marker.visible = true marker_target = tile.item_base.global_position - if Input.is_action_just_pressed("interact"): - interacting = true + if Input.is_action_just_pressed("interact") and last_interaction == null: last_interaction = target game.mp.send_tile_interact(game.player_id, target, true) tile.interact() marker.set_interacting(true) - elif Input.is_action_just_released("interact"): - interacting = false + if Input.is_action_just_released("interact"): + last_interaction = null game.mp.send_tile_interact(game.player_id, target, false) marker.set_interacting(false) else: diff --git a/client/player/interact_marker.gdshader b/client/player/marker/interact_marker.gdshader index 3720290f..3720290f 100644 --- a/client/player/interact_marker.gdshader +++ b/client/player/marker/interact_marker.gdshader diff --git a/client/player/marker.gd b/client/player/marker/marker.gd index 07f6bfe8..07f6bfe8 100644 --- a/client/player/marker.gd +++ b/client/player/marker/marker.gd diff --git a/client/player/marker.tscn b/client/player/marker/marker.tscn index 0d5efedb..bb638c7e 100644 --- a/client/player/marker.tscn +++ b/client/player/marker/marker.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=7 format=3 uid="uid://c0euiv7duqfp4"] -[ext_resource type="Script" path="res://player/marker.gd" id="1_3njdu"] -[ext_resource type="Shader" path="res://player/interact_marker.gdshader" id="2_dejwy"] +[ext_resource type="Script" path="res://player/marker/marker.gd" id="1_3njdu"] +[ext_resource type="Shader" path="res://player/marker/interact_marker.gdshader" id="2_dejwy"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_o4v68"] diff --git a/client/player/onscreen_controls/controls.tscn b/client/player/onscreen_controls/controls.tscn index 0d09504f..a833b69f 100644 --- a/client/player/onscreen_controls/controls.tscn +++ b/client/player/onscreen_controls/controls.tscn @@ -2,9 +2,9 @@ [ext_resource type="PackedScene" uid="uid://dmr0fcamx7t56" path="res://player/onscreen_controls/virtual_joystick_scene.tscn" id="1_4k4lh"] [ext_resource type="Script" path="res://player/onscreen_controls/controls.gd" id="1_rnoki"] -[ext_resource type="Texture2D" uid="uid://bnxllatlo4clg" path="res://menu/boost.webp" id="2_i4ife"] -[ext_resource type="Texture2D" uid="uid://dcgt82qkya880" path="res://menu/interact.webp" id="3_37rne"] -[ext_resource type="Texture2D" uid="uid://qto5rj6wlaeb" path="res://menu/pause.webp" id="5_4bttq"] +[ext_resource type="Texture2D" uid="uid://bnxllatlo4clg" path="res://menu/icons/boost.webp" id="2_i4ife"] +[ext_resource type="Texture2D" uid="uid://dcgt82qkya880" path="res://menu/icons/interact.webp" id="3_37rne"] +[ext_resource type="Texture2D" uid="uid://qto5rj6wlaeb" path="res://menu/icons/pause.webp" id="5_4bttq"] [node name="UI" type="CanvasLayer"] script = ExtResource("1_rnoki") diff --git a/client/player/angry.webp b/client/player/particles/angry/angry.webp Binary files differindex 866ba92c..866ba92c 100644 --- a/client/player/angry.webp +++ b/client/player/particles/angry/angry.webp diff --git a/client/player/angry.webp.import b/client/player/particles/angry/angry.webp.import index 2d622e73..3deee645 100644 --- a/client/player/angry.webp.import +++ b/client/player/particles/angry/angry.webp.import @@ -3,8 +3,8 @@ importer="texture" type="CompressedTexture2D" uid="uid://unjbxplj845n" -path.s3tc="res://.godot/imported/angry.webp-0f7d45c1cfc32a18650521cc19587d16.s3tc.ctex" -path.etc2="res://.godot/imported/angry.webp-0f7d45c1cfc32a18650521cc19587d16.etc2.ctex" +path.s3tc="res://.godot/imported/angry.webp-f649f66bf6a009b3b61480c4e451c61b.s3tc.ctex" +path.etc2="res://.godot/imported/angry.webp-f649f66bf6a009b3b61480c4e451c61b.etc2.ctex" metadata={ "imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true @@ -12,8 +12,8 @@ metadata={ [deps] -source_file="res://player/angry.webp" -dest_files=["res://.godot/imported/angry.webp-0f7d45c1cfc32a18650521cc19587d16.s3tc.ctex", "res://.godot/imported/angry.webp-0f7d45c1cfc32a18650521cc19587d16.etc2.ctex"] +source_file="res://player/particles/angry/angry.webp" +dest_files=["res://.godot/imported/angry.webp-f649f66bf6a009b3b61480c4e451c61b.s3tc.ctex", "res://.godot/imported/angry.webp-f649f66bf6a009b3b61480c4e451c61b.etc2.ctex"] [params] diff --git a/client/player/effect.gd b/client/player/particles/effect.gd index 00c95441..00c95441 100644 --- a/client/player/effect.gd +++ b/client/player/particles/effect.gd diff --git a/client/player/effect.tscn b/client/player/particles/effect.tscn index a360d1a8..13423874 100644 --- a/client/player/effect.tscn +++ b/client/player/particles/effect.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=9 format=3 uid="uid://dn2ne30t81ame"] -[ext_resource type="Script" path="res://player/effect.gd" id="1_aqsk6"] -[ext_resource type="PackedScene" uid="uid://yaed1vnhd0aa" path="res://player/stars.tscn" id="2_shb5l"] +[ext_resource type="Script" path="res://player/particles/effect.gd" id="1_aqsk6"] +[ext_resource type="PackedScene" uid="uid://yaed1vnhd0aa" path="res://player/particles/satisfied/stars.tscn" id="2_shb5l"] [ext_resource type="AudioStream" uid="uid://camy77x26mmpv" path="res://menu/sounds/success.ogg" id="3_favyn"] [ext_resource type="AudioStream" uid="uid://cv4isy6po6pqd" path="res://menu/sounds/failure.ogg" id="4_j38qf"] [ext_resource type="PackedScene" uid="uid://cvty1rwt52anq" path="res://player/angry.tscn" id="4_uxxex"] diff --git a/client/player/star.webp b/client/player/particles/satisfied/star.webp Binary files differindex c1d2e8ff..c1d2e8ff 100644 --- a/client/player/star.webp +++ b/client/player/particles/satisfied/star.webp diff --git a/client/player/star.webp.import b/client/player/particles/satisfied/star.webp.import index ff84dd75..11d15c58 100644 --- a/client/player/star.webp.import +++ b/client/player/particles/satisfied/star.webp.import @@ -3,8 +3,8 @@ importer="texture" type="CompressedTexture2D" uid="uid://b10goh4dsa3b0" -path.s3tc="res://.godot/imported/star.webp-4786407830caaa0c9666a30a1d4a05f7.s3tc.ctex" -path.etc2="res://.godot/imported/star.webp-4786407830caaa0c9666a30a1d4a05f7.etc2.ctex" +path.s3tc="res://.godot/imported/star.webp-4edd9a951e46ba686b105839f622c981.s3tc.ctex" +path.etc2="res://.godot/imported/star.webp-4edd9a951e46ba686b105839f622c981.etc2.ctex" metadata={ "imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true @@ -12,8 +12,8 @@ metadata={ [deps] -source_file="res://player/star.webp" -dest_files=["res://.godot/imported/star.webp-4786407830caaa0c9666a30a1d4a05f7.s3tc.ctex", "res://.godot/imported/star.webp-4786407830caaa0c9666a30a1d4a05f7.etc2.ctex"] +source_file="res://player/particles/satisfied/star.webp" +dest_files=["res://.godot/imported/star.webp-4edd9a951e46ba686b105839f622c981.s3tc.ctex", "res://.godot/imported/star.webp-4edd9a951e46ba686b105839f622c981.etc2.ctex"] [params] diff --git a/client/player/stars.tscn b/client/player/particles/satisfied/stars.tscn index 5c96c291..2bfaaec0 100644 --- a/client/player/stars.tscn +++ b/client/player/particles/satisfied/stars.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=6 format=3 uid="uid://yaed1vnhd0aa"] -[ext_resource type="Texture2D" uid="uid://b10goh4dsa3b0" path="res://player/star.webp" id="1_v8q3r"] +[ext_resource type="Texture2D" uid="uid://b10goh4dsa3b0" path="res://player/particles/satisfied/star.webp" id="1_v8q3r"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_d8uy0"] transparency = 1 diff --git a/client/player/player.gd b/client/player/player.gd index 1ca7a37f..7a002d23 100644 --- a/client/player/player.gd +++ b/client/player/player.gd @@ -28,7 +28,6 @@ var position_ = Vector2(0, 0) var position_anim = Vector2(0, 0) var boosting := false var walking := false -var interacting := false var username: String var movement_base: Node3D = Node3D.new() @@ -36,8 +35,8 @@ var movement_base: Node3D = Node3D.new() var character: Character = preload("res://player/character/character.tscn").instantiate() var chat_bubble: ChatBubble = preload("res://player/chat_bubble.tscn").instantiate() var item_bubble: ItemBubble = preload("res://player/item_bubble.tscn").instantiate() -var effect: Effect = preload("res://player/effect.tscn").instantiate() -var marker: Marker = preload("res://player/marker.tscn").instantiate() +var effect: Effect = preload("res://player/particles/effect.tscn").instantiate() +var marker: Marker = preload("res://player/marker/marker.tscn").instantiate() var marker_target = Vector3(0, 0, 0) var clear_timer: Timer = Timer.new() diff --git a/locale/de.ini b/locale/de.ini index 081bf794..2cccb160 100644 --- a/locale/de.ini +++ b/locale/de.ini @@ -1,4 +1,20 @@ [hurrycurry] +i.abstract={_b}Hurry Curry!{_b_end} ist ein mehrspieler Spiel rund ums Kochen. Dein Ziel ist es, ein Restaurant zu führen und durch das Servieren von selbstgekochten Speisen Punkte zu sammeln. Das Spiel ist vollständig freie Software, lizensiert als AGPL 3.0 only. +i.gameplay_overview=Spielübersicht +i.how_to_play=Wie wird gespielt? +i.how_to_play.par=Um zu spielen, lade dir das Spiel für dein System herunter oder verwende {_a_browser_version}die etwas rucklige Browserversion{_a_end}. Stelle dir dein Team an Köchen in der Lobby zusammen und starte ein Spiel. +i.how_to_play.book=Die Rezepte sind im {_a_book}Rezeptebuch{_a_end} nachlesbar (welches auch in manchen Küchen im Spiel verfügbar ist). +i.how_to_play.keyboard_controls=Tastatursteuerung: Bewege deinen Spieler mit WASD. Bewege die Kamera mit den Pfeiltasten. Interagiere mit der Leertaste oder J. Bewegungsschub mit der linken Umschalttaste oder K. Öffne bzw. Schließe Menüs mit Escape. Drücke die Eingabetaste um den Chat zu öffnen. Setze die Kameraeinstellung mit R zurück. +i.installation=Installation +i.installation.par=Das Quellcoderepositorium ist auf {_a_codeberg}Codeberg{_a_end} verfügbar. Fertige Pakete können aus einer der folgenden Quellen heruntergeladen werden: +i.public_servers=Öffentliche Server +i.credits=Anerkennungen +i.credits.primary=Das spiel wird primär von {_developers} entwickelt. +i.credits.contributers=Andere Beiträger beinhalten Sofviic, BigBrotherNii und RustyStriker. +i.contribute=Hilf mit +i.contribute.par=Du kannst dabei mithelfen diese Spiel noch besser zu machen, in dem du Code auf {_a_codeberg}Codeberg{_a_end} beiträgst. +i.contribute.translate=Du kannst auch auf {_a_weblate}Codeberg’s Weblate{_a_end} das Spiel in deine eigene Sprache übersetzen. +i.have_fun=Viel spaß! c.credits.developed_by=entwickelt von c.credits.models=Modelle c.credits.sounds=Soundeffekte @@ -309,11 +325,13 @@ s.error.no_info = Keine Informationen verfügbar. s.error.quoting_invalid = Befehlszeichensetzung ungültig s.error.tutorial_already_running = Das Tuturial läuft bereits s.error.tutorial_no_running = Es läuft kein Tutorial -b.bun.steps = Verarbeiten Sie zunächst das Mehl mit einem Mixer. Machen Sie sich wegen der Verpackung keine Gedanken; sie wird in unauffällige Stücke zerkleinert. Nehmen Sie den Teig sobald dieser eine angemessene Konsistenz hat aus dem Mixer und backen Sie den Teig im Ofen. Warte beim herausnehmen des Brotlaibs, bis dieser abgekühlt ist, und schneide ihn dann auf einem Brett in Scheiben. +b.bun.steps = Verarbeiten Sie zunächst das Mehl mit einem Küchenmachine. Machen Sie sich wegen der Verpackung keine Gedanken; sie wird in unauffällige Stücke zerkleinert. Nehmen Sie den Teig sobald dieser eine angemessene Konsistenz hat aus dem Küchenmachine und backen Sie den Teig im Ofen. Warte beim herausnehmen des Brotlaibs, bis dieser abgekühlt ist, und schneide ihn dann auf einem Brett in Scheiben. b.burger.variation = Der Burger kann in verschiedenen Variationen zubereitet werden, z. B. mit oder ohne Käse oder als Veggie-Burger. -b.curry.steps = Die Kokosnuss wird für ihre Milch püriert. Die Tomate und der Lauch wird in der Milch gekocht. Das Curry wird dann mit seperat gekochtem Reis serviert. +b.curry.steps = Extrahiere zuerst die Milch aus der Kokosnuss. Das geht am effizientesten, indem du die ganze Kokosnuss in der Küchenmaschine schredderst. Die Holzstückchen in dem Gemisch kannst du ignorieren. Sie sind irrelevant! Sobald die Nuss zu einem homogenen Gemisch zerkleinert wurde, kannst du eine ganze Tomate und eine ganze Stange Lauch in einen Topf geben. Schneiden musst du beides nicht, denn sie werden sowieso zu Brei, während sie in der Kokosmilch köcheln. Du solltest keine Zeit verschwenden um auf die Sauce zu warten. Stattdessen kannst du sie am besten dafür nutzen, die Hauptzutat des Gerichts zu kochen: Den Reis. Gebe ihn einen Topf. Du brauchst hierbei kein Wasser, es handelt sich um eine besondere, selbstbefeuchtende Reissorte! Sobald dieser fertig gekocht ist, kannst du beide Teile zusammenfügen und genießen! b.icecream.steps = Die Kokosnuss und die Erdbeere wird püriert in der Küchenmaschine und dann unter kontinuierlichem Umrühren in der gleichen Küchenmaschine gefroren. b.strawberry_shake.steps = Die Erdbeere und die Kokosnuss werden püriert und dann in ein Glas umgefüllt. b.burger.steps = Schneide zuerst das Steak auf der Schneideunterlage bis es die Form eines runden Burgerpatties annimmt. Lege das Patty anschließend in die Pfanne und brate es auf mittlerer Hitze für zwei Minuten. In der Zwischenzeit kannst du das Gemüße kleinschneiden, wobei jedes Stück in eine einzige Scheibe geschnitten werden sollte. Schneide danach das Brötchen in zwei Hälften. Abschließend, sobald das Patty fertig gebraten ist, staple das aufgeschnittene Brötchen, das Gemüße und das Patty auf eine Teller und serviere das fertige Gericht. Et Voilà. b.tomato_soup.steps = Nimm zuerst eine frische Tomate und püriere sie in einem speziell hellblauen Edelstahlmixer bis sie einer feinen Paste ähnelt. Fülle besagte Paste in einen großen Topf deine Wahl und füge einen ganzen Lauch hinzu. Koche diese Mischung bis die Konsistenz homogen ist und die Farbe apettitlich aussieht. Serviere die Suppe auf einem Teller und genieße sie! b.mochi.steps = Mahle die dir zuerst dein eigenes Reismehl aus ganzen Reiskörnern in der Küchenmaschine. Erhitze dies danach vorsichtig in einem Topf und forme den sich ergebenden Teig um eine Erdbeere. +b.dishes = Hauptspeisen +b.curry.desc = Diese appettitliche und exotische Gericht wärmt dich an kalten Tagen und verleiht die neue Stärke. diff --git a/locale/el.ini b/locale/el.ini new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/locale/el.ini @@ -0,0 +1 @@ + diff --git a/locale/en.ini b/locale/en.ini index 0dbb6120..630fcd6a 100644 --- a/locale/en.ini +++ b/locale/en.ini @@ -1,4 +1,22 @@ [hurrycurry] +i.abstract={_b}Hurry Curry!{_b_end} is a multiplayer game about cooking. Your goal is to run a restaurant and gain points by serving meals you’ve cooked. The game is completely free software, licenced AGPL 3.0 only. +i.gameplay_overview=Gameplay Overview +i.gameplay_overview.par=During the game, customers will enter your restaurant and order different meals. The players task is to assemble these meals by cutting, cooking, baking and combining resources in the kitchen. Multitasking is crucial but can lead to food burning or customers leaving if the player takes to long. There are many different restaurant/kitchen layouts. +i.how_to_play=How to play +i.how_to_play.par=To play, download the game for your platform or use {_a_browser_version}the rather laggy browser version{_a_end}. Assemble your team of chefs in the lobby before starting the game. +i.how_to_play.book=The recipes can be found in the Recipe {_a_book}Book{_a_end} (also available ingame in some maps). +i.how_to_play.keyboard_controls=Keyboard Controls: Move character with WASD. Move camera with arrow keys. Interact with Space or J. Boost with Left Shift or K. Open/close menus with Escape. Press Enter to open chat. Reset view with R. +i.how_to_play.controller_controls=Controller Controls: Move character with Left Stick. Move camera with Right Stick. Interact with A, Boost with B, Open/close menus with Menu button. Use keyboard for chat. Reset view with Y. +i.installation=Installation +i.installation.par=The source code repository is available on {_a_codeberg}Codeberg{_a_end}. Prebuilt packages can be downloaded from one of the following sources: +i.public_servers=Public Servers +i.credits=Credits +i.credits.primary=The game is primarily developed by {_developers}. +i.credits.contributers=Other contributers include Sofviic, BigBrotherNii and RustyStriker. +i.contribute=Contribute +i.contribute.par=You can help make the game better by contributing code through pull requests on {_a_codeberg}Codeberg{_a_end} +i.contribute.translate=You can also translate the game to your language on {_a_weblate}Codeberg’s Weblate{_a_end}. +i.have_fun=Have fun! b.about.image_attrib=Background image attribution b.about.name=The Hurry Curry! recipe book. b.about=About this book @@ -96,6 +114,7 @@ c.menu.play.allow_query_registry=To show a public server list a registry service c.menu.play.connect=Connect c.menu.play.fetching_list=Fetching server list... c.menu.play.list_item={0} ({1} players) +c.menu.play.no_servers=No servers available. c.menu.play.quick_connect=Quick Connect c.menu.play.server_binary_not_found=Server binary was not found. Please install the server separately. c.menu.play.server_failed_tooltip=The server crashed or exited in some way or another.%nYou should try starting the server from the command-line. diff --git a/locale/fr.ini b/locale/fr.ini index 02959be8..722d8f64 100644 --- a/locale/fr.ini +++ b/locale/fr.ini @@ -1,46 +1,49 @@ [hurrycurry] -c.settings.input.boost= -c.settings.input.rotate_down= -c.settings.input.rotate_left= -c.settings.input.reset=Utilisez {0} pour réinitialiser la caméra -c.settings.input.rotate_right= -c.settings.input.rotate_up= -c.settings.input.chat= -c.settings.input.fullscreen=Plein écran -c.settings.input.interact=Entrez le chemin -c.settings.input.backwards= -c.settings.input.forwards= -c.settings.input.left= -c.settings.input.right= -c.settings.input.zoom_in= -c.settings.input.zoom_in_discrete= -c.settings.input.zoom_out= -c.settings.input.zoom_out_discrete= +b.about = À propos de ce live +b.about.image_attrib = Attribution de l'image d'arrière-plan +b.about.name = Le livre de cuisine de Hurry Curry!. +b.bun = Petit pain +b.bun.desc = Le repas le plus nourrissant de tous. À déguster de préférence avec une soupe à la tomate. +b.burger = Burger +b.curry = Curry au riz +b.dishes = Plats +b.drinks = Boissons +b.icecream = Glace à la fraise +b.ingred.bun = un petit pain +b.ingred.cheese = un morceau de fromage +c.chat.write_message = Écrire un message c.credits.developed_by=développé par +c.credits.models=Modèles +c.credits.sounds=Sons c.credits.thanks=Merci d’avoir joué c.credits.title=Hurry Curry! - un jeu sur la cuisine -c.error=Erreur c.error.cannot_cancel_no_game=Impossible d’annuler la partiecar aucune partie n’est en cours. +c.error.empty_username = Le nom d’utilisateur ne peut pas être vide. c.error.must_join_to_cancel=Vous devez rejoindre une partie pour pouvoir l’annuler. c.error.placeholder=///. -c.error.websocket=WebSocket clos par le code: {0}, raison {1}. Nettoyer: {2} -c.hint=Indice +c.error.select_hairstyle = Tu doit choisir une coiffure. +c.error.server = Erreur du serveur : {0} +c.error.websocket=WebSocket a fermé avec le code : {0}, raison {1}. Propre : {2} +c.error=Erreur c.hint.boost=Appuyez sur {0} pour le boost c.hint.framerate_low=Votre fréquence d’images semble mauvaise. Vous pouvez réduire vos paramètres graphiques dans le menu des paramètres. +c.hint.interact=Appuyez sur {0} pour attraper des objets et maintenez {1} enfoncé pour interagir avec les outils c.hint.movement=Utilisez {0} pour avancer c.hint.reset_camera=Appuyez sur {0} pour réinitialiser la caméra c.hint.zoom_camera=Utilisez {0} pour zoomer/dézoomer +c.hint=Indice c.lobby.botenable=Activer des robots c.lobby.mapname=Nom de la carte c.lobby.players=Joueurs c.lobby.start=Comencer serveur -c.map.difficulty=Difficulté c.map.difficulty.0=Facile c.map.difficulty.1=Difficile c.map.difficulty.2=Normale c.map.difficulty.3=L’horreur c.map.difficulty.4=Très difficile +c.map.difficulty=Difficulté c.map.players_recommended={0} joueurs recommandés +c.menu.accept=Accepter c.menu.back=Retour c.menu.credits=Crédits c.menu.ingame.cancel=Annuler la partie @@ -53,10 +56,10 @@ c.menu.ingame.reconnect=Se reconnecter c.menu.ingame.resume=Reprendre c.menu.ingame.spectate=Mode spectateur c.menu.my_chef=Mon Chef -c.menu.play=Jouer c.menu.play.connect=Connexion c.menu.play.quick_connect=Connexion rapide c.menu.play.server=Serveur +c.menu.play=Jouer c.menu.quit=Quitter c.menu.settings=Paramètres c.score.acceptable=Service acceptable @@ -64,68 +67,90 @@ c.score.completed=Complété c.score.excellent=Excellent service c.score.failed=Échoué c.score.good=Bon service -c.score.points=Points c.score.points_par=Vous avez collecté {0} points +c.score.points=Points c.score.poor=Mauvais service c.settings.apply=Sauver & Appliquer -c.settings.audio= c.settings.audio.master_volume=Volume principal c.settings.audio.music_volume=Volume de la musique c.settings.audio.sfx_volume=Volume des effets sonores -c.settings.input= -c.settings.input.add= -c.settings.input.joypad= -c.settings.input.joypad_axis= -c.settings.input.keyboard= -c.settings.input.mouse_button=Bouton de menu -c.settings.input.other_event= -c.settings.input.press_any_key= +c.settings.audio= +c.settings.gameplay.hints_started=Tutoriel commencé +c.settings.gameplay.interpolate_camera_rotation=Interpoler la rotation de la caméra +c.settings.gameplay.invert_camera=Inverser le mouvement de caméra +c.settings.gameplay.latch_boost=Toujours prolonger le boost jusqu’à la durée maximale +c.settings.gameplay.setup_completed=Configuration initiale terminée. (Décochez et recommencer pour entrer à nouveau) +c.settings.gameplay.usernames=Montrer les noms d’utilisateur +c.settings.gameplay= +c.settings.graphics.aa=Anti crénelage +c.settings.graphics.ao=Occlusion ambiante c.settings.graphics.debug_info=Montrer les informations de débogage (Fréquence d’images, etc.) -c.settings.graphics.fullscreen=Plein écran c.settings.graphics.fullscreen.always=Toujours c.settings.graphics.fullscreen.keep=Garder c.settings.graphics.fullscreen.never=Jamais -c.settings.gameplay= -c.settings.gameplay.latch_boost=Toujours prolonger le boost jusqu’à la durée maximale -c.settings.graphics.gi=Luminosité générale +c.settings.graphics.fullscreen=Plein écran c.settings.graphics.gi.sdfgi=SDFGI c.settings.graphics.gi.voxelgi=IG Voxel +c.settings.graphics.gi=Luminosité générale c.settings.graphics.glow=Activer la lueur -c.settings.graphics=Graphismes -c.settings.graphics.aa=Anti crénelage -c.settings.graphics.ao=Occlusion ambiante -c.settings.graphics.taa=Anti crénelage temporel c.settings.graphics.grass_amount=Quantité d’herbe 3D par tuile d’herbe -c.settings.ui.language=Langue -c.settings.ui.language.system=Défaut du système c.settings.graphics.lq_trees=Arbres de quelques polygones -c.settings.other= c.settings.graphics.preset.high=Élevé c.settings.graphics.preset.low=Faible c.settings.graphics.preset.medium=Moyen -c.settings.other.server_data=Répertoire de données du serveur (laisser vide pour la détection automatique) -c.settings.other.server_binary=Binaire du serveur (laisser vide pour rechercher le chemin) -c.settings.other.server_binary.placeholder=Entrez le chemin c.settings.graphics.shadows=Activer les ombres -c.settings.gameplay.interpolate_camera_rotation=Interpoler la rotation de la caméra -c.settings.ui=Nom d’utilisateur +c.settings.graphics.taa=Anti crénelage temporel +c.settings.graphics.ui_blur=Activer le flou dans l’interface utilisateus +c.settings.graphics=Graphismes +c.settings.input.add= +c.settings.input.backwards= +c.settings.input.boost= +c.settings.input.chat= +c.settings.input.forwards= +c.settings.input.fullscreen=Plein écran +c.settings.input.interact=Entrez le chemin +c.settings.input.joypad_axis= +c.settings.input.joypad= +c.settings.input.keyboard= +c.settings.input.left= +c.settings.input.mouse_button=Bouton de menu +c.settings.input.other_event= +c.settings.input.press_any_key= +c.settings.input.reset=Utilisez {0} pour réinitialiser la caméra +c.settings.input.right= +c.settings.input.rotate_down= +c.settings.input.rotate_left= +c.settings.input.rotate_right= +c.settings.input.rotate_up= +c.settings.input.zoom_in_discrete= +c.settings.input.zoom_in= +c.settings.input.zoom_out_discrete= +c.settings.input.zoom_out= +c.settings.input= +c.settings.other.server_binary.placeholder=Entrez le chemin +c.settings.other.server_binary=Binaire du serveur (laisser vide pour rechercher le chemin) +c.settings.other.server_data=Répertoire de données du serveur (laisser vide pour la détection automatique) +c.settings.other= +c.settings.ui.language.system=Défaut du système +c.settings.ui.language=Langue c.settings.ui.scale_factor=Taille de l’interface utilisateur -c.settings.ui.scale_mode=Mode d’échelle de l’interface utilisateur c.settings.ui.scale_mode.resize=Redimensionner +c.settings.ui.scale_mode=Mode d’échelle de l’interface utilisateur c.settings.ui.touch_controls=Activer les commandes de l’écran tactile -c.settings.graphics.ui_blur=Activer le flou dans l’interface utilisateus +c.settings.ui=Nom d’utilisateur c.settings.username=Nom d’utilisateur -c.setup.contract_title=CONTRAT DE TRAVAIL -c.setup.contract_desc=Ce contrat légal est rédigé entre vous (l’employé) et Musterfoods Ltd. (l’employeur) pour travailler comme chef ou serveur. -c.setup.name=1. [b]Nom de l’employé[/b] -c.setup.position=2. [b]Fiche de poste[/b] -c.setup.position.value=Chef / Serveur -c.setup.uniform=3. [b]Uniforme de travail.[/b] Vous devrez toujours porter l’une des coiffures suivantes. -c.setup.compensation=6. [b]Compensation.[/b] Vous recevrez une compensation mensuelle pour votre travail. c.setup.compensation.salary.prefix=Le salaire est de -c.setup.compensation.salary=0,00 € c.setup.compensation.salary.suffix=par mois +c.setup.compensation.salary=0,00 € +c.setup.compensation=6. [b]Compensation.[/b] Vous recevrez une compensation mensuelle pour votre travail. +c.setup.contract_desc=Ce contrat légal est rédigé entre vous (l’employé) et Musterfoods Ltd. (l’employeur) pour travailler comme chef ou serveur. +c.setup.contract_title=CONTRAT DE TRAVAIL c.setup.frank_signature=F.Miller +c.setup.name=1. [b]Nom de l’employé[/b] Entre votre nom, s'il vous plaît. Les autres chefs peuvent voir ton nom sur votre étiquette. +c.setup.position.value=Chef / Serveur +c.setup.position=2. [b]Fiche de poste[/b] +c.setup.uniform.value=Coiffure {0} +c.setup.uniform=3. [b]Uniforme de travail.[/b] Vous devrez toujours porter l’une des coiffures suivantes. c.setup.user_signature=Cliquez pour signer s.bot.simple=Chef simple s.bot.waiter=Barman @@ -138,26 +163,35 @@ unknown464=- unknown476=MAJUSCULE unknown484=stick gauche unknown488=BARRE D’ESPACE -c.settings.gameplay.invert_camera=Inverser le mouvement de caméra -c.hint.interact=Appuyez sur {0} pour attraper des objets et maintenez {1} enfoncé pour interagir avec les outils unknown506=Page précédente/Page suivante unknown510=Utilisez {0} pour orienter le point de vue de la caméra unknown514=Touches fléchées unknown518=stick droit unknown524=Les noms d’utilisateurs peuvent être activées/désactivées dans les paramètres -c.settings.gameplay.usernames=Montrer les noms d’utilisateur unknown530=Appuyez sur {0} et cliquez sur "Rejoindre" pour rejoindre le partie lorsqu’elle est en route unknown534=ÉCHAP unknown538=Bouton de menu unknown551=Serveur (Indisponible) -c.setup.uniform.value=Coiffure {0} -c.credits.models=Modèles -c.credits.sounds=Sons -c.settings.gameplay.setup_completed=Configuration initiale terminée. (Décochez et recommencer pour entrer à nouveau) unknown622=Vous devez remplir tous les champs requis. -c.menu.accept=Accepter -c.settings.gameplay.hints_started=Tutoriel commencé unknown732= unknown736= unknown740=Regarder unknown752= +b.about.image_attrib = Attribution de l'image d'arrière-plan +b.ingred.cheese = un morceau de fromage +c.chat.write_message = Écrire un message +c.error.server = Erreur du serveur : {0} +c.error.empty_username = Le nom d’utilisateur ne peut pas être vide. +b.dishes = Plats +b.ingred.bun = un petit pain +c.error.select_hairstyle = Tu doit choisir une coiffure. +b.about.name = Le livre de cuisine de Hurry Curry!. +b.about = À propos de ce live +b.bun = Petit pain +b.burger = Burger +b.curry = Curry au riz +b.drinks = Boissons +b.icecream = Glace à la fraise +b.bun.desc = Le repas le plus nourrissant de tous. À déguster de préférence avec une soupe à la tomate. +c.error.version_mismatch = Les versions du serveur et du client ne correspondent pas. Serveur : {0}.{1}, Client : {2}.{3}%nEst-tu sûr que le jeu est à jour ? +c.error.websocket.unavailable = indisponible diff --git a/locale/ko.ini b/locale/ko.ini new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/locale/ko.ini @@ -0,0 +1 @@ + diff --git a/locale/nl.ini b/locale/nl.ini index e975f473..d3431dbe 100644 --- a/locale/nl.ini +++ b/locale/nl.ini @@ -266,3 +266,32 @@ c.settings.gameplay.vibration = Trillingen inschakelen c.menu.deny = Weigeren c.play.allow_query_registry = Wil je in het register zoeken naar openbare servers? c.error.select_hairstyle = Kies een haarstijl. +b.about.image_attrib = Maker van achtergrondafbeelding +b.about.name = Het Hurry Curry!-receptenboek. +b.about = Over dit boek +b.bun.desc = De meest verzadigende maaltijd van allemaal. Serveer met tomatensoep. +b.curry.desc = Dit smakelijke, exotische gerecht geeft je een warm gevoel op een koude dag, en voorziet je van nieuwe energie. +b.burger.variation = De burger kan op meerdere manieren worden gemaakt, bijvoorbeeld zonder kaas of vegetarisch. +b.burger = Burger +b.curry.steps = Extraheer de melk uit de kokosnoot door deze in een keukenmachine fijn te hakken. Let niet op de stukjes hout in het mengsel. Als de noot volledig verwerkt is, kun je de melk in een pan gieten, tezamen met een tomaat en prei. Je hoeft ze niet van tevoren te snijden, want ze worden vanzelf lekker zompig in de kokosmelk. Kook vervolgens de rijst zonder water (deze speciale rijst produceert zelf water). Combineer de rijst en de saus en geniet van de maaltijd! +b.bun.steps = Stop de bloem in een keukenmachine. De zak is niet relevant, want die wordt in kleine, onzichtbare stukjes gehakt. Als het deeg de juiste consistentie heeft bereik, kun je het uit de machine halen en in de oven stoppen totdat het mooi bruin is. Wacht daarna tot het is afgekoeld en snijd het op een snijplank in plakjes. +b.bun = Broodje +b.burger.desc = Een rijke maaltijd met gezonde groenten, brood en een perfecte steak. +b.burger.steps = Leg de steak op een snijplank en snijd met een mes in een ronde vorm. Leg de burger in een pan en laat twee minuten op middelhoge temperatuur bakken. Snijd ondertussen alle groenten in kleine plakjes en het broodje in tweeën. Leg vervolgens de burger op de ene helft van het broodje en de groenten daar weer bovenop, en ten slotte de andere helft van het broodje. Et voilà. +b.curry = Curry met rijst +b.drinks = Dranken +b.icecream.steps = Stop kokosnoot en aardbei in een keukenmachine en blijf doorroeren. +b.icecream = Aardbeienijs +b.mochi.steps = Maak je eigen rijstbloem door rijst te verwerken in een keukenmachine. Kook de rijstbloem vervolgens stoomgaar in een pan. +b.dishes = Gerechten +b.ingred.bun = een broodje +b.ingred.cheese = een stuk kaas +b.ingred.coconut = een kokosnoot +b.ingred.fish = een vis +b.ingred.flour = een zak bloem +b.ingred.leek = een prei +b.ingred.lettuce = een krop sla +b.ingred.rice = een zak rijst +b.ingred.steak = een rauwe steak +b.ingred.strawberry = een aardbei +b.ingred.tomato = een tomaat diff --git a/locale/zh_Hans.ini b/locale/zh_Hans.ini index 4e0940bc..6b68b3c7 100644 --- a/locale/zh_Hans.ini +++ b/locale/zh_Hans.ini @@ -281,7 +281,7 @@ b.drinks = 饮料 b.bun.steps = 首先用食品加工机加工面粉。不要介意袋子,它会被撕成不可见的碎片。面团达到可操作的稠度后,就将其从食品加工机中取出并放入烤箱中烘烤。取出面包后,等待其冷却,然后在砧板上切片。 b.burger.variation = 汉堡有多种做法,如不加奶酪或作为素食汉堡。 b.burger = 汉堡 -b.curry.steps = 将椰子磨成泥,取椰奶,番茄和韭菜放入椰奶中煮熟,咖喱与单独煮好的米饭一起上桌。 +b.curry.steps = 首先,从椰子中榨出椰奶。最有效的方法是用食品加工机将整个椰子切碎。不要在意混合物中的木屑,它们不重要!椰子完全搅匀后,您可以将一整个番茄和一整根韭菜放入锅中,无需切碎,因为它们在椰奶中煮沸时会变成糊状。不要浪费时间等待酱汁,而是最好将其用于烹饪菜肴的主要成分:米饭。将其放入锅中。这里不需要加水,这是一种特殊的自我保湿大米品种!完成后,只需将两部分混合即可享用! b.curry = 咖喱饭 b.about.name = Hurry Curry!食谱书。 b.about.image_attrib = 背景图片署名 @@ -318,3 +318,5 @@ s.error.tutorial_already_running = 教程已在运行 b.ingred.cheese = 一块奶酪 b.ingred.steak = 一块生牛排 b.ingred.strawberry = 一颗草莓 +b.curry.desc = 这道开胃且充满异国情调的菜肴会在寒冷的日子里为您带来温暖,并赋予您新的力量。 +b.dishes = 菜肴 @@ -91,6 +91,10 @@ make test-client `python -m http.server 8080 -d test-client` - Open the page with your browser. +## Contributing + +For discussion regarding development, feel free to join our matrix room: [#hurrycurry:metamuffin.org](https://matrix.to/#/#hurrycurry:metamuffin.org). + ## License AGPL-3.0-only; See [COPYING](./COPYING). diff --git a/server/bot/src/algos/dishwasher.rs b/server/bot/src/algos/dishwasher.rs index bfe57d0c..b52b72d1 100644 --- a/server/bot/src/algos/dishwasher.rs +++ b/server/bot/src/algos/dishwasher.rs @@ -99,10 +99,9 @@ impl Context<'_, DishWasher> { self.assert_tile_is_clear(pos)?; } if self.is_hand_item(self.state.dirty_plate.unwrap()) { - self.interact_with( - self.find_empty_interactable_tile_by_name("sink").unwrap(), - 2.0, - )?; + if let Some(sink) = self.find_empty_interactable_tile_by_name("sink") { + self.interact_with(sink, 2.0)?; + } } self.assert_hand_is_clear()?; Ok(()) |