Merge pull request #78 from Hyenate/master
Some checks are pending
CI / build (push) Waiting to run

Decompile sub_19B10 and sub_1AA38
This commit is contained in:
WhenGryphonsFly 2025-02-18 13:51:28 -06:00 committed by GitHub
commit 71e8c433c1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 51 additions and 91 deletions

View File

@ -15864,46 +15864,7 @@ _08019B04: .4byte 0x000001E5
_08019B08: .4byte 0x0000029F
_08019B0C: .4byte 0x000002EE
thumb_func_start sub_19B10
sub_19B10: @ 0x08019B10
push {lr}
bl sub_19B90
bl sub_19E10
ldr r0, _08019B54 @ =gMain
ldrb r0, [r0, #0xf]
cmp r0, #0
bne _08019B26
bl sub_19F70
_08019B26:
bl sub_19FA0
ldr r0, _08019B58 @ =gCurrentPinballGame
ldr r0, [r0]
movs r2, #0xa7
lsls r2, r2, #2
adds r1, r0, r2
ldrh r0, [r1]
cmp r0, #0
beq _08019B50
subs r0, #1
strh r0, [r1]
lsls r0, r0, #0x10
cmp r0, #0
bne _08019B50
ldr r0, _08019B5C @ =gMPlayInfo_BGM
ldr r1, _08019B60 @ =0x0000FFFF
movs r2, #0x80
lsls r2, r2, #1
bl m4aMPlayVolumeControl
_08019B50:
pop {r0}
bx r0
.align 2, 0
_08019B54: .4byte gMain
_08019B58: .4byte gCurrentPinballGame
_08019B5C: .4byte gMPlayInfo_BGM
_08019B60: .4byte 0x0000FFFF
.section .text19B90
.section .text19B10
thumb_func_start sub_19B90
sub_19B90: @ 0x08019B90
@ -17520,55 +17481,7 @@ _0801A97A:
pop {r0}
bx r0
.section .text1AA38
thumb_func_start sub_1AA38
sub_1AA38: @ 0x0801AA38
push {r4, lr}
ldr r4, _0801AA88 @ =gCurrentPinballGame
ldr r0, [r4]
ldr r1, _0801AA8C @ =0x0000072F
adds r0, r0, r1
ldrb r0, [r0]
lsls r0, r0, #0x18
asrs r0, r0, #0x18
cmp r0, #1
ble _0801AA52
movs r0, #4
bl sub_19B64
_0801AA52:
ldr r0, [r4]
ldr r2, _0801AA90 @ =0x000005FC
adds r1, r0, r2
movs r2, #0
movs r3, #0
strh r3, [r1]
ldr r1, _0801AA94 @ =0x000005FB
adds r0, r0, r1
strb r2, [r0]
ldr r1, [r4]
ldr r2, _0801AA98 @ =0x000005FE
adds r0, r1, r2
strh r3, [r0]
movs r0, #0x71
strh r0, [r1, #0x28]
movs r0, SE_UNKNOWN_0xCE
bl m4aSongNumStart
ldr r1, [r4]
ldr r0, _0801AA9C @ =0x0000C350
str r0, [r1, #0x3c]
movs r0, #8
bl sub_11B0
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0801AA88: .4byte gCurrentPinballGame
_0801AA8C: .4byte 0x0000072F
_0801AA90: .4byte 0x000005FC
_0801AA94: .4byte 0x000005FB
_0801AA98: .4byte 0x000005FE
_0801AA9C: .4byte 0x0000C350
.section .text1AAA0
thumb_func_start sub_1AAA0
sub_1AAA0: @ 0x0801AAA0

Binary file not shown.

Binary file not shown.

View File

@ -48,11 +48,11 @@ SECTIONS
src/rom_11B9C.o(.text);
asm/rom_11B9C.o(.text11C14);
src/rom_19B64.o(.text);
asm/rom_11B9C.o(.text19B90);
asm/rom_11B9C.o(.text19B10);
src/rom_19D04.o(.text);
asm/rom_11B9C.o(.text19E10);
src/rom_1A98C.o(.text);
asm/rom_11B9C.o(.text1AA38);
asm/rom_11B9C.o(.text1AAA0);
src/rom_31F6C.o(.text);
asm/rom_3219C.o(.text);
src/pinball_game_main.o(.text);

View File

@ -1,5 +1,31 @@
#include "global.h"
#include "main.h"
#include "m4a.h"
void sub_19E10(void);
void sub_19F70(void);
void sub_19FA0(void);
void sub_19B10(void)
{
sub_19B90();
sub_19E10();
if (gMain.unkF == 0)
{
sub_19F70();
}
sub_19FA0();
if (gCurrentPinballGame->unk29C != 0)
{
gCurrentPinballGame->unk29C -= 1;
if (gCurrentPinballGame->unk29C == 0)
{
m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 256);
}
}
}
void sub_19B64(u8 a)
{

View File

@ -1,5 +1,7 @@
#include "global.h"
#include "main.h"
#include "m4a.h"
#include "constants/bg_music.h"
void sub_1AAA0(void);
void sub_1AA38(void);
@ -9,6 +11,7 @@ void sub_1AF84(void);
void sub_1AFD4(void);
void sub_1C560(void);
void sub_1C5AC(void);
void sub_19B64(u8);
void sub_1A98C(void)
{
@ -55,3 +58,21 @@ void sub_1A9E8(void)
break;
}
}
void sub_1AA38(void)
{
if (gCurrentPinballGame->unk72F > 1)
{
sub_19B64(4);
}
gCurrentPinballGame->unk5FC = 0;
gCurrentPinballGame->unk5FB = 0;
gCurrentPinballGame->unk5FE = 0;
gCurrentPinballGame->unk28 = 113;
m4aSongNumStart(SE_UNKNOWN_0xCE);
gCurrentPinballGame->unk3C = 0xC350;
sub_11B0(8);
}