summaryrefslogtreecommitdiff
path: root/src/citra
diff options
context:
space:
mode:
authorSubv <subv2112@gmail.com>2016-11-26 23:13:40 -0500
committerSubv <subv2112@gmail.com>2016-11-27 18:03:48 -0500
commitd171409f29ce3d8bcf7ed6ce16392b4b4ec97c4b (patch)
tree25b4b0c9fd1f316812c3eb74310b9a31f872a4f5 /src/citra
parent1323ab2f5f1627b39e48b6f970ad8208fa7af71e (diff)
Kernel/Loader: Grab the system mode from the NCCH ExHeader.
3dsx and elf files default to system mode 2 (96MB allocated to the application). This allows Home Menu to boot without modifications. Closes #1849
Diffstat (limited to 'src/citra')
-rw-r--r--src/citra/citra.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/citra/citra.cpp b/src/citra/citra.cpp
index c742be231..f9387e61c 100644
--- a/src/citra/citra.cpp
+++ b/src/citra/citra.cpp
@@ -135,17 +135,17 @@ int main(int argc, char** argv) {
return -1;
}
- u32 system_mode;
- Loader::ResultStatus load_result = loader->LoadKernelSystemMode(system_mode);
- if (Loader::ResultStatus::Success != load_result) {
- LOG_CRITICAL(Frontend, "Failed to load ROM (Error %i)!", load_result);
+ boost::optional<u32> system_mode = loader->LoadKernelSystemMode();
+
+ if (!system_mode) {
+ LOG_CRITICAL(Frontend, "Failed to load ROM (Could not determine system mode)!");
return -1;
}
- System::Init(emu_window.get(), system_mode);
+ System::Init(emu_window.get(), system_mode.get());
SCOPE_EXIT({ System::Shutdown(); });
- load_result = loader->Load();
+ Loader::ResultStatus load_result = loader->Load();
if (Loader::ResultStatus::Success != load_result) {
LOG_CRITICAL(Frontend, "Failed to load ROM (Error %i)!", load_result);
return -1;