diff options
| author | 2018-07-20 09:47:47 -0700 | |
|---|---|---|
| committer | 2018-07-20 09:47:47 -0700 | |
| commit | c1c9ab31e80a182d03765658191bfd3a6c8a691f (patch) | |
| tree | 393dcdde88b3aad1ec7a02ba410f5862d9b76d69 | |
| parent | Merge pull request #739 from lioncash/glad (diff) | |
| parent | HLE/ACC: Stub IManagerForApplication::GetAccountId to return an error. (diff) | |
| download | yuzu-c1c9ab31e80a182d03765658191bfd3a6c8a691f.tar.gz yuzu-c1c9ab31e80a182d03765658191bfd3a6c8a691f.tar.xz yuzu-c1c9ab31e80a182d03765658191bfd3a6c8a691f.zip | |
Merge pull request #740 from Subv/acc_crash
HLE/ACC: Stub IManagerForApplication::GetAccountId to return an error.
| -rw-r--r-- | src/core/hle/service/acc/acc.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/core/hle/service/acc/acc.cpp b/src/core/hle/service/acc/acc.cpp index 8ee39b54c..3e1c2c0a0 100644 --- a/src/core/hle/service/acc/acc.cpp +++ b/src/core/hle/service/acc/acc.cpp | |||
| @@ -82,14 +82,16 @@ private: | |||
| 82 | LOG_WARNING(Service_ACC, "(STUBBED) called"); | 82 | LOG_WARNING(Service_ACC, "(STUBBED) called"); |
| 83 | IPC::ResponseBuilder rb{ctx, 3}; | 83 | IPC::ResponseBuilder rb{ctx, 3}; |
| 84 | rb.Push(RESULT_SUCCESS); | 84 | rb.Push(RESULT_SUCCESS); |
| 85 | rb.Push(true); // TODO: Check when this is supposed to return true and when not | 85 | rb.Push(false); // TODO: Check when this is supposed to return true and when not |
| 86 | } | 86 | } |
| 87 | 87 | ||
| 88 | void GetAccountId(Kernel::HLERequestContext& ctx) { | 88 | void GetAccountId(Kernel::HLERequestContext& ctx) { |
| 89 | LOG_WARNING(Service_ACC, "(STUBBED) called"); | 89 | LOG_WARNING(Service_ACC, "(STUBBED) called"); |
| 90 | IPC::ResponseBuilder rb{ctx, 4}; | 90 | // TODO(Subv): Find out what this actually does and implement it. Stub it as an error for |
| 91 | rb.Push(RESULT_SUCCESS); | 91 | // now since we do not implement NNID. Returning a bogus id here will cause games to send |
| 92 | rb.Push<u64>(0x12345678ABCDEF); | 92 | // invalid IPC requests after ListOpenUsers is called. |
| 93 | IPC::ResponseBuilder rb{ctx, 2}; | ||
| 94 | rb.Push(ResultCode(-1)); | ||
| 93 | } | 95 | } |
| 94 | }; | 96 | }; |
| 95 | 97 | ||
| @@ -104,7 +106,7 @@ void Module::Interface::ListAllUsers(Kernel::HLERequestContext& ctx) { | |||
| 104 | LOG_WARNING(Service_ACC, "(STUBBED) called"); | 106 | LOG_WARNING(Service_ACC, "(STUBBED) called"); |
| 105 | // TODO(Subv): There is only one user for now. | 107 | // TODO(Subv): There is only one user for now. |
| 106 | const std::vector<u128> user_ids = {DEFAULT_USER_ID}; | 108 | const std::vector<u128> user_ids = {DEFAULT_USER_ID}; |
| 107 | ctx.WriteBuffer(user_ids.data(), user_ids.size() * sizeof(u128)); | 109 | ctx.WriteBuffer(user_ids); |
| 108 | IPC::ResponseBuilder rb{ctx, 2}; | 110 | IPC::ResponseBuilder rb{ctx, 2}; |
| 109 | rb.Push(RESULT_SUCCESS); | 111 | rb.Push(RESULT_SUCCESS); |
| 110 | } | 112 | } |
| @@ -113,7 +115,7 @@ void Module::Interface::ListOpenUsers(Kernel::HLERequestContext& ctx) { | |||
| 113 | LOG_WARNING(Service_ACC, "(STUBBED) called"); | 115 | LOG_WARNING(Service_ACC, "(STUBBED) called"); |
| 114 | // TODO(Subv): There is only one user for now. | 116 | // TODO(Subv): There is only one user for now. |
| 115 | const std::vector<u128> user_ids = {DEFAULT_USER_ID}; | 117 | const std::vector<u128> user_ids = {DEFAULT_USER_ID}; |
| 116 | ctx.WriteBuffer(user_ids.data(), user_ids.size() * sizeof(u128)); | 118 | ctx.WriteBuffer(user_ids); |
| 117 | IPC::ResponseBuilder rb{ctx, 2}; | 119 | IPC::ResponseBuilder rb{ctx, 2}; |
| 118 | rb.Push(RESULT_SUCCESS); | 120 | rb.Push(RESULT_SUCCESS); |
| 119 | } | 121 | } |