diff --git a/.godot/global_script_class_cache.cfg b/.godot/global_script_class_cache.cfg index ab6df2e..1dfd26b 100644 --- a/.godot/global_script_class_cache.cfg +++ b/.godot/global_script_class_cache.cfg @@ -29,6 +29,12 @@ list=Array[Dictionary]([{ "language": &"GDScript", "path": "res://scripts/item/car.gd" }, { +"base": &"Node", +"class": &"Config", +"icon": "", +"language": &"GDScript", +"path": "res://addons/logger/config.gd" +}, { "base": &"Observable", "class": &"DarkRoad", "icon": "", @@ -95,6 +101,18 @@ list=Array[Dictionary]([{ "language": &"GDScript", "path": "res://scripts/item/generic/item.gd" }, { +"base": &"RefCounted", +"class": &"JsonData", +"icon": "", +"language": &"GDScript", +"path": "res://addons/logger/json-data.gd" +}, { +"base": &"Node", +"class": &"LogStream", +"icon": "", +"language": &"GDScript", +"path": "res://addons/logger/log-stream.gd" +}, { "base": &"Observable", "class": &"Mechanism", "icon": "", @@ -125,12 +143,6 @@ list=Array[Dictionary]([{ "language": &"GDScript", "path": "res://scripts/item/generic/observable.gd" }, { -"base": &"Node", -"class": &"OptionsConstants", -"icon": "", -"language": &"GDScript", -"path": "res://addons/EasyMenus/Scripts/options_constants.gd" -}, { "base": &"Resource", "class": &"ProtonScatterBaseShape", "icon": "", diff --git a/.godot/imported/Noise.png-49623d22636507f04adfc06869f390a7.md5 b/.godot/imported/Noise.png-49623d22636507f04adfc06869f390a7.md5 index 3d29a6f..effeb6e 100644 --- a/.godot/imported/Noise.png-49623d22636507f04adfc06869f390a7.md5 +++ b/.godot/imported/Noise.png-49623d22636507f04adfc06869f390a7.md5 @@ -1,2 +1,2 @@ source_md5="e498578efefc577ddbb0e257552fac7d" -dest_md5="1de5bc52ef763bc03ffb753bdfa5eab6" +dest_md5="53934533203a8657f61908a5a02be5a1" diff --git a/.godot/imported/brick.glb-d79404ecf88b29143e6e07e77bacb44c.md5 b/.godot/imported/brick.glb-d79404ecf88b29143e6e07e77bacb44c.md5 index 90b7f96..fb7e513 100644 --- a/.godot/imported/brick.glb-d79404ecf88b29143e6e07e77bacb44c.md5 +++ b/.godot/imported/brick.glb-d79404ecf88b29143e6e07e77bacb44c.md5 @@ -1,2 +1,2 @@ source_md5="a7594812277c0f513192cb7969b6573c" -dest_md5="5f91dd82d872c7cbdcefd8ec910a9f30" +dest_md5="4720028adf4fcd64b6ef9fb97ffd60e8" diff --git a/.godot/imported/brick.glb-d79404ecf88b29143e6e07e77bacb44c.scn b/.godot/imported/brick.glb-d79404ecf88b29143e6e07e77bacb44c.scn index f31e4c6..5554406 100644 Binary files a/.godot/imported/brick.glb-d79404ecf88b29143e6e07e77bacb44c.scn and b/.godot/imported/brick.glb-d79404ecf88b29143e6e07e77bacb44c.scn differ diff --git a/.godot/imported/bush.glb-28e0128066fe8d913839a6b96204b1c6.md5 b/.godot/imported/bush.glb-28e0128066fe8d913839a6b96204b1c6.md5 index 2aa39a3..b5f9110 100644 --- a/.godot/imported/bush.glb-28e0128066fe8d913839a6b96204b1c6.md5 +++ b/.godot/imported/bush.glb-28e0128066fe8d913839a6b96204b1c6.md5 @@ -1,2 +1,2 @@ source_md5="2363f5129d4bd1510e126638c39f7379" -dest_md5="95d670224f15a320c95c3732144568a6" +dest_md5="82c6536b61aa9ba45d55612bfcdc5c43" diff --git a/.godot/imported/bush.glb-28e0128066fe8d913839a6b96204b1c6.scn b/.godot/imported/bush.glb-28e0128066fe8d913839a6b96204b1c6.scn index d438f3d..61aa61e 100644 Binary files a/.godot/imported/bush.glb-28e0128066fe8d913839a6b96204b1c6.scn and b/.godot/imported/bush.glb-28e0128066fe8d913839a6b96204b1c6.scn differ diff --git a/.godot/imported/compute_relax.glsl-b06f9e60cda7719b78bde9673f2501b7.md5 b/.godot/imported/compute_relax.glsl-b06f9e60cda7719b78bde9673f2501b7.md5 index 6efcbb4..aa70c07 100644 --- a/.godot/imported/compute_relax.glsl-b06f9e60cda7719b78bde9673f2501b7.md5 +++ b/.godot/imported/compute_relax.glsl-b06f9e60cda7719b78bde9673f2501b7.md5 @@ -1,2 +1,2 @@ source_md5="d28fc1b4998adc3f0ef9aeebc3099059" -dest_md5="43e7cf69ccc9b54a8a560968ca86ab7c" +dest_md5="3120e8627fd85e0dffaa930f089b9191" diff --git a/.godot/imported/compute_relax.glsl-b06f9e60cda7719b78bde9673f2501b7.res b/.godot/imported/compute_relax.glsl-b06f9e60cda7719b78bde9673f2501b7.res index 87c53a5..a99ab7f 100644 Binary files a/.godot/imported/compute_relax.glsl-b06f9e60cda7719b78bde9673f2501b7.res and b/.godot/imported/compute_relax.glsl-b06f9e60cda7719b78bde9673f2501b7.res differ diff --git a/.godot/imported/dead_branch.glb-e4e41ce877f1ef0b2d20a7b89af5de7b.md5 b/.godot/imported/dead_branch.glb-e4e41ce877f1ef0b2d20a7b89af5de7b.md5 index d618b66..1da5f59 100644 --- a/.godot/imported/dead_branch.glb-e4e41ce877f1ef0b2d20a7b89af5de7b.md5 +++ b/.godot/imported/dead_branch.glb-e4e41ce877f1ef0b2d20a7b89af5de7b.md5 @@ -1,2 +1,2 @@ source_md5="81425403dffc8e4a8722edc480988edb" -dest_md5="82b37f1033cf12357c82cb49f073421a" +dest_md5="f77681161bf685758a8fb067cefe48a5" diff --git a/.godot/imported/dead_branch.glb-e4e41ce877f1ef0b2d20a7b89af5de7b.scn b/.godot/imported/dead_branch.glb-e4e41ce877f1ef0b2d20a7b89af5de7b.scn index 95f8ca5..74f2538 100644 Binary files a/.godot/imported/dead_branch.glb-e4e41ce877f1ef0b2d20a7b89af5de7b.scn and b/.godot/imported/dead_branch.glb-e4e41ce877f1ef0b2d20a7b89af5de7b.scn differ diff --git a/.godot/imported/fence_planks.glb-4cee642c3e514323763ee9631fb323e9.md5 b/.godot/imported/fence_planks.glb-4cee642c3e514323763ee9631fb323e9.md5 index 259556e..d2bd104 100644 --- a/.godot/imported/fence_planks.glb-4cee642c3e514323763ee9631fb323e9.md5 +++ b/.godot/imported/fence_planks.glb-4cee642c3e514323763ee9631fb323e9.md5 @@ -1,2 +1,2 @@ source_md5="acf67c6d4b4eddc4751a018ed6cf3ca9" -dest_md5="f37a94e0b17a4e60ba899f1459003892" +dest_md5="001d331d10fb156de30d4d918cc0d32c" diff --git a/.godot/imported/fence_planks.glb-4cee642c3e514323763ee9631fb323e9.scn b/.godot/imported/fence_planks.glb-4cee642c3e514323763ee9631fb323e9.scn index 75f22f5..781ebe4 100644 Binary files a/.godot/imported/fence_planks.glb-4cee642c3e514323763ee9631fb323e9.scn and b/.godot/imported/fence_planks.glb-4cee642c3e514323763ee9631fb323e9.scn differ diff --git a/.godot/imported/gobot.glb-36505aa16090f2bc2f34fbe5362f44e8.md5 b/.godot/imported/gobot.glb-36505aa16090f2bc2f34fbe5362f44e8.md5 index 8b0fb46..e157d1b 100644 --- a/.godot/imported/gobot.glb-36505aa16090f2bc2f34fbe5362f44e8.md5 +++ b/.godot/imported/gobot.glb-36505aa16090f2bc2f34fbe5362f44e8.md5 @@ -1,2 +1,2 @@ source_md5="47b2f0428ac459670abcb7eed226e03e" -dest_md5="091fe4b7e5fde3bcfdd7ac311c5575dc" +dest_md5="6f0dfad3090721e9eda817b8de14d359" diff --git a/.godot/imported/gobot.glb-36505aa16090f2bc2f34fbe5362f44e8.scn b/.godot/imported/gobot.glb-36505aa16090f2bc2f34fbe5362f44e8.scn index 46f2273..4d5144f 100644 Binary files a/.godot/imported/gobot.glb-36505aa16090f2bc2f34fbe5362f44e8.scn and b/.godot/imported/gobot.glb-36505aa16090f2bc2f34fbe5362f44e8.scn differ diff --git a/.godot/imported/grass.glb-0ef73576363e4c601b9f45b1787e1487.md5 b/.godot/imported/grass.glb-0ef73576363e4c601b9f45b1787e1487.md5 index b46eed4..9d30328 100644 --- a/.godot/imported/grass.glb-0ef73576363e4c601b9f45b1787e1487.md5 +++ b/.godot/imported/grass.glb-0ef73576363e4c601b9f45b1787e1487.md5 @@ -1,2 +1,2 @@ source_md5="78c80a15562fc393dc8d024b43f1dd75" -dest_md5="87b3e6b8aca9d8e3051d2628f4e1d5d9" +dest_md5="70d8b873a7cdd5494936a1283092db23" diff --git a/.godot/imported/grass.glb-0ef73576363e4c601b9f45b1787e1487.scn b/.godot/imported/grass.glb-0ef73576363e4c601b9f45b1787e1487.scn index 06e3e15..6d4f702 100644 Binary files a/.godot/imported/grass.glb-0ef73576363e4c601b9f45b1787e1487.scn and b/.godot/imported/grass.glb-0ef73576363e4c601b9f45b1787e1487.scn differ diff --git a/.godot/imported/grass_2.glb-2dc56a32acf64077863c701e8b94ea02.md5 b/.godot/imported/grass_2.glb-2dc56a32acf64077863c701e8b94ea02.md5 index 50aa914..dbe157a 100644 --- a/.godot/imported/grass_2.glb-2dc56a32acf64077863c701e8b94ea02.md5 +++ b/.godot/imported/grass_2.glb-2dc56a32acf64077863c701e8b94ea02.md5 @@ -1,2 +1,2 @@ source_md5="c8ea57ccd2f30a806bfd7c6c516a9391" -dest_md5="1e048276a6630a1b26d955bdd544a52a" +dest_md5="64f1d5e37347a6f24c9f521529912fc6" diff --git a/.godot/imported/grass_2.glb-2dc56a32acf64077863c701e8b94ea02.scn b/.godot/imported/grass_2.glb-2dc56a32acf64077863c701e8b94ea02.scn index c6138ca..96e55c8 100644 Binary files a/.godot/imported/grass_2.glb-2dc56a32acf64077863c701e8b94ea02.scn and b/.godot/imported/grass_2.glb-2dc56a32acf64077863c701e8b94ea02.scn differ diff --git a/.godot/imported/large_rock.glb-f7a7a73f49167cee4ed84e7342d1f507.md5 b/.godot/imported/large_rock.glb-f7a7a73f49167cee4ed84e7342d1f507.md5 index 0fa5009..2774726 100644 --- a/.godot/imported/large_rock.glb-f7a7a73f49167cee4ed84e7342d1f507.md5 +++ b/.godot/imported/large_rock.glb-f7a7a73f49167cee4ed84e7342d1f507.md5 @@ -1,2 +1,2 @@ source_md5="1fc3800f498ce772e019676efe8fb1c8" -dest_md5="560c32023579075e39a419583d3690c5" +dest_md5="8cd3ead11cdf497a5f909cd7936b4246" diff --git a/.godot/imported/large_rock.glb-f7a7a73f49167cee4ed84e7342d1f507.scn b/.godot/imported/large_rock.glb-f7a7a73f49167cee4ed84e7342d1f507.scn index 6b3935a..9f89d6d 100644 Binary files a/.godot/imported/large_rock.glb-f7a7a73f49167cee4ed84e7342d1f507.scn and b/.godot/imported/large_rock.glb-f7a7a73f49167cee4ed84e7342d1f507.scn differ diff --git a/.godot/imported/mushrooms.glb-64c83b02a53711f9983c978d53ab0f12.md5 b/.godot/imported/mushrooms.glb-64c83b02a53711f9983c978d53ab0f12.md5 index cfb6c1c..e720cf2 100644 --- a/.godot/imported/mushrooms.glb-64c83b02a53711f9983c978d53ab0f12.md5 +++ b/.godot/imported/mushrooms.glb-64c83b02a53711f9983c978d53ab0f12.md5 @@ -1,2 +1,2 @@ source_md5="d41b4c6d18ea38557a3db75c02211906" -dest_md5="5e9079268ddfcfc248354c743987729c" +dest_md5="1821bde55f93880ecd8f16965bfeee62" diff --git a/.godot/imported/mushrooms.glb-64c83b02a53711f9983c978d53ab0f12.scn b/.godot/imported/mushrooms.glb-64c83b02a53711f9983c978d53ab0f12.scn index 2b5f64e..4354329 100644 Binary files a/.godot/imported/mushrooms.glb-64c83b02a53711f9983c978d53ab0f12.scn and b/.godot/imported/mushrooms.glb-64c83b02a53711f9983c978d53ab0f12.scn differ diff --git a/.godot/imported/pine_tree.glb-662cc3d34707ccadde24f89b98fadf88.md5 b/.godot/imported/pine_tree.glb-662cc3d34707ccadde24f89b98fadf88.md5 index 59ca041..812b806 100644 --- a/.godot/imported/pine_tree.glb-662cc3d34707ccadde24f89b98fadf88.md5 +++ b/.godot/imported/pine_tree.glb-662cc3d34707ccadde24f89b98fadf88.md5 @@ -1,2 +1,2 @@ source_md5="9cca2d6634b61774d490534b8f565fce" -dest_md5="1a88b93d5eb9c3ef3b6d823f7a079ef3" +dest_md5="6ef3a97eb62cabea5d1a54967f924517" diff --git a/.godot/imported/pine_tree.glb-662cc3d34707ccadde24f89b98fadf88.scn b/.godot/imported/pine_tree.glb-662cc3d34707ccadde24f89b98fadf88.scn index 96a220c..6fc65e6 100644 Binary files a/.godot/imported/pine_tree.glb-662cc3d34707ccadde24f89b98fadf88.scn and b/.godot/imported/pine_tree.glb-662cc3d34707ccadde24f89b98fadf88.scn differ diff --git a/.godot/imported/small_rock.glb-9b9690e480edfa6e23f0243045338de9.md5 b/.godot/imported/small_rock.glb-9b9690e480edfa6e23f0243045338de9.md5 index 4c2955f..1496ee3 100644 --- a/.godot/imported/small_rock.glb-9b9690e480edfa6e23f0243045338de9.md5 +++ b/.godot/imported/small_rock.glb-9b9690e480edfa6e23f0243045338de9.md5 @@ -1,2 +1,2 @@ source_md5="6061dbc319955281054c4160679e3aa2" -dest_md5="7e72593e0be8336037513a000505c686" +dest_md5="ca7bd4f03890dc71ab31e5f0c750e255" diff --git a/.godot/imported/small_rock.glb-9b9690e480edfa6e23f0243045338de9.scn b/.godot/imported/small_rock.glb-9b9690e480edfa6e23f0243045338de9.scn index c5034b1..f98ba7a 100644 Binary files a/.godot/imported/small_rock.glb-9b9690e480edfa6e23f0243045338de9.scn and b/.godot/imported/small_rock.glb-9b9690e480edfa6e23f0243045338de9.scn differ diff --git a/.godot/imported/tree.glb-86fae6fb2428df7d74097b1a7c75b288.md5 b/.godot/imported/tree.glb-86fae6fb2428df7d74097b1a7c75b288.md5 index 67bd147..68c5f21 100644 --- a/.godot/imported/tree.glb-86fae6fb2428df7d74097b1a7c75b288.md5 +++ b/.godot/imported/tree.glb-86fae6fb2428df7d74097b1a7c75b288.md5 @@ -1,2 +1,2 @@ source_md5="a4c148dcac1393f31f0aca35e3497b59" -dest_md5="c052c91364a9aa97136c6b97900728ed" +dest_md5="e130df7991ae2a15a5993328aa07905c" diff --git a/.godot/imported/tree.glb-86fae6fb2428df7d74097b1a7c75b288.scn b/.godot/imported/tree.glb-86fae6fb2428df7d74097b1a7c75b288.scn index 7623477..b1bb31c 100644 Binary files a/.godot/imported/tree.glb-86fae6fb2428df7d74097b1a7c75b288.scn and b/.godot/imported/tree.glb-86fae6fb2428df7d74097b1a7c75b288.scn differ diff --git a/CHANGELOG.md b/CHANGELOG.md index 099ceb9..f6fbd72 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,28 +10,22 @@ Inspired from [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) ### Security ### Dependencies +## [1.0.2] +### Fixed +- Correctly define path to control box switch mesh [#14](https://github.com/MechanicalFlower/HazyRoad/pull/14) + ## [1.0.1] -### Added -### Changed -### Deprecated -### Removed ### Fixed - Add the English translation [#13](https://github.com/MechanicalFlower/HazyRoad/pull/13) -### Security -### Dependencies ## [1.0.0] -### Added ### Changed - Optimize images via ImgBot [#1](https://github.com/MechanicalFlower/HazyRoad/pull/1) - Update sky shader to add clouds [#4](https://github.com/MechanicalFlower/HazyRoad/pull/4) -### Deprecated -### Removed ### Fixed - Include `.godot` folder to fix the CI build step [#2](https://github.com/MechanicalFlower/HazyRoad/pull/2) -### Security -### Dependencies -[Unreleased]: https://github.com/MechanicalFlower/HazyRoad/compare/1.0.1...HEAD +[Unreleased]: https://github.com/MechanicalFlower/HazyRoad/compare/1.0.2...HEAD +[1.0.2]: https://github.com/MechanicalFlower/HazyRoad/compare/1.0.1...1.0.2 [1.0.1]: https://github.com/MechanicalFlower/HazyRoad/compare/1.0.0...1.0.1 [1.0.0]: https://github.com/MechanicalFlower/HazyRoad/commits/1.0.0 diff --git a/Justfile b/Justfile index 330c69f..7f833e0 100644 --- a/Justfile +++ b/Justfile @@ -182,6 +182,9 @@ butler *ARGS: check-butler sed -i "s,application/version=.*$,application/version=\"{{ game_version }}\",g" ./export_presets.cfg sed -i "s,application/short_version=.*$,application/short_version=\"{{ short_version }}\",g" ./export_presets.cfg + echo "Update version in the project.godot" + sed -i "s,config/version=.*$,config/version=\"{{ game_version }}\",g" ./project.godot + echo "Create the override.cfg" touch override.cfg echo -e '[build_info]\npackage/version="{{ game_version }}"\npackage/build_date="{{ build_date }}"\nsource/commit="{{ commit_hash }}"' > override.cfg diff --git a/README.md b/README.md index dacb0b4..9558f13 100644 --- a/README.md +++ b/README.md @@ -13,17 +13,23 @@ A short puzzle game with a dark atmosphere, made with [Godot Engine](https://god -## About +# About -You're on your way home and come to a crossroads where a barrier is blocking your way. You decide to get out of your car to find a way through. +Ever had one of those days where even getting home feels like a puzzle? Well, that's exactly what happens in __Hazy Road__. You're cruising home, and bam! A barrier shows up out of nowhere, blocking your way. So, you do what any sane person would do – step out of your car and figure out how to get the heck out of this crossroads mess. -### Controls +Explore and interact with object to figure out how to unblock your way at the crossroads. -- `WASD` to move. -- `Mouse` to move the camera around. -- `Shift` to sprint. -- `Space` to jump. -- `ESC` to open and close settings menu. +## Controls + +Keep it simple and straight: + +- WASD: Move around, just like in real life. +- Mouse: Look around, because that's what you'd do. +- Shift: Speed things up with a good old sprint. +- Space: Jump – because life's full of unexpected obstacles. +- ESC: Press this when you need a breather, to fiddle with settings or take a break. + +It's not the fanciest game, but hey, neither is life. So, go on, tackle that crossroads puzzle, and let's see if you've got what it takes to outsmart a stubborn barrier. Good luck! ### Screenshots diff --git a/assets/models/lamp_post_bench_trashcan/control_box.tscn b/assets/models/lamp_post_bench_trashcan/control_box.tscn index f7811c5..e47f5c5 100644 --- a/assets/models/lamp_post_bench_trashcan/control_box.tscn +++ b/assets/models/lamp_post_bench_trashcan/control_box.tscn @@ -4,4 +4,4 @@ [node name="ControlBox" type="Node3D"] -[node name="ControlBox_1" parent="." instance=ExtResource("1_6goij")] +[node name="ControlBoxMesh" parent="." instance=ExtResource("1_6goij")] diff --git a/export_presets.cfg b/export_presets.cfg index b2c9738..011106e 100644 --- a/export_presets.cfg +++ b/export_presets.cfg @@ -35,8 +35,8 @@ application/modify_resources=true application/icon="" application/console_wrapper_icon="" application/icon_interpolation=4 -application/file_version="1.0.0.20231231" -application/product_version="1.0.0.20231231" +application/file_version="1.0.1.20240114" +application/product_version="1.0.1.20240114" application/company_name="Mechanical Flower" application/product_name="Marble" application/file_description="" @@ -131,7 +131,7 @@ application/bundle_identifier="io.itch.MechanicalFlower" application/signature="" application/app_category="Games" application/short_version="1.0" -application/version="1.0.0" +application/version="1.0.1" application/copyright="2023-present Mechanical Flower" application/copyright_localized={} application/min_macos_version="10.12" diff --git a/plug.gd b/plug.gd index 15e4a7c..89a3f97 100644 --- a/plug.gd +++ b/plug.gd @@ -18,6 +18,7 @@ func _plugging(): "HolonProduction/godot_kanban_tasks", {"commit": "cfc914caa1dabd085024ff196bcb8578eaee1e67", "include": ["addons/kanban_tasks"]} ) + plug("florianvazelle/Log", {"commit": "51878aa55c4169f19b2c000f0e53b77439654829"}) # Patched version plug("florianvazelle/EasyMenus", {"commit": "4d960ef6ab9f51a206e2eb40c2cc0b8f8eced71a"}) diff --git a/project.godot b/project.godot index 70af011..b9ff697 100644 --- a/project.godot +++ b/project.godot @@ -11,12 +11,15 @@ config_version=5 [addons] universal_fade/patterns_directory="res://addons/UniversalFade/Patterns" +logger/log_message_format="{hour}:{minute}:{second} [{level}] {log_name} : {message}" +logger/use_utc_time_format=true +logger/break_on_error=false [application] config/name="Hazy Road" config/description="You're on your way home and come to a crossroads where a barrier is blocking your way. You decide to get out of your car to find a way through." -config/version="1.0.0" +config/version="1.0.1" run/main_scene="res://scenes/menu.tscn" config/features=PackedStringArray("4.2") @@ -30,6 +33,7 @@ DebugMenu="*res://addons/debug_menu/debug_menu.tscn" GlobalSignal="*res://scripts/framework/global_signal.gd" GameState="*res://scripts/framework/game_state.gd" MenuTemplateManager="*res://addons/EasyMenus/Nodes/menu_template_manager.tscn" +Log="*res://addons/logger/logger.gd" [display] @@ -38,7 +42,7 @@ window/size/viewport_height=720 [editor_plugins] -enabled=PackedStringArray("res://addons/debug_menu/plugin.cfg", "res://addons/dialogue_label/plugin.cfg", "res://addons/kanban_tasks/plugin.cfg", "res://addons/proton_scatter/plugin.cfg", "res://addons/scenetomeshconverter/plugin.cfg") +enabled=PackedStringArray("res://addons/debug_menu/plugin.cfg", "res://addons/dialogue_label/plugin.cfg", "res://addons/kanban_tasks/plugin.cfg", "res://addons/logger/plugin.cfg", "res://addons/proton_scatter/plugin.cfg") [filesystem] diff --git a/scenes/item/receptacle/fuse_box.tscn b/scenes/item/receptacle/fuse_box.tscn index a9cbe05..f024e6c 100644 --- a/scenes/item/receptacle/fuse_box.tscn +++ b/scenes/item/receptacle/fuse_box.tscn @@ -16,7 +16,7 @@ translation_keys = Array[String](["FUSE_BOX"]) identifier = "fuse_box" icon = ExtResource("2_dkrrj") -[node name="ControlBox_1" parent="." instance=ExtResource("3_bhemg")] +[node name="ControlBox" parent="." instance=ExtResource("3_bhemg")] transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0.1, 0, 0) [node name="CollisionShape3D" type="CollisionShape3D" parent="."] diff --git a/scenes/menu.tscn b/scenes/menu.tscn index e097499..cb20867 100644 --- a/scenes/menu.tscn +++ b/scenes/menu.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=33 format=3 uid="uid://bel6wcaksdcjk"] +[gd_scene load_steps=34 format=3 uid="uid://bel6wcaksdcjk"] [ext_resource type="Script" path="res://scripts/menu.gd" id="1_qiuru"] [ext_resource type="Environment" uid="uid://dtgnbg8pmfbjy" path="res://resources/fog_env.tres" id="2_nkke1"] @@ -13,12 +13,13 @@ [ext_resource type="Script" path="res://addons/proton_scatter/src/scatter_item.gd" id="14_1h27t"] [ext_resource type="Script" path="res://addons/proton_scatter/src/scatter_shape.gd" id="15_llp6r"] [ext_resource type="Script" path="res://addons/proton_scatter/src/shapes/sphere_shape.gd" id="16_1c47g"] +[ext_resource type="Script" path="res://scripts/build_info.gd" id="17_8hvvs"] [ext_resource type="Script" path="res://addons/proton_scatter/src/modifiers/look_at.gd" id="17_o176y"] [ext_resource type="PackedScene" uid="uid://b65hjj0ndnrnb" path="res://addons/ez-sfx-and-music/scenes/MusicPlayer/music_player.tscn" id="17_tb5q3"] [ext_resource type="Script" path="res://addons/proton_scatter/src/cache/scatter_cache.gd" id="18_2gyad"] [ext_resource type="PackedScene" uid="uid://dq6tvhqcy2aps" path="res://addons/EasyMenus/Scenes/main_menu.tscn" id="18_qnpgs"] -[sub_resource type="Resource" id="Resource_6mw6x"] +[sub_resource type="Resource" id="Resource_8cemp"] script = ExtResource("10_i08vh") spacing = 7.0 offset = 0.0 @@ -30,7 +31,7 @@ custom_seed = 0 restrict_height = false reference_frame = 0 -[sub_resource type="Resource" id="Resource_y3m1d"] +[sub_resource type="Resource" id="Resource_15dop"] script = ExtResource("11_mxkfj") position = Vector3(0.15, 0.15, 0.15) rotation = Vector3(5, 360, 5) @@ -41,7 +42,7 @@ custom_seed = 0 restrict_height = false reference_frame = 2 -[sub_resource type="Resource" id="Resource_hpwbu"] +[sub_resource type="Resource" id="Resource_un21h"] script = ExtResource("13_rxk03") ray_direction = Vector3(0, -1, 0) ray_length = 10.0 @@ -57,15 +58,15 @@ custom_seed = 0 restrict_height = false reference_frame = 0 -[sub_resource type="Resource" id="Resource_sb831"] +[sub_resource type="Resource" id="Resource_diktx"] script = ExtResource("9_tjaot") -stack = Array[Resource("res://addons/proton_scatter/src/modifiers/base_modifier.gd")]([SubResource("Resource_6mw6x"), SubResource("Resource_y3m1d"), SubResource("Resource_hpwbu")]) +stack = Array[Resource("res://addons/proton_scatter/src/modifiers/base_modifier.gd")]([SubResource("Resource_8cemp"), SubResource("Resource_15dop"), SubResource("Resource_un21h")]) [sub_resource type="Resource" id="Resource_d0x1d"] script = ExtResource("16_1c47g") radius = 95.0 -[sub_resource type="Resource" id="Resource_3fwg6"] +[sub_resource type="Resource" id="Resource_tttis"] script = ExtResource("10_i08vh") spacing = 7.0 offset = 0.0 @@ -77,7 +78,7 @@ custom_seed = 0 restrict_height = false reference_frame = 0 -[sub_resource type="Resource" id="Resource_aolk0"] +[sub_resource type="Resource" id="Resource_15g1c"] script = ExtResource("11_mxkfj") position = Vector3(0.15, 0.15, 0.15) rotation = Vector3(5, 360, 5) @@ -88,7 +89,7 @@ custom_seed = 0 restrict_height = false reference_frame = 2 -[sub_resource type="Resource" id="Resource_wkgqx"] +[sub_resource type="Resource" id="Resource_n66dv"] script = ExtResource("13_rxk03") ray_direction = Vector3(0, -1, 0) ray_length = 10.0 @@ -104,15 +105,15 @@ custom_seed = 0 restrict_height = false reference_frame = 0 -[sub_resource type="Resource" id="Resource_m72lk"] +[sub_resource type="Resource" id="Resource_dyfhg"] script = ExtResource("9_tjaot") -stack = Array[Resource("res://addons/proton_scatter/src/modifiers/base_modifier.gd")]([SubResource("Resource_3fwg6"), SubResource("Resource_aolk0"), SubResource("Resource_wkgqx")]) +stack = Array[Resource("res://addons/proton_scatter/src/modifiers/base_modifier.gd")]([SubResource("Resource_tttis"), SubResource("Resource_15g1c"), SubResource("Resource_n66dv")]) [sub_resource type="Resource" id="Resource_cc1hy"] script = ExtResource("16_1c47g") radius = 75.0 -[sub_resource type="Resource" id="Resource_owwa0"] +[sub_resource type="Resource" id="Resource_puh6s"] script = ExtResource("10_i08vh") spacing = 30.0 offset = 0.0 @@ -124,7 +125,7 @@ custom_seed = 0 restrict_height = false reference_frame = 0 -[sub_resource type="Resource" id="Resource_ojrer"] +[sub_resource type="Resource" id="Resource_2bmp6"] script = ExtResource("13_rxk03") ray_direction = Vector3(0, -1, 0) ray_length = 10.0 @@ -140,7 +141,7 @@ custom_seed = 0 restrict_height = false reference_frame = 0 -[sub_resource type="Resource" id="Resource_fj3tq"] +[sub_resource type="Resource" id="Resource_nfyol"] script = ExtResource("17_o176y") target = Vector3(0, 0, 0) up = Vector3(0, 1, 0) @@ -150,9 +151,9 @@ custom_seed = 0 restrict_height = false reference_frame = 0 -[sub_resource type="Resource" id="Resource_8f1j8"] +[sub_resource type="Resource" id="Resource_nymur"] script = ExtResource("9_tjaot") -stack = Array[Resource("res://addons/proton_scatter/src/modifiers/base_modifier.gd")]([SubResource("Resource_owwa0"), SubResource("Resource_ojrer"), SubResource("Resource_fj3tq")]) +stack = Array[Resource("res://addons/proton_scatter/src/modifiers/base_modifier.gd")]([SubResource("Resource_puh6s"), SubResource("Resource_2bmp6"), SubResource("Resource_nfyol")]) [sub_resource type="Resource" id="Resource_ibgxc"] script = ExtResource("16_1c47g") @@ -181,7 +182,7 @@ speed = 0.1 [node name="Car" parent="." instance=ExtResource("4_qdrib")] unique_name_in_owner = true -transform = Transform3D(-0.049935, 0, -0.998752, 0, 1, 0, 0.998752, 0, -0.049935, -0.003733, 0.25, -85) +transform = Transform3D(0.500549, 0, 0.865707, 0, 1, 0, -0.865707, 0, 0.500549, -38.8158, 0.25, 75.6197) script = null [node name="Camera3D" type="Camera3D" parent="Car"] @@ -198,7 +199,7 @@ transform = Transform3D(7, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0) [node name="Forest" type="Node3D" parent="Forest"] script = ExtResource("8_k1uyb") force_rebuild_on_load = false -modifier_stack = SubResource("Resource_sb831") +modifier_stack = SubResource("Resource_diktx") Performance/use_chunks = true Performance/chunk_dimensions = Vector3(15, 15, 15) @@ -218,7 +219,7 @@ shape = SubResource("Resource_d0x1d") [node name="Forest2" type="Node3D" parent="Forest"] script = ExtResource("8_k1uyb") force_rebuild_on_load = false -modifier_stack = SubResource("Resource_m72lk") +modifier_stack = SubResource("Resource_dyfhg") Performance/use_chunks = true Performance/chunk_dimensions = Vector3(15, 15, 15) @@ -239,7 +240,7 @@ shape = SubResource("Resource_cc1hy") script = ExtResource("8_k1uyb") render_mode = 1 force_rebuild_on_load = false -modifier_stack = SubResource("Resource_8f1j8") +modifier_stack = SubResource("Resource_nymur") Performance/use_chunks = true Performance/chunk_dimensions = Vector3(15, 15, 15) @@ -265,7 +266,15 @@ cache_file = "res://resources/caches/menu_cache.tres" [node name="EasyMenu" parent="HUD" instance=ExtResource("18_qnpgs")] unique_name_in_owner = true +[node name="Label" type="Label" parent="HUD/EasyMenu/Content" index="5"] +layout_mode = 2 +theme_override_colors/font_color = Color(0.717647, 0.717647, 0.717647, 1) +horizontal_alignment = 1 +script = ExtResource("17_8hvvs") + [node name="MusicPlayer" parent="." instance=ExtResource("17_tb5q3")] unique_name_in_owner = true music_folder = "res://assets/music" bus_name = "Music" + +[editable path="HUD/EasyMenu"] diff --git a/scripts/build_info.gd b/scripts/build_info.gd new file mode 100644 index 0000000..5942e9c --- /dev/null +++ b/scripts/build_info.gd @@ -0,0 +1,11 @@ +@tool +extends Label + + +func _ready(): + var build_version = ProjectSettings.get_setting("build_info/package/version") + var build_commit = ProjectSettings.get_setting("build_info/source/commit") + if build_version and build_commit: + set_text("v" + build_version + "@" + build_commit.left(7)) + else: + set_text("") diff --git a/scripts/framework/global_signal.gd b/scripts/framework/global_signal.gd index d235deb..905a59e 100644 --- a/scripts/framework/global_signal.gd +++ b/scripts/framework/global_signal.gd @@ -12,7 +12,7 @@ func add_listener(signal_name: StringName, callable: Callable): func trigger_signal(signal_name: StringName, arguments: Array = []): if not _signals.has(signal_name): - printerr("Unknown signal: '" + signal_name + "'") + Log.error("Unknown signal: '" + signal_name + "'") return for callable in _signals[signal_name]: diff --git a/scripts/item/barrier.gd b/scripts/item/barrier.gd index 0ce0e0a..64605fc 100644 --- a/scripts/item/barrier.gd +++ b/scripts/item/barrier.gd @@ -15,7 +15,7 @@ func toggle(receptacle_state: bool): _activated_num_fuse -= 1 if _is_active(): - print_debug("Open the Barrier") + Log.debug("Open the Barrier") collision_shape.set_disabled(true) barrier1.hide() barrier1.set_process_mode(PROCESS_MODE_DISABLED) @@ -24,7 +24,7 @@ func toggle(receptacle_state: bool): _is_interactable = false else: - print_debug("Close the Barrier") + Log.debug("Close the Barrier") collision_shape.set_disabled(false) barrier1.show() barrier1.set_process_mode(PROCESS_MODE_INHERIT) diff --git a/scripts/item/door_security_post.gd b/scripts/item/door_security_post.gd index 246f617..2a08e5e 100644 --- a/scripts/item/door_security_post.gd +++ b/scripts/item/door_security_post.gd @@ -23,7 +23,7 @@ func toggle(receptacle_state: bool): _activated_num_fuse -= 1 if _is_active(): - print_debug("Open the DoorSecurityPost") + Log.debug("Open the DoorSecurityPost") tween.tween_property(self, "rotation_degrees:y", initial_rotation.y + 135, 1) tween.set_trans(Tween.TRANS_SINE) tween.play() @@ -31,7 +31,7 @@ func toggle(receptacle_state: bool): _is_interactable = false elif _open: - print_debug("Close the DoorSecurityPost") + Log.debug("Close the DoorSecurityPost") tween.tween_property(self, "rotation_degrees:y", initial_rotation.y, 1) tween.set_trans(Tween.TRANS_SINE) tween.play() diff --git a/scripts/item/fuse_box.gd b/scripts/item/fuse_box.gd index 9d71505..860a5b1 100644 --- a/scripts/item/fuse_box.gd +++ b/scripts/item/fuse_box.gd @@ -6,7 +6,9 @@ enum ScopedColor { YELLOW, BLUE, RED, GREEN } @export var color: ScopedColor @onready var sfx := get_node(^"PickupSFX") -@onready var mesh: MeshInstance3D = get_node(^"ControlBox_1/ControlBoxCircuit_1/ControlBoxSwitch_1") +@onready var mesh: MeshInstance3D = get_node( + ^"ControlBox/ControlBoxMesh/ControlBox_1/ControlBoxCircuit_1/ControlBoxSwitch_1" +) @onready var fuse_box: Node3D = get_node(^"FuseMesh") diff --git a/scripts/item/generic/item.gd b/scripts/item/generic/item.gd index 2d599e7..138ef73 100644 --- a/scripts/item/generic/item.gd +++ b/scripts/item/generic/item.gd @@ -11,11 +11,11 @@ var _is_interactable: bool = true func _ready(): if identifier.is_empty(): - printerr(self, " 'identifier' must be set") + Log.warn("%s 'identifier' must be set" % str(self)) if not is_instance_valid(icon): - printerr(self, " 'icon' must be set") + Log.warn("%s 'icon' must be set" % str(self)) if not has_method("interact"): - printerr(self, " 'interact' not implemented") + Log.warn("%s 'interact' not implemented" % str(self)) func _process(_delta): diff --git a/scripts/item/generic/mechanism.gd b/scripts/item/generic/mechanism.gd index 5d41ac6..6a17f6e 100644 --- a/scripts/item/generic/mechanism.gd +++ b/scripts/item/generic/mechanism.gd @@ -11,10 +11,9 @@ func _ready(): super._ready() if receptacle.is_empty(): - printerr(self, " 'receptacle' must be set") - + Log.warn("%s 'receptacle' must be set" % str(self)) if not has_method("toggle"): - printerr(self, " 'toggle' not implemented") + Log.warn("%s 'toggle' not implemented" % str(self)) GlobalSignal.add_listener(signal_name, _on_Receptacle_state_updated) diff --git a/scripts/item/generic/observable.gd b/scripts/item/generic/observable.gd index 07d5930..2aa6ae9 100644 --- a/scripts/item/generic/observable.gd +++ b/scripts/item/generic/observable.gd @@ -9,13 +9,13 @@ const DialogueScene: PackedScene = preload("res://scenes/dialogue.tscn") func _ready(): - icon = load("res://addons/goat/images/eye_icon.png") + icon = preload("res://addons/goat/images/eye_icon.png") # gdlint:ignore = private-method-call super._ready() if translation_keys.is_empty(): - printerr(self, " 'translation_keys' must be set") + Log.warn("%s 'translation_keys' must be set" % str(self)) call_deferred("add_child", dialogue) diff --git a/scripts/item/generic/receptacle.gd b/scripts/item/generic/receptacle.gd index 61985aa..5715d66 100644 --- a/scripts/item/generic/receptacle.gd +++ b/scripts/item/generic/receptacle.gd @@ -19,9 +19,9 @@ func _ready(): super._ready() if item_to_interact.is_empty(): - printerr(self, " 'item_to_interact' must be set") + Log.warn("%s 'item_to_interact' must be set" % str(self)) if translation_keys.is_empty(): - printerr(self, " 'translation_keys' must be set") + Log.warn("%s 'translation_keys' must be set" % str(self)) call_deferred("add_child", dialogue) diff --git a/scripts/main.gd b/scripts/main.gd index 28e355b..7790ded 100644 --- a/scripts/main.gd +++ b/scripts/main.gd @@ -1,6 +1,11 @@ extends Node3D -@export var fast_close := true + +func _init(): + if OS.is_debug_build(): + Log.current_log_level = Log.LogLevel.DEBUG + else: + Log.current_log_level = Log.LogLevel.ERROR # Called when the node enters the scene tree for the first time. @@ -8,19 +13,10 @@ func _ready() -> void: get_viewport().scaling_3d_scale = 0.25 Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) - if !OS.is_debug_build(): - fast_close = false - - if fast_close: - print_debug("** Fast Close enabled in the 'main.gd' script **") - print_debug("** 'Esc' to close 'Shift + F1' to release mouse **") - - set_process_input(fast_close) - func _input(event: InputEvent) -> void: if event.is_action_pressed(&"ui_cancel"): - get_tree().quit() # Quits the game + get_tree().change_scene_to_file("res://scenes/menu.tscn") if event.is_action_pressed(&"change_mouse_input"): match Input.get_mouse_mode(): @@ -28,11 +24,3 @@ func _input(event: InputEvent) -> void: Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE) Input.MOUSE_MODE_VISIBLE: Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) - - -# Capture mouse if clicked on the game, needed for HTML5 -# Called when an InputEvent hasn't been consumed by _input() or any GUI item -func _unhandled_input(event: InputEvent) -> void: - if event is InputEventMouseButton: - if event.button_index == MOUSE_BUTTON_LEFT && event.pressed: - Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) diff --git a/scripts/menu.gd b/scripts/menu.gd index f9a847b..b497e6f 100644 --- a/scripts/menu.gd +++ b/scripts/menu.gd @@ -5,6 +5,13 @@ extends Node @onready var music: MusicPlayer = get_node(^"%MusicPlayer") +func _init(): + if OS.is_debug_build(): + Log.current_log_level = Log.LogLevel.DEBUG + else: + Log.current_log_level = Log.LogLevel.ERROR + + func _ready(): Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)