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]
 
 [sub_resource type="DynamicFont" id=1]
-
 size = 64
-use_mipmaps = false
-use_filter = false
 font_data = ExtResource( 2 )
-_sections_unfolded = [ "Font", "Settings" ]
 
 [sub_resource type="DynamicFont" id=2]
-
 size = 72
-use_mipmaps = false
-use_filter = false
 font_data = ExtResource( 2 )
-_sections_unfolded = [ "Font", "Settings" ]
 
 [sub_resource type="DynamicFont" id=3]
-
 size = 48
-use_mipmaps = false
-use_filter = false
 font_data = ExtResource( 2 )
-_sections_unfolded = [ "Font", "Settings" ]
 
 [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 )
 
-[node name="ScoreLabel" type="Label" parent="." index="0"]
-
+[node name="ScoreLabel" type="Label" parent="."]
 anchor_left = 0.5
-anchor_top = 0.0
 anchor_right = 0.5
-anchor_bottom = 0.0
 margin_left = -25.0
 margin_right = 25.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 )
 text = "0"
 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_top = 0.5
 anchor_right = 0.5
@@ -69,31 +37,17 @@ margin_left = -200.0
 margin_top = -150.0
 margin_right = 200.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 )
 text = "Dodge the
 Creeps!"
 align = 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
 one_shot = true
-autostart = false
-
-[node name="StartButton" type="Button" parent="." index="3"]
 
+[node name="StartButton" type="Button" parent="."]
 anchor_left = 0.5
 anchor_top = 1.0
 anchor_right = 0.5
@@ -102,25 +56,8 @@ margin_left = -100.0
 margin_top = -200.0
 margin_right = 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 )
-toggle_mode = false
-enabled_focus_mode = 2
-shortcut = null
-group = null
 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="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]
 
 [sub_resource type="Curve2D" id=1]
-
-bake_interval = 5.0
 _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 )
 }
 
-[node name="Main" type="Node" index="0"]
-
+[node name="Main" type="Node"]
 script = ExtResource( 1 )
 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_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 )
 
-[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
-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
 one_shot = true
-autostart = false
-
-[node name="StartPosition" type="Position2D" parent="." index="5"]
 
+[node name="StartPosition" type="Position2D" parent="."]
 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 )
 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 )
 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 )
 
-[node name="MobSpawnLocation" type="PathFollow2D" parent="MobPath" index="0"]
-
+[node name="MobSpawnLocation" type="PathFollow2D" parent="MobPath"]
 position = Vector2( 1.70602, 3.56798 )
 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="timeout" from="MobTimer" to="." method="_on_MobTimer_timeout"]
-
 [connection signal="timeout" from="ScoreTimer" to="." method="_on_ScoreTimer_timeout"]
-
 [connection signal="timeout" from="StartTimer" to="." method="_on_StartTimer_timeout"]
-
 [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]
 
 [sub_resource type="SpriteFrames" id=1]
-
 animations = [ {
 "frames": [ ExtResource( 2 ), ExtResource( 3 ) ],
 "loop": true,
@@ -28,55 +27,32 @@ animations = [ {
 } ]
 
 [sub_resource type="CapsuleShape2D" id=2]
-
-custom_solver_bias = 0.0
 radius = 34.8222
 height = 28.8308
 
 [node name="Mob" type="RigidBody2D"]
-
 input_pickable = true
-collision_layer = 1
 collision_mask = 0
-mode = 0
-mass = 1.0
-friction = 1.0
-bounce = 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
-angular_velocity = 0.0
 angular_damp = 1.0
 script = ExtResource( 1 )
-_sections_unfolded = [ "Angular", "Collision", "Transform" ]
 __meta__ = {
 "_edit_group_": true
 }
 MIN_SPEED = 150
 MAX_SPEED = 250
 
-[node name="AnimatedSprite" type="AnimatedSprite" parent="." index="0"]
-
+[node name="AnimatedSprite" type="AnimatedSprite" parent="."]
 scale = Vector2( 0.75, 0.75 )
 frames = SubResource( 1 )
 animation = "swim"
+frame = 1
 playing = true
-_sections_unfolded = [ "Transform" ]
-
-[node name="Collision" type="CollisionShape2D" parent="." index="1"]
 
+[node name="Collision" type="CollisionShape2D" parent="."]
 rotation = 1.5708
 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):
 	position = pos
 	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):
 	velocity = Vector2()
@@ -45,10 +46,8 @@ func _process(delta):
 		$AnimatedSprite.animation = "up"
 		$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()
 	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]
 
 [sub_resource type="SpriteFrames" id=1]
-
 animations = [ {
 "frames": [ ExtResource( 2 ), ExtResource( 3 ) ],
 "loop": true,
@@ -21,125 +20,52 @@ animations = [ {
 } ]
 
 [sub_resource type="CapsuleShape2D" id=2]
-
-custom_solver_bias = 0.0
 radius = 26.5155
 height = 13.8847
 
 [sub_resource type="Gradient" id=3]
-
-offsets = PoolRealArray( 0, 1 )
 colors = PoolColorArray( 1, 1, 1, 0.523804, 1, 1, 1, 0 )
 
 [sub_resource type="GradientTexture" id=4]
-
-flags = 4
 gradient = SubResource( 3 )
-width = 2048
 
 [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 ]
 
 [sub_resource type="CurveTexture" id=6]
-
-flags = 4
-width = 2048
 curve = SubResource( 5 )
 
 [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
-spread = 45.0
-flatness = 0.0
 gravity = Vector3( 0, 0, 0 )
 initial_velocity = 1.0
-initial_velocity_random = 0.0
 angular_velocity = 1.56945e-43
-angular_velocity_random = 0.0
 orbit_velocity = 0.0
 orbit_velocity_random = 0.0
-linear_accel = 0.0
-linear_accel_random = 0.0
-radial_accel = 0.0
-radial_accel_random = 0.0
-tangential_accel = 0.0
-tangential_accel_random = 0.0
-damping = 0.0
-damping_random = 0.0
-angle = 0.0
-angle_random = 0.0
-scale = 1.0
-scale_random = 0.0
 scale_curve = SubResource( 6 )
 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"]
-
-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 )
-_sections_unfolded = [ "Transform" ]
 __meta__ = {
 "_edit_group_": true
 }
 SPEED = 400
 
-[node name="AnimatedSprite" type="AnimatedSprite" parent="." index="0"]
-
+[node name="AnimatedSprite" type="AnimatedSprite" parent="."]
 scale = Vector2( 0.5, 0.5 )
 frames = SubResource( 1 )
 animation = "right"
-_sections_unfolded = [ "Region", "Transform", "Z" ]
-
-[node name="Collision" type="CollisionShape2D" parent="." index="1"]
 
+[node name="Collision" type="CollisionShape2D" parent="."]
 shape = SubResource( 2 )
 
-[node name="Trail" type="Particles2D" parent="." index="2"]
-
+[node name="Trail" type="Particles2D" parent="."]
 show_behind_parent = true
-emitting = true
 amount = 10
-lifetime = 1.0
-one_shot = false
-preprocess = 0.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
-draw_order = 0
 process_material = SubResource( 7 )
 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"]
-
-

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

@@ -1,102 +1,16 @@
 [gd_resource type="Environment" load_steps=2 format=2]
 
 [sub_resource type="ProceduralSky" id=1]
-
-radiance_size = 4
 sky_top_color = Color( 0.0470588, 0.454902, 0.976471, 1 )
 sky_horizon_color = Color( 0.556863, 0.823529, 0.909804, 1 )
 sky_curve = 0.25
-sky_energy = 1.0
 ground_bottom_color = Color( 0.101961, 0.145098, 0.188235, 1 )
 ground_horizon_color = Color( 0.482353, 0.788235, 0.952941, 1 )
 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]
-
 background_mode = 2
 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
-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_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 []
 ;   param=value ; assign values to parameters
 
-config_version=3
+config_version=4
+
+_global_script_classes=[  ]
+_global_script_class_icons={
+
+}
 
 [application]
 

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

@@ -7,15 +7,14 @@
 
 [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
 
-[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"]

+ 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://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_top = 0.0
 anchor_right = 1.0
-anchor_bottom = 0.0
 margin_left = -220.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 )
 
-[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_bottom = 1.0
 margin_left = 10.0
 margin_top = 10.0
 margin_right = -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 )
 text = "Shoot:
 Attack:
 Stagger:
 Jump:
 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_bottom = 1.0
 margin_left = 10.0
 margin_top = 10.0
 margin_right = -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 )
 text = "R
 F
@@ -69,9 +38,4 @@ X
 Space
 Shift"
 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://debug/top_level_ui.gd" type="Script" id=3]
 
-
 [node name="Explanations" type="RichTextLabel"]
-
-anchor_left = 0.0
-anchor_top = 0.0
 anchor_right = 1.0
 anchor_bottom = 1.0
 margin_left = 10.0
 margin_top = -370.0
 margin_right = -10.0
 margin_bottom = -730.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/bold_font = ExtResource( 1 )
 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.
 
 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. 
 
 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.
 
 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 )
-_sections_unfolded = [ "BBCode", "custom_fonts" ]
 __meta__ = {
 "_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://fonts/SourceCodePro-Bold.ttf" type="DynamicFontData" id=2]
 
-
 [sub_resource type="DynamicFont" id=1]
-
 size = 20
-use_mipmaps = false
 use_filter = true
 font_data = ExtResource( 2 )
-_sections_unfolded = [ "Font", "Settings" ]
 
 [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_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 )
 __meta__ = {
 "_edit_group_": true
 }
 
-[node name="Title" type="Label" parent="." index="0"]
-
+[node name="Title" type="Label" parent="."]
 anchor_left = 0.5
-anchor_top = 0.0
 anchor_right = 0.5
-anchor_bottom = 0.0
 margin_left = -105.0
 margin_right = 105.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 )
 text = "Pushown"
 align = 1
 valign = 1
 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_top = 50.0
 margin_right = 190.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 )
 text = "Jump
 Test"
 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_top = 50.0
 margin_right = 190.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 )
 text = "1.
 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]
 
 [sub_resource type="ProceduralSky" id=1]
-
-radiance_size = 4
 sky_top_color = Color( 0.0470588, 0.454902, 0.976471, 1 )
 sky_horizon_color = Color( 0.556863, 0.823529, 0.909804, 1 )
 sky_curve = 0.25
-sky_energy = 1.0
 ground_bottom_color = Color( 0.101961, 0.145098, 0.188235, 1 )
 ground_horizon_color = Color( 0.482353, 0.788235, 0.952941, 1 )
 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]
-
 background_mode = 2
 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]
 
-length = 1.0
-loop = false
-step = 0.1
-
 [sub_resource type="Animation" id=2]
-
 length = 0.6
-loop = false
-step = 0.1
 tracks/0/type = "value"
 tracks/0/path = NodePath("BodyPivot/Body:modulate")
 tracks/0/interp = 1
@@ -42,159 +35,91 @@ tracks/0/keys = {
 
 [sub_resource type="Animation" id=3]
 
-length = 1.0
-loop = false
-step = 0.1
-
 [sub_resource type="DynamicFont" id=4]
-
 size = 20
-use_mipmaps = false
 use_filter = true
 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 )
-input_pickable = false
-collision_layer = 1
-collision_mask = 1
-collision/safe_margin = 0.08
 script = ExtResource( 1 )
-_sections_unfolded = [ "Visibility" ]
 __meta__ = {
 "_edit_horizontal_guides_": [  ]
 }
 
-[node name="StateMachine" type="Node" parent="." index="0"]
-
+[node name="StateMachine" type="Node" parent="."]
 script = ExtResource( 2 )
 START_STATE = NodePath("Idle")
 
-[node name="Idle" type="Node" parent="StateMachine" index="0"]
-
+[node name="Idle" type="Node" parent="StateMachine"]
 script = ExtResource( 3 )
 
-[node name="Move" type="Node" parent="StateMachine" index="1"]
-
+[node name="Move" type="Node" parent="StateMachine"]
 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 )
-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 )
 
-[node name="Attack" type="Node" parent="StateMachine" index="4"]
-
+[node name="Attack" type="Node" parent="StateMachine"]
 script = ExtResource( 7 )
 
-[node name="Die" type="Node" parent="StateMachine" index="5"]
-
+[node name="Die" type="Node" parent="StateMachine"]
 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/stagger = SubResource( 2 )
 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 )
 position = Vector2( 0, -4 )
 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 )
 texture = ExtResource( 10 )
 
-[node name="BulletSpawn" type="Node2D" parent="BodyPivot" index="1"]
-
+[node name="BulletSpawn" type="Node2D" parent="BodyPivot"]
 editor/display_folded = true
 position = Vector2( 1.17401, -61.266 )
 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
 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 )
 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 )
 
-[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 )
 
-[node name="StateNameDisplayer" type="Label" parent="." index="5"]
-
+[node name="StateNameDisplayer" type="Label" parent="."]
 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_top = -172.0
 margin_right = 110.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 )
 text = "Test"
 align = 1
 valign = 1
 uppercase = true
-percent_visible = 1.0
-lines_skipped = 0
-max_lines_visible = -1
 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="StateNameDisplayer" method="_on_StateMachine_state_changed"]
-
 [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"]
-
-

+ 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]
 
-
 [sub_resource type="CircleShape2D" id=1]
-
-custom_solver_bias = 0.0
 radius = 12.0
 
 [node name="Bullet" type="KinematicBody2D"]
-
-input_pickable = false
 collision_layer = 2
 collision_mask = 2
-collision/safe_margin = 0.08
 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 )
 
-

+ 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]
 
 [sub_resource type="Animation" id=1]
-
 resource_name = "SETUP"
-length = 1.0
-loop = false
-step = 0.1
 tracks/0/type = "value"
 tracks/0/path = NodePath(".:rotation_degrees")
 tracks/0/interp = 1
@@ -71,10 +67,8 @@ tracks/4/keys = {
 }
 
 [sub_resource type="Animation" id=2]
-
 resource_name = "attack_circular"
 length = 0.3
-loop = false
 step = 0.05
 tracks/0/type = "value"
 tracks/0/path = NodePath(".:rotation_degrees")
@@ -114,9 +108,7 @@ tracks/2/keys = {
 }
 
 [sub_resource type="Animation" id=3]
-
 length = 0.45
-loop = false
 step = 0.05
 tracks/0/type = "value"
 tracks/0/path = NodePath(".:rotation_degrees")
@@ -173,10 +165,8 @@ tracks/3/keys = {
 }
 
 [sub_resource type="Animation" id=4]
-
 resource_name = "attack_medium"
 length = 0.5
-loop = false
 step = 0.05
 tracks/0/type = "value"
 tracks/0/path = NodePath(".:rotation_degrees")
@@ -216,10 +206,7 @@ tracks/2/keys = {
 }
 
 [sub_resource type="Animation" id=5]
-
 length = 0.01
-loop = false
-step = 0.1
 tracks/0/type = "value"
 tracks/0/path = NodePath(".:visible")
 tracks/0/interp = 1
@@ -234,45 +221,24 @@ tracks/0/keys = {
 }
 
 [node name="Sword" type="Area2D"]
-
 input_pickable = false
-gravity_vec = Vector2( 0, 1 )
-gravity = 98.0
-linear_damp = 0.1
-angular_damp = 1.0
 monitorable = false
 collision_layer = 16
 collision_mask = 3
-audio_bus_override = false
-audio_bus_name = "Master"
 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/attack_circular = SubResource( 2 )
 anims/attack_fast = SubResource( 3 )
 anims/attack_medium = SubResource( 4 )
 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 )
 texture = ExtResource( 2 )
 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 )
 
-

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

@@ -6,7 +6,12 @@
 ;   [section] ; section goes between []
 ;   param=value ; assign values to parameters
 
-config_version=3
+config_version=4
+
+_global_script_classes=[  ]
+_global_script_class_icons={
+
+}
 
 [application]
 
@@ -29,35 +34,62 @@ singletons=[  ]
 
 [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(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(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(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(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)
  ]
-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)
  ]
-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)
  ]
-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]
 

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]
 
 [sub_resource type="ProceduralSky" id=1]
-
-radiance_size = 4
 sky_top_color = Color( 0.0470588, 0.454902, 0.976471, 1 )
 sky_horizon_color = Color( 0.556863, 0.823529, 0.909804, 1 )
 sky_curve = 0.25
-sky_energy = 1.0
 ground_bottom_color = Color( 0.101961, 0.145098, 0.188235, 1 )
 ground_horizon_color = Color( 0.482353, 0.788235, 0.952941, 1 )
 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]
-
 background_mode = 2
 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
 
-enum CELL_TYPES { EMPTY = -1, ACTOR, OBSTACLE, OBJECT}
+enum CellType { EMPTY = -1, ACTOR, OBSTACLE, OBJECT}
 
 func _ready():
 	for child in get_children():
@@ -19,18 +19,18 @@ func request_move(pawn, direction):
 	
 	var cell_target_type = get_cellv(cell_target)
 	match cell_target_type:
-		EMPTY:
+		CellType.EMPTY:
 			return update_pawn_position(pawn, cell_start, cell_target)
-		OBJECT:
+		CellType.OBJECT:
 			var object_pawn = get_cell_pawn(cell_target)
 			object_pawn.queue_free()
 			return update_pawn_position(pawn, cell_start, cell_target)
-		ACTOR:
+		CellType.ACTOR:
 			var pawn_name = get_cell_pawn(cell_target).name
 			print("Cell %s contains %s" % [cell_target, pawn_name])
 
 
 func update_pawn_position(pawn, cell_start, cell_target):
 	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

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

@@ -7,16 +7,14 @@ path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"
 [deps]
 
 source_file="res://icon.png"
-source_md5="3280104cdf8f7a9be38f70f9ff95cf50"
-
 dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ]
-dest_md5="df9a76b96b1fde8b55778a269d647ca3"
 
 [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
@@ -26,6 +24,7 @@ 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

+ 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]
 
 [sub_resource type="Animation" id=1]
-
 resource_name = "bump"
 length = 0.1
-loop = false
 step = 0.01
 tracks/0/type = "value"
 tracks/0/path = NodePath("Pivot/Sprite:position")
@@ -23,10 +21,8 @@ tracks/0/keys = {
 }
 
 [sub_resource type="Animation" id=2]
-
 resource_name = "walk"
 length = 0.25
-loop = false
 step = 0.05
 tracks/0/type = "value"
 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 ) ]
 }
 
-[node name="Actor" type="Node2D" index="0"]
-
+[node name="Actor" type="Node2D"]
 position = Vector2( 32, 32 )
 z_index = 1
 script = ExtResource( 1 )
-_sections_unfolded = [ "Offset", "Transform", "Z Index" ]
 __meta__ = {
 "_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/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 )
 texture = ExtResource( 2 )
 centered = false
 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))
 
 
-func _process(delta):
+func _process(_delta):
 	var input_direction = get_input_direction()
 	if not input_direction:
 		return

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

@@ -1,4 +1,4 @@
 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]
 
 source_file="res://pawns/sprites/character.png"
-source_md5="03a1bf4fdd91e5a89e323e1a956b8b2e"
-
 dest_files=[ "res://.import/character.png-98ed16816c5b464731c4fa68fe5b8613.stex" ]
-dest_md5="dc0e808a19cb41bd3e4b8af9a1a2878e"
 
 [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
@@ -26,6 +24,7 @@ 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

+ 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]
 
 source_file="res://pawns/sprites/character_grey.png"
-source_md5="b2fc93bb6418bd5a1aeb9d4b23281b7d"
-
 dest_files=[ "res://.import/character_grey.png-a95d64c2e947e85f04dd1c6474e46965.stex" ]
-dest_md5="119083c34b0b039b9f6742e1aa84bcd1"
 
 [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
@@ -26,6 +24,7 @@ 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

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

@@ -7,16 +7,14 @@ path="res://.import/star.png-4f164f82cf41ace82182660f1be8e68d.stex"
 [deps]
 
 source_file="res://pawns/sprites/star.png"
-source_md5="c9eed33ac490155814b63a96281718bc"
-
 dest_files=[ "res://.import/star.png-4f164f82cf41ace82182660f1be8e68d.stex" ]
-dest_md5="b5e67be995733c89f151fdfd57ade882"
 
 [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
@@ -26,6 +24,7 @@ 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

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

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

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

@@ -6,22 +6,15 @@
 
 [node name="Node2D" type="Node2D"]
 
-[node name="Actor" type="Sprite" parent="." index="0"]
-
+[node name="Actor" type="Sprite" parent="."]
 position = Vector2( 32, 32 )
 texture = ExtResource( 1 )
-_sections_unfolded = [ "Visibility" ]
-
-[node name="Obstacle" type="Sprite" parent="." index="1"]
 
+[node name="Obstacle" type="Sprite" parent="."]
 position = Vector2( 96, 32 )
 texture = ExtResource( 2 )
-_sections_unfolded = [ "Visibility" ]
-
-[node name="Object" type="Sprite" parent="." index="2"]
 
+[node name="Object" type="Sprite" parent="."]
 position = Vector2( 160, 32 )
 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]
 
 source_file="res://tilesets/grid/actor.png"
-source_md5="1a3d788099e6d0431c41627de71ee5f9"
-
 dest_files=[ "res://.import/actor.png-6a88af8a7bcb079732153877dfb0db8b.stex" ]
-dest_md5="ca104a9f5ec006ce67b9996d27f4efa2"
 
 [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
@@ -26,6 +24,7 @@ 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

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

@@ -7,16 +7,14 @@ path="res://.import/object.png-3e89ebfb3424e8759914732b2b0130c1.stex"
 [deps]
 
 source_file="res://tilesets/grid/object.png"
-source_md5="53b421d6eb9175f4b3900f7d48ad814e"
-
 dest_files=[ "res://.import/object.png-3e89ebfb3424e8759914732b2b0130c1.stex" ]
-dest_md5="1351b2d127dc461bda55bfde616cbdd6"
 
 [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
@@ -26,6 +24,7 @@ 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

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

@@ -7,16 +7,14 @@ path="res://.import/obstacle.png-9f01dd1d06d7b99515918b65b46bd6c1.stex"
 [deps]
 
 source_file="res://tilesets/grid/obstacle.png"
-source_md5="49a4f8eb121c949de35502481ec7e96a"
-
 dest_files=[ "res://.import/obstacle.png-9f01dd1d06d7b99515918b65b46bd6c1.stex" ]
-dest_md5="432d869b849ac70d4f76935622b2e37b"
 
 [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
@@ -26,6 +24,7 @@ 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

+ 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]
 
-[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 )
 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]
 
 source_file="res://tilesets/grid_lines/grid_lines.png"
-source_md5="9c6f3c1506ccfc666a4988a3b9655b1c"
-
 dest_files=[ "res://.import/grid_lines.png-beef853b47aa830c8383e5f6cc4d03ce.stex" ]
-dest_md5="411604865dd58a1618832442af953934"
 
 [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
@@ -26,6 +24,7 @@ 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

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

@@ -5,122 +5,43 @@
 [ext_resource path="res://ocean_cave.png" type="Texture" id=3]
 
 [sub_resource type="Environment" id=1]
-
 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
-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_scale = 0.51
-auto_exposure_min_luma = 0.05
-auto_exposure_max_luma = 8.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_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_levels/1 = false
-glow_levels/2 = false
 glow_levels/3 = false
 glow_levels/4 = true
-glow_levels/5 = true
-glow_levels/6 = false
 glow_levels/7 = true
-glow_intensity = 0.8
 glow_strength = 0.88
-glow_bloom = 0.0
 glow_blend_mode = 0
-glow_hdr_threshold = 1.0
-glow_hdr_scale = 2.0
 glow_bicubic_upscale = true
-adjustment_enabled = false
-adjustment_brightness = 1.0
-adjustment_contrast = 1.0
-adjustment_saturation = 1.0
 
 [node name="hdr" type="Node2D"]
-
 script = ExtResource( 1 )
 
 [node name="beach" type="Sprite" parent="."]
-
 modulate = Color( 2, 2, 2, 1 )
 self_modulate = Color( 2, 2, 2, 1 )
 texture = ExtResource( 2 )
 centered = false
 
 [node name="cave" type="Sprite" parent="."]
-
 self_modulate = Color( 0.233166, 0.221219, 0.23582, 1 )
 scale = Vector2( 1.2, 1 )
 texture = ExtResource( 3 )
 centered = false
 
 [node name="environment" type="WorldEnvironment" parent="."]
-
 environment = SubResource( 1 )
 
 [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_bottom = 13.0
-rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
-mouse_filter = 2
 size_flags_horizontal = 2
 size_flags_vertical = 0
 custom_colors/font_color = Color( 0.213955, 0.205626, 0.20313, 1 )
 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]
 
 source_file="res://icon.png"
-source_md5="63a944507088a2392d7d6870fc91dc51"
-
 dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ]
-dest_md5="79b94abe93da2df9d5e610a249860b02"
 
 [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
@@ -26,6 +24,7 @@ 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

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

@@ -7,16 +7,14 @@ path="res://.import/ocean_beach.png-b571ab5468cc775a520aaa47efbed607.stex"
 [deps]
 
 source_file="res://ocean_beach.png"
-source_md5="fdfc24e858f07a1ac31c82fd8f357c3a"
-
 dest_files=[ "res://.import/ocean_beach.png-b571ab5468cc775a520aaa47efbed607.stex" ]
-dest_md5="3ae80bb89ba8c0cd67fa2402bb80f230"
 
 [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
@@ -26,6 +24,7 @@ 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

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

@@ -7,16 +7,14 @@ path="res://.import/ocean_cave.png-2a86f381e3092b4cb698b627d778e19b.stex"
 [deps]
 
 source_file="res://ocean_cave.png"
-source_md5="acabe48e11037e9929f2d5aade9419a4"
-
 dest_files=[ "res://.import/ocean_cave.png-2a86f381e3092b4cb698b627d778e19b.stex" ]
-dest_md5="0f5fe12eb87a48058850e3c6c5c9a347"
 
 [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
@@ -26,6 +24,7 @@ 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

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

@@ -6,7 +6,12 @@
 ;   [section] ; section goes between []
 ;   param=value ; assign values to parameters
 
-config_version=3
+config_version=4
+
+_global_script_classes=[  ]
+_global_script_class_icons={
+
+}
 
 [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 []
 ;   param=value ; assign values to parameters
 
-config_version=3
+config_version=4
+
+_global_script_classes=[  ]
+_global_script_class_icons={
+
+}
 
 [application]
 
@@ -21,11 +26,23 @@ singletons=[  ]
 
 [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="Tile 1" type="Sprite" parent="."]
-
 texture = ExtResource( 1 )
 centered = false
 
 [node name="Tile 2" type="Sprite" parent="."]
-
 position = Vector2( 128, 0 )
 texture = ExtResource( 2 )
 centered = false
 
 [node name="Tile 3" type="Sprite" parent="."]
-
 position = Vector2( 256, 0 )
 texture = ExtResource( 3 )
 centered = false
 
 [node name="Tile 4" type="Sprite" parent="."]
-
 position = Vector2( 384, 0 )
 texture = ExtResource( 4 )
 centered = false
 
 [node name="Tile 5" type="Sprite" parent="."]
-
 position = Vector2( 512, 0 )
 texture = ExtResource( 5 )
 centered = false
 
 [node name="Tile 6" type="Sprite" parent="."]
-
 position = Vector2( 640, 0 )
 texture = ExtResource( 6 )
 centered = false
 
 [node name="Tile 7" type="Sprite" parent="."]
-
 position = Vector2( 768, 0 )
 texture = ExtResource( 7 )
 centered = false
 
 [node name="Tile 8" type="Sprite" parent="."]
-
 position = Vector2( 896, 0 )
 texture = ExtResource( 8 )
 centered = false
 
 [node name="Tile 9" type="Sprite" parent="."]
-
 position = Vector2( 1024, 0 )
 texture = ExtResource( 9 )
 centered = false
 
 [node name="Tile 10" type="Sprite" parent="."]
-
 position = Vector2( 0, 128 )
 texture = ExtResource( 10 )
 centered = false
 
 [node name="Tile 11" type="Sprite" parent="."]
-
 position = Vector2( 128, 128 )
 texture = ExtResource( 11 )
 centered = false
 
 [node name="Tile 12" type="Sprite" parent="."]
-
 position = Vector2( 256, 128 )
 texture = ExtResource( 12 )
 centered = false
 
 [node name="Tile 13" type="Sprite" parent="."]
-
 position = Vector2( 384, 128 )
 texture = ExtResource( 13 )
 centered = false
 
 [node name="Tile 14" type="Sprite" parent="."]
-
 position = Vector2( 512, 128 )
 texture = ExtResource( 14 )
 centered = false
 
 [node name="Tile 15" type="Sprite" parent="."]
-
 position = Vector2( 640, 128 )
 texture = ExtResource( 15 )
 centered = false
 
 [node name="Tile 16" type="Sprite" parent="."]
-
 position = Vector2( 768, 128 )
 texture = ExtResource( 16 )
 centered = false
 
 [node name="Tile 17" type="Sprite" parent="."]
-
 position = Vector2( 896, 128 )
 texture = ExtResource( 17 )
 centered = false
 
 [node name="Tile 18" type="Sprite" parent="."]
-
 position = Vector2( 1024, 128 )
 texture = ExtResource( 18 )
 centered = false
 
 [node name="Tile 19" type="Sprite" parent="."]
-
 position = Vector2( 0, 256 )
 texture = ExtResource( 19 )
 centered = false
 
 [node name="Tile 20" type="Sprite" parent="."]
-
 position = Vector2( 128, 256 )
 texture = ExtResource( 20 )
 centered = false
 
 [node name="Tile 21" type="Sprite" parent="."]
-
 position = Vector2( 256, 256 )
 texture = ExtResource( 21 )
 centered = false
 
 [node name="Tile 22" type="Sprite" parent="."]
-
 position = Vector2( 384, 256 )
 texture = ExtResource( 22 )
 centered = false
 
 [node name="Tile 23" type="Sprite" parent="."]
-
 position = Vector2( 512, 256 )
 texture = ExtResource( 23 )
 centered = false
 
 [node name="Tile 24" type="Sprite" parent="."]
-
 position = Vector2( 640, 256 )
 texture = ExtResource( 24 )
 centered = false
 
 [node name="Tile 25" type="Sprite" parent="."]
-
 position = Vector2( 768, 256 )
 texture = ExtResource( 25 )
 centered = false
 
 [node name="Tile 26" type="Sprite" parent="."]
-
 position = Vector2( 896, 256 )
 texture = ExtResource( 26 )
 centered = false
 
-

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

@@ -7,7 +7,7 @@ extends KinematicBody2D
 const MOTION_SPEED = 160 # Pixels/second
 
 
-func _physics_process(delta):
+func _physics_process(_delta):
 	var motion = Vector2()
 	
 	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]
 
 [sub_resource type="CircleShape2D" id=1]
-
-custom_solver_bias = 0.0
 radius = 16.0
 
 [node name="troll" type="KinematicBody2D"]
-
-input_pickable = false
-collision_layer = 1
-collision_mask = 1
-collision/safe_margin = 0.08
 script = ExtResource( 1 )
 
 [node name="Sprite" type="Sprite" parent="."]
-
 texture = ExtResource( 2 )
 
 [node name="CollisionShape2D" type="CollisionShape2D" parent="."]
-
 position = Vector2( 3.24216, 19.453 )
 shape = SubResource( 1 )
 
 [node name="Camera2D" type="Camera2D" parent="."]
-
-anchor_mode = 1
-rotating = false
 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://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
 tile_set = ExtResource( 1 )
 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_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
 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
 tile_set = ExtResource( 1 )
 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_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
 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 )
 
-

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

@@ -6,7 +6,12 @@
 ;   [section] ; section goes between []
 ;   param=value ; assign values to parameters
 
-config_version=3
+config_version=4
+
+_global_script_classes=[  ]
+_global_script_class_icons={
+
+}
 
 [application]
 
@@ -25,14 +30,26 @@ gen_mipmaps=false
 
 [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]
 

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

@@ -4,102 +4,58 @@
 
 [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 )
 texture = ExtResource( 1 )
 centered = false
 offset = Vector2( -66, -42 )
 region_enabled = true
 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 )
 texture = ExtResource( 1 )
 centered = false
 offset = Vector2( -66, -42 )
 region_enabled = true
 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 )
 texture = ExtResource( 1 )
 centered = false
 offset = Vector2( -69.3109, -99.8051 )
 region_enabled = true
 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 )
 
-[node name="column" type="Sprite" parent="." index="3"]
-
+[node name="column" type="Sprite" parent="."]
 position = Vector2( 359.563, 266.446 )
 texture = ExtResource( 1 )
 centered = false
 offset = Vector2( -69.5632, -100.446 )
 region_enabled = true
 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 )
 
-[node name="door1" type="Sprite" parent="." index="4"]
-
+[node name="door1" type="Sprite" parent="."]
 position = Vector2( -24.1548, 142.216 )
 texture = ExtResource( 1 )
 centered = false
 offset = Vector2( -50.3623, -90.8164 )
 region_enabled = true
 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 )
 
-

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

@@ -7,7 +7,7 @@ extends KinematicBody2D
 const MOTION_SPEED = 160 # Pixels/second
 
 
-func _physics_process(delta):
+func _physics_process(_delta):
 	var motion = Vector2()
 	
 	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]
 
 [sub_resource type="CircleShape2D" id=1]
-
-custom_solver_bias = 0.0
 radius = 16.0
 
 [node name="troll" type="KinematicBody2D"]
-
-input_pickable = false
-collision_layer = 1
-collision_mask = 1
-collision/safe_margin = 0.08
 script = ExtResource( 1 )
 
 [node name="Sprite" type="Sprite" parent="."]
-
 position = Vector2( -3.94334, -36.924 )
 texture = ExtResource( 2 )
 
 [node name="CollisionShape2D" type="CollisionShape2D" parent="."]
-
 position = Vector2( -0.342697, -0.980721 )
 shape = SubResource( 1 )
 
 [node name="Camera2D" type="Camera2D" parent="."]
-
-anchor_mode = 1
-rotating = false
 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]
 
 [sub_resource type="RectangleShape2D" id=1]
-
-custom_solver_bias = 0.0
 extents = Vector2( 7, 7 )
 
 [node name="player" type="KinematicBody2D"]
-
-input_pickable = false
-collision_layer = 1
-collision_mask = 1
-collision/safe_margin = 0.08
 script = ExtResource( 1 )
 
 [node name="sprite" type="Sprite" parent="."]
-
 texture = ExtResource( 2 )
 
 [node name="CollisionShape2D" type="CollisionShape2D" parent="."]
-
 position = Vector2( -0.315559, 0.157784 )
 shape = SubResource( 1 )
 
-

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

@@ -6,7 +6,12 @@
 ;   [section] ; section goes between []
 ;   param=value ; assign values to parameters
 
-config_version=3
+config_version=4
+
+_global_script_classes=[  ]
+_global_script_class_icons={
+
+}
 
 [application]
 
@@ -27,16 +32,31 @@ singletons=[  ]
 
 [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]
 

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]
 
 source_file="res://icon.png"
-source_md5="49c0855bb2f599fd216190fb14eac778"
-
 dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ]
-dest_md5="ef5bb91cdcf00e1ad730573fc7704640"
 
 [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
@@ -26,6 +24,7 @@ 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

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

@@ -7,16 +7,14 @@ path="res://.import/obstacle.png-dfb3e99d3af573251007cdf5e1c252b9.stex"
 [deps]
 
 source_file="res://obstacle.png"
-source_md5="593e6d05e3859ff3e39eddb0bcad093b"
-
 dest_files=[ "res://.import/obstacle.png-dfb3e99d3af573251007cdf5e1c252b9.stex" ]
-dest_md5="ad71f3bc8585c641906a5ff5124ac2e6"
 
 [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
@@ -26,6 +24,7 @@ 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

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

@@ -7,7 +7,7 @@ extends KinematicBody2D
 const MOTION_SPEED = 160 # Pixels/second
 
 
-func _physics_process(delta):
+func _physics_process(_delta):
 	var motion = Vector2()
 	
 	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]
 
 source_file="res://player.png"
-source_md5="540f7f0d3b239b1d8c349f4be4d2d253"
-
 dest_files=[ "res://.import/player.png-2dd0af52de4b213777cd8c9df94c0978.stex" ]
-dest_md5="4112e6a5c36d38d07edebbfbd416c9fa"
 
 [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
@@ -26,6 +24,7 @@ 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

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

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

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

@@ -6,7 +6,12 @@
 ;   [section] ; section goes between []
 ;   param=value ; assign values to parameters
 
-config_version=3
+config_version=4
+
+_global_script_classes=[  ]
+_global_script_class_icons={
+
+}
 
 [application]
 
@@ -20,11 +25,23 @@ singletons=[  ]
 
 [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]
 
 source_file="res://burano.png"
-source_md5="56e0dd7f3166567cd3732be2b3d969d7"
-
 dest_files=[ "res://.import/burano.png-893cff79ccbe972d7b1ad3e1845f81bf.stex" ]
-dest_md5="c41d7eefd81a4a9b247056ecc6cecb53"
 
 [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
@@ -26,6 +24,7 @@ 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

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

@@ -7,16 +7,14 @@ path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"
 [deps]
 
 source_file="res://icon.png"
-source_md5="0f5dab3f02c95e5a3b2df77bff0389d5"
-
 dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ]
-dest_md5="8060b8a927328cda642bc470301ec76d"
 
 [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
@@ -26,6 +24,7 @@ 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

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

@@ -4,21 +4,17 @@
 [ext_resource path="res://splat.png" type="Texture" id=2]
 
 [sub_resource type="CanvasItemMaterial" id=1]
-
-render_priority = 0
-blend_mode = 0
 light_mode = 2
 
 [sub_resource type="Animation" id=2]
-
 length = 4.0
 loop = true
-step = 0.1
 tracks/0/type = "value"
 tracks/0/path = NodePath("light1:position")
 tracks/0/interp = 1
 tracks/0/loop_wrap = true
 tracks/0/imported = false
+tracks/0/enabled = true
 tracks/0/keys = {
 "times": PoolRealArray( 0, 1, 2, 3 ),
 "transitions": PoolRealArray( -2, -2, -2, -2 ),
@@ -30,6 +26,7 @@ tracks/1/path = NodePath("light2:position")
 tracks/1/interp = 1
 tracks/1/loop_wrap = true
 tracks/1/imported = false
+tracks/1/enabled = true
 tracks/1/keys = {
 "times": PoolRealArray( 0, 1, 2, 3 ),
 "transitions": PoolRealArray( -2, -2, -2, -2 ),
@@ -41,6 +38,7 @@ tracks/2/path = NodePath("light3:position")
 tracks/2/interp = 1
 tracks/2/loop_wrap = true
 tracks/2/imported = false
+tracks/2/enabled = true
 tracks/2/keys = {
 "times": PoolRealArray( 0, 1, 2, 3 ),
 "transitions": PoolRealArray( -2, -2, -2, -2 ),
@@ -49,118 +47,35 @@ tracks/2/keys = {
 }
 
 [node name="lightmask_demo" type="Control"]
-
-anchor_left = 0.0
-anchor_top = 0.0
 anchor_right = 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_vertical = 2
 
 [node name="burano" type="TextureRect" parent="."]
-
 material = SubResource( 1 )
-anchor_left = 0.0
-anchor_top = 0.0
-anchor_right = 0.0
-anchor_bottom = 0.0
 margin_right = 800.0
 margin_bottom = 600.0
-rect_pivot_offset = Vector2( 0, 0 )
-rect_clip_content = false
-mouse_filter = 1
 size_flags_horizontal = 2
 size_flags_vertical = 2
 texture = ExtResource( 1 )
-stretch_mode = 0
 
 [node name="light1" type="Light2D" parent="."]
-
 position = Vector2( 601.028, 242.639 )
-enabled = true
-editor_only = false
 texture = ExtResource( 2 )
-offset = Vector2( 0, 0 )
-texture_scale = 1.0
-color = Color( 1, 1, 1, 1 )
-energy = 1.0
 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="."]
-
 position = Vector2( 196.528, 185.139 )
-enabled = true
-editor_only = false
 texture = ExtResource( 2 )
-offset = Vector2( 0, 0 )
-texture_scale = 1.0
-color = Color( 1, 1, 1, 1 )
-energy = 1.0
 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="."]
-
 position = Vector2( 442.528, 411.139 )
-enabled = true
-editor_only = false
 texture = ExtResource( 2 )
-offset = Vector2( 0, 0 )
-texture_scale = 1.0
-color = Color( 1, 1, 1, 1 )
-energy = 1.0
 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="."]
-
-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"
-
+anims/maskmotion = SubResource( 2 )
 

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

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

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

@@ -7,16 +7,14 @@ path="res://.import/splat.png-a41a35966004eec2e8a20d517d1ec4bb.stex"
 [deps]
 
 source_file="res://splat.png"
-source_md5="2ac066f1b78091c74d758bb6afafff98"
-
 dest_files=[ "res://.import/splat.png-a41a35966004eec2e8a20d517d1ec4bb.stex" ]
-dest_md5="b136a1944158048a2afca2127eb1393f"
 
 [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
@@ -26,6 +24,7 @@ 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

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

@@ -6,27 +6,20 @@
 [ext_resource path="res://spot.png" type="Texture" id=4]
 
 [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 )
 
 [sub_resource type="CanvasItemMaterial" id=2]
-
-render_priority = 0
 blend_mode = 1
-light_mode = 0
 
 [sub_resource type="Animation" id=3]
-
 length = 16.0
 loop = true
-step = 0.1
 tracks/0/type = "value"
 tracks/0/path = NodePath(".:position")
 tracks/0/interp = 1
 tracks/0/loop_wrap = true
 tracks/0/imported = false
+tracks/0/enabled = true
 tracks/0/keys = {
 "times": PoolRealArray( 0, 4, 8, 12 ),
 "transitions": PoolRealArray( -2, -2, -2, -2 ),
@@ -35,15 +28,14 @@ tracks/0/keys = {
 }
 
 [sub_resource type="Animation" id=4]
-
 length = 16.0
 loop = true
-step = 0.1
 tracks/0/type = "value"
 tracks/0/path = NodePath(".:position")
 tracks/0/interp = 1
 tracks/0/loop_wrap = true
 tracks/0/imported = false
+tracks/0/enabled = true
 tracks/0/keys = {
 "times": PoolRealArray( 0, 4.1, 8.1, 11.8 ),
 "transitions": PoolRealArray( -2, -2, -2, -2 ),
@@ -52,27 +44,20 @@ tracks/0/keys = {
 }
 
 [sub_resource type="CanvasItemMaterial" id=5]
-
-render_priority = 0
 blend_mode = 1
-light_mode = 0
 
 [sub_resource type="CanvasItemMaterial" id=6]
-
-render_priority = 0
 blend_mode = 1
-light_mode = 0
 
 [sub_resource type="Animation" id=7]
-
 length = 16.0
 loop = true
-step = 0.1
 tracks/0/type = "value"
 tracks/0/path = NodePath(".:position")
 tracks/0/interp = 1
 tracks/0/loop_wrap = true
 tracks/0/imported = false
+tracks/0/enabled = true
 tracks/0/keys = {
 "times": PoolRealArray( 0, 4.1, 7.9, 12.1 ),
 "transitions": PoolRealArray( -2, -2, -2, -2 ),
@@ -83,11 +68,9 @@ tracks/0/keys = {
 [node name="base" type="Node2D"]
 
 [node name="ambient" type="CanvasModulate" parent="."]
-
 color = Color( 0.27451, 0.27451, 0.27451, 1 )
 
 [node name="bg" type="Sprite" parent="."]
-
 position = Vector2( 401.251, 301.906 )
 scale = Vector2( 6.39454, 4.82665 )
 texture = ExtResource( 1 )
@@ -95,280 +78,162 @@ texture = ExtResource( 1 )
 [node name="casters" type="Node2D" parent="."]
 
 [node name="shadow_caster" type="Sprite" parent="casters"]
-
 position = Vector2( 95.2909, 85.3186 )
 texture = ExtResource( 2 )
 
 [node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster"]
-
 occluder = SubResource( 1 )
-light_mask = 1
 
 [node name="shadow_caster1" type="Sprite" parent="casters"]
-
 position = Vector2( 200.291, 313.319 )
 texture = ExtResource( 2 )
 
 [node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster1"]
-
 occluder = SubResource( 1 )
-light_mask = 1
 
 [node name="shadow_caster2" type="Sprite" parent="casters"]
-
 position = Vector2( 76.2909, 405.319 )
 texture = ExtResource( 2 )
 
 [node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster2"]
-
 occluder = SubResource( 1 )
-light_mask = 1
 
 [node name="shadow_caster3" type="Sprite" parent="casters"]
-
 position = Vector2( 348.291, 206.319 )
 texture = ExtResource( 2 )
 
 [node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster3"]
-
 occluder = SubResource( 1 )
-light_mask = 1
 
 [node name="shadow_caster4" type="Sprite" parent="casters"]
-
 position = Vector2( 239.291, 48.3186 )
 texture = ExtResource( 2 )
 
 [node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster4"]
-
 occluder = SubResource( 1 )
-light_mask = 1
 
 [node name="shadow_caster5" type="Sprite" parent="casters"]
-
 position = Vector2( 140.291, 561.319 )
 texture = ExtResource( 2 )
 
 [node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster5"]
-
 occluder = SubResource( 1 )
-light_mask = 1
 
 [node name="shadow_caster6" type="Sprite" parent="casters"]
-
 position = Vector2( 392.291, 499.319 )
 texture = ExtResource( 2 )
 
 [node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster6"]
-
 occluder = SubResource( 1 )
-light_mask = 1
 
 [node name="shadow_caster7" type="Sprite" parent="casters"]
-
 position = Vector2( 735.291, 552.319 )
 texture = ExtResource( 2 )
 
 [node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster7"]
-
 occluder = SubResource( 1 )
-light_mask = 1
 
 [node name="shadow_caster8" type="Sprite" parent="casters"]
-
 position = Vector2( 661.291, 371.319 )
 texture = ExtResource( 2 )
 
 [node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster8"]
-
 occluder = SubResource( 1 )
-light_mask = 1
 
 [node name="shadow_caster9" type="Sprite" parent="casters"]
-
 position = Vector2( 567.291, 574.319 )
 texture = ExtResource( 2 )
 
 [node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster9"]
-
 occluder = SubResource( 1 )
-light_mask = 1
 
 [node name="shadow_caster10" type="Sprite" parent="casters"]
-
 position = Vector2( 420.291, 350.319 )
 texture = ExtResource( 2 )
 
 [node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster10"]
-
 occluder = SubResource( 1 )
-light_mask = 1
 
 [node name="shadow_caster11" type="Sprite" parent="casters"]
-
 position = Vector2( 463.291, 106.319 )
 texture = ExtResource( 2 )
 
 [node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster11"]
-
 occluder = SubResource( 1 )
-light_mask = 1
 
 [node name="shadow_caster12" type="Sprite" parent="casters"]
-
 position = Vector2( 621.291, 78.3186 )
 texture = ExtResource( 2 )
 
 [node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster12"]
-
 occluder = SubResource( 1 )
-light_mask = 1
 
 [node name="shadow_caster13" type="Sprite" parent="casters"]
-
 position = Vector2( 761.291, 240.319 )
 texture = ExtResource( 2 )
 
 [node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster13"]
-
 occluder = SubResource( 1 )
-light_mask = 1
 
 [node name="shadow_caster14" type="Sprite" parent="casters"]
-
 position = Vector2( 771.291, 29.3186 )
 texture = ExtResource( 2 )
 
 [node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster14"]
-
 occluder = SubResource( 1 )
-light_mask = 1
 
 [node name="red_light" type="Light2D" parent="."]
-
 position = Vector2( 159.289, 452.441 )
-enabled = true
-editor_only = false
 texture = ExtResource( 3 )
-offset = Vector2( 0, 0 )
-texture_scale = 1.0
 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_color = Color( 0, 0, 0, 0 )
-shadow_buffer_size = 2048
 shadow_gradient_length = 1.3
 shadow_filter = 3
 shadow_filter_smooth = 11.1
-shadow_item_cull_mask = 1
 
 [node name="blob" type="Sprite" parent="red_light"]
-
 material = SubResource( 2 )
 texture = ExtResource( 4 )
 
 [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/motion2 = SubResource( 4 )
-playback/active = true
-playback/speed = 1.0
-blend_times = [  ]
-autoplay = "motion"
 
 [node name="green_light" type="Light2D" parent="."]
-
 position = Vector2( 753.756, 314.336 )
-enabled = true
-editor_only = false
 texture = ExtResource( 3 )
-offset = Vector2( 0, 0 )
-texture_scale = 1.0
 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_color = Color( 0, 0, 0, 0 )
-shadow_buffer_size = 2048
 shadow_gradient_length = 1.2
 shadow_filter = 3
 shadow_filter_smooth = 7.1
-shadow_item_cull_mask = 1
 
 [node name="blob" type="Sprite" parent="green_light"]
-
 material = SubResource( 5 )
 texture = ExtResource( 4 )
 
 [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/motion = SubResource( 3 )
-playback/active = true
-playback/speed = 1.0
-blend_times = [  ]
-autoplay = "m2"
 
 [node name="blue_light" type="Light2D" parent="."]
-
 position = Vector2( 692.078, 29.8849 )
-enabled = true
-editor_only = false
 texture = ExtResource( 3 )
-offset = Vector2( 0, 0 )
-texture_scale = 1.0
 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_color = Color( 0, 0, 0, 0 )
-shadow_buffer_size = 2048
 shadow_gradient_length = 1.4
 shadow_filter = 3
 shadow_filter_smooth = 5.3
-shadow_item_cull_mask = 1
 
 [node name="blob" type="Sprite" parent="blue_light"]
-
 material = SubResource( 6 )
 texture = ExtResource( 4 )
 
 [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/motion2 = SubResource( 4 )
 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 []
 ;   param=value ; assign values to parameters
 
-config_version=3
+config_version=4
+
+_global_script_classes=[  ]
+_global_script_class_icons={
+
+}
 
 [application]
 

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

@@ -7,16 +7,14 @@ path="res://.import/character.png-7a996d3b758d22c506b76a7c15391284.stex"
 [deps]
 
 source_file="res://character.png"
-source_md5="c7937b15f89b021d3c888c677b1e1677"
-
 dest_files=[ "res://.import/character.png-7a996d3b758d22c506b76a7c15391284.stex" ]
-dest_md5="fd0675f788288554927ef3a6c9686573"
 
 [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
@@ -26,6 +24,7 @@ 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

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

@@ -7,16 +7,14 @@ path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"
 [deps]
 
 source_file="res://icon.png"
-source_md5="19e03eec58b7d3b8a24db28867a39190"
-
 dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ]
-dest_md5="5110b1b86f59a6a195f89ab36ee328a6"
 
 [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
@@ -26,6 +24,7 @@ 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

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

@@ -5,31 +5,23 @@
 [ext_resource path="res://character.png" type="Texture" id=3]
 
 [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 )
 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 ) ]
 
-[node name="Navigation2D" type="Navigation2D" index="0"]
-
+[node name="Navigation2D" type="Navigation2D"]
 script = ExtResource( 1 )
-CHARACTER_SPEED = 400.0
-
-[node name="Navmesh" type="NavigationPolygonInstance" parent="." index="0"]
 
+[node name="Navmesh" type="NavigationPolygonInstance" parent="."]
 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 )
 texture = ExtResource( 2 )
 
-[node name="Character" type="Sprite" parent="." index="2"]
-
+[node name="Character" type="Sprite" parent="."]
 position = Vector2( 228.464, 132.594 )
 scale = Vector2( 0.5, 0.5 )
 texture = ExtResource( 3 )
 offset = Vector2( 0, -26 )
 
-

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

@@ -7,16 +7,14 @@ path="res://.import/map.png-9eea34967fae34f4388f4a32a16da936.stex"
 [deps]
 
 source_file="res://map.png"
-source_md5="e72fbffb80ea739cf373a488a6d0ab27"
-
 dest_files=[ "res://.import/map.png-9eea34967fae34f4388f4a32a16da936.stex" ]
-dest_md5="9b012237e342f634293969fed09b3966"
 
 [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
@@ -26,6 +24,7 @@ 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

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

@@ -29,7 +29,7 @@ func _process(delta):
 
 func move_along_path(distance):
 	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])
 		# the position to move to falls between two points
 		if distance <= distance_between_points and distance >= 0.0:

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

@@ -6,7 +6,12 @@
 ;   [section] ; section goes between []
 ;   param=value ; assign values to parameters
 
-config_version=3
+config_version=4
+
+_global_script_classes=[  ]
+_global_script_class_icons={
+
+}
 
 [application]
 
@@ -26,5 +31,8 @@ singletons=[  ]
 
 [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
 
 
-func _process(delta):
+func _process(_delta):
 	if not _state == STATES.FOLLOW:
 		return
 	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]
 
 [sub_resource type="ProceduralSky" id=1]
-
 sky_top_color = Color( 0.0470588, 0.454902, 0.976471, 1 )
 sky_horizon_color = Color( 0.556863, 0.823529, 0.909804, 1 )
 sky_curve = 0.25
@@ -10,7 +9,6 @@ ground_horizon_color = Color( 0.482353, 0.788235, 0.952941, 1 )
 ground_curve = 0.01
 
 [resource]
-
 background_mode = 2
 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_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 )
 texture = ExtResource( 1 )
 
-[node name="PathStart" type="Sprite" parent="." index="1"]
-
+[node name="PathStart" type="Sprite" parent="."]
 position = Vector2( 112, 32 )
 texture = ExtResource( 2 )
 
-[node name="PathEnd" type="Sprite" parent="." index="2"]
-
+[node name="PathEnd" type="Sprite" parent="."]
 position = Vector2( 192, 32 )
 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://smoke_particle.png" type="Texture" id=2]
 [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_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]
-
-render_priority = 0
 blend_mode = 1
-light_mode = 0
 
 [sub_resource type="Curve" id=2]
-
 min_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 ]
 
 [sub_resource type="CurveTexture" id=3]
-
-width = 2048
 curve = SubResource( 2 )
 
 [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 ]
 
 [sub_resource type="CurveTexture" id=5]
-
-width = 2048
 curve = SubResource( 4 )
 
 [sub_resource type="ParticlesMaterial" id=6]
-
-render_priority = 0
-trail_divisor = 1
 emission_shape = 1
 emission_sphere_radius = 8.0
-flag_align_y = false
-flag_rotate_y = false
 flag_disable_z = true
-spread = 45.0
-flatness = 0.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 )
 orbit_velocity = 0.0
 orbit_velocity_random = 0.0
 linear_accel = 50.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_random = 0.0
-angle = 0.0
-angle_random = 0.0
 scale = 0.8
 scale_random = 0.3
 scale_curve = SubResource( 5 )
 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]
-
-offsets = PoolRealArray( 0, 1 )
 colors = PoolColorArray( 1, 1, 1, 0.806627, 1, 1, 1, 0 )
 
 [sub_resource type="GradientTexture" id=8]
-
 gradient = SubResource( 7 )
-width = 2048
 
 [sub_resource type="ParticlesMaterial" id=9]
-
-render_priority = 0
-trail_divisor = 1
 emission_shape = 1
 emission_sphere_radius = 30.0
-flag_align_y = false
-flag_rotate_y = false
 flag_disable_z = true
-spread = 45.0
-flatness = 0.0
 gravity = Vector3( 0, 0, 0 )
 initial_velocity = 1.0
-initial_velocity_random = 0.0
 angular_velocity = 20.0
 angular_velocity_random = 1.0
 orbit_velocity = 0.0
 orbit_velocity_random = 0.0
-linear_accel = 0.0
-linear_accel_random = 0.0
 radial_accel = 50.0
-radial_accel_random = 0.0
-tangential_accel = 0.0
-tangential_accel_random = 0.0
 damping = 20.0
 damping_random = 0.2
 angle = 360.0
 angle_random = 1.0
-scale = 1.0
-scale_random = 0.0
 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]
-
-render_priority = 0
 blend_mode = 1
-light_mode = 0
 
 [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 )
 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]
-
 gradient = SubResource( 11 )
-width = 2048
 
 [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 ]
 
 [sub_resource type="CurveTexture" id=14]
-
-width = 2048
 curve = SubResource( 13 )
 
 [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 ]
 
 [sub_resource type="CurveTexture" id=16]
-
-width = 2048
 curve = SubResource( 15 )
 
 [sub_resource type="ParticlesMaterial" id=17]
-
-render_priority = 0
 trail_divisor = 32
 trail_size_modifier = SubResource( 16 )
 emission_shape = 1
 emission_sphere_radius = 4.0
-flag_align_y = false
-flag_rotate_y = false
 flag_disable_z = true
-spread = 45.0
-flatness = 0.0
 gravity = Vector3( 0, 0, 0 )
 initial_velocity = 1.0
-initial_velocity_random = 0.0
 angular_velocity = 100.0
-angular_velocity_random = 0.0
 orbit_velocity = 0.0
 orbit_velocity_random = 0.0
-linear_accel = 0.0
-linear_accel_random = 0.0
-radial_accel = 0.0
-radial_accel_random = 0.0
 tangential_accel = 100.0
-tangential_accel_random = 0.0
-damping = 0.0
-damping_random = 0.0
 angle = 360.0
 angle_random = 1.0
 scale = 3.0
-scale_random = 0.0
 scale_curve = SubResource( 14 )
 color_ramp = SubResource( 12 )
 hue_variation = 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]
-
-render_priority = 0
 blend_mode = 1
-light_mode = 0
 
 [sub_resource type="Gradient" id=19]
-
 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 )
 
 [sub_resource type="GradientTexture" id=20]
-
 gradient = SubResource( 19 )
-width = 2048
 
 [sub_resource type="Curve" id=21]
-
-min_value = 0.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 ]
 
 [sub_resource type="CurveTexture" id=22]
-
-width = 2048
 curve = SubResource( 21 )
 
 [sub_resource type="Curve" id=23]
-
-min_value = 0.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 ]
 
 [sub_resource type="CurveTexture" id=24]
-
-width = 2048
 curve = SubResource( 23 )
 
 [sub_resource type="ParticlesMaterial" id=25]
-
-render_priority = 0
-trail_divisor = 1
 emission_shape = 2
 emission_box_extents = Vector3( 10, 10, 40 )
-flag_align_y = false
 flag_rotate_y = true
 flag_disable_z = true
-spread = 45.0
-flatness = 0.0
 gravity = Vector3( 0, 0, 0 )
 initial_velocity = 1.0
-initial_velocity_random = 0.0
 angular_velocity = 26.0
-angular_velocity_random = 0.0
 orbit_velocity = 0.0
 orbit_velocity_random = 0.0
-linear_accel = 0.0
-linear_accel_random = 0.0
 radial_accel = 1.0
 radial_accel_random = 0.3
 radial_accel_curve = SubResource( 22 )
-tangential_accel = 0.0
-tangential_accel_random = 0.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 )
 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_point_texture = ExtResource( 4 )
 emission_point_count = 10554
-flag_align_y = false
-flag_rotate_y = false
 flag_disable_z = true
-spread = 45.0
-flatness = 0.0
 gravity = Vector3( 0, 0, 0 )
 initial_velocity = 1.0
-initial_velocity_random = 0.0
 angular_velocity = 1.47136e-43
-angular_velocity_random = 0.0
 orbit_velocity = 0.0
 orbit_velocity_random = 0.0
-linear_accel = 0.0
-linear_accel_random = 0.0
-radial_accel = 0.0
-radial_accel_random = 0.0
-tangential_accel = 0.0
-tangential_accel_random = 0.0
-damping = 0.0
-damping_random = 0.0
-angle = 0.0
-angle_random = 0.0
 scale = 0.5
 scale_random = 1.0
 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_point_texture = SubResource( 52 )
+emission_point_texture = ExtResource( 5 )
 emission_point_count = 1288
-flag_align_y = false
-flag_rotate_y = false
 flag_disable_z = true
-spread = 45.0
-flatness = 0.0
 gravity = Vector3( 0, 0, 0 )
 initial_velocity = 1.0
-initial_velocity_random = 0.0
 angular_velocity = 1.47136e-43
-angular_velocity_random = 0.0
 orbit_velocity = 0.0
 orbit_velocity_random = 0.0
-linear_accel = 0.0
-linear_accel_random = 0.0
-radial_accel = 0.0
-radial_accel_random = 0.0
-tangential_accel = 0.0
-tangential_accel_random = 0.0
-damping = 0.0
-damping_random = 0.0
-angle = 0.0
-angle_random = 0.0
 scale = 0.5
 scale_random = 1.0
 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_point_texture = SubResource( 56 )
-emission_normal_texture = SubResource( 54 )
+emission_point_texture = ExtResource( 5 )
+emission_normal_texture = ExtResource( 6 )
 emission_point_count = 1288
-flag_align_y = false
-flag_rotate_y = false
 flag_disable_z = true
-spread = 45.0
-flatness = 0.0
 gravity = Vector3( 0, 0, 0 )
 initial_velocity = 20.0
-initial_velocity_random = 0.0
 angular_velocity = 1.47136e-43
-angular_velocity_random = 0.0
 orbit_velocity = 0.0
 orbit_velocity_random = 0.0
-linear_accel = 0.0
-linear_accel_random = 0.0
-radial_accel = 0.0
-radial_accel_random = 0.0
-tangential_accel = 0.0
-tangential_accel_random = 0.0
-damping = 0.0
-damping_random = 0.0
-angle = 0.0
-angle_random = 0.0
 scale = 0.5
 scale_random = 1.0
 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 )
 position = Vector2( 122, 502 )
-emitting = true
 amount = 32
-lifetime = 1.0
-one_shot = false
 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 )
 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 )
-emitting = true
 amount = 32
 lifetime = 2.0
-one_shot = false
 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 )
 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 )
 position = Vector2( 620, 440 )
-emitting = true
 amount = 64
 lifetime = 2.0
-one_shot = false
 preprocess = 0.1
-speed_scale = 1.0
-explosiveness = 0.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 )
 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 )
 position = Vector2( 613.467, 182.62 )
 rotation = 3.13794
-emitting = true
 amount = 16
 lifetime = 2.0
-one_shot = false
-preprocess = 0.0
-speed_scale = 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 )
 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 )
-emitting = true
 amount = 180
 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 )
-local_coords = true
-draw_order = 0
-process_material = SubResource( 28 )
+process_material = SubResource( 26 )
 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 )
-emitting = true
 amount = 180
 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 )
-local_coords = true
-draw_order = 0
-process_material = SubResource( 31 )
+process_material = SubResource( 27 )
 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 )
-emitting = true
 amount = 180
 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 )
-local_coords = true
-draw_order = 0
-process_material = SubResource( 36 )
+process_material = SubResource( 28 )
 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 []
 ;   param=value ; assign values to parameters
 
-config_version=3
+config_version=4
+
+_global_script_classes=[  ]
+_global_script_class_icons={
+
+}
 
 [application]
 

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

@@ -10,177 +10,86 @@
 [ext_resource path="res://ceiling_floor.gd" type="Script" id=8]
 
 [sub_resource type="RectangleShape2D" id=1]
-
-custom_solver_bias = 0.0
 extents = Vector2( 4, 16 )
 
 [sub_resource type="RectangleShape2D" id=2]
-
-custom_solver_bias = 0.0
 extents = Vector2( 4, 4 )
 
 [sub_resource type="RectangleShape2D" id=3]
-
-custom_solver_bias = 0.0
 extents = Vector2( 10, 200 )
 
 [sub_resource type="RectangleShape2D" id=4]
-
-custom_solver_bias = 0.0
 extents = Vector2( 320, 10 )
 
 [node name="game" type="Node2D"]
 
 [node name="left" type="Area2D" parent="."]
-
 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 )
-ball_dir = 1
 
 [node name="sprite" type="Sprite" parent="left"]
-
 texture = ExtResource( 2 )
-_sections_unfolded = [ "Transform" ]
 
 [node name="collision" type="CollisionShape2D" parent="left"]
-
 shape = SubResource( 1 )
 
 [node name="right" type="Area2D" parent="."]
-
 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 )
 ball_dir = -1
 
 [node name="sprite" type="Sprite" parent="right"]
-
 texture = ExtResource( 3 )
-_sections_unfolded = [ "Transform" ]
 
 [node name="collision" type="CollisionShape2D" parent="right"]
-
 shape = SubResource( 1 )
 
 [node name="ball" type="Area2D" parent="."]
-
 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 )
 
 [node name="sprite" type="Sprite" parent="ball"]
-
 texture = ExtResource( 5 )
-_sections_unfolded = [ "Transform" ]
 
 [node name="collision" type="CollisionShape2D" parent="ball"]
-
 shape = SubResource( 2 )
 
 [node name="separator" type="Sprite" parent="."]
-
 position = Vector2( 320, 200 )
 texture = ExtResource( 6 )
 
 [node name="left_wall" type="Area2D" parent="."]
-
 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 )
-_sections_unfolded = [ "Transform" ]
 
 [node name="collision" type="CollisionShape2D" parent="left_wall"]
-
 shape = SubResource( 3 )
 
 [node name="right_wall" type="Area2D" parent="."]
-
 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 )
-_sections_unfolded = [ "Transform" ]
 
 [node name="collision" type="CollisionShape2D" parent="right_wall"]
-
 shape = SubResource( 3 )
 
 [node name="ceiling" type="Area2D" parent="."]
-
 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 )
-_sections_unfolded = [ "Transform" ]
-y_direction = 1
 
 [node name="collision" type="CollisionShape2D" parent="ceiling"]
-
 shape = SubResource( 4 )
 
 [node name="floor" type="Area2D" parent="."]
-
 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 )
-_sections_unfolded = [ "Transform" ]
 y_direction = -1
 
 [node name="collision" type="CollisionShape2D" parent="floor"]
-
 shape = SubResource( 4 )
 
 [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="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="ceiling" to="ceiling" 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 []
 ;   param=value ; assign values to parameters
 
-config_version=3
+config_version=4
+
+_global_script_classes=[  ]
+_global_script_class_icons={
+
+}
 
 [application]
 
@@ -26,14 +31,26 @@ singletons=[  ]
 
 [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]
 

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

@@ -6,7 +6,12 @@
 ;   [section] ; section goes between []
 ;   param=value ; assign values to parameters
 
-config_version=3
+config_version=4
+
+_global_script_classes=[  ]
+_global_script_class_icons={
+
+}
 
 [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]
 
 [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;
+	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]
-
-render_priority = 0
 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);
+uniform float amount : hint_range(0.0, 5.0);
 
 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]
-
-render_priority = 0
 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;
+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));
+	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]
-
-render_priority = 0
 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]
-
 code = "shader_type canvas_item;
 
-uniform float rotation=3.0;
+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)));
+	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;
+	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]
-
-render_priority = 0
 shader = SubResource( 7 )
-shader_param/rotation = null
-_sections_unfolded = [ "shader" ]
+shader_param/rotation = 3.0
 
 [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;
+	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]
-
-render_priority = 0
 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;
+	vec3 c = textureLod(SCREEN_TEXTURE, SCREEN_UV, 0.0).rgb;
+	c = vec3(1.0) - c;
+	COLOR.rgb = c;
 }
 "
 
 [sub_resource type="ShaderMaterial" id=12]
-
-render_priority = 0
 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;
+	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]
-
-render_priority = 0
 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);
+	vec3 c = textureLod(SCREEN_TEXTURE, SCREEN_UV, 0.0).rgb;
+	COLOR.rgb = normalize(c);
 }
 "
 
 [sub_resource type="ShaderMaterial" id=16]
-
-render_priority = 0
 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;
+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;
+	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]
-
-render_priority = 0
 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]
-
 code = "shader_type canvas_item;
 
-uniform float frequency=60;
+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;
-	
+	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]
-
-render_priority = 0
 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]
-
 code = "shader_type canvas_item;
 
 uniform vec4 base : hint_color;
 uniform sampler2D grain;
-uniform float grain_strength=0.3;
+uniform float grain_strength = 0.3;
 uniform sampler2D vignette;
-uniform float fps=12;
+uniform float fps = 12.0;
 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() {
-	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;
-	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]
-
-render_priority = 0
 shader = SubResource( 21 )
 shader_param/base = Color( 0.450274, 0.361255, 0.335059, 1 )
 shader_param/grain_strength = 0.3
@@ -276,383 +231,195 @@ 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_left = 0.0
-anchor_top = 0.0
 anchor_right = 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_vertical = 2
 script = ExtResource( 1 )
-_sections_unfolded = [ "Pause" ]
 
 [node name="pictures" type="Control" parent="."]
-
-anchor_left = 0.0
-anchor_top = 0.0
 anchor_right = 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_vertical = 2
 
 [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_bottom = 40.0
-rect_pivot_offset = Vector2( 0, 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
-anchor_left = 0.0
-anchor_top = 0.0
-anchor_right = 0.0
-anchor_bottom = 0.0
 margin_right = 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_vertical = 2
 texture = ExtResource( 3 )
-stretch_mode = 0
 
 [node name="mountains" type="TextureRect" parent="pictures"]
-
 visible = false
-anchor_left = 0.0
-anchor_top = 0.0
-anchor_right = 0.0
-anchor_bottom = 0.0
 margin_right = 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_vertical = 2
 texture = ExtResource( 4 )
-stretch_mode = 0
 
 [node name="forest" type="TextureRect" parent="pictures"]
-
 visible = false
-anchor_left = 0.0
-anchor_top = 0.0
-anchor_right = 0.0
-anchor_bottom = 0.0
 margin_right = 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_vertical = 2
 texture = ExtResource( 5 )
-stretch_mode = 0
 
 [node name="effects" type="Control" parent="."]
-
-anchor_left = 0.0
-anchor_top = 0.0
 anchor_right = 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_vertical = 2
-_sections_unfolded = [ "Rect" ]
 
 [node name="disabled" type="Control" parent="effects"]
-
 visible = false
-anchor_left = 0.0
-anchor_top = 0.0
-anchor_right = 0.0
-anchor_bottom = 0.0
 margin_right = 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_vertical = 2
 
 [node name="vignette" type="TextureRect" parent="effects"]
-
 visible = false
 material = SubResource( 2 )
-anchor_left = 0.0
-anchor_top = 0.0
 anchor_right = 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_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_left = 0.0
-anchor_top = 0.0
 anchor_right = 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_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_left = 0.0
-anchor_top = 0.0
 anchor_right = 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_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_left = 0.0
-anchor_top = 0.0
 anchor_right = 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_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_left = 0.0
-anchor_top = 0.0
 anchor_right = 1.0
 anchor_bottom = 1.0
 margin_right = 14.0
 margin_bottom = -2.0
-rect_pivot_offset = Vector2( 0, 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_left = 0.0
-anchor_top = 0.0
 anchor_right = 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_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_left = 0.0
-anchor_top = 0.0
 anchor_right = 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_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_left = 0.0
-anchor_top = 0.0
 anchor_right = 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_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_left = 0.0
-anchor_top = 0.0
 anchor_right = 1.0
 anchor_bottom = 1.0
 margin_top = 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_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_left = 0.0
-anchor_top = 0.0
 anchor_right = 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_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_left = 0.0
-anchor_top = 0.0
 anchor_right = 1.0
 anchor_bottom = 1.0
 margin_left = -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_vertical = 2
 texture = ExtResource( 7 )
 expand = true
-stretch_mode = 0
-_sections_unfolded = [ "Material" ]
 
 [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_top = 7.0
 margin_right = 131.0
 margin_bottom = 28.0
-rect_pivot_offset = Vector2( 0, 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="."]
-
-anchor_left = 0.0
-anchor_top = 0.0
-anchor_right = 0.0
-anchor_bottom = 0.0
 margin_left = 137.0
 margin_top = 7.0
 margin_right = 260.0
 margin_bottom = 28.0
-rect_pivot_offset = Vector2( 0, 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 - 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]
 
-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 []
 ;   param=value ; assign values to parameters
 
-config_version=3
+config_version=4
+
+_global_script_classes=[  ]
+_global_script_class_icons={
+
+}
 
 [application]
 

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

@@ -3,15 +3,14 @@
 [ext_resource path="res://font.font" type="BitmapFont" id=1]
 
 [sub_resource type="Animation" id=1]
-
 length = 15.0
 loop = true
-step = 0.1
 tracks/0/type = "value"
 tracks/0/path = NodePath(".:rotation_degrees")
 tracks/0/interp = 1
 tracks/0/loop_wrap = true
 tracks/0/imported = false
+tracks/0/enabled = true
 tracks/0/keys = {
 "times": PoolRealArray( 0, 15 ),
 "transitions": PoolRealArray( 1, 1 ),
@@ -20,15 +19,14 @@ tracks/0/keys = {
 }
 
 [sub_resource type="Animation" id=2]
-
 length = 10.0
 loop = true
-step = 0.1
 tracks/0/type = "value"
 tracks/0/path = NodePath(".:scale")
 tracks/0/interp = 1
 tracks/0/loop_wrap = true
 tracks/0/imported = false
+tracks/0/enabled = true
 tracks/0/keys = {
 "times": PoolRealArray( 0, 5 ),
 "transitions": PoolRealArray( 1, 1 ),
@@ -39,57 +37,26 @@ tracks/0/keys = {
 [node name="Root Node" type="Node2D"]
 
 [node name="base" type="Position2D" parent="."]
-
 position = Vector2( 450, 300 )
-_sections_unfolded = [ "Transform" ]
 
 [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/zoomin_zoomout = SubResource( 2 )
-playback/active = true
-playback/speed = 1.0
-blend_times = [  ]
-autoplay = "rotate"
 
 [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"
+anims/zoomin_zoomout = SubResource( 2 )
 
 [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_top = -49.0
 margin_right = 172.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_colors/font_color = Color( 0.853858, 0.771714, 0.753746, 1 )
 custom_colors/font_color_shadow = Color( 0.56592, 0.454525, 0.518426, 1 )
 text = "Signed Distance
 Field Font!!"
 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]
 
 [sub_resource type="ProceduralSky" id=1]
-
-radiance_size = 4
 sky_top_color = Color( 0.0470588, 0.454902, 0.976471, 1 )
 sky_horizon_color = Color( 0.556863, 0.823529, 0.909804, 1 )
 sky_curve = 0.25
-sky_energy = 1.0
 ground_bottom_color = Color( 0.101961, 0.145098, 0.188235, 1 )
 ground_horizon_color = Color( 0.482353, 0.788235, 0.952941, 1 )
 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]
-
 background_mode = 2
 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 []
 ;   param=value ; assign values to parameters
 
-config_version=3
+config_version=4
+
+_global_script_classes=[  ]
+_global_script_class_icons={
+
+}
 
 [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]
 
 [sub_resource type="Shader" id=1]
-
 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 vec4 outline_color: hint_color;
+uniform vec4 outline_color : hint_color;
 
-void fragment(){
+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); 
+	a = texture(TEXTURE, UV + vec2(0.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); 
+
+	a = texture(TEXTURE, UV + vec2(0.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); 
+
+	a = texture(TEXTURE, UV + vec2(-outline_width, 0.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); 
+
+	a = texture(TEXTURE, UV + vec2(outline_width, 0.0) * ps).a;
+	maxa = max(a, maxa);
 	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_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;
 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 vec4 aura_color:hint_color; 
+uniform vec4 aura_color : hint_color;
 
-void fragment(){
+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, -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);
-	
-	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);
-	
-	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);
-	
-	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);
-	
+
 	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_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;
 render_mode blend_mix;
 
 uniform float radius = 4.0;
 
-void fragment(){
+void fragment() {
 	vec4 col = texture(TEXTURE, UV);
 	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;
-	
-	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
-_sections_unfolded = [ "shader_param" ]
-
-[sub_resource type="Shader" id=10]
 
+[sub_resource type="Shader" id=9]
 code = "shader_type canvas_item;
 
 render_mode blend_mix;
 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);
 	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));
-	
+
 	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
-_sections_unfolded = [ "shader_param" ]
-
-[sub_resource type="Shader" id=12]
 
+[sub_resource type="Shader" id=11]
 code = "shader_type canvas_item;
 render_mode blend_mix;
 
 uniform float radius = 5.0;
-uniform vec4  modulate:hint_color;
+uniform vec4  modulate : hint_color;
 
-void fragment(){
+void fragment() {
 	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 *= modulate;
-	
+
 	vec4 col = texture(TEXTURE, UV);
 	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/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;
 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;
-	
-	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);
-	
-	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/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;
 
 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 )
-_sections_unfolded = [ "shader_param" ]
-
-[sub_resource type="Shader" id=18]
 
+[sub_resource type="Shader" id=17]
 code = "shader_type canvas_item;
 render_mode blend_premul_alpha;
 
 uniform float radius = 2.0;
 uniform float amount = 0.6;
 
-void fragment(){
+void fragment() {
 	float r = radius;
 	vec2 ps = TEXTURE_PIXEL_SIZE;
 	vec4 col = texture(TEXTURE, UV);
 	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;
-	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 *= amount;
 	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/amount = 0.5
-_sections_unfolded = [ "shader_param" ]
-
-[sub_resource type="Shader" id=20]
 
+[sub_resource type="Shader" id=19]
 code = "shader_type canvas_item;
 render_mode blend_mix;
 
 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);
-	
+
 	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
-_sections_unfolded = [ "shader_param" ]
-
-[node name="shaders" type="Node2D" index="0"]
 
+[node name="shaders" type="Node2D"]
 material = SubResource( 2 )
 position = Vector2( 263.737, 179.444 )
 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 )
 position = Vector2( -2.16144, 0 )
 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 )
 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 )
 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 )
 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 )
 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 )
 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 )
 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 )
 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 )
 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 )
 texture = ExtResource( 1 )
 region_rect = Rect2( 141, 115, 39, 6 )
-_sections_unfolded = [ "Material", "Transform" ]
-
 

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