diff --git a/Actors/Lightbulb/Lightbulb.gd b/Actors/Lightbulb/Lightbulb.gd new file mode 100644 index 0000000..2e7b090 --- /dev/null +++ b/Actors/Lightbulb/Lightbulb.gd @@ -0,0 +1,46 @@ +tool + +extends Area2D + +enum Direction { LEFT, RIGHT, UP, DOWN } + +export(Direction) var direction = Direction.DOWN setget set_direction + +export var lit = true setget set_lit + +func _ready(): + $Light2D.set_meta("_edit_lock_", true) + +func set_direction(dir): + direction = dir + refresh_sprite() + +func set_lit(val): + lit = val + $Light2D.enabled = val + refresh_sprite() + +func refresh_sprite(): + var lit_offset = 0 + if not lit: + lit_offset = 32 + match direction: + Direction.DOWN: + $light.region_rect.position = Vector2(32, lit_offset) + $Light2D.rotation = 0 + Direction.UP: + $light.region_rect.position = Vector2(0, lit_offset) + $Light2D.rotation = PI + Direction.LEFT: + $light.region_rect.position = Vector2(96, lit_offset) + $Light2D.rotation = -PI/2 + Direction.RIGHT: + $light.region_rect.position = Vector2(64, lit_offset) + $Light2D.rotation = PI/2 + + +func _input_event(viewport, event, shape_idx): + if Engine.editor_hint: + return + if event is InputEventMouseButton and event.pressed: + set_lit(!lit) diff --git a/Actors/Lightbulb/Lightbulb.tscn b/Actors/Lightbulb/Lightbulb.tscn new file mode 100644 index 0000000..f70f5dc --- /dev/null +++ b/Actors/Lightbulb/Lightbulb.tscn @@ -0,0 +1,34 @@ +[gd_scene load_steps=5 format=2] + +[ext_resource path="res://Graphics/tgstation/light.png" type="Texture" id=1] +[ext_resource path="res://Actors/Lightbulb/Lightbulb.gd" type="Script" id=2] +[ext_resource path="res://Graphics/light_shadow_light.png" type="Texture" id=3] + +[sub_resource type="RectangleShape2D" id=1] +extents = Vector2( 16, 16 ) + +[node name="Lighttube" type="Area2D"] +script = ExtResource( 2 ) + +[node name="light" type="Sprite" parent="."] +texture = ExtResource( 1 ) +region_enabled = true +region_rect = Rect2( 32, 0, 32, 32 ) + +[node name="Light2D" type="Light2D" parent="."] +texture = ExtResource( 3 ) +offset = Vector2( 0, -10 ) +texture_scale = 4.0 +energy = 1.2 +mode = 2 +shadow_enabled = true +shadow_gradient_length = 5.0 +shadow_filter = 5 +shadow_filter_smooth = 10.0 +__meta__ = { +"_edit_group_": true, +"_edit_lock_": true +} + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +shape = SubResource( 1 ) diff --git a/Actors/Objects/Computer/Computer.gd b/Actors/Objects/Computer/Computer.gd index dd9481e..cffc599 100644 --- a/Actors/Objects/Computer/Computer.gd +++ b/Actors/Objects/Computer/Computer.gd @@ -25,11 +25,13 @@ func set_type(val): screen_region_offset = Vector2(128, 224) ComputerType.Atmos: screen_region_offset = Vector2(0, 256) - # Refresh sprite - set_direction(direction) + refresh_sprite() func set_direction(dir): direction = dir + refresh_sprite() + +func refresh_sprite(): match direction: Direction.DOWN: $computer.region_rect.position = Vector2(0, 0) @@ -51,15 +53,21 @@ func manage_controls(show: bool): func _input(event): if event is InputEventMouseButton and event.pressed and not is_inside: - manage_controls(false) + $UIAnimation.play("fadeout") func _input_event(viewport, event, shape_idx): if Engine.editor_hint: return if event is InputEventMouseButton and event.pressed: manage_controls(true) + $UIAnimation.play("fadein") var is_inside = false func _ui_focus_changed(entered): print(entered) is_inside = entered + + +func _ui_fade_completed(anim_name): + if anim_name == "fadeout": + manage_controls(false) diff --git a/Actors/Objects/Computer/Computer.tscn b/Actors/Objects/Computer/Computer.tscn index 99ed114..43a1c89 100644 --- a/Actors/Objects/Computer/Computer.tscn +++ b/Actors/Objects/Computer/Computer.tscn @@ -1,15 +1,18 @@ -[gd_scene load_steps=8 format=2] +[gd_scene load_steps=12 format=2] [ext_resource path="res://Graphics/tgstation/computer-screens.png" type="Texture" id=1] [ext_resource path="res://Graphics/tgstation/computer.png" type="Texture" id=2] [ext_resource path="res://Actors/Objects/Computer/Computer.gd" type="Script" id=3] [ext_resource path="res://Actors/Objects/Computer/UI/ControlComp.tscn" type="PackedScene" id=4] +[ext_resource path="res://Graphics/light_shadow_light.png" type="Texture" id=5] -[sub_resource type="RectangleShape2D" id=1] +[sub_resource type="CanvasItemMaterial" id=1] +blend_mode = 1 + +[sub_resource type="RectangleShape2D" id=2] extents = Vector2( 16, 16 ) -[sub_resource type="Animation" id=2] -resource_name = "off" +[sub_resource type="Animation" id=3] tracks/0/type = "value" tracks/0/path = NodePath("computer/screen:modulate") tracks/0/interp = 1 @@ -23,8 +26,7 @@ tracks/0/keys = { "values": [ Color( 0, 0, 0, 1 ) ] } -[sub_resource type="Animation" id=3] -resource_name = "on" +[sub_resource type="Animation" id=4] length = 5.5 loop = true step = 0.0 @@ -41,6 +43,57 @@ tracks/0/keys = { "values": [ Color( 1, 1, 1, 1 ), Color( 0.682353, 0.682353, 0.682353, 1 ), Color( 1, 1, 1, 1 ), Color( 0.682353, 0.682353, 0.682353, 1 ), Color( 1, 1, 1, 1 ), Color( 1, 1, 1, 1 ), Color( 0.584314, 0.584314, 0.584314, 1 ), Color( 1, 1, 1, 1 ), Color( 0.584314, 0.584314, 0.584314, 1 ), Color( 1, 1, 1, 1 ) ] } +[sub_resource type="Animation" id=5] +length = 0.2 +step = 0.05 +tracks/0/type = "value" +tracks/0/path = NodePath("Control:modulate") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.2 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 0, +"values": [ Color( 1, 1, 1, 0 ), Color( 1, 1, 1, 1 ) ] +} +tracks/1/type = "bezier" +tracks/1/path = NodePath("Control:position:y") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"points": PoolRealArray( 10, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.2 ) +} + +[sub_resource type="Animation" id=6] +length = 0.2 +tracks/0/type = "value" +tracks/0/path = NodePath("Control:modulate") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.2 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 0, +"values": [ Color( 1, 1, 1, 1 ), Color( 1, 1, 1, 0 ) ] +} +tracks/1/type = "bezier" +tracks/1/path = NodePath("Control:position:y") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 10, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.2 ) +} + [node name="Computer" type="StaticBody2D"] input_pickable = true script = ExtResource( 3 ) @@ -52,29 +105,41 @@ region_enabled = true region_rect = Rect2( 0, 0, 32, 32 ) [node name="screen" type="Sprite" parent="computer"] +material = SubResource( 1 ) texture = ExtResource( 1 ) centered = false region_enabled = true region_rect = Rect2( 0, 0, 32, 32 ) +[node name="Light2D" type="Light2D" parent="computer/screen"] +position = Vector2( 16, 16 ) +texture = ExtResource( 5 ) +texture_scale = 0.5 +energy = 0.4 + [node name="CollisionShape2D" type="CollisionShape2D" parent="."] position = Vector2( 16, 16 ) -shape = SubResource( 1 ) +shape = SubResource( 2 ) -[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +[node name="ScreenAnimation" type="AnimationPlayer" parent="."] autoplay = "on" -anims/off = SubResource( 2 ) -anims/on = SubResource( 3 ) +anims/off = SubResource( 3 ) +anims/on = SubResource( 4 ) + +[node name="UIAnimation" type="AnimationPlayer" parent="."] +anims/fadein = SubResource( 5 ) +anims/fadeout = SubResource( 6 ) [node name="Control" type="Node2D" parent="."] z_index = 999 [node name="ControlComp" parent="Control" instance=ExtResource( 4 )] visible = false -margin_left = -33.1487 -margin_top = -78.3109 -margin_right = 166.851 -margin_bottom = 53.6891 +margin_left = -33.4261 +margin_top = -72.3908 +margin_right = 166.574 +margin_bottom = 59.6092 rect_scale = Vector2( 0.5, 0.5 ) +[connection signal="animation_finished" from="UIAnimation" to="." method="_ui_fade_completed"] [connection signal="mouse_entered" from="Control/ControlComp" to="." method="_ui_focus_changed" binds= [ true ]] [connection signal="mouse_exited" from="Control/ControlComp" to="." method="_ui_focus_changed" binds= [ false ]] diff --git a/Actors/Objects/Computer/UI/ControlComp.tscn b/Actors/Objects/Computer/UI/ControlComp.tscn index b7419e2..fc5c766 100644 --- a/Actors/Objects/Computer/UI/ControlComp.tscn +++ b/Actors/Objects/Computer/UI/ControlComp.tscn @@ -1,27 +1,53 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=5 format=2] [ext_resource path="res://Actors/Objects/Computer/UI/ControlComp.gd" type="Script" id=1] +[ext_resource path="res://Graphics/UI/ui-popup-panel.png" type="Texture" id=2] +[ext_resource path="res://Graphics/UI/ui_theme.tres" type="Theme" id=3] +[ext_resource path="res://Graphics/unshaded_mat.tres" type="Material" id=4] -[node name="ControlComp" type="Panel"] +[node name="ControlComp" type="Control"] +material = ExtResource( 4 ) margin_left = -100.0 margin_top = -150.0 margin_right = 100.0 margin_bottom = -20.0 mouse_filter = 1 script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} -[node name="Panel" type="Panel" parent="."] -margin_left = 100.0 -margin_top = 90.0 -margin_right = 140.0 -margin_bottom = 130.0 -rect_rotation = 45.0 -mouse_filter = 1 +[node name="TextureRect" type="TextureRect" parent="."] +material = ExtResource( 4 ) +anchor_left = 0.5 +anchor_right = 0.5 +margin_left = -8.0 +margin_top = 111.826 +margin_right = 8.27014 +margin_bottom = 143.855 +texture = ExtResource( 2 ) +stretch_mode = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="NinePatchRect" type="NinePatchRect" parent="."] +material = ExtResource( 4 ) +anchor_right = 1.0 +anchor_bottom = 1.0 +texture = ExtResource( 2 ) +region_rect = Rect2( 0, 0, 16, 16 ) +patch_margin_left = 4 +patch_margin_top = 4 +patch_margin_right = 4 +patch_margin_bottom = 5 +axis_stretch_horizontal = 1 __meta__ = { "_edit_use_anchors_": false } [node name="Container" type="VBoxContainer" parent="."] +material = ExtResource( 4 ) anchor_right = 1.0 anchor_bottom = 1.0 margin_left = 10.0 @@ -36,6 +62,7 @@ __meta__ = { } [node name="VelocityBox" type="VBoxContainer" parent="Container"] +material = ExtResource( 4 ) margin_right = 180.0 margin_bottom = 45.0 size_flags_horizontal = 3 @@ -46,16 +73,19 @@ __meta__ = { } [node name="ShipVelocityLabel" type="Label" parent="Container/VelocityBox"] -margin_top = 5.0 +material = ExtResource( 4 ) +margin_top = 3.0 margin_right = 180.0 -margin_bottom = 19.0 +margin_bottom = 21.0 mouse_filter = 1 +theme = ExtResource( 3 ) text = "Ship velocity" [node name="HSlider" type="HSlider" parent="Container/VelocityBox"] -margin_top = 23.0 +material = ExtResource( 4 ) +margin_top = 25.0 margin_right = 180.0 -margin_bottom = 39.0 +margin_bottom = 41.0 mouse_filter = 1 max_value = 1000.0 value = 1000.0 @@ -63,6 +93,7 @@ tick_count = 10 ticks_on_borders = true [node name="DirectionBox" type="VBoxContainer" parent="Container"] +material = ExtResource( 4 ) margin_top = 65.0 margin_right = 180.0 margin_bottom = 110.0 @@ -74,16 +105,19 @@ __meta__ = { } [node name="ShipDirectionLabel" type="Label" parent="Container/DirectionBox"] -margin_top = 5.0 +material = ExtResource( 4 ) +margin_top = 3.0 margin_right = 180.0 -margin_bottom = 19.0 +margin_bottom = 21.0 mouse_filter = 1 +theme = ExtResource( 3 ) text = "Ship direction" [node name="HSlider" type="HSlider" parent="Container/DirectionBox"] -margin_top = 23.0 +material = ExtResource( 4 ) +margin_top = 25.0 margin_right = 180.0 -margin_bottom = 39.0 +margin_bottom = 41.0 mouse_filter = 1 max_value = 360.0 tick_count = 18 diff --git a/Graphics/UI/iosevka-aile-regular.ttf b/Graphics/UI/iosevka-aile-regular.ttf new file mode 100644 index 0000000..51494a1 Binary files /dev/null and b/Graphics/UI/iosevka-aile-regular.ttf differ diff --git a/Graphics/UI/ui-popup-panel.png b/Graphics/UI/ui-popup-panel.png new file mode 100644 index 0000000..37275a8 Binary files /dev/null and b/Graphics/UI/ui-popup-panel.png differ diff --git a/Graphics/UI/ui-popup-panel.png.import b/Graphics/UI/ui-popup-panel.png.import new file mode 100644 index 0000000..f5425e3 --- /dev/null +++ b/Graphics/UI/ui-popup-panel.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/ui-popup-panel.png-fa5e50aabab6db9d677d17cb65f6cd6c.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Graphics/UI/ui-popup-panel.png" +dest_files=[ "res://.import/ui-popup-panel.png-fa5e50aabab6db9d677d17cb65f6cd6c.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 +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Graphics/UI/ui_theme.tres b/Graphics/UI/ui_theme.tres new file mode 100644 index 0000000..2197f64 --- /dev/null +++ b/Graphics/UI/ui_theme.tres @@ -0,0 +1,6 @@ +[gd_resource type="Theme" load_steps=2 format=2] + +[ext_resource path="res://Graphics/UI/uifont.tres" type="DynamicFont" id=1] + +[resource] +default_font = ExtResource( 1 ) diff --git a/Graphics/UI/uifont.tres b/Graphics/UI/uifont.tres new file mode 100644 index 0000000..f7295c5 --- /dev/null +++ b/Graphics/UI/uifont.tres @@ -0,0 +1,8 @@ +[gd_resource type="DynamicFont" load_steps=2 format=2] + +[ext_resource path="res://Graphics/UI/iosevka-aile-regular.ttf" type="DynamicFontData" id=1] + +[resource] +size = 14 +use_mipmaps = true +font_data = ExtResource( 1 ) diff --git a/Graphics/Untitled.png b/Graphics/Untitled.png new file mode 100644 index 0000000..0c0981c Binary files /dev/null and b/Graphics/Untitled.png differ diff --git a/Graphics/Untitled.png.import b/Graphics/Untitled.png.import new file mode 100644 index 0000000..2184e5c --- /dev/null +++ b/Graphics/Untitled.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Untitled.png-f6eb581e8e6b61ada255f3130c821d86.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Graphics/Untitled.png" +dest_files=[ "res://.import/Untitled.png-f6eb581e8e6b61ada255f3130c821d86.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Graphics/light_shadow_light.png b/Graphics/light_shadow_light.png new file mode 100644 index 0000000..8f9f28b Binary files /dev/null and b/Graphics/light_shadow_light.png differ diff --git a/Graphics/light_shadow_light.png.import b/Graphics/light_shadow_light.png.import new file mode 100644 index 0000000..ab67acf --- /dev/null +++ b/Graphics/light_shadow_light.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/light_shadow_light.png-40fbfcee9ef55c75ad50e68a070e5c3c.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Graphics/light_shadow_light.png" +dest_files=[ "res://.import/light_shadow_light.png-40fbfcee9ef55c75ad50e68a070e5c3c.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Graphics/tgstation/1x1.tres b/Graphics/tgstation/1x1.tres index 46e3933..2ad660a 100644 --- a/Graphics/tgstation/1x1.tres +++ b/Graphics/tgstation/1x1.tres @@ -1,153 +1,102 @@ -[gd_resource type="TileSet" load_steps=52 format=2] +[gd_resource type="TileSet" load_steps=35 format=2] [ext_resource path="res://Graphics/tgstation/walls.png" type="Texture" id=1] [ext_resource path="res://Graphics/tgstation/windows.png" type="Texture" id=2] -[sub_resource type="OccluderPolygon2D" id=1] -polygon = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) +[sub_resource type="ConvexPolygonShape2D" id=1] +points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) -[sub_resource type="OccluderPolygon2D" id=2] -polygon = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) +[sub_resource type="ConvexPolygonShape2D" id=2] +points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) -[sub_resource type="OccluderPolygon2D" id=3] -polygon = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) +[sub_resource type="ConvexPolygonShape2D" id=3] +points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) -[sub_resource type="OccluderPolygon2D" id=4] -polygon = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) +[sub_resource type="ConvexPolygonShape2D" id=4] +points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) -[sub_resource type="OccluderPolygon2D" id=5] -polygon = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) +[sub_resource type="ConvexPolygonShape2D" id=5] +points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) -[sub_resource type="OccluderPolygon2D" id=6] -polygon = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) +[sub_resource type="ConvexPolygonShape2D" id=6] +points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) -[sub_resource type="OccluderPolygon2D" id=7] -polygon = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) +[sub_resource type="ConvexPolygonShape2D" id=7] +points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) -[sub_resource type="OccluderPolygon2D" id=8] -polygon = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) +[sub_resource type="ConvexPolygonShape2D" id=8] +points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) -[sub_resource type="OccluderPolygon2D" id=9] -polygon = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) +[sub_resource type="ConvexPolygonShape2D" id=9] +points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) -[sub_resource type="OccluderPolygon2D" id=10] -polygon = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) +[sub_resource type="ConvexPolygonShape2D" id=10] +points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) -[sub_resource type="OccluderPolygon2D" id=11] -polygon = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) +[sub_resource type="ConvexPolygonShape2D" id=11] +points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) -[sub_resource type="OccluderPolygon2D" id=12] -polygon = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) +[sub_resource type="ConvexPolygonShape2D" id=12] +points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) -[sub_resource type="OccluderPolygon2D" id=13] -polygon = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) +[sub_resource type="ConvexPolygonShape2D" id=13] +points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) -[sub_resource type="OccluderPolygon2D" id=14] -polygon = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) +[sub_resource type="ConvexPolygonShape2D" id=14] +points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) -[sub_resource type="OccluderPolygon2D" id=15] -polygon = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) +[sub_resource type="ConvexPolygonShape2D" id=15] +points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) -[sub_resource type="OccluderPolygon2D" id=16] -polygon = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) +[sub_resource type="ConvexPolygonShape2D" id=16] +points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) -[sub_resource type="OccluderPolygon2D" id=17] -polygon = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) +[sub_resource type="ConvexPolygonShape2D" id=17] +points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) [sub_resource type="ConvexPolygonShape2D" id=18] -points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) +points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) [sub_resource type="ConvexPolygonShape2D" id=19] -points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) +points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) [sub_resource type="ConvexPolygonShape2D" id=20] -points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) +points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) [sub_resource type="ConvexPolygonShape2D" id=21] -points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) +points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) [sub_resource type="ConvexPolygonShape2D" id=22] -points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) +points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) [sub_resource type="ConvexPolygonShape2D" id=23] -points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) +points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) [sub_resource type="ConvexPolygonShape2D" id=24] -points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) +points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) [sub_resource type="ConvexPolygonShape2D" id=25] -points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) +points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) [sub_resource type="ConvexPolygonShape2D" id=26] points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) [sub_resource type="ConvexPolygonShape2D" id=27] -points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) +points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) [sub_resource type="ConvexPolygonShape2D" id=28] -points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) +points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) [sub_resource type="ConvexPolygonShape2D" id=29] -points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) +points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) [sub_resource type="ConvexPolygonShape2D" id=30] -points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) +points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) [sub_resource type="ConvexPolygonShape2D" id=31] -points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) +points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) [sub_resource type="ConvexPolygonShape2D" id=32] -points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) - -[sub_resource type="ConvexPolygonShape2D" id=33] -points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) - -[sub_resource type="ConvexPolygonShape2D" id=34] -points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) - -[sub_resource type="ConvexPolygonShape2D" id=35] -points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) - -[sub_resource type="ConvexPolygonShape2D" id=36] -points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) - -[sub_resource type="ConvexPolygonShape2D" id=37] -points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) - -[sub_resource type="ConvexPolygonShape2D" id=38] -points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) - -[sub_resource type="ConvexPolygonShape2D" id=39] -points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) - -[sub_resource type="ConvexPolygonShape2D" id=40] -points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) - -[sub_resource type="ConvexPolygonShape2D" id=41] -points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) - -[sub_resource type="ConvexPolygonShape2D" id=42] -points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) - -[sub_resource type="ConvexPolygonShape2D" id=43] -points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) - -[sub_resource type="ConvexPolygonShape2D" id=44] -points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) - -[sub_resource type="ConvexPolygonShape2D" id=45] -points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) - -[sub_resource type="ConvexPolygonShape2D" id=46] -points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) - -[sub_resource type="ConvexPolygonShape2D" id=47] -points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) - -[sub_resource type="ConvexPolygonShape2D" id=48] -points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) - -[sub_resource type="ConvexPolygonShape2D" id=49] points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) [resource] @@ -162,7 +111,7 @@ points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) 0/autotile/icon_coordinate = Vector2( 0, 0 ) 0/autotile/tile_size = Vector2( 16, 16 ) 0/autotile/spacing = 0 -0/autotile/occluder_map = [ Vector2( 0, 0 ), SubResource( 1 ), Vector2( 0, 1 ), SubResource( 2 ), Vector2( 0, 2 ), SubResource( 3 ), Vector2( 0, 3 ), SubResource( 4 ), Vector2( 0, 4 ), SubResource( 5 ), Vector2( 1, 0 ), SubResource( 6 ), Vector2( 1, 1 ), SubResource( 7 ), Vector2( 1, 2 ), SubResource( 8 ), Vector2( 1, 3 ), SubResource( 9 ), Vector2( 1, 4 ), SubResource( 10 ), Vector2( 2, 0 ), SubResource( 11 ), Vector2( 2, 1 ), SubResource( 12 ), Vector2( 2, 2 ), SubResource( 13 ), Vector2( 2, 3 ), SubResource( 14 ), Vector2( 2, 4 ), SubResource( 15 ), Vector2( 3, 0 ), SubResource( 16 ), Vector2( 3, 1 ), SubResource( 17 ) ] +0/autotile/occluder_map = [ ] 0/autotile/navpoly_map = [ ] 0/autotile/priority_map = [ ] 0/autotile/z_index_map = [ ] @@ -170,13 +119,139 @@ points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) 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( 18 ) +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 ) +}, { +"autotile_coord": Vector2( 3, 1 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 5 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 2, 1 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 6 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 2, 2 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 7 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 2, 3 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 8 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 2, 4 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 9 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 1, 4 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 10 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 0, 4 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 11 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 0, 3 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 12 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 1, 3 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 13 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 1, 2 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 14 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 0, 2 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 15 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 0, 1 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 16 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 1, 1 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 17 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +0/z_index = 0 +1/name = "Window" +1/texture = ExtResource( 2 ) +1/tex_offset = Vector2( 0, 0 ) +1/modulate = Color( 1, 1, 1, 1 ) +1/region = Rect2( 0, 0, 64, 64 ) +1/tile_mode = 1 +1/autotile/bitmask_mode = 0 +1/autotile/bitmask_flags = [ Vector2( 0, 0 ), 324, Vector2( 0, 1 ), 260, Vector2( 0, 2 ), 256, Vector2( 0, 3 ), 325, Vector2( 1, 0 ), 69, Vector2( 1, 1 ), 65, Vector2( 1, 2 ), 1, Vector2( 1, 3 ), 320, Vector2( 2, 0 ), 261, Vector2( 2, 1 ), 260, Vector2( 2, 2 ), 4, Vector2( 2, 3 ), 321, Vector2( 3, 0 ), 65, Vector2( 3, 1 ), 64, Vector2( 3, 2 ), 5 ] +1/autotile/icon_coordinate = Vector2( 0, 0 ) +1/autotile/tile_size = Vector2( 16, 16 ) +1/autotile/spacing = 0 +1/autotile/occluder_map = [ ] +1/autotile/navpoly_map = [ ] +1/autotile/priority_map = [ ] +1/autotile/z_index_map = [ ] +1/occluder_offset = Vector2( 0, 0 ) +1/navigation_offset = Vector2( 0, 0 ) +1/shape_offset = Vector2( 0, 0 ) +1/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +1/shape = SubResource( 18 ) +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( 18 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) }, { @@ -210,184 +285,58 @@ points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) "shape": SubResource( 23 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) }, { -"autotile_coord": Vector2( 2, 2 ), +"autotile_coord": Vector2( 1, 1 ), "one_way": false, "one_way_margin": 1.0, "shape": SubResource( 24 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) }, { -"autotile_coord": Vector2( 2, 3 ), +"autotile_coord": Vector2( 0, 1 ), "one_way": false, "one_way_margin": 1.0, "shape": SubResource( 25 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) }, { -"autotile_coord": Vector2( 2, 4 ), +"autotile_coord": Vector2( 0, 2 ), "one_way": false, "one_way_margin": 1.0, "shape": SubResource( 26 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) }, { -"autotile_coord": Vector2( 1, 4 ), +"autotile_coord": Vector2( 1, 2 ), "one_way": false, "one_way_margin": 1.0, "shape": SubResource( 27 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) }, { -"autotile_coord": Vector2( 0, 4 ), +"autotile_coord": Vector2( 2, 2 ), "one_way": false, "one_way_margin": 1.0, "shape": SubResource( 28 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) }, { -"autotile_coord": Vector2( 0, 3 ), +"autotile_coord": Vector2( 3, 2 ), "one_way": false, "one_way_margin": 1.0, "shape": SubResource( 29 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) }, { -"autotile_coord": Vector2( 1, 3 ), +"autotile_coord": Vector2( 2, 3 ), "one_way": false, "one_way_margin": 1.0, "shape": SubResource( 30 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) }, { -"autotile_coord": Vector2( 1, 2 ), +"autotile_coord": Vector2( 1, 3 ), "one_way": false, "one_way_margin": 1.0, "shape": SubResource( 31 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) }, { -"autotile_coord": Vector2( 0, 2 ), +"autotile_coord": Vector2( 0, 3 ), "one_way": false, "one_way_margin": 1.0, "shape": SubResource( 32 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) -}, { -"autotile_coord": Vector2( 0, 1 ), -"one_way": false, -"one_way_margin": 1.0, -"shape": SubResource( 33 ), -"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) -}, { -"autotile_coord": Vector2( 1, 1 ), -"one_way": false, -"one_way_margin": 1.0, -"shape": SubResource( 34 ), -"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) -} ] -0/z_index = 0 -1/name = "Window" -1/texture = ExtResource( 2 ) -1/tex_offset = Vector2( 0, 0 ) -1/modulate = Color( 1, 1, 1, 1 ) -1/region = Rect2( 0, 0, 64, 64 ) -1/tile_mode = 1 -1/autotile/bitmask_mode = 0 -1/autotile/bitmask_flags = [ Vector2( 0, 0 ), 324, Vector2( 0, 1 ), 260, Vector2( 0, 2 ), 256, Vector2( 0, 3 ), 325, Vector2( 1, 0 ), 69, Vector2( 1, 1 ), 65, Vector2( 1, 2 ), 1, Vector2( 1, 3 ), 320, Vector2( 2, 0 ), 261, Vector2( 2, 1 ), 260, Vector2( 2, 2 ), 4, Vector2( 2, 3 ), 321, Vector2( 3, 0 ), 65, Vector2( 3, 1 ), 64, Vector2( 3, 2 ), 5 ] -1/autotile/icon_coordinate = Vector2( 0, 0 ) -1/autotile/tile_size = Vector2( 16, 16 ) -1/autotile/spacing = 0 -1/autotile/occluder_map = [ ] -1/autotile/navpoly_map = [ ] -1/autotile/priority_map = [ ] -1/autotile/z_index_map = [ ] -1/occluder_offset = Vector2( 0, 0 ) -1/navigation_offset = Vector2( 0, 0 ) -1/shape_offset = Vector2( 0, 0 ) -1/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -1/shape = SubResource( 35 ) -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( 35 ), -"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) -}, { -"autotile_coord": Vector2( 1, 0 ), -"one_way": false, -"one_way_margin": 1.0, -"shape": SubResource( 36 ), -"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) -}, { -"autotile_coord": Vector2( 2, 0 ), -"one_way": false, -"one_way_margin": 1.0, -"shape": SubResource( 37 ), -"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) -}, { -"autotile_coord": Vector2( 3, 0 ), -"one_way": false, -"one_way_margin": 1.0, -"shape": SubResource( 38 ), -"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) -}, { -"autotile_coord": Vector2( 3, 1 ), -"one_way": false, -"one_way_margin": 1.0, -"shape": SubResource( 39 ), -"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) -}, { -"autotile_coord": Vector2( 2, 1 ), -"one_way": false, -"one_way_margin": 1.0, -"shape": SubResource( 40 ), -"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) -}, { -"autotile_coord": Vector2( 1, 1 ), -"one_way": false, -"one_way_margin": 1.0, -"shape": SubResource( 41 ), -"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) -}, { -"autotile_coord": Vector2( 0, 1 ), -"one_way": false, -"one_way_margin": 1.0, -"shape": SubResource( 42 ), -"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) -}, { -"autotile_coord": Vector2( 0, 2 ), -"one_way": false, -"one_way_margin": 1.0, -"shape": SubResource( 43 ), -"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) -}, { -"autotile_coord": Vector2( 1, 2 ), -"one_way": false, -"one_way_margin": 1.0, -"shape": SubResource( 44 ), -"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) -}, { -"autotile_coord": Vector2( 2, 2 ), -"one_way": false, -"one_way_margin": 1.0, -"shape": SubResource( 45 ), -"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) -}, { -"autotile_coord": Vector2( 3, 2 ), -"one_way": false, -"one_way_margin": 1.0, -"shape": SubResource( 46 ), -"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) -}, { -"autotile_coord": Vector2( 2, 3 ), -"one_way": false, -"one_way_margin": 1.0, -"shape": SubResource( 47 ), -"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) -}, { -"autotile_coord": Vector2( 1, 3 ), -"one_way": false, -"one_way_margin": 1.0, -"shape": SubResource( 48 ), -"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) -}, { -"autotile_coord": Vector2( 0, 3 ), -"one_way": false, -"one_way_margin": 1.0, -"shape": SubResource( 49 ), -"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) } ] 1/z_index = 0 diff --git a/Graphics/tgstation/2x2.tres b/Graphics/tgstation/2x2.tres index c133be4..a54bc18 100644 --- a/Graphics/tgstation/2x2.tres +++ b/Graphics/tgstation/2x2.tres @@ -3,14 +3,12 @@ [ext_resource path="res://Graphics/tgstation/floor.png" type="Texture" id=1] [ext_resource path="res://Graphics/tgstation/wall.png" type="Texture" id=2] [ext_resource path="res://Graphics/tgstation/window.png" type="Texture" id=3] +[ext_resource path="res://Graphics/unshaded_mat.tres" type="Material" id=4] -[sub_resource type="OccluderPolygon2D" id=1] -polygon = PoolVector2Array( 32, 32, 0, 32, 0, 0, 32, 0 ) - -[sub_resource type="ConvexPolygonShape2D" id=2] +[sub_resource type="ConvexPolygonShape2D" id=1] points = PoolVector2Array( 32, 32, 0, 32, 0, 0, 32, 0 ) -[sub_resource type="ConvexPolygonShape2D" id=3] +[sub_resource type="ConvexPolygonShape2D" id=2] points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) [resource] @@ -35,24 +33,24 @@ points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) 2/region = Rect2( 0, 0, 32, 32 ) 2/tile_mode = 0 2/occluder_offset = Vector2( 0, 0 ) -2/occluder = SubResource( 1 ) 2/navigation_offset = Vector2( 0, 0 ) 2/shape_offset = Vector2( 0, 0 ) 2/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -2/shape = SubResource( 2 ) +2/shape = SubResource( 1 ) 2/shape_one_way = false 2/shape_one_way_margin = 1.0 2/shapes = [ { "autotile_coord": Vector2( 0, 0 ), "one_way": false, "one_way_margin": 1.0, -"shape": SubResource( 2 ), +"shape": SubResource( 1 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) } ] 2/z_index = 0 3/name = "Window" 3/texture = ExtResource( 3 ) 3/tex_offset = Vector2( 0, 0 ) +3/material = ExtResource( 4 ) 3/modulate = Color( 1, 1, 1, 1 ) 3/region = Rect2( 0, 0, 32, 32 ) 3/tile_mode = 0 @@ -60,14 +58,14 @@ points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) 3/navigation_offset = Vector2( 0, 0 ) 3/shape_offset = Vector2( 0, 0 ) 3/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -3/shape = SubResource( 3 ) +3/shape = SubResource( 2 ) 3/shape_one_way = false 3/shape_one_way_margin = 1.0 3/shapes = [ { "autotile_coord": Vector2( 0, 0 ), "one_way": false, "one_way_margin": 1.0, -"shape": SubResource( 3 ), +"shape": SubResource( 2 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) } ] 3/z_index = 0 diff --git a/Graphics/tgstation/light.png b/Graphics/tgstation/light.png new file mode 100644 index 0000000..c113caf Binary files /dev/null and b/Graphics/tgstation/light.png differ diff --git a/Graphics/tgstation/light.png.import b/Graphics/tgstation/light.png.import new file mode 100644 index 0000000..483bbbe --- /dev/null +++ b/Graphics/tgstation/light.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/light.png-12bb526faa1a0b5b846f9f031b3fcda0.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Graphics/tgstation/light.png" +dest_files=[ "res://.import/light.png-12bb526faa1a0b5b846f9f031b3fcda0.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 +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Graphics/unshaded_mat.tres b/Graphics/unshaded_mat.tres new file mode 100644 index 0000000..3e38d2d --- /dev/null +++ b/Graphics/unshaded_mat.tres @@ -0,0 +1,9 @@ +[gd_resource type="ShaderMaterial" load_steps=2 format=2] + +[sub_resource type="Shader" id=1] +code = "shader_type canvas_item; + +render_mode unshaded;" + +[resource] +shader = SubResource( 1 ) diff --git a/Scenes/Maps/odyssey.tscn b/Scenes/Maps/odyssey.tscn index dd60867..557d231 100644 --- a/Scenes/Maps/odyssey.tscn +++ b/Scenes/Maps/odyssey.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=8 format=2] +[gd_scene load_steps=10 format=2] [ext_resource path="res://Graphics/tgstation/2x2.tres" type="TileSet" id=1] [ext_resource path="res://Graphics/tgstation/1x1.tres" type="TileSet" id=2] @@ -7,15 +7,32 @@ [ext_resource path="res://Scenes/Map.gd" type="Script" id=5] [ext_resource path="res://Actors/Objects/Computer/Computer.tscn" type="PackedScene" id=6] [ext_resource path="res://Graphics/space.png" type="Texture" id=7] +[ext_resource path="res://Actors/Lightbulb/Lightbulb.tscn" type="PackedScene" id=8] + +[sub_resource type="CanvasItemMaterial" id=1] +light_mode = 1 [node name="map" type="Node2D"] script = ExtResource( 5 ) tilemap_path = NodePath("2x2") +[node name="CanvasModulate" type="CanvasModulate" parent="."] +visible = false +color = Color( 0, 0, 0, 1 ) +__meta__ = { +"_edit_group_": true, +"_edit_lock_": true +} + [node name="deepspace" type="Sprite" parent="."] +material = SubResource( 1 ) texture = ExtResource( 7 ) region_enabled = true region_rect = Rect2( 0, 0, 10000, 10000 ) +__meta__ = { +"_edit_group_": true, +"_edit_lock_": true +} [node name="2x2" type="TileMap" parent="."] tile_set = ExtResource( 1 ) @@ -23,12 +40,11 @@ cell_size = Vector2( 32, 32 ) cell_quadrant_size = 32 occluder_light_mask = -2147483647 format = 1 -tile_data = PoolIntArray( 262137, 2, 0, 262138, 2, 0, 262139, 2, 0, 262140, 2, 0, 262141, 2, 0, 262142, 2, 0, 262143, 2, 0, 196608, 2, 0, 196609, 2, 0, 196610, 2, 0, 196611, 2, 0, 196612, 2, 0, 196613, 2, 0, 196614, 2, 0, 196615, 2, 0, 196616, 2, 0, 196617, 2, 0, 196618, 2, 0, 196619, 2, 0, 196620, 2, 0, 196621, 2, 0, 196622, 2, 0, 196623, 2, 0, 196624, 2, 0, 196625, 2, 0, 196626, 2, 0, 196627, 2, 0, 327673, 2, 0, 327674, 1, 0, 327675, 1, 0, 327676, 1, 0, 327677, 1, 0, 327678, 1, 0, 327679, 2, 0, 262144, 1, 0, 262145, 1, 0, 262146, 1, 0, 262147, 1, 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, 262158, 1, 0, 262159, 1, 0, 262160, 1, 0, 262161, 1, 0, 262162, 1, 0, 262163, 3, 0, 393209, 2, 0, 393210, 1, 0, 393211, 1, 0, 393212, 1, 0, 393213, 1, 0, 393214, 1, 0, 393215, 2, 0, 327680, 1, 0, 327681, 1, 0, 327682, 1, 0, 327683, 1, 0, 327684, 1, 0, 327685, 1, 0, 327686, 1, 0, 327687, 1, 0, 327688, 1, 0, 327689, 1, 0, 327690, 1, 0, 327691, 1, 0, 327692, 1, 0, 327693, 2, 0, 327694, 1, 0, 327695, 1, 0, 327696, 1, 0, 327697, 1, 0, 327698, 1, 0, 327699, 3, 0, 458745, 2, 0, 458746, 1, 0, 458747, 1, 0, 458748, 1, 0, 458749, 1, 0, 458750, 1, 0, 458751, 1, 0, 393216, 1, 0, 393217, 1, 0, 393218, 1, 0, 393219, 1, 0, 393220, 1, 0, 393221, 1, 0, 393222, 1, 0, 393223, 1, 0, 393224, 1, 0, 393225, 1, 0, 393226, 1, 0, 393227, 1, 0, 393228, 1, 0, 393229, 1, 0, 393230, 1, 0, 393231, 1, 0, 393232, 1, 0, 393233, 1, 0, 393234, 1, 0, 393235, 3, 0, 524281, 2, 0, 524282, 1, 0, 524283, 1, 0, 524284, 1, 0, 524285, 1, 0, 524286, 1, 0, 524287, 3, 0, 458752, 1, 0, 458753, 1, 0, 458754, 1, 0, 458755, 1, 0, 458756, 1, 0, 458757, 1, 0, 458758, 1, 0, 458759, 1, 0, 458760, 1, 0, 458761, 1, 0, 458762, 1, 0, 458763, 1, 0, 458764, 1, 0, 458765, 3, 0, 458766, 1, 0, 458767, 1, 0, 458768, 1, 0, 458769, 1, 0, 458770, 1, 0, 458771, 3, 0, 589817, 2, 0, 589818, 1, 0, 589819, 1, 0, 589820, 1, 0, 589821, 1, 0, 589822, 1, 0, 589823, 3, 0, 524288, 1, 0, 524289, 1, 0, 524290, 1, 0, 524291, 1, 0, 524292, 1, 0, 524293, 1, 0, 524294, 1, 0, 524295, 1, 0, 524296, 1, 0, 524297, 1, 0, 524298, 1, 0, 524299, 1, 0, 524300, 1, 0, 524301, 3, 0, 524302, 1, 0, 524303, 1, 0, 524304, 1, 0, 524305, 1, 0, 524306, 1, 0, 524307, 3, 0, 655353, 2, 0, 655354, 1, 0, 655355, 1, 0, 655356, 1, 0, 655357, 1, 0, 655358, 1, 0, 655359, 1, 0, 589824, 1, 0, 589825, 1, 0, 589826, 1, 0, 589827, 1, 0, 589828, 1, 0, 589829, 1, 0, 589830, 1, 0, 589831, 1, 0, 589832, 1, 0, 589833, 1, 0, 589834, 1, 0, 589835, 1, 0, 589836, 1, 0, 589837, 1, 0, 589838, 1, 0, 589839, 1, 0, 589840, 1, 0, 589841, 1, 0, 589842, 1, 0, 589843, 3, 0, 720889, 2, 0, 720890, 1, 0, 720891, 1, 0, 720892, 1, 0, 720893, 1, 0, 720894, 1, 0, 720895, 2, 0, 655360, 1, 0, 655361, 1, 0, 655362, 1, 0, 655363, 1, 0, 655364, 1, 0, 655365, 1, 0, 655366, 1, 0, 655367, 1, 0, 655368, 1, 0, 655369, 1, 0, 655370, 1, 0, 655371, 1, 0, 655372, 1, 0, 655373, 2, 0, 655374, 1, 0, 655375, 1, 0, 655376, 1, 0, 655377, 1, 0, 655378, 1, 0, 655379, 3, 0, 786425, 2, 0, 786426, 1, 0, 786427, 1, 0, 786428, 1, 0, 786429, 1, 0, 786430, 1, 0, 786431, 2, 0, 720896, 1, 0, 720897, 1, 0, 720898, 1, 0, 720899, 1, 0, 720900, 1, 0, 720901, 1, 0, 720902, 1, 0, 720903, 1, 0, 720904, 1, 0, 720905, 1, 0, 720906, 1, 0, 720907, 1, 0, 720908, 1, 0, 720909, 2, 0, 720910, 1, 0, 720911, 1, 0, 720912, 1, 0, 720913, 1, 0, 720914, 1, 0, 720915, 3, 0, 851961, 2, 0, 851962, 2, 0, 851963, 2, 0, 851964, 2, 0, 851965, 2, 0, 851966, 2, 0, 851967, 2, 0, 786432, 2, 0, 786433, 2, 0, 786434, 2, 0, 786435, 2, 0, 786436, 2, 0, 786437, 1, 0, 786438, 2, 0, 786439, 2, 0, 786440, 2, 0, 786441, 2, 0, 786442, 2, 0, 786443, 2, 0, 786444, 2, 0, 786445, 2, 0, 786446, 2, 0, 786447, 2, 0, 786448, 2, 0, 786449, 2, 0, 786450, 2, 0, 786451, 2, 0 ) +tile_data = PoolIntArray( 262137, 2, 0, 262138, 2, 0, 262139, 2, 0, 262140, 2, 0, 262141, 2, 0, 262142, 2, 0, 262143, 2, 0, 196608, 2, 0, 196609, 2, 0, 196610, 2, 0, 196611, 3, 0, 196612, 3, 0, 196613, 2, 0, 196614, 2, 0, 196615, 2, 0, 196616, 3, 0, 196617, 3, 0, 196618, 2, 0, 196619, 2, 0, 196620, 2, 0, 196621, 2, 0, 196622, 2, 0, 196623, 2, 0, 196624, 2, 0, 196625, 2, 0, 196626, 2, 0, 196627, 2, 0, 327673, 2, 0, 327674, 1, 0, 327675, 1, 0, 327676, 1, 0, 327677, 1, 0, 327678, 1, 0, 327679, 2, 0, 262144, 1, 0, 262145, 1, 0, 262146, 1, 0, 262147, 1, 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, 262158, 1, 0, 262159, 1, 0, 262160, 1, 0, 262161, 1, 0, 262162, 1, 0, 262163, 3, 0, 393209, 2, 0, 393210, 1, 0, 393211, 1, 0, 393212, 1, 0, 393213, 1, 0, 393214, 1, 0, 393215, 2, 0, 327680, 1, 0, 327681, 1, 0, 327682, 1, 0, 327683, 1, 0, 327684, 1, 0, 327685, 1, 0, 327686, 1, 0, 327687, 1, 0, 327688, 1, 0, 327689, 1, 0, 327690, 1, 0, 327691, 1, 0, 327692, 1, 0, 327693, 2, 0, 327694, 1, 0, 327695, 1, 0, 327696, 1, 0, 327697, 1, 0, 327698, 1, 0, 327699, 3, 0, 458745, 2, 0, 458746, 1, 0, 458747, 1, 0, 458748, 1, 0, 458749, 1, 0, 458750, 1, 0, 458751, 1, 0, 393216, 1, 0, 393217, 1, 0, 393218, 1, 0, 393219, 1, 0, 393220, 1, 0, 393221, 1, 0, 393222, 1, 0, 393223, 1, 0, 393224, 1, 0, 393225, 1, 0, 393226, 1, 0, 393227, 1, 0, 393228, 1, 0, 393229, 1, 0, 393230, 1, 0, 393231, 1, 0, 393232, 1, 0, 393233, 1, 0, 393234, 1, 0, 393235, 3, 0, 524281, 2, 0, 524282, 1, 0, 524283, 1, 0, 524284, 1, 0, 524285, 1, 0, 524286, 1, 0, 524287, 2, 0, 458752, 1, 0, 458753, 1, 0, 458754, 1, 0, 458755, 1, 0, 458756, 1, 0, 458757, 1, 0, 458758, 1, 0, 458759, 1, 0, 458760, 1, 0, 458761, 1, 0, 458762, 1, 0, 458763, 1, 0, 458764, 1, 0, 458765, 3, 0, 458766, 1, 0, 458767, 1, 0, 458768, 1, 0, 458769, 1, 0, 458770, 1, 0, 458771, 3, 0, 589817, 2, 0, 589818, 1, 0, 589819, 1, 0, 589820, 1, 0, 589821, 1, 0, 589822, 1, 0, 589823, 2, 0, 524288, 1, 0, 524289, 1, 0, 524290, 1, 0, 524291, 1, 0, 524292, 1, 0, 524293, 1, 0, 524294, 1, 0, 524295, 1, 0, 524296, 1, 0, 524297, 1, 0, 524298, 1, 0, 524299, 1, 0, 524300, 1, 0, 524301, 3, 0, 524302, 1, 0, 524303, 1, 0, 524304, 1, 0, 524305, 1, 0, 524306, 1, 0, 524307, 3, 0, 655353, 2, 0, 655354, 1, 0, 655355, 1, 0, 655356, 1, 0, 655357, 1, 0, 655358, 1, 0, 655359, 1, 0, 589824, 1, 0, 589825, 1, 0, 589826, 1, 0, 589827, 1, 0, 589828, 1, 0, 589829, 1, 0, 589830, 1, 0, 589831, 1, 0, 589832, 1, 0, 589833, 1, 0, 589834, 1, 0, 589835, 1, 0, 589836, 1, 0, 589837, 1, 0, 589838, 1, 0, 589839, 1, 0, 589840, 1, 0, 589841, 1, 0, 589842, 1, 0, 589843, 3, 0, 720889, 2, 0, 720890, 1, 0, 720891, 1, 0, 720892, 1, 0, 720893, 1, 0, 720894, 1, 0, 720895, 2, 0, 655360, 1, 0, 655361, 1, 0, 655362, 1, 0, 655363, 1, 0, 655364, 1, 0, 655365, 1, 0, 655366, 1, 0, 655367, 1, 0, 655368, 1, 0, 655369, 1, 0, 655370, 1, 0, 655371, 1, 0, 655372, 1, 0, 655373, 2, 0, 655374, 1, 0, 655375, 1, 0, 655376, 1, 0, 655377, 1, 0, 655378, 1, 0, 655379, 3, 0, 786425, 2, 0, 786426, 1, 0, 786427, 1, 0, 786428, 1, 0, 786429, 1, 0, 786430, 1, 0, 786431, 2, 0, 720896, 1, 0, 720897, 1, 0, 720898, 1, 0, 720899, 1, 0, 720900, 1, 0, 720901, 1, 0, 720902, 1, 0, 720903, 1, 0, 720904, 1, 0, 720905, 1, 0, 720906, 1, 0, 720907, 1, 0, 720908, 1, 0, 720909, 2, 0, 720910, 1, 0, 720911, 1, 0, 720912, 1, 0, 720913, 1, 0, 720914, 1, 0, 720915, 3, 0, 851961, 2, 0, 851962, 2, 0, 851963, 2, 0, 851964, 2, 0, 851965, 2, 0, 851966, 2, 0, 851967, 2, 0, 786432, 2, 0, 786433, 2, 0, 786434, 2, 0, 786435, 2, 0, 786436, 3, 0, 786437, 3, 0, 786438, 1, 0, 786439, 3, 0, 786440, 3, 0, 786441, 2, 0, 786442, 2, 0, 786443, 2, 0, 786444, 2, 0, 786445, 2, 0, 786446, 2, 0, 786447, 2, 0, 786448, 2, 0, 786449, 2, 0, 786450, 2, 0, 786451, 2, 0 ) script = ExtResource( 3 ) extended_tilemap_node = NodePath("../1x1") [node name="1x1" type="TileMap" parent="."] -light_mask = 2 tile_set = ExtResource( 2 ) cell_size = Vector2( 16, 16 ) format = 1 @@ -48,7 +64,7 @@ position = Vector2( -32, 192 ) position = Vector2( -32, 288 ) [node name="Airlock" parent="objects" instance=ExtResource( 4 )] -position = Vector2( 160, 384 ) +position = Vector2( 192, 384 ) [node name="ControlComp" parent="objects" instance=ExtResource( 6 )] position = Vector2( 576, 256 ) @@ -58,3 +74,31 @@ direction = 0 position = Vector2( 576, 224 ) direction = 0 computer_type = 1 + +[node name="lights" type="Node2D" parent="."] +visible = false +__meta__ = { +"_edit_group_": true, +"_edit_lock_": true +} + +[node name="Lighttube" parent="lights" instance=ExtResource( 8 )] +position = Vector2( 80, 144 ) + +[node name="Lighttube2" parent="lights" instance=ExtResource( 8 )] +position = Vector2( 336, 144 ) + +[node name="Lighttube3" parent="lights" instance=ExtResource( 8 )] +position = Vector2( 336, 368 ) +direction = 2 + +[node name="Lighttube4" parent="lights" instance=ExtResource( 8 )] +position = Vector2( 80, 368 ) +direction = 2 + +[node name="Lighttube5" parent="lights" instance=ExtResource( 8 )] +position = Vector2( 528, 368 ) +direction = 2 + +[node name="Lighttube6" parent="lights" instance=ExtResource( 8 )] +position = Vector2( 528, 144 ) diff --git a/export_presets.cfg b/export_presets.cfg new file mode 100644 index 0000000..d6309cc --- /dev/null +++ b/export_presets.cfg @@ -0,0 +1,42 @@ +[preset.0] + +name="Windows Desktop" +platform="Windows Desktop" +runnable=true +custom_features="" +export_filter="all_resources" +include_filter="" +exclude_filter="" +export_path="./odyssey.exe" +patch_list=PoolStringArray( ) +script_export_mode=1 +script_encryption_key="" + +[preset.0.options] + +texture_format/bptc=false +texture_format/s3tc=true +texture_format/etc=false +texture_format/etc2=false +texture_format/no_bptc_fallbacks=true +binary_format/64_bits=true +binary_format/embed_pck=false +custom_template/release="" +custom_template/debug="" +codesign/enable=false +codesign/identity_type=0 +codesign/identity="" +codesign/password="" +codesign/timestamp=true +codesign/timestamp_server_url="" +codesign/digest_algorithm=1 +codesign/description="" +codesign/custom_options=PoolStringArray( ) +application/icon="" +application/file_version="" +application/product_version="" +application/company_name="" +application/product_name="" +application/file_description="" +application/copyright="" +application/trademarks=""