sub_4ECDC

This commit is contained in:
Marcus Huderle 2025-08-14 07:28:44 -05:00
parent 1f2af0751a
commit 7b20cde20d
3 changed files with 36 additions and 113 deletions

View File

@ -3430,116 +3430,3 @@ _0804ECCC: .4byte gCurrentPinballGame
_0804ECD0: .4byte gUnknown_086B0BC4
_0804ECD4: .4byte 0x040000D4
_0804ECD8: .4byte 0x80000020
thumb_func_start sub_4ECDC
sub_4ECDC: @ 0x0804ECDC
push {r4, r5, lr}
ldr r0, _0804ECF8 @ =gCurrentPinballGame
ldr r3, [r0]
ldr r2, _0804ECFC @ =0x00000724
adds r1, r3, r2
ldrh r2, [r1]
movs r1, #0x96
lsls r1, r1, #1
adds r5, r0, #0
cmp r2, r1
bls _0804ED04
ldr r0, _0804ED00 @ =0x00000726
adds r1, r3, r0
b _0804ED1A
.align 2, 0
_0804ECF8: .4byte gCurrentPinballGame
_0804ECFC: .4byte 0x00000724
_0804ED00: .4byte 0x00000726
_0804ED04:
cmp r2, #0
beq _0804ED40
adds r0, r3, #0
adds r0, #0x25
ldrb r0, [r0]
lsls r0, r0, #0x18
asrs r0, r0, #0x18
cmp r0, #0
beq _0804ED24
ldr r2, _0804ED20 @ =0x00000726
adds r1, r3, r2
_0804ED1A:
movs r0, #1
strb r0, [r1]
b _0804ED46
.align 2, 0
_0804ED20: .4byte 0x00000726
_0804ED24:
ldr r0, _0804ED38 @ =gMain
ldr r0, [r0, #0x50]
movs r1, #0xf
ands r0, r1
lsrs r0, r0, #3
ldr r2, _0804ED3C @ =0x00000726
adds r1, r3, r2
strb r0, [r1]
b _0804ED46
.align 2, 0
_0804ED38: .4byte gMain
_0804ED3C: .4byte 0x00000726
_0804ED40:
ldr r1, _0804EDA8 @ =0x00000726
adds r0, r3, r1
strb r2, [r0]
_0804ED46:
ldr r0, [r5]
ldr r2, _0804EDA8 @ =0x00000726
adds r0, r0, r2
ldrb r0, [r0]
lsls r0, r0, #0x18
asrs r0, r0, #0x18
lsls r0, r0, #4
ldr r1, _0804EDAC @ =gUnknown_086B0A90
adds r3, r0, r1
adds r4, r1, #0
adds r4, #0x20
ldr r2, _0804EDB0 @ =0x040000D4
ldr r0, [r3]
str r0, [r2]
ldr r0, [r1, #0x20]
str r0, [r2, #4]
ldr r1, _0804EDB4 @ =0x80000060
str r1, [r2, #8]
ldr r0, [r2, #8]
ldr r0, [r3, #4]
str r0, [r2]
ldr r0, [r4, #4]
str r0, [r2, #4]
str r1, [r2, #8]
ldr r0, [r2, #8]
ldr r0, [r5]
adds r0, #0x6a
movs r1, #0
ldrsh r0, [r0, r1]
cmp r0, #0xd7
ble _0804EDA0
ldr r0, [r3, #8]
str r0, [r2]
ldr r0, [r4, #8]
str r0, [r2, #4]
ldr r0, _0804EDB8 @ =0x80000050
str r0, [r2, #8]
ldr r0, [r2, #8]
ldr r0, [r3, #0xc]
str r0, [r2]
ldr r0, [r4, #0xc]
str r0, [r2, #4]
ldr r0, _0804EDBC @ =0x80000020
str r0, [r2, #8]
ldr r0, [r2, #8]
_0804EDA0:
pop {r4, r5}
pop {r0}
bx r0
.align 2, 0
_0804EDA8: .4byte 0x00000726
_0804EDAC: .4byte gUnknown_086B0A90
_0804EDB0: .4byte 0x040000D4
_0804EDB4: .4byte 0x80000060
_0804EDB8: .4byte 0x80000050
_0804EDBC: .4byte 0x80000020

Binary file not shown.

View File

@ -8,10 +8,46 @@ 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 const u8 *gUnknown_086B0A90[][4];
extern struct SongHeader gUnknown_0869F664;
void sub_4ECDC(void)
{
const u8 **src;
const u8 **dest;
if (gCurrentPinballGame->unk724 > 300)
{
gCurrentPinballGame->unk726 = 1;
}
else
{
if (gCurrentPinballGame->unk724)
{
if (gCurrentPinballGame->unk25)
gCurrentPinballGame->unk726 = 1;
else
gCurrentPinballGame->unk726 = (gMain.fieldFrameCount % 16) / 8;
}
else
{
gCurrentPinballGame->unk726 = 0;
}
}
src = gUnknown_086B0A90[gCurrentPinballGame->unk726];
dest = gUnknown_086B0A90[2];
DmaCopy16(3, src[0], dest[0], 0xC0);
DmaCopy16(3, src[1], dest[1], 0xC0);
if (gCurrentPinballGame->unk6A >= 216)
{
DmaCopy16(3, src[2], dest[2], 0xA0);
DmaCopy16(3, src[3], dest[3], 0x40);
}
}
void sub_4EDC0(void)
{
s16 index;