Added system for handling core errors in citra-qt.
This commit is contained in:
parent
e523c76cc8
commit
1ecb322daa
9 changed files with 121 additions and 26 deletions
|
@ -5,6 +5,7 @@
|
|||
#include "common/common_paths.h"
|
||||
#include "common/file_util.h"
|
||||
#include "common/logging/log.h"
|
||||
#include "core/core.h"
|
||||
#include "core/hle/applets/applet.h"
|
||||
#include "core/hle/kernel/event.h"
|
||||
#include "core/hle/kernel/mutex.h"
|
||||
|
@ -74,6 +75,7 @@ void GetSharedFont(Service::Interface* self) {
|
|||
LOG_ERROR(Service_APT, "shared font file missing - go dump it from your 3ds");
|
||||
rb.Push<u32>(-1); // TODO: Find the right error code
|
||||
rb.Skip(1 + 2, true);
|
||||
Core::System::GetInstance().SetStatus(Core::System::ResultStatus::ErrorSharedFont);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -279,8 +281,9 @@ void CancelParameter(Service::Interface* self) {
|
|||
rb.Push(RESULT_SUCCESS); // No error
|
||||
rb.Push(true); // Set to Success
|
||||
|
||||
LOG_WARNING(Service_APT, "(STUBBED) called check_sender=0x%08X, sender_appid=0x%08X, "
|
||||
"check_receiver=0x%08X, receiver_appid=0x%08X",
|
||||
LOG_WARNING(Service_APT,
|
||||
"(STUBBED) called check_sender=0x%08X, sender_appid=0x%08X, "
|
||||
"check_receiver=0x%08X, receiver_appid=0x%08X",
|
||||
check_sender, sender_appid, check_receiver, receiver_appid);
|
||||
}
|
||||
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
#include "common/bit_field.h"
|
||||
#include "common/common_types.h"
|
||||
#include "common/logging/log.h"
|
||||
#include "core/core.h"
|
||||
#include "core/hle/result.h"
|
||||
#include "core/hle/service/err_f.h"
|
||||
|
||||
|
@ -172,6 +173,7 @@ static void ThrowFatalError(Interface* self) {
|
|||
const ErrInfo* errinfo = reinterpret_cast<ErrInfo*>(&cmd_buff[1]);
|
||||
LOG_CRITICAL(Service_ERR, "Fatal error type: %s",
|
||||
GetErrType(errinfo->errinfo_common.specifier).c_str());
|
||||
Core::System::GetInstance().SetStatus(Core::System::ResultStatus::ErrorUnknown);
|
||||
|
||||
// Generic Info
|
||||
LogGenericInfo(errinfo->errinfo_common);
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue