mirror of
https://github.com/pret/pokepinballrs.git
synced 2026-04-24 15:17:02 -05:00
Decompile 4 high_scores functions
This commit is contained in:
parent
eca51011c9
commit
4da84cd4e2
|
|
@ -4,240 +4,6 @@
|
|||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_D9F8
|
||||
sub_D9F8: @ 0x0800D9F8
|
||||
push {lr}
|
||||
bl sub_19B4
|
||||
bl sub_E908
|
||||
ldr r1, _0800DA18 @ =gUnknown_0201B124
|
||||
movs r0, #0
|
||||
strb r0, [r1]
|
||||
bl sub_E464
|
||||
ldr r1, _0800DA1C @ =gMain
|
||||
movs r0, #6
|
||||
strb r0, [r1, #3]
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0800DA18: .4byte gUnknown_0201B124
|
||||
_0800DA1C: .4byte gMain
|
||||
|
||||
thumb_func_start sub_DA20
|
||||
sub_DA20: @ 0x0800DA20
|
||||
push {r4, r5, lr}
|
||||
bl sub_E464
|
||||
ldr r4, _0800DA4C @ =gMain
|
||||
ldrh r1, [r4, #0x18]
|
||||
movs r0, #2
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0800DA58
|
||||
movs r0, #0x66
|
||||
bl m4aSongNumStart
|
||||
ldr r0, _0800DA50 @ =gUnknown_0201B178
|
||||
movs r1, #0
|
||||
strb r1, [r0]
|
||||
ldr r0, _0800DA54 @ =gUnknown_0202BEBC
|
||||
strb r1, [r0]
|
||||
bl sub_2568
|
||||
movs r0, #3
|
||||
strb r0, [r4, #3]
|
||||
b _0800DB2E
|
||||
.align 2, 0
|
||||
_0800DA4C: .4byte gMain
|
||||
_0800DA50: .4byte gUnknown_0201B178
|
||||
_0800DA54: .4byte gUnknown_0202BEBC
|
||||
_0800DA58:
|
||||
ldr r5, _0800DAB8 @ =gUnknown_0202ADD0
|
||||
ldr r0, _0800DABC @ =gUnknown_0202BEC8
|
||||
ldr r1, _0800DAC0 @ =gUnknown_0202C5F0
|
||||
ldr r2, _0800DAC4 @ =gUnknown_0201A4D0
|
||||
bl sub_1B04
|
||||
str r0, [r5]
|
||||
ldr r1, _0800DAC8 @ =gUnknown_0202BDF0
|
||||
movs r3, #3
|
||||
ands r3, r0
|
||||
str r3, [r1]
|
||||
ldr r2, _0800DACC @ =gUnknown_0201C1AC
|
||||
movs r1, #0x1c
|
||||
ands r1, r0
|
||||
lsrs r1, r1, #2
|
||||
strb r1, [r2]
|
||||
ldr r2, _0800DAD0 @ =gUnknown_0202ADDC
|
||||
movs r1, #0xe0
|
||||
lsls r1, r1, #4
|
||||
ands r1, r0
|
||||
lsrs r1, r1, #9
|
||||
strb r1, [r2]
|
||||
movs r1, #0x40
|
||||
ands r1, r0
|
||||
cmp r1, #0
|
||||
beq _0800DB2E
|
||||
cmp r3, #1
|
||||
bhi _0800DB2E
|
||||
bl sub_E970
|
||||
ldr r0, [r5]
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #1
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _0800DAE8
|
||||
bl sub_E94C
|
||||
lsls r0, r0, #0x10
|
||||
asrs r1, r0, #0x10
|
||||
movs r0, #1
|
||||
rsbs r0, r0, #0
|
||||
cmp r1, r0
|
||||
bne _0800DAD4
|
||||
movs r0, #8
|
||||
strb r0, [r4, #3]
|
||||
b _0800DAE8
|
||||
.align 2, 0
|
||||
_0800DAB8: .4byte gUnknown_0202ADD0
|
||||
_0800DABC: .4byte gUnknown_0202BEC8
|
||||
_0800DAC0: .4byte gUnknown_0202C5F0
|
||||
_0800DAC4: .4byte gUnknown_0201A4D0
|
||||
_0800DAC8: .4byte gUnknown_0202BDF0
|
||||
_0800DACC: .4byte gUnknown_0201C1AC
|
||||
_0800DAD0: .4byte gUnknown_0202ADDC
|
||||
_0800DAD4:
|
||||
cmp r1, #1
|
||||
bne _0800DAE8
|
||||
ldr r0, _0800DB34 @ =gUnknown_0202BEBC
|
||||
movs r1, #2
|
||||
strb r1, [r0]
|
||||
movs r0, #7
|
||||
strb r0, [r4, #3]
|
||||
movs r0, #0x8a
|
||||
bl m4aSongNumStart
|
||||
_0800DAE8:
|
||||
ldr r1, _0800DB38 @ =gUnknown_0201A510
|
||||
ldrh r0, [r1]
|
||||
adds r0, #1
|
||||
strh r0, [r1]
|
||||
ldr r0, _0800DB3C @ =gUnknown_0202ADD0
|
||||
ldr r0, [r0]
|
||||
movs r1, #0xfe
|
||||
lsls r1, r1, #0xf
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0800DB2E
|
||||
ldr r0, _0800DB40 @ =gUnknown_0202ADE4
|
||||
movs r1, #0
|
||||
ldrsb r1, [r0, r1]
|
||||
movs r0, #1
|
||||
rsbs r0, r0, #0
|
||||
cmp r1, r0
|
||||
bne _0800DB2E
|
||||
ldr r1, _0800DB44 @ =gUnknown_0201A444
|
||||
ldrh r0, [r1]
|
||||
adds r0, #1
|
||||
strh r0, [r1]
|
||||
lsls r0, r0, #0x10
|
||||
asrs r0, r0, #0x10
|
||||
cmp r0, #0xb4
|
||||
ble _0800DB2E
|
||||
ldr r1, _0800DB34 @ =gUnknown_0202BEBC
|
||||
movs r0, #2
|
||||
strb r0, [r1]
|
||||
ldr r1, _0800DB48 @ =gMain
|
||||
movs r0, #7
|
||||
strb r0, [r1, #3]
|
||||
movs r0, #0x8a
|
||||
bl m4aSongNumStart
|
||||
_0800DB2E:
|
||||
pop {r4, r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0800DB34: .4byte gUnknown_0202BEBC
|
||||
_0800DB38: .4byte gUnknown_0201A510
|
||||
_0800DB3C: .4byte gUnknown_0202ADD0
|
||||
_0800DB40: .4byte gUnknown_0202ADE4
|
||||
_0800DB44: .4byte gUnknown_0201A444
|
||||
_0800DB48: .4byte gMain
|
||||
|
||||
thumb_func_start sub_DB4C
|
||||
sub_DB4C: @ 0x0800DB4C
|
||||
ldr r1, _0800DB68 @ =gUnknown_0201A444
|
||||
ldrh r0, [r1]
|
||||
adds r0, #1
|
||||
strh r0, [r1]
|
||||
lsls r0, r0, #0x10
|
||||
asrs r0, r0, #0x10
|
||||
cmp r0, #2
|
||||
ble _0800DB66
|
||||
movs r0, #0
|
||||
strh r0, [r1]
|
||||
ldr r1, _0800DB6C @ =gMain
|
||||
movs r0, #5
|
||||
strb r0, [r1, #3]
|
||||
_0800DB66:
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0800DB68: .4byte gUnknown_0201A444
|
||||
_0800DB6C: .4byte gMain
|
||||
|
||||
thumb_func_start sub_DB70
|
||||
sub_DB70: @ 0x0800DB70
|
||||
push {r4, r5, r6, lr}
|
||||
bl sub_E464
|
||||
ldr r1, _0800DBDC @ =gUnknown_02002858
|
||||
ldrh r0, [r1, #0x22]
|
||||
adds r0, #1
|
||||
movs r2, #0
|
||||
strh r0, [r1, #0x22]
|
||||
lsls r0, r0, #0x10
|
||||
asrs r0, r0, #0x10
|
||||
cmp r0, #0x5a
|
||||
ble _0800DBD4
|
||||
movs r0, #0
|
||||
strh r0, [r1, #0x22]
|
||||
ldr r0, _0800DBE0 @ =gUnknown_0201B178
|
||||
strb r2, [r0]
|
||||
ldr r0, _0800DBE4 @ =gUnknown_0202BEBC
|
||||
strb r2, [r0]
|
||||
bl sub_2568
|
||||
bl sub_1AA4
|
||||
movs r1, #0
|
||||
ldr r6, _0800DBE8 @ =gUnknown_0202C550
|
||||
ldr r5, _0800DBEC @ =gUnknown_0202C610
|
||||
_0800DBA2:
|
||||
lsls r0, r1, #1
|
||||
adds r4, r1, #1
|
||||
adds r0, r0, r1
|
||||
lsls r1, r0, #3
|
||||
lsls r0, r0, #6
|
||||
adds r3, r0, r5
|
||||
adds r1, r1, r6
|
||||
movs r2, #5
|
||||
_0800DBB2:
|
||||
ldm r3!, {r0}
|
||||
stm r1!, {r0}
|
||||
subs r2, #1
|
||||
cmp r2, #0
|
||||
bge _0800DBB2
|
||||
adds r1, r4, #0
|
||||
cmp r1, #1
|
||||
ble _0800DBA2
|
||||
movs r4, #0
|
||||
bl sub_02B4
|
||||
bl m4aMPlayAllStop
|
||||
bl sub_0D10
|
||||
ldr r0, _0800DBF0 @ =gMain
|
||||
strb r4, [r0, #3]
|
||||
_0800DBD4:
|
||||
pop {r4, r5, r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0800DBDC: .4byte gUnknown_02002858
|
||||
_0800DBE0: .4byte gUnknown_0201B178
|
||||
_0800DBE4: .4byte gUnknown_0202BEBC
|
||||
_0800DBE8: .4byte gUnknown_0202C550
|
||||
_0800DBEC: .4byte gUnknown_0202C610
|
||||
_0800DBF0: .4byte gMain
|
||||
|
||||
thumb_func_start sub_DBF4
|
||||
sub_DBF4: @ 0x0800DBF4
|
||||
push {r4, r5, r6, r7, lr}
|
||||
|
|
|
|||
|
|
@ -130,7 +130,6 @@ extern void sub_D4B8(void);
|
|||
|
||||
extern void sub_D664(void);
|
||||
extern void sub_D9F8(void);
|
||||
extern void sub_DA20(void);
|
||||
//extern ? sub_DB4C();
|
||||
//extern ? sub_DB70();
|
||||
//extern ? sub_DBF4();
|
||||
|
|
@ -146,9 +145,9 @@ extern void sub_DA20(void);
|
|||
extern void sub_E3A8(void);
|
||||
extern void sub_E464(void);
|
||||
extern void sub_E860(void);
|
||||
//extern ? sub_E908();
|
||||
//extern ? sub_E94C();
|
||||
//extern ? sub_E970();
|
||||
extern void sub_E908(void);
|
||||
extern s16 sub_E94C(void);
|
||||
extern void sub_E970(void);
|
||||
//extern ? sub_E994();
|
||||
//extern ? sub_EAC0();
|
||||
//extern ? sub_EBEC();
|
||||
|
|
|
|||
|
|
@ -197,6 +197,7 @@ extern struct Coord16 gUnknown_086A96C0[];
|
|||
extern u16 gUnknown_02019C40[];
|
||||
extern s16 gUnknown_0201A514;
|
||||
extern s16 gUnknown_0202ADE0;
|
||||
extern s8 gUnknown_0202ADE4;
|
||||
extern s16 gUnknown_0202BEB8;
|
||||
extern s16 gUnknown_0202C5B0;
|
||||
|
||||
|
|
|
|||
|
|
@ -50,6 +50,7 @@ struct unkStruct_2002858
|
|||
struct unkStruct_2002858 gUnknown_02002858;
|
||||
|
||||
extern struct HighScoreEntry gUnknown_0202C610[2][NUM_HIGH_SCORES];
|
||||
extern struct HighScoreEntry gUnknown_0202C550[2];
|
||||
extern u8 gUnknown_0809AFC0[];
|
||||
extern u8 gUnknown_080947A0[];
|
||||
extern u8 gUnknown_0809DDE0[];
|
||||
|
|
@ -582,7 +583,8 @@ void sub_D4B8(void)
|
|||
gMain.unk2E8[2].unk0 = gUnknown_02002882;
|
||||
}
|
||||
|
||||
void sub_D664(void) {
|
||||
void sub_D664(void)
|
||||
{
|
||||
int i, j, k;
|
||||
|
||||
sub_E3A8();
|
||||
|
|
@ -710,3 +712,93 @@ void sub_D664(void) {
|
|||
if (gUnknown_02002858.unk20 > 0)
|
||||
gUnknown_02002858.unk20--;
|
||||
}
|
||||
|
||||
void sub_D9F8(void)
|
||||
{
|
||||
sub_19B4();
|
||||
sub_E908();
|
||||
gUnknown_0201B124 = 0;
|
||||
sub_E464();
|
||||
gMain.subState = 6;
|
||||
}
|
||||
|
||||
void sub_DA20(void)
|
||||
{
|
||||
sub_E464();
|
||||
if (gMain.newKeys & B_BUTTON)
|
||||
{
|
||||
m4aSongNumStart(0x66);
|
||||
gUnknown_0201B178 = 0;
|
||||
gUnknown_0202BEBC = 0;
|
||||
sub_2568();
|
||||
gMain.subState = 3;
|
||||
}
|
||||
else
|
||||
{
|
||||
gUnknown_0202ADD0 = sub_1B04(&gUnknown_0202BEC8, gUnknown_0202C5F0, gUnknown_0201A4D0);
|
||||
gUnknown_0202BDF0 = gUnknown_0202ADD0 & 3;
|
||||
gUnknown_0201C1AC = (gUnknown_0202ADD0 & 0x1c) >> 2;
|
||||
gUnknown_0202ADDC = (gUnknown_0202ADD0 & 0xe00) >> 9;
|
||||
if (((gUnknown_0202ADD0 & 0x40) != 0) && gUnknown_0202BDF0 < 2)
|
||||
{
|
||||
sub_E970();
|
||||
if ((gUnknown_0202ADD0 & 0x100) == 0)
|
||||
{
|
||||
s16 var0 = sub_E94C();
|
||||
if (var0 == -1)
|
||||
{
|
||||
gMain.subState = 8;
|
||||
}
|
||||
else if (var0 == 1)
|
||||
{
|
||||
gUnknown_0202BEBC = 2;
|
||||
gMain.subState = 7;
|
||||
m4aSongNumStart(0x8A);
|
||||
}
|
||||
}
|
||||
|
||||
gUnknown_0201A510++;
|
||||
if ((gUnknown_0202ADD0 & 0x7f0000) != 0 && gUnknown_0202ADE4 == -1 && ++gUnknown_0201A444 > 180)
|
||||
{
|
||||
gUnknown_0202BEBC = 2;
|
||||
gMain.subState = 7;
|
||||
m4aSongNumStart(0x8A);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void sub_DB4C(void)
|
||||
{
|
||||
if (++gUnknown_0201A444 > 2)
|
||||
{
|
||||
gUnknown_0201A444 = 0;
|
||||
gMain.subState = 5;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_DB70(void)
|
||||
{
|
||||
int i, j;
|
||||
|
||||
sub_E464();
|
||||
if (++gUnknown_02002858.unk22 > 90)
|
||||
{
|
||||
gUnknown_02002858.unk22 = 0;
|
||||
gUnknown_0201B178 = 0;
|
||||
gUnknown_0202BEBC = 0;
|
||||
sub_2568();
|
||||
sub_1AA4();
|
||||
for (i = 0; i < 2; i++)
|
||||
{
|
||||
for (j = 0; j < 6; j++)
|
||||
{
|
||||
gUnknown_0202C550[i].data.raw[j] = gUnknown_0202C610[i][0].data.raw[j];
|
||||
}
|
||||
}
|
||||
sub_02B4();
|
||||
m4aMPlayAllStop();
|
||||
sub_0D10();
|
||||
gMain.subState = 0;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user