sub_4EDC0

This commit is contained in:
Marcus Huderle 2025-08-14 07:22:31 -05:00
parent 5dca7fd963
commit 1f2af0751a
3 changed files with 32 additions and 92 deletions

View File

@ -3543,95 +3543,3 @@ _0804EDB0: .4byte 0x040000D4
_0804EDB4: .4byte 0x80000060
_0804EDB8: .4byte 0x80000050
_0804EDBC: .4byte 0x80000020
thumb_func_start sub_4EDC0
sub_4EDC0: @ 0x0804EDC0
push {r4, r5, r6, lr}
movs r3, #0
ldr r0, _0804EE60 @ =gCurrentPinballGame
ldr r2, [r0]
movs r4, #0xe5
lsls r4, r4, #3
adds r1, r2, r4
ldrb r1, [r1]
lsls r1, r1, #0x18
asrs r1, r1, #0x18
adds r6, r0, #0
cmp r1, #0
ble _0804EDE8
ldr r1, _0804EE64 @ =0x00000734
adds r0, r2, r1
ldrh r1, [r0]
movs r0, #1
subs r0, r0, r1
lsls r0, r0, #0x10
lsrs r3, r0, #0x10
_0804EDE8:
lsls r0, r3, #0x10
asrs r0, r0, #0xc
ldr r3, _0804EE68 @ =gUnknown_086B0AC0
adds r4, r0, r3
adds r5, r3, #0
adds r5, #0x20
adds r0, r2, #0
adds r0, #0x6a
movs r1, #0
ldrsh r0, [r0, r1]
cmp r0, #0x30
ble _0804EE30
cmp r0, #0xd7
bgt _0804EE14
ldr r1, _0804EE6C @ =0x040000D4
ldr r0, [r4]
str r0, [r1]
ldr r0, [r3, #0x20]
str r0, [r1, #4]
ldr r0, _0804EE70 @ =0x80000040
str r0, [r1, #8]
ldr r0, [r1, #8]
_0804EE14:
ldr r0, [r6]
adds r0, #0x6a
movs r1, #0
ldrsh r0, [r0, r1]
cmp r0, #0xdf
bgt _0804EE30
ldr r1, _0804EE6C @ =0x040000D4
ldr r0, [r4, #4]
str r0, [r1]
ldr r0, [r5, #4]
str r0, [r1, #4]
ldr r0, _0804EE70 @ =0x80000040
str r0, [r1, #8]
ldr r0, [r1, #8]
_0804EE30:
ldr r0, [r6]
adds r0, #0x6a
movs r1, #0
ldrsh r0, [r0, r1]
cmp r0, #0x40
ble _0804EE58
ldr r0, _0804EE6C @ =0x040000D4
ldr r1, [r4, #8]
str r1, [r0]
ldr r1, [r5, #8]
str r1, [r0, #4]
ldr r2, _0804EE70 @ =0x80000040
str r2, [r0, #8]
ldr r1, [r0, #8]
ldr r1, [r4, #0xc]
str r1, [r0]
ldr r1, [r5, #0xc]
str r1, [r0, #4]
str r2, [r0, #8]
ldr r0, [r0, #8]
_0804EE58:
pop {r4, r5, r6}
pop {r0}
bx r0
.align 2, 0
_0804EE60: .4byte gCurrentPinballGame
_0804EE64: .4byte 0x00000734
_0804EE68: .4byte gUnknown_086B0AC0
_0804EE6C: .4byte 0x040000D4
_0804EE70: .4byte 0x80000040

Binary file not shown.

View File

@ -7,10 +7,42 @@ extern const u16 gUnknown_086B0E20[];
extern const u8 *gUnknown_086B0B94[][4];
extern const u8 *gUnknown_086B0B20[][4];
extern const u8 *gUnknown_086B0AF0[][4];
extern const u8 *gUnknown_086B0AC0[][4];
extern struct SongHeader gUnknown_0869F664;
void sub_4EDC0(void)
{
s16 index;
const u8 **src;
const u8 **dest;
index = 0;
if (gCurrentPinballGame->unk728 > 0)
index = 1 - gCurrentPinballGame->unk734;
src = gUnknown_086B0AC0[index];
dest = gUnknown_086B0AC0[2];
if (gCurrentPinballGame->unk6A > 48)
{
if (gCurrentPinballGame->unk6A < 216)
{
DmaCopy16(3, src[0], dest[0], 0x80);
}
if (gCurrentPinballGame->unk6A < 224)
{
DmaCopy16(3, src[1], dest[1], 0x80);
}
}
if (gCurrentPinballGame->unk6A > 64)
{
DmaCopy16(3, src[2], dest[2], 0x80);
DmaCopy16(3, src[3], dest[3], 0x80);
}
}
void sub_4EE74(void)
{
s16 index;