summaryrefslogtreecommitdiff
path: root/src/core/hle
diff options
context:
space:
mode:
authorZephyron <zephyron@citron-emu.org>2025-01-15 19:38:09 +1000
committerZephyron <zephyron@citron-emu.org>2025-01-15 19:38:09 +1000
commit498d016873bc51147d098c501a8364d58c33eaca (patch)
treefda0262ba921ffcbcdd6685f3629d095167636ee /src/core/hle
parent132077e18f491d12d305e94f594470d6b93e8d8d (diff)
fix(sm_controller): Correct QueryPointerBufferSize implementation
- Updated the QueryPointerBufferSize function to return the correct u16 pointer buffer size. - Ensured the function logs its call at the debug level. - Used IPC::ResponseBuilder to construct the response with the correct buffer size. This change addresses the stubbed implementation and ensures compliance with the HIPC protocol.
Diffstat (limited to 'src/core/hle')
-rw-r--r--src/core/hle/service/sm/sm_controller.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/core/hle/service/sm/sm_controller.cpp b/src/core/hle/service/sm/sm_controller.cpp
index 7f0fb91d0..60e1980b2 100644
--- a/src/core/hle/service/sm/sm_controller.cpp
+++ b/src/core/hle/service/sm/sm_controller.cpp
@@ -68,11 +68,13 @@ void Controller::CloneCurrentObjectEx(HLERequestContext& ctx) {
}
void Controller::QueryPointerBufferSize(HLERequestContext& ctx) {
- LOG_WARNING(Service, "(STUBBED) called");
+ LOG_DEBUG(Service, "called");
+
+ u16 pointer_buffer_size = 0x8000; // Replace with the actual size if known
IPC::ResponseBuilder rb{ctx, 3};
rb.Push(ResultSuccess);
- rb.Push<u16>(0x8000);
+ rb.Push<u16>(pointer_buffer_size);
}
// https://switchbrew.org/wiki/IPC_Marshalling