[gd_scene load_steps=19 format=3 uid="uid://dhn7yt46fyac8"] [ext_resource type="PackedScene" uid="uid://bhulqhxesd5gc" path="res://prefabs/player.tscn" id="1_65a7v"] [ext_resource type="AudioStream" uid="uid://bsy2d0bl3lgg0" path="res://sounds/crank.ogg" id="1_cweq4"] [ext_resource type="Texture2D" uid="uid://py6qiu3rm7cu" path="res://sprites/brickwall.png" id="2_edqdh"] [ext_resource type="Texture2D" uid="uid://dlbl6d4yghvht" path="res://sprites/mask.png" id="3_8o315"] [ext_resource type="Script" path="res://scripts/Flashlight.cs" id="3_cylxo"] [ext_resource type="Material" uid="uid://xuvxq5hy1dt" path="res://shaders/light_shader_material.tres" id="4_ro05e"] [ext_resource type="Shader" path="res://shaders/dithering.gdshader" id="5_64d71"] [ext_resource type="Script" path="res://scripts/GameCamera.cs" id="6_quua3"] [ext_resource type="Script" path="res://scripts/PointLight2DWorkaround.cs" id="6_slohe"] [ext_resource type="PackedScene" uid="uid://ccg3n7sobsvdw" path="res://prefabs/enemies/watcher.tscn" id="10_fsiss"] [sub_resource type="Curve" id="Curve_o5byr"] _data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(0.0824742, 0.273684), -10.2105, 0.0, 0, 0, Vector2(0.242268, 0.494737), -5.10526, 0.0, 0, 0, Vector2(0.396907, 0.736842), -7.6579, 0.0, 0, 0, Vector2(0.737113, 1), 0.0, 0.0, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0] point_count = 6 [sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_wg1ao"] light_mode = 2 [sub_resource type="ShaderMaterial" id="ShaderMaterial_m680d"] shader = ExtResource("5_64d71") [sub_resource type="ViewportTexture" id="ViewportTexture_u0vqj"] viewport_path = NodePath("FlashlightViewport") [sub_resource type="CircleShape2D" id="CircleShape2D_prnh4"] radius = 16.0 [sub_resource type="CircleShape2D" id="CircleShape2D_qcayn"] [sub_resource type="ViewportTexture" id="ViewportTexture_nnmvo"] viewport_path = NodePath("FlashlightViewport") [sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_au1d0"] light_mode = 2 [node name="Root" type="Node2D"] y_sort_enabled = true [node name="Sounds" type="Node" parent="."] [node name="CrankSound" type="AudioStreamPlayer" parent="Sounds"] stream = ExtResource("1_cweq4") [node name="FlashlightController" type="Node" parent="." node_paths=PackedStringArray("Player", "Camera", "Circle", "PlayerCircle", "Polygon", "CollisionCircle", "CollisionPlayerCircle", "CollisionPolygon", "FlashlightGroup", "CrankSoundPlayer")] script = ExtResource("3_cylxo") Player = NodePath("../Player") Camera = NodePath("../PlayerCamera") Circle = NodePath("../FlashlightViewport/CanvasGroup/Circle") PlayerCircle = NodePath("../FlashlightViewport/PlayerCircle") Polygon = NodePath("../FlashlightViewport/CanvasGroup/Triangle") CollisionCircle = NodePath("../PlayerCamera/FlashlightCollision/Circle") CollisionPlayerCircle = NodePath("../PlayerCamera/FlashlightCollision/PlayerCircle") CollisionPolygon = NodePath("../PlayerCamera/FlashlightCollision/CollisionPolygon2D") FlashlightGroup = NodePath("../FlashlightViewport/CanvasGroup") BrightnessCurve = SubResource("Curve_o5byr") CrankSoundPlayer = NodePath("../Sounds/CrankSound") [node name="Player" parent="." instance=ExtResource("1_65a7v")] position = Vector2(19, 4) [node name="TestWall" type="Sprite2D" parent="."] light_mask = 2 y_sort_enabled = true material = SubResource("CanvasItemMaterial_wg1ao") position = Vector2(58, 37) texture = ExtResource("2_edqdh") [node name="TestWall2" type="Sprite2D" parent="."] light_mask = 2 y_sort_enabled = true position = Vector2(85, 71) texture = ExtResource("2_edqdh") [node name="FlashlightViewport" type="SubViewport" parent="."] disable_3d = true transparent_bg = true snap_2d_transforms_to_pixel = true snap_2d_vertices_to_pixel = true canvas_item_default_texture_filter = 0 size = Vector2i(256, 192) render_target_update_mode = 4 [node name="PlayerCircle" type="Sprite2D" parent="FlashlightViewport"] position = Vector2(13.61, 14.405) scale = Vector2(0.5, 0.5) texture = ExtResource("3_8o315") [node name="CanvasGroup" type="CanvasGroup" parent="FlashlightViewport"] material = SubResource("ShaderMaterial_m680d") [node name="Circle" type="Sprite2D" parent="FlashlightViewport/CanvasGroup"] texture = ExtResource("3_8o315") [node name="Triangle" type="Polygon2D" parent="FlashlightViewport/CanvasGroup"] polygon = PackedVector2Array(-21, -25, 31, 29, -42, 31) [node name="PlayerCamera" type="Camera2D" parent="." node_paths=PackedStringArray("Player")] script = ExtResource("6_quua3") Player = NodePath("../Player") CameraBounds = Vector2(30, 20) [node name="PointLight2D" type="PointLight2D" parent="PlayerCamera" node_paths=PackedStringArray("LightViewport")] blend_mode = 2 range_item_cull_mask = 2 texture = SubResource("ViewportTexture_u0vqj") script = ExtResource("6_slohe") LightViewport = NodePath("../../FlashlightViewport") [node name="FlashlightCollision" type="Area2D" parent="PlayerCamera"] position = Vector2(-128, -96) collision_layer = 2 collision_mask = 2 monitoring = false [node name="PlayerCircle" type="CollisionShape2D" parent="PlayerCamera/FlashlightCollision"] shape = SubResource("CircleShape2D_prnh4") [node name="Circle" type="CollisionShape2D" parent="PlayerCamera/FlashlightCollision"] shape = SubResource("CircleShape2D_qcayn") [node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="PlayerCamera/FlashlightCollision"] polygon = PackedVector2Array(0, 0, 0, 0, 0, 0) [node name="CanvasLayer" type="CanvasLayer" parent="."] [node name="FlashlightUI" type="TextureRect" parent="CanvasLayer"] clip_children = 1 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 texture = SubResource("ViewportTexture_nnmvo") [node name="InvertRect" type="ColorRect" parent="CanvasLayer/FlashlightUI"] material = ExtResource("4_ro05e") layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 [node name="Sprite2D" type="Sprite2D" parent="."] light_mask = 2 y_sort_enabled = true material = SubResource("CanvasItemMaterial_au1d0") position = Vector2(-83, 43) texture = ExtResource("3_8o315") [node name="Watcher" parent="." instance=ExtResource("10_fsiss")] position = Vector2(116, -76)