sub_4E920

This commit is contained in:
Marcus Huderle 2025-08-14 07:51:42 -05:00
parent 0c2333a650
commit 5d5ad1987c
3 changed files with 30 additions and 97 deletions

View File

@ -2971,100 +2971,3 @@ _0804E910: .4byte gCurrentPinballGame
_0804E914: .4byte 0x0000070C
_0804E918: .4byte 0x00000734
_0804E91C: .4byte 0x00000724
thumb_func_start sub_4E920
sub_4E920: @ 0x0804E920
push {r4, r5, lr}
ldr r1, _0804E9CC @ =gUnknown_086B08CA
ldr r4, _0804E9D0 @ =gCurrentPinballGame
ldr r0, [r4]
ldr r2, _0804E9D4 @ =0x00000716
adds r3, r0, r2
ldrb r2, [r3]
lsls r0, r2, #1
adds r0, r0, r1
ldrh r5, [r0]
cmp r2, #0
beq _0804E95C
subs r0, r2, #1
strb r0, [r3]
ldr r0, [r4]
ldr r1, _0804E9D4 @ =0x00000716
adds r0, r0, r1
ldrb r0, [r0]
cmp r0, #3
bne _0804E95C
movs r0, SE_UNKNOWN_0x73
bl m4aSongNumStart
ldr r1, [r4]
movs r0, #0xfa
lsls r0, r0, #1
str r0, [r1, #0x3c]
movs r0, #7
bl sub_11B0
_0804E95C:
ldr r0, _0804E9D0 @ =gCurrentPinballGame
ldr r0, [r0]
ldr r2, _0804E9D8 @ =0x00000717
adds r0, r0, r2
ldrb r0, [r0]
lsls r3, r0, #4
subs r3, r3, r0
lsls r3, r3, #2
lsls r0, r5, #0x10
asrs r0, r0, #0x10
lsls r2, r0, #2
adds r2, r2, r0
lsls r2, r2, #2
ldr r0, _0804E9DC @ =gUnknown_086B08D4
adds r2, r2, r0
adds r2, r3, r2
adds r0, #0x28
adds r3, r3, r0
ldr r0, _0804E9E0 @ =0x040000D4
ldr r1, [r2]
str r1, [r0]
ldr r1, [r3]
str r1, [r0, #4]
ldr r1, _0804E9E4 @ =0x80000010
str r1, [r0, #8]
ldr r1, [r0, #8]
ldr r1, [r2, #4]
str r1, [r0]
ldr r1, [r3, #4]
str r1, [r0, #4]
ldr r5, _0804E9E8 @ =0x80000020
str r5, [r0, #8]
ldr r1, [r0, #8]
ldr r1, [r2, #8]
str r1, [r0]
ldr r1, [r3, #8]
str r1, [r0, #4]
ldr r4, _0804E9EC @ =0x80000030
str r4, [r0, #8]
ldr r1, [r0, #8]
ldr r1, [r2, #0xc]
str r1, [r0]
ldr r1, [r3, #0xc]
str r1, [r0, #4]
str r4, [r0, #8]
ldr r1, [r0, #8]
ldr r1, [r2, #0x10]
str r1, [r0]
ldr r1, [r3, #0x10]
str r1, [r0, #4]
str r5, [r0, #8]
ldr r0, [r0, #8]
pop {r4, r5}
pop {r0}
bx r0
.align 2, 0
_0804E9CC: .4byte gUnknown_086B08CA
_0804E9D0: .4byte gCurrentPinballGame
_0804E9D4: .4byte 0x00000716
_0804E9D8: .4byte 0x00000717
_0804E9DC: .4byte gUnknown_086B08D4
_0804E9E0: .4byte 0x040000D4
_0804E9E4: .4byte 0x80000010
_0804E9E8: .4byte 0x80000020
_0804E9EC: .4byte 0x80000030

Binary file not shown.

View File

@ -1,6 +1,7 @@
#include "global.h"
#include "m4a.h"
#include "main.h"
#include "constants/bg_music.h"
extern const u8 *gUnknown_086B0B70[][3];
extern const u16 gUnknown_086B0E20[];
@ -14,10 +15,39 @@ extern const u8 *gUnknown_086B09E8[][7][2];
extern const u8 *gUnknown_086B09C8[][2];
extern const u8 *gUnknown_086B0970[][2];
extern const u8 *gUnknown_086B094C[][3];
extern const s16 gUnknown_086B08CA[];
extern const u8 *gUnknown_086B08D4[][3][5];
extern struct SongHeader gUnknown_0869F664;
void sub_4E920(void)
{
s16 index;
const u8 **src;
const u8 **dest;
index = gUnknown_086B08CA[gCurrentPinballGame->unk716];
if (gCurrentPinballGame->unk716)
{
gCurrentPinballGame->unk716--;
if (gCurrentPinballGame->unk716 == 3)
{
m4aSongNumStart(SE_UNKNOWN_0x73);
gCurrentPinballGame->unk3C = 500;
sub_11B0(7);
}
}
src = gUnknown_086B08D4[gCurrentPinballGame->unk717][index];
dest = gUnknown_086B08D4[gCurrentPinballGame->unk717][2];
DmaCopy16(3, src[0], dest[0], 0x20);
DmaCopy16(3, src[1], dest[1], 0x40);
DmaCopy16(3, src[2], dest[2], 0x60);
DmaCopy16(3, src[3], dest[3], 0x60);
DmaCopy16(3, src[4], dest[4], 0x40);
}
void sub_4E9F0(s16 arg0)
{
const u8 **src;