summaryrefslogtreecommitdiffstats
path: root/src/core/hle/function_wrappers.h
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2017-12-28 21:29:52 +0100
committerbunnei <bunneidev@gmail.com>2017-12-28 21:29:52 +0100
commit7618b5237d4b4f525e3db96bc70e488210da373d (patch)
treee446b8c40cff77e411c288612ba5c1a074bc9f7a /src/core/hle/function_wrappers.h
parentservice: Clean up apm/lm/applet_oe/controller/sm ctor/dtor. (diff)
downloadyuzu-7618b5237d4b4f525e3db96bc70e488210da373d.tar
yuzu-7618b5237d4b4f525e3db96bc70e488210da373d.tar.gz
yuzu-7618b5237d4b4f525e3db96bc70e488210da373d.tar.bz2
yuzu-7618b5237d4b4f525e3db96bc70e488210da373d.tar.lz
yuzu-7618b5237d4b4f525e3db96bc70e488210da373d.tar.xz
yuzu-7618b5237d4b4f525e3db96bc70e488210da373d.tar.zst
yuzu-7618b5237d4b4f525e3db96bc70e488210da373d.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 abc2b96a8..528208178 100644
--- a/src/core/hle/function_wrappers.h
+++ b/src/core/hle/function_wrappers.h
@@ -42,9 +42,17 @@ void Wrap() {
FuncReturn(func(PARAM(0), PARAM(1)).raw);
}
-template <ResultCode func(u64, u64, u64)>
+template <ResultCode func(u64, u64, s64)>
void Wrap() {
- FuncReturn(func(PARAM(0), PARAM(1), PARAM(2)).raw);
+ FuncReturn(func(PARAM(1), PARAM(2), (s64)PARAM(3)).raw);
+}
+
+template <ResultCode func(u64*, u64)>
+void Wrap() {
+ u64 param_1 = 0;
+ u32 retval = func(&param_1, PARAM(1)).raw;
+ Core::CPU().SetReg(1, param_1);
+ FuncReturn(retval);
}
template <ResultCode func(u64*, u64, u64, u64)>