aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2024-06-23 17:37:47 +0200
committermetamuffin <metamuffin@disroot.org>2024-06-23 19:33:55 +0200
commitb972ea72c09a81187ad2e4f55711da6f8e9fdaff (patch)
treeb1a3e9694c5bb71006ec62446454432df14ede94
parent0e1c2a98f419026f4895051051023411091be051 (diff)
downloadhurrycurry-b972ea72c09a81187ad2e4f55711da6f8e9fdaff.tar
hurrycurry-b972ea72c09a81187ad2e4f55711da6f8e9fdaff.tar.bz2
hurrycurry-b972ea72c09a81187ad2e4f55711da6f8e9fdaff.tar.zst
[skip-notice] Insert license notice EVERYWHERE!!
-rw-r--r--client/scripts/character.gd15
-rw-r--r--client/scripts/controllable_player.gd16
-rw-r--r--client/scripts/credits_menu.gd19
-rw-r--r--client/scripts/follow_camera.gd16
-rw-r--r--client/scripts/game.gd16
-rw-r--r--client/scripts/item.gd15
-rw-r--r--client/scripts/main_menu.gd16
-rw-r--r--client/scripts/map.gd21
-rw-r--r--client/scripts/marker.gd15
-rw-r--r--client/scripts/menu_background.gd35
-rw-r--r--client/scripts/mirror.gd15
-rw-r--r--client/scripts/multiplayer.gd17
-rw-r--r--client/scripts/player.gd17
-rw-r--r--client/scripts/progress.gd15
-rw-r--r--client/scripts/scene_transition.gd28
-rw-r--r--client/scripts/socket_test.gd22
-rw-r--r--client/scripts/tiles/chair.gd15
-rw-r--r--client/scripts/tiles/counter.gd15
-rw-r--r--client/scripts/tiles/counter_base.gd15
-rw-r--r--client/scripts/tiles/crate.gd15
-rw-r--r--client/scripts/tiles/cutting_board.gd15
-rw-r--r--client/scripts/tiles/door.gd15
-rw-r--r--client/scripts/tiles/floor.gd15
-rw-r--r--client/scripts/tiles/flour_counter.gd15
-rw-r--r--client/scripts/tiles/full_tile.gd15
-rw-r--r--client/scripts/tiles/generic_tile.gd15
-rw-r--r--client/scripts/tiles/oven.gd15
-rw-r--r--client/scripts/tiles/raw_steak_crate.gd15
-rw-r--r--client/scripts/tiles/sink.gd15
-rw-r--r--client/scripts/tiles/stove.gd15
-rw-r--r--client/scripts/tiles/table.gd15
-rw-r--r--client/scripts/tiles/tomato_crate.gd15
-rw-r--r--client/scripts/tiles/trash.gd15
-rw-r--r--client/scripts/tiles/wall.gd15
-rw-r--r--client/scripts/tiles/wall_tile.gd15
-rw-r--r--client/scripts/tiles/window.gd15
-rw-r--r--data/demands.yaml15
-rw-r--r--data/map.yaml15
-rw-r--r--data/recipes.ts17
-rw-r--r--protocol.md17
-rw-r--r--readme.md17
-rw-r--r--server/examples/client.rs17
-rw-r--r--server/src/bin/graph.rs17
-rw-r--r--server/src/customer/mod.rs17
-rw-r--r--server/src/customer/movement.rs17
-rw-r--r--server/src/customer/pathfinding.rs17
-rw-r--r--server/src/data.rs17
-rw-r--r--server/src/game.rs17
-rw-r--r--server/src/interaction.rs17
-rw-r--r--server/src/lib.rs17
-rw-r--r--server/src/main.rs17
-rw-r--r--server/src/protocol.rs17
-rw-r--r--specs/00.Introduction.md18
-rw-r--r--specs/01.GameLoopSummary.md17
-rw-r--r--specs/02.Sections.md17
-rw-r--r--specs/03.Mechanics.md17
-rw-r--r--specs/04.GameSetup.md17
-rw-r--r--specs/05.Round.md17
-rw-r--r--specs/06.Demand.md17
-rw-r--r--specs/07.Service.md17
-rw-r--r--specs/08.Items.md17
-rw-r--r--specs/09.UnlocksUpgrades.md17
-rw-r--r--specs/10.HUD.md17
-rw-r--r--test-client/index.html17
-rw-r--r--test-client/main.ts17
-rw-r--r--test-client/movement.ts17
-rw-r--r--test-client/protocol.ts17
-rw-r--r--test-client/tiles.ts17
-rw-r--r--test-client/util.ts17
-rw-r--r--test-client/visual.ts17
70 files changed, 1173 insertions, 0 deletions
diff --git a/client/scripts/character.gd b/client/scripts/character.gd
index 0340595a..847bd7b6 100644
--- a/client/scripts/character.gd
+++ b/client/scripts/character.gd
@@ -1,3 +1,18 @@
+# Undercooked - 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 Node3D
class_name Character
diff --git a/client/scripts/controllable_player.gd b/client/scripts/controllable_player.gd
index 91b786c5..4c157349 100644
--- a/client/scripts/controllable_player.gd
+++ b/client/scripts/controllable_player.gd
@@ -1,3 +1,19 @@
+# Undercooked - a game about cooking
+# Copyright 2024 nokoe
+# 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/>.
+#
class_name ControllablePlayer
extends Player
diff --git a/client/scripts/credits_menu.gd b/client/scripts/credits_menu.gd
new file mode 100644
index 00000000..a48d5461
--- /dev/null
+++ b/client/scripts/credits_menu.gd
@@ -0,0 +1,19 @@
+# Undercooked - 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/>.
+#
+extends Control
+
+func _on_back_pressed():
+ $SceneTransition.transition_to("res://scenes/main_menu.tscn")
diff --git a/client/scripts/follow_camera.gd b/client/scripts/follow_camera.gd
index 8c14c72a..74355688 100644
--- a/client/scripts/follow_camera.gd
+++ b/client/scripts/follow_camera.gd
@@ -1,3 +1,19 @@
+# Undercooked - a game about cooking
+# Copyright 2024 nokoe
+# 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/>.
+#
class_name FollowCamera
extends Camera3D
diff --git a/client/scripts/game.gd b/client/scripts/game.gd
index ff90065e..eb338eaa 100644
--- a/client/scripts/game.gd
+++ b/client/scripts/game.gd
@@ -1,3 +1,19 @@
+# Undercooked - a game about cooking
+# Copyright 2024 nokoe
+# 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/>.
+#
class_name Game
extends Node3D
diff --git a/client/scripts/item.gd b/client/scripts/item.gd
index 91ee012f..74e08c48 100644
--- a/client/scripts/item.gd
+++ b/client/scripts/item.gd
@@ -1,3 +1,18 @@
+# Undercooked - a game about cooking
+# Copyright 2024 nokoe
+#
+# 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/>.
+#
class_name Item
extends Node3D
diff --git a/client/scripts/main_menu.gd b/client/scripts/main_menu.gd
index aadd8441..df09cf7f 100644
--- a/client/scripts/main_menu.gd
+++ b/client/scripts/main_menu.gd
@@ -1,3 +1,19 @@
+# Undercooked - a game about cooking
+# Copyright 2024 metamuffin
+# 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
@onready var quick_connect = $side/margin/options/quick_connect
diff --git a/client/scripts/map.gd b/client/scripts/map.gd
index bceccd8f..abbd4c92 100644
--- a/client/scripts/map.gd
+++ b/client/scripts/map.gd
@@ -1,3 +1,24 @@
+<<<<<<< HEAD
+=======
+# Undercooked - a game about cooking
+# Copyright 2024 nokoe
+# 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/>.
+#
+@tool
+>>>>>>> c974879 ([skip-notice] Insert license notice EVERYWHERE!!)
class_name Map
extends Node3D
diff --git a/client/scripts/marker.gd b/client/scripts/marker.gd
index 0127cd5b..6e3e6ffa 100644
--- a/client/scripts/marker.gd
+++ b/client/scripts/marker.gd
@@ -1,3 +1,18 @@
+# Undercooked - a game about cooking
+# Copyright 2024 nokoe
+#
+# 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/>.
+#
class_name Marker
extends Node3D
diff --git a/client/scripts/menu_background.gd b/client/scripts/menu_background.gd
new file mode 100644
index 00000000..e5b8ac31
--- /dev/null
+++ b/client/scripts/menu_background.gd
@@ -0,0 +1,35 @@
+# Undercooked - a game about cooking
+# Copyright 2024 metamuffin
+# 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/>.
+#
+@tool
+extends Node3D
+
+@onready var map = $map
+@onready var voxel_gi: VoxelGI = $VoxelGI
+
+const NULLS = [null,null,null,null]
+const BUCKETS = [[], ["floor","floor","floor","floor","tomato-crate", "raw-steak-crate"], ["table", "chair", "counter"], ["sink", "stove"]]
+
+func _ready():
+ for x in range(-10,11):
+ for y in range(-10,11):
+ var w = exp(-sqrt(x*x+y*y) * 0.15)
+ var k = randf() * w
+ var bucket = BUCKETS[int(floor(k * BUCKETS.size())) % BUCKETS.size()]
+ if bucket.size() == 0: continue
+ var tile = bucket[randi() % bucket.size()]
+ map.update([x,y], tile, NULLS)
+ voxel_gi.bake()
diff --git a/client/scripts/mirror.gd b/client/scripts/mirror.gd
index a5cb9c59..ccec0e65 100644
--- a/client/scripts/mirror.gd
+++ b/client/scripts/mirror.gd
@@ -1,3 +1,18 @@
+# Undercooked - 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/>.
+#
@tool
# Hand mirror helper script, useful for animating characters
diff --git a/client/scripts/multiplayer.gd b/client/scripts/multiplayer.gd
index 1645ab45..534ef663 100644
--- a/client/scripts/multiplayer.gd
+++ b/client/scripts/multiplayer.gd
@@ -1,3 +1,20 @@
+# Undercooked - a game about cooking
+# Copyright 2024 nokoe
+# Copyright 2024 metamuffin
+# 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 Node
signal init(player_id: int)
diff --git a/client/scripts/player.gd b/client/scripts/player.gd
index 796a1480..423855e9 100644
--- a/client/scripts/player.gd
+++ b/client/scripts/player.gd
@@ -1,3 +1,20 @@
+# Undercooked - a game about cooking
+# Copyright 2024 nokoe
+# Copyright 2024 metamuffin
+# 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/>.
+#
class_name Player
extends Node3D
diff --git a/client/scripts/progress.gd b/client/scripts/progress.gd
index 22a2392f..4d6494f6 100644
--- a/client/scripts/progress.gd
+++ b/client/scripts/progress.gd
@@ -1,3 +1,18 @@
+# Undercooked - a game about cooking
+# Copyright 2024 nokoe
+#
+# 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/>.
+#
class_name ProgressBar3D
extends MeshInstance3D
diff --git a/client/scripts/scene_transition.gd b/client/scripts/scene_transition.gd
new file mode 100644
index 00000000..b5c89579
--- /dev/null
+++ b/client/scripts/scene_transition.gd
@@ -0,0 +1,28 @@
+# Undercooked - 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/>.
+#
+class_name SceneTransition
+extends ColorRect
+
+
+@onready var anim = $animation
+
+func _ready():
+ anim.play("fade_in")
+
+func transition_to(path: String):
+ anim.play("fade_out")
+ await anim.animation_finished
+ get_tree().change_scene_to_file(path)
diff --git a/client/scripts/socket_test.gd b/client/scripts/socket_test.gd
new file mode 100644
index 00000000..853dd981
--- /dev/null
+++ b/client/scripts/socket_test.gd
@@ -0,0 +1,22 @@
+# Undercooked - 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
+
+@onready var address = $VBoxContainer/LineEdit
+
+func _on_button_pressed():
+ Multiplayer.connectClient(address.text)
+ get_tree().change_scene_to_file("res://scenes/game.tscn")
diff --git a/client/scripts/tiles/chair.gd b/client/scripts/tiles/chair.gd
index dd26a07a..34735fda 100644
--- a/client/scripts/tiles/chair.gd
+++ b/client/scripts/tiles/chair.gd
@@ -1,3 +1,18 @@
+# Undercooked - a game about cooking
+# Copyright 2024 nokoe
+#
+# 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/>.
+#
class_name Chair
extends Floor
diff --git a/client/scripts/tiles/counter.gd b/client/scripts/tiles/counter.gd
index a10f3986..c3032e4f 100644
--- a/client/scripts/tiles/counter.gd
+++ b/client/scripts/tiles/counter.gd
@@ -1,3 +1,18 @@
+# Undercooked - a game about cooking
+# Copyright 2024 nokoe
+#
+# 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/>.
+#
class_name Counter
extends FullTile
diff --git a/client/scripts/tiles/counter_base.gd b/client/scripts/tiles/counter_base.gd
index bf51513e..ebeebb3b 100644
--- a/client/scripts/tiles/counter_base.gd
+++ b/client/scripts/tiles/counter_base.gd
@@ -1,3 +1,18 @@
+# Undercooked - a game about cooking
+# Copyright 2024 nokoe
+#
+# 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/>.
+#
class_name CounterBase
extends Counter
diff --git a/client/scripts/tiles/crate.gd b/client/scripts/tiles/crate.gd
index 3fe43525..21fae60b 100644
--- a/client/scripts/tiles/crate.gd
+++ b/client/scripts/tiles/crate.gd
@@ -1,3 +1,18 @@
+# Undercooked - a game about cooking
+# Copyright 2024 nokoe
+#
+# 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/>.
+#
class_name Crate
extends Counter
diff --git a/client/scripts/tiles/cutting_board.gd b/client/scripts/tiles/cutting_board.gd
index 7103cb4d..944a7a9f 100644
--- a/client/scripts/tiles/cutting_board.gd
+++ b/client/scripts/tiles/cutting_board.gd
@@ -1,3 +1,18 @@
+# Undercooked - a game about cooking
+# Copyright 2024 nokoe
+#
+# 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/>.
+#
class_name CuttingBoard
extends CounterBase
diff --git a/client/scripts/tiles/door.gd b/client/scripts/tiles/door.gd
index 7175814d..cfba08b7 100644
--- a/client/scripts/tiles/door.gd
+++ b/client/scripts/tiles/door.gd
@@ -1,3 +1,18 @@
+# Undercooked - a game about cooking
+# Copyright 2024 nokoe
+#
+# 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/>.
+#
class_name Door
extends Floor
diff --git a/client/scripts/tiles/floor.gd b/client/scripts/tiles/floor.gd
index f7c39244..fec68cbd 100644
--- a/client/scripts/tiles/floor.gd
+++ b/client/scripts/tiles/floor.gd
@@ -1,3 +1,18 @@
+# Undercooked - a game about cooking
+# Copyright 2024 nokoe
+#
+# 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/>.
+#
class_name Floor
extends Node3D
diff --git a/client/scripts/tiles/flour_counter.gd b/client/scripts/tiles/flour_counter.gd
index 56dad60f..4bf2b1f3 100644
--- a/client/scripts/tiles/flour_counter.gd
+++ b/client/scripts/tiles/flour_counter.gd
@@ -1,3 +1,18 @@
+# Undercooked - a game about cooking
+# Copyright 2024 nokoe
+#
+# 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/>.
+#
class_name FlourCounter
extends CounterBase
diff --git a/client/scripts/tiles/full_tile.gd b/client/scripts/tiles/full_tile.gd
index bdcca61c..2da54237 100644
--- a/client/scripts/tiles/full_tile.gd
+++ b/client/scripts/tiles/full_tile.gd
@@ -1,3 +1,18 @@
+# Undercooked - a game about cooking
+# Copyright 2024 nokoe
+#
+# 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/>.
+#
class_name FullTile
extends Floor
diff --git a/client/scripts/tiles/generic_tile.gd b/client/scripts/tiles/generic_tile.gd
index 23b86a84..f7d1b4a7 100644
--- a/client/scripts/tiles/generic_tile.gd
+++ b/client/scripts/tiles/generic_tile.gd
@@ -1,3 +1,18 @@
+# Undercooked - a game about cooking
+# Copyright 2024 nokoe
+#
+# 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/>.
+#
class_name GenericTile
extends Floor
diff --git a/client/scripts/tiles/oven.gd b/client/scripts/tiles/oven.gd
index 05909b63..88da3adb 100644
--- a/client/scripts/tiles/oven.gd
+++ b/client/scripts/tiles/oven.gd
@@ -1,3 +1,18 @@
+# Undercooked - a game about cooking
+# Copyright 2024 nokoe
+#
+# 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/>.
+#
class_name Oven
extends Counter
diff --git a/client/scripts/tiles/raw_steak_crate.gd b/client/scripts/tiles/raw_steak_crate.gd
index 3a15b942..8ff93d6b 100644
--- a/client/scripts/tiles/raw_steak_crate.gd
+++ b/client/scripts/tiles/raw_steak_crate.gd
@@ -1,3 +1,18 @@
+# Undercooked - a game about cooking
+# Copyright 2024 nokoe
+#
+# 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/>.
+#
class_name RawSteakCrate
extends Crate
diff --git a/client/scripts/tiles/sink.gd b/client/scripts/tiles/sink.gd
index 3b9029b6..e4eaff60 100644
--- a/client/scripts/tiles/sink.gd
+++ b/client/scripts/tiles/sink.gd
@@ -1,3 +1,18 @@
+# Undercooked - a game about cooking
+# Copyright 2024 nokoe
+#
+# 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/>.
+#
class_name Sink
extends Counter
diff --git a/client/scripts/tiles/stove.gd b/client/scripts/tiles/stove.gd
index a60209cb..93fad5a3 100644
--- a/client/scripts/tiles/stove.gd
+++ b/client/scripts/tiles/stove.gd
@@ -1,3 +1,18 @@
+# Undercooked - a game about cooking
+# Copyright 2024 nokoe
+#
+# 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/>.
+#
class_name Stove
extends Counter
diff --git a/client/scripts/tiles/table.gd b/client/scripts/tiles/table.gd
index 3e621f46..533223a4 100644
--- a/client/scripts/tiles/table.gd
+++ b/client/scripts/tiles/table.gd
@@ -1,3 +1,18 @@
+# Undercooked - a game about cooking
+# Copyright 2024 nokoe
+#
+# 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/>.
+#
class_name Table
extends FullTile
diff --git a/client/scripts/tiles/tomato_crate.gd b/client/scripts/tiles/tomato_crate.gd
index f19bdd08..078d0ba2 100644
--- a/client/scripts/tiles/tomato_crate.gd
+++ b/client/scripts/tiles/tomato_crate.gd
@@ -1,3 +1,18 @@
+# Undercooked - a game about cooking
+# Copyright 2024 nokoe
+#
+# 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/>.
+#
class_name TomatoCrate
extends Crate
diff --git a/client/scripts/tiles/trash.gd b/client/scripts/tiles/trash.gd
index c680e72d..fed1a502 100644
--- a/client/scripts/tiles/trash.gd
+++ b/client/scripts/tiles/trash.gd
@@ -1,3 +1,18 @@
+# Undercooked - a game about cooking
+# Copyright 2024 nokoe
+#
+# 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/>.
+#
class_name Trash
extends Crate
diff --git a/client/scripts/tiles/wall.gd b/client/scripts/tiles/wall.gd
index d69d16e9..0201d4d6 100644
--- a/client/scripts/tiles/wall.gd
+++ b/client/scripts/tiles/wall.gd
@@ -1,3 +1,18 @@
+# Undercooked - a game about cooking
+# Copyright 2024 nokoe
+#
+# 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/>.
+#
class_name Wall
extends WallTile
diff --git a/client/scripts/tiles/wall_tile.gd b/client/scripts/tiles/wall_tile.gd
index e51d010d..7c9d4305 100644
--- a/client/scripts/tiles/wall_tile.gd
+++ b/client/scripts/tiles/wall_tile.gd
@@ -1,3 +1,18 @@
+# Undercooked - a game about cooking
+# Copyright 2024 nokoe
+#
+# 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/>.
+#
class_name WallTile
extends FullTile
diff --git a/client/scripts/tiles/window.gd b/client/scripts/tiles/window.gd
index 7df5e9db..b2926080 100644
--- a/client/scripts/tiles/window.gd
+++ b/client/scripts/tiles/window.gd
@@ -1,3 +1,18 @@
+# Undercooked - a game about cooking
+# Copyright 2024 nokoe
+#
+# 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/>.
+#
class_name WallWindow
extends WallTile
diff --git a/data/demands.yaml b/data/demands.yaml
index 5752ab52..fdc66fda 100644
--- a/data/demands.yaml
+++ b/data/demands.yaml
@@ -1,3 +1,18 @@
+# Undercooked - 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/>.
+#
- { from: bread-plate, to: dirty-plate, duration: 10 }
- { from: steak-plate, to: dirty-plate, duration: 10 }
- { from: sliced-tomato-plate, to: dirty-plate, duration: 10 }
diff --git a/data/map.yaml b/data/map.yaml
index 94150de0..b9bf3cce 100644
--- a/data/map.yaml
+++ b/data/map.yaml
@@ -1,3 +1,18 @@
+# Undercooked - 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/>.
+#
map:
- "+--------------------+"
- "|ctc.ctc.ctc.ctc.ctc.|"
diff --git a/data/recipes.ts b/data/recipes.ts
index fcad1bb6..e7a90047 100644
--- a/data/recipes.ts
+++ b/data/recipes.ts
@@ -1,3 +1,20 @@
+/*
+ Undercooked - 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/>.
+
+*/
//? Is is a good idea? Probably not.
diff --git a/protocol.md b/protocol.md
index 093bce58..a0fbe4f6 100644
--- a/protocol.md
+++ b/protocol.md
@@ -1,3 +1,20 @@
+<!--
+ Undercooked - 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/>.
+
+-->
# undercooked protocol
The protocol schema is defined in [`protocol.ts`](./test-client/protocol.ts)
diff --git a/readme.md b/readme.md
index 61b10185..0c03be45 100644
--- a/readme.md
+++ b/readme.md
@@ -1,3 +1,20 @@
+<!--
+ Undercooked - 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/>.
+
+-->
# undercooked
A cooperative multiplayer game about cooking.
diff --git a/server/examples/client.rs b/server/examples/client.rs
index e22656d4..6c757f77 100644
--- a/server/examples/client.rs
+++ b/server/examples/client.rs
@@ -1,3 +1,20 @@
+/*
+ Undercooked - 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 std::{
io::{stdin, BufRead, BufReader, Write},
net::TcpStream,
diff --git a/server/src/bin/graph.rs b/server/src/bin/graph.rs
index c52b1400..aa65e91a 100644
--- a/server/src/bin/graph.rs
+++ b/server/src/bin/graph.rs
@@ -1,3 +1,20 @@
+/*
+ Undercooked - 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 undercooked::{
interaction::Recipe,
load_gamedata,
diff --git a/server/src/customer/mod.rs b/server/src/customer/mod.rs
index fd7dcc5c..16275227 100644
--- a/server/src/customer/mod.rs
+++ b/server/src/customer/mod.rs
@@ -1,3 +1,20 @@
+/*
+ Undercooked - 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/>.
+
+*/
pub mod movement;
mod pathfinding;
diff --git a/server/src/customer/movement.rs b/server/src/customer/movement.rs
index c637a17f..b62149c9 100644
--- a/server/src/customer/movement.rs
+++ b/server/src/customer/movement.rs
@@ -1,3 +1,20 @@
+/*
+ Undercooked - 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 crate::protocol::PacketS;
use glam::{IVec2, Vec2};
use std::collections::HashSet;
diff --git a/server/src/customer/pathfinding.rs b/server/src/customer/pathfinding.rs
index 26de9c51..5354407f 100644
--- a/server/src/customer/pathfinding.rs
+++ b/server/src/customer/pathfinding.rs
@@ -1,3 +1,20 @@
+/*
+ Undercooked - 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 super::movement::MovementBase;
use crate::protocol::PacketS;
use glam::{IVec2, Vec2};
diff --git a/server/src/data.rs b/server/src/data.rs
index 5fa1a009..2d942de4 100644
--- a/server/src/data.rs
+++ b/server/src/data.rs
@@ -1,3 +1,20 @@
+/*
+ Undercooked - 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 crate::{
interaction::Recipe,
protocol::{DemandIndex, ItemIndex, RecipeIndex, TileIndex},
diff --git a/server/src/game.rs b/server/src/game.rs
index c240ea13..d5ef1765 100644
--- a/server/src/game.rs
+++ b/server/src/game.rs
@@ -1,3 +1,20 @@
+/*
+ Undercooked - 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 crate::{
customer::movement::PLAYER_SPEED_LIMIT,
data::Gamedata,
diff --git a/server/src/interaction.rs b/server/src/interaction.rs
index ef6d5bf7..126026d6 100644
--- a/server/src/interaction.rs
+++ b/server/src/interaction.rs
@@ -1,3 +1,20 @@
+/*
+ Undercooked - 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 crate::{
data::Gamedata,
game::{Involvement, Item, Player, Tile},
diff --git a/server/src/lib.rs b/server/src/lib.rs
index 2f677d7c..ac0fbfa4 100644
--- a/server/src/lib.rs
+++ b/server/src/lib.rs
@@ -1,3 +1,20 @@
+/*
+ Undercooked - 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 data::{build_gamedata, Gamedata};
use std::fs::File;
diff --git a/server/src/main.rs b/server/src/main.rs
index 5c718fb0..aeda9c2f 100644
--- a/server/src/main.rs
+++ b/server/src/main.rs
@@ -1,3 +1,20 @@
+/*
+ Undercooked - 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 anyhow::Result;
use futures_util::{SinkExt, StreamExt};
use log::{debug, info, warn};
diff --git a/server/src/protocol.rs b/server/src/protocol.rs
index fb24f7cf..8690febf 100644
--- a/server/src/protocol.rs
+++ b/server/src/protocol.rs
@@ -1,3 +1,20 @@
+/*
+ Undercooked - 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 crate::data::Gamedata;
use glam::{IVec2, Vec2};
use serde::{Deserialize, Serialize};
diff --git a/specs/00.Introduction.md b/specs/00.Introduction.md
index c6d803fc..d5be029a 100644
--- a/specs/00.Introduction.md
+++ b/specs/00.Introduction.md
@@ -1,3 +1,21 @@
+<!--
+ Undercooked - a game about cooking
+ Copyright 2024 Sofviic
+ 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/>.
+
+-->
# Undercooked
A cooperative fast-paced game about running a restaurant together.
diff --git a/specs/01.GameLoopSummary.md b/specs/01.GameLoopSummary.md
index e7c07597..682b39c0 100644
--- a/specs/01.GameLoopSummary.md
+++ b/specs/01.GameLoopSummary.md
@@ -1,3 +1,20 @@
+<!--
+ Undercooked - 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.
diff --git a/specs/02.Sections.md b/specs/02.Sections.md
index 8b8e26d6..8f643b10 100644
--- a/specs/02.Sections.md
+++ b/specs/02.Sections.md
@@ -1,3 +1,20 @@
+<!--
+ Undercooked - 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
diff --git a/specs/03.Mechanics.md b/specs/03.Mechanics.md
index c6e50360..2a27effd 100644
--- a/specs/03.Mechanics.md
+++ b/specs/03.Mechanics.md
@@ -1,3 +1,20 @@
+<!--
+ Undercooked - 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
diff --git a/specs/04.GameSetup.md b/specs/04.GameSetup.md
index 55b0f6b8..dfc08253 100644
--- a/specs/04.GameSetup.md
+++ b/specs/04.GameSetup.md
@@ -1,3 +1,20 @@
+<!--
+ Undercooked - 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
diff --git a/specs/05.Round.md b/specs/05.Round.md
index 593ff6c3..525f5e63 100644
--- a/specs/05.Round.md
+++ b/specs/05.Round.md
@@ -1,3 +1,20 @@
+<!--
+ Undercooked - 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
diff --git a/specs/06.Demand.md b/specs/06.Demand.md
index bd8d5dcd..fd4ce295 100644
--- a/specs/06.Demand.md
+++ b/specs/06.Demand.md
@@ -1,3 +1,20 @@
+<!--
+ Undercooked - 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),
diff --git a/specs/07.Service.md b/specs/07.Service.md
index c9c5e030..12640f67 100644
--- a/specs/07.Service.md
+++ b/specs/07.Service.md
@@ -1,2 +1,19 @@
+<!--
+ Undercooked - 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
index f99c3cba..185d63d5 100644
--- a/specs/08.Items.md
+++ b/specs/08.Items.md
@@ -1,2 +1,19 @@
+<!--
+ Undercooked - 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
index 9ee68ac8..1819bb42 100644
--- a/specs/09.UnlocksUpgrades.md
+++ b/specs/09.UnlocksUpgrades.md
@@ -1,2 +1,19 @@
+<!--
+ Undercooked - 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
index ebe1e09e..6354006e 100644
--- a/specs/10.HUD.md
+++ b/specs/10.HUD.md
@@ -1,2 +1,19 @@
+<!--
+ Undercooked - 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/test-client/index.html b/test-client/index.html
index 12079351..d1cd7133 100644
--- a/test-client/index.html
+++ b/test-client/index.html
@@ -1,3 +1,20 @@
+<!--
+ Undercooked - 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/>.
+
+-->
<!DOCTYPE html>
<html lang="en">
<head>
diff --git a/test-client/main.ts b/test-client/main.ts
index 80b68906..69a4ff69 100644
--- a/test-client/main.ts
+++ b/test-client/main.ts
@@ -1,3 +1,20 @@
+/*
+ Undercooked - 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/>.
+
+*/
/// <reference lib="dom" />
import { player_movement_update } from "./movement.ts";
diff --git a/test-client/movement.ts b/test-client/movement.ts
index cd5cc1d5..1ba6fad7 100644
--- a/test-client/movement.ts
+++ b/test-client/movement.ts
@@ -1,3 +1,20 @@
+/*
+ Undercooked - 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/>.
+
+*/
import { data } from "./main.ts";
import { tiles, players, PlayerData } from "./main.ts";
import { V2, normalize, length, sub_v2, lerp_exp_v2_mut } from "./util.ts";
diff --git a/test-client/protocol.ts b/test-client/protocol.ts
index 68307a1f..48a1cca7 100644
--- a/test-client/protocol.ts
+++ b/test-client/protocol.ts
@@ -1,3 +1,20 @@
+/*
+ Undercooked - 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/>.
+
+*/
export type Vec2 = [number, number] // x, y
export type PlayerID = number
export type ItemIndex = number
diff --git a/test-client/tiles.ts b/test-client/tiles.ts
index ebf70842..18b50787 100644
--- a/test-client/tiles.ts
+++ b/test-client/tiles.ts
@@ -1,3 +1,20 @@
+/*
+ Undercooked - 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/>.
+
+*/
type Component = (ctx: CanvasRenderingContext2D) => void
function base(fill: string, stroke?: string, stroke_width?: number): Component {
diff --git a/test-client/util.ts b/test-client/util.ts
index 975a5700..8faaa555 100644
--- a/test-client/util.ts
+++ b/test-client/util.ts
@@ -1,3 +1,20 @@
+/*
+ Undercooked - 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/>.
+
+*/
export interface V2 { x: number, y: number }
export function length(p: V2): number { return Math.sqrt(p.x * p.x + p.y * p.y) }
export function normalize_mut(p: V2) { const l = length(p); if (l == 0) return; p.x /= l; p.y /= l }
diff --git a/test-client/visual.ts b/test-client/visual.ts
index e23f0f01..fbe9ad10 100644
--- a/test-client/visual.ts
+++ b/test-client/visual.ts
@@ -1,3 +1,20 @@
+/*
+ Undercooked - 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/>.
+
+*/
import { ItemData, MessageData, PlayerData, TileData, camera, canvas, ctx, data, get_interact_target, interact_active_anim, interact_possible_anim, interact_target_anim, items_removed, keys_down, my_id, players, tiles } from "./main.ts";
import { PLAYER_SIZE } from "./movement.ts";
import { FALLBACK_TILE, ITEMS, TILES, FALLBACK_ITEM } from "./tiles.ts";