diff options
34 files changed, 491 insertions, 664 deletions
diff --git a/client/game.gd b/client/game.gd index d3d8ab13..f96398b2 100644 --- a/client/game.gd +++ b/client/game.gd @@ -108,7 +108,7 @@ func _ready(): mp.set_tile.connect(set_tile) mp.remove_tile.connect(func (pos): map.clear_tile(pos)) - mp.movement.connect(func(player: int, pos: Vector2, rot: float, boost: bool, dir: Vector2): + mp.movement.connect(func(player: int, pos: Vector2, rot: float, boost: bool, _dir: Vector2): var player_instance: Player = players[player] player_instance.update_position(pos, rot, boost) if player == player_id: diff --git a/client/global.gd b/client/global.gd index e7f62091..647cac32 100644 --- a/client/global.gd +++ b/client/global.gd @@ -48,7 +48,7 @@ var default_settings := { "sfx_volume": RangeSetting.new(tr("SFX Volume"), 0, -30, 0), "fullscreen": DropdownSetting.new(tr("Fullscreen"), 0, [tr("Keep"), tr("Always"), tr("Never")]), "touch_controls": DropdownSetting.new(tr("Enable touch screen controls"), 0, [tr("Automatic"), tr("Enabled"), tr("Disabled")]), - "interpolate_camera_rotation": ToggleSetting.new(tr("Interpolate the camera rotation"), true), + "interpolate_camera_rotation": ToggleSetting.new(tr("Smooth camera rotation"), true), "invert_camera": ToggleSetting.new(tr("Invert camera movement"), false), "usernames": ToggleSetting.new(tr("Show username tags"), true), "server_binary": TextSetting.new(tr("Server binary (leave empty to search PATH)"), "", tr("Enter path")), diff --git a/client/menu/blur_setup.gd b/client/menu/blur_setup.gd index f5363003..97729074 100644 --- a/client/menu/blur_setup.gd +++ b/client/menu/blur_setup.gd @@ -1,3 +1,18 @@ +# Hurry Curry! - a game about cooking +# Copyright 2024 tpart +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, version 3 of the License only. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <https://www.gnu.org/licenses/>. +# extends Control func _ready(): diff --git a/client/menu/rating/rating.gd b/client/menu/rating/rating.gd index a3b2261d..1669e5fc 100644 --- a/client/menu/rating/rating.gd +++ b/client/menu/rating/rating.gd @@ -1,3 +1,19 @@ +# Hurry Curry! - a game about cooking +# Copyright 2024 tpart +# Copyright 2024 metamuffin +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, version 3 of the License only. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <https://www.gnu.org/licenses/>. +# extends Menu const PARTICLE_AMOUNTS = [0, 6, 32, 128] @@ -12,7 +28,7 @@ func _ready(): super() show_rating(data[0], data[1]) -func _process(delta): +func _process(_delta): particles.emission_rect_extents = get_viewport_rect().size * Vector2(0.5, 0.5) func show_rating(stars_: int, points: int): diff --git a/client/po/ar.po b/client/po/ar.po index 2ee2aae7..61e1ad0b 100644 --- a/client/po/ar.po +++ b/client/po/ar.po @@ -84,7 +84,8 @@ msgid "Disabled" msgstr "بطّل" #: global.gd -msgid "Interpolate the camera rotation" +#, fuzzy +msgid "Smooth camera rotation" msgstr "سهّل حركة الكاميرا" #: global.gd @@ -191,6 +192,10 @@ msgid "Low" msgstr "ضعيف" #: global.gd +msgid "Medium" +msgstr "" + +#: global.gd msgid "High" msgstr "عالي" @@ -545,8 +550,8 @@ msgid "" "Server and client versions do not match. Server: %d.%d, Client: %d.%d.\n" "Are you sure the game is up to date?" msgstr "" -"لا يتطابقا إصدارا الـserver والـclient. الـserver: %d.%d، والـclient: %d.%d." -"\n" +"لا يتطابقا إصدارا الـserver والـclient. الـserver: %d.%d، والـclient: %d." +"%d.\n" "هل أنتم متأكدون من أن اللعبة محدثة؟" #: menu/hairstyle_preview.gd diff --git a/client/po/de.po b/client/po/de.po index e47dcdc8..ac33d621 100644 --- a/client/po/de.po +++ b/client/po/de.po @@ -67,7 +67,8 @@ msgid "Disabled" msgstr "Deaktiviert" #: global.gd -msgid "Interpolate the camera rotation" +#, fuzzy +msgid "Smooth camera rotation" msgstr "Kameradrehung interpolieren" #: global.gd @@ -91,7 +92,8 @@ msgid "Server data directory (leave empty to auto-detect)" msgstr "Server Datenverzeichnis (leer lassen, um automatisch zu erkennen)" #: global.gd -msgid "UI scale" +#, fuzzy +msgid "UI scale mode" msgstr "Benutzeroberflächenskalierung" #: global.gd @@ -99,6 +101,11 @@ msgid "Resize" msgstr "Skalieren" #: global.gd +#, fuzzy +msgid "UI scale factor" +msgstr "Benutzeroberflächenskalierung" + +#: global.gd msgid "Anti-aliasing" msgstr "Kantenglättung" @@ -111,14 +118,16 @@ msgid "Temporal Anti-Aliasing" msgstr "Zeitliche Kantenglättung" #: global.gd -msgid "Use VoxelGI (Blocks the game on map update but is more accurate)" -msgstr "VoxelGI verwenden (Blockiert das Spiel, wenn sich die Karte verändert)" +msgid "Global illumination" +msgstr "" + +#: global.gd +msgid "SDFGI" +msgstr "" #: global.gd -msgid "Use SDFGI (Doesn't block the game but produces more artifacts)" +msgid "Voxel GI" msgstr "" -"SDFGI verwenden (Blockiert das Spiel nicht, ist aber weniger " -"Ressourcenschonend)" #: global.gd msgid "Enable shadows" @@ -155,6 +164,28 @@ msgid "Always extend boost to maximum duration" msgstr "Schub immer bis zum Anschlag verlängern" #: global.gd +#, fuzzy +msgid "Enable UI blur" +msgstr "Glow aktivieren" + +#: global.gd +#, fuzzy +msgid "Graphics" +msgstr "Grafikvoreinstellung" + +#: global.gd +msgid "Low" +msgstr "Niedrig" + +#: global.gd +msgid "Medium" +msgstr "Mittel" + +#: global.gd +msgid "High" +msgstr "Hoch" + +#: global.gd msgid "System default" msgstr "Systemstandard" @@ -315,6 +346,14 @@ msgstr "Spiel verlassen" msgid "Join Game" msgstr "Spiel beitreten" +#: menu/ingame.tscn menu/ingame.gd +msgid "Cannot cancel game since no game is running." +msgstr "" + +#: menu/ingame.tscn menu/ingame.gd +msgid "You must join in order to be able to cancel the current game." +msgstr "" + #: menu/ingame.tscn msgid "Resume" msgstr "Fortsetzen" @@ -446,7 +485,8 @@ msgid "PageUp/PageDown" msgstr "BildHoch/BildRunter" #: menu/popup_message.gd -msgid "Use %s to reset the camera view" +#, fuzzy +msgid "Use %s to rotate the camera view" msgstr "Nutze %s, um die Kameraansicht zurückzusetzen" #: menu/popup_message.gd @@ -495,8 +535,12 @@ msgid "Hairstyle %d" msgstr "Frisur %d" #: menu/credits.tscn menu/credits.gd -msgid "Thank You For Playing" -msgstr "Danke fürs Spielen" +msgid "Models" +msgstr "" + +#: menu/credits.tscn menu/credits.gd +msgid "Sounds" +msgstr "" #: menu/credits.tscn menu/credits.gd msgid "Hurry Curry! - a game about cooking" @@ -507,32 +551,23 @@ msgid "developed by" msgstr "entwickelt von" #: menu/credits.tscn menu/credits.gd -msgid "Licensed under Creative Commons: By Attribution 3.0 License" -msgstr "Lizensiert unter Creative Commons: By Attribution 3.0 License" - -#: menu/credits.tscn menu/credits.gd -msgid "by" -msgstr "von" - -#: menu/credits.tscn menu/credits.gd -msgid "Licensed under Creative Commons: By Attribution 4.0 License" -msgstr "Lizensiert unter Creative Commons: By Attribution 4.0 License" - -#: menu/credits.tscn menu/credits.gd -msgid "Additional CC0 assets by" -msgstr "Zusätzliche CC0 Assets von" +msgid "Thank You For Playing" +msgstr "Danke fürs Spielen" #: menu/credits.tscn menu/credits.gd -msgid "Support for Translations by" -msgstr "Unterstützung bei der Übersetzung von" +msgid "[table=3]" +msgstr "" #: menu/credits.tscn menu/credits.gd -msgid "For further information on" -msgstr "Für weitere Informationen auf" +msgid "" +"[/table]\n" +"\n" +"\n" +msgstr "" #: menu/credits.tscn menu/credits.gd -msgid "visit" -msgstr "besuchen Sie" +msgid "[/center]" +msgstr "" #: menu/rating/rating.gd msgid "Poor service" @@ -562,6 +597,36 @@ msgstr "Sie müssen alle verlangten Felder ausfüllen." msgid "Accept" msgstr "Akzeptieren" +#~ msgid "Use VoxelGI (Blocks the game on map update but is more accurate)" +#~ msgstr "" +#~ "VoxelGI verwenden (Blockiert das Spiel, wenn sich die Karte verändert)" + +#~ msgid "Use SDFGI (Doesn't block the game but produces more artifacts)" +#~ msgstr "" +#~ "SDFGI verwenden (Blockiert das Spiel nicht, ist aber weniger " +#~ "Ressourcenschonend)" + +#~ msgid "Licensed under Creative Commons: By Attribution 3.0 License" +#~ msgstr "Lizensiert unter Creative Commons: By Attribution 3.0 License" + +#~ msgid "by" +#~ msgstr "von" + +#~ msgid "Licensed under Creative Commons: By Attribution 4.0 License" +#~ msgstr "Lizensiert unter Creative Commons: By Attribution 4.0 License" + +#~ msgid "Additional CC0 assets by" +#~ msgstr "Zusätzliche CC0 Assets von" + +#~ msgid "Support for Translations by" +#~ msgstr "Unterstützung bei der Übersetzung von" + +#~ msgid "For further information on" +#~ msgstr "Für weitere Informationen auf" + +#~ msgid "visit" +#~ msgstr "besuchen Sie" + #~ msgid "Stop Server" #~ msgstr "Server stoppen" @@ -634,21 +699,9 @@ msgstr "Akzeptieren" #~ msgid "Map" #~ msgstr "Karte" -#~ msgid "Low" -#~ msgstr "Niedrig" - -#~ msgid "Medium" -#~ msgstr "Mittel" - -#~ msgid "High" -#~ msgstr "Hoch" - #~ msgid "Ultra" #~ msgstr "Ultra" -#~ msgid "Graphics preset" -#~ msgstr "Grafikvoreinstellung" - #~ msgid "Back to Main Menu" #~ msgstr "Zurück zum Hauptmenü" diff --git a/client/po/es.po b/client/po/es.po index 046f35c7..b2aa7b93 100644 --- a/client/po/es.po +++ b/client/po/es.po @@ -87,7 +87,8 @@ msgid "Disabled" msgstr "Desactivada" #: global.gd -msgid "Interpolate the camera rotation" +#, fuzzy +msgid "Smooth camera rotation" msgstr "Interpolar la rotación de la cámara" #: global.gd @@ -112,7 +113,8 @@ msgstr "" "Directorio de datos del servidor (deja vacío para detectar automáticamente)" #: global.gd -msgid "UI scale" +#, fuzzy +msgid "UI scale mode" msgstr "Escala de interfaz de usuario" #: global.gd @@ -120,6 +122,11 @@ msgid "Resize" msgstr "Redimensionado" #: global.gd +#, fuzzy +msgid "UI scale factor" +msgstr "Escala de interfaz de usuario" + +#: global.gd msgid "Anti-aliasing" msgstr "Antialiasing" @@ -132,12 +139,16 @@ msgid "Temporal Anti-Aliasing" msgstr "Antialiasing temporal" #: global.gd -msgid "Use VoxelGI (Blocks the game on map update but is more accurate)" -msgstr "Usar VoxelGI" +msgid "Global illumination" +msgstr "" + +#: global.gd +msgid "SDFGI" +msgstr "" #: global.gd -msgid "Use SDFGI (Doesn't block the game but produces more artifacts)" -msgstr "Usar SDFGI" +msgid "Voxel GI" +msgstr "" #: global.gd msgid "Enable shadows" @@ -172,6 +183,27 @@ msgid "Always extend boost to maximum duration" msgstr "Siempre extienda el impulso a la duración máxima" #: global.gd +#, fuzzy +msgid "Enable UI blur" +msgstr "Activar demasiado luz" + +#: global.gd +msgid "Graphics" +msgstr "" + +#: global.gd +msgid "Low" +msgstr "" + +#: global.gd +msgid "Medium" +msgstr "" + +#: global.gd +msgid "High" +msgstr "" + +#: global.gd msgid "System default" msgstr "Sistema por defecto" @@ -333,6 +365,14 @@ msgstr "Dejó el juego" msgid "Join Game" msgstr "Unirse al juego" +#: menu/ingame.tscn menu/ingame.gd +msgid "Cannot cancel game since no game is running." +msgstr "" + +#: menu/ingame.tscn menu/ingame.gd +msgid "You must join in order to be able to cancel the current game." +msgstr "" + #: menu/ingame.tscn msgid "Resume" msgstr "Resumir" @@ -464,7 +504,8 @@ msgid "PageUp/PageDown" msgstr "RePág/AvPág" #: menu/popup_message.gd -msgid "Use %s to reset the camera view" +#, fuzzy +msgid "Use %s to rotate the camera view" msgstr "Usa %s para restablecer la cámara" #: menu/popup_message.gd @@ -510,7 +551,11 @@ msgid "Hairstyle %d" msgstr "Peinado %d" #: menu/credits.tscn menu/credits.gd -msgid "Thank You For Playing" +msgid "Models" +msgstr "" + +#: menu/credits.tscn menu/credits.gd +msgid "Sounds" msgstr "" #: menu/credits.tscn menu/credits.gd @@ -522,32 +567,22 @@ msgid "developed by" msgstr "desarrollado por" #: menu/credits.tscn menu/credits.gd -msgid "Licensed under Creative Commons: By Attribution 3.0 License" -msgstr "Licenciado bajo Creative Commons: Por licencia Attribution 3.0" - -#: menu/credits.tscn menu/credits.gd -msgid "by" +msgid "Thank You For Playing" msgstr "" #: menu/credits.tscn menu/credits.gd -msgid "Licensed under Creative Commons: By Attribution 4.0 License" -msgstr "Licenciado bajo Creative Commons: Por licencia Attribution 4.0" - -#: menu/credits.tscn menu/credits.gd -#, fuzzy -msgid "Additional CC0 assets by" -msgstr "Activos CC0 adicionales por:" - -#: menu/credits.tscn menu/credits.gd -msgid "Support for Translations by" +msgid "[table=3]" msgstr "" #: menu/credits.tscn menu/credits.gd -msgid "For further information on" +msgid "" +"[/table]\n" +"\n" +"\n" msgstr "" #: menu/credits.tscn menu/credits.gd -msgid "visit" +msgid "[/center]" msgstr "" #: menu/rating/rating.gd @@ -578,6 +613,22 @@ msgstr "Debes completar todos los requisitos." msgid "Accept" msgstr "Aceptar" +#~ msgid "Use VoxelGI (Blocks the game on map update but is more accurate)" +#~ msgstr "Usar VoxelGI" + +#~ msgid "Use SDFGI (Doesn't block the game but produces more artifacts)" +#~ msgstr "Usar SDFGI" + +#~ msgid "Licensed under Creative Commons: By Attribution 3.0 License" +#~ msgstr "Licenciado bajo Creative Commons: Por licencia Attribution 3.0" + +#~ msgid "Licensed under Creative Commons: By Attribution 4.0 License" +#~ msgstr "Licenciado bajo Creative Commons: Por licencia Attribution 4.0" + +#, fuzzy +#~ msgid "Additional CC0 assets by" +#~ msgstr "Activos CC0 adicionales por:" + #~ msgid "Stop Server" #~ msgstr "Detener servidor" diff --git a/client/po/fi.po b/client/po/fi.po index 2a18d52d..0c307d8c 100644 --- a/client/po/fi.po +++ b/client/po/fi.po @@ -83,7 +83,7 @@ msgid "Disabled" msgstr "" #: global.gd -msgid "Interpolate the camera rotation" +msgid "Smooth camera rotation" msgstr "" #: global.gd @@ -107,7 +107,7 @@ msgid "Server data directory (leave empty to auto-detect)" msgstr "" #: global.gd -msgid "UI scale" +msgid "UI scale mode" msgstr "" #: global.gd @@ -115,6 +115,10 @@ msgid "Resize" msgstr "" #: global.gd +msgid "UI scale factor" +msgstr "" + +#: global.gd msgid "Anti-aliasing" msgstr "" @@ -127,11 +131,15 @@ msgid "Temporal Anti-Aliasing" msgstr "" #: global.gd -msgid "Use VoxelGI (Blocks the game on map update but is more accurate)" +msgid "Global illumination" +msgstr "" + +#: global.gd +msgid "SDFGI" msgstr "" #: global.gd -msgid "Use SDFGI (Doesn't block the game but produces more artifacts)" +msgid "Voxel GI" msgstr "" #: global.gd @@ -167,6 +175,26 @@ msgid "Always extend boost to maximum duration" msgstr "" #: global.gd +msgid "Enable UI blur" +msgstr "" + +#: global.gd +msgid "Graphics" +msgstr "" + +#: global.gd +msgid "Low" +msgstr "" + +#: global.gd +msgid "Medium" +msgstr "" + +#: global.gd +msgid "High" +msgstr "" + +#: global.gd msgid "System default" msgstr "" @@ -310,6 +338,14 @@ msgstr "" msgid "Join Game" msgstr "" +#: menu/ingame.tscn menu/ingame.gd +msgid "Cannot cancel game since no game is running." +msgstr "" + +#: menu/ingame.tscn menu/ingame.gd +msgid "You must join in order to be able to cancel the current game." +msgstr "" + #: menu/ingame.tscn msgid "Resume" msgstr "" @@ -439,7 +475,7 @@ msgid "PageUp/PageDown" msgstr "" #: menu/popup_message.gd -msgid "Use %s to reset the camera view" +msgid "Use %s to rotate the camera view" msgstr "" #: menu/popup_message.gd @@ -481,43 +517,38 @@ msgid "Hairstyle %d" msgstr "" #: menu/credits.tscn menu/credits.gd -msgid "Thank You For Playing" +msgid "Models" msgstr "" #: menu/credits.tscn menu/credits.gd -msgid "Hurry Curry! - a game about cooking" +msgid "Sounds" msgstr "" #: menu/credits.tscn menu/credits.gd -msgid "developed by" -msgstr "" - -#: menu/credits.tscn menu/credits.gd -msgid "Licensed under Creative Commons: By Attribution 3.0 License" -msgstr "" - -#: menu/credits.tscn menu/credits.gd -msgid "by" +msgid "Hurry Curry! - a game about cooking" msgstr "" #: menu/credits.tscn menu/credits.gd -msgid "Licensed under Creative Commons: By Attribution 4.0 License" +msgid "developed by" msgstr "" #: menu/credits.tscn menu/credits.gd -msgid "Additional CC0 assets by" +msgid "Thank You For Playing" msgstr "" #: menu/credits.tscn menu/credits.gd -msgid "Support for Translations by" +msgid "[table=3]" msgstr "" #: menu/credits.tscn menu/credits.gd -msgid "For further information on" +msgid "" +"[/table]\n" +"\n" +"\n" msgstr "" #: menu/credits.tscn menu/credits.gd -msgid "visit" +msgid "[/center]" msgstr "" #: menu/rating/rating.gd diff --git a/client/po/fr.po b/client/po/fr.po index 811f0919..615d213c 100644 --- a/client/po/fr.po +++ b/client/po/fr.po @@ -87,7 +87,8 @@ msgid "Disabled" msgstr "Désactivé" #: global.gd -msgid "Interpolate the camera rotation" +#, fuzzy +msgid "Smooth camera rotation" msgstr "Interpoler la rotation de la caméra" #: global.gd @@ -112,7 +113,8 @@ msgstr "" "Répertoire de données du serveur (laisser vide pour la détection automatique)" #: global.gd -msgid "UI scale" +#, fuzzy +msgid "UI scale mode" msgstr "Taille de l'interface utilisateur" #: global.gd @@ -120,6 +122,11 @@ msgid "Resize" msgstr "Redimensionner" #: global.gd +#, fuzzy +msgid "UI scale factor" +msgstr "Taille de l'interface utilisateur" + +#: global.gd msgid "Anti-aliasing" msgstr "Anti crénelage" @@ -132,12 +139,16 @@ msgid "Temporal Anti-Aliasing" msgstr "Anti crénelage temporel" #: global.gd -msgid "Use VoxelGI (Blocks the game on map update but is more accurate)" -msgstr "Utiliser VoxelGI" +msgid "Global illumination" +msgstr "" + +#: global.gd +msgid "SDFGI" +msgstr "" #: global.gd -msgid "Use SDFGI (Doesn't block the game but produces more artifacts)" -msgstr "Utiliser SDFGI" +msgid "Voxel GI" +msgstr "" #: global.gd msgid "Enable shadows" @@ -174,6 +185,27 @@ msgid "Always extend boost to maximum duration" msgstr "Toujours prolonger le boost jusqu'à la durée maximale" #: global.gd +#, fuzzy +msgid "Enable UI blur" +msgstr "Activer la lueur" + +#: global.gd +msgid "Graphics" +msgstr "" + +#: global.gd +msgid "Low" +msgstr "" + +#: global.gd +msgid "Medium" +msgstr "" + +#: global.gd +msgid "High" +msgstr "" + +#: global.gd msgid "System default" msgstr "Défaut du système" @@ -336,6 +368,14 @@ msgstr "Quitter jeu" msgid "Join Game" msgstr "Rejoins la partie" +#: menu/ingame.tscn menu/ingame.gd +msgid "Cannot cancel game since no game is running." +msgstr "" + +#: menu/ingame.tscn menu/ingame.gd +msgid "You must join in order to be able to cancel the current game." +msgstr "" + #: menu/ingame.tscn msgid "Resume" msgstr "Reprendre" @@ -467,7 +507,8 @@ msgid "PageUp/PageDown" msgstr "Page précédente/Page suivante" #: menu/popup_message.gd -msgid "Use %s to reset the camera view" +#, fuzzy +msgid "Use %s to rotate the camera view" msgstr "Utilisez %s pour réinitialiser la caméra" #: menu/popup_message.gd @@ -515,7 +556,11 @@ msgid "Hairstyle %d" msgstr "Coiffure %d" #: menu/credits.tscn menu/credits.gd -msgid "Thank You For Playing" +msgid "Models" +msgstr "" + +#: menu/credits.tscn menu/credits.gd +msgid "Sounds" msgstr "" #: menu/credits.tscn menu/credits.gd @@ -527,32 +572,22 @@ msgid "developed by" msgstr "développé par" #: menu/credits.tscn menu/credits.gd -msgid "Licensed under Creative Commons: By Attribution 3.0 License" -msgstr "Sous licence Creative Commons: Par licence Attribution 3.0" - -#: menu/credits.tscn menu/credits.gd -msgid "by" +msgid "Thank You For Playing" msgstr "" #: menu/credits.tscn menu/credits.gd -msgid "Licensed under Creative Commons: By Attribution 4.0 License" -msgstr "Sous licence Creative Commons: Par licence Attribution 4.0" - -#: menu/credits.tscn menu/credits.gd -#, fuzzy -msgid "Additional CC0 assets by" -msgstr "Actifs CC0 supplémentaires par :" - -#: menu/credits.tscn menu/credits.gd -msgid "Support for Translations by" +msgid "[table=3]" msgstr "" #: menu/credits.tscn menu/credits.gd -msgid "For further information on" +msgid "" +"[/table]\n" +"\n" +"\n" msgstr "" #: menu/credits.tscn menu/credits.gd -msgid "visit" +msgid "[/center]" msgstr "" #: menu/rating/rating.gd @@ -583,6 +618,22 @@ msgstr "Vous devez remplir tous les champs demandés." msgid "Accept" msgstr "Accepter" +#~ msgid "Use VoxelGI (Blocks the game on map update but is more accurate)" +#~ msgstr "Utiliser VoxelGI" + +#~ msgid "Use SDFGI (Doesn't block the game but produces more artifacts)" +#~ msgstr "Utiliser SDFGI" + +#~ msgid "Licensed under Creative Commons: By Attribution 3.0 License" +#~ msgstr "Sous licence Creative Commons: Par licence Attribution 3.0" + +#~ msgid "Licensed under Creative Commons: By Attribution 4.0 License" +#~ msgstr "Sous licence Creative Commons: Par licence Attribution 4.0" + +#, fuzzy +#~ msgid "Additional CC0 assets by" +#~ msgstr "Actifs CC0 supplémentaires par :" + #~ msgid "Stop Server" #~ msgstr "Arrêter le serveur" diff --git a/client/po/he.po b/client/po/he.po index 4ffc9a61..464db26b 100644 --- a/client/po/he.po +++ b/client/po/he.po @@ -84,7 +84,7 @@ msgid "Disabled" msgstr "מכובה" #: global.gd -msgid "Interpolate the camera rotation" +msgid "Smooth camera rotation" msgstr "" #: global.gd @@ -188,6 +188,10 @@ msgid "Low" msgstr "נמוך" #: global.gd +msgid "Medium" +msgstr "" + +#: global.gd msgid "High" msgstr "גבוה" diff --git a/client/po/ja.po b/client/po/ja.po index 8a523bc3..54df1593 100644 --- a/client/po/ja.po +++ b/client/po/ja.po @@ -87,7 +87,8 @@ msgid "Disabled" msgstr "使用禁止" #: global.gd -msgid "Interpolate the camera rotation" +#, fuzzy +msgid "Smooth camera rotation" msgstr "カメラの回転を補間" #: global.gd @@ -111,7 +112,8 @@ msgid "Server data directory (leave empty to auto-detect)" msgstr "サーバーデータディレクトリ(させて空の -> 自動検出)" #: global.gd -msgid "UI scale" +#, fuzzy +msgid "UI scale mode" msgstr "UIスケール" #: global.gd @@ -119,6 +121,11 @@ msgid "Resize" msgstr "サイズ変更" #: global.gd +#, fuzzy +msgid "UI scale factor" +msgstr "UIスケール" + +#: global.gd msgid "Anti-aliasing" msgstr "アンチエイリアシング" @@ -131,12 +138,16 @@ msgid "Temporal Anti-Aliasing" msgstr "テンポラルアンチエイリアシング" #: global.gd -msgid "Use VoxelGI (Blocks the game on map update but is more accurate)" -msgstr "使用VoxelGI" +msgid "Global illumination" +msgstr "" + +#: global.gd +msgid "SDFGI" +msgstr "" #: global.gd -msgid "Use SDFGI (Doesn't block the game but produces more artifacts)" -msgstr "使用SDGFI" +msgid "Voxel GI" +msgstr "" #: global.gd msgid "Enable shadows" @@ -171,6 +182,27 @@ msgid "Always extend boost to maximum duration" msgstr "ブーストを常に最大限に拡張する" #: global.gd +#, fuzzy +msgid "Enable UI blur" +msgstr "グローを有効に" + +#: global.gd +msgid "Graphics" +msgstr "" + +#: global.gd +msgid "Low" +msgstr "" + +#: global.gd +msgid "Medium" +msgstr "" + +#: global.gd +msgid "High" +msgstr "" + +#: global.gd msgid "System default" msgstr "システムのデフォルト" @@ -329,6 +361,14 @@ msgstr "ゲームを離す" msgid "Join Game" msgstr "ゲームに参加します" +#: menu/ingame.tscn menu/ingame.gd +msgid "Cannot cancel game since no game is running." +msgstr "" + +#: menu/ingame.tscn menu/ingame.gd +msgid "You must join in order to be able to cancel the current game." +msgstr "" + #: menu/ingame.tscn msgid "Resume" msgstr "再開" @@ -460,7 +500,8 @@ msgid "PageUp/PageDown" msgstr "ページアップ/ページダウン" #: menu/popup_message.gd -msgid "Use %s to reset the camera view" +#, fuzzy +msgid "Use %s to rotate the camera view" msgstr "カメラをリセットするには %s を使用して" #: menu/popup_message.gd @@ -505,7 +546,11 @@ msgid "Hairstyle %d" msgstr "髪型 %d" #: menu/credits.tscn menu/credits.gd -msgid "Thank You For Playing" +msgid "Models" +msgstr "" + +#: menu/credits.tscn menu/credits.gd +msgid "Sounds" msgstr "" #: menu/credits.tscn menu/credits.gd @@ -517,32 +562,22 @@ msgid "developed by" msgstr "開発者" #: menu/credits.tscn menu/credits.gd -msgid "Licensed under Creative Commons: By Attribution 3.0 License" -msgstr "クリエイティブ・コモンズ:表示 3.0 ライセンス" - -#: menu/credits.tscn menu/credits.gd -msgid "by" +msgid "Thank You For Playing" msgstr "" #: menu/credits.tscn menu/credits.gd -msgid "Licensed under Creative Commons: By Attribution 4.0 License" -msgstr "クリエイティブ・コモンズ:表示 4.0 ライセンス" - -#: menu/credits.tscn menu/credits.gd -#, fuzzy -msgid "Additional CC0 assets by" -msgstr "追加の CC0 アセット:" - -#: menu/credits.tscn menu/credits.gd -msgid "Support for Translations by" +msgid "[table=3]" msgstr "" #: menu/credits.tscn menu/credits.gd -msgid "For further information on" +msgid "" +"[/table]\n" +"\n" +"\n" msgstr "" #: menu/credits.tscn menu/credits.gd -msgid "visit" +msgid "[/center]" msgstr "" #: menu/rating/rating.gd @@ -573,6 +608,22 @@ msgstr "要求されたフィールドをすべて入力する必要がありま msgid "Accept" msgstr "アクセプト" +#~ msgid "Use VoxelGI (Blocks the game on map update but is more accurate)" +#~ msgstr "使用VoxelGI" + +#~ msgid "Use SDFGI (Doesn't block the game but produces more artifacts)" +#~ msgstr "使用SDGFI" + +#~ msgid "Licensed under Creative Commons: By Attribution 3.0 License" +#~ msgstr "クリエイティブ・コモンズ:表示 3.0 ライセンス" + +#~ msgid "Licensed under Creative Commons: By Attribution 4.0 License" +#~ msgstr "クリエイティブ・コモンズ:表示 4.0 ライセンス" + +#, fuzzy +#~ msgid "Additional CC0 assets by" +#~ msgstr "追加の CC0 アセット:" + #~ msgid "Stop Server" #~ msgstr "サーバーを止まれ" diff --git a/client/po/tr.po b/client/po/tr.po index dacadd40..3eaab2f2 100644 --- a/client/po/tr.po +++ b/client/po/tr.po @@ -23,12 +23,12 @@ msgid "" msgstr "" "Project-Id-Version: hurrycurry\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: global.gd @@ -80,7 +80,7 @@ msgid "Disabled" msgstr "" #: global.gd -msgid "Interpolate the camera rotation" +msgid "Smooth camera rotation" msgstr "" #: global.gd @@ -184,6 +184,10 @@ msgid "Low" msgstr "" #: global.gd +msgid "Medium" +msgstr "" + +#: global.gd msgid "High" msgstr "" diff --git a/client/project.godot b/client/project.godot index f38cc31c..67f64aec 100644 --- a/client/project.godot +++ b/client/project.godot @@ -193,7 +193,7 @@ scroll_up={ [internationalization] -locale/translations=PackedStringArray("res://po/de.po", "res://po/fr.po", "res://po/es.po", "res://po/ja.po", "res://po/fi.po", "res://po/he.po", "res://po/tr.po") +locale/translations=PackedStringArray("res://po/de.po", "res://po/fr.po", "res://po/es.po", "res://po/ja.po", "res://po/fi.po", "res://po/he.po", "res://po/tr.po", "res://po/ar.po") locale/translations_pot_files=PackedStringArray("res://global.gd", "res://menu/overlay.tscn", "res://menu/setup.tscn", "res://menu/character.tscn", "res://menu/error.tscn", "res://menu/ingame.tscn", "res://menu/lobby.tscn", "res://menu/main.tscn", "res://menu/settings.tscn", "res://menu/ingame.gd", "res://menu/lobby.gd", "res://menu/popup_message.gd", "res://multiplayer.gd", "res://menu/hairstyle_preview.gd", "res://menu/credits.tscn", "res://menu/credits.gd", "res://menu/rating/rating.gd", "res://menu/warning_popup.tscn") [rendering] diff --git a/pixel-client/src/config.rs b/pixel-client/src/config.rs index 8f051b99..4d50ae10 100644 --- a/pixel-client/src/config.rs +++ b/pixel-client/src/config.rs @@ -25,7 +25,7 @@ use std::{ #[derive(Serialize, Deserialize)] pub struct Config { - username: String, + pub username: String, } impl Config { diff --git a/pixel-client/src/game.rs b/pixel-client/src/game.rs index 0a0fc22d..318b9a02 100644 --- a/pixel-client/src/game.rs +++ b/pixel-client/src/game.rs @@ -16,6 +16,7 @@ */ use crate::{ + config::Config, helper::InterpolateExt, render::{ misc::MiscTextures, @@ -82,10 +83,10 @@ pub struct Item { } impl Game { - pub fn new(mut network: Network, layout: &AtlasLayout) -> Self { + pub fn new(mut network: Network, config: &Config, layout: &AtlasLayout) -> Self { network.queue_out.push_back(PacketS::Join { id: None, - name: "pixel".to_string(), + name: config.username.clone(), character: 0, }); diff --git a/pixel-client/src/main.rs b/pixel-client/src/main.rs index 24421994..a073d0ed 100644 --- a/pixel-client/src/main.rs +++ b/pixel-client/src/main.rs @@ -16,7 +16,9 @@ */ #![feature(map_many_mut, path_add_extension)] +use anyhow::Result; use clap::{Parser, Subcommand}; +use config::Config; use game::Game; use hurrycurry_client_lib::network::sync::Network; use hurrycurry_protocol::glam::Vec2; @@ -57,10 +59,11 @@ pub enum State { Quit, } -fn main() { +fn main() -> Result<()> { env_logger::init_from_env("LOG"); let args = Args::parse(); + let mut config = Config::load()?; rustls::crypto::ring::default_provider() .install_default() @@ -93,6 +96,7 @@ fn main() { Action::Menu => State::MainMenu(MainMenu::new(renderer.atlas_layout())), Action::Join { server_address } => State::Ingame(Box::new(Game::new( Network::connect(&server_address).unwrap(), + &config, renderer.atlas_layout(), ))), }; @@ -108,24 +112,25 @@ fn main() { let keyboard = KeyboardState::new(&events); let mouse = MouseState::new(&events); - let dt = last_tick.elapsed().min(Duration::from_secs_f32(1. / 30.)); + let actual_dt = last_tick.elapsed(); + last_tick += actual_dt; + let dt = actual_dt.min(Duration::from_secs_f32(1. / 30.)); + let next = match &mut state { State::Ingame(x) => x.tick(dt.as_secs_f32(), &keyboard, renderer.atlas_layout()), State::MainMenu(x) => { x.tick(dt.as_secs_f32(), &keyboard, &mouse, renderer.atlas_layout()) } - State::Quit => break, + State::Quit => break Ok(()), }; if let Some(next) = next { state = *next; } - last_tick += dt; - renderer.set_ui_view(4.); match &mut state { State::Ingame(x) => x.draw(&mut renderer), - State::MainMenu(x) => x.draw(&mut renderer), + State::MainMenu(x) => x.draw(&mut renderer, &mut config), State::Quit => (), } @@ -137,7 +142,7 @@ fn main() { for event in events.poll_iter() { match event { - Event::Quit { .. } => break 'mainloop, + Event::Quit { .. } => break 'mainloop Ok(()), Event::KeyUp { keycode: Some(keycode), .. diff --git a/pixel-client/src/menu/main.rs b/pixel-client/src/menu/main.rs index 54b0fe9c..7045931e 100644 --- a/pixel-client/src/menu/main.rs +++ b/pixel-client/src/menu/main.rs @@ -17,6 +17,7 @@ */ use super::{background::MenuBackground, credits::CreditsMenu, settings::SettingsMenu}; use crate::{ + config::Config, game::Game, render::{sprite::SpriteDraw, AtlasLayout, Renderer}, ui::UiState, @@ -66,12 +67,12 @@ impl MainMenu { pub fn keyboard_event(&mut self, keycode: Keycode, down: bool) { self.ui_state.keyboard_event(keycode, down); } - pub fn draw(&mut self, ctx: &mut Renderer) { + pub fn draw(&mut self, ctx: &mut Renderer, config: &mut Config) { self.background.draw(ctx); self.ui_state.draw(ctx, |ui| { if let Some(settings) = &mut self.settings { - if settings.draw(ui) { + if settings.draw(ui, config) { self.settings = None; } return; @@ -85,6 +86,7 @@ impl MainMenu { if ui.button(80., "Join") { self.next_state = Some(Box::new(State::Ingame(Box::new(Game::new( Network::connect(&self.server_address).unwrap(), + &config, ui.renderer.atlas_layout(), ))))) } diff --git a/pixel-client/src/menu/settings.rs b/pixel-client/src/menu/settings.rs index 90668039..aef56f2f 100644 --- a/pixel-client/src/menu/settings.rs +++ b/pixel-client/src/menu/settings.rs @@ -15,7 +15,9 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -use crate::ui::Ui; +use crate::{config::Config, render::sprite::SpriteDraw, ui::Ui}; +use hurrycurry_protocol::glam::Vec2; +use log::warn; pub struct Settings { pub username: String, @@ -25,9 +27,39 @@ pub struct Settings { pub struct SettingsMenu {} impl SettingsMenu { - pub fn draw(&mut self, ui: &mut Ui) -> bool { - ui.text("Settings placeholder"); + pub fn draw(&mut self, ui: &mut Ui, config: &mut Config) -> bool { + ui.renderer.draw_ui(SpriteDraw::overlay( + ui.renderer.misc_textures.solid, + Vec2::ZERO, + ui.renderer.ui_size, + Some([0, 0, 0, 150]), + )); - return ui.button(80., "Back"); + let mut back = false; + + ui.horizontal(|ui| { + ui.advance(Vec2::splat(20.)); + ui.vertical(|ui| { + ui.advance(Vec2::splat(10.)); + ui.text("Settings"); + + ui.horizontal(|ui| { + ui.text("Username: "); + ui.textedit(100., &mut config.username); + }); + + ui.advance(ui.get_remaining() - Vec2::Y * 30.); + + if ui.button(80., "Back") { + if let Err(e) = config.save() { + warn!("cannot save config: {e}"); + } else { + back = true + } + } + }); + }); + + return back; } } diff --git a/server/client-lib/Cargo.toml b/server/client-lib/Cargo.toml index 5644a905..47e4bd6d 100644 --- a/server/client-lib/Cargo.toml +++ b/server/client-lib/Cargo.toml @@ -8,7 +8,9 @@ hurrycurry-protocol = { path = "../protocol" } tungstenite = { version = "0.23.0", optional = true, features = [ "rustls-tls-native-roots", ] } -tokio-tungstenite = { version = "0.23.1", optional = true } +tokio-tungstenite = { version = "0.23.1", optional = true, features = [ + "rustls-tls-native-roots", +] } tokio = { version = "1.39.2", features = ["net"], optional = true } serde_json = "1.0.122" bincode = "2.0.0-rc.3" diff --git a/server/src/interaction.rs b/server/src/interaction.rs index 2f58ed8f..c0fa5731 100644 --- a/server/src/interaction.rs +++ b/server/src/interaction.rs @@ -1,4 +1,3 @@ -use hurrycurry_client_lib::{Involvement, Item}; /* Hurry Curry! - a game about cooking Copyright 2024 metamuffin @@ -16,6 +15,7 @@ use hurrycurry_client_lib::{Involvement, Item}; along with this program. If not, see <https://www.gnu.org/licenses/>. */ +use hurrycurry_client_lib::{Involvement, Item}; use hurrycurry_protocol::{Gamedata, Recipe, Score, TileIndex}; use log::info; diff --git a/server/src/lib.rs b/server/src/lib.rs index b87f1cb9..93218a9e 100644 --- a/server/src/lib.rs +++ b/server/src/lib.rs @@ -20,7 +20,6 @@ pub mod data; pub mod entity; pub mod server; pub mod interaction; -pub mod spatial_index; pub mod state; use hurrycurry_protocol::glam::Vec2; diff --git a/server/src/spatial_index.rs b/server/src/spatial_index.rs deleted file mode 100644 index d4bd1776..00000000 --- a/server/src/spatial_index.rs +++ /dev/null @@ -1,52 +0,0 @@ -/* - Hurry Curry! - a game about cooking - Copyright 2024 metamuffin - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, version 3 of the License only. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see <https://www.gnu.org/licenses/>. - -*/ -use hurrycurry_protocol::glam::Vec2; -use std::{collections::HashMap, hash::Hash}; - -// TODO stub implementation. please implement -pub struct SpatialIndex<T> { - entries: HashMap<T, Vec2>, -} - -impl<T: Eq + Hash + Copy> SpatialIndex<T> { - pub fn update_entry(&mut self, id: T, position: Vec2) { - self.entries.insert(id, position); - } - pub fn remove_entry(&mut self, id: T) { - self.entries.remove(&id); - } - pub fn all(&self, mut cb: impl FnMut(T, Vec2)) { - for (&e, &pos) in &self.entries { - cb(e, pos) - } - } - pub fn query(&self, position: Vec2, radius: f32, mut cb: impl FnMut(T, Vec2)) { - self.all(|pl, p| { - if p.distance(position) < radius { - cb(pl, p) - } - }) - } -} -impl<T> Default for SpatialIndex<T> { - fn default() -> Self { - Self { - entries: Default::default(), - } - } -} diff --git a/specs/00.Introduction.md b/specs/00.Introduction.md deleted file mode 100644 index 9360ec56..00000000 --- a/specs/00.Introduction.md +++ /dev/null @@ -1,27 +0,0 @@ -<!-- - Hurry Curry! - a game about cooking - Copyright 2024 metamuffin - Copyright 2024 Sofviic - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, version 3 of the License only. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see <https://www.gnu.org/licenses/>. - ---> -# Hurry Curry! - -A cooperative fast-paced game about running a restaurant together. - -# Alt Names -- Undercooked -- Flussigstätte -- Das Geölterestaurant -- Counter Strike: Kitchen Offensive diff --git a/specs/01.GameLoopSummary.md b/specs/01.GameLoopSummary.md deleted file mode 100644 index e26b61e3..00000000 --- a/specs/01.GameLoopSummary.md +++ /dev/null @@ -1,50 +0,0 @@ -<!-- - Hurry Curry! - a game about cooking - Copyright 2024 Sofviic - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, version 3 of the License only. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see <https://www.gnu.org/licenses/>. - ---> -# Game Loop Summary
-
-A game starts, you and friends are given basic starting supplies with sufficent amount for a small first day.
-
-Then you go to selecting your opening hours for the first day. Longer opening times means more profit IF it can be met.
-For a first day, it is recommended you stick to a short 11:00 till 15:00 opening hours
-(Each in game hour is 2 minutes irl).
-(Keep in mind the rush hours of 13:00 & 19:00, and the downtime of 15:00)
-Then the first day(round) starts.
-
-During the course of the day, customers will start to come in.
-You & your friends' job is to:
-1. wait for them to decide on an order
-1. take their order
-1. prepare the dish
-1. serve the dish in time
-1. take & clean dirty dishes when they finish
-During the day, there'll be many orders going simultaneously; the challenge is handling them in parallel.
-
-By the end of the day, at closing time, the restaurant will close (ie no longer accept new customers),
-but you'll get an extra hour post closing to finish up the last few orders.
-
-After that 1 hour grace closing period, the day(round) ends, and you'll be meet with a summary sheet of your performance.
-Then you'll be met with the upgrades screen, where you can purchase upgrades & unlock new recipes for your restaurant.
-Then you'll be met with the supply screen, where you'll see how much of each raw items you have in stock, and where you can buy extra for tomorrow(next round).
-(Keep in mind, that any net profits will be taxed 10% by the goverment. In case of no net profit (or loss), there'll be no tax.)
-
-Rinse & repeat.
-But starting from day 2, before you decide when to open,
-there'll be a summary screen of the previous day's(round's) customer's arrival times.
-(expect today's rush & peak hours and number of customer to not be too drastically different from yesterday.)
-
-Goodluck Cooking!
diff --git a/specs/02.Sections.md b/specs/02.Sections.md deleted file mode 100644 index fd9dde17..00000000 --- a/specs/02.Sections.md +++ /dev/null @@ -1,61 +0,0 @@ -<!-- - Hurry Curry! - a game about cooking - Copyright 2024 Sofviic - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, version 3 of the License only. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see <https://www.gnu.org/licenses/>. - ---> -# Sections
-
-### 00. Introduction
-Short summary of how the game works from the player's prespective.
-
-### 01. Game Loop Summary
-Short summary of how the game works from the player's prespective.
-
-### 02. Sections
-Short summary of the different sections of this design document. (You are here)
-
-### 03. Mechanics
-Short summary of each of the different mechanics of the game.
-
-### 04. Game Setup
-Intial game setup at the start of a new game.
-
-### 05. Game Loop (!TODO)
-The game loop of the game.
-
-### 05.a. Pre Round (!TODO)
-Everything that happens before opening.
-
-### 05.b. Round (!TODO)
-Everything that happens during a day.
-
-### 05.c. Post Round (!TODO)
-Everything that happens after closing.
-
-### 06. Demand
-Details of the computation of the customers' group traffic & size and demand scaling.
-
-### 07. Service (!TODO)
-Details of how customers behave.
-
-### 08. Items (!TODO)
-Details of all items: raw, meals, inbetweens, & their pipelines with flow graphs.
-
-### 09. Unlocks/Upgrades (!TODO)
-Details of all the stuff that is locked and can be unlocked during the course of a game.
-
-### 10. HUD (!TODO)
-Visual elements of the screen.
-
diff --git a/specs/03.Mechanics.md b/specs/03.Mechanics.md deleted file mode 100644 index 0aa6820b..00000000 --- a/specs/03.Mechanics.md +++ /dev/null @@ -1,80 +0,0 @@ -<!-- - Hurry Curry! - a game about cooking - Copyright 2024 Sofviic - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, version 3 of the License only. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see <https://www.gnu.org/licenses/>. - ---> -# Mechanics
-
-## 01. Grid
-The restaurant(game area) is split into grid cells called tiles.
-A tile may be walkable if it has no furniture or appliances.
-
-## 02. Items
-An item is anything that can be carried by the player.
-Such items include plates, meals(eg burger), and raw foods(eg flour).
-Only one item may be carried at a time.
-
-## 03. Recipes
-Recipes are how items can be made into other items alone or by combining.
-Some recipes take raw foods(eg tomatoes->sliced tomatoes), but not all(eg dough->bread).
-Some result in servicable meals(eg bread + cooked steak -> burger), but not all(eg flour->dough).
-Some combine instantly(eg sliced tomatoes + plate -> tomato meal),
-but some require waiting(eg dough->bread in oven),
-others require active cooking(by holding down the action button for some duration)(eg flour->dough).
-
-## 04. Clock
-Usual opening hours 12:00-22:00 (10 hours) last 20 irl minutes.
-This can be shortened or elongated (min 1 hour, max 24 hours from 00:00 to 24:00).
-Not all opening times are equal, some will result in more or fewer customers.
-But even when they'll result in more or less customers will shift from day to day.
-But consecutive days will usually result in similar traffic graphs.
-
-## 05. Active/Passive Time Sink Actions
-As stated [above](#03-recipes), some actions will not be instant.
-As an example, kneading flour into dough will require the player to hold down the action button for 5 seconds.
-But some are done passively, for example, baking dough into bread requires the player to put the dough into the oven, it will then start to be bake, and the player can return in 20 seconds to grab their baked bread.
-
-## 06. Customers
-Customers come during opening hours, usually alone or in groups of 2.
-Customers will find a seat, and then will usually take 0:20 (ie 10 seconds) to decide what to order.
-Customers will always order 1 meal, once they decided on their order, most will only wait for their order to be fuffilled in 0:40 (ie 20 seconds).
-If not serviced in 0:40, they'll get angry, leave and decrease your star rating. (also they won't pay; also the entire group will leave)
-If serviced, you'll get money from 1€ to 10€.
-If the entire group is serviced, you'll also increase your star rating, and they'll leave leaving dirty dishes behind, making room for other customers.
-
-## 07. Money
-Money is in €, it is gained by fuffiling orders.
-It can be used to buy raw supplies and unlocks.
-
-## 08. Raw Supply
-Can be ordered for the next day after closing and finishing off a day.
-Each raw item has a seperate expiry duration,
-some are short(eg steak must be used in 2 days),
-some are essentially infinite(eg water has a duration of 1000 days).
-When used during the day, items closer to the expiry date are used first.
-
-## 09. Star Rating
-Goes from 0 stars to 5.
-Gained by fuffiling orders of an entire customer table (+0.03 stars).
-Lost by not doing so (-0.12 stars).
-Does nothing.
-
-## 10. Unlocks/Upgrades
-Not all items, raw supplies, & recipes are unlocked at the start of the game.
-But they can be purchased at the end of a day.
-When an unlock(eg bread) is purchased,
-all of its assoicated items(ie flour, dough, & bread),
-raw item supplies(ie flour supply),
-and recipes(ie flour->dough and dough->bread, and if steak is also unlocked then eg burger will also be unlocked).
diff --git a/specs/04.GameSetup.md b/specs/04.GameSetup.md deleted file mode 100644 index 250e3994..00000000 --- a/specs/04.GameSetup.md +++ /dev/null @@ -1,63 +0,0 @@ -<!-- - Hurry Curry! - a game about cooking - Copyright 2024 Sofviic - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, version 3 of the License only. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see <https://www.gnu.org/licenses/>. - ---> -# Game Setup
-
-## Restaurant
-The game intially starts with 0€, and only tomatoes unlocked.
-You start out with an intial supply of 10 tomatoes in the tomato bag.
-
-With the restaurant in this form
-```
-+--------------------+
-|ctc.ctc.ctc.ctc.ctc.|
-|.....c..............|
-|c...c...+--www---dd-+
-|tc.ctc..|##...##W..#|
-|c...c...w..........S|
-|c.......w..######..T|
-|tc......w..........F|
-|c.....ct|##ss##ooo##|
-+---dd---+-----------+
-```
-
-- `.`: nothing
-- `+`,`-`,`|` : walls
-- `d`: door
-- `t`: table
-- `c`: chair
-- `#`: counter
-- `w`: counter(window)
-- `s`: sink
-- `o`: oven
-- `W`: watercooler
-- `S`: [steak] freezer
-- `T`: tomoto bag
-- `F`: flour bag
-
-
-## Demand
-Check the [Demand section](06.Demand.md) for more info on what this means.
-
-Demand scale starts at 0%.
-(from -50% to +50%)
-
-Demand graph starts at offset 9 hours.
-$$\sin\left(3\sin\frac{\left(hour+offset\right)}{2}\right)+1$$
-```c
-demand = sin(3*sin((hour+offset)/2))+1
-```
diff --git a/specs/05.Round.md b/specs/05.Round.md deleted file mode 100644 index 02d39592..00000000 --- a/specs/05.Round.md +++ /dev/null @@ -1,27 +0,0 @@ -<!-- - Hurry Curry! - a game about cooking - Copyright 2024 Sofviic - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, version 3 of the License only. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see <https://www.gnu.org/licenses/>. - ---> -# Pre Round
-!TODO
-
-# Round
-!TODO
-
-# Post Round
-!TODO
-
-
diff --git a/specs/06.Demand.md b/specs/06.Demand.md deleted file mode 100644 index b42348a2..00000000 --- a/specs/06.Demand.md +++ /dev/null @@ -1,55 +0,0 @@ -<!-- - Hurry Curry! - a game about cooking - Copyright 2024 Sofviic - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, version 3 of the License only. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see <https://www.gnu.org/licenses/>. - ---> -# Demand
-
-Every tick(?TODO: specify further), a probability is sampled from [the demand equation](#the-demand-equation),
-that number is then multiplied by the [traffic coefficent](#traffic-coefficent),
-that number is then multiplied by the [demand bias](#the-demand-bias),
-that will give a probability on whether a customer will be spawned on this tick.
-
-### The Demand Equation
-$$\sin\left(3\sin\frac{\left(hour+offset\right)}{2}\right)+1$$
-```c
-demand = sin(3*sin((hour+offset)/2))+1
-```
-(always nonnegative below 2)
-
-every day the `offset` will be offset by `[-1,1]` multiplied by the [sway coefficent](#sway-coefficent).
-```c
-offset += rand(-1,1) * sway
-```
-
-### The Demand Bias
-Demand scale starts at 0%.
-(from -50% to +50%)
-
-every day the `bias` will be offset by `[-10,10]` multiplied by the [sway coefficent](#sway-coefficent).
-(clamped to -50% & 50%).
-```c
-bias += rand(-10,10) * sway
-bias = clamp(bias,-50,50)
-```
-
-### Traffic Coefficent
-Usually 1%
-can be changed by the host.
-
-### Sway Coefficent
-Usually 50%
-can be changed by the host.
-
diff --git a/specs/07.Service.md b/specs/07.Service.md deleted file mode 100644 index 6c388aa6..00000000 --- a/specs/07.Service.md +++ /dev/null @@ -1,19 +0,0 @@ -<!-- - Hurry Curry! - a game about cooking - Copyright 2024 Sofviic - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, version 3 of the License only. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see <https://www.gnu.org/licenses/>. - ---> -# Service
-!TODO
diff --git a/specs/08.Items.md b/specs/08.Items.md deleted file mode 100644 index 1e3590ee..00000000 --- a/specs/08.Items.md +++ /dev/null @@ -1,19 +0,0 @@ -<!-- - Hurry Curry! - a game about cooking - Copyright 2024 Sofviic - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, version 3 of the License only. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see <https://www.gnu.org/licenses/>. - ---> -# Items
-!TODO
diff --git a/specs/09.UnlocksUpgrades.md b/specs/09.UnlocksUpgrades.md deleted file mode 100644 index 5e512e7f..00000000 --- a/specs/09.UnlocksUpgrades.md +++ /dev/null @@ -1,19 +0,0 @@ -<!-- - Hurry Curry! - a game about cooking - Copyright 2024 Sofviic - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, version 3 of the License only. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see <https://www.gnu.org/licenses/>. - ---> -# Unlocks/Upgrades
-!TODO
diff --git a/specs/10.HUD.md b/specs/10.HUD.md deleted file mode 100644 index f48d3814..00000000 --- a/specs/10.HUD.md +++ /dev/null @@ -1,19 +0,0 @@ -<!-- - Hurry Curry! - a game about cooking - Copyright 2024 Sofviic - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, version 3 of the License only. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see <https://www.gnu.org/licenses/>. - ---> -# HUD
-!TODO
diff --git a/specs/build.sh b/specs/build.sh deleted file mode 100644 index 9ffd1f93..00000000 --- a/specs/build.sh +++ /dev/null @@ -1,4 +0,0 @@ -#! bin/bash - -rm specs/specs_book.html -pandoc --webtex specs/*.md > specs/specs_book.html |