summaryrefslogtreecommitdiffstats
path: root/src/core/hle/function_wrappers.h
diff options
context:
space:
mode:
authorSubv <subv2112@gmail.com>2015-07-17 08:23:22 +0200
committerSubv <subv2112@gmail.com>2015-07-17 18:03:56 +0200
commit9e2962081ac21e626ea375781fea16ee301e7241 (patch)
tree8d5c41f276bc1dfedea021fe2516175d59a0e64d /src/core/hle/function_wrappers.h
parentMerge pull request #936 from archshift/kill-sourceforge (diff)
downloadyuzu-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.h12
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(){