diff --git a/design/contributions.md b/design/contributions.md index 4096c9d..aa38045 100644 --- a/design/contributions.md +++ b/design/contributions.md @@ -66,6 +66,8 @@ - [Rain on Windows, Interior](https://freesound.org/people/InspectorJ/sounds/346641/) by [InspectorJ](https://freesound.org/people/InspectorJ/) CC-BY 3.0 - [Rain and thunder](https://freesound.org/people/MrAuralization/sounds/241294/) by [MrAuralization](https://freesound.org/people/MrAuralization/) CC-BY 3.0 - [Heavy Thunder Strike - no Rain - QUADRO](https://freesound.org/people/BlueDelta/sounds/446753/) by [BlueDelta](https://freesound.org/people/BlueDelta/) CC-BY 3.0 + - [SUBWAY_02](https://freesound.org/people/Manicciola/sounds/173311/) by [Manicciola](https://freesound.org/people/Manicciola/), CC-BY 3.0 + - [harbour waves calm 01](https://freesound.org/people/klankbeeld/sounds/169181) by [klankbeeld](https://freesound.org/people/klankbeeld/), CC-BY 3.0 ## Fonts all using OFL diff --git a/src/base-environments/transition/first_platform.tscn b/src/base-environments/transition/first_platform.tscn index 54bc767..89b824a 100644 --- a/src/base-environments/transition/first_platform.tscn +++ b/src/base-environments/transition/first_platform.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=44 format=3 uid="uid://dgxujvk66rka6"] +[gd_scene load_steps=48 format=3 uid="uid://dgxujvk66rka6"] [ext_resource type="PackedScene" uid="uid://cb4m4oe32guqi" path="res://base-environments/transition/import/first_station.glb" id="1_yerc2"] [ext_resource type="Shader" uid="uid://sxauef61xfpx" path="res://base-environments/transition/time_sparks.gdshader" id="2_4y17u"] @@ -13,6 +13,8 @@ [ext_resource type="Material" uid="uid://d3rfe7mryshj1" path="res://base-environments/transition/import/next_room_peak.tres" id="11_sy31e"] [ext_resource type="PackedScene" uid="uid://dotekvpr6rytk" path="res://base-environments/transition/import/subway_train.glb" id="12_dgbje"] [ext_resource type="VoxelGIData" uid="uid://fjy2ca233sp4" path="res://base-environments/transition/subway_car_gi.res" id="13_f5y2f"] +[ext_resource type="AudioStream" uid="uid://cr77al1x73vyb" path="res://base-environments/transition/vfx/harbour waves calm 01.mp3" id="14_awhi4"] +[ext_resource type="AudioStream" uid="uid://xn5qegs2ckea" path="res://base-environments/transition/vfx/SUBWAY_02.ogg" id="15_iyklq"] [sub_resource type="ViewportTexture" id="ViewportTexture_sjsoq"] viewport_path = NodePath("first_station/MeshInstance3D/SubViewport") @@ -192,10 +194,58 @@ tracks/3/keys = { "update": 0, "values": [Color(0.0748178, 0.134808, 0.168364, 1)] } +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("../Control/Sprite2D:self_modulate") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 1)] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("../GPUParticles3D:emitting") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("../AudioStreamPlayer2:volume_db") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.0] +} +tracks/7/type = "value" +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/path = NodePath("../AudioStreamPlayer:volume_db") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.0] +} [sub_resource type="Animation" id="Animation_irpux"] resource_name = "trailer" -length = 10.0 +length = 15.0 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true @@ -203,10 +253,10 @@ tracks/0/path = NodePath(".:position") tracks/0/interp = 2 tracks/0/loop_wrap = true tracks/0/keys = { -"times": PackedFloat32Array(0, 1.79, 4.23333, 9.76667), -"transitions": PackedFloat32Array(1, 1, 1, 1), +"times": PackedFloat32Array(0.633329, 2.42333, 4.86666, 10.4333, 14.6999), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1), "update": 0, -"values": [Vector3(0.785, 2.75, -0.535), Vector3(0.89, 1.895, -1.695), Vector3(0.82, 1.245, -2.975), Vector3(0.82, 1.11, -5.74)] +"values": [Vector3(0.785, 2.75, -0.535), Vector3(0.89, 1.895, -1.695), Vector3(0.82, 1.245, -2.975), Vector3(0.82, 1.11, -5.74), Vector3(1.525, 1.12, -8.26)] } tracks/1/type = "value" tracks/1/imported = false @@ -215,10 +265,10 @@ tracks/1/path = NodePath(".:rotation") tracks/1/interp = 2 tracks/1/loop_wrap = true tracks/1/keys = { -"times": PackedFloat32Array(0.28, 2.9, 3.92, 5, 6.50333, 9.2), -"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1), +"times": PackedFloat32Array(0.913329, 3.53333, 4.55333, 5.63333, 7.13666, 9.83333, 12.1705, 14.8928), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1), "update": 0, -"values": [Vector3(-1.0472, 0, 0), Vector3(-0.671952, 0, 0), Vector3(-0.593412, 0, 0), Vector3(-0.125664, -0.701622, 0.0785398), Vector3(-0.125664, 0.235619, -0.0523599), Vector3(0, -0.235619, 0)] +"values": [Vector3(-1.0472, 0, 0), Vector3(-0.671952, 0, 0), Vector3(-0.593412, 0, 0), Vector3(-0.125664, -0.701622, 0.0785398), Vector3(-0.125664, 0.235619, -0.0523599), Vector3(0, -0.235619, 0), Vector3(0, -2.26718, -0.127409), Vector3(0, -0.235619, 0)] } tracks/2/type = "value" tracks/2/imported = false @@ -227,7 +277,7 @@ tracks/2/path = NodePath("../MeshInstance3D:material_override:emission_energy_mu tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { -"times": PackedFloat32Array(4.06, 9.98), +"times": PackedFloat32Array(4.69333, 10.6133), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [1.0, 3.0] @@ -239,11 +289,89 @@ tracks/3/path = NodePath("../MeshInstance3D:material_override:emission") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { -"times": PackedFloat32Array(4.06, 10), +"times": PackedFloat32Array(8.2, 10.6333), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [Color(0.0748178, 0.134808, 0.168364, 1), Color(1, 1, 1, 1)] } +tracks/4/type = "audio" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("../AudioStreamPlayer") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"clips": [{ +"end_offset": 0.0, +"start_offset": 0.0, +"stream": ExtResource("14_awhi4") +}], +"times": PackedFloat32Array(0.0666667) +} +tracks/4/use_blend = true +tracks/5/type = "audio" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("../AudioStreamPlayer2") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"clips": [{ +"end_offset": 0.0, +"start_offset": 0.664513, +"stream": ExtResource("15_iyklq") +}], +"times": PackedFloat32Array(0.076102) +} +tracks/5/use_blend = true +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("../Control/Sprite2D:self_modulate") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0.533333, 3.7, 13.3494, 14.3), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 0, +"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0), Color(1, 1, 1, 0), Color(1, 1, 1, 1)] +} +tracks/7/type = "value" +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/path = NodePath("../GPUParticles3D:emitting") +tracks/7/interp = 0 +tracks/7/loop_wrap = true +tracks/7/keys = { +"times": PackedFloat32Array(0.3, 7.26164), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [false, true] +} +tracks/8/type = "value" +tracks/8/imported = false +tracks/8/enabled = true +tracks/8/path = NodePath("../AudioStreamPlayer2:volume_db") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/keys = { +"times": PackedFloat32Array(13.8333, 15), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.0, -80.0] +} +tracks/9/type = "value" +tracks/9/imported = false +tracks/9/enabled = true +tracks/9/path = NodePath("../AudioStreamPlayer:volume_db") +tracks/9/interp = 1 +tracks/9/loop_wrap = true +tracks/9/keys = { +"times": PackedFloat32Array(13.8667, 15), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.0, -80.0] +} [sub_resource type="AnimationLibrary" id="AnimationLibrary_sy31e"] _data = { @@ -294,8 +422,15 @@ emission_enabled = true emission = Color(1, 0, 0, 1) emission_energy_multiplier = 10.0 +[sub_resource type="Gradient" id="Gradient_ckmi5"] +colors = PackedColorArray(0, 0, 0, 1, 0, 0, 0, 1) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_iyklq"] +gradient = SubResource("Gradient_ckmi5") +width = 100 +height = 100 + [node name="Node3D" type="Node3D"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.252546, 0.415653, 0.0961766) [node name="first_station" parent="." instance=ExtResource("1_yerc2")] @@ -473,6 +608,7 @@ spot_angle_attenuation = 0.517633 transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.8785, 1.08384, -32.4645) sorting_offset = 100.0 material_override = SubResource("ShaderMaterial_4tj6b") +emitting = false amount = 10 lifetime = 10.0 explosiveness = 0.5 @@ -484,6 +620,7 @@ draw_pass_1 = SubResource("QuadMesh_oo2l3") [node name="GPUParticles3D2" type="GPUParticles3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.65518, 1.08384, -32.4645) +visible = false sorting_offset = 100.0 material_override = SubResource("ShaderMaterial_4tj6b") amount = 5 @@ -504,6 +641,7 @@ data = ExtResource("4_nmgvo") [node name="GPUParticles3D3" type="GPUParticles3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.18283, 0.258846, -32.3954) +visible = false material_override = ExtResource("5_32vcv") amount = 1000 lifetime = 1.5 @@ -614,3 +752,24 @@ skeleton = NodePath("../MeshInstance3D2") transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.66292, -0.4523, -24.7506) visible = false material_override = SubResource("StandardMaterial3D_dgbje") + +[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."] +autoplay = true +mix_target = 1 +bus = &"waves" + +[node name="AudioStreamPlayer2" type="AudioStreamPlayer3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.91435, 0, -13.0111) +autoplay = true +panning_strength = 0.9 +bus = &"waves" + +[node name="Control" type="Control" parent="."] +layout_mode = 3 +anchors_preset = 0 +offset_right = 40.0 +offset_bottom = 40.0 + +[node name="Sprite2D" type="Sprite2D" parent="Control"] +scale = Vector2(100, 100) +texture = SubResource("GradientTexture2D_iyklq") diff --git a/src/base-environments/transition/shaders/station_foam.gdshader b/src/base-environments/transition/shaders/station_foam.gdshader index 327d947..f93d823 100644 --- a/src/base-environments/transition/shaders/station_foam.gdshader +++ b/src/base-environments/transition/shaders/station_foam.gdshader @@ -5,7 +5,7 @@ render_mode blend_mix, depth_draw_opaque, cull_back, diffuse_burley, specular_sc uniform sampler2D spray_texture; uniform sampler2D lifetime_gradient; -uniform sampler2D SCREEN_TEXTURE: hint_screen_texture, repeat_disable; +//uniform sampler2D SCREEN_TEXTURE: hint_screen_texture, repeat_disable; varying vec4 passtrough; varying vec2 screen_pos; @@ -71,7 +71,7 @@ void fragment() { //EMISSION = COLOR.xyz * max(0, (1.5-pow(passtrough.y, 0.3)*2.0)); //EMISSION = texture(SCREEN_TEXTURE, (SCREEN_UV - screen_pos) * 2.0 + screen_pos).xyz; - EMISSION = sample_blurred(SCREEN_TEXTURE, screen_pos, 4, 0.3, 6.0).xyz; + //EMISSION = sample_blurred(SCREEN_TEXTURE, screen_pos, 4, 0.3, 6.0).xyz; //EMISSION = pow(textureLod(SCREEN_TEXTURE, screen_pos.xy, 6.0).xyz, vec3(2.2)); } diff --git a/src/base-environments/transition/vfx/SUBWAY_02.ogg b/src/base-environments/transition/vfx/SUBWAY_02.ogg new file mode 100644 index 0000000..f01ed63 --- /dev/null +++ b/src/base-environments/transition/vfx/SUBWAY_02.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32bb1f56f31a961952901562b96448889719934e692b07fb551c0c811e1ffbaf +size 207576 diff --git a/src/base-environments/transition/vfx/SUBWAY_02.ogg.import b/src/base-environments/transition/vfx/SUBWAY_02.ogg.import new file mode 100644 index 0000000..f3d0f8b --- /dev/null +++ b/src/base-environments/transition/vfx/SUBWAY_02.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://xn5qegs2ckea" +path="res://.godot/imported/SUBWAY_02.ogg-2ae5d2bec8bfd5a2fb463e110e465b7e.oggvorbisstr" + +[deps] + +source_file="res://base-environments/transition/vfx/SUBWAY_02.ogg" +dest_files=["res://.godot/imported/SUBWAY_02.ogg-2ae5d2bec8bfd5a2fb463e110e465b7e.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/src/base-environments/transition/vfx/harbour waves calm 01.mp3 b/src/base-environments/transition/vfx/harbour waves calm 01.mp3 new file mode 100644 index 0000000..e632028 --- /dev/null +++ b/src/base-environments/transition/vfx/harbour waves calm 01.mp3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da7dba0068f736e3a04ecf2d4beed5ec5db1c9529f2e75b643de0b6cb4a3b34e +size 10125600 diff --git a/src/base-environments/transition/vfx/harbour waves calm 01.mp3.import b/src/base-environments/transition/vfx/harbour waves calm 01.mp3.import new file mode 100644 index 0000000..a4080b6 --- /dev/null +++ b/src/base-environments/transition/vfx/harbour waves calm 01.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://cr77al1x73vyb" +path="res://.godot/imported/harbour waves calm 01.mp3-97b3d792df09eee82f7978014c78aa7a.mp3str" + +[deps] + +source_file="res://base-environments/transition/vfx/harbour waves calm 01.mp3" +dest_files=["res://.godot/imported/harbour waves calm 01.mp3-97b3d792df09eee82f7978014c78aa7a.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/src/base-environments/youth_room/room_handle.gd b/src/base-environments/youth_room/room_handle.gd index 2de518d..500cd09 100644 --- a/src/base-environments/youth_room/room_handle.gd +++ b/src/base-environments/youth_room/room_handle.gd @@ -3,7 +3,7 @@ extends RoomTemplate signal ini_room @onready var board_trigger: InteractiveSprite = %MindBoard -@onready var door_trigger: InteractiveSprite = %DoorTrigger +@onready var door_trigger: InteractiveSprite = %Door @onready var card_board: CardBoard = %Board @onready var card_picker: CardPicker = %Picker @@ -13,6 +13,9 @@ func start_room(): Scenes.completed_sequences = save_game.mementos_complete Scenes.started_sequences = save_game.mementos_complete card_board.initialise_from_save(save_game) + card_board.board_completed.connect(func(): + save_game.is_childhood_board_complete = true + save_room()) $logic/PlayerController.process_mode = Node.PROCESS_MODE_INHERIT ini_room.emit() if not Scenes.is_sequence_repeating(Scenes.id.YOUTH_DRAEVEN): @@ -46,3 +49,10 @@ func pull_save_state(save: SaveGame) -> void: func _on_scene_finished(id: int, _repeat:bool): await get_tree().create_timer(3).timeout save_room() + +func prepare_transition(): + save_room() + $AnimationPlayer.play("conserve_performance") + +func unload(): + $visuals.queue_free() diff --git a/src/base-environments/youth_room/youth_room.tscn b/src/base-environments/youth_room/youth_room.tscn index 1ff0453..15df9d6 100644 --- a/src/base-environments/youth_room/youth_room.tscn +++ b/src/base-environments/youth_room/youth_room.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=113 format=4 uid="uid://b3b0gyvklqn50"] +[gd_scene load_steps=114 format=4 uid="uid://b3b0gyvklqn50"] [ext_resource type="Script" uid="uid://belkrno67sft0" path="res://base-environments/youth_room/room_handle.gd" id="1_aitp0"] [ext_resource type="PackedScene" uid="uid://c0i4ydmxtxfho" path="res://base-environments/youth_room/import/youth_room.glb" id="1_jf3oi"] @@ -990,6 +990,129 @@ tracks/6/keys = { "update": 0, "values": [0.0] } +tracks/7/type = "value" +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/path = NodePath("WorldEnvironment/window_glass/SubViewport:render_target_update_mode") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [2] +} +tracks/8/type = "value" +tracks/8/imported = false +tracks/8/enabled = true +tracks/8/path = NodePath("WorldEnvironment/window_glass:visible") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} +tracks/9/type = "value" +tracks/9/imported = false +tracks/9/enabled = true +tracks/9/path = NodePath("visuals/vfx/lava-lamp:visible") +tracks/9/interp = 1 +tracks/9/loop_wrap = true +tracks/9/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} +tracks/10/type = "value" +tracks/10/imported = false +tracks/10/enabled = true +tracks/10/path = NodePath("visuals/lights/OmniLight3D4:light_energy") +tracks/10/interp = 1 +tracks/10/loop_wrap = true +tracks/10/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.1] +} +tracks/11/type = "value" +tracks/11/imported = false +tracks/11/enabled = true +tracks/11/path = NodePath("visuals/lights:visible") +tracks/11/interp = 1 +tracks/11/loop_wrap = true +tracks/11/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} + +[sub_resource type="Animation" id="Animation_v3447"] +resource_name = "conserve_performance" +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("WorldEnvironment/window_glass/SubViewport:render_target_update_mode") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [0] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("WorldEnvironment/window_glass:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("visuals/vfx/lava-lamp:visible") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("visuals/lights/OmniLight3D4:light_energy") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 1), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.1, 0.0] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("visuals/lights:visible") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0.966667, 1), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [true, false] +} [sub_resource type="Animation" id="Animation_3ms6b"] resource_name = "lighting_and_thunder" @@ -1097,6 +1220,7 @@ tracks/7/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_vwrt1"] _data = { &"RESET": SubResource("Animation_xum02"), +&"conserve_performance": SubResource("Animation_v3447"), &"lighting_and_thunder": SubResource("Animation_3ms6b") } @@ -1436,15 +1560,15 @@ func _process(delta): script/source = "extends Control func show(): - visible = true - var vis_tween = create_tween() - vis_tween.tween_property(self, \"modulate\", Color(1, 1, 1, 1), 0.1) - + visible = true + var vis_tween = create_tween() + vis_tween.tween_property(self, \"modulate\", Color(1, 1, 1, 1), 0.1) + func hide(): - var vis_tween = create_tween() - vis_tween.tween_property(self, \"modulate\", Color(1, 1, 1, 0), 0.1) - await vis_tween.finished - visible = false + var vis_tween = create_tween() + vis_tween.tween_property(self, \"modulate\", Color(1, 1, 1, 0), 0.1) + await vis_tween.finished + visible = false " [node name="youth room" type="Node3D" groups=["serializable"]] @@ -1784,7 +1908,6 @@ size = Vector2i(400, 350) render_target_update_mode = 4 [node name="CollectableUi" parent="logic/MaskMemento/UiWrapper/UiSprite/SubViewport" instance=ExtResource("25_ghmim")] -is_exit = null [node name="HoverDetect" type="CollisionShape3D" parent="logic/MaskMemento"] shape = SubResource("CapsuleShape3D_72g2i") @@ -1822,7 +1945,6 @@ render_target_update_mode = 4 [node name="CollectableUi" parent="logic/ClothesMemento/UiWrapper/UiSprite/SubViewport" instance=ExtResource("25_ghmim")] scene = 3 -is_exit = null [node name="HoverDetect" type="CollisionShape3D" parent="logic/ClothesMemento"] transform = Transform3D(1, 0, 2.98023e-08, 0, 1, 0, -2.98023e-08, 0, 1, 0, -0.237872, 0) @@ -1861,7 +1983,6 @@ render_target_update_mode = 4 [node name="CollectableUi" parent="logic/ComicMemento/UiWrapper/UiSprite/SubViewport" instance=ExtResource("25_ghmim")] scene = 2 -is_exit = null [node name="HoverDetect" type="CollisionShape3D" parent="logic/ComicMemento"] transform = Transform3D(1, 0, 2.98023e-08, 0, 1, 0, -2.98023e-08, 0, 1, 0, -0.237872, 0) @@ -1901,7 +2022,6 @@ render_target_update_mode = 4 [node name="CollectableUi" parent="logic/CeilingMemento/UiWrapper/UiSprite/SubViewport" instance=ExtResource("25_ghmim")] scene = 0 -is_exit = null [node name="HoverDetect" type="CollisionShape3D" parent="logic/CeilingMemento"] transform = Transform3D(1, 0, 2.98023e-08, 0, 1, 0, -2.98023e-08, 0, 1, 0, -0.237872, 0) @@ -1940,7 +2060,6 @@ render_target_update_mode = 4 [node name="CollectableUi" parent="logic/MindBoard/UiWrapper/UiSprite/SubViewport" instance=ExtResource("25_ghmim")] is_board = true -is_exit = null [node name="HoverDetect" type="CollisionShape3D" parent="logic/MindBoard"] transform = Transform3D(-4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0, 1, 0, 0, 0) @@ -1978,51 +2097,13 @@ size = Vector2i(400, 350) render_target_update_mode = 4 [node name="CollectableUi" parent="logic/Door/UiWrapper/UiSprite/SubViewport" instance=ExtResource("25_ghmim")] +scene = 4 is_exit = true [node name="HoverDetect" type="CollisionShape3D" parent="logic/Door"] transform = Transform3D(-4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0, 1, 0, 0, 0) shape = SubResource("CapsuleShape3D_72g2i") -[node name="DoorTrigger" type="Area3D" parent="logic" groups=["interactables"]] -unique_name_in_owner = true -process_mode = 4 -transform = Transform3D(-4.37114e-08, 0, 0.999999, 0, 1, 0, -0.999999, 0, -4.37114e-08, 0.09841, 1.17661, -0.865982) -visible = false -collision_layer = 16 -script = ExtResource("11_6fwv8") - -[node name="collectable_particles" parent="logic/DoorTrigger" instance=ExtResource("12_qxx2k")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00898492, -0.14171, 0.152755) -visible = false - -[node name="UiWrapper" type="Area3D" parent="logic/DoorTrigger"] -transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0) -script = ExtResource("11_7uxd8") -billboard = false - -[node name="UI_click_collider" type="CollisionShape3D" parent="logic/DoorTrigger/UiWrapper"] -transform = Transform3D(2.56, -5.96046e-08, 4.76837e-07, 1.78814e-07, 2.56, -4.17233e-07, -2.38419e-07, -5.96046e-08, 2.56, 0, 1.90735e-06, 0.238397) -shape = SubResource("BoxShape3D_cb3g8") - -[node name="UiSprite" type="Sprite3D" parent="logic/DoorTrigger/UiWrapper"] -transform = Transform3D(1, 0, 2.4869e-14, 0, 1, 0, -2.4869e-14, 0, 1, 0, 0, 0.610758) -pixel_size = 0.015 -no_depth_test = true -texture = SubResource("ViewportTexture_hdmps") - -[node name="SubViewport" type="SubViewport" parent="logic/DoorTrigger/UiWrapper/UiSprite"] -transparent_bg = true -size = Vector2i(400, 350) -render_target_update_mode = 4 - -[node name="CollectableUi" parent="logic/DoorTrigger/UiWrapper/UiSprite/SubViewport" instance=ExtResource("25_ghmim")] -is_exit = null - -[node name="HoverDetect" type="CollisionShape3D" parent="logic/DoorTrigger"] -transform = Transform3D(-4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0, 1, 0, 0, 0) -shape = SubResource("CapsuleShape3D_72g2i") - [node name="AnimationPlayer" type="AnimationPlayer" parent="."] libraries = { &"": SubResource("AnimationLibrary_vwrt1") @@ -2341,7 +2422,6 @@ light_array = Array[Vector3]([Vector3(-0.545, 0.915, 1.035), Vector3(-0.47, 0.85 [connection signal="pressed" from="logic/UI/ending_button" to="logic/UI/ending_button" method="hide"] [connection signal="pressed" from="logic/UI/ending_button" to="logic/UI/ending" method="show"] [connection signal="emit_thunder" from="logic/ScenePlayer/JuiJutsu" to="AnimationPlayer" method="play" binds= ["lighting_and_thunder"]] -[connection signal="finished" from="logic/ScenePlayer/draven" to="logic/ScenePlayer" method="on_draeven_done"] [connection signal="input_event" from="logic/MaskMemento/UiWrapper" to="logic/MaskMemento/UiWrapper" method="_on_input_event"] [connection signal="scene_skipped" from="logic/MaskMemento/UiWrapper/UiSprite/SubViewport/CollectableUi" to="logic/UI/Board" method="on_scene_skipped"] [connection signal="input_event" from="logic/ClothesMemento/UiWrapper" to="logic/ClothesMemento/UiWrapper" method="_on_input_event"] @@ -2354,5 +2434,3 @@ light_array = Array[Vector3]([Vector3(-0.545, 0.915, 1.035), Vector3(-0.47, 0.85 [connection signal="open_board" from="logic/MindBoard/UiWrapper/UiSprite/SubViewport/CollectableUi" to="logic/UI/Board" method="claim_focus"] [connection signal="input_event" from="logic/Door/UiWrapper" to="logic/Door/UiWrapper" method="_on_input_event"] [connection signal="open_board" from="logic/Door/UiWrapper/UiSprite/SubViewport/CollectableUi" to="logic/UI/Board" method="claim_focus"] -[connection signal="input_event" from="logic/DoorTrigger/UiWrapper" to="logic/DoorTrigger/UiWrapper" method="_on_input_event"] -[connection signal="exit_room" from="logic/DoorTrigger/UiWrapper/UiSprite/SubViewport/CollectableUi" to="logic/UI/ending" method="show"] diff --git a/src/default_bus_layout.tres b/src/default_bus_layout.tres index fd19269..f6947e1 100644 --- a/src/default_bus_layout.tres +++ b/src/default_bus_layout.tres @@ -1,4 +1,4 @@ -[gd_resource type="AudioBusLayout" load_steps=7 format=3 uid="uid://djkwd76o033io"] +[gd_resource type="AudioBusLayout" load_steps=10 format=3 uid="uid://djkwd76o033io"] [sub_resource type="AudioEffectLowPassFilter" id="AudioEffectLowPassFilter_ijm2o"] resource_name = "LowPassFilter" @@ -34,6 +34,28 @@ wet = 0.03 resource_name = "LowPassFilter" resonance = 0.52 +[sub_resource type="AudioEffectDelay" id="AudioEffectDelay_j3pel"] +resource_name = "Delay" +dry = 0.8 +tap1_delay_ms = 464.0 +tap2_delay_ms = 861.0 + +[sub_resource type="AudioEffectReverb" id="AudioEffectReverb_g28q7"] +resource_name = "Reverb" +room_size = 0.9 +damping = 0.63 +hipass = 0.1 +dry = 0.83 +wet = 0.14 + +[sub_resource type="AudioEffectDistortion" id="AudioEffectDistortion_j3pel"] +resource_name = "Distortion" +mode = 2 +pre_gain = 39.75 +keep_hf_hz = 6263.0 +drive = 0.44 +post_gain = -20.8 + [resource] bus/0/effect/0/effect = SubResource("AudioEffectLowPassFilter_ijm2o") bus/0/effect/0/enabled = false @@ -71,3 +93,15 @@ bus/4/volume_db = 1.25825 bus/4/send = &"Master" bus/4/effect/0/effect = SubResource("AudioEffectLowPassFilter_5p17k") bus/4/effect/0/enabled = true +bus/5/name = &"waves" +bus/5/solo = false +bus/5/mute = false +bus/5/bypass_fx = false +bus/5/volume_db = 0.0 +bus/5/send = &"sfx" +bus/5/effect/0/effect = SubResource("AudioEffectDelay_j3pel") +bus/5/effect/0/enabled = true +bus/5/effect/1/effect = SubResource("AudioEffectReverb_g28q7") +bus/5/effect/1/enabled = true +bus/5/effect/2/effect = SubResource("AudioEffectDistortion_j3pel") +bus/5/effect/2/enabled = true diff --git a/src/demo-main.tscn b/src/demo-main.tscn index 6ea4641..99c61ec 100644 --- a/src/demo-main.tscn +++ b/src/demo-main.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=29 format=3 uid="uid://cd63barv73rfx"] +[gd_scene load_steps=34 format=3 uid="uid://cd63barv73rfx"] [ext_resource type="Texture2D" uid="uid://d3ewjumh0b0g6" path="res://logic-scenes/main menu/logo.png" id="1_61qpo"] [ext_resource type="Texture2D" uid="uid://ds1n0xhxqlp4b" path="res://base-environments/youth_room/shaders/universe_noise.png" id="1_t34p3"] @@ -10,11 +10,16 @@ [ext_resource type="Texture2D" uid="uid://b0kuadlp4jw6j" path="res://addons/input_prompts/icons/keyboard/d.png" id="8_kj67n"] [ext_resource type="Texture2D" uid="uid://bwhf0tx67yj7a" path="res://addons/input_prompts/icons/keyboard/s.png" id="9_xo70c"] [ext_resource type="Script" uid="uid://0h0lrkntx0uh" path="res://logic-scenes/main menu/pause_menu.gd" id="10_g425y"] +[ext_resource type="PackedScene" uid="uid://g2a27jwdapai" path="res://logic-scenes/card_burner/card_burner.tscn" id="10_kj67n"] [ext_resource type="Script" uid="uid://sa15wakvpj2e" path="res://dev-util/bug_button.gd" id="11_kj67n"] +[ext_resource type="PackedScene" uid="uid://citwb7f4dl3l1" path="res://thank-you.tscn" id="13_xo70c"] +[ext_resource type="AudioStream" uid="uid://cho5neuxkvpyh" path="res://base-environments/youth_room/audio/Voice Loop.wav" id="14_k41g6"] [sub_resource type="GDScript" id="GDScript_t34p3"] script/source = "extends Node3D +var has_stage = false + var room = preload(\"res://base-environments/youth_room/youth_room.tscn\") var loaded_room: RoomTemplate @@ -25,6 +30,29 @@ func _ready() -> void: State.text_language = 1 State.speech_language = 1 $Menu/VBoxContainer2/PressStart.grab_focus() + Scenes.sign_up_for_sequence(prepare_transition, Scenes.id.TRANSITION, 0) + Scenes.sign_up_for_sequence(transition, Scenes.id.TRANSITION, 2) + +func prepare_transition(_id): + await get_tree().process_frame + Scenes.continue_sequence(self) + + await get_tree().create_timer(5.0).timeout + loaded_room.prepare_transition() + ResourceLoader.load_threaded_request(\"res://base-environments/transition/first_platform.tscn\") + +func transition(_id, _repeat): + #$TextureRect.texture = get_tree().root.get_texture() + #$TextureRect.visible = true + loaded_room.unload() + var packed_second_room:PackedScene = ResourceLoader.load_threaded_get(\"res://base-environments/transition/first_platform.tscn\") + loaded_room.queue_free() + %Room.add_child(packed_second_room.instantiate()) + await get_tree().create_timer(15.5).timeout + $AudioStreamPlayer/AnimationPlayer.play(\"ending\") + $ending.show() + $ending.mouse_filter = Control.MOUSE_FILTER_STOP + %Room.get_child(0).queue_free() func load_room(): for child in %Room.get_children(): @@ -160,40 +188,40 @@ fill = 1 fill_from = Vector2(0.538462, 0.491453) fill_to = Vector2(1.3, -0.3) -[sub_resource type="InputEventKey" id="InputEventKey_g425y"] +[sub_resource type="InputEventKey" id="InputEventKey_xo70c"] device = -1 physical_keycode = 87 unicode = 119 -[sub_resource type="InputEventJoypadMotion" id="InputEventJoypadMotion_kj67n"] +[sub_resource type="InputEventJoypadMotion" id="InputEventJoypadMotion_k41g6"] device = -1 axis = 1 axis_value = -1.0 -[sub_resource type="InputEventKey" id="InputEventKey_xo70c"] +[sub_resource type="InputEventKey" id="InputEventKey_jirkf"] device = -1 physical_keycode = 65 unicode = 97 -[sub_resource type="InputEventJoypadMotion" id="InputEventJoypadMotion_k41g6"] +[sub_resource type="InputEventJoypadMotion" id="InputEventJoypadMotion_kt5p7"] device = -1 axis_value = -1.0 -[sub_resource type="InputEventKey" id="InputEventKey_jirkf"] +[sub_resource type="InputEventKey" id="InputEventKey_mivr6"] device = -1 physical_keycode = 68 unicode = 100 -[sub_resource type="InputEventJoypadMotion" id="InputEventJoypadMotion_kt5p7"] +[sub_resource type="InputEventJoypadMotion" id="InputEventJoypadMotion_52c3j"] device = -1 axis_value = 1.0 -[sub_resource type="InputEventKey" id="InputEventKey_mivr6"] +[sub_resource type="InputEventKey" id="InputEventKey_b7q2n"] device = -1 physical_keycode = 83 unicode = 115 -[sub_resource type="InputEventJoypadMotion" id="InputEventJoypadMotion_52c3j"] +[sub_resource type="InputEventJoypadMotion" id="InputEventJoypadMotion_qhf78"] device = -1 axis = 1 axis_value = 1.0 @@ -262,6 +290,30 @@ fill = 1 fill_from = Vector2(0.538462, 0.491453) fill_to = Vector2(1.3, -0.3) +[sub_resource type="Animation" id="Animation_kt5p7"] +resource_name = "ending" +length = 120.0 +tracks/0/type = "audio" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"clips": [{ +"end_offset": 0.0, +"start_offset": 8.34472, +"stream": ExtResource("14_k41g6") +}], +"times": PackedFloat32Array(0.517639) +} +tracks/0/use_blend = true + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_mivr6"] +_data = { +&"ending": SubResource("Animation_kt5p7") +} + [node name="DemoMain" type="Node3D"] process_mode = 3 script = SubResource("GDScript_t34p3") @@ -290,9 +342,9 @@ grow_vertical = 2 material = SubResource("ShaderMaterial_k41g6") layout_mode = 0 offset_left = 2073.0 -offset_top = 1290.0 +offset_top = 1497.0 offset_right = 4353.0 -offset_bottom = 3000.0 +offset_bottom = 3530.0 rotation = -3.14159 texture = SubResource("GradientTexture2D_jirkf") @@ -420,7 +472,7 @@ stretch_mode = 5 script = ExtResource("5_6w5b4") action = "player_forwards" icon = 4 -events = Array[InputEvent]([SubResource("InputEventKey_g425y"), SubResource("InputEventJoypadMotion_kj67n")]) +events = Array[InputEvent]([SubResource("InputEventKey_xo70c"), SubResource("InputEventJoypadMotion_k41g6")]) metadata/_custom_type_script = "uid://bbs1u7ojno7xo" [node name="ActionPrompt2" type="TextureRect" parent="Menu/Control"] @@ -435,7 +487,7 @@ stretch_mode = 5 script = ExtResource("5_6w5b4") action = "player_left" icon = 4 -events = Array[InputEvent]([SubResource("InputEventKey_xo70c"), SubResource("InputEventJoypadMotion_k41g6")]) +events = Array[InputEvent]([SubResource("InputEventKey_jirkf"), SubResource("InputEventJoypadMotion_kt5p7")]) metadata/_custom_type_script = "uid://bbs1u7ojno7xo" [node name="ActionPrompt4" type="TextureRect" parent="Menu/Control"] @@ -450,7 +502,7 @@ stretch_mode = 5 script = ExtResource("5_6w5b4") action = "player_right" icon = 4 -events = Array[InputEvent]([SubResource("InputEventKey_jirkf"), SubResource("InputEventJoypadMotion_kt5p7")]) +events = Array[InputEvent]([SubResource("InputEventKey_mivr6"), SubResource("InputEventJoypadMotion_52c3j")]) metadata/_custom_type_script = "uid://bbs1u7ojno7xo" [node name="ActionPrompt3" type="TextureRect" parent="Menu/Control"] @@ -465,7 +517,7 @@ stretch_mode = 5 script = ExtResource("5_6w5b4") action = "player_backwards" icon = 4 -events = Array[InputEvent]([SubResource("InputEventKey_mivr6"), SubResource("InputEventJoypadMotion_52c3j")]) +events = Array[InputEvent]([SubResource("InputEventKey_b7q2n"), SubResource("InputEventJoypadMotion_qhf78")]) metadata/_custom_type_script = "uid://bbs1u7ojno7xo" [node name="Label" type="Label" parent="Menu/Control"] @@ -477,6 +529,18 @@ offset_bottom = -40.0 theme_type_variation = &"HeaderMedium" text = "Move trough the room" +[node name="TextureRect" type="TextureRect" parent="."] +visible = false +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +mouse_filter = 2 + +[node name="CardBurner" parent="." instance=ExtResource("10_kj67n")] +visible = false + [node name="PauseContainer" type="CenterContainer" parent="."] unique_name_in_owner = true visible = false @@ -551,6 +615,17 @@ visible = false layout_mode = 2 text = "Skip this Story" +[node name="ending" parent="." instance=ExtResource("13_xo70c")] +visible = false +mouse_filter = 2 + +[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."] + +[node name="AnimationPlayer" type="AnimationPlayer" parent="AudioStreamPlayer"] +libraries = { +&"": SubResource("AnimationLibrary_mivr6") +} + [connection signal="pressed" from="Menu/VBoxContainer2/PressStart" to="." method="_on_start_button_pressed"] [connection signal="toggled" from="Menu/VBoxContainer/CNBox" to="." method="_on_cn_box_toggled"] [connection signal="toggled" from="Menu/VBoxContainer/MotionBox" to="." method="_on_motion_box_toggled"] diff --git a/src/dev-util/room_template.gd b/src/dev-util/room_template.gd index a799bee..22dfe48 100644 --- a/src/dev-util/room_template.gd +++ b/src/dev-util/room_template.gd @@ -20,3 +20,9 @@ func pull_save_state(save: SaveGame) -> void: func save_room(): pull_save_state(save_game) save_game.save_to_file(get_tree().root.get_texture()) + +func prepare_transition(): + pass + +func unload(): + pass diff --git a/src/thank-you.tscn b/src/thank-you.tscn index dc75b1f..6b1de1d 100644 --- a/src/thank-you.tscn +++ b/src/thank-you.tscn @@ -1,10 +1,8 @@ -[gd_scene load_steps=10 format=3 uid="uid://citwb7f4dl3l1"] +[gd_scene load_steps=8 format=3 uid="uid://citwb7f4dl3l1"] [ext_resource type="Texture2D" uid="uid://d0ucjqi8tx6vt" path="res://import/interface-elements/frame.png" id="1_picwm"] [ext_resource type="FontFile" uid="uid://cb66e4mqysgf8" path="res://import/fonts/title_handwriting.tres" id="2_jb5y5"] [ext_resource type="Texture2D" uid="uid://bwicl5q0lw06q" path="res://import/interface-elements/bottom.png" id="3_oob40"] -[ext_resource type="PackedScene" uid="uid://dhohgea31bn40" path="res://logic-scenes/board/demo-card.tscn" id="4_u0gbc"] -[ext_resource type="PackedScene" uid="uid://vkcdj8c3ytbq" path="res://logic-scenes/board/sticky-note.tscn" id="5_sfuv4"] [sub_resource type="GDScript" id="GDScript_cqlqo"] script/source = "extends Button @@ -51,7 +49,6 @@ layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 -offset_right = -478.0 grow_horizontal = 2 grow_vertical = 2 @@ -87,13 +84,13 @@ layout_mode = 2 [node name="Label" type="Label" parent="childhood/PanelContainer/VBoxContainer"] layout_mode = 2 theme_type_variation = &"HeaderLarge" -text = "Thanks for Playing" +text = "Thanks for Playing the Demo!" horizontal_alignment = 1 [node name="Label3" type="Label" parent="childhood/PanelContainer/VBoxContainer"] layout_mode = 2 size_flags_horizontal = 3 -text = "We are sorry, that you did not yet have the ability to resolve Lisas thoughts." +text = "We hope you are looking forward to finding a better frame of mind." horizontal_alignment = 1 autowrap_mode = 3 visible_characters_behavior = 1 @@ -109,21 +106,21 @@ script = SubResource("GDScript_cqlqo") [node name="Label2" type="Label" parent="childhood/PanelContainer/VBoxContainer"] layout_mode = 2 size_flags_horizontal = 3 -text = "Frame of mind is -made by betalars +text = "Frame of mind is made by betalars. They were suppored by: -Adrian Schmid and somebody that I used to know - programming -Jas Arianna and Sarosenna - voice acting +Adrian Schmid, April and somebody that I used to know - programming +Jas Arianna and Newt - voice acting STTLE - OST +Linh Vu, polynormal games - producing and publishing Frame of Mind was created in godot 4. Special thanks to: -nase, Jenny, nek0, map-c, Svenja, caesey, Milo, Francis, Sandro, Christoph -and to the contributers of blender, godot and inkscape. +nase, Jenny, nek0, map-c, Svenja, caesey, Milo, Francis, Christoph, +the R42 Games Accellerator and to the contributers of blender, godot and inkscape. -frame of mind is published by purple sloth games." +frame of mind is would not have been possible without purple sloth games." horizontal_alignment = 1 autowrap_mode = 3 visible_characters_behavior = 1 @@ -150,26 +147,6 @@ texture = ExtResource("3_oob40") expand_mode = 2 stretch_mode = 4 -[node name="Visual" parent="childhood/PanelContainer" instance=ExtResource("4_u0gbc")] -position = Vector2(1164, 301) - -[node name="sticky-note" parent="childhood/PanelContainer/Visual" instance=ExtResource("5_sfuv4")] -position = Vector2(39, 120) -rotation = -0.103332 -collision_layer = 0 -collision_mask = 0 -text = "I was wet so I must have been into it" - -[node name="Visual2" parent="childhood/PanelContainer" instance=ExtResource("4_u0gbc")] -position = Vector2(1287, 589) - -[node name="sticky-note2" parent="childhood/PanelContainer/Visual2" instance=ExtResource("5_sfuv4")] -position = Vector2(-208.193, 96.8376) -rotation = 0.123092 -collision_layer = 0 -collision_mask = 0 -text = "I didn't say stop" - [node name="Button" type="Button" parent="."] layout_mode = 1 anchors_preset = 1