From ff16362ab1de073a414f07ac2861be6eec582534 Mon Sep 17 00:00:00 2001 From: Fusselkater Date: Mon, 18 Jul 2022 03:28:10 +0200 Subject: [PATCH] use better tile graphics --- common/icon.ico | Bin 0 -> 67646 bytes common/player_head.png | Bin 57175 -> 56882 bytes common/tiles/assets/grass.svg | 727 ++++++++++++++++++ common/tiles/assets/grass.svg.import | 35 + common/tiles/assets/liquid.svg | 156 ++++ common/tiles/assets/liquid.svg.import | 35 + common/tiles/assets/water.svg | 51 ++ common/tiles/assets/water.svg.import | 35 + common/tiles/base.tres | 559 ++++++++++++++ export_presets.cfg | 10 +- objects/characters/character.gd | 21 +- objects/characters/monsters/01/monster_01.gd | 6 +- .../characters/monsters/01/monster_01.tscn | 2 +- objects/characters/monsters/monster.gd | 12 +- objects/characters/player.gd | 26 +- objects/characters/player.tscn | 12 +- objects/coin/coin.tscn | 2 +- objects/speech_bubble/speech_bubble.tscn | 3 +- scenes/levels/01/level_01.tscn | 22 +- scenes/levels/01/tilemap.tscn | 3 +- scenes/levels/02/background_02.tscn | 3 + scenes/levels/02/level_02.tscn | 7 +- scenes/main.gd | 2 +- scenes/main.tscn | 6 +- 24 files changed, 1674 insertions(+), 61 deletions(-) create mode 100644 common/icon.ico create mode 100644 common/tiles/assets/grass.svg create mode 100644 common/tiles/assets/grass.svg.import create mode 100644 common/tiles/assets/liquid.svg create mode 100644 common/tiles/assets/liquid.svg.import create mode 100644 common/tiles/assets/water.svg create mode 100644 common/tiles/assets/water.svg.import create mode 100644 common/tiles/base.tres diff --git a/common/icon.ico b/common/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..7adc2a55a346848a1c985cf06256e85779e3d69d GIT binary patch literal 67646 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 literal 0 HcmV?d00001 diff --git a/common/player_head.png b/common/player_head.png index c5a3fd663adb9e0a02a16bc5c1da31b85d3f4a3d..43cc9aeda9db9b7a8a191a60a12721d38f6c0e62 100644 GIT binary patch delta 35295 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 diff --git a/common/tiles/assets/grass.svg b/common/tiles/assets/grass.svg new file mode 100644 index 0000000..e15f6db --- /dev/null +++ b/common/tiles/assets/grass.svg @@ -0,0 +1,727 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/tiles/assets/grass.svg.import b/common/tiles/assets/grass.svg.import new file mode 100644 index 0000000..05da665 --- /dev/null +++ b/common/tiles/assets/grass.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/grass.svg-1ec36997ec5e08723467fe7679d50c14.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://common/tiles/assets/grass.svg" +dest_files=[ "res://.import/grass.svg-1ec36997ec5e08723467fe7679d50c14.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 +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/common/tiles/assets/liquid.svg b/common/tiles/assets/liquid.svg new file mode 100644 index 0000000..db8d4d0 --- /dev/null +++ b/common/tiles/assets/liquid.svg @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/tiles/assets/liquid.svg.import b/common/tiles/assets/liquid.svg.import new file mode 100644 index 0000000..526d27e --- /dev/null +++ b/common/tiles/assets/liquid.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/liquid.svg-aa214e1d670e5bab430ff4195c297e4e.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://common/tiles/assets/liquid.svg" +dest_files=[ "res://.import/liquid.svg-aa214e1d670e5bab430ff4195c297e4e.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 +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/common/tiles/assets/water.svg b/common/tiles/assets/water.svg new file mode 100644 index 0000000..9ea3c51 --- /dev/null +++ b/common/tiles/assets/water.svg @@ -0,0 +1,51 @@ + + + + + + + + + + diff --git a/common/tiles/assets/water.svg.import b/common/tiles/assets/water.svg.import new file mode 100644 index 0000000..bf0d841 --- /dev/null +++ b/common/tiles/assets/water.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/water.svg-589a7f6f3af50104b42b9d564f2834e5.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://common/tiles/assets/water.svg" +dest_files=[ "res://.import/water.svg-589a7f6f3af50104b42b9d564f2834e5.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 +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/common/tiles/base.tres b/common/tiles/base.tres new file mode 100644 index 0000000..f389f78 --- /dev/null +++ b/common/tiles/base.tres @@ -0,0 +1,559 @@ +[gd_resource type="TileSet" load_steps=32 format=2] + +[ext_resource path="res://common/tiles/assets/grass.svg" type="Texture" id=1] +[ext_resource path="res://common/tiles/assets/liquid.svg" type="Texture" id=2] + +[sub_resource type="ConvexPolygonShape2D" id=1] +points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 ) + +[sub_resource type="ConvexPolygonShape2D" id=2] +points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 ) + +[sub_resource type="ConvexPolygonShape2D" id=3] +points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 ) + +[sub_resource type="ConvexPolygonShape2D" id=4] +points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 ) + +[sub_resource type="ConvexPolygonShape2D" id=5] +points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 ) + +[sub_resource type="ConvexPolygonShape2D" id=6] +points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 ) + +[sub_resource type="ConvexPolygonShape2D" id=7] +points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 ) + +[sub_resource type="ConvexPolygonShape2D" id=17] +points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 ) + +[sub_resource type="ConvexPolygonShape2D" id=24] +points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 ) + +[sub_resource type="ConvexPolygonShape2D" id=25] +points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 ) + +[sub_resource type="ConvexPolygonShape2D" id=26] +points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 ) + +[sub_resource type="ConvexPolygonShape2D" id=27] +points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 ) + +[sub_resource type="ConvexPolygonShape2D" id=28] +points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 ) + +[sub_resource type="ConvexPolygonShape2D" id=29] +points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 ) + +[sub_resource type="ConvexPolygonShape2D" id=8] +points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 ) + +[sub_resource type="ConvexPolygonShape2D" id=9] +points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 ) + +[sub_resource type="ConvexPolygonShape2D" id=10] +points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 ) + +[sub_resource type="ConvexPolygonShape2D" id=11] +points = PoolVector2Array( -10, 0, -10, 0, -10, 70, -10, 70 ) + +[sub_resource type="ConvexPolygonShape2D" id=12] +points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 ) + +[sub_resource type="ConvexPolygonShape2D" id=13] +points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 ) + +[sub_resource type="ConvexPolygonShape2D" id=14] +points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 ) + +[sub_resource type="ConvexPolygonShape2D" id=15] +points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 ) + +[sub_resource type="ConvexPolygonShape2D" id=16] +points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 ) + +[sub_resource type="ConvexPolygonShape2D" id=18] +points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 ) + +[sub_resource type="ConvexPolygonShape2D" id=19] +points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 ) + +[sub_resource type="ConvexPolygonShape2D" id=20] +points = PoolVector2Array( 0, 0, 0, 0, 70, 70, 0, 70 ) + +[sub_resource type="ConvexPolygonShape2D" id=21] +points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 ) + +[sub_resource type="ConvexPolygonShape2D" id=22] +points = PoolVector2Array( -10, -10, -10, -10, -10, -10, -10, -10 ) + +[sub_resource type="ConvexPolygonShape2D" id=23] +points = PoolVector2Array( 0, 70, 70, 0, 70, 70, 0, 70 ) + +[resource] +0/name = "Grass 1" +0/texture = ExtResource( 1 ) +0/tex_offset = Vector2( 0, 0 ) +0/modulate = Color( 1, 1, 1, 1 ) +0/region = Rect2( 0, 0, 310, 70 ) +0/tile_mode = 1 +0/autotile/bitmask_mode = 1 +0/autotile/bitmask_flags = [ Vector2( 0, 0 ), 16, Vector2( 1, 0 ), 48, Vector2( 2, 0 ), 56, Vector2( 3, 0 ), 24 ] +0/autotile/icon_coordinate = Vector2( 0, 0 ) +0/autotile/tile_size = Vector2( 70, 70 ) +0/autotile/spacing = 10 +0/autotile/occluder_map = [ ] +0/autotile/navpoly_map = [ ] +0/autotile/priority_map = [ ] +0/autotile/z_index_map = [ ] +0/occluder_offset = Vector2( 0, 0 ) +0/navigation_offset = Vector2( 0, 0 ) +0/shape_offset = Vector2( 0, 0 ) +0/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +0/shape = SubResource( 1 ) +0/shape_one_way = false +0/shape_one_way_margin = 1.0 +0/shapes = [ { +"autotile_coord": Vector2( 0, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 1 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 1, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 2 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 2, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 3 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 3, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 4 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +0/z_index = 0 +1/name = "Grass 1" +1/texture = ExtResource( 1 ) +1/tex_offset = Vector2( 0, 0 ) +1/modulate = Color( 1, 1, 1, 1 ) +1/region = Rect2( 80, 80, 230, 70 ) +1/tile_mode = 1 +1/autotile/bitmask_mode = 1 +1/autotile/bitmask_flags = [ Vector2( 0, 0 ), 48, Vector2( 1, 0 ), 56, Vector2( 2, 0 ), 24 ] +1/autotile/icon_coordinate = Vector2( 0, 0 ) +1/autotile/tile_size = Vector2( 70, 70 ) +1/autotile/spacing = 10 +1/autotile/occluder_map = [ ] +1/autotile/navpoly_map = [ ] +1/autotile/priority_map = [ ] +1/autotile/z_index_map = [ ] +1/occluder_offset = Vector2( 0, 0 ) +1/navigation_offset = Vector2( 0, 0 ) +1/shape_offset = Vector2( 0, 0 ) +1/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +1/shape = SubResource( 5 ) +1/shape_one_way = false +1/shape_one_way_margin = 1.0 +1/shapes = [ { +"autotile_coord": Vector2( 0, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 5 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 1, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 6 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 2, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 7 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +1/z_index = 0 +2/name = "Grass 3" +2/texture = ExtResource( 1 ) +2/tex_offset = Vector2( 0, 0 ) +2/modulate = Color( 1, 1, 1, 1 ) +2/region = Rect2( 80, 160, 230, 70 ) +2/tile_mode = 1 +2/autotile/bitmask_mode = 1 +2/autotile/bitmask_flags = [ Vector2( 0, 0 ), 48, Vector2( 1, 0 ), 56, Vector2( 2, 0 ), 24 ] +2/autotile/icon_coordinate = Vector2( 0, 0 ) +2/autotile/tile_size = Vector2( 70, 70 ) +2/autotile/spacing = 10 +2/autotile/occluder_map = [ ] +2/autotile/navpoly_map = [ ] +2/autotile/priority_map = [ ] +2/autotile/z_index_map = [ ] +2/occluder_offset = Vector2( 0, 0 ) +2/navigation_offset = Vector2( 0, 0 ) +2/shape_offset = Vector2( 0, 0 ) +2/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +2/shape = SubResource( 8 ) +2/shape_one_way = false +2/shape_one_way_margin = 1.0 +2/shapes = [ { +"autotile_coord": Vector2( 0, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 8 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 1, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 9 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 2, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 10 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +2/z_index = 0 +3/name = "Grass 12" +3/texture = ExtResource( 1 ) +3/tex_offset = Vector2( 0, 0 ) +3/modulate = Color( 1, 1, 1, 1 ) +3/region = Rect2( 160, 240, 150, 150 ) +3/tile_mode = 1 +3/autotile/bitmask_mode = 1 +3/autotile/bitmask_flags = [ Vector2( 0, 0 ), 16, Vector2( 0, 1 ), 56, Vector2( 1, 0 ), 48, Vector2( 1, 1 ), 24 ] +3/autotile/icon_coordinate = Vector2( 0, 0 ) +3/autotile/tile_size = Vector2( 70, 70 ) +3/autotile/spacing = 10 +3/autotile/occluder_map = [ ] +3/autotile/navpoly_map = [ ] +3/autotile/priority_map = [ ] +3/autotile/z_index_map = [ ] +3/occluder_offset = Vector2( 0, 0 ) +3/navigation_offset = Vector2( 0, 0 ) +3/shape_offset = Vector2( 0, 0 ) +3/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +3/shape = SubResource( 11 ) +3/shape_one_way = false +3/shape_one_way_margin = 1.0 +3/shapes = [ { +"autotile_coord": Vector2( 2, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 11 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 0, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 12 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 1, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 13 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 0, 1 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 14 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 1, 1 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 15 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +3/z_index = 0 +4/name = "Grass 5" +4/texture = ExtResource( 1 ) +4/tex_offset = Vector2( 0, 0 ) +4/modulate = Color( 1, 1, 1, 1 ) +4/region = Rect2( 160, 0, 70, 70 ) +4/tile_mode = 0 +4/occluder_offset = Vector2( 0, 0 ) +4/navigation_offset = Vector2( 0, 0 ) +4/shape_offset = Vector2( 0, 0 ) +4/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +4/shape = SubResource( 16 ) +4/shape_one_way = false +4/shape_one_way_margin = 1.0 +4/shapes = [ { +"autotile_coord": Vector2( 0, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 16 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +4/z_index = 0 +5/name = "Grass 6" +5/texture = ExtResource( 1 ) +5/tex_offset = Vector2( 0, 0 ) +5/modulate = Color( 1, 1, 1, 1 ) +5/region = Rect2( 0, 80, 70, 70 ) +5/tile_mode = 0 +5/occluder_offset = Vector2( 0, 0 ) +5/navigation_offset = Vector2( 0, 0 ) +5/shape_offset = Vector2( 0, 0 ) +5/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +5/shape = SubResource( 18 ) +5/shape_one_way = false +5/shape_one_way_margin = 1.0 +5/shapes = [ { +"autotile_coord": Vector2( 0, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 18 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +5/z_index = 0 +6/name = "Grass 7" +6/texture = ExtResource( 1 ) +6/tex_offset = Vector2( 0, 0 ) +6/modulate = Color( 1, 1, 1, 1 ) +6/region = Rect2( 0, 160, 70, 70 ) +6/tile_mode = 0 +6/occluder_offset = Vector2( 0, 0 ) +6/navigation_offset = Vector2( 0, 0 ) +6/shape_offset = Vector2( 0, 0 ) +6/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +6/shape = SubResource( 19 ) +6/shape_one_way = false +6/shape_one_way_margin = 1.0 +6/shapes = [ { +"autotile_coord": Vector2( 0, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 19 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +6/z_index = 0 +7/name = "Grass 8" +7/texture = ExtResource( 1 ) +7/tex_offset = Vector2( 0, 0 ) +7/modulate = Color( 1, 1, 1, 1 ) +7/region = Rect2( 0, 240, 70, 70 ) +7/tile_mode = 0 +7/occluder_offset = Vector2( 0, 0 ) +7/navigation_offset = Vector2( 0, 0 ) +7/shape_offset = Vector2( 0, 0 ) +7/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +7/shape = SubResource( 20 ) +7/shape_one_way = false +7/shape_one_way_margin = 1.0 +7/shapes = [ { +"autotile_coord": Vector2( 0, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 20 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +7/z_index = 0 +8/name = "Grass 9" +8/texture = ExtResource( 1 ) +8/tex_offset = Vector2( 0, 0 ) +8/modulate = Color( 1, 1, 1, 1 ) +8/region = Rect2( 0, 320, 70, 70 ) +8/tile_mode = 0 +8/occluder_offset = Vector2( 0, 0 ) +8/navigation_offset = Vector2( 0, 0 ) +8/shape_offset = Vector2( 0, 0 ) +8/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +8/shape = SubResource( 21 ) +8/shape_one_way = false +8/shape_one_way_margin = 1.0 +8/shapes = [ { +"autotile_coord": Vector2( 0, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 21 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +8/z_index = 0 +9/name = "Grass 10" +9/texture = ExtResource( 1 ) +9/tex_offset = Vector2( 0, 0 ) +9/modulate = Color( 1, 1, 1, 1 ) +9/region = Rect2( 80, 240, 70, 70 ) +9/tile_mode = 1 +9/autotile/bitmask_mode = 0 +9/autotile/bitmask_flags = [ ] +9/autotile/icon_coordinate = Vector2( 0, 0 ) +9/autotile/tile_size = Vector2( 70, 70 ) +9/autotile/spacing = 10 +9/autotile/occluder_map = [ ] +9/autotile/navpoly_map = [ ] +9/autotile/priority_map = [ ] +9/autotile/z_index_map = [ ] +9/occluder_offset = Vector2( 0, 0 ) +9/navigation_offset = Vector2( 0, 0 ) +9/shape_offset = Vector2( 0, 0 ) +9/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +9/shape = SubResource( 22 ) +9/shape_one_way = false +9/shape_one_way_margin = 1.0 +9/shapes = [ { +"autotile_coord": Vector2( 1, 1 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 22 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 0, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 23 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +9/z_index = 0 +10/name = "Grass 11" +10/texture = ExtResource( 1 ) +10/tex_offset = Vector2( 0, 0 ) +10/modulate = Color( 1, 1, 1, 1 ) +10/region = Rect2( 80, 320, 70, 70 ) +10/tile_mode = 0 +10/occluder_offset = Vector2( 0, 0 ) +10/navigation_offset = Vector2( 0, 0 ) +10/shape_offset = Vector2( 0, 0 ) +10/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +10/shape = SubResource( 17 ) +10/shape_one_way = false +10/shape_one_way_margin = 1.0 +10/shapes = [ { +"autotile_coord": Vector2( 0, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 17 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +10/z_index = 0 +11/name = "Water 1" +11/texture = ExtResource( 2 ) +11/tex_offset = Vector2( 0, 0 ) +11/modulate = Color( 1, 1, 1, 1 ) +11/region = Rect2( 80, 0, 70, 70 ) +11/tile_mode = 0 +11/occluder_offset = Vector2( 0, 0 ) +11/navigation_offset = Vector2( 0, 0 ) +11/shape_offset = Vector2( 0, 0 ) +11/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +11/shape_one_way = false +11/shape_one_way_margin = 0.0 +11/shapes = [ ] +11/z_index = 0 +12/name = "Water 2" +12/texture = ExtResource( 2 ) +12/tex_offset = Vector2( 0, 0 ) +12/modulate = Color( 1, 1, 1, 1 ) +12/region = Rect2( 160, 0, 70, 70 ) +12/tile_mode = 0 +12/occluder_offset = Vector2( 0, 0 ) +12/navigation_offset = Vector2( 0, 0 ) +12/shape_offset = Vector2( 0, 0 ) +12/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +12/shape_one_way = false +12/shape_one_way_margin = 0.0 +12/shapes = [ ] +12/z_index = 0 +13/name = "Grass 13" +13/texture = ExtResource( 1 ) +13/tex_offset = Vector2( 0, 0 ) +13/modulate = Color( 1, 1, 1, 1 ) +13/region = Rect2( 0, 400, 310, 70 ) +13/tile_mode = 1 +13/autotile/bitmask_mode = 1 +13/autotile/bitmask_flags = [ Vector2( 0, 0 ), 16, Vector2( 1, 0 ), 48, Vector2( 2, 0 ), 56, Vector2( 3, 0 ), 24 ] +13/autotile/icon_coordinate = Vector2( 0, 0 ) +13/autotile/tile_size = Vector2( 70, 70 ) +13/autotile/spacing = 10 +13/autotile/occluder_map = [ ] +13/autotile/navpoly_map = [ ] +13/autotile/priority_map = [ ] +13/autotile/z_index_map = [ ] +13/occluder_offset = Vector2( 0, 0 ) +13/navigation_offset = Vector2( 0, 0 ) +13/shape_offset = Vector2( 0, 0 ) +13/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +13/shape = SubResource( 24 ) +13/shape_one_way = false +13/shape_one_way_margin = 1.0 +13/shapes = [ { +"autotile_coord": Vector2( 2, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 24 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 0, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 25 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 1, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 26 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 3, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 27 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +13/z_index = 0 +14/name = "Grass 14" +14/texture = ExtResource( 1 ) +14/tex_offset = Vector2( 0, 0 ) +14/modulate = Color( 1, 1, 1, 1 ) +14/region = Rect2( 80, 400, 70, 70 ) +14/tile_mode = 0 +14/occluder_offset = Vector2( 0, 0 ) +14/navigation_offset = Vector2( 0, 0 ) +14/shape_offset = Vector2( 0, 0 ) +14/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +14/shape = SubResource( 28 ) +14/shape_one_way = false +14/shape_one_way_margin = 1.0 +14/shapes = [ { +"autotile_coord": Vector2( 0, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 28 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +14/z_index = 0 +15/name = "Grass 15" +15/texture = ExtResource( 1 ) +15/tex_offset = Vector2( 0, 0 ) +15/modulate = Color( 1, 1, 1, 1 ) +15/region = Rect2( 240, 400, 70, 70 ) +15/tile_mode = 0 +15/occluder_offset = Vector2( 0, 0 ) +15/navigation_offset = Vector2( 0, 0 ) +15/shape_offset = Vector2( 0, 0 ) +15/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +15/shape = SubResource( 29 ) +15/shape_one_way = false +15/shape_one_way_margin = 1.0 +15/shapes = [ { +"autotile_coord": Vector2( 0, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 29 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +15/z_index = 0 diff --git a/export_presets.cfg b/export_presets.cfg index 6bcf94f..80ecbb9 100644 --- a/export_presets.cfg +++ b/export_presets.cfg @@ -7,7 +7,7 @@ custom_features="" export_filter="all_resources" include_filter="" exclude_filter="" -export_path="../../Flopsy_the_Dog.exe" +export_path="../../flopsy.exe" script_export_mode=1 script_encryption_key="" @@ -15,7 +15,7 @@ script_encryption_key="" custom_template/debug="" custom_template/release="" -binary_format/64_bits=true +binary_format/64_bits=false binary_format/embed_pck=false texture_format/bptc=false texture_format/s3tc=true @@ -30,7 +30,7 @@ codesign/timestamp_server_url="" codesign/digest_algorithm=1 codesign/description="" codesign/custom_options=PoolStringArray( ) -application/icon="" +application/icon="res://common/icon.ico" application/file_version="" application/product_version="" application/company_name="" @@ -46,9 +46,9 @@ platform="Linux/X11" runnable=true custom_features="" export_filter="all_resources" -include_filter="*.ogg" +include_filter="" exclude_filter="" -export_path="../../../../flopsy.x86_64" +export_path="../../flopsy.x86_64" script_export_mode=1 script_encryption_key="" diff --git a/objects/characters/character.gd b/objects/characters/character.gd index b06eec6..a44b76f 100644 --- a/objects/characters/character.gd +++ b/objects/characters/character.gd @@ -1,19 +1,20 @@ extends KinematicBody2D -var motion = Vector2(0, 0) -const UP = Vector2(0, -1) -const GRAVITY = 30 +const GRAVITY = 2000.0 +const SNAP = Vector2(0, 100) +var velocity = Vector2(0, 0) +var snap = SNAP export var health : int = 100 -func _process_gravity(): +func _process_gravity(delta): if not is_on_floor(): - motion.y += GRAVITY + velocity.y += delta * GRAVITY else: - motion.y = 1 + velocity.y = 1 if is_on_ceiling(): - motion.y = GRAVITY + velocity.y = 1 func _physics_process(delta): - if motion != null: - move_and_slide(motion, UP) - _process_gravity() + if velocity != null: + move_and_slide_with_snap(velocity, snap, Vector2(0, -1)) + _process_gravity(delta) diff --git a/objects/characters/monsters/01/monster_01.gd b/objects/characters/monsters/01/monster_01.gd index 68ddb45..87851d0 100644 --- a/objects/characters/monsters/01/monster_01.gd +++ b/objects/characters/monsters/01/monster_01.gd @@ -1,11 +1,11 @@ extends "res://objects/characters/monsters/monster.gd" func _process(delta): - if motion != null: + if velocity != null: if not $RayBottomLeft.is_colliding(): - motion.x = speed + velocity.x = speed if not $RayBottomRight.is_colliding(): - motion.x = -speed + velocity.x = -speed if $RayPlayerLeft.is_colliding(): var collider = $RayPlayerLeft.get_collider() collider.monster_hit(-speed, DAMAGE) diff --git a/objects/characters/monsters/01/monster_01.tscn b/objects/characters/monsters/01/monster_01.tscn index cec7c91..139d521 100644 --- a/objects/characters/monsters/01/monster_01.tscn +++ b/objects/characters/monsters/01/monster_01.tscn @@ -74,4 +74,4 @@ cast_to = Vector2( 10, 0 ) [node name="StampedSound" type="AudioStreamPlayer2D" parent="."] stream = ExtResource( 16 ) -volume_db = 20.0 +volume_db = 10.0 diff --git a/objects/characters/monsters/monster.gd b/objects/characters/monsters/monster.gd index c9cbcc9..f2fa3eb 100644 --- a/objects/characters/monsters/monster.gd +++ b/objects/characters/monsters/monster.gd @@ -6,15 +6,15 @@ const DAMAGE = 5 func _ready(): if reverse_direction: - motion.x = -speed + velocity.x = -speed else: - motion.x = speed + velocity.x = speed func _process(delta): - if motion != null: - if motion.x > 0: + if velocity != null: + if velocity.x > 0: $Sprite.flip_h = true - elif motion.x < 0: + elif velocity.x < 0: $Sprite.flip_h = false if health <= 0: _die() @@ -23,5 +23,5 @@ func stomped_on_head(): pass func _die(): - motion = null + velocity = null $Collision.disabled = true diff --git a/objects/characters/player.gd b/objects/characters/player.gd index 418e063..a7ec011 100644 --- a/objects/characters/player.gd +++ b/objects/characters/player.gd @@ -76,9 +76,9 @@ func _ready(): $Sprite.animation = ANIMATIONS[player_state]['animation'] func _physics_process(delta): - if motion.y > 5 * GRAVITY and not $RayBottomLeft.is_colliding() and not $RayBottomRight.is_colliding(): + if velocity.y > 1 and not is_on_floor(): _set_player_state("fall_start") - + if Input.is_action_pressed("move_left") and not Input.is_action_pressed("move_right") \ and not player_state in ["striked_start", "striked", "striked_end"]: move_left(SPEED) @@ -89,6 +89,7 @@ func _physics_process(delta): move_stop() if is_on_floor(): + snap = SNAP _end_animation() if Input.is_action_just_pressed("jump"): @@ -109,41 +110,42 @@ func _set_player_state(new_state): func move_right(delta): _set_player_state("run") get_node("Sprite").set_flip_h(false) - motion.x = delta + velocity.x = delta func move_left(delta): _set_player_state("run") get_node("Sprite").set_flip_h(true) - motion.x = -delta + velocity.x = -delta func move_stop(): _set_player_state("idle") - motion.x = 0 + velocity.x = 0 func jump(): if _set_player_state("jump_start"): + snap = Vector2.ZERO if get_floor_velocity().y < 0: position.y += get_floor_velocity().y * get_physics_process_delta_time() \ - GRAVITY * get_physics_process_delta_time() - 3 - motion.y -= JUMP_HEIGHT + velocity.y -= JUMP_HEIGHT func _on_GroundCheck_body_entered(body): _end_animation() func _end_animation(): - if motion.y > 0 and player_state in ["jump_start", "jump"]: + if velocity.y > 0 and player_state in ["jump_start", "jump"]: _set_player_state("jump_end") - if motion.y > 0 and player_state in ["fall_start", "fall"]: + if velocity.y > 0 and player_state in ["fall_start", "fall"]: _set_player_state("fall_end") - if motion.y > 0 and player_state in ["striked_start", "striked"]: + if velocity.y > 0 and player_state in ["striked_start", "striked"]: _set_player_state("striked_end") func monster_hit(direction : int, damage: int): if not invincible_hit: invincible_hit = true _set_player_state("striked_start") - motion.y = -STRIKED_HEIGHT - motion.x = direction * 5 + velocity.y = -STRIKED_HEIGHT + velocity.x = direction * 5 yield(get_tree().create_timer(1.0), "timeout") invincible_hit = false @@ -155,6 +157,6 @@ func coin_collected(value): main.add_score(value) func _on_screen_exited(): - if motion.y > 1: + if velocity.y > 1: health = 0 main.player_died() diff --git a/objects/characters/player.tscn b/objects/characters/player.tscn index 8732c81..edbe0ca 100644 --- a/objects/characters/player.tscn +++ b/objects/characters/player.tscn @@ -20,7 +20,7 @@ script = ExtResource( 11 ) [node name="Sprite" type="AnimatedSprite" parent="."] frames = ExtResource( 1 ) animation = "idle" -frame = 8 +frame = 6 playing = true __meta__ = { "_edit_lock_": true @@ -45,16 +45,18 @@ limit_smoothed = true smoothing_enabled = true [node name="RayBottomLeft" type="RayCast2D" parent="."] -position = Vector2( -184, 212 ) +position = Vector2( -184, 0 ) enabled = true -cast_to = Vector2( 0, 60 ) +cast_to = Vector2( 0, 400 ) collision_mask = 6 +collide_with_areas = true [node name="RayBottomRight" type="RayCast2D" parent="."] -position = Vector2( 138, 212 ) +position = Vector2( 154, 0 ) enabled = true -cast_to = Vector2( 0, 60 ) +cast_to = Vector2( 0, 400 ) collision_mask = 6 +collide_with_areas = true [node name="EnemyBottomCheck" type="Area2D" parent="."] collision_mask = 2 diff --git a/objects/coin/coin.tscn b/objects/coin/coin.tscn index 726af2c..4151465 100644 --- a/objects/coin/coin.tscn +++ b/objects/coin/coin.tscn @@ -68,7 +68,7 @@ shape = SubResource( 3 ) [node name="SoundCollected" type="AudioStreamPlayer2D" parent="."] stream = ExtResource( 20 ) -volume_db = 20.0 +volume_db = -12.0 [connection signal="body_entered" from="PlayerCollision" to="." method="_on_Player_entered"] [connection signal="finished" from="SoundCollected" to="." method="_on_SoundCollected_finished"] diff --git a/objects/speech_bubble/speech_bubble.tscn b/objects/speech_bubble/speech_bubble.tscn index 7270681..9fd846a 100644 --- a/objects/speech_bubble/speech_bubble.tscn +++ b/objects/speech_bubble/speech_bubble.tscn @@ -28,6 +28,7 @@ tracks/0/keys = { } [node name="SpeechBubble" type="ReferenceRect"] +modulate = Color( 1, 1, 1, 0 ) margin_right = 490.0 margin_bottom = 175.0 script = ExtResource( 1 ) @@ -141,4 +142,4 @@ anims/fade = SubResource( 1 ) [node name="TypeSound" type="AudioStreamPlayer" parent="."] stream = ExtResource( 7 ) -volume_db = 15.0 +volume_db = -14.0 diff --git a/scenes/levels/01/level_01.tscn b/scenes/levels/01/level_01.tscn index 1bd9011..08425b7 100644 --- a/scenes/levels/01/level_01.tscn +++ b/scenes/levels/01/level_01.tscn @@ -3,7 +3,7 @@ [ext_resource path="res://scenes/levels/01/background_01.tscn" type="PackedScene" id=1] [ext_resource path="res://scenes/levels/01/level_01.gd" type="Script" id=2] [ext_resource path="res://objects/characters/flake/flake.tscn" type="PackedScene" id=3] -[ext_resource path="res://scenes/levels/01/tilemap.tscn" type="PackedScene" id=4] +[ext_resource path="res://common/tiles/base.tres" type="TileSet" id=4] [ext_resource path="res://objects/coin/coin.tscn" type="PackedScene" id=5] [ext_resource path="res://objects/characters/monsters/01/monster_01.tscn" type="PackedScene" id=6] [ext_resource path="res://objects/characters/player.tscn" type="PackedScene" id=7] @@ -18,12 +18,18 @@ position = Vector2( 105, 910 ) scale = Vector2( 0.2, 0.2 ) background_scene = ExtResource( 1 ) -[node name="Tiles" parent="." instance=ExtResource( 4 )] - [node name="monster_01" parent="." instance=ExtResource( 6 )] position = Vector2( 1015, 945 ) reverse_direction = true +[node name="TileMap" type="TileMap" parent="."] +tile_set = ExtResource( 4 ) +cell_size = Vector2( 70, 70 ) +collision_layer = 4 +collision_mask = 0 +format = 1 +tile_data = PoolIntArray( 524305, 1, 0, 524306, 1, 1, 524307, 1, 1, 524308, 1, 1, 524309, 1, 2, 589835, 1, 0, 589836, 1, 1, 589837, 1, 1, 589838, 1, 2, 786449, 0, 1, 786450, 0, 2, 786451, 0, 3, 786459, 1, 0, 786460, 4, 0, 786461, 4, 0, 786462, 4, 0, 786463, 4, 0, 786464, 7, 0, 851990, 9, 0, 851991, 4, 0, 851992, 15, 0, 851996, 5, 0, 851997, 5, 0, 851998, 5, 0, 851999, 5, 0, 852000, 8, 0, 852001, 7, 0, 983039, 4, 0, 917504, 4, 0, 917505, 4, 0, 917506, 4, 0, 917507, 4, 0, 917508, 4, 0, 917509, 4, 0, 917510, 4, 0, 917511, 4, 0, 917512, 4, 0, 917513, 4, 0, 917514, 4, 0, 917515, 4, 0, 917516, 4, 0, 917517, 4, 0, 917518, 4, 0, 917519, 7, 0, 917525, 9, 0, 917526, 10, 0, 917527, 5, 0, 917528, 5, 0, 917529, 11, 0, 917530, 11, 0, 917531, 11, 0, 917532, 5, 0, 917533, 4, 0, 917534, 4, 0, 917535, 4, 0, 917536, 5, 0, 917537, 8, 0, 917538, 7, 0, 1048575, 5, 0, 983040, 5, 0, 983041, 5, 0, 983042, 5, 0, 983043, 5, 0, 983044, 5, 0, 983045, 5, 0, 983046, 5, 0, 983047, 5, 0, 983048, 5, 0, 983049, 5, 0, 983050, 5, 0, 983051, 5, 0, 983052, 5, 0, 983053, 5, 0, 983054, 5, 0, 983055, 8, 0, 983056, 4, 0, 983057, 4, 0, 983058, 4, 0, 983059, 4, 0, 983060, 4, 0, 983061, 10, 0, 983062, 5, 0, 983063, 5, 0, 983064, 5, 0, 983065, 12, 0, 983066, 12, 0, 983067, 12, 0, 983068, 5, 0, 983069, 5, 0, 983070, 5, 0, 983071, 5, 0, 983072, 5, 0, 983073, 5, 0, 983074, 8, 0, 983075, 4, 0, 983076, 4, 0, 983077, 4, 0, 983078, 4, 0, 983079, 4, 0, 983080, 4, 0, 983081, 4, 0 ) + [node name="Coin" parent="." instance=ExtResource( 5 )] position = Vector2( 315, 700 ) @@ -43,10 +49,10 @@ position = Vector2( 1435, 420 ) type = 2 [node name="Lift" parent="." instance=ExtResource( 8 )] -margin_left = 2485.0 -margin_top = 140.0 -margin_right = 2865.0 -margin_bottom = 965.0 +margin_left = 2491.0 +margin_top = 146.0 +margin_right = 2871.0 +margin_bottom = 971.0 [node name="Coin6" parent="." instance=ExtResource( 5 )] position = Vector2( 3010, 70 ) @@ -72,7 +78,7 @@ type = 1 position = Vector2( 3185, 105 ) [node name="Flake" parent="." instance=ExtResource( 3 )] -position = Vector2( 3850, -140 ) +position = Vector2( 2774, 164 ) scale = Vector2( 0.2, 0.2 ) reverse_direction = true flake_scene = "res://scenes/levels/01/interlude_01.tscn" diff --git a/scenes/levels/01/tilemap.tscn b/scenes/levels/01/tilemap.tscn index 7d036e1..ca7d9ce 100644 --- a/scenes/levels/01/tilemap.tscn +++ b/scenes/levels/01/tilemap.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=2] -[ext_resource path="res://common/tilemap/tilemap.tres" type="TileSet" id=1] +[ext_resource path="res://common/tiles/base.tres" type="TileSet" id=1] [node name="Tiles" type="TileMap"] tile_set = ExtResource( 1 ) @@ -8,4 +8,3 @@ cell_size = Vector2( 70, 70 ) collision_layer = 4 collision_mask = 0 format = 1 -tile_data = PoolIntArray( -65485, 2, 1, -65484, 2, 2, -65483, 2, 2, -65482, 2, 2, -65481, 2, 3, 131114, 2, 1, 131115, 2, 2, 131116, 2, 2, 131117, 2, 2, 131118, 2, 2, 131119, 2, 2, 131120, 2, 3, 458769, 2, 1, 458770, 2, 2, 458771, 2, 2, 458772, 2, 2, 458773, 2, 3, 589835, 2, 1, 589836, 2, 2, 589837, 2, 2, 589838, 2, 3, 720912, 2, 0, 917504, 0, 1, 917505, 0, 2, 917506, 0, 2, 917507, 0, 2, 917508, 0, 2, 917509, 0, 2, 917510, 0, 2, 917511, 0, 2, 917512, 0, 2, 917513, 0, 2, 917514, 0, 2, 917515, 0, 2, 917516, 0, 2, 917517, 0, 2, 917518, 0, 2, 917519, 0, 2, 917520, 0, 2, 917521, 0, 2, 917522, 0, 2, 917523, 0, 2, 917524, 0, 2, 917525, 0, 2, 917526, 0, 2, 917527, 0, 2, 917528, 0, 3, 917532, 0, 1, 917533, 0, 2, 917534, 0, 2, 917535, 0, 2, 917536, 0, 2, 917537, 0, 2, 917538, 0, 3 ) diff --git a/scenes/levels/02/background_02.tscn b/scenes/levels/02/background_02.tscn index 1ed0aca..120e784 100644 --- a/scenes/levels/02/background_02.tscn +++ b/scenes/levels/02/background_02.tscn @@ -100,3 +100,6 @@ position = Vector2( 1536, 975 ) texture = ExtResource( 1 ) region_enabled = true region_rect = Rect2( 0, 0, 3072, 342 ) + +[node name="CanvasModulate" type="CanvasModulate" parent="."] +color = Color( 0.8, 0.8, 0.8, 1 ) diff --git a/scenes/levels/02/level_02.tscn b/scenes/levels/02/level_02.tscn index bcdbb6d..22591a1 100644 --- a/scenes/levels/02/level_02.tscn +++ b/scenes/levels/02/level_02.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=5 format=2] [ext_resource path="res://scenes/levels/02/level_02.gd" type="Script" id=1] -[ext_resource path="res://common/tilemap/tilemap.tres" type="TileSet" id=2] +[ext_resource path="res://common/tiles/base.tres" type="TileSet" id=2] [ext_resource path="res://objects/characters/player.tscn" type="PackedScene" id=3] [ext_resource path="res://scenes/levels/02/background_02.tscn" type="PackedScene" id=4] @@ -12,15 +12,16 @@ hud_color = Color( 1, 1, 1, 1 ) clear_color = Color( 0.0431373, 0.298039, 0.403922, 1 ) [node name="Player" parent="." instance=ExtResource( 3 )] -modulate = Color( 0.5, 0.5, 0.5, 1 ) position = Vector2( 136, 808 ) scale = Vector2( 0.2, 0.2 ) background_scene = ExtResource( 4 ) [node name="Tiles" type="TileMap" parent="."] -modulate = Color( 0.5, 0.5, 0.5, 1 ) tile_set = ExtResource( 2 ) collision_layer = 4 collision_mask = 0 format = 1 tile_data = PoolIntArray( 917505, 0, 1, 917506, 0, 2, 917507, 0, 2, 917508, 0, 2, 917509, 0, 2, 917510, 0, 2, 917511, 0, 2, 917512, 0, 2, 917513, 0, 2, 917514, 0, 2, 917515, 0, 2, 917516, 0, 2, 917517, 0, 2, 917518, 0, 2, 917519, 0, 2, 917520, 0, 2, 917521, 0, 2, 917522, 0, 2, 917523, 0, 2, 917524, 0, 2, 917525, 0, 2, 917526, 0, 2, 917527, 0, 2, 917528, 0, 2, 917529, 0, 2, 917530, 0, 2, 917531, 0, 2, 917532, 0, 2, 917533, 0, 2, 917534, 0, 2, 917535, 0, 2, 917536, 0, 2, 917537, 0, 2, 917538, 0, 2, 917539, 0, 2, 917540, 0, 2, 917541, 0, 2, 917542, 0, 2, 917543, 0, 2, 917544, 0, 0, 983080, 0, 0, 983081, 0, 2, 983082, 0, 2, 983083, 0, 2, 983084, 0, 3 ) + +[node name="CanvasModulate" type="CanvasModulate" parent="."] +color = Color( 0.5, 0.5, 0.5, 1 ) diff --git a/scenes/main.gd b/scenes/main.gd index f42324d..04b506c 100644 --- a/scenes/main.gd +++ b/scenes/main.gd @@ -25,7 +25,7 @@ func load_level(next_scene := level_path, fade_out : bool = false): add_child(current_level) play_bgm(current_level.bgm_path) $HUD.scene_fadein() - $BGM.volume_db = 10 + $BGM.volume_db = -5 func play_bgm(bgm_path): var stream diff --git a/scenes/main.tscn b/scenes/main.tscn index 556d900..bb99328 100644 --- a/scenes/main.tscn +++ b/scenes/main.tscn @@ -15,17 +15,17 @@ tracks/0/keys = { "times": PoolRealArray( 0, 1 ), "transitions": PoolRealArray( 1, 1 ), "update": 0, -"values": [ 10.0, -80.0 ] +"values": [ -5.0, -80.0 ] } [node name="Main" type="Node2D"] script = ExtResource( 3 ) -level_path = "res://scenes/levels/02/level_02.tscn" +level_path = "res://scenes/levels/01/level_01.tscn" [node name="HUD" parent="." instance=ExtResource( 1 )] [node name="BGM" type="AudioStreamPlayer" parent="."] -volume_db = 10.0 +volume_db = -20.0 [node name="Fader" type="AnimationPlayer" parent="BGM"] anims/fade_out = SubResource( 2 )