Bläddra i källkod

Handle multiple resolutions in most demos

This makes demos render correctly on hiDPI displays,
while also demonstrating how to handle multiple resolutions.

The 3D in 2D demo now uses "3D No-Effects" for the 3D viewport,
which is faster to render. Thanks to this, 4× MSAA is now enabled
for a better result.

The background loading demo now uses mipmaps for better-looking images.

The material testers demo now samples mouse input in a
resolution-independent manner when panning.

Default clear colors were also changed in some projects for visual
consistency with the project's theme.
Hugo Locurcio 6 år sedan
förälder
incheckning
a45b84a5ad
100 ändrade filer med 398 tillägg och 152 borttagningar
  1. 14 9
      2d/finite_state_machine/Demo.tscn
  2. 4 4
      2d/finite_state_machine/debug/ControlsPanel.tscn
  3. 1 4
      2d/finite_state_machine/debug/Explanations.tscn
  4. 0 1
      2d/finite_state_machine/debug/StatesStackDiplayer.tscn
  5. 1 4
      2d/finite_state_machine/debug/states_stack_displayer.gd
  6. 0 5
      2d/finite_state_machine/debug/top_level_ui.gd
  7. 0 1
      2d/finite_state_machine/default_env.tres
  8. 5 0
      2d/finite_state_machine/icon.png.import
  9. 5 0
      2d/finite_state_machine/player/body.png.import
  10. 1 1
      2d/finite_state_machine/player/player_controller.gd
  11. 5 0
      2d/finite_state_machine/player/shadow.png.import
  12. 2 2
      2d/finite_state_machine/player/states/combat/stagger.gd
  13. 5 0
      2d/finite_state_machine/player/weapon/sword.png.import
  14. 1 3
      2d/finite_state_machine/project.godot
  15. 0 0
      2d/grid_based_movement/Game.tscn
  16. 0 1
      2d/grid_based_movement/default_env.tres
  17. 3 0
      2d/grid_based_movement/icon.png.import
  18. 3 0
      2d/grid_based_movement/pawns/sprites/character.png.import
  19. 3 0
      2d/grid_based_movement/pawns/sprites/character_grey.png.import
  20. 3 0
      2d/grid_based_movement/pawns/sprites/star.png.import
  21. 2 0
      2d/grid_based_movement/project.godot
  22. 3 0
      2d/grid_based_movement/tilesets/grid/actor.png.import
  23. 3 0
      2d/grid_based_movement/tilesets/grid/object.png.import
  24. 3 0
      2d/grid_based_movement/tilesets/grid/obstacle.png.import
  25. 3 0
      2d/grid_based_movement/tilesets/grid_lines/grid_lines.png.import
  26. 14 5
      2d/hdr/beach_cave.tscn
  27. 3 0
      2d/hdr/icon.png.import
  28. 4 1
      2d/hdr/ocean_beach.png.import
  29. 3 0
      2d/hdr/ocean_cave.png.import
  30. 6 0
      2d/hdr/project.godot
  31. 9 0
      2d/hexagonal_map/project.godot
  32. 2 2
      2d/hexagonal_map/troll.gd
  33. 0 1
      2d/hexagonal_map/troll.tscn
  34. 0 1
      2d/isometric/dungeon.tscn
  35. 5 3
      2d/isometric/icon.png.import
  36. 5 3
      2d/isometric/isotiles.png.import
  37. 9 0
      2d/isometric/project.godot
  38. 5 3
      2d/isometric/troll.png.import
  39. 5 3
      2d/kinematic_character/circle.png.import
  40. 0 0
      2d/kinematic_character/colworld.tscn
  41. 5 3
      2d/kinematic_character/icon.png.import
  42. 5 3
      2d/kinematic_character/long_obstacle.png.import
  43. 5 3
      2d/kinematic_character/obstacle.png.import
  44. 12 12
      2d/kinematic_character/player.gd
  45. 5 3
      2d/kinematic_character/player.png.import
  46. 0 1
      2d/kinematic_character/player.tscn
  47. 5 3
      2d/kinematic_character/princess.png.import
  48. 6 0
      2d/kinematic_character/project.godot
  49. 0 0
      2d/kinematic_collision/colworld.tscn
  50. 3 0
      2d/kinematic_collision/icon.png.import
  51. 3 0
      2d/kinematic_collision/obstacle.png.import
  52. 3 0
      2d/kinematic_collision/player.png.import
  53. 9 0
      2d/kinematic_collision/project.godot
  54. 3 0
      2d/light2d_as_mask/burano.png.import
  55. 3 0
      2d/light2d_as_mask/icon.png.import
  56. 6 0
      2d/light2d_as_mask/lightmask.tscn
  57. 5 0
      2d/light2d_as_mask/project.godot
  58. 3 0
      2d/light2d_as_mask/splat.png.import
  59. 5 3
      2d/lights_and_shadows/bg.png.import
  60. 5 3
      2d/lights_and_shadows/caster.png.import
  61. 5 3
      2d/lights_and_shadows/icon.png.import
  62. 5 3
      2d/lights_and_shadows/light.png.import
  63. 4 1
      2d/lights_and_shadows/light_shadows.tscn
  64. 2 0
      2d/lights_and_shadows/project.godot
  65. 5 3
      2d/lights_and_shadows/spot.png.import
  66. 3 0
      2d/navigation/character.png.import
  67. 3 0
      2d/navigation/icon.png.import
  68. 4 0
      2d/navigation/level.tscn
  69. 3 0
      2d/navigation/map.png.import
  70. 2 2
      2d/navigation/navigation.gd
  71. 6 0
      2d/navigation/project.godot
  72. 4 0
      2d/navigation_astar/Game.tscn
  73. 0 1
      2d/navigation_astar/default_env.tres
  74. 3 0
      2d/navigation_astar/icon.png.import
  75. 1 1
      2d/navigation_astar/pathfind_astar.gd
  76. 5 0
      2d/navigation_astar/project.godot
  77. 3 0
      2d/navigation_astar/sprites/character.png.import
  78. 3 0
      2d/navigation_astar/sprites/obstacle.png.import
  79. 3 0
      2d/navigation_astar/sprites/path_end.png.import
  80. 3 0
      2d/navigation_astar/sprites/path_start.png.import
  81. 5 3
      2d/particles/fire_particle.png.import
  82. 5 3
      2d/particles/icon.png.import
  83. 5 3
      2d/particles/mask.png.import
  84. 3 0
      2d/particles/particles.tscn
  85. 9 0
      2d/particles/project.godot
  86. 5 3
      2d/particles/smoke_particle.png.import
  87. 5 3
      2d/particles/spark_particle2.png.import
  88. 6 4
      2d/pong/ball.png.import
  89. 5 3
      2d/pong/icon.png.import
  90. 6 4
      2d/pong/left_pallete.png.import
  91. 2 2
      2d/pong/paddle.gd
  92. 11 0
      2d/pong/pong.tscn
  93. 3 0
      2d/pong/project.godot
  94. 6 4
      2d/pong/right_pallete.png.import
  95. 6 4
      2d/pong/separator.png.import
  96. 3 3
      2d/role_playing_game/Game.gd
  97. 12 6
      2d/role_playing_game/Game.tscn
  98. 0 1
      2d/role_playing_game/default_env.tres
  99. 2 0
      2d/role_playing_game/project.godot
  100. 1 1
      2d/role_playing_game/screens/combat/Combat.gd

+ 14 - 9
2d/finite_state_machine/Demo.tscn

@@ -1,20 +1,25 @@
 [gd_scene load_steps=5 format=2]
 
-[ext_resource path="res://player/Player.tscn" type="PackedScene" id=1]
-[ext_resource path="res://debug/StatesStackDiplayer.tscn" type="PackedScene" id=2]
-[ext_resource path="res://debug/ControlsPanel.tscn" type="PackedScene" id=3]
-[ext_resource path="res://debug/Explanations.tscn" type="PackedScene" id=4]
+[ext_resource path="res://debug/ControlsPanel.tscn" type="PackedScene" id=1]
+[ext_resource path="res://debug/Explanations.tscn" type="PackedScene" id=2]
+[ext_resource path="res://debug/StatesStackDiplayer.tscn" type="PackedScene" id=3]
+[ext_resource path="res://player/Player.tscn" type="PackedScene" id=4]
 
 [node name="Demo" type="Node"]
 
-[node name="Player" parent="." instance=ExtResource( 1 )]
-editor/display_folded = true
+[node name="Player" parent="." instance=ExtResource( 4 )]
 
-[node name="StatesStackDiplayer" parent="." instance=ExtResource( 2 )]
+[node name="Explanations" parent="." instance=ExtResource( 2 )]
 
-[node name="ControlsPanel" parent="." instance=ExtResource( 3 )]
+[node name="Control" type="Control" parent="."]
+anchor_right = 1.0
+anchor_bottom = 1.0
+__meta__ = {
+"_edit_use_anchors_": false
+}
 
-[node name="Explanations" parent="." instance=ExtResource( 4 )]
+[node name="StatesStackDiplayer" parent="Control" instance=ExtResource( 3 )]
 
+[node name="ControlsPanel" parent="Control" instance=ExtResource( 1 )]
 
 [editable path="Player"]

+ 4 - 4
2d/finite_state_machine/debug/ControlsPanel.tscn

@@ -1,6 +1,5 @@
-[gd_scene load_steps=3 format=2]
+[gd_scene load_steps=2 format=2]
 
-[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"]
@@ -8,7 +7,9 @@ anchor_left = 1.0
 anchor_right = 1.0
 margin_left = -220.0
 margin_bottom = 170.0
-script = ExtResource( 1 )
+__meta__ = {
+"_edit_use_anchors_": false
+}
 
 [node name="Keys" type="Label" parent="."]
 anchor_right = 1.0
@@ -38,4 +39,3 @@ X
 Space
 Shift"
 align = 2
-

+ 1 - 4
2d/finite_state_machine/debug/Explanations.tscn

@@ -1,8 +1,7 @@
-[gd_scene load_steps=4 format=2]
+[gd_scene load_steps=3 format=2]
 
 [ext_resource path="res://fonts/source_code_pro_explanations_bold.tres" type="DynamicFont" id=1]
 [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_right = 1.0
@@ -35,8 +34,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 Game Programming Patterns ebook."
-script = ExtResource( 3 )
 __meta__ = {
 "_edit_lock_": true
 }
-

+ 0 - 1
2d/finite_state_machine/debug/StatesStackDiplayer.tscn

@@ -46,4 +46,3 @@ margin_bottom = 170.0
 custom_fonts/font = SubResource( 1 )
 text = "1.
 2."
-

+ 1 - 4
2d/finite_state_machine/debug/states_stack_displayer.gd

@@ -1,9 +1,6 @@
 extends Panel
 
-onready var fsm_node = get_node("../Player/StateMachine")
-
-func _ready():
-	set_as_toplevel(true)
+onready var fsm_node = get_node("../../Player/StateMachine")
 
 func _process(delta):
 	var states_names = ''

+ 0 - 5
2d/finite_state_machine/debug/top_level_ui.gd

@@ -1,5 +0,0 @@
-tool
-extends Control
-
-func _ready():
-	set_as_toplevel(true)

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

@@ -11,4 +11,3 @@ ground_curve = 0.01
 [resource]
 background_mode = 2
 background_sky = SubResource( 1 )
-

+ 5 - 0
2d/finite_state_machine/icon.png.import

@@ -3,6 +3,9 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 
@@ -14,6 +17,7 @@ dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ]
 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
@@ -23,6 +27,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 - 0
2d/finite_state_machine/player/body.png.import

@@ -3,6 +3,9 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/body.png-313f6363670a5852a7b7126ab476d8b1.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 
@@ -14,6 +17,7 @@ dest_files=[ "res://.import/body.png-313f6363670a5852a7b7126ab476d8b1.stex" ]
 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
@@ -23,6 +27,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/finite_state_machine/player/player_controller.gd

@@ -1,5 +1,5 @@
 """
-The Player is a KinematicBody2D, in other words a physics-driven object. 
+The Player is a KinematicBody2D, in other words a physics-driven object.
 It can move, collide with the world...
 It HAS a state machine, but the body and the state machine are separate.
 """

+ 5 - 0
2d/finite_state_machine/player/shadow.png.import

@@ -3,6 +3,9 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/shadow.png-493c4635eca1ce8bdece629560617dc7.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 
@@ -14,6 +17,7 @@ dest_files=[ "res://.import/shadow.png-493c4635eca1ce8bdece629560617dc7.stex" ]
 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
@@ -23,6 +27,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 - 2
2d/finite_state_machine/player/states/combat/stagger.gd

@@ -1,6 +1,6 @@
 """
 The stagger state end with the stagger animation from the AnimationPlayer
-The animation only affects the Body Sprite"s modulate property so 
+The animation only affects the Body Sprite's modulate property so
 it could stack with other animations if we had two AnimationPlayer nodes
 """
 extends "res://state_machine/state.gd"
@@ -11,5 +11,5 @@ func enter():
 	owner.get_node("AnimationPlayer").play("stagger")
 
 func _on_animation_finished(anim_name):
-	assert anim_name == "stagger"
+	assert(anim_name == "stagger")
 	emit_signal("finished", "previous")

+ 5 - 0
2d/finite_state_machine/player/weapon/sword.png.import

@@ -3,6 +3,9 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/sword.png-fc7f0084cdf333c826eda2b33f2ec3cc.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 
@@ -14,6 +17,7 @@ dest_files=[ "res://.import/sword.png-fc7f0084cdf333c826eda2b33f2ec3cc.stex" ]
 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
@@ -23,6 +27,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 - 3
2d/finite_state_machine/project.godot

@@ -23,10 +23,8 @@ config/icon="res://icon.png"
 
 window/size/width=1280
 window/size/height=720
-window/size/test_width=1280
-window/size/test_height=720
 window/stretch/mode="2d"
-window/stretch/aspect="keep"
+window/stretch/aspect="expand"
 
 [gdnative]
 

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
2d/grid_based_movement/Game.tscn


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

@@ -11,4 +11,3 @@ ground_curve = 0.01
 [resource]
 background_mode = 2
 background_sky = SubResource( 1 )
-

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

@@ -3,6 +3,9 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 

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

@@ -3,6 +3,9 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/character.png-98ed16816c5b464731c4fa68fe5b8613.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 

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

@@ -3,6 +3,9 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/character_grey.png-a95d64c2e947e85f04dd1c6474e46965.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 

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

@@ -3,6 +3,9 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/star.png-4f164f82cf41ace82182660f1be8e68d.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 

+ 2 - 0
2d/grid_based_movement/project.godot

@@ -23,6 +23,8 @@ config/icon="res://icon.png"
 
 window/size/width=1280
 window/size/height=720
+window/stretch/mode="2d"
+window/stretch/aspect="expand"
 
 [rendering]
 

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

@@ -3,6 +3,9 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/actor.png-6a88af8a7bcb079732153877dfb0db8b.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 

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

@@ -3,6 +3,9 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/object.png-3e89ebfb3424e8759914732b2b0130c1.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 

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

@@ -3,6 +3,9 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/obstacle.png-9f01dd1d06d7b99515918b65b46bd6c1.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 

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

@@ -3,6 +3,9 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/grid_lines.png-beef853b47aa830c8383e5f6cc4d03ce.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 

+ 14 - 5
2d/hdr/beach_cave.tscn

@@ -27,6 +27,8 @@ modulate = Color( 2, 2, 2, 1 )
 self_modulate = Color( 2, 2, 2, 1 )
 texture = ExtResource( 2 )
 centered = false
+region_enabled = true
+region_rect = Rect2( 0, 0, 3840, 720 )
 
 [node name="cave" type="Sprite" parent="."]
 self_modulate = Color( 0.233166, 0.221219, 0.23582, 1 )
@@ -37,11 +39,18 @@ centered = false
 [node name="environment" type="WorldEnvironment" parent="."]
 environment = SubResource( 1 )
 
+[node name="Camera2D" type="Camera2D" parent="."]
+offset = Vector2( 540, 360 )
+current = true
+
 [node name="Label" type="Label" parent="."]
-margin_right = 40.0
-margin_bottom = 13.0
+margin_left = 10.0
+margin_top = 10.0
+margin_right = 135.0
+margin_bottom = 24.0
 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"
-
+text = "Drag Left and Right"
+__meta__ = {
+"_edit_use_anchors_": false
+}

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

@@ -3,6 +3,9 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 

+ 4 - 1
2d/hdr/ocean_beach.png.import

@@ -3,6 +3,9 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/ocean_beach.png-b571ab5468cc775a520aaa47efbed607.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 
@@ -16,7 +19,7 @@ compress/lossy_quality=0.7
 compress/hdr_mode=0
 compress/bptc_ldr=0
 compress/normal_map=0
-flags/repeat=0
+flags/repeat=2
 flags/filter=true
 flags/mipmaps=false
 flags/anisotropic=false

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

@@ -3,6 +3,9 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/ocean_cave.png-2a86f381e3092b4cb698b627d778e19b.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 

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

@@ -24,6 +24,8 @@ run/name=""
 
 window/size/width=1080
 window/size/height=720
+window/stretch/mode="2d"
+window/stretch/aspect="expand"
 
 [gdnative]
 
@@ -32,3 +34,7 @@ singletons=[  ]
 [rasterizer]
 
 blur_buffer_size=128
+
+[rendering]
+
+environment/default_clear_color=Color( 0.05, 0.0453, 0.0265, 1 )

+ 9 - 0
2d/hexagonal_map/project.godot

@@ -20,6 +20,11 @@ run/main_scene="res://map.tscn"
 config/icon="res://icon.png"
 run/name=""
 
+[display]
+
+window/stretch/mode="2d"
+window/stretch/aspect="expand"
+
 [gdnative]
 
 singletons=[  ]
@@ -46,3 +51,7 @@ move_up={
 "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]
+
+environment/default_clear_color=Color( 0.172549, 0.219608, 0.129412, 1 )

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

@@ -9,7 +9,7 @@ const MOTION_SPEED = 160 # Pixels/second
 
 func _physics_process(_delta):
 	var motion = Vector2()
-	
+
 	if Input.is_action_pressed("move_up"):
 		motion += Vector2(0, -1)
 	if Input.is_action_pressed("move_bottom"):
@@ -18,7 +18,7 @@ func _physics_process(_delta):
 		motion += Vector2(-1, 0)
 	if Input.is_action_pressed("move_right"):
 		motion += Vector2(1, 0)
-	
+
 	motion = motion.normalized() * MOTION_SPEED
 
 	move_and_slide(motion)

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

@@ -18,4 +18,3 @@ shape = SubResource( 1 )
 
 [node name="Camera2D" type="Camera2D" parent="."]
 current = true
-

+ 0 - 1
2d/isometric/dungeon.tscn

@@ -24,4 +24,3 @@ tile_data = PoolIntArray( -917493, 2, -1200553578, -917492, 2, -1200553578, -917
 
 [node name="troll" parent="walls" instance=ExtResource( 2 )]
 position = Vector2( 368.142, 347.007 )
-

+ 5 - 3
2d/isometric/icon.png.import

@@ -3,20 +3,21 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 
 source_file="res://icon.png"
-source_md5="c79c9ad7eaca57f9b61f2e8b06d7a2ea"
-
 dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ]
-dest_md5="557cc789bada50b97252b4b076d9396d"
 
 [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 +27,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 - 3
2d/isometric/isotiles.png.import

@@ -3,20 +3,21 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/isotiles.png-502434fe0d6c3fd8ce67cea5a960c208.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 
 source_file="res://isotiles.png"
-source_md5="497da3b55d87ebab4df56dba2a0804ed"
-
 dest_files=[ "res://.import/isotiles.png-502434fe0d6c3fd8ce67cea5a960c208.stex" ]
-dest_md5="e81f39117efaa23b86988b64a3523f31"
 
 [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 +27,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

+ 9 - 0
2d/isometric/project.godot

@@ -19,6 +19,11 @@ config/name="Isometric Game"
 run/main_scene="res://dungeon.tscn"
 config/icon="res://icon.png"
 
+[display]
+
+window/stretch/mode="2d"
+window/stretch/aspect="expand"
+
 [gdnative]
 
 singletons=[  ]
@@ -54,3 +59,7 @@ move_up={
 [rasterizer]
 
 use_pixel_snap=true
+
+[rendering]
+
+environment/default_clear_color=Color( 0.0784314, 0.105882, 0.145098, 1 )

+ 5 - 3
2d/isometric/troll.png.import

@@ -3,20 +3,21 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/troll.png-78efc50bfccaa17f54d40cfea3eef5f5.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 
 source_file="res://troll.png"
-source_md5="76a37c47b1f09115f714d6635ab50fb4"
-
 dest_files=[ "res://.import/troll.png-78efc50bfccaa17f54d40cfea3eef5f5.stex" ]
-dest_md5="aded3a6d7973cb880144e84f0b3ec505"
 
 [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 +27,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 - 3
2d/kinematic_character/circle.png.import

@@ -3,20 +3,21 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/circle.png-10953cad44a8947fbdd4128a631e9e52.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 
 source_file="res://circle.png"
-source_md5="c01cd5674a625756c3df259f76d5295a"
-
 dest_files=[ "res://.import/circle.png-10953cad44a8947fbdd4128a631e9e52.stex" ]
-dest_md5="e4ec5acd02941f2f2150d836824a5d51"
 
 [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 +27,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

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
2d/kinematic_character/colworld.tscn


+ 5 - 3
2d/kinematic_character/icon.png.import

@@ -3,20 +3,21 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 
 source_file="res://icon.png"
-source_md5="a2c4d258e30d0a978df50141f46c78fc"
-
 dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ]
-dest_md5="144813cb6d9a20bff16078a45fa2d990"
 
 [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 +27,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 - 3
2d/kinematic_character/long_obstacle.png.import

@@ -3,20 +3,21 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/long_obstacle.png-1b33440a15b4db156b2a9ec7e9a2a80e.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 
 source_file="res://long_obstacle.png"
-source_md5="3c79b1a7d3ef80a28347634c36f0b2e1"
-
 dest_files=[ "res://.import/long_obstacle.png-1b33440a15b4db156b2a9ec7e9a2a80e.stex" ]
-dest_md5="4956558400a4bac181bc00346aaaacdf"
 
 [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 +27,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 - 3
2d/kinematic_character/obstacle.png.import

@@ -3,20 +3,21 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/obstacle.png-dfb3e99d3af573251007cdf5e1c252b9.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 
 source_file="res://obstacle.png"
-source_md5="5963aa5f0000565f5472e152003bfaf3"
-
 dest_files=[ "res://.import/obstacle.png-dfb3e99d3af573251007cdf5e1c252b9.stex" ]
-dest_md5="e4a785f1d55f2585bce48ea5d56b3124"
 
 [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 +27,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

+ 12 - 12
2d/kinematic_character/player.gd

@@ -27,13 +27,13 @@ var prev_jump_pressed = false
 func _physics_process(delta):
 	# Create forces
 	var force = Vector2(0, GRAVITY)
-	
+
 	var walk_left = Input.is_action_pressed("move_left")
 	var walk_right = Input.is_action_pressed("move_right")
 	var jump = Input.is_action_pressed("jump")
-	
+
 	var stop = true
-	
+
 	if walk_left:
 		if velocity.x <= WALK_MIN_SPEED and velocity.x > -WALK_MAX_SPEED:
 			force.x -= WALK_FORCE
@@ -42,34 +42,34 @@ func _physics_process(delta):
 		if velocity.x >= -WALK_MIN_SPEED and velocity.x < WALK_MAX_SPEED:
 			force.x += WALK_FORCE
 			stop = false
-	
+
 	if stop:
 		var vsign = sign(velocity.x)
 		var vlen = abs(velocity.x)
-		
+
 		vlen -= STOP_FORCE * delta
 		if vlen < 0:
 			vlen = 0
-		
+
 		velocity.x = vlen * vsign
-	
+
 	# Integrate forces to velocity
-	velocity += force * delta	
+	velocity += force * delta
 	# Integrate velocity into motion and move
 	velocity = move_and_slide(velocity, Vector2(0, -1))
-	
+
 	if is_on_floor():
 		on_air_time = 0
-		
+
 	if jumping and velocity.y > 0:
 		# If falling, no longer jumping
 		jumping = false
-	
+
 	if on_air_time < JUMP_MAX_AIRBORNE_TIME and jump and not prev_jump_pressed and not jumping:
 		# Jump must also be allowed to happen if the character left the floor a little bit ago.
 		# Makes controls more snappy.
 		velocity.y = -JUMP_SPEED
 		jumping = true
-	
+
 	on_air_time += delta
 	prev_jump_pressed = jump

+ 5 - 3
2d/kinematic_character/player.png.import

@@ -3,20 +3,21 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/player.png-2dd0af52de4b213777cd8c9df94c0978.stex"
+metadata={
+"vram_texture": false
+}
 
 [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 +27,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 - 1
2d/kinematic_character/player.tscn

@@ -15,4 +15,3 @@ texture = ExtResource( 2 )
 [node name="CollisionShape2D" type="CollisionShape2D" parent="."]
 position = Vector2( -0.315559, 0.157784 )
 shape = SubResource( 1 )
-

+ 5 - 3
2d/kinematic_character/princess.png.import

@@ -3,20 +3,21 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/princess.png-9b4caf2cfe324ae3734249d5b559d39d.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 
 source_file="res://princess.png"
-source_md5="0cc2f9e0359e84dd37950556613a1778"
-
 dest_files=[ "res://.import/princess.png-9b4caf2cfe324ae3734249d5b559d39d.stex" ]
-dest_md5="856066b52354a42ff12d3b5608755e56"
 
 [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 +27,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 - 0
2d/kinematic_character/project.godot

@@ -23,6 +23,8 @@ config/icon="res://icon.png"
 
 window/size/width=530
 window/size/height=495
+window/stretch/mode="2d"
+window/stretch/aspect="expand"
 stretch/aspect="keep"
 stretch/mode="2d"
 
@@ -61,3 +63,7 @@ move_up={
 [memory]
 
 multithread/thread_rid_pool_prealloc=60
+
+[rendering]
+
+environment/default_clear_color=Color( 0.156, 0.1325, 0.25, 1 )

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
2d/kinematic_collision/colworld.tscn


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

@@ -3,6 +3,9 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 

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

@@ -3,6 +3,9 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/obstacle.png-dfb3e99d3af573251007cdf5e1c252b9.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 

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

@@ -3,6 +3,9 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/player.png-2dd0af52de4b213777cd8c9df94c0978.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 

+ 9 - 0
2d/kinematic_collision/project.godot

@@ -19,6 +19,11 @@ config/name="Kinematic Collision"
 run/main_scene="res://colworld.tscn"
 config/icon="res://icon.png"
 
+[display]
+
+window/stretch/mode="2d"
+window/stretch/aspect="expand"
+
 [gdnative]
 
 singletons=[  ]
@@ -45,3 +50,7 @@ move_up={
 "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]
+
+environment/default_clear_color=Color( 0.219608, 0.145098, 0.145098, 1 )

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

@@ -3,6 +3,9 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/burano.png-893cff79ccbe972d7b1ad3e1845f81bf.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 

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

@@ -3,6 +3,9 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 

+ 6 - 0
2d/light2d_as_mask/lightmask.tscn

@@ -51,6 +51,9 @@ anchor_right = 1.0
 anchor_bottom = 1.0
 size_flags_horizontal = 2
 size_flags_vertical = 2
+__meta__ = {
+"_edit_use_anchors_": false
+}
 
 [node name="burano" type="TextureRect" parent="."]
 material = SubResource( 1 )
@@ -79,3 +82,6 @@ mode = 2
 autoplay = "maskmotion"
 anims/maskmotion = SubResource( 2 )
 
+[node name="Camera2D" type="Camera2D" parent="."]
+offset = Vector2( 512, 300 )
+current = true

+ 5 - 0
2d/light2d_as_mask/project.godot

@@ -19,6 +19,11 @@ config/name="Using Lights as Mask"
 run/main_scene="res://lightmask.tscn"
 config/icon="res://icon.png"
 
+[display]
+
+window/stretch/mode="2d"
+window/stretch/aspect="expand"
+
 [gdnative]
 
 singletons=[  ]

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

@@ -3,6 +3,9 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/splat.png-a41a35966004eec2e8a20d517d1ec4bb.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 

+ 5 - 3
2d/lights_and_shadows/bg.png.import

@@ -3,20 +3,21 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/bg.png-24bff804693ee063127ad100e04c5185.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 
 source_file="res://bg.png"
-source_md5="767fe4b38b7f307c268da6beb72ca732"
-
 dest_files=[ "res://.import/bg.png-24bff804693ee063127ad100e04c5185.stex" ]
-dest_md5="c5f047c8b98d363519d5da3be2119651"
 
 [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 +27,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 - 3
2d/lights_and_shadows/caster.png.import

@@ -3,20 +3,21 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/caster.png-67727cb056b9e0209664a84f1653a25a.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 
 source_file="res://caster.png"
-source_md5="461a6647dafae1304d7a21178246bb9d"
-
 dest_files=[ "res://.import/caster.png-67727cb056b9e0209664a84f1653a25a.stex" ]
-dest_md5="102ac34dffa3ad96f81d7c422c9ff96d"
 
 [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 +27,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 - 3
2d/lights_and_shadows/icon.png.import

@@ -3,20 +3,21 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 
 source_file="res://icon.png"
-source_md5="b522cb048c2d4713c630a1fd00254467"
-
 dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ]
-dest_md5="fca2fbe38bffc4d500dcbb63e1985d25"
 
 [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 +27,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 - 3
2d/lights_and_shadows/light.png.import

@@ -3,20 +3,21 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/light.png-06e94102f0cce323cff7daad56cf3030.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 
 source_file="res://light.png"
-source_md5="d36597a1d2ddc06b8d0d22650a176149"
-
 dest_files=[ "res://.import/light.png-06e94102f0cce323cff7daad56cf3030.stex" ]
-dest_md5="4358f9620206dfaf70c1c9c703c7cbc0"
 
 [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 +27,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 - 1
2d/lights_and_shadows/light_shadows.tscn

@@ -72,7 +72,7 @@ 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 )
+scale = Vector2( 128, 128 )
 texture = ExtResource( 1 )
 
 [node name="casters" type="Node2D" parent="."]
@@ -237,3 +237,6 @@ anims/motion = SubResource( 3 )
 anims/motion2 = SubResource( 4 )
 anims/motion3 = SubResource( 7 )
 
+[node name="Camera2D" type="Camera2D" parent="."]
+offset = Vector2( 400, 300 )
+current = true

+ 2 - 0
2d/lights_and_shadows/project.godot

@@ -22,6 +22,8 @@ config/icon="res://icon.png"
 [display]
 
 window/size/width=800
+window/stretch/mode="2d"
+window/stretch/aspect="expand"
 stretch/aspect="keep"
 stretch/mode="2d"
 

+ 5 - 3
2d/lights_and_shadows/spot.png.import

@@ -3,20 +3,21 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/spot.png-36b4dfbff4efeea17ec3137d266ffc4a.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 
 source_file="res://spot.png"
-source_md5="8d1a5fb652c178423018bac9e0f5acf0"
-
 dest_files=[ "res://.import/spot.png-36b4dfbff4efeea17ec3137d266ffc4a.stex" ]
-dest_md5="39755819eccb4f1e0c301b93be79590a"
 
 [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 +27,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

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

@@ -3,6 +3,9 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/character.png-7a996d3b758d22c506b76a7c15391284.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 

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

@@ -3,6 +3,9 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 

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

@@ -24,3 +24,7 @@ position = Vector2( 228.464, 132.594 )
 scale = Vector2( 0.5, 0.5 )
 texture = ExtResource( 3 )
 offset = Vector2( 0, -26 )
+
+[node name="Camera2D" type="Camera2D" parent="."]
+offset = Vector2( 400, 300 )
+current = true

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

@@ -3,6 +3,9 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/map.png-9eea34967fae34f4388f4a32a16da936.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 

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

@@ -31,12 +31,12 @@ func move_along_path(distance):
 	var last_point = $Character.position
 	while 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:
 			$Character.position = last_point.linear_interpolate(path[0], distance / distance_between_points)
 			return
-		
+
 		# the position is past the end of the segment
 		distance -= distance_between_points
 		last_point = path[0]

+ 6 - 0
2d/navigation/project.godot

@@ -22,6 +22,8 @@ config/icon="res://icon.png"
 [display]
 
 window/size/width=800
+window/stretch/mode="2d"
+window/stretch/aspect="expand"
 stretch/aspect="keep"
 stretch/mode="2d"
 
@@ -36,3 +38,7 @@ click={
 "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)
  ]
 }
+
+[rendering]
+
+environment/default_clear_color=Color( 0.160784, 0.172549, 0.278431, 1 )

+ 4 - 0
2d/navigation_astar/Game.tscn

@@ -14,9 +14,13 @@ tile_data = PoolIntArray( 65537, 0, 0, 65541, 0, 0, 65545, 0, 0, 65550, 0, 0, 19
 script = ExtResource( 2 )
 
 [node name="Character" type="Position2D" parent="."]
+position = Vector2( 32, 32 )
 script = ExtResource( 3 )
 
 [node name="Sprite" type="Sprite" parent="Character"]
 position = Vector2( 7, 0 )
 texture = ExtResource( 4 )
 
+[node name="Camera2D" type="Camera2D" parent="."]
+offset = Vector2( 512, 300 )
+current = true

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

@@ -11,4 +11,3 @@ ground_curve = 0.01
 [resource]
 background_mode = 2
 background_sky = SubResource( 1 )
-

+ 3 - 0
2d/navigation_astar/icon.png.import

@@ -3,6 +3,9 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 

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

@@ -183,4 +183,4 @@ func _set_path_end_position(value):
 	set_cell(value.x, value.y, 2)
 	path_end_position = value
 	if path_start_position != value:
-		_recalculate_path()
+		_recalculate_path()

+ 5 - 0
2d/navigation_astar/project.godot

@@ -19,6 +19,11 @@ config/name="Grid-based pathfinding with Astar"
 run/main_scene="res://Game.tscn"
 config/icon="res://icon.png"
 
+[display]
+
+window/stretch/mode="2d"
+window/stretch/aspect="expand"
+
 [input]
 
 click={

+ 3 - 0
2d/navigation_astar/sprites/character.png.import

@@ -3,6 +3,9 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/character.png-eb70ac48a5acf508c4b7740ea4ac4fae.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 

+ 3 - 0
2d/navigation_astar/sprites/obstacle.png.import

@@ -3,6 +3,9 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/obstacle.png-0258c5f5ce65bfa0dd8610adeb784f54.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 

+ 3 - 0
2d/navigation_astar/sprites/path_end.png.import

@@ -3,6 +3,9 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/path_end.png-02b79e25892cd8d863bd44c3c5a1720e.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 

+ 3 - 0
2d/navigation_astar/sprites/path_start.png.import

@@ -3,6 +3,9 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/path_start.png-475bd0b469629aa8779d506c5134e5c2.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 

+ 5 - 3
2d/particles/fire_particle.png.import

@@ -3,20 +3,21 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/fire_particle.png-282b12927cd5b1f6d9c0bfb485d448ae.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 
 source_file="res://fire_particle.png"
-source_md5="b0ff2970ad1b00d2ce4ed6f02e01d7c5"
-
 dest_files=[ "res://.import/fire_particle.png-282b12927cd5b1f6d9c0bfb485d448ae.stex" ]
-dest_md5="eea50c6eceabd139f99b8f771003811d"
 
 [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 +27,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 - 3
2d/particles/icon.png.import

@@ -3,20 +3,21 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 
 source_file="res://icon.png"
-source_md5="79bb491eb2c0a0753f965ac0b3106349"
-
 dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ]
-dest_md5="cbc9a406040e47df12d4494a9431028f"
 
 [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 +27,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 - 3
2d/particles/mask.png.import

@@ -3,20 +3,21 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/mask.png-b945516e6475612c1c4c3b4f8dd0bdc6.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 
 source_file="res://mask.png"
-source_md5="3214952ea3431758b892aabdbde38b08"
-
 dest_files=[ "res://.import/mask.png-b945516e6475612c1c4c3b4f8dd0bdc6.stex" ]
-dest_md5="6823b6e7db665ffc74987b968f7eaf3b"
 
 [params]
 
 compress/mode=0
 compress/lossy_quality=0.7
 compress/hdr_mode=0
+compress/bptc_ldr=0
 compress/normal_map=0
 flags/repeat=true
 flags/filter=true
@@ -26,6 +27,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=false

+ 3 - 0
2d/particles/particles.tscn

@@ -252,3 +252,6 @@ visibility_rect = Rect2( 26.0055, 90.0015, 199.176, 95.0445 )
 process_material = SubResource( 28 )
 texture = ExtResource( 3 )
 
+[node name="Camera2D" type="Camera2D" parent="."]
+offset = Vector2( 512, 300 )
+current = true

+ 9 - 0
2d/particles/project.godot

@@ -19,6 +19,15 @@ config/name="Particle Systems"
 run/main_scene="res://particles.tscn"
 config/icon="res://icon.png"
 
+[display]
+
+window/stretch/mode="2d"
+window/stretch/aspect="expand"
+
 [gdnative]
 
 singletons=[  ]
+
+[rendering]
+
+environment/default_clear_color=Color( 0, 0, 0, 1 )

+ 5 - 3
2d/particles/smoke_particle.png.import

@@ -3,20 +3,21 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/smoke_particle.png-2af9cbaa4a935c239d404ea2402bff45.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 
 source_file="res://smoke_particle.png"
-source_md5="1b1db1ed68bccbfb6cc968edd82d3590"
-
 dest_files=[ "res://.import/smoke_particle.png-2af9cbaa4a935c239d404ea2402bff45.stex" ]
-dest_md5="b15a735d1026591cfe0adf0961cd978d"
 
 [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 +27,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 - 3
2d/particles/spark_particle2.png.import

@@ -3,20 +3,21 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/spark_particle2.png-c01711346d42a0d9675f292248ead315.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 
 source_file="res://spark_particle2.png"
-source_md5="907b52c0c7e2668357863bd01721e813"
-
 dest_files=[ "res://.import/spark_particle2.png-c01711346d42a0d9675f292248ead315.stex" ]
-dest_md5="a13abc4e2d2feac9c7fe76af899b5ff4"
 
 [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=false
@@ -26,6 +27,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 - 4
2d/pong/ball.png.import

@@ -3,29 +3,31 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/ball.png-9a4ca347acb7532f6ae347744a6b04f7.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 
 source_file="res://ball.png"
-source_md5="4219e9084f5485c8d1812297700f317d"
-
 dest_files=[ "res://.import/ball.png-9a4ca347acb7532f6ae347744a6b04f7.stex" ]
-dest_md5="c23684a1fd10063a69ecc18f7ccca4c3"
 
 [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/filter=false
 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

+ 5 - 3
2d/pong/icon.png.import

@@ -3,20 +3,21 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 
 source_file="res://icon.png"
-source_md5="9be177e863d37787c0836d64924b3503"
-
 dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ]
-dest_md5="6339016da0f704252e68ba6dd6477388"
 
 [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 +27,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 - 4
2d/pong/left_pallete.png.import

@@ -3,29 +3,31 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/left_pallete.png-bc33611074a0f886142e37c77bd2545a.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 
 source_file="res://left_pallete.png"
-source_md5="df76627349499ad47ebf48a7ca947cca"
-
 dest_files=[ "res://.import/left_pallete.png-bc33611074a0f886142e37c77bd2545a.stex" ]
-dest_md5="f286e993cb5a7b7513004045afcc4313"
 
 [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/filter=false
 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

+ 2 - 2
2d/pong/paddle.gd

@@ -5,13 +5,13 @@ const MOVE_SPEED = 100
 
 func _process(delta):
 	var which = get_name()
-	
+
 	# move up and down based on input
 	if Input.is_action_pressed(which+"_move_up") and position.y > 0:
 		position.y -= MOVE_SPEED * delta
 	if Input.is_action_pressed(which+"_move_down") and position.y < get_viewport_rect().size.y:
 		position.y += MOVE_SPEED * delta
-		
+
 
 func _on_area_entered( area ):
 	if area.get_name() == "ball":

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

@@ -23,6 +23,14 @@ extents = Vector2( 320, 10 )
 
 [node name="game" type="Node2D"]
 
+[node name="ColorRect" type="ColorRect" parent="."]
+margin_right = 640.0
+margin_bottom = 400.0
+color = Color( 0.141176, 0.152941, 0.164706, 1 )
+__meta__ = {
+"_edit_use_anchors_": false
+}
+
 [node name="left" type="Area2D" parent="."]
 position = Vector2( 67.6285, 192.594 )
 script = ExtResource( 1 )
@@ -87,6 +95,9 @@ y_direction = -1
 [node name="collision" type="CollisionShape2D" parent="floor"]
 shape = SubResource( 4 )
 
+[node name="Camera2D" type="Camera2D" parent="."]
+offset = Vector2( 320, 200 )
+current = true
 [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"]

+ 3 - 0
2d/pong/project.godot

@@ -23,6 +23,8 @@ config/icon="res://icon.png"
 
 window/size/width=640
 window/size/height=400
+window/stretch/mode="2d"
+window/stretch/aspect="expand"
 stretch_2d=true
 
 [gdnative]
@@ -54,4 +56,5 @@ right_move_up={
 
 [rendering]
 
+quality/2d/use_pixel_snap=true
 viewport/default_clear_color=Color( 0, 0, 0, 1 )

+ 6 - 4
2d/pong/right_pallete.png.import

@@ -3,29 +3,31 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/right_pallete.png-fc6e4a6a7c8197834656482b94708e47.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 
 source_file="res://right_pallete.png"
-source_md5="d46f647d3f045dbee4d786089c309868"
-
 dest_files=[ "res://.import/right_pallete.png-fc6e4a6a7c8197834656482b94708e47.stex" ]
-dest_md5="5f8755f214bc8d4caf7c467291452637"
 
 [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/filter=false
 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

+ 6 - 4
2d/pong/separator.png.import

@@ -3,29 +3,31 @@
 importer="texture"
 type="StreamTexture"
 path="res://.import/separator.png-f981c8489b9148e2e1dc63398273da74.stex"
+metadata={
+"vram_texture": false
+}
 
 [deps]
 
 source_file="res://separator.png"
-source_md5="b6234b89455156532bbe1256249fcfd4"
-
 dest_files=[ "res://.import/separator.png-f981c8489b9148e2e1dc63398273da74.stex" ]
-dest_md5="6e27251839594842494c6cd51e3b86cb"
 
 [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/filter=false
 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

+ 3 - 3
2d/role_playing_game/Game.gd

@@ -15,7 +15,7 @@ func _ready():
 			continue
 		if not n.has_node("DialoguePlayer"):
 			continue
-		n.get_node("DialoguePlayer").connect("dialogue_finished", self, 
+		n.get_node("DialoguePlayer").connect("dialogue_finished", self,
 			"_on_opponent_dialogue_finished", [n])
 	remove_child(combat_screen)
 
@@ -25,7 +25,7 @@ func _on_opponent_dialogue_finished(opponent):
 	var player = $Exploration/Grid/Player
 	var combatents = [player.combat_actor, opponent.combat_actor]
 	start_combat(combatents)
-	
+
 func start_combat(combat_actors):
 	remove_child($Exploration)
 	$AnimationPlayer.play("fade")
@@ -34,7 +34,7 @@ func start_combat(combat_actors):
 	combat_screen.show()
 	combat_screen.initialize(combat_actors)
 	$AnimationPlayer.play_backwards("fade")
-	
+
 func _on_combat_finished(winner, _loser):
 	remove_child(combat_screen)
 	$AnimationPlayer.play_backwards("fade")

+ 12 - 6
2d/role_playing_game/Game.tscn

@@ -1,8 +1,8 @@
 [gd_scene load_steps=5 format=2]
 
 [ext_resource path="res://Game.gd" type="Script" id=1]
-[ext_resource path="res://screens/combat/Combat.tscn" type="PackedScene" id=2]
-[ext_resource path="res://screens/exploration/Exploration.tscn" type="PackedScene" id=3]
+[ext_resource path="res://screens/exploration/Exploration.tscn" type="PackedScene" id=2]
+[ext_resource path="res://screens/combat/Combat.tscn" type="PackedScene" id=3]
 
 [sub_resource type="Animation" id=1]
 length = 0.5
@@ -30,13 +30,19 @@ anims/fade = SubResource( 1 )
 [node name="Transition" type="CanvasLayer" parent="."]
 
 [node name="ColorRect" type="ColorRect" parent="Transition"]
-margin_right = 1280.0
-margin_bottom = 720.0
+anchor_right = 1.0
+anchor_bottom = 1.0
 mouse_filter = 1
 color = Color( 0.0703125, 0.0703125, 0.0703125, 0 )
+__meta__ = {
+"_edit_use_anchors_": false
+}
 
-[node name="Combat" parent="." instance=ExtResource( 2 )]
+[node name="Combat" parent="." instance=ExtResource( 3 )]
 visible = false
 
-[node name="Exploration" parent="." instance=ExtResource( 3 )]
+[node name="Exploration" parent="." instance=ExtResource( 2 )]
 
+[node name="Camera2D" type="Camera2D" parent="."]
+offset = Vector2( 640, 360 )
+current = true

+ 0 - 1
2d/role_playing_game/default_env.tres

@@ -12,4 +12,3 @@ sun_energy = 16.0
 [resource]
 background_mode = 2
 background_sky = SubResource( 1 )
-

+ 2 - 0
2d/role_playing_game/project.godot

@@ -23,6 +23,8 @@ config/icon="res://icon.png"
 
 window/size/width=1280
 window/size/height=720
+window/stretch/mode="2d"
+window/stretch/aspect="expand"
 
 [rendering]
 

+ 1 - 1
2d/role_playing_game/screens/combat/Combat.gd

@@ -33,4 +33,4 @@ func clear_combat():
 
 func finish_combat(winner, loser):
 	emit_signal("combat_finished", winner, loser)
-	
+

Vissa filer visades inte eftersom för många filer har ändrats