sub_4CB30

This commit is contained in:
Marcus Huderle 2025-02-19 20:05:59 -06:00
parent fb6c845b3d
commit cb88fc99ec
4 changed files with 16 additions and 60 deletions

View File

@ -6,65 +6,6 @@
.text
thumb_func_start sub_4CB30
sub_4CB30: @ 0x0804CB30
push {r4, r5, r6, lr}
mov r6, r8
push {r6}
ldr r5, _0804CB90 @ =0x040000D4
ldr r0, _0804CB94 @ =gUnknown_0813C874
str r0, [r5]
ldr r0, _0804CB98 @ =0x06015800
str r0, [r5, #4]
ldr r0, _0804CB9C @ =0x80001000
str r0, [r5, #8]
ldr r0, [r5, #8]
ldr r0, _0804CBA0 @ =gMonPortraitGroupGfx
mov r8, r0
ldr r0, _0804CBA4 @ =gCurrentPinballGame
ldr r0, [r0]
ldr r1, _0804CBA8 @ =0x00000749
adds r0, r0, r1
ldrb r6, [r0]
adds r0, r6, #0
movs r1, #0xf
bl __udivsi3
adds r4, r0, #0
lsls r4, r4, #0x18
lsrs r4, r4, #0x16
add r4, r8
adds r0, r6, #0
movs r1, #0xf
bl __umodsi3
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
lsls r1, r0, #1
adds r1, r1, r0
lsls r1, r1, #8
ldr r0, [r4]
adds r0, r0, r1
str r0, [r5]
ldr r0, _0804CBAC @ =0x06010CA0
str r0, [r5, #4]
ldr r0, _0804CBB0 @ =0x80000180
str r0, [r5, #8]
ldr r0, [r5, #8]
pop {r3}
mov r8, r3
pop {r4, r5, r6}
pop {r0}
bx r0
.align 2, 0
_0804CB90: .4byte 0x040000D4
_0804CB94: .4byte gUnknown_0813C874
_0804CB98: .4byte 0x06015800
_0804CB9C: .4byte 0x80001000
_0804CBA0: .4byte gMonPortraitGroupGfx
_0804CBA4: .4byte gCurrentPinballGame
_0804CBA8: .4byte 0x00000749
_0804CBAC: .4byte 0x06010CA0
_0804CBB0: .4byte 0x80000180
thumb_func_start sub_4CBB4
sub_4CBB4: @ 0x0804CBB4
push {r4, r5, r6, lr}

Binary file not shown.

View File

@ -260,7 +260,9 @@ struct PinballGame
/*0x73D*/ s8 catchModeArrows; // Affects which encounter table is used per area
/*0x73E*/ u8 filler73E[0x8];
/*0x746*/ u8 unk746;
/*0x747*/ u8 filler747[0x5];
/*0x747*/ u8 filler747[0x2];
/*0x749*/ u8 unk749;
/*0x74A*/ u8 filler74A[0x2];
/*0x74C*/ volatile u8 unk74C[2][OBJ_PLTT_SIZE];
/*0xB4C*/ volatile u8 unkB4C[2][BG_PLTT_SIZE];
/*0xF4C*/ struct SongHeader *unkF4C;

View File

@ -65,6 +65,7 @@ extern const u8 gUnknown_08490A4C[][0x440];
extern const s16 gUnknown_086AE5A0[][2];
extern const u8 gUnknown_08138834[0x2000];
extern const u8 gUnknown_0813A854[0x2000];
extern const u8 gUnknown_0813C874[0x2000];
struct Unk86AD000
{
@ -77,6 +78,7 @@ extern const struct Unk86AD000 gUnknown_086AD000[];
extern const StateFunc gPinballGameStateFuncs[];
extern const u8 gUnknown_08137E14[][0x20];
extern const u8 gUnknown_084C0C6C[];
extern u8 *gMonPortraitGroupGfx[];
void sub_1D4D0(void);
void sub_356A0(void);
@ -2066,3 +2068,14 @@ void sub_4CB0C(void)
{
DmaCopy16(3, gUnknown_0813A854, (void *)0x6015800, 0x2000);
}
void sub_4CB30(void)
{
DmaCopy16(3, gUnknown_0813C874, (void *)0x6015800, 0x2000);
DmaCopy16(
3,
gMonPortraitGroupGfx[gCurrentPinballGame->unk749 / 15] + (gCurrentPinballGame->unk749 % 15) * 0x300,
(void *)0x6010CA0,
0x300
);
}