From 63fe9eb62f98e4db7e527ac237171e8104d75923 Mon Sep 17 00:00:00 2001 From: The-Tysonator Date: Mon, 24 Apr 2023 16:21:10 +0100 Subject: [PATCH] initial commit --- .gitignore | 1 + .import/.gdignore | 1 + ...d.png-890290c811414ed077a6b10fd28e12f1.md5 | 3 + ....png-890290c811414ed077a6b10fd28e12f1.stex | Bin 0 -> 2240 bytes ...n.png-487276ed1e3a0c39cad0279d744ee560.md5 | 3 + ....png-487276ed1e3a0c39cad0279d744ee560.stex | Bin 0 -> 1496 bytes ...d.png-fd6b33d2b56a22feb83002d47ed8ee64.md5 | 3 + ....png-fd6b33d2b56a22feb83002d47ed8ee64.stex | Bin 0 -> 6156 bytes Block.tscn | 16 ++ Enemies/WalkingEnemy/WalkingEnemy.gd | 35 +++ Enemies/WalkingEnemy/WalkingEnemy.tscn | 51 ++++ Ladder.gd | 2 + Ladder.tscn | 18 ++ LadderTop.gd | 3 + LadderTop.tscn | 21 ++ PinkPlayerSkin.tres | 37 +++ Player.gd | 154 +++++++++++ Player.tscn | 36 +++ Res/Hitbox.gd | 23 ++ Res/Hitbox.tscn | 10 + .../Resources/PlayerMovementSettings.tres | 6 + Settings/Scripts/Control.tscn | 9 + Settings/Scripts/PlayerMovementSettings.gd | 14 + Spikes.tscn | 19 ++ TileMap.tscn | 240 ++++++++++++++++++ World.gd | 11 + World.tscn | 56 ++++ characters_packed.png | Bin 0 -> 1973 bytes characters_packed.png.import | 35 +++ default_env.tres | 7 + export_presets.cfg | 0 icon.png | Bin 0 -> 3305 bytes icon.png.import | 35 +++ project.godot | 93 +++++++ tiles_packed.png | Bin 0 -> 5811 bytes tiles_packed.png.import | 35 +++ 36 files changed, 977 insertions(+) create mode 100644 .gitignore create mode 100644 .import/.gdignore create mode 100644 .import/characters_packed.png-890290c811414ed077a6b10fd28e12f1.md5 create mode 100644 .import/characters_packed.png-890290c811414ed077a6b10fd28e12f1.stex create mode 100644 .import/icon.png-487276ed1e3a0c39cad0279d744ee560.md5 create mode 100644 .import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex create mode 100644 .import/tiles_packed.png-fd6b33d2b56a22feb83002d47ed8ee64.md5 create mode 100644 .import/tiles_packed.png-fd6b33d2b56a22feb83002d47ed8ee64.stex create mode 100644 Block.tscn create mode 100644 Enemies/WalkingEnemy/WalkingEnemy.gd create mode 100644 Enemies/WalkingEnemy/WalkingEnemy.tscn create mode 100644 Ladder.gd create mode 100644 Ladder.tscn create mode 100644 LadderTop.gd create mode 100644 LadderTop.tscn create mode 100644 PinkPlayerSkin.tres create mode 100644 Player.gd create mode 100644 Player.tscn create mode 100644 Res/Hitbox.gd create mode 100644 Res/Hitbox.tscn create mode 100644 Settings/Resources/PlayerMovementSettings.tres create mode 100644 Settings/Scripts/Control.tscn create mode 100644 Settings/Scripts/PlayerMovementSettings.gd create mode 100644 Spikes.tscn create mode 100644 TileMap.tscn create mode 100644 World.gd create mode 100644 World.tscn create mode 100644 characters_packed.png create mode 100644 characters_packed.png.import create mode 100644 default_env.tres create mode 100644 export_presets.cfg create mode 100644 icon.png create mode 100644 icon.png.import create mode 100644 project.godot create mode 100644 tiles_packed.png create mode 100644 tiles_packed.png.import diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b7ff13a --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.DS_STORE \ No newline at end of file diff --git a/.import/.gdignore b/.import/.gdignore new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/.import/.gdignore @@ -0,0 +1 @@ + diff --git a/.import/characters_packed.png-890290c811414ed077a6b10fd28e12f1.md5 b/.import/characters_packed.png-890290c811414ed077a6b10fd28e12f1.md5 new file mode 100644 index 0000000..0bc717d --- /dev/null +++ b/.import/characters_packed.png-890290c811414ed077a6b10fd28e12f1.md5 @@ -0,0 +1,3 @@ +source_md5="457c0a7f86e70ac9030adc9afdb46c6f" +dest_md5="3a4a088e13ed17cd7011a3f43306b7c6" + diff --git a/.import/characters_packed.png-890290c811414ed077a6b10fd28e12f1.stex b/.import/characters_packed.png-890290c811414ed077a6b10fd28e12f1.stex new file mode 100644 index 0000000000000000000000000000000000000000..8b0bc27408d60ac29e1216004e111fd8058f734c GIT binary patch literal 2240 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 literal 0 HcmV?d00001 diff --git a/.import/tiles_packed.png-fd6b33d2b56a22feb83002d47ed8ee64.md5 b/.import/tiles_packed.png-fd6b33d2b56a22feb83002d47ed8ee64.md5 new file mode 100644 index 0000000..029f7e9 --- /dev/null +++ b/.import/tiles_packed.png-fd6b33d2b56a22feb83002d47ed8ee64.md5 @@ -0,0 +1,3 @@ +source_md5="856bc53ef0408e71bf5663288d9f1fa0" +dest_md5="ad99476f857fcc86b7e0b3c6d5501415" + diff --git a/.import/tiles_packed.png-fd6b33d2b56a22feb83002d47ed8ee64.stex b/.import/tiles_packed.png-fd6b33d2b56a22feb83002d47ed8ee64.stex new file mode 100644 index 0000000000000000000000000000000000000000..5c5143d824bd24af4f3cdd7fa0749a4b3c44f50f GIT binary patch literal 6156 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 e`{^Pziu^nJU)@;&r 0: + animatedSprite.flip_h = true + if input.x < 0: + animatedSprite.flip_h = false + + if input.x == 0: + apply_friction() + animatedSprite.animation = "Idle" + else: + apply_acceleration(input.x) + animatedSprite.animation = "Run" + + if is_on_floor(): + if Input.is_action_just_pressed("ui_up"): + velocity.y = moveData.MAXIMUM_JUMP + else: + animatedSprite.animation = "Jump" + if Input.is_action_just_released("ui_up") and velocity.y < moveData.MINIMUM_JUMP: + velocity.y = moveData.MINIMUM_JUMP + if velocity.y > 0: + velocity.y += moveData.ADDITIONAL_FALL_GRAVITY + + var was_in_air = not is_on_floor() + velocity = move_and_slide(velocity, Vector2.UP) + var just_landed = is_on_floor() and was_in_air + if just_landed: + animatedSprite.animation = "Run" + animatedSprite.frame = 1 + + +func climb_state(input): + if not is_on_ladder() and not is_ontop_ladder(): state = MOVE + if is_on_ladder(): state = CLIMB + if is_ontop_ladder(): state = TRANSITION + velocity = input * 50 + velocity = move_and_slide(velocity, Vector2.UP) + +func transition_state(input): + if not is_on_ladder() and not is_ontop_ladder(): state = MOVE + if is_on_ladder(): state = CLIMB + if is_ontop_ladder(): state = TRANSITION + + if not is_ontop_ladder(): + velocity.y += moveData.GRAVITY + velocity.y = min(velocity.y, 200) + + if input.x > 0: + animatedSprite.flip_h = true + if input.x < 0: + animatedSprite.flip_h = false + + if input.x == 0: + apply_friction() + animatedSprite.animation = "Idle" + else: + apply_acceleration(input.x) + animatedSprite.animation = "Run" + + if is_ontop_ladder(): + if Input.is_action_just_pressed("ui_up"): + velocity.y = moveData.MAXIMUM_JUMP + else: + animatedSprite.animation = "Jump" + if Input.is_action_just_released("ui_up") and velocity.y < moveData.MINIMUM_JUMP: + velocity.y = moveData.MINIMUM_JUMP + if velocity.y > 0: + velocity.y += moveData.ADDITIONAL_FALL_GRAVITY + + if Input.is_action_just_pressed("ui_down"): + var tr = ladderCheck.get_collider().get_node("CollisionShape2D").get_transform() + tr.origin = Vector2.ZERO + tr = tr.rotated(float(180)) + ladderCheck.get_collider().get_node("CollisionShape2D").set_transform(tr) + velocity.y = 10 + + var was_in_air = not is_ontop_ladder() + velocity = move_and_slide(velocity, Vector2.UP) + var just_landed = is_ontop_ladder() and was_in_air + if just_landed: + animatedSprite.animation = "Run" + animatedSprite.frame = 1 + + diff --git a/Player.tscn b/Player.tscn new file mode 100644 index 0000000..7e5ab14 --- /dev/null +++ b/Player.tscn @@ -0,0 +1,36 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://PinkPlayerSkin.tres" type="SpriteFrames" id=1] +[ext_resource path="res://Player.gd" type="Script" id=2] +[ext_resource path="res://Settings/Resources/PlayerMovementSettings.tres" type="Resource" id=3] + +[node name="Player" type="KinematicBody2D"] +collision_layer = 2 +script = ExtResource( 2 ) +moveData = ExtResource( 3 ) + +[node name="AnimatedSprite" type="AnimatedSprite" parent="."] +frames = ExtResource( 1 ) +animation = "Idle" +playing = true +flip_h = true + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="."] +scale = Vector2( 1, 1.2 ) +polygon = PoolVector2Array( -5, 10, -6, 9.16667, -7, 7.5, -8, 5.83333, -9, 5, -10, 3.33333, -10, -5.83333, -9, -7.5, -8, -8.33333, -6, -9.16667, 6, -9.16667, 8, -8.33333, 9, -7.5, 10, -5.83333, 10, 3.33333, 9, 5, 8, 5.83333, 7, 8.33333, 6, 9.16667, 5, 10 ) + +[node name="Camera2D" type="Camera2D" parent="."] +current = true +process_mode = 0 +smoothing_enabled = true +smoothing_speed = 1.0 + +[node name="LadderCheck" type="RayCast2D" parent="."] +enabled = true +cast_to = Vector2( 0, 13 ) +collide_with_areas = true + +[node name="LadderCheck2" type="RayCast2D" parent="."] +enabled = true +cast_to = Vector2( 0, 10 ) +collide_with_areas = true diff --git a/Res/Hitbox.gd b/Res/Hitbox.gd new file mode 100644 index 0000000..17b8584 --- /dev/null +++ b/Res/Hitbox.gd @@ -0,0 +1,23 @@ +extends Area2D + + +# Declare member variables here. Examples: +# var a = 2 +# var b = "text" + + +# Called when the node enters the scene tree for the first time. +func _ready(): + pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +#func _process(delta): +# pass + + + + +func _on_Hitbox_body_entered(body): + if body is Player: + get_tree().reload_current_scene() diff --git a/Res/Hitbox.tscn b/Res/Hitbox.tscn new file mode 100644 index 0000000..7cd7c1d --- /dev/null +++ b/Res/Hitbox.tscn @@ -0,0 +1,10 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://Res/Hitbox.gd" type="Script" id=1] + +[node name="Hitbox" type="Area2D"] +collision_layer = 0 +collision_mask = 2 +script = ExtResource( 1 ) + +[connection signal="body_entered" from="." to="." method="_on_Hitbox_body_entered"] diff --git a/Settings/Resources/PlayerMovementSettings.tres b/Settings/Resources/PlayerMovementSettings.tres new file mode 100644 index 0000000..d7cceff --- /dev/null +++ b/Settings/Resources/PlayerMovementSettings.tres @@ -0,0 +1,6 @@ +[gd_resource type="Resource" load_steps=2 format=2] + +[ext_resource path="res://Settings/Scripts/PlayerMovementSettings.gd" type="Script" id=1] + +[resource] +script = ExtResource( 1 ) diff --git a/Settings/Scripts/Control.tscn b/Settings/Scripts/Control.tscn new file mode 100644 index 0000000..fc98f7e --- /dev/null +++ b/Settings/Scripts/Control.tscn @@ -0,0 +1,9 @@ +[gd_scene format=2] + +[node name="Control" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 + +[node name="Button" type="Button" parent="."] +margin_right = 45.0 +margin_bottom = 20.0 diff --git a/Settings/Scripts/PlayerMovementSettings.gd b/Settings/Scripts/PlayerMovementSettings.gd new file mode 100644 index 0000000..361bfac --- /dev/null +++ b/Settings/Scripts/PlayerMovementSettings.gd @@ -0,0 +1,14 @@ +# Extends +extends Resource + +# Class Name +class_name Player_Movement_Settings + +# Settings +export(int) var MAXIMUM_JUMP = - 130 +export(int) var MINIMUM_JUMP = - 70 +export(int) var MAXIMUM_SPEED = 50 +export(int) var ACCELERATION = 10 +export(int) var FRICTION = 10 +export(int) var GRAVITY = 4 +export(int) var ADDITIONAL_FALL_GRAVITY = 4 diff --git a/Spikes.tscn b/Spikes.tscn new file mode 100644 index 0000000..dafdd82 --- /dev/null +++ b/Spikes.tscn @@ -0,0 +1,19 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://tiles_packed.png" type="Texture" id=1] +[ext_resource path="res://Res/Hitbox.tscn" type="PackedScene" id=2] + +[node name="Area2D" type="Node2D"] + +[node name="Sprite" type="Sprite" parent="."] +position = Vector2( 0, -9 ) +texture = ExtResource( 1 ) +region_enabled = true +region_rect = Rect2( 144, 54, 18, 18 ) + +[node name="Hitbox" parent="." instance=ExtResource( 2 )] + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Hitbox"] +position = Vector2( 0, -5 ) +scale = Vector2( 1, 0.5 ) +polygon = PoolVector2Array( -7, 10, -7, 4, -6, 0, -5, -4, -3, -4, -2, 0, -1, 4, -1, 8, 1, 8, 1, 4, 2, 4, 2, 0, 3, 0, 3, -4, 5, -4, 5, 0, 6, 0, 6, 4, 7, 4, 7, 10, 0, 10 ) diff --git a/TileMap.tscn b/TileMap.tscn new file mode 100644 index 0000000..40c2911 --- /dev/null +++ b/TileMap.tscn @@ -0,0 +1,240 @@ +[gd_scene load_steps=24 format=2] + +[ext_resource path="res://tiles_packed.png" type="Texture" id=1] + +[sub_resource type="ConvexPolygonShape2D" id=3] +points = PoolVector2Array( 0, 0, 18, 0, 18, 18, 0, 18 ) + +[sub_resource type="ConvexPolygonShape2D" id=4] +points = PoolVector2Array( 0, 0, 18, 0, 18, 18, 0, 18 ) + +[sub_resource type="ConvexPolygonShape2D" id=5] +points = PoolVector2Array( 0, 0, 18, 0, 18, 18, 0, 18 ) + +[sub_resource type="ConvexPolygonShape2D" id=6] +points = PoolVector2Array( 0, 0, 18, 0, 18, 18, 0, 18 ) + +[sub_resource type="ConvexPolygonShape2D" id=7] +points = PoolVector2Array( 0, 0, 18, 0, 18, 18, 0, 18 ) + +[sub_resource type="ConvexPolygonShape2D" id=8] +points = PoolVector2Array( 0, 0, 18, 0, 18, 18, 0, 18 ) + +[sub_resource type="ConvexPolygonShape2D" id=9] +points = PoolVector2Array( 0, 0, 18, 0, 18, 18, 0, 18 ) + +[sub_resource type="ConvexPolygonShape2D" id=10] +points = PoolVector2Array( 0, 0, 18, 0, 18, 18, 0, 18 ) + +[sub_resource type="ConvexPolygonShape2D" id=11] +points = PoolVector2Array( 0, 0, 18, 0, 18, 18, 0, 18 ) + +[sub_resource type="ConvexPolygonShape2D" id=12] +points = PoolVector2Array( 0, 0, 18, 0, 18, 18, 0, 18 ) + +[sub_resource type="ConvexPolygonShape2D" id=13] +points = PoolVector2Array( 0, 0, 18, 0, 18, 18, 0, 18 ) + +[sub_resource type="ConvexPolygonShape2D" id=14] +points = PoolVector2Array( 0, 0, 18, 0, 18, 18, 0, 18 ) + +[sub_resource type="ConvexPolygonShape2D" id=15] +points = PoolVector2Array( 0, 0, 18, 0, 18, 18, 0, 18 ) + +[sub_resource type="ConvexPolygonShape2D" id=16] +points = PoolVector2Array( 0, 0, 18, 0, 18, 18, 0, 18 ) + +[sub_resource type="ConvexPolygonShape2D" id=17] +points = PoolVector2Array( 0, 0, 18, 0, 18, 18, 0, 18 ) + +[sub_resource type="ConvexPolygonShape2D" id=18] +points = PoolVector2Array( 0, 0, 18, 0, 18, 18, 0, 18 ) + +[sub_resource type="ConvexPolygonShape2D" id=19] +points = PoolVector2Array( 0, 0, 18, 0, 18, 18, 0, 18 ) + +[sub_resource type="ConvexPolygonShape2D" id=20] +points = PoolVector2Array( 0, 0, 18, 0, 18, 18, 0, 18 ) + +[sub_resource type="ConvexPolygonShape2D" id=21] +points = PoolVector2Array( 0, 0, 18, 0, 18, 18, 0, 18 ) + +[sub_resource type="ConvexPolygonShape2D" id=22] +points = PoolVector2Array( 0, 0, 18, 0, 18, 18, 0, 18 ) + +[sub_resource type="ConvexPolygonShape2D" id=23] +points = PoolVector2Array( 0, 0, 18, 0, 18, 18, 0, 18 ) + +[sub_resource type="TileSet" id=2] +0/name = "tiles_packed.png 0" +0/texture = ExtResource( 1 ) +0/tex_offset = Vector2( 0, 0 ) +0/modulate = Color( 1, 1, 1, 1 ) +0/region = Rect2( 0, 0, 108, 144 ) +0/tile_mode = 1 +0/autotile/bitmask_mode = 1 +0/autotile/bitmask_flags = [ Vector2( 0, 0 ), 16, Vector2( 0, 1 ), 144, Vector2( 0, 6 ), 146, Vector2( 0, 7 ), 18, Vector2( 1, 0 ), 48, Vector2( 1, 1 ), 432, Vector2( 1, 6 ), 438, Vector2( 1, 7 ), 54, Vector2( 2, 0 ), 56, Vector2( 2, 1 ), 504, Vector2( 2, 6 ), 511, Vector2( 2, 7 ), 63, Vector2( 3, 0 ), 24, Vector2( 3, 1 ), 216, Vector2( 3, 6 ), 219, Vector2( 3, 7 ), 27, Vector2( 4, 0 ), 255, Vector2( 4, 1 ), 507, Vector2( 5, 0 ), 447, Vector2( 5, 1 ), 510 ] +0/autotile/icon_coordinate = Vector2( 0, 0 ) +0/autotile/tile_size = Vector2( 18, 18 ) +0/autotile/spacing = 0 +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( 3 ) +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( 3 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 1, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 4 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 2, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 5 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 3, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 6 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 0, 1 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 7 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 1, 1 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 8 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 2, 1 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 9 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 3, 1 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 10 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 4, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 11 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 5, 1 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 12 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 5, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 13 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 4, 1 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 14 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 0, 6 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 15 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 0, 7 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 16 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 1, 6 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 17 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 2, 6 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 18 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 3, 6 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 19 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 3, 7 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 20 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 2, 7 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 21 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 1, 7 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 22 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +0/z_index = 0 +1/name = "tiles_packed.png 1" +1/texture = ExtResource( 1 ) +1/tex_offset = Vector2( 0, 0 ) +1/modulate = Color( 1, 1, 1, 1 ) +1/region = Rect2( 126, 36, 18, 18 ) +1/tile_mode = 0 +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( 23 ) +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( 23 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +1/z_index = 0 + +[node name="TileMap" type="TileMap"] +tile_set = SubResource( 2 ) +cell_size = Vector2( 18, 18 ) +collision_mask = 0 +format = 1 +tile_data = PoolIntArray( 131099, 0, 65537, 131100, 0, 65538, 131101, 0, 65539, 131110, 0, 65537, 131111, 0, 65539, 262142, 0, 65537, 262143, 0, 65539, 196614, 1, 0, 196635, 0, 393217, 196636, 0, 393218, 196637, 0, 65540, 196638, 0, 65539, 196646, 0, 393217, 196647, 0, 393219, 327678, 0, 393217, 327679, 0, 393219, 262150, 1, 0, 262163, 0, 65537, 262164, 0, 65539, 262171, 0, 393217, 262172, 0, 4, 262173, 0, 458754, 262174, 0, 458755, 262177, 0, 0, 262182, 0, 393217, 262183, 0, 65540, 262184, 0, 65539, 393214, 0, 393217, 393215, 0, 393219, 327698, 0, 65537, 327699, 0, 65541, 327700, 0, 65540, 327701, 0, 65538, 327702, 0, 65539, 327707, 0, 393217, 327708, 0, 393219, 327718, 0, 458753, 327719, 0, 5, 327720, 0, 393219, 458750, 0, 393217, 458751, 0, 65540, 393216, 0, 65538, 393217, 0, 65538, 393218, 0, 65539, 393227, 0, 65537, 393228, 0, 65539, 393234, 0, 393217, 393235, 0, 4, 393236, 0, 458754, 393237, 0, 458754, 393238, 0, 458755, 393241, 0, 65537, 393242, 0, 65538, 393243, 0, 65541, 393244, 0, 393219, 393247, 0, 0, 393255, 0, 393217, 393256, 0, 393219, 524286, 0, 393217, 524287, 0, 393218, 458752, 0, 393218, 458753, 0, 393218, 458754, 0, 65540, 458755, 0, 65539, 458758, 1, 0, 458763, 0, 393217, 458764, 0, 393219, 458767, 0, 65537, 458768, 0, 65538, 458769, 0, 65538, 458770, 0, 65541, 458771, 0, 393219, 458777, 0, 393217, 458778, 0, 393218, 458779, 0, 393218, 458780, 0, 393219, 458791, 0, 393217, 458792, 0, 393219, 589822, 0, 393217, 589823, 0, 393218, 524288, 0, 393218, 524289, 0, 393218, 524290, 0, 393218, 524291, 0, 65540, 524292, 0, 65538, 524293, 0, 65538, 524294, 0, 65538, 524295, 0, 65538, 524296, 0, 65538, 524297, 0, 65538, 524298, 0, 65538, 524299, 0, 65541, 524300, 0, 393219, 524303, 0, 393217, 524304, 0, 393218, 524305, 0, 393218, 524306, 0, 393218, 524307, 0, 393219, 524312, 0, 65537, 524313, 0, 65541, 524314, 0, 393218, 524315, 0, 393218, 524316, 0, 393219, 524320, 0, 1, 524321, 0, 2, 524322, 0, 2, 524323, 0, 3, 524327, 0, 393217, 524328, 0, 393219, 655358, 0, 393217, 655359, 0, 393218, 589824, 0, 393218, 589825, 0, 393218, 589826, 0, 393218, 589827, 0, 393218, 589828, 0, 393218, 589829, 0, 393218, 589830, 0, 393218, 589831, 0, 393218, 589832, 0, 393218, 589833, 0, 393218, 589834, 0, 393218, 589835, 0, 393218, 589836, 0, 65540, 589837, 0, 65538, 589838, 0, 65538, 589839, 0, 65541, 589840, 0, 393218, 589841, 0, 393218, 589842, 0, 393218, 589843, 0, 393219, 589846, 0, 65537, 589847, 0, 65538, 589848, 0, 65541, 589849, 0, 393218, 589850, 0, 393218, 589851, 0, 393218, 589852, 0, 393219, 589863, 0, 393217, 589864, 0, 393219, 720894, 0, 393217, 720895, 0, 393218, 655360, 0, 393218, 655361, 0, 393218, 655362, 0, 393218, 655363, 0, 393218, 655364, 0, 393218, 655365, 0, 393218, 655366, 0, 393218, 655367, 0, 393218, 655368, 0, 393218, 655369, 0, 393218, 655370, 0, 393218, 655371, 0, 393218, 655372, 0, 393218, 655373, 0, 393218, 655374, 0, 393218, 655375, 0, 393218, 655376, 0, 393218, 655377, 0, 393218, 655378, 0, 393218, 655379, 0, 393219, 655382, 0, 458753, 655383, 0, 458754, 655384, 0, 458754, 655385, 0, 458754, 655386, 0, 458754, 655387, 0, 458754, 655388, 0, 458755, 655398, 0, 65537, 655399, 0, 65541, 655400, 0, 393219, 786430, 0, 393217, 786431, 0, 393218, 720896, 0, 393218, 720897, 0, 393218, 720898, 0, 393218, 720899, 0, 393218, 720900, 0, 393218, 720901, 0, 393218, 720902, 0, 393218, 720903, 0, 393218, 720904, 0, 393218, 720905, 0, 393218, 720906, 0, 393218, 720907, 0, 393218, 720908, 0, 393218, 720909, 0, 393218, 720910, 0, 393218, 720911, 0, 393218, 720912, 0, 393218, 720913, 0, 393218, 720914, 0, 393218, 720915, 0, 393219, 720931, 0, 65537, 720932, 0, 65538, 720933, 0, 65538, 720934, 0, 65541, 720935, 0, 4, 720936, 0, 458755, 851966, 0, 393217, 851967, 0, 393218, 786432, 0, 393218, 786433, 0, 393218, 786434, 0, 393218, 786435, 0, 393218, 786436, 0, 393218, 786437, 0, 393218, 786438, 0, 393218, 786439, 0, 393218, 786440, 0, 393218, 786441, 0, 393218, 786442, 0, 393218, 786443, 0, 393218, 786444, 0, 393218, 786445, 0, 393218, 786446, 0, 393218, 786447, 0, 393218, 786448, 0, 393218, 786449, 0, 393218, 786450, 0, 393218, 786451, 0, 393219, 786463, 0, 65537, 786464, 0, 65539, 786467, 0, 393217, 786468, 0, 393218, 786469, 0, 393218, 786470, 0, 393218, 786471, 0, 393219, 917502, 0, 393217, 917503, 0, 393218, 851968, 0, 393218, 851969, 0, 393218, 851970, 0, 393218, 851971, 0, 393218, 851972, 0, 393218, 851973, 0, 393218, 851974, 0, 393218, 851975, 0, 393218, 851976, 0, 393218, 851977, 0, 393218, 851978, 0, 393218, 851979, 0, 393218, 851980, 0, 393218, 851981, 0, 393218, 851982, 0, 393218, 851983, 0, 393218, 851984, 0, 393218, 851985, 0, 393218, 851986, 0, 393218, 851987, 0, 65540, 851988, 0, 65538, 851989, 0, 65538, 851990, 0, 65538, 851991, 0, 65538, 851992, 0, 65538, 851993, 0, 65538, 851994, 0, 65538, 851995, 0, 65538, 851996, 0, 65538, 851997, 0, 65538, 851998, 0, 65538, 851999, 0, 65541, 852000, 0, 65540, 852001, 0, 65538, 852002, 0, 65538, 852003, 0, 65541, 852004, 0, 393218, 852005, 0, 393218, 852006, 0, 393218, 852007, 0, 393219, 983038, 0, 393217, 983039, 0, 393218, 917504, 0, 393218, 917505, 0, 393218, 917506, 0, 393218, 917507, 0, 393218, 917508, 0, 393218, 917509, 0, 393218, 917510, 0, 393218, 917511, 0, 393218, 917512, 0, 393218, 917513, 0, 393218, 917514, 0, 393218, 917515, 0, 393218, 917516, 0, 393218, 917517, 0, 393218, 917518, 0, 393218, 917519, 0, 393218, 917520, 0, 393218, 917521, 0, 393218, 917522, 0, 393218, 917523, 0, 393218, 917524, 0, 393218, 917525, 0, 393218, 917526, 0, 393218, 917527, 0, 393218, 917528, 0, 393218, 917529, 0, 393218, 917530, 0, 393218, 917531, 0, 393218, 917532, 0, 393218, 917533, 0, 393218, 917534, 0, 393218, 917535, 0, 393218, 917536, 0, 393218, 917537, 0, 393218, 917538, 0, 393218, 917539, 0, 393218, 917540, 0, 393218, 917541, 0, 393218, 917542, 0, 393218, 917543, 0, 393219, 1048574, 0, 393217, 1048575, 0, 393218, 983040, 0, 393218, 983041, 0, 393218, 983042, 0, 393218, 983043, 0, 393218, 983044, 0, 393218, 983045, 0, 393218, 983046, 0, 393218, 983047, 0, 393218, 983048, 0, 393218, 983049, 0, 393218, 983050, 0, 393218, 983051, 0, 393218, 983052, 0, 393218, 983053, 0, 393218, 983054, 0, 393218, 983055, 0, 393218, 983056, 0, 393218, 983057, 0, 393218, 983058, 0, 393218, 983059, 0, 393218, 983060, 0, 393218, 983061, 0, 393218, 983062, 0, 393218, 983063, 0, 393218, 983064, 0, 393218, 983065, 0, 393218, 983066, 0, 393218, 983067, 0, 393218, 983068, 0, 393218, 983069, 0, 393218, 983070, 0, 393218, 983071, 0, 393218, 983072, 0, 393218, 983073, 0, 393218, 983074, 0, 393218, 983075, 0, 393218, 983076, 0, 393218, 983077, 0, 393218, 983078, 0, 393218, 983079, 0, 393219, 1114110, 0, 393217, 1114111, 0, 393218, 1048576, 0, 393218, 1048577, 0, 393218, 1048578, 0, 393218, 1048579, 0, 393218, 1048580, 0, 393218, 1048581, 0, 393218, 1048582, 0, 393218, 1048583, 0, 393218, 1048584, 0, 393218, 1048585, 0, 393218, 1048586, 0, 393218, 1048587, 0, 393218, 1048588, 0, 393218, 1048589, 0, 393218, 1048590, 0, 393218, 1048591, 0, 393218, 1048592, 0, 393218, 1048593, 0, 393218, 1048594, 0, 393218, 1048595, 0, 393218, 1048596, 0, 393218, 1048597, 0, 393218, 1048598, 0, 393218, 1048599, 0, 393218, 1048600, 0, 393218, 1048601, 0, 393218, 1048602, 0, 393218, 1048603, 0, 393218, 1048604, 0, 393218, 1048605, 0, 393218, 1048606, 0, 393218, 1048607, 0, 393218, 1048608, 0, 393218, 1048609, 0, 393218, 1048610, 0, 393218, 1048611, 0, 393218, 1048612, 0, 393218, 1048613, 0, 393218, 1048614, 0, 393218, 1048615, 0, 393219, 1179646, 0, 458753, 1179647, 0, 458754, 1114112, 0, 458754, 1114113, 0, 458754, 1114114, 0, 458754, 1114115, 0, 458754, 1114116, 0, 458754, 1114117, 0, 458754, 1114118, 0, 458754, 1114119, 0, 458754, 1114120, 0, 458754, 1114121, 0, 458754, 1114122, 0, 458754, 1114123, 0, 458754, 1114124, 0, 458754, 1114125, 0, 458754, 1114126, 0, 458754, 1114127, 0, 458754, 1114128, 0, 458754, 1114129, 0, 458754, 1114130, 0, 458754, 1114131, 0, 458754, 1114132, 0, 458754, 1114133, 0, 458754, 1114134, 0, 458754, 1114135, 0, 458754, 1114136, 0, 458754, 1114137, 0, 458754, 1114138, 0, 458754, 1114139, 0, 458754, 1114140, 0, 458754, 1114141, 0, 458754, 1114142, 0, 458754, 1114143, 0, 458754, 1114144, 0, 458754, 1114145, 0, 458754, 1114146, 0, 458754, 1114147, 0, 458754, 1114148, 0, 458754, 1114149, 0, 458754, 1114150, 0, 458754, 1114151, 0, 458755 ) diff --git a/World.gd b/World.gd new file mode 100644 index 0000000..fb8bcc4 --- /dev/null +++ b/World.gd @@ -0,0 +1,11 @@ +extends Node2D + + +# Declare member variables here. Examples: +# var a = 2 +# var b = "text" + + +# Called when the node enters the scene tree for the first time. +func _ready(): + VisualServer.set_default_clear_color(Color.lightblue) diff --git a/World.tscn b/World.tscn new file mode 100644 index 0000000..a1f73f2 --- /dev/null +++ b/World.tscn @@ -0,0 +1,56 @@ +[gd_scene load_steps=8 format=2] + +[ext_resource path="res://TileMap.tscn" type="PackedScene" id=1] +[ext_resource path="res://Player.tscn" type="PackedScene" id=2] +[ext_resource path="res://Spikes.tscn" type="PackedScene" id=3] +[ext_resource path="res://World.gd" type="Script" id=4] +[ext_resource path="res://Enemies/WalkingEnemy/WalkingEnemy.tscn" type="PackedScene" id=5] +[ext_resource path="res://Ladder.tscn" type="PackedScene" id=6] +[ext_resource path="res://LadderTop.tscn" type="PackedScene" id=7] + +[node name="World" type="Node2D"] +script = ExtResource( 4 ) + +[node name="KinematicBody2D2" parent="." instance=ExtResource( 5 )] +position = Vector2( 283, 126 ) + +[node name="TileMap" parent="." instance=ExtResource( 1 )] + +[node name="Area2D" parent="." instance=ExtResource( 3 )] +position = Vector2( 80, 146 ) + +[node name="Area2D2" parent="." instance=ExtResource( 3 )] +position = Vector2( 97, 146 ) + +[node name="Area2D3" parent="." instance=ExtResource( 3 )] +position = Vector2( 243, 164 ) + +[node name="Area2D4" parent="." instance=ExtResource( 3 )] +position = Vector2( 261, 164 ) + +[node name="Area2D5" parent="." instance=ExtResource( 3 )] +position = Vector2( 603, 236 ) + +[node name="Area2D6" parent="." instance=ExtResource( 3 )] +position = Vector2( 621, 236 ) + +[node name="KinematicBody2D" parent="." instance=ExtResource( 5 )] +position = Vector2( 134, 144 ) + +[node name="KinematicBody2D3" parent="." instance=ExtResource( 5 )] +position = Vector2( 609, 144 ) + +[node name="Area2D7" parent="." instance=ExtResource( 6 )] +position = Vector2( 387, 225 ) + +[node name="Area2D8" parent="." instance=ExtResource( 6 )] +position = Vector2( 387, 207 ) + +[node name="Area2D9" parent="." instance=ExtResource( 6 )] +position = Vector2( 387, 189 ) + +[node name="Area2D10" parent="." instance=ExtResource( 7 )] +position = Vector2( 387, 171 ) + +[node name="Player" parent="." instance=ExtResource( 2 )] +position = Vector2( 417, 148 ) diff --git a/characters_packed.png b/characters_packed.png new file mode 100644 index 0000000000000000000000000000000000000000..867a73a5b49ef7e0e001a2efc4f6e6f77e1781a5 GIT binary patch literal 1973 zcmV;m2TJ&fP)~6p+L8v>TP0 zv2Q*@|NsBK-tj|9U#ak0W&i*H0d!JMQvg8b*k%9#2I@&fK~!ko?VF2M<2Ve4v)mST z=_ZACI!$OUe*cGD+ww)SB|9l_fOAHWko;C!f0pCeYH6CHEy$V`_Lcrh+sX^{$s8;# z`BwgpD+5gvcinK*M!KVPft3%z!aGO+AU`>Sg6iuZgOS%4{rg}jWDqVeL?!~vST+T7 z8NldIPq6^K4ht}2*%Zu00HgOkE{I?QG6E(5=(B&FnSv^S)_*&rU;=>z%l^PFTtE{ z$3w)W$wo(30JsW_?TS2r(dXT6&cQMO8BB+3umio@4Zb&)!FIbByS=RJiU!vrr(hhw z2ZD_NHfCTfz=HLq4zOT-sRJxHl1m+I=`YiCvD?LsmgTO<0~lfyN&KK>0SqyUB=%-^SV8P7Nbj2`u2mtV;bhs~cYQq75zrXjWKL-H*udlnEk*Ple z;QSr#g-kqbPqbWch^HPoKzTBn1C;%9fU-XWAo;s_qBk_B`YFp3X+4&L)faFFJQqFG z{ZH8cRQEq(|6|?1$NoK8vy3oN9O=qM0B8<}8-MHF9FQ&mG^f*pzx5tYNEZN_hJg7we*$)TczAHThJg81S^{>wzrT08hJg7we*)Iu z-rl-hL%{r;KLKM?13qMKM}ZINQ4E>e5!s){qZl%`BeFk@M=@k>M`V8*k4niLM+RH7 z%4|qZ30J{vNRA0t!E8wSgsW^U*GJ|3zMWl>$NM2z+w*uof=iy-aJiGsHYHZmKMafq zSRnZj3$6{>H1PzI{(%8w0YH9qhO$DwRt;N~yoS@XCl8kJDmT~P<8P*@sA{eii0rU(*089NP0IUBBmVlWSX1b3l zm=ak7be*rgK0;uuUIb89S8GBk0aU;sIhNf{lWY9xonR7xg2n%uP+kXSYM*r#DY`6H5S9u!{h8*#gGsGCWU0oV^z z>@UrW%Au6=cz3>w-t`$+BY-s-*v4gx1VA#r7z{o>8t5mr0DvFRNVh=7G~oKQ%6k`@ z{4YQC*58d=0=KjbBYB0~r16RCg$ncv_6{KBOKW?G{E+giW2>#iQ5O8{?Y^iu(r!AAQv zw*X+iJF#7kKHlezu}%(tXQlgTgY00000NkvXX Hu0mjf91xH- literal 0 HcmV?d00001 diff --git a/characters_packed.png.import b/characters_packed.png.import new file mode 100644 index 0000000..e3f6695 --- /dev/null +++ b/characters_packed.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/characters_packed.png-890290c811414ed077a6b10fd28e12f1.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://characters_packed.png" +dest_files=[ "res://.import/characters_packed.png-890290c811414ed077a6b10fd28e12f1.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=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 +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/default_env.tres b/default_env.tres new file mode 100644 index 0000000..20207a4 --- /dev/null +++ b/default_env.tres @@ -0,0 +1,7 @@ +[gd_resource type="Environment" load_steps=2 format=2] + +[sub_resource type="ProceduralSky" id=1] + +[resource] +background_mode = 2 +background_sky = SubResource( 1 ) diff --git a/export_presets.cfg b/export_presets.cfg new file mode 100644 index 0000000..e69de29 diff --git a/icon.png b/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c98fbb601c83c81ec8c22b1dba7d1d57c62b323c GIT binary patch literal 3305 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 literal 0 HcmV?d00001 diff --git a/icon.png.import b/icon.png.import new file mode 100644 index 0000000..eb3cdb6 --- /dev/null +++ b/icon.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icon.png" +dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=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 +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/project.godot b/project.godot new file mode 100644 index 0000000..747db97 --- /dev/null +++ b/project.godot @@ -0,0 +1,93 @@ +; Engine configuration file. +; It's best edited using the editor UI and not directly, +; since the parameters that go here are not all obvious. +; +; Format: +; [section] ; section goes between [] +; param=value ; assign values to parameters + +config_version=4 + +_global_script_classes=[ { +"base": "Area2D", +"class": "Ladder", +"language": "GDScript", +"path": "res://Ladder.gd" +}, { +"base": "StaticBody2D", +"class": "LadderTop", +"language": "GDScript", +"path": "res://LadderTop.gd" +}, { +"base": "KinematicBody2D", +"class": "Player", +"language": "GDScript", +"path": "res://Player.gd" +}, { +"base": "Resource", +"class": "Player_Movement_Settings", +"language": "GDScript", +"path": "res://Settings/Scripts/PlayerMovementSettings.gd" +} ] +_global_script_class_icons={ +"Ladder": "", +"LadderTop": "", +"Player": "", +"Player_Movement_Settings": "" +} + +[application] + +config/name="Pixel Platformer" +run/main_scene="res://World.tscn" +config/icon="res://icon.png" + +[display] + +window/size/width=320 +window/size/height=180 +window/size/test_width=1280 +window/size/test_height=720 +window/stretch/mode="2d" + +[gui] + +common/drop_mouse_on_gui_input_disabled=true + +[importer_defaults] + +texture={ +"compress/bptc_ldr": 0, +"compress/hdr_mode": 0, +"compress/lossy_quality": 0.7, +"compress/mode": 0, +"compress/normal_map": 0, +"detect_3d": false, +"flags/anisotropic": false, +"flags/filter": false, +"flags/mipmaps": false, +"flags/repeat": 0, +"flags/srgb": 2, +"process/HDR_as_SRGB": false, +"process/fix_alpha_border": true, +"process/invert_color": false, +"process/normal_map_invert_y": false, +"process/premult_alpha": false, +"size_limit": 0, +"stream": false, +"svg/scale": 1.0 +} + +[layer_names] + +2d_physics/layer_1="World" +2d_physics/layer_2="Characters" + +[physics] + +common/enable_pause_aware_picking=true + +[rendering] + +2d/snapping/use_gpu_pixel_snap=true +environment/default_environment="res://default_env.tres" diff --git a/tiles_packed.png b/tiles_packed.png new file mode 100644 index 0000000000000000000000000000000000000000..0da8986c64fcb474d0ec7c9662d813411b1db15a GIT binary patch literal 5811 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 literal 0 HcmV?d00001 diff --git a/tiles_packed.png.import b/tiles_packed.png.import new file mode 100644 index 0000000..f873fa6 --- /dev/null +++ b/tiles_packed.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/tiles_packed.png-fd6b33d2b56a22feb83002d47ed8ee64.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://tiles_packed.png" +dest_files=[ "res://.import/tiles_packed.png-fd6b33d2b56a22feb83002d47ed8ee64.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=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 +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0