diff options
| author | bunnei <bunneidev@gmail.com> | 2014-05-08 17:16:35 -0400 |
|---|---|---|
| committer | bunnei <bunneidev@gmail.com> | 2014-05-08 17:16:35 -0400 |
| commit | bdc54d0d4897841a4d24aee80311bfb1f0eba884 (patch) | |
| tree | 558d87c83fe8f7e8e3e57644407c872244ee5a3a /src/core/hle/function_wrappers.h | |
| parent | d4bf68b6503129fc32639c2fdbe98df8d5855d66 (diff) | |
| parent | b39cd3a64c69792ffd720ffa6e0f5fe35740a087 (diff) | |
Merge pull request #15 from bunnei/hle-services
Various fixes/improvements to HLE of 3DS services, mostly cleans up GSP call decoding
Diffstat (limited to 'src/core/hle/function_wrappers.h')
| -rw-r--r-- | src/core/hle/function_wrappers.h | 32 |
1 files changed, 23 insertions, 9 deletions
diff --git a/src/core/hle/function_wrappers.h b/src/core/hle/function_wrappers.h index 4897d3f28..18b01b14b 100644 --- a/src/core/hle/function_wrappers.h +++ b/src/core/hle/function_wrappers.h @@ -158,8 +158,8 @@ template<int func(u32, u32, u32, u32, u32)> void WrapI_UUUUU() { RETURN(retval); } -template<int func()> void WrapI_V() { - int retval = func(); +template<int func(void*)> void WrapI_V() { + u32 retval = func(Memory::GetPointer(PARAM(0))); RETURN(retval); } @@ -638,6 +638,10 @@ template<u32 func(const char *, const char *)> void WrapU_CC() { RETURN(retval); } +template<void func(const char*)> void WrapV_C() { + func(Memory::GetCharPointer(PARAM(0))); +} + template<void func(const char *, int)> void WrapV_CI() { func(Memory::GetCharPointer(PARAM(0)), PARAM(1)); } @@ -716,18 +720,28 @@ template <int func(int, const char *, int)> void WrapI_ICI() { } template<int func(int, void *, void *, void *, void *, u32, int)> void WrapI_IVVVVUI(){ - u32 retval = func(PARAM(0), Memory::GetPointer(PARAM(1)), Memory::GetPointer(PARAM(2)), Memory::GetPointer(PARAM(3)), Memory::GetPointer(PARAM(4)), PARAM(5), PARAM(6) ); - RETURN(retval); + u32 retval = func(PARAM(0), Memory::GetPointer(PARAM(1)), Memory::GetPointer(PARAM(2)), Memory::GetPointer(PARAM(3)), Memory::GetPointer(PARAM(4)), PARAM(5), PARAM(6) ); + RETURN(retval); } template<int func(int, const char *, u32, void *, int, int, int)> void WrapI_ICUVIII(){ - u32 retval = func(PARAM(0), Memory::GetCharPointer(PARAM(1)), PARAM(2), Memory::GetPointer(PARAM(3)), PARAM(4), PARAM(5), PARAM(6)); - RETURN(retval); + u32 retval = func(PARAM(0), Memory::GetCharPointer(PARAM(1)), PARAM(2), Memory::GetPointer(PARAM(3)), PARAM(4), PARAM(5), PARAM(6)); + RETURN(retval); } -template<int func(void *, u32, u32, u32, u32, u32)> void WrapI_VUUUUU(){ - u32 retval = func(Memory::GetPointer(PARAM(0)), PARAM(1), PARAM(2), PARAM(3), PARAM(4), PARAM(5)); - RETURN(retval); +template<int func(void*, u32)> void WrapI_VU(){ + u32 retval = func(Memory::GetPointer(PARAM(0)), PARAM(1)); + RETURN(retval); +} + +template<int func(void*, u32, void*, int)> void WrapI_VUVI(){ + u32 retval = func(Memory::GetPointer(PARAM(0)), PARAM(1), Memory::GetPointer(PARAM(2)), PARAM(3)); + RETURN(retval); +} + +template<int func(void*, u32, u32, u32, u32, u32)> void WrapI_VUUUUU(){ + u32 retval = func(Memory::GetPointer(PARAM(0)), PARAM(1), PARAM(2), PARAM(3), PARAM(4), PARAM(5)); + RETURN(retval); } template<int func(u32, s64)> void WrapI_US64() { |
