mirror of
https://github.com/pret/pokepinballrs.git
synced 2026-03-21 17:24:13 -05:00
This commit is contained in:
parent
7df2f9bdd2
commit
56bc2e5a6e
377
asm/pokedex.s
377
asm/pokedex.s
|
|
@ -5,383 +5,6 @@
|
|||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_5E60
|
||||
sub_5E60: @ 0x08005E60
|
||||
ldr r1, _08005E84 @ =gUnknown_0202C5F0
|
||||
movs r2, #0
|
||||
ldr r0, _08005E88 @ =0x0000DDDD
|
||||
strh r0, [r1]
|
||||
ldr r0, _08005E8C @ =gUnknown_0202C5B4
|
||||
movs r1, #1
|
||||
strh r1, [r0]
|
||||
ldr r0, _08005E90 @ =gUnknown_0201C180
|
||||
strh r1, [r0]
|
||||
ldr r0, _08005E94 @ =gUnknown_0201B128
|
||||
strb r2, [r0]
|
||||
ldr r0, _08005E98 @ =gUnknown_0201C1BC
|
||||
strb r2, [r0]
|
||||
ldr r0, _08005E9C @ =gUnknown_0202C544
|
||||
strb r2, [r0]
|
||||
ldr r0, _08005EA0 @ =gUnknown_0202BECC
|
||||
strb r2, [r0]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_08005E84: .4byte gUnknown_0202C5F0
|
||||
_08005E88: .4byte 0x0000DDDD
|
||||
_08005E8C: .4byte gUnknown_0202C5B4
|
||||
_08005E90: .4byte gUnknown_0201C180
|
||||
_08005E94: .4byte gUnknown_0201B128
|
||||
_08005E98: .4byte gUnknown_0201C1BC
|
||||
_08005E9C: .4byte gUnknown_0202C544
|
||||
_08005EA0: .4byte gUnknown_0202BECC
|
||||
|
||||
thumb_func_start sub_5EA4
|
||||
sub_5EA4: @ 0x08005EA4
|
||||
push {lr}
|
||||
ldr r0, _08005EB4 @ =gLink
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
beq _08005EB8
|
||||
bl sub_639C
|
||||
b _08005EBC
|
||||
.align 2, 0
|
||||
_08005EB4: .4byte gLink
|
||||
_08005EB8:
|
||||
bl sub_65DC
|
||||
_08005EBC:
|
||||
lsls r0, r0, #0x10
|
||||
lsrs r0, r0, #0x10
|
||||
lsls r0, r0, #0x10
|
||||
asrs r0, r0, #0x10
|
||||
pop {r1}
|
||||
bx r1
|
||||
|
||||
thumb_func_start sub_5EC8
|
||||
sub_5EC8: @ 0x08005EC8
|
||||
push {lr}
|
||||
ldr r0, _08005ED8 @ =gLink
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
beq _08005EDC
|
||||
bl sub_5EEC
|
||||
b _08005EE0
|
||||
.align 2, 0
|
||||
_08005ED8: .4byte gLink
|
||||
_08005EDC:
|
||||
bl sub_6144
|
||||
_08005EE0:
|
||||
lsls r0, r0, #0x10
|
||||
lsrs r0, r0, #0x10
|
||||
lsls r0, r0, #0x10
|
||||
asrs r0, r0, #0x10
|
||||
pop {r1}
|
||||
bx r1
|
||||
|
||||
thumb_func_start sub_5EEC
|
||||
sub_5EEC: @ 0x08005EEC
|
||||
push {r4, r5, lr}
|
||||
ldr r0, _08005F0C @ =gUnknown_0201B128
|
||||
ldrb r0, [r0]
|
||||
lsls r0, r0, #0x18
|
||||
asrs r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _08005F5C
|
||||
ldr r0, _08005F10 @ =gUnknown_0201C1BC
|
||||
ldrb r0, [r0]
|
||||
lsls r0, r0, #0x18
|
||||
asrs r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
beq _08005F14
|
||||
cmp r0, #1
|
||||
beq _08005F4C
|
||||
b _08006136
|
||||
.align 2, 0
|
||||
_08005F0C: .4byte gUnknown_0201B128
|
||||
_08005F10: .4byte gUnknown_0201C1BC
|
||||
_08005F14:
|
||||
ldr r0, _08005F28 @ =gMain
|
||||
ldrh r1, [r0, #0x18]
|
||||
movs r0, #1
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _08005F34
|
||||
ldr r1, _08005F2C @ =gUnknown_0202C5F0
|
||||
ldr r0, _08005F30 @ =0x0000FEFE
|
||||
strh r0, [r1]
|
||||
b _08006136
|
||||
.align 2, 0
|
||||
_08005F28: .4byte gMain
|
||||
_08005F2C: .4byte gUnknown_0202C5F0
|
||||
_08005F30: .4byte 0x0000FEFE
|
||||
_08005F34:
|
||||
ldr r1, _08005F48 @ =gUnknown_0202C5F0
|
||||
movs r2, #0
|
||||
adds r0, r1, #0
|
||||
adds r0, #0xe
|
||||
_08005F3C:
|
||||
strh r2, [r0]
|
||||
subs r0, #2
|
||||
cmp r0, r1
|
||||
bge _08005F3C
|
||||
b _08006136
|
||||
.align 2, 0
|
||||
_08005F48: .4byte gUnknown_0202C5F0
|
||||
_08005F4C:
|
||||
ldr r1, _08005F54 @ =gUnknown_0202C5F0
|
||||
ldr r0, _08005F58 @ =0x0000ECEC
|
||||
strh r0, [r1]
|
||||
b _08006136
|
||||
.align 2, 0
|
||||
_08005F54: .4byte gUnknown_0202C5F0
|
||||
_08005F58: .4byte 0x0000ECEC
|
||||
_08005F5C:
|
||||
ldr r0, _08005F78 @ =gUnknown_0201C180
|
||||
ldrh r1, [r0]
|
||||
adds r5, r0, #0
|
||||
cmp r1, #7
|
||||
bhi _08005F84
|
||||
ldr r1, _08005F7C @ =gUnknown_0202C5F0
|
||||
ldr r2, _08005F80 @ =0x0000DDDD
|
||||
adds r0, r1, #0
|
||||
adds r0, #0xe
|
||||
_08005F6E:
|
||||
strh r2, [r0]
|
||||
subs r0, #2
|
||||
cmp r0, r1
|
||||
bge _08005F6E
|
||||
b _08006130
|
||||
.align 2, 0
|
||||
_08005F78: .4byte gUnknown_0201C180
|
||||
_08005F7C: .4byte gUnknown_0202C5F0
|
||||
_08005F80: .4byte 0x0000DDDD
|
||||
_08005F84:
|
||||
cmp r1, #0xf
|
||||
bls _08005F8A
|
||||
b _08006120
|
||||
_08005F8A:
|
||||
ldrh r2, [r5]
|
||||
adds r1, r2, #0
|
||||
subs r1, #8
|
||||
lsls r0, r1, #3
|
||||
subs r0, r0, r1
|
||||
lsls r0, r0, #0x12
|
||||
lsrs r0, r0, #0x10
|
||||
mov ip, r0
|
||||
ldr r4, _08006118 @ =gUnknown_0202C5F0
|
||||
strh r2, [r4]
|
||||
ldr r3, _0800611C @ =gUnknown_0202A1C0
|
||||
lsls r2, r0, #1
|
||||
adds r2, r2, r3
|
||||
adds r0, #1
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r3
|
||||
ldrh r1, [r0]
|
||||
lsls r1, r1, #4
|
||||
ldrh r0, [r2]
|
||||
orrs r1, r0
|
||||
mov r0, ip
|
||||
adds r0, #2
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r3
|
||||
ldrh r0, [r0]
|
||||
lsls r0, r0, #8
|
||||
orrs r1, r0
|
||||
mov r0, ip
|
||||
adds r0, #3
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r3
|
||||
ldrh r0, [r0]
|
||||
lsls r0, r0, #0xc
|
||||
orrs r1, r0
|
||||
strh r1, [r4, #2]
|
||||
mov r2, ip
|
||||
adds r2, #4
|
||||
lsls r2, r2, #1
|
||||
adds r2, r2, r3
|
||||
mov r0, ip
|
||||
adds r0, #5
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r3
|
||||
ldrh r1, [r0]
|
||||
lsls r1, r1, #4
|
||||
ldrh r0, [r2]
|
||||
orrs r1, r0
|
||||
mov r0, ip
|
||||
adds r0, #6
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r3
|
||||
ldrh r0, [r0]
|
||||
lsls r0, r0, #8
|
||||
orrs r1, r0
|
||||
mov r0, ip
|
||||
adds r0, #7
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r3
|
||||
ldrh r0, [r0]
|
||||
lsls r0, r0, #0xc
|
||||
orrs r1, r0
|
||||
strh r1, [r4, #4]
|
||||
mov r2, ip
|
||||
adds r2, #8
|
||||
lsls r2, r2, #1
|
||||
adds r2, r2, r3
|
||||
mov r0, ip
|
||||
adds r0, #9
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r3
|
||||
ldrh r1, [r0]
|
||||
lsls r1, r1, #4
|
||||
ldrh r0, [r2]
|
||||
orrs r1, r0
|
||||
mov r0, ip
|
||||
adds r0, #0xa
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r3
|
||||
ldrh r0, [r0]
|
||||
lsls r0, r0, #8
|
||||
orrs r1, r0
|
||||
mov r0, ip
|
||||
adds r0, #0xb
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r3
|
||||
ldrh r0, [r0]
|
||||
lsls r0, r0, #0xc
|
||||
orrs r1, r0
|
||||
strh r1, [r4, #6]
|
||||
mov r2, ip
|
||||
adds r2, #0xc
|
||||
lsls r2, r2, #1
|
||||
adds r2, r2, r3
|
||||
mov r0, ip
|
||||
adds r0, #0xd
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r3
|
||||
ldrh r1, [r0]
|
||||
lsls r1, r1, #4
|
||||
ldrh r0, [r2]
|
||||
orrs r1, r0
|
||||
mov r0, ip
|
||||
adds r0, #0xe
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r3
|
||||
ldrh r0, [r0]
|
||||
lsls r0, r0, #8
|
||||
orrs r1, r0
|
||||
mov r0, ip
|
||||
adds r0, #0xf
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r3
|
||||
ldrh r0, [r0]
|
||||
lsls r0, r0, #0xc
|
||||
orrs r1, r0
|
||||
strh r1, [r4, #8]
|
||||
mov r2, ip
|
||||
adds r2, #0x10
|
||||
lsls r2, r2, #1
|
||||
adds r2, r2, r3
|
||||
mov r0, ip
|
||||
adds r0, #0x11
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r3
|
||||
ldrh r1, [r0]
|
||||
lsls r1, r1, #4
|
||||
ldrh r0, [r2]
|
||||
orrs r1, r0
|
||||
mov r0, ip
|
||||
adds r0, #0x12
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r3
|
||||
ldrh r0, [r0]
|
||||
lsls r0, r0, #8
|
||||
orrs r1, r0
|
||||
mov r0, ip
|
||||
adds r0, #0x13
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r3
|
||||
ldrh r0, [r0]
|
||||
lsls r0, r0, #0xc
|
||||
orrs r1, r0
|
||||
strh r1, [r4, #0xa]
|
||||
mov r2, ip
|
||||
adds r2, #0x14
|
||||
lsls r2, r2, #1
|
||||
adds r2, r2, r3
|
||||
mov r0, ip
|
||||
adds r0, #0x15
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r3
|
||||
ldrh r1, [r0]
|
||||
lsls r1, r1, #4
|
||||
ldrh r0, [r2]
|
||||
orrs r1, r0
|
||||
mov r0, ip
|
||||
adds r0, #0x16
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r3
|
||||
ldrh r0, [r0]
|
||||
lsls r0, r0, #8
|
||||
orrs r1, r0
|
||||
mov r0, ip
|
||||
adds r0, #0x17
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r3
|
||||
ldrh r0, [r0]
|
||||
lsls r0, r0, #0xc
|
||||
orrs r1, r0
|
||||
strh r1, [r4, #0xc]
|
||||
mov r2, ip
|
||||
adds r2, #0x18
|
||||
lsls r2, r2, #1
|
||||
adds r2, r2, r3
|
||||
mov r0, ip
|
||||
adds r0, #0x19
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r3
|
||||
ldrh r1, [r0]
|
||||
lsls r1, r1, #4
|
||||
ldrh r0, [r2]
|
||||
orrs r1, r0
|
||||
mov r0, ip
|
||||
adds r0, #0x1a
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r3
|
||||
ldrh r0, [r0]
|
||||
lsls r0, r0, #8
|
||||
orrs r1, r0
|
||||
mov r0, ip
|
||||
adds r0, #0x1b
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r3
|
||||
ldrh r0, [r0]
|
||||
lsls r0, r0, #0xc
|
||||
orrs r1, r0
|
||||
strh r1, [r4, #0xe]
|
||||
b _08006130
|
||||
.align 2, 0
|
||||
_08006118: .4byte gUnknown_0202C5F0
|
||||
_0800611C: .4byte gUnknown_0202A1C0
|
||||
_08006120:
|
||||
ldr r1, _08006140 @ =gUnknown_0202C5F0
|
||||
movs r2, #0
|
||||
adds r0, r1, #0
|
||||
adds r0, #0xe
|
||||
_08006128:
|
||||
strh r2, [r0]
|
||||
subs r0, #2
|
||||
cmp r0, r1
|
||||
bge _08006128
|
||||
_08006130:
|
||||
ldrh r0, [r5]
|
||||
adds r0, #1
|
||||
strh r0, [r5]
|
||||
_08006136:
|
||||
movs r0, #0
|
||||
pop {r4, r5}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_08006140: .4byte gUnknown_0202C5F0
|
||||
|
||||
thumb_func_start sub_6144
|
||||
sub_6144: @ 0x08006144
|
||||
push {r4, r5, lr}
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -352,13 +352,6 @@ extern void sub_3FAC(void);
|
|||
//extern ? sub_4BB4();
|
||||
//extern ? sub_4C80();
|
||||
//extern ? sub_4D50();
|
||||
extern void sub_5E60(void);
|
||||
//extern ? sub_5EA4();
|
||||
//extern ? sub_5EC8();
|
||||
//extern ? sub_5EEC();
|
||||
//extern ? sub_6144();
|
||||
//extern ? sub_639C();
|
||||
//extern ? sub_65DC();
|
||||
extern void sub_681C();
|
||||
extern void sub_6BEC();
|
||||
extern void sub_6CA0(s16);
|
||||
|
|
|
|||
124
src/pokedex.c
124
src/pokedex.c
|
|
@ -15,12 +15,23 @@ void sub_4F50(void);
|
|||
void sub_4FC8(void);
|
||||
void sub_5064(void);
|
||||
void sub_51CC(void);
|
||||
s16 sub_5EA4(void); // TODO Pretty sure it's s16, but could be u16
|
||||
void sub_5EC8(void);
|
||||
static s16 sub_5EA4(void);
|
||||
s16 sub_5EC8(void);
|
||||
void sub_70E0(s16, s32);
|
||||
void sub_88E4(void);
|
||||
void sub_51FC(void);
|
||||
static void sub_599C(void);
|
||||
static void sub_5E60(void);
|
||||
int sub_639C(void);
|
||||
int sub_65DC(void);
|
||||
int sub_5EEC(void);
|
||||
int sub_6144(void);
|
||||
|
||||
extern u16 gUnknown_0201C180;
|
||||
extern u16 gUnknown_0202C5B4;
|
||||
extern s8 gUnknown_0201C1BC;
|
||||
extern u8 gUnknown_0202C544;
|
||||
extern u8 gUnknown_0202BECC;
|
||||
|
||||
extern const struct SpriteSet *const gUnknown_086A6148[];
|
||||
extern u16 gUnknown_0202BF08;
|
||||
|
|
@ -1298,3 +1309,112 @@ static void sub_599C(void)
|
|||
|
||||
group7->available = 0;
|
||||
}
|
||||
|
||||
static void sub_5E60(void)
|
||||
{
|
||||
gUnknown_0202C5F0[0] = 0xDDDD;
|
||||
gUnknown_0202C5B4 = 1;
|
||||
gUnknown_0201C180 = 1;
|
||||
gUnknown_0201B128 = 0;
|
||||
gUnknown_0201C1BC = 0;
|
||||
gUnknown_0202C544 = 0;
|
||||
gUnknown_0202BECC = 0;
|
||||
}
|
||||
|
||||
static s16 sub_5EA4(void)
|
||||
{
|
||||
s16 result;
|
||||
|
||||
if (gLink.isMaster)
|
||||
result = sub_639C();
|
||||
else
|
||||
result = sub_65DC();
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
s16 sub_5EC8(void)
|
||||
{
|
||||
s16 result;
|
||||
|
||||
if (gLink.isMaster)
|
||||
result = sub_5EEC();
|
||||
else
|
||||
result = sub_6144();
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
int sub_5EEC(void)
|
||||
{
|
||||
int i;
|
||||
u16 var0;
|
||||
|
||||
if (gUnknown_0201B128 == 0)
|
||||
{
|
||||
switch (gUnknown_0201C1BC)
|
||||
{
|
||||
case 0:
|
||||
if (JOY_NEW(A_BUTTON))
|
||||
{
|
||||
gUnknown_0202C5F0[0] = 0xFEFE;
|
||||
}
|
||||
else
|
||||
{
|
||||
for (i = 0; i < 8; i++)
|
||||
gUnknown_0202C5F0[i] = 0;
|
||||
}
|
||||
return 0;
|
||||
case 1:
|
||||
gUnknown_0202C5F0[0] = 0xECEC;
|
||||
return 0;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
else if (gUnknown_0201C180 < 8)
|
||||
{
|
||||
for (i = 0; i < 8; i++)
|
||||
gUnknown_0202C5F0[i] = 0xDDDD;
|
||||
}
|
||||
else if (gUnknown_0201C180 < 16)
|
||||
{
|
||||
var0 = (gUnknown_0201C180 - 8) * 28;
|
||||
gUnknown_0202C5F0[0] = gUnknown_0201C180;
|
||||
gUnknown_0202C5F0[1] = gUnknown_0202A1C0[var0] |
|
||||
(gUnknown_0202A1C0[var0 + 1] << 4) |
|
||||
(gUnknown_0202A1C0[var0 + 2] << 8) |
|
||||
(gUnknown_0202A1C0[var0 + 3] << 12);
|
||||
gUnknown_0202C5F0[2] = gUnknown_0202A1C0[var0 + 4] |
|
||||
(gUnknown_0202A1C0[var0 + 5] << 4) |
|
||||
(gUnknown_0202A1C0[var0 + 6] << 8) |
|
||||
(gUnknown_0202A1C0[var0 + 7] << 12);
|
||||
gUnknown_0202C5F0[3] = gUnknown_0202A1C0[var0 + 8] |
|
||||
(gUnknown_0202A1C0[var0 + 9] << 4) |
|
||||
(gUnknown_0202A1C0[var0 + 10] << 8) |
|
||||
(gUnknown_0202A1C0[var0 + 11] << 12);
|
||||
gUnknown_0202C5F0[4] = gUnknown_0202A1C0[var0 + 12] |
|
||||
(gUnknown_0202A1C0[var0 + 13] << 4) |
|
||||
(gUnknown_0202A1C0[var0 + 14] << 8) |
|
||||
(gUnknown_0202A1C0[var0 + 15] << 12);
|
||||
gUnknown_0202C5F0[5] = gUnknown_0202A1C0[var0 + 16] |
|
||||
(gUnknown_0202A1C0[var0 + 17] << 4) |
|
||||
(gUnknown_0202A1C0[var0 + 18] << 8) |
|
||||
(gUnknown_0202A1C0[var0 + 19] << 12);
|
||||
gUnknown_0202C5F0[6] = gUnknown_0202A1C0[var0 + 20] |
|
||||
(gUnknown_0202A1C0[var0 + 21] << 4) |
|
||||
(gUnknown_0202A1C0[var0 + 22] << 8) |
|
||||
(gUnknown_0202A1C0[var0 + 23] << 12);
|
||||
gUnknown_0202C5F0[7] = gUnknown_0202A1C0[var0 + 24] |
|
||||
(gUnknown_0202A1C0[var0 + 25] << 4) |
|
||||
(gUnknown_0202A1C0[var0 + 26] << 8) |
|
||||
(gUnknown_0202A1C0[var0 + 27] << 12);
|
||||
}
|
||||
else
|
||||
{
|
||||
for (i = 0; i < 8; i++)
|
||||
gUnknown_0202C5F0[i] = 0;
|
||||
}
|
||||
|
||||
gUnknown_0201C180++;
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user