Added system for handling core errors in citra-qt.

This commit is contained in:
TheKoopaKingdom 2017-03-08 16:28:30 -05:00
parent e523c76cc8
commit 1ecb322daa
9 changed files with 121 additions and 26 deletions

View file

@ -8,6 +8,7 @@
#include "common/logging/log.h"
#include "common/scope_exit.h"
#include "common/string_util.h"
#include "core/core.h"
#include "core/file_sys/errors.h"
#include "core/hle/kernel/client_session.h"
#include "core/hle/result.h"
@ -132,6 +133,10 @@ static void OpenFileDirectly(Service::Interface* self) {
LOG_ERROR(Service_FS,
"failed to get a handle for archive archive_id=0x%08X archive_path=%s",
static_cast<u32>(archive_id), archive_path.DebugStr().c_str());
if (static_cast<u32>(archive_id) == 0x2345678A) {
Core::System::GetInstance().SetStatus(Core::System::ResultStatus::ErrorSystemFiles);
return;
}
cmd_buff[1] = archive_handle.Code().raw;
cmd_buff[3] = 0;
return;