diff options
Diffstat (limited to 'src/core/system.h')
-rw-r--r-- | src/core/system.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/core/system.h b/src/core/system.h new file mode 100644 index 000000000..8e94e5252 --- /dev/null +++ b/src/core/system.h @@ -0,0 +1,35 @@ +// Copyright 2014 Citra Emulator Project +// Licensed under GPLv2 +// Refer to the license.txt file included. + +#pragma once + +#include "emu_window.h" +#include "file_sys/meta_file_system.h" + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +namespace System { + +// State of the full emulator +typedef enum { + STATE_NULL = 0, ///< System is in null state, nothing initialized + STATE_IDLE, ///< System is in an initialized state, but not running + STATE_RUNNING, ///< System is running + STATE_LOADING, ///< System is loading a ROM + STATE_HALTED, ///< System is halted (error) + STATE_STALLED, ///< System is stalled (unused) + STATE_DEBUG, ///< System is in a special debug mode (unused) + STATE_DIE ///< System is shutting down +} State; + +extern volatile State g_state; +extern MetaFileSystem g_ctr_file_system; + +void UpdateState(State state); +void Init(EmuWindow* emu_window); +void RunLoopFor(int cycles); +void RunLoopUntil(u64 global_cycles); +void Shutdown(); + +}; |