Frontends: Add shared command line interface
Also provides batch mode and automatic fullscreen switching.
-help: Displays this information and exits.
-version: Displays version information and exits.
-batch: Enables batch mode (exits after powering off)
-fastboot: Force fast boot for provided filename
-slowboot: Force slow boot for provided filename
-resume: Load resume save state. If a boot filename is provided,
that game's resume state will be loaded, otherwise the most
recent resume save state will be loaded.
-state <index>: Loads specified save state by index. If a boot
filename is provided, a per-game state will be loaded, otherwise
a global state will be loaded.
-statefile <filename>: Loads state from the specified filename.
No boot filename is required with this option.
-fullscreen: Enters fullscreen mode immediately after starting.
-nofullscreen: Prevents fullscreen mode from triggering if enabled.
-portable: Forces "portable mode", data in same directory.
--: Signals that no more arguments will follow and the remaining
parameters make up the filename. Use when the filename contains
spaces or starts with a dash.
This commit is contained in:
@ -34,6 +34,11 @@ SDLHostInterface::SDLHostInterface()
|
||||
|
||||
SDLHostInterface::~SDLHostInterface() = default;
|
||||
|
||||
const char* SDLHostInterface::GetFrontendName() const
|
||||
{
|
||||
return "DuckStation SDL/ImGui Frontend";
|
||||
}
|
||||
|
||||
float SDLHostInterface::GetDPIScaleFactor(SDL_Window* window)
|
||||
{
|
||||
#ifdef __APPLE__
|
||||
@ -191,10 +196,6 @@ bool SDLHostInterface::AcquireHostDisplay()
|
||||
}
|
||||
#endif
|
||||
|
||||
// Switch to fullscreen if requested.
|
||||
if (m_settings.start_fullscreen)
|
||||
SetFullscreen(true);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -274,6 +275,11 @@ void SDLHostInterface::OnRunningGameChanged()
|
||||
SDL_SetWindowTitle(m_window, "DuckStation");
|
||||
}
|
||||
|
||||
void SDLHostInterface::RequestExit()
|
||||
{
|
||||
m_quit_request = true;
|
||||
}
|
||||
|
||||
void SDLHostInterface::RunLater(std::function<void()> callback)
|
||||
{
|
||||
SDL_Event ev = {};
|
||||
|
||||
Reference in New Issue
Block a user