mirror of
https://github.com/pret/pokepinballrs.git
synced 2026-04-26 00:37:22 -05:00
Decompile sub_51FC in pokdedex.c
This commit is contained in:
parent
b55712a7e7
commit
98d74a72df
944
asm/pokedex.s
944
asm/pokedex.s
|
|
@ -5,950 +5,6 @@
|
|||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_51FC
|
||||
sub_51FC: @ 0x080051FC
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sl
|
||||
mov r6, sb
|
||||
mov r5, r8
|
||||
push {r5, r6, r7}
|
||||
sub sp, #0x18
|
||||
ldr r4, _08005348 @ =gUnknown_0200B3B8
|
||||
adds r7, r4, #0
|
||||
adds r7, #0xb8
|
||||
movs r0, #0xb8
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r4
|
||||
mov r8, r0
|
||||
movs r1, #0x8a
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r4
|
||||
mov sl, r1
|
||||
ldr r0, _0800534C @ =gUnknown_0201A448
|
||||
movs r2, #0
|
||||
ldrsh r0, [r0, r2]
|
||||
movs r2, #0xb8
|
||||
adds r1, r0, #0
|
||||
muls r1, r2, r1
|
||||
movs r3, #0xe6
|
||||
lsls r3, r3, #2
|
||||
adds r0, r4, r3
|
||||
adds r1, r1, r0
|
||||
str r1, [sp]
|
||||
ldr r0, _08005350 @ =gUnknown_0202BEFC
|
||||
ldrb r0, [r0]
|
||||
lsls r0, r0, #0x18
|
||||
asrs r0, r0, #0x18
|
||||
adds r1, r0, #0
|
||||
muls r1, r2, r1
|
||||
ldr r3, _08005354 @ =0x00000C38
|
||||
adds r0, r4, r3
|
||||
adds r1, r1, r0
|
||||
mov sb, r1
|
||||
ldr r0, _08005358 @ =gUnknown_0202BEE0
|
||||
ldrb r0, [r0]
|
||||
lsls r0, r0, #0x18
|
||||
asrs r0, r0, #0x18
|
||||
adds r1, r0, #0
|
||||
muls r1, r2, r1
|
||||
movs r3, #0xfd
|
||||
lsls r3, r3, #4
|
||||
adds r0, r4, r3
|
||||
adds r1, r1, r0
|
||||
str r1, [sp, #4]
|
||||
ldr r0, _0800535C @ =gUnknown_02019C28
|
||||
movs r1, #0
|
||||
ldrsb r1, [r0, r1]
|
||||
lsls r1, r1, #1
|
||||
ldr r0, _08005360 @ =gUnknown_0202C5AC
|
||||
ldrb r0, [r0]
|
||||
lsls r0, r0, #0x18
|
||||
asrs r0, r0, #0x18
|
||||
adds r0, #0x19
|
||||
adds r1, r1, r0
|
||||
adds r0, r1, #0
|
||||
muls r0, r2, r0
|
||||
adds r0, r0, r4
|
||||
str r0, [sp, #8]
|
||||
movs r0, #1
|
||||
strh r0, [r4]
|
||||
strh r0, [r7]
|
||||
ldr r0, _08005364 @ =gUnknown_0202A55C
|
||||
ldrh r0, [r0]
|
||||
mov r1, r8
|
||||
strh r0, [r1]
|
||||
ldr r1, _08005368 @ =gUnknown_0202A568
|
||||
ldrh r0, [r1]
|
||||
mov r2, sl
|
||||
strh r0, [r2]
|
||||
ldrh r0, [r1, #2]
|
||||
ldr r3, _0800536C @ =gUnknown_0200B698
|
||||
strh r0, [r3]
|
||||
ldr r0, _08005370 @ =gUnknown_0202A588
|
||||
ldrh r0, [r0]
|
||||
ldr r1, [sp]
|
||||
strh r0, [r1]
|
||||
ldr r0, _08005374 @ =gUnknown_0202BEC4
|
||||
ldrb r0, [r0]
|
||||
lsls r0, r0, #0x18
|
||||
asrs r0, r0, #0x18
|
||||
mov r2, sb
|
||||
strh r0, [r2]
|
||||
ldr r0, _08005378 @ =gUnknown_0202BF04
|
||||
ldrb r0, [r0]
|
||||
lsls r0, r0, #0x18
|
||||
asrs r0, r0, #0x18
|
||||
ldr r3, [sp, #4]
|
||||
strh r0, [r3]
|
||||
ldr r0, _0800537C @ =gUnknown_0202C590
|
||||
ldrb r0, [r0]
|
||||
lsls r0, r0, #0x18
|
||||
asrs r0, r0, #0x18
|
||||
ldr r1, _08005380 @ =gUnknown_0200C4F8
|
||||
strh r0, [r1]
|
||||
ldr r0, _08005384 @ =gUnknown_0201C1B4
|
||||
ldrb r0, [r0]
|
||||
lsls r0, r0, #0x18
|
||||
asrs r0, r0, #0x18
|
||||
ldr r2, [sp, #8]
|
||||
strh r0, [r2]
|
||||
ldr r0, _08005388 @ =gUnknown_086A6148
|
||||
movs r1, #0x1d
|
||||
adds r2, r4, #0
|
||||
bl LoadSpriteSets
|
||||
ldr r0, _0800538C @ =gUnknown_0201A4F0
|
||||
ldrh r0, [r0]
|
||||
adds r0, #0x14
|
||||
strh r0, [r4, #2]
|
||||
ldr r0, _08005390 @ =gUnknown_0202A57C
|
||||
movs r3, #0
|
||||
ldrsh r0, [r0, r3]
|
||||
lsls r0, r0, #4
|
||||
adds r0, #0x54
|
||||
strh r0, [r4, #4]
|
||||
adds r6, r4, #0
|
||||
adds r6, #8
|
||||
ldr r5, _08005394 @ =gOamBuffer
|
||||
ldrh r1, [r4, #8]
|
||||
lsls r1, r1, #3
|
||||
adds r1, r1, r5
|
||||
ldrb r0, [r1, #5]
|
||||
movs r2, #0xc
|
||||
orrs r0, r2
|
||||
strb r0, [r1, #5]
|
||||
ldrh r2, [r4, #8]
|
||||
lsls r2, r2, #3
|
||||
adds r2, r2, r5
|
||||
movs r0, #2
|
||||
ldrsh r1, [r6, r0]
|
||||
movs r3, #2
|
||||
ldrsh r0, [r4, r3]
|
||||
adds r1, r1, r0
|
||||
ldr r3, _08005398 @ =0x000001FF
|
||||
adds r0, r3, #0
|
||||
ands r1, r0
|
||||
ldrh r3, [r2, #2]
|
||||
ldr r0, _0800539C @ =0xFFFFFE00
|
||||
ands r0, r3
|
||||
orrs r0, r1
|
||||
strh r0, [r2, #2]
|
||||
ldrh r1, [r4, #8]
|
||||
lsls r1, r1, #3
|
||||
adds r1, r1, r5
|
||||
ldrb r0, [r4, #4]
|
||||
ldrb r6, [r6, #4]
|
||||
adds r0, r0, r6
|
||||
strb r0, [r1]
|
||||
ldr r1, _080053A0 @ =gUnknown_0202ADE0
|
||||
movs r4, #0
|
||||
ldrsh r0, [r1, r4]
|
||||
cmp r0, #0xc7
|
||||
bgt _080053A8
|
||||
ldr r4, _080053A4 @ =gUnknown_0202BF08
|
||||
movs r1, #3
|
||||
bl __divsi3
|
||||
adds r0, #0x56
|
||||
strh r0, [r4]
|
||||
adds r1, r4, #0
|
||||
b _080053AE
|
||||
.align 2, 0
|
||||
_08005348: .4byte gUnknown_0200B3B8
|
||||
_0800534C: .4byte gUnknown_0201A448
|
||||
_08005350: .4byte gUnknown_0202BEFC
|
||||
_08005354: .4byte 0x00000C38
|
||||
_08005358: .4byte gUnknown_0202BEE0
|
||||
_0800535C: .4byte gUnknown_02019C28
|
||||
_08005360: .4byte gUnknown_0202C5AC
|
||||
_08005364: .4byte gUnknown_0202A55C
|
||||
_08005368: .4byte gUnknown_0202A568
|
||||
_0800536C: .4byte gUnknown_0200B698
|
||||
_08005370: .4byte gUnknown_0202A588
|
||||
_08005374: .4byte gUnknown_0202BEC4
|
||||
_08005378: .4byte gUnknown_0202BF04
|
||||
_0800537C: .4byte gUnknown_0202C590
|
||||
_08005380: .4byte gUnknown_0200C4F8
|
||||
_08005384: .4byte gUnknown_0201C1B4
|
||||
_08005388: .4byte gUnknown_086A6148
|
||||
_0800538C: .4byte gUnknown_0201A4F0
|
||||
_08005390: .4byte gUnknown_0202A57C
|
||||
_08005394: .4byte gOamBuffer
|
||||
_08005398: .4byte 0x000001FF
|
||||
_0800539C: .4byte 0xFFFFFE00
|
||||
_080053A0: .4byte gUnknown_0202ADE0
|
||||
_080053A4: .4byte gUnknown_0202BF08
|
||||
_080053A8:
|
||||
ldr r1, _08005564 @ =gUnknown_0202BF08
|
||||
movs r0, #0x98
|
||||
strh r0, [r1]
|
||||
_080053AE:
|
||||
movs r0, #0xd
|
||||
strh r0, [r7, #2]
|
||||
ldrh r0, [r1]
|
||||
strh r0, [r7, #4]
|
||||
adds r6, r7, #0
|
||||
adds r6, #8
|
||||
ldr r4, _08005568 @ =gOamBuffer
|
||||
ldrh r1, [r7, #8]
|
||||
lsls r1, r1, #3
|
||||
adds r1, r1, r4
|
||||
ldrb r0, [r1, #5]
|
||||
movs r2, #0xc
|
||||
orrs r0, r2
|
||||
strb r0, [r1, #5]
|
||||
ldrh r2, [r7, #8]
|
||||
lsls r2, r2, #3
|
||||
adds r2, r2, r4
|
||||
movs r3, #2
|
||||
ldrsh r1, [r6, r3]
|
||||
movs r3, #2
|
||||
ldrsh r0, [r7, r3]
|
||||
adds r1, r1, r0
|
||||
ldr r3, _0800556C @ =0x000001FF
|
||||
adds r0, r3, #0
|
||||
ands r1, r0
|
||||
ldrh r3, [r2, #2]
|
||||
ldr r0, _08005570 @ =0xFFFFFE00
|
||||
mov ip, r0
|
||||
ands r0, r3
|
||||
orrs r0, r1
|
||||
strh r0, [r2, #2]
|
||||
ldrh r1, [r7, #8]
|
||||
lsls r1, r1, #3
|
||||
adds r1, r1, r4
|
||||
ldrb r0, [r7, #4]
|
||||
ldrb r6, [r6, #4]
|
||||
adds r0, r0, r6
|
||||
strb r0, [r1]
|
||||
mov r1, r8
|
||||
ldrh r0, [r1]
|
||||
cmp r0, #1
|
||||
bne _0800545E
|
||||
movs r0, #0x24
|
||||
strh r0, [r1, #2]
|
||||
strh r0, [r1, #4]
|
||||
adds r5, r4, #0
|
||||
mov r4, r8
|
||||
adds r4, #8
|
||||
movs r6, #5
|
||||
_08005410:
|
||||
ldrh r2, [r4]
|
||||
lsls r2, r2, #3
|
||||
adds r2, r2, r5
|
||||
ldrb r1, [r2, #5]
|
||||
movs r0, #0xd
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #4
|
||||
orrs r0, r1
|
||||
strb r0, [r2, #5]
|
||||
ldrh r3, [r4]
|
||||
lsls r3, r3, #3
|
||||
adds r3, r3, r5
|
||||
movs r2, #2
|
||||
ldrsh r1, [r4, r2]
|
||||
mov r7, r8
|
||||
movs r2, #2
|
||||
ldrsh r0, [r7, r2]
|
||||
adds r1, r1, r0
|
||||
ldr r7, _0800556C @ =0x000001FF
|
||||
adds r0, r7, #0
|
||||
ands r1, r0
|
||||
ldrh r2, [r3, #2]
|
||||
mov r0, ip
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strh r0, [r3, #2]
|
||||
ldrh r1, [r4]
|
||||
lsls r1, r1, #3
|
||||
adds r1, r1, r5
|
||||
mov r2, r8
|
||||
ldrb r0, [r2, #4]
|
||||
ldrb r3, [r4, #4]
|
||||
adds r0, r0, r3
|
||||
strb r0, [r1]
|
||||
adds r4, #8
|
||||
subs r6, #1
|
||||
cmp r6, #0
|
||||
bge _08005410
|
||||
_0800545E:
|
||||
mov r4, sl
|
||||
ldrh r0, [r4]
|
||||
cmp r0, #1
|
||||
bne _08005536
|
||||
movs r0, #0x24
|
||||
strh r0, [r4, #2]
|
||||
movs r0, #0x1c
|
||||
strh r0, [r4, #4]
|
||||
movs r6, #0
|
||||
ldr r7, _08005574 @ =gUnknown_0202BF0C
|
||||
mov r8, r7
|
||||
ldr r7, _08005568 @ =gOamBuffer
|
||||
mov r5, sl
|
||||
adds r5, #8
|
||||
ldr r0, _08005570 @ =0xFFFFFE00
|
||||
mov ip, r0
|
||||
_0800547E:
|
||||
ldrh r2, [r5]
|
||||
lsls r2, r2, #3
|
||||
adds r2, r2, r7
|
||||
ldrb r1, [r2, #5]
|
||||
movs r0, #0xd
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #4
|
||||
orrs r0, r1
|
||||
strb r0, [r2, #5]
|
||||
ldrh r4, [r5]
|
||||
lsls r4, r4, #3
|
||||
adds r4, r4, r7
|
||||
lsls r3, r6, #1
|
||||
ldr r1, _08005578 @ =gUnknown_0202BF14
|
||||
movs r0, #0
|
||||
ldrsh r2, [r1, r0]
|
||||
lsls r0, r2, #3
|
||||
adds r3, r3, r0
|
||||
ldr r1, _0800557C @ =gUnknown_086A5DDA
|
||||
adds r3, r3, r1
|
||||
str r3, [sp, #0x14]
|
||||
mov r3, r8
|
||||
movs r0, #0
|
||||
ldrsh r1, [r3, r0]
|
||||
lsls r1, r1, #1
|
||||
lsls r0, r2, #2
|
||||
adds r0, r0, r2
|
||||
lsls r0, r0, #3
|
||||
adds r1, r1, r0
|
||||
ldr r2, _08005580 @ =gUnknown_086A5DF2
|
||||
adds r1, r1, r2
|
||||
ldrh r1, [r1]
|
||||
ldr r3, [sp, #0x14]
|
||||
ldrh r3, [r3]
|
||||
adds r1, r1, r3
|
||||
ldr r2, _08005584 @ =0x000003FF
|
||||
adds r0, r2, #0
|
||||
ands r1, r0
|
||||
ldrh r2, [r4, #4]
|
||||
ldr r0, _08005588 @ =0xFFFFFC00
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strh r0, [r4, #4]
|
||||
ldrh r3, [r5]
|
||||
lsls r3, r3, #3
|
||||
adds r3, r3, r7
|
||||
movs r4, #2
|
||||
ldrsh r1, [r5, r4]
|
||||
mov r2, sl
|
||||
movs r4, #2
|
||||
ldrsh r0, [r2, r4]
|
||||
adds r1, r1, r0
|
||||
ldr r2, _0800556C @ =0x000001FF
|
||||
adds r0, r2, #0
|
||||
ands r1, r0
|
||||
ldrh r2, [r3, #2]
|
||||
mov r0, ip
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strh r0, [r3, #2]
|
||||
ldrh r1, [r5]
|
||||
lsls r1, r1, #3
|
||||
adds r1, r1, r7
|
||||
mov r3, sl
|
||||
ldrb r0, [r3, #4]
|
||||
ldrb r4, [r5, #4]
|
||||
adds r0, r0, r4
|
||||
strb r0, [r1]
|
||||
adds r5, #8
|
||||
adds r6, #1
|
||||
cmp r6, #3
|
||||
ble _0800547E
|
||||
ldr r7, _0800558C @ =gUnknown_0201A440
|
||||
ldrh r0, [r7]
|
||||
adds r0, #1
|
||||
strh r0, [r7]
|
||||
lsls r0, r0, #0x10
|
||||
asrs r0, r0, #0x10
|
||||
cmp r0, #0xe
|
||||
ble _08005536
|
||||
movs r1, #0
|
||||
strh r1, [r7]
|
||||
mov r2, r8
|
||||
ldrh r0, [r2]
|
||||
adds r0, #1
|
||||
strh r0, [r2]
|
||||
lsls r0, r0, #0x10
|
||||
asrs r0, r0, #0x10
|
||||
cmp r0, #8
|
||||
ble _08005536
|
||||
strh r1, [r2]
|
||||
_08005536:
|
||||
ldr r3, _08005590 @ =gUnknown_0200B698
|
||||
ldrh r0, [r3]
|
||||
cmp r0, #1
|
||||
beq _08005540
|
||||
b _0800568A
|
||||
_08005540:
|
||||
ldr r1, _08005594 @ =gUnknown_086A6356
|
||||
ldr r0, _08005598 @ =gUnknown_0202ADE0
|
||||
movs r4, #0
|
||||
ldrsh r0, [r0, r4]
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r1
|
||||
movs r7, #0
|
||||
ldrsh r1, [r0, r7]
|
||||
movs r0, #1
|
||||
rsbs r0, r0, #0
|
||||
cmp r1, r0
|
||||
bne _0800559C
|
||||
movs r0, #1
|
||||
str r0, [sp, #0x10]
|
||||
movs r1, #0x24
|
||||
str r1, [sp, #0xc]
|
||||
b _080055A4
|
||||
.align 2, 0
|
||||
_08005564: .4byte gUnknown_0202BF08
|
||||
_08005568: .4byte gOamBuffer
|
||||
_0800556C: .4byte 0x000001FF
|
||||
_08005570: .4byte 0xFFFFFE00
|
||||
_08005574: .4byte gUnknown_0202BF0C
|
||||
_08005578: .4byte gUnknown_0202BF14
|
||||
_0800557C: .4byte gUnknown_086A5DDA
|
||||
_08005580: .4byte gUnknown_086A5DF2
|
||||
_08005584: .4byte 0x000003FF
|
||||
_08005588: .4byte 0xFFFFFC00
|
||||
_0800558C: .4byte gUnknown_0201A440
|
||||
_08005590: .4byte gUnknown_0200B698
|
||||
_08005594: .4byte gUnknown_086A6356
|
||||
_08005598: .4byte gUnknown_0202ADE0
|
||||
_0800559C:
|
||||
movs r2, #2
|
||||
str r2, [sp, #0x10]
|
||||
movs r3, #0x30
|
||||
str r3, [sp, #0xc]
|
||||
_080055A4:
|
||||
movs r0, #0x30
|
||||
ldr r4, _08005760 @ =gUnknown_0200B698
|
||||
strh r0, [r4, #2]
|
||||
movs r0, #0x28
|
||||
strh r0, [r4, #4]
|
||||
movs r6, #0
|
||||
ldr r7, _08005764 @ =gUnknown_0202BF0C
|
||||
mov r8, r7
|
||||
ldr r0, [sp, #0x10]
|
||||
lsls r0, r0, #3
|
||||
mov sl, r0
|
||||
ldr r5, _08005768 @ =gOamBuffer
|
||||
adds r4, #8
|
||||
movs r0, #0x66
|
||||
ldr r2, [sp, #0x10]
|
||||
adds r1, r2, #0
|
||||
muls r1, r0, r1
|
||||
mov ip, r1
|
||||
_080055C8:
|
||||
ldrh r2, [r4]
|
||||
lsls r2, r2, #3
|
||||
adds r2, r2, r5
|
||||
ldrb r1, [r2, #5]
|
||||
movs r0, #0xd
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #4
|
||||
orrs r0, r1
|
||||
strb r0, [r2, #5]
|
||||
ldrh r3, [r4]
|
||||
lsls r3, r3, #3
|
||||
adds r3, r3, r5
|
||||
lsls r2, r6, #1
|
||||
add r2, sl
|
||||
ldr r7, _0800576C @ =gUnknown_086A5DDA
|
||||
adds r2, r2, r7
|
||||
mov r1, r8
|
||||
movs r7, #0
|
||||
ldrsh r0, [r1, r7]
|
||||
lsls r0, r0, #1
|
||||
add r0, ip
|
||||
ldr r1, _08005770 @ =gUnknown_086A5EE2
|
||||
adds r0, r0, r1
|
||||
ldrh r1, [r0]
|
||||
ldrh r2, [r2]
|
||||
adds r1, r1, r2
|
||||
ldr r2, _08005774 @ =0x000003FF
|
||||
adds r0, r2, #0
|
||||
ands r1, r0
|
||||
ldrh r2, [r3, #4]
|
||||
ldr r0, _08005778 @ =0xFFFFFC00
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strh r0, [r3, #4]
|
||||
ldrh r3, [r4]
|
||||
lsls r3, r3, #3
|
||||
adds r3, r3, r5
|
||||
movs r7, #2
|
||||
ldrsh r1, [r4, r7]
|
||||
ldr r2, _08005760 @ =gUnknown_0200B698
|
||||
movs r7, #2
|
||||
ldrsh r0, [r2, r7]
|
||||
adds r1, r1, r0
|
||||
ldr r2, _0800577C @ =0x000001FF
|
||||
adds r0, r2, #0
|
||||
ands r1, r0
|
||||
ldrh r2, [r3, #2]
|
||||
ldr r0, _08005780 @ =0xFFFFFE00
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strh r0, [r3, #2]
|
||||
ldrh r1, [r4]
|
||||
lsls r1, r1, #3
|
||||
adds r1, r1, r5
|
||||
ldr r3, _08005760 @ =gUnknown_0200B698
|
||||
ldrb r0, [r3, #4]
|
||||
ldrb r7, [r4, #4]
|
||||
adds r0, r0, r7
|
||||
strb r0, [r1]
|
||||
adds r4, #8
|
||||
adds r6, #1
|
||||
cmp r6, #3
|
||||
ble _080055C8
|
||||
ldr r0, _08005784 @ =gUnknown_0201A440
|
||||
ldrh r1, [r0]
|
||||
adds r1, #1
|
||||
strh r1, [r0]
|
||||
mov r2, r8
|
||||
movs r3, #0
|
||||
ldrsh r0, [r2, r3]
|
||||
lsls r0, r0, #1
|
||||
movs r2, #0x66
|
||||
ldr r4, [sp, #0x10]
|
||||
muls r2, r4, r2
|
||||
adds r0, r0, r2
|
||||
ldr r7, _08005788 @ =gUnknown_086A6014
|
||||
adds r0, r0, r7
|
||||
lsls r1, r1, #0x10
|
||||
asrs r1, r1, #0x10
|
||||
movs r2, #0
|
||||
ldrsh r0, [r0, r2]
|
||||
cmp r1, r0
|
||||
ble _0800568A
|
||||
movs r1, #0
|
||||
ldr r3, _08005784 @ =gUnknown_0201A440
|
||||
strh r1, [r3]
|
||||
mov r4, r8
|
||||
ldrh r0, [r4]
|
||||
adds r0, #1
|
||||
strh r0, [r4]
|
||||
lsls r0, r0, #0x10
|
||||
asrs r0, r0, #0x10
|
||||
ldr r7, [sp, #0xc]
|
||||
cmp r0, r7
|
||||
ble _0800568A
|
||||
strh r1, [r4]
|
||||
_0800568A:
|
||||
ldr r1, [sp]
|
||||
ldrh r0, [r1]
|
||||
cmp r0, #1
|
||||
bne _0800573C
|
||||
movs r0, #0x24
|
||||
strh r0, [r1, #2]
|
||||
movs r0, #0x40
|
||||
strh r0, [r1, #4]
|
||||
ldr r2, _0800578C @ =gUnknown_086A6148
|
||||
ldr r1, _08005790 @ =gUnknown_0201A448
|
||||
movs r3, #0
|
||||
ldrsh r0, [r1, r3]
|
||||
adds r0, #5
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r2
|
||||
ldr r5, [r0]
|
||||
movs r6, #0
|
||||
mov r8, r1
|
||||
ldr r4, _08005794 @ =gUnknown_0202BF00
|
||||
mov ip, r4
|
||||
ldrh r7, [r5]
|
||||
cmp r6, r7
|
||||
bge _08005716
|
||||
ldr r0, _08005780 @ =0xFFFFFE00
|
||||
mov sl, r0
|
||||
ldr r4, [sp]
|
||||
adds r4, #8
|
||||
_080056C0:
|
||||
ldrh r2, [r4]
|
||||
lsls r2, r2, #3
|
||||
ldr r1, _08005768 @ =gOamBuffer
|
||||
adds r2, r2, r1
|
||||
ldrb r1, [r2, #5]
|
||||
movs r0, #0xd
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #4
|
||||
orrs r0, r1
|
||||
strb r0, [r2, #5]
|
||||
ldrh r3, [r4]
|
||||
lsls r3, r3, #3
|
||||
ldr r2, _08005768 @ =gOamBuffer
|
||||
adds r3, r3, r2
|
||||
movs r7, #2
|
||||
ldrsh r1, [r4, r7]
|
||||
ldr r2, [sp]
|
||||
movs r7, #2
|
||||
ldrsh r0, [r2, r7]
|
||||
adds r1, r1, r0
|
||||
ldr r2, _0800577C @ =0x000001FF
|
||||
adds r0, r2, #0
|
||||
ands r1, r0
|
||||
ldrh r2, [r3, #2]
|
||||
mov r0, sl
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strh r0, [r3, #2]
|
||||
ldrh r1, [r4]
|
||||
lsls r1, r1, #3
|
||||
ldr r3, _08005768 @ =gOamBuffer
|
||||
adds r1, r1, r3
|
||||
ldr r7, [sp]
|
||||
ldrb r0, [r7, #4]
|
||||
ldrb r2, [r4, #4]
|
||||
adds r0, r0, r2
|
||||
strb r0, [r1]
|
||||
adds r4, #8
|
||||
adds r6, #1
|
||||
ldrh r3, [r5]
|
||||
cmp r6, r3
|
||||
blt _080056C0
|
||||
_08005716:
|
||||
mov r4, ip
|
||||
ldrh r0, [r4]
|
||||
adds r0, #1
|
||||
strh r0, [r4]
|
||||
lsls r0, r0, #0x10
|
||||
asrs r0, r0, #0x10
|
||||
cmp r0, #8
|
||||
ble _0800573C
|
||||
movs r1, #0
|
||||
strh r1, [r4]
|
||||
mov r7, r8
|
||||
ldrh r0, [r7]
|
||||
adds r0, #1
|
||||
strh r0, [r7]
|
||||
lsls r0, r0, #0x10
|
||||
asrs r0, r0, #0x10
|
||||
cmp r0, #0xb
|
||||
ble _0800573C
|
||||
strh r1, [r7]
|
||||
_0800573C:
|
||||
mov r1, sb
|
||||
ldrh r0, [r1]
|
||||
cmp r0, #1
|
||||
bne _08005818
|
||||
ldr r0, _08005798 @ =gUnknown_0202BEFC
|
||||
movs r1, #0
|
||||
ldrsb r1, [r0, r1]
|
||||
adds r2, r0, #0
|
||||
cmp r1, #0
|
||||
beq _08005754
|
||||
cmp r1, #4
|
||||
bne _0800579C
|
||||
_08005754:
|
||||
movs r0, #0x78
|
||||
mov r3, sb
|
||||
strh r0, [r3, #2]
|
||||
movs r0, #0x64
|
||||
strh r0, [r3, #4]
|
||||
b _080057A6
|
||||
.align 2, 0
|
||||
_08005760: .4byte gUnknown_0200B698
|
||||
_08005764: .4byte gUnknown_0202BF0C
|
||||
_08005768: .4byte gOamBuffer
|
||||
_0800576C: .4byte gUnknown_086A5DDA
|
||||
_08005770: .4byte gUnknown_086A5EE2
|
||||
_08005774: .4byte 0x000003FF
|
||||
_08005778: .4byte 0xFFFFFC00
|
||||
_0800577C: .4byte 0x000001FF
|
||||
_08005780: .4byte 0xFFFFFE00
|
||||
_08005784: .4byte gUnknown_0201A440
|
||||
_08005788: .4byte gUnknown_086A6014
|
||||
_0800578C: .4byte gUnknown_086A6148
|
||||
_08005790: .4byte gUnknown_0201A448
|
||||
_08005794: .4byte gUnknown_0202BF00
|
||||
_08005798: .4byte gUnknown_0202BEFC
|
||||
_0800579C:
|
||||
movs r0, #0x78
|
||||
mov r4, sb
|
||||
strh r0, [r4, #2]
|
||||
movs r0, #0x50
|
||||
strh r0, [r4, #4]
|
||||
_080057A6:
|
||||
ldr r1, _0800597C @ =gUnknown_086A6148
|
||||
movs r0, #0
|
||||
ldrsb r0, [r2, r0]
|
||||
adds r0, #0x11
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r1
|
||||
ldr r5, [r0]
|
||||
movs r6, #0
|
||||
ldrh r7, [r5]
|
||||
cmp r6, r7
|
||||
bge _08005818
|
||||
ldr r0, _08005980 @ =gOamBuffer
|
||||
mov ip, r0
|
||||
movs r1, #0xd
|
||||
rsbs r1, r1, #0
|
||||
mov sl, r1
|
||||
ldr r2, _08005984 @ =0xFFFFFE00
|
||||
mov r8, r2
|
||||
mov r4, sb
|
||||
adds r4, #8
|
||||
_080057CE:
|
||||
ldrh r1, [r4]
|
||||
lsls r1, r1, #3
|
||||
add r1, ip
|
||||
ldrb r2, [r1, #5]
|
||||
mov r0, sl
|
||||
ands r0, r2
|
||||
strb r0, [r1, #5]
|
||||
ldrh r3, [r4]
|
||||
lsls r3, r3, #3
|
||||
add r3, ip
|
||||
movs r7, #2
|
||||
ldrsh r1, [r4, r7]
|
||||
mov r2, sb
|
||||
movs r7, #2
|
||||
ldrsh r0, [r2, r7]
|
||||
adds r1, r1, r0
|
||||
ldr r2, _08005988 @ =0x000001FF
|
||||
adds r0, r2, #0
|
||||
ands r1, r0
|
||||
ldrh r2, [r3, #2]
|
||||
mov r0, r8
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strh r0, [r3, #2]
|
||||
ldrh r1, [r4]
|
||||
lsls r1, r1, #3
|
||||
add r1, ip
|
||||
mov r3, sb
|
||||
ldrb r0, [r3, #4]
|
||||
ldrb r7, [r4, #4]
|
||||
adds r0, r0, r7
|
||||
strb r0, [r1]
|
||||
adds r4, #8
|
||||
adds r6, #1
|
||||
ldrh r0, [r5]
|
||||
cmp r6, r0
|
||||
blt _080057CE
|
||||
_08005818:
|
||||
ldr r1, [sp, #4]
|
||||
ldrh r0, [r1]
|
||||
cmp r0, #1
|
||||
bne _0800588A
|
||||
movs r0, #0x9e
|
||||
strh r0, [r1, #2]
|
||||
movs r0, #0x94
|
||||
strh r0, [r1, #4]
|
||||
ldr r1, _0800597C @ =gUnknown_086A6148
|
||||
ldr r0, _0800598C @ =gUnknown_0202BEE0
|
||||
ldrb r0, [r0]
|
||||
lsls r0, r0, #0x18
|
||||
asrs r0, r0, #0x18
|
||||
adds r0, #0x16
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r1
|
||||
ldr r5, [r0]
|
||||
movs r6, #0
|
||||
ldrh r2, [r5]
|
||||
cmp r6, r2
|
||||
bge _0800588A
|
||||
ldr r3, _08005980 @ =gOamBuffer
|
||||
mov sl, r3
|
||||
ldr r4, _08005984 @ =0xFFFFFE00
|
||||
mov r8, r4
|
||||
ldr r4, [sp, #4]
|
||||
adds r4, #8
|
||||
_0800584E:
|
||||
ldrh r3, [r4]
|
||||
lsls r3, r3, #3
|
||||
add r3, sl
|
||||
movs r7, #2
|
||||
ldrsh r1, [r4, r7]
|
||||
ldr r2, [sp, #4]
|
||||
movs r7, #2
|
||||
ldrsh r0, [r2, r7]
|
||||
adds r1, r1, r0
|
||||
ldr r2, _08005988 @ =0x000001FF
|
||||
adds r0, r2, #0
|
||||
ands r1, r0
|
||||
ldrh r2, [r3, #2]
|
||||
mov r0, r8
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strh r0, [r3, #2]
|
||||
ldrh r1, [r4]
|
||||
lsls r1, r1, #3
|
||||
add r1, sl
|
||||
ldr r3, [sp, #4]
|
||||
ldrb r0, [r3, #4]
|
||||
ldrb r7, [r4, #4]
|
||||
adds r0, r0, r7
|
||||
strb r0, [r1]
|
||||
adds r4, #8
|
||||
adds r6, #1
|
||||
ldrh r0, [r5]
|
||||
cmp r6, r0
|
||||
blt _0800584E
|
||||
_0800588A:
|
||||
ldr r1, _08005990 @ =gUnknown_0200C4F8
|
||||
ldrh r0, [r1]
|
||||
cmp r0, #1
|
||||
bne _080058EE
|
||||
movs r0, #0xa8
|
||||
strh r0, [r1, #2]
|
||||
movs r0, #0x54
|
||||
strh r0, [r1, #4]
|
||||
ldr r5, _08005980 @ =gOamBuffer
|
||||
ldr r2, _08005984 @ =0xFFFFFE00
|
||||
mov r8, r2
|
||||
adds r4, r1, #0
|
||||
adds r4, #8
|
||||
movs r6, #2
|
||||
_080058A6:
|
||||
ldrh r2, [r4]
|
||||
lsls r2, r2, #3
|
||||
adds r2, r2, r5
|
||||
ldrb r0, [r2, #5]
|
||||
movs r1, #0xc
|
||||
orrs r0, r1
|
||||
strb r0, [r2, #5]
|
||||
ldrh r3, [r4]
|
||||
lsls r3, r3, #3
|
||||
adds r3, r3, r5
|
||||
movs r7, #2
|
||||
ldrsh r1, [r4, r7]
|
||||
ldr r2, _08005990 @ =gUnknown_0200C4F8
|
||||
movs r7, #2
|
||||
ldrsh r0, [r2, r7]
|
||||
adds r1, r1, r0
|
||||
ldr r2, _08005988 @ =0x000001FF
|
||||
adds r0, r2, #0
|
||||
ands r1, r0
|
||||
ldrh r2, [r3, #2]
|
||||
mov r0, r8
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strh r0, [r3, #2]
|
||||
ldrh r1, [r4]
|
||||
lsls r1, r1, #3
|
||||
adds r1, r1, r5
|
||||
ldr r3, _08005990 @ =gUnknown_0200C4F8
|
||||
ldrb r0, [r3, #4]
|
||||
ldrb r7, [r4, #4]
|
||||
adds r0, r0, r7
|
||||
strb r0, [r1]
|
||||
adds r4, #8
|
||||
subs r6, #1
|
||||
cmp r6, #0
|
||||
bge _080058A6
|
||||
_080058EE:
|
||||
ldr r1, [sp, #8]
|
||||
ldrh r0, [r1]
|
||||
cmp r0, #1
|
||||
bne _08005932
|
||||
movs r0, #0x78
|
||||
strh r0, [r1, #2]
|
||||
movs r0, #0x84
|
||||
strh r0, [r1, #4]
|
||||
adds r6, r1, #0
|
||||
adds r6, #8
|
||||
ldrh r2, [r1, #8]
|
||||
lsls r2, r2, #3
|
||||
ldr r3, _08005980 @ =gOamBuffer
|
||||
adds r2, r2, r3
|
||||
movs r4, #2
|
||||
ldrsh r1, [r6, r4]
|
||||
adds r1, #0x78
|
||||
ldr r7, _08005988 @ =0x000001FF
|
||||
adds r0, r7, #0
|
||||
ands r1, r0
|
||||
ldrh r3, [r2, #2]
|
||||
ldr r0, _08005984 @ =0xFFFFFE00
|
||||
ands r0, r3
|
||||
orrs r0, r1
|
||||
strh r0, [r2, #2]
|
||||
ldr r0, [sp, #8]
|
||||
ldrh r1, [r0, #8]
|
||||
lsls r1, r1, #3
|
||||
ldr r2, _08005980 @ =gOamBuffer
|
||||
adds r1, r1, r2
|
||||
ldrb r0, [r0, #4]
|
||||
ldrb r6, [r6, #4]
|
||||
adds r0, r0, r6
|
||||
strb r0, [r1]
|
||||
_08005932:
|
||||
ldr r3, _08005994 @ =gUnknown_0202BE20
|
||||
ldrh r0, [r3]
|
||||
adds r0, #1
|
||||
strh r0, [r3]
|
||||
lsls r0, r0, #0x10
|
||||
asrs r0, r0, #0x10
|
||||
cmp r0, #0xc
|
||||
ble _0800595A
|
||||
movs r0, #0
|
||||
strh r0, [r3]
|
||||
ldr r2, _08005998 @ =gUnknown_0201A4F0
|
||||
ldrh r1, [r2]
|
||||
movs r0, #1
|
||||
subs r0, r0, r1
|
||||
strh r0, [r2]
|
||||
ldr r2, _0800598C @ =gUnknown_0202BEE0
|
||||
ldrb r1, [r2]
|
||||
movs r0, #1
|
||||
subs r0, r0, r1
|
||||
strb r0, [r2]
|
||||
_0800595A:
|
||||
movs r0, #0
|
||||
ldr r4, [sp]
|
||||
strh r0, [r4]
|
||||
mov r7, sb
|
||||
strh r0, [r7]
|
||||
ldr r1, [sp, #4]
|
||||
strh r0, [r1]
|
||||
ldr r2, [sp, #8]
|
||||
strh r0, [r2]
|
||||
add sp, #0x18
|
||||
pop {r3, r4, r5}
|
||||
mov r8, r3
|
||||
mov sb, r4
|
||||
mov sl, r5
|
||||
pop {r4, r5, r6, r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0800597C: .4byte gUnknown_086A6148
|
||||
_08005980: .4byte gOamBuffer
|
||||
_08005984: .4byte 0xFFFFFE00
|
||||
_08005988: .4byte 0x000001FF
|
||||
_0800598C: .4byte gUnknown_0202BEE0
|
||||
_08005990: .4byte gUnknown_0200C4F8
|
||||
_08005994: .4byte gUnknown_0202BE20
|
||||
_08005998: .4byte gUnknown_0201A4F0
|
||||
|
||||
thumb_func_start sub_599C
|
||||
sub_599C: @ 0x0800599C
|
||||
push {r4, r5, r6, r7, lr}
|
||||
|
|
|
|||
|
|
@ -352,7 +352,6 @@ extern void sub_3FAC(void);
|
|||
//extern ? sub_4BB4();
|
||||
//extern ? sub_4C80();
|
||||
//extern ? sub_4D50();
|
||||
extern void sub_51FC(void);
|
||||
extern void sub_599C(void);
|
||||
extern void sub_5E60(void);
|
||||
//extern ? sub_5EA4();
|
||||
|
|
|
|||
233
src/pokedex.c
233
src/pokedex.c
|
|
@ -19,6 +19,15 @@ s16 sub_5EA4(void); // TODO Pretty sure it's s16, but could be u16
|
|||
void sub_5EC8(void);
|
||||
void sub_70E0(s16, s32);
|
||||
void sub_88E4(void);
|
||||
void sub_51FC(void);
|
||||
|
||||
extern const struct SpriteSet *const gUnknown_086A6148[];
|
||||
extern u16 gUnknown_0202BF08;
|
||||
extern const u16 gUnknown_086A5DDA[][4];
|
||||
extern const u16 gUnknown_086A5DF2[][20];
|
||||
extern const s16 gUnknown_086A6356[];
|
||||
extern const u16 gUnknown_086A5EE2[][51];
|
||||
extern const s16 gUnknown_086A6014[][51];
|
||||
|
||||
void PokedexMain(void)
|
||||
{
|
||||
|
|
@ -751,7 +760,7 @@ static void sub_4D74(void)
|
|||
|
||||
gUnknown_0202C58C = 9;
|
||||
}
|
||||
|
||||
|
||||
gUnknown_02019C24 = 1;
|
||||
}
|
||||
|
||||
|
|
@ -929,4 +938,224 @@ void sub_51CC(void)
|
|||
sub_6F78(gUnknown_0202ADE0);
|
||||
else
|
||||
sub_8974(gUnknown_0202ADE0);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_51FC(void)
|
||||
{
|
||||
int i;
|
||||
struct SpriteGroup *group0;
|
||||
struct SpriteGroup *group1;
|
||||
struct SpriteGroup *group2;
|
||||
struct SpriteGroup *group3;
|
||||
struct SpriteGroup *group4;
|
||||
struct SpriteGroup *group5;
|
||||
struct SpriteGroup *group6;
|
||||
struct SpriteGroup *group7;
|
||||
struct SpriteGroup *group8;
|
||||
struct SpriteGroup *group9;
|
||||
struct OamDataSimple *groupOam;
|
||||
const struct SpriteSet *spriteSet;
|
||||
int var0, var1;
|
||||
|
||||
group0 = &gUnknown_0200B3B8[0];
|
||||
group1 = &gUnknown_0200B3B8[1];
|
||||
group2 = &gUnknown_0200B3B8[2];
|
||||
group3 = &gUnknown_0200B3B8[3];
|
||||
group4 = &gUnknown_0200B3B8[4];
|
||||
group5 = &gUnknown_0200B3B8[5 + gUnknown_0201A448];
|
||||
group6 = &gUnknown_0200B3B8[17 + gUnknown_0202BEFC];
|
||||
group7 = &gUnknown_0200B3B8[22 + gUnknown_0202BEE0];
|
||||
group8 = &gUnknown_0200B3B8[24];
|
||||
group9 = &gUnknown_0200B3B8[25 + gUnknown_02019C28 * 2 + gUnknown_0202C5AC];
|
||||
|
||||
group0->available = 1;
|
||||
group1->available = 1;
|
||||
group2->available = gUnknown_0202A55C;
|
||||
group3->available = gUnknown_0202A568[0];
|
||||
group4->available = gUnknown_0202A568[1];
|
||||
group5->available = gUnknown_0202A588;
|
||||
group6->available = gUnknown_0202BEC4;
|
||||
group7->available = gUnknown_0202BF04;
|
||||
group8->available = gUnknown_0202C590;
|
||||
group9->available = gUnknown_0201C1B4;
|
||||
LoadSpriteSets(gUnknown_086A6148, 29, group0);
|
||||
|
||||
group0->baseX = 20 + gUnknown_0201A4F0;
|
||||
group0->baseY = 84 + gUnknown_0202A57C * 16;
|
||||
groupOam = &group0->oam[0];
|
||||
gOamBuffer[groupOam->oamId].priority = 3;
|
||||
gOamBuffer[groupOam->oamId].x = groupOam->xOffset + group0->baseX;
|
||||
gOamBuffer[groupOam->oamId].y = groupOam->yOffset + group0->baseY;
|
||||
|
||||
if (gUnknown_0202ADE0 < 200)
|
||||
gUnknown_0202BF08 = 86 + gUnknown_0202ADE0 / 3;
|
||||
else
|
||||
gUnknown_0202BF08 = 152;
|
||||
|
||||
group1->baseX = 13;
|
||||
group1->baseY = gUnknown_0202BF08;
|
||||
groupOam = &group1->oam[0];
|
||||
gOamBuffer[groupOam->oamId].priority = 3;
|
||||
gOamBuffer[groupOam->oamId].x = groupOam->xOffset + group1->baseX;
|
||||
gOamBuffer[groupOam->oamId].y = groupOam->yOffset + group1->baseY;
|
||||
|
||||
if (group2->available == 1)
|
||||
{
|
||||
group2->baseX = 36;
|
||||
group2->baseY = 36;
|
||||
for (i = 0; i < 6; i++)
|
||||
{
|
||||
groupOam = &group2->oam[i];
|
||||
gOamBuffer[group2->oam[i].oamId].priority = 1;
|
||||
gOamBuffer[group2->oam[i].oamId].x = groupOam->xOffset + group2->baseX;
|
||||
gOamBuffer[group2->oam[i].oamId].y = groupOam->yOffset + group2->baseY;
|
||||
}
|
||||
}
|
||||
|
||||
if (group3->available == 1)
|
||||
{
|
||||
group3->baseX = 36;
|
||||
group3->baseY = 28;
|
||||
for (i = 0; i < 4; i++)
|
||||
{
|
||||
groupOam = &group3->oam[i];
|
||||
gOamBuffer[groupOam->oamId].priority = 1;
|
||||
gOamBuffer[groupOam->oamId].tileNum = gUnknown_086A5DDA[gUnknown_0202BF14][i] +
|
||||
gUnknown_086A5DF2[gUnknown_0202BF14][gUnknown_0202BF0C];
|
||||
;
|
||||
gOamBuffer[groupOam->oamId].x = groupOam->xOffset + group3->baseX;
|
||||
gOamBuffer[groupOam->oamId].y = groupOam->yOffset + group3->baseY;
|
||||
}
|
||||
|
||||
if (++gUnknown_0201A440 > 14)
|
||||
{
|
||||
gUnknown_0201A440 = 0;
|
||||
if (++gUnknown_0202BF0C > 8)
|
||||
gUnknown_0202BF0C = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (group4->available == 1)
|
||||
{
|
||||
if (gUnknown_086A6356[gUnknown_0202ADE0] == -1)
|
||||
{
|
||||
var0 = 1;
|
||||
var1 = 36;
|
||||
}
|
||||
else
|
||||
{
|
||||
var0 = 2;
|
||||
var1 = 48;
|
||||
}
|
||||
|
||||
group4->baseX = 48;
|
||||
group4->baseY = 40;
|
||||
for (i = 0; i < 4; i++)
|
||||
{
|
||||
groupOam = &group4->oam[i];
|
||||
gOamBuffer[groupOam->oamId].priority = 1;
|
||||
gOamBuffer[groupOam->oamId].tileNum = gUnknown_086A5DDA[var0][i] + gUnknown_086A5EE2[var0][gUnknown_0202BF0C];
|
||||
gOamBuffer[groupOam->oamId].x = groupOam->xOffset + group4->baseX;
|
||||
gOamBuffer[groupOam->oamId].y = groupOam->yOffset + group4->baseY;
|
||||
}
|
||||
|
||||
if (++gUnknown_0201A440 > gUnknown_086A6014[var0][gUnknown_0202BF0C])
|
||||
{
|
||||
gUnknown_0201A440 = 0;
|
||||
if (++gUnknown_0202BF0C > var1)
|
||||
gUnknown_0202BF0C = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (group5->available == 1)
|
||||
{
|
||||
group5->baseX = 36;
|
||||
group5->baseY = 64;
|
||||
spriteSet = gUnknown_086A6148[5 + gUnknown_0201A448];
|
||||
for (i = 0; i < spriteSet->count; i++)
|
||||
{
|
||||
groupOam = &group5->oam[i];
|
||||
gOamBuffer[groupOam->oamId].priority = 1;
|
||||
gOamBuffer[groupOam->oamId].x = groupOam->xOffset + group5->baseX;
|
||||
gOamBuffer[groupOam->oamId].y = groupOam->yOffset + group5->baseY;
|
||||
}
|
||||
|
||||
if (++gUnknown_0202BF00 > 8)
|
||||
{
|
||||
gUnknown_0202BF00 = 0;
|
||||
if (++gUnknown_0201A448 > 11)
|
||||
gUnknown_0201A448 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (group6->available == 1)
|
||||
{
|
||||
int sp10, spC;
|
||||
if (gUnknown_0202BEFC == 0 || gUnknown_0202BEFC == 4)
|
||||
{
|
||||
group6->baseX = 120;
|
||||
group6->baseY = 100;
|
||||
}
|
||||
else
|
||||
{
|
||||
group6->baseX = 120;
|
||||
group6->baseY = 80;
|
||||
}
|
||||
|
||||
spriteSet = gUnknown_086A6148[17 + gUnknown_0202BEFC];
|
||||
for (i = 0; i < spriteSet->count; i++)
|
||||
{
|
||||
groupOam = &group6->oam[i];
|
||||
gOamBuffer[groupOam->oamId].priority = 0;
|
||||
gOamBuffer[groupOam->oamId].x = groupOam->xOffset + group6->baseX;
|
||||
gOamBuffer[groupOam->oamId].y = groupOam->yOffset + group6->baseY;
|
||||
}
|
||||
}
|
||||
|
||||
if (group7->available == 1)
|
||||
{
|
||||
group7->baseX = 158;
|
||||
group7->baseY = 148;
|
||||
spriteSet = gUnknown_086A6148[22 + gUnknown_0202BEE0];
|
||||
for (i = 0; i < spriteSet->count; i++)
|
||||
{
|
||||
groupOam = &group7->oam[i];
|
||||
gOamBuffer[groupOam->oamId].x = groupOam->xOffset + group7->baseX;
|
||||
gOamBuffer[groupOam->oamId].y = groupOam->yOffset + group7->baseY;
|
||||
}
|
||||
}
|
||||
|
||||
if (group8->available == 1)
|
||||
{
|
||||
group8->baseX = 168;
|
||||
group8->baseY = 84;
|
||||
for (i = 0; i < 3; i++)
|
||||
{
|
||||
groupOam = &group8->oam[i];
|
||||
gOamBuffer[groupOam->oamId].priority = 3;
|
||||
gOamBuffer[groupOam->oamId].x = groupOam->xOffset + group8->baseX;
|
||||
gOamBuffer[groupOam->oamId].y = groupOam->yOffset + group8->baseY;
|
||||
}
|
||||
}
|
||||
|
||||
if (group9->available == 1)
|
||||
{
|
||||
group9->baseX = 120;
|
||||
group9->baseY = 132;
|
||||
groupOam = &group9->oam[0];
|
||||
gOamBuffer[groupOam->oamId].x = groupOam->xOffset + group9->baseX;
|
||||
gOamBuffer[groupOam->oamId].y = groupOam->yOffset + group9->baseY;
|
||||
}
|
||||
|
||||
if (++gUnknown_0202BE20 > 12)
|
||||
{
|
||||
gUnknown_0202BE20 = 0;
|
||||
gUnknown_0201A4F0 = 1 - gUnknown_0201A4F0;
|
||||
gUnknown_0202BEE0 = 1 - gUnknown_0202BEE0;
|
||||
}
|
||||
|
||||
group5->available = 0;
|
||||
group6->available = 0;
|
||||
group7->available = 0;
|
||||
group9->available = 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user