diff --git a/design/promo/logo_print_small.png b/design/promo/logo_print_small.png new file mode 100644 index 0000000..4b2ba3c --- /dev/null +++ b/design/promo/logo_print_small.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e27e61aa66fb97eb644ec7bbff3cf04a60faa0ddac6e0e357de9a88ef301552c +size 468923 diff --git a/src/addons/markdownlabel/markdownlabel.gd b/src/addons/markdownlabel/markdownlabel.gd index cc19adb..8e63c07 100644 --- a/src/addons/markdownlabel/markdownlabel.gd +++ b/src/addons/markdownlabel/markdownlabel.gd @@ -156,7 +156,7 @@ func display_file(file_path: String) -> void: #region Private methods: func _update() -> void: - text = _convert_markdown(markdown_text) + text = _convert_markdown(TranslationServer.translate(markdown_text)) queue_redraw() func _set_markdown_text(new_text: String) -> void: diff --git a/src/base-environments/youth_room/audio/childhood_de.wav b/src/base-environments/youth_room/audio/childhood_de.wav new file mode 100644 index 0000000..dc08b4a --- /dev/null +++ b/src/base-environments/youth_room/audio/childhood_de.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a39a94d06225d44cbbcd79bdc6b91a645b1f68a4502c6859bfbb34397fc3a498 +size 16223916 diff --git a/src/base-environments/youth_room/audio/childhood_de.wav.import b/src/base-environments/youth_room/audio/childhood_de.wav.import new file mode 100644 index 0000000..0ffe341 --- /dev/null +++ b/src/base-environments/youth_room/audio/childhood_de.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://b3cw0e41rjggo" +path="res://.godot/imported/childhood_de.wav-4d3a94ce2ab4184dce90dc9f5215f866.sample" + +[deps] + +source_file="res://base-environments/youth_room/audio/childhood_de.wav" +dest_files=["res://.godot/imported/childhood_de.wav-4d3a94ce2ab4184dce90dc9f5215f866.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/src/base-environments/youth_room/audio/draven-de.wav b/src/base-environments/youth_room/audio/draven-de.wav new file mode 100644 index 0000000..fae197a --- /dev/null +++ b/src/base-environments/youth_room/audio/draven-de.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f34570d54795a3ba1e3598c6ed33321befc11635ccd19256348350892b668c87 +size 23393266 diff --git a/src/base-environments/youth_room/audio/draven-de.wav.import b/src/base-environments/youth_room/audio/draven-de.wav.import new file mode 100644 index 0000000..a06687f --- /dev/null +++ b/src/base-environments/youth_room/audio/draven-de.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://cvlqvlrc6lqru" +path="res://.godot/imported/draven-de.wav-34afbdb8bf8a4db3046a1dca2c223e0e.sample" + +[deps] + +source_file="res://base-environments/youth_room/audio/draven-de.wav" +dest_files=["res://.godot/imported/draven-de.wav-34afbdb8bf8a4db3046a1dca2c223e0e.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/src/base-environments/youth_room/outside.tscn b/src/base-environments/youth_room/outside.tscn index eaa2c43..cc5d7c2 100644 --- a/src/base-environments/youth_room/outside.tscn +++ b/src/base-environments/youth_room/outside.tscn @@ -9,7 +9,7 @@ extends Node3D @export var light_energy:float = 0: set(value): light_energy = value - if is_inside_tree(): + if is_node_ready(): light.light_energy = light_energy @onready var light := $DirectionalLight3D diff --git a/src/base-environments/youth_room/room_handle.gd b/src/base-environments/youth_room/room_handle.gd index a9eac3e..8f5de2c 100644 --- a/src/base-environments/youth_room/room_handle.gd +++ b/src/base-environments/youth_room/room_handle.gd @@ -20,6 +20,7 @@ func start_room(): comic_memento.collected = save_game.mementos_complete && 1 >> Scenes.id.YOUTH_VOICE_TRAINING > 0 ceiling_memento.collected = save_game.mementos_complete && 1 >> Scenes.id.YOUTH_DRAEVEN > 0 + State.pass_stage_to($logic/PlayerController) $logic/PlayerController.process_mode = Node.PROCESS_MODE_INHERIT ini_room.emit() @@ -43,3 +44,14 @@ func pull_save_state(save: SaveGame) -> void: func _on_scene_finished(id: int): save_game.mementos_complete &= 1 << id save_room() + +var fixed := false +func hotfix(discard): + print("meep") + if not fixed: + await get_tree().create_timer(0.1).timeout + State.take_stage($logic/PlayerController, true) + fixed = true + dnd = false + +var dnd: bool diff --git a/src/base-environments/youth_room/scnees/childhood.tscn b/src/base-environments/youth_room/scnees/childhood.tscn new file mode 100644 index 0000000..fe9d786 --- /dev/null +++ b/src/base-environments/youth_room/scnees/childhood.tscn @@ -0,0 +1,402 @@ +[gd_scene load_steps=17 format=3 uid="uid://c3l8tm8ku50vt"] + +[ext_resource type="Script" path="res://base-environments/youth_room/scnees/scene_player.gd" id="1_40hhx"] +[ext_resource type="Texture2D" uid="uid://d0ucjqi8tx6vt" path="res://import/interface-elements/frame.png" id="1_bkq30"] +[ext_resource type="ArrayMesh" uid="uid://bfc3d4g40n0wy" path="res://logic-scenes/collectable/import/old-mask.res" id="2_jrxfv"] +[ext_resource type="Texture2D" uid="uid://bwicl5q0lw06q" path="res://import/interface-elements/bottom.png" id="3_o63m7"] +[ext_resource type="PackedScene" uid="uid://dvwuhobhka78d" path="res://logic-scenes/misc/skip_control.tscn" id="4_q0fee"] +[ext_resource type="AudioStream" uid="uid://cvlqvlrc6lqru" path="res://base-environments/youth_room/audio/draven-de.wav" id="6_cfqix"] +[ext_resource type="AudioStream" uid="uid://c4clagpd3ril0" path="res://base-environments/youth_room/audio/Ambient 5.ogg" id="7_1v51b"] + +[sub_resource type="ViewportTexture" id="ViewportTexture_2cudi"] +viewport_path = NodePath("PanelContainer/StartFrame/TextureRect/SubViewport") + +[sub_resource type="Environment" id="Environment_sk23p"] +ambient_light_color = Color(0.494118, 0.654902, 0.752941, 1) +tonemap_mode = 2 +tonemap_exposure = 1.55 +ssao_enabled = true +adjustment_enabled = true +adjustment_saturation = 0.9 + +[sub_resource type="World3D" id="World3D_4m36g"] +environment = SubResource("Environment_sk23p") + +[sub_resource type="Animation" id="Animation_rp0q6"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:rotation") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector3(0, 0, 0)] +} + +[sub_resource type="Animation" id="Animation_cml7w"] +resource_name = "idle" +length = 20.0 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:rotation") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 20), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector3(-0.349066, -1.5708, -0.349066), Vector3(-0.349066, 4.71239, -0.349066)] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_3td8t"] +_data = { +"RESET": SubResource("Animation_rp0q6"), +"idle": SubResource("Animation_cml7w") +} + +[sub_resource type="Animation" id="Animation_ytihj"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("../../..:progress") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [17.0] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("..:custom_minimum_size") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(900, 900)] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath(".:rotation") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.349066] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("../..:modulate") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 1)] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("../../..:visible") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} + +[sub_resource type="Animation" id="Animation_bgeog"] +resource_name = "de" +length = 160.0 +tracks/0/type = "audio" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("%AnimationPlayer/Text") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"clips": [{ +"end_offset": 0.0, +"start_offset": 1.45, +"stream": ExtResource("6_cfqix") +}], +"times": PackedFloat32Array(1.9) +} +tracks/0/use_blend = true +tracks/1/type = "audio" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("%AnimationPlayer/Music") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"clips": [{ +"end_offset": 0.0, +"start_offset": 1.13, +"stream": ExtResource("7_1v51b") +}], +"times": PackedFloat32Array(0.133333) +} +tracks/1/use_blend = true +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("../../..:progress") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 1.66667, 6.13333, 7.76667, 16.3, 19.0333, 26.7, 28.2, 34.9333, 36.7, 40.5, 41.9667, 44.6, 45.2, 49.2667, 50.4059, 55.2667, 56.0667, 58.8333, 60.8, 63.6667, 64.4667, 70.3058, 72.8, 82.2667, 83.8333, 90.0028, 91.0667, 97.6333, 99.7667, 106.526, 108.233, 117.933, 119.2, 121.633, 123.2, 132.033), +"transitions": PackedFloat32Array(1, 0.482968, 1, 0.482968, 1, 0.482968, 1, 0.482968, 1, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968), +"update": 0, +"values": [0.0, 0.0, 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0, 5.0, 5.0, 6.0, 6.0, 7.0, 7.0, 8.0, 8.0, 9.0, 9.0, 10.0, 10.0, 11.0, 11.0, 12.0, 12.0, 13.0, 13.0, 14.0, 14.0, 15.0, 15.0, 16.0, 16.0, 17.0, 17.0, 18.0] +} +tracks/3/type = "method" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("../../..") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(97.7333), +"transitions": PackedFloat32Array(1), +"values": [{ +"args": [], +"method": &"try_scroll" +}] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("..:custom_minimum_size") +tracks/4/interp = 2 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0, 0.7), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(900, 800), Vector2(900, 900)] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath(".:rotation") +tracks/5/interp = 2 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0, 1.8), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.174533, 0.349066] +} +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("../..:modulate") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0, 0.733333), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [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("../../..:visible") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_dc6th"] +_data = { +"RESET": SubResource("Animation_ytihj"), +"de": SubResource("Animation_bgeog") +} + +[node name="childhood" type="CenterContainer"] +self_modulate = Color(1, 1, 1, 0.923078) +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_right = -424.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_40hhx") +story_array = Array[String](["[p]Oh, my old mask. I have so many good memories about theatre club. ", "I would stand on my bed for entire afternoons, weeks on end, practicing my lines. Pretending to be on the big stage ... ", "my mom would get mad at me, when she had to call me three or four times for dinner. ", "I just … didn’t like the interruptions. We both were often mad at each other.", "Dinner was difficult. ", "I just couldn’t bring myself to eat, because I couldn’t deal with the bread and my mom.", "She was always so worried.", " ‘Lisa, you forgot your homework, Lisa why won’t you play with the other girls,\"", "\"Lisa why didn’t Steffi invite you to her birthday, Lisa this, Lisa that.’", "But I was fine! She just wouldn’t listen.", "Yes, I didn’t do homework, but my teachers didn’t mind it as much with me ", "- which the other kids wouldn’t shut up about. But like … ", "they also made fun of me reading school books and talking to my teachers during breaks.", "But at least I could fucking talk to teachers and they had stuff to say. ", "Mr Thomas probably even understood me better than my own mom.", "He said I was gifted. He said I just didn’t need homework for good grades.", "And he also made sure to always include extra credits. So my silly slip-ups wouldn’t get me a B."]) +progress = 17.0 + +[node name="PanelContainer" type="PanelContainer" parent="."] +layout_mode = 2 +mouse_filter = 1 + +[node name="StartFrame" type="TextureRect" parent="PanelContainer"] +custom_minimum_size = Vector2(900, 900) +layout_mode = 2 +size_flags_vertical = 0 +texture = ExtResource("1_bkq30") +expand_mode = 2 +stretch_mode = 4 + +[node name="Panel" type="PanelContainer" parent="PanelContainer/StartFrame"] +show_behind_parent = true +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -450.0 +offset_top = -450.0 +offset_right = 450.0 +offset_bottom = 450.0 +grow_horizontal = 2 +grow_vertical = 2 +rotation = 0.349066 +pivot_offset = Vector2(450, 450) +mouse_filter = 1 + +[node name="TextureRect" type="TextureRect" parent="PanelContainer/StartFrame"] +layout_mode = 1 +anchors_preset = 6 +anchor_left = 1.0 +anchor_top = 0.5 +anchor_right = 1.0 +anchor_bottom = 0.5 +offset_left = 118.0 +offset_top = -256.0 +offset_right = 630.0 +offset_bottom = 256.0 +grow_horizontal = 0 +grow_vertical = 2 +texture = SubResource("ViewportTexture_2cudi") + +[node name="SubViewport" type="SubViewport" parent="PanelContainer/StartFrame/TextureRect"] +own_world_3d = true +world_3d = SubResource("World3D_4m36g") +transparent_bg = true +msaa_3d = 1 +canvas_cull_mask = 4293918724 +render_target_update_mode = 4 + +[node name="Node3D" type="Node3D" parent="PanelContainer/StartFrame/TextureRect/SubViewport"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.21953, 3.52719, 0) + +[node name="old_mask" type="MeshInstance3D" parent="PanelContainer/StartFrame/TextureRect/SubViewport/Node3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 0.999999, 0, 0, 0) +layers = 4 +mesh = ExtResource("2_jrxfv") +skeleton = NodePath("") + +[node name="AnimationPlayer" type="AnimationPlayer" parent="PanelContainer/StartFrame/TextureRect/SubViewport/Node3D/old_mask"] +libraries = { +"": SubResource("AnimationLibrary_3td8t") +} +autoplay = "idle" + +[node name="Camera3D" type="Camera3D" parent="PanelContainer/StartFrame/TextureRect/SubViewport/Node3D"] +transform = Transform3D(1, -4.88994e-09, 1.82221e-11, 4.88232e-09, 0.998636, 0.052214, -2.7352e-10, -0.052214, 0.998636, 0.0198479, 0.0554118, 0.529937) +current = true +fov = 33.0 + +[node name="SpotLight3D" type="SpotLight3D" parent="PanelContainer/StartFrame/TextureRect/SubViewport/Node3D"] +transform = Transform3D(0.302014, 0.249491, -0.920077, 0.207638, 0.924758, 0.318918, 0.930416, -0.287361, 0.227486, -0.620115, 0.241349, 0.172426) +layers = 4 +light_color = Color(0.992157, 0.917647, 0.835294, 1) +light_size = 0.1 +shadow_enabled = true +shadow_bias = 0.02 +shadow_normal_bias = 2.171 +spot_range = 0.846959 +spot_angle = 23.1819 + +[node name="OmniLight3D" type="OmniLight3D" parent="PanelContainer/StartFrame/TextureRect/SubViewport/Node3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.23127, 0.892279, -0.650658) +light_color = Color(0.266667, 0.286275, 1, 1) +light_size = 0.5 +omni_range = 2.5227 + +[node name="OmniLight3D2" type="OmniLight3D" parent="PanelContainer/StartFrame/TextureRect/SubViewport/Node3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.424841, -0.45505, 0.00432622) +light_color = Color(0.607843, 0.34902, 0.203922, 1) +light_energy = 0.1 +light_size = 0.5 +omni_range = 1.00639 + +[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"] +layout_mode = 2 + +[node name="Label" type="Label" parent="PanelContainer/VBoxContainer"] +layout_mode = 2 +theme_type_variation = &"HeaderLarge" +text = " Childhood" + +[node name="StoryScroll" type="ScrollContainer" parent="PanelContainer/VBoxContainer"] +unique_name_in_owner = true +custom_minimum_size = Vector2(0, 700) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 2 +mouse_filter = 2 +horizontal_scroll_mode = 0 +vertical_scroll_mode = 3 + +[node name="StoryLabel" type="RichTextLabel" parent="PanelContainer/VBoxContainer/StoryScroll"] +unique_name_in_owner = true +custom_minimum_size = Vector2(800, 10) +layout_mode = 2 +size_flags_horizontal = 3 +bbcode_enabled = true +text = "[p]Oh, my old mask. I have so many good memories about theatre club. I would stand on my bed for entire afternoons, weeks on end, practicing my lines. Pretending to be on the big stage ... my mom would get mad at me, when she had to call me three or four times for dinner. I just … didn’t like the interruptions. We both were often mad at each other.Dinner was difficult. I just couldn’t bring myself to eat, because I couldn’t deal with the bread and my mom.She was always so worried. ‘Lisa, you forgot your homework, Lisa why won’t you play with the other girls,\"\"Lisa why didn’t Steffi invite you to her birthday, Lisa this, Lisa that.’But I was fine! She just wouldn’t listen.Yes, I didn’t do homework, but my teachers didn’t mind it as much with me - which the other kids wouldn’t shut up about. But like … they also made fun of me reading school books and talking to my teachers during breaks.But at least I could fucking talk to teachers and they had stuff to say. Mr Thomas probably even understood me better than my own mom.He said I was gifted. He said I just didn’t need homework for good grades.And he also made sure to always include extra credits. So my silly slip-ups wouldn’t get me a B." +fit_content = true +scroll_active = false +visible_characters_behavior = 1 + +[node name="StartBottom" type="TextureRect" parent="PanelContainer/VBoxContainer"] +custom_minimum_size = Vector2(0, 64) +layout_mode = 2 +size_flags_vertical = 8 +texture = ExtResource("3_o63m7") +expand_mode = 2 +stretch_mode = 4 + +[node name="skip_control" parent="PanelContainer" instance=ExtResource("4_q0fee")] +layout_mode = 2 +costum_owner = NodePath("../..") + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +unique_name_in_owner = true +root_node = NodePath("../PanelContainer/StartFrame/Panel") +libraries = { +"": SubResource("AnimationLibrary_dc6th") +} + +[node name="Text" type="AudioStreamPlayer" parent="AnimationPlayer"] +bus = &"text" + +[node name="Music" type="AudioStreamPlayer" parent="AnimationPlayer"] +volume_db = -10.0 +bus = &"music" diff --git a/src/base-environments/youth_room/scnees/draven.tscn b/src/base-environments/youth_room/scnees/draven.tscn new file mode 100644 index 0000000..1a64294 --- /dev/null +++ b/src/base-environments/youth_room/scnees/draven.tscn @@ -0,0 +1,414 @@ +[gd_scene load_steps=12 format=3 uid="uid://cgwuoc1jfi7w6"] + +[ext_resource type="Script" path="res://base-environments/youth_room/scnees/scene_player.gd" id="1_o2rjr"] +[ext_resource type="Texture2D" uid="uid://d0ucjqi8tx6vt" path="res://import/interface-elements/frame.png" id="2_xwj2j"] +[ext_resource type="Texture2D" uid="uid://bwicl5q0lw06q" path="res://import/interface-elements/bottom.png" id="4_qgfj8"] +[ext_resource type="PackedScene" uid="uid://dvwuhobhka78d" path="res://logic-scenes/misc/skip_control.tscn" id="5_ddnfo"] +[ext_resource type="AudioStream" uid="uid://cvlqvlrc6lqru" path="res://base-environments/youth_room/audio/draven-de.wav" id="5_f6vs7"] +[ext_resource type="AudioStream" uid="uid://c4clagpd3ril0" path="res://base-environments/youth_room/audio/Ambient 5.ogg" id="6_7f2et"] +[ext_resource type="AudioStream" uid="uid://d1r1tvb1paup4" path="res://base-environments/youth_room/audio/draeven.ogg" id="7_nbb1o"] + +[sub_resource type="Animation" id="Animation_ytihj"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("../../..:progress") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.0] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("..:custom_minimum_size") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(900, 900)] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath(".:rotation") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.349066] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("../..:modulate") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 1)] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("../../..:visible") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} + +[sub_resource type="Animation" id="Animation_bgeog"] +resource_name = "de" +length = 135.0 +tracks/0/type = "audio" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("%AnimationPlayer/Text") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"clips": [{ +"end_offset": 0.0, +"start_offset": 1.45, +"stream": ExtResource("5_f6vs7") +}], +"times": PackedFloat32Array(1.9) +} +tracks/0/use_blend = true +tracks/1/type = "audio" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("%AnimationPlayer/Music") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"clips": [{ +"end_offset": 0.0, +"start_offset": 1.13, +"stream": ExtResource("6_7f2et") +}], +"times": PackedFloat32Array(0.133333) +} +tracks/1/use_blend = true +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("../../..:progress") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 1.66667, 6.13333, 7.76667, 16.3, 19.0333, 26.7, 28.2, 34.9333, 36.7, 40.5, 41.9667, 44.6, 45.2, 49.2667, 50.4059, 55.2667, 56.0667, 58.8333, 60.8, 63.6667, 64.4667, 70.3058, 72.8, 82.2667, 83.8333, 90.0028, 91.0667, 97.6333, 99.7667, 106.526, 108.233, 117.933, 119.2, 121.633, 123.2, 132.033), +"transitions": PackedFloat32Array(1, 0.482968, 1, 0.482968, 1, 0.482968, 1, 0.482968, 1, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968), +"update": 0, +"values": [0.0, 0.0, 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0, 5.0, 5.0, 6.0, 6.0, 7.0, 7.0, 8.0, 8.0, 9.0, 9.0, 10.0, 10.0, 11.0, 11.0, 12.0, 12.0, 13.0, 13.0, 14.0, 14.0, 15.0, 15.0, 16.0, 16.0, 17.0, 17.0, 18.0] +} +tracks/3/type = "method" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("../../..") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(89.7667, 150.267), +"transitions": PackedFloat32Array(1, 1), +"values": [{ +"args": [], +"method": &"try_scroll" +}, { +"args": [], +"method": &"trigger_intro" +}] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("..:custom_minimum_size") +tracks/4/interp = 2 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0, 0.7), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(900, 800), Vector2(900, 900)] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath(".:rotation") +tracks/5/interp = 2 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0, 1.8), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.174533, 0.349066] +} +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("../..:modulate") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0, 0.733333), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [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("../../..:visible") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} + +[sub_resource type="Animation" id="Animation_gpkkx"] +resource_name = "en" +length = 125.0 +tracks/0/type = "audio" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("%AnimationPlayer/Text") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"clips": [{ +"end_offset": 0.0, +"start_offset": 3.53355, +"stream": ExtResource("7_nbb1o") +}], +"times": PackedFloat32Array(2.13355) +} +tracks/0/use_blend = true +tracks/1/type = "audio" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("%AnimationPlayer/Music") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"clips": [{ +"end_offset": 0.0, +"start_offset": 1.13, +"stream": ExtResource("6_7f2et") +}], +"times": PackedFloat32Array(0.133333) +} +tracks/1/use_blend = true +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("../../..:progress") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 1.66667, 6.03333, 7.66667, 11.2333, 13.9666, 19.5, 21, 28.6, 30.3667, 35.5, 36.9667, 39.2333, 39.8333, 43.0275, 44.1667, 48.5333, 49.3333, 51.5666, 53.5333, 57.3, 58.1, 63.1667, 65.4609, 72.4667, 74.0333, 80.8361, 81.9, 88.2666, 90.4, 97.493, 99.2, 106.5, 107.767, 111.4, 112.967, 119.5), +"transitions": PackedFloat32Array(1, 0.482968, 1, 0.482968, 1, 0.482968, 1, 0.482968, 1, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968), +"update": 0, +"values": [0.0, 0.0, 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0, 5.0, 5.0, 6.0, 6.0, 7.0, 7.0, 8.0, 8.0, 9.0, 9.0, 10.0, 10.0, 11.0, 11.0, 12.0, 12.0, 13.0, 13.0, 14.0, 14.0, 15.0, 15.0, 16.0, 16.0, 17.0, 17.0, 18.0] +} +tracks/3/type = "method" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("../../..") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(16.5333, 40.5333, 60.6, 82.2333, 97.7333, 150.267), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1), +"values": [{ +"args": [], +"method": &"try_scroll" +}, { +"args": [], +"method": &"try_scroll" +}, { +"args": [], +"method": &"try_scroll" +}, { +"args": [], +"method": &"try_scroll" +}, { +"args": [], +"method": &"try_scroll" +}, { +"args": [], +"method": &"trigger_intro" +}] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("..:custom_minimum_size") +tracks/4/interp = 2 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0, 0.7), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(900, 800), Vector2(900, 900)] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath(".:rotation") +tracks/5/interp = 2 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0, 1.8), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.174533, 0.349066] +} +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("../..:modulate") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0, 0.733333), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [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("../../..:visible") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_dc6th"] +_data = { +"RESET": SubResource("Animation_ytihj"), +"de": SubResource("Animation_bgeog"), +"en": SubResource("Animation_gpkkx") +} + +[node name="draven" type="CenterContainer"] +visible = false +self_modulate = Color(1, 1, 1, 0.923078) +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_right = -877.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_o2rjr") +story_array = Array[String](["Moonlight trickled down trough clouds and twigs as Dräven tapped trough the night.", "He had been searching for a while and he knew a special someone must be hiding in the thicket.", "When a familiar smell first led him to a few bronce hairs as fluffy as his tail, he didn’t think much of it.", "But then he saw paw-prints, that matched his own where he had not been. Would he finally find someone of his kind?", "He was sure of it, as the familiar scent has never been stronger than tonight.", "When suddently: Was that chatter?", "His wings rustled with joy over the familiar voice and Dräven decided to get a better look.", "A few flaps and leaps brought him up a tree, to get a glimpse of his soon to be friend.", "But all he saw was a fox.", "He didn’t even want to bother it anymore.", "It would just scream and laugh at his wings of leafs, just like the trees crackled at his paws, that were no roots.", "With a small whimper, Dräven spread his wings, and slid away to at least find comfort by seeing his reflection in the nearby lake.", "It took him a while to notice, how there was a sudden silence when the clouds broke: ", "Northern lights danced trough the sky to form wings, that met at a sleak body made of stars and clouds.", "The whole forest held its breath as it stared into eyes of moonlight gazing down.", "Dräven was moved to tears when he gazed back at it. He was sad for the dragon that was of the moon and the stars and the skies. ", "It must feel so lost in the universe. ", "But his tears were of joy: It was the first time Dräven saw another creature of many kinds."]) + +[node name="PanelContainer" type="PanelContainer" parent="."] +layout_mode = 2 +mouse_filter = 1 + +[node name="StartFrame" type="TextureRect" parent="PanelContainer"] +custom_minimum_size = Vector2(900, 900) +layout_mode = 2 +size_flags_vertical = 0 +texture = ExtResource("2_xwj2j") +expand_mode = 2 +stretch_mode = 4 + +[node name="Panel" type="PanelContainer" parent="PanelContainer/StartFrame"] +show_behind_parent = true +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -450.0 +offset_top = -450.0 +offset_right = 450.0 +offset_bottom = 450.0 +grow_horizontal = 2 +grow_vertical = 2 +rotation = 0.349066 +pivot_offset = Vector2(450, 450) +mouse_filter = 1 + +[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"] +layout_mode = 2 + +[node name="Label" type="Label" parent="PanelContainer/VBoxContainer"] +layout_mode = 2 +theme_type_variation = &"HeaderLarge" +text = " Dräven" + +[node name="StoryScroll" type="ScrollContainer" parent="PanelContainer/VBoxContainer"] +unique_name_in_owner = true +custom_minimum_size = Vector2(0, 700) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 2 +mouse_filter = 2 +horizontal_scroll_mode = 0 +vertical_scroll_mode = 3 + +[node name="StoryLabel" type="RichTextLabel" parent="PanelContainer/VBoxContainer/StoryScroll"] +unique_name_in_owner = true +custom_minimum_size = Vector2(800, 10) +layout_mode = 2 +size_flags_horizontal = 3 +bbcode_enabled = true +text = "Moonlight trickled down trough clouds and twigs as Dräven tapped trough the night.He had been searching for a while and he knew a special someone must be hiding in the thicket.When a familiar smell first led him to a few bronce hairs as fluffy as his tail, he didn’t think much of it.But then he saw paw-prints, that matched his own where he had not been. Would he finally find someone of his kind?He was sure of it, as the familiar scent has never been stronger than tonight.When suddently: Was that chatter?His wings rustled with joy over the familiar voice and Dräven decided to get a better look.A few flaps and leaps brought him up a tree, to get a glimpse of his soon to be friend.But all he saw was a fox.He didn’t even want to bother it anymore.It would just scream and laugh at his wings of leafs, just like the trees crackled at his paws, that were no roots.With a small whimper, Dräven spread his wings, and slid away to at least find comfort by seeing his reflection in the nearby lake.It took him a while to notice, how there was a sudden silence when the clouds broke: Northern lights danced trough the sky to form wings, that met at a sleak body made of stars and clouds.The whole forest held its breath as it stared into eyes of moonlight gazing down.Dräven was moved to tears when he gazed back at it. He was sad for the dragon that was of the moon and the stars and the skies. It must feel so lost in the universe. But his tears were of joy: It was the first time Dräven saw another creature of many kinds." +fit_content = true +scroll_active = false +visible_characters = 1082 +visible_characters_behavior = 1 +visible_ratio = 0.709974 + +[node name="StartBottom" type="TextureRect" parent="PanelContainer/VBoxContainer"] +custom_minimum_size = Vector2(0, 64) +layout_mode = 2 +size_flags_vertical = 8 +texture = ExtResource("4_qgfj8") +expand_mode = 2 +stretch_mode = 4 + +[node name="skip_control" parent="PanelContainer" instance=ExtResource("5_ddnfo")] +layout_mode = 2 +costum_owner = NodePath("../..") + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +unique_name_in_owner = true +root_node = NodePath("../PanelContainer/StartFrame/Panel") +libraries = { +"": SubResource("AnimationLibrary_dc6th") +} + +[node name="Text" type="AudioStreamPlayer" parent="AnimationPlayer"] +bus = &"text" + +[node name="Music" type="AudioStreamPlayer" parent="AnimationPlayer"] +volume_db = -10.0 +bus = &"music" + +[connection signal="scroll_started" from="PanelContainer/VBoxContainer/StoryScroll" to="PanelContainer/skip_control" method="abort_auto_proceed"] diff --git a/src/base-environments/youth_room/scnees/scene_player.gd b/src/base-environments/youth_room/scnees/scene_player.gd new file mode 100644 index 0000000..94aaf7b --- /dev/null +++ b/src/base-environments/youth_room/scnees/scene_player.gd @@ -0,0 +1,92 @@ +@tool +extends CenterContainer + +signal finished +signal intro + +#TODO properly implement animation taking stage, as it should do, disabling processing when it does not have stage. + +@export var story_array: Array[String] = []: + set(array): + story_array = array + if is_node_ready(): + label.text = "" + substring_sizes = [] + if Engine.is_editor_hint(): + TranslationServer.set_locale("en") + for str in array: + label.text += TranslationServer.translate(str).replace("[/p]", "[/p][p][font_size=8] [/font_size][/p]") + substring_sizes.append(TranslationServer.translate(str).replace("[/p]", ".").replace("[p]", "").length()) + +@export var progress: float = 0: + set(value): + progress = value + if is_node_ready(): + var start_index = 0 + if progress >= substring_sizes.size() or progress < 0: + label.visible_ratio = 1 + elif progress >= 1: + for i in range(min(progress, substring_sizes.size()-1) as int) if progress > 0 else range(substring_sizes.size()-1): + start_index += substring_sizes[i] + + label.visible_characters = start_index + substring_sizes[min(progress as int, substring_sizes.size()-1)] * fmod(progress, 1) + +@onready var story_label: Label +@onready var label:RichTextLabel = %StoryLabel +@onready var scroll_container:ScrollContainer = %StoryScroll +@onready var animation_player: AnimationPlayer = %AnimationPlayer +@export var animation_complete:bool = false: + set(value): + animation_complete = value + if value: + scroll_container.scroll_vertical = ScrollContainer.ScrollMode.SCROLL_MODE_AUTO + progress = -1 + animation_complete = value + +var substring_sizes: Array[int] + +func _ready() -> void: + if get_tree().root == self: + play_scene() + story_array = story_array + progress = progress + +func try_scroll(): + var scroll_target: int + if get_minimum_size().y * label.visible_ratio + scroll_container.scroll_vertical > scroll_container.get_minimum_size().y * 0.9: + if get_minimum_size().y * label.visible_ratio + scroll_container.scroll_vertical + scroll_container.get_minimum_size().y * 0.9 > label.get_minimum_size().y: + scroll_target = scroll_container.scroll_vertical + scroll_container.get_minimum_size().y * 0.8 + else: + scroll_target = label.get_minimum_size().y - scroll_container.get_minimum_size().y + if scroll_target != null: + var tween: Tween = get_tree().create_tween() + ##tween.set_trans() + tween.tween_property(scroll_container, "scroll_vertical", scroll_target, 0.5) + +func play_scene(): + animation_complete = false + ##FIXME match State.text_language: + match TranslationServer.get_locale(): + "de": + animation_player.queue("de") + "en": + animation_player.queue("en") + + await animation_player.animation_finished + + if name == "draven": + trigger_intro() + + animation_complete = true + + finished.emit() + +var intro_triggered:= false +func trigger_intro(): + if not intro_triggered: + intro.emit() + +func skip_text(): + animation_complete = true + + diff --git a/src/base-environments/youth_room/shaders/fairylight.material b/src/base-environments/youth_room/shaders/fairylight.material index a8d2bc1..c0c4a16 100644 Binary files a/src/base-environments/youth_room/shaders/fairylight.material and b/src/base-environments/youth_room/shaders/fairylight.material differ diff --git a/src/base-environments/youth_room/shaders/fairylight_halo.material b/src/base-environments/youth_room/shaders/fairylight_halo.material index 4f234e3..224a36e 100644 Binary files a/src/base-environments/youth_room/shaders/fairylight_halo.material and b/src/base-environments/youth_room/shaders/fairylight_halo.material differ diff --git a/src/base-environments/youth_room/youth_room.tscn b/src/base-environments/youth_room/youth_room.tscn index e04874f..700e5e2 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=133 format=4 uid="uid://b3b0gyvklqn50"] +[gd_scene load_steps=129 format=4 uid="uid://b3b0gyvklqn50"] [ext_resource type="Script" 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"] @@ -11,9 +11,8 @@ [ext_resource type="AudioStream" uid="uid://1tvopjmo6dp2" path="res://base-environments/youth_room/audio/Azure Studios - mgd-723687677.mp3" id="5_fe1yj"] [ext_resource type="PackedScene" uid="uid://citwb7f4dl3l1" path="res://thank-you.tscn" id="5_kts6y"] [ext_resource type="ArrayMesh" uid="uid://wuxbl6u3s8yo" path="res://base-environments/youth_room/shaders/starlight-mesh.res" id="6_gy6jv"] -[ext_resource type="AudioStream" uid="uid://d1r1tvb1paup4" path="res://base-environments/youth_room/audio/draeven.ogg" id="7_125rh"] [ext_resource type="AudioStream" uid="uid://cudna8k7fw06t" path="res://base-environments/youth_room/audio/Moving Loop.wav" id="8_egnow"] -[ext_resource type="AudioStream" uid="uid://c4clagpd3ril0" path="res://base-environments/youth_room/audio/Ambient 5.ogg" id="8_fos5c"] +[ext_resource type="AudioStream" uid="uid://b3cw0e41rjggo" path="res://base-environments/youth_room/audio/childhood_de.wav" id="8_osugx"] [ext_resource type="AudioStream" uid="uid://bwh60165c3saj" path="res://base-environments/youth_room/audio/lisa_youth_voice.ogg" id="9_dqdgk"] [ext_resource type="AudioStream" uid="uid://cl74a68tjwinh" path="res://base-environments/youth_room/audio/Youth Loop.wav" id="9_i8mqk"] [ext_resource type="Texture2D" uid="uid://sv0nhkkur1tt" path="res://logic-scenes/board/card-textures/cardsheet.png" id="10_ftoxq"] @@ -23,10 +22,12 @@ [ext_resource type="PackedScene" uid="uid://d3pb25xuef2t2" path="res://logic-scenes/collectable/collectable_ui.tscn" id="11_jxai0"] [ext_resource type="Texture2D" uid="uid://kpmk21d8rlso" path="res://logic-scenes/board/particle_textures/star.png" id="11_maw5c"] [ext_resource type="PackedScene" uid="uid://bdnesuqroi7ss" path="res://vfx/collectable_particles.tscn" id="12_qxx2k"] +[ext_resource type="PackedScene" uid="uid://c3l8tm8ku50vt" path="res://base-environments/youth_room/scnees/childhood.tscn" id="12_viwxf"] [ext_resource type="Texture2D" uid="uid://bqilajx05t0eb" path="res://logic-scenes/board/particle_textures/void_nomotion.png" id="12_xnele"] [ext_resource type="Texture2D" uid="uid://d005qvnbnishb" path="res://import/interface-elements/cursor_grab.png" id="13_lqj71"] [ext_resource type="PackedScene" uid="uid://dvwuhobhka78d" path="res://logic-scenes/misc/skip_control.tscn" id="15_7nc4e"] [ext_resource type="PackedScene" uid="uid://brk4hjdf2x81a" path="res://logic-scenes/card_picker/card_picker.tscn" id="19_a4n1o"] +[ext_resource type="PackedScene" uid="uid://cgwuoc1jfi7w6" path="res://base-environments/youth_room/scnees/draven.tscn" id="19_d3c7p"] [ext_resource type="ArrayMesh" uid="uid://bfc3d4g40n0wy" path="res://logic-scenes/collectable/import/old-mask.res" id="19_jr2bb"] [ext_resource type="FontFile" uid="uid://b231f0liphck" path="res://import/fonts/AtkinsonHyperlegible-Regular.ttf" id="20_pyf88"] [ext_resource type="PackedScene" uid="uid://dwtxjvprjyx8p" path="res://base-environments/youth_room/lava-lamp.tscn" id="21_0k2gr"] @@ -207,319 +208,319 @@ tracks/3/keys = { tracks/4/type = "value" tracks/4/imported = false tracks/4/enabled = true -tracks/4/path = NodePath("ScenePlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer/Label:visible_ratio") +tracks/4/path = NodePath("ScenePlayer/childhood:modulate") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [0.0] +"values": [Color(1, 1, 1, 0)] } tracks/5/type = "value" tracks/5/imported = false tracks/5/enabled = true -tracks/5/path = NodePath("ScenePlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:scroll_vertical") +tracks/5/path = NodePath("ScenePlayer/childhood/PanelContainer:self_modulate") tracks/5/interp = 1 tracks/5/loop_wrap = true tracks/5/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), -"update": 1, -"values": [0] +"update": 0, +"values": [Color(1, 1, 1, 1)] } tracks/6/type = "value" tracks/6/imported = false tracks/6/enabled = true -tracks/6/path = NodePath("ScenePlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:mouse_filter") +tracks/6/path = NodePath("ScenePlayer/childhood:visible") tracks/6/interp = 1 tracks/6/loop_wrap = true tracks/6/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, -"values": [1] +"values": [false] } tracks/7/type = "value" tracks/7/imported = false tracks/7/enabled = true -tracks/7/path = NodePath("ScenePlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:custom_minimum_size") +tracks/7/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/VBoxContainer/ScrollContainer/Label:visible_characters") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(800, 750)] +"update": 1, +"values": [43] } tracks/8/type = "value" tracks/8/imported = false tracks/8/enabled = true -tracks/8/path = NodePath("ScenePlayer/childhood:modulate") +tracks/8/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/VBoxContainer/ScrollContainer:scroll_vertical") tracks/8/interp = 1 tracks/8/loop_wrap = true tracks/8/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), -"update": 0, -"values": [Color(1, 1, 1, 0)] +"update": 1, +"values": [638] } tracks/9/type = "value" tracks/9/imported = false tracks/9/enabled = true -tracks/9/path = NodePath("ScenePlayer/childhood/PanelContainer:self_modulate") +tracks/9/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:emitting") tracks/9/interp = 1 tracks/9/loop_wrap = true tracks/9/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), -"update": 0, -"values": [Color(1, 1, 1, 1)] +"update": 1, +"values": [false] } tracks/10/type = "value" tracks/10/imported = false tracks/10/enabled = true -tracks/10/path = NodePath("ScenePlayer/childhood:visible") +tracks/10/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:amount") tracks/10/interp = 1 tracks/10/loop_wrap = true tracks/10/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, -"values": [false] +"values": [500] } tracks/11/type = "value" tracks/11/imported = false tracks/11/enabled = true -tracks/11/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/VBoxContainer/ScrollContainer/Label:visible_characters") +tracks/11/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite:noise_speed") tracks/11/interp = 1 tracks/11/loop_wrap = true tracks/11/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), -"update": 1, -"values": [43] +"update": 0, +"values": [10.0] } tracks/12/type = "value" tracks/12/imported = false tracks/12/enabled = true -tracks/12/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/VBoxContainer/ScrollContainer:scroll_vertical") +tracks/12/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:one_shot") tracks/12/interp = 1 tracks/12/loop_wrap = true tracks/12/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, -"values": [638] +"values": [true] } tracks/13/type = "value" tracks/13/imported = false tracks/13/enabled = true -tracks/13/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:emitting") +tracks/13/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:lifetime") tracks/13/interp = 1 tracks/13/loop_wrap = true tracks/13/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), -"update": 1, -"values": [false] +"update": 0, +"values": [1.0] } tracks/14/type = "value" tracks/14/imported = false tracks/14/enabled = true -tracks/14/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:amount") +tracks/14/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:explosiveness") tracks/14/interp = 1 tracks/14/loop_wrap = true tracks/14/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), -"update": 1, -"values": [500] +"update": 0, +"values": [0.29] } tracks/15/type = "value" tracks/15/imported = false tracks/15/enabled = true -tracks/15/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite:noise_speed") +tracks/15/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:speed_scale") tracks/15/interp = 1 tracks/15/loop_wrap = true tracks/15/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [10.0] +"values": [1.9] } tracks/16/type = "value" tracks/16/imported = false tracks/16/enabled = true -tracks/16/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:one_shot") +tracks/16/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite:noise_power") tracks/16/interp = 1 tracks/16/loop_wrap = true tracks/16/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), -"update": 1, -"values": [true] +"update": 0, +"values": [3.0] } tracks/17/type = "value" tracks/17/imported = false tracks/17/enabled = true -tracks/17/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:lifetime") +tracks/17/path = NodePath("ScenePlayer/jui_jutsu:visible") tracks/17/interp = 1 tracks/17/loop_wrap = true tracks/17/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), -"update": 0, -"values": [1.0] +"update": 1, +"values": [false] } tracks/18/type = "value" tracks/18/imported = false tracks/18/enabled = true -tracks/18/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:explosiveness") +tracks/18/path = NodePath("ScenePlayer/Voice Training:modulate") tracks/18/interp = 1 tracks/18/loop_wrap = true tracks/18/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [0.29] +"values": [Color(1, 1, 1, 0.923078)] } tracks/19/type = "value" tracks/19/imported = false tracks/19/enabled = true -tracks/19/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:speed_scale") +tracks/19/path = NodePath("ScenePlayer/Voice Training:visible") tracks/19/interp = 1 tracks/19/loop_wrap = true tracks/19/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), -"update": 0, -"values": [1.9] +"update": 1, +"values": [false] } tracks/20/type = "value" tracks/20/imported = false tracks/20/enabled = true -tracks/20/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite:noise_power") +tracks/20/path = NodePath("ScenePlayer/Voice Training/PanelContainer/VBoxContainer/ScrollContainer:custom_minimum_size") tracks/20/interp = 1 tracks/20/loop_wrap = true tracks/20/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [3.0] +"values": [Vector2(800, 800)] } tracks/21/type = "value" tracks/21/imported = false tracks/21/enabled = true -tracks/21/path = NodePath("ScenePlayer/jui_jutsu:visible") +tracks/21/path = NodePath("ScenePlayer/Voice Training/PanelContainer/VBoxContainer/ScrollContainer/Label:visible_characters") tracks/21/interp = 1 tracks/21/loop_wrap = true tracks/21/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, -"values": [false] +"values": [-1] } tracks/22/type = "value" tracks/22/imported = false tracks/22/enabled = true -tracks/22/path = NodePath("ScenePlayer/Voice Training:modulate") +tracks/22/path = NodePath("ScenePlayer/Voice Training/PanelContainer/VBoxContainer/ScrollContainer:scroll_vertical") tracks/22/interp = 1 tracks/22/loop_wrap = true tracks/22/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), -"update": 0, -"values": [Color(1, 1, 1, 0.923078)] +"update": 1, +"values": [0] } tracks/23/type = "value" tracks/23/imported = false tracks/23/enabled = true -tracks/23/path = NodePath("ScenePlayer/Voice Training:visible") +tracks/23/path = NodePath("ScenePlayer/childhood/PanelContainer/StartFrame/TextureRect/SubViewport:render_target_update_mode") tracks/23/interp = 1 tracks/23/loop_wrap = true tracks/23/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), -"update": 1, -"values": [false] +"update": 0, +"values": [0] } tracks/24/type = "value" tracks/24/imported = false tracks/24/enabled = true -tracks/24/path = NodePath("ScenePlayer/Voice Training/PanelContainer/VBoxContainer/ScrollContainer:custom_minimum_size") +tracks/24/path = NodePath("ScenePlayer/OmniLight3D:light_energy") tracks/24/interp = 1 tracks/24/loop_wrap = true tracks/24/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [Vector2(800, 800)] +"values": [0.0] } tracks/25/type = "value" tracks/25/imported = false tracks/25/enabled = true -tracks/25/path = NodePath("ScenePlayer/Voice Training/PanelContainer/VBoxContainer/ScrollContainer/Label:visible_characters") +tracks/25/path = NodePath("ScenePlayer/starlight_mesh/starlight_ambient:light_energy") tracks/25/interp = 1 tracks/25/loop_wrap = true tracks/25/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), -"update": 1, -"values": [-1] +"update": 0, +"values": [0.2] } tracks/26/type = "value" tracks/26/imported = false tracks/26/enabled = true -tracks/26/path = NodePath("ScenePlayer/Voice Training/PanelContainer/VBoxContainer/ScrollContainer:scroll_vertical") +tracks/26/path = NodePath("ScenePlayer/starlight_mesh:visible") tracks/26/interp = 1 tracks/26/loop_wrap = true tracks/26/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), -"update": 1, -"values": [0] +"update": 0, +"values": [true] } tracks/27/type = "value" tracks/27/imported = false tracks/27/enabled = true -tracks/27/path = NodePath("ScenePlayer/childhood/PanelContainer/StartFrame/TextureRect/SubViewport:render_target_update_mode") +tracks/27/path = NodePath("ScenePlayer/starlight_mesh/starlight_lamp:light_energy") tracks/27/interp = 1 tracks/27/loop_wrap = true tracks/27/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [0] +"values": [2.0] } tracks/28/type = "value" tracks/28/imported = false tracks/28/enabled = true -tracks/28/path = NodePath("ScenePlayer/draeven/material_handle:material:shader_parameter/alpha_offset") +tracks/28/path = NodePath("ScenePlayer/Luna_frame-of-mind:visible") tracks/28/interp = 1 tracks/28/loop_wrap = true tracks/28/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [-1.0] +"values": [false] } tracks/29/type = "value" tracks/29/imported = false tracks/29/enabled = true -tracks/29/path = NodePath("ScenePlayer/draeven/material_handle:material:shader_parameter/alpha_scissor_threshold") +tracks/29/path = NodePath("ScenePlayer/Luna_frame-of-mind:rotation") tracks/29/interp = 1 tracks/29/loop_wrap = true tracks/29/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [-0.3] +"values": [Vector3(0, 0.2877, 0)] } tracks/30/type = "value" tracks/30/imported = false tracks/30/enabled = true -tracks/30/path = NodePath("ScenePlayer/draeven/Luna_frame-of-mind:position") +tracks/30/path = NodePath("ScenePlayer/Luna_frame-of-mind:position") tracks/30/interp = 1 tracks/30/loop_wrap = true tracks/30/keys = { @@ -531,157 +532,37 @@ tracks/30/keys = { tracks/31/type = "value" tracks/31/imported = false tracks/31/enabled = true -tracks/31/path = NodePath("ScenePlayer/draeven/Luna_frame-of-mind:rotation") +tracks/31/path = NodePath("ScenePlayer/material_handle:material:shader_parameter/alpha_scissor_threshold") tracks/31/interp = 1 tracks/31/loop_wrap = true tracks/31/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [Vector3(0, 0.2877, 0)] +"values": [-0.3] } tracks/32/type = "value" tracks/32/imported = false tracks/32/enabled = true -tracks/32/path = NodePath("ScenePlayer/draeven/Luna_frame-of-mind:visible") +tracks/32/path = NodePath("ScenePlayer/material_handle:material:shader_parameter/alpha_offset") tracks/32/interp = 1 tracks/32/loop_wrap = true tracks/32/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), -"update": 1, -"values": [false] +"update": 0, +"values": [-1.0] } tracks/33/type = "value" tracks/33/imported = false tracks/33/enabled = true -tracks/33/path = NodePath("ScenePlayer/draeven/starlight_mesh/starlight_lamp:light_energy") +tracks/33/path = NodePath("ScenePlayer/Jui_Jutsu:volume_db") tracks/33/interp = 1 tracks/33/loop_wrap = true tracks/33/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [2.0] -} -tracks/34/type = "value" -tracks/34/imported = false -tracks/34/enabled = true -tracks/34/path = NodePath("ScenePlayer/draeven/starlight_mesh:visible") -tracks/34/interp = 1 -tracks/34/loop_wrap = true -tracks/34/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [true] -} -tracks/35/type = "value" -tracks/35/imported = false -tracks/35/enabled = true -tracks/35/path = NodePath("ScenePlayer/draeven/starlight_mesh/starlight_ambient:light_energy") -tracks/35/interp = 1 -tracks/35/loop_wrap = true -tracks/35/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.2] -} -tracks/36/type = "value" -tracks/36/imported = false -tracks/36/enabled = true -tracks/36/path = NodePath("ScenePlayer/draeven:modulate") -tracks/36/interp = 1 -tracks/36/loop_wrap = true -tracks/36/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Color(1, 1, 1, 0)] -} -tracks/37/type = "value" -tracks/37/imported = false -tracks/37/enabled = true -tracks/37/path = NodePath("ScenePlayer/draeven/PanelContainer/VBoxContainer/ScrollContainer/Label:visible_characters") -tracks/37/interp = 1 -tracks/37/loop_wrap = true -tracks/37/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [0] -} -tracks/38/type = "value" -tracks/38/imported = false -tracks/38/enabled = true -tracks/38/path = NodePath("ScenePlayer/draeven/PanelContainer/VBoxContainer/ScrollContainer:scroll_horizontal") -tracks/38/interp = 1 -tracks/38/loop_wrap = true -tracks/38/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [0] -} -tracks/39/type = "value" -tracks/39/imported = false -tracks/39/enabled = true -tracks/39/path = NodePath("ScenePlayer/draeven/PanelContainer/VBoxContainer/ScrollContainer:scroll_vertical") -tracks/39/interp = 1 -tracks/39/loop_wrap = true -tracks/39/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [150] -} -tracks/40/type = "value" -tracks/40/imported = false -tracks/40/enabled = true -tracks/40/path = NodePath("ScenePlayer/draeven/OmniLight3D:light_energy") -tracks/40/interp = 1 -tracks/40/loop_wrap = true -tracks/40/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/41/type = "value" -tracks/41/imported = false -tracks/41/enabled = true -tracks/41/path = NodePath("ScenePlayer/draeven:visible") -tracks/41/interp = 1 -tracks/41/loop_wrap = true -tracks/41/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [false] -} -tracks/42/type = "value" -tracks/42/imported = false -tracks/42/enabled = true -tracks/42/path = NodePath("ScenePlayer/draeven/PanelContainer/VBoxContainer:modulate") -tracks/42/interp = 1 -tracks/42/loop_wrap = true -tracks/42/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Color(1, 1, 1, 1)] -} -tracks/43/type = "value" -tracks/43/imported = false -tracks/43/enabled = true -tracks/43/path = NodePath("ScenePlayer/Jui_Jutsu:volume_db") -tracks/43/interp = 1 -tracks/43/loop_wrap = true -tracks/43/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, "values": [0.0] } @@ -730,106 +611,70 @@ tracks/2/use_blend = true tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true -tracks/3/path = NodePath("ScenePlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer/Label:visible_ratio") +tracks/3/path = NodePath("ScenePlayer/childhood:progress") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { -"times": PackedFloat32Array(0.3, 0.8, 3, 14.6, 17.2, 26.4, 28.6, 36.3, 36.8, 50.0759, 51, 53.4, 54.7, 60.8, 61.7, 66.8, 67.8, 74.7, 76.6, 78.3, 81, 81.6, 87.2), -"transitions": PackedFloat32Array(1, 1, 0.615572, 1, 0.435275, 1, 0.615572, 1, 0.594604, 1, 0.378929, 1, 0.63728, 1, 0.535887, 1, 1, 1, 0.435275, 0.63728, 1, 1, 1), +"times": PackedFloat32Array(0.3, 0.8, 3, 7.63333, 14.6, 17.2, 22.3667, 22.9667, 28.2667, 29.4333, 31.4759, 32.4, 36.6, 37.9, 39.3667, 40.2667, 42.6333, 43.6333, 48.8, 51.3, 53.9667, 55.8667, 59, 59.5, 62.0014, 63.4, 67.9333, 68.4333, 71.8861, 75.7705, 76.7333, 80.9667, 81.6858, 87.4537, 100), +"transitions": PackedFloat32Array(1, 1, 0.615572, 0.63728, 1, 0.435275, 1, 0.615572, 1, 0.594604, 1, 0.378929, 1, 0.63728, 1, 0.535887, 1, 1, 1, 0.435275, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1), "update": 0, -"values": [0.0, 0.014, 0.014, 0.15, 0.153, 0.287, 0.287, 0.38, 0.38, 0.528, 0.528, 0.563, 0.563, 0.663, 0.663, 0.746, 0.746, 0.859, 0.859, 0.876, 0.92, 0.92, 1.0] +"values": [0.0, 0.014, 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0, 5.0, 5.0, 6.0, 6.0, 7.0, 7.0, 8.0, 8.0, 9.0, 9.0, 10.0, 10.0, 11.0, 11.0, 12.0, 12.0, 13.0, 13.0, 14.0, 15.0, 15.0, 16.0, 16.0, 17.0, 17.0] } tracks/4/type = "value" tracks/4/imported = false tracks/4/enabled = true -tracks/4/path = NodePath("ScenePlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:scroll_vertical") -tracks/4/interp = 2 +tracks/4/path = NodePath("ScenePlayer/childhood:modulate") +tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { -"times": PackedFloat32Array(74.8, 76.2), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [0, 74] -} -tracks/5/type = "value" -tracks/5/imported = false -tracks/5/enabled = true -tracks/5/path = NodePath("ScenePlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:mouse_filter") -tracks/5/interp = 1 -tracks/5/loop_wrap = true -tracks/5/keys = { -"times": PackedFloat32Array(0, 90), -"transitions": PackedFloat32Array(1, 1), -"update": 1, -"values": [2, 0] -} -tracks/6/type = "value" -tracks/6/imported = false -tracks/6/enabled = true -tracks/6/path = NodePath("ScenePlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:custom_minimum_size") -tracks/6/interp = 2 -tracks/6/loop_wrap = true -tracks/6/keys = { -"times": PackedFloat32Array(0, 0.4), -"transitions": PackedFloat32Array(0.466516, 1), -"update": 0, -"values": [Vector2(800, 750), Vector2(800, 800)] -} -tracks/7/type = "value" -tracks/7/imported = false -tracks/7/enabled = true -tracks/7/path = NodePath("ScenePlayer/childhood:modulate") -tracks/7/interp = 1 -tracks/7/loop_wrap = true -tracks/7/keys = { "times": PackedFloat32Array(0, 0.4, 91.7, 92.6), "transitions": PackedFloat32Array(1, 1, 1.93187, 1), "update": 0, "values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1), Color(1, 1, 1, 1), Color(1, 1, 1, 0)] } -tracks/8/type = "value" -tracks/8/imported = false -tracks/8/enabled = true -tracks/8/path = NodePath("ScenePlayer/childhood/PanelContainer:self_modulate") -tracks/8/interp = 1 -tracks/8/loop_wrap = true -tracks/8/keys = { +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("ScenePlayer/childhood/PanelContainer:self_modulate") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { "times": PackedFloat32Array(89.3, 91.8), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)] } -tracks/9/type = "value" -tracks/9/imported = false -tracks/9/enabled = true -tracks/9/path = NodePath("ScenePlayer/childhood:visible") -tracks/9/interp = 1 -tracks/9/loop_wrap = true -tracks/9/keys = { +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("ScenePlayer/childhood:visible") +tracks/6/interp = 0 +tracks/6/loop_wrap = true +tracks/6/keys = { "times": PackedFloat32Array(0, 93.1), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [true, false] } -tracks/10/type = "value" -tracks/10/imported = false -tracks/10/enabled = true -tracks/10/path = NodePath("ScenePlayer/childhood/PanelContainer/StartFrame/TextureRect/SubViewport:render_target_update_mode") -tracks/10/interp = 1 -tracks/10/loop_wrap = true -tracks/10/keys = { +tracks/7/type = "value" +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/path = NodePath("ScenePlayer/childhood/PanelContainer/StartFrame/TextureRect/SubViewport:render_target_update_mode") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = { "times": PackedFloat32Array(0, 93.5), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [4, 0] } -tracks/11/type = "method" -tracks/11/imported = false -tracks/11/enabled = true -tracks/11/path = NodePath("ScenePlayer") -tracks/11/interp = 1 -tracks/11/loop_wrap = true -tracks/11/keys = { +tracks/8/type = "method" +tracks/8/imported = false +tracks/8/enabled = true +tracks/8/path = NodePath("ScenePlayer") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/keys = { "times": PackedFloat32Array(93.7), "transitions": PackedFloat32Array(1), "values": [{ @@ -838,79 +683,215 @@ tracks/11/keys = { }] } -[sub_resource type="Animation" id="Animation_1kp3w"] -resource_name = "draeven" -length = 151.0 -tracks/0/type = "audio" +[sub_resource type="Animation" id="Animation_a0mcq"] +resource_name = "childhood_de" +length = 100.0 +tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true -tracks/0/path = NodePath("ScenePlayer/Draven") +tracks/0/path = NodePath("ScenePlayer/Moving:volume_db") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { -"clips": [{ -"end_offset": 0.0, -"start_offset": 0.0, -"stream": ExtResource("7_125rh") -}], -"times": PackedFloat32Array(0.2) +"times": PackedFloat32Array(0, 9, 89.4, 97.5), +"transitions": PackedFloat32Array(1.93187, 1, 0.189465, 1.93187), +"update": 0, +"values": [0.0, -80.0, -80.0, 0.0] } -tracks/0/use_blend = true -tracks/1/type = "audio" +tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true -tracks/1/path = NodePath("ScenePlayer/IntroMusic") +tracks/1/path = NodePath("ScenePlayer/Childhood:volume_db") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { -"clips": [{ -"end_offset": 0.0, -"start_offset": 1.78, -"stream": ExtResource("8_fos5c") -}], -"times": PackedFloat32Array(1.1) +"times": PackedFloat32Array(0, 9, 89.3, 97.6), +"transitions": PackedFloat32Array(0.176777, 1, 1.93187, 0.176777), +"update": 0, +"values": [-80.0, 0.0, 0.0, -80.0] } -tracks/1/use_blend = true -tracks/2/type = "value" +tracks/2/type = "audio" tracks/2/imported = false tracks/2/enabled = true -tracks/2/path = NodePath("ScenePlayer/draeven/material_handle:material:shader_parameter/alpha_offset") -tracks/2/interp = 2 +tracks/2/path = NodePath("ScenePlayer/Lisa") +tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { -"times": PackedFloat32Array(0, 68.5, 87.2, 112.8, 130.201), -"transitions": PackedFloat32Array(1, 4.2871, 4.59479, 4.2871, 0.329877), -"update": 0, -"values": [-1.3, 0.33, 1.0, 0.33, -1.3] +"clips": [{ +"end_offset": 0.0, +"start_offset": 0.0, +"stream": ExtResource("8_osugx") +}], +"times": PackedFloat32Array(0.833333) } +tracks/2/use_blend = true tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true -tracks/3/path = NodePath("ScenePlayer/draeven/material_handle:material:shader_parameter/alpha_scissor_threshold") -tracks/3/interp = 2 +tracks/3/path = NodePath("ScenePlayer/childhood:progress") +tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { -"times": PackedFloat32Array(66.9, 80.3, 87.3, 95.4, 118), -"transitions": PackedFloat32Array(1, 3.13834, 0.287175, 1.18921, 1), +"times": PackedFloat32Array(0.3, 3, 6.16667, 10.8667, 13.4667, 17.9333, 18.5333, 22.7, 24.7, 26.8759, 27.8, 32.7, 34, 36.2333, 37.1333, 41.1667, 42.1667, 43.9667, 47.1667, 50.7667, 54.6333, 55.8333, 61, 62.1, 67.9333, 69.2333, 73.3, 77.8333, 78.7962, 80.9667, 81.6858, 87.4537, 100), +"transitions": PackedFloat32Array(1, 0.615572, 0.63728, 1, 0.435275, 1, 0.615572, 1, 0.594604, 1, 0.378929, 1, 0.63728, 1, 0.535887, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1), "update": 0, -"values": [-0.3, 0.2, 0.3, 0.5, -0.3] +"values": [0.1, 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0, 5.0, 5.0, 6.0, 6.0, 7.0, 7.0, 8.0, 8.0, 9.0, 10.0, 10.0, 11.0, 11.0, 12.0, 12.0, 13.0, 13.0, 14.0, 15.0, 15.0, 16.0, 16.0, 17.0, 17.0] } tracks/4/type = "value" tracks/4/imported = false tracks/4/enabled = true -tracks/4/path = NodePath("ScenePlayer/draeven/Luna_frame-of-mind:position") +tracks/4/path = NodePath("ScenePlayer/childhood:modulate") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { -"times": PackedFloat32Array(69.1, 121.146), -"transitions": PackedFloat32Array(1, 1), +"times": PackedFloat32Array(0, 0.4, 91.7, 92.6), +"transitions": PackedFloat32Array(1, 1, 1.93187, 1), "update": 0, -"values": [Vector3(-10.155, 7, -16.218), Vector3(-1.582, 4, -6.886)] +"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1), Color(1, 1, 1, 1), Color(1, 1, 1, 0)] } tracks/5/type = "value" tracks/5/imported = false tracks/5/enabled = true -tracks/5/path = NodePath("ScenePlayer/draeven/Luna_frame-of-mind:rotation") +tracks/5/path = NodePath("ScenePlayer/childhood/PanelContainer:self_modulate") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(89.3, 91.8), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)] +} +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("ScenePlayer/childhood:visible") +tracks/6/interp = 0 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0, 93.1), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [true, false] +} +tracks/7/type = "value" +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/path = NodePath("ScenePlayer/childhood/PanelContainer/StartFrame/TextureRect/SubViewport:render_target_update_mode") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = { +"times": PackedFloat32Array(0, 93.5), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [4, 0] +} +tracks/8/type = "method" +tracks/8/imported = false +tracks/8/enabled = true +tracks/8/path = NodePath("ScenePlayer") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/keys = { +"times": PackedFloat32Array(93.7), +"transitions": PackedFloat32Array(1), +"values": [{ +"args": [], +"method": &"on_childhood_done" +}] +} +tracks/9/type = "method" +tracks/9/imported = false +tracks/9/enabled = true +tracks/9/path = NodePath("%ScenePlayer/childhood") +tracks/9/interp = 1 +tracks/9/loop_wrap = true +tracks/9/keys = { +"times": PackedFloat32Array(78.2), +"transitions": PackedFloat32Array(1), +"values": [{ +"args": [], +"method": &"try_scroll" +}] +} +tracks/10/type = "method" +tracks/10/imported = false +tracks/10/enabled = true +tracks/10/path = NodePath("%ScenePlayer/childhood") +tracks/10/interp = 1 +tracks/10/loop_wrap = true +tracks/10/keys = { +"times": PackedFloat32Array(), +"transitions": PackedFloat32Array(), +"values": [] +} + +[sub_resource type="Animation" id="Animation_1kp3w"] +resource_name = "draeven" +length = 155.0 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("ScenePlayer/OmniLight3D:light_energy") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(18, 68, 90.5, 129.9), +"transitions": PackedFloat32Array(2.54912, 1, 1, 1), +"update": 0, +"values": [0.0, 1.0, 2.0, 0.0] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("ScenePlayer/starlight_mesh/starlight_ambient:light_energy") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(57, 67.1, 82.8, 97.6, 104, 125.1, 130.3), +"transitions": PackedFloat32Array(4.59479, 1, 0.277392, 6.9644, 0.277392, 0.277392, 4.59479), +"update": 0, +"values": [0.2, 0.0, 0.0, 0.2, 0.0, 0.0, 0.2] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("ScenePlayer/starlight_mesh:visible") +tracks/2/interp = 0 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(65.6, 67.2, 82.8, 104, 125.1), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1), +"update": 0, +"values": [true, false, true, false, true] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("ScenePlayer/starlight_mesh/starlight_lamp:light_energy") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(56.9, 67.2, 82.9, 97.5, 104.1, 125.2, 130.2), +"transitions": PackedFloat32Array(4.59479, 1, 0.277392, 6.9644, 0.277392, 0.277392, 4.59479), +"update": 0, +"values": [2.0, 0.0, 0.0, 2.0, 0.0, 0.0, 2.0] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("ScenePlayer/Luna_frame-of-mind:visible") +tracks/4/interp = 0 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0, 68.4, 115.3), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 0, +"values": [false, true, false] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("ScenePlayer/Luna_frame-of-mind:rotation") tracks/5/interp = 1 tracks/5/loop_wrap = true tracks/5/keys = { @@ -922,173 +903,51 @@ tracks/5/keys = { tracks/6/type = "value" tracks/6/imported = false tracks/6/enabled = true -tracks/6/path = NodePath("ScenePlayer/draeven/Luna_frame-of-mind:visible") +tracks/6/path = NodePath("ScenePlayer/Luna_frame-of-mind:position") tracks/6/interp = 1 tracks/6/loop_wrap = true tracks/6/keys = { -"times": PackedFloat32Array(0, 68.4, 115.3), -"transitions": PackedFloat32Array(1, 1, 1), -"update": 1, -"values": [false, true, false] +"times": PackedFloat32Array(69.1, 121.146), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector3(-10.155, 7, -16.218), Vector3(-1.582, 4, -6.886)] } tracks/7/type = "value" tracks/7/imported = false tracks/7/enabled = true -tracks/7/path = NodePath("ScenePlayer/draeven/starlight_mesh/starlight_lamp:light_energy") -tracks/7/interp = 1 +tracks/7/path = NodePath("ScenePlayer/material_handle:material:shader_parameter/alpha_scissor_threshold") +tracks/7/interp = 2 tracks/7/loop_wrap = true tracks/7/keys = { -"times": PackedFloat32Array(56.9, 67.2, 82.9, 97.5, 104.1, 125.2, 130.2), -"transitions": PackedFloat32Array(4.59479, 1, 0.277392, 6.9644, 0.277392, 0.277392, 4.59479), +"times": PackedFloat32Array(66.9, 80.3, 87.3, 95.4, 118), +"transitions": PackedFloat32Array(1, 3.13834, 0.287175, 1.18921, 1), "update": 0, -"values": [2.0, 0.0, 0.0, 2.0, 0.0, 0.0, 2.0] +"values": [-0.3, 0.2, 0.3, 0.5, -0.3] } tracks/8/type = "value" tracks/8/imported = false tracks/8/enabled = true -tracks/8/path = NodePath("ScenePlayer/draeven/starlight_mesh:visible") -tracks/8/interp = 1 +tracks/8/path = NodePath("ScenePlayer/material_handle:material:shader_parameter/alpha_offset") +tracks/8/interp = 2 tracks/8/loop_wrap = true tracks/8/keys = { -"times": PackedFloat32Array(65.6, 67.2, 82.8, 104, 125.1), -"transitions": PackedFloat32Array(1, 1, 1, 1, 1), -"update": 1, -"values": [true, false, true, false, true] +"times": PackedFloat32Array(0, 68.5, 87.2, 112.8, 130.201), +"transitions": PackedFloat32Array(1, 4.2871, 4.59479, 4.2871, 0.329877), +"update": 0, +"values": [-1.3, 0.33, 1.0, 0.33, -1.3] } tracks/9/type = "value" tracks/9/imported = false tracks/9/enabled = true -tracks/9/path = NodePath("ScenePlayer/draeven/starlight_mesh/starlight_ambient:light_energy") +tracks/9/path = NodePath("ScenePlayer/Moving:volume_db") tracks/9/interp = 1 tracks/9/loop_wrap = true tracks/9/keys = { -"times": PackedFloat32Array(57, 67.1, 82.8, 97.6, 104, 125.1, 130.3), -"transitions": PackedFloat32Array(4.59479, 1, 0.277392, 6.9644, 0.277392, 0.277392, 4.59479), -"update": 0, -"values": [0.2, 0.0, 0.0, 0.2, 0.0, 0.0, 0.2] -} -tracks/10/type = "value" -tracks/10/imported = false -tracks/10/enabled = true -tracks/10/path = NodePath("ScenePlayer/draeven:modulate") -tracks/10/interp = 1 -tracks/10/loop_wrap = true -tracks/10/keys = { -"times": PackedFloat32Array(0, 2.6, 128.166, 133.121), -"transitions": PackedFloat32Array(1, 1, 0.392292, 1), -"update": 0, -"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1), Color(1, 1, 1, 1), Color(1, 1, 1, 0)] -} -tracks/11/type = "value" -tracks/11/imported = false -tracks/11/enabled = true -tracks/11/path = NodePath("ScenePlayer/draeven/PanelContainer/VBoxContainer/ScrollContainer/Label:visible_characters") -tracks/11/interp = 1 -tracks/11/loop_wrap = true -tracks/11/keys = { -"times": PackedFloat32Array(4, 9.7, 16.1185, 32.3, 51.2239, 55.2, 66.8, 77.1, 91.9, 95.6, 100.1, 112.2, 116.2, 121.4), -"transitions": PackedFloat32Array(0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.31864, 0.366021, 0.366021, 0.366021, 1, 0.450625, 1), -"update": 0, -"values": [0, 82, 177, 401, 695, 721, 878, 1010, 1199, 1281, 1281, 1447, 1474, 1538] -} -tracks/12/type = "value" -tracks/12/imported = false -tracks/12/enabled = true -tracks/12/path = NodePath("ScenePlayer/draeven/PanelContainer/VBoxContainer/ScrollContainer:scroll_horizontal") -tracks/12/interp = 1 -tracks/12/loop_wrap = true -tracks/12/keys = { -"times": PackedFloat32Array(99.1), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0] -} -tracks/13/type = "value" -tracks/13/imported = false -tracks/13/enabled = true -tracks/13/path = NodePath("ScenePlayer/draeven/PanelContainer/VBoxContainer/ScrollContainer:scroll_vertical") -tracks/13/interp = 1 -tracks/13/loop_wrap = true -tracks/13/keys = { -"times": PackedFloat32Array(90.4, 93, 121.6, 131.2), -"transitions": PackedFloat32Array(0.420448, 1, 2.63902, 0.420448), -"update": 0, -"values": [0, 250, 250, 0] -} -tracks/14/type = "value" -tracks/14/imported = false -tracks/14/enabled = true -tracks/14/path = NodePath("ScenePlayer/draeven/OmniLight3D:light_energy") -tracks/14/interp = 1 -tracks/14/loop_wrap = true -tracks/14/keys = { -"times": PackedFloat32Array(18, 68, 90.5, 129.9), -"transitions": PackedFloat32Array(2.54912, 1, 1, 1), -"update": 0, -"values": [0.0, 1.0, 2.0, 0.0] -} -tracks/15/type = "value" -tracks/15/imported = false -tracks/15/enabled = true -tracks/15/path = NodePath("ScenePlayer/Moving:volume_db") -tracks/15/interp = 1 -tracks/15/loop_wrap = true -tracks/15/keys = { "times": PackedFloat32Array(0.1, 7.6, 150.5, 158.3), "transitions": PackedFloat32Array(1, 1, 1, 1), "update": 0, "values": [0.0, -80.0, -80.0, 0.0] } -tracks/16/type = "value" -tracks/16/imported = false -tracks/16/enabled = true -tracks/16/path = NodePath("ScenePlayer/draeven:visible") -tracks/16/interp = 1 -tracks/16/loop_wrap = true -tracks/16/keys = { -"times": PackedFloat32Array(0, 133.121), -"transitions": PackedFloat32Array(1, 1), -"update": 1, -"values": [true, false] -} -tracks/17/type = "value" -tracks/17/imported = false -tracks/17/enabled = true -tracks/17/path = NodePath("ScenePlayer/draeven:self_modulate") -tracks/17/interp = 1 -tracks/17/loop_wrap = true -tracks/17/keys = { -"times": PackedFloat32Array(125), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Color(1, 1, 1, 1)] -} -tracks/18/type = "value" -tracks/18/imported = false -tracks/18/enabled = true -tracks/18/path = NodePath("ScenePlayer/draeven/PanelContainer/VBoxContainer:modulate") -tracks/18/interp = 1 -tracks/18/loop_wrap = true -tracks/18/keys = { -"times": PackedFloat32Array(123.657, 130.9), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)] -} -tracks/19/type = "method" -tracks/19/imported = false -tracks/19/enabled = true -tracks/19/path = NodePath("ScenePlayer") -tracks/19/interp = 1 -tracks/19/loop_wrap = true -tracks/19/keys = { -"times": PackedFloat32Array(140.5), -"transitions": PackedFloat32Array(1), -"values": [{ -"args": [], -"method": &"on_draeven_done" -}] -} [sub_resource type="Animation" id="Animation_1pmhi"] resource_name = "intro" @@ -1205,46 +1064,34 @@ tracks/3/keys = { tracks/4/type = "value" tracks/4/imported = false tracks/4/enabled = true -tracks/4/path = NodePath("ScenePlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:custom_minimum_size") -tracks/4/interp = 2 +tracks/4/path = NodePath("ScenePlayer/jui_jutsu:modulate") +tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { -"times": PackedFloat32Array(0, 0.4), -"transitions": PackedFloat32Array(0.466516, 1), -"update": 0, -"values": [Vector2(800, 750), Vector2(800, 800)] -} -tracks/5/type = "value" -tracks/5/imported = false -tracks/5/enabled = true -tracks/5/path = NodePath("ScenePlayer/jui_jutsu:modulate") -tracks/5/interp = 1 -tracks/5/loop_wrap = true -tracks/5/keys = { "times": PackedFloat32Array(0, 0.4, 203.8, 204.7), "transitions": PackedFloat32Array(1, 1, 1.93187, 1), "update": 0, "values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1), Color(1, 1, 1, 1), Color(1, 1, 1, 0)] } -tracks/6/type = "value" -tracks/6/imported = false -tracks/6/enabled = true -tracks/6/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer:self_modulate") -tracks/6/interp = 1 -tracks/6/loop_wrap = true -tracks/6/keys = { +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer:self_modulate") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { "times": PackedFloat32Array(201.4, 203.9), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)] } -tracks/7/type = "method" -tracks/7/imported = false -tracks/7/enabled = true -tracks/7/path = NodePath(".") -tracks/7/interp = 1 -tracks/7/loop_wrap = true -tracks/7/keys = { +tracks/6/type = "method" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath(".") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { "times": PackedFloat32Array(177.8), "transitions": PackedFloat32Array(1), "values": [{ @@ -1252,25 +1099,25 @@ tracks/7/keys = { "method": &"_on_childhood_done" }] } -tracks/8/type = "value" -tracks/8/imported = false -tracks/8/enabled = true -tracks/8/path = NodePath("ScenePlayer/jui_jutsu:visible") -tracks/8/interp = 1 -tracks/8/loop_wrap = true -tracks/8/keys = { +tracks/7/type = "value" +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/path = NodePath("ScenePlayer/jui_jutsu:visible") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = { "times": PackedFloat32Array(0, 206.7), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [true, false] } -tracks/9/type = "audio" -tracks/9/imported = false -tracks/9/enabled = true -tracks/9/path = NodePath("ScenePlayer/Jui_Jutsu") -tracks/9/interp = 1 -tracks/9/loop_wrap = true -tracks/9/keys = { +tracks/8/type = "audio" +tracks/8/imported = false +tracks/8/enabled = true +tracks/8/path = NodePath("ScenePlayer/Jui_Jutsu") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/keys = { "clips": [{ "end_offset": 0.0, "start_offset": 0.0, @@ -1278,122 +1125,122 @@ tracks/9/keys = { }], "times": PackedFloat32Array(3) } -tracks/9/use_blend = true -tracks/10/type = "value" -tracks/10/imported = false -tracks/10/enabled = true -tracks/10/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/VBoxContainer/ScrollContainer/Label:visible_characters") -tracks/10/interp = 1 -tracks/10/loop_wrap = true -tracks/10/keys = { +tracks/8/use_blend = true +tracks/9/type = "value" +tracks/9/imported = false +tracks/9/enabled = true +tracks/9/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/VBoxContainer/ScrollContainer/Label:visible_characters") +tracks/9/interp = 1 +tracks/9/loop_wrap = true +tracks/9/keys = { "times": PackedFloat32Array(0.7, 2.5, 4.2, 8.59882, 11.202, 17.9, 22.9, 28.4866, 34.1, 40.7, 44.6, 50, 53.9237, 58.9, 63.2334, 71.5, 75.5, 79.8, 84.7, 88.7, 91.9227, 98.6, 102.972, 106, 106.8, 109.1, 110.3, 114.8, 117.385, 120.6, 121.989, 125.4, 128.512, 136.313, 143.8, 149.7, 153, 156.2, 160.1, 163, 170.3, 175.771, 182.9, 183.9, 184.6, 188.4, 189.5, 195.1, 198.112, 201), "transitions": PackedFloat32Array(0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 1, 0.287175, 0.965937, 0.287175, 0.287175, 0.287175, 0.287175, 1, 1, 0.287175, 0.287175, 0.287175, 0.517633, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175), "update": 0, "values": [0, 43, 43, 110, 110, 275, 275, 360, 508, 540, 540, 648, 648, 735, 735, 1024, 1091, 1091, 1162, 1279, 1279, 1434, 1434, 1452, 1452, 1483, 1483, 1596, 1596, 1647, 1647, 1698, 1698, 1790, 1906, 2061, 2061, 2101, 2150, 2150, 2229, 2313, 2352, 2357, 2363, 2412, 2412, 2503, 2503, 2540] } -tracks/11/type = "value" -tracks/11/imported = false -tracks/11/enabled = true -tracks/11/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:emitting") -tracks/11/interp = 1 -tracks/11/loop_wrap = true -tracks/11/keys = { +tracks/10/type = "value" +tracks/10/imported = false +tracks/10/enabled = true +tracks/10/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:emitting") +tracks/10/interp = 1 +tracks/10/loop_wrap = true +tracks/10/keys = { "times": PackedFloat32Array(0, 5.8, 11.3, 18.2, 26.1, 34.4, 43.7, 53.2, 65.1, 75.7, 93), "transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1), "update": 1, "values": [false, true, true, true, true, true, true, true, true, true, true] } -tracks/12/type = "value" -tracks/12/imported = false -tracks/12/enabled = true -tracks/12/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:amount") -tracks/12/interp = 1 -tracks/12/loop_wrap = true -tracks/12/keys = { +tracks/11/type = "value" +tracks/11/imported = false +tracks/11/enabled = true +tracks/11/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:amount") +tracks/11/interp = 1 +tracks/11/loop_wrap = true +tracks/11/keys = { "times": PackedFloat32Array(4, 11.1, 18, 25.9, 34.2, 43.5, 53, 65, 75.6, 92.1), "transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1), "update": 1, "values": [1, 10, 20, 40, 80, 180, 160, 320, 400, 500] } -tracks/13/type = "value" -tracks/13/imported = false -tracks/13/enabled = true -tracks/13/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite:noise_speed") -tracks/13/interp = 1 -tracks/13/loop_wrap = true -tracks/13/keys = { +tracks/12/type = "value" +tracks/12/imported = false +tracks/12/enabled = true +tracks/12/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite:noise_speed") +tracks/12/interp = 1 +tracks/12/loop_wrap = true +tracks/12/keys = { "times": PackedFloat32Array(2, 129.7, 149.1, 167.15), "transitions": PackedFloat32Array(0.482968, 1.86607, 1, 1), "update": 0, "values": [0.0, 10.0, 5.0, 10.0] } -tracks/14/type = "value" -tracks/14/imported = false -tracks/14/enabled = true -tracks/14/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:one_shot") -tracks/14/interp = 1 -tracks/14/loop_wrap = true -tracks/14/keys = { +tracks/13/type = "value" +tracks/13/imported = false +tracks/13/enabled = true +tracks/13/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:one_shot") +tracks/13/interp = 1 +tracks/13/loop_wrap = true +tracks/13/keys = { "times": PackedFloat32Array(0, 93), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [true, false] } -tracks/15/type = "value" -tracks/15/imported = false -tracks/15/enabled = true -tracks/15/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:lifetime") -tracks/15/interp = 1 -tracks/15/loop_wrap = true -tracks/15/keys = { +tracks/14/type = "value" +tracks/14/imported = false +tracks/14/enabled = true +tracks/14/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:lifetime") +tracks/14/interp = 1 +tracks/14/loop_wrap = true +tracks/14/keys = { "times": PackedFloat32Array(93, 129.9, 136.6, 164.8), "transitions": PackedFloat32Array(1, 0.31864, 2.21914, 1), "update": 0, "values": [5.0, 1.5, 4.0, 2.0] } -tracks/16/type = "value" -tracks/16/imported = false -tracks/16/enabled = true -tracks/16/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:explosiveness") -tracks/16/interp = 1 -tracks/16/loop_wrap = true -tracks/16/keys = { +tracks/15/type = "value" +tracks/15/imported = false +tracks/15/enabled = true +tracks/15/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:explosiveness") +tracks/15/interp = 1 +tracks/15/loop_wrap = true +tracks/15/keys = { "times": PackedFloat32Array(96.3, 129.9, 136.6, 159.5, 176.7), "transitions": PackedFloat32Array(1, 0.31864, 1, 0.406126, 1), "update": 0, "values": [0.29, 0.69, 0.74, 0.9, 0.2] } -tracks/17/type = "value" -tracks/17/imported = false -tracks/17/enabled = true -tracks/17/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:speed_scale") -tracks/17/interp = 1 -tracks/17/loop_wrap = true -tracks/17/keys = { +tracks/16/type = "value" +tracks/16/imported = false +tracks/16/enabled = true +tracks/16/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:speed_scale") +tracks/16/interp = 1 +tracks/16/loop_wrap = true +tracks/16/keys = { "times": PackedFloat32Array(105.6, 129.8, 150.5, 164.7), "transitions": PackedFloat32Array(1, 0.466516, 1, 1), "update": 0, "values": [1.0, 1.9, 0.4, 1.0] } -tracks/18/type = "value" -tracks/18/imported = false -tracks/18/enabled = true -tracks/18/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite:noise_power") -tracks/18/interp = 1 -tracks/18/loop_wrap = true -tracks/18/keys = { +tracks/17/type = "value" +tracks/17/imported = false +tracks/17/enabled = true +tracks/17/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite:noise_power") +tracks/17/interp = 1 +tracks/17/loop_wrap = true +tracks/17/keys = { "times": PackedFloat32Array(8.4, 93.4, 129.7, 159.4, 169.4), "transitions": PackedFloat32Array(1, 1, 1, 1, 1), "update": 0, "values": [5.0, 2.0, 0.3, 0.3, 1.5] } -tracks/19/type = "method" -tracks/19/imported = false -tracks/19/enabled = true -tracks/19/path = NodePath("ScenePlayer") -tracks/19/interp = 1 -tracks/19/loop_wrap = true -tracks/19/keys = { +tracks/18/type = "method" +tracks/18/imported = false +tracks/18/enabled = true +tracks/18/path = NodePath("ScenePlayer") +tracks/18/interp = 1 +tracks/18/loop_wrap = true +tracks/18/keys = { "times": PackedFloat32Array(204.5), "transitions": PackedFloat32Array(1), "values": [{ @@ -1551,6 +1398,7 @@ tracks/1/keys = { _data = { "RESET": SubResource("Animation_nwry8"), "childhood": SubResource("Animation_g5l1m"), +"childhood_de": SubResource("Animation_a0mcq"), "draeven": SubResource("Animation_1kp3w"), "intro": SubResource("Animation_1pmhi"), "jui_jutsu": SubResource("Animation_dot4p"), @@ -1576,13 +1424,20 @@ func play_scene(id: int, repeat = false): Input.mouse_mode = Input.MOUSE_MODE_HIDDEN match id: Scenes.id.YOUTH_CHILDHOOD: - play(\"childhood\") + match TranslationServer.get_locale(): + \"de\": + play(\"childhood_de\") + _: + play(\"childhood\") + $childhood.story_array = $childhood.story_array Scenes.id.YOUTH_VOICE_TRAINING: play(\"voice training\") Scenes.id.YOUTH_JUI_JUTSU: play(\"jui_jutsu\") Scenes.id.YOUTH_DRAEVEN: play(\"draeven\") + $draven.play_scene() + get_parent().get_parent().dnd = true func _on_ini_room(): pass @@ -1590,6 +1445,7 @@ func _on_ini_room(): func on_childhood_done(): get_tree().call_group(\"scene_actors\", \"scene_finished\", Scenes.id.YOUTH_CHILDHOOD, is_repeating) $childhood.hide() + func on_voice_training_done(): get_tree().call_group(\"scene_actors\", \"scene_finished\", Scenes.id.YOUTH_VOICE_TRAINING, is_repeating) @@ -1601,65 +1457,13 @@ func on_jui_jutsu_done(): func on_draeven_done(): get_tree().call_group(\"scene_actors\", \"scene_finished\", Scenes.id.YOUTH_DRAEVEN, is_repeating) - $draeven.hide() + $draven.hide() queue(\"intro\") func scene_finished(_id): queue(\"RESET\") " -[sub_resource type="ViewportTexture" id="ViewportTexture_2cudi"] -viewport_path = NodePath("logic/ScenePlayer/childhood/PanelContainer/StartFrame/TextureRect/SubViewport") - -[sub_resource type="Environment" id="Environment_sk23p"] -ambient_light_color = Color(0.494118, 0.654902, 0.752941, 1) -tonemap_mode = 2 -tonemap_exposure = 1.55 -ssao_enabled = true -adjustment_enabled = true -adjustment_saturation = 0.9 - -[sub_resource type="World3D" id="World3D_4m36g"] -environment = SubResource("Environment_sk23p") - -[sub_resource type="Animation" id="Animation_rp0q6"] -length = 0.001 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath(".:rotation") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector3(0, 0, 0)] -} - -[sub_resource type="Animation" id="Animation_cml7w"] -resource_name = "idle" -length = 20.0 -loop_mode = 1 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath(".:rotation") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 20), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [Vector3(-0.349066, -1.5708, -0.349066), Vector3(-0.349066, 4.71239, -0.349066)] -} - -[sub_resource type="AnimationLibrary" id="AnimationLibrary_3td8t"] -_data = { -"RESET": SubResource("Animation_rp0q6"), -"idle": SubResource("Animation_cml7w") -} - [sub_resource type="CapsuleShape2D" id="CapsuleShape2D_foovg"] radius = 110.0 height = 336.0 @@ -2576,12 +2380,6 @@ libraries = { autoplay = "RESET" script = SubResource("GDScript_tfc2r") -[node name="Draven" type="AudioStreamPlayer" parent="logic/ScenePlayer"] -bus = &"text" - -[node name="IntroMusic" type="AudioStreamPlayer" parent="logic/ScenePlayer"] -bus = &"music" - [node name="Lisa" type="AudioStreamPlayer" parent="logic/ScenePlayer"] bus = &"text" @@ -2594,144 +2392,8 @@ stream = ExtResource("9_i8mqk") volume_db = -80.0 bus = &"music" -[node name="childhood" type="CenterContainer" parent="logic/ScenePlayer"] -visible = false +[node name="childhood" parent="logic/ScenePlayer" instance=ExtResource("12_viwxf")] modulate = Color(1, 1, 1, 0) -self_modulate = Color(1, 1, 1, 0.923078) -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -offset_right = -424.0 -grow_horizontal = 2 -grow_vertical = 2 - -[node name="PanelContainer" type="PanelContainer" parent="logic/ScenePlayer/childhood"] -layout_mode = 2 -mouse_filter = 1 - -[node name="StartFrame" type="TextureRect" parent="logic/ScenePlayer/childhood/PanelContainer"] -custom_minimum_size = Vector2(0, 900) -layout_mode = 2 -size_flags_vertical = 0 -texture = ExtResource("2_21x33") -expand_mode = 2 -stretch_mode = 4 - -[node name="Panel" type="PanelContainer" parent="logic/ScenePlayer/childhood/PanelContainer/StartFrame"] -show_behind_parent = true -layout_mode = 2 -offset_left = 199.0 -offset_top = -112.0 -offset_right = 1039.0 -offset_bottom = 697.0 -rotation = 0.459022 -mouse_filter = 1 - -[node name="TextureRect" type="TextureRect" parent="logic/ScenePlayer/childhood/PanelContainer/StartFrame"] -layout_mode = 2 -offset_left = 904.0 -offset_top = 225.0 -offset_right = 1416.0 -offset_bottom = 737.0 -texture = SubResource("ViewportTexture_2cudi") - -[node name="SubViewport" type="SubViewport" parent="logic/ScenePlayer/childhood/PanelContainer/StartFrame/TextureRect"] -own_world_3d = true -world_3d = SubResource("World3D_4m36g") -transparent_bg = true -msaa_3d = 1 -canvas_cull_mask = 4293918724 -render_target_update_mode = 0 - -[node name="Node3D" type="Node3D" parent="logic/ScenePlayer/childhood/PanelContainer/StartFrame/TextureRect/SubViewport"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.21953, 3.52719, 0) - -[node name="old_mask" type="MeshInstance3D" parent="logic/ScenePlayer/childhood/PanelContainer/StartFrame/TextureRect/SubViewport/Node3D"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 0.999999, 0, 0, 0) -layers = 4 -mesh = ExtResource("19_jr2bb") -skeleton = NodePath("") - -[node name="AnimationPlayer" type="AnimationPlayer" parent="logic/ScenePlayer/childhood/PanelContainer/StartFrame/TextureRect/SubViewport/Node3D/old_mask"] -libraries = { -"": SubResource("AnimationLibrary_3td8t") -} -autoplay = "idle" - -[node name="Camera3D" type="Camera3D" parent="logic/ScenePlayer/childhood/PanelContainer/StartFrame/TextureRect/SubViewport/Node3D"] -transform = Transform3D(1, -4.88994e-09, 1.82221e-11, 4.88232e-09, 0.998636, 0.052214, -2.7352e-10, -0.052214, 0.998636, 0.0198479, 0.0554118, 0.529937) -current = true -fov = 33.0 - -[node name="SpotLight3D" type="SpotLight3D" parent="logic/ScenePlayer/childhood/PanelContainer/StartFrame/TextureRect/SubViewport/Node3D"] -transform = Transform3D(0.302014, 0.249491, -0.920077, 0.207638, 0.924758, 0.318918, 0.930416, -0.287361, 0.227486, -0.620115, 0.241349, 0.172426) -layers = 4 -light_color = Color(0.992157, 0.917647, 0.835294, 1) -light_size = 0.1 -shadow_enabled = true -shadow_bias = 0.02 -shadow_normal_bias = 2.171 -spot_range = 0.846959 -spot_angle = 23.1819 - -[node name="OmniLight3D" type="OmniLight3D" parent="logic/ScenePlayer/childhood/PanelContainer/StartFrame/TextureRect/SubViewport/Node3D"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.23127, 0.892279, -0.650658) -light_color = Color(0.266667, 0.286275, 1, 1) -light_size = 0.5 -omni_range = 2.5227 - -[node name="OmniLight3D2" type="OmniLight3D" parent="logic/ScenePlayer/childhood/PanelContainer/StartFrame/TextureRect/SubViewport/Node3D"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.424841, -0.45505, 0.00432622) -light_color = Color(0.607843, 0.34902, 0.203922, 1) -light_energy = 0.1 -light_size = 0.5 -omni_range = 1.00639 - -[node name="VBoxContainer" type="VBoxContainer" parent="logic/ScenePlayer/childhood/PanelContainer"] -layout_mode = 2 - -[node name="Label" type="Label" parent="logic/ScenePlayer/childhood/PanelContainer/VBoxContainer"] -layout_mode = 2 -theme_type_variation = &"HeaderLarge" -text = " Childhood" - -[node name="ScrollContainer" type="ScrollContainer" parent="logic/ScenePlayer/childhood/PanelContainer/VBoxContainer"] -custom_minimum_size = Vector2(800, 750) -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 4 -horizontal_scroll_mode = 0 -vertical_scroll_mode = 3 - -[node name="Label" type="Label" parent="logic/ScenePlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer"] -layout_mode = 2 -size_flags_horizontal = 3 -text = "Oh, my old mask. I have so many good memories about theatre club. I would stand on my bed for entire afternoons, weeks on end, practicing my lines. Pretending to be on the big stage ... my mom would get mad at me, when she had to call me three or four times for dinner. I just … didn’t like the interruptions. We both were often mad at each other. - -Dinner was difficult. I just couldn’t bring myself to eat, because I couldn’t deal with the bread and my mom. She was always so worried. ‘Lisa, you forgot your homework, Lisa why won’t you play with the other girls, Lisa why didn’t Steffi invite you to her birthday, Lisa this, Lisa that.’ - -But I was fine. She just wouldn’t listen. -Yes, I didn’t do homework, but my teachers didn’t mind it as much with me - which the other kids wouldn’t shut up about. But like … they also made fun of me reading school books and talking to my teachers during breaks. - -But at least I could fucking talk to teachers and they had stuff to say. Mr Thomas probably even understood me better than my own mom. - -He said I was gifted. He said I just didn’t need homework for good grades. And he also made sure to always include extra credits. So my silly slip-ups wouldn’t get me a B." -autowrap_mode = 3 -visible_characters = 0 -visible_characters_behavior = 1 -visible_ratio = 0.0 - -[node name="StartBottom" type="TextureRect" parent="logic/ScenePlayer/childhood/PanelContainer/VBoxContainer"] -custom_minimum_size = Vector2(0, 64) -layout_mode = 2 -size_flags_vertical = 8 -texture = ExtResource("3_xqd4w") -expand_mode = 2 -stretch_mode = 4 - -[node name="skip_control" parent="logic/ScenePlayer/childhood/PanelContainer" instance=ExtResource("15_7nc4e")] -layout_mode = 2 -costum_owner = NodePath("../..") [node name="VoiceTraining" type="AudioStreamPlayer" parent="logic/ScenePlayer"] stream = ExtResource("10_wwwdq") @@ -2761,6 +2423,14 @@ texture = ExtResource("2_21x33") expand_mode = 2 stretch_mode = 4 +[node name="Label" type="Label" parent="logic/ScenePlayer/Voice Training/PanelContainer/StartFrame"] +layout_mode = 2 +offset_left = 213.0 +offset_top = 23.0 +offset_right = 781.0 +offset_bottom = 62.0 +text = "Hey, hier gibt es leider noch keine deutsche Übersetzung." + [node name="Panel" type="PanelContainer" parent="logic/ScenePlayer/Voice Training/PanelContainer/StartFrame"] show_behind_parent = true layout_mode = 2 @@ -2838,7 +2508,6 @@ grow_horizontal = 2 grow_vertical = 2 [node name="PanelContainer" type="PanelContainer" parent="logic/ScenePlayer/jui_jutsu"] -self_modulate = Color(1, 1, 1, 0) layout_mode = 2 mouse_filter = 1 @@ -2873,7 +2542,7 @@ custom_minimum_size = Vector2(800, 800) layout_mode = 2 size_flags_horizontal = 4 size_flags_vertical = 4 -mouse_filter = 0 +mouse_filter = 2 scroll_vertical = 638 horizontal_scroll_mode = 0 vertical_scroll_mode = 3 @@ -2983,91 +2652,15 @@ Messehalle wieder beruhigen müssen." fit_content = true autowrap_mode = 0 -[node name="draeven" type="CenterContainer" parent="logic/ScenePlayer"] -visible = false -modulate = Color(1, 1, 1, 0) -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -offset_right = -740.0 -grow_horizontal = 2 -grow_vertical = 2 +[node name="draven" parent="logic/ScenePlayer" instance=ExtResource("19_d3c7p")] -[node name="PanelContainer" type="PanelContainer" parent="logic/ScenePlayer/draeven"] -layout_mode = 2 -mouse_filter = 1 - -[node name="StartFrame" type="TextureRect" parent="logic/ScenePlayer/draeven/PanelContainer"] -custom_minimum_size = Vector2(0, 700) -layout_mode = 2 -size_flags_vertical = 0 -texture = ExtResource("2_21x33") -expand_mode = 2 -stretch_mode = 4 - -[node name="Panel" type="PanelContainer" parent="logic/ScenePlayer/draeven/PanelContainer/StartFrame"] -show_behind_parent = true -layout_mode = 2 -offset_left = 199.0 -offset_top = -112.0 -offset_right = 960.0 -offset_bottom = 876.0 -rotation = 0.459022 -mouse_filter = 1 - -[node name="VBoxContainer" type="VBoxContainer" parent="logic/ScenePlayer/draeven/PanelContainer"] -layout_mode = 2 - -[node name="Label" type="Label" parent="logic/ScenePlayer/draeven/PanelContainer/VBoxContainer"] -layout_mode = 2 -theme_type_variation = &"HeaderLarge" -text = " Dräven" - -[node name="ScrollContainer" type="ScrollContainer" parent="logic/ScenePlayer/draeven/PanelContainer/VBoxContainer"] -custom_minimum_size = Vector2(650, 900) -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 4 -mouse_filter = 0 -scroll_vertical = 150 -horizontal_scroll_mode = 0 -vertical_scroll_mode = 3 - -[node name="Label" type="Label" parent="logic/ScenePlayer/draeven/PanelContainer/VBoxContainer/ScrollContainer"] -layout_mode = 2 -size_flags_horizontal = 3 -text = "Moonlight trickled down trough clouds and twigs as Dräven tapped trough the night. He had been searching for a while and he knew a special someone must be hiding in the thicket. -When a familiar smell first led him to a few bronce hairs as fluffy as his tail, he didn’t think much of it. But then he saw paw-prints, that matched his own where he had not been. Would he finally find someone of his kind? -He was sure of it, as the familiar scent has never been stronger than tonight. When suddently: Was that chatter? His wings rustled with joy over the familiar voice and Dräven decided to get a better look. A few flaps and leaps brought him up a tree, to get a glimpse of his soon to be friend. -But all he saw was a fox. -He didn’t even want to bother it anymore. It would just scream and laugh at his wings of leafs, just like the trees crackled at his paws, that were no roots. -With a small whimper, Dräven spread his wings, and slid away to at least find comfort by seeing his reflection in the nearby lake. -It took him a while to notice, how there was a sudden silence when the clouds broke: Northern lights danced trough the sky to form wings, that met at a sleak body made of stars and clouds. The whole forest held its breath as it stared into eyes of moonlight gazing down. -Dräven was moved to tears when he gazed back at it. He was sad for the dragon that was of the moon and the stars and the skies. It must feel so lost in the universe. But his tears were of joy: It was the first time Dräven saw another creature of many kinds." -autowrap_mode = 3 -visible_characters = 0 -visible_characters_behavior = 1 -visible_ratio = 0.0 - -[node name="StartBottom" type="TextureRect" parent="logic/ScenePlayer/draeven/PanelContainer/VBoxContainer"] -custom_minimum_size = Vector2(0, 64) -layout_mode = 2 -size_flags_vertical = 8 -texture = ExtResource("3_xqd4w") -expand_mode = 2 -stretch_mode = 4 - -[node name="skip_control4" parent="logic/ScenePlayer/draeven/PanelContainer" instance=ExtResource("15_7nc4e")] -layout_mode = 2 -costum_owner = NodePath("../..") - -[node name="starlight_mesh" type="MeshInstance3D" parent="logic/ScenePlayer/draeven"] +[node name="starlight_mesh" type="MeshInstance3D" parent="logic/ScenePlayer"] transform = Transform3D(0.999, 0, 0, 0, 0.999, 0, 0, 0, 0.999, 0, 0, 0) layers = 2 mesh = ExtResource("6_gy6jv") -skeleton = NodePath("../../../..") +skeleton = NodePath("../../..") -[node name="starlight_ambient" type="SpotLight3D" parent="logic/ScenePlayer/draeven/starlight_mesh"] +[node name="starlight_ambient" type="SpotLight3D" parent="logic/ScenePlayer/starlight_mesh"] transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0.644969, 2.60833, -0.247641) light_color = Color(0.0313726, 0, 1, 1) light_energy = 0.2 @@ -3078,7 +2671,7 @@ shadow_blur = 1.277 spot_angle = 85.9425 spot_angle_attenuation = 0.57435 -[node name="starlight_lamp" type="SpotLight3D" parent="logic/ScenePlayer/draeven/starlight_mesh"] +[node name="starlight_lamp" type="SpotLight3D" parent="logic/ScenePlayer/starlight_mesh"] transform = Transform3D(0.55069, -0.676558, 0.488887, 0.695251, 0.0476608, -0.717185, 0.461917, 0.734845, 0.496624, 1.76541, 0.251864, 0.941618) light_color = Color(0, 1, 1, 1) light_energy = 2.0 @@ -3089,31 +2682,31 @@ spot_attenuation = 0.732044 spot_angle = 27.6108 spot_angle_attenuation = 1.18921 -[node name="material_handle" type="CSGBox3D" parent="logic/ScenePlayer/draeven"] +[node name="material_handle" type="CSGBox3D" parent="logic/ScenePlayer"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.70325, -1.08521, 0.0348804) visible = false size = Vector3(2.1502, 1.34648, 2.12063) material = ExtResource("28_oiweb") -[node name="OmniLight3D" type="OmniLight3D" parent="logic/ScenePlayer/draeven"] +[node name="OmniLight3D" type="OmniLight3D" parent="logic/ScenePlayer"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.12436, -0.521364) light_color = Color(0.741176, 0.211765, 0.698039, 1) light_energy = 0.0 light_size = 1.0 light_cull_mask = 4294967293 -[node name="Luna_frame-of-mind" parent="logic/ScenePlayer/draeven" instance=ExtResource("27_pb1jl")] +[node name="Luna_frame-of-mind" parent="logic/ScenePlayer" instance=ExtResource("27_pb1jl")] transform = Transform3D(0.958898, 0, 0.283747, 0, 1, 0, -0.283747, 0, 0.958898, -10.1552, 14.9384, -16.2182) visible = false -[node name="OmniLight3D" type="OmniLight3D" parent="logic/ScenePlayer/draeven/Luna_frame-of-mind"] +[node name="OmniLight3D" type="OmniLight3D" parent="logic/ScenePlayer/Luna_frame-of-mind"] transform = Transform3D(1, 0, 5.96046e-08, 0, 1, 0, -5.96046e-08, 0, 1, 0.0190229, 10.6551, -6.76412) light_color = Color(0.219608, 0.862745, 0.721569, 1) light_energy = 20.0 light_size = 10.0 omni_range = 14.8804 -[node name="OmniLight3D2" type="OmniLight3D" parent="logic/ScenePlayer/draeven/Luna_frame-of-mind"] +[node name="OmniLight3D2" type="OmniLight3D" parent="logic/ScenePlayer/Luna_frame-of-mind"] transform = Transform3D(0.999848, 0, -0.0174256, 0, 1, 0, 0.0174256, 0, 0.999848, 9.36941, 2.05006, -6.94176) light_color = Color(0.921569, 0.360784, 0.580392, 1) light_energy = 100.0 @@ -3160,7 +2753,9 @@ shape = SubResource("CapsuleShape3D_72g2i") [node name="ClothesMemento" type="Area3D" parent="logic" groups=["interactables"]] unique_name_in_owner = true -transform = Transform3D(0.86043, 0, -0.509567, 0, 1, 0, 0.509567, 0, 0.86043, 1.47102, 1.17096, -0.629588) +process_mode = 4 +transform = Transform3D(0.86043, 0, -0.509567, 0, 1, 0, 0.509567, 0, 0.86043, 2.49015, 1.17096, -2.35045) +visible = false collision_layer = 16 script = ExtResource("11_6fwv8") @@ -3240,7 +2835,9 @@ shape = SubResource("CapsuleShape3D_72g2i") [node name="CeilingMemento" type="Area3D" parent="logic" groups=["interactables"]] unique_name_in_owner = true -transform = Transform3D(0.86043, 0, -0.509567, 0, 1, 0, 0.509567, 0, 0.86043, 0.122875, 2.03863, -0.132712) +process_mode = 4 +transform = Transform3D(0.86043, 0, -0.509567, 0, 1, 0, 0.509567, 0, 0.86043, 0.122875, 4.03863, -0.132712) +visible = false collision_layer = 16 script = ExtResource("11_6fwv8") @@ -3676,11 +3273,7 @@ light_array = Array[Vector3]([Vector3(-0.545, 0.915, 1.035), Vector3(-0.47, 0.85 [connection signal="body_exited" from="logic/Bed and Ladders/reset_failover" to="logic/PlayerController" method="_on_bed_exit"] [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="cards_picked" from="logic/UI/Picker" to="logic/UI/Board" method="populate_board"] -[connection signal="cards_picked" from="logic/UI/Picker" to="WorldEnvironment" method="_on_picker_cards_picked"] [connection signal="board_completed" from="logic/UI/Board" to="logic/UI/ending_button" method="show"] -[connection signal="skip" from="logic/ScenePlayer/childhood/PanelContainer/skip_control" to="logic/ScenePlayer" method="on_childhood_done"] -[connection signal="skip" from="logic/ScenePlayer/childhood/PanelContainer/skip_control" to="logic/ScenePlayer" method="play" binds= ["RESET"]] [connection signal="skip" from="logic/ScenePlayer/Voice Training/PanelContainer/skip_control2" to="logic/ScenePlayer" method="on_voice_training_done"] [connection signal="skip" from="logic/ScenePlayer/Voice Training/PanelContainer/skip_control2" to="logic/ScenePlayer" method="play" binds= ["RESET"]] [connection signal="input_event" from="logic/ScenePlayer/jui_jutsu/PanelContainer/card" to="logic/ScenePlayer/jui_jutsu/PanelContainer/card" method="_on_input_event"] @@ -3688,8 +3281,7 @@ light_array = Array[Vector3]([Vector3(-0.545, 0.915, 1.035), Vector3(-0.47, 0.85 [connection signal="mouse_exited" from="logic/ScenePlayer/jui_jutsu/PanelContainer/card" to="logic/ScenePlayer/jui_jutsu/PanelContainer/card" method="_on_mouse_exited"] [connection signal="skip" from="logic/ScenePlayer/jui_jutsu/PanelContainer/skip_control3" to="logic/ScenePlayer" method="on_jui_jutsu_done"] [connection signal="skip" from="logic/ScenePlayer/jui_jutsu/PanelContainer/skip_control3" to="logic/ScenePlayer" method="play" binds= ["RESET"]] -[connection signal="skip" from="logic/ScenePlayer/draeven/PanelContainer/skip_control4" to="logic/ScenePlayer" method="on_draeven_done"] -[connection signal="skip" from="logic/ScenePlayer/draeven/PanelContainer/skip_control4" to="logic/ScenePlayer" method="play" binds= ["RESET"]] +[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/Collectable_ui" to="logic/UI/Board" method="on_scene_skipped"] [connection signal="input_event" from="logic/ClothesMemento/UiWrapper" to="logic/ClothesMemento/UiWrapper" method="_on_input_event"] diff --git a/src/default_bus_layout.tres b/src/default_bus_layout.tres index 827fe22..9ea4dff 100644 --- a/src/default_bus_layout.tres +++ b/src/default_bus_layout.tres @@ -1,17 +1,16 @@ [gd_resource type="AudioBusLayout" load_steps=3 format=3 uid="uid://djkwd76o033io"] -[sub_resource type="AudioEffectEQ" id="AudioEffectEQ_e1rh3"] -resource_name = "EQ" -band_db/3200_hz = -30.0 -band_db/10000_hz = -60.0 +[sub_resource type="AudioEffectLowPassFilter" id="AudioEffectLowPassFilter_ijm2o"] +resource_name = "LowPassFilter" +cutoff_hz = 6000.0 [sub_resource type="AudioEffectLowPassFilter" id="AudioEffectLowPassFilter_5p17k"] resource_name = "LowPassFilter" resonance = 0.52 [resource] -bus/0/volume_db = 0.0672607 -bus/0/effect/0/effect = SubResource("AudioEffectEQ_e1rh3") +bus/0/volume_db = 2.64922 +bus/0/effect/0/effect = SubResource("AudioEffectLowPassFilter_ijm2o") bus/0/effect/0/enabled = false bus/1/name = &"text" bus/1/solo = false diff --git a/src/dev-util/testing.tscn b/src/dev-util/testing.tscn index 6f849b0..eca1b25 100644 --- a/src/dev-util/testing.tscn +++ b/src/dev-util/testing.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=5 format=3 uid="uid://bigr0lnen1xdh"] +[gd_scene load_steps=10 format=3 uid="uid://bigr0lnen1xdh"] [sub_resource type="GDScript" id="GDScript_5hy5u"] script/source = "extends Node3D @@ -20,6 +20,29 @@ func _on_scene_actors_animation_finished(anim_name): print(\"yay\") " +[sub_resource type="Shader" id="Shader_tcvor"] +code = "shader_type spatial; + +void vertex() { + // Called for every vertex the material is visible on. +} + +void fragment() { + // Called for every pixel the material is visible on. +} + +//void light() { + // Called for every pixel for every light affecting the material. + // Uncomment to replace the default light processing function with this one. +//} +" + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_3ik03"] +render_priority = 0 +shader = SubResource("Shader_tcvor") + +[sub_resource type="PlaneMesh" id="PlaneMesh_4cqhd"] + [sub_resource type="Animation" id="Animation_kdstq"] length = 0.001 tracks/0/type = "value" @@ -57,6 +80,26 @@ _data = { "test": SubResource("Animation_wjx7h") } +[sub_resource type="Shader" id="Shader_4yqov"] +code = "shader_type spatial; + +void vertex() { + // Called for every vertex the material is visible on. +} + +void fragment() { + // Called for every pixel the material is visible on. +} + +void light() { + DIFFUSE_LIGHT += max(0, dot(NORMAL, LIGHT)) * ATTENUATION * ALBEDO; +} +" + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_idyit"] +render_priority = 0 +shader = SubResource("Shader_4yqov") + [node name="Node3D" type="Node3D"] script = SubResource("GDScript_5hy5u") @@ -64,10 +107,24 @@ script = SubResource("GDScript_5hy5u") transform = Transform3D(1, 0, 0, 0, 0.987688, -0.156434, 0, 0.156434, 0.987688, 0, -0.058, 0.77) fov = 18.0 +[node name="MeshInstance3D" type="MeshInstance3D" parent="Camera3D"] +material_override = SubResource("ShaderMaterial_3ik03") +mesh = SubResource("PlaneMesh_4cqhd") + [node name="AnimationPlayer" type="AnimationPlayer" parent="."] libraries = { "": SubResource("AnimationLibrary_l6qbr") } autoplay = "test" +[node name="CSGSphere3D" type="CSGSphere3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.04812, 0, 0) + +[node name="CSGSphere3D2" type="CSGSphere3D" parent="."] +transform = Transform3D(-0.918846, 0, 0.394615, 0, 1, 0, -0.394615, 0, -0.918846, 3.14472, 0, 0) +material_override = SubResource("ShaderMaterial_idyit") + +[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] +transform = Transform3D(0.144125, -0.969123, 0.20007, 0.566457, 0.246576, 0.786337, -0.81139, 0, 0.584505, 3.14472, 0, 0) + [connection signal="animation_finished" from="AnimationPlayer" to="." method="_on_scene_actors_animation_finished"] diff --git a/src/dev-util/ui-testing.tscn b/src/dev-util/ui-testing.tscn index ecc06d3..8781556 100644 --- a/src/dev-util/ui-testing.tscn +++ b/src/dev-util/ui-testing.tscn @@ -1,6 +1,4 @@ -[gd_scene load_steps=4 format=3 uid="uid://52mr50b01ibd"] - -[ext_resource type="Theme" uid="uid://d00g441vb4f6i" path="res://dev-util/test_theme.tres" id="1_v0n80"] +[gd_scene load_steps=3 format=3 uid="uid://52mr50b01ibd"] [sub_resource type="GDScript" id="GDScript_qm6fo"] script/source = "extends Button @@ -8,7 +6,7 @@ script/source = "extends Button # Called when the node enters the scene tree for the first time. func _ready() -> void: - ProjectSettings.set_setting(\"gui/theme/custom\", \"res://dev-util/test_theme.tres\") + TranslationServer.set_locale(\"de\") " [sub_resource type="GDScript" id="GDScript_rovd7"] @@ -36,7 +34,6 @@ offset_left = 458.0 offset_top = 209.0 offset_right = 611.0 offset_bottom = 281.0 -theme = ExtResource("1_v0n80") text = "small boi" script = SubResource("GDScript_qm6fo") @@ -58,3 +55,28 @@ popup/item_0/text = "asdf" popup/item_1/text = "werty" popup/item_1/id = 1 script = SubResource("GDScript_rovd7") + +[node name="Label" type="Label" parent="OptionButton"] +layout_mode = 0 +offset_right = 21.0 +offset_bottom = 39.0 +text = "Acessibility, Disclaimers and Content Notes" + +[node name="RichTextLabel" type="RichTextLabel" parent="."] +layout_mode = 0 +offset_left = 1498.0 +offset_top = 243.0 +offset_right = 2329.0 +offset_bottom = 597.0 +text = "Oh, my old mask. I have so many good memories about theatre club. I would stand on my bed for entire afternoons, weeks on end, practicing my lines. Pretending to be on the big stage ... my mom would get mad at me, when she had to call me three or four times for dinner. I just … didn’t like the interruptions. We both were often mad at each other. + +Dinner was difficult. I just couldn’t bring myself to eat, because I couldn’t deal with the bread and my mom. She was always so worried. ‘Lisa, you forgot your homework, Lisa why won’t you play with the other girls, Lisa why didn’t Steffi invite you to her birthday, Lisa this, Lisa that.’ + +But I was fine. She just wouldn’t listen. +Yes, I didn’t do homework, but my teachers didn’t mind it as much with me - which the other kids wouldn’t shut up about. But like … they also made fun of me reading school books and talking to my teachers during breaks. + +But at least I could fucking talk to teachers and they had stuff to say. Mr Thomas probably even understood me better than my own mom. + +He said I was gifted. He said I just didn’t need homework for good grades. And he also made sure to always include extra credits. So my silly slip-ups wouldn’t get me a B." +fit_content = true +scroll_active = false diff --git a/src/export_presets.cfg b/src/export_presets.cfg index b7c12e7..ae6e3da 100644 --- a/src/export_presets.cfg +++ b/src/export_presets.cfg @@ -62,7 +62,7 @@ script_export_mode=2 [preset.1.options] -custom_template/debug="/home/betalars/Development/godot/godot-steam/godotsteam.43.debug.template.windows.64.exe" +custom_template/debug="/home/betalars/development/godot/godot-steam/godotsteam.43.debug.template.windows.64.exe" custom_template/release="/home/betalars/Development/godot/godot-steam/godotsteam.43.template.windows.64.exe" debug/export_console_wrapper=1 binary_format/embed_pck=false diff --git a/src/icon.svg b/src/icon.svg new file mode 100644 index 0000000..b370ceb --- /dev/null +++ b/src/icon.svg @@ -0,0 +1 @@ + diff --git a/src/logic-scenes/board/card.tscn b/src/logic-scenes/board/card.tscn index a4a30da..46a89aa 100644 --- a/src/logic-scenes/board/card.tscn +++ b/src/logic-scenes/board/card.tscn @@ -1,7 +1,8 @@ -[gd_scene load_steps=10 format=3 uid="uid://dy5rd437h5hsw"] +[gd_scene load_steps=11 format=3 uid="uid://dy5rd437h5hsw"] [ext_resource type="Script" path="res://logic-scenes/board/card.gd" id="1_emip0"] [ext_resource type="Texture2D" uid="uid://sv0nhkkur1tt" path="res://logic-scenes/board/card-textures/cardsheet.png" id="2_ioijn"] +[ext_resource type="Theme" uid="uid://b056fn288p8ha" path="res://logic-scenes/themes/handwriting.theme" id="3_1x4uh"] [sub_resource type="CapsuleShape2D" id="CapsuleShape2D_foovg"] radius = 110.0 @@ -78,6 +79,7 @@ offset_bottom = 88.0 grow_horizontal = 2 grow_vertical = 2 rotation = 0.00872665 +theme = ExtResource("3_1x4uh") theme_type_variation = &"card_text" autowrap_mode = 3 diff --git a/src/logic-scenes/board/sticky-note.tscn b/src/logic-scenes/board/sticky-note.tscn index abdc593..115468b 100644 --- a/src/logic-scenes/board/sticky-note.tscn +++ b/src/logic-scenes/board/sticky-note.tscn @@ -1,7 +1,8 @@ -[gd_scene load_steps=17 format=3 uid="uid://vkcdj8c3ytbq"] +[gd_scene load_steps=18 format=3 uid="uid://vkcdj8c3ytbq"] [ext_resource type="Script" path="res://logic-scenes/board/sticky-note.gd" id="1_yvh5n"] [ext_resource type="Texture2D" uid="uid://c8ckkjmdegyis" path="res://logic-scenes/board/card-textures/postitsheet.png" id="2_j17jn"] +[ext_resource type="Theme" uid="uid://b056fn288p8ha" path="res://logic-scenes/themes/handwriting.theme" id="3_qmm0h"] [sub_resource type="CapsuleShape2D" id="CapsuleShape2D_ml4q7"] radius = 48.0 @@ -123,12 +124,13 @@ anchor_left = 0.5 anchor_top = 0.5 anchor_right = 0.5 anchor_bottom = 0.5 -offset_left = -38.0 +offset_left = -52.0 offset_top = -50.0 -offset_right = 239.0 +offset_right = 243.0 offset_bottom = 47.0 grow_horizontal = 2 grow_vertical = 2 +theme = ExtResource("3_qmm0h") theme_type_variation = &"card_text" vertical_alignment = 1 autowrap_mode = 3 diff --git a/src/logic-scenes/card_picker/card_picker.gd b/src/logic-scenes/card_picker/card_picker.gd index 3e21a85..4ca072b 100644 --- a/src/logic-scenes/card_picker/card_picker.gd +++ b/src/logic-scenes/card_picker/card_picker.gd @@ -195,6 +195,7 @@ func transition(): for card in output: out_str.append(card.name) cards_picked.emit(out_str) + get_parent().get_parent().get_parent().dnd = false selection_state = DONE State.leave_stage(self) diff --git a/src/logic-scenes/misc/skip_control.gd b/src/logic-scenes/misc/skip_control.gd index 8cb4259..6cec229 100644 --- a/src/logic-scenes/misc/skip_control.gd +++ b/src/logic-scenes/misc/skip_control.gd @@ -1,46 +1,69 @@ extends Control signal skip +signal proceed @export var skip_delay: float = 0.5 +@export var auto_continue_delay: float = 1 @export var costum_owner: NodePath var time_pressed: float = 0 -@onready var button: Button = $"Skip Button" -@onready var progress: ProgressBar = $ProgressBar -var pressed: bool + +@onready var button: Button = %SkipButton +@onready var progress: ProgressBar = %ProgressBar + +var pressed: bool = false +var proceeding: bool = false: + set(value): + proceeding = value + if proceeding and is_node_ready(): + #FIXME: animation implementieren >:3 + button.text = "continue" + elif is_node_ready(): + button.text = "skip to end (hold)" +var auto_proceed: bool = false: + set(value): + auto_proceed = value + + #resets progress bar on button + time_pressed = 0 func _ready(): if costum_owner != NodePath(""): owner = get_node(costum_owner) - - if owner == null: - owner = get_parent().get_parent() - - owner.connect("visibility_changed", Callable(self, "owner_visibility_changed")) - visible = owner.visible # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta): - if pressed and visible: + if pressed and is_visible_in_tree(): time_pressed += delta progress.value = time_pressed / skip_delay if time_pressed >= skip_delay: - emit_signal("skip") - pressed = false - time_pressed = 0 - if get_parent().get_parent().name == "draeven": - await(get_tree().create_timer(0.1).timeout) - get_parent().get_parent().get_parent().queue("intro") - -func _input(event): - if visible: - if event.is_action_pressed("skip"): - pressed = true - elif event.is_action_released("skip"): + skip.emit() pressed = false time_pressed = 0 -func owner_visibility_changed(): - visible = owner.visible + elif auto_proceed: + time_pressed += delta + if time_pressed >= auto_continue_delay: + proceed.emit() + + +func _unhandled_input(event: InputEvent) -> void: + if is_visible_in_tree(): + if event.is_action_pressed("skip"): + if not proceeding: + pressed = true + else: + proceed.emit() + get_viewport().set_input_as_handled() + elif event.is_action_released("skip"): + if not proceeding: + pressed = false + time_pressed = 0 + progress.value = 0 + get_viewport().set_input_as_handled() + elif event.is_action_pressed("ui_accept") or event.is_action_pressed("ui_focus_next"): + proceed.emit() + get_viewport().set_input_as_handled() + func _on_skip_button_toggled(button_pressed): if button_pressed: @@ -48,3 +71,9 @@ func _on_skip_button_toggled(button_pressed): else: pressed = false time_pressed = 0 + +func change_to_proceed_mode(): + proceeding = true + +func abort_auto_proceed(): + auto_proceed = false diff --git a/src/logic-scenes/misc/skip_control.tscn b/src/logic-scenes/misc/skip_control.tscn index 7f575ea..bf90660 100644 --- a/src/logic-scenes/misc/skip_control.tscn +++ b/src/logic-scenes/misc/skip_control.tscn @@ -1,31 +1,43 @@ -[gd_scene load_steps=2 format=3 uid="uid://dvwuhobhka78d"] +[gd_scene load_steps=8 format=3 uid="uid://dvwuhobhka78d"] [ext_resource type="Script" path="res://logic-scenes/misc/skip_control.gd" id="1_s6riu"] +[ext_resource type="Script" path="res://addons/input_prompts/action_prompt/action_prompt.gd" id="2_ev8gx"] +[ext_resource type="Texture2D" uid="uid://615hvpuiacvm" path="res://addons/input_prompts/icons/xbox/X.png" id="2_pnwbx"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_pwtn0"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_4rt17"] +bg_color = Color(0.6, 0.6, 0.6, 0) +border_width_top = 5 +border_width_bottom = 5 +border_color = Color(1, 1, 1, 1) +border_blend = true +corner_radius_top_left = 5 +corner_radius_bottom_left = 5 +expand_margin_top = 5.0 +expand_margin_bottom = 5.0 + +[sub_resource type="InputEventKey" id="InputEventKey_krb4k"] +device = -1 +physical_keycode = 88 +unicode = 120 + +[sub_resource type="InputEventJoypadButton" id="InputEventJoypadButton_3b2du"] +device = -1 +button_index = 2 +pressed = true [node name="skip_control" type="Control"] +process_mode = 4 layout_mode = 3 anchors_preset = 0 size_flags_horizontal = 4 size_flags_vertical = 8 script = ExtResource("1_s6riu") -[node name="ProgressBar" type="ProgressBar" parent="."] -layout_mode = 1 -anchors_preset = 8 -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -offset_left = -160.0 -offset_top = -19.5 -offset_right = 160.0 -offset_bottom = 19.5 -grow_horizontal = 2 -grow_vertical = 2 -max_value = 1.0 -show_percentage = false - -[node name="Skip Button" type="Button" parent="."] +[node name="SkipButton" type="Button" parent="."] +unique_name_in_owner = true +visible = false layout_mode = 1 anchors_preset = 8 anchor_left = 0.5 @@ -38,6 +50,37 @@ offset_right = 108.0 offset_bottom = 21.5 grow_horizontal = 2 grow_vertical = 2 -text = "hold x or [ ] to skip" +text = "skip to end (hold)" -[connection signal="toggled" from="Skip Button" to="." method="_on_skip_button_toggled"] +[node name="ProgressBar" type="ProgressBar" parent="SkipButton"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/background = SubResource("StyleBoxEmpty_pwtn0") +theme_override_styles/fill = SubResource("StyleBoxFlat_4rt17") +max_value = 1.0 +show_percentage = false + +[node name="ActionPrompt" type="TextureRect" parent="SkipButton"] +layout_mode = 1 +anchors_preset = 4 +anchor_top = 0.5 +anchor_bottom = 0.5 +offset_left = -55.0 +offset_top = -25.0 +offset_right = -5.0 +offset_bottom = 25.0 +grow_vertical = 2 +texture = ExtResource("2_pnwbx") +expand_mode = 2 +stretch_mode = 5 +script = ExtResource("2_ev8gx") +action = "skip" +icon = 0 +events = Array[InputEvent]([null, SubResource("InputEventKey_krb4k"), SubResource("InputEventJoypadButton_3b2du")]) + +[connection signal="toggled" from="SkipButton" to="." method="_on_skip_button_toggled"] diff --git a/src/logic-scenes/player_controller/player_controller.gd b/src/logic-scenes/player_controller/player_controller.gd index 83a08fe..f084d85 100644 --- a/src/logic-scenes/player_controller/player_controller.gd +++ b/src/logic-scenes/player_controller/player_controller.gd @@ -2,6 +2,7 @@ extends RigidBody3D var has_stage: bool = false: set(on_stage): + print("%s player controller take stage" % "True: " if on_stage else "false") if has_stage != on_stage: if on_stage: has_stage = true @@ -24,7 +25,7 @@ var has_stage: bool = false: else: jitter_strength = 0 has_stage = false - + print("player controller %s take stage" % "did" if has_stage else "didn't") sleeping = has_stage @export_range (0, 10) var max_speed: float = 3 @@ -166,6 +167,7 @@ func _handle_mouse_input(event:InputEventMouseMotion): current_mouse_rotation = event.relative func _input(event:InputEvent): + if get_parent().get_parent().dnd: return if has_stage: if event is InputEventMouseMotion and Input.mouse_mode == Input.MOUSE_MODE_CAPTURED: _handle_mouse_input(event) diff --git a/src/main.gd b/src/main.gd index 8a4da87..9af1e6f 100644 --- a/src/main.gd +++ b/src/main.gd @@ -107,3 +107,13 @@ func get_room_path_from_id(id: State.rooms) -> String: func start_demo(): load_save(SaveGame.new()) $"Messe-Menue".hide() + +var last_mode := DisplayServer.WINDOW_MODE_WINDOWED +func _unhandled_input(event: InputEvent) -> void: + if event.is_action_pressed("toggle_fullscreen"): + + if DisplayServer.window_get_mode() == DisplayServer.WINDOW_MODE_FULLSCREEN: + DisplayServer.window_set_mode(last_mode) + else: + last_mode = DisplayServer.window_get_mode() + DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_FULLSCREEN) diff --git a/src/main.tscn b/src/main.tscn index cd1a56b..28eede1 100644 --- a/src/main.tscn +++ b/src/main.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=83 format=3 uid="uid://befxf8uruwnrl"] +[gd_scene load_steps=106 format=3 uid="uid://befxf8uruwnrl"] [ext_resource type="Script" path="res://main.gd" id="1_rqkns"] [ext_resource type="PackedScene" uid="uid://gldtxysavetf" path="res://logic-scenes/startup/startup.tscn" id="1_v5rpm"] @@ -999,6 +999,259 @@ thumbnail = ExtResource("11_lul3y") last_saved = 1.72926e+09 is_save_file_valid = false +[sub_resource type="Resource" id="Resource_dwly2"] +script = ExtResource("10_ohds0") +filepath = "" +unique_save_name = "frame_of_mind_2024-10-19_20:24:17" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("11_lul3y") +last_saved = 1.72936e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_q2jfg"] +script = ExtResource("10_ohds0") +filepath = "" +unique_save_name = "frame_of_mind_2024-10-19_22:33:11" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("11_lul3y") +last_saved = 1.72937e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_vbtih"] +script = ExtResource("10_ohds0") +filepath = "" +unique_save_name = "frame_of_mind_2024-10-20_00:13:44" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("11_lul3y") +last_saved = 1.72938e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_3spk5"] +script = ExtResource("10_ohds0") +filepath = "" +unique_save_name = "frame_of_mind_2024-10-31_11:08:56" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("11_lul3y") +last_saved = 1.73037e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_j7vjo"] +script = ExtResource("10_ohds0") +filepath = "" +unique_save_name = "frame_of_mind_2024-10-31_12:53:19" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("11_lul3y") +last_saved = 1.73038e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_iwwok"] +script = ExtResource("10_ohds0") +filepath = "" +unique_save_name = "frame_of_mind_2024-11-06_15:01:07" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("11_lul3y") +last_saved = 1.7309e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_5f8aq"] +script = ExtResource("10_ohds0") +filepath = "" +unique_save_name = "frame_of_mind_2024-11-07_23:55:32" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("11_lul3y") +last_saved = 1.73102e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_xcydm"] +script = ExtResource("10_ohds0") +filepath = "" +unique_save_name = "frame_of_mind_2024-11-08_20:27:21" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("11_lul3y") +last_saved = 1.73109e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_evfw0"] +script = ExtResource("10_ohds0") +filepath = "" +unique_save_name = "frame_of_mind_2024-11-08_23:03:07" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("11_lul3y") +last_saved = 1.7311e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_rptay"] +script = ExtResource("10_ohds0") +filepath = "" +unique_save_name = "frame_of_mind_2024-11-08_23:37:11" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("11_lul3y") +last_saved = 1.73111e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_25jr3"] +script = ExtResource("10_ohds0") +filepath = "" +unique_save_name = "frame_of_mind_2024-11-08_23:39:13" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("11_lul3y") +last_saved = 1.73111e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_losf8"] +script = ExtResource("10_ohds0") +filepath = "" +unique_save_name = "frame_of_mind_2024-11-09_01:39:52" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("11_lul3y") +last_saved = 1.73111e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_xqfb0"] +script = ExtResource("10_ohds0") +filepath = "" +unique_save_name = "frame_of_mind_2024-11-09_09:50:23" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("11_lul3y") +last_saved = 1.73114e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_7pmrp"] +script = ExtResource("10_ohds0") +filepath = "" +unique_save_name = "frame_of_mind_2024-11-09_16:16:11" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("11_lul3y") +last_saved = 1.73117e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_idtht"] +script = ExtResource("10_ohds0") +filepath = "" +unique_save_name = "frame_of_mind_2024-11-09_16:49:24" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("11_lul3y") +last_saved = 1.73117e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_40rof"] +script = ExtResource("10_ohds0") +filepath = "" +unique_save_name = "frame_of_mind_2024-11-09_17:00:05" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("11_lul3y") +last_saved = 1.73117e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_lldec"] +script = ExtResource("10_ohds0") +filepath = "" +unique_save_name = "frame_of_mind_2024-11-09_17:12:31" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("11_lul3y") +last_saved = 1.73117e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_q6fub"] +script = ExtResource("10_ohds0") +filepath = "" +unique_save_name = "frame_of_mind_2024-11-10_10:54:07" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("11_lul3y") +last_saved = 1.73123e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_uce57"] +script = ExtResource("10_ohds0") +filepath = "" +unique_save_name = "frame_of_mind_2024-11-10_10:57:56" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("11_lul3y") +last_saved = 1.73123e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_k3ael"] +script = ExtResource("10_ohds0") +filepath = "" +unique_save_name = "frame_of_mind_2024-11-10_14:42:31" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("11_lul3y") +last_saved = 1.73125e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_fbxfi"] +script = ExtResource("10_ohds0") +filepath = "" +unique_save_name = "frame_of_mind_2025-01-15_11:55:47" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("11_lul3y") +last_saved = 1.73694e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_8yv2t"] +script = ExtResource("10_ohds0") +filepath = "" +unique_save_name = "frame_of_mind_2025-01-15_12:08:16" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("11_lul3y") +last_saved = 1.73694e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_7c43w"] +script = ExtResource("10_ohds0") +filepath = "" +unique_save_name = "frame_of_mind_2025-01-15_12:13:49" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("11_lul3y") +last_saved = 1.73694e+09 +is_save_file_valid = false + [sub_resource type="Resource" id="Resource_qi5jr"] resource_local_to_scene = true script = ExtResource("11_uwfii") @@ -1122,16 +1375,9 @@ font_color = Color(1, 1, 1, 1) [sub_resource type="GDScript" id="GDScript_t6jj1"] script/source = "extends VSplitContainer -func _ready() -> void: - if TranslationServer.get_locale() == \"de\": - hide() - if not OS.has_feature(\"Demo\") and false: - get_parent().queue_free() - - func _on_locale_button_pressed() -> void: - TranslationServer.set_locale(\"de\") - hide() + TranslationServer.set_locale(\"en\") + %DisclaimerLabel._update() func _unhandled_input(event: InputEvent) -> void: if event is InputEventAction: @@ -1222,7 +1468,7 @@ anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 script = ExtResource("8_jecj3") -saves = Array[ExtResource("10_ohds0")]([SubResource("Resource_0ccxs"), SubResource("Resource_scb5e"), SubResource("Resource_uo7bh"), SubResource("Resource_wx6hh"), SubResource("Resource_iegpl"), SubResource("Resource_3gsqu"), SubResource("Resource_dxf6c"), SubResource("Resource_ruvsp"), SubResource("Resource_vmghk"), SubResource("Resource_t00ah"), SubResource("Resource_q813j"), SubResource("Resource_vhk4w"), SubResource("Resource_fe21n"), SubResource("Resource_mdiph"), SubResource("Resource_h6lqp"), SubResource("Resource_7uym5"), SubResource("Resource_xnudk"), SubResource("Resource_niqm0"), SubResource("Resource_ugpkd"), SubResource("Resource_3hkjs")]) +saves = Array[ExtResource("10_ohds0")]([SubResource("Resource_0ccxs"), SubResource("Resource_scb5e"), SubResource("Resource_uo7bh"), SubResource("Resource_wx6hh"), SubResource("Resource_iegpl"), SubResource("Resource_3gsqu"), SubResource("Resource_dxf6c"), SubResource("Resource_ruvsp"), SubResource("Resource_vmghk"), SubResource("Resource_t00ah"), SubResource("Resource_q813j"), SubResource("Resource_vhk4w"), SubResource("Resource_fe21n"), SubResource("Resource_mdiph"), SubResource("Resource_h6lqp"), SubResource("Resource_7uym5"), SubResource("Resource_xnudk"), SubResource("Resource_niqm0"), SubResource("Resource_ugpkd"), SubResource("Resource_3hkjs"), SubResource("Resource_dwly2"), SubResource("Resource_q2jfg"), SubResource("Resource_vbtih"), SubResource("Resource_3spk5"), SubResource("Resource_j7vjo"), SubResource("Resource_iwwok"), SubResource("Resource_5f8aq"), SubResource("Resource_xcydm"), SubResource("Resource_evfw0"), SubResource("Resource_rptay"), SubResource("Resource_25jr3"), SubResource("Resource_losf8"), SubResource("Resource_xqfb0"), SubResource("Resource_7pmrp"), SubResource("Resource_idtht"), SubResource("Resource_40rof"), SubResource("Resource_lldec"), SubResource("Resource_q6fub"), SubResource("Resource_uce57"), SubResource("Resource_k3ael"), SubResource("Resource_fbxfi"), SubResource("Resource_8yv2t"), SubResource("Resource_7c43w")]) [node name="CreditsRoll" type="RichTextLabel" parent="."] visible = false @@ -1555,26 +1801,13 @@ size_flags_horizontal = 0 texture = ExtResource("19_madrp") expand_mode = 3 -[node name="MarkdownLabel" type="RichTextLabel" parent="Messe-Menue/HSplitContainer"] +[node name="DisclaimerLabel" type="RichTextLabel" parent="Messe-Menue/HSplitContainer"] +unique_name_in_owner = true layout_mode = 2 bbcode_enabled = true -text = "[font_size=36]Frame of Mind[/font_size] -[font_size=27]Ein Gedanken-Spiel.[/font_size] - -[font_size=22]Sensible Inhalte[/font_size] -In diesem Spiel geht es um mentale Gesundheit und Konflikte, -mit denen manche Jugendliche beim Aufwachsen konfrontiert werden. - -In dieser Demo werden Probleme mit Essen, Mobbing und Geschlechter-Rollen sowie Nacktheit unter Jugendlichen und fiktionale Gewalt in Comics angesprochen. Dabei werden ein paar Schimpfworte verwendet." +text = "Demo-intro-text" script = ExtResource("10_viehl") -markdown_text = "#Frame of Mind -## Ein Gedanken-Spiel. - -### Sensible Inhalte -In diesem Spiel geht es um mentale Gesundheit und Konflikte, -mit denen manche Jugendliche beim Aufwachsen konfrontiert werden. - -In dieser Demo werden Probleme mit Essen, Mobbing und Geschlechter-Rollen sowie Nacktheit unter Jugendlichen und fiktionale Gewalt in Comics angesprochen. Dabei werden ein paar Schimpfworte verwendet." +markdown_text = "Demo-intro-text" h1 = SubResource("Resource_308k2") h2 = SubResource("Resource_g0gc1") h3 = SubResource("Resource_13vyj") @@ -1617,6 +1850,7 @@ theme_override_font_sizes/font_size = 50 text = "Starte die Demo!" [node name="Label" type="Label" parent="Messe-Menue"] +visible = false layout_mode = 1 anchors_preset = 5 anchor_left = 0.5 @@ -1640,23 +1874,24 @@ anchor_left = 0.5 anchor_top = 1.0 anchor_right = 0.5 anchor_bottom = 1.0 -offset_left = -262.0 -offset_top = -248.0 -offset_right = 263.0 -offset_bottom = -84.0 +offset_left = -349.0 +offset_top = -168.0 +offset_right = 350.0 +offset_bottom = -37.0 grow_horizontal = 2 grow_vertical = 0 script = SubResource("GDScript_t6jj1") -[node name="Label" type="Label" parent="Messe-Menue/VSplitContainer"] -layout_mode = 2 -text = "English or other unsupported international Locale detected. -Please know that the locale set on the demo computers will be German." -horizontal_alignment = 1 - [node name="LocaleButton" type="Button" parent="Messe-Menue/VSplitContainer"] layout_mode = 2 -text = "Audit this game in German (reccomended)" +size_flags_horizontal = 4 +text = "🇬🇧 Switch to English. 🇬🇧" + +[node name="Label" type="Label" parent="Messe-Menue/VSplitContainer"] +layout_mode = 2 +text = "*USK-Kennzeichnung bezieht sich auf den Games for Family-Stand der Spielraum-Messe Dresden. +Die Kennzeichnung trifft nicht zwangsläufig auf das finale Spiel zu." +horizontal_alignment = 1 [connection signal="on_read" from="Disclaimer" to="Startup Menu" method="starting"] [connection signal="pressed" from="Messe-Menue/Button" to="." method="start_demo"] diff --git a/src/main_menu.tscn b/src/main_menu.tscn index 07747ec..6bb7ec6 100644 --- a/src/main_menu.tscn +++ b/src/main_menu.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=29 format=3 uid="uid://b51wdql4mby47"] +[gd_scene load_steps=48 format=3 uid="uid://b51wdql4mby47"] [ext_resource type="Theme" uid="uid://b056fn288p8ha" path="res://logic-scenes/themes/handwriting.theme" id="1_2dg4n"] [ext_resource type="Script" path="res://logic-scenes/main menu/main_menu.gd" id="2_rm576"] @@ -360,6 +360,215 @@ thumbnail = ExtResource("12_6qu04") last_saved = 1.72927e+09 is_save_file_valid = false +[sub_resource type="Resource" id="Resource_yo5qr"] +script = ExtResource("11_cspq7") +filepath = "" +unique_save_name = "frame_of_mind_2024-10-19_20:24:18" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("12_6qu04") +last_saved = 1.72936e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_7axnv"] +script = ExtResource("11_cspq7") +filepath = "" +unique_save_name = "frame_of_mind_2024-10-19_22:33:12" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("12_6qu04") +last_saved = 1.72937e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_r3oqr"] +script = ExtResource("11_cspq7") +filepath = "" +unique_save_name = "frame_of_mind_2024-10-20_00:13:45" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("12_6qu04") +last_saved = 1.72938e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_7hoak"] +script = ExtResource("11_cspq7") +filepath = "" +unique_save_name = "frame_of_mind_2024-10-31_11:08:58" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("12_6qu04") +last_saved = 1.73037e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_x034i"] +script = ExtResource("11_cspq7") +filepath = "" +unique_save_name = "frame_of_mind_2024-11-06_15:01:09" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("12_6qu04") +last_saved = 1.7309e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_hv6lt"] +script = ExtResource("11_cspq7") +filepath = "" +unique_save_name = "frame_of_mind_2024-11-07_23:55:34" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("12_6qu04") +last_saved = 1.73102e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_ngwc0"] +script = ExtResource("11_cspq7") +filepath = "" +unique_save_name = "frame_of_mind_2024-11-08_20:27:23" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("12_6qu04") +last_saved = 1.73109e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_dsk3l"] +script = ExtResource("11_cspq7") +filepath = "" +unique_save_name = "frame_of_mind_2024-11-08_23:37:11" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("12_6qu04") +last_saved = 1.73111e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_efgi1"] +script = ExtResource("11_cspq7") +filepath = "" +unique_save_name = "frame_of_mind_2024-11-08_23:39:13" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("12_6qu04") +last_saved = 1.73111e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_xenjc"] +script = ExtResource("11_cspq7") +filepath = "" +unique_save_name = "frame_of_mind_2024-11-09_01:39:53" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("12_6qu04") +last_saved = 1.73111e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_2mijl"] +script = ExtResource("11_cspq7") +filepath = "" +unique_save_name = "frame_of_mind_2024-11-09_09:50:24" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("12_6qu04") +last_saved = 1.73114e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_mucpl"] +script = ExtResource("11_cspq7") +filepath = "" +unique_save_name = "frame_of_mind_2024-11-09_16:49:24" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("12_6qu04") +last_saved = 1.73117e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_dxffb"] +script = ExtResource("11_cspq7") +filepath = "" +unique_save_name = "frame_of_mind_2024-11-09_17:00:05" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("12_6qu04") +last_saved = 1.73117e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_4c35o"] +script = ExtResource("11_cspq7") +filepath = "" +unique_save_name = "frame_of_mind_2024-11-09_17:12:31" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("12_6qu04") +last_saved = 1.73117e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_4cd2u"] +script = ExtResource("11_cspq7") +filepath = "" +unique_save_name = "frame_of_mind_2024-11-10_10:54:09" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("12_6qu04") +last_saved = 1.73123e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_ye22d"] +script = ExtResource("11_cspq7") +filepath = "" +unique_save_name = "frame_of_mind_2024-11-10_14:42:31" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("12_6qu04") +last_saved = 1.73125e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_m18wr"] +script = ExtResource("11_cspq7") +filepath = "" +unique_save_name = "frame_of_mind_2025-01-15_11:55:48" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("12_6qu04") +last_saved = 1.73694e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_jed2g"] +script = ExtResource("11_cspq7") +filepath = "" +unique_save_name = "frame_of_mind_2025-01-15_12:08:18" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("12_6qu04") +last_saved = 1.73694e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_jel4s"] +script = ExtResource("11_cspq7") +filepath = "" +unique_save_name = "frame_of_mind_2025-01-15_12:13:51" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("12_6qu04") +last_saved = 1.73694e+09 +is_save_file_valid = false + [node name="Main Menu" type="Panel"] anchors_preset = 15 anchor_right = 1.0 @@ -517,7 +726,7 @@ anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 script = ExtResource("8_o0cpj") -saves = Array[ExtResource("11_cspq7")]([SubResource("Resource_civda"), SubResource("Resource_ny8h2"), SubResource("Resource_eypce"), SubResource("Resource_0aleq"), SubResource("Resource_yamni"), SubResource("Resource_ofqsy"), SubResource("Resource_775qv"), SubResource("Resource_epdda"), SubResource("Resource_idh7b"), SubResource("Resource_yy8tc")]) +saves = Array[ExtResource("11_cspq7")]([SubResource("Resource_civda"), SubResource("Resource_ny8h2"), SubResource("Resource_eypce"), SubResource("Resource_0aleq"), SubResource("Resource_yamni"), SubResource("Resource_ofqsy"), SubResource("Resource_775qv"), SubResource("Resource_epdda"), SubResource("Resource_idh7b"), SubResource("Resource_yy8tc"), SubResource("Resource_yo5qr"), SubResource("Resource_7axnv"), SubResource("Resource_r3oqr"), SubResource("Resource_7hoak"), SubResource("Resource_x034i"), SubResource("Resource_hv6lt"), SubResource("Resource_ngwc0"), SubResource("Resource_dsk3l"), SubResource("Resource_efgi1"), SubResource("Resource_xenjc"), SubResource("Resource_2mijl"), SubResource("Resource_mucpl"), SubResource("Resource_dxffb"), SubResource("Resource_4c35o"), SubResource("Resource_4cd2u"), SubResource("Resource_ye22d"), SubResource("Resource_m18wr"), SubResource("Resource_jed2g"), SubResource("Resource_jel4s")]) [node name="ScrollContainer" type="ScrollContainer" parent="."] layout_mode = 0 diff --git a/src/meeeeep.tscn b/src/meeeeep.tscn new file mode 100644 index 0000000..929b6ba --- /dev/null +++ b/src/meeeeep.tscn @@ -0,0 +1,19 @@ +[gd_scene load_steps=2 format=3 uid="uid://dok5ty1o02wg3"] + +[ext_resource type="Script" path="res://addons/inputty/Rebind/InputRemap.gd" id="1_2coyj"] + +[node name="Control" type="Control"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="InputRemap" type="Control" parent="."] +anchors_preset = 0 +offset_right = 40.0 +offset_bottom = 40.0 +script = ExtResource("1_2coyj") +actionNames = Array[StringName]([&"player_right", &"player_left"]) +actionDisplayNames = Array[String](["walk left", "walk right"]) diff --git a/src/project.godot b/src/project.godot index 231fd6a..eaf653e 100644 --- a/src/project.godot +++ b/src/project.godot @@ -11,10 +11,13 @@ config_version=5 [application] config/name="Frame of Mind" +config/name_localized={ +"de": "Frame of Mind - ein Gedankenspiel." +} run/main_scene="res://main.tscn" config/use_custom_user_dir=true config/features=PackedStringArray("4.3", "Forward Plus") -run/max_fps=60 +run/max_fps=30 boot_splash/bg_color=Color(0.0313726, 0.0117647, 0.129412, 1) boot_splash/image="res://splash.png" boot_splash/fullsize=false @@ -25,6 +28,8 @@ config/icon="res://icon.png" State="*res://singletons/global_state.gd" Scenes="*res://singletons/scene_reference.gd" Steamworks="*res://dev-util/steamworks.gd" +Inputty="*res://addons/inputty/Inputty.gd" +PromptManager="*res://addons/input_prompts/input_prompt_manager.gd" [debug] @@ -34,13 +39,18 @@ gdscript/warnings/native_method_override=0 window/size/viewport_width=1920 window/size/viewport_height=1080 +window/size/mode=3 window/stretch/mode="canvas_items" window/stretch/aspect="expand" mouse_cursor/custom_image="res://import/interface-elements/cursor.png" +[editor] + +movie_writer/movie_file="/home/betalars/development/godot/frame-of-mind/src/trailer-lighting.avi" + [editor_plugins] -enabled=PackedStringArray("res://addons/LineRenderer/plugin.cfg", "res://addons/markdownlabel/plugin.cfg") +enabled=PackedStringArray("res://addons/LineRenderer/plugin.cfg", "res://addons/input_prompts/plugin.cfg", "res://addons/markdownlabel/plugin.cfg") [filesystem] @@ -146,10 +156,16 @@ reset_demo={ "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":true,"ctrl_pressed":true,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":82,"key_label":0,"unicode":82,"location":0,"echo":false,"script":null) ] } +toggle_fullscreen={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194342,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +] +} [internationalization] locale/translations=PackedStringArray("res://internationalisation.de.translation", "res://internationalisation.en.translation") +locale/test="de" [layer_names] @@ -162,4 +178,5 @@ locale/translations=PackedStringArray("res://internationalisation.de.translation textures/vram_compression/import_etc2_astc=true scaling_3d/scale=0.6 environment/screen_space_reflection/roughness_quality=2 +anti_aliasing/quality/msaa_3d=2 anti_aliasing/quality/screen_space_aa=1 diff --git a/src/singletons/global_state.gd b/src/singletons/global_state.gd index 1c5dfab..ebf3de9 100644 --- a/src/singletons/global_state.gd +++ b/src/singletons/global_state.gd @@ -187,7 +187,7 @@ func leave_stage(actor:Object, dropObject: bool = false) -> bool: func get_current_actor(): return stage_list.front() # Used to put a new target on top of the Focus Stack. -func pass_stage_to(target:Object, force = false, lock_focus = true) -> bool: +func pass_stage_to(target:Object, force = false, lock_focus = false) -> bool: if "pass_to_actor" in target: pass_stage_to(target.pass_to_actor) if (focus_locked or get_tree().paused) and not force: @@ -206,6 +206,7 @@ func pass_stage_to(target:Object, force = false, lock_focus = true) -> bool: if target.has_stage: stage_list.push_front(target) assert(stage_list.size() < 100) + focus_locked = lock_focus return true return false