mirror of
https://github.com/Lime3DS/Lime3DS.git
synced 2024-11-11 12:45:05 +01: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
@ -750,11 +750,11 @@ template<int func(void*, u32, u32, u32, u32, u32)> void WrapI_VUUUUU(){
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
|
@ -10,7 +10,6 @@
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#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)
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
Loading…
Reference in New Issue
Block a user