Fixed GetAccountId stub, Added error code for OpenDirectory and added ActivateNpadWithRevision

With these, `Nintendo Entertainment System - Nintendo Switch Online` loads
This commit is contained in:
David Marcec 2018-09-19 23:25:00 +10:00
parent b33ce787b7
commit cbc7ad8f6d
3 changed files with 12 additions and 7 deletions

View File

@ -130,11 +130,10 @@ private:
void GetAccountId(Kernel::HLERequestContext& ctx) { void GetAccountId(Kernel::HLERequestContext& ctx) {
LOG_WARNING(Service_ACC, "(STUBBED) called"); LOG_WARNING(Service_ACC, "(STUBBED) called");
// TODO(Subv): Find out what this actually does and implement it. Stub it as an error for // Should return a nintendo account ID
// now since we do not implement NNID. Returning a bogus id here will cause games to send IPC::ResponseBuilder rb{ctx, 4};
// invalid IPC requests after ListOpenUsers is called. rb.Push(RESULT_SUCCESS);
IPC::ResponseBuilder rb{ctx, 2}; rb.PushRaw<u64>(1);
rb.Push(ResultCode(-1));
} }
}; };

View File

@ -197,7 +197,7 @@ ResultVal<FileSys::VirtualDir> VfsDirectoryServiceWrapper::OpenDirectory(const s
auto dir = GetDirectoryRelativeWrapped(backing, path); auto dir = GetDirectoryRelativeWrapped(backing, path);
if (dir == nullptr) { if (dir == nullptr) {
// TODO(DarkLordZach): Find a better error code for this // TODO(DarkLordZach): Find a better error code for this
return ResultCode(-1); return FileSys::ERROR_PATH_NOT_FOUND;
} }
return MakeResult(dir); return MakeResult(dir);
} }

View File

@ -338,7 +338,7 @@ public:
{106, &Hid::AcquireNpadStyleSetUpdateEventHandle, "AcquireNpadStyleSetUpdateEventHandle"}, {106, &Hid::AcquireNpadStyleSetUpdateEventHandle, "AcquireNpadStyleSetUpdateEventHandle"},
{107, &Hid::DisconnectNpad, "DisconnectNpad"}, {107, &Hid::DisconnectNpad, "DisconnectNpad"},
{108, &Hid::GetPlayerLedPattern, "GetPlayerLedPattern"}, {108, &Hid::GetPlayerLedPattern, "GetPlayerLedPattern"},
{109, nullptr, "ActivateNpadWithRevision"}, {109, &Hid::ActivateNpadWithRevision, "ActivateNpadWithRevision"},
{120, &Hid::SetNpadJoyHoldType, "SetNpadJoyHoldType"}, {120, &Hid::SetNpadJoyHoldType, "SetNpadJoyHoldType"},
{121, &Hid::GetNpadJoyHoldType, "GetNpadJoyHoldType"}, {121, &Hid::GetNpadJoyHoldType, "GetNpadJoyHoldType"},
{122, &Hid::SetNpadJoyAssignmentModeSingleByDefault, "SetNpadJoyAssignmentModeSingleByDefault"}, {122, &Hid::SetNpadJoyAssignmentModeSingleByDefault, "SetNpadJoyAssignmentModeSingleByDefault"},
@ -603,6 +603,12 @@ private:
rb.Push(RESULT_SUCCESS); rb.Push(RESULT_SUCCESS);
LOG_WARNING(Service_HID, "(STUBBED) called"); LOG_WARNING(Service_HID, "(STUBBED) called");
} }
void ActivateNpadWithRevision(Kernel::HLERequestContext& ctx) {
IPC::ResponseBuilder rb{ctx, 2};
rb.Push(RESULT_SUCCESS);
LOG_WARNING(Service_HID, "(STUBBED) called");
}
}; };
class HidDbg final : public ServiceFramework<HidDbg> { class HidDbg final : public ServiceFramework<HidDbg> {