summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar bunnei2018-07-20 09:47:47 -0700
committerGravatar GitHub2018-07-20 09:47:47 -0700
commitc1c9ab31e80a182d03765658191bfd3a6c8a691f (patch)
tree393dcdde88b3aad1ec7a02ba410f5862d9b76d69
parentMerge pull request #739 from lioncash/glad (diff)
parentHLE/ACC: Stub IManagerForApplication::GetAccountId to return an error. (diff)
downloadyuzu-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.cpp14
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}