diff --git a/graphics/backgrounds/factory.png b/graphics/backgrounds/factory.png new file mode 100644 index 0000000..ab9d952 Binary files /dev/null and b/graphics/backgrounds/factory.png differ diff --git a/graphics/backgrounds/factory.png.import b/graphics/backgrounds/factory.png.import new file mode 100644 index 0000000..4645663 --- /dev/null +++ b/graphics/backgrounds/factory.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/factory.png-f4ea195cc1e4e4aa24ea136f3c740e55.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://graphics/backgrounds/factory.png" +dest_files=[ "res://.import/factory.png-f4ea195cc1e4e4aa24ea136f3c740e55.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=true +svg/scale=1.0 diff --git a/graphics/tiles/factory.png b/graphics/tiles/factory.png new file mode 100644 index 0000000..00e16de Binary files /dev/null and b/graphics/tiles/factory.png differ diff --git a/graphics/tiles/factory.png.import b/graphics/tiles/factory.png.import new file mode 100644 index 0000000..a9ee489 --- /dev/null +++ b/graphics/tiles/factory.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/factory.png-bdb37037840fa3d26afaef5e131c3bf2.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://graphics/tiles/factory.png" +dest_files=[ "res://.import/factory.png-bdb37037840fa3d26afaef5e131c3bf2.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=true +svg/scale=1.0 diff --git a/maps/factory.tscn b/maps/factory.tscn new file mode 100644 index 0000000..1447d4f --- /dev/null +++ b/maps/factory.tscn @@ -0,0 +1,198 @@ +[gd_scene load_steps=14 format=2] + +[ext_resource path="res://maps/map.gd" type="Script" id=1] +[ext_resource path="res://objects/Camera2D.tscn" type="PackedScene" id=2] +[ext_resource path="res://graphics/backgrounds/factory.png" type="Texture" id=3] +[ext_resource path="res://objects/player/player.tscn" type="PackedScene" id=4] +[ext_resource path="res://tilesets/t_factory.tres" type="TileSet" id=5] +[ext_resource path="res://graphics/player/pal_sword.png" type="Texture" id=6] +[ext_resource path="res://scripts/recolor_border.shader" type="Shader" id=7] +[ext_resource path="res://graphics/player/sg_doublejump.png" type="Texture" id=8] +[ext_resource path="res://objects/environment/ladder/ladder.tscn" type="PackedScene" id=9] + +[sub_resource type="ShaderMaterial" id=1] +shader = ExtResource( 7 ) +shader_param/border_color = Color( 0, 0, 0, 1 ) +shader_param/border_corners = true +shader_param/palette = ExtResource( 6 ) + +[sub_resource type="GDScript" id=4] +script/source = "extends Sprite + +var dir = 1.0 +onready var po = position.x + +func _physics_process(delta): + position.x += dir * 120.0 * delta + if position.x > 256.0: + dir = -1.0 + scale.x = -1.0 + if position.x < po: + dir = 1.0 + scale.x = 1.0 +" + +[sub_resource type="Animation" id=2] +length = 0.001 +tracks/0/type = "value" +tracks/0/path = NodePath(".:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ 0 ] +} +tracks/1/type = "value" +tracks/1/path = NodePath(".:flip_h") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ false ] +} +tracks/2/type = "value" +tracks/2/path = NodePath(".:flip_v") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ false ] +} +tracks/3/type = "value" +tracks/3/path = NodePath(".:rotation_degrees") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ 0.0 ] +} + +[sub_resource type="Animation" id=3] +resource_name = "spin" +length = 0.8 +loop = true +tracks/0/type = "value" +tracks/0/path = NodePath(".:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7 ), +"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1 ), +"update": 1, +"values": [ 0, 1, 0, 1, 0, 1, 0, 1 ] +} +tracks/1/type = "value" +tracks/1/path = NodePath(".:rotation_degrees") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"times": PoolRealArray( 0, 0.2, 0.4, 0.6 ), +"transitions": PoolRealArray( 1, 1, 1, 1 ), +"update": 1, +"values": [ 0.0, 90.0, 180.0, 270.0 ] +} + +[node name="Map" type="Node2D"] +script = ExtResource( 1 ) + +[node name="Sectors" type="CanvasLayer" parent="."] +layer = -100 +visible = false + +[node name="ColorRect" type="ColorRect" parent="Sectors"] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 256.0 +margin_right = 256.0 +color = Color( 1, 0, 0.960784, 0.121569 ) + +[node name="ColorRect4" type="ColorRect" parent="Sectors"] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 256.0 +margin_top = 192.0 +margin_right = 256.0 +margin_bottom = 192.0 +color = Color( 0.101961, 1, 0, 0.121569 ) + +[node name="ColorRect3" type="ColorRect" parent="Sectors"] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 256.0 +margin_top = -192.0 +margin_right = 256.0 +margin_bottom = -192.0 +color = Color( 1, 0, 0, 0.121569 ) + +[node name="ColorRect2" type="ColorRect" parent="Sectors"] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 512.0 +margin_right = 512.0 +color = Color( 0, 0.0627451, 1, 0.121569 ) + +[node name="BackgroundLayer" type="CanvasLayer" parent="."] +layer = -50 + +[node name="Sprite" type="Sprite" parent="BackgroundLayer"] +texture = ExtResource( 3 ) +centered = false + +[node name="Camera2D" parent="." instance=ExtResource( 2 )] + +[node name="Player" parent="." instance=ExtResource( 4 )] +position = Vector2( 24, 136 ) +__meta__ = { +"_edit_group_": true +} + +[node name="Sprite" type="Sprite" parent="."] +material = SubResource( 1 ) +position = Vector2( 124, 92 ) +texture = ExtResource( 8 ) +hframes = 2 +script = SubResource( 4 ) + +[node name="AnimationPlayer" type="AnimationPlayer" parent="Sprite"] +autoplay = "spin" +playback_speed = 2.0 +anims/RESET = SubResource( 2 ) +anims/spin = SubResource( 3 ) + +[node name="Ground" type="TileMap" parent="."] +tile_set = ExtResource( 5 ) +cell_size = Vector2( 8, 8 ) +format = 1 +tile_data = PoolIntArray( -65523, 1610612739, 0, -65512, 1610612738, 0, -65509, 1610612737, 0, -65508, 1610612737, 0, -65507, 1610612737, 0, -65506, 1610612737, 0, -65505, 1610612737, 0, -65504, 1610612737, 0, -65503, 1610612737, 0, -65502, 1610612737, 0, 13, 1610612739, 0, 65549, 1610612739, 0, 65554, 0, 0, 65555, 0, 2, 65556, 0, 0, 131085, 1610612739, 0, 131090, -1073741824, 2, 131091, 0, 65536, 131092, -1073741824, 2, 131096, 3, 0, 196621, 1610612739, 0, 196626, 0, 0, 196627, 0, 2, 196628, 0, 0, 196632, 3, 0, 262145, 1610612738, 0, 262148, 1, 0, 262149, 1, 0, 262150, 1, 0, 262151, 1, 0, 262152, 1, 0, 262153, 1, 0, 262154, 1, 0, 262155, 1, 0, 262156, 1, 0, 262157, 2, 0, 262168, 3, 0, 327696, 1610612738, 0, 327699, 1, 0, 327700, 1, 0, 327701, 1, 0, 327702, 1, 0, 327703, 1, 0, 327704, 2, 0, 393233, 0, 65536, 393241, 0, 0, 458753, 1610612739, 0, 524289, 1610612739, 0, 524298, 0, 0, 524299, 0, 2, 524300, 0, 2, 524301, 0, 0, 589825, 1610612739, 0, 655361, 1610612739, 0, 655365, 0, 1, 655366, 1610612736, 2, 655367, 1610612736, 2, 655368, 1610612736, 2, 655369, 1610612736, 2, 655370, 0, 3, 655374, 1610612738, 0, 655377, 1, 0, 655378, 1, 0, 655379, 1, 0, 655380, 1, 0, 655381, 1, 0, 655382, 1, 0, 655383, 1, 0, 655384, 1, 0, 655385, 1, 0, 655386, 1, 0, 655387, 1, 0, 655388, 1, 0, 655389, 1, 0, 655390, 1, 0, 655391, 1, 0, 720897, 1610612739, 0, 786433, 1610612739, 0, 851969, 1610612739, 0, 851982, 1610612739, 0, 917518, 1610612739, 0, 983054, 1610612739, 0, 1048590, 1610612739, 0, 1114122, 0, 0, 1114123, 0, 2, 1114124, 0, 2, 1114125, 0, 0, 1114126, 1610612739, 0, 1179658, -1073741824, 2, 1179659, 0, 65536, 1179660, 0, 65536, 1179661, -1073741824, 2, 1179662, 1610612739, 0, 1245194, 0, 0, 1245195, 0, 2, 1245196, 0, 2, 1245197, 0, 0, 1245198, 1610612739, 0, 1310721, 0, 1, 1310722, 0, 2, 1310723, 0, 2, 1310724, 0, 2, 1310725, 0, 2, 1310726, 0, 2, 1310727, 0, 2, 1310728, 0, 2, 1310729, 0, 3, 1310734, 1610612739, 0, 1376270, 1610612739, 0, 1441806, 1610612739, 0, 1507342, 1610612739, 0 ) + +[node name="Ladder2" type="TileMap" parent="."] +tile_set = ExtResource( 5 ) +cell_size = Vector2( 8, 8 ) +format = 1 +tile_data = PoolIntArray( 1114119, 0, 131072, 1179655, 0, 131072, 1245191, 0, 131072 ) + +[node name="Ladder" parent="." instance=ExtResource( 9 )] +position = Vector2( 56, 136 ) +scale = Vector2( 1, 3 ) + +[connection signal="tree_entered" from="Sectors" to="Sectors" method="set_visible" binds= [ false ]] diff --git a/tilesets/t_factory.tres b/tilesets/t_factory.tres new file mode 100644 index 0000000..831f50d --- /dev/null +++ b/tilesets/t_factory.tres @@ -0,0 +1,105 @@ +[gd_resource type="TileSet" load_steps=6 format=2] + +[ext_resource path="res://graphics/tiles/factory.png" type="Texture" id=1] + +[sub_resource type="ConvexPolygonShape2D" id=1] +points = PoolVector2Array( 8, 8, 0, 8, 0, 0, 8, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=2] +points = PoolVector2Array( 8, 8, 0, 8, 0, 0, 8, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=3] +points = PoolVector2Array( 8, 8, 0, 8, 0, 0, 8, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=4] +points = PoolVector2Array( 8, 8, 0, 8, 0, 0, 8, 0 ) + +[resource] +0/name = "factory" +0/texture = ExtResource( 1 ) +0/tex_offset = Vector2( 0, 0 ) +0/modulate = Color( 1, 1, 1, 1 ) +0/region = Rect2( 0, 0, 32, 32 ) +0/tile_mode = 2 +0/autotile/icon_coordinate = Vector2( 0, 0 ) +0/autotile/tile_size = Vector2( 8, 8 ) +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( 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 = "tube-horizontal" +1/texture = ExtResource( 1 ) +1/tex_offset = Vector2( 0, 0 ) +1/modulate = Color( 1, 1, 1, 1 ) +1/region = Rect2( 32, 8, 8, 24 ) +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_one_way = false +1/shape_one_way_margin = 0.0 +1/shapes = [ ] +1/z_index = 0 +2/name = "tube-corner" +2/texture = ExtResource( 1 ) +2/tex_offset = Vector2( 0, 0 ) +2/modulate = Color( 1, 1, 1, 1 ) +2/region = Rect2( 40, 8, 24, 24 ) +2/tile_mode = 0 +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_one_way = false +2/shape_one_way_margin = 0.0 +2/shapes = [ ] +2/z_index = 0 +3/name = "tube-vertical" +3/texture = ExtResource( 1 ) +3/tex_offset = Vector2( 0, 0 ) +3/modulate = Color( 1, 1, 1, 1 ) +3/region = Rect2( 40, 0, 24, 8 ) +3/tile_mode = 0 +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_one_way = false +3/shape_one_way_margin = 0.0 +3/shapes = [ ] +3/z_index = 0