From f7acce772fe6337b8004b7877321322a92a237c9 Mon Sep 17 00:00:00 2001 From: Rob Kelly Date: Mon, 16 Dec 2024 17:17:52 -0700 Subject: [PATCH] Basic title screen --- assets/fonts/Geo/Geo-Italic.ttf.import | 2 +- assets/fonts/Geo/Geo-Regular.ttf.import | 2 +- assets/logo/subtitle.png.import | 34 + assets/logo/title.png.import | 34 + assets/logo/title_full.png.import | 34 + assets/text/text.csv | 17 + project.godot | 1 + src/game/game.gd | 9 - src/game/game_runtime.gd | 11 + src/ui/main_theme.tres | 4 + src/ui/menus/title_screen/title_screen.gd | 54 + src/ui/menus/title_screen/title_screen.tscn | 1424 ++++++++++++++++- .../shot_hud/ball_selector/ball_selector.tscn | 2 +- 13 files changed, 1615 insertions(+), 13 deletions(-) create mode 100644 assets/logo/subtitle.png.import create mode 100644 assets/logo/title.png.import create mode 100644 assets/logo/title_full.png.import create mode 100644 src/game/game_runtime.gd create mode 100644 src/ui/menus/title_screen/title_screen.gd diff --git a/assets/fonts/Geo/Geo-Italic.ttf.import b/assets/fonts/Geo/Geo-Italic.ttf.import index 86ba2d4..a7aa74c 100644 --- a/assets/fonts/Geo/Geo-Italic.ttf.import +++ b/assets/fonts/Geo/Geo-Italic.ttf.import @@ -25,7 +25,7 @@ hinting=1 subpixel_positioning=1 oversampling=0.0 Fallbacks=null -fallbacks=[] +fallbacks=[Resource("res://assets/fonts/promptfont/promptfont.otf")] Compress=null compress=true preload=[] diff --git a/assets/fonts/Geo/Geo-Regular.ttf.import b/assets/fonts/Geo/Geo-Regular.ttf.import index 80ba03a..4526b80 100644 --- a/assets/fonts/Geo/Geo-Regular.ttf.import +++ b/assets/fonts/Geo/Geo-Regular.ttf.import @@ -25,7 +25,7 @@ hinting=1 subpixel_positioning=1 oversampling=0.0 Fallbacks=null -fallbacks=[] +fallbacks=[Resource("res://assets/fonts/promptfont/promptfont.otf")] Compress=null compress=true preload=[] diff --git a/assets/logo/subtitle.png.import b/assets/logo/subtitle.png.import new file mode 100644 index 0000000..e4a1ea7 --- /dev/null +++ b/assets/logo/subtitle.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://clesl8lljs6of" +path="res://.godot/imported/subtitle.png-c337aafe5885358fb0ffc36ef2953f5b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/logo/subtitle.png" +dest_files=["res://.godot/imported/subtitle.png-c337aafe5885358fb0ffc36ef2953f5b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/logo/title.png.import b/assets/logo/title.png.import new file mode 100644 index 0000000..505685a --- /dev/null +++ b/assets/logo/title.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://880x5n8j3b5l" +path="res://.godot/imported/title.png-774088d389fa729175f3ae1a98440e19.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/logo/title.png" +dest_files=["res://.godot/imported/title.png-774088d389fa729175f3ae1a98440e19.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/logo/title_full.png.import b/assets/logo/title_full.png.import new file mode 100644 index 0000000..2523bbd --- /dev/null +++ b/assets/logo/title_full.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dgoie75rgayew" +path="res://.godot/imported/title_full.png-ed2553ec8464e1717dc08430fa286164.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/logo/title_full.png" +dest_files=["res://.godot/imported/title_full.png-ed2553ec8464e1717dc08430fa286164.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/text/text.csv b/assets/text/text.csv index 4ce5cc3..4967502 100644 --- a/assets/text/text.csv +++ b/assets/text/text.csv @@ -5,8 +5,25 @@ UI_CANCEL,Cancel UI_ACCEPT,Accept UI_ON,On UI_OFF,Off +UI_BACK,"⏎ Back" UI_GOAL,Goal! , +TITLE_START,"- Press Start -" +TITLE_SINGLE_PLAYER,"Single Player" +TITLE_STORY,"World Tour" +TITLE_SERIES,Series +TITLE_ROGUELIKE,Campaign +TITLE_PRACTICE,Practice +TITLE_MULTI_PLAYER,Multiplayer +TITLE_DEATHMATCH,"Real GFOLF" +TITLE_VS_SERIES,"Death Run" +TITLE_BATTLE_ROYALE,"GFOLF Royale" +TITLE_LOCAL_MULTI,"Local Multiplayer" +TITLE_NETWORK_MULTI,"Online Multiplayer" +TITLE_PROFILE,Profile +TITLE_CREDITS,Credits +, +, PAUSE_HEADING,Paused PAUSE_RESUME,Resume PAUSE_SETTINGS,Settings diff --git a/project.godot b/project.godot index 730f789..e97497e 100644 --- a/project.godot +++ b/project.godot @@ -19,6 +19,7 @@ run/max_fps=60 [autoload] +GameRuntime="*res://src/game/game_runtime.gd" ClubCatalog="*res://src/equipment/clubs/club_catalog.tscn" GameSettings="*res://src/game/game_settings.gd" diff --git a/src/game/game.gd b/src/game/game.gd index e8f3d55..d248b3b 100644 --- a/src/game/game.gd +++ b/src/game/game.gd @@ -102,12 +102,3 @@ func _process(_delta: float) -> void: if not _loading_resources and loading_screen.visible: loader_transition.play("fade_out") - - -func _notification(what: int) -> void: - if what == NOTIFICATION_WM_CLOSE_REQUEST: - # Handle close request here - # TODO: save? - get_tree().quit() - elif what == NOTIFICATION_CRASH: - print_debug("CRASHING!") diff --git a/src/game/game_runtime.gd b/src/game/game_runtime.gd new file mode 100644 index 0000000..ada00fb --- /dev/null +++ b/src/game/game_runtime.gd @@ -0,0 +1,11 @@ +class_name GameRuntimeType extends Node +## Autoloaded runtime manager + + +func _notification(what: int) -> void: + if what == NOTIFICATION_WM_CLOSE_REQUEST: + # Handle close request here + # TODO: save? + get_tree().quit() + elif what == NOTIFICATION_CRASH: + print_debug("CRASHING!") diff --git a/src/ui/main_theme.tres b/src/ui/main_theme.tres index 5be5e9f..c5e31cb 100644 --- a/src/ui/main_theme.tres +++ b/src/ui/main_theme.tres @@ -137,5 +137,9 @@ ShotFeedback/constants/shadow_offset_x = 6 ShotFeedback/constants/shadow_offset_y = 4 ShotFeedback/font_sizes/normal_font_size = 272 ShotFeedback/fonts/normal_font = ExtResource("1_eha6a") +TitleScreenMenuLabel/base_type = &"Label" +TitleScreenMenuLabel/colors/font_outline_color = Color(0, 0, 0, 1) +TitleScreenMenuLabel/constants/outline_size = 6 +TitleScreenMenuLabel/font_sizes/font_size = 32 UIButton/base_type = &"Button" UIButton/styles/normal = SubResource("StyleBoxFlat_ynsl8") diff --git a/src/ui/menus/title_screen/title_screen.gd b/src/ui/menus/title_screen/title_screen.gd new file mode 100644 index 0000000..6391200 --- /dev/null +++ b/src/ui/menus/title_screen/title_screen.gd @@ -0,0 +1,54 @@ +extends Control + +@export var settings_scene: PackedScene + +@onready var menu: Control = %Menu +@onready var settings_container: MarginContainer = %SettingsContainer + +@onready var state_machine: AnimationTree = $Menu/MenuStateMachine +@onready var menu_state: AnimationNodeStateMachinePlayback = state_machine["parameters/playback"] + + +func _input(event: InputEvent) -> void: + if event is InputEventKey or event is InputEventJoypadButton or event is InputEventMouseButton: + if menu_state.get_current_node() in ["press_start_fade_in", "press_start_idle"]: + _to_main_menu() + + +func _unhide() -> void: + menu.show() + + +func _hide() -> void: + menu.hide() + + +func _to_main_menu() -> void: + menu_state.travel("main_idle") + + +func _to_single_player() -> void: + menu_state.travel("single_player_idle") + + +func _to_multi_player() -> void: + menu_state.travel("multi_player_idle") + + +func _to_local_multi() -> void: + menu_state.travel("local_idle") + + +func _to_network_multi() -> void: + menu_state.travel("network_idle") + + +func _on_quit() -> void: + get_tree().root.propagate_notification(NOTIFICATION_WM_CLOSE_REQUEST) + + +func _open_settings() -> void: + var instance: Control = settings_scene.instantiate() + settings_container.add_child(instance) + instance.tree_exited.connect(_unhide) + _hide() diff --git a/src/ui/menus/title_screen/title_screen.tscn b/src/ui/menus/title_screen/title_screen.tscn index cda0353..910ee7c 100644 --- a/src/ui/menus/title_screen/title_screen.tscn +++ b/src/ui/menus/title_screen/title_screen.tscn @@ -1,4 +1,1144 @@ -[gd_scene format=3 uid="uid://7fsgocmdas7i"] +[gd_scene load_steps=62 format=3 uid="uid://7fsgocmdas7i"] + +[ext_resource type="Script" path="res://src/ui/menus/title_screen/title_screen.gd" id="1_2qtlb"] +[ext_resource type="Texture2D" uid="uid://880x5n8j3b5l" path="res://assets/logo/title.png" id="1_pm82i"] +[ext_resource type="PackedScene" uid="uid://d3eaqw2rdurct" path="res://src/ui/menus/settings_menu/settings_menu.tscn" id="2_g5q2v"] +[ext_resource type="Texture2D" uid="uid://clesl8lljs6of" path="res://assets/logo/subtitle.png" id="2_y0ulk"] + +[sub_resource type="Animation" id="Animation_ptiak"] +resource_name = "show" +length = 2.0 + +[sub_resource type="Animation" id="Animation_fths4"] +length = 0.001 + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_a8te0"] +_data = { +"RESET": SubResource("Animation_fths4"), +"show": SubResource("Animation_ptiak") +} + +[sub_resource type="Animation" id="Animation_55hm2"] +resource_name = "fade_out" +length = 0.6 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:modulate") +tracks/0/interp = 2 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.0666667, 0.133333, 0.2, 0.266667, 0.333333, 0.4, 0.466667, 0.533333, 0.6), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1), +"update": 0, +"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0), Color(1, 1, 1, 1), Color(1, 1, 1, 0), Color(1, 1, 1, 0.5), Color(1, 1, 1, 0), Color(1, 1, 1, 0.25), Color(1, 1, 1, 0), Color(1, 1, 1, 0.125), Color(1, 1, 1, 0)] +} +tracks/1/type = "method" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("../../..") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0.6), +"transitions": PackedFloat32Array(1), +"values": [{ +"args": [], +"method": &"_on_quit" +}] +} + +[sub_resource type="Animation" id="Animation_h42sh"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".: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, 1)] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_cgw58"] +_data = { +"RESET": SubResource("Animation_h42sh"), +"fade_out": SubResource("Animation_55hm2") +} + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_mak8k"] +animation = &"local_idle" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ierxo"] +animation = &"multi_to_local" +play_mode = 1 + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_jlvld"] +animation = &"main_idle" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_llncl"] +animation = &"main_to_multi_player" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_hpbmu"] +animation = &"main_to_single_player" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_wugpj"] +animation = &"multi_player_idle" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_or480"] +animation = &"main_to_multi_player" +play_mode = 1 + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_tlvbg"] +animation = &"multi_to_local" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_7d7hg"] +animation = &"multi_to_network" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_h20ej"] +animation = &"network_idle" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_q2s7e"] +animation = &"multi_to_network" +play_mode = 1 + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_xl7to"] +animation = &"press_start_fade_in" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_5lvhs"] +animation = &"press_start_idle" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_xm5t4"] +animation = &"press_start_to_main" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_71873"] +animation = &"single_player_idle" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_k701l"] +animation = &"main_to_single_player" +play_mode = 1 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qnobx"] +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_53b8j"] +switch_mode = 2 +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_0gplt"] +xfade_time = 0.1 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_swhvi"] +switch_mode = 2 +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_3jlkb"] + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_k1ui3"] +switch_mode = 2 +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_o7lx8"] + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_g25pk"] +switch_mode = 2 +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_e3j5v"] + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_orr1h"] +switch_mode = 2 +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_0j6ll"] + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_tf3sp"] +switch_mode = 2 +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_rrgko"] + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ub4la"] +switch_mode = 2 +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ogcm6"] + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_tv5rn"] +switch_mode = 2 +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_rhmua"] + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_x6nio"] +switch_mode = 2 +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_0tvn5"] + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_lejxi"] +switch_mode = 2 +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_p18ah"] +states/End/position = Vector2(172, 100) +states/Start/position = Vector2(5, 100) +states/local_idle/node = SubResource("AnimationNodeAnimation_mak8k") +states/local_idle/position = Vector2(519, 713) +states/local_to_multi/node = SubResource("AnimationNodeAnimation_ierxo") +states/local_to_multi/position = Vector2(519, 785) +states/main_idle/node = SubResource("AnimationNodeAnimation_jlvld") +states/main_idle/position = Vector2(5, 401) +states/main_to_multi_player/node = SubResource("AnimationNodeAnimation_llncl") +states/main_to_multi_player/position = Vector2(280, 482) +states/main_to_single_player/node = SubResource("AnimationNodeAnimation_hpbmu") +states/main_to_single_player/position = Vector2(-262, 482) +states/multi_player_idle/node = SubResource("AnimationNodeAnimation_wugpj") +states/multi_player_idle/position = Vector2(280, 563) +states/multi_player_to_main/node = SubResource("AnimationNodeAnimation_or480") +states/multi_player_to_main/position = Vector2(280, 638) +states/multi_to_local/node = SubResource("AnimationNodeAnimation_tlvbg") +states/multi_to_local/position = Vector2(519, 638) +states/multi_to_network/node = SubResource("AnimationNodeAnimation_7d7hg") +states/multi_to_network/position = Vector2(31, 638) +states/network_idle/node = SubResource("AnimationNodeAnimation_h20ej") +states/network_idle/position = Vector2(31, 713) +states/network_to_multi/node = SubResource("AnimationNodeAnimation_q2s7e") +states/network_to_multi/position = Vector2(31, 785) +states/press_start_fade_in/node = SubResource("AnimationNodeAnimation_xl7to") +states/press_start_fade_in/position = Vector2(5, 178) +states/press_start_idle/node = SubResource("AnimationNodeAnimation_5lvhs") +states/press_start_idle/position = Vector2(5, 251) +states/press_start_to_main/node = SubResource("AnimationNodeAnimation_xm5t4") +states/press_start_to_main/position = Vector2(5, 327) +states/single_player_idle/node = SubResource("AnimationNodeAnimation_71873") +states/single_player_idle/position = Vector2(-262, 563) +states/single_player_to_main/node = SubResource("AnimationNodeAnimation_k701l") +states/single_player_to_main/position = Vector2(-262, 638) +transitions = ["Start", "press_start_fade_in", SubResource("AnimationNodeStateMachineTransition_qnobx"), "press_start_fade_in", "press_start_idle", SubResource("AnimationNodeStateMachineTransition_53b8j"), "press_start_idle", "press_start_to_main", SubResource("AnimationNodeStateMachineTransition_0gplt"), "press_start_to_main", "main_idle", SubResource("AnimationNodeStateMachineTransition_swhvi"), "main_idle", "main_to_single_player", SubResource("AnimationNodeStateMachineTransition_3jlkb"), "main_to_single_player", "single_player_idle", SubResource("AnimationNodeStateMachineTransition_k1ui3"), "single_player_idle", "single_player_to_main", SubResource("AnimationNodeStateMachineTransition_o7lx8"), "single_player_to_main", "main_idle", SubResource("AnimationNodeStateMachineTransition_g25pk"), "main_idle", "main_to_multi_player", SubResource("AnimationNodeStateMachineTransition_e3j5v"), "main_to_multi_player", "multi_player_idle", SubResource("AnimationNodeStateMachineTransition_orr1h"), "multi_player_idle", "multi_player_to_main", SubResource("AnimationNodeStateMachineTransition_0j6ll"), "multi_player_to_main", "main_idle", SubResource("AnimationNodeStateMachineTransition_tf3sp"), "multi_player_idle", "multi_to_local", SubResource("AnimationNodeStateMachineTransition_rrgko"), "multi_to_local", "local_idle", SubResource("AnimationNodeStateMachineTransition_ub4la"), "local_idle", "local_to_multi", SubResource("AnimationNodeStateMachineTransition_ogcm6"), "local_to_multi", "multi_player_idle", SubResource("AnimationNodeStateMachineTransition_tv5rn"), "multi_player_idle", "multi_to_network", SubResource("AnimationNodeStateMachineTransition_rhmua"), "multi_to_network", "network_idle", SubResource("AnimationNodeStateMachineTransition_x6nio"), "network_idle", "network_to_multi", SubResource("AnimationNodeStateMachineTransition_0tvn5"), "network_to_multi", "multi_player_idle", SubResource("AnimationNodeStateMachineTransition_lejxi")] +graph_offset = Vector2(-930, 121) + +[sub_resource type="Animation" id="Animation_buf53"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("PressStart: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, 1)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("PressStart:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("MainMenu:visible") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("MainMenu: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("MainMenu:anchor_left") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.5] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("MainMenu:anchor_right") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.5] +} +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("SingleplayerMenu:anchor_left") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [1.5] +} +tracks/7/type = "value" +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/path = NodePath("SingleplayerMenu:anchor_right") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [1.5] +} +tracks/8/type = "value" +tracks/8/imported = false +tracks/8/enabled = true +tracks/8/path = NodePath("MultiplayerMenu:anchor_left") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [1.5] +} +tracks/9/type = "value" +tracks/9/imported = false +tracks/9/enabled = true +tracks/9/path = NodePath("MultiplayerMenu:anchor_right") +tracks/9/interp = 1 +tracks/9/loop_wrap = true +tracks/9/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [1.5] +} +tracks/10/type = "value" +tracks/10/imported = false +tracks/10/enabled = true +tracks/10/path = NodePath("LocalMultiplayerMenu:anchor_left") +tracks/10/interp = 1 +tracks/10/loop_wrap = true +tracks/10/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [1.5] +} +tracks/11/type = "value" +tracks/11/imported = false +tracks/11/enabled = true +tracks/11/path = NodePath("LocalMultiplayerMenu:anchor_right") +tracks/11/interp = 1 +tracks/11/loop_wrap = true +tracks/11/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [1.5] +} +tracks/12/type = "value" +tracks/12/imported = false +tracks/12/enabled = true +tracks/12/path = NodePath("NetMultiplayerMenu:anchor_left") +tracks/12/interp = 1 +tracks/12/loop_wrap = true +tracks/12/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [1.5] +} +tracks/13/type = "value" +tracks/13/imported = false +tracks/13/enabled = true +tracks/13/path = NodePath("NetMultiplayerMenu:anchor_right") +tracks/13/interp = 1 +tracks/13/loop_wrap = true +tracks/13/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [1.5] +} + +[sub_resource type="Animation" id="Animation_yvdj5"] +resource_name = "fade_in" +length = 0.2 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("PressStart:modulate") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2), +"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("PressStart:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("MainMenu:visible") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} + +[sub_resource type="Animation" id="Animation_w6dlg"] +resource_name = "idle" +length = 2.0 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("PressStart:modulate") +tracks/0/interp = 2 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 1), +"transitions": PackedFloat32Array(1.618, 0.618), +"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("PressStart:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("MainMenu:visible") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} + +[sub_resource type="Animation" id="Animation_y08qw"] +resource_name = "fade_out" +length = 0.8 +step = 0.0333 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("PressStart:modulate") +tracks/0/interp = 2 +tracks/0/loop_wrap = false +tracks/0/keys = { +"times": PackedFloat32Array(0.1, 0.6), +"transitions": PackedFloat32Array(1.618, 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("PressStart:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.0333333, 0.0666667, 0.1, 0.133333, 0.166667, 0.2, 0.233333, 0.266667, 0.3, 0.333333, 0.366667, 0.4, 0.433333, 0.466667, 0.5, 0.533333, 0.566667, 0.6), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1), +"update": 1, +"values": [false, true, false, true, false, true, false, true, false, true, false, true, false, true, false, true, false, true, false] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("MainMenu:visible") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 0.633333), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [false, true] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("MainMenu:modulate") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0.633333, 0.8), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)] +} + +[sub_resource type="Animation" id="Animation_4axal"] +resource_name = "main_to_single_player" +length = 0.4 +step = 0.0333 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("MainMenu: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("MainMenu:anchor_left") +tracks/1/interp = 2 +tracks/1/loop_wrap = false +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.4), +"transitions": PackedFloat32Array(0.382, 1), +"update": 0, +"values": [0.5, -0.5] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("MainMenu:anchor_right") +tracks/2/interp = 2 +tracks/2/loop_wrap = false +tracks/2/keys = { +"times": PackedFloat32Array(0, 0.4), +"transitions": PackedFloat32Array(0.382, 1), +"update": 0, +"values": [0.5, -0.5] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("SingleplayerMenu:anchor_left") +tracks/3/interp = 2 +tracks/3/loop_wrap = false +tracks/3/keys = { +"times": PackedFloat32Array(0, 0.3996), +"transitions": PackedFloat32Array(0.382, 1), +"update": 0, +"values": [1.5, 0.5] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("SingleplayerMenu:anchor_right") +tracks/4/interp = 2 +tracks/4/loop_wrap = false +tracks/4/keys = { +"times": PackedFloat32Array(0, 0.3996), +"transitions": PackedFloat32Array(0.382, 1), +"update": 0, +"values": [1.5, 0.5] +} + +[sub_resource type="Animation" id="Animation_lc5gj"] +resource_name = "main_idle" +length = 0.001 +step = 0.0333 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("MainMenu: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("MainMenu:anchor_left") +tracks/1/interp = 2 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(0.382), +"update": 0, +"values": [0.5] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("MainMenu:anchor_right") +tracks/2/interp = 2 +tracks/2/loop_wrap = false +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(0.382), +"update": 0, +"values": [0.5] +} + +[sub_resource type="Animation" id="Animation_acqxw"] +resource_name = "single_player_idle" +length = 0.001 +step = 0.0333 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("MainMenu:anchor_left") +tracks/0/interp = 2 +tracks/0/loop_wrap = false +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [-0.5] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("MainMenu:anchor_right") +tracks/1/interp = 2 +tracks/1/loop_wrap = false +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [-0.5] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("SingleplayerMenu:anchor_left") +tracks/2/interp = 2 +tracks/2/loop_wrap = false +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.5] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("SingleplayerMenu:anchor_right") +tracks/3/interp = 2 +tracks/3/loop_wrap = false +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.5] +} + +[sub_resource type="Animation" id="Animation_6bgbi"] +resource_name = "main_to_multi_player" +length = 0.4 +step = 0.0333 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("MainMenu: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("MainMenu:anchor_left") +tracks/1/interp = 2 +tracks/1/loop_wrap = false +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.4), +"transitions": PackedFloat32Array(0.382, 1), +"update": 0, +"values": [0.5, -0.5] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("MainMenu:anchor_right") +tracks/2/interp = 2 +tracks/2/loop_wrap = false +tracks/2/keys = { +"times": PackedFloat32Array(0, 0.4), +"transitions": PackedFloat32Array(0.382, 1), +"update": 0, +"values": [0.5, -0.5] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("MultiplayerMenu:anchor_left") +tracks/3/interp = 2 +tracks/3/loop_wrap = false +tracks/3/keys = { +"times": PackedFloat32Array(0, 0.3996), +"transitions": PackedFloat32Array(0.382, 1), +"update": 0, +"values": [1.5, 0.5] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("MultiplayerMenu:anchor_right") +tracks/4/interp = 2 +tracks/4/loop_wrap = false +tracks/4/keys = { +"times": PackedFloat32Array(0, 0.3996), +"transitions": PackedFloat32Array(0.382, 1), +"update": 0, +"values": [1.5, 0.5] +} + +[sub_resource type="Animation" id="Animation_y5wr8"] +resource_name = "multi_to_local" +length = 0.4 +step = 0.0333 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("MainMenu:anchor_left") +tracks/0/interp = 2 +tracks/0/loop_wrap = false +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [-0.5] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("MainMenu:anchor_right") +tracks/1/interp = 2 +tracks/1/loop_wrap = false +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [-0.5] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("MultiplayerMenu:anchor_left") +tracks/2/interp = 2 +tracks/2/loop_wrap = false +tracks/2/keys = { +"times": PackedFloat32Array(-0.000399977, 0.3996), +"transitions": PackedFloat32Array(0.382, 1), +"update": 0, +"values": [0.5, -0.5] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("MultiplayerMenu:anchor_right") +tracks/3/interp = 2 +tracks/3/loop_wrap = false +tracks/3/keys = { +"times": PackedFloat32Array(-0.000399977, 0.3996), +"transitions": PackedFloat32Array(0.382, 1), +"update": 0, +"values": [0.5, -0.5] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("LocalMultiplayerMenu:anchor_left") +tracks/4/interp = 2 +tracks/4/loop_wrap = false +tracks/4/keys = { +"times": PackedFloat32Array(0, 0.3996), +"transitions": PackedFloat32Array(0.382, 1), +"update": 0, +"values": [1.5, 0.5] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("LocalMultiplayerMenu:anchor_right") +tracks/5/interp = 2 +tracks/5/loop_wrap = false +tracks/5/keys = { +"times": PackedFloat32Array(0, 0.3996), +"transitions": PackedFloat32Array(0.382, 1), +"update": 0, +"values": [1.5, 0.5] +} + +[sub_resource type="Animation" id="Animation_reu2y"] +resource_name = "multi_to_network" +length = 0.4 +step = 0.0333 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("MainMenu:anchor_left") +tracks/0/interp = 2 +tracks/0/loop_wrap = false +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [-0.5] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("MainMenu:anchor_right") +tracks/1/interp = 2 +tracks/1/loop_wrap = false +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [-0.5] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("MultiplayerMenu:anchor_left") +tracks/2/interp = 2 +tracks/2/loop_wrap = false +tracks/2/keys = { +"times": PackedFloat32Array(-0.000399977, 0.3996), +"transitions": PackedFloat32Array(0.382, 1), +"update": 0, +"values": [0.5, -0.5] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("MultiplayerMenu:anchor_right") +tracks/3/interp = 2 +tracks/3/loop_wrap = false +tracks/3/keys = { +"times": PackedFloat32Array(-0.000399977, 0.3996), +"transitions": PackedFloat32Array(0.382, 1), +"update": 0, +"values": [0.5, -0.5] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("NetMultiplayerMenu:anchor_left") +tracks/4/interp = 2 +tracks/4/loop_wrap = false +tracks/4/keys = { +"times": PackedFloat32Array(0, 0.3996), +"transitions": PackedFloat32Array(0.382, 1), +"update": 0, +"values": [1.5, 0.5] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("NetMultiplayerMenu:anchor_right") +tracks/5/interp = 2 +tracks/5/loop_wrap = false +tracks/5/keys = { +"times": PackedFloat32Array(0, 0.3996), +"transitions": PackedFloat32Array(0.382, 1), +"update": 0, +"values": [1.5, 0.5] +} + +[sub_resource type="Animation" id="Animation_b6kam"] +resource_name = "multi_player_idle" +length = 0.001 +step = 0.0333 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("MainMenu:visible") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(), +"transitions": PackedFloat32Array(), +"update": 1, +"values": [] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("MainMenu:anchor_left") +tracks/1/interp = 2 +tracks/1/loop_wrap = false +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [-0.5] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("MainMenu:anchor_right") +tracks/2/interp = 2 +tracks/2/loop_wrap = false +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [-0.5] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("MultiplayerMenu:anchor_left") +tracks/3/interp = 2 +tracks/3/loop_wrap = false +tracks/3/keys = { +"times": PackedFloat32Array(-0.000399977), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.5] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("MultiplayerMenu:anchor_right") +tracks/4/interp = 2 +tracks/4/loop_wrap = false +tracks/4/keys = { +"times": PackedFloat32Array(-0.000399977), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.5] +} + +[sub_resource type="Animation" id="Animation_w82hg"] +resource_name = "local_idle" +length = 0.001 +step = 0.0333 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("MainMenu:anchor_left") +tracks/0/interp = 2 +tracks/0/loop_wrap = false +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [-0.5] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("MainMenu:anchor_right") +tracks/1/interp = 2 +tracks/1/loop_wrap = false +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [-0.5] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("MultiplayerMenu:anchor_left") +tracks/2/interp = 2 +tracks/2/loop_wrap = false +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [-0.5] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("MultiplayerMenu:anchor_right") +tracks/3/interp = 2 +tracks/3/loop_wrap = false +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [-0.5] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("LocalMultiplayerMenu:anchor_left") +tracks/4/interp = 2 +tracks/4/loop_wrap = false +tracks/4/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.5] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("LocalMultiplayerMenu:anchor_right") +tracks/5/interp = 2 +tracks/5/loop_wrap = false +tracks/5/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.5] +} + +[sub_resource type="Animation" id="Animation_4h10y"] +resource_name = "network_idle" +length = 0.001 +step = 0.0333 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("MainMenu:anchor_left") +tracks/0/interp = 2 +tracks/0/loop_wrap = false +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [-0.5] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("MainMenu:anchor_right") +tracks/1/interp = 2 +tracks/1/loop_wrap = false +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [-0.5] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("MultiplayerMenu:anchor_left") +tracks/2/interp = 2 +tracks/2/loop_wrap = false +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [-0.5] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("MultiplayerMenu:anchor_right") +tracks/3/interp = 2 +tracks/3/loop_wrap = false +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [-0.5] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("NetMultiplayerMenu:anchor_left") +tracks/4/interp = 2 +tracks/4/loop_wrap = false +tracks/4/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.5] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("NetMultiplayerMenu:anchor_right") +tracks/5/interp = 2 +tracks/5/loop_wrap = false +tracks/5/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.5] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_gmd4s"] +_data = { +"RESET": SubResource("Animation_buf53"), +"local_idle": SubResource("Animation_w82hg"), +"main_idle": SubResource("Animation_lc5gj"), +"main_to_multi_player": SubResource("Animation_6bgbi"), +"main_to_single_player": SubResource("Animation_4axal"), +"multi_player_idle": SubResource("Animation_b6kam"), +"multi_to_local": SubResource("Animation_y5wr8"), +"multi_to_network": SubResource("Animation_reu2y"), +"network_idle": SubResource("Animation_4h10y"), +"press_start_fade_in": SubResource("Animation_yvdj5"), +"press_start_idle": SubResource("Animation_w6dlg"), +"press_start_to_main": SubResource("Animation_y08qw"), +"single_player_idle": SubResource("Animation_acqxw") +} [node name="TitleScreen" type="Control"] layout_mode = 3 @@ -7,3 +1147,285 @@ anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 +script = ExtResource("1_2qtlb") +settings_scene = ExtResource("2_g5q2v") + +[node name="Title" type="Control" parent="."] +clip_contents = true +layout_mode = 1 +anchor_left = 0.5 +anchor_top = 0.333 +anchor_right = 0.5 +anchor_bottom = 0.333 +offset_left = -253.0 +offset_top = -85.5 +offset_right = 253.0 +offset_bottom = 85.5 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="VBoxContainer" type="VBoxContainer" parent="Title"] +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -253.5 +offset_top = -85.5 +offset_right = 253.5 +offset_bottom = 85.5 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_constants/separation = 2 + +[node name="Title" type="TextureRect" parent="Title/VBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 8 +texture = ExtResource("1_pm82i") +stretch_mode = 2 + +[node name="Subtitle" type="TextureRect" parent="Title/VBoxContainer"] +custom_minimum_size = Vector2(507, 0) +layout_mode = 2 +texture = ExtResource("2_y0ulk") +stretch_mode = 2 + +[node name="TitleAnimation" type="AnimationPlayer" parent="Title"] +libraries = { +"": SubResource("AnimationLibrary_a8te0") +} + +[node name="Menu" type="Control" parent="."] +unique_name_in_owner = true +layout_mode = 1 +anchor_top = 0.667 +anchor_right = 1.0 +anchor_bottom = 0.667 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="PressStart" type="Label" parent="Menu"] +visible = false +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -42.0 +offset_top = -9.5 +offset_right = 42.0 +offset_bottom = 9.5 +grow_horizontal = 2 +grow_vertical = 2 +theme_type_variation = &"TitleScreenMenuLabel" +text = "TITLE_START" + +[node name="MainMenu" type="VBoxContainer" parent="Menu"] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +grow_horizontal = 2 +grow_vertical = 2 +metadata/_edit_use_anchors_ = true + +[node name="SinglePlayer" type="Button" parent="Menu/MainMenu"] +layout_mode = 2 +theme_type_variation = &"PauseMenuButton" +text = "TITLE_SINGLE_PLAYER" + +[node name="MultiPlayer" type="Button" parent="Menu/MainMenu"] +layout_mode = 2 +theme_type_variation = &"PauseMenuButton" +text = "TITLE_MULTI_PLAYER" + +[node name="Settings" type="Button" parent="Menu/MainMenu"] +layout_mode = 2 +theme_type_variation = &"PauseMenuButton" +text = "PAUSE_SETTINGS" + +[node name="Credits" type="Button" parent="Menu/MainMenu"] +layout_mode = 2 +theme_type_variation = &"PauseMenuButton" +text = "TITLE_CREDITS" + +[node name="Quit" type="Button" parent="Menu/MainMenu"] +layout_mode = 2 +theme_type_variation = &"PauseMenuButton" +theme_override_colors/font_color = Color(0.819608, 0.196078, 0.196078, 1) +text = "PAUSE_QUIT" + +[node name="AnimationPlayer" type="AnimationPlayer" parent="Menu/MainMenu/Quit"] +libraries = { +"": SubResource("AnimationLibrary_cgw58") +} + +[node name="SingleplayerMenu" type="VBoxContainer" parent="Menu"] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 1.5 +anchor_top = 0.5 +anchor_right = 1.5 +anchor_bottom = 0.5 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="Story" type="Button" parent="Menu/SingleplayerMenu"] +layout_mode = 2 +theme_type_variation = &"PauseMenuButton" +text = "TITLE_STORY" + +[node name="Series" type="Button" parent="Menu/SingleplayerMenu"] +layout_mode = 2 +theme_type_variation = &"PauseMenuButton" +text = "TITLE_SERIES" + +[node name="Roguelike" type="Button" parent="Menu/SingleplayerMenu"] +layout_mode = 2 +theme_type_variation = &"PauseMenuButton" +text = "TITLE_ROGUELIKE" + +[node name="Practice" type="Button" parent="Menu/SingleplayerMenu"] +layout_mode = 2 +theme_type_variation = &"PauseMenuButton" +text = "TITLE_PRACTICE" + +[node name="Back" type="Button" parent="Menu/SingleplayerMenu"] +layout_mode = 2 +theme_type_variation = &"PauseMenuButton" +text = "UI_BACK" + +[node name="MultiplayerMenu" type="VBoxContainer" parent="Menu"] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 1.5 +anchor_top = 0.5 +anchor_right = 1.5 +anchor_bottom = 0.5 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="LocalMultiplayer" type="Button" parent="Menu/MultiplayerMenu"] +layout_mode = 2 +theme_type_variation = &"PauseMenuButton" +text = "TITLE_LOCAL_MULTI" + +[node name="NetMultiplayer" type="Button" parent="Menu/MultiplayerMenu"] +layout_mode = 2 +theme_type_variation = &"PauseMenuButton" +text = "TITLE_NETWORK_MULTI" + +[node name="Back" type="Button" parent="Menu/MultiplayerMenu"] +layout_mode = 2 +theme_type_variation = &"PauseMenuButton" +text = "UI_BACK" + +[node name="LocalMultiplayerMenu" type="VBoxContainer" parent="Menu"] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 1.5 +anchor_top = 0.5 +anchor_right = 1.5 +anchor_bottom = 0.5 +offset_left = -157.5 +offset_top = -52.0 +offset_right = 157.5 +offset_bottom = 52.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="Deathmatch" type="Button" parent="Menu/LocalMultiplayerMenu"] +layout_mode = 2 +theme_type_variation = &"PauseMenuButton" +text = "TITLE_DEATHMATCH" + +[node name="VsSeries" type="Button" parent="Menu/LocalMultiplayerMenu"] +layout_mode = 2 +theme_type_variation = &"PauseMenuButton" +text = "TITLE_VS_SERIES" + +[node name="Back" type="Button" parent="Menu/LocalMultiplayerMenu"] +layout_mode = 2 +theme_type_variation = &"PauseMenuButton" +text = "UI_BACK" + +[node name="NetMultiplayerMenu" type="VBoxContainer" parent="Menu"] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 1.5 +anchor_top = 0.5 +anchor_right = 1.5 +anchor_bottom = 0.5 +offset_left = -144.0 +offset_top = -106.0 +offset_right = 144.0 +offset_bottom = 106.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="Deathmatch" type="Button" parent="Menu/NetMultiplayerMenu"] +layout_mode = 2 +theme_type_variation = &"PauseMenuButton" +text = "TITLE_DEATHMATCH" + +[node name="VsSeries" type="Button" parent="Menu/NetMultiplayerMenu"] +layout_mode = 2 +theme_type_variation = &"PauseMenuButton" +text = "TITLE_VS_SERIES" + +[node name="BattleRoyale" type="Button" parent="Menu/NetMultiplayerMenu"] +layout_mode = 2 +theme_type_variation = &"PauseMenuButton" +text = "TITLE_BATTLE_ROYALE" + +[node name="Profile" type="Button" parent="Menu/NetMultiplayerMenu"] +layout_mode = 2 +theme_type_variation = &"PauseMenuButton" +text = "TITLE_PROFILE" + +[node name="Back" type="Button" parent="Menu/NetMultiplayerMenu"] +layout_mode = 2 +theme_type_variation = &"PauseMenuButton" +text = "UI_BACK" + +[node name="MenuStateMachine" type="AnimationTree" parent="Menu"] +tree_root = SubResource("AnimationNodeStateMachine_p18ah") +anim_player = NodePath("AnimationPlayer") + +[node name="AnimationPlayer" type="AnimationPlayer" parent="Menu/MenuStateMachine"] +root_node = NodePath("../..") +libraries = { +"": SubResource("AnimationLibrary_gmd4s") +} +autoplay = "press_start_fade_in" + +[node name="SettingsContainer" type="MarginContainer" parent="."] +unique_name_in_owner = 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 = -640.0 +offset_top = -360.0 +offset_right = 640.0 +offset_bottom = 360.0 +grow_horizontal = 2 +grow_vertical = 2 +mouse_filter = 2 + +[connection signal="pressed" from="Menu/MainMenu/SinglePlayer" to="." method="_to_single_player"] +[connection signal="pressed" from="Menu/MainMenu/MultiPlayer" to="." method="_to_multi_player"] +[connection signal="pressed" from="Menu/MainMenu/Settings" to="." method="_open_settings"] +[connection signal="pressed" from="Menu/MainMenu/Quit" to="Menu/MainMenu/Quit/AnimationPlayer" method="play" binds= ["fade_out"]] +[connection signal="pressed" from="Menu/SingleplayerMenu/Back" to="." method="_to_main_menu"] +[connection signal="pressed" from="Menu/MultiplayerMenu/LocalMultiplayer" to="." method="_to_local_multi"] +[connection signal="pressed" from="Menu/MultiplayerMenu/NetMultiplayer" to="." method="_to_network_multi"] +[connection signal="pressed" from="Menu/MultiplayerMenu/Back" to="." method="_to_main_menu"] +[connection signal="pressed" from="Menu/LocalMultiplayerMenu/Back" to="." method="_to_multi_player"] +[connection signal="pressed" from="Menu/NetMultiplayerMenu/Back" to="." method="_to_multi_player"] diff --git a/src/ui/shot_hud/ball_selector/ball_selector.tscn b/src/ui/shot_hud/ball_selector/ball_selector.tscn index 6bb46f2..9cbc988 100644 --- a/src/ui/shot_hud/ball_selector/ball_selector.tscn +++ b/src/ui/shot_hud/ball_selector/ball_selector.tscn @@ -46,7 +46,7 @@ custom_minimum_size = Vector2(120, 0) layout_mode = 0 offset_top = 50.0 offset_right = 120.0 -offset_bottom = 173.0 +offset_bottom = 205.0 theme_override_constants/separation = 5 [node name="BasicIcon" parent="GradientMask/BallList" instance=ExtResource("1_1v8xg")]