diff options
author | Subv <subv2112@gmail.com> | 2015-07-17 08:23:22 +0200 |
---|---|---|
committer | Subv <subv2112@gmail.com> | 2015-07-17 18:03:56 +0200 |
commit | 9e2962081ac21e626ea375781fea16ee301e7241 (patch) | |
tree | 8d5c41f276bc1dfedea021fe2516175d59a0e64d /src/core/hle/function_wrappers.h | |
parent | Merge pull request #936 from archshift/kill-sourceforge (diff) | |
download | yuzu-9e2962081ac21e626ea375781fea16ee301e7241.tar yuzu-9e2962081ac21e626ea375781fea16ee301e7241.tar.gz yuzu-9e2962081ac21e626ea375781fea16ee301e7241.tar.bz2 yuzu-9e2962081ac21e626ea375781fea16ee301e7241.tar.lz yuzu-9e2962081ac21e626ea375781fea16ee301e7241.tar.xz yuzu-9e2962081ac21e626ea375781fea16ee301e7241.tar.zst yuzu-9e2962081ac21e626ea375781fea16ee301e7241.zip |
Diffstat (limited to 'src/core/hle/function_wrappers.h')
-rw-r--r-- | src/core/hle/function_wrappers.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/core/hle/function_wrappers.h b/src/core/hle/function_wrappers.h index 5949cb470..1ac6032a6 100644 --- a/src/core/hle/function_wrappers.h +++ b/src/core/hle/function_wrappers.h @@ -87,8 +87,16 @@ template<ResultCode func(u32, s64)> void Wrap() { } } -template<ResultCode func(void*, void*, u32)> void Wrap(){ - FuncReturn(func(Memory::GetPointer(PARAM(0)), Memory::GetPointer(PARAM(1)), PARAM(2)).raw); +template<ResultCode func(MemoryInfo*, PageInfo*, u32)> void Wrap() { + MemoryInfo memory_info = {}; + PageInfo page_info = {}; + u32 retval = func(&memory_info, &page_info, PARAM(2)).raw; + Core::g_app_core->SetReg(1, memory_info.base_address); + Core::g_app_core->SetReg(2, memory_info.size); + Core::g_app_core->SetReg(3, memory_info.permission); + Core::g_app_core->SetReg(4, memory_info.state); + Core::g_app_core->SetReg(5, page_info.flags); + FuncReturn(retval); } template<ResultCode func(s32*, u32)> void Wrap(){ |