Browse Source

Port 2D demos to Godot 3.1

Opened them, saved all scenes, ran the project. Did necessary fixes here and there,
fixed some warnings (but some remain in bigger demos).

Did not port JRPG demo yet (#306) nor the two platformer demos.
Rémi Verschelde 6 years ago
parent
commit
faae60ac2f
90 changed files with 679 additions and 3341 deletions
  1. 4 67
      2d/dodge_the_creeps/HUD.tscn
  2. 12 65
      2d/dodge_the_creeps/Main.tscn
  3. 4 28
      2d/dodge_the_creeps/Mob.tscn
  4. 5 6
      2d/dodge_the_creeps/Player.gd
  5. 3 77
      2d/dodge_the_creeps/Player.tscn
  6. 0 86
      2d/dodge_the_creeps/default_env.tres
  7. 6 1
      2d/dodge_the_creeps/project.godot
  8. 4 5
      2d/finite_state_machine/Demo.tscn
  9. 3 39
      2d/finite_state_machine/debug/ControlsPanel.tscn
  10. 0 17
      2d/finite_state_machine/debug/Explanations.tscn
  11. 3 62
      2d/finite_state_machine/debug/StatesStackDiplayer.tscn
  12. 0 87
      2d/finite_state_machine/default_env.tres
  13. 19 94
      2d/finite_state_machine/player/Player.tscn
  14. 1 11
      2d/finite_state_machine/player/bullet/Bullet.tscn
  15. 3 37
      2d/finite_state_machine/player/weapon/Sword.tscn
  16. 42 10
      2d/finite_state_machine/project.godot
  17. 1 16
      2d/grid_based_movement/Game.tscn
  18. 0 87
      2d/grid_based_movement/default_env.tres
  19. 5 5
      2d/grid_based_movement/grid/grid.gd
  20. 2 3
      2d/grid_based_movement/icon.png.import
  21. 5 31
      2d/grid_based_movement/pawns/Actor.tscn
  22. 1 1
      2d/grid_based_movement/pawns/actor.gd
  23. 2 2
      2d/grid_based_movement/pawns/pawn.gd
  24. 2 3
      2d/grid_based_movement/pawns/sprites/character.png.import
  25. 2 3
      2d/grid_based_movement/pawns/sprites/character_grey.png.import
  26. 2 3
      2d/grid_based_movement/pawns/sprites/star.png.import
  27. 6 1
      2d/grid_based_movement/project.godot
  28. 3 10
      2d/grid_based_movement/tilesets/grid/GridTiles.tscn
  29. 2 3
      2d/grid_based_movement/tilesets/grid/actor.png.import
  30. 2 3
      2d/grid_based_movement/tilesets/grid/object.png.import
  31. 2 3
      2d/grid_based_movement/tilesets/grid/obstacle.png.import
  32. 2 4
      2d/grid_based_movement/tilesets/grid_lines/GridLinesTiles.tscn
  33. 2 3
      2d/grid_based_movement/tilesets/grid_lines/grid_lines.png.import
  34. 0 79
      2d/hdr/beach_cave.tscn
  35. 2 3
      2d/hdr/icon.png.import
  36. 2 3
      2d/hdr/ocean_beach.png.import
  37. 2 3
      2d/hdr/ocean_cave.png.import
  38. 6 1
      2d/hdr/project.godot
  39. 2 14
      2d/hexagonal_map/map.tscn
  40. 22 5
      2d/hexagonal_map/project.godot
  41. 0 27
      2d/hexagonal_map/tileset_edit.tscn
  42. 1 1
      2d/hexagonal_map/troll.gd
  43. 0 30
      2d/hexagonal_map/troll.tscn
  44. 4 31
      2d/isometric/dungeon.tscn
  45. 22 5
      2d/isometric/project.godot
  46. 11 55
      2d/isometric/tileset_edit.tscn
  47. 1 1
      2d/isometric/troll.gd
  48. 0 30
      2d/isometric/troll.tscn
  49. 8 37
      2d/kinematic_character/colworld.tscn
  50. 0 10
      2d/kinematic_character/player.tscn
  51. 26 6
      2d/kinematic_character/project.godot
  52. 4 16
      2d/kinematic_collision/colworld.tscn
  53. 2 3
      2d/kinematic_collision/icon.png.import
  54. 2 3
      2d/kinematic_collision/obstacle.png.import
  55. 1 1
      2d/kinematic_collision/player.gd
  56. 2 3
      2d/kinematic_collision/player.png.import
  57. 0 10
      2d/kinematic_collision/player.tscn
  58. 22 5
      2d/kinematic_collision/project.godot
  59. 2 3
      2d/light2d_as_mask/burano.png.import
  60. 2 3
      2d/light2d_as_mask/icon.png.import
  61. 4 89
      2d/light2d_as_mask/lightmask.tscn
  62. 6 1
      2d/light2d_as_mask/project.godot
  63. 2 3
      2d/light2d_as_mask/splat.png.import
  64. 6 141
      2d/lights_and_shadows/light_shadows.tscn
  65. 6 1
      2d/lights_and_shadows/project.godot
  66. 2 3
      2d/navigation/character.png.import
  67. 2 3
      2d/navigation/icon.png.import
  68. 4 12
      2d/navigation/level.tscn
  69. 2 3
      2d/navigation/map.png.import
  70. 1 1
      2d/navigation/navigation.gd
  71. 10 2
      2d/navigation/project.godot
  72. 1 1
      2d/navigation_astar/character.gd
  73. 0 2
      2d/navigation_astar/default_env.tres
  74. 4 8
      2d/navigation_astar/tileset/tileset_source.tscn
  75. 23 377
      2d/particles/particles.tscn
  76. 2 3
      2d/particles/point_normal_texture_image_outline.tres
  77. 2 3
      2d/particles/point_texture_image_outline.tres
  78. 6 1
      2d/particles/project.godot
  79. 0 91
      2d/pong/pong.tscn
  80. 22 5
      2d/pong/project.godot
  81. 6 1
      2d/screen_space_shaders/project.godot
  82. 69 302
      2d/screen_space_shaders/screen_shaders.tscn
  83. 0 570
      2d/screen_space_shaders/screen_shaders.tscn~
  84. 0 77
      2d/sdf_font/default_environment.tres
  85. 31 0
      2d/sdf_font/icon.png.import
  86. 6 1
      2d/sdf_font/project.godot
  87. 4 37
      2d/sdf_font/sdf.tscn
  88. 0 87
      2d/sprite_shaders/default_env.tres
  89. 6 1
      2d/sprite_shaders/project.godot
  90. 156 254
      2d/sprite_shaders/sprite_shaders.tscn

+ 4 - 67
2d/dodge_the_creeps/HUD.tscn

@@ -4,63 +4,31 @@
 [ext_resource path="res://fonts/Xolonium-Regular.ttf" type="DynamicFontData" id=2]
 [ext_resource path="res://fonts/Xolonium-Regular.ttf" type="DynamicFontData" id=2]
 
 
 [sub_resource type="DynamicFont" id=1]
 [sub_resource type="DynamicFont" id=1]
-
 size = 64
 size = 64
-use_mipmaps = false
-use_filter = false
 font_data = ExtResource( 2 )
 font_data = ExtResource( 2 )
-_sections_unfolded = [ "Font", "Settings" ]
 
 
 [sub_resource type="DynamicFont" id=2]
 [sub_resource type="DynamicFont" id=2]
-
 size = 72
 size = 72
-use_mipmaps = false
-use_filter = false
 font_data = ExtResource( 2 )
 font_data = ExtResource( 2 )
-_sections_unfolded = [ "Font", "Settings" ]
 
 
 [sub_resource type="DynamicFont" id=3]
 [sub_resource type="DynamicFont" id=3]
-
 size = 48
 size = 48
-use_mipmaps = false
-use_filter = false
 font_data = ExtResource( 2 )
 font_data = ExtResource( 2 )
-_sections_unfolded = [ "Font", "Settings" ]
 
 
 [node name="HUD" type="CanvasLayer"]
 [node name="HUD" type="CanvasLayer"]
-
-layer = 1
-offset = Vector2( 0, 0 )
-rotation = 0.0
-scale = Vector2( 1, 1 )
-transform = Transform2D( 1, 0, 0, 1, 0, 0 )
 script = ExtResource( 1 )
 script = ExtResource( 1 )
 
 
-[node name="ScoreLabel" type="Label" parent="." index="0"]
-
+[node name="ScoreLabel" type="Label" parent="."]
 anchor_left = 0.5
 anchor_left = 0.5
-anchor_top = 0.0
 anchor_right = 0.5
 anchor_right = 0.5
-anchor_bottom = 0.0
 margin_left = -25.0
 margin_left = -25.0
 margin_right = 25.0
 margin_right = 25.0
 margin_bottom = 100.0
 margin_bottom = 100.0
-rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
-mouse_filter = 2
-mouse_default_cursor_shape = 0
-size_flags_horizontal = 1
-size_flags_vertical = 4
 custom_fonts/font = SubResource( 1 )
 custom_fonts/font = SubResource( 1 )
 text = "0"
 text = "0"
 align = 1
 align = 1
-percent_visible = 1.0
-lines_skipped = 0
-max_lines_visible = -1
-_sections_unfolded = [ "Anchor", "Margin", "custom_fonts" ]
-
-[node name="MessageLabel" type="Label" parent="." index="1"]
 
 
+[node name="MessageLabel" type="Label" parent="."]
 anchor_left = 0.5
 anchor_left = 0.5
 anchor_top = 0.5
 anchor_top = 0.5
 anchor_right = 0.5
 anchor_right = 0.5
@@ -69,31 +37,17 @@ margin_left = -200.0
 margin_top = -150.0
 margin_top = -150.0
 margin_right = 200.0
 margin_right = 200.0
 margin_bottom = 50.0
 margin_bottom = 50.0
-rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
-mouse_filter = 2
-mouse_default_cursor_shape = 0
-size_flags_horizontal = 1
-size_flags_vertical = 4
 custom_fonts/font = SubResource( 2 )
 custom_fonts/font = SubResource( 2 )
 text = "Dodge the
 text = "Dodge the
 Creeps!"
 Creeps!"
 align = 1
 align = 1
 valign = 1
 valign = 1
-percent_visible = 1.0
-lines_skipped = 0
-max_lines_visible = -1
-_sections_unfolded = [ "Anchor", "Margin", "custom_fonts" ]
 
 
-[node name="MessageTimer" type="Timer" parent="." index="2"]
-
-process_mode = 1
+[node name="MessageTimer" type="Timer" parent="."]
 wait_time = 2.0
 wait_time = 2.0
 one_shot = true
 one_shot = true
-autostart = false
-
-[node name="StartButton" type="Button" parent="." index="3"]
 
 
+[node name="StartButton" type="Button" parent="."]
 anchor_left = 0.5
 anchor_left = 0.5
 anchor_top = 1.0
 anchor_top = 1.0
 anchor_right = 0.5
 anchor_right = 0.5
@@ -102,25 +56,8 @@ margin_left = -100.0
 margin_top = -200.0
 margin_top = -200.0
 margin_right = 100.0
 margin_right = 100.0
 margin_bottom = -100.0
 margin_bottom = -100.0
-rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
-focus_mode = 2
-mouse_filter = 0
-mouse_default_cursor_shape = 0
-size_flags_horizontal = 1
-size_flags_vertical = 1
 custom_fonts/font = SubResource( 3 )
 custom_fonts/font = SubResource( 3 )
-toggle_mode = false
-enabled_focus_mode = 2
-shortcut = null
-group = null
 text = "Start"
 text = "Start"
-flat = false
-align = 1
-_sections_unfolded = [ "Anchor", "Margin", "Visibility", "custom_fonts" ]
 
 
 [connection signal="timeout" from="MessageTimer" to="." method="_on_MessageTimer_timeout"]
 [connection signal="timeout" from="MessageTimer" to="." method="_on_MessageTimer_timeout"]
-
 [connection signal="pressed" from="StartButton" to="." method="_on_StartButton_pressed"]
 [connection signal="pressed" from="StartButton" to="." method="_on_StartButton_pressed"]
-
-

+ 12 - 65
2d/dodge_the_creeps/Main.tscn

@@ -8,105 +8,52 @@
 [ext_resource path="res://art/gameover.wav" type="AudioStream" id=6]
 [ext_resource path="res://art/gameover.wav" type="AudioStream" id=6]
 
 
 [sub_resource type="Curve2D" id=1]
 [sub_resource type="Curve2D" id=1]
-
-bake_interval = 5.0
 _data = {
 _data = {
 "points": PoolVector2Array( 0, 0, 0, 0, 1.70602, 3.56798, 0, 0, 0, 0, 482.263, 3.26522, 0, 0, 0, 0, 480.489, 729.458, 0, 0, 0, 0, 0.794434, 732.118, 0, 0, 0, 0, 1.97066, 3.83263 )
 "points": PoolVector2Array( 0, 0, 0, 0, 1.70602, 3.56798, 0, 0, 0, 0, 482.263, 3.26522, 0, 0, 0, 0, 480.489, 729.458, 0, 0, 0, 0, 0.794434, 732.118, 0, 0, 0, 0, 1.97066, 3.83263 )
 }
 }
 
 
-[node name="Main" type="Node" index="0"]
-
+[node name="Main" type="Node"]
 script = ExtResource( 1 )
 script = ExtResource( 1 )
 Mob = ExtResource( 2 )
 Mob = ExtResource( 2 )
 
 
-[node name="ColorRect" type="ColorRect" parent="." index="0"]
-
-anchor_left = 0.0
-anchor_top = 0.0
-anchor_right = 0.0
-anchor_bottom = 0.0
+[node name="ColorRect" type="ColorRect" parent="."]
 margin_right = 486.0
 margin_right = 486.0
 margin_bottom = 734.0
 margin_bottom = 734.0
-rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
-mouse_filter = 0
-mouse_default_cursor_shape = 0
-size_flags_horizontal = 1
-size_flags_vertical = 1
 color = Color( 0.253451, 0.425288, 0.429412, 1 )
 color = Color( 0.253451, 0.425288, 0.429412, 1 )
 
 
-[node name="Player" parent="." index="1" instance=ExtResource( 3 )]
+[node name="Player" parent="." instance=ExtResource( 3 )]
 
 
-[node name="MobTimer" type="Timer" parent="." index="2"]
-
-process_mode = 1
+[node name="MobTimer" type="Timer" parent="."]
 wait_time = 0.5
 wait_time = 0.5
-one_shot = false
-autostart = false
-
-[node name="ScoreTimer" type="Timer" parent="." index="3"]
 
 
-process_mode = 1
-wait_time = 1.0
-one_shot = false
-autostart = false
+[node name="ScoreTimer" type="Timer" parent="."]
 
 
-[node name="StartTimer" type="Timer" parent="." index="4"]
-
-process_mode = 1
+[node name="StartTimer" type="Timer" parent="."]
 wait_time = 2.0
 wait_time = 2.0
 one_shot = true
 one_shot = true
-autostart = false
-
-[node name="StartPosition" type="Position2D" parent="." index="5"]
 
 
+[node name="StartPosition" type="Position2D" parent="."]
 position = Vector2( 240, 450 )
 position = Vector2( 240, 450 )
-_sections_unfolded = [ "Transform" ]
-
-[node name="HUD" parent="." index="6" instance=ExtResource( 4 )]
-
-transform = Transform2D( 1, 0, 0, 1, 0, 0 )
 
 
-[node name="Music" type="AudioStreamPlayer" parent="." index="7"]
+[node name="HUD" parent="." instance=ExtResource( 4 )]
 
 
+[node name="Music" type="AudioStreamPlayer" parent="."]
 stream = ExtResource( 5 )
 stream = ExtResource( 5 )
 volume_db = -8.0
 volume_db = -8.0
-autoplay = false
-mix_target = 0
-bus = "Master"
-
-[node name="DeathSound" type="AudioStreamPlayer" parent="." index="8"]
 
 
+[node name="DeathSound" type="AudioStreamPlayer" parent="."]
 stream = ExtResource( 6 )
 stream = ExtResource( 6 )
 volume_db = -5.0
 volume_db = -5.0
-autoplay = false
-mix_target = 0
-bus = "Master"
-
-[node name="MobPath" type="Path2D" parent="." index="9"]
 
 
+[node name="MobPath" type="Path2D" parent="."]
 curve = SubResource( 1 )
 curve = SubResource( 1 )
 
 
-[node name="MobSpawnLocation" type="PathFollow2D" parent="MobPath" index="0"]
-
+[node name="MobSpawnLocation" type="PathFollow2D" parent="MobPath"]
 position = Vector2( 1.70602, 3.56798 )
 position = Vector2( 1.70602, 3.56798 )
 rotation = -0.000630111
 rotation = -0.000630111
-offset = 0.0
-h_offset = 0.0
-v_offset = 0.0
-rotate = true
-cubic_interp = true
-loop = true
-lookahead = 4.0
 
 
 [connection signal="hit" from="Player" to="." method="game_over"]
 [connection signal="hit" from="Player" to="." method="game_over"]
-
 [connection signal="timeout" from="MobTimer" to="." method="_on_MobTimer_timeout"]
 [connection signal="timeout" from="MobTimer" to="." method="_on_MobTimer_timeout"]
-
 [connection signal="timeout" from="ScoreTimer" to="." method="_on_ScoreTimer_timeout"]
 [connection signal="timeout" from="ScoreTimer" to="." method="_on_ScoreTimer_timeout"]
-
 [connection signal="timeout" from="StartTimer" to="." method="_on_StartTimer_timeout"]
 [connection signal="timeout" from="StartTimer" to="." method="_on_StartTimer_timeout"]
-
 [connection signal="start_game" from="HUD" to="." method="new_game"]
 [connection signal="start_game" from="HUD" to="." method="new_game"]
-
-

+ 4 - 28
2d/dodge_the_creeps/Mob.tscn

@@ -9,7 +9,6 @@
 [ext_resource path="res://art/enemySwimming_2.png" type="Texture" id=7]
 [ext_resource path="res://art/enemySwimming_2.png" type="Texture" id=7]
 
 
 [sub_resource type="SpriteFrames" id=1]
 [sub_resource type="SpriteFrames" id=1]
-
 animations = [ {
 animations = [ {
 "frames": [ ExtResource( 2 ), ExtResource( 3 ) ],
 "frames": [ ExtResource( 2 ), ExtResource( 3 ) ],
 "loop": true,
 "loop": true,
@@ -28,55 +27,32 @@ animations = [ {
 } ]
 } ]
 
 
 [sub_resource type="CapsuleShape2D" id=2]
 [sub_resource type="CapsuleShape2D" id=2]
-
-custom_solver_bias = 0.0
 radius = 34.8222
 radius = 34.8222
 height = 28.8308
 height = 28.8308
 
 
 [node name="Mob" type="RigidBody2D"]
 [node name="Mob" type="RigidBody2D"]
-
 input_pickable = true
 input_pickable = true
-collision_layer = 1
 collision_mask = 0
 collision_mask = 0
-mode = 0
-mass = 1.0
-friction = 1.0
-bounce = 0.0
 gravity_scale = 0.0
 gravity_scale = 0.0
-custom_integrator = false
-continuous_cd = 0
-contacts_reported = 0
-contact_monitor = false
-sleeping = false
-can_sleep = true
-linear_velocity = Vector2( 0, 0 )
 linear_damp = 0.1
 linear_damp = 0.1
-angular_velocity = 0.0
 angular_damp = 1.0
 angular_damp = 1.0
 script = ExtResource( 1 )
 script = ExtResource( 1 )
-_sections_unfolded = [ "Angular", "Collision", "Transform" ]
 __meta__ = {
 __meta__ = {
 "_edit_group_": true
 "_edit_group_": true
 }
 }
 MIN_SPEED = 150
 MIN_SPEED = 150
 MAX_SPEED = 250
 MAX_SPEED = 250
 
 
-[node name="AnimatedSprite" type="AnimatedSprite" parent="." index="0"]
-
+[node name="AnimatedSprite" type="AnimatedSprite" parent="."]
 scale = Vector2( 0.75, 0.75 )
 scale = Vector2( 0.75, 0.75 )
 frames = SubResource( 1 )
 frames = SubResource( 1 )
 animation = "swim"
 animation = "swim"
+frame = 1
 playing = true
 playing = true
-_sections_unfolded = [ "Transform" ]
-
-[node name="Collision" type="CollisionShape2D" parent="." index="1"]
 
 
+[node name="Collision" type="CollisionShape2D" parent="."]
 rotation = 1.5708
 rotation = 1.5708
 shape = SubResource( 2 )
 shape = SubResource( 2 )
-_sections_unfolded = [ "Transform", "Visibility" ]
-
-[node name="Visibility" type="VisibilityNotifier2D" parent="." index="2"]
-
-rect = Rect2( -10, -10, 20, 20 )
 
 
+[node name="Visibility" type="VisibilityNotifier2D" parent="."]
 
 

+ 5 - 6
2d/dodge_the_creeps/Player.gd

@@ -13,7 +13,8 @@ func _ready():
 func start(pos):
 func start(pos):
 	position = pos
 	position = pos
 	show()
 	show()
-	$Collision.disabled = false
+	# Must be deferred as we can't change physics properties on a physics callback
+	$Collision.set_deferred("disabled", false)
 
 
 func _process(delta):
 func _process(delta):
 	velocity = Vector2()
 	velocity = Vector2()
@@ -45,10 +46,8 @@ func _process(delta):
 		$AnimatedSprite.animation = "up"
 		$AnimatedSprite.animation = "up"
 		$AnimatedSprite.flip_v = velocity.y > 0
 		$AnimatedSprite.flip_v = velocity.y > 0
 
 
-func _on_Player_body_entered( body ):
-	$Collision.disabled = true
+func _on_Player_body_entered(_body):
+	# Must be deferred as we can't change physics properties on a physics callback
+	$Collision.set_deferred("disabled", true)
 	hide()
 	hide()
 	emit_signal("hit")
 	emit_signal("hit")
-
-
-

+ 3 - 77
2d/dodge_the_creeps/Player.tscn

@@ -7,7 +7,6 @@
 [ext_resource path="res://art/playerGrey_up2.png" type="Texture" id=5]
 [ext_resource path="res://art/playerGrey_up2.png" type="Texture" id=5]
 
 
 [sub_resource type="SpriteFrames" id=1]
 [sub_resource type="SpriteFrames" id=1]
-
 animations = [ {
 animations = [ {
 "frames": [ ExtResource( 2 ), ExtResource( 3 ) ],
 "frames": [ ExtResource( 2 ), ExtResource( 3 ) ],
 "loop": true,
 "loop": true,
@@ -21,125 +20,52 @@ animations = [ {
 } ]
 } ]
 
 
 [sub_resource type="CapsuleShape2D" id=2]
 [sub_resource type="CapsuleShape2D" id=2]
-
-custom_solver_bias = 0.0
 radius = 26.5155
 radius = 26.5155
 height = 13.8847
 height = 13.8847
 
 
 [sub_resource type="Gradient" id=3]
 [sub_resource type="Gradient" id=3]
-
-offsets = PoolRealArray( 0, 1 )
 colors = PoolColorArray( 1, 1, 1, 0.523804, 1, 1, 1, 0 )
 colors = PoolColorArray( 1, 1, 1, 0.523804, 1, 1, 1, 0 )
 
 
 [sub_resource type="GradientTexture" id=4]
 [sub_resource type="GradientTexture" id=4]
-
-flags = 4
 gradient = SubResource( 3 )
 gradient = SubResource( 3 )
-width = 2048
 
 
 [sub_resource type="Curve" id=5]
 [sub_resource type="Curve" id=5]
-
-min_value = 0.0
-max_value = 1.0
-bake_resolution = 100
 _data = [ Vector2( 0, 0.446289 ), 0.0, 0.0, 0, 0, Vector2( 1, 0.306641 ), 0.0, 0.0, 0, 0 ]
 _data = [ Vector2( 0, 0.446289 ), 0.0, 0.0, 0, 0, Vector2( 1, 0.306641 ), 0.0, 0.0, 0, 0 ]
 
 
 [sub_resource type="CurveTexture" id=6]
 [sub_resource type="CurveTexture" id=6]
-
-flags = 4
-width = 2048
 curve = SubResource( 5 )
 curve = SubResource( 5 )
 
 
 [sub_resource type="ParticlesMaterial" id=7]
 [sub_resource type="ParticlesMaterial" id=7]
-
-render_priority = 0
-trail_divisor = 1
-emission_shape = 0
-flag_align_y = false
-flag_rotate_y = false
 flag_disable_z = true
 flag_disable_z = true
-spread = 45.0
-flatness = 0.0
 gravity = Vector3( 0, 0, 0 )
 gravity = Vector3( 0, 0, 0 )
 initial_velocity = 1.0
 initial_velocity = 1.0
-initial_velocity_random = 0.0
 angular_velocity = 1.56945e-43
 angular_velocity = 1.56945e-43
-angular_velocity_random = 0.0
 orbit_velocity = 0.0
 orbit_velocity = 0.0
 orbit_velocity_random = 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
 scale_curve = SubResource( 6 )
 scale_curve = SubResource( 6 )
 color_ramp = SubResource( 4 )
 color_ramp = SubResource( 4 )
-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
-_sections_unfolded = [ "Color", "Gravity", "Scale" ]
 
 
 [node name="Player" type="Area2D"]
 [node name="Player" type="Area2D"]
-
-input_pickable = true
-gravity_vec = Vector2( 0, 1 )
-gravity = 98.0
-linear_damp = 0.1
-angular_damp = 1.0
-audio_bus_override = false
-audio_bus_name = "Master"
 script = ExtResource( 1 )
 script = ExtResource( 1 )
-_sections_unfolded = [ "Transform" ]
 __meta__ = {
 __meta__ = {
 "_edit_group_": true
 "_edit_group_": true
 }
 }
 SPEED = 400
 SPEED = 400
 
 
-[node name="AnimatedSprite" type="AnimatedSprite" parent="." index="0"]
-
+[node name="AnimatedSprite" type="AnimatedSprite" parent="."]
 scale = Vector2( 0.5, 0.5 )
 scale = Vector2( 0.5, 0.5 )
 frames = SubResource( 1 )
 frames = SubResource( 1 )
 animation = "right"
 animation = "right"
-_sections_unfolded = [ "Region", "Transform", "Z" ]
-
-[node name="Collision" type="CollisionShape2D" parent="." index="1"]
 
 
+[node name="Collision" type="CollisionShape2D" parent="."]
 shape = SubResource( 2 )
 shape = SubResource( 2 )
 
 
-[node name="Trail" type="Particles2D" parent="." index="2"]
-
+[node name="Trail" type="Particles2D" parent="."]
 show_behind_parent = true
 show_behind_parent = true
-emitting = true
 amount = 10
 amount = 10
-lifetime = 1.0
-one_shot = false
-preprocess = 0.0
 speed_scale = 2.0
 speed_scale = 2.0
-explosiveness = 0.0
-randomness = 0.0
-fixed_fps = 0
-fract_delta = true
-visibility_rect = Rect2( -100, -100, 200, 200 )
 local_coords = false
 local_coords = false
-draw_order = 0
 process_material = SubResource( 7 )
 process_material = SubResource( 7 )
 texture = ExtResource( 4 )
 texture = ExtResource( 4 )
-normal_map = null
-h_frames = 1
-v_frames = 1
-_sections_unfolded = [ "Drawing", "Process Material", "Textures", "Time", "Transform", "Visibility" ]
 
 
 [connection signal="body_entered" from="." to="." method="_on_Player_body_entered"]
 [connection signal="body_entered" from="." to="." method="_on_Player_body_entered"]
-
-

+ 0 - 86
2d/dodge_the_creeps/default_env.tres

@@ -1,102 +1,16 @@
 [gd_resource type="Environment" load_steps=2 format=2]
 [gd_resource type="Environment" load_steps=2 format=2]
 
 
 [sub_resource type="ProceduralSky" id=1]
 [sub_resource type="ProceduralSky" id=1]
-
-radiance_size = 4
 sky_top_color = Color( 0.0470588, 0.454902, 0.976471, 1 )
 sky_top_color = Color( 0.0470588, 0.454902, 0.976471, 1 )
 sky_horizon_color = Color( 0.556863, 0.823529, 0.909804, 1 )
 sky_horizon_color = Color( 0.556863, 0.823529, 0.909804, 1 )
 sky_curve = 0.25
 sky_curve = 0.25
-sky_energy = 1.0
 ground_bottom_color = Color( 0.101961, 0.145098, 0.188235, 1 )
 ground_bottom_color = Color( 0.101961, 0.145098, 0.188235, 1 )
 ground_horizon_color = Color( 0.482353, 0.788235, 0.952941, 1 )
 ground_horizon_color = Color( 0.482353, 0.788235, 0.952941, 1 )
 ground_curve = 0.01
 ground_curve = 0.01
-ground_energy = 1.0
-sun_color = Color( 1, 1, 1, 1 )
-sun_latitude = 35.0
-sun_longitude = 0.0
-sun_angle_min = 1.0
-sun_angle_max = 100.0
-sun_curve = 0.05
-sun_energy = 16.0
-texture_size = 2
 
 
 [resource]
 [resource]
-
 background_mode = 2
 background_mode = 2
 background_sky = SubResource( 1 )
 background_sky = SubResource( 1 )
-background_sky_custom_fov = 0.0
-background_color = Color( 0, 0, 0, 1 )
-background_energy = 1.0
-background_canvas_max_layer = 0
-ambient_light_color = Color( 0, 0, 0, 1 )
-ambient_light_energy = 1.0
 ambient_light_sky_contribution = 0.0
 ambient_light_sky_contribution = 0.0
-fog_enabled = false
-fog_color = Color( 0.5, 0.6, 0.7, 1 )
-fog_sun_color = Color( 1, 0.9, 0.7, 1 )
-fog_sun_amount = 0.0
-fog_depth_enabled = true
-fog_depth_begin = 10.0
-fog_depth_curve = 1.0
-fog_transmit_enabled = false
-fog_transmit_curve = 1.0
-fog_height_enabled = false
-fog_height_min = 0.0
-fog_height_max = 100.0
-fog_height_curve = 1.0
-tonemap_mode = 0
-tonemap_exposure = 1.0
-tonemap_white = 1.0
-auto_exposure_enabled = false
-auto_exposure_scale = 0.4
-auto_exposure_min_luma = 0.05
-auto_exposure_max_luma = 8.0
-auto_exposure_speed = 0.5
-ss_reflections_enabled = false
-ss_reflections_max_steps = 64
-ss_reflections_fade_in = 0.15
-ss_reflections_fade_out = 2.0
-ss_reflections_depth_tolerance = 0.2
-ss_reflections_roughness = true
-ssao_enabled = false
-ssao_radius = 1.0
-ssao_intensity = 1.0
-ssao_radius2 = 0.0
-ssao_intensity2 = 1.0
-ssao_bias = 0.01
-ssao_light_affect = 0.0
-ssao_color = Color( 0, 0, 0, 1 )
-ssao_quality = 0
 ssao_blur = 1
 ssao_blur = 1
-ssao_edge_sharpness = 4.0
-dof_blur_far_enabled = false
-dof_blur_far_distance = 10.0
-dof_blur_far_transition = 5.0
-dof_blur_far_amount = 0.1
-dof_blur_far_quality = 1
-dof_blur_near_enabled = false
-dof_blur_near_distance = 2.0
-dof_blur_near_transition = 1.0
-dof_blur_near_amount = 0.1
-dof_blur_near_quality = 1
-glow_enabled = false
-glow_levels/1 = false
-glow_levels/2 = false
-glow_levels/3 = true
-glow_levels/4 = false
-glow_levels/5 = true
-glow_levels/6 = false
-glow_levels/7 = false
-glow_intensity = 0.8
-glow_strength = 1.0
-glow_bloom = 0.0
-glow_blend_mode = 2
-glow_hdr_threshold = 1.0
-glow_hdr_scale = 2.0
-glow_bicubic_upscale = false
-adjustment_enabled = false
-adjustment_brightness = 1.0
-adjustment_contrast = 1.0
-adjustment_saturation = 1.0
-_sections_unfolded = [ "Background" ]
 
 

+ 6 - 1
2d/dodge_the_creeps/project.godot

@@ -6,7 +6,12 @@
 ;   [section] ; section goes between []
 ;   [section] ; section goes between []
 ;   param=value ; assign values to parameters
 ;   param=value ; assign values to parameters
 
 
-config_version=3
+config_version=4
+
+_global_script_classes=[  ]
+_global_script_class_icons={
+
+}
 
 
 [application]
 [application]
 
 

+ 4 - 5
2d/finite_state_machine/Demo.tscn

@@ -7,15 +7,14 @@
 
 
 [node name="Demo" type="Node"]
 [node name="Demo" type="Node"]
 
 
-[node name="Player" parent="." index="0" instance=ExtResource( 1 )]
-
+[node name="Player" parent="." instance=ExtResource( 1 )]
 editor/display_folded = true
 editor/display_folded = true
 
 
-[node name="StatesStackDiplayer" parent="." index="1" instance=ExtResource( 2 )]
+[node name="StatesStackDiplayer" parent="." instance=ExtResource( 2 )]
 
 
-[node name="ControlsPanel" parent="." index="2" instance=ExtResource( 3 )]
+[node name="ControlsPanel" parent="." instance=ExtResource( 3 )]
 
 
-[node name="Explanations" parent="." index="3" instance=ExtResource( 4 )]
+[node name="Explanations" parent="." instance=ExtResource( 4 )]
 
 
 
 
 [editable path="Player"]
 [editable path="Player"]

+ 3 - 39
2d/finite_state_machine/debug/ControlsPanel.tscn

@@ -3,65 +3,34 @@
 [ext_resource path="res://debug/top_level_ui.gd" type="Script" id=1]
 [ext_resource path="res://debug/top_level_ui.gd" type="Script" id=1]
 [ext_resource path="res://fonts/source_code_pro_explanations.tres" type="DynamicFont" id=2]
 [ext_resource path="res://fonts/source_code_pro_explanations.tres" type="DynamicFont" id=2]
 
 
-[node name="ControlsPanel" type="Panel" index="0"]
-
+[node name="ControlsPanel" type="Panel"]
 anchor_left = 1.0
 anchor_left = 1.0
-anchor_top = 0.0
 anchor_right = 1.0
 anchor_right = 1.0
-anchor_bottom = 0.0
 margin_left = -220.0
 margin_left = -220.0
 margin_bottom = 170.0
 margin_bottom = 170.0
-rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
-mouse_filter = 0
-mouse_default_cursor_shape = 0
-size_flags_horizontal = 1
-size_flags_vertical = 1
 script = ExtResource( 1 )
 script = ExtResource( 1 )
 
 
-[node name="Keys" type="Label" parent="." index="0"]
-
-anchor_left = 0.0
-anchor_top = 0.0
+[node name="Keys" type="Label" parent="."]
 anchor_right = 1.0
 anchor_right = 1.0
 anchor_bottom = 1.0
 anchor_bottom = 1.0
 margin_left = 10.0
 margin_left = 10.0
 margin_top = 10.0
 margin_top = 10.0
 margin_right = -10.0
 margin_right = -10.0
 margin_bottom = -10.0
 margin_bottom = -10.0
-rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
-mouse_filter = 2
-mouse_default_cursor_shape = 0
-size_flags_horizontal = 1
-size_flags_vertical = 4
 custom_fonts/font = ExtResource( 2 )
 custom_fonts/font = ExtResource( 2 )
 text = "Shoot:
 text = "Shoot:
 Attack:
 Attack:
 Stagger:
 Stagger:
 Jump:
 Jump:
 Sprint:"
 Sprint:"
-percent_visible = 1.0
-lines_skipped = 0
-max_lines_visible = -1
-_sections_unfolded = [ "BBCode", "custom_fonts" ]
 
 
-[node name="Keys2" type="Label" parent="." index="1"]
-
-anchor_left = 0.0
-anchor_top = 0.0
+[node name="Keys2" type="Label" parent="."]
 anchor_right = 1.0
 anchor_right = 1.0
 anchor_bottom = 1.0
 anchor_bottom = 1.0
 margin_left = 10.0
 margin_left = 10.0
 margin_top = 10.0
 margin_top = 10.0
 margin_right = -10.0
 margin_right = -10.0
 margin_bottom = -10.0
 margin_bottom = -10.0
-rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
-mouse_filter = 2
-mouse_default_cursor_shape = 0
-size_flags_horizontal = 1
-size_flags_vertical = 4
 custom_fonts/font = ExtResource( 2 )
 custom_fonts/font = ExtResource( 2 )
 text = "R
 text = "R
 F
 F
@@ -69,9 +38,4 @@ X
 Space
 Space
 Shift"
 Shift"
 align = 2
 align = 2
-percent_visible = 1.0
-lines_skipped = 0
-max_lines_visible = -1
-_sections_unfolded = [ "BBCode", "custom_fonts" ]
-
 
 

+ 0 - 17
2d/finite_state_machine/debug/Explanations.tscn

@@ -4,22 +4,15 @@
 [ext_resource path="res://fonts/source_code_pro_explanations.tres" type="DynamicFont" id=2]
 [ext_resource path="res://fonts/source_code_pro_explanations.tres" type="DynamicFont" id=2]
 [ext_resource path="res://debug/top_level_ui.gd" type="Script" id=3]
 [ext_resource path="res://debug/top_level_ui.gd" type="Script" id=3]
 
 
-
 [node name="Explanations" type="RichTextLabel"]
 [node name="Explanations" type="RichTextLabel"]
-
-anchor_left = 0.0
-anchor_top = 0.0
 anchor_right = 1.0
 anchor_right = 1.0
 anchor_bottom = 1.0
 anchor_bottom = 1.0
 margin_left = 10.0
 margin_left = 10.0
 margin_top = -370.0
 margin_top = -370.0
 margin_right = -10.0
 margin_right = -10.0
 margin_bottom = -730.0
 margin_bottom = -730.0
-rect_pivot_offset = Vector2( 0, 0 )
 rect_clip_content = false
 rect_clip_content = false
 mouse_filter = 2
 mouse_filter = 2
-mouse_default_cursor_shape = 0
-size_flags_horizontal = 1
 size_flags_vertical = 4
 size_flags_vertical = 4
 custom_fonts/bold_font = ExtResource( 1 )
 custom_fonts/bold_font = ExtResource( 1 )
 custom_fonts/normal_font = ExtResource( 2 )
 custom_fonts/normal_font = ExtResource( 2 )
@@ -33,10 +26,6 @@ States are common in games. You can use the pattern to:
 3. Improve your code's structure. Look at the scene tree and FileSystem tab: without looking at the code, you'll know what the Player can or cannot do.
 3. Improve your code's structure. Look at the scene tree and FileSystem tab: without looking at the code, you'll know what the Player can or cannot do.
 
 
 You can read more about States in the excellent [url=http://gameprogrammingpatterns.com/state.html]Game Programming Patterns ebook[/url]."
 You can read more about States in the excellent [url=http://gameprogrammingpatterns.com/state.html]Game Programming Patterns ebook[/url]."
-visible_characters = -1
-percent_visible = 1.0
-meta_underlined = true
-tab_size = 4
 text = "This example shows how to apply the State programming pattern in GDscript, including Hierarchical States, and a pushdown automaton. 
 text = "This example shows how to apply the State programming pattern in GDscript, including Hierarchical States, and a pushdown automaton. 
 
 
 States are common in games. You can use the pattern to:
 States are common in games. You can use the pattern to:
@@ -46,14 +35,8 @@ States are common in games. You can use the pattern to:
 3. Improve your code's structure. Look at the scene tree and FileSystem tab: without looking at the code, you'll know what the Player can or cannot do.
 3. Improve your code's structure. Look at the scene tree and FileSystem tab: without looking at the code, you'll know what the Player can or cannot do.
 
 
 You can read more about States in the excellent Game Programming Patterns ebook."
 You can read more about States in the excellent Game Programming Patterns ebook."
-scroll_active = true
-scroll_following = false
-selection_enabled = false
-override_selected_font_color = false
 script = ExtResource( 3 )
 script = ExtResource( 3 )
-_sections_unfolded = [ "BBCode", "custom_fonts" ]
 __meta__ = {
 __meta__ = {
 "_edit_lock_": true
 "_edit_lock_": true
 }
 }
 
 
-

+ 3 - 62
2d/finite_state_machine/debug/StatesStackDiplayer.tscn

@@ -3,106 +3,47 @@
 [ext_resource path="res://debug/states_stack_displayer.gd" type="Script" id=1]
 [ext_resource path="res://debug/states_stack_displayer.gd" type="Script" id=1]
 [ext_resource path="res://fonts/SourceCodePro-Bold.ttf" type="DynamicFontData" id=2]
 [ext_resource path="res://fonts/SourceCodePro-Bold.ttf" type="DynamicFontData" id=2]
 
 
-
 [sub_resource type="DynamicFont" id=1]
 [sub_resource type="DynamicFont" id=1]
-
 size = 20
 size = 20
-use_mipmaps = false
 use_filter = true
 use_filter = true
 font_data = ExtResource( 2 )
 font_data = ExtResource( 2 )
-_sections_unfolded = [ "Font", "Settings" ]
 
 
 [node name="StatesStackDiplayer" type="Panel"]
 [node name="StatesStackDiplayer" type="Panel"]
-
-anchor_left = 0.0
-anchor_top = 0.0
-anchor_right = 0.0
-anchor_bottom = 0.0
 margin_right = 210.0
 margin_right = 210.0
 margin_bottom = 170.0
 margin_bottom = 170.0
-rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
-mouse_filter = 0
-mouse_default_cursor_shape = 0
-size_flags_horizontal = 1
-size_flags_vertical = 1
 script = ExtResource( 1 )
 script = ExtResource( 1 )
 __meta__ = {
 __meta__ = {
 "_edit_group_": true
 "_edit_group_": true
 }
 }
 
 
-[node name="Title" type="Label" parent="." index="0"]
-
+[node name="Title" type="Label" parent="."]
 anchor_left = 0.5
 anchor_left = 0.5
-anchor_top = 0.0
 anchor_right = 0.5
 anchor_right = 0.5
-anchor_bottom = 0.0
 margin_left = -105.0
 margin_left = -105.0
 margin_right = 105.0
 margin_right = 105.0
 margin_bottom = 40.0
 margin_bottom = 40.0
-rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
-mouse_filter = 2
-mouse_default_cursor_shape = 0
-size_flags_horizontal = 1
-size_flags_vertical = 4
 custom_fonts/font = SubResource( 1 )
 custom_fonts/font = SubResource( 1 )
 text = "Pushown"
 text = "Pushown"
 align = 1
 align = 1
 valign = 1
 valign = 1
 uppercase = true
 uppercase = true
-percent_visible = 1.0
-lines_skipped = 0
-max_lines_visible = -1
-_sections_unfolded = [ "custom_fonts" ]
 
 
-[node name="States" type="Label" parent="." index="1"]
-
-anchor_left = 0.0
-anchor_top = 0.0
-anchor_right = 0.0
-anchor_bottom = 0.0
+[node name="States" type="Label" parent="."]
 margin_left = 20.0
 margin_left = 20.0
 margin_top = 50.0
 margin_top = 50.0
 margin_right = 190.0
 margin_right = 190.0
 margin_bottom = 170.0
 margin_bottom = 170.0
-rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
-mouse_filter = 2
-mouse_default_cursor_shape = 0
-size_flags_horizontal = 1
-size_flags_vertical = 4
 custom_fonts/font = SubResource( 1 )
 custom_fonts/font = SubResource( 1 )
 text = "Jump
 text = "Jump
 Test"
 Test"
 align = 1
 align = 1
-percent_visible = 1.0
-lines_skipped = 0
-max_lines_visible = -1
-_sections_unfolded = [ "custom_fonts" ]
-
-[node name="Numbers" type="Label" parent="." index="2"]
 
 
-anchor_left = 0.0
-anchor_top = 0.0
-anchor_right = 0.0
-anchor_bottom = 0.0
+[node name="Numbers" type="Label" parent="."]
 margin_left = 20.0
 margin_left = 20.0
 margin_top = 50.0
 margin_top = 50.0
 margin_right = 190.0
 margin_right = 190.0
 margin_bottom = 170.0
 margin_bottom = 170.0
-rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
-mouse_filter = 2
-mouse_default_cursor_shape = 0
-size_flags_horizontal = 1
-size_flags_vertical = 4
 custom_fonts/font = SubResource( 1 )
 custom_fonts/font = SubResource( 1 )
 text = "1.
 text = "1.
 2."
 2."
-percent_visible = 1.0
-lines_skipped = 0
-max_lines_visible = -1
-_sections_unfolded = [ "custom_fonts" ]
-
 
 

+ 0 - 87
2d/finite_state_machine/default_env.tres

@@ -1,101 +1,14 @@
 [gd_resource type="Environment" load_steps=2 format=2]
 [gd_resource type="Environment" load_steps=2 format=2]
 
 
 [sub_resource type="ProceduralSky" id=1]
 [sub_resource type="ProceduralSky" id=1]
-
-radiance_size = 4
 sky_top_color = Color( 0.0470588, 0.454902, 0.976471, 1 )
 sky_top_color = Color( 0.0470588, 0.454902, 0.976471, 1 )
 sky_horizon_color = Color( 0.556863, 0.823529, 0.909804, 1 )
 sky_horizon_color = Color( 0.556863, 0.823529, 0.909804, 1 )
 sky_curve = 0.25
 sky_curve = 0.25
-sky_energy = 1.0
 ground_bottom_color = Color( 0.101961, 0.145098, 0.188235, 1 )
 ground_bottom_color = Color( 0.101961, 0.145098, 0.188235, 1 )
 ground_horizon_color = Color( 0.482353, 0.788235, 0.952941, 1 )
 ground_horizon_color = Color( 0.482353, 0.788235, 0.952941, 1 )
 ground_curve = 0.01
 ground_curve = 0.01
-ground_energy = 1.0
-sun_color = Color( 1, 1, 1, 1 )
-sun_latitude = 35.0
-sun_longitude = 0.0
-sun_angle_min = 1.0
-sun_angle_max = 100.0
-sun_curve = 0.05
-sun_energy = 16.0
-texture_size = 2
 
 
 [resource]
 [resource]
-
 background_mode = 2
 background_mode = 2
 background_sky = SubResource( 1 )
 background_sky = SubResource( 1 )
-background_sky_custom_fov = 0.0
-background_color = Color( 0, 0, 0, 1 )
-background_energy = 1.0
-background_canvas_max_layer = 0
-ambient_light_color = Color( 0, 0, 0, 1 )
-ambient_light_energy = 1.0
-ambient_light_sky_contribution = 1.0
-fog_enabled = false
-fog_color = Color( 0.5, 0.6, 0.7, 1 )
-fog_sun_color = Color( 1, 0.9, 0.7, 1 )
-fog_sun_amount = 0.0
-fog_depth_enabled = true
-fog_depth_begin = 10.0
-fog_depth_curve = 1.0
-fog_transmit_enabled = false
-fog_transmit_curve = 1.0
-fog_height_enabled = false
-fog_height_min = 0.0
-fog_height_max = 100.0
-fog_height_curve = 1.0
-tonemap_mode = 0
-tonemap_exposure = 1.0
-tonemap_white = 1.0
-auto_exposure_enabled = false
-auto_exposure_scale = 0.4
-auto_exposure_min_luma = 0.05
-auto_exposure_max_luma = 8.0
-auto_exposure_speed = 0.5
-ss_reflections_enabled = false
-ss_reflections_max_steps = 64
-ss_reflections_fade_in = 0.15
-ss_reflections_fade_out = 2.0
-ss_reflections_depth_tolerance = 0.2
-ss_reflections_roughness = true
-ssao_enabled = false
-ssao_radius = 1.0
-ssao_intensity = 1.0
-ssao_radius2 = 0.0
-ssao_intensity2 = 1.0
-ssao_bias = 0.01
-ssao_light_affect = 0.0
-ssao_color = Color( 0, 0, 0, 1 )
-ssao_quality = 0
-ssao_blur = 3
-ssao_edge_sharpness = 4.0
-dof_blur_far_enabled = false
-dof_blur_far_distance = 10.0
-dof_blur_far_transition = 5.0
-dof_blur_far_amount = 0.1
-dof_blur_far_quality = 1
-dof_blur_near_enabled = false
-dof_blur_near_distance = 2.0
-dof_blur_near_transition = 1.0
-dof_blur_near_amount = 0.1
-dof_blur_near_quality = 1
-glow_enabled = false
-glow_levels/1 = false
-glow_levels/2 = false
-glow_levels/3 = true
-glow_levels/4 = false
-glow_levels/5 = true
-glow_levels/6 = false
-glow_levels/7 = false
-glow_intensity = 0.8
-glow_strength = 1.0
-glow_bloom = 0.0
-glow_blend_mode = 2
-glow_hdr_threshold = 1.0
-glow_hdr_scale = 2.0
-glow_bicubic_upscale = false
-adjustment_enabled = false
-adjustment_brightness = 1.0
-adjustment_contrast = 1.0
-adjustment_saturation = 1.0
 
 

+ 19 - 94
2d/finite_state_machine/player/Player.tscn

@@ -18,15 +18,8 @@
 
 
 [sub_resource type="Animation" id=1]
 [sub_resource type="Animation" id=1]
 
 
-length = 1.0
-loop = false
-step = 0.1
-
 [sub_resource type="Animation" id=2]
 [sub_resource type="Animation" id=2]
-
 length = 0.6
 length = 0.6
-loop = false
-step = 0.1
 tracks/0/type = "value"
 tracks/0/type = "value"
 tracks/0/path = NodePath("BodyPivot/Body:modulate")
 tracks/0/path = NodePath("BodyPivot/Body:modulate")
 tracks/0/interp = 1
 tracks/0/interp = 1
@@ -42,159 +35,91 @@ tracks/0/keys = {
 
 
 [sub_resource type="Animation" id=3]
 [sub_resource type="Animation" id=3]
 
 
-length = 1.0
-loop = false
-step = 0.1
-
 [sub_resource type="DynamicFont" id=4]
 [sub_resource type="DynamicFont" id=4]
-
 size = 20
 size = 20
-use_mipmaps = false
 use_filter = true
 use_filter = true
 font_data = ExtResource( 14 )
 font_data = ExtResource( 14 )
-_sections_unfolded = [ "Font", "Settings" ]
-
-[node name="Player" type="KinematicBody2D" index="0"]
 
 
+[node name="Player" type="KinematicBody2D"]
 position = Vector2( 628.826, 391.266 )
 position = Vector2( 628.826, 391.266 )
-input_pickable = false
-collision_layer = 1
-collision_mask = 1
-collision/safe_margin = 0.08
 script = ExtResource( 1 )
 script = ExtResource( 1 )
-_sections_unfolded = [ "Visibility" ]
 __meta__ = {
 __meta__ = {
 "_edit_horizontal_guides_": [  ]
 "_edit_horizontal_guides_": [  ]
 }
 }
 
 
-[node name="StateMachine" type="Node" parent="." index="0"]
-
+[node name="StateMachine" type="Node" parent="."]
 script = ExtResource( 2 )
 script = ExtResource( 2 )
 START_STATE = NodePath("Idle")
 START_STATE = NodePath("Idle")
 
 
-[node name="Idle" type="Node" parent="StateMachine" index="0"]
-
+[node name="Idle" type="Node" parent="StateMachine"]
 script = ExtResource( 3 )
 script = ExtResource( 3 )
 
 
-[node name="Move" type="Node" parent="StateMachine" index="1"]
-
+[node name="Move" type="Node" parent="StateMachine"]
 script = ExtResource( 4 )
 script = ExtResource( 4 )
-MAX_WALK_SPEED = 450
-MAX_RUN_SPEED = 700
-
-[node name="Jump" type="Node" parent="StateMachine" index="2"]
 
 
+[node name="Jump" type="Node" parent="StateMachine"]
 script = ExtResource( 5 )
 script = ExtResource( 5 )
-BASE_MAX_HORIZONTAL_SPEED = 400.0
-AIR_ACCELERATION = 1000.0
-AIR_DECCELERATION = 2000.0
-AIR_STEERING_POWER = 50.0
-JUMP_HEIGHT = 120.0
-JUMP_DURATION = 0.8
-GRAVITY = 1600.0
-
-[node name="Stagger" type="Node" parent="StateMachine" index="3"]
 
 
+[node name="Stagger" type="Node" parent="StateMachine"]
 script = ExtResource( 6 )
 script = ExtResource( 6 )
 
 
-[node name="Attack" type="Node" parent="StateMachine" index="4"]
-
+[node name="Attack" type="Node" parent="StateMachine"]
 script = ExtResource( 7 )
 script = ExtResource( 7 )
 
 
-[node name="Die" type="Node" parent="StateMachine" index="5"]
-
+[node name="Die" type="Node" parent="StateMachine"]
 script = ExtResource( 8 )
 script = ExtResource( 8 )
 
 
-[node name="AnimationPlayer" type="AnimationPlayer" parent="." index="1"]
-
-root_node = NodePath("..")
-autoplay = ""
-playback_process_mode = 1
-playback_default_blend_time = 0.0
-playback_speed = 1.0
+[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
 anims/idle = SubResource( 1 )
 anims/idle = SubResource( 1 )
 anims/stagger = SubResource( 2 )
 anims/stagger = SubResource( 2 )
 anims/walk = SubResource( 3 )
 anims/walk = SubResource( 3 )
-blend_times = [  ]
-
-[node name="Shadow" type="Sprite" parent="." index="2"]
 
 
+[node name="Shadow" type="Sprite" parent="."]
 self_modulate = Color( 1, 1, 1, 0.361098 )
 self_modulate = Color( 1, 1, 1, 0.361098 )
 position = Vector2( 0, -4 )
 position = Vector2( 0, -4 )
 texture = ExtResource( 9 )
 texture = ExtResource( 9 )
-_sections_unfolded = [ "Visibility" ]
-
-[node name="BodyPivot" type="Position2D" parent="." index="3"]
 
 
-[node name="Body" type="Sprite" parent="BodyPivot" index="0"]
+[node name="BodyPivot" type="Position2D" parent="."]
 
 
+[node name="Body" type="Sprite" parent="BodyPivot"]
 position = Vector2( 0, -58.8242 )
 position = Vector2( 0, -58.8242 )
 texture = ExtResource( 10 )
 texture = ExtResource( 10 )
 
 
-[node name="BulletSpawn" type="Node2D" parent="BodyPivot" index="1"]
-
+[node name="BulletSpawn" type="Node2D" parent="BodyPivot"]
 editor/display_folded = true
 editor/display_folded = true
 position = Vector2( 1.17401, -61.266 )
 position = Vector2( 1.17401, -61.266 )
 script = ExtResource( 11 )
 script = ExtResource( 11 )
-_sections_unfolded = [ "Transform" ]
-
-[node name="CooldownTimer" type="Timer" parent="BodyPivot/BulletSpawn" index="0"]
 
 
-process_mode = 1
+[node name="CooldownTimer" type="Timer" parent="BodyPivot/BulletSpawn"]
 wait_time = 0.2
 wait_time = 0.2
 one_shot = true
 one_shot = true
-autostart = false
-
-[node name="WeaponPivot" type="Position2D" parent="BodyPivot" index="2"]
 
 
+[node name="WeaponPivot" type="Position2D" parent="BodyPivot"]
 position = Vector2( 1.17401, -61.266 )
 position = Vector2( 1.17401, -61.266 )
 script = ExtResource( 12 )
 script = ExtResource( 12 )
 
 
-[node name="Offset" type="Position2D" parent="BodyPivot/WeaponPivot" index="0"]
-
+[node name="Offset" type="Position2D" parent="BodyPivot/WeaponPivot"]
 position = Vector2( 110, 0 )
 position = Vector2( 110, 0 )
 
 
-[node name="Sword" parent="BodyPivot/WeaponPivot/Offset" index="0" instance=ExtResource( 13 )]
-
-[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="." index="4"]
+[node name="Sword" parent="BodyPivot/WeaponPivot/Offset" instance=ExtResource( 13 )]
 
 
-build_mode = 0
+[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="."]
 polygon = PoolVector2Array( -20, 0, -20, -20, 20, -20, 20, 0 )
 polygon = PoolVector2Array( -20, 0, -20, -20, 20, -20, 20, 0 )
 
 
-[node name="StateNameDisplayer" type="Label" parent="." index="5"]
-
+[node name="StateNameDisplayer" type="Label" parent="."]
 editor/display_folded = true
 editor/display_folded = true
-anchor_left = 0.0
-anchor_top = 0.0
-anchor_right = 0.0
-anchor_bottom = 0.0
 margin_left = -109.0
 margin_left = -109.0
 margin_top = -172.0
 margin_top = -172.0
 margin_right = 110.0
 margin_right = 110.0
 margin_bottom = -138.0
 margin_bottom = -138.0
-rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
-mouse_filter = 2
-mouse_default_cursor_shape = 0
-size_flags_horizontal = 1
-size_flags_vertical = 4
 custom_fonts/font = SubResource( 4 )
 custom_fonts/font = SubResource( 4 )
 text = "Test"
 text = "Test"
 align = 1
 align = 1
 valign = 1
 valign = 1
 uppercase = true
 uppercase = true
-percent_visible = 1.0
-lines_skipped = 0
-max_lines_visible = -1
 script = ExtResource( 15 )
 script = ExtResource( 15 )
-_sections_unfolded = [ "Rect", "custom_fonts" ]
 
 
 [connection signal="state_changed" from="StateMachine" to="BodyPivot/WeaponPivot/Offset/Sword" method="_on_StateMachine_state_changed"]
 [connection signal="state_changed" from="StateMachine" to="BodyPivot/WeaponPivot/Offset/Sword" method="_on_StateMachine_state_changed"]
-
 [connection signal="state_changed" from="StateMachine" to="StateNameDisplayer" method="_on_StateMachine_state_changed"]
 [connection signal="state_changed" from="StateMachine" to="StateNameDisplayer" method="_on_StateMachine_state_changed"]
-
 [connection signal="animation_finished" from="AnimationPlayer" to="StateMachine" method="_on_animation_finished"]
 [connection signal="animation_finished" from="AnimationPlayer" to="StateMachine" method="_on_animation_finished"]
-
 [connection signal="attack_finished" from="BodyPivot/WeaponPivot/Offset/Sword" to="StateMachine/Attack" method="_on_Sword_attack_finished"]
 [connection signal="attack_finished" from="BodyPivot/WeaponPivot/Offset/Sword" to="StateMachine/Attack" method="_on_Sword_attack_finished"]
-
-

+ 1 - 11
2d/finite_state_machine/player/bullet/Bullet.tscn

@@ -2,24 +2,14 @@
 
 
 [ext_resource path="res://player/bullet/bullet.gd" type="Script" id=1]
 [ext_resource path="res://player/bullet/bullet.gd" type="Script" id=1]
 
 
-
 [sub_resource type="CircleShape2D" id=1]
 [sub_resource type="CircleShape2D" id=1]
-
-custom_solver_bias = 0.0
 radius = 12.0
 radius = 12.0
 
 
 [node name="Bullet" type="KinematicBody2D"]
 [node name="Bullet" type="KinematicBody2D"]
-
-input_pickable = false
 collision_layer = 2
 collision_layer = 2
 collision_mask = 2
 collision_mask = 2
-collision/safe_margin = 0.08
 script = ExtResource( 1 )
 script = ExtResource( 1 )
-_sections_unfolded = [ "Collision", "collision" ]
-SPEED = 1000.0
-
-[node name="CollisionShape2D" type="CollisionShape2D" parent="." index="0"]
 
 
+[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
 shape = SubResource( 1 )
 shape = SubResource( 1 )
 
 
-

+ 3 - 37
2d/finite_state_machine/player/weapon/Sword.tscn

@@ -4,11 +4,7 @@
 [ext_resource path="res://player/weapon/sword.png" type="Texture" id=2]
 [ext_resource path="res://player/weapon/sword.png" type="Texture" id=2]
 
 
 [sub_resource type="Animation" id=1]
 [sub_resource type="Animation" id=1]
-
 resource_name = "SETUP"
 resource_name = "SETUP"
-length = 1.0
-loop = false
-step = 0.1
 tracks/0/type = "value"
 tracks/0/type = "value"
 tracks/0/path = NodePath(".:rotation_degrees")
 tracks/0/path = NodePath(".:rotation_degrees")
 tracks/0/interp = 1
 tracks/0/interp = 1
@@ -71,10 +67,8 @@ tracks/4/keys = {
 }
 }
 
 
 [sub_resource type="Animation" id=2]
 [sub_resource type="Animation" id=2]
-
 resource_name = "attack_circular"
 resource_name = "attack_circular"
 length = 0.3
 length = 0.3
-loop = false
 step = 0.05
 step = 0.05
 tracks/0/type = "value"
 tracks/0/type = "value"
 tracks/0/path = NodePath(".:rotation_degrees")
 tracks/0/path = NodePath(".:rotation_degrees")
@@ -114,9 +108,7 @@ tracks/2/keys = {
 }
 }
 
 
 [sub_resource type="Animation" id=3]
 [sub_resource type="Animation" id=3]
-
 length = 0.45
 length = 0.45
-loop = false
 step = 0.05
 step = 0.05
 tracks/0/type = "value"
 tracks/0/type = "value"
 tracks/0/path = NodePath(".:rotation_degrees")
 tracks/0/path = NodePath(".:rotation_degrees")
@@ -173,10 +165,8 @@ tracks/3/keys = {
 }
 }
 
 
 [sub_resource type="Animation" id=4]
 [sub_resource type="Animation" id=4]
-
 resource_name = "attack_medium"
 resource_name = "attack_medium"
 length = 0.5
 length = 0.5
-loop = false
 step = 0.05
 step = 0.05
 tracks/0/type = "value"
 tracks/0/type = "value"
 tracks/0/path = NodePath(".:rotation_degrees")
 tracks/0/path = NodePath(".:rotation_degrees")
@@ -216,10 +206,7 @@ tracks/2/keys = {
 }
 }
 
 
 [sub_resource type="Animation" id=5]
 [sub_resource type="Animation" id=5]
-
 length = 0.01
 length = 0.01
-loop = false
-step = 0.1
 tracks/0/type = "value"
 tracks/0/type = "value"
 tracks/0/path = NodePath(".:visible")
 tracks/0/path = NodePath(".:visible")
 tracks/0/interp = 1
 tracks/0/interp = 1
@@ -234,45 +221,24 @@ tracks/0/keys = {
 }
 }
 
 
 [node name="Sword" type="Area2D"]
 [node name="Sword" type="Area2D"]
-
 input_pickable = false
 input_pickable = false
-gravity_vec = Vector2( 0, 1 )
-gravity = 98.0
-linear_damp = 0.1
-angular_damp = 1.0
 monitorable = false
 monitorable = false
 collision_layer = 16
 collision_layer = 16
 collision_mask = 3
 collision_mask = 3
-audio_bus_override = false
-audio_bus_name = "Master"
 script = ExtResource( 1 )
 script = ExtResource( 1 )
-_sections_unfolded = [ "Transform" ]
-
-[node name="AnimationPlayer" type="AnimationPlayer" parent="." index="0"]
 
 
-root_node = NodePath("..")
-autoplay = ""
-playback_process_mode = 1
-playback_default_blend_time = 0.0
-playback_speed = 1.0
+[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
 anims/SETUP = SubResource( 1 )
 anims/SETUP = SubResource( 1 )
 anims/attack_circular = SubResource( 2 )
 anims/attack_circular = SubResource( 2 )
 anims/attack_fast = SubResource( 3 )
 anims/attack_fast = SubResource( 3 )
 anims/attack_medium = SubResource( 4 )
 anims/attack_medium = SubResource( 4 )
 anims/idle = SubResource( 5 )
 anims/idle = SubResource( 5 )
-blend_times = [  ]
-_sections_unfolded = [ "Playback Options" ]
-
-[node name="sword" type="Sprite" parent="." index="1"]
 
 
+[node name="sword" type="Sprite" parent="."]
 position = Vector2( 4, 0 )
 position = Vector2( 4, 0 )
 texture = ExtResource( 2 )
 texture = ExtResource( 2 )
 offset = Vector2( 67, 0 )
 offset = Vector2( 67, 0 )
-_sections_unfolded = [ "Offset", "Transform" ]
 
 
-[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="." index="2"]
-
-build_mode = 0
+[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="."]
 polygon = PoolVector2Array( 28.0001, -15.9999, 136, -15.9995, 160, 0, 136, 16.0005, 27.9999, 16.0001 )
 polygon = PoolVector2Array( 28.0001, -15.9999, 136, -15.9995, 160, 0, 136, 16.0005, 27.9999, 16.0001 )
 
 
-

+ 42 - 10
2d/finite_state_machine/project.godot

@@ -6,7 +6,12 @@
 ;   [section] ; section goes between []
 ;   [section] ; section goes between []
 ;   param=value ; assign values to parameters
 ;   param=value ; assign values to parameters
 
 
-config_version=3
+config_version=4
+
+_global_script_classes=[  ]
+_global_script_class_icons={
+
+}
 
 
 [application]
 [application]
 
 
@@ -29,35 +34,62 @@ singletons=[  ]
 
 
 [input]
 [input]
 
 
-move_left=[ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777231,"unicode":0,"echo":false,"script":null)
+move_left={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777231,"unicode":0,"echo":false,"script":null)
 , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":65,"unicode":0,"echo":false,"script":null)
 , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":65,"unicode":0,"echo":false,"script":null)
 , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":-1.0,"script":null)
 , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":-1.0,"script":null)
  ]
  ]
-move_up=[ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777232,"unicode":0,"echo":false,"script":null)
+}
+move_up={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777232,"unicode":0,"echo":false,"script":null)
 , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":87,"unicode":0,"echo":false,"script":null)
 , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":87,"unicode":0,"echo":false,"script":null)
 , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":-1.0,"script":null)
 , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":-1.0,"script":null)
  ]
  ]
-move_right=[ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777233,"unicode":0,"echo":false,"script":null)
+}
+move_right={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777233,"unicode":0,"echo":false,"script":null)
 , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":68,"unicode":0,"echo":false,"script":null)
 , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":68,"unicode":0,"echo":false,"script":null)
 , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":1.0,"script":null)
 , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":1.0,"script":null)
  ]
  ]
-move_down=[ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777234,"unicode":0,"echo":false,"script":null)
+}
+move_down={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777234,"unicode":0,"echo":false,"script":null)
 , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":83,"unicode":0,"echo":false,"script":null)
 , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":83,"unicode":0,"echo":false,"script":null)
 , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":1.0,"script":null)
 , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":1.0,"script":null)
  ]
  ]
-fire=[ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":82,"unicode":0,"echo":false,"script":null)
+}
+fire={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":82,"unicode":0,"echo":false,"script":null)
 , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":2,"pressure":0.0,"pressed":false,"script":null)
 , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":2,"pressure":0.0,"pressed":false,"script":null)
  ]
  ]
-run=[ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777237,"unicode":0,"echo":false,"script":null)
+}
+run={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777237,"unicode":0,"echo":false,"script":null)
 , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":7,"pressure":0.0,"pressed":false,"script":null)
 , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":7,"pressure":0.0,"pressed":false,"script":null)
  ]
  ]
-jump=[ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":32,"unicode":0,"echo":false,"script":null)
+}
+jump={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":32,"unicode":0,"echo":false,"script":null)
 , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":0,"pressure":0.0,"pressed":false,"script":null)
 , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":0,"pressure":0.0,"pressed":false,"script":null)
  ]
  ]
-simulate_damage=[ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":88,"unicode":0,"echo":false,"script":null)
+}
+simulate_damage={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":88,"unicode":0,"echo":false,"script":null)
  ]
  ]
-attack=[ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":70,"unicode":0,"echo":false,"script":null)
+}
+attack={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":70,"unicode":0,"echo":false,"script":null)
  ]
  ]
+}
 
 
 [rendering]
 [rendering]
 
 

File diff suppressed because it is too large
+ 1 - 16
2d/grid_based_movement/Game.tscn


+ 0 - 87
2d/grid_based_movement/default_env.tres

@@ -1,101 +1,14 @@
 [gd_resource type="Environment" load_steps=2 format=2]
 [gd_resource type="Environment" load_steps=2 format=2]
 
 
 [sub_resource type="ProceduralSky" id=1]
 [sub_resource type="ProceduralSky" id=1]
-
-radiance_size = 4
 sky_top_color = Color( 0.0470588, 0.454902, 0.976471, 1 )
 sky_top_color = Color( 0.0470588, 0.454902, 0.976471, 1 )
 sky_horizon_color = Color( 0.556863, 0.823529, 0.909804, 1 )
 sky_horizon_color = Color( 0.556863, 0.823529, 0.909804, 1 )
 sky_curve = 0.25
 sky_curve = 0.25
-sky_energy = 1.0
 ground_bottom_color = Color( 0.101961, 0.145098, 0.188235, 1 )
 ground_bottom_color = Color( 0.101961, 0.145098, 0.188235, 1 )
 ground_horizon_color = Color( 0.482353, 0.788235, 0.952941, 1 )
 ground_horizon_color = Color( 0.482353, 0.788235, 0.952941, 1 )
 ground_curve = 0.01
 ground_curve = 0.01
-ground_energy = 1.0
-sun_color = Color( 1, 1, 1, 1 )
-sun_latitude = 35.0
-sun_longitude = 0.0
-sun_angle_min = 1.0
-sun_angle_max = 100.0
-sun_curve = 0.05
-sun_energy = 16.0
-texture_size = 2
 
 
 [resource]
 [resource]
-
 background_mode = 2
 background_mode = 2
 background_sky = SubResource( 1 )
 background_sky = SubResource( 1 )
-background_sky_custom_fov = 0.0
-background_color = Color( 0, 0, 0, 1 )
-background_energy = 1.0
-background_canvas_max_layer = 0
-ambient_light_color = Color( 0, 0, 0, 1 )
-ambient_light_energy = 1.0
-ambient_light_sky_contribution = 1.0
-fog_enabled = false
-fog_color = Color( 0.5, 0.6, 0.7, 1 )
-fog_sun_color = Color( 1, 0.9, 0.7, 1 )
-fog_sun_amount = 0.0
-fog_depth_enabled = true
-fog_depth_begin = 10.0
-fog_depth_curve = 1.0
-fog_transmit_enabled = false
-fog_transmit_curve = 1.0
-fog_height_enabled = false
-fog_height_min = 0.0
-fog_height_max = 100.0
-fog_height_curve = 1.0
-tonemap_mode = 0
-tonemap_exposure = 1.0
-tonemap_white = 1.0
-auto_exposure_enabled = false
-auto_exposure_scale = 0.4
-auto_exposure_min_luma = 0.05
-auto_exposure_max_luma = 8.0
-auto_exposure_speed = 0.5
-ss_reflections_enabled = false
-ss_reflections_max_steps = 64
-ss_reflections_fade_in = 0.15
-ss_reflections_fade_out = 2.0
-ss_reflections_depth_tolerance = 0.2
-ss_reflections_roughness = true
-ssao_enabled = false
-ssao_radius = 1.0
-ssao_intensity = 1.0
-ssao_radius2 = 0.0
-ssao_intensity2 = 1.0
-ssao_bias = 0.01
-ssao_light_affect = 0.0
-ssao_color = Color( 0, 0, 0, 1 )
-ssao_quality = 0
-ssao_blur = 3
-ssao_edge_sharpness = 4.0
-dof_blur_far_enabled = false
-dof_blur_far_distance = 10.0
-dof_blur_far_transition = 5.0
-dof_blur_far_amount = 0.1
-dof_blur_far_quality = 1
-dof_blur_near_enabled = false
-dof_blur_near_distance = 2.0
-dof_blur_near_transition = 1.0
-dof_blur_near_amount = 0.1
-dof_blur_near_quality = 1
-glow_enabled = false
-glow_levels/1 = false
-glow_levels/2 = false
-glow_levels/3 = true
-glow_levels/4 = false
-glow_levels/5 = true
-glow_levels/6 = false
-glow_levels/7 = false
-glow_intensity = 0.8
-glow_strength = 1.0
-glow_bloom = 0.0
-glow_blend_mode = 2
-glow_hdr_threshold = 1.0
-glow_hdr_scale = 2.0
-glow_bicubic_upscale = false
-adjustment_enabled = false
-adjustment_brightness = 1.0
-adjustment_contrast = 1.0
-adjustment_saturation = 1.0
 
 

+ 5 - 5
2d/grid_based_movement/grid/grid.gd

@@ -1,6 +1,6 @@
 extends TileMap
 extends TileMap
 
 
-enum CELL_TYPES { EMPTY = -1, ACTOR, OBSTACLE, OBJECT}
+enum CellType { EMPTY = -1, ACTOR, OBSTACLE, OBJECT}
 
 
 func _ready():
 func _ready():
 	for child in get_children():
 	for child in get_children():
@@ -19,18 +19,18 @@ func request_move(pawn, direction):
 	
 	
 	var cell_target_type = get_cellv(cell_target)
 	var cell_target_type = get_cellv(cell_target)
 	match cell_target_type:
 	match cell_target_type:
-		EMPTY:
+		CellType.EMPTY:
 			return update_pawn_position(pawn, cell_start, cell_target)
 			return update_pawn_position(pawn, cell_start, cell_target)
-		OBJECT:
+		CellType.OBJECT:
 			var object_pawn = get_cell_pawn(cell_target)
 			var object_pawn = get_cell_pawn(cell_target)
 			object_pawn.queue_free()
 			object_pawn.queue_free()
 			return update_pawn_position(pawn, cell_start, cell_target)
 			return update_pawn_position(pawn, cell_start, cell_target)
-		ACTOR:
+		CellType.ACTOR:
 			var pawn_name = get_cell_pawn(cell_target).name
 			var pawn_name = get_cell_pawn(cell_target).name
 			print("Cell %s contains %s" % [cell_target, pawn_name])
 			print("Cell %s contains %s" % [cell_target, pawn_name])
 
 
 
 
 func update_pawn_position(pawn, cell_start, cell_target):
 func update_pawn_position(pawn, cell_start, cell_target):
 	set_cellv(cell_target, pawn.type)
 	set_cellv(cell_target, pawn.type)
-	set_cellv(cell_start, EMPTY)
+	set_cellv(cell_start, CellType.EMPTY)
 	return map_to_world(cell_target) + cell_size / 2
 	return map_to_world(cell_target) + cell_size / 2

+ 2 - 3
2d/grid_based_movement/icon.png.import

@@ -7,16 +7,14 @@ path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"
 [deps]
 [deps]
 
 
 source_file="res://icon.png"
 source_file="res://icon.png"
-source_md5="3280104cdf8f7a9be38f70f9ff95cf50"
-
 dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ]
 dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ]
-dest_md5="df9a76b96b1fde8b55778a269d647ca3"
 
 
 [params]
 [params]
 
 
 compress/mode=0
 compress/mode=0
 compress/lossy_quality=0.7
 compress/lossy_quality=0.7
 compress/hdr_mode=0
 compress/hdr_mode=0
+compress/bptc_ldr=0
 compress/normal_map=0
 compress/normal_map=0
 flags/repeat=0
 flags/repeat=0
 flags/filter=true
 flags/filter=true
@@ -26,6 +24,7 @@ flags/srgb=2
 process/fix_alpha_border=true
 process/fix_alpha_border=true
 process/premult_alpha=false
 process/premult_alpha=false
 process/HDR_as_SRGB=false
 process/HDR_as_SRGB=false
+process/invert_color=false
 stream=false
 stream=false
 size_limit=0
 size_limit=0
 detect_3d=true
 detect_3d=true

+ 5 - 31
2d/grid_based_movement/pawns/Actor.tscn

@@ -4,10 +4,8 @@
 [ext_resource path="res://pawns/sprites/character.png" type="Texture" id=2]
 [ext_resource path="res://pawns/sprites/character.png" type="Texture" id=2]
 
 
 [sub_resource type="Animation" id=1]
 [sub_resource type="Animation" id=1]
-
 resource_name = "bump"
 resource_name = "bump"
 length = 0.1
 length = 0.1
-loop = false
 step = 0.01
 step = 0.01
 tracks/0/type = "value"
 tracks/0/type = "value"
 tracks/0/path = NodePath("Pivot/Sprite:position")
 tracks/0/path = NodePath("Pivot/Sprite:position")
@@ -23,10 +21,8 @@ tracks/0/keys = {
 }
 }
 
 
 [sub_resource type="Animation" id=2]
 [sub_resource type="Animation" id=2]
-
 resource_name = "walk"
 resource_name = "walk"
 length = 0.25
 length = 0.25
-loop = false
 step = 0.05
 step = 0.05
 tracks/0/type = "value"
 tracks/0/type = "value"
 tracks/0/path = NodePath("Pivot/Sprite:self_modulate")
 tracks/0/path = NodePath("Pivot/Sprite:self_modulate")
@@ -65,47 +61,25 @@ tracks/2/keys = {
 "values": [ Vector2( 1, 1 ), Vector2( 1.20007, 0.917384 ), Vector2( 0.916712, 1.13495 ), Vector2( 1, 1 ) ]
 "values": [ Vector2( 1, 1 ), Vector2( 1.20007, 0.917384 ), Vector2( 0.916712, 1.13495 ), Vector2( 1, 1 ) ]
 }
 }
 
 
-[node name="Actor" type="Node2D" index="0"]
-
+[node name="Actor" type="Node2D"]
 position = Vector2( 32, 32 )
 position = Vector2( 32, 32 )
 z_index = 1
 z_index = 1
 script = ExtResource( 1 )
 script = ExtResource( 1 )
-_sections_unfolded = [ "Offset", "Transform", "Z Index" ]
 __meta__ = {
 __meta__ = {
 "_edit_group_": true
 "_edit_group_": true
 }
 }
-type = 0
-
-[node name="AnimationPlayer" type="AnimationPlayer" parent="." index="0"]
 
 
-root_node = NodePath("..")
-autoplay = ""
-playback_process_mode = 1
-playback_default_blend_time = 0.0
-playback_speed = 1.0
+[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
 anims/bump = SubResource( 1 )
 anims/bump = SubResource( 1 )
 anims/walk = SubResource( 2 )
 anims/walk = SubResource( 2 )
-blend_times = [  ]
 
 
-[node name="Tween" type="Tween" parent="." index="1"]
+[node name="Tween" type="Tween" parent="."]
 
 
-repeat = false
-playback_process_mode = 1
-playback_speed = 1.0
-playback/active = false
-playback/repeat = false
-playback/speed = 1.0
-
-[node name="Pivot" type="Position2D" parent="." index="2"]
-
-_sections_unfolded = [ "Transform" ]
-
-[node name="Sprite" type="Sprite" parent="Pivot" index="0"]
+[node name="Pivot" type="Position2D" parent="."]
 
 
+[node name="Sprite" type="Sprite" parent="Pivot"]
 position = Vector2( 1.43051e-06, -1.90735e-06 )
 position = Vector2( 1.43051e-06, -1.90735e-06 )
 texture = ExtResource( 2 )
 texture = ExtResource( 2 )
 centered = false
 centered = false
 offset = Vector2( -32, -32 )
 offset = Vector2( -32, -32 )
-_sections_unfolded = [ "Transform", "Visibility" ]
-
 
 

+ 1 - 1
2d/grid_based_movement/pawns/actor.gd

@@ -6,7 +6,7 @@ func _ready():
 	update_look_direction(Vector2(1, 0))
 	update_look_direction(Vector2(1, 0))
 
 
 
 
-func _process(delta):
+func _process(_delta):
 	var input_direction = get_input_direction()
 	var input_direction = get_input_direction()
 	if not input_direction:
 	if not input_direction:
 		return
 		return

+ 2 - 2
2d/grid_based_movement/pawns/pawn.gd

@@ -1,4 +1,4 @@
 extends Node2D
 extends Node2D
 
 
-enum CELL_TYPES { ACTOR, OBSTACLE, OBJECT }
-export(CELL_TYPES) var type = ACTOR
+enum CellType { ACTOR, OBSTACLE, OBJECT }
+export(CellType) var type = CellType.ACTOR

+ 2 - 3
2d/grid_based_movement/pawns/sprites/character.png.import

@@ -7,16 +7,14 @@ path="res://.import/character.png-98ed16816c5b464731c4fa68fe5b8613.stex"
 [deps]
 [deps]
 
 
 source_file="res://pawns/sprites/character.png"
 source_file="res://pawns/sprites/character.png"
-source_md5="03a1bf4fdd91e5a89e323e1a956b8b2e"
-
 dest_files=[ "res://.import/character.png-98ed16816c5b464731c4fa68fe5b8613.stex" ]
 dest_files=[ "res://.import/character.png-98ed16816c5b464731c4fa68fe5b8613.stex" ]
-dest_md5="dc0e808a19cb41bd3e4b8af9a1a2878e"
 
 
 [params]
 [params]
 
 
 compress/mode=0
 compress/mode=0
 compress/lossy_quality=0.7
 compress/lossy_quality=0.7
 compress/hdr_mode=0
 compress/hdr_mode=0
+compress/bptc_ldr=0
 compress/normal_map=0
 compress/normal_map=0
 flags/repeat=0
 flags/repeat=0
 flags/filter=true
 flags/filter=true
@@ -26,6 +24,7 @@ flags/srgb=2
 process/fix_alpha_border=true
 process/fix_alpha_border=true
 process/premult_alpha=false
 process/premult_alpha=false
 process/HDR_as_SRGB=false
 process/HDR_as_SRGB=false
+process/invert_color=false
 stream=false
 stream=false
 size_limit=0
 size_limit=0
 detect_3d=true
 detect_3d=true

+ 2 - 3
2d/grid_based_movement/pawns/sprites/character_grey.png.import

@@ -7,16 +7,14 @@ path="res://.import/character_grey.png-a95d64c2e947e85f04dd1c6474e46965.stex"
 [deps]
 [deps]
 
 
 source_file="res://pawns/sprites/character_grey.png"
 source_file="res://pawns/sprites/character_grey.png"
-source_md5="b2fc93bb6418bd5a1aeb9d4b23281b7d"
-
 dest_files=[ "res://.import/character_grey.png-a95d64c2e947e85f04dd1c6474e46965.stex" ]
 dest_files=[ "res://.import/character_grey.png-a95d64c2e947e85f04dd1c6474e46965.stex" ]
-dest_md5="119083c34b0b039b9f6742e1aa84bcd1"
 
 
 [params]
 [params]
 
 
 compress/mode=0
 compress/mode=0
 compress/lossy_quality=0.7
 compress/lossy_quality=0.7
 compress/hdr_mode=0
 compress/hdr_mode=0
+compress/bptc_ldr=0
 compress/normal_map=0
 compress/normal_map=0
 flags/repeat=0
 flags/repeat=0
 flags/filter=true
 flags/filter=true
@@ -26,6 +24,7 @@ flags/srgb=2
 process/fix_alpha_border=true
 process/fix_alpha_border=true
 process/premult_alpha=false
 process/premult_alpha=false
 process/HDR_as_SRGB=false
 process/HDR_as_SRGB=false
+process/invert_color=false
 stream=false
 stream=false
 size_limit=0
 size_limit=0
 detect_3d=true
 detect_3d=true

+ 2 - 3
2d/grid_based_movement/pawns/sprites/star.png.import

@@ -7,16 +7,14 @@ path="res://.import/star.png-4f164f82cf41ace82182660f1be8e68d.stex"
 [deps]
 [deps]
 
 
 source_file="res://pawns/sprites/star.png"
 source_file="res://pawns/sprites/star.png"
-source_md5="c9eed33ac490155814b63a96281718bc"
-
 dest_files=[ "res://.import/star.png-4f164f82cf41ace82182660f1be8e68d.stex" ]
 dest_files=[ "res://.import/star.png-4f164f82cf41ace82182660f1be8e68d.stex" ]
-dest_md5="b5e67be995733c89f151fdfd57ade882"
 
 
 [params]
 [params]
 
 
 compress/mode=0
 compress/mode=0
 compress/lossy_quality=0.7
 compress/lossy_quality=0.7
 compress/hdr_mode=0
 compress/hdr_mode=0
+compress/bptc_ldr=0
 compress/normal_map=0
 compress/normal_map=0
 flags/repeat=0
 flags/repeat=0
 flags/filter=true
 flags/filter=true
@@ -26,6 +24,7 @@ flags/srgb=2
 process/fix_alpha_border=true
 process/fix_alpha_border=true
 process/premult_alpha=false
 process/premult_alpha=false
 process/HDR_as_SRGB=false
 process/HDR_as_SRGB=false
+process/invert_color=false
 stream=false
 stream=false
 size_limit=0
 size_limit=0
 detect_3d=true
 detect_3d=true

+ 6 - 1
2d/grid_based_movement/project.godot

@@ -6,7 +6,12 @@
 ;   [section] ; section goes between []
 ;   [section] ; section goes between []
 ;   param=value ; assign values to parameters
 ;   param=value ; assign values to parameters
 
 
-config_version=3
+config_version=4
+
+_global_script_classes=[  ]
+_global_script_class_icons={
+
+}
 
 
 [application]
 [application]
 
 

+ 3 - 10
2d/grid_based_movement/tilesets/grid/GridTiles.tscn

@@ -6,22 +6,15 @@
 
 
 [node name="Node2D" type="Node2D"]
 [node name="Node2D" type="Node2D"]
 
 
-[node name="Actor" type="Sprite" parent="." index="0"]
-
+[node name="Actor" type="Sprite" parent="."]
 position = Vector2( 32, 32 )
 position = Vector2( 32, 32 )
 texture = ExtResource( 1 )
 texture = ExtResource( 1 )
-_sections_unfolded = [ "Visibility" ]
-
-[node name="Obstacle" type="Sprite" parent="." index="1"]
 
 
+[node name="Obstacle" type="Sprite" parent="."]
 position = Vector2( 96, 32 )
 position = Vector2( 96, 32 )
 texture = ExtResource( 2 )
 texture = ExtResource( 2 )
-_sections_unfolded = [ "Visibility" ]
-
-[node name="Object" type="Sprite" parent="." index="2"]
 
 
+[node name="Object" type="Sprite" parent="."]
 position = Vector2( 160, 32 )
 position = Vector2( 160, 32 )
 texture = ExtResource( 3 )
 texture = ExtResource( 3 )
-_sections_unfolded = [ "Visibility" ]
-
 
 

+ 2 - 3
2d/grid_based_movement/tilesets/grid/actor.png.import

@@ -7,16 +7,14 @@ path="res://.import/actor.png-6a88af8a7bcb079732153877dfb0db8b.stex"
 [deps]
 [deps]
 
 
 source_file="res://tilesets/grid/actor.png"
 source_file="res://tilesets/grid/actor.png"
-source_md5="1a3d788099e6d0431c41627de71ee5f9"
-
 dest_files=[ "res://.import/actor.png-6a88af8a7bcb079732153877dfb0db8b.stex" ]
 dest_files=[ "res://.import/actor.png-6a88af8a7bcb079732153877dfb0db8b.stex" ]
-dest_md5="ca104a9f5ec006ce67b9996d27f4efa2"
 
 
 [params]
 [params]
 
 
 compress/mode=0
 compress/mode=0
 compress/lossy_quality=0.7
 compress/lossy_quality=0.7
 compress/hdr_mode=0
 compress/hdr_mode=0
+compress/bptc_ldr=0
 compress/normal_map=0
 compress/normal_map=0
 flags/repeat=0
 flags/repeat=0
 flags/filter=true
 flags/filter=true
@@ -26,6 +24,7 @@ flags/srgb=2
 process/fix_alpha_border=true
 process/fix_alpha_border=true
 process/premult_alpha=false
 process/premult_alpha=false
 process/HDR_as_SRGB=false
 process/HDR_as_SRGB=false
+process/invert_color=false
 stream=false
 stream=false
 size_limit=0
 size_limit=0
 detect_3d=true
 detect_3d=true

+ 2 - 3
2d/grid_based_movement/tilesets/grid/object.png.import

@@ -7,16 +7,14 @@ path="res://.import/object.png-3e89ebfb3424e8759914732b2b0130c1.stex"
 [deps]
 [deps]
 
 
 source_file="res://tilesets/grid/object.png"
 source_file="res://tilesets/grid/object.png"
-source_md5="53b421d6eb9175f4b3900f7d48ad814e"
-
 dest_files=[ "res://.import/object.png-3e89ebfb3424e8759914732b2b0130c1.stex" ]
 dest_files=[ "res://.import/object.png-3e89ebfb3424e8759914732b2b0130c1.stex" ]
-dest_md5="1351b2d127dc461bda55bfde616cbdd6"
 
 
 [params]
 [params]
 
 
 compress/mode=0
 compress/mode=0
 compress/lossy_quality=0.7
 compress/lossy_quality=0.7
 compress/hdr_mode=0
 compress/hdr_mode=0
+compress/bptc_ldr=0
 compress/normal_map=0
 compress/normal_map=0
 flags/repeat=0
 flags/repeat=0
 flags/filter=true
 flags/filter=true
@@ -26,6 +24,7 @@ flags/srgb=2
 process/fix_alpha_border=true
 process/fix_alpha_border=true
 process/premult_alpha=false
 process/premult_alpha=false
 process/HDR_as_SRGB=false
 process/HDR_as_SRGB=false
+process/invert_color=false
 stream=false
 stream=false
 size_limit=0
 size_limit=0
 detect_3d=true
 detect_3d=true

+ 2 - 3
2d/grid_based_movement/tilesets/grid/obstacle.png.import

@@ -7,16 +7,14 @@ path="res://.import/obstacle.png-9f01dd1d06d7b99515918b65b46bd6c1.stex"
 [deps]
 [deps]
 
 
 source_file="res://tilesets/grid/obstacle.png"
 source_file="res://tilesets/grid/obstacle.png"
-source_md5="49a4f8eb121c949de35502481ec7e96a"
-
 dest_files=[ "res://.import/obstacle.png-9f01dd1d06d7b99515918b65b46bd6c1.stex" ]
 dest_files=[ "res://.import/obstacle.png-9f01dd1d06d7b99515918b65b46bd6c1.stex" ]
-dest_md5="432d869b849ac70d4f76935622b2e37b"
 
 
 [params]
 [params]
 
 
 compress/mode=0
 compress/mode=0
 compress/lossy_quality=0.7
 compress/lossy_quality=0.7
 compress/hdr_mode=0
 compress/hdr_mode=0
+compress/bptc_ldr=0
 compress/normal_map=0
 compress/normal_map=0
 flags/repeat=0
 flags/repeat=0
 flags/filter=true
 flags/filter=true
@@ -26,6 +24,7 @@ flags/srgb=2
 process/fix_alpha_border=true
 process/fix_alpha_border=true
 process/premult_alpha=false
 process/premult_alpha=false
 process/HDR_as_SRGB=false
 process/HDR_as_SRGB=false
+process/invert_color=false
 stream=false
 stream=false
 size_limit=0
 size_limit=0
 detect_3d=true
 detect_3d=true

+ 2 - 4
2d/grid_based_movement/tilesets/grid_lines/GridLinesTiles.tscn

@@ -2,11 +2,9 @@
 
 
 [ext_resource path="res://tilesets/grid_lines/grid_lines.png" type="Texture" id=1]
 [ext_resource path="res://tilesets/grid_lines/grid_lines.png" type="Texture" id=1]
 
 
-[node name="TileSet" type="Node2D" index="0"]
-
-[node name="Grass" type="Sprite" parent="." index="0"]
+[node name="TileSet" type="Node2D"]
 
 
+[node name="Grass" type="Sprite" parent="."]
 position = Vector2( 32, 32 )
 position = Vector2( 32, 32 )
 texture = ExtResource( 1 )
 texture = ExtResource( 1 )
 
 
-

+ 2 - 3
2d/grid_based_movement/tilesets/grid_lines/grid_lines.png.import

@@ -7,16 +7,14 @@ path="res://.import/grid_lines.png-beef853b47aa830c8383e5f6cc4d03ce.stex"
 [deps]
 [deps]
 
 
 source_file="res://tilesets/grid_lines/grid_lines.png"
 source_file="res://tilesets/grid_lines/grid_lines.png"
-source_md5="9c6f3c1506ccfc666a4988a3b9655b1c"
-
 dest_files=[ "res://.import/grid_lines.png-beef853b47aa830c8383e5f6cc4d03ce.stex" ]
 dest_files=[ "res://.import/grid_lines.png-beef853b47aa830c8383e5f6cc4d03ce.stex" ]
-dest_md5="411604865dd58a1618832442af953934"
 
 
 [params]
 [params]
 
 
 compress/mode=0
 compress/mode=0
 compress/lossy_quality=0.7
 compress/lossy_quality=0.7
 compress/hdr_mode=0
 compress/hdr_mode=0
+compress/bptc_ldr=0
 compress/normal_map=0
 compress/normal_map=0
 flags/repeat=0
 flags/repeat=0
 flags/filter=true
 flags/filter=true
@@ -26,6 +24,7 @@ flags/srgb=2
 process/fix_alpha_border=true
 process/fix_alpha_border=true
 process/premult_alpha=false
 process/premult_alpha=false
 process/HDR_as_SRGB=false
 process/HDR_as_SRGB=false
+process/invert_color=false
 stream=false
 stream=false
 size_limit=0
 size_limit=0
 detect_3d=true
 detect_3d=true

+ 0 - 79
2d/hdr/beach_cave.tscn

@@ -5,122 +5,43 @@
 [ext_resource path="res://ocean_cave.png" type="Texture" id=3]
 [ext_resource path="res://ocean_cave.png" type="Texture" id=3]
 
 
 [sub_resource type="Environment" id=1]
 [sub_resource type="Environment" id=1]
-
 background_mode = 4
 background_mode = 4
-background_sky_custom_fov = 0.0
-background_color = Color( 0, 0, 0, 1 )
-background_energy = 1.0
-background_canvas_max_layer = 0
-ambient_light_color = Color( 0, 0, 0, 1 )
-ambient_light_energy = 1.0
 ambient_light_sky_contribution = 0.0
 ambient_light_sky_contribution = 0.0
-fog_enabled = false
-fog_color = Color( 0.5, 0.6, 0.7, 1 )
-fog_sun_color = Color( 1, 0.9, 0.7, 1 )
-fog_sun_amount = 0.0
-fog_depth_enabled = true
-fog_depth_begin = 10.0
-fog_depth_curve = 1.0
-fog_transmit_enabled = false
-fog_transmit_curve = 1.0
-fog_height_enabled = false
-fog_height_min = 0.0
-fog_height_max = 100.0
-fog_height_curve = 1.0
-tonemap_mode = 0
-tonemap_exposure = 1.0
-tonemap_white = 1.0
 auto_exposure_enabled = true
 auto_exposure_enabled = true
 auto_exposure_scale = 0.51
 auto_exposure_scale = 0.51
-auto_exposure_min_luma = 0.05
-auto_exposure_max_luma = 8.0
 auto_exposure_speed = 4.0
 auto_exposure_speed = 4.0
-ss_reflections_enabled = false
-ss_reflections_max_steps = 64
-ss_reflections_fade_in = 0.15
-ss_reflections_fade_out = 2.0
-ss_reflections_depth_tolerance = 0.2
-ss_reflections_roughness = true
-ssao_enabled = false
-ssao_radius = 1.0
-ssao_intensity = 1.0
-ssao_radius2 = 0.0
-ssao_intensity2 = 1.0
-ssao_bias = 0.01
-ssao_light_affect = 0.0
-ssao_color = Color( 0, 0, 0, 1 )
-ssao_quality = 0
 ssao_blur = 1
 ssao_blur = 1
-ssao_edge_sharpness = 4.0
-dof_blur_far_enabled = false
-dof_blur_far_distance = 10.0
-dof_blur_far_transition = 5.0
-dof_blur_far_amount = 0.1
-dof_blur_far_quality = 1
-dof_blur_near_enabled = false
-dof_blur_near_distance = 2.0
-dof_blur_near_transition = 1.0
-dof_blur_near_amount = 0.1
-dof_blur_near_quality = 1
 glow_enabled = true
 glow_enabled = true
-glow_levels/1 = false
-glow_levels/2 = false
 glow_levels/3 = false
 glow_levels/3 = false
 glow_levels/4 = true
 glow_levels/4 = true
-glow_levels/5 = true
-glow_levels/6 = false
 glow_levels/7 = true
 glow_levels/7 = true
-glow_intensity = 0.8
 glow_strength = 0.88
 glow_strength = 0.88
-glow_bloom = 0.0
 glow_blend_mode = 0
 glow_blend_mode = 0
-glow_hdr_threshold = 1.0
-glow_hdr_scale = 2.0
 glow_bicubic_upscale = true
 glow_bicubic_upscale = true
-adjustment_enabled = false
-adjustment_brightness = 1.0
-adjustment_contrast = 1.0
-adjustment_saturation = 1.0
 
 
 [node name="hdr" type="Node2D"]
 [node name="hdr" type="Node2D"]
-
 script = ExtResource( 1 )
 script = ExtResource( 1 )
 
 
 [node name="beach" type="Sprite" parent="."]
 [node name="beach" type="Sprite" parent="."]
-
 modulate = Color( 2, 2, 2, 1 )
 modulate = Color( 2, 2, 2, 1 )
 self_modulate = Color( 2, 2, 2, 1 )
 self_modulate = Color( 2, 2, 2, 1 )
 texture = ExtResource( 2 )
 texture = ExtResource( 2 )
 centered = false
 centered = false
 
 
 [node name="cave" type="Sprite" parent="."]
 [node name="cave" type="Sprite" parent="."]
-
 self_modulate = Color( 0.233166, 0.221219, 0.23582, 1 )
 self_modulate = Color( 0.233166, 0.221219, 0.23582, 1 )
 scale = Vector2( 1.2, 1 )
 scale = Vector2( 1.2, 1 )
 texture = ExtResource( 3 )
 texture = ExtResource( 3 )
 centered = false
 centered = false
 
 
 [node name="environment" type="WorldEnvironment" parent="."]
 [node name="environment" type="WorldEnvironment" parent="."]
-
 environment = SubResource( 1 )
 environment = SubResource( 1 )
 
 
 [node name="Label" type="Label" parent="."]
 [node name="Label" type="Label" parent="."]
-
-anchor_left = 0.0
-anchor_top = 0.0
-anchor_right = 0.0
-anchor_bottom = 0.0
 margin_right = 40.0
 margin_right = 40.0
 margin_bottom = 13.0
 margin_bottom = 13.0
-rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
-mouse_filter = 2
 size_flags_horizontal = 2
 size_flags_horizontal = 2
 size_flags_vertical = 0
 size_flags_vertical = 0
 custom_colors/font_color = Color( 0.213955, 0.205626, 0.20313, 1 )
 custom_colors/font_color = Color( 0.213955, 0.205626, 0.20313, 1 )
 text = "Drag  Left and Right"
 text = "Drag  Left and Right"
-percent_visible = 1.0
-lines_skipped = 0
-max_lines_visible = -1
-
 
 

+ 2 - 3
2d/hdr/icon.png.import

@@ -7,16 +7,14 @@ path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"
 [deps]
 [deps]
 
 
 source_file="res://icon.png"
 source_file="res://icon.png"
-source_md5="63a944507088a2392d7d6870fc91dc51"
-
 dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ]
 dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ]
-dest_md5="79b94abe93da2df9d5e610a249860b02"
 
 
 [params]
 [params]
 
 
 compress/mode=0
 compress/mode=0
 compress/lossy_quality=0.7
 compress/lossy_quality=0.7
 compress/hdr_mode=0
 compress/hdr_mode=0
+compress/bptc_ldr=0
 compress/normal_map=0
 compress/normal_map=0
 flags/repeat=0
 flags/repeat=0
 flags/filter=true
 flags/filter=true
@@ -26,6 +24,7 @@ flags/srgb=2
 process/fix_alpha_border=true
 process/fix_alpha_border=true
 process/premult_alpha=false
 process/premult_alpha=false
 process/HDR_as_SRGB=false
 process/HDR_as_SRGB=false
+process/invert_color=false
 stream=false
 stream=false
 size_limit=0
 size_limit=0
 detect_3d=true
 detect_3d=true

+ 2 - 3
2d/hdr/ocean_beach.png.import

@@ -7,16 +7,14 @@ path="res://.import/ocean_beach.png-b571ab5468cc775a520aaa47efbed607.stex"
 [deps]
 [deps]
 
 
 source_file="res://ocean_beach.png"
 source_file="res://ocean_beach.png"
-source_md5="fdfc24e858f07a1ac31c82fd8f357c3a"
-
 dest_files=[ "res://.import/ocean_beach.png-b571ab5468cc775a520aaa47efbed607.stex" ]
 dest_files=[ "res://.import/ocean_beach.png-b571ab5468cc775a520aaa47efbed607.stex" ]
-dest_md5="3ae80bb89ba8c0cd67fa2402bb80f230"
 
 
 [params]
 [params]
 
 
 compress/mode=0
 compress/mode=0
 compress/lossy_quality=0.7
 compress/lossy_quality=0.7
 compress/hdr_mode=0
 compress/hdr_mode=0
+compress/bptc_ldr=0
 compress/normal_map=0
 compress/normal_map=0
 flags/repeat=0
 flags/repeat=0
 flags/filter=true
 flags/filter=true
@@ -26,6 +24,7 @@ flags/srgb=2
 process/fix_alpha_border=true
 process/fix_alpha_border=true
 process/premult_alpha=false
 process/premult_alpha=false
 process/HDR_as_SRGB=false
 process/HDR_as_SRGB=false
+process/invert_color=false
 stream=false
 stream=false
 size_limit=0
 size_limit=0
 detect_3d=true
 detect_3d=true

+ 2 - 3
2d/hdr/ocean_cave.png.import

@@ -7,16 +7,14 @@ path="res://.import/ocean_cave.png-2a86f381e3092b4cb698b627d778e19b.stex"
 [deps]
 [deps]
 
 
 source_file="res://ocean_cave.png"
 source_file="res://ocean_cave.png"
-source_md5="acabe48e11037e9929f2d5aade9419a4"
-
 dest_files=[ "res://.import/ocean_cave.png-2a86f381e3092b4cb698b627d778e19b.stex" ]
 dest_files=[ "res://.import/ocean_cave.png-2a86f381e3092b4cb698b627d778e19b.stex" ]
-dest_md5="0f5fe12eb87a48058850e3c6c5c9a347"
 
 
 [params]
 [params]
 
 
 compress/mode=0
 compress/mode=0
 compress/lossy_quality=0.7
 compress/lossy_quality=0.7
 compress/hdr_mode=0
 compress/hdr_mode=0
+compress/bptc_ldr=0
 compress/normal_map=0
 compress/normal_map=0
 flags/repeat=0
 flags/repeat=0
 flags/filter=true
 flags/filter=true
@@ -26,6 +24,7 @@ flags/srgb=2
 process/fix_alpha_border=true
 process/fix_alpha_border=true
 process/premult_alpha=false
 process/premult_alpha=false
 process/HDR_as_SRGB=false
 process/HDR_as_SRGB=false
+process/invert_color=false
 stream=false
 stream=false
 size_limit=0
 size_limit=0
 detect_3d=true
 detect_3d=true

+ 6 - 1
2d/hdr/project.godot

@@ -6,7 +6,12 @@
 ;   [section] ; section goes between []
 ;   [section] ; section goes between []
 ;   param=value ; assign values to parameters
 ;   param=value ; assign values to parameters
 
 
-config_version=3
+config_version=4
+
+_global_script_classes=[  ]
+_global_script_class_icons={
+
+}
 
 
 [application]
 [application]
 
 

File diff suppressed because it is too large
+ 2 - 14
2d/hexagonal_map/map.tscn


+ 22 - 5
2d/hexagonal_map/project.godot

@@ -6,7 +6,12 @@
 ;   [section] ; section goes between []
 ;   [section] ; section goes between []
 ;   param=value ; assign values to parameters
 ;   param=value ; assign values to parameters
 
 
-config_version=3
+config_version=4
+
+_global_script_classes=[  ]
+_global_script_class_icons={
+
+}
 
 
 [application]
 [application]
 
 
@@ -21,11 +26,23 @@ singletons=[  ]
 
 
 [input]
 [input]
 
 
-move_bottom=[ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777234,"unicode":0,"echo":false,"script":null)
+move_bottom={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777234,"unicode":0,"echo":false,"script":null)
  ]
  ]
-move_left=[ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777231,"unicode":0,"echo":false,"script":null)
+}
+move_left={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777231,"unicode":0,"echo":false,"script":null)
  ]
  ]
-move_right=[ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777233,"unicode":0,"echo":false,"script":null)
+}
+move_right={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777233,"unicode":0,"echo":false,"script":null)
  ]
  ]
-move_up=[ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777232,"unicode":0,"echo":false,"script":null)
+}
+move_up={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777232,"unicode":0,"echo":false,"script":null)
  ]
  ]
+}

+ 0 - 27
2d/hexagonal_map/tileset_edit.tscn

@@ -30,158 +30,131 @@
 [node name="Node2D" type="Node2D"]
 [node name="Node2D" type="Node2D"]
 
 
 [node name="Tile 1" type="Sprite" parent="."]
 [node name="Tile 1" type="Sprite" parent="."]
-
 texture = ExtResource( 1 )
 texture = ExtResource( 1 )
 centered = false
 centered = false
 
 
 [node name="Tile 2" type="Sprite" parent="."]
 [node name="Tile 2" type="Sprite" parent="."]
-
 position = Vector2( 128, 0 )
 position = Vector2( 128, 0 )
 texture = ExtResource( 2 )
 texture = ExtResource( 2 )
 centered = false
 centered = false
 
 
 [node name="Tile 3" type="Sprite" parent="."]
 [node name="Tile 3" type="Sprite" parent="."]
-
 position = Vector2( 256, 0 )
 position = Vector2( 256, 0 )
 texture = ExtResource( 3 )
 texture = ExtResource( 3 )
 centered = false
 centered = false
 
 
 [node name="Tile 4" type="Sprite" parent="."]
 [node name="Tile 4" type="Sprite" parent="."]
-
 position = Vector2( 384, 0 )
 position = Vector2( 384, 0 )
 texture = ExtResource( 4 )
 texture = ExtResource( 4 )
 centered = false
 centered = false
 
 
 [node name="Tile 5" type="Sprite" parent="."]
 [node name="Tile 5" type="Sprite" parent="."]
-
 position = Vector2( 512, 0 )
 position = Vector2( 512, 0 )
 texture = ExtResource( 5 )
 texture = ExtResource( 5 )
 centered = false
 centered = false
 
 
 [node name="Tile 6" type="Sprite" parent="."]
 [node name="Tile 6" type="Sprite" parent="."]
-
 position = Vector2( 640, 0 )
 position = Vector2( 640, 0 )
 texture = ExtResource( 6 )
 texture = ExtResource( 6 )
 centered = false
 centered = false
 
 
 [node name="Tile 7" type="Sprite" parent="."]
 [node name="Tile 7" type="Sprite" parent="."]
-
 position = Vector2( 768, 0 )
 position = Vector2( 768, 0 )
 texture = ExtResource( 7 )
 texture = ExtResource( 7 )
 centered = false
 centered = false
 
 
 [node name="Tile 8" type="Sprite" parent="."]
 [node name="Tile 8" type="Sprite" parent="."]
-
 position = Vector2( 896, 0 )
 position = Vector2( 896, 0 )
 texture = ExtResource( 8 )
 texture = ExtResource( 8 )
 centered = false
 centered = false
 
 
 [node name="Tile 9" type="Sprite" parent="."]
 [node name="Tile 9" type="Sprite" parent="."]
-
 position = Vector2( 1024, 0 )
 position = Vector2( 1024, 0 )
 texture = ExtResource( 9 )
 texture = ExtResource( 9 )
 centered = false
 centered = false
 
 
 [node name="Tile 10" type="Sprite" parent="."]
 [node name="Tile 10" type="Sprite" parent="."]
-
 position = Vector2( 0, 128 )
 position = Vector2( 0, 128 )
 texture = ExtResource( 10 )
 texture = ExtResource( 10 )
 centered = false
 centered = false
 
 
 [node name="Tile 11" type="Sprite" parent="."]
 [node name="Tile 11" type="Sprite" parent="."]
-
 position = Vector2( 128, 128 )
 position = Vector2( 128, 128 )
 texture = ExtResource( 11 )
 texture = ExtResource( 11 )
 centered = false
 centered = false
 
 
 [node name="Tile 12" type="Sprite" parent="."]
 [node name="Tile 12" type="Sprite" parent="."]
-
 position = Vector2( 256, 128 )
 position = Vector2( 256, 128 )
 texture = ExtResource( 12 )
 texture = ExtResource( 12 )
 centered = false
 centered = false
 
 
 [node name="Tile 13" type="Sprite" parent="."]
 [node name="Tile 13" type="Sprite" parent="."]
-
 position = Vector2( 384, 128 )
 position = Vector2( 384, 128 )
 texture = ExtResource( 13 )
 texture = ExtResource( 13 )
 centered = false
 centered = false
 
 
 [node name="Tile 14" type="Sprite" parent="."]
 [node name="Tile 14" type="Sprite" parent="."]
-
 position = Vector2( 512, 128 )
 position = Vector2( 512, 128 )
 texture = ExtResource( 14 )
 texture = ExtResource( 14 )
 centered = false
 centered = false
 
 
 [node name="Tile 15" type="Sprite" parent="."]
 [node name="Tile 15" type="Sprite" parent="."]
-
 position = Vector2( 640, 128 )
 position = Vector2( 640, 128 )
 texture = ExtResource( 15 )
 texture = ExtResource( 15 )
 centered = false
 centered = false
 
 
 [node name="Tile 16" type="Sprite" parent="."]
 [node name="Tile 16" type="Sprite" parent="."]
-
 position = Vector2( 768, 128 )
 position = Vector2( 768, 128 )
 texture = ExtResource( 16 )
 texture = ExtResource( 16 )
 centered = false
 centered = false
 
 
 [node name="Tile 17" type="Sprite" parent="."]
 [node name="Tile 17" type="Sprite" parent="."]
-
 position = Vector2( 896, 128 )
 position = Vector2( 896, 128 )
 texture = ExtResource( 17 )
 texture = ExtResource( 17 )
 centered = false
 centered = false
 
 
 [node name="Tile 18" type="Sprite" parent="."]
 [node name="Tile 18" type="Sprite" parent="."]
-
 position = Vector2( 1024, 128 )
 position = Vector2( 1024, 128 )
 texture = ExtResource( 18 )
 texture = ExtResource( 18 )
 centered = false
 centered = false
 
 
 [node name="Tile 19" type="Sprite" parent="."]
 [node name="Tile 19" type="Sprite" parent="."]
-
 position = Vector2( 0, 256 )
 position = Vector2( 0, 256 )
 texture = ExtResource( 19 )
 texture = ExtResource( 19 )
 centered = false
 centered = false
 
 
 [node name="Tile 20" type="Sprite" parent="."]
 [node name="Tile 20" type="Sprite" parent="."]
-
 position = Vector2( 128, 256 )
 position = Vector2( 128, 256 )
 texture = ExtResource( 20 )
 texture = ExtResource( 20 )
 centered = false
 centered = false
 
 
 [node name="Tile 21" type="Sprite" parent="."]
 [node name="Tile 21" type="Sprite" parent="."]
-
 position = Vector2( 256, 256 )
 position = Vector2( 256, 256 )
 texture = ExtResource( 21 )
 texture = ExtResource( 21 )
 centered = false
 centered = false
 
 
 [node name="Tile 22" type="Sprite" parent="."]
 [node name="Tile 22" type="Sprite" parent="."]
-
 position = Vector2( 384, 256 )
 position = Vector2( 384, 256 )
 texture = ExtResource( 22 )
 texture = ExtResource( 22 )
 centered = false
 centered = false
 
 
 [node name="Tile 23" type="Sprite" parent="."]
 [node name="Tile 23" type="Sprite" parent="."]
-
 position = Vector2( 512, 256 )
 position = Vector2( 512, 256 )
 texture = ExtResource( 23 )
 texture = ExtResource( 23 )
 centered = false
 centered = false
 
 
 [node name="Tile 24" type="Sprite" parent="."]
 [node name="Tile 24" type="Sprite" parent="."]
-
 position = Vector2( 640, 256 )
 position = Vector2( 640, 256 )
 texture = ExtResource( 24 )
 texture = ExtResource( 24 )
 centered = false
 centered = false
 
 
 [node name="Tile 25" type="Sprite" parent="."]
 [node name="Tile 25" type="Sprite" parent="."]
-
 position = Vector2( 768, 256 )
 position = Vector2( 768, 256 )
 texture = ExtResource( 25 )
 texture = ExtResource( 25 )
 centered = false
 centered = false
 
 
 [node name="Tile 26" type="Sprite" parent="."]
 [node name="Tile 26" type="Sprite" parent="."]
-
 position = Vector2( 896, 256 )
 position = Vector2( 896, 256 )
 texture = ExtResource( 26 )
 texture = ExtResource( 26 )
 centered = false
 centered = false
 
 
-

+ 1 - 1
2d/hexagonal_map/troll.gd

@@ -7,7 +7,7 @@ extends KinematicBody2D
 const MOTION_SPEED = 160 # Pixels/second
 const MOTION_SPEED = 160 # Pixels/second
 
 
 
 
-func _physics_process(delta):
+func _physics_process(_delta):
 	var motion = Vector2()
 	var motion = Vector2()
 	
 	
 	if Input.is_action_pressed("move_up"):
 	if Input.is_action_pressed("move_up"):

+ 0 - 30
2d/hexagonal_map/troll.tscn

@@ -4,48 +4,18 @@
 [ext_resource path="res://troll.png" type="Texture" id=2]
 [ext_resource path="res://troll.png" type="Texture" id=2]
 
 
 [sub_resource type="CircleShape2D" id=1]
 [sub_resource type="CircleShape2D" id=1]
-
-custom_solver_bias = 0.0
 radius = 16.0
 radius = 16.0
 
 
 [node name="troll" type="KinematicBody2D"]
 [node name="troll" type="KinematicBody2D"]
-
-input_pickable = false
-collision_layer = 1
-collision_mask = 1
-collision/safe_margin = 0.08
 script = ExtResource( 1 )
 script = ExtResource( 1 )
 
 
 [node name="Sprite" type="Sprite" parent="."]
 [node name="Sprite" type="Sprite" parent="."]
-
 texture = ExtResource( 2 )
 texture = ExtResource( 2 )
 
 
 [node name="CollisionShape2D" type="CollisionShape2D" parent="."]
 [node name="CollisionShape2D" type="CollisionShape2D" parent="."]
-
 position = Vector2( 3.24216, 19.453 )
 position = Vector2( 3.24216, 19.453 )
 shape = SubResource( 1 )
 shape = SubResource( 1 )
 
 
 [node name="Camera2D" type="Camera2D" parent="."]
 [node name="Camera2D" type="Camera2D" parent="."]
-
-anchor_mode = 1
-rotating = false
 current = true
 current = true
-zoom = Vector2( 1, 1 )
-limit_left = -10000000
-limit_top = -10000000
-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
-editor_draw_screen = true
-editor_draw_limits = false
-editor_draw_drag_margin = false
-
 
 

+ 4 - 31
2d/isometric/dungeon.tscn

@@ -3,52 +3,25 @@
 [ext_resource path="res://tileset.tres" type="TileSet" id=1]
 [ext_resource path="res://tileset.tres" type="TileSet" id=1]
 [ext_resource path="res://troll.tscn" type="PackedScene" id=2]
 [ext_resource path="res://troll.tscn" type="PackedScene" id=2]
 
 
-[node name="dungeon" type="Node2D" index="0"]
-
-[node name="floor" type="TileMap" parent="." index="0"]
+[node name="dungeon" type="Node2D"]
 
 
+[node name="floor" type="TileMap" parent="."]
 mode = 1
 mode = 1
 tile_set = ExtResource( 1 )
 tile_set = ExtResource( 1 )
 cell_size = Vector2( 128, 64 )
 cell_size = Vector2( 128, 64 )
-cell_quadrant_size = 16
-cell_custom_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
-cell_half_offset = 2
 cell_tile_origin = 1
 cell_tile_origin = 1
-cell_y_sort = false
-cell_clip_uv = false
-collision_use_kinematic = false
-collision_friction = 1.0
-collision_bounce = 0.0
-collision_layer = 1
-collision_mask = 1
-occluder_light_mask = 1
 format = 1
 format = 1
 tile_data = PoolIntArray( -851956, 0, -1200553578, -851955, 0, -1200553578, -851954, 0, -1200553578, -786420, 1, -1200553578, -786419, 0, -1200553578, -786418, 0, -1200553578, -720884, 0, -1200553578, -720883, 0, -1200553578, -720882, 0, -1200553578, -655348, 1, -1200553578, -655347, 0, -1200553578, -655346, 0, -1200553578, -589812, 1, -1200553578, -589811, 0, -1200553578, -589810, 0, -1200553578, -524276, 0, -1200553578, -524275, 1, -1200553578, -524274, 0, -1200553578, -458740, 0, -1200553578, -458739, 0, -1200553578, -458738, 0, -1200553578, -393210, 0, -1200553578, -393209, 0, -1200553578, -393208, 0, -1200553578, -393207, 0, -1200553578, -393206, 0, -1200553578, -393205, 0, -1200553578, -393204, 0, -1200553578, -393203, 0, -1200553578, -393202, 0, -1200553578, -327674, 0, -1200553578, -327673, 0, -1200553578, -327672, 1, -1200553578, -327671, 1, -1200553578, -327670, 1, -1200553578, -327669, 1, -1200553578, -327668, 1, -1200553578, -327667, 0, -1200553578, -327666, 0, -1200553578, -262138, 0, -1200553578, -262137, 0, -1200553578, -262136, 0, -1200553578, -262135, 0, -1200553578, -262134, 0, -1200553578, -262133, 0, -1200553578, -262132, 0, -1200553578, -262131, 0, -1200553578, -262130, 0, -1200553578, -196602, 0, -1200553578, -196601, 0, -1200553578, -196600, 0, -1200553578, -196599, 0, -1200553578, -196598, 0, -1200553578, -196597, 0, -1200553578, -196596, 0, -1200553578, -196595, 0, -1200553578, -196594, 0, -1200553578, -131066, 0, -1200553578, -131065, 0, -1200553578, -131064, 0, -1200553578, -131063, 0, -1200553578, -65530, 0, -1200553578, -65529, 0, -1200553578, -65528, 0, -1200553578, -65527, 0, -1200553578, 6, 0, -1200553578, 7, 1, -1200553578, 8, 0, -1200553578, 9, 0, -1200553578, 65542, 0, -1200553578, 65543, 0, -1200553578, 65544, 0, -1200553578, 65545, 0, -1200553578, 131078, 0, -1200553578, 131079, 0, -1200553578, 131080, 0, -1200553578, 131081, 0, -1200553578, 196614, 0, -1200553578, 196615, 0, -1200553578, 196616, 0, -1200553578 )
 tile_data = PoolIntArray( -851956, 0, -1200553578, -851955, 0, -1200553578, -851954, 0, -1200553578, -786420, 1, -1200553578, -786419, 0, -1200553578, -786418, 0, -1200553578, -720884, 0, -1200553578, -720883, 0, -1200553578, -720882, 0, -1200553578, -655348, 1, -1200553578, -655347, 0, -1200553578, -655346, 0, -1200553578, -589812, 1, -1200553578, -589811, 0, -1200553578, -589810, 0, -1200553578, -524276, 0, -1200553578, -524275, 1, -1200553578, -524274, 0, -1200553578, -458740, 0, -1200553578, -458739, 0, -1200553578, -458738, 0, -1200553578, -393210, 0, -1200553578, -393209, 0, -1200553578, -393208, 0, -1200553578, -393207, 0, -1200553578, -393206, 0, -1200553578, -393205, 0, -1200553578, -393204, 0, -1200553578, -393203, 0, -1200553578, -393202, 0, -1200553578, -327674, 0, -1200553578, -327673, 0, -1200553578, -327672, 1, -1200553578, -327671, 1, -1200553578, -327670, 1, -1200553578, -327669, 1, -1200553578, -327668, 1, -1200553578, -327667, 0, -1200553578, -327666, 0, -1200553578, -262138, 0, -1200553578, -262137, 0, -1200553578, -262136, 0, -1200553578, -262135, 0, -1200553578, -262134, 0, -1200553578, -262133, 0, -1200553578, -262132, 0, -1200553578, -262131, 0, -1200553578, -262130, 0, -1200553578, -196602, 0, -1200553578, -196601, 0, -1200553578, -196600, 0, -1200553578, -196599, 0, -1200553578, -196598, 0, -1200553578, -196597, 0, -1200553578, -196596, 0, -1200553578, -196595, 0, -1200553578, -196594, 0, -1200553578, -131066, 0, -1200553578, -131065, 0, -1200553578, -131064, 0, -1200553578, -131063, 0, -1200553578, -65530, 0, -1200553578, -65529, 0, -1200553578, -65528, 0, -1200553578, -65527, 0, -1200553578, 6, 0, -1200553578, 7, 1, -1200553578, 8, 0, -1200553578, 9, 0, -1200553578, 65542, 0, -1200553578, 65543, 0, -1200553578, 65544, 0, -1200553578, 65545, 0, -1200553578, 131078, 0, -1200553578, 131079, 0, -1200553578, 131080, 0, -1200553578, 131081, 0, -1200553578, 196614, 0, -1200553578, 196615, 0, -1200553578, 196616, 0, -1200553578 )
-_sections_unfolded = [ "Cell" ]
-
-[node name="walls" type="TileMap" parent="." index="1"]
 
 
+[node name="walls" type="TileMap" parent="."]
 mode = 1
 mode = 1
 tile_set = ExtResource( 1 )
 tile_set = ExtResource( 1 )
 cell_size = Vector2( 128, 64 )
 cell_size = Vector2( 128, 64 )
-cell_quadrant_size = 16
-cell_custom_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
-cell_half_offset = 2
 cell_tile_origin = 1
 cell_tile_origin = 1
 cell_y_sort = true
 cell_y_sort = true
-cell_clip_uv = false
-collision_use_kinematic = false
-collision_friction = 1.0
-collision_bounce = 0.0
-collision_layer = 1
-collision_mask = 1
-occluder_light_mask = 1
 format = 1
 format = 1
 tile_data = PoolIntArray( -917493, 2, -1200553578, -917492, 2, -1200553578, -917491, 2, -1200553578, -917490, 2, -1200553578, -917489, 2, -1200553578, -851957, 2, -1200553578, -851956, 3, -1200553578, -851954, 3, -1200553578, -851953, 2, -1200553578, -786421, 2, -1200553578, -786420, 3, -1200553578, -786418, 3, -1200553578, -786417, 2, -1200553578, -720885, 2, -1200553578, -720881, 2, -1200553578, -655349, 2, -1200553578, -655348, 2, -1200553578, -655346, 3, -1200553578, -655345, 2, -1200553578, -589813, 2, -1200553578, -589809, 2, -1200553578, -524277, 2, -1200553578, -524273, 2, -1200553578, -458747, 2, -1200553578, -458746, 2, -1200553578, -458745, 2, -1200553578, -458744, 536870916, -1200553578, -458743, 536870916, -1200553578, -458742, 2, -1200553578, -458741, 2, -1200553578, -458740, 2, -1200553578, -458738, 2, -1200553578, -458737, 2, -1200553578, -393211, 2, -1200553578, -393209, 3, -1200553578, -393205, 3, -1200553578, -393201, 2, -1200553578, -327675, 4, -1200553578, -327665, 2, -1200553578, -262139, 4, -1200553578, -262129, 2, -1200553578, -196603, 2, 0, -196601, 3, 0, -196593, 2, -1200553578, -131067, 2, 0, -131062, 2, -1200553578, -131061, 2, -1200553578, -131060, 2, -1200553578, -131059, 2, -1200553578, -131058, 2, -1200553578, -131057, 2, -1200553578, -65531, 2, 0, -65530, 2, 0, -65527, 2, -1200553578, -65526, 2, -1200553578, 5, 2, -1200553578, 10, 2, 0, 65541, 2, -1200553578, 65546, 2, 0, 131077, 2, -1200553578, 131081, 3, 0, 131082, 2, 0, 196613, 2, -1200553578, 196618, 2, 0, 262149, 2, -1200553578, 262150, 2, -1200553578, 262151, 2, -1200553578, 262152, 2, -1200553578, 262153, 2, -1200553578, 262154, 2, -1200553578 )
 tile_data = PoolIntArray( -917493, 2, -1200553578, -917492, 2, -1200553578, -917491, 2, -1200553578, -917490, 2, -1200553578, -917489, 2, -1200553578, -851957, 2, -1200553578, -851956, 3, -1200553578, -851954, 3, -1200553578, -851953, 2, -1200553578, -786421, 2, -1200553578, -786420, 3, -1200553578, -786418, 3, -1200553578, -786417, 2, -1200553578, -720885, 2, -1200553578, -720881, 2, -1200553578, -655349, 2, -1200553578, -655348, 2, -1200553578, -655346, 3, -1200553578, -655345, 2, -1200553578, -589813, 2, -1200553578, -589809, 2, -1200553578, -524277, 2, -1200553578, -524273, 2, -1200553578, -458747, 2, -1200553578, -458746, 2, -1200553578, -458745, 2, -1200553578, -458744, 536870916, -1200553578, -458743, 536870916, -1200553578, -458742, 2, -1200553578, -458741, 2, -1200553578, -458740, 2, -1200553578, -458738, 2, -1200553578, -458737, 2, -1200553578, -393211, 2, -1200553578, -393209, 3, -1200553578, -393205, 3, -1200553578, -393201, 2, -1200553578, -327675, 4, -1200553578, -327665, 2, -1200553578, -262139, 4, -1200553578, -262129, 2, -1200553578, -196603, 2, 0, -196601, 3, 0, -196593, 2, -1200553578, -131067, 2, 0, -131062, 2, -1200553578, -131061, 2, -1200553578, -131060, 2, -1200553578, -131059, 2, -1200553578, -131058, 2, -1200553578, -131057, 2, -1200553578, -65531, 2, 0, -65530, 2, 0, -65527, 2, -1200553578, -65526, 2, -1200553578, 5, 2, -1200553578, 10, 2, 0, 65541, 2, -1200553578, 65546, 2, 0, 131077, 2, -1200553578, 131081, 3, 0, 131082, 2, 0, 196613, 2, -1200553578, 196618, 2, 0, 262149, 2, -1200553578, 262150, 2, -1200553578, 262151, 2, -1200553578, 262152, 2, -1200553578, 262153, 2, -1200553578, 262154, 2, -1200553578 )
-_sections_unfolded = [ "Cell" ]
-
-[node name="troll" parent="walls" index="0" instance=ExtResource( 2 )]
 
 
+[node name="troll" parent="walls" instance=ExtResource( 2 )]
 position = Vector2( 368.142, 347.007 )
 position = Vector2( 368.142, 347.007 )
 
 
-

+ 22 - 5
2d/isometric/project.godot

@@ -6,7 +6,12 @@
 ;   [section] ; section goes between []
 ;   [section] ; section goes between []
 ;   param=value ; assign values to parameters
 ;   param=value ; assign values to parameters
 
 
-config_version=3
+config_version=4
+
+_global_script_classes=[  ]
+_global_script_class_icons={
+
+}
 
 
 [application]
 [application]
 
 
@@ -25,14 +30,26 @@ gen_mipmaps=false
 
 
 [input]
 [input]
 
 
-move_bottom=[ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777234,"unicode":0,"echo":false,"script":null)
+move_bottom={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777234,"unicode":0,"echo":false,"script":null)
  ]
  ]
-move_left=[ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777231,"unicode":0,"echo":false,"script":null)
+}
+move_left={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777231,"unicode":0,"echo":false,"script":null)
  ]
  ]
-move_right=[ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777233,"unicode":0,"echo":false,"script":null)
+}
+move_right={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777233,"unicode":0,"echo":false,"script":null)
  ]
  ]
-move_up=[ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777232,"unicode":0,"echo":false,"script":null)
+}
+move_up={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777232,"unicode":0,"echo":false,"script":null)
  ]
  ]
+}
 
 
 [rasterizer]
 [rasterizer]
 
 

+ 11 - 55
2d/isometric/tileset_edit.tscn

@@ -4,102 +4,58 @@
 
 
 [node name="Node2D" type="Node2D"]
 [node name="Node2D" type="Node2D"]
 
 
-[node name="base" type="Sprite" parent="." index="0"]
-
+[node name="base" type="Sprite" parent="."]
 position = Vector2( 150.049, 61.1264 )
 position = Vector2( 150.049, 61.1264 )
 texture = ExtResource( 1 )
 texture = ExtResource( 1 )
 centered = false
 centered = false
 offset = Vector2( -66, -42 )
 offset = Vector2( -66, -42 )
 region_enabled = true
 region_enabled = true
 region_rect = Rect2( 28, 92, 132, 84 )
 region_rect = Rect2( 28, 92, 132, 84 )
-_sections_unfolded = [ "Offset", "Region" ]
-
-[node name="base2" type="Sprite" parent="." index="1"]
 
 
+[node name="base2" type="Sprite" parent="."]
 position = Vector2( 257.013, 124.86 )
 position = Vector2( 257.013, 124.86 )
 texture = ExtResource( 1 )
 texture = ExtResource( 1 )
 centered = false
 centered = false
 offset = Vector2( -66, -42 )
 offset = Vector2( -66, -42 )
 region_enabled = true
 region_enabled = true
 region_rect = Rect2( 220, 92, 132, 84 )
 region_rect = Rect2( 220, 92, 132, 84 )
-_sections_unfolded = [ "Offset", "Region" ]
-
-[node name="wall" type="Sprite" parent="." index="2"]
 
 
+[node name="wall" type="Sprite" parent="."]
 position = Vector2( 421.311, 137.805 )
 position = Vector2( 421.311, 137.805 )
 texture = ExtResource( 1 )
 texture = ExtResource( 1 )
 centered = false
 centered = false
 offset = Vector2( -69.3109, -99.8051 )
 offset = Vector2( -69.3109, -99.8051 )
 region_enabled = true
 region_enabled = true
 region_rect = Rect2( 28, 220, 132, 136 )
 region_rect = Rect2( 28, 220, 132, 136 )
-_sections_unfolded = [ "Offset", "Region" ]
 
 
-[node name="StaticBody2D" type="StaticBody2D" parent="wall" index="0"]
+[node name="StaticBody2D" type="StaticBody2D" parent="wall"]
 
 
-input_pickable = false
-collision_layer = 1
-collision_mask = 1
-constant_linear_velocity = Vector2( 0, 0 )
-constant_angular_velocity = 0.0
-friction = 1.0
-bounce = 0.0
-_sections_unfolded = [ "Transform" ]
-
-[node name="collision" type="CollisionPolygon2D" parent="wall/StaticBody2D" index="0"]
-
-build_mode = 0
+[node name="collision" type="CollisionPolygon2D" parent="wall/StaticBody2D"]
 polygon = PoolVector2Array( -68, 2, -4, 34, 60, 2, -4, -30 )
 polygon = PoolVector2Array( -68, 2, -4, 34, 60, 2, -4, -30 )
 
 
-[node name="column" type="Sprite" parent="." index="3"]
-
+[node name="column" type="Sprite" parent="."]
 position = Vector2( 359.563, 266.446 )
 position = Vector2( 359.563, 266.446 )
 texture = ExtResource( 1 )
 texture = ExtResource( 1 )
 centered = false
 centered = false
 offset = Vector2( -69.5632, -100.446 )
 offset = Vector2( -69.5632, -100.446 )
 region_enabled = true
 region_enabled = true
 region_rect = Rect2( 220, 220, 132, 136 )
 region_rect = Rect2( 220, 220, 132, 136 )
-_sections_unfolded = [ "Offset", "Region" ]
 
 
-[node name="StaticBody" type="StaticBody2D" parent="column" index="0"]
+[node name="StaticBody" type="StaticBody2D" parent="column"]
 
 
-input_pickable = false
-collision_layer = 1
-collision_mask = 1
-constant_linear_velocity = Vector2( 0, 0 )
-constant_angular_velocity = 0.0
-friction = 1.0
-bounce = 0.0
-_sections_unfolded = [ "Transform" ]
-
-[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="column/StaticBody" index="0"]
-
-build_mode = 0
+[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="column/StaticBody"]
 polygon = PoolVector2Array( -20, -6, -4, 10, 4, 10, 28, -6, 12, -22, -4, -22 )
 polygon = PoolVector2Array( -20, -6, -4, 10, 4, 10, 28, -6, 12, -22, -4, -22 )
 
 
-[node name="door1" type="Sprite" parent="." index="4"]
-
+[node name="door1" type="Sprite" parent="."]
 position = Vector2( -24.1548, 142.216 )
 position = Vector2( -24.1548, 142.216 )
 texture = ExtResource( 1 )
 texture = ExtResource( 1 )
 centered = false
 centered = false
 offset = Vector2( -50.3623, -90.8164 )
 offset = Vector2( -50.3623, -90.8164 )
 region_enabled = true
 region_enabled = true
 region_rect = Rect2( 24, 408, 132, 136 )
 region_rect = Rect2( 24, 408, 132, 136 )
-_sections_unfolded = [ "Offset", "Region" ]
 
 
-[node name="StaticBody2D" type="StaticBody2D" parent="door1" index="0"]
+[node name="StaticBody2D" type="StaticBody2D" parent="door1"]
 
 
-input_pickable = false
-collision_layer = 1
-collision_mask = 1
-constant_linear_velocity = Vector2( 0, 0 )
-constant_angular_velocity = 0.0
-friction = 1.0
-bounce = 0.0
-_sections_unfolded = [ "Transform" ]
-
-[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="door1/StaticBody2D" index="0"]
-
-build_mode = 0
+[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="door1/StaticBody2D"]
 polygon = PoolVector2Array( -5.90501, 31.3748, 66.095, -0.62516, 50.095, -8.62516, -21.905, 23.3748 )
 polygon = PoolVector2Array( -5.90501, 31.3748, 66.095, -0.62516, 50.095, -8.62516, -21.905, 23.3748 )
 
 
-

+ 1 - 1
2d/isometric/troll.gd

@@ -7,7 +7,7 @@ extends KinematicBody2D
 const MOTION_SPEED = 160 # Pixels/second
 const MOTION_SPEED = 160 # Pixels/second
 
 
 
 
-func _physics_process(delta):
+func _physics_process(_delta):
 	var motion = Vector2()
 	var motion = Vector2()
 	
 	
 	if Input.is_action_pressed("move_up"):
 	if Input.is_action_pressed("move_up"):

+ 0 - 30
2d/isometric/troll.tscn

@@ -4,49 +4,19 @@
 [ext_resource path="res://troll.png" type="Texture" id=2]
 [ext_resource path="res://troll.png" type="Texture" id=2]
 
 
 [sub_resource type="CircleShape2D" id=1]
 [sub_resource type="CircleShape2D" id=1]
-
-custom_solver_bias = 0.0
 radius = 16.0
 radius = 16.0
 
 
 [node name="troll" type="KinematicBody2D"]
 [node name="troll" type="KinematicBody2D"]
-
-input_pickable = false
-collision_layer = 1
-collision_mask = 1
-collision/safe_margin = 0.08
 script = ExtResource( 1 )
 script = ExtResource( 1 )
 
 
 [node name="Sprite" type="Sprite" parent="."]
 [node name="Sprite" type="Sprite" parent="."]
-
 position = Vector2( -3.94334, -36.924 )
 position = Vector2( -3.94334, -36.924 )
 texture = ExtResource( 2 )
 texture = ExtResource( 2 )
 
 
 [node name="CollisionShape2D" type="CollisionShape2D" parent="."]
 [node name="CollisionShape2D" type="CollisionShape2D" parent="."]
-
 position = Vector2( -0.342697, -0.980721 )
 position = Vector2( -0.342697, -0.980721 )
 shape = SubResource( 1 )
 shape = SubResource( 1 )
 
 
 [node name="Camera2D" type="Camera2D" parent="."]
 [node name="Camera2D" type="Camera2D" parent="."]
-
-anchor_mode = 1
-rotating = false
 current = true
 current = true
-zoom = Vector2( 1, 1 )
-limit_left = -10000000
-limit_top = -10000000
-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
-editor_draw_screen = true
-editor_draw_limits = false
-editor_draw_drag_margin = false
-
 
 

File diff suppressed because it is too large
+ 8 - 37
2d/kinematic_character/colworld.tscn


+ 0 - 10
2d/kinematic_character/player.tscn

@@ -4,25 +4,15 @@
 [ext_resource path="res://player.png" type="Texture" id=2]
 [ext_resource path="res://player.png" type="Texture" id=2]
 
 
 [sub_resource type="RectangleShape2D" id=1]
 [sub_resource type="RectangleShape2D" id=1]
-
-custom_solver_bias = 0.0
 extents = Vector2( 7, 7 )
 extents = Vector2( 7, 7 )
 
 
 [node name="player" type="KinematicBody2D"]
 [node name="player" type="KinematicBody2D"]
-
-input_pickable = false
-collision_layer = 1
-collision_mask = 1
-collision/safe_margin = 0.08
 script = ExtResource( 1 )
 script = ExtResource( 1 )
 
 
 [node name="sprite" type="Sprite" parent="."]
 [node name="sprite" type="Sprite" parent="."]
-
 texture = ExtResource( 2 )
 texture = ExtResource( 2 )
 
 
 [node name="CollisionShape2D" type="CollisionShape2D" parent="."]
 [node name="CollisionShape2D" type="CollisionShape2D" parent="."]
-
 position = Vector2( -0.315559, 0.157784 )
 position = Vector2( -0.315559, 0.157784 )
 shape = SubResource( 1 )
 shape = SubResource( 1 )
 
 
-

+ 26 - 6
2d/kinematic_character/project.godot

@@ -6,7 +6,12 @@
 ;   [section] ; section goes between []
 ;   [section] ; section goes between []
 ;   param=value ; assign values to parameters
 ;   param=value ; assign values to parameters
 
 
-config_version=3
+config_version=4
+
+_global_script_classes=[  ]
+_global_script_class_icons={
+
+}
 
 
 [application]
 [application]
 
 
@@ -27,16 +32,31 @@ singletons=[  ]
 
 
 [input]
 [input]
 
 
-jump=[ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":32,"unicode":0,"echo":false,"script":null)
+jump={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":32,"unicode":0,"echo":false,"script":null)
  ]
  ]
-move_bottom=[ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777234,"unicode":0,"echo":false,"script":null)
+}
+move_bottom={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777234,"unicode":0,"echo":false,"script":null)
  ]
  ]
-move_left=[ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777231,"unicode":0,"echo":false,"script":null)
+}
+move_left={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777231,"unicode":0,"echo":false,"script":null)
  ]
  ]
-move_right=[ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777233,"unicode":0,"echo":false,"script":null)
+}
+move_right={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777233,"unicode":0,"echo":false,"script":null)
  ]
  ]
-move_up=[ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777232,"unicode":0,"echo":false,"script":null)
+}
+move_up={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777232,"unicode":0,"echo":false,"script":null)
  ]
  ]
+}
 
 
 [memory]
 [memory]
 
 

File diff suppressed because it is too large
+ 4 - 16
2d/kinematic_collision/colworld.tscn


+ 2 - 3
2d/kinematic_collision/icon.png.import

@@ -7,16 +7,14 @@ path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"
 [deps]
 [deps]
 
 
 source_file="res://icon.png"
 source_file="res://icon.png"
-source_md5="49c0855bb2f599fd216190fb14eac778"
-
 dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ]
 dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ]
-dest_md5="ef5bb91cdcf00e1ad730573fc7704640"
 
 
 [params]
 [params]
 
 
 compress/mode=0
 compress/mode=0
 compress/lossy_quality=0.7
 compress/lossy_quality=0.7
 compress/hdr_mode=0
 compress/hdr_mode=0
+compress/bptc_ldr=0
 compress/normal_map=0
 compress/normal_map=0
 flags/repeat=0
 flags/repeat=0
 flags/filter=true
 flags/filter=true
@@ -26,6 +24,7 @@ flags/srgb=2
 process/fix_alpha_border=true
 process/fix_alpha_border=true
 process/premult_alpha=false
 process/premult_alpha=false
 process/HDR_as_SRGB=false
 process/HDR_as_SRGB=false
+process/invert_color=false
 stream=false
 stream=false
 size_limit=0
 size_limit=0
 detect_3d=true
 detect_3d=true

+ 2 - 3
2d/kinematic_collision/obstacle.png.import

@@ -7,16 +7,14 @@ path="res://.import/obstacle.png-dfb3e99d3af573251007cdf5e1c252b9.stex"
 [deps]
 [deps]
 
 
 source_file="res://obstacle.png"
 source_file="res://obstacle.png"
-source_md5="593e6d05e3859ff3e39eddb0bcad093b"
-
 dest_files=[ "res://.import/obstacle.png-dfb3e99d3af573251007cdf5e1c252b9.stex" ]
 dest_files=[ "res://.import/obstacle.png-dfb3e99d3af573251007cdf5e1c252b9.stex" ]
-dest_md5="ad71f3bc8585c641906a5ff5124ac2e6"
 
 
 [params]
 [params]
 
 
 compress/mode=0
 compress/mode=0
 compress/lossy_quality=0.7
 compress/lossy_quality=0.7
 compress/hdr_mode=0
 compress/hdr_mode=0
+compress/bptc_ldr=0
 compress/normal_map=0
 compress/normal_map=0
 flags/repeat=0
 flags/repeat=0
 flags/filter=true
 flags/filter=true
@@ -26,6 +24,7 @@ flags/srgb=2
 process/fix_alpha_border=true
 process/fix_alpha_border=true
 process/premult_alpha=false
 process/premult_alpha=false
 process/HDR_as_SRGB=false
 process/HDR_as_SRGB=false
+process/invert_color=false
 stream=false
 stream=false
 size_limit=0
 size_limit=0
 detect_3d=true
 detect_3d=true

+ 1 - 1
2d/kinematic_collision/player.gd

@@ -7,7 +7,7 @@ extends KinematicBody2D
 const MOTION_SPEED = 160 # Pixels/second
 const MOTION_SPEED = 160 # Pixels/second
 
 
 
 
-func _physics_process(delta):
+func _physics_process(_delta):
 	var motion = Vector2()
 	var motion = Vector2()
 	
 	
 	if Input.is_action_pressed("move_up"):
 	if Input.is_action_pressed("move_up"):

+ 2 - 3
2d/kinematic_collision/player.png.import

@@ -7,16 +7,14 @@ path="res://.import/player.png-2dd0af52de4b213777cd8c9df94c0978.stex"
 [deps]
 [deps]
 
 
 source_file="res://player.png"
 source_file="res://player.png"
-source_md5="540f7f0d3b239b1d8c349f4be4d2d253"
-
 dest_files=[ "res://.import/player.png-2dd0af52de4b213777cd8c9df94c0978.stex" ]
 dest_files=[ "res://.import/player.png-2dd0af52de4b213777cd8c9df94c0978.stex" ]
-dest_md5="4112e6a5c36d38d07edebbfbd416c9fa"
 
 
 [params]
 [params]
 
 
 compress/mode=0
 compress/mode=0
 compress/lossy_quality=0.7
 compress/lossy_quality=0.7
 compress/hdr_mode=0
 compress/hdr_mode=0
+compress/bptc_ldr=0
 compress/normal_map=0
 compress/normal_map=0
 flags/repeat=0
 flags/repeat=0
 flags/filter=true
 flags/filter=true
@@ -26,6 +24,7 @@ flags/srgb=2
 process/fix_alpha_border=true
 process/fix_alpha_border=true
 process/premult_alpha=false
 process/premult_alpha=false
 process/HDR_as_SRGB=false
 process/HDR_as_SRGB=false
+process/invert_color=false
 stream=false
 stream=false
 size_limit=0
 size_limit=0
 detect_3d=true
 detect_3d=true

+ 0 - 10
2d/kinematic_collision/player.tscn

@@ -4,24 +4,14 @@
 [ext_resource path="res://player.png" type="Texture" id=2]
 [ext_resource path="res://player.png" type="Texture" id=2]
 
 
 [sub_resource type="RectangleShape2D" id=1]
 [sub_resource type="RectangleShape2D" id=1]
-
-custom_solver_bias = 0.0
 extents = Vector2( 8, 8 )
 extents = Vector2( 8, 8 )
 
 
 [node name="player" type="KinematicBody2D"]
 [node name="player" type="KinematicBody2D"]
-
-input_pickable = false
-collision_layer = 1
-collision_mask = 1
-collision/safe_margin = 0.08
 script = ExtResource( 1 )
 script = ExtResource( 1 )
 
 
 [node name="sprite" type="Sprite" parent="."]
 [node name="sprite" type="Sprite" parent="."]
-
 texture = ExtResource( 2 )
 texture = ExtResource( 2 )
 
 
 [node name="CollisionShape2D" type="CollisionShape2D" parent="."]
 [node name="CollisionShape2D" type="CollisionShape2D" parent="."]
-
 shape = SubResource( 1 )
 shape = SubResource( 1 )
 
 
-

+ 22 - 5
2d/kinematic_collision/project.godot

@@ -6,7 +6,12 @@
 ;   [section] ; section goes between []
 ;   [section] ; section goes between []
 ;   param=value ; assign values to parameters
 ;   param=value ; assign values to parameters
 
 
-config_version=3
+config_version=4
+
+_global_script_classes=[  ]
+_global_script_class_icons={
+
+}
 
 
 [application]
 [application]
 
 
@@ -20,11 +25,23 @@ singletons=[  ]
 
 
 [input]
 [input]
 
 
-move_bottom=[ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777234,"unicode":0,"echo":false,"script":null)
+move_bottom={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777234,"unicode":0,"echo":false,"script":null)
  ]
  ]
-move_left=[ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777231,"unicode":0,"echo":false,"script":null)
+}
+move_left={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777231,"unicode":0,"echo":false,"script":null)
  ]
  ]
-move_right=[ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777233,"unicode":0,"echo":false,"script":null)
+}
+move_right={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777233,"unicode":0,"echo":false,"script":null)
  ]
  ]
-move_up=[ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777232,"unicode":0,"echo":false,"script":null)
+}
+move_up={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777232,"unicode":0,"echo":false,"script":null)
  ]
  ]
+}

+ 2 - 3
2d/light2d_as_mask/burano.png.import

@@ -7,16 +7,14 @@ path="res://.import/burano.png-893cff79ccbe972d7b1ad3e1845f81bf.stex"
 [deps]
 [deps]
 
 
 source_file="res://burano.png"
 source_file="res://burano.png"
-source_md5="56e0dd7f3166567cd3732be2b3d969d7"
-
 dest_files=[ "res://.import/burano.png-893cff79ccbe972d7b1ad3e1845f81bf.stex" ]
 dest_files=[ "res://.import/burano.png-893cff79ccbe972d7b1ad3e1845f81bf.stex" ]
-dest_md5="c41d7eefd81a4a9b247056ecc6cecb53"
 
 
 [params]
 [params]
 
 
 compress/mode=0
 compress/mode=0
 compress/lossy_quality=0.7
 compress/lossy_quality=0.7
 compress/hdr_mode=0
 compress/hdr_mode=0
+compress/bptc_ldr=0
 compress/normal_map=0
 compress/normal_map=0
 flags/repeat=0
 flags/repeat=0
 flags/filter=true
 flags/filter=true
@@ -26,6 +24,7 @@ flags/srgb=2
 process/fix_alpha_border=true
 process/fix_alpha_border=true
 process/premult_alpha=false
 process/premult_alpha=false
 process/HDR_as_SRGB=false
 process/HDR_as_SRGB=false
+process/invert_color=false
 stream=false
 stream=false
 size_limit=0
 size_limit=0
 detect_3d=true
 detect_3d=true

+ 2 - 3
2d/light2d_as_mask/icon.png.import

@@ -7,16 +7,14 @@ path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"
 [deps]
 [deps]
 
 
 source_file="res://icon.png"
 source_file="res://icon.png"
-source_md5="0f5dab3f02c95e5a3b2df77bff0389d5"
-
 dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ]
 dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ]
-dest_md5="8060b8a927328cda642bc470301ec76d"
 
 
 [params]
 [params]
 
 
 compress/mode=0
 compress/mode=0
 compress/lossy_quality=0.7
 compress/lossy_quality=0.7
 compress/hdr_mode=0
 compress/hdr_mode=0
+compress/bptc_ldr=0
 compress/normal_map=0
 compress/normal_map=0
 flags/repeat=0
 flags/repeat=0
 flags/filter=true
 flags/filter=true
@@ -26,6 +24,7 @@ flags/srgb=2
 process/fix_alpha_border=true
 process/fix_alpha_border=true
 process/premult_alpha=false
 process/premult_alpha=false
 process/HDR_as_SRGB=false
 process/HDR_as_SRGB=false
+process/invert_color=false
 stream=false
 stream=false
 size_limit=0
 size_limit=0
 detect_3d=true
 detect_3d=true

+ 4 - 89
2d/light2d_as_mask/lightmask.tscn

@@ -4,21 +4,17 @@
 [ext_resource path="res://splat.png" type="Texture" id=2]
 [ext_resource path="res://splat.png" type="Texture" id=2]
 
 
 [sub_resource type="CanvasItemMaterial" id=1]
 [sub_resource type="CanvasItemMaterial" id=1]
-
-render_priority = 0
-blend_mode = 0
 light_mode = 2
 light_mode = 2
 
 
 [sub_resource type="Animation" id=2]
 [sub_resource type="Animation" id=2]
-
 length = 4.0
 length = 4.0
 loop = true
 loop = true
-step = 0.1
 tracks/0/type = "value"
 tracks/0/type = "value"
 tracks/0/path = NodePath("light1:position")
 tracks/0/path = NodePath("light1:position")
 tracks/0/interp = 1
 tracks/0/interp = 1
 tracks/0/loop_wrap = true
 tracks/0/loop_wrap = true
 tracks/0/imported = false
 tracks/0/imported = false
+tracks/0/enabled = true
 tracks/0/keys = {
 tracks/0/keys = {
 "times": PoolRealArray( 0, 1, 2, 3 ),
 "times": PoolRealArray( 0, 1, 2, 3 ),
 "transitions": PoolRealArray( -2, -2, -2, -2 ),
 "transitions": PoolRealArray( -2, -2, -2, -2 ),
@@ -30,6 +26,7 @@ tracks/1/path = NodePath("light2:position")
 tracks/1/interp = 1
 tracks/1/interp = 1
 tracks/1/loop_wrap = true
 tracks/1/loop_wrap = true
 tracks/1/imported = false
 tracks/1/imported = false
+tracks/1/enabled = true
 tracks/1/keys = {
 tracks/1/keys = {
 "times": PoolRealArray( 0, 1, 2, 3 ),
 "times": PoolRealArray( 0, 1, 2, 3 ),
 "transitions": PoolRealArray( -2, -2, -2, -2 ),
 "transitions": PoolRealArray( -2, -2, -2, -2 ),
@@ -41,6 +38,7 @@ tracks/2/path = NodePath("light3:position")
 tracks/2/interp = 1
 tracks/2/interp = 1
 tracks/2/loop_wrap = true
 tracks/2/loop_wrap = true
 tracks/2/imported = false
 tracks/2/imported = false
+tracks/2/enabled = true
 tracks/2/keys = {
 tracks/2/keys = {
 "times": PoolRealArray( 0, 1, 2, 3 ),
 "times": PoolRealArray( 0, 1, 2, 3 ),
 "transitions": PoolRealArray( -2, -2, -2, -2 ),
 "transitions": PoolRealArray( -2, -2, -2, -2 ),
@@ -49,118 +47,35 @@ tracks/2/keys = {
 }
 }
 
 
 [node name="lightmask_demo" type="Control"]
 [node name="lightmask_demo" type="Control"]
-
-anchor_left = 0.0
-anchor_top = 0.0
 anchor_right = 1.0
 anchor_right = 1.0
 anchor_bottom = 1.0
 anchor_bottom = 1.0
-rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
-mouse_filter = 0
 size_flags_horizontal = 2
 size_flags_horizontal = 2
 size_flags_vertical = 2
 size_flags_vertical = 2
 
 
 [node name="burano" type="TextureRect" parent="."]
 [node name="burano" type="TextureRect" parent="."]
-
 material = SubResource( 1 )
 material = SubResource( 1 )
-anchor_left = 0.0
-anchor_top = 0.0
-anchor_right = 0.0
-anchor_bottom = 0.0
 margin_right = 800.0
 margin_right = 800.0
 margin_bottom = 600.0
 margin_bottom = 600.0
-rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
-mouse_filter = 1
 size_flags_horizontal = 2
 size_flags_horizontal = 2
 size_flags_vertical = 2
 size_flags_vertical = 2
 texture = ExtResource( 1 )
 texture = ExtResource( 1 )
-stretch_mode = 0
 
 
 [node name="light1" type="Light2D" parent="."]
 [node name="light1" type="Light2D" parent="."]
-
 position = Vector2( 601.028, 242.639 )
 position = Vector2( 601.028, 242.639 )
-enabled = true
-editor_only = false
 texture = ExtResource( 2 )
 texture = ExtResource( 2 )
-offset = Vector2( 0, 0 )
-texture_scale = 1.0
-color = Color( 1, 1, 1, 1 )
-energy = 1.0
 mode = 2
 mode = 2
-range_height = 0.0
-range_z_min = -1024
-range_z_max = 1024
-range_layer_min = 0
-range_layer_max = 0
-range_item_cull_mask = 1
-shadow_enabled = false
-shadow_color = Color( 0, 0, 0, 0 )
-shadow_buffer_size = 2048
-shadow_gradient_length = 0.0
-shadow_filter = 0
-shadow_filter_smooth = 0.0
-shadow_item_cull_mask = 1
 
 
 [node name="light2" type="Light2D" parent="."]
 [node name="light2" type="Light2D" parent="."]
-
 position = Vector2( 196.528, 185.139 )
 position = Vector2( 196.528, 185.139 )
-enabled = true
-editor_only = false
 texture = ExtResource( 2 )
 texture = ExtResource( 2 )
-offset = Vector2( 0, 0 )
-texture_scale = 1.0
-color = Color( 1, 1, 1, 1 )
-energy = 1.0
 mode = 2
 mode = 2
-range_height = 0.0
-range_z_min = -1024
-range_z_max = 1024
-range_layer_min = 0
-range_layer_max = 0
-range_item_cull_mask = 1
-shadow_enabled = false
-shadow_color = Color( 0, 0, 0, 0 )
-shadow_buffer_size = 2048
-shadow_gradient_length = 0.0
-shadow_filter = 0
-shadow_filter_smooth = 0.0
-shadow_item_cull_mask = 1
 
 
 [node name="light3" type="Light2D" parent="."]
 [node name="light3" type="Light2D" parent="."]
-
 position = Vector2( 442.528, 411.139 )
 position = Vector2( 442.528, 411.139 )
-enabled = true
-editor_only = false
 texture = ExtResource( 2 )
 texture = ExtResource( 2 )
-offset = Vector2( 0, 0 )
-texture_scale = 1.0
-color = Color( 1, 1, 1, 1 )
-energy = 1.0
 mode = 2
 mode = 2
-range_height = 0.0
-range_z_min = -1024
-range_z_max = 1024
-range_layer_min = 0
-range_layer_max = 0
-range_item_cull_mask = 1
-shadow_enabled = false
-shadow_color = Color( 0, 0, 0, 0 )
-shadow_buffer_size = 2048
-shadow_gradient_length = 0.0
-shadow_filter = 0
-shadow_filter_smooth = 0.0
-shadow_item_cull_mask = 1
 
 
 [node name="anim" type="AnimationPlayer" parent="."]
 [node name="anim" type="AnimationPlayer" parent="."]
-
-playback_process_mode = 1
-playback_default_blend_time = 0.0
-root_node = NodePath("..")
-anims/maskmotion = SubResource( 2 )
-playback/active = true
-playback/speed = 1.0
-blend_times = [  ]
 autoplay = "maskmotion"
 autoplay = "maskmotion"
-
+anims/maskmotion = SubResource( 2 )
 
 

+ 6 - 1
2d/light2d_as_mask/project.godot

@@ -6,7 +6,12 @@
 ;   [section] ; section goes between []
 ;   [section] ; section goes between []
 ;   param=value ; assign values to parameters
 ;   param=value ; assign values to parameters
 
 
-config_version=3
+config_version=4
+
+_global_script_classes=[  ]
+_global_script_class_icons={
+
+}
 
 
 [application]
 [application]
 
 

+ 2 - 3
2d/light2d_as_mask/splat.png.import

@@ -7,16 +7,14 @@ path="res://.import/splat.png-a41a35966004eec2e8a20d517d1ec4bb.stex"
 [deps]
 [deps]
 
 
 source_file="res://splat.png"
 source_file="res://splat.png"
-source_md5="2ac066f1b78091c74d758bb6afafff98"
-
 dest_files=[ "res://.import/splat.png-a41a35966004eec2e8a20d517d1ec4bb.stex" ]
 dest_files=[ "res://.import/splat.png-a41a35966004eec2e8a20d517d1ec4bb.stex" ]
-dest_md5="b136a1944158048a2afca2127eb1393f"
 
 
 [params]
 [params]
 
 
 compress/mode=0
 compress/mode=0
 compress/lossy_quality=0.7
 compress/lossy_quality=0.7
 compress/hdr_mode=0
 compress/hdr_mode=0
+compress/bptc_ldr=0
 compress/normal_map=0
 compress/normal_map=0
 flags/repeat=0
 flags/repeat=0
 flags/filter=true
 flags/filter=true
@@ -26,6 +24,7 @@ flags/srgb=2
 process/fix_alpha_border=true
 process/fix_alpha_border=true
 process/premult_alpha=false
 process/premult_alpha=false
 process/HDR_as_SRGB=false
 process/HDR_as_SRGB=false
+process/invert_color=false
 stream=false
 stream=false
 size_limit=0
 size_limit=0
 detect_3d=true
 detect_3d=true

+ 6 - 141
2d/lights_and_shadows/light_shadows.tscn

@@ -6,27 +6,20 @@
 [ext_resource path="res://spot.png" type="Texture" id=4]
 [ext_resource path="res://spot.png" type="Texture" id=4]
 
 
 [sub_resource type="OccluderPolygon2D" id=1]
 [sub_resource type="OccluderPolygon2D" id=1]
-
-closed = true
-cull_mode = 0
 polygon = PoolVector2Array( -15.913, -15.9738, 15.9079, -16.0785, 15.6986, 15.847, -16.1223, 15.9517 )
 polygon = PoolVector2Array( -15.913, -15.9738, 15.9079, -16.0785, 15.6986, 15.847, -16.1223, 15.9517 )
 
 
 [sub_resource type="CanvasItemMaterial" id=2]
 [sub_resource type="CanvasItemMaterial" id=2]
-
-render_priority = 0
 blend_mode = 1
 blend_mode = 1
-light_mode = 0
 
 
 [sub_resource type="Animation" id=3]
 [sub_resource type="Animation" id=3]
-
 length = 16.0
 length = 16.0
 loop = true
 loop = true
-step = 0.1
 tracks/0/type = "value"
 tracks/0/type = "value"
 tracks/0/path = NodePath(".:position")
 tracks/0/path = NodePath(".:position")
 tracks/0/interp = 1
 tracks/0/interp = 1
 tracks/0/loop_wrap = true
 tracks/0/loop_wrap = true
 tracks/0/imported = false
 tracks/0/imported = false
+tracks/0/enabled = true
 tracks/0/keys = {
 tracks/0/keys = {
 "times": PoolRealArray( 0, 4, 8, 12 ),
 "times": PoolRealArray( 0, 4, 8, 12 ),
 "transitions": PoolRealArray( -2, -2, -2, -2 ),
 "transitions": PoolRealArray( -2, -2, -2, -2 ),
@@ -35,15 +28,14 @@ tracks/0/keys = {
 }
 }
 
 
 [sub_resource type="Animation" id=4]
 [sub_resource type="Animation" id=4]
-
 length = 16.0
 length = 16.0
 loop = true
 loop = true
-step = 0.1
 tracks/0/type = "value"
 tracks/0/type = "value"
 tracks/0/path = NodePath(".:position")
 tracks/0/path = NodePath(".:position")
 tracks/0/interp = 1
 tracks/0/interp = 1
 tracks/0/loop_wrap = true
 tracks/0/loop_wrap = true
 tracks/0/imported = false
 tracks/0/imported = false
+tracks/0/enabled = true
 tracks/0/keys = {
 tracks/0/keys = {
 "times": PoolRealArray( 0, 4.1, 8.1, 11.8 ),
 "times": PoolRealArray( 0, 4.1, 8.1, 11.8 ),
 "transitions": PoolRealArray( -2, -2, -2, -2 ),
 "transitions": PoolRealArray( -2, -2, -2, -2 ),
@@ -52,27 +44,20 @@ tracks/0/keys = {
 }
 }
 
 
 [sub_resource type="CanvasItemMaterial" id=5]
 [sub_resource type="CanvasItemMaterial" id=5]
-
-render_priority = 0
 blend_mode = 1
 blend_mode = 1
-light_mode = 0
 
 
 [sub_resource type="CanvasItemMaterial" id=6]
 [sub_resource type="CanvasItemMaterial" id=6]
-
-render_priority = 0
 blend_mode = 1
 blend_mode = 1
-light_mode = 0
 
 
 [sub_resource type="Animation" id=7]
 [sub_resource type="Animation" id=7]
-
 length = 16.0
 length = 16.0
 loop = true
 loop = true
-step = 0.1
 tracks/0/type = "value"
 tracks/0/type = "value"
 tracks/0/path = NodePath(".:position")
 tracks/0/path = NodePath(".:position")
 tracks/0/interp = 1
 tracks/0/interp = 1
 tracks/0/loop_wrap = true
 tracks/0/loop_wrap = true
 tracks/0/imported = false
 tracks/0/imported = false
+tracks/0/enabled = true
 tracks/0/keys = {
 tracks/0/keys = {
 "times": PoolRealArray( 0, 4.1, 7.9, 12.1 ),
 "times": PoolRealArray( 0, 4.1, 7.9, 12.1 ),
 "transitions": PoolRealArray( -2, -2, -2, -2 ),
 "transitions": PoolRealArray( -2, -2, -2, -2 ),
@@ -83,11 +68,9 @@ tracks/0/keys = {
 [node name="base" type="Node2D"]
 [node name="base" type="Node2D"]
 
 
 [node name="ambient" type="CanvasModulate" parent="."]
 [node name="ambient" type="CanvasModulate" parent="."]
-
 color = Color( 0.27451, 0.27451, 0.27451, 1 )
 color = Color( 0.27451, 0.27451, 0.27451, 1 )
 
 
 [node name="bg" type="Sprite" parent="."]
 [node name="bg" type="Sprite" parent="."]
-
 position = Vector2( 401.251, 301.906 )
 position = Vector2( 401.251, 301.906 )
 scale = Vector2( 6.39454, 4.82665 )
 scale = Vector2( 6.39454, 4.82665 )
 texture = ExtResource( 1 )
 texture = ExtResource( 1 )
@@ -95,280 +78,162 @@ texture = ExtResource( 1 )
 [node name="casters" type="Node2D" parent="."]
 [node name="casters" type="Node2D" parent="."]
 
 
 [node name="shadow_caster" type="Sprite" parent="casters"]
 [node name="shadow_caster" type="Sprite" parent="casters"]
-
 position = Vector2( 95.2909, 85.3186 )
 position = Vector2( 95.2909, 85.3186 )
 texture = ExtResource( 2 )
 texture = ExtResource( 2 )
 
 
 [node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster"]
 [node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster"]
-
 occluder = SubResource( 1 )
 occluder = SubResource( 1 )
-light_mask = 1
 
 
 [node name="shadow_caster1" type="Sprite" parent="casters"]
 [node name="shadow_caster1" type="Sprite" parent="casters"]
-
 position = Vector2( 200.291, 313.319 )
 position = Vector2( 200.291, 313.319 )
 texture = ExtResource( 2 )
 texture = ExtResource( 2 )
 
 
 [node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster1"]
 [node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster1"]
-
 occluder = SubResource( 1 )
 occluder = SubResource( 1 )
-light_mask = 1
 
 
 [node name="shadow_caster2" type="Sprite" parent="casters"]
 [node name="shadow_caster2" type="Sprite" parent="casters"]
-
 position = Vector2( 76.2909, 405.319 )
 position = Vector2( 76.2909, 405.319 )
 texture = ExtResource( 2 )
 texture = ExtResource( 2 )
 
 
 [node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster2"]
 [node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster2"]
-
 occluder = SubResource( 1 )
 occluder = SubResource( 1 )
-light_mask = 1
 
 
 [node name="shadow_caster3" type="Sprite" parent="casters"]
 [node name="shadow_caster3" type="Sprite" parent="casters"]
-
 position = Vector2( 348.291, 206.319 )
 position = Vector2( 348.291, 206.319 )
 texture = ExtResource( 2 )
 texture = ExtResource( 2 )
 
 
 [node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster3"]
 [node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster3"]
-
 occluder = SubResource( 1 )
 occluder = SubResource( 1 )
-light_mask = 1
 
 
 [node name="shadow_caster4" type="Sprite" parent="casters"]
 [node name="shadow_caster4" type="Sprite" parent="casters"]
-
 position = Vector2( 239.291, 48.3186 )
 position = Vector2( 239.291, 48.3186 )
 texture = ExtResource( 2 )
 texture = ExtResource( 2 )
 
 
 [node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster4"]
 [node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster4"]
-
 occluder = SubResource( 1 )
 occluder = SubResource( 1 )
-light_mask = 1
 
 
 [node name="shadow_caster5" type="Sprite" parent="casters"]
 [node name="shadow_caster5" type="Sprite" parent="casters"]
-
 position = Vector2( 140.291, 561.319 )
 position = Vector2( 140.291, 561.319 )
 texture = ExtResource( 2 )
 texture = ExtResource( 2 )
 
 
 [node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster5"]
 [node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster5"]
-
 occluder = SubResource( 1 )
 occluder = SubResource( 1 )
-light_mask = 1
 
 
 [node name="shadow_caster6" type="Sprite" parent="casters"]
 [node name="shadow_caster6" type="Sprite" parent="casters"]
-
 position = Vector2( 392.291, 499.319 )
 position = Vector2( 392.291, 499.319 )
 texture = ExtResource( 2 )
 texture = ExtResource( 2 )
 
 
 [node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster6"]
 [node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster6"]
-
 occluder = SubResource( 1 )
 occluder = SubResource( 1 )
-light_mask = 1
 
 
 [node name="shadow_caster7" type="Sprite" parent="casters"]
 [node name="shadow_caster7" type="Sprite" parent="casters"]
-
 position = Vector2( 735.291, 552.319 )
 position = Vector2( 735.291, 552.319 )
 texture = ExtResource( 2 )
 texture = ExtResource( 2 )
 
 
 [node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster7"]
 [node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster7"]
-
 occluder = SubResource( 1 )
 occluder = SubResource( 1 )
-light_mask = 1
 
 
 [node name="shadow_caster8" type="Sprite" parent="casters"]
 [node name="shadow_caster8" type="Sprite" parent="casters"]
-
 position = Vector2( 661.291, 371.319 )
 position = Vector2( 661.291, 371.319 )
 texture = ExtResource( 2 )
 texture = ExtResource( 2 )
 
 
 [node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster8"]
 [node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster8"]
-
 occluder = SubResource( 1 )
 occluder = SubResource( 1 )
-light_mask = 1
 
 
 [node name="shadow_caster9" type="Sprite" parent="casters"]
 [node name="shadow_caster9" type="Sprite" parent="casters"]
-
 position = Vector2( 567.291, 574.319 )
 position = Vector2( 567.291, 574.319 )
 texture = ExtResource( 2 )
 texture = ExtResource( 2 )
 
 
 [node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster9"]
 [node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster9"]
-
 occluder = SubResource( 1 )
 occluder = SubResource( 1 )
-light_mask = 1
 
 
 [node name="shadow_caster10" type="Sprite" parent="casters"]
 [node name="shadow_caster10" type="Sprite" parent="casters"]
-
 position = Vector2( 420.291, 350.319 )
 position = Vector2( 420.291, 350.319 )
 texture = ExtResource( 2 )
 texture = ExtResource( 2 )
 
 
 [node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster10"]
 [node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster10"]
-
 occluder = SubResource( 1 )
 occluder = SubResource( 1 )
-light_mask = 1
 
 
 [node name="shadow_caster11" type="Sprite" parent="casters"]
 [node name="shadow_caster11" type="Sprite" parent="casters"]
-
 position = Vector2( 463.291, 106.319 )
 position = Vector2( 463.291, 106.319 )
 texture = ExtResource( 2 )
 texture = ExtResource( 2 )
 
 
 [node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster11"]
 [node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster11"]
-
 occluder = SubResource( 1 )
 occluder = SubResource( 1 )
-light_mask = 1
 
 
 [node name="shadow_caster12" type="Sprite" parent="casters"]
 [node name="shadow_caster12" type="Sprite" parent="casters"]
-
 position = Vector2( 621.291, 78.3186 )
 position = Vector2( 621.291, 78.3186 )
 texture = ExtResource( 2 )
 texture = ExtResource( 2 )
 
 
 [node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster12"]
 [node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster12"]
-
 occluder = SubResource( 1 )
 occluder = SubResource( 1 )
-light_mask = 1
 
 
 [node name="shadow_caster13" type="Sprite" parent="casters"]
 [node name="shadow_caster13" type="Sprite" parent="casters"]
-
 position = Vector2( 761.291, 240.319 )
 position = Vector2( 761.291, 240.319 )
 texture = ExtResource( 2 )
 texture = ExtResource( 2 )
 
 
 [node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster13"]
 [node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster13"]
-
 occluder = SubResource( 1 )
 occluder = SubResource( 1 )
-light_mask = 1
 
 
 [node name="shadow_caster14" type="Sprite" parent="casters"]
 [node name="shadow_caster14" type="Sprite" parent="casters"]
-
 position = Vector2( 771.291, 29.3186 )
 position = Vector2( 771.291, 29.3186 )
 texture = ExtResource( 2 )
 texture = ExtResource( 2 )
 
 
 [node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster14"]
 [node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster14"]
-
 occluder = SubResource( 1 )
 occluder = SubResource( 1 )
-light_mask = 1
 
 
 [node name="red_light" type="Light2D" parent="."]
 [node name="red_light" type="Light2D" parent="."]
-
 position = Vector2( 159.289, 452.441 )
 position = Vector2( 159.289, 452.441 )
-enabled = true
-editor_only = false
 texture = ExtResource( 3 )
 texture = ExtResource( 3 )
-offset = Vector2( 0, 0 )
-texture_scale = 1.0
 color = Color( 1, 0.446392, 0.0576646, 1 )
 color = Color( 1, 0.446392, 0.0576646, 1 )
-energy = 1.0
-mode = 0
-range_height = 0.0
-range_z_min = -1024
-range_z_max = 1024
-range_layer_min = 0
-range_layer_max = 0
-range_item_cull_mask = 1
 shadow_enabled = true
 shadow_enabled = true
-shadow_color = Color( 0, 0, 0, 0 )
-shadow_buffer_size = 2048
 shadow_gradient_length = 1.3
 shadow_gradient_length = 1.3
 shadow_filter = 3
 shadow_filter = 3
 shadow_filter_smooth = 11.1
 shadow_filter_smooth = 11.1
-shadow_item_cull_mask = 1
 
 
 [node name="blob" type="Sprite" parent="red_light"]
 [node name="blob" type="Sprite" parent="red_light"]
-
 material = SubResource( 2 )
 material = SubResource( 2 )
 texture = ExtResource( 4 )
 texture = ExtResource( 4 )
 
 
 [node name="anim" type="AnimationPlayer" parent="red_light"]
 [node name="anim" type="AnimationPlayer" parent="red_light"]
-
-playback_process_mode = 1
-playback_default_blend_time = 0.0
-root_node = NodePath("..")
+autoplay = "motion"
 anims/motion = SubResource( 3 )
 anims/motion = SubResource( 3 )
 anims/motion2 = SubResource( 4 )
 anims/motion2 = SubResource( 4 )
-playback/active = true
-playback/speed = 1.0
-blend_times = [  ]
-autoplay = "motion"
 
 
 [node name="green_light" type="Light2D" parent="."]
 [node name="green_light" type="Light2D" parent="."]
-
 position = Vector2( 753.756, 314.336 )
 position = Vector2( 753.756, 314.336 )
-enabled = true
-editor_only = false
 texture = ExtResource( 3 )
 texture = ExtResource( 3 )
-offset = Vector2( 0, 0 )
-texture_scale = 1.0
 color = Color( 0.49247, 0.878537, 0.409146, 1 )
 color = Color( 0.49247, 0.878537, 0.409146, 1 )
-energy = 1.0
-mode = 0
-range_height = 0.0
-range_z_min = -1024
-range_z_max = 1024
-range_layer_min = 0
-range_layer_max = 0
-range_item_cull_mask = 1
 shadow_enabled = true
 shadow_enabled = true
-shadow_color = Color( 0, 0, 0, 0 )
-shadow_buffer_size = 2048
 shadow_gradient_length = 1.2
 shadow_gradient_length = 1.2
 shadow_filter = 3
 shadow_filter = 3
 shadow_filter_smooth = 7.1
 shadow_filter_smooth = 7.1
-shadow_item_cull_mask = 1
 
 
 [node name="blob" type="Sprite" parent="green_light"]
 [node name="blob" type="Sprite" parent="green_light"]
-
 material = SubResource( 5 )
 material = SubResource( 5 )
 texture = ExtResource( 4 )
 texture = ExtResource( 4 )
 
 
 [node name="anim" type="AnimationPlayer" parent="green_light"]
 [node name="anim" type="AnimationPlayer" parent="green_light"]
-
-playback_process_mode = 1
-playback_default_blend_time = 0.0
-root_node = NodePath("..")
+autoplay = "m2"
 anims/m2 = SubResource( 4 )
 anims/m2 = SubResource( 4 )
 anims/motion = SubResource( 3 )
 anims/motion = SubResource( 3 )
-playback/active = true
-playback/speed = 1.0
-blend_times = [  ]
-autoplay = "m2"
 
 
 [node name="blue_light" type="Light2D" parent="."]
 [node name="blue_light" type="Light2D" parent="."]
-
 position = Vector2( 692.078, 29.8849 )
 position = Vector2( 692.078, 29.8849 )
-enabled = true
-editor_only = false
 texture = ExtResource( 3 )
 texture = ExtResource( 3 )
-offset = Vector2( 0, 0 )
-texture_scale = 1.0
 color = Color( 0.396752, 0.446392, 0.929792, 1 )
 color = Color( 0.396752, 0.446392, 0.929792, 1 )
-energy = 1.0
-mode = 0
-range_height = 0.0
-range_z_min = -1024
-range_z_max = 1024
-range_layer_min = 0
-range_layer_max = 0
-range_item_cull_mask = 1
 shadow_enabled = true
 shadow_enabled = true
-shadow_color = Color( 0, 0, 0, 0 )
-shadow_buffer_size = 2048
 shadow_gradient_length = 1.4
 shadow_gradient_length = 1.4
 shadow_filter = 3
 shadow_filter = 3
 shadow_filter_smooth = 5.3
 shadow_filter_smooth = 5.3
-shadow_item_cull_mask = 1
 
 
 [node name="blob" type="Sprite" parent="blue_light"]
 [node name="blob" type="Sprite" parent="blue_light"]
-
 material = SubResource( 6 )
 material = SubResource( 6 )
 texture = ExtResource( 4 )
 texture = ExtResource( 4 )
 
 
 [node name="anim" type="AnimationPlayer" parent="blue_light"]
 [node name="anim" type="AnimationPlayer" parent="blue_light"]
-
-playback_process_mode = 1
-playback_default_blend_time = 0.0
-root_node = NodePath("..")
+autoplay = "motion3"
 anims/motion = SubResource( 3 )
 anims/motion = SubResource( 3 )
 anims/motion2 = SubResource( 4 )
 anims/motion2 = SubResource( 4 )
 anims/motion3 = SubResource( 7 )
 anims/motion3 = SubResource( 7 )
-playback/active = true
-playback/speed = 1.0
-blend_times = [  ]
-autoplay = "motion3"
-
 
 

+ 6 - 1
2d/lights_and_shadows/project.godot

@@ -6,7 +6,12 @@
 ;   [section] ; section goes between []
 ;   [section] ; section goes between []
 ;   param=value ; assign values to parameters
 ;   param=value ; assign values to parameters
 
 
-config_version=3
+config_version=4
+
+_global_script_classes=[  ]
+_global_script_class_icons={
+
+}
 
 
 [application]
 [application]
 
 

+ 2 - 3
2d/navigation/character.png.import

@@ -7,16 +7,14 @@ path="res://.import/character.png-7a996d3b758d22c506b76a7c15391284.stex"
 [deps]
 [deps]
 
 
 source_file="res://character.png"
 source_file="res://character.png"
-source_md5="c7937b15f89b021d3c888c677b1e1677"
-
 dest_files=[ "res://.import/character.png-7a996d3b758d22c506b76a7c15391284.stex" ]
 dest_files=[ "res://.import/character.png-7a996d3b758d22c506b76a7c15391284.stex" ]
-dest_md5="fd0675f788288554927ef3a6c9686573"
 
 
 [params]
 [params]
 
 
 compress/mode=0
 compress/mode=0
 compress/lossy_quality=0.7
 compress/lossy_quality=0.7
 compress/hdr_mode=0
 compress/hdr_mode=0
+compress/bptc_ldr=0
 compress/normal_map=0
 compress/normal_map=0
 flags/repeat=0
 flags/repeat=0
 flags/filter=true
 flags/filter=true
@@ -26,6 +24,7 @@ flags/srgb=2
 process/fix_alpha_border=true
 process/fix_alpha_border=true
 process/premult_alpha=false
 process/premult_alpha=false
 process/HDR_as_SRGB=false
 process/HDR_as_SRGB=false
+process/invert_color=false
 stream=false
 stream=false
 size_limit=0
 size_limit=0
 detect_3d=true
 detect_3d=true

+ 2 - 3
2d/navigation/icon.png.import

@@ -7,16 +7,14 @@ path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"
 [deps]
 [deps]
 
 
 source_file="res://icon.png"
 source_file="res://icon.png"
-source_md5="19e03eec58b7d3b8a24db28867a39190"
-
 dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ]
 dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ]
-dest_md5="5110b1b86f59a6a195f89ab36ee328a6"
 
 
 [params]
 [params]
 
 
 compress/mode=0
 compress/mode=0
 compress/lossy_quality=0.7
 compress/lossy_quality=0.7
 compress/hdr_mode=0
 compress/hdr_mode=0
+compress/bptc_ldr=0
 compress/normal_map=0
 compress/normal_map=0
 flags/repeat=0
 flags/repeat=0
 flags/filter=true
 flags/filter=true
@@ -26,6 +24,7 @@ flags/srgb=2
 process/fix_alpha_border=true
 process/fix_alpha_border=true
 process/premult_alpha=false
 process/premult_alpha=false
 process/HDR_as_SRGB=false
 process/HDR_as_SRGB=false
+process/invert_color=false
 stream=false
 stream=false
 size_limit=0
 size_limit=0
 detect_3d=true
 detect_3d=true

+ 4 - 12
2d/navigation/level.tscn

@@ -5,31 +5,23 @@
 [ext_resource path="res://character.png" type="Texture" id=3]
 [ext_resource path="res://character.png" type="Texture" id=3]
 
 
 [sub_resource type="NavigationPolygon" id=1]
 [sub_resource type="NavigationPolygon" id=1]
-
 vertices = PoolVector2Array( 587.833, 271.924, 530.464, 284.878, 508.256, 281.177, 497.153, 255.269, 624.926, 359.595, 648.903, 394.065, 620.443, 383.995, 669.26, 297.833, 648.903, 321.891, 650.754, 251.567, 619.293, 510.654, 676.663, 493.998, 706.272, 501.401, 669.26, 529.16, 602.638, 523.608, 587.833, 179.393, 573.028, 140.53, 645.202, 159.036, 710.106, 179.216, 630.397, 212.704, 597.086, 192.348, 471.244, 251.567, 421.277, 270.074, 428.68, 246.015, 502.704, 97.9661, 517.509, 55.4019, 537.866, 99.8167, 536.016, 175.692, 495.302, 164.588, 487.899, 85.0117, 310.24, 75.7586, 308.39, 92.4142, 345.402, 210.854, 360.207, 223.808, 297.286, 258.97, 288.033, 231.211, 319.493, 190.497, 193.651, 423.675, 245.469, 477.343, 221.41, 488.446, 147.386, 408.87, 182.548, 382.961, 145.584, 224.311, 175.145, 332.995, 202.904, 99.8167, 310.24, 62.8043, 695.169, 303.385, 682.214, 284.878, 598.937, 492.148, 571.177, 501.401, 605.437, 456.366, 621.144, 486.596, 538.077, 499.891, 395.879, 501.87, 536.407, 524.944, 371.311, 518.056, 573.028, 94.2648, 582.281, 47.9994, 667.409, 75.7586, 350.954, 447.733, 363.908, 351.501, 384.265, 351.501, 376.862, 418.123, 373.441, 436.494, 424.978, 334.845, 421.277, 360.754, 352.804, 320.04, 321.344, 338.546, 299.136, 283.028, 241.767, 327.443, 234.365, 244.165, 325.228, 486.302, 300.441, 497.494, 317.643, 447.733, 332.441, 457.494, 524.608, 359.37, 526.762, 342.248, 366.441, 467.494, 480.497, 434.779, 496.638, 439.381, 476.441, 468.494, 265.825, 407.019, 184.398, 349.65, 310.24, 112.771, 267.676, 153.485, 221.41, 171.991, 700.721, 268.223, 397.219, 188.646, 415.725, 177.543, 465.692, 179.393, 476.796, 207.152, 443.485, 192.348, 437.933, 170.14, 452.738, 166.439, 460.14, 123.875, 476.796, 149.783, 189.95, 231.211 )
 vertices = PoolVector2Array( 587.833, 271.924, 530.464, 284.878, 508.256, 281.177, 497.153, 255.269, 624.926, 359.595, 648.903, 394.065, 620.443, 383.995, 669.26, 297.833, 648.903, 321.891, 650.754, 251.567, 619.293, 510.654, 676.663, 493.998, 706.272, 501.401, 669.26, 529.16, 602.638, 523.608, 587.833, 179.393, 573.028, 140.53, 645.202, 159.036, 710.106, 179.216, 630.397, 212.704, 597.086, 192.348, 471.244, 251.567, 421.277, 270.074, 428.68, 246.015, 502.704, 97.9661, 517.509, 55.4019, 537.866, 99.8167, 536.016, 175.692, 495.302, 164.588, 487.899, 85.0117, 310.24, 75.7586, 308.39, 92.4142, 345.402, 210.854, 360.207, 223.808, 297.286, 258.97, 288.033, 231.211, 319.493, 190.497, 193.651, 423.675, 245.469, 477.343, 221.41, 488.446, 147.386, 408.87, 182.548, 382.961, 145.584, 224.311, 175.145, 332.995, 202.904, 99.8167, 310.24, 62.8043, 695.169, 303.385, 682.214, 284.878, 598.937, 492.148, 571.177, 501.401, 605.437, 456.366, 621.144, 486.596, 538.077, 499.891, 395.879, 501.87, 536.407, 524.944, 371.311, 518.056, 573.028, 94.2648, 582.281, 47.9994, 667.409, 75.7586, 350.954, 447.733, 363.908, 351.501, 384.265, 351.501, 376.862, 418.123, 373.441, 436.494, 424.978, 334.845, 421.277, 360.754, 352.804, 320.04, 321.344, 338.546, 299.136, 283.028, 241.767, 327.443, 234.365, 244.165, 325.228, 486.302, 300.441, 497.494, 317.643, 447.733, 332.441, 457.494, 524.608, 359.37, 526.762, 342.248, 366.441, 467.494, 480.497, 434.779, 496.638, 439.381, 476.441, 468.494, 265.825, 407.019, 184.398, 349.65, 310.24, 112.771, 267.676, 153.485, 221.41, 171.991, 700.721, 268.223, 397.219, 188.646, 415.725, 177.543, 465.692, 179.393, 476.796, 207.152, 443.485, 192.348, 437.933, 170.14, 452.738, 166.439, 460.14, 123.875, 476.796, 149.783, 189.95, 231.211 )
 polygons = [ PoolIntArray( 0, 1, 2, 3 ), PoolIntArray( 4, 5, 6 ), PoolIntArray( 7, 8, 9 ), PoolIntArray( 10, 11, 12, 13, 14 ), PoolIntArray( 15, 16, 17, 18, 19, 20 ), PoolIntArray( 21, 3, 2, 22, 23 ), PoolIntArray( 24, 25, 26, 27, 28 ), PoolIntArray( 25, 24, 29 ), PoolIntArray( 30, 25, 29, 31 ), PoolIntArray( 32, 33, 34, 35, 36 ), PoolIntArray( 37, 38, 39, 40 ), PoolIntArray( 41, 37, 40 ), PoolIntArray( 41, 40, 42, 43 ), PoolIntArray( 44, 45, 30, 31 ), PoolIntArray( 46, 12, 11, 7, 47 ), PoolIntArray( 47, 7, 9 ), PoolIntArray( 48, 10, 14, 49 ), PoolIntArray( 50, 6, 5, 51, 48 ), PoolIntArray( 52, 50, 48, 49 ), PoolIntArray( 53, 52, 49, 54, 55 ), PoolIntArray( 17, 56, 57, 58, 18 ), PoolIntArray( 59, 60, 61, 62, 63 ), PoolIntArray( 64, 65, 61, 66 ), PoolIntArray( 66, 61, 60, 67, 68 ), PoolIntArray( 68, 67, 69, 70 ), PoolIntArray( 68, 70, 35, 34 ), PoolIntArray( 71, 53, 55, 72 ), PoolIntArray( 71, 72, 73, 74 ), PoolIntArray( 4, 6, 75, 76 ), PoolIntArray( 63, 77, 74, 59 ), PoolIntArray( 78, 2, 1, 76, 75, 79, 80 ), PoolIntArray( 78, 80, 63, 62 ), PoolIntArray( 81, 59, 74, 73 ), PoolIntArray( 81, 73, 41, 82 ), PoolIntArray( 44, 31, 83, 84, 85 ), PoolIntArray( 18, 86, 47, 9, 19 ), PoolIntArray( 15, 20, 3, 21 ), PoolIntArray( 23, 22, 87, 88 ), PoolIntArray( 89, 28, 27, 90, 91 ), PoolIntArray( 89, 91, 92, 93 ), PoolIntArray( 36, 94, 95, 93, 92 ), PoolIntArray( 36, 92, 88 ), PoolIntArray( 36, 88, 87, 32 ), PoolIntArray( 36, 35, 85, 84 ), PoolIntArray( 42, 44, 85, 96 ), PoolIntArray( 42, 96, 43 ), PoolIntArray( 41, 43, 82 ) ]
 polygons = [ PoolIntArray( 0, 1, 2, 3 ), PoolIntArray( 4, 5, 6 ), PoolIntArray( 7, 8, 9 ), PoolIntArray( 10, 11, 12, 13, 14 ), PoolIntArray( 15, 16, 17, 18, 19, 20 ), PoolIntArray( 21, 3, 2, 22, 23 ), PoolIntArray( 24, 25, 26, 27, 28 ), PoolIntArray( 25, 24, 29 ), PoolIntArray( 30, 25, 29, 31 ), PoolIntArray( 32, 33, 34, 35, 36 ), PoolIntArray( 37, 38, 39, 40 ), PoolIntArray( 41, 37, 40 ), PoolIntArray( 41, 40, 42, 43 ), PoolIntArray( 44, 45, 30, 31 ), PoolIntArray( 46, 12, 11, 7, 47 ), PoolIntArray( 47, 7, 9 ), PoolIntArray( 48, 10, 14, 49 ), PoolIntArray( 50, 6, 5, 51, 48 ), PoolIntArray( 52, 50, 48, 49 ), PoolIntArray( 53, 52, 49, 54, 55 ), PoolIntArray( 17, 56, 57, 58, 18 ), PoolIntArray( 59, 60, 61, 62, 63 ), PoolIntArray( 64, 65, 61, 66 ), PoolIntArray( 66, 61, 60, 67, 68 ), PoolIntArray( 68, 67, 69, 70 ), PoolIntArray( 68, 70, 35, 34 ), PoolIntArray( 71, 53, 55, 72 ), PoolIntArray( 71, 72, 73, 74 ), PoolIntArray( 4, 6, 75, 76 ), PoolIntArray( 63, 77, 74, 59 ), PoolIntArray( 78, 2, 1, 76, 75, 79, 80 ), PoolIntArray( 78, 80, 63, 62 ), PoolIntArray( 81, 59, 74, 73 ), PoolIntArray( 81, 73, 41, 82 ), PoolIntArray( 44, 31, 83, 84, 85 ), PoolIntArray( 18, 86, 47, 9, 19 ), PoolIntArray( 15, 20, 3, 21 ), PoolIntArray( 23, 22, 87, 88 ), PoolIntArray( 89, 28, 27, 90, 91 ), PoolIntArray( 89, 91, 92, 93 ), PoolIntArray( 36, 94, 95, 93, 92 ), PoolIntArray( 36, 92, 88 ), PoolIntArray( 36, 88, 87, 32 ), PoolIntArray( 36, 35, 85, 84 ), PoolIntArray( 42, 44, 85, 96 ), PoolIntArray( 42, 96, 43 ), PoolIntArray( 41, 43, 82 ) ]
 outlines = [ PoolVector2Array( 221.41, 488.446, 147.386, 408.87, 145.584, 224.311, 202.904, 99.8167, 310.24, 62.8043, 310.24, 75.7586, 517.509, 55.4019, 537.866, 99.8167, 536.016, 175.692, 476.796, 207.152, 443.485, 192.348, 437.933, 170.14, 415.725, 177.543, 428.68, 246.015, 471.244, 251.567, 587.833, 179.393, 573.028, 140.53, 645.202, 159.036, 573.028, 94.2648, 582.281, 47.9994, 667.409, 75.7586, 710.106, 179.216, 700.721, 268.223, 682.214, 284.878, 695.169, 303.385, 706.272, 501.401, 669.26, 529.16, 602.638, 523.608, 571.177, 501.401, 536.407, 524.944, 371.311, 518.056, 300.441, 497.494, 317.643, 447.733, 182.548, 382.961, 193.651, 423.675, 245.469, 477.343 ), PoolVector2Array( 350.954, 447.733, 363.908, 351.501, 321.344, 338.546, 241.767, 327.443, 234.365, 244.165, 288.033, 231.211, 221.41, 171.991, 189.95, 231.211, 175.145, 332.995, 184.398, 349.65, 265.825, 407.019 ), PoolVector2Array( 267.676, 153.485, 310.24, 112.771, 308.39, 92.4142, 487.899, 85.0117, 502.704, 97.9661, 495.302, 164.588, 465.692, 179.393, 452.738, 166.439, 476.796, 149.783, 460.14, 123.875, 319.493, 190.497 ), PoolVector2Array( 397.219, 188.646, 345.402, 210.854, 360.207, 223.808, 297.286, 258.97, 299.136, 283.028, 352.804, 320.04, 424.978, 334.845, 421.277, 360.754, 384.265, 351.501, 376.862, 418.123, 480.497, 434.779, 508.256, 281.177, 421.277, 270.074 ), PoolVector2Array( 497.153, 255.269, 597.086, 192.348, 630.397, 212.704, 650.754, 251.567, 648.903, 321.891, 669.26, 297.833, 676.663, 493.998, 619.293, 510.654, 598.937, 492.148, 621.144, 486.596, 648.903, 394.065, 624.926, 359.595, 526.762, 342.248, 530.464, 284.878, 587.833, 271.924 ), PoolVector2Array( 325.228, 486.302, 332.441, 457.494, 366.441, 467.494, 373.441, 436.494, 476.441, 468.494, 496.638, 439.381, 524.608, 359.37, 620.443, 383.995, 605.437, 456.366, 538.077, 499.891, 395.879, 501.87 ) ]
 outlines = [ PoolVector2Array( 221.41, 488.446, 147.386, 408.87, 145.584, 224.311, 202.904, 99.8167, 310.24, 62.8043, 310.24, 75.7586, 517.509, 55.4019, 537.866, 99.8167, 536.016, 175.692, 476.796, 207.152, 443.485, 192.348, 437.933, 170.14, 415.725, 177.543, 428.68, 246.015, 471.244, 251.567, 587.833, 179.393, 573.028, 140.53, 645.202, 159.036, 573.028, 94.2648, 582.281, 47.9994, 667.409, 75.7586, 710.106, 179.216, 700.721, 268.223, 682.214, 284.878, 695.169, 303.385, 706.272, 501.401, 669.26, 529.16, 602.638, 523.608, 571.177, 501.401, 536.407, 524.944, 371.311, 518.056, 300.441, 497.494, 317.643, 447.733, 182.548, 382.961, 193.651, 423.675, 245.469, 477.343 ), PoolVector2Array( 350.954, 447.733, 363.908, 351.501, 321.344, 338.546, 241.767, 327.443, 234.365, 244.165, 288.033, 231.211, 221.41, 171.991, 189.95, 231.211, 175.145, 332.995, 184.398, 349.65, 265.825, 407.019 ), PoolVector2Array( 267.676, 153.485, 310.24, 112.771, 308.39, 92.4142, 487.899, 85.0117, 502.704, 97.9661, 495.302, 164.588, 465.692, 179.393, 452.738, 166.439, 476.796, 149.783, 460.14, 123.875, 319.493, 190.497 ), PoolVector2Array( 397.219, 188.646, 345.402, 210.854, 360.207, 223.808, 297.286, 258.97, 299.136, 283.028, 352.804, 320.04, 424.978, 334.845, 421.277, 360.754, 384.265, 351.501, 376.862, 418.123, 480.497, 434.779, 508.256, 281.177, 421.277, 270.074 ), PoolVector2Array( 497.153, 255.269, 597.086, 192.348, 630.397, 212.704, 650.754, 251.567, 648.903, 321.891, 669.26, 297.833, 676.663, 493.998, 619.293, 510.654, 598.937, 492.148, 621.144, 486.596, 648.903, 394.065, 624.926, 359.595, 526.762, 342.248, 530.464, 284.878, 587.833, 271.924 ), PoolVector2Array( 325.228, 486.302, 332.441, 457.494, 366.441, 467.494, 373.441, 436.494, 476.441, 468.494, 496.638, 439.381, 524.608, 359.37, 620.443, 383.995, 605.437, 456.366, 538.077, 499.891, 395.879, 501.87 ) ]
 
 
-[node name="Navigation2D" type="Navigation2D" index="0"]
-
+[node name="Navigation2D" type="Navigation2D"]
 script = ExtResource( 1 )
 script = ExtResource( 1 )
-CHARACTER_SPEED = 400.0
-
-[node name="Navmesh" type="NavigationPolygonInstance" parent="." index="0"]
 
 
+[node name="Navmesh" type="NavigationPolygonInstance" parent="."]
 navpoly = SubResource( 1 )
 navpoly = SubResource( 1 )
-enabled = true
-
-[node name="Map" type="Sprite" parent="." index="1"]
 
 
+[node name="Map" type="Sprite" parent="."]
 position = Vector2( 429.585, 287.32 )
 position = Vector2( 429.585, 287.32 )
 texture = ExtResource( 2 )
 texture = ExtResource( 2 )
 
 
-[node name="Character" type="Sprite" parent="." index="2"]
-
+[node name="Character" type="Sprite" parent="."]
 position = Vector2( 228.464, 132.594 )
 position = Vector2( 228.464, 132.594 )
 scale = Vector2( 0.5, 0.5 )
 scale = Vector2( 0.5, 0.5 )
 texture = ExtResource( 3 )
 texture = ExtResource( 3 )
 offset = Vector2( 0, -26 )
 offset = Vector2( 0, -26 )
 
 
-

+ 2 - 3
2d/navigation/map.png.import

@@ -7,16 +7,14 @@ path="res://.import/map.png-9eea34967fae34f4388f4a32a16da936.stex"
 [deps]
 [deps]
 
 
 source_file="res://map.png"
 source_file="res://map.png"
-source_md5="e72fbffb80ea739cf373a488a6d0ab27"
-
 dest_files=[ "res://.import/map.png-9eea34967fae34f4388f4a32a16da936.stex" ]
 dest_files=[ "res://.import/map.png-9eea34967fae34f4388f4a32a16da936.stex" ]
-dest_md5="9b012237e342f634293969fed09b3966"
 
 
 [params]
 [params]
 
 
 compress/mode=0
 compress/mode=0
 compress/lossy_quality=0.7
 compress/lossy_quality=0.7
 compress/hdr_mode=0
 compress/hdr_mode=0
+compress/bptc_ldr=0
 compress/normal_map=0
 compress/normal_map=0
 flags/repeat=0
 flags/repeat=0
 flags/filter=true
 flags/filter=true
@@ -26,6 +24,7 @@ flags/srgb=2
 process/fix_alpha_border=true
 process/fix_alpha_border=true
 process/premult_alpha=false
 process/premult_alpha=false
 process/HDR_as_SRGB=false
 process/HDR_as_SRGB=false
+process/invert_color=false
 stream=false
 stream=false
 size_limit=0
 size_limit=0
 detect_3d=true
 detect_3d=true

+ 1 - 1
2d/navigation/navigation.gd

@@ -29,7 +29,7 @@ func _process(delta):
 
 
 func move_along_path(distance):
 func move_along_path(distance):
 	var last_point = $Character.position
 	var last_point = $Character.position
-	for index in range(path.size()):
+	for _index in range(path.size()):
 		var distance_between_points = last_point.distance_to(path[0])
 		var distance_between_points = last_point.distance_to(path[0])
 		# the position to move to falls between two points
 		# the position to move to falls between two points
 		if distance <= distance_between_points and distance >= 0.0:
 		if distance <= distance_between_points and distance >= 0.0:

+ 10 - 2
2d/navigation/project.godot

@@ -6,7 +6,12 @@
 ;   [section] ; section goes between []
 ;   [section] ; section goes between []
 ;   param=value ; assign values to parameters
 ;   param=value ; assign values to parameters
 
 
-config_version=3
+config_version=4
+
+_global_script_classes=[  ]
+_global_script_class_icons={
+
+}
 
 
 [application]
 [application]
 
 
@@ -26,5 +31,8 @@ singletons=[  ]
 
 
 [input]
 [input]
 
 
-click=[ Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"button_mask":0,"position":Vector2( 0, 0 ),"global_position":Vector2( 0, 0 ),"factor":1.0,"button_index":1,"pressed":false,"doubleclick":false,"script":null)
+click={
+"deadzone": 0.5,
+"events": [ Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"button_mask":0,"position":Vector2( 0, 0 ),"global_position":Vector2( 0, 0 ),"factor":1.0,"button_index":1,"pressed":false,"doubleclick":false,"script":null)
  ]
  ]
+}

+ 1 - 1
2d/navigation_astar/character.gd

@@ -27,7 +27,7 @@ func _change_state(new_state):
 	_state = new_state
 	_state = new_state
 
 
 
 
-func _process(delta):
+func _process(_delta):
 	if not _state == STATES.FOLLOW:
 	if not _state == STATES.FOLLOW:
 		return
 		return
 	var arrived_to_next_point = move_to(target_point_world)
 	var arrived_to_next_point = move_to(target_point_world)

+ 0 - 2
2d/navigation_astar/default_env.tres

@@ -1,7 +1,6 @@
 [gd_resource type="Environment" load_steps=2 format=2]
 [gd_resource type="Environment" load_steps=2 format=2]
 
 
 [sub_resource type="ProceduralSky" id=1]
 [sub_resource type="ProceduralSky" id=1]
-
 sky_top_color = Color( 0.0470588, 0.454902, 0.976471, 1 )
 sky_top_color = Color( 0.0470588, 0.454902, 0.976471, 1 )
 sky_horizon_color = Color( 0.556863, 0.823529, 0.909804, 1 )
 sky_horizon_color = Color( 0.556863, 0.823529, 0.909804, 1 )
 sky_curve = 0.25
 sky_curve = 0.25
@@ -10,7 +9,6 @@ ground_horizon_color = Color( 0.482353, 0.788235, 0.952941, 1 )
 ground_curve = 0.01
 ground_curve = 0.01
 
 
 [resource]
 [resource]
-
 background_mode = 2
 background_mode = 2
 background_sky = SubResource( 1 )
 background_sky = SubResource( 1 )
 
 

+ 4 - 8
2d/navigation_astar/tileset/tileset_source.tscn

@@ -4,21 +4,17 @@
 [ext_resource path="res://sprites/path_start.png" type="Texture" id=2]
 [ext_resource path="res://sprites/path_start.png" type="Texture" id=2]
 [ext_resource path="res://sprites/path_end.png" type="Texture" id=3]
 [ext_resource path="res://sprites/path_end.png" type="Texture" id=3]
 
 
-[node name="Node2D" type="Node2D" index="0"]
-
-[node name="Obstacle" type="Sprite" parent="." index="0"]
+[node name="Node2D" type="Node2D"]
 
 
+[node name="Obstacle" type="Sprite" parent="."]
 position = Vector2( 32, 32 )
 position = Vector2( 32, 32 )
 texture = ExtResource( 1 )
 texture = ExtResource( 1 )
 
 
-[node name="PathStart" type="Sprite" parent="." index="1"]
-
+[node name="PathStart" type="Sprite" parent="."]
 position = Vector2( 112, 32 )
 position = Vector2( 112, 32 )
 texture = ExtResource( 2 )
 texture = ExtResource( 2 )
 
 
-[node name="PathEnd" type="Sprite" parent="." index="2"]
-
+[node name="PathEnd" type="Sprite" parent="."]
 position = Vector2( 192, 32 )
 position = Vector2( 192, 32 )
 texture = ExtResource( 3 )
 texture = ExtResource( 3 )
 
 
-

+ 23 - 377
2d/particles/particles.tscn

@@ -1,608 +1,254 @@
-[gd_scene load_steps=38 format=2]
+[gd_scene load_steps=35 format=2]
 
 
 [ext_resource path="res://fire_particle.png" type="Texture" id=1]
 [ext_resource path="res://fire_particle.png" type="Texture" id=1]
 [ext_resource path="res://smoke_particle.png" type="Texture" id=2]
 [ext_resource path="res://smoke_particle.png" type="Texture" id=2]
 [ext_resource path="res://spark_particle2.png" type="Texture" id=3]
 [ext_resource path="res://spark_particle2.png" type="Texture" id=3]
 [ext_resource path="res://point_texture_emit.tres" type="Texture" id=4]
 [ext_resource path="res://point_texture_emit.tres" type="Texture" id=4]
-[ext_resource path="res://point_texture_image_outline.tres" type="Image" id=5]
-[ext_resource path="res://point_normal_texture_image_outline.tres" type="Image" id=6]
+[ext_resource path="res://point_texture_image_outline.tres" type="Texture" id=5]
+[ext_resource path="res://point_normal_texture_image_outline.tres" type="Texture" id=6]
 
 
 [sub_resource type="CanvasItemMaterial" id=1]
 [sub_resource type="CanvasItemMaterial" id=1]
-
-render_priority = 0
 blend_mode = 1
 blend_mode = 1
-light_mode = 0
 
 
 [sub_resource type="Curve" id=2]
 [sub_resource type="Curve" id=2]
-
 min_value = -360.0
 min_value = -360.0
 max_value = 360.0
 max_value = 360.0
-bake_resolution = 100
 _data = [ Vector2( 0, 1 ), 0.0, 0.0, 0, 0, Vector2( 1, 85.0781 ), 0.0, 0.0, 0, 0 ]
 _data = [ Vector2( 0, 1 ), 0.0, 0.0, 0, 0, Vector2( 1, 85.0781 ), 0.0, 0.0, 0, 0 ]
 
 
 [sub_resource type="CurveTexture" id=3]
 [sub_resource type="CurveTexture" id=3]
-
-width = 2048
 curve = SubResource( 2 )
 curve = SubResource( 2 )
 
 
 [sub_resource type="Curve" id=4]
 [sub_resource type="Curve" id=4]
-
-min_value = 0.0
-max_value = 1.0
-bake_resolution = 100
 _data = [ Vector2( 0, 1 ), 0.0, 0.0, 0, 0, Vector2( 1, 0.295898 ), 0.0, 0.0, 0, 0 ]
 _data = [ Vector2( 0, 1 ), 0.0, 0.0, 0, 0, Vector2( 1, 0.295898 ), 0.0, 0.0, 0, 0 ]
 
 
 [sub_resource type="CurveTexture" id=5]
 [sub_resource type="CurveTexture" id=5]
-
-width = 2048
 curve = SubResource( 4 )
 curve = SubResource( 4 )
 
 
 [sub_resource type="ParticlesMaterial" id=6]
 [sub_resource type="ParticlesMaterial" id=6]
-
-render_priority = 0
-trail_divisor = 1
 emission_shape = 1
 emission_shape = 1
 emission_sphere_radius = 8.0
 emission_sphere_radius = 8.0
-flag_align_y = false
-flag_rotate_y = false
 flag_disable_z = true
 flag_disable_z = true
-spread = 45.0
-flatness = 0.0
 gravity = Vector3( 0, -26, 0 )
 gravity = Vector3( 0, -26, 0 )
-initial_velocity = 0.0
-initial_velocity_random = 0.0
-angular_velocity = 0.0
-angular_velocity_random = 0.0
+angular_velocity = 1.0
 angular_velocity_curve = SubResource( 3 )
 angular_velocity_curve = SubResource( 3 )
 orbit_velocity = 0.0
 orbit_velocity = 0.0
 orbit_velocity_random = 0.0
 orbit_velocity_random = 0.0
 linear_accel = 50.0
 linear_accel = 50.0
 linear_accel_random = 1.0
 linear_accel_random = 1.0
-radial_accel = 0.0
-radial_accel_random = 0.0
-tangential_accel = 0.0
-tangential_accel_random = 0.0
 damping = 2.0
 damping = 2.0
-damping_random = 0.0
-angle = 0.0
-angle_random = 0.0
 scale = 0.8
 scale = 0.8
 scale_random = 0.3
 scale_random = 0.3
 scale_curve = SubResource( 5 )
 scale_curve = SubResource( 5 )
 color = Color( 0.859375, 0.180278, 0.0469971, 1 )
 color = Color( 0.859375, 0.180278, 0.0469971, 1 )
-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
-_sections_unfolded = [ "Color" ]
 
 
 [sub_resource type="Gradient" id=7]
 [sub_resource type="Gradient" id=7]
-
-offsets = PoolRealArray( 0, 1 )
 colors = PoolColorArray( 1, 1, 1, 0.806627, 1, 1, 1, 0 )
 colors = PoolColorArray( 1, 1, 1, 0.806627, 1, 1, 1, 0 )
 
 
 [sub_resource type="GradientTexture" id=8]
 [sub_resource type="GradientTexture" id=8]
-
 gradient = SubResource( 7 )
 gradient = SubResource( 7 )
-width = 2048
 
 
 [sub_resource type="ParticlesMaterial" id=9]
 [sub_resource type="ParticlesMaterial" id=9]
-
-render_priority = 0
-trail_divisor = 1
 emission_shape = 1
 emission_shape = 1
 emission_sphere_radius = 30.0
 emission_sphere_radius = 30.0
-flag_align_y = false
-flag_rotate_y = false
 flag_disable_z = true
 flag_disable_z = true
-spread = 45.0
-flatness = 0.0
 gravity = Vector3( 0, 0, 0 )
 gravity = Vector3( 0, 0, 0 )
 initial_velocity = 1.0
 initial_velocity = 1.0
-initial_velocity_random = 0.0
 angular_velocity = 20.0
 angular_velocity = 20.0
 angular_velocity_random = 1.0
 angular_velocity_random = 1.0
 orbit_velocity = 0.0
 orbit_velocity = 0.0
 orbit_velocity_random = 0.0
 orbit_velocity_random = 0.0
-linear_accel = 0.0
-linear_accel_random = 0.0
 radial_accel = 50.0
 radial_accel = 50.0
-radial_accel_random = 0.0
-tangential_accel = 0.0
-tangential_accel_random = 0.0
 damping = 20.0
 damping = 20.0
 damping_random = 0.2
 damping_random = 0.2
 angle = 360.0
 angle = 360.0
 angle_random = 1.0
 angle_random = 1.0
-scale = 1.0
-scale_random = 0.0
 color_ramp = SubResource( 8 )
 color_ramp = SubResource( 8 )
-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="CanvasItemMaterial" id=10]
 [sub_resource type="CanvasItemMaterial" id=10]
-
-render_priority = 0
 blend_mode = 1
 blend_mode = 1
-light_mode = 0
 
 
 [sub_resource type="Gradient" id=11]
 [sub_resource type="Gradient" id=11]
-
 offsets = PoolRealArray( 0, 0.0769231, 0.16568, 0.266272, 0.378698, 0.491124, 0.609467, 0.704142, 0.804734, 0.911243, 1 )
 offsets = PoolRealArray( 0, 0.0769231, 0.16568, 0.266272, 0.378698, 0.491124, 0.609467, 0.704142, 0.804734, 0.911243, 1 )
 colors = PoolColorArray( 1, 1, 1, 1, 1, 0.152961, 0, 1, 1, 0.726562, 0, 1, 0.78125, 1, 0, 1, 0.289062, 1, 0, 1, 0, 1, 0.472656, 1, 0, 1, 0.835938, 1, 0, 0.71875, 1, 1, 0.21875, 0, 1, 1, 1, 0, 0.773438, 1, 1, 1, 1, 1 )
 colors = PoolColorArray( 1, 1, 1, 1, 1, 0.152961, 0, 1, 1, 0.726562, 0, 1, 0.78125, 1, 0, 1, 0.289062, 1, 0, 1, 0, 1, 0.472656, 1, 0, 1, 0.835938, 1, 0, 0.71875, 1, 1, 0.21875, 0, 1, 1, 1, 0, 0.773438, 1, 1, 1, 1, 1 )
 
 
 [sub_resource type="GradientTexture" id=12]
 [sub_resource type="GradientTexture" id=12]
-
 gradient = SubResource( 11 )
 gradient = SubResource( 11 )
-width = 2048
 
 
 [sub_resource type="Curve" id=13]
 [sub_resource type="Curve" id=13]
-
-min_value = 0.0
-max_value = 1.0
-bake_resolution = 100
 _data = [ Vector2( 0, 0.510742 ), 0.0, 0.0, 0, 0, Vector2( 1, 1 ), 0.0, 0.0, 0, 0 ]
 _data = [ Vector2( 0, 0.510742 ), 0.0, 0.0, 0, 0, Vector2( 1, 1 ), 0.0, 0.0, 0, 0 ]
 
 
 [sub_resource type="CurveTexture" id=14]
 [sub_resource type="CurveTexture" id=14]
-
-width = 2048
 curve = SubResource( 13 )
 curve = SubResource( 13 )
 
 
 [sub_resource type="Curve" id=15]
 [sub_resource type="Curve" id=15]
-
-min_value = 0.0
-max_value = 1.0
-bake_resolution = 100
 _data = [ Vector2( 0, 0.961914 ), 0.0, 0.0, 0, 0, Vector2( 1, 0 ), 0.0, 0.0, 0, 0 ]
 _data = [ Vector2( 0, 0.961914 ), 0.0, 0.0, 0, 0, Vector2( 1, 0 ), 0.0, 0.0, 0, 0 ]
 
 
 [sub_resource type="CurveTexture" id=16]
 [sub_resource type="CurveTexture" id=16]
-
-width = 2048
 curve = SubResource( 15 )
 curve = SubResource( 15 )
 
 
 [sub_resource type="ParticlesMaterial" id=17]
 [sub_resource type="ParticlesMaterial" id=17]
-
-render_priority = 0
 trail_divisor = 32
 trail_divisor = 32
 trail_size_modifier = SubResource( 16 )
 trail_size_modifier = SubResource( 16 )
 emission_shape = 1
 emission_shape = 1
 emission_sphere_radius = 4.0
 emission_sphere_radius = 4.0
-flag_align_y = false
-flag_rotate_y = false
 flag_disable_z = true
 flag_disable_z = true
-spread = 45.0
-flatness = 0.0
 gravity = Vector3( 0, 0, 0 )
 gravity = Vector3( 0, 0, 0 )
 initial_velocity = 1.0
 initial_velocity = 1.0
-initial_velocity_random = 0.0
 angular_velocity = 100.0
 angular_velocity = 100.0
-angular_velocity_random = 0.0
 orbit_velocity = 0.0
 orbit_velocity = 0.0
 orbit_velocity_random = 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 = 100.0
 tangential_accel = 100.0
-tangential_accel_random = 0.0
-damping = 0.0
-damping_random = 0.0
 angle = 360.0
 angle = 360.0
 angle_random = 1.0
 angle_random = 1.0
 scale = 3.0
 scale = 3.0
-scale_random = 0.0
 scale_curve = SubResource( 14 )
 scale_curve = SubResource( 14 )
 color_ramp = SubResource( 12 )
 color_ramp = SubResource( 12 )
 hue_variation = 1.0
 hue_variation = 1.0
 hue_variation_random = 1.0
 hue_variation_random = 1.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="CanvasItemMaterial" id=18]
 [sub_resource type="CanvasItemMaterial" id=18]
-
-render_priority = 0
 blend_mode = 1
 blend_mode = 1
-light_mode = 0
 
 
 [sub_resource type="Gradient" id=19]
 [sub_resource type="Gradient" id=19]
-
 offsets = PoolRealArray( 0, 0.171598, 0.301775, 0.390533, 1 )
 offsets = PoolRealArray( 0, 0.171598, 0.301775, 0.390533, 1 )
 colors = PoolColorArray( 1, 0.63501, 0.28125, 1, 1, 0.398438, 0, 1, 0.679688, 0.277451, 0.169922, 0.232039, 0.515625, 0.362454, 0.199402, 0.0784314, 1, 1, 1, 0.0839033 )
 colors = PoolColorArray( 1, 0.63501, 0.28125, 1, 1, 0.398438, 0, 1, 0.679688, 0.277451, 0.169922, 0.232039, 0.515625, 0.362454, 0.199402, 0.0784314, 1, 1, 1, 0.0839033 )
 
 
 [sub_resource type="GradientTexture" id=20]
 [sub_resource type="GradientTexture" id=20]
-
 gradient = SubResource( 19 )
 gradient = SubResource( 19 )
-width = 2048
 
 
 [sub_resource type="Curve" id=21]
 [sub_resource type="Curve" id=21]
-
-min_value = 0.0
 max_value = 50.0
 max_value = 50.0
-bake_resolution = 100
 _data = [ Vector2( 0, 0 ), 0.0, 0.0, 0, 0, Vector2( 0.0180711, 0 ), 74.6314, 74.6314, 0, 0, Vector2( 0.0392147, 40.9884 ), 0.0, 0.0, 0, 0, Vector2( 1, 50 ), 0.0, 0.0, 0, 0 ]
 _data = [ Vector2( 0, 0 ), 0.0, 0.0, 0, 0, Vector2( 0.0180711, 0 ), 74.6314, 74.6314, 0, 0, Vector2( 0.0392147, 40.9884 ), 0.0, 0.0, 0, 0, Vector2( 1, 50 ), 0.0, 0.0, 0, 0 ]
 
 
 [sub_resource type="CurveTexture" id=22]
 [sub_resource type="CurveTexture" id=22]
-
-width = 2048
 curve = SubResource( 21 )
 curve = SubResource( 21 )
 
 
 [sub_resource type="Curve" id=23]
 [sub_resource type="Curve" id=23]
-
-min_value = 0.0
 max_value = 2.0
 max_value = 2.0
-bake_resolution = 100
 _data = [ Vector2( 0, 0 ), 0.0, 1.78215, 0, 0, Vector2( 0.282731, 1.17848 ), -1.56917, 21.2492, 0, 0, Vector2( 0.311895, 2 ), 1.46231, 0.0, 0, 0, Vector2( 1, 2 ), 0.0, 0.0, 0, 0 ]
 _data = [ Vector2( 0, 0 ), 0.0, 1.78215, 0, 0, Vector2( 0.282731, 1.17848 ), -1.56917, 21.2492, 0, 0, Vector2( 0.311895, 2 ), 1.46231, 0.0, 0, 0, Vector2( 1, 2 ), 0.0, 0.0, 0, 0 ]
 
 
 [sub_resource type="CurveTexture" id=24]
 [sub_resource type="CurveTexture" id=24]
-
-width = 2048
 curve = SubResource( 23 )
 curve = SubResource( 23 )
 
 
 [sub_resource type="ParticlesMaterial" id=25]
 [sub_resource type="ParticlesMaterial" id=25]
-
-render_priority = 0
-trail_divisor = 1
 emission_shape = 2
 emission_shape = 2
 emission_box_extents = Vector3( 10, 10, 40 )
 emission_box_extents = Vector3( 10, 10, 40 )
-flag_align_y = false
 flag_rotate_y = true
 flag_rotate_y = true
 flag_disable_z = true
 flag_disable_z = true
-spread = 45.0
-flatness = 0.0
 gravity = Vector3( 0, 0, 0 )
 gravity = Vector3( 0, 0, 0 )
 initial_velocity = 1.0
 initial_velocity = 1.0
-initial_velocity_random = 0.0
 angular_velocity = 26.0
 angular_velocity = 26.0
-angular_velocity_random = 0.0
 orbit_velocity = 0.0
 orbit_velocity = 0.0
 orbit_velocity_random = 0.0
 orbit_velocity_random = 0.0
-linear_accel = 0.0
-linear_accel_random = 0.0
 radial_accel = 1.0
 radial_accel = 1.0
 radial_accel_random = 0.3
 radial_accel_random = 0.3
 radial_accel_curve = SubResource( 22 )
 radial_accel_curve = SubResource( 22 )
-tangential_accel = 0.0
-tangential_accel_random = 0.0
 damping = 10.0
 damping = 10.0
-damping_random = 0.0
-angle = 0.0
-angle_random = 0.0
-scale = 1.0
-scale_random = 0.0
 scale_curve = SubResource( 24 )
 scale_curve = SubResource( 24 )
 color_ramp = SubResource( 20 )
 color_ramp = SubResource( 20 )
-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="ParticlesMaterial" id=28]
-
-render_priority = 0
-trail_divisor = 1
+[sub_resource type="ParticlesMaterial" id=26]
 emission_shape = 3
 emission_shape = 3
 emission_point_texture = ExtResource( 4 )
 emission_point_texture = ExtResource( 4 )
 emission_point_count = 10554
 emission_point_count = 10554
-flag_align_y = false
-flag_rotate_y = false
 flag_disable_z = true
 flag_disable_z = true
-spread = 45.0
-flatness = 0.0
 gravity = Vector3( 0, 0, 0 )
 gravity = Vector3( 0, 0, 0 )
 initial_velocity = 1.0
 initial_velocity = 1.0
-initial_velocity_random = 0.0
 angular_velocity = 1.47136e-43
 angular_velocity = 1.47136e-43
-angular_velocity_random = 0.0
 orbit_velocity = 0.0
 orbit_velocity = 0.0
 orbit_velocity_random = 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.5
 scale = 0.5
 scale_random = 1.0
 scale_random = 1.0
 color = Color( 1, 0.550781, 0.550781, 1 )
 color = Color( 1, 0.550781, 0.550781, 1 )
-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
-_sections_unfolded = [ "Emission Shape" ]
-
-[sub_resource type="ImageTexture" id=52]
-
-flags = 0
-image = ExtResource( 5 )
-size = Vector2( 2048, 1 )
-storage = 0
-lossy_quality = 0.7
-
-[sub_resource type="ParticlesMaterial" id=31]
-
-render_priority = 0
-trail_divisor = 1
+
+[sub_resource type="ParticlesMaterial" id=27]
 emission_shape = 3
 emission_shape = 3
-emission_point_texture = SubResource( 52 )
+emission_point_texture = ExtResource( 5 )
 emission_point_count = 1288
 emission_point_count = 1288
-flag_align_y = false
-flag_rotate_y = false
 flag_disable_z = true
 flag_disable_z = true
-spread = 45.0
-flatness = 0.0
 gravity = Vector3( 0, 0, 0 )
 gravity = Vector3( 0, 0, 0 )
 initial_velocity = 1.0
 initial_velocity = 1.0
-initial_velocity_random = 0.0
 angular_velocity = 1.47136e-43
 angular_velocity = 1.47136e-43
-angular_velocity_random = 0.0
 orbit_velocity = 0.0
 orbit_velocity = 0.0
 orbit_velocity_random = 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.5
 scale = 0.5
 scale_random = 1.0
 scale_random = 1.0
 color = Color( 0.375, 0.692383, 1, 1 )
 color = Color( 0.375, 0.692383, 1, 1 )
-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
-_sections_unfolded = [ "Emission Shape" ]
-
-[sub_resource type="ImageTexture" id=54]
-
-flags = 0
-image = ExtResource( 6 )
-size = Vector2( 2048, 1 )
-storage = 0
-lossy_quality = 0.7
-
-[sub_resource type="ImageTexture" id=56]
-
-flags = 0
-image = ExtResource( 5 )
-size = Vector2( 2048, 1 )
-storage = 0
-lossy_quality = 0.7
-
-[sub_resource type="ParticlesMaterial" id=36]
-
-render_priority = 0
-trail_divisor = 1
+
+[sub_resource type="ParticlesMaterial" id=28]
 emission_shape = 4
 emission_shape = 4
-emission_point_texture = SubResource( 56 )
-emission_normal_texture = SubResource( 54 )
+emission_point_texture = ExtResource( 5 )
+emission_normal_texture = ExtResource( 6 )
 emission_point_count = 1288
 emission_point_count = 1288
-flag_align_y = false
-flag_rotate_y = false
 flag_disable_z = true
 flag_disable_z = true
-spread = 45.0
-flatness = 0.0
 gravity = Vector3( 0, 0, 0 )
 gravity = Vector3( 0, 0, 0 )
 initial_velocity = 20.0
 initial_velocity = 20.0
-initial_velocity_random = 0.0
 angular_velocity = 1.47136e-43
 angular_velocity = 1.47136e-43
-angular_velocity_random = 0.0
 orbit_velocity = 0.0
 orbit_velocity = 0.0
 orbit_velocity_random = 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.5
 scale = 0.5
 scale_random = 1.0
 scale_random = 1.0
 color = Color( 0.214844, 1, 0.392731, 1 )
 color = Color( 0.214844, 1, 0.392731, 1 )
-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
-_sections_unfolded = [ "Emission Shape" ]
 
 
-[node name="Node" type="Node" index="0"]
-
-[node name="Fire" type="Particles2D" parent="." index="0"]
+[node name="Node" type="Node"]
 
 
+[node name="Fire" type="Particles2D" parent="."]
 material = SubResource( 1 )
 material = SubResource( 1 )
 position = Vector2( 122, 502 )
 position = Vector2( 122, 502 )
-emitting = true
 amount = 32
 amount = 32
-lifetime = 1.0
-one_shot = false
 preprocess = 0.1
 preprocess = 0.1
-speed_scale = 1.0
-explosiveness = 0.0
-randomness = 0.0
-fixed_fps = 0
-fract_delta = true
-visibility_rect = Rect2( -100, -100, 200, 200 )
-local_coords = true
-draw_order = 0
 process_material = SubResource( 6 )
 process_material = SubResource( 6 )
 texture = ExtResource( 1 )
 texture = ExtResource( 1 )
-normal_map = null
-h_frames = 1
-v_frames = 1
-_sections_unfolded = [ "Material", "Process Material" ]
-
-[node name="Smoke" type="Particles2D" parent="." index="1"]
 
 
+[node name="Smoke" type="Particles2D" parent="."]
 position = Vector2( 362, 502 )
 position = Vector2( 362, 502 )
-emitting = true
 amount = 32
 amount = 32
 lifetime = 2.0
 lifetime = 2.0
-one_shot = false
 preprocess = 0.1
 preprocess = 0.1
-speed_scale = 1.0
-explosiveness = 0.0
-randomness = 0.0
-fixed_fps = 0
-fract_delta = true
-visibility_rect = Rect2( -100, -100, 200, 200 )
-local_coords = true
-draw_order = 0
 process_material = SubResource( 9 )
 process_material = SubResource( 9 )
 texture = ExtResource( 2 )
 texture = ExtResource( 2 )
-normal_map = null
-h_frames = 1
-v_frames = 1
-_sections_unfolded = [ "Material" ]
-
-[node name="Magic" type="Particles2D" parent="." index="2"]
 
 
+[node name="Magic" type="Particles2D" parent="."]
 material = SubResource( 10 )
 material = SubResource( 10 )
 position = Vector2( 620, 440 )
 position = Vector2( 620, 440 )
-emitting = true
 amount = 64
 amount = 64
 lifetime = 2.0
 lifetime = 2.0
-one_shot = false
 preprocess = 0.1
 preprocess = 0.1
-speed_scale = 1.0
-explosiveness = 0.0
 randomness = 1.0
 randomness = 1.0
-fixed_fps = 0
-fract_delta = true
-visibility_rect = Rect2( -100, -100, 200, 200 )
-local_coords = true
-draw_order = 0
 process_material = SubResource( 17 )
 process_material = SubResource( 17 )
 texture = ExtResource( 3 )
 texture = ExtResource( 3 )
-normal_map = null
-h_frames = 1
-v_frames = 1
-_sections_unfolded = [ "Textures" ]
-
-[node name="Explosion" type="Particles2D" parent="." index="3"]
 
 
+[node name="Explosion" type="Particles2D" parent="."]
 material = SubResource( 18 )
 material = SubResource( 18 )
 position = Vector2( 613.467, 182.62 )
 position = Vector2( 613.467, 182.62 )
 rotation = 3.13794
 rotation = 3.13794
-emitting = true
 amount = 16
 amount = 16
 lifetime = 2.0
 lifetime = 2.0
-one_shot = false
-preprocess = 0.0
-speed_scale = 1.0
 explosiveness = 1.0
 explosiveness = 1.0
-randomness = 0.0
-fixed_fps = 0
-fract_delta = true
-visibility_rect = Rect2( -100, -100, 200, 200 )
-local_coords = true
-draw_order = 0
 process_material = SubResource( 25 )
 process_material = SubResource( 25 )
 texture = ExtResource( 2 )
 texture = ExtResource( 2 )
-normal_map = null
-h_frames = 1
-v_frames = 1
-_sections_unfolded = [ "Textures" ]
-
-[node name="Emit_Mask" type="Particles2D" parent="." index="4"]
 
 
+[node name="Emit_Mask" type="Particles2D" parent="."]
 position = Vector2( 42, -68 )
 position = Vector2( 42, -68 )
-emitting = true
 amount = 180
 amount = 180
 lifetime = 0.2
 lifetime = 0.2
-one_shot = false
-preprocess = 0.0
-speed_scale = 1.0
-explosiveness = 0.0
-randomness = 0.0
-fixed_fps = 0
-fract_delta = true
 visibility_rect = Rect2( 26.0055, 90.0015, 199.176, 95.0445 )
 visibility_rect = Rect2( 26.0055, 90.0015, 199.176, 95.0445 )
-local_coords = true
-draw_order = 0
-process_material = SubResource( 28 )
+process_material = SubResource( 26 )
 texture = ExtResource( 3 )
 texture = ExtResource( 3 )
-normal_map = null
-h_frames = 1
-v_frames = 1
-_sections_unfolded = [ "Process Material", "Textures" ]
-
-[node name="Outline_Mask" type="Particles2D" parent="." index="5"]
 
 
+[node name="Outline_Mask" type="Particles2D" parent="."]
 position = Vector2( 42, 52 )
 position = Vector2( 42, 52 )
-emitting = true
 amount = 180
 amount = 180
 lifetime = 0.2
 lifetime = 0.2
-one_shot = false
-preprocess = 0.0
-speed_scale = 1.0
-explosiveness = 0.0
-randomness = 0.0
-fixed_fps = 0
-fract_delta = true
 visibility_rect = Rect2( 26.0055, 90.0015, 199.176, 95.0445 )
 visibility_rect = Rect2( 26.0055, 90.0015, 199.176, 95.0445 )
-local_coords = true
-draw_order = 0
-process_material = SubResource( 31 )
+process_material = SubResource( 27 )
 texture = ExtResource( 3 )
 texture = ExtResource( 3 )
-normal_map = null
-h_frames = 1
-v_frames = 1
-_sections_unfolded = [ "Process Material", "Textures" ]
-
-[node name="Direction_Mask" type="Particles2D" parent="." index="6"]
 
 
+[node name="Direction_Mask" type="Particles2D" parent="."]
 position = Vector2( 40, 180 )
 position = Vector2( 40, 180 )
-emitting = true
 amount = 180
 amount = 180
 lifetime = 0.2
 lifetime = 0.2
-one_shot = false
-preprocess = 0.0
-speed_scale = 1.0
-explosiveness = 0.0
-randomness = 0.0
-fixed_fps = 0
-fract_delta = true
 visibility_rect = Rect2( 26.0055, 90.0015, 199.176, 95.0445 )
 visibility_rect = Rect2( 26.0055, 90.0015, 199.176, 95.0445 )
-local_coords = true
-draw_order = 0
-process_material = SubResource( 36 )
+process_material = SubResource( 28 )
 texture = ExtResource( 3 )
 texture = ExtResource( 3 )
-normal_map = null
-h_frames = 1
-v_frames = 1
-_sections_unfolded = [ "Process Material", "Textures" ]
-
 
 

File diff suppressed because it is too large
+ 2 - 3
2d/particles/point_normal_texture_image_outline.tres


File diff suppressed because it is too large
+ 2 - 3
2d/particles/point_texture_image_outline.tres


+ 6 - 1
2d/particles/project.godot

@@ -6,7 +6,12 @@
 ;   [section] ; section goes between []
 ;   [section] ; section goes between []
 ;   param=value ; assign values to parameters
 ;   param=value ; assign values to parameters
 
 
-config_version=3
+config_version=4
+
+_global_script_classes=[  ]
+_global_script_class_icons={
+
+}
 
 
 [application]
 [application]
 
 

+ 0 - 91
2d/pong/pong.tscn

@@ -10,177 +10,86 @@
 [ext_resource path="res://ceiling_floor.gd" type="Script" id=8]
 [ext_resource path="res://ceiling_floor.gd" type="Script" id=8]
 
 
 [sub_resource type="RectangleShape2D" id=1]
 [sub_resource type="RectangleShape2D" id=1]
-
-custom_solver_bias = 0.0
 extents = Vector2( 4, 16 )
 extents = Vector2( 4, 16 )
 
 
 [sub_resource type="RectangleShape2D" id=2]
 [sub_resource type="RectangleShape2D" id=2]
-
-custom_solver_bias = 0.0
 extents = Vector2( 4, 4 )
 extents = Vector2( 4, 4 )
 
 
 [sub_resource type="RectangleShape2D" id=3]
 [sub_resource type="RectangleShape2D" id=3]
-
-custom_solver_bias = 0.0
 extents = Vector2( 10, 200 )
 extents = Vector2( 10, 200 )
 
 
 [sub_resource type="RectangleShape2D" id=4]
 [sub_resource type="RectangleShape2D" id=4]
-
-custom_solver_bias = 0.0
 extents = Vector2( 320, 10 )
 extents = Vector2( 320, 10 )
 
 
 [node name="game" type="Node2D"]
 [node name="game" type="Node2D"]
 
 
 [node name="left" type="Area2D" parent="."]
 [node name="left" type="Area2D" parent="."]
-
 position = Vector2( 67.6285, 192.594 )
 position = Vector2( 67.6285, 192.594 )
-input_pickable = true
-gravity_vec = Vector2( 0, 1 )
-gravity = 98.0
-linear_damp = 0.1
-angular_damp = 1.0
-audio_bus_override = false
-audio_bus_name = "Master"
 script = ExtResource( 1 )
 script = ExtResource( 1 )
-ball_dir = 1
 
 
 [node name="sprite" type="Sprite" parent="left"]
 [node name="sprite" type="Sprite" parent="left"]
-
 texture = ExtResource( 2 )
 texture = ExtResource( 2 )
-_sections_unfolded = [ "Transform" ]
 
 
 [node name="collision" type="CollisionShape2D" parent="left"]
 [node name="collision" type="CollisionShape2D" parent="left"]
-
 shape = SubResource( 1 )
 shape = SubResource( 1 )
 
 
 [node name="right" type="Area2D" parent="."]
 [node name="right" type="Area2D" parent="."]
-
 position = Vector2( 563.815, 188.919 )
 position = Vector2( 563.815, 188.919 )
-input_pickable = true
-gravity_vec = Vector2( 0, 1 )
-gravity = 98.0
-linear_damp = 0.1
-angular_damp = 1.0
-audio_bus_override = false
-audio_bus_name = "Master"
 script = ExtResource( 1 )
 script = ExtResource( 1 )
 ball_dir = -1
 ball_dir = -1
 
 
 [node name="sprite" type="Sprite" parent="right"]
 [node name="sprite" type="Sprite" parent="right"]
-
 texture = ExtResource( 3 )
 texture = ExtResource( 3 )
-_sections_unfolded = [ "Transform" ]
 
 
 [node name="collision" type="CollisionShape2D" parent="right"]
 [node name="collision" type="CollisionShape2D" parent="right"]
-
 shape = SubResource( 1 )
 shape = SubResource( 1 )
 
 
 [node name="ball" type="Area2D" parent="."]
 [node name="ball" type="Area2D" parent="."]
-
 position = Vector2( 320.5, 191.124 )
 position = Vector2( 320.5, 191.124 )
-input_pickable = true
-gravity_vec = Vector2( 0, 1 )
-gravity = 98.0
-linear_damp = 0.1
-angular_damp = 1.0
-audio_bus_override = false
-audio_bus_name = "Master"
 script = ExtResource( 4 )
 script = ExtResource( 4 )
 
 
 [node name="sprite" type="Sprite" parent="ball"]
 [node name="sprite" type="Sprite" parent="ball"]
-
 texture = ExtResource( 5 )
 texture = ExtResource( 5 )
-_sections_unfolded = [ "Transform" ]
 
 
 [node name="collision" type="CollisionShape2D" parent="ball"]
 [node name="collision" type="CollisionShape2D" parent="ball"]
-
 shape = SubResource( 2 )
 shape = SubResource( 2 )
 
 
 [node name="separator" type="Sprite" parent="."]
 [node name="separator" type="Sprite" parent="."]
-
 position = Vector2( 320, 200 )
 position = Vector2( 320, 200 )
 texture = ExtResource( 6 )
 texture = ExtResource( 6 )
 
 
 [node name="left_wall" type="Area2D" parent="."]
 [node name="left_wall" type="Area2D" parent="."]
-
 position = Vector2( -10, 200 )
 position = Vector2( -10, 200 )
-input_pickable = true
-gravity_vec = Vector2( 0, 1 )
-gravity = 98.0
-linear_damp = 0.1
-angular_damp = 1.0
-audio_bus_override = false
-audio_bus_name = "Master"
 script = ExtResource( 7 )
 script = ExtResource( 7 )
-_sections_unfolded = [ "Transform" ]
 
 
 [node name="collision" type="CollisionShape2D" parent="left_wall"]
 [node name="collision" type="CollisionShape2D" parent="left_wall"]
-
 shape = SubResource( 3 )
 shape = SubResource( 3 )
 
 
 [node name="right_wall" type="Area2D" parent="."]
 [node name="right_wall" type="Area2D" parent="."]
-
 position = Vector2( 650, 200 )
 position = Vector2( 650, 200 )
-input_pickable = true
-gravity_vec = Vector2( 0, 1 )
-gravity = 98.0
-linear_damp = 0.1
-angular_damp = 1.0
-audio_bus_override = false
-audio_bus_name = "Master"
 script = ExtResource( 7 )
 script = ExtResource( 7 )
-_sections_unfolded = [ "Transform" ]
 
 
 [node name="collision" type="CollisionShape2D" parent="right_wall"]
 [node name="collision" type="CollisionShape2D" parent="right_wall"]
-
 shape = SubResource( 3 )
 shape = SubResource( 3 )
 
 
 [node name="ceiling" type="Area2D" parent="."]
 [node name="ceiling" type="Area2D" parent="."]
-
 position = Vector2( 320, -10 )
 position = Vector2( 320, -10 )
-input_pickable = true
-gravity_vec = Vector2( 0, 1 )
-gravity = 98.0
-linear_damp = 0.1
-angular_damp = 1.0
-audio_bus_override = false
-audio_bus_name = "Master"
 script = ExtResource( 8 )
 script = ExtResource( 8 )
-_sections_unfolded = [ "Transform" ]
-y_direction = 1
 
 
 [node name="collision" type="CollisionShape2D" parent="ceiling"]
 [node name="collision" type="CollisionShape2D" parent="ceiling"]
-
 shape = SubResource( 4 )
 shape = SubResource( 4 )
 
 
 [node name="floor" type="Area2D" parent="."]
 [node name="floor" type="Area2D" parent="."]
-
 position = Vector2( 320, 410 )
 position = Vector2( 320, 410 )
-input_pickable = true
-gravity_vec = Vector2( 0, 1 )
-gravity = 98.0
-linear_damp = 0.1
-angular_damp = 1.0
-audio_bus_override = false
-audio_bus_name = "Master"
 script = ExtResource( 8 )
 script = ExtResource( 8 )
-_sections_unfolded = [ "Transform" ]
 y_direction = -1
 y_direction = -1
 
 
 [node name="collision" type="CollisionShape2D" parent="floor"]
 [node name="collision" type="CollisionShape2D" parent="floor"]
-
 shape = SubResource( 4 )
 shape = SubResource( 4 )
 
 
 [connection signal="area_entered" from="left" to="left" method="_on_area_entered"]
 [connection signal="area_entered" from="left" to="left" method="_on_area_entered"]
-
 [connection signal="area_entered" from="right" to="right" method="_on_area_entered"]
 [connection signal="area_entered" from="right" to="right" method="_on_area_entered"]
-
 [connection signal="area_entered" from="left_wall" to="left_wall" method="_on_wall_area_entered"]
 [connection signal="area_entered" from="left_wall" to="left_wall" method="_on_wall_area_entered"]
-
 [connection signal="area_entered" from="right_wall" to="right_wall" method="_on_wall_area_entered"]
 [connection signal="area_entered" from="right_wall" to="right_wall" method="_on_wall_area_entered"]
-
 [connection signal="area_entered" from="ceiling" to="ceiling" method="_on_area_entered"]
 [connection signal="area_entered" from="ceiling" to="ceiling" method="_on_area_entered"]
-
 [connection signal="area_entered" from="floor" to="floor" method="_on_area_entered"]
 [connection signal="area_entered" from="floor" to="floor" method="_on_area_entered"]
-
-

+ 22 - 5
2d/pong/project.godot

@@ -6,7 +6,12 @@
 ;   [section] ; section goes between []
 ;   [section] ; section goes between []
 ;   param=value ; assign values to parameters
 ;   param=value ; assign values to parameters
 
 
-config_version=3
+config_version=4
+
+_global_script_classes=[  ]
+_global_script_class_icons={
+
+}
 
 
 [application]
 [application]
 
 
@@ -26,14 +31,26 @@ singletons=[  ]
 
 
 [input]
 [input]
 
 
-left_move_down=[ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":90,"unicode":0,"echo":false,"script":null)
+left_move_down={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":90,"unicode":0,"echo":false,"script":null)
  ]
  ]
-left_move_up=[ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":65,"unicode":0,"echo":false,"script":null)
+}
+left_move_up={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":65,"unicode":0,"echo":false,"script":null)
  ]
  ]
-right_move_down=[ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777234,"unicode":0,"echo":false,"script":null)
+}
+right_move_down={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777234,"unicode":0,"echo":false,"script":null)
  ]
  ]
-right_move_up=[ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777232,"unicode":0,"echo":false,"script":null)
+}
+right_move_up={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777232,"unicode":0,"echo":false,"script":null)
  ]
  ]
+}
 
 
 [rendering]
 [rendering]
 
 

+ 6 - 1
2d/screen_space_shaders/project.godot

@@ -6,7 +6,12 @@
 ;   [section] ; section goes between []
 ;   [section] ; section goes between []
 ;   param=value ; assign values to parameters
 ;   param=value ; assign values to parameters
 
 
-config_version=3
+config_version=4
+
+_global_script_classes=[  ]
+_global_script_class_icons={
+
+}
 
 
 [application]
 [application]
 
 

+ 69 - 302
2d/screen_space_shaders/screen_shaders.tscn

@@ -10,264 +10,219 @@
 [ext_resource path="res://art/filmgrain.png" type="Texture" id=8]
 [ext_resource path="res://art/filmgrain.png" type="Texture" id=8]
 
 
 [sub_resource type="Shader" id=1]
 [sub_resource type="Shader" id=1]
-
 code = "shader_type canvas_item;
 code = "shader_type canvas_item;
 
 
 uniform sampler2D vignette;
 uniform sampler2D vignette;
 
 
 void fragment() {
 void fragment() {
-	vec3 vignette_color = texture(vignette,UV).rgb;
-	//screen texture stores gaussian blurred copies on mipmaps
-	COLOR.rgb = textureLod(SCREEN_TEXTURE,SCREEN_UV,(1.0-vignette_color.r)*4.0).rgb;
-	COLOR.rgb*= texture(vignette,UV).rgb;
+	vec3 vignette_color = texture(vignette, UV).rgb;
+	// Screen texture stores gaussian blurred copies on mipmaps
+	COLOR.rgb = textureLod(SCREEN_TEXTURE, SCREEN_UV, (1.0 - vignette_color.r) * 4.0).rgb;
+	COLOR.rgb *= texture(vignette, UV).rgb;
 }"
 }"
 
 
 [sub_resource type="ShaderMaterial" id=2]
 [sub_resource type="ShaderMaterial" id=2]
-
-render_priority = 0
 shader = SubResource( 1 )
 shader = SubResource( 1 )
 shader_param/vignette = ExtResource( 6 )
 shader_param/vignette = ExtResource( 6 )
-_sections_unfolded = [ "shader", "shader_param" ]
 
 
 [sub_resource type="Shader" id=3]
 [sub_resource type="Shader" id=3]
-
 code = "shader_type canvas_item;
 code = "shader_type canvas_item;
 
 
-uniform float amount : hint_range(0,5);
+uniform float amount : hint_range(0.0, 5.0);
 
 
 void fragment() {
 void fragment() {
 
 
-	COLOR.rgb = textureLod(SCREEN_TEXTURE,SCREEN_UV,amount).rgb;
+	COLOR.rgb = textureLod(SCREEN_TEXTURE, SCREEN_UV, amount).rgb;
 }"
 }"
 
 
 [sub_resource type="ShaderMaterial" id=4]
 [sub_resource type="ShaderMaterial" id=4]
-
-render_priority = 0
 shader = SubResource( 3 )
 shader = SubResource( 3 )
 shader_param/amount = 4.0
 shader_param/amount = 4.0
-_sections_unfolded = [ "shader", "shader_param" ]
 
 
 [sub_resource type="Shader" id=5]
 [sub_resource type="Shader" id=5]
-
 code = "shader_type canvas_item;
 code = "shader_type canvas_item;
 
 
-uniform float size_x=0.008;
-uniform float size_y=0.008;
+uniform float size_x = 0.008;
+uniform float size_y = 0.008;
 
 
 void fragment() {
 void fragment() {
 	vec2 uv = SCREEN_UV;
 	vec2 uv = SCREEN_UV;
-	uv-=mod(uv,vec2(size_x,size_y));
+	uv -= mod(uv, vec2(size_x, size_y));
 	
 	
-	COLOR.rgb= textureLod(SCREEN_TEXTURE,uv,0.0).rgb;
+	COLOR.rgb = textureLod(SCREEN_TEXTURE, uv, 0.0).rgb;
 }
 }
 "
 "
 
 
 [sub_resource type="ShaderMaterial" id=6]
 [sub_resource type="ShaderMaterial" id=6]
-
-render_priority = 0
 shader = SubResource( 5 )
 shader = SubResource( 5 )
-shader_param/size_x = null
-shader_param/size_y = null
-_sections_unfolded = [ "shader" ]
+shader_param/size_x = 0.008
+shader_param/size_y = 0.008
 
 
 [sub_resource type="Shader" id=7]
 [sub_resource type="Shader" id=7]
-
 code = "shader_type canvas_item;
 code = "shader_type canvas_item;
 
 
-uniform float rotation=3.0;
+uniform float rotation = 3.0;
 
 
 void fragment() {
 void fragment() {
 	vec2 uv = SCREEN_UV;
 	vec2 uv = SCREEN_UV;
-	vec2 rel = uv-vec2(0.5,0.5);
-	float angle = length(rel)*rotation;
-	mat2 rot = mat2(vec2(cos(angle),-sin(angle)),vec2(sin(angle),cos(angle)));
+	vec2 rel = uv - vec2(0.5, 0.5);
+	float angle = length(rel) * rotation;
+	mat2 rot = mat2(vec2(cos(angle), -sin(angle)), vec2(sin(angle), cos(angle)));
 	rel = rot * rel;
 	rel = rot * rel;
-	uv = clamp(rel + vec2(0.5,0.5),vec2(0,0),vec2(1,1));
-	COLOR.rgb= textureLod(SCREEN_TEXTURE,uv,0.0).rgb;
+	uv = clamp(rel + vec2(0.5,0.5), vec2(0.0, 0.0), vec2(1.0, 1.0));
+	COLOR.rgb = textureLod(SCREEN_TEXTURE, uv, 0.0).rgb;
 }
 }
 "
 "
 
 
 [sub_resource type="ShaderMaterial" id=8]
 [sub_resource type="ShaderMaterial" id=8]
-
-render_priority = 0
 shader = SubResource( 7 )
 shader = SubResource( 7 )
-shader_param/rotation = null
-_sections_unfolded = [ "shader" ]
+shader_param/rotation = 3.0
 
 
 [sub_resource type="Shader" id=9]
 [sub_resource type="Shader" id=9]
-
 code = "shader_type canvas_item;
 code = "shader_type canvas_item;
 
 
 uniform vec4 base : hint_color;
 uniform vec4 base : hint_color;
 
 
 void fragment() {
 void fragment() {
-	vec3 c = textureLod(SCREEN_TEXTURE,SCREEN_UV,0.0).rgb;
+	vec3 c = textureLod(SCREEN_TEXTURE, SCREEN_UV, 0.0).rgb;
 	
 	
-	//float v = max(c.r,max(c.g,c.b));
-	float v = dot(c,vec3(0.33333,0.33333,0.33333));
-	v=sqrt(v);
-	//v*=v;
-	COLOR.rgb= base.rgb*v;
+	//float v = max(c.r, max(c.g, c.b));
+	float v = dot(c, vec3(0.33333, 0.33333, 0.33333));
+	v = sqrt(v);
+	//v *= v;
+	COLOR.rgb = base.rgb * v;
 
 
 }"
 }"
 
 
 [sub_resource type="ShaderMaterial" id=10]
 [sub_resource type="ShaderMaterial" id=10]
-
-render_priority = 0
 shader = SubResource( 9 )
 shader = SubResource( 9 )
 shader_param/base = Color( 0.54451, 0.408353, 0.403137, 1 )
 shader_param/base = Color( 0.54451, 0.408353, 0.403137, 1 )
-_sections_unfolded = [ "shader", "shader_param" ]
 
 
 [sub_resource type="Shader" id=11]
 [sub_resource type="Shader" id=11]
-
 code = "shader_type canvas_item;
 code = "shader_type canvas_item;
 
 
 void fragment() {
 void fragment() {
 
 
-	vec3 c = textureLod(SCREEN_TEXTURE,SCREEN_UV,0.0).rgb;
-	c=vec3(1.0)-c;
-	COLOR.rgb=c;
+	vec3 c = textureLod(SCREEN_TEXTURE, SCREEN_UV, 0.0).rgb;
+	c = vec3(1.0) - c;
+	COLOR.rgb = c;
 }
 }
 "
 "
 
 
 [sub_resource type="ShaderMaterial" id=12]
 [sub_resource type="ShaderMaterial" id=12]
-
-render_priority = 0
 shader = SubResource( 11 )
 shader = SubResource( 11 )
-_sections_unfolded = [ "shader" ]
 
 
 [sub_resource type="Shader" id=13]
 [sub_resource type="Shader" id=13]
-
 code = "shader_type canvas_item;
 code = "shader_type canvas_item;
 
 
 void fragment() {
 void fragment() {
 
 
-	vec3 c = textureLod(SCREEN_TEXTURE,SCREEN_UV,0.0).rgb;
-	c=mod(c+vec3(0.5),vec3(1.0));
-	COLOR.rgb=c;
+	vec3 c = textureLod(SCREEN_TEXTURE, SCREEN_UV, 0.0).rgb;
+	c = mod(c + vec3(0.5), vec3(1.0));
+	COLOR.rgb = c;
 }
 }
 "
 "
 
 
 [sub_resource type="ShaderMaterial" id=14]
 [sub_resource type="ShaderMaterial" id=14]
-
-render_priority = 0
 shader = SubResource( 13 )
 shader = SubResource( 13 )
-_sections_unfolded = [ "shader" ]
 
 
 [sub_resource type="Shader" id=15]
 [sub_resource type="Shader" id=15]
-
 code = "shader_type canvas_item;
 code = "shader_type canvas_item;
 
 
 void fragment() {
 void fragment() {
-	vec3 c = textureLod(SCREEN_TEXTURE,SCREEN_UV,0.0).rgb;
-	COLOR.rgb=normalize(c);
+	vec3 c = textureLod(SCREEN_TEXTURE, SCREEN_UV, 0.0).rgb;
+	COLOR.rgb = normalize(c);
 }
 }
 "
 "
 
 
 [sub_resource type="ShaderMaterial" id=16]
 [sub_resource type="ShaderMaterial" id=16]
-
-render_priority = 0
 shader = SubResource( 15 )
 shader = SubResource( 15 )
-_sections_unfolded = [ "shader" ]
 
 
 [sub_resource type="Shader" id=17]
 [sub_resource type="Shader" id=17]
-
 code = "shader_type canvas_item;
 code = "shader_type canvas_item;
 
 
-uniform float brightness=0.8;
-uniform float contrast=1.5;
-uniform float saturation=1.8;
+uniform float brightness = 0.8;
+uniform float contrast = 1.5;
+uniform float saturation = 1.8;
 
 
 void fragment() {
 void fragment() {
 
 
-	vec3 c = textureLod(SCREEN_TEXTURE,SCREEN_UV,0.0).rgb;
+	vec3 c = textureLod(SCREEN_TEXTURE, SCREEN_UV, 0.0).rgb;
 	
 	
-	c.rgb = mix(vec3(0.0),c.rgb,brightness);
-	c.rgb = mix(vec3(0.5),c.rgb,contrast);
-	c.rgb = mix(vec3(dot(vec3(1.0),c.rgb)*0.33333),c.rgb,saturation);
+	c.rgb = mix(vec3(0.0), c.rgb, brightness);
+	c.rgb = mix(vec3(0.5), c.rgb, contrast);
+	c.rgb = mix(vec3(dot(vec3(1.0), c.rgb) * 0.33333), c.rgb, saturation);
 	
 	
-	COLOR.rgb=c;
+	COLOR.rgb = c;
 }
 }
 "
 "
 
 
 [sub_resource type="ShaderMaterial" id=18]
 [sub_resource type="ShaderMaterial" id=18]
-
-render_priority = 0
 shader = SubResource( 17 )
 shader = SubResource( 17 )
-shader_param/brightness = null
-shader_param/contrast = null
-shader_param/saturation = null
-_sections_unfolded = [ "shader" ]
+shader_param/brightness = 0.8
+shader_param/contrast = 1.5
+shader_param/saturation = 1.8
 
 
 [sub_resource type="Shader" id=19]
 [sub_resource type="Shader" id=19]
-
 code = "shader_type canvas_item;
 code = "shader_type canvas_item;
 
 
-uniform float frequency=60;
+uniform float frequency = 60;
 uniform float depth = 0.005;
 uniform float depth = 0.005;
 
 
 void fragment() {
 void fragment() {
 	
 	
 	vec2 uv = SCREEN_UV;
 	vec2 uv = SCREEN_UV;
-	uv.x += sin(uv.y*frequency+TIME)*depth;
-	uv.x = clamp(uv.x,0,1);
-	vec3 c = textureLod(SCREEN_TEXTURE,uv,0.0).rgb;
-	
+	uv.x += sin(uv.y * frequency + TIME) * depth;
+	uv.x = clamp(uv.x, 0.0, 1.0);
+	vec3 c = textureLod(SCREEN_TEXTURE, uv, 0.0).rgb;
 	
 	
-	COLOR.rgb=c;
+	COLOR.rgb = c;
 }
 }
 "
 "
 
 
 [sub_resource type="ShaderMaterial" id=20]
 [sub_resource type="ShaderMaterial" id=20]
-
-render_priority = 0
 shader = SubResource( 19 )
 shader = SubResource( 19 )
-shader_param/frequency = null
-shader_param/depth = null
-_sections_unfolded = [ "shader" ]
+shader_param/frequency = 60.0
+shader_param/depth = 0.005
 
 
 [sub_resource type="Shader" id=21]
 [sub_resource type="Shader" id=21]
-
 code = "shader_type canvas_item;
 code = "shader_type canvas_item;
 
 
 uniform vec4 base : hint_color;
 uniform vec4 base : hint_color;
 uniform sampler2D grain;
 uniform sampler2D grain;
-uniform float grain_strength=0.3;
+uniform float grain_strength = 0.3;
 uniform sampler2D vignette;
 uniform sampler2D vignette;
-uniform float fps=12;
+uniform float fps = 12.0;
 uniform float stretch = 0.5;
 uniform float stretch = 0.5;
-uniform float flashing=0.01;
+uniform float flashing = 0.01;
 
 
-float make_grain(float time,vec2 uv) {
+float make_grain(float time, vec2 uv) {
 
 
-	vec2 ofs = vec2(sin(41.0*time*sin(time*123.0)),sin(27.0*time*sin(time*312.0)));
-	return texture(grain,(uv+mod(ofs,vec2(1,1)))*stretch).r;
+	vec2 ofs = vec2(sin(41.0 * time * sin(time * 123.0)), sin(27.0 * time * sin(time * 312.0)));
+	return texture(grain, (uv + mod(ofs, vec2(1.0, 1.0))) * stretch).r;
 }
 }
 
 
 void fragment() {
 void fragment() {
-	vec3 c = textureLod(SCREEN_TEXTURE,SCREEN_UV,0.0).rgb;
-	
-	//float v = max(c.r,max(c.g,c.b));
-	float v = dot(c,vec3(0.33333,0.33333,0.33333));
-	v=sqrt(v);
-	//v*=v;
+	vec3 c = textureLod(SCREEN_TEXTURE, SCREEN_UV, 0.0).rgb;
 	
 	
-	float f = 1.0/fps;
-	float g = make_grain(TIME-mod(TIME,f),UV);
-	g=max(g,make_grain(TIME-mod(TIME,f)+f,UV)*0.5);
-	g=max(g,make_grain(TIME-mod(TIME,f)+f*2.0,UV)*0.25);
+	//float v = max(c.r, max(c.g, c.b));
+	float v = dot(c, vec3(0.33333, 0.33333, 0.33333));
+	v = sqrt(v);
+	//v *= v;
 	
 	
+	float f = 1.0 / fps;
+	float g = make_grain(TIME - mod(TIME, f), UV);
+	g = max(g, make_grain(TIME - mod(TIME, f) + f, UV) * 0.5);
+	g = max(g, make_grain(TIME - mod(TIME, f) + f * 2.0, UV) * 0.25);
 	
 	
-	COLOR.rgb= base.rgb*v-vec3(g)*grain_strength;
-	COLOR.rgb*=texture(vignette,UV).r;
+	COLOR.rgb = base.rgb * v - vec3(g) * grain_strength;
+	COLOR.rgb *= texture(vignette, UV).r;
 	float ft = TIME * 0.002;
 	float ft = TIME * 0.002;
-	COLOR.rgb+=vec3(sin(75.0*ft*sin(ft*123.0)))*flashing;
+	COLOR.rgb += vec3(sin(75.0 * ft * sin(ft * 123.0))) * flashing;
 }
 }
 "
 "
 
 
 [sub_resource type="ShaderMaterial" id=22]
 [sub_resource type="ShaderMaterial" id=22]
-
-render_priority = 0
 shader = SubResource( 21 )
 shader = SubResource( 21 )
 shader_param/base = Color( 0.450274, 0.361255, 0.335059, 1 )
 shader_param/base = Color( 0.450274, 0.361255, 0.335059, 1 )
 shader_param/grain_strength = 0.3
 shader_param/grain_strength = 0.3
@@ -276,383 +231,195 @@ shader_param/stretch = 0.5
 shader_param/flashing = 0.01
 shader_param/flashing = 0.01
 shader_param/grain = ExtResource( 8 )
 shader_param/grain = ExtResource( 8 )
 shader_param/vignette = ExtResource( 6 )
 shader_param/vignette = ExtResource( 6 )
-_sections_unfolded = [ "shader", "shader_param" ]
 
 
 [node name="Control" type="Control"]
 [node name="Control" type="Control"]
-
-anchor_left = 0.0
-anchor_top = 0.0
 anchor_right = 1.0
 anchor_right = 1.0
 anchor_bottom = 1.0
 anchor_bottom = 1.0
-rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
-mouse_filter = 0
 size_flags_horizontal = 2
 size_flags_horizontal = 2
 size_flags_vertical = 2
 size_flags_vertical = 2
 script = ExtResource( 1 )
 script = ExtResource( 1 )
-_sections_unfolded = [ "Pause" ]
 
 
 [node name="pictures" type="Control" parent="."]
 [node name="pictures" type="Control" parent="."]
-
-anchor_left = 0.0
-anchor_top = 0.0
 anchor_right = 1.0
 anchor_right = 1.0
 anchor_bottom = 1.0
 anchor_bottom = 1.0
-rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
-mouse_filter = 0
 size_flags_horizontal = 2
 size_flags_horizontal = 2
 size_flags_vertical = 2
 size_flags_vertical = 2
 
 
 [node name="burano" type="TextureRect" parent="pictures"]
 [node name="burano" type="TextureRect" parent="pictures"]
-
-anchor_left = 0.0
-anchor_top = 0.0
-anchor_right = 0.0
-anchor_bottom = 0.0
 margin_right = 40.0
 margin_right = 40.0
 margin_bottom = 40.0
 margin_bottom = 40.0
-rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
-mouse_filter = 1
 size_flags_horizontal = 2
 size_flags_horizontal = 2
 size_flags_vertical = 2
 size_flags_vertical = 2
 texture = ExtResource( 2 )
 texture = ExtResource( 2 )
-stretch_mode = 0
 
 
 [node name="roby" type="TextureRect" parent="pictures"]
 [node name="roby" type="TextureRect" parent="pictures"]
-
 visible = false
 visible = false
-anchor_left = 0.0
-anchor_top = 0.0
-anchor_right = 0.0
-anchor_bottom = 0.0
 margin_right = 40.0
 margin_right = 40.0
 margin_bottom = 40.0
 margin_bottom = 40.0
-rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
-mouse_filter = 1
 size_flags_horizontal = 2
 size_flags_horizontal = 2
 size_flags_vertical = 2
 size_flags_vertical = 2
 texture = ExtResource( 3 )
 texture = ExtResource( 3 )
-stretch_mode = 0
 
 
 [node name="mountains" type="TextureRect" parent="pictures"]
 [node name="mountains" type="TextureRect" parent="pictures"]
-
 visible = false
 visible = false
-anchor_left = 0.0
-anchor_top = 0.0
-anchor_right = 0.0
-anchor_bottom = 0.0
 margin_right = 40.0
 margin_right = 40.0
 margin_bottom = 40.0
 margin_bottom = 40.0
-rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
-mouse_filter = 1
 size_flags_horizontal = 2
 size_flags_horizontal = 2
 size_flags_vertical = 2
 size_flags_vertical = 2
 texture = ExtResource( 4 )
 texture = ExtResource( 4 )
-stretch_mode = 0
 
 
 [node name="forest" type="TextureRect" parent="pictures"]
 [node name="forest" type="TextureRect" parent="pictures"]
-
 visible = false
 visible = false
-anchor_left = 0.0
-anchor_top = 0.0
-anchor_right = 0.0
-anchor_bottom = 0.0
 margin_right = 40.0
 margin_right = 40.0
 margin_bottom = 40.0
 margin_bottom = 40.0
-rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
-mouse_filter = 1
 size_flags_horizontal = 2
 size_flags_horizontal = 2
 size_flags_vertical = 2
 size_flags_vertical = 2
 texture = ExtResource( 5 )
 texture = ExtResource( 5 )
-stretch_mode = 0
 
 
 [node name="effects" type="Control" parent="."]
 [node name="effects" type="Control" parent="."]
-
-anchor_left = 0.0
-anchor_top = 0.0
 anchor_right = 1.0
 anchor_right = 1.0
 anchor_bottom = 1.0
 anchor_bottom = 1.0
-rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
-mouse_filter = 0
 size_flags_horizontal = 2
 size_flags_horizontal = 2
 size_flags_vertical = 2
 size_flags_vertical = 2
-_sections_unfolded = [ "Rect" ]
 
 
 [node name="disabled" type="Control" parent="effects"]
 [node name="disabled" type="Control" parent="effects"]
-
 visible = false
 visible = false
-anchor_left = 0.0
-anchor_top = 0.0
-anchor_right = 0.0
-anchor_bottom = 0.0
 margin_right = 40.0
 margin_right = 40.0
 margin_bottom = 40.0
 margin_bottom = 40.0
-rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
-mouse_filter = 0
 size_flags_horizontal = 2
 size_flags_horizontal = 2
 size_flags_vertical = 2
 size_flags_vertical = 2
 
 
 [node name="vignette" type="TextureRect" parent="effects"]
 [node name="vignette" type="TextureRect" parent="effects"]
-
 visible = false
 visible = false
 material = SubResource( 2 )
 material = SubResource( 2 )
-anchor_left = 0.0
-anchor_top = 0.0
 anchor_right = 1.0
 anchor_right = 1.0
 anchor_bottom = 1.0
 anchor_bottom = 1.0
-rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
-mouse_filter = 1
 size_flags_horizontal = 2
 size_flags_horizontal = 2
 size_flags_vertical = 2
 size_flags_vertical = 2
 texture = ExtResource( 7 )
 texture = ExtResource( 7 )
 expand = true
 expand = true
-stretch_mode = 0
-_sections_unfolded = [ "Material" ]
 
 
 [node name="blur" type="TextureRect" parent="effects"]
 [node name="blur" type="TextureRect" parent="effects"]
-
 visible = false
 visible = false
 material = SubResource( 4 )
 material = SubResource( 4 )
-anchor_left = 0.0
-anchor_top = 0.0
 anchor_right = 1.0
 anchor_right = 1.0
 anchor_bottom = 1.0
 anchor_bottom = 1.0
-rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
-mouse_filter = 1
 size_flags_horizontal = 2
 size_flags_horizontal = 2
 size_flags_vertical = 2
 size_flags_vertical = 2
 texture = ExtResource( 7 )
 texture = ExtResource( 7 )
 expand = true
 expand = true
-stretch_mode = 0
-_sections_unfolded = [ "Material" ]
 
 
 [node name="pixelize" type="TextureRect" parent="effects"]
 [node name="pixelize" type="TextureRect" parent="effects"]
-
 visible = false
 visible = false
 material = SubResource( 6 )
 material = SubResource( 6 )
-anchor_left = 0.0
-anchor_top = 0.0
 anchor_right = 1.0
 anchor_right = 1.0
 anchor_bottom = 1.0
 anchor_bottom = 1.0
-rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
-mouse_filter = 1
 size_flags_horizontal = 2
 size_flags_horizontal = 2
 size_flags_vertical = 2
 size_flags_vertical = 2
 texture = ExtResource( 7 )
 texture = ExtResource( 7 )
 expand = true
 expand = true
-stretch_mode = 0
-_sections_unfolded = [ "Material" ]
 
 
 [node name="whirl" type="TextureRect" parent="effects"]
 [node name="whirl" type="TextureRect" parent="effects"]
-
 visible = false
 visible = false
 material = SubResource( 8 )
 material = SubResource( 8 )
-anchor_left = 0.0
-anchor_top = 0.0
 anchor_right = 1.0
 anchor_right = 1.0
 anchor_bottom = 1.0
 anchor_bottom = 1.0
-rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
-mouse_filter = 1
 size_flags_horizontal = 2
 size_flags_horizontal = 2
 size_flags_vertical = 2
 size_flags_vertical = 2
 texture = ExtResource( 7 )
 texture = ExtResource( 7 )
 expand = true
 expand = true
-stretch_mode = 0
-_sections_unfolded = [ "Material" ]
 
 
 [node name="sepia" type="TextureRect" parent="effects"]
 [node name="sepia" type="TextureRect" parent="effects"]
-
 visible = false
 visible = false
 material = SubResource( 10 )
 material = SubResource( 10 )
-anchor_left = 0.0
-anchor_top = 0.0
 anchor_right = 1.0
 anchor_right = 1.0
 anchor_bottom = 1.0
 anchor_bottom = 1.0
 margin_right = 14.0
 margin_right = 14.0
 margin_bottom = -2.0
 margin_bottom = -2.0
-rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
-mouse_filter = 1
 size_flags_horizontal = 2
 size_flags_horizontal = 2
 size_flags_vertical = 2
 size_flags_vertical = 2
 texture = ExtResource( 7 )
 texture = ExtResource( 7 )
 expand = true
 expand = true
-stretch_mode = 0
-_sections_unfolded = [ "Material", "Visibility" ]
 
 
 [node name="negative" type="TextureRect" parent="effects"]
 [node name="negative" type="TextureRect" parent="effects"]
-
 visible = false
 visible = false
 material = SubResource( 12 )
 material = SubResource( 12 )
-anchor_left = 0.0
-anchor_top = 0.0
 anchor_right = 1.0
 anchor_right = 1.0
 anchor_bottom = 1.0
 anchor_bottom = 1.0
-rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
-mouse_filter = 1
 size_flags_horizontal = 2
 size_flags_horizontal = 2
 size_flags_vertical = 2
 size_flags_vertical = 2
 texture = ExtResource( 7 )
 texture = ExtResource( 7 )
 expand = true
 expand = true
-stretch_mode = 0
-_sections_unfolded = [ "Material" ]
 
 
 [node name="contrasted" type="TextureRect" parent="effects"]
 [node name="contrasted" type="TextureRect" parent="effects"]
-
 visible = false
 visible = false
 material = SubResource( 14 )
 material = SubResource( 14 )
-anchor_left = 0.0
-anchor_top = 0.0
 anchor_right = 1.0
 anchor_right = 1.0
 anchor_bottom = 1.0
 anchor_bottom = 1.0
-rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
-mouse_filter = 1
 size_flags_horizontal = 2
 size_flags_horizontal = 2
 size_flags_vertical = 2
 size_flags_vertical = 2
 texture = ExtResource( 7 )
 texture = ExtResource( 7 )
 expand = true
 expand = true
-stretch_mode = 0
-_sections_unfolded = [ "Material" ]
 
 
 [node name="normalized" type="TextureRect" parent="effects"]
 [node name="normalized" type="TextureRect" parent="effects"]
-
 visible = false
 visible = false
 material = SubResource( 16 )
 material = SubResource( 16 )
-anchor_left = 0.0
-anchor_top = 0.0
 anchor_right = 1.0
 anchor_right = 1.0
 anchor_bottom = 1.0
 anchor_bottom = 1.0
-rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
-mouse_filter = 1
 size_flags_horizontal = 2
 size_flags_horizontal = 2
 size_flags_vertical = 2
 size_flags_vertical = 2
 texture = ExtResource( 7 )
 texture = ExtResource( 7 )
 expand = true
 expand = true
-stretch_mode = 0
-_sections_unfolded = [ "Material" ]
 
 
 [node name="BCS" type="TextureRect" parent="effects"]
 [node name="BCS" type="TextureRect" parent="effects"]
-
 visible = false
 visible = false
 material = SubResource( 18 )
 material = SubResource( 18 )
-anchor_left = 0.0
-anchor_top = 0.0
 anchor_right = 1.0
 anchor_right = 1.0
 anchor_bottom = 1.0
 anchor_bottom = 1.0
 margin_top = 3.0
 margin_top = 3.0
 margin_bottom = -3.0
 margin_bottom = -3.0
-rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
-mouse_filter = 1
 size_flags_horizontal = 2
 size_flags_horizontal = 2
 size_flags_vertical = 2
 size_flags_vertical = 2
 texture = ExtResource( 7 )
 texture = ExtResource( 7 )
 expand = true
 expand = true
-stretch_mode = 0
-_sections_unfolded = [ "Material" ]
 
 
 [node name="mirage" type="TextureRect" parent="effects"]
 [node name="mirage" type="TextureRect" parent="effects"]
-
 visible = false
 visible = false
 material = SubResource( 20 )
 material = SubResource( 20 )
-anchor_left = 0.0
-anchor_top = 0.0
 anchor_right = 1.0
 anchor_right = 1.0
 anchor_bottom = 1.0
 anchor_bottom = 1.0
-rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
-mouse_filter = 1
 size_flags_horizontal = 2
 size_flags_horizontal = 2
 size_flags_vertical = 2
 size_flags_vertical = 2
 texture = ExtResource( 7 )
 texture = ExtResource( 7 )
 expand = true
 expand = true
-stretch_mode = 0
-_sections_unfolded = [ "Material" ]
 
 
 [node name="old_film" type="TextureRect" parent="effects"]
 [node name="old_film" type="TextureRect" parent="effects"]
-
 visible = false
 visible = false
 material = SubResource( 22 )
 material = SubResource( 22 )
-anchor_left = 0.0
-anchor_top = 0.0
 anchor_right = 1.0
 anchor_right = 1.0
 anchor_bottom = 1.0
 anchor_bottom = 1.0
 margin_left = -3.0
 margin_left = -3.0
 margin_right = 3.0
 margin_right = 3.0
-rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
-mouse_filter = 1
 size_flags_horizontal = 2
 size_flags_horizontal = 2
 size_flags_vertical = 2
 size_flags_vertical = 2
 texture = ExtResource( 7 )
 texture = ExtResource( 7 )
 expand = true
 expand = true
-stretch_mode = 0
-_sections_unfolded = [ "Material" ]
 
 
 [node name="picture" type="OptionButton" parent="."]
 [node name="picture" type="OptionButton" parent="."]
-
-anchor_left = 0.0
-anchor_top = 0.0
-anchor_right = 0.0
-anchor_bottom = 0.0
 margin_left = 8.0
 margin_left = 8.0
 margin_top = 7.0
 margin_top = 7.0
 margin_right = 131.0
 margin_right = 131.0
 margin_bottom = 28.0
 margin_bottom = 28.0
-rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
-mouse_filter = 0
 size_flags_horizontal = 2
 size_flags_horizontal = 2
 size_flags_vertical = 2
 size_flags_vertical = 2
-toggle_mode = false
-enabled_focus_mode = 2
-shortcut = null
-group = null
-flat = false
-align = 0
-selected = -1
-items = [  ]
 
 
 [node name="effect" type="OptionButton" parent="."]
 [node name="effect" type="OptionButton" parent="."]
-
-anchor_left = 0.0
-anchor_top = 0.0
-anchor_right = 0.0
-anchor_bottom = 0.0
 margin_left = 137.0
 margin_left = 137.0
 margin_top = 7.0
 margin_top = 7.0
 margin_right = 260.0
 margin_right = 260.0
 margin_bottom = 28.0
 margin_bottom = 28.0
-rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
-mouse_filter = 0
 size_flags_horizontal = 2
 size_flags_horizontal = 2
 size_flags_vertical = 2
 size_flags_vertical = 2
-toggle_mode = false
-enabled_focus_mode = 2
-shortcut = null
-group = null
-flat = false
-align = 0
-selected = -1
-items = [  ]
 
 
 [connection signal="item_selected" from="picture" to="." method="_on_picture_item_selected"]
 [connection signal="item_selected" from="picture" to="." method="_on_picture_item_selected"]
-
 [connection signal="item_selected" from="effect" to="." method="_on_effect_item_selected"]
 [connection signal="item_selected" from="effect" to="." method="_on_effect_item_selected"]
-
-

+ 0 - 570
2d/screen_space_shaders/screen_shaders.tscn~

@@ -1,570 +0,0 @@
-[gd_scene load_steps=31 format=2]
-
-[ext_resource path="res://screen_shaders.gd" type="Script" id=1]
-[ext_resource path="res://art/burano.jpg" type="Texture" id=2]
-[ext_resource path="res://art/platformer.jpg" type="Texture" id=3]
-[ext_resource path="res://art/mountains.jpg" type="Texture" id=4]
-[ext_resource path="res://art/forest.jpg" type="Texture" id=5]
-[ext_resource path="res://art/vignette.png" type="Texture" id=6]
-[ext_resource path="res://art/white.png" type="Texture" id=7]
-[ext_resource path="res://art/filmgrain.png" type="Texture" id=8]
-
-[sub_resource type="Shader" id=1]
-
-code = "shader_type canvas_item;
-
-uniform sampler2D vignette;
-
-void fragment() {
-	vec3 vignette_color = texture(vignette,UV).rgb;
-	//screen texture stores gaussian blurred copies on mipmaps
-	COLOR.rgb = textureLod(SCREEN_TEXTURE,SCREEN_UV,(1.0-vignette_color.r)*4.0).rgb;
-	COLOR.rgb*= texture(vignette,UV).rgb;
-}"
-
-[sub_resource type="ShaderMaterial" id=2]
-
-shader/shader = SubResource( 1 )
-shader_param/vignette = ExtResource( 6 )
-_sections_unfolded = [ "shader", "shader_param" ]
-
-[sub_resource type="Shader" id=3]
-
-code = "shader_type canvas_item;
-
-uniform float amount : hint_range(0,5);
-
-void fragment() {
-
-	COLOR.rgb = textureLod(SCREEN_TEXTURE,SCREEN_UV,amount).rgb;
-}"
-
-[sub_resource type="ShaderMaterial" id=4]
-
-shader/shader = SubResource( 3 )
-shader_param/amount = 4.0
-_sections_unfolded = [ "shader", "shader_param" ]
-
-[sub_resource type="Shader" id=5]
-
-code = "shader_type canvas_item;
-
-uniform float size_x=0.008;
-uniform float size_y=0.008;
-
-void fragment() {
-	vec2 uv = SCREEN_UV;
-	uv-=mod(uv,vec2(size_x,size_y));
-	
-	COLOR.rgb= textureLod(SCREEN_TEXTURE,uv,0.0).rgb;
-}
-"
-
-[sub_resource type="ShaderMaterial" id=6]
-
-shader/shader = SubResource( 5 )
-shader_param/size_x = null
-shader_param/size_y = null
-_sections_unfolded = [ "shader" ]
-
-[sub_resource type="Shader" id=7]
-
-code = "shader_type canvas_item;
-
-uniform float rotation=3.0;
-
-void fragment() {
-	vec2 uv = SCREEN_UV;
-	vec2 rel = uv-vec2(0.5,0.5);
-	float angle = length(rel)*rotation;
-	mat2 rot = mat2(vec2(cos(angle),-sin(angle)),vec2(sin(angle),cos(angle)));
-	rel = rot * rel;
-	uv = clamp(rel + vec2(0.5,0.5),vec2(0,0),vec2(1,1));
-	COLOR.rgb= textureLod(SCREEN_TEXTURE,uv,0.0).rgb;
-}
-"
-
-[sub_resource type="ShaderMaterial" id=8]
-
-shader/shader = SubResource( 7 )
-shader_param/rotation = null
-_sections_unfolded = [ "shader" ]
-
-[sub_resource type="Shader" id=9]
-
-code = "shader_type canvas_item;
-
-uniform vec4 base : hint_color;
-
-void fragment() {
-	vec3 c = textureLod(SCREEN_TEXTURE,SCREEN_UV,0.0).rgb;
-	
-	//float v = max(c.r,max(c.g,c.b));
-	float v = dot(c,vec3(0.33333,0.33333,0.33333));
-	v=sqrt(v);
-	//v*=v;
-	COLOR.rgb= base.rgb*v;
-
-}"
-
-[sub_resource type="ShaderMaterial" id=10]
-
-shader/shader = SubResource( 9 )
-shader_param/base = Color( 0.54451, 0.408353, 0.403137, 1 )
-_sections_unfolded = [ "shader", "shader_param" ]
-
-[sub_resource type="Shader" id=11]
-
-code = "shader_type canvas_item;
-
-void fragment() {
-
-	vec3 c = textureLod(SCREEN_TEXTURE,SCREEN_UV,0.0).rgb;
-	c=vec3(1.0)-c;
-	COLOR.rgb=c;
-}
-"
-
-[sub_resource type="ShaderMaterial" id=12]
-
-shader/shader = SubResource( 11 )
-_sections_unfolded = [ "shader" ]
-
-[sub_resource type="Shader" id=13]
-
-code = "shader_type canvas_item;
-
-void fragment() {
-
-	vec3 c = textureLod(SCREEN_TEXTURE,SCREEN_UV,0.0).rgb;
-	c=mod(c+vec3(0.5),vec3(1.0));
-	COLOR.rgb=c;
-}
-"
-
-[sub_resource type="ShaderMaterial" id=14]
-
-shader/shader = SubResource( 13 )
-_sections_unfolded = [ "shader" ]
-
-[sub_resource type="Shader" id=15]
-
-code = "shader_type canvas_item;
-
-void fragment() {
-	vec3 c = textureLod(SCREEN_TEXTURE,SCREEN_UV,0.0).rgb;
-	COLOR.rgb=normalize(c);
-}
-"
-
-[sub_resource type="ShaderMaterial" id=16]
-
-shader/shader = SubResource( 15 )
-_sections_unfolded = [ "shader" ]
-
-[sub_resource type="Shader" id=17]
-
-code = "shader_type canvas_item;
-
-uniform float brightness=0.8;
-uniform float contrast=1.5;
-uniform float saturation=1.8;
-
-void fragment() {
-
-	vec3 c = textureLod(SCREEN_TEXTURE,SCREEN_UV,0.0).rgb;
-	
-	c.rgb = mix(vec3(0.0),c.rgb,brightness);
-	c.rgb = mix(vec3(0.5),c.rgb,contrast);
-	c.rgb = mix(vec3(dot(vec3(1.0),c.rgb)*0.33333),c.rgb,saturation);
-	
-	COLOR.rgb=c;
-}
-"
-
-[sub_resource type="ShaderMaterial" id=18]
-
-shader/shader = SubResource( 17 )
-shader_param/brightness = null
-shader_param/contrast = null
-shader_param/saturation = null
-_sections_unfolded = [ "shader" ]
-
-[sub_resource type="Shader" id=19]
-
-code = "shader_type canvas_item;
-
-uniform float frequency=60;
-uniform float depth = 0.005;
-
-void fragment() {
-	
-	vec2 uv = SCREEN_UV;
-	uv.x += sin(uv.y*frequency+TIME)*depth;
-	uv.x = clamp(uv.x,0,1);
-	vec3 c = textureLod(SCREEN_TEXTURE,uv,0.0).rgb;
-	
-	
-	COLOR.rgb=c;
-}
-"
-
-[sub_resource type="ShaderMaterial" id=20]
-
-shader/shader = SubResource( 19 )
-shader_param/frequency = null
-shader_param/depth = null
-_sections_unfolded = [ "shader" ]
-
-[sub_resource type="Shader" id=21]
-
-code = "shader_type canvas_item;
-
-uniform vec4 base : hint_color;
-uniform sampler2D grain;
-uniform float grain_strength=0.3;
-uniform sampler2D vignette;
-uniform float fps=12;
-uniform float stretch = 0.5;
-uniform float flashing=0.01;
-
-float make_grain(float time,vec2 uv) {
-
-	vec2 ofs = vec2(sin(41.0*time*sin(time*123.0)),sin(27.0*time*sin(time*312.0)));
-	return texture(grain,(uv+mod(ofs,vec2(1,1)))*stretch).r;
-}
-
-void fragment() {
-	vec3 c = textureLod(SCREEN_TEXTURE,SCREEN_UV,0.0).rgb;
-	
-	//float v = max(c.r,max(c.g,c.b));
-	float v = dot(c,vec3(0.33333,0.33333,0.33333));
-	v=sqrt(v);
-	//v*=v;
-	
-	float f = 1.0/fps;
-	float g = make_grain(TIME-mod(TIME,f),UV);
-	g=max(g,make_grain(TIME-mod(TIME,f)+f,UV)*0.5);
-	g=max(g,make_grain(TIME-mod(TIME,f)+f*2.0,UV)*0.25);
-	
-	
-	COLOR.rgb= base.rgb*v-vec3(g)*grain_strength;
-	COLOR.rgb*=texture(vignette,UV).r;
-	float ft = TIME * 0.002;
-	COLOR.rgb+=vec3(sin(75.0*ft*sin(ft*123.0)))*flashing;
-}
-"
-
-[sub_resource type="ShaderMaterial" id=22]
-
-shader/shader = SubResource( 21 )
-shader_param/base = Color( 0.450274, 0.361255, 0.335059, 1 )
-shader_param/grain_strength = 0.3
-shader_param/fps = 12
-shader_param/stretch = 0.5
-shader_param/flashing = 0.01
-shader_param/grain = ExtResource( 8 )
-shader_param/vignette = ExtResource( 6 )
-_sections_unfolded = [ "shader", "shader_param" ]
-
-[node name="Control" type="Control"]
-
-anchor_right = 1
-anchor_bottom = 1
-rect_clip_content = false
-mouse_filter = 0
-size_flags_horizontal = 2
-size_flags_vertical = 2
-script = ExtResource( 1 )
-_sections_unfolded = [ "Pause" ]
-
-[node name="pictures" type="Control" parent="."]
-
-anchor_right = 1
-anchor_bottom = 1
-rect_clip_content = false
-mouse_filter = 0
-size_flags_horizontal = 2
-size_flags_vertical = 2
-
-[node name="burano" type="TextureRect" parent="pictures"]
-
-margin_right = 40.0
-margin_bottom = 40.0
-rect_clip_content = false
-mouse_filter = 1
-size_flags_horizontal = 2
-size_flags_vertical = 2
-texture = ExtResource( 2 )
-stretch_mode = 0
-
-[node name="roby" type="TextureRect" parent="pictures"]
-
-visible = false
-margin_right = 40.0
-margin_bottom = 40.0
-rect_clip_content = false
-mouse_filter = 1
-size_flags_horizontal = 2
-size_flags_vertical = 2
-texture = ExtResource( 3 )
-stretch_mode = 0
-
-[node name="mountains" type="TextureRect" parent="pictures"]
-
-visible = false
-margin_right = 40.0
-margin_bottom = 40.0
-rect_clip_content = false
-mouse_filter = 1
-size_flags_horizontal = 2
-size_flags_vertical = 2
-texture = ExtResource( 4 )
-stretch_mode = 0
-
-[node name="forest" type="TextureRect" parent="pictures"]
-
-visible = false
-margin_right = 40.0
-margin_bottom = 40.0
-rect_clip_content = false
-mouse_filter = 1
-size_flags_horizontal = 2
-size_flags_vertical = 2
-texture = ExtResource( 5 )
-stretch_mode = 0
-
-[node name="effects" type="Control" parent="."]
-
-anchor_right = 1
-anchor_bottom = 1
-margin_right = -20.0
-rect_clip_content = false
-mouse_filter = 0
-size_flags_horizontal = 2
-size_flags_vertical = 2
-
-[node name="disabled" type="Control" parent="effects"]
-
-visible = false
-margin_right = 40.0
-margin_bottom = 40.0
-rect_clip_content = false
-mouse_filter = 0
-size_flags_horizontal = 2
-size_flags_vertical = 2
-
-[node name="vignette" type="TextureRect" parent="effects"]
-
-visible = false
-material = SubResource( 2 )
-anchor_right = 1
-anchor_bottom = 1
-rect_clip_content = false
-mouse_filter = 1
-size_flags_horizontal = 2
-size_flags_vertical = 2
-texture = ExtResource( 7 )
-expand = true
-stretch_mode = 0
-_sections_unfolded = [ "Material" ]
-
-[node name="blur" type="TextureRect" parent="effects"]
-
-visible = false
-material = SubResource( 4 )
-anchor_right = 1
-anchor_bottom = 1
-rect_clip_content = false
-mouse_filter = 1
-size_flags_horizontal = 2
-size_flags_vertical = 2
-texture = ExtResource( 7 )
-expand = true
-stretch_mode = 0
-_sections_unfolded = [ "Material" ]
-
-[node name="pixelize" type="TextureRect" parent="effects"]
-
-visible = false
-material = SubResource( 6 )
-anchor_right = 1
-anchor_bottom = 1
-rect_clip_content = false
-mouse_filter = 1
-size_flags_horizontal = 2
-size_flags_vertical = 2
-texture = ExtResource( 7 )
-expand = true
-stretch_mode = 0
-_sections_unfolded = [ "Material" ]
-
-[node name="whirl" type="TextureRect" parent="effects"]
-
-visible = false
-material = SubResource( 8 )
-anchor_right = 1
-anchor_bottom = 1
-rect_clip_content = false
-mouse_filter = 1
-size_flags_horizontal = 2
-size_flags_vertical = 2
-texture = ExtResource( 7 )
-expand = true
-stretch_mode = 0
-_sections_unfolded = [ "Material" ]
-
-[node name="sepia" type="TextureRect" parent="effects"]
-
-visible = false
-material = SubResource( 10 )
-anchor_right = 1
-anchor_bottom = 1
-margin_right = 14.0
-margin_bottom = -2.0
-rect_clip_content = false
-mouse_filter = 1
-size_flags_horizontal = 2
-size_flags_vertical = 2
-texture = ExtResource( 7 )
-expand = true
-stretch_mode = 0
-_sections_unfolded = [ "Material", "Visibility" ]
-
-[node name="negative" type="TextureRect" parent="effects"]
-
-visible = false
-material = SubResource( 12 )
-anchor_right = 1
-anchor_bottom = 1
-rect_clip_content = false
-mouse_filter = 1
-size_flags_horizontal = 2
-size_flags_vertical = 2
-texture = ExtResource( 7 )
-expand = true
-stretch_mode = 0
-_sections_unfolded = [ "Material" ]
-
-[node name="contrasted" type="TextureRect" parent="effects"]
-
-visible = false
-material = SubResource( 14 )
-anchor_right = 1
-anchor_bottom = 1
-rect_clip_content = false
-mouse_filter = 1
-size_flags_horizontal = 2
-size_flags_vertical = 2
-texture = ExtResource( 7 )
-expand = true
-stretch_mode = 0
-_sections_unfolded = [ "Material" ]
-
-[node name="normalized" type="TextureRect" parent="effects"]
-
-visible = false
-material = SubResource( 16 )
-anchor_right = 1
-anchor_bottom = 1
-rect_clip_content = false
-mouse_filter = 1
-size_flags_horizontal = 2
-size_flags_vertical = 2
-texture = ExtResource( 7 )
-expand = true
-stretch_mode = 0
-_sections_unfolded = [ "Material" ]
-
-[node name="BCS" type="TextureRect" parent="effects"]
-
-visible = false
-material = SubResource( 18 )
-anchor_right = 1
-anchor_bottom = 1
-margin_top = 3.0
-margin_bottom = -3.0
-rect_clip_content = false
-mouse_filter = 1
-size_flags_horizontal = 2
-size_flags_vertical = 2
-texture = ExtResource( 7 )
-expand = true
-stretch_mode = 0
-_sections_unfolded = [ "Material" ]
-
-[node name="mirage" type="TextureRect" parent="effects"]
-
-visible = false
-material = SubResource( 20 )
-anchor_right = 1
-anchor_bottom = 1
-rect_clip_content = false
-mouse_filter = 1
-size_flags_horizontal = 2
-size_flags_vertical = 2
-texture = ExtResource( 7 )
-expand = true
-stretch_mode = 0
-_sections_unfolded = [ "Material" ]
-
-[node name="old_film" type="TextureRect" parent="effects"]
-
-visible = false
-material = SubResource( 22 )
-anchor_right = 1
-anchor_bottom = 1
-margin_left = -3.0
-margin_right = 3.0
-rect_clip_content = false
-mouse_filter = 1
-size_flags_horizontal = 2
-size_flags_vertical = 2
-texture = ExtResource( 7 )
-expand = true
-stretch_mode = 0
-_sections_unfolded = [ "Material" ]
-
-[node name="picture" type="OptionButton" parent="."]
-
-margin_left = 8.0
-margin_top = 7.0
-margin_right = 131.0
-margin_bottom = 28.0
-rect_clip_content = false
-mouse_filter = 0
-size_flags_horizontal = 2
-size_flags_vertical = 2
-toggle_mode = false
-enabled_focus_mode = 2
-shortcut = null
-group = null
-flat = false
-align = 0
-selected = -1
-items = [  ]
-
-[node name="effect" type="OptionButton" parent="."]
-
-margin_left = 137.0
-margin_top = 7.0
-margin_right = 260.0
-margin_bottom = 28.0
-rect_clip_content = false
-mouse_filter = 0
-size_flags_horizontal = 2
-size_flags_vertical = 2
-toggle_mode = false
-enabled_focus_mode = 2
-shortcut = null
-group = null
-flat = false
-align = 0
-selected = -1
-items = [  ]
-
-[connection signal="item_selected" from="picture" to="." method="_on_picture_item_selected"]
-
-[connection signal="item_selected" from="effect" to="." method="_on_effect_item_selected"]
-
-

+ 0 - 77
2d/sdf_font/default_environment.tres

@@ -2,80 +2,3 @@
 
 
 [resource]
 [resource]
 
 
-background_mode = 0
-background_sky_custom_fov = 0.0
-background_color = Color( 0, 0, 0, 1 )
-background_energy = 1.0
-background_canvas_max_layer = 0
-ambient_light_color = Color( 0, 0, 0, 1 )
-ambient_light_energy = 1.0
-ambient_light_sky_contribution = 1.0
-fog_enabled = false
-fog_color = Color( 0.5, 0.6, 0.7, 1 )
-fog_sun_color = Color( 1, 0.9, 0.7, 1 )
-fog_sun_amount = 0.0
-fog_depth_enabled = true
-fog_depth_begin = 10.0
-fog_depth_curve = 1.0
-fog_transmit_enabled = false
-fog_transmit_curve = 1.0
-fog_height_enabled = false
-fog_height_min = 0.0
-fog_height_max = 100.0
-fog_height_curve = 1.0
-tonemap_mode = 0
-tonemap_exposure = 1.0
-tonemap_white = 1.0
-auto_exposure_enabled = false
-auto_exposure_scale = 0.4
-auto_exposure_min_luma = 0.05
-auto_exposure_max_luma = 8.0
-auto_exposure_speed = 0.5
-ss_reflections_enabled = false
-ss_reflections_max_steps = 64
-ss_reflections_fade_in = 0.15
-ss_reflections_fade_out = 2.0
-ss_reflections_depth_tolerance = 0.2
-ss_reflections_roughness = true
-ssao_enabled = false
-ssao_radius = 1.0
-ssao_intensity = 1.0
-ssao_radius2 = 0.0
-ssao_intensity2 = 1.0
-ssao_bias = 0.01
-ssao_light_affect = 0.0
-ssao_color = Color( 0, 0, 0, 1 )
-ssao_quality = 0
-ssao_blur = 3
-ssao_edge_sharpness = 4.0
-dof_blur_far_enabled = false
-dof_blur_far_distance = 10.0
-dof_blur_far_transition = 5.0
-dof_blur_far_amount = 0.1
-dof_blur_far_quality = 1
-dof_blur_near_enabled = false
-dof_blur_near_distance = 2.0
-dof_blur_near_transition = 1.0
-dof_blur_near_amount = 0.1
-dof_blur_near_quality = 1
-glow_enabled = false
-glow_levels/1 = false
-glow_levels/2 = false
-glow_levels/3 = true
-glow_levels/4 = false
-glow_levels/5 = true
-glow_levels/6 = false
-glow_levels/7 = false
-glow_intensity = 0.8
-glow_strength = 1.0
-glow_bloom = 0.0
-glow_blend_mode = 2
-glow_hdr_threshold = 1.0
-glow_hdr_scale = 2.0
-glow_bicubic_upscale = false
-adjustment_enabled = false
-adjustment_brightness = 1.0
-adjustment_contrast = 1.0
-adjustment_saturation = 1.0
-_sections_unfolded = [ "Background" ]
-

+ 31 - 0
2d/sdf_font/icon.png.import

@@ -0,0 +1,31 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"
+
+[deps]
+
+source_file="res://icon.png"
+dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ]
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/bptc_ldr=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=true
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+process/invert_color=false
+stream=false
+size_limit=0
+detect_3d=true
+svg/scale=1.0

+ 6 - 1
2d/sdf_font/project.godot

@@ -6,7 +6,12 @@
 ;   [section] ; section goes between []
 ;   [section] ; section goes between []
 ;   param=value ; assign values to parameters
 ;   param=value ; assign values to parameters
 
 
-config_version=3
+config_version=4
+
+_global_script_classes=[  ]
+_global_script_class_icons={
+
+}
 
 
 [application]
 [application]
 
 

+ 4 - 37
2d/sdf_font/sdf.tscn

@@ -3,15 +3,14 @@
 [ext_resource path="res://font.font" type="BitmapFont" id=1]
 [ext_resource path="res://font.font" type="BitmapFont" id=1]
 
 
 [sub_resource type="Animation" id=1]
 [sub_resource type="Animation" id=1]
-
 length = 15.0
 length = 15.0
 loop = true
 loop = true
-step = 0.1
 tracks/0/type = "value"
 tracks/0/type = "value"
 tracks/0/path = NodePath(".:rotation_degrees")
 tracks/0/path = NodePath(".:rotation_degrees")
 tracks/0/interp = 1
 tracks/0/interp = 1
 tracks/0/loop_wrap = true
 tracks/0/loop_wrap = true
 tracks/0/imported = false
 tracks/0/imported = false
+tracks/0/enabled = true
 tracks/0/keys = {
 tracks/0/keys = {
 "times": PoolRealArray( 0, 15 ),
 "times": PoolRealArray( 0, 15 ),
 "transitions": PoolRealArray( 1, 1 ),
 "transitions": PoolRealArray( 1, 1 ),
@@ -20,15 +19,14 @@ tracks/0/keys = {
 }
 }
 
 
 [sub_resource type="Animation" id=2]
 [sub_resource type="Animation" id=2]
-
 length = 10.0
 length = 10.0
 loop = true
 loop = true
-step = 0.1
 tracks/0/type = "value"
 tracks/0/type = "value"
 tracks/0/path = NodePath(".:scale")
 tracks/0/path = NodePath(".:scale")
 tracks/0/interp = 1
 tracks/0/interp = 1
 tracks/0/loop_wrap = true
 tracks/0/loop_wrap = true
 tracks/0/imported = false
 tracks/0/imported = false
+tracks/0/enabled = true
 tracks/0/keys = {
 tracks/0/keys = {
 "times": PoolRealArray( 0, 5 ),
 "times": PoolRealArray( 0, 5 ),
 "transitions": PoolRealArray( 1, 1 ),
 "transitions": PoolRealArray( 1, 1 ),
@@ -39,57 +37,26 @@ tracks/0/keys = {
 [node name="Root Node" type="Node2D"]
 [node name="Root Node" type="Node2D"]
 
 
 [node name="base" type="Position2D" parent="."]
 [node name="base" type="Position2D" parent="."]
-
 position = Vector2( 450, 300 )
 position = Vector2( 450, 300 )
-_sections_unfolded = [ "Transform" ]
 
 
 [node name="rotate" type="AnimationPlayer" parent="base"]
 [node name="rotate" type="AnimationPlayer" parent="base"]
-
-playback_process_mode = 1
-playback_default_blend_time = 0.0
-root_node = NodePath("..")
+autoplay = "rotate"
 anims/rotate = SubResource( 1 )
 anims/rotate = SubResource( 1 )
 anims/zoomin_zoomout = SubResource( 2 )
 anims/zoomin_zoomout = SubResource( 2 )
-playback/active = true
-playback/speed = 1.0
-blend_times = [  ]
-autoplay = "rotate"
 
 
 [node name="zoom" type="AnimationPlayer" parent="base"]
 [node name="zoom" type="AnimationPlayer" parent="base"]
-
-playback_process_mode = 1
-playback_default_blend_time = 0.0
-root_node = NodePath("..")
-anims/zoomin_zoomout = SubResource( 2 )
-playback/active = true
-playback/speed = 1.0
-blend_times = [  ]
 autoplay = "zoomin_zoomout"
 autoplay = "zoomin_zoomout"
+anims/zoomin_zoomout = SubResource( 2 )
 
 
 [node name="Label" type="Label" parent="base"]
 [node name="Label" type="Label" parent="base"]
-
-anchor_left = 0.0
-anchor_top = 0.0
-anchor_right = 0.0
-anchor_bottom = 0.0
 margin_left = -169.0
 margin_left = -169.0
 margin_top = -49.0
 margin_top = -49.0
 margin_right = 172.0
 margin_right = 172.0
 margin_bottom = 56.0
 margin_bottom = 56.0
-rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
-mouse_filter = 2
-size_flags_horizontal = 1
-size_flags_vertical = 4
 custom_fonts/font = ExtResource( 1 )
 custom_fonts/font = ExtResource( 1 )
 custom_colors/font_color = Color( 0.853858, 0.771714, 0.753746, 1 )
 custom_colors/font_color = Color( 0.853858, 0.771714, 0.753746, 1 )
 custom_colors/font_color_shadow = Color( 0.56592, 0.454525, 0.518426, 1 )
 custom_colors/font_color_shadow = Color( 0.56592, 0.454525, 0.518426, 1 )
 text = "Signed Distance
 text = "Signed Distance
 Field Font!!"
 Field Font!!"
 align = 1
 align = 1
-percent_visible = 1.0
-lines_skipped = 0
-max_lines_visible = -1
-_sections_unfolded = [ "custom_colors", "custom_fonts" ]
-
 
 

+ 0 - 87
2d/sprite_shaders/default_env.tres

@@ -1,101 +1,14 @@
 [gd_resource type="Environment" load_steps=2 format=2]
 [gd_resource type="Environment" load_steps=2 format=2]
 
 
 [sub_resource type="ProceduralSky" id=1]
 [sub_resource type="ProceduralSky" id=1]
-
-radiance_size = 4
 sky_top_color = Color( 0.0470588, 0.454902, 0.976471, 1 )
 sky_top_color = Color( 0.0470588, 0.454902, 0.976471, 1 )
 sky_horizon_color = Color( 0.556863, 0.823529, 0.909804, 1 )
 sky_horizon_color = Color( 0.556863, 0.823529, 0.909804, 1 )
 sky_curve = 0.25
 sky_curve = 0.25
-sky_energy = 1.0
 ground_bottom_color = Color( 0.101961, 0.145098, 0.188235, 1 )
 ground_bottom_color = Color( 0.101961, 0.145098, 0.188235, 1 )
 ground_horizon_color = Color( 0.482353, 0.788235, 0.952941, 1 )
 ground_horizon_color = Color( 0.482353, 0.788235, 0.952941, 1 )
 ground_curve = 0.01
 ground_curve = 0.01
-ground_energy = 1.0
-sun_color = Color( 1, 1, 1, 1 )
-sun_latitude = 35.0
-sun_longitude = 0.0
-sun_angle_min = 1.0
-sun_angle_max = 100.0
-sun_curve = 0.05
-sun_energy = 16.0
-texture_size = 2
 
 
 [resource]
 [resource]
-
 background_mode = 2
 background_mode = 2
 background_sky = SubResource( 1 )
 background_sky = SubResource( 1 )
-background_sky_custom_fov = 0.0
-background_color = Color( 0, 0, 0, 1 )
-background_energy = 1.0
-background_canvas_max_layer = 0
-ambient_light_color = Color( 0, 0, 0, 1 )
-ambient_light_energy = 1.0
-ambient_light_sky_contribution = 1.0
-fog_enabled = false
-fog_color = Color( 0.5, 0.6, 0.7, 1 )
-fog_sun_color = Color( 1, 0.9, 0.7, 1 )
-fog_sun_amount = 0.0
-fog_depth_enabled = true
-fog_depth_begin = 10.0
-fog_depth_curve = 1.0
-fog_transmit_enabled = false
-fog_transmit_curve = 1.0
-fog_height_enabled = false
-fog_height_min = 0.0
-fog_height_max = 100.0
-fog_height_curve = 1.0
-tonemap_mode = 0
-tonemap_exposure = 1.0
-tonemap_white = 1.0
-auto_exposure_enabled = false
-auto_exposure_scale = 0.4
-auto_exposure_min_luma = 0.05
-auto_exposure_max_luma = 8.0
-auto_exposure_speed = 0.5
-ss_reflections_enabled = false
-ss_reflections_max_steps = 64
-ss_reflections_fade_in = 0.15
-ss_reflections_fade_out = 2.0
-ss_reflections_depth_tolerance = 0.2
-ss_reflections_roughness = true
-ssao_enabled = false
-ssao_radius = 1.0
-ssao_intensity = 1.0
-ssao_radius2 = 0.0
-ssao_intensity2 = 1.0
-ssao_bias = 0.01
-ssao_light_affect = 0.0
-ssao_color = Color( 0, 0, 0, 1 )
-ssao_quality = 0
-ssao_blur = 3
-ssao_edge_sharpness = 4.0
-dof_blur_far_enabled = false
-dof_blur_far_distance = 10.0
-dof_blur_far_transition = 5.0
-dof_blur_far_amount = 0.1
-dof_blur_far_quality = 1
-dof_blur_near_enabled = false
-dof_blur_near_distance = 2.0
-dof_blur_near_transition = 1.0
-dof_blur_near_amount = 0.1
-dof_blur_near_quality = 1
-glow_enabled = false
-glow_levels/1 = false
-glow_levels/2 = false
-glow_levels/3 = true
-glow_levels/4 = false
-glow_levels/5 = true
-glow_levels/6 = false
-glow_levels/7 = false
-glow_intensity = 0.8
-glow_strength = 1.0
-glow_bloom = 0.0
-glow_blend_mode = 2
-glow_hdr_threshold = 1.0
-glow_hdr_scale = 2.0
-glow_bicubic_upscale = false
-adjustment_enabled = false
-adjustment_brightness = 1.0
-adjustment_contrast = 1.0
-adjustment_saturation = 1.0
 
 

+ 6 - 1
2d/sprite_shaders/project.godot

@@ -6,7 +6,12 @@
 ;   [section] ; section goes between []
 ;   [section] ; section goes between []
 ;   param=value ; assign values to parameters
 ;   param=value ; assign values to parameters
 
 
-config_version=3
+config_version=4
+
+_global_script_classes=[  ]
+_global_script_class_icons={
+
+}
 
 
 [application]
 [application]
 
 

+ 156 - 254
2d/sprite_shaders/sprite_shaders.tscn

@@ -1,420 +1,322 @@
-[gd_scene load_steps=23 format=2]
+[gd_scene load_steps=22 format=2]
 
 
 [ext_resource path="res://godotea.png" type="Texture" id=1]
 [ext_resource path="res://godotea.png" type="Texture" id=1]
 
 
 [sub_resource type="Shader" id=1]
 [sub_resource type="Shader" id=1]
-
 code = "shader_type canvas_item;
 code = "shader_type canvas_item;
-uniform float outline_width=2.0;
-uniform vec4 outline_color: hint_color;
-
-void fragment(){
-vec4 col = texture(TEXTURE,UV);
-vec2 ps = TEXTURE_PIXEL_SIZE;
-float a;
-float maxa=col.a;
-float mina=col.a;
-a=texture(TEXTURE,UV+vec2(0,-outline_width)*ps).a;
-maxa=max(a,maxa); 
-mina=min(a,mina);
-a=texture(TEXTURE,UV+vec2(0,outline_width)*ps).a;
-maxa=max(a,maxa); 
-mina=min(a,mina);
-a=texture(TEXTURE,UV+vec2(-outline_width,0)*ps).a;
-maxa=max(a,maxa); 
-mina=min(a,mina);
-a=texture(TEXTURE,UV+vec2(outline_width,0)*ps).a;
-maxa=max(a,maxa); 
-mina=min(a,mina);
-
-COLOR=mix(col,outline_color,maxa-mina);
-}"
-
-[sub_resource type="ShaderMaterial" id=2]
-
-render_priority = 0
-shader = SubResource( 1 )
-shader_param/outline_width = null
-shader_param/outline_color = Color( 0, 1, 0.109375, 1 )
-_sections_unfolded = [ "shader_param" ]
-
-[sub_resource type="ShaderMaterial" id=3]
-
-render_priority = 0
 
 
-[sub_resource type="Shader" id=4]
-
-code = "shader_type canvas_item;
 uniform float outline_width = 2.0;
 uniform float outline_width = 2.0;
-uniform vec4 outline_color: hint_color;
+uniform vec4 outline_color : hint_color;
 
 
-void fragment(){
+void fragment() {
 	vec4 col = texture(TEXTURE, UV);
 	vec4 col = texture(TEXTURE, UV);
 	vec2 ps = TEXTURE_PIXEL_SIZE;
 	vec2 ps = TEXTURE_PIXEL_SIZE;
 	float a;
 	float a;
 	float maxa = col.a;
 	float maxa = col.a;
 	float mina = col.a;
 	float mina = col.a;
 
 
-	a = texture(TEXTURE, UV + vec2(0, -outline_width)*ps).a;
-	maxa = max(a, maxa); 
+	a = texture(TEXTURE, UV + vec2(0.0, -outline_width) * ps).a;
+	maxa = max(a, maxa);
 	mina = min(a, mina);
 	mina = min(a, mina);
-	
-	a = texture(TEXTURE, UV + vec2(0, outline_width)*ps).a;
-	maxa = max(a, maxa); 
+
+	a = texture(TEXTURE, UV + vec2(0.0, outline_width) * ps).a;
+	maxa = max(a, maxa);
 	mina = min(a, mina);
 	mina = min(a, mina);
-	
-	a = texture(TEXTURE, UV + vec2(-outline_width,0)*ps).a;
-	maxa = max(a, maxa); 
+
+	a = texture(TEXTURE, UV + vec2(-outline_width, 0.0) * ps).a;
+	maxa = max(a, maxa);
 	mina = min(a, mina);
 	mina = min(a, mina);
-	
-	a = texture(TEXTURE, UV + vec2(outline_width, 0)*ps).a;
-	maxa = max(a, maxa); 
+
+	a = texture(TEXTURE, UV + vec2(outline_width, 0.0) * ps).a;
+	maxa = max(a, maxa);
 	mina = min(a, mina);
 	mina = min(a, mina);
-	
-	COLOR = mix(col, outline_color, maxa-mina);
-	}"
 
 
-[sub_resource type="ShaderMaterial" id=5]
+	COLOR = mix(col, outline_color, maxa - mina);
+}"
+
+[sub_resource type="ShaderMaterial" id=2]
+shader = SubResource( 1 )
+shader_param/outline_width = 2.0
+shader_param/outline_color = Color( 0, 1, 0.109375, 1 )
+
+[sub_resource type="ShaderMaterial" id=3]
 
 
-render_priority = 0
-shader = SubResource( 4 )
+[sub_resource type="ShaderMaterial" id=4]
+shader = SubResource( 1 )
 shader_param/outline_width = 4.0
 shader_param/outline_width = 4.0
 shader_param/outline_color = Color( 0, 0, 0, 1 )
 shader_param/outline_color = Color( 0, 0, 0, 1 )
-_sections_unfolded = [ "Resource", "shader_param" ]
-
-[sub_resource type="Shader" id=6]
 
 
+[sub_resource type="Shader" id=5]
 code = "shader_type canvas_item;
 code = "shader_type canvas_item;
 render_mode blend_premul_alpha;
 render_mode blend_premul_alpha;
 
 
-//this shader only works properly with premultiplied alpha blend mode
+// This shader only works properly with premultiplied alpha blend mode
 uniform float aura_width = 2.0;
 uniform float aura_width = 2.0;
-uniform vec4 aura_color:hint_color; 
+uniform vec4 aura_color : hint_color;
 
 
-void fragment(){
+void fragment() {
 	vec4 col = texture(TEXTURE, UV);
 	vec4 col = texture(TEXTURE, UV);
 	vec2 ps = TEXTURE_PIXEL_SIZE;
 	vec2 ps = TEXTURE_PIXEL_SIZE;
 	float a;
 	float a;
 	float maxa = col.a;
 	float maxa = col.a;
 	float mina = col.a;
 	float mina = col.a;
-	
-	a = texture(TEXTURE, UV + vec2(0, -aura_width)*ps).a;
-	maxa = max(a, maxa); 
+
+	a = texture(TEXTURE, UV + vec2(0.0, -aura_width) * ps).a;
+	maxa = max(a, maxa);
 	mina = min(a, mina);
 	mina = min(a, mina);
-	
-	a = texture(TEXTURE, UV + vec2(0, aura_width)*ps).a;
-	maxa = max(a, maxa); 
+
+	a = texture(TEXTURE, UV + vec2(0.0, aura_width) * ps).a;
+	maxa = max(a, maxa);
 	mina = min(a, mina);
 	mina = min(a, mina);
-	
-	a = texture(TEXTURE, UV + vec2(-aura_width, 0)*ps).a;
-	maxa = max(a, maxa); 
+
+	a = texture(TEXTURE, UV + vec2(-aura_width, 0.0) * ps).a;
+	maxa = max(a, maxa);
 	mina = min(a, mina);
 	mina = min(a, mina);
-	
-	a = texture(TEXTURE, UV + vec2(aura_width, 0)*ps).a;
-	maxa = max(a, maxa); 
+
+	a = texture(TEXTURE, UV + vec2(aura_width, 0.0) * ps).a;
+	maxa = max(a, maxa);
 	mina = min(a, mina);
 	mina = min(a, mina);
-	
+
 	col.rgb *= col.a;
 	col.rgb *= col.a;
-	
-	COLOR = col;
-	float auraa = (maxa-mina);
-	
-	COLOR.rgb += aura_color.rgb*(auraa);
-	
-	}"
 
 
-[sub_resource type="ShaderMaterial" id=7]
+	COLOR = col;
+	COLOR.rgb += aura_color.rgb * (maxa - mina);
+}"
 
 
-render_priority = 0
-shader = SubResource( 6 )
+[sub_resource type="ShaderMaterial" id=6]
+shader = SubResource( 5 )
 shader_param/aura_width = 6.0
 shader_param/aura_width = 6.0
 shader_param/aura_color = Color( 0.143326, 0.33235, 0.677765, 0.442 )
 shader_param/aura_color = Color( 0.143326, 0.33235, 0.677765, 0.442 )
-_sections_unfolded = [ "shader_param" ]
-
-[sub_resource type="Shader" id=8]
 
 
+[sub_resource type="Shader" id=7]
 code = "shader_type canvas_item;
 code = "shader_type canvas_item;
 render_mode blend_mix;
 render_mode blend_mix;
 
 
 uniform float radius = 4.0;
 uniform float radius = 4.0;
 
 
-void fragment(){
+void fragment() {
 	vec4 col = texture(TEXTURE, UV);
 	vec4 col = texture(TEXTURE, UV);
 	vec2 ps = TEXTURE_PIXEL_SIZE;
 	vec2 ps = TEXTURE_PIXEL_SIZE;
-	
-	col += texture(TEXTURE, UV + vec2(0, -radius)*ps);
-	col += texture(TEXTURE, UV + vec2(0, radius)*ps);
-	col += texture(TEXTURE, UV + vec2(-radius, 0)*ps);
-	col += texture(TEXTURE, UV + vec2(radius, 0)*ps);
+
+	col += texture(TEXTURE, UV + vec2(0.0, -radius) * ps);
+	col += texture(TEXTURE, UV + vec2(0.0, radius) * ps);
+	col += texture(TEXTURE, UV + vec2(-radius, 0.0) * ps);
+	col += texture(TEXTURE, UV + vec2(radius, 0.0) * ps);
 	col /= 5.0;
 	col /= 5.0;
-	
-	COLOR = col;
-	}"
 
 
-[sub_resource type="ShaderMaterial" id=9]
+	COLOR = col;
+}"
 
 
-render_priority = 0
-shader = SubResource( 8 )
+[sub_resource type="ShaderMaterial" id=8]
+shader = SubResource( 7 )
 shader_param/radius = 4.0
 shader_param/radius = 4.0
-_sections_unfolded = [ "shader_param" ]
-
-[sub_resource type="Shader" id=10]
 
 
+[sub_resource type="Shader" id=9]
 code = "shader_type canvas_item;
 code = "shader_type canvas_item;
 
 
 render_mode blend_mix;
 render_mode blend_mix;
 uniform float fattyness = 2.0;
 uniform float fattyness = 2.0;
 
 
-void fragment(){
-	vec2 ruv = UV - vec2(0.5,0.5);
+void fragment() {
+	vec2 ruv = UV - vec2(0.5, 0.5);
 	vec2 dir = normalize(ruv);
 	vec2 dir = normalize(ruv);
 	float len = length(ruv);	
 	float len = length(ruv);	
-	
-	len = pow(len*2.0, fattyness)*0.5;
-	ruv = len*dir;
-	
+
+	len = pow(len * 2.0, fattyness) * 0.5;
+	ruv = len * dir;
+
 	vec4 col = texture(TEXTURE, ruv + vec2(0.5, 0.5));
 	vec4 col = texture(TEXTURE, ruv + vec2(0.5, 0.5));
-	
+
 	COLOR = col;
 	COLOR = col;
 }"
 }"
 
 
-[sub_resource type="ShaderMaterial" id=11]
-
-render_priority = 0
-shader = SubResource( 10 )
+[sub_resource type="ShaderMaterial" id=10]
+shader = SubResource( 9 )
 shader_param/fattyness = 3.0
 shader_param/fattyness = 3.0
-_sections_unfolded = [ "shader_param" ]
-
-[sub_resource type="Shader" id=12]
 
 
+[sub_resource type="Shader" id=11]
 code = "shader_type canvas_item;
 code = "shader_type canvas_item;
 render_mode blend_mix;
 render_mode blend_mix;
 
 
 uniform float radius = 5.0;
 uniform float radius = 5.0;
-uniform vec4  modulate:hint_color;
+uniform vec4  modulate : hint_color;
 
 
-void fragment(){
+void fragment() {
 	vec2 ps = TEXTURE_PIXEL_SIZE;
 	vec2 ps = TEXTURE_PIXEL_SIZE;
-	
-	vec4 shadow = texture(TEXTURE, UV + vec2(-radius, -radius)*ps);
-	
-	shadow += texture(TEXTURE, UV + vec2(-radius, 0)*ps);
-	shadow += texture(TEXTURE, UV + vec2(-radius, radius)*ps);
-	shadow += texture(TEXTURE, UV + vec2(0, -radius)*ps);
-	shadow += texture(TEXTURE, UV + vec2(0, radius)*ps);
-	shadow += texture(TEXTURE, UV + vec2(radius, -radius)*ps);
-	shadow += texture(TEXTURE, UV + vec2(radius, 0)*ps);
-	shadow += texture(TEXTURE, UV + vec2(radius, radius)*ps);
+
+	vec4 shadow = texture(TEXTURE, UV + vec2(-radius, -radius) * ps);
+
+	shadow += texture(TEXTURE, UV + vec2(-radius, 0.0) * ps);
+	shadow += texture(TEXTURE, UV + vec2(-radius, radius) * ps);
+	shadow += texture(TEXTURE, UV + vec2(0.0, -radius) * ps);
+	shadow += texture(TEXTURE, UV + vec2(0.0, radius) * ps);
+	shadow += texture(TEXTURE, UV + vec2(radius, -radius) * ps);
+	shadow += texture(TEXTURE, UV + vec2(radius, 0.0) * ps);
+	shadow += texture(TEXTURE, UV + vec2(radius, radius) * ps);
 	shadow /= 8.0;
 	shadow /= 8.0;
 	shadow *= modulate;
 	shadow *= modulate;
-	
+
 	vec4 col = texture(TEXTURE, UV);
 	vec4 col = texture(TEXTURE, UV);
 	COLOR = mix(shadow, col, col.a);
 	COLOR = mix(shadow, col, col.a);
-	}"
-
-[sub_resource type="ShaderMaterial" id=13]
+}"
 
 
-render_priority = 0
-shader = SubResource( 12 )
+[sub_resource type="ShaderMaterial" id=12]
+shader = SubResource( 11 )
 shader_param/radius = 8.0
 shader_param/radius = 8.0
 shader_param/modulate = Color( 0, 0, 0, 0.501961 )
 shader_param/modulate = Color( 0, 0, 0, 0.501961 )
-_sections_unfolded = [ "shader_param" ]
-
-[sub_resource type="Shader" id=14]
 
 
+[sub_resource type="Shader" id=13]
 code = "shader_type canvas_item;
 code = "shader_type canvas_item;
 render_mode blend_mix;
 render_mode blend_mix;
 
 
-uniform vec2 offset = vec2(8,8);
-uniform vec4 modulate:hint_color;
+uniform vec2 offset = vec2(8.0, 8.0);
+uniform vec4 modulate : hint_color;
 
 
-void fragment(){
+void fragment() {
 	vec2 ps = TEXTURE_PIXEL_SIZE;
 	vec2 ps = TEXTURE_PIXEL_SIZE;
-	
-	vec4 shadow = vec4(modulate.rgb, texture(TEXTURE, UV - offset*ps).a*modulate.a);
+
+	vec4 shadow = vec4(modulate.rgb, texture(TEXTURE, UV - offset * ps).a * modulate.a);
 	vec4 col = texture(TEXTURE, UV);
 	vec4 col = texture(TEXTURE, UV);
-	
-	COLOR = mix(shadow, col, col.a);
-	}"
 
 
-[sub_resource type="ShaderMaterial" id=15]
+	COLOR = mix(shadow, col, col.a);
+}"
 
 
-render_priority = 0
-shader = SubResource( 14 )
+[sub_resource type="ShaderMaterial" id=14]
+shader = SubResource( 13 )
 shader_param/offset = Vector2( 20, 20 )
 shader_param/offset = Vector2( 20, 20 )
 shader_param/modulate = Color( 0.90625, 0.269043, 0.746948, 1 )
 shader_param/modulate = Color( 0.90625, 0.269043, 0.746948, 1 )
-_sections_unfolded = [ "shader_param" ]
-
-[sub_resource type="Shader" id=16]
 
 
+[sub_resource type="Shader" id=15]
 code = "shader_type canvas_item;
 code = "shader_type canvas_item;
 
 
 render_mode blend_mix;
 render_mode blend_mix;
-uniform vec4 modulate:hint_color;
-
-void fragment(){
-	
-	COLOR = vec4(modulate.rgb, texture(TEXTURE, UV).a*modulate.a);
-	
-	}"
+uniform vec4 modulate : hint_color;
 
 
-[sub_resource type="ShaderMaterial" id=17]
+void fragment() {
+	COLOR = vec4(modulate.rgb, texture(TEXTURE, UV).a * modulate.a);
+}"
 
 
-render_priority = 0
-shader = SubResource( 16 )
+[sub_resource type="ShaderMaterial" id=16]
+shader = SubResource( 15 )
 shader_param/modulate = Color( 1, 0.0234375, 0.481201, 0.596706 )
 shader_param/modulate = Color( 1, 0.0234375, 0.481201, 0.596706 )
-_sections_unfolded = [ "shader_param" ]
-
-[sub_resource type="Shader" id=18]
 
 
+[sub_resource type="Shader" id=17]
 code = "shader_type canvas_item;
 code = "shader_type canvas_item;
 render_mode blend_premul_alpha;
 render_mode blend_premul_alpha;
 
 
 uniform float radius = 2.0;
 uniform float radius = 2.0;
 uniform float amount = 0.6;
 uniform float amount = 0.6;
 
 
-void fragment(){
+void fragment() {
 	float r = radius;
 	float r = radius;
 	vec2 ps = TEXTURE_PIXEL_SIZE;
 	vec2 ps = TEXTURE_PIXEL_SIZE;
 	vec4 col = texture(TEXTURE, UV);
 	vec4 col = texture(TEXTURE, UV);
 	vec4 glow = col;
 	vec4 glow = col;
-	
-	glow += texture(TEXTURE, UV + vec2(-r, -r)*ps);
-	glow += texture(TEXTURE, UV + vec2(-r, 0)*ps);
-	glow += texture(TEXTURE, UV + vec2(-r, r)*ps);
-	glow += texture(TEXTURE, UV + vec2(0, -r)*ps);
-	glow += texture(TEXTURE, UV + vec2(0, r)*ps);
-	glow += texture(TEXTURE, UV + vec2(r, -r)*ps);
-	glow += texture(TEXTURE, UV + vec2(r, 0)*ps);
-	glow += texture(TEXTURE, UV + vec2(r, r)*ps);
-	
+
+	glow += texture(TEXTURE, UV + vec2(-r, -r) * ps);
+	glow += texture(TEXTURE, UV + vec2(-r, 0.0) * ps);
+	glow += texture(TEXTURE, UV + vec2(-r, r) * ps);
+	glow += texture(TEXTURE, UV + vec2(0.0, -r) * ps);
+	glow += texture(TEXTURE, UV + vec2(0.0, r) * ps);
+	glow += texture(TEXTURE, UV + vec2(r, -r) * ps);
+	glow += texture(TEXTURE, UV + vec2(r, 0.0) * ps);
+	glow += texture(TEXTURE, UV + vec2(r, r) * ps);
+
 	r *= 2.0;
 	r *= 2.0;
-	glow += texture(TEXTURE, UV + vec2(-r, -r)*ps);
-	glow += texture(TEXTURE, UV + vec2(-r, 0)*ps);
-	glow += texture(TEXTURE, UV + vec2(-r, r)*ps);
-	glow += texture(TEXTURE, UV + vec2(0, -r)*ps);
-	glow += texture(TEXTURE, UV + vec2(0, r)*ps);
-	glow += texture(TEXTURE, UV + vec2(r, -r)*ps);
-	glow += texture(TEXTURE, UV + vec2(r, 0)*ps);
-	glow += texture(TEXTURE, UV + vec2(r, r)*ps);
-	
+	glow += texture(TEXTURE, UV + vec2(-r, -r) * ps);
+	glow += texture(TEXTURE, UV + vec2(-r, 0.0) * ps);
+	glow += texture(TEXTURE, UV + vec2(-r, r) * ps);
+	glow += texture(TEXTURE, UV + vec2(0.0, -r) * ps);
+	glow += texture(TEXTURE, UV + vec2(0.0, r) * ps);
+	glow += texture(TEXTURE, UV + vec2(r, -r) * ps);
+	glow += texture(TEXTURE, UV + vec2(r, 0.0) * ps);
+	glow += texture(TEXTURE, UV + vec2(r, r) * ps);
+
 	glow /= 17.0;
 	glow /= 17.0;
 	glow *= amount;
 	glow *= amount;
 	col.rgb *= col.a;
 	col.rgb *= col.a;
-	
-	COLOR = glow + col;
-	
-	}"
 
 
-[sub_resource type="ShaderMaterial" id=19]
+	COLOR = glow + col;
+}"
 
 
-render_priority = 0
-shader = SubResource( 18 )
+[sub_resource type="ShaderMaterial" id=18]
+shader = SubResource( 17 )
 shader_param/radius = 12.0
 shader_param/radius = 12.0
 shader_param/amount = 0.5
 shader_param/amount = 0.5
-_sections_unfolded = [ "shader_param" ]
-
-[sub_resource type="Shader" id=20]
 
 
+[sub_resource type="Shader" id=19]
 code = "shader_type canvas_item;
 code = "shader_type canvas_item;
 render_mode blend_mix;
 render_mode blend_mix;
 
 
 uniform float amount = 20.0;
 uniform float amount = 20.0;
 
 
-void fragment(){
-	
-	vec2 uv = UV*0.05;
-	float a = fract(sin(dot(UV, vec2(12.9898, 78.233)))*438.5453);
+void fragment() {
+	vec2 uv = UV * 0.05;
+	float a = fract(sin(dot(UV, vec2(12.9898, 78.233))) * 438.5453);
 	vec4 col = texture(TEXTURE, UV);
 	vec4 col = texture(TEXTURE, UV);
-	
+
 	col.a *= pow(a, amount);
 	col.a *= pow(a, amount);
-	
-	COLOR = col;
-	}"
 
 
-[sub_resource type="ShaderMaterial" id=21]
+	COLOR = col;
+}"
 
 
-render_priority = 0
-shader = SubResource( 20 )
+[sub_resource type="ShaderMaterial" id=20]
+shader = SubResource( 19 )
 shader_param/amount = 4.0
 shader_param/amount = 4.0
-_sections_unfolded = [ "shader_param" ]
-
-[node name="shaders" type="Node2D" index="0"]
 
 
+[node name="shaders" type="Node2D"]
 material = SubResource( 2 )
 material = SubResource( 2 )
 position = Vector2( 263.737, 179.444 )
 position = Vector2( 263.737, 179.444 )
 scale = Vector2( 0.3, 0.3 )
 scale = Vector2( 0.3, 0.3 )
-_sections_unfolded = [ "Material", "Region", "Transform" ]
-
-[node name="normal" type="Sprite" parent="." index="0"]
 
 
+[node name="normal" type="Sprite" parent="."]
 material = SubResource( 3 )
 material = SubResource( 3 )
 position = Vector2( -2.16144, 0 )
 position = Vector2( -2.16144, 0 )
 texture = ExtResource( 1 )
 texture = ExtResource( 1 )
-_sections_unfolded = [ "Material", "Offset" ]
 
 
-[node name="outline" type="Sprite" parent="." index="1"]
-
-material = SubResource( 5 )
+[node name="outline" type="Sprite" parent="."]
+material = SubResource( 4 )
 position = Vector2( 400, 0 )
 position = Vector2( 400, 0 )
 texture = ExtResource( 1 )
 texture = ExtResource( 1 )
-_sections_unfolded = [ "Material", "Transform" ]
-
-[node name="aura" type="Sprite" parent="." index="2"]
 
 
-material = SubResource( 7 )
+[node name="aura" type="Sprite" parent="."]
+material = SubResource( 6 )
 position = Vector2( 800, 0 )
 position = Vector2( 800, 0 )
 texture = ExtResource( 1 )
 texture = ExtResource( 1 )
-_sections_unfolded = [ "Animation", "Material", "Offset", "Region", "Transform", "Visibility", "Z Index" ]
-
-[node name="blur" type="Sprite" parent="." index="3"]
 
 
-material = SubResource( 9 )
+[node name="blur" type="Sprite" parent="."]
+material = SubResource( 8 )
 position = Vector2( 1200, 0 )
 position = Vector2( 1200, 0 )
 texture = ExtResource( 1 )
 texture = ExtResource( 1 )
-_sections_unfolded = [ "Material", "Transform" ]
 
 
-[node name="fatty" type="Sprite" parent="." index="4"]
-
-material = SubResource( 11 )
+[node name="fatty" type="Sprite" parent="."]
+material = SubResource( 10 )
 position = Vector2( 1600, 0 )
 position = Vector2( 1600, 0 )
 texture = ExtResource( 1 )
 texture = ExtResource( 1 )
-_sections_unfolded = [ "Material", "Transform" ]
-
-[node name="dropshadow" type="Sprite" parent="." index="5"]
 
 
-material = SubResource( 13 )
+[node name="dropshadow" type="Sprite" parent="."]
+material = SubResource( 12 )
 position = Vector2( 0, 800 )
 position = Vector2( 0, 800 )
 texture = ExtResource( 1 )
 texture = ExtResource( 1 )
-_sections_unfolded = [ "Material", "Transform" ]
 
 
-[node name="offsetshadow" type="Sprite" parent="." index="6"]
-
-material = SubResource( 15 )
+[node name="offsetshadow" type="Sprite" parent="."]
+material = SubResource( 14 )
 position = Vector2( 400, 800 )
 position = Vector2( 400, 800 )
 texture = ExtResource( 1 )
 texture = ExtResource( 1 )
-_sections_unfolded = [ "Material", "Transform" ]
-
-[node name="silouette" type="Sprite" parent="." index="7"]
 
 
-material = SubResource( 17 )
+[node name="silouette" type="Sprite" parent="."]
+material = SubResource( 16 )
 position = Vector2( 800, 800 )
 position = Vector2( 800, 800 )
 texture = ExtResource( 1 )
 texture = ExtResource( 1 )
-_sections_unfolded = [ "Material", "Transform" ]
-
-[node name="glow" type="Sprite" parent="." index="8"]
 
 
-material = SubResource( 19 )
+[node name="glow" type="Sprite" parent="."]
+material = SubResource( 18 )
 position = Vector2( 1200, 800 )
 position = Vector2( 1200, 800 )
 texture = ExtResource( 1 )
 texture = ExtResource( 1 )
-_sections_unfolded = [ "Material", "Transform", "Z Index" ]
 
 
-[node name="dissintegrate" type="Sprite" parent="." index="9"]
-
-material = SubResource( 21 )
+[node name="dissintegrate" type="Sprite" parent="."]
+material = SubResource( 20 )
 position = Vector2( 1600, 800 )
 position = Vector2( 1600, 800 )
 texture = ExtResource( 1 )
 texture = ExtResource( 1 )
 region_rect = Rect2( 141, 115, 39, 6 )
 region_rect = Rect2( 141, 115, 39, 6 )
-_sections_unfolded = [ "Material", "Transform" ]
-
 
 

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