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:
@ -50,10 +50,11 @@ public:
|
||||
/// Shuts down the emulator frontend.
|
||||
virtual void Shutdown();
|
||||
|
||||
bool BootSystem(const SystemBootParameters& parameters);
|
||||
virtual bool BootSystem(const SystemBootParameters& parameters);
|
||||
virtual void PowerOffSystem();
|
||||
|
||||
void PauseSystem(bool paused);
|
||||
void ResetSystem();
|
||||
void PowerOffSystem();
|
||||
void DestroySystem();
|
||||
|
||||
/// Loads state from the specified filename.
|
||||
@ -158,6 +159,9 @@ protected:
|
||||
/// Sets the base path for the user directory. Can be overridden by platform/frontend/command line.
|
||||
virtual void SetUserDirectory();
|
||||
|
||||
/// Sets the user directory to the program directory, i.e. "portable mode".
|
||||
void SetUserDirectoryToProgramDirectory();
|
||||
|
||||
/// Performs the initial load of settings. Should call CheckSettings() and m_settings.Load().
|
||||
virtual void LoadSettings() = 0;
|
||||
|
||||
@ -229,14 +233,14 @@ protected:
|
||||
Settings m_settings;
|
||||
std::string m_user_directory;
|
||||
|
||||
std::deque<OSDMessage> m_osd_messages;
|
||||
std::mutex m_osd_messages_lock;
|
||||
|
||||
bool m_paused = false;
|
||||
bool m_speed_limiter_temp_disabled = false;
|
||||
bool m_speed_limiter_enabled = false;
|
||||
bool m_timer_resolution_increased = false;
|
||||
|
||||
std::deque<OSDMessage> m_osd_messages;
|
||||
std::mutex m_osd_messages_lock;
|
||||
|
||||
private:
|
||||
void InitializeUserDirectory();
|
||||
void CreateAudioStream();
|
||||
|
||||
Reference in New Issue
Block a user