├── .gitignore ├── Box.png ├── icon.png ├── click3.ogg ├── click4.ogg ├── switch6.ogg ├── switch7.ogg ├── ButtonUp.png ├── TitleMid.png ├── TitleOpen.png ├── ButtonDown.png ├── TitleClosed.png ├── arrow_cross.png ├── Tektur-Medium.ttf ├── Interpane_Tileset.png ├── arrow_horizontal.png ├── confirmation_002.ogg ├── .gitattributes ├── TabbyIdle ├── frame_00001.png ├── frame_00005.png ├── frame_00006.png ├── frame_00010.png ├── frame_00001.png.import ├── frame_00005.png.import ├── frame_00006.png.import └── frame_00010.png.import ├── TabbyJump ├── frame_00004.png ├── frame_00005.png ├── frame_00007.png ├── frame_00008.png ├── frame_00009.png ├── frame_00010.png ├── frame_00012.png ├── frame_00013.png ├── frame_00014.png ├── frame_00015.png ├── frame_00004.png.import ├── frame_00005.png.import ├── frame_00007.png.import ├── frame_00008.png.import ├── frame_00009.png.import ├── frame_00010.png.import ├── frame_00012.png.import ├── frame_00013.png.import ├── frame_00014.png.import └── frame_00015.png.import ├── TabbyRun ├── frame_00001.png ├── frame_00002.png ├── frame_00003.png ├── frame_00004.png ├── frame_00005.png ├── frame_00006.png ├── frame_00007.png ├── frame_00008.png ├── frame_00001.png.import ├── frame_00002.png.import ├── frame_00003.png.import ├── frame_00004.png.import ├── frame_00005.png.import ├── frame_00006.png.import ├── frame_00007.png.import └── frame_00008.png.import ├── footstep_concrete_000.ogg ├── footstep_concrete_001.ogg ├── footstep_concrete_002.ogg ├── footstep_concrete_003.ogg ├── footstep_concrete_004.ogg ├── TabbyVictory ├── frame_00001.png ├── frame_00002.png ├── frame_00004.png ├── frame_00005.png ├── frame_00006.png ├── frame_00008.png ├── frame_00001.png.import ├── frame_00002.png.import ├── frame_00004.png.import ├── frame_00005.png.import ├── frame_00006.png.import └── frame_00008.png.import ├── Juhani Junkala [Chiptune Adventures] 1. Stage 1.ogg ├── Juhani Junkala [Chiptune Adventures] 2. Stage 2.ogg ├── Juhani Junkala [Chiptune Adventures] 4. Stage Select.ogg ├── default_bus_layout.tres ├── click3.ogg.import ├── click4.ogg.import ├── switch6.ogg.import ├── switch7.ogg.import ├── EntityWindow.gd ├── confirmation_002.ogg.import ├── ToggleWall.gd ├── footstep_concrete_000.ogg.import ├── footstep_concrete_001.ogg.import ├── footstep_concrete_002.ogg.import ├── footstep_concrete_003.ogg.import ├── footstep_concrete_004.ogg.import ├── Button.gd ├── Juhani Junkala [Chiptune Adventures] 1. Stage 1.ogg.import ├── Juhani Junkala [Chiptune Adventures] 2. Stage 2.ogg.import ├── Juhani Junkala [Chiptune Adventures] 4. Stage Select.ogg.import ├── Hint.gd ├── MusicPlayer.gd ├── Tektur-Medium.ttf.import ├── Box.png.import ├── icon.png.import ├── ButtonUp.png.import ├── TitleMid.png.import ├── TitleOpen.png.import ├── ButtonDown.png.import ├── SecondaryWindow.gd ├── TitleClosed.png.import ├── arrow_cross.png.import ├── arrow_horizontal.png.import ├── CropCollision.gd ├── Interpane_Tileset.png.import ├── Goal.gd ├── Main.gd ├── Menu.gd ├── export_presets.cfg ├── Player.gd ├── Victory.gd ├── project.godot ├── Menu.tscn ├── Victory.tscn ├── LevelTileset.tres ├── Player.tscn ├── level2.tscn ├── level3.tscn ├── level1.tscn └── level4.tscn /.gitignore: -------------------------------------------------------------------------------- 1 | # Godot 4+ specific ignores 2 | .godot/ 3 | -------------------------------------------------------------------------------- /Box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/Box.png -------------------------------------------------------------------------------- /icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/icon.png -------------------------------------------------------------------------------- /click3.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/click3.ogg -------------------------------------------------------------------------------- /click4.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/click4.ogg -------------------------------------------------------------------------------- /switch6.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/switch6.ogg -------------------------------------------------------------------------------- /switch7.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/switch7.ogg -------------------------------------------------------------------------------- /ButtonUp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/ButtonUp.png -------------------------------------------------------------------------------- /TitleMid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/TitleMid.png -------------------------------------------------------------------------------- /TitleOpen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/TitleOpen.png -------------------------------------------------------------------------------- /ButtonDown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/ButtonDown.png -------------------------------------------------------------------------------- /TitleClosed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/TitleClosed.png -------------------------------------------------------------------------------- /arrow_cross.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/arrow_cross.png -------------------------------------------------------------------------------- /Tektur-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/Tektur-Medium.ttf -------------------------------------------------------------------------------- /Interpane_Tileset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/Interpane_Tileset.png -------------------------------------------------------------------------------- /arrow_horizontal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/arrow_horizontal.png -------------------------------------------------------------------------------- /confirmation_002.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/confirmation_002.ogg -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Normalize EOL for all files that Git considers text files. 2 | * text=auto eol=lf 3 | -------------------------------------------------------------------------------- /TabbyIdle/frame_00001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/TabbyIdle/frame_00001.png -------------------------------------------------------------------------------- /TabbyIdle/frame_00005.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/TabbyIdle/frame_00005.png -------------------------------------------------------------------------------- /TabbyIdle/frame_00006.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/TabbyIdle/frame_00006.png -------------------------------------------------------------------------------- /TabbyIdle/frame_00010.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/TabbyIdle/frame_00010.png -------------------------------------------------------------------------------- /TabbyJump/frame_00004.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/TabbyJump/frame_00004.png -------------------------------------------------------------------------------- /TabbyJump/frame_00005.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/TabbyJump/frame_00005.png -------------------------------------------------------------------------------- /TabbyJump/frame_00007.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/TabbyJump/frame_00007.png -------------------------------------------------------------------------------- /TabbyJump/frame_00008.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/TabbyJump/frame_00008.png -------------------------------------------------------------------------------- /TabbyJump/frame_00009.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/TabbyJump/frame_00009.png -------------------------------------------------------------------------------- /TabbyJump/frame_00010.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/TabbyJump/frame_00010.png -------------------------------------------------------------------------------- /TabbyJump/frame_00012.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/TabbyJump/frame_00012.png -------------------------------------------------------------------------------- /TabbyJump/frame_00013.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/TabbyJump/frame_00013.png -------------------------------------------------------------------------------- /TabbyJump/frame_00014.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/TabbyJump/frame_00014.png -------------------------------------------------------------------------------- /TabbyJump/frame_00015.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/TabbyJump/frame_00015.png -------------------------------------------------------------------------------- /TabbyRun/frame_00001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/TabbyRun/frame_00001.png -------------------------------------------------------------------------------- /TabbyRun/frame_00002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/TabbyRun/frame_00002.png -------------------------------------------------------------------------------- /TabbyRun/frame_00003.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/TabbyRun/frame_00003.png -------------------------------------------------------------------------------- /TabbyRun/frame_00004.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/TabbyRun/frame_00004.png -------------------------------------------------------------------------------- /TabbyRun/frame_00005.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/TabbyRun/frame_00005.png -------------------------------------------------------------------------------- /TabbyRun/frame_00006.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/TabbyRun/frame_00006.png -------------------------------------------------------------------------------- /TabbyRun/frame_00007.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/TabbyRun/frame_00007.png -------------------------------------------------------------------------------- /TabbyRun/frame_00008.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/TabbyRun/frame_00008.png -------------------------------------------------------------------------------- /footstep_concrete_000.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/footstep_concrete_000.ogg -------------------------------------------------------------------------------- /footstep_concrete_001.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/footstep_concrete_001.ogg -------------------------------------------------------------------------------- /footstep_concrete_002.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/footstep_concrete_002.ogg -------------------------------------------------------------------------------- /footstep_concrete_003.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/footstep_concrete_003.ogg -------------------------------------------------------------------------------- /footstep_concrete_004.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/footstep_concrete_004.ogg -------------------------------------------------------------------------------- /TabbyVictory/frame_00001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/TabbyVictory/frame_00001.png -------------------------------------------------------------------------------- /TabbyVictory/frame_00002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/TabbyVictory/frame_00002.png -------------------------------------------------------------------------------- /TabbyVictory/frame_00004.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/TabbyVictory/frame_00004.png -------------------------------------------------------------------------------- /TabbyVictory/frame_00005.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/TabbyVictory/frame_00005.png -------------------------------------------------------------------------------- /TabbyVictory/frame_00006.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/TabbyVictory/frame_00006.png -------------------------------------------------------------------------------- /TabbyVictory/frame_00008.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/TabbyVictory/frame_00008.png -------------------------------------------------------------------------------- /Juhani Junkala [Chiptune Adventures] 1. Stage 1.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/Juhani Junkala [Chiptune Adventures] 1. Stage 1.ogg -------------------------------------------------------------------------------- /Juhani Junkala [Chiptune Adventures] 2. Stage 2.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/Juhani Junkala [Chiptune Adventures] 2. Stage 2.ogg -------------------------------------------------------------------------------- /Juhani Junkala [Chiptune Adventures] 4. Stage Select.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LRFLEW/Halcyon2023/master/Juhani Junkala [Chiptune Adventures] 4. Stage Select.ogg -------------------------------------------------------------------------------- /default_bus_layout.tres: -------------------------------------------------------------------------------- 1 | [gd_resource type="AudioBusLayout" format=3 uid="uid://ckd7jpwq67m83"] 2 | 3 | [resource] 4 | bus/1/name = &"Music" 5 | bus/1/solo = false 6 | bus/1/mute = false 7 | bus/1/bypass_fx = false 8 | bus/1/volume_db = 0.0 9 | bus/1/send = &"Master" 10 | bus/2/name = &"SFX" 11 | bus/2/solo = false 12 | bus/2/mute = false 13 | bus/2/bypass_fx = false 14 | bus/2/volume_db = 0.0 15 | bus/2/send = &"Master" 16 | -------------------------------------------------------------------------------- /click3.ogg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="oggvorbisstr" 4 | type="AudioStreamOggVorbis" 5 | uid="uid://23mubqsqyq1f" 6 | path="res://.godot/imported/click3.ogg-6d9dc559aa9e38819c6879e00e4f1fe5.oggvorbisstr" 7 | 8 | [deps] 9 | 10 | source_file="res://click3.ogg" 11 | dest_files=["res://.godot/imported/click3.ogg-6d9dc559aa9e38819c6879e00e4f1fe5.oggvorbisstr"] 12 | 13 | [params] 14 | 15 | loop=false 16 | loop_offset=0 17 | bpm=0 18 | beat_count=0 19 | bar_beats=4 20 | -------------------------------------------------------------------------------- /click4.ogg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="oggvorbisstr" 4 | type="AudioStreamOggVorbis" 5 | uid="uid://b1q3yoi54ltg8" 6 | path="res://.godot/imported/click4.ogg-bfdd2c85013ab19a30c18903b30e2ef9.oggvorbisstr" 7 | 8 | [deps] 9 | 10 | source_file="res://click4.ogg" 11 | dest_files=["res://.godot/imported/click4.ogg-bfdd2c85013ab19a30c18903b30e2ef9.oggvorbisstr"] 12 | 13 | [params] 14 | 15 | loop=false 16 | loop_offset=0 17 | bpm=0 18 | beat_count=0 19 | bar_beats=4 20 | -------------------------------------------------------------------------------- /switch6.ogg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="oggvorbisstr" 4 | type="AudioStreamOggVorbis" 5 | uid="uid://bbx2swuao8eub" 6 | path="res://.godot/imported/switch6.ogg-746f7b1c5e49f1343176a01b73548a67.oggvorbisstr" 7 | 8 | [deps] 9 | 10 | source_file="res://switch6.ogg" 11 | dest_files=["res://.godot/imported/switch6.ogg-746f7b1c5e49f1343176a01b73548a67.oggvorbisstr"] 12 | 13 | [params] 14 | 15 | loop=false 16 | loop_offset=0 17 | bpm=0 18 | beat_count=0 19 | bar_beats=4 20 | -------------------------------------------------------------------------------- /switch7.ogg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="oggvorbisstr" 4 | type="AudioStreamOggVorbis" 5 | uid="uid://18kxn06rbasx" 6 | path="res://.godot/imported/switch7.ogg-eb432c5904e168f9999ecf0634aa8fbd.oggvorbisstr" 7 | 8 | [deps] 9 | 10 | source_file="res://switch7.ogg" 11 | dest_files=["res://.godot/imported/switch7.ogg-eb432c5904e168f9999ecf0634aa8fbd.oggvorbisstr"] 12 | 13 | [params] 14 | 15 | loop=false 16 | loop_offset=0 17 | bpm=0 18 | beat_count=0 19 | bar_beats=4 20 | -------------------------------------------------------------------------------- /EntityWindow.gd: -------------------------------------------------------------------------------- 1 | extends Window 2 | 3 | @export var track : Node2D 4 | @export var layer := 1 5 | 6 | @onready var camera : Camera2D = $Camera2D 7 | 8 | func _ready(): 9 | world_2d = get_tree().get_root().world_2d 10 | canvas_cull_mask = 1 << layer 11 | 12 | func _process(_delta): 13 | camera.position = track.position 14 | position = track.position + Main.screen_origin 15 | 16 | func _input(event): 17 | if event.is_action_pressed("Restart"): 18 | get_tree().reload_current_scene() 19 | -------------------------------------------------------------------------------- /confirmation_002.ogg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="oggvorbisstr" 4 | type="AudioStreamOggVorbis" 5 | uid="uid://cf6iryiu7ip81" 6 | path="res://.godot/imported/confirmation_002.ogg-ba61ddc183ed097c9e73c64b44268e5d.oggvorbisstr" 7 | 8 | [deps] 9 | 10 | source_file="res://confirmation_002.ogg" 11 | dest_files=["res://.godot/imported/confirmation_002.ogg-ba61ddc183ed097c9e73c64b44268e5d.oggvorbisstr"] 12 | 13 | [params] 14 | 15 | loop=false 16 | loop_offset=0 17 | bpm=0 18 | beat_count=0 19 | bar_beats=4 20 | -------------------------------------------------------------------------------- /ToggleWall.gd: -------------------------------------------------------------------------------- 1 | extends CropCollision 2 | 3 | @export var default_state := false 4 | @export var disable_opacity := 0.3 5 | 6 | @onready var tilemap : TileMap = $TileMap 7 | 8 | func _set_state(state : bool): 9 | tilemap.modulate.a = 1.0 if state else disable_opacity 10 | process_mode = Node.PROCESS_MODE_INHERIT if state else Node.PROCESS_MODE_DISABLED 11 | 12 | func update_pressed(pressed : bool): 13 | _set_state(pressed != default_state) 14 | 15 | func _ready(): 16 | super() 17 | _set_state(default_state) 18 | -------------------------------------------------------------------------------- /footstep_concrete_000.ogg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="oggvorbisstr" 4 | type="AudioStreamOggVorbis" 5 | uid="uid://dltv4thd0fbu" 6 | path="res://.godot/imported/footstep_concrete_000.ogg-990410acf57e4bd907a4cce9ba19c706.oggvorbisstr" 7 | 8 | [deps] 9 | 10 | source_file="res://footstep_concrete_000.ogg" 11 | dest_files=["res://.godot/imported/footstep_concrete_000.ogg-990410acf57e4bd907a4cce9ba19c706.oggvorbisstr"] 12 | 13 | [params] 14 | 15 | loop=false 16 | loop_offset=0 17 | bpm=0 18 | beat_count=0 19 | bar_beats=4 20 | -------------------------------------------------------------------------------- /footstep_concrete_001.ogg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="oggvorbisstr" 4 | type="AudioStreamOggVorbis" 5 | uid="uid://8p2k0ib7yl3i" 6 | path="res://.godot/imported/footstep_concrete_001.ogg-7defacc5e438fbe523ec286a789bc9eb.oggvorbisstr" 7 | 8 | [deps] 9 | 10 | source_file="res://footstep_concrete_001.ogg" 11 | dest_files=["res://.godot/imported/footstep_concrete_001.ogg-7defacc5e438fbe523ec286a789bc9eb.oggvorbisstr"] 12 | 13 | [params] 14 | 15 | loop=false 16 | loop_offset=0 17 | bpm=0 18 | beat_count=0 19 | bar_beats=4 20 | -------------------------------------------------------------------------------- /footstep_concrete_002.ogg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="oggvorbisstr" 4 | type="AudioStreamOggVorbis" 5 | uid="uid://dfi6rybee2hum" 6 | path="res://.godot/imported/footstep_concrete_002.ogg-489a37d1a2c14d140616148ea8385be3.oggvorbisstr" 7 | 8 | [deps] 9 | 10 | source_file="res://footstep_concrete_002.ogg" 11 | dest_files=["res://.godot/imported/footstep_concrete_002.ogg-489a37d1a2c14d140616148ea8385be3.oggvorbisstr"] 12 | 13 | [params] 14 | 15 | loop=false 16 | loop_offset=0 17 | bpm=0 18 | beat_count=0 19 | bar_beats=4 20 | -------------------------------------------------------------------------------- /footstep_concrete_003.ogg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="oggvorbisstr" 4 | type="AudioStreamOggVorbis" 5 | uid="uid://bmvp2mdgckvbh" 6 | path="res://.godot/imported/footstep_concrete_003.ogg-9ff697ab75a52f9e9674168d3d108d4a.oggvorbisstr" 7 | 8 | [deps] 9 | 10 | source_file="res://footstep_concrete_003.ogg" 11 | dest_files=["res://.godot/imported/footstep_concrete_003.ogg-9ff697ab75a52f9e9674168d3d108d4a.oggvorbisstr"] 12 | 13 | [params] 14 | 15 | loop=false 16 | loop_offset=0 17 | bpm=0 18 | beat_count=0 19 | bar_beats=4 20 | -------------------------------------------------------------------------------- /footstep_concrete_004.ogg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="oggvorbisstr" 4 | type="AudioStreamOggVorbis" 5 | uid="uid://by4bkmy0bjau4" 6 | path="res://.godot/imported/footstep_concrete_004.ogg-d562a4c5685d862fbd923f5063bd982f.oggvorbisstr" 7 | 8 | [deps] 9 | 10 | source_file="res://footstep_concrete_004.ogg" 11 | dest_files=["res://.godot/imported/footstep_concrete_004.ogg-d562a4c5685d862fbd923f5063bd982f.oggvorbisstr"] 12 | 13 | [params] 14 | 15 | loop=false 16 | loop_offset=0 17 | bpm=0 18 | beat_count=0 19 | bar_beats=4 20 | -------------------------------------------------------------------------------- /Button.gd: -------------------------------------------------------------------------------- 1 | extends Area2D 2 | 3 | signal button_state(state : bool) 4 | 5 | var prev_state := false 6 | 7 | @onready var sprite : AnimatedSprite2D = $AnimatedSprite2D 8 | @onready var press_sound : AudioStreamPlayer = $PressSound 9 | @onready var depress_sound : AudioStreamPlayer = $DepressSound 10 | 11 | func on_body(body : Node2D): 12 | var press := has_overlapping_bodies() 13 | if press != prev_state: 14 | prev_state = press 15 | sprite.play("Pressed" if press else "Unpressed") 16 | if press: press_sound.play() 17 | else: depress_sound.play() 18 | button_state.emit(press) 19 | -------------------------------------------------------------------------------- /Juhani Junkala [Chiptune Adventures] 1. Stage 1.ogg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="oggvorbisstr" 4 | type="AudioStreamOggVorbis" 5 | uid="uid://ccty5l12n81e6" 6 | path="res://.godot/imported/Juhani Junkala [Chiptune Adventures] 1. Stage 1.ogg-9413d05584a5fa5bcabbefde2430a999.oggvorbisstr" 7 | 8 | [deps] 9 | 10 | source_file="res://Juhani Junkala [Chiptune Adventures] 1. Stage 1.ogg" 11 | dest_files=["res://.godot/imported/Juhani Junkala [Chiptune Adventures] 1. Stage 1.ogg-9413d05584a5fa5bcabbefde2430a999.oggvorbisstr"] 12 | 13 | [params] 14 | 15 | loop=true 16 | loop_offset=0.0 17 | bpm=0.0 18 | beat_count=0 19 | bar_beats=4 20 | -------------------------------------------------------------------------------- /Juhani Junkala [Chiptune Adventures] 2. Stage 2.ogg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="oggvorbisstr" 4 | type="AudioStreamOggVorbis" 5 | uid="uid://cshl8617gy3am" 6 | path="res://.godot/imported/Juhani Junkala [Chiptune Adventures] 2. Stage 2.ogg-d9ef0846382c7f94b07e667eb945045d.oggvorbisstr" 7 | 8 | [deps] 9 | 10 | source_file="res://Juhani Junkala [Chiptune Adventures] 2. Stage 2.ogg" 11 | dest_files=["res://.godot/imported/Juhani Junkala [Chiptune Adventures] 2. Stage 2.ogg-d9ef0846382c7f94b07e667eb945045d.oggvorbisstr"] 12 | 13 | [params] 14 | 15 | loop=true 16 | loop_offset=0.0 17 | bpm=0.0 18 | beat_count=0 19 | bar_beats=4 20 | -------------------------------------------------------------------------------- /Juhani Junkala [Chiptune Adventures] 4. Stage Select.ogg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="oggvorbisstr" 4 | type="AudioStreamOggVorbis" 5 | uid="uid://27r7drck7drx" 6 | path="res://.godot/imported/Juhani Junkala [Chiptune Adventures] 4. Stage Select.ogg-ad28872b30507dc62a69ee4e0d204a23.oggvorbisstr" 7 | 8 | [deps] 9 | 10 | source_file="res://Juhani Junkala [Chiptune Adventures] 4. Stage Select.ogg" 11 | dest_files=["res://.godot/imported/Juhani Junkala [Chiptune Adventures] 4. Stage Select.ogg-ad28872b30507dc62a69ee4e0d204a23.oggvorbisstr"] 12 | 13 | [params] 14 | 15 | loop=true 16 | loop_offset=0.0 17 | bpm=0.0 18 | beat_count=0 19 | bar_beats=4 20 | -------------------------------------------------------------------------------- /Hint.gd: -------------------------------------------------------------------------------- 1 | extends Area2D 2 | 3 | var enabled := false 4 | var win_good := true 5 | var win_last : Rect2i 6 | 7 | @onready var anim : AnimationPlayer = $Arrow/AnimationPlayer 8 | 9 | func _process(delta): 10 | var win := get_window() 11 | if win_last and win_good: 12 | if win.position != win_last.position or win.size != win_last.size: 13 | anim.play("RESET") 14 | win_good = false 15 | else: 16 | win_last = Rect2i(win.position, win.size) 17 | 18 | func on_player_enter(body : Node2D): 19 | if enabled and win_good: 20 | anim.play("Hint") 21 | 22 | func on_player_exit(body : Node2D): 23 | anim.play("RESET") 24 | 25 | func set_enabled(status : bool): 26 | enabled = status 27 | -------------------------------------------------------------------------------- /MusicPlayer.gd: -------------------------------------------------------------------------------- 1 | extends AudioStreamPlayer 2 | 3 | @export var muted := false 4 | 5 | enum Tracks { Menu, Stage, Victory } 6 | 7 | var tracks : Array[AudioStream] = [ 8 | load("res://Juhani Junkala [Chiptune Adventures] 4. Stage Select.ogg"), 9 | load("res://Juhani Junkala [Chiptune Adventures] 1. Stage 1.ogg"), 10 | load("res://Juhani Junkala [Chiptune Adventures] 2. Stage 2.ogg"), 11 | ] 12 | var current_track := Tracks.Menu 13 | 14 | func _ready(): 15 | volume_db = -3.0 16 | bus = "Music" 17 | stream = tracks[current_track] 18 | play() 19 | 20 | func switch_track(track : Tracks): 21 | if track != current_track: 22 | current_track = track 23 | stream = tracks[track] 24 | play() 25 | -------------------------------------------------------------------------------- /Tektur-Medium.ttf.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="font_data_dynamic" 4 | type="FontFile" 5 | uid="uid://dxganxrvafv3u" 6 | path="res://.godot/imported/Tektur-Medium.ttf-1d438a12126285907ca526ec65d1df54.fontdata" 7 | 8 | [deps] 9 | 10 | source_file="res://Tektur-Medium.ttf" 11 | dest_files=["res://.godot/imported/Tektur-Medium.ttf-1d438a12126285907ca526ec65d1df54.fontdata"] 12 | 13 | [params] 14 | 15 | Rendering=null 16 | antialiasing=1 17 | generate_mipmaps=false 18 | multichannel_signed_distance_field=false 19 | msdf_pixel_range=8 20 | msdf_size=48 21 | allow_system_fallback=true 22 | force_autohinter=false 23 | hinting=1 24 | subpixel_positioning=1 25 | oversampling=0.0 26 | Fallbacks=null 27 | fallbacks=[] 28 | Compress=null 29 | compress=true 30 | preload=[] 31 | language_support={} 32 | script_support={} 33 | opentype_features={} 34 | -------------------------------------------------------------------------------- /Box.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://bepdq6muljl4k" 6 | path="res://.godot/imported/Box.png-029e380f7996de360779b8755098dc02.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://Box.png" 14 | dest_files=["res://.godot/imported/Box.png-029e380f7996de360779b8755098dc02.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /icon.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://baf38nh6jshyb" 6 | path="res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://icon.png" 14 | dest_files=["res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /ButtonUp.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://4wibn5giwk0m" 6 | path="res://.godot/imported/ButtonUp.png-a20e903ea2f88a73f9ed47b8f6383214.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://ButtonUp.png" 14 | dest_files=["res://.godot/imported/ButtonUp.png-a20e903ea2f88a73f9ed47b8f6383214.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /TitleMid.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://cdw807gk5cnej" 6 | path="res://.godot/imported/TitleMid.png-d6067d5c405f3aaadaf84f8a6ecc995a.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://TitleMid.png" 14 | dest_files=["res://.godot/imported/TitleMid.png-d6067d5c405f3aaadaf84f8a6ecc995a.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /TitleOpen.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://brtm8rovaukiv" 6 | path="res://.godot/imported/TitleOpen.png-4d4332dfa971d6ab59b231a0956eae2f.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://TitleOpen.png" 14 | dest_files=["res://.godot/imported/TitleOpen.png-4d4332dfa971d6ab59b231a0956eae2f.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /ButtonDown.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://iwgl1axqd5r0" 6 | path="res://.godot/imported/ButtonDown.png-9235e2138885e6793c7cf21a8755ef68.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://ButtonDown.png" 14 | dest_files=["res://.godot/imported/ButtonDown.png-9235e2138885e6793c7cf21a8755ef68.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /SecondaryWindow.gd: -------------------------------------------------------------------------------- 1 | extends Window 2 | 3 | @export var start_pos := Vector2i(0, 0) 4 | #@export var start_size := Vector2i(1280, 720) 5 | 6 | @onready var camera : Camera2D = $Camera2D 7 | 8 | func _ready(): 9 | var screen := Rect2i( 10 | DisplayServer.screen_get_position(Menu.game_display), 11 | DisplayServer.screen_get_size(Menu.game_display)) 12 | var root := screen.get_center() - Vector2i(1280 / 2, 720 / 2) 13 | 14 | visible = true 15 | close_requested.connect(handle_close) 16 | world_2d = get_tree().get_root().world_2d 17 | position = start_pos + root 18 | canvas_cull_mask = 1 19 | 20 | func _process(delta): 21 | if mode != Window.MODE_WINDOWED: 22 | mode = Window.MODE_WINDOWED 23 | camera.position = Vector2(position) - Main.screen_origin 24 | 25 | func handle_close(): 26 | get_tree().quit() 27 | 28 | func _input(event): 29 | if event.is_action_pressed("Restart"): 30 | get_tree().reload_current_scene() 31 | -------------------------------------------------------------------------------- /TitleClosed.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://bh0o01p40fjt8" 6 | path="res://.godot/imported/TitleClosed.png-f76c07ba9236291371ec1f12355ec2d8.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://TitleClosed.png" 14 | dest_files=["res://.godot/imported/TitleClosed.png-f76c07ba9236291371ec1f12355ec2d8.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /arrow_cross.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://cvbwbh58kc5rg" 6 | path="res://.godot/imported/arrow_cross.png-d9b210cd010c2648483a9c22910498d1.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://arrow_cross.png" 14 | dest_files=["res://.godot/imported/arrow_cross.png-d9b210cd010c2648483a9c22910498d1.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /TabbyRun/frame_00001.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://3wj8qwsne8cf" 6 | path="res://.godot/imported/frame_00001.png-a1167ca2773695ad835a8074b95ddb3d.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://TabbyRun/frame_00001.png" 14 | dest_files=["res://.godot/imported/frame_00001.png-a1167ca2773695ad835a8074b95ddb3d.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /TabbyRun/frame_00002.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://dsyclop8r3n4v" 6 | path="res://.godot/imported/frame_00002.png-522cc70f4020619b3cfc1a2d609563ee.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://TabbyRun/frame_00002.png" 14 | dest_files=["res://.godot/imported/frame_00002.png-522cc70f4020619b3cfc1a2d609563ee.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /TabbyRun/frame_00003.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://bhonyq6b048ev" 6 | path="res://.godot/imported/frame_00003.png-2df67e7700ed1b8b52f6152012ca2f1a.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://TabbyRun/frame_00003.png" 14 | dest_files=["res://.godot/imported/frame_00003.png-2df67e7700ed1b8b52f6152012ca2f1a.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /TabbyRun/frame_00004.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://cqq1b5g4arkd3" 6 | path="res://.godot/imported/frame_00004.png-1d4971233aacaeb7894ff80492b8c395.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://TabbyRun/frame_00004.png" 14 | dest_files=["res://.godot/imported/frame_00004.png-1d4971233aacaeb7894ff80492b8c395.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /TabbyRun/frame_00005.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://cw6vpmn1p8upt" 6 | path="res://.godot/imported/frame_00005.png-ba3d6ce3b070e61f407a38dc3b9e9d0e.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://TabbyRun/frame_00005.png" 14 | dest_files=["res://.godot/imported/frame_00005.png-ba3d6ce3b070e61f407a38dc3b9e9d0e.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /TabbyRun/frame_00006.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://dxt2oflpvyo7m" 6 | path="res://.godot/imported/frame_00006.png-f0c543836f7c15e2c182a168d441a97c.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://TabbyRun/frame_00006.png" 14 | dest_files=["res://.godot/imported/frame_00006.png-f0c543836f7c15e2c182a168d441a97c.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /TabbyRun/frame_00007.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://d02srbo6541ke" 6 | path="res://.godot/imported/frame_00007.png-652d60471c2d279375adaec82f659603.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://TabbyRun/frame_00007.png" 14 | dest_files=["res://.godot/imported/frame_00007.png-652d60471c2d279375adaec82f659603.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /TabbyRun/frame_00008.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://pmhdxble0akp" 6 | path="res://.godot/imported/frame_00008.png-16d5cb324b5511a59dac25cf7bffd2f2.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://TabbyRun/frame_00008.png" 14 | dest_files=["res://.godot/imported/frame_00008.png-16d5cb324b5511a59dac25cf7bffd2f2.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /TabbyIdle/frame_00001.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://caf464ti4svny" 6 | path="res://.godot/imported/frame_00001.png-e5dc8985a367f0d0a3dc230d74f32b4a.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://TabbyIdle/frame_00001.png" 14 | dest_files=["res://.godot/imported/frame_00001.png-e5dc8985a367f0d0a3dc230d74f32b4a.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /TabbyIdle/frame_00005.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://drqnvyyyua4q6" 6 | path="res://.godot/imported/frame_00005.png-1ca83683775eb997883592de573bbcb1.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://TabbyIdle/frame_00005.png" 14 | dest_files=["res://.godot/imported/frame_00005.png-1ca83683775eb997883592de573bbcb1.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /TabbyIdle/frame_00006.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://cwi5610f3pkpl" 6 | path="res://.godot/imported/frame_00006.png-f1ba3b9feac083493698698c709b2367.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://TabbyIdle/frame_00006.png" 14 | dest_files=["res://.godot/imported/frame_00006.png-f1ba3b9feac083493698698c709b2367.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /TabbyIdle/frame_00010.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://dc1bmvx1sewy4" 6 | path="res://.godot/imported/frame_00010.png-c8a28b5796e46c409dd5b6cd98833a42.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://TabbyIdle/frame_00010.png" 14 | dest_files=["res://.godot/imported/frame_00010.png-c8a28b5796e46c409dd5b6cd98833a42.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /TabbyJump/frame_00004.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://bie5lgtdi4oa7" 6 | path="res://.godot/imported/frame_00004.png-732016119ac785fc8300b14bd8b2e41c.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://TabbyJump/frame_00004.png" 14 | dest_files=["res://.godot/imported/frame_00004.png-732016119ac785fc8300b14bd8b2e41c.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /TabbyJump/frame_00005.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://cplanbauka01m" 6 | path="res://.godot/imported/frame_00005.png-39d06dd9f75a77602e38e68f739a7899.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://TabbyJump/frame_00005.png" 14 | dest_files=["res://.godot/imported/frame_00005.png-39d06dd9f75a77602e38e68f739a7899.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /TabbyJump/frame_00007.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://c3l5lb264h83x" 6 | path="res://.godot/imported/frame_00007.png-d01058126a5593bb77e0f8328f578106.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://TabbyJump/frame_00007.png" 14 | dest_files=["res://.godot/imported/frame_00007.png-d01058126a5593bb77e0f8328f578106.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /TabbyJump/frame_00008.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://djph8kkjjsjou" 6 | path="res://.godot/imported/frame_00008.png-061c991897f9e05db463f2ef5b909c2a.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://TabbyJump/frame_00008.png" 14 | dest_files=["res://.godot/imported/frame_00008.png-061c991897f9e05db463f2ef5b909c2a.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /TabbyJump/frame_00009.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://d0v2ehdsl6d5u" 6 | path="res://.godot/imported/frame_00009.png-9978f7338416777e0f0001b90d2def0f.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://TabbyJump/frame_00009.png" 14 | dest_files=["res://.godot/imported/frame_00009.png-9978f7338416777e0f0001b90d2def0f.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /TabbyJump/frame_00010.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://yaogse1gsasi" 6 | path="res://.godot/imported/frame_00010.png-db1ba2e29dffc616760e3aa139161405.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://TabbyJump/frame_00010.png" 14 | dest_files=["res://.godot/imported/frame_00010.png-db1ba2e29dffc616760e3aa139161405.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /TabbyJump/frame_00012.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://bj00hq7oraqof" 6 | path="res://.godot/imported/frame_00012.png-f4a0ea4f3082df5df2344c7799c9939c.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://TabbyJump/frame_00012.png" 14 | dest_files=["res://.godot/imported/frame_00012.png-f4a0ea4f3082df5df2344c7799c9939c.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /TabbyJump/frame_00013.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://dirgf2cjivhb5" 6 | path="res://.godot/imported/frame_00013.png-57a294ec65e6c6c13c398c68816c70d3.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://TabbyJump/frame_00013.png" 14 | dest_files=["res://.godot/imported/frame_00013.png-57a294ec65e6c6c13c398c68816c70d3.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /TabbyJump/frame_00014.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://c4qn3q13irhij" 6 | path="res://.godot/imported/frame_00014.png-a8c4b4144227f48795774f39739e95e3.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://TabbyJump/frame_00014.png" 14 | dest_files=["res://.godot/imported/frame_00014.png-a8c4b4144227f48795774f39739e95e3.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /TabbyJump/frame_00015.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://hj7o8kuq8ijx" 6 | path="res://.godot/imported/frame_00015.png-99be1543498452fd64e2eb2a7c71c406.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://TabbyJump/frame_00015.png" 14 | dest_files=["res://.godot/imported/frame_00015.png-99be1543498452fd64e2eb2a7c71c406.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /arrow_horizontal.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://7yewaju4wb8i" 6 | path="res://.godot/imported/arrow_horizontal.png-d089650f0bada8446e072e262c890ff5.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://arrow_horizontal.png" 14 | dest_files=["res://.godot/imported/arrow_horizontal.png-d089650f0bada8446e072e262c890ff5.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /CropCollision.gd: -------------------------------------------------------------------------------- 1 | extends StaticBody2D 2 | 3 | class_name CropCollision 4 | 5 | @export var window : Window 6 | 7 | var originals : Dictionary 8 | 9 | @onready var win : Window = window if window else get_window() 10 | 11 | func _ready(): 12 | for owner_id in get_shape_owners(): 13 | var pos : Vector2 = shape_owner_get_owner(owner_id).global_position 14 | var shape := shape_owner_get_shape(owner_id, 0) 15 | shape_owner_remove_shape(owner_id, 0) 16 | shape_owner_add_shape(owner_id, shape.duplicate(true)) 17 | originals[owner_id] = Rect2(pos - shape.size / 2.0, shape.size) 18 | 19 | func _physics_process(delta): 20 | for owner_id in get_shape_owners(): 21 | var col : Rect2 = originals[owner_id] 22 | var wrect := Rect2(Vector2(win.position) - Main.screen_origin, win.size) 23 | var res := col.intersection(wrect) 24 | shape_owner_get_shape(owner_id, 0).size = res.size 25 | shape_owner_get_owner(owner_id).global_position = res.get_center() 26 | -------------------------------------------------------------------------------- /Interpane_Tileset.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://c3t53wilvj4av" 6 | path="res://.godot/imported/Interpane_Tileset.png-f2913beeb9dcad445ae43e91dd8b4146.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://Interpane_Tileset.png" 14 | dest_files=["res://.godot/imported/Interpane_Tileset.png-f2913beeb9dcad445ae43e91dd8b4146.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /TabbyVictory/frame_00001.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://cw5a4hqm0ob3e" 6 | path="res://.godot/imported/frame_00001.png-e21f25ffa9f7c76df1a2db89de2c8c37.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://TabbyVictory/frame_00001.png" 14 | dest_files=["res://.godot/imported/frame_00001.png-e21f25ffa9f7c76df1a2db89de2c8c37.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /TabbyVictory/frame_00002.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://dbm361tpyyyw7" 6 | path="res://.godot/imported/frame_00002.png-6a5732e10a1c41675fa762fef233c171.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://TabbyVictory/frame_00002.png" 14 | dest_files=["res://.godot/imported/frame_00002.png-6a5732e10a1c41675fa762fef233c171.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /TabbyVictory/frame_00004.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://chexch2n8002s" 6 | path="res://.godot/imported/frame_00004.png-a527fa88e9a8c88052d386f76c1e42f6.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://TabbyVictory/frame_00004.png" 14 | dest_files=["res://.godot/imported/frame_00004.png-a527fa88e9a8c88052d386f76c1e42f6.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /TabbyVictory/frame_00005.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://bmqo1x5m3x2lk" 6 | path="res://.godot/imported/frame_00005.png-0e1563045d539f866af06d6ba84dbb26.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://TabbyVictory/frame_00005.png" 14 | dest_files=["res://.godot/imported/frame_00005.png-0e1563045d539f866af06d6ba84dbb26.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /TabbyVictory/frame_00006.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://ds3py00j1f6ow" 6 | path="res://.godot/imported/frame_00006.png-a9e636f3079b91a203b63c589f6a347f.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://TabbyVictory/frame_00006.png" 14 | dest_files=["res://.godot/imported/frame_00006.png-a9e636f3079b91a203b63c589f6a347f.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /TabbyVictory/frame_00008.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://3udbxy72jmx" 6 | path="res://.godot/imported/frame_00008.png-58b8644bbe1b6680165d0ae4e877f596.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://TabbyVictory/frame_00008.png" 14 | dest_files=["res://.godot/imported/frame_00008.png-58b8644bbe1b6680165d0ae4e877f596.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /Goal.gd: -------------------------------------------------------------------------------- 1 | extends Area2D 2 | 3 | signal level_complete 4 | 5 | @export var window : Window 6 | 7 | var originals : Dictionary 8 | 9 | @onready var win : Window = window if window else get_window() 10 | 11 | func _ready(): 12 | for owner_id in get_shape_owners(): 13 | var pos : Vector2 = shape_owner_get_owner(owner_id).global_position 14 | var shape := shape_owner_get_shape(owner_id, 0) 15 | shape_owner_remove_shape(owner_id, 0) 16 | shape_owner_add_shape(owner_id, shape.duplicate(true)) 17 | originals[owner_id] = Rect2(pos - shape.size / 2.0, shape.size) 18 | 19 | func _physics_process(delta): 20 | for owner_id in get_shape_owners(): 21 | var col : Rect2 = originals[owner_id] 22 | var wrect := Rect2(Vector2(win.position) - Main.screen_origin, win.size) 23 | var res := col.intersection(wrect) 24 | shape_owner_get_shape(owner_id, 0).size = res.size 25 | shape_owner_get_owner(owner_id).global_position = res.get_center() 26 | 27 | func triggered(body : Node2D): 28 | level_complete.emit() 29 | -------------------------------------------------------------------------------- /Main.gd: -------------------------------------------------------------------------------- 1 | extends Node2D 2 | 3 | class_name Main 4 | 5 | static var screen_origin : Vector2 6 | 7 | @export var start_pos := Vector2i(0, 0) 8 | @export var start_size := Vector2i(1280, 720) 9 | @export var unresizable := false 10 | @export_file var next_level : String 11 | @export var completion_timer := 1.5 12 | 13 | var completed := false 14 | var timer := 0.0 15 | 16 | @onready var camera : Camera2D = $Camera2D 17 | @onready var player : Player = $Player 18 | @onready var confetti : CPUParticles2D = $Confetti 19 | @onready var winsound : AudioStreamPlayer = $WinSound 20 | 21 | # Called when the node enters the scene tree for the first time. 22 | func _ready(): 23 | var win := get_window() 24 | var screen := Rect2i( 25 | DisplayServer.screen_get_position(Menu.game_display), 26 | DisplayServer.screen_get_size(Menu.game_display)) 27 | var root := screen.get_center() - Vector2i(640, 360) 28 | 29 | screen_origin = root 30 | win.position = root + start_pos 31 | win.size = start_size 32 | win.unresizable = unresizable 33 | win.canvas_cull_mask = 1 34 | win.title = "" 35 | MusicPlayer.switch_track(MusicPlayer.Tracks.Stage) 36 | 37 | func _process(_delta): 38 | if get_window().mode != Window.MODE_WINDOWED: 39 | get_window().mode = Window.MODE_WINDOWED 40 | var newpos : Vector2 = get_window().position 41 | camera.position = newpos - screen_origin 42 | 43 | func _physics_process(delta): 44 | Menu.game_timer += delta 45 | if completed: 46 | timer += delta 47 | if timer >= completion_timer: 48 | get_tree().change_scene_to_file(next_level) 49 | 50 | func _input(event): 51 | if event.is_action_pressed("Restart"): 52 | get_tree().reload_current_scene() 53 | 54 | func level_complete(): 55 | if !completed: 56 | completed = true 57 | player.on_victory() 58 | confetti.restart() 59 | winsound.play() 60 | -------------------------------------------------------------------------------- /Menu.gd: -------------------------------------------------------------------------------- 1 | extends Node2D 2 | 3 | class_name Menu 4 | 5 | static var game_display := -1 6 | static var game_timer := 0.0 7 | 8 | const screen_size := Vector2i(1280, 720) 9 | 10 | @export_file("*.tscn") var first_level : String 11 | 12 | var title : String = ProjectSettings.get_setting("application/config/name") 13 | 14 | @onready var overfx : AudioStreamPlayer = $OverFX 15 | @onready var clickfx : AudioStreamPlayer = $ClickFX 16 | @onready var music_bus := AudioServer.get_bus_index("Music") 17 | @onready var sfx_bus := AudioServer.get_bus_index("SFX") 18 | 19 | func _ready(): 20 | var win := get_window() 21 | var screen := Rect2i(DisplayServer.screen_get_position(), DisplayServer.screen_get_size()) 22 | var root := screen.get_center() - (screen_size / 2) 23 | 24 | win.position = root 25 | win.size = screen_size 26 | win.unresizable = true 27 | win.canvas_cull_mask = 1 28 | win.title = title 29 | MusicPlayer.switch_track(MusicPlayer.Tracks.Menu) 30 | 31 | $MusicSlider.value = AudioServer.get_bus_volume_db(music_bus) 32 | $SFXSlider.value = AudioServer.get_bus_volume_db(sfx_bus) 33 | 34 | func _input(event): 35 | if event.is_action_pressed("Restart"): 36 | get_tree().reload_current_scene() 37 | 38 | func on_mouse_over(): 39 | overfx.play() 40 | 41 | func change_music_volume(value : float): 42 | AudioServer.set_bus_volume_db(music_bus, value) 43 | AudioServer.set_bus_mute(music_bus, value <= -30.0) 44 | 45 | func change_sfx_volume(value : float): 46 | AudioServer.set_bus_volume_db(sfx_bus, value) 47 | AudioServer.set_bus_mute(sfx_bus, value <= -30.0) 48 | 49 | func do_play(): 50 | game_display = DisplayServer.window_get_current_screen(get_window().get_window_id()) 51 | game_timer = 0.0 52 | get_tree().change_scene_to_file(first_level) 53 | 54 | func play(): 55 | if clickfx.finished.get_connections().is_empty(): 56 | clickfx.finished.connect(do_play) 57 | clickfx.play() 58 | 59 | func do_quit(): 60 | get_tree().quit() 61 | 62 | func quit(): 63 | if clickfx.finished.get_connections().is_empty(): 64 | clickfx.finished.connect(do_quit) 65 | clickfx.play() 66 | -------------------------------------------------------------------------------- /export_presets.cfg: -------------------------------------------------------------------------------- 1 | [preset.0] 2 | 3 | name="Windows Desktop" 4 | platform="Windows Desktop" 5 | runnable=true 6 | dedicated_server=false 7 | custom_features="" 8 | export_filter="all_resources" 9 | include_filter="" 10 | exclude_filter="" 11 | export_path="../Windows/Interpane.exe" 12 | encryption_include_filters="" 13 | encryption_exclude_filters="" 14 | encrypt_pck=false 15 | encrypt_directory=false 16 | 17 | [preset.0.options] 18 | 19 | custom_template/debug="" 20 | custom_template/release="" 21 | debug/export_console_wrapper=0 22 | binary_format/embed_pck=false 23 | texture_format/bptc=true 24 | texture_format/s3tc=true 25 | texture_format/etc=false 26 | texture_format/etc2=false 27 | binary_format/architecture="x86_64" 28 | codesign/enable=false 29 | codesign/timestamp=true 30 | codesign/timestamp_server_url="" 31 | codesign/digest_algorithm=1 32 | codesign/description="" 33 | codesign/custom_options=PackedStringArray() 34 | application/modify_resources=true 35 | application/icon="" 36 | application/console_wrapper_icon="" 37 | application/icon_interpolation=4 38 | application/file_version="" 39 | application/product_version="" 40 | application/company_name="" 41 | application/product_name="" 42 | application/file_description="" 43 | application/copyright="" 44 | application/trademarks="" 45 | ssh_remote_deploy/enabled=false 46 | ssh_remote_deploy/host="user@host_ip" 47 | ssh_remote_deploy/port="22" 48 | ssh_remote_deploy/extra_args_ssh="" 49 | ssh_remote_deploy/extra_args_scp="" 50 | ssh_remote_deploy/run_script="Expand-Archive -LiteralPath '{temp_dir}\\{archive_name}' -DestinationPath '{temp_dir}' 51 | $action = New-ScheduledTaskAction -Execute '{temp_dir}\\{exe_name}' -Argument '{cmd_args}' 52 | $trigger = New-ScheduledTaskTrigger -Once -At 00:00 53 | $settings = New-ScheduledTaskSettingsSet 54 | $task = New-ScheduledTask -Action $action -Trigger $trigger -Settings $settings 55 | Register-ScheduledTask godot_remote_debug -InputObject $task -Force:$true 56 | Start-ScheduledTask -TaskName godot_remote_debug 57 | while (Get-ScheduledTask -TaskName godot_remote_debug | ? State -eq running) { Start-Sleep -Milliseconds 100 } 58 | Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue" 59 | ssh_remote_deploy/cleanup_script="Stop-ScheduledTask -TaskName godot_remote_debug -ErrorAction:SilentlyContinue 60 | Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue 61 | Remove-Item -Recurse -Force '{temp_dir}'" 62 | -------------------------------------------------------------------------------- /Player.gd: -------------------------------------------------------------------------------- 1 | extends CharacterBody2D 2 | 3 | class_name Player 4 | 5 | const SPEED := 350.0 6 | const JUMP_VELOCITY := -550.0 7 | const WORLD_END := 800.0 8 | const END_DECEL := 60.0 9 | 10 | @export var is_victory := false 11 | @export var respawn_timer := 0.6 12 | @export var hshift := 4.0 13 | @export var footstep_time := 0.33 14 | 15 | # Get the gravity from the project settings to be synced with RigidBody nodes. 16 | var gravity : float = ProjectSettings.get_setting("physics/2d/default_gravity") 17 | var timer := 0.0 18 | var ft_timer := footstep_time 19 | var controllable := true 20 | 21 | @onready var sprite : AnimatedSprite2D = $AnimatedSprite2D 22 | @onready var footsteps : AudioStreamPlayer = $Footsteps 23 | 24 | func _physics_process(delta): 25 | if controllable and !is_victory and position.y > WORLD_END: 26 | timer += delta 27 | if timer >= respawn_timer: 28 | get_tree().reload_current_scene() 29 | 30 | # Add the gravity. 31 | if not is_on_floor(): 32 | velocity.y += gravity * delta 33 | 34 | if controllable: 35 | # Handle Jump. 36 | if Input.is_action_just_pressed("Jump") and is_on_floor(): 37 | velocity.y = JUMP_VELOCITY 38 | 39 | # Get the input direction and handle the movement/deceleration. 40 | var direction = Input.get_axis("Left", "Right") 41 | velocity.x = direction * SPEED 42 | 43 | if direction < 0.0: 44 | sprite.flip_h = true 45 | sprite.position.x = -hshift 46 | elif direction > 0.0: 47 | sprite.flip_h = false 48 | sprite.position.x = 0.0 49 | 50 | ft_timer += delta 51 | if is_on_floor(): 52 | if abs(direction) > 0.0: 53 | if sprite.animation != "Walk": 54 | sprite.play("Walk") 55 | if ft_timer >= footstep_time and is_on_floor(): 56 | ft_timer = 0.0 57 | footsteps.play() 58 | else: 59 | if is_victory and Input.is_action_just_pressed("Dance"): 60 | if sprite.animation != "Victory": 61 | sprite.play("Victory") 62 | else: 63 | sprite.play("Idle") 64 | elif sprite.animation != "JumpLand" and sprite.animation != "Idle" \ 65 | and sprite.animation != "Victory": 66 | if sprite.animation.begins_with("Jump"): 67 | sprite.play("JumpLand") 68 | else: 69 | sprite.play("Idle") 70 | else: 71 | if velocity.y < 0.0: 72 | if sprite.animation != "JumpRise": 73 | sprite.play("JumpRise") 74 | else: 75 | if sprite.animation != "JumpTransition" and sprite.animation != "JumpFall": 76 | sprite.play("JumpTransition") 77 | else: 78 | if velocity.x > 0.0: 79 | velocity.x = max(velocity.x - END_DECEL, 0.0) 80 | elif velocity.x < 0.0: 81 | velocity.x = min(velocity.x + END_DECEL, 0.0) 82 | 83 | var has_col := move_and_slide() 84 | if has_col: 85 | for i in get_slide_collision_count(): 86 | var col := get_slide_collision(i) 87 | if col.get_collider() is RigidBody2D: 88 | col.get_collider().move_and_collide(Vector2(col.get_remainder().x, 0.0)) 89 | 90 | func on_victory(): 91 | controllable = false 92 | sprite.play("Victory") 93 | 94 | func animation_next(): 95 | match sprite.animation: 96 | "JumpTransition": 97 | sprite.play("JumpFall") 98 | "JumpLand": 99 | sprite.play("Idle") 100 | -------------------------------------------------------------------------------- /Victory.gd: -------------------------------------------------------------------------------- 1 | extends Node2D 2 | 3 | const screen_size := Vector2i(1280, 720) 4 | const screen_pad := 200.0 5 | 6 | @export_file("*.tscn") var menu_scene : String 7 | 8 | var title : String = ProjectSettings.get_setting("application/config/name") 9 | 10 | @onready var overfx : AudioStreamPlayer = $OverFX 11 | @onready var clickfx : AudioStreamPlayer = $ClickFX 12 | @onready var music_bus := AudioServer.get_bus_index("Music") 13 | @onready var sfx_bus := AudioServer.get_bus_index("SFX") 14 | @onready var winbox : StaticBody2D = $WindowBox 15 | @onready var scrnbox : StaticBody2D = $ScreenBox 16 | 17 | func _ready(): 18 | var win := get_window() 19 | var screen := Rect2i( 20 | DisplayServer.screen_get_position(Menu.game_display), 21 | DisplayServer.screen_get_size(Menu.game_display)) 22 | var root := screen.get_center() - Vector2i(640, 360) 23 | 24 | Main.screen_origin = root 25 | win.position = root 26 | win.size = screen_size 27 | win.unresizable = true 28 | win.canvas_cull_mask = 1 29 | win.title = title 30 | MusicPlayer.switch_track(MusicPlayer.Tracks.Victory) 31 | 32 | $MusicSlider.value = AudioServer.get_bus_volume_db(music_bus) 33 | $SFXSlider.value = AudioServer.get_bus_volume_db(sfx_bus) 34 | 35 | var boxid := winbox.get_shape_owners()[0] 36 | var boxshape := winbox.shape_owner_get_shape(boxid, 0) 37 | winbox.shape_owner_remove_shape(boxid, 0) 38 | winbox.shape_owner_add_shape(boxid, boxshape.duplicate(true)) 39 | 40 | var visscreen : Rect2 = DisplayServer.screen_get_usable_rect(Menu.game_display) 41 | var viscenter := visscreen.get_center() 42 | var scrnids := scrnbox.get_shape_owners() 43 | for i in 4: 44 | var obj := scrnbox.shape_owner_get_owner(scrnids[i]) 45 | var shape := scrnbox.shape_owner_get_shape(scrnids[i], 0) 46 | match i: 47 | 0: 48 | shape.size = Vector2(visscreen.size.x + screen_pad * 2.0, screen_pad) 49 | obj.position = Vector2(viscenter.x, visscreen.position.y - screen_pad / 2.0) - Vector2(root) 50 | 1: 51 | shape.size = Vector2(visscreen.size.x + screen_pad * 2.0, screen_pad) 52 | obj.position = Vector2(viscenter.x, visscreen.end.y + screen_pad / 2.0) - Vector2(root) 53 | 2: 54 | shape.size = Vector2(screen_pad, visscreen.size.y) 55 | obj.position = Vector2(visscreen.position.x - screen_pad / 2.0, viscenter.y) - Vector2(root) 56 | 3: 57 | shape.size = Vector2(screen_pad, visscreen.size.y) 58 | obj.position = Vector2(visscreen.end.x + screen_pad / 2.0, viscenter.y) - Vector2(root) 59 | 60 | $Time.text = "in %.02f seconds" % Menu.game_timer 61 | 62 | func _process(_delta): 63 | var win := get_window() 64 | if win.mode != Window.MODE_WINDOWED: 65 | win.mode = Window.MODE_WINDOWED 66 | 67 | var boxid := winbox.get_shape_owners()[0] 68 | var box := winbox.shape_owner_get_owner(boxid) 69 | var boxshape := winbox.shape_owner_get_shape(boxid, 0) 70 | boxshape.size = win.size 71 | box.position = Vector2(win.position) - Main.screen_origin 72 | 73 | func _input(event): 74 | if event.is_action_pressed("Restart"): 75 | get_tree().reload_current_scene() 76 | 77 | func on_mouse_over(): 78 | overfx.play() 79 | 80 | func change_music_volume(value : float): 81 | AudioServer.set_bus_volume_db(music_bus, value) 82 | AudioServer.set_bus_mute(music_bus, value <= -30.0) 83 | 84 | func change_sfx_volume(value : float): 85 | AudioServer.set_bus_volume_db(sfx_bus, value) 86 | AudioServer.set_bus_mute(sfx_bus, value <= -30.0) 87 | 88 | func do_menu(): 89 | get_tree().change_scene_to_file(menu_scene) 90 | 91 | func menu(): 92 | if clickfx.finished.get_connections().is_empty(): 93 | clickfx.finished.connect(do_menu) 94 | clickfx.play() 95 | -------------------------------------------------------------------------------- /project.godot: -------------------------------------------------------------------------------- 1 | ; Engine configuration file. 2 | ; It's best edited using the editor UI and not directly, 3 | ; since the parameters that go here are not all obvious. 4 | ; 5 | ; Format: 6 | ; [section] ; section goes between [] 7 | ; param=value ; assign values to parameters 8 | 9 | config_version=5 10 | 11 | [application] 12 | 13 | config/name="Interpane" 14 | run/main_scene="res://Menu.tscn" 15 | config/features=PackedStringArray("4.1", "GL Compatibility") 16 | config/icon="res://icon.png" 17 | 18 | [autoload] 19 | 20 | MusicPlayer="*res://MusicPlayer.gd" 21 | 22 | [display] 23 | 24 | window/size/viewport_width=1280 25 | window/size/viewport_height=720 26 | window/size/resizable=false 27 | window/subwindows/embed_subwindows=false 28 | window/stretch/aspect="ignore" 29 | window/per_pixel_transparency/allowed=true 30 | 31 | [input] 32 | 33 | Left={ 34 | "deadzone": 0.5, 35 | "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":97,"echo":false,"script":null) 36 | , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"echo":false,"script":null) 37 | ] 38 | } 39 | Right={ 40 | "deadzone": 0.5, 41 | "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":68,"physical_keycode":68,"key_label":68,"unicode":100,"echo":false,"script":null) 42 | , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"echo":false,"script":null) 43 | ] 44 | } 45 | Jump={ 46 | "deadzone": 0.5, 47 | "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":119,"echo":false,"script":null) 48 | , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"echo":false,"script":null) 49 | , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"echo":false,"script":null) 50 | ] 51 | } 52 | Restart={ 53 | "deadzone": 0.5, 54 | "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":82,"key_label":0,"unicode":114,"echo":false,"script":null) 55 | ] 56 | } 57 | Dance={ 58 | "deadzone": 0.5, 59 | "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":115,"echo":false,"script":null) 60 | , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"echo":false,"script":null) 61 | ] 62 | } 63 | 64 | [layer_names] 65 | 66 | 2d_render/layer_1="World" 67 | 2d_render/layer_2="Entities" 68 | 2d_render/layer_3="Player" 69 | 70 | [rendering] 71 | 72 | renderer/rendering_method="mobile" 73 | renderer/rendering_method.mobile="gl_compatibility" 74 | environment/defaults/default_clear_color=Color(0.376471, 0.376471, 0.486275, 1) 75 | -------------------------------------------------------------------------------- /Menu.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=12 format=3 uid="uid://r07tdwaoai1c"] 2 | 3 | [ext_resource type="Script" path="res://Menu.gd" id="1_agiun"] 4 | [ext_resource type="Texture2D" uid="uid://cdw807gk5cnej" path="res://TitleMid.png" id="3_0snvb"] 5 | [ext_resource type="FontFile" uid="uid://dxganxrvafv3u" path="res://Tektur-Medium.ttf" id="3_dhagq"] 6 | [ext_resource type="Texture2D" uid="uid://brtm8rovaukiv" path="res://TitleOpen.png" id="3_meknp"] 7 | [ext_resource type="Texture2D" uid="uid://bh0o01p40fjt8" path="res://TitleClosed.png" id="4_4at7i"] 8 | [ext_resource type="AudioStream" uid="uid://b1q3yoi54ltg8" path="res://click4.ogg" id="6_ag7m3"] 9 | [ext_resource type="AudioStream" uid="uid://23mubqsqyq1f" path="res://click3.ogg" id="7_yb4fb"] 10 | 11 | [sub_resource type="SpriteFrames" id="SpriteFrames_xs3en"] 12 | animations = [{ 13 | "frames": [{ 14 | "duration": 114.0, 15 | "texture": ExtResource("3_meknp") 16 | }, { 17 | "duration": 1.0, 18 | "texture": ExtResource("3_0snvb") 19 | }, { 20 | "duration": 4.0, 21 | "texture": ExtResource("4_4at7i") 22 | }, { 23 | "duration": 1.0, 24 | "texture": ExtResource("3_0snvb") 25 | }], 26 | "loop": true, 27 | "name": &"default", 28 | "speed": 30.0 29 | }] 30 | 31 | [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_qvoad"] 32 | content_margin_top = 8.0 33 | content_margin_bottom = 8.0 34 | bg_color = Color(0, 0, 0, 1) 35 | corner_radius_top_left = 8 36 | corner_radius_top_right = 8 37 | corner_radius_bottom_right = 8 38 | corner_radius_bottom_left = 8 39 | 40 | [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_306pv"] 41 | bg_color = Color(0.695313, 0.695313, 0.695313, 1) 42 | corner_radius_top_left = 8 43 | corner_radius_top_right = 8 44 | corner_radius_bottom_right = 8 45 | corner_radius_bottom_left = 8 46 | expand_margin_right = 8.0 47 | 48 | [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_bvhti"] 49 | bg_color = Color(0.695313, 0.695313, 0.695313, 1) 50 | corner_radius_top_left = 8 51 | corner_radius_top_right = 8 52 | corner_radius_bottom_right = 8 53 | corner_radius_bottom_left = 8 54 | expand_margin_right = 8.0 55 | 56 | [node name="Menu" type="Node2D"] 57 | script = ExtResource("1_agiun") 58 | first_level = "res://Level1.tscn" 59 | 60 | [node name="AnimatedBG" type="AnimatedSprite2D" parent="."] 61 | sprite_frames = SubResource("SpriteFrames_xs3en") 62 | autoplay = "default" 63 | frame_progress = 0.0997229 64 | centered = false 65 | 66 | [node name="Title" type="Label" parent="."] 67 | offset_top = 36.0 68 | offset_right = 1280.0 69 | offset_bottom = 247.0 70 | theme_override_colors/font_color = Color(0.188235, 0.188235, 0.25098, 1) 71 | theme_override_fonts/font = ExtResource("3_dhagq") 72 | theme_override_font_sizes/font_size = 160 73 | text = "Interpane" 74 | horizontal_alignment = 1 75 | 76 | [node name="Play" type="Button" parent="."] 77 | offset_left = 480.0 78 | offset_top = 288.0 79 | offset_right = 800.0 80 | offset_bottom = 432.0 81 | theme_override_fonts/font = ExtResource("3_dhagq") 82 | theme_override_font_sizes/font_size = 96 83 | text = "Play" 84 | 85 | [node name="Quit" type="Button" parent="."] 86 | offset_left = 480.0 87 | offset_top = 468.0 88 | offset_right = 800.0 89 | offset_bottom = 612.0 90 | theme_override_fonts/font = ExtResource("3_dhagq") 91 | theme_override_font_sizes/font_size = 96 92 | text = "Quit" 93 | 94 | [node name="Credits" type="Label" parent="."] 95 | offset_left = 16.0 96 | offset_top = 680.0 97 | offset_right = 1264.0 98 | offset_bottom = 725.0 99 | theme_override_colors/font_color = Color(0.188235, 0.188235, 0.25098, 1) 100 | theme_override_fonts/font = ExtResource("3_dhagq") 101 | theme_override_font_sizes/font_size = 32 102 | text = "Created by LRFLEW and Mypetblackie" 103 | horizontal_alignment = 2 104 | 105 | [node name="OverFX" type="AudioStreamPlayer" parent="."] 106 | stream = ExtResource("6_ag7m3") 107 | bus = &"SFX" 108 | 109 | [node name="ClickFX" type="AudioStreamPlayer" parent="."] 110 | stream = ExtResource("7_yb4fb") 111 | volume_db = 6.0 112 | bus = &"SFX" 113 | 114 | [node name="MusicLabel" type="Label" parent="."] 115 | offset_left = 80.0 116 | offset_top = 468.0 117 | offset_right = 320.0 118 | offset_bottom = 513.0 119 | theme_override_colors/font_color = Color(0.188235, 0.188235, 0.25098, 1) 120 | theme_override_fonts/font = ExtResource("3_dhagq") 121 | theme_override_font_sizes/font_size = 32 122 | text = "Music Volume" 123 | horizontal_alignment = 1 124 | 125 | [node name="MusicSlider" type="HSlider" parent="."] 126 | offset_left = 80.0 127 | offset_top = 516.0 128 | offset_right = 320.0 129 | offset_bottom = 532.0 130 | theme_override_styles/slider = SubResource("StyleBoxFlat_qvoad") 131 | theme_override_styles/grabber_area = SubResource("StyleBoxFlat_306pv") 132 | theme_override_styles/grabber_area_highlight = SubResource("StyleBoxFlat_bvhti") 133 | min_value = -30.0 134 | max_value = 0.0 135 | step = 0.125 136 | scrollable = false 137 | 138 | [node name="SFXLabel" type="Label" parent="."] 139 | offset_left = 80.0 140 | offset_top = 548.0 141 | offset_right = 320.0 142 | offset_bottom = 593.0 143 | theme_override_colors/font_color = Color(0.188235, 0.188235, 0.25098, 1) 144 | theme_override_fonts/font = ExtResource("3_dhagq") 145 | theme_override_font_sizes/font_size = 32 146 | text = "SFX Volume" 147 | horizontal_alignment = 1 148 | 149 | [node name="SFXSlider" type="HSlider" parent="."] 150 | offset_left = 80.0 151 | offset_top = 596.0 152 | offset_right = 320.0 153 | offset_bottom = 612.0 154 | theme_override_styles/slider = SubResource("StyleBoxFlat_qvoad") 155 | theme_override_styles/grabber_area = SubResource("StyleBoxFlat_306pv") 156 | theme_override_styles/grabber_area_highlight = SubResource("StyleBoxFlat_bvhti") 157 | min_value = -30.0 158 | max_value = 0.0 159 | step = 0.125 160 | scrollable = false 161 | 162 | [connection signal="mouse_entered" from="Play" to="." method="on_mouse_over"] 163 | [connection signal="pressed" from="Play" to="." method="play"] 164 | [connection signal="mouse_entered" from="Quit" to="." method="on_mouse_over"] 165 | [connection signal="pressed" from="Quit" to="." method="quit"] 166 | [connection signal="value_changed" from="MusicSlider" to="." method="change_music_volume"] 167 | [connection signal="value_changed" from="SFXSlider" to="." method="change_sfx_volume"] 168 | -------------------------------------------------------------------------------- /Victory.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=14 format=3 uid="uid://n0my54kni238"] 2 | 3 | [ext_resource type="Script" path="res://Victory.gd" id="1_rbo3v"] 4 | [ext_resource type="FontFile" uid="uid://dxganxrvafv3u" path="res://Tektur-Medium.ttf" id="2_1jvf5"] 5 | [ext_resource type="PackedScene" uid="uid://cagdfcj2kex1f" path="res://Player.tscn" id="3_3musq"] 6 | [ext_resource type="AudioStream" uid="uid://b1q3yoi54ltg8" path="res://click4.ogg" id="3_tjy2f"] 7 | [ext_resource type="AudioStream" uid="uid://23mubqsqyq1f" path="res://click3.ogg" id="4_eh1ei"] 8 | 9 | [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_fvtva"] 10 | content_margin_top = 8.0 11 | content_margin_bottom = 8.0 12 | bg_color = Color(0, 0, 0, 1) 13 | corner_radius_top_left = 8 14 | corner_radius_top_right = 8 15 | corner_radius_bottom_right = 8 16 | corner_radius_bottom_left = 8 17 | 18 | [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_rn0mg"] 19 | bg_color = Color(0.695313, 0.695313, 0.695313, 1) 20 | corner_radius_top_left = 8 21 | corner_radius_top_right = 8 22 | corner_radius_bottom_right = 8 23 | corner_radius_bottom_left = 8 24 | expand_margin_right = 8.0 25 | 26 | [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_20j13"] 27 | bg_color = Color(0.695313, 0.695313, 0.695313, 1) 28 | corner_radius_top_left = 8 29 | corner_radius_top_right = 8 30 | corner_radius_bottom_right = 8 31 | corner_radius_bottom_left = 8 32 | expand_margin_right = 8.0 33 | 34 | [sub_resource type="RectangleShape2D" id="RectangleShape2D_d3qco"] 35 | size = Vector2(1280, 720) 36 | 37 | [sub_resource type="RectangleShape2D" id="RectangleShape2D_f61tb"] 38 | size = Vector2(0, 0) 39 | 40 | [sub_resource type="RectangleShape2D" id="RectangleShape2D_mb1pd"] 41 | size = Vector2(0, 0) 42 | 43 | [sub_resource type="RectangleShape2D" id="RectangleShape2D_m2kgm"] 44 | size = Vector2(0, 0) 45 | 46 | [sub_resource type="RectangleShape2D" id="RectangleShape2D_g4vyt"] 47 | size = Vector2(0, 0) 48 | 49 | [node name="Victory" type="Node2D"] 50 | visibility_layer = 7 51 | script = ExtResource("1_rbo3v") 52 | menu_scene = "res://Menu.tscn" 53 | 54 | [node name="Congratulations" type="Label" parent="."] 55 | offset_right = 1280.0 56 | offset_bottom = 135.0 57 | theme_override_fonts/font = ExtResource("2_1jvf5") 58 | theme_override_font_sizes/font_size = 128 59 | text = "Congratulations" 60 | horizontal_alignment = 1 61 | 62 | [node name="Complete" type="Label" parent="."] 63 | offset_top = 228.0 64 | offset_right = 1280.0 65 | offset_bottom = 363.0 66 | theme_override_fonts/font = ExtResource("2_1jvf5") 67 | theme_override_font_sizes/font_size = 96 68 | text = "You completed the game" 69 | horizontal_alignment = 1 70 | 71 | [node name="Time" type="Label" parent="."] 72 | offset_top = 356.0 73 | offset_right = 1280.0 74 | offset_bottom = 491.0 75 | theme_override_fonts/font = ExtResource("2_1jvf5") 76 | theme_override_font_sizes/font_size = 96 77 | text = "in XX.XX seconds" 78 | horizontal_alignment = 1 79 | 80 | [node name="Menu" type="Button" parent="."] 81 | offset_left = 465.0 82 | offset_top = 531.0 83 | offset_right = 825.0 84 | offset_bottom = 675.0 85 | theme_override_fonts/font = ExtResource("2_1jvf5") 86 | theme_override_font_sizes/font_size = 96 87 | text = "Menu" 88 | 89 | [node name="OverFX" type="AudioStreamPlayer" parent="."] 90 | stream = ExtResource("3_tjy2f") 91 | bus = &"SFX" 92 | 93 | [node name="ClickFX" type="AudioStreamPlayer" parent="."] 94 | stream = ExtResource("4_eh1ei") 95 | volume_db = 6.0 96 | bus = &"SFX" 97 | 98 | [node name="MusicLabel" type="Label" parent="."] 99 | offset_left = 80.0 100 | offset_top = 531.0 101 | offset_right = 320.0 102 | offset_bottom = 576.0 103 | theme_override_fonts/font = ExtResource("2_1jvf5") 104 | theme_override_font_sizes/font_size = 32 105 | text = "Music Volume" 106 | horizontal_alignment = 1 107 | 108 | [node name="MusicSlider" type="HSlider" parent="."] 109 | offset_left = 80.0 110 | offset_top = 579.0 111 | offset_right = 320.0 112 | offset_bottom = 595.0 113 | theme_override_styles/slider = SubResource("StyleBoxFlat_fvtva") 114 | theme_override_styles/grabber_area = SubResource("StyleBoxFlat_rn0mg") 115 | theme_override_styles/grabber_area_highlight = SubResource("StyleBoxFlat_20j13") 116 | min_value = -30.0 117 | max_value = 0.0 118 | step = 0.125 119 | scrollable = false 120 | 121 | [node name="SFXLabel" type="Label" parent="."] 122 | offset_left = 80.0 123 | offset_top = 611.0 124 | offset_right = 320.0 125 | offset_bottom = 656.0 126 | theme_override_fonts/font = ExtResource("2_1jvf5") 127 | theme_override_font_sizes/font_size = 32 128 | text = "SFX Volume" 129 | horizontal_alignment = 1 130 | 131 | [node name="SFXSlider" type="HSlider" parent="."] 132 | offset_left = 80.0 133 | offset_top = 659.0 134 | offset_right = 320.0 135 | offset_bottom = 675.0 136 | theme_override_styles/slider = SubResource("StyleBoxFlat_fvtva") 137 | theme_override_styles/grabber_area = SubResource("StyleBoxFlat_rn0mg") 138 | theme_override_styles/grabber_area_highlight = SubResource("StyleBoxFlat_20j13") 139 | min_value = -30.0 140 | max_value = 0.0 141 | step = 0.125 142 | scrollable = false 143 | 144 | [node name="WindowBox" type="StaticBody2D" parent="."] 145 | position = Vector2(640, 360) 146 | collision_layer = 7 147 | collision_mask = 7 148 | 149 | [node name="CollisionShape2D" type="CollisionShape2D" parent="WindowBox"] 150 | shape = SubResource("RectangleShape2D_d3qco") 151 | 152 | [node name="ScreenBox" type="StaticBody2D" parent="."] 153 | 154 | [node name="CollisionShape2D" type="CollisionShape2D" parent="ScreenBox"] 155 | shape = SubResource("RectangleShape2D_f61tb") 156 | 157 | [node name="CollisionShape2D2" type="CollisionShape2D" parent="ScreenBox"] 158 | shape = SubResource("RectangleShape2D_mb1pd") 159 | 160 | [node name="CollisionShape2D3" type="CollisionShape2D" parent="ScreenBox"] 161 | shape = SubResource("RectangleShape2D_m2kgm") 162 | 163 | [node name="CollisionShape2D4" type="CollisionShape2D" parent="ScreenBox"] 164 | shape = SubResource("RectangleShape2D_g4vyt") 165 | 166 | [node name="Player" parent="." instance=ExtResource("3_3musq")] 167 | position = Vector2(588, -132) 168 | is_victory = true 169 | 170 | [connection signal="mouse_entered" from="Menu" to="." method="on_mouse_over"] 171 | [connection signal="pressed" from="Menu" to="." method="menu"] 172 | [connection signal="value_changed" from="MusicSlider" to="." method="change_music_volume"] 173 | [connection signal="value_changed" from="SFXSlider" to="." method="change_sfx_volume"] 174 | -------------------------------------------------------------------------------- /LevelTileset.tres: -------------------------------------------------------------------------------- 1 | [gd_resource type="TileSet" load_steps=3 format=3 uid="uid://codqxp3pqyrh8"] 2 | 3 | [ext_resource type="Texture2D" uid="uid://c3t53wilvj4av" path="res://Interpane_Tileset.png" id="1_o7ucx"] 4 | 5 | [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_arq0r"] 6 | texture = ExtResource("1_o7ucx") 7 | texture_region_size = Vector2i(36, 36) 8 | 0:0/0 = 0 9 | 0:0/0/terrain_set = 0 10 | 0:0/0/terrain = 0 11 | 1:0/0 = 0 12 | 1:0/0/terrain_set = 0 13 | 1:0/0/terrain = 0 14 | 1:0/0/terrains_peering_bit/right_side = 0 15 | 2:0/0 = 0 16 | 2:0/0/terrain_set = 0 17 | 2:0/0/terrain = 0 18 | 2:0/0/terrains_peering_bit/right_side = 0 19 | 2:0/0/terrains_peering_bit/left_side = 0 20 | 3:0/0 = 0 21 | 3:0/0/terrain_set = 0 22 | 3:0/0/terrain = 0 23 | 3:0/0/terrains_peering_bit/right_side = 0 24 | 3:0/0/terrains_peering_bit/left_side = 0 25 | 4:0/0 = 0 26 | 4:0/0/terrain_set = 0 27 | 4:0/0/terrain = 0 28 | 4:0/0/terrains_peering_bit/left_side = 0 29 | 5:0/0 = 0 30 | 0:1/0 = 0 31 | 0:1/0/terrain_set = 0 32 | 0:1/0/terrain = 0 33 | 0:1/0/terrains_peering_bit/bottom_side = 0 34 | 1:1/0 = 0 35 | 1:1/0/terrain_set = 0 36 | 1:1/0/terrain = 0 37 | 1:1/0/terrains_peering_bit/right_side = 0 38 | 1:1/0/terrains_peering_bit/bottom_side = 0 39 | 2:1/0 = 0 40 | 2:1/0/terrain_set = 0 41 | 2:1/0/terrain = 0 42 | 2:1/0/terrains_peering_bit/right_side = 0 43 | 2:1/0/terrains_peering_bit/bottom_side = 0 44 | 2:1/0/terrains_peering_bit/left_side = 0 45 | 3:1/0 = 0 46 | 3:1/0/terrain_set = 0 47 | 3:1/0/terrain = 0 48 | 3:1/0/terrains_peering_bit/right_side = 0 49 | 3:1/0/terrains_peering_bit/bottom_side = 0 50 | 3:1/0/terrains_peering_bit/left_side = 0 51 | 4:1/0 = 0 52 | 4:1/0/terrain_set = 0 53 | 4:1/0/terrain = 0 54 | 4:1/0/terrains_peering_bit/bottom_side = 0 55 | 4:1/0/terrains_peering_bit/left_side = 0 56 | 5:1/0 = 0 57 | 0:2/0 = 0 58 | 0:2/0/terrain_set = 0 59 | 0:2/0/terrain = 0 60 | 0:2/0/terrains_peering_bit/bottom_side = 0 61 | 0:2/0/terrains_peering_bit/top_side = 0 62 | 1:2/0 = 0 63 | 1:2/0/terrain_set = 0 64 | 1:2/0/terrain = 0 65 | 1:2/0/terrains_peering_bit/right_side = 0 66 | 1:2/0/terrains_peering_bit/bottom_side = 0 67 | 1:2/0/terrains_peering_bit/top_side = 0 68 | 2:2/0 = 0 69 | 2:2/0/terrain_set = 0 70 | 2:2/0/terrain = 0 71 | 2:2/0/terrains_peering_bit/right_side = 0 72 | 2:2/0/terrains_peering_bit/bottom_side = 0 73 | 2:2/0/terrains_peering_bit/left_side = 0 74 | 2:2/0/terrains_peering_bit/top_side = 0 75 | 3:2/0 = 0 76 | 3:2/0/terrain_set = 0 77 | 3:2/0/terrain = 0 78 | 3:2/0/terrains_peering_bit/right_side = 0 79 | 3:2/0/terrains_peering_bit/bottom_side = 0 80 | 3:2/0/terrains_peering_bit/left_side = 0 81 | 3:2/0/terrains_peering_bit/top_side = 0 82 | 4:2/0 = 0 83 | 4:2/0/terrain_set = 0 84 | 4:2/0/terrain = 0 85 | 4:2/0/terrains_peering_bit/bottom_side = 0 86 | 4:2/0/terrains_peering_bit/left_side = 0 87 | 4:2/0/terrains_peering_bit/top_side = 0 88 | 5:2/0 = 0 89 | 0:3/0 = 0 90 | 0:3/0/terrain_set = 0 91 | 0:3/0/terrain = 0 92 | 0:3/0/terrains_peering_bit/top_side = 0 93 | 1:3/0 = 0 94 | 1:3/0/terrain_set = 0 95 | 1:3/0/terrain = 0 96 | 1:3/0/terrains_peering_bit/right_side = 0 97 | 1:3/0/terrains_peering_bit/top_side = 0 98 | 2:3/0 = 0 99 | 2:3/0/terrain_set = 0 100 | 2:3/0/terrain = 0 101 | 2:3/0/terrains_peering_bit/right_side = 0 102 | 2:3/0/terrains_peering_bit/left_side = 0 103 | 2:3/0/terrains_peering_bit/top_side = 0 104 | 3:3/0 = 0 105 | 3:3/0/terrain_set = 0 106 | 3:3/0/terrain = 0 107 | 3:3/0/terrains_peering_bit/right_side = 0 108 | 3:3/0/terrains_peering_bit/left_side = 0 109 | 3:3/0/terrains_peering_bit/top_side = 0 110 | 4:3/0 = 0 111 | 4:3/0/terrain_set = 0 112 | 4:3/0/terrain = 0 113 | 4:3/0/terrains_peering_bit/left_side = 0 114 | 4:3/0/terrains_peering_bit/top_side = 0 115 | 5:3/0 = 0 116 | 0:4/0 = 0 117 | 0:4/0/terrain_set = 0 118 | 0:4/0/terrain = 1 119 | 1:4/0 = 0 120 | 1:4/0/terrain_set = 0 121 | 1:4/0/terrain = 1 122 | 1:4/0/terrains_peering_bit/right_side = 1 123 | 2:4/0 = 0 124 | 2:4/0/terrain_set = 0 125 | 2:4/0/terrain = 1 126 | 2:4/0/terrains_peering_bit/right_side = 1 127 | 2:4/0/terrains_peering_bit/left_side = 1 128 | 3:4/0 = 0 129 | 3:4/0/terrain_set = 0 130 | 3:4/0/terrain = 1 131 | 3:4/0/terrains_peering_bit/right_side = 1 132 | 3:4/0/terrains_peering_bit/left_side = 1 133 | 4:4/0 = 0 134 | 4:4/0/terrain_set = 0 135 | 4:4/0/terrain = 1 136 | 4:4/0/terrains_peering_bit/left_side = 1 137 | 5:4/0 = 0 138 | 0:5/0 = 0 139 | 0:5/0/terrain_set = 0 140 | 0:5/0/terrain = 1 141 | 0:5/0/terrains_peering_bit/top_side = 1 142 | 1:5/0 = 0 143 | 1:5/0/terrain_set = 0 144 | 1:5/0/terrain = 1 145 | 1:5/0/terrains_peering_bit/right_side = 1 146 | 1:5/0/terrains_peering_bit/bottom_side = 1 147 | 2:5/0 = 0 148 | 2:5/0/terrain_set = 0 149 | 2:5/0/terrain = 1 150 | 2:5/0/terrains_peering_bit/right_side = 1 151 | 2:5/0/terrains_peering_bit/bottom_side = 1 152 | 2:5/0/terrains_peering_bit/left_side = 1 153 | 3:5/0 = 0 154 | 3:5/0/terrain_set = 0 155 | 3:5/0/terrain = 1 156 | 3:5/0/terrains_peering_bit/right_side = 1 157 | 3:5/0/terrains_peering_bit/bottom_side = 1 158 | 3:5/0/terrains_peering_bit/left_side = 1 159 | 4:5/0 = 0 160 | 4:5/0/terrain_set = 0 161 | 4:5/0/terrain = 1 162 | 4:5/0/terrains_peering_bit/bottom_side = 1 163 | 4:5/0/terrains_peering_bit/left_side = 1 164 | 5:5/0 = 0 165 | 0:6/0 = 0 166 | 0:6/0/terrain_set = 0 167 | 0:6/0/terrain = 1 168 | 0:6/0/terrains_peering_bit/bottom_side = 1 169 | 0:6/0/terrains_peering_bit/top_side = 1 170 | 1:6/0 = 0 171 | 1:6/0/terrain_set = 0 172 | 1:6/0/terrain = 1 173 | 1:6/0/terrains_peering_bit/right_side = 1 174 | 1:6/0/terrains_peering_bit/bottom_side = 1 175 | 1:6/0/terrains_peering_bit/top_side = 1 176 | 2:6/0 = 0 177 | 2:6/0/terrain_set = 0 178 | 2:6/0/terrain = 1 179 | 2:6/0/terrains_peering_bit/right_side = 1 180 | 2:6/0/terrains_peering_bit/bottom_side = 1 181 | 2:6/0/terrains_peering_bit/left_side = 1 182 | 2:6/0/terrains_peering_bit/top_side = 1 183 | 3:6/0 = 0 184 | 3:6/0/terrain_set = 0 185 | 3:6/0/terrain = 1 186 | 3:6/0/terrains_peering_bit/right_side = 1 187 | 3:6/0/terrains_peering_bit/bottom_side = 1 188 | 3:6/0/terrains_peering_bit/left_side = 1 189 | 3:6/0/terrains_peering_bit/top_side = 1 190 | 4:6/0 = 0 191 | 4:6/0/terrain_set = 0 192 | 4:6/0/terrain = 1 193 | 4:6/0/terrains_peering_bit/bottom_side = 1 194 | 4:6/0/terrains_peering_bit/left_side = 1 195 | 4:6/0/terrains_peering_bit/top_side = 1 196 | 5:6/0 = 0 197 | 0:7/0 = 0 198 | 0:7/0/terrain_set = 0 199 | 0:7/0/terrain = 1 200 | 0:7/0/terrains_peering_bit/top_side = 1 201 | 1:7/0 = 0 202 | 1:7/0/terrain_set = 0 203 | 1:7/0/terrain = 1 204 | 1:7/0/terrains_peering_bit/right_side = 1 205 | 1:7/0/terrains_peering_bit/top_side = 1 206 | 2:7/0 = 0 207 | 2:7/0/terrain_set = 0 208 | 2:7/0/terrain = 1 209 | 2:7/0/terrains_peering_bit/right_side = 1 210 | 2:7/0/terrains_peering_bit/left_side = 1 211 | 2:7/0/terrains_peering_bit/top_side = 1 212 | 3:7/0 = 0 213 | 3:7/0/terrain_set = 0 214 | 3:7/0/terrain = 1 215 | 3:7/0/terrains_peering_bit/right_side = 1 216 | 3:7/0/terrains_peering_bit/left_side = 1 217 | 3:7/0/terrains_peering_bit/top_side = 1 218 | 4:7/0 = 0 219 | 4:7/0/terrain_set = 0 220 | 4:7/0/terrain = 1 221 | 4:7/0/terrains_peering_bit/left_side = 1 222 | 4:7/0/terrains_peering_bit/top_side = 1 223 | 5:7/0 = 0 224 | 0:8/0 = 0 225 | 1:8/0 = 0 226 | 2:8/0 = 0 227 | 3:8/0 = 0 228 | 4:8/0 = 0 229 | 5:8/0 = 0 230 | 6:0/0 = 0 231 | 6:1/0 = 0 232 | 6:2/0 = 0 233 | 6:3/0 = 0 234 | 6:4/0 = 0 235 | 6:5/0 = 0 236 | 6:6/0 = 0 237 | 6:7/0 = 0 238 | 6:8/0 = 0 239 | 240 | [resource] 241 | tile_size = Vector2i(36, 36) 242 | terrain_set_0/mode = 2 243 | terrain_set_0/terrain_0/name = "Ground" 244 | terrain_set_0/terrain_0/color = Color(0.5, 0.34375, 0.25, 1) 245 | terrain_set_0/terrain_1/name = "Walls" 246 | terrain_set_0/terrain_1/color = Color(0.5, 0.4375, 0.25, 1) 247 | sources/0 = SubResource("TileSetAtlasSource_arq0r") 248 | -------------------------------------------------------------------------------- /Player.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=39 format=3 uid="uid://cagdfcj2kex1f"] 2 | 3 | [ext_resource type="Script" path="res://Player.gd" id="1_ood0y"] 4 | [ext_resource type="Texture2D" uid="uid://caf464ti4svny" path="res://TabbyIdle/frame_00001.png" id="3_iili2"] 5 | [ext_resource type="Script" path="res://EntityWindow.gd" id="3_s6qeo"] 6 | [ext_resource type="Texture2D" uid="uid://3wj8qwsne8cf" path="res://TabbyRun/frame_00001.png" id="4_43l35"] 7 | [ext_resource type="Texture2D" uid="uid://dsyclop8r3n4v" path="res://TabbyRun/frame_00002.png" id="5_jncc8"] 8 | [ext_resource type="Texture2D" uid="uid://drqnvyyyua4q6" path="res://TabbyIdle/frame_00005.png" id="6_1jk72"] 9 | [ext_resource type="Texture2D" uid="uid://d0v2ehdsl6d5u" path="res://TabbyJump/frame_00009.png" id="6_jvdmw"] 10 | [ext_resource type="Texture2D" uid="uid://bhonyq6b048ev" path="res://TabbyRun/frame_00003.png" id="6_tl1ju"] 11 | [ext_resource type="Texture2D" uid="uid://cwi5610f3pkpl" path="res://TabbyIdle/frame_00006.png" id="7_5qjlk"] 12 | [ext_resource type="Texture2D" uid="uid://yaogse1gsasi" path="res://TabbyJump/frame_00010.png" id="7_vyin3"] 13 | [ext_resource type="Texture2D" uid="uid://cqq1b5g4arkd3" path="res://TabbyRun/frame_00004.png" id="7_xp1hc"] 14 | [ext_resource type="Texture2D" uid="uid://bj00hq7oraqof" path="res://TabbyJump/frame_00012.png" id="8_cmwsg"] 15 | [ext_resource type="Texture2D" uid="uid://bie5lgtdi4oa7" path="res://TabbyJump/frame_00004.png" id="8_k8so2"] 16 | [ext_resource type="Texture2D" uid="uid://cw6vpmn1p8upt" path="res://TabbyRun/frame_00005.png" id="8_ksvxw"] 17 | [ext_resource type="Texture2D" uid="uid://cplanbauka01m" path="res://TabbyJump/frame_00005.png" id="9_g1fho"] 18 | [ext_resource type="Texture2D" uid="uid://dxt2oflpvyo7m" path="res://TabbyRun/frame_00006.png" id="9_mfrb0"] 19 | [ext_resource type="Texture2D" uid="uid://dirgf2cjivhb5" path="res://TabbyJump/frame_00013.png" id="9_sghqv"] 20 | [ext_resource type="Texture2D" uid="uid://c3l5lb264h83x" path="res://TabbyJump/frame_00007.png" id="10_ar5ov"] 21 | [ext_resource type="Texture2D" uid="uid://c4qn3q13irhij" path="res://TabbyJump/frame_00014.png" id="10_dga20"] 22 | [ext_resource type="Texture2D" uid="uid://d02srbo6541ke" path="res://TabbyRun/frame_00007.png" id="10_tu0qp"] 23 | [ext_resource type="Texture2D" uid="uid://pmhdxble0akp" path="res://TabbyRun/frame_00008.png" id="11_2b56k"] 24 | [ext_resource type="Texture2D" uid="uid://dc1bmvx1sewy4" path="res://TabbyIdle/frame_00010.png" id="11_fu76o"] 25 | [ext_resource type="Texture2D" uid="uid://hj7o8kuq8ijx" path="res://TabbyJump/frame_00015.png" id="11_pqv3q"] 26 | [ext_resource type="Texture2D" uid="uid://djph8kkjjsjou" path="res://TabbyJump/frame_00008.png" id="11_tndmx"] 27 | [ext_resource type="AudioStream" uid="uid://dltv4thd0fbu" path="res://footstep_concrete_000.ogg" id="15_n1bqn"] 28 | [ext_resource type="Texture2D" uid="uid://cw5a4hqm0ob3e" path="res://TabbyVictory/frame_00001.png" id="16_nm5re"] 29 | [ext_resource type="AudioStream" uid="uid://8p2k0ib7yl3i" path="res://footstep_concrete_001.ogg" id="16_ru2kh"] 30 | [ext_resource type="AudioStream" uid="uid://dfi6rybee2hum" path="res://footstep_concrete_002.ogg" id="17_25hoi"] 31 | [ext_resource type="Texture2D" uid="uid://dbm361tpyyyw7" path="res://TabbyVictory/frame_00002.png" id="17_eui2c"] 32 | [ext_resource type="AudioStream" uid="uid://bmvp2mdgckvbh" path="res://footstep_concrete_003.ogg" id="18_dh18h"] 33 | [ext_resource type="Texture2D" uid="uid://chexch2n8002s" path="res://TabbyVictory/frame_00004.png" id="18_lvsyo"] 34 | [ext_resource type="Texture2D" uid="uid://bmqo1x5m3x2lk" path="res://TabbyVictory/frame_00005.png" id="19_1hvqv"] 35 | [ext_resource type="AudioStream" uid="uid://by4bkmy0bjau4" path="res://footstep_concrete_004.ogg" id="19_l47ef"] 36 | [ext_resource type="Texture2D" uid="uid://ds3py00j1f6ow" path="res://TabbyVictory/frame_00006.png" id="20_34lpd"] 37 | [ext_resource type="Texture2D" uid="uid://3udbxy72jmx" path="res://TabbyVictory/frame_00008.png" id="21_vvdu8"] 38 | 39 | [sub_resource type="SpriteFrames" id="SpriteFrames_3y22p"] 40 | animations = [{ 41 | "frames": [{ 42 | "duration": 4.0, 43 | "texture": ExtResource("3_iili2") 44 | }, { 45 | "duration": 2.0, 46 | "texture": ExtResource("6_1jk72") 47 | }, { 48 | "duration": 4.0, 49 | "texture": ExtResource("7_5qjlk") 50 | }, { 51 | "duration": 1.0, 52 | "texture": ExtResource("11_fu76o") 53 | }], 54 | "loop": true, 55 | "name": &"Idle", 56 | "speed": 12.0 57 | }, { 58 | "frames": [{ 59 | "duration": 1.0, 60 | "texture": ExtResource("6_jvdmw") 61 | }, { 62 | "duration": 1.0, 63 | "texture": ExtResource("7_vyin3") 64 | }, { 65 | "duration": 1.0, 66 | "texture": ExtResource("6_jvdmw") 67 | }], 68 | "loop": true, 69 | "name": &"JumpFall", 70 | "speed": 12.0 71 | }, { 72 | "frames": [{ 73 | "duration": 1.0, 74 | "texture": ExtResource("8_cmwsg") 75 | }, { 76 | "duration": 1.0, 77 | "texture": ExtResource("9_sghqv") 78 | }, { 79 | "duration": 1.0, 80 | "texture": ExtResource("10_dga20") 81 | }, { 82 | "duration": 1.0, 83 | "texture": ExtResource("11_pqv3q") 84 | }], 85 | "loop": false, 86 | "name": &"JumpLand", 87 | "speed": 12.0 88 | }, { 89 | "frames": [{ 90 | "duration": 1.0, 91 | "texture": ExtResource("8_k8so2") 92 | }, { 93 | "duration": 1.0, 94 | "texture": ExtResource("9_g1fho") 95 | }, { 96 | "duration": 1.0, 97 | "texture": ExtResource("9_g1fho") 98 | }], 99 | "loop": true, 100 | "name": &"JumpRise", 101 | "speed": 12.0 102 | }, { 103 | "frames": [{ 104 | "duration": 1.0, 105 | "texture": ExtResource("10_ar5ov") 106 | }, { 107 | "duration": 1.0, 108 | "texture": ExtResource("11_tndmx") 109 | }], 110 | "loop": false, 111 | "name": &"JumpTransition", 112 | "speed": 12.0 113 | }, { 114 | "frames": [{ 115 | "duration": 1.0, 116 | "texture": ExtResource("16_nm5re") 117 | }, { 118 | "duration": 2.0, 119 | "texture": ExtResource("17_eui2c") 120 | }, { 121 | "duration": 1.0, 122 | "texture": ExtResource("18_lvsyo") 123 | }, { 124 | "duration": 1.0, 125 | "texture": ExtResource("19_1hvqv") 126 | }, { 127 | "duration": 2.0, 128 | "texture": ExtResource("20_34lpd") 129 | }, { 130 | "duration": 1.0, 131 | "texture": ExtResource("21_vvdu8") 132 | }], 133 | "loop": true, 134 | "name": &"Victory", 135 | "speed": 12.0 136 | }, { 137 | "frames": [{ 138 | "duration": 1.0, 139 | "texture": ExtResource("4_43l35") 140 | }, { 141 | "duration": 1.0, 142 | "texture": ExtResource("5_jncc8") 143 | }, { 144 | "duration": 1.0, 145 | "texture": ExtResource("6_tl1ju") 146 | }, { 147 | "duration": 1.0, 148 | "texture": ExtResource("7_xp1hc") 149 | }, { 150 | "duration": 1.0, 151 | "texture": ExtResource("8_ksvxw") 152 | }, { 153 | "duration": 1.0, 154 | "texture": ExtResource("9_mfrb0") 155 | }, { 156 | "duration": 1.0, 157 | "texture": ExtResource("10_tu0qp") 158 | }, { 159 | "duration": 1.0, 160 | "texture": ExtResource("11_2b56k") 161 | }], 162 | "loop": true, 163 | "name": &"Walk", 164 | "speed": 12.0 165 | }] 166 | 167 | [sub_resource type="RectangleShape2D" id="RectangleShape2D_7xxmq"] 168 | size = Vector2(36, 64) 169 | 170 | [sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_vgka2"] 171 | streams_count = 5 172 | stream_0/stream = ExtResource("15_n1bqn") 173 | stream_0/weight = 1.0 174 | stream_1/stream = ExtResource("16_ru2kh") 175 | stream_1/weight = 1.0 176 | stream_2/stream = ExtResource("17_25hoi") 177 | stream_2/weight = 1.0 178 | stream_3/stream = ExtResource("18_dh18h") 179 | stream_3/weight = 1.0 180 | stream_4/stream = ExtResource("19_l47ef") 181 | stream_4/weight = 1.0 182 | 183 | [node name="Player" type="CharacterBody2D"] 184 | visibility_layer = 4 185 | collision_layer = 2 186 | collision_mask = 7 187 | script = ExtResource("1_ood0y") 188 | 189 | [node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] 190 | visibility_layer = 4 191 | sprite_frames = SubResource("SpriteFrames_3y22p") 192 | animation = &"Idle" 193 | autoplay = "Idle" 194 | frame_progress = 0.686112 195 | centered = false 196 | 197 | [node name="CollisionShape2D" type="CollisionShape2D" parent="."] 198 | visibility_layer = 4 199 | position = Vector2(48, 68) 200 | shape = SubResource("RectangleShape2D_7xxmq") 201 | 202 | [node name="PlayerWindow" type="Window" parent="." node_paths=PackedStringArray("track")] 203 | transparent_bg = true 204 | gui_embed_subwindows = true 205 | unresizable = true 206 | borderless = true 207 | always_on_top = true 208 | transparent = true 209 | mouse_passthrough = true 210 | script = ExtResource("3_s6qeo") 211 | track = NodePath("..") 212 | layer = 2 213 | 214 | [node name="Camera2D" type="Camera2D" parent="PlayerWindow"] 215 | visible = false 216 | visibility_layer = 4 217 | anchor_mode = 0 218 | 219 | [node name="Footsteps" type="AudioStreamPlayer" parent="."] 220 | stream = SubResource("AudioStreamRandomizer_vgka2") 221 | volume_db = 3.0 222 | bus = &"SFX" 223 | 224 | [connection signal="animation_finished" from="AnimatedSprite2D" to="." method="animation_next"] 225 | -------------------------------------------------------------------------------- /level2.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=14 format=3 uid="uid://u5ni4wmsvgra"] 2 | 3 | [ext_resource type="Script" path="res://Main.gd" id="1_2omb3"] 4 | [ext_resource type="TileSet" uid="uid://codqxp3pqyrh8" path="res://LevelTileset.tres" id="3_c82cn"] 5 | [ext_resource type="PackedScene" uid="uid://cagdfcj2kex1f" path="res://Player.tscn" id="4_8bhq1"] 6 | [ext_resource type="Script" path="res://CropCollision.gd" id="4_rjrwv"] 7 | [ext_resource type="Script" path="res://SecondaryWindow.gd" id="7_1qvpd"] 8 | [ext_resource type="Script" path="res://Goal.gd" id="8_cgoed"] 9 | [ext_resource type="AudioStream" uid="uid://cf6iryiu7ip81" path="res://confirmation_002.ogg" id="8_uijdh"] 10 | 11 | [sub_resource type="RectangleShape2D" id="RectangleShape2D_uyb8e"] 12 | size = Vector2(1512, 180) 13 | 14 | [sub_resource type="RectangleShape2D" id="RectangleShape2D_w61gj"] 15 | size = Vector2(180, 576) 16 | 17 | [sub_resource type="RectangleShape2D" id="RectangleShape2D_h4b0h"] 18 | size = Vector2(144, 575) 19 | 20 | [sub_resource type="Gradient" id="Gradient_agbyn"] 21 | offsets = PackedFloat32Array(0, 0.8, 1) 22 | colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0) 23 | 24 | [sub_resource type="Gradient" id="Gradient_lfh8r"] 25 | offsets = PackedFloat32Array(0, 0.333, 0.666, 1) 26 | colors = PackedColorArray(1, 0.25, 0.25, 1, 0.25, 1, 0.25, 1, 0.25, 0.25, 1, 1, 1, 0.25, 0.25, 1) 27 | 28 | [sub_resource type="RectangleShape2D" id="RectangleShape2D_4konl"] 29 | size = Vector2(72, 90) 30 | 31 | [node name="Level2" type="Node2D"] 32 | visibility_layer = 7 33 | texture_filter = 1 34 | script = ExtResource("1_2omb3") 35 | start_size = Vector2i(216, 720) 36 | next_level = "res://Level3.tscn" 37 | 38 | [node name="Camera2D" type="Camera2D" parent="."] 39 | anchor_mode = 0 40 | 41 | [node name="TileMap" type="TileMap" parent="."] 42 | tile_set = ExtResource("3_c82cn") 43 | format = 2 44 | layer_0/tile_data = PackedInt32Array(1441830, 262144, 3, 1376294, 262144, 2, 1310758, 262144, 2, 1245222, 262144, 2, 1179686, 131072, 2, 1441829, 196608, 3, 1376293, 196608, 2, 1310757, 131072, 2, 1245221, 131072, 2, 1179685, 196608, 2, 1441828, 131072, 3, 1376292, 131072, 2, 1310756, 131072, 2, 1245220, 131072, 2, 1179684, 131072, 2, 1441827, 196608, 3, 1376291, 196608, 2, 1310755, 131072, 2, 1245219, 196608, 2, 1179683, 131072, 2, 1441826, 196608, 3, 1376290, 131072, 2, 1310754, 131072, 2, 1245218, 196608, 2, 1179682, 196608, 2, 1441825, 196608, 3, 1376289, 131072, 2, 1310753, 131072, 2, 1245217, 131072, 2, 1179681, 196608, 1, 1441824, 131072, 3, 1376288, 131072, 2, 1310752, 196608, 2, 1245216, 131072, 2, 1179680, 196608, 1, 1441823, 131072, 3, 1376287, 196608, 2, 1310751, 131072, 2, 1245215, 131072, 2, 1179679, 131072, 1, 1441822, 131072, 3, 1376286, 196608, 2, 1310750, 196608, 2, 1245214, 131072, 2, 1179678, 131072, 1, 1441821, 196608, 3, 1376285, 131072, 2, 1310749, 131072, 2, 1245213, 196608, 2, 1179677, 131072, 1, 1441820, 131072, 3, 1376284, 131072, 2, 1310748, 131072, 2, 1245212, 131072, 2, 1179676, 196608, 1, 1441819, 196608, 3, 1376283, 131072, 2, 1310747, 131072, 2, 1245211, 196608, 2, 1179675, 196608, 1, 1441818, 131072, 3, 1376282, 131072, 2, 1310746, 196608, 2, 1245210, 196608, 2, 1179674, 131072, 1, 1441817, 131072, 3, 1376281, 131072, 2, 1310745, 131072, 2, 1245209, 196608, 2, 1179673, 131072, 1, 1441816, 131072, 3, 1376280, 196608, 2, 1310744, 196608, 2, 1245208, 131072, 2, 1179672, 131072, 1, 1441815, 196608, 3, 1376279, 131072, 2, 1310743, 131072, 2, 1245207, 131072, 2, 1179671, 196608, 1, 1441814, 196608, 3, 1376278, 131072, 2, 1310742, 131072, 2, 1245206, 196608, 2, 1179670, 196608, 1, 1441813, 131072, 3, 1376277, 131072, 2, 1310741, 131072, 2, 1245205, 131072, 2, 1179669, 131072, 1, 1441812, 196608, 3, 1376276, 131072, 2, 1310740, 196608, 2, 1245204, 131072, 2, 1179668, 131072, 1, 1441811, 131072, 3, 1376275, 131072, 2, 1310739, 131072, 2, 1245203, 131072, 2, 1179667, 131072, 2, 1441810, 196608, 3, 1376274, 131072, 2, 1310738, 131072, 2, 1245202, 196608, 2, 1179666, 131072, 2, 1441809, 196608, 3, 1376273, 131072, 2, 1310737, 131072, 2, 1245201, 131072, 2, 1179665, 131072, 2, 1441808, 131072, 3, 1376272, 196608, 2, 1310736, 131072, 2, 1245200, 131072, 2, 1179664, 196608, 2, 1441807, 196608, 3, 1376271, 196608, 2, 1310735, 196608, 2, 1245199, 196608, 2, 1179663, 196608, 1, 1441806, 196608, 3, 1376270, 196608, 2, 1310734, 196608, 2, 1245198, 131072, 2, 1179662, 131072, 1, 1441805, 196608, 3, 1376269, 196608, 2, 1310733, 196608, 2, 1245197, 196608, 2, 1179661, 196608, 1, 1441804, 196608, 3, 1376268, 131072, 2, 1310732, 196608, 2, 1245196, 131072, 2, 1179660, 196608, 1, 1441803, 196608, 3, 1376267, 131072, 2, 1310731, 131072, 2, 1245195, 196608, 2, 1179659, 196608, 1, 1441802, 196608, 3, 1376266, 196608, 2, 1310730, 131072, 2, 1245194, 196608, 2, 1179658, 196608, 1, 1441801, 131072, 3, 1376265, 196608, 2, 1310729, 131072, 2, 1245193, 131072, 2, 1179657, 131072, 1, 1441800, 131072, 3, 1376264, 196608, 2, 1310728, 196608, 2, 1245192, 196608, 2, 1179656, 196608, 1, 1441799, 131072, 3, 1376263, 196608, 2, 1310727, 196608, 2, 1245191, 131072, 2, 1179655, 131072, 1, 1441798, 131072, 3, 1376262, 131072, 2, 1310726, 196608, 2, 1245190, 196608, 2, 1179654, 131072, 1, 1441797, 131072, 3, 1376261, 131072, 2, 1310725, 196608, 2, 1245189, 131072, 2, 1179653, 131072, 1, 1441796, 196608, 3, 1376260, 196608, 2, 1310724, 131072, 2, 1245188, 131072, 2, 1179652, 131072, 1, 1441795, 131072, 3, 1376259, 131072, 2, 1310723, 131072, 2, 1245187, 196608, 2, 1179651, 131072, 1, 1441794, 196608, 3, 1376258, 131072, 2, 1310722, 196608, 2, 1245186, 131072, 2, 1179650, 131072, 1, 1441793, 131072, 3, 1376257, 196608, 2, 1310721, 131072, 2, 1245185, 196608, 2, 1179649, 196608, 2, 1441792, 196608, 3, 1376256, 131072, 2, 1310720, 131072, 2, 1245184, 131072, 2, 1179648, 196608, 2, 1507327, 131072, 3, 1441791, 131072, 2, 1376255, 196608, 2, 1310719, 196608, 2, 1245183, 196608, 2, 1507326, 196608, 3, 1441790, 196608, 2, 1376254, 131072, 2, 1310718, 131072, 2, 1245182, 196608, 2, 1507325, 65536, 3, 1441789, 65536, 2, 1376253, 65536, 2, 1310717, 65536, 2, 1245181, 196608, 2, 1114113, 262144, 7, 1048577, 262144, 6, 983041, 262144, 6, 917505, 262144, 6, 851969, 262144, 6, 786433, 262144, 6, 720897, 262144, 6, 655361, 262144, 6, 589825, 262144, 6, 524289, 262144, 6, 458753, 262144, 6, 393217, 262144, 6, 327681, 262144, 6, 262145, 262144, 6, 196609, 262144, 6, 131073, 262144, 6, 65537, 196608, 6, 1, 131072, 6, -65535, 196608, 6, -131071, 196608, 6, -196607, 131072, 5, 1114112, 196608, 7, 1048576, 196608, 6, 983040, 131072, 6, 917504, 196608, 6, 851968, 131072, 6, 786432, 131072, 6, 720896, 131072, 6, 655360, 131072, 6, 589824, 131072, 6, 524288, 131072, 6, 458752, 196608, 6, 393216, 131072, 6, 327680, 196608, 6, 262144, 196608, 6, 196608, 196608, 6, 131072, 196608, 6, 65536, 131072, 6, 0, 131072, 6, -65536, 131072, 6, -131072, 196608, 6, -196608, 131072, 5, 1179647, 131072, 7, 1114111, 131072, 6, 1048575, 196608, 6, 983039, 131072, 6, 917503, 196608, 6, 851967, 196608, 6, 786431, 131072, 6, 720895, 196608, 6, 655359, 131072, 6, 589823, 131072, 6, 524287, 131072, 6, 458751, 131072, 6, 393215, 131072, 6, 327679, 131072, 6, 262143, 131072, 6, 196607, 131072, 6, 131071, 196608, 6, 65535, 131072, 6, -1, 131072, 6, -65537, 131072, 6, -131073, 196608, 5, 1179646, 196608, 7, 1114110, 131072, 6, 1048574, 196608, 6, 983038, 131072, 6, 917502, 196608, 6, 851966, 131072, 6, 786430, 131072, 6, 720894, 196608, 6, 655358, 196608, 6, 589822, 196608, 6, 524286, 131072, 6, 458750, 131072, 6, 393214, 131072, 6, 327678, 196608, 6, 262142, 131072, 6, 196606, 196608, 6, 131070, 196608, 6, 65534, 131072, 6, -2, 131072, 6, -65538, 131072, 6, -131074, 131072, 5, 1179645, 65536, 7, 1114109, 65536, 6, 1048573, 65536, 6, 983037, 65536, 6, 917501, 65536, 6, 851965, 65536, 6, 786429, 65536, 6, 720893, 65536, 6, 655357, 65536, 6, 589821, 65536, 6, 524285, 65536, 6, 458749, 65536, 6, 393213, 65536, 6, 327677, 65536, 6, 262141, 65536, 6, 196605, 65536, 6, 131069, 65536, 6, 65533, 65536, 6, -3, 65536, 6, -65539, 65536, 6, -131075, 65536, 5, 65574, 262144, 6, 38, 262144, 6, -65498, 262144, 6, -131034, 262144, 6, -196570, 262144, 5, 65573, 196608, 6, 37, 196608, 6, -65499, 196608, 6, -131035, 196608, 6, -196571, 131072, 5, 65572, 131072, 6, 36, 196608, 6, -65500, 131072, 6, -131036, 131072, 6, -196572, 196608, 5, 65571, 196608, 6, 35, 196608, 6, -65501, 196608, 6, -131037, 196608, 6, -196573, 196608, 5, 65570, 131072, 6, 34, 131072, 6, -65502, 131072, 6, -131038, 196608, 6, -196574, 196608, 5, 65569, 196608, 7, 33, 196608, 6, -65503, 131072, 6, -131039, 131072, 6, -196575, 131072, 5, 65568, 131072, 7, 32, 196608, 6, -65504, 196608, 6, -131040, 196608, 6, -196576, 131072, 5, 65567, 196608, 7, 31, 131072, 6, -65505, 196608, 6, -131041, 131072, 6, -196577, 131072, 5, 65566, 196608, 7, 30, 131072, 6, -65506, 131072, 6, -131042, 196608, 6, -196578, 131072, 5, 65565, 196608, 7, 29, 131072, 6, -65507, 131072, 6, -131043, 131072, 6, -196579, 131072, 5, 65564, 196608, 7, 28, 196608, 6, -65508, 196608, 6, -131044, 196608, 6, -196580, 131072, 5, 65563, 196608, 7, 27, 131072, 6, -65509, 196608, 6, -131045, 131072, 6, -196581, 196608, 5, 65562, 196608, 7, 26, 131072, 6, -65510, 131072, 6, -131046, 131072, 6, -196582, 131072, 5, 65561, 196608, 7, 25, 196608, 6, -65511, 196608, 6, -131047, 196608, 6, -196583, 196608, 5, 65560, 131072, 7, 24, 196608, 6, -65512, 131072, 6, -131048, 131072, 6, -196584, 196608, 5, 65559, 196608, 7, 23, 131072, 6, -65513, 131072, 6, -131049, 131072, 6, -196585, 196608, 5, 65558, 131072, 7, 22, 131072, 6, -65514, 196608, 6, -131050, 196608, 6, -196586, 196608, 5, 65557, 196608, 7, 21, 131072, 6, -65515, 131072, 6, -131051, 131072, 6, -196587, 196608, 5, 65556, 196608, 7, 20, 196608, 6, -65516, 131072, 6, -131052, 131072, 6, -196588, 196608, 5, 65555, 131072, 6, 19, 196608, 6, -65517, 131072, 6, -131053, 196608, 6, -196589, 131072, 5, 65554, 196608, 6, 18, 131072, 6, -65518, 131072, 6, -131054, 131072, 6, -196590, 131072, 5, 65553, 131072, 6, 17, 196608, 6, -65519, 131072, 6, -131055, 131072, 6, -196591, 131072, 5, 65552, 196608, 6, 16, 131072, 6, -65520, 196608, 6, -131056, 196608, 6, -196592, 131072, 5, 65551, 131072, 7, 15, 196608, 6, -65521, 131072, 6, -131057, 131072, 6, -196593, 196608, 5, 65550, 196608, 7, 14, 131072, 6, -65522, 131072, 6, -131058, 131072, 6, -196594, 131072, 5, 65549, 196608, 7, 13, 196608, 6, -65523, 131072, 6, -131059, 196608, 6, -196595, 196608, 5, 65548, 131072, 7, 12, 196608, 6, -65524, 196608, 6, -131060, 196608, 6, -196596, 196608, 5, 65547, 196608, 7, 11, 196608, 6, -65525, 131072, 6, -131061, 131072, 6, -196597, 131072, 5, 65546, 196608, 7, 10, 131072, 6, -65526, 196608, 6, -131062, 131072, 6, -196598, 131072, 5, 65545, 196608, 7, 9, 196608, 6, -65527, 131072, 6, -131063, 196608, 6, -196599, 196608, 5, 65544, 131072, 7, 8, 131072, 6, -65528, 196608, 6, -131064, 131072, 6, -196600, 196608, 5, 65543, 196608, 7, 7, 131072, 6, -65529, 131072, 6, -131065, 196608, 6, -196601, 131072, 5, 65542, 196608, 7, 6, 196608, 6, -65530, 131072, 6, -131066, 131072, 6, -196602, 131072, 5, 65541, 196608, 7, 5, 131072, 6, -65531, 196608, 6, -131067, 131072, 6, -196603, 196608, 5, 65540, 131072, 7, 4, 196608, 6, -65532, 131072, 6, -131068, 131072, 6, -196604, 196608, 5, 65539, 196608, 7, 3, 131072, 6, -65533, 196608, 6, -131069, 131072, 6, -196605, 196608, 5, 65538, 196608, 7, 2, 131072, 6, -65534, 196608, 6, -131070, 131072, 6, -196606, 131072, 5, 1114150, 262144, 7, 1048614, 262144, 6, 983078, 262144, 6, 917542, 262144, 6, 852006, 262144, 6, 786470, 262144, 6, 720934, 262144, 6, 655398, 262144, 6, 589862, 262144, 6, 524326, 262144, 6, 458790, 262144, 6, 393254, 262144, 6, 327718, 262144, 6, 262182, 262144, 6, 196646, 262144, 6, 131110, 262144, 6, 1114149, 196608, 7, 1048613, 131072, 6, 983077, 131072, 6, 917541, 196608, 6, 852005, 196608, 6, 786469, 196608, 6, 720933, 131072, 6, 655397, 131072, 6, 589861, 131072, 6, 524325, 131072, 6, 458789, 196608, 6, 393253, 196608, 6, 327717, 196608, 6, 262181, 196608, 6, 196645, 131072, 6, 131109, 196608, 6, 1114148, 196608, 7, 1048612, 196608, 6, 983076, 131072, 6, 917540, 196608, 6, 852004, 196608, 6, 786468, 196608, 6, 720932, 196608, 6, 655396, 196608, 6, 589860, 131072, 6, 524324, 196608, 6, 458788, 131072, 6, 393252, 196608, 6, 327716, 196608, 6, 262180, 196608, 6, 196644, 131072, 6, 131108, 196608, 6, 1114147, 131072, 7, 1048611, 196608, 6, 983075, 131072, 6, 917539, 196608, 6, 852003, 131072, 6, 786467, 131072, 6, 720931, 196608, 6, 655395, 196608, 6, 589859, 131072, 6, 524323, 196608, 6, 458787, 131072, 6, 393251, 131072, 6, 327715, 196608, 6, 262179, 196608, 6, 196643, 196608, 6, 131107, 131072, 6, 1114146, 65536, 7, 1048610, 65536, 6, 983074, 65536, 6, 917538, 65536, 6, 852002, 65536, 6, 786466, 65536, 6, 720930, 65536, 6, 655394, 65536, 6, 589858, 65536, 6, 524322, 65536, 6, 458786, 65536, 6, 393250, 65536, 6, 327714, 65536, 6, 262178, 65536, 6, 196642, 65536, 6, 131106, 65536, 6, 983071, 327680, 5, 1048607, 327680, 6, 1114143, 327680, 7, 983072, 393216, 5, 1048608, 393216, 6, 1114144, 393216, 7, 1114131, 262144, 7, 1048595, 262144, 6, 983059, 262144, 6, 917523, 262144, 6, 851987, 262144, 6, 786451, 262144, 6, 720915, 262144, 6, 655379, 262144, 6, 589843, 262144, 6, 524307, 262144, 6, 458771, 262144, 6, 393235, 262144, 6, 327699, 262144, 6, 262163, 262144, 6, 196627, 262144, 6, 131091, 262144, 6, 1114130, 131072, 7, 1048594, 196608, 6, 983058, 131072, 6, 917522, 131072, 6, 851986, 131072, 6, 786450, 196608, 6, 720914, 196608, 6, 655378, 196608, 6, 589842, 196608, 6, 524306, 196608, 6, 458770, 196608, 6, 393234, 131072, 6, 327698, 196608, 6, 262162, 131072, 6, 196626, 196608, 6, 131090, 196608, 6, 1114129, 196608, 7, 1048593, 131072, 6, 983057, 196608, 6, 917521, 131072, 6, 851985, 196608, 6, 786449, 196608, 6, 720913, 196608, 6, 655377, 196608, 6, 589841, 196608, 6, 524305, 131072, 6, 458769, 196608, 6, 393233, 131072, 6, 327697, 196608, 6, 262161, 196608, 6, 196625, 196608, 6, 131089, 131072, 6, 1114128, 65536, 7, 1048592, 65536, 6, 983056, 65536, 6, 917520, 65536, 6, 851984, 65536, 6, 786448, 65536, 6, 720912, 65536, 6, 655376, 65536, 6, 589840, 65536, 6, 524304, 65536, 6, 458768, 65536, 6, 393232, 65536, 6, 327696, 65536, 6, 262160, 65536, 6, 196624, 65536, 6, 131088, 65536, 6) 45 | 46 | [node name="MainCollision" type="StaticBody2D" parent="."] 47 | collision_mask = 3 48 | script = ExtResource("4_rjrwv") 49 | 50 | [node name="Bottom" type="CollisionShape2D" parent="MainCollision"] 51 | position = Vector2(648, 738) 52 | shape = SubResource("RectangleShape2D_uyb8e") 53 | 54 | [node name="Top" type="CollisionShape2D" parent="MainCollision"] 55 | position = Vector2(648, -18) 56 | shape = SubResource("RectangleShape2D_uyb8e") 57 | 58 | [node name="Left" type="CollisionShape2D" parent="MainCollision"] 59 | position = Vector2(-18, 360) 60 | shape = SubResource("RectangleShape2D_w61gj") 61 | 62 | [node name="Right" type="CollisionShape2D" parent="MainCollision"] 63 | position = Vector2(1314, 360) 64 | shape = SubResource("RectangleShape2D_w61gj") 65 | 66 | [node name="Middle" type="CollisionShape2D" parent="MainCollision"] 67 | position = Vector2(648, 360) 68 | shape = SubResource("RectangleShape2D_h4b0h") 69 | 70 | [node name="GoalCollision" type="StaticBody2D" parent="." node_paths=PackedStringArray("window")] 71 | collision_mask = 3 72 | script = ExtResource("4_rjrwv") 73 | window = NodePath("../GoalWindow") 74 | 75 | [node name="Bottom" type="CollisionShape2D" parent="GoalCollision"] 76 | position = Vector2(648, 738) 77 | shape = SubResource("RectangleShape2D_uyb8e") 78 | 79 | [node name="Top" type="CollisionShape2D" parent="GoalCollision"] 80 | position = Vector2(648, -18) 81 | shape = SubResource("RectangleShape2D_uyb8e") 82 | 83 | [node name="Left" type="CollisionShape2D" parent="GoalCollision"] 84 | position = Vector2(-18, 360) 85 | shape = SubResource("RectangleShape2D_w61gj") 86 | 87 | [node name="Right" type="CollisionShape2D" parent="GoalCollision"] 88 | position = Vector2(1314, 360) 89 | shape = SubResource("RectangleShape2D_w61gj") 90 | 91 | [node name="Middle" type="CollisionShape2D" parent="GoalCollision"] 92 | position = Vector2(648, 360) 93 | shape = SubResource("RectangleShape2D_h4b0h") 94 | 95 | [node name="Player" parent="." instance=ExtResource("4_8bhq1")] 96 | position = Vector2(78, 548) 97 | 98 | [node name="GoalWindow" type="Window" parent="."] 99 | position = Vector2i(1064, 36) 100 | size = Vector2i(216, 720) 101 | visible = false 102 | script = ExtResource("7_1qvpd") 103 | start_pos = Vector2i(1064, 0) 104 | 105 | [node name="Camera2D" type="Camera2D" parent="GoalWindow"] 106 | anchor_mode = 0 107 | 108 | [node name="Confetti" type="CPUParticles2D" parent="."] 109 | position = Vector2(1152, 555) 110 | emitting = false 111 | amount = 32 112 | one_shot = true 113 | explosiveness = 1.0 114 | direction = Vector2(0, -1) 115 | spread = 30.0 116 | initial_velocity_min = 320.0 117 | initial_velocity_max = 480.0 118 | scale_amount_min = 4.0 119 | scale_amount_max = 4.0 120 | color_ramp = SubResource("Gradient_agbyn") 121 | color_initial_ramp = SubResource("Gradient_lfh8r") 122 | 123 | [node name="WinSound" type="AudioStreamPlayer" parent="."] 124 | stream = ExtResource("8_uijdh") 125 | bus = &"SFX" 126 | 127 | [node name="GoalAreaMain" type="Area2D" parent="."] 128 | collision_layer = 2 129 | collision_mask = 2 130 | script = ExtResource("8_cgoed") 131 | 132 | [node name="CollisionShape2D" type="CollisionShape2D" parent="GoalAreaMain"] 133 | position = Vector2(1152, 603) 134 | shape = SubResource("RectangleShape2D_4konl") 135 | 136 | [node name="GoalAreaGoal" type="Area2D" parent="." node_paths=PackedStringArray("window")] 137 | collision_layer = 2 138 | collision_mask = 2 139 | script = ExtResource("8_cgoed") 140 | window = NodePath("../GoalWindow") 141 | 142 | [node name="CollisionShape2D" type="CollisionShape2D" parent="GoalAreaGoal"] 143 | position = Vector2(1152, 603) 144 | shape = SubResource("RectangleShape2D_4konl") 145 | 146 | [connection signal="body_entered" from="GoalAreaMain" to="GoalAreaMain" method="triggered"] 147 | [connection signal="level_complete" from="GoalAreaMain" to="." method="level_complete"] 148 | [connection signal="body_entered" from="GoalAreaGoal" to="GoalAreaGoal" method="triggered"] 149 | [connection signal="level_complete" from="GoalAreaGoal" to="." method="level_complete"] 150 | -------------------------------------------------------------------------------- /level3.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=18 format=3 uid="uid://mt5o6aihuyhk"] 2 | 3 | [ext_resource type="Script" path="res://Main.gd" id="1_eug2c"] 4 | [ext_resource type="Script" path="res://CropCollision.gd" id="3_fiexn"] 5 | [ext_resource type="TileSet" uid="uid://codqxp3pqyrh8" path="res://LevelTileset.tres" id="3_spp65"] 6 | [ext_resource type="PackedScene" uid="uid://cagdfcj2kex1f" path="res://Player.tscn" id="4_hxymb"] 7 | [ext_resource type="Script" path="res://SecondaryWindow.gd" id="7_5uf3r"] 8 | [ext_resource type="AudioStream" uid="uid://cf6iryiu7ip81" path="res://confirmation_002.ogg" id="8_2mbut"] 9 | [ext_resource type="Script" path="res://Goal.gd" id="8_y82gg"] 10 | 11 | [sub_resource type="RectangleShape2D" id="RectangleShape2D_uyb8e"] 12 | size = Vector2(1512, 180) 13 | 14 | [sub_resource type="RectangleShape2D" id="RectangleShape2D_w61gj"] 15 | size = Vector2(180, 576) 16 | 17 | [sub_resource type="RectangleShape2D" id="RectangleShape2D_h4b0h"] 18 | size = Vector2(1152, 108) 19 | 20 | [sub_resource type="RectangleShape2D" id="RectangleShape2D_xwttq"] 21 | size = Vector2(720, 216) 22 | 23 | [sub_resource type="RectangleShape2D" id="RectangleShape2D_oipyj"] 24 | size = Vector2(324, 72) 25 | 26 | [sub_resource type="RectangleShape2D" id="RectangleShape2D_xhcki"] 27 | size = Vector2(216, 72) 28 | 29 | [sub_resource type="RectangleShape2D" id="RectangleShape2D_3usce"] 30 | size = Vector2(108, 72) 31 | 32 | [sub_resource type="Gradient" id="Gradient_agbyn"] 33 | offsets = PackedFloat32Array(0, 0.8, 1) 34 | colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0) 35 | 36 | [sub_resource type="Gradient" id="Gradient_lfh8r"] 37 | offsets = PackedFloat32Array(0, 0.333, 0.666, 1) 38 | colors = PackedColorArray(1, 0.25, 0.25, 1, 0.25, 1, 0.25, 1, 0.25, 0.25, 1, 1, 1, 0.25, 0.25, 1) 39 | 40 | [sub_resource type="RectangleShape2D" id="RectangleShape2D_u2xi3"] 41 | size = Vector2(72, 90) 42 | 43 | [node name="Level3" type="Node2D"] 44 | visibility_layer = 7 45 | texture_filter = 1 46 | script = ExtResource("1_eug2c") 47 | start_size = Vector2i(360, 360) 48 | next_level = "res://Level4.tscn" 49 | 50 | [node name="Camera2D" type="Camera2D" parent="."] 51 | anchor_mode = 0 52 | 53 | [node name="TileMap" type="TileMap" parent="."] 54 | tile_set = ExtResource("3_spp65") 55 | format = 2 56 | layer_0/tile_data = PackedInt32Array(1441830, 262144, 3, 1376294, 262144, 2, 1310758, 262144, 2, 1245222, 262144, 2, 1179686, 262144, 2, 1441829, 196608, 3, 1376293, 196608, 2, 1310757, 131072, 2, 1245221, 131072, 2, 1179685, 131072, 2, 1441828, 131072, 3, 1376292, 131072, 2, 1310756, 131072, 2, 1245220, 131072, 2, 1179684, 196608, 2, 1441827, 196608, 3, 1376291, 196608, 2, 1310755, 131072, 2, 1245219, 196608, 2, 1179683, 131072, 2, 1441826, 196608, 3, 1376290, 131072, 2, 1310754, 131072, 2, 1245218, 196608, 2, 1179682, 196608, 2, 1441825, 196608, 3, 1376289, 131072, 2, 1310753, 131072, 2, 1245217, 131072, 2, 1179681, 131072, 2, 1441824, 131072, 3, 1376288, 131072, 2, 1310752, 196608, 2, 1245216, 131072, 2, 1179680, 131072, 2, 1441823, 131072, 3, 1376287, 196608, 2, 1310751, 131072, 2, 1245215, 131072, 2, 1179679, 131072, 2, 1441822, 131072, 3, 1376286, 196608, 2, 1310750, 196608, 2, 1245214, 131072, 2, 1179678, 196608, 2, 1441821, 196608, 3, 1376285, 131072, 2, 1310749, 131072, 2, 1245213, 196608, 2, 1179677, 131072, 2, 1441820, 131072, 3, 1376284, 131072, 2, 1310748, 131072, 2, 1245212, 131072, 2, 1179676, 196608, 2, 1441819, 196608, 3, 1376283, 131072, 2, 1310747, 131072, 2, 1245211, 196608, 2, 1179675, 131072, 2, 1441818, 131072, 3, 1376282, 131072, 2, 1310746, 196608, 2, 1245210, 196608, 2, 1179674, 196608, 2, 1441817, 131072, 3, 1376281, 131072, 2, 1310745, 131072, 2, 1245209, 196608, 2, 1179673, 131072, 2, 1441816, 131072, 3, 1376280, 196608, 2, 1310744, 196608, 2, 1245208, 131072, 2, 1179672, 131072, 1, 1441815, 196608, 3, 1376279, 131072, 2, 1310743, 131072, 2, 1245207, 131072, 2, 1179671, 196608, 1, 1441814, 196608, 3, 1376278, 131072, 2, 1310742, 131072, 2, 1245206, 196608, 2, 1179670, 196608, 1, 1441813, 131072, 3, 1376277, 131072, 2, 1310741, 131072, 2, 1245205, 131072, 2, 1179669, 131072, 1, 1441812, 196608, 3, 1376276, 131072, 2, 1310740, 196608, 2, 1245204, 131072, 2, 1179668, 131072, 1, 1441811, 131072, 3, 1376275, 131072, 2, 1310739, 131072, 2, 1245203, 131072, 2, 1179667, 131072, 1, 1441810, 196608, 3, 1376274, 131072, 2, 1310738, 131072, 2, 1245202, 196608, 2, 1179666, 196608, 1, 1441809, 196608, 3, 1376273, 131072, 2, 1310737, 131072, 2, 1245201, 131072, 2, 1179665, 131072, 1, 1441808, 131072, 3, 1376272, 196608, 2, 1310736, 131072, 2, 1245200, 131072, 2, 1179664, 196608, 1, 1441807, 196608, 3, 1376271, 196608, 2, 1310735, 196608, 2, 1245199, 196608, 2, 1179663, 196608, 1, 1441806, 196608, 3, 1376270, 196608, 2, 1310734, 196608, 2, 1245198, 131072, 2, 1179662, 131072, 1, 1441805, 196608, 3, 1376269, 196608, 2, 1310733, 196608, 2, 1245197, 196608, 2, 1179661, 196608, 1, 1441804, 196608, 3, 1376268, 131072, 2, 1310732, 196608, 2, 1245196, 131072, 2, 1179660, 196608, 1, 1441803, 196608, 3, 1376267, 131072, 2, 1310731, 131072, 2, 1245195, 196608, 2, 1179659, 196608, 1, 1441802, 196608, 3, 1376266, 196608, 2, 1310730, 131072, 2, 1245194, 196608, 2, 1179658, 196608, 1, 1441801, 131072, 3, 1376265, 196608, 2, 1310729, 131072, 2, 1245193, 131072, 2, 1179657, 131072, 1, 1441800, 131072, 3, 1376264, 196608, 2, 1310728, 196608, 2, 1245192, 196608, 2, 1179656, 196608, 1, 1441799, 131072, 3, 1376263, 196608, 2, 1310727, 196608, 2, 1245191, 131072, 2, 1179655, 131072, 1, 1441798, 131072, 3, 1376262, 131072, 2, 1310726, 196608, 2, 1245190, 196608, 2, 1179654, 131072, 1, 1441797, 131072, 3, 1376261, 131072, 2, 1310725, 196608, 2, 1245189, 131072, 2, 1179653, 131072, 1, 1441796, 196608, 3, 1376260, 196608, 2, 1310724, 131072, 2, 1245188, 131072, 2, 1179652, 131072, 1, 1441795, 131072, 3, 1376259, 131072, 2, 1310723, 131072, 2, 1245187, 196608, 2, 1179651, 131072, 1, 1441794, 196608, 3, 1376258, 131072, 2, 1310722, 196608, 2, 1245186, 131072, 2, 1179650, 131072, 1, 1441793, 131072, 3, 1376257, 196608, 2, 1310721, 131072, 2, 1245185, 196608, 2, 1179649, 131072, 2, 1441792, 196608, 3, 1376256, 131072, 2, 1310720, 131072, 2, 1245184, 131072, 2, 1179648, 131072, 2, 1507327, 131072, 3, 1441791, 131072, 2, 1376255, 196608, 2, 1310719, 196608, 2, 1245183, 131072, 2, 1507326, 196608, 3, 1441790, 196608, 2, 1376254, 131072, 2, 1310718, 131072, 2, 1245182, 131072, 2, 1507325, 65536, 3, 1441789, 65536, 2, 1376253, 65536, 2, 1310717, 65536, 2, 1245181, 131072, 2, 1114113, 262144, 7, 1048577, 262144, 6, 983041, 262144, 6, 917505, 262144, 6, 851969, 262144, 6, 786433, 262144, 6, 720897, 262144, 5, 655361, 196608, 2, 589825, 131072, 2, 524289, 131072, 2, 458753, 262144, 7, 393217, 262144, 6, 327681, 262144, 6, 262145, 262144, 6, 196609, 262144, 6, 131073, 262144, 6, 65537, 196608, 6, 1, 131072, 6, -65535, 196608, 6, -131071, 196608, 6, -196607, 131072, 5, 1114112, 196608, 7, 1048576, 196608, 6, 983040, 131072, 6, 917504, 196608, 6, 851968, 131072, 6, 786432, 131072, 6, 720896, 131072, 5, 655360, 196608, 2, 589824, 131072, 2, 524288, 196608, 2, 458752, 131072, 7, 393216, 131072, 6, 327680, 196608, 6, 262144, 196608, 6, 196608, 196608, 6, 131072, 196608, 6, 65536, 131072, 6, 0, 131072, 6, -65536, 131072, 6, -131072, 196608, 6, -196608, 131072, 5, 1179647, 131072, 7, 1114111, 131072, 6, 1048575, 196608, 6, 983039, 131072, 6, 917503, 196608, 6, 851967, 196608, 6, 786431, 196608, 5, 720895, 196608, 2, 655359, 131072, 2, 589823, 196608, 2, 524287, 131072, 7, 458751, 131072, 6, 393215, 131072, 6, 327679, 131072, 6, 262143, 131072, 6, 196607, 131072, 6, 131071, 196608, 6, 65535, 131072, 6, -1, 131072, 6, -65537, 131072, 6, -131073, 196608, 5, 1179646, 196608, 7, 1114110, 131072, 6, 1048574, 196608, 6, 983038, 131072, 6, 917502, 196608, 6, 851966, 131072, 6, 786430, 131072, 5, 720894, 131072, 2, 655358, 196608, 2, 589822, 196608, 2, 524286, 131072, 7, 458750, 131072, 6, 393214, 131072, 6, 327678, 196608, 6, 262142, 131072, 6, 196606, 196608, 6, 131070, 196608, 6, 65534, 131072, 6, -2, 131072, 6, -65538, 131072, 6, -131074, 131072, 5, 1179645, 65536, 7, 1114109, 65536, 6, 1048573, 65536, 6, 983037, 65536, 6, 917501, 65536, 6, 851965, 65536, 6, 786429, 65536, 5, 720893, 196608, 2, 655357, 65536, 2, 589821, 131072, 2, 524285, 65536, 7, 458749, 65536, 6, 393213, 65536, 6, 327677, 65536, 6, 262141, 65536, 6, 196605, 65536, 6, 131069, 65536, 6, 65533, 65536, 6, -3, 65536, 6, -65539, 65536, 6, -131075, 65536, 5, 65574, 262144, 6, 38, 262144, 6, -65498, 262144, 6, -131034, 262144, 6, -196570, 262144, 5, 65573, 196608, 6, 37, 196608, 6, -65499, 196608, 6, -131035, 196608, 6, -196571, 131072, 5, 65572, 131072, 6, 36, 196608, 6, -65500, 131072, 6, -131036, 131072, 6, -196572, 196608, 5, 65571, 196608, 6, 35, 196608, 6, -65501, 196608, 6, -131037, 196608, 6, -196573, 196608, 5, 65570, 131072, 6, 34, 131072, 6, -65502, 131072, 6, -131038, 196608, 6, -196574, 196608, 5, 65569, 196608, 7, 33, 196608, 6, -65503, 131072, 6, -131039, 131072, 6, -196575, 131072, 5, 65568, 131072, 7, 32, 196608, 6, -65504, 196608, 6, -131040, 196608, 6, -196576, 131072, 5, 65567, 196608, 7, 31, 131072, 6, -65505, 196608, 6, -131041, 131072, 6, -196577, 131072, 5, 65566, 196608, 7, 30, 131072, 6, -65506, 131072, 6, -131042, 196608, 6, -196578, 131072, 5, 65565, 196608, 7, 29, 131072, 6, -65507, 131072, 6, -131043, 131072, 6, -196579, 131072, 5, 65564, 196608, 7, 28, 196608, 6, -65508, 196608, 6, -131044, 196608, 6, -196580, 131072, 5, 65563, 131072, 6, 27, 131072, 6, -65509, 196608, 6, -131045, 131072, 6, -196581, 196608, 5, 65562, 131072, 6, 26, 131072, 6, -65510, 131072, 6, -131046, 131072, 6, -196582, 131072, 5, 65561, 196608, 6, 25, 196608, 6, -65511, 196608, 6, -131047, 196608, 6, -196583, 196608, 5, 65560, 131072, 6, 24, 196608, 6, -65512, 131072, 6, -131048, 131072, 6, -196584, 196608, 5, 65559, 196608, 6, 23, 131072, 6, -65513, 131072, 6, -131049, 131072, 6, -196585, 196608, 5, 65558, 196608, 6, 22, 131072, 6, -65514, 196608, 6, -131050, 196608, 6, -196586, 196608, 5, 65557, 131072, 6, 21, 131072, 6, -65515, 131072, 6, -131051, 131072, 6, -196587, 196608, 5, 65556, 131072, 6, 20, 196608, 6, -65516, 131072, 6, -131052, 131072, 6, -196588, 196608, 5, 65555, 196608, 6, 19, 196608, 6, -65517, 131072, 6, -131053, 196608, 6, -196589, 131072, 5, 65554, 131072, 6, 18, 131072, 6, -65518, 131072, 6, -131054, 131072, 6, -196590, 131072, 5, 65553, 131072, 6, 17, 196608, 6, -65519, 131072, 6, -131055, 131072, 6, -196591, 131072, 5, 65552, 196608, 6, 16, 131072, 6, -65520, 196608, 6, -131056, 196608, 6, -196592, 131072, 5, 65551, 131072, 6, 15, 196608, 6, -65521, 131072, 6, -131057, 131072, 6, -196593, 196608, 5, 65550, 131072, 6, 14, 131072, 6, -65522, 131072, 6, -131058, 131072, 6, -196594, 131072, 5, 65549, 131072, 6, 13, 196608, 6, -65523, 131072, 6, -131059, 196608, 6, -196595, 196608, 5, 65548, 196608, 6, 12, 196608, 6, -65524, 196608, 6, -131060, 196608, 6, -196596, 196608, 5, 65547, 196608, 6, 11, 196608, 6, -65525, 131072, 6, -131061, 131072, 6, -196597, 131072, 5, 65546, 131072, 6, 10, 131072, 6, -65526, 196608, 6, -131062, 131072, 6, -196598, 131072, 5, 65545, 196608, 6, 9, 196608, 6, -65527, 131072, 6, -131063, 196608, 6, -196599, 196608, 5, 65544, 131072, 6, 8, 131072, 6, -65528, 196608, 6, -131064, 131072, 6, -196600, 196608, 5, 65543, 196608, 7, 7, 131072, 6, -65529, 131072, 6, -131065, 196608, 6, -196601, 131072, 5, 65542, 196608, 7, 6, 196608, 6, -65530, 131072, 6, -131066, 131072, 6, -196602, 131072, 5, 65541, 196608, 7, 5, 131072, 6, -65531, 196608, 6, -131067, 131072, 6, -196603, 196608, 5, 65540, 131072, 7, 4, 196608, 6, -65532, 131072, 6, -131068, 131072, 6, -196604, 196608, 5, 65539, 196608, 7, 3, 131072, 6, -65533, 196608, 6, -131069, 131072, 6, -196605, 196608, 5, 65538, 196608, 7, 2, 131072, 6, -65534, 196608, 6, -131070, 131072, 6, -196606, 131072, 5, 1114150, 262144, 2, 1048614, 262144, 2, 983078, 262144, 2, 917542, 262144, 2, 852006, 262144, 2, 786470, 262144, 2, 720934, 262144, 2, 655398, 262144, 2, 589862, 262144, 2, 524326, 196608, 2, 458790, 262144, 7, 393254, 262144, 6, 327718, 262144, 6, 262182, 262144, 6, 196646, 262144, 6, 131110, 262144, 6, 1114149, 131072, 2, 1048613, 196608, 2, 983077, 131072, 2, 917541, 196608, 2, 852005, 131072, 2, 786469, 196608, 2, 720933, 131072, 2, 655397, 131072, 2, 589861, 196608, 2, 524325, 196608, 2, 458789, 131072, 7, 393253, 196608, 6, 327717, 196608, 6, 262181, 196608, 6, 196645, 131072, 6, 131109, 196608, 6, 1114148, 131072, 2, 1048612, 131072, 2, 983076, 196608, 2, 917540, 196608, 2, 852004, 196608, 2, 786468, 196608, 2, 720932, 196608, 2, 655396, 196608, 2, 589860, 131072, 2, 524324, 196608, 2, 458788, 131072, 7, 393252, 196608, 6, 327716, 196608, 6, 262180, 196608, 6, 196644, 131072, 6, 131108, 196608, 6, 1114147, 196608, 2, 1048611, 131072, 2, 983075, 196608, 2, 917539, 196608, 2, 852003, 131072, 2, 786467, 131072, 2, 720931, 196608, 2, 655395, 196608, 2, 589859, 196608, 2, 524323, 131072, 2, 458787, 196608, 7, 393251, 131072, 6, 327715, 196608, 6, 262179, 196608, 6, 196643, 196608, 6, 131107, 131072, 6, 1114146, 196608, 2, 1048610, 131072, 2, 983074, 131072, 2, 917538, 131072, 2, 852002, 196608, 2, 786466, 131072, 2, 720930, 65536, 2, 655394, 196608, 2, 589858, 131072, 2, 524322, 131072, 2, 458786, 65536, 7, 393250, 65536, 6, 327714, 65536, 6, 262178, 65536, 6, 196642, 65536, 6, 131106, 65536, 6, 983071, 196608, 2, 1048607, 131072, 2, 1114143, 196608, 2, 983072, 196608, 2, 1048608, 196608, 2, 1114144, 196608, 2, 458779, 262144, 7, 393243, 262144, 6, 327707, 262144, 6, 262171, 262144, 6, 196635, 262144, 6, 131099, 262144, 6, 458778, 196608, 7, 393242, 196608, 6, 327706, 131072, 6, 262170, 196608, 6, 196634, 131072, 6, 131098, 131072, 6, 458777, 196608, 7, 393241, 131072, 6, 327705, 131072, 6, 262169, 196608, 6, 196633, 131072, 6, 131097, 131072, 6, 458776, 196608, 7, 393240, 131072, 6, 327704, 131072, 6, 262168, 131072, 6, 196632, 131072, 6, 131096, 131072, 6, 458775, 196608, 7, 393239, 196608, 6, 327703, 196608, 6, 262167, 196608, 6, 196631, 196608, 6, 131095, 131072, 6, 458774, 131072, 7, 393238, 196608, 6, 327702, 196608, 6, 262166, 196608, 6, 196630, 196608, 6, 131094, 196608, 6, 458773, 196608, 7, 393237, 196608, 6, 327701, 131072, 6, 262165, 131072, 6, 196629, 131072, 6, 131093, 131072, 6, 458772, 196608, 7, 393236, 131072, 6, 327700, 131072, 6, 262164, 131072, 6, 196628, 131072, 6, 131092, 196608, 6, 458771, 196608, 7, 393235, 196608, 6, 327699, 131072, 6, 262163, 131072, 6, 196627, 196608, 6, 131091, 196608, 6, 458770, 196608, 7, 393234, 131072, 6, 327698, 131072, 6, 262162, 131072, 6, 196626, 131072, 6, 131090, 131072, 6, 458769, 196608, 7, 393233, 131072, 6, 327697, 131072, 6, 262161, 131072, 6, 196625, 196608, 6, 131089, 196608, 6, 458768, 131072, 7, 393232, 131072, 6, 327696, 196608, 6, 262160, 131072, 6, 196624, 196608, 6, 131088, 131072, 6, 458767, 196608, 7, 393231, 131072, 6, 327695, 196608, 6, 262159, 131072, 6, 196623, 196608, 6, 131087, 131072, 6, 458766, 196608, 7, 393230, 131072, 6, 327694, 196608, 6, 262158, 196608, 6, 196622, 131072, 6, 131086, 196608, 6, 458765, 196608, 7, 393229, 196608, 6, 327693, 196608, 6, 262157, 131072, 6, 196621, 196608, 6, 131085, 131072, 6, 458764, 131072, 7, 393228, 131072, 6, 327692, 131072, 6, 262156, 196608, 6, 196620, 131072, 6, 131084, 196608, 6, 458763, 131072, 7, 393227, 131072, 6, 327691, 131072, 6, 262155, 131072, 6, 196619, 131072, 6, 131083, 196608, 6, 458762, 131072, 7, 393226, 131072, 6, 327690, 131072, 6, 262154, 196608, 6, 196618, 196608, 6, 131082, 131072, 6, 458761, 196608, 7, 393225, 131072, 6, 327689, 131072, 6, 262153, 196608, 6, 196617, 131072, 6, 131081, 196608, 6, 458760, 65536, 7, 393224, 65536, 6, 327688, 65536, 6, 262152, 65536, 6, 196616, 65536, 6, 131080, 65536, 6, 655393, 196608, 3, 589857, 196608, 2, 524321, 131072, 1, 655392, 196608, 3, 589856, 196608, 2, 524320, 131072, 1, 655391, 196608, 3, 589855, 131072, 2, 524319, 131072, 1, 655390, 131072, 3, 589854, 196608, 2, 524318, 196608, 1, 655389, 196608, 3, 589853, 131072, 2, 524317, 131072, 1, 655388, 196608, 3, 589852, 131072, 2, 524316, 196608, 1, 655387, 131072, 3, 589851, 131072, 2, 524315, 196608, 2, 655386, 131072, 3, 589850, 131072, 2, 524314, 196608, 2, 655385, 196608, 3, 589849, 131072, 2, 524313, 131072, 2, 655384, 131072, 3, 589848, 196608, 2, 524312, 131072, 2, 655383, 196608, 3, 589847, 131072, 2, 524311, 131072, 2, 655382, 131072, 3, 589846, 131072, 2, 524310, 196608, 2, 655381, 196608, 3, 589845, 131072, 2, 524309, 131072, 2, 655380, 196608, 3, 589844, 131072, 2, 524308, 131072, 2, 655379, 131072, 3, 589843, 196608, 2, 524307, 131072, 2, 655378, 131072, 3, 589842, 131072, 2, 524306, 196608, 2, 655377, 131072, 3, 589841, 196608, 2, 524305, 131072, 2, 655376, 196608, 3, 589840, 131072, 2, 524304, 131072, 2, 655375, 131072, 3, 589839, 196608, 2, 524303, 131072, 2, 655374, 131072, 3, 589838, 131072, 2, 524302, 131072, 2, 655373, 196608, 3, 589837, 196608, 2, 524301, 196608, 2, 655372, 196608, 3, 589836, 131072, 2, 524300, 196608, 2, 655371, 196608, 3, 589835, 196608, 2, 524299, 131072, 2, 655370, 131072, 3, 589834, 196608, 2, 524298, 131072, 2, 655369, 131072, 3, 589833, 131072, 2, 524297, 196608, 2, 655368, 196608, 3, 589832, 196608, 2, 524296, 131072, 2, 655367, 131072, 3, 589831, 196608, 2, 524295, 196608, 1, 655366, 131072, 3, 589830, 196608, 2, 524294, 196608, 1, 655365, 131072, 3, 589829, 131072, 2, 524293, 196608, 1, 655364, 196608, 3, 589828, 196608, 2, 524292, 196608, 1, 655363, 196608, 3, 589827, 196608, 2, 524291, 131072, 1, 655362, 196608, 3, 589826, 131072, 2, 524290, 131072, 1, 1114145, 196608, 2, 1048609, 196608, 2, 1114142, 131072, 2, 1048606, 196608, 2, 1114141, 131072, 2, 1048605, 196608, 2, 1114140, 196608, 2, 1048604, 196608, 2, 1114139, 196608, 2, 1048603, 131072, 1, 1114138, 131072, 2, 1048602, 196608, 1, 1114137, 65536, 2, 1048601, 65536, 1, 983073, 196608, 2, 917537, 196608, 2, 917536, 131072, 2, 917535, 196608, 2, 983070, 196608, 2, 917534, 131072, 1, 983069, 196608, 2, 917533, 196608, 1, 983068, 65536, 2, 917532, 65536, 1, 852001, 196608, 2, 786465, 131072, 1, 852000, 196608, 2, 786464, 131072, 1, 851999, 65536, 2, 786463, 65536, 1, 458783, 327680, 7, 393247, 327680, 6, 327711, 327680, 5, 327712, 393216, 5, 393248, 393216, 6, 458784, 393216, 7) 57 | 58 | [node name="MainCollision" type="StaticBody2D" parent="."] 59 | collision_mask = 3 60 | script = ExtResource("3_fiexn") 61 | 62 | [node name="Bottom" type="CollisionShape2D" parent="MainCollision"] 63 | position = Vector2(648, 738) 64 | shape = SubResource("RectangleShape2D_uyb8e") 65 | 66 | [node name="Top" type="CollisionShape2D" parent="MainCollision"] 67 | position = Vector2(648, -18) 68 | shape = SubResource("RectangleShape2D_uyb8e") 69 | 70 | [node name="Left" type="CollisionShape2D" parent="MainCollision"] 71 | position = Vector2(-18, 360) 72 | shape = SubResource("RectangleShape2D_w61gj") 73 | 74 | [node name="Right" type="CollisionShape2D" parent="MainCollision"] 75 | position = Vector2(1314, 360) 76 | shape = SubResource("RectangleShape2D_w61gj") 77 | 78 | [node name="Middle" type="CollisionShape2D" parent="MainCollision"] 79 | position = Vector2(648, 342) 80 | shape = SubResource("RectangleShape2D_h4b0h") 81 | 82 | [node name="Block" type="CollisionShape2D" parent="MainCollision"] 83 | position = Vector2(648, 180) 84 | shape = SubResource("RectangleShape2D_xwttq") 85 | 86 | [node name="Step1" type="CollisionShape2D" parent="MainCollision"] 87 | position = Vector2(1062, 612) 88 | shape = SubResource("RectangleShape2D_oipyj") 89 | 90 | [node name="Step2" type="CollisionShape2D" parent="MainCollision"] 91 | position = Vector2(1116, 540) 92 | shape = SubResource("RectangleShape2D_xhcki") 93 | 94 | [node name="Step3" type="CollisionShape2D" parent="MainCollision"] 95 | position = Vector2(1170, 468) 96 | shape = SubResource("RectangleShape2D_3usce") 97 | 98 | [node name="GoalCollision" type="StaticBody2D" parent="." node_paths=PackedStringArray("window")] 99 | collision_mask = 3 100 | script = ExtResource("3_fiexn") 101 | window = NodePath("../GoalWindow") 102 | 103 | [node name="Bottom" type="CollisionShape2D" parent="GoalCollision"] 104 | position = Vector2(648, 738) 105 | shape = SubResource("RectangleShape2D_uyb8e") 106 | 107 | [node name="Top" type="CollisionShape2D" parent="GoalCollision"] 108 | position = Vector2(648, -18) 109 | shape = SubResource("RectangleShape2D_uyb8e") 110 | 111 | [node name="Left" type="CollisionShape2D" parent="GoalCollision"] 112 | position = Vector2(-18, 360) 113 | shape = SubResource("RectangleShape2D_w61gj") 114 | 115 | [node name="Right" type="CollisionShape2D" parent="GoalCollision"] 116 | position = Vector2(1314, 360) 117 | shape = SubResource("RectangleShape2D_w61gj") 118 | 119 | [node name="Middle" type="CollisionShape2D" parent="GoalCollision"] 120 | position = Vector2(648, 342) 121 | shape = SubResource("RectangleShape2D_h4b0h") 122 | 123 | [node name="Block" type="CollisionShape2D" parent="GoalCollision"] 124 | position = Vector2(648, 180) 125 | shape = SubResource("RectangleShape2D_xwttq") 126 | 127 | [node name="Step1" type="CollisionShape2D" parent="GoalCollision"] 128 | position = Vector2(1062, 612) 129 | shape = SubResource("RectangleShape2D_oipyj") 130 | 131 | [node name="Step2" type="CollisionShape2D" parent="GoalCollision"] 132 | position = Vector2(1116, 540) 133 | shape = SubResource("RectangleShape2D_xhcki") 134 | 135 | [node name="Step3" type="CollisionShape2D" parent="GoalCollision"] 136 | position = Vector2(1170, 468) 137 | shape = SubResource("RectangleShape2D_3usce") 138 | 139 | [node name="Player" parent="." instance=ExtResource("4_hxymb")] 140 | position = Vector2(78, 188) 141 | 142 | [node name="GoalWindow" type="Window" parent="."] 143 | position = Vector2i(936, 36) 144 | size = Vector2i(360, 360) 145 | visible = false 146 | script = ExtResource("7_5uf3r") 147 | start_pos = Vector2i(936, 0) 148 | 149 | [node name="Camera2D" type="Camera2D" parent="GoalWindow"] 150 | anchor_mode = 0 151 | 152 | [node name="Confetti" type="CPUParticles2D" parent="."] 153 | position = Vector2(1152, 195) 154 | emitting = false 155 | amount = 32 156 | one_shot = true 157 | explosiveness = 1.0 158 | direction = Vector2(0, -1) 159 | spread = 30.0 160 | initial_velocity_min = 320.0 161 | initial_velocity_max = 480.0 162 | scale_amount_min = 4.0 163 | scale_amount_max = 4.0 164 | color_ramp = SubResource("Gradient_agbyn") 165 | color_initial_ramp = SubResource("Gradient_lfh8r") 166 | 167 | [node name="WinSound" type="AudioStreamPlayer" parent="."] 168 | stream = ExtResource("8_2mbut") 169 | bus = &"SFX" 170 | 171 | [node name="GoalAreaMain" type="Area2D" parent="."] 172 | collision_layer = 2 173 | collision_mask = 2 174 | script = ExtResource("8_y82gg") 175 | 176 | [node name="CollisionShape2D" type="CollisionShape2D" parent="GoalAreaMain"] 177 | position = Vector2(1152, 243) 178 | shape = SubResource("RectangleShape2D_u2xi3") 179 | 180 | [node name="GoalAreaGoal" type="Area2D" parent="." node_paths=PackedStringArray("window")] 181 | collision_layer = 2 182 | collision_mask = 2 183 | script = ExtResource("8_y82gg") 184 | window = NodePath("../GoalWindow") 185 | 186 | [node name="CollisionShape2D" type="CollisionShape2D" parent="GoalAreaGoal"] 187 | position = Vector2(1152, 243) 188 | shape = SubResource("RectangleShape2D_u2xi3") 189 | 190 | [connection signal="body_entered" from="GoalAreaMain" to="GoalAreaMain" method="triggered"] 191 | [connection signal="level_complete" from="GoalAreaMain" to="." method="level_complete"] 192 | [connection signal="body_entered" from="GoalAreaGoal" to="GoalAreaGoal" method="triggered"] 193 | [connection signal="level_complete" from="GoalAreaGoal" to="." method="level_complete"] 194 | -------------------------------------------------------------------------------- /level1.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=31 format=3 uid="uid://d2enwkcg38xfm"] 2 | 3 | [ext_resource type="Script" path="res://Main.gd" id="1_v41gg"] 4 | [ext_resource type="Script" path="res://CropCollision.gd" id="3_4jr6d"] 5 | [ext_resource type="TileSet" uid="uid://codqxp3pqyrh8" path="res://LevelTileset.tres" id="3_4kt5i"] 6 | [ext_resource type="Script" path="res://ToggleWall.gd" id="4_csvuv"] 7 | [ext_resource type="Script" path="res://Button.gd" id="5_lb8hk"] 8 | [ext_resource type="Script" path="res://EntityWindow.gd" id="5_m7r4a"] 9 | [ext_resource type="Texture2D" uid="uid://iwgl1axqd5r0" path="res://ButtonDown.png" id="6_m7g24"] 10 | [ext_resource type="Texture2D" uid="uid://4wibn5giwk0m" path="res://ButtonUp.png" id="7_2jvoe"] 11 | [ext_resource type="Texture2D" uid="uid://bepdq6muljl4k" path="res://Box.png" id="8_eok6k"] 12 | [ext_resource type="AudioStream" uid="uid://18kxn06rbasx" path="res://switch7.ogg" id="9_80urc"] 13 | [ext_resource type="PackedScene" uid="uid://cagdfcj2kex1f" path="res://Player.tscn" id="10_s4n6h"] 14 | [ext_resource type="Script" path="res://Goal.gd" id="12_57yxo"] 15 | [ext_resource type="AudioStream" uid="uid://cf6iryiu7ip81" path="res://confirmation_002.ogg" id="12_fatax"] 16 | [ext_resource type="Script" path="res://Hint.gd" id="13_7pq1d"] 17 | [ext_resource type="Texture2D" uid="uid://7yewaju4wb8i" path="res://arrow_horizontal.png" id="13_gl7bg"] 18 | [ext_resource type="AudioStream" uid="uid://bbx2swuao8eub" path="res://switch6.ogg" id="13_odctu"] 19 | 20 | [sub_resource type="RectangleShape2D" id="RectangleShape2D_8pesk"] 21 | size = Vector2(72, 576) 22 | 23 | [sub_resource type="RectangleShape2D" id="RectangleShape2D_uyb8e"] 24 | size = Vector2(1512, 180) 25 | 26 | [sub_resource type="RectangleShape2D" id="RectangleShape2D_w61gj"] 27 | size = Vector2(180, 576) 28 | 29 | [sub_resource type="SpriteFrames" id="SpriteFrames_co7mr"] 30 | animations = [{ 31 | "frames": [{ 32 | "duration": 1.0, 33 | "texture": ExtResource("6_m7g24") 34 | }], 35 | "loop": true, 36 | "name": &"Pressed", 37 | "speed": 5.0 38 | }, { 39 | "frames": [{ 40 | "duration": 1.0, 41 | "texture": ExtResource("7_2jvoe") 42 | }], 43 | "loop": true, 44 | "name": &"Unpressed", 45 | "speed": 0.0 46 | }] 47 | 48 | [sub_resource type="RectangleShape2D" id="RectangleShape2D_u8yhe"] 49 | size = Vector2(58, 28) 50 | 51 | [sub_resource type="PhysicsMaterial" id="PhysicsMaterial_ivpw0"] 52 | friction = 5.0 53 | rough = true 54 | 55 | [sub_resource type="RectangleShape2D" id="RectangleShape2D_ebecx"] 56 | size = Vector2(72, 72) 57 | 58 | [sub_resource type="Gradient" id="Gradient_88ml6"] 59 | offsets = PackedFloat32Array(0, 0.8, 1) 60 | colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0) 61 | 62 | [sub_resource type="Gradient" id="Gradient_627en"] 63 | offsets = PackedFloat32Array(0, 0.333, 0.666, 1) 64 | colors = PackedColorArray(1, 0.25, 0.25, 1, 0.25, 1, 0.25, 1, 0.25, 0.25, 1, 1, 1, 0.25, 0.25, 1) 65 | 66 | [sub_resource type="RectangleShape2D" id="RectangleShape2D_oagaf"] 67 | size = Vector2(72, 90) 68 | 69 | [sub_resource type="Animation" id="Animation_p3y3l"] 70 | resource_name = "Hint" 71 | length = 2.5 72 | loop_mode = 1 73 | step = 0.25 74 | tracks/0/type = "value" 75 | tracks/0/imported = false 76 | tracks/0/enabled = true 77 | tracks/0/path = NodePath(".:self_modulate") 78 | tracks/0/interp = 1 79 | tracks/0/loop_wrap = true 80 | tracks/0/keys = { 81 | "times": PackedFloat32Array(0, 0.25, 1.75, 2, 2.5), 82 | "transitions": PackedFloat32Array(1, 1, 1, 1, 1), 83 | "update": 0, 84 | "values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1), Color(1, 1, 1, 1), Color(1, 1, 1, 0), Color(1, 1, 1, 0)] 85 | } 86 | tracks/1/type = "value" 87 | tracks/1/imported = false 88 | tracks/1/enabled = true 89 | tracks/1/path = NodePath(".:position") 90 | tracks/1/interp = 1 91 | tracks/1/loop_wrap = true 92 | tracks/1/keys = { 93 | "times": PackedFloat32Array(0, 0.5, 1.25, 2.5), 94 | "transitions": PackedFloat32Array(1, -2, 1, 1), 95 | "update": 0, 96 | "values": [Vector2(-32, 328), Vector2(-32, 328), Vector2(328, 328), Vector2(328, 328)] 97 | } 98 | 99 | [sub_resource type="Animation" id="Animation_dbyyy"] 100 | length = 0.001 101 | tracks/0/type = "value" 102 | tracks/0/imported = false 103 | tracks/0/enabled = true 104 | tracks/0/path = NodePath(".:self_modulate") 105 | tracks/0/interp = 1 106 | tracks/0/loop_wrap = true 107 | tracks/0/keys = { 108 | "times": PackedFloat32Array(0), 109 | "transitions": PackedFloat32Array(1), 110 | "update": 0, 111 | "values": [Color(1, 1, 1, 0)] 112 | } 113 | tracks/1/type = "value" 114 | tracks/1/imported = false 115 | tracks/1/enabled = true 116 | tracks/1/path = NodePath(".:position") 117 | tracks/1/interp = 1 118 | tracks/1/loop_wrap = true 119 | tracks/1/keys = { 120 | "times": PackedFloat32Array(0), 121 | "transitions": PackedFloat32Array(1), 122 | "update": 0, 123 | "values": [Vector2(-32, 328)] 124 | } 125 | 126 | [sub_resource type="AnimationLibrary" id="AnimationLibrary_j52ui"] 127 | _data = { 128 | "Hint": SubResource("Animation_p3y3l"), 129 | "RESET": SubResource("Animation_dbyyy") 130 | } 131 | 132 | [sub_resource type="RectangleShape2D" id="RectangleShape2D_b18ur"] 133 | size = Vector2(112, 576) 134 | 135 | [node name="Level1" type="Node2D"] 136 | visibility_layer = 15 137 | texture_filter = 1 138 | script = ExtResource("1_v41gg") 139 | next_level = "res://Level2.tscn" 140 | 141 | [node name="Camera2D" type="Camera2D" parent="."] 142 | anchor_mode = 0 143 | 144 | [node name="TileMap" type="TileMap" parent="."] 145 | tile_set = ExtResource("3_4kt5i") 146 | format = 2 147 | layer_0/tile_data = PackedInt32Array(1441830, 262144, 3, 1376294, 262144, 2, 1310758, 262144, 2, 1245222, 262144, 2, 1179686, 196608, 2, 1441829, 196608, 3, 1376293, 196608, 2, 1310757, 131072, 2, 1245221, 131072, 2, 1179685, 196608, 2, 1441828, 131072, 3, 1376292, 131072, 2, 1310756, 131072, 2, 1245220, 131072, 2, 1179684, 131072, 2, 1441827, 196608, 3, 1376291, 196608, 2, 1310755, 131072, 2, 1245219, 196608, 2, 1179683, 196608, 2, 1441826, 196608, 3, 1376290, 131072, 2, 1310754, 131072, 2, 1245218, 196608, 2, 1179682, 131072, 2, 1441825, 196608, 3, 1376289, 131072, 2, 1310753, 131072, 2, 1245217, 131072, 2, 1179681, 196608, 1, 1441824, 131072, 3, 1376288, 131072, 2, 1310752, 196608, 2, 1245216, 131072, 2, 1179680, 196608, 1, 1441823, 131072, 3, 1376287, 196608, 2, 1310751, 131072, 2, 1245215, 131072, 2, 1179679, 131072, 1, 1441822, 131072, 3, 1376286, 196608, 2, 1310750, 196608, 2, 1245214, 131072, 2, 1179678, 131072, 1, 1441821, 196608, 3, 1376285, 131072, 2, 1310749, 131072, 2, 1245213, 196608, 2, 1179677, 131072, 1, 1441820, 131072, 3, 1376284, 131072, 2, 1310748, 131072, 2, 1245212, 131072, 2, 1179676, 196608, 1, 1441819, 196608, 3, 1376283, 131072, 2, 1310747, 131072, 2, 1245211, 196608, 2, 1179675, 196608, 1, 1441818, 131072, 3, 1376282, 131072, 2, 1310746, 196608, 2, 1245210, 196608, 2, 1179674, 131072, 1, 1441817, 131072, 3, 1376281, 131072, 2, 1310745, 131072, 2, 1245209, 196608, 2, 1179673, 131072, 1, 1441816, 131072, 3, 1376280, 196608, 2, 1310744, 196608, 2, 1245208, 131072, 2, 1179672, 131072, 1, 1441815, 196608, 3, 1376279, 131072, 2, 1310743, 131072, 2, 1245207, 131072, 2, 1179671, 196608, 1, 1441814, 196608, 3, 1376278, 131072, 2, 1310742, 131072, 2, 1245206, 196608, 2, 1179670, 196608, 1, 1441813, 131072, 3, 1376277, 131072, 2, 1310741, 131072, 2, 1245205, 131072, 2, 1179669, 131072, 1, 1441812, 196608, 3, 1376276, 131072, 2, 1310740, 196608, 2, 1245204, 131072, 2, 1179668, 131072, 1, 1441811, 131072, 3, 1376275, 131072, 2, 1310739, 131072, 2, 1245203, 131072, 2, 1179667, 131072, 1, 1441810, 196608, 3, 1376274, 131072, 2, 1310738, 131072, 2, 1245202, 196608, 2, 1179666, 196608, 1, 1441809, 196608, 3, 1376273, 131072, 2, 1310737, 131072, 2, 1245201, 131072, 2, 1179665, 131072, 1, 1441808, 131072, 3, 1376272, 196608, 2, 1310736, 131072, 2, 1245200, 131072, 2, 1179664, 196608, 1, 1441807, 196608, 3, 1376271, 196608, 2, 1310735, 196608, 2, 1245199, 196608, 2, 1179663, 196608, 1, 1441806, 196608, 3, 1376270, 196608, 2, 1310734, 196608, 2, 1245198, 131072, 2, 1179662, 131072, 1, 1441805, 196608, 3, 1376269, 196608, 2, 1310733, 196608, 2, 1245197, 196608, 2, 1179661, 196608, 1, 1441804, 196608, 3, 1376268, 131072, 2, 1310732, 196608, 2, 1245196, 131072, 2, 1179660, 196608, 1, 1441803, 196608, 3, 1376267, 131072, 2, 1310731, 131072, 2, 1245195, 196608, 2, 1179659, 196608, 1, 1441802, 196608, 3, 1376266, 196608, 2, 1310730, 131072, 2, 1245194, 196608, 2, 1179658, 196608, 1, 1441801, 131072, 3, 1376265, 196608, 2, 1310729, 131072, 2, 1245193, 131072, 2, 1179657, 131072, 1, 1441800, 131072, 3, 1376264, 196608, 2, 1310728, 196608, 2, 1245192, 196608, 2, 1179656, 196608, 1, 1441799, 131072, 3, 1376263, 196608, 2, 1310727, 196608, 2, 1245191, 131072, 2, 1179655, 131072, 1, 1441798, 131072, 3, 1376262, 131072, 2, 1310726, 196608, 2, 1245190, 196608, 2, 1179654, 131072, 1, 1441797, 131072, 3, 1376261, 131072, 2, 1310725, 196608, 2, 1245189, 131072, 2, 1179653, 131072, 1, 1441796, 196608, 3, 1376260, 196608, 2, 1310724, 131072, 2, 1245188, 131072, 2, 1179652, 131072, 1, 1441795, 131072, 3, 1376259, 131072, 2, 1310723, 131072, 2, 1245187, 196608, 2, 1179651, 131072, 1, 1441794, 196608, 3, 1376258, 131072, 2, 1310722, 196608, 2, 1245186, 131072, 2, 1179650, 131072, 1, 1441793, 131072, 3, 1376257, 196608, 2, 1310721, 131072, 2, 1245185, 196608, 2, 1179649, 196608, 2, 1441792, 196608, 3, 1376256, 131072, 2, 1310720, 131072, 2, 1245184, 131072, 2, 1179648, 196608, 2, 1507327, 131072, 3, 1441791, 131072, 2, 1376255, 196608, 2, 1310719, 196608, 2, 1245183, 131072, 2, 1507326, 196608, 3, 1441790, 196608, 2, 1376254, 131072, 2, 1310718, 131072, 2, 1245182, 196608, 2, 1507325, 65536, 3, 1441789, 65536, 2, 1376253, 65536, 2, 1310717, 65536, 2, 1245181, 131072, 2, 1114113, 262144, 7, 1048577, 262144, 6, 983041, 262144, 6, 917505, 262144, 6, 851969, 262144, 6, 786433, 262144, 6, 720897, 262144, 6, 655361, 262144, 6, 589825, 262144, 6, 524289, 262144, 6, 458753, 262144, 6, 393217, 262144, 6, 327681, 262144, 6, 262145, 262144, 6, 196609, 262144, 6, 131073, 262144, 6, 65537, 196608, 6, 1, 131072, 6, -65535, 196608, 6, -131071, 196608, 6, -196607, 131072, 5, 1114112, 196608, 7, 1048576, 196608, 6, 983040, 131072, 6, 917504, 196608, 6, 851968, 131072, 6, 786432, 131072, 6, 720896, 131072, 6, 655360, 131072, 6, 589824, 131072, 6, 524288, 131072, 6, 458752, 196608, 6, 393216, 131072, 6, 327680, 196608, 6, 262144, 196608, 6, 196608, 196608, 6, 131072, 196608, 6, 65536, 131072, 6, 0, 131072, 6, -65536, 131072, 6, -131072, 196608, 6, -196608, 131072, 5, 1179647, 131072, 7, 1114111, 131072, 6, 1048575, 196608, 6, 983039, 131072, 6, 917503, 196608, 6, 851967, 196608, 6, 786431, 131072, 6, 720895, 196608, 6, 655359, 131072, 6, 589823, 131072, 6, 524287, 131072, 6, 458751, 131072, 6, 393215, 131072, 6, 327679, 131072, 6, 262143, 131072, 6, 196607, 131072, 6, 131071, 196608, 6, 65535, 131072, 6, -1, 131072, 6, -65537, 131072, 6, -131073, 196608, 5, 1179646, 196608, 7, 1114110, 131072, 6, 1048574, 196608, 6, 983038, 131072, 6, 917502, 196608, 6, 851966, 131072, 6, 786430, 131072, 6, 720894, 196608, 6, 655358, 196608, 6, 589822, 196608, 6, 524286, 131072, 6, 458750, 131072, 6, 393214, 131072, 6, 327678, 196608, 6, 262142, 131072, 6, 196606, 196608, 6, 131070, 196608, 6, 65534, 131072, 6, -2, 131072, 6, -65538, 131072, 6, -131074, 131072, 5, 1179645, 65536, 7, 1114109, 65536, 6, 1048573, 65536, 6, 983037, 65536, 6, 917501, 65536, 6, 851965, 65536, 6, 786429, 65536, 6, 720893, 65536, 6, 655357, 65536, 6, 589821, 65536, 6, 524285, 65536, 6, 458749, 65536, 6, 393213, 65536, 6, 327677, 65536, 6, 262141, 65536, 6, 196605, 65536, 6, 131069, 65536, 6, 65533, 65536, 6, -3, 65536, 6, -65539, 65536, 6, -131075, 65536, 5, 65574, 262144, 6, 38, 262144, 6, -65498, 262144, 6, -131034, 262144, 6, -196570, 262144, 5, 65573, 196608, 6, 37, 196608, 6, -65499, 196608, 6, -131035, 196608, 6, -196571, 131072, 5, 65572, 131072, 6, 36, 196608, 6, -65500, 131072, 6, -131036, 131072, 6, -196572, 196608, 5, 65571, 196608, 6, 35, 196608, 6, -65501, 196608, 6, -131037, 196608, 6, -196573, 196608, 5, 65570, 131072, 6, 34, 131072, 6, -65502, 131072, 6, -131038, 196608, 6, -196574, 196608, 5, 65569, 196608, 7, 33, 196608, 6, -65503, 131072, 6, -131039, 131072, 6, -196575, 131072, 5, 65568, 131072, 7, 32, 196608, 6, -65504, 196608, 6, -131040, 196608, 6, -196576, 131072, 5, 65567, 196608, 7, 31, 131072, 6, -65505, 196608, 6, -131041, 131072, 6, -196577, 131072, 5, 65566, 196608, 7, 30, 131072, 6, -65506, 131072, 6, -131042, 196608, 6, -196578, 131072, 5, 65565, 196608, 7, 29, 131072, 6, -65507, 131072, 6, -131043, 131072, 6, -196579, 131072, 5, 65564, 196608, 7, 28, 196608, 6, -65508, 196608, 6, -131044, 196608, 6, -196580, 131072, 5, 65563, 196608, 7, 27, 131072, 6, -65509, 196608, 6, -131045, 131072, 6, -196581, 196608, 5, 65562, 196608, 7, 26, 131072, 6, -65510, 131072, 6, -131046, 131072, 6, -196582, 131072, 5, 65561, 196608, 7, 25, 196608, 6, -65511, 196608, 6, -131047, 196608, 6, -196583, 196608, 5, 65560, 131072, 7, 24, 196608, 6, -65512, 131072, 6, -131048, 131072, 6, -196584, 196608, 5, 65559, 196608, 7, 23, 131072, 6, -65513, 131072, 6, -131049, 131072, 6, -196585, 196608, 5, 65558, 131072, 7, 22, 131072, 6, -65514, 196608, 6, -131050, 196608, 6, -196586, 196608, 5, 65557, 196608, 7, 21, 131072, 6, -65515, 131072, 6, -131051, 131072, 6, -196587, 196608, 5, 65556, 196608, 7, 20, 196608, 6, -65516, 131072, 6, -131052, 131072, 6, -196588, 196608, 5, 65555, 196608, 7, 19, 196608, 6, -65517, 131072, 6, -131053, 196608, 6, -196589, 131072, 5, 65554, 196608, 7, 18, 131072, 6, -65518, 131072, 6, -131054, 131072, 6, -196590, 131072, 5, 65553, 196608, 7, 17, 196608, 6, -65519, 131072, 6, -131055, 131072, 6, -196591, 131072, 5, 65552, 196608, 7, 16, 131072, 6, -65520, 196608, 6, -131056, 196608, 6, -196592, 131072, 5, 65551, 131072, 7, 15, 196608, 6, -65521, 131072, 6, -131057, 131072, 6, -196593, 196608, 5, 65550, 196608, 7, 14, 131072, 6, -65522, 131072, 6, -131058, 131072, 6, -196594, 131072, 5, 65549, 196608, 7, 13, 196608, 6, -65523, 131072, 6, -131059, 196608, 6, -196595, 196608, 5, 65548, 131072, 7, 12, 196608, 6, -65524, 196608, 6, -131060, 196608, 6, -196596, 196608, 5, 65547, 196608, 7, 11, 196608, 6, -65525, 131072, 6, -131061, 131072, 6, -196597, 131072, 5, 65546, 196608, 7, 10, 131072, 6, -65526, 196608, 6, -131062, 131072, 6, -196598, 131072, 5, 65545, 196608, 7, 9, 196608, 6, -65527, 131072, 6, -131063, 196608, 6, -196599, 196608, 5, 65544, 131072, 7, 8, 131072, 6, -65528, 196608, 6, -131064, 131072, 6, -196600, 196608, 5, 65543, 196608, 7, 7, 131072, 6, -65529, 131072, 6, -131065, 196608, 6, -196601, 131072, 5, 65542, 196608, 7, 6, 196608, 6, -65530, 131072, 6, -131066, 131072, 6, -196602, 131072, 5, 65541, 196608, 7, 5, 131072, 6, -65531, 196608, 6, -131067, 131072, 6, -196603, 196608, 5, 65540, 131072, 7, 4, 196608, 6, -65532, 131072, 6, -131068, 131072, 6, -196604, 196608, 5, 65539, 196608, 7, 3, 131072, 6, -65533, 196608, 6, -131069, 131072, 6, -196605, 196608, 5, 65538, 196608, 7, 2, 131072, 6, -65534, 196608, 6, -131070, 131072, 6, -196606, 131072, 5, 1114150, 262144, 7, 1048614, 262144, 6, 983078, 262144, 6, 917542, 262144, 6, 852006, 262144, 6, 786470, 262144, 6, 720934, 262144, 6, 655398, 262144, 6, 589862, 262144, 6, 524326, 262144, 6, 458790, 262144, 6, 393254, 262144, 6, 327718, 262144, 6, 262182, 262144, 6, 196646, 262144, 6, 131110, 262144, 6, 1114149, 196608, 7, 1048613, 131072, 6, 983077, 131072, 6, 917541, 196608, 6, 852005, 196608, 6, 786469, 196608, 6, 720933, 131072, 6, 655397, 131072, 6, 589861, 131072, 6, 524325, 131072, 6, 458789, 196608, 6, 393253, 196608, 6, 327717, 196608, 6, 262181, 196608, 6, 196645, 131072, 6, 131109, 196608, 6, 1114148, 196608, 7, 1048612, 196608, 6, 983076, 131072, 6, 917540, 196608, 6, 852004, 196608, 6, 786468, 196608, 6, 720932, 196608, 6, 655396, 196608, 6, 589860, 131072, 6, 524324, 196608, 6, 458788, 131072, 6, 393252, 196608, 6, 327716, 196608, 6, 262180, 196608, 6, 196644, 131072, 6, 131108, 196608, 6, 1114147, 131072, 7, 1048611, 196608, 6, 983075, 131072, 6, 917539, 196608, 6, 852003, 131072, 6, 786467, 131072, 6, 720931, 196608, 6, 655395, 196608, 6, 589859, 131072, 6, 524323, 196608, 6, 458787, 131072, 6, 393251, 131072, 6, 327715, 196608, 6, 262179, 196608, 6, 196643, 196608, 6, 131107, 131072, 6, 1114146, 65536, 7, 1048610, 65536, 6, 983074, 65536, 6, 917538, 65536, 6, 852002, 65536, 6, 786466, 65536, 6, 720930, 65536, 6, 655394, 65536, 6, 589858, 65536, 6, 524322, 65536, 6, 458786, 65536, 6, 393250, 65536, 6, 327714, 65536, 6, 262178, 65536, 6, 196642, 65536, 6, 131106, 65536, 6, 983071, 327680, 5, 1048607, 327680, 6, 1114143, 327680, 7, 983072, 393216, 5, 1048608, 393216, 6, 1114144, 393216, 7) 148 | 149 | [node name="WallA" type="StaticBody2D" parent="."] 150 | collision_mask = 7 151 | script = ExtResource("4_csvuv") 152 | 153 | [node name="TileMap" type="TileMap" parent="WallA"] 154 | self_modulate = Color(0.8, 1, 0.8, 1) 155 | tile_set = ExtResource("3_4kt5i") 156 | format = 2 157 | layer_0/tile_data = PackedInt32Array(131099, 327680, 1, 196635, 327680, 2, 262171, 327680, 3, 327707, 327680, 2, 393243, 327680, 3, 458779, 327680, 2, 524315, 327680, 3, 589851, 327680, 2, 655387, 327680, 3, 720923, 327680, 2, 786459, 327680, 3, 851995, 327680, 2, 917531, 327680, 3, 983067, 327680, 2, 1048603, 327680, 3, 1114139, 327680, 4, 131100, 327680, 1, 196636, 327680, 2, 262172, 327680, 3, 327708, 327680, 2, 393244, 327680, 3, 458780, 327680, 2, 524316, 327680, 3, 589852, 327680, 2, 655388, 327680, 3, 720924, 327680, 2, 786460, 327680, 3, 851996, 327680, 2, 917532, 327680, 3, 983068, 327680, 2, 1048604, 327680, 3, 1114140, 327680, 4) 158 | 159 | [node name="CollisionShape2D" type="CollisionShape2D" parent="WallA"] 160 | position = Vector2(1008, 360) 161 | shape = SubResource("RectangleShape2D_8pesk") 162 | 163 | [node name="WallB" type="StaticBody2D" parent="."] 164 | collision_mask = 7 165 | script = ExtResource("4_csvuv") 166 | default_state = true 167 | 168 | [node name="TileMap" type="TileMap" parent="WallB"] 169 | self_modulate = Color(1, 0.8, 0.8, 1) 170 | tile_set = ExtResource("3_4kt5i") 171 | format = 2 172 | layer_0/tile_data = PackedInt32Array(131093, 327680, 1, 196629, 327680, 2, 262165, 327680, 3, 327701, 327680, 2, 393237, 327680, 3, 458773, 327680, 2, 524309, 327680, 3, 589845, 327680, 2, 655381, 327680, 3, 720917, 327680, 2, 786453, 327680, 3, 851989, 327680, 2, 917525, 327680, 3, 983061, 327680, 2, 1048597, 327680, 3, 1114133, 327680, 4, 131094, 327680, 1, 196630, 327680, 2, 262166, 327680, 3, 327702, 327680, 2, 393238, 327680, 3, 458774, 327680, 2, 524310, 327680, 3, 589846, 327680, 2, 655382, 327680, 3, 720918, 327680, 2, 786454, 327680, 3, 851990, 327680, 2, 917526, 327680, 3, 983062, 327680, 2, 1048598, 327680, 3, 1114134, 327680, 4) 173 | 174 | [node name="CollisionShape2D" type="CollisionShape2D" parent="WallB"] 175 | position = Vector2(792, 360) 176 | shape = SubResource("RectangleShape2D_8pesk") 177 | 178 | [node name="StaticBody2D" type="StaticBody2D" parent="."] 179 | collision_mask = 7 180 | script = ExtResource("3_4jr6d") 181 | 182 | [node name="Bottom" type="CollisionShape2D" parent="StaticBody2D"] 183 | position = Vector2(648, 738) 184 | shape = SubResource("RectangleShape2D_uyb8e") 185 | 186 | [node name="Top" type="CollisionShape2D" parent="StaticBody2D"] 187 | position = Vector2(648, -18) 188 | shape = SubResource("RectangleShape2D_uyb8e") 189 | 190 | [node name="Left" type="CollisionShape2D" parent="StaticBody2D"] 191 | position = Vector2(-18, 360) 192 | shape = SubResource("RectangleShape2D_w61gj") 193 | 194 | [node name="Right" type="CollisionShape2D" parent="StaticBody2D"] 195 | position = Vector2(1314, 360) 196 | shape = SubResource("RectangleShape2D_w61gj") 197 | 198 | [node name="Button" type="Area2D" parent="."] 199 | position = Vector2(302, 648) 200 | collision_layer = 6 201 | collision_mask = 6 202 | script = ExtResource("5_lb8hk") 203 | 204 | [node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="Button"] 205 | position = Vector2(0, -32) 206 | sprite_frames = SubResource("SpriteFrames_co7mr") 207 | animation = &"Unpressed" 208 | autoplay = "Unpressed" 209 | 210 | [node name="CollisionShape2D" type="CollisionShape2D" parent="Button"] 211 | position = Vector2(0, -14) 212 | shape = SubResource("RectangleShape2D_u8yhe") 213 | 214 | [node name="PressSound" type="AudioStreamPlayer" parent="Button"] 215 | stream = ExtResource("13_odctu") 216 | bus = &"SFX" 217 | 218 | [node name="DepressSound" type="AudioStreamPlayer" parent="Button"] 219 | stream = ExtResource("9_80urc") 220 | bus = &"SFX" 221 | 222 | [node name="Box" type="RigidBody2D" parent="."] 223 | visibility_layer = 2 224 | position = Vector2(458, 576) 225 | collision_layer = 4 226 | collision_mask = 7 227 | physics_material_override = SubResource("PhysicsMaterial_ivpw0") 228 | lock_rotation = true 229 | 230 | [node name="Sprite2D" type="Sprite2D" parent="Box"] 231 | visibility_layer = 2 232 | texture = ExtResource("8_eok6k") 233 | centered = false 234 | 235 | [node name="CollisionShape2D" type="CollisionShape2D" parent="Box"] 236 | visibility_layer = 2 237 | position = Vector2(36, 36) 238 | shape = SubResource("RectangleShape2D_ebecx") 239 | 240 | [node name="BoxWindow" type="Window" parent="." node_paths=PackedStringArray("track")] 241 | transparent_bg = true 242 | gui_embed_subwindows = true 243 | size = Vector2i(72, 72) 244 | unresizable = true 245 | borderless = true 246 | always_on_top = true 247 | transparent = true 248 | mouse_passthrough = true 249 | script = ExtResource("5_m7r4a") 250 | track = NodePath("../Box") 251 | 252 | [node name="Camera2D" type="Camera2D" parent="BoxWindow"] 253 | anchor_mode = 0 254 | 255 | [node name="Player" parent="." instance=ExtResource("10_s4n6h")] 256 | position = Vector2(114, 548) 257 | 258 | [node name="Confetti" type="CPUParticles2D" parent="."] 259 | position = Vector2(1152, 555) 260 | emitting = false 261 | amount = 32 262 | one_shot = true 263 | explosiveness = 1.0 264 | direction = Vector2(0, -1) 265 | spread = 30.0 266 | initial_velocity_min = 320.0 267 | initial_velocity_max = 480.0 268 | scale_amount_min = 4.0 269 | scale_amount_max = 4.0 270 | color_ramp = SubResource("Gradient_88ml6") 271 | color_initial_ramp = SubResource("Gradient_627en") 272 | 273 | [node name="WinSound" type="AudioStreamPlayer" parent="."] 274 | stream = ExtResource("12_fatax") 275 | bus = &"SFX" 276 | 277 | [node name="GoalArea" type="Area2D" parent="."] 278 | collision_layer = 2 279 | collision_mask = 2 280 | script = ExtResource("12_57yxo") 281 | 282 | [node name="CollisionShape2D" type="CollisionShape2D" parent="GoalArea"] 283 | position = Vector2(1152, 603) 284 | shape = SubResource("RectangleShape2D_oagaf") 285 | 286 | [node name="Hint" type="Area2D" parent="."] 287 | visibility_layer = 8 288 | collision_layer = 2 289 | collision_mask = 2 290 | script = ExtResource("13_7pq1d") 291 | 292 | [node name="Arrow" type="Sprite2D" parent="Hint"] 293 | self_modulate = Color(1, 1, 1, 0) 294 | top_level = true 295 | visibility_layer = 8 296 | position = Vector2(-32, 328) 297 | texture = ExtResource("13_gl7bg") 298 | centered = false 299 | 300 | [node name="AnimationPlayer" type="AnimationPlayer" parent="Hint/Arrow"] 301 | libraries = { 302 | "": SubResource("AnimationLibrary_j52ui") 303 | } 304 | 305 | [node name="HintWindow" type="Window" parent="Hint" node_paths=PackedStringArray("track")] 306 | transparent_bg = true 307 | gui_embed_subwindows = true 308 | size = Vector2i(64, 64) 309 | unresizable = true 310 | borderless = true 311 | always_on_top = true 312 | transparent = true 313 | mouse_passthrough = true 314 | script = ExtResource("5_m7r4a") 315 | track = NodePath("../Arrow") 316 | layer = 3 317 | 318 | [node name="Camera2D" type="Camera2D" parent="Hint/HintWindow"] 319 | anchor_mode = 0 320 | 321 | [node name="CollisionShape2D" type="CollisionShape2D" parent="Hint"] 322 | position = Vector2(916, 360) 323 | shape = SubResource("RectangleShape2D_b18ur") 324 | 325 | [connection signal="body_entered" from="Button" to="Button" method="on_body"] 326 | [connection signal="body_exited" from="Button" to="Button" method="on_body"] 327 | [connection signal="button_state" from="Button" to="WallA" method="update_pressed"] 328 | [connection signal="button_state" from="Button" to="WallB" method="update_pressed"] 329 | [connection signal="button_state" from="Button" to="Hint" method="set_enabled"] 330 | [connection signal="body_entered" from="GoalArea" to="GoalArea" method="triggered"] 331 | [connection signal="level_complete" from="GoalArea" to="." method="level_complete"] 332 | [connection signal="body_entered" from="Hint" to="Hint" method="on_player_enter"] 333 | [connection signal="body_exited" from="Hint" to="Hint" method="on_player_exit"] 334 | -------------------------------------------------------------------------------- /level4.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=24 format=3 uid="uid://cypx431wqu307"] 2 | 3 | [ext_resource type="Script" path="res://Main.gd" id="1_b7c0u"] 4 | [ext_resource type="Texture2D" uid="uid://cvbwbh58kc5rg" path="res://arrow_cross.png" id="3_dnrfh"] 5 | [ext_resource type="Script" path="res://CropCollision.gd" id="3_dy3jy"] 6 | [ext_resource type="TileSet" uid="uid://codqxp3pqyrh8" path="res://LevelTileset.tres" id="4_n2v8w"] 7 | [ext_resource type="PackedScene" uid="uid://cagdfcj2kex1f" path="res://Player.tscn" id="5_jxubf"] 8 | [ext_resource type="Script" path="res://Goal.gd" id="8_4dvd2"] 9 | [ext_resource type="AudioStream" uid="uid://cf6iryiu7ip81" path="res://confirmation_002.ogg" id="8_y2y2i"] 10 | 11 | [sub_resource type="RectangleShape2D" id="RectangleShape2D_uyb8e"] 12 | size = Vector2(1512, 144) 13 | 14 | [sub_resource type="RectangleShape2D" id="RectangleShape2D_w61gj"] 15 | size = Vector2(144, 648) 16 | 17 | [sub_resource type="RectangleShape2D" id="RectangleShape2D_qlrdx"] 18 | size = Vector2(1008, 144) 19 | 20 | [sub_resource type="RectangleShape2D" id="RectangleShape2D_sbmfs"] 21 | size = Vector2(144, 360) 22 | 23 | [sub_resource type="RectangleShape2D" id="RectangleShape2D_r6u4j"] 24 | size = Vector2(360, 216) 25 | 26 | [sub_resource type="RectangleShape2D" id="RectangleShape2D_10ynn"] 27 | size = Vector2(288, 360) 28 | 29 | [sub_resource type="RectangleShape2D" id="RectangleShape2D_codpr"] 30 | size = Vector2(72, 252) 31 | 32 | [sub_resource type="RectangleShape2D" id="RectangleShape2D_cbul8"] 33 | size = Vector2(72, 180) 34 | 35 | [sub_resource type="RectangleShape2D" id="RectangleShape2D_50gsl"] 36 | size = Vector2(72, 108) 37 | 38 | [sub_resource type="RectangleShape2D" id="RectangleShape2D_wckfp"] 39 | size = Vector2(72, 36) 40 | 41 | [sub_resource type="RectangleShape2D" id="RectangleShape2D_jn55r"] 42 | size = Vector2(108, 108) 43 | 44 | [sub_resource type="RectangleShape2D" id="RectangleShape2D_gvklw"] 45 | size = Vector2(72, 72) 46 | 47 | [sub_resource type="RectangleShape2D" id="RectangleShape2D_7onpt"] 48 | size = Vector2(72, 144) 49 | 50 | [sub_resource type="Gradient" id="Gradient_agbyn"] 51 | offsets = PackedFloat32Array(0, 0.8, 1) 52 | colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0) 53 | 54 | [sub_resource type="Gradient" id="Gradient_lfh8r"] 55 | offsets = PackedFloat32Array(0, 0.333, 0.666, 1) 56 | colors = PackedColorArray(1, 0.25, 0.25, 1, 0.25, 1, 0.25, 1, 0.25, 0.25, 1, 1, 1, 0.25, 0.25, 1) 57 | 58 | [sub_resource type="RectangleShape2D" id="RectangleShape2D_w4qf2"] 59 | size = Vector2(72, 90) 60 | 61 | [node name="Level4" type="Node2D"] 62 | visibility_layer = 7 63 | texture_filter = 1 64 | script = ExtResource("1_b7c0u") 65 | start_pos = Vector2i(0, 396) 66 | start_size = Vector2i(360, 360) 67 | unresizable = true 68 | next_level = "res://Victory.tscn" 69 | completion_timer = 2.0 70 | 71 | [node name="Camera2D" type="Camera2D" parent="."] 72 | anchor_mode = 0 73 | 74 | [node name="ArrowCross" type="Sprite2D" parent="Camera2D"] 75 | z_index = 1 76 | position = Vector2(4, 4) 77 | scale = Vector2(0.5, 0.5) 78 | texture = ExtResource("3_dnrfh") 79 | centered = false 80 | 81 | [node name="TileMap" type="TileMap" parent="."] 82 | tile_set = ExtResource("4_n2v8w") 83 | format = 2 84 | layer_0/tile_data = PackedInt32Array(1441830, 262144, 3, 1376294, 262144, 2, 1310758, 262144, 2, 1245222, 262144, 2, 1441829, 196608, 3, 1376293, 196608, 2, 1310757, 131072, 2, 1245221, 196608, 2, 1441828, 131072, 3, 1376292, 131072, 2, 1310756, 131072, 2, 1245220, 131072, 2, 1441827, 196608, 3, 1376291, 196608, 2, 1310755, 131072, 2, 1245219, 131072, 2, 1441826, 196608, 3, 1376290, 131072, 2, 1310754, 131072, 2, 1245218, 131072, 2, 1441825, 196608, 3, 1376289, 131072, 2, 1310753, 131072, 2, 1245217, 196608, 2, 1441824, 131072, 3, 1376288, 131072, 2, 1310752, 196608, 2, 1245216, 196608, 2, 1441823, 131072, 3, 1376287, 196608, 2, 1310751, 131072, 2, 1245215, 131072, 2, 1441822, 131072, 3, 1376286, 196608, 2, 1310750, 196608, 2, 1245214, 196608, 2, 1441821, 196608, 3, 1376285, 131072, 2, 1310749, 131072, 2, 1245213, 196608, 2, 1441820, 131072, 3, 1376284, 131072, 2, 1310748, 131072, 2, 1245212, 131072, 2, 1441819, 196608, 3, 1376283, 131072, 2, 1310747, 131072, 2, 1245211, 131072, 2, 1441818, 131072, 3, 1376282, 131072, 2, 1310746, 196608, 2, 1245210, 131072, 2, 1441817, 131072, 3, 1376281, 131072, 2, 1310745, 131072, 2, 1245209, 131072, 2, 1441816, 131072, 3, 1376280, 196608, 2, 1310744, 196608, 2, 1245208, 196608, 1, 1441815, 196608, 3, 1376279, 131072, 2, 1310743, 131072, 2, 1245207, 196608, 1, 1441814, 196608, 3, 1376278, 131072, 2, 1310742, 131072, 2, 1245206, 131072, 1, 1441813, 131072, 3, 1376277, 131072, 2, 1310741, 131072, 2, 1245205, 196608, 1, 1441812, 196608, 3, 1376276, 131072, 2, 1310740, 196608, 2, 1245204, 196608, 1, 1441811, 131072, 3, 1376275, 131072, 2, 1310739, 131072, 2, 1245203, 131072, 1, 1441810, 196608, 3, 1376274, 131072, 2, 1310738, 131072, 2, 1245202, 196608, 1, 1441809, 196608, 3, 1376273, 131072, 2, 1310737, 131072, 2, 1245201, 131072, 1, 1441808, 131072, 3, 1376272, 196608, 2, 1310736, 131072, 2, 1245200, 196608, 1, 1441807, 196608, 3, 1376271, 196608, 2, 1310735, 196608, 2, 1245199, 196608, 1, 1441806, 196608, 3, 1376270, 196608, 2, 1310734, 196608, 2, 1245198, 196608, 1, 1441805, 196608, 3, 1376269, 196608, 2, 1310733, 196608, 2, 1245197, 131072, 1, 1441804, 196608, 3, 1376268, 131072, 2, 1310732, 196608, 2, 1245196, 196608, 1, 1441803, 196608, 3, 1376267, 131072, 2, 1310731, 131072, 2, 1245195, 131072, 1, 1441802, 196608, 3, 1376266, 196608, 2, 1310730, 131072, 2, 1245194, 131072, 1, 1441801, 131072, 3, 1376265, 196608, 2, 1310729, 131072, 2, 1245193, 131072, 1, 1441800, 131072, 3, 1376264, 196608, 2, 1310728, 196608, 2, 1245192, 131072, 1, 1441799, 131072, 3, 1376263, 196608, 2, 1310727, 196608, 2, 1245191, 196608, 1, 1441798, 131072, 3, 1376262, 131072, 2, 1310726, 196608, 2, 1245190, 196608, 1, 1441797, 131072, 3, 1376261, 131072, 2, 1310725, 196608, 2, 1245189, 131072, 1, 1441796, 196608, 3, 1376260, 196608, 2, 1310724, 131072, 2, 1245188, 196608, 1, 1441795, 131072, 3, 1376259, 131072, 2, 1310723, 131072, 2, 1245187, 131072, 1, 1441794, 196608, 3, 1376258, 131072, 2, 1310722, 196608, 2, 1245186, 196608, 1, 1441793, 131072, 3, 1376257, 196608, 2, 1310721, 131072, 2, 1245185, 196608, 1, 1441792, 196608, 3, 1376256, 131072, 2, 1310720, 131072, 2, 1245184, 131072, 2, 1507327, 131072, 3, 1441791, 131072, 2, 1376255, 196608, 2, 1310719, 131072, 2, 1507326, 196608, 3, 1441790, 196608, 2, 1376254, 131072, 2, 1310718, 131072, 2, 1507325, 65536, 3, 1441789, 65536, 2, 1376253, 65536, 2, 1310717, 131072, 2, 917505, 196608, 7, 851969, 131072, 6, 786433, 196608, 6, 720897, 131072, 6, 655361, 131072, 6, 589825, 196608, 6, 524289, 131072, 6, 458753, 131072, 6, 393217, 196608, 6, 327681, 196608, 6, 262145, 196608, 6, 196609, 196608, 6, 131073, 196608, 6, 65537, 196608, 6, 1, 131072, 6, -65535, 196608, 6, -131071, 196608, 6, -196607, 131072, 5, 1114112, 262144, 6, 1048576, 262144, 6, 983040, 262144, 6, 917504, 196608, 6, 851968, 131072, 6, 786432, 131072, 6, 720896, 131072, 6, 655360, 131072, 6, 589824, 131072, 6, 524288, 131072, 6, 458752, 196608, 6, 393216, 131072, 6, 327680, 196608, 6, 262144, 196608, 6, 196608, 196608, 6, 131072, 196608, 6, 65536, 131072, 6, 0, 131072, 6, -65536, 131072, 6, -131072, 196608, 6, -196608, 131072, 5, 1179647, 131072, 6, 1114111, 131072, 6, 1048575, 196608, 6, 983039, 131072, 6, 917503, 196608, 6, 851967, 196608, 6, 786431, 196608, 6, 720895, 131072, 6, 655359, 196608, 6, 589823, 196608, 6, 524287, 196608, 6, 458751, 131072, 6, 393215, 131072, 6, 327679, 131072, 6, 262143, 131072, 6, 196607, 131072, 6, 131071, 196608, 6, 65535, 131072, 6, -1, 131072, 6, -65537, 131072, 6, -131073, 196608, 5, 1179646, 131072, 6, 1114110, 131072, 6, 1048574, 196608, 6, 983038, 131072, 6, 917502, 196608, 6, 851966, 131072, 6, 786430, 131072, 6, 720894, 196608, 6, 655358, 131072, 6, 589822, 196608, 6, 524286, 196608, 6, 458750, 131072, 6, 393214, 131072, 6, 327678, 196608, 6, 262142, 131072, 6, 196606, 196608, 6, 131070, 196608, 6, 65534, 131072, 6, -2, 131072, 6, -65538, 131072, 6, -131074, 131072, 5, 1179645, 65536, 6, 1114109, 65536, 6, 1048573, 65536, 6, 983037, 65536, 6, 917501, 65536, 6, 851965, 65536, 6, 786429, 65536, 6, 720893, 65536, 6, 655357, 65536, 6, 589821, 65536, 6, 524285, 65536, 6, 458749, 65536, 6, 393213, 65536, 6, 327677, 65536, 6, 262141, 65536, 6, 196605, 65536, 6, 131069, 65536, 6, 65533, 65536, 6, -3, 65536, 6, -65539, 65536, 6, -131075, 65536, 5, 65574, 262144, 6, 38, 262144, 6, -65498, 262144, 6, -131034, 262144, 6, -196570, 262144, 5, 65573, 196608, 6, 37, 196608, 6, -65499, 196608, 6, -131035, 196608, 6, -196571, 131072, 5, 65572, 131072, 6, 36, 196608, 6, -65500, 131072, 6, -131036, 131072, 6, -196572, 196608, 5, 65571, 65536, 6, 35, 196608, 6, -65501, 196608, 6, -131037, 196608, 6, -196573, 196608, 5, 34, 131072, 7, -65502, 131072, 6, -131038, 196608, 6, -196574, 196608, 5, 33, 196608, 7, -65503, 131072, 6, -131039, 131072, 6, -196575, 131072, 5, 32, 196608, 7, -65504, 196608, 6, -131040, 196608, 6, -196576, 131072, 5, 31, 196608, 7, -65505, 196608, 6, -131041, 131072, 6, -196577, 131072, 5, 65566, 262144, 6, 30, 131072, 6, -65506, 131072, 6, -131042, 196608, 6, -196578, 131072, 5, 65565, 196608, 6, 29, 131072, 6, -65507, 131072, 6, -131043, 131072, 6, -196579, 131072, 5, 65564, 196608, 6, 28, 196608, 6, -65508, 196608, 6, -131044, 196608, 6, -196580, 131072, 5, 65563, 131072, 6, 27, 131072, 6, -65509, 196608, 6, -131045, 131072, 6, -196581, 196608, 5, 65562, 131072, 6, 26, 131072, 6, -65510, 131072, 6, -131046, 131072, 6, -196582, 131072, 5, 65561, 196608, 6, 25, 196608, 6, -65511, 196608, 6, -131047, 196608, 6, -196583, 196608, 5, 65560, 131072, 6, 24, 196608, 6, -65512, 131072, 6, -131048, 131072, 6, -196584, 196608, 5, 65559, 196608, 6, 23, 131072, 6, -65513, 131072, 6, -131049, 131072, 6, -196585, 196608, 5, 65558, 196608, 6, 22, 131072, 6, -65514, 196608, 6, -131050, 196608, 6, -196586, 196608, 5, 65557, 131072, 6, 21, 131072, 6, -65515, 131072, 6, -131051, 131072, 6, -196587, 196608, 5, 65556, 131072, 6, 20, 196608, 6, -65516, 131072, 6, -131052, 131072, 6, -196588, 196608, 5, 65555, 196608, 6, 19, 196608, 6, -65517, 131072, 6, -131053, 196608, 6, -196589, 131072, 5, 65554, 131072, 6, 18, 131072, 6, -65518, 131072, 6, -131054, 131072, 6, -196590, 131072, 5, 65553, 131072, 6, 17, 196608, 6, -65519, 131072, 6, -131055, 131072, 6, -196591, 131072, 5, 65552, 196608, 6, 16, 131072, 6, -65520, 196608, 6, -131056, 196608, 6, -196592, 131072, 5, 65551, 131072, 6, 15, 196608, 6, -65521, 131072, 6, -131057, 131072, 6, -196593, 196608, 5, 65550, 131072, 6, 14, 131072, 6, -65522, 131072, 6, -131058, 131072, 6, -196594, 131072, 5, 65549, 131072, 6, 13, 196608, 6, -65523, 131072, 6, -131059, 196608, 6, -196595, 196608, 5, 65548, 196608, 6, 12, 196608, 6, -65524, 196608, 6, -131060, 196608, 6, -196596, 196608, 5, 65547, 196608, 6, 11, 196608, 6, -65525, 131072, 6, -131061, 131072, 6, -196597, 131072, 5, 65546, 131072, 6, 10, 131072, 6, -65526, 196608, 6, -131062, 131072, 6, -196598, 131072, 5, 65545, 196608, 6, 9, 196608, 6, -65527, 131072, 6, -131063, 196608, 6, -196599, 196608, 5, 65544, 131072, 6, 8, 131072, 6, -65528, 196608, 6, -131064, 131072, 6, -196600, 196608, 5, 65543, 196608, 6, 7, 131072, 6, -65529, 131072, 6, -131065, 196608, 6, -196601, 131072, 5, 65542, 196608, 6, 6, 196608, 6, -65530, 131072, 6, -131066, 131072, 6, -196602, 131072, 5, 65541, 196608, 6, 5, 131072, 6, -65531, 196608, 6, -131067, 131072, 6, -196603, 196608, 5, 65540, 196608, 6, 4, 196608, 6, -65532, 131072, 6, -131068, 131072, 6, -196604, 196608, 5, 65539, 131072, 6, 3, 131072, 6, -65533, 196608, 6, -131069, 131072, 6, -196605, 196608, 5, 65538, 131072, 6, 2, 131072, 6, -65534, 196608, 6, -131070, 131072, 6, -196606, 131072, 5, 1114150, 262144, 2, 1048614, 262144, 2, 983078, 262144, 2, 917542, 262144, 2, 852006, 196608, 2, 786470, 262144, 7, 720934, 262144, 6, 655398, 262144, 6, 589862, 262144, 6, 524326, 262144, 6, 458790, 262144, 6, 393254, 262144, 6, 327718, 262144, 6, 262182, 262144, 6, 196646, 262144, 6, 131110, 262144, 6, 1114149, 131072, 2, 1048613, 131072, 2, 983077, 196608, 2, 917541, 131072, 2, 852005, 196608, 2, 786469, 131072, 7, 720933, 196608, 6, 655397, 131072, 6, 589861, 131072, 6, 524325, 196608, 6, 458789, 196608, 6, 393253, 196608, 6, 327717, 196608, 6, 262181, 196608, 6, 196645, 131072, 6, 131109, 196608, 6, 1114148, 131072, 2, 1048612, 131072, 2, 983076, 196608, 2, 917540, 196608, 2, 852004, 131072, 2, 786468, 196608, 7, 720932, 131072, 6, 655396, 131072, 6, 589860, 131072, 6, 524324, 196608, 6, 458788, 131072, 6, 393252, 196608, 6, 327716, 196608, 6, 262180, 196608, 6, 196644, 131072, 6, 131108, 196608, 6, 1114147, 131072, 2, 1048611, 131072, 2, 983075, 131072, 2, 917539, 131072, 2, 852003, 131072, 2, 786467, 65536, 7, 720931, 65536, 6, 655395, 65536, 6, 589859, 65536, 6, 524323, 65536, 6, 458787, 196608, 6, 393251, 131072, 6, 327715, 196608, 6, 262179, 65536, 6, 196643, 65536, 6, 131107, 65536, 6, 1114146, 131072, 2, 1048610, 131072, 2, 983074, 131072, 2, 917538, 196608, 2, 852002, 196608, 1, 458786, 131072, 7, 393250, 196608, 6, 327714, 196608, 5, 983071, 196608, 2, 1048607, 131072, 2, 1114143, 196608, 2, 983072, 131072, 2, 1048608, 196608, 2, 1114144, 131072, 2, 458779, 65536, 6, 393243, 196608, 6, 327707, 131072, 6, 262171, 131072, 6, 196635, 196608, 6, 131099, 131072, 6, 393242, 196608, 7, 327706, 131072, 6, 262170, 196608, 6, 196634, 131072, 6, 131098, 131072, 6, 393241, 65536, 7, 327705, 65536, 6, 262169, 196608, 6, 196633, 131072, 6, 131097, 131072, 6, 262168, 131072, 7, 196632, 131072, 6, 131096, 131072, 6, 262167, 131072, 7, 196631, 196608, 6, 131095, 131072, 6, 262166, 131072, 7, 196630, 196608, 6, 131094, 196608, 6, 458773, 262144, 5, 262165, 131072, 7, 196629, 131072, 6, 131093, 131072, 6, 458772, 131072, 5, 262164, 196608, 7, 196628, 131072, 6, 131092, 196608, 6, 458771, 196608, 5, 262163, 131072, 7, 196627, 196608, 6, 131091, 196608, 6, 458770, 196608, 4, 262162, 131072, 7, 196626, 131072, 6, 131090, 131072, 6, 458769, 65536, 4, 262161, 196608, 7, 196625, 196608, 6, 131089, 196608, 6, 262160, 196608, 7, 196624, 196608, 6, 131088, 131072, 6, 262159, 196608, 7, 196623, 196608, 6, 131087, 131072, 6, 458766, 262144, 5, 262158, 131072, 7, 196622, 131072, 6, 131086, 196608, 6, 458765, 196608, 5, 262157, 131072, 7, 196621, 196608, 6, 131085, 131072, 6, 458764, 131072, 5, 262156, 131072, 7, 196620, 131072, 6, 131084, 196608, 6, 458763, 196608, 5, 262155, 196608, 7, 196619, 131072, 6, 131083, 196608, 6, 458762, 131072, 5, 262154, 131072, 7, 196618, 196608, 6, 131082, 131072, 6, 458761, 131072, 5, 262153, 131072, 7, 196617, 131072, 6, 131081, 196608, 6, 458760, 131072, 5, 262152, 131072, 7, 196616, 131072, 6, 131080, 131072, 6, 655392, 262144, 4, 655391, 131072, 4, 655390, 196608, 7, 589854, 262144, 6, 524318, 262144, 5, 655389, 196608, 7, 589853, 196608, 6, 524317, 196608, 5, 655388, 65536, 7, 589852, 65536, 6, 524316, 196608, 6, 524315, 65536, 7, 655383, 262144, 6, 589847, 262144, 5, 655382, 196608, 6, 589846, 131072, 5, 655381, 65536, 6, 589845, 196608, 6, 524309, 262144, 6, 589844, 131072, 7, 524308, 196608, 6, 589843, 65536, 7, 524307, 65536, 6, 655376, 262144, 5, 655375, 196608, 5, 655374, 131072, 6, 589838, 262144, 6, 524302, 262144, 6, 655373, 131072, 6, 589837, 131072, 6, 524301, 196608, 6, 655372, 131072, 6, 589836, 196608, 6, 524300, 196608, 6, 655371, 196608, 6, 589835, 196608, 6, 524299, 131072, 6, 655370, 131072, 6, 589834, 196608, 6, 524298, 196608, 6, 655369, 196608, 6, 589833, 196608, 6, 524297, 196608, 6, 655368, 196608, 6, 589832, 196608, 6, 524296, 131072, 6, 655367, 196608, 6, 589831, 65536, 6, 524295, 65536, 6, 655366, 131072, 5, 655365, 131072, 5, 655364, 131072, 6, 589828, 262144, 6, 524292, 262144, 6, 655363, 131072, 6, 589827, 196608, 6, 524291, 131072, 6, 655362, 196608, 6, 589826, 196608, 6, 524290, 196608, 6, 1114145, 196608, 2, 1048609, 196608, 2, 1114142, 196608, 2, 1048606, 131072, 2, 1114141, 131072, 2, 1048605, 196608, 2, 1114140, 196608, 2, 1048604, 196608, 2, 1114139, 131072, 2, 1048603, 131072, 2, 1114138, 131072, 2, 1048602, 196608, 2, 1114137, 65536, 2, 1048601, 65536, 2, 983073, 196608, 2, 917537, 196608, 2, 917536, 196608, 2, 917535, 196608, 2, 983070, 131072, 2, 917534, 196608, 2, 983069, 196608, 2, 917533, 131072, 2, 983068, 196608, 2, 917532, 196608, 2, 852001, 131072, 1, 852000, 131072, 1, 851999, 196608, 1, 1179686, 262144, 2, 1179685, 131072, 2, 1179684, 196608, 2, 1179683, 196608, 2, 1179682, 131072, 2, 1179681, 131072, 2, 1179680, 196608, 2, 1179679, 131072, 2, 1179678, 196608, 2, 851998, 196608, 1, 1179677, 131072, 2, 851997, 131072, 1, 1179676, 131072, 2, 851996, 131072, 1, 1179675, 196608, 2, 983067, 196608, 2, 917531, 196608, 2, 851995, 196608, 1, 1179674, 131072, 2, 983066, 131072, 2, 917530, 131072, 2, 851994, 131072, 1, 1179673, 65536, 2, 983065, 65536, 2, 917529, 65536, 2, 851993, 131072, 5, 1179648, 262144, 7, 1245183, 131072, 7, 1245182, 196608, 7, 1245181, 65536, 7, 327713, 131072, 5, 327712, 196608, 4, 327711, 65536, 4, 458785, 65536, 7, 393249, 65536, 6, 458780, 262144, 6, 393244, 262144, 6, 327708, 262144, 6, 262172, 262144, 6, 196636, 262144, 6, 131100, 196608, 6, 131102, 262144, 7, 131101, 131072, 7, 458756, 262144, 6, 393220, 262144, 6, 327684, 262144, 6, 262148, 131072, 6, 196612, 196608, 6, 131076, 196608, 6, 458755, 196608, 6, 393219, 196608, 6, 327683, 131072, 6, 262147, 196608, 6, 196611, 131072, 6, 131075, 131072, 6, 458754, 196608, 6, 393218, 131072, 6, 327682, 131072, 6, 262146, 131072, 6, 196610, 196608, 6, 131074, 196608, 6, 262151, 131072, 7, 196615, 196608, 6, 131079, 196608, 6, 262150, 196608, 7, 196614, 196608, 6, 131078, 131072, 6, 262149, 131072, 7, 196613, 196608, 6, 131077, 196608, 6, 458759, 65536, 5, 917520, 131072, 6, 851984, 196608, 6, 786448, 196608, 6, 720912, 262144, 6, 917519, 131072, 6, 851983, 196608, 6, 786447, 131072, 6, 720911, 196608, 6, 917518, 196608, 6, 851982, 196608, 6, 786446, 131072, 6, 720910, 196608, 6, 917517, 196608, 6, 851981, 131072, 6, 786445, 196608, 6, 720909, 196608, 6, 917516, 131072, 6, 851980, 131072, 6, 786444, 196608, 6, 720908, 131072, 6, 917515, 131072, 6, 851979, 131072, 6, 786443, 196608, 6, 720907, 196608, 6, 917514, 196608, 6, 851978, 131072, 6, 786442, 131072, 6, 720906, 196608, 6, 917513, 131072, 6, 851977, 131072, 6, 786441, 196608, 6, 720905, 131072, 6, 917512, 131072, 6, 851976, 196608, 6, 786440, 196608, 6, 720904, 131072, 6, 917511, 196608, 6, 851975, 196608, 6, 786439, 196608, 6, 720903, 196608, 6, 917510, 131072, 6, 851974, 131072, 6, 786438, 196608, 6, 720902, 196608, 6, 917509, 131072, 6, 851973, 131072, 6, 786437, 131072, 6, 720901, 131072, 6, 917508, 131072, 7, 851972, 196608, 6, 786436, 196608, 6, 720900, 131072, 6, 917507, 196608, 7, 851971, 131072, 6, 786435, 196608, 6, 720899, 131072, 6, 917506, 196608, 7, 851970, 196608, 6, 786434, 196608, 6, 720898, 196608, 6, 720919, 131072, 6, 720918, 131072, 7, 720917, 65536, 7, 786457, 262144, 6, 720921, 262144, 5, 786456, 196608, 6, 720920, 131072, 5, 786455, 65536, 6, 851992, 131072, 7, 851991, 65536, 7, 1048594, 196608, 7, 983058, 131072, 6, 917522, 196608, 6, 851986, 262144, 6, 786450, 262144, 5, 1048593, 196608, 7, 983057, 196608, 6, 917521, 196608, 6, 851985, 131072, 6, 786449, 131072, 5, 1048592, 131072, 7, 983056, 131072, 6, 1048591, 131072, 7, 983055, 196608, 6, 1048590, 196608, 7, 983054, 131072, 6, 1048589, 131072, 7, 983053, 131072, 6, 1048588, 196608, 7, 983052, 196608, 6, 1048587, 196608, 7, 983051, 131072, 6, 1048586, 196608, 7, 983050, 196608, 6, 1048585, 131072, 7, 983049, 196608, 6, 1048584, 131072, 7, 983048, 196608, 6, 1048583, 131072, 7, 983047, 196608, 6, 1048582, 196608, 7, 983046, 196608, 6, 1048581, 65536, 7, 983045, 65536, 6, 1048596, 196608, 7, 983060, 262144, 6, 917524, 262144, 5, 1048595, 131072, 7, 983059, 131072, 6, 917523, 196608, 5, 1048598, 262144, 4, 1048597, 196608, 4, 131104, 327680, 5, 196640, 327680, 6, 262176, 327680, 7, 131105, 393216, 5, 196641, 393216, 6, 262177, 393216, 7) 85 | 86 | [node name="MainCollision" type="StaticBody2D" parent="."] 87 | visible = false 88 | collision_mask = 3 89 | script = ExtResource("3_dy3jy") 90 | 91 | [node name="Bottom" type="CollisionShape2D" parent="MainCollision"] 92 | position = Vector2(648, 756) 93 | shape = SubResource("RectangleShape2D_uyb8e") 94 | 95 | [node name="Top" type="CollisionShape2D" parent="MainCollision"] 96 | position = Vector2(648, -36) 97 | shape = SubResource("RectangleShape2D_uyb8e") 98 | 99 | [node name="Left" type="CollisionShape2D" parent="MainCollision"] 100 | position = Vector2(-36, 360) 101 | shape = SubResource("RectangleShape2D_w61gj") 102 | 103 | [node name="Right" type="CollisionShape2D" parent="MainCollision"] 104 | position = Vector2(1332, 360) 105 | shape = SubResource("RectangleShape2D_w61gj") 106 | 107 | [node name="Top2" type="CollisionShape2D" parent="MainCollision"] 108 | position = Vector2(540, 108) 109 | shape = SubResource("RectangleShape2D_qlrdx") 110 | 111 | [node name="Left2" type="CollisionShape2D" parent="MainCollision"] 112 | position = Vector2(108, 360) 113 | shape = SubResource("RectangleShape2D_sbmfs") 114 | 115 | [node name="Bottom2" type="CollisionShape2D" parent="MainCollision"] 116 | position = Vector2(1080, 576) 117 | shape = SubResource("RectangleShape2D_r6u4j") 118 | 119 | [node name="Middle" type="CollisionShape2D" parent="MainCollision"] 120 | position = Vector2(396, 432) 121 | shape = SubResource("RectangleShape2D_10ynn") 122 | 123 | [node name="Bit1" type="CollisionShape2D" parent="MainCollision"] 124 | position = Vector2(216, 486) 125 | shape = SubResource("RectangleShape2D_codpr") 126 | 127 | [node name="Bit2" type="CollisionShape2D" parent="MainCollision"] 128 | position = Vector2(576, 486) 129 | shape = SubResource("RectangleShape2D_codpr") 130 | 131 | [node name="Bit3" type="CollisionShape2D" parent="MainCollision"] 132 | position = Vector2(648, 522) 133 | shape = SubResource("RectangleShape2D_cbul8") 134 | 135 | [node name="Bit4" type="CollisionShape2D" parent="MainCollision"] 136 | position = Vector2(720, 558) 137 | shape = SubResource("RectangleShape2D_50gsl") 138 | 139 | [node name="Bit5" type="CollisionShape2D" parent="MainCollision"] 140 | position = Vector2(792, 594) 141 | shape = SubResource("RectangleShape2D_wckfp") 142 | 143 | [node name="Bit6" type="CollisionShape2D" parent="MainCollision"] 144 | position = Vector2(648, 270) 145 | shape = SubResource("RectangleShape2D_wckfp") 146 | 147 | [node name="Bit7" type="CollisionShape2D" parent="MainCollision"] 148 | position = Vector2(738, 306) 149 | shape = SubResource("RectangleShape2D_jn55r") 150 | 151 | [node name="Bit8" type="CollisionShape2D" parent="MainCollision"] 152 | position = Vector2(810, 378) 153 | shape = SubResource("RectangleShape2D_jn55r") 154 | 155 | [node name="Bit9" type="CollisionShape2D" parent="MainCollision"] 156 | position = Vector2(882, 449) 157 | shape = SubResource("RectangleShape2D_jn55r") 158 | 159 | [node name="Bit10" type="CollisionShape2D" parent="MainCollision"] 160 | position = Vector2(936, 216) 161 | shape = SubResource("RectangleShape2D_gvklw") 162 | 163 | [node name="Bit11" type="CollisionShape2D" parent="MainCollision"] 164 | position = Vector2(1008, 252) 165 | shape = SubResource("RectangleShape2D_7onpt") 166 | 167 | [node name="Bit12" type="CollisionShape2D" parent="MainCollision"] 168 | position = Vector2(1062, 342) 169 | shape = SubResource("RectangleShape2D_jn55r") 170 | 171 | [node name="Bit13" type="CollisionShape2D" parent="MainCollision"] 172 | position = Vector2(1152, 378) 173 | shape = SubResource("RectangleShape2D_wckfp") 174 | 175 | [node name="Bit14" type="CollisionShape2D" parent="MainCollision"] 176 | position = Vector2(1224, 234) 177 | shape = SubResource("RectangleShape2D_50gsl") 178 | 179 | [node name="Bit15" type="CollisionShape2D" parent="MainCollision"] 180 | position = Vector2(1152, 198) 181 | shape = SubResource("RectangleShape2D_wckfp") 182 | 183 | [node name="Bit16" type="CollisionShape2D" parent="MainCollision"] 184 | position = Vector2(1080, 72) 185 | shape = SubResource("RectangleShape2D_gvklw") 186 | 187 | [node name="Player" parent="." instance=ExtResource("5_jxubf")] 188 | position = Vector2(42, 584) 189 | 190 | [node name="Confetti" type="CPUParticles2D" parent="."] 191 | position = Vector2(1188, 87) 192 | emitting = false 193 | amount = 32 194 | one_shot = true 195 | explosiveness = 1.0 196 | direction = Vector2(0, -1) 197 | spread = 30.0 198 | initial_velocity_min = 320.0 199 | initial_velocity_max = 480.0 200 | scale_amount_min = 4.0 201 | scale_amount_max = 4.0 202 | color_ramp = SubResource("Gradient_agbyn") 203 | color_initial_ramp = SubResource("Gradient_lfh8r") 204 | 205 | [node name="WinSound" type="AudioStreamPlayer" parent="."] 206 | stream = ExtResource("8_y2y2i") 207 | bus = &"SFX" 208 | 209 | [node name="GoalArea" type="Area2D" parent="."] 210 | collision_layer = 2 211 | collision_mask = 2 212 | script = ExtResource("8_4dvd2") 213 | 214 | [node name="CollisionShape2D" type="CollisionShape2D" parent="GoalArea"] 215 | position = Vector2(1188, 135) 216 | shape = SubResource("RectangleShape2D_w4qf2") 217 | 218 | [connection signal="body_entered" from="GoalArea" to="GoalArea" method="triggered"] 219 | [connection signal="level_complete" from="GoalArea" to="." method="level_complete"] 220 | --------------------------------------------------------------------------------