diff options
Diffstat (limited to 'src/m_Do/m_Do_gba_com.cpp')
| -rw-r--r-- | src/m_Do/m_Do_gba_com.cpp | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/m_Do/m_Do_gba_com.cpp b/src/m_Do/m_Do_gba_com.cpp index 9cd46f88..397524e3 100644 --- a/src/m_Do/m_Do_gba_com.cpp +++ b/src/m_Do/m_Do_gba_com.cpp @@ -685,13 +685,16 @@ void mDoGaC_agbCom_c::mDoGaC_ReadResult() { } } -/* 8001BA34-8001BA68 .text BigLittleChange__FUl */ -// NONMATCHING - not even close u32 BigLittleChange(u32 param_0) { - u8 b1 = param_0 >> 8; - u8 b2 = param_0 >> 0x10; - u8 b3 = param_0 >> 0x18; - return (param_0 << 0x18) | (b1 << 0x10) | (b2 << 8) | b3; + u32 big = param_0; + u32 little; + + reinterpret_cast<u8*>(&little)[0] = reinterpret_cast<u8*>(&big)[3]; + reinterpret_cast<u8*>(&little)[1] = reinterpret_cast<u8*>(&big)[2]; + reinterpret_cast<u8*>(&little)[2] = reinterpret_cast<u8*>(&big)[1]; + reinterpret_cast<u8*>(&little)[3] = reinterpret_cast<u8*>(&big)[0]; + + return little; } /* 8001BAA0-8001BADC .text __dt__15mDoGaC_agbCom_cFv */ |
