diff options
| author | SuperDude88 <82904174+SuperDude88@users.noreply.github.com> | 2023-09-24 20:34:09 -0400 |
|---|---|---|
| committer | SuperDude88 <82904174+SuperDude88@users.noreply.github.com> | 2023-09-24 20:34:09 -0400 |
| commit | 0220c2a5102d2a37d00180562f6d0fd3c43fa97d (patch) | |
| tree | d3bd5405dbce03f65b4cd14763d7602343d34182 /src/m_Do | |
| parent | 83e28a5fc25f332508571bee82542659c0a55763 (diff) | |
d_a_agbsw0 Almost OK
Biggest gaps are where it needs other actor classes, couple functions with regalloc issues too
Diffstat (limited to 'src/m_Do')
| -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 */ |
