Compare commits

6 Commits
Author SHA1 Message Date
yagigreg 8bb2c5c840 Add ability to have two images in a slide.
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 08:11:58 -05:00
yagigreg ddf7942890 Rudimentary comic/slideshow viewer and intro scene.
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 07:16:08 -05:00
yagigreg eded968b4e Stubs for intro scene and slideshower control.
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 03:29:46 -05:00
yagigreg 890541465b Record last known ground position. Idea is that when you die you drop the disks at the last place you stood. Doesn't seem to be reliable so I'm not using it at the moment;
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 03:21:33 -05:00
Debugman b416cd6d4f Merge branch 'main' of http://git.nanoyagi.com/NanoYagi/JumpRopeOldTech
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 03:20:10 -05:00
Debugman 2c203c8476 Teleporter tutorial 2026-10-18 03:20:05 -05:00
32 changed files with 653 additions and 12 deletions

No files matched your search

-1
View File
@@ -5,7 +5,6 @@
[node name="Dialogue" type="TextureRect" unique_id=733911232]
visible = false
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
+88
View File
@@ -0,0 +1,88 @@
[gd_scene format=3 uid="uid://rcq5arl8mdes"]
[ext_resource type="Script" uid="uid://bdv4qahk8mumv" path="res://slideshower.gd" id="1_7e6iu"]
[ext_resource type="Texture2D" uid="uid://pwn1pdrp6ruh" path="res://art/keyart_thumb.png" id="2_puxm7"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_puxm7"]
bg_color = Color(0.8203125, 0.8203125, 0.8203125, 1)
[node name="Slideshower" type="Control" unique_id=776393005]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_7e6iu")
[node name="VSplitContainer" type="VSplitContainer" parent="." unique_id=35480294]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = 3.0
offset_top = 4.0
grow_horizontal = 2
grow_vertical = 2
split_offsets = PackedInt32Array(642)
split_offset = 642
[node name="ImageFrame" type="Panel" parent="VSplitContainer" unique_id=1582351824]
layout_mode = 2
[node name="SlideContainer" type="HBoxContainer" parent="VSplitContainer/ImageFrame" unique_id=975465325]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
alignment = 1
[node name="SlideImage" type="TextureRect" parent="VSplitContainer/ImageFrame/SlideContainer" unique_id=720362532]
layout_mode = 2
texture = ExtResource("2_puxm7")
expand_mode = 2
stretch_mode = 5
[node name="SlideImage2" type="TextureRect" parent="VSplitContainer/ImageFrame/SlideContainer" unique_id=746302187]
visible = false
layout_mode = 2
texture = ExtResource("2_puxm7")
expand_mode = 2
stretch_mode = 5
[node name="TextFrame" type="Panel" parent="VSplitContainer" unique_id=1381001186]
layout_mode = 2
theme_override_styles/panel = SubResource("StyleBoxFlat_puxm7")
[node name="SlideText" type="RichTextLabel" parent="VSplitContainer/TextFrame" unique_id=1168262970]
layout_mode = 1
anchors_preset = -1
anchor_right = 0.86
anchor_bottom = 1.0
offset_right = 11.780029
grow_horizontal = 2
grow_vertical = 2
theme_override_colors/default_color = Color(0, 0, 0, 1)
theme_override_font_sizes/normal_font_size = 21
theme_override_font_sizes/bold_font_size = 21
theme_override_font_sizes/bold_italics_font_size = 21
theme_override_font_sizes/italics_font_size = 21
theme_override_font_sizes/mono_font_size = 21
text = "The Pharaoh's Jetpack!"
[node name="ContinueButton" type="Button" parent="VSplitContainer/TextFrame" unique_id=1558725691]
layout_mode = 1
anchors_preset = -1
anchor_top = 0.097
anchor_right = 1.0
anchor_bottom = 0.79
offset_left = 1133.0
offset_top = -0.013999939
offset_right = -14.0
offset_bottom = 0.020000458
grow_horizontal = 2
text = "Continue [E]"
[connection signal="pressed" from="VSplitContainer/TextFrame/ContinueButton" to="." method="_on_continue_button_pressed"]
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 MiB

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d1njkrglsofqk"
path="res://.godot/imported/Activate.png-5a9b65792bff5759f1905879cea1ebaa.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/slides/Activate.png"
dest_files=["res://.godot/imported/Activate.png-5a9b65792bff5759f1905879cea1ebaa.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: 1.4 MiB

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dkhnrtsstc3gs"
path="res://.godot/imported/Daydreaming.png-653e4d4bd093a39da88f576e50d6c4f0.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/slides/Daydreaming.png"
dest_files=["res://.godot/imported/Daydreaming.png-653e4d4bd093a39da88f576e50d6c4f0.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: 1.8 MiB

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://2mb7loqx4035"
path="res://.godot/imported/Glow.png-7fece8dff73930115c57f2c0ae3578d8.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/slides/Glow.png"
dest_files=["res://.godot/imported/Glow.png-7fece8dff73930115c57f2c0ae3578d8.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: 3.3 MiB

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c5kfj40gjnltf"
path="res://.godot/imported/Goatcaphagus.png-d86b36347399a0816eebbbd8281279fc.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/slides/Goatcaphagus.png"
dest_files=["res://.godot/imported/Goatcaphagus.png-d86b36347399a0816eebbbd8281279fc.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: 663 KiB

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://3jk04ddh4tme"
path="res://.godot/imported/Journey.png-73c5508ef5224e4becee36594c39a18b.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/slides/Journey.png"
dest_files=["res://.godot/imported/Journey.png-73c5508ef5224e4becee36594c39a18b.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: 2.4 MiB

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dd6rkyvutqrxb"
path="res://.godot/imported/Opensofar.png-a0b612c8052ea0cd9e0750c52238989d.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/slides/Opensofar.png"
dest_files=["res://.godot/imported/Opensofar.png-a0b612c8052ea0cd9e0750c52238989d.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: 356 KiB

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bh6teffdplxy7"
path="res://.godot/imported/PossessedbyOC.png-96605a3f22a6b73e1293b2d1be720757.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/slides/PossessedbyOC.png"
dest_files=["res://.godot/imported/PossessedbyOC.png-96605a3f22a6b73e1293b2d1be720757.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: 3.5 MiB

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c2e5dbfb16dhq"
path="res://.godot/imported/Power_source.png-669b9d6c712b93bed5f0d8805876b0d5.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/slides/Power_source.png"
dest_files=["res://.godot/imported/Power_source.png-669b9d6c712b93bed5f0d8805876b0d5.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
+44
View File
@@ -0,0 +1,44 @@
extends Node2D
@export var paired_teleporter: String
var checked_teleport
var telecam_speed_mult = 4
var enabled = true
var cooldown = 2
func _ready() -> void:
modulate = Color.PURPLE
add_to_group("TELEPORTERS")
add_to_group("Hidden")
func check_for_pair() -> String:
print(paired_teleporter)
return paired_teleporter
func disable():
enabled = false
$Sprite2D.modulate = Color.DARK_ORANGE
func enable():
enabled = true
$Sprite2D.modulate = Color.WHITE
func _process(delta: float) -> void:
pass
func _physics_process(delta: float) -> void:
pass
func _on_contact(body) -> void:
#get_tree().call_group("TELEPORTERS","disable")
for teleporter in get_tree().get_nodes_in_group("TELEPORTERS"):
if teleporter != self:
if teleporter.paired_teleporter == paired_teleporter and enabled:
%Player2D.get_node("Camera2D").position_smoothing_enabled = false
if %Player2D.teleport_cooldown > 0:
return
body.set_position(teleporter.get_position())
%Player2D.on_teleport()
disable()
await get_tree().create_timer(cooldown).timeout
enable()
+1
View File
@@ -0,0 +1 @@
uid://btxx0p5ccar5f
+40
View File
@@ -0,0 +1,40 @@
[gd_scene format=3 uid="uid://7bjqgxckho"]
[ext_resource type="Script" uid="uid://btxx0p5ccar5f" path="res://hidden_teleporter.gd" id="1_52wed"]
[ext_resource type="Texture2D" uid="uid://d0tvtt4eu8jmt" path="res://art/block/portal.png" id="2_rx1y0"]
[ext_resource type="Texture2D" uid="uid://55ihxa2emnep" path="res://art/block/portal2.png" id="3_5admx"]
[ext_resource type="Texture2D" uid="uid://d4a5x8gwhl2wc" path="res://art/block/portal3.png" id="4_tfiuq"]
[sub_resource type="SpriteFrames" id="SpriteFrames_tuehi"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": ExtResource("2_rx1y0")
}, {
"duration": 1.0,
"texture": ExtResource("3_5admx")
}, {
"duration": 1.0,
"texture": ExtResource("4_tfiuq")
}],
"loop": 1,
"name": &"default",
"speed": 5.0
}]
[sub_resource type="CircleShape2D" id="CircleShape2D_7k7bx"]
radius = 9.0
[node name="HiddenTeleporter" type="Node2D" unique_id=1201409437]
script = ExtResource("1_52wed")
[node name="Sprite2D" type="AnimatedSprite2D" parent="." unique_id=395479262]
sprite_frames = SubResource("SpriteFrames_tuehi")
autoplay = "default"
[node name="Area2D" type="Area2D" parent="Sprite2D" unique_id=2050186824]
[node name="CollisionShape2D" type="CollisionShape2D" parent="Sprite2D/Area2D" unique_id=1560168165]
shape = SubResource("CircleShape2D_7k7bx")
[connection signal="body_entered" from="Sprite2D/Area2D" to="." method="_on_contact"]
-3
View File
@@ -17,7 +17,6 @@ dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.cte
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
@@ -26,8 +25,6 @@ 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
+25
View File
@@ -0,0 +1,25 @@
extends Control
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
$Slideshower.play_slideshow([
{ "image": "Daydreaming",
"text": "Ever since he was a wee lad, Mr. Rhombini had always had one dream - to fly around in a blinged up jetpack." },
{ "image": "res://art/keyart_thumb.png",
"text": "The internet has been abuzz with talks of a legendary Pharaoh's jetpack. Mr. Rhombini's day has come." },
{ "image": "Journey",
"text": "Under the cover of night, Mr. Rhombini sneaks into the famous pharaoh's pyramid. This night, of all nights, it seems to glow with strange energy." },
{ "image": "Goatcaphagus",
"text": "Mr. Rhombini stumbles upon an unusual sarcophagus, a blend of ancient craftsmanship and advanced technology. The antenna have been disconnected." },
{ "image": "Activate",
"text": "Mr. Rhombini excitedly connects the antenna. The sarcophagus begins to hum." },
{ "image": "Opensofar",
"text": "The sarcophagus swings open to reveal, not a dead body, but an old computer. The computer begins to boot up, but an error message is visible on the main screen." },
{ "images": ["PossessedbyOC", "Power_source"],
"text": "However, Mr. Rhombini's attention is instantly grabbed by the other object inside the open sarcophagus." },
{ "image": "Glow",
"text": "The Pharaoh's jetpack! Mr. Rhombini wastes no time in putting it on." }
])
func _on_slideshower_finished_playing() -> void:
get_tree().change_scene_to_file("res://world.tscn")
+1
View File
@@ -0,0 +1 @@
uid://bo6557y41ps7i
+18
View File
@@ -0,0 +1,18 @@
[gd_scene format=3 uid="uid://p65fagt04vv8"]
[ext_resource type="Script" uid="uid://bo6557y41ps7i" path="res://intro.gd" id="1_ayt76"]
[ext_resource type="PackedScene" uid="uid://rcq5arl8mdes" path="res://Slideshower.tscn" id="1_s2ta7"]
[node name="Intro" type="Control" unique_id=1423273784]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_ayt76")
[node name="Slideshower" parent="." unique_id=776393005 instance=ExtResource("1_s2ta7")]
layout_mode = 1
[connection signal="finished_playing" from="Slideshower" to="." method="_on_slideshower_finished_playing"]
+8 -1
View File
@@ -17,7 +17,9 @@ var dashes = 1
var dashing = false
var death_threshold = 2000
var coins = 0
var spawn_point
var last_ground_point
var data_disks = []
var objectives = {}
@@ -111,7 +113,8 @@ func on_death(instant = false, player_position = position):
get_tree().paused = false
#position = %LevelStart.position
position = spawn_point
velocity = Vector2(0,0)
position = spawn_point + Vector2(0,-100)
await get_tree().create_timer(0.1).timeout
death_cooldown = 0
@@ -119,6 +122,10 @@ func _process(delta: float) -> void:
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()
if is_on_floor():
last_ground_point = global_position
#spawn_point = last_ground_point
if %OldComputer.visible:
if Input.is_action_just_released("interact") or Input.is_action_just_released("jump"):
%OldComputer.close()
+3 -3
View File
@@ -11,10 +11,10 @@
[ext_resource type="Texture2D" uid="uid://dyxbitw8hbd3s" path="res://art/player/crouch/frame2.png" id="7_lu0ka"]
[ext_resource type="Texture2D" uid="uid://bfyd1tro3s0gl" path="res://art/player/crystal2.png" id="7_oy4pt"]
[ext_resource type="Texture2D" uid="uid://dh7a1knyqn5nd" path="res://art/player/running/frame3.png" id="7_pmt5n"]
[ext_resource type="Texture2D" uid="uid://lk0f1qyswyxv" path="res://art/player/idle/frame1.png" id="8_3prq1"]
[ext_resource type="Texture2D" uid="uid://lk0f1qyswyxv" path="res://art/player/running/frame1.png" id="8_3prq1"]
[ext_resource type="Texture2D" uid="uid://yf13nw31k8ua" path="res://art/player/running/frame4.png" id="8_nj6as"]
[ext_resource type="Texture2D" uid="uid://du5i0tg6u1lal" path="res://art/player/crystal3.png" id="8_ukfft"]
[ext_resource type="Texture2D" uid="uid://lmje8plw76e1" path="res://art/player/idle/frame2.png" id="9_lu0ka"]
[ext_resource type="Texture2D" uid="uid://lmje8plw76e1" path="res://art/player/running/frame2.png" id="9_lu0ka"]
[ext_resource type="Texture2D" uid="uid://bko8dvawpul3c" path="res://art/player/crystal4.png" id="9_ur4nw"]
[ext_resource type="Texture2D" uid="uid://m5djssna67e1" path="res://art/player/crouch/frame3.png" id="9_w0gjo"]
[ext_resource type="Texture2D" uid="uid://ba4kjeulthw1g" path="res://art/hats/dunce1.png" id="10_5s8kx"]
@@ -151,7 +151,7 @@ texture = ExtResource("4_nj6as")
[node name="Parallax2D" type="Parallax2D" parent="." unique_id=270393374]
repeat_size = Vector2(1280, 720)
autoscroll = Vector2(5, 0)
autoscroll = Vector2(1, 0)
follow_viewport = false
ignore_camera_scroll = true
+1 -1
View File
@@ -11,7 +11,7 @@ config_version=5
[application]
config/name="JumpRope"
run/main_scene="uid://iivvrut0lfsr"
run/main_scene="uid://p65fagt04vv8"
config/features=PackedStringArray("4.8", "Forward Plus")
boot_splash/image="uid://dhue32shjdpt8"
config/icon="res://icon.svg"
+57
View File
@@ -0,0 +1,57 @@
class_name Slideshower
extends Control
signal finished_playing
var slides = []
var slide = 0
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
pass # Replace with function body.
func play_slideshow(new_slides) -> void:
slides = new_slides
play_slide(0)
func _make_image_path(image_name: String) -> String:
if image_name.begins_with("res://"):
return image_name
return "res://art/slides/%s.png" % image_name
func play_slide(index) -> bool:
if index < 0 or index >= len(slides):
return false
slide = index
var slide_object = slides[index]
$VSplitContainer/TextFrame/SlideText.text = slide_object.text
if "image" in slides[index]:
$VSplitContainer/ImageFrame/SlideContainer/SlideImage.texture = load(_make_image_path(slide_object.image))
$VSplitContainer/ImageFrame/SlideContainer/SlideImage2.visible = false
else:
$VSplitContainer/ImageFrame/SlideContainer/SlideImage.texture = load(_make_image_path(slide_object.images[0]))
$VSplitContainer/ImageFrame/SlideContainer/SlideImage2.visible = true
$VSplitContainer/ImageFrame/SlideContainer/SlideImage2.texture = load(_make_image_path(slide_object.images[1]))
return true
func next_slide() -> bool:
var success = play_slide(slide + 1)
if not success:
finished_playing.emit()
return success
func prev_slide() -> bool:
return play_slide(slide - 1)
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
if Input.is_action_just_released("interact") or Input.is_action_just_released("jump") or Input.is_action_just_released("move_right"):
next_slide()
if Input.is_action_just_released("move_left"):
prev_slide()
func _on_continue_button_pressed() -> void:
next_slide()
+1
View File
@@ -0,0 +1 @@
uid://bdv4qahk8mumv
+1 -1
View File
@@ -23,7 +23,7 @@ animations = [{
}]
[sub_resource type="CircleShape2D" id="CircleShape2D_7k7bx"]
radius = 14.0
radius = 9.0
[node name="Teleporter" type="Node2D" unique_id=1201409437]
script = ExtResource("1_tuehi")
+21 -2
View File
@@ -33,7 +33,7 @@ scale = Vector2(1, 1.0155824)
[node name="Player2D" parent="." unique_id=889851478 instance=ExtResource("1_aqk2v")]
unique_name_in_owner = true
position = Vector2(-4844.9995, 356.44568)
position = Vector2(-4838.9995, 356.4457)
rotation = 0.0005533503
safe_margin = 0.08
@@ -479,7 +479,7 @@ scale = Vector2(0.8267815, 0.8267815)
stretch_mode = 5
[node name="Pharaoh" parent="." unique_id=44054531 instance=ExtResource("15_hiqwa")]
position = Vector2(192, 177.23824)
position = Vector2(192, 193.97743)
[node name="Pharaoh2" parent="." unique_id=1541178727 instance=ExtResource("15_hiqwa")]
position = Vector2(6338, -42.34024)
@@ -646,4 +646,23 @@ position = Vector2(-1351, -14.769848)
sign_text = "MEDITATING REVEALS SECRETS"
text_dismiss_timer = 4
[node name="Sign10" parent="." unique_id=600787286 instance=ExtResource("24_wjb0r")]
position = Vector2(-1349, -644.9501)
sign_text = "PORTALS WORK AS EXPECTED"
[node name="Teleporter" parent="." unique_id=1261295038 instance=ExtResource("4_gbfbk")]
position = Vector2(-1295, -668.58185)
paired_teleporter = "C"
[node name="Teleporter2" parent="." unique_id=392920399 instance=ExtResource("4_gbfbk")]
position = Vector2(-1171, -669.5665)
paired_teleporter = "C"
[node name="Sign11" parent="." unique_id=933599424 instance=ExtResource("24_wjb0r")]
position = Vector2(-1115, -644.9501)
sign_text = "COINS AREN'T REAL"
[node name="HiddenCoin" parent="." unique_id=1654988120 instance=ExtResource("22_wukud")]
position = Vector2(-1063, -662.6739)
[connection signal="toggled" from="CanvasLayer/MusicButton" to="CanvasLayer/MusicButton" method="_on_toggled"]