diff options
author | Anton Yabchinskiy <arn@bestmx.ru> | 2015-07-29 23:01:36 +0300 |
---|---|---|
committer | Anton Yabchinskiy <arn@bestmx.ru> | 2015-07-29 23:01:36 +0300 |
commit | dc8df8a91a995796f0f330bf6bb6b209f6dfce08 (patch) | |
tree | 46cfe09124703b07860754d6b44e0289422e0573 /demos/2d | |
parent | 16746f157f83d666079ba3266acec13d35b84c3f (diff) | |
parent | 922356b903061cda7591090bf19e8346c3a78cf5 (diff) |
Merge branch 'master' of github.com:okamstudio/godot
Diffstat (limited to 'demos/2d')
77 files changed, 1309 insertions, 396 deletions
diff --git a/demos/2d/fog_of_war/.fscache b/demos/2d/fog_of_war/.fscache deleted file mode 100644 index ba5e3995f3..0000000000 --- a/demos/2d/fog_of_war/.fscache +++ /dev/null @@ -1,11 +0,0 @@ -::res://::1422910453 -floor.png::ImageTexture::1422910453:: -fog.gd::GDScript::1422910025:: -fog.png::ImageTexture::1422908128:: -fog.scn::PackedScene::1422909435:: -fog.xml::TileSet::1422909324:: -icon.png::ImageTexture::1422811193:: -tile_edit.scn::PackedScene::1422909313:: -troll.gd::GDScript::1422909940:: -troll.png::ImageTexture::1418669358:: -troll.scn::PackedScene::1418669358:: diff --git a/demos/2d/isometric/bastiles.res b/demos/2d/isometric/bastiles.res Binary files differindex 2161c88f1e..50f3c78321 100644 --- a/demos/2d/isometric/bastiles.res +++ b/demos/2d/isometric/bastiles.res diff --git a/demos/2d/isometric/dungeon.scn b/demos/2d/isometric/dungeon.scn Binary files differindex 58c530d5c5..64efc257c0 100644 --- a/demos/2d/isometric/dungeon.scn +++ b/demos/2d/isometric/dungeon.scn diff --git a/demos/2d/isometric/tileset.scn b/demos/2d/isometric/tileset.scn Binary files differindex edb0bc0276..c04ea5382c 100644 --- a/demos/2d/isometric/tileset.scn +++ b/demos/2d/isometric/tileset.scn diff --git a/demos/2d/isometric/troll.scn b/demos/2d/isometric/troll.scn Binary files differindex f5d87c3631..19b566fe05 100644 --- a/demos/2d/isometric/troll.scn +++ b/demos/2d/isometric/troll.scn diff --git a/demos/2d/isometric_light/character_shder.res b/demos/2d/isometric_light/character_shder.res Binary files differindex ca221f766c..17cd9ad287 100644 --- a/demos/2d/isometric_light/character_shder.res +++ b/demos/2d/isometric_light/character_shder.res diff --git a/demos/2d/isometric_light/cubio.scn b/demos/2d/isometric_light/cubio.scn Binary files differindex c8ab7ddd4e..fc931b0c8d 100644 --- a/demos/2d/isometric_light/cubio.scn +++ b/demos/2d/isometric_light/cubio.scn diff --git a/demos/2d/isometric_light/engine.cfg b/demos/2d/isometric_light/engine.cfg index 0d9e432d5d..08393f1724 100644 --- a/demos/2d/isometric_light/engine.cfg +++ b/demos/2d/isometric_light/engine.cfg @@ -1,5 +1,6 @@ [application] +name="Isometric 2D + Lighting" main_scene="res://map.scn" [input] diff --git a/demos/2d/isometric_light/floor_shader.res b/demos/2d/isometric_light/floor_shader.res Binary files differindex 446c71d227..c078d27b97 100644 --- a/demos/2d/isometric_light/floor_shader.res +++ b/demos/2d/isometric_light/floor_shader.res diff --git a/demos/2d/isometric_light/map.scn b/demos/2d/isometric_light/map.scn Binary files differindex c939a4b392..89002f991f 100644 --- a/demos/2d/isometric_light/map.scn +++ b/demos/2d/isometric_light/map.scn diff --git a/demos/2d/isometric_light/tileset.res b/demos/2d/isometric_light/tileset.res Binary files differindex 633bdada38..f64a4e32bd 100644 --- a/demos/2d/isometric_light/tileset.res +++ b/demos/2d/isometric_light/tileset.res diff --git a/demos/2d/isometric_light/torch.scn b/demos/2d/isometric_light/torch.scn Binary files differindex d1cb7fe7e6..3f08b33311 100644 --- a/demos/2d/isometric_light/torch.scn +++ b/demos/2d/isometric_light/torch.scn diff --git a/demos/2d/isometric_light/torch_shader.res b/demos/2d/isometric_light/torch_shader.res Binary files differindex ad70d5260d..31a35de1da 100644 --- a/demos/2d/isometric_light/torch_shader.res +++ b/demos/2d/isometric_light/torch_shader.res diff --git a/demos/2d/isometric_light/wall_shader.res b/demos/2d/isometric_light/wall_shader.res Binary files differindex 78c8fe57e1..7e33c26201 100644 --- a/demos/2d/isometric_light/wall_shader.res +++ b/demos/2d/isometric_light/wall_shader.res diff --git a/demos/2d/kinematic_char/circle.png b/demos/2d/kinematic_char/circle.png Binary files differnew file mode 100644 index 0000000000..ddb3ac4b9c --- /dev/null +++ b/demos/2d/kinematic_char/circle.png diff --git a/demos/2d/kinematic_char/colworld.gd b/demos/2d/kinematic_char/colworld.gd index d13ff9236b..fe2dc30bb6 100644 --- a/demos/2d/kinematic_char/colworld.gd +++ b/demos/2d/kinematic_char/colworld.gd @@ -14,4 +14,5 @@ func _ready(): func _on_princess_body_enter( body ): #the name of this editor-generated callback is unfortunate - get_node("youwin").show() + if (body.get_name()=="player"): + get_node("youwin").show() diff --git a/demos/2d/kinematic_char/colworld.scn b/demos/2d/kinematic_char/colworld.scn Binary files differindex 7b79a1d887..e66705368d 100644 --- a/demos/2d/kinematic_char/colworld.scn +++ b/demos/2d/kinematic_char/colworld.scn diff --git a/demos/2d/kinematic_char/engine.cfg b/demos/2d/kinematic_char/engine.cfg index 0132442c18..4ce8f836ae 100644 --- a/demos/2d/kinematic_char/engine.cfg +++ b/demos/2d/kinematic_char/engine.cfg @@ -4,6 +4,13 @@ name="Kinematic Collision" main_scene="res://colworld.scn" icon="res://icon.png" +[display] + +width=800 +height=600 +stretch_mode="2d" +stretch_aspect="keep" + [input] move_up=[key(Up)] diff --git a/demos/2d/kinematic_char/long_obstacle.png b/demos/2d/kinematic_char/long_obstacle.png Binary files differnew file mode 100644 index 0000000000..88cb22daee --- /dev/null +++ b/demos/2d/kinematic_char/long_obstacle.png diff --git a/demos/2d/kinematic_char/player.gd b/demos/2d/kinematic_char/player.gd index e8b3cc8d00..329382408b 100644 --- a/demos/2d/kinematic_char/player.gd +++ b/demos/2d/kinematic_char/player.gd @@ -21,6 +21,9 @@ const STOP_FORCE = 1300 const JUMP_SPEED = 200 const JUMP_MAX_AIRBORNE_TIME=0.2 +const SLIDE_STOP_VELOCITY=1.0 #one pixel per second +const SLIDE_STOP_MIN_TRAVEL=1.0 #one pixel + var velocity = Vector2() var on_air_time=100 var jumping=false @@ -31,8 +34,6 @@ func _fixed_process(delta): #create forces var force = Vector2(0,GRAVITY) - - var stop = velocity.x!=0.0 var walk_left = Input.is_action_pressed("move_left") var walk_right = Input.is_action_pressed("move_right") @@ -86,25 +87,42 @@ func _fixed_process(delta): #char is on floor on_air_time=0 floor_velocity=get_collider_velocity() - #velocity.y=0 - #But we were moving and our motion was interrupted, - #so try to complete the motion by "sliding" - #by the normal - motion = n.slide(motion) - velocity = n.slide(velocity) - - #then move again - move(motion) + + if (on_air_time==0 and force.x==0 and get_travel().length() < SLIDE_STOP_MIN_TRAVEL and abs(velocity.x) < SLIDE_STOP_VELOCITY and get_collider_velocity()==Vector2()): + #Since this formula will always slide the character around, + #a special case must be considered to to stop it from moving + #if standing on an inclined floor. Conditions are: + # 1) Standing on floor (on_air_time==0) + # 2) Did not move more than one pixel (get_travel().length() < SLIDE_STOP_MIN_TRAVEL) + # 3) Not moving horizontally (abs(velocity.x) < SLIDE_STOP_VELOCITY) + # 4) Collider is not moving + + revert_motion() + velocity.y=0.0 + + else: + #For every other case of motion,our motion was interrupted. + #Try to complete the motion by "sliding" + #by the normal + + motion = n.slide(motion) + velocity = n.slide(velocity) + #then move again + move(motion) if (floor_velocity!=Vector2()): #if floor moves, move with floor move(floor_velocity*delta) if (jumping and velocity.y>0): + #if falling, no longer jumping jumping=false if (on_air_time<JUMP_MAX_AIRBORNE_TIME and jump and not prev_jump_pressed and not jumping): + # Jump must also be allowed to happen if the + # character left the floor a little bit ago. + # Makes controls more snappy. velocity.y=-JUMP_SPEED jumping=true diff --git a/demos/2d/lights_shadows/engine.cfg b/demos/2d/lights_shadows/engine.cfg index bb9d1ef256..771288c209 100644 --- a/demos/2d/lights_shadows/engine.cfg +++ b/demos/2d/lights_shadows/engine.cfg @@ -3,6 +3,13 @@ name="2D Lighting" main_scene="res://light_shadows.scn" +[display] + +stretch_mode="2d" +width=800 +height=600 +stretch_aspect="keep" + [rasterizer] shadow_filter=2 diff --git a/demos/2d/lookat/arrow.png b/demos/2d/lookat/arrow.png Binary files differnew file mode 100644 index 0000000000..25db91e8d1 --- /dev/null +++ b/demos/2d/lookat/arrow.png diff --git a/demos/2d/lookat/engine.cfg b/demos/2d/lookat/engine.cfg new file mode 100644 index 0000000000..56917a39ec --- /dev/null +++ b/demos/2d/lookat/engine.cfg @@ -0,0 +1,4 @@ +[application] + +name="Look At Pointer" +main_scene="res://lookat.scn" diff --git a/demos/2d/lookat/lookat.gd b/demos/2d/lookat/lookat.gd new file mode 100644 index 0000000000..742c5b0671 --- /dev/null +++ b/demos/2d/lookat/lookat.gd @@ -0,0 +1,43 @@ + +extends Sprite + +# member variables here, example: +# var a=2 +# var b="textvar" + +const MODE_DIRECT=0 +const MODE_CONSTANT=1 +const MODE_SMOOTH=2 + +const ROTATION_SPEED = 1 +const SMOOTH_SPEED = 2.0 + +export(int,"Direct","Constant","Smooth") var mode=MODE_DIRECT + +func _process(delta): + var mpos = get_viewport().get_mouse_pos() + + if (mode==MODE_DIRECT): + + look_at(mpos) + + elif (mode==MODE_CONSTANT): + + var ang = get_angle_to(mpos) + var s = sign(ang) + ang=abs(ang) + + rotate( min(ang,ROTATION_SPEED*delta)*s ) + + elif (mode==MODE_SMOOTH): + + var ang = get_angle_to(mpos) + + rotate( ang*delta*SMOOTH_SPEED ) + +func _ready(): + # Initialization here + set_process(true) + pass + + diff --git a/demos/2d/lookat/lookat.scn b/demos/2d/lookat/lookat.scn Binary files differnew file mode 100644 index 0000000000..880070b4c7 --- /dev/null +++ b/demos/2d/lookat/lookat.scn diff --git a/demos/2d/motion/car.png b/demos/2d/motion/car.png Binary files differnew file mode 100644 index 0000000000..7ea973ceeb --- /dev/null +++ b/demos/2d/motion/car.png diff --git a/demos/2d/motion/engine.cfg b/demos/2d/motion/engine.cfg new file mode 100644 index 0000000000..261111904c --- /dev/null +++ b/demos/2d/motion/engine.cfg @@ -0,0 +1,11 @@ +[application] + +name="Motion Test" +main_scene="res://motion.scn" + +[display] + +width=800 +height=600 +stretch_mode="2d" +stretch_aspect="keep" diff --git a/demos/2d/motion/motion.gd b/demos/2d/motion/motion.gd new file mode 100644 index 0000000000..8f8f56a889 --- /dev/null +++ b/demos/2d/motion/motion.gd @@ -0,0 +1,38 @@ + +extends Sprite + + +export var use_idle=true + +# member variables here, example: +# var a=2 +# var b="textvar" +const BEGIN = -113 +const END = 907 +const TIME = 5.0 # seconds +const SPEED = (END-BEGIN)/TIME + +func _process(delta): + var ofs = get_pos() + ofs.x+=delta*SPEED + if (ofs.x>END): + ofs.x=BEGIN + set_pos(ofs) + +func _fixed_process(delta): + var ofs = get_pos() + ofs.x+=delta*SPEED + if (ofs.x>END): + ofs.x=BEGIN + set_pos(ofs) + + +func _ready(): + # Initialization here + if (use_idle): + set_process(true) + else: + set_fixed_process(true) + pass + + diff --git a/demos/2d/motion/motion.scn b/demos/2d/motion/motion.scn Binary files differnew file mode 100644 index 0000000000..6c5b5307ac --- /dev/null +++ b/demos/2d/motion/motion.scn diff --git a/demos/2d/navpoly/engine.cfg b/demos/2d/navpoly/engine.cfg index 51eefd7b77..40515dd3d2 100644 --- a/demos/2d/navpoly/engine.cfg +++ b/demos/2d/navpoly/engine.cfg @@ -2,3 +2,10 @@ name="Navigation Polygon (2D)" main_scene="res://navigation.scn" + +[display] + +width=800 +height=600 +stretch_mode="2d" +stretch_aspect="keep" diff --git a/demos/2d/normalmaps/engine.cfg b/demos/2d/normalmaps/engine.cfg index 3fc2048716..f0002dc2b8 100644 --- a/demos/2d/normalmaps/engine.cfg +++ b/demos/2d/normalmaps/engine.cfg @@ -2,3 +2,10 @@ name="2D Normal Mapping" main_scene="res://normalmap.scn" + +[display] + +stretch_mode="2d" +width=800 +height=600 +stretch_aspect="ignore" diff --git a/demos/2d/platformer/enemy.gd b/demos/2d/platformer/enemy.gd index b4e70477a8..a264cd0cff 100644 --- a/demos/2d/platformer/enemy.gd +++ b/demos/2d/platformer/enemy.gd @@ -56,7 +56,7 @@ func _integrate_forces(s): state=STATE_DYING #lv=s.get_contact_local_normal(i)*400 s.set_angular_velocity(sign(dp.x)*33.0) - set_friction(true) + set_friction(1) cc.disable() get_node("sound").play("hit") diff --git a/demos/2d/platformer/one_way_platform.png b/demos/2d/platformer/one_way_platform.png Binary files differnew file mode 100644 index 0000000000..b5eca877a6 --- /dev/null +++ b/demos/2d/platformer/one_way_platform.png diff --git a/demos/2d/platformer/one_way_platform.xml b/demos/2d/platformer/one_way_platform.xml new file mode 100644 index 0000000000..491dd32b17 --- /dev/null +++ b/demos/2d/platformer/one_way_platform.xml @@ -0,0 +1,220 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<resource_file type="PackedScene" subresource_count="3" version="1.1" version_name="Godot Engine v1.1.rc1.custom_build"> + <ext_resource path="res://one_way_platform.png" type="Texture"></ext_resource> + <resource type="RectangleShape2D" path="local://1"> + <real name="custom_solver_bias"> 0 </real> + <vector2 name="extents"> 100, 10 </vector2> + + </resource> + <main_resource> + <dictionary name="_bundled" shared="false"> + <string> "conn_count" </string> + <int> 0 </int> + <string> "conns" </string> + <int_array len="0"> </int_array> + <string> "names" </string> + <string_array len="42"> + <string> "one_way_platform" </string> + <string> "StaticBody2D" </string> + <string> "_import_path" </string> + <string> "visibility/visible" </string> + <string> "visibility/opacity" </string> + <string> "visibility/self_opacity" </string> + <string> "visibility/light_mask" </string> + <string> "transform/pos" </string> + <string> "transform/rot" </string> + <string> "transform/scale" </string> + <string> "z/z" </string> + <string> "z/relative" </string> + <string> "input/pickable" </string> + <string> "shape_count" </string> + <string> "shapes/0/shape" </string> + <string> "shapes/0/transform" </string> + <string> "shapes/0/trigger" </string> + <string> "collision/layers" </string> + <string> "collision/mask" </string> + <string> "one_way_collision/direction" </string> + <string> "one_way_collision/max_depth" </string> + <string> "constant_linear_velocity" </string> + <string> "constant_angular_velocity" </string> + <string> "friction" </string> + <string> "bounce" </string> + <string> "__meta__" </string> + <string> "sprite" </string> + <string> "Sprite" </string> + <string> "texture" </string> + <string> "centered" </string> + <string> "offset" </string> + <string> "flip_h" </string> + <string> "flip_v" </string> + <string> "vframes" </string> + <string> "hframes" </string> + <string> "frame" </string> + <string> "modulate" </string> + <string> "region" </string> + <string> "region_rect" </string> + <string> "CollisionShape2D" </string> + <string> "shape" </string> + <string> "trigger" </string> + </string_array> + <string> "node_count" </string> + <int> 3 </int> + <string> "nodes" </string> + <int_array len="135"> -1, -1, 1, 0, -1, 24, 2, 0, 3, 1, 4, 2, 5, 2, 6, 3, 7, 4, 8, 5, 9, 6, 10, 7, 11, 1, 12, 8, 13, 3, 14, 9, 15, 10, 16, 8, 17, 3, 18, 3, 19, 11, 20, 12, 21, 4, 22, 5, 23, 2, 24, 5, 25, 13, 0, 0, 0, 27, 26, -1, 21, 2, 0, 3, 1, 4, 2, 5, 2, 6, 3, 7, 4, 8, 5, 9, 6, 10, 7, 11, 1, 28, 14, 29, 1, 30, 4, 31, 8, 32, 8, 33, 3, 34, 3, 35, 7, 36, 15, 37, 8, 38, 16, 0, 0, 0, 39, 39, -1, 12, 2, 0, 3, 1, 4, 2, 5, 2, 6, 3, 7, 17, 8, 5, 9, 6, 10, 7, 11, 1, 40, 9, 41, 8, 0 </int_array> + <string> "variants" </string> + <array len="18" shared="false"> + <node_path> "" </node_path> + <bool> True </bool> + <real> 1 </real> + <int> 1 </int> + <vector2> 0, 0 </vector2> + <real> 0 </real> + <vector2> 1, 1 </vector2> + <int> 0 </int> + <bool> False </bool> + <resource resource_type="Shape2D" path="local://1"> </resource> + <matrix32> 1, -0, 0, 1, 1.46304, -13.1672 </matrix32> + <vector2> 0, 1 </vector2> + <real> 20 </real> + <dictionary shared="false"> + <string> "__editor_plugin_screen__" </string> + <string> "2D" </string> + <string> "__editor_plugin_states__" </string> + <dictionary shared="false"> + <string> "2D" </string> + <dictionary shared="false"> + <string> "ofs" </string> + <vector2> -133.699, -110.553 </vector2> + <string> "snap_grid" </string> + <bool> False </bool> + <string> "snap_offset" </string> + <vector2> 0, 0 </vector2> + <string> "snap_pixel" </string> + <bool> False </bool> + <string> "snap_relative" </string> + <bool> False </bool> + <string> "snap_rotation" </string> + <bool> False </bool> + <string> "snap_rotation_offset" </string> + <real> 0 </real> + <string> "snap_rotation_step" </string> + <real> 0.261799 </real> + <string> "snap_show_grid" </string> + <bool> False </bool> + <string> "snap_step" </string> + <vector2> 10, 10 </vector2> + <string> "zoom" </string> + <real> 2.050546 </real> + </dictionary> + <string> "3D" </string> + <dictionary shared="false"> + <string> "ambient_light_color" </string> + <color> 0.15, 0.15, 0.15, 1 </color> + <string> "default_light" </string> + <bool> True </bool> + <string> "default_srgb" </string> + <bool> False </bool> + <string> "deflight_rot_x" </string> + <real> 0.942478 </real> + <string> "deflight_rot_y" </string> + <real> 0.628319 </real> + <string> "fov" </string> + <real> 45 </real> + <string> "show_grid" </string> + <bool> True </bool> + <string> "show_origin" </string> + <bool> True </bool> + <string> "viewport_mode" </string> + <int> 1 </int> + <string> "viewports" </string> + <array len="4" shared="false"> + <dictionary shared="false"> + <string> "distance" </string> + <real> 4 </real> + <string> "listener" </string> + <bool> True </bool> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + <string> "use_environment" </string> + <bool> False </bool> + <string> "use_orthogonal" </string> + <bool> False </bool> + <string> "x_rot" </string> + <real> 0 </real> + <string> "y_rot" </string> + <real> 0 </real> + </dictionary> + <dictionary shared="false"> + <string> "distance" </string> + <real> 4 </real> + <string> "listener" </string> + <bool> False </bool> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + <string> "use_environment" </string> + <bool> False </bool> + <string> "use_orthogonal" </string> + <bool> False </bool> + <string> "x_rot" </string> + <real> 0 </real> + <string> "y_rot" </string> + <real> 0 </real> + </dictionary> + <dictionary shared="false"> + <string> "distance" </string> + <real> 4 </real> + <string> "listener" </string> + <bool> False </bool> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + <string> "use_environment" </string> + <bool> False </bool> + <string> "use_orthogonal" </string> + <bool> False </bool> + <string> "x_rot" </string> + <real> 0 </real> + <string> "y_rot" </string> + <real> 0 </real> + </dictionary> + <dictionary shared="false"> + <string> "distance" </string> + <real> 4 </real> + <string> "listener" </string> + <bool> False </bool> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + <string> "use_environment" </string> + <bool> False </bool> + <string> "use_orthogonal" </string> + <bool> False </bool> + <string> "x_rot" </string> + <real> 0 </real> + <string> "y_rot" </string> + <real> 0 </real> + </dictionary> + </array> + <string> "zfar" </string> + <real> 500 </real> + <string> "znear" </string> + <real> 0.1 </real> + </dictionary> + </dictionary> + <string> "__editor_run_settings__" </string> + <dictionary shared="false"> + <string> "custom_args" </string> + <string> "-l $scene" </string> + <string> "run_mode" </string> + <int> 0 </int> + </dictionary> + </dictionary> + <resource resource_type="Texture" path="res://one_way_platform.png"> </resource> + <color> 1, 1, 1, 1 </color> + <rect2> 0, 0, 0, 0 </rect2> + <vector2> 1.46304, -13.1672 </vector2> + </array> + <string> "version" </string> + <int> 1 </int> + </dictionary> + + </main_resource> +</resource_file>
\ No newline at end of file diff --git a/demos/2d/platformer/player.gd b/demos/2d/platformer/player.gd index b08105212c..9ee189df21 100644 --- a/demos/2d/platformer/player.gd +++ b/demos/2d/platformer/player.gd @@ -33,7 +33,6 @@ var shooting=false var WALK_ACCEL = 800.0 var WALK_DEACCEL= 800.0 var WALK_MAX_VELOCITY= 200.0 -var GRAVITY = 700.0 var AIR_ACCEL = 200.0 var AIR_DEACCEL= 200.0 var JUMP_VELOCITY=460 diff --git a/demos/2d/platformer/stage.xml b/demos/2d/platformer/stage.xml index 610057183b..4d6083adf6 100644 --- a/demos/2d/platformer/stage.xml +++ b/demos/2d/platformer/stage.xml @@ -1,17 +1,22 @@ <?xml version="1.0" encoding="UTF-8" ?> -<resource_file type="PackedScene" subresource_count="9" version="1.0" version_name="Godot Engine v1.0.stable.custom_build"> - <ext_resource path="res://music.ogg" type="AudioStream"></ext_resource> +<resource_file type="PackedScene" subresource_count="10" version="1.1" version_name="Godot Engine v1.1.rc1.custom_build"> <ext_resource path="res://tileset.xml" type="TileSet"></ext_resource> - <ext_resource path="res://parallax_bg.xml" type="PackedScene"></ext_resource> - <ext_resource path="res://player.xml" type="PackedScene"></ext_resource> + <ext_resource path="res://coin.xml" type="PackedScene"></ext_resource> <ext_resource path="res://moving_platform.xml" type="PackedScene"></ext_resource> <ext_resource path="res://seesaw.xml" type="PackedScene"></ext_resource> - <ext_resource path="res://coin.xml" type="PackedScene"></ext_resource> + <ext_resource path="res://one_way_platform.xml" type="PackedScene"></ext_resource> + <ext_resource path="res://player.xml" type="PackedScene"></ext_resource> + <ext_resource path="res://music.ogg" type="AudioStream"></ext_resource> <ext_resource path="res://enemy.xml" type="PackedScene"></ext_resource> + <ext_resource path="res://parallax_bg.xml" type="PackedScene"></ext_resource> <main_resource> <dictionary name="_bundled" shared="false"> + <string> "conn_count" </string> + <int> 0 </int> + <string> "conns" </string> + <int_array len="0"> </int_array> <string> "names" </string> - <string_array len="130"> + <string_array len="133"> <string> "stage" </string> <string> "Node" </string> <string> "_import_path" </string> @@ -39,6 +44,7 @@ <string> "collision/friction" </string> <string> "collision/bounce" </string> <string> "collision/layers" </string> + <string> "collision/mask" </string> <string> "tile_data" </string> <string> "coins" </string> <string> "coin" </string> @@ -84,8 +90,6 @@ <string> "coin 31 7 3" </string> <string> "coin 31 7 4" </string> <string> "coin 31 7 5" </string> - <string> "player" </string> - <string> "RigidBody2D" </string> <string> "props" </string> <string> "moving_platform" </string> <string> "Node2D" </string> @@ -94,6 +98,10 @@ <string> "moving_platform 2" </string> <string> "moving_platform 3" </string> <string> "seesaw" </string> + <string> "one_way_platform" </string> + <string> "StaticBody2D" </string> + <string> "player" </string> + <string> "RigidBody2D" </string> <string> "music" </string> <string> "StreamPlayer" </string> <string> "stream/stream" </string> @@ -143,134 +151,146 @@ <string> "uppercase" </string> <string> "percent_visible" </string> </string_array> - <string> "version" </string> - <int> 1 </int> - <string> "conn_count" </string> - <int> 0 </int> <string> "node_count" </string> - <int> 66 </int> + <int> 67 </int> + <string> "nodes" </string> + <int_array len="973"> -1, -1, 1, 0, -1, 2, 2, 0, 3, 1, 0, 0, 0, 5, 4, -1, 25, 2, 0, 6, 2, 7, 3, 8, 3, 9, 4, 10, 5, 11, 6, 12, 7, 13, 8, 14, 2, 15, 8, 16, 9, 17, 10, 18, 11, 19, 12, 20, 13, 21, 8, 22, 14, 23, 14, 24, 3, 25, 6, 26, 4, 27, 4, 28, 15, 3, 16, 0, 0, 0, 1, 29, -1, 1, 2, 0, 0, 2, 0, 31, 30, 17, 3, 2, 0, 10, 18, 3, 19, 0, 2, 0, 31, 32, 17, 3, 2, 0, 10, 20, 3, 19, 0, 2, 0, 31, 33, 17, 3, 2, 0, 10, 21, 3, 19, 0, 2, 0, 31, 34, 17, 3, 2, 0, 10, 22, 3, 19, 0, 2, 0, 31, 35, 17, 3, 2, 0, 10, 23, 3, 19, 0, 2, 0, 31, 36, 17, 3, 2, 0, 10, 24, 3, 19, 0, 2, 0, 31, 37, 17, 3, 2, 0, 10, 25, 3, 19, 0, 2, 0, 31, 38, 17, 3, 2, 0, 10, 26, 3, 19, 0, 2, 0, 31, 39, 17, 3, 2, 0, 10, 27, 3, 19, 0, 2, 0, 31, 40, 17, 3, 2, 0, 10, 28, 3, 19, 0, 2, 0, 31, 41, 17, 3, 2, 0, 10, 29, 3, 19, 0, 2, 0, 31, 42, 17, 3, 2, 0, 10, 30, 3, 19, 0, 2, 0, 31, 43, 17, 3, 2, 0, 10, 31, 3, 19, 0, 2, 0, 31, 44, 17, 3, 2, 0, 10, 32, 3, 19, 0, 2, 0, 31, 45, 17, 3, 2, 0, 10, 33, 3, 19, 0, 2, 0, 31, 46, 17, 3, 2, 0, 10, 34, 3, 19, 0, 2, 0, 31, 47, 17, 3, 2, 0, 10, 35, 3, 19, 0, 2, 0, 31, 48, 17, 3, 2, 0, 10, 36, 3, 19, 0, 2, 0, 31, 49, 17, 3, 2, 0, 10, 37, 3, 19, 0, 2, 0, 31, 50, 17, 3, 2, 0, 10, 38, 3, 19, 0, 2, 0, 31, 51, 17, 3, 2, 0, 10, 39, 3, 19, 0, 2, 0, 31, 52, 17, 3, 2, 0, 10, 40, 3, 19, 0, 2, 0, 31, 53, 17, 3, 2, 0, 10, 41, 3, 19, 0, 2, 0, 31, 54, 17, 3, 2, 0, 10, 42, 3, 19, 0, 2, 0, 31, 55, 17, 3, 2, 0, 10, 43, 3, 19, 0, 2, 0, 31, 56, 17, 3, 2, 0, 10, 44, 3, 19, 0, 2, 0, 31, 57, 17, 3, 2, 0, 10, 45, 3, 19, 0, 2, 0, 31, 58, 17, 3, 2, 0, 10, 46, 3, 19, 0, 2, 0, 31, 59, 17, 3, 2, 0, 10, 47, 3, 19, 0, 2, 0, 31, 60, 17, 3, 2, 0, 10, 48, 3, 19, 0, 2, 0, 31, 61, 17, 3, 2, 0, 10, 49, 3, 19, 0, 2, 0, 31, 62, 17, 3, 2, 0, 10, 50, 3, 19, 0, 2, 0, 31, 63, 17, 3, 2, 0, 10, 51, 3, 19, 0, 2, 0, 31, 64, 17, 3, 2, 0, 10, 52, 3, 19, 0, 2, 0, 31, 65, 17, 3, 2, 0, 10, 53, 3, 19, 0, 2, 0, 31, 66, 17, 3, 2, 0, 10, 54, 3, 19, 0, 2, 0, 31, 67, 17, 3, 2, 0, 10, 55, 3, 19, 0, 2, 0, 31, 68, 17, 3, 2, 0, 10, 56, 3, 19, 0, 2, 0, 31, 69, 17, 3, 2, 0, 10, 57, 3, 19, 0, 2, 0, 31, 70, 17, 3, 2, 0, 10, 58, 3, 19, 0, 2, 0, 31, 71, 17, 3, 2, 0, 10, 59, 3, 19, 0, 2, 0, 31, 72, 17, 3, 2, 0, 10, 60, 3, 19, 0, 0, 0, 1, 73, -1, 1, 2, 0, 0, 45, 0, 75, 74, 61, 5, 2, 0, 10, 62, 3, 63, 76, 64, 77, 65, 0, 45, 0, 75, 78, 61, 5, 2, 0, 10, 66, 3, 63, 76, 67, 77, 68, 0, 45, 0, 75, 79, 61, 5, 2, 0, 10, 69, 3, 63, 76, 70, 77, 68, 0, 45, 0, 75, 80, 71, 3, 2, 0, 10, 72, 3, 73, 0, 45, 0, 82, 81, 74, 3, 2, 0, 10, 75, 3, 76, 0, 0, 0, 84, 83, 77, 3, 2, 0, 10, 78, 3, 79, 0, 0, 0, 86, 85, -1, 7, 2, 0, 87, 80, 88, 14, 89, 2, 90, 81, 91, 2, 92, 14, 0, 0, 0, 1, 93, -1, 1, 2, 0, 0, 53, 0, 84, 94, 82, 3, 2, 0, 10, 83, 3, 84, 0, 53, 0, 84, 95, 82, 3, 2, 0, 10, 85, 3, 84, 0, 53, 0, 84, 96, 82, 3, 2, 0, 10, 86, 3, 84, 0, 53, 0, 84, 97, 82, 3, 2, 0, 10, 87, 3, 84, 0, 53, 0, 84, 98, 82, 3, 2, 0, 10, 88, 3, 84, 0, 53, 0, 84, 99, 82, 3, 2, 0, 10, 89, 3, 84, 0, 53, 0, 84, 100, 82, 3, 2, 0, 10, 90, 3, 84, 0, 53, 0, 84, 101, 82, 3, 2, 0, 10, 91, 3, 84, 0, 53, 0, 84, 102, 82, 3, 2, 0, 10, 92, 3, 84, 0, 53, 0, 84, 103, 82, 3, 2, 0, 10, 93, 3, 84, 0, 53, 0, 84, 104, 82, 3, 2, 0, 10, 94, 3, 84, 0, 0, 0, 106, 105, 95, 2, 2, 0, 3, 96, 0, 0, 0, 107, 107, -1, 30, 2, 0, 6, 2, 7, 3, 8, 3, 9, 4, 108, 97, 109, 98, 110, 99, 111, 100, 112, 0, 113, 0, 114, 0, 115, 0, 116, 2, 117, 2, 118, 13, 119, 3, 120, 6, 121, 101, 122, 3, 123, 102, 124, 6, 125, 14, 126, 14, 127, 103, 128, 8, 129, 8, 130, 2, 131, 14, 132, 104, 0 </int_array> <string> "variants" </string> - <array len="103" shared="false"> + <array len="105" shared="false"> <node_path> "" </node_path> <dictionary shared="false"> + <string> "__editor_plugin_screen__" </string> + <string> "2D" </string> <string> "__editor_plugin_states__" </string> <dictionary shared="false"> - <string> "Script" </string> - <dictionary shared="false"> - <string> "current" </string> - <int> 2 </int> - <string> "sources" </string> - <array len="4" shared="false"> - <string> "res://moving_platform.gd" </string> - <string> "res://enemy.gd" </string> - <string> "res://player.gd" </string> - <string> "res://coin.gd" </string> - </array> - </dictionary> <string> "2D" </string> <dictionary shared="false"> - <string> "pixel_snap" </string> + <string> "ofs" </string> + <vector2> 328.379, 822.226 </vector2> + <string> "snap_grid" </string> <bool> False </bool> - <string> "zoom" </string> - <real> 0.814506 </real> - <string> "use_snap" </string> + <string> "snap_offset" </string> + <vector2> 0, 0 </vector2> + <string> "snap_pixel" </string> <bool> False </bool> - <string> "snap_vec" </string> + <string> "snap_relative" </string> + <bool> False </bool> + <string> "snap_rotation" </string> + <bool> False </bool> + <string> "snap_rotation_offset" </string> + <real> 0 </real> + <string> "snap_rotation_step" </string> + <real> 0.261799 </real> + <string> "snap_show_grid" </string> + <bool> False </bool> + <string> "snap_step" </string> <vector2> 10, 10 </vector2> - <string> "ofs" </string> - <vector2> 177.488, 709.633 </vector2> + <string> "zoom" </string> + <real> 1.108032 </real> </dictionary> <string> "3D" </string> <dictionary shared="false"> + <string> "ambient_light_color" </string> + <color> 0.15, 0.15, 0.15, 1 </color> + <string> "default_light" </string> + <bool> True </bool> + <string> "default_srgb" </string> + <bool> False </bool> + <string> "deflight_rot_x" </string> + <real> 0.942478 </real> <string> "deflight_rot_y" </string> <real> 0.628319 </real> - <string> "zfar" </string> - <real> 500 </real> <string> "fov" </string> <real> 45 </real> + <string> "show_grid" </string> + <bool> True </bool> + <string> "show_origin" </string> + <bool> True </bool> + <string> "viewport_mode" </string> + <int> 1 </int> <string> "viewports" </string> <array len="4" shared="false"> <dictionary shared="false"> <string> "distance" </string> - <real> 4 </real> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> + <real> 18.643827 </real> <string> "listener" </string> <bool> True </bool> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> <string> "use_environment" </string> <bool> False </bool> <string> "use_orthogonal" </string> <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> <string> "x_rot" </string> <real> 0 </real> <string> "y_rot" </string> <real> 0 </real> + </dictionary> + <dictionary shared="false"> + <string> "distance" </string> + <real> 4 </real> <string> "listener" </string> <bool> False </bool> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> <string> "use_environment" </string> <bool> False </bool> <string> "use_orthogonal" </string> <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> <string> "x_rot" </string> <real> 0 </real> <string> "y_rot" </string> <real> 0 </real> + </dictionary> + <dictionary shared="false"> + <string> "distance" </string> + <real> 4 </real> <string> "listener" </string> <bool> False </bool> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> <string> "use_environment" </string> <bool> False </bool> <string> "use_orthogonal" </string> <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> <string> "x_rot" </string> <real> 0 </real> <string> "y_rot" </string> <real> 0 </real> + </dictionary> + <dictionary shared="false"> + <string> "distance" </string> + <real> 4 </real> <string> "listener" </string> <bool> False </bool> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> <string> "use_environment" </string> <bool> False </bool> <string> "use_orthogonal" </string> <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> + <string> "x_rot" </string> + <real> 0 </real> + <string> "y_rot" </string> + <real> 0 </real> </dictionary> </array> - <string> "viewport_mode" </string> - <int> 1 </int> - <string> "default_light" </string> - <bool> True </bool> - <string> "ambient_light_color" </string> - <color> 0.15, 0.15, 0.15, 1 </color> - <string> "show_grid" </string> - <bool> True </bool> - <string> "show_origin" </string> - <bool> True </bool> + <string> "zfar" </string> + <real> 500 </real> <string> "znear" </string> <real> 0.1 </real> - <string> "default_srgb" </string> - <bool> False </bool> - <string> "deflight_rot_x" </string> - <real> 0.942478 </real> + </dictionary> + <string> "Script" </string> + <dictionary shared="false"> + <string> "current" </string> + <int> 0 </int> + <string> "sources" </string> + <array len="4" shared="false"> + <string> "res://moving_platform.gd" </string> + <string> "res://enemy.gd" </string> + <string> "res://player.gd" </string> + <string> "res://coin.gd" </string> + </array> </dictionary> </dictionary> <string> "__editor_run_settings__" </string> @@ -280,8 +300,6 @@ <string> "run_mode" </string> <int> 0 </int> </dictionary> - <string> "__editor_plugin_screen__" </string> - <string> "3D" </string> </dictionary> <bool> True </bool> <real> 1 </real> @@ -296,115 +314,113 @@ <matrix32> 1, 0, 0, 1, 0, 0 </matrix32> <int> 2 </int> <bool> False </bool> - <int_array len="1998"> 0, 2, 70, 536870914, 71, 10, 72, 10, 73, 10, 74, 10, 75, 10, 76, 10, 77, 10, 78, 10, 65536, 2, 65606, 536870914, 65607, 10, 65608, 10, 65609, 10, 65610, 10, 65611, 10, 65612, 10, 65613, 10, 65614, 10, 131072, 2, 131142, 536870914, 131143, 10, 131144, 10, 131145, 10, 131146, 10, 131147, 10, 131148, 10, 131149, 10, 131150, 10, 196608, 2, 196626, 9, 196678, 536870914, 196679, 10, 196680, 10, 196681, 10, 196682, 10, 196683, 10, 196684, 10, 196685, 10, 196686, 10, 262144, 2, 262162, 8, 262214, 536870914, 262215, 10, 262216, 10, 262217, 10, 262218, 10, 262219, 10, 262220, 10, 262221, 10, 262222, 10, 327680, 2, 327697, 536870921, 327698, 7, 327733, 9, 327750, 536870914, 327751, 10, 327752, 10, 327753, 10, 327754, 10, 327755, 10, 327756, 10, 327757, 10, 327758, 10, 393216, 2, 393233, 536870920, 393234, 7, 393257, 9, 393269, 7, 393286, 536870914, 393287, 10, 393288, 10, 393289, 10, 393290, 10, 393291, 10, 393292, 10, 393293, 10, 393294, 10, 458752, 2, 458769, 7, 458770, 8, 458790, 9, 458793, 8, 458805, 8, 458822, 536870914, 458823, 10, 458824, 10, 458825, 10, 458826, 10, 458827, 10, 458828, 10, 458829, 10, 458830, 10, 524288, 4, 524289, 1, 524304, 536870913, 524305, 536870918, 524306, 6, 524307, 5, 524308, 1, 524326, 8, 524329, 7, 524341, 7, 524358, 536870914, 524359, 10, 524360, 10, 524361, 10, 524362, 10, 524363, 10, 524364, 10, 524365, 10, 524366, 10, 589824, 10, 589825, 13, 589840, 536870914, 589841, 10, 589842, 10, 589843, 10, 589844, 2, 589862, 7, 589865, 7, 589876, 536870913, 589877, 6, 589878, 1, 589894, 536870914, 589895, 10, 589896, 10, 589897, 10, 589898, 10, 589899, 10, 589900, 10, 589901, 10, 589902, 10, 655360, 2, 655376, 536870914, 655377, 10, 655378, 10, 655379, 10, 655380, 2, 655398, 7, 655401, 8, 655412, 536870925, 655413, 11, 655414, 13, 655430, 536870914, 655431, 10, 655432, 10, 655433, 10, 655434, 10, 655435, 10, 655436, 10, 655437, 10, 655438, 10, 720896, 2, 720912, 536870914, 720913, 10, 720914, 10, 720915, 10, 720916, 2, 720934, 8, 720937, 7, 720958, 536870913, 720959, 5, 720960, 536870917, 720961, 5, 720962, 5, 720963, 536870917, 720964, 5, 720965, 0, 720966, 536870916, 720967, 10, 720968, 10, 720969, 10, 720970, 10, 720971, 10, 720972, 10, 720973, 10, 720974, 10, 786432, 2, 786437, 9, 786448, 536870914, 786449, 10, 786450, 10, 786451, 10, 786452, 2, 786464, 536870913, 786465, 1, 786470, 7, 786473, 7, 786474, 536870924, 786475, 1, 786494, 536870914, 786495, 10, 786496, 10, 786497, 10, 786498, 10, 786499, 10, 786500, 10, 786501, 10, 786502, 10, 786503, 10, 786504, 10, 786505, 10, 786506, 10, 786507, 10, 786508, 10, 786509, 10, 851968, 2, 851973, 7, 851984, 536870914, 851985, 10, 851986, 10, 851987, 10, 851988, 2, 851996, 536870913, 851997, 1, 852000, 536870914, 852001, 3, 852006, 7, 852009, 536870913, 852011, 2, 852030, 536870914, 852031, 10, 852032, 10, 852033, 10, 852034, 10, 852035, 10, 852036, 10, 852037, 10, 852038, 10, 852039, 10, 852040, 10, 852041, 10, 852042, 10, 852043, 10, 852044, 10, 852045, 10, 917504, 2, 917506, 9, 917509, 7, 917512, 536870921, 917520, 536870925, 917521, 11, 917522, 11, 917523, 11, 917524, 13, 917532, 536870925, 917533, 13, 917536, 536870914, 917537, 4, 917538, 1, 917540, 536870913, 917541, 0, 917542, 1, 917545, 536870914, 917546, 10, 917547, 4, 917548, 1, 917566, 536870914, 917567, 10, 917568, 10, 917569, 10, 917570, 10, 917571, 10, 917572, 10, 917573, 10, 917574, 10, 917575, 10, 917576, 10, 917577, 10, 917578, 10, 917579, 10, 917580, 10, 917581, 10, 983040, 2, 983042, 7, 983045, 7, 983048, 536870920, 983050, 536870913, 983051, 1, 983064, 536870913, 983065, 1, 983072, 536870914, 983073, 10, 983074, 4, 983075, 0, 983076, 536870916, 983077, 10, 983078, 4, 983079, 536870912, 983080, 536870912, 983081, 536870916, 983082, 10, 983083, 10, 983084, 2, 983095, 9, 983102, 536870914, 983103, 10, 983104, 10, 983105, 10, 983106, 10, 983107, 10, 983108, 10, 983109, 10, 983110, 10, 983111, 10, 983112, 10, 983113, 10, 983114, 10, 983115, 10, 983116, 10, 983117, 10, 1048576, 2, 1048578, 8, 1048581, 8, 1048584, 536870919, 1048586, 536870925, 1048587, 13, 1048600, 536870925, 1048601, 13, 1048604, 9, 1048608, 536870925, 1048609, 536870923, 1048610, 536870923, 1048611, 536870923, 1048612, 10, 1048613, 10, 1048614, 10, 1048615, 10, 1048616, 10, 1048617, 10, 1048618, 10, 1048619, 10, 1048620, 4, 1048621, 1, 1048630, 536870921, 1048631, 8, 1048638, 536870914, 1048639, 10, 1048640, 10, 1048641, 10, 1048642, 10, 1048643, 10, 1048644, 10, 1048645, 10, 1048646, 10, 1048647, 10, 1048648, 10, 1048649, 10, 1048650, 10, 1048651, 10, 1048652, 10, 1048653, 10, 1114112, 4, 1114113, 0, 1114114, 6, 1114115, 0, 1114116, 0, 1114117, 6, 1114118, 1, 1114120, 536870920, 1114128, 536870913, 1114129, 5, 1114130, 536870917, 1114131, 5, 1114132, 0, 1114133, 1, 1114140, 7, 1114141, 536870921, 1114148, 536870914, 1114149, 10, 1114150, 10, 1114151, 10, 1114152, 10, 1114153, 10, 1114154, 10, 1114155, 10, 1114156, 10, 1114157, 2, 1114166, 536870920, 1114167, 8, 1114174, 536870914, 1114175, 10, 1114176, 10, 1114177, 10, 1114178, 10, 1114179, 10, 1114180, 10, 1114181, 10, 1114182, 10, 1114183, 10, 1114184, 10, 1114185, 10, 1114186, 10, 1114187, 10, 1114188, 10, 1179648, 10, 1179649, 10, 1179650, 10, 1179651, 10, 1179652, 10, 1179653, 10, 1179654, 2, 1179656, 536870919, 1179663, 536870915, 1179665, 10, 1179666, 10, 1179667, 10, 1179668, 10, 1179669, 4, 1179670, 12, 1179675, 9, 1179676, 8, 1179677, 8, 1179684, 536870914, 1179685, 10, 1179686, 10, 1179687, 10, 1179688, 10, 1179689, 10, 1179690, 10, 1179691, 10, 1179692, 10, 1179693, 4, 1179694, 1, 1179701, 9, 1179702, 536870919, 1179703, 7, 1179710, 536870914, 1179711, 10, 1179712, 10, 1179713, 10, 1179714, 10, 1179715, 10, 1179716, 10, 1179717, 10, 1179718, 10, 1179719, 10, 1179720, 10, 1179721, 10, 1179722, 10, 1245184, 10, 1245185, 10, 1245186, 10, 1245187, 10, 1245188, 10, 1245189, 10, 1245190, 2, 1245192, 536870919, 1245199, 536870913, 1245200, 536870916, 1245201, 10, 1245202, 10, 1245203, 10, 1245204, 10, 1245205, 10, 1245207, 1, 1245211, 7, 1245212, 7, 1245213, 536870920, 1245220, 536870914, 1245221, 10, 1245222, 10, 1245223, 10, 1245224, 10, 1245225, 10, 1245226, 10, 1245227, 10, 1245228, 10, 1245229, 10, 1245230, 2, 1245237, 8, 1245238, 536870919, 1245239, 8, 1245240, 536870921, 1245246, 536870914, 1245247, 10, 1245248, 10, 1245249, 10, 1245250, 10, 1245251, 10, 1245252, 10, 1245253, 10, 1245254, 10, 1245255, 10, 1245256, 10, 1245257, 10, 1245258, 10, 1310720, 10, 1310721, 10, 1310722, 10, 1310723, 10, 1310724, 10, 1310725, 10, 1310726, 2, 1310728, 536870920, 1310730, 536870913, 1310731, 1, 1310734, 536870913, 1310735, 536870916, 1310736, 10, 1310737, 10, 1310738, 10, 1310739, 10, 1310740, 10, 1310741, 10, 1310742, 10, 1310743, 4, 1310744, 1, 1310747, 8, 1310748, 7, 1310749, 536870919, 1310756, 536870914, 1310757, 10, 1310758, 10, 1310759, 10, 1310760, 10, 1310761, 10, 1310762, 10, 1310763, 10, 1310764, 10, 1310765, 10, 1310766, 4, 1310767, 5, 1310768, 12, 1310773, 7, 1310774, 536870919, 1310775, 7, 1310776, 536870919, 1310782, 536870914, 1310783, 10, 1310784, 10, 1310785, 10, 1310786, 10, 1310787, 10, 1310788, 10, 1310789, 10, 1310790, 10, 1310791, 10, 1310792, 10, 1310793, 10, 1376256, 10, 1376257, 10, 1376258, 10, 1376259, 10, 1376260, 10, 1376261, 10, 1376262, 4, 1376263, 0, 1376264, 0, 1376265, 0, 1376266, 536870916, 1376267, 4, 1376268, 0, 1376269, 0, 1376270, 536870916, 1376271, 10, 1376272, 10, 1376273, 10, 1376274, 10, 1376275, 10, 1376276, 10, 1376277, 10, 1376278, 10, 1376279, 10, 1376280, 4, 1376281, 12, 1376283, 8, 1376284, 8, 1376285, 536870920, 1376287, 536870924, 1376288, 0, 1376289, 5, 1376290, 536870917, 1376291, 0, 1376292, 536870916, 1376293, 10, 1376294, 10, 1376295, 10, 1376296, 10, 1376297, 10, 1376298, 10, 1376299, 10, 1376300, 10, 1376301, 10, 1376302, 10, 1376303, 10, 1376305, 12, 1376309, 7, 1376310, 536870920, 1376311, 7, 1376312, 536870920, 1376318, 536870914, 1376319, 10, 1376320, 10, 1376321, 10, 1376322, 10, 1376323, 10, 1376324, 10, 1376325, 10, 1376326, 10, 1376327, 10, 1376328, 10, 1441792, 10, 1441793, 10, 1441794, 10, 1441795, 10, 1441796, 10, 1441797, 10, 1441798, 10, 1441799, 10, 1441800, 10, 1441801, 10, 1441802, 10, 1441803, 10, 1441804, 10, 1441805, 10, 1441806, 10, 1441807, 10, 1441808, 10, 1441809, 10, 1441810, 10, 1441811, 10, 1441812, 10, 1441813, 10, 1441814, 10, 1441815, 10, 1441816, 10, 1441818, 0, 1441819, 6, 1441820, 6, 1441821, 536870918, 1441822, 5, 1441824, 10, 1441825, 10, 1441826, 10, 1441827, 10, 1441828, 10, 1441829, 10, 1441830, 10, 1441831, 10, 1441832, 10, 1441833, 10, 1441834, 10, 1441835, 10, 1441836, 10, 1441837, 10, 1441838, 10, 1441839, 10, 1441840, 10, 1441842, 0, 1441843, 0, 1441844, 0, 1441845, 6, 1441846, 536870918, 1441847, 6, 1441848, 536870918, 1441849, 0, 1441850, 5, 1441851, 536870917, 1441852, 5, 1441853, 0, 1441854, 536870916, 1441855, 10, 1441856, 10, 1441857, 10, 1441858, 10, 1441859, 10, 1441860, 10, 1441861, 10, 1441862, 10, 1441863, 10, 1507328, 10, 1507329, 10, 1507330, 10, 1507331, 10, 1507332, 10, 1507333, 10, 1507334, 10, 1507335, 10, 1507336, 10, 1507337, 10, 1507338, 10, 1507339, 10, 1507340, 10, 1507341, 10, 1507342, 10, 1507343, 10, 1507344, 10, 1507345, 10, 1507346, 10, 1507347, 10, 1507348, 10, 1507349, 10, 1507350, 10, 1507351, 10, 1507352, 10, 1507353, 10, 1507354, 10, 1507355, 10, 1507356, 10, 1507357, 10, 1507358, 10, 1507359, 10, 1507360, 10, 1507361, 10, 1507362, 10, 1507363, 10, 1507364, 10, 1507365, 10, 1507366, 10, 1507367, 10, 1507368, 10, 1507369, 10, 1507370, 10, 1507371, 10, 1507372, 10, 1507373, 10, 1507374, 10, 1507375, 10, 1507376, 10, 1507377, 10, 1507378, 10, 1507379, 10, 1507380, 10, 1507381, 10, 1507382, 10, 1507383, 10, 1507384, 10, 1507385, 10, 1507386, 10, 1507387, 10, 1507388, 10, 1507389, 10, 1507390, 10, 1507391, 10, 1507392, 10, 1507393, 10, 1507394, 10, 1507395, 10, 1507396, 10, 1507397, 10, 1507398, 10, 1507399, 10, 1572864, 10, 1572865, 10, 1572866, 10, 1572867, 10, 1572868, 10, 1572869, 10, 1572870, 10, 1572871, 10, 1572872, 10, 1572873, 10, 1572874, 10, 1572875, 10, 1572876, 10, 1572877, 10, 1572878, 10, 1572879, 10, 1572880, 10, 1572881, 10, 1572882, 10, 1572883, 10, 1572884, 10, 1572885, 10, 1572886, 10, 1572887, 10, 1572888, 10, 1572889, 10, 1572890, 10, 1572891, 10, 1572892, 10, 1572893, 10, 1572894, 10, 1572895, 10, 1572896, 10, 1572897, 10, 1572898, 10, 1572899, 10, 1572900, 10, 1572901, 10, 1572902, 10, 1572903, 10, 1572904, 10, 1572905, 10, 1572906, 10, 1572907, 10, 1572908, 10, 1572909, 10, 1572910, 10, 1572911, 10, 1572912, 10, 1572913, 10, 1572914, 10, 1572915, 10, 1572916, 10, 1572917, 10, 1572918, 10, 1572919, 10, 1572920, 10, 1572921, 10, 1572922, 10, 1572923, 10, 1572924, 10, 1572925, 10, 1572926, 10, 1572927, 10, 1572928, 10, 1572929, 10, 1572930, 10, 1572931, 10, 1572932, 10, 1572933, 10, 1572934, 10, 1572935, 10, 1638400, 10, 1638401, 10, 1638402, 10, 1638403, 10, 1638404, 10, 1638405, 10, 1638406, 10, 1638407, 10, 1638408, 10, 1638409, 10, 1638410, 10, 1638411, 10, 1638412, 10, 1638413, 10, 1638414, 10, 1638415, 10, 1638416, 10, 1638417, 10, 1638418, 10, 1638419, 10, 1638420, 10, 1638421, 10, 1638422, 10, 1638423, 10, 1638424, 10, 1638425, 10, 1638426, 10, 1638427, 10, 1638428, 10, 1638429, 10, 1638430, 10, 1638431, 10, 1638432, 10, 1638433, 10, 1638434, 10, 1638435, 10, 1638436, 10, 1638437, 10, 1638438, 10, 1638439, 10, 1638440, 10, 1638441, 10, 1638442, 10, 1638443, 10, 1638444, 10, 1638445, 10, 1638446, 10, 1638447, 10, 1638448, 10, 1638449, 10, 1638450, 10, 1638451, 10, 1638452, 10, 1638453, 10, 1638454, 10, 1638455, 10, 1638456, 10, 1638457, 10, 1638458, 10, 1638459, 10, 1638460, 10, 1638461, 10, 1638462, 10, 1638463, 10, 1638464, 10, 1638465, 10, 1638466, 10, 1638467, 10, 1638468, 10, 1638469, 10, 1638470, 10, 1638471, 10, 1703952, 10, 1703953, 10, 1703954, 10, 1703955, 10, 1703956, 10, 1703957, 10, 1703958, 10, 1703959, 10, 1703960, 10, 1703961, 10, 1703962, 10, 1703963, 10, 1703964, 10, 1703965, 10, 1703966, 10, 1703967, 10, 1703968, 10, 1703969, 10, 1703970, 10, 1703971, 10, 1703972, 10, 1703973, 10, 1703974, 10, 1703975, 10, 1703976, 10, 1703977, 10, 1703978, 10, 1703979, 10, 1703980, 10, 1703981, 10, 1703982, 10, 1703983, 10, 1703984, 10, 1703985, 10, 1703986, 10, 1703987, 10, 1703988, 10, 1703989, 10, 1703990, 10, 1703991, 10, 1703992, 10, 1703993, 10, 1703994, 10, 1703995, 10, 1703996, 10, 1703997, 10, 1703998, 10, 1703999, 10, 1704000, 10, 1704001, 10, 1704002, 10, 1704003, 10, 1704004, 10, 1704005, 10, 1704006, 10, 1704007, 10, 1769488, 10, 1769489, 10, 1769490, 10, 1769491, 10, 1769492, 10, 1769493, 10, 1769494, 10, 1769495, 10, 1769496, 10, 1769497, 10, 1769498, 10, 1769499, 10, 1769500, 10, 1769501, 10, 1769502, 10, 1769503, 10, 1769504, 10, 1769505, 10, 1769506, 10, 1769507, 10, 1769508, 10, 1769509, 10, 1769510, 10, 1769511, 10, 1769512, 10, 1769513, 10, 1769514, 10, 1769515, 10, 1769516, 10, 1769517, 10, 1769518, 10, 1769519, 10, 1769520, 10, 1769521, 10, 1769522, 10, 1769523, 10, 1769524, 10, 1769525, 10, 1769526, 10, 1769527, 10, 1769528, 10, 1769529, 10, 1769530, 10, 1769531, 10, 1769532, 10, 1769533, 10, 1769534, 10, 1769535, 10, 1769536, 10, 1769537, 10, 1769538, 10, 1769539, 10, 1769540, 10, 1769541, 10 </int_array> + <int_array len="2008"> 0, 2, 70, 536870914, 71, 10, 72, 10, 73, 10, 74, 10, 75, 10, 76, 10, 77, 10, 78, 10, 65536, 2, 65606, 536870914, 65607, 10, 65608, 10, 65609, 10, 65610, 10, 65611, 10, 65612, 10, 65613, 10, 65614, 10, 131072, 2, 131142, 536870914, 131143, 10, 131144, 10, 131145, 10, 131146, 10, 131147, 10, 131148, 10, 131149, 10, 131150, 10, 196608, 2, 196626, 9, 196678, 536870914, 196679, 10, 196680, 10, 196681, 10, 196682, 10, 196683, 10, 196684, 10, 196685, 10, 196686, 10, 262144, 2, 262162, 8, 262214, 536870914, 262215, 10, 262216, 10, 262217, 10, 262218, 10, 262219, 10, 262220, 10, 262221, 10, 262222, 10, 327680, 2, 327697, 536870921, 327698, 7, 327733, 9, 327750, 536870914, 327751, 10, 327752, 10, 327753, 10, 327754, 10, 327755, 10, 327756, 10, 327757, 10, 327758, 10, 393216, 2, 393233, 536870920, 393234, 7, 393257, 9, 393269, 7, 393286, 536870914, 393287, 10, 393288, 10, 393289, 10, 393290, 10, 393291, 10, 393292, 10, 393293, 10, 393294, 10, 458752, 2, 458769, 7, 458770, 8, 458790, 9, 458793, 8, 458805, 8, 458822, 536870914, 458823, 10, 458824, 10, 458825, 10, 458826, 10, 458827, 10, 458828, 10, 458829, 10, 458830, 10, 524288, 4, 524289, 1, 524304, 536870913, 524305, 536870918, 524306, 6, 524307, 5, 524308, 1, 524326, 8, 524329, 7, 524341, 7, 524358, 536870914, 524359, 10, 524360, 10, 524361, 10, 524362, 10, 524363, 10, 524364, 10, 524365, 10, 524366, 10, 589824, 10, 589825, 13, 589840, 536870914, 589841, 10, 589842, 10, 589843, 10, 589844, 2, 589862, 7, 589865, 7, 589876, 536870913, 589877, 6, 589878, 1, 589894, 536870914, 589895, 10, 589896, 10, 589897, 10, 589898, 10, 589899, 10, 589900, 10, 589901, 10, 589902, 10, 655360, 2, 655376, 536870914, 655377, 10, 655378, 10, 655379, 10, 655380, 2, 655398, 7, 655401, 8, 655412, 536870925, 655413, 11, 655414, 13, 655430, 536870914, 655431, 10, 655432, 10, 655433, 10, 655434, 10, 655435, 10, 655436, 10, 655437, 10, 655438, 10, 720896, 2, 720912, 536870914, 720913, 10, 720914, 10, 720915, 10, 720916, 2, 720934, 8, 720937, 7, 720958, 536870913, 720959, 5, 720960, 536870917, 720961, 5, 720962, 5, 720963, 536870917, 720964, 5, 720965, 0, 720966, 536870916, 720967, 10, 720968, 10, 720969, 10, 720970, 10, 720971, 10, 720972, 10, 720973, 10, 720974, 10, 786432, 2, 786437, 9, 786448, 536870914, 786449, 10, 786450, 10, 786451, 10, 786452, 2, 786464, 536870913, 786465, 1, 786470, 7, 786473, 7, 786474, 536870924, 786475, 1, 786494, 536870914, 786495, 10, 786496, 10, 786497, 10, 786498, 10, 786499, 10, 786500, 10, 786501, 10, 786502, 10, 786503, 10, 786504, 10, 786505, 10, 786506, 10, 786507, 10, 786508, 10, 786509, 10, 851968, 2, 851973, 7, 851984, 536870914, 851985, 10, 851986, 10, 851987, 10, 851988, 2, 851996, 536870913, 851997, 1, 852000, 536870914, 852001, 3, 852006, 7, 852009, 536870913, 852011, 2, 852030, 536870914, 852031, 10, 852032, 10, 852033, 10, 852034, 10, 852035, 10, 852036, 10, 852037, 10, 852038, 10, 852039, 10, 852040, 10, 852041, 10, 852042, 10, 852043, 10, 852044, 10, 852045, 10, 917504, 2, 917506, 9, 917509, 7, 917512, 536870921, 917520, 536870925, 917521, 11, 917522, 11, 917523, 11, 917524, 13, 917532, 536870925, 917533, 13, 917536, 536870914, 917537, 4, 917538, 1, 917540, 536870913, 917541, 0, 917542, 1, 917545, 536870914, 917546, 10, 917547, 4, 917548, 1, 917566, 536870914, 917567, 10, 917568, 10, 917569, 10, 917570, 10, 917571, 10, 917572, 10, 917573, 10, 917574, 10, 917575, 10, 917576, 10, 917577, 10, 917578, 10, 917579, 10, 917580, 10, 917581, 10, 983040, 2, 983042, 7, 983045, 7, 983048, 536870920, 983050, 536870913, 983051, 0, 983052, 1, 983064, 536870913, 983065, 1, 983072, 536870914, 983073, 10, 983074, 4, 983075, 0, 983076, 536870916, 983077, 10, 983078, 4, 983079, 536870912, 983080, 536870912, 983081, 536870916, 983082, 10, 983083, 10, 983084, 2, 983095, 9, 983102, 536870914, 983103, 10, 983104, 10, 983105, 10, 983106, 10, 983107, 10, 983108, 10, 983109, 10, 983110, 10, 983111, 10, 983112, 10, 983113, 10, 983114, 10, 983115, 10, 983116, 10, 983117, 10, 1048576, 2, 1048578, 8, 1048581, 8, 1048584, 536870919, 1048586, 536870914, 1048587, 536870922, 1048588, 2, 1048600, 536870925, 1048601, 13, 1048604, 9, 1048608, 536870925, 1048609, 536870923, 1048610, 536870923, 1048611, 536870923, 1048612, 10, 1048613, 10, 1048614, 10, 1048615, 10, 1048616, 10, 1048617, 10, 1048618, 10, 1048619, 10, 1048620, 4, 1048621, 1, 1048630, 536870921, 1048631, 8, 1048638, 536870914, 1048639, 10, 1048640, 10, 1048641, 10, 1048642, 10, 1048643, 10, 1048644, 10, 1048645, 10, 1048646, 10, 1048647, 10, 1048648, 10, 1048649, 10, 1048650, 10, 1048651, 10, 1048652, 10, 1048653, 10, 1114112, 4, 1114113, 0, 1114114, 6, 1114115, 0, 1114116, 0, 1114117, 6, 1114118, 1, 1114120, 536870920, 1114122, 536870925, 1114123, 11, 1114124, 13, 1114128, 536870913, 1114129, 5, 1114130, 536870917, 1114131, 5, 1114132, 0, 1114133, 1, 1114140, 7, 1114141, 536870921, 1114148, 536870914, 1114149, 10, 1114150, 10, 1114151, 10, 1114152, 10, 1114153, 10, 1114154, 10, 1114155, 10, 1114156, 10, 1114157, 2, 1114166, 536870920, 1114167, 8, 1114174, 536870914, 1114175, 10, 1114176, 10, 1114177, 10, 1114178, 10, 1114179, 10, 1114180, 10, 1114181, 10, 1114182, 10, 1114183, 10, 1114184, 10, 1114185, 10, 1114186, 10, 1114187, 10, 1114188, 10, 1179648, 10, 1179649, 10, 1179650, 10, 1179651, 10, 1179652, 10, 1179653, 10, 1179654, 2, 1179656, 536870919, 1179663, 536870915, 1179665, 10, 1179666, 10, 1179667, 10, 1179668, 10, 1179669, 4, 1179670, 12, 1179675, 9, 1179676, 8, 1179677, 8, 1179684, 536870914, 1179685, 10, 1179686, 10, 1179687, 10, 1179688, 10, 1179689, 10, 1179690, 10, 1179691, 10, 1179692, 10, 1179693, 4, 1179694, 1, 1179701, 9, 1179702, 536870919, 1179703, 7, 1179710, 536870914, 1179711, 10, 1179712, 10, 1179713, 10, 1179714, 10, 1179715, 10, 1179716, 10, 1179717, 10, 1179718, 10, 1179719, 10, 1179720, 10, 1179721, 10, 1179722, 10, 1245184, 10, 1245185, 10, 1245186, 10, 1245187, 10, 1245188, 10, 1245189, 10, 1245190, 2, 1245192, 536870919, 1245199, 536870913, 1245200, 536870916, 1245201, 10, 1245202, 10, 1245203, 10, 1245204, 10, 1245205, 10, 1245207, 1, 1245211, 7, 1245212, 7, 1245213, 536870920, 1245220, 536870914, 1245221, 10, 1245222, 10, 1245223, 10, 1245224, 10, 1245225, 10, 1245226, 10, 1245227, 10, 1245228, 10, 1245229, 10, 1245230, 2, 1245237, 8, 1245238, 536870919, 1245239, 8, 1245240, 536870921, 1245246, 536870914, 1245247, 10, 1245248, 10, 1245249, 10, 1245250, 10, 1245251, 10, 1245252, 10, 1245253, 10, 1245254, 10, 1245255, 10, 1245256, 10, 1245257, 10, 1245258, 10, 1310720, 10, 1310721, 10, 1310722, 10, 1310723, 10, 1310724, 10, 1310725, 10, 1310726, 2, 1310728, 536870920, 1310730, 536870913, 1310731, 1, 1310734, 536870913, 1310735, 536870916, 1310736, 10, 1310737, 10, 1310738, 10, 1310739, 10, 1310740, 10, 1310741, 10, 1310742, 10, 1310743, 4, 1310744, 1, 1310747, 8, 1310748, 7, 1310749, 536870919, 1310756, 536870914, 1310757, 10, 1310758, 10, 1310759, 10, 1310760, 10, 1310761, 10, 1310762, 10, 1310763, 10, 1310764, 10, 1310765, 10, 1310766, 4, 1310767, 5, 1310768, 12, 1310773, 7, 1310774, 536870919, 1310775, 7, 1310776, 536870919, 1310782, 536870914, 1310783, 10, 1310784, 10, 1310785, 10, 1310786, 10, 1310787, 10, 1310788, 10, 1310789, 10, 1310790, 10, 1310791, 10, 1310792, 10, 1310793, 10, 1376256, 10, 1376257, 10, 1376258, 10, 1376259, 10, 1376260, 10, 1376261, 10, 1376262, 4, 1376263, 0, 1376264, 0, 1376265, 0, 1376266, 536870916, 1376267, 4, 1376268, 0, 1376269, 0, 1376270, 536870916, 1376271, 10, 1376272, 10, 1376273, 10, 1376274, 10, 1376275, 10, 1376276, 10, 1376277, 10, 1376278, 10, 1376279, 10, 1376280, 4, 1376281, 12, 1376283, 8, 1376284, 8, 1376285, 536870920, 1376287, 536870924, 1376288, 0, 1376289, 5, 1376290, 536870917, 1376291, 0, 1376292, 536870916, 1376293, 10, 1376294, 10, 1376295, 10, 1376296, 10, 1376297, 10, 1376298, 10, 1376299, 10, 1376300, 10, 1376301, 10, 1376302, 10, 1376303, 10, 1376305, 12, 1376309, 7, 1376310, 536870920, 1376311, 7, 1376312, 536870920, 1376318, 536870914, 1376319, 10, 1376320, 10, 1376321, 10, 1376322, 10, 1376323, 10, 1376324, 10, 1376325, 10, 1376326, 10, 1376327, 10, 1376328, 10, 1441792, 10, 1441793, 10, 1441794, 10, 1441795, 10, 1441796, 10, 1441797, 10, 1441798, 10, 1441799, 10, 1441800, 10, 1441801, 10, 1441802, 10, 1441803, 10, 1441804, 10, 1441805, 10, 1441806, 10, 1441807, 10, 1441808, 10, 1441809, 10, 1441810, 10, 1441811, 10, 1441812, 10, 1441813, 10, 1441814, 10, 1441815, 10, 1441816, 10, 1441818, 0, 1441819, 6, 1441820, 6, 1441821, 536870918, 1441822, 5, 1441824, 10, 1441825, 10, 1441826, 10, 1441827, 10, 1441828, 10, 1441829, 10, 1441830, 10, 1441831, 10, 1441832, 10, 1441833, 10, 1441834, 10, 1441835, 10, 1441836, 10, 1441837, 10, 1441838, 10, 1441839, 10, 1441840, 10, 1441842, 0, 1441843, 0, 1441844, 0, 1441845, 6, 1441846, 536870918, 1441847, 6, 1441848, 536870918, 1441849, 0, 1441850, 5, 1441851, 536870917, 1441852, 5, 1441853, 0, 1441854, 536870916, 1441855, 10, 1441856, 10, 1441857, 10, 1441858, 10, 1441859, 10, 1441860, 10, 1441861, 10, 1441862, 10, 1441863, 10, 1507328, 10, 1507329, 10, 1507330, 10, 1507331, 10, 1507332, 10, 1507333, 10, 1507334, 10, 1507335, 10, 1507336, 10, 1507337, 10, 1507338, 10, 1507339, 10, 1507340, 10, 1507341, 10, 1507342, 10, 1507343, 10, 1507344, 10, 1507345, 10, 1507346, 10, 1507347, 10, 1507348, 10, 1507349, 10, 1507350, 10, 1507351, 10, 1507352, 10, 1507353, 10, 1507354, 10, 1507355, 10, 1507356, 10, 1507357, 10, 1507358, 10, 1507359, 10, 1507360, 10, 1507361, 10, 1507362, 10, 1507363, 10, 1507364, 10, 1507365, 10, 1507366, 10, 1507367, 10, 1507368, 10, 1507369, 10, 1507370, 10, 1507371, 10, 1507372, 10, 1507373, 10, 1507374, 10, 1507375, 10, 1507376, 10, 1507377, 10, 1507378, 10, 1507379, 10, 1507380, 10, 1507381, 10, 1507382, 10, 1507383, 10, 1507384, 10, 1507385, 10, 1507386, 10, 1507387, 10, 1507388, 10, 1507389, 10, 1507390, 10, 1507391, 10, 1507392, 10, 1507393, 10, 1507394, 10, 1507395, 10, 1507396, 10, 1507397, 10, 1507398, 10, 1507399, 10, 1572864, 10, 1572865, 10, 1572866, 10, 1572867, 10, 1572868, 10, 1572869, 10, 1572870, 10, 1572871, 10, 1572872, 10, 1572873, 10, 1572874, 10, 1572875, 10, 1572876, 10, 1572877, 10, 1572878, 10, 1572879, 10, 1572880, 10, 1572881, 10, 1572882, 10, 1572883, 10, 1572884, 10, 1572885, 10, 1572886, 10, 1572887, 10, 1572888, 10, 1572889, 10, 1572890, 10, 1572891, 10, 1572892, 10, 1572893, 10, 1572894, 10, 1572895, 10, 1572896, 10, 1572897, 10, 1572898, 10, 1572899, 10, 1572900, 10, 1572901, 10, 1572902, 10, 1572903, 10, 1572904, 10, 1572905, 10, 1572906, 10, 1572907, 10, 1572908, 10, 1572909, 10, 1572910, 10, 1572911, 10, 1572912, 10, 1572913, 10, 1572914, 10, 1572915, 10, 1572916, 10, 1572917, 10, 1572918, 10, 1572919, 10, 1572920, 10, 1572921, 10, 1572922, 10, 1572923, 10, 1572924, 10, 1572925, 10, 1572926, 10, 1572927, 10, 1572928, 10, 1572929, 10, 1572930, 10, 1572931, 10, 1572932, 10, 1572933, 10, 1572934, 10, 1572935, 10, 1638400, 10, 1638401, 10, 1638402, 10, 1638403, 10, 1638404, 10, 1638405, 10, 1638406, 10, 1638407, 10, 1638408, 10, 1638409, 10, 1638410, 10, 1638411, 10, 1638412, 10, 1638413, 10, 1638414, 10, 1638415, 10, 1638416, 10, 1638417, 10, 1638418, 10, 1638419, 10, 1638420, 10, 1638421, 10, 1638422, 10, 1638423, 10, 1638424, 10, 1638425, 10, 1638426, 10, 1638427, 10, 1638428, 10, 1638429, 10, 1638430, 10, 1638431, 10, 1638432, 10, 1638433, 10, 1638434, 10, 1638435, 10, 1638436, 10, 1638437, 10, 1638438, 10, 1638439, 10, 1638440, 10, 1638441, 10, 1638442, 10, 1638443, 10, 1638444, 10, 1638445, 10, 1638446, 10, 1638447, 10, 1638448, 10, 1638449, 10, 1638450, 10, 1638451, 10, 1638452, 10, 1638453, 10, 1638454, 10, 1638455, 10, 1638456, 10, 1638457, 10, 1638458, 10, 1638459, 10, 1638460, 10, 1638461, 10, 1638462, 10, 1638463, 10, 1638464, 10, 1638465, 10, 1638466, 10, 1638467, 10, 1638468, 10, 1638469, 10, 1638470, 10, 1638471, 10, 1703952, 10, 1703953, 10, 1703954, 10, 1703955, 10, 1703956, 10, 1703957, 10, 1703958, 10, 1703959, 10, 1703960, 10, 1703961, 10, 1703962, 10, 1703963, 10, 1703964, 10, 1703965, 10, 1703966, 10, 1703967, 10, 1703968, 10, 1703969, 10, 1703970, 10, 1703971, 10, 1703972, 10, 1703973, 10, 1703974, 10, 1703975, 10, 1703976, 10, 1703977, 10, 1703978, 10, 1703979, 10, 1703980, 10, 1703981, 10, 1703982, 10, 1703983, 10, 1703984, 10, 1703985, 10, 1703986, 10, 1703987, 10, 1703988, 10, 1703989, 10, 1703990, 10, 1703991, 10, 1703992, 10, 1703993, 10, 1703994, 10, 1703995, 10, 1703996, 10, 1703997, 10, 1703998, 10, 1703999, 10, 1704000, 10, 1704001, 10, 1704002, 10, 1704003, 10, 1704004, 10, 1704005, 10, 1704006, 10, 1704007, 10, 1769488, 10, 1769489, 10, 1769490, 10, 1769491, 10, 1769492, 10, 1769493, 10, 1769494, 10, 1769495, 10, 1769496, 10, 1769497, 10, 1769498, 10, 1769499, 10, 1769500, 10, 1769501, 10, 1769502, 10, 1769503, 10, 1769504, 10, 1769505, 10, 1769506, 10, 1769507, 10, 1769508, 10, 1769509, 10, 1769510, 10, 1769511, 10, 1769512, 10, 1769513, 10, 1769514, 10, 1769515, 10, 1769516, 10, 1769517, 10, 1769518, 10, 1769519, 10, 1769520, 10, 1769521, 10, 1769522, 10, 1769523, 10, 1769524, 10, 1769525, 10, 1769526, 10, 1769527, 10, 1769528, 10, 1769529, 10, 1769530, 10, 1769531, 10, 1769532, 10, 1769533, 10, 1769534, 10, 1769535, 10, 1769536, 10, 1769537, 10, 1769538, 10, 1769539, 10, 1769540, 10, 1769541, 10 </int_array> <dictionary shared="false"> <string> "_edit_lock_" </string> <bool> True </bool> </dictionary> - <dictionary shared="false"> - <string> "_editor_collapsed" </string> - <bool> True </bool> - </dictionary> <resource resource_type="PackedScene" path="res://coin.xml"> </resource> - <vector2> 672, 1120 </vector2> + <vector2> 672, 1179 </vector2> <dictionary shared="false"> + <string> "__editor_plugin_screen__" </string> + <string> "2D" </string> <string> "__editor_plugin_states__" </string> <dictionary shared="false"> - <string> "Script" </string> - <dictionary shared="false"> - <string> "current" </string> - <int> 2 </int> - <string> "sources" </string> - <array len="3" shared="false"> - <string> "res://enemy.gd" </string> - <string> "res://player.gd" </string> - <string> "res://coin.gd" </string> - </array> - </dictionary> <string> "2D" </string> <dictionary shared="false"> + <string> "ofs" </string> + <vector2> -34.3697, -21.6562 </vector2> <string> "pixel_snap" </string> <bool> False </bool> <string> "zoom" </string> <real> 3.794776 </real> - <string> "ofs" </string> - <vector2> -34.3697, -21.6562 </vector2> </dictionary> <string> "3D" </string> <dictionary shared="false"> + <string> "default_light" </string> + <bool> True </bool> <string> "fov" </string> <real> 45 </real> - <string> "zfar" </string> - <real> 500 </real> + <string> "show_grid" </string> + <bool> True </bool> + <string> "show_origin" </string> + <bool> True </bool> + <string> "viewport_mode" </string> + <int> 1 </int> <string> "viewports" </string> <array len="4" shared="false"> <dictionary shared="false"> <string> "distance" </string> <real> 4 </real> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + <string> "use_environment" </string> + <bool> False </bool> + <string> "use_orthogonal" </string> + <bool> False </bool> <string> "x_rot" </string> <real> 0 </real> <string> "y_rot" </string> <real> 0 </real> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "use_environment" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> </dictionary> <dictionary shared="false"> <string> "distance" </string> <real> 4 </real> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + <string> "use_environment" </string> + <bool> False </bool> + <string> "use_orthogonal" </string> + <bool> False </bool> <string> "x_rot" </string> <real> 0 </real> <string> "y_rot" </string> <real> 0 </real> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "use_environment" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> </dictionary> <dictionary shared="false"> <string> "distance" </string> <real> 4 </real> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + <string> "use_environment" </string> + <bool> False </bool> + <string> "use_orthogonal" </string> + <bool> False </bool> <string> "x_rot" </string> <real> 0 </real> <string> "y_rot" </string> <real> 0 </real> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "use_environment" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> </dictionary> <dictionary shared="false"> <string> "distance" </string> <real> 4 </real> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + <string> "use_environment" </string> + <bool> False </bool> + <string> "use_orthogonal" </string> + <bool> False </bool> <string> "x_rot" </string> <real> 0 </real> <string> "y_rot" </string> <real> 0 </real> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "use_environment" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> </dictionary> </array> - <string> "viewport_mode" </string> - <int> 1 </int> - <string> "default_light" </string> - <bool> True </bool> - <string> "show_grid" </string> - <bool> True </bool> + <string> "zfar" </string> + <real> 500 </real> <string> "znear" </string> <real> 0.1 </real> - <string> "show_origin" </string> - <bool> True </bool> + </dictionary> + <string> "Script" </string> + <dictionary shared="false"> + <string> "current" </string> + <int> 2 </int> + <string> "sources" </string> + <array len="3" shared="false"> + <string> "res://enemy.gd" </string> + <string> "res://player.gd" </string> + <string> "res://coin.gd" </string> + </array> </dictionary> </dictionary> <string> "__editor_run_settings__" </string> @@ -414,11 +430,9 @@ <string> "run_mode" </string> <int> 0 </int> </dictionary> - <string> "__editor_plugin_screen__" </string> - <string> "2D" </string> </dictionary> - <vector2> 704, 1120 </vector2> - <vector2> 736, 1120 </vector2> + <vector2> 704, 1179 </vector2> + <vector2> 736, 1179 </vector2> <vector2> 1120, 992 </vector2> <vector2> 1152, 992 </vector2> <vector2> 1184, 992 </vector2> @@ -458,124 +472,217 @@ <vector2> 4300.75, 541.058 </vector2> <vector2> 4236.75, 541.058 </vector2> <vector2> 4172.75, 541.058 </vector2> - <resource resource_type="PackedScene" path="res://player.xml"> </resource> - <vector2> 251.684, 1045.6 </vector2> + <resource resource_type="PackedScene" path="res://moving_platform.xml"> </resource> + <vector2> 1451.86, 742.969 </vector2> <dictionary shared="false"> + <string> "__editor_plugin_screen__" </string> + <string> "2D" </string> <string> "__editor_plugin_states__" </string> <dictionary shared="false"> - <string> "Script" </string> - <dictionary shared="false"> - <string> "current" </string> - <int> 0 </int> - <string> "sources" </string> - <array len="1" shared="false"> - <string> "res://player.gd" </string> - </array> - </dictionary> <string> "2D" </string> <dictionary shared="false"> + <string> "ofs" </string> + <vector2> -210.652, -172.81 </vector2> <string> "pixel_snap" </string> <bool> False </bool> <string> "zoom" </string> - <real> 2.272073 </real> - <string> "use_snap" </string> - <bool> False </bool> - <string> "ofs" </string> - <vector2> -181.946, -86.2812 </vector2> - <string> "snap" </string> - <int> 10 </int> + <real> 1.360373 </real> </dictionary> <string> "3D" </string> <dictionary shared="false"> + <string> "default_light" </string> + <bool> True </bool> <string> "fov" </string> - <real> 45 </real> - <string> "zfar" </string> - <real> 500 </real> + <real> 400 </real> + <string> "show_grid" </string> + <bool> True </bool> + <string> "show_origin" </string> + <bool> True </bool> + <string> "viewport_mode" </string> + <int> 1 </int> <string> "viewports" </string> <array len="4" shared="false"> <dictionary shared="false"> <string> "distance" </string> <real> 4 </real> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + <string> "use_environment" </string> + <bool> False </bool> + <string> "use_orthogonal" </string> + <bool> False </bool> <string> "x_rot" </string> <real> 0 </real> <string> "y_rot" </string> <real> 0 </real> - <string> "listener" </string> - <bool> True </bool> + </dictionary> + <dictionary shared="false"> + <string> "distance" </string> + <real> 4 </real> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> <string> "use_environment" </string> <bool> False </bool> <string> "use_orthogonal" </string> <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> + <string> "x_rot" </string> + <real> 0 </real> + <string> "y_rot" </string> + <real> 0 </real> </dictionary> <dictionary shared="false"> <string> "distance" </string> <real> 4 </real> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + <string> "use_environment" </string> + <bool> False </bool> + <string> "use_orthogonal" </string> + <bool> False </bool> <string> "x_rot" </string> <real> 0 </real> <string> "y_rot" </string> <real> 0 </real> - <string> "listener" </string> - <bool> False </bool> + </dictionary> + <dictionary shared="false"> + <string> "distance" </string> + <real> 4 </real> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> <string> "use_environment" </string> <bool> False </bool> <string> "use_orthogonal" </string> <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> + <string> "x_rot" </string> + <real> 0 </real> + <string> "y_rot" </string> + <real> 0 </real> </dictionary> + </array> + <string> "zfar" </string> + <real> 500 </real> + <string> "znear" </string> + <real> 0.1 </real> + </dictionary> + <string> "Script" </string> + <dictionary shared="false"> + <string> "current" </string> + <int> 0 </int> + <string> "sources" </string> + <array len="4" shared="false"> + <string> "res://moving_platform.gd" </string> + <string> "res://enemy.gd" </string> + <string> "res://player.gd" </string> + <string> "res://coin.gd" </string> + </array> + </dictionary> + </dictionary> + <string> "__editor_run_settings__" </string> + <dictionary shared="false"> + <string> "custom_args" </string> + <string> "-l $scene" </string> + <string> "run_mode" </string> + <int> 0 </int> + </dictionary> + </dictionary> + <vector2> 0, 140 </vector2> + <real> 5 </real> + <vector2> 624.824, 545.544 </vector2> + <vector2> 300, 0 </vector2> + <real> 10 </real> + <vector2> 3419.86, 739.662 </vector2> + <vector2> 450, 0 </vector2> + <resource resource_type="PackedScene" path="res://seesaw.xml"> </resource> + <vector2> 2402.79, 849.52 </vector2> + <dictionary shared="false"> + <string> "__editor_plugin_screen__" </string> + <string> "2D" </string> + <string> "__editor_plugin_states__" </string> + <dictionary shared="false"> + <string> "2D" </string> + <dictionary shared="false"> + <string> "ofs" </string> + <vector2> -116.979, -109.897 </vector2> + <string> "pixel_snap" </string> + <bool> False </bool> + <string> "zoom" </string> + <real> 2.050547 </real> + </dictionary> + <string> "3D" </string> + <dictionary shared="false"> + <string> "default_light" </string> + <bool> True </bool> + <string> "fov" </string> + <real> 400 </real> + <string> "show_grid" </string> + <bool> True </bool> + <string> "show_origin" </string> + <bool> True </bool> + <string> "viewport_mode" </string> + <int> 1 </int> + <string> "viewports" </string> + <array len="4" shared="false"> <dictionary shared="false"> <string> "distance" </string> <real> 4 </real> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + <string> "use_environment" </string> + <bool> False </bool> + <string> "use_orthogonal" </string> + <bool> False </bool> <string> "x_rot" </string> <real> 0 </real> <string> "y_rot" </string> <real> 0 </real> - <string> "listener" </string> - <bool> False </bool> + </dictionary> + <dictionary shared="false"> + <string> "distance" </string> + <real> 4 </real> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> <string> "use_environment" </string> <bool> False </bool> <string> "use_orthogonal" </string> <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> + <string> "x_rot" </string> + <real> 0 </real> + <string> "y_rot" </string> + <real> 0 </real> </dictionary> <dictionary shared="false"> <string> "distance" </string> <real> 4 </real> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + <string> "use_environment" </string> + <bool> False </bool> + <string> "use_orthogonal" </string> + <bool> False </bool> <string> "x_rot" </string> <real> 0 </real> <string> "y_rot" </string> <real> 0 </real> - <string> "listener" </string> - <bool> False </bool> + </dictionary> + <dictionary shared="false"> + <string> "distance" </string> + <real> 4 </real> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> <string> "use_environment" </string> <bool> False </bool> <string> "use_orthogonal" </string> <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> + <string> "x_rot" </string> + <real> 0 </real> + <string> "y_rot" </string> + <real> 0 </real> </dictionary> </array> - <string> "deflight_rot_y" </string> - <real> 0.628319 </real> - <string> "default_light" </string> - <bool> True </bool> - <string> "viewport_mode" </string> - <int> 1 </int> - <string> "ambient_light_color" </string> - <color> 0.15, 0.15, 0.15, 1 </color> - <string> "show_grid" </string> - <bool> True </bool> + <string> "zfar" </string> + <real> 500 </real> <string> "znear" </string> <real> 0.1 </real> - <string> "show_origin" </string> - <bool> True </bool> - <string> "deflight_rot_x" </string> - <real> 0.942478 </real> - <string> "default_srgb" </string> - <bool> False </bool> </dictionary> </dictionary> <string> "__editor_run_settings__" </string> @@ -585,110 +692,130 @@ <string> "run_mode" </string> <int> 0 </int> </dictionary> - <string> "__editor_plugin_screen__" </string> - <string> "Script" </string> </dictionary> - <resource resource_type="PackedScene" path="res://moving_platform.xml"> </resource> - <vector2> 1451.86, 742.969 </vector2> + <resource resource_type="PackedScene" path="res://one_way_platform.xml"> </resource> + <vector2> 927.698, 1120.81 </vector2> <dictionary shared="false"> + <string> "__editor_plugin_screen__" </string> + <string> "2D" </string> <string> "__editor_plugin_states__" </string> <dictionary shared="false"> - <string> "Script" </string> - <dictionary shared="false"> - <string> "current" </string> - <int> 0 </int> - <string> "sources" </string> - <array len="4" shared="false"> - <string> "res://moving_platform.gd" </string> - <string> "res://enemy.gd" </string> - <string> "res://player.gd" </string> - <string> "res://coin.gd" </string> - </array> - </dictionary> <string> "2D" </string> <dictionary shared="false"> - <string> "pixel_snap" </string> + <string> "ofs" </string> + <vector2> -133.699, -110.553 </vector2> + <string> "snap_grid" </string> + <bool> False </bool> + <string> "snap_offset" </string> + <vector2> 0, 0 </vector2> + <string> "snap_pixel" </string> + <bool> False </bool> + <string> "snap_relative" </string> + <bool> False </bool> + <string> "snap_rotation" </string> <bool> False </bool> + <string> "snap_rotation_offset" </string> + <real> 0 </real> + <string> "snap_rotation_step" </string> + <real> 0.261799 </real> + <string> "snap_show_grid" </string> + <bool> False </bool> + <string> "snap_step" </string> + <vector2> 10, 10 </vector2> <string> "zoom" </string> - <real> 1.360373 </real> - <string> "ofs" </string> - <vector2> -210.652, -172.81 </vector2> + <real> 2.050546 </real> </dictionary> <string> "3D" </string> <dictionary shared="false"> + <string> "ambient_light_color" </string> + <color> 0.15, 0.15, 0.15, 1 </color> + <string> "default_light" </string> + <bool> True </bool> + <string> "default_srgb" </string> + <bool> False </bool> + <string> "deflight_rot_x" </string> + <real> 0.942478 </real> + <string> "deflight_rot_y" </string> + <real> 0.628319 </real> <string> "fov" </string> - <real> 400 </real> - <string> "zfar" </string> - <real> 500 </real> + <real> 45 </real> + <string> "show_grid" </string> + <bool> True </bool> + <string> "show_origin" </string> + <bool> True </bool> + <string> "viewport_mode" </string> + <int> 1 </int> <string> "viewports" </string> <array len="4" shared="false"> <dictionary shared="false"> <string> "distance" </string> <real> 4 </real> + <string> "listener" </string> + <bool> True </bool> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + <string> "use_environment" </string> + <bool> False </bool> + <string> "use_orthogonal" </string> + <bool> False </bool> <string> "x_rot" </string> <real> 0 </real> <string> "y_rot" </string> <real> 0 </real> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "use_environment" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> </dictionary> <dictionary shared="false"> <string> "distance" </string> <real> 4 </real> + <string> "listener" </string> + <bool> False </bool> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + <string> "use_environment" </string> + <bool> False </bool> + <string> "use_orthogonal" </string> + <bool> False </bool> <string> "x_rot" </string> <real> 0 </real> <string> "y_rot" </string> <real> 0 </real> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "use_environment" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> </dictionary> <dictionary shared="false"> <string> "distance" </string> <real> 4 </real> + <string> "listener" </string> + <bool> False </bool> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + <string> "use_environment" </string> + <bool> False </bool> + <string> "use_orthogonal" </string> + <bool> False </bool> <string> "x_rot" </string> <real> 0 </real> <string> "y_rot" </string> <real> 0 </real> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "use_environment" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> </dictionary> <dictionary shared="false"> <string> "distance" </string> <real> 4 </real> + <string> "listener" </string> + <bool> False </bool> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + <string> "use_environment" </string> + <bool> False </bool> + <string> "use_orthogonal" </string> + <bool> False </bool> <string> "x_rot" </string> <real> 0 </real> <string> "y_rot" </string> <real> 0 </real> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "use_environment" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> </dictionary> </array> - <string> "viewport_mode" </string> - <int> 1 </int> - <string> "default_light" </string> - <bool> True </bool> - <string> "show_grid" </string> - <bool> True </bool> + <string> "zfar" </string> + <real> 500 </real> <string> "znear" </string> <real> 0.1 </real> - <string> "show_origin" </string> - <bool> True </bool> </dictionary> </dictionary> <string> "__editor_run_settings__" </string> @@ -698,105 +825,127 @@ <string> "run_mode" </string> <int> 0 </int> </dictionary> - <string> "__editor_plugin_screen__" </string> - <string> "2D" </string> </dictionary> - <vector2> 0, 140 </vector2> - <real> 5 </real> - <vector2> 624.824, 545.544 </vector2> - <vector2> 300, 0 </vector2> - <real> 10 </real> - <vector2> 3419.86, 739.662 </vector2> - <vector2> 450, 0 </vector2> - <resource resource_type="PackedScene" path="res://seesaw.xml"> </resource> - <vector2> 2402.79, 849.52 </vector2> + <resource resource_type="PackedScene" path="res://player.xml"> </resource> + <vector2> 251.684, 1045.6 </vector2> <dictionary shared="false"> + <string> "__editor_plugin_screen__" </string> + <string> "Script" </string> <string> "__editor_plugin_states__" </string> <dictionary shared="false"> <string> "2D" </string> <dictionary shared="false"> + <string> "ofs" </string> + <vector2> -181.946, -86.2812 </vector2> <string> "pixel_snap" </string> <bool> False </bool> + <string> "snap" </string> + <int> 10 </int> + <string> "use_snap" </string> + <bool> False </bool> <string> "zoom" </string> - <real> 2.050547 </real> - <string> "ofs" </string> - <vector2> -116.979, -109.897 </vector2> + <real> 2.272073 </real> </dictionary> <string> "3D" </string> <dictionary shared="false"> + <string> "ambient_light_color" </string> + <color> 0.15, 0.15, 0.15, 1 </color> + <string> "default_light" </string> + <bool> True </bool> + <string> "default_srgb" </string> + <bool> False </bool> + <string> "deflight_rot_x" </string> + <real> 0.942478 </real> + <string> "deflight_rot_y" </string> + <real> 0.628319 </real> <string> "fov" </string> - <real> 400 </real> - <string> "zfar" </string> - <real> 500 </real> + <real> 45 </real> + <string> "show_grid" </string> + <bool> True </bool> + <string> "show_origin" </string> + <bool> True </bool> + <string> "viewport_mode" </string> + <int> 1 </int> <string> "viewports" </string> <array len="4" shared="false"> <dictionary shared="false"> <string> "distance" </string> <real> 4 </real> + <string> "listener" </string> + <bool> True </bool> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + <string> "use_environment" </string> + <bool> False </bool> + <string> "use_orthogonal" </string> + <bool> False </bool> <string> "x_rot" </string> <real> 0 </real> <string> "y_rot" </string> <real> 0 </real> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "use_environment" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> </dictionary> <dictionary shared="false"> <string> "distance" </string> <real> 4 </real> + <string> "listener" </string> + <bool> False </bool> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + <string> "use_environment" </string> + <bool> False </bool> + <string> "use_orthogonal" </string> + <bool> False </bool> <string> "x_rot" </string> <real> 0 </real> <string> "y_rot" </string> <real> 0 </real> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "use_environment" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> </dictionary> <dictionary shared="false"> <string> "distance" </string> <real> 4 </real> + <string> "listener" </string> + <bool> False </bool> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + <string> "use_environment" </string> + <bool> False </bool> + <string> "use_orthogonal" </string> + <bool> False </bool> <string> "x_rot" </string> <real> 0 </real> <string> "y_rot" </string> <real> 0 </real> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "use_environment" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> </dictionary> <dictionary shared="false"> <string> "distance" </string> <real> 4 </real> + <string> "listener" </string> + <bool> False </bool> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + <string> "use_environment" </string> + <bool> False </bool> + <string> "use_orthogonal" </string> + <bool> False </bool> <string> "x_rot" </string> <real> 0 </real> <string> "y_rot" </string> <real> 0 </real> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "use_environment" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> </dictionary> </array> - <string> "viewport_mode" </string> - <int> 1 </int> - <string> "default_light" </string> - <bool> True </bool> - <string> "show_grid" </string> - <bool> True </bool> + <string> "zfar" </string> + <real> 500 </real> <string> "znear" </string> <real> 0.1 </real> - <string> "show_origin" </string> - <bool> True </bool> + </dictionary> + <string> "Script" </string> + <dictionary shared="false"> + <string> "current" </string> + <int> 0 </int> + <string> "sources" </string> + <array len="1" shared="false"> + <string> "res://player.gd" </string> + </array> </dictionary> </dictionary> <string> "__editor_run_settings__" </string> @@ -806,109 +955,109 @@ <string> "run_mode" </string> <int> 0 </int> </dictionary> - <string> "__editor_plugin_screen__" </string> - <string> "2D" </string> </dictionary> <resource resource_type="AudioStream" path="res://music.ogg"> </resource> <real> 2 </real> <resource resource_type="PackedScene" path="res://enemy.xml"> </resource> <vector2> 834.664, 1309.6 </vector2> <dictionary shared="false"> + <string> "__editor_plugin_screen__" </string> + <string> "2D" </string> <string> "__editor_plugin_states__" </string> <dictionary shared="false"> - <string> "Script" </string> - <dictionary shared="false"> - <string> "current" </string> - <int> 0 </int> - <string> "sources" </string> - <array len="1" shared="false"> - <string> "res://enemy.gd" </string> - </array> - </dictionary> <string> "2D" </string> <dictionary shared="false"> + <string> "ofs" </string> + <vector2> -227.625, -197.9 </vector2> <string> "pixel_snap" </string> <bool> False </bool> <string> "zoom" </string> <real> 1.108033 </real> - <string> "ofs" </string> - <vector2> -227.625, -197.9 </vector2> </dictionary> <string> "3D" </string> <dictionary shared="false"> + <string> "default_light" </string> + <bool> True </bool> <string> "fov" </string> <real> 45 </real> - <string> "zfar" </string> - <real> 500 </real> + <string> "show_grid" </string> + <bool> True </bool> + <string> "show_origin" </string> + <bool> True </bool> + <string> "viewport_mode" </string> + <int> 1 </int> <string> "viewports" </string> <array len="4" shared="false"> <dictionary shared="false"> <string> "distance" </string> <real> 4 </real> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + <string> "use_environment" </string> + <bool> False </bool> + <string> "use_orthogonal" </string> + <bool> False </bool> <string> "x_rot" </string> <real> 0 </real> <string> "y_rot" </string> <real> 0 </real> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "use_environment" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> </dictionary> <dictionary shared="false"> <string> "distance" </string> <real> 4 </real> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + <string> "use_environment" </string> + <bool> False </bool> + <string> "use_orthogonal" </string> + <bool> False </bool> <string> "x_rot" </string> <real> 0 </real> <string> "y_rot" </string> <real> 0 </real> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "use_environment" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> </dictionary> <dictionary shared="false"> <string> "distance" </string> <real> 4 </real> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + <string> "use_environment" </string> + <bool> False </bool> + <string> "use_orthogonal" </string> + <bool> False </bool> <string> "x_rot" </string> <real> 0 </real> <string> "y_rot" </string> <real> 0 </real> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "use_environment" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> </dictionary> <dictionary shared="false"> <string> "distance" </string> <real> 4 </real> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + <string> "use_environment" </string> + <bool> False </bool> + <string> "use_orthogonal" </string> + <bool> False </bool> <string> "x_rot" </string> <real> 0 </real> <string> "y_rot" </string> <real> 0 </real> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "use_environment" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> </dictionary> </array> - <string> "viewport_mode" </string> - <int> 1 </int> - <string> "default_light" </string> - <bool> True </bool> - <string> "show_grid" </string> - <bool> True </bool> + <string> "zfar" </string> + <real> 500 </real> <string> "znear" </string> <real> 0.1 </real> - <string> "show_origin" </string> - <bool> True </bool> + </dictionary> + <string> "Script" </string> + <dictionary shared="false"> + <string> "current" </string> + <int> 0 </int> + <string> "sources" </string> + <array len="1" shared="false"> + <string> "res://enemy.gd" </string> + </array> </dictionary> </dictionary> <string> "__editor_run_settings__" </string> @@ -918,8 +1067,6 @@ <string> "run_mode" </string> <int> 0 </int> </dictionary> - <string> "__editor_plugin_screen__" </string> - <string> "2D" </string> </dictionary> <vector2> 707.665, 1225.05 </vector2> <vector2> 1125.21, 1053.06 </vector2> @@ -933,55 +1080,57 @@ <vector2> 2406.63, 815.115 </vector2> <resource resource_type="PackedScene" path="res://parallax_bg.xml"> </resource> <dictionary shared="false"> + <string> "__editor_plugin_screen__" </string> + <string> "2D" </string> <string> "__editor_plugin_states__" </string> <dictionary shared="false"> - <string> "Script" </string> - <dictionary shared="false"> - <string> "current" </string> - <int> 0 </int> - <string> "sources" </string> - <array len="4" shared="false"> - <string> "res://moving_platform.gd" </string> - <string> "res://enemy.gd" </string> - <string> "res://player.gd" </string> - <string> "res://coin.gd" </string> - </array> - </dictionary> <string> "2D" </string> <dictionary shared="false"> - <string> "zoom" </string> - <real> 1 </real> <string> "ofs" </string> <vector2> -5, -25 </vector2> + <string> "zoom" </string> + <real> 1 </real> </dictionary> <string> "3D" </string> <dictionary shared="false"> - <string> "zfar" </string> - <real> 500 </real> <string> "fov" </string> <real> 45 </real> - <string> "window_mode" </string> - <int> 0 </int> <string> "window_0" </string> <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "x_rot" </string> - <real> 0.337 </real> <string> "default_light" </string> <bool> True </bool> - <string> "y_rot" </string> - <real> -0.575 </real> + <string> "distance" </string> + <real> 4 </real> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> <string> "show_grid" </string> <bool> True </bool> <string> "show_origin" </string> <bool> True </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> + <string> "x_rot" </string> + <real> 0.337 </real> + <string> "y_rot" </string> + <real> -0.575 </real> </dictionary> + <string> "window_mode" </string> + <int> 0 </int> + <string> "zfar" </string> + <real> 500 </real> <string> "znear" </string> <real> 0.1 </real> </dictionary> + <string> "Script" </string> + <dictionary shared="false"> + <string> "current" </string> + <int> 0 </int> + <string> "sources" </string> + <array len="4" shared="false"> + <string> "res://moving_platform.gd" </string> + <string> "res://enemy.gd" </string> + <string> "res://player.gd" </string> + <string> "res://coin.gd" </string> + </array> + </dictionary> </dictionary> <string> "__editor_run_settings__" </string> <dictionary shared="false"> @@ -990,8 +1139,6 @@ <string> "run_mode" </string> <int> 0 </int> </dictionary> - <string> "__editor_plugin_screen__" </string> - <string> "2D" </string> </dictionary> <real> 12 </real> <real> -202 </real> @@ -1002,10 +1149,8 @@ <string> "This is a simple demo on how to make a platformer game with Godot."This version uses physics and the 2D physics engine for motion and collision.""The demo also shows the benefits of using the scene system, where coins,"enemies and the player are edited separatedly and instanced in the stage.""To edit the base tiles for the tileset, open the tileset_edit.xml file and follow "instructions."" </string> <real> -1 </real> </array> - <string> "nodes" </string> - <int_array len="960"> -1, -1, 1, 0, -1, 2, 2, 0, 3, 1, 0, 0, 0, 5, 4, -1, 24, 2, 0, 6, 2, 7, 3, 8, 3, 9, 4, 10, 5, 11, 6, 12, 7, 13, 8, 14, 2, 15, 8, 16, 9, 17, 10, 18, 11, 19, 12, 20, 13, 21, 8, 22, 14, 23, 14, 24, 3, 25, 6, 26, 4, 27, 15, 3, 16, 0, 0, 0, 1, 28, -1, 2, 2, 0, 3, 17, 0, 2, 0, 30, 29, 18, 3, 2, 0, 10, 19, 3, 20, 0, 2, 0, 30, 31, 18, 3, 2, 0, 10, 21, 3, 20, 0, 2, 0, 30, 32, 18, 3, 2, 0, 10, 22, 3, 20, 0, 2, 0, 30, 33, 18, 3, 2, 0, 10, 23, 3, 20, 0, 2, 0, 30, 34, 18, 3, 2, 0, 10, 24, 3, 20, 0, 2, 0, 30, 35, 18, 3, 2, 0, 10, 25, 3, 20, 0, 2, 0, 30, 36, 18, 3, 2, 0, 10, 26, 3, 20, 0, 2, 0, 30, 37, 18, 3, 2, 0, 10, 27, 3, 20, 0, 2, 0, 30, 38, 18, 3, 2, 0, 10, 28, 3, 20, 0, 2, 0, 30, 39, 18, 3, 2, 0, 10, 29, 3, 20, 0, 2, 0, 30, 40, 18, 3, 2, 0, 10, 30, 3, 20, 0, 2, 0, 30, 41, 18, 3, 2, 0, 10, 31, 3, 20, 0, 2, 0, 30, 42, 18, 3, 2, 0, 10, 32, 3, 20, 0, 2, 0, 30, 43, 18, 3, 2, 0, 10, 33, 3, 20, 0, 2, 0, 30, 44, 18, 3, 2, 0, 10, 34, 3, 20, 0, 2, 0, 30, 45, 18, 3, 2, 0, 10, 35, 3, 20, 0, 2, 0, 30, 46, 18, 3, 2, 0, 10, 36, 3, 20, 0, 2, 0, 30, 47, 18, 3, 2, 0, 10, 37, 3, 20, 0, 2, 0, 30, 48, 18, 3, 2, 0, 10, 38, 3, 20, 0, 2, 0, 30, 49, 18, 3, 2, 0, 10, 39, 3, 20, 0, 2, 0, 30, 50, 18, 3, 2, 0, 10, 40, 3, 20, 0, 2, 0, 30, 51, 18, 3, 2, 0, 10, 41, 3, 20, 0, 2, 0, 30, 52, 18, 3, 2, 0, 10, 42, 3, 20, 0, 2, 0, 30, 53, 18, 3, 2, 0, 10, 43, 3, 20, 0, 2, 0, 30, 54, 18, 3, 2, 0, 10, 44, 3, 20, 0, 2, 0, 30, 55, 18, 3, 2, 0, 10, 45, 3, 20, 0, 2, 0, 30, 56, 18, 3, 2, 0, 10, 46, 3, 20, 0, 2, 0, 30, 57, 18, 3, 2, 0, 10, 47, 3, 20, 0, 2, 0, 30, 58, 18, 3, 2, 0, 10, 48, 3, 20, 0, 2, 0, 30, 59, 18, 3, 2, 0, 10, 49, 3, 20, 0, 2, 0, 30, 60, 18, 3, 2, 0, 10, 50, 3, 20, 0, 2, 0, 30, 61, 18, 3, 2, 0, 10, 51, 3, 20, 0, 2, 0, 30, 62, 18, 3, 2, 0, 10, 52, 3, 20, 0, 2, 0, 30, 63, 18, 3, 2, 0, 10, 53, 3, 20, 0, 2, 0, 30, 64, 18, 3, 2, 0, 10, 54, 3, 20, 0, 2, 0, 30, 65, 18, 3, 2, 0, 10, 55, 3, 20, 0, 2, 0, 30, 66, 18, 3, 2, 0, 10, 56, 3, 20, 0, 2, 0, 30, 67, 18, 3, 2, 0, 10, 57, 3, 20, 0, 2, 0, 30, 68, 18, 3, 2, 0, 10, 58, 3, 20, 0, 2, 0, 30, 69, 18, 3, 2, 0, 10, 59, 3, 20, 0, 2, 0, 30, 70, 18, 3, 2, 0, 10, 60, 3, 20, 0, 2, 0, 30, 71, 18, 3, 2, 0, 10, 61, 3, 20, 0, 0, 0, 73, 72, 62, 3, 2, 0, 10, 63, 3, 64, 0, 0, 0, 1, 74, -1, 1, 2, 0, 0, 46, 0, 76, 75, 65, 5, 2, 0, 10, 66, 3, 67, 77, 68, 78, 69, 0, 46, 0, 76, 79, 65, 5, 2, 0, 10, 70, 3, 67, 77, 71, 78, 72, 0, 46, 0, 76, 80, 65, 5, 2, 0, 10, 73, 3, 67, 77, 74, 78, 72, 0, 46, 0, 76, 81, 75, 3, 2, 0, 10, 76, 3, 77, 0, 0, 0, 83, 82, -1, 7, 2, 0, 84, 78, 85, 14, 86, 2, 87, 79, 88, 2, 89, 14, 0, 0, 0, 1, 90, -1, 1, 2, 0, 0, 52, 0, 73, 91, 80, 3, 2, 0, 10, 81, 3, 82, 0, 52, 0, 73, 92, 80, 3, 2, 0, 10, 83, 3, 82, 0, 52, 0, 73, 93, 80, 3, 2, 0, 10, 84, 3, 82, 0, 52, 0, 73, 94, 80, 3, 2, 0, 10, 85, 3, 82, 0, 52, 0, 73, 95, 80, 3, 2, 0, 10, 86, 3, 82, 0, 52, 0, 73, 96, 80, 3, 2, 0, 10, 87, 3, 82, 0, 52, 0, 73, 97, 80, 3, 2, 0, 10, 88, 3, 82, 0, 52, 0, 73, 98, 80, 3, 2, 0, 10, 89, 3, 82, 0, 52, 0, 73, 99, 80, 3, 2, 0, 10, 90, 3, 82, 0, 52, 0, 73, 100, 80, 3, 2, 0, 10, 91, 3, 82, 0, 52, 0, 73, 101, 80, 3, 2, 0, 10, 92, 3, 82, 0, 0, 0, 103, 102, 93, 2, 2, 0, 3, 94, 0, 0, 0, 104, 104, -1, 30, 2, 0, 6, 2, 7, 3, 8, 3, 9, 4, 105, 95, 106, 96, 107, 97, 108, 98, 109, 0, 110, 0, 111, 0, 112, 0, 113, 2, 114, 2, 115, 13, 116, 3, 117, 6, 118, 99, 119, 3, 120, 100, 121, 6, 122, 14, 123, 14, 124, 101, 125, 8, 126, 8, 127, 2, 128, 14, 129, 102, 0 </int_array> - <string> "conns" </string> - <int_array len="0"> </int_array> + <string> "version" </string> + <int> 1 </int> </dictionary> </main_resource> diff --git a/demos/2d/screen_space_shaders/engine.cfg b/demos/2d/screen_space_shaders/engine.cfg index 2a41110886..527e2f8f0a 100644 --- a/demos/2d/screen_space_shaders/engine.cfg +++ b/demos/2d/screen_space_shaders/engine.cfg @@ -2,3 +2,10 @@ name="Screen-Space Shaders" main_scene="res://screen_shaders.scn" + +[display] + +width=780 +height=600 +stretch_mode="2d" +stretch_aspect="keep" diff --git a/demos/2d/screen_space_shaders/screen_shaders.scn b/demos/2d/screen_space_shaders/screen_shaders.scn Binary files differindex aa359616de..fc2be96fc9 100644 --- a/demos/2d/screen_space_shaders/screen_shaders.scn +++ b/demos/2d/screen_space_shaders/screen_shaders.scn diff --git a/demos/2d/space_shooter/asteroid.gd b/demos/2d/space_shooter/asteroid.gd new file mode 100644 index 0000000000..f21b9777bb --- /dev/null +++ b/demos/2d/space_shooter/asteroid.gd @@ -0,0 +1,49 @@ + +extends Area2D + +# member variables here, example: +# var a=2 +# var b="textvar" + +const SPEED=-200 +const Y_RANDOM=10 + +var points=1 + + +var speed_y=0.0 + +func _process(delta): + + translate( Vector2(SPEED,speed_y) * delta ) + +func _ready(): + # Initialization here + speed_y=rand_range(-Y_RANDOM,Y_RANDOM) + pass + +var destroyed=false + +func destroy(): + if (destroyed): + return + destroyed=true + get_node("anim").play("explode") + set_process(false) + get_node("sfx").play("sound_explode") + #accum points + get_node("/root/game_state").points+=1 + +func is_enemy(): + return not destroyed + + +func _on_visibility_enter_screen(): + set_process(true) + #make it spin! + get_node("anim").play("spin") + + +func _on_visibility_exit_screen(): + queue_free() + pass # replace with function body diff --git a/demos/2d/space_shooter/asteroid.scn b/demos/2d/space_shooter/asteroid.scn Binary files differnew file mode 100644 index 0000000000..b881725ea4 --- /dev/null +++ b/demos/2d/space_shooter/asteroid.scn diff --git a/demos/2d/space_shooter/bg_gradient.png b/demos/2d/space_shooter/bg_gradient.png Binary files differnew file mode 100644 index 0000000000..3e71976dc6 --- /dev/null +++ b/demos/2d/space_shooter/bg_gradient.png diff --git a/demos/2d/space_shooter/big_star.png b/demos/2d/space_shooter/big_star.png Binary files differnew file mode 100644 index 0000000000..7726a7aa12 --- /dev/null +++ b/demos/2d/space_shooter/big_star.png diff --git a/demos/2d/space_shooter/enemy1.gd b/demos/2d/space_shooter/enemy1.gd new file mode 100644 index 0000000000..051798742a --- /dev/null +++ b/demos/2d/space_shooter/enemy1.gd @@ -0,0 +1,37 @@ + +extends Area2D + +# member variables here, example: +# var a=2 +# var b="textvar" + +const SPEED=-200 + +func _process(delta): + get_parent().translate(Vector2(SPEED*delta,0)) + + +var destroyed=false + +func is_enemy(): + return not destroyed + + +func destroy(): + if (destroyed): + return + destroyed=true + get_node("anim").play("explode") + set_process(false) + get_node("sfx").play("sound_explode") + #accum points + get_node("/root/game_state").points+=5 + +func _on_visibility_enter_screen(): + set_process(true) + get_node("anim").play("zigzag") + get_node("anim").seek(randf()*2.0) #make it start from any pos + +func _on_visibility_exit_screen(): + queue_free() + diff --git a/demos/2d/space_shooter/enemy1.png b/demos/2d/space_shooter/enemy1.png Binary files differnew file mode 100644 index 0000000000..242d8f0055 --- /dev/null +++ b/demos/2d/space_shooter/enemy1.png diff --git a/demos/2d/space_shooter/enemy1.scn b/demos/2d/space_shooter/enemy1.scn Binary files differnew file mode 100644 index 0000000000..14298f0a59 --- /dev/null +++ b/demos/2d/space_shooter/enemy1.scn diff --git a/demos/2d/space_shooter/enemy2.gd b/demos/2d/space_shooter/enemy2.gd new file mode 100644 index 0000000000..4f632a053d --- /dev/null +++ b/demos/2d/space_shooter/enemy2.gd @@ -0,0 +1,56 @@ + +extends Area2D + +# member variables here, example: +# var a=2 +# var b="textvar" +const SPEED=-220 +const SHOOT_INTERVAL=1 +var shoot_timeout=0 + +func _process(delta): + translate( Vector2(SPEED*delta,0) ) + shoot_timeout-=delta + + if (shoot_timeout<0): + + shoot_timeout=SHOOT_INTERVAL + + #instance a shot + var shot = preload("res://enemy_shot.scn").instance() + #set pos as "shoot_from" Position2D node + shot.set_pos( get_node("shoot_from").get_global_pos() ) + #add it to parent, so it has world coordinates + get_parent().add_child(shot) + +var destroyed=false + +func is_enemy(): + return not destroyed + +func destroy(): + if (destroyed): + return + destroyed=true + get_node("anim").play("explode") + set_process(false) + get_node("sfx").play("sound_explode") + #accum points + get_node("/root/game_state").points+=10 + +func _ready(): + set_fixed_process(true) + # Initialization here + pass + + + + +func _on_visibility_enter_screen(): + set_process(true) + pass # replace with function body + + +func _on_visibility_exit_screen(): + queue_free() + pass # replace with function body diff --git a/demos/2d/space_shooter/enemy2.png b/demos/2d/space_shooter/enemy2.png Binary files differnew file mode 100644 index 0000000000..5b63033696 --- /dev/null +++ b/demos/2d/space_shooter/enemy2.png diff --git a/demos/2d/space_shooter/enemy2.scn b/demos/2d/space_shooter/enemy2.scn Binary files differnew file mode 100644 index 0000000000..1d31f9c30e --- /dev/null +++ b/demos/2d/space_shooter/enemy2.scn diff --git a/demos/2d/space_shooter/enemy_shot.gd b/demos/2d/space_shooter/enemy_shot.gd new file mode 100644 index 0000000000..238d24e4a2 --- /dev/null +++ b/demos/2d/space_shooter/enemy_shot.gd @@ -0,0 +1,32 @@ + +extends Area2D + +# member variables here, example: +# var a=2 +# var b="textvar" + +const SPEED = -800 + +func _process(delta): + translate(Vector2(delta*SPEED,0)) + +func _ready(): + # Initialization here + set_process(true) + + +var hit=false + +func is_enemy(): + return true + +func _hit_something(): + if (hit): + return + hit=true + set_process(false) + get_node("anim").play("splash") + +func _on_visibility_exit_screen(): + queue_free() + diff --git a/demos/2d/space_shooter/enemy_shot.png b/demos/2d/space_shooter/enemy_shot.png Binary files differnew file mode 100644 index 0000000000..04287211a9 --- /dev/null +++ b/demos/2d/space_shooter/enemy_shot.png diff --git a/demos/2d/space_shooter/enemy_shot.scn b/demos/2d/space_shooter/enemy_shot.scn Binary files differnew file mode 100644 index 0000000000..13f5ae89e5 --- /dev/null +++ b/demos/2d/space_shooter/enemy_shot.scn diff --git a/demos/2d/space_shooter/engine.cfg b/demos/2d/space_shooter/engine.cfg new file mode 100644 index 0000000000..8047cebdd3 --- /dev/null +++ b/demos/2d/space_shooter/engine.cfg @@ -0,0 +1,22 @@ +[application] + +name="Simple Shooter" +main_scene="res://main_menu.scn" +icon="res://icon.png" + +[autoload] + +game_state="res://game_state.gd" + +[display] + +width=1024 +height=600 + +[input] + +move_up=[key(Up)] +move_down=[key(Down)] +move_left=[key(Left)] +move_right=[key(Right)] +shoot=[key(Space)] diff --git a/demos/2d/space_shooter/explosion.scn b/demos/2d/space_shooter/explosion.scn Binary files differnew file mode 100644 index 0000000000..4edcf709cb --- /dev/null +++ b/demos/2d/space_shooter/explosion.scn diff --git a/demos/2d/space_shooter/fire.png b/demos/2d/space_shooter/fire.png Binary files differnew file mode 100644 index 0000000000..1c68c36213 --- /dev/null +++ b/demos/2d/space_shooter/fire.png diff --git a/demos/2d/space_shooter/game_state.gd b/demos/2d/space_shooter/game_state.gd new file mode 100644 index 0000000000..f66d0fa8fa --- /dev/null +++ b/demos/2d/space_shooter/game_state.gd @@ -0,0 +1,24 @@ +extends Node + + +var points = 0 +var max_points = 0 + + +func _ready(): + var f = File.new() + #load high score + + if (f.open("user://highscore",File.READ)==OK): + + max_points=f.get_var() + + +func game_over(): + if (points>max_points): + max_points=points + #save high score + var f = File.new() + f.open("user://highscore",File.WRITE) + f.store_var(max_points) +
\ No newline at end of file diff --git a/demos/2d/space_shooter/icon.png b/demos/2d/space_shooter/icon.png Binary files differnew file mode 100644 index 0000000000..1df2bf5d9d --- /dev/null +++ b/demos/2d/space_shooter/icon.png diff --git a/demos/2d/space_shooter/level.scn b/demos/2d/space_shooter/level.scn Binary files differnew file mode 100644 index 0000000000..12a679f8b6 --- /dev/null +++ b/demos/2d/space_shooter/level.scn diff --git a/demos/2d/space_shooter/level_tiles.res b/demos/2d/space_shooter/level_tiles.res Binary files differnew file mode 100644 index 0000000000..8712b8c799 --- /dev/null +++ b/demos/2d/space_shooter/level_tiles.res diff --git a/demos/2d/space_shooter/level_tiles.scn b/demos/2d/space_shooter/level_tiles.scn Binary files differnew file mode 100644 index 0000000000..4d1feea70f --- /dev/null +++ b/demos/2d/space_shooter/level_tiles.scn diff --git a/demos/2d/space_shooter/main_menu.gd b/demos/2d/space_shooter/main_menu.gd new file mode 100644 index 0000000000..52221aba1b --- /dev/null +++ b/demos/2d/space_shooter/main_menu.gd @@ -0,0 +1,20 @@ + +extends Control + +# member variables here, example: +# var a=2 +# var b="textvar" + +func _ready(): + + get_node("score").set_text( "HIGH SCORE: "+str( get_node("/root/game_state").max_points ) ) + # Initialization here + pass + + + + +func _on_play_pressed(): + get_node("/root/game_state").points=0 + get_tree().change_scene("res://level.scn") + pass # replace with function body diff --git a/demos/2d/space_shooter/main_menu.scn b/demos/2d/space_shooter/main_menu.scn Binary files differnew file mode 100644 index 0000000000..b87cc5d3a8 --- /dev/null +++ b/demos/2d/space_shooter/main_menu.scn diff --git a/demos/2d/space_shooter/meteorite.png b/demos/2d/space_shooter/meteorite.png Binary files differnew file mode 100644 index 0000000000..92fb4387df --- /dev/null +++ b/demos/2d/space_shooter/meteorite.png diff --git a/demos/2d/space_shooter/parallax.scn b/demos/2d/space_shooter/parallax.scn Binary files differnew file mode 100644 index 0000000000..f67277dc01 --- /dev/null +++ b/demos/2d/space_shooter/parallax.scn diff --git a/demos/2d/space_shooter/rail.gd b/demos/2d/space_shooter/rail.gd new file mode 100644 index 0000000000..22ebd02670 --- /dev/null +++ b/demos/2d/space_shooter/rail.gd @@ -0,0 +1,25 @@ + +extends Node2D + + +const SPEED=200 +# member variables here, example: +# var a=2 +# var b="textvar" + +func stop(): + set_process(false) + +var offset=0 + + +func _process(delta): + offset+=delta*SPEED + set_pos(Vector2(offset,0)) + +func _ready(): + set_process(true) + # Initialization here + + + diff --git a/demos/2d/space_shooter/ship.gd b/demos/2d/space_shooter/ship.gd new file mode 100644 index 0000000000..fa444868a4 --- /dev/null +++ b/demos/2d/space_shooter/ship.gd @@ -0,0 +1,88 @@ + +extends Area2D + +# member variables here, example: +# var a=2 +# var b="textvar" + +const SPEED = 200 + +var screen_size + +var prev_shooting=false + +func _process(delta): + + var motion = Vector2() + if Input.is_action_pressed("move_up"): + motion+=Vector2(0,-1) + if Input.is_action_pressed("move_down"): + motion+=Vector2(0,1) + if Input.is_action_pressed("move_left"): + motion+=Vector2(-1,0) + if Input.is_action_pressed("move_right"): + motion+=Vector2(1,0) + var shooting = Input.is_action_pressed("shoot") + + var pos = get_pos() + + pos+=motion*delta*SPEED + if (pos.x<0): + pos.x=0 + if (pos.x>screen_size.x): + pos.x=screen_size.x + if (pos.y<0): + pos.y=0 + if (pos.y>screen_size.y): + pos.y=screen_size.y + + set_pos(pos) + + if (shooting and not prev_shooting): + # just pressed + var shot = preload("res://shot.scn").instance() + #use the position3d as reference + shot.set_pos( get_node("shootfrom").get_global_pos() ) + #put it two parents above, so it is not moved by us + get_node("../..").add_child(shot) + #play sound + get_node("sfx").play("shoot") + + + prev_shooting = shooting + + #update points counter + get_node("../hud/score_points").set_text( str(get_node("/root/game_state").points) ) + +func _ready(): + # Initialization here + screen_size = get_viewport().get_rect().size + set_process(true) + pass + +var killed=false + +func _hit_something(): + if (killed): + return + killed=true + get_node("anim").play("explode") + get_node("sfx").play("sound_explode") + get_node("../hud/game_over").show() + get_node("/root/game_state").game_over() + get_parent().stop() + set_process(false) + + +func _on_ship_body_enter( body ): + _hit_something() + + +func _on_ship_area_enter( area ): + if (area.has_method("is_enemy") and area.is_enemy()): + _hit_something() + + +func _on_back_to_menu_pressed(): + get_tree().change_scene("res://main_menu.scn") + pass # replace with function body diff --git a/demos/2d/space_shooter/ship.png b/demos/2d/space_shooter/ship.png Binary files differnew file mode 100644 index 0000000000..a36b833903 --- /dev/null +++ b/demos/2d/space_shooter/ship.png diff --git a/demos/2d/space_shooter/ship.scn b/demos/2d/space_shooter/ship.scn Binary files differnew file mode 100644 index 0000000000..82c710eda7 --- /dev/null +++ b/demos/2d/space_shooter/ship.scn diff --git a/demos/2d/space_shooter/shoot.png b/demos/2d/space_shooter/shoot.png Binary files differnew file mode 100644 index 0000000000..6e80ddab93 --- /dev/null +++ b/demos/2d/space_shooter/shoot.png diff --git a/demos/2d/space_shooter/shot.gd b/demos/2d/space_shooter/shot.gd new file mode 100644 index 0000000000..28b67bd26d --- /dev/null +++ b/demos/2d/space_shooter/shot.gd @@ -0,0 +1,48 @@ + +extends Area2D + +# member variables here, example: +# var a=2 +# var b="textvar" + +const SPEED = 800 + +func _process(delta): + translate(Vector2(delta*SPEED,0)) + +func _ready(): + # Initialization here + set_process(true) + pass + +var hit=false + +func _hit_something(): + if (hit): + return + hit=true + set_process(false) + get_node("anim").play("splash") + +func _on_visibility_exit_screen(): + queue_free() + pass # replace with function body + + + +func _on_shot_area_enter( area ): + #hit an enemy or asteroid + if (area.has_method("destroy")): + #duck typing at it's best + area.destroy() + _hit_something() + + + pass + + +func _on_shot_body_enter( body ): + #hit the tilemap + _hit_something() + pass # replace with function body + diff --git a/demos/2d/space_shooter/shot.scn b/demos/2d/space_shooter/shot.scn Binary files differnew file mode 100644 index 0000000000..86a20ffa47 --- /dev/null +++ b/demos/2d/space_shooter/shot.scn diff --git a/demos/2d/space_shooter/small_star.png b/demos/2d/space_shooter/small_star.png Binary files differnew file mode 100644 index 0000000000..71c3c531cd --- /dev/null +++ b/demos/2d/space_shooter/small_star.png diff --git a/demos/2d/space_shooter/sound_explode.wav b/demos/2d/space_shooter/sound_explode.wav Binary files differnew file mode 100644 index 0000000000..229c85399c --- /dev/null +++ b/demos/2d/space_shooter/sound_explode.wav diff --git a/demos/2d/space_shooter/sound_shoot.wav b/demos/2d/space_shooter/sound_shoot.wav Binary files differnew file mode 100644 index 0000000000..ad74f328cb --- /dev/null +++ b/demos/2d/space_shooter/sound_shoot.wav diff --git a/demos/2d/space_shooter/tile.png b/demos/2d/space_shooter/tile.png Binary files differnew file mode 100644 index 0000000000..d8f41d16f6 --- /dev/null +++ b/demos/2d/space_shooter/tile.png diff --git a/demos/2d/tetris/grid.gd b/demos/2d/tetris/grid.gd index dc89300881..8708d168e4 100644 --- a/demos/2d/tetris/grid.gd +++ b/demos/2d/tetris/grid.gd @@ -143,6 +143,7 @@ func restart_pressed(): cells.clear() get_node("gameover").set_text("") piece_active=true + get_node("../restart").release_focus() update() diff --git a/demos/2d/texscreen/bubbles.scn b/demos/2d/texscreen/bubbles.scn Binary files differindex 779cba6930..41026aceed 100644 --- a/demos/2d/texscreen/bubbles.scn +++ b/demos/2d/texscreen/bubbles.scn diff --git a/demos/2d/texscreen/engine.cfg b/demos/2d/texscreen/engine.cfg index 58193c8c4a..fb683dfc1d 100644 --- a/demos/2d/texscreen/engine.cfg +++ b/demos/2d/texscreen/engine.cfg @@ -2,3 +2,10 @@ name="Glass Bubbles (Texscreen)" main_scene="res://bubbles.scn" + +[display] + +width=800 +height=600 +stretch_mode="2d" +stretch_aspect="keep" |