mirror of
https://github.com/Lime3DS/Lime3DS
synced 2024-12-26 17:12:37 -06:00
hle: removed PARAM64 macro (this was incorrect), made several bug fixes accordingly for decoding U64 function parameters
This commit is contained in:
parent
46aef01d04
commit
9fd5d6c7d8
2 changed files with 2 additions and 3 deletions
|
@ -750,11 +750,11 @@ template<int func(void*, u32, u32, u32, u32, u32)> void WrapI_VUUUUU(){
|
||||||
}
|
}
|
||||||
|
|
||||||
template<int func(u32, s64)> void WrapI_US64() {
|
template<int func(u32, s64)> void WrapI_US64() {
|
||||||
int retval = func(PARAM(0), PARAM64(1));
|
int retval = func(PARAM(0), ((PARAM(3) << 32) | PARAM(2)));
|
||||||
RETURN(retval);
|
RETURN(retval);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<int func(void*, void*, u32, u32, s64)> void WrapI_VVUUS64() {
|
template<int func(void*, void*, u32, u32, s64)> void WrapI_VVUUS64() {
|
||||||
int retval = func(Memory::GetPointer(PARAM(0)), Memory::GetPointer(PARAM(1)), PARAM(2), PARAM(3), PARAM(4));
|
int retval = func(Memory::GetPointer(PARAM(5)), Memory::GetPointer(PARAM(1)), PARAM(2), PARAM(3), ((PARAM(4) << 32) | PARAM(0)));
|
||||||
RETURN(retval);
|
RETURN(retval);
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,7 +10,6 @@
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#define PARAM(n) Core::g_app_core->GetReg(n)
|
#define PARAM(n) Core::g_app_core->GetReg(n)
|
||||||
#define PARAM64(n) (Core::g_app_core->GetReg(n) | ((u64)Core::g_app_core->GetReg(n + 1) << 32))
|
|
||||||
#define RETURN(n) Core::g_app_core->SetReg(0, n)
|
#define RETURN(n) Core::g_app_core->SetReg(0, n)
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
Loading…
Reference in a new issue