mirror of
https://github.com/pret/pokepinballrs.git
synced 2026-03-21 17:24:13 -05:00
parent
24cba6301f
commit
06f1d310bc
345
asm/rom_3219C.s
345
asm/rom_3219C.s
|
|
@ -24110,348 +24110,3 @@ _08043218: .4byte 0x05000220
|
|||
_0804321C: .4byte 0x80000010
|
||||
_08043220: .4byte gUnknown_081B36A4
|
||||
_08043224: .4byte 0x05000320
|
||||
|
||||
thumb_func_start sub_43228
|
||||
sub_43228: @ 0x08043228
|
||||
push {r4, r5, lr}
|
||||
ldr r1, _08043248 @ =gCurrentPinballGame
|
||||
ldr r0, [r1]
|
||||
ldrb r0, [r0, #0x13]
|
||||
lsls r0, r0, #0x18
|
||||
asrs r0, r0, #0x18
|
||||
adds r5, r1, #0
|
||||
cmp r0, #5
|
||||
bls _0804323C
|
||||
b _080434BA
|
||||
_0804323C:
|
||||
lsls r0, r0, #2
|
||||
ldr r1, _0804324C @ =_08043250
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_08043248: .4byte gCurrentPinballGame
|
||||
_0804324C: .4byte _08043250
|
||||
_08043250: @ jump table
|
||||
.4byte _08043268 @ case 0
|
||||
.4byte _080432CE @ case 1
|
||||
.4byte _08043342 @ case 2
|
||||
.4byte _080433D4 @ case 3
|
||||
.4byte _08043470 @ case 4
|
||||
.4byte _080434A2 @ case 5
|
||||
_08043268:
|
||||
ldr r0, [r5]
|
||||
ldr r1, _080432B0 @ =0x000005F7
|
||||
adds r0, r0, r1
|
||||
movs r3, #0
|
||||
movs r2, #1
|
||||
strb r2, [r0]
|
||||
ldr r4, [r5]
|
||||
ldrh r1, [r4, #0x18]
|
||||
ldr r0, _080432B4 @ =0x00000153
|
||||
cmp r1, r0
|
||||
bhi _080432C0
|
||||
subs r0, #0x13
|
||||
cmp r1, r0
|
||||
bhi _08043296
|
||||
adds r0, r1, #0
|
||||
movs r1, #5
|
||||
bl __udivsi3
|
||||
ldr r2, _080432B8 @ =0x0000FFC0
|
||||
adds r0, r0, r2
|
||||
adds r1, r4, #0
|
||||
adds r1, #0xe6
|
||||
strh r0, [r1]
|
||||
_08043296:
|
||||
ldr r2, [r5]
|
||||
ldrh r1, [r2, #0x18]
|
||||
ldr r0, _080432BC @ =0x00000145
|
||||
cmp r1, r0
|
||||
bne _080432AA
|
||||
movs r3, #0xa5
|
||||
lsls r3, r3, #2
|
||||
adds r1, r2, r3
|
||||
movs r0, #2
|
||||
strb r0, [r1]
|
||||
_080432AA:
|
||||
ldr r1, [r5]
|
||||
ldrh r0, [r1, #0x18]
|
||||
b _0804331C
|
||||
.align 2, 0
|
||||
_080432B0: .4byte 0x000005F7
|
||||
_080432B4: .4byte 0x00000153
|
||||
_080432B8: .4byte 0x0000FFC0
|
||||
_080432BC: .4byte 0x00000145
|
||||
_080432C0:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0xe6
|
||||
strh r3, [r0]
|
||||
strb r2, [r4, #0x13]
|
||||
ldr r0, [r5]
|
||||
strh r3, [r0, #0x18]
|
||||
b _080434BA
|
||||
_080432CE:
|
||||
ldr r1, [r5]
|
||||
ldr r4, _08043324 @ =0x00000296
|
||||
adds r0, r1, r4
|
||||
ldrh r4, [r0]
|
||||
cmp r4, #0
|
||||
beq _080432DC
|
||||
b _080434BA
|
||||
_080432DC:
|
||||
movs r0, #0xa5
|
||||
lsls r0, r0, #2
|
||||
adds r1, r1, r0
|
||||
movs r0, #3
|
||||
strb r0, [r1]
|
||||
ldr r0, [r5]
|
||||
ldrh r0, [r0, #0x18]
|
||||
cmp r0, #0
|
||||
bne _08043314
|
||||
bl m4aMPlayAllStop
|
||||
ldr r0, _08043328 @ =gMPlayInfo_SE1
|
||||
ldr r1, _0804332C @ =gUnknown_086A2E90
|
||||
bl MPlayStart
|
||||
ldr r1, _08043330 @ =gMain
|
||||
movs r0, #0x80
|
||||
strb r0, [r1, #0xf]
|
||||
ldr r0, [r5]
|
||||
movs r1, #0xe2
|
||||
lsls r1, r1, #2
|
||||
adds r0, r0, r1
|
||||
movs r1, #2
|
||||
strb r1, [r0]
|
||||
ldr r0, [r5]
|
||||
ldr r2, _08043334 @ =0x00000392
|
||||
adds r0, r0, r2
|
||||
strh r4, [r0]
|
||||
_08043314:
|
||||
ldr r1, [r5]
|
||||
ldrh r0, [r1, #0x18]
|
||||
cmp r0, #0x3b
|
||||
bhi _08043338
|
||||
_0804331C:
|
||||
adds r0, #1
|
||||
strh r0, [r1, #0x18]
|
||||
b _080434BA
|
||||
.align 2, 0
|
||||
_08043324: .4byte 0x00000296
|
||||
_08043328: .4byte gMPlayInfo_SE1
|
||||
_0804332C: .4byte gUnknown_086A2E90
|
||||
_08043330: .4byte gMain
|
||||
_08043334: .4byte 0x00000392
|
||||
_08043338:
|
||||
movs r0, #2
|
||||
strb r0, [r1, #0x13]
|
||||
ldr r0, [r5]
|
||||
strh r4, [r0, #0x18]
|
||||
b _080434BA
|
||||
_08043342:
|
||||
ldr r0, [r5]
|
||||
ldrh r0, [r0, #0x18]
|
||||
cmp r0, #0
|
||||
bne _08043354
|
||||
bl m4aMPlayAllStop
|
||||
movs r0, MUS_SUCCESS3
|
||||
bl m4aSongNumStart
|
||||
_08043354:
|
||||
ldr r2, [r5]
|
||||
ldrh r0, [r2, #0x18]
|
||||
cmp r0, #0x13
|
||||
bhi _08043362
|
||||
adds r0, #1
|
||||
strh r0, [r2, #0x18]
|
||||
b _080434BA
|
||||
_08043362:
|
||||
movs r1, #0
|
||||
movs r0, #3
|
||||
strb r0, [r2, #0x13]
|
||||
ldr r0, [r5]
|
||||
strh r1, [r0, #0x18]
|
||||
ldr r2, _080433B0 @ =gMain
|
||||
movs r3, #0x80
|
||||
lsls r3, r3, #4
|
||||
adds r0, r2, r3
|
||||
movs r3, #1
|
||||
movs r1, #1
|
||||
strh r1, [r0]
|
||||
ldr r4, _080433B4 @ =0x000008B8
|
||||
adds r0, r2, r4
|
||||
strh r1, [r0]
|
||||
adds r4, #0xb8
|
||||
adds r0, r2, r4
|
||||
strh r1, [r0]
|
||||
ldr r0, _080433B8 @ =0x00000A28
|
||||
adds r2, r2, r0
|
||||
strh r1, [r2]
|
||||
ldr r1, _080433BC @ =0x040000D4
|
||||
ldr r0, _080433C0 @ =gUnknown_084B77EC
|
||||
str r0, [r1]
|
||||
ldr r0, _080433C4 @ =0x06015800
|
||||
str r0, [r1, #4]
|
||||
ldr r0, _080433C8 @ =0x80000400
|
||||
str r0, [r1, #8]
|
||||
ldr r0, [r1, #8]
|
||||
ldr r0, [r5]
|
||||
movs r1, #0xe5
|
||||
lsls r1, r1, #2
|
||||
adds r2, r0, r1
|
||||
ldr r1, _080433CC @ =0x0000FF82
|
||||
strh r1, [r2]
|
||||
ldr r2, _080433D0 @ =0x000005FA
|
||||
adds r0, r0, r2
|
||||
strb r3, [r0]
|
||||
b _080434BA
|
||||
.align 2, 0
|
||||
_080433B0: .4byte gMain
|
||||
_080433B4: .4byte 0x000008B8
|
||||
_080433B8: .4byte 0x00000A28
|
||||
_080433BC: .4byte 0x040000D4
|
||||
_080433C0: .4byte gUnknown_084B77EC
|
||||
_080433C4: .4byte 0x06015800
|
||||
_080433C8: .4byte 0x80000400
|
||||
_080433CC: .4byte 0x0000FF82
|
||||
_080433D0: .4byte 0x000005FA
|
||||
_080433D4:
|
||||
bl sub_45E90
|
||||
ldr r1, _08043444 @ =gCurrentPinballGame
|
||||
ldr r2, [r1]
|
||||
ldrb r0, [r2, #0x1c]
|
||||
cmp r0, #0
|
||||
beq _080433E6
|
||||
movs r0, #0xb5
|
||||
strh r0, [r2, #0x18]
|
||||
_080433E6:
|
||||
ldr r2, [r1]
|
||||
ldrh r0, [r2, #0x18]
|
||||
cmp r0, #0xb4
|
||||
bne _08043408
|
||||
ldr r3, _08043448 @ =0x00000544
|
||||
adds r0, r2, r3
|
||||
ldr r0, [r0]
|
||||
cmp r0, #0
|
||||
beq _08043408
|
||||
movs r0, #1
|
||||
strb r0, [r2, #0x1c]
|
||||
ldr r1, [r1]
|
||||
ldr r0, _0804344C @ =0x00061A80
|
||||
str r0, [r1, #0x38]
|
||||
adds r0, r1, r3
|
||||
ldr r0, [r0]
|
||||
str r0, [r1, #0x3c]
|
||||
_08043408:
|
||||
ldr r0, _08043444 @ =gCurrentPinballGame
|
||||
ldr r2, [r0]
|
||||
ldrh r1, [r2, #0x18]
|
||||
adds r5, r0, #0
|
||||
cmp r1, #0xbd
|
||||
bls _08043426
|
||||
ldr r0, _08043450 @ =gMain
|
||||
ldrh r1, [r0, #0x18]
|
||||
movs r0, #1
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _08043426
|
||||
movs r0, #0x87
|
||||
lsls r0, r0, #2
|
||||
strh r0, [r2, #0x18]
|
||||
_08043426:
|
||||
ldr r1, [r5]
|
||||
ldrh r2, [r1, #0x18]
|
||||
ldr r0, _08043454 @ =0x0000021B
|
||||
cmp r2, r0
|
||||
bhi _08043458
|
||||
cmp r2, #4
|
||||
bne _0804343A
|
||||
movs r0, SE_UNKNOWN_0xA4
|
||||
bl m4aSongNumStart
|
||||
_0804343A:
|
||||
ldr r1, [r5]
|
||||
ldrh r0, [r1, #0x18]
|
||||
adds r0, #1
|
||||
strh r0, [r1, #0x18]
|
||||
b _08043460
|
||||
.align 2, 0
|
||||
_08043444: .4byte gCurrentPinballGame
|
||||
_08043448: .4byte 0x00000544
|
||||
_0804344C: .4byte 0x00061A80
|
||||
_08043450: .4byte gMain
|
||||
_08043454: .4byte 0x0000021B
|
||||
_08043458:
|
||||
movs r0, #0
|
||||
strh r0, [r1, #0x18]
|
||||
movs r0, #4
|
||||
strb r0, [r1, #0x13]
|
||||
_08043460:
|
||||
ldr r0, [r5]
|
||||
ldr r4, _0804346C @ =0x000005FA
|
||||
adds r0, r0, r4
|
||||
movs r1, #1
|
||||
b _080434B8
|
||||
.align 2, 0
|
||||
_0804346C: .4byte 0x000005FA
|
||||
_08043470:
|
||||
bl sub_45E90
|
||||
ldr r0, _08043494 @ =gCurrentPinballGame
|
||||
ldr r1, [r0]
|
||||
ldrh r0, [r1, #0x18]
|
||||
cmp r0, #0x1d
|
||||
bhi _08043498
|
||||
adds r0, #1
|
||||
strh r0, [r1, #0x18]
|
||||
lsls r0, r0, #0x10
|
||||
lsrs r0, r0, #0x10
|
||||
cmp r0, #2
|
||||
bne _080434BA
|
||||
movs r0, SE_UNKNOWN_0xA4
|
||||
bl m4aSongNumStart
|
||||
b _080434BA
|
||||
.align 2, 0
|
||||
_08043494: .4byte gCurrentPinballGame
|
||||
_08043498:
|
||||
movs r0, #0
|
||||
strh r0, [r1, #0x18]
|
||||
movs r0, #5
|
||||
strb r0, [r1, #0x13]
|
||||
b _080434BA
|
||||
_080434A2:
|
||||
bl sub_45E90
|
||||
ldr r2, _080434F4 @ =gCurrentPinballGame
|
||||
ldr r0, [r2]
|
||||
ldr r1, _080434F8 @ =0x00000386
|
||||
adds r0, r0, r1
|
||||
movs r1, #1
|
||||
strb r1, [r0]
|
||||
ldr r0, [r2]
|
||||
ldr r2, _080434FC @ =0x000005FA
|
||||
adds r0, r0, r2
|
||||
_080434B8:
|
||||
strb r1, [r0]
|
||||
_080434BA:
|
||||
bl sub_4387C
|
||||
bl sub_43500
|
||||
bl sub_44D58
|
||||
bl sub_45E08
|
||||
ldr r0, _080434F4 @ =gCurrentPinballGame
|
||||
ldr r1, [r0]
|
||||
ldr r3, _080434F8 @ =0x00000386
|
||||
adds r0, r1, r3
|
||||
ldrb r0, [r0]
|
||||
lsls r0, r0, #0x18
|
||||
asrs r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
beq _080434E8
|
||||
ldr r4, _080434FC @ =0x000005FA
|
||||
adds r1, r1, r4
|
||||
movs r0, #1
|
||||
strb r0, [r1]
|
||||
bl sub_350F0
|
||||
_080434E8:
|
||||
bl sub_472E4
|
||||
pop {r4, r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080434F4: .4byte gCurrentPinballGame
|
||||
_080434F8: .4byte 0x00000386
|
||||
_080434FC: .4byte 0x000005FA
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
|
|
@ -615,14 +615,14 @@ extern void sub_3E5D0(void);
|
|||
//extern ? sub_423D8();
|
||||
//extern ? sub_42E48();
|
||||
//extern ? sub_43228();
|
||||
//extern ? sub_43500();
|
||||
//extern ? sub_4387C();
|
||||
//extern ? sub_44D58();
|
||||
extern void sub_43500(void);
|
||||
extern void sub_4387C(void);
|
||||
extern void sub_44D58(void);
|
||||
extern void sub_44F3C(void);
|
||||
extern void sub_45164(void);
|
||||
extern void sub_455D0(void);
|
||||
//extern ? sub_45E08();
|
||||
//extern ? sub_45E90();
|
||||
extern void sub_45E08(void);
|
||||
extern void sub_45E90(void);
|
||||
extern void sub_467F4(void);
|
||||
extern void sub_46FD4(s16);
|
||||
extern void sub_47030(void);
|
||||
|
|
|
|||
137
src/rom_49A34.c
137
src/rom_49A34.c
|
|
@ -101,6 +101,7 @@ extern const u16 gUnknown_086B56D8[][4][3];
|
|||
extern const u16 gUnknown_086AFAE2[][2];
|
||||
extern const u16 gUnknown_086AFAE0[][2];
|
||||
extern const u8 gUnknown_084B47EC[][0x800];
|
||||
extern const u8 gUnknown_084B77EC[];
|
||||
|
||||
struct Unk_086AFAC0
|
||||
{
|
||||
|
|
@ -115,6 +116,7 @@ extern struct SongHeader gUnknown_086A2D94;
|
|||
extern struct SongHeader gUnknown_086A2E70;
|
||||
extern struct SongHeader gUnknown_086A2D28;
|
||||
extern struct SongHeader gUnknown_086A2EAC;
|
||||
extern struct SongHeader gUnknown_086A2E90;
|
||||
|
||||
extern s16 gUnknown_02030750[];
|
||||
extern s16 gUnknown_02031500[];
|
||||
|
|
@ -123,6 +125,141 @@ extern u8 gUnknown_0200FBB0[];
|
|||
extern u8 gUnknown_020030A0[];
|
||||
|
||||
|
||||
void sub_43228(void)
|
||||
{
|
||||
switch (gCurrentPinballGame->unk13)
|
||||
{
|
||||
case 0:
|
||||
gCurrentPinballGame->unk5F7 = 1;
|
||||
if (gCurrentPinballGame->unk18 < 340)
|
||||
{
|
||||
if (gCurrentPinballGame->unk18 < 321)
|
||||
gCurrentPinballGame->unkE6 = (gCurrentPinballGame->unk18 / 5) + 0xFFC0;
|
||||
|
||||
if (gCurrentPinballGame->unk18 == 325)
|
||||
gCurrentPinballGame->unk294 = 2;
|
||||
|
||||
gCurrentPinballGame->unk18++;
|
||||
}
|
||||
else
|
||||
{
|
||||
gCurrentPinballGame->unkE6 = 0;
|
||||
gCurrentPinballGame->unk13 = 1;
|
||||
gCurrentPinballGame->unk18 = 0;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (gCurrentPinballGame->eventTimer == 0)
|
||||
{
|
||||
gCurrentPinballGame->unk294 = 3;
|
||||
if (gCurrentPinballGame->unk18 == 0)
|
||||
{
|
||||
m4aMPlayAllStop();
|
||||
MPlayStart(&gMPlayInfo_SE1, &gUnknown_086A2E90);
|
||||
gMain.unkF = 0x80;
|
||||
gCurrentPinballGame->unk388 = 2;
|
||||
gCurrentPinballGame->unk392 = 0;
|
||||
}
|
||||
|
||||
if (gCurrentPinballGame->unk18 < 60)
|
||||
{
|
||||
gCurrentPinballGame->unk18++;
|
||||
}
|
||||
else
|
||||
{
|
||||
gCurrentPinballGame->unk13 = 2;
|
||||
gCurrentPinballGame->unk18 = 0;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (gCurrentPinballGame->unk18 == 0)
|
||||
{
|
||||
m4aMPlayAllStop();
|
||||
m4aSongNumStart(MUS_SUCCESS3);
|
||||
}
|
||||
|
||||
if (gCurrentPinballGame->unk18 < 20)
|
||||
{
|
||||
gCurrentPinballGame->unk18++;
|
||||
}
|
||||
else
|
||||
{
|
||||
gCurrentPinballGame->unk13 = 3;
|
||||
gCurrentPinballGame->unk18 = 0;
|
||||
gMain.spriteGroups[7].available = 1;
|
||||
gMain.spriteGroups[8].available = 1;
|
||||
gMain.spriteGroups[9].available = 1;
|
||||
gMain.spriteGroups[10].available = 1;
|
||||
DmaCopy16(3, gUnknown_084B77EC, (void *)0x06015800, 0x800);
|
||||
gCurrentPinballGame->unk394 = -126;
|
||||
gCurrentPinballGame->unk5FA = 1;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
sub_45E90();
|
||||
if (gCurrentPinballGame->unk1C)
|
||||
gCurrentPinballGame->unk18 = 181;
|
||||
|
||||
if (gCurrentPinballGame->unk18 == 180 && gCurrentPinballGame->unk544 != 0)
|
||||
{
|
||||
gCurrentPinballGame->unk1C = 1;
|
||||
gCurrentPinballGame->unk38 = 400000;
|
||||
gCurrentPinballGame->unk3C = gCurrentPinballGame->unk544;
|
||||
}
|
||||
|
||||
if (gCurrentPinballGame->unk18 > 189 && JOY_NEW(A_BUTTON))
|
||||
gCurrentPinballGame->unk18 = 540;
|
||||
|
||||
if (gCurrentPinballGame->unk18 < 540)
|
||||
{
|
||||
if (gCurrentPinballGame->unk18 == 4)
|
||||
m4aSongNumStart(SE_UNKNOWN_0xA4);
|
||||
|
||||
gCurrentPinballGame->unk18++;
|
||||
}
|
||||
else
|
||||
{
|
||||
gCurrentPinballGame->unk18 = 0;
|
||||
gCurrentPinballGame->unk13 = 4;
|
||||
}
|
||||
|
||||
gCurrentPinballGame->unk5FA = 1;
|
||||
break;
|
||||
case 4:
|
||||
sub_45E90();
|
||||
if (gCurrentPinballGame->unk18 < 30)
|
||||
{
|
||||
gCurrentPinballGame->unk18++;
|
||||
if (gCurrentPinballGame->unk18 == 2)
|
||||
m4aSongNumStart(SE_UNKNOWN_0xA4);
|
||||
}
|
||||
else
|
||||
{
|
||||
gCurrentPinballGame->unk18 = 0;
|
||||
gCurrentPinballGame->unk13 = 5;
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
sub_45E90();
|
||||
gCurrentPinballGame->unk386 = 1;
|
||||
gCurrentPinballGame->unk5FA = 1;
|
||||
break;
|
||||
}
|
||||
|
||||
sub_4387C();
|
||||
sub_43500();
|
||||
sub_44D58();
|
||||
sub_45E08();
|
||||
if (gCurrentPinballGame->unk386)
|
||||
{
|
||||
gCurrentPinballGame->unk5FA = 1;
|
||||
sub_350F0();
|
||||
}
|
||||
|
||||
sub_472E4();
|
||||
}
|
||||
|
||||
void sub_43500(void)
|
||||
{
|
||||
s16 i;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user