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:
		| @@ -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)); |  | ||||||
|     } |     } | ||||||
| }; | }; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -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); | ||||||
| } | } | ||||||
|   | |||||||
| @@ -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> { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user