#pragma once #include "framework/config_framework.hpp" #include #include #include namespace Settings { enum class CPUEngine { NARMive, }; struct CPUEngineTag : Config::Option { static constexpr const char* name = "CPUEngine"; using type = CPUEngine; static type default_value() { return default_val; } static CPUEngine default_val; }; struct InitialApplicationTag : Config::Option { struct HostFile { std::string filename; }; struct FileDescriptor { int fd; }; static constexpr const char* name = "InitialApplication"; using type = std::variant; static type default_value() { return std::monostate {}; } }; // Launches the Home Menu (or other menu with the given title ID) from emulated NAND upon OS startup struct BootToHomeMenu : Config::BooleanOption { static constexpr const char* name = "BootToHomeMenu"; }; // Use the native HID module upon OS startup struct UseNativeHID : Config::BooleanOption { static constexpr const char* name = "UseNativeHID"; }; // Use the native FS module upon OS startup struct UseNativeFS : Config::BooleanOption { static constexpr const char* name = "UseNativeFS"; }; // Dump displayed frames to a series of binary files struct DumpFrames : Config::BooleanOption { static constexpr const char* name = "DumpFrames"; }; // Connect to a debugger via the GDB remote protocol on startup struct ConnectToDebugger : Config::BooleanOption { static constexpr const char* name = "ConnectToDebugger"; }; // Connect to a debugger via the GDB remote protocol on startup struct AttachToProcessOnStartup : Config::IntegralOption { static constexpr const char* name = "ProcessToAttachTo"; }; struct AppMemType : Config::IntegralOption { static constexpr const char* name = "AppMemType"; }; enum class Renderer { Software, Vulkan, }; struct RendererTag : Config::OptionDefault { static constexpr const char* name = "Renderer"; }; enum class ShaderEngine { Interpreter, Bytecode, GLSL, }; struct ShaderEngineTag : Config::OptionDefault { static constexpr const char* name = "ShaderEngine"; }; struct EnableAudioEmulation : Config::BooleanOption { static constexpr const char* name = "EnableAudioEmulation"; }; struct Settings : Config::Options { }; } // namespace Settings