Bladeren bron

begun porting demos, platformer is working (mostly)

Juan Linietsky 8 jaren geleden
bovenliggende
commit
6ef185c192
100 gewijzigde bestanden met toevoegingen van 806 en 557 verwijderingen
  1. 112 52
      2d/platformer/bullet.tscn
  2. 1 1
      2d/platformer/coin.gd
  3. 143 74
      2d/platformer/coin.tscn
  4. 194 99
      2d/platformer/enemy.tscn
  5. 2 2
      2d/platformer/moving_platform.gd
  6. 11 25
      2d/platformer/moving_platform.tscn
  7. 6 8
      2d/platformer/one_way_platform.tscn
  8. 24 26
      2d/platformer/parallax_bg.tscn
  9. 8 8
      2d/platformer/player.gd
  10. 170 135
      2d/platformer/player.tscn
  11. 3 16
      2d/platformer/stage.tscn
  12. 29 13
      2d/platformer/tileset.tres
  13. 103 98
      2d/platformer/tileset_edit.tscn
  14. 0 0
      old/2d/area_input/box_area.png
  15. 0 0
      old/2d/area_input/circle_area.png
  16. 0 0
      old/2d/area_input/engine.cfg
  17. 0 0
      old/2d/area_input/icon.png
  18. 0 0
      old/2d/area_input/input.gd
  19. 0 0
      old/2d/area_input/input.tscn
  20. 0 0
      old/2d/dynamic_collision_shapes/ball.gd
  21. 0 0
      old/2d/dynamic_collision_shapes/ball.png
  22. 0 0
      old/2d/dynamic_collision_shapes/ball.tscn
  23. 0 0
      old/2d/dynamic_collision_shapes/box.png
  24. 0 0
      old/2d/dynamic_collision_shapes/circle.png
  25. 0 0
      old/2d/dynamic_collision_shapes/dynamic_colobjs.gd
  26. 0 0
      old/2d/dynamic_collision_shapes/dynamic_colobjs.tscn
  27. 0 0
      old/2d/dynamic_collision_shapes/engine.cfg
  28. 0 0
      old/2d/dynamic_collision_shapes/icon.png
  29. 0 0
      old/2d/dynamic_collision_shapes/poly.png
  30. 0 0
      old/2d/fog_of_war/engine.cfg
  31. 0 0
      old/2d/fog_of_war/floor.png
  32. 0 0
      old/2d/fog_of_war/fog.gd
  33. 0 0
      old/2d/fog_of_war/fog.png
  34. 0 0
      old/2d/fog_of_war/fog.tscn
  35. 0 0
      old/2d/fog_of_war/icon.png
  36. 0 0
      old/2d/fog_of_war/tileset.tres
  37. 0 0
      old/2d/fog_of_war/tileset_edit.tscn
  38. 0 0
      old/2d/fog_of_war/troll.gd
  39. 0 0
      old/2d/fog_of_war/troll.png
  40. 0 0
      old/2d/fog_of_war/troll.tscn
  41. 0 0
      old/2d/hdr/beach_cave.gd
  42. 0 0
      old/2d/hdr/beach_cave.tscn
  43. 0 0
      old/2d/hdr/engine.cfg
  44. 0 0
      old/2d/hdr/icon.png
  45. 0 0
      old/2d/hdr/ocean_beach.png
  46. 0 0
      old/2d/hdr/ocean_beach.png.flags
  47. 0 0
      old/2d/hdr/ocean_cave.png
  48. 0 0
      old/2d/hdr/ocean_cave.png.flags
  49. 0 0
      old/2d/hexamap/WWT-01.png
  50. 0 0
      old/2d/hexamap/WWT-02.png
  51. 0 0
      old/2d/hexamap/WWT-03.png
  52. 0 0
      old/2d/hexamap/WWT-04.png
  53. 0 0
      old/2d/hexamap/WWT-05.png
  54. 0 0
      old/2d/hexamap/WWT-06.png
  55. 0 0
      old/2d/hexamap/WWT-07.png
  56. 0 0
      old/2d/hexamap/WWT-08.png
  57. 0 0
      old/2d/hexamap/WWT-09.png
  58. 0 0
      old/2d/hexamap/WWT-10.png
  59. 0 0
      old/2d/hexamap/WWT-11.png
  60. 0 0
      old/2d/hexamap/WWT-12.png
  61. 0 0
      old/2d/hexamap/WWT-13.png
  62. 0 0
      old/2d/hexamap/WWT-14.png
  63. 0 0
      old/2d/hexamap/WWT-15.png
  64. 0 0
      old/2d/hexamap/WWT-16.png
  65. 0 0
      old/2d/hexamap/WWT-17.png
  66. 0 0
      old/2d/hexamap/WWT-18.png
  67. 0 0
      old/2d/hexamap/WWT-19.png
  68. 0 0
      old/2d/hexamap/WWT-20.png
  69. 0 0
      old/2d/hexamap/WWT-21.png
  70. 0 0
      old/2d/hexamap/WWT-22.png
  71. 0 0
      old/2d/hexamap/WWT-23.png
  72. 0 0
      old/2d/hexamap/WWT-24.png
  73. 0 0
      old/2d/hexamap/WWT-25.png
  74. 0 0
      old/2d/hexamap/WWT-26.png
  75. 0 0
      old/2d/hexamap/engine.cfg
  76. 0 0
      old/2d/hexamap/icon.png
  77. 0 0
      old/2d/hexamap/map.tscn
  78. 0 0
      old/2d/hexamap/tileset.tres
  79. 0 0
      old/2d/hexamap/tileset_edit.tscn
  80. 0 0
      old/2d/hexamap/troll.gd
  81. 0 0
      old/2d/hexamap/troll.png
  82. 0 0
      old/2d/hexamap/troll.tscn
  83. 0 0
      old/2d/isometric/dungeon.tscn
  84. 0 0
      old/2d/isometric/engine.cfg
  85. 0 0
      old/2d/isometric/icon.png
  86. 0 0
      old/2d/isometric/isotiles.png
  87. 0 0
      old/2d/isometric/tileset.tres
  88. 0 0
      old/2d/isometric/tileset_edit.tscn
  89. 0 0
      old/2d/isometric/troll.gd
  90. 0 0
      old/2d/isometric/troll.png
  91. 0 0
      old/2d/isometric/troll.tscn
  92. 0 0
      old/2d/isometric_light/character_shader.tres
  93. 0 0
      old/2d/isometric_light/column.tscn
  94. 0 0
      old/2d/isometric_light/cubio.gd
  95. 0 0
      old/2d/isometric_light/cubio.tscn
  96. 0 0
      old/2d/isometric_light/cubio/idle0001.png
  97. 0 0
      old/2d/isometric_light/cubio/idle0002.png
  98. 0 0
      old/2d/isometric_light/cubio/idle0003.png
  99. 0 0
      old/2d/isometric_light/cubio/idle0004.png
  100. 0 0
      old/2d/isometric_light/cubio/idle0005.png

+ 112 - 52
2d/platformer/bullet.tscn

@@ -1,4 +1,4 @@
-[gd_scene load_steps=6 format=1]
+[gd_scene load_steps=8 format=2]
 
 [ext_resource path="res://bullet.gd" type="Script" id=1]
 [ext_resource path="res://bullet.png" type="Texture" id=2]
@@ -8,40 +8,103 @@
 custom_solver_bias = 0.0
 radius = 10.0
 
-[sub_resource type="ColorRamp" id=2]
-
-offsets = FloatArray( 0, 1 )
-colors = ColorArray( 1, 1, 1, 1, 1, 0, 0, 0 )
-
-[sub_resource type="Animation" id=3]
+[sub_resource type="CanvasItemMaterial" id=2]
+
+blend_mode = 0
+light_mode = 0
+
+[sub_resource type="GradientTexture" id=3]
+
+width = 2048
+offsets = PoolFloatArray( 0, 1 )
+colors = PoolColorArray( 1, 1, 1, 1, 1, 1, 1, 0 )
+
+[sub_resource type="ParticlesMaterial" id=4]
+
+trail_divisor = 1
+emission_shape = 0
+flag_align_y = false
+flag_rotate_y = false
+flag_disable_z = true
+spread = 45.0
+flatness = 0.0
+gravity = Vector3( 0, 0, 0 )
+initial_velocity = 1.0
+initial_velocity_random = 0.0
+angular_velocity = 0.0
+angular_velocity_random = 0.0
+orbit_velocity = 0.0
+orbit_velocity_random = 0.0
+linear_accel = 0.0
+linear_accel_random = 0.0
+radial_accel = 0.0
+radial_accel_random = 0.0
+tangential_accel = 0.0
+tangential_accel_random = 0.0
+damping = 0.0
+damping_random = 0.0
+angle = 0.0
+angle_random = 0.0
+scale = 1.0
+scale_random = 0.0
+color_ramp = SubResource( 3 )
+hue_variation = 0.0
+hue_variation_random = 0.0
+anim_speed = 0.0
+anim_speed_random = 0.0
+anim_offset = 0.0
+anim_offset_random = 0.0
+anim_loop = false
+
+[sub_resource type="Animation" id=5]
 
 length = 1.5
 loop = false
 step = 0.0
-tracks/0/type = "value"
-tracks/0/path = NodePath("particles:config/emitting")
+tracks/0/type = "method"
+tracks/0/path = NodePath(".")
 tracks/0/interp = 1
+tracks/0/loop_wrap = true
 tracks/0/imported = false
-tracks/0/keys = { "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "update":1, "values":[ false ] }
+tracks/0/keys = {
+"times": PoolFloatArray( 1.31 ),
+"transitions": PoolFloatArray( 1 ),
+"values": [ {
+"args": [  ],
+"method": "queue_free"
+} ]
+}
 tracks/1/type = "value"
-tracks/1/path = NodePath("sprite:visibility/self_opacity")
+tracks/1/path = NodePath("sprite:self_modulate")
 tracks/1/interp = 1
+tracks/1/loop_wrap = true
 tracks/1/imported = false
-tracks/1/keys = { "times":FloatArray( 0, 1.00394 ), "transitions":FloatArray( 1, 1 ), "update":0, "values":[ 1.0, 0.0 ] }
-tracks/2/type = "method"
-tracks/2/path = NodePath(".")
+tracks/1/keys = {
+"times": PoolFloatArray( 0, 0.99 ),
+"transitions": PoolFloatArray( 1, 1 ),
+"update": 0,
+"values": [ Color( 1, 1, 1, 1 ), Color( 1, 1, 1, 0 ) ]
+}
+tracks/2/type = "value"
+tracks/2/path = NodePath("particles:emitting")
 tracks/2/interp = 1
+tracks/2/loop_wrap = true
 tracks/2/imported = false
-tracks/2/keys = { "times":FloatArray( 1.31 ), "transitions":FloatArray( 1 ), "values":[ { "args":[  ], "method":"queue_free" } ] }
+tracks/2/keys = {
+"times": PoolFloatArray( 0 ),
+"transitions": PoolFloatArray( 1 ),
+"update": 1,
+"values": [ false ]
+}
 
 [node name="bullet" type="RigidBody2D"]
 
-input/pickable = false
+input_pickable = false
 shapes/0/shape = SubResource( 1 )
-shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
+shapes/0/transform = Transform2D( 1, 0, 0, 1, 0, 0 )
 shapes/0/trigger = false
-collision/layers = 1
-collision/mask = 1
+collision_layer = 1
+collision_mask = 1
 mode = 0
 mass = 1.0
 friction = 1.0
@@ -53,40 +116,37 @@ contacts_reported = 3
 contact_monitor = true
 sleeping = false
 can_sleep = true
-velocity/linear = Vector2( 0, 0 )
-velocity/angular = 0.0
-damp_override/linear = -1.0
-damp_override/angular = -1.0
-script/script = ExtResource( 1 )
+linear_velocity = Vector2( 0, 0 )
+linear_damp = -1.0
+angular_velocity = 0.0
+angular_damp = -1.0
+script = ExtResource( 1 )
 
 [node name="particles" type="Particles2D" parent="."]
 
-visibility/opacity = 0.559322
-visibility/blend_mode = 1
-config/amount = 24
-config/lifetime = 0.1
-config/local_space = false
-config/texture = ExtResource( 2 )
-params/direction = 0.0
-params/spread = 10.0
-params/linear_velocity = 0.0
-params/spin_velocity = 0.0
-params/orbit_velocity = 0.0
-params/gravity_direction = 0.0
-params/gravity_strength = 0.0
-params/radial_accel = 0.0
-params/tangential_accel = 0.0
-params/damping = 0.0
-params/initial_angle = 0.0
-params/initial_size = 1.0
-params/final_size = 0.0
-params/hue_variation = 0.0
-params/anim_speed_scale = 1.0
-params/anim_initial_pos = 0.0
-color/color_ramp = SubResource( 2 )
+modulate = Color( 1, 1, 1, 0.244784 )
+material = SubResource( 2 )
+emitting = true
+amount = 50
+lifetime = 0.1
+preprocess = 0.0
+speed_scale = 1.0
+explosiveness = 0.0
+randomness = 0.0
+visibility_rect = Rect2( -100, -100, 200, 200 )
+local_coords = false
+fixed_fps = 0
+fract_delta = true
+draw_order = 0
+process_material = SubResource( 4 )
+texture = ExtResource( 2 )
+normal_map = null
+h_frames = 1
+v_frames = 1
 
 [node name="sprite" type="Sprite" parent="."]
 
+self_modulate = Color( 1, 1, 1, 0 )
 texture = ExtResource( 2 )
 
 [node name="CollisionShape2D" type="CollisionShape2D" parent="."]
@@ -104,16 +164,16 @@ autostart = true
 
 [node name="anim" type="AnimationPlayer" parent="."]
 
-playback/process_mode = 1
-playback/default_blend_time = 0.0
-root/root = NodePath("..")
-anims/shutdown = SubResource( 3 )
+playback_process_mode = 1
+playback_default_blend_time = 0.0
+root_node = NodePath("..")
+anims/shutdown = SubResource( 5 )
 playback/active = true
 playback/speed = 1.0
 blend_times = [  ]
 autoplay = ""
 
-[connection signal="body_enter" from="." to="." method="_on_bullet_body_enter"]
+[connection signal="body_entered" from="." to="." method="_on_bullet_body_enter"]
 
 [connection signal="timeout" from="Timer" to="." method="_on_Timer_timeout"]
 

+ 1 - 1
2d/platformer/coin.gd

@@ -5,7 +5,7 @@ var taken=false
 
 func _on_coin_body_enter( body ):
 	
-	if (not taken and body extends preload("res://player.gd")):
+	if (not taken and body is preload("res://player.gd")):
 		get_node("anim").play("taken")
 		taken=true
 		

+ 143 - 74
2d/platformer/coin.tscn

@@ -1,8 +1,8 @@
-[gd_scene load_steps=10 format=1]
+[gd_scene load_steps=11 format=2]
 
 [ext_resource path="res://coin.gd" type="Script" id=1]
 [ext_resource path="res://coin.png" type="Texture" id=2]
-[ext_resource path="res://sound_coin.wav" type="Sample" id=3]
+[ext_resource path="res://sound_coin.wav" type="AudioStream" id=3]
 [ext_resource path="res://bullet.png" type="Texture" id=4]
 
 [sub_resource type="CircleShape2D" id=1]
@@ -12,15 +12,21 @@ radius = 10.0
 
 [sub_resource type="Animation" id=2]
 
-resource/name = "spin"
+resource_name = "spin"
 length = 1.5
 loop = true
 step = 0.25
 tracks/0/type = "value"
 tracks/0/path = NodePath("sprite:frame")
 tracks/0/interp = 1
+tracks/0/loop_wrap = true
 tracks/0/imported = false
-tracks/0/keys = { "times":FloatArray( 0, 0.25, 0.5, 0.75, 1, 1.25, 1.5 ), "transitions":FloatArray( 1, 1, 1, 1, 1, 1, 1 ), "update":1, "values":[ 0, 1, 2, 3, 2, 1, 0 ] }
+tracks/0/keys = {
+"times": PoolFloatArray( 0, 0.25, 0.5, 0.75, 1, 1.25, 1.5 ),
+"transitions": PoolFloatArray( 1, 1, 1, 1, 1, 1, 1 ),
+"update": 1,
+"values": [ 0, 1, 2, 3, 2, 1, 0 ]
+}
 
 [sub_resource type="Animation" id=3]
 
@@ -30,54 +36,123 @@ step = 0.0
 tracks/0/type = "value"
 tracks/0/path = NodePath("sprite:frame")
 tracks/0/interp = 1
+tracks/0/loop_wrap = true
 tracks/0/imported = false
-tracks/0/keys = { "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "update":0, "values":[ 0 ] }
-tracks/1/type = "value"
-tracks/1/path = NodePath("sound:play/play")
+tracks/0/keys = {
+"times": PoolFloatArray( 0 ),
+"transitions": PoolFloatArray( 1 ),
+"update": 0,
+"values": [ 0 ]
+}
+tracks/1/type = "method"
+tracks/1/path = NodePath(".")
 tracks/1/interp = 1
+tracks/1/loop_wrap = true
 tracks/1/imported = false
-tracks/1/keys = { "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "update":1, "values":[ "coin" ] }
+tracks/1/keys = {
+"times": PoolFloatArray( 2.7 ),
+"transitions": PoolFloatArray( 1 ),
+"values": [ {
+"args": [  ],
+"method": "queue_free"
+} ]
+}
 tracks/2/type = "value"
-tracks/2/path = NodePath("particles:visibility/self_opacity")
+tracks/2/path = NodePath("particles:emitting")
 tracks/2/interp = 1
+tracks/2/loop_wrap = true
 tracks/2/imported = false
-tracks/2/keys = { "times":FloatArray( 0, 1.66 ), "transitions":FloatArray( 1, 1 ), "update":0, "values":[ 1.0, 0.0 ] }
+tracks/2/keys = {
+"times": PoolFloatArray( 0, 0.98 ),
+"transitions": PoolFloatArray( 1, 1 ),
+"update": 1,
+"values": [ true, false ]
+}
 tracks/3/type = "value"
-tracks/3/path = NodePath("sprite:visibility/self_opacity")
+tracks/3/path = NodePath("sprite:self_modulate")
 tracks/3/interp = 1
+tracks/3/loop_wrap = true
 tracks/3/imported = false
-tracks/3/keys = { "times":FloatArray( 0, 0.4 ), "transitions":FloatArray( 1, 1 ), "update":0, "values":[ 1.0, 0.0 ] }
+tracks/3/keys = {
+"times": PoolFloatArray( 0, 0.33 ),
+"transitions": PoolFloatArray( 1, 1 ),
+"update": 0,
+"values": [ Color( 1, 1, 1, 1 ), Color( 1, 1, 1, 0 ) ]
+}
 tracks/4/type = "value"
-tracks/4/path = NodePath("particles:config/emitting")
+tracks/4/path = NodePath("sound:playing")
 tracks/4/interp = 1
+tracks/4/loop_wrap = true
 tracks/4/imported = false
-tracks/4/keys = { "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "update":1, "values":[ true ] }
-tracks/5/type = "method"
-tracks/5/path = NodePath(".")
-tracks/5/interp = 1
-tracks/5/imported = false
-tracks/5/keys = { "times":FloatArray( 2.7 ), "transitions":FloatArray( 1 ), "values":[ { "args":[  ], "method":"queue_free" } ] }
-
-[sub_resource type="SampleLibrary" id=4]
-
-samples/coin = { "db":0.0, "pitch":1.0, "sample":ExtResource( 3 ) }
-
-[sub_resource type="ColorRamp" id=5]
-
-offsets = FloatArray( 0, 1 )
-colors = ColorArray( 1, 1, 1, 1, 0, 0, 0, 1 )
+tracks/4/keys = {
+"times": PoolFloatArray( 0.01 ),
+"transitions": PoolFloatArray( 1 ),
+"update": 1,
+"values": [ true ]
+}
+
+[sub_resource type="CanvasItemMaterial" id=4]
+
+blend_mode = 1
+light_mode = 0
+
+[sub_resource type="GradientTexture" id=5]
+
+width = 2048
+offsets = PoolFloatArray( 0, 0.338633, 0.578696, 0.991256, 1 )
+colors = PoolColorArray( 1, 1, 1, 1, 1, 1, 1, 0.515898, 1, 1, 1, 0.0155017, 1, 1, 1, 0.0068208, 1, 1, 1, 0 )
+
+[sub_resource type="ParticlesMaterial" id=6]
+
+trail_divisor = 1
+emission_shape = 1
+emission_sphere_radius = 10.0
+flag_align_y = false
+flag_rotate_y = false
+flag_disable_z = true
+spread = 45.0
+flatness = 0.0
+gravity = Vector3( 0, 90, 0 )
+initial_velocity = 121.98
+initial_velocity_random = 0.0
+angular_velocity = -2.49891e+38
+angular_velocity_random = 0.0
+orbit_velocity = 0.0
+orbit_velocity_random = 0.0
+linear_accel = 0.0
+linear_accel_random = 0.0
+radial_accel = 0.0
+radial_accel_random = 0.0
+tangential_accel = 0.0
+tangential_accel_random = 0.0
+damping = 0.0
+damping_random = 0.0
+angle = 0.0
+angle_random = 0.0
+scale = 0.2
+scale_random = 0.0
+color_ramp = SubResource( 5 )
+hue_variation = 0.0
+hue_variation_random = 0.0
+anim_speed = 0.0
+anim_speed_random = 0.0
+anim_offset = 0.0
+anim_offset_random = 0.0
+anim_loop = false
 
 [node name="coin" type="Area2D"]
 
-input/pickable = true
+input_pickable = true
 shapes/0/shape = SubResource( 1 )
-shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
+shapes/0/transform = Transform2D( 1, 0, 0, 1, 0, 0 )
 shapes/0/trigger = false
 gravity_vec = Vector2( 0, 1 )
 gravity = 98.0
 linear_damp = 0.1
 angular_damp = 1.0
-script/script = ExtResource( 1 )
+audio_bus_override = false
+audio_bus_name = "Master"
+script = ExtResource( 1 )
 
 [node name="sprite" type="Sprite" parent="."]
 
@@ -86,9 +161,9 @@ hframes = 4
 
 [node name="anim" type="AnimationPlayer" parent="."]
 
-playback/process_mode = 1
-playback/default_blend_time = 0.0
-root/root = NodePath("..")
+playback_process_mode = 1
+playback_default_blend_time = 0.0
+root_node = NodePath("..")
 anims/spin = SubResource( 2 )
 anims/taken = SubResource( 3 )
 playback/active = true
@@ -102,53 +177,47 @@ shape = SubResource( 1 )
 trigger = false
 _update_shape_index = -1
 
-[node name="sound" type="SamplePlayer2D" parent="."]
+[node name="sound" type="AudioStreamPlayer2D" parent="."]
 
-params/volume_db = 0.0
-params/pitch_scale = 1.0
-params/attenuation/min_distance = 1.0
-params/attenuation/max_distance = 2048.0
-params/attenuation/distance_exp = 1.0
-config/polyphony = 1
-config/samples = SubResource( 4 )
-config/pitch_random = 0.0
+stream = ExtResource( 3 )
+volume_db = 0.0
+autoplay = false
+max_distance = 2000.0
+attenuation = 1.0
+bus = "Master"
+area_mask = 1
 
 [node name="particles" type="Particles2D" parent="."]
 
-visibility/blend_mode = 1
-config/amount = 8
-config/lifetime = 0.4
-config/emitting = false
-config/half_extents = Vector2( 5, 5 )
-config/texture = ExtResource( 4 )
-params/direction = 0.0
-params/spread = 10.0
-params/linear_velocity = 0.0
-params/spin_velocity = 0.0
-params/orbit_velocity = 0.0
-params/gravity_direction = 0.0
-params/gravity_strength = 0.0
-params/radial_accel = 0.0
-params/tangential_accel = 0.0
-params/damping = 0.0
-params/initial_angle = 0.0
-params/initial_size = 0.2
-params/final_size = 0.2
-params/hue_variation = 0.0
-params/anim_speed_scale = 1.0
-params/anim_initial_pos = 0.0
-color/color_ramp = SubResource( 5 )
+material = SubResource( 4 )
+emitting = false
+amount = 8
+lifetime = 2.0
+preprocess = 0.0
+speed_scale = 1.0
+explosiveness = 1.0
+randomness = 0.0
+visibility_rect = Rect2( -100, -100, 200, 200 )
+local_coords = true
+fixed_fps = 0
+fract_delta = true
+draw_order = 65793
+process_material = SubResource( 6 )
+texture = ExtResource( 4 )
+normal_map = null
+h_frames = 1
+v_frames = 1
 
 [node name="enabler" type="VisibilityEnabler2D" parent="."]
 
 rect = Rect2( -10, -10, 20, 20 )
-enabler/pause_animations = true
-enabler/freeze_bodies = true
-enabler/pause_particles = true
-enabler/pause_animated_sprites = true
-enabler/process_parent = false
-enabler/fixed_process_parent = false
-
-[connection signal="body_enter" from="." to="." method="_on_coin_body_enter"]
+pause_animations = true
+freeze_bodies = true
+pause_particles = false
+pause_animated_sprites = true
+process_parent = false
+fixed_process_parent = false
+
+[connection signal="body_entered" from="." to="." method="_on_coin_body_enter"]
 
 

+ 194 - 99
2d/platformer/enemy.tscn

@@ -1,10 +1,10 @@
-[gd_scene load_steps=12 format=1]
+[gd_scene load_steps=12 format=2]
 
 [ext_resource path="res://enemy.gd" type="Script" id=1]
 [ext_resource path="res://enemy.png" type="Texture" id=2]
 [ext_resource path="res://bullet.png" type="Texture" id=3]
-[ext_resource path="res://sound_explode.wav" type="Sample" id=4]
-[ext_resource path="res://sound_hit.wav" type="Sample" id=5]
+[ext_resource path="res://sound_hit.wav" type="AudioStream" id=4]
+[ext_resource path="res://sound_explode.wav" type="AudioStream" id=5]
 
 [sub_resource type="CapsuleShape2D" id=1]
 
@@ -14,40 +14,89 @@ height = 14.2002
 
 [sub_resource type="Animation" id=2]
 
-resource/name = "explode"
-length = 2.0
+resource_name = "explode"
+length = 3.0
 loop = false
 step = 0.0
 tracks/0/type = "value"
-tracks/0/path = NodePath("sprite:visibility/self_opacity")
+tracks/0/path = NodePath("sprite:frame")
 tracks/0/interp = 1
+tracks/0/loop_wrap = true
 tracks/0/imported = false
-tracks/0/keys = { "times":FloatArray( 0.99422, 1.12851 ), "transitions":FloatArray( 1, 1 ), "update":0, "values":[ 1.0, 0.0 ] }
-tracks/1/type = "value"
-tracks/1/path = NodePath("sprite:frame")
+tracks/0/keys = {
+"times": PoolFloatArray( 0 ),
+"transitions": PoolFloatArray( 1 ),
+"update": 0,
+"values": [ 4 ]
+}
+tracks/1/type = "method"
+tracks/1/path = NodePath(".")
 tracks/1/interp = 1
+tracks/1/loop_wrap = true
 tracks/1/imported = false
-tracks/1/keys = { "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "update":0, "values":[ 4 ] }
+tracks/1/keys = {
+"times": PoolFloatArray( 2.76305 ),
+"transitions": PoolFloatArray( 1 ),
+"values": [ {
+"args": [  ],
+"method": "queue_free"
+} ]
+}
 tracks/2/type = "value"
-tracks/2/path = NodePath("Particles2D:config/emitting")
+tracks/2/path = NodePath("sprite:rotation_deg")
 tracks/2/interp = 1
+tracks/2/loop_wrap = true
 tracks/2/imported = false
-tracks/2/keys = { "times":FloatArray( 1.19394 ), "transitions":FloatArray( 1 ), "update":1, "values":[ true ] }
-tracks/3/type = "method"
-tracks/3/path = NodePath(".")
+tracks/2/keys = {
+"times": PoolFloatArray( 0, 0.99 ),
+"transitions": PoolFloatArray( 1, 1 ),
+"update": 0,
+"values": [ 0.0, 360.0 ]
+}
+tracks/3/type = "value"
+tracks/3/path = NodePath("sprite:self_modulate")
 tracks/3/interp = 1
+tracks/3/loop_wrap = true
 tracks/3/imported = false
-tracks/3/keys = { "times":FloatArray( 2.01305 ), "transitions":FloatArray( 1 ), "values":[ { "args":[  ], "method":"queue_free" } ] }
+tracks/3/keys = {
+"times": PoolFloatArray( 0, 0.98, 1.2 ),
+"transitions": PoolFloatArray( 1, 1, 1 ),
+"update": 0,
+"values": [ Color( 1, 1, 1, 1 ), Color( 1, 1, 1, 1 ), Color( 1, 1, 1, 0 ) ]
+}
 tracks/4/type = "value"
-tracks/4/path = NodePath("sprite:transform/rot")
+tracks/4/path = NodePath("sound_hit:playing")
 tracks/4/interp = 1
+tracks/4/loop_wrap = true
 tracks/4/imported = false
-tracks/4/keys = { "times":FloatArray( 0, 0.99 ), "transitions":FloatArray( 1, 1 ), "update":0, "values":[ 0.0, 360.0 ] }
+tracks/4/keys = {
+"times": PoolFloatArray( 0.00999999 ),
+"transitions": PoolFloatArray( 1 ),
+"update": 1,
+"values": [ true ]
+}
 tracks/5/type = "value"
-tracks/5/path = NodePath("sound:play/play")
+tracks/5/path = NodePath("sound_explode:playing")
 tracks/5/interp = 1
+tracks/5/loop_wrap = true
 tracks/5/imported = false
-tracks/5/keys = { "times":FloatArray( 1.2 ), "transitions":FloatArray( 1 ), "update":2, "values":[ "explode" ] }
+tracks/5/keys = {
+"times": PoolFloatArray( 0.99 ),
+"transitions": PoolFloatArray( 1 ),
+"update": 1,
+"values": [ true ]
+}
+tracks/6/type = "value"
+tracks/6/path = NodePath("explosion:emitting")
+tracks/6/interp = 1
+tracks/6/loop_wrap = true
+tracks/6/imported = false
+tracks/6/keys = {
+"times": PoolFloatArray( 0, 0.98 ),
+"transitions": PoolFloatArray( 1, 1 ),
+"update": 1,
+"values": [ false, true ]
+}
 
 [sub_resource type="Animation" id=3]
 
@@ -57,59 +106,105 @@ step = 0.25
 tracks/0/type = "value"
 tracks/0/path = NodePath("sprite:frame")
 tracks/0/interp = 1
+tracks/0/loop_wrap = true
 tracks/0/imported = false
-tracks/0/keys = { "times":FloatArray( 0, 0.75, 1.5, 2.25, 3, 3.75, 4.5, 5.25, 6, 6.75 ), "transitions":FloatArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ), "update":1, "values":[ 5, 6, 5, 6, 5, 6, 7, 6, 7, 5 ] }
+tracks/0/keys = {
+"times": PoolFloatArray( 0, 0.75, 1.5, 2.25, 3, 3.75, 4.5, 5.25, 6, 6.75 ),
+"transitions": PoolFloatArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ),
+"update": 1,
+"values": [ 5, 6, 5, 6, 5, 6, 7, 6, 7, 5 ]
+}
 
 [sub_resource type="Animation" id=4]
 
-resource/name = "walk"
+resource_name = "walk"
 length = 1.25
 loop = true
 step = 0.25
 tracks/0/type = "value"
 tracks/0/path = NodePath("sprite:frame")
 tracks/0/interp = 1
+tracks/0/loop_wrap = true
 tracks/0/imported = false
-tracks/0/keys = { "times":FloatArray( 0, 0.25, 0.5, 0.75, 1, 1.25 ), "transitions":FloatArray( 1, 1, 1, 1, 1, 1 ), "update":1, "values":[ 0, 1, 2, 3, 4, 0 ] }
-
-[sub_resource type="ColorRamp" id=5]
-
-offsets = FloatArray( 0, 1 )
-colors = ColorArray( 1, 0.884956, 0.823009, 1, 0.768627, 0.389381, 0, 0 )
-
-[sub_resource type="SampleLibrary" id=6]
-
-samples/explode = { "db":0.0, "pitch":1.0, "sample":ExtResource( 4 ) }
-samples/hit = { "db":0.0, "pitch":1.0, "sample":ExtResource( 5 ) }
+tracks/0/keys = {
+"times": PoolFloatArray( 0, 0.25, 0.5, 0.75, 1, 1.25 ),
+"transitions": PoolFloatArray( 1, 1, 1, 1, 1, 1 ),
+"update": 1,
+"values": [ 0, 1, 2, 3, 4, 0 ]
+}
+
+[sub_resource type="GradientTexture" id=5]
+
+width = 2048
+offsets = PoolFloatArray( 0, 1 )
+colors = PoolColorArray( 1, 1, 1, 1, 1, 1, 1, 0 )
+
+[sub_resource type="ParticlesMaterial" id=6]
+
+trail_divisor = 1
+emission_shape = 1
+emission_sphere_radius = 20.0
+flag_align_y = false
+flag_rotate_y = false
+flag_disable_z = true
+spread = 45.0
+flatness = 0.0
+gravity = Vector3( 0, 0, 0 )
+initial_velocity = 1.0
+initial_velocity_random = 0.0
+angular_velocity = 0.0
+angular_velocity_random = 0.0
+orbit_velocity = 0.0
+orbit_velocity_random = 0.0
+linear_accel = 0.0
+linear_accel_random = 0.0
+radial_accel = 0.0
+radial_accel_random = 0.0
+tangential_accel = 0.0
+tangential_accel_random = 0.0
+damping = 0.0
+damping_random = 0.0
+angle = 0.0
+angle_random = 0.0
+scale = 2.0
+scale_random = 0.0
+color_ramp = SubResource( 5 )
+hue_variation = 0.0
+hue_variation_random = 0.0
+anim_speed = 0.0
+anim_speed_random = 0.0
+anim_offset = 0.0
+anim_offset_random = 0.0
+anim_loop = false
 
 [node name="enemy" type="KinematicBody2D"]
 
-input/pickable = false
+input_pickable = false
 shapes/0/shape = SubResource( 1 )
-shapes/0/transform = Matrix32( -4.37114e-08, -1, 1, -4.37114e-08, -0.00525069, -0.727495 )
+shapes/0/transform = Transform2D( -4.37114e-08, -1, 1, -4.37114e-08, -0.00525069, -0.727495 )
 shapes/0/trigger = false
-collision/layers = 1
-collision/mask = 1
+collision_layer = 1
+collision_mask = 1
 collision/margin = 0.08
-script/script = ExtResource( 1 )
+script = ExtResource( 1 )
 
 [node name="enabler" type="VisibilityEnabler2D" parent="."]
 
-transform/pos = Vector2( 16.2569, 11.0034 )
-transform/scale = Vector2( 23.5056, 10.8629 )
+position = Vector2( 16.2569, 11.0034 )
+scale = Vector2( 23.5056, 10.8629 )
 rect = Rect2( -10, -10, 20, 20 )
-enabler/pause_animations = true
-enabler/freeze_bodies = true
-enabler/pause_particles = true
-enabler/pause_animated_sprites = true
-enabler/process_parent = false
-enabler/fixed_process_parent = false
+pause_animations = true
+freeze_bodies = true
+pause_particles = false
+pause_animated_sprites = true
+process_parent = false
+fixed_process_parent = false
 
 [node name="anim" type="AnimationPlayer" parent="."]
 
-playback/process_mode = 1
-playback/default_blend_time = 0.0
-root/root = NodePath("..")
+playback_process_mode = 1
+playback_default_blend_time = 0.0
+root_node = NodePath("..")
 anims/explode = SubResource( 2 )
 anims/idle = SubResource( 3 )
 anims/walk = SubResource( 4 )
@@ -127,88 +222,88 @@ frame = 4
 
 [node name="CollisionShape2D" type="CollisionShape2D" parent="."]
 
-transform/pos = Vector2( -0.00525069, -0.727495 )
-transform/rot = 90.0
+position = Vector2( -0.00525069, -0.727495 )
+rotation = -1.5708
 shape = SubResource( 1 )
 trigger = false
 _update_shape_index = 0
 
 [node name="detect_floor_left" type="RayCast2D" parent="."]
 
-transform/pos = Vector2( -33.2868, -9.34363 )
+position = Vector2( -33.2868, -9.34363 )
 enabled = true
 exclude_parent = true
 cast_to = Vector2( 0, 45 )
-layer_mask = 1
+collision_layer = 1
 type_mask = 15
 
 [node name="detect_wall_left" type="RayCast2D" parent="."]
 
-transform/pos = Vector2( -12.1361, -0.739977 )
-transform/rot = -90.0
+position = Vector2( -12.1361, -0.739977 )
+rotation = 1.5708
 enabled = true
 exclude_parent = true
 cast_to = Vector2( 0, 20 )
-layer_mask = 1
+collision_layer = 1
 type_mask = 15
 
 [node name="detect_wall_right" type="RayCast2D" parent="."]
 
-transform/pos = Vector2( 3.2788, -0.381488 )
-transform/rot = 90.0
+position = Vector2( 3.2788, -0.381488 )
+rotation = -1.5708
 enabled = true
 exclude_parent = true
 cast_to = Vector2( 0, 20 )
-layer_mask = 1
+collision_layer = 1
 type_mask = 15
 
 [node name="detect_floor_right" type="RayCast2D" parent="."]
 
-transform/pos = Vector2( 29.1987, -9.34363 )
+position = Vector2( 29.1987, -9.34363 )
 enabled = true
 exclude_parent = true
 cast_to = Vector2( 0, 45 )
-layer_mask = 1
+collision_layer = 1
 type_mask = 15
 
-[node name="Particles2D" type="Particles2D" parent="."]
-
-visibility/self_opacity = 0.121212
-visibility/blend_mode = 1
-config/amount = 32
-config/lifetime = 0.5
-config/emit_timeout = 0.5
-config/emitting = false
-config/explosiveness = 0.1
-config/texture = ExtResource( 3 )
-params/direction = 0.0
-params/spread = 180.0
-params/linear_velocity = 90.0
-params/spin_velocity = 2.0
-params/orbit_velocity = 0.0
-params/gravity_direction = 0.0
-params/gravity_strength = 9.8
-params/radial_accel = 0.0
-params/tangential_accel = 0.0
-params/damping = 0.0
-params/initial_angle = 0.0
-params/initial_size = 2.0
-params/final_size = 3.0
-params/hue_variation = 0.0
-params/anim_speed_scale = 1.0
-params/anim_initial_pos = 0.0
-randomness/spin_velocity = 1.0
-color/color_ramp = SubResource( 5 )
-
-[node name="sound" type="SamplePlayer2D" parent="."]
-
-params/volume_db = 0.0
-params/pitch_scale = 1.0
-params/attenuation/min_distance = 1.0
-params/attenuation/max_distance = 2048.0
-params/attenuation/distance_exp = 1.0
-config/polyphony = 3
-config/samples = SubResource( 6 )
-config/pitch_random = 0.0
+[node name="explosion" type="Particles2D" parent="."]
+
+emitting = false
+amount = 8
+lifetime = 1.0
+preprocess = 0.0
+speed_scale = 1.0
+explosiveness = 0.8
+randomness = 0.0
+visibility_rect = Rect2( -100, -100, 200, 200 )
+local_coords = true
+fixed_fps = 0
+fract_delta = true
+draw_order = 215832976
+process_material = SubResource( 6 )
+texture = ExtResource( 3 )
+normal_map = null
+h_frames = 1
+v_frames = 1
+
+[node name="sound_hit" type="AudioStreamPlayer2D" parent="."]
+
+stream = ExtResource( 4 )
+volume_db = 0.0
+autoplay = false
+max_distance = 2000.0
+attenuation = 1.0
+bus = "Master"
+area_mask = 1
+
+[node name="sound_explode" type="AudioStreamPlayer2D" parent="."]
+
+stream = ExtResource( 5 )
+volume_db = 0.0
+autoplay = false
+max_distance = 2000.0
+attenuation = 1.0
+bus = "Master"
+area_mask = 1
 
 

+ 2 - 2
2d/platformer/moving_platform.gd

@@ -11,9 +11,9 @@ func _fixed_process(delta):
 	accum += delta*(1.0/cycle)*PI*2.0
 	accum = fmod(accum, PI*2.0)
 	var d = sin(accum)
-	var xf = Matrix32()
+	var xf = Transform2D()
 	xf[2]= motion*d 
-	get_node("platform").set_transform(xf)
+	get_node("platform").transform=xf
 
 
 func _ready():

+ 11 - 25
2d/platformer/moving_platform.tscn

@@ -1,4 +1,4 @@
-[gd_scene load_steps=4 format=1]
+[gd_scene load_steps=4 format=2]
 
 [ext_resource path="res://moving_platform.gd" type="Script" id=1]
 [ext_resource path="res://moving_platform.png" type="Texture" id=2]
@@ -6,37 +6,23 @@
 [sub_resource type="ConvexPolygonShape2D" id=1]
 
 custom_solver_bias = 0.0
-points = Vector2Array( -88, 24, -88, -24, 88, -24, 88, 24 )
+points = PoolVector2Array( -88, -24, 88, -24, 88, 24, -88, 24 )
 
 [node name="moving_platform" type="Node2D"]
 
-script/script = ExtResource( 1 )
+script = ExtResource( 1 )
 motion = Vector2( 0, 0 )
 cycle = 1.0
 
-[node name="platform" type="RigidBody2D" parent="."]
+[node name="platform" type="KinematicBody2D" parent="."]
 
-input/pickable = false
+input_pickable = false
 shapes/0/shape = SubResource( 1 )
-shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
+shapes/0/transform = Transform2D( 1, 0, 0, 1, 0, 0 )
 shapes/0/trigger = false
-collision/layers = 1
-collision/mask = 1
-mode = 3
-mass = 1.0
-friction = 1.0
-bounce = 0.0
-gravity_scale = 1.0
-custom_integrator = false
-continuous_cd = 0
-contacts_reported = 0
-contact_monitor = false
-sleeping = false
-can_sleep = true
-velocity/linear = Vector2( 0, 0 )
-velocity/angular = 0.0
-damp_override/linear = -1.0
-damp_override/angular = -1.0
+collision_layer = 1
+collision_mask = 1
+collision/margin = 0.08
 
 [node name="Sprite" type="Sprite" parent="platform"]
 
@@ -45,8 +31,8 @@ texture = ExtResource( 2 )
 [node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="platform"]
 
 build_mode = 0
-polygon = Vector2Array( -88, -24, 88, -24, 88, 24, -88, 24 )
-shape_range = Vector2( -1, -1 )
+polygon = PoolVector2Array( -88, -24, 88, -24, 88, 24, -88, 24 )
+shape_range = Vector2( 0, 0 )
 trigger = false
 
 

+ 6 - 8
2d/platformer/one_way_platform.tscn

@@ -1,4 +1,4 @@
-[gd_scene load_steps=3 format=1]
+[gd_scene load_steps=4 format=2]
 
 [ext_resource path="res://one_way_platform.png" type="Texture" id=1]
 
@@ -9,12 +9,12 @@ extents = Vector2( 100, 10 )
 
 [node name="one_way_platform" type="StaticBody2D"]
 
-input/pickable = false
+input_pickable = false
 shapes/0/shape = SubResource( 1 )
-shapes/0/transform = Matrix32( 1, 0, 0, 1, 1.46304, -13.1672 )
+shapes/0/transform = Transform2D( 1, 0, 0, 1, 1.46304, -13.1672 )
 shapes/0/trigger = false
-collision/layers = 1
-collision/mask = 1
+collision_layer = 1
+collision_mask = 1
 one_way_collision/direction = Vector2( 0, 1 )
 one_way_collision/max_depth = 20.0
 constant_linear_velocity = Vector2( 0, 0 )
@@ -28,9 +28,7 @@ texture = ExtResource( 1 )
 
 [node name="CollisionShape2D" type="CollisionShape2D" parent="."]
 
-transform/pos = Vector2( 1.46304, -13.1672 )
+position = Vector2( 1.46304, -13.1672 )
 shape = SubResource( 1 )
 trigger = false
 _update_shape_index = -1
-
-

+ 24 - 26
2d/platformer/parallax_bg.tscn

@@ -1,4 +1,4 @@
-[gd_scene load_steps=7 format=1]
+[gd_scene load_steps=14 format=2]
 
 [ext_resource path="res://scroll_bg_sky.png" type="Texture" id=1]
 [ext_resource path="res://scroll_bg_cloud_1.png" type="Texture" id=2]
@@ -13,73 +13,73 @@ layer = -1
 offset = Vector2( 0, 0 )
 rotation = 0.0
 scale = Vector2( 1, 1 )
-scroll/offset = Vector2( 0, 0 )
-scroll/base_offset = Vector2( 0, 0 )
-scroll/base_scale = Vector2( 0.7, 0 )
-scroll/limit_begin = Vector2( 0, 0 )
-scroll/limit_end = Vector2( 0, 0 )
-scroll/ignore_camera_zoom = false
+scroll_offset = Vector2( 0, 0 )
+scroll_base_offset = Vector2( 0, 0 )
+scroll_base_scale = Vector2( 0.7, 0 )
+scroll_limit_begin = Vector2( 0, 0 )
+scroll_limit_end = Vector2( 0, 0 )
+scroll_ignore_camera_zoom = false
 
 [node name="sky" type="ParallaxLayer" parent="."]
 
-motion/scale = Vector2( 1, 1 )
-motion/mirroring = Vector2( 800, 0 )
+motion_scale = Vector2( 1, 1 )
+motion_mirroring = Vector2( 800, 0 )
 
 [node name="Sprite" type="Sprite" parent="sky"]
 
-transform/scale = Vector2( 32, 0.94 )
+scale = Vector2( 32, 0.94 )
 texture = ExtResource( 1 )
 centered = false
 
 [node name="clouds" type="ParallaxLayer" parent="."]
 
-motion/scale = Vector2( 0.1, 1 )
-motion/mirroring = Vector2( 800, 0 )
+motion_scale = Vector2( 0.1, 1 )
+motion_mirroring = Vector2( 800, 0 )
 
 [node name="Sprite" type="Sprite" parent="clouds"]
 
-transform/pos = Vector2( 28, 127 )
+position = Vector2( 28, 127 )
 texture = ExtResource( 2 )
 centered = false
 
 [node name="Sprite 2" type="Sprite" parent="clouds"]
 
-transform/pos = Vector2( 404, 24 )
+position = Vector2( 404, 24 )
 texture = ExtResource( 2 )
 centered = false
 
 [node name="Sprite 3" type="Sprite" parent="clouds"]
 
-transform/pos = Vector2( 154, 46 )
+position = Vector2( 154, 46 )
 texture = ExtResource( 3 )
 centered = false
 
 [node name="Sprite 4" type="Sprite" parent="clouds"]
 
-transform/pos = Vector2( 525, 130 )
+position = Vector2( 525, 130 )
 texture = ExtResource( 3 )
 centered = false
 
 [node name="Sprite 5" type="Sprite" parent="clouds"]
 
-transform/pos = Vector2( 255, 158 )
+position = Vector2( 255, 158 )
 texture = ExtResource( 4 )
 centered = false
 
 [node name="Sprite 6" type="Sprite" parent="clouds"]
 
-transform/pos = Vector2( 674, 70 )
+position = Vector2( 674, 70 )
 texture = ExtResource( 4 )
 centered = false
 
 [node name="mount_ 2" type="ParallaxLayer" parent="."]
 
-motion/scale = Vector2( 0.2, 1 )
-motion/mirroring = Vector2( 800, 0 )
+motion_scale = Vector2( 0.2, 1 )
+motion_mirroring = Vector2( 800, 0 )
 
 [node name="Sprite" type="Sprite" parent="mount_ 2"]
 
-transform/pos = Vector2( 0, 225 )
+position = Vector2( 0, 225 )
 texture = ExtResource( 5 )
 centered = false
 region = true
@@ -87,15 +87,13 @@ region_rect = Rect2( 0, 0, 800, 256 )
 
 [node name="mount_1" type="ParallaxLayer" parent="."]
 
-motion/scale = Vector2( 0.4, 1 )
-motion/mirroring = Vector2( 800, 0 )
+motion_scale = Vector2( 0.4, 1 )
+motion_mirroring = Vector2( 800, 0 )
 
 [node name="Sprite" type="Sprite" parent="mount_1"]
 
-transform/pos = Vector2( 0, 225 )
+position = Vector2( 0, 225 )
 texture = ExtResource( 6 )
 centered = false
 region = true
 region_rect = Rect2( 0, 0, 800, 256 )
-
-

+ 8 - 8
2d/platformer/player.gd

@@ -56,18 +56,18 @@ func _fixed_process(delta):
 	# Jumping
 	if (on_floor and Input.is_action_just_pressed("jump")):
 		linear_vel.y=-JUMP_SPEED
-		get_node("sound").play("jump")
+		get_node("sound_jump").play()
 	
 	# Shooting		
 	
 	if (Input.is_action_just_pressed("shoot")):
 		
 		var bullet = preload("res://bullet.tscn").instance()
-		bullet.set_pos( get_node("sprite/bullet_shoot").get_global_pos() ) #use node for shoot position
-		bullet.set_linear_velocity( Vector2( sprite.get_scale().x * BULLET_VELOCITY,0 ) )		
+		bullet.position = get_node("sprite/bullet_shoot").global_position #use node for shoot position
+		bullet.linear_velocity = Vector2( sprite.scale.x * BULLET_VELOCITY,0 ) 		
 		bullet.add_collision_exception_with(self) # don't want player to collide with bullet
 		get_parent().add_child( bullet ) #don't want bullet to move with me, so add it as child of parent
-		get_node("sound").play("shoot")
+		get_node("sound_shoot").play()
 		shoot_time=0
 		
 		
@@ -77,11 +77,11 @@ func _fixed_process(delta):
 	
 	if (on_floor):
 		if (linear_vel.x < -SIDING_CHANGE_SPEED):
-			sprite.set_scale( Vector2( -1, 1 ) )
+			sprite.scale.x = -1
 			new_anim="run"
 			
 		if (linear_vel.x > SIDING_CHANGE_SPEED):
-			sprite.set_scale( Vector2( 1, 1 ) )
+			sprite.scale.x = 1
 			new_anim="run"
 			
 	else:
@@ -89,9 +89,9 @@ func _fixed_process(delta):
 		# tries to change direction, during air control.
 		# This allows for example the player to shoot quickly left then right.
 		if (Input.is_action_pressed("move_left") and not Input.is_action_pressed("move_right")):
-			sprite.set_scale( Vector2( -1, 1 ) )
+			sprite.scale.x = -1
 		if (Input.is_action_pressed("move_right") and not Input.is_action_pressed("move_left")):
-			sprite.set_scale( Vector2( 1, 1 ) )
+			sprite.scale.x = 1
 
 		if (linear_vel.y < 0 ):
 			new_anim="jumping"

+ 170 - 135
2d/platformer/player.tscn

@@ -1,15 +1,13 @@
-[gd_scene load_steps=24 format=1]
+[gd_scene load_steps=20 format=2]
 
 [ext_resource path="res://player.gd" type="Script" id=1]
 [ext_resource path="res://robot_demo.png" type="Texture" id=2]
-[ext_resource path="res://bullet.png" type="Texture" id=3]
-[ext_resource path="res://sound_coin.wav" type="Sample" id=4]
-[ext_resource path="res://sound_jump.wav" type="Sample" id=5]
-[ext_resource path="res://sound_shoot.wav" type="Sample" id=6]
-[ext_resource path="res://osb_left.png" type="Texture" id=7]
-[ext_resource path="res://osb_right.png" type="Texture" id=8]
-[ext_resource path="res://osb_jump.png" type="Texture" id=9]
-[ext_resource path="res://osb_fire.png" type="Texture" id=10]
+[ext_resource path="res://sound_jump.wav" type="AudioStream" id=3]
+[ext_resource path="res://sound_shoot.wav" type="AudioStream" id=4]
+[ext_resource path="res://osb_left.png" type="Texture" id=5]
+[ext_resource path="res://osb_right.png" type="Texture" id=6]
+[ext_resource path="res://osb_jump.png" type="Texture" id=7]
+[ext_resource path="res://osb_fire.png" type="Texture" id=8]
 
 [sub_resource type="CapsuleShape2D" id=1]
 
@@ -17,48 +15,61 @@ custom_solver_bias = 0.0
 radius = 10.0
 height = 44.4787
 
-[sub_resource type="ColorRamp" id=2]
+[sub_resource type="Animation" id=2]
 
-offsets = FloatArray( 0, 1 )
-colors = ColorArray( 1, 1, 1, 1, 0, 0, 0, 0.0442478 )
-
-[sub_resource type="Animation" id=3]
-
-resource/name = "crouch"
+resource_name = "crouch"
 length = 0.01
 loop = true
 step = 0.25
 tracks/0/type = "value"
 tracks/0/path = NodePath("sprite:frame")
 tracks/0/interp = 1
+tracks/0/loop_wrap = true
 tracks/0/imported = false
-tracks/0/keys = { "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "update":1, "values":[ 22 ] }
+tracks/0/keys = {
+"times": PoolFloatArray( 0 ),
+"transitions": PoolFloatArray( 1 ),
+"update": 1,
+"values": [ 22 ]
+}
 
-[sub_resource type="Animation" id=4]
+[sub_resource type="Animation" id=3]
 
-resource/name = "falling"
+resource_name = "falling"
 length = 0.01
 loop = true
 step = 0.25
 tracks/0/type = "value"
 tracks/0/path = NodePath("sprite:frame")
 tracks/0/interp = 1
+tracks/0/loop_wrap = true
 tracks/0/imported = false
-tracks/0/keys = { "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "update":1, "values":[ 21 ] }
+tracks/0/keys = {
+"times": PoolFloatArray( 0 ),
+"transitions": PoolFloatArray( 1 ),
+"update": 1,
+"values": [ 21 ]
+}
 
-[sub_resource type="Animation" id=5]
+[sub_resource type="Animation" id=4]
 
-resource/name = "falling_weapon"
+resource_name = "falling_weapon"
 length = 0.5
 loop = true
 step = 0.25
 tracks/0/type = "value"
 tracks/0/path = NodePath("sprite:frame")
 tracks/0/interp = 1
+tracks/0/loop_wrap = true
 tracks/0/imported = false
-tracks/0/keys = { "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "update":1, "values":[ 26 ] }
+tracks/0/keys = {
+"times": PoolFloatArray( 0 ),
+"transitions": PoolFloatArray( 1 ),
+"update": 1,
+"values": [ 26 ]
+}
 
-[sub_resource type="Animation" id=6]
+[sub_resource type="Animation" id=5]
 
 length = 7.0
 loop = true
@@ -66,10 +77,16 @@ step = 0.25
 tracks/0/type = "value"
 tracks/0/path = NodePath("sprite:frame")
 tracks/0/interp = 1
+tracks/0/loop_wrap = true
 tracks/0/imported = false
-tracks/0/keys = { "times":FloatArray( 0, 1.25, 1.5, 2, 4.5, 4.75, 5, 5.25 ), "transitions":FloatArray( 1, 1, 1, 1, 1, 1, 1, 1 ), "update":1, "values":[ 16, 17, 18, 16, 19, 20, 19, 16 ] }
+tracks/0/keys = {
+"times": PoolFloatArray( 0, 1.25, 1.5, 2, 4.5, 4.75, 5, 5.25 ),
+"transitions": PoolFloatArray( 1, 1, 1, 1, 1, 1, 1, 1 ),
+"update": 1,
+"values": [ 16, 17, 18, 16, 19, 20, 19, 16 ]
+}
 
-[sub_resource type="Animation" id=7]
+[sub_resource type="Animation" id=6]
 
 length = 0.5
 loop = true
@@ -77,10 +94,16 @@ step = 0.25
 tracks/0/type = "value"
 tracks/0/path = NodePath("sprite:frame")
 tracks/0/interp = 1
+tracks/0/loop_wrap = true
 tracks/0/imported = false
-tracks/0/keys = { "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "update":1, "values":[ 25 ] }
+tracks/0/keys = {
+"times": PoolFloatArray( 0 ),
+"transitions": PoolFloatArray( 1 ),
+"update": 1,
+"values": [ 25 ]
+}
 
-[sub_resource type="Animation" id=8]
+[sub_resource type="Animation" id=7]
 
 length = 0.5
 loop = true
@@ -88,10 +111,16 @@ step = 0.25
 tracks/0/type = "value"
 tracks/0/path = NodePath("sprite:frame")
 tracks/0/interp = 1
+tracks/0/loop_wrap = true
 tracks/0/imported = false
-tracks/0/keys = { "times":FloatArray( 0, 0.25, 0.5 ), "transitions":FloatArray( 1, 1, 1 ), "update":1, "values":[ 23, 24, 23 ] }
+tracks/0/keys = {
+"times": PoolFloatArray( 0, 0.25, 0.5 ),
+"transitions": PoolFloatArray( 1, 1, 1 ),
+"update": 1,
+"values": [ 23, 24, 23 ]
+}
 
-[sub_resource type="Animation" id=9]
+[sub_resource type="Animation" id=8]
 
 length = 0.5
 loop = true
@@ -99,10 +128,16 @@ step = 0.25
 tracks/0/type = "value"
 tracks/0/path = NodePath("sprite:frame")
 tracks/0/interp = 1
+tracks/0/loop_wrap = true
 tracks/0/imported = false
-tracks/0/keys = { "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "update":1, "values":[ 26 ] }
+tracks/0/keys = {
+"times": PoolFloatArray( 0 ),
+"transitions": PoolFloatArray( 1 ),
+"update": 1,
+"values": [ 26 ]
+}
 
-[sub_resource type="Animation" id=10]
+[sub_resource type="Animation" id=9]
 
 length = 1.25
 loop = true
@@ -110,10 +145,16 @@ step = 0.25
 tracks/0/type = "value"
 tracks/0/path = NodePath("sprite:frame")
 tracks/0/interp = 1
+tracks/0/loop_wrap = true
 tracks/0/imported = false
-tracks/0/keys = { "times":FloatArray( 0, 0.25, 0.5, 0.75, 1, 1.25 ), "transitions":FloatArray( 1, 1, 1, 1, 1, 1 ), "update":1, "values":[ 0, 1, 2, 3, 4, 0 ] }
+tracks/0/keys = {
+"times": PoolFloatArray( 0, 0.25, 0.5, 0.75, 1, 1.25 ),
+"transitions": PoolFloatArray( 1, 1, 1, 1, 1, 1 ),
+"update": 1,
+"values": [ 0, 1, 2, 3, 4, 0 ]
+}
 
-[sub_resource type="Animation" id=11]
+[sub_resource type="Animation" id=10]
 
 length = 1.25
 loop = true
@@ -121,10 +162,16 @@ step = 0.25
 tracks/0/type = "value"
 tracks/0/path = NodePath("sprite:frame")
 tracks/0/interp = 1
+tracks/0/loop_wrap = true
 tracks/0/imported = false
-tracks/0/keys = { "times":FloatArray( 0, 0.25, 0.5, 0.75, 1, 1.25 ), "transitions":FloatArray( 1, 1, 1, 1, 1, 1 ), "update":1, "values":[ 5, 6, 7, 8, 9, 5 ] }
+tracks/0/keys = {
+"times": PoolFloatArray( 0, 0.25, 0.5, 0.75, 1, 1.25 ),
+"transitions": PoolFloatArray( 1, 1, 1, 1, 1, 1 ),
+"update": 1,
+"values": [ 5, 6, 7, 8, 9, 5 ]
+}
 
-[sub_resource type="Animation" id=12]
+[sub_resource type="Animation" id=11]
 
 length = 1.25
 loop = true
@@ -132,25 +179,25 @@ step = 0.25
 tracks/0/type = "value"
 tracks/0/path = NodePath("sprite:frame")
 tracks/0/interp = 1
+tracks/0/loop_wrap = true
 tracks/0/imported = false
-tracks/0/keys = { "times":FloatArray( 0, 0.25, 0.5, 0.75, 1, 1.25 ), "transitions":FloatArray( 1, 1, 1, 1, 1, 1 ), "update":1, "values":[ 10, 11, 12, 13, 14, 5 ] }
-
-[sub_resource type="SampleLibrary" id=13]
-
-samples/coin = { "db":0.0, "pitch":1.0, "sample":ExtResource( 4 ) }
-samples/jump = { "db":0.0, "pitch":1.0, "sample":ExtResource( 5 ) }
-samples/shoot = { "db":0.0, "pitch":1.0, "sample":ExtResource( 6 ) }
+tracks/0/keys = {
+"times": PoolFloatArray( 0, 0.25, 0.5, 0.75, 1, 1.25 ),
+"transitions": PoolFloatArray( 1, 1, 1, 1, 1, 1 ),
+"update": 1,
+"values": [ 10, 11, 12, 13, 14, 5 ]
+}
 
 [node name="player" type="KinematicBody2D"]
 
-input/pickable = false
+input_pickable = false
 shapes/0/shape = SubResource( 1 )
-shapes/0/transform = Matrix32( 1, 0, 0, 1, 0.291992, -0.835023 )
+shapes/0/transform = Transform2D( 1, 0, 0, 1, 0.291992, -0.835023 )
 shapes/0/trigger = false
-collision/layers = 1
-collision/mask = 1
+collision_layer = 1
+collision_mask = 1
 collision/margin = 0.08
-script/script = ExtResource( 1 )
+script = ExtResource( 1 )
 
 [node name="sprite" type="Sprite" parent="."]
 
@@ -159,57 +206,30 @@ vframes = 2
 hframes = 16
 frame = 22
 
-[node name="smoke" type="Particles2D" parent="sprite"]
-
-visibility/self_opacity = 0.363636
-visibility/blend_mode = 1
-transform/pos = Vector2( 20.7312, 3.21187 )
-transform/rot = 83.4504
-config/amount = 4
-config/lifetime = 0.3
-config/emit_timeout = 0.3
-config/emitting = false
-config/local_space = false
-config/explosiveness = 0.1
-config/texture = ExtResource( 3 )
-params/direction = 0.0
-params/spread = 180.0
-params/linear_velocity = 20.0
-params/spin_velocity = 1.0
-params/orbit_velocity = 0.0
-params/gravity_direction = 0.0
-params/gravity_strength = 9.8
-params/radial_accel = 0.0
-params/tangential_accel = 0.0
-params/damping = 0.0
-params/initial_angle = 0.0
-params/initial_size = 2.0
-params/final_size = 2.0
-params/hue_variation = 0.0
-params/anim_speed_scale = 1.0
-params/anim_initial_pos = 0.0
-randomness/spin_velocity = 2.0
-color/color_ramp = SubResource( 2 )
+[node name="smoke" type="Node2D" parent="sprite"]
+
+position = Vector2( 20.7312, 3.21187 )
+rotation = -1.45648
 
 [node name="bullet_shoot" type="Position2D" parent="sprite"]
 
-transform/pos = Vector2( 30.6589, 6.13176 )
+position = Vector2( 30.6589, 6.13176 )
 
 [node name="anim" type="AnimationPlayer" parent="."]
 
-playback/process_mode = 1
-playback/default_blend_time = 0.0
-root/root = NodePath("..")
-anims/crouch = SubResource( 3 )
-anims/falling = SubResource( 4 )
-anims/falling_weapon = SubResource( 5 )
-anims/idle = SubResource( 6 )
-anims/idle_weapon = SubResource( 7 )
-anims/jumping = SubResource( 8 )
-anims/jumping_weapon = SubResource( 9 )
-anims/run = SubResource( 10 )
-anims/run_weapon = SubResource( 11 )
-anims/standing_weapon_ready = SubResource( 12 )
+playback_process_mode = 1
+playback_default_blend_time = 0.0
+root_node = NodePath("..")
+anims/crouch = SubResource( 2 )
+anims/falling = SubResource( 3 )
+anims/falling_weapon = SubResource( 4 )
+anims/idle = SubResource( 5 )
+anims/idle_weapon = SubResource( 6 )
+anims/jumping = SubResource( 7 )
+anims/jumping_weapon = SubResource( 8 )
+anims/run = SubResource( 9 )
+anims/run_weapon = SubResource( 10 )
+anims/standing_weapon_ready = SubResource( 11 )
 playback/active = true
 playback/speed = 2.0
 blend_times = [  ]
@@ -221,43 +241,46 @@ anchor_mode = 1
 rotating = false
 current = true
 zoom = Vector2( 1, 1 )
-limit/left = 0
-limit/top = 0
-limit/right = 10000000
-limit/bottom = 10000000
-limit/smoothed = false
-drag_margin/h_enabled = true
-drag_margin/v_enabled = true
-smoothing/enable = false
-smoothing/speed = 5.0
-drag_margin/left = 0.2
-drag_margin/top = 0.2
-drag_margin/right = 0.2
-drag_margin/bottom = 0.2
+limit_left = 0
+limit_top = 0
+limit_right = 10000000
+limit_bottom = 10000000
+limit_smoothed = false
+drag_margin_h_enabled = true
+drag_margin_v_enabled = true
+smoothing_enabled = false
+smoothing_speed = 5.0
+drag_margin_left = 0.2
+drag_margin_top = 0.2
+drag_margin_right = 0.2
+drag_margin_bottom = 0.2
 
 [node name="CollisionShape2D" type="CollisionShape2D" parent="."]
 
-transform/pos = Vector2( 0.291992, -0.835023 )
+position = Vector2( 0.291992, -0.835023 )
 shape = SubResource( 1 )
 trigger = false
 _update_shape_index = 0
 
-[node name="sound" type="SamplePlayer" parent="."]
-
-config/polyphony = 1
-config/samples = SubResource( 13 )
-default/volume_db = 0.0
-default/pitch_scale = 1.0
-default/pan = 0.0
-default/depth = 0.0
-default/height = 0.0
-default/filter/type = 0
-default/filter/cutoff = 0.0
-default/filter/resonance = 0.0
-default/filter/gain = 0.0
-default/reverb_room = 2
-default/reverb_send = 0.0
-default/chorus_send = 0.0
+[node name="sound_jump" type="AudioStreamPlayer2D" parent="."]
+
+stream = ExtResource( 3 )
+volume_db = 0.0
+autoplay = false
+max_distance = 2000.0
+attenuation = 1.0
+bus = "Master"
+area_mask = 1
+
+[node name="sound_shoot" type="AudioStreamPlayer2D" parent="."]
+
+stream = ExtResource( 4 )
+volume_db = 0.0
+autoplay = false
+max_distance = 2000.0
+attenuation = 1.0
+bus = "Master"
+area_mask = 1
 
 [node name="ui" type="CanvasLayer" parent="."]
 
@@ -268,44 +291,56 @@ scale = Vector2( 1, 1 )
 
 [node name="left" type="TouchScreenButton" parent="ui"]
 
-transform/pos = Vector2( 27.7593, 360.87 )
-transform/scale = Vector2( 1.49157, 1.46265 )
-normal = ExtResource( 7 )
+position = Vector2( 27.7593, 360.87 )
+scale = Vector2( 1.49157, 1.46265 )
+normal = ExtResource( 5 )
 pressed = null
 bitmask = null
+shape = null
+shape_centered = true
+shape_visible = true
 passby_press = true
 action = "move_left"
 visibility_mode = 1
 
 [node name="right" type="TouchScreenButton" parent="ui"]
 
-transform/pos = Vector2( 121.542, 361.415 )
-transform/scale = Vector2( 1.49157, 1.46265 )
-normal = ExtResource( 8 )
+position = Vector2( 121.542, 361.415 )
+scale = Vector2( 1.49157, 1.46265 )
+normal = ExtResource( 6 )
 pressed = null
 bitmask = null
+shape = null
+shape_centered = true
+shape_visible = true
 passby_press = true
 action = "move_right"
 visibility_mode = 1
 
 [node name="jump" type="TouchScreenButton" parent="ui"]
 
-transform/pos = Vector2( 666.224, 359.02 )
-transform/scale = Vector2( 1.49157, 1.46265 )
-normal = ExtResource( 9 )
+position = Vector2( 666.224, 359.02 )
+scale = Vector2( 1.49157, 1.46265 )
+normal = ExtResource( 7 )
 pressed = null
 bitmask = null
+shape = null
+shape_centered = true
+shape_visible = true
 passby_press = false
 action = "jump"
 visibility_mode = 1
 
 [node name="fire" type="TouchScreenButton" parent="ui"]
 
-transform/pos = Vector2( 668.073, 262.788 )
-transform/scale = Vector2( 1.49157, 1.46265 )
-normal = ExtResource( 10 )
+position = Vector2( 668.073, 262.788 )
+scale = Vector2( 1.49157, 1.46265 )
+normal = ExtResource( 8 )
 pressed = null
 bitmask = null
+shape = null
+shape_centered = true
+shape_visible = true
 passby_press = false
 action = "shoot"
 visibility_mode = 1

File diff suppressed because it is too large
+ 3 - 16
2d/platformer/stage.tscn


+ 29 - 13
2d/platformer/tileset.tres

@@ -1,72 +1,73 @@
-[gd_resource type="TileSet" load_steps=14 format=1]
+[gd_resource type="TileSet" load_steps=14 format=2]
 
 [ext_resource path="res://tiles_demo.png" type="Texture" id=1]
 
 [sub_resource type="ConvexPolygonShape2D" id=1]
 
 custom_solver_bias = 0.0
-points = Vector2Array( -32, -24, 32, -24, 32, 32, -32, 32 )
+points = PoolVector2Array( -32, -24, 32, -24, 32, 32, -32, 32 )
 
 [sub_resource type="ConvexPolygonShape2D" id=2]
 
 custom_solver_bias = 0.0
-points = Vector2Array( -32, 32, -32, -24, 24, -24, 24, 32 )
+points = PoolVector2Array( -32, 32, -32, -24, 24, -24, 24, 32 )
 
 [sub_resource type="ConvexPolygonShape2D" id=3]
 
 custom_solver_bias = 0.0
-points = Vector2Array( -32, -32, 32, -32, 32, 32, -32, 32 )
+points = PoolVector2Array( -32, -32, 32, -32, 32, 32, -32, 32 )
 
 [sub_resource type="ConvexPolygonShape2D" id=4]
 
 custom_solver_bias = 0.0
-points = Vector2Array( -32, -56, 32, 8, 32, 64, -32, 64 )
+points = PoolVector2Array( -32, -56, 32, 8, 32, 64, -32, 64 )
 
 [sub_resource type="ConvexPolygonShape2D" id=5]
 
 custom_solver_bias = 0.0
-points = Vector2Array( -32, 32, -32, -32, 24, -32, 24, 32 )
+points = PoolVector2Array( -32, 32, -32, -32, 24, -32, 24, 32 )
 
 [sub_resource type="ConvexPolygonShape2D" id=6]
 
 custom_solver_bias = 0.0
-points = Vector2Array( -32, -24, 32, -24, 32, 24, -32, 24 )
+points = PoolVector2Array( -32, -24, 32, -24, 32, 24, -32, 24 )
 
 [sub_resource type="ConvexPolygonShape2D" id=7]
 
 custom_solver_bias = 0.0
-points = Vector2Array( -32, -24, 24, -24, 24, 24, -32, 24 )
+points = PoolVector2Array( -32, -24, 24, -24, 24, 24, -32, 24 )
 
 [sub_resource type="ConvexPolygonShape2D" id=8]
 
 custom_solver_bias = 0.0
-points = Vector2Array( -32, 32, -32, -32, 24, -32, 24, 32 )
+points = PoolVector2Array( -32, 32, -32, -32, 24, -32, 24, 32 )
 
 [sub_resource type="ConvexPolygonShape2D" id=9]
 
 custom_solver_bias = 0.0
-points = Vector2Array( -64, 32, -64, -32, -8, -32, -8, 32 )
+points = PoolVector2Array( -64, 32, -64, -32, -8, -32, -8, 32 )
 
 [sub_resource type="ConvexPolygonShape2D" id=10]
 
 custom_solver_bias = 0.0
-points = Vector2Array( -32, 32, -32, -32, 24, -32, 32, -24, 32, 32 )
+points = PoolVector2Array( -32, 32, -32, -32, 24, -32, 32, -24, 32, 32 )
 
 [sub_resource type="ConvexPolygonShape2D" id=11]
 
 custom_solver_bias = 0.0
-points = Vector2Array( -32, 32, -32, -24, 32, -24, 32, 32 )
+points = PoolVector2Array( -32, 32, -32, -24, 32, -24, 32, 32 )
 
 [sub_resource type="ConvexPolygonShape2D" id=12]
 
 custom_solver_bias = 0.0
-points = Vector2Array( -32, 32, -32, -24, 32, -24, 32, 32 )
+points = PoolVector2Array( -32, 32, -32, -24, 32, -24, 32, 32 )
 
 [resource]
 
 0/name = "floor"
 0/texture = ExtResource( 1 )
 0/tex_offset = Vector2( 0, 0 )
+0/modulate = Color( 1, 1, 1, 1 )
 0/region = Rect2( 0, 0, 64, 64 )
 0/occluder_offset = Vector2( 32, 32 )
 0/navigation_offset = Vector2( 32, 32 )
@@ -75,6 +76,7 @@ points = Vector2Array( -32, 32, -32, -24, 32, -24, 32, 32 )
 1/name = "edge"
 1/texture = ExtResource( 1 )
 1/tex_offset = Vector2( 0, 0 )
+1/modulate = Color( 1, 1, 1, 1 )
 1/region = Rect2( 64, 0, 64, 64 )
 1/occluder_offset = Vector2( 32, 32 )
 1/navigation_offset = Vector2( 32, 32 )
@@ -83,6 +85,7 @@ points = Vector2Array( -32, 32, -32, -24, 32, -24, 32, 32 )
 2/name = "wall"
 2/texture = ExtResource( 1 )
 2/tex_offset = Vector2( 0, 0 )
+2/modulate = Color( 1, 1, 1, 1 )
 2/region = Rect2( 64, 64, 64, 64 )
 2/occluder_offset = Vector2( 32, 32 )
 2/navigation_offset = Vector2( 32, 32 )
@@ -91,6 +94,7 @@ points = Vector2Array( -32, 32, -32, -24, 32, -24, 32, 32 )
 3/name = "wall_deco"
 3/texture = ExtResource( 1 )
 3/tex_offset = Vector2( 0, 0 )
+3/modulate = Color( 1, 1, 1, 1 )
 3/region = Rect2( 320, 128, 128, 64 )
 3/occluder_offset = Vector2( 64, 32 )
 3/navigation_offset = Vector2( 64, 32 )
@@ -99,6 +103,7 @@ points = Vector2Array( -32, 32, -32, -24, 32, -24, 32, 32 )
 4/name = "corner"
 4/texture = ExtResource( 1 )
 4/tex_offset = Vector2( 0, 0 )
+4/modulate = Color( 1, 1, 1, 1 )
 4/region = Rect2( 64, 128, 64, 64 )
 4/occluder_offset = Vector2( 32, 32 )
 4/navigation_offset = Vector2( 32, 32 )
@@ -107,6 +112,7 @@ points = Vector2Array( -32, 32, -32, -24, 32, -24, 32, 32 )
 5/name = "flowers"
 5/texture = ExtResource( 1 )
 5/tex_offset = Vector2( 0, 0 )
+5/modulate = Color( 1, 1, 1, 1 )
 5/region = Rect2( 192, 192, 64, 64 )
 5/occluder_offset = Vector2( 32, 32 )
 5/navigation_offset = Vector2( 32, 32 )
@@ -115,6 +121,7 @@ points = Vector2Array( -32, 32, -32, -24, 32, -24, 32, 32 )
 6/name = "tree_base"
 6/texture = ExtResource( 1 )
 6/tex_offset = Vector2( 0, 0 )
+6/modulate = Color( 1, 1, 1, 1 )
 6/region = Rect2( 256, 192, 64, 64 )
 6/occluder_offset = Vector2( 32, 32 )
 6/navigation_offset = Vector2( 32, 32 )
@@ -123,6 +130,7 @@ points = Vector2Array( -32, 32, -32, -24, 32, -24, 32, 32 )
 7/name = "tree_mid"
 7/texture = ExtResource( 1 )
 7/tex_offset = Vector2( 0, 0 )
+7/modulate = Color( 1, 1, 1, 1 )
 7/region = Rect2( 256, 128, 64, 64 )
 7/occluder_offset = Vector2( 32, 32 )
 7/navigation_offset = Vector2( 32, 32 )
@@ -131,6 +139,7 @@ points = Vector2Array( -32, 32, -32, -24, 32, -24, 32, 32 )
 8/name = "tree_mid 2"
 8/texture = ExtResource( 1 )
 8/tex_offset = Vector2( 0, 0 )
+8/modulate = Color( 1, 1, 1, 1 )
 8/region = Rect2( 256, 64, 64, 64 )
 8/occluder_offset = Vector2( 32, 32 )
 8/navigation_offset = Vector2( 32, 32 )
@@ -139,6 +148,7 @@ points = Vector2Array( -32, 32, -32, -24, 32, -24, 32, 32 )
 9/name = "tree_top"
 9/texture = ExtResource( 1 )
 9/tex_offset = Vector2( 0, 0 )
+9/modulate = Color( 1, 1, 1, 1 )
 9/region = Rect2( 256, 0, 64, 64 )
 9/occluder_offset = Vector2( 32, 32 )
 9/navigation_offset = Vector2( 32, 32 )
@@ -147,6 +157,7 @@ points = Vector2Array( -32, 32, -32, -24, 32, -24, 32, 32 )
 10/name = "solid"
 10/texture = ExtResource( 1 )
 10/tex_offset = Vector2( 0, 0 )
+10/modulate = Color( 1, 1, 1, 1 )
 10/region = Rect2( 0, 64, 64, 64 )
 10/occluder_offset = Vector2( 32, 32 )
 10/navigation_offset = Vector2( 32, 32 )
@@ -155,6 +166,7 @@ points = Vector2Array( -32, 32, -32, -24, 32, -24, 32, 32 )
 11/name = "ceiling"
 11/texture = ExtResource( 1 )
 11/tex_offset = Vector2( 0, 0 )
+11/modulate = Color( 1, 1, 1, 1 )
 11/region = Rect2( 384, 64, 64, 64 )
 11/occluder_offset = Vector2( 32, 32 )
 11/navigation_offset = Vector2( 32, 32 )
@@ -163,6 +175,7 @@ points = Vector2Array( -32, 32, -32, -24, 32, -24, 32, 32 )
 12/name = "ramp"
 12/texture = ExtResource( 1 )
 12/tex_offset = Vector2( 0, 0 )
+12/modulate = Color( 1, 1, 1, 1 )
 12/region = Rect2( 128, 128, 64, 128 )
 12/occluder_offset = Vector2( 32, 64 )
 12/navigation_offset = Vector2( 32, 64 )
@@ -171,6 +184,7 @@ points = Vector2Array( -32, 32, -32, -24, 32, -24, 32, 32 )
 13/name = "ceiling2wall"
 13/texture = ExtResource( 1 )
 13/tex_offset = Vector2( 0, 0 )
+13/modulate = Color( 1, 1, 1, 1 )
 13/region = Rect2( 448, 64, 64, 64 )
 13/occluder_offset = Vector2( 32, 32 )
 13/navigation_offset = Vector2( 32, 32 )
@@ -179,6 +193,7 @@ points = Vector2Array( -32, 32, -32, -24, 32, -24, 32, 32 )
 14/name = "platform_floor"
 14/texture = ExtResource( 1 )
 14/tex_offset = Vector2( 0, 0 )
+14/modulate = Color( 1, 1, 1, 1 )
 14/region = Rect2( 128, 0, 64, 64 )
 14/occluder_offset = Vector2( 32, 32 )
 14/navigation_offset = Vector2( 32, 32 )
@@ -187,6 +202,7 @@ points = Vector2Array( -32, 32, -32, -24, 32, -24, 32, 32 )
 15/name = "platform_edge"
 15/texture = ExtResource( 1 )
 15/tex_offset = Vector2( 0, 0 )
+15/modulate = Color( 1, 1, 1, 1 )
 15/region = Rect2( 192, 0, 64, 64 )
 15/occluder_offset = Vector2( 32, 32 )
 15/navigation_offset = Vector2( 32, 32 )

+ 103 - 98
2d/platformer/tileset_edit.tscn

@@ -1,69 +1,70 @@
-[gd_scene load_steps=14 format=1]
+[gd_scene load_steps=54 format=2]
 
 [ext_resource path="res://tiles_demo.png" type="Texture" id=1]
 
 [sub_resource type="ConvexPolygonShape2D" id=1]
 
 custom_solver_bias = 0.0
-points = Vector2Array( -32, -24, 32, -24, 32, 32, -32, 32 )
+points = PoolVector2Array( -32, -24, 32, -24, 32, 32, -32, 32 )
 
 [sub_resource type="ConvexPolygonShape2D" id=2]
 
 custom_solver_bias = 0.0
-points = Vector2Array( -32, 32, -32, -24, 24, -24, 24, 32 )
+points = PoolVector2Array( -32, 32, -32, -24, 24, -24, 24, 32 )
 
 [sub_resource type="ConvexPolygonShape2D" id=3]
 
 custom_solver_bias = 0.0
-points = Vector2Array( -32, 32, -32, -32, 24, -32, 24, 32 )
+points = PoolVector2Array( -32, 32, -32, -32, 24, -32, 24, 32 )
 
 [sub_resource type="ConvexPolygonShape2D" id=4]
 
 custom_solver_bias = 0.0
-points = Vector2Array( -64, 32, -64, -32, -8, -32, -8, 32 )
+points = PoolVector2Array( -64, 32, -64, -32, -8, -32, -8, 32 )
 
 [sub_resource type="ConvexPolygonShape2D" id=5]
 
 custom_solver_bias = 0.0
-points = Vector2Array( -32, 32, -32, -32, 24, -32, 32, -24, 32, 32 )
+points = PoolVector2Array( -32, 32, -32, -32, 24, -32, 32, -24, 32, 32 )
 
 [sub_resource type="ConvexPolygonShape2D" id=6]
 
 custom_solver_bias = 0.0
-points = Vector2Array( -32, 32, -32, -24, 32, -24, 32, 32 )
+points = PoolVector2Array( -32, 32, -32, -24, 32, -24, 32, 32 )
 
 [sub_resource type="ConvexPolygonShape2D" id=7]
 
 custom_solver_bias = 0.0
-points = Vector2Array( -32, 32, -32, -24, 32, -24, 32, 32 )
+points = PoolVector2Array( -32, 32, -32, -24, 32, -24, 32, 32 )
 
 [sub_resource type="ConvexPolygonShape2D" id=8]
 
 custom_solver_bias = 0.0
-points = Vector2Array( -32, -32, 32, -32, 32, 32, -32, 32 )
+points = PoolVector2Array( -32, -32, 32, -32, 32, 32, -32, 32 )
 
 [sub_resource type="ConvexPolygonShape2D" id=9]
 
 custom_solver_bias = 0.0
-points = Vector2Array( -32, -56, 32, 8, 32, 64, -32, 64 )
+points = PoolVector2Array( -32, -56, 32, 8, 32, 64, -32, 64 )
 
 [sub_resource type="ConvexPolygonShape2D" id=10]
 
 custom_solver_bias = 0.0
-points = Vector2Array( -32, 32, -32, -32, 24, -32, 24, 32 )
+points = PoolVector2Array( -32, 32, -32, -32, 24, -32, 24, 32 )
 
 [sub_resource type="ConvexPolygonShape2D" id=11]
 
 custom_solver_bias = 0.0
-points = Vector2Array( -32, -24, 32, -24, 32, 24, -32, 24 )
+points = PoolVector2Array( -32, -24, 32, -24, 32, 24, -32, 24 )
 
 [sub_resource type="ConvexPolygonShape2D" id=12]
 
 custom_solver_bias = 0.0
-points = Vector2Array( -32, -24, 24, -24, 24, 24, -32, 24 )
+points = PoolVector2Array( -32, -24, 24, -24, 24, 24, -32, 24 )
 
 [node name="Node" type="Node"]
 
+
 [node name="floor" type="Sprite" parent="."]
 
 texture = ExtResource( 1 )
@@ -72,12 +73,12 @@ region_rect = Rect2( 0, 0, 64, 64 )
 
 [node name="collision" type="StaticBody2D" parent="floor"]
 
-input/pickable = false
+input_pickable = false
 shapes/0/shape = SubResource( 1 )
-shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
+shapes/0/transform = Transform2D( 1, 0, 0, 1, 0, 0 )
 shapes/0/trigger = false
-collision/layers = 1
-collision/mask = 1
+collision_layer = 1
+collision_mask = 1
 constant_linear_velocity = Vector2( 0, 0 )
 constant_angular_velocity = 0.0
 friction = 1.0
@@ -86,25 +87,25 @@ bounce = 0.0
 [node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="floor/collision"]
 
 build_mode = 0
-polygon = Vector2Array( 32, -24, 32, 32, -32, 32, -32, -24 )
+polygon = PoolVector2Array( 32, -24, 32, 32, -32, 32, -32, -24 )
 shape_range = Vector2( -1, -1 )
 trigger = false
 
 [node name="edge" type="Sprite" parent="."]
 
-transform/pos = Vector2( 64, 0 )
+position = Vector2( 64, 0 )
 texture = ExtResource( 1 )
 region = true
 region_rect = Rect2( 64, 0, 64, 64 )
 
 [node name="collision" type="StaticBody2D" parent="edge"]
 
-input/pickable = false
+input_pickable = false
 shapes/0/shape = SubResource( 2 )
-shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
+shapes/0/transform = Transform2D( 1, 0, 0, 1, 0, 0 )
 shapes/0/trigger = false
-collision/layers = 1
-collision/mask = 1
+collision_layer = 1
+collision_mask = 1
 constant_linear_velocity = Vector2( 0, 0 )
 constant_angular_velocity = 0.0
 friction = 1.0
@@ -113,25 +114,25 @@ bounce = 0.0
 [node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="edge/collision"]
 
 build_mode = 0
-polygon = Vector2Array( -32, -24, 24, -24, 24, 32, -32, 32 )
+polygon = PoolVector2Array( -32, -24, 24, -24, 24, 32, -32, 32 )
 shape_range = Vector2( -1, -1 )
 trigger = false
 
 [node name="wall" type="Sprite" parent="."]
 
-transform/pos = Vector2( 64, 64 )
+position = Vector2( 64, 64 )
 texture = ExtResource( 1 )
 region = true
 region_rect = Rect2( 64, 64, 64, 64 )
 
 [node name="collision" type="StaticBody2D" parent="wall"]
 
-input/pickable = false
+input_pickable = false
 shapes/0/shape = SubResource( 3 )
-shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
+shapes/0/transform = Transform2D( 1, 0, 0, 1, 0, 0 )
 shapes/0/trigger = false
-collision/layers = 1
-collision/mask = 1
+collision_layer = 1
+collision_mask = 1
 constant_linear_velocity = Vector2( 0, 0 )
 constant_angular_velocity = 0.0
 friction = 1.0
@@ -140,25 +141,25 @@ bounce = 0.0
 [node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="wall/collision"]
 
 build_mode = 0
-polygon = Vector2Array( -32, -32, 24, -32, 24, 32, -32, 32 )
+polygon = PoolVector2Array( -32, -32, 24, -32, 24, 32, -32, 32 )
 shape_range = Vector2( -1, -1 )
 trigger = false
 
 [node name="wall_deco" type="Sprite" parent="."]
 
-transform/pos = Vector2( 96, 128 )
+position = Vector2( 96, 128 )
 texture = ExtResource( 1 )
 region = true
 region_rect = Rect2( 320, 128, 128, 64 )
 
 [node name="collision" type="StaticBody2D" parent="wall_deco"]
 
-input/pickable = false
+input_pickable = false
 shapes/0/shape = SubResource( 4 )
-shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
+shapes/0/transform = Transform2D( 1, 0, 0, 1, 0, 0 )
 shapes/0/trigger = false
-collision/layers = 1
-collision/mask = 1
+collision_layer = 1
+collision_mask = 1
 constant_linear_velocity = Vector2( 0, 0 )
 constant_angular_velocity = 0.0
 friction = 1.0
@@ -167,25 +168,25 @@ bounce = 0.0
 [node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="wall_deco/collision"]
 
 build_mode = 0
-polygon = Vector2Array( -64, -32, -8, -32, -8, 32, -64, 32 )
+polygon = PoolVector2Array( -64, -32, -8, -32, -8, 32, -64, 32 )
 shape_range = Vector2( -1, -1 )
 trigger = false
 
 [node name="corner" type="Sprite" parent="."]
 
-transform/pos = Vector2( 64, 192 )
+position = Vector2( 64, 192 )
 texture = ExtResource( 1 )
 region = true
 region_rect = Rect2( 64, 128, 64, 64 )
 
 [node name="collision" type="StaticBody2D" parent="corner"]
 
-input/pickable = false
+input_pickable = false
 shapes/0/shape = SubResource( 5 )
-shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
+shapes/0/transform = Transform2D( 1, 0, 0, 1, 0, 0 )
 shapes/0/trigger = false
-collision/layers = 1
-collision/mask = 1
+collision_layer = 1
+collision_mask = 1
 constant_linear_velocity = Vector2( 0, 0 )
 constant_angular_velocity = 0.0
 friction = 1.0
@@ -194,25 +195,25 @@ bounce = 0.0
 [node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="corner/collision"]
 
 build_mode = 0
-polygon = Vector2Array( -32, -32, 24, -32, 32, -24, 32, 32, -32, 32 )
+polygon = PoolVector2Array( -32, -32, 24, -32, 32, -24, 32, 32, -32, 32 )
 shape_range = Vector2( -1, -1 )
 trigger = false
 
 [node name="flowers" type="Sprite" parent="."]
 
-transform/pos = Vector2( 128, 192 )
+position = Vector2( 128, 192 )
 texture = ExtResource( 1 )
 region = true
 region_rect = Rect2( 192, 192, 64, 64 )
 
 [node name="collision" type="StaticBody2D" parent="flowers"]
 
-input/pickable = false
+input_pickable = false
 shapes/0/shape = SubResource( 6 )
-shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
+shapes/0/transform = Transform2D( 1, 0, 0, 1, 0, 0 )
 shapes/0/trigger = false
-collision/layers = 1
-collision/mask = 1
+collision_layer = 1
+collision_mask = 1
 constant_linear_velocity = Vector2( 0, 0 )
 constant_angular_velocity = 0.0
 friction = 1.0
@@ -221,25 +222,25 @@ bounce = 0.0
 [node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="flowers/collision"]
 
 build_mode = 0
-polygon = Vector2Array( -32, 32, 32, 32, 32, -24, -32, -24 )
+polygon = PoolVector2Array( -32, 32, 32, 32, 32, -24, -32, -24 )
 shape_range = Vector2( -1, -1 )
 trigger = false
 
 [node name="tree_base" type="Sprite" parent="."]
 
-transform/pos = Vector2( 192, 192 )
+position = Vector2( 192, 192 )
 texture = ExtResource( 1 )
 region = true
 region_rect = Rect2( 256, 192, 64, 64 )
 
 [node name="collision" type="StaticBody2D" parent="tree_base"]
 
-input/pickable = false
+input_pickable = false
 shapes/0/shape = SubResource( 7 )
-shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
+shapes/0/transform = Transform2D( 1, 0, 0, 1, 0, 0 )
 shapes/0/trigger = false
-collision/layers = 1
-collision/mask = 1
+collision_layer = 1
+collision_mask = 1
 constant_linear_velocity = Vector2( 0, 0 )
 constant_angular_velocity = 0.0
 friction = 1.0
@@ -248,53 +249,53 @@ bounce = 0.0
 [node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="tree_base/collision"]
 
 build_mode = 0
-polygon = Vector2Array( -32, 32, 32, 32, 32, -24, -32, -24 )
+polygon = PoolVector2Array( -32, 32, 32, 32, 32, -24, -32, -24 )
 shape_range = Vector2( -1, -1 )
 trigger = false
 
 [node name="tree_mid" type="Sprite" parent="."]
 
-transform/pos = Vector2( 192, 128 )
+position = Vector2( 192, 128 )
 texture = ExtResource( 1 )
 region = true
 region_rect = Rect2( 256, 128, 64, 64 )
 
 [node name="tree_mid 2" type="Sprite" parent="."]
 
-transform/pos = Vector2( 192, 64 )
+position = Vector2( 192, 64 )
 texture = ExtResource( 1 )
 region = true
 region_rect = Rect2( 256, 64, 64, 64 )
 
 [node name="tree_top" type="Sprite" parent="."]
 
-transform/pos = Vector2( 192, 0 )
+position = Vector2( 192, 0 )
 texture = ExtResource( 1 )
 region = true
 region_rect = Rect2( 256, 0, 64, 64 )
 
 [node name="solid" type="Sprite" parent="."]
 
-transform/pos = Vector2( 0, 64 )
+position = Vector2( 0, 64 )
 texture = ExtResource( 1 )
 region = true
 region_rect = Rect2( 0, 64, 64, 64 )
 
 [node name="ceiling" type="Sprite" parent="."]
 
-transform/pos = Vector2( 0, 128 )
+position = Vector2( 0, 128 )
 texture = ExtResource( 1 )
 region = true
 region_rect = Rect2( 384, 64, 64, 64 )
 
 [node name="collision" type="StaticBody2D" parent="ceiling"]
 
-input/pickable = false
+input_pickable = false
 shapes/0/shape = SubResource( 8 )
-shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
+shapes/0/transform = Transform2D( 1, 0, 0, 1, 0, 0 )
 shapes/0/trigger = false
-collision/layers = 1
-collision/mask = 1
+collision_layer = 1
+collision_mask = 1
 constant_linear_velocity = Vector2( 0, 0 )
 constant_angular_velocity = 0.0
 friction = 1.0
@@ -303,25 +304,25 @@ bounce = 0.0
 [node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="ceiling/collision"]
 
 build_mode = 0
-polygon = Vector2Array( 32, -32, 32, 32, -32, 32, -32, -32 )
+polygon = PoolVector2Array( 32, -32, 32, 32, -32, 32, -32, -32 )
 shape_range = Vector2( -1, -1 )
 trigger = false
 
 [node name="ramp" type="Sprite" parent="."]
 
-transform/pos = Vector2( 256, 224 )
+position = Vector2( 256, 224 )
 texture = ExtResource( 1 )
 region = true
 region_rect = Rect2( 128, 128, 64, 128 )
 
 [node name="collision" type="StaticBody2D" parent="ramp"]
 
-input/pickable = false
+input_pickable = false
 shapes/0/shape = SubResource( 9 )
-shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
+shapes/0/transform = Transform2D( 1, 0, 0, 1, 0, 0 )
 shapes/0/trigger = false
-collision/layers = 1
-collision/mask = 1
+collision_layer = 1
+collision_mask = 1
 constant_linear_velocity = Vector2( 0, 0 )
 constant_angular_velocity = 0.0
 friction = 1.0
@@ -330,25 +331,25 @@ bounce = 0.0
 [node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="ramp/collision"]
 
 build_mode = 0
-polygon = Vector2Array( -32, -56, 32, 8, 32, 64, -32, 64 )
+polygon = PoolVector2Array( -32, -56, 32, 8, 32, 64, -32, 64 )
 shape_range = Vector2( -1, -1 )
 trigger = false
 
 [node name="ceiling2wall" type="Sprite" parent="."]
 
-transform/pos = Vector2( 0, 192 )
+position = Vector2( 0, 192 )
 texture = ExtResource( 1 )
 region = true
 region_rect = Rect2( 448, 64, 64, 64 )
 
 [node name="collision" type="StaticBody2D" parent="ceiling2wall"]
 
-input/pickable = false
+input_pickable = false
 shapes/0/shape = SubResource( 10 )
-shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
+shapes/0/transform = Transform2D( 1, 0, 0, 1, 0, 0 )
 shapes/0/trigger = false
-collision/layers = 1
-collision/mask = 1
+collision_layer = 1
+collision_mask = 1
 constant_linear_velocity = Vector2( 0, 0 )
 constant_angular_velocity = 0.0
 friction = 1.0
@@ -357,25 +358,25 @@ bounce = 0.0
 [node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="ceiling2wall/collision"]
 
 build_mode = 0
-polygon = Vector2Array( -32, -32, 24, -32, 24, 32, -32, 32 )
+polygon = PoolVector2Array( -32, -32, 24, -32, 24, 32, -32, 32 )
 shape_range = Vector2( -1, -1 )
 trigger = false
 
 [node name="platform_floor" type="Sprite" parent="."]
 
-transform/pos = Vector2( 0, 256 )
+position = Vector2( 0, 256 )
 texture = ExtResource( 1 )
 region = true
 region_rect = Rect2( 128, 0, 64, 64 )
 
 [node name="collision" type="StaticBody2D" parent="platform_floor"]
 
-input/pickable = false
+input_pickable = false
 shapes/0/shape = SubResource( 11 )
-shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
+shapes/0/transform = Transform2D( 1, 0, 0, 1, 0, 0 )
 shapes/0/trigger = false
-collision/layers = 1
-collision/mask = 1
+collision_layer = 1
+collision_mask = 1
 constant_linear_velocity = Vector2( 0, 0 )
 constant_angular_velocity = 0.0
 friction = 1.0
@@ -384,25 +385,25 @@ bounce = 0.0
 [node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="platform_floor/collision"]
 
 build_mode = 0
-polygon = Vector2Array( 32, -24, 32, 24, -32, 24, -32, -24 )
+polygon = PoolVector2Array( 32, -24, 32, 24, -32, 24, -32, -24 )
 shape_range = Vector2( -1, -1 )
 trigger = false
 
 [node name="platform_edge" type="Sprite" parent="."]
 
-transform/pos = Vector2( 64, 256 )
+position = Vector2( 64, 256 )
 texture = ExtResource( 1 )
 region = true
 region_rect = Rect2( 192, 0, 64, 64 )
 
 [node name="collision" type="StaticBody2D" parent="platform_edge"]
 
-input/pickable = false
+input_pickable = false
 shapes/0/shape = SubResource( 12 )
-shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
+shapes/0/transform = Transform2D( 1, 0, 0, 1, 0, 0 )
 shapes/0/trigger = false
-collision/layers = 1
-collision/mask = 1
+collision_layer = 1
+collision_mask = 1
 constant_linear_velocity = Vector2( 0, 0 )
 constant_angular_velocity = 0.0
 friction = 1.0
@@ -411,22 +412,26 @@ bounce = 0.0
 [node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="platform_edge/collision"]
 
 build_mode = 0
-polygon = Vector2Array( 24, -24, 24, 24, -32, 24, -32, -24 )
+polygon = PoolVector2Array( 24, -24, 24, 24, -32, 24, -32, -24 )
 shape_range = Vector2( -1, -1 )
 trigger = false
 
 [node name="help" type="Label" parent="."]
 
-focus/ignore_mouse = true
-focus/stop_mouse = true
-size_flags/horizontal = 2
-margin/left = 1.0
-margin/top = 331.0
-margin/right = 727.0
-margin/bottom = 422.0
-text = "This scene serves as a tool for editing the tileset.\nNodes (sprites) and their respective collisionsare edited here.\n\nTo create a tileset from this, a \"TileSet\" resoucre must be created. Use the helper in: Scene -> Convert To -> TileSet.\nThis will save a tileset. Saving over it will merge your changes.\n\nFinally, the saved tileset resource (tileset.tres in this case), can be opened to be used into a TileMap node for editing a tile map."
+focus_ignore_mouse = true
+focus_stop_mouse = true
+size_flags_horizontal = 2
+margin_left = 1.0
+margin_top = 331.0
+margin_right = 727.0
+margin_bottom = 422.0
+text = "This scene serves as a tool for editing the tileset.
+Nodes (sprites) and their respective collisionsare 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.tres in this case), can be opened to be used into a TileMap node for editing a tile map."
 percent_visible = 1.0
 lines_skipped = 0
 max_lines_visible = -1
-
-

+ 0 - 0
2d/area_input/box_area.png → old/2d/area_input/box_area.png


+ 0 - 0
2d/area_input/circle_area.png → old/2d/area_input/circle_area.png


+ 0 - 0
2d/area_input/engine.cfg → old/2d/area_input/engine.cfg


+ 0 - 0
2d/area_input/icon.png → old/2d/area_input/icon.png


+ 0 - 0
2d/area_input/input.gd → old/2d/area_input/input.gd


+ 0 - 0
2d/area_input/input.tscn → old/2d/area_input/input.tscn


+ 0 - 0
2d/dynamic_collision_shapes/ball.gd → old/2d/dynamic_collision_shapes/ball.gd


+ 0 - 0
2d/dynamic_collision_shapes/ball.png → old/2d/dynamic_collision_shapes/ball.png


+ 0 - 0
2d/dynamic_collision_shapes/ball.tscn → old/2d/dynamic_collision_shapes/ball.tscn


+ 0 - 0
2d/dynamic_collision_shapes/box.png → old/2d/dynamic_collision_shapes/box.png


+ 0 - 0
2d/dynamic_collision_shapes/circle.png → old/2d/dynamic_collision_shapes/circle.png


+ 0 - 0
2d/dynamic_collision_shapes/dynamic_colobjs.gd → old/2d/dynamic_collision_shapes/dynamic_colobjs.gd


+ 0 - 0
2d/dynamic_collision_shapes/dynamic_colobjs.tscn → old/2d/dynamic_collision_shapes/dynamic_colobjs.tscn


+ 0 - 0
2d/dynamic_collision_shapes/engine.cfg → old/2d/dynamic_collision_shapes/engine.cfg


+ 0 - 0
2d/dynamic_collision_shapes/icon.png → old/2d/dynamic_collision_shapes/icon.png


+ 0 - 0
2d/dynamic_collision_shapes/poly.png → old/2d/dynamic_collision_shapes/poly.png


+ 0 - 0
2d/fog_of_war/engine.cfg → old/2d/fog_of_war/engine.cfg


+ 0 - 0
2d/fog_of_war/floor.png → old/2d/fog_of_war/floor.png


+ 0 - 0
2d/fog_of_war/fog.gd → old/2d/fog_of_war/fog.gd


+ 0 - 0
2d/fog_of_war/fog.png → old/2d/fog_of_war/fog.png


+ 0 - 0
2d/fog_of_war/fog.tscn → old/2d/fog_of_war/fog.tscn


+ 0 - 0
2d/fog_of_war/icon.png → old/2d/fog_of_war/icon.png


+ 0 - 0
2d/fog_of_war/tileset.tres → old/2d/fog_of_war/tileset.tres


+ 0 - 0
2d/fog_of_war/tileset_edit.tscn → old/2d/fog_of_war/tileset_edit.tscn


+ 0 - 0
2d/fog_of_war/troll.gd → old/2d/fog_of_war/troll.gd


+ 0 - 0
2d/fog_of_war/troll.png → old/2d/fog_of_war/troll.png


+ 0 - 0
2d/fog_of_war/troll.tscn → old/2d/fog_of_war/troll.tscn


+ 0 - 0
2d/hdr/beach_cave.gd → old/2d/hdr/beach_cave.gd


+ 0 - 0
2d/hdr/beach_cave.tscn → old/2d/hdr/beach_cave.tscn


+ 0 - 0
2d/hdr/engine.cfg → old/2d/hdr/engine.cfg


+ 0 - 0
2d/hdr/icon.png → old/2d/hdr/icon.png


+ 0 - 0
2d/hdr/ocean_beach.png → old/2d/hdr/ocean_beach.png


+ 0 - 0
2d/hdr/ocean_beach.png.flags → old/2d/hdr/ocean_beach.png.flags


+ 0 - 0
2d/hdr/ocean_cave.png → old/2d/hdr/ocean_cave.png


+ 0 - 0
2d/hdr/ocean_cave.png.flags → old/2d/hdr/ocean_cave.png.flags


+ 0 - 0
2d/hexamap/WWT-01.png → old/2d/hexamap/WWT-01.png


+ 0 - 0
2d/hexamap/WWT-02.png → old/2d/hexamap/WWT-02.png


+ 0 - 0
2d/hexamap/WWT-03.png → old/2d/hexamap/WWT-03.png


+ 0 - 0
2d/hexamap/WWT-04.png → old/2d/hexamap/WWT-04.png


+ 0 - 0
2d/hexamap/WWT-05.png → old/2d/hexamap/WWT-05.png


+ 0 - 0
2d/hexamap/WWT-06.png → old/2d/hexamap/WWT-06.png


+ 0 - 0
2d/hexamap/WWT-07.png → old/2d/hexamap/WWT-07.png


+ 0 - 0
2d/hexamap/WWT-08.png → old/2d/hexamap/WWT-08.png


+ 0 - 0
2d/hexamap/WWT-09.png → old/2d/hexamap/WWT-09.png


+ 0 - 0
2d/hexamap/WWT-10.png → old/2d/hexamap/WWT-10.png


+ 0 - 0
2d/hexamap/WWT-11.png → old/2d/hexamap/WWT-11.png


+ 0 - 0
2d/hexamap/WWT-12.png → old/2d/hexamap/WWT-12.png


+ 0 - 0
2d/hexamap/WWT-13.png → old/2d/hexamap/WWT-13.png


+ 0 - 0
2d/hexamap/WWT-14.png → old/2d/hexamap/WWT-14.png


+ 0 - 0
2d/hexamap/WWT-15.png → old/2d/hexamap/WWT-15.png


+ 0 - 0
2d/hexamap/WWT-16.png → old/2d/hexamap/WWT-16.png


+ 0 - 0
2d/hexamap/WWT-17.png → old/2d/hexamap/WWT-17.png


+ 0 - 0
2d/hexamap/WWT-18.png → old/2d/hexamap/WWT-18.png


+ 0 - 0
2d/hexamap/WWT-19.png → old/2d/hexamap/WWT-19.png


+ 0 - 0
2d/hexamap/WWT-20.png → old/2d/hexamap/WWT-20.png


+ 0 - 0
2d/hexamap/WWT-21.png → old/2d/hexamap/WWT-21.png


+ 0 - 0
2d/hexamap/WWT-22.png → old/2d/hexamap/WWT-22.png


+ 0 - 0
2d/hexamap/WWT-23.png → old/2d/hexamap/WWT-23.png


+ 0 - 0
2d/hexamap/WWT-24.png → old/2d/hexamap/WWT-24.png


+ 0 - 0
2d/hexamap/WWT-25.png → old/2d/hexamap/WWT-25.png


+ 0 - 0
2d/hexamap/WWT-26.png → old/2d/hexamap/WWT-26.png


+ 0 - 0
2d/hexamap/engine.cfg → old/2d/hexamap/engine.cfg


+ 0 - 0
2d/hexamap/icon.png → old/2d/hexamap/icon.png


+ 0 - 0
2d/hexamap/map.tscn → old/2d/hexamap/map.tscn


+ 0 - 0
2d/hexamap/tileset.tres → old/2d/hexamap/tileset.tres


+ 0 - 0
2d/hexamap/tileset_edit.tscn → old/2d/hexamap/tileset_edit.tscn


+ 0 - 0
2d/hexamap/troll.gd → old/2d/hexamap/troll.gd


+ 0 - 0
2d/hexamap/troll.png → old/2d/hexamap/troll.png


+ 0 - 0
2d/hexamap/troll.tscn → old/2d/hexamap/troll.tscn


+ 0 - 0
2d/isometric/dungeon.tscn → old/2d/isometric/dungeon.tscn


+ 0 - 0
2d/isometric/engine.cfg → old/2d/isometric/engine.cfg


+ 0 - 0
2d/isometric/icon.png → old/2d/isometric/icon.png


+ 0 - 0
2d/isometric/isotiles.png → old/2d/isometric/isotiles.png


+ 0 - 0
2d/isometric/tileset.tres → old/2d/isometric/tileset.tres


+ 0 - 0
2d/isometric/tileset_edit.tscn → old/2d/isometric/tileset_edit.tscn


+ 0 - 0
2d/isometric/troll.gd → old/2d/isometric/troll.gd


+ 0 - 0
2d/isometric/troll.png → old/2d/isometric/troll.png


+ 0 - 0
2d/isometric/troll.tscn → old/2d/isometric/troll.tscn


+ 0 - 0
2d/isometric_light/character_shader.tres → old/2d/isometric_light/character_shader.tres


+ 0 - 0
2d/isometric_light/column.tscn → old/2d/isometric_light/column.tscn


+ 0 - 0
2d/isometric_light/cubio.gd → old/2d/isometric_light/cubio.gd


+ 0 - 0
2d/isometric_light/cubio.tscn → old/2d/isometric_light/cubio.tscn


+ 0 - 0
2d/isometric_light/cubio/idle0001.png → old/2d/isometric_light/cubio/idle0001.png


+ 0 - 0
2d/isometric_light/cubio/idle0002.png → old/2d/isometric_light/cubio/idle0002.png


+ 0 - 0
2d/isometric_light/cubio/idle0003.png → old/2d/isometric_light/cubio/idle0003.png


+ 0 - 0
2d/isometric_light/cubio/idle0004.png → old/2d/isometric_light/cubio/idle0004.png


+ 0 - 0
2d/isometric_light/cubio/idle0005.png → old/2d/isometric_light/cubio/idle0005.png


Some files were not shown because too many files changed in this diff