diff options
author | Zach Hilman <zachhilman@gmail.com> | 2019-07-06 21:39:04 -0400 |
---|---|---|
committer | Zach Hilman <zachhilman@gmail.com> | 2019-07-06 21:39:12 -0400 |
commit | a4ef86a0217649428007b49fcb3c32a093ea9835 (patch) | |
tree | b60e3afe7344079fc935045ecacdad173881ae8d /src | |
parent | bb4a1e059c269c95ec9f85f5c2149c7cd1c96f02 (diff) |
mii: Implement IDatabaseService SetInterfaceVersion
Appears to set a member variable used to affect the API that games access, and the method used to store data.
Diffstat (limited to 'src')
-rw-r--r-- | src/core/hle/service/mii/mii.cpp | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/core/hle/service/mii/mii.cpp b/src/core/hle/service/mii/mii.cpp index ce84e25ed..0b3923ad9 100644 --- a/src/core/hle/service/mii/mii.cpp +++ b/src/core/hle/service/mii/mii.cpp @@ -48,7 +48,7 @@ public: {19, nullptr, "Export"}, {20, nullptr, "IsBrokenDatabaseWithClearFlag"}, {21, &IDatabaseService::GetIndex, "GetIndex"}, - {22, nullptr, "SetInterfaceVersion"}, + {22, &IDatabaseService::SetInterfaceVersion, "SetInterfaceVersion"}, {23, nullptr, "Convert"}, }; // clang-format on @@ -350,8 +350,22 @@ private: rb.Push(index); } + void SetInterfaceVersion(Kernel::HLERequestContext& ctx) { + IPC::RequestParser rp{ctx}; + current_interface_version = rp.PopRaw<u32>(); + + LOG_DEBUG(Service_Mii, "called, interface_version={:08X}", current_interface_version); + + UNIMPLEMENTED_IF(current_interface_version != 1); + + IPC::ResponseBuilder rb{ctx, 2}; + rb.Push(RESULT_SUCCESS); + } + MiiManager db; + u32 current_interface_version = 0; + // Last read offsets of Get functions std::array<u32, 4> offsets{}; }; |