From f5db94df1172ff12e2ff022d6a078e2d6690a7d5 Mon Sep 17 00:00:00 2001 From: Nate Bouchat Date: Sun, 16 Feb 2025 22:25:54 -0500 Subject: [PATCH 1/3] Decompile sub_1AA38 --- asm/rom_11B9C.s | 50 +------------------------------------- expected_objs/sub_1AA38.o | Bin 1088 -> 0 bytes include/global.h | 2 +- ld_script.txt | 2 +- src/rom_1A98C.c | 19 +++++++++++++++ 5 files changed, 22 insertions(+), 51 deletions(-) delete mode 100644 expected_objs/sub_1AA38.o diff --git a/asm/rom_11B9C.s b/asm/rom_11B9C.s index 3a375f2..18b2e2d 100644 --- a/asm/rom_11B9C.s +++ b/asm/rom_11B9C.s @@ -17520,55 +17520,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 diff --git a/expected_objs/sub_1AA38.o b/expected_objs/sub_1AA38.o deleted file mode 100644 index d16b8546574e2ee4ea7e6595793eee71f0a699dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1088 zcma)5zi-n(6nQ!4-}m{xdv|BQd%e1`CWIgrg7WlN5q&eF zk(3ufo-$-n_S5u+9Zav6bJV9a&4|45eZoHed307Wa6iXNfToZfhSluF$tOk-_~>v{DP+Ez#nP)8u(*PFM&VN zbQ!#<=_sunk72F > 1) + { + sub_19B64(4); + } + + gCurrentPinballGame->unk5FC = 0; + gCurrentPinballGame->unk5FB = 0; + gCurrentPinballGame->unk5FE = 0; + gCurrentPinballGame->unk28 = 113; + + m4aSongNumStart(206); + gCurrentPinballGame->unk3C = 0xC350; + + sub_11B0(8); +} \ No newline at end of file From b7b0dd0eabe1b0aefc82b9925a23b33ae899ef1d Mon Sep 17 00:00:00 2001 From: Nate Bouchat Date: Mon, 17 Feb 2025 22:56:57 -0500 Subject: [PATCH 2/3] Decompile sub_19B10 --- asm/rom_11B9C.s | 41 +------------------------------------- expected_objs/sub_19B10.o | Bin 1188 -> 0 bytes ld_script.txt | 2 +- src/rom_19B64.c | 26 ++++++++++++++++++++++++ src/rom_1A98C.c | 8 +++++--- 5 files changed, 33 insertions(+), 44 deletions(-) delete mode 100644 expected_objs/sub_19B10.o diff --git a/asm/rom_11B9C.s b/asm/rom_11B9C.s index 18b2e2d..db28dfc 100644 --- a/asm/rom_11B9C.s +++ b/asm/rom_11B9C.s @@ -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 diff --git a/expected_objs/sub_19B10.o b/expected_objs/sub_19B10.o deleted file mode 100644 index 27d935978ababbd7c5e15dd3ad7f121b96c500b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1188 zcma)5O>YuW6g>|F0b|wrktQxQq$VVq$xtb!i3=!&LQ;~Zsk)>y>DZFOjDaEAxUlY; zxYEDiLf0nly6`91U*pDz=Q6x;n2la?Ip^HD@6LPg-g(>DZYrgqO`(9l3V4#7K1r3P zP(T(L;M?Tq?}_+A>-!rN)P>epS~&Wg|A==>nKKk}KU5`iic2V@E>f*@`!v4`$yDdq z((ecMJ>rK%ok9M0GnZw z!UFl7h+ZOZMRcCL8qtr)wS^4aZHb6 z`h84)i0Mx;jb$HQvtkz4H&#oUt&}xet%S@BSzWWTiRA-~#&(y>i>7Alnl-{$b4|yZ zH4}r9)!FG=C(pe8c;M7M*B^R)9Coapi^HexvFp8ZyXK1dxL9hKj7x6Yec^RCw&cDN z^c)+P7Q6;53i9%#kGUJ1T|ow=4~d&WKNGitz9nSHjM2%!w``(64Dd*^q0={f=d};x z!165^_GkoyGig}9KkV6K-x;yM|Cx-o^jh{QCg0NDlm&k>i(+@_S$dT&cFqGhwl5_63|=N)rOWunk29C != 0) + { + gCurrentPinballGame->unk29C -= 1; + if (gCurrentPinballGame->unk29C == 0) + { + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 256); + } + } +} void sub_19B64(u8 a) { diff --git a/src/rom_1A98C.c b/src/rom_1A98C.c index 163fd8c..397dc92 100644 --- a/src/rom_1A98C.c +++ b/src/rom_1A98C.c @@ -1,6 +1,7 @@ #include "global.h" #include "main.h" #include "m4a.h" +#include "constants/bg_music.h" void sub_1AAA0(void); void sub_1AA38(void); @@ -58,7 +59,8 @@ void sub_1A9E8(void) } } -void sub_1AA38(void) { +void sub_1AA38(void) +{ if (gCurrentPinballGame->unk72F > 1) { sub_19B64(4); @@ -69,8 +71,8 @@ void sub_1AA38(void) { gCurrentPinballGame->unk5FE = 0; gCurrentPinballGame->unk28 = 113; - m4aSongNumStart(206); + m4aSongNumStart(SE_UNKNOWN_0xCE); gCurrentPinballGame->unk3C = 0xC350; sub_11B0(8); -} \ No newline at end of file +} From 363f71dd27145a2edb272f21f1c59568be395e9e Mon Sep 17 00:00:00 2001 From: Nate Bouchat Date: Mon, 17 Feb 2025 23:39:33 -0500 Subject: [PATCH 3/3] Clean up function defintion --- src/rom_1A98C.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rom_1A98C.c b/src/rom_1A98C.c index 397dc92..b44746d 100644 --- a/src/rom_1A98C.c +++ b/src/rom_1A98C.c @@ -11,7 +11,7 @@ void sub_1AF84(void); void sub_1AFD4(void); void sub_1C560(void); void sub_1C5AC(void); -void sub_19B64(u8 a); +void sub_19B64(u8); void sub_1A98C(void) {