mirror of
https://github.com/WinampDesktop/winamp.git
synced 2025-04-30 06:25:43 -04:00
58 lines
1.6 KiB
C++
58 lines
1.6 KiB
C++
#pragma once
|
|
#include "types.h"
|
|
#include <optional>
|
|
|
|
struct Settings
|
|
{
|
|
Settings();
|
|
|
|
ConsoleRegion region = ConsoleRegion::Auto;
|
|
|
|
bool start_paused = false;
|
|
bool speed_limiter_enabled = true;
|
|
bool audio_sync_enabled = true;
|
|
bool video_sync_enabled = true;
|
|
|
|
GPURenderer gpu_renderer = GPURenderer::Software;
|
|
u32 gpu_resolution_scale = 1;
|
|
mutable u32 max_gpu_resolution_scale = 1;
|
|
bool gpu_true_color = false;
|
|
bool display_linear_filtering = true;
|
|
bool display_fullscreen = false;
|
|
|
|
struct DebugSettings
|
|
{
|
|
bool show_vram = false;
|
|
bool dump_cpu_to_vram_copies = false;
|
|
bool dump_vram_to_cpu_copies = false;
|
|
|
|
// Mutable because the imgui window can close itself.
|
|
mutable bool show_gpu_state = false;
|
|
mutable bool show_cdrom_state = false;
|
|
mutable bool show_spu_state = false;
|
|
mutable bool show_timers_state = false;
|
|
mutable bool show_mdec_state = false;
|
|
} debugging;
|
|
|
|
// TODO: Controllers, memory cards, etc.
|
|
|
|
std::string bios_path;
|
|
bool bios_patch_tty_enable = true;
|
|
bool bios_patch_fast_boot = false;
|
|
|
|
std::string memory_card_a_path;
|
|
std::string memory_card_b_path;
|
|
|
|
void SetDefaults();
|
|
void Load(const char* filename);
|
|
bool Save(const char* filename) const;
|
|
|
|
static std::optional<ConsoleRegion> ParseConsoleRegionName(const char* str);
|
|
static const char* GetConsoleRegionName(ConsoleRegion region);
|
|
static const char* GetConsoleRegionDisplayName(ConsoleRegion region);
|
|
|
|
static std::optional<GPURenderer> ParseRendererName(const char* str);
|
|
static const char* GetRendererName(GPURenderer renderer);
|
|
static const char* GetRendererDisplayName(GPURenderer renderer);
|
|
};
|