diff --git a/src/base-environments/transition/import/textures/garage_floor_rough_4k.exr.import b/src/base-environments/transition/import/textures/garage_floor_rough_4k.exr.import index 5f7e879..0ad961c 100644 --- a/src/base-environments/transition/import/textures/garage_floor_rough_4k.exr.import +++ b/src/base-environments/transition/import/textures/garage_floor_rough_4k.exr.import @@ -14,6 +14,8 @@ source_file="res://base-environments/transition/import/textures/garage_floor_rou compress/mode=0 compress/high_quality=false compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 compress/hdr_compression=1 compress/normal_map=0 compress/channel_pack=0 @@ -21,6 +23,10 @@ mipmaps/generate=false mipmaps/limit=-1 roughness/mode=0 roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 process/fix_alpha_border=true process/premult_alpha=false process/normal_map_invert_y=false diff --git a/src/dev-util/settings_popup.gd b/src/dev-util/settings_popup.gd index 6215384..6bb4d2f 100644 --- a/src/dev-util/settings_popup.gd +++ b/src/dev-util/settings_popup.gd @@ -9,10 +9,12 @@ func show_settings(id: int = -1): await $AnimationPlayer.animation_finished if not id == -1: $TabContainer.current_tab = id - State.pass_stage_to($TabContainer) func vanish(): State.save_settings() $AnimationPlayer.play("vanish") await $AnimationPlayer.animation_finished get_parent_control().visible = false + +#func _input(event: InputEvent) -> void: +# print(event) \ No newline at end of file diff --git a/src/export_presets.cfg b/src/export_presets.cfg index f57cf44..6fb4ba2 100644 --- a/src/export_presets.cfg +++ b/src/export_presets.cfg @@ -58,7 +58,7 @@ export_filter="exclude" export_files=PackedStringArray("res://base-environments/volunteer_room/import/textures/beam_metal.tres", "res://base-environments/volunteer_room/import/textures/bing_bong.png", "res://base-environments/volunteer_room/import/textures/Carpet_A.tres", "res://base-environments/volunteer_room/import/textures/Carpet_A_Ends.tres", "res://base-environments/volunteer_room/import/textures/Chairs_A.tres", "res://base-environments/volunteer_room/import/textures/clay_floor_001_nor_gl_2k.png", "res://base-environments/volunteer_room/import/textures/clay_floor_001_rough_2k.jpg", "res://base-environments/volunteer_room/import/textures/CoffeeTable_01_metallic_2k.exr", "res://base-environments/volunteer_room/import/textures/coffe_table_albedo.jpg", "res://base-environments/volunteer_room/import/textures/coffe_table_MR.png", "res://base-environments/volunteer_room/import/textures/coffe_table_normal.png", "res://base-environments/volunteer_room/import/textures/door.001.tres", "res://base-environments/volunteer_room/import/textures/door.tres", "res://base-environments/volunteer_room/import/textures/gem-normal.png", "res://base-environments/volunteer_room/import/textures/Glass_Cupboard_A.tres", "res://base-environments/volunteer_room/import/textures/Glass_Oven_A.tres", "res://base-environments/volunteer_room/import/textures/kitchen_carpet_AlbedoR.png", "res://base-environments/volunteer_room/import/textures/kitchen_carpet_normal.png", "res://base-environments/volunteer_room/import/textures/kitchen_chairs_AlbedoR.png", "res://base-environments/volunteer_room/import/textures/kitchen_chairs_normal.png", "res://base-environments/volunteer_room/import/textures/Kitchen_Hardware.tres", "res://base-environments/volunteer_room/import/textures/kitchen_hardware_albedo.tga", "res://base-environments/volunteer_room/import/textures/kitchen_hardware_MRAO.png", "res://base-environments/volunteer_room/import/textures/kitchen_hardware_normal.tga", "res://base-environments/volunteer_room/import/textures/Kitchen_Machinery.tres", "res://base-environments/volunteer_room/import/textures/kitchen_machinery_albedo.png", "res://base-environments/volunteer_room/import/textures/kitchen_machinery_MRAO.png", "res://base-environments/volunteer_room/import/textures/kitchen_machinery_normal.png", "res://base-environments/volunteer_room/import/textures/kitchen_table_AlbedoR.png", "res://base-environments/volunteer_room/import/textures/kitchen_table_normal.png", "res://base-environments/volunteer_room/import/textures/kitchen_trims_albedo.png", "res://base-environments/volunteer_room/import/textures/kitchen_trims_MRAO.png", "res://base-environments/volunteer_room/import/textures/kitchen_trims_normal.png", "res://base-environments/volunteer_room/import/textures/lenolium_1_albedo.png", "res://base-environments/volunteer_room/import/textures/lenolium_2_albedo.png", "res://base-environments/volunteer_room/import/textures/lenonium.tres", "res://base-environments/volunteer_room/import/textures/metal.tres", "res://base-environments/volunteer_room/import/textures/painted_stool_MRAO.png", "res://base-environments/volunteer_room/import/textures/painted_wooden_stool_diff_2k.png", "res://base-environments/volunteer_room/import/textures/painted_wooden_stool_nor_gl_2k.png", "res://base-environments/volunteer_room/import/textures/radiator.tres", "res://base-environments/volunteer_room/import/textures/radiator_albedo.png", "res://base-environments/volunteer_room/import/textures/radiator_MRAO.png", "res://base-environments/volunteer_room/import/textures/radiator_normal.png", "res://base-environments/volunteer_room/import/textures/sculpture.tres", "res://base-environments/volunteer_room/import/textures/stickerbomb.png", "res://base-environments/volunteer_room/import/textures/Table_Kitchen_A.tres", "res://base-environments/volunteer_room/import/textures/Trims_Painted_A.tres", "res://base-environments/volunteer_room/import/textures/wallpaper.tres", "res://base-environments/volunteer_room/import/textures/window_glass.tres", "res://base-environments/volunteer_room/import/volunteer_room.glb", "res://base-environments/volunteer_room/import/volunteer_room_01 - Default_albedo.jpg", "res://base-environments/volunteer_room/import/volunteer_room_01 - Default_metallic-01 - Default_roughness.png", "res://base-environments/volunteer_room/import/volunteer_room_01 - Default_normal.png", "res://base-environments/volunteer_room/import/volunteer_room_bing_bong-gem-normal.png", "res://base-environments/volunteer_room/import/volunteer_room_bing_bong.png", "res://base-environments/volunteer_room/import/volunteer_room_Bricks085_2K-PNG_Color.png", "res://base-environments/volunteer_room/import/volunteer_room_Bricks085_2K-PNG_NormalGL.png", "res://base-environments/volunteer_room/import/volunteer_room_Bricks085_2K-PNG_Roughness.png", "res://base-environments/volunteer_room/import/volunteer_room_Carbords_Basecolor.png", "res://base-environments/volunteer_room/import/volunteer_room_Carbords_Normal.png", "res://base-environments/volunteer_room/import/volunteer_room_Carbords_Roughness.png", "res://base-environments/volunteer_room/import/volunteer_room_Carpet0044_5_norm.png", "res://base-environments/volunteer_room/import/volunteer_room_Carpet0044_5_S.png", "res://base-environments/volunteer_room/import/volunteer_room_CarpetFluffy_baseColor.jpg", "res://base-environments/volunteer_room/import/volunteer_room_CarpetFluffy_normal.png", "res://base-environments/volunteer_room/import/volunteer_room_Carpet_A_basecolor.png", "res://base-environments/volunteer_room/import/volunteer_room_Carpet_A_normal.png", "res://base-environments/volunteer_room/import/volunteer_room_Carpet_A_Roughness.png", "res://base-environments/volunteer_room/import/volunteer_room_CoffeeTable_01_diff_2k.jpg", "res://base-environments/volunteer_room/import/volunteer_room_CoffeeTable_01_metallic-CoffeeTable_01_roughness.png", "res://base-environments/volunteer_room/import/volunteer_room_CoffeeTable_01_nor_gl.png", "res://base-environments/volunteer_room/import/volunteer_room_cuplary_dirty_albedo.png", "res://base-environments/volunteer_room/import/volunteer_room_cuplary_dirty_metallic_rougness.png", "res://base-environments/volunteer_room/import/volunteer_room_cuplary_dirty_normal.png", "res://base-environments/volunteer_room/import/volunteer_room_Cuttingboard_A_basecolor.png", "res://base-environments/volunteer_room/import/volunteer_room_Cuttingboard_A_normal.png", "res://base-environments/volunteer_room/import/volunteer_room_Default_OBJ.png", "res://base-environments/volunteer_room/import/volunteer_room_Default_OBJ_71.png", "res://base-environments/volunteer_room/import/volunteer_room_Default_OBJ_72.png", "res://base-environments/volunteer_room/import/volunteer_room_Default_OBJ_84.png", "res://base-environments/volunteer_room/import/volunteer_room_Default_OBJ_85.png", "res://base-environments/volunteer_room/import/volunteer_room_desk-atlas-albedo.png", "res://base-environments/volunteer_room/import/volunteer_room_Details_Alphaclip_A_basecolor.png", "res://base-environments/volunteer_room/import/volunteer_room_Details_Alphaclip_A_normal.png", "res://base-environments/volunteer_room/import/volunteer_room_Details_Alphaclip_A_Roughness.png", "res://base-environments/volunteer_room/import/volunteer_room_Fabric008_2K_Color.png", "res://base-environments/volunteer_room/import/volunteer_room_Fabric008_2K_NormalGL.png", "res://base-environments/volunteer_room/import/volunteer_room_Fabric030_2K_Color.jpg", "res://base-environments/volunteer_room/import/volunteer_room_Fabric030_2K_NormalGL.jpg", "res://base-environments/volunteer_room/import/volunteer_room_Fabric050_2K_Color.png", "res://base-environments/volunteer_room/import/volunteer_room_Fabric050_2K_NormalGL.png", "res://base-environments/volunteer_room/import/volunteer_room_Fabric051_2K-PNG_Color.png", "res://base-environments/volunteer_room/import/volunteer_room_foss_game_atlas.png", "res://base-environments/volunteer_room/import/volunteer_room_foss_game_normals.png", "res://base-environments/volunteer_room/import/volunteer_room_foss_game_roughness.png", "res://base-environments/volunteer_room/import/volunteer_room_gem-normal.png", "res://base-environments/volunteer_room/import/volunteer_room_kitchen_chairs_AlbedoR.png", "res://base-environments/volunteer_room/import/volunteer_room_kitchen_chairs_AlbedoR_28.png", "res://base-environments/volunteer_room/import/volunteer_room_kitchen_chairs_AlbedoR_64.png", "res://base-environments/volunteer_room/import/volunteer_room_kitchen_chairs_normal.png", "res://base-environments/volunteer_room/import/volunteer_room_kitchen_hardware_albedo.png", "res://base-environments/volunteer_room/import/volunteer_room_kitchen_hardware_MRAO.png", "res://base-environments/volunteer_room/import/volunteer_room_kitchen_hardware_normal.png", "res://base-environments/volunteer_room/import/volunteer_room_kitchen_machinery_albedo.png", "res://base-environments/volunteer_room/import/volunteer_room_kitchen_machinery_MRAO.png", "res://base-environments/volunteer_room/import/volunteer_room_kitchen_machinery_normal.png", "res://base-environments/volunteer_room/import/volunteer_room_kitchen_table_AlbedoR.png", "res://base-environments/volunteer_room/import/volunteer_room_kitchen_table_AlbedoR_31.png", "res://base-environments/volunteer_room/import/volunteer_room_kitchen_table_normal.png", "res://base-environments/volunteer_room/import/volunteer_room_Knives_A_basecolor.png", "res://base-environments/volunteer_room/import/volunteer_room_Knives_A_Metallic-Knives_A_Roughness.png", "res://base-environments/volunteer_room/import/volunteer_room_Knives_A_normal.png", "res://base-environments/volunteer_room/import/volunteer_room_lamp_shade.png", "res://base-environments/volunteer_room/import/volunteer_room_laptop_albedo.png", "res://base-environments/volunteer_room/import/volunteer_room_laptop_metallic_roughness.png", "res://base-environments/volunteer_room/import/volunteer_room_laptop_normal.png", "res://base-environments/volunteer_room/import/volunteer_room_lenolium_1_albedo.png", "res://base-environments/volunteer_room/import/volunteer_room_LivingroomStuff_Basecolor.png", "res://base-environments/volunteer_room/import/volunteer_room_LivingroomStuff_Metallic-LivingroomStuff_Roughness.png", "res://base-environments/volunteer_room/import/volunteer_room_LivingroomStuff_Normal.png", "res://base-environments/volunteer_room/import/volunteer_room_Paper003_1K_Color.jpg", "res://base-environments/volunteer_room/import/volunteer_room_Paper003_1K_NormalGL.jpg", "res://base-environments/volunteer_room/import/volunteer_room_pattern_237_diffuse.png", "res://base-environments/volunteer_room/import/volunteer_room_posters.png", "res://base-environments/volunteer_room/import/volunteer_room_poster_normals.png", "res://base-environments/volunteer_room/import/volunteer_room_poster_roughness.png", "res://base-environments/volunteer_room/import/volunteer_room_radiator_albedo.png", "res://base-environments/volunteer_room/import/volunteer_room_radiator_MRAO.png", "res://base-environments/volunteer_room/import/volunteer_room_radiator_normal.png", "res://base-environments/volunteer_room/import/volunteer_room_red_plaster_weathered_rough_4k.png", "res://base-environments/volunteer_room/import/volunteer_room_Shelfs_Basecolor.png", "res://base-environments/volunteer_room/import/volunteer_room_Shelfs_Metallic-Shelfs_Roughness.png", "res://base-environments/volunteer_room/import/volunteer_room_Shelfs_Normal.png", "res://base-environments/volunteer_room/import/volunteer_room_ShoesDCHyde_baseColor.png", "res://base-environments/volunteer_room/import/volunteer_room_ShoesDCHyde_metallicRoughness.png", "res://base-environments/volunteer_room/import/volunteer_room_ShoesDCHyde_normal.png", "res://base-environments/volunteer_room/import/volunteer_room_ShoesDCKalisVulc_baseColor.png", "res://base-environments/volunteer_room/import/volunteer_room_ShoesDCKalisVulc_baseColor_68.png", "res://base-environments/volunteer_room/import/volunteer_room_ShoesDCKalisVulc_baseColor_81.png", "res://base-environments/volunteer_room/import/volunteer_room_ShoesDCKalisVulc_metallicRoughness.png", "res://base-environments/volunteer_room/import/volunteer_room_ShoesDCKalisVulc_metallicRoughness_69.png", "res://base-environments/volunteer_room/import/volunteer_room_ShoesDCKalisVulc_metallicRoughness_82.png", "res://base-environments/volunteer_room/import/volunteer_room_ShoesDCKalisVulc_normal.png", "res://base-environments/volunteer_room/import/volunteer_room_ShoesDCKalisVulc_normal_67.png", "res://base-environments/volunteer_room/import/volunteer_room_ShoesDCKalisVulc_normal_80.png", "res://base-environments/volunteer_room/import/volunteer_room_Sink_Kitchen_A_basecolor.png", "res://base-environments/volunteer_room/import/volunteer_room_Sink_Kitchen_A_Metallic-Sink_Kitchen_A_Roughness.png", "res://base-environments/volunteer_room/import/volunteer_room_Sink_Kitchen_A_Normal.png", "res://base-environments/volunteer_room/import/volunteer_room_sitting_fabric_albedo.png", "res://base-environments/volunteer_room/import/volunteer_room_sitting_fabric_normal.png", "res://base-environments/volunteer_room/import/volunteer_room_SofaAlb.png", "res://base-environments/volunteer_room/import/volunteer_room_SofaNorm.png", "res://base-environments/volunteer_room/import/volunteer_room_SofaRoug-.png", "res://base-environments/volunteer_room/import/volunteer_room_SofaSpec.png", "res://base-environments/volunteer_room/import/volunteer_room_Towels_A_basecolor.png", "res://base-environments/volunteer_room/import/volunteer_room_Towels_A_normal.png", "res://base-environments/volunteer_room/import/volunteer_room_Towels_A_Roughness.png", "res://base-environments/volunteer_room/import/volunteer_room_traffic_lights_fine_normal_combined.png", "res://base-environments/volunteer_room/import/volunteer_room_traffic_lights_roughness.png", "res://base-environments/volunteer_room/import/volunteer_room_weed_plant_02_diff_1k.jpg", "res://base-environments/volunteer_room/import/volunteer_room_weed_plant_02_nor_gl_1k.png", "res://base-environments/volunteer_room/import/volunteer_room_weed_plant_02_rough.png", "res://base-environments/volunteer_room/import/volunteer_room_Wood005_2K_Color.jpg", "res://base-environments/volunteer_room/import/volunteer_room_Wood005_2K_NormalDX.jpg", "res://base-environments/volunteer_room/import/volunteer_room_Wood083B_4K_Color.jpg", "res://base-environments/volunteer_room/import/volunteer_room_Wood083B_4K_NormalGL.jpg", "res://base-environments/volunteer_room/import/volunteer_room_Wood083B_4K_Roughness.png", "res://base-environments/volunteer_room/import/volunteer_room_Wooden_Basecolor.png", "res://base-environments/volunteer_room/import/volunteer_room_Wooden_Normal.png", "res://base-environments/volunteer_room/import/volunteer_room_Wooden_Roughness.png", "res://base-environments/volunteer_room/import/volunteer_room_yarn_albedo.png", "res://base-environments/volunteer_room/import/volunteer_room_yarn_emission_blurred.png", "res://base-environments/volunteer_room/import/volunteer_room_yarn_normal.png", "res://base-environments/volunteer_room/import/volunteer_room_yarn_rougness.png", "res://base-environments/volunteer_room/scenes/autism.tscn", "res://base-environments/volunteer_room/scenes/burnout.tscn", "res://base-environments/volunteer_room/scenes/eating_challenges.tscn", "res://base-environments/volunteer_room/scenes/self_advocacy.tscn", "res://base-environments/volunteer_room/scenes/therapy_uni.tscn", "res://base-environments/volunteer_room/scenes/trans.tscn", "res://base-environments/volunteer_room/scenes/trauma.tscn", "res://base-environments/volunteer_room/shaders/gem-artwork.gdshader", "res://base-environments/volunteer_room/sounds/burnout_Dmin_110bpm.ogg", "res://base-environments/volunteer_room/sounds/dnd_Fmaj_113bpm.ogg", "res://base-environments/volunteer_room/sounds/eatDisorder_Dmin_112bpm.ogg", "res://base-environments/volunteer_room/sounds/flashback_FmajToDmin_108bpm.ogg", "res://base-environments/volunteer_room/sounds/roomTheme_Fmaj_105bpm.ogg", "res://base-environments/volunteer_room/sounds/selfAd_Dmin_111bpm.ogg", "res://base-environments/volunteer_room/sounds/therapy_Fmaj_105bpm.ogg", "res://base-environments/volunteer_room/sounds/transitionDtoF_95bpm.ogg", "res://base-environments/volunteer_room/sounds/transitionFtoD_95bpm.ogg", "res://base-environments/volunteer_room/sounds/x-mas_Dmin_110bpm.ogg", "res://base-environments/volunteer_room/volunteer_room.tscn") include_filter="" exclude_filter="" -export_path="../../steam-sdk/tools/ContentBuilder/content/frame-of-mind-win64/frame-of-mind.exe" +export_path="./frame-of-mind.exe" patches=PackedStringArray() encryption_include_filters="" encryption_exclude_filters="" diff --git a/src/logic-scenes/board/card.gd b/src/logic-scenes/board/card.gd index 5ff030b..5057ff2 100644 --- a/src/logic-scenes/board/card.gd +++ b/src/logic-scenes/board/card.gd @@ -305,7 +305,7 @@ func remove_sticky_note() -> StickyNote: return former_child func exchange_sticky_note_with(new_note: StickyNote) -> StickyNote: - var tmp = remove_sticky_note() + var tmp := remove_sticky_note() attach_sticky_note(new_note) return tmp diff --git a/src/singletons/global_state.gd b/src/singletons/global_state.gd index 10e8ee0..df93f07 100644 --- a/src/singletons/global_state.gd +++ b/src/singletons/global_state.gd @@ -1,4 +1,4 @@ -extends Node +extends Node class_name GlobalState #region configuration @@ -150,7 +150,7 @@ var ssil_enable:bool = false: set(value): ssil_enable = value environment_settings_changed.emit() - + var sdfgi_enable:bool = false: set(value): sdfgi_enable = value @@ -265,31 +265,33 @@ var focus_locked: bool = false # Intented for use when an actor wants focus for itself, can reclaim focus, thus dropping the stack that focused. func take_stage(actor: Object, reclaim: bool = false) -> bool: - if focus_locked or Scenes.current_sequence != -1: return false - if reclaim: - stage_list.front().has_stage = false - if stage_list.has(actor): - while stage_list.pop_front() != actor: break - actor.has_stage = true - stage_list.push_front(actor) - return actor.has_stage - push_warning(actor, " wanted to reclaim focus, but was not on list.") - return pass_stage_to(actor) + print_debug("DEPRECATED: take_stage ", actor); + return false + #if focus_locked or Scenes.current_sequence != -1: return false + #if reclaim: + # stage_list.front().has_stage = false + # if stage_list.has(actor): + # while stage_list.pop_front() != actor: break + # actor.has_stage = true + # stage_list.push_front(actor) + # return actor.has_stage + # push_warning(actor, " wanted to reclaim focus, but was not on list.") + #return pass_stage_to(actor) # Element no longer wants focus, if Element itself is also dropped, this option can be chosen aswell. func leave_stage(actor:Object) -> bool: - - if stage_list[0] == actor: - actor.has_stage = false - focus_locked = false - stage_list.erase(actor) - - if stage_list != []: - stage_list.front().has_stage = true - else: - get_tree().quit() - + print_debug("DEPRECATED: leave_stage ", actor); return false + #if stage_list[0] == actor: + # actor.has_stage = false + # focus_locked = false + #stage_list.erase(actor) + + #if stage_list != []: + # stage_list.front().has_stage = true + #else: + # get_tree().quit() + #return false # Used to put a new target on top of the Focus Stack. func pass_stage_to(target:Object, force = false, lock_focus = false) -> bool: diff --git a/src/ui/menu_main/main_menu.gd b/src/ui/menu_main/main_menu.gd index de869ac..2f7ee3b 100644 --- a/src/ui/menu_main/main_menu.gd +++ b/src/ui/menu_main/main_menu.gd @@ -28,7 +28,7 @@ func execute() -> String: load_game_button.disabled = not save_game_handle.has_existing_saves() - save_game_handle.visible = save_game_handle.has_existing_saves() + #save_game_handle.visible = save_game_handle.has_existing_saves() _activate() var result = await _next_room @@ -73,13 +73,11 @@ func _choose(choice: String) -> void: func _activate() -> void: - save_game_handle.visible = false - for child: Control in $PanelContainer.get_children(): child.focus_mode = Control.FOCUS_ALL child.modulate = Color.WHITE child.mouse_filter = Control.MOUSE_FILTER_STOP - + if continue_button.visible: continue_button.grab_focus() else: @@ -87,8 +85,6 @@ func _activate() -> void: func _deactivate() -> void: - save_game_handle.visible = false - for child: Control in $PanelContainer.get_children(): child.focus_mode = FOCUS_NONE child.modulate = Color.WEB_GRAY diff --git a/src/ui/menu_main/main_menu.tscn b/src/ui/menu_main/main_menu.tscn index 7020452..9cc3696 100644 --- a/src/ui/menu_main/main_menu.tscn +++ b/src/ui/menu_main/main_menu.tscn @@ -1,258 +1,18 @@ -[gd_scene load_steps=22 format=3 uid="uid://b51wdql4mby47"] +[gd_scene load_steps=12 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" uid="uid://c3o65t2rwpbtn" path="res://ui/menu_main/main_menu.gd" id="2_rm576"] [ext_resource type="Texture2D" uid="uid://dedg31cqac3n0" path="res://import/interface-elements/frame-of-mind-logo.png" id="3_cm266"] -[ext_resource type="PackedScene" uid="uid://gmxenhavh1lp" path="res://ui/menu_main/video_settings.tscn" id="3_f0dcd"] [ext_resource type="Texture2D" uid="uid://bu6o68w763512" path="res://import/interface-elements/game-of-thoughts.png" id="4_g8g3n"] [ext_resource type="Script" uid="uid://cxton1pffwxk4" path="res://code/button_themer.gd" id="4_iotk1"] [ext_resource type="Script" uid="uid://sa15wakvpj2e" path="res://dev-util/bug_button.gd" id="4_j5v2v"] -[ext_resource type="Script" uid="uid://byiih47fi6740" path="res://dev-util/settings_popup.gd" id="4_k8jo0"] -[ext_resource type="PackedScene" uid="uid://dfhkfocy8axb8" path="res://ui/menu_main/audio_settings.tscn" id="4_o07mg"] [ext_resource type="Script" uid="uid://dqq0wq3dvbnjs" path="res://dev-util/i18n_texture_rect.gd" id="5_8u0te"] -[ext_resource type="Script" uid="uid://0tb763w0vfv7" path="res://tab_container.gd" id="5_lhfti"] -[ext_resource type="PackedScene" uid="uid://b3wlecqvelh22" path="res://ui/menu_main/accessibility_settings.tscn" id="6_875a3"] [ext_resource type="Texture2D" uid="uid://bv1o2xo71wvp6" path="res://import/interface-elements/gedanken-spiel.png" id="6_g8g3n"] -[ext_resource type="PackedScene" uid="uid://dxwqkxq6qjk7i" path="res://ui/menu_main/gameplay_settings.tscn" id="6_p7ypt"] -[ext_resource type="PackedScene" uid="uid://chal0ioagspx0" path="res://ui/menu_main/content_settings.tscn" id="7_pnd48"] -[ext_resource type="Script" uid="uid://dugfwcvp7i01k" path="res://ui/menu_main/save_game_list.gd" id="8_o0cpj"] +[ext_resource type="PackedScene" uid="uid://cvetdhqpr18ad" path="res://ui/settings_popup/settings_popup.tscn" id="9_vhfai"] +[ext_resource type="PackedScene" uid="uid://bsjc1ry0qpe61" path="res://ui/save_game_list/save_game_list.tscn" id="10_vhfai"] [sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_njt06"] -[sub_resource type="Animation" id="Animation_3pjwp"] -length = 0.001 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("../../Decoration/decoration:modulate") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Color(1, 1, 1, 0)] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("../../Decoration/decoration:rotation") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [1.26885] -} -tracks/2/type = "value" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("..:modulate") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Color(1, 1, 1, 0)] -} -tracks/3/type = "value" -tracks/3/imported = false -tracks/3/enabled = true -tracks/3/path = NodePath("../..:scale") -tracks/3/interp = 1 -tracks/3/loop_wrap = true -tracks/3/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(1, 0.57)] -} -tracks/4/type = "value" -tracks/4/imported = false -tracks/4/enabled = true -tracks/4/path = NodePath("../..:self_modulate") -tracks/4/interp = 1 -tracks/4/loop_wrap = true -tracks/4/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Color(1, 1, 1, 0)] -} -tracks/5/type = "value" -tracks/5/imported = false -tracks/5/enabled = true -tracks/5/path = NodePath("../..:visible") -tracks/5/interp = 1 -tracks/5/loop_wrap = true -tracks/5/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [false] -} - -[sub_resource type="Animation" id="Animation_i4c5w"] -resource_name = "reveal" -length = 2.0 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("../../Decoration/decoration:modulate") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0.4, 1.03333), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("../../Decoration/decoration:rotation") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0.0333333, 1.76667), -"transitions": PackedFloat32Array(0.353554, 1), -"update": 0, -"values": [0.610865, 0.347321] -} -tracks/2/type = "value" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("..:modulate") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"times": PackedFloat32Array(0.266667, 0.533333), -"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("../..:scale") -tracks/3/interp = 1 -tracks/3/loop_wrap = true -tracks/3/keys = { -"times": PackedFloat32Array(0, 0.866667), -"transitions": PackedFloat32Array(0.277392, 1), -"update": 0, -"values": [Vector2(1, 0.57), Vector2(1, 1)] -} -tracks/4/type = "value" -tracks/4/imported = false -tracks/4/enabled = true -tracks/4/path = NodePath("../..:self_modulate") -tracks/4/interp = 1 -tracks/4/loop_wrap = true -tracks/4/keys = { -"times": PackedFloat32Array(0, 1.03333), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)] -} -tracks/5/type = "value" -tracks/5/imported = false -tracks/5/enabled = true -tracks/5/path = NodePath("../..:visible") -tracks/5/interp = 1 -tracks/5/loop_wrap = true -tracks/5/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [true] -} - -[sub_resource type="Animation" id="Animation_a3iyq"] -resource_name = "vanish" -length = 1.5 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("../..:self_modulate") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0.333333, 0.633333), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("../..:scale") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(1, 1)] -} -tracks/2/type = "value" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("../../Decoration/decoration:modulate") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"times": PackedFloat32Array(0.133333, 1.46667), -"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("../../Decoration/decoration:rotation") -tracks/3/interp = 2 -tracks/3/loop_wrap = true -tracks/3/keys = { -"times": PackedFloat32Array(0, 0.266667, 1.43333), -"transitions": PackedFloat32Array(1, 2.21914, 1), -"update": 0, -"values": [0.347507, 0.174533, 1.03847] -} -tracks/4/type = "value" -tracks/4/imported = false -tracks/4/enabled = true -tracks/4/path = NodePath("..:modulate") -tracks/4/interp = 1 -tracks/4/loop_wrap = true -tracks/4/keys = { -"times": PackedFloat32Array(0.1, 0.433333), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [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("../..:visible") -tracks/5/interp = 1 -tracks/5/loop_wrap = true -tracks/5/keys = { -"times": PackedFloat32Array(0, 1.5), -"transitions": PackedFloat32Array(1, 1), -"update": 1, -"values": [true, false] -} - -[sub_resource type="AnimationLibrary" id="AnimationLibrary_lmxul"] -_data = { -&"RESET": SubResource("Animation_3pjwp"), -&"reveal": SubResource("Animation_i4c5w"), -&"vanish": SubResource("Animation_a3iyq") -} - [node name="MainMenu" type="Panel"] anchors_preset = 15 anchor_right = 1.0 @@ -369,92 +129,13 @@ grow_horizontal = 2 grow_vertical = 2 mouse_filter = 0 -[node name="SettingsPopup" type="PanelContainer" parent="SettingsContainer"] -unique_name_in_owner = true -visible = false -self_modulate = Color(1, 1, 1, 0) -layout_mode = 2 -script = ExtResource("4_k8jo0") - -[node name="AnimationPlayer" type="AnimationPlayer" parent="SettingsContainer/SettingsPopup"] -root_node = NodePath("../TabContainer/Video Settings") -libraries = { -&"": SubResource("AnimationLibrary_lmxul") -} -autoplay = "RESET" - -[node name="Decoration" type="Control" parent="SettingsContainer/SettingsPopup"] -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 4 - -[node name="decoration" type="PanelContainer" parent="SettingsContainer/SettingsPopup/Decoration"] -modulate = Color(1, 1, 1, 0) -layout_mode = 0 -offset_left = -374.0 -offset_top = -378.5 -offset_right = 365.0 -offset_bottom = 374.5 -grow_horizontal = 2 -grow_vertical = 2 -rotation = 1.26885 -pivot_offset = Vector2(374, 378.5) - -[node name="TabContainer" type="TabContainer" parent="SettingsContainer/SettingsPopup"] -modulate = Color(1, 1, 1, 0) -layout_mode = 2 -current_tab = 0 -use_hidden_tabs_for_min_size = true -script = ExtResource("5_lhfti") - -[node name="Accessibility" parent="SettingsContainer/SettingsPopup/TabContainer" instance=ExtResource("6_875a3")] +[node name="SettingsPopup" parent="SettingsContainer" instance=ExtResource("9_vhfai")] unique_name_in_owner = true layout_mode = 2 -[node name="Video Settings" parent="SettingsContainer/SettingsPopup/TabContainer" instance=ExtResource("3_f0dcd")] -unique_name_in_owner = true -visible = false -layout_mode = 2 -metadata/_tab_index = 1 - -[node name="Audio Settings" parent="SettingsContainer/SettingsPopup/TabContainer" instance=ExtResource("4_o07mg")] -unique_name_in_owner = true -visible = false -layout_mode = 2 -metadata/_tab_index = 2 - -[node name="Gameplay Settings" parent="SettingsContainer/SettingsPopup/TabContainer" instance=ExtResource("6_p7ypt")] -unique_name_in_owner = true -visible = false -layout_mode = 2 -metadata/_tab_index = 3 - -[node name="Content Notes" parent="SettingsContainer/SettingsPopup/TabContainer" instance=ExtResource("7_pnd48")] -unique_name_in_owner = true -visible = false -layout_mode = 2 -metadata/_tab_index = 4 - -[node name="ColorRect" type="ColorRect" parent="."] -layout_mode = 1 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 -color = Color(0, 0, 0, 0.5019608) - -[node name="SaveGameList" type="CenterContainer" parent="ColorRect"] +[node name="SaveGameList" parent="." instance=ExtResource("10_vhfai")] 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 -mouse_filter = 2 -script = ExtResource("8_o0cpj") -metadata/_custom_type_script = "uid://dugfwcvp7i01k" [node name="CenterContainer" type="CenterContainer" parent="."] visible = false diff --git a/src/ui/menu_main/save_game_list.gd b/src/ui/menu_main/save_game_list.gd index 6db0f84..966afb3 100644 --- a/src/ui/menu_main/save_game_list.gd +++ b/src/ui/menu_main/save_game_list.gd @@ -1,4 +1,4 @@ -class_name SaveGameList extends CenterContainer +class_name SaveGameList extends Control signal _picked(save_game: SaveGame) @@ -7,7 +7,8 @@ var save_buttons: Array[SaveGameDisplay] @export var update_display: bool: set(value): _load_games() -var scroll_container: ScrollContainer + +@onready var list_container: VBoxContainer = %ListContainer func _validate_property(property: Dictionary) -> void: if property.name == "saves": @@ -15,8 +16,9 @@ func _validate_property(property: Dictionary) -> void: func _ready() -> void: - _close() _load_games() + hide() + set_process_input(false) func _ensure_directory() -> void: var dir := DirAccess.open(State.user_saves_path) @@ -56,18 +58,12 @@ func _sort_saves() -> void: func _rebuild_buttons() -> void: save_buttons = [] - if scroll_container != null: - scroll_container.queue_free() - - scroll_container = ScrollContainer.new() - - scroll_container.horizontal_scroll_mode = ScrollContainer.SCROLL_MODE_DISABLED - scroll_container.custom_minimum_size = Vector2(0, ProjectSettings.get_setting("display/window/size/viewport_height") - 256) - add_child(scroll_container) + for child in list_container.get_children(): + child.queue_free() var save_box := VBoxContainer.new() save_box.add_theme_constant_override("separation", 16) - scroll_container.add_child(save_box) + list_container.add_child(save_box) for i in range(saves.size()): var new_button := SaveGameDisplay.new(saves[i], i+1) @@ -96,26 +92,24 @@ func cancel()->void: # This function is called when the user us supposed to choose a slot to load or create a new game. func pick_save_slot() -> SaveGame: - await _open() + await open() var result = await _picked - await _close() + await close() return result - + # TODO: ugh, godot tweens are the wurst -func _open() -> void: - get_parent_control().show() +func open() -> void: + show() + set_process_input(true) save_buttons[0].grab_focus() modulate = Color.TRANSPARENT - visible = true var tween := get_tree().create_tween() tween.tween_property(self, "modulate", Color.WHITE, 0.5) await tween.finished - set_process_input(true) - -func _close() -> void: + +func close() -> void: set_process_input(false) var tween := get_tree().create_tween() tween.tween_property(self, "modulate", Color.TRANSPARENT, 0.5) await tween.finished - visible = false - get_parent_control().hide() + hide() diff --git a/src/ui/menu_main/video_settings.gd b/src/ui/menu_main/video_settings.gd index 43bf480..17d1d91 100644 --- a/src/ui/menu_main/video_settings.gd +++ b/src/ui/menu_main/video_settings.gd @@ -47,7 +47,7 @@ var has_stage:bool = false: var fps_enabled: bool: set(value): fps_enabled = value - + @onready var fps_selector: SpinBox = %MaxFps @export var enable_hdr: bool = false: @@ -93,9 +93,9 @@ var has_changed: bool = false: func _ready() -> void: load_settings() - + propagate_settings() - + fullscreen_selector.item_selected.connect(func(value): window_mode = select_id_to_window_mode(value)) scale_selector.value_changed.connect(func(value): render_scale = value) upscale_selector.item_selected.connect(func(value): upscale_mode = value) @@ -103,15 +103,15 @@ func _ready() -> void: shadow_selector.item_selected.connect(func(value): shadow_quality = value) msaa_selector.item_selected.connect(func(value): msaa = value) vsync_selector.item_selected.connect(func(value): vsync_mode = value) - + scale_selector.value_changed.connect(func(value): render_scale= value) fps_selector.value_changed.connect(func(value): max_fps = value) fps_enabler.toggled.connect(func(value): fps_enabled = value) - + changed.connect(func(): has_changed = true) - + preset_selected = preset_selected - + %ConfirmButton.pressed.connect(_on_confirm_button_pressed) %ExitButton.pressed.connect(_on_exit_button_pressed) %ConfirmExit.pressed.connect(_on_exit_confirmed) @@ -122,17 +122,17 @@ func _ready() -> void: %QualityPreset.pressed.connect(_on_quality_preset_pressed) func load_settings(): - + if FileAccess.file_exists(settings_path): var file = FileAccess.open(settings_path, FileAccess.READ) var raw_json = FileAccess.get_file_as_string(settings_path) file.close() var parsed: Dictionary = JSON.parse_string(raw_json) - + for key in parsed.keys(): if key in self: set(key, parsed[key]) - + else: if Steam.isSteamRunningOnSteamDeck(): _on_performance_preset_pressed() @@ -165,18 +165,18 @@ func save_settings(): "vsync_mod": vsync_mode, "preset_selected": preset_selected } - - + + var file = FileAccess.open(settings_path, FileAccess.WRITE) file.store_string(JSON.stringify(out_dict)) file.close() - + has_changed = false func _on_exit_confirmed() -> void: leave_stage.emit() State.leave_stage(self) - + func _on_exit_button_pressed() -> void: if has_changed: $Popup.show() @@ -197,7 +197,7 @@ func _on_confirm_button_pressed() -> void: 0: State.ssil_enable = false State.sdfgi_enable = false - 1: + 1: State.ssil_enable = false State.sdfgi_enable = true ProjectSettings.set_setting("rendering/global_illumination/sdfgi/probe_ray_count", 8) @@ -218,16 +218,16 @@ func _on_confirm_button_pressed() -> void: RenderingServer.directional_soft_shadow_filter_set_quality(shadow_quality*2+1) ProjectSettings.set_setting("rendering/lights_and_shadows/directional_shadow/soft_shadow_filter_quality", shadow_quality) RenderingServer.positional_soft_shadow_filter_set_quality(shadow_quality*2+1) - + ProjectSettings.set_setting("rendering/anti_aliasing/quality/msaa_3d", msaa) ProjectSettings.set_setting("display/window/vsync/vsync_mode", vsync_mode) - + save_settings() func _on_performance_preset_pressed() -> void: ignore_changes = true has_changed = true - + render_scale = 0.8 max_fps = 60 fps_enabled = true @@ -235,18 +235,18 @@ func _on_performance_preset_pressed() -> void: shadow_quality = 0 msaa = 0 vsync_mode = DisplayServer.VSyncMode.VSYNC_DISABLED - + propagate_settings() - + changed.emit() ignore_changes = false - + preset_selected = 1 func _on_balanced_preset_pressed() -> void: ignore_changes = true has_changed = true - + render_scale = 1 max_fps = 60 fps_enabled = true @@ -254,18 +254,18 @@ func _on_balanced_preset_pressed() -> void: shadow_quality = 1 msaa = 1 vsync_mode = DisplayServer.VSyncMode.VSYNC_ENABLED - + propagate_settings() - + changed.emit() ignore_changes = false - + preset_selected = 2 func _on_quality_preset_pressed() -> void: ignore_changes = true has_changed = true - + render_scale = 1 max_fps = 60 fps_enabled = false @@ -273,12 +273,12 @@ func _on_quality_preset_pressed() -> void: shadow_quality = 2 msaa = 3 vsync_mode = DisplayServer.VSyncMode.VSYNC_ENABLED - + propagate_settings() - + changed.emit() ignore_changes = false - + preset_selected = 3 func window_mode_to_select_id(mode: DisplayServer.WindowMode) -> int: diff --git a/src/ui/save_game_list/save_game_list.tscn b/src/ui/save_game_list/save_game_list.tscn new file mode 100644 index 0000000..55c0b27 --- /dev/null +++ b/src/ui/save_game_list/save_game_list.tscn @@ -0,0 +1,63 @@ +[gd_scene load_steps=2 format=3 uid="uid://bsjc1ry0qpe61"] + +[ext_resource type="Script" uid="uid://dugfwcvp7i01k" path="res://ui/menu_main/save_game_list.gd" id="1_w1a7u"] + +[node name="SaveGameList" type="Control"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +mouse_force_pass_scroll_events = false +script = ExtResource("1_w1a7u") + +[node name="ColorRect" type="ColorRect" parent="."] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +color = Color(0, 0, 0, 0.5019608) + +[node name="MarginContainer" type="MarginContainer" parent="."] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_constants/margin_left = 320 +theme_override_constants/margin_top = 100 +theme_override_constants/margin_right = 320 +theme_override_constants/margin_bottom = 100 + +[node name="ColorRect" type="ColorRect" parent="MarginContainer"] +layout_mode = 2 +color = Color(0, 0, 0, 0.2509804) + +[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer"] +layout_mode = 2 + +[node name="ScrollContainer" type="ScrollContainer" parent="MarginContainer/VBoxContainer"] +layout_mode = 2 +size_flags_vertical = 3 +follow_focus = true + +[node name="ListContainer" type="VBoxContainer" parent="MarginContainer/VBoxContainer/ScrollContainer"] +unique_name_in_owner = true +clip_contents = true +layout_mode = 2 +size_flags_horizontal = 6 +size_flags_vertical = 3 + +[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer/VBoxContainer"] +layout_mode = 2 +alignment = 2 + +[node name="Button" type="Button" parent="MarginContainer/VBoxContainer/HBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 4 +text = "Zurück" diff --git a/src/ui/settings_popup/settings_popup.tscn b/src/ui/settings_popup/settings_popup.tscn new file mode 100644 index 0000000..ae4c286 --- /dev/null +++ b/src/ui/settings_popup/settings_popup.tscn @@ -0,0 +1,307 @@ +[gd_scene load_steps=12 format=3 uid="uid://cvetdhqpr18ad"] + +[ext_resource type="Script" uid="uid://byiih47fi6740" path="res://dev-util/settings_popup.gd" id="1_87f5w"] +[ext_resource type="Script" uid="uid://0tb763w0vfv7" path="res://tab_container.gd" id="2_3fpo3"] +[ext_resource type="PackedScene" uid="uid://b3wlecqvelh22" path="res://ui/menu_main/accessibility_settings.tscn" id="3_x8md3"] +[ext_resource type="PackedScene" uid="uid://gmxenhavh1lp" path="res://ui/menu_main/video_settings.tscn" id="4_vsgh1"] +[ext_resource type="PackedScene" uid="uid://dfhkfocy8axb8" path="res://ui/menu_main/audio_settings.tscn" id="5_kaera"] +[ext_resource type="PackedScene" uid="uid://dxwqkxq6qjk7i" path="res://ui/menu_main/gameplay_settings.tscn" id="6_e4y1h"] +[ext_resource type="PackedScene" uid="uid://chal0ioagspx0" path="res://ui/menu_main/content_settings.tscn" id="7_5phyg"] + +[sub_resource type="Animation" id="Animation_3pjwp"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("../../Decoration/decoration:modulate") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 0)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("../../Decoration/decoration:rotation") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [1.26885] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("..:modulate") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 0)] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("../..:scale") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(1, 0.57)] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("../..:self_modulate") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 0)] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("../..:visible") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} + +[sub_resource type="Animation" id="Animation_i4c5w"] +resource_name = "reveal" +length = 2.0 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("../../Decoration/decoration:modulate") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0.4, 1.03333), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("../../Decoration/decoration:rotation") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0.0333333, 1.76667), +"transitions": PackedFloat32Array(0.353554, 1), +"update": 0, +"values": [0.610865, 0.347321] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("..:modulate") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0.266667, 0.533333), +"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("../..:scale") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 0.866667), +"transitions": PackedFloat32Array(0.277392, 1), +"update": 0, +"values": [Vector2(1, 0.57), Vector2(1, 1)] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("../..:self_modulate") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0, 1.03333), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("../..:visible") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} + +[sub_resource type="Animation" id="Animation_a3iyq"] +resource_name = "vanish" +length = 1.5 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("../..:self_modulate") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0.333333, 0.633333), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("../..:scale") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(1, 1)] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("../../Decoration/decoration:modulate") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0.133333, 1.46667), +"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("../../Decoration/decoration:rotation") +tracks/3/interp = 2 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 0.266667, 1.43333), +"transitions": PackedFloat32Array(1, 2.21914, 1), +"update": 0, +"values": [0.347507, 0.174533, 1.03847] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("..:modulate") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0.1, 0.433333), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [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("../..:visible") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0, 1.5), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [true, false] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_lmxul"] +_data = { +&"RESET": SubResource("Animation_3pjwp"), +&"reveal": SubResource("Animation_i4c5w"), +&"vanish": SubResource("Animation_a3iyq") +} + +[node name="SettingsPopup" type="PanelContainer"] +visible = false +self_modulate = Color(1, 1, 1, 0) +script = ExtResource("1_87f5w") + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +root_node = NodePath("../TabContainer/Video Settings") +libraries = { +&"": SubResource("AnimationLibrary_lmxul") +} +autoplay = "RESET" + +[node name="Decoration" type="Control" parent="."] +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 4 + +[node name="decoration" type="PanelContainer" parent="Decoration"] +modulate = Color(1, 1, 1, 0) +layout_mode = 0 +offset_left = -374.0 +offset_top = -378.5 +offset_right = 365.0 +offset_bottom = 374.5 +grow_horizontal = 2 +grow_vertical = 2 +rotation = 1.26885 +pivot_offset = Vector2(374, 378.5) + +[node name="TabContainer" type="TabContainer" parent="."] +modulate = Color(1, 1, 1, 0) +layout_mode = 2 +current_tab = 0 +use_hidden_tabs_for_min_size = true +script = ExtResource("2_3fpo3") + +[node name="Accessibility" parent="TabContainer" instance=ExtResource("3_x8md3")] +unique_name_in_owner = true +layout_mode = 2 + +[node name="Video Settings" parent="TabContainer" instance=ExtResource("4_vsgh1")] +unique_name_in_owner = true +visible = false +layout_mode = 2 +metadata/_tab_index = 1 + +[node name="Audio Settings" parent="TabContainer" instance=ExtResource("5_kaera")] +unique_name_in_owner = true +visible = false +layout_mode = 2 +metadata/_tab_index = 2 + +[node name="Gameplay Settings" parent="TabContainer" instance=ExtResource("6_e4y1h")] +unique_name_in_owner = true +visible = false +layout_mode = 2 +metadata/_tab_index = 3 + +[node name="Content Notes" parent="TabContainer" instance=ExtResource("7_5phyg")] +unique_name_in_owner = true +visible = false +layout_mode = 2 +metadata/_tab_index = 4