From cef940108fe15752c3ef66f43f5169403fa2f71d Mon Sep 17 00:00:00 2001 From: Spartan322 Date: Sat, 3 Jun 2023 14:37:10 -0400 Subject: Reorganize the file structure of the files in `game/src` --- .../Menu/OptionMenu/AutosaveIntervalSelector.gd | 2 + game/src/Game/Menu/OptionMenu/ControlsTab.tscn | 14 ++ game/src/Game/Menu/OptionMenu/GeneralTab.gd | 9 + game/src/Game/Menu/OptionMenu/GeneralTab.tscn | 81 +++++++++ game/src/Game/Menu/OptionMenu/GuiScaleSelector.gd | 64 ++++++++ .../Game/Menu/OptionMenu/MonitorDisplaySelector.gd | 18 ++ game/src/Game/Menu/OptionMenu/OptionsMenu.gd | 68 ++++++++ game/src/Game/Menu/OptionMenu/OptionsMenu.tscn | 52 ++++++ game/src/Game/Menu/OptionMenu/OtherTab.tscn | 18 ++ .../Game/Menu/OptionMenu/QualityPresetSelector.gd | 4 + .../Game/Menu/OptionMenu/RefreshRateSelector.gd | 5 + .../Game/Menu/OptionMenu/ResolutionRevertDialog.gd | 35 ++++ .../src/Game/Menu/OptionMenu/ResolutionSelector.gd | 91 +++++++++++ .../src/Game/Menu/OptionMenu/ScreenModeSelector.gd | 48 ++++++ .../Menu/OptionMenu/SettingNodes/SettingHSlider.gd | 41 +++++ .../OptionMenu/SettingNodes/SettingOptionButton.gd | 77 +++++++++ .../OptionMenu/SettingNodes/SettingRevertButton.gd | 27 +++ game/src/Game/Menu/OptionMenu/SoundTab.gd | 4 + game/src/Game/Menu/OptionMenu/SoundTab.tscn | 34 ++++ game/src/Game/Menu/OptionMenu/VideoTab.gd | 9 + game/src/Game/Menu/OptionMenu/VideoTab.tscn | 181 +++++++++++++++++++++ game/src/Game/Menu/OptionMenu/VolumeGrid.gd | 70 ++++++++ game/src/Game/Menu/OptionMenu/VolumeGrid.tscn | 8 + 23 files changed, 960 insertions(+) create mode 100644 game/src/Game/Menu/OptionMenu/AutosaveIntervalSelector.gd create mode 100644 game/src/Game/Menu/OptionMenu/ControlsTab.tscn create mode 100644 game/src/Game/Menu/OptionMenu/GeneralTab.gd create mode 100644 game/src/Game/Menu/OptionMenu/GeneralTab.tscn create mode 100644 game/src/Game/Menu/OptionMenu/GuiScaleSelector.gd create mode 100644 game/src/Game/Menu/OptionMenu/MonitorDisplaySelector.gd create mode 100644 game/src/Game/Menu/OptionMenu/OptionsMenu.gd create mode 100644 game/src/Game/Menu/OptionMenu/OptionsMenu.tscn create mode 100644 game/src/Game/Menu/OptionMenu/OtherTab.tscn create mode 100644 game/src/Game/Menu/OptionMenu/QualityPresetSelector.gd create mode 100644 game/src/Game/Menu/OptionMenu/RefreshRateSelector.gd create mode 100644 game/src/Game/Menu/OptionMenu/ResolutionRevertDialog.gd create mode 100644 game/src/Game/Menu/OptionMenu/ResolutionSelector.gd create mode 100644 game/src/Game/Menu/OptionMenu/ScreenModeSelector.gd create mode 100644 game/src/Game/Menu/OptionMenu/SettingNodes/SettingHSlider.gd create mode 100644 game/src/Game/Menu/OptionMenu/SettingNodes/SettingOptionButton.gd create mode 100644 game/src/Game/Menu/OptionMenu/SettingNodes/SettingRevertButton.gd create mode 100644 game/src/Game/Menu/OptionMenu/SoundTab.gd create mode 100644 game/src/Game/Menu/OptionMenu/SoundTab.tscn create mode 100644 game/src/Game/Menu/OptionMenu/VideoTab.gd create mode 100644 game/src/Game/Menu/OptionMenu/VideoTab.tscn create mode 100644 game/src/Game/Menu/OptionMenu/VolumeGrid.gd create mode 100644 game/src/Game/Menu/OptionMenu/VolumeGrid.tscn (limited to 'game/src/Game/Menu/OptionMenu') diff --git a/game/src/Game/Menu/OptionMenu/AutosaveIntervalSelector.gd b/game/src/Game/Menu/OptionMenu/AutosaveIntervalSelector.gd new file mode 100644 index 0000000..2c55862 --- /dev/null +++ b/game/src/Game/Menu/OptionMenu/AutosaveIntervalSelector.gd @@ -0,0 +1,2 @@ +extends SettingOptionButton + diff --git a/game/src/Game/Menu/OptionMenu/ControlsTab.tscn b/game/src/Game/Menu/OptionMenu/ControlsTab.tscn new file mode 100644 index 0000000..b84dc85 --- /dev/null +++ b/game/src/Game/Menu/OptionMenu/ControlsTab.tscn @@ -0,0 +1,14 @@ +[gd_scene load_steps=2 format=3 uid="uid://cdwymd51i4b2f"] + +[ext_resource type="PackedScene" uid="uid://by4gggse2nsdx" path="res://addons/keychain/ShortcutEdit.tscn" id="1_fv8sh"] + +[node name="Controls" type="Control"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="ShortcutEdit" parent="." instance=ExtResource("1_fv8sh")] +layout_mode = 1 diff --git a/game/src/Game/Menu/OptionMenu/GeneralTab.gd b/game/src/Game/Menu/OptionMenu/GeneralTab.gd new file mode 100644 index 0000000..3d98678 --- /dev/null +++ b/game/src/Game/Menu/OptionMenu/GeneralTab.gd @@ -0,0 +1,9 @@ +extends HBoxContainer + +@export var initial_focus: Control + +func _notification(what : int) -> void: + match(what): + NOTIFICATION_VISIBILITY_CHANGED: + if visible and is_inside_tree(): + initial_focus.grab_focus() diff --git a/game/src/Game/Menu/OptionMenu/GeneralTab.tscn b/game/src/Game/Menu/OptionMenu/GeneralTab.tscn new file mode 100644 index 0000000..4e9ff6a --- /dev/null +++ b/game/src/Game/Menu/OptionMenu/GeneralTab.tscn @@ -0,0 +1,81 @@ +[gd_scene load_steps=5 format=3 uid="uid://duwjal7sd7p6w"] + +[ext_resource type="Script" path="res://src/OptionMenu/GeneralTab.gd" id="1_gbutn"] +[ext_resource type="PackedScene" uid="uid://b7oncobnacxmt" path="res://src/LocaleButton.tscn" id="2_5cfd7"] +[ext_resource type="Script" path="res://src/OptionMenu/SettingNodes/SettingOptionButton.gd" id="2_msx2u"] +[ext_resource type="Script" path="res://src/OptionMenu/AutosaveIntervalSelector.gd" id="2_t06tb"] + +[node name="GeneralTab" type="HBoxContainer" node_paths=PackedStringArray("initial_focus")] +editor_description = "UI-48, UIFUN-45" +alignment = 1 +script = ExtResource("1_gbutn") +initial_focus = NodePath("VBoxContainer/GridContainer/SavegameFormatSelector") + +[node name="VBoxContainer" type="VBoxContainer" parent="."] +layout_mode = 2 + +[node name="Control" type="Control" parent="VBoxContainer"] +layout_mode = 2 +size_flags_vertical = 3 +size_flags_stretch_ratio = 0.1 + +[node name="GridContainer" type="GridContainer" parent="VBoxContainer"] +layout_mode = 2 +size_flags_vertical = 3 +columns = 2 + +[node name="SavegameFormatLabel" type="Label" parent="VBoxContainer/GridContainer"] +layout_mode = 2 +text = "OPTIONS_GENERAL_SAVEFORMAT" + +[node name="SavegameFormatSelector" type="OptionButton" parent="VBoxContainer/GridContainer"] +editor_description = "UI-50" +layout_mode = 2 +focus_neighbor_bottom = NodePath("../AutosaveIntervalSelector") +item_count = 2 +selected = 0 +popup/item_0/text = "OPTIONS_GENERAL_BINARY" +popup/item_0/id = 0 +popup/item_1/text = "OPTIONS_GENERAL_TEXT" +popup/item_1/id = 1 +script = ExtResource("2_msx2u") +section_name = "general" +setting_name = "savegame_format" +default_selected = 0 + +[node name="AutosaveIntervalLabel" type="Label" parent="VBoxContainer/GridContainer"] +layout_mode = 2 +text = "OPTIONS_GENERAL_AUTOSAVE" + +[node name="AutosaveIntervalSelector" type="OptionButton" parent="VBoxContainer/GridContainer"] +editor_description = "UI-15, UIFUN-19" +layout_mode = 2 +focus_neighbor_top = NodePath("../SavegameFormatSelector") +focus_neighbor_bottom = NodePath("../LocaleButton") +item_count = 5 +selected = 0 +popup/item_0/text = "OPTIONS_GENERAL_AUTOSAVE_MONTHLY" +popup/item_0/id = 0 +popup/item_1/text = "OPTIONS_GENERAL_AUTOSAVE_BIMONTHLY" +popup/item_1/id = 1 +popup/item_2/text = "OPTIONS_GENERAL_AUTOSAVE_YEARLY" +popup/item_2/id = 2 +popup/item_3/text = "OPTIONS_GENERAL_AUTOSAVE_BIYEARLY" +popup/item_3/id = 3 +popup/item_4/text = "OPTIONS_GENERAL_AUTOSAVE_NEVER" +popup/item_4/id = 4 +script = ExtResource("2_t06tb") +section_name = "general" +setting_name = "autosave_interval" +default_selected = 0 + +[node name="LocaleLabel" type="Label" parent="VBoxContainer/GridContainer"] +layout_mode = 2 +text = "OPTIONS_GENERAL_LANGUAGE" + +[node name="LocaleButton" parent="VBoxContainer/GridContainer" instance=ExtResource("2_5cfd7")] +editor_description = "UI-79" +layout_mode = 2 +focus_neighbor_top = NodePath("../AutosaveIntervalSelector") +alignment = 0 +text_overrun_behavior = 4 diff --git a/game/src/Game/Menu/OptionMenu/GuiScaleSelector.gd b/game/src/Game/Menu/OptionMenu/GuiScaleSelector.gd new file mode 100644 index 0000000..4dd86e1 --- /dev/null +++ b/game/src/Game/Menu/OptionMenu/GuiScaleSelector.gd @@ -0,0 +1,64 @@ +extends SettingOptionButton + +# REQUIREMENTS +# * UIFUN-24 +# * UIFUN-31 + +@export +var default_value : float = GuiScale.error_guiscale + +func _find_guiscale_index_by_value(value : float) -> int: + for item_index in item_count: + if get_item_metadata(item_index) == value: + return item_index + return -1 + +func _sync_guiscales(to_select : float = GuiScale.get_current_guiscale()) -> void: + clear() + default_selected = -1 + selected = -1 + for guiscale_value in GuiScale.get_guiscale_value_list(): + add_item(GuiScale.get_guiscale_display_name(guiscale_value)) + set_item_metadata(item_count - 1, guiscale_value) + + if guiscale_value == default_value: + default_selected = item_count - 1 + + if guiscale_value == to_select: + selected = item_count - 1 + + if default_selected == -1: + default_selected = item_count - 1 + + if selected == -1: + selected = default_selected + +func _setup_button(): + if default_value <= 0: + default_value = ProjectSettings.get_setting("display/window/stretch/scale") + GuiScale.add_guiscale(default_value, &"default") + _sync_guiscales() + +func _get_value_for_file(select_value : int): + if _valid_index(select_value): + return get_item_metadata(select_value) + else: + return null + +func _set_value_from_file(load_value): + if typeof(load_value) == TYPE_FLOAT: + var target_guiscale : float = load_value + selected = _find_guiscale_index_by_value(target_guiscale) + if selected != -1: return + if GuiScale.add_guiscale(target_guiscale): + _sync_guiscales(target_guiscale) + return + push_error("Setting value '%s' invalid for setting [%s] %s" % [load_value, section_name, setting_name]) + selected = default_selected + +func _on_option_selected(index : int, by_user : bool): + if _valid_index(index): + GuiScale.set_guiscale(get_item_metadata(index)) + else: + push_error("Invalid GuiScaleSelector index: %d" % index) + reset_setting(not by_user) diff --git a/game/src/Game/Menu/OptionMenu/MonitorDisplaySelector.gd b/game/src/Game/Menu/OptionMenu/MonitorDisplaySelector.gd new file mode 100644 index 0000000..7de033a --- /dev/null +++ b/game/src/Game/Menu/OptionMenu/MonitorDisplaySelector.gd @@ -0,0 +1,18 @@ +extends SettingOptionButton + +func _setup_button() -> void: + clear() + for screen_index in DisplayServer.get_screen_count(): + add_item("Monitor %d" % (screen_index + 1)) + default_selected = get_viewport().get_window().current_screen + +func _on_option_selected(index : int, by_user : bool) -> void: + if _valid_index(index): + var window := get_viewport().get_window() + var mode := window.mode + window.mode = Window.MODE_WINDOWED + get_viewport().get_window().set_current_screen(index) + window.mode = mode + else: + push_error("Invalid MonitorDisplaySelector index: %d" % index) + reset_setting(not by_user) diff --git a/game/src/Game/Menu/OptionMenu/OptionsMenu.gd b/game/src/Game/Menu/OptionMenu/OptionsMenu.gd new file mode 100644 index 0000000..5f6a088 --- /dev/null +++ b/game/src/Game/Menu/OptionMenu/OptionsMenu.gd @@ -0,0 +1,68 @@ +extends Control + +# REQUIREMENTS +# * SS-13 + +signal back_button_pressed + +func _ready(): + # Prepare options menu before loading user settings + var tab_bar : TabBar = $Margin/Tab.get_child(0, true) + + # This ends up easier to manage then trying to manually recreate the TabContainer's behavior + # These buttons can be accessed regardless of the tab + var button_list := HBoxContainer.new() + button_list.set_anchors_and_offsets_preset(Control.PRESET_FULL_RECT) + button_list.alignment = BoxContainer.ALIGNMENT_END + tab_bar.add_child(button_list) + + # REQUIREMENTS + # * UI-12 + # * UIFUN-14 + var reset_button := Button.new() + reset_button.text = "OPTIONS_RESET" + reset_button.pressed.connect(Events.Options.try_reset_settings) + button_list.add_child(reset_button) + + # REQUIREMENTS + # * UI-11 + # * UIFUN-17 + var back_button := Button.new() + back_button.text = "OPTIONS_BACK" + back_button.pressed.connect(_on_back_button_pressed) + button_list.add_child(back_button) + get_viewport().get_window().close_requested.connect(_on_window_close_requested) + _save_overrides.call_deferred() + Events.Options.save_settings.connect(func(_f): self._save_overrides.call_deferred()) + +func _notification(what): + match what: + NOTIFICATION_CRASH: + _on_window_close_requested() + +func _input(event): + if self.is_visible_in_tree(): + if event.is_action_pressed("ui_cancel"): + _on_back_button_pressed() + +func _on_back_button_pressed(): + Events.Options.save_settings_to_file() + back_button_pressed.emit() + +func _on_window_close_requested() -> void: + if visible: + Events.Options.save_settings_to_file() + +func _save_overrides() -> void: + var override_path : String = ProjectSettings.get_setting("application/config/project_settings_override", "") + if override_path.is_empty(): + override_path = ProjectSettings.get_setting(Events.Options.settings_file_path_setting, Events.Options.settings_file_path_default) + var file := ConfigFile.new() + var err_ret := file.load(override_path) + if err_ret != OK: push_error("Failed to load overrides from %s" % override_path) + file.set_value("display", "window/size/mode", get_viewport().get_window().mode) + var resolution : Vector2i = Resolution.get_current_resolution() + file.set_value("display", "window/size/viewport_width", resolution.x) + file.set_value("display", "window/size/viewport_height", resolution.y) + err_ret = file.save(override_path) + if err_ret != OK: push_error("Failed to save overrides to %s" % override_path) diff --git a/game/src/Game/Menu/OptionMenu/OptionsMenu.tscn b/game/src/Game/Menu/OptionMenu/OptionsMenu.tscn new file mode 100644 index 0000000..3156e33 --- /dev/null +++ b/game/src/Game/Menu/OptionMenu/OptionsMenu.tscn @@ -0,0 +1,52 @@ +[gd_scene load_steps=8 format=3 uid="uid://cnbfxjy1m6wja"] + +[ext_resource type="Theme" uid="uid://fbxssqcg1s0m" path="res://theme/options_menu.tres" id="1_0up1d"] +[ext_resource type="Script" path="res://src/OptionMenu/OptionsMenu.gd" id="1_tlein"] +[ext_resource type="PackedScene" uid="uid://bq3awxxjn1tuw" path="res://src/OptionMenu/VideoTab.tscn" id="2_ji8xr"] +[ext_resource type="PackedScene" uid="uid://cbtgwpx2wxi33" path="res://src/OptionMenu/SoundTab.tscn" id="3_4w35t"] +[ext_resource type="PackedScene" uid="uid://duwjal7sd7p6w" path="res://src/OptionMenu/GeneralTab.tscn" id="3_6gvf6"] +[ext_resource type="PackedScene" uid="uid://bq7ibhm0txl5p" path="res://addons/keychain/ShortcutEdit.tscn" id="4_vdhjp"] +[ext_resource type="PackedScene" uid="uid://dp2grvybtecqu" path="res://src/OptionMenu/OtherTab.tscn" id="5_ahefp"] + +[node name="OptionsMenu" type="PanelContainer"] +editor_description = "UI-25" +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme = ExtResource("1_0up1d") +theme_type_variation = &"BackgroundPanel" +script = ExtResource("1_tlein") + +[node name="Margin" type="MarginContainer" parent="."] +layout_mode = 2 +theme_type_variation = &"TabMargin" + +[node name="Tab" type="TabContainer" parent="Margin"] +editor_description = "UI-45" +layout_mode = 2 +tab_alignment = 1 +use_hidden_tabs_for_min_size = true + +[node name="General" parent="Margin/Tab" instance=ExtResource("3_6gvf6")] +layout_mode = 2 + +[node name="Video" parent="Margin/Tab" instance=ExtResource("2_ji8xr")] +editor_description = "UI-46, UIFUN-43" +visible = false +layout_mode = 2 + +[node name="Sound" parent="Margin/Tab" instance=ExtResource("3_4w35t")] +editor_description = "UI-47, UIFUN-44" +visible = false +layout_mode = 2 + +[node name="Controls" parent="Margin/Tab" instance=ExtResource("4_vdhjp")] +editor_description = "SS-27, UI-49, UIFUN-46" +visible = false +layout_mode = 2 +alignment = 1 + +[node name="Other" parent="Margin/Tab" instance=ExtResource("5_ahefp")] +layout_mode = 2 diff --git a/game/src/Game/Menu/OptionMenu/OtherTab.tscn b/game/src/Game/Menu/OptionMenu/OtherTab.tscn new file mode 100644 index 0000000..0ffc92d --- /dev/null +++ b/game/src/Game/Menu/OptionMenu/OtherTab.tscn @@ -0,0 +1,18 @@ +[gd_scene format=3 uid="uid://dp2grvybtecqu"] + +[node name="Other" type="Control"] +visible = false +layout_mode = 3 +anchors_preset = 0 + +[node name="HBoxContainer" type="HBoxContainer" parent="."] +layout_mode = 0 +offset_right = 40.0 +offset_bottom = 40.0 + +[node name="Label" type="Label" parent="HBoxContainer"] +layout_mode = 2 +text = "Spinbox Example :)" + +[node name="SpinBox" type="SpinBox" parent="HBoxContainer"] +layout_mode = 2 diff --git a/game/src/Game/Menu/OptionMenu/QualityPresetSelector.gd b/game/src/Game/Menu/OptionMenu/QualityPresetSelector.gd new file mode 100644 index 0000000..57ba4ab --- /dev/null +++ b/game/src/Game/Menu/OptionMenu/QualityPresetSelector.gd @@ -0,0 +1,4 @@ +extends SettingOptionButton + +func _setup_button(): + pass diff --git a/game/src/Game/Menu/OptionMenu/RefreshRateSelector.gd b/game/src/Game/Menu/OptionMenu/RefreshRateSelector.gd new file mode 100644 index 0000000..31b115b --- /dev/null +++ b/game/src/Game/Menu/OptionMenu/RefreshRateSelector.gd @@ -0,0 +1,5 @@ +extends SettingOptionButton + + +func _setup_button(): + pass diff --git a/game/src/Game/Menu/OptionMenu/ResolutionRevertDialog.gd b/game/src/Game/Menu/OptionMenu/ResolutionRevertDialog.gd new file mode 100644 index 0000000..4d2b8f2 --- /dev/null +++ b/game/src/Game/Menu/OptionMenu/ResolutionRevertDialog.gd @@ -0,0 +1,35 @@ +extends ConfirmationDialog +class_name ResolutionRevertDialog + +signal dialog_accepted(button : SettingRevertButton) +signal dialog_reverted(button : SettingRevertButton) + +@export_group("Nodes") +@export var timer : Timer + +var _revert_node : SettingRevertButton = null + +func show_dialog(button : SettingRevertButton, time : float = 0) -> void: + timer.start(time) + popup_centered(Vector2(1,1)) + _revert_node = button + +func _notification(what): + if what == NOTIFICATION_VISIBILITY_CHANGED: + set_process(visible) + if not visible: _revert_node = null + +func _process(_delta) -> void: + dialog_text = tr("OPTIONS_VIDEO_RESOLUTION_DIALOG_TEXT").format({ "time": int(timer.time_left) }) + +func _on_canceled_or_close_requested() -> void: + timer.stop() + dialog_reverted.emit(_revert_node) + +func _on_confirmed() -> void: + timer.stop() + dialog_accepted.emit(_revert_node) + +func _on_resolution_revert_timer_timeout() -> void: + dialog_reverted.emit(_revert_node) + hide() diff --git a/game/src/Game/Menu/OptionMenu/ResolutionSelector.gd b/game/src/Game/Menu/OptionMenu/ResolutionSelector.gd new file mode 100644 index 0000000..ebdf718 --- /dev/null +++ b/game/src/Game/Menu/OptionMenu/ResolutionSelector.gd @@ -0,0 +1,91 @@ +extends SettingRevertButton + +# REQUIREMENTS +# * UIFUN-21 +# * UIFUN-28 +# * UIFUN-301 +# * UIFUN-302 + +@export var default_value : Vector2i = Resolution.error_resolution + +func _find_resolution_index_by_value(value : Vector2i) -> int: + for item_index in item_count: + if get_item_metadata(item_index) == value: + return item_index + return -1 + +func _sync_resolutions( + value : Vector2i = Resolution.error_resolution, + _resolution_name = null, + _resolution_display_name = null +) -> void: + clear() + default_selected = -1 + selected = -1 + var resolution_list := Resolution.get_resolution_value_list() + if value != Resolution.error_resolution: + resolution_list.append(value) + for resolution_value in resolution_list: + var display_name := "%sx%s" % [resolution_value.x, resolution_value.y] + var resolution_name := Resolution.get_resolution_name(resolution_value) + if resolution_name == &"Default": + display_name = "Default (%s)" % resolution_name + if not resolution_name.is_empty(): + display_name = "%s (%s)" % [display_name, resolution_name + (", Default" if resolution_value == default_value else "")] + add_item(display_name) + set_item_metadata(item_count - 1, resolution_value) + + if resolution_value == default_value: + default_selected = item_count - 1 + + if resolution_value == Resolution.get_current_resolution(): + selected = item_count - 1 + + if default_selected == -1: + default_selected = item_count - 1 + + if selected == -1: + selected = default_selected + +func _setup_button() -> void: + Resolution.resolution_added.connect(_sync_resolutions) + if default_value.x <= 0: + default_value.x = ProjectSettings.get_setting("display/window/size/viewport_width") + if default_value.y <= 0: + default_value.y = ProjectSettings.get_setting("display/window/size/viewport_height") + if not Resolution.has_resolution(default_value): + Resolution.add_resolution(default_value, &"Default") + else: + _sync_resolutions() + +func _get_value_for_file(select_value : int) -> Variant: + if _valid_index(select_value): + return get_item_metadata(select_value) + else: + return null + +func _set_value_from_file(load_value) -> void: + var target_resolution := Resolution.error_resolution + match typeof(load_value): + TYPE_VECTOR2I: target_resolution = load_value + TYPE_STRING, TYPE_STRING_NAME: target_resolution = Resolution.get_resolution_value_from_string(load_value) + if target_resolution != Resolution.error_resolution: + selected = _find_resolution_index_by_value(target_resolution) + if selected != -1: return + if Resolution.add_resolution(target_resolution): + Resolution.set_resolution(target_resolution) + return + push_error("Setting value '%s' invalid for setting [%s] %s" % [load_value, section_name, setting_name]) + selected = default_selected + +func _on_option_selected(index : int, by_user : bool) -> void: + if _valid_index(index): + if by_user: + print("Start Revert Countdown!") + revert_dialog.show_dialog.call_deferred(self) + previous_index = _find_resolution_index_by_value(Resolution.get_current_resolution()) + + Resolution.set_resolution(get_item_metadata(index)) + else: + push_error("Invalid ResolutionSelector index: %d" % index) + reset_setting(not by_user) diff --git a/game/src/Game/Menu/OptionMenu/ScreenModeSelector.gd b/game/src/Game/Menu/OptionMenu/ScreenModeSelector.gd new file mode 100644 index 0000000..af95901 --- /dev/null +++ b/game/src/Game/Menu/OptionMenu/ScreenModeSelector.gd @@ -0,0 +1,48 @@ +extends SettingRevertButton + +# REQUIREMENTS +# * UIFUN-42 + +enum ScreenMode { Unknown = -1, Fullscreen, Borderless, Windowed } + +func get_screen_mode_from_window_mode(window_mode : int) -> ScreenMode: + match window_mode: + Window.MODE_EXCLUSIVE_FULLSCREEN: + return ScreenMode.Fullscreen + Window.MODE_FULLSCREEN: + return ScreenMode.Borderless + Window.MODE_WINDOWED: + return ScreenMode.Windowed + _: + return ScreenMode.Unknown + +func get_window_mode_from_screen_mode(screen_mode : int) -> Window.Mode: + match screen_mode: + ScreenMode.Fullscreen: + return Window.MODE_EXCLUSIVE_FULLSCREEN + ScreenMode.Borderless: + return Window.MODE_FULLSCREEN + ScreenMode.Windowed: + return Window.MODE_WINDOWED + _: + return Window.MODE_EXCLUSIVE_FULLSCREEN + +func _setup_button(): + default_selected = get_screen_mode_from_window_mode(get_viewport().get_window().mode) + selected = default_selected + +func _on_option_selected(index : int, by_user : bool) -> void: + if _valid_index(index): + if by_user: + print("Start Revert Countdown!") + revert_dialog.show_dialog.call_deferred(self) + previous_index = get_screen_mode_from_window_mode(get_viewport().get_window().mode) + + var current_resolution := Resolution.get_current_resolution() + var window_mode := get_window_mode_from_screen_mode(index) + Resolution.window_mode_changed.emit(window_mode) + get_viewport().get_window().mode = window_mode + Resolution.set_resolution(current_resolution) + else: + push_error("Invalid ScreenModeSelector index: %d" % index) + reset_setting(not by_user) diff --git a/game/src/Game/Menu/OptionMenu/SettingNodes/SettingHSlider.gd b/game/src/Game/Menu/OptionMenu/SettingNodes/SettingHSlider.gd new file mode 100644 index 0000000..6fa30ed --- /dev/null +++ b/game/src/Game/Menu/OptionMenu/SettingNodes/SettingHSlider.gd @@ -0,0 +1,41 @@ +extends HSlider +class_name SettingHSlider + +@export +var section_name : String = "setting" + +@export +var setting_name : String = "setting_hslider" + +@export +var default_value : float = 0 + +func _ready(): + Events.Options.load_settings.connect(load_setting) + Events.Options.save_settings.connect(save_setting) + Events.Options.reset_settings.connect(reset_setting) + +func load_setting(file : ConfigFile): + if file == null: return + var load_value = file.get_value(section_name, setting_name, default_value) + match typeof(load_value): + TYPE_FLOAT, TYPE_INT: + if value == load_value: value_changed.emit(value) + value = load_value + return + TYPE_STRING, TYPE_STRING_NAME: + var load_string := load_value as String + if load_string.is_valid_float(): + load_value = load_string.to_float() + if value == load_value: value_changed.emit(value) + value = load_value + return + push_error("Setting value '%s' invalid for setting [%s] \"%s\"" % [load_value, section_name, setting_name]) + value = default_value + +func save_setting(file : ConfigFile): + if file == null: return + file.set_value(section_name, setting_name, value) + +func reset_setting(): + value = default_value diff --git a/game/src/Game/Menu/OptionMenu/SettingNodes/SettingOptionButton.gd b/game/src/Game/Menu/OptionMenu/SettingNodes/SettingOptionButton.gd new file mode 100644 index 0000000..c5a805e --- /dev/null +++ b/game/src/Game/Menu/OptionMenu/SettingNodes/SettingOptionButton.gd @@ -0,0 +1,77 @@ +extends OptionButton +class_name SettingOptionButton + +signal option_selected(index : int, by_user : bool) + +@export +var section_name : String = "setting" + +@export +var setting_name : String = "setting_optionbutton" + +@export +var default_selected : int = -1: + get: return default_selected + set(v): + if v < 0 or item_count == 0: + default_selected = -1 + return + default_selected = v % item_count + +func _valid_index(index : int) -> bool: + return 0 <= index and index < item_count + +func _get_value_for_file(select_value : int): + if _valid_index(select_value): + return select_value + else: + return null + +func _set_value_from_file(load_value) -> void: + match typeof(load_value): + TYPE_INT: + if _valid_index(load_value): + selected = load_value + return + TYPE_STRING, TYPE_STRING_NAME: + var load_string := load_value as String + if load_string.is_valid_int(): + var load_int := load_string.to_int() + if _valid_index(load_int): + selected = load_int + return + for item_index in item_count: + if load_string == get_item_text(item_index): + selected = item_index + return + push_error("Setting value '%s' invalid for setting [%s] \"%s\"" % [load_value, section_name, setting_name]) + selected = default_selected + +func _setup_button() -> void: + pass + +func _ready(): + Events.Options.load_settings.connect(load_setting) + Events.Options.save_settings.connect(save_setting) + Events.Options.reset_settings.connect(reset_setting) + item_selected.connect(func(index : int): option_selected.emit(index, true)) + _setup_button() + if not _valid_index(default_selected) or selected == -1: + var msg := "Failed to generate %s %s options." % [setting_name, section_name] + push_error(msg) + OS.alert(msg, "%s Options Error" % section_name) + get_tree().quit() + +func load_setting(file : ConfigFile) -> void: + if file == null: return + _set_value_from_file(file.get_value(section_name, setting_name, _get_value_for_file(default_selected))) + option_selected.emit(selected, false) + +func save_setting(file : ConfigFile) -> void: + if file == null: return + file.set_value(section_name, setting_name, _get_value_for_file(selected)) + +func reset_setting(no_emit : bool = false) -> void: + selected = default_selected + if not no_emit: + option_selected.emit(selected, false) diff --git a/game/src/Game/Menu/OptionMenu/SettingNodes/SettingRevertButton.gd b/game/src/Game/Menu/OptionMenu/SettingNodes/SettingRevertButton.gd new file mode 100644 index 0000000..945d35b --- /dev/null +++ b/game/src/Game/Menu/OptionMenu/SettingNodes/SettingRevertButton.gd @@ -0,0 +1,27 @@ +extends SettingOptionButton +class_name SettingRevertButton + +@export_group("Nodes") +@export var revert_dialog : ResolutionRevertDialog + +var previous_index : int = -1 + +func _ready(): + super() + if revert_dialog != null: + revert_dialog.visibility_changed.connect(_on_revert_dialog_visibility_changed) + revert_dialog.dialog_accepted.connect(_on_accepted) + revert_dialog.dialog_reverted.connect(_on_reverted) + +func _on_revert_dialog_visibility_changed() -> void: + disabled = revert_dialog.visible + if not revert_dialog.visible: + previous_index = -1 + +func _on_reverted(button : SettingRevertButton) -> void: + if button != self: return + selected = previous_index + option_selected.emit(selected, false) + +func _on_accepted(button : SettingRevertButton) -> void: + if button != self: return diff --git a/game/src/Game/Menu/OptionMenu/SoundTab.gd b/game/src/Game/Menu/OptionMenu/SoundTab.gd new file mode 100644 index 0000000..c707605 --- /dev/null +++ b/game/src/Game/Menu/OptionMenu/SoundTab.gd @@ -0,0 +1,4 @@ +extends HBoxContainer + +func _on_ear_exploder_toggled(button_pressed): + print("KABOOM!!!" if button_pressed else "DEFUSED!!!") diff --git a/game/src/Game/Menu/OptionMenu/SoundTab.tscn b/game/src/Game/Menu/OptionMenu/SoundTab.tscn new file mode 100644 index 0000000..10d7f10 --- /dev/null +++ b/game/src/Game/Menu/OptionMenu/SoundTab.tscn @@ -0,0 +1,34 @@ +[gd_scene load_steps=3 format=3 uid="uid://cbtgwpx2wxi33"] + +[ext_resource type="Script" path="res://src/OptionMenu/SoundTab.gd" id="1_a7k0s"] +[ext_resource type="PackedScene" uid="uid://dy4si8comamnv" path="res://src/OptionMenu/VolumeGrid.tscn" id="1_okpft"] + +[node name="Sound" type="HBoxContainer"] +alignment = 1 +script = ExtResource("1_a7k0s") + +[node name="VBoxContainer" type="VBoxContainer" parent="."] +layout_mode = 2 + +[node name="Control" type="Control" parent="VBoxContainer"] +layout_mode = 2 +size_flags_vertical = 3 +size_flags_stretch_ratio = 0.1 + +[node name="VolumeGrid" parent="VBoxContainer" instance=ExtResource("1_okpft")] +layout_mode = 2 + +[node name="ButtonGrid" type="GridContainer" parent="VBoxContainer"] +layout_mode = 2 +size_flags_vertical = 2 +columns = 2 + +[node name="Spacer" type="Control" parent="VBoxContainer/ButtonGrid"] +layout_mode = 2 +size_flags_horizontal = 3 + +[node name="EarExploder" type="CheckButton" parent="VBoxContainer/ButtonGrid"] +layout_mode = 2 +text = "Explode Eardrums on Startup?" + +[connection signal="toggled" from="VBoxContainer/ButtonGrid/EarExploder" to="." method="_on_ear_exploder_toggled"] diff --git a/game/src/Game/Menu/OptionMenu/VideoTab.gd b/game/src/Game/Menu/OptionMenu/VideoTab.gd new file mode 100644 index 0000000..3d98678 --- /dev/null +++ b/game/src/Game/Menu/OptionMenu/VideoTab.gd @@ -0,0 +1,9 @@ +extends HBoxContainer + +@export var initial_focus: Control + +func _notification(what : int) -> void: + match(what): + NOTIFICATION_VISIBILITY_CHANGED: + if visible and is_inside_tree(): + initial_focus.grab_focus() diff --git a/game/src/Game/Menu/OptionMenu/VideoTab.tscn b/game/src/Game/Menu/OptionMenu/VideoTab.tscn new file mode 100644 index 0000000..244f481 --- /dev/null +++ b/game/src/Game/Menu/OptionMenu/VideoTab.tscn @@ -0,0 +1,181 @@ +[gd_scene load_steps=9 format=3 uid="uid://bq3awxxjn1tuw"] + +[ext_resource type="Script" path="res://src/OptionMenu/ResolutionSelector.gd" id="1_i8nro"] +[ext_resource type="Script" path="res://src/OptionMenu/VideoTab.gd" id="1_jvv62"] +[ext_resource type="Script" path="res://src/OptionMenu/ScreenModeSelector.gd" id="2_wa7vw"] +[ext_resource type="Script" path="res://src/OptionMenu/GuiScaleSelector.gd" id="3_pgc5d"] +[ext_resource type="Script" path="res://src/OptionMenu/MonitorDisplaySelector.gd" id="3_y6lyb"] +[ext_resource type="Script" path="res://src/OptionMenu/RefreshRateSelector.gd" id="4_381mg"] +[ext_resource type="Script" path="res://src/OptionMenu/QualityPresetSelector.gd" id="5_srg4v"] +[ext_resource type="Script" path="res://src/OptionMenu/ResolutionRevertDialog.gd" id="8_802cr"] + +[node name="Video" type="HBoxContainer" node_paths=PackedStringArray("initial_focus")] +editor_description = "UI-46" +alignment = 1 +script = ExtResource("1_jvv62") +initial_focus = NodePath("VideoSettingList/VideoSettingGrid/ResolutionSelector") + +[node name="VideoSettingList" type="VBoxContainer" parent="."] +layout_mode = 2 + +[node name="Control" type="Control" parent="VideoSettingList"] +layout_mode = 2 +size_flags_vertical = 3 +size_flags_stretch_ratio = 0.1 + +[node name="VideoSettingGrid" type="GridContainer" parent="VideoSettingList"] +layout_mode = 2 +size_flags_vertical = 3 +columns = 2 + +[node name="ResolutionLabel" type="Label" parent="VideoSettingList/VideoSettingGrid"] +layout_mode = 2 +text = "OPTIONS_VIDEO_RESOLUTION" + +[node name="ResolutionSelector" type="OptionButton" parent="VideoSettingList/VideoSettingGrid" node_paths=PackedStringArray("revert_dialog")] +editor_description = "UI-19" +layout_mode = 2 +focus_neighbor_bottom = NodePath("../ScreenModeSelector") +item_count = 1 +selected = 0 +popup/item_0/text = "MISSING" +popup/item_0/id = 0 +script = ExtResource("1_i8nro") +revert_dialog = NodePath("../../../ResolutionRevertDialog") +section_name = "video" +setting_name = "resolution" + +[node name="GuiScaleLabel" type="Label" parent="VideoSettingList/VideoSettingGrid"] +layout_mode = 2 +text = "OPTIONS_VIDEO_GUI_SCALE" + +[node name="GuiScaleSelector" type="OptionButton" parent="VideoSettingList/VideoSettingGrid"] +editor_description = "UI-23" +layout_mode = 2 +focus_neighbor_bottom = NodePath("../ScreenModeSelector") +item_count = 1 +selected = 0 +popup/item_0/text = "MISSING" +popup/item_0/id = 0 +script = ExtResource("3_pgc5d") +section_name = "video" +setting_name = "gui_scale" + +[node name="ScreenModeLabel" type="Label" parent="VideoSettingList/VideoSettingGrid"] +editor_description = "UI-44" +layout_mode = 2 +text = "OPTIONS_VIDEO_SCREEN_MODE" + +[node name="ScreenModeSelector" type="OptionButton" parent="VideoSettingList/VideoSettingGrid" node_paths=PackedStringArray("revert_dialog")] +layout_mode = 2 +focus_neighbor_top = NodePath("../ResolutionSelector") +focus_neighbor_bottom = NodePath("../MonitorDisplaySelector") +item_count = 3 +selected = 0 +popup/item_0/text = "OPTIONS_VIDEO_FULLSCREEN" +popup/item_0/id = 0 +popup/item_1/text = "OPTIONS_VIDEO_BORDERLESS" +popup/item_1/id = 1 +popup/item_2/text = "OPTIONS_VIDEO_WINDOWED" +popup/item_2/id = 2 +script = ExtResource("2_wa7vw") +revert_dialog = NodePath("../../../ResolutionRevertDialog") +section_name = "video" +setting_name = "mode_selected" + +[node name="MonitorSelectionLabel" type="Label" parent="VideoSettingList/VideoSettingGrid"] +layout_mode = 2 +text = "OPTIONS_VIDEO_MONITOR_SELECTION" + +[node name="MonitorDisplaySelector" type="OptionButton" parent="VideoSettingList/VideoSettingGrid"] +layout_mode = 2 +focus_neighbor_top = NodePath("../ScreenModeSelector") +focus_neighbor_bottom = NodePath("../RefreshRateSelector") +item_count = 1 +selected = 0 +popup/item_0/text = "MISSING" +popup/item_0/id = 0 +script = ExtResource("3_y6lyb") +section_name = "video" +setting_name = "current_screen" + +[node name="RefreshRateLabel" type="Label" parent="VideoSettingList/VideoSettingGrid"] +layout_mode = 2 +text = "OPTIONS_VIDEO_REFRESH_RATE" + +[node name="RefreshRateSelector" type="OptionButton" parent="VideoSettingList/VideoSettingGrid"] +editor_description = "UI-18, UIFUN-20" +layout_mode = 2 +tooltip_text = "OPTIONS_VIDEO_REFRESH_RATE_TOOLTIP" +focus_neighbor_top = NodePath("../MonitorDisplaySelector") +focus_neighbor_bottom = NodePath("../QualityPresetSelector") +item_count = 8 +selected = 0 +popup/item_0/text = "VSYNC" +popup/item_0/id = 0 +popup/item_1/text = "30hz" +popup/item_1/id = 1 +popup/item_2/text = "60hz" +popup/item_2/id = 2 +popup/item_3/text = "90hz" +popup/item_3/id = 3 +popup/item_4/text = "120hz" +popup/item_4/id = 4 +popup/item_5/text = "144hz" +popup/item_5/id = 5 +popup/item_6/text = "365hz" +popup/item_6/id = 6 +popup/item_7/text = "Unlimited" +popup/item_7/id = 7 +script = ExtResource("4_381mg") +section_name = "video" +setting_name = "refresh_rate" +default_selected = 0 + +[node name="QualityPresetLabel" type="Label" parent="VideoSettingList/VideoSettingGrid"] +layout_mode = 2 +text = "OPTIONS_VIDEO_QUALITY" + +[node name="QualityPresetSelector" type="OptionButton" parent="VideoSettingList/VideoSettingGrid"] +editor_description = "UI-21, UIFUN-22" +layout_mode = 2 +focus_neighbor_top = NodePath("../RefreshRateSelector") +item_count = 5 +selected = 1 +popup/item_0/text = "Low" +popup/item_0/id = 0 +popup/item_1/text = "Medium" +popup/item_1/id = 1 +popup/item_2/text = "High" +popup/item_2/id = 2 +popup/item_3/text = "Ultra" +popup/item_3/id = 3 +popup/item_4/text = "Custom" +popup/item_4/id = 4 +script = ExtResource("5_srg4v") +section_name = "video" +setting_name = "quality_preset" +default_selected = 1 + +[node name="ResolutionRevertDialog" type="ConfirmationDialog" parent="." node_paths=PackedStringArray("timer")] +editor_description = "UI-873" +disable_3d = true +title = "OPTIONS_VIDEO_RESOLUTION_DIALOG_TITLE" +size = Vector2i(730, 100) +ok_button_text = "DIALOG_OK" +cancel_button_text = "DIALOG_CANCEL" +script = ExtResource("8_802cr") +timer = NodePath("ResolutionRevertTimer") + +[node name="ResolutionRevertTimer" type="Timer" parent="ResolutionRevertDialog"] +wait_time = 5.0 +one_shot = true + +[connection signal="option_selected" from="VideoSettingList/VideoSettingGrid/ResolutionSelector" to="VideoSettingList/VideoSettingGrid/ResolutionSelector" method="_on_option_selected"] +[connection signal="option_selected" from="VideoSettingList/VideoSettingGrid/GuiScaleSelector" to="VideoSettingList/VideoSettingGrid/GuiScaleSelector" method="_on_option_selected"] +[connection signal="option_selected" from="VideoSettingList/VideoSettingGrid/ScreenModeSelector" to="VideoSettingList/VideoSettingGrid/ScreenModeSelector" method="_on_option_selected"] +[connection signal="option_selected" from="VideoSettingList/VideoSettingGrid/MonitorDisplaySelector" to="VideoSettingList/VideoSettingGrid/MonitorDisplaySelector" method="_on_option_selected"] +[connection signal="canceled" from="ResolutionRevertDialog" to="ResolutionRevertDialog" method="_on_canceled_or_close_requested"] +[connection signal="close_requested" from="ResolutionRevertDialog" to="ResolutionRevertDialog" method="_on_canceled_or_close_requested"] +[connection signal="confirmed" from="ResolutionRevertDialog" to="ResolutionRevertDialog" method="_on_confirmed"] +[connection signal="timeout" from="ResolutionRevertDialog/ResolutionRevertTimer" to="ResolutionRevertDialog" method="_on_resolution_revert_timer_timeout"] diff --git a/game/src/Game/Menu/OptionMenu/VolumeGrid.gd b/game/src/Game/Menu/OptionMenu/VolumeGrid.gd new file mode 100644 index 0000000..46613b4 --- /dev/null +++ b/game/src/Game/Menu/OptionMenu/VolumeGrid.gd @@ -0,0 +1,70 @@ +extends GridContainer + +const RATIO_FOR_LINEAR : float = 100 + +var _slider_dictionary : Dictionary + +var initial_focus : Control + +func get_db_as_volume_value(db : float) -> float: + # db_to_linear produces a float between 0 and 1 from a db value + return db_to_linear(db) * RATIO_FOR_LINEAR + +func get_volume_value_as_db(value : float) -> float: + # linear_to_db consumes a float between 0 and 1 to produce the db value + return linear_to_db(value / RATIO_FOR_LINEAR) + +func add_volume_row(bus_name : String, bus_index : int) -> HSlider: + var volume_label := Label.new() + if bus_name == "Master": + volume_label.text = "MASTER_BUS" + else: + volume_label.text = bus_name + add_child(volume_label) + + var volume_slider := SettingHSlider.new() + volume_slider.section_name = "audio" + volume_slider.setting_name = volume_label.text + volume_slider.custom_minimum_size = Vector2(290, 0) + volume_slider.size_flags_vertical = Control.SIZE_FILL + volume_slider.min_value = 0 + volume_slider.default_value = 100 + volume_slider.max_value = 120 # 120 so volume can be boosted somewhat + volume_slider.value_changed.connect(_on_slider_value_changed.bind(bus_index)) + add_child(volume_slider) + + _slider_dictionary[volume_label.text] = volume_slider + if not initial_focus: initial_focus = volume_slider + return volume_slider + +# REQUIREMENTS +# * UI-22 +func _ready(): + for bus_index in AudioServer.bus_count: + add_volume_row(AudioServer.get_bus_name(bus_index), bus_index) + +func _notification(what : int) -> void: + match(what): + NOTIFICATION_VISIBILITY_CHANGED: + if visible and is_inside_tree() and initial_focus: initial_focus.grab_focus() + +# REQUIREMENTS +# * UIFUN-30 +func _on_slider_value_changed(value : float, bus_index : int) -> void: + AudioServer.set_bus_volume_db(bus_index, get_volume_value_as_db(value)) + + +func _on_options_menu_load_settings(load_file : ConfigFile): + for volume_slider in _slider_dictionary.values(): + volume_slider.load_setting(load_file) + +# REQUIREMENTS +# * UIFUN-23 +func _on_options_menu_save_settings(save_file : ConfigFile): + for volume_slider in _slider_dictionary.values(): + volume_slider.save_setting(save_file) + + +func _on_options_menu_reset_settings(): + for volume_slider in _slider_dictionary.values(): + volume_slider.reset_setting() diff --git a/game/src/Game/Menu/OptionMenu/VolumeGrid.tscn b/game/src/Game/Menu/OptionMenu/VolumeGrid.tscn new file mode 100644 index 0000000..6d4de3c --- /dev/null +++ b/game/src/Game/Menu/OptionMenu/VolumeGrid.tscn @@ -0,0 +1,8 @@ +[gd_scene load_steps=2 format=3 uid="uid://dy4si8comamnv"] + +[ext_resource type="Script" path="res://src/OptionMenu/VolumeGrid.gd" id="1_wb64h"] + +[node name="VolumeGrid" type="GridContainer"] +size_flags_vertical = 0 +columns = 2 +script = ExtResource("1_wb64h") -- cgit v1.2.3-56-ga3b1 From b98166b28c47cccff731d30959b8250fb27ff408 Mon Sep 17 00:00:00 2001 From: Spartan322 Date: Sat, 3 Jun 2023 15:03:52 -0400 Subject: Update file contents according to reorganization --- .../addons/openvic-plugin/ReleaseExportEditorPlugin.gd | 2 +- game/project.godot | 16 ++++++++-------- game/src/Game/Autoload/Argument/ArgumentParser.tscn | 4 ++-- game/src/Game/GameMenu.tscn | 12 ++++++------ game/src/Game/GameSession/GameSession.tscn | 18 +++++++++--------- game/src/Game/GameSession/GameSessionMenu.tscn | 4 ++-- game/src/Game/GameSession/GameSpeedPanel.tscn | 2 +- .../GameSession/MapControlPanel/MapControlPanel.tscn | 6 +++--- .../Game/GameSession/MapControlPanel/Minimap.gdshader | 2 +- game/src/Game/GameSession/MapView.tscn | 4 ++-- .../ProvinceOverviewPanel/ProvinceOverviewPanel.tscn | 2 +- game/src/Game/GameSession/TerrainMap.gdshader | 2 +- game/src/Game/GameStart.tscn | 6 +++--- game/src/Game/LocaleButton.tscn | 2 +- game/src/Game/Menu/CreditsMenu/CreditsMenu.tscn | 4 ++-- game/src/Game/Menu/CreditsMenu/GodotEngineButton.tscn | 4 ++-- .../CreditsMenu/logo_vertical_color_dark.svg.import | 6 +++--- game/src/Game/Menu/LobbyMenu/LobbyMenu.gd | 2 +- game/src/Game/Menu/LobbyMenu/LobbyMenu.tscn | 6 +++--- game/src/Game/Menu/LobbyMenu/LobbyPanelButton.tscn | 2 +- game/src/Game/Menu/MainMenu/MainMenu.tscn | 6 +++--- game/src/Game/Menu/MainMenu/ReleaseInfoBox.tscn | 2 +- game/src/Game/Menu/OptionMenu/GeneralTab.tscn | 8 ++++---- game/src/Game/Menu/OptionMenu/OptionsMenu.tscn | 10 +++++----- game/src/Game/Menu/OptionMenu/SoundTab.tscn | 4 ++-- game/src/Game/Menu/OptionMenu/VideoTab.tscn | 16 ++++++++-------- game/src/Game/Menu/OptionMenu/VolumeGrid.tscn | 2 +- game/src/Game/Menu/SaveLoadMenu/SaveLoadMenu.tscn | 4 ++-- game/src/Game/Menu/SaveLoadMenu/SavePanelButton.tscn | 2 +- game/src/Game/MusicConductor/MusicConductor.tscn | 2 +- game/src/Game/MusicConductor/MusicPlayer.tscn | 2 +- game/theme/game_session_menu.tres | 2 +- game/theme/main_menu.tres | 6 +++--- game/theme/options_menu.tres | 4 ++-- 34 files changed, 88 insertions(+), 88 deletions(-) (limited to 'game/src/Game/Menu/OptionMenu') diff --git a/game/addons/openvic-plugin/ReleaseExportEditorPlugin.gd b/game/addons/openvic-plugin/ReleaseExportEditorPlugin.gd index ac6c5bc..5deb761 100644 --- a/game/addons/openvic-plugin/ReleaseExportEditorPlugin.gd +++ b/game/addons/openvic-plugin/ReleaseExportEditorPlugin.gd @@ -9,7 +9,7 @@ func _get_name(): return "OpenVic-ReleaseExportEditorPlugin" func _export_file(path: String, type: String, features: PackedStringArray) -> void: - if path != "res://src/Utility/GIT_INFO.gd": return + if path != "res://src/GIT_INFO.gd": return var GitInfoScript : String = "" _get_commit_long() _get_commit_short() diff --git a/game/project.godot b/game/project.godot index 3bb2438..253a54b 100644 --- a/game/project.godot +++ b/game/project.godot @@ -12,7 +12,7 @@ config_version=5 config/name="OpenVic" config/description="A faithful recreation of Victoria 2: Heart of Darkness with a focus on enhancing performance, multiplayer stability, and modability for modern machines." -run/main_scene="res://src/GameStart.tscn" +run/main_scene="res://src/Game/GameStart.tscn" config/features=PackedStringArray("4.0", "Forward Plus") boot_splash/bg_color=Color(0.380392, 0.145098, 0.14902, 1) boot_splash/image="res://splash_assets/splash_image.png" @@ -21,14 +21,14 @@ config/project_settings_override.template="user://settings.cfg" [autoload] -ArgumentParser="*res://src/Autoload/Arguments/ArgumentParser.tscn" -Events="*res://src/Autoload/Events.gd" -Resolution="*res://src/Autoload/Resolution.gd" -SoundManager="*res://src/Autoload/SoundManager.gd" -MusicConductor="*res://src/MusicConductor/MusicConductor.tscn" +ArgumentParser="*res://src/Game/Autoload/Argument/ArgumentParser.tscn" +Events="*res://src/Game/Autoload/Events.gd" +Resolution="*res://src/Game/Autoload/Resolution.gd" +SoundManager="*res://src/Game/Autoload/SoundManager.gd" +MusicConductor="*res://src/Game/MusicConductor/MusicConductor.tscn" Keychain="*res://addons/keychain/Keychain.gd" -GuiScale="*res://src/Autoload/GuiScale.gd" -SaveManager="*res://src/Autoload/SaveManager.gd" +GuiScale="*res://src/Game/Autoload/GuiScale.gd" +SaveManager="*res://src/Game/Autoload/SaveManager.gd" [display] diff --git a/game/src/Game/Autoload/Argument/ArgumentParser.tscn b/game/src/Game/Autoload/Argument/ArgumentParser.tscn index 8fda8f1..09e5e6c 100644 --- a/game/src/Game/Autoload/Argument/ArgumentParser.tscn +++ b/game/src/Game/Autoload/Argument/ArgumentParser.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=6 format=3 uid="uid://dayjmgc34tqo6"] -[ext_resource type="Script" path="res://src/Autoload/Arguments/ArgumentParser.gd" id="1_pc7xr"] -[ext_resource type="Script" path="res://src/Autoload/Arguments/ArgumentOption.gd" id="2_4hguj"] +[ext_resource type="Script" path="res://src/Game/Autoload/Argument/ArgumentParser.gd" id="1_pc7xr"] +[ext_resource type="Script" path="res://src/Game/Autoload/Argument/ArgumentOption.gd" id="2_4hguj"] [sub_resource type="Resource" id="Resource_tq3y4"] script = ExtResource("2_4hguj") diff --git a/game/src/Game/GameMenu.tscn b/game/src/Game/GameMenu.tscn index 224ae2e..73287a5 100644 --- a/game/src/Game/GameMenu.tscn +++ b/game/src/Game/GameMenu.tscn @@ -1,11 +1,11 @@ [gd_scene load_steps=7 format=3 uid="uid://o4u142w4qkln"] -[ext_resource type="Script" path="res://src/GameMenu.gd" id="1_cafwe"] -[ext_resource type="PackedScene" uid="uid://bp5n3mlu45ygw" path="res://src/MainMenu/MainMenu.tscn" id="2_2jbkh"] -[ext_resource type="PackedScene" uid="uid://cnbfxjy1m6wja" path="res://src/OptionMenu/OptionsMenu.tscn" id="3_111lv"] -[ext_resource type="PackedScene" uid="uid://c8knthxkwj1uj" path="res://src/CreditsMenu/CreditsMenu.tscn" id="4_n0hoo"] -[ext_resource type="PackedScene" uid="uid://do60kx0d3nrh4" path="res://src/LobbyMenu/LobbyMenu.tscn" id="4_nofk1"] -[ext_resource type="PackedScene" uid="uid://cvl76duuym1wq" path="res://src/MusicConductor/MusicPlayer.tscn" id="6_lts1m"] +[ext_resource type="Script" path="res://src/Game/GameMenu.gd" id="1_cafwe"] +[ext_resource type="PackedScene" uid="uid://bp5n3mlu45ygw" path="res://src/Game/Menu/MainMenu/MainMenu.tscn" id="2_2jbkh"] +[ext_resource type="PackedScene" uid="uid://cnbfxjy1m6wja" path="res://src/Game/Menu/OptionMenu/OptionsMenu.tscn" id="3_111lv"] +[ext_resource type="PackedScene" uid="uid://c8knthxkwj1uj" path="res://src/Game/Menu/CreditsMenu/CreditsMenu.tscn" id="4_n0hoo"] +[ext_resource type="PackedScene" uid="uid://do60kx0d3nrh4" path="res://src/Game/Menu/LobbyMenu/LobbyMenu.tscn" id="4_nofk1"] +[ext_resource type="PackedScene" uid="uid://cvl76duuym1wq" path="res://src/Game/MusicConductor/MusicPlayer.tscn" id="6_lts1m"] [node name="GameMenu" type="Control" node_paths=PackedStringArray("_main_menu", "_options_menu", "_lobby_menu", "_credits_menu")] layout_mode = 3 diff --git a/game/src/Game/GameSession/GameSession.tscn b/game/src/Game/GameSession/GameSession.tscn index 188ccde..c9f4095 100644 --- a/game/src/Game/GameSession/GameSession.tscn +++ b/game/src/Game/GameSession/GameSession.tscn @@ -1,14 +1,14 @@ [gd_scene load_steps=10 format=3 uid="uid://bgnupcshe1m7r"] -[ext_resource type="Script" path="res://src/GameSession/GameSession.gd" id="1_eklvp"] -[ext_resource type="PackedScene" uid="uid://cvl76duuym1wq" path="res://src/MusicConductor/MusicPlayer.tscn" id="2_kt6aa"] -[ext_resource type="PackedScene" uid="uid://g524p8lr574w" path="res://src/GameSession/MapControlPanel/MapControlPanel.tscn" id="3_afh6d"] -[ext_resource type="PackedScene" uid="uid://dvdynl6eir40o" path="res://src/GameSession/GameSessionMenu.tscn" id="3_bvmqh"] -[ext_resource type="PackedScene" uid="uid://dkehmdnuxih2r" path="res://src/GameSession/MapView.tscn" id="4_xkg5j"] -[ext_resource type="PackedScene" uid="uid://byq323jbel48u" path="res://src/GameSession/ProvinceOverviewPanel/ProvinceOverviewPanel.tscn" id="5_osjnn"] -[ext_resource type="PackedScene" uid="uid://cnbfxjy1m6wja" path="res://src/OptionMenu/OptionsMenu.tscn" id="6_p5mnx"] -[ext_resource type="PackedScene" uid="uid://dd8k3p7r3huwc" path="res://src/GameSession/GameSpeedPanel.tscn" id="7_myy4q"] -[ext_resource type="PackedScene" uid="uid://d3g6wbvwflmyk" path="res://src/SaveLoadMenu/SaveLoadMenu.tscn" id="8_4g7ko"] +[ext_resource type="Script" path="res://src/Game/GameSession/GameSession.gd" id="1_eklvp"] +[ext_resource type="PackedScene" uid="uid://cvl76duuym1wq" path="res://src/Game/MusicConductor/MusicPlayer.tscn" id="2_kt6aa"] +[ext_resource type="PackedScene" uid="uid://g524p8lr574w" path="res://src/Game/GameSession/MapControlPanel/MapControlPanel.tscn" id="3_afh6d"] +[ext_resource type="PackedScene" uid="uid://dvdynl6eir40o" path="res://src/Game/GameSession/GameSessionMenu.tscn" id="3_bvmqh"] +[ext_resource type="PackedScene" uid="uid://dkehmdnuxih2r" path="res://src/Game/GameSession/MapView.tscn" id="4_xkg5j"] +[ext_resource type="PackedScene" uid="uid://byq323jbel48u" path="res://src/Game/GameSession/ProvinceOverviewPanel/ProvinceOverviewPanel.tscn" id="5_osjnn"] +[ext_resource type="PackedScene" uid="uid://cnbfxjy1m6wja" path="res://src/Game/Menu/OptionMenu/OptionsMenu.tscn" id="6_p5mnx"] +[ext_resource type="PackedScene" uid="uid://dd8k3p7r3huwc" path="res://src/Game/GameSession/GameSpeedPanel.tscn" id="7_myy4q"] +[ext_resource type="PackedScene" uid="uid://d3g6wbvwflmyk" path="res://src/Game/Menu/SaveLoadMenu/SaveLoadMenu.tscn" id="8_4g7ko"] [node name="GameSession" type="Control" node_paths=PackedStringArray("_game_session_menu")] editor_description = "SS-102, UI-546" diff --git a/game/src/Game/GameSession/GameSessionMenu.tscn b/game/src/Game/GameSession/GameSessionMenu.tscn index 025ef3b..196a5d8 100644 --- a/game/src/Game/GameSession/GameSessionMenu.tscn +++ b/game/src/Game/GameSession/GameSessionMenu.tscn @@ -1,8 +1,8 @@ [gd_scene load_steps=4 format=3 uid="uid://dvdynl6eir40o"] [ext_resource type="Theme" uid="uid://cqrfmjt5yeti7" path="res://theme/game_session_menu.tres" id="1_2onog"] -[ext_resource type="Script" path="res://src/GameSession/GameSessionMenu.gd" id="1_usq6o"] -[ext_resource type="PackedScene" uid="uid://o4u142w4qkln" path="res://src/GameMenu.tscn" id="2_xi6a4"] +[ext_resource type="Script" path="res://src/Game/GameSession/GameSessionMenu.gd" id="1_usq6o"] +[ext_resource type="PackedScene" uid="uid://o4u142w4qkln" path="res://src/Game/GameMenu.tscn" id="2_xi6a4"] [node name="GameSessionMenu" type="PanelContainer" node_paths=PackedStringArray("_main_menu_dialog", "_quit_dialog")] process_mode = 3 diff --git a/game/src/Game/GameSession/GameSpeedPanel.tscn b/game/src/Game/GameSession/GameSpeedPanel.tscn index 8a37565..fab988e 100644 --- a/game/src/Game/GameSession/GameSpeedPanel.tscn +++ b/game/src/Game/GameSession/GameSpeedPanel.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://dd8k3p7r3huwc"] -[ext_resource type="Script" path="res://src/GameSession/GameSpeedPanel.gd" id="1_pfs8t"] +[ext_resource type="Script" path="res://src/Game/GameSession/GameSpeedPanel.gd" id="1_pfs8t"] [node name="GameSpeedPanel" type="PanelContainer" node_paths=PackedStringArray("_longform_date_button", "_play_pause_display_button", "_decrease_speed_button", "_increase_speed_button")] script = ExtResource("1_pfs8t") diff --git a/game/src/Game/GameSession/MapControlPanel/MapControlPanel.tscn b/game/src/Game/GameSession/MapControlPanel/MapControlPanel.tscn index bd4a010..a00f110 100644 --- a/game/src/Game/GameSession/MapControlPanel/MapControlPanel.tscn +++ b/game/src/Game/GameSession/MapControlPanel/MapControlPanel.tscn @@ -1,8 +1,8 @@ [gd_scene load_steps=7 format=3 uid="uid://g524p8lr574w"] -[ext_resource type="Script" path="res://src/GameSession/MapControlPanel/MapControlPanel.gd" id="1_ign64"] -[ext_resource type="Shader" path="res://src/GameSession/MapControlPanel/Minimap.gdshader" id="2_rinsg"] -[ext_resource type="Script" path="res://src/GameSession/MapControlPanel/Minimap.gd" id="3_s4dml"] +[ext_resource type="Script" path="res://src/Game/GameSession/MapControlPanel/MapControlPanel.gd" id="1_ign64"] +[ext_resource type="Shader" path="res://src/Game/GameSession/MapControlPanel/Minimap.gdshader" id="2_rinsg"] +[ext_resource type="Script" path="res://src/Game/GameSession/MapControlPanel/Minimap.gd" id="3_s4dml"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_bhuqb"] shader = ExtResource("2_rinsg") diff --git a/game/src/Game/GameSession/MapControlPanel/Minimap.gdshader b/game/src/Game/GameSession/MapControlPanel/Minimap.gdshader index 608abe2..271b809 100644 --- a/game/src/Game/GameSession/MapControlPanel/Minimap.gdshader +++ b/game/src/Game/GameSession/MapControlPanel/Minimap.gdshader @@ -1,6 +1,6 @@ shader_type canvas_item; -#include "res://src/GameSession/ProvinceIndexSampler.gdshaderinc" +#include "res://src/Game/GameSession/ProvinceIndexSampler.gdshaderinc" // Index of the currently selected province uniform uint selected_index; diff --git a/game/src/Game/GameSession/MapView.tscn b/game/src/Game/GameSession/MapView.tscn index fa6ffcd..fb4ac07 100644 --- a/game/src/Game/GameSession/MapView.tscn +++ b/game/src/Game/GameSession/MapView.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=5 format=3 uid="uid://dkehmdnuxih2r"] -[ext_resource type="Script" path="res://src/GameSession/MapView.gd" id="1_exccw"] -[ext_resource type="Shader" path="res://src/GameSession/TerrainMap.gdshader" id="1_upocn"] +[ext_resource type="Script" path="res://src/Game/GameSession/MapView.gd" id="1_exccw"] +[ext_resource type="Shader" path="res://src/Game/GameSession/TerrainMap.gdshader" id="1_upocn"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_tayeg"] render_priority = 0 diff --git a/game/src/Game/GameSession/ProvinceOverviewPanel/ProvinceOverviewPanel.tscn b/game/src/Game/GameSession/ProvinceOverviewPanel/ProvinceOverviewPanel.tscn index a233db0..f8c1e65 100644 --- a/game/src/Game/GameSession/ProvinceOverviewPanel/ProvinceOverviewPanel.tscn +++ b/game/src/Game/GameSession/ProvinceOverviewPanel/ProvinceOverviewPanel.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://byq323jbel48u"] -[ext_resource type="Script" path="res://src/GameSession/ProvinceOverviewPanel/ProvinceOverviewPanel.gd" id="1_3n8k5"] +[ext_resource type="Script" path="res://src/Game/GameSession/ProvinceOverviewPanel/ProvinceOverviewPanel.gd" id="1_3n8k5"] [node name="ProvinceOverviewPanel" type="PanelContainer" node_paths=PackedStringArray("_province_name_label", "_region_name_label", "_life_rating_bar", "_rgo_icon_texture_rect", "_rgo_name_label", "_buildings_container")] editor_description = "UI-56" diff --git a/game/src/Game/GameSession/TerrainMap.gdshader b/game/src/Game/GameSession/TerrainMap.gdshader index 88e7019..852ccc3 100644 --- a/game/src/Game/GameSession/TerrainMap.gdshader +++ b/game/src/Game/GameSession/TerrainMap.gdshader @@ -2,7 +2,7 @@ shader_type spatial; render_mode unshaded; -#include "res://src/GameSession/ProvinceIndexSampler.gdshaderinc" +#include "res://src/Game/GameSession/ProvinceIndexSampler.gdshaderinc" // Province colour texture uniform sampler2D province_colour_tex: source_color, repeat_enable, filter_nearest; diff --git a/game/src/Game/GameStart.tscn b/game/src/Game/GameStart.tscn index 2046bb5..dd683e8 100644 --- a/game/src/Game/GameStart.tscn +++ b/game/src/Game/GameStart.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=6 format=3 uid="uid://1udsn4mggep2"] -[ext_resource type="PackedScene" uid="uid://o4u142w4qkln" path="res://src/GameMenu.tscn" id="1_wlojq"] -[ext_resource type="Script" path="res://src/SplashContainer.gd" id="2_xmcgv"] +[ext_resource type="PackedScene" uid="uid://o4u142w4qkln" path="res://src/Game/GameMenu.tscn" id="1_vadki"] +[ext_resource type="Script" path="res://src/Game/SplashContainer.gd" id="2_xmcgv"] [ext_resource type="Texture2D" uid="uid://deef5hufq0j61" path="res://splash_assets/splash_end.png" id="3_qfv12"] [ext_resource type="Texture2D" uid="uid://cgdnixsyh7bja" path="res://splash_assets/splash_image.png" id="4_5b6yq"] [ext_resource type="VideoStream" path="res://splash_assets/splash_startup.ogv" id="5_8euyy"] @@ -14,7 +14,7 @@ anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 -[node name="GameMenu" parent="." instance=ExtResource("1_wlojq")] +[node name="GameMenu" parent="." instance=ExtResource("1_vadki")] visible = false layout_mode = 1 diff --git a/game/src/Game/LocaleButton.tscn b/game/src/Game/LocaleButton.tscn index 55f1c29..c4b58f8 100644 --- a/game/src/Game/LocaleButton.tscn +++ b/game/src/Game/LocaleButton.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://b7oncobnacxmt"] -[ext_resource type="Script" path="res://src/LocaleButton.gd" id="1_ganev"] +[ext_resource type="Script" path="res://src/Game/LocaleButton.gd" id="1_ganev"] [node name="LocaleButton" type="OptionButton"] custom_minimum_size = Vector2(150, 0) diff --git a/game/src/Game/Menu/CreditsMenu/CreditsMenu.tscn b/game/src/Game/Menu/CreditsMenu/CreditsMenu.tscn index 2d10d2e..df9d0b2 100644 --- a/game/src/Game/Menu/CreditsMenu/CreditsMenu.tscn +++ b/game/src/Game/Menu/CreditsMenu/CreditsMenu.tscn @@ -1,8 +1,8 @@ [gd_scene load_steps=4 format=3 uid="uid://c8knthxkwj1uj"] [ext_resource type="Theme" uid="uid://stfxt4hpsify" path="res://theme/credits_menu.tres" id="1_7y4l8"] -[ext_resource type="Script" path="res://src/CreditsMenu/CreditsMenu.gd" id="1_csd7i"] -[ext_resource type="PackedScene" uid="uid://ddjbee5gj6bkv" path="res://src/CreditsMenu/GodotEngineButton.tscn" id="3_fl02a"] +[ext_resource type="Script" path="res://src/Game/Menu/CreditsMenu/CreditsMenu.gd" id="1_csd7i"] +[ext_resource type="PackedScene" uid="uid://ddjbee5gj6bkv" path="res://src/Game/Menu/CreditsMenu/GodotEngineButton.tscn" id="3_fl02a"] [node name="CreditsMenu" type="Control" node_paths=PackedStringArray("credits_list")] editor_description = "UI-34" diff --git a/game/src/Game/Menu/CreditsMenu/GodotEngineButton.tscn b/game/src/Game/Menu/CreditsMenu/GodotEngineButton.tscn index 8b0c46b..c613553 100644 --- a/game/src/Game/Menu/CreditsMenu/GodotEngineButton.tscn +++ b/game/src/Game/Menu/CreditsMenu/GodotEngineButton.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=3 format=3 uid="uid://ddjbee5gj6bkv"] -[ext_resource type="Texture2D" uid="uid://rh7l4xuh4ali" path="res://src/CreditsMenu/logo_vertical_color_dark.svg" id="1_b0brk"] -[ext_resource type="Script" path="res://src/CreditsMenu/GodotEngineButton.gd" id="3_gi8fv"] +[ext_resource type="Texture2D" uid="uid://rh7l4xuh4ali" path="res://src/Game/Menu/CreditsMenu/logo_vertical_color_dark.svg" id="1_b0brk"] +[ext_resource type="Script" path="res://src/Game/Menu/CreditsMenu/GodotEngineButton.gd" id="3_gi8fv"] [node name="GodotEngineButton" type="Button"] custom_minimum_size = Vector2(0, 200) diff --git a/game/src/Game/Menu/CreditsMenu/logo_vertical_color_dark.svg.import b/game/src/Game/Menu/CreditsMenu/logo_vertical_color_dark.svg.import index a4fb09a..10681d4 100644 --- a/game/src/Game/Menu/CreditsMenu/logo_vertical_color_dark.svg.import +++ b/game/src/Game/Menu/CreditsMenu/logo_vertical_color_dark.svg.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://rh7l4xuh4ali" -path="res://.godot/imported/logo_vertical_color_dark.svg-1167b3ce62f0747c0e76b17bdbb9f218.ctex" +path="res://.godot/imported/logo_vertical_color_dark.svg-c63a0d0871169a4a2f8b57a5b904d732.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://src/CreditsMenu/logo_vertical_color_dark.svg" -dest_files=["res://.godot/imported/logo_vertical_color_dark.svg-1167b3ce62f0747c0e76b17bdbb9f218.ctex"] +source_file="res://src/Game/Menu/CreditsMenu/logo_vertical_color_dark.svg" +dest_files=["res://.godot/imported/logo_vertical_color_dark.svg-c63a0d0871169a4a2f8b57a5b904d732.ctex"] [params] diff --git a/game/src/Game/Menu/LobbyMenu/LobbyMenu.gd b/game/src/Game/Menu/LobbyMenu/LobbyMenu.gd index db4f2ce..3c857fe 100644 --- a/game/src/Game/Menu/LobbyMenu/LobbyMenu.gd +++ b/game/src/Game/Menu/LobbyMenu/LobbyMenu.gd @@ -116,7 +116,7 @@ func _on_session_tag_edit_text_submitted(new_text): _on_start_button_pressed() func _on_session_tag_dialog_confirmed(): - get_tree().change_scene_to_file("res://src/GameSession/GameSession.tscn") + get_tree().change_scene_to_file("res://src/Game/GameSession/GameSession.tscn") var _requested_node_to_delete : Control func _on_save_node_delete_requested(node : Control) -> void: diff --git a/game/src/Game/Menu/LobbyMenu/LobbyMenu.tscn b/game/src/Game/Menu/LobbyMenu/LobbyMenu.tscn index 3b5796e..081beda 100644 --- a/game/src/Game/Menu/LobbyMenu/LobbyMenu.tscn +++ b/game/src/Game/Menu/LobbyMenu/LobbyMenu.tscn @@ -1,8 +1,8 @@ [gd_scene load_steps=4 format=3 uid="uid://do60kx0d3nrh4"] -[ext_resource type="Script" path="res://src/LobbyMenu/LobbyMenu.gd" id="1_cvwum"] -[ext_resource type="PackedScene" uid="uid://k71f5gibwmtc" path="res://src/LobbyMenu/LobbyPanelButton.tscn" id="2_exh17"] -[ext_resource type="PackedScene" uid="uid://d2s7roinx2or7" path="res://src/SaveLoadMenu/SavePanelButton.tscn" id="3_4otj7"] +[ext_resource type="Script" path="res://src/Game/Menu/LobbyMenu/LobbyMenu.gd" id="1_cvwum"] +[ext_resource type="PackedScene" uid="uid://k71f5gibwmtc" path="res://src/Game/Menu/LobbyMenu/LobbyPanelButton.tscn" id="2_exh17"] +[ext_resource type="PackedScene" uid="uid://d2s7roinx2or7" path="res://src/Game/Menu/SaveLoadMenu/SavePanelButton.tscn" id="3_4otj7"] [node name="LobbyMenu" type="HBoxContainer" node_paths=PackedStringArray("game_select_start_date", "game_select_save_tab", "game_select_save_list", "start_button", "session_tag_line_edit", "session_tag_dialog", "delete_dialog")] editor_description = "UI-36" diff --git a/game/src/Game/Menu/LobbyMenu/LobbyPanelButton.tscn b/game/src/Game/Menu/LobbyMenu/LobbyPanelButton.tscn index f409a2e..f27ddac 100644 --- a/game/src/Game/Menu/LobbyMenu/LobbyPanelButton.tscn +++ b/game/src/Game/Menu/LobbyMenu/LobbyPanelButton.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://k71f5gibwmtc"] -[ext_resource type="Script" path="res://src/LobbyMenu/LobbyPanelButton.gd" id="1_327u2"] +[ext_resource type="Script" path="res://src/Game/Menu/LobbyMenu/LobbyPanelButton.gd" id="1_327u2"] [node name="LobbyPanelButton" type="Container" node_paths=PackedStringArray("background_button", "name_label")] editor_description = "UI-41" diff --git a/game/src/Game/Menu/MainMenu/MainMenu.tscn b/game/src/Game/Menu/MainMenu/MainMenu.tscn index 0618fe8..71d020a 100644 --- a/game/src/Game/Menu/MainMenu/MainMenu.tscn +++ b/game/src/Game/Menu/MainMenu/MainMenu.tscn @@ -1,10 +1,10 @@ [gd_scene load_steps=6 format=3 uid="uid://bp5n3mlu45ygw"] [ext_resource type="Theme" uid="uid://qoi3oec48jp0" path="res://theme/main_menu.tres" id="1_1yri4"] -[ext_resource type="Script" path="res://src/MainMenu/MainMenu.gd" id="2_nm1fq"] +[ext_resource type="Script" path="res://src/Game/Menu/MainMenu/MainMenu.gd" id="2_nm1fq"] [ext_resource type="Texture2D" uid="uid://dxys0wg0f0ic5" path="res://theme/assets/OpenVicFINALREALTRANS.png" id="3_58ess"] -[ext_resource type="PackedScene" uid="uid://b7oncobnacxmt" path="res://src/LocaleButton.tscn" id="3_amonp"] -[ext_resource type="PackedScene" uid="uid://cen7wkmn6og66" path="res://src/MainMenu/ReleaseInfoBox.tscn" id="3_km0er"] +[ext_resource type="PackedScene" uid="uid://b7oncobnacxmt" path="res://src/Game/LocaleButton.tscn" id="3_amonp"] +[ext_resource type="PackedScene" uid="uid://cen7wkmn6og66" path="res://src/Game/Menu/MainMenu/ReleaseInfoBox.tscn" id="3_km0er"] [node name="MainMenu" type="Control" node_paths=PackedStringArray("_new_game_button")] editor_description = "UI-13" diff --git a/game/src/Game/Menu/MainMenu/ReleaseInfoBox.tscn b/game/src/Game/Menu/MainMenu/ReleaseInfoBox.tscn index 821982b..a10232e 100644 --- a/game/src/Game/Menu/MainMenu/ReleaseInfoBox.tscn +++ b/game/src/Game/Menu/MainMenu/ReleaseInfoBox.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://cen7wkmn6og66"] -[ext_resource type="Script" path="res://src/MainMenu/ReleaseInfoBox.gd" id="1_y2djw"] +[ext_resource type="Script" path="res://src/Game/Menu/MainMenu/ReleaseInfoBox.gd" id="1_y2djw"] [node name="ReleaseInfoBox" type="HBoxContainer" node_paths=PackedStringArray("_version_label", "_commit_label", "_checksum_label")] editor_description = "UI-31" diff --git a/game/src/Game/Menu/OptionMenu/GeneralTab.tscn b/game/src/Game/Menu/OptionMenu/GeneralTab.tscn index 4e9ff6a..1c49326 100644 --- a/game/src/Game/Menu/OptionMenu/GeneralTab.tscn +++ b/game/src/Game/Menu/OptionMenu/GeneralTab.tscn @@ -1,9 +1,9 @@ [gd_scene load_steps=5 format=3 uid="uid://duwjal7sd7p6w"] -[ext_resource type="Script" path="res://src/OptionMenu/GeneralTab.gd" id="1_gbutn"] -[ext_resource type="PackedScene" uid="uid://b7oncobnacxmt" path="res://src/LocaleButton.tscn" id="2_5cfd7"] -[ext_resource type="Script" path="res://src/OptionMenu/SettingNodes/SettingOptionButton.gd" id="2_msx2u"] -[ext_resource type="Script" path="res://src/OptionMenu/AutosaveIntervalSelector.gd" id="2_t06tb"] +[ext_resource type="Script" path="res://src/Game/Menu/OptionMenu/GeneralTab.gd" id="1_gbutn"] +[ext_resource type="PackedScene" uid="uid://b7oncobnacxmt" path="res://src/Game/LocaleButton.tscn" id="2_5cfd7"] +[ext_resource type="Script" path="res://src/Game/Menu/OptionMenu/SettingNodes/SettingOptionButton.gd" id="2_msx2u"] +[ext_resource type="Script" path="res://src/Game/Menu/OptionMenu/AutosaveIntervalSelector.gd" id="2_t06tb"] [node name="GeneralTab" type="HBoxContainer" node_paths=PackedStringArray("initial_focus")] editor_description = "UI-48, UIFUN-45" diff --git a/game/src/Game/Menu/OptionMenu/OptionsMenu.tscn b/game/src/Game/Menu/OptionMenu/OptionsMenu.tscn index 3156e33..017629a 100644 --- a/game/src/Game/Menu/OptionMenu/OptionsMenu.tscn +++ b/game/src/Game/Menu/OptionMenu/OptionsMenu.tscn @@ -1,12 +1,12 @@ [gd_scene load_steps=8 format=3 uid="uid://cnbfxjy1m6wja"] [ext_resource type="Theme" uid="uid://fbxssqcg1s0m" path="res://theme/options_menu.tres" id="1_0up1d"] -[ext_resource type="Script" path="res://src/OptionMenu/OptionsMenu.gd" id="1_tlein"] -[ext_resource type="PackedScene" uid="uid://bq3awxxjn1tuw" path="res://src/OptionMenu/VideoTab.tscn" id="2_ji8xr"] -[ext_resource type="PackedScene" uid="uid://cbtgwpx2wxi33" path="res://src/OptionMenu/SoundTab.tscn" id="3_4w35t"] -[ext_resource type="PackedScene" uid="uid://duwjal7sd7p6w" path="res://src/OptionMenu/GeneralTab.tscn" id="3_6gvf6"] +[ext_resource type="Script" path="res://src/Game/Menu/OptionMenu/OptionsMenu.gd" id="1_tlein"] +[ext_resource type="PackedScene" uid="uid://bq3awxxjn1tuw" path="res://src/Game/Menu/OptionMenu/VideoTab.tscn" id="2_ji8xr"] +[ext_resource type="PackedScene" uid="uid://cbtgwpx2wxi33" path="res://src/Game/Menu/OptionMenu/SoundTab.tscn" id="3_4w35t"] +[ext_resource type="PackedScene" uid="uid://duwjal7sd7p6w" path="res://src/Game/Menu/OptionMenu/GeneralTab.tscn" id="3_6gvf6"] [ext_resource type="PackedScene" uid="uid://bq7ibhm0txl5p" path="res://addons/keychain/ShortcutEdit.tscn" id="4_vdhjp"] -[ext_resource type="PackedScene" uid="uid://dp2grvybtecqu" path="res://src/OptionMenu/OtherTab.tscn" id="5_ahefp"] +[ext_resource type="PackedScene" uid="uid://dp2grvybtecqu" path="res://src/Game/Menu/OptionMenu/OtherTab.tscn" id="5_ahefp"] [node name="OptionsMenu" type="PanelContainer"] editor_description = "UI-25" diff --git a/game/src/Game/Menu/OptionMenu/SoundTab.tscn b/game/src/Game/Menu/OptionMenu/SoundTab.tscn index 10d7f10..4bb6948 100644 --- a/game/src/Game/Menu/OptionMenu/SoundTab.tscn +++ b/game/src/Game/Menu/OptionMenu/SoundTab.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=3 format=3 uid="uid://cbtgwpx2wxi33"] -[ext_resource type="Script" path="res://src/OptionMenu/SoundTab.gd" id="1_a7k0s"] -[ext_resource type="PackedScene" uid="uid://dy4si8comamnv" path="res://src/OptionMenu/VolumeGrid.tscn" id="1_okpft"] +[ext_resource type="Script" path="res://src/Game/Menu/OptionMenu/SoundTab.gd" id="1_a7k0s"] +[ext_resource type="PackedScene" uid="uid://dy4si8comamnv" path="res://src/Game/Menu/OptionMenu/VolumeGrid.tscn" id="1_okpft"] [node name="Sound" type="HBoxContainer"] alignment = 1 diff --git a/game/src/Game/Menu/OptionMenu/VideoTab.tscn b/game/src/Game/Menu/OptionMenu/VideoTab.tscn index 244f481..4f5151c 100644 --- a/game/src/Game/Menu/OptionMenu/VideoTab.tscn +++ b/game/src/Game/Menu/OptionMenu/VideoTab.tscn @@ -1,13 +1,13 @@ [gd_scene load_steps=9 format=3 uid="uid://bq3awxxjn1tuw"] -[ext_resource type="Script" path="res://src/OptionMenu/ResolutionSelector.gd" id="1_i8nro"] -[ext_resource type="Script" path="res://src/OptionMenu/VideoTab.gd" id="1_jvv62"] -[ext_resource type="Script" path="res://src/OptionMenu/ScreenModeSelector.gd" id="2_wa7vw"] -[ext_resource type="Script" path="res://src/OptionMenu/GuiScaleSelector.gd" id="3_pgc5d"] -[ext_resource type="Script" path="res://src/OptionMenu/MonitorDisplaySelector.gd" id="3_y6lyb"] -[ext_resource type="Script" path="res://src/OptionMenu/RefreshRateSelector.gd" id="4_381mg"] -[ext_resource type="Script" path="res://src/OptionMenu/QualityPresetSelector.gd" id="5_srg4v"] -[ext_resource type="Script" path="res://src/OptionMenu/ResolutionRevertDialog.gd" id="8_802cr"] +[ext_resource type="Script" path="res://src/Game/Menu/OptionMenu/ResolutionSelector.gd" id="1_i8nro"] +[ext_resource type="Script" path="res://src/Game/Menu/OptionMenu/VideoTab.gd" id="1_jvv62"] +[ext_resource type="Script" path="res://src/Game/Menu/OptionMenu/ScreenModeSelector.gd" id="2_wa7vw"] +[ext_resource type="Script" path="res://src/Game/Menu/OptionMenu/GuiScaleSelector.gd" id="3_pgc5d"] +[ext_resource type="Script" path="res://src/Game/Menu/OptionMenu/MonitorDisplaySelector.gd" id="3_y6lyb"] +[ext_resource type="Script" path="res://src/Game/Menu/OptionMenu/RefreshRateSelector.gd" id="4_381mg"] +[ext_resource type="Script" path="res://src/Game/Menu/OptionMenu/QualityPresetSelector.gd" id="5_srg4v"] +[ext_resource type="Script" path="res://src/Game/Menu/OptionMenu/ResolutionRevertDialog.gd" id="8_802cr"] [node name="Video" type="HBoxContainer" node_paths=PackedStringArray("initial_focus")] editor_description = "UI-46" diff --git a/game/src/Game/Menu/OptionMenu/VolumeGrid.tscn b/game/src/Game/Menu/OptionMenu/VolumeGrid.tscn index 6d4de3c..5dd3c1e 100644 --- a/game/src/Game/Menu/OptionMenu/VolumeGrid.tscn +++ b/game/src/Game/Menu/OptionMenu/VolumeGrid.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://dy4si8comamnv"] -[ext_resource type="Script" path="res://src/OptionMenu/VolumeGrid.gd" id="1_wb64h"] +[ext_resource type="Script" path="res://src/Game/Menu/OptionMenu/VolumeGrid.gd" id="1_wb64h"] [node name="VolumeGrid" type="GridContainer"] size_flags_vertical = 0 diff --git a/game/src/Game/Menu/SaveLoadMenu/SaveLoadMenu.tscn b/game/src/Game/Menu/SaveLoadMenu/SaveLoadMenu.tscn index e9f068e..adc9bdc 100644 --- a/game/src/Game/Menu/SaveLoadMenu/SaveLoadMenu.tscn +++ b/game/src/Game/Menu/SaveLoadMenu/SaveLoadMenu.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=5 format=3 uid="uid://d3g6wbvwflmyk"] -[ext_resource type="Script" path="res://src/SaveLoadMenu/SaveLoadMenu.gd" id="1_3jkds"] -[ext_resource type="PackedScene" uid="uid://d2s7roinx2or7" path="res://src/SaveLoadMenu/SavePanelButton.tscn" id="2_fc6r3"] +[ext_resource type="Script" path="res://src/Game/Menu/SaveLoadMenu/SaveLoadMenu.gd" id="1_3jkds"] +[ext_resource type="PackedScene" uid="uid://d2s7roinx2or7" path="res://src/Game/Menu/SaveLoadMenu/SavePanelButton.tscn" id="2_fc6r3"] [sub_resource type="InputEventAction" id="InputEventAction_8vo2t"] action = &"ui_accept" diff --git a/game/src/Game/Menu/SaveLoadMenu/SavePanelButton.tscn b/game/src/Game/Menu/SaveLoadMenu/SavePanelButton.tscn index d2d0a41..94dc8a3 100644 --- a/game/src/Game/Menu/SaveLoadMenu/SavePanelButton.tscn +++ b/game/src/Game/Menu/SaveLoadMenu/SavePanelButton.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://d2s7roinx2or7"] -[ext_resource type="Script" path="res://src/SaveLoadMenu/SavePanelButton.gd" id="1_rtuo6"] +[ext_resource type="Script" path="res://src/Game/Menu/SaveLoadMenu/SavePanelButton.gd" id="1_rtuo6"] [node name="SavePanelButton" type="Container" node_paths=PackedStringArray("country_flag", "date_label", "delete_button", "background_button", "name_label")] editor_description = "SS-18, UI-40, UI-84, UI-86, UI-91, UI-93" diff --git a/game/src/Game/MusicConductor/MusicConductor.tscn b/game/src/Game/MusicConductor/MusicConductor.tscn index 182de99..3c288be 100644 --- a/game/src/Game/MusicConductor/MusicConductor.tscn +++ b/game/src/Game/MusicConductor/MusicConductor.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://b1h31mnn8n2nu"] -[ext_resource type="Script" path="res://src/MusicConductor/MusicConductor.gd" id="1_56t1b"] +[ext_resource type="Script" path="res://src/Game/MusicConductor/MusicConductor.gd" id="1_56t1b"] [node name="MusicConductor" type="Node"] script = ExtResource("1_56t1b") diff --git a/game/src/Game/MusicConductor/MusicPlayer.tscn b/game/src/Game/MusicConductor/MusicPlayer.tscn index 80ad641..8d47ba0 100644 --- a/game/src/Game/MusicConductor/MusicPlayer.tscn +++ b/game/src/Game/MusicConductor/MusicPlayer.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://cvl76duuym1wq"] -[ext_resource type="Script" path="res://src/MusicConductor/MusicPlayer.gd" id="1_gcm4m"] +[ext_resource type="Script" path="res://src/Game/MusicConductor/MusicPlayer.gd" id="1_gcm4m"] [node name="MusicPlayer" type="BoxContainer" node_paths=PackedStringArray("_song_selector_button", "_progress_slider", "_previous_song_button", "_play_pause_button", "_next_song_button", "_visbility_button")] editor_description = "UI-104" diff --git a/game/theme/game_session_menu.tres b/game/theme/game_session_menu.tres index 0cab476..68847d4 100644 --- a/game/theme/game_session_menu.tres +++ b/game/theme/game_session_menu.tres @@ -1,7 +1,7 @@ [gd_resource type="Theme" load_steps=11 format=3 uid="uid://cqrfmjt5yeti7"] [ext_resource type="StyleBox" uid="uid://blwilunhmyvpq" path="res://theme/assets/main_menu_button_normal.tres" id="1_7med2"] -[ext_resource type="Script" path="res://src/Utility/StyleBoxWithSound.gd" id="2_oj3dv"] +[ext_resource type="Script" path="res://src/Game/Theme/StyleBoxWithSound.gd" id="2_oj3dv"] [ext_resource type="AudioStream" uid="uid://bsldcs3l8s7ug" path="res://addons/kenney_ui_audio/click3.wav" id="3_j823n"] [ext_resource type="Texture2D" uid="uid://c0p34i3d3b0pw" path="res://theme/assets/main_menu_button.png" id="4_lno5s"] diff --git a/game/theme/main_menu.tres b/game/theme/main_menu.tres index 0518cd8..e25da4d 100644 --- a/game/theme/main_menu.tres +++ b/game/theme/main_menu.tres @@ -1,12 +1,12 @@ [gd_resource type="Theme" load_steps=32 format=3 uid="uid://qoi3oec48jp0"] -[ext_resource type="Script" path="res://src/Utility/StyleBoxCombinedTexture.gd" id="1_axke7"] -[ext_resource type="Script" path="res://src/Utility/TextureSetting.gd" id="2_7bwl2"] +[ext_resource type="Script" path="res://src/Game/Theme/StyleBoxCombinedTexture.gd" id="1_axke7"] +[ext_resource type="Script" path="res://src/Game/Theme/TextureSetting.gd" id="2_7bwl2"] [ext_resource type="Texture2D" uid="uid://dapuqgpjs56bs" path="res://theme/assets/main_menu_background.png" id="3_cpatd"] [ext_resource type="Texture2D" uid="uid://q25s41oavuxw" path="res://theme/assets/main_menu_border_paper.png" id="4_sl60o"] [ext_resource type="Texture2D" uid="uid://c0p34i3d3b0pw" path="res://theme/assets/main_menu_button.png" id="5_xj7ql"] [ext_resource type="StyleBox" uid="uid://blwilunhmyvpq" path="res://theme/assets/main_menu_button_normal.tres" id="6_dx0aj"] -[ext_resource type="Script" path="res://src/Utility/StyleBoxWithSound.gd" id="7_qo00e"] +[ext_resource type="Script" path="res://src/Game/Theme/StyleBoxWithSound.gd" id="7_qo00e"] [ext_resource type="AudioStream" uid="uid://bsldcs3l8s7ug" path="res://addons/kenney_ui_audio/click3.wav" id="8_etuft"] [sub_resource type="Resource" id="Resource_hxpog"] diff --git a/game/theme/options_menu.tres b/game/theme/options_menu.tres index 04bcb96..58c12ab 100644 --- a/game/theme/options_menu.tres +++ b/game/theme/options_menu.tres @@ -1,7 +1,7 @@ [gd_resource type="Theme" load_steps=8 format=3 uid="uid://fbxssqcg1s0m"] -[ext_resource type="Script" path="res://src/Utility/StyleBoxCombinedTexture.gd" id="1_6eqg5"] -[ext_resource type="Script" path="res://src/Utility/TextureSetting.gd" id="2_d0e1t"] +[ext_resource type="Script" path="res://src/Game/Theme/StyleBoxCombinedTexture.gd" id="1_6eqg5"] +[ext_resource type="Script" path="res://src/Game/Theme/TextureSetting.gd" id="2_d0e1t"] [ext_resource type="Texture2D" uid="uid://dapuqgpjs56bs" path="res://theme/assets/main_menu_background.png" id="3_t863y"] [ext_resource type="Texture2D" uid="uid://q25s41oavuxw" path="res://theme/assets/main_menu_border_paper.png" id="4_ljte1"] -- cgit v1.2.3-56-ga3b1