mirror of
https://github.com/stenzek/duckstation.git
synced 2026-02-12 09:24:33 +00:00
FullscreenUI: Split settings into its own file
This commit is contained in:
@@ -6,7 +6,9 @@ import re
|
||||
|
||||
START_IDENT = "// TRANSLATION-STRING-AREA-BEGIN"
|
||||
END_IDENT = "// TRANSLATION-STRING-AREA-END"
|
||||
SRC_FILES = ["src/core/fullscreenui.cpp", "src/core/fullscreenui_widgets.cpp", "src/core/fullscreenui_widgets.h"]
|
||||
SRC_FILES = ["src/core/fullscreenui.cpp",
|
||||
"src/core/fullscreenui_settings.cpp",
|
||||
"src/core/fullscreenui_widgets.cpp", "src/core/fullscreenui_widgets.h"]
|
||||
DST_FILE = "src/core/fullscreenui.cpp"
|
||||
|
||||
full_source = ""
|
||||
|
||||
@@ -40,6 +40,8 @@ add_library(core
|
||||
dma.h
|
||||
fullscreenui.cpp
|
||||
fullscreenui.h
|
||||
fullscreenui_private.h
|
||||
fullscreenui_settings.cpp
|
||||
fullscreenui_widgets.cpp
|
||||
fullscreenui_widgets.h
|
||||
game_database.cpp
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
<ClCompile Include="cpu_types.cpp" />
|
||||
<ClCompile Include="ddgo_controller.cpp" />
|
||||
<ClCompile Include="digital_controller.cpp" />
|
||||
<ClCompile Include="fullscreenui_settings.cpp" />
|
||||
<ClCompile Include="fullscreenui_widgets.cpp" />
|
||||
<ClCompile Include="fullscreenui.cpp" />
|
||||
<ClCompile Include="game_database.cpp" />
|
||||
@@ -112,6 +113,7 @@
|
||||
</ClInclude>
|
||||
<ClInclude Include="ddgo_controller.h" />
|
||||
<ClInclude Include="digital_controller.h" />
|
||||
<ClInclude Include="fullscreenui_private.h" />
|
||||
<ClInclude Include="fullscreenui_widgets.h" />
|
||||
<ClInclude Include="fullscreenui.h" />
|
||||
<ClInclude Include="game_database.h" />
|
||||
|
||||
@@ -69,6 +69,7 @@
|
||||
<ClCompile Include="gpu_presenter.cpp" />
|
||||
<ClCompile Include="ddgo_controller.cpp" />
|
||||
<ClCompile Include="fullscreenui_widgets.cpp" />
|
||||
<ClCompile Include="fullscreenui_settings.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="types.h" />
|
||||
@@ -148,6 +149,7 @@
|
||||
<ClInclude Include="gpu_presenter.h" />
|
||||
<ClInclude Include="ddgo_controller.h" />
|
||||
<ClInclude Include="fullscreenui_widgets.h" />
|
||||
<ClInclude Include="fullscreenui_private.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="gpu_sw_rasterizer.inl" />
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
81
src/core/fullscreenui_private.h
Normal file
81
src/core/fullscreenui_private.h
Normal file
@@ -0,0 +1,81 @@
|
||||
// SPDX-FileCopyrightText: 2019-2025 Connor McLaughlin <stenzek@gmail.com>
|
||||
// SPDX-License-Identifier: CC-BY-NC-ND-4.0
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "fullscreenui.h"
|
||||
#include "fullscreenui_widgets.h"
|
||||
#include "types.h"
|
||||
|
||||
namespace GameList {
|
||||
struct Entry;
|
||||
}
|
||||
|
||||
namespace FullscreenUI {
|
||||
|
||||
enum class MainWindowType : u8
|
||||
{
|
||||
None,
|
||||
Landing,
|
||||
StartGame,
|
||||
Exit,
|
||||
GameList,
|
||||
Settings,
|
||||
PauseMenu,
|
||||
SaveStateSelector,
|
||||
Achievements,
|
||||
Leaderboards,
|
||||
};
|
||||
|
||||
enum class SettingsPage : u8
|
||||
{
|
||||
Summary,
|
||||
Interface,
|
||||
GameList,
|
||||
Console,
|
||||
Emulation,
|
||||
BIOS,
|
||||
Controller,
|
||||
Hotkey,
|
||||
MemoryCards,
|
||||
Graphics,
|
||||
PostProcessing,
|
||||
Audio,
|
||||
Achievements,
|
||||
Advanced,
|
||||
Patches,
|
||||
Cheats,
|
||||
Count
|
||||
};
|
||||
|
||||
void SwitchToMainWindow(MainWindowType type);
|
||||
void ReturnToMainWindow();
|
||||
void ReturnToMainWindow(float transition_time);
|
||||
|
||||
void ExitFullscreenAndOpenURL(std::string_view url);
|
||||
void CopyTextToClipboard(std::string title, std::string_view text);
|
||||
|
||||
FileSelectorFilters GetDiscImageFilters();
|
||||
FileSelectorFilters GetImageFilters();
|
||||
|
||||
void SetCoverCacheEntry(std::string path, std::string cover_path);
|
||||
void ClearCoverCache();
|
||||
|
||||
void InitializeHotkeyList();
|
||||
void ClearSettingsState();
|
||||
void SwitchToSettings();
|
||||
bool SwitchToGameSettings(SettingsPage page = SettingsPage::Summary);
|
||||
void SwitchToGameSettings(const GameList::Entry* entry, SettingsPage page = SettingsPage::Summary);
|
||||
bool SwitchToGameSettingsForPath(const std::string& path, SettingsPage page = SettingsPage::Summary);
|
||||
void SwitchToGameSettingsForSerial(std::string_view serial, GameHash hash, SettingsPage page = SettingsPage::Summary);
|
||||
void DrawSettingsWindow();
|
||||
SettingsPage GetCurrentSettingsPage();
|
||||
bool IsInputBindingDialogOpen();
|
||||
|
||||
// TODO: Move to widgets or something
|
||||
inline constexpr const char* DEFAULT_BACKGROUND_NAME = "StaticGray";
|
||||
inline constexpr const char* NONE_BACKGROUND_NAME = "None";
|
||||
ChoiceDialogOptions GetBackgroundOptions(const TinyString& current_value);
|
||||
void LoadBackground();
|
||||
|
||||
} // namespace FullscreenUI
|
||||
5221
src/core/fullscreenui_settings.cpp
Normal file
5221
src/core/fullscreenui_settings.cpp
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user