diff --git a/design/pause_screen.blend b/design/pause_screen.blend new file mode 100644 index 0000000..92586a4 --- /dev/null +++ b/design/pause_screen.blend @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:89bfdd1d2f1648c9f5e40ccc9b9af9d4a663f31ec72ad40e703372c84c9460f2 +size 1249640 diff --git a/src/main.gd b/src/main.gd index 7bfef31..73ab664 100644 --- a/src/main.gd +++ b/src/main.gd @@ -15,6 +15,7 @@ var has_stage: bool = false: @export_file(".tscn") var ending_path: String @onready var main_menu:MainMenu = %"Main Menu" +@onready var pause_menu = %PauseMenu @onready var menu_animation: AnimationTree = %MenuAnimationTree @onready var focus_forward = %"Main Menu" @@ -38,6 +39,8 @@ var currently_loading_room: String = "": # Called when the node enters the scene tree for the first time. func _ready(): currently_loading_room = youth_room_path + + get_tree().tree_process_mode_changed.connect(pause_mode_changed) func _process(delta: float) -> void: if currently_loading_room != "": @@ -52,6 +55,17 @@ func _process(delta: float) -> void: State.stage_list = [self] _return_to_menu() $"Messe-Menue".show() + if Input.is_action_just_pressed("ui_menu") and in_game: + if not get_tree().paused: + get_tree().paused = true + var state_machine = menu_animation["parameters/playback"] + state_machine.travel("reveal_pause_menu") + Input.mouse_mode = Input.MOUSE_MODE_VISIBLE + else: + get_tree().paused = false + var state_machine = menu_animation["parameters/playback"] + state_machine.travel("start_game") + Input.mouse_mode = Input.MOUSE_MODE_HIDDEN func debug_youth(): get_child(1).hide() @@ -87,6 +101,7 @@ func load_save(save: SaveGame): menu_animation["parameters/conditions/start_game"] = true State.active_save_game = save + in_game = true func _on_ready_to_unload(): if get_child(0) is Node3D: @@ -107,3 +122,6 @@ func start_demo(): load_save(SaveGame.new()) $DemoMenue.hide() current_room.start_room() + +func pause_mode_changed(): + print(get_tree().paused) diff --git a/src/main.tscn b/src/main.tscn index 8631104..d0b4856 100644 --- a/src/main.tscn +++ b/src/main.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=64 format=3 uid="uid://befxf8uruwnrl"] +[gd_scene load_steps=87 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"] @@ -9,7 +9,10 @@ [ext_resource type="PackedScene" uid="uid://6aaxpvoepqrm" path="res://disclaimer.tscn" id="7_t45fc"] [ext_resource type="Script" path="res://logic-scenes/main menu/save_game_list.gd" id="8_jecj3"] [ext_resource type="AudioStream" uid="uid://fej7yw25lgqy" path="res://import/menu_music/Ambient 6.ogg" id="8_tptb8"] +[ext_resource type="Script" path="res://logic-scenes/main menu/pause_menu.gd" id="9_ihfph"] +[ext_resource type="Texture2D" uid="uid://ds1n0xhxqlp4b" path="res://base-environments/youth_room/shaders/universe_noise.png" id="9_l7v4b"] [ext_resource type="Script" path="res://dev-util/savegame.gd" id="10_ohds0"] +[ext_resource type="Texture2D" uid="uid://bdyg065h8vcdi" path="res://base-environments/youth_room/shaders/starlight-textures.png" id="10_pipov"] [ext_resource type="Script" path="res://addons/markdownlabel/markdownlabel.gd" id="10_viehl"] [ext_resource type="Texture2D" uid="uid://bk5ja14r7r6i4" path="res://import/interface-elements/empty_save_slot.png" id="11_lul3y"] [ext_resource type="Script" path="res://addons/markdownlabel/header_formats/h1_format.gd" id="11_uwfii"] @@ -186,6 +189,54 @@ tracks/12/keys = { "update": 1, "values": [false] } +tracks/13/type = "value" +tracks/13/imported = false +tracks/13/enabled = true +tracks/13/path = NodePath("../../CenterContainer:visible") +tracks/13/interp = 1 +tracks/13/loop_wrap = true +tracks/13/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} +tracks/14/type = "value" +tracks/14/imported = false +tracks/14/enabled = true +tracks/14/path = NodePath("../../CenterContainer/TextureRect:modulate") +tracks/14/interp = 1 +tracks/14/loop_wrap = true +tracks/14/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 1)] +} +tracks/15/type = "value" +tracks/15/imported = false +tracks/15/enabled = true +tracks/15/path = NodePath("../../CenterContainer/PauseMenu/VBoxContainer:modulate") +tracks/15/interp = 1 +tracks/15/loop_wrap = true +tracks/15/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 0)] +} +tracks/16/type = "value" +tracks/16/imported = false +tracks/16/enabled = true +tracks/16/path = NodePath("../../CenterContainer/PauseMenu:modulate") +tracks/16/interp = 1 +tracks/16/loop_wrap = true +tracks/16/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 1)] +} [sub_resource type="Animation" id="Animation_sfr6l"] resource_name = "credits_roll" @@ -302,6 +353,70 @@ tracks/8/keys = { "values": [Color(0, 0, 0, 1)] } +[sub_resource type="Animation" id="Animation_lh4gu"] +resource_name = "hide_pause_menu" +length = 2.0 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("../../CenterContainer:visible") +tracks/0/interp = 0 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 2), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [true, false] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("../../CenterContainer/TextureRect:modulate") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 1.96667), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("../../CenterContainer/PauseMenu/VBoxContainer:modulate") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 0.233333), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("../../CenterContainer/PauseMenu:modulate") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0.133333, 0.7), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("%Main Menu: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_l5ynk"] resource_name = "init" length = 0.5 @@ -572,6 +687,69 @@ tracks/5/keys = { "values": [true] } +[sub_resource type="Animation" id="Animation_s5m6i"] +resource_name = "reveal_pause_menu" +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("../../CenterContainer:visible") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("../../CenterContainer/TextureRect:modulate") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.933333), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("../../CenterContainer/PauseMenu/VBoxContainer:modulate") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0.233333, 0.433333), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("../../CenterContainer/PauseMenu:modulate") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 0.3), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("%Main Menu:visible") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0.0333333), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} + [sub_resource type="Animation" id="Animation_q7d2t"] resource_name = "start_game" length = 0.001 @@ -681,10 +859,12 @@ tracks/4/keys = { _data = { "RESET": SubResource("Animation_y6s08"), "credits_roll": SubResource("Animation_sfr6l"), +"hide_pause_menu": SubResource("Animation_lh4gu"), "init": SubResource("Animation_l5ynk"), "loading_done": SubResource("Animation_nuxr6"), "loading_game": SubResource("Animation_em5qx"), "loading_menu": SubResource("Animation_k667j"), +"reveal_pause_menu": SubResource("Animation_s5m6i"), "start_game": SubResource("Animation_q7d2t"), "transition_load_game": SubResource("Animation_hv4pr") } @@ -692,6 +872,9 @@ _data = { [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_2npx0"] animation = &"credits_roll" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_6p8we"] +animation = &"hide_pause_menu" + [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_8b66u"] animation = &"init" @@ -707,6 +890,9 @@ animation = &"loading_done" [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_axnce"] animation = &"loading_game" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_pr4oj"] +animation = &"reveal_pause_menu" + [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_5umfs"] animation = &"start_game" @@ -760,12 +946,25 @@ advance_mode = 2 advance_mode = 2 advance_condition = &"roll_credits" +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_pc6pe"] + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dx61n"] + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_lp1dx"] +switch_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_mqlnh"] +xfade_time = 1.0 +advance_mode = 2 + [sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_uwcb5"] states/End/position = Vector2(981, 105) states/credits_roll/node = SubResource("AnimationNodeAnimation_2npx0") states/credits_roll/position = Vector2(877.91, 32) +states/hide_pause_menu/node = SubResource("AnimationNodeAnimation_6p8we") +states/hide_pause_menu/position = Vector2(599, -42.7336) states/init/node = SubResource("AnimationNodeAnimation_8b66u") -states/init/position = Vector2(351, 105) +states/init/position = Vector2(401, 100) states/load_savegame/node = SubResource("AnimationNodeAnimation_ahhta") states/load_savegame/position = Vector2(751.91, 242) states/loading/node = SubResource("AnimationNodeAnimation_v66b5") @@ -774,10 +973,12 @@ states/loading_done/node = SubResource("AnimationNodeAnimation_10f75") states/loading_done/position = Vector2(623, 136) states/loading_game/node = SubResource("AnimationNodeAnimation_axnce") states/loading_game/position = Vector2(797.91, 136) +states/reveal_pause_menu/node = SubResource("AnimationNodeAnimation_pr4oj") +states/reveal_pause_menu/position = Vector2(783.91, -112.734) states/start_game/node = SubResource("AnimationNodeAnimation_5umfs") -states/start_game/position = Vector2(721, 32) -transitions = ["Start", "init", SubResource("AnimationNodeStateMachineTransition_dxdg4"), "init", "loading", SubResource("AnimationNodeStateMachineTransition_0hpxy"), "loading", "loading_done", SubResource("AnimationNodeStateMachineTransition_ipapo"), "loading_done", "start_game", SubResource("AnimationNodeStateMachineTransition_0t1lp"), "start_game", "init", SubResource("AnimationNodeStateMachineTransition_66nmg"), "loading_done", "load_savegame", SubResource("AnimationNodeStateMachineTransition_6b86u"), "load_savegame", "loading_game", SubResource("AnimationNodeStateMachineTransition_y626i"), "loading_game", "start_game", SubResource("AnimationNodeStateMachineTransition_52bss"), "start_game", "credits_roll", SubResource("AnimationNodeStateMachineTransition_x8oth"), "credits_roll", "loading_done", SubResource("AnimationNodeStateMachineTransition_5ge3a"), "loading_done", "credits_roll", SubResource("AnimationNodeStateMachineTransition_44pd3")] -graph_offset = Vector2(-22.2504, 1.26639) +states/start_game/position = Vector2(698, 32) +transitions = ["Start", "init", SubResource("AnimationNodeStateMachineTransition_dxdg4"), "init", "loading", SubResource("AnimationNodeStateMachineTransition_0hpxy"), "loading", "loading_done", SubResource("AnimationNodeStateMachineTransition_ipapo"), "loading_done", "start_game", SubResource("AnimationNodeStateMachineTransition_0t1lp"), "start_game", "init", SubResource("AnimationNodeStateMachineTransition_66nmg"), "loading_done", "load_savegame", SubResource("AnimationNodeStateMachineTransition_6b86u"), "load_savegame", "loading_game", SubResource("AnimationNodeStateMachineTransition_y626i"), "loading_game", "start_game", SubResource("AnimationNodeStateMachineTransition_52bss"), "start_game", "credits_roll", SubResource("AnimationNodeStateMachineTransition_x8oth"), "credits_roll", "loading_done", SubResource("AnimationNodeStateMachineTransition_5ge3a"), "loading_done", "credits_roll", SubResource("AnimationNodeStateMachineTransition_44pd3"), "start_game", "reveal_pause_menu", SubResource("AnimationNodeStateMachineTransition_pc6pe"), "reveal_pause_menu", "hide_pause_menu", SubResource("AnimationNodeStateMachineTransition_dx61n"), "hide_pause_menu", "start_game", SubResource("AnimationNodeStateMachineTransition_lp1dx"), "hide_pause_menu", "init", SubResource("AnimationNodeStateMachineTransition_mqlnh")] +graph_offset = Vector2(157.75, -185.734) [sub_resource type="Resource" id="Resource_0ccxs"] script = ExtResource("10_ohds0") @@ -790,6 +991,94 @@ thumbnail = ExtResource("11_lul3y") last_saved = 1.72857e+09 is_save_file_valid = false +[sub_resource type="Resource" id="Resource_ohjec"] +script = ExtResource("10_ohds0") +filepath = "" +unique_save_name = "frame_of_mind_2025-02-07_19:06:26" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("11_lul3y") +last_saved = 1.73895e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_fla7m"] +script = ExtResource("10_ohds0") +filepath = "" +unique_save_name = "frame_of_mind_2025-02-07_22:44:26" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("11_lul3y") +last_saved = 1.73896e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_6v5b2"] +script = ExtResource("10_ohds0") +filepath = "" +unique_save_name = "frame_of_mind_2025-02-08_10:58:47" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("11_lul3y") +last_saved = 1.73901e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_mavpj"] +script = ExtResource("10_ohds0") +filepath = "" +unique_save_name = "frame_of_mind_2025-02-08_10:59:28" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("11_lul3y") +last_saved = 1.73901e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_ggdn0"] +script = ExtResource("10_ohds0") +filepath = "" +unique_save_name = "frame_of_mind_2025-02-08_15:10:04" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("11_lul3y") +last_saved = 1.73902e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_7qac8"] +script = ExtResource("10_ohds0") +filepath = "" +unique_save_name = "frame_of_mind_2025-02-08_16:24:23" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("11_lul3y") +last_saved = 1.73903e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_kqi28"] +script = ExtResource("10_ohds0") +filepath = "" +unique_save_name = "frame_of_mind_2025-02-08_20:32:11" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("11_lul3y") +last_saved = 1.73904e+09 +is_save_file_valid = false + +[sub_resource type="Resource" id="Resource_yfsev"] +script = ExtResource("10_ohds0") +filepath = "" +unique_save_name = "frame_of_mind_2025-02-09_14:15:05" +current_room = 0 +mementos_complete = 0 +board_state = {} +thumbnail = ExtResource("11_lul3y") +last_saved = 1.73911e+09 +is_save_file_valid = false + [sub_resource type="Resource" id="Resource_qi5jr"] resource_local_to_scene = true script = ExtResource("11_uwfii") @@ -934,7 +1223,72 @@ is_underlined = false override_font_color = false font_color = Color(1, 1, 1, 1) +[sub_resource type="Shader" id="Shader_duh8f"] +code = "shader_type canvas_item; +render_mode blend_premul_alpha; + +uniform float nebula_brightness = 4; +uniform vec2 nebula_scale = vec2(1.5); +uniform sampler2D starlight_noise: repeat_enable; +uniform sampler2D starlight_textures; +uniform float rotation_speed = 0.02; +uniform vec2 rotation_pivot = vec2(.8); +uniform vec2 drift_compensation = vec2(0.1, -0.2); +uniform float noise_strength = 0.2; + +// https://gist.github.com/ayamflow/c06bc0c8a64f985dd431bd0ac5b557cd +vec2 rotateUV(vec2 uv, vec2 pivot, float rotation) +{ + return vec2( + cos(rotation) * (uv.x - pivot.x) + sin(rotation) * (uv.y - pivot.y) + pivot.x, + cos(rotation) * (uv.y - pivot.y) - sin(rotation) * (uv.x - pivot.x) + pivot.y + ); +} + +//clamp(, .0, 1.0 + +void fragment() { + COLOR *= vec4(.0, + texture(starlight_textures,fract(UV*2.0)).x * 2.0*pow(max(sin(TIME + 10.0 * texture(starlight_textures,UV).y), .0), 5.0), + texture(starlight_textures, + clamp( + UV / nebula_scale + drift_compensation + 1.0 * + texture(starlight_noise, rotateUV( + UV / nebula_scale + noise_strength * texture(starlight_noise, rotateUV(UV, -rotation_pivot, TIME*rotation_speed)).yz, + rotation_pivot, TIME*rotation_speed) + ).xz, + .0, 1.0)) + .z * nebula_brightness, + clamp(pow(COLOR.x * 2.5 - (texture(starlight_noise, UV*2.0+TIME*.02).x + 0.8), 1.5), .0, 1.0) + ) * COLOR.w; +} +" + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_knlqd"] +shader = SubResource("Shader_duh8f") +shader_parameter/nebula_brightness = 2.4 +shader_parameter/nebula_scale = Vector2(1.3, 1.6) +shader_parameter/rotation_speed = 0.02 +shader_parameter/rotation_pivot = Vector2(0.8, 0.8) +shader_parameter/drift_compensation = Vector2(0.1, -0.2) +shader_parameter/noise_strength = 0.2 +shader_parameter/starlight_noise = ExtResource("9_l7v4b") +shader_parameter/starlight_textures = ExtResource("10_pipov") + +[sub_resource type="Gradient" id="Gradient_7nxov"] +interpolation_color_space = 2 +colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 0) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_swtmc"] +gradient = SubResource("Gradient_7nxov") +width = 2048 +height = 1536 +fill = 1 +fill_from = Vector2(0.538462, 0.491453) +fill_to = Vector2(1.3, -0.3) + [node name="main" type="Node3D"] +process_mode = 3 script = ExtResource("1_rqkns") youth_room_path = "res://base-environments/youth_room/youth_room.tscn" @@ -1011,6 +1365,7 @@ parameters/conditions/start_game = false bus = &"music" [node name="SaveGameHandle" type="CenterContainer" parent="."] +process_mode = 4 visible = false anchors_preset = 15 anchor_right = 1.0 @@ -1018,7 +1373,7 @@ anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 script = ExtResource("8_jecj3") -saves = Array[ExtResource("10_ohds0")]([SubResource("Resource_0ccxs")]) +saves = Array[ExtResource("10_ohds0")]([SubResource("Resource_0ccxs"), SubResource("Resource_ohjec"), SubResource("Resource_fla7m"), SubResource("Resource_6v5b2"), SubResource("Resource_mavpj"), SubResource("Resource_ggdn0"), SubResource("Resource_7qac8"), SubResource("Resource_kqi28"), SubResource("Resource_yfsev")]) [node name="CreditsRoll" type="RichTextLabel" parent="."] visible = false @@ -1030,7 +1385,7 @@ anchor_bottom = 0.5 offset_left = -645.0 offset_top = -340.0 offset_right = 645.0 -offset_bottom = 3709.0 +offset_bottom = 3739.0 grow_horizontal = 2 grow_vertical = 2 size_flags_horizontal = 4 @@ -1053,7 +1408,7 @@ published by [font_size=27]Purple Sloth Game Collective[/font_size] produced with the help of -[font_size=27]Vu Dieu Linh @ Studio Invinity[/font_size] +[font_size=27]Vu Dieu Linh @ polynormal games[/font_size] @@ -1066,6 +1421,7 @@ and somebody that I used to know [font_size=18]Voice Acting[/font_size] Jas Arianna +Sarosenna [font_size=18]Soundtrack[/font_size] STTLE @@ -1074,7 +1430,7 @@ STTLE [font_size=22]Frame of Mind was created in Godot 4.[/font_size] [font_size=18]Special thanks to close friends and allies:[/font_size] -Jenny, map-c, Svenja, caesey, Milo, Francis, Sandro, Christoph, Johanna, Friedrich Lüder +caesey, Nase, Jenny, map-c, Svenja, Milo, Francis, Sandro, Christoph, Johanna, Friedrich Lüder [font_size=18]Thanks to the Developers of:[/font_size] blender @@ -1166,7 +1522,7 @@ published by ## Purple Sloth Game Collective produced with the help of -## Vu Dieu Linh @ Studio Invinity +## Vu Dieu Linh @ polynormal games @@ -1179,6 +1535,7 @@ and somebody that I used to know #### Voice Acting Jas Arianna +Sarosenna #### Soundtrack STTLE @@ -1187,7 +1544,7 @@ STTLE ### Frame of Mind was created in Godot 4. #### Special thanks to close friends and allies: -Jenny, map-c, Svenja, caesey, Milo, Francis, Sandro, Christoph, Johanna, Friedrich Lüder +caesey, Nase, Jenny, map-c, Svenja, Milo, Francis, Sandro, Christoph, Johanna, Friedrich Lüder #### Thanks to the Developers of: blender @@ -1284,7 +1641,7 @@ size_flags_vertical = 4 bbcode_enabled = true text = "[center] [font_size=36]Thanks for Playing[/font_size] -... while this game is still in alpha. +... the public demo version. We are sorry you were not yet able to resolve Lisas thoughts. But we would like to hear yours. @@ -1302,7 +1659,7 @@ fit_content = true script = ExtResource("10_viehl") markdown_text = "[center] # Thanks for Playing -... while this game is still in alpha. +... the public demo version. We are sorry you were not yet able to resolve Lisas thoughts. But we would like to hear yours. @@ -1445,6 +1802,75 @@ layout_mode = 2 text = "lang-disclaimer" horizontal_alignment = 1 +[node name="CenterContainer" type="CenterContainer" parent="."] +visible = false +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="TextureRect" type="TextureRect" parent="CenterContainer"] +material = SubResource("ShaderMaterial_knlqd") +layout_mode = 2 +texture = SubResource("GradientTexture2D_swtmc") + +[node name="PauseMenu" type="PanelContainer" parent="CenterContainer"] +unique_name_in_owner = true +layout_mode = 2 +script = ExtResource("9_ihfph") + +[node name="VBoxContainer" type="VBoxContainer" parent="CenterContainer/PauseMenu"] +modulate = Color(1, 1, 1, 0) +layout_mode = 2 + +[node name="Label" type="Label" parent="CenterContainer/PauseMenu/VBoxContainer"] +layout_mode = 2 +theme_type_variation = &"HeaderLarge" +text = "Game Paused" + +[node name="ResumeButton" type="Button" parent="CenterContainer/PauseMenu/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 +text = "Resume" + +[node name="ToMenuButton" type="Button" parent="CenterContainer/PauseMenu/VBoxContainer"] +unique_name_in_owner = true +visible = false +layout_mode = 2 +text = "Return to Menu" + +[node name="ToSettingsButton" type="Button" parent="CenterContainer/PauseMenu/VBoxContainer"] +unique_name_in_owner = true +visible = false +layout_mode = 2 +text = "Open Settings" + +[node name="ToDesktopButton" type="Button" parent="CenterContainer/PauseMenu/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 +text = "Quit to Desktop" + +[node name="HSeparator" type="HSeparator" parent="CenterContainer/PauseMenu/VBoxContainer"] +custom_minimum_size = Vector2(0, 20) +layout_mode = 2 + +[node name="FindHelplineButton" type="Button" parent="CenterContainer/PauseMenu/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 +text = "Find Help-Lines" + +[node name="Label2" type="Label" parent="CenterContainer/PauseMenu/VBoxContainer"] +layout_mode = 2 +text = "opens findahelpline.com" +horizontal_alignment = 1 + +[node name="SkipStoryButton" type="Button" parent="CenterContainer/PauseMenu/VBoxContainer"] +unique_name_in_owner = true +visible = false +layout_mode = 2 +text = "Skip this Story" + [connection signal="room_loaded" from="." to="DemoMenue" method="_on_main_room_loaded"] [connection signal="on_read" from="Disclaimer" to="Startup Menu" method="starting"] [connection signal="pressed" from="DemoMenue/DemoStartButton" to="." method="start_demo"] diff --git a/src/project.godot b/src/project.godot index dc1c5bc..99950de 100644 --- a/src/project.godot +++ b/src/project.godot @@ -75,6 +75,12 @@ ui_cancel={ , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":1,"pressure":0.0,"pressed":true,"script":null) ] } +ui_menu={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194370,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, 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":4194305,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +] +} player_right={ "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":68,"key_label":0,"unicode":100,"location":0,"echo":false,"script":null)