aboutsummaryrefslogtreecommitdiff
path: root/client/map/progress
diff options
context:
space:
mode:
authortpart <tpart120@proton.me>2024-10-06 21:17:52 +0200
committertpart <tpart120@proton.me>2024-10-10 11:48:35 +0200
commit4ee632304449b77689bf075d3dbcd2466210e118 (patch)
tree628153bd5eb76692c20e1b29d664bff1a98818f8 /client/map/progress
parent26e4226f3ef410e5ec437bc8a1f2e286dcc8cde2 (diff)
downloadhurrycurry-4ee632304449b77689bf075d3dbcd2466210e118.tar
hurrycurry-4ee632304449b77689bf075d3dbcd2466210e118.tar.bz2
hurrycurry-4ee632304449b77689bf075d3dbcd2466210e118.tar.zst
Reorganize map files; Fix location of some theme files
Diffstat (limited to 'client/map/progress')
-rw-r--r--client/map/progress/progress.gd24
-rw-r--r--client/map/progress/progress.gdshader48
-rw-r--r--client/map/progress/progress.tscn19
3 files changed, 91 insertions, 0 deletions
diff --git a/client/map/progress/progress.gd b/client/map/progress/progress.gd
new file mode 100644
index 00000000..fc31408c
--- /dev/null
+++ b/client/map/progress/progress.gd
@@ -0,0 +1,24 @@
+# Hurry Curry! - a game about cooking
+# Copyright 2024 metamuffin
+# Copyright 2024 nokoe
+# Copyright 2024 tpart
+#
+# This program is free software: you can redistribute it and/or modify
+# 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
+
+func update(new_position: float, new_warn: bool):
+ var mat: ShaderMaterial = get_active_material(0)
+ mat.set_shader_parameter("progress", new_position)
+ mat.set_shader_parameter("bad", new_warn)
diff --git a/client/map/progress/progress.gdshader b/client/map/progress/progress.gdshader
new file mode 100644
index 00000000..a5ebf575
--- /dev/null
+++ b/client/map/progress/progress.gdshader
@@ -0,0 +1,48 @@
+/*
+ Hurry Curry! - a game about cooking
+ Copyright 2024 nokoe
+ 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/>.
+
+*/
+shader_type spatial;
+render_mode unshaded;
+
+uniform float progress = 0.;
+uniform bool bad = false;
+
+void fragment() {
+ vec3 color = vec3(0., .5, 0.);
+ float alpha_fac = 1.;
+ if (bad) {
+ color = vec3(progress, 1. - progress, 0.);
+ alpha_fac = (sin(TIME * 15.) + 1.) * .5;
+ }
+ if (UV.x > progress) {
+ ALPHA = 1.;
+ color = vec3(0.1, 0.1, 0.1);
+ }
+ ALPHA *= alpha_fac;
+ ALBEDO = color;
+}
+
+void vertex() {
+ mat4 modified_model_view = VIEW_MATRIX * mat4(
+ INV_VIEW_MATRIX[0],
+ INV_VIEW_MATRIX[1],
+ INV_VIEW_MATRIX[2],
+ MODEL_MATRIX[3]
+ );
+ MODELVIEW_MATRIX = modified_model_view;
+}
diff --git a/client/map/progress/progress.tscn b/client/map/progress/progress.tscn
new file mode 100644
index 00000000..7f2ec175
--- /dev/null
+++ b/client/map/progress/progress.tscn
@@ -0,0 +1,19 @@
+[gd_scene load_steps=5 format=3 uid="uid://4ewufm6tqhpb"]
+
+[ext_resource type="Shader" path="res://map/progress/progress.gdshader" id="1_6f2a0"]
+[ext_resource type="Script" path="res://map/progress/progress.gd" id="2_bb3u3"]
+
+[sub_resource type="QuadMesh" id="QuadMesh_m0itj"]
+size = Vector2(0.75, 0.1)
+
+[sub_resource type="ShaderMaterial" id="ShaderMaterial_4k6cy"]
+resource_local_to_scene = true
+render_priority = 0
+shader = ExtResource("1_6f2a0")
+shader_parameter/progress = 0.0
+shader_parameter/bad = false
+
+[node name="Progress" type="MeshInstance3D"]
+mesh = SubResource("QuadMesh_m0itj")
+surface_material_override/0 = SubResource("ShaderMaterial_4k6cy")
+script = ExtResource("2_bb3u3")