From 3c2119a57da1354e05c84ab33e77da342f574226 Mon Sep 17 00:00:00 2001 From: Jakob Feldmann Date: Tue, 11 Apr 2023 15:07:51 +0200 Subject: [PATCH] feat: New Frog Free Button, More Air Movement --- assets/meta/digits.aseprite | Bin 0 -> 1121 bytes assets/meta/digits.png | Bin 0 -> 149 bytes assets/meta/digits.png.import | 35 +++++++ src/Actors/Actor.gd | 4 +- src/Actors/Blobby/Blobby.gd | 19 +++- src/Actors/Blobby/Blobby.tscn | 6 +- src/Actors/Enemies/Beings/BoundFrog.gd | 2 +- src/Actors/Enemies/Beings/WhatAreFrog.tscn | 17 +++- src/Autoload/GlobalState.gd | 4 + src/Contraptions/Triggers/FrogFreeButton.gd | 34 +++++++ src/Contraptions/Triggers/FrogFreeButton.tscn | 94 ++++++++++++++++++ src/Contraptions/VendingMachine.gd | 8 +- src/Levels/Falling Level.tscn | 6 +- src/Levels/Level 2.tscn | 10 +- src/Levels/x03 Level.tscn | 20 +--- src/NeutralObjects/SavePoint.tscn | 29 ++++++ src/UserInterface/Screens/HUD.gd | 8 +- src/Utilities/LevelState.gd | 18 ++++ 18 files changed, 268 insertions(+), 46 deletions(-) create mode 100644 assets/meta/digits.aseprite create mode 100644 assets/meta/digits.png create mode 100644 assets/meta/digits.png.import create mode 100644 src/Contraptions/Triggers/FrogFreeButton.gd create mode 100644 src/Contraptions/Triggers/FrogFreeButton.tscn create mode 100644 src/NeutralObjects/SavePoint.tscn diff --git a/assets/meta/digits.aseprite b/assets/meta/digits.aseprite new file mode 100644 index 0000000000000000000000000000000000000000..f9814e98eb63f91d48ba5102bdf1d98a93f25e83 GIT binary patch literal 1121 zcmcJNK}Zx)9EbnY?56DQp@W1=hkZnZgyrlKrntHlbkPpB2ctT)&x>}S> z2R#H)8`Q;{f~SHGAw&^G1YK(LU_oJYC>7Ua6Q*xQ7ni+gf^V5`-p=DUzwgbA=@I!d z?h{?SqC^vsOB@@6YtBX4!*3_XQ|_K$@Vc#D3ifi8DYvqy?lbeCQtMYjMJw*q7TK?k z!c$dI*jXQjqiqdvw&x(sKIw$NUOt3>7i-~z@2xQP!hpx_b;Fjf8W?Xm03*?Q7>o5m zBQXpwbbp1(j14co`v%|6tU{Y1l9_x4Zw=gmU8xj2*A|CYPg-yy5`o#XN%--`b2xgx z8Cq8iJH-Y(&U05x*aSO3A9uvDMj2mZF+~$c1hGR6FQhO+$8oW3EKs1Ia+;~7lS104 z3OP+mhlPQHl*wtczoS=$5A(;X)|TvDYiDski|db)iNwnLv=tml+ziY4-~L=3>-h!E zeQVCUs^W0MPHrQt@l6%Nx3%gy&uWbI;#|#oj#E+2`4$VgX=6U*e?6v4Q^2>}R1!b3 zmH6YK@*b(J@GYMxNryK}i)IIn?3?z$kISMCm9I3G++Yij%uJ7c8r-J4WlE;bs+9O2 xe=b^5UA>umdfGT%u}^-U*`5FYhi(NcjaO5aF4sN;mbMk2x@(T;(mv( literal 0 HcmV?d00001 diff --git a/assets/meta/digits.png b/assets/meta/digits.png new file mode 100644 index 0000000000000000000000000000000000000000..9d8a1350828ed7859fdc2a12e097078544cec4de GIT binary patch literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^azM<=!3HFQ6k~n?DaPU;cPEB*=VV?2IsTq5jv*Qo zmj;~XV^H95y8i!vQEZjO)Llni)p=YQ12!t`y>*j!(uExXQ74`iy)?GECjWQGov;VS xzQ^3-TMQqt+*9APKIfNEjF@V=-KUu~%mGZiG6qv3t^ velocity.x and direction.x > 0: + linear_velocity.x = PhysicsFunc.two_step_euler( + linear_velocity.x, acceleration_force[state].x * direction.x, + mass, + delta + ) if is_correct_airstrafe_input(): linear_velocity = execute_airstrafe(linear_velocity, delta, direction) @@ -299,15 +304,21 @@ func calculate_jump_velocity( func calculate_fall_velocity( linear_velocity: Vector2, delta: float, direction: Vector2 ) -> Vector2: + var state = player_state_machine.state if velocity.y < max_velocity["fall"]: linear_velocity.y = PhysicsFunc.two_step_euler( linear_velocity.y, _gravity * mass, mass, delta ) else: linear_velocity.y = max_velocity["fall"] - if -10 < velocity.x and velocity.x < 10: + if -45 < velocity.x and direction.x < 0 || \ + 45 > velocity.x and direction.x > 0: # TODO This is poop - linear_velocity.x += inair_velocity * direction.x + linear_velocity.x = PhysicsFunc.two_step_euler( + linear_velocity.x, acceleration_force[state].x * direction.x, + mass, + delta + ) if Input.is_action_just_pressed("jump"): jump_buffer_filled = true if is_correct_airstrafe_input(): diff --git a/src/Actors/Blobby/Blobby.tscn b/src/Actors/Blobby/Blobby.tscn index a3785f8..fca4f03 100644 --- a/src/Actors/Blobby/Blobby.tscn +++ b/src/Actors/Blobby/Blobby.tscn @@ -286,11 +286,11 @@ states/idleTurn/position = Vector2( 1375.54, -193.991 ) states/idling/node = SubResource( 116 ) states/idling/position = Vector2( 1375.63, -53.9546 ) states/jumpToFall/node = SubResource( 119 ) -states/jumpToFall/position = Vector2( 1795.36, 322.199 ) +states/jumpToFall/position = Vector2( 1981.07, 404.104 ) states/jumping/node = SubResource( 125 ) states/jumping/position = Vector2( 1375.54, 117.961 ) states/runToJump/node = SubResource( 146 ) -states/runToJump/position = Vector2( 2191.5, 650.286 ) +states/runToJump/position = Vector2( 2194.36, 651.238 ) states/running/node = SubResource( 122 ) states/running/position = Vector2( 2273.2, -53.7278 ) states/turnToRun/node = SubResource( 130 ) @@ -303,7 +303,7 @@ states/wallsliding/node = SubResource( 96 ) states/wallsliding/position = Vector2( 1795.54, 493.009 ) transitions = [ "falling", "wallsliding", SubResource( 138 ), "wallsliding", "idling", SubResource( 139 ), "wallsliding", "wallslideToJump", SubResource( 140 ), "wallslideToJump", "jumping", SubResource( 141 ), "idling", "jumping", SubResource( 147 ), "runToJump", "jumping", SubResource( 148 ), "ducking", "jumping", SubResource( 149 ), "jumping", "jumpToFall", SubResource( 150 ), "jumpToFall", "falling", SubResource( 151 ), "ducking", "duckTurn", SubResource( 152 ), "duckTurn", "ducking", SubResource( 153 ), "falling", "ducking", SubResource( 154 ), "ducking", "falling", SubResource( 155 ), "ducking", "walking", SubResource( 156 ), "walking", "ducking", SubResource( 157 ), "idling", "ducking", SubResource( 158 ), "ducking", "idling", SubResource( 159 ), "ducking", "running", SubResource( 160 ), "running", "ducking", SubResource( 161 ), "running", "falling", SubResource( 162 ), "falling", "running", SubResource( 163 ), "walking", "falling", SubResource( 164 ), "falling", "walking", SubResource( 165 ), "falling", "idling", SubResource( 166 ), "idling", "walking", SubResource( 167 ), "walking", "idling", SubResource( 168 ), "walking", "turnToRun", SubResource( 169 ), "turnToRun", "walking", SubResource( 170 ), "running", "turnToRun", SubResource( 171 ), "turnToRun", "running", SubResource( 172 ), "idling", "idleTurn", SubResource( 173 ), "walking", "idleTurn", SubResource( 174 ), "idleTurn", "walking", SubResource( 175 ), "idling", "turnToRun", SubResource( 176 ), "turnToRun", "idling", SubResource( 177 ), "running", "runToJump", SubResource( 178 ), "wallsliding", "falling", SubResource( 137 ), "jumping", "wallsliding", SubResource( 189 ), "jumping", "idling", SubResource( 193 ), "jumping", "walking", SubResource( 194 ), "runToJump", "wallsliding", SubResource( 195 ), "jumpToFall", "idling", SubResource( 196 ) ] start_node = "idling" -graph_offset = Vector2( 1105.54, -34.431 ) +graph_offset = Vector2( 1078.54, -151.431 ) [sub_resource type="AnimationNodeStateMachinePlayback" id=48] diff --git a/src/Actors/Enemies/Beings/BoundFrog.gd b/src/Actors/Enemies/Beings/BoundFrog.gd index abc864c..11559e7 100644 --- a/src/Actors/Enemies/Beings/BoundFrog.gd +++ b/src/Actors/Enemies/Beings/BoundFrog.gd @@ -53,7 +53,7 @@ func disconnect_rope() -> void: rope.spawn_rope(anchor.global_position, $RopeAnchor.global_position, movement_radius, false) -func _on_WhyButton_button_pushed() -> void: +func _on_FrogFreeButton_pushed() -> void: $WhatAreFrog.levelState.frees += 1 $WhatAreFrog.is_bound = false disconnect_rope() diff --git a/src/Actors/Enemies/Beings/WhatAreFrog.tscn b/src/Actors/Enemies/Beings/WhatAreFrog.tscn index a9d22e2..b09acfc 100644 --- a/src/Actors/Enemies/Beings/WhatAreFrog.tscn +++ b/src/Actors/Enemies/Beings/WhatAreFrog.tscn @@ -1,9 +1,10 @@ -[gd_scene load_steps=46 format=2] +[gd_scene load_steps=47 format=2] [ext_resource path="res://assets/enemy/froshler.png" type="Texture" id=1] [ext_resource path="res://src/Actors/Enemies/Beings/WhatAreFrog.gd" type="Script" id=2] [ext_resource path="res://src/Actors/Enemies/Beings/WhatAreFrogStateMachine.gd" type="Script" id=3] [ext_resource path="res://assets/meta/new_dynamicfont.tres" type="DynamicFont" id=4] +[ext_resource path="res://assets/meta/digits.png" type="Texture" id=5] [sub_resource type="Animation" id=5] length = 0.001 @@ -453,13 +454,19 @@ text = "Ihre Werbung" align = 1 valign = 1 +[node name="Digit" type="Sprite" parent="."] +position = Vector2( 0, -3 ) +z_index = 1 +texture = ExtResource( 5 ) +hframes = 10 + [node name="FrogSprite" type="Sprite" parent="."] unique_name_in_owner = true position = Vector2( 0, -7 ) -scale = Vector2( -1, 1 ) texture = ExtResource( 1 ) hframes = 2 vframes = 4 +frame = 1 [node name="AnimationPlayer" type="AnimationPlayer" parent="FrogSprite"] anims/RESET = SubResource( 5 ) @@ -480,11 +487,11 @@ anim_player = NodePath("../AnimationPlayer") active = true root_motion_track = NodePath(".:frame") parameters/playback = SubResource( 11 ) -parameters/idleHappy/blend_position = -1.00141 -parameters/idleMean/blend_position = 1.0 +parameters/idleHappy/blend_position = 1.0 +parameters/idleMean/blend_position = 0.999614 parameters/liftOff/blend_position = 1.0 parameters/midJumping/blend_position = 1.0 -parameters/sleeping/blend_position = 0.998762 +parameters/sleeping/blend_position = 1.0 [node name="VisibilityEnabler2D" type="VisibilityEnabler2D" parent="."] position = Vector2( 954, 0 ) diff --git a/src/Autoload/GlobalState.gd b/src/Autoload/GlobalState.gd index f2461ce..91570cc 100644 --- a/src/Autoload/GlobalState.gd +++ b/src/Autoload/GlobalState.gd @@ -1,6 +1,10 @@ extends Node var progress_dict := {} setget set_progress +var wallet := 0 setget set_wallet func set_progress(value) -> void: progress_dict = value + +func set_wallet(value) -> void: + wallet = value diff --git a/src/Contraptions/Triggers/FrogFreeButton.gd b/src/Contraptions/Triggers/FrogFreeButton.gd new file mode 100644 index 0000000..5d01e36 --- /dev/null +++ b/src/Contraptions/Triggers/FrogFreeButton.gd @@ -0,0 +1,34 @@ +extends Node2D + +signal button_pushed + +onready var activatorArea = $"%ActivatorArea" +onready var indicatorPlayer = $"%IndicatorPlayer" +onready var elevator = get_node("./Portal") +onready var signalManager := get_tree().root.get_child(1).get_node("%SignalManager") +onready var unactivatable_timer := $Timer + +var activatable = false + +func _process(delta): + if activatable && Input.is_action_just_released("interact"): + selfActivate() + signalManager.emit_signal("button_pushed") + + +func selfActivate(): + indicatorPlayer.play("onning") + #TODO dis importante + activatorArea.set_deferred("monitoring", false) + + +func _on_ActivatorArea_area_entered(area:Area2D) -> void: + $Label.visible = true + activatable = true + +func _on_ActivatorArea_area_exited(area:Area2D) -> void: + unactivatable_timer.start() + +func _on_Timer_timeout(): + $Label.visible = false + activatable = false diff --git a/src/Contraptions/Triggers/FrogFreeButton.tscn b/src/Contraptions/Triggers/FrogFreeButton.tscn new file mode 100644 index 0000000..0d98c37 --- /dev/null +++ b/src/Contraptions/Triggers/FrogFreeButton.tscn @@ -0,0 +1,94 @@ +[gd_scene load_steps=8 format=2] + +[ext_resource path="res://src/Contraptions/Triggers/FrogFreeButton.gd" type="Script" id=1] +[ext_resource path="res://assets/contraption/freeButton.png" type="Texture" id=2] +[ext_resource path="res://assets/contraption/freeButtonSlider.png" type="Texture" id=3] +[ext_resource path="res://assets/meta/digits.png" type="Texture" id=4] + +[sub_resource type="Animation" id=19] +length = 0.001 +tracks/0/type = "value" +tracks/0/path = NodePath(".:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Vector2( 0, -7 ) ] +} + +[sub_resource type="Animation" id=13] +resource_name = "onning" +length = 0.809 +tracks/0/type = "value" +tracks/0/path = NodePath(".:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.8 ), +"transitions": PoolRealArray( 1, 2.73207 ), +"update": 0, +"values": [ Vector2( 0, -7 ), Vector2( 0, 7 ) ] +} + +[sub_resource type="CircleShape2D" id=18] +radius = 18.0 + +[node name="FrogFreeButton" type="Node2D"] +script = ExtResource( 1 ) + +[node name="Button" type="Sprite" parent="."] +texture = ExtResource( 2 ) +__meta__ = { +"_editor_description_": "YXNlcHJpdGVfd2l6YXJkX2NvbmZpZwpwbGF5ZXJ8PVNwcml0ZS9BbmltYXRpb25QbGF5ZXIKc291cmNlfD1yZXM6Ly9hc3NldHMvbmV1dHJhbCBvYmplY3QvYnV0dG9uLmFzZXByaXRlCmxheWVyfD0Kb3BfZXhwfD1GYWxzZQpvX2ZvbGRlcnw9Cm9fbmFtZXw9Cm9ubHlfdmlzaWJsZXw9RmFsc2UKb19leF9wfD0K" +} + +[node name="Digit" type="Sprite" parent="."] +position = Vector2( 0.5, 0.5 ) +z_index = 1 +texture = ExtResource( 4 ) +hframes = 10 + +[node name="Indicator" type="Sprite" parent="."] +position = Vector2( 0, -7 ) +z_index = 1 +texture = ExtResource( 3 ) +__meta__ = { +"_editor_description_": "YXNlcHJpdGVfd2l6YXJkX2NvbmZpZwpwbGF5ZXJ8PUluZGljYXRvcjIvQW5pbWF0aW9uUGxheWVyCnNvdXJjZXw9cmVzOi8vYXNzZXRzL25ldXRyYWwgb2JqZWN0L2J1dHRvblN0YXRlSW5kaWNhdG9yLmFzZXByaXRlCmxheWVyfD0Kb3BfZXhwfD1GYWxzZQpvX2ZvbGRlcnw9Cm9fbmFtZXw9Cm9ubHlfdmlzaWJsZXw9RmFsc2UKb19leF9wfD0K" +} + +[node name="IndicatorPlayer" type="AnimationPlayer" parent="Indicator"] +unique_name_in_owner = true +anims/RESET = SubResource( 19 ) +anims/onning = SubResource( 13 ) + +[node name="ActivatorArea" type="Area2D" parent="."] +unique_name_in_owner = true +collision_layer = 0 +monitorable = false + +[node name="ActivatorAreaShape" type="CollisionShape2D" parent="ActivatorArea"] +unique_name_in_owner = true +shape = SubResource( 18 ) + +[node name="Timer" type="Timer" parent="."] +wait_time = 0.333 +one_shot = true + +[node name="Label" type="Label" parent="."] +visible = false +margin_left = -5.0 +margin_top = -26.0 +margin_right = 13.0 +margin_bottom = -12.0 +rect_scale = Vector2( 0.590909, 0.627907 ) +text = "[e]" + +[connection signal="area_entered" from="ActivatorArea" to="." method="_on_ActivatorArea_area_entered"] +[connection signal="area_exited" from="ActivatorArea" to="." method="_on_ActivatorArea_area_exited"] +[connection signal="timeout" from="Timer" to="." method="_on_Timer_timeout"] diff --git a/src/Contraptions/VendingMachine.gd b/src/Contraptions/VendingMachine.gd index 162d920..95790cf 100644 --- a/src/Contraptions/VendingMachine.gd +++ b/src/Contraptions/VendingMachine.gd @@ -5,15 +5,17 @@ onready var signalManager := get_tree().root.get_child(1).get_node("%SignalManag onready var levelState := get_tree().root.get_child(1).get_node("%LevelState") onready var blobby := $"../%Blobby" onready var unactivatable_timer := $Timer +export var cost := 3 var activatable = false func _process(delta): # TODO Global currency count?? Maybe just level intern currency - if activatable && Input.is_action_just_released("interact") && levelState.currency >= 3: - levelState.currency -= 3 - selfActivate() + if activatable && Input.is_action_just_released("interact"): + if(levelState.spend_currency(cost)): + signalManager.emit_signal("currency_updated") + selfActivate() func selfActivate(): #TODO Is a event for blobby himself diff --git a/src/Levels/Falling Level.tscn b/src/Levels/Falling Level.tscn index 58f739c..4285936 100644 --- a/src/Levels/Falling Level.tscn +++ b/src/Levels/Falling Level.tscn @@ -36,10 +36,10 @@ drag_margin_top = 0.38 drag_margin_bottom = 0.0 [node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"] -frame = 1 +frame = 6 [node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"] -frame = 5 +frame = 10 [node name="Blobby" parent="." instance=ExtResource( 3 )] unique_name_in_owner = true @@ -59,7 +59,7 @@ collision_layer = 8 collision_mask = 8 bake_navigation = true format = 1 -tile_data = PoolIntArray( -786440, 1610612738, 0, -786439, 1610612738, 0, -786438, 1610612738, 0, -786437, 1610612738, 0, -786436, 1610612738, 0, -786435, 1610612738, 0, -786434, 1610612738, 0, -786433, 1610612738, 0, -851968, 1610612738, 0, -851967, 1610612738, 0, -851966, 1610612738, 0, -851965, 1610612738, 0, -851964, 1610612738, 0, -851963, 1610612738, 0, -851962, 1610612738, 0, -851961, 1610612738, 0, -720905, -1610612734, 0, -786424, -1073741822, 0, -655369, -1610612734, 0, -720888, -1073741822, 0, -589833, -1610612734, 0, -655352, -1073741822, 0, -524297, -1610612734, 0, -589816, -1073741822, 0, -458761, -1610612734, 0, -524280, -1073741822, 0, -393225, -1610612734, 0, -458744, -1073741822, 0, -327689, -1610612734, 0, -393208, -1073741822, 0, -262153, -1610612734, 0, -327672, -1073741822, 0, -196617, -1610612734, 0, -262136, -1073741822, 0, -131081, -1610612734, 0, -196600, -1073741822, 0, -65545, -1610612734, 0, -131064, -1073741822, 0, -9, -1610612734, 0, -65528, -1073741822, 0, 65527, -1610612734, 0, 8, -1073741822, 0, 131063, -1610612734, 0, 65544, -1073741822, 0, 196599, -1610612734, 0, 131080, -1073741822, 0, 262135, -1610612734, 0, 196616, -1073741822, 0, 327671, -1610612734, 0, 262152, -1073741822, 0, 393207, -1610612734, 0, 327688, -1073741822, 0, 458743, -1610612734, 0, 393224, -1073741822, 0, 524279, -1610612734, 0, 458760, -1073741822, 0, 589815, -1610612734, 0, 524296, -1073741822, 0, 655351, -1610612734, 0, 589832, -1073741822, 0, 720887, -1610612734, 0, 655368, -1073741822, 0, 786423, -1610612734, 0, 720904, -1073741822, 0, 851959, -1610612734, 0, 786440, -1073741822, 0, 917495, -1610612734, 0, 851976, -1073741822, 0, 983031, -1610612734, 0, 917512, -1073741822, 0, 1048567, -1610612734, 0, 983048, -1073741822, 0, 1114103, -1610612734, 0, 1048584, -1073741822, 0, 1179639, -1610612734, 0, 1114120, -1073741822, 0, 1245175, -1610612734, 0, 1179656, -1073741822, 0, 1310711, -1610612734, 0, 1245192, -1073741822, 0, 1376247, -1610612734, 0, 1310728, -1073741822, 0, 1441783, -1610612734, 0, 1376264, -1073741822, 0, 1507319, -1610612734, 0, 1441800, -1073741822, 0, 1572855, -1610612734, 0, 1507336, -1073741822, 0, 1638391, -1610612734, 0, 1572872, -1073741822, 0, 1703927, -1610612734, 0, 1638408, -1073741822, 0, 1769463, -1610612734, 0, 1703944, -1073741822, 0, 1834999, -1610612734, 0, 1769480, -1073741822, 0, 1900535, -1610612734, 0, 1835016, -1073741822, 0, 1966071, -1610612734, 0, 1900552, -1073741822, 0, 2031607, -1610612734, 0, 1966088, -1073741822, 0, 2097143, -1610612734, 0, 2031624, -1073741822, 0, 2162679, -1610612734, 0, 2097160, -1073741822, 0, 2228215, -1610612734, 0, 2162696, -1073741822, 0, 2293751, -1610612734, 0, 2228232, -1073741822, 0, 2359287, -1610612734, 0, 2293768, -1073741822, 0, 2424823, -1610612734, 0, 2359304, -1073741822, 0, 2490359, -1610612734, 0, 2424840, -1073741822, 0, 2555895, -1610612734, 0, 2490376, -1073741822, 0, 2621431, -1610612734, 0, 2555912, -1073741822, 0, 2686967, -1610612734, 0, 2621448, -1073741822, 0, 2752503, -1610612734, 0, 2686984, -1073741822, 0, 2818039, -1610612734, 0, 2752520, -1073741822, 0, 2883575, -1610612734, 0, 2818056, -1073741822, 0, 2949111, -1610612734, 0, 2883592, -1073741822, 0, 3014647, -1610612734, 0, 2949128, -1073741822, 0, 3080183, -1610612734, 0, 3014664, -1073741822, 0, 3145719, -1610612734, 0, 3080200, -1073741822, 0, 3211255, -1610612734, 0, 3145736, -1073741822, 0, 3276791, -1610612734, 0, 3211272, -1073741822, 0, 3342327, -1610612734, 0, 3276808, -1073741822, 0, 3407863, -1610612734, 0, 3342344, -1073741822, 0, 3473399, -1610612734, 0, 3407880, -1073741822, 0, 3538935, -1610612734, 0, 3473416, -1073741822, 0, 3604471, -1610612734, 0, 3538952, -1073741822, 0, 3670007, -1610612734, 0, 3604488, -1073741822, 0, 3735543, -1610612734, 0, 3670024, -1073741822, 0, 3801079, -1610612734, 0, 3735560, -1073741822, 0, 3866615, -1610612734, 0, 3801096, -1073741822, 0, 3932151, -1610612734, 0, 3866632, -1073741822, 0, 3997687, -1610612734, 0, 3932168, -1073741822, 0, 4063223, -1610612734, 0, 3997704, -1073741822, 0, 4128759, -1610612734, 0, 4063240, -1073741822, 0, 4194295, -1610612734, 0, 4128776, -1073741822, 0, 4259831, -1610612734, 0, 4194312, -1073741822, 0, 4325367, -1610612734, 0, 4259848, -1073741822, 0, 4390903, -1610612734, 0, 4325384, -1073741822, 0, 4456439, -1610612734, 0, 4390920, -1073741822, 0, 4521975, -1610612734, 0, 4456456, -1073741822, 0, 4587511, -1610612734, 0, 4521992, -1073741822, 0, 4653047, -1610612734, 0, 4587528, -1073741822, 0, 4718583, -1610612734, 0, 4653064, -1073741822, 0, 4784119, -1610612734, 0, 4718600, -1073741822, 0, 4849655, -1610612734, 0, 4784136, -1073741822, 0, 4915191, -1610612734, 0, 4849672, -1073741822, 0, 4980727, -1610612734, 0, 4915208, -1073741822, 0, 5046263, -1610612734, 0, 4980744, -1073741822, 0, 5111799, -1610612734, 0, 5046280, -1073741822, 0, 5177335, -1610612734, 0, 5111816, -1073741822, 0, 5242871, -1610612734, 0, 5177352, -1073741822, 0, 5308407, -1610612734, 0, 5242888, -1073741822, 0, 5373943, -1610612734, 0, 5308424, -1073741822, 0, 5439479, -1610612734, 0, 5373960, -1073741822, 0, 5505015, -1610612734, 0, 5439496, -1073741822, 0, 5570551, -1610612734, 0, 5505032, -1073741822, 0, 5636087, -1610612734, 0, 5570568, -1073741822, 0, 5701623, -1610612734, 0, 5636104, -1073741822, 0, 5767159, -1610612734, 0, 5701640, -1073741822, 0, 5832695, -1610612734, 0, 5767176, -1073741822, 0, 5898231, -1610612734, 0, 5832712, -1073741822, 0, 5963767, -1610612734, 0, 5898248, -1073741822, 0, 6029303, -1610612734, 0, 5963784, -1073741822, 0, 6094839, -1610612734, 0, 6029320, -1073741822, 0, 6160375, -1610612734, 0, 6094856, -1073741822, 0, 6225911, -1610612734, 0, 6160392, -1073741822, 0, 6291447, -1610612734, 0, 6225928, -1073741822, 0, 6356983, -1610612734, 0, 6291464, -1073741822, 0, 6422519, -1610612734, 0, 6357000, -1073741822, 0, 6488055, -1610612734, 0, 6422536, -1073741822, 0, 6553591, -1610612734, 0, 6488072, -1073741822, 0, 6619127, -1610612734, 0, 6553608, -1073741822, 0, 6684663, -1610612734, 0, 6619144, -1073741822, 0, 6750199, -1610612734, 0, 6684680, -1073741822, 0, 6815735, -1610612734, 0, 6750216, -1073741822, 0, 6881271, -1610612734, 0, 6815752, -1073741822, 0, 6946807, -1610612734, 0, 6881288, -1073741822, 0, 7012343, -1610612734, 0, 6946824, -1073741822, 0, 7077879, -1610612734, 0, 7012360, -1073741822, 0, 7143415, -1610612734, 0, 7077896, -1073741822, 0, 7208951, -1610612734, 0, 7143432, -1073741822, 0, 7274487, -1610612734, 0, 7208968, -1073741822, 0, 7340023, -1610612734, 0, 7274504, -1073741822, 0, 7405559, -1610612734, 0, 7340040, -1073741822, 0, 7471095, -1610612734, 0, 7405576, -1073741822, 0, 7536631, -1610612734, 0, 7471112, -1073741822, 0, 7602167, -1610612734, 0, 7536648, -1073741822, 0, 7667703, -1610612734, 0, 7602184, -1073741822, 0, 7733239, -1610612734, 0, 7667720, -1073741822, 0, 7798775, -1610612734, 0, 7733256, -1073741822, 0, 7864311, -1610612734, 0, 7798792, -1073741822, 0, 7929847, -1610612734, 0, 7864328, -1073741822, 0, 7995383, -1610612734, 0, 7929864, -1073741822, 0, 8060919, -1610612734, 0, 7995400, -1073741822, 0, 8126455, -1610612734, 0, 8060936, -1073741822, 0, 8191991, -1610612734, 0, 8126472, -1073741822, 0, 8257527, -1610612734, 0, 8192008, -1073741822, 0, 8323063, -1610612734, 0, 8257544, -1073741822, 0, 8388599, -1610612734, 0, 8323080, -1073741822, 0, 8454135, -1610612734, 0, 8388616, -1073741822, 0, 8519671, -1610612734, 0, 8454152, -1073741822, 0, 8585207, -1610612734, 0, 8519688, -1073741822, 0, 8650743, -1610612734, 0, 8585224, -1073741822, 0, 8716279, -1610612734, 0, 8650760, -1073741822, 0, 8781815, -1610612734, 0, 8716296, -1073741822, 0, 8847351, -1610612734, 0, 8781832, -1073741822, 0, 8912887, -1610612734, 0, 8847368, -1073741822, 0, 8978423, -1610612734, 0, 8912904, -1073741822, 0, 9043959, -1610612734, 0, 8978440, -1073741822, 0, 9109495, -1610612734, 0, 9043976, -1073741822, 0, 9175031, -1610612734, 0, 9109512, -1073741822, 0, 9240567, -1610612734, 0, 9175048, -1073741822, 0, 9306103, -1610612734, 0, 9240584, -1073741822, 0, 9371639, -1610612734, 0, 9306120, -1073741822, 0, 9437175, -1610612734, 0, 9371656, -1073741822, 0, 9502711, -1610612734, 0, 9437192, -1073741822, 0, 9568247, -1610612734, 0, 9502728, -1073741822, 0, 9633783, -1610612734, 0, 9568264, -1073741822, 0, 9699319, -1610612734, 0, 9633800, -1073741822, 0, 9764855, -1610612734, 0, 9699336, -1073741822, 0, 9830391, -1610612734, 0, 9764872, -1073741822, 0, 9895927, -1610612734, 0, 9830408, -1073741822, 0, 9961463, -1610612734, 0, 9895944, -1073741822, 0, 10026999, -1610612734, 0, 9961480, -1073741822, 0, 10092535, -1610612734, 0, 10027016, -1073741822, 0, 10158071, -1610612734, 0, 10092552, -1073741822, 0, 10223607, -1610612734, 0, 10158088, -1073741822, 0, 10289143, -1610612734, 0, 10223624, -1073741822, 0, 10354679, -1610612734, 0, 10289160, -1073741822, 0, 10420215, -1610612734, 0, 10354696, -1073741822, 0, 10485751, -1610612734, 0, 10420232, -1073741822, 0, 10551287, -1610612734, 0, 10485768, -1073741822, 0, 10616823, -1610612734, 0, 10551304, -1073741822, 0, 10682359, -1610612734, 0, 10616840, -1073741822, 0, 10747895, -1610612734, 0, 10682376, -1073741822, 0, 10813431, -1610612734, 0, 10747912, -1073741822, 0, 10878967, -1610612734, 0, 10813448, -1073741822, 0, 10944503, -1610612734, 0, 10878984, -1073741822, 0, 11010039, -1610612734, 0, 10944520, -1073741822, 0, 11075575, -1610612734, 0, 11010056, -1073741822, 0, 11141111, -1610612734, 0, 11075592, -1073741822, 0, 11206647, -1610612734, 0, 11141128, -1073741822, 0, 11272183, -1610612734, 0, 11206664, -1073741822, 0, 11337719, -1610612734, 0, 11272200, -1073741822, 0, 11403255, -1610612734, 0, 11337736, -1073741822, 0, 11468791, -1610612734, 0, 11403272, -1073741822, 0, 11534327, -1610612734, 0, 11468808, -1073741822, 0, 11599863, -1610612734, 0, 11534344, -1073741822, 0, 11665399, -1610612734, 0, 11599880, -1073741822, 0, 11730935, -1610612734, 0, 11665416, -1073741822, 0, 11796471, -1610612734, 0, 11730952, -1073741822, 0, 11862007, -1610612734, 0, 11796488, -1073741822, 0, 11927543, -1610612734, 0, 11862024, -1073741822, 0, 11993079, -1610612734, 0, 11927560, -1073741822, 0, 12058615, -1610612734, 0, 11993096, -1073741822, 0, 12124151, -1610612734, 0, 12058632, -1073741822, 0, 12189687, -1610612734, 0, 12124168, -1073741822, 0, 12255223, -1610612734, 0, 12189704, -1073741822, 0, 12320759, -1610612734, 0, 12255240, -1073741822, 0, 12386295, -1610612734, 0, 12320776, -1073741822, 0, 12451831, -1610612734, 0, 12386312, -1073741822, 0, 12517367, -1610612734, 0, 12451848, -1073741822, 0, 12582903, -1610612734, 0, 12517384, -1073741822, 0, 12648439, -1610612734, 0, 12582920, -1073741822, 0, 12713975, -1610612734, 0, 12648456, -1073741822, 0, 12779511, -1610612734, 0, 12713992, -1073741822, 0, 12845047, -1610612734, 0, 12779528, -1073741822, 0, 12910583, -1610612734, 0, 12845064, -1073741822, 0, 12976119, -1610612734, 0, 12910600, -1073741822, 0, 13041655, -1610612734, 0, 12976136, -1073741822, 0, 13107191, -1610612734, 0, 13041672, -1073741822, 0, 13172727, -1610612734, 0, 13107208, -1073741822, 0, 13238263, -1610612734, 0, 13172744, -1073741822, 0, 13303799, -1610612734, 0, 13238280, -1073741822, 0, 13369335, -1610612734, 0, 13303816, -1073741822, 0, 13434871, -1610612734, 0, 13369352, -1073741822, 0, 13500407, -1610612734, 0, 13434888, -1073741822, 0, 13565943, -1610612734, 0, 13500424, -1073741822, 0, 13631479, -1610612734, 0, 13565960, -1073741822, 0, 13697015, -1610612734, 0, 13631496, -1073741822, 0, 13762551, -1610612734, 0, 13697032, -1073741822, 0, 13828087, -1610612734, 0, 13762568, -1073741822, 0, 13893623, -1610612734, 0, 13828104, -1073741822, 0, 13959159, -1610612734, 0, 13893640, -1073741822, 0, 14024695, -1610612734, 0, 13959176, -1073741822, 0, 14090231, -1610612734, 0, 14024712, -1073741822, 0, 14155767, -1610612734, 0, 14090248, -1073741822, 0, 14221303, -1610612734, 0, 14155784, -1073741822, 0, 14286839, -1610612734, 0, 14221320, -1073741822, 0, 14352375, -1610612734, 0, 14286856, -1073741822, 0, 14417911, -1610612734, 0, 14352392, -1073741822, 0, 14483447, -1610612734, 0, 14417928, -1073741822, 0, 14548983, -1610612734, 0, 14483464, -1073741822, 0, 14614519, -1610612734, 0, 14549000, -1073741822, 0, 14680055, -1610612734, 0, 14614536, -1073741822, 0, 14745591, -1610612734, 0, 14680072, -1073741822, 0, 14811127, -1610612734, 0, 14745608, -1073741822, 0, 14876663, -1610612734, 0, 14811144, -1073741822, 0, 14942199, -1610612734, 0, 14876680, -1073741822, 0, 15007735, -1610612734, 0, 14942216, -1073741822, 0, 15073271, -1610612734, 0, 15007752, -1073741822, 0, 15138807, -1610612734, 0, 15073288, -1073741822, 0, 15204343, -1610612734, 0, 15138824, -1073741822, 0, 15269879, -1610612734, 0, 15204360, -1073741822, 0, 15335415, -1610612734, 0, 15269896, -1073741822, 0, 15400951, -1610612734, 0, 15335432, -1073741822, 0, 15466487, -1610612734, 0, 15400968, -1073741822, 0, 15532023, -1610612734, 0, 15466504, -1073741822, 0, 15597559, -1610612734, 0, 15532040, -1073741822, 0, 15663095, -1610612734, 0, 15597576, -1073741822, 0, 15728631, -1610612734, 0, 15663112, -1073741822, 0, 15794167, -1610612734, 0, 15728648, -1073741822, 0, 15859703, -1610612734, 0, 15794184, -1073741822, 0, 15925239, -1610612734, 0, 15859720, -1073741822, 0, 15990775, -1610612734, 0, 15925256, -1073741822, 0, 16056311, -1610612734, 0, 15990792, -1073741822, 0, 16121847, -1610612734, 0, 16056328, -1073741822, 0, 16187383, -1610612734, 0, 16121864, -1073741822, 0, 16252919, -1610612734, 0, 16187400, -1073741822, 0, 16318455, -1610612734, 0, 16252936, -1073741822, 0, 16383991, -1610612734, 0, 16318472, -1073741822, 0, 16449527, -1610612734, 0, 16384008, -1073741822, 0, 16515063, -1610612734, 0, 16449544, -1073741822, 0, 16580599, -1610612734, 0, 16515080, -1073741822, 0, 16646135, -1610612734, 0, 16580616, -1073741822, 0, 16711671, -1610612734, 0, 16646152, -1073741822, 0, 16777207, -1610612734, 0, 16711688, -1073741822, 0, 16842743, -1610612734, 0, 16777224, -1073741822, 0, 16908279, -1610612734, 0, 16842760, -1073741822, 0, 16973815, -1610612734, 0, 16908296, -1073741822, 0, 17039351, -1610612734, 0, 16973832, -1073741822, 0, 17104887, -1610612734, 0, 17039368, -1073741822, 0, 17170423, -1610612734, 0, 17104904, -1073741822, 0, 17235959, -1610612734, 0, 17170440, -1073741822, 0, 17301495, -1610612734, 0, 17235976, -1073741822, 0, 17367031, -1610612734, 0, 17301512, -1073741822, 0, 17432567, -1610612734, 0, 17367048, -1073741822, 0, 17498103, -1610612734, 0, 17432584, -1073741822, 0, 17563639, -1610612734, 0, 17498120, -1073741822, 0, 17629175, -1610612734, 0, 17563656, -1073741822, 0, 17694711, -1610612734, 0, 17629192, -1073741822, 0, 17760247, -1610612734, 0, 17694728, -1073741822, 0, 17825783, -1610612734, 0, 17760264, -1073741822, 0, 17891319, -1610612734, 0, 17825800, -1073741822, 0, 17956855, -1610612734, 0, 17891336, -1073741822, 0, 18022391, -1610612734, 0, 17956872, -1073741822, 0, 18087927, -1610612734, 0, 18022408, -1073741822, 0, 18153463, -1610612734, 0, 18087944, -1073741822, 0, 18218999, -1610612734, 0, 18153480, -1073741822, 0, 18284535, -1610612734, 0, 18219016, -1073741822, 0, 18350071, -1610612734, 0, 18284552, -1073741822, 0, 18415607, -1610612734, 0, 18350088, -1073741822, 0, 18481143, -1610612734, 0, 18415624, -1073741822, 0, 18546679, -1610612734, 0, 18481160, -1073741822, 0, 18612215, -1610612734, 0, 18546696, -1073741822, 0, 18677751, -1610612734, 0, 18612232, -1073741822, 0, 18743287, -1610612734, 0, 18677768, -1073741822, 0, 18808823, -1610612734, 0, 18743304, -1073741822, 0, 18874359, -1610612734, 0, 18808840, -1073741822, 0, 18939895, -1610612734, 0, 18874376, -1073741822, 0, 19005431, -1610612734, 0, 18939912, -1073741822, 0, 19070967, -1610612734, 0, 19005448, -1073741822, 0, 19136503, -1610612734, 0, 19070984, -1073741822, 0, 19202039, -1610612734, 0, 19136520, -1073741822, 0, 19267575, -1610612734, 0, 19202056, -1073741822, 0, 19333111, -1610612734, 0, 19267592, -1073741822, 0, 19398647, -1610612734, 0, 19333128, -1073741822, 0, 19464183, -1610612734, 0, 19398664, -1073741822, 0, 19529719, -1610612734, 0, 19464200, -1073741822, 0, 19595255, -1610612734, 0, 19529736, -1073741822, 0, 19660791, -1610612734, 0, 19595272, -1073741822, 0, 19726327, -1610612734, 0, 19660808, -1073741822, 0, 19791863, -1610612734, 0, 19726344, -1073741822, 0, 19857399, -1610612734, 0, 19791880, -1073741822, 0, 19922935, -1610612734, 0, 19857416, -1073741822, 0, 19988471, -1610612734, 0, 19922952, -1073741822, 0, 20054007, -1610612734, 0, 19988488, -1073741822, 0, 20119543, -1610612734, 0, 20054024, -1073741822, 0, 20185079, -1610612734, 0, 20119560, -1073741822, 0, 20250615, -1610612734, 0, 20185096, -1073741822, 0, 20316151, -1610612734, 0, 20250632, -1073741822, 0, 20381687, -1610612734, 0, 20316168, -1073741822, 0, 20447223, -1610612734, 0, 20381704, -1073741822, 0, 20512759, -1610612734, 0, 20447240, -1073741822, 0, 20578295, -1610612734, 0, 20512776, -1073741822, 0, 20643831, -1610612734, 0, 20578312, -1073741822, 0, 20709367, -1610612734, 0, 20643848, -1073741822, 0, 20774903, -1610612734, 0, 20709384, -1073741822, 0, 20840439, -1610612734, 0, 20774920, -1073741822, 0, 20905975, -1610612734, 0, 20840456, -1073741822, 0, 20971511, -1610612734, 0, 20905992, -1073741822, 0, 21037047, -1610612734, 0, 20971528, -1073741822, 0, 21102583, -1610612734, 0, 21037064, -1073741822, 0, 21168119, -1610612734, 0, 21102600, -1073741822, 0, 21233655, -1610612734, 0, 21168136, -1073741822, 0, 21299191, -1610612734, 0, 21233672, -1073741822, 0, 21364727, -1610612734, 0, 21299208, -1073741822, 0, 21430263, -1610612734, 0, 21364744, -1073741822, 0, 21495799, -1610612734, 0, 21430280, -1073741822, 0, 21561335, -1610612734, 0, 21495816, -1073741822, 0, 21626871, -1610612734, 0, 21561352, -1073741822, 0, 21692407, -1610612734, 0, 21626888, -1073741822, 0, 21757943, -1610612734, 0, 21692424, -1073741822, 0, 21823479, -1610612734, 0, 21757960, -1073741822, 0, 21889015, -1610612734, 0, 21823496, -1073741822, 0, 21954551, -1610612734, 0, 21889032, -1073741822, 0, 22020087, -1610612734, 0, 21954568, -1073741822, 0, 22085623, -1610612734, 0, 22020104, -1073741822, 0, 22151159, -1610612734, 0, 22085640, -1073741822, 0, 22216695, -1610612734, 0, 22151176, -1073741822, 0, 22282231, -1610612734, 0, 22216712, -1073741822, 0, 22347767, -1610612734, 0, 22282248, -1073741822, 0, 22413303, -1610612734, 0, 22347784, -1073741822, 0, 22478839, -1610612734, 0, 22413320, -1073741822, 0, 22544375, -1610612734, 0, 22478856, -1073741822, 0, 22609911, -1610612734, 0, 22544392, -1073741822, 0, 22675447, -1610612734, 0, 22609928, -1073741822, 0, 22740983, -1610612734, 0, 22675464, -1073741822, 0, 22806519, -1610612734, 0, 22741000, -1073741822, 0, 22872055, -1610612734, 0, 22806536, -1073741822, 0, 22937591, -1610612734, 0, 22872072, -1073741822, 0, 23003127, -1610612734, 0, 22937608, -1073741822, 0, 23068663, -1610612734, 0, 23003144, -1073741822, 0, 23134199, -1610612734, 0, 23068680, -1073741822, 0, 23199735, -1610612734, 0, 23134216, -1073741822, 0, 23265271, -1610612734, 0, 23199752, -1073741822, 0, 23330807, -1610612734, 0, 23265288, -1073741822, 0, 23396343, -1610612734, 0, 23330824, -1073741822, 0, 23461879, -1610612734, 0, 23396360, -1073741822, 0, 23527415, -1610612734, 0, 23461896, -1073741822, 0, 23592951, -1610612734, 0, 23527432, -1073741822, 0, 23658487, -1610612734, 0, 23592968, -1073741822, 0, 23724023, -1610612734, 0, 23658504, -1073741822, 0, 23789559, -1610612734, 0, 23724040, -1073741822, 0, 23855095, -1610612734, 0, 23789576, -1073741822, 0, 23920631, -1610612734, 0, 23855112, -1073741822, 0, 23986167, -1610612734, 0, 23920648, -1073741822, 0, 24051703, -1610612734, 0, 23986184, -1073741822, 0, 24117239, -1610612734, 0, 24051720, -1073741822, 0, 24182775, -1610612734, 0, 24117256, -1073741822, 0, 24248311, -1610612734, 0, 24182792, -1073741822, 0, 24313847, -1610612734, 0, 24248328, -1073741822, 0, 24379383, -1610612734, 0, 24313864, -1073741822, 0, 24444919, -1610612734, 0, 24379400, -1073741822, 0, 24510455, -1610612734, 0, 24444936, -1073741822, 0, 24575991, -1610612734, 0, 24510472, -1073741822, 0, 24641527, -1610612734, 0, 24576008, -1073741822, 0, 24707063, -1610612734, 0, 24641544, -1073741822, 0, 24772599, -1610612734, 0, 24707080, -1073741822, 0, 24838135, -1610612734, 0, 24772616, -1073741822, 0, 24903671, -1610612734, 0, 24838152, -1073741822, 0, 24969207, -1610612734, 0, 24903688, -1073741822, 0, 25034743, -1610612734, 0, 24969224, -1073741822, 0, 25100279, -1610612734, 0, 25034760, -1073741822, 0, 25165815, -1610612734, 0, 25100296, -1073741822, 0, 25231351, -1610612734, 0, 25165832, -1073741822, 0, 25296887, -1610612734, 0, 25231368, -1073741822, 0, 25362423, -1610612734, 0, 25296904, -1073741822, 0, 25427959, -1610612734, 0, 25362440, -1073741822, 0, 25493495, -1610612734, 0, 25427976, -1073741822, 0, 25559031, -1610612734, 0, 25493512, -1073741822, 0, 25624567, -1610612734, 0, 25559048, -1073741822, 0, 25690103, -1610612734, 0, 25624584, -1073741822, 0, 25755639, -1610612734, 0, 25690120, -1073741822, 0, 25821175, -1610612734, 0, 25755656, -1073741822, 0, 25886711, -1610612734, 0, 25821192, -1073741822, 0, 25952247, -1610612734, 0, 25886728, -1073741822, 0, 26017783, -1610612734, 0, 25952264, -1073741822, 0, 26083319, -1610612734, 0, 26017800, -1073741822, 0, 26148855, -1610612734, 0, 26083336, -1073741822, 0, 26214391, -1610612734, 0, 26148872, -1073741822, 0, 26279927, -1610612734, 0, 26214408, -1073741822, 0, 26345463, -1610612734, 0, 26279944, -1073741822, 0, 26410999, -1610612734, 0, 26345480, -1073741822, 0, 26476535, -1610612734, 0, 26411016, -1073741822, 0, 26542071, -1610612734, 0, 26476552, -1073741822, 0, 26607607, -1610612734, 0, 26542088, -1073741822, 0, 26673144, 2, 0, 26673145, 2, 0, 26673146, 2, 0, 26673147, 2, 0, 26673148, 2, 0, 26673149, 2, 0, 26673150, 2, 0, 26673151, 2, 0, 26607616, 2, 0, 26607617, 2, 0, 26607618, 2, 0, 26607619, 2, 0, 26607620, 2, 0, 26607621, 2, 0, 26607622, 2, 0, 26607623, 2, 0 ) +tile_data = PoolIntArray( -786440, 1610612738, 0, -786439, 1610612738, 0, -786438, 1610612738, 0, -786437, 1610612738, 0, -786436, 1610612738, 0, -786435, 1610612738, 0, -786434, 1610612738, 0, -786433, 1610612738, 0, -851968, 1610612738, 0, -851967, 1610612738, 0, -851966, 1610612738, 0, -851965, 1610612738, 0, -851964, 1610612738, 0, -851963, 1610612738, 0, -851962, 1610612738, 0, -851961, 1610612738, 0, -720905, -1610612734, 0, -786424, -1073741822, 0, -655369, -1610612734, 0, -720888, -1073741822, 0, -589833, -1610612734, 0, -655352, -1073741822, 0, -524297, -1610612734, 0, -589816, -1073741822, 0, -458761, -1610612734, 0, -524280, -1073741822, 0, -393225, -1610612734, 0, -458744, -1073741822, 0, -327689, -1610612734, 0, -393208, -1073741822, 0, -262153, -1610612734, 0, -327672, -1073741822, 0, -196617, -1610612734, 0, -262136, -1073741822, 0, -131081, -1610612734, 0, -196600, -1073741822, 0, -65545, -1610612734, 0, -131064, -1073741822, 0, -9, -1610612734, 0, -65528, -1073741822, 0, 65527, -1610612734, 0, 8, -1073741822, 0, 131063, -1610612734, 0, 65544, -1073741822, 0, 196599, -1610612734, 0, 131080, -1073741822, 0, 262135, -1610612734, 0, 196616, -1073741822, 0, 327671, -1610612734, 0, 262152, -1073741822, 0, 393207, -1610612734, 0, 327688, -1073741822, 0, 458743, -1610612734, 0, 393224, -1073741822, 0, 524279, -1610612734, 0, 458760, -1073741822, 0, 589815, -1610612734, 0, 524296, -1073741822, 0, 655351, -1610612734, 0, 589832, -1073741822, 0, 720887, -1610612734, 0, 655368, -1073741822, 0, 786423, -1610612734, 0, 720904, -1073741822, 0, 851959, -1610612734, 0, 786440, -1073741822, 0, 917495, -1610612734, 0, 851976, -1073741822, 0, 983031, -1610612734, 0, 917512, -1073741822, 0, 1048567, -1610612734, 0, 983048, -1073741822, 0, 1114103, -1610612734, 0, 1048584, -1073741822, 0, 1179639, -1610612734, 0, 1114120, -1073741822, 0, 1245175, -1610612734, 0, 1179656, -1073741822, 0, 1310711, -1610612734, 0, 1245192, -1073741822, 0, 1376247, -1610612734, 0, 1310728, -1073741822, 0, 1441783, -1610612734, 0, 1376264, -1073741822, 0, 1507319, -1610612734, 0, 1441800, -1073741822, 0, 1572855, -1610612734, 0, 1507336, -1073741822, 0, 1638391, -1610612734, 0, 1572872, -1073741822, 0, 1703927, -1610612734, 0, 1638408, -1073741822, 0, 1769463, -1610612734, 0, 1703944, -1073741822, 0, 1834999, -1610612734, 0, 1769480, -1073741822, 0, 1900535, -1610612734, 0, 1835016, -1073741822, 0, 1966071, -1610612734, 0, 1900552, -1073741822, 0, 2031607, -1610612734, 0, 1966088, -1073741822, 0, 2097143, -1610612734, 0, 2031624, -1073741822, 0, 2162679, -1610612734, 0, 2097160, -1073741822, 0, 2228215, -1610612734, 0, 2162696, -1073741822, 0, 2293751, -1610612734, 0, 2228232, -1073741822, 0, 2359287, -1610612734, 0, 2293768, -1073741822, 0, 2424823, -1610612734, 0, 2359304, -1073741822, 0, 2490359, -1610612734, 0, 2424840, -1073741822, 0, 2555895, -1610612734, 0, 2490376, -1073741822, 0, 2621431, -1610612734, 0, 2555912, -1073741822, 0, 2686967, -1610612734, 0, 2621448, -1073741822, 0, 2752503, -1610612734, 0, 2686984, -1073741822, 0, 2818039, -1610612734, 0, 2752520, -1073741822, 0, 2883575, -1610612734, 0, 2818056, -1073741822, 0, 2949111, -1610612734, 0, 2883592, -1073741822, 0, 3014647, -1610612734, 0, 2949128, -1073741822, 0, 3080183, -1610612734, 0, 3014664, -1073741822, 0, 3145719, -1610612734, 0, 3080200, -1073741822, 0, 3211255, -1610612734, 0, 3145736, -1073741822, 0, 3276791, -1610612734, 0, 3211272, -1073741822, 0, 3342327, -1610612734, 0, 3276808, -1073741822, 0, 3407863, -1610612734, 0, 3342344, -1073741822, 0, 3473399, -1610612734, 0, 3407880, -1073741822, 0, 3538935, -1610612734, 0, 3473416, -1073741822, 0, 3604471, -1610612734, 0, 3538952, -1073741822, 0, 3670007, -1610612734, 0, 3604488, -1073741822, 0, 3735543, -1610612734, 0, 3670024, -1073741822, 0, 3801079, -1610612734, 0, 3735560, -1073741822, 0, 3866615, -1610612734, 0, 3801096, -1073741822, 0, 3932151, -1610612734, 0, 3866632, -1073741822, 0, 3997687, -1610612734, 0, 3932168, -1073741822, 0, 4063223, -1610612734, 0, 3997704, -1073741822, 0, 4128759, -1610612734, 0, 4063240, -1073741822, 0, 4194295, -1610612734, 0, 4128776, -1073741822, 0, 4259831, -1610612734, 0, 4194312, -1073741822, 0, 4325367, -1610612734, 0, 4259848, -1073741822, 0, 4390903, -1610612734, 0, 4325384, -1073741822, 0, 4456439, -1610612734, 0, 4390920, -1073741822, 0, 4521975, -1610612734, 0, 4456456, -1073741822, 0, 4587511, -1610612734, 0, 4521992, -1073741822, 0, 4653047, -1610612734, 0, 4587528, -1073741822, 0, 4718583, -1610612734, 0, 4653064, -1073741822, 0, 4784119, -1610612734, 0, 4718600, -1073741822, 0, 4849655, -1610612734, 0, 4784136, -1073741822, 0, 4915191, -1610612734, 0, 4849672, -1073741822, 0, 4980727, -1610612734, 0, 4915208, -1073741822, 0, 5046263, -1610612734, 0, 4980744, -1073741822, 0, 5111799, -1610612734, 0, 5046280, -1073741822, 0, 5177335, -1610612734, 0, 5111816, -1073741822, 0, 5242871, -1610612734, 0, 5177352, -1073741822, 0, 5308407, -1610612734, 0, 5242888, -1073741822, 0, 5373943, -1610612734, 0, 5308424, -1073741822, 0, 5439479, -1610612734, 0, 5373960, -1073741822, 0, 5505015, -1610612734, 0, 5439496, -1073741822, 0, 5570551, -1610612734, 0, 5505032, -1073741822, 0, 5636087, -1610612734, 0, 5570568, -1073741822, 0, 5701623, -1610612734, 0, 5636104, -1073741822, 0, 5767159, -1610612734, 0, 5701640, -1073741822, 0, 5832695, -1610612734, 0, 5767176, -1073741822, 0, 5898231, -1610612734, 0, 5832712, -1073741822, 0, 5963767, -1610612734, 0, 5898248, -1073741822, 0, 6029303, -1610612734, 0, 5963784, -1073741822, 0, 6094839, -1610612734, 0, 6029320, -1073741822, 0, 6160375, -1610612734, 0, 6094856, -1073741822, 0, 6225911, -1610612734, 0, 6160392, -1073741822, 0, 6291447, -1610612734, 0, 6225928, -1073741822, 0, 6356983, -1610612734, 0, 6291464, -1073741822, 0, 6422519, -1610612734, 0, 6357000, -1073741822, 0, 6488055, -1610612734, 0, 6422536, -1073741822, 0, 6553591, -1610612734, 0, 6488072, -1073741822, 0, 6619127, -1610612734, 0, 6553608, -1073741822, 0, 6684663, -1610612734, 0, 6619144, -1073741822, 0, 6750199, -1610612734, 0, 6684680, -1073741822, 0, 6815735, -1610612734, 0, 6750216, -1073741822, 0, 6881271, -1610612734, 0, 6815752, -1073741822, 0, 6946807, -1610612734, 0, 6881288, -1073741822, 0, 7012343, -1610612734, 0, 6946824, -1073741822, 0, 7077879, -1610612734, 0, 7012360, -1073741822, 0, 7143415, -1610612734, 0, 7077896, -1073741822, 0, 7208951, -1610612734, 0, 7143432, -1073741822, 0, 7274487, -1610612734, 0, 7208968, -1073741822, 0, 7340023, -1610612734, 0, 7274504, -1073741822, 0, 7405559, -1610612734, 0, 7340040, -1073741822, 0, 7471095, -1610612734, 0, 7405576, -1073741822, 0, 7536631, -1610612734, 0, 7471112, -1073741822, 0, 7602167, -1610612734, 0, 7536648, -1073741822, 0, 7667703, -1610612734, 0, 7602184, -1073741822, 0, 7733239, -1610612734, 0, 7667720, -1073741822, 0, 7798775, -1610612734, 0, 7733256, -1073741822, 0, 7864311, -1610612734, 0, 7798792, -1073741822, 0, 7929847, -1610612734, 0, 7864328, -1073741822, 0, 7995383, -1610612734, 0, 7929864, -1073741822, 0, 8060919, -1610612734, 0, 7995400, -1073741822, 0, 8126455, -1610612734, 0, 8060936, -1073741822, 0, 8191991, -1610612734, 0, 8126472, -1073741822, 0, 8257527, -1610612734, 0, 8192008, -1073741822, 0, 8323063, -1610612734, 0, 8257544, -1073741822, 0, 8388599, -1610612734, 0, 8323080, -1073741822, 0, 8454135, -1610612734, 0, 8388616, -1073741822, 0, 8519671, -1610612734, 0, 8454152, -1073741822, 0, 8585207, -1610612734, 0, 8519688, -1073741822, 0, 8650743, -1610612734, 0, 8585224, -1073741822, 0, 8716279, -1610612734, 0, 8650760, -1073741822, 0, 8781815, -1610612734, 0, 8716296, -1073741822, 0, 8847351, -1610612734, 0, 8781832, -1073741822, 0, 8912887, -1610612734, 0, 8847368, -1073741822, 0, 8978423, -1610612734, 0, 8912904, -1073741822, 0, 9043959, -1610612734, 0, 8978440, -1073741822, 0, 9109495, -1610612734, 0, 9043976, -1073741822, 0, 9175031, -1610612734, 0, 9109512, -1073741822, 0, 9240567, -1610612734, 0, 9175048, -1073741822, 0, 9306103, -1610612734, 0, 9240584, -1073741822, 0, 9371639, -1610612734, 0, 9306120, -1073741822, 0, 9437175, -1610612734, 0, 9371656, -1073741822, 0, 9502711, -1610612734, 0, 9437192, -1073741822, 0, 9568247, -1610612734, 0, 9502728, -1073741822, 0, 9633783, -1610612734, 0, 9568264, -1073741822, 0, 9699319, -1610612734, 0, 9633800, -1073741822, 0, 9764855, -1610612734, 0, 9699336, -1073741822, 0, 9830391, -1610612734, 0, 9764872, -1073741822, 0, 9895927, -1610612734, 0, 9830408, -1073741822, 0, 9961463, -1610612734, 0, 9895944, -1073741822, 0, 10026999, -1610612734, 0, 9961480, -1073741822, 0, 10092535, -1610612734, 0, 10027016, -1073741822, 0, 10158071, -1610612734, 0, 10092552, -1073741822, 0, 10223607, -1610612734, 0, 10158088, -1073741822, 0, 10289143, -1610612734, 0, 10223624, -1073741822, 0, 10354679, -1610612734, 0, 10289160, -1073741822, 0, 10420215, -1610612734, 0, 10354696, -1073741822, 0, 10485751, -1610612734, 0, 10420232, -1073741822, 0, 10551287, -1610612734, 0, 10485768, -1073741822, 0, 10616823, -1610612734, 0, 10551304, -1073741822, 0, 10682359, -1610612734, 0, 10616840, -1073741822, 0, 10747895, -1610612734, 0, 10682376, -1073741822, 0, 10813431, -1610612734, 0, 10747912, -1073741822, 0, 10878967, -1610612734, 0, 10813448, -1073741822, 0, 10944503, -1610612734, 0, 10878984, -1073741822, 0, 11010039, -1610612734, 0, 10944520, -1073741822, 0, 11075575, -1610612734, 0, 11010056, -1073741822, 0, 11141111, -1610612734, 0, 11075592, -1073741822, 0, 11206647, -1610612734, 0, 11141128, -1073741822, 0, 11272183, -1610612734, 0, 11206664, -1073741822, 0, 11337719, -1610612734, 0, 11272200, -1073741822, 0, 11403255, -1610612734, 0, 11337736, -1073741822, 0, 11468791, -1610612734, 0, 11403272, -1073741822, 0, 11534327, -1610612734, 0, 11468808, -1073741822, 0, 11599863, -1610612734, 0, 11534344, -1073741822, 0, 11665399, -1610612734, 0, 11599880, -1073741822, 0, 11730935, -1610612734, 0, 11665416, -1073741822, 0, 11796471, -1610612734, 0, 11730952, -1073741822, 0, 11862007, -1610612734, 0, 11796488, -1073741822, 0, 11927543, -1610612734, 0, 11862024, -1073741822, 0, 11993079, -1610612734, 0, 11927560, -1073741822, 0, 12058615, -1610612734, 0, 11993096, -1073741822, 0, 12124151, -1610612734, 0, 12058632, -1073741822, 0, 12189687, -1610612734, 0, 12124168, -1073741822, 0, 12255223, -1610612734, 0, 12189704, -1073741822, 0, 12320759, -1610612734, 0, 12255240, -1073741822, 0, 12386295, -1610612734, 0, 12320776, -1073741822, 0, 12451831, -1610612734, 0, 12386312, -1073741822, 0, 12517367, -1610612734, 0, 12451848, -1073741822, 0, 12582903, -1610612734, 0, 12517384, -1073741822, 0, 12648439, -1610612734, 0, 12582920, -1073741822, 0, 12713975, -1610612734, 0, 12648456, -1073741822, 0, 12779511, -1610612734, 0, 12713992, -1073741822, 0, 12845047, -1610612734, 0, 12779528, -1073741822, 0, 12910583, -1610612734, 0, 12845064, -1073741822, 0, 12976119, -1610612734, 0, 12910600, -1073741822, 0, 13041655, -1610612734, 0, 12976136, -1073741822, 0, 13107191, -1610612734, 0, 13041672, -1073741822, 0, 13172727, -1610612734, 0, 13107208, -1073741822, 0, 13238263, -1610612734, 0, 13172744, -1073741822, 0, 13303799, -1610612734, 0, 13238280, -1073741822, 0, 13369335, -1610612734, 0, 13303816, -1073741822, 0, 13434871, -1610612734, 0, 13369352, -1073741822, 0, 13500407, -1610612734, 0, 13434888, -1073741822, 0, 13565943, -1610612734, 0, 13500424, -1073741822, 0, 13631479, -1610612734, 0, 13565960, -1073741822, 0, 13697015, -1610612734, 0, 13631496, -1073741822, 0, 13762551, -1610612734, 0, 13697032, -1073741822, 0, 13828087, -1610612734, 0, 13762568, -1073741822, 0, 13893623, -1610612734, 0, 13828104, -1073741822, 0, 13959159, -1610612734, 0, 13893640, -1073741822, 0, 14024695, -1610612734, 0, 13959176, -1073741822, 0, 14090231, -1610612734, 0, 14024712, -1073741822, 0, 14155767, -1610612734, 0, 14090248, -1073741822, 0, 14221303, -1610612734, 0, 14155784, -1073741822, 0, 14286839, -1610612734, 0, 14221320, -1073741822, 0, 14352375, -1610612734, 0, 14286856, -1073741822, 0, 14417911, -1610612734, 0, 14352392, -1073741822, 0, 14483447, -1610612734, 0, 14417928, -1073741822, 0, 14548983, -1610612734, 0, 14483464, -1073741822, 0, 14614519, -1610612734, 0, 14549000, -1073741822, 0, 14680055, -1610612734, 0, 14614536, -1073741822, 0, 14745591, -1610612734, 0, 14680072, -1073741822, 0, 14811127, -1610612734, 0, 14745608, -1073741822, 0, 14876663, -1610612734, 0, 14811144, -1073741822, 0, 14942199, -1610612734, 0, 14876680, -1073741822, 0, 15007735, -1610612734, 0, 14942216, -1073741822, 0, 15073271, -1610612734, 0, 15007752, -1073741822, 0, 15138807, -1610612734, 0, 15073288, -1073741822, 0, 15204343, -1610612734, 0, 15138824, -1073741822, 0, 15269879, -1610612734, 0, 15204360, -1073741822, 0, 15335415, -1610612734, 0, 15269896, -1073741822, 0, 15400951, -1610612734, 0, 15335432, -1073741822, 0, 15466487, -1610612734, 0, 15400968, -1073741822, 0, 15532023, -1610612734, 0, 15466504, -1073741822, 0, 15597559, -1610612734, 0, 15532040, -1073741822, 0, 15663095, -1610612734, 0, 15597576, -1073741822, 0, 15728631, -1610612734, 0, 15663112, -1073741822, 0, 15794167, -1610612734, 0, 15728648, -1073741822, 0, 15859703, -1610612734, 0, 15794184, -1073741822, 0, 15925239, -1610612734, 0, 15859720, -1073741822, 0, 15990775, -1610612734, 0, 15925256, -1073741822, 0, 16056311, -1610612734, 0, 15990792, -1073741822, 0, 16121847, -1610612734, 0, 16056328, -1073741822, 0, 16187383, -1610612734, 0, 16121864, -1073741822, 0, 16252919, -1610612734, 0, 16187400, -1073741822, 0, 16318455, -1610612734, 0, 16252936, -1073741822, 0, 16383991, -1610612734, 0, 16318472, -1073741822, 0, 16449527, -1610612734, 0, 16384008, -1073741822, 0, 16515063, -1610612734, 0, 16449544, -1073741822, 0, 16580599, -1610612734, 0, 16515080, -1073741822, 0, 16646135, -1610612734, 0, 16580616, -1073741822, 0, 16711671, -1610612734, 0, 16646152, -1073741822, 0, 16777207, -1610612734, 0, 16711688, -1073741822, 0, 16842743, -1610612734, 0, 16777224, -1073741822, 0, 16908279, -1610612734, 0, 16842760, -1073741822, 0, 16973815, -1610612734, 0, 16908296, -1073741822, 0, 17039351, -1610612734, 0, 16973832, -1073741822, 0, 17104887, -1610612734, 0, 17039368, -1073741822, 0, 17170423, -1610612734, 0, 17104904, -1073741822, 0, 17235959, -1610612734, 0, 17170440, -1073741822, 0, 17301495, -1610612734, 0, 17235976, -1073741822, 0, 17367031, -1610612734, 0, 17301512, -1073741822, 0, 17432567, -1610612734, 0, 17367048, -1073741822, 0, 17498103, -1610612734, 0, 17432584, -1073741822, 0, 17563639, -1610612734, 0, 17498120, -1073741822, 0, 17629175, -1610612734, 0, 17563656, -1073741822, 0, 17694711, -1610612734, 0, 17629192, -1073741822, 0, 17760247, -1610612734, 0, 17694728, -1073741822, 0, 17825783, -1610612734, 0, 17760264, -1073741822, 0, 17891319, -1610612734, 0, 17825800, -1073741822, 0, 17956855, -1610612734, 0, 17891336, -1073741822, 0, 18022391, -1610612734, 0, 17956872, -1073741822, 0, 18087927, -1610612734, 0, 18022408, -1073741822, 0, 18153463, -1610612734, 0, 18087944, -1073741822, 0, 18218999, -1610612734, 0, 18153480, -1073741822, 0, 18284535, -1610612734, 0, 18219016, -1073741822, 0, 18350071, -1610612734, 0, 18284552, -1073741822, 0, 18415607, -1610612734, 0, 18350088, -1073741822, 0, 18481143, -1610612734, 0, 18415624, -1073741822, 0, 18546679, -1610612734, 0, 18481160, -1073741822, 0, 18612215, -1610612734, 0, 18546696, -1073741822, 0, 18677751, -1610612734, 0, 18612232, -1073741822, 0, 18743287, -1610612734, 0, 18677768, -1073741822, 0, 18808823, -1610612734, 0, 18743304, -1073741822, 0, 18874359, -1610612734, 0, 18808840, -1073741822, 0, 18939895, -1610612734, 0, 18874376, -1073741822, 0, 19005431, -1610612734, 0, 18939912, -1073741822, 0, 19070967, -1610612734, 0, 19070968, 2, 0, 19070969, 2, 0, 19070970, 2, 0, 19070971, 2, 0, 19005448, -1073741822, 0, 19136503, -1610612734, 0, 19136507, 2, 0, 19136508, 2, 0, 19136509, 2, 0, 19136510, 2, 0, 19136511, 2, 0, 19070977, 2, 0, 19070978, 2, 0, 19070979, 2, 0, 19070980, 2, 0, 19070981, 2, 0, 19070982, 2, 0, 19070983, 2, 0, 19070984, -1073741822, 0, 19202039, -1610612734, 0, 19136520, -1073741822, 0, 19267575, -1610612734, 0, 19202056, -1073741822, 0, 19333111, -1610612734, 0, 19267592, -1073741822, 0, 19398647, -1610612734, 0, 19333128, -1073741822, 0, 19464183, -1610612734, 0, 19398664, -1073741822, 0, 19529719, -1610612734, 0, 19464200, -1073741822, 0, 19595255, -1610612734, 0, 19529736, -1073741822, 0, 19660791, -1610612734, 0, 19595272, -1073741822, 0, 19726327, -1610612734, 0, 19660808, -1073741822, 0, 19791863, -1610612734, 0, 19726344, -1073741822, 0, 19857399, -1610612734, 0, 19791880, -1073741822, 0, 19922935, -1610612734, 0, 19857416, -1073741822, 0, 19988471, -1610612734, 0, 19922952, -1073741822, 0, 20054007, -1610612734, 0, 19988488, -1073741822, 0, 20119543, -1610612734, 0, 20054024, -1073741822, 0, 20185079, -1610612734, 0, 20119560, -1073741822, 0, 20250615, -1610612734, 0, 20185096, -1073741822, 0, 20316151, -1610612734, 0, 20250632, -1073741822, 0, 20381687, -1610612734, 0, 20316168, -1073741822, 0, 20447223, -1610612734, 0, 20381704, -1073741822, 0, 20512759, -1610612734, 0, 20447240, -1073741822, 0, 20578295, -1610612734, 0, 20512776, -1073741822, 0, 20643831, -1610612734, 0, 20578312, -1073741822, 0, 20709367, -1610612734, 0, 20643848, -1073741822, 0, 20774903, -1610612734, 0, 20709384, -1073741822, 0, 20840439, -1610612734, 0, 20774920, -1073741822, 0, 20905975, -1610612734, 0, 20840456, -1073741822, 0, 20971511, -1610612734, 0, 20905992, -1073741822, 0, 21037047, -1610612734, 0, 20971528, -1073741822, 0, 21102583, -1610612734, 0, 21037064, -1073741822, 0, 21168119, -1610612734, 0, 21102600, -1073741822, 0, 21233655, -1610612734, 0, 21168136, -1073741822, 0, 21299191, -1610612734, 0, 21233672, -1073741822, 0, 21364727, -1610612734, 0, 21299208, -1073741822, 0, 21430263, -1610612734, 0, 21364744, -1073741822, 0, 21495799, -1610612734, 0, 21430280, -1073741822, 0, 21561335, -1610612734, 0, 21495816, -1073741822, 0, 21626871, -1610612734, 0, 21561352, -1073741822, 0, 21692407, -1610612734, 0, 21626888, -1073741822, 0, 21757943, -1610612734, 0, 21692424, -1073741822, 0, 21823479, -1610612734, 0, 21757960, -1073741822, 0, 21889015, -1610612734, 0, 21823496, -1073741822, 0, 21954551, -1610612734, 0, 21889032, -1073741822, 0, 22020087, -1610612734, 0, 21954568, -1073741822, 0, 22085623, -1610612734, 0, 22020104, -1073741822, 0, 22151159, -1610612734, 0, 22085640, -1073741822, 0, 22216695, -1610612734, 0, 22151176, -1073741822, 0, 22282231, -1610612734, 0, 22216712, -1073741822, 0, 22347767, -1610612734, 0, 22282248, -1073741822, 0, 22413303, -1610612734, 0, 22347784, -1073741822, 0, 22478839, -1610612734, 0, 22413320, -1073741822, 0, 22544375, -1610612734, 0, 22478856, -1073741822, 0, 22609911, -1610612734, 0, 22544392, -1073741822, 0, 22675447, -1610612734, 0, 22609928, -1073741822, 0, 22740983, -1610612734, 0, 22675464, -1073741822, 0, 22806519, -1610612734, 0, 22741000, -1073741822, 0, 22872055, -1610612734, 0, 22806536, -1073741822, 0, 22937591, -1610612734, 0, 22872072, -1073741822, 0, 23003127, -1610612734, 0, 22937608, -1073741822, 0, 23068663, -1610612734, 0, 23003144, -1073741822, 0, 23134199, -1610612734, 0, 23068680, -1073741822, 0, 23199735, -1610612734, 0, 23134216, -1073741822, 0, 23265271, -1610612734, 0, 23199752, -1073741822, 0, 23330807, -1610612734, 0, 23265288, -1073741822, 0, 23396343, -1610612734, 0, 23330824, -1073741822, 0, 23461879, -1610612734, 0, 23396360, -1073741822, 0, 23527415, -1610612734, 0, 23461896, -1073741822, 0, 23592951, -1610612734, 0, 23527432, -1073741822, 0, 23658487, -1610612734, 0, 23592968, -1073741822, 0, 23724023, -1610612734, 0, 23658504, -1073741822, 0, 23789559, -1610612734, 0, 23724040, -1073741822, 0, 23855095, -1610612734, 0, 23789576, -1073741822, 0, 23920631, -1610612734, 0, 23855112, -1073741822, 0, 23986167, -1610612734, 0, 23920648, -1073741822, 0, 24051703, -1610612734, 0, 23986184, -1073741822, 0, 24117239, -1610612734, 0, 24051720, -1073741822, 0, 24182775, -1610612734, 0, 24117256, -1073741822, 0, 24248311, -1610612734, 0, 24182792, -1073741822, 0, 24313847, -1610612734, 0, 24248328, -1073741822, 0, 24379383, -1610612734, 0, 24313864, -1073741822, 0, 24444919, -1610612734, 0, 24379400, -1073741822, 0, 24510455, -1610612734, 0, 24444936, -1073741822, 0, 24575991, -1610612734, 0, 24510472, -1073741822, 0, 24641527, -1610612734, 0, 24576008, -1073741822, 0, 24707063, -1610612734, 0, 24641544, -1073741822, 0, 24772599, -1610612734, 0, 24707080, -1073741822, 0, 24838135, -1610612734, 0, 24772616, -1073741822, 0, 24903671, -1610612734, 0, 24838152, -1073741822, 0, 24969207, -1610612734, 0, 24903688, -1073741822, 0, 25034743, -1610612734, 0, 24969224, -1073741822, 0, 25100279, -1610612734, 0, 25034760, -1073741822, 0, 25165815, -1610612734, 0, 25100296, -1073741822, 0, 25231351, -1610612734, 0, 25165832, -1073741822, 0, 25296887, -1610612734, 0, 25231368, -1073741822, 0, 25362423, -1610612734, 0, 25296904, -1073741822, 0, 25427959, -1610612734, 0, 25362440, -1073741822, 0, 25493495, -1610612734, 0, 25427976, -1073741822, 0, 25559031, -1610612734, 0, 25493512, -1073741822, 0, 25624567, -1610612734, 0, 25559048, -1073741822, 0, 25690103, -1610612734, 0, 25624584, -1073741822, 0, 25755639, -1610612734, 0, 25690120, -1073741822, 0, 25821175, -1610612734, 0, 25755656, -1073741822, 0, 25886711, -1610612734, 0, 25821192, -1073741822, 0, 25952247, -1610612734, 0, 25886728, -1073741822, 0, 26017783, -1610612734, 0, 25952264, -1073741822, 0, 26083319, -1610612734, 0, 26017800, -1073741822, 0, 26148855, -1610612734, 0, 26083336, -1073741822, 0, 26214391, -1610612734, 0, 26148872, -1073741822, 0, 26279927, -1610612734, 0, 26214408, -1073741822, 0, 26345463, -1610612734, 0, 26345464, 2, 0, 26345465, 2, 0, 26345466, 2, 0, 26345467, 2, 0, 26345468, 2, 0, 26345469, 2, 0, 26345470, 2, 0, 26345471, 2, 0, 26279936, 2, 0, 26279937, 2, 0, 26279938, 2, 0, 26279939, 2, 0, 26279940, 2, 0, 26279941, 2, 0, 26279942, 2, 0, 26279943, 2, 0, 26279944, -1073741822, 0 ) [node name="Portal" parent="." instance=ExtResource( 8 )] position = Vector2( 1488, -120 ) diff --git a/src/Levels/Level 2.tscn b/src/Levels/Level 2.tscn index 63e13c4..ea8e2ae 100644 --- a/src/Levels/Level 2.tscn +++ b/src/Levels/Level 2.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=17 format=2] +[gd_scene load_steps=18 format=2] [ext_resource path="res://src/Environment/AlienShipTileSet.tres" type="TileSet" id=1] [ext_resource path="res://src/Contraptions/Portal/Portal.tscn" type="PackedScene" id=2] @@ -15,6 +15,7 @@ [ext_resource path="res://src/Platforms/DropThroughPlatform.tscn" type="PackedScene" id=13] [ext_resource path="res://src/Actors/Enemies/Beings/WhatAreFrog.tscn" type="PackedScene" id=14] [ext_resource path="res://src/Levels/Level 2.gd" type="Script" id=15] +[ext_resource path="res://src/NeutralObjects/SavePoint.tscn" type="PackedScene" id=16] [sub_resource type="AnimationNodeStateMachinePlayback" id=4] @@ -41,10 +42,10 @@ unique_name_in_owner = true drag_margin_bottom = 0.3 [node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"] -frame = 11 +frame = 2 [node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"] -frame = 11 +frame = 2 [node name="Blobby" parent="." instance=ExtResource( 9 )] unique_name_in_owner = true @@ -236,6 +237,9 @@ position = Vector2( 3144, -48 ) [node name="Coin6" parent="." instance=ExtResource( 11 )] position = Vector2( 3279, -192 ) +[node name="SavePoint" parent="." instance=ExtResource( 16 )] +position = Vector2( 2502, -120 ) + [connection signal="body_exited" from="Blobby/BlobbySkin" to="Blobby" method="_on_BlobbySkin_body_exited"] [editable path="SignalManager"] diff --git a/src/Levels/x03 Level.tscn b/src/Levels/x03 Level.tscn index 849efc0..d1ec3c7 100644 --- a/src/Levels/x03 Level.tscn +++ b/src/Levels/x03 Level.tscn @@ -42,7 +42,7 @@ [ext_resource path="res://src/Platforms/FlyingPlatformClean.tscn" type="PackedScene" id=40] [ext_resource path="res://src/Contraptions/Portal/Portal.tscn" type="PackedScene" id=41] [ext_resource path="res://src/Platforms/DropThroughPlatform.tscn" type="PackedScene" id=42] -[ext_resource path="res://src/Contraptions/Triggers/WhyButton.tscn" type="PackedScene" id=43] +[ext_resource path="res://src/Contraptions/Triggers/FrogFreeButton.tscn" type="PackedScene" id=43] [ext_resource path="res://src/Contraptions/Triggers/ElevatorButton.tscn" type="PackedScene" id=44] [ext_resource path="res://src/Actors/Enemies/Beings/Flyer.tscn" type="PackedScene" id=45] [ext_resource path="res://src/Actors/Blobby/Blobby.tscn" type="PackedScene" id=46] @@ -140,7 +140,7 @@ shape = SubResource( 3 ) position = Vector2( 0, 1.5 ) z_index = -1 frames = SubResource( 5 ) -frame = 19 +frame = 4 playing = true [node name="Terminal" parent="." instance=ExtResource( 44 )] @@ -169,9 +169,6 @@ tile_data = PoolIntArray( 851970, 1, 0, 851971, 0, 0, 851973, 0, 0, 851975, 2, 0 position = Vector2( 496, 152 ) max_speed = 120 -[node name="StateLabel" parent="Flyer" index="1"] -visible = false - [node name="AnimationTree" parent="Flyer/FlyerSprite" index="1"] parameters/playback = SubResource( 6 ) @@ -182,20 +179,14 @@ movement_radius = 4 [node name="FlyingPlatformClean" parent="." instance=ExtResource( 40 )] position = Vector2( 496, 220 ) -[node name="WhyButton" parent="." instance=ExtResource( 43 )] -position = Vector2( 632, 336 ) - -[node name="Indicator1" parent="WhyButton" index="1"] -visible = false - -[node name="Indicator3" parent="WhyButton" index="3"] -visible = false +[node name="FrogFreeButton" parent="." instance=ExtResource( 43 )] +position = Vector2( 576, 312 ) [connection signal="ready" from="." to="BoundFrog" method="_on_Level_ready"] [connection signal="body_exited" from="Blobby/BlobbySkin" to="Blobby" method="_on_BlobbySkin_body_exited"] [connection signal="area_exited" from="Spring/SpringPlatform/SpringSkin" to="Spring/SpringPlatform" method="_on_SpringSkin_area_exited"] [connection signal="area_entered" from="Spring/SpringPlatform/EnteringVelocityDetector" to="Spring/SpringPlatform" method="_on_EnteringVelocityDetector_area_entered"] -[connection signal="button_pushed" from="WhyButton" to="BoundFrog" method="_on_WhyButton_button_pushed"] +[connection signal="button_pushed" from="FrogFreeButton" to="BoundFrog" method="_on_FrogFreeButton_pushed"] [editable path="UserInterface"] [editable path="UserInterface/HUD"] @@ -204,4 +195,3 @@ visible = false [editable path="BoundFrog"] [editable path="BoundFrog/RopeAnchor"] [editable path="FlyingPlatformClean"] -[editable path="WhyButton"] diff --git a/src/NeutralObjects/SavePoint.tscn b/src/NeutralObjects/SavePoint.tscn new file mode 100644 index 0000000..76b9822 --- /dev/null +++ b/src/NeutralObjects/SavePoint.tscn @@ -0,0 +1,29 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://assets/neutral object/blobby1Flag.png" type="Texture" id=1] +[ext_resource path="res://assets/neutral object/flagPoleAndBasePlant.png" type="Texture" id=2] + +[sub_resource type="CapsuleShape2D" id=1] +radius = 12.0 + +[node name="SavePoint" type="Node2D"] + +[node name="FlagPole" type="Sprite" parent="."] +z_index = 1 +texture = ExtResource( 2 ) + +[node name="Flag" type="Sprite" parent="."] +visible = false +position = Vector2( -1, 4 ) +texture = ExtResource( 1 ) +region_enabled = true +region_rect = Rect2( 10, 20, 25, 15 ) +region_filter_clip = true + +[node name="Area2D" type="Area2D" parent="."] +collision_layer = 0 +monitorable = false + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"] +position = Vector2( -15, 6 ) +shape = SubResource( 1 ) diff --git a/src/UserInterface/Screens/HUD.gd b/src/UserInterface/Screens/HUD.gd index d6f6dca..0228e50 100644 --- a/src/UserInterface/Screens/HUD.gd +++ b/src/UserInterface/Screens/HUD.gd @@ -37,14 +37,8 @@ func _zoom_timer() -> void: func update_interface() -> void: - - var wallet = 0 - var prog := GlobalState.progress_dict - for key in prog: - if prog[key].has("currency"): - wallet += prog[key]["currency"] - wallet += levelState.currency + var wallet = GlobalState.wallet + levelState.currency currency.text = "Wallet: %s Orbicles" % wallet kills.text = "Kills: %s" % levelState.kills diff --git a/src/Utilities/LevelState.gd b/src/Utilities/LevelState.gd index 2c4485a..a9a38bb 100644 --- a/src/Utilities/LevelState.gd +++ b/src/Utilities/LevelState.gd @@ -39,6 +39,20 @@ func set_frees(value: int) -> void: func set_dead(value: bool) -> void: is_dead = value +# Spends the currency when enough is available +# and returns true if so. Else it does not spend and return false. +func spend_currency(cost: int) -> bool: + if GlobalState.wallet + currency < cost: + return false + var remainder = currency - cost + if remainder >= 0: + currency = remainder + else: + currency = 0 + GlobalState.set_wallet(GlobalState.wallet + remainder) + return true + + func _on_level_completed(): update_global_state() reset() @@ -52,6 +66,7 @@ func update_global_state() -> void: levelProgress["deaths"] = deaths levelProgress["frees"] = frees + # TODO Doesnt account for multiple plays of same level if !progress_dict.has(levelName): progress_dict[levelName] = levelProgress else: @@ -59,6 +74,9 @@ func update_global_state() -> void: progress_dict[levelName]["kills"] = progress_dict[levelName]["kills"] + kills progress_dict[levelName]["deaths"] = progress_dict[levelName]["deaths"] + deaths progress_dict[levelName]["frees"] = progress_dict[levelName]["frees"] + frees + + GlobalState.set_wallet(GlobalState.wallet + currency) + GlobalState.set_progress(progress_dict)