Compare commits

12 Commits
Author SHA1 Message Date
debugman18 0f206ea46e Merge branch 'main' of http://git.nanoyagi.com/NanoYagi/JumpRopeOldTech
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 14:51:12 -05:00
debugman18 6a7a52da08 New font 2026-10-18 14:51:04 -05:00
yagigreg b0b11ce3b7 Merge branch 'main' of https://git.nanoyagi.com/NanoYagi/JumpRopeOldTech
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 14:46:34 -05:00
yagigreg bc8aa9c9e8 Add fixedsys exelscior (public domain) font for computer console. Add color coding where appropriate (red for failures/errors, green for success, blue for messages directed towards player) 2026-10-18 14:44:49 -05:00
debugman18 fe5d4dd4ba Controller detection
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 14:44:37 -05:00
debugman18 baeb8c78ca Merge branch 'main' of http://git.nanoyagi.com/NanoYagi/JumpRopeOldTech
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 14:19:09 -05:00
debugman18 980f079b49 Added hidden block at the end of tutorial 2026-10-18 14:19:03 -05:00
yagigreg e61b25e72d Merge remote-tracking branch 'http/main'
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 14:15:31 -05:00
yagigreg 60bc8956cb When sarc is opened then actually make the sarc appear open visually, and close other sarcs. 2026-10-18 14:15:04 -05:00
debugman18 22a7145d6b Merge branch 'main' of http://git.nanoyagi.com/NanoYagi/JumpRopeOldTech
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 14:12:34 -05:00
debugman18 f6abcc9215 Tutorial difficulty adjusted 2026-10-18 14:12:28 -05:00
zozieee c160856e89 hidden spike
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 14:09:22 -05:00
28 changed files with 498 additions and 66 deletions

No files matched your search

+8 -5
View File
@@ -6,6 +6,7 @@
[ext_resource type="Shader" uid="uid://mmf86jusrkrr" path="res://shaders/warp_shader.gdshader" id="3_jwgiw"] [ext_resource type="Shader" uid="uid://mmf86jusrkrr" path="res://shaders/warp_shader.gdshader" id="3_jwgiw"]
[ext_resource type="Script" uid="uid://3bqq3mfbby2c" path="res://warp_shader.gd" id="4_eta3k"] [ext_resource type="Script" uid="uid://3bqq3mfbby2c" path="res://warp_shader.gd" id="4_eta3k"]
[ext_resource type="Texture2D" uid="uid://biv3f67rqumak" path="res://art/level_start.png" id="5_vc1vx"] [ext_resource type="Texture2D" uid="uid://biv3f67rqumak" path="res://art/level_start.png" id="5_vc1vx"]
[ext_resource type="FontFile" uid="uid://d4i0vcc3vhv6f" path="res://fonts/FSEX302-alt.ttf" id="7_vc1vx"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_2wyuv"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_2wyuv"]
bg_color = Color(0.28627452, 0.25490198, 0.22745098, 1) bg_color = Color(0.28627452, 0.25490198, 0.22745098, 1)
@@ -93,11 +94,13 @@ grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
rotation = -0.008004447 rotation = -0.008004447
scale = Vector2(1.0710422, 1.0710422) scale = Vector2(1.0710422, 1.0710422)
theme_override_fonts/normal_font = ExtResource("7_vc1vx")
theme_override_fonts/mono_font = ExtResource("7_vc1vx")
bbcode_enabled = true bbcode_enabled = true
text = "[center]>> Pharaoh OS 2000 Boot Sequence text = "[center]>> PharaOS 2000 Boot Sequence
>> WARN: Detected anomalies! >> [color=red]WARN[/color]: Detected anomalies!
>> WARN: Memory integrity at %d%%! >> [color=red]WARN[/color]: Memory integrity at [color=red]%d%%[/color]!
>> User: Please load backup data disk (1 of 4) >> [color=green]User[/color]: Please load backup data disk ([color=green]1 of 4[/color])
>> Player: Press interact [E] or jump [Space] to exit." >> [color=#4278ff]Player[/color]: Press [color=#4278ff]interact [E][/color] or [color=#4278ff]jump [Space][/color] to exit."
fit_content = true fit_content = true
vertical_alignment = 1 vertical_alignment = 1
Binary file not shown.

After

Width:  |  Height:  |  Size: 444 B

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dgdkh6ug00c1i"
path="res://.godot/imported/a_button.png-b61c5afa519361c1c8042b68eac4b874.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/controls/a_button.png"
dest_files=["res://.godot/imported/a_button.png-b61c5afa519361c1c8042b68eac4b874.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/high_quality_mode=0
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
mipmaps/preserve_alpha_test_coverage=false
mipmaps/alpha_test_threshold=0.5
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
Binary file not shown.

After

Width:  |  Height:  |  Size: 444 B

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://br3x26uxp4we1"
path="res://.godot/imported/b_button.png-872952b6274b25e12ec7a11367a3c731.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/controls/b_button.png"
dest_files=["res://.godot/imported/b_button.png-872952b6274b25e12ec7a11367a3c731.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/high_quality_mode=0
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
mipmaps/preserve_alpha_test_coverage=false
mipmaps/alpha_test_threshold=0.5
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
Binary file not shown.

After

Width:  |  Height:  |  Size: 424 B

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bq82wmjgkgyr6"
path="res://.godot/imported/e_key.png-4fb0b6402a8a3b59f224e435a5e81939.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/controls/e_key.png"
dest_files=["res://.godot/imported/e_key.png-4fb0b6402a8a3b59f224e435a5e81939.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/high_quality_mode=0
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
mipmaps/preserve_alpha_test_coverage=false
mipmaps/alpha_test_threshold=0.5
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
Binary file not shown.

After

Width:  |  Height:  |  Size: 424 B

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dap66w6y5315a"
path="res://.godot/imported/space_key.png-5b51cba03f7f09d916ff19e36f43fc58.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/controls/space_key.png"
dest_files=["res://.godot/imported/space_key.png-5b51cba03f7f09d916ff19e36f43fc58.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/high_quality_mode=0
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
mipmaps/preserve_alpha_test_coverage=false
mipmaps/alpha_test_threshold=0.5
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b7t1tef0syf74"
path="res://.godot/imported/sarco_open.png-b3098a451b9dd7b93e115ab0c1362c41.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/sarco_open.png"
dest_files=["res://.godot/imported/sarco_open.png-b3098a451b9dd7b93e115ab0c1362c41.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/high_quality_mode=0
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
mipmaps/preserve_alpha_test_coverage=false
mipmaps/alpha_test_threshold=0.5
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
Binary file not shown.
+36
View File
@@ -0,0 +1,36 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://d4i0vcc3vhv6f"
path="res://.godot/imported/FSEX302-alt.ttf-915e7af5222350725c2a3bd3c1fe3b5a.fontdata"
[deps]
source_file="res://fonts/FSEX302-alt.ttf"
dest_files=["res://.godot/imported/FSEX302-alt.ttf-915e7af5222350725c2a3bd3c1fe3b5a.fontdata"]
[params]
Rendering=null
antialiasing=1
generate_mipmaps=false
disable_embedded_bitmaps=true
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
modulate_color_glyphs=false
hinting=3
subpixel_positioning=4
keep_rounding_remainders=true
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
language_support={}
script_support={}
opentype_features={}
Binary file not shown.
+36
View File
@@ -0,0 +1,36 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://upa4xcblk35i"
path="res://.godot/imported/Micro5-Regular.ttf-bc5bffc0a2947a58905bf45b54935fbd.fontdata"
[deps]
source_file="res://fonts/Micro5-Regular.ttf"
dest_files=["res://.godot/imported/Micro5-Regular.ttf-bc5bffc0a2947a58905bf45b54935fbd.fontdata"]
[params]
Rendering=null
antialiasing=1
generate_mipmaps=false
disable_embedded_bitmaps=true
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
modulate_color_glyphs=false
hinting=3
subpixel_positioning=4
keep_rounding_remainders=true
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
language_support={}
script_support={}
opentype_features={}
+1 -1
View File
@@ -1,4 +1,4 @@
Copyright (c) 2011 by Ralph du Carrois, with Reserved Font Name 'Finger Paint' Copyright 2023 The Soft Type Project Authors (https://github.com/scfried/soft-type-micro)
This Font Software is licensed under the SIL Open Font License, Version 1.1. This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at: This license is copied below, and is also available with a FAQ at:
+11 -4
View File
@@ -2,7 +2,8 @@
[ext_resource type="Script" uid="uid://b64hyvumk366h" path="res://hidden_sign.gd" id="1_a20ku"] [ext_resource type="Script" uid="uid://b64hyvumk366h" path="res://hidden_sign.gd" id="1_a20ku"]
[ext_resource type="Texture2D" uid="uid://djlqqmqpsd0kc" path="res://art/sign.png" id="2_soj2u"] [ext_resource type="Texture2D" uid="uid://djlqqmqpsd0kc" path="res://art/sign.png" id="2_soj2u"]
[ext_resource type="Texture2D" uid="uid://d0cd1alr8k706" path="res://art/interact_button.png" id="3_7o2b3"] [ext_resource type="Texture2D" uid="uid://dgdkh6ug00c1i" path="res://art/controls/a_button.png" id="3_soj2u"]
[ext_resource type="Texture2D" uid="uid://bq82wmjgkgyr6" path="res://art/controls/e_key.png" id="4_7o2b3"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_eumkw"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_eumkw"]
size = Vector2(26, 32) size = Vector2(26, 32)
@@ -19,11 +20,17 @@ texture = ExtResource("2_soj2u")
[node name="CollisionShape2D" type="CollisionShape2D" parent="Sprite2D/Area2D" unique_id=1560168165] [node name="CollisionShape2D" type="CollisionShape2D" parent="Sprite2D/Area2D" unique_id=1560168165]
shape = SubResource("RectangleShape2D_eumkw") shape = SubResource("RectangleShape2D_eumkw")
[node name="ButtonPrompt" type="Sprite2D" parent="Sprite2D" unique_id=1864817335] [node name="ButtonPrompt" type="Sprite2D" parent="Sprite2D" unique_id=1936022603]
visible = false visible = false
position = Vector2(0, -8.000002) position = Vector2(0, -24)
scale = Vector2(0.8, 0.8) scale = Vector2(0.8, 0.8)
texture = ExtResource("3_7o2b3") texture = ExtResource("3_soj2u")
[node name="KeyPrompt" type="Sprite2D" parent="Sprite2D" unique_id=715238624]
visible = false
position = Vector2(0, -24)
scale = Vector2(0.8, 0.8)
texture = ExtResource("4_7o2b3")
[connection signal="interacted" from="." to="." method="_on_interacted"] [connection signal="interacted" from="." to="." method="_on_interacted"]
[connection signal="body_entered" from="Sprite2D/Area2D" to="." method="_on_approach"] [connection signal="body_entered" from="Sprite2D/Area2D" to="." method="_on_approach"]
+14
View File
@@ -0,0 +1,14 @@
extends Node2D
func _ready() -> void:
add_to_group("Hidden")
func _process(delta: float) -> void:
pass
func on_contact(body: Node2D) -> void:
if body==%Player2D and %Player2D.death_cooldown == 0:
print("SLASH KILL")
%Player2D/Jetpack/DeathSound.play()
%Player2D.on_death(false,%Player2D.position)
print(body)
+1
View File
@@ -0,0 +1 @@
uid://b65drnv6461kp
+24
View File
@@ -0,0 +1,24 @@
[gd_scene format=3 uid="uid://cap0wo5ij7hfv"]
[ext_resource type="Script" uid="uid://b65drnv6461kp" path="res://hidden_spike.gd" id="1_k2eht"]
[ext_resource type="Texture2D" uid="uid://bu5wgerfu7cbc" path="res://art/spike.png" id="2_vt54o"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_xfwl5"]
size = Vector2(15, 7.5)
[node name="HiddenSpike" type="Node2D" unique_id=1739014101]
visible = false
script = ExtResource("1_k2eht")
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=813041394]
texture_filter = 1
position = Vector2(0, 2)
texture = ExtResource("2_vt54o")
[node name="Area2D" type="Area2D" parent="." unique_id=170499029]
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D" unique_id=1865546056]
position = Vector2(0, 4.75)
shape = SubResource("RectangleShape2D_xfwl5")
[connection signal="body_entered" from="Area2D" to="." method="on_contact"]
+12 -2
View File
@@ -33,11 +33,21 @@ func _on_approach(body) -> void:
return return
_is_interactable = true _is_interactable = true
self.add_to_group("nearby_interactables") self.add_to_group("nearby_interactables")
$Sprite2D/ButtonPrompt.show() if %Player2D.controller_ui:
print("CONTROLLER UI")
$Sprite2D/ButtonPrompt.show()
$Sprite2D/KeyPrompt.hide()
else:
print("KEYBOARD UI")
$Sprite2D/KeyPrompt.show()
$Sprite2D/ButtonPrompt.hide()
func _on_abandon(body) -> void: func _on_abandon(body) -> void:
if body!=%Player2D: if body!=%Player2D:
return return
_is_interactable = false _is_interactable = false
self.remove_from_group("nearby_interactables") self.remove_from_group("nearby_interactables")
$Sprite2D/ButtonPrompt.hide() if %Player2D.controller_ui:
$Sprite2D/ButtonPrompt.hide()
else:
$Sprite2D/KeyPrompt.hide()
+11 -4
View File
@@ -17,17 +17,24 @@ func load_disk(disk_num: int) -> bool:
disks_wanted.remove_at(disks_wanted.find(disk_num)) disks_wanted.remove_at(disks_wanted.find(disk_num))
print("Loaded up disk ", disk_num) print("Loaded up disk ", disk_num)
var memory_integrity = get_memory_integrity()
var percent_color = "red"
if memory_integrity > 90:
percent_color = "green"
elif memory_integrity > 35:
percent_color = "orange"
printline( printline(
">> Loaded data disk %d (of %d). Memory integrity now at %d%%" % ">> Loaded data disk %d (of [color=green]%d[/color]). Memory integrity now at [color=%s]%d%%[/color]" %
[disk_num, len(disks_wanted) + len(disks_loaded), get_memory_integrity()] [disk_num, len(disks_wanted) + len(disks_loaded), percent_color, memory_integrity]
) )
if has_finished_initialization(): if has_finished_initialization():
printline( printline(
">> System initialization complete. Beginning reactivation sequence." ">> [color=green]System initialization complete[/color]. Beginning reactivation sequence."
) )
printline( printline(
">> Player: Press [E] or [Space] to return to the outside world." ">> [color=#4278ff]Player[/color]: Press [color=#4278ff][E][/color] or [color=#4278ff][Space][/color] to return to the outside world."
) )
return true return true
+6
View File
@@ -1,5 +1,8 @@
extends Interactable extends Interactable
func set_open (is_open: bool) -> void:
$Sprite2D.play("open" if is_open else "closed")
func _on_interacted() -> void: func _on_interacted() -> void:
%OldComputer.open() %OldComputer.open()
@@ -10,6 +13,9 @@ func _on_interacted() -> void:
%Player2D.spawn_point = new_spawn_point %Player2D.spawn_point = new_spawn_point
%OldComputer.printline(">> Respawn point set to %s" % new_spawn_point) %OldComputer.printline(">> Respawn point set to %s" % new_spawn_point)
for sarcophagus in get_tree().get_nodes_in_group("sarcophagi"):
sarcophagus.set_open(sarcophagus == self)
var wanted_disk = %OldComputer.get_next_disk_num() var wanted_disk = %OldComputer.get_next_disk_num()
if %Player2D.complete_objective("sarc"): if %Player2D.complete_objective("sarc"):
+35 -5
View File
@@ -2,17 +2,41 @@
[ext_resource type="Script" uid="uid://bh588bpddschq" path="res://pharaoh.gd" id="1_mt7kg"] [ext_resource type="Script" uid="uid://bh588bpddschq" path="res://pharaoh.gd" id="1_mt7kg"]
[ext_resource type="Texture2D" uid="uid://b2nldodte5p6s" path="res://art/sarco_closed.png" id="2_mt7kg"] [ext_resource type="Texture2D" uid="uid://b2nldodte5p6s" path="res://art/sarco_closed.png" id="2_mt7kg"]
[ext_resource type="Texture2D" uid="uid://d0cd1alr8k706" path="res://art/interact_button.png" id="3_6vea8"] [ext_resource type="Texture2D" uid="uid://b7t1tef0syf74" path="res://art/sarco_open.png" id="3_r6lmd"]
[ext_resource type="Texture2D" uid="uid://dgdkh6ug00c1i" path="res://art/controls/a_button.png" id="4_p22wv"]
[ext_resource type="Texture2D" uid="uid://bq82wmjgkgyr6" path="res://art/controls/e_key.png" id="5_j5wn3"]
[sub_resource type="SpriteFrames" id="SpriteFrames_xwxqv"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": ExtResource("2_mt7kg")
}],
"loop": 1,
"name": &"closed",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": ExtResource("3_r6lmd")
}],
"loop": 1,
"name": &"open",
"speed": 5.0
}]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_eumkw"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_eumkw"]
size = Vector2(26, 32) size = Vector2(26, 32)
[node name="Pharaoh" type="Node2D" unique_id=1201409437] [node name="Pharaoh" type="Node2D" unique_id=1201409437 groups=["sarcophagi"]]
script = ExtResource("1_mt7kg") script = ExtResource("1_mt7kg")
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1680278216] [node name="Sprite2D" type="AnimatedSprite2D" parent="." unique_id=834105031]
position = Vector2(0, -16) position = Vector2(0, -16)
texture = ExtResource("2_mt7kg") sprite_frames = SubResource("SpriteFrames_xwxqv")
animation = &"closed"
autoplay = "closed"
frame_progress = 0.3689026
[node name="Area2D" type="Area2D" parent="Sprite2D" unique_id=2050186824] [node name="Area2D" type="Area2D" parent="Sprite2D" unique_id=2050186824]
@@ -23,7 +47,13 @@ shape = SubResource("RectangleShape2D_eumkw")
visible = false visible = false
position = Vector2(0, -24) position = Vector2(0, -24)
scale = Vector2(0.8, 0.8) scale = Vector2(0.8, 0.8)
texture = ExtResource("3_6vea8") texture = ExtResource("4_p22wv")
[node name="KeyPrompt" type="Sprite2D" parent="Sprite2D" unique_id=1070463653]
visible = false
position = Vector2(0, -24)
scale = Vector2(0.8, 0.8)
texture = ExtResource("5_j5wn3")
[connection signal="interacted" from="." to="." method="_on_interacted"] [connection signal="interacted" from="." to="." method="_on_interacted"]
[connection signal="body_entered" from="Sprite2D/Area2D" to="." method="_on_approach"] [connection signal="body_entered" from="Sprite2D/Area2D" to="." method="_on_approach"]
+9
View File
@@ -1,5 +1,7 @@
extends CharacterBody2D extends CharacterBody2D
var controller_ui = false
const SPEED = 380.0 const SPEED = 380.0
const DASH_SPEED = 600 const DASH_SPEED = 600
const HORIZONTAL_DASH_MULT = 1.8 const HORIZONTAL_DASH_MULT = 1.8
@@ -119,6 +121,13 @@ func on_death(instant = false, player_position = position):
death_cooldown = 0 death_cooldown = 0
func _process(delta: float) -> void: func _process(delta: float) -> void:
if Input.is_key_pressed(Key.KEY_W) or Input.is_key_pressed(Key.KEY_A) or Input.is_key_pressed(Key.KEY_S) or Input.is_key_pressed(Key.KEY_D):
print("KEYBOARD")
controller_ui = false
elif Input.get_action_strength("move_horizontal") > 0:
print("CONTROLLER")
controller_ui = true
if Input.is_action_just_released("restart") or (Input.is_action_pressed("controller_restart_left") and Input.is_action_pressed("controller_restart_right")): if Input.is_action_just_released("restart") or (Input.is_action_pressed("controller_restart_left") and Input.is_action_pressed("controller_restart_right")):
get_tree().reload_current_scene() get_tree().reload_current_scene()
+11 -4
View File
@@ -2,7 +2,8 @@
[ext_resource type="Script" uid="uid://dvo0iux2pcggi" path="res://sign.gd" id="1_q3tny"] [ext_resource type="Script" uid="uid://dvo0iux2pcggi" path="res://sign.gd" id="1_q3tny"]
[ext_resource type="Texture2D" uid="uid://djlqqmqpsd0kc" path="res://art/sign.png" id="2_q3tny"] [ext_resource type="Texture2D" uid="uid://djlqqmqpsd0kc" path="res://art/sign.png" id="2_q3tny"]
[ext_resource type="Texture2D" uid="uid://d0cd1alr8k706" path="res://art/interact_button.png" id="3_e8cgb"] [ext_resource type="Texture2D" uid="uid://dgdkh6ug00c1i" path="res://art/controls/a_button.png" id="3_tbceu"]
[ext_resource type="Texture2D" uid="uid://bq82wmjgkgyr6" path="res://art/controls/e_key.png" id="4_e8cgb"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_eumkw"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_eumkw"]
size = Vector2(26, 32) size = Vector2(26, 32)
@@ -20,11 +21,17 @@ texture = ExtResource("2_q3tny")
[node name="CollisionShape2D" type="CollisionShape2D" parent="Sprite2D/Area2D" unique_id=1560168165] [node name="CollisionShape2D" type="CollisionShape2D" parent="Sprite2D/Area2D" unique_id=1560168165]
shape = SubResource("RectangleShape2D_eumkw") shape = SubResource("RectangleShape2D_eumkw")
[node name="ButtonPrompt" type="Sprite2D" parent="Sprite2D" unique_id=1864817335] [node name="ButtonPrompt" type="Sprite2D" parent="Sprite2D" unique_id=385403317]
visible = false visible = false
position = Vector2(0, -8.000002) position = Vector2(0.99999994, -7.000002)
scale = Vector2(0.8, 0.8) scale = Vector2(0.8, 0.8)
texture = ExtResource("3_e8cgb") texture = ExtResource("3_tbceu")
[node name="KeyPrompt" type="Sprite2D" parent="Sprite2D" unique_id=1108548281]
visible = false
position = Vector2(0.99999994, -6.000002)
scale = Vector2(0.8, 0.8)
texture = ExtResource("4_e8cgb")
[connection signal="interacted" from="." to="." method="_on_interacted"] [connection signal="interacted" from="." to="." method="_on_interacted"]
[connection signal="body_entered" from="Sprite2D/Area2D" to="." method="_on_approach"] [connection signal="body_entered" from="Sprite2D/Area2D" to="." method="_on_approach"]
+1 -1
View File
@@ -11,7 +11,7 @@ func _ready() -> void:
add_to_group("TELEPORTERS") add_to_group("TELEPORTERS")
func check_for_pair() -> String: func check_for_pair() -> String:
print(paired_teleporter) #print(paired_teleporter)
return paired_teleporter return paired_teleporter
func disable(): func disable():
+11 -10
View File
@@ -1,27 +1,28 @@
[gd_resource type="Theme" format=3 uid="uid://bmerl7q2g67v4"] [gd_resource type="Theme" format=3 uid="uid://bmerl7q2g67v4"]
[ext_resource type="FontFile" uid="uid://bj1s6gf1eckfn" path="res://fonts/FingerPaint-Regular.ttf" id="1_wnb1w"] [ext_resource type="FontFile" uid="uid://bj1s6gf1eckfn" path="res://fonts/FingerPaint-Regular.ttf" id="1_wnb1w"]
[ext_resource type="FontFile" uid="uid://upa4xcblk35i" path="res://fonts/Micro5-Regular.ttf" id="2_l6xml"]
[resource] [resource]
default_font = ExtResource("1_wnb1w") default_font = ExtResource("2_l6xml")
default_font_size = 40 default_font_size = 80
Button/fonts/font = ExtResource("1_wnb1w") Button/fonts/font = ExtResource("2_l6xml")
FoldableContainer/fonts/font = ExtResource("1_wnb1w") FoldableContainer/fonts/font = ExtResource("1_wnb1w")
Font/colors/FontColor = Color(0.14586785, 0.14586785, 0.14586785, 1) Font/colors/FontColor = Color(0.14586785, 0.14586785, 0.14586785, 1)
Font/font_sizes/FontSize = 80 Font/font_sizes/FontSize = 80
ItemList/fonts/font = ExtResource("1_wnb1w") ItemList/fonts/font = ExtResource("2_l6xml")
Label/fonts/font = ExtResource("1_wnb1w") Label/fonts/font = ExtResource("2_l6xml")
LineEdit/fonts/font = ExtResource("1_wnb1w") LineEdit/fonts/font = ExtResource("1_wnb1w")
LinkButton/fonts/font = ExtResource("1_wnb1w") LinkButton/fonts/font = ExtResource("1_wnb1w")
MenuBar/fonts/font = ExtResource("1_wnb1w") MenuBar/fonts/font = ExtResource("1_wnb1w")
PopupMenu/fonts/font = ExtResource("1_wnb1w") PopupMenu/fonts/font = ExtResource("1_wnb1w")
PopupMenu/fonts/font_separator = ExtResource("1_wnb1w") PopupMenu/fonts/font_separator = ExtResource("1_wnb1w")
ProgressBar/fonts/font = ExtResource("1_wnb1w") ProgressBar/fonts/font = ExtResource("1_wnb1w")
RichTextLabel/fonts/bold_font = ExtResource("1_wnb1w") RichTextLabel/fonts/bold_font = ExtResource("2_l6xml")
RichTextLabel/fonts/bold_italics_font = ExtResource("1_wnb1w") RichTextLabel/fonts/bold_italics_font = ExtResource("2_l6xml")
RichTextLabel/fonts/italics_font = ExtResource("1_wnb1w") RichTextLabel/fonts/italics_font = ExtResource("2_l6xml")
RichTextLabel/fonts/mono_font = ExtResource("1_wnb1w") RichTextLabel/fonts/mono_font = ExtResource("2_l6xml")
RichTextLabel/fonts/normal_font = ExtResource("1_wnb1w") RichTextLabel/fonts/normal_font = ExtResource("2_l6xml")
TabBar/fonts/font = ExtResource("1_wnb1w") TabBar/fonts/font = ExtResource("1_wnb1w")
TabContainer/fonts/font = ExtResource("1_wnb1w") TabContainer/fonts/font = ExtResource("1_wnb1w")
TextEdit/fonts/font = ExtResource("1_wnb1w") TextEdit/fonts/font = ExtResource("1_wnb1w")
+56 -30
View File
@@ -27,6 +27,8 @@
[ext_resource type="PackedScene" uid="uid://byfgwmvln8ukh" path="res://vertical_block.tscn" id="25_mc2jv"] [ext_resource type="PackedScene" uid="uid://byfgwmvln8ukh" path="res://vertical_block.tscn" id="25_mc2jv"]
[ext_resource type="PackedScene" uid="uid://dt43trxumfv0i" path="res://hidden_sign.tscn" id="26_bo7i5"] [ext_resource type="PackedScene" uid="uid://dt43trxumfv0i" path="res://hidden_sign.tscn" id="26_bo7i5"]
[ext_resource type="PackedScene" uid="uid://b1ccvtwwb1cl7" path="res://long_floor_spike.tscn" id="27_4h6ng"] [ext_resource type="PackedScene" uid="uid://b1ccvtwwb1cl7" path="res://long_floor_spike.tscn" id="27_4h6ng"]
[ext_resource type="PackedScene" uid="uid://cap0wo5ij7hfv" path="res://hidden_spike.tscn" id="28_k83mh"]
[ext_resource type="Script" uid="uid://b65drnv6461kp" path="res://hidden_spike.gd" id="29_qktwf"]
[node name="World" type="Node2D" unique_id=1327991900] [node name="World" type="Node2D" unique_id=1327991900]
process_mode = 1 process_mode = 1
@@ -54,7 +56,7 @@ position = Vector2(1657, -18.708487)
position = Vector2(2804, -19.693142) position = Vector2(2804, -19.693142)
[node name="LongerBlock8" parent="StartingArea" unique_id=74356311 instance=ExtResource("6_dwbse")] [node name="LongerBlock8" parent="StartingArea" unique_id=74356311 instance=ExtResource("6_dwbse")]
position = Vector2(3174, -427.34094) position = Vector2(3155, -354.47635)
[node name="LongerBlock11" parent="StartingArea" unique_id=624436532 instance=ExtResource("6_dwbse")] [node name="LongerBlock11" parent="StartingArea" unique_id=624436532 instance=ExtResource("6_dwbse")]
position = Vector2(3390, -1028.9663) position = Vector2(3390, -1028.9663)
@@ -81,7 +83,7 @@ position = Vector2(1609, -26.585724)
position = Vector2(2751, -27.570404) position = Vector2(2751, -27.570404)
[node name="Pharaoh5" parent="StartingArea" unique_id=2064737854 instance=ExtResource("15_hiqwa")] [node name="Pharaoh5" parent="StartingArea" unique_id=2064737854 instance=ExtResource("15_hiqwa")]
position = Vector2(3089, -433.24902) position = Vector2(3070, -360.38443)
[node name="LongBlock" parent="StartingArea" unique_id=426647893 instance=ExtResource("3_dwbse")] [node name="LongBlock" parent="StartingArea" unique_id=426647893 instance=ExtResource("3_dwbse")]
position = Vector2(207, -17.72382) position = Vector2(207, -17.72382)
@@ -519,7 +521,7 @@ position = Vector2(6338, -42.34024)
unique_name_in_owner = true unique_name_in_owner = true
[node name="Sign9" parent="." unique_id=573430453 instance=ExtResource("24_wjb0r")] [node name="Sign9" parent="." unique_id=573430453 instance=ExtResource("24_wjb0r")]
position = Vector2(-1387, -44.309547) position = Vector2(-1406, 28.555046)
scale = Vector2(1, 0.98465663) scale = Vector2(1, 0.98465663)
sign_text = "HOLDING DOWN WILL MEDITATE" sign_text = "HOLDING DOWN WILL MEDITATE"
text_dismiss_timer = 4 text_dismiss_timer = 4
@@ -560,6 +562,18 @@ position = Vector2(7607, -277.12885)
[node name="LongBlock" parent="." unique_id=1836871184 instance=ExtResource("3_dwbse")] [node name="LongBlock" parent="." unique_id=1836871184 instance=ExtResource("3_dwbse")]
position = Vector2(7963, -271.12885) position = Vector2(7963, -271.12885)
[node name="LongBlock6" parent="." unique_id=578305907 instance=ExtResource("3_dwbse")]
position = Vector2(8112, -673.5051)
[node name="LongBlock7" parent="." unique_id=1715379866 instance=ExtResource("3_dwbse")]
position = Vector2(8224, -674.48975)
[node name="LongBlock8" parent="." unique_id=218061444 instance=ExtResource("3_dwbse")]
position = Vector2(8335, -673.5052)
[node name="LongBlock9" parent="." unique_id=1660898332 instance=ExtResource("3_dwbse")]
position = Vector2(8447, -674.4898)
[node name="VerticalLongBlock2" parent="." unique_id=10220440 instance=ExtResource("4_pkg7o")] [node name="VerticalLongBlock2" parent="." unique_id=10220440 instance=ExtResource("4_pkg7o")]
position = Vector2(7864, -212.12886) position = Vector2(7864, -212.12886)
@@ -591,6 +605,11 @@ visible = true
position = Vector2(-1806, -161.48367) position = Vector2(-1806, -161.48367)
rotation = 0.0 rotation = 0.0
[node name="HiddenVerticalLongBlock13" parent="." unique_id=399713421 instance=ExtResource("20_26xuy")]
visible = true
position = Vector2(-1509, -69.91062)
rotation = 0.0
[node name="HiddenVerticalLongBlock12" parent="." unique_id=225495194 instance=ExtResource("20_26xuy")] [node name="HiddenVerticalLongBlock12" parent="." unique_id=225495194 instance=ExtResource("20_26xuy")]
visible = true visible = true
position = Vector2(-2003, -321.98273) position = Vector2(-2003, -321.98273)
@@ -657,13 +676,13 @@ position = Vector2(-4771, 365.30762)
sign_text = "HOLD SPACE TO JUMP FURTHER" sign_text = "HOLD SPACE TO JUMP FURTHER"
[node name="Block12" parent="." unique_id=888208031 instance=ExtResource("25_mc2jv")] [node name="Block12" parent="." unique_id=888208031 instance=ExtResource("25_mc2jv")]
position = Vector2(-1660, -23.63176) position = Vector2(-1679, 49.232834)
[node name="Block13" parent="." unique_id=501875762 instance=ExtResource("25_mc2jv")] [node name="Block13" parent="." unique_id=501875762 instance=ExtResource("25_mc2jv")]
position = Vector2(-1660, -8.861908) position = Vector2(-1679, 64.002686)
[node name="Block14" parent="." unique_id=705772034 instance=ExtResource("25_mc2jv")] [node name="Block14" parent="." unique_id=705772034 instance=ExtResource("25_mc2jv")]
position = Vector2(-1660, 6.8925962) position = Vector2(-1679, 79.75719)
[node name="Sign8" parent="." unique_id=460763419 instance=ExtResource("24_wjb0r")] [node name="Sign8" parent="." unique_id=460763419 instance=ExtResource("24_wjb0r")]
position = Vector2(-2876, 365.30762) position = Vector2(-2876, 365.30762)
@@ -671,7 +690,7 @@ sign_text = "THE LEFT CRYSTAL WILL GO OUT WHEN NO DASHES REMAIN"
text_dismiss_timer = 4 text_dismiss_timer = 4
[node name="HiddenSign" parent="." unique_id=1914486910 instance=ExtResource("26_bo7i5")] [node name="HiddenSign" parent="." unique_id=1914486910 instance=ExtResource("26_bo7i5")]
position = Vector2(-1351, -44.30954) position = Vector2(-1370, 28.555054)
sign_text = "MEDITATING REVEALS SECRETS" sign_text = "MEDITATING REVEALS SECRETS"
text_dismiss_timer = 4 text_dismiss_timer = 4
@@ -714,7 +733,7 @@ position = Vector2(-3240, 372.2002)
position = Vector2(-2093, 371.21558) position = Vector2(-2093, 371.21558)
[node name="Block15" parent="." unique_id=1277562320 instance=ExtResource("25_mc2jv")] [node name="Block15" parent="." unique_id=1277562320 instance=ExtResource("25_mc2jv")]
position = Vector2(-1660, 22.647102) position = Vector2(-1679, 95.511696)
[node name="VerticalLongBlock" parent="." unique_id=2087990778 instance=ExtResource("4_pkg7o")] [node name="VerticalLongBlock" parent="." unique_id=2087990778 instance=ExtResource("4_pkg7o")]
position = Vector2(-1708, 309.1822) position = Vector2(-1708, 309.1822)
@@ -778,82 +797,89 @@ position = Vector2(-1693, 357.43036)
position = Vector2(-1694, 371.21555) position = Vector2(-1694, 371.21555)
[node name="WallSpike17" parent="." unique_id=1785334522 instance=ExtResource("10_hiqwa")] [node name="WallSpike17" parent="." unique_id=1785334522 instance=ExtResource("10_hiqwa")]
position = Vector2(-1813.9541, 29.539698) position = Vector2(-1791.9232, 1.9693127)
[node name="WallSpike18" parent="." unique_id=1944691589 instance=ExtResource("10_hiqwa")] [node name="WallSpike18" parent="." unique_id=1944691589 instance=ExtResource("10_hiqwa")]
position = Vector2(-1813.9545, 43.324905) position = Vector2(-1791.9236, 15.75452)
[node name="WallSpike19" parent="." unique_id=1174250473 instance=ExtResource("10_hiqwa")] [node name="WallSpike19" parent="." unique_id=1174250473 instance=ExtResource("10_hiqwa")]
position = Vector2(-1813.9545, 57.110092) position = Vector2(-1791.9236, 29.539707)
[node name="WallSpike20" parent="." unique_id=2044591878 instance=ExtResource("10_hiqwa")] [node name="WallSpike20" parent="." unique_id=2044591878 instance=ExtResource("10_hiqwa")]
position = Vector2(-1813.9543, 71.87993) position = Vector2(-1791.9235, 44.309544)
[node name="WallSpike21" parent="." unique_id=208149461 instance=ExtResource("10_hiqwa")] [node name="WallSpike21" parent="." unique_id=208149461 instance=ExtResource("10_hiqwa")]
position = Vector2(-1813.9539, 85.665115) position = Vector2(-1791.923, 58.09473)
[node name="WallSpike22" parent="." unique_id=448818629 instance=ExtResource("10_hiqwa")] [node name="WallSpike22" parent="." unique_id=448818629 instance=ExtResource("10_hiqwa")]
position = Vector2(-1813.9542, 99.45033) position = Vector2(-1791.9233, 71.879944)
[node name="WallSpike23" parent="." unique_id=1077905007 instance=ExtResource("10_hiqwa")] [node name="WallSpike23" parent="." unique_id=1077905007 instance=ExtResource("10_hiqwa")]
position = Vector2(-1813.9541, 113.23552) position = Vector2(-1791.9232, 85.66513)
[node name="WallSpike24" parent="." unique_id=1155541085 instance=ExtResource("10_hiqwa")] [node name="WallSpike24" parent="." unique_id=1155541085 instance=ExtResource("10_hiqwa")]
position = Vector2(-1813.9545, 127.020706) position = Vector2(-1791.9236, 99.45032)
[node name="WallSpike25" parent="." unique_id=1154232223 instance=ExtResource("10_hiqwa")] [node name="WallSpike25" parent="." unique_id=1154232223 instance=ExtResource("10_hiqwa")]
position = Vector2(-1965.0306, 32.493668) position = Vector2(-1942.9998, 4.9232826)
rotation = -1.5707964 rotation = -1.5707964
[node name="WallSpike26" parent="." unique_id=910557166 instance=ExtResource("10_hiqwa")] [node name="WallSpike26" parent="." unique_id=910557166 instance=ExtResource("10_hiqwa")]
position = Vector2(-1965.0308, 46.278885) position = Vector2(-1942.9999, 18.7085)
rotation = -1.5707964 rotation = -1.5707964
[node name="WallSpike27" parent="." unique_id=1655122091 instance=ExtResource("10_hiqwa")] [node name="WallSpike27" parent="." unique_id=1655122091 instance=ExtResource("10_hiqwa")]
position = Vector2(-1965.0309, 60.06407) position = Vector2(-1943, 32.493687)
rotation = -1.5707964 rotation = -1.5707964
[node name="WallSpike28" parent="." unique_id=681987755 instance=ExtResource("10_hiqwa")] [node name="WallSpike28" parent="." unique_id=681987755 instance=ExtResource("10_hiqwa")]
position = Vector2(-1965.0309, 74.8339) position = Vector2(-1943, 47.263515)
rotation = -1.5707964 rotation = -1.5707964
[node name="WallSpike29" parent="." unique_id=74798139 instance=ExtResource("10_hiqwa")] [node name="WallSpike29" parent="." unique_id=74798139 instance=ExtResource("10_hiqwa")]
position = Vector2(-1965.0305, 88.61909) position = Vector2(-1942.9996, 61.048702)
rotation = -1.5707964 rotation = -1.5707964
[node name="WallSpike30" parent="." unique_id=2068253974 instance=ExtResource("10_hiqwa")] [node name="WallSpike30" parent="." unique_id=2068253974 instance=ExtResource("10_hiqwa")]
position = Vector2(-1965.0308, 102.4043) position = Vector2(-1942.9999, 74.83391)
rotation = -1.5707964 rotation = -1.5707964
[node name="WallSpike31" parent="." unique_id=2044392573 instance=ExtResource("10_hiqwa")] [node name="WallSpike31" parent="." unique_id=2044392573 instance=ExtResource("10_hiqwa")]
position = Vector2(-1965.0306, 116.18948) position = Vector2(-1942.9998, 88.619095)
rotation = -1.5707964 rotation = -1.5707964
[node name="WallSpike32" parent="." unique_id=398655446 instance=ExtResource("10_hiqwa")] [node name="WallSpike32" parent="." unique_id=398655446 instance=ExtResource("10_hiqwa")]
position = Vector2(-1965.0308, 129.97469) position = Vector2(-1942.9999, 102.4043)
rotation = -1.5707964 rotation = -1.5707964
[node name="VerticalLongBlock7" parent="." unique_id=273872899 instance=ExtResource("4_pkg7o")] [node name="VerticalLongBlock7" parent="." unique_id=273872899 instance=ExtResource("4_pkg7o")]
position = Vector2(-1829.9542, 78.77253) position = Vector2(-1807.9233, 51.202145)
[node name="VerticalLongBlock8" parent="." unique_id=109521298 instance=ExtResource("4_pkg7o")] [node name="VerticalLongBlock8" parent="." unique_id=109521298 instance=ExtResource("4_pkg7o")]
position = Vector2(-1950.0154, 79.75719) position = Vector2(-1927.9845, 52.186802)
[node name="LongBlock4" parent="." unique_id=635443484 instance=ExtResource("3_dwbse")] [node name="LongBlock4" parent="." unique_id=635443484 instance=ExtResource("3_dwbse")]
position = Vector2(-1889, 128.00537) position = Vector2(-1866.9691, 100.43498)
[node name="LongBlock5" parent="." unique_id=826837835 instance=ExtResource("3_dwbse")] [node name="LongBlock5" parent="." unique_id=826837835 instance=ExtResource("3_dwbse")]
position = Vector2(-1889, 30.524355) position = Vector2(-1866.9691, 2.95397)
[node name="Spike3" parent="." unique_id=1944305907 instance=ExtResource("27_4h6ng")] [node name="Spike3" parent="." unique_id=1944305907 instance=ExtResource("27_4h6ng")]
position = Vector2(-1920, 13.7851925) position = Vector2(-1897.9691, -13.7851925)
[node name="Spike4" parent="." unique_id=788276134 instance=ExtResource("27_4h6ng")] [node name="Spike4" parent="." unique_id=788276134 instance=ExtResource("27_4h6ng")]
position = Vector2(-1860, 13.7851925) position = Vector2(-1837.9691, -13.7851925)
[node name="Sign14" parent="." unique_id=464943426 instance=ExtResource("24_wjb0r")] [node name="Sign14" parent="." unique_id=464943426 instance=ExtResource("24_wjb0r")]
position = Vector2(-1804, 363.3383) position = Vector2(-1804, 363.3383)
sign_text = "YOUR DASH WILL ALSO BE REFRESHED..." sign_text = "YOUR DASH WILL ALSO BE REFRESHED..."
text_dismiss_timer = 4 text_dismiss_timer = 4
[node name="HiddenSpike" parent="." unique_id=1878715961 instance=ExtResource("28_k83mh")]
position = Vector2(8232, -721.7533)
[node name="HiddenSpike2" type="Node2D" parent="." unique_id=141634991]
position = Vector2(8254, -686.30566)
script = ExtResource("29_qktwf")
[connection signal="toggled" from="CanvasLayer/MusicButton" to="CanvasLayer/MusicButton" method="_on_toggled"] [connection signal="toggled" from="CanvasLayer/MusicButton" to="CanvasLayer/MusicButton" method="_on_toggled"]