mirror of
https://github.com/pret/pokepinballrs.git
synced 2026-03-21 17:24:13 -05:00
Decompile sub_6144 and sub_639C in pokedex.c
Some checks failed
CI / build (push) Has been cancelled
Some checks failed
CI / build (push) Has been cancelled
This commit is contained in:
parent
05419abf79
commit
0576ff2533
600
asm/pokedex.s
600
asm/pokedex.s
|
|
@ -5,606 +5,6 @@
|
|||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_6144
|
||||
sub_6144: @ 0x08006144
|
||||
push {r4, r5, lr}
|
||||
ldr r0, _08006164 @ =gUnknown_0201B128
|
||||
ldrb r0, [r0]
|
||||
lsls r0, r0, #0x18
|
||||
asrs r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _080061B4
|
||||
ldr r0, _08006168 @ =gUnknown_0202C544
|
||||
ldrb r0, [r0]
|
||||
lsls r0, r0, #0x18
|
||||
asrs r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
beq _0800616C
|
||||
cmp r0, #1
|
||||
beq _080061A4
|
||||
b _0800638E
|
||||
.align 2, 0
|
||||
_08006164: .4byte gUnknown_0201B128
|
||||
_08006168: .4byte gUnknown_0202C544
|
||||
_0800616C:
|
||||
ldr r0, _08006180 @ =gMain
|
||||
ldrh r1, [r0, #0x18]
|
||||
movs r0, #1
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0800618C
|
||||
ldr r1, _08006184 @ =gUnknown_0202C5F0
|
||||
ldr r0, _08006188 @ =0x0000FEFE
|
||||
strh r0, [r1]
|
||||
b _0800638E
|
||||
.align 2, 0
|
||||
_08006180: .4byte gMain
|
||||
_08006184: .4byte gUnknown_0202C5F0
|
||||
_08006188: .4byte 0x0000FEFE
|
||||
_0800618C:
|
||||
ldr r1, _080061A0 @ =gUnknown_0202C5F0
|
||||
movs r2, #0
|
||||
adds r0, r1, #0
|
||||
adds r0, #0xe
|
||||
_08006194:
|
||||
strh r2, [r0]
|
||||
subs r0, #2
|
||||
cmp r0, r1
|
||||
bge _08006194
|
||||
b _0800638E
|
||||
.align 2, 0
|
||||
_080061A0: .4byte gUnknown_0202C5F0
|
||||
_080061A4:
|
||||
ldr r1, _080061AC @ =gUnknown_0202C5F0
|
||||
ldr r0, _080061B0 @ =0x0000ECEC
|
||||
strh r0, [r1]
|
||||
b _0800638E
|
||||
.align 2, 0
|
||||
_080061AC: .4byte gUnknown_0202C5F0
|
||||
_080061B0: .4byte 0x0000ECEC
|
||||
_080061B4:
|
||||
ldr r0, _080061D0 @ =gUnknown_0201C180
|
||||
ldrh r1, [r0]
|
||||
adds r5, r0, #0
|
||||
cmp r1, #7
|
||||
bhi _080061DC
|
||||
ldr r1, _080061D4 @ =gUnknown_0202C5F0
|
||||
ldr r2, _080061D8 @ =0x0000DDDD
|
||||
adds r0, r1, #0
|
||||
adds r0, #0xe
|
||||
_080061C6:
|
||||
strh r2, [r0]
|
||||
subs r0, #2
|
||||
cmp r0, r1
|
||||
bge _080061C6
|
||||
b _08006388
|
||||
.align 2, 0
|
||||
_080061D0: .4byte gUnknown_0201C180
|
||||
_080061D4: .4byte gUnknown_0202C5F0
|
||||
_080061D8: .4byte 0x0000DDDD
|
||||
_080061DC:
|
||||
cmp r1, #0xf
|
||||
bls _080061E2
|
||||
b _08006378
|
||||
_080061E2:
|
||||
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, _08006370 @ =gUnknown_0202C5F0
|
||||
strh r2, [r4]
|
||||
ldr r3, _08006374 @ =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 _08006388
|
||||
.align 2, 0
|
||||
_08006370: .4byte gUnknown_0202C5F0
|
||||
_08006374: .4byte gUnknown_0202A1C0
|
||||
_08006378:
|
||||
ldr r1, _08006398 @ =gUnknown_0202C5F0
|
||||
movs r2, #0
|
||||
adds r0, r1, #0
|
||||
adds r0, #0xe
|
||||
_08006380:
|
||||
strh r2, [r0]
|
||||
subs r0, #2
|
||||
cmp r0, r1
|
||||
bge _08006380
|
||||
_08006388:
|
||||
ldrh r0, [r5]
|
||||
adds r0, #1
|
||||
strh r0, [r5]
|
||||
_0800638E:
|
||||
movs r0, #0
|
||||
pop {r4, r5}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_08006398: .4byte gUnknown_0202C5F0
|
||||
|
||||
thumb_func_start sub_639C
|
||||
sub_639C: @ 0x0800639C
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
sub sp, #0x38
|
||||
ldr r4, _080063C0 @ =gUnknown_0201B128
|
||||
movs r0, #0
|
||||
ldrsb r0, [r4, r0]
|
||||
cmp r0, #0
|
||||
bne _08006438
|
||||
ldr r3, _080063C4 @ =gUnknown_0201C1BC
|
||||
movs r1, #0
|
||||
ldrsb r1, [r3, r1]
|
||||
cmp r1, #0
|
||||
beq _080063C8
|
||||
cmp r1, #1
|
||||
beq _080063E8
|
||||
b _080065AA
|
||||
.align 2, 0
|
||||
_080063C0: .4byte gUnknown_0201B128
|
||||
_080063C4: .4byte gUnknown_0201C1BC
|
||||
_080063C8:
|
||||
ldr r2, _080063E0 @ =gUnknown_0201A4D0
|
||||
ldrh r0, [r2]
|
||||
ldr r1, _080063E4 @ =0x0000FEFE
|
||||
cmp r0, r1
|
||||
beq _080063DA
|
||||
ldrh r0, [r2, #2]
|
||||
cmp r0, r1
|
||||
beq _080063DA
|
||||
b _080065AA
|
||||
_080063DA:
|
||||
movs r0, #1
|
||||
strb r0, [r3]
|
||||
b _080065AA
|
||||
.align 2, 0
|
||||
_080063E0: .4byte gUnknown_0201A4D0
|
||||
_080063E4: .4byte 0x0000FEFE
|
||||
_080063E8:
|
||||
ldr r3, _0800640C @ =gUnknown_0201A4D0
|
||||
ldrh r2, [r3]
|
||||
ldr r0, _08006410 @ =0x0000ECEC
|
||||
cmp r2, r0
|
||||
bne _0800641C
|
||||
ldrh r0, [r3, #2]
|
||||
cmp r0, r2
|
||||
bne _0800641C
|
||||
movs r2, #1
|
||||
rsbs r2, r2, #0
|
||||
adds r0, r2, #0
|
||||
strb r0, [r4]
|
||||
ldr r0, _08006414 @ =gUnknown_0202BEFC
|
||||
strb r1, [r0]
|
||||
ldr r0, _08006418 @ =gUnknown_0201C180
|
||||
strh r1, [r0]
|
||||
b _080065AA
|
||||
.align 2, 0
|
||||
_0800640C: .4byte gUnknown_0201A4D0
|
||||
_08006410: .4byte 0x0000ECEC
|
||||
_08006414: .4byte gUnknown_0202BEFC
|
||||
_08006418: .4byte gUnknown_0201C180
|
||||
_0800641C:
|
||||
ldr r1, _08006434 @ =gUnknown_0202BECC
|
||||
ldrb r0, [r1]
|
||||
adds r0, #1
|
||||
strb r0, [r1]
|
||||
lsls r0, r0, #0x18
|
||||
asrs r0, r0, #0x18
|
||||
cmp r0, #0xa
|
||||
bgt _0800642E
|
||||
b _080065AA
|
||||
_0800642E:
|
||||
movs r0, #1
|
||||
b _080065CC
|
||||
.align 2, 0
|
||||
_08006434: .4byte gUnknown_0202BECC
|
||||
_08006438:
|
||||
ldr r7, _0800656C @ =gUnknown_0201A4D0
|
||||
ldrh r1, [r7, #2]
|
||||
adds r0, r1, #0
|
||||
subs r0, #8
|
||||
lsls r0, r0, #0x10
|
||||
lsrs r0, r0, #0x10
|
||||
cmp r0, #7
|
||||
bls _0800644A
|
||||
b _080065CA
|
||||
_0800644A:
|
||||
ldr r0, _08006570 @ =gUnknown_0202C5B4
|
||||
mov r8, r0
|
||||
strh r1, [r0]
|
||||
mov r2, sp
|
||||
ldrh r1, [r7, #6]
|
||||
movs r6, #0xf
|
||||
adds r0, r6, #0
|
||||
ands r0, r1
|
||||
strh r0, [r2]
|
||||
movs r5, #0xf0
|
||||
adds r0, r5, #0
|
||||
ands r0, r1
|
||||
lsrs r0, r0, #4
|
||||
strh r0, [r2, #2]
|
||||
movs r4, #0xf0
|
||||
lsls r4, r4, #4
|
||||
adds r0, r4, #0
|
||||
ands r0, r1
|
||||
lsrs r0, r0, #8
|
||||
strh r0, [r2, #4]
|
||||
movs r3, #0xf0
|
||||
lsls r3, r3, #8
|
||||
adds r0, r3, #0
|
||||
ands r0, r1
|
||||
lsrs r0, r0, #0xc
|
||||
strh r0, [r2, #6]
|
||||
ldrh r1, [r7, #0xa]
|
||||
adds r0, r6, #0
|
||||
ands r0, r1
|
||||
strh r0, [r2, #8]
|
||||
adds r0, r5, #0
|
||||
ands r0, r1
|
||||
lsrs r0, r0, #4
|
||||
strh r0, [r2, #0xa]
|
||||
adds r0, r4, #0
|
||||
ands r0, r1
|
||||
lsrs r0, r0, #8
|
||||
strh r0, [r2, #0xc]
|
||||
adds r0, r3, #0
|
||||
ands r0, r1
|
||||
lsrs r0, r0, #0xc
|
||||
strh r0, [r2, #0xe]
|
||||
ldrh r1, [r7, #0xe]
|
||||
adds r0, r6, #0
|
||||
ands r0, r1
|
||||
strh r0, [r2, #0x10]
|
||||
adds r0, r5, #0
|
||||
ands r0, r1
|
||||
lsrs r0, r0, #4
|
||||
strh r0, [r2, #0x12]
|
||||
adds r0, r4, #0
|
||||
ands r0, r1
|
||||
lsrs r0, r0, #8
|
||||
strh r0, [r2, #0x14]
|
||||
adds r0, r3, #0
|
||||
ands r0, r1
|
||||
lsrs r0, r0, #0xc
|
||||
strh r0, [r2, #0x16]
|
||||
ldrh r1, [r7, #0x12]
|
||||
adds r0, r6, #0
|
||||
ands r0, r1
|
||||
strh r0, [r2, #0x18]
|
||||
adds r0, r5, #0
|
||||
ands r0, r1
|
||||
lsrs r0, r0, #4
|
||||
strh r0, [r2, #0x1a]
|
||||
adds r0, r4, #0
|
||||
ands r0, r1
|
||||
lsrs r0, r0, #8
|
||||
strh r0, [r2, #0x1c]
|
||||
adds r0, r3, #0
|
||||
ands r0, r1
|
||||
lsrs r0, r0, #0xc
|
||||
strh r0, [r2, #0x1e]
|
||||
ldrh r1, [r7, #0x16]
|
||||
adds r0, r6, #0
|
||||
ands r0, r1
|
||||
strh r0, [r2, #0x20]
|
||||
adds r0, r5, #0
|
||||
ands r0, r1
|
||||
lsrs r0, r0, #4
|
||||
strh r0, [r2, #0x22]
|
||||
adds r0, r4, #0
|
||||
ands r0, r1
|
||||
lsrs r0, r0, #8
|
||||
strh r0, [r2, #0x24]
|
||||
adds r0, r3, #0
|
||||
ands r0, r1
|
||||
lsrs r0, r0, #0xc
|
||||
strh r0, [r2, #0x26]
|
||||
ldrh r1, [r7, #0x1a]
|
||||
adds r0, r6, #0
|
||||
ands r0, r1
|
||||
strh r0, [r2, #0x28]
|
||||
adds r0, r5, #0
|
||||
ands r0, r1
|
||||
lsrs r0, r0, #4
|
||||
strh r0, [r2, #0x2a]
|
||||
adds r0, r4, #0
|
||||
ands r0, r1
|
||||
lsrs r0, r0, #8
|
||||
strh r0, [r2, #0x2c]
|
||||
adds r0, r3, #0
|
||||
ands r0, r1
|
||||
lsrs r0, r0, #0xc
|
||||
strh r0, [r2, #0x2e]
|
||||
mov r1, sp
|
||||
ldrh r0, [r7, #0x1e]
|
||||
ands r6, r0
|
||||
strh r6, [r1, #0x30]
|
||||
ands r5, r0
|
||||
lsrs r5, r5, #4
|
||||
strh r5, [r1, #0x32]
|
||||
ands r4, r0
|
||||
lsrs r4, r4, #8
|
||||
strh r4, [r1, #0x34]
|
||||
ands r3, r0
|
||||
lsrs r3, r3, #0xc
|
||||
strh r3, [r1, #0x36]
|
||||
movs r3, #0
|
||||
ldr r6, _08006574 @ =gUnknown_0202A1C0
|
||||
ldr r5, _08006578 @ =gUnknown_0202A390
|
||||
mov r4, sp
|
||||
_08006540:
|
||||
mov r2, r8
|
||||
ldrh r1, [r2]
|
||||
subs r1, #8
|
||||
lsls r0, r1, #3
|
||||
subs r0, r0, r1
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r3
|
||||
lsls r0, r0, #0x10
|
||||
lsrs r2, r0, #0x10
|
||||
lsls r1, r2, #1
|
||||
adds r0, r1, r6
|
||||
movs r7, #0
|
||||
ldrsh r0, [r0, r7]
|
||||
cmp r0, #0
|
||||
bne _0800657C
|
||||
ldrh r0, [r4]
|
||||
cmp r0, #4
|
||||
bne _0800657C
|
||||
adds r1, r1, r5
|
||||
movs r0, #2
|
||||
b _08006592
|
||||
.align 2, 0
|
||||
_0800656C: .4byte gUnknown_0201A4D0
|
||||
_08006570: .4byte gUnknown_0202C5B4
|
||||
_08006574: .4byte gUnknown_0202A1C0
|
||||
_08006578: .4byte gUnknown_0202A390
|
||||
_0800657C:
|
||||
lsls r1, r2, #1
|
||||
adds r0, r1, r6
|
||||
movs r2, #0
|
||||
ldrsh r0, [r0, r2]
|
||||
cmp r0, #1
|
||||
bne _08006594
|
||||
ldrh r0, [r4]
|
||||
cmp r0, #4
|
||||
bne _08006594
|
||||
adds r1, r1, r5
|
||||
movs r0, #3
|
||||
_08006592:
|
||||
strh r0, [r1]
|
||||
_08006594:
|
||||
adds r4, #2
|
||||
adds r3, #1
|
||||
cmp r3, #0x1b
|
||||
ble _08006540
|
||||
mov r7, r8
|
||||
ldrh r0, [r7]
|
||||
cmp r0, #0xf
|
||||
bne _080065AA
|
||||
movs r0, #1
|
||||
rsbs r0, r0, #0
|
||||
b _080065CC
|
||||
_080065AA:
|
||||
movs r3, #0
|
||||
ldr r5, _080065D8 @ =gUnknown_0201A4D0
|
||||
movs r4, #0
|
||||
_080065B0:
|
||||
adds r2, r3, #1
|
||||
lsls r0, r3, #2
|
||||
movs r1, #1
|
||||
adds r0, r0, r5
|
||||
adds r0, #2
|
||||
_080065BA:
|
||||
strh r4, [r0]
|
||||
subs r0, #2
|
||||
subs r1, #1
|
||||
cmp r1, #0
|
||||
bge _080065BA
|
||||
adds r3, r2, #0
|
||||
cmp r3, #7
|
||||
ble _080065B0
|
||||
_080065CA:
|
||||
movs r0, #0
|
||||
_080065CC:
|
||||
add sp, #0x38
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4, r5, r6, r7}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_080065D8: .4byte gUnknown_0201A4D0
|
||||
|
||||
thumb_func_start sub_65DC
|
||||
sub_65DC: @ 0x080065DC
|
||||
push {r4, r5, r6, r7, lr}
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
174
src/pokedex.c
174
src/pokedex.c
|
|
@ -24,14 +24,14 @@ 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);
|
||||
static int sub_5EEC(void);
|
||||
static 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 s8 gUnknown_0202C544;
|
||||
extern s8 gUnknown_0202BECC;
|
||||
|
||||
extern const struct SpriteSet *const gUnknown_086A6148[];
|
||||
extern u16 gUnknown_0202BF08;
|
||||
|
|
@ -581,7 +581,7 @@ void sub_49D0(void)
|
|||
|
||||
gUnknown_0201A510++;
|
||||
|
||||
if ((gUnknown_0202ADD0 & 0x7f0000) && (gUnknown_0201B128 == -1))
|
||||
if ((gUnknown_0202ADD0 & 0x7f0000) && gUnknown_0201B128 == -1)
|
||||
{
|
||||
gUnknown_0201A444++;
|
||||
if (0xB4 < gUnknown_0201A444)
|
||||
|
|
@ -1336,7 +1336,7 @@ s16 sub_5EC8(void)
|
|||
return result;
|
||||
}
|
||||
|
||||
int sub_5EEC(void)
|
||||
static int sub_5EEC(void)
|
||||
{
|
||||
int i;
|
||||
u16 var0;
|
||||
|
|
@ -1409,3 +1409,165 @@ int sub_5EEC(void)
|
|||
gUnknown_0201C180++;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int sub_6144(void)
|
||||
{
|
||||
int i;
|
||||
u16 var0;
|
||||
|
||||
if (gUnknown_0201B128 == 0)
|
||||
{
|
||||
switch (gUnknown_0202C544)
|
||||
{
|
||||
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;
|
||||
}
|
||||
|
||||
int sub_639C(void)
|
||||
{
|
||||
int i, j;
|
||||
u16 var0;
|
||||
u16 arr0[28];
|
||||
|
||||
if (gUnknown_0201B128 == 0)
|
||||
{
|
||||
switch (gUnknown_0201C1BC)
|
||||
{
|
||||
case 0:
|
||||
if (gUnknown_0201A4D0[0][0] == 0xFEFE || gUnknown_0201A4D0[0][1] == 0xFEFE)
|
||||
{
|
||||
gUnknown_0201C1BC = 1;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (gUnknown_0201A4D0[0][0] == 0xECEC && gUnknown_0201A4D0[0][1] == 0xECEC)
|
||||
{
|
||||
gUnknown_0201B128 = -1;
|
||||
gUnknown_0202BEFC = 1;
|
||||
gUnknown_0201C180 = 1;
|
||||
}
|
||||
else if (++gUnknown_0202BECC > 10)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
u16 var1 = gUnknown_0201A4D0[0][1] - 8;
|
||||
if (var1 > 7)
|
||||
return 0;
|
||||
|
||||
gUnknown_0202C5B4 = gUnknown_0201A4D0[0][1];
|
||||
arr0[0] = gUnknown_0201A4D0[0][3] & 0xF;
|
||||
arr0[1] = (gUnknown_0201A4D0[0][3] & 0xF0) >> 4;
|
||||
arr0[2] = (gUnknown_0201A4D0[0][3] & 0xF00) >> 8;
|
||||
arr0[3] = (gUnknown_0201A4D0[0][3] & 0xF000) >> 12;
|
||||
arr0[4] = gUnknown_0201A4D0[0][5] & 0xF;
|
||||
arr0[5] = (gUnknown_0201A4D0[0][5] & 0xF0) >> 4;
|
||||
arr0[6] = (gUnknown_0201A4D0[0][5] & 0xF00) >> 8;
|
||||
arr0[7] = (gUnknown_0201A4D0[0][5] & 0xF000) >> 12;
|
||||
arr0[8] = gUnknown_0201A4D0[0][7] & 0xF;
|
||||
arr0[9] = (gUnknown_0201A4D0[0][7] & 0xF0) >> 4;
|
||||
arr0[10] = (gUnknown_0201A4D0[0][7] & 0xF00) >> 8;
|
||||
arr0[11] = (gUnknown_0201A4D0[0][7] & 0xF000) >> 12;
|
||||
arr0[12] = gUnknown_0201A4D0[0][9] & 0xF;
|
||||
arr0[13] = (gUnknown_0201A4D0[0][9] & 0xF0) >> 4;
|
||||
arr0[14] = (gUnknown_0201A4D0[0][9] & 0xF00) >> 8;
|
||||
arr0[15] = (gUnknown_0201A4D0[0][9] & 0xF000) >> 12;
|
||||
arr0[16] = gUnknown_0201A4D0[0][11] & 0xF;
|
||||
arr0[17] = (gUnknown_0201A4D0[0][11] & 0xF0) >> 4;
|
||||
arr0[18] = (gUnknown_0201A4D0[0][11] & 0xF00) >> 8;
|
||||
arr0[19] = (gUnknown_0201A4D0[0][11] & 0xF000) >> 12;
|
||||
arr0[20] = gUnknown_0201A4D0[0][13] & 0xF;
|
||||
arr0[21] = (gUnknown_0201A4D0[0][13] & 0xF0) >> 4;
|
||||
arr0[22] = (gUnknown_0201A4D0[0][13] & 0xF00) >> 8;
|
||||
arr0[23] = (gUnknown_0201A4D0[0][13] & 0xF000) >> 12;
|
||||
arr0[24] = gUnknown_0201A4D0[0][15] & 0xF;
|
||||
arr0[25] = (gUnknown_0201A4D0[0][15] & 0xF0) >> 4;
|
||||
arr0[26] = (gUnknown_0201A4D0[0][15] & 0xF00) >> 8;
|
||||
arr0[27] = (gUnknown_0201A4D0[0][15] & 0xF000) >> 12;
|
||||
|
||||
for (i = 0; i < 28; i++)
|
||||
{
|
||||
var0 = (gUnknown_0202C5B4 - 8) * 28 + i;
|
||||
if (gUnknown_0202A1C0[var0] == 0 && arr0[i] == 4)
|
||||
gUnknown_0202A390[var0] = 2;
|
||||
else if (gUnknown_0202A1C0[var0] == 1 && arr0[i] == 4)
|
||||
gUnknown_0202A390[var0] = 3;
|
||||
}
|
||||
|
||||
if (gUnknown_0202C5B4 == 15)
|
||||
return -1;
|
||||
}
|
||||
|
||||
for (i = 0; i < 8; i++)
|
||||
{
|
||||
for (j = 0; j < 2; j++)
|
||||
gUnknown_0201A4D0[i][j] = 0;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user