commit 63fe9eb62f98e4db7e527ac237171e8104d75923 Author: The-Tysonator Date: Mon Apr 24 16:21:10 2023 +0100 initial commit 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 0000000..8b0bc27 Binary files /dev/null and b/.import/characters_packed.png-890290c811414ed077a6b10fd28e12f1.stex differ diff --git a/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.md5 b/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.md5 new file mode 100644 index 0000000..33c8daa --- /dev/null +++ b/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.md5 @@ -0,0 +1,3 @@ +source_md5="47313fa4c47a9963fddd764e1ec6e4a8" +dest_md5="a88e70cd2a781a9949d2f6ee2829937a" + diff --git a/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex b/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex new file mode 100644 index 0000000..ba079f8 Binary files /dev/null and b/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex differ 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 0000000..5c5143d Binary files /dev/null and b/.import/tiles_packed.png-fd6b33d2b56a22feb83002d47ed8ee64.stex differ diff --git a/Block.tscn b/Block.tscn new file mode 100644 index 0000000..3b64aca --- /dev/null +++ b/Block.tscn @@ -0,0 +1,16 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://tiles_packed.png" type="Texture" id=1] + +[sub_resource type="RectangleShape2D" id=1] +extents = Vector2( 9, 9 ) + +[node name="Block" type="StaticBody2D"] + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +shape = SubResource( 1 ) + +[node name="Sprite" type="Sprite" parent="."] +texture = ExtResource( 1 ) +region_enabled = true +region_rect = Rect2( 126, 36, 18, 18 ) diff --git a/Enemies/WalkingEnemy/WalkingEnemy.gd b/Enemies/WalkingEnemy/WalkingEnemy.gd new file mode 100644 index 0000000..7f3c5a3 --- /dev/null +++ b/Enemies/WalkingEnemy/WalkingEnemy.gd @@ -0,0 +1,35 @@ + + + +extends KinematicBody2D + + +onready var RightLedgeCheck: = $RightLedgeCheck +onready var LeftLedgeCheck: = $LeftLedgeCheck +onready var colisionPolygon: = $CollisionPolygon2D + +var direction = Vector2.RIGHT +var velocity = Vector2.ZERO + +# Called when the node enters the scene tree for the first time. +func _ready(): + pass # Replace with function body. + + +func _physics_process(delta): + var found_wall = is_on_wall() + var found_ledge = not RightLedgeCheck.is_colliding() + var found_left_ledge = not LeftLedgeCheck.is_colliding() + + if found_wall or found_ledge or found_left_ledge: + direction *= -1 + + if $AnimatedSprite.flip_h: + $AnimatedSprite.flip_h = false + colisionPolygon.position.x = -0.5 + else: + $AnimatedSprite.flip_h = true + colisionPolygon.position.x = 0.5 + + velocity = direction * 25 + move_and_slide(velocity, Vector2.UP) diff --git a/Enemies/WalkingEnemy/WalkingEnemy.tscn b/Enemies/WalkingEnemy/WalkingEnemy.tscn new file mode 100644 index 0000000..8306f7f --- /dev/null +++ b/Enemies/WalkingEnemy/WalkingEnemy.tscn @@ -0,0 +1,51 @@ +[gd_scene load_steps=7 format=2] + +[ext_resource path="res://characters_packed.png" type="Texture" id=1] +[ext_resource path="res://Enemies/WalkingEnemy/WalkingEnemy.gd" type="Script" id=2] +[ext_resource path="res://Res/Hitbox.tscn" type="PackedScene" id=3] + +[sub_resource type="AtlasTexture" id=1] +atlas = ExtResource( 1 ) +region = Rect2( 144, 24, 24, 24 ) + +[sub_resource type="AtlasTexture" id=2] +atlas = ExtResource( 1 ) +region = Rect2( 168, 24, 24, 24 ) + +[sub_resource type="SpriteFrames" id=3] +animations = [ { +"frames": [ SubResource( 1 ), SubResource( 2 ) ], +"loop": true, +"name": "Walking", +"speed": 5.0 +} ] + +[node name="KinematicBody2D" type="KinematicBody2D"] +collision_layer = 2 +script = ExtResource( 2 ) + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="."] +position = Vector2( 0.5, -9 ) +scale = Vector2( 0.75, 0.9 ) +polygon = PoolVector2Array( 2, -10, 2, -8.88889, 3.33333, -8.88889, 3.33333, -6.66667, 4.66667, -6.66667, 4.66667, -3.33333, 7.33333, -3.33333, 7.33333, -2.22222, 8.66667, -2.22222, 8.66667, -1.11111, 10, -1.11111, 10, 8.88889, 7.33333, 10, -7.33333, 10, -10, 8.88889, -10, -1.11111, -8.66667, -1.11111, -8.66667, -2.22222, -7.33333, -2.22222, -7.33333, -3.33333, -4.66667, -3.33333, -4.66667, -6.66667, -3.33333, -6.66667, -3.33333, -8.88889, -2, -8.88889, -2, -10 ) + +[node name="AnimatedSprite" type="AnimatedSprite" parent="."] +position = Vector2( 0, -12 ) +frames = SubResource( 3 ) +animation = "Walking" +flip_h = true + +[node name="RightLedgeCheck" type="RayCast2D" parent="."] +position = Vector2( 8, 0 ) +enabled = true +cast_to = Vector2( 0, 5 ) + +[node name="LeftLedgeCheck" type="RayCast2D" parent="."] +position = Vector2( -6, 0 ) +enabled = true +cast_to = Vector2( 0, 5 ) + +[node name="Hitbox" parent="." instance=ExtResource( 3 )] + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Hitbox"] +polygon = PoolVector2Array( 1, -16, 2, -14, 2, -10, 5, -10, 6, -9, 6, -2, 4, -2, 4, -3, 0, -3, 0, -2, -2, -2, -2, -3, -5, -3, -5, -9, -4, -10, -1, -10, -1, -14, 0, -16 ) diff --git a/Ladder.gd b/Ladder.gd new file mode 100644 index 0000000..534cbd1 --- /dev/null +++ b/Ladder.gd @@ -0,0 +1,2 @@ +extends Area2D +class_name Ladder diff --git a/Ladder.tscn b/Ladder.tscn new file mode 100644 index 0000000..ad3767e --- /dev/null +++ b/Ladder.tscn @@ -0,0 +1,18 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://Ladder.gd" type="Script" id=1] +[ext_resource path="res://tiles_packed.png" type="Texture" id=2] + +[sub_resource type="RectangleShape2D" id=1] +extents = Vector2( 9, 9 ) + +[node name="Area2D" type="Area2D"] +script = ExtResource( 1 ) + +[node name="Sprite" type="Sprite" parent="."] +texture = ExtResource( 2 ) +region_enabled = true +region_rect = Rect2( 198, 54, 18, 18 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +shape = SubResource( 1 ) diff --git a/LadderTop.gd b/LadderTop.gd new file mode 100644 index 0000000..678d3e4 --- /dev/null +++ b/LadderTop.gd @@ -0,0 +1,3 @@ +extends StaticBody2D +class_name LadderTop + diff --git a/LadderTop.tscn b/LadderTop.tscn new file mode 100644 index 0000000..acb4f64 --- /dev/null +++ b/LadderTop.tscn @@ -0,0 +1,21 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://tiles_packed.png" type="Texture" id=1] +[ext_resource path="res://LadderTop.gd" type="Script" id=2] + +[sub_resource type="RectangleShape2D" id=1] +extents = Vector2( 9, 7.5 ) + +[node name="Area2D" type="StaticBody2D"] +collision_mask = 2 +script = ExtResource( 2 ) + +[node name="Sprite" type="Sprite" parent="."] +texture = ExtResource( 1 ) +region_enabled = true +region_rect = Rect2( 198, 36, 18, 18 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2( 1.64787e-05, 1.5 ) +shape = SubResource( 1 ) +one_way_collision = true diff --git a/PinkPlayerSkin.tres b/PinkPlayerSkin.tres new file mode 100644 index 0000000..0a22b62 --- /dev/null +++ b/PinkPlayerSkin.tres @@ -0,0 +1,37 @@ +[gd_resource type="SpriteFrames" load_steps=6 format=2] + +[ext_resource path="res://characters_packed.png" type="Texture" id=1] + +[sub_resource type="AtlasTexture" id=2] +atlas = ExtResource( 1 ) +region = Rect2( 96, 0, 24, 24 ) + +[sub_resource type="AtlasTexture" id=7] +atlas = ExtResource( 1 ) +region = Rect2( 120, 0, 24, 24 ) + +[sub_resource type="AtlasTexture" id=5] +atlas = ExtResource( 1 ) +region = Rect2( 120, 0, 24, 24 ) + +[sub_resource type="AtlasTexture" id=6] +atlas = ExtResource( 1 ) +region = Rect2( 96, 0, 24, 24 ) + +[resource] +animations = [ { +"frames": [ SubResource( 2 ) ], +"loop": true, +"name": "Idle", +"speed": 5.0 +}, { +"frames": [ SubResource( 7 ) ], +"loop": true, +"name": "Jump", +"speed": 5.0 +}, { +"frames": [ SubResource( 5 ), SubResource( 6 ) ], +"loop": true, +"name": "Run", +"speed": 5.0 +} ] diff --git a/Player.gd b/Player.gd new file mode 100644 index 0000000..ae67b39 --- /dev/null +++ b/Player.gd @@ -0,0 +1,154 @@ + + +# Extends +extends KinematicBody2D + +class_name Player + + + +enum { MOVE, CLIMB, TRANSITION } + + + +export(Resource) var moveData + +var velocity = Vector2.ZERO +var state = MOVE + +onready var animatedSprite = $AnimatedSprite +onready var ladderCheck = $LadderCheck +onready var ladderCheckTwo = $LadderCheck2 + +func _ready(): + animatedSprite.frames = load("res://PinkPlayerSkin.tres") + + + + +# Called every physics frame. +func _physics_process(delta): + var input = Vector2.ZERO + input.x = Input.get_axis("ui_left", "ui_right") + input.y = Input.get_axis("ui_up", "ui_down") + print(state) + match state: + MOVE: move_state(input) + CLIMB: climb_state(input) + TRANSITION: transition_state(input) + + +func is_on_ladder(): + if not ladderCheck.is_colliding(): return false + var collider = ladderCheck.get_collider() + if not collider is Ladder and not collider is LadderTop: return false + return true + +func is_ontop_ladder(): + if ladderCheck.is_colliding(): + if ladderCheck.get_collider() is LadderTop: + if not ladderCheckTwo.is_colliding(): + return true + return false + + +func apply_gravity(): + velocity.y += moveData.GRAVITY + velocity.y = min(velocity.y, 200) + +func apply_friction(): + velocity.x = move_toward(velocity.x, 0, moveData.FRICTION) + +func apply_acceleration(amount): + velocity.x = move_toward(velocity.x, moveData.MAXIMUM_SPEED * amount, moveData.ACCELERATION) + pass + +func move_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 + + apply_gravity() + 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_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 0000000..867a73a Binary files /dev/null and b/characters_packed.png differ 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 0000000..c98fbb6 Binary files /dev/null and b/icon.png differ 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 0000000..0da8986 Binary files /dev/null and b/tiles_packed.png differ 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