diff --git a/assets/fonts/ice_pixel-7.ttf b/assets/fonts/ice_pixel-7.ttf new file mode 100644 index 0000000..b447fca Binary files /dev/null and b/assets/fonts/ice_pixel-7.ttf differ diff --git a/assets/music_icon.xcf b/assets/music_icon.xcf new file mode 100644 index 0000000..4869820 Binary files /dev/null and b/assets/music_icon.xcf differ diff --git a/assets/play.xcf b/assets/play.xcf new file mode 100644 index 0000000..1f15b13 Binary files /dev/null and b/assets/play.xcf differ diff --git a/assets/pointer_indicator.xcf b/assets/pointer_indicator.xcf new file mode 100644 index 0000000..ea866d7 Binary files /dev/null and b/assets/pointer_indicator.xcf differ diff --git a/assets/shaders/Blinds.png b/assets/shaders/Blinds.png new file mode 100644 index 0000000..9b13b43 Binary files /dev/null and b/assets/shaders/Blinds.png differ diff --git a/assets/shaders/Blinds.png.import b/assets/shaders/Blinds.png.import new file mode 100644 index 0000000..f5ca8da --- /dev/null +++ b/assets/shaders/Blinds.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Blinds.png-2bd8a9f6eba63f8eb0695083fdf9397c.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/shaders/Blinds.png" +dest_files=[ "res://.import/Blinds.png-2bd8a9f6eba63f8eb0695083fdf9397c.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/assets/ui/music-hover.png b/assets/ui/music-hover.png new file mode 100644 index 0000000..22995c3 Binary files /dev/null and b/assets/ui/music-hover.png differ diff --git a/assets/ui/music-hover.png.import b/assets/ui/music-hover.png.import new file mode 100644 index 0000000..dd18f73 --- /dev/null +++ b/assets/ui/music-hover.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/music-hover.png-41e3fb39d172b3252aeeef3a9bab17af.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/ui/music-hover.png" +dest_files=[ "res://.import/music-hover.png-41e3fb39d172b3252aeeef3a9bab17af.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/assets/ui/pause-hover.png b/assets/ui/pause-hover.png new file mode 100644 index 0000000..7aeeea9 Binary files /dev/null and b/assets/ui/pause-hover.png differ diff --git a/assets/ui/pause-hover.png.import b/assets/ui/pause-hover.png.import new file mode 100644 index 0000000..357baae --- /dev/null +++ b/assets/ui/pause-hover.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/pause-hover.png-e4ea4eb67c068bc5d056965d6f087be0.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/ui/pause-hover.png" +dest_files=[ "res://.import/pause-hover.png-e4ea4eb67c068bc5d056965d6f087be0.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/assets/ui/pause.png b/assets/ui/pause.png new file mode 100644 index 0000000..116d072 Binary files /dev/null and b/assets/ui/pause.png differ diff --git a/assets/ui/pause.png.import b/assets/ui/pause.png.import new file mode 100644 index 0000000..93e7398 --- /dev/null +++ b/assets/ui/pause.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/pause.png-1ae561f3bc81500c9be2d9dbcefe44ff.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/ui/pause.png" +dest_files=[ "res://.import/pause.png-1ae561f3bc81500c9be2d9dbcefe44ff.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/assets/ui/play.png b/assets/ui/play.png new file mode 100644 index 0000000..18b44e7 Binary files /dev/null and b/assets/ui/play.png differ diff --git a/assets/ui/play.png.import b/assets/ui/play.png.import new file mode 100644 index 0000000..284a702 --- /dev/null +++ b/assets/ui/play.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/play.png-d5c85744be54e3dde1ca5bb32a24f02f.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/ui/play.png" +dest_files=[ "res://.import/play.png-d5c85744be54e3dde1ca5bb32a24f02f.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/assets/ui/pointer.png b/assets/ui/pointer.png new file mode 100644 index 0000000..8496e0d Binary files /dev/null and b/assets/ui/pointer.png differ diff --git a/assets/ui/pointer.png.import b/assets/ui/pointer.png.import new file mode 100644 index 0000000..ccb642f --- /dev/null +++ b/assets/ui/pointer.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/pointer.png-133392f260ecc87b51a28d66b4343076.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/ui/pointer.png" +dest_files=[ "res://.import/pointer.png-133392f260ecc87b51a28d66b4343076.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/assets/ui/pointer_hand.png b/assets/ui/pointer_hand.png new file mode 100644 index 0000000..d18d4d5 Binary files /dev/null and b/assets/ui/pointer_hand.png differ diff --git a/assets/ui/pointer_hand.png.import b/assets/ui/pointer_hand.png.import new file mode 100644 index 0000000..96e912a --- /dev/null +++ b/assets/ui/pointer_hand.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/pointer_hand.png-1004d662901565d110a8c0d58ec1da71.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/ui/pointer_hand.png" +dest_files=[ "res://.import/pointer_hand.png-1004d662901565d110a8c0d58ec1da71.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/assets/ui_elements.xcf b/assets/ui_elements.xcf new file mode 100644 index 0000000..06a6483 Binary files /dev/null and b/assets/ui_elements.xcf differ diff --git a/project.godot b/project.godot index 36504a0..3c697ef 100644 --- a/project.godot +++ b/project.godot @@ -9,6 +9,16 @@ config_version=4 _global_script_classes=[ { +"base": "Node2D", +"class": "BaseLevel", +"language": "GDScript", +"path": "res://scripts/base_level.gd" +}, { +"base": "Node2D", +"class": "GUI", +"language": "GDScript", +"path": "res://scripts/UI.gd" +}, { "base": "KinematicBody2D", "class": "Neighbor", "language": "GDScript", @@ -25,6 +35,8 @@ _global_script_classes=[ { "path": "res://scripts/trolley.gd" } ] _global_script_class_icons={ +"BaseLevel": "", +"GUI": "", "Neighbor": "", "Player": "", "Trolley": "" @@ -33,7 +45,7 @@ _global_script_class_icons={ [application] config/name="roger" -run/main_scene="res://scenes/stage.tscn" +run/main_scene="res://scenes/level_controller.tscn" [display] diff --git a/scenes/TileMap.tscn b/scenes/TileMap.tscn index ad9eee4..f48b3f6 100644 --- a/scenes/TileMap.tscn +++ b/scenes/TileMap.tscn @@ -243,4 +243,6 @@ scale = Vector2( 5, 5 ) tile_set = SubResource( 2 ) cell_size = Vector2( 16, 16 ) show_collision = true +collision_layer = 4 +collision_mask = 0 format = 1 diff --git a/scenes/UI.tscn b/scenes/UI.tscn deleted file mode 100644 index f4fb3e5..0000000 --- a/scenes/UI.tscn +++ /dev/null @@ -1,47 +0,0 @@ -[gd_scene load_steps=6 format=2] - -[ext_resource path="res://assets/fonts/8-BIT WONDER.TTF" type="DynamicFontData" id=1] -[ext_resource path="res://scripts/UI.gd" type="Script" id=2] -[ext_resource path="res://assets/ui/music-enabled.png" type="Texture" id=3] - -[sub_resource type="DynamicFont" id=1] -font_data = ExtResource( 1 ) - -[sub_resource type="Theme" id=2] -default_font = SubResource( 1 ) - -[node name="GUI" type="Node2D"] -script = ExtResource( 2 ) - -[node name="MarginContainer" type="MarginContainer" parent="."] -margin_left = 20.0 -margin_top = 20.0 -margin_right = 1279.0 -margin_bottom = 257.0 - -[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer"] -margin_right = 1259.0 -margin_bottom = 237.0 - -[node name="TimeLabel" type="RichTextLabel" parent="MarginContainer/HBoxContainer"] -margin_right = 1227.0 -margin_bottom = 237.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 -theme = SubResource( 2 ) -text = "Time fdsafdsafdsa" - -[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/HBoxContainer"] -margin_left = 1231.0 -margin_right = 1259.0 -margin_bottom = 237.0 - -[node name="ToolButton" type="ToolButton" parent="MarginContainer/HBoxContainer/VBoxContainer"] -margin_right = 28.0 -margin_bottom = 24.0 -toggle_mode = true -icon = ExtResource( 3 ) - -[node name="GameTimer" type="Timer" parent="."] - -[connection signal="toggled" from="MarginContainer/HBoxContainer/VBoxContainer/ToolButton" to="." method="_on_ToolButton_toggled"] diff --git a/scenes/base_level.tscn b/scenes/base_level.tscn new file mode 100644 index 0000000..927cdfb --- /dev/null +++ b/scenes/base_level.tscn @@ -0,0 +1,139 @@ +[gd_scene load_steps=13 format=2] + +[ext_resource path="res://Y2Mate.is - Won't You Be My Neighbor [8 Bit Tribute to Mr. Rogers] - 8 Bit Universe-8f3BEcQp1Q4-48k-1659646018463.mp3" type="AudioStream" id=1] +[ext_resource path="res://scenes/clouds.tscn" type="PackedScene" id=2] +[ext_resource path="res://scenes/TileMap.tscn" type="PackedScene" id=3] +[ext_resource path="res://scripts/base_level.gd" type="Script" id=4] +[ext_resource path="res://scenes/trolley.tscn" type="PackedScene" id=5] +[ext_resource path="res://scenes/player.tscn" type="PackedScene" id=6] +[ext_resource path="res://scenes/neighbor.tscn" type="PackedScene" id=7] +[ext_resource path="res://scenes/house.tscn" type="PackedScene" id=8] +[ext_resource path="res://assets/fonts/8-BIT WONDER.TTF" type="DynamicFontData" id=9] + +[sub_resource type="DynamicFont" id=1] +size = 40 +font_data = ExtResource( 9 ) + +[sub_resource type="DynamicFont" id=3] +size = 40 + +[sub_resource type="Theme" id=2] +default_font = SubResource( 3 ) +RichTextLabel/fonts/normal_font = SubResource( 1 ) + +[node name="BaseLevel" type="Node2D"] +script = ExtResource( 4 ) + +[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."] +stream = ExtResource( 1 ) +pitch_scale = 0.75 + +[node name="TileMap" parent="." instance=ExtResource( 3 )] +collision_mask = 7 + +[node name="YSort" type="YSort" parent="."] + +[node name="Player" parent="YSort" instance=ExtResource( 6 )] +position = Vector2( 619.221, 307.07 ) + +[node name="Trolley" parent="YSort" instance=ExtResource( 5 )] +position = Vector2( 629.977, 650.649 ) + +[node name="House1" parent="YSort" instance=ExtResource( 8 )] +position = Vector2( 1066, 540 ) + +[node name="Neighbor1" parent="YSort" instance=ExtResource( 7 )] +position = Vector2( 131, 429 ) + +[node name="Clouds" parent="." instance=ExtResource( 2 )] +position = Vector2( -0.17392, 0.152588 ) + +[node name="CameraBounds" type="Node2D" parent="."] + +[node name="Left" type="Node2D" parent="CameraBounds"] +position = Vector2( -521, 432 ) + +[node name="Top" type="Node2D" parent="CameraBounds"] +position = Vector2( 594, -189 ) + +[node name="Right" type="Node2D" parent="CameraBounds"] +position = Vector2( 1757, 455 ) + +[node name="Bottom" type="Node2D" parent="CameraBounds"] +position = Vector2( 655, 1037 ) + +[node name="TrolleyLocations" type="Node2D" parent="."] + +[node name="TrolleyStart" type="Node2D" parent="TrolleyLocations"] +position = Vector2( 72, 91 ) + +[node name="TrolleyEnd" type="Node2D" parent="TrolleyLocations"] +position = Vector2( 1258, 154 ) + +[node name="Panel" type="Panel" parent="."] +visible = false +margin_left = -2.0 +margin_top = -6.0 +margin_right = 1361.0 +margin_bottom = 1054.0 + +[node name="VBoxContainer" type="VBoxContainer" parent="Panel"] +anchor_right = 1.0 +anchor_bottom = 1.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="Control" type="Control" parent="Panel/VBoxContainer"] +margin_right = 1363.0 +margin_bottom = 279.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="EndGameTitle" type="RichTextLabel" parent="Panel/VBoxContainer"] +margin_left = 181.0 +margin_top = 283.0 +margin_right = 1181.0 +margin_bottom = 324.0 +rect_min_size = Vector2( 1000, 0 ) +size_flags_horizontal = 4 +size_flags_vertical = 4 +theme = SubResource( 2 ) +text = "This is the text" +fit_content_height = true + +[node name="Control3" type="Control" parent="Panel/VBoxContainer"] +margin_top = 328.0 +margin_right = 1363.0 +margin_bottom = 390.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +size_flags_stretch_ratio = 0.22 + +[node name="EndGameBody" type="RichTextLabel" parent="Panel/VBoxContainer"] +margin_left = 181.0 +margin_top = 394.0 +margin_right = 1181.0 +margin_bottom = 435.0 +rect_min_size = Vector2( 1000, 0 ) +size_flags_horizontal = 4 +size_flags_vertical = 4 +theme = SubResource( 2 ) +text = "This is the text" +fit_content_height = true + +[node name="Control2" type="Control" parent="Panel/VBoxContainer"] +margin_top = 439.0 +margin_right = 1363.0 +margin_bottom = 1060.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +size_flags_stretch_ratio = 2.22 + +[node name="DisplayTimer" type="Timer" parent="."] +one_shot = true +autostart = true + +[connection signal="left_wih_rogers" from="YSort/Trolley" to="." method="_on_Trolley_left_wih_rogers"] +[connection signal="rogers_entered_trolley" from="YSort/Trolley" to="." method="_on_Trolley_rogers_entered_trolley"] +[connection signal="rogers_left_trolley" from="YSort/Trolley" to="." method="_on_Trolley_rogers_left_trolley"] +[connection signal="timeout" from="DisplayTimer" to="." method="_on_DisplayTimer_timeout"] diff --git a/scenes/clouds.tscn b/scenes/clouds.tscn new file mode 100644 index 0000000..a611f1c --- /dev/null +++ b/scenes/clouds.tscn @@ -0,0 +1,20 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://scripts/Clouds.gd" type="Script" id=3] + +[node name="Clouds" type="Node2D"] +position = Vector2( -2.43112, -0.845276 ) +scale = Vector2( 10, 10 ) +script = ExtResource( 3 ) + +[node name="RightBorder" type="Node2D" parent="."] +position = Vector2( 127.8, 47.0604 ) + +[node name="LeftBorder" type="Node2D" parent="."] +position = Vector2( 0.0503082, 46.0223 ) + +[node name="TopBorder" type="Node2D" parent="."] +position = Vector2( 62.236, 0.33577 ) + +[node name="BottomBorder" type="Node2D" parent="."] +position = Vector2( 61.0313, 94.858 ) diff --git a/scenes/game-screen.tscn b/scenes/game-screen.tscn new file mode 100644 index 0000000..7e99230 --- /dev/null +++ b/scenes/game-screen.tscn @@ -0,0 +1,36 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://assets/fonts/8-BIT WONDER.TTF" type="DynamicFontData" id=1] + +[sub_resource type="DynamicFont" id=1] +size = 30 +font_data = ExtResource( 1 ) + +[sub_resource type="Theme" id=2] +RichTextLabel/fonts/normal_font = SubResource( 1 ) + +[node name="Panel" type="Panel"] +margin_left = -31.0 +margin_top = -245.0 +margin_right = 1332.0 +margin_bottom = 815.0 + +[node name="VBoxContainer" type="VBoxContainer" parent="."] +margin_right = 1299.0 +margin_bottom = 992.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"] +margin_right = 1299.0 +margin_bottom = 992.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="RichTextLabel" type="RichTextLabel" parent="VBoxContainer/HBoxContainer"] +margin_right = 1299.0 +margin_bottom = 992.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme = SubResource( 2 ) +text = "This is the text" diff --git a/scenes/gui.tscn b/scenes/gui.tscn new file mode 100644 index 0000000..859648a --- /dev/null +++ b/scenes/gui.tscn @@ -0,0 +1,99 @@ +[gd_scene load_steps=12 format=2] + +[ext_resource path="res://assets/ui/play.png" type="Texture" id=1] +[ext_resource path="res://scripts/UI.gd" type="Script" id=2] +[ext_resource path="res://assets/ui/music-enabled.png" type="Texture" id=3] +[ext_resource path="res://assets/fonts/ice_pixel-7.ttf" type="DynamicFontData" id=4] +[ext_resource path="res://assets/ui/pause.png" type="Texture" id=5] +[ext_resource path="res://assets/ui/pause-hover.png" type="Texture" id=6] +[ext_resource path="res://assets/ui/music-disabled.png" type="Texture" id=7] +[ext_resource path="res://assets/ui/music-hover.png" type="Texture" id=8] + +[sub_resource type="DynamicFont" id=8] +size = 60 +outline_size = 1 +outline_color = Color( 0.203125, 0.203125, 0.203125, 1 ) +use_mipmaps = true +font_data = ExtResource( 4 ) + +[sub_resource type="DynamicFont" id=1] +size = 45 +font_data = ExtResource( 4 ) + +[sub_resource type="Theme" id=2] +default_font = SubResource( 1 ) +RichTextLabel/fonts/normal_font = SubResource( 8 ) + +[node name="GUI" type="Node2D"] +script = ExtResource( 2 ) + +[node name="MarginContainer" type="MarginContainer" parent="."] +margin_left = 25.0 +margin_top = 25.0 +margin_right = 1255.0 +margin_bottom = 100.0 + +[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer"] +margin_right = 1230.0 +margin_bottom = 75.0 + +[node name="TimeLabel" type="RichTextLabel" parent="MarginContainer/HBoxContainer"] +margin_right = 305.0 +margin_bottom = 75.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme = SubResource( 2 ) +text = "Time:" + +[node name="NeighborLabel" type="RichTextLabel" parent="MarginContainer/HBoxContainer"] +margin_left = 309.0 +margin_right = 920.0 +margin_bottom = 75.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +size_flags_stretch_ratio = 2.0 +theme = SubResource( 2 ) +text = "Neighbors Left: 6" + +[node name="GridContainer" type="GridContainer" parent="MarginContainer/HBoxContainer"] +margin_left = 924.0 +margin_right = 1230.0 +margin_bottom = 75.0 +size_flags_horizontal = 3 +columns = 3 + +[node name="PauseButton" type="TextureButton" parent="MarginContainer/HBoxContainer/GridContainer"] +margin_right = 100.0 +margin_bottom = 75.0 +focus_mode = 1 +size_flags_horizontal = 3 +size_flags_vertical = 3 +toggle_mode = true +texture_normal = ExtResource( 5 ) +texture_pressed = ExtResource( 1 ) +texture_hover = ExtResource( 6 ) +expand = true +stretch_mode = 4 + +[node name="MusicButton" type="TextureButton" parent="MarginContainer/HBoxContainer/GridContainer"] +margin_left = 104.0 +margin_right = 204.0 +margin_bottom = 75.0 +size_flags_horizontal = 3 +toggle_mode = true +texture_normal = ExtResource( 3 ) +texture_pressed = ExtResource( 7 ) +texture_hover = ExtResource( 8 ) +expand = true +stretch_mode = 4 + +[node name="GameTimer" type="Timer" parent="."] +one_shot = true + +[connection signal="mouse_entered" from="MarginContainer/HBoxContainer/GridContainer/PauseButton" to="." method="_on_mouse_entered"] +[connection signal="mouse_exited" from="MarginContainer/HBoxContainer/GridContainer/PauseButton" to="." method="_on_mouse_exited"] +[connection signal="toggled" from="MarginContainer/HBoxContainer/GridContainer/PauseButton" to="." method="_on_PauseButton_toggled"] +[connection signal="mouse_entered" from="MarginContainer/HBoxContainer/GridContainer/MusicButton" to="." method="_on_mouse_entered"] +[connection signal="mouse_exited" from="MarginContainer/HBoxContainer/GridContainer/MusicButton" to="." method="_on_mouse_exited"] +[connection signal="toggled" from="MarginContainer/HBoxContainer/GridContainer/MusicButton" to="." method="_on_MusicButton_toggled"] +[connection signal="timeout" from="GameTimer" to="." method="_on_GameTimer_timeout"] diff --git a/scenes/level1.tscn b/scenes/level1.tscn new file mode 100644 index 0000000..5df3569 --- /dev/null +++ b/scenes/level1.tscn @@ -0,0 +1,101 @@ +[gd_scene load_steps=5 format=2] + +[ext_resource path="res://scenes/base_level.tscn" type="PackedScene" id=1] +[ext_resource path="res://scenes/house.tscn" type="PackedScene" id=2] +[ext_resource path="res://scenes/neighbor.tscn" type="PackedScene" id=3] +[ext_resource path="res://scenes/decor.tscn" type="PackedScene" id=4] + +[node name="Level1" type="Node2D"] + +[node name="BaseLevel" parent="." instance=ExtResource( 1 )] +SECONDS_TO_COMPLETE = 45 + +[node name="TileMap" parent="BaseLevel" index="1"] +tile_data = PoolIntArray( -458757, 3, 0, -458756, 3, 0, -458755, 3, 0, -458754, 3, 0, -458753, 3, 0, -524288, 3, 0, -524287, 3, 0, -393221, 3, 0, -393220, 3, 0, -393219, 3, 0, -393218, 3, 0, -393217, 3, 0, -458752, 3, 0, -458751, 3, 0, -458750, 3, 0, -458749, 3, 0, -458748, 3, 0, -458747, 3, 0, -458746, 3, 0, -458745, 3, 0, -458744, 3, 0, -458743, 3, 0, -458742, 3, 0, -458741, 3, 0, -458740, 3, 0, -458739, 3, 0, -458738, 3, 0, -458737, 3, 0, -458736, 3, 0, -458735, 3, 0, -458734, 3, 0, -458733, 3, 0, -458732, 3, 0, -458731, 3, 0, -458730, 3, 0, -458729, 3, 0, -458728, 3, 0, -458727, 3, 0, -458726, 3, 0, -458725, 3, 0, -458724, 3, 0, -458723, 3, 0, -458722, 3, 0, -458721, 3, 0, -458720, 3, 0, -458719, 3, 0, -458718, 3, 0, -458717, 3, 0, -458716, 3, 0, -458715, 3, 0, -458714, 3, 0, -458713, 3, 0, -327685, 3, 0, -327684, 3, 0, -327683, 3, 0, -327682, 3, 0, -327681, 3, 0, -393216, 3, 0, -393215, 3, 0, -393214, 3, 0, -393213, 3, 0, -393212, 3, 0, -393211, 3, 0, -393210, 3, 0, -393209, 3, 0, -393208, 3, 0, -393207, 3, 0, -393206, 3, 0, -393205, 3, 0, -393204, 3, 0, -393203, 3, 0, -393202, 3, 0, -393201, 3, 0, -393200, 3, 0, -393199, 3, 0, -393198, 3, 0, -393197, 3, 0, -393196, 3, 0, -393195, 3, 0, -393194, 3, 0, -393193, 3, 0, -393192, 3, 0, -393191, 3, 0, -393190, 3, 0, -393189, 3, 0, -393188, 3, 0, -393187, 3, 0, -393186, 3, 0, -393185, 3, 0, -393184, 3, 0, -393183, 3, 0, -393182, 3, 0, -393181, 3, 0, -393180, 3, 0, -393179, 3, 0, -393178, 3, 0, -393177, 3, 0, -262149, 3, 0, -262148, 3, 0, -262147, 4, 0, -262146, 3, 0, -262145, 4, 0, -327680, 4, 0, -327679, 3, 0, -327678, 3, 0, -327677, 3, 0, -327676, 4, 0, -327675, 4, 0, -327674, 4, 0, -327673, 3, 0, -327672, 3, 0, -327671, 3, 0, -327670, 3, 0, -327669, 3, 0, -327668, 3, 0, -327667, 3, 0, -327666, 3, 0, -327665, 4, 0, -327664, 4, 0, -327663, 4, 0, -327662, 4, 0, -327661, 4, 0, -327660, 3, 0, -327659, 3, 0, -327658, 3, 0, -327657, 3, 0, -327656, 3, 0, -327655, 4, 0, -327654, 4, 0, -327653, 4, 0, -327652, 4, 0, -327651, 4, 0, -327650, 4, 0, -327649, 3, 0, -327648, 4, 0, -327647, 4, 0, -327646, 4, 0, -327645, 4, 0, -327644, 4, 0, -327643, 4, 0, -327642, 4, 0, -327641, 3, 0, -196613, 3, 0, -196612, 3, 0, -196611, 3, 0, -196610, 3, 0, -196609, 3, 0, -262144, 3, 0, -262143, 3, 0, -262142, 4, 0, -262141, 3, 0, -262140, 4, 0, -262139, 4, 0, -262138, 3, 0, -262137, 3, 0, -262136, 3, 0, -262135, 3, 0, -262134, 3, 0, -262133, 4, 0, -262132, 4, 0, -262131, 4, 0, -262130, 3, 0, -262129, 3, 0, -262128, 4, 0, -262127, 4, 0, -262126, 4, 0, -262125, 4, 0, -262124, 4, 0, -262123, 4, 0, -262122, 4, 0, -262121, 4, 0, -262120, 3, 0, -262119, 3, 0, -262118, 3, 0, -262117, 4, 0, -262116, 3, 0, -262115, 3, 0, -262114, 4, 0, -262113, 3, 0, -262112, 4, 0, -262111, 4, 0, -262110, 3, 0, -262109, 4, 0, -262108, 4, 0, -262107, 4, 0, -262106, 4, 0, -262105, 3, 0, -131077, 3, 0, -131076, 3, 0, -131075, 3, 0, -131074, 3, 0, -131073, 3, 0, -196608, 4, 0, -196607, 4, 0, -196606, 4, 0, -196605, 4, 0, -196604, 3, 0, -196603, 3, 0, -196602, 3, 0, -196601, 4, 0, -196600, 4, 0, -196599, 4, 0, -196598, 4, 0, -196597, 4, 0, -196596, 4, 0, -196595, 4, 0, -196594, 4, 0, -196593, 3, 0, -196592, 3, 0, -196591, 4, 0, -196590, 4, 0, -196589, 4, 0, -196588, 4, 0, -196587, 4, 0, -196586, 4, 0, -196585, 4, 0, -196584, 4, 0, -196583, 4, 0, -196582, 3, 0, -196581, 3, 0, -196580, 4, 0, -196579, 4, 0, -196578, 4, 0, -196577, 4, 0, -196576, 4, 0, -196575, 4, 0, -196574, 4, 0, -196573, 4, 0, -196572, 4, 0, -196571, 4, 0, -196570, 4, 0, -196569, 3, 0, -65541, 3, 0, -65540, 6, 0, -65539, 6, 0, -65538, 6, 0, -65537, 6, 0, -131072, 6, 0, -131071, 6, 0, -131070, 6, 0, -131069, 6, 0, -131068, 6, 0, -131067, 6, 0, -131066, 6, 0, -131065, 6, 0, -131064, 6, 0, -131063, 6, 0, -131062, 6, 0, -131061, 6, 0, -131060, 6, 0, -131059, 6, 0, -131058, 6, 0, -131057, 6, 0, -131056, 6, 0, -131055, 6, 0, -131054, 6, 0, -131053, 6, 0, -131052, 6, 0, -131051, 6, 0, -131050, 6, 0, -131049, 6, 0, -131048, 6, 0, -131047, 6, 0, -131046, 6, 0, -131045, 6, 0, -131044, 6, 0, -131043, 6, 0, -131042, 6, 0, -131041, 6, 0, -131040, 6, 0, -131039, 6, 0, -131038, 6, 0, -131037, 6, 0, -131036, 6, 0, -131035, 6, 0, -131034, 6, 0, -131033, 4, 0, -5, 3, 0, -4, 5, 0, -3, 5, 0, -2, 5, 0, -1, 5, 0, -65536, 5, 0, -65535, 5, 0, -65534, 5, 0, -65533, 5, 0, -65532, 5, 0, -65531, 5, 0, -65530, 5, 0, -65529, 5, 0, -65528, 5, 0, -65527, 5, 0, -65526, 5, 0, -65525, 5, 0, -65524, 5, 0, -65523, 5, 0, -65522, 5, 0, -65521, 5, 0, -65520, 5, 0, -65519, 5, 0, -65518, 5, 0, -65517, 5, 0, -65516, 5, 0, -65515, 5, 0, -65514, 5, 0, -65513, 5, 0, -65512, 5, 0, -65511, 5, 0, -65510, 5, 0, -65509, 5, 0, -65508, 5, 0, -65507, 5, 0, -65506, 5, 0, -65505, 5, 0, -65504, 5, 0, -65503, 5, 0, -65502, 5, 0, -65501, 5, 0, -65500, 5, 0, -65499, 5, 0, -65498, 5, 0, -65497, 4, 0, 65531, 3, 0, 65532, 1, 0, 65533, 1, 0, 65534, 1, 0, 65535, 1, 0, 0, 0, 0, 1, 0, 0, 2, 8, 0, 3, 8, 0, 4, 8, 0, 5, 8, 0, 6, 8, 0, 7, 8, 0, 8, 8, 0, 9, 8, 0, 10, 8, 0, 11, 8, 0, 12, 8, 0, 13, 8, 0, 14, 8, 0, 15, 8, 0, 16, 8, 0, 17, 8, 0, 18, 8, 0, 19, 8, 0, 20, 8, 0, 21, 8, 0, 22, 8, 0, 23, 8, 0, 24, 8, 0, 25, 8, 0, 26, 8, 0, 27, 8, 0, 28, 8, 0, 29, 8, 0, 30, 8, 0, 31, 8, 0, 32, 8, 0, 33, 8, 0, 34, 8, 0, 35, 8, 0, 36, 0, 0, 37, 3, 0, 38, 4, 0, 39, 4, 0, 131067, 1, 0, 131068, 1, 0, 131069, 1, 0, 131070, 1, 0, 131071, 1, 0, 65536, 1, 0, 65537, 0, 0, 65538, 1, 0, 65539, 8, 0, 65540, 8, 0, 65541, 0, 0, 65542, 1, 0, 65543, 1, 0, 65544, 1, 0, 65545, 0, 0, 65546, 0, 0, 65547, 1, 0, 65548, 1, 0, 65549, 1, 0, 65550, 1, 0, 65551, 1, 0, 65552, 1, 0, 65553, 0, 0, 65554, 0, 0, 65555, 0, 0, 65556, 0, 0, 65557, 0, 0, 65558, 0, 0, 65559, 0, 0, 65560, 0, 0, 65561, 0, 0, 65562, 0, 0, 65563, 0, 0, 65564, 0, 0, 65565, 8, 0, 65566, 8, 0, 65567, 1, 0, 65568, 1, 0, 65569, 1, 0, 65570, 1, 0, 65571, 0, 0, 65572, 0, 0, 65573, 4, 0, 65574, 4, 0, 196607, 0, 0, 131072, 0, 0, 131073, 0, 0, 131074, 0, 0, 131075, 8, 0, 131076, 8, 0, 131077, 0, 0, 131078, 1, 0, 131079, 0, 0, 131080, 0, 0, 131081, 1, 0, 131082, 1, 0, 131083, 0, 0, 131084, 0, 0, 131085, 0, 0, 131086, 0, 0, 131087, 0, 0, 131088, 0, 0, 131089, 0, 0, 131090, 0, 0, 131091, 0, 0, 131092, 0, 0, 131093, 0, 0, 131094, 0, 0, 131095, 0, 0, 131096, 0, 0, 131097, 0, 0, 131098, 0, 0, 131099, 0, 0, 131100, 0, 0, 131101, 8, 0, 131102, 8, 0, 131103, 1, 0, 131104, 1, 0, 131105, 1, 0, 131106, 0, 0, 131107, 0, 0, 131108, 0, 0, 131109, 4, 0, 131110, 4, 0, 262143, 1, 0, 196608, 0, 0, 196609, 1, 0, 196610, 1, 0, 196611, 8, 0, 196612, 8, 0, 196613, 0, 0, 196614, 0, 0, 196615, 1, 0, 196616, 0, 0, 196617, 0, 0, 196618, 0, 0, 196619, 0, 0, 196620, 0, 0, 196621, 1, 0, 196622, 1, 0, 196623, 1, 0, 196624, 0, 0, 196625, 0, 0, 196626, 0, 0, 196627, 0, 0, 196628, 1, 0, 196629, 1, 0, 196630, 1, 0, 196631, 1, 0, 196632, 0, 0, 196633, 0, 0, 196634, 1, 0, 196635, 1, 0, 196636, 1, 0, 196637, 8, 0, 196638, 8, 0, 196639, 0, 0, 196640, 0, 0, 196641, 0, 0, 196642, 1, 0, 196643, 1, 0, 196644, 0, 0, 327679, 1, 0, 262144, 0, 0, 262145, 1, 0, 262146, 1, 0, 262147, 8, 0, 262148, 8, 0, 262149, 1, 0, 262150, 1, 0, 262151, 0, 0, 262152, 0, 0, 262153, 1, 0, 262154, 0, 0, 262155, 1, 0, 262156, 1, 0, 262157, 1, 0, 262158, 1, 0, 262159, 0, 0, 262160, 1, 0, 262161, 1, 0, 262162, 1, 0, 262163, 0, 0, 262164, 0, 0, 262165, 0, 0, 262166, 0, 0, 262167, 0, 0, 262168, 0, 0, 262169, 1, 0, 262170, 1, 0, 262171, 1, 0, 262172, 0, 0, 262173, 8, 0, 262174, 8, 0, 262175, 0, 0, 262176, 1, 0, 262177, 1, 0, 262178, 1, 0, 262179, 1, 0, 262180, 0, 0, 393215, 1, 0, 327680, 1, 0, 327681, 1, 0, 327682, 1, 0, 327683, 8, 0, 327684, 8, 0, 327685, 8, 0, 327686, 8, 0, 327687, 8, 0, 327688, 8, 0, 327689, 8, 0, 327690, 8, 0, 327691, 8, 0, 327692, 8, 0, 327693, 8, 0, 327694, 8, 0, 327695, 8, 0, 327696, 8, 0, 327697, 8, 0, 327698, 8, 0, 327699, 8, 0, 327700, 8, 0, 327701, 8, 0, 327702, 8, 0, 327703, 8, 0, 327704, 8, 0, 327705, 8, 0, 327706, 8, 0, 327707, 8, 0, 327708, 8, 0, 327709, 8, 0, 327710, 8, 0, 327711, 1, 0, 327712, 1, 0, 327713, 1, 0, 327714, 1, 0, 327715, 1, 0, 327716, 0, 0, 458751, 1, 0, 393216, 1, 0, 393217, 1, 0, 393218, 8, 0, 393219, 8, 0, 393220, 8, 0, 393221, 8, 0, 393222, 8, 0, 393223, 8, 0, 393224, 8, 0, 393225, 8, 0, 393226, 8, 0, 393227, 8, 0, 393228, 8, 0, 393229, 8, 0, 393230, 8, 0, 393231, 8, 0, 393232, 8, 0, 393233, 8, 0, 393234, 8, 0, 393235, 8, 0, 393236, 8, 0, 393237, 8, 0, 393238, 8, 0, 393239, 8, 0, 393240, 8, 0, 393241, 8, 0, 393242, 8, 0, 393243, 8, 0, 393244, 8, 0, 393245, 8, 0, 393246, 8, 0, 393247, 1, 0, 393248, 1, 0, 393249, 1, 0, 393250, 1, 0, 393251, 1, 0, 393252, 0, 0, 524287, 1, 0, 458752, 1, 0, 458753, 1, 0, 458754, 8, 0, 458755, 2, 0, 458756, 2, 0, 458757, 8, 0, 458758, 0, 0, 458759, 0, 0, 458760, 0, 0, 458761, 0, 0, 458762, 0, 0, 458763, 0, 0, 458764, 0, 0, 458765, 0, 0, 458766, 0, 0, 458767, 1, 0, 458768, 1, 0, 458769, 0, 0, 458770, 0, 0, 458771, 0, 0, 458772, 0, 0, 458773, 0, 0, 458774, 0, 0, 458775, 0, 0, 458776, 0, 0, 458777, 0, 0, 458778, 0, 0, 458779, 0, 0, 458780, 0, 0, 458781, 8, 0, 458782, 8, 0, 458783, 0, 0, 458784, 0, 0, 458785, 0, 0, 458786, 0, 0, 458787, 0, 0, 458788, 0, 0, 589823, 1, 0, 524288, 0, 0, 524289, 1, 0, 524290, 8, 0, 524291, 11, 0, 524292, 12, 0, 524293, 8, 0, 524294, 0, 0, 524295, 0, 0, 524296, 0, 0, 524297, 0, 0, 524298, 1, 0, 524299, 0, 0, 524300, 0, 0, 524301, 0, 0, 524302, 1, 0, 524303, 1, 0, 524304, 0, 0, 524305, 0, 0, 524306, 0, 0, 524307, 0, 0, 524308, 0, 0, 524309, 0, 0, 524310, 0, 0, 524311, 0, 0, 524312, 0, 0, 524313, 0, 0, 524314, 0, 0, 524315, 0, 0, 524316, 0, 0, 524317, 8, 0, 524318, 8, 0, 524319, 0, 0, 524320, 1, 0, 524321, 1, 0, 524322, 1, 0, 524323, 0, 0, 524324, 0, 0, 655359, 1, 0, 589824, 0, 0, 589825, 1, 0, 589826, 8, 0, 589827, 11, 0, 589828, 12, 0, 589829, 8, 0, 589830, 0, 0, 589831, 1, 0, 589832, 0, 0, 589833, 0, 0, 589834, 0, 0, 589835, 1, 0, 589836, 0, 0, 589837, 0, 0, 589838, 0, 0, 589839, 0, 0, 589840, 0, 0, 589841, 0, 0, 589842, 0, 0, 589843, 0, 0, 589844, 0, 0, 589845, 0, 0, 589846, 0, 0, 589847, 0, 0, 589848, 0, 0, 589849, 0, 0, 589850, 0, 0, 589851, 0, 0, 589852, 0, 0, 589853, 8, 0, 589854, 8, 0, 589855, 1, 0, 589856, 0, 0, 589857, 1, 0, 589858, 1, 0, 589859, 1, 0, 589860, 0, 0, 720895, 1, 0, 655360, 0, 0, 655361, 1, 0, 655362, 8, 0, 655363, 11, 0, 655364, 12, 0, 655365, 8, 0, 655366, 0, 0, 655367, 0, 0, 655368, 0, 0, 655369, 0, 0, 655370, 1, 0, 655371, 0, 0, 655372, 1, 0, 655373, 0, 0, 655374, 0, 0, 655375, 0, 0, 655376, 0, 0, 655377, 0, 0, 655378, 0, 0, 655379, 1, 0, 655380, 0, 0, 655381, 0, 0, 655382, 0, 0, 655383, 0, 0, 655384, 0, 0, 655385, 0, 0, 655386, 1, 0, 655387, 1, 0, 655388, 1, 0, 655389, 8, 0, 655390, 8, 0, 655391, 1, 0, 655392, 0, 0, 655393, 1, 0, 655394, 1, 0, 655395, 1, 0, 655396, 1, 0, 786431, 1, 0, 720896, 1, 0, 720897, 0, 0, 720898, 8, 0, 720899, 11, 0, 720900, 12, 0, 720901, 8, 0, 720902, 0, 0, 720903, 0, 0, 720904, 0, 0, 720905, 1, 0, 720906, 0, 0, 720907, 1, 0, 720908, 0, 0, 720909, 0, 0, 720910, 0, 0, 720911, 0, 0, 720912, 0, 0, 720913, 0, 0, 720914, 1, 0, 720915, 0, 0, 720916, 0, 0, 720917, 0, 0, 720918, 0, 0, 720919, 0, 0, 720920, 0, 0, 720921, 0, 0, 720922, 0, 0, 720923, 0, 0, 720924, 8, 0, 720925, 8, 0, 720926, 8, 0, 720927, 8, 0, 720928, 0, 0, 720929, 1, 0, 720930, 1, 0, 720931, 1, 0, 720932, 1, 0, 851967, 1, 0, 786432, 0, 0, 786433, 0, 0, 786434, 8, 0, 786435, 11, 0, 786436, 12, 0, 786437, 8, 0, 786438, 0, 0, 786439, 0, 0, 786440, 1, 0, 786441, 0, 0, 786442, 0, 0, 786443, 0, 0, 786444, 0, 0, 786445, 1, 0, 786446, 1, 0, 786447, 0, 0, 786448, 1, 0, 786449, 1, 0, 786450, 0, 0, 786451, 0, 0, 786452, 0, 0, 786453, 0, 0, 786454, 0, 0, 786455, 1, 0, 786456, 1, 0, 786457, 0, 0, 786458, 0, 0, 786459, 1, 0, 786460, 8, 0, 786461, 2, 0, 786462, 2, 0, 786463, 8, 0, 786464, 0, 0, 786465, 1, 0, 786466, 1, 0, 786467, 1, 0, 786468, 1, 0, 917503, 1, 0, 851968, 0, 0, 851969, 0, 0, 851970, 8, 0, 851971, 11, 0, 851972, 12, 0, 851973, 8, 0, 851974, 0, 0, 851975, 0, 0, 851976, 0, 0, 851977, 0, 0, 851978, 0, 0, 851979, 1, 0, 851980, 1, 0, 851981, 1, 0, 851982, 0, 0, 851983, 1, 0, 851984, 1, 0, 851985, 0, 0, 851986, 1, 0, 851987, 1, 0, 851988, 1, 0, 851989, 0, 0, 851990, 1, 0, 851991, 0, 0, 851992, 0, 0, 851993, 0, 0, 851994, 0, 0, 851995, 1, 0, 851996, 8, 0, 851997, 11, 0, 851998, 12, 0, 851999, 8, 0, 852000, 1, 0, 852001, 1, 0, 852002, 1, 0, 852003, 1, 0, 852004, 1, 0, 983039, 0, 0, 917504, 0, 0, 917505, 1, 0, 917506, 8, 0, 917507, 11, 0, 917508, 12, 0, 917509, 8, 0, 917510, 0, 0, 917511, 0, 0, 917512, 1, 0, 917513, 0, 0, 917514, 1, 0, 917515, 8, 0, 917516, 8, 0, 917517, 0, 0, 917518, 1, 0, 917519, 1, 0, 917520, 0, 0, 917521, 1, 0, 917522, 1, 0, 917523, 1, 0, 917524, 1, 0, 917525, 0, 0, 917526, 0, 0, 917527, 0, 0, 917528, 1, 0, 917529, 1, 0, 917530, 1, 0, 917531, 0, 0, 917532, 8, 0, 917533, 11, 0, 917534, 12, 0, 917535, 8, 0, 917536, 1, 0, 917537, 1, 0, 917538, 1, 0, 917539, 1, 0, 917540, 1, 0, 1048575, 0, 0, 983040, 0, 0, 983041, 0, 0, 983042, 8, 0, 983043, 11, 0, 983044, 12, 0, 983045, 8, 0, 983046, 1, 0, 983047, 0, 0, 983048, 0, 0, 983049, 1, 0, 983050, 8, 0, 983051, 8, 0, 983052, 8, 0, 983053, 8, 0, 983054, 0, 0, 983055, 0, 0, 983056, 1, 0, 983057, 1, 0, 983058, 1, 0, 983059, 1, 0, 983060, 0, 0, 983061, 0, 0, 983062, 0, 0, 983063, 0, 0, 983064, 1, 0, 983065, 1, 0, 983066, 0, 0, 983067, 0, 0, 983068, 8, 0, 983069, 11, 0, 983070, 12, 0, 983071, 8, 0, 983072, 0, 0, 983073, 0, 0, 983074, 1, 0, 983075, 1, 0, 983076, 1, 0, 1114111, 1, 0, 1048576, 0, 0, 1048577, 1, 0, 1048578, 8, 0, 1048579, 11, 0, 1048580, 12, 0, 1048581, 8, 0, 1048582, 0, 0, 1048583, 0, 0, 1048584, 1, 0, 1048585, 1, 0, 1048586, 8, 0, 1048587, 8, 0, 1048588, 8, 0, 1048589, 8, 0, 1048590, 1, 0, 1048591, 1, 0, 1048592, 1, 0, 1048593, 1, 0, 1048594, 1, 0, 1048595, 0, 0, 1048596, 0, 0, 1048597, 1, 0, 1048598, 1, 0, 1048599, 0, 0, 1048600, 1, 0, 1048601, 0, 0, 1048602, 1, 0, 1048603, 1, 0, 1048604, 8, 0, 1048605, 11, 0, 1048606, 12, 0, 1048607, 8, 0, 1048608, 1, 0, 1048609, 0, 0, 1048610, 1, 0, 1048611, 1, 0, 1048612, 1, 0, 1179647, 0, 0, 1114112, 0, 0, 1114113, 1, 0, 1114114, 8, 0, 1114115, 11, 0, 1114116, 12, 0, 1114117, 8, 0, 1114118, 8, 0, 1114119, 8, 0, 1114120, 8, 0, 1114121, 8, 0, 1114122, 8, 0, 1114123, 8, 0, 1114124, 8, 0, 1114125, 8, 0, 1114126, 8, 0, 1114127, 8, 0, 1114128, 8, 0, 1114129, 8, 0, 1114130, 8, 0, 1114131, 8, 0, 1114132, 8, 0, 1114133, 8, 0, 1114134, 8, 0, 1114135, 8, 0, 1114136, 8, 0, 1114137, 8, 0, 1114138, 8, 0, 1114139, 8, 0, 1114140, 8, 0, 1114141, 11, 0, 1114142, 12, 0, 1114143, 8, 0, 1114144, 8, 0, 1114145, 8, 0, 1114146, 8, 0, 1114147, 8, 0, 1114148, 1, 0, 1245183, 0, 0, 1179648, 0, 0, 1179649, 1, 0, 1179650, 8, 0, 1179651, 2, 0, 1179652, 2, 0, 1179653, 10, 0, 1179654, 10, 0, 1179655, 10, 0, 1179656, 10, 0, 1179657, 10, 0, 1179658, 10, 0, 1179659, 10, 0, 1179660, 10, 0, 1179661, 10, 0, 1179662, 10, 0, 1179663, 10, 0, 1179664, 10, 0, 1179665, 10, 0, 1179666, 10, 0, 1179667, 10, 0, 1179668, 10, 0, 1179669, 10, 0, 1179670, 10, 0, 1179671, 10, 0, 1179672, 10, 0, 1179673, 10, 0, 1179674, 10, 0, 1179675, 10, 0, 1179676, 10, 0, 1179677, 2, 0, 1179678, 2, 0, 1179679, 2, 0, 1179680, 2, 0, 1179681, 8, 0, 1179682, 8, 0, 1179683, 8, 0, 1179684, 1, 0, 1310719, 0, 0, 1245184, 0, 0, 1245185, 1, 0, 1245186, 8, 0, 1245187, 2, 0, 1245188, 2, 0, 1245189, 9, 0, 1245190, 9, 0, 1245191, 9, 0, 1245192, 9, 0, 1245193, 9, 0, 1245194, 9, 0, 1245195, 9, 0, 1245196, 9, 0, 1245197, 9, 0, 1245198, 9, 0, 1245199, 9, 0, 1245200, 9, 0, 1245201, 9, 0, 1245202, 9, 0, 1245203, 9, 0, 1245204, 9, 0, 1245205, 9, 0, 1245206, 9, 0, 1245207, 9, 0, 1245208, 9, 0, 1245209, 9, 0, 1245210, 9, 0, 1245211, 9, 0, 1245212, 9, 0, 1245213, 2, 0, 1245214, 2, 0, 1245215, 2, 0, 1245216, 2, 0, 1245217, 8, 0, 1245218, 8, 0, 1245219, 8, 0, 1245220, 1, 0, 1376255, 0, 0, 1310720, 0, 0, 1310721, 1, 0, 1310722, 8, 0, 1310723, 8, 0, 1310724, 8, 0, 1310725, 8, 0, 1310726, 8, 0, 1310727, 8, 0, 1310728, 8, 0, 1310729, 8, 0, 1310730, 8, 0, 1310731, 8, 0, 1310732, 8, 0, 1310733, 8, 0, 1310734, 8, 0, 1310735, 8, 0, 1310736, 8, 0, 1310737, 8, 0, 1310738, 8, 0, 1310739, 8, 0, 1310740, 8, 0, 1310741, 8, 0, 1310742, 8, 0, 1310743, 8, 0, 1310744, 8, 0, 1310745, 8, 0, 1310746, 8, 0, 1310747, 8, 0, 1310748, 8, 0, 1310749, 8, 0, 1310750, 8, 0, 1310751, 8, 0, 1310752, 8, 0, 1310753, 8, 0, 1310754, 8, 0, 1310755, 8, 0, 1310756, 1, 0, 1441791, 0, 0, 1376256, 0, 0, 1376257, 0, 0, 1376258, 0, 0, 1376259, 0, 0, 1376260, 0, 0, 1376261, 0, 0, 1376262, 0, 0, 1376263, 0, 0, 1376264, 0, 0, 1376265, 0, 0, 1376266, 0, 0, 1376267, 1, 0, 1376268, 1, 0, 1376269, 1, 0, 1376270, 1, 0, 1376271, 1, 0, 1376272, 1, 0, 1376273, 1, 0, 1376274, 1, 0, 1376275, 0, 0, 1376276, 1, 0, 1376277, 1, 0, 1376278, 1, 0, 1376279, 1, 0, 1376280, 1, 0, 1376281, 0, 0, 1376282, 0, 0, 1376283, 0, 0, 1376284, 0, 0, 1376285, 0, 0, 1376286, 1, 0, 1376287, 1, 0, 1376288, 1, 0, 1376289, 1, 0, 1376290, 1, 0, 1376291, 1, 0, 1376292, 1, 0, 1507327, 1, 0, 1441792, 1, 0, 1441793, 1, 0, 1441794, 1, 0, 1441795, 1, 0, 1441796, 1, 0, 1441797, 1, 0, 1441798, 1, 0, 1441799, 1, 0, 1441800, 1, 0, 1441801, 1, 0, 1441802, 1, 0, 1441803, 1, 0, 1441804, 1, 0, 1441805, 1, 0, 1441806, 1, 0, 1441807, 1, 0, 1441808, 1, 0, 1441809, 1, 0, 1441810, 1, 0, 1441811, 1, 0, 1441812, 1, 0, 1441813, 1, 0, 1441814, 1, 0, 1441815, 1, 0, 1441816, 1, 0, 1441817, 1, 0, 1441818, 1, 0, 1441819, 1, 0, 1441820, 1, 0, 1441821, 1, 0, 1441822, 1, 0, 1441823, 1, 0, 1441824, 1, 0, 1441825, 1, 0, 1441826, 1, 0, 1441827, 1, 0, 1441828, 1, 0 ) + +[node name="Player" parent="BaseLevel/YSort" index="0"] +position = Vector2( 621.466, 304.825 ) + +[node name="Trolley" parent="BaseLevel/YSort" index="1"] +position = Vector2( 860.382, 753.238 ) + +[node name="House1" parent="BaseLevel/YSort" index="2"] +position = Vector2( 1055.91, 400.411 ) + +[node name="Neighbor1" parent="BaseLevel/YSort" index="3"] +position = Vector2( 321.043, 440.773 ) + +[node name="House2" parent="BaseLevel/YSort" index="4" instance=ExtResource( 2 )] +position = Vector2( 956.94, 1202.48 ) + +[node name="House3" parent="BaseLevel/YSort" index="5" instance=ExtResource( 2 )] +position = Vector2( 2732.91, 1404.3 ) + +[node name="Neighbor2" parent="BaseLevel/YSort" index="6" instance=ExtResource( 3 )] +position = Vector2( 203.497, 1518.66 ) + +[node name="Neighbor3" parent="BaseLevel/YSort" index="7" instance=ExtResource( 3 )] +position = Vector2( 2367.96, 475.947 ) + +[node name="Decor" parent="BaseLevel/YSort" index="8" instance=ExtResource( 4 )] +position = Vector2( 1550.61, 321.222 ) +SPRITE_ASSET = "tree" + +[node name="Decor2" parent="BaseLevel/YSort" index="9" instance=ExtResource( 4 )] +position = Vector2( 529.765, 608.809 ) +SPRITE_ASSET = "lamppost" + +[node name="Decor3" parent="BaseLevel/YSort" index="10" instance=ExtResource( 4 )] +position = Vector2( 2162.79, 1263.03 ) +SPRITE_ASSET = "lamppost" + +[node name="Decor4" parent="BaseLevel/YSort" index="11" instance=ExtResource( 4 )] +position = Vector2( 751.761, 1301.71 ) + +[node name="Decor5" parent="BaseLevel/YSort" index="12" instance=ExtResource( 4 )] +position = Vector2( 664.308, 1300.03 ) +SPRITE_ASSET = "bush2" + +[node name="Decor6" parent="BaseLevel/YSort" index="13" instance=ExtResource( 4 )] +position = Vector2( 554.992, 1301.71 ) + +[node name="Decor7" parent="BaseLevel/YSort" index="14" instance=ExtResource( 4 )] +position = Vector2( 2517.64, 753.443 ) +SPRITE_ASSET = "tree" + +[node name="Decor8" parent="BaseLevel/YSort" index="15" instance=ExtResource( 4 )] +position = Vector2( 1173.89, 1219.3 ) +SPRITE_ASSET = "tree" + +[node name="RightBorder" parent="BaseLevel/Clouds" index="0"] +position = Vector2( 335.68, 80.7343 ) + +[node name="LeftBorder" parent="BaseLevel/Clouds" index="1"] +position = Vector2( -26.2153, 79.2472 ) + +[node name="TopBorder" parent="BaseLevel/Clouds" index="2"] +position = Vector2( 155.625, -22.1135 ) + +[node name="BottomBorder" parent="BaseLevel/Clouds" index="3"] +position = Vector2( 148.134, 193.635 ) + +[node name="Left" parent="BaseLevel/CameraBounds" index="0"] +position = Vector2( -80.9948, 806.902 ) + +[node name="Top" parent="BaseLevel/CameraBounds" index="1"] +position = Vector2( 1460.54, -339.41 ) + +[node name="Right" parent="BaseLevel/CameraBounds" index="2"] +position = Vector2( 2949.06, 789.494 ) + +[node name="Bottom" parent="BaseLevel/CameraBounds" index="3"] +position = Vector2( 1458.68, 1836.19 ) + +[node name="TrolleyStart" parent="BaseLevel/TrolleyLocations" index="0"] +position = Vector2( 314.451, -34.7158 ) + +[node name="TrolleyEnd" parent="BaseLevel/TrolleyLocations" index="1"] +position = Vector2( 2407.4, -70.4924 ) + +[editable path="BaseLevel"] +[editable path="BaseLevel/Clouds"] diff --git a/scenes/level2.tscn b/scenes/level2.tscn index ca5852c..60a8753 100644 --- a/scenes/level2.tscn +++ b/scenes/level2.tscn @@ -1,333 +1,7 @@ -[gd_scene load_steps=13 format=2] +[gd_scene load_steps=2 format=2] -[ext_resource path="res://scenes/TileMap.tscn" type="PackedScene" id=1] -[ext_resource path="res://scenes/tree.tscn" type="PackedScene" id=2] -[ext_resource path="res://scenes/player.tscn" type="PackedScene" id=3] -[ext_resource path="res://scenes/bushes.tscn" type="PackedScene" id=4] -[ext_resource path="res://roger-roger/stopsign.png" type="Texture" id=5] -[ext_resource path="res://scenes/house.tscn" type="PackedScene" id=6] -[ext_resource path="res://Y2Mate.is - Won't You Be My Neighbor [8 Bit Tribute to Mr. Rogers] - 8 Bit Universe-8f3BEcQp1Q4-48k-1659646018463.mp3" type="AudioStream" id=7] -[ext_resource path="res://roger-roger/cloud4.png" type="Texture" id=8] -[ext_resource path="res://scenes/Clouds.gd" type="Script" id=9] -[ext_resource path="res://roger-roger/cloud2.png" type="Texture" id=10] -[ext_resource path="res://roger-roger/cloud1.png" type="Texture" id=11] -[ext_resource path="res://roger-roger/cloud3.png" type="Texture" id=12] +[ext_resource path="res://scenes/base_level.tscn" type="PackedScene" id=1] -[node name="Node2D" type="Node2D"] +[node name="Level1" type="Node2D"] -[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."] -stream = ExtResource( 7 ) -pitch_scale = 1.24 -autoplay = true - -[node name="TileMap" parent="." instance=ExtResource( 1 )] -position = Vector2( 0, -2 ) -show_collision = false -tile_data = PoolIntArray( -524301, 13, 0, -524300, 13, 0, -524299, 13, 0, -524298, 13, 0, -524297, 13, 0, -524296, 13, 0, -524295, 13, 0, -524294, 13, 0, -524293, 13, 0, -524292, 12, 0, -524291, 13, 0, -524290, 13, 0, -524289, 13, 0, -589824, 13, 0, -589823, 13, 0, -589822, 13, 0, -589821, 13, 0, -589820, 13, 0, -589819, 13, 0, -589818, 13, 0, -589817, 13, 0, -589816, 13, 0, -589815, 13, 0, -589814, 13, 0, -589813, 13, 0, -589812, 12, 0, -589811, 12, 0, -589810, 12, 0, -589809, 12, 0, -589808, 12, 0, -589807, 13, 0, -589806, 13, 0, -589805, 13, 0, -589804, 13, 0, -589803, 13, 0, -589802, 13, 0, -589801, 12, 0, -589800, 13, 0, -589799, 13, 0, -589798, 13, 0, -458765, 13, 0, -458764, 13, 0, -458763, 13, 0, -458762, 13, 0, -458761, 12, 0, -458760, 12, 0, -458759, 12, 0, -458758, 12, 0, -458757, 12, 0, -458756, 13, 0, -458755, 13, 0, -458754, 13, 0, -458753, 13, 0, -524288, 13, 0, -524287, 13, 0, -524286, 13, 0, -524285, 13, 0, -524284, 13, 0, -524283, 13, 0, -524282, 13, 0, -524281, 13, 0, -524280, 13, 0, -524279, 13, 0, -524278, 13, 0, -524277, 13, 0, -524276, 12, 0, -524275, 13, 0, -524274, 13, 0, -524273, 13, 0, -524272, 13, 0, -524271, 13, 0, -524270, 12, 0, -524269, 12, 0, -524268, 12, 0, -524267, 13, 0, -524266, 13, 0, -524265, 13, 0, -524264, 13, 0, -524263, 13, 0, -524262, 13, 0, -393229, 13, 0, -393228, 12, 0, -393227, 12, 0, -393226, 12, 0, -393225, 12, 0, -393224, 12, 0, -393223, 12, 0, -393222, 13, 0, -393221, 13, 0, -393220, 12, 0, -393219, 12, 0, -393218, 12, 0, -393217, 13, 0, -458752, 13, 0, -458751, 13, 0, -458750, 13, 0, -458749, 13, 0, -458748, 12, 0, -458747, 12, 0, -458746, 12, 0, -458745, 13, 0, -458744, 13, 0, -458743, 13, 0, -458742, 12, 0, -458741, 12, 0, -458740, 12, 0, -458739, 12, 0, -458738, 12, 0, -458737, 12, 0, -458736, 13, 0, -458735, 13, 0, -458734, 13, 0, -458733, 13, 0, -458732, 13, 0, -458731, 13, 0, -458730, 13, 0, -458729, 12, 0, -458728, 12, 0, -458727, 12, 0, -458726, 12, 0, -327693, 13, 0, -327692, 12, 0, -327691, 12, 0, -327690, 12, 0, -327689, 12, 0, -327688, 12, 0, -327687, 12, 0, -327686, 12, 0, -327685, 12, 0, -327684, 12, 0, -327683, 13, 0, -327682, 13, 0, -327681, 13, 0, -393216, 13, 0, -393215, 13, 0, -393214, 12, 0, -393213, 12, 0, -393212, 13, 0, -393211, 13, 0, -393210, 12, 0, -393209, 12, 0, -393208, 12, 0, -393207, 12, 0, -393206, 12, 0, -393205, 12, 0, -393204, 12, 0, -393203, 12, 0, -393202, 12, 0, -393201, 12, 0, -393200, 13, 0, -393199, 13, 0, -393198, 12, 0, -393197, 12, 0, -393196, 12, 0, -393195, 12, 0, -393194, 12, 0, -393193, 12, 0, -393192, 12, 0, -393191, 12, 0, -393190, 12, 0, -262157, 13, 0, -262156, 12, 0, -262155, 12, 0, -262154, 12, 0, -262153, 12, 0, -262152, 12, 0, -262151, 12, 0, -262150, 12, 0, -262149, 12, 0, -262148, 13, 0, -262147, 12, 0, -262146, 12, 0, -262145, 12, 0, -327680, 12, 0, -327679, 12, 0, -327678, 12, 0, -327677, 12, 0, -327676, 12, 0, -327675, 12, 0, -327674, 12, 0, -327673, 12, 0, -327672, 12, 0, -327671, 13, 0, -327670, 13, 0, -327669, 12, 0, -327668, 12, 0, -327667, 12, 0, -327666, 12, 0, -327665, 12, 0, -327664, 12, 0, -327663, 13, 0, -327662, 13, 0, -327661, 13, 0, -327660, 13, 0, -327659, 13, 0, -327658, 12, 0, -327657, 13, 0, -327656, 13, 0, -327655, 12, 0, -327654, 13, 0, -196621, 10, 0, -196620, 9, 0, -196619, 10, 0, -196618, 9, 0, -196617, 10, 0, -196616, 10, 0, -196615, 10, 0, -196614, 10, 0, -196613, 9, 0, -196612, 10, 0, -196611, 9, 0, -196610, 9, 0, -196609, 10, 0, -262144, 9, 0, -262143, 9, 0, -262142, 10, 0, -262141, 10, 0, -262140, 9, 0, -262139, 9, 0, -262138, 9, 0, -262137, 10, 0, -262136, 9, 0, -262135, 10, 0, -262134, 9, 0, -262133, 9, 0, -262132, 10, 0, -262131, 10, 0, -262130, 9, 0, -262129, 10, 0, -262128, 9, 0, -262127, 9, 0, -262126, 9, 0, -262125, 9, 0, -262124, 9, 0, -262123, 9, 0, -262122, 9, 0, -262121, 9, 0, -262120, 9, 0, -262119, 9, 0, -262118, 9, 0, -131085, 11, 0, -131084, 11, 0, -131083, 11, 0, -131082, 11, 0, -131081, 11, 0, -131080, 11, 0, -131079, 11, 0, -131078, 11, 0, -131077, 11, 0, -131076, 11, 0, -131075, 11, 0, -131074, 11, 0, -131073, 11, 0, -196608, 11, 0, -196607, 11, 0, -196606, 11, 0, -196605, 11, 0, -196604, 11, 0, -196603, 11, 0, -196602, 11, 0, -196601, 11, 0, -196600, 11, 0, -196599, 11, 0, -196598, 11, 0, -196597, 11, 0, -196596, 11, 0, -196595, 11, 0, -196594, 11, 0, -196593, 11, 0, -196592, 11, 0, -196591, 11, 0, -196590, 11, 0, -196589, 11, 0, -196588, 11, 0, -196587, 11, 0, -196586, 11, 0, -196585, 11, 0, -196584, 11, 0, -196583, 11, 0, -196582, 11, 0, -65549, 7, 0, -65548, 1610612739, 0, -65547, 1610612736, 0, -65546, 1610612737, 0, -65545, 1610612739, 0, -65544, 7, 0, -65543, 7, 0, -65542, 7, 0, -65541, 7, 0, -65540, 7, 0, -65539, 7, 0, -65538, 7, 0, -65537, 7, 0, -131072, 7, 0, -131071, 7, 0, -131070, 7, 0, -131069, 7, 0, -131068, 7, 0, -131067, 7, 0, -131066, 7, 0, -131065, 7, 0, -131064, 7, 0, -131063, 7, 0, -131062, 7, 0, -131061, 7, 0, -131060, 7, 0, -131059, 7, 0, -131058, 7, 0, -131057, 7, 0, -131056, 7, 0, -131055, 7, 0, -131054, 7, 0, -131053, 1610612739, 0, -131052, 1610612736, 0, -131051, 1610612737, 0, -131050, 1610612739, 0, -131049, 7, 0, -131048, 7, 0, -131047, 7, 0, -131046, 7, 0, -13, 7, 0, -12, 1610612739, 0, -11, 1610612736, 0, -10, 1610612737, 0, -9, 1610612739, 0, -8, 1610612743, 0, -7, 7, 0, -6, 7, 0, -5, 7, 0, -4, 7, 0, -3, 7, 0, -2, 7, 0, -1, 7, 0, -65536, 7, 0, -65535, 7, 0, -65534, 7, 0, -65533, 7, 0, -65532, 7, 0, -65531, 7, 0, -65530, 7, 0, -65529, 7, 0, -65528, 7, 0, -65527, 7, 0, -65526, 7, 0, -65525, 7, 0, -65524, 7, 0, -65523, 7, 0, -65522, 7, 0, -65521, 7, 0, -65520, 7, 0, -65519, 7, 0, -65518, 7, 0, -65517, 1610612739, 0, -65516, 1610612736, 0, -65515, 1610612737, 0, -65514, 1610612739, 0, -65513, 7, 0, -65512, 7, 0, -65511, 7, 0, -65510, 7, 0, 65523, 7, 0, 65524, 1610612739, 0, 65525, 1610612736, 0, 65526, 1610612737, 0, 65527, 1610612739, 0, 65528, 1610612743, 0, 65529, 7, 0, 65530, 7, 0, 65531, 7, 0, 65532, 7, 0, 65533, 7, 0, 65534, 7, 0, 65535, 7, 0, 0, 7, 0, 1, 7, 0, 2, 7, 0, 3, 7, 0, 4, 7, 0, 5, 1610612743, 0, 6, 1610612743, 0, 7, 1610612743, 0, 8, 1610612743, 0, 9, 1610612743, 0, 10, 1610612743, 0, 11, 1610612743, 0, 12, 1610612743, 0, 13, 1610612743, 0, 14, 1610612743, 0, 15, 7, 0, 16, 7, 0, 17, 7, 0, 18, 7, 0, 19, 1610612739, 0, 20, 1610612736, 0, 21, 1610612737, 0, 22, 1610612739, 0, 23, 1610612743, 0, 24, 7, 0, 25, 7, 0, 26, 7, 0, 131059, 1610612743, 0, 131060, 1610612739, 0, 131061, 1610612736, 0, 131062, 1610612737, 0, 131063, 1610612739, 0, 131064, 1610612743, 0, 131065, 7, 0, 131066, 7, 0, 131067, 7, 0, 131068, 7, 0, 131069, 7, 0, 131070, 7, 0, 131071, 7, 0, 65536, 7, 0, 65537, 7, 0, 65538, 7, 0, 65539, 7, 0, 65540, 7, 0, 65541, 7, 0, 65542, 1610612743, 0, 65543, 1610612743, 0, 65544, 1610612743, 0, 65545, 1610612743, 0, 65546, 1610612743, 0, 65547, 1610612743, 0, 65548, 1610612743, 0, 65549, 1610612743, 0, 65550, 1610612743, 0, 65551, 7, 0, 65552, 7, 0, 65553, 7, 0, 65554, 7, 0, 65555, 1610612739, 0, 65556, 1610612736, 0, 65557, 1610612737, 0, 65558, 1610612739, 0, 65559, 1610612743, 0, 65560, 7, 0, 65561, 7, 0, 65562, 7, 0, 196595, 1610612743, 0, 196596, 1610612739, 0, 196597, 1610612736, 0, 196598, 1610612737, 0, 196599, 1610612739, 0, 196600, 1610612743, 0, 196601, 7, 0, 196602, 7, 0, 196603, 7, 0, 196604, 7, 0, 196605, 7, 0, 196606, 7, 0, 196607, 7, 0, 131072, 7, 0, 131073, 7, 0, 131074, 7, 0, 131075, 7, 0, 131076, 7, 0, 131077, 7, 0, 131078, 1610612743, 0, 131079, 1610612743, 0, 131080, 1610612743, 0, 131081, 1610612743, 0, 131082, 1610612743, 0, 131083, 1610612743, 0, 131084, 7, 0, 131085, 1610612743, 0, 131086, 1610612743, 0, 131087, 7, 0, 131088, 1610612743, 0, 131089, 7, 0, 131090, 7, 0, 131091, 1610612739, 0, 131092, 1610612736, 0, 131093, 1610612737, 0, 131094, 1610612739, 0, 131095, 1610612743, 0, 131096, 7, 0, 131097, 7, 0, 131098, 7, 0, 262131, 1610612743, 0, 262132, 1610612739, 0, 262133, 1610612736, 0, 262134, 1610612737, 0, 262135, 1610612739, 0, 262136, 1610612743, 0, 262137, 7, 0, 262138, 7, 0, 262139, 7, 0, 262140, 7, 0, 262141, 7, 0, 262142, 7, 0, 262143, 7, 0, 196608, 7, 0, 196609, 7, 0, 196610, 7, 0, 196611, 7, 0, 196612, 7, 0, 196613, 1610612743, 0, 196614, 1610612743, 0, 196615, 1610612743, 0, 196616, 1610612743, 0, 196617, 1610612743, 0, 196618, 7, 0, 196619, 7, 0, 196620, 1610612743, 0, 196621, 1610612743, 0, 196622, 1610612743, 0, 196623, 1610612743, 0, 196624, 1610612743, 0, 196625, 1610612743, 0, 196626, 1610612743, 0, 196627, 1610612739, 0, 196628, 1610612736, 0, 196629, 1610612737, 0, 196630, 1610612739, 0, 196631, 1610612743, 0, 196632, 7, 0, 196633, 7, 0, 196634, 7, 0, 327667, 1610612743, 0, 327668, 1610612739, 0, 327669, 1610612736, 0, 327670, 1610612737, 0, 327671, 1610612739, 0, 327672, 1610612743, 0, 327673, 7, 0, 327674, 7, 0, 327675, 7, 0, 327676, 7, 0, 327677, 7, 0, 327678, 7, 0, 327679, 7, 0, 262144, 7, 0, 262145, 7, 0, 262146, 7, 0, 262147, 7, 0, 262148, 7, 0, 262149, 1610612743, 0, 262150, 1610612743, 0, 262151, 1610612743, 0, 262152, 1610612743, 0, 262153, 1610612743, 0, 262154, 7, 0, 262155, 7, 0, 262156, 7, 0, 262157, 7, 0, 262158, 1610612743, 0, 262159, 1610612743, 0, 262160, 1610612743, 0, 262161, 1610612743, 0, 262162, 1610612743, 0, 262163, 1610612739, 0, 262164, 1610612736, 0, 262165, 1610612737, 0, 262166, 1610612739, 0, 262167, 1610612743, 0, 262168, 7, 0, 262169, 7, 0, 262170, 7, 0, 393203, 1610612743, 0, 393204, 1610612739, 0, 393205, 1610612736, 0, 393206, 1610612737, 0, 393207, 1610612739, 0, 393208, 1610612743, 0, 393209, 7, 0, 393210, 7, 0, 393211, 7, 0, 393212, 7, 0, 393213, 7, 0, 393214, 7, 0, 393215, 7, 0, 327680, 7, 0, 327681, 7, 0, 327682, 7, 0, 327683, 7, 0, 327684, 7, 0, 327685, 7, 0, 327686, 1610612743, 0, 327687, 1610612743, 0, 327688, 1610612743, 0, 327689, 1610612743, 0, 327690, 7, 0, 327691, 7, 0, 327692, 7, 0, 327693, 7, 0, 327694, 1610612743, 0, 327695, 1610612743, 0, 327696, 7, 0, 327697, 7, 0, 327698, 7, 0, 327699, 1610612739, 0, 327700, 1610612736, 0, 327701, 1610612737, 0, 327702, 1610612739, 0, 327703, 1610612743, 0, 327704, 7, 0, 327705, 1610612743, 0, 327706, 1610612743, 0, 458739, 1610612743, 0, 458740, 1610612739, 0, 458741, 1610612736, 0, 458742, 1610612737, 0, 458743, 1610612739, 0, 458744, 1610612739, 0, 458745, 1610612739, 0, 458746, 1610612739, 0, 458747, 1610612739, 0, 458748, 1610612739, 0, 458749, 1610612739, 0, 458750, 1610612739, 0, 458751, 1610612739, 0, 393216, 1610612739, 0, 393217, 1610612739, 0, 393218, 1610612739, 0, 393219, 1610612739, 0, 393220, 1610612739, 0, 393221, 1610612739, 0, 393222, 1610612739, 0, 393223, 1610612739, 0, 393224, 1610612739, 0, 393225, 1610612739, 0, 393226, 1610612739, 0, 393227, 1610612739, 0, 393228, 1610612739, 0, 393229, 1610612739, 0, 393230, 1610612739, 0, 393231, 1610612739, 0, 393232, 1610612739, 0, 393233, 1610612739, 0, 393234, 1610612739, 0, 393235, 1610612739, 0, 393236, 1610612736, 0, 393237, 1610612737, 0, 393238, 1610612739, 0, 393239, 1610612743, 0, 393240, 1610612743, 0, 393241, 1610612743, 0, 393242, 1610612743, 0, 524275, 7, 0, 524276, 1610612739, 0, 524277, 1610612744, 0, 524278, 1610612744, 0, 524279, 1610612741, 0, 524280, 1610612741, 0, 524281, 1610612741, 0, 524282, 1610612741, 0, 524283, 1610612741, 0, 524284, 1610612741, 0, 524285, 1610612741, 0, 524286, 1610612741, 0, 524287, 1610612741, 0, 458752, 1610612741, 0, 458753, 1610612741, 0, 458754, 1610612741, 0, 458755, 1610612741, 0, 458756, 1610612741, 0, 458757, 1610612741, 0, 458758, 1610612741, 0, 458759, 1610612744, 0, 458760, 1610612744, 0, 458761, 1610612741, 0, 458762, 1610612741, 0, 458763, 1610612741, 0, 458764, 1610612741, 0, 458765, 1610612741, 0, 458766, 1610612741, 0, 458767, 1610612741, 0, 458768, 1610612741, 0, 458769, 1610612741, 0, 458770, 1610612741, 0, 458771, 1610612741, 0, 458772, 1610612744, 0, 458773, 1610612744, 0, 458774, 1610612739, 0, 458775, 1610612743, 0, 458776, 1610612743, 0, 458777, 1610612743, 0, 458778, 1610612743, 0, 589811, 7, 0, 589812, 1610612739, 0, 589813, 1610612744, 0, 589814, 1610612744, 0, 589815, 1610612742, 0, 589816, 1610612742, 0, 589817, 1610612742, 0, 589818, 1610612742, 0, 589819, 1610612742, 0, 589820, 1610612742, 0, 589821, 1610612742, 0, 589822, 1610612742, 0, 589823, 1610612742, 0, 524288, 1610612742, 0, 524289, 1610612742, 0, 524290, 1610612742, 0, 524291, 1610612742, 0, 524292, 1610612742, 0, 524293, 1610612742, 0, 524294, 1610612742, 0, 524295, 1610612744, 0, 524296, 1610612744, 0, 524297, 1610612742, 0, 524298, 1610612742, 0, 524299, 1610612742, 0, 524300, 1610612742, 0, 524301, 1610612742, 0, 524302, 1610612742, 0, 524303, 1610612742, 0, 524304, 1610612742, 0, 524305, 1610612742, 0, 524306, 1610612742, 0, 524307, 1610612742, 0, 524308, 1610612744, 0, 524309, 1610612744, 0, 524310, 1610612739, 0, 524311, 1610612743, 0, 524312, 1610612743, 0, 524313, 1610612743, 0, 524314, 1610612743, 0, 655347, 7, 0, 655348, 1610612739, 0, 655349, 1610612736, 0, 655350, 1610612737, 0, 655351, 1610612739, 0, 655352, 1610612739, 0, 655353, 1610612739, 0, 655354, 1610612739, 0, 655355, 1610612739, 0, 655356, 1610612739, 0, 655357, 1610612739, 0, 655358, 1610612739, 0, 655359, 1610612739, 0, 589824, 1610612739, 0, 589825, 1610612739, 0, 589826, 1610612739, 0, 589827, 1610612739, 0, 589828, 1610612739, 0, 589829, 1610612739, 0, 589830, 1610612739, 0, 589831, 1610612736, 0, 589832, 1610612737, 0, 589833, 1610612739, 0, 589834, 1610612739, 0, 589835, 1610612739, 0, 589836, 1610612739, 0, 589837, 1610612739, 0, 589838, 1610612739, 0, 589839, 1610612739, 0, 589840, 1610612739, 0, 589841, 1610612739, 0, 589842, 1610612739, 0, 589843, 1610612739, 0, 589844, 1610612739, 0, 589845, 1610612739, 0, 589846, 1610612739, 0, 589847, 1610612743, 0, 589848, 1610612743, 0, 589849, 1610612743, 0, 589850, 7, 0, 720883, 7, 0, 720884, 1610612739, 0, 720885, 1610612736, 0, 720886, 1610612737, 0, 720887, 1610612739, 0, 720888, 1610612743, 0, 720889, 7, 0, 720890, 7, 0, 720891, 1610612743, 0, 720892, 1610612743, 0, 720893, 1610612743, 0, 720894, 1610612743, 0, 720895, 1610612743, 0, 655360, 1610612743, 0, 655361, 1610612743, 0, 655362, 1610612743, 0, 655363, 1610612743, 0, 655364, 1610612743, 0, 655365, 1610612743, 0, 655366, 1610612739, 0, 655367, 1610612736, 0, 655368, 1610612737, 0, 655369, 1610612739, 0, 655370, 1610612743, 0, 655371, 1610612743, 0, 655372, 1610612743, 0, 655373, 1610612743, 0, 655374, 1610612743, 0, 655375, 1610612743, 0, 655376, 1610612743, 0, 655377, 1610612743, 0, 655378, 1610612743, 0, 655379, 1610612743, 0, 655380, 1610612743, 0, 655381, 1610612743, 0, 655382, 1610612743, 0, 655383, 1610612743, 0, 655384, 7, 0, 655385, 7, 0, 655386, 7, 0, 786419, 7, 0, 786420, 1610612739, 0, 786421, 1610612736, 0, 786422, 1610612737, 0, 786423, 1610612739, 0, 786424, 1610612743, 0, 786425, 7, 0, 786426, 1610612743, 0, 786427, 1610612743, 0, 786428, 1610612743, 0, 786429, 1610612743, 0, 786430, 1610612743, 0, 786431, 1610612743, 0, 720896, 1610612743, 0, 720897, 1610612743, 0, 720898, 1610612743, 0, 720899, 1610612743, 0, 720900, 1610612743, 0, 720901, 1610612743, 0, 720902, 1610612739, 0, 720903, 1610612736, 0, 720904, 1610612737, 0, 720905, 1610612739, 0, 720906, 1610612743, 0, 720907, 1610612743, 0, 720908, 1610612743, 0, 720909, 1610612743, 0, 720910, 1610612743, 0, 720911, 7, 0, 720912, 7, 0, 720913, 7, 0, 720914, 1610612743, 0, 720915, 1610612743, 0, 720916, 1610612743, 0, 720917, 1610612743, 0, 720918, 1610612743, 0, 720919, 1610612743, 0, 720920, 7, 0, 720921, 7, 0, 720922, 7, 0, 851955, 7, 0, 851956, 1610612739, 0, 851957, 1610612736, 0, 851958, 1610612737, 0, 851959, 1610612739, 0, 851960, 1610612743, 0, 851961, 7, 0, 851962, 1610612743, 0, 851963, 1610612743, 0, 851964, 7, 0, 851965, 1610612743, 0, 851966, 1610612743, 0, 851967, 1610612743, 0, 786432, 1610612743, 0, 786433, 1610612743, 0, 786434, 1610612743, 0, 786435, 1610612743, 0, 786436, 1610612743, 0, 786437, 1610612743, 0, 786438, 1610612739, 0, 786439, 1610612736, 0, 786440, 1610612737, 0, 786441, 1610612739, 0, 786442, 1610612743, 0, 786443, 1610612743, 0, 786444, 1610612743, 0, 786445, 1610612743, 0, 786446, 1610612743, 0, 786447, 7, 0, 786448, 7, 0, 786449, 7, 0, 786450, 7, 0, 786451, 1610612743, 0, 786452, 1610612743, 0, 786453, 1610612743, 0, 786454, 1610612743, 0, 786455, 1610612743, 0, 786456, 7, 0, 786457, 7, 0, 786458, 7, 0, 917491, 7, 0, 917492, 1610612739, 0, 917493, 1610612736, 0, 917494, 1610612737, 0, 917495, 1610612739, 0, 917496, 1610612743, 0, 917497, 7, 0, 917498, 1610612743, 0, 917499, 1610612743, 0, 917500, 1610612743, 0, 917501, 1610612743, 0, 917502, 1610612743, 0, 917503, 1610612743, 0, 851968, 1610612743, 0, 851969, 1610612743, 0, 851970, 1610612743, 0, 851971, 1610612743, 0, 851972, 1610612743, 0, 851973, 1610612743, 0, 851974, 1610612739, 0, 851975, 1610612736, 0, 851976, 1610612737, 0, 851977, 1610612739, 0, 851978, 1610612743, 0, 851979, 1610612743, 0, 851980, 1610612743, 0, 851981, 1610612743, 0, 851982, 1610612743, 0, 851983, 7, 0, 851984, 7, 0, 851985, 7, 0, 851986, 7, 0, 851987, 7, 0, 851988, 1610612743, 0, 851989, 1610612743, 0, 851990, 1610612743, 0, 851991, 1610612743, 0, 851992, 7, 0, 851993, 7, 0, 851994, 7, 0, 983027, 7, 0, 983028, 1610612739, 0, 983029, 1610612736, 0, 983030, 1610612737, 0, 983031, 1610612739, 0, 983032, 1610612743, 0, 983033, 7, 0, 983034, 1610612743, 0, 983035, 1610612743, 0, 983036, 1610612743, 0, 983037, 1610612743, 0, 983038, 1610612743, 0, 983039, 1610612743, 0, 917504, 1610612743, 0, 917505, 1610612743, 0, 917506, 1610612743, 0, 917507, 1610612743, 0, 917508, 1610612743, 0, 917509, 1610612743, 0, 917510, 1610612739, 0, 917511, 1610612736, 0, 917512, 1610612737, 0, 917513, 1610612739, 0, 917514, 1610612743, 0, 917515, 1610612743, 0, 917516, 1610612743, 0, 917517, 1610612743, 0, 917518, 1610612743, 0, 917519, 7, 0, 917520, 7, 0, 917521, 7, 0, 917522, 7, 0, 917523, 7, 0, 917524, 1610612743, 0, 917525, 1610612743, 0, 917526, 1610612743, 0, 917527, 1610612743, 0, 917528, 7, 0, 917529, 7, 0, 917530, 7, 0, 1048563, 7, 0, 1048564, 1610612739, 0, 1048565, 1610612736, 0, 1048566, 1610612737, 0, 1048567, 1610612739, 0, 1048568, 7, 0, 1048569, 7, 0, 1048570, 1610612743, 0, 1048571, 1610612743, 0, 1048572, 1610612743, 0, 1048573, 1610612743, 0, 1048574, 1610612743, 0, 1048575, 1610612743, 0, 983040, 1610612743, 0, 983041, 1610612743, 0, 983042, 1610612743, 0, 983043, 1610612743, 0, 983044, 1610612743, 0, 983045, 7, 0, 983046, 1610612739, 0, 983047, 1610612736, 0, 983048, 1610612737, 0, 983049, 1610612739, 0, 983050, 1610612743, 0, 983051, 1610612743, 0, 983052, 1610612743, 0, 983053, 1610612743, 0, 983054, 1610612743, 0, 983055, 1610612743, 0, 983056, 1610612743, 0, 983057, 7, 0, 983058, 7, 0, 983059, 1610612743, 0, 983060, 1610612743, 0, 983061, 1610612743, 0, 983062, 1610612743, 0, 983063, 1610612743, 0, 983064, 7, 0, 983065, 7, 0, 983066, 7, 0, 1114099, 7, 0, 1114100, 1610612739, 0, 1114101, 1610612744, 0, 1114102, 1610612744, 0, 1114103, 1610612739, 0, 1114104, 7, 0, 1114105, 7, 0, 1114106, 1610612743, 0, 1114107, 1610612743, 0, 1114108, 1610612743, 0, 1114109, 1610612743, 0, 1114110, 1610612743, 0, 1114111, 1610612743, 0, 1048576, 1610612743, 0, 1048577, 1610612743, 0, 1048578, 1610612743, 0, 1048579, 1610612743, 0, 1048580, 1610612743, 0, 1048581, 1610612743, 0, 1048582, 1610612739, 0, 1048583, 1610612744, 0, 1048584, 1610612744, 0, 1048585, 1610612739, 0, 1048586, 1610612739, 0, 1048587, 1610612739, 0, 1048588, 1610612739, 0, 1048589, 1610612739, 0, 1048590, 1610612739, 0, 1048591, 1610612739, 0, 1048592, 1610612739, 0, 1048593, 1610612743, 0, 1048594, 1610612743, 0, 1048595, 7, 0, 1048596, 1610612743, 0, 1048597, 1610612743, 0, 1048598, 1610612743, 0, 1048599, 1610612743, 0, 1048600, 7, 0, 1048601, 7, 0, 1048602, 7, 0, 1179635, 7, 0, 1179636, 1610612739, 0, 1179637, 1610612744, 0, 1179638, 1610612744, 0, 1179639, 1610612739, 0, 1179640, 7, 0, 1179641, 1610612743, 0, 1179642, 1610612743, 0, 1179643, 1610612743, 0, 1179644, 1610612743, 0, 1179645, 1610612743, 0, 1179646, 1610612743, 0, 1179647, 1610612743, 0, 1114112, 1610612743, 0, 1114113, 1610612743, 0, 1114114, 1610612743, 0, 1114115, 7, 0, 1114116, 1610612743, 0, 1114117, 1610612743, 0, 1114118, 1610612739, 0, 1114119, 1610612744, 0, 1114120, 1610612744, 0, 1114121, 1610612739, 0, 1114122, 1610612739, 0, 1114123, 1610612739, 0, 1114124, 1610612739, 0, 1114125, 1610612739, 0, 1114126, 1610612739, 0, 1114127, 1610612739, 0, 1114128, 1610612739, 0, 1114129, 1610612743, 0, 1114130, 1610612743, 0, 1114131, 1610612743, 0, 1114132, 1610612743, 0, 1114133, 1610612743, 0, 1114134, 1610612743, 0, 1114135, 1610612743, 0, 1114136, 7, 0, 1114137, 7, 0, 1114138, 7, 0, 1245171, 1610612743, 0, 1245172, 1610612739, 0, 1245173, 1610612739, 0, 1245174, 1610612739, 0, 1245175, 1610612739, 0, 1245176, 7, 0, 1245177, 1610612743, 0, 1245178, 1610612743, 0, 1245179, 1610612743, 0, 1245180, 1610612743, 0, 1245181, 1610612743, 0, 1245182, 1610612743, 0, 1245183, 7, 0, 1179648, 1610612743, 0, 1179649, 1610612743, 0, 1179650, 7, 0, 1179651, 1610612743, 0, 1179652, 1610612743, 0, 1179653, 1610612743, 0, 1179654, 1610612739, 0, 1179655, 1610612739, 0, 1179656, 1610612739, 0, 1179657, 1610612739, 0, 1179658, 1610612739, 0, 1179659, 1610612739, 0, 1179660, 1610612739, 0, 1179661, 1610612739, 0, 1179662, 1610612739, 0, 1179663, 1610612739, 0, 1179664, 1610612739, 0, 1179665, 1610612743, 0, 1179666, 1610612743, 0, 1179667, 1610612743, 0, 1179668, 1610612743, 0, 1179669, 1610612743, 0, 1179670, 1610612743, 0, 1179671, 1610612743, 0, 1179672, 7, 0, 1179673, 7, 0, 1179674, 7, 0, 1310707, 1610612743, 0, 1310708, 1610612743, 0, 1310709, 1610612743, 0, 1310710, 1610612743, 0, 1310711, 7, 0, 1310712, 7, 0, 1310713, 7, 0, 1310714, 1610612743, 0, 1310715, 1610612743, 0, 1310716, 1610612743, 0, 1310717, 1610612743, 0, 1310718, 1610612743, 0, 1310719, 1610612743, 0, 1245184, 1610612743, 0, 1245185, 1610612743, 0, 1245186, 1610612743, 0, 1245187, 1610612743, 0, 1245188, 1610612743, 0, 1245189, 1610612743, 0, 1245190, 1610612743, 0, 1245191, 1610612743, 0, 1245192, 1610612743, 0, 1245193, 1610612743, 0, 1245194, 1610612743, 0, 1245195, 1610612743, 0, 1245196, 1610612743, 0, 1245197, 1610612743, 0, 1245198, 1610612743, 0, 1245199, 1610612743, 0, 1245200, 1610612743, 0, 1245201, 1610612743, 0, 1245202, 1610612743, 0, 1245203, 1610612743, 0, 1245204, 1610612743, 0, 1245205, 1610612743, 0, 1245206, 1610612743, 0, 1245207, 1610612743, 0, 1245208, 7, 0, 1245209, 7, 0, 1245210, 7, 0, 1376243, 1610612743, 0, 1376244, 1610612743, 0, 1376245, 1610612743, 0, 1376246, 1610612743, 0, 1376247, 7, 0, 1376248, 7, 0, 1376249, 7, 0, 1376250, 1610612743, 0, 1376251, 1610612743, 0, 1376252, 1610612743, 0, 1376253, 1610612743, 0, 1376254, 1610612743, 0, 1376255, 1610612743, 0, 1310720, 1610612743, 0, 1310721, 1610612743, 0, 1310722, 1610612743, 0, 1310723, 1610612743, 0, 1310724, 1610612743, 0, 1310725, 1610612743, 0, 1310726, 1610612743, 0, 1310727, 1610612743, 0, 1310728, 1610612743, 0, 1310729, 1610612743, 0, 1310730, 1610612743, 0, 1310731, 1610612743, 0, 1310732, 1610612743, 0, 1310733, 1610612743, 0, 1310734, 1610612743, 0, 1310735, 1610612743, 0, 1310736, 1610612743, 0, 1310737, 1610612743, 0, 1310738, 1610612743, 0, 1310739, 1610612743, 0, 1310740, 1610612743, 0, 1310741, 1610612743, 0, 1310742, 1610612743, 0, 1310743, 1610612743, 0, 1310744, 7, 0, 1310745, 7, 0, 1310746, 7, 0, 1441779, 1610612743, 0, 1441780, 1610612743, 0, 1441781, 1610612743, 0, 1441782, 1610612743, 0, 1441783, 7, 0, 1441784, 7, 0, 1441785, 7, 0, 1441786, 1610612743, 0, 1441787, 1610612743, 0, 1441788, 1610612743, 0, 1441789, 1610612743, 0, 1441790, 1610612743, 0, 1441791, 1610612743, 0, 1376256, 1610612743, 0, 1376257, 1610612743, 0, 1376258, 1610612743, 0, 1376259, 1610612743, 0, 1376260, 1610612743, 0, 1376261, 1610612743, 0, 1376262, 1610612743, 0, 1376263, 1610612743, 0, 1376264, 1610612743, 0, 1376265, 1610612743, 0, 1376266, 1610612743, 0, 1376267, 1610612743, 0, 1376268, 1610612743, 0, 1376269, 1610612743, 0, 1376270, 1610612743, 0, 1376271, 1610612743, 0, 1376272, 1610612743, 0, 1376273, 1610612743, 0, 1376274, 1610612743, 0, 1376275, 1610612743, 0, 1376276, 1610612743, 0, 1376277, 1610612743, 0, 1376278, 1610612743, 0, 1376279, 1610612743, 0, 1376280, 1610612743, 0, 1376281, 7, 0, 1376282, 7, 0, 1507315, 1610612743, 0, 1507316, 1610612743, 0, 1507317, 1610612743, 0, 1507318, 1610612743, 0, 1507319, 7, 0, 1507320, 7, 0, 1507321, 7, 0, 1507322, 1610612743, 0, 1507323, 1610612743, 0, 1507324, 1610612743, 0, 1507325, 1610612743, 0, 1507326, 1610612743, 0, 1507327, 1610612743, 0, 1441792, 1610612743, 0, 1441793, 1610612743, 0, 1441794, 1610612743, 0, 1441795, 1610612743, 0, 1441796, 1610612743, 0, 1441797, 1610612743, 0, 1441798, 1610612743, 0, 1441799, 1610612743, 0, 1441800, 1610612743, 0, 1441801, 1610612743, 0, 1441802, 1610612743, 0, 1441803, 1610612743, 0, 1441804, 1610612743, 0, 1441805, 1610612743, 0, 1441806, 1610612743, 0, 1441807, 1610612743, 0, 1441808, 1610612743, 0, 1441809, 1610612743, 0, 1441810, 1610612743, 0, 1441811, 1610612743, 0, 1441812, 1610612743, 0, 1441813, 1610612743, 0, 1441814, 1610612743, 0, 1441815, 1610612743, 0, 1441816, 1610612743, 0, 1441817, 1610612743, 0, 1441818, 7, 0, 1572851, 1610612743, 0, 1572852, 1610612743, 0, 1572853, 1610612743, 0, 1572854, 1610612743, 0, 1572855, 1610612743, 0, 1572856, 1610612743, 0, 1572857, 1610612743, 0, 1572858, 1610612743, 0, 1572859, 1610612743, 0, 1572860, 1610612743, 0, 1572861, 1610612743, 0, 1572862, 1610612743, 0, 1572863, 1610612743, 0, 1507328, 1610612743, 0, 1507329, 1610612743, 0, 1507330, 1610612743, 0, 1507331, 1610612743, 0, 1507332, 7, 0, 1507333, 7, 0, 1507334, 1610612743, 0, 1507335, 1610612743, 0, 1507336, 1610612743, 0, 1507337, 1610612743, 0, 1507338, 1610612743, 0, 1507339, 1610612743, 0, 1507340, 1610612743, 0, 1507341, 7, 0, 1507342, 7, 0, 1507343, 7, 0, 1507344, 7, 0, 1507345, 7, 0, 1507346, 7, 0, 1507347, 7, 0, 1507348, 1610612743, 0, 1507349, 1610612743, 0, 1507350, 1610612743, 0, 1507351, 1610612743, 0, 1507352, 1610612743, 0, 1507353, 1610612743, 0, 1507354, 7, 0, 1638387, 7, 0, 1638388, 7, 0, 1638389, 1610612743, 0, 1638390, 1610612743, 0, 1638391, 1610612743, 0, 1638392, 1610612743, 0, 1638393, 1610612743, 0, 1638394, 1610612743, 0, 1638395, 1610612743, 0, 1638396, 1610612743, 0, 1638397, 1610612743, 0, 1638398, 1610612743, 0, 1638399, 1610612743, 0, 1572864, 1610612743, 0, 1572865, 1610612743, 0, 1572866, 1610612743, 0, 1572867, 1610612743, 0, 1572868, 1610612743, 0, 1572869, 7, 0, 1572870, 1610612743, 0, 1572871, 1610612743, 0, 1572872, 1610612743, 0, 1572873, 7, 0, 1572874, 7, 0, 1572875, 7, 0, 1572876, 7, 0, 1572877, 7, 0, 1572878, 7, 0, 1572879, 7, 0, 1572880, 7, 0, 1572881, 7, 0, 1572882, 7, 0, 1572883, 7, 0, 1572884, 1610612743, 0, 1572885, 1610612743, 0, 1572886, 1610612743, 0, 1572887, 1610612743, 0, 1572888, 1610612743, 0, 1572889, 1610612743, 0, 1572890, 1610612743, 0, 1703923, 7, 0, 1703924, 7, 0, 1703925, 7, 0, 1703926, 1610612743, 0, 1703927, 1610612743, 0, 1703928, 1610612743, 0, 1703929, 1610612743, 0, 1703930, 1610612743, 0, 1703931, 1610612743, 0, 1703932, 1610612743, 0, 1703933, 7, 0, 1703934, 1610612743, 0, 1703935, 1610612743, 0, 1638400, 1610612743, 0, 1638401, 1610612743, 0, 1638402, 1610612743, 0, 1638403, 7, 0, 1638404, 7, 0, 1638405, 7, 0, 1638406, 7, 0, 1638407, 7, 0, 1638408, 1610612743, 0, 1638409, 1610612743, 0, 1638410, 1610612743, 0, 1638411, 1610612743, 0, 1638412, 1610612743, 0, 1638413, 1610612743, 0, 1638414, 1610612743, 0, 1638415, 1610612743, 0, 1638416, 1610612743, 0, 1638417, 1610612743, 0, 1638418, 1610612743, 0, 1638419, 1610612743, 0, 1638420, 1610612743, 0, 1638421, 1610612743, 0, 1638422, 1610612743, 0, 1638423, 1610612743, 0, 1638424, 1610612743, 0, 1638425, 1610612743, 0, 1638426, 1610612743, 0, 1769459, 7, 0, 1769460, 7, 0, 1769461, 7, 0, 1769462, 1610612743, 0, 1769463, 1610612743, 0, 1769464, 1610612743, 0, 1769465, 7, 0, 1769466, 1610612743, 0, 1769467, 7, 0, 1769468, 7, 0, 1769469, 7, 0, 1769470, 7, 0, 1769471, 7, 0, 1703936, 7, 0, 1703937, 7, 0, 1703938, 1610612743, 0, 1703939, 1610612743, 0, 1703940, 1610612743, 0, 1703941, 1610612743, 0, 1703942, 1610612743, 0, 1703943, 1610612743, 0, 1703944, 1610612743, 0, 1703945, 7, 0, 1703946, 7, 0, 1703947, 7, 0, 1703948, 7, 0, 1703949, 7, 0, 1703950, 7, 0, 1703951, 7, 0, 1703952, 7, 0, 1703953, 7, 0, 1703954, 7, 0, 1703955, 7, 0, 1703956, 7, 0, 1703957, 1610612743, 0, 1703958, 7, 0, 1703959, 1610612743, 0, 1703960, 1610612743, 0, 1703961, 1610612743, 0, 1703962, 1610612743, 0, 1834995, 7, 0, 1834996, 1610612743, 0, 1834997, 1610612743, 0, 1834998, 1610612743, 0, 1834999, 1610612743, 0, 1835000, 1610612743, 0, 1835001, 1610612743, 0, 1835002, 1610612743, 0, 1835003, 1610612743, 0, 1835004, 7, 0, 1835005, 7, 0, 1835006, 7, 0, 1835007, 7, 0, 1769472, 7, 0, 1769473, 7, 0, 1769474, 7, 0, 1769475, 7, 0, 1769476, 7, 0, 1769477, 7, 0, 1769478, 7, 0, 1769479, 7, 0, 1769480, 7, 0, 1769481, 7, 0, 1769482, 7, 0, 1769483, 7, 0, 1769484, 7, 0, 1769485, 7, 0, 1769486, 7, 0, 1769487, 7, 0, 1769488, 7, 0, 1769489, 7, 0, 1769490, 7, 0, 1769491, 7, 0, 1769492, 7, 0, 1769493, 1610612743, 0, 1769494, 1610612743, 0, 1769495, 7, 0, 1769496, 7, 0, 1769497, 1610612743, 0, 1769498, 1610612743, 0, 1900531, 1610612743, 0, 1900532, 1610612743, 0, 1900533, 1610612743, 0, 1900534, 1610612743, 0, 1900535, 1610612743, 0, 1900536, 1610612743, 0, 1900537, 1610612743, 0, 1900538, 1610612743, 0, 1900539, 1610612743, 0, 1900540, 1610612743, 0, 1900541, 1610612743, 0, 1900542, 1610612743, 0, 1900543, 1610612743, 0, 1835008, 1610612743, 0, 1835009, 1610612743, 0, 1835010, 1610612743, 0, 1835011, 1610612743, 0, 1835012, 1610612743, 0, 1835013, 1610612743, 0, 1835014, 1610612743, 0, 1835015, 1610612743, 0, 1835016, 1610612743, 0, 1835017, 1610612743, 0, 1835018, 1610612743, 0, 1835019, 1610612743, 0, 1835020, 1610612743, 0, 1835021, 1610612743, 0, 1835022, 1610612743, 0, 1835023, 1610612743, 0, 1835024, 1610612743, 0, 1835025, 1610612743, 0, 1835026, 1610612743, 0, 1835027, 1610612743, 0, 1835028, 1610612743, 0, 1835029, 1610612743, 0, 1835030, 1610612743, 0, 1835031, 1610612743, 0, 1835032, 1610612743, 0, 1835033, 1610612743, 0, 1835034, 1610612743, 0 ) - -[node name="YSort" type="YSort" parent="."] - -[node name="House" parent="YSort" instance=ExtResource( 6 )] -position = Vector2( 1073, 1296 ) - -[node name="Tree" parent="YSort" instance=ExtResource( 2 )] -position = Vector2( 1316, 1253 ) - -[node name="Tree2" parent="YSort" instance=ExtResource( 2 )] -position = Vector2( -659, 1145 ) - -[node name="Tree3" parent="YSort" instance=ExtResource( 2 )] -position = Vector2( 816, 1255 ) - -[node name="Tree4" parent="YSort" instance=ExtResource( 2 )] -position = Vector2( -961, 1409 ) - -[node name="Bushes5" parent="YSort" instance=ExtResource( 4 )] -position = Vector2( -695, 1493 ) - -[node name="Bush" type="Node2D" parent="YSort"] -position = Vector2( -43, 3 ) - -[node name="Bushes16" parent="YSort/Bush" instance=ExtResource( 4 )] -position = Vector2( 416, 796 ) -rotation = 0.109956 - -[node name="Bushes17" parent="YSort/Bush" instance=ExtResource( 4 )] -position = Vector2( -383, 798 ) - -[node name="Bushes18" parent="YSort/Bush" instance=ExtResource( 4 )] -position = Vector2( -232, 801 ) - -[node name="Bushes19" parent="YSort/Bush" instance=ExtResource( 4 )] -position = Vector2( -532, 806 ) - -[node name="Bushes20" parent="YSort/Bush" instance=ExtResource( 4 )] -position = Vector2( 113, 792 ) - -[node name="Bushes21" parent="YSort/Bush" instance=ExtResource( 4 )] -position = Vector2( 264, 795 ) - -[node name="Bushes22" parent="YSort/Bush" instance=ExtResource( 4 )] -position = Vector2( -56, 800 ) - -[node name="Bushes26" parent="YSort/Bush" instance=ExtResource( 4 )] -position = Vector2( 417, 798 ) -rotation = 0.109956 - -[node name="Bush2" type="Node2D" parent="YSort"] -position = Vector2( -10, -12 ) - -[node name="Bushes" parent="YSort/Bush2" instance=ExtResource( 4 )] -position = Vector2( 410, 464 ) -rotation = 0.109956 - -[node name="Bushes2" parent="YSort/Bush2" instance=ExtResource( 4 )] -position = Vector2( -389, 466 ) - -[node name="Bushes3" parent="YSort/Bush2" instance=ExtResource( 4 )] -position = Vector2( -238, 469 ) - -[node name="Bushes4" parent="YSort/Bush2" instance=ExtResource( 4 )] -position = Vector2( -538, 474 ) - -[node name="Bushes6" parent="YSort/Bush2" instance=ExtResource( 4 )] -position = Vector2( 107, 460 ) - -[node name="Bushes7" parent="YSort/Bush2" instance=ExtResource( 4 )] -position = Vector2( 258, 463 ) - -[node name="Bushes8" parent="YSort/Bush2" instance=ExtResource( 4 )] -position = Vector2( -62, 468 ) - -[node name="Bushes9" parent="YSort/Bush2" instance=ExtResource( 4 )] -position = Vector2( 1402, 453 ) -rotation = 0.109956 - -[node name="Bushes10" parent="YSort/Bush2" instance=ExtResource( 4 )] -position = Vector2( 560, 458 ) -rotation = 0.109956 - -[node name="Bushes11" parent="YSort/Bush2" instance=ExtResource( 4 )] -position = Vector2( 711, 461 ) -rotation = 0.109956 - -[node name="Bushes12" parent="YSort/Bush2" instance=ExtResource( 4 )] -position = Vector2( 411, 466 ) -rotation = 0.109956 - -[node name="Bushes13" parent="YSort/Bush2" instance=ExtResource( 4 )] -position = Vector2( 1056, 452 ) -rotation = 0.109956 - -[node name="Bushes14" parent="YSort/Bush2" instance=ExtResource( 4 )] -position = Vector2( 1207, 455 ) -rotation = 0.109956 - -[node name="Bushes15" parent="YSort/Bush2" instance=ExtResource( 4 )] -position = Vector2( 887, 460 ) -rotation = 0.109956 - -[node name="Bush3" type="Node2D" parent="YSort"] -position = Vector2( 169, 10 ) - -[node name="Bushes23" parent="YSort/Bush3" instance=ExtResource( 4 )] -position = Vector2( 1408, 785 ) -rotation = 0.109956 - -[node name="Bushes27" parent="YSort/Bush3" instance=ExtResource( 4 )] -position = Vector2( 1062, 784 ) -rotation = 0.109956 - -[node name="Bushes28" parent="YSort/Bush3" instance=ExtResource( 4 )] -position = Vector2( 1213, 787 ) -rotation = -0.0541052 -scale = Vector2( 1.01, 1 ) - -[node name="Bushes29" parent="YSort/Bush3" instance=ExtResource( 4 )] -position = Vector2( 893, 792 ) - -[node name="Stopsign" type="Sprite" parent="YSort"] -position = Vector2( 540, 699 ) -scale = Vector2( 5, 5 ) -texture = ExtResource( 5 ) -offset = Vector2( -0.199997, -1 ) - -[node name="Stopsign2" type="Sprite" parent="YSort"] -position = Vector2( -704, 509 ) -scale = Vector2( 5, 5 ) -texture = ExtResource( 5 ) -offset = Vector2( -0.199997, -1 ) - -[node name="Stopsign3" type="Sprite" parent="YSort"] -position = Vector2( 1576, 505 ) -scale = Vector2( 5, 5 ) -texture = ExtResource( 5 ) -offset = Vector2( -0.199997, -1 ) - -[node name="Player" parent="YSort" instance=ExtResource( 3 )] -position = Vector2( -805, -79 ) - -[node name="Clouds" type="Node2D" parent="."] -position = Vector2( 501, 1021 ) -scale = Vector2( 10, 10 ) -script = ExtResource( 9 ) - -[node name="Sprite" type="Sprite" parent="Clouds"] -position = Vector2( 0.5, 1.29998 ) -texture = ExtResource( 11 ) - -[node name="Sprite2" type="Sprite" parent="Clouds"] -position = Vector2( -4.79999, 1.2 ) -texture = ExtResource( 10 ) - -[node name="Sprite3" type="Sprite" parent="Clouds"] -position = Vector2( 0.399994, 2 ) -texture = ExtResource( 12 ) - -[node name="Sprite4" type="Sprite" parent="Clouds"] -texture = ExtResource( 8 ) - -[node name="RightBorder" type="Node2D" parent="Clouds"] -position = Vector2( 216.5, 12 ) - -[node name="LeftBorder" type="Node2D" parent="Clouds"] -position = Vector2( -211, 9.39999 ) - -[node name="TopBorder" type="Node2D" parent="Clouds"] -position = Vector2( 5.6, -145 ) - -[node name="BottomBorder" type="Node2D" parent="Clouds"] -position = Vector2( 0.199993, 57.7 ) -scale = Vector2( 1, 1 ) - -[node name="Clouds2" type="Node2D" parent="."] -position = Vector2( 501, 1021 ) -scale = Vector2( 10, 10 ) -script = ExtResource( 9 ) - -[node name="Sprite" type="Sprite" parent="Clouds2"] -position = Vector2( 0.5, 1.29998 ) -texture = ExtResource( 11 ) - -[node name="Sprite2" type="Sprite" parent="Clouds2"] -position = Vector2( -4.79999, 1.2 ) -texture = ExtResource( 10 ) - -[node name="Sprite3" type="Sprite" parent="Clouds2"] -position = Vector2( 0.399994, 2 ) -texture = ExtResource( 12 ) - -[node name="Sprite4" type="Sprite" parent="Clouds2"] -texture = ExtResource( 8 ) - -[node name="RightBorder" type="Node2D" parent="Clouds2"] -position = Vector2( 216.5, 12 ) - -[node name="LeftBorder" type="Node2D" parent="Clouds2"] -position = Vector2( -211, 9.39999 ) - -[node name="TopBorder" type="Node2D" parent="Clouds2"] -position = Vector2( 5.6, -145 ) - -[node name="BottomBorder" type="Node2D" parent="Clouds2"] -position = Vector2( 0.199993, 57.7 ) -scale = Vector2( 1, 1 ) - -[node name="Clouds3" type="Node2D" parent="."] -position = Vector2( 501, 1021 ) -scale = Vector2( 10, 10 ) -script = ExtResource( 9 ) - -[node name="Sprite" type="Sprite" parent="Clouds3"] -position = Vector2( 0.5, 1.29998 ) -texture = ExtResource( 11 ) - -[node name="Sprite2" type="Sprite" parent="Clouds3"] -position = Vector2( -4.79999, 1.2 ) -texture = ExtResource( 10 ) - -[node name="Sprite3" type="Sprite" parent="Clouds3"] -position = Vector2( 0.399994, 2 ) -texture = ExtResource( 12 ) - -[node name="Sprite4" type="Sprite" parent="Clouds3"] -texture = ExtResource( 8 ) - -[node name="RightBorder" type="Node2D" parent="Clouds3"] -position = Vector2( 216.5, 12 ) - -[node name="LeftBorder" type="Node2D" parent="Clouds3"] -position = Vector2( -211, 9.39999 ) - -[node name="TopBorder" type="Node2D" parent="Clouds3"] -position = Vector2( 5.6, -145 ) - -[node name="BottomBorder" type="Node2D" parent="Clouds3"] -position = Vector2( 0.199993, 57.7 ) -scale = Vector2( 1, 1 ) - -[node name="Clouds4" type="Node2D" parent="."] -position = Vector2( 501, 1021 ) -scale = Vector2( 10, 10 ) -script = ExtResource( 9 ) - -[node name="Sprite" type="Sprite" parent="Clouds4"] -position = Vector2( 0.5, 1.29998 ) -texture = ExtResource( 11 ) - -[node name="Sprite2" type="Sprite" parent="Clouds4"] -position = Vector2( -4.79999, 1.2 ) -texture = ExtResource( 10 ) - -[node name="Sprite3" type="Sprite" parent="Clouds4"] -position = Vector2( 0.399994, 2 ) -texture = ExtResource( 12 ) - -[node name="Sprite4" type="Sprite" parent="Clouds4"] -texture = ExtResource( 8 ) - -[node name="RightBorder" type="Node2D" parent="Clouds4"] -position = Vector2( 216.5, 12 ) - -[node name="LeftBorder" type="Node2D" parent="Clouds4"] -position = Vector2( -211, 9.39999 ) - -[node name="TopBorder" type="Node2D" parent="Clouds4"] -position = Vector2( 5.6, -145 ) - -[node name="BottomBorder" type="Node2D" parent="Clouds4"] -position = Vector2( 0.199993, 57.7 ) -scale = Vector2( 1, 1 ) - -[node name="Clouds5" type="Node2D" parent="."] -position = Vector2( 501, 1021 ) -scale = Vector2( 10, 10 ) -script = ExtResource( 9 ) - -[node name="Sprite" type="Sprite" parent="Clouds5"] -position = Vector2( 0.5, 1.29998 ) -texture = ExtResource( 11 ) - -[node name="Sprite2" type="Sprite" parent="Clouds5"] -position = Vector2( -4.79999, 1.2 ) -texture = ExtResource( 10 ) - -[node name="Sprite3" type="Sprite" parent="Clouds5"] -position = Vector2( 0.399994, 2 ) -texture = ExtResource( 12 ) - -[node name="Sprite4" type="Sprite" parent="Clouds5"] -texture = ExtResource( 8 ) - -[node name="RightBorder" type="Node2D" parent="Clouds5"] -position = Vector2( 216.5, 12 ) - -[node name="LeftBorder" type="Node2D" parent="Clouds5"] -position = Vector2( -211, 9.39999 ) - -[node name="TopBorder" type="Node2D" parent="Clouds5"] -position = Vector2( 5.6, -145 ) - -[node name="BottomBorder" type="Node2D" parent="Clouds5"] -position = Vector2( 0.199993, 57.7 ) -scale = Vector2( 1, 1 ) +[node name="BaseLevel" parent="." instance=ExtResource( 1 )] diff --git a/scenes/level3.tscn b/scenes/level3.tscn new file mode 100644 index 0000000..60a8753 --- /dev/null +++ b/scenes/level3.tscn @@ -0,0 +1,7 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://scenes/base_level.tscn" type="PackedScene" id=1] + +[node name="Level1" type="Node2D"] + +[node name="BaseLevel" parent="." instance=ExtResource( 1 )] diff --git a/scenes/level_controller.tscn b/scenes/level_controller.tscn new file mode 100644 index 0000000..32b2fe1 --- /dev/null +++ b/scenes/level_controller.tscn @@ -0,0 +1,11 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://scripts/level_controller.gd" type="Script" id=1] + +[node name="Master" type="Node2D"] +script = ExtResource( 1 ) + +[node name="EndTimer" type="Timer" parent="."] +one_shot = true + +[connection signal="timeout" from="EndTimer" to="." method="_on_EndTimer_timeout"] diff --git a/scenes/player.tscn b/scenes/player.tscn index a14e873..7f21122 100644 --- a/scenes/player.tscn +++ b/scenes/player.tscn @@ -11,11 +11,7 @@ [ext_resource path="res://scripts/player.gd" type="Script" id=9] [ext_resource path="res://assets/mrRogers.png" type="Texture" id=10] [ext_resource path="res://assets/chevron_pointer.png" type="Texture" id=11] -[ext_resource path="res://scenes/UI.tscn" type="PackedScene" id=12] - -[sub_resource type="CapsuleShape2D" id=2] -radius = 13.0 -height = 10.0001 +[ext_resource path="res://scenes/gui.tscn" type="PackedScene" id=12] [sub_resource type="SpriteFrames" id=1] animations = [ { @@ -30,17 +26,16 @@ animations = [ { "speed": 8.0 } ] +[sub_resource type="CapsuleShape2D" id=2] +radius = 13.0 +height = 10.0001 + [node name="Player" type="KinematicBody2D"] collision_mask = 7 script = ExtResource( 9 ) ACCELERATION = 2000 FRICTION = 2500 -[node name="CollisionShape2D" type="CollisionShape2D" parent="."] -position = Vector2( 0, 4 ) -rotation = 1.5708 -shape = SubResource( 2 ) - [node name="AnimatedSprite" type="AnimatedSprite" parent="."] position = Vector2( 2, -25 ) scale = Vector2( 5, 5 ) @@ -48,6 +43,11 @@ frames = SubResource( 1 ) animation = "idle" playing = true +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2( 0, 4 ) +rotation = 1.5708 +shape = SubResource( 2 ) + [node name="Camera2D" type="Camera2D" parent="."] current = true diff --git a/scenes/stage.tscn b/scenes/stage.tscn deleted file mode 100644 index 63ebac0..0000000 --- a/scenes/stage.tscn +++ /dev/null @@ -1,80 +0,0 @@ -[gd_scene load_steps=8 format=2] - -[ext_resource path="res://scenes/player.tscn" type="PackedScene" id=1] -[ext_resource path="res://scripts/stage.gd" type="Script" id=2] -[ext_resource path="res://scenes/house.tscn" type="PackedScene" id=3] -[ext_resource path="res://scenes/trolley.tscn" type="PackedScene" id=4] -[ext_resource path="res://scenes/neighbor.tscn" type="PackedScene" id=5] -[ext_resource path="res://scenes/TileMap.tscn" type="PackedScene" id=6] -[ext_resource path="res://scenes/decor.tscn" type="PackedScene" id=13] - -[node name="Stage" type="Node2D"] -script = ExtResource( 2 ) - -[node name="TileMap" parent="." instance=ExtResource( 6 )] -position = Vector2( 1, -4 ) -collision_layer = 4 -collision_mask = 3 -tile_data = PoolIntArray( -393231, 3, 0, -393230, 3, 0, -393229, 3, 0, -393228, 3, 0, -393227, 3, 0, -393226, 3, 0, -393225, 3, 0, -393224, 3, 0, -393223, 3, 0, -393222, 3, 0, -393221, 3, 0, -393220, 3, 0, -393219, 3, 0, -393218, 3, 0, -393217, 3, 0, -458752, 3, 0, -458751, 3, 0, -458750, 3, 0, -458749, 3, 0, -458748, 3, 0, -458747, 3, 0, -458746, 3, 0, -458745, 3, 0, -458744, 3, 0, -458743, 3, 0, -458742, 3, 0, -458741, 3, 0, -458740, 3, 0, -458739, 3, 0, -458738, 3, 0, -458737, 3, 0, -458736, 3, 0, -458735, 3, 0, -458734, 3, 0, -458733, 3, 0, -458732, 3, 0, -458731, 3, 0, -458730, 3, 0, -458729, 3, 0, -458728, 3, 0, -458727, 3, 0, -458726, 3, 0, -458725, 3, 0, -458724, 3, 0, -458723, 3, 0, -458722, 3, 0, -458721, 3, 0, -327695, 3, 0, -327694, 3, 0, -327693, 3, 0, -327692, 3, 0, -327691, 3, 0, -327690, 3, 0, -327689, 3, 0, -327688, 3, 0, -327687, 3, 0, -327686, 3, 0, -327685, 3, 0, -327684, 3, 0, -327683, 3, 0, -327682, 3, 0, -327681, 3, 0, -393216, 3, 0, -393215, 3, 0, -393214, 3, 0, -393213, 3, 0, -393212, 3, 0, -393211, 3, 0, -393210, 3, 0, -393209, 3, 0, -393208, 3, 0, -393207, 3, 0, -393206, 3, 0, -393205, 3, 0, -393204, 3, 0, -393203, 3, 0, -393202, 3, 0, -393201, 3, 0, -393200, 3, 0, -393199, 3, 0, -393198, 3, 0, -393197, 3, 0, -393196, 3, 0, -393195, 3, 0, -393194, 3, 0, -393193, 3, 0, -393192, 3, 0, -393191, 3, 0, -393190, 3, 0, -393189, 3, 0, -393188, 3, 0, -393187, 3, 0, -393186, 3, 0, -393185, 3, 0, -262159, 3, 0, -262158, 3, 0, -262157, 3, 0, -262156, 3, 0, -262155, 3, 0, -262154, 3, 0, -262153, 3, 0, -262152, 3, 0, -262151, 3, 0, -262150, 3, 0, -262149, 3, 0, -262148, 3, 0, -262147, 3, 0, -262146, 3, 0, -262145, 3, 0, -327680, 3, 0, -327679, 3, 0, -327678, 3, 0, -327677, 3, 0, -327676, 3, 0, -327675, 3, 0, -327674, 3, 0, -327673, 3, 0, -327672, 3, 0, -327671, 3, 0, -327670, 3, 0, -327669, 3, 0, -327668, 3, 0, -327667, 3, 0, -327666, 3, 0, -327665, 3, 0, -327664, 3, 0, -327663, 3, 0, -327662, 3, 0, -327661, 3, 0, -327660, 3, 0, -327659, 3, 0, -327658, 3, 0, -327657, 3, 0, -327656, 3, 0, -327655, 3, 0, -327654, 3, 0, -327653, 3, 0, -327652, 3, 0, -327651, 3, 0, -327650, 3, 0, -327649, 3, 0, -196623, 3, 0, -196622, 3, 0, -196621, 3, 0, -196620, 3, 0, -196619, 3, 0, -196618, 3, 0, -196617, 3, 0, -196616, 3, 0, -196615, 3, 0, -196614, 3, 0, -196613, 3, 0, -196612, 3, 0, -196611, 3, 0, -196610, 3, 0, -196609, 3, 0, -262144, 3, 0, -262143, 3, 0, -262142, 3, 0, -262141, 3, 0, -262140, 3, 0, -262139, 3, 0, -262138, 3, 0, -262137, 3, 0, -262136, 3, 0, -262135, 3, 0, -262134, 3, 0, -262133, 3, 0, -262132, 3, 0, -262131, 3, 0, -262130, 3, 0, -262129, 3, 0, -262128, 3, 0, -262127, 3, 0, -262126, 3, 0, -262125, 3, 0, -262124, 3, 0, -262123, 3, 0, -262122, 3, 0, -262121, 3, 0, -262120, 3, 0, -262119, 3, 0, -262118, 3, 0, -262117, 3, 0, -262116, 3, 0, -262115, 3, 0, -262114, 3, 0, -262113, 3, 0, -131087, 3, 0, -131086, 3, 0, -131085, 3, 0, -131084, 3, 0, -131083, 3, 0, -131082, 3, 0, -131081, 3, 0, -131080, 3, 0, -131079, 3, 0, -131078, 3, 0, -131077, 3, 0, -131076, 3, 0, -131075, 3, 0, -131074, 3, 0, -131073, 3, 0, -196608, 3, 0, -196607, 3, 0, -196606, 3, 0, -196605, 3, 0, -196604, 3, 0, -196603, 3, 0, -196602, 3, 0, -196601, 3, 0, -196600, 3, 0, -196599, 3, 0, -196598, 3, 0, -196597, 3, 0, -196596, 3, 0, -196595, 3, 0, -196594, 3, 0, -196593, 3, 0, -196592, 3, 0, -196591, 3, 0, -196590, 3, 0, -196589, 3, 0, -196588, 3, 0, -196587, 3, 0, -196586, 3, 0, -196585, 3, 0, -196584, 3, 0, -196583, 3, 0, -196582, 3, 0, -196581, 3, 0, -196580, 3, 0, -196579, 3, 0, -196578, 3, 0, -196577, 3, 0, -65551, 6, 0, -65550, 6, 0, -65549, 6, 0, -65548, 7, 0, -65547, 6, 0, -65546, 6, 0, -65545, 6, 0, -65544, 7, 0, -65543, 7, 0, -65542, 6, 0, -65541, 7, 0, -65540, 6, 0, -65539, 7, 0, -65538, 6, 0, -65537, 6, 0, -131072, 6, 0, -131071, 7, 0, -131070, 6, 0, -131069, 6, 0, -131068, 6, 0, -131067, 7, 0, -131066, 7, 0, -131065, 7, 0, -131064, 7, 0, -131063, 6, 0, -131062, 7, 0, -131061, 7, 0, -131060, 6, 0, -131059, 6, 0, -131058, 6, 0, -131057, 7, 0, -131056, 7, 0, -131055, 7, 0, -131054, 7, 0, -131053, 7, 0, -131052, 7, 0, -131051, 6, 0, -131050, 6, 0, -131049, 6, 0, -131048, 6, 0, -131047, 7, 0, -131046, 7, 0, -131045, 7, 0, -131044, 7, 0, -131043, 6, 0, -131042, 6, 0, -131041, 6, 0, -11, 5, 0, -10, 5, 0, -9, 5, 0, -8, 5, 0, -7, 5, 0, -6, 5, 0, -5, 5, 0, -4, 5, 0, -3, 5, 0, -2, 5, 0, -1, 5, 0, -65536, 5, 0, -65535, 5, 0, -65534, 5, 0, -65533, 5, 0, -65532, 5, 0, -65531, 5, 0, -65530, 5, 0, -65529, 5, 0, -65528, 5, 0, -65527, 5, 0, -65526, 5, 0, -65525, 5, 0, -65524, 5, 0, -65523, 5, 0, -65522, 5, 0, -65521, 5, 0, -65520, 5, 0, -65519, 5, 0, -65518, 5, 0, -65517, 5, 0, -65516, 5, 0, -65515, 5, 0, -65514, 5, 0, -65513, 5, 0, -65512, 5, 0, -65511, 5, 0, -65510, 5, 0, -65509, 5, 0, 65525, 1, 0, 65526, 1, 0, 65527, 1, 0, 65528, 1, 0, 65529, 1, 0, 65530, 8, 0, 65531, 11, 0, 65532, 12, 0, 65533, 8, 0, 65534, 1, 0, 65535, 1, 0, 0, 1, 0, 1, 1, 0, 2, 1, 0, 3, 1, 0, 4, 1, 0, 5, 1, 0, 6, 1, 0, 7, 1, 0, 8, 1, 0, 9, 1, 0, 10, 1, 0, 11, 1, 0, 12, 1, 0, 13, 1, 0, 14, 1, 0, 15, 1, 0, 16, 1, 0, 17, 1, 0, 18, 1, 0, 19, 1, 0, 20, 1, 0, 21, 1, 0, 22, 1, 0, 23, 1, 0, 24, 8, 0, 25, 8, 0, 26, 1, 0, 27, 1, 0, 131061, 1, 0, 131062, 1, 0, 131063, 1, 0, 131064, 1, 0, 131065, 1, 0, 131066, 8, 0, 131067, 11, 0, 131068, 12, 0, 131069, 8, 0, 131070, 1, 0, 131071, 1, 0, 65536, 1, 0, 65537, 1, 0, 65538, 1, 0, 65539, 1, 0, 65540, 1, 0, 65541, 1, 0, 65542, 1, 0, 65543, 1, 0, 65544, 1, 0, 65545, 1, 0, 65546, 1, 0, 65547, 1, 0, 65548, 1, 0, 65549, 1, 0, 65550, 1, 0, 65551, 1, 0, 65552, 1, 0, 65553, 1, 0, 65554, 1, 0, 65555, 1, 0, 65556, 1, 0, 65557, 1, 0, 65558, 1, 0, 65559, 1, 0, 65560, 8, 0, 65561, 8, 0, 65562, 1, 0, 65563, 1, 0, 196597, 1, 0, 196598, 1, 0, 196599, 1, 0, 196600, 1, 0, 196601, 1, 0, 196602, 8, 0, 196603, 11, 0, 196604, 12, 0, 196605, 8, 0, 196606, 1, 0, 196607, 1, 0, 131072, 1, 0, 131073, 1, 0, 131074, 1, 0, 131075, 1, 0, 131076, 1, 0, 131077, 1, 0, 131078, 1, 0, 131079, 1, 0, 131080, 8, 0, 131081, 8, 0, 131082, 8, 0, 131083, 8, 0, 131084, 1, 0, 131085, 1, 0, 131086, 1, 0, 131087, 1, 0, 131088, 1, 0, 131089, 1, 0, 131090, 1, 0, 131091, 1, 0, 131092, 1, 0, 131093, 1, 0, 131094, 1, 0, 131095, 1, 0, 131096, 8, 0, 131097, 8, 0, 131098, 1, 0, 131099, 1, 0, 262133, 1, 0, 262134, 1, 0, 262135, 1, 0, 262136, 1, 0, 262137, 1, 0, 262138, 8, 0, 262139, 11, 0, 262140, 12, 0, 262141, 8, 0, 262142, 1, 0, 262143, 1, 0, 196608, 1, 0, 196609, 1, 0, 196610, 1, 0, 196611, 1, 0, 196612, 1, 0, 196613, 1, 0, 196614, 1, 0, 196615, 1, 0, 196616, 8, 0, 196617, 2, 0, 196618, 2, 0, 196619, 8, 0, 196620, 1, 0, 196621, 1, 0, 196622, 1, 0, 196623, 1, 0, 196624, 1, 0, 196625, 1, 0, 196626, 1, 0, 196627, 1, 0, 196628, 1, 0, 196629, 1, 0, 196630, 1, 0, 196631, 1, 0, 196632, 8, 0, 196633, 8, 0, 196634, 1, 0, 196635, 1, 0, 327669, 1, 0, 327670, 1, 0, 327671, 1, 0, 327672, 1, 0, 327673, 1, 0, 327674, 8, 0, 327675, 11, 0, 327676, 12, 0, 327677, 8, 0, 327678, 1, 0, 327679, 1, 0, 262144, 1, 0, 262145, 1, 0, 262146, 1, 0, 262147, 1, 0, 262148, 1, 0, 262149, 1, 0, 262150, 1, 0, 262151, 1, 0, 262152, 8, 0, 262153, 2, 0, 262154, 2, 0, 262155, 8, 0, 262156, 1, 0, 262157, 1, 0, 262158, 1, 0, 262159, 1, 0, 262160, 1, 0, 262161, 1, 0, 262162, 1, 0, 262163, 1, 0, 262164, 1, 0, 262165, 1, 0, 262166, 1, 0, 262167, 1, 0, 262168, 8, 0, 262169, 8, 0, 262170, 1, 0, 262171, 1, 0, 393205, 1, 0, 393206, 1, 0, 393207, 1, 0, 393208, 1, 0, 393209, 1, 0, 393210, 8, 0, 393211, 11, 0, 393212, 12, 0, 393213, 8, 0, 393214, 1, 0, 393215, 1, 0, 327680, 1, 0, 327681, 1, 0, 327682, 1, 0, 327683, 1, 0, 327684, 1, 0, 327685, 1, 0, 327686, 1, 0, 327687, 1, 0, 327688, 8, 0, 327689, 11, 0, 327690, 12, 0, 327691, 8, 0, 327692, 1, 0, 327693, 1, 0, 327694, 1, 0, 327695, 1, 0, 327696, 8, 0, 327697, 8, 0, 327698, 8, 0, 327699, 8, 0, 327700, 8, 0, 327701, 1, 0, 327702, 1, 0, 327703, 1, 0, 327704, 8, 0, 327705, 8, 0, 327706, 1, 0, 327707, 1, 0, 458741, 1, 0, 458742, 1, 0, 458743, 1, 0, 458744, 1, 0, 458745, 1, 0, 458746, 8, 0, 458747, 11, 0, 458748, 12, 0, 458749, 8, 0, 458750, 1, 0, 458751, 1, 0, 393216, 1, 0, 393217, 1, 0, 393218, 1, 0, 393219, 1, 0, 393220, 1, 0, 393221, 1, 0, 393222, 1, 0, 393223, 1, 0, 393224, 8, 0, 393225, 11, 0, 393226, 12, 0, 393227, 8, 0, 393228, 1, 0, 393229, 1, 0, 393230, 1, 0, 393231, 1, 0, 393232, 8, 0, 393233, 8, 0, 393234, 8, 0, 393235, 8, 0, 393236, 8, 0, 393237, 1, 0, 393238, 1, 0, 393239, 1, 0, 393240, 8, 0, 393241, 8, 0, 393242, 1, 0, 393243, 1, 0, 524277, 1, 0, 524278, 1, 0, 524279, 1, 0, 524280, 1, 0, 524281, 1, 0, 524282, 8, 0, 524283, 11, 0, 524284, 12, 0, 524285, 8, 0, 524286, 1, 0, 524287, 1, 0, 458752, 1, 0, 458753, 1, 0, 458754, 1, 0, 458755, 1, 0, 458756, 1, 0, 458757, 1, 0, 458758, 1, 0, 458759, 1, 0, 458760, 8, 0, 458761, 11, 0, 458762, 12, 0, 458763, 8, 0, 458764, 1, 0, 458765, 1, 0, 458766, 1, 0, 458767, 1, 0, 458768, 8, 0, 458769, 2, 0, 458770, 2, 0, 458771, 2, 0, 458772, 8, 0, 458773, 1, 0, 458774, 1, 0, 458775, 1, 0, 458776, 8, 0, 458777, 8, 0, 458778, 1, 0, 458779, 1, 0, 589813, 1, 0, 589814, 1, 0, 589815, 1, 0, 589816, 1, 0, 589817, 8, 0, 589818, 8, 0, 589819, 2, 0, 589820, 2, 0, 589821, 8, 0, 589822, 8, 0, 589823, 8, 0, 524288, 8, 0, 524289, 8, 0, 524290, 8, 0, 524291, 8, 0, 524292, 8, 0, 524293, 8, 0, 524294, 8, 0, 524295, 8, 0, 524296, 8, 0, 524297, 11, 0, 524298, 12, 0, 524299, 8, 0, 524300, 1, 0, 524301, 1, 0, 524302, 1, 0, 524303, 1, 0, 524304, 8, 0, 524305, 2, 0, 524306, 2, 0, 524307, 2, 0, 524308, 8, 0, 524309, 8, 0, 524310, 8, 0, 524311, 8, 0, 524312, 8, 0, 524313, 8, 0, 524314, 1, 0, 524315, 1, 0, 655349, 1, 0, 655350, 1, 0, 655351, 1, 0, 655352, 1, 0, 655353, 8, 0, 655354, 2, 0, 655355, 2, 0, 655356, 10, 0, 655357, 10, 0, 655358, 10, 0, 655359, 10, 0, 589824, 10, 0, 589825, 10, 0, 589826, 10, 0, 589827, 10, 0, 589828, 10, 0, 589829, 10, 0, 589830, 10, 0, 589831, 10, 0, 589832, 10, 0, 589833, 2, 0, 589834, 2, 0, 589835, 8, 0, 589836, 1, 0, 589837, 1, 0, 589838, 1, 0, 589839, 1, 0, 589840, 8, 0, 589841, 2, 0, 589842, 2, 0, 589843, 2, 0, 589844, 10, 0, 589845, 10, 0, 589846, 10, 0, 589847, 10, 0, 589848, 8, 0, 589849, 8, 0, 589850, 1, 0, 589851, 1, 0, 720885, 1, 0, 720886, 1, 0, 720887, 1, 0, 720888, 1, 0, 720889, 8, 0, 720890, 2, 0, 720891, 2, 0, 720892, 9, 0, 720893, 9, 0, 720894, 9, 0, 720895, 9, 0, 655360, 9, 0, 655361, 9, 0, 655362, 9, 0, 655363, 9, 0, 655364, 9, 0, 655365, 9, 0, 655366, 9, 0, 655367, 9, 0, 655368, 9, 0, 655369, 2, 0, 655370, 2, 0, 655371, 8, 0, 655372, 1, 0, 655373, 1, 0, 655374, 1, 0, 655375, 1, 0, 655376, 8, 0, 655377, 2, 0, 655378, 2, 0, 655379, 2, 0, 655380, 9, 0, 655381, 9, 0, 655382, 9, 0, 655383, 9, 0, 655384, 8, 0, 655385, 8, 0, 655386, 1, 0, 655387, 1, 0, 786421, 1, 0, 786422, 1, 0, 786423, 1, 0, 786424, 1, 0, 786425, 8, 0, 786426, 11, 0, 786427, 12, 0, 786428, 8, 0, 786429, 8, 0, 786430, 8, 0, 786431, 8, 0, 720896, 8, 0, 720897, 8, 0, 720898, 8, 0, 720899, 8, 0, 720900, 8, 0, 720901, 8, 0, 720902, 8, 0, 720903, 8, 0, 720904, 8, 0, 720905, 8, 0, 720906, 8, 0, 720907, 8, 0, 720908, 1, 0, 720909, 1, 0, 720910, 1, 0, 720911, 1, 0, 720912, 8, 0, 720913, 11, 0, 720914, 12, 0, 720915, 8, 0, 720916, 8, 0, 720917, 8, 0, 720918, 8, 0, 720919, 8, 0, 720920, 8, 0, 720921, 8, 0, 720922, 1, 0, 720923, 1, 0, 851957, 1, 0, 851958, 1, 0, 851959, 1, 0, 851960, 1, 0, 851961, 8, 0, 851962, 11, 0, 851963, 12, 0, 851964, 8, 0, 851965, 8, 0, 851966, 8, 0, 851967, 8, 0, 786432, 1, 0, 786433, 1, 0, 786434, 1, 0, 786435, 1, 0, 786436, 1, 0, 786437, 1, 0, 786438, 1, 0, 786439, 1, 0, 786440, 1, 0, 786441, 1, 0, 786442, 1, 0, 786443, 1, 0, 786444, 1, 0, 786445, 1, 0, 786446, 1, 0, 786447, 1, 0, 786448, 8, 0, 786449, 11, 0, 786450, 12, 0, 786451, 8, 0, 786452, 1, 0, 786453, 1, 0, 786454, 1, 0, 786455, 1, 0, 786456, 1, 0, 786457, 1, 0, 786458, 1, 0, 786459, 1, 0, 917493, 1, 0, 917494, 1, 0, 917495, 1, 0, 917496, 1, 0, 917497, 8, 0, 917498, 11, 0, 917499, 12, 0, 917500, 8, 0, 917501, 8, 0, 917502, 8, 0, 917503, 1, 0, 851968, 1, 0, 851969, 1, 0, 851970, 1, 0, 851971, 1, 0, 851972, 1, 0, 851973, 1, 0, 851974, 1, 0, 851975, 1, 0, 851976, 1, 0, 851977, 1, 0, 851978, 1, 0, 851979, 1, 0, 851980, 8, 0, 851981, 8, 0, 851982, 8, 0, 851983, 8, 0, 851984, 8, 0, 851985, 11, 0, 851986, 12, 0, 851987, 8, 0, 851988, 8, 0, 851989, 8, 0, 851990, 8, 0, 851991, 8, 0, 851992, 8, 0, 851993, 8, 0, 851994, 1, 0, 851995, 1, 0, 983029, 1, 0, 983030, 1, 0, 983031, 1, 0, 983032, 1, 0, 983033, 8, 0, 983034, 11, 0, 983035, 12, 0, 983036, 8, 0, 983037, 8, 0, 983038, 1, 0, 983039, 1, 0, 917504, 1, 0, 917505, 1, 0, 917506, 1, 0, 917507, 1, 0, 917508, 1, 0, 917509, 1, 0, 917510, 1, 0, 917511, 1, 0, 917512, 1, 0, 917513, 1, 0, 917514, 1, 0, 917515, 8, 0, 917516, 8, 0, 917517, 2, 0, 917518, 10, 0, 917519, 10, 0, 917520, 10, 0, 917521, 10, 0, 917522, 10, 0, 917523, 10, 0, 917524, 10, 0, 917525, 10, 0, 917526, 10, 0, 917527, 2, 0, 917528, 2, 0, 917529, 8, 0, 917530, 1, 0, 917531, 1, 0, 1048565, 1, 0, 1048566, 1, 0, 1048567, 1, 0, 1048568, 1, 0, 1048569, 8, 0, 1048570, 11, 0, 1048571, 12, 0, 1048572, 8, 0, 1048573, 8, 0, 1048574, 8, 0, 1048575, 8, 0, 983040, 8, 0, 983041, 8, 0, 983042, 8, 0, 983043, 8, 0, 983044, 8, 0, 983045, 8, 0, 983046, 8, 0, 983047, 8, 0, 983048, 8, 0, 983049, 8, 0, 983050, 8, 0, 983051, 8, 0, 983052, 2, 0, 983053, 10, 0, 983054, 9, 0, 983055, 9, 0, 983056, 9, 0, 983057, 9, 0, 983058, 9, 0, 983059, 9, 0, 983060, 9, 0, 983061, 9, 0, 983062, 9, 0, 983063, 2, 0, 983064, 2, 0, 983065, 8, 0, 983066, 1, 0, 983067, 1, 0, 1114101, 1, 0, 1114102, 1, 0, 1114103, 1, 0, 1114104, 1, 0, 1114105, 8, 0, 1114106, 2, 0, 1114107, 2, 0, 1114108, 10, 0, 1114109, 10, 0, 1114110, 10, 0, 1114111, 10, 0, 1048576, 10, 0, 1048577, 10, 0, 1048578, 10, 0, 1048579, 10, 0, 1048580, 10, 0, 1048581, 10, 0, 1048582, 10, 0, 1048583, 10, 0, 1048584, 10, 0, 1048585, 10, 0, 1048586, 10, 0, 1048587, 10, 0, 1048588, 10, 0, 1048589, 9, 0, 1048590, 2, 0, 1048591, 8, 0, 1048592, 8, 0, 1048593, 8, 0, 1048594, 8, 0, 1048595, 8, 0, 1048596, 8, 0, 1048597, 8, 0, 1048598, 8, 0, 1048599, 11, 0, 1048600, 12, 0, 1048601, 8, 0, 1048602, 1, 0, 1048603, 1, 0, 1179637, 1, 0, 1179638, 1, 0, 1179639, 1, 0, 1179640, 1, 0, 1179641, 8, 0, 1179642, 2, 0, 1179643, 2, 0, 1179644, 9, 0, 1179645, 9, 0, 1179646, 9, 0, 1179647, 9, 0, 1114112, 9, 0, 1114113, 9, 0, 1114114, 9, 0, 1114115, 9, 0, 1114116, 9, 0, 1114117, 9, 0, 1114118, 9, 0, 1114119, 9, 0, 1114120, 9, 0, 1114121, 9, 0, 1114122, 9, 0, 1114123, 9, 0, 1114124, 9, 0, 1114125, 2, 0, 1114126, 8, 0, 1114127, 8, 0, 1114128, 1, 0, 1114129, 1, 0, 1114130, 1, 0, 1114131, 1, 0, 1114132, 1, 0, 1114133, 1, 0, 1114134, 8, 0, 1114135, 11, 0, 1114136, 12, 0, 1114137, 8, 0, 1114138, 1, 0, 1114139, 1, 0, 1245173, 1, 0, 1245174, 1, 0, 1245175, 1, 0, 1245176, 1, 0, 1245177, 8, 0, 1245178, 11, 0, 1245179, 12, 0, 1245180, 8, 0, 1245181, 8, 0, 1245182, 8, 0, 1245183, 8, 0, 1179648, 8, 0, 1179649, 8, 0, 1179650, 8, 0, 1179651, 8, 0, 1179652, 8, 0, 1179653, 8, 0, 1179654, 8, 0, 1179655, 8, 0, 1179656, 8, 0, 1179657, 8, 0, 1179658, 8, 0, 1179659, 8, 0, 1179660, 8, 0, 1179661, 8, 0, 1179662, 8, 0, 1179663, 1, 0, 1179664, 1, 0, 1179665, 1, 0, 1179666, 1, 0, 1179667, 1, 0, 1179668, 1, 0, 1179669, 1, 0, 1179670, 8, 0, 1179671, 11, 0, 1179672, 12, 0, 1179673, 8, 0, 1179674, 1, 0, 1179675, 1, 0, 1310709, 1, 0, 1310710, 1, 0, 1310711, 1, 0, 1310712, 1, 0, 1310713, 8, 0, 1310714, 11, 0, 1310715, 12, 0, 1310716, 8, 0, 1310717, 1, 0, 1310718, 1, 0, 1310719, 1, 0, 1245184, 1, 0, 1245185, 1, 0, 1245186, 1, 0, 1245187, 1, 0, 1245188, 1, 0, 1245189, 1, 0, 1245190, 1, 0, 1245191, 8, 0, 1245192, 1, 0, 1245193, 1, 0, 1245194, 1, 0, 1245195, 1, 0, 1245196, 1, 0, 1245197, 1, 0, 1245198, 1, 0, 1245199, 1, 0, 1245200, 1, 0, 1245201, 1, 0, 1245202, 1, 0, 1245203, 1, 0, 1245204, 1, 0, 1245205, 1, 0, 1245206, 8, 0, 1245207, 11, 0, 1245208, 12, 0, 1245209, 8, 0, 1245210, 1, 0, 1245211, 1, 0, 1376245, 1, 0, 1376246, 1, 0, 1376247, 1, 0, 1376248, 1, 0, 1376249, 8, 0, 1376250, 11, 0, 1376251, 12, 0, 1376252, 8, 0, 1376253, 1, 0, 1376254, 1, 0, 1376255, 1, 0, 1310720, 1, 0, 1310721, 1, 0, 1310722, 1, 0, 1310723, 1, 0, 1310724, 1, 0, 1310725, 1, 0, 1310726, 1, 0, 1310727, 8, 0, 1310728, 1, 0, 1310729, 1, 0, 1310730, 1, 0, 1310731, 1, 0, 1310732, 1, 0, 1310733, 1, 0, 1310734, 1, 0, 1310735, 1, 0, 1310736, 1, 0, 1310737, 1, 0, 1310738, 1, 0, 1310739, 1, 0, 1310740, 1, 0, 1310741, 1, 0, 1310742, 8, 0, 1310743, 11, 0, 1310744, 12, 0, 1310745, 8, 0, 1310746, 1, 0, 1310747, 1, 0, 1441781, 1, 0, 1441782, 1, 0, 1441783, 1, 0, 1441784, 1, 0, 1441785, 8, 0, 1441786, 11, 0, 1441787, 12, 0, 1441788, 8, 0, 1441789, 1, 0, 1441790, 1, 0, 1441791, 1, 0, 1376256, 1, 0, 1376257, 1, 0, 1376258, 1, 0, 1376259, 1, 0, 1376260, 1, 0, 1376261, 1, 0, 1376262, 1, 0, 1376263, 8, 0, 1376264, 1, 0, 1376265, 1, 0, 1376266, 1, 0, 1376267, 1, 0, 1376268, 1, 0, 1376269, 1, 0, 1376270, 1, 0, 1376271, 1, 0, 1376272, 1, 0, 1376273, 1, 0, 1376274, 1, 0, 1376275, 1, 0, 1376276, 1, 0, 1376277, 1, 0, 1376278, 8, 0, 1376279, 11, 0, 1376280, 12, 0, 1376281, 8, 0, 1376282, 1, 0, 1376283, 1, 0, 1507317, 1, 0, 1507318, 1, 0, 1507319, 1, 0, 1507320, 1, 0, 1507321, 8, 0, 1507322, 11, 0, 1507323, 12, 0, 1507324, 8, 0, 1507325, 1, 0, 1507326, 1, 0, 1507327, 1, 0, 1441792, 1, 0, 1441793, 1, 0, 1441794, 1, 0, 1441795, 1, 0, 1441796, 1, 0, 1441797, 1, 0, 1441798, 1, 0, 1441799, 8, 0, 1441800, 1, 0, 1441801, 1, 0, 1441802, 1, 0, 1441803, 1, 0, 1441804, 1, 0, 1441805, 1, 0, 1441806, 1, 0, 1441807, 1, 0, 1441808, 1, 0, 1441809, 1, 0, 1441810, 1, 0, 1441811, 1, 0, 1441812, 1, 0, 1441813, 1, 0, 1441814, 8, 0, 1441815, 11, 0, 1441816, 12, 0, 1441817, 8, 0, 1441818, 1, 0, 1441819, 1, 0, 1572853, 1, 0, 1572854, 1, 0, 1572855, 1, 0, 1572856, 1, 0, 1572857, 8, 0, 1572858, 11, 0, 1572859, 12, 0, 1572860, 8, 0, 1572861, 1, 0, 1572862, 1, 0, 1572863, 1, 0, 1507328, 1, 0, 1507329, 1, 0, 1507330, 1, 0, 1507331, 1, 0, 1507332, 1, 0, 1507333, 1, 0, 1507334, 1, 0, 1507335, 8, 0, 1507336, 1, 0, 1507337, 1, 0, 1507338, 1, 0, 1507339, 1, 0, 1507340, 1, 0, 1507341, 1, 0, 1507342, 1, 0, 1507343, 1, 0, 1507344, 1, 0, 1507345, 1, 0, 1507346, 1, 0, 1507347, 1, 0, 1507348, 1, 0, 1507349, 1, 0, 1507350, 8, 0, 1507351, 11, 0, 1507352, 12, 0, 1507353, 8, 0, 1507354, 1, 0, 1507355, 1, 0, 1638389, 1, 0, 1638390, 8, 0, 1638391, 8, 0, 1638392, 8, 0, 1638393, 8, 0, 1638394, 11, 0, 1638395, 12, 0, 1638396, 8, 0, 1638397, 8, 0, 1638398, 8, 0, 1638399, 8, 0, 1572864, 8, 0, 1572865, 8, 0, 1572866, 8, 0, 1572867, 8, 0, 1572868, 8, 0, 1572869, 1, 0, 1572870, 1, 0, 1572871, 8, 0, 1572872, 8, 0, 1572873, 1, 0, 1572874, 1, 0, 1572875, 1, 0, 1572876, 1, 0, 1572877, 1, 0, 1572878, 1, 0, 1572879, 1, 0, 1572880, 1, 0, 1572881, 1, 0, 1572882, 1, 0, 1572883, 1, 0, 1572884, 1, 0, 1572885, 1, 0, 1572886, 8, 0, 1572887, 2, 0, 1572888, 2, 0, 1572889, 8, 0, 1572890, 1, 0, 1572891, 1, 0, 1703925, 1, 0, 1703926, 8, 0, 1703927, 2, 0, 1703928, 2, 0, 1703929, 10, 0, 1703930, 2, 0, 1703931, 2, 0, 1703932, 10, 0, 1703933, 10, 0, 1703934, 10, 0, 1703935, 10, 0, 1638400, 10, 0, 1638401, 10, 0, 1638402, 2, 0, 1638403, 2, 0, 1638404, 8, 0, 1638405, 1, 0, 1638406, 1, 0, 1638407, 8, 0, 1638408, 8, 0, 1638409, 8, 0, 1638410, 8, 0, 1638411, 8, 0, 1638412, 8, 0, 1638413, 8, 0, 1638414, 8, 0, 1638415, 8, 0, 1638416, 8, 0, 1638417, 8, 0, 1638418, 8, 0, 1638419, 8, 0, 1638420, 8, 0, 1638421, 8, 0, 1638422, 8, 0, 1638423, 8, 0, 1638424, 8, 0, 1638425, 8, 0, 1638426, 1, 0, 1638427, 1, 0, 1769461, 1, 0, 1769462, 8, 0, 1769463, 2, 0, 1769464, 2, 0, 1769465, 9, 0, 1769466, 2, 0, 1769467, 2, 0, 1769468, 9, 0, 1769469, 9, 0, 1769470, 9, 0, 1769471, 9, 0, 1703936, 9, 0, 1703937, 9, 0, 1703938, 2, 0, 1703939, 2, 0, 1703940, 8, 0, 1703941, 1, 0, 1703942, 1, 0, 1703943, 1, 0, 1703944, 1, 0, 1703945, 1, 0, 1703946, 1, 0, 1703947, 1, 0, 1703948, 1, 0, 1703949, 1, 0, 1703950, 1, 0, 1703951, 8, 0, 1703952, 8, 0, 1703953, 8, 0, 1703954, 8, 0, 1703955, 8, 0, 1703956, 8, 0, 1703957, 8, 0, 1703958, 8, 0, 1703959, 8, 0, 1703960, 8, 0, 1703961, 8, 0, 1703962, 1, 0, 1703963, 1, 0, 1834997, 1, 0, 1834998, 8, 0, 1834999, 8, 0, 1835000, 8, 0, 1835001, 8, 0, 1835002, 8, 0, 1835003, 8, 0, 1835004, 8, 0, 1835005, 8, 0, 1835006, 8, 0, 1835007, 8, 0, 1769472, 8, 0, 1769473, 8, 0, 1769474, 8, 0, 1769475, 8, 0, 1769476, 8, 0, 1769477, 1, 0, 1769478, 1, 0, 1769479, 1, 0, 1769480, 1, 0, 1769481, 1, 0, 1769482, 1, 0, 1769483, 1, 0, 1769484, 1, 0, 1769485, 1, 0, 1769486, 1, 0, 1769487, 1, 0, 1769488, 1, 0, 1769489, 1, 0, 1769490, 1, 0, 1769491, 1, 0, 1769492, 1, 0, 1769493, 1, 0, 1769494, 1, 0, 1769495, 1, 0, 1769496, 1, 0, 1769497, 1, 0, 1769498, 1, 0, 1769499, 1, 0, 1900533, 1, 0, 1900534, 1, 0, 1900535, 1, 0, 1900536, 1, 0, 1900537, 1, 0, 1900538, 1, 0, 1900539, 1, 0, 1900540, 1, 0, 1900541, 1, 0, 1900542, 1, 0, 1900543, 1, 0, 1835008, 1, 0, 1835009, 1, 0, 1835010, 1, 0, 1835011, 1, 0, 1835012, 1, 0, 1835013, 1, 0, 1835014, 1, 0, 1835015, 1, 0, 1835016, 1, 0, 1835017, 1, 0, 1835018, 1, 0, 1835019, 1, 0, 1835020, 1, 0, 1835021, 1, 0, 1835022, 1, 0, 1835023, 1, 0, 1835024, 1, 0, 1835025, 1, 0, 1835026, 1, 0, 1835027, 1, 0, 1835028, 1, 0, 1835029, 1, 0, 1835030, 1, 0, 1835031, 1, 0, 1835032, 1, 0, 1835033, 1, 0, 1835034, 1, 0, 1835035, 1, 0 ) - -[node name="YSort" type="YSort" parent="."] - -[node name="Tree" parent="YSort" instance=ExtResource( 13 )] -position = Vector2( 412.655, 542.278 ) -SPRITE_ASSET = "tree" - -[node name="Tree2" parent="YSort" instance=ExtResource( 13 )] -position = Vector2( 699.041, 959.615 ) -SPRITE_ASSET = "tree" - -[node name="Tree3" parent="YSort" instance=ExtResource( 13 )] -position = Vector2( 1442.82, 1946.85 ) -SPRITE_ASSET = "bush2" - -[node name="Tree4" parent="YSort" instance=ExtResource( 13 )] -position = Vector2( 63.1429, 1809.55 ) -SPRITE_ASSET = "lamppost" - -[node name="Tree5" parent="YSort" instance=ExtResource( 13 )] -position = Vector2( -51.2159, 977.061 ) -SPRITE_ASSET = "tree" - -[node name="Tree6" parent="YSort" instance=ExtResource( 13 )] -position = Vector2( -194.168, 1484.96 ) - -[node name="Tree7" parent="YSort" instance=ExtResource( 13 )] -position = Vector2( 937.678, 1944.1 ) - -[node name="Trolley" parent="YSort" instance=ExtResource( 4 )] -position = Vector2( -662.648, -61.2234 ) - -[node name="Player" parent="YSort" instance=ExtResource( 1 )] -position = Vector2( -286.874, 187.666 ) - -[node name="House1" parent="YSort" instance=ExtResource( 3 )] -position = Vector2( 1645.09, 2033.9 ) - -[node name="House2" parent="YSort" instance=ExtResource( 3 )] -position = Vector2( 778.136, 1986.95 ) - -[node name="House3" parent="YSort" instance=ExtResource( 3 )] -position = Vector2( 807.044, 172.629 ) - -[node name="House4" parent="YSort" instance=ExtResource( 3 )] -position = Vector2( 1471.88, 482.054 ) - -[node name="Neighbor1" parent="YSort" instance=ExtResource( 5 )] -position = Vector2( 1814.78, 1300.02 ) - -[node name="Neighbor2" parent="YSort" instance=ExtResource( 5 )] -position = Vector2( 597.132, 1574.64 ) - -[node name="Neighbor3" parent="YSort" instance=ExtResource( 5 )] -position = Vector2( 278.149, 877.167 ) - -[node name="Neighbor4" parent="YSort" instance=ExtResource( 5 )] -position = Vector2( 1358.8, 998.716 ) - -[node name="Decor" parent="YSort" instance=ExtResource( 13 )] -position = Vector2( 1156.31, 938.382 ) -SPRITE_ASSET = "lamppost" diff --git a/scenes/trolley.tscn b/scenes/trolley.tscn index 8471891..481d4c2 100644 --- a/scenes/trolley.tscn +++ b/scenes/trolley.tscn @@ -1,8 +1,11 @@ -[gd_scene load_steps=5 format=2] +[gd_scene load_steps=6 format=2] [ext_resource path="res://assets/trolley-lg.png" type="Texture" id=1] [ext_resource path="res://scripts/trolley.gd" type="Script" id=2] +[sub_resource type="CircleShape2D" id=4] +radius = 172.29 + [sub_resource type="RectangleShape2D" id=2] extents = Vector2( 38, 10 ) @@ -13,6 +16,12 @@ extents = Vector2( 44.5, 8.25 ) collision_layer = 4 script = ExtResource( 2 ) +[node name="TrolleySurroundingArea" type="Area2D" parent="."] + +[node name="CollisionShape2D" type="CollisionShape2D" parent="TrolleySurroundingArea"] +position = Vector2( 0, -45 ) +shape = SubResource( 4 ) + [node name="TrolleySeatArea" type="Area2D" parent="."] collision_layer = 0 @@ -34,5 +43,5 @@ polygon = PoolVector2Array( 172, -5, 198, 106, 150, 106, 122, 127, 74, 109, 46, position = Vector2( 0, -2.25 ) shape = SubResource( 3 ) +[connection signal="body_shape_exited" from="TrolleySurroundingArea" to="." method="_on_TrolleySurroundingArea_body_exited"] [connection signal="body_entered" from="TrolleySeatArea" to="." method="_on_TrolleySeatArea_body_entered"] -[connection signal="body_exited" from="TrolleySeatArea" to="." method="_on_TrolleySeatArea_body_exited"] diff --git a/scenes/Clouds.gd b/scripts/Clouds.gd similarity index 55% rename from scenes/Clouds.gd rename to scripts/Clouds.gd index 5e97832..610f81c 100644 --- a/scenes/Clouds.gd +++ b/scripts/Clouds.gd @@ -1,42 +1,39 @@ extends Node2D - -# Declare member variables here. Examples: -# var a = 2 -# var b = "text" - -onready var cloud1 = $Sprite -onready var cloud2 = $Sprite2 -onready var cloud3 = $Sprite3 -onready var cloud4 = $Sprite4 onready var topBorder = $TopBorder onready var bottomBorder = $BottomBorder onready var leftBorder = $LeftBorder onready var rightBorder = $RightBorder +export var NUM_CLOUDS = 12 + var clouds = [] - +var speeds = [] var rng = RandomNumberGenerator.new() -var xSpeed = 0 - # Called when the node enters the scene tree for the first time. func _ready(): + for num in range(NUM_CLOUDS): + var cloud_image_path = "res://assets/cloud%s.png" % (num % 4 + 1) + var new_cloud_sprite = Sprite.new() + new_cloud_sprite.texture = load(cloud_image_path) + add_child(new_cloud_sprite) + clouds.append(new_cloud_sprite) + var rand_speed = rng.randf_range(0.5,2) + speeds.append(rand_speed) rng.randomize() - xSpeed = rng.randf_range(0.5,2) - clouds = [cloud1, cloud2, cloud3, cloud4] _start_position() - - # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta): - print(xSpeed) + var index := 0 for cloud in clouds: - if cloud.global_position.x + xSpeed < rightBorder.global_position.x: - cloud.global_position.x = cloud.global_position.x + xSpeed + if cloud.global_position.x + speeds[index] < rightBorder.global_position.x: + cloud.global_position.x = cloud.global_position.x + speeds[index] else: cloud.global_position.x = leftBorder.global_position.x + cloud.global_position.y = rng.randi_range(topBorder.global_position.y, bottomBorder.global_position.y) + index += 1 func _start_position(): rng.randomize() diff --git a/scripts/Sprite.gd b/scripts/Sprite.gd deleted file mode 100644 index 439f7a9..0000000 --- a/scripts/Sprite.gd +++ /dev/null @@ -1,16 +0,0 @@ -extends Sprite - - -# Declare member variables here. Examples: -# var a = 2 -# var b = "text" - - -# Called when the node enters the scene tree for the first time. -func _ready(): - pass # Replace with function body. - - -# Called every frame. 'delta' is the elapsed time since the previous frame. -#func _process(delta): -# pass diff --git a/scripts/UI.gd b/scripts/UI.gd index 06a6a48..20de409 100644 --- a/scripts/UI.gd +++ b/scripts/UI.gd @@ -1,18 +1,52 @@ extends Node2D +class_name GUI + +signal toggle_music(music_off) + onready var time_label := $MarginContainer/HBoxContainer/TimeLabel +onready var neighbor_label := $MarginContainer/HBoxContainer/NeighborLabel onready var game_timer := $GameTimer +onready var music_button := $MarginContainer/HBoxContainer/VBoxContainer/MusicButton +onready var pause_button := $MarginContainer/HBoxContainer/GridContainer/PauseButton + +var arrow = preload("res://assets/ui/pointer.png") +var hand = preload("res://assets/ui/pointer_hand.png") +#var music_enabled_texture = preload("res://assets/ui/music-enabled.png") +#var music_disabled_texture = preload("res://assets/ui/music-disabled.png") +#var pause_texture = preload("res://assets/ui/pause.png") +#var play_texture = preload("res://assets/ui/play.png") func start_timer(seconds: int) -> void: game_timer.start(seconds) +func set_neighbor_count(neighbors_left: int) -> void: + neighbor_label.text = "Neighbors left: %s" % neighbors_left + +func set_game_label(content: String) -> void: + neighbor_label.text = content + func _ready() -> void: - start_timer(60) + Input.set_custom_mouse_cursor(arrow) +# Input.set_custom_mouse_cursor(beam, Input.CURSOR_IBEAM) +# start_timer(60) func _process(delta: float) -> void: var time = int(game_timer.get_time_left()) - time_label.text = "Time %s" % time + time_label.text = "Time: %s" % time + +func _on_PauseButton_toggled(button_pressed: bool) -> void: + print('TODO nothing happens...') + +func _on_MusicButton_toggled(button_pressed: bool) -> void: + emit_signal("toggle_music", !button_pressed) + +func _on_mouse_entered() -> void: + Input.set_custom_mouse_cursor(hand) + +func _on_mouse_exited() -> void: + Input.set_custom_mouse_cursor(arrow) -func _on_ToolButton_toggled(button_pressed: bool) -> void: - print(button_pressed) +func _on_GameTimer_timeout() -> void: + pass # Replace with function body. diff --git a/scripts/base_level.gd b/scripts/base_level.gd new file mode 100644 index 0000000..efe0277 --- /dev/null +++ b/scripts/base_level.gd @@ -0,0 +1,97 @@ +extends Node2D + +class_name BaseLevel + +var helped_neighbors := [] +var total_neighbors := 0 +var playback_position: float +var level_num := 1 +var last_level := false + +export var SECONDS_TO_COMPLETE := 10 + +signal game_complete(is_win) + +onready var trolley = $YSort/Trolley as Trolley +onready var player = $YSort/Player as Player +onready var bounds = $CameraBounds +onready var audio_player = $AudioStreamPlayer +onready var gui = $YSort/Player/GUI as GUI +onready var trolley_locations = $TrolleyLocations +onready var end_game_panel = $Panel +onready var end_game_label_title = $Panel/VBoxContainer/EndGameTitle +onready var end_game_label_body = $Panel/VBoxContainer/EndGameBody +onready var display_timer = $DisplayTimer + +func display_start(this_level_num: int, is_last_level: bool = false) -> void: + last_level = is_last_level + level_num = this_level_num + end_game_label_title.text = 'Land of make believe' + end_game_label_body.text = '1 %s' % level_num + end_game_panel.visible = true + +func _process(delta: float) -> void: + if end_game_panel.visible: + end_game_panel.rect_global_position = player.camera.get_camera_screen_center() - Vector2(get_viewport().get_visible_rect().size.x / 2, get_viewport().get_visible_rect().size.y / 2) + +func _on_neighbor_found_home(id: int) -> void: + helped_neighbors.append(id) + gui.set_neighbor_count(total_neighbors - len(helped_neighbors)) + if len(helped_neighbors) == total_neighbors: + trolley.set_trolley_open(true) + gui.set_game_label("Get to the Trolley!") + player.follower = trolley + +func _on_toggle_music(music_off: bool) -> void: + if music_off: + playback_position = audio_player.get_playback_position() + audio_player.stop() + else: + audio_player.play(playback_position) + + +func _on_Trolley_rogers_entered_trolley() -> void: + player.follower = null + trolley.move_to_leave() + +func _on_Trolley_rogers_left_trolley() -> void: + gui.start_timer(SECONDS_TO_COMPLETE) + trolley.move_to_end(trolley_locations.get_node("TrolleyEnd").global_position, SECONDS_TO_COMPLETE) + +func _on_GameTimer_timeout() -> void: + trolley.move_to_leave() + + +func _on_Trolley_left_wih_rogers(has_rogers) -> void: + if has_rogers: + if last_level: + end_game_label_title.text = 'You are very neighborly' + end_game_label_body.text = 'You saved all the neighbors in the land of make believe' + emit_signal("game_complete", true) + else: + end_game_label_title.text = 'You win' + end_game_label_body.text = 'Proceeding to level %s' % (level_num + 1) + emit_signal("game_complete", true) + else: + end_game_label_title.text = 'Oh no' + end_game_label_body.text = 'You were left in the land of make-believe' + emit_signal("game_complete", false) + end_game_panel.visible = true + +# Sets up the level start +func _on_DisplayTimer_timeout() -> void: + end_game_panel.visible = false + if trolley != null: + trolley.global_position = Vector2(bounds.get_node("Left").global_position.x - 20, trolley_locations.get_node("TrolleyStart").global_position.y) + if player != null: + player.global_position = trolley.get_node("TrolleySeatArea/SeatAreaShape").global_position + for node in get_node("YSort").get_children(): + if 'Neighbor' in node.name: + var err = node.connect("found_home", self, "_on_neighbor_found_home") + total_neighbors += 1 + print('Level loaded with %s neighbors' % total_neighbors) + gui.set_neighbor_count(total_neighbors) + player.set_camera_bounds(bounds.get_node("Top").global_position.y, bounds.get_node("Bottom").global_position.y, bounds.get_node("Left").global_position.x, bounds.get_node("Right").global_position.x) + var err = gui.connect("toggle_music", self, "_on_toggle_music") + err = gui.get_node("GameTimer").connect("timeout", self, "_on_GameTimer_timeout") + trolley.move_to_start(get_node("TrolleyLocations/TrolleyStart").global_position) diff --git a/scripts/level_controller.gd b/scripts/level_controller.gd new file mode 100644 index 0000000..19cfcfb --- /dev/null +++ b/scripts/level_controller.gd @@ -0,0 +1,36 @@ +extends Node2D + + +var level_path := "res://scenes/level{num}.tscn" +var level1 = preload("res://scenes/level1.tscn") +var current_level_num = 1 +var current_level : Node +var max_levels = 3 +var level_win := false + +onready var end_timer := $EndTimer + +func _ready() -> void: + current_level = level1.instance() + add_child(current_level) + var err = current_level.get_child(0).connect("game_complete", self, "_on_level_complete") + +func _on_level_complete(is_win: bool) -> void: + print('Level complete') + level_win = is_win + end_timer.start(2) + + +func _on_EndTimer_timeout() -> void: + if level_win and current_level_num < max_levels: + current_level_num += 1 + var new_level_path = level_path.format({"num": current_level_num}) + var next_level = load(new_level_path).instance() + add_child(next_level) + current_level.queue_free() + current_level = next_level + var current_base_level = current_level.get_node("BaseLevel") as BaseLevel + current_base_level.display_start(current_level_num) + var err = current_base_level.connect("game_complete", self, "_on_level_complete") + + diff --git a/scripts/neighbor.gd b/scripts/neighbor.gd index 3b677ef..71d5220 100644 --- a/scripts/neighbor.gd +++ b/scripts/neighbor.gd @@ -95,7 +95,6 @@ func _idle_state(delta: float) -> void: func _go_home_state(delta: float) -> void: _move_neighbor(house_direction, true) -# print((house_position - global_position).length()) if ((house_position - global_position).length() < 30): emit_signal("found_home", id) queue_free() diff --git a/scripts/player.gd b/scripts/player.gd index 30affec..1199401 100644 --- a/scripts/player.gd +++ b/scripts/player.gd @@ -13,13 +13,23 @@ var leader := self onready var sprite := $AnimatedSprite onready var chevron_sprite := $ChevronSprite +onready var camera := $Camera2D +onready var gui := $GUI enum State { MOVE, IDLE } +func set_camera_bounds(up: int, down: int, left: int, right: int): + camera.set_limit(MARGIN_TOP, up) + camera.set_limit(MARGIN_BOTTOM, down) + camera.set_limit(MARGIN_LEFT, left) + camera.set_limit(MARGIN_RIGHT, right) +func _process(delta: float) -> void: + gui.global_position = camera.get_camera_screen_center() - Vector2(get_viewport().get_visible_rect().size.x / 2, get_viewport().get_visible_rect().size.y / 2) # Get Height) + func _physics_process(delta: float) -> void: match state: State.MOVE: @@ -28,6 +38,8 @@ func _physics_process(delta: float) -> void: _idle_state(delta) chevron_sprite.visible = follower != null if follower != null: + if follower.name == "Trolley": + chevron_sprite.set_modulate(Color(0,0.9,0)) chevron_sprite.rotation_degrees = rad2deg((follower.house_position - global_position).angle()) - 90 func _move_state(delta: float) -> void: @@ -58,11 +70,3 @@ func _idle_state(delta: float) -> void: state = State.MOVE else: sprite.set_animation("idle") -# if Input.is_action_pressed("ui_up"): -# speed.y -= ACCELERATION -# elif Input.is_action_pressed("ui_right"): -# print("right") -# elif Input.is_action_pressed("ui_left"): -# print("left") -# elif Input.is_action_pressed("ui_down"): -# print("down") diff --git a/scripts/stage.gd b/scripts/stage.gd index d1bc7c4..5d390fd 100644 --- a/scripts/stage.gd +++ b/scripts/stage.gd @@ -17,7 +17,6 @@ func _on_rogers_left_trolley() -> void: pass func _on_neighbor_found_home(id: int) -> void: - print('You helped a neighbor') helped_neighbors.append(id) if len(helped_neighbors) == total_neighbors: trolley.set_trolley_open(true) diff --git a/scripts/trolley.gd b/scripts/trolley.gd index 5b21c8d..afdac67 100644 --- a/scripts/trolley.gd +++ b/scripts/trolley.gd @@ -3,38 +3,114 @@ extends KinematicBody2D class_name Trolley signal rogers_left_trolley() +signal rogers_entered_trolley() +signal left_wih_rogers(has_rogers) -export var TIME = 60 onready var trolley_closed_shape = $TrolleyClosedShape -export var MAX_VELOCITY = .3 +export var MAX_VELOCITY = 8 var velocity := Vector2.ZERO +var state = State.STOPPED var has_roger := false +var destination := Vector2.ZERO +var house_position : Vector2 +var arrival_time: int +var en_route_length: float -func _ready() -> void: - set_trolley_open(true) +enum State { + MOVE_TO_START, + STOPPED, + EN_ROUTE, + LEAVING +} + +func set_trolley_open(trolley_open: bool) -> void: + trolley_closed_shape.set_deferred("disabled", trolley_open) + +func move_to_start(start_pos: Vector2) -> void: + state = State.MOVE_TO_START + destination = start_pos + velocity = Vector2(MAX_VELOCITY, 0) + set_trolley_open(false) + +func move_to_end(end_pos: Vector2, seconds_to_exit) -> void: + state = State.EN_ROUTE + destination = end_pos + velocity = Vector2.ZERO + arrival_time = seconds_to_exit + set_trolley_open(false) + en_route_length = destination.x - global_position.x + +func move_to_leave() -> void: + if state != State.LEAVING: + set_trolley_open(false) + emit_signal("left_wih_rogers", has_roger) + state = State.LEAVING func _physics_process(delta: float) -> void: - velocity.x = move_toward(velocity.x, MAX_VELOCITY, delta if not has_roger else delta * 10) + match state: + State.MOVE_TO_START: + _decelerate_to_start(delta) + State.STOPPED: + _stop(delta) + State.EN_ROUTE: + _en_route(delta) + State.LEAVING: + _leaving(delta) + # For the player indicator to show where the trolley is, update 'house_position' to current position + house_position = global_position + +func _decelerate_to_start(delta: float) -> void: + var length_to_start := destination.x - global_position.x - 100 + velocity.x = min(move_toward(velocity.x, length_to_start, delta * 10), MAX_VELOCITY) + var collision := move_and_collide(velocity) + if collision: + var collider = collision.get_collider() + if collider.get_class() == "KinematicBody2D": + collider.move_and_collide(velocity * 2) + if global_position.x >= destination.x: + set_trolley_open(true) + state = State.STOPPED + + +func _stop(delta: float) -> void: + pass + +func _en_route(delta: float) -> void: + velocity.x = en_route_length / arrival_time * delta var collision := move_and_collide(velocity) if collision: var collider = collision.get_collider() if collider.get_class() == "KinematicBody2D": if has_roger: - MAX_VELOCITY = 10 + return collider.move_and_collide(velocity * 3) + if global_position.x >= destination.x: + set_trolley_open(false) + state = State.LEAVING + + +func _leaving(delta: float) -> void: + velocity.x = min(move_toward(velocity.x, (destination.x + 200), delta * 10), MAX_VELOCITY) + var collision := move_and_collide(velocity) + if collision: + var collider = collision.get_collider() + if collider.get_class() == "KinematicBody2D": + collider.move_and_collide(velocity * 3) +# if global_position.x >= destination.x: +# set_trolley_open(true) +# state = State.STOPPED -func set_trolley_open(trolley_open: bool) -> void: - trolley_closed_shape.set_deferred("disabled", trolley_open) func _on_TrolleySeatArea_body_entered(body: Node) -> void: - if body is Player: + if body is Player and state != State.STOPPED and state != State.MOVE_TO_START: has_roger = true - print('closing trolley') trolley_closed_shape.set_deferred("disabled", false) + emit_signal("rogers_entered_trolley") - -func _on_TrolleySeatArea_body_exited(body: Node) -> void: +func _on_TrolleySurroundingArea_body_exited(body_rid: RID, body: Node, body_shape_index: int, local_shape_index: int) -> void: if body is Player: + has_roger = false emit_signal("rogers_left_trolley") +