diff options
Diffstat (limited to 'demos')
441 files changed, 4094 insertions, 721 deletions
diff --git a/demos/2d/area_input/box_area.png b/demos/2d/area_input/box_area.png Binary files differnew file mode 100644 index 0000000000..ba7c37f7de --- /dev/null +++ b/demos/2d/area_input/box_area.png diff --git a/demos/2d/area_input/circle_area.png b/demos/2d/area_input/circle_area.png Binary files differnew file mode 100644 index 0000000000..3cc24c8a0c --- /dev/null +++ b/demos/2d/area_input/circle_area.png diff --git a/demos/2d/area_input/engine.cfg b/demos/2d/area_input/engine.cfg new file mode 100644 index 0000000000..8fa2e15beb --- /dev/null +++ b/demos/2d/area_input/engine.cfg @@ -0,0 +1,5 @@ +[application] + +name="Area 2D Input Events" +main_scene="res://input.scn" +icon="res://icon.png" diff --git a/demos/2d/area_input/icon.png b/demos/2d/area_input/icon.png Binary files differnew file mode 100644 index 0000000000..2f412ecf68 --- /dev/null +++ b/demos/2d/area_input/icon.png diff --git a/demos/2d/area_input/input.gd b/demos/2d/area_input/input.gd new file mode 100644 index 0000000000..3f719fc853 --- /dev/null +++ b/demos/2d/area_input/input.gd @@ -0,0 +1,16 @@ + +extends Area2D + +#virtual from CollisionObject2D (also available as signal) +func _input_event(viewport, event, shape_idx): + #convert event to local coordinates + if (event.type==InputEvent.MOUSE_MOTION): + event = make_input_local( event ) + get_node("label").set_text(str(event.pos)) + +#virtual from CollisionObject2D (also available as signal) +func _mouse_exit(): + get_node("label").set_text("") + + + diff --git a/demos/2d/area_input/input.scn b/demos/2d/area_input/input.scn Binary files differnew file mode 100644 index 0000000000..1a2dcbc5f4 --- /dev/null +++ b/demos/2d/area_input/input.scn diff --git a/demos/2d/dynamic_collision_shapes/ball.gd b/demos/2d/dynamic_collision_shapes/ball.gd new file mode 100644 index 0000000000..c17b20f9c8 --- /dev/null +++ b/demos/2d/dynamic_collision_shapes/ball.gd @@ -0,0 +1,21 @@ + +extends RigidBody2D + +# member variables here, example: +# var a=2 +# var b="textvar" + +var timeout=5 + +func _process(delta): + timeout-=delta + if (timeout<1): + set_opacity(timeout) + if (timeout<0): + queue_free() +func _ready(): + set_process(true) + # Initialization here + pass + + diff --git a/demos/2d/dynamic_collision_shapes/ball.png b/demos/2d/dynamic_collision_shapes/ball.png Binary files differnew file mode 100644 index 0000000000..b7cf71da29 --- /dev/null +++ b/demos/2d/dynamic_collision_shapes/ball.png diff --git a/demos/2d/dynamic_collision_shapes/ball.scn b/demos/2d/dynamic_collision_shapes/ball.scn Binary files differnew file mode 100644 index 0000000000..e332de276d --- /dev/null +++ b/demos/2d/dynamic_collision_shapes/ball.scn diff --git a/demos/2d/dynamic_collision_shapes/box.png b/demos/2d/dynamic_collision_shapes/box.png Binary files differnew file mode 100644 index 0000000000..f29b83ce38 --- /dev/null +++ b/demos/2d/dynamic_collision_shapes/box.png diff --git a/demos/2d/dynamic_collision_shapes/circle.png b/demos/2d/dynamic_collision_shapes/circle.png Binary files differnew file mode 100644 index 0000000000..9fdfa550b1 --- /dev/null +++ b/demos/2d/dynamic_collision_shapes/circle.png diff --git a/demos/2d/dynamic_collision_shapes/dynamic_colobjs.gd b/demos/2d/dynamic_collision_shapes/dynamic_colobjs.gd new file mode 100644 index 0000000000..a6a42a1914 --- /dev/null +++ b/demos/2d/dynamic_collision_shapes/dynamic_colobjs.gd @@ -0,0 +1,23 @@ + +extends Node2D + +# member variables here, example: +# var a=2 +# var b="textvar" +const EMIT_INTERVAL=0.1 +var timeout=EMIT_INTERVAL + +func _process(delta): + timeout-=delta + if (timeout<0): + timeout=EMIT_INTERVAL + var ball = preload("res://ball.scn").instance() + ball.set_pos( Vector2(randf() * get_viewport_rect().size.x, 0) ) + add_child(ball) + +func _ready(): + set_process(true) + # Initialization here + pass + + diff --git a/demos/2d/dynamic_collision_shapes/dynamic_colobjs.scn b/demos/2d/dynamic_collision_shapes/dynamic_colobjs.scn Binary files differnew file mode 100644 index 0000000000..e6d1ebf9cf --- /dev/null +++ b/demos/2d/dynamic_collision_shapes/dynamic_colobjs.scn diff --git a/demos/2d/dynamic_collision_shapes/engine.cfg b/demos/2d/dynamic_collision_shapes/engine.cfg new file mode 100644 index 0000000000..76a074f346 --- /dev/null +++ b/demos/2d/dynamic_collision_shapes/engine.cfg @@ -0,0 +1,5 @@ +[application] + +name="Run-Time CollisionShape" +main_scene="res://dynamic_colobjs.scn" +icon="res://icon.png" diff --git a/demos/2d/dynamic_collision_shapes/icon.png b/demos/2d/dynamic_collision_shapes/icon.png Binary files differnew file mode 100644 index 0000000000..b47506d7c8 --- /dev/null +++ b/demos/2d/dynamic_collision_shapes/icon.png diff --git a/demos/2d/dynamic_collision_shapes/poly.png b/demos/2d/dynamic_collision_shapes/poly.png Binary files differnew file mode 100644 index 0000000000..49ed55cc7d --- /dev/null +++ b/demos/2d/dynamic_collision_shapes/poly.png diff --git a/demos/2d/fog_of_war/engine.cfg b/demos/2d/fog_of_war/engine.cfg new file mode 100644 index 0000000000..1f56851c58 --- /dev/null +++ b/demos/2d/fog_of_war/engine.cfg @@ -0,0 +1,12 @@ +[application] + +name="Fog of War" +main_scene="res://fog.scn" +icon="res://icon.png" + +[input] + +move_up=[key(Up)] +move_bottom=[key(Down)] +move_left=[key(Left)] +move_right=[key(Right)] diff --git a/demos/2d/fog_of_war/floor.png b/demos/2d/fog_of_war/floor.png Binary files differnew file mode 100644 index 0000000000..07b4f8c98f --- /dev/null +++ b/demos/2d/fog_of_war/floor.png diff --git a/demos/2d/fog_of_war/fog.gd b/demos/2d/fog_of_war/fog.gd new file mode 100644 index 0000000000..9da5680e4d --- /dev/null +++ b/demos/2d/fog_of_war/fog.gd @@ -0,0 +1,86 @@ + +extends TileMap + +# member variables here, example: +# var a=2 +# var b="textvar" + +# boundarys for the fog rectangle +var x_min = -20 # left start tile +var x_max = 20 # right end tile +var y_min = -20 # top start tile +var y_max = 20 # bottom end tile + +var position # players position + +# iteration variables +var x +var y + +# variable to check if player moved +var x_old +var y_old + +# array to build up the visible area like a square +# first value determines the width/height of the tip +# here it would be 2*2 + 1 = 5 tiles wide/high +# second value determines the total squares size +# here it would be 5*2 + 1 = 10 tiles wide/high +var l = range(2,5) + +# process that runs in realtime +func _fixed_process(delta): + position = get_node("../troll").get_pos() + + # calculate the corresponding tile + # from the players position + x = int(position.x/get_cell_size().x) + # switching from positive to negative tile positions + # causes problems because of rounding problems + if position.x < 0: + x -= 1 # correct negative values + + y = int(position.y/get_cell_size().y) + if position.y < 0: + y -= 1 + + # check if the player moved one tile further + if (x_old != x) or (y_old != y): + + # create the transparent part (visited area) + var end = l.size()-1 + var start = 0 + for steps in range(l.size()): + for m in range(x-l[end]-1,x+l[end]+2): + for n in range(y-l[start]-1,y+l[start]+2): + if get_cell(m,n) != 0: + set_cell(m,n,1,0,0) + end -= 1 + start += 1 + + # create the actual and active visible part + var end = l.size()-1 + var start = 0 + for steps in range(l.size()): + for m in range(x-l[end],x+l[end]+1): + for n in range(y-l[start],y+l[start]+1): + set_cell(m,n,-1) + end -= 1 + start += 1 + + x_old = x + y_old = y + + pass + +func _ready(): + # Initalization here + + # create a square filled with the 100% opaque fog + for x in range(x_min,x_max): + for y in range(y_min,y_max): + set_cell(x,y,0,0,0) + set_fixed_process(true) + pass + + diff --git a/demos/2d/fog_of_war/fog.png b/demos/2d/fog_of_war/fog.png Binary files differnew file mode 100644 index 0000000000..56980c298d --- /dev/null +++ b/demos/2d/fog_of_war/fog.png diff --git a/demos/2d/fog_of_war/fog.scn b/demos/2d/fog_of_war/fog.scn Binary files differnew file mode 100644 index 0000000000..4987f1ead5 --- /dev/null +++ b/demos/2d/fog_of_war/fog.scn diff --git a/demos/2d/fog_of_war/fog.xml b/demos/2d/fog_of_war/fog.xml new file mode 100644 index 0000000000..ed08d84a1f --- /dev/null +++ b/demos/2d/fog_of_war/fog.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<resource_file type="TileSet" subresource_count="3" version="1.0" version_name="Godot Engine v1.0.stable.custom_build"> + <ext_resource path="res://floor.png" type="Texture"></ext_resource> + <ext_resource path="res://fog.png" type="Texture"></ext_resource> + <main_resource> + <string name="0/name"> "fog opaque" </string> + <resource name="0/texture" resource_type="Texture" path="res://fog.png"> </resource> + <vector2 name="0/tex_offset"> -48, -48 </vector2> + <vector2 name="0/shape_offset"> 0, 0 </vector2> + <rect2 name="0/region"> 0, 0, 144, 144 </rect2> + <array name="0/shapes" len="0" shared="false"> + </array> + <string name="1/name"> "fog transparent" </string> + <resource name="1/texture" resource_type="Texture" path="res://fog.png"> </resource> + <vector2 name="1/tex_offset"> -48, -48 </vector2> + <vector2 name="1/shape_offset"> 0, 0 </vector2> + <rect2 name="1/region"> 144, 0, 144, 144 </rect2> + <array name="1/shapes" len="0" shared="false"> + </array> + <string name="2/name"> "floor" </string> + <resource name="2/texture" resource_type="Texture" path="res://floor.png"> </resource> + <vector2 name="2/tex_offset"> 0, 0 </vector2> + <vector2 name="2/shape_offset"> 0, 0 </vector2> + <rect2 name="2/region"> 0, 0, 0, 0 </rect2> + <array name="2/shapes" len="0" shared="false"> + </array> + + </main_resource> +</resource_file>
\ No newline at end of file diff --git a/demos/2d/fog_of_war/icon.png b/demos/2d/fog_of_war/icon.png Binary files differnew file mode 100644 index 0000000000..a483390048 --- /dev/null +++ b/demos/2d/fog_of_war/icon.png diff --git a/demos/2d/fog_of_war/tile_edit.scn b/demos/2d/fog_of_war/tile_edit.scn Binary files differnew file mode 100644 index 0000000000..aaca19d370 --- /dev/null +++ b/demos/2d/fog_of_war/tile_edit.scn diff --git a/demos/2d/fog_of_war/troll.gd b/demos/2d/fog_of_war/troll.gd new file mode 100644 index 0000000000..d118d3a2ba --- /dev/null +++ b/demos/2d/fog_of_war/troll.gd @@ -0,0 +1,43 @@ + +extends KinematicBody2D + +# This is a simple collision demo showing how +# the kinematic cotroller works. +# move() will allow to move the node, and will +# always move it to a non-colliding spot, +# as long as it starts from a non-colliding spot too. + + +#pixels / second +const MOTION_SPEED=160 + +func _fixed_process(delta): + + var motion = Vector2() + + if (Input.is_action_pressed("move_up")): + motion+=Vector2(0,-1) + if (Input.is_action_pressed("move_bottom")): + 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) + + motion = motion.normalized() * MOTION_SPEED * delta + motion = move(motion) + + #make character slide nicely through the world + var slide_attempts = 4 + while(is_colliding() and slide_attempts>0): + motion = get_collision_normal().slide(motion) + motion=move(motion) + slide_attempts-=1 + + +func _ready(): + # Initalization here + set_fixed_process(true) + pass + + diff --git a/demos/2d/fog_of_war/troll.png b/demos/2d/fog_of_war/troll.png Binary files differnew file mode 100644 index 0000000000..69f195d034 --- /dev/null +++ b/demos/2d/fog_of_war/troll.png diff --git a/demos/2d/fog_of_war/troll.scn b/demos/2d/fog_of_war/troll.scn Binary files differnew file mode 100644 index 0000000000..f5d87c3631 --- /dev/null +++ b/demos/2d/fog_of_war/troll.scn diff --git a/demos/2d/hdr/beach_cave.gd b/demos/2d/hdr/beach_cave.gd new file mode 100644 index 0000000000..9dffbc4662 --- /dev/null +++ b/demos/2d/hdr/beach_cave.gd @@ -0,0 +1,26 @@ + +extends Node2D + +# member variables here, example: +# var a=2 +# var b="textvar" +const CAVE_LIMIT=1000 + +func _input(ev): + if (ev.type==InputEvent.MOUSE_MOTION and ev.button_mask&1): + var rel_x = ev.relative_x + var cavepos = get_node("cave").get_pos() + cavepos.x+=rel_x + if (cavepos.x<-CAVE_LIMIT): + cavepos.x=-CAVE_LIMIT + elif (cavepos.x>0): + cavepos.x=0 + get_node("cave").set_pos(cavepos) + + +func _ready(): + set_process_input(true) + # Initialization here + pass + + diff --git a/demos/2d/hdr/beach_cave.scn b/demos/2d/hdr/beach_cave.scn Binary files differnew file mode 100644 index 0000000000..4147a130ad --- /dev/null +++ b/demos/2d/hdr/beach_cave.scn diff --git a/demos/2d/hdr/engine.cfg b/demos/2d/hdr/engine.cfg new file mode 100644 index 0000000000..ab53a022f0 --- /dev/null +++ b/demos/2d/hdr/engine.cfg @@ -0,0 +1,14 @@ +[application] + +name="HDR for 2D" +main_scene="res://beach_cave.scn" +icon="res://icon.png" + +[display] + +width=1080 +height=720 + +[rasterizer] + +blur_buffer_size=128 diff --git a/demos/2d/hdr/icon.png b/demos/2d/hdr/icon.png Binary files differnew file mode 100644 index 0000000000..461cd4638a --- /dev/null +++ b/demos/2d/hdr/icon.png diff --git a/demos/2d/hdr/ocean_beach.png b/demos/2d/hdr/ocean_beach.png Binary files differnew file mode 100644 index 0000000000..a873d4f61d --- /dev/null +++ b/demos/2d/hdr/ocean_beach.png diff --git a/demos/2d/hdr/ocean_beach.png.flags b/demos/2d/hdr/ocean_beach.png.flags new file mode 100644 index 0000000000..82127bd7d5 --- /dev/null +++ b/demos/2d/hdr/ocean_beach.png.flags @@ -0,0 +1 @@ +tolinear=true diff --git a/demos/2d/hdr/ocean_cave.png b/demos/2d/hdr/ocean_cave.png Binary files differnew file mode 100644 index 0000000000..8875499df3 --- /dev/null +++ b/demos/2d/hdr/ocean_cave.png diff --git a/demos/2d/hdr/ocean_cave.png.flags b/demos/2d/hdr/ocean_cave.png.flags new file mode 100644 index 0000000000..82127bd7d5 --- /dev/null +++ b/demos/2d/hdr/ocean_cave.png.flags @@ -0,0 +1 @@ +tolinear=true diff --git a/demos/2d/hexamap/.fscache b/demos/2d/hexamap/.fscache deleted file mode 100644 index 60aa69b645..0000000000 --- a/demos/2d/hexamap/.fscache +++ /dev/null @@ -1,33 +0,0 @@ -::res://::1412302385 -WWT-01.png::ImageTexture::1412126473:: -WWT-02.png::ImageTexture::1412126474:: -WWT-03.png::ImageTexture::1412126474:: -WWT-04.png::ImageTexture::1412126474:: -WWT-05.png::ImageTexture::1412126474:: -WWT-06.png::ImageTexture::1412126474:: -WWT-07.png::ImageTexture::1412126474:: -WWT-08.png::ImageTexture::1412126474:: -WWT-09.png::ImageTexture::1412126474:: -WWT-10.png::ImageTexture::1412126474:: -WWT-11.png::ImageTexture::1412126475:: -WWT-12.png::ImageTexture::1412126475:: -WWT-13.png::ImageTexture::1412126475:: -WWT-14.png::ImageTexture::1412126475:: -WWT-15.png::ImageTexture::1412126475:: -WWT-16.png::ImageTexture::1412126475:: -WWT-17.png::ImageTexture::1412126475:: -WWT-18.png::ImageTexture::1412126475:: -WWT-19.png::ImageTexture::1412126476:: -WWT-20.png::ImageTexture::1412126476:: -WWT-21.png::ImageTexture::1412126476:: -WWT-22.png::ImageTexture::1412126476:: -WWT-23.png::ImageTexture::1412126476:: -WWT-24.png::ImageTexture::1412126476:: -WWT-25.png::ImageTexture::1412126476:: -WWT-26.png::ImageTexture::1412126476:: -map.scn::PackedScene::1412127344:: -tiles.scn::PackedScene::1412126994:: -tileset.res::TileSet::1412127001:: -troll.gd::GDScript::1412302377:: -troll.png::ImageTexture::1412302385:: -troll.scn::PackedScene::1412302380:: 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 76532a44aa..e03a3bd3dd 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 differnew file mode 100644 index 0000000000..17cd9ad287 --- /dev/null +++ b/demos/2d/isometric_light/character_shder.res diff --git a/demos/2d/isometric_light/column.scn b/demos/2d/isometric_light/column.scn Binary files differnew file mode 100644 index 0000000000..f0b7683885 --- /dev/null +++ b/demos/2d/isometric_light/column.scn diff --git a/demos/2d/isometric_light/cubio.gd b/demos/2d/isometric_light/cubio.gd new file mode 100644 index 0000000000..30c766936c --- /dev/null +++ b/demos/2d/isometric_light/cubio.gd @@ -0,0 +1,96 @@ + +extends KinematicBody2D + +# member variables here, example: +# var a=2 +# var b="textvar" + +const MAX_SPEED = 300.0 +const IDLE_SPEED = 10.0 +const ACCEL=5.0 +const VSCALE=0.5 +const SHOOT_INTERVAL=0.3 + +var speed=Vector2() +var current_anim="" +var current_mirror=false + +var shoot_countdown=0 + +func _input(ev): + if (ev.type==InputEvent.MOUSE_BUTTON and ev.button_index==1 and ev.pressed and shoot_countdown<=0): + var pos = get_canvas_transform().affine_inverse() * ev.pos + var dir = (pos-get_global_pos()).normalized() + var bullet = preload("res://shoot.scn").instance() + bullet.advance_dir=dir + bullet.set_pos( get_global_pos() + dir * 60 ) + get_parent().add_child(bullet) + shoot_countdown=SHOOT_INTERVAL + + + + +func _fixed_process(delta): + + shoot_countdown-=delta + var dir = Vector2() + if (Input.is_action_pressed("up")): + dir+=Vector2(0,-1) + if (Input.is_action_pressed("down")): + dir+=Vector2(0,1) + if (Input.is_action_pressed("left")): + dir+=Vector2(-1,0) + if (Input.is_action_pressed("right")): + dir+=Vector2(1,0) + + if (dir!=Vector2()): + dir=dir.normalized() + speed = speed.linear_interpolate(dir*MAX_SPEED,delta*ACCEL) + var motion = speed * delta + motion.y*=VSCALE + motion=move(motion) + + if (is_colliding()): + var n = get_collision_normal() + motion=n.slide(motion) + move(motion) + + var next_anim="" + var next_mirror=false + + if (dir==Vector2() and speed.length()<IDLE_SPEED): + next_anim="idle" + next_mirror=false + elif (speed.length()>IDLE_SPEED*0.1): + var angle = atan2(abs(speed.x),speed.y) + + next_mirror = speed.x>0 + if (angle<PI/8): + next_anim="bottom" + next_mirror=false + elif (angle<PI/4+PI/8): + next_anim="bottom_left" + elif (angle<PI*2/4+PI/8): + next_anim="left" + elif (angle<PI*3/4+PI/8): + next_anim="top_left" + else: + next_anim="top" + next_mirror=false + + + if (next_anim!=current_anim or next_mirror!=current_mirror): + get_node("frames").set_flip_h(next_mirror) + get_node("anim").play(next_anim) + current_anim=next_anim + current_mirror=next_mirror + + + +func _ready(): + # Initialization here + set_fixed_process(true) + set_process_input(true) + pass + + diff --git a/demos/2d/isometric_light/cubio.scn b/demos/2d/isometric_light/cubio.scn Binary files differnew file mode 100644 index 0000000000..fc931b0c8d --- /dev/null +++ b/demos/2d/isometric_light/cubio.scn diff --git a/demos/2d/isometric_light/cubio/idle0001.png b/demos/2d/isometric_light/cubio/idle0001.png Binary files differnew file mode 100644 index 0000000000..837dd38f9c --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0001.png diff --git a/demos/2d/isometric_light/cubio/idle0002.png b/demos/2d/isometric_light/cubio/idle0002.png Binary files differnew file mode 100644 index 0000000000..6137a37a9d --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0002.png diff --git a/demos/2d/isometric_light/cubio/idle0003.png b/demos/2d/isometric_light/cubio/idle0003.png Binary files differnew file mode 100644 index 0000000000..7f3e3e0e31 --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0003.png diff --git a/demos/2d/isometric_light/cubio/idle0004.png b/demos/2d/isometric_light/cubio/idle0004.png Binary files differnew file mode 100644 index 0000000000..0a697dadf9 --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0004.png diff --git a/demos/2d/isometric_light/cubio/idle0005.png b/demos/2d/isometric_light/cubio/idle0005.png Binary files differnew file mode 100644 index 0000000000..9c47197247 --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0005.png diff --git a/demos/2d/isometric_light/cubio/idle0006.png b/demos/2d/isometric_light/cubio/idle0006.png Binary files differnew file mode 100644 index 0000000000..717a7be5b1 --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0006.png diff --git a/demos/2d/isometric_light/cubio/idle0007.png b/demos/2d/isometric_light/cubio/idle0007.png Binary files differnew file mode 100644 index 0000000000..dde18399f3 --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0007.png diff --git a/demos/2d/isometric_light/cubio/idle0008.png b/demos/2d/isometric_light/cubio/idle0008.png Binary files differnew file mode 100644 index 0000000000..0f716a5d84 --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0008.png diff --git a/demos/2d/isometric_light/cubio/idle0009.png b/demos/2d/isometric_light/cubio/idle0009.png Binary files differnew file mode 100644 index 0000000000..d271373f9d --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0009.png diff --git a/demos/2d/isometric_light/cubio/idle0010.png b/demos/2d/isometric_light/cubio/idle0010.png Binary files differnew file mode 100644 index 0000000000..61311be0eb --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0010.png diff --git a/demos/2d/isometric_light/cubio/idle0011.png b/demos/2d/isometric_light/cubio/idle0011.png Binary files differnew file mode 100644 index 0000000000..0b7d32d138 --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0011.png diff --git a/demos/2d/isometric_light/cubio/idle0012.png b/demos/2d/isometric_light/cubio/idle0012.png Binary files differnew file mode 100644 index 0000000000..c176034cfa --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0012.png diff --git a/demos/2d/isometric_light/cubio/idle0013.png b/demos/2d/isometric_light/cubio/idle0013.png Binary files differnew file mode 100644 index 0000000000..c37018154b --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0013.png diff --git a/demos/2d/isometric_light/cubio/idle0014.png b/demos/2d/isometric_light/cubio/idle0014.png Binary files differnew file mode 100644 index 0000000000..a4613e4269 --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0014.png diff --git a/demos/2d/isometric_light/cubio/idle0015.png b/demos/2d/isometric_light/cubio/idle0015.png Binary files differnew file mode 100644 index 0000000000..8354588b72 --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0015.png diff --git a/demos/2d/isometric_light/cubio/idle0016.png b/demos/2d/isometric_light/cubio/idle0016.png Binary files differnew file mode 100644 index 0000000000..4e5796fb89 --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0016.png diff --git a/demos/2d/isometric_light/cubio/idle0017.png b/demos/2d/isometric_light/cubio/idle0017.png Binary files differnew file mode 100644 index 0000000000..a4ac7e8c43 --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0017.png diff --git a/demos/2d/isometric_light/cubio/idle0018.png b/demos/2d/isometric_light/cubio/idle0018.png Binary files differnew file mode 100644 index 0000000000..aa7cc8fe6c --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0018.png diff --git a/demos/2d/isometric_light/cubio/idle0019.png b/demos/2d/isometric_light/cubio/idle0019.png Binary files differnew file mode 100644 index 0000000000..3ab603ceda --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0019.png diff --git a/demos/2d/isometric_light/cubio/idle0020.png b/demos/2d/isometric_light/cubio/idle0020.png Binary files differnew file mode 100644 index 0000000000..9f02648f1a --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0020.png diff --git a/demos/2d/isometric_light/cubio/idle0021.png b/demos/2d/isometric_light/cubio/idle0021.png Binary files differnew file mode 100644 index 0000000000..ec37fc331f --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0021.png diff --git a/demos/2d/isometric_light/cubio/idle0022.png b/demos/2d/isometric_light/cubio/idle0022.png Binary files differnew file mode 100644 index 0000000000..34bf331af0 --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0022.png diff --git a/demos/2d/isometric_light/cubio/idle0023.png b/demos/2d/isometric_light/cubio/idle0023.png Binary files differnew file mode 100644 index 0000000000..80a458146e --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0023.png diff --git a/demos/2d/isometric_light/cubio/idle0024.png b/demos/2d/isometric_light/cubio/idle0024.png Binary files differnew file mode 100644 index 0000000000..cd08c6d14a --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0024.png diff --git a/demos/2d/isometric_light/cubio/idle0025.png b/demos/2d/isometric_light/cubio/idle0025.png Binary files differnew file mode 100644 index 0000000000..de500512d4 --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0025.png diff --git a/demos/2d/isometric_light/cubio/idle0026.png b/demos/2d/isometric_light/cubio/idle0026.png Binary files differnew file mode 100644 index 0000000000..4a8335a248 --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0026.png diff --git a/demos/2d/isometric_light/cubio/idle0027.png b/demos/2d/isometric_light/cubio/idle0027.png Binary files differnew file mode 100644 index 0000000000..c3d1609a03 --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0027.png diff --git a/demos/2d/isometric_light/cubio/idle0028.png b/demos/2d/isometric_light/cubio/idle0028.png Binary files differnew file mode 100644 index 0000000000..96c1f32223 --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0028.png diff --git a/demos/2d/isometric_light/cubio/idle0029.png b/demos/2d/isometric_light/cubio/idle0029.png Binary files differnew file mode 100644 index 0000000000..5b72d02300 --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0029.png diff --git a/demos/2d/isometric_light/cubio/idle0030.png b/demos/2d/isometric_light/cubio/idle0030.png Binary files differnew file mode 100644 index 0000000000..a84787bf0a --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0030.png diff --git a/demos/2d/isometric_light/cubio/idle0031.png b/demos/2d/isometric_light/cubio/idle0031.png Binary files differnew file mode 100644 index 0000000000..dc9cd7ddc5 --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0031.png diff --git a/demos/2d/isometric_light/cubio/idle0032.png b/demos/2d/isometric_light/cubio/idle0032.png Binary files differnew file mode 100644 index 0000000000..c99f2e52bc --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0032.png diff --git a/demos/2d/isometric_light/cubio/idle0033.png b/demos/2d/isometric_light/cubio/idle0033.png Binary files differnew file mode 100644 index 0000000000..cf5c648f9e --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0033.png diff --git a/demos/2d/isometric_light/cubio/idle0034.png b/demos/2d/isometric_light/cubio/idle0034.png Binary files differnew file mode 100644 index 0000000000..8e18e12d8d --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0034.png diff --git a/demos/2d/isometric_light/cubio/idle0035.png b/demos/2d/isometric_light/cubio/idle0035.png Binary files differnew file mode 100644 index 0000000000..ee2c25ee96 --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0035.png diff --git a/demos/2d/isometric_light/cubio/idle0036.png b/demos/2d/isometric_light/cubio/idle0036.png Binary files differnew file mode 100644 index 0000000000..f452b5db33 --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0036.png diff --git a/demos/2d/isometric_light/cubio/idle0037.png b/demos/2d/isometric_light/cubio/idle0037.png Binary files differnew file mode 100644 index 0000000000..7768c712e3 --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0037.png diff --git a/demos/2d/isometric_light/cubio/idle0038.png b/demos/2d/isometric_light/cubio/idle0038.png Binary files differnew file mode 100644 index 0000000000..1200127116 --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0038.png diff --git a/demos/2d/isometric_light/cubio/idle0039.png b/demos/2d/isometric_light/cubio/idle0039.png Binary files differnew file mode 100644 index 0000000000..25219f0582 --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0039.png diff --git a/demos/2d/isometric_light/cubio/idle0040.png b/demos/2d/isometric_light/cubio/idle0040.png Binary files differnew file mode 100644 index 0000000000..8da0a81050 --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0040.png diff --git a/demos/2d/isometric_light/cubio/idle0041.png b/demos/2d/isometric_light/cubio/idle0041.png Binary files differnew file mode 100644 index 0000000000..fa102aec8a --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0041.png diff --git a/demos/2d/isometric_light/cubio/idle0042.png b/demos/2d/isometric_light/cubio/idle0042.png Binary files differnew file mode 100644 index 0000000000..0d19c32572 --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0042.png diff --git a/demos/2d/isometric_light/cubio/idle0043.png b/demos/2d/isometric_light/cubio/idle0043.png Binary files differnew file mode 100644 index 0000000000..bf284c62d0 --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0043.png diff --git a/demos/2d/isometric_light/cubio/idle0044.png b/demos/2d/isometric_light/cubio/idle0044.png Binary files differnew file mode 100644 index 0000000000..3daa1be0b8 --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0044.png diff --git a/demos/2d/isometric_light/cubio/idle0045.png b/demos/2d/isometric_light/cubio/idle0045.png Binary files differnew file mode 100644 index 0000000000..92abe74295 --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0045.png diff --git a/demos/2d/isometric_light/cubio/idle0046.png b/demos/2d/isometric_light/cubio/idle0046.png Binary files differnew file mode 100644 index 0000000000..2a1ab0f036 --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0046.png diff --git a/demos/2d/isometric_light/cubio/idle0047.png b/demos/2d/isometric_light/cubio/idle0047.png Binary files differnew file mode 100644 index 0000000000..da38b835ef --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0047.png diff --git a/demos/2d/isometric_light/cubio/idle0048.png b/demos/2d/isometric_light/cubio/idle0048.png Binary files differnew file mode 100644 index 0000000000..35fac1b602 --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0048.png diff --git a/demos/2d/isometric_light/cubio/idle0049.png b/demos/2d/isometric_light/cubio/idle0049.png Binary files differnew file mode 100644 index 0000000000..7ebd79b8d7 --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0049.png diff --git a/demos/2d/isometric_light/cubio/idle0050.png b/demos/2d/isometric_light/cubio/idle0050.png Binary files differnew file mode 100644 index 0000000000..ba0678ba87 --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0050.png diff --git a/demos/2d/isometric_light/cubio/idle0051.png b/demos/2d/isometric_light/cubio/idle0051.png Binary files differnew file mode 100644 index 0000000000..03c54f1232 --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0051.png diff --git a/demos/2d/isometric_light/cubio/idle0052.png b/demos/2d/isometric_light/cubio/idle0052.png Binary files differnew file mode 100644 index 0000000000..0e2c8b5d9f --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0052.png diff --git a/demos/2d/isometric_light/cubio/idle0053.png b/demos/2d/isometric_light/cubio/idle0053.png Binary files differnew file mode 100644 index 0000000000..d95095937f --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0053.png diff --git a/demos/2d/isometric_light/cubio/idle0054.png b/demos/2d/isometric_light/cubio/idle0054.png Binary files differnew file mode 100644 index 0000000000..5a09fce69e --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0054.png diff --git a/demos/2d/isometric_light/cubio/idle0055.png b/demos/2d/isometric_light/cubio/idle0055.png Binary files differnew file mode 100644 index 0000000000..6e2aad9d70 --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0055.png diff --git a/demos/2d/isometric_light/cubio/idle0056.png b/demos/2d/isometric_light/cubio/idle0056.png Binary files differnew file mode 100644 index 0000000000..45813e953f --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0056.png diff --git a/demos/2d/isometric_light/cubio/idle0057.png b/demos/2d/isometric_light/cubio/idle0057.png Binary files differnew file mode 100644 index 0000000000..579b4e1647 --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0057.png diff --git a/demos/2d/isometric_light/cubio/idle0058.png b/demos/2d/isometric_light/cubio/idle0058.png Binary files differnew file mode 100644 index 0000000000..236f290651 --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0058.png diff --git a/demos/2d/isometric_light/cubio/idle0059.png b/demos/2d/isometric_light/cubio/idle0059.png Binary files differnew file mode 100644 index 0000000000..837dd38f9c --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0059.png diff --git a/demos/2d/isometric_light/cubio/idle0060.png b/demos/2d/isometric_light/cubio/idle0060.png Binary files differnew file mode 100644 index 0000000000..837dd38f9c --- /dev/null +++ b/demos/2d/isometric_light/cubio/idle0060.png diff --git a/demos/2d/isometric_light/cubio/norm-b-0001.png b/demos/2d/isometric_light/cubio/norm-b-0001.png Binary files differnew file mode 100644 index 0000000000..cda17e21cc --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-b-0001.png diff --git a/demos/2d/isometric_light/cubio/norm-b-0002.png b/demos/2d/isometric_light/cubio/norm-b-0002.png Binary files differnew file mode 100644 index 0000000000..fb36728cdf --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-b-0002.png diff --git a/demos/2d/isometric_light/cubio/norm-b-0003.png b/demos/2d/isometric_light/cubio/norm-b-0003.png Binary files differnew file mode 100644 index 0000000000..c8bfecb100 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-b-0003.png diff --git a/demos/2d/isometric_light/cubio/norm-b-0004.png b/demos/2d/isometric_light/cubio/norm-b-0004.png Binary files differnew file mode 100644 index 0000000000..e91213434f --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-b-0004.png diff --git a/demos/2d/isometric_light/cubio/norm-b-0005.png b/demos/2d/isometric_light/cubio/norm-b-0005.png Binary files differnew file mode 100644 index 0000000000..a823fe9a92 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-b-0005.png diff --git a/demos/2d/isometric_light/cubio/norm-b-0006.png b/demos/2d/isometric_light/cubio/norm-b-0006.png Binary files differnew file mode 100644 index 0000000000..d9de12baad --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-b-0006.png diff --git a/demos/2d/isometric_light/cubio/norm-b-0007.png b/demos/2d/isometric_light/cubio/norm-b-0007.png Binary files differnew file mode 100644 index 0000000000..f042eed408 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-b-0007.png diff --git a/demos/2d/isometric_light/cubio/norm-b-0008.png b/demos/2d/isometric_light/cubio/norm-b-0008.png Binary files differnew file mode 100644 index 0000000000..e18ca607dd --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-b-0008.png diff --git a/demos/2d/isometric_light/cubio/norm-b-0009.png b/demos/2d/isometric_light/cubio/norm-b-0009.png Binary files differnew file mode 100644 index 0000000000..7e7ddd4c63 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-b-0009.png diff --git a/demos/2d/isometric_light/cubio/norm-b-0010.png b/demos/2d/isometric_light/cubio/norm-b-0010.png Binary files differnew file mode 100644 index 0000000000..fddb956099 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-b-0010.png diff --git a/demos/2d/isometric_light/cubio/norm-b-0011.png b/demos/2d/isometric_light/cubio/norm-b-0011.png Binary files differnew file mode 100644 index 0000000000..240a50a9ec --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-b-0011.png diff --git a/demos/2d/isometric_light/cubio/norm-b-0012.png b/demos/2d/isometric_light/cubio/norm-b-0012.png Binary files differnew file mode 100644 index 0000000000..3e38628e98 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-b-0012.png diff --git a/demos/2d/isometric_light/cubio/norm-b-0013.png b/demos/2d/isometric_light/cubio/norm-b-0013.png Binary files differnew file mode 100644 index 0000000000..2380e76909 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-b-0013.png diff --git a/demos/2d/isometric_light/cubio/norm-b-0014.png b/demos/2d/isometric_light/cubio/norm-b-0014.png Binary files differnew file mode 100644 index 0000000000..db374927c6 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-b-0014.png diff --git a/demos/2d/isometric_light/cubio/norm-b-0015.png b/demos/2d/isometric_light/cubio/norm-b-0015.png Binary files differnew file mode 100644 index 0000000000..1cd0e762c5 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-b-0015.png diff --git a/demos/2d/isometric_light/cubio/norm-b-0016.png b/demos/2d/isometric_light/cubio/norm-b-0016.png Binary files differnew file mode 100644 index 0000000000..0d894db3f4 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-b-0016.png diff --git a/demos/2d/isometric_light/cubio/norm-b-0017.png b/demos/2d/isometric_light/cubio/norm-b-0017.png Binary files differnew file mode 100644 index 0000000000..c184af8e85 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-b-0017.png diff --git a/demos/2d/isometric_light/cubio/norm-b-0018.png b/demos/2d/isometric_light/cubio/norm-b-0018.png Binary files differnew file mode 100644 index 0000000000..1db06014b7 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-b-0018.png diff --git a/demos/2d/isometric_light/cubio/norm-b-0019.png b/demos/2d/isometric_light/cubio/norm-b-0019.png Binary files differnew file mode 100644 index 0000000000..e74c9c7954 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-b-0019.png diff --git a/demos/2d/isometric_light/cubio/norm-b-0020.png b/demos/2d/isometric_light/cubio/norm-b-0020.png Binary files differnew file mode 100644 index 0000000000..326e60c64a --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-b-0020.png diff --git a/demos/2d/isometric_light/cubio/norm-bl-0001.png b/demos/2d/isometric_light/cubio/norm-bl-0001.png Binary files differnew file mode 100644 index 0000000000..0b36e8caa3 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-bl-0001.png diff --git a/demos/2d/isometric_light/cubio/norm-bl-0002.png b/demos/2d/isometric_light/cubio/norm-bl-0002.png Binary files differnew file mode 100644 index 0000000000..f00166d140 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-bl-0002.png diff --git a/demos/2d/isometric_light/cubio/norm-bl-0003.png b/demos/2d/isometric_light/cubio/norm-bl-0003.png Binary files differnew file mode 100644 index 0000000000..d84993e097 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-bl-0003.png diff --git a/demos/2d/isometric_light/cubio/norm-bl-0004.png b/demos/2d/isometric_light/cubio/norm-bl-0004.png Binary files differnew file mode 100644 index 0000000000..8e4c7f278b --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-bl-0004.png diff --git a/demos/2d/isometric_light/cubio/norm-bl-0005.png b/demos/2d/isometric_light/cubio/norm-bl-0005.png Binary files differnew file mode 100644 index 0000000000..5009f2a514 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-bl-0005.png diff --git a/demos/2d/isometric_light/cubio/norm-bl-0006.png b/demos/2d/isometric_light/cubio/norm-bl-0006.png Binary files differnew file mode 100644 index 0000000000..d0d654de6e --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-bl-0006.png diff --git a/demos/2d/isometric_light/cubio/norm-bl-0007.png b/demos/2d/isometric_light/cubio/norm-bl-0007.png Binary files differnew file mode 100644 index 0000000000..2df2437a0d --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-bl-0007.png diff --git a/demos/2d/isometric_light/cubio/norm-bl-0008.png b/demos/2d/isometric_light/cubio/norm-bl-0008.png Binary files differnew file mode 100644 index 0000000000..4bb8e91ecc --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-bl-0008.png diff --git a/demos/2d/isometric_light/cubio/norm-bl-0009.png b/demos/2d/isometric_light/cubio/norm-bl-0009.png Binary files differnew file mode 100644 index 0000000000..e4ab80ab72 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-bl-0009.png diff --git a/demos/2d/isometric_light/cubio/norm-bl-0010.png b/demos/2d/isometric_light/cubio/norm-bl-0010.png Binary files differnew file mode 100644 index 0000000000..7ead89343f --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-bl-0010.png diff --git a/demos/2d/isometric_light/cubio/norm-bl-0011.png b/demos/2d/isometric_light/cubio/norm-bl-0011.png Binary files differnew file mode 100644 index 0000000000..9714999645 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-bl-0011.png diff --git a/demos/2d/isometric_light/cubio/norm-bl-0012.png b/demos/2d/isometric_light/cubio/norm-bl-0012.png Binary files differnew file mode 100644 index 0000000000..95e0117df8 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-bl-0012.png diff --git a/demos/2d/isometric_light/cubio/norm-bl-0013.png b/demos/2d/isometric_light/cubio/norm-bl-0013.png Binary files differnew file mode 100644 index 0000000000..85d4f25e7e --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-bl-0013.png diff --git a/demos/2d/isometric_light/cubio/norm-bl-0014.png b/demos/2d/isometric_light/cubio/norm-bl-0014.png Binary files differnew file mode 100644 index 0000000000..3c9cc526d0 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-bl-0014.png diff --git a/demos/2d/isometric_light/cubio/norm-bl-0015.png b/demos/2d/isometric_light/cubio/norm-bl-0015.png Binary files differnew file mode 100644 index 0000000000..3e30649ce1 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-bl-0015.png diff --git a/demos/2d/isometric_light/cubio/norm-bl-0016.png b/demos/2d/isometric_light/cubio/norm-bl-0016.png Binary files differnew file mode 100644 index 0000000000..f39399c369 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-bl-0016.png diff --git a/demos/2d/isometric_light/cubio/norm-bl-0017.png b/demos/2d/isometric_light/cubio/norm-bl-0017.png Binary files differnew file mode 100644 index 0000000000..47f79741a1 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-bl-0017.png diff --git a/demos/2d/isometric_light/cubio/norm-bl-0018.png b/demos/2d/isometric_light/cubio/norm-bl-0018.png Binary files differnew file mode 100644 index 0000000000..8f4ccdcf33 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-bl-0018.png diff --git a/demos/2d/isometric_light/cubio/norm-bl-0019.png b/demos/2d/isometric_light/cubio/norm-bl-0019.png Binary files differnew file mode 100644 index 0000000000..a278ec0f05 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-bl-0019.png diff --git a/demos/2d/isometric_light/cubio/norm-bl-0020.png b/demos/2d/isometric_light/cubio/norm-bl-0020.png Binary files differnew file mode 100644 index 0000000000..db5fd0b73c --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-bl-0020.png diff --git a/demos/2d/isometric_light/cubio/norm-l-0001.png b/demos/2d/isometric_light/cubio/norm-l-0001.png Binary files differnew file mode 100644 index 0000000000..7a989e79dd --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-l-0001.png diff --git a/demos/2d/isometric_light/cubio/norm-l-0002.png b/demos/2d/isometric_light/cubio/norm-l-0002.png Binary files differnew file mode 100644 index 0000000000..2257923ee6 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-l-0002.png diff --git a/demos/2d/isometric_light/cubio/norm-l-0003.png b/demos/2d/isometric_light/cubio/norm-l-0003.png Binary files differnew file mode 100644 index 0000000000..2e264e49a4 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-l-0003.png diff --git a/demos/2d/isometric_light/cubio/norm-l-0004.png b/demos/2d/isometric_light/cubio/norm-l-0004.png Binary files differnew file mode 100644 index 0000000000..e0061451d6 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-l-0004.png diff --git a/demos/2d/isometric_light/cubio/norm-l-0005.png b/demos/2d/isometric_light/cubio/norm-l-0005.png Binary files differnew file mode 100644 index 0000000000..e16cca081c --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-l-0005.png diff --git a/demos/2d/isometric_light/cubio/norm-l-0006.png b/demos/2d/isometric_light/cubio/norm-l-0006.png Binary files differnew file mode 100644 index 0000000000..694c2163eb --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-l-0006.png diff --git a/demos/2d/isometric_light/cubio/norm-l-0007.png b/demos/2d/isometric_light/cubio/norm-l-0007.png Binary files differnew file mode 100644 index 0000000000..ed2ae64cad --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-l-0007.png diff --git a/demos/2d/isometric_light/cubio/norm-l-0008.png b/demos/2d/isometric_light/cubio/norm-l-0008.png Binary files differnew file mode 100644 index 0000000000..4bbaeb8006 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-l-0008.png diff --git a/demos/2d/isometric_light/cubio/norm-l-0009.png b/demos/2d/isometric_light/cubio/norm-l-0009.png Binary files differnew file mode 100644 index 0000000000..1f53a1067b --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-l-0009.png diff --git a/demos/2d/isometric_light/cubio/norm-l-0010.png b/demos/2d/isometric_light/cubio/norm-l-0010.png Binary files differnew file mode 100644 index 0000000000..2007942a2a --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-l-0010.png diff --git a/demos/2d/isometric_light/cubio/norm-l-0011.png b/demos/2d/isometric_light/cubio/norm-l-0011.png Binary files differnew file mode 100644 index 0000000000..0c27288646 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-l-0011.png diff --git a/demos/2d/isometric_light/cubio/norm-l-0012.png b/demos/2d/isometric_light/cubio/norm-l-0012.png Binary files differnew file mode 100644 index 0000000000..8b885bcee8 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-l-0012.png diff --git a/demos/2d/isometric_light/cubio/norm-l-0013.png b/demos/2d/isometric_light/cubio/norm-l-0013.png Binary files differnew file mode 100644 index 0000000000..ed08c9a470 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-l-0013.png diff --git a/demos/2d/isometric_light/cubio/norm-l-0014.png b/demos/2d/isometric_light/cubio/norm-l-0014.png Binary files differnew file mode 100644 index 0000000000..3b6088c9a0 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-l-0014.png diff --git a/demos/2d/isometric_light/cubio/norm-l-0015.png b/demos/2d/isometric_light/cubio/norm-l-0015.png Binary files differnew file mode 100644 index 0000000000..1ffa2b8cda --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-l-0015.png diff --git a/demos/2d/isometric_light/cubio/norm-l-0016.png b/demos/2d/isometric_light/cubio/norm-l-0016.png Binary files differnew file mode 100644 index 0000000000..00279dc052 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-l-0016.png diff --git a/demos/2d/isometric_light/cubio/norm-l-0017.png b/demos/2d/isometric_light/cubio/norm-l-0017.png Binary files differnew file mode 100644 index 0000000000..1805000a78 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-l-0017.png diff --git a/demos/2d/isometric_light/cubio/norm-l-0018.png b/demos/2d/isometric_light/cubio/norm-l-0018.png Binary files differnew file mode 100644 index 0000000000..1ff123533f --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-l-0018.png diff --git a/demos/2d/isometric_light/cubio/norm-l-0019.png b/demos/2d/isometric_light/cubio/norm-l-0019.png Binary files differnew file mode 100644 index 0000000000..2faf043a2b --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-l-0019.png diff --git a/demos/2d/isometric_light/cubio/norm-l-0020.png b/demos/2d/isometric_light/cubio/norm-l-0020.png Binary files differnew file mode 100644 index 0000000000..7948d2d79d --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-l-0020.png diff --git a/demos/2d/isometric_light/cubio/norm-u-0001.png b/demos/2d/isometric_light/cubio/norm-u-0001.png Binary files differnew file mode 100644 index 0000000000..6c702ba7c3 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-u-0001.png diff --git a/demos/2d/isometric_light/cubio/norm-u-0002.png b/demos/2d/isometric_light/cubio/norm-u-0002.png Binary files differnew file mode 100644 index 0000000000..9a151e049b --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-u-0002.png diff --git a/demos/2d/isometric_light/cubio/norm-u-0003.png b/demos/2d/isometric_light/cubio/norm-u-0003.png Binary files differnew file mode 100644 index 0000000000..0b7464260a --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-u-0003.png diff --git a/demos/2d/isometric_light/cubio/norm-u-0004.png b/demos/2d/isometric_light/cubio/norm-u-0004.png Binary files differnew file mode 100644 index 0000000000..89061fdbcf --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-u-0004.png diff --git a/demos/2d/isometric_light/cubio/norm-u-0005.png b/demos/2d/isometric_light/cubio/norm-u-0005.png Binary files differnew file mode 100644 index 0000000000..efc8ab0157 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-u-0005.png diff --git a/demos/2d/isometric_light/cubio/norm-u-0006.png b/demos/2d/isometric_light/cubio/norm-u-0006.png Binary files differnew file mode 100644 index 0000000000..a89ef58f46 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-u-0006.png diff --git a/demos/2d/isometric_light/cubio/norm-u-0007.png b/demos/2d/isometric_light/cubio/norm-u-0007.png Binary files differnew file mode 100644 index 0000000000..b069591200 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-u-0007.png diff --git a/demos/2d/isometric_light/cubio/norm-u-0008.png b/demos/2d/isometric_light/cubio/norm-u-0008.png Binary files differnew file mode 100644 index 0000000000..8f0dbe8016 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-u-0008.png diff --git a/demos/2d/isometric_light/cubio/norm-u-0009.png b/demos/2d/isometric_light/cubio/norm-u-0009.png Binary files differnew file mode 100644 index 0000000000..d4698f2584 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-u-0009.png diff --git a/demos/2d/isometric_light/cubio/norm-u-0010.png b/demos/2d/isometric_light/cubio/norm-u-0010.png Binary files differnew file mode 100644 index 0000000000..cc3d442d4a --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-u-0010.png diff --git a/demos/2d/isometric_light/cubio/norm-u-0011.png b/demos/2d/isometric_light/cubio/norm-u-0011.png Binary files differnew file mode 100644 index 0000000000..43c505d7e4 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-u-0011.png diff --git a/demos/2d/isometric_light/cubio/norm-u-0012.png b/demos/2d/isometric_light/cubio/norm-u-0012.png Binary files differnew file mode 100644 index 0000000000..d4f955fd0c --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-u-0012.png diff --git a/demos/2d/isometric_light/cubio/norm-u-0013.png b/demos/2d/isometric_light/cubio/norm-u-0013.png Binary files differnew file mode 100644 index 0000000000..08dd875a54 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-u-0013.png diff --git a/demos/2d/isometric_light/cubio/norm-u-0014.png b/demos/2d/isometric_light/cubio/norm-u-0014.png Binary files differnew file mode 100644 index 0000000000..4bea108a46 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-u-0014.png diff --git a/demos/2d/isometric_light/cubio/norm-u-0015.png b/demos/2d/isometric_light/cubio/norm-u-0015.png Binary files differnew file mode 100644 index 0000000000..943c556706 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-u-0015.png diff --git a/demos/2d/isometric_light/cubio/norm-u-0016.png b/demos/2d/isometric_light/cubio/norm-u-0016.png Binary files differnew file mode 100644 index 0000000000..d71a69c5a6 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-u-0016.png diff --git a/demos/2d/isometric_light/cubio/norm-u-0017.png b/demos/2d/isometric_light/cubio/norm-u-0017.png Binary files differnew file mode 100644 index 0000000000..2d74e4472c --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-u-0017.png diff --git a/demos/2d/isometric_light/cubio/norm-u-0018.png b/demos/2d/isometric_light/cubio/norm-u-0018.png Binary files differnew file mode 100644 index 0000000000..17a5b10acb --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-u-0018.png diff --git a/demos/2d/isometric_light/cubio/norm-u-0019.png b/demos/2d/isometric_light/cubio/norm-u-0019.png Binary files differnew file mode 100644 index 0000000000..e376c843e1 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-u-0019.png diff --git a/demos/2d/isometric_light/cubio/norm-u-0020.png b/demos/2d/isometric_light/cubio/norm-u-0020.png Binary files differnew file mode 100644 index 0000000000..fa1d3521ca --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-u-0020.png diff --git a/demos/2d/isometric_light/cubio/norm-ul-0001.png b/demos/2d/isometric_light/cubio/norm-ul-0001.png Binary files differnew file mode 100644 index 0000000000..3e75621260 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-ul-0001.png diff --git a/demos/2d/isometric_light/cubio/norm-ul-0002.png b/demos/2d/isometric_light/cubio/norm-ul-0002.png Binary files differnew file mode 100644 index 0000000000..d48d902936 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-ul-0002.png diff --git a/demos/2d/isometric_light/cubio/norm-ul-0003.png b/demos/2d/isometric_light/cubio/norm-ul-0003.png Binary files differnew file mode 100644 index 0000000000..703cef6715 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-ul-0003.png diff --git a/demos/2d/isometric_light/cubio/norm-ul-0004.png b/demos/2d/isometric_light/cubio/norm-ul-0004.png Binary files differnew file mode 100644 index 0000000000..7dd3e2884e --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-ul-0004.png diff --git a/demos/2d/isometric_light/cubio/norm-ul-0005.png b/demos/2d/isometric_light/cubio/norm-ul-0005.png Binary files differnew file mode 100644 index 0000000000..1281b9ceb8 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-ul-0005.png diff --git a/demos/2d/isometric_light/cubio/norm-ul-0006.png b/demos/2d/isometric_light/cubio/norm-ul-0006.png Binary files differnew file mode 100644 index 0000000000..e3c58752e9 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-ul-0006.png diff --git a/demos/2d/isometric_light/cubio/norm-ul-0007.png b/demos/2d/isometric_light/cubio/norm-ul-0007.png Binary files differnew file mode 100644 index 0000000000..ccec10c83c --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-ul-0007.png diff --git a/demos/2d/isometric_light/cubio/norm-ul-0008.png b/demos/2d/isometric_light/cubio/norm-ul-0008.png Binary files differnew file mode 100644 index 0000000000..1243c7dfe8 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-ul-0008.png diff --git a/demos/2d/isometric_light/cubio/norm-ul-0009.png b/demos/2d/isometric_light/cubio/norm-ul-0009.png Binary files differnew file mode 100644 index 0000000000..77ea3ca8e9 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-ul-0009.png diff --git a/demos/2d/isometric_light/cubio/norm-ul-0010.png b/demos/2d/isometric_light/cubio/norm-ul-0010.png Binary files differnew file mode 100644 index 0000000000..cf1cb7d0e3 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-ul-0010.png diff --git a/demos/2d/isometric_light/cubio/norm-ul-0011.png b/demos/2d/isometric_light/cubio/norm-ul-0011.png Binary files differnew file mode 100644 index 0000000000..1063ee29a8 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-ul-0011.png diff --git a/demos/2d/isometric_light/cubio/norm-ul-0012.png b/demos/2d/isometric_light/cubio/norm-ul-0012.png Binary files differnew file mode 100644 index 0000000000..a896237161 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-ul-0012.png diff --git a/demos/2d/isometric_light/cubio/norm-ul-0013.png b/demos/2d/isometric_light/cubio/norm-ul-0013.png Binary files differnew file mode 100644 index 0000000000..cc289b18a0 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-ul-0013.png diff --git a/demos/2d/isometric_light/cubio/norm-ul-0014.png b/demos/2d/isometric_light/cubio/norm-ul-0014.png Binary files differnew file mode 100644 index 0000000000..faf36e82b6 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-ul-0014.png diff --git a/demos/2d/isometric_light/cubio/norm-ul-0015.png b/demos/2d/isometric_light/cubio/norm-ul-0015.png Binary files differnew file mode 100644 index 0000000000..925be82a2e --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-ul-0015.png diff --git a/demos/2d/isometric_light/cubio/norm-ul-0016.png b/demos/2d/isometric_light/cubio/norm-ul-0016.png Binary files differnew file mode 100644 index 0000000000..1cb2300b9d --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-ul-0016.png diff --git a/demos/2d/isometric_light/cubio/norm-ul-0017.png b/demos/2d/isometric_light/cubio/norm-ul-0017.png Binary files differnew file mode 100644 index 0000000000..5a841b57af --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-ul-0017.png diff --git a/demos/2d/isometric_light/cubio/norm-ul-0018.png b/demos/2d/isometric_light/cubio/norm-ul-0018.png Binary files differnew file mode 100644 index 0000000000..2b30df8988 --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-ul-0018.png diff --git a/demos/2d/isometric_light/cubio/norm-ul-0019.png b/demos/2d/isometric_light/cubio/norm-ul-0019.png Binary files differnew file mode 100644 index 0000000000..12c0a72d6d --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-ul-0019.png diff --git a/demos/2d/isometric_light/cubio/norm-ul-0020.png b/demos/2d/isometric_light/cubio/norm-ul-0020.png Binary files differnew file mode 100644 index 0000000000..3cffda17ca --- /dev/null +++ b/demos/2d/isometric_light/cubio/norm-ul-0020.png diff --git a/demos/2d/isometric_light/energy.png b/demos/2d/isometric_light/energy.png Binary files differnew file mode 100644 index 0000000000..237e3ea4f0 --- /dev/null +++ b/demos/2d/isometric_light/energy.png diff --git a/demos/2d/isometric_light/engine.cfg b/demos/2d/isometric_light/engine.cfg new file mode 100644 index 0000000000..a5b053aa95 --- /dev/null +++ b/demos/2d/isometric_light/engine.cfg @@ -0,0 +1,20 @@ +[application] + +name="Isometric 2D + Lighting" +main_scene="res://map.scn" +icon="res://icon.png" + +[input] + +up=[key(Up), key(W)] +down=[key(S), key(Down)] +left=[key(Left), key(A)] +right=[key(Right), key(D)] + +[rasterizer] + +shadow_filter=0 + +[render] + +default_clear_color=#ff000000 diff --git a/demos/2d/isometric_light/faceColor.png b/demos/2d/isometric_light/faceColor.png Binary files differnew file mode 100644 index 0000000000..c6daf73cb7 --- /dev/null +++ b/demos/2d/isometric_light/faceColor.png diff --git a/demos/2d/isometric_light/faceMask.png b/demos/2d/isometric_light/faceMask.png Binary files differnew file mode 100644 index 0000000000..d91e968c8e --- /dev/null +++ b/demos/2d/isometric_light/faceMask.png diff --git a/demos/2d/isometric_light/faceNormal.png b/demos/2d/isometric_light/faceNormal.png Binary files differnew file mode 100644 index 0000000000..651f075fa1 --- /dev/null +++ b/demos/2d/isometric_light/faceNormal.png diff --git a/demos/2d/isometric_light/fire.png b/demos/2d/isometric_light/fire.png Binary files differnew file mode 100644 index 0000000000..746e4f9f4b --- /dev/null +++ b/demos/2d/isometric_light/fire.png diff --git a/demos/2d/isometric_light/floor_shader.res b/demos/2d/isometric_light/floor_shader.res Binary files differnew file mode 100644 index 0000000000..c078d27b97 --- /dev/null +++ b/demos/2d/isometric_light/floor_shader.res diff --git a/demos/2d/isometric_light/icon.png b/demos/2d/isometric_light/icon.png Binary files differnew file mode 100644 index 0000000000..0801f78ea5 --- /dev/null +++ b/demos/2d/isometric_light/icon.png diff --git a/demos/2d/isometric_light/light2.png b/demos/2d/isometric_light/light2.png Binary files differnew file mode 100644 index 0000000000..cd473251aa --- /dev/null +++ b/demos/2d/isometric_light/light2.png diff --git a/demos/2d/isometric_light/map.gd b/demos/2d/isometric_light/map.gd new file mode 100644 index 0000000000..f712aeeaec --- /dev/null +++ b/demos/2d/isometric_light/map.gd @@ -0,0 +1,18 @@ + +extends Node2D + +# member variables here, example: +# var a=2 +# var b="textvar" + +func _ready(): + # Initialization here + pass + + + + +func _on_prince_area_body_enter( body ): + if (body.get_name()=="cubio"): + get_node("message").show() + pass # replace with function body diff --git a/demos/2d/isometric_light/map.scn b/demos/2d/isometric_light/map.scn Binary files differnew file mode 100644 index 0000000000..89002f991f --- /dev/null +++ b/demos/2d/isometric_light/map.scn diff --git a/demos/2d/isometric_light/shadow_blob.png b/demos/2d/isometric_light/shadow_blob.png Binary files differnew file mode 100644 index 0000000000..e97fd2a826 --- /dev/null +++ b/demos/2d/isometric_light/shadow_blob.png diff --git a/demos/2d/isometric_light/shoot.gd b/demos/2d/isometric_light/shoot.gd new file mode 100644 index 0000000000..0486bbb658 --- /dev/null +++ b/demos/2d/isometric_light/shoot.gd @@ -0,0 +1,27 @@ + +extends KinematicBody2D + +# member variables here, example: +# var a=2 +# var b="textvar" + +var advance_dir=Vector2(1,0) +const ADVANCE_SPEED = 500.0 + +var hit=false + +func _fixed_process(delta): + + if (hit): + return + move(advance_dir*delta*ADVANCE_SPEED) + if (is_colliding()): + get_node("anim").play("explode") + hit=true + +func _ready(): + # Initialization here + set_fixed_process(true) + pass + + diff --git a/demos/2d/isometric_light/shoot.scn b/demos/2d/isometric_light/shoot.scn Binary files differnew file mode 100644 index 0000000000..672608810f --- /dev/null +++ b/demos/2d/isometric_light/shoot.scn diff --git a/demos/2d/isometric_light/shoot_halo.png b/demos/2d/isometric_light/shoot_halo.png Binary files differnew file mode 100644 index 0000000000..5ba954b32b --- /dev/null +++ b/demos/2d/isometric_light/shoot_halo.png diff --git a/demos/2d/isometric_light/tileset.res b/demos/2d/isometric_light/tileset.res Binary files differnew file mode 100644 index 0000000000..f64a4e32bd --- /dev/null +++ b/demos/2d/isometric_light/tileset.res diff --git a/demos/2d/isometric_light/tileset_scene.scn b/demos/2d/isometric_light/tileset_scene.scn Binary files differnew file mode 100644 index 0000000000..3d0773c9c5 --- /dev/null +++ b/demos/2d/isometric_light/tileset_scene.scn diff --git a/demos/2d/isometric_light/torch.scn b/demos/2d/isometric_light/torch.scn Binary files differnew file mode 100644 index 0000000000..3f08b33311 --- /dev/null +++ b/demos/2d/isometric_light/torch.scn diff --git a/demos/2d/isometric_light/torch_light.png b/demos/2d/isometric_light/torch_light.png Binary files differnew file mode 100644 index 0000000000..a98113d36f --- /dev/null +++ b/demos/2d/isometric_light/torch_light.png diff --git a/demos/2d/isometric_light/torch_shader.res b/demos/2d/isometric_light/torch_shader.res Binary files differnew file mode 100644 index 0000000000..31a35de1da --- /dev/null +++ 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 differnew file mode 100644 index 0000000000..7e33c26201 --- /dev/null +++ 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 b3a0a1f168..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 9cff0269e8..329382408b 100644 --- a/demos/2d/kinematic_char/player.gd +++ b/demos/2d/kinematic_char/player.gd @@ -15,11 +15,15 @@ const GRAVITY = 500.0 #consider "floor". const FLOOR_ANGLE_TOLERANCE = 40 const WALK_FORCE = 600 +const WALK_MIN_SPEED=10 const WALK_MAX_SPEED = 200 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 @@ -30,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") @@ -40,12 +42,12 @@ func _fixed_process(delta): var stop=true if (walk_left): - if (velocity.x<=0 and velocity.x > -WALK_MAX_SPEED): + if (velocity.x<=WALK_MIN_SPEED and velocity.x > -WALK_MAX_SPEED): force.x-=WALK_FORCE stop=false elif (walk_right): - if (velocity.x>=0 and velocity.x < WALK_MAX_SPEED): + if (velocity.x>=-WALK_MIN_SPEED and velocity.x < WALK_MAX_SPEED): force.x+=WALK_FORCE stop=false @@ -85,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/kinematic_char/player.scn b/demos/2d/kinematic_char/player.scn Binary files differindex 126b332184..5809c0e98a 100644 --- a/demos/2d/kinematic_char/player.scn +++ b/demos/2d/kinematic_char/player.scn diff --git a/demos/2d/light_mask/burano.png b/demos/2d/light_mask/burano.png Binary files differnew file mode 100644 index 0000000000..6eec09d585 --- /dev/null +++ b/demos/2d/light_mask/burano.png diff --git a/demos/2d/light_mask/engine.cfg b/demos/2d/light_mask/engine.cfg new file mode 100644 index 0000000000..39608669ab --- /dev/null +++ b/demos/2d/light_mask/engine.cfg @@ -0,0 +1,9 @@ +[application] + +name="Using Lights As Mask" +main_scene="res://lightmask.scn" +icon="res://icon.png" + +[rasterizer] + +shadow_filter=3 diff --git a/demos/2d/light_mask/icon.png b/demos/2d/light_mask/icon.png Binary files differnew file mode 100644 index 0000000000..34a6b709f6 --- /dev/null +++ b/demos/2d/light_mask/icon.png diff --git a/demos/2d/light_mask/lightmask.scn b/demos/2d/light_mask/lightmask.scn Binary files differnew file mode 100644 index 0000000000..08805f44c6 --- /dev/null +++ b/demos/2d/light_mask/lightmask.scn diff --git a/demos/2d/light_mask/splat.png b/demos/2d/light_mask/splat.png Binary files differnew file mode 100644 index 0000000000..8c35f068a0 --- /dev/null +++ b/demos/2d/light_mask/splat.png diff --git a/demos/2d/lights_shadows/bg.png b/demos/2d/lights_shadows/bg.png Binary files differnew file mode 100644 index 0000000000..4a3376f484 --- /dev/null +++ b/demos/2d/lights_shadows/bg.png diff --git a/demos/2d/lights_shadows/caster.png b/demos/2d/lights_shadows/caster.png Binary files differnew file mode 100644 index 0000000000..bf53a4565b --- /dev/null +++ b/demos/2d/lights_shadows/caster.png diff --git a/demos/2d/lights_shadows/engine.cfg b/demos/2d/lights_shadows/engine.cfg new file mode 100644 index 0000000000..80142633d3 --- /dev/null +++ b/demos/2d/lights_shadows/engine.cfg @@ -0,0 +1,16 @@ +[application] + +name="2D Lighting" +main_scene="res://light_shadows.scn" +icon="res://icon.png" + +[display] + +stretch_mode="2d" +width=800 +height=600 +stretch_aspect="keep" + +[rasterizer] + +shadow_filter=2 diff --git a/demos/2d/lights_shadows/icon.png b/demos/2d/lights_shadows/icon.png Binary files differnew file mode 100644 index 0000000000..554f01bb46 --- /dev/null +++ b/demos/2d/lights_shadows/icon.png diff --git a/demos/2d/lights_shadows/light.png b/demos/2d/lights_shadows/light.png Binary files differnew file mode 100644 index 0000000000..936860de52 --- /dev/null +++ b/demos/2d/lights_shadows/light.png diff --git a/demos/2d/lights_shadows/light_shadows.scn b/demos/2d/lights_shadows/light_shadows.scn Binary files differnew file mode 100644 index 0000000000..152f68a407 --- /dev/null +++ b/demos/2d/lights_shadows/light_shadows.scn diff --git a/demos/2d/lights_shadows/spot.png b/demos/2d/lights_shadows/spot.png Binary files differnew file mode 100644 index 0000000000..9ab2d34963 --- /dev/null +++ b/demos/2d/lights_shadows/spot.png 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..81df107f0e --- /dev/null +++ b/demos/2d/lookat/engine.cfg @@ -0,0 +1,5 @@ +[application] + +name="Look At Pointer" +main_scene="res://lookat.scn" +icon="res://icon.png" diff --git a/demos/2d/lookat/icon.png b/demos/2d/lookat/icon.png Binary files differnew file mode 100644 index 0000000000..442cc1799f --- /dev/null +++ b/demos/2d/lookat/icon.png 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..6e660572d6 --- /dev/null +++ b/demos/2d/motion/engine.cfg @@ -0,0 +1,12 @@ +[application] + +name="Motion Test" +main_scene="res://motion.scn" +icon="res://icon.png" + +[display] + +width=800 +height=600 +stretch_mode="2d" +stretch_aspect="keep" diff --git a/demos/2d/motion/icon.png b/demos/2d/motion/icon.png Binary files differnew file mode 100644 index 0000000000..9e64961d3c --- /dev/null +++ b/demos/2d/motion/icon.png 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/agent.png b/demos/2d/navpoly/agent.png Binary files differnew file mode 100644 index 0000000000..23e396c478 --- /dev/null +++ b/demos/2d/navpoly/agent.png diff --git a/demos/2d/navpoly/engine.cfg b/demos/2d/navpoly/engine.cfg new file mode 100644 index 0000000000..b750419915 --- /dev/null +++ b/demos/2d/navpoly/engine.cfg @@ -0,0 +1,12 @@ +[application] + +name="Navigation Polygon (2D)" +main_scene="res://navigation.scn" +icon="res://icon.png" + +[display] + +width=800 +height=600 +stretch_mode="2d" +stretch_aspect="keep" diff --git a/demos/2d/navpoly/icon.png b/demos/2d/navpoly/icon.png Binary files differnew file mode 100644 index 0000000000..7a28a367c6 --- /dev/null +++ b/demos/2d/navpoly/icon.png diff --git a/demos/2d/navpoly/navigation.gd b/demos/2d/navpoly/navigation.gd new file mode 100644 index 0000000000..9c3dc2921d --- /dev/null +++ b/demos/2d/navpoly/navigation.gd @@ -0,0 +1,63 @@ + +extends Navigation2D + +# member variables here, example: +# var a=2 +# var b="textvar" +var begin=Vector2() +var end=Vector2() +var path=[] + +const SPEED=200.0 + +func _process(delta): + + + if (path.size()>1): + + var to_walk = delta*SPEED + while(to_walk>0 and path.size()>=2): + var pfrom = path[path.size()-1] + var pto = path[path.size()-2] + var d = pfrom.distance_to(pto) + if (d<=to_walk): + path.remove(path.size()-1) + to_walk-=d + else: + path[path.size()-1] = pfrom.linear_interpolate(pto,to_walk/d) + to_walk=0 + + var atpos = path[path.size()-1] + get_node("agent").set_pos(atpos) + + if (path.size()<2): + path=[] + set_process(false) + + else: + set_process(false) + + + +func _update_path(): + + var p = get_simple_path(begin,end,true) + path=Array(p) # Vector2array to complex to use, convert to regular array + path.invert() + + set_process(true) + + +func _input(ev): + if (ev.type==InputEvent.MOUSE_BUTTON and ev.pressed and ev.button_index==1): + begin=get_node("agent").get_pos() + #mouse to local navigatio cooards + end=ev.pos - get_pos() + _update_path() + +func _ready(): + # Initialization here + set_process_input(true) + pass + + diff --git a/demos/2d/navpoly/navigation.scn b/demos/2d/navpoly/navigation.scn Binary files differnew file mode 100644 index 0000000000..1bb7de391b --- /dev/null +++ b/demos/2d/navpoly/navigation.scn diff --git a/demos/2d/navpoly/navigation2.scn b/demos/2d/navpoly/navigation2.scn Binary files differnew file mode 100644 index 0000000000..224aed73f5 --- /dev/null +++ b/demos/2d/navpoly/navigation2.scn diff --git a/demos/2d/navpoly/path.png b/demos/2d/navpoly/path.png Binary files differnew file mode 100644 index 0000000000..52a6d507c3 --- /dev/null +++ b/demos/2d/navpoly/path.png diff --git a/demos/2d/normalmaps/diffuse.jpg b/demos/2d/normalmaps/diffuse.jpg Binary files differnew file mode 100644 index 0000000000..87bc9cf158 --- /dev/null +++ b/demos/2d/normalmaps/diffuse.jpg diff --git a/demos/2d/normalmaps/diffuse.png b/demos/2d/normalmaps/diffuse.png Binary files differnew file mode 100644 index 0000000000..634d955f8d --- /dev/null +++ b/demos/2d/normalmaps/diffuse.png diff --git a/demos/2d/normalmaps/engine.cfg b/demos/2d/normalmaps/engine.cfg new file mode 100644 index 0000000000..4f9f4f67f0 --- /dev/null +++ b/demos/2d/normalmaps/engine.cfg @@ -0,0 +1,12 @@ +[application] + +name="2D Normal Mapping" +main_scene="res://normalmap.scn" +icon="res://icon.png" + +[display] + +stretch_mode="2d" +width=800 +height=600 +stretch_aspect="ignore" diff --git a/demos/2d/normalmaps/icon.png b/demos/2d/normalmaps/icon.png Binary files differnew file mode 100644 index 0000000000..11ff5de829 --- /dev/null +++ b/demos/2d/normalmaps/icon.png diff --git a/demos/2d/normalmaps/light.png b/demos/2d/normalmaps/light.png Binary files differnew file mode 100644 index 0000000000..9568298086 --- /dev/null +++ b/demos/2d/normalmaps/light.png diff --git a/demos/2d/normalmaps/normal.png b/demos/2d/normalmaps/normal.png Binary files differnew file mode 100644 index 0000000000..d5b3d53a24 --- /dev/null +++ b/demos/2d/normalmaps/normal.png diff --git a/demos/2d/normalmaps/normal_material.res b/demos/2d/normalmaps/normal_material.res Binary files differnew file mode 100644 index 0000000000..34129cccdc --- /dev/null +++ b/demos/2d/normalmaps/normal_material.res diff --git a/demos/2d/normalmaps/normalmap.scn b/demos/2d/normalmaps/normalmap.scn Binary files differnew file mode 100644 index 0000000000..ab737e83f3 --- /dev/null +++ b/demos/2d/normalmaps/normalmap.scn diff --git a/demos/2d/platformer/coin.gd b/demos/2d/platformer/coin.gd index 3e31a395ae..983cd46d88 100644 --- a/demos/2d/platformer/coin.gd +++ b/demos/2d/platformer/coin.gd @@ -18,3 +18,11 @@ func _ready(): # Initalization here pass + + +func _on_coin_area_enter( area ): + pass # replace with function body + + +func _on_coin_area_enter_shape( area_id, area, area_shape, area_shape ): + pass # replace with function body 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/enemy.xml b/demos/2d/platformer/enemy.xml index 470797db46..ad3a70931d 100644 --- a/demos/2d/platformer/enemy.xml +++ b/demos/2d/platformer/enemy.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<resource_file type="PackedScene" subresource_count="11" version="1.0" version_name="Godot Engine v1.0.3917-beta1"> - <ext_resource path="res://sound_explode.*" type="Sample"></ext_resource> - <ext_resource path="res://enemy.*" type="Texture"></ext_resource> - <ext_resource path="res://enemy.*" type="Script"></ext_resource> - <ext_resource path="res://sound_hit.*" type="Sample"></ext_resource> - <ext_resource path="res://bullet.*" type="Texture"></ext_resource> +<resource_file type="PackedScene" subresource_count="12" version="2.0" version_name="Godot Engine v2.0.alpha.custom_build"> + <ext_resource path="res://bullet.png" type="Texture" index="2"></ext_resource> + <ext_resource path="res://enemy.gd" type="Script" index="0"></ext_resource> + <ext_resource path="res://enemy.png" type="Texture" index="1"></ext_resource> + <ext_resource path="res://sound_hit.wav" type="Sample" index="4"></ext_resource> + <ext_resource path="res://sound_explode.wav" type="Sample" index="3"></ext_resource> <resource type="CircleShape2D" path="local://1"> <real name="custom_solver_bias"> 0 </real> <real name="radius"> 14 </real> @@ -21,6 +21,8 @@ <dictionary name="tracks/0/keys" shared="false"> <string> "cont" </string> <bool> False </bool> + <string> "times" </string> + <real_array len="10"> 0, 0.75, 1.5, 2.25, 3, 3.75, 4.5, 5.25, 6, 6.75 </real_array> <string> "transitions" </string> <real_array len="10"> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 </real_array> <string> "values" </string> @@ -36,8 +38,33 @@ <int> 7 </int> <int> 5 </int> </array> + </dictionary> + + </resource> + <resource type="Animation" path="local://4"> + <string name="resource/name"> "walk" </string> + <real name="length"> 1.25 </real> + <bool name="loop"> True </bool> + <real name="step"> 0.25 </real> + <string name="tracks/0/type"> "value" </string> + <node_path name="tracks/0/path"> "sprite:frame" </node_path> + <int name="tracks/0/interp"> 1 </int> + <dictionary name="tracks/0/keys" shared="false"> + <string> "cont" </string> + <bool> False </bool> <string> "times" </string> - <real_array len="10"> 0, 0.75, 1.5, 2.25, 3, 3.75, 4.5, 5.25, 6, 6.75 </real_array> + <real_array len="6"> 0, 0.25, 0.5, 0.75, 1, 1.25 </real_array> + <string> "transitions" </string> + <real_array len="6"> 1, 1, 1, 1, 1, 1 </real_array> + <string> "values" </string> + <array len="6" shared="false"> + <int> 0 </int> + <int> 1 </int> + <int> 2 </int> + <int> 3 </int> + <int> 4 </int> + <int> 0 </int> + </array> </dictionary> </resource> @@ -52,6 +79,8 @@ <dictionary name="tracks/0/keys" shared="false"> <string> "cont" </string> <bool> True </bool> + <string> "times" </string> + <real_array len="2"> 3.58422, 4.33851 </real_array> <string> "transitions" </string> <real_array len="2"> 1, 1 </real_array> <string> "values" </string> @@ -59,8 +88,6 @@ <real> 1 </real> <real> 0 </real> </array> - <string> "times" </string> - <real_array len="2"> 3.58422, 4.33851 </real_array> </dictionary> <string name="tracks/1/type"> "value" </string> <node_path name="tracks/1/path"> "sprite:frame" </node_path> @@ -68,14 +95,14 @@ <dictionary name="tracks/1/keys" shared="false"> <string> "cont" </string> <bool> True </bool> + <string> "times" </string> + <real_array len="1"> 0 </real_array> <string> "transitions" </string> <real_array len="1"> 1 </real_array> <string> "values" </string> <array len="1" shared="false"> <int> 4 </int> </array> - <string> "times" </string> - <real_array len="1"> 0 </real_array> </dictionary> <string name="tracks/2/type"> "value" </string> <node_path name="tracks/2/path"> "Particles2D:config/emitting" </node_path> @@ -83,19 +110,21 @@ <dictionary name="tracks/2/keys" shared="false"> <string> "cont" </string> <bool> False </bool> + <string> "times" </string> + <real_array len="1"> 3.47394 </real_array> <string> "transitions" </string> <real_array len="1"> 1 </real_array> <string> "values" </string> <array len="1" shared="false"> <bool> True </bool> </array> - <string> "times" </string> - <real_array len="1"> 3.47394 </real_array> </dictionary> <string name="tracks/3/type"> "method" </string> <node_path name="tracks/3/path"> "." </node_path> <int name="tracks/3/interp"> 1 </int> <dictionary name="tracks/3/keys" shared="false"> + <string> "times" </string> + <real_array len="2"> 3.20357, 5.07305 </real_array> <string> "transitions" </string> <real_array len="2"> 1, 1 </real_array> <string> "values" </string> @@ -115,36 +144,12 @@ <string> "_die" </string> </dictionary> </array> - <string> "times" </string> - <real_array len="2"> 3.20357, 5.07305 </real_array> </dictionary> </resource> - <resource type="Animation" path="local://4"> - <string name="resource/name"> "walk" </string> - <real name="length"> 1.25 </real> - <bool name="loop"> True </bool> - <real name="step"> 0.25 </real> - <string name="tracks/0/type"> "value" </string> - <node_path name="tracks/0/path"> "sprite:frame" </node_path> - <int name="tracks/0/interp"> 1 </int> - <dictionary name="tracks/0/keys" shared="false"> - <string> "cont" </string> - <bool> False </bool> - <string> "transitions" </string> - <real_array len="6"> 1, 1, 1, 1, 1, 1 </real_array> - <string> "values" </string> - <array len="6" shared="false"> - <int> 0 </int> - <int> 1 </int> - <int> 2 </int> - <int> 3 </int> - <int> 4 </int> - <int> 0 </int> - </array> - <string> "times" </string> - <real_array len="6"> 0, 0.25, 0.5, 0.75, 1, 1.25 </real_array> - </dictionary> + <resource type="ColorRamp" path="local://6"> + <real_array name="offsets" len="2"> 0, 1 </real_array> + <color_array name="colors" len="2"> 1, 0.884956, 0.823009, 1, 0.768627, 0.389381, 0, 0 </color_array> </resource> <resource type="SampleLibrary" path="local://5"> @@ -154,7 +159,7 @@ <string> "pitch" </string> <real> 1 </real> <string> "sample" </string> - <resource resource_type="Sample" path="res://sound_explode.*"> </resource> + <resource external="3"> </resource> </dictionary> <dictionary name="samples/hit" shared="false"> <string> "db" </string> @@ -162,24 +167,21 @@ <string> "pitch" </string> <real> 1 </real> <string> "sample" </string> - <resource resource_type="Sample" path="res://sound_hit.*"> </resource> + <resource external="4"> </resource> </dictionary> </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="132"> + <string_array len="107"> <string> "enemy" </string> <string> "RigidBody2D" </string> - <string> "visibility/visible" </string> - <string> "visibility/opacity" </string> - <string> "visibility/self_opacity" </string> - <string> "visibility/on_top" </string> - <string> "transform/pos" </string> - <string> "transform/rot" </string> - <string> "transform/scale" </string> - <string> "shape_count" </string> + <string> "input/pickable" </string> <string> "shapes/0/shape" </string> <string> "shapes/0/transform" </string> <string> "shapes/0/trigger" </string> @@ -189,71 +191,71 @@ <string> "shapes/2/shape" </string> <string> "shapes/2/transform" </string> <string> "shapes/2/trigger" </string> + <string> "collision/layers" </string> + <string> "collision/mask" </string> <string> "mode" </string> <string> "mass" </string> <string> "friction" </string> <string> "bounce" </string> + <string> "gravity_scale" </string> <string> "custom_integrator" </string> <string> "continuous_cd" </string> <string> "contacts_reported" </string> <string> "contact_monitor" </string> - <string> "active" </string> + <string> "sleeping" </string> <string> "can_sleep" </string> <string> "velocity/linear" </string> <string> "velocity/angular" </string> + <string> "damp_override/linear" </string> + <string> "damp_override/angular" </string> <string> "script/script" </string> <string> "__meta__" </string> <string> "enabler" </string> <string> "VisibilityEnabler2D" </string> + <string> "transform/pos" </string> + <string> "transform/scale" </string> <string> "rect" </string> <string> "enabler/pause_animations" </string> <string> "enabler/freeze_bodies" </string> + <string> "enabler/pause_particles" </string> + <string> "enabler/process_parent" </string> + <string> "enabler/fixed_process_parent" </string> <string> "anim" </string> <string> "AnimationPlayer" </string> <string> "playback/process_mode" </string> <string> "playback/default_blend_time" </string> <string> "root/root" </string> <string> "anims/idle" </string> - <string> "anims/explode" </string> <string> "anims/walk" </string> + <string> "anims/explode" </string> <string> "playback/active" </string> <string> "playback/speed" </string> <string> "blend_times" </string> <string> "autoplay" </string> - <string> "CollisionShape2D" </string> - <string> "shape" </string> - <string> "trigger" </string> - <string> "CollisionShape2D 2" </string> - <string> "CollisionShape2D 3" </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> "_update_shape_index" </string> + <string> "CollisionShape2D 2" </string> + <string> "CollisionShape2D 3" </string> <string> "raycast_left" </string> <string> "RayCast2D" </string> <string> "enabled" </string> <string> "cast_to" </string> + <string> "layer_mask" </string> <string> "raycast_right" </string> <string> "Particles2D" </string> + <string> "visibility/self_opacity" </string> <string> "visibility/blend_mode" </string> <string> "config/amount" </string> <string> "config/lifetime" </string> - <string> "config/time_scale" </string> - <string> "config/preprocess" </string> <string> "config/emit_timeout" </string> <string> "config/emitting" </string> - <string> "config/offset" </string> - <string> "config/half_extents" </string> - <string> "config/local_space" </string> <string> "config/explosiveness" </string> <string> "config/texture" </string> <string> "params/direction" </string> @@ -266,32 +268,14 @@ <string> "params/radial_accel" </string> <string> "params/tangential_accel" </string> <string> "params/damping" </string> + <string> "params/initial_angle" </string> <string> "params/initial_size" </string> <string> "params/final_size" </string> <string> "params/hue_variation" </string> - <string> "randomness/direction" </string> - <string> "randomness/spread" </string> - <string> "randomness/linear_velocity" </string> + <string> "params/anim_speed_scale" </string> + <string> "params/anim_initial_pos" </string> <string> "randomness/spin_velocity" </string> - <string> "randomness/orbit_velocity" </string> - <string> "randomness/gravity_direction" </string> - <string> "randomness/gravity_strength" </string> - <string> "randomness/radial_accel" </string> - <string> "randomness/tangential_accel" </string> - <string> "randomness/damping" </string> - <string> "randomness/initial_size" </string> - <string> "randomness/final_size" </string> - <string> "randomness/hue_variation" </string> - <string> "color_phases/count" </string> - <string> "phase_0/pos" </string> - <string> "phase_0/color" </string> - <string> "phase_1/pos" </string> - <string> "phase_1/color" </string> - <string> "phase_2/pos" </string> - <string> "phase_2/color" </string> - <string> "phase_3/pos" </string> - <string> "phase_3/color" </string> - <string> "emission_points" </string> + <string> "color/color_ramp" </string> <string> "sound" </string> <string> "SamplePlayer2D" </string> <string> "params/volume_db" </string> @@ -303,125 +287,154 @@ <string> "config/samples" </string> <string> "config/pitch_random" </string> </string_array> - <string> "version" </string> - <int> 1 </int> - <string> "conn_count" </string> - <int> 0 </int> <string> "node_count" </string> <int> 11 </int> + <string> "nodes" </string> + <int_array len="285"> -1, -1, 1, 0, -1, 29, 2, 0, 3, 1, 4, 2, 5, 0, 6, 1, 7, 3, 8, 0, 9, 1, 10, 4, 11, 0, 12, 5, 13, 5, 14, 6, 15, 7, 16, 8, 17, 8, 18, 7, 19, 0, 20, 9, 21, 10, 22, 0, 23, 0, 24, 11, 25, 12, 26, 8, 27, 13, 28, 13, 29, 14, 30, 15, 0, 0, 0, 32, 31, -1, 8, 33, 16, 34, 17, 35, 18, 36, 11, 37, 11, 38, 11, 39, 0, 40, 0, 0, 0, 0, 42, 41, -1, 10, 43, 5, 44, 8, 45, 19, 46, 20, 47, 21, 48, 22, 49, 11, 50, 23, 51, 24, 52, 25, 0, 0, 0, 54, 53, -1, 3, 55, 26, 56, 27, 57, 10, 0, 0, 0, 58, 58, -1, 4, 33, 28, 59, 1, 60, 0, 61, 29, 0, 0, 0, 58, 62, -1, 4, 33, 30, 59, 1, 60, 0, 61, 29, 0, 0, 0, 58, 63, -1, 4, 33, 31, 59, 1, 60, 0, 61, 29, 0, 0, 0, 65, 64, -1, 4, 33, 32, 66, 11, 67, 33, 68, 5, 0, 0, 0, 65, 69, -1, 4, 33, 34, 66, 11, 67, 33, 68, 5, 0, 0, 0, 70, 70, -1, 26, 71, 35, 72, 5, 73, 36, 74, 37, 75, 37, 76, 0, 77, 38, 78, 39, 79, 8, 80, 40, 81, 41, 82, 42, 83, 8, 84, 8, 85, 43, 86, 8, 87, 8, 88, 8, 89, 8, 90, 42, 91, 23, 92, 8, 93, 7, 94, 8, 95, 7, 96, 44, 0, 0, 0, 98, 97, -1, 8, 99, 8, 100, 7, 101, 7, 102, 45, 103, 7, 104, 46, 105, 47, 106, 8, 0 </int_array> <string> "variants" </string> - <array len="51" shared="false"> - <bool> True </bool> - <real> 1 </real> - <vector2> 0, 0 </vector2> - <real> 0 </real> - <vector2> 1, 1 </vector2> - <int> 3 </int> + <array len="48" shared="false"> + <bool> False </bool> <resource resource_type="Shape2D" path="local://1"> </resource> <matrix32> 1, -0, 0, 1, -1.08072, -2.16144 </matrix32> - <bool> False </bool> <matrix32> 1, -0, 0, 1, 6.48431, 3.24216 </matrix32> <matrix32> 1, -0, 0, 1, -12.495, 3.53415 </matrix32> + <int> 1 </int> <int> 2 </int> + <real> 1 </real> + <real> 0 </real> + <int> 0 </int> <int> 4 </int> - <resource resource_type="Script" path="res://enemy.*"> </resource> + <bool> True </bool> + <vector2> 0, 0 </vector2> + <real> -1 </real> + <resource external="0"> </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="1" shared="false"> - <string> "res://enemy.gd" </string> - </array> - </dictionary> <string> "2D" </string> <dictionary shared="false"> - <string> "pixel_snap" </string> + <string> "ofs" </string> + <vector2> -227.625, -197.9 </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.108033 </real> - <string> "ofs" </string> - <vector2> -227.625, -197.9 </vector2> </dictionary> <string> "3D" </string> <dictionary shared="false"> - <string> "zfar" </string> - <real> 500 </real> + <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> - <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> "show_origin" </string> - <bool> True </bool> + <string> "zfar" </string> + <real> 500 </real> <string> "znear" </string> <real> 0.1 </real> </dictionary> + <string> "Anim" </string> + <dictionary shared="false"> + <string> "visible" </string> + <bool> False </bool> + </dictionary> </dictionary> <string> "__editor_run_settings__" </string> <dictionary shared="false"> @@ -430,28 +443,24 @@ <string> "run_mode" </string> <int> 0 </int> </dictionary> - <string> "__editor_plugin_screen__" </string> - <string> "2D" </string> </dictionary> <vector2> 16.2569, 11.0034 </vector2> <vector2> 23.5056, 10.8629 </vector2> <rect2> -10, -10, 20, 20 </rect2> - <int> 1 </int> <node_path> ".." </node_path> <resource resource_type="Animation" path="local://2"> </resource> - <resource resource_type="Animation" path="local://3"> </resource> <resource resource_type="Animation" path="local://4"> </resource> + <resource resource_type="Animation" path="local://3"> </resource> <real> 3 </real> <array len="0" shared="false"> </array> <string> "" </string> + <resource external="1"> </resource> + <int> 8 </int> <vector2> -1.08072, -2.16144 </vector2> + <int> -1 </int> <vector2> 6.48431, 3.24216 </vector2> <vector2> -12.495, 3.53415 </vector2> - <resource resource_type="Texture" path="res://enemy.*"> </resource> - <int> 8 </int> - <color> 1, 1, 1, 1 </color> - <rect2> 0, 0, 0, 0 </rect2> <vector2> -33.2868, -9.34363 </vector2> <vector2> 0, 45 </vector2> <vector2> 29.1987, -9.34363 </vector2> @@ -459,22 +468,18 @@ <int> 32 </int> <real> 0.5 </real> <real> 0.1 </real> - <resource resource_type="Texture" path="res://bullet.*"> </resource> + <resource external="2"> </resource> <real> 180 </real> <real> 90 </real> <real> 2 </real> <real> 9.8 </real> - <color> 1, 0.884956, 0.823009, 1 </color> - <color> 0.768627, 0.389381, 0, 0 </color> - <color> 0, 0, 0, 1 </color> - <vector2_array len="0"> </vector2_array> + <resource resource_type="ColorRamp" path="local://6"> </resource> <real> 2048 </real> + <int> 3 </int> <resource resource_type="SampleLibrary" path="local://5"> </resource> </array> - <string> "nodes" </string> - <int_array len="445"> -1, -1, 1, 0, -1, 31, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 8, 13, 6, 14, 9, 15, 8, 16, 6, 17, 10, 18, 8, 19, 11, 20, 1, 21, 3, 22, 3, 23, 8, 24, 8, 25, 12, 26, 8, 27, 0, 28, 0, 29, 2, 30, 3, 31, 13, 32, 14, 0, 0, 0, 34, 33, -1, 10, 2, 0, 3, 1, 4, 1, 5, 0, 6, 15, 7, 3, 8, 16, 35, 17, 36, 0, 37, 0, 0, 0, 0, 39, 38, -1, 10, 40, 18, 41, 3, 42, 19, 43, 20, 44, 21, 45, 22, 46, 0, 47, 23, 48, 24, 49, 25, 0, 0, 0, 50, 50, -1, 9, 2, 0, 3, 1, 4, 1, 5, 0, 6, 26, 7, 3, 8, 4, 51, 6, 52, 8, 0, 0, 0, 50, 53, -1, 9, 2, 0, 3, 1, 4, 1, 5, 0, 6, 27, 7, 3, 8, 4, 51, 6, 52, 8, 0, 0, 0, 50, 54, -1, 9, 2, 0, 3, 1, 4, 1, 5, 0, 6, 28, 7, 3, 8, 4, 51, 6, 52, 8, 0, 0, 0, 56, 55, -1, 18, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 57, 29, 58, 0, 59, 2, 60, 8, 61, 8, 62, 18, 63, 30, 64, 12, 65, 31, 66, 8, 67, 32, 0, 0, 0, 69, 68, -1, 9, 2, 0, 3, 1, 4, 1, 5, 0, 6, 33, 7, 3, 8, 4, 70, 0, 71, 34, 0, 0, 0, 69, 72, -1, 9, 2, 0, 3, 1, 4, 1, 5, 0, 6, 35, 7, 3, 8, 4, 70, 0, 71, 34, 0, 0, 0, 73, 73, -1, 55, 2, 0, 3, 1, 4, 36, 5, 0, 74, 18, 6, 2, 7, 3, 8, 4, 75, 37, 76, 38, 77, 1, 78, 3, 79, 38, 80, 8, 81, 2, 82, 2, 83, 0, 84, 39, 85, 40, 86, 3, 87, 41, 88, 42, 89, 43, 90, 3, 91, 3, 92, 44, 93, 3, 94, 3, 95, 3, 96, 43, 97, 23, 98, 3, 99, 3, 100, 3, 101, 3, 102, 1, 103, 3, 104, 3, 105, 3, 106, 3, 107, 3, 108, 3, 109, 3, 110, 3, 111, 3, 112, 11, 113, 3, 114, 45, 115, 1, 116, 46, 117, 1, 118, 47, 119, 1, 120, 47, 121, 48, 0, 0, 0, 123, 122, -1, 15, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 124, 3, 125, 1, 126, 1, 127, 49, 128, 1, 129, 5, 130, 50, 131, 3, 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/platformer/engine.cfg b/demos/2d/platformer/engine.cfg index 50b6b862e9..044d661e3e 100644 --- a/demos/2d/platformer/engine.cfg +++ b/demos/2d/platformer/engine.cfg @@ -4,14 +4,14 @@ name="Platformer" main_scene="res://stage.xml" icon="res://icon.png" name_es="Plataformero" +target_fps="60" [display] width=800 height=480 -stretch_2d=false -stretch_mode="viewport" -stretch_aspect="keep" +stretch_mode="2d" +stretch_aspect="keep_height" [image_loader] 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 481f340ab8..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 @@ -53,12 +52,15 @@ var enemy func _integrate_forces(s): + + var lv = s.get_linear_velocity() var step = s.get_step() var new_anim=anim var new_siding_left=siding_left + # Get the controls var move_left = Input.is_action_pressed("move_left") var move_right = Input.is_action_pressed("move_right") diff --git a/demos/2d/platformer/player.xml b/demos/2d/platformer/player.xml index c129d01f0d..8c7b74ceae 100644 --- a/demos/2d/platformer/player.xml +++ b/demos/2d/platformer/player.xml @@ -1,15 +1,15 @@ <?xml version="1.0" encoding="UTF-8" ?> -<resource_file type="PackedScene" subresource_count="24" version="1.0" version_name="Godot Engine v1.0.3917-beta1"> - <ext_resource path="res://osb_jump.png" type="Texture"></ext_resource> +<resource_file type="PackedScene" subresource_count="25" version="1.1" version_name="Godot Engine v1.1.stable.custom_build"> + <ext_resource path="res://player.gd" type="Script"></ext_resource> + <ext_resource path="res://robot_demo.png" type="Texture"></ext_resource> <ext_resource path="res://bullet.png" type="Texture"></ext_resource> - <ext_resource path="res://osb_right.png" type="Texture"></ext_resource> <ext_resource path="res://sound_coin.wav" type="Sample"></ext_resource> + <ext_resource path="res://sound_jump.wav" type="Sample"></ext_resource> <ext_resource path="res://sound_shoot.wav" type="Sample"></ext_resource> - <ext_resource path="res://osb_fire.png" type="Texture"></ext_resource> - <ext_resource path="res://robot_demo.png" type="Texture"></ext_resource> <ext_resource path="res://osb_left.png" type="Texture"></ext_resource> - <ext_resource path="res://player.gd" type="Script"></ext_resource> - <ext_resource path="res://sound_jump.wav" type="Sample"></ext_resource> + <ext_resource path="res://osb_right.png" type="Texture"></ext_resource> + <ext_resource path="res://osb_jump.png" type="Texture"></ext_resource> + <ext_resource path="res://osb_fire.png" type="Texture"></ext_resource> <resource type="RayShape2D" path="local://1"> <real name="custom_solver_bias"> 0.5 </real> <real name="length"> 20 </real> @@ -20,6 +20,11 @@ <vector2_array name="points" len="3"> -19.902, -24.8691, 19.3625, -24.6056, -0.138023, 16.5036 </vector2_array> </resource> + <resource type="ColorRamp" path="local://14"> + <real_array name="offsets" len="2"> 0, 1 </real_array> + <color_array name="colors" len="2"> 1, 1, 1, 1, 0, 0, 0, 0.0442478 </color_array> + + </resource> <resource type="Animation" path="local://3"> <string name="resource/name"> "idle" </string> <real name="length"> 7 </real> @@ -31,6 +36,8 @@ <dictionary name="tracks/0/keys" shared="false"> <string> "cont" </string> <bool> False </bool> + <string> "times" </string> + <real_array len="8"> 0, 1.25, 1.5, 2, 4.5, 4.75, 5, 5.25 </real_array> <string> "transitions" </string> <real_array len="8"> 1, 1, 1, 1, 1, 1, 1, 1 </real_array> <string> "values" </string> @@ -44,14 +51,12 @@ <int> 19 </int> <int> 16 </int> </array> - <string> "times" </string> - <real_array len="8"> 0, 1.25, 1.5, 2, 4.5, 4.75, 5, 5.25 </real_array> </dictionary> </resource> <resource type="Animation" path="local://4"> - <string name="resource/name"> "run" </string> - <real name="length"> 1.25 </real> + <string name="resource/name"> "jumping" </string> + <real name="length"> 0.5 </real> <bool name="loop"> True </bool> <real name="step"> 0.25 </real> <string name="tracks/0/type"> "value" </string> @@ -60,25 +65,22 @@ <dictionary name="tracks/0/keys" shared="false"> <string> "cont" </string> <bool> False </bool> + <string> "times" </string> + <real_array len="3"> 0, 0.25, 0.5 </real_array> <string> "transitions" </string> - <real_array len="6"> 1, 1, 1, 1, 1, 1 </real_array> + <real_array len="3"> 1, 1, 1 </real_array> <string> "values" </string> - <array len="6" shared="false"> - <int> 0 </int> - <int> 1 </int> - <int> 2 </int> - <int> 3 </int> - <int> 4 </int> - <int> 0 </int> + <array len="3" shared="false"> + <int> 23 </int> + <int> 24 </int> + <int> 23 </int> </array> - <string> "times" </string> - <real_array len="6"> 0, 0.25, 0.5, 0.75, 1, 1.25 </real_array> </dictionary> </resource> <resource type="Animation" path="local://5"> - <string name="resource/name"> "run_gun_fire" </string> - <real name="length"> 1.25 </real> + <string name="resource/name"> "idle_weapon" </string> + <real name="length"> 0.5 </real> <bool name="loop"> True </bool> <real name="step"> 0.25 </real> <string name="tracks/0/type"> "value" </string> @@ -87,25 +89,19 @@ <dictionary name="tracks/0/keys" shared="false"> <string> "cont" </string> <bool> False </bool> + <string> "times" </string> + <real_array len="1"> 0 </real_array> <string> "transitions" </string> - <real_array len="6"> 1, 1, 1, 1, 1, 1 </real_array> + <real_array len="1"> 1 </real_array> <string> "values" </string> - <array len="6" shared="false"> - <int> 10 </int> - <int> 11 </int> - <int> 12 </int> - <int> 13 </int> - <int> 14 </int> - <int> 5 </int> + <array len="1" shared="false"> + <int> 25 </int> </array> - <string> "times" </string> - <real_array len="6"> 0, 0.25, 0.5, 0.75, 1, 1.25 </real_array> </dictionary> </resource> <resource type="Animation" path="local://6"> - <string name="resource/name"> "jumping_weapon" </string> - <real name="length"> 0.5 </real> + <real name="length"> 1.25 </real> <bool name="loop"> True </bool> <real name="step"> 0.25 </real> <string name="tracks/0/type"> "value" </string> @@ -114,20 +110,24 @@ <dictionary name="tracks/0/keys" shared="false"> <string> "cont" </string> <bool> False </bool> + <string> "times" </string> + <real_array len="6"> 0, 0.25, 0.5, 0.75, 1, 1.25 </real_array> <string> "transitions" </string> - <real_array len="1"> 1 </real_array> + <real_array len="6"> 1, 1, 1, 1, 1, 1 </real_array> <string> "values" </string> - <array len="1" shared="false"> - <int> 26 </int> + <array len="6" shared="false"> + <int> 0 </int> + <int> 1 </int> + <int> 2 </int> + <int> 3 </int> + <int> 4 </int> + <int> 0 </int> </array> - <string> "times" </string> - <real_array len="1"> 0 </real_array> </dictionary> </resource> - <resource type="Animation" path="local://7"> - <string name="resource/name"> "crouch" </string> - <real name="length"> 0.01 </real> + <resource type="Animation" path="local://11"> + <real name="length"> 1.25 </real> <bool name="loop"> True </bool> <real name="step"> 0.25 </real> <string name="tracks/0/type"> "value" </string> @@ -136,19 +136,24 @@ <dictionary name="tracks/0/keys" shared="false"> <string> "cont" </string> <bool> False </bool> + <string> "times" </string> + <real_array len="6"> 0, 0.25, 0.5, 0.75, 1, 1.25 </real_array> <string> "transitions" </string> - <real_array len="1"> 1 </real_array> + <real_array len="6"> 1, 1, 1, 1, 1, 1 </real_array> <string> "values" </string> - <array len="1" shared="false"> - <int> 22 </int> + <array len="6" shared="false"> + <int> 5 </int> + <int> 6 </int> + <int> 7 </int> + <int> 8 </int> + <int> 9 </int> + <int> 5 </int> </array> - <string> "times" </string> - <real_array len="1"> 0 </real_array> </dictionary> </resource> - <resource type="Animation" path="local://8"> - <string name="resource/name"> "jumping" </string> + <resource type="Animation" path="local://10"> + <string name="resource/name"> "falling_weapon" </string> <real name="length"> 0.5 </real> <bool name="loop"> True </bool> <real name="step"> 0.25 </real> @@ -158,22 +163,20 @@ <dictionary name="tracks/0/keys" shared="false"> <string> "cont" </string> <bool> False </bool> + <string> "times" </string> + <real_array len="1"> 0 </real_array> <string> "transitions" </string> - <real_array len="3"> 1, 1, 1 </real_array> + <real_array len="1"> 1 </real_array> <string> "values" </string> - <array len="3" shared="false"> - <int> 23 </int> - <int> 24 </int> - <int> 23 </int> + <array len="1" shared="false"> + <int> 26 </int> </array> - <string> "times" </string> - <real_array len="3"> 0, 0.25, 0.5 </real_array> </dictionary> </resource> - <resource type="Animation" path="local://9"> - <string name="resource/name"> "run_weapon" </string> - <real name="length"> 1.25 </real> + <resource type="Animation" path="local://7"> + <string name="resource/name"> "crouch" </string> + <real name="length"> 0.01 </real> <bool name="loop"> True </bool> <real name="step"> 0.25 </real> <string name="tracks/0/type"> "value" </string> @@ -182,25 +185,20 @@ <dictionary name="tracks/0/keys" shared="false"> <string> "cont" </string> <bool> False </bool> + <string> "times" </string> + <real_array len="1"> 0 </real_array> <string> "transitions" </string> - <real_array len="6"> 1, 1, 1, 1, 1, 1 </real_array> + <real_array len="1"> 1 </real_array> <string> "values" </string> - <array len="6" shared="false"> - <int> 5 </int> - <int> 6 </int> - <int> 7 </int> - <int> 8 </int> - <int> 9 </int> - <int> 5 </int> + <array len="1" shared="false"> + <int> 22 </int> </array> - <string> "times" </string> - <real_array len="6"> 0, 0.25, 0.5, 0.75, 1, 1.25 </real_array> </dictionary> </resource> - <resource type="Animation" path="local://10"> - <string name="resource/name"> "idle_weapon" </string> - <real name="length"> 0.5 </real> + <resource type="Animation" path="local://8"> + <string name="resource/name"> "falling" </string> + <real name="length"> 0.01 </real> <bool name="loop"> True </bool> <real name="step"> 0.25 </real> <string name="tracks/0/type"> "value" </string> @@ -209,20 +207,19 @@ <dictionary name="tracks/0/keys" shared="false"> <string> "cont" </string> <bool> False </bool> + <string> "times" </string> + <real_array len="1"> 0 </real_array> <string> "transitions" </string> <real_array len="1"> 1 </real_array> <string> "values" </string> <array len="1" shared="false"> - <int> 25 </int> + <int> 21 </int> </array> - <string> "times" </string> - <real_array len="1"> 0 </real_array> </dictionary> </resource> - <resource type="Animation" path="local://11"> - <string name="resource/name"> "falling_weapon" </string> - <real name="length"> 0.5 </real> + <resource type="Animation" path="local://9"> + <real name="length"> 1.25 </real> <bool name="loop"> True </bool> <real name="step"> 0.25 </real> <string name="tracks/0/type"> "value" </string> @@ -231,20 +228,24 @@ <dictionary name="tracks/0/keys" shared="false"> <string> "cont" </string> <bool> False </bool> + <string> "times" </string> + <real_array len="6"> 0, 0.25, 0.5, 0.75, 1, 1.25 </real_array> <string> "transitions" </string> - <real_array len="1"> 1 </real_array> + <real_array len="6"> 1, 1, 1, 1, 1, 1 </real_array> <string> "values" </string> - <array len="1" shared="false"> - <int> 26 </int> + <array len="6" shared="false"> + <int> 10 </int> + <int> 11 </int> + <int> 12 </int> + <int> 13 </int> + <int> 14 </int> + <int> 5 </int> </array> - <string> "times" </string> - <real_array len="1"> 0 </real_array> </dictionary> </resource> <resource type="Animation" path="local://12"> - <string name="resource/name"> "falling" </string> - <real name="length"> 0.01 </real> + <real name="length"> 0.5 </real> <bool name="loop"> True </bool> <real name="step"> 0.25 </real> <string name="tracks/0/type"> "value" </string> @@ -253,14 +254,14 @@ <dictionary name="tracks/0/keys" shared="false"> <string> "cont" </string> <bool> False </bool> + <string> "times" </string> + <real_array len="1"> 0 </real_array> <string> "transitions" </string> <real_array len="1"> 1 </real_array> <string> "values" </string> <array len="1" shared="false"> - <int> 21 </int> + <int> 26 </int> </array> - <string> "times" </string> - <real_array len="1"> 0 </real_array> </dictionary> </resource> @@ -293,66 +294,57 @@ </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="170"> + <string_array len="142"> <string> "player" </string> <string> "RigidBody2D" </string> - <string> "visibility/visible" </string> - <string> "visibility/opacity" </string> - <string> "visibility/self_opacity" </string> - <string> "visibility/behind_parent" </string> - <string> "transform/pos" </string> - <string> "transform/rot" </string> - <string> "transform/scale" </string> - <string> "shape_count" </string> + <string> "input/pickable" </string> <string> "shapes/0/shape" </string> <string> "shapes/0/transform" </string> <string> "shapes/0/trigger" </string> <string> "shapes/1/shape" </string> <string> "shapes/1/transform" </string> <string> "shapes/1/trigger" </string> + <string> "collision/layers" </string> + <string> "collision/mask" </string> <string> "mode" </string> <string> "mass" </string> <string> "friction" </string> <string> "bounce" </string> + <string> "gravity_scale" </string> <string> "custom_integrator" </string> <string> "continuous_cd" </string> <string> "contacts_reported" </string> <string> "contact_monitor" </string> - <string> "active" </string> + <string> "sleeping" </string> <string> "can_sleep" </string> <string> "velocity/linear" </string> <string> "velocity/angular" </string> + <string> "damp_override/linear" </string> + <string> "damp_override/angular" </string> <string> "script/script" </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> "smoke" </string> <string> "Particles2D" </string> + <string> "visibility/self_opacity" </string> <string> "visibility/blend_mode" </string> + <string> "transform/pos" </string> + <string> "transform/rot" </string> <string> "config/amount" </string> <string> "config/lifetime" </string> - <string> "config/time_scale" </string> - <string> "config/preprocess" </string> <string> "config/emit_timeout" </string> <string> "config/emitting" </string> - <string> "config/offset" </string> - <string> "config/half_extents" </string> <string> "config/local_space" </string> <string> "config/explosiveness" </string> - <string> "config/flip_h" </string> - <string> "config/flip_v" </string> <string> "config/texture" </string> <string> "params/direction" </string> <string> "params/spread" </string> @@ -364,53 +356,36 @@ <string> "params/radial_accel" </string> <string> "params/tangential_accel" </string> <string> "params/damping" </string> + <string> "params/initial_angle" </string> <string> "params/initial_size" </string> <string> "params/final_size" </string> <string> "params/hue_variation" </string> - <string> "randomness/direction" </string> - <string> "randomness/spread" </string> - <string> "randomness/linear_velocity" </string> + <string> "params/anim_speed_scale" </string> + <string> "params/anim_initial_pos" </string> <string> "randomness/spin_velocity" </string> - <string> "randomness/orbit_velocity" </string> - <string> "randomness/gravity_direction" </string> - <string> "randomness/gravity_strength" </string> - <string> "randomness/radial_accel" </string> - <string> "randomness/tangential_accel" </string> - <string> "randomness/damping" </string> - <string> "randomness/initial_size" </string> - <string> "randomness/final_size" </string> - <string> "randomness/hue_variation" </string> - <string> "color_phases/count" </string> - <string> "phase_0/pos" </string> - <string> "phase_0/color" </string> - <string> "phase_1/pos" </string> - <string> "phase_1/color" </string> - <string> "phase_2/pos" </string> - <string> "phase_2/color" </string> - <string> "phase_3/pos" </string> - <string> "phase_3/color" </string> - <string> "emission_points" </string> + <string> "color/color_ramp" </string> <string> "anim" </string> <string> "AnimationPlayer" </string> <string> "playback/process_mode" </string> <string> "playback/default_blend_time" </string> <string> "root/root" </string> <string> "anims/idle" </string> - <string> "anims/run" </string> - <string> "anims/standing_weapon_ready" </string> - <string> "anims/jumping_weapon" </string> - <string> "anims/crouch" </string> <string> "anims/jumping" </string> - <string> "anims/run_weapon" </string> <string> "anims/idle_weapon" </string> + <string> "anims/run" </string> + <string> "anims/run_weapon" </string> <string> "anims/falling_weapon" </string> + <string> "anims/crouch" </string> <string> "anims/falling" </string> + <string> "anims/standing_weapon_ready" </string> + <string> "anims/jumping_weapon" </string> <string> "playback/active" </string> <string> "playback/speed" </string> <string> "blend_times" </string> <string> "autoplay" </string> <string> "camera" </string> <string> "Camera2D" </string> + <string> "anchor_mode" </string> <string> "rotating" </string> <string> "current" </string> <string> "smoothing" </string> @@ -428,6 +403,7 @@ <string> "bullet_shoot" </string> <string> "Position2D" </string> <string> "CollisionShape2D" </string> + <string> "transform/scale" </string> <string> "shape" </string> <string> "trigger" </string> <string> "sound" </string> @@ -452,6 +428,7 @@ <string> "ui" </string> <string> "CanvasLayer" </string> <string> "layer" </string> + <string> "offset" </string> <string> "rotation" </string> <string> "scale" </string> <string> "left" </string> @@ -466,123 +443,147 @@ <string> "jump" </string> <string> "fire" </string> </string_array> - <string> "version" </string> - <int> 1 </int> - <string> "conn_count" </string> - <int> 0 </int> <string> "node_count" </string> <int> 14 </int> + <string> "nodes" </string> + <int_array len="394"> -1, -1, 1, 0, -1, 26, 2, 0, 3, 1, 4, 2, 5, 0, 6, 3, 7, 4, 8, 0, 9, 5, 10, 5, 11, 6, 12, 7, 13, 8, 14, 8, 15, 9, 16, 10, 17, 11, 18, 12, 19, 0, 20, 0, 21, 10, 22, 13, 23, 8, 24, 14, 25, 14, 26, 15, 27, 16, 0, 0, 0, 29, 28, -1, 3, 30, 17, 31, 6, 32, 18, 0, 1, 0, 34, 33, -1, 29, 35, 19, 36, 5, 37, 20, 38, 21, 39, 22, 40, 23, 41, 23, 42, 0, 43, 0, 44, 24, 45, 25, 46, 8, 47, 26, 48, 27, 49, 9, 50, 8, 51, 8, 52, 28, 53, 8, 54, 8, 55, 8, 56, 8, 57, 29, 58, 29, 59, 8, 60, 9, 61, 8, 62, 29, 63, 30, 0, 0, 0, 65, 64, -1, 17, 66, 5, 67, 8, 68, 31, 69, 32, 70, 33, 71, 34, 72, 35, 73, 36, 74, 37, 75, 38, 76, 39, 77, 40, 78, 41, 79, 10, 80, 29, 81, 42, 82, 43, 0, 0, 0, 84, 83, -1, 15, 85, 5, 86, 0, 87, 10, 88, 8, 89, 44, 90, 11, 91, 11, 92, 45, 93, 45, 94, 10, 95, 10, 96, 46, 97, 46, 98, 46, 99, 46, 0, 0, 0, 101, 100, -1, 1, 37, 47, 0, 0, 0, 102, 102, -1, 4, 37, 48, 103, 49, 104, 1, 105, 0, 0, 0, 0, 107, 106, -1, 14, 108, 12, 109, 50, 110, 8, 111, 9, 112, 8, 113, 8, 114, 8, 115, 51, 116, 51, 117, 51, 118, 51, 119, 6, 120, 8, 121, 8, 0, 0, 0, 122, 122, -1, 3, 123, 11, 124, 52, 105, 0, 0, 0, 0, 126, 125, -1, 4, 127, 11, 128, 13, 129, 8, 130, 44, 0, 9, 0, 132, 131, -1, 8, 37, 53, 103, 54, 133, 55, 134, 56, 135, 56, 136, 10, 137, 57, 138, 5, 0, 9, 0, 132, 139, -1, 8, 37, 58, 103, 54, 133, 59, 134, 56, 135, 56, 136, 10, 137, 60, 138, 5, 0, 9, 0, 132, 140, -1, 8, 37, 61, 103, 54, 133, 62, 134, 56, 135, 56, 136, 0, 137, 63, 138, 5, 0, 9, 0, 132, 141, -1, 8, 37, 64, 103, 54, 133, 65, 134, 56, 135, 56, 136, 0, 137, 66, 138, 5, 0 </int_array> <string> "variants" </string> - <array len="71" shared="false"> - <bool> True </bool> - <real> 1 </real> + <array len="67" shared="false"> <bool> False </bool> - <vector2> 0, 0 </vector2> - <real> 0 </real> - <vector2> 1, 1 </vector2> - <int> 2 </int> <resource resource_type="Shape2D" path="local://1"> </resource> <matrix32> 1, -0, 0, 1.76469, 0.291992, -12.1587 </matrix32> <resource resource_type="Shape2D" path="local://2"> </resource> <matrix32> 1, -0, 0, 1, 0, 0 </matrix32> + <int> 1 </int> + <int> 2 </int> <real> 3 </real> + <real> 0 </real> + <real> 1 </real> + <bool> True </bool> <int> 0 </int> <int> 3 </int> + <vector2> 0, 0 </vector2> + <real> -1 </real> <resource resource_type="Script" path="res://player.gd"> </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="1" shared="false"> - <string> "res://player.gd" </string> - </array> - </dictionary> <string> "2D" </string> <dictionary shared="false"> - <string> "pixel_snap" </string> + <string> "ofs" </string> + <vector2> -110.795, -101.2 </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.272073 </real> - <string> "ofs" </string> - <vector2> -181.946, -86.2812 </vector2> + <real> 2.050546 </real> </dictionary> <string> "3D" </string> <dictionary shared="false"> - <string> "zfar" </string> - <real> 500 </real> + <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> - <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> "show_origin" </string> - <bool> True </bool> + <string> "zfar" </string> + <real> 500 </real> <string> "znear" </string> <real> 0.1 </real> </dictionary> @@ -594,15 +595,10 @@ <string> "run_mode" </string> <int> 0 </int> </dictionary> - <string> "__editor_plugin_screen__" </string> - <string> "3D" </string> </dictionary> <resource resource_type="Texture" path="res://robot_demo.png"> </resource> <int> 16 </int> - <color> 1, 1, 1, 1 </color> - <rect2> 0, 0, 0, 0 </rect2> <real> 0.363636 </real> - <int> 1 </int> <vector2> 20.7312, 3.21187 </vector2> <real> 83.450417 </real> <int> 4 </int> @@ -613,24 +609,22 @@ <real> 20 </real> <real> 9.8 </real> <real> 2 </real> - <color> 0, 0, 0, 0.0442478 </color> - <color> 1, 0, 0, 1 </color> - <color> 0, 0, 0, 1 </color> - <vector2_array len="0"> </vector2_array> + <resource resource_type="ColorRamp" path="local://14"> </resource> <node_path> ".." </node_path> <resource resource_type="Animation" path="local://3"> </resource> <resource resource_type="Animation" path="local://4"> </resource> <resource resource_type="Animation" path="local://5"> </resource> <resource resource_type="Animation" path="local://6"> </resource> + <resource resource_type="Animation" path="local://11"> </resource> + <resource resource_type="Animation" path="local://10"> </resource> <resource resource_type="Animation" path="local://7"> </resource> <resource resource_type="Animation" path="local://8"> </resource> <resource resource_type="Animation" path="local://9"> </resource> - <resource resource_type="Animation" path="local://10"> </resource> - <resource resource_type="Animation" path="local://11"> </resource> <resource resource_type="Animation" path="local://12"> </resource> <array len="0" shared="false"> </array> <string> "" </string> + <vector2> 1, 1 </vector2> <int> 10000000 </int> <real> 0.2 </real> <vector2> 31.2428, 4.08784 </vector2> @@ -653,10 +647,8 @@ <resource resource_type="Texture" path="res://osb_fire.png"> </resource> <string> "shoot" </string> </array> - <string> "nodes" </string> - <int_array len="572"> -1, -1, 1, 0, -1, 28, 2, 0, 3, 1, 4, 1, 5, 2, 6, 3, 7, 4, 8, 5, 9, 6, 10, 7, 11, 8, 12, 2, 13, 9, 14, 10, 15, 2, 16, 6, 17, 11, 18, 4, 19, 4, 20, 0, 21, 12, 22, 13, 23, 2, 24, 0, 25, 0, 26, 3, 27, 4, 28, 14, 29, 15, 0, 0, 0, 31, 30, -1, 18, 2, 0, 3, 1, 4, 1, 5, 2, 6, 3, 7, 4, 8, 5, 32, 16, 33, 0, 34, 3, 35, 2, 36, 2, 37, 6, 38, 17, 39, 12, 40, 18, 41, 2, 42, 19, 0, 1, 0, 44, 43, -1, 57, 2, 0, 3, 1, 4, 20, 5, 2, 45, 21, 6, 22, 7, 23, 8, 5, 46, 24, 47, 25, 48, 1, 49, 4, 50, 25, 51, 2, 52, 3, 53, 3, 54, 2, 55, 26, 56, 2, 57, 2, 58, 27, 59, 4, 60, 28, 61, 29, 62, 1, 63, 4, 64, 4, 65, 30, 66, 4, 67, 4, 68, 4, 69, 31, 70, 31, 71, 4, 72, 4, 73, 4, 74, 4, 75, 31, 76, 4, 77, 4, 78, 4, 79, 4, 80, 4, 81, 4, 82, 4, 83, 4, 84, 4, 85, 6, 86, 4, 87, 18, 88, 1, 89, 32, 90, 1, 91, 33, 92, 1, 93, 34, 94, 35, 0, 0, 0, 96, 95, -1, 17, 97, 21, 98, 4, 99, 36, 100, 37, 101, 38, 102, 39, 103, 40, 104, 41, 105, 42, 106, 43, 107, 44, 108, 45, 109, 46, 110, 0, 111, 31, 112, 47, 113, 48, 0, 0, 0, 115, 114, -1, 22, 2, 0, 3, 1, 4, 1, 5, 2, 6, 3, 7, 4, 8, 5, 33, 0, 116, 2, 117, 0, 118, 4, 119, 5, 120, 12, 121, 12, 122, 49, 123, 49, 124, 0, 125, 0, 126, 50, 127, 50, 128, 50, 129, 50, 0, 0, 0, 131, 130, -1, 7, 2, 0, 3, 1, 4, 1, 5, 2, 6, 51, 7, 4, 8, 5, 0, 0, 0, 132, 132, -1, 9, 2, 0, 3, 1, 4, 1, 5, 2, 6, 52, 7, 4, 8, 53, 133, 7, 134, 2, 0, 0, 0, 136, 135, -1, 14, 137, 13, 138, 54, 139, 4, 140, 1, 141, 4, 142, 4, 143, 4, 144, 55, 145, 55, 146, 55, 147, 55, 148, 6, 149, 4, 150, 4, 0, 0, 0, 151, 151, -1, 9, 2, 0, 3, 1, 4, 1, 5, 2, 6, 3, 7, 4, 8, 5, 152, 12, 153, 56, 0, 0, 0, 155, 154, -1, 4, 156, 12, 34, 3, 157, 4, 158, 5, 0, 9, 0, 160, 159, -1, 13, 2, 0, 3, 1, 4, 1, 5, 2, 6, 57, 7, 4, 8, 58, 161, 59, 162, 60, 163, 60, 164, 0, 165, 61, 166, 21, 0, 9, 0, 160, 167, -1, 13, 2, 0, 3, 1, 4, 1, 5, 2, 6, 62, 7, 4, 8, 58, 161, 63, 162, 60, 163, 60, 164, 0, 165, 64, 166, 21, 0, 9, 0, 160, 168, -1, 13, 2, 0, 3, 1, 4, 1, 5, 2, 6, 65, 7, 4, 8, 58, 161, 66, 162, 60, 163, 60, 164, 2, 165, 67, 166, 21, 0, 9, 0, 160, 169, -1, 13, 2, 0, 3, 1, 4, 1, 5, 2, 6, 68, 7, 4, 8, 58, 161, 69, 162, 60, 163, 60, 164, 2, 165, 70, 166, 21, 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/platformer/stage.xml b/demos/2d/platformer/stage.xml index 78d0f9ae2c..d081a1be38 100644 --- a/demos/2d/platformer/stage.xml +++ b/demos/2d/platformer/stage.xml @@ -1,40 +1,46 @@ <?xml version="1.0" encoding="UTF-8" ?> -<resource_file type="PackedScene" subresource_count="9" version="1.0" version_name="Godot Engine v1.0.3917-beta1"> +<resource_file type="PackedScene" subresource_count="10" version="1.1" version_name="Godot Engine v1.1.stable.custom_build"> <ext_resource path="res://tileset.xml" type="TileSet"></ext_resource> - <ext_resource path="res://music.ogg" type="AudioStream"></ext_resource> <ext_resource path="res://coin.xml" type="PackedScene"></ext_resource> - <ext_resource path="res://player.xml" type="PackedScene"></ext_resource> - <ext_resource path="res://seesaw.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://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="122"> + <string_array len="117"> <string> "stage" </string> <string> "Node" </string> - <string> "_import_path" </string> <string> "__meta__" </string> <string> "tile_map" </string> <string> "TileMap" </string> - <string> "visibility/visible" </string> - <string> "visibility/opacity" </string> - <string> "visibility/self_opacity" </string> - <string> "visibility/behind_parent" </string> - <string> "transform/pos" </string> - <string> "transform/rot" </string> - <string> "transform/scale" </string> - <string> "cell_size" </string> - <string> "quadrant_size" </string> + <string> "mode" </string> <string> "tile_set" </string> - <string> "tile_data" </string> + <string> "cell/size" </string> + <string> "cell/quadrant_size" </string> + <string> "cell/custom_transform" </string> + <string> "cell/half_offset" </string> + <string> "cell/tile_origin" </string> + <string> "cell/y_sort" </string> + <string> "collision/use_kinematic" </string> <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> <string> "Area2D" </string> + <string> "_import_path" </string> + <string> "transform/pos" </string> <string> "coin 2" </string> <string> "coin 3" </string> <string> "coin 4" </string> @@ -76,8 +82,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> @@ -86,6 +90,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> @@ -113,14 +121,9 @@ <string> "margin/top" </string> <string> "margin/right" </string> <string> "margin/bottom" </string> - <string> "focus_neighbour/left" </string> - <string> "focus_neighbour/top" </string> - <string> "focus_neighbour/right" </string> - <string> "focus_neighbour/bottom" </string> <string> "focus/ignore_mouse" </string> <string> "focus/stop_mouse" </string> <string> "size_flags/horizontal" </string> - <string> "size_flags/stretch_ratio" </string> <string> "range/min" </string> <string> "range/max" </string> <string> "range/step" </string> @@ -129,125 +132,265 @@ <string> "range/exp_edit" </string> <string> "rounded_values" </string> <string> "text" </string> - <string> "align" </string> - <string> "valign" </string> <string> "autowrap" </string> - <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="917"> -1, -1, 1, 0, -1, 1, 2, 0, 0, 0, 0, 4, 3, -1, 15, 5, 1, 6, 2, 7, 3, 8, 4, 9, 5, 10, 6, 11, 1, 12, 7, 13, 7, 14, 8, 15, 9, 16, 10, 17, 10, 18, 11, 2, 12, 0, 0, 0, 1, 19, -1, 0, 0, 2, 0, 21, 20, 13, 3, 22, 14, 23, 15, 2, 16, 0, 2, 0, 21, 24, 13, 3, 22, 14, 23, 17, 2, 16, 0, 2, 0, 21, 25, 13, 3, 22, 14, 23, 18, 2, 16, 0, 2, 0, 21, 26, 13, 3, 22, 14, 23, 19, 2, 16, 0, 2, 0, 21, 27, 13, 3, 22, 14, 23, 20, 2, 16, 0, 2, 0, 21, 28, 13, 3, 22, 14, 23, 21, 2, 16, 0, 2, 0, 21, 29, 13, 3, 22, 14, 23, 22, 2, 16, 0, 2, 0, 21, 30, 13, 3, 22, 14, 23, 23, 2, 16, 0, 2, 0, 21, 31, 13, 3, 22, 14, 23, 24, 2, 16, 0, 2, 0, 21, 32, 13, 3, 22, 14, 23, 25, 2, 16, 0, 2, 0, 21, 33, 13, 3, 22, 14, 23, 26, 2, 16, 0, 2, 0, 21, 34, 13, 3, 22, 14, 23, 27, 2, 16, 0, 2, 0, 21, 35, 13, 3, 22, 14, 23, 28, 2, 16, 0, 2, 0, 21, 36, 13, 3, 22, 14, 23, 29, 2, 16, 0, 2, 0, 21, 37, 13, 3, 22, 14, 23, 30, 2, 16, 0, 2, 0, 21, 38, 13, 3, 22, 14, 23, 31, 2, 16, 0, 2, 0, 21, 39, 13, 3, 22, 14, 23, 32, 2, 16, 0, 2, 0, 21, 40, 13, 3, 22, 14, 23, 33, 2, 16, 0, 2, 0, 21, 41, 13, 3, 22, 14, 23, 34, 2, 16, 0, 2, 0, 21, 42, 13, 3, 22, 14, 23, 35, 2, 16, 0, 2, 0, 21, 43, 13, 3, 22, 14, 23, 36, 2, 16, 0, 2, 0, 21, 44, 13, 3, 22, 14, 23, 37, 2, 16, 0, 2, 0, 21, 45, 13, 3, 22, 14, 23, 38, 2, 16, 0, 2, 0, 21, 46, 13, 3, 22, 14, 23, 39, 2, 16, 0, 2, 0, 21, 47, 13, 3, 22, 14, 23, 40, 2, 16, 0, 2, 0, 21, 48, 13, 3, 22, 14, 23, 41, 2, 16, 0, 2, 0, 21, 49, 13, 3, 22, 14, 23, 42, 2, 16, 0, 2, 0, 21, 50, 13, 3, 22, 14, 23, 43, 2, 16, 0, 2, 0, 21, 51, 13, 3, 22, 14, 23, 44, 2, 16, 0, 2, 0, 21, 52, 13, 3, 22, 14, 23, 45, 2, 16, 0, 2, 0, 21, 53, 13, 3, 22, 14, 23, 46, 2, 16, 0, 2, 0, 21, 54, 13, 3, 22, 14, 23, 47, 2, 16, 0, 2, 0, 21, 55, 13, 3, 22, 14, 23, 48, 2, 16, 0, 2, 0, 21, 56, 13, 3, 22, 14, 23, 49, 2, 16, 0, 2, 0, 21, 57, 13, 3, 22, 14, 23, 50, 2, 16, 0, 2, 0, 21, 58, 13, 3, 22, 14, 23, 51, 2, 16, 0, 2, 0, 21, 59, 13, 3, 22, 14, 23, 52, 2, 16, 0, 2, 0, 21, 60, 13, 3, 22, 14, 23, 53, 2, 16, 0, 2, 0, 21, 61, 13, 3, 22, 14, 23, 54, 2, 16, 0, 2, 0, 21, 62, 13, 3, 22, 14, 23, 55, 2, 16, 0, 2, 0, 21, 63, 13, 3, 22, 14, 23, 56, 2, 16, 0, 2, 0, 21, 64, 13, 3, 22, 14, 23, 57, 2, 16, 0, 0, 0, 1, 65, -1, 0, 0, 45, 0, 67, 66, 58, 5, 22, 14, 23, 59, 2, 60, 68, 61, 69, 62, 0, 45, 0, 67, 70, 58, 5, 22, 14, 23, 63, 2, 60, 68, 64, 69, 65, 0, 45, 0, 67, 71, 58, 5, 22, 14, 23, 66, 2, 60, 68, 67, 69, 65, 0, 45, 0, 67, 72, 68, 3, 22, 14, 23, 69, 2, 70, 0, 45, 0, 74, 73, 71, 3, 22, 14, 23, 72, 2, 73, 0, 0, 0, 76, 75, 74, 3, 22, 14, 23, 75, 2, 76, 0, 0, 0, 78, 77, -1, 6, 79, 77, 80, 7, 81, 78, 82, 79, 83, 78, 84, 7, 0, 0, 0, 1, 85, -1, 0, 0, 53, 0, 76, 86, 80, 3, 22, 14, 23, 81, 2, 82, 0, 53, 0, 76, 87, 80, 3, 22, 14, 23, 83, 2, 82, 0, 53, 0, 76, 88, 80, 3, 22, 14, 23, 84, 2, 82, 0, 53, 0, 76, 89, 80, 3, 22, 14, 23, 85, 2, 82, 0, 53, 0, 76, 90, 80, 3, 22, 14, 23, 86, 2, 82, 0, 53, 0, 76, 91, 80, 3, 22, 14, 23, 87, 2, 82, 0, 53, 0, 76, 92, 80, 3, 22, 14, 23, 88, 2, 82, 0, 53, 0, 76, 93, 80, 3, 22, 14, 23, 89, 2, 82, 0, 53, 0, 76, 94, 80, 3, 22, 14, 23, 90, 2, 82, 0, 53, 0, 76, 95, 80, 3, 22, 14, 23, 91, 2, 82, 0, 53, 0, 76, 96, 80, 3, 22, 14, 23, 92, 2, 82, 0, 0, 0, 98, 97, 93, 2, 22, 14, 2, 94, 0, 0, 0, 99, 99, -1, 17, 100, 95, 101, 96, 102, 97, 103, 98, 104, 78, 105, 78, 106, 6, 107, 9, 108, 99, 109, 8, 110, 100, 111, 9, 112, 7, 113, 7, 114, 101, 115, 78, 116, 102, 0 </int_array> <string> "variants" </string> - <array len="96" shared="false"> - <node_path> "" </node_path> + <array len="103" shared="false"> <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> -70.6559, 735.599 </vector2> + <string> "snap_grid" </string> <bool> False </bool> - <string> "zoom" </string> - <real> 0.54036 </real> - <string> "use_snap" </string> + <string> "snap_offset" </string> + <vector2> 0, 0 </vector2> + <string> "snap_pixel" </string> <bool> False </bool> - <string> "ofs" </string> - <vector2> -177.089, 415.221 </vector2> - <string> "snap" </string> - <int> 10 </int> + <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> 0.663419 </real> </dictionary> <string> "3D" </string> <dictionary shared="false"> - <string> "zfar" </string> - <real> 500 </real> + <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> + <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> "x_rot" </string> <real> 0 </real> <string> "y_rot" </string> <real> 0 </real> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "use_environment" </string> + </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> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "use_environment" </string> + </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> + <int> 0 </int> + <resource resource_type="TileSet" path="res://tileset.xml"> </resource> + <vector2> 64, 64 </vector2> + <int> 8 </int> + <matrix32> 1, 0, 0, 1, 0, 0 </matrix32> + <int> 2 </int> + <bool> False </bool> + <real> 1 </real> + <real> 0 </real> + <int> 1 </int> + <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> + <resource resource_type="PackedScene" path="res://coin.xml"> </resource> + <node_path> "" </node_path> + <vector2> 672, 1179 </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> -34.3697, -21.6562 </vector2> + <string> "pixel_snap" </string> + <bool> False </bool> + <string> "zoom" </string> + <real> 3.794776 </real> + </dictionary> + <string> "3D" </string> + <dictionary shared="false"> + <string> "default_light" </string> + <bool> True </bool> + <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> "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> + </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> + </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> </dictionary> </array> - <string> "viewport_mode" </string> - <int> 1 </int> - <string> "default_light" </string> - <bool> True </bool> - <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> </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> <dictionary shared="false"> @@ -256,32 +399,9 @@ <string> "run_mode" </string> <int> 0 </int> </dictionary> - <string> "__editor_plugin_screen__" </string> - <string> "2D" </string> </dictionary> - <bool> True </bool> - <real> 1 </real> - <bool> False </bool> - <vector2> 0, 0 </vector2> - <real> 0 </real> - <vector2> 1, 1 </vector2> - <int> 64 </int> - <int> 16 </int> - <resource resource_type="TileSet" path="res://tileset.xml"> </resource> - <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, 536870918, 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> 1 </int> - <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> 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> @@ -321,10 +441,119 @@ <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> "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> 1.360373 </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> + </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> + </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> + </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> + </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> @@ -334,10 +563,481 @@ <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> + </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> + </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> + </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> + </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="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> "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="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.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> 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> + <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> + <dictionary shared="false"> + <string> "custom_args" </string> + <string> "-l $scene" </string> + <string> "run_mode" </string> + <int> 0 </int> + </dictionary> + </dictionary> <resource resource_type="AudioStream" path="res://music.ogg"> </resource> + <bool> True </bool> <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> "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> + </dictionary> + <string> "3D" </string> + <dictionary shared="false"> + <string> "default_light" </string> + <bool> True </bool> + <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> "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> "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> "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> "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> + <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> + <dictionary shared="false"> + <string> "custom_args" </string> + <string> "-l $scene" </string> + <string> "run_mode" </string> + <int> 0 </int> + </dictionary> + </dictionary> <vector2> 707.665, 1225.05 </vector2> <vector2> 1125.21, 1053.06 </vector2> <vector2> 1292.11, 1059.24 </vector2> @@ -349,21 +1049,78 @@ <vector2> 3546.2, 1356.19 </vector2> <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> "2D" </string> + <dictionary shared="false"> + <string> "ofs" </string> + <vector2> -5, -25 </vector2> + <string> "zoom" </string> + <real> 1 </real> + </dictionary> + <string> "3D" </string> + <dictionary shared="false"> + <string> "fov" </string> + <real> 45 </real> + <string> "window_0" </string> + <dictionary shared="false"> + <string> "default_light" </string> + <bool> True </bool> + <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> "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"> + <string> "custom_args" </string> + <string> "-l $scene" </string> + <string> "run_mode" </string> + <int> 0 </int> + </dictionary> + </dictionary> <real> 12 </real> <real> -202 </real> <real> 358 </real> <real> -10 </real> - <int> 2 </int> <real> 7 </real> <real> 14.769231 </real> - <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> - <int> 0 </int> + <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="708"> -1, -1, 1, 0, -1, 2, 2, 0, 3, 1, 0, 0, 0, 5, 4, -1, 16, 2, 0, 6, 2, 7, 3, 8, 3, 9, 4, 10, 5, 11, 6, 12, 7, 13, 8, 14, 9, 15, 10, 16, 11, 17, 3, 18, 6, 19, 12, 3, 13, 0, 0, 0, 1, 20, -1, 2, 2, 0, 3, 14, 0, 2, 0, 22, 21, 15, 1, 10, 16, 0, 2, 0, 22, 23, 15, 1, 10, 17, 0, 2, 0, 22, 24, 15, 1, 10, 18, 0, 2, 0, 22, 25, 15, 1, 10, 19, 0, 2, 0, 22, 26, 15, 1, 10, 20, 0, 2, 0, 22, 27, 15, 1, 10, 21, 0, 2, 0, 22, 28, 15, 1, 10, 22, 0, 2, 0, 22, 29, 15, 1, 10, 23, 0, 2, 0, 22, 30, 15, 1, 10, 24, 0, 2, 0, 22, 31, 15, 1, 10, 25, 0, 2, 0, 22, 32, 15, 1, 10, 26, 0, 2, 0, 22, 33, 15, 1, 10, 27, 0, 2, 0, 22, 34, 15, 1, 10, 28, 0, 2, 0, 22, 35, 15, 1, 10, 29, 0, 2, 0, 22, 36, 15, 1, 10, 30, 0, 2, 0, 22, 37, 15, 1, 10, 31, 0, 2, 0, 22, 38, 15, 1, 10, 32, 0, 2, 0, 22, 39, 15, 1, 10, 33, 0, 2, 0, 22, 40, 15, 1, 10, 34, 0, 2, 0, 22, 41, 15, 1, 10, 35, 0, 2, 0, 22, 42, 15, 1, 10, 36, 0, 2, 0, 22, 43, 15, 1, 10, 37, 0, 2, 0, 22, 44, 15, 1, 10, 38, 0, 2, 0, 22, 45, 15, 1, 10, 39, 0, 2, 0, 22, 46, 15, 1, 10, 40, 0, 2, 0, 22, 47, 15, 1, 10, 41, 0, 2, 0, 22, 48, 15, 1, 10, 42, 0, 2, 0, 22, 49, 15, 1, 10, 43, 0, 2, 0, 22, 50, 15, 1, 10, 44, 0, 2, 0, 22, 51, 15, 1, 10, 45, 0, 2, 0, 22, 52, 15, 1, 10, 46, 0, 2, 0, 22, 53, 15, 1, 10, 47, 0, 2, 0, 22, 54, 15, 1, 10, 48, 0, 2, 0, 22, 55, 15, 1, 10, 49, 0, 2, 0, 22, 56, 15, 1, 10, 50, 0, 2, 0, 22, 57, 15, 1, 10, 51, 0, 2, 0, 22, 58, 15, 1, 10, 52, 0, 2, 0, 22, 59, 15, 1, 10, 53, 0, 2, 0, 22, 60, 15, 1, 10, 54, 0, 2, 0, 22, 61, 15, 1, 10, 55, 0, 2, 0, 22, 62, 15, 1, 10, 56, 0, 2, 0, 22, 63, 15, 1, 10, 57, 0, 0, 0, 65, 64, 58, 1, 10, 59, 0, 0, 0, 1, 66, -1, 1, 2, 0, 0, 46, 0, 68, 67, 60, 3, 10, 61, 69, 62, 70, 63, 0, 46, 0, 68, 71, 60, 3, 10, 64, 69, 65, 70, 66, 0, 46, 0, 68, 72, 60, 3, 10, 67, 69, 68, 70, 66, 0, 46, 0, 68, 73, 69, 1, 10, 70, 0, 0, 0, 75, 74, -1, 7, 2, 0, 76, 71, 77, 4, 78, 2, 79, 72, 80, 2, 81, 4, 0, 0, 0, 1, 82, -1, 1, 2, 0, 0, 52, 0, 65, 83, 73, 1, 10, 74, 0, 52, 0, 65, 84, 73, 1, 10, 75, 0, 52, 0, 65, 85, 73, 1, 10, 76, 0, 52, 0, 65, 86, 73, 1, 10, 77, 0, 52, 0, 65, 87, 73, 1, 10, 78, 0, 52, 0, 65, 88, 73, 1, 10, 79, 0, 52, 0, 65, 89, 73, 1, 10, 80, 0, 52, 0, 65, 90, 73, 1, 10, 81, 0, 52, 0, 65, 91, 73, 1, 10, 82, 0, 52, 0, 65, 92, 73, 1, 10, 83, 0, 52, 0, 65, 93, 73, 1, 10, 84, 0, 0, 0, 95, 94, 85, 0, 0, 0, 0, 96, 96, -1, 30, 2, 0, 6, 2, 7, 3, 8, 3, 9, 4, 97, 86, 98, 87, 99, 88, 100, 89, 101, 0, 102, 0, 103, 0, 104, 0, 105, 2, 106, 2, 107, 90, 108, 3, 109, 6, 110, 91, 111, 3, 112, 92, 113, 6, 114, 4, 115, 4, 116, 93, 117, 94, 118, 94, 119, 2, 120, 4, 121, 95, 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/platformer/tiles_demo.png b/demos/2d/platformer/tiles_demo.png Binary files differindex a7a5000906..bc738e6d38 100644 --- a/demos/2d/platformer/tiles_demo.png +++ b/demos/2d/platformer/tiles_demo.png diff --git a/demos/2d/platformer/tiles_demo.png.flags b/demos/2d/platformer/tiles_demo.png.flags new file mode 100644 index 0000000000..efb2b8ce5f --- /dev/null +++ b/demos/2d/platformer/tiles_demo.png.flags @@ -0,0 +1 @@ +filter=false diff --git a/demos/2d/platformer/tileset.xml b/demos/2d/platformer/tileset.xml index 2e4ecc8c04..d8f9a651ee 100644 --- a/demos/2d/platformer/tileset.xml +++ b/demos/2d/platformer/tileset.xml @@ -1,134 +1,191 @@ <?xml version="1.0" encoding="UTF-8" ?> -<resource_file type="TileSet" subresource_count="12" version="0.99" version_name="Godot Engine v0.99.3037-pre-beta"> +<resource_file type="TileSet" subresource_count="14" version="1.0" version_name="Godot Engine v1.0.stable.custom_build"> <ext_resource path="res://tiles_demo.png" type="Texture"></ext_resource> - <resource type="ConvexPolygonShape2D" path="local://0"> - <string name="resource/name"> "" </string> - <real name="custom_solver_bias"> 0 </real> - <vector2_array name="points" len="4"> 0, 8, 64, 8, 64, 64, 0, 64 </vector2_array> - <resource name="script/script"></resource> - </resource> <resource type="ConvexPolygonShape2D" path="local://1"> - <string name="resource/name"> "" </string> <real name="custom_solver_bias"> 0 </real> - <vector2_array name="points" len="4"> 0, 64, 0, 8, 56, 8, 56, 64 </vector2_array> - <resource name="script/script"></resource> + <vector2_array name="points" len="4"> -32, -24, 32, -24, 32, 32, -32, 32 </vector2_array> + </resource> <resource type="ConvexPolygonShape2D" path="local://2"> - <string name="resource/name"> "" </string> <real name="custom_solver_bias"> 0 </real> - <vector2_array name="points" len="4"> 0, 64, 0, 0, 56, 0, 56, 64 </vector2_array> - <resource name="script/script"></resource> + <vector2_array name="points" len="4"> -32, 32, -32, -24, 24, -24, 24, 32 </vector2_array> + </resource> <resource type="ConvexPolygonShape2D" path="local://3"> - <string name="resource/name"> "" </string> <real name="custom_solver_bias"> 0 </real> - <vector2_array name="points" len="4"> 0, 64, 0, 0, 56, 0, 56, 64 </vector2_array> - <resource name="script/script"></resource> + <vector2_array name="points" len="4"> -32, 32, -32, -32, 24, -32, 24, 32 </vector2_array> + </resource> <resource type="ConvexPolygonShape2D" path="local://4"> - <string name="resource/name"> "" </string> <real name="custom_solver_bias"> 0 </real> - <vector2_array name="points" len="5"> 0, 64, 0, 0, 56, 0, 64, 8, 64, 64 </vector2_array> - <resource name="script/script"></resource> + <vector2_array name="points" len="4"> -64, 32, -64, -32, -8, -32, -8, 32 </vector2_array> + </resource> <resource type="ConvexPolygonShape2D" path="local://5"> - <string name="resource/name"> "" </string> <real name="custom_solver_bias"> 0 </real> - <vector2_array name="points" len="4"> 0, 64, 0, 8, 64, 8, 64, 64 </vector2_array> - <resource name="script/script"></resource> + <vector2_array name="points" len="5"> -32, 32, -32, -32, 24, -32, 32, -24, 32, 32 </vector2_array> + </resource> <resource type="ConvexPolygonShape2D" path="local://6"> - <string name="resource/name"> "" </string> <real name="custom_solver_bias"> 0 </real> - <vector2_array name="points" len="4"> 0, 64, 0, 8, 64, 8, 64, 64 </vector2_array> - <resource name="script/script"></resource> + <vector2_array name="points" len="4"> -32, 32, -32, -24, 32, -24, 32, 32 </vector2_array> + </resource> <resource type="ConvexPolygonShape2D" path="local://7"> - <string name="resource/name"> "" </string> <real name="custom_solver_bias"> 0 </real> - <vector2_array name="points" len="4"> 0, 0, 64, 0, 64, 64, 0, 64 </vector2_array> - <resource name="script/script"></resource> + <vector2_array name="points" len="4"> -32, 32, -32, -24, 32, -24, 32, 32 </vector2_array> + </resource> <resource type="ConvexPolygonShape2D" path="local://8"> - <string name="resource/name"> "" </string> <real name="custom_solver_bias"> 0 </real> - <vector2_array name="points" len="4"> 0, 8, 64, 72, 64, 128, 0, 128 </vector2_array> - <resource name="script/script"></resource> + <vector2_array name="points" len="4"> -32, -32, 32, -32, 32, 32, -32, 32 </vector2_array> + </resource> <resource type="ConvexPolygonShape2D" path="local://9"> - <string name="resource/name"> "" </string> <real name="custom_solver_bias"> 0 </real> - <vector2_array name="points" len="4"> 0, 64, 0, 0, 56, 0, 56, 64 </vector2_array> - <resource name="script/script"></resource> + <vector2_array name="points" len="4"> -32, -56, 32, 8, 32, 64, -32, 64 </vector2_array> + + </resource> + <resource type="ConvexPolygonShape2D" path="local://10"> + <real name="custom_solver_bias"> 0 </real> + <vector2_array name="points" len="4"> -32, 32, -32, -32, 24, -32, 24, 32 </vector2_array> + + </resource> + <resource type="ConvexPolygonShape2D" path="local://11"> + <real name="custom_solver_bias"> 0 </real> + <vector2_array name="points" len="4"> -32, -24, 32, -24, 32, 24, -32, 24 </vector2_array> + + </resource> + <resource type="ConvexPolygonShape2D" path="local://12"> + <real name="custom_solver_bias"> 0 </real> + <vector2_array name="points" len="4"> -32, -24, 24, -24, 24, 24, -32, 24 </vector2_array> + </resource> <main_resource> - <string name="resource/name"> "" </string> <string name="0/name"> "floor" </string> <resource name="0/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> - <vector2 name="0/offset"> 0, 0 </vector2> + <vector2 name="0/tex_offset"> 0, 0 </vector2> + <vector2 name="0/shape_offset"> 32, 32 </vector2> <rect2 name="0/region"> 0, 0, 64, 64 </rect2> - <resource name="0/shape" resource_type="ConvexPolygonShape2D" path="local://0"> </resource> + <array name="0/shapes" len="1" shared="false"> + <resource resource_type="Shape2D" path="local://1"> </resource> + </array> <string name="1/name"> "edge" </string> <resource name="1/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> - <vector2 name="1/offset"> 0, 0 </vector2> + <vector2 name="1/tex_offset"> 0, 0 </vector2> + <vector2 name="1/shape_offset"> 32, 32 </vector2> <rect2 name="1/region"> 64, 0, 64, 64 </rect2> - <resource name="1/shape" resource_type="ConvexPolygonShape2D" path="local://1"> </resource> + <array name="1/shapes" len="1" shared="false"> + <resource resource_type="Shape2D" path="local://2"> </resource> + </array> <string name="2/name"> "wall" </string> <resource name="2/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> - <vector2 name="2/offset"> 0, 0 </vector2> + <vector2 name="2/tex_offset"> 0, 0 </vector2> + <vector2 name="2/shape_offset"> 32, 32 </vector2> <rect2 name="2/region"> 64, 64, 64, 64 </rect2> - <resource name="2/shape" resource_type="ConvexPolygonShape2D" path="local://2"> </resource> + <array name="2/shapes" len="1" shared="false"> + <resource resource_type="Shape2D" path="local://3"> </resource> + </array> <string name="3/name"> "wall_deco" </string> <resource name="3/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> - <vector2 name="3/offset"> 0, 0 </vector2> + <vector2 name="3/tex_offset"> 0, 0 </vector2> + <vector2 name="3/shape_offset"> 64, 32 </vector2> <rect2 name="3/region"> 320, 128, 128, 64 </rect2> - <resource name="3/shape" resource_type="ConvexPolygonShape2D" path="local://3"> </resource> + <array name="3/shapes" len="1" shared="false"> + <resource resource_type="Shape2D" path="local://4"> </resource> + </array> <string name="4/name"> "corner" </string> <resource name="4/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> - <vector2 name="4/offset"> 0, 0 </vector2> + <vector2 name="4/tex_offset"> 0, 0 </vector2> + <vector2 name="4/shape_offset"> 32, 32 </vector2> <rect2 name="4/region"> 64, 128, 64, 64 </rect2> - <resource name="4/shape" resource_type="ConvexPolygonShape2D" path="local://4"> </resource> + <array name="4/shapes" len="1" shared="false"> + <resource resource_type="Shape2D" path="local://5"> </resource> + </array> <string name="5/name"> "flowers" </string> <resource name="5/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> - <vector2 name="5/offset"> 0, 0 </vector2> + <vector2 name="5/tex_offset"> 0, 0 </vector2> + <vector2 name="5/shape_offset"> 32, 32 </vector2> <rect2 name="5/region"> 192, 192, 64, 64 </rect2> - <resource name="5/shape" resource_type="ConvexPolygonShape2D" path="local://5"> </resource> + <array name="5/shapes" len="1" shared="false"> + <resource resource_type="Shape2D" path="local://6"> </resource> + </array> <string name="6/name"> "tree_base" </string> <resource name="6/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> - <vector2 name="6/offset"> 0, 0 </vector2> + <vector2 name="6/tex_offset"> 0, 0 </vector2> + <vector2 name="6/shape_offset"> 32, 32 </vector2> <rect2 name="6/region"> 256, 192, 64, 64 </rect2> - <resource name="6/shape" resource_type="ConvexPolygonShape2D" path="local://6"> </resource> + <array name="6/shapes" len="1" shared="false"> + <resource resource_type="Shape2D" path="local://7"> </resource> + </array> <string name="7/name"> "tree_mid" </string> <resource name="7/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> - <vector2 name="7/offset"> 0, 0 </vector2> + <vector2 name="7/tex_offset"> 0, 0 </vector2> + <vector2 name="7/shape_offset"> 0, 0 </vector2> <rect2 name="7/region"> 256, 128, 64, 64 </rect2> - <resource name="7/shape"></resource> <string name="8/name"> "tree_mid 2" </string> + <array name="7/shapes" len="0" shared="false"> + </array> + <string name="8/name"> "tree_mid 2" </string> <resource name="8/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> - <vector2 name="8/offset"> 0, 0 </vector2> + <vector2 name="8/tex_offset"> 0, 0 </vector2> + <vector2 name="8/shape_offset"> 0, 0 </vector2> <rect2 name="8/region"> 256, 64, 64, 64 </rect2> - <resource name="8/shape"></resource> <string name="9/name"> "tree_top" </string> + <array name="8/shapes" len="0" shared="false"> + </array> + <string name="9/name"> "tree_top" </string> <resource name="9/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> - <vector2 name="9/offset"> 0, 0 </vector2> + <vector2 name="9/tex_offset"> 0, 0 </vector2> + <vector2 name="9/shape_offset"> 0, 0 </vector2> <rect2 name="9/region"> 256, 0, 64, 64 </rect2> - <resource name="9/shape"></resource> <string name="10/name"> "solid" </string> + <array name="9/shapes" len="0" shared="false"> + </array> + <string name="10/name"> "solid" </string> <resource name="10/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> - <vector2 name="10/offset"> 0, 0 </vector2> + <vector2 name="10/tex_offset"> 0, 0 </vector2> + <vector2 name="10/shape_offset"> 0, 0 </vector2> <rect2 name="10/region"> 0, 64, 64, 64 </rect2> - <resource name="10/shape"></resource> <string name="11/name"> "ceiling" </string> + <array name="10/shapes" len="0" shared="false"> + </array> + <string name="11/name"> "ceiling" </string> <resource name="11/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> - <vector2 name="11/offset"> 0, 0 </vector2> + <vector2 name="11/tex_offset"> 0, 0 </vector2> + <vector2 name="11/shape_offset"> 32, 32 </vector2> <rect2 name="11/region"> 384, 64, 64, 64 </rect2> - <resource name="11/shape" resource_type="ConvexPolygonShape2D" path="local://7"> </resource> + <array name="11/shapes" len="1" shared="false"> + <resource resource_type="Shape2D" path="local://8"> </resource> + </array> <string name="12/name"> "ramp" </string> <resource name="12/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> - <vector2 name="12/offset"> 0, 0 </vector2> + <vector2 name="12/tex_offset"> 0, 0 </vector2> + <vector2 name="12/shape_offset"> 32, 64 </vector2> <rect2 name="12/region"> 128, 128, 64, 128 </rect2> - <resource name="12/shape" resource_type="ConvexPolygonShape2D" path="local://8"> </resource> + <array name="12/shapes" len="1" shared="false"> + <resource resource_type="Shape2D" path="local://9"> </resource> + </array> <string name="13/name"> "ceiling2wall" </string> <resource name="13/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> - <vector2 name="13/offset"> 0, 0 </vector2> + <vector2 name="13/tex_offset"> 0, 0 </vector2> + <vector2 name="13/shape_offset"> 32, 32 </vector2> <rect2 name="13/region"> 448, 64, 64, 64 </rect2> - <resource name="13/shape" resource_type="ConvexPolygonShape2D" path="local://9"> </resource> - <resource name="script/script"></resource> + <array name="13/shapes" len="1" shared="false"> + <resource resource_type="Shape2D" path="local://10"> </resource> + </array> + <string name="14/name"> "platform_floor" </string> + <resource name="14/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> + <vector2 name="14/tex_offset"> 0, 0 </vector2> + <vector2 name="14/shape_offset"> 32, 32 </vector2> + <rect2 name="14/region"> 128, 0, 64, 64 </rect2> + <array name="14/shapes" len="1" shared="false"> + <resource resource_type="Shape2D" path="local://11"> </resource> + </array> + <string name="15/name"> "platform_edge" </string> + <resource name="15/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> + <vector2 name="15/tex_offset"> 0, 0 </vector2> + <vector2 name="15/shape_offset"> 32, 32 </vector2> + <rect2 name="15/region"> 192, 0, 64, 64 </rect2> + <array name="15/shapes" len="1" shared="false"> + <resource resource_type="Shape2D" path="local://12"> </resource> + </array> + </main_resource> </resource_file>
\ No newline at end of file diff --git a/demos/2d/platformer/tileset_edit.xml b/demos/2d/platformer/tileset_edit.xml index 2473656a6a..db289433ab 100644 --- a/demos/2d/platformer/tileset_edit.xml +++ b/demos/2d/platformer/tileset_edit.xml @@ -1,71 +1,83 @@ <?xml version="1.0" encoding="UTF-8" ?> -<resource_file type="PackedScene" subresource_count="12" version="1.0" version_name="Godot Engine v1.0.3917-beta1"> +<resource_file type="PackedScene" subresource_count="14" version="1.0" version_name="Godot Engine v1.0.stable.custom_build"> <ext_resource path="res://tiles_demo.png" type="Texture"></ext_resource> <resource type="ConvexPolygonShape2D" path="local://1"> <real name="custom_solver_bias"> 0 </real> - <vector2_array name="points" len="4"> 0, 8, 64, 8, 64, 64, 0, 64 </vector2_array> + <vector2_array name="points" len="4"> -32, -24, 32, -24, 32, 32, -32, 32 </vector2_array> </resource> <resource type="ConvexPolygonShape2D" path="local://2"> <real name="custom_solver_bias"> 0 </real> - <vector2_array name="points" len="4"> 0, 64, 0, 8, 56, 8, 56, 64 </vector2_array> + <vector2_array name="points" len="4"> -32, 32, -32, -24, 24, -24, 24, 32 </vector2_array> </resource> <resource type="ConvexPolygonShape2D" path="local://3"> <real name="custom_solver_bias"> 0 </real> - <vector2_array name="points" len="4"> 0, 64, 0, 0, 56, 0, 56, 64 </vector2_array> + <vector2_array name="points" len="4"> -32, 32, -32, -32, 24, -32, 24, 32 </vector2_array> </resource> <resource type="ConvexPolygonShape2D" path="local://4"> <real name="custom_solver_bias"> 0 </real> - <vector2_array name="points" len="4"> 0, 64, 0, 0, 56, 0, 56, 64 </vector2_array> + <vector2_array name="points" len="4"> -64, 32, -64, -32, -8, -32, -8, 32 </vector2_array> </resource> <resource type="ConvexPolygonShape2D" path="local://5"> <real name="custom_solver_bias"> 0 </real> - <vector2_array name="points" len="5"> 0, 64, 0, 0, 56, 0, 64, 8, 64, 64 </vector2_array> + <vector2_array name="points" len="5"> -32, 32, -32, -32, 24, -32, 32, -24, 32, 32 </vector2_array> </resource> <resource type="ConvexPolygonShape2D" path="local://6"> <real name="custom_solver_bias"> 0 </real> - <vector2_array name="points" len="4"> 0, 8, 64, 72, 64, 128, 0, 128 </vector2_array> + <vector2_array name="points" len="4"> -32, 32, -32, -24, 32, -24, 32, 32 </vector2_array> </resource> <resource type="ConvexPolygonShape2D" path="local://7"> <real name="custom_solver_bias"> 0 </real> - <vector2_array name="points" len="4"> 0, 64, 0, 8, 64, 8, 64, 64 </vector2_array> + <vector2_array name="points" len="4"> -32, 32, -32, -24, 32, -24, 32, 32 </vector2_array> </resource> <resource type="ConvexPolygonShape2D" path="local://8"> <real name="custom_solver_bias"> 0 </real> - <vector2_array name="points" len="4"> 0, 64, 0, 8, 64, 8, 64, 64 </vector2_array> + <vector2_array name="points" len="4"> -32, -32, 32, -32, 32, 32, -32, 32 </vector2_array> </resource> <resource type="ConvexPolygonShape2D" path="local://9"> <real name="custom_solver_bias"> 0 </real> - <vector2_array name="points" len="4"> 0, 0, 64, 0, 64, 64, 0, 64 </vector2_array> + <vector2_array name="points" len="4"> -32, -56, 32, 8, 32, 64, -32, 64 </vector2_array> </resource> <resource type="ConvexPolygonShape2D" path="local://10"> <real name="custom_solver_bias"> 0 </real> - <vector2_array name="points" len="4"> 0, 64, 0, 0, 56, 0, 56, 64 </vector2_array> + <vector2_array name="points" len="4"> -32, 32, -32, -32, 24, -32, 24, 32 </vector2_array> + + </resource> + <resource type="ConvexPolygonShape2D" path="local://11"> + <real name="custom_solver_bias"> 0 </real> + <vector2_array name="points" len="4"> -32, -24, 32, -24, 32, 24, -32, 24 </vector2_array> + + </resource> + <resource type="ConvexPolygonShape2D" path="local://12"> + <real name="custom_solver_bias"> 0 </real> + <vector2_array name="points" len="4"> -32, -24, 24, -24, 24, 24, -32, 24 </vector2_array> </resource> <main_resource> <dictionary name="_bundled" shared="false"> <string> "names" </string> - <string_array len="75"> + <string_array len="77"> <string> "Node" </string> + <string> "_import_path" </string> <string> "__meta__" </string> <string> "floor" </string> <string> "Sprite" </string> <string> "visibility/visible" </string> <string> "visibility/opacity" </string> <string> "visibility/self_opacity" </string> - <string> "visibility/behind_parent" </string> <string> "transform/pos" </string> <string> "transform/rot" </string> <string> "transform/scale" </string> + <string> "z/z" </string> + <string> "z/relative" </string> <string> "texture" </string> <string> "centered" </string> <string> "offset" </string> @@ -83,6 +95,7 @@ <string> "shapes/0/shape" </string> <string> "shapes/0/transform" </string> <string> "shapes/0/trigger" </string> + <string> "layers" </string> <string> "constant_linear_velocity" </string> <string> "constant_angular_velocity" </string> <string> "friction" </string> @@ -90,11 +103,11 @@ <string> "CollisionPolygon2D" </string> <string> "build_mode" </string> <string> "polygon" </string> + <string> "trigger" </string> <string> "edge" </string> <string> "wall" </string> <string> "wall_deco" </string> <string> "corner" </string> - <string> "ramp" </string> <string> "flowers" </string> <string> "tree_base" </string> <string> "tree_mid" </string> @@ -102,13 +115,10 @@ <string> "tree_top" </string> <string> "solid" </string> <string> "ceiling" </string> + <string> "ramp" </string> <string> "ceiling2wall" </string> <string> "help" </string> <string> "Label" </string> - <string> "margin/left" </string> - <string> "margin/top" </string> - <string> "margin/right" </string> - <string> "margin/bottom" </string> <string> "focus_neighbour/left" </string> <string> "focus_neighbour/top" </string> <string> "focus_neighbour/right" </string> @@ -130,29 +140,38 @@ <string> "autowrap" </string> <string> "uppercase" </string> <string> "percent_visible" </string> + <string> "platform_floor" </string> + <string> "platform_edge" </string> </string_array> <string> "version" </string> <int> 1 </int> <string> "conn_count" </string> <int> 0 </int> <string> "node_count" </string> - <int> 36 </int> + <int> 42 </int> <string> "variants" </string> - <array len="65" shared="false"> + <array len="69" shared="false"> + <node_path> "" </node_path> <dictionary shared="false"> <string> "__editor_plugin_states__" </string> <dictionary shared="false"> <string> "2D" </string> <dictionary shared="false"> <string> "pixel_snap" </string> - <bool> False </bool> + <bool> True </bool> <string> "zoom" </string> - <real> 1.670182 </real> + <real> 1.670183 </real> + <string> "use_snap" </string> + <bool> True </bool> <string> "ofs" </string> - <vector2> -58.9115, 60.1605 </vector2> + <vector2> -446.534, -87.6905 </vector2> + <string> "snap" </string> + <int> 8 </int> </dictionary> <string> "3D" </string> <dictionary shared="false"> + <string> "deflight_rot_y" </string> + <real> 0.628319 </real> <string> "zfar" </string> <real> 500 </real> <string> "fov" </string> @@ -166,10 +185,12 @@ <real> 0 </real> <string> "y_rot" </string> <real> 0 </real> - <string> "use_orthogonal" </string> - <bool> False </bool> + <string> "listener" </string> + <bool> True </bool> <string> "use_environment" </string> <bool> False </bool> + <string> "use_orthogonal" </string> + <bool> False </bool> <string> "pos" </string> <vector3> 0, 0, 0 </vector3> </dictionary> @@ -180,10 +201,12 @@ <real> 0 </real> <string> "y_rot" </string> <real> 0 </real> - <string> "use_orthogonal" </string> + <string> "listener" </string> <bool> False </bool> <string> "use_environment" </string> <bool> False </bool> + <string> "use_orthogonal" </string> + <bool> False </bool> <string> "pos" </string> <vector3> 0, 0, 0 </vector3> </dictionary> @@ -194,10 +217,12 @@ <real> 0 </real> <string> "y_rot" </string> <real> 0 </real> - <string> "use_orthogonal" </string> + <string> "listener" </string> <bool> False </bool> <string> "use_environment" </string> <bool> False </bool> + <string> "use_orthogonal" </string> + <bool> False </bool> <string> "pos" </string> <vector3> 0, 0, 0 </vector3> </dictionary> @@ -208,10 +233,12 @@ <real> 0 </real> <string> "y_rot" </string> <real> 0 </real> - <string> "use_orthogonal" </string> + <string> "listener" </string> <bool> False </bool> <string> "use_environment" </string> <bool> False </bool> + <string> "use_orthogonal" </string> + <bool> False </bool> <string> "pos" </string> <vector3> 0, 0, 0 </vector3> </dictionary> @@ -220,12 +247,18 @@ <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> "znear" </string> <real> 0.1 </real> + <string> "default_srgb" </string> + <bool> False </bool> + <string> "deflight_rot_x" </string> + <real> 0.942478 </real> </dictionary> </dictionary> <string> "__editor_run_settings__" </string> @@ -239,45 +272,42 @@ <string> "2D" </string> </dictionary> <bool> True </bool> - <nil> </nil> - <nil> </nil> + <real> 1 </real> <vector2> 0, 0 </vector2> - <nil> </nil> + <real> 0 </real> <vector2> 1, 1 </vector2> + <int> 0 </int> <resource resource_type="Texture" path="res://tiles_demo.png"> </resource> + <bool> False </bool> <int> 1 </int> - <nil> </nil> <color> 1, 1, 1, 1 </color> <rect2> 0, 0, 64, 64 </rect2> <resource resource_type="Shape2D" path="local://1"> </resource> <matrix32> 1, -0, 0, 1, 0, 0 </matrix32> - <vector2_array len="4"> 64, 8, 64, 64, 0, 64, 0, 8 </vector2_array> + <vector2_array len="4"> 32, -24, 32, 32, -32, 32, -32, -24 </vector2_array> <vector2> 64, 0 </vector2> <rect2> 64, 0, 64, 64 </rect2> <resource resource_type="Shape2D" path="local://2"> </resource> - <vector2_array len="4"> 0, 8, 56, 8, 56, 64, 0, 64 </vector2_array> + <vector2_array len="4"> -32, -24, 24, -24, 24, 32, -32, 32 </vector2_array> <vector2> 64, 64 </vector2> <rect2> 64, 64, 64, 64 </rect2> <resource resource_type="Shape2D" path="local://3"> </resource> - <vector2_array len="4"> 0, 0, 56, 0, 56, 64, 0, 64 </vector2_array> - <vector2> 64, 128 </vector2> + <vector2_array len="4"> -32, -32, 24, -32, 24, 32, -32, 32 </vector2_array> + <vector2> 96, 128 </vector2> <rect2> 320, 128, 128, 64 </rect2> <resource resource_type="Shape2D" path="local://4"> </resource> + <vector2_array len="4"> -64, -32, -8, -32, -8, 32, -64, 32 </vector2_array> <vector2> 64, 192 </vector2> <rect2> 64, 128, 64, 64 </rect2> <resource resource_type="Shape2D" path="local://5"> </resource> - <vector2_array len="5"> 0, 0, 56, 0, 64, 8, 64, 64, 0, 64 </vector2_array> - <vector2> 256, 192 </vector2> - <rect2> 128, 128, 64, 128 </rect2> - <resource resource_type="Shape2D" path="local://6"> </resource> - <vector2_array len="4"> 0, 8, 64, 72, 64, 128, 0, 128 </vector2_array> + <vector2_array len="5"> -32, -32, 24, -32, 32, -24, 32, 32, -32, 32 </vector2_array> <vector2> 128, 192 </vector2> <rect2> 192, 192, 64, 64 </rect2> - <resource resource_type="Shape2D" path="local://7"> </resource> - <vector2_array len="4"> 0, 64, 64, 64, 64, 8, 0, 8 </vector2_array> + <resource resource_type="Shape2D" path="local://6"> </resource> + <vector2_array len="4"> -32, 32, 32, 32, 32, -24, -32, -24 </vector2_array> <vector2> 192, 192 </vector2> <rect2> 256, 192, 64, 64 </rect2> - <resource resource_type="Shape2D" path="local://8"> </resource> + <resource resource_type="Shape2D" path="local://7"> </resource> <vector2> 192, 128 </vector2> <rect2> 256, 128, 64, 64 </rect2> <vector2> 192, 64 </vector2> @@ -288,23 +318,29 @@ <rect2> 0, 64, 64, 64 </rect2> <vector2> 0, 128 </vector2> <rect2> 384, 64, 64, 64 </rect2> + <resource resource_type="Shape2D" path="local://8"> </resource> + <vector2_array len="4"> 32, -32, 32, 32, -32, 32, -32, -32 </vector2_array> + <vector2> 256, 224 </vector2> + <rect2> 128, 128, 64, 128 </rect2> <resource resource_type="Shape2D" path="local://9"> </resource> - <vector2_array len="4"> 64, 0, 64, 64, 0, 64, 0, 0 </vector2_array> + <vector2_array len="4"> -32, -56, 32, 8, 32, 64, -32, 64 </vector2_array> <vector2> 0, 192 </vector2> <rect2> 448, 64, 64, 64 </rect2> <resource resource_type="Shape2D" path="local://10"> </resource> - <nil> </nil> - <nil> </nil> - <nil> </nil> - <nil> </nil> - <nil> </nil> <int> 2 </int> - <nil> </nil> - <string> "This scene serves as a tool for editing the tileset. Nodes (sprites) and their respective collisions are edited here. To create a tileset from this, a "TileSet" resoucre must be created. Use the helper in: Scene -< Convert To -< TileSet This will save a tileset. Saving over it will merge your changes. Finally, the saved tileset resource (tileset.xml in this case), can be opened to be used into a TileMap node for editing a tile map. " </string> + <string> "This scene serves as a tool for editing the tileset.
Nodes (sprites) and their respective collisions
are edited here. 

To create a tileset from this, a "TileSet" resoucre 
must be created. Use the helper in:

 Scene -< Convert To -< TileSet

This will save a tileset. Saving over it will merge your changes.

Finally, the saved tileset resource (tileset.xml in this
 case), can be opened to be used into a TileMap node
 for editing a tile map.
" </string> <real> -1 </real> + <vector2> 0, 256 </vector2> + <rect2> 128, 0, 64, 64 </rect2> + <resource resource_type="Shape2D" path="local://11"> </resource> + <vector2_array len="4"> 32, -24, 32, 24, -32, 24, -32, -24 </vector2_array> + <vector2> 64, 256 </vector2> + <rect2> 192, 0, 64, 64 </rect2> + <resource resource_type="Shape2D" path="local://12"> </resource> + <vector2_array len="4"> 24, -24, 24, 24, -32, 24, -32, -24 </vector2_array> </array> <string> "nodes" </string> - <int_array len="1296"> -1, -1, 0, 0, -1, 1, 1, 0, 0, 0, 0, 3, 2, -1, 18, 4, 1, 5, 2, 6, 2, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 3, 13, 4, 14, 3, 15, 3, 16, 8, 17, 8, 18, 9, 19, 10, 20, 1, 21, 11, 0, 1, 0, 23, 22, -1, 15, 4, 1, 5, 2, 6, 2, 7, 3, 8, 4, 9, 5, 10, 6, 24, 8, 25, 12, 26, 13, 27, 3, 28, 4, 29, 5, 30, 2, 31, 5, 0, 2, 0, 32, 32, -1, 9, 4, 1, 5, 2, 6, 2, 7, 3, 8, 4, 9, 5, 10, 6, 33, 9, 34, 14, 0, 0, 0, 3, 35, -1, 18, 4, 1, 5, 2, 6, 2, 7, 3, 8, 15, 9, 5, 10, 6, 11, 7, 12, 3, 13, 4, 14, 3, 15, 3, 16, 8, 17, 8, 18, 9, 19, 10, 20, 1, 21, 16, 0, 4, 0, 23, 22, -1, 15, 4, 1, 5, 2, 6, 2, 7, 3, 8, 4, 9, 5, 10, 6, 24, 8, 25, 17, 26, 13, 27, 3, 28, 4, 29, 5, 30, 2, 31, 5, 0, 5, 0, 32, 32, -1, 9, 4, 1, 5, 2, 6, 2, 7, 3, 8, 4, 9, 5, 10, 6, 33, 9, 34, 18, 0, 0, 0, 3, 36, -1, 18, 4, 1, 5, 2, 6, 2, 7, 3, 8, 19, 9, 5, 10, 6, 11, 7, 12, 3, 13, 4, 14, 3, 15, 3, 16, 8, 17, 8, 18, 9, 19, 10, 20, 1, 21, 20, 0, 7, 0, 23, 22, -1, 15, 4, 1, 5, 2, 6, 2, 7, 3, 8, 4, 9, 5, 10, 6, 24, 8, 25, 21, 26, 13, 27, 3, 28, 4, 29, 5, 30, 2, 31, 5, 0, 8, 0, 32, 32, -1, 9, 4, 1, 5, 2, 6, 2, 7, 3, 8, 4, 9, 5, 10, 6, 33, 9, 34, 22, 0, 0, 0, 3, 37, -1, 18, 4, 1, 5, 2, 6, 2, 7, 3, 8, 23, 9, 5, 10, 6, 11, 7, 12, 3, 13, 4, 14, 3, 15, 3, 16, 8, 17, 8, 18, 9, 19, 10, 20, 1, 21, 24, 0, 10, 0, 23, 22, -1, 15, 4, 1, 5, 2, 6, 2, 7, 3, 8, 4, 9, 5, 10, 6, 24, 8, 25, 25, 26, 13, 27, 3, 28, 4, 29, 5, 30, 2, 31, 5, 0, 11, 0, 32, 32, -1, 9, 4, 1, 5, 2, 6, 2, 7, 3, 8, 4, 9, 5, 10, 6, 33, 9, 34, 22, 0, 0, 0, 3, 38, -1, 18, 4, 1, 5, 2, 6, 2, 7, 3, 8, 26, 9, 5, 10, 6, 11, 7, 12, 3, 13, 4, 14, 3, 15, 3, 16, 8, 17, 8, 18, 9, 19, 10, 20, 1, 21, 27, 0, 13, 0, 23, 22, -1, 15, 4, 1, 5, 2, 6, 2, 7, 3, 8, 4, 9, 5, 10, 6, 24, 8, 25, 28, 26, 13, 27, 3, 28, 4, 29, 5, 30, 2, 31, 5, 0, 14, 0, 32, 32, -1, 9, 4, 1, 5, 2, 6, 2, 7, 3, 8, 4, 9, 5, 10, 6, 33, 9, 34, 29, 0, 0, 0, 3, 39, -1, 18, 4, 1, 5, 2, 6, 2, 7, 3, 8, 30, 9, 5, 10, 6, 11, 7, 12, 3, 13, 4, 14, 3, 15, 3, 16, 8, 17, 8, 18, 9, 19, 10, 20, 1, 21, 31, 0, 16, 0, 23, 22, -1, 15, 4, 1, 5, 2, 6, 2, 7, 3, 8, 4, 9, 5, 10, 6, 24, 8, 25, 32, 26, 13, 27, 3, 28, 4, 29, 5, 30, 2, 31, 5, 0, 17, 0, 32, 32, -1, 9, 4, 1, 5, 2, 6, 2, 7, 3, 8, 4, 9, 5, 10, 6, 33, 9, 34, 33, 0, 0, 0, 3, 40, -1, 18, 4, 1, 5, 2, 6, 2, 7, 3, 8, 34, 9, 5, 10, 6, 11, 7, 12, 3, 13, 4, 14, 3, 15, 3, 16, 8, 17, 8, 18, 9, 19, 10, 20, 1, 21, 35, 0, 19, 0, 23, 22, -1, 15, 4, 1, 5, 2, 6, 2, 7, 3, 8, 4, 9, 5, 10, 6, 24, 8, 25, 36, 26, 13, 27, 3, 28, 4, 29, 5, 30, 2, 31, 5, 0, 20, 0, 32, 32, -1, 9, 4, 1, 5, 2, 6, 2, 7, 3, 8, 4, 9, 5, 10, 6, 33, 9, 34, 37, 0, 0, 0, 3, 41, -1, 18, 4, 1, 5, 2, 6, 2, 7, 3, 8, 38, 9, 5, 10, 6, 11, 7, 12, 3, 13, 4, 14, 3, 15, 3, 16, 8, 17, 8, 18, 9, 19, 10, 20, 1, 21, 39, 0, 22, 0, 23, 22, -1, 15, 4, 1, 5, 2, 6, 2, 7, 3, 8, 4, 9, 5, 10, 6, 24, 8, 25, 40, 26, 13, 27, 3, 28, 4, 29, 5, 30, 2, 31, 5, 0, 23, 0, 32, 32, -1, 9, 4, 1, 5, 2, 6, 2, 7, 3, 8, 4, 9, 5, 10, 6, 33, 9, 34, 37, 0, 0, 0, 3, 42, -1, 18, 4, 1, 5, 2, 6, 2, 7, 3, 8, 41, 9, 5, 10, 6, 11, 7, 12, 3, 13, 4, 14, 3, 15, 3, 16, 8, 17, 8, 18, 9, 19, 10, 20, 1, 21, 42, 0, 0, 0, 3, 43, -1, 18, 4, 1, 5, 2, 6, 2, 7, 3, 8, 43, 9, 5, 10, 6, 11, 7, 12, 3, 13, 4, 14, 3, 15, 3, 16, 8, 17, 8, 18, 9, 19, 10, 20, 1, 21, 44, 0, 0, 0, 3, 44, -1, 18, 4, 1, 5, 2, 6, 2, 7, 3, 8, 45, 9, 5, 10, 6, 11, 7, 12, 3, 13, 4, 14, 3, 15, 3, 16, 8, 17, 8, 18, 9, 19, 10, 20, 1, 21, 46, 0, 0, 0, 3, 45, -1, 18, 4, 1, 5, 2, 6, 2, 7, 3, 8, 47, 9, 5, 10, 6, 11, 7, 12, 3, 13, 4, 14, 3, 15, 3, 16, 8, 17, 8, 18, 9, 19, 10, 20, 1, 21, 48, 0, 0, 0, 3, 46, -1, 18, 4, 1, 5, 2, 6, 2, 7, 3, 8, 49, 9, 5, 10, 6, 11, 7, 12, 3, 13, 4, 14, 3, 15, 3, 16, 8, 17, 8, 18, 9, 19, 10, 20, 1, 21, 50, 0, 29, 0, 23, 22, -1, 15, 4, 1, 5, 2, 6, 2, 7, 3, 8, 4, 9, 5, 10, 6, 24, 8, 25, 51, 26, 13, 27, 3, 28, 4, 29, 5, 30, 2, 31, 5, 0, 30, 0, 32, 32, -1, 9, 4, 1, 5, 2, 6, 2, 7, 3, 8, 4, 9, 5, 10, 6, 33, 9, 34, 52, 0, 0, 0, 3, 47, -1, 18, 4, 1, 5, 2, 6, 2, 7, 3, 8, 53, 9, 5, 10, 6, 11, 7, 12, 3, 13, 4, 14, 3, 15, 3, 16, 8, 17, 8, 18, 9, 19, 10, 20, 1, 21, 54, 0, 32, 0, 23, 22, -1, 15, 4, 1, 5, 2, 6, 2, 7, 3, 8, 4, 9, 5, 10, 6, 24, 8, 25, 55, 26, 13, 27, 3, 28, 4, 29, 5, 30, 2, 31, 5, 0, 33, 0, 32, 32, -1, 9, 4, 1, 5, 2, 6, 2, 7, 3, 8, 4, 9, 5, 10, 6, 33, 9, 34, 22, 0, 0, 0, 49, 48, -1, 29, 4, 1, 5, 2, 6, 2, 7, 3, 50, 56, 51, 57, 52, 58, 53, 59, 54, 60, 55, 60, 56, 60, 57, 60, 58, 1, 59, 1, 60, 61, 61, 2, 62, 5, 63, 62, 64, 2, 65, 62, 66, 5, 67, 3, 68, 3, 69, 63, 70, 9, 71, 9, 72, 3, 73, 3, 74, 64, 0 </int_array> + <int_array len="1708"> -1, -1, 0, 0, -1, 2, 1, 0, 2, 1, 0, 0, 0, 4, 3, -1, 20, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 13, 8, 14, 2, 15, 4, 16, 9, 17, 9, 18, 10, 19, 10, 20, 7, 21, 11, 22, 2, 23, 12, 0, 1, 0, 25, 24, -1, 18, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 26, 10, 27, 13, 28, 14, 29, 9, 30, 10, 31, 4, 32, 5, 33, 3, 34, 5, 0, 2, 0, 35, 35, -1, 12, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 36, 7, 37, 15, 38, 9, 0, 0, 0, 4, 39, -1, 20, 1, 0, 5, 2, 6, 3, 7, 3, 8, 16, 9, 5, 10, 6, 11, 7, 12, 2, 13, 8, 14, 2, 15, 4, 16, 9, 17, 9, 18, 10, 19, 10, 20, 7, 21, 11, 22, 2, 23, 17, 0, 4, 0, 25, 24, -1, 18, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 26, 10, 27, 18, 28, 14, 29, 9, 30, 10, 31, 4, 32, 5, 33, 3, 34, 5, 0, 5, 0, 35, 35, -1, 12, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 36, 7, 37, 19, 38, 9, 0, 0, 0, 4, 40, -1, 20, 1, 0, 5, 2, 6, 3, 7, 3, 8, 20, 9, 5, 10, 6, 11, 7, 12, 2, 13, 8, 14, 2, 15, 4, 16, 9, 17, 9, 18, 10, 19, 10, 20, 7, 21, 11, 22, 2, 23, 21, 0, 7, 0, 25, 24, -1, 18, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 26, 10, 27, 22, 28, 14, 29, 9, 30, 10, 31, 4, 32, 5, 33, 3, 34, 5, 0, 8, 0, 35, 35, -1, 12, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 36, 7, 37, 23, 38, 9, 0, 0, 0, 4, 41, -1, 20, 1, 0, 5, 2, 6, 3, 7, 3, 8, 24, 9, 5, 10, 6, 11, 7, 12, 2, 13, 8, 14, 2, 15, 4, 16, 9, 17, 9, 18, 10, 19, 10, 20, 7, 21, 11, 22, 2, 23, 25, 0, 10, 0, 25, 24, -1, 18, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 26, 10, 27, 26, 28, 14, 29, 9, 30, 10, 31, 4, 32, 5, 33, 3, 34, 5, 0, 11, 0, 35, 35, -1, 12, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 36, 7, 37, 27, 38, 9, 0, 0, 0, 4, 42, -1, 20, 1, 0, 5, 2, 6, 3, 7, 3, 8, 28, 9, 5, 10, 6, 11, 7, 12, 2, 13, 8, 14, 2, 15, 4, 16, 9, 17, 9, 18, 10, 19, 10, 20, 7, 21, 11, 22, 2, 23, 29, 0, 13, 0, 25, 24, -1, 18, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 26, 10, 27, 30, 28, 14, 29, 9, 30, 10, 31, 4, 32, 5, 33, 3, 34, 5, 0, 14, 0, 35, 35, -1, 12, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 36, 7, 37, 31, 38, 9, 0, 0, 0, 4, 43, -1, 20, 1, 0, 5, 2, 6, 3, 7, 3, 8, 32, 9, 5, 10, 6, 11, 7, 12, 2, 13, 8, 14, 2, 15, 4, 16, 9, 17, 9, 18, 10, 19, 10, 20, 7, 21, 11, 22, 2, 23, 33, 0, 16, 0, 25, 24, -1, 18, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 26, 10, 27, 34, 28, 14, 29, 9, 30, 10, 31, 4, 32, 5, 33, 3, 34, 5, 0, 17, 0, 35, 35, -1, 12, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 36, 7, 37, 35, 38, 9, 0, 0, 0, 4, 44, -1, 20, 1, 0, 5, 2, 6, 3, 7, 3, 8, 36, 9, 5, 10, 6, 11, 7, 12, 2, 13, 8, 14, 2, 15, 4, 16, 9, 17, 9, 18, 10, 19, 10, 20, 7, 21, 11, 22, 2, 23, 37, 0, 19, 0, 25, 24, -1, 18, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 26, 10, 27, 38, 28, 14, 29, 9, 30, 10, 31, 4, 32, 5, 33, 3, 34, 5, 0, 20, 0, 35, 35, -1, 12, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 36, 7, 37, 35, 38, 9, 0, 0, 0, 4, 45, -1, 20, 1, 0, 5, 2, 6, 3, 7, 3, 8, 39, 9, 5, 10, 6, 11, 7, 12, 2, 13, 8, 14, 2, 15, 4, 16, 9, 17, 9, 18, 10, 19, 10, 20, 7, 21, 11, 22, 2, 23, 40, 0, 0, 0, 4, 46, -1, 20, 1, 0, 5, 2, 6, 3, 7, 3, 8, 41, 9, 5, 10, 6, 11, 7, 12, 2, 13, 8, 14, 2, 15, 4, 16, 9, 17, 9, 18, 10, 19, 10, 20, 7, 21, 11, 22, 2, 23, 42, 0, 0, 0, 4, 47, -1, 20, 1, 0, 5, 2, 6, 3, 7, 3, 8, 43, 9, 5, 10, 6, 11, 7, 12, 2, 13, 8, 14, 2, 15, 4, 16, 9, 17, 9, 18, 10, 19, 10, 20, 7, 21, 11, 22, 2, 23, 44, 0, 0, 0, 4, 48, -1, 20, 1, 0, 5, 2, 6, 3, 7, 3, 8, 45, 9, 5, 10, 6, 11, 7, 12, 2, 13, 8, 14, 2, 15, 4, 16, 9, 17, 9, 18, 10, 19, 10, 20, 7, 21, 11, 22, 2, 23, 46, 0, 0, 0, 4, 49, -1, 20, 1, 0, 5, 2, 6, 3, 7, 3, 8, 47, 9, 5, 10, 6, 11, 7, 12, 2, 13, 8, 14, 2, 15, 4, 16, 9, 17, 9, 18, 10, 19, 10, 20, 7, 21, 11, 22, 2, 23, 48, 0, 26, 0, 25, 24, -1, 18, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 26, 10, 27, 49, 28, 14, 29, 9, 30, 10, 31, 4, 32, 5, 33, 3, 34, 5, 0, 27, 0, 35, 35, -1, 12, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 36, 7, 37, 50, 38, 9, 0, 0, 0, 4, 50, -1, 20, 1, 0, 5, 2, 6, 3, 7, 3, 8, 51, 9, 5, 10, 6, 11, 7, 12, 2, 13, 8, 14, 2, 15, 4, 16, 9, 17, 9, 18, 10, 19, 10, 20, 7, 21, 11, 22, 2, 23, 52, 0, 29, 0, 25, 24, -1, 18, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 26, 10, 27, 53, 28, 14, 29, 9, 30, 10, 31, 4, 32, 5, 33, 3, 34, 5, 0, 30, 0, 35, 35, -1, 12, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 36, 7, 37, 54, 38, 9, 0, 0, 0, 4, 51, -1, 20, 1, 0, 5, 2, 6, 3, 7, 3, 8, 55, 9, 5, 10, 6, 11, 7, 12, 2, 13, 8, 14, 2, 15, 4, 16, 9, 17, 9, 18, 10, 19, 10, 20, 7, 21, 11, 22, 2, 23, 56, 0, 32, 0, 25, 24, -1, 18, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 26, 10, 27, 57, 28, 14, 29, 9, 30, 10, 31, 4, 32, 5, 33, 3, 34, 5, 0, 33, 0, 35, 35, -1, 12, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 36, 7, 37, 23, 38, 9, 0, 0, 0, 53, 52, -1, 25, 1, 0, 5, 2, 6, 3, 7, 3, 54, 0, 55, 0, 56, 0, 57, 0, 58, 2, 59, 2, 60, 58, 61, 3, 62, 5, 63, 3, 64, 3, 65, 3, 66, 5, 67, 9, 68, 9, 69, 59, 70, 7, 71, 7, 72, 9, 73, 9, 74, 60, 0, 0, 0, 4, 75, -1, 20, 1, 0, 5, 2, 6, 3, 7, 3, 8, 61, 9, 5, 10, 6, 11, 7, 12, 2, 13, 8, 14, 2, 15, 4, 16, 9, 17, 9, 18, 10, 19, 10, 20, 7, 21, 11, 22, 2, 23, 62, 0, 36, 0, 25, 24, -1, 18, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 26, 10, 27, 63, 28, 14, 29, 9, 30, 10, 31, 4, 32, 5, 33, 3, 34, 5, 0, 37, 0, 35, 35, -1, 12, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 36, 7, 37, 64, 38, 9, 0, 0, 0, 4, 76, -1, 20, 1, 0, 5, 2, 6, 3, 7, 3, 8, 65, 9, 5, 10, 6, 11, 7, 12, 2, 13, 8, 14, 2, 15, 4, 16, 9, 17, 9, 18, 10, 19, 10, 20, 7, 21, 11, 22, 2, 23, 66, 0, 39, 0, 25, 24, -1, 18, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 26, 10, 27, 67, 28, 14, 29, 9, 30, 10, 31, 4, 32, 5, 33, 3, 34, 5, 0, 40, 0, 35, 35, -1, 12, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 36, 7, 37, 68, 38, 9, 0 </int_array> <string> "conns" </string> <int_array len="0"> </int_array> </dictionary> diff --git a/demos/2d/polygon_path_finder/engine.cfg b/demos/2d/polygon_path_finder/engine.cfg new file mode 100644 index 0000000000..47450408af --- /dev/null +++ b/demos/2d/polygon_path_finder/engine.cfg @@ -0,0 +1,5 @@ +[application] + +name="Polygon Pathfinder" +main_scene="res://poly_with_holes.scn" +icon="res://icon.png" diff --git a/demos/2d/polygon_path_finder/icon.png b/demos/2d/polygon_path_finder/icon.png Binary files differnew file mode 100644 index 0000000000..643f5595ee --- /dev/null +++ b/demos/2d/polygon_path_finder/icon.png diff --git a/demos/2d/polygon_path_finder/poly_with_holes.scn b/demos/2d/polygon_path_finder/poly_with_holes.scn Binary files differnew file mode 100644 index 0000000000..6b340377b7 --- /dev/null +++ b/demos/2d/polygon_path_finder/poly_with_holes.scn diff --git a/demos/2d/polygon_path_finder/polygonpathfinder.gd b/demos/2d/polygon_path_finder/polygonpathfinder.gd new file mode 100644 index 0000000000..a0e71dd127 --- /dev/null +++ b/demos/2d/polygon_path_finder/polygonpathfinder.gd @@ -0,0 +1,80 @@ + +extends Spatial + +func _ready(): + var pf = PolygonPathFinder.new() + + var points = Vector2Array() + var connections = IntArray() + + # poly 1 + points.push_back(Vector2(0, 0)) #0 + points.push_back(Vector2(10, 0)) #1 + points.push_back(Vector2(10, 10)) #2 + points.push_back(Vector2(0, 10)) #3 + + connections.push_back(0) # connect vertex 0 ... + connections.push_back(1) # ... to 1 + drawLine(points[0], points[1], get_node("/root/Spatial/Polys")) + connections.push_back(1) # connect vertex 1 ... + connections.push_back(2) # ... to 2 + drawLine(points[1], points[2], get_node("/root/Spatial/Polys")) + connections.push_back(2) # etc. + connections.push_back(3) + drawLine(points[2], points[3], get_node("/root/Spatial/Polys")) + connections.push_back(3) # connect vertex 3 ... + connections.push_back(0) # back to vertex 0, to close the polygon + drawLine(points[3], points[0], get_node("/root/Spatial/Polys")) + + # poly 2, as obstacle inside poly 1 + points.push_back(Vector2(2, 0.5)) #4 + points.push_back(Vector2(4, 0.5)) #5 + points.push_back(Vector2(4, 9.5)) #6 + points.push_back(Vector2(2, 9.5)) #7 + + connections.push_back(4) + connections.push_back(5) + drawLine(points[4], points[5], get_node("/root/Spatial/Polys")) + connections.push_back(5) + connections.push_back(6) + drawLine(points[5], points[6], get_node("/root/Spatial/Polys")) + connections.push_back(6) + connections.push_back(7) + drawLine(points[6], points[7], get_node("/root/Spatial/Polys")) + connections.push_back(7) + connections.push_back(4) + drawLine(points[7], points[4], get_node("/root/Spatial/Polys")) + + + print("points: ",points) + print("connections: ",connections) + + pf.setup(points, connections) + + var path = pf.find_path(Vector2(1, 5), Vector2(8, 5)) + + var lastStep = null + print("path: ",path) + for step in path: + print("step: ",step) + if (lastStep != null): + var currPathSegment = Vector2Array() + drawLine(lastStep, step, get_node("/root/Spatial/Path")) + lastStep = step + + + +func drawLine(pointA, pointB, immediateGeo): + var drawPosY = 0.1 + var im = immediateGeo + + im.begin(Mesh.PRIMITIVE_POINTS, null) + im.add_vertex(Vector3(pointA.x, drawPosY, pointA.y)) + im.add_vertex(Vector3(pointB.x, drawPosY, pointB.y)) + im.end() + im.begin(Mesh.PRIMITIVE_LINE_STRIP, null) + im.add_vertex(Vector3(pointA.x, drawPosY, pointA.y)) + im.add_vertex(Vector3(pointB.x, drawPosY, pointB.y)) + im.end() + + diff --git a/demos/2d/screen_space_shaders/art/burano.jpg b/demos/2d/screen_space_shaders/art/burano.jpg Binary files differnew file mode 100644 index 0000000000..cdab993ec1 --- /dev/null +++ b/demos/2d/screen_space_shaders/art/burano.jpg diff --git a/demos/2d/screen_space_shaders/art/burano.png b/demos/2d/screen_space_shaders/art/burano.png Binary files differnew file mode 100644 index 0000000000..6eec09d585 --- /dev/null +++ b/demos/2d/screen_space_shaders/art/burano.png diff --git a/demos/2d/screen_space_shaders/art/filmgrain.png b/demos/2d/screen_space_shaders/art/filmgrain.png Binary files differnew file mode 100644 index 0000000000..b8ea89902c --- /dev/null +++ b/demos/2d/screen_space_shaders/art/filmgrain.png diff --git a/demos/2d/screen_space_shaders/art/filmgrain.png.flags b/demos/2d/screen_space_shaders/art/filmgrain.png.flags new file mode 100644 index 0000000000..d5476d5499 --- /dev/null +++ b/demos/2d/screen_space_shaders/art/filmgrain.png.flags @@ -0,0 +1 @@ +repeat=true diff --git a/demos/2d/screen_space_shaders/art/forest.png b/demos/2d/screen_space_shaders/art/forest.png Binary files differnew file mode 100644 index 0000000000..f5a2fb9bfb --- /dev/null +++ b/demos/2d/screen_space_shaders/art/forest.png diff --git a/demos/2d/screen_space_shaders/art/mountains.png b/demos/2d/screen_space_shaders/art/mountains.png Binary files differnew file mode 100644 index 0000000000..b8435bb1a8 --- /dev/null +++ b/demos/2d/screen_space_shaders/art/mountains.png diff --git a/demos/2d/screen_space_shaders/art/platformer.png b/demos/2d/screen_space_shaders/art/platformer.png Binary files differnew file mode 100644 index 0000000000..21c1cb4c4b --- /dev/null +++ b/demos/2d/screen_space_shaders/art/platformer.png diff --git a/demos/2d/screen_space_shaders/art/vignette.png b/demos/2d/screen_space_shaders/art/vignette.png Binary files differnew file mode 100644 index 0000000000..8afeb7f9e1 --- /dev/null +++ b/demos/2d/screen_space_shaders/art/vignette.png diff --git a/demos/2d/screen_space_shaders/art/white.png b/demos/2d/screen_space_shaders/art/white.png Binary files differnew file mode 100644 index 0000000000..573faa33f2 --- /dev/null +++ b/demos/2d/screen_space_shaders/art/white.png diff --git a/demos/2d/screen_space_shaders/engine.cfg b/demos/2d/screen_space_shaders/engine.cfg new file mode 100644 index 0000000000..383ca7bf11 --- /dev/null +++ b/demos/2d/screen_space_shaders/engine.cfg @@ -0,0 +1,12 @@ +[application] + +name="Screen-Space Shaders" +main_scene="res://screen_shaders.scn" +icon="res://icon.png" + +[display] + +width=780 +height=600 +stretch_mode="2d" +stretch_aspect="keep" diff --git a/demos/2d/screen_space_shaders/icon.png b/demos/2d/screen_space_shaders/icon.png Binary files differnew file mode 100644 index 0000000000..e3cc049081 --- /dev/null +++ b/demos/2d/screen_space_shaders/icon.png diff --git a/demos/2d/screen_space_shaders/screen_shaders.gd b/demos/2d/screen_space_shaders/screen_shaders.gd new file mode 100644 index 0000000000..4e8a548539 --- /dev/null +++ b/demos/2d/screen_space_shaders/screen_shaders.gd @@ -0,0 +1,32 @@ + +extends Control + +# member variables here, example: +# var a=2 +# var b="textvar" + +func _ready(): + # Initialization here + for c in get_node("pictures").get_children(): + get_node("picture").add_item("PIC: "+c.get_name()) + for c in get_node("effects").get_children(): + get_node("effect").add_item("FX: "+c.get_name()) + pass + + + + +func _on_picture_item_selected( ID ): + for c in range(get_node("pictures").get_child_count()): + if (ID==c): + get_node("pictures").get_child(c).show() + else: + get_node("pictures").get_child(c).hide() + + +func _on_effect_item_selected( ID ): + for c in range(get_node("effects").get_child_count()): + if (ID==c): + get_node("effects").get_child(c).show() + else: + get_node("effects").get_child(c).hide() diff --git a/demos/2d/screen_space_shaders/screen_shaders.scn b/demos/2d/screen_space_shaders/screen_shaders.scn Binary files differnew file mode 100644 index 0000000000..fc2be96fc9 --- /dev/null +++ b/demos/2d/screen_space_shaders/screen_shaders.scn diff --git a/demos/2d/sdf_font/KaushanScript-Regular.otf b/demos/2d/sdf_font/KaushanScript-Regular.otf Binary files differnew file mode 100644 index 0000000000..bd29502100 --- /dev/null +++ b/demos/2d/sdf_font/KaushanScript-Regular.otf diff --git a/demos/2d/sdf_font/engine.cfg b/demos/2d/sdf_font/engine.cfg new file mode 100644 index 0000000000..bf983041fa --- /dev/null +++ b/demos/2d/sdf_font/engine.cfg @@ -0,0 +1,5 @@ +[application] + +name="Signed Distance Field Font" +main_scene="res://sdf.scn" +icon="res://icon.png" diff --git a/demos/2d/sdf_font/font.fnt b/demos/2d/sdf_font/font.fnt Binary files differnew file mode 100644 index 0000000000..c2b6b0177d --- /dev/null +++ b/demos/2d/sdf_font/font.fnt diff --git a/demos/2d/sdf_font/icon.png b/demos/2d/sdf_font/icon.png Binary files differnew file mode 100644 index 0000000000..0c700ad77c --- /dev/null +++ b/demos/2d/sdf_font/icon.png diff --git a/demos/2d/sdf_font/sdf.scn b/demos/2d/sdf_font/sdf.scn Binary files differnew file mode 100644 index 0000000000..89d6245bf0 --- /dev/null +++ b/demos/2d/sdf_font/sdf.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/splash/engine.cfg b/demos/2d/splash/engine.cfg index cb50c7b1be..e461426305 100644 --- a/demos/2d/splash/engine.cfg +++ b/demos/2d/splash/engine.cfg @@ -2,6 +2,7 @@ name="Splash Screen" main_scene="res://splash.xml" +icon="res://icon.png" [display] diff --git a/demos/2d/splash/icon.png b/demos/2d/splash/icon.png Binary files differnew file mode 100644 index 0000000000..b8e24f209e --- /dev/null +++ b/demos/2d/splash/icon.png diff --git a/demos/2d/sprite_shaders/cubio.png b/demos/2d/sprite_shaders/cubio.png Binary files differnew file mode 100644 index 0000000000..6f76220225 --- /dev/null +++ b/demos/2d/sprite_shaders/cubio.png diff --git a/demos/2d/sprite_shaders/engine.cfg b/demos/2d/sprite_shaders/engine.cfg new file mode 100644 index 0000000000..17bdada188 --- /dev/null +++ b/demos/2d/sprite_shaders/engine.cfg @@ -0,0 +1,5 @@ +[application] + +name="2D Shaders for Sprites" +main_scene="res://sprite_shaders.scn" +icon="res://icon.png" diff --git a/demos/2d/sprite_shaders/icon.png b/demos/2d/sprite_shaders/icon.png Binary files differnew file mode 100644 index 0000000000..8b13ef6bb4 --- /dev/null +++ b/demos/2d/sprite_shaders/icon.png diff --git a/demos/2d/sprite_shaders/sprite_shaders.scn b/demos/2d/sprite_shaders/sprite_shaders.scn Binary files differnew file mode 100644 index 0000000000..7c36f2137c --- /dev/null +++ b/demos/2d/sprite_shaders/sprite_shaders.scn 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/OpenCV_Chessboard.png b/demos/2d/texscreen/OpenCV_Chessboard.png Binary files differnew file mode 100644 index 0000000000..31b7f8ccd8 --- /dev/null +++ b/demos/2d/texscreen/OpenCV_Chessboard.png diff --git a/demos/2d/texscreen/bubble.png b/demos/2d/texscreen/bubble.png Binary files differnew file mode 100644 index 0000000000..021abba601 --- /dev/null +++ b/demos/2d/texscreen/bubble.png diff --git a/demos/2d/texscreen/bubbles.gd b/demos/2d/texscreen/bubbles.gd new file mode 100644 index 0000000000..2ee227a928 --- /dev/null +++ b/demos/2d/texscreen/bubbles.gd @@ -0,0 +1,17 @@ + +extends Control + +# member variables here, example: +# var a=2 +# var b="textvar" + +const MAX_BUBBLES=10 + +func _ready(): + # Initialization here + for i in range(MAX_BUBBLES): + var bubble = preload("res://lens.scn").instance() + add_child(bubble) + pass + + diff --git a/demos/2d/texscreen/bubbles.scn b/demos/2d/texscreen/bubbles.scn Binary files differnew file mode 100644 index 0000000000..41026aceed --- /dev/null +++ b/demos/2d/texscreen/bubbles.scn diff --git a/demos/2d/texscreen/burano.png b/demos/2d/texscreen/burano.png Binary files differnew file mode 100644 index 0000000000..6eec09d585 --- /dev/null +++ b/demos/2d/texscreen/burano.png diff --git a/demos/2d/texscreen/engine.cfg b/demos/2d/texscreen/engine.cfg new file mode 100644 index 0000000000..92d0e98d5b --- /dev/null +++ b/demos/2d/texscreen/engine.cfg @@ -0,0 +1,12 @@ +[application] + +name="Glass Bubbles (Texscreen)" +main_scene="res://bubbles.scn" +icon="res://icon.png" + +[display] + +width=800 +height=600 +stretch_mode="2d" +stretch_aspect="keep" diff --git a/demos/2d/texscreen/icon.png b/demos/2d/texscreen/icon.png Binary files differnew file mode 100644 index 0000000000..d74d025ced --- /dev/null +++ b/demos/2d/texscreen/icon.png diff --git a/demos/2d/texscreen/lens.gd b/demos/2d/texscreen/lens.gd new file mode 100644 index 0000000000..2ccbfba497 --- /dev/null +++ b/demos/2d/texscreen/lens.gd @@ -0,0 +1,37 @@ + +extends BackBufferCopy + +# member variables here, example: +# var a=2 +# var b="textvar" +const MOTION_SPEED=150 + +var vsize; +var dir; + +func _process(delta): + var pos = get_pos() + dir * delta * MOTION_SPEED + + if (pos.x<0): + dir.x=abs(dir.x) + elif (pos.x>vsize.x): + dir.x=-abs(dir.x) + + if (pos.y<0): + dir.y=abs(dir.y) + elif (pos.y>vsize.y): + dir.y=-abs(dir.y) + + set_pos(pos) + +func _ready(): + vsize = get_viewport_rect().size + var pos = vsize * Vector2(randf(),randf()); + set_pos(pos); + dir = Vector2(randf()*2.0-1,randf()*2.0-1).normalized() + set_process(true) + + # Initialization here + pass + + diff --git a/demos/2d/texscreen/lens.scn b/demos/2d/texscreen/lens.scn Binary files differnew file mode 100644 index 0000000000..5c6f8b7af8 --- /dev/null +++ b/demos/2d/texscreen/lens.scn diff --git a/demos/3d/kinematic_char/cubelib.res b/demos/3d/kinematic_char/cubelib.res Binary files differindex 66b999d78d..130b9529fe 100644 --- a/demos/3d/kinematic_char/cubelib.res +++ b/demos/3d/kinematic_char/cubelib.res diff --git a/demos/3d/kinematic_char/cubio.gd b/demos/3d/kinematic_char/cubio.gd index a1baa78a0c..058b919d05 100644 --- a/demos/3d/kinematic_char/cubio.gd +++ b/demos/3d/kinematic_char/cubio.gd @@ -46,9 +46,8 @@ func _fixed_process(delta): vel.x=hvel.x; vel.z=hvel.z - - var motion = vel*delta - motion=move(vel*delta) + + var motion = move(vel*delta) var on_floor = false var original_vel = vel diff --git a/demos/3d/kinematic_char/level.scn b/demos/3d/kinematic_char/level.scn Binary files differindex a276fe22e1..8be64c61c0 100644 --- a/demos/3d/kinematic_char/level.scn +++ b/demos/3d/kinematic_char/level.scn diff --git a/demos/3d/navmesh/icon.png b/demos/3d/navmesh/icon.png Binary files differnew file mode 100644 index 0000000000..51fef7b2df --- /dev/null +++ b/demos/3d/navmesh/icon.png diff --git a/demos/3d/navmesh/navmesh.scn b/demos/3d/navmesh/navmesh.scn Binary files differindex 73df340b1e..1202985dec 100644 --- a/demos/3d/navmesh/navmesh.scn +++ b/demos/3d/navmesh/navmesh.scn diff --git a/demos/3d/platformer/bullet.scn b/demos/3d/platformer/bullet.scn Binary files differindex 43f48fc99f..da90dba1a5 100644 --- a/demos/3d/platformer/bullet.scn +++ b/demos/3d/platformer/bullet.scn diff --git a/demos/3d/platformer/coin.scn b/demos/3d/platformer/coin.scn Binary files differindex 449bb0f895..a4148b4060 100644 --- a/demos/3d/platformer/coin.scn +++ b/demos/3d/platformer/coin.scn diff --git a/demos/3d/platformer/enemy.gd b/demos/3d/platformer/enemy.gd index 1d0e0315d9..9b2e95a96d 100644 --- a/demos/3d/platformer/enemy.gd +++ b/demos/3d/platformer/enemy.gd @@ -45,7 +45,7 @@ func _integrate_forces(state): state.set_angular_velocity( -dp.cross(up).normalized() *33.0) get_node("AnimationPlayer").play("impact") get_node("AnimationPlayer").queue("explode") - set_friction(true) + set_friction(1) cc.disabled=true get_node("sound").play("hit") return @@ -91,4 +91,5 @@ func _ready(): # Initalization here pass - +func _die(): + queue_free() diff --git a/demos/3d/platformer/enemy.scn b/demos/3d/platformer/enemy.scn Binary files differindex b3f69af600..083582a85a 100644 --- a/demos/3d/platformer/enemy.scn +++ b/demos/3d/platformer/enemy.scn diff --git a/demos/3d/platformer/player.gd b/demos/3d/platformer/player.gd index 4eeb12e23b..76cf2861bf 100644 --- a/demos/3d/platformer/player.gd +++ b/demos/3d/platformer/player.gd @@ -69,9 +69,9 @@ func _integrate_forces( state ): var lv = state.get_linear_velocity() # linear velocity var g = state.get_total_gravity() var delta = state.get_step() - var d = 1.0 - delta*state.get_total_density() - if (d<0): - d=0 +# var d = 1.0 - delta*state.get_total_density() +# if (d<0): +# d=0 lv += g * delta #apply gravity var anim = ANIM_FLOOR diff --git a/demos/3d/platformer/stage.xml b/demos/3d/platformer/stage.xml index f3a5caffa9..37a11068c9 100644 --- a/demos/3d/platformer/stage.xml +++ b/demos/3d/platformer/stage.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<resource_file type="PackedScene" subresource_count="7" version="1.0" version_name="Godot Engine v1.0.3917-beta1"> +<resource_file type="PackedScene" subresource_count="7" version="1.0" version_name="Godot Engine v1.0.stable.custom_build"> <ext_resource path="res://sb.cube" type="CubeMap"></ext_resource> <ext_resource path="res://tiles.res" type="MeshLibrary"></ext_resource> <ext_resource path="res://enemy.scn" type="PackedScene"></ext_resource> - <ext_resource path="res://coin.scn" type="PackedScene"></ext_resource> <ext_resource path="res://player.xml" type="PackedScene"></ext_resource> + <ext_resource path="res://coin.scn" type="PackedScene"></ext_resource> <resource type="Environment" path="local://1"> <bool name="ambient_light/enabled"> True </bool> <color name="ambient_light/color"> 0, 0.409429, 0.596681, 1 </color> @@ -29,8 +29,9 @@ <real name="dof_blur/begin"> 100 </real> <real name="dof_blur/range"> 10 </real> <bool name="hdr/enabled"> True </bool> + <int name="hdr/tonemapper"> 0 </int> <real name="hdr/exposure"> 0.4 </real> - <real name="hdr/scalar"> 1 </real> + <real name="hdr/white"> 1 </real> <real name="hdr/glow_treshold"> 0.9 </real> <real name="hdr/glow_scale"> 0.5 </real> <real name="hdr/min_luminance"> 0.4 </real> @@ -52,11 +53,12 @@ <main_resource> <dictionary name="_bundled" shared="false"> <string> "names" </string> - <string_array len="92"> + <string_array len="94"> <string> "world" </string> <string> "Spatial" </string> <string> "_import_path" </string> <string> "_import_transform" </string> + <string> "visibility/visible" </string> <string> "__meta__" </string> <string> "GridMap" </string> <string> "theme/theme" </string> @@ -73,6 +75,7 @@ <string> "transform/local" </string> <string> "layers" </string> <string> "params/enabled" </string> + <string> "params/editor_only" </string> <string> "params/bake_mode" </string> <string> "params/energy" </string> <string> "colors/diffuse" </string> @@ -153,9 +156,10 @@ <string> "node_count" </string> <int> 55 </int> <string> "variants" </string> - <array len="79" shared="false"> + <array len="82" shared="false"> <node_path> "" </node_path> <transform> 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 </transform> + <bool> True </bool> <dictionary shared="false"> <string> "__editor_plugin_states__" </string> <dictionary shared="false"> @@ -174,23 +178,27 @@ </dictionary> <string> "3D" </string> <dictionary shared="false"> + <string> "deflight_rot_y" </string> + <real> 0.628319 </real> <string> "zfar" </string> <real> 500 </real> <string> "fov" </string> - <real> 400 </real> + <real> 179 </real> <string> "viewports" </string> <array len="4" shared="false"> <dictionary shared="false"> <string> "distance" </string> - <real> 0.261354 </real> + <real> 9.009935 </real> <string> "x_rot" </string> <real> 0.458294 </real> <string> "y_rot" </string> <real> -1.2 </real> - <string> "use_orthogonal" </string> - <bool> False </bool> + <string> "listener" </string> + <bool> True </bool> <string> "use_environment" </string> <bool> False </bool> + <string> "use_orthogonal" </string> + <bool> False </bool> <string> "pos" </string> <vector3> 13.4535, 5.75047, 13.8175 </vector3> </dictionary> @@ -201,10 +209,12 @@ <real> 0 </real> <string> "y_rot" </string> <real> 0 </real> - <string> "use_orthogonal" </string> + <string> "listener" </string> <bool> False </bool> <string> "use_environment" </string> <bool> False </bool> + <string> "use_orthogonal" </string> + <bool> False </bool> <string> "pos" </string> <vector3> 0, 0, 0 </vector3> </dictionary> @@ -215,10 +225,12 @@ <real> 0 </real> <string> "y_rot" </string> <real> 0 </real> - <string> "use_orthogonal" </string> + <string> "listener" </string> <bool> False </bool> <string> "use_environment" </string> <bool> False </bool> + <string> "use_orthogonal" </string> + <bool> False </bool> <string> "pos" </string> <vector3> 0, 0, 0 </vector3> </dictionary> @@ -229,10 +241,12 @@ <real> 0 </real> <string> "y_rot" </string> <real> 0 </real> - <string> "use_orthogonal" </string> + <string> "listener" </string> <bool> False </bool> <string> "use_environment" </string> <bool> False </bool> + <string> "use_orthogonal" </string> + <bool> False </bool> <string> "pos" </string> <vector3> 0, 0, 0 </vector3> </dictionary> @@ -241,12 +255,18 @@ <int> 1 </int> <string> "default_light" </string> <bool> False </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> "znear" </string> <real> 0.1 </real> + <string> "default_srgb" </string> + <bool> False </bool> + <string> "deflight_rot_x" </string> + <real> 0.942478 </real> </dictionary> </dictionary> <string> "__editor_run_settings__" </string> @@ -263,7 +283,6 @@ <bool> False </bool> <real> 2 </real> <int> 4 </int> - <bool> True </bool> <real> 1.001 </real> <dictionary shared="false"> <string> "cells" </string> @@ -295,6 +314,112 @@ </dictionary> <resource resource_type="PackedScene" path="res://coin.scn"> </resource> <transform> 1, 0, 0, 0, 1, 0, 0, 0, 1, 18.5311, 2.85075, 5.24675 </transform> + <dictionary shared="false"> + <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://coin.gd" </string> + </array> + </dictionary> + <string> "2D" </string> + <dictionary shared="false"> + <string> "zoom" </string> + <real> 1 </real> + <string> "ofs" </string> + <vector2> 1, 1 </vector2> + </dictionary> + <string> "3D" </string> + <dictionary shared="false"> + <string> "fov" </string> + <real> 400 </real> + <string> "zfar" </string> + <real> 500 </real> + <string> "viewports" </string> + <array len="4" shared="false"> + <dictionary shared="false"> + <string> "distance" </string> + <real> 1.361845 </real> + <string> "x_rot" </string> + <real> 0.0125 </real> + <string> "y_rot" </string> + <real> 12.050008 </real> + <string> "use_orthogonal" </string> + <bool> False </bool> + <string> "use_environment" </string> + <bool> False </bool> + <string> "pos" </string> + <vector3> -0.00892573, 0.51052, -0.216081 </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> + <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> "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> "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> "znear" </string> + <real> 0.1 </real> + <string> "show_origin" </string> + <bool> True </bool> + </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> + <string> "__editor_plugin_screen__" </string> + <string> "3D" </string> + </dictionary> <transform> 1, 0, 0, 0, 1, 0, 0, 0, 1, 18.5311, 2.85075, 7.24675 </transform> <transform> 1, 0, 0, 0, 1, 0, 0, 0, 1, 20.5311, 2.85075, 5.24675 </transform> <transform> 1, 0, 0, 0, 1, 0, 0, 0, 1, 20.5311, 2.85075, 7.24675 </transform> @@ -340,14 +465,230 @@ <transform> 1, 0, 0, 0, 1, 0, 0, 0, 1, 51.5614, 4.60515, 25.1836 </transform> <resource resource_type="PackedScene" path="res://enemy.scn"> </resource> <transform> 1, 0, 0, 0, 1, 0, 0, 0, 1, 18.3062, 5.40827, 5.96938 </transform> + <dictionary shared="false"> + <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="2" shared="false"> + <string> "res://enemy.gd" </string> + <string> "res://player.gd" </string> + </array> + </dictionary> + <string> "2D" </string> + <dictionary shared="false"> + <string> "zoom" </string> + <real> 1 </real> + <string> "ofs" </string> + <vector2> 1, 1 </vector2> + </dictionary> + <string> "3D" </string> + <dictionary shared="false"> + <string> "fov" </string> + <real> 400 </real> + <string> "zfar" </string> + <real> 500 </real> + <string> "viewports" </string> + <array len="4" shared="false"> + <dictionary shared="false"> + <string> "distance" </string> + <real> 7.403724 </real> + <string> "x_rot" </string> + <real> 0.25 </real> + <string> "y_rot" </string> + <real> 3.312502 </real> + <string> "use_orthogonal" </string> + <bool> False </bool> + <string> "use_environment" </string> + <bool> False </bool> + <string> "pos" </string> + <vector3> 0.898236, 0.953557, 0.742913 </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> + <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> "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> "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> "znear" </string> + <real> 0.1 </real> + <string> "show_origin" </string> + <bool> True </bool> + </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> + <string> "__editor_plugin_screen__" </string> + <string> "Script" </string> + </dictionary> <transform> 1, 0, 0, 0, 1, 0, 0, 0, 1, 64.1292, 5.40827, 17.1396 </transform> <transform> 1, 0, 0, 0, 1, 0, 0, 0, 1, 64.1292, 5.40827, 32.6128 </transform> <transform> 1, 0, 0, 0, 1, 0, 0, 0, 1, 55.5702, 5.40827, 32.6128 </transform> <resource resource_type="PackedScene" path="res://player.xml"> </resource> <transform> 0.0160676, 0, -0.999871, 0, 1, 0, 0.999871, 0, 0.0160676, 8.50167, 4.15811, 15.9334 </transform> + <dictionary shared="false"> + <string> "__editor_plugin_states__" </string> + <dictionary shared="false"> + <string> "Script" </string> + <dictionary shared="false"> + <string> "current" </string> + <int> 1 </int> + <string> "sources" </string> + <array len="2" shared="false"> + <string> "res://follow_camera.gd" </string> + <string> "res://player.gd" </string> + </array> + </dictionary> + <string> "2D" </string> + <dictionary shared="false"> + <string> "pixel_snap" </string> + <bool> False </bool> + <string> "zoom" </string> + <real> 1 </real> + <string> "ofs" </string> + <vector2> -241, -19 </vector2> + </dictionary> + <string> "3D" </string> + <dictionary shared="false"> + <string> "fov" </string> + <real> 400 </real> + <string> "zfar" </string> + <real> 500 </real> + <string> "viewports" </string> + <array len="4" shared="false"> + <dictionary shared="false"> + <string> "distance" </string> + <real> 2.161076 </real> + <string> "x_rot" </string> + <real> 0.520797 </real> + <string> "y_rot" </string> + <real> 26.741669 </real> + <string> "use_orthogonal" </string> + <bool> False </bool> + <string> "use_environment" </string> + <bool> False </bool> + <string> "pos" </string> + <vector3> -0.415811, 0.486899, 0.089334 </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> + <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> "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> "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> "znear" </string> + <real> 0.1 </real> + <string> "show_origin" </string> + <bool> True </bool> + </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> + <string> "__editor_plugin_screen__" </string> + <string> "3D" </string> + </dictionary> </array> <string> "nodes" </string> - <int_array len="569"> -1, -1, 1, 0, -1, 3, 2, 0, 3, 1, 4, 2, 0, 0, 0, 5, 5, -1, 13, 2, 0, 3, 1, 6, 3, 7, 4, 8, 4, 9, 5, 10, 6, 11, 7, 12, 7, 13, 7, 14, 8, 15, 9, 4, 10, 0, 0, 0, 16, 16, -1, 21, 2, 0, 3, 1, 17, 11, 18, 12, 19, 7, 20, 13, 21, 14, 22, 15, 23, 15, 24, 7, 25, 16, 26, 17, 27, 18, 28, 19, 29, 20, 30, 21, 31, 13, 32, 22, 33, 23, 34, 24, 35, 5, 0, 0, 0, 37, 36, -1, 3, 2, 0, 3, 1, 36, 25, 0, 0, 0, 39, 38, -1, 2, 2, 0, 4, 26, 0, 4, 0, 41, 40, 27, 1, 17, 28, 0, 4, 0, 41, 42, 27, 1, 17, 29, 0, 4, 0, 41, 43, 27, 1, 17, 30, 0, 4, 0, 41, 44, 27, 1, 17, 31, 0, 4, 0, 41, 45, 27, 1, 17, 32, 0, 4, 0, 41, 46, 27, 1, 17, 33, 0, 4, 0, 41, 47, 27, 1, 17, 34, 0, 4, 0, 41, 48, 27, 1, 17, 35, 0, 4, 0, 41, 49, 27, 1, 17, 36, 0, 4, 0, 41, 50, 27, 1, 17, 37, 0, 4, 0, 41, 51, 27, 1, 17, 38, 0, 4, 0, 41, 52, 27, 1, 17, 39, 0, 4, 0, 41, 53, 27, 1, 17, 40, 0, 4, 0, 41, 54, 27, 1, 17, 41, 0, 4, 0, 41, 55, 27, 1, 17, 42, 0, 4, 0, 41, 56, 27, 1, 17, 43, 0, 4, 0, 41, 57, 27, 1, 17, 44, 0, 4, 0, 41, 58, 27, 1, 17, 45, 0, 4, 0, 41, 59, 27, 1, 17, 46, 0, 4, 0, 41, 60, 27, 1, 17, 47, 0, 4, 0, 41, 61, 27, 1, 17, 48, 0, 4, 0, 41, 62, 27, 1, 17, 49, 0, 4, 0, 41, 63, 27, 1, 17, 50, 0, 4, 0, 41, 64, 27, 1, 17, 51, 0, 4, 0, 41, 65, 27, 1, 17, 52, 0, 4, 0, 41, 66, 27, 1, 17, 53, 0, 4, 0, 41, 67, 27, 1, 17, 54, 0, 4, 0, 41, 68, 27, 1, 17, 55, 0, 4, 0, 41, 69, 27, 1, 17, 56, 0, 4, 0, 41, 70, 27, 1, 17, 57, 0, 4, 0, 41, 71, 27, 1, 17, 58, 0, 4, 0, 41, 72, 27, 1, 17, 59, 0, 4, 0, 41, 73, 27, 1, 17, 60, 0, 4, 0, 41, 74, 27, 1, 17, 61, 0, 4, 0, 41, 75, 27, 1, 17, 62, 0, 4, 0, 41, 76, 27, 1, 17, 63, 0, 4, 0, 41, 77, 27, 1, 17, 64, 0, 4, 0, 41, 78, 27, 1, 17, 65, 0, 4, 0, 41, 79, 27, 1, 17, 66, 0, 4, 0, 41, 80, 27, 1, 17, 67, 0, 4, 0, 41, 81, 27, 1, 17, 68, 0, 4, 0, 41, 82, 27, 1, 17, 69, 0, 4, 0, 41, 83, 27, 1, 17, 70, 0, 4, 0, 41, 84, 27, 1, 17, 71, 0, 0, 0, 39, 85, -1, 1, 2, 0, 0, 49, 0, 87, 86, 72, 1, 17, 73, 0, 49, 0, 87, 88, 72, 1, 17, 74, 0, 49, 0, 87, 89, 72, 1, 17, 75, 0, 49, 0, 87, 90, 72, 1, 17, 76, 0, 0, 0, 87, 91, 77, 1, 17, 78, 0 </int_array> + <int_array len="873"> -1, -1, 1, 0, -1, 4, 2, 0, 3, 1, 4, 2, 5, 3, 0, 0, 0, 6, 6, -1, 14, 2, 0, 3, 1, 4, 2, 7, 4, 8, 5, 9, 5, 10, 6, 11, 7, 12, 2, 13, 2, 14, 2, 15, 8, 16, 9, 5, 10, 0, 0, 0, 17, 17, -1, 23, 2, 0, 3, 1, 18, 11, 4, 2, 19, 12, 20, 2, 21, 5, 22, 13, 23, 14, 24, 15, 25, 15, 26, 2, 27, 16, 28, 17, 29, 18, 30, 19, 31, 20, 32, 21, 33, 13, 34, 22, 35, 23, 36, 24, 37, 6, 0, 0, 0, 39, 38, -1, 4, 2, 0, 3, 1, 4, 2, 38, 25, 0, 0, 0, 41, 40, -1, 2, 2, 0, 5, 26, 0, 4, 0, 43, 42, 27, 4, 2, 0, 3, 1, 18, 28, 5, 29, 0, 4, 0, 43, 44, 27, 4, 2, 0, 3, 1, 18, 30, 5, 29, 0, 4, 0, 43, 45, 27, 4, 2, 0, 3, 1, 18, 31, 5, 29, 0, 4, 0, 43, 46, 27, 4, 2, 0, 3, 1, 18, 32, 5, 29, 0, 4, 0, 43, 47, 27, 4, 2, 0, 3, 1, 18, 33, 5, 29, 0, 4, 0, 43, 48, 27, 4, 2, 0, 3, 1, 18, 34, 5, 29, 0, 4, 0, 43, 49, 27, 4, 2, 0, 3, 1, 18, 35, 5, 29, 0, 4, 0, 43, 50, 27, 4, 2, 0, 3, 1, 18, 36, 5, 29, 0, 4, 0, 43, 51, 27, 4, 2, 0, 3, 1, 18, 37, 5, 29, 0, 4, 0, 43, 52, 27, 4, 2, 0, 3, 1, 18, 38, 5, 29, 0, 4, 0, 43, 53, 27, 4, 2, 0, 3, 1, 18, 39, 5, 29, 0, 4, 0, 43, 54, 27, 4, 2, 0, 3, 1, 18, 40, 5, 29, 0, 4, 0, 43, 55, 27, 4, 2, 0, 3, 1, 18, 41, 5, 29, 0, 4, 0, 43, 56, 27, 4, 2, 0, 3, 1, 18, 42, 5, 29, 0, 4, 0, 43, 57, 27, 4, 2, 0, 3, 1, 18, 43, 5, 29, 0, 4, 0, 43, 58, 27, 4, 2, 0, 3, 1, 18, 44, 5, 29, 0, 4, 0, 43, 59, 27, 4, 2, 0, 3, 1, 18, 45, 5, 29, 0, 4, 0, 43, 60, 27, 4, 2, 0, 3, 1, 18, 46, 5, 29, 0, 4, 0, 43, 61, 27, 4, 2, 0, 3, 1, 18, 47, 5, 29, 0, 4, 0, 43, 62, 27, 4, 2, 0, 3, 1, 18, 48, 5, 29, 0, 4, 0, 43, 63, 27, 4, 2, 0, 3, 1, 18, 49, 5, 29, 0, 4, 0, 43, 64, 27, 4, 2, 0, 3, 1, 18, 50, 5, 29, 0, 4, 0, 43, 65, 27, 4, 2, 0, 3, 1, 18, 51, 5, 29, 0, 4, 0, 43, 66, 27, 4, 2, 0, 3, 1, 18, 52, 5, 29, 0, 4, 0, 43, 67, 27, 4, 2, 0, 3, 1, 18, 53, 5, 29, 0, 4, 0, 43, 68, 27, 4, 2, 0, 3, 1, 18, 54, 5, 29, 0, 4, 0, 43, 69, 27, 4, 2, 0, 3, 1, 18, 55, 5, 29, 0, 4, 0, 43, 70, 27, 4, 2, 0, 3, 1, 18, 56, 5, 29, 0, 4, 0, 43, 71, 27, 4, 2, 0, 3, 1, 18, 57, 5, 29, 0, 4, 0, 43, 72, 27, 4, 2, 0, 3, 1, 18, 58, 5, 29, 0, 4, 0, 43, 73, 27, 4, 2, 0, 3, 1, 18, 59, 5, 29, 0, 4, 0, 43, 74, 27, 4, 2, 0, 3, 1, 18, 60, 5, 29, 0, 4, 0, 43, 75, 27, 4, 2, 0, 3, 1, 18, 61, 5, 29, 0, 4, 0, 43, 76, 27, 4, 2, 0, 3, 1, 18, 62, 5, 29, 0, 4, 0, 43, 77, 27, 4, 2, 0, 3, 1, 18, 63, 5, 29, 0, 4, 0, 43, 78, 27, 4, 2, 0, 3, 1, 18, 64, 5, 29, 0, 4, 0, 43, 79, 27, 4, 2, 0, 3, 1, 18, 65, 5, 29, 0, 4, 0, 43, 80, 27, 4, 2, 0, 3, 1, 18, 66, 5, 29, 0, 4, 0, 43, 81, 27, 4, 2, 0, 3, 1, 18, 67, 5, 29, 0, 4, 0, 43, 82, 27, 4, 2, 0, 3, 1, 18, 68, 5, 29, 0, 4, 0, 43, 83, 27, 4, 2, 0, 3, 1, 18, 69, 5, 29, 0, 4, 0, 43, 84, 27, 4, 2, 0, 3, 1, 18, 70, 5, 29, 0, 4, 0, 43, 85, 27, 4, 2, 0, 3, 1, 18, 71, 5, 29, 0, 4, 0, 43, 86, 27, 4, 2, 0, 3, 1, 18, 72, 5, 29, 0, 0, 0, 41, 87, -1, 1, 2, 0, 0, 49, 0, 89, 88, 73, 4, 2, 0, 3, 1, 18, 74, 5, 75, 0, 49, 0, 89, 90, 73, 4, 2, 0, 3, 1, 18, 76, 5, 75, 0, 49, 0, 89, 91, 73, 4, 2, 0, 3, 1, 18, 77, 5, 75, 0, 49, 0, 89, 92, 73, 4, 2, 0, 3, 1, 18, 78, 5, 75, 0, 0, 0, 89, 93, 79, 4, 2, 0, 3, 1, 18, 80, 5, 81, 0 </int_array> <string> "conns" </string> <int_array len="0"> </int_array> </dictionary> diff --git a/demos/3d/sat_test/engine.cfg b/demos/3d/sat_test/engine.cfg index cc215c83e8..82c688635d 100644 --- a/demos/3d/sat_test/engine.cfg +++ b/demos/3d/sat_test/engine.cfg @@ -2,3 +2,4 @@ name="SAT Collision Test" main_scene="res://sat_test.xml" +icon="res://icon.png" diff --git a/demos/3d/sat_test/icon.png b/demos/3d/sat_test/icon.png Binary files differnew file mode 100644 index 0000000000..194456e10f --- /dev/null +++ b/demos/3d/sat_test/icon.png diff --git a/demos/3d/shader_materials/shader_materials.scn b/demos/3d/shader_materials/shader_materials.scn Binary files differindex d6a3efe73f..243c6c8f06 100644 --- a/demos/3d/shader_materials/shader_materials.scn +++ b/demos/3d/shader_materials/shader_materials.scn diff --git a/demos/3d/truck_town/engine.cfg b/demos/3d/truck_town/engine.cfg index f47c0de4fa..b2a463e1e2 100644 --- a/demos/3d/truck_town/engine.cfg +++ b/demos/3d/truck_town/engine.cfg @@ -1,6 +1,8 @@ [application] +name="Truck Town" main_scene="res://car_select.scn" +icon="res://icon.png" [display] diff --git a/demos/3d/truck_town/icon.png b/demos/3d/truck_town/icon.png Binary files differnew file mode 100644 index 0000000000..7d7bd42116 --- /dev/null +++ b/demos/3d/truck_town/icon.png diff --git a/demos/gui/drag_and_drop/drag_and_drop.scn b/demos/gui/drag_and_drop/drag_and_drop.scn Binary files differnew file mode 100644 index 0000000000..94a25cc53e --- /dev/null +++ b/demos/gui/drag_and_drop/drag_and_drop.scn diff --git a/demos/gui/drag_and_drop/drag_drop_script.gd b/demos/gui/drag_and_drop/drag_drop_script.gd new file mode 100644 index 0000000000..21a737ce1a --- /dev/null +++ b/demos/gui/drag_and_drop/drag_drop_script.gd @@ -0,0 +1,24 @@ + +extends ColorPickerButton + + +#virtual function +func get_drag_data(pos): + + #use another colorpicker as drag preview + var cpb = ColorPickerButton.new() + cpb.set_color( get_color() ) + cpb.set_size(Vector2(50,50)) + set_drag_preview(cpb) + #return color as drag data + return get_color() + +#virtual function +func can_drop_data(pos, data): + return typeof(data)==TYPE_COLOR + +#virtual function +func drop_data(pos, data): + set_color(data) + + diff --git a/demos/gui/drag_and_drop/engine.cfg b/demos/gui/drag_and_drop/engine.cfg new file mode 100644 index 0000000000..49b9b93512 --- /dev/null +++ b/demos/gui/drag_and_drop/engine.cfg @@ -0,0 +1,5 @@ +[application] + +name="Drag & Drop (GUI)" +main_scene="res://drag_and_drop.scn" +icon="res://icon.png" diff --git a/demos/gui/drag_and_drop/icon.png b/demos/gui/drag_and_drop/icon.png Binary files differnew file mode 100644 index 0000000000..f900d8d4a3 --- /dev/null +++ b/demos/gui/drag_and_drop/icon.png diff --git a/demos/gui/input_mapping/controls.gd b/demos/gui/input_mapping/controls.gd new file mode 100644 index 0000000000..6ca059c812 --- /dev/null +++ b/demos/gui/input_mapping/controls.gd @@ -0,0 +1,49 @@ +# Note for the reader: +# +# This demo conveniently uses the same names for actions and for the container nodes +# that hold each remapping button. This allow to get back to the button based simply +# on the name of the corresponding action, but it might not be so simple in your project. +# +# A better approach for large-scale input remapping might be to do the connections between +# buttons and wait_for_input through the code, passing as arguments both the name of the +# action and the node, e.g.: +# button.connect("pressed", self, "wait_for_input", [ button, action ]) + +extends Control + +var player_actions = [ "move_up", "move_down", "move_left", "move_right", "jump" ] +var action # To register the action the UI is currently handling +var button # Button node corresponding to the above action + +func wait_for_input(action_bind): + action = action_bind + # See note at the beginning of the script + button = get_node("bindings").get_node(action).get_node("Button") + get_node("contextual_help").set_text("Press a key to assign to the '" + action + "' action.") + set_process_input(true) + +func _input(event): + # Handle the first pressed key + if (event.type == InputEvent.KEY): + # Register the event as handled and stop polling + get_tree().set_input_as_handled() + set_process_input(false) + # Reinitialise the contextual help label + get_node("contextual_help").set_text("Click a key binding to reassign it, or press the Cancel action.") + if (not event.is_action("ui_cancel")): + # Display the string corresponding to the pressed key + button.set_text(OS.get_scancode_string(event.scancode)) + # Start by removing previously key binding(s) + for old_event in InputMap.get_action_list(action): + InputMap.action_erase_event(action, old_event) + # Add the new key binding + InputMap.action_add_event(action, event) + +func _ready(): + # Initialise each button with the default key binding from InputMap + var input_event + for action in player_actions: + # We assume that the key binding that we want is the first one (0), if there are several + input_event = InputMap.get_action_list(action)[0] + # See note at the beginning of the script + get_node("bindings").get_node(action).get_node("Button").set_text(OS.get_scancode_string(input_event.scancode)) diff --git a/demos/gui/input_mapping/controls.scn b/demos/gui/input_mapping/controls.scn Binary files differnew file mode 100644 index 0000000000..276712ba22 --- /dev/null +++ b/demos/gui/input_mapping/controls.scn diff --git a/demos/gui/input_mapping/engine.cfg b/demos/gui/input_mapping/engine.cfg new file mode 100644 index 0000000000..811635ce25 --- /dev/null +++ b/demos/gui/input_mapping/engine.cfg @@ -0,0 +1,18 @@ +[application] + +name="Input Mapping GUI" +main_scene="res://controls.scn" +icon="res://icon.png" + +[display] + +width=640 +height=480 + +[input] + +move_up=[key(Up)] +move_down=[key(Down)] +move_left=[key(Left)] +move_right=[key(Right)] +jump=[key(Space)] diff --git a/demos/gui/input_mapping/icon.png b/demos/gui/input_mapping/icon.png Binary files differnew file mode 100644 index 0000000000..5a1abf4f58 --- /dev/null +++ b/demos/gui/input_mapping/icon.png diff --git a/demos/gui/rich_text_bbcode/OFL.txt b/demos/gui/rich_text_bbcode/OFL.txt new file mode 100644 index 0000000000..723d4560b9 --- /dev/null +++ b/demos/gui/rich_text_bbcode/OFL.txt @@ -0,0 +1,92 @@ +Copyright (c) 2009-2011 by Accademia di Belle Arti di Urbino and students of MA course of Visual design. Some rights reserved.
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/demos/gui/rich_text_bbcode/TitilliumWeb-Bold.ttf b/demos/gui/rich_text_bbcode/TitilliumWeb-Bold.ttf Binary files differnew file mode 100644 index 0000000000..0af0fe7d27 --- /dev/null +++ b/demos/gui/rich_text_bbcode/TitilliumWeb-Bold.ttf diff --git a/demos/gui/rich_text_bbcode/TitilliumWeb-BoldItalic.ttf b/demos/gui/rich_text_bbcode/TitilliumWeb-BoldItalic.ttf Binary files differnew file mode 100644 index 0000000000..77425eaab6 --- /dev/null +++ b/demos/gui/rich_text_bbcode/TitilliumWeb-BoldItalic.ttf diff --git a/demos/gui/rich_text_bbcode/TitilliumWeb-Italic.ttf b/demos/gui/rich_text_bbcode/TitilliumWeb-Italic.ttf Binary files differnew file mode 100644 index 0000000000..42f2c10f18 --- /dev/null +++ b/demos/gui/rich_text_bbcode/TitilliumWeb-Italic.ttf diff --git a/demos/gui/rich_text_bbcode/TitilliumWeb-Regular.ttf b/demos/gui/rich_text_bbcode/TitilliumWeb-Regular.ttf Binary files differnew file mode 100644 index 0000000000..6da821935d --- /dev/null +++ b/demos/gui/rich_text_bbcode/TitilliumWeb-Regular.ttf diff --git a/demos/gui/rich_text_bbcode/engine.cfg b/demos/gui/rich_text_bbcode/engine.cfg new file mode 100644 index 0000000000..5f68b6a0e6 --- /dev/null +++ b/demos/gui/rich_text_bbcode/engine.cfg @@ -0,0 +1,5 @@ +[application] + +name="Rich Text Label (BBCode)" +main_scene="res://rich_text_bbcode.scn" +icon="res://icon.png" diff --git a/demos/gui/rich_text_bbcode/icon.png b/demos/gui/rich_text_bbcode/icon.png Binary files differnew file mode 100644 index 0000000000..6db48a3a9b --- /dev/null +++ b/demos/gui/rich_text_bbcode/icon.png diff --git a/demos/gui/rich_text_bbcode/rich_text_bbcode.gd b/demos/gui/rich_text_bbcode/rich_text_bbcode.gd new file mode 100644 index 0000000000..30fac1f729 --- /dev/null +++ b/demos/gui/rich_text_bbcode/rich_text_bbcode.gd @@ -0,0 +1,17 @@ + +extends Panel + +# member variables here, example: +# var a=2 +# var b="textvar" + +func _ready(): + # Initialization here + pass + + + + +func _on_RichTextLabel_meta_clicked( meta ): + OS.shell_open(meta) + pass # replace with function body diff --git a/demos/gui/rich_text_bbcode/rich_text_bbcode.scn b/demos/gui/rich_text_bbcode/rich_text_bbcode.scn Binary files differnew file mode 100644 index 0000000000..ca02044bb8 --- /dev/null +++ b/demos/gui/rich_text_bbcode/rich_text_bbcode.scn diff --git a/demos/gui/rich_text_bbcode/titilium-bold.fnt b/demos/gui/rich_text_bbcode/titilium-bold.fnt Binary files differnew file mode 100644 index 0000000000..7920ca743d --- /dev/null +++ b/demos/gui/rich_text_bbcode/titilium-bold.fnt diff --git a/demos/gui/rich_text_bbcode/titilium-bolditalic.fnt b/demos/gui/rich_text_bbcode/titilium-bolditalic.fnt Binary files differnew file mode 100644 index 0000000000..cc2d650d08 --- /dev/null +++ b/demos/gui/rich_text_bbcode/titilium-bolditalic.fnt diff --git a/demos/gui/rich_text_bbcode/titilium-italic.fnt b/demos/gui/rich_text_bbcode/titilium-italic.fnt Binary files differnew file mode 100644 index 0000000000..f2e8edf2c2 --- /dev/null +++ b/demos/gui/rich_text_bbcode/titilium-italic.fnt diff --git a/demos/gui/rich_text_bbcode/titilium-regular.fnt b/demos/gui/rich_text_bbcode/titilium-regular.fnt Binary files differnew file mode 100644 index 0000000000..fc3b789e11 --- /dev/null +++ b/demos/gui/rich_text_bbcode/titilium-regular.fnt diff --git a/demos/gui/rich_text_bbcode/unicorn_icon.png b/demos/gui/rich_text_bbcode/unicorn_icon.png Binary files differnew file mode 100644 index 0000000000..a14517e12b --- /dev/null +++ b/demos/gui/rich_text_bbcode/unicorn_icon.png diff --git a/demos/gui/translation/controls.gd b/demos/gui/translation/controls.gd new file mode 100644 index 0000000000..f8403f49a7 --- /dev/null +++ b/demos/gui/translation/controls.gd @@ -0,0 +1,20 @@ + +extends Panel + +# member variables here, example: +# var a=2 +# var b="textvar" + +func _ready(): + # Initialization here + pass + + + + +func _on_back_pressed(): + var s = load("res://main.scn") + var si = s.instance() + get_parent().add_child(si) + queue_free() + pass # replace with function body diff --git a/demos/gui/translation/controls.scn b/demos/gui/translation/controls.scn Binary files differnew file mode 100644 index 0000000000..66e6d47702 --- /dev/null +++ b/demos/gui/translation/controls.scn diff --git a/demos/gui/translation/engine.cfg b/demos/gui/translation/engine.cfg new file mode 100644 index 0000000000..dcd3d1983d --- /dev/null +++ b/demos/gui/translation/engine.cfg @@ -0,0 +1,10 @@ +[application] + +name="Translation Demo" +main_scene="res://main.scn" +icon="res://icon.png" + +[locale] + +translations=["res://translations/text.en.xl", "res://translations/text.es.xl", "res://translations/text.ja.xl"] +translation_remaps={"res://flag_uk.png":["res://flag_spain.png:es", "res://flag_japan.png:ja"]} diff --git a/demos/gui/translation/flag_japan.png b/demos/gui/translation/flag_japan.png Binary files differnew file mode 100644 index 0000000000..4cc8267a5c --- /dev/null +++ b/demos/gui/translation/flag_japan.png diff --git a/demos/gui/translation/flag_spain.png b/demos/gui/translation/flag_spain.png Binary files differnew file mode 100644 index 0000000000..4d00f93593 --- /dev/null +++ b/demos/gui/translation/flag_spain.png diff --git a/demos/gui/translation/flag_uk.png b/demos/gui/translation/flag_uk.png Binary files differnew file mode 100644 index 0000000000..53fbef3d67 --- /dev/null +++ b/demos/gui/translation/flag_uk.png diff --git a/demos/gui/translation/icon.png b/demos/gui/translation/icon.png Binary files differnew file mode 100644 index 0000000000..4be5ac1127 --- /dev/null +++ b/demos/gui/translation/icon.png diff --git a/demos/gui/translation/main.gd b/demos/gui/translation/main.gd new file mode 100644 index 0000000000..bf3c0c0840 --- /dev/null +++ b/demos/gui/translation/main.gd @@ -0,0 +1,42 @@ + +extends Panel + +# member variables here, example: +# var a=2 +# var b="textvar" + +func _ready(): + # Initialization here + pass + + + +func _goto_scene(): + var s = load("res://controls.scn") + var si = s.instance() + get_parent().add_child(si) + queue_free() + pass + + +func _on_system_pressed(): + #will autodetect based on system, then fall back + #to english if not found + _goto_scene() + +#NOTE: Changling locale will not change the text in the controls, +# The scene must be reloaded for changes to take effect. + +func _on_english_pressed(): + TranslationServer.set_locale("en") + _goto_scene() + + +func _on_spanish_pressed(): + TranslationServer.set_locale("es") + _goto_scene() + + +func _on_japanese_pressed(): + TranslationServer.set_locale("ja") + _goto_scene() diff --git a/demos/gui/translation/main.scn b/demos/gui/translation/main.scn Binary files differnew file mode 100644 index 0000000000..76c9ba7b45 --- /dev/null +++ b/demos/gui/translation/main.scn diff --git a/demos/gui/translation/noto.fnt b/demos/gui/translation/noto.fnt Binary files differnew file mode 100644 index 0000000000..e019615f41 --- /dev/null +++ b/demos/gui/translation/noto.fnt diff --git a/demos/gui/translation/notosans.otf b/demos/gui/translation/notosans.otf Binary files differnew file mode 100644 index 0000000000..6443f9023e --- /dev/null +++ b/demos/gui/translation/notosans.otf diff --git a/demos/gui/translation/text.csv b/demos/gui/translation/text.csv new file mode 100644 index 0000000000..0f4c148b95 --- /dev/null +++ b/demos/gui/translation/text.csv @@ -0,0 +1,3 @@ +,en,es,ja +KEY_HELLO,Hello!,Hola!,こんにちは +KEY_PUSH,Push Me!,Aprétame!,私をプッシュ
\ No newline at end of file diff --git a/demos/gui/translation/translations/text.en.xl b/demos/gui/translation/translations/text.en.xl Binary files differnew file mode 100644 index 0000000000..7bcba63e71 --- /dev/null +++ b/demos/gui/translation/translations/text.en.xl diff --git a/demos/gui/translation/translations/text.es.xl b/demos/gui/translation/translations/text.es.xl Binary files differnew file mode 100644 index 0000000000..4474d955d5 --- /dev/null +++ b/demos/gui/translation/translations/text.es.xl diff --git a/demos/gui/translation/translations/text.ja.xl b/demos/gui/translation/translations/text.ja.xl Binary files differnew file mode 100644 index 0000000000..b3d1f0bf60 --- /dev/null +++ b/demos/gui/translation/translations/text.ja.xl diff --git a/demos/misc/autoload/global.gd b/demos/misc/autoload/global.gd index a0415c6ee0..d1bd45461f 100644 --- a/demos/misc/autoload/global.gd +++ b/demos/misc/autoload/global.gd @@ -4,20 +4,40 @@ extends Node var current_scene = null -func goto_scene(scene): - #load new scene - var s = ResourceLoader.load(scene) - #queue erasing old (don't use free because that scene is calling this method) - current_scene.queue_free() - #instance the new scene +func goto_scene(path): + + # This function will usually be called from a signal callback, + # or some other function from the running scene. + # Deleting the current scene at this point might be + # a bad idea, because it may be inside of a callback or function of it. + # The worst case will be a crash or unexpected behavior. + + # The way around this is deferring the load to a later time, when + # it is ensured that no code from the current scene is running: + + call_deferred("_deferred_goto_scene",path) + + +func _deferred_goto_scene(path): + + # Immediately free the current scene, + # there is no risk here. + current_scene.free() + + # Load new scene + var s = ResourceLoader.load(path) + + # Instance the new scene current_scene = s.instance() - #add it to the active scene, as child of root + + # Add it to the active scene, as child of root get_tree().get_root().add_child(current_scene) func _ready(): - # get the current scene + # Get the current scene, the first time. # it is always the last child of root, - # after the autoloaded nodes + # after the autoloaded nodes. + var root = get_tree().get_root() current_scene = root.get_child( root.get_child_count() -1 ) diff --git a/demos/misc/instancing/engine.cfg b/demos/misc/instancing/engine.cfg index 52a28a3fce..76b0c97721 100644 --- a/demos/misc/instancing/engine.cfg +++ b/demos/misc/instancing/engine.cfg @@ -2,6 +2,7 @@ name="Scene Instancing Demo" main_scene="res://container.scn" +icon="res://icon.png" [physics_2d] diff --git a/demos/misc/instancing/icon.png b/demos/misc/instancing/icon.png Binary files differnew file mode 100644 index 0000000000..79a4283de7 --- /dev/null +++ b/demos/misc/instancing/icon.png diff --git a/demos/misc/regex/engine.cfg b/demos/misc/regex/engine.cfg new file mode 100644 index 0000000000..ef5483e096 --- /dev/null +++ b/demos/misc/regex/engine.cfg @@ -0,0 +1,5 @@ +[application] + +name="RegEx" +main_scene="res://regex.scn" +icon="res://icon.png" diff --git a/demos/misc/regex/icon.png b/demos/misc/regex/icon.png Binary files differnew file mode 100644 index 0000000000..7a5232ec4b --- /dev/null +++ b/demos/misc/regex/icon.png diff --git a/demos/misc/regex/regex.gd b/demos/misc/regex/regex.gd new file mode 100644 index 0000000000..409b4cab05 --- /dev/null +++ b/demos/misc/regex/regex.gd @@ -0,0 +1,24 @@ +extends VBoxContainer + +var regex = RegEx.new() + +func update_expression(text): + regex.compile(text) + update_text() + +func update_text(): + var text = get_node("Text").get_text() + var list = get_node("List") + for child in list.get_children(): + child.queue_free() + if regex.is_valid(): + regex.find(text) + for res in regex.get_captures(): + var label = Label.new() + label.set_text(res) + list.add_child(label) + +func _ready(): + get_node("Text").set_text("They asked me \"What's going on \\\"in the manor\\\"?\"") + update_expression(get_node("Expression").get_text()) + diff --git a/demos/misc/regex/regex.scn b/demos/misc/regex/regex.scn Binary files differnew file mode 100644 index 0000000000..1f46521d0d --- /dev/null +++ b/demos/misc/regex/regex.scn diff --git a/demos/misc/scene_changer/engine.cfg b/demos/misc/scene_changer/engine.cfg new file mode 100644 index 0000000000..1ba1a41167 --- /dev/null +++ b/demos/misc/scene_changer/engine.cfg @@ -0,0 +1,4 @@ +[application] + +name="Scene Changer" +main_scene="res://scene_a.scn" diff --git a/demos/misc/scene_changer/scene_a.gd b/demos/misc/scene_changer/scene_a.gd new file mode 100644 index 0000000000..956878b0f7 --- /dev/null +++ b/demos/misc/scene_changer/scene_a.gd @@ -0,0 +1,17 @@ + +extends Panel + +# member variables here, example: +# var a=2 +# var b="textvar" + +func _ready(): + # Initalization here + pass + + + + +func _on_goto_scene_pressed(): + get_tree().change_scene("res://scene_b.scn") + pass # replace with function body diff --git a/demos/misc/scene_changer/scene_a.scn b/demos/misc/scene_changer/scene_a.scn Binary files differnew file mode 100644 index 0000000000..61727a57ba --- /dev/null +++ b/demos/misc/scene_changer/scene_a.scn diff --git a/demos/misc/scene_changer/scene_b.gd b/demos/misc/scene_changer/scene_b.gd new file mode 100644 index 0000000000..4f94d6bb8f --- /dev/null +++ b/demos/misc/scene_changer/scene_b.gd @@ -0,0 +1,17 @@ + +extends Panel + +# member variables here, example: +# var a=2 +# var b="textvar" + +func _ready(): + # Initalization here + pass + + + + +func _on_goto_scene_pressed(): + get_tree().change_scene("res://scene_a.scn") + pass # replace with function body diff --git a/demos/misc/scene_changer/scene_b.scn b/demos/misc/scene_changer/scene_b.scn Binary files differnew file mode 100644 index 0000000000..ae09eeff88 --- /dev/null +++ b/demos/misc/scene_changer/scene_b.scn diff --git a/demos/misc/tween/engine.cfg b/demos/misc/tween/engine.cfg index f97e540dbd..3d3d639964 100644 --- a/demos/misc/tween/engine.cfg +++ b/demos/misc/tween/engine.cfg @@ -2,7 +2,7 @@ name="Tween Demo" main_scene="res://main.xml" -icon="icon.png" +icon="res://icon.png" target_fps=60 [display] diff --git a/demos/misc/tween/icon.png b/demos/misc/tween/icon.png Binary files differindex 3e991fcc29..ed55c24140 100644 --- a/demos/misc/tween/icon.png +++ b/demos/misc/tween/icon.png diff --git a/demos/misc/tween/main.gd b/demos/misc/tween/main.gd index 364651c827..a0106a7682 100644 --- a/demos/misc/tween/main.gd +++ b/demos/misc/tween/main.gd @@ -112,8 +112,8 @@ func reset_tween(): tween.interpolate_property(sprite, "transform/rot", 360, 0, 2, state.trans, state.eases, 2) if get_node("modes/callback").is_pressed(): - tween.interpolate_callback(self, "on_callback", 0.5, "0.5 second's after") - tween.interpolate_callback(self, "on_callback", 1.2, "1.2 second's after") + tween.interpolate_callback(self, 0.5, "on_callback", "0.5 second's after") + tween.interpolate_callback(self, 0.2, "on_callback", "1.2 second's after") if get_node("modes/follow").is_pressed(): follow.show() diff --git a/demos/misc/window_management/control.gd b/demos/misc/window_management/control.gd new file mode 100644 index 0000000000..1609dda699 --- /dev/null +++ b/demos/misc/window_management/control.gd @@ -0,0 +1,185 @@ + +extends Control + +var mousepos + +func _fixed_process(delta): + + var modetext = "Mode:\n" + + if(OS.is_window_fullscreen()): + modetext += "Fullscreen\n" + else: + modetext += "Windowed\n" + + if(!OS.is_window_resizable()): + modetext += "FixedSize\n" + + if(OS.is_window_minimized()): + modetext += "Minimized\n" + + if(OS.is_window_maximized()): + modetext += "Maximized\n" + + if(Input.get_mouse_mode() == Input.MOUSE_MODE_CAPTURED): + modetext += "MouseGrab\n" + get_node("Label_MouseGrab_KeyInfo").show() + else: + get_node("Label_MouseGrab_KeyInfo").hide() + + get_node("Label_Mode").set_text(modetext) + + get_node("Label_Position").set_text( str("Position:\n", OS.get_window_position() ) ) + + get_node("Label_Size").set_text(str("Size:\n", OS.get_window_size() ) ) + + get_node("Label_MousePosition").set_text(str("Mouse Position:\n", mousepos ) ) + + get_node("Label_Screen_Count").set_text( str("Screen_Count:\n", OS.get_screen_count() ) ) + + get_node("Label_Screen_Current").set_text( str("Screen:\n", OS.get_current_screen() ) ) + + get_node("Label_Screen0_Resolution").set_text( str("Screen0 Resolution:\n", OS.get_screen_size() ) ) + + get_node("Label_Screen0_Position").set_text(str("Screen0 Position:\n",OS.get_screen_position() ) ) + + if(OS.get_screen_count() > 1): + get_node("Button_Screen0").show() + get_node("Button_Screen1").show() + get_node("Label_Screen1_Resolution").show() + get_node("Label_Screen1_Position").show() + get_node("Label_Screen1_Resolution").set_text( str("Screen1 Resolution:\n", OS.get_screen_size(1) ) ) + get_node("Label_Screen1_Position").set_text( str("Screen1 Position:\n", OS.get_screen_position(1) ) ) + else: + get_node("Button_Screen0").hide() + get_node("Button_Screen1").hide() + get_node("Label_Screen1_Resolution").hide() + get_node("Label_Screen1_Position").hide() + + get_node("Button_Fullscreen").set_pressed( OS.is_window_fullscreen() ) + get_node("Button_FixedSize").set_pressed( !OS.is_window_resizable() ) + get_node("Button_Minimized").set_pressed( OS.is_window_minimized() ) + get_node("Button_Maximized").set_pressed( OS.is_window_maximized() ) + get_node("Button_Mouse_Grab").set_pressed( Input.get_mouse_mode() == Input.MOUSE_MODE_CAPTURED ) + + +func check_wm_api(): + var s = "" + if( !OS.has_method("get_screen_count") ): + s += " - get_screen_count()\n" + + if( !OS.has_method("get_current_screen") ): + s += " - get_current_screen()\n" + + if( !OS.has_method("set_current_screen") ): + s += " - set_current_screen()\n" + + if( !OS.has_method("get_screen_position") ): + s += " - get_screen_position()\n" + + if( !OS.has_method("get_screen_size") ): + s += " - get_screen_size()\n" + + if( !OS.has_method("get_window_position") ): + s += " - get_window_position()\n" + + if( !OS.has_method("set_window_position") ): + s += " - set_window_position()\n" + + if( !OS.has_method("get_window_size") ): + s += " - get_window_size()\n" + + if( !OS.has_method("set_window_size") ): + s += " - set_window_size()\n" + + if( !OS.has_method("set_window_fullscreen") ): + s += " - set_window_fullscreen()\n" + + if( !OS.has_method("is_window_fullscreen") ): + s += " - is_window_fullscreen()\n" + + if( !OS.has_method("set_window_resizable") ): + s += " - set_window_resizable()\n" + + if( !OS.has_method("is_window_resizable") ): + s += " - is_window_resizable()\n" + + if( !OS.has_method("set_window_minimized") ): + s += " - set_window_minimized()\n" + + if( !OS.has_method("is_window_minimized") ): + s += " - is_window_minimized()\n" + + if( !OS.has_method("set_window_maximized") ): + s += " - set_window_maximized()\n" + + if( !OS.has_method("is_window_maximized") ): + s += " - is_window_maximized()\n" + + if( s.length() == 0 ): + return true + else: + var text = get_node("ImplementationDialog/Text").get_text() + get_node("ImplementationDialog/Text").set_text( text + s ) + get_node("ImplementationDialog").show() + return false + + +func _ready(): + if( check_wm_api() ): + set_fixed_process(true) + set_process_input(true) + + +func _input(ev): + if (ev.type==InputEvent.MOUSE_MOTION): + mousepos = ev.pos + + +func _on_Button_MoveTo_pressed(): + OS.set_window_position( Vector2(100,100) ) + + +func _on_Button_Resize_pressed(): + OS.set_window_size( Vector2(1024,768) ) + + +func _on_Button_Screen0_pressed(): + OS.set_current_screen(0) + + +func _on_Button_Screen1_pressed(): + OS.set_current_screen(1) + + +func _on_Button_Fullscreen_pressed(): + if(OS.is_window_fullscreen()): + OS.set_window_fullscreen(false) + else: + OS.set_window_fullscreen(true) + + +func _on_Button_FixedSize_pressed(): + if(OS.is_window_resizable()): + OS.set_window_resizable(false) + else: + OS.set_window_resizable(true) + + +func _on_Button_Minimized_pressed(): + if(OS.is_window_minimized()): + OS.set_window_minimized(false) + else: + OS.set_window_minimized(true) + + +func _on_Button_Maximized_pressed(): + if(OS.is_window_maximized()): + OS.set_window_maximized(false) + else: + OS.set_window_maximized(true) + + +func _on_Button_Mouse_Grab_pressed(): + var observer = get_node("../Observer") + observer.state = observer.STATE_GRAB diff --git a/demos/misc/window_management/engine.cfg b/demos/misc/window_management/engine.cfg new file mode 100644 index 0000000000..911d3fd4a1 --- /dev/null +++ b/demos/misc/window_management/engine.cfg @@ -0,0 +1,19 @@ +[application] + +name="Window Management" +main_scene="res://window_management.scn" +icon="res://icon.png" + +[display] + +fullscreen=false +resizable=true +width=800 +height=600 + +[input] + +move_forward=[key(W)] +move_backwards=[key(S)] +move_left=[key(A)] +move_right=[key(D)] diff --git a/demos/misc/window_management/icon.png b/demos/misc/window_management/icon.png Binary files differnew file mode 100644 index 0000000000..ec5c7891f9 --- /dev/null +++ b/demos/misc/window_management/icon.png diff --git a/demos/misc/window_management/observer/observer.gd b/demos/misc/window_management/observer/observer.gd new file mode 100644 index 0000000000..d27912a670 --- /dev/null +++ b/demos/misc/window_management/observer/observer.gd @@ -0,0 +1,79 @@ + +extends Spatial + +var r_pos = Vector2() +var state + +const STATE_MENU=0 +const STATE_GRAB=1 + +func direction(vector): + var v = get_node("Camera").get_global_transform().basis * vector + v = v.normalized() + + return v + + +func impulse(event, action): + if(event.is_action(action) && event.is_pressed() && !event.is_echo()): + return true + else: + return false + + +func _fixed_process(delta): + + if(state != STATE_GRAB): + return + + if(Input.get_mouse_mode() != Input.MOUSE_MODE_CAPTURED): + Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) + + var dir = Vector3() + var cam = get_global_transform() + var org = get_translation() + + if (Input.is_action_pressed("move_forward")): + dir += direction(Vector3(0,0,-1)) + if (Input.is_action_pressed("move_backwards")): + dir += direction(Vector3(0,0,1)) + if (Input.is_action_pressed("move_left")): + dir += direction(Vector3(-1,0,0)) + if (Input.is_action_pressed("move_right")): + dir += direction(Vector3(1,0,0)) + + dir = dir.normalized() + + move(dir * 10 * delta) + var d = delta * 0.1 + + var yaw = get_transform().rotated(Vector3(0,1,0), d * r_pos.x) + set_transform(yaw) + + var cam = get_node("Camera") + var pitch = cam.get_transform().rotated(Vector3(1,0,0), d * r_pos.y) + cam.set_transform(pitch) + + r_pos.x = 0.0 + r_pos.y = 0.0 + + +func _input( event ): + if(event.type == InputEvent.MOUSE_MOTION): + r_pos = event.relative_pos + + if(impulse(event, "ui_cancel")): + if(state == STATE_GRAB): + Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE) + state = STATE_MENU + else: + Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) + state = STATE_GRAB + + +func _ready(): + set_fixed_process(true) + set_process_input(true) + + state = STATE_MENU + diff --git a/demos/misc/window_management/observer/observer.scn b/demos/misc/window_management/observer/observer.scn Binary files differnew file mode 100644 index 0000000000..da29ad62b8 --- /dev/null +++ b/demos/misc/window_management/observer/observer.scn diff --git a/demos/misc/window_management/window_management.scn b/demos/misc/window_management/window_management.scn Binary files differnew file mode 100644 index 0000000000..8db43b6638 --- /dev/null +++ b/demos/misc/window_management/window_management.scn diff --git a/demos/viewport/3d_in_2d/engine.cfg b/demos/viewport/3d_in_2d/engine.cfg index cc893361b5..6d456d7bd4 100644 --- a/demos/viewport/3d_in_2d/engine.cfg +++ b/demos/viewport/3d_in_2d/engine.cfg @@ -2,3 +2,4 @@ name="3D in 2D" main_scene="res://main.scn" +icon="res://icon.png" diff --git a/demos/viewport/3d_in_2d/icon.png b/demos/viewport/3d_in_2d/icon.png Binary files differnew file mode 100644 index 0000000000..d8a332c18f --- /dev/null +++ b/demos/viewport/3d_in_2d/icon.png diff --git a/demos/viewport/gui_in_3d/engine.cfg b/demos/viewport/gui_in_3d/engine.cfg index 25a6636132..252e53ca33 100644 --- a/demos/viewport/gui_in_3d/engine.cfg +++ b/demos/viewport/gui_in_3d/engine.cfg @@ -2,3 +2,4 @@ name="GUI in 3D" main_scene="res://gui_3d.scn" +icon="res://icon.png" diff --git a/demos/viewport/gui_in_3d/gui_3d.gd b/demos/viewport/gui_in_3d/gui_3d.gd index 5309db9acb..c2a9df0069 100644 --- a/demos/viewport/gui_in_3d/gui_3d.gd +++ b/demos/viewport/gui_in_3d/gui_3d.gd @@ -7,38 +7,39 @@ extends Spatial var prev_pos=null -func _input(ev): - if (ev.type in [InputEvent.MOUSE_BUTTON,InputEvent.MOUSE_MOTION]): - var pos = ev.pos - var rfrom = get_node("camera").project_ray_origin(pos) - var rnorm = get_node("camera").project_ray_normal(pos) + +func _input( ev ): + #all other (non-mouse) events + if (not ev.type in [InputEvent.MOUSE_BUTTON,InputEvent.MOUSE_MOTION,InputEvent.SCREEN_DRAG,InputEvent.SCREEN_TOUCH]): + get_node("viewport").input(ev) - #simple collision test against aligned plane - #for game UIs of this kind consider more complex collision against plane - var p = Plane(Vector3(0,0,1),0).intersects_ray(rfrom,rnorm) - if (p==null): - return - - pos.x=(p.x+1.5)*100 - pos.y=(-p.y+0.75)*100 - ev.pos=pos - ev.global_pos=pos - if (prev_pos==null): - prev_pos=pos - if (ev.type==InputEvent.MOUSE_MOTION): - ev.relative_pos=pos-prev_pos + +#mouse events for area +func _on_area_input_event( camera, ev, click_pos, click_normal, shape_idx ): + + #use click pos (click in 3d space, convert to area space + var pos = get_node("area").get_global_transform().affine_inverse() * click_pos + #convert to 2D + pos = Vector2(pos.x,pos.y) + #convert to viewport coordinate system + pos.x=(pos.x+1.5)*100 + pos.y=(-pos.y+0.75)*100 + #set to event + ev.pos=pos + ev.global_pos=pos + if (prev_pos==null): prev_pos=pos + if (ev.type==InputEvent.MOUSE_MOTION): + ev.relative_pos=pos-prev_pos + prev_pos=pos get_node("viewport").input(ev) - - + func _ready(): # Initalization here - get_node("quad").get_material_override().set_texture(FixedMaterial.PARAM_DIFFUSE, get_node("viewport").get_render_target_texture() ) + get_node("area/quad").get_material_override().set_texture(FixedMaterial.PARAM_DIFFUSE, get_node("viewport").get_render_target_texture() ) set_process_input(true) - pass - diff --git a/demos/viewport/gui_in_3d/gui_3d.scn b/demos/viewport/gui_in_3d/gui_3d.scn Binary files differindex df8f7d6dc5..c69d4dc73f 100644 --- a/demos/viewport/gui_in_3d/gui_3d.scn +++ b/demos/viewport/gui_in_3d/gui_3d.scn diff --git a/demos/viewport/gui_in_3d/icon.png b/demos/viewport/gui_in_3d/icon.png Binary files differnew file mode 100644 index 0000000000..22bdd791bb --- /dev/null +++ b/demos/viewport/gui_in_3d/icon.png diff --git a/demos/viewport/screen_capture/engine.cfg b/demos/viewport/screen_capture/engine.cfg new file mode 100644 index 0000000000..a843242720 --- /dev/null +++ b/demos/viewport/screen_capture/engine.cfg @@ -0,0 +1,9 @@ +[application] + +name="Screen Capturing" +main_scene="res://screen_capture.scn" +icon="res://icon.png" + +[display] + +stretch_mode="2d" diff --git a/demos/viewport/screen_capture/icon.png b/demos/viewport/screen_capture/icon.png Binary files differnew file mode 100644 index 0000000000..a696824775 --- /dev/null +++ b/demos/viewport/screen_capture/icon.png diff --git a/demos/viewport/screen_capture/mountains.png b/demos/viewport/screen_capture/mountains.png Binary files differnew file mode 100644 index 0000000000..b8435bb1a8 --- /dev/null +++ b/demos/viewport/screen_capture/mountains.png diff --git a/demos/viewport/screen_capture/screen_capture.gd b/demos/viewport/screen_capture/screen_capture.gd new file mode 100644 index 0000000000..69f16fa498 --- /dev/null +++ b/demos/viewport/screen_capture/screen_capture.gd @@ -0,0 +1,27 @@ + +extends Control + +# member variables here, example: +# var a=2 +# var b="textvar" + +func _ready(): + # Initialization here + pass + + + + +func _on_button_pressed(): + get_viewport().queue_screen_capture() + #let two frames pass to make sure the screen was aptured + yield(get_tree(),"idle_frame") + yield(get_tree(),"idle_frame") + #retrieve the captured image + var img = get_viewport().get_screen_capture() + #create a texture for it + var tex = ImageTexture.new() + tex.create_from_image(img) + #set it to the capture node + get_node("capture").set_texture(tex) + pass # replace with function body diff --git a/demos/viewport/screen_capture/screen_capture.scn b/demos/viewport/screen_capture/screen_capture.scn Binary files differnew file mode 100644 index 0000000000..d204e3b67e --- /dev/null +++ b/demos/viewport/screen_capture/screen_capture.scn |