add transition loading

This commit is contained in:
betalars 2025-06-03 23:17:29 +02:00
parent c149917322
commit cfa35a7626
13 changed files with 504 additions and 119 deletions

View File

@ -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 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 - [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 - [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 ## Fonts all using OFL

View File

@ -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="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"] [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="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="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="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"] [sub_resource type="ViewportTexture" id="ViewportTexture_sjsoq"]
viewport_path = NodePath("first_station/MeshInstance3D/SubViewport") viewport_path = NodePath("first_station/MeshInstance3D/SubViewport")
@ -192,10 +194,58 @@ tracks/3/keys = {
"update": 0, "update": 0,
"values": [Color(0.0748178, 0.134808, 0.168364, 1)] "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"] [sub_resource type="Animation" id="Animation_irpux"]
resource_name = "trailer" resource_name = "trailer"
length = 10.0 length = 15.0
tracks/0/type = "value" tracks/0/type = "value"
tracks/0/imported = false tracks/0/imported = false
tracks/0/enabled = true tracks/0/enabled = true
@ -203,10 +253,10 @@ tracks/0/path = NodePath(".:position")
tracks/0/interp = 2 tracks/0/interp = 2
tracks/0/loop_wrap = true tracks/0/loop_wrap = true
tracks/0/keys = { tracks/0/keys = {
"times": PackedFloat32Array(0, 1.79, 4.23333, 9.76667), "times": PackedFloat32Array(0.633329, 2.42333, 4.86666, 10.4333, 14.6999),
"transitions": PackedFloat32Array(1, 1, 1, 1), "transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 0, "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/type = "value"
tracks/1/imported = false tracks/1/imported = false
@ -215,10 +265,10 @@ tracks/1/path = NodePath(".:rotation")
tracks/1/interp = 2 tracks/1/interp = 2
tracks/1/loop_wrap = true tracks/1/loop_wrap = true
tracks/1/keys = { tracks/1/keys = {
"times": PackedFloat32Array(0.28, 2.9, 3.92, 5, 6.50333, 9.2), "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), "transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1),
"update": 0, "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/type = "value"
tracks/2/imported = false tracks/2/imported = false
@ -227,7 +277,7 @@ tracks/2/path = NodePath("../MeshInstance3D:material_override:emission_energy_mu
tracks/2/interp = 1 tracks/2/interp = 1
tracks/2/loop_wrap = true tracks/2/loop_wrap = true
tracks/2/keys = { tracks/2/keys = {
"times": PackedFloat32Array(4.06, 9.98), "times": PackedFloat32Array(4.69333, 10.6133),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 0, "update": 0,
"values": [1.0, 3.0] "values": [1.0, 3.0]
@ -239,11 +289,89 @@ tracks/3/path = NodePath("../MeshInstance3D:material_override:emission")
tracks/3/interp = 1 tracks/3/interp = 1
tracks/3/loop_wrap = true tracks/3/loop_wrap = true
tracks/3/keys = { tracks/3/keys = {
"times": PackedFloat32Array(4.06, 10), "times": PackedFloat32Array(8.2, 10.6333),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 0, "update": 0,
"values": [Color(0.0748178, 0.134808, 0.168364, 1), Color(1, 1, 1, 1)] "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"] [sub_resource type="AnimationLibrary" id="AnimationLibrary_sy31e"]
_data = { _data = {
@ -294,8 +422,15 @@ emission_enabled = true
emission = Color(1, 0, 0, 1) emission = Color(1, 0, 0, 1)
emission_energy_multiplier = 10.0 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"] [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")] [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) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.8785, 1.08384, -32.4645)
sorting_offset = 100.0 sorting_offset = 100.0
material_override = SubResource("ShaderMaterial_4tj6b") material_override = SubResource("ShaderMaterial_4tj6b")
emitting = false
amount = 10 amount = 10
lifetime = 10.0 lifetime = 10.0
explosiveness = 0.5 explosiveness = 0.5
@ -484,6 +620,7 @@ draw_pass_1 = SubResource("QuadMesh_oo2l3")
[node name="GPUParticles3D2" type="GPUParticles3D" parent="."] [node name="GPUParticles3D2" type="GPUParticles3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.65518, 1.08384, -32.4645) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.65518, 1.08384, -32.4645)
visible = false
sorting_offset = 100.0 sorting_offset = 100.0
material_override = SubResource("ShaderMaterial_4tj6b") material_override = SubResource("ShaderMaterial_4tj6b")
amount = 5 amount = 5
@ -504,6 +641,7 @@ data = ExtResource("4_nmgvo")
[node name="GPUParticles3D3" type="GPUParticles3D" parent="."] [node name="GPUParticles3D3" type="GPUParticles3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.18283, 0.258846, -32.3954) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.18283, 0.258846, -32.3954)
visible = false
material_override = ExtResource("5_32vcv") material_override = ExtResource("5_32vcv")
amount = 1000 amount = 1000
lifetime = 1.5 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) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.66292, -0.4523, -24.7506)
visible = false visible = false
material_override = SubResource("StandardMaterial3D_dgbje") 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")

View File

@ -5,7 +5,7 @@ render_mode blend_mix, depth_draw_opaque, cull_back, diffuse_burley, specular_sc
uniform sampler2D spray_texture; uniform sampler2D spray_texture;
uniform sampler2D lifetime_gradient; 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 vec4 passtrough;
varying vec2 screen_pos; 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 = 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 = 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)); //EMISSION = pow(textureLod(SCREEN_TEXTURE, screen_pos.xy, 6.0).xyz, vec3(2.2));
} }

BIN
src/base-environments/transition/vfx/SUBWAY_02.ogg (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -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

Binary file not shown.

View File

@ -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

View File

@ -3,7 +3,7 @@ extends RoomTemplate
signal ini_room signal ini_room
@onready var board_trigger: InteractiveSprite = %MindBoard @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_board: CardBoard = %Board
@onready var card_picker: CardPicker = %Picker @onready var card_picker: CardPicker = %Picker
@ -13,6 +13,9 @@ func start_room():
Scenes.completed_sequences = save_game.mementos_complete Scenes.completed_sequences = save_game.mementos_complete
Scenes.started_sequences = save_game.mementos_complete Scenes.started_sequences = save_game.mementos_complete
card_board.initialise_from_save(save_game) 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 $logic/PlayerController.process_mode = Node.PROCESS_MODE_INHERIT
ini_room.emit() ini_room.emit()
if not Scenes.is_sequence_repeating(Scenes.id.YOUTH_DRAEVEN): 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): func _on_scene_finished(id: int, _repeat:bool):
await get_tree().create_timer(3).timeout await get_tree().create_timer(3).timeout
save_room() save_room()
func prepare_transition():
save_room()
$AnimationPlayer.play("conserve_performance")
func unload():
$visuals.queue_free()

View File

@ -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="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"] [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, "update": 0,
"values": [0.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"] [sub_resource type="Animation" id="Animation_3ms6b"]
resource_name = "lighting_and_thunder" resource_name = "lighting_and_thunder"
@ -1097,6 +1220,7 @@ tracks/7/keys = {
[sub_resource type="AnimationLibrary" id="AnimationLibrary_vwrt1"] [sub_resource type="AnimationLibrary" id="AnimationLibrary_vwrt1"]
_data = { _data = {
&"RESET": SubResource("Animation_xum02"), &"RESET": SubResource("Animation_xum02"),
&"conserve_performance": SubResource("Animation_v3447"),
&"lighting_and_thunder": SubResource("Animation_3ms6b") &"lighting_and_thunder": SubResource("Animation_3ms6b")
} }
@ -1784,7 +1908,6 @@ size = Vector2i(400, 350)
render_target_update_mode = 4 render_target_update_mode = 4
[node name="CollectableUi" parent="logic/MaskMemento/UiWrapper/UiSprite/SubViewport" instance=ExtResource("25_ghmim")] [node name="CollectableUi" parent="logic/MaskMemento/UiWrapper/UiSprite/SubViewport" instance=ExtResource("25_ghmim")]
is_exit = null
[node name="HoverDetect" type="CollisionShape3D" parent="logic/MaskMemento"] [node name="HoverDetect" type="CollisionShape3D" parent="logic/MaskMemento"]
shape = SubResource("CapsuleShape3D_72g2i") 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")] [node name="CollectableUi" parent="logic/ClothesMemento/UiWrapper/UiSprite/SubViewport" instance=ExtResource("25_ghmim")]
scene = 3 scene = 3
is_exit = null
[node name="HoverDetect" type="CollisionShape3D" parent="logic/ClothesMemento"] [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) 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")] [node name="CollectableUi" parent="logic/ComicMemento/UiWrapper/UiSprite/SubViewport" instance=ExtResource("25_ghmim")]
scene = 2 scene = 2
is_exit = null
[node name="HoverDetect" type="CollisionShape3D" parent="logic/ComicMemento"] [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) 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")] [node name="CollectableUi" parent="logic/CeilingMemento/UiWrapper/UiSprite/SubViewport" instance=ExtResource("25_ghmim")]
scene = 0 scene = 0
is_exit = null
[node name="HoverDetect" type="CollisionShape3D" parent="logic/CeilingMemento"] [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) 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")] [node name="CollectableUi" parent="logic/MindBoard/UiWrapper/UiSprite/SubViewport" instance=ExtResource("25_ghmim")]
is_board = true is_board = true
is_exit = null
[node name="HoverDetect" type="CollisionShape3D" parent="logic/MindBoard"] [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) 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 render_target_update_mode = 4
[node name="CollectableUi" parent="logic/Door/UiWrapper/UiSprite/SubViewport" instance=ExtResource("25_ghmim")] [node name="CollectableUi" parent="logic/Door/UiWrapper/UiSprite/SubViewport" instance=ExtResource("25_ghmim")]
scene = 4
is_exit = true is_exit = true
[node name="HoverDetect" type="CollisionShape3D" parent="logic/Door"] [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) transform = Transform3D(-4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0, 1, 0, 0, 0)
shape = SubResource("CapsuleShape3D_72g2i") 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="."] [node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = { libraries = {
&"": SubResource("AnimationLibrary_vwrt1") &"": 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_button" method="hide"]
[connection signal="pressed" from="logic/UI/ending_button" to="logic/UI/ending" method="show"] [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="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="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="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"] [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="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="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="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"]

View File

@ -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"] [sub_resource type="AudioEffectLowPassFilter" id="AudioEffectLowPassFilter_ijm2o"]
resource_name = "LowPassFilter" resource_name = "LowPassFilter"
@ -34,6 +34,28 @@ wet = 0.03
resource_name = "LowPassFilter" resource_name = "LowPassFilter"
resonance = 0.52 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] [resource]
bus/0/effect/0/effect = SubResource("AudioEffectLowPassFilter_ijm2o") bus/0/effect/0/effect = SubResource("AudioEffectLowPassFilter_ijm2o")
bus/0/effect/0/enabled = false bus/0/effect/0/enabled = false
@ -71,3 +93,15 @@ bus/4/volume_db = 1.25825
bus/4/send = &"Master" bus/4/send = &"Master"
bus/4/effect/0/effect = SubResource("AudioEffectLowPassFilter_5p17k") bus/4/effect/0/effect = SubResource("AudioEffectLowPassFilter_5p17k")
bus/4/effect/0/enabled = true 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

View File

@ -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://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"] [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://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="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="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="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"] [sub_resource type="GDScript" id="GDScript_t34p3"]
script/source = "extends Node3D script/source = "extends Node3D
var has_stage = false
var room = preload(\"res://base-environments/youth_room/youth_room.tscn\") var room = preload(\"res://base-environments/youth_room/youth_room.tscn\")
var loaded_room: RoomTemplate var loaded_room: RoomTemplate
@ -25,6 +30,29 @@ func _ready() -> void:
State.text_language = 1 State.text_language = 1
State.speech_language = 1 State.speech_language = 1
$Menu/VBoxContainer2/PressStart.grab_focus() $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(): func load_room():
for child in %Room.get_children(): for child in %Room.get_children():
@ -160,40 +188,40 @@ fill = 1
fill_from = Vector2(0.538462, 0.491453) fill_from = Vector2(0.538462, 0.491453)
fill_to = Vector2(1.3, -0.3) fill_to = Vector2(1.3, -0.3)
[sub_resource type="InputEventKey" id="InputEventKey_g425y"] [sub_resource type="InputEventKey" id="InputEventKey_xo70c"]
device = -1 device = -1
physical_keycode = 87 physical_keycode = 87
unicode = 119 unicode = 119
[sub_resource type="InputEventJoypadMotion" id="InputEventJoypadMotion_kj67n"] [sub_resource type="InputEventJoypadMotion" id="InputEventJoypadMotion_k41g6"]
device = -1 device = -1
axis = 1 axis = 1
axis_value = -1.0 axis_value = -1.0
[sub_resource type="InputEventKey" id="InputEventKey_xo70c"] [sub_resource type="InputEventKey" id="InputEventKey_jirkf"]
device = -1 device = -1
physical_keycode = 65 physical_keycode = 65
unicode = 97 unicode = 97
[sub_resource type="InputEventJoypadMotion" id="InputEventJoypadMotion_k41g6"] [sub_resource type="InputEventJoypadMotion" id="InputEventJoypadMotion_kt5p7"]
device = -1 device = -1
axis_value = -1.0 axis_value = -1.0
[sub_resource type="InputEventKey" id="InputEventKey_jirkf"] [sub_resource type="InputEventKey" id="InputEventKey_mivr6"]
device = -1 device = -1
physical_keycode = 68 physical_keycode = 68
unicode = 100 unicode = 100
[sub_resource type="InputEventJoypadMotion" id="InputEventJoypadMotion_kt5p7"] [sub_resource type="InputEventJoypadMotion" id="InputEventJoypadMotion_52c3j"]
device = -1 device = -1
axis_value = 1.0 axis_value = 1.0
[sub_resource type="InputEventKey" id="InputEventKey_mivr6"] [sub_resource type="InputEventKey" id="InputEventKey_b7q2n"]
device = -1 device = -1
physical_keycode = 83 physical_keycode = 83
unicode = 115 unicode = 115
[sub_resource type="InputEventJoypadMotion" id="InputEventJoypadMotion_52c3j"] [sub_resource type="InputEventJoypadMotion" id="InputEventJoypadMotion_qhf78"]
device = -1 device = -1
axis = 1 axis = 1
axis_value = 1.0 axis_value = 1.0
@ -262,6 +290,30 @@ fill = 1
fill_from = Vector2(0.538462, 0.491453) fill_from = Vector2(0.538462, 0.491453)
fill_to = Vector2(1.3, -0.3) 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"] [node name="DemoMain" type="Node3D"]
process_mode = 3 process_mode = 3
script = SubResource("GDScript_t34p3") script = SubResource("GDScript_t34p3")
@ -290,9 +342,9 @@ grow_vertical = 2
material = SubResource("ShaderMaterial_k41g6") material = SubResource("ShaderMaterial_k41g6")
layout_mode = 0 layout_mode = 0
offset_left = 2073.0 offset_left = 2073.0
offset_top = 1290.0 offset_top = 1497.0
offset_right = 4353.0 offset_right = 4353.0
offset_bottom = 3000.0 offset_bottom = 3530.0
rotation = -3.14159 rotation = -3.14159
texture = SubResource("GradientTexture2D_jirkf") texture = SubResource("GradientTexture2D_jirkf")
@ -420,7 +472,7 @@ stretch_mode = 5
script = ExtResource("5_6w5b4") script = ExtResource("5_6w5b4")
action = "player_forwards" action = "player_forwards"
icon = 4 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" metadata/_custom_type_script = "uid://bbs1u7ojno7xo"
[node name="ActionPrompt2" type="TextureRect" parent="Menu/Control"] [node name="ActionPrompt2" type="TextureRect" parent="Menu/Control"]
@ -435,7 +487,7 @@ stretch_mode = 5
script = ExtResource("5_6w5b4") script = ExtResource("5_6w5b4")
action = "player_left" action = "player_left"
icon = 4 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" metadata/_custom_type_script = "uid://bbs1u7ojno7xo"
[node name="ActionPrompt4" type="TextureRect" parent="Menu/Control"] [node name="ActionPrompt4" type="TextureRect" parent="Menu/Control"]
@ -450,7 +502,7 @@ stretch_mode = 5
script = ExtResource("5_6w5b4") script = ExtResource("5_6w5b4")
action = "player_right" action = "player_right"
icon = 4 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" metadata/_custom_type_script = "uid://bbs1u7ojno7xo"
[node name="ActionPrompt3" type="TextureRect" parent="Menu/Control"] [node name="ActionPrompt3" type="TextureRect" parent="Menu/Control"]
@ -465,7 +517,7 @@ stretch_mode = 5
script = ExtResource("5_6w5b4") script = ExtResource("5_6w5b4")
action = "player_backwards" action = "player_backwards"
icon = 4 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" metadata/_custom_type_script = "uid://bbs1u7ojno7xo"
[node name="Label" type="Label" parent="Menu/Control"] [node name="Label" type="Label" parent="Menu/Control"]
@ -477,6 +529,18 @@ offset_bottom = -40.0
theme_type_variation = &"HeaderMedium" theme_type_variation = &"HeaderMedium"
text = "Move trough the room" 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="."] [node name="PauseContainer" type="CenterContainer" parent="."]
unique_name_in_owner = true unique_name_in_owner = true
visible = false visible = false
@ -551,6 +615,17 @@ visible = false
layout_mode = 2 layout_mode = 2
text = "Skip this Story" 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="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/CNBox" to="." method="_on_cn_box_toggled"]
[connection signal="toggled" from="Menu/VBoxContainer/MotionBox" to="." method="_on_motion_box_toggled"] [connection signal="toggled" from="Menu/VBoxContainer/MotionBox" to="." method="_on_motion_box_toggled"]

View File

@ -20,3 +20,9 @@ func pull_save_state(save: SaveGame) -> void:
func save_room(): func save_room():
pull_save_state(save_game) pull_save_state(save_game)
save_game.save_to_file(get_tree().root.get_texture()) save_game.save_to_file(get_tree().root.get_texture())
func prepare_transition():
pass
func unload():
pass

View File

@ -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="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="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="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"] [sub_resource type="GDScript" id="GDScript_cqlqo"]
script/source = "extends Button script/source = "extends Button
@ -51,7 +49,6 @@ layout_mode = 1
anchors_preset = 15 anchors_preset = 15
anchor_right = 1.0 anchor_right = 1.0
anchor_bottom = 1.0 anchor_bottom = 1.0
offset_right = -478.0
grow_horizontal = 2 grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
@ -87,13 +84,13 @@ layout_mode = 2
[node name="Label" type="Label" parent="childhood/PanelContainer/VBoxContainer"] [node name="Label" type="Label" parent="childhood/PanelContainer/VBoxContainer"]
layout_mode = 2 layout_mode = 2
theme_type_variation = &"HeaderLarge" theme_type_variation = &"HeaderLarge"
text = "Thanks for Playing" text = "Thanks for Playing the Demo!"
horizontal_alignment = 1 horizontal_alignment = 1
[node name="Label3" type="Label" parent="childhood/PanelContainer/VBoxContainer"] [node name="Label3" type="Label" parent="childhood/PanelContainer/VBoxContainer"]
layout_mode = 2 layout_mode = 2
size_flags_horizontal = 3 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 horizontal_alignment = 1
autowrap_mode = 3 autowrap_mode = 3
visible_characters_behavior = 1 visible_characters_behavior = 1
@ -109,21 +106,21 @@ script = SubResource("GDScript_cqlqo")
[node name="Label2" type="Label" parent="childhood/PanelContainer/VBoxContainer"] [node name="Label2" type="Label" parent="childhood/PanelContainer/VBoxContainer"]
layout_mode = 2 layout_mode = 2
size_flags_horizontal = 3 size_flags_horizontal = 3
text = "Frame of mind is text = "Frame of mind is made by betalars.
made by betalars
They were suppored by: They were suppored by:
Adrian Schmid and somebody that I used to know - programming Adrian Schmid, April and somebody that I used to know - programming
Jas Arianna and Sarosenna - voice acting Jas Arianna and Newt - voice acting
STTLE - OST STTLE - OST
Linh Vu, polynormal games - producing and publishing
Frame of Mind was created in godot 4. Frame of Mind was created in godot 4.
Special thanks to: Special thanks to:
nase, Jenny, nek0, map-c, Svenja, caesey, Milo, Francis, Sandro, Christoph nase, Jenny, nek0, map-c, Svenja, caesey, Milo, Francis, Christoph,
and to the contributers of blender, godot and inkscape. 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 horizontal_alignment = 1
autowrap_mode = 3 autowrap_mode = 3
visible_characters_behavior = 1 visible_characters_behavior = 1
@ -150,26 +147,6 @@ texture = ExtResource("3_oob40")
expand_mode = 2 expand_mode = 2
stretch_mode = 4 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="."] [node name="Button" type="Button" parent="."]
layout_mode = 1 layout_mode = 1
anchors_preset = 1 anchors_preset = 1