mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-12-26 03:34:15 +01:00
DisplayMatchInfoOnCard decompiled
This commit is contained in:
parent
5da12f2b21
commit
a12b69eae1
@ -5,859 +5,6 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_819314C
|
||||
sub_819314C: @ 819314C
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
sub sp, 0x80
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
str r0, [sp, 0x34]
|
||||
lsls r1, 24
|
||||
lsrs r6, r1, 24
|
||||
movs r0, 0
|
||||
str r0, [sp, 0x3C]
|
||||
movs r7, 0
|
||||
movs r1, 0
|
||||
str r1, [sp, 0x40]
|
||||
movs r2, 0
|
||||
str r2, [sp, 0x44]
|
||||
mov r9, r2
|
||||
movs r0, 0x1
|
||||
ldr r3, [sp, 0x34]
|
||||
ands r0, r3
|
||||
cmp r0, 0
|
||||
beq _08193186
|
||||
movs r7, 0x8
|
||||
str r7, [sp, 0x3C]
|
||||
movs r7, 0x9
|
||||
movs r0, 0x2
|
||||
mov r9, r0
|
||||
_08193186:
|
||||
movs r0, 0x2
|
||||
ldr r1, [sp, 0x34]
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
beq _08193196
|
||||
movs r2, 0x80
|
||||
lsls r2, 1
|
||||
str r2, [sp, 0x40]
|
||||
_08193196:
|
||||
movs r0, 0x4
|
||||
ldr r3, [sp, 0x34]
|
||||
ands r0, r3
|
||||
cmp r0, 0
|
||||
beq _081931A4
|
||||
movs r0, 0xA0
|
||||
str r0, [sp, 0x44]
|
||||
_081931A4:
|
||||
movs r0, 0x8
|
||||
ldr r1, [sp, 0x34]
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
beq _081931B2
|
||||
ldr r2, =0xffffff00
|
||||
str r2, [sp, 0x40]
|
||||
_081931B2:
|
||||
movs r0, 0x10
|
||||
ldr r3, [sp, 0x34]
|
||||
ands r0, r3
|
||||
cmp r0, 0
|
||||
beq _081931C2
|
||||
movs r0, 0xA0
|
||||
negs r0, r0
|
||||
str r0, [sp, 0x44]
|
||||
_081931C2:
|
||||
ldr r4, =gUnknown_0203CD78
|
||||
ldr r1, [r4]
|
||||
adds r1, 0x11
|
||||
adds r0, r6, 0
|
||||
bl sub_8192F08
|
||||
str r0, [sp, 0x38]
|
||||
movs r5, 0
|
||||
mov r1, sp
|
||||
adds r1, 0x1C
|
||||
str r1, [sp, 0x48]
|
||||
mov r2, sp
|
||||
adds r2, 0x24
|
||||
str r2, [sp, 0x4C]
|
||||
lsls r1, r6, 1
|
||||
mov r3, sp
|
||||
adds r3, 0x2C
|
||||
str r3, [sp, 0x50]
|
||||
ldr r0, [sp, 0x40]
|
||||
adds r0, 0x30
|
||||
mov r8, r0
|
||||
ldr r2, [sp, 0x44]
|
||||
adds r2, 0x58
|
||||
str r2, [sp, 0x78]
|
||||
movs r3, 0xC
|
||||
add r3, r9
|
||||
mov r10, r3
|
||||
ldr r0, [sp, 0x40]
|
||||
adds r0, 0xC0
|
||||
str r0, [sp, 0x7C]
|
||||
mov r2, r9
|
||||
adds r2, 0xD
|
||||
str r2, [sp, 0x74]
|
||||
ldr r3, [sp, 0x3C]
|
||||
adds r3, 0x1
|
||||
mov r9, r3
|
||||
ldr r0, [sp, 0x3C]
|
||||
adds r0, 0x2
|
||||
str r0, [sp, 0x54]
|
||||
ldr r2, [sp, 0x3C]
|
||||
adds r2, 0x5
|
||||
str r2, [sp, 0x5C]
|
||||
adds r3, r7, 0
|
||||
adds r3, 0x8
|
||||
str r3, [sp, 0x6C]
|
||||
adds r0, r7, 0x6
|
||||
str r0, [sp, 0x64]
|
||||
adds r2, r7, 0x7
|
||||
str r2, [sp, 0x68]
|
||||
lsls r3, r6, 2
|
||||
str r3, [sp, 0x58]
|
||||
adds r0, r7, 0x5
|
||||
str r0, [sp, 0x60]
|
||||
ldr r0, [r4]
|
||||
adds r0, 0x11
|
||||
mov r12, r0
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
ldr r4, [r0]
|
||||
ldr r0, =gUnknown_0860D3C6
|
||||
movs r3, 0
|
||||
adds r1, r6
|
||||
adds r1, r0
|
||||
ldrb r6, [r1]
|
||||
_08193240:
|
||||
ldr r1, [sp, 0x48]
|
||||
adds r2, r3, r1
|
||||
mov r7, r12
|
||||
adds r0, r7, r5
|
||||
ldrb r0, [r0]
|
||||
str r0, [r2]
|
||||
ldr r7, [sp, 0x4C]
|
||||
adds r1, r3, r7
|
||||
lsls r0, 2
|
||||
adds r0, r4, r0
|
||||
ldr r7, =0x00000d24
|
||||
adds r0, r7
|
||||
ldrh r0, [r0]
|
||||
lsls r0, 22
|
||||
lsrs r0, 22
|
||||
str r0, [r1]
|
||||
ldr r0, [r2]
|
||||
lsls r0, 2
|
||||
adds r0, r4, r0
|
||||
ldr r1, =0x00000d25
|
||||
adds r0, r1
|
||||
ldrb r1, [r0]
|
||||
lsls r0, r1, 27
|
||||
lsrs r0, 30
|
||||
cmp r0, r6
|
||||
bhi _0819329C
|
||||
lsls r0, r1, 29
|
||||
cmp r0, 0
|
||||
bge _0819329C
|
||||
ldr r2, [sp, 0x50]
|
||||
adds r1, r3, r2
|
||||
movs r0, 0x1
|
||||
b _081932A2
|
||||
.pool
|
||||
_0819329C:
|
||||
ldr r7, [sp, 0x50]
|
||||
adds r1, r3, r7
|
||||
movs r0, 0
|
||||
_081932A2:
|
||||
str r0, [r1]
|
||||
adds r3, 0x4
|
||||
adds r5, 0x1
|
||||
cmp r5, 0x1
|
||||
ble _08193240
|
||||
ldr r1, [sp, 0x24]
|
||||
ldr r0, =0x000003ff
|
||||
cmp r1, r0
|
||||
bne _081932D4
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
ldr r0, [r0]
|
||||
ldrb r0, [r0, 0x8]
|
||||
bl PlayerGenderToFrontTrainerPicId
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
mov r2, r8
|
||||
ldr r3, [sp, 0x78]
|
||||
mov r1, r10
|
||||
str r1, [sp]
|
||||
b _081932F8
|
||||
.pool
|
||||
_081932D4:
|
||||
ldr r0, =0x000003fe
|
||||
cmp r1, r0
|
||||
bne _081932E4
|
||||
bl GetDomeBrainTrainerPicId
|
||||
b _081932EC
|
||||
.pool
|
||||
_081932E4:
|
||||
lsls r0, r1, 16
|
||||
lsrs r0, 16
|
||||
bl GetFrontierTrainerFrontSpriteId
|
||||
_081932EC:
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
mov r2, r8
|
||||
ldr r3, [sp, 0x78]
|
||||
mov r7, r10
|
||||
str r7, [sp]
|
||||
_081932F8:
|
||||
ldr r1, =0x0000ffff
|
||||
str r1, [sp, 0x4]
|
||||
movs r1, 0x1
|
||||
bl CreateTrainerPicSprite
|
||||
ldr r1, =gUnknown_0203CD78
|
||||
ldr r1, [r1]
|
||||
ldr r2, [sp, 0x3C]
|
||||
adds r1, r2
|
||||
strb r0, [r1]
|
||||
movs r0, 0x1E
|
||||
ldr r3, [sp, 0x34]
|
||||
ands r0, r3
|
||||
cmp r0, 0
|
||||
beq _08193334
|
||||
ldr r2, =gSprites
|
||||
ldr r0, =gUnknown_0203CD78
|
||||
ldr r0, [r0]
|
||||
ldr r7, [sp, 0x3C]
|
||||
adds r0, r7
|
||||
ldrb r1, [r0]
|
||||
lsls r0, r1, 4
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
adds r0, r2
|
||||
adds r0, 0x3E
|
||||
ldrb r1, [r0]
|
||||
movs r2, 0x4
|
||||
orrs r1, r2
|
||||
strb r1, [r0]
|
||||
_08193334:
|
||||
ldr r0, [sp, 0x2C]
|
||||
cmp r0, 0
|
||||
beq _0819335A
|
||||
ldr r2, =gSprites
|
||||
ldr r0, =gUnknown_0203CD78
|
||||
ldr r0, [r0]
|
||||
ldr r1, [sp, 0x3C]
|
||||
adds r0, r1
|
||||
ldrb r1, [r0]
|
||||
lsls r0, r1, 4
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
adds r0, r2
|
||||
ldrb r2, [r0, 0x5]
|
||||
movs r1, 0xF
|
||||
ands r1, r2
|
||||
movs r2, 0x30
|
||||
orrs r1, r2
|
||||
strb r1, [r0, 0x5]
|
||||
_0819335A:
|
||||
ldr r2, [sp, 0x4C]
|
||||
ldr r1, [r2, 0x4]
|
||||
ldr r0, =0x000003ff
|
||||
cmp r1, r0
|
||||
bne _08193388
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
ldr r0, [r0]
|
||||
ldrb r0, [r0, 0x8]
|
||||
bl PlayerGenderToFrontTrainerPicId
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
b _081933B0
|
||||
.pool
|
||||
_08193388:
|
||||
ldr r0, =0x000003fe
|
||||
cmp r1, r0
|
||||
bne _081933A4
|
||||
bl GetDomeBrainTrainerPicId
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r2, [sp, 0x7C]
|
||||
ldr r3, [sp, 0x78]
|
||||
ldr r1, [sp, 0x74]
|
||||
str r1, [sp]
|
||||
b _081933B8
|
||||
.pool
|
||||
_081933A4:
|
||||
lsls r0, r1, 16
|
||||
lsrs r0, 16
|
||||
bl GetFrontierTrainerFrontSpriteId
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
_081933B0:
|
||||
ldr r2, [sp, 0x7C]
|
||||
ldr r3, [sp, 0x78]
|
||||
ldr r7, [sp, 0x74]
|
||||
str r7, [sp]
|
||||
_081933B8:
|
||||
ldr r1, =0x0000ffff
|
||||
str r1, [sp, 0x4]
|
||||
movs r1, 0x1
|
||||
bl CreateTrainerPicSprite
|
||||
ldr r1, =gUnknown_0203CD78
|
||||
ldr r1, [r1]
|
||||
add r1, r9
|
||||
strb r0, [r1]
|
||||
movs r0, 0x1E
|
||||
ldr r1, [sp, 0x34]
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
beq _081933F0
|
||||
ldr r2, =gSprites
|
||||
ldr r0, =gUnknown_0203CD78
|
||||
ldr r0, [r0]
|
||||
add r0, r9
|
||||
ldrb r1, [r0]
|
||||
lsls r0, r1, 4
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
adds r0, r2
|
||||
adds r0, 0x3E
|
||||
ldrb r1, [r0]
|
||||
movs r2, 0x4
|
||||
orrs r1, r2
|
||||
strb r1, [r0]
|
||||
_081933F0:
|
||||
ldr r2, [sp, 0x50]
|
||||
ldr r0, [r2, 0x4]
|
||||
cmp r0, 0
|
||||
beq _08193416
|
||||
ldr r2, =gSprites
|
||||
ldr r0, =gUnknown_0203CD78
|
||||
ldr r0, [r0]
|
||||
add r0, r9
|
||||
ldrb r1, [r0]
|
||||
lsls r0, r1, 4
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
adds r0, r2
|
||||
ldrb r2, [r0, 0x5]
|
||||
movs r1, 0xF
|
||||
ands r1, r2
|
||||
movs r2, 0x30
|
||||
orrs r1, r2
|
||||
strb r1, [r0, 0x5]
|
||||
_08193416:
|
||||
movs r5, 0
|
||||
ldr r3, [sp, 0x38]
|
||||
lsls r3, 2
|
||||
str r3, [sp, 0x70]
|
||||
mov r8, r5
|
||||
ldr r6, =gUnknown_0203CD78
|
||||
ldr r7, =gSprites
|
||||
ldr r4, [sp, 0x54]
|
||||
mov r9, r5
|
||||
movs r0, 0x1
|
||||
mov r10, r0
|
||||
_0819342C:
|
||||
ldr r1, [sp, 0x24]
|
||||
ldr r0, =0x000003ff
|
||||
cmp r1, r0
|
||||
bne _08193464
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
ldr r2, [r0]
|
||||
ldr r1, [sp, 0x1C]
|
||||
lsls r0, r1, 1
|
||||
adds r0, r1
|
||||
lsls r0, 1
|
||||
add r0, r9
|
||||
ldr r1, =0x00000d64
|
||||
adds r2, r1
|
||||
adds r2, r0
|
||||
ldrh r0, [r2]
|
||||
b _081934B0
|
||||
.pool
|
||||
_08193464:
|
||||
ldr r0, =0x000003fe
|
||||
cmp r1, r0
|
||||
bne _08193490
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
ldr r2, [r0]
|
||||
ldr r1, [sp, 0x1C]
|
||||
lsls r0, r1, 1
|
||||
adds r0, r1
|
||||
lsls r0, 1
|
||||
add r0, r9
|
||||
ldr r1, =0x00000d64
|
||||
adds r2, r1
|
||||
adds r2, r0
|
||||
ldrh r0, [r2]
|
||||
b _081934B0
|
||||
.pool
|
||||
_08193490:
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
ldr r2, [r0]
|
||||
ldr r1, [sp, 0x1C]
|
||||
lsls r0, r1, 1
|
||||
adds r0, r1
|
||||
lsls r0, 1
|
||||
add r0, r9
|
||||
ldr r1, =0x00000d64
|
||||
adds r2, r1
|
||||
adds r2, r0
|
||||
ldrh r1, [r2]
|
||||
ldr r0, =gFacilityTrainerMons
|
||||
ldr r0, [r0]
|
||||
lsls r1, 4
|
||||
adds r1, r0
|
||||
ldrh r0, [r1]
|
||||
_081934B0:
|
||||
ldr r1, =gUnknown_0860D3A8
|
||||
adds r1, r5, r1
|
||||
ldrb r2, [r1]
|
||||
ldr r3, [sp, 0x40]
|
||||
orrs r2, r3
|
||||
ldr r1, =gUnknown_0860D3AB
|
||||
adds r1, r5, r1
|
||||
ldrb r3, [r1]
|
||||
ldr r1, [sp, 0x44]
|
||||
adds r3, r1
|
||||
mov r1, r8
|
||||
str r1, [sp]
|
||||
str r1, [sp, 0x4]
|
||||
mov r1, r10
|
||||
str r1, [sp, 0x8]
|
||||
ldr r1, =sub_8190938
|
||||
bl CreateMonIcon
|
||||
ldr r1, [r6]
|
||||
adds r1, r4
|
||||
strb r0, [r1]
|
||||
ldr r0, [r6]
|
||||
adds r0, r4
|
||||
ldrb r1, [r0]
|
||||
lsls r0, r1, 4
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
adds r0, r7
|
||||
ldrb r1, [r0, 0x5]
|
||||
movs r3, 0xD
|
||||
negs r3, r3
|
||||
adds r2, r3, 0
|
||||
ands r1, r2
|
||||
strb r1, [r0, 0x5]
|
||||
movs r0, 0x1E
|
||||
ldr r1, [sp, 0x34]
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
beq _08193516
|
||||
ldr r0, [r6]
|
||||
adds r0, r4
|
||||
ldrb r1, [r0]
|
||||
lsls r0, r1, 4
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
adds r0, r7
|
||||
adds r0, 0x3E
|
||||
ldrb r1, [r0]
|
||||
movs r2, 0x4
|
||||
orrs r1, r2
|
||||
strb r1, [r0]
|
||||
_08193516:
|
||||
ldr r0, [sp, 0x2C]
|
||||
cmp r0, 0
|
||||
beq _08193548
|
||||
ldr r0, [r6]
|
||||
adds r0, r4
|
||||
ldrb r0, [r0]
|
||||
lsls r1, r0, 4
|
||||
adds r1, r0
|
||||
lsls r1, 2
|
||||
adds r1, r7
|
||||
ldrb r2, [r1, 0x5]
|
||||
movs r0, 0xF
|
||||
ands r0, r2
|
||||
movs r2, 0x30
|
||||
orrs r0, r2
|
||||
strb r0, [r1, 0x5]
|
||||
ldr r0, [r6]
|
||||
adds r0, r4
|
||||
ldrb r1, [r0]
|
||||
lsls r0, r1, 4
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
adds r0, r7
|
||||
mov r2, r10
|
||||
strh r2, [r0, 0x34]
|
||||
_08193548:
|
||||
adds r4, 0x1
|
||||
movs r3, 0x2
|
||||
add r9, r3
|
||||
adds r5, 0x1
|
||||
cmp r5, 0x2
|
||||
bgt _08193556
|
||||
b _0819342C
|
||||
_08193556:
|
||||
movs r5, 0
|
||||
ldr r6, =gUnknown_0203CD78
|
||||
ldr r7, =gSprites
|
||||
mov r8, r7
|
||||
ldr r4, [sp, 0x5C]
|
||||
mov r9, r5
|
||||
movs r7, 0
|
||||
_08193564:
|
||||
ldr r0, [sp, 0x4C]
|
||||
ldr r1, [r0, 0x4]
|
||||
ldr r0, =0x000003ff
|
||||
cmp r1, r0
|
||||
bne _081935AC
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
ldr r2, [r0]
|
||||
ldr r3, [sp, 0x48]
|
||||
ldr r1, [r3, 0x4]
|
||||
lsls r0, r1, 1
|
||||
adds r0, r1
|
||||
lsls r0, 1
|
||||
add r0, r9
|
||||
ldr r1, =0x00000d64
|
||||
adds r2, r1
|
||||
adds r2, r0
|
||||
ldrh r0, [r2]
|
||||
b _081935FA
|
||||
.pool
|
||||
_081935AC:
|
||||
ldr r0, =0x000003fe
|
||||
cmp r1, r0
|
||||
bne _081935D8
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
ldr r2, [r0]
|
||||
ldr r0, [sp, 0x48]
|
||||
ldr r1, [r0, 0x4]
|
||||
lsls r0, r1, 1
|
||||
adds r0, r1
|
||||
lsls r0, 1
|
||||
add r0, r9
|
||||
ldr r1, =0x00000d64
|
||||
adds r2, r1
|
||||
adds r2, r0
|
||||
ldrh r0, [r2]
|
||||
b _081935FA
|
||||
.pool
|
||||
_081935D8:
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
ldr r2, [r0]
|
||||
ldr r0, [sp, 0x48]
|
||||
ldr r1, [r0, 0x4]
|
||||
lsls r0, r1, 1
|
||||
adds r0, r1
|
||||
lsls r0, 1
|
||||
add r0, r9
|
||||
ldr r1, =0x00000d64
|
||||
adds r2, r1
|
||||
adds r2, r0
|
||||
ldrh r1, [r2]
|
||||
ldr r0, =gFacilityTrainerMons
|
||||
ldr r0, [r0]
|
||||
lsls r1, 4
|
||||
adds r1, r0
|
||||
ldrh r0, [r1]
|
||||
_081935FA:
|
||||
ldr r1, =gUnknown_0860D3AE
|
||||
adds r1, r5, r1
|
||||
ldrb r2, [r1]
|
||||
ldr r3, [sp, 0x40]
|
||||
orrs r2, r3
|
||||
ldr r1, =gUnknown_0860D3B1
|
||||
adds r1, r5, r1
|
||||
ldrb r3, [r1]
|
||||
ldr r1, [sp, 0x44]
|
||||
adds r3, r1
|
||||
str r7, [sp]
|
||||
str r7, [sp, 0x4]
|
||||
movs r1, 0x1
|
||||
str r1, [sp, 0x8]
|
||||
ldr r1, =sub_8190938
|
||||
bl CreateMonIcon
|
||||
ldr r1, [r6]
|
||||
adds r1, r4
|
||||
strb r0, [r1]
|
||||
ldr r0, [r6]
|
||||
adds r0, r4
|
||||
ldrb r1, [r0]
|
||||
lsls r0, r1, 4
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
add r0, r8
|
||||
ldrb r1, [r0, 0x5]
|
||||
movs r3, 0xD
|
||||
negs r3, r3
|
||||
adds r2, r3, 0
|
||||
ands r1, r2
|
||||
strb r1, [r0, 0x5]
|
||||
movs r0, 0x1E
|
||||
ldr r1, [sp, 0x34]
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
beq _0819365E
|
||||
ldr r0, [r6]
|
||||
adds r0, r4
|
||||
ldrb r1, [r0]
|
||||
lsls r0, r1, 4
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
add r0, r8
|
||||
adds r0, 0x3E
|
||||
ldrb r1, [r0]
|
||||
movs r2, 0x4
|
||||
orrs r1, r2
|
||||
strb r1, [r0]
|
||||
_0819365E:
|
||||
ldr r2, [sp, 0x50]
|
||||
ldr r0, [r2, 0x4]
|
||||
cmp r0, 0
|
||||
beq _08193692
|
||||
ldr r0, [r6]
|
||||
adds r0, r4
|
||||
ldrb r0, [r0]
|
||||
lsls r1, r0, 4
|
||||
adds r1, r0
|
||||
lsls r1, 2
|
||||
add r1, r8
|
||||
ldrb r2, [r1, 0x5]
|
||||
movs r0, 0xF
|
||||
ands r0, r2
|
||||
movs r2, 0x30
|
||||
orrs r0, r2
|
||||
strb r0, [r1, 0x5]
|
||||
ldr r0, [r6]
|
||||
adds r0, r4
|
||||
ldrb r1, [r0]
|
||||
lsls r0, r1, 4
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
add r0, r8
|
||||
movs r1, 0x1
|
||||
strh r1, [r0, 0x34]
|
||||
_08193692:
|
||||
adds r4, 0x1
|
||||
movs r3, 0x2
|
||||
add r9, r3
|
||||
adds r5, 0x1
|
||||
cmp r5, 0x2
|
||||
bgt _081936A0
|
||||
b _08193564
|
||||
_081936A0:
|
||||
add r0, sp, 0xC
|
||||
movs r5, 0
|
||||
strb r5, [r0, 0x6]
|
||||
adds r1, r0, 0
|
||||
movs r0, 0x2
|
||||
strb r0, [r1, 0x7]
|
||||
adds r0, r1, 0
|
||||
ldrb r0, [r0, 0x6]
|
||||
strb r0, [r1, 0x8]
|
||||
adds r0, r1, 0
|
||||
ldrb r0, [r0, 0x7]
|
||||
strb r0, [r1, 0x9]
|
||||
adds r0, r1, 0
|
||||
strb r5, [r0, 0xA]
|
||||
strb r5, [r0, 0xB]
|
||||
adds r3, r0, 0
|
||||
ldrb r2, [r3, 0xC]
|
||||
movs r1, 0x10
|
||||
negs r1, r1
|
||||
adds r0, r1, 0
|
||||
ands r0, r2
|
||||
strb r0, [r3, 0xC]
|
||||
adds r2, r3, 0
|
||||
movs r0, 0xE0
|
||||
strb r0, [r2, 0xC]
|
||||
ldrb r0, [r2, 0xD]
|
||||
ands r1, r0
|
||||
strb r1, [r2, 0xD]
|
||||
adds r1, r2, 0
|
||||
movs r0, 0xD0
|
||||
strb r0, [r1, 0xD]
|
||||
ldr r4, =gStringVar4
|
||||
ldr r0, =gBattleDomeWinStringsPointers
|
||||
ldr r7, [sp, 0x70]
|
||||
adds r0, r7, r0
|
||||
ldr r1, [r0]
|
||||
adds r0, r4, 0
|
||||
bl StringExpandPlaceholders
|
||||
str r4, [sp, 0xC]
|
||||
add r0, sp, 0xC
|
||||
add r1, sp, 0x6C
|
||||
ldrb r1, [r1]
|
||||
strb r1, [r0, 0x4]
|
||||
adds r1, r0, 0
|
||||
movs r0, 0x1
|
||||
strb r0, [r1, 0x5]
|
||||
ldr r4, [sp, 0x6C]
|
||||
adds r0, r4, 0
|
||||
bl PutWindowTilemap
|
||||
adds r0, r4, 0
|
||||
movs r1, 0x3
|
||||
bl CopyWindowToVram
|
||||
add r0, sp, 0xC
|
||||
strb r5, [r0, 0x8]
|
||||
adds r1, r0, 0
|
||||
strb r5, [r0, 0x7]
|
||||
strb r5, [r1, 0x9]
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
bl AddTextPrinter
|
||||
ldr r1, [sp, 0x24]
|
||||
ldr r0, =0x000003ff
|
||||
cmp r1, r0
|
||||
bne _0819375C
|
||||
ldr r0, =gStringVar1
|
||||
ldr r1, =gSaveBlock2Ptr
|
||||
ldr r1, [r1]
|
||||
bl StringCopy
|
||||
b _0819377E
|
||||
.pool
|
||||
_0819375C:
|
||||
ldr r0, =0x000003fe
|
||||
cmp r1, r0
|
||||
bne _08193774
|
||||
ldr r0, =gStringVar1
|
||||
bl CopyDomeBrainTrainerName
|
||||
b _0819377E
|
||||
.pool
|
||||
_08193774:
|
||||
ldr r0, =gStringVar1
|
||||
lsls r1, 16
|
||||
lsrs r1, 16
|
||||
bl CopyDomeOpponentName
|
||||
_0819377E:
|
||||
add r0, sp, 0xC
|
||||
movs r4, 0x2
|
||||
strb r4, [r0, 0x5]
|
||||
strb r4, [r0, 0xA]
|
||||
ldr r5, =gStringVar1
|
||||
str r5, [sp, 0xC]
|
||||
add r2, sp, 0x64
|
||||
ldrb r2, [r2]
|
||||
strb r2, [r0, 0x4]
|
||||
ldrb r0, [r0, 0x5]
|
||||
ldr r1, [sp, 0xC]
|
||||
add r2, sp, 0xC
|
||||
ldrb r3, [r2, 0xA]
|
||||
movs r2, 0x40
|
||||
bl GetStringCenterAlignXOffsetWithLetterSpacing
|
||||
add r1, sp, 0xC
|
||||
strb r0, [r1, 0x8]
|
||||
adds r0, r1, 0
|
||||
strb r4, [r0, 0x7]
|
||||
strb r4, [r1, 0x9]
|
||||
ldr r4, [sp, 0x64]
|
||||
adds r0, r4, 0
|
||||
bl PutWindowTilemap
|
||||
adds r0, r4, 0
|
||||
movs r1, 0x3
|
||||
bl CopyWindowToVram
|
||||
add r0, sp, 0xC
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
bl AddTextPrinter
|
||||
ldr r3, [sp, 0x4C]
|
||||
ldr r1, [r3, 0x4]
|
||||
ldr r0, =0x000003ff
|
||||
cmp r1, r0
|
||||
bne _081937E4
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
ldr r1, [r0]
|
||||
adds r0, r5, 0
|
||||
bl StringCopy
|
||||
b _08193802
|
||||
.pool
|
||||
_081937E4:
|
||||
ldr r0, =0x000003fe
|
||||
cmp r1, r0
|
||||
bne _081937F8
|
||||
adds r0, r5, 0
|
||||
bl CopyDomeBrainTrainerName
|
||||
b _08193802
|
||||
.pool
|
||||
_081937F8:
|
||||
lsls r1, 16
|
||||
lsrs r1, 16
|
||||
adds r0, r5, 0
|
||||
bl CopyDomeOpponentName
|
||||
_08193802:
|
||||
ldr r0, =gStringVar1
|
||||
str r0, [sp, 0xC]
|
||||
add r0, sp, 0xC
|
||||
movs r6, 0
|
||||
add r7, sp, 0x68
|
||||
ldrb r7, [r7]
|
||||
strb r7, [r0, 0x4]
|
||||
ldrb r0, [r0, 0x5]
|
||||
ldr r1, [sp, 0xC]
|
||||
add r2, sp, 0xC
|
||||
ldrb r3, [r2, 0xA]
|
||||
movs r2, 0x40
|
||||
bl GetStringCenterAlignXOffsetWithLetterSpacing
|
||||
add r1, sp, 0xC
|
||||
strb r0, [r1, 0x8]
|
||||
adds r0, r1, 0
|
||||
movs r5, 0x2
|
||||
strb r5, [r0, 0x7]
|
||||
strb r5, [r1, 0x9]
|
||||
ldr r4, [sp, 0x68]
|
||||
adds r0, r4, 0
|
||||
bl PutWindowTilemap
|
||||
adds r0, r4, 0
|
||||
movs r1, 0x3
|
||||
bl CopyWindowToVram
|
||||
add r0, sp, 0xC
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
bl AddTextPrinter
|
||||
add r0, sp, 0xC
|
||||
strb r6, [r0, 0xA]
|
||||
ldr r0, =gBattleDomeMatchNumberPointers
|
||||
ldr r1, [sp, 0x58]
|
||||
adds r0, r1, r0
|
||||
ldr r0, [r0]
|
||||
str r0, [sp, 0xC]
|
||||
add r0, sp, 0xC
|
||||
add r2, sp, 0x60
|
||||
ldrb r2, [r2]
|
||||
strb r2, [r0, 0x4]
|
||||
ldrb r0, [r0, 0x5]
|
||||
ldr r1, [sp, 0xC]
|
||||
add r2, sp, 0xC
|
||||
ldrb r3, [r2, 0xA]
|
||||
movs r2, 0xA0
|
||||
bl GetStringCenterAlignXOffsetWithLetterSpacing
|
||||
add r1, sp, 0xC
|
||||
strb r0, [r1, 0x8]
|
||||
adds r0, r1, 0
|
||||
strb r5, [r0, 0x7]
|
||||
strb r5, [r1, 0x9]
|
||||
ldr r4, [sp, 0x60]
|
||||
adds r0, r4, 0
|
||||
bl PutWindowTilemap
|
||||
adds r0, r4, 0
|
||||
movs r1, 0x3
|
||||
bl CopyWindowToVram
|
||||
add r0, sp, 0xC
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
bl AddTextPrinter
|
||||
add sp, 0x80
|
||||
pop {r3-r5}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
mov r10, r5
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_819314C
|
||||
|
||||
thumb_func_start sub_81938A4
|
||||
sub_81938A4: @ 81938A4
|
||||
push {lr}
|
||||
|
@ -20049,7 +20049,7 @@ sub_81A4E04: @ 81A4E04
|
||||
bl sub_81953A0
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
bl sub_818FC78
|
||||
bl GetTrainerMonCountInBits
|
||||
adds r4, r0, 0
|
||||
b _081A4E46
|
||||
.pool
|
||||
|
@ -105,9 +105,15 @@ extern const u8 gUnknown_0860C988[31][16];
|
||||
extern const u8 gUnknown_0860D3F1[][2];
|
||||
extern const u8 gUnknown_0860D3C4[][3];
|
||||
extern const u8 gUnknown_0860D3B4[];
|
||||
extern const u8 gUnknown_0860D3A8[];
|
||||
extern const u8 gUnknown_0860D3AB[];
|
||||
extern const u8 gUnknown_0860D3AE[];
|
||||
extern const u8 gUnknown_0860D3B1[];
|
||||
extern const u8 *const gBattleDomePotentialPointers[];
|
||||
extern const u8 *const gBattleDomeOpponentStylePointers[];
|
||||
extern const u8 *const gBattleDomeOpponentStatsPointers[];
|
||||
extern const u8 *const gBattleDomeWinStringsPointers[];
|
||||
extern const u8 *const gBattleDomeMatchNumberPointers[];
|
||||
|
||||
// gfx
|
||||
extern const u8 gUnknown_08D83D50[];
|
||||
@ -127,7 +133,7 @@ void SwapDomeTrainers(s32 id1, s32 id2, u16 *statsArray);
|
||||
void CalcDomeMonStats(u16 species, s32 level, s32 ivs, u8 evBits, u8 nature, s32 *stats);
|
||||
void CreateDomeTrainerMons(u16 tournamentTrainerId);
|
||||
u16 TrainerIdToTournamentId(u16 trainerId);
|
||||
s32 sub_818FC78(u16 tournamentTrainerId);
|
||||
s32 GetTrainerMonCountInBits(u16 tournamentTrainerId);
|
||||
s32 sub_818FCBC(u16 tournamentTrainerId, bool8 arg1);
|
||||
s32 sub_818FDB8(u16 tournamentTrainerId, bool8 arg1);
|
||||
s32 sub_818FFC0(s32 move, s32 species, s32 arg2);
|
||||
@ -138,7 +144,7 @@ void sub_8190CD4(u8 taskId);
|
||||
void sub_8194220(u8 taskId);
|
||||
void sub_8194B54(void);
|
||||
void sub_8194B70(void);
|
||||
void sub_819314C(u8, u8);
|
||||
static void DrawMatchInfoOnCard(u8 flags, u8 matchNo);
|
||||
static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId);
|
||||
u8 sub_819221C(u8 taskId);
|
||||
s32 sub_8192F08(u8, u8*);
|
||||
@ -979,7 +985,7 @@ void CreateDomeTrainerMons(u16 tournamentTrainerId)
|
||||
s32 i, bits;
|
||||
|
||||
ZeroEnemyPartyMons();
|
||||
bits = sub_818FC78(tournamentTrainerId);
|
||||
bits = GetTrainerMonCountInBits(tournamentTrainerId);
|
||||
otId = Random32();
|
||||
if (Random() % 10 > 5)
|
||||
{
|
||||
@ -1007,7 +1013,7 @@ void CreateDomeTrainerMons(u16 tournamentTrainerId)
|
||||
}
|
||||
}
|
||||
|
||||
s32 sub_818FC78(u16 tournamentTrainerId)
|
||||
s32 GetTrainerMonCountInBits(u16 tournamentTrainerId)
|
||||
{
|
||||
s32 bits;
|
||||
if (Random() & 1)
|
||||
@ -1695,7 +1701,7 @@ void sub_8190400(u8 taskId)
|
||||
gTasks[i].data[4] = r7;
|
||||
if (r9 == 2)
|
||||
{
|
||||
sub_819314C(0, r5);
|
||||
DrawMatchInfoOnCard(0, r5);
|
||||
gUnknown_0203CD78->unk_10 = 1;
|
||||
}
|
||||
else
|
||||
@ -1730,7 +1736,11 @@ void sub_8190400(u8 taskId)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_8190790(struct Sprite *sprite)
|
||||
// Note: Card scrolling up means the current card goes down and another one appears from top.
|
||||
// The same is true for scrolling left.
|
||||
// That means that the sprite needs to move with the moving card in the opposite scrolling direction.
|
||||
|
||||
static void SpriteCb_TrainerIconCardScrollUp(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.y += 4;
|
||||
if (sprite->data[0] != 0)
|
||||
@ -1750,7 +1760,7 @@ void sub_8190790(struct Sprite *sprite)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_81907F8(struct Sprite *sprite)
|
||||
static void SpriteCb_TrainerIconCardScrollDown(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.y -= 4;
|
||||
if (sprite->data[0] != 0)
|
||||
@ -1770,7 +1780,7 @@ void sub_81907F8(struct Sprite *sprite)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_8190860(struct Sprite *sprite)
|
||||
static void SpriteCb_TrainerIconCardScrollLeft(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x += 4;
|
||||
if (sprite->data[0] != 0)
|
||||
@ -1790,7 +1800,7 @@ void sub_8190860(struct Sprite *sprite)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_81908CC(struct Sprite *sprite)
|
||||
static void SpriteCb_TrainerIconCardScrollRight(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x -= 4;
|
||||
if (sprite->data[0] != 0)
|
||||
@ -1810,15 +1820,17 @@ void sub_81908CC(struct Sprite *sprite)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_8190938(struct Sprite *sprite)
|
||||
#define sMonIconStill data[3]
|
||||
|
||||
static void SpriteCb_MonIcon(struct Sprite *sprite)
|
||||
{
|
||||
if (!sprite->data[3])
|
||||
if (!sprite->sMonIconStill)
|
||||
UpdateMonIconFrame(sprite);
|
||||
}
|
||||
|
||||
void sub_8190950(struct Sprite *sprite)
|
||||
static void SpriteCb_MonIconCardScrollUp(struct Sprite *sprite)
|
||||
{
|
||||
if (!sprite->data[3])
|
||||
if (!sprite->sMonIconStill)
|
||||
UpdateMonIconFrame(sprite);
|
||||
sprite->pos1.y += 4;
|
||||
if (sprite->data[0] != 0)
|
||||
@ -1826,7 +1838,7 @@ void sub_8190950(struct Sprite *sprite)
|
||||
if (sprite->pos1.y >= -16)
|
||||
sprite->invisible = 0;
|
||||
if (++sprite->data[1] == 40)
|
||||
sprite->callback = sub_8190938;
|
||||
sprite->callback = SpriteCb_MonIcon;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1838,9 +1850,9 @@ void sub_8190950(struct Sprite *sprite)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_81909CC(struct Sprite *sprite)
|
||||
static void SpriteCb_MonIconCardScrollDown(struct Sprite *sprite)
|
||||
{
|
||||
if (!sprite->data[3])
|
||||
if (!sprite->sMonIconStill)
|
||||
UpdateMonIconFrame(sprite);
|
||||
sprite->pos1.y -= 4;
|
||||
if (sprite->data[0] != 0)
|
||||
@ -1848,7 +1860,7 @@ void sub_81909CC(struct Sprite *sprite)
|
||||
if (sprite->pos1.y <= 176)
|
||||
sprite->invisible = 0;
|
||||
if (++sprite->data[1] == 40)
|
||||
sprite->callback = sub_8190938;
|
||||
sprite->callback = SpriteCb_MonIcon;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1860,9 +1872,9 @@ void sub_81909CC(struct Sprite *sprite)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_8190A48(struct Sprite *sprite)
|
||||
static void SpriteCb_MonIconCardScrollLeft(struct Sprite *sprite)
|
||||
{
|
||||
if (!sprite->data[3])
|
||||
if (!sprite->sMonIconStill)
|
||||
UpdateMonIconFrame(sprite);
|
||||
sprite->pos1.x += 4;
|
||||
if (sprite->data[0] != 0)
|
||||
@ -1870,7 +1882,7 @@ void sub_8190A48(struct Sprite *sprite)
|
||||
if (sprite->pos1.x >= -16)
|
||||
sprite->invisible = 0;
|
||||
if (++sprite->data[1] == 64)
|
||||
sprite->callback = sub_8190938;
|
||||
sprite->callback = SpriteCb_MonIcon;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1882,9 +1894,9 @@ void sub_8190A48(struct Sprite *sprite)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_8190AC4(struct Sprite *sprite)
|
||||
static void SpriteCb_MonIconCardScrollRight(struct Sprite *sprite)
|
||||
{
|
||||
if (!sprite->data[3])
|
||||
if (!sprite->sMonIconStill)
|
||||
UpdateMonIconFrame(sprite);
|
||||
sprite->pos1.x -= 4;
|
||||
if (sprite->data[0] != 0)
|
||||
@ -1892,7 +1904,7 @@ void sub_8190AC4(struct Sprite *sprite)
|
||||
if (sprite->pos1.x <= 256)
|
||||
sprite->invisible = 0;
|
||||
if (++sprite->data[1] == 64)
|
||||
sprite->callback = sub_8190938;
|
||||
sprite->callback = SpriteCb_MonIcon;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -2006,10 +2018,11 @@ void sub_8190C6C(struct Sprite *sprite)
|
||||
void sub_8190CD4(u8 taskId)
|
||||
{
|
||||
s32 i;
|
||||
s32 var;
|
||||
s32 windowId = 0;
|
||||
s32 r9 = gTasks[taskId].data[3];
|
||||
s32 taskId2 = gTasks[taskId].data[4];
|
||||
s32 trainerTournamentId, arg2;
|
||||
s32 trainerTournamentId = 0;
|
||||
s32 matchNo = 0;
|
||||
|
||||
switch (gTasks[taskId].data[0])
|
||||
{
|
||||
@ -2035,11 +2048,11 @@ void sub_8190CD4(u8 taskId)
|
||||
case 1 ... 8:
|
||||
gTasks[taskId].data[5] = i;
|
||||
if (gTasks[taskId].data[2] != 0)
|
||||
var = 9;
|
||||
windowId = 9;
|
||||
else
|
||||
var = 0;
|
||||
windowId = 0;
|
||||
|
||||
for (i = var; i < var + 9; i++)
|
||||
for (i = windowId; i < windowId + 9; i++)
|
||||
{
|
||||
CopyWindowToVram(i, 2);
|
||||
FillWindowPixelBuffer(i, 0);
|
||||
@ -2093,8 +2106,8 @@ void sub_8190CD4(u8 taskId)
|
||||
{
|
||||
if (gUnknown_0203CD78->unk_10 == 0)
|
||||
{
|
||||
arg2 = gTasks[taskId2].data[1] - 16;
|
||||
sub_8192F08(arg2, gUnknown_0203CD78->unk_11);
|
||||
matchNo = gTasks[taskId2].data[1] - 16;
|
||||
sub_8192F08(matchNo, gUnknown_0203CD78->unk_11);
|
||||
gBattle_BG2_X = 0;
|
||||
gBattle_BG2_Y = 320;
|
||||
trainerTournamentId = gUnknown_0203CD78->unk_11[0];
|
||||
@ -2102,8 +2115,8 @@ void sub_8190CD4(u8 taskId)
|
||||
}
|
||||
else if (gUnknown_0203CD78->unk_10 == 2)
|
||||
{
|
||||
arg2 = gTasks[taskId2].data[1] - 16;
|
||||
sub_8192F08(arg2, gUnknown_0203CD78->unk_11);
|
||||
matchNo = gTasks[taskId2].data[1] - 16;
|
||||
sub_8192F08(matchNo, gUnknown_0203CD78->unk_11);
|
||||
gBattle_BG2_X = 0;
|
||||
gBattle_BG2_Y = 320;
|
||||
trainerTournamentId = gUnknown_0203CD78->unk_11[1];
|
||||
@ -2113,8 +2126,8 @@ void sub_8190CD4(u8 taskId)
|
||||
{
|
||||
gBattle_BG2_X = 256;
|
||||
gBattle_BG2_Y = 160;
|
||||
arg2 = gTasks[taskId2].data[1] - 16;
|
||||
sub_819314C(gTasks[taskId].data[2] | 0x10, arg2);
|
||||
matchNo = gTasks[taskId2].data[1] - 16;
|
||||
DrawMatchInfoOnCard(gTasks[taskId].data[2] | 0x10, matchNo);
|
||||
}
|
||||
}
|
||||
|
||||
@ -2124,7 +2137,7 @@ void sub_8190CD4(u8 taskId)
|
||||
{
|
||||
if (gUnknown_0203CD78->arr[i] != 0xFF)
|
||||
{
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190790;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_TrainerIconCardScrollUp;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[2] = i;
|
||||
@ -2135,7 +2148,7 @@ void sub_8190CD4(u8 taskId)
|
||||
{
|
||||
if (gUnknown_0203CD78->arr[i] != 0xFF)
|
||||
{
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190950;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_MonIconCardScrollUp;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[2] = i;
|
||||
@ -2148,7 +2161,7 @@ void sub_8190CD4(u8 taskId)
|
||||
{
|
||||
if (gUnknown_0203CD78->arr[i] != 0xFF)
|
||||
{
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190790;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_TrainerIconCardScrollUp;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2];
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[2] = i;
|
||||
@ -2159,7 +2172,7 @@ void sub_8190CD4(u8 taskId)
|
||||
{
|
||||
if (gUnknown_0203CD78->arr[i] != 0xFF)
|
||||
{
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190950;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_MonIconCardScrollUp;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2];
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[2] = i;
|
||||
@ -2209,8 +2222,8 @@ void sub_8190CD4(u8 taskId)
|
||||
{
|
||||
if (gUnknown_0203CD78->unk_10 == 0)
|
||||
{
|
||||
arg2 = gTasks[taskId2].data[1] - 16;
|
||||
sub_8192F08(arg2, gUnknown_0203CD78->unk_11);
|
||||
matchNo = gTasks[taskId2].data[1] - 16;
|
||||
sub_8192F08(matchNo, gUnknown_0203CD78->unk_11);
|
||||
gBattle_BG2_X = 0;
|
||||
gBattle_BG2_Y = 160;
|
||||
trainerTournamentId = gUnknown_0203CD78->unk_11[0];
|
||||
@ -2218,8 +2231,8 @@ void sub_8190CD4(u8 taskId)
|
||||
}
|
||||
else if (gUnknown_0203CD78->unk_10 == 2)
|
||||
{
|
||||
arg2 = gTasks[taskId2].data[1] - 16;
|
||||
sub_8192F08(arg2, gUnknown_0203CD78->unk_11);
|
||||
matchNo = gTasks[taskId2].data[1] - 16;
|
||||
sub_8192F08(matchNo, gUnknown_0203CD78->unk_11);
|
||||
gBattle_BG2_X = 0;
|
||||
gBattle_BG2_Y = 160;
|
||||
trainerTournamentId = gUnknown_0203CD78->unk_11[1];
|
||||
@ -2229,8 +2242,8 @@ void sub_8190CD4(u8 taskId)
|
||||
{
|
||||
gBattle_BG2_X = 256;
|
||||
gBattle_BG2_Y = 0;
|
||||
arg2 = gTasks[taskId2].data[1] - 16;
|
||||
sub_819314C(gTasks[taskId].data[2] | 4, arg2);
|
||||
matchNo = gTasks[taskId2].data[1] - 16;
|
||||
DrawMatchInfoOnCard(gTasks[taskId].data[2] | 4, matchNo);
|
||||
}
|
||||
}
|
||||
|
||||
@ -2240,7 +2253,7 @@ void sub_8190CD4(u8 taskId)
|
||||
{
|
||||
if (gUnknown_0203CD78->arr[i] != 0xFF)
|
||||
{
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = sub_81907F8;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_TrainerIconCardScrollDown;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[2] = i;
|
||||
@ -2251,7 +2264,7 @@ void sub_8190CD4(u8 taskId)
|
||||
{
|
||||
if (gUnknown_0203CD78->arr[i] != 0xFF)
|
||||
{
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = sub_81909CC;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_MonIconCardScrollDown;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[2] = i;
|
||||
@ -2264,7 +2277,7 @@ void sub_8190CD4(u8 taskId)
|
||||
{
|
||||
if (gUnknown_0203CD78->arr[i] != 0xFF)
|
||||
{
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = sub_81907F8;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_TrainerIconCardScrollDown;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2];
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[2] = i;
|
||||
@ -2275,7 +2288,7 @@ void sub_8190CD4(u8 taskId)
|
||||
{
|
||||
if (gUnknown_0203CD78->arr[i] != 0xFF)
|
||||
{
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = sub_81909CC;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_MonIconCardScrollDown;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2];
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[2] = i;
|
||||
@ -2313,8 +2326,8 @@ void sub_8190CD4(u8 taskId)
|
||||
{
|
||||
gBattle_BG2_X = 256;
|
||||
gBattle_BG2_Y = 0;
|
||||
trainerTournamentId = gUnknown_0860D15C[(gTasks[taskId2].data[1] * 4) + (gUnknown_0203CD78->unk_10 - 1)];
|
||||
sub_819314C(gTasks[taskId].data[2] | 8, trainerTournamentId);
|
||||
matchNo = gUnknown_0860D15C[(gTasks[taskId2].data[1] * 4) + (gUnknown_0203CD78->unk_10 - 1)];
|
||||
DrawMatchInfoOnCard(gTasks[taskId].data[2] | 8, matchNo);
|
||||
}
|
||||
|
||||
for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT / 2; i++)
|
||||
@ -2323,7 +2336,7 @@ void sub_8190CD4(u8 taskId)
|
||||
{
|
||||
if (gUnknown_0203CD78->arr[i] != 0xFF)
|
||||
{
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190860;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_TrainerIconCardScrollLeft;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[2] = i;
|
||||
@ -2334,7 +2347,7 @@ void sub_8190CD4(u8 taskId)
|
||||
{
|
||||
if (gUnknown_0203CD78->arr[i] != 0xFF)
|
||||
{
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190A48;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_MonIconCardScrollLeft;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[2] = i;
|
||||
@ -2347,7 +2360,7 @@ void sub_8190CD4(u8 taskId)
|
||||
{
|
||||
if (gUnknown_0203CD78->arr[i] != 0xFF)
|
||||
{
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190860;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_TrainerIconCardScrollLeft;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2];
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[2] = i;
|
||||
@ -2358,7 +2371,7 @@ void sub_8190CD4(u8 taskId)
|
||||
{
|
||||
if (gUnknown_0203CD78->arr[i] != 0xFF)
|
||||
{
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190A48;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_MonIconCardScrollLeft;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2];
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[2] = i;
|
||||
@ -2396,8 +2409,8 @@ void sub_8190CD4(u8 taskId)
|
||||
{
|
||||
gBattle_BG2_X = 0;
|
||||
gBattle_BG2_Y = 160;
|
||||
arg2 = gTasks[taskId2].data[1] - 16;
|
||||
sub_819314C(gTasks[taskId].data[2] | 8, arg2);
|
||||
matchNo = gTasks[taskId2].data[1] - 16;
|
||||
DrawMatchInfoOnCard(gTasks[taskId].data[2] | 8, matchNo);
|
||||
}
|
||||
|
||||
for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT / 2; i++)
|
||||
@ -2406,7 +2419,7 @@ void sub_8190CD4(u8 taskId)
|
||||
{
|
||||
if (gUnknown_0203CD78->arr[i] != 0xFF)
|
||||
{
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190860;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_TrainerIconCardScrollLeft;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[2] = i;
|
||||
@ -2417,7 +2430,7 @@ void sub_8190CD4(u8 taskId)
|
||||
{
|
||||
if (gUnknown_0203CD78->arr[i] != 0xFF)
|
||||
{
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190A48;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_MonIconCardScrollLeft;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[2] = i;
|
||||
@ -2430,7 +2443,7 @@ void sub_8190CD4(u8 taskId)
|
||||
{
|
||||
if (gUnknown_0203CD78->arr[i] != 0xFF)
|
||||
{
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190860;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_TrainerIconCardScrollLeft;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2];
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[2] = i;
|
||||
@ -2441,7 +2454,7 @@ void sub_8190CD4(u8 taskId)
|
||||
{
|
||||
if (gUnknown_0203CD78->arr[i] != 0xFF)
|
||||
{
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190A48;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_MonIconCardScrollLeft;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2];
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[2] = i;
|
||||
@ -2478,8 +2491,8 @@ void sub_8190CD4(u8 taskId)
|
||||
gBattle_BG2_X = 0;
|
||||
gBattle_BG2_Y = 0;
|
||||
}
|
||||
trainerTournamentId = gUnknown_0860D15C[(gUnknown_0203CD78->unk_10 - 1) + (gTasks[taskId2].data[1] * 4)];
|
||||
sub_819314C(gTasks[taskId].data[2] | 2, trainerTournamentId);
|
||||
matchNo = gUnknown_0860D15C[(gUnknown_0203CD78->unk_10 - 1) + (gTasks[taskId2].data[1] * 4)];
|
||||
DrawMatchInfoOnCard(gTasks[taskId].data[2] | 2, matchNo);
|
||||
|
||||
for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT / 2; i++)
|
||||
{
|
||||
@ -2487,7 +2500,7 @@ void sub_8190CD4(u8 taskId)
|
||||
{
|
||||
if (gUnknown_0203CD78->arr[i] != 0xFF)
|
||||
{
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = sub_81908CC;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_TrainerIconCardScrollRight;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[2] = i;
|
||||
@ -2498,7 +2511,7 @@ void sub_8190CD4(u8 taskId)
|
||||
{
|
||||
if (gUnknown_0203CD78->arr[i] != 0xFF)
|
||||
{
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190AC4;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_MonIconCardScrollRight;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[2] = i;
|
||||
@ -2511,7 +2524,7 @@ void sub_8190CD4(u8 taskId)
|
||||
{
|
||||
if (gUnknown_0203CD78->arr[i] != 0xFF)
|
||||
{
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = sub_81908CC;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_TrainerIconCardScrollRight;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2];
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[2] = i;
|
||||
@ -2522,7 +2535,7 @@ void sub_8190CD4(u8 taskId)
|
||||
{
|
||||
if (gUnknown_0203CD78->arr[i] != 0xFF)
|
||||
{
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190AC4;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_MonIconCardScrollRight;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2];
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[2] = i;
|
||||
@ -2560,8 +2573,8 @@ void sub_8190CD4(u8 taskId)
|
||||
{
|
||||
gBattle_BG2_X = 0;
|
||||
gBattle_BG2_Y = 160;
|
||||
arg2 = gTasks[taskId2].data[1] - 16;
|
||||
sub_819314C(gTasks[taskId].data[2] | 2, arg2);
|
||||
matchNo = gTasks[taskId2].data[1] - 16;
|
||||
DrawMatchInfoOnCard(gTasks[taskId].data[2] | 2, matchNo);
|
||||
}
|
||||
|
||||
for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT / 2; i++)
|
||||
@ -2570,7 +2583,7 @@ void sub_8190CD4(u8 taskId)
|
||||
{
|
||||
if (gUnknown_0203CD78->arr[i] != 0xFF)
|
||||
{
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = sub_81908CC;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_TrainerIconCardScrollRight;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[2] = i;
|
||||
@ -2581,7 +2594,7 @@ void sub_8190CD4(u8 taskId)
|
||||
{
|
||||
if (gUnknown_0203CD78->arr[i] != 0xFF)
|
||||
{
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190AC4;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_MonIconCardScrollRight;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[2] = i;
|
||||
@ -2594,7 +2607,7 @@ void sub_8190CD4(u8 taskId)
|
||||
{
|
||||
if (gUnknown_0203CD78->arr[i] != 0xFF)
|
||||
{
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = sub_81908CC;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_TrainerIconCardScrollRight;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2];
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[2] = i;
|
||||
@ -2605,7 +2618,7 @@ void sub_8190CD4(u8 taskId)
|
||||
{
|
||||
if (gUnknown_0203CD78->arr[i] != 0xFF)
|
||||
{
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190AC4;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_MonIconCardScrollRight;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2];
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0;
|
||||
gSprites[gUnknown_0203CD78->arr[i]].data[2] = i;
|
||||
@ -2866,7 +2879,7 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
|
||||
if (trainerId == TRAINER_PLAYER)
|
||||
{
|
||||
gUnknown_0203CD78->arr[2 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i],
|
||||
sub_8190938,
|
||||
SpriteCb_MonIcon,
|
||||
x | gUnknown_0860D340[i],
|
||||
y + gUnknown_0860D343[i],
|
||||
0, 0, TRUE);
|
||||
@ -2875,7 +2888,7 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
|
||||
else if (trainerId == TRAINER_FRONTIER_BRAIN)
|
||||
{
|
||||
gUnknown_0203CD78->arr[2 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i],
|
||||
sub_8190938,
|
||||
SpriteCb_MonIcon,
|
||||
x | gUnknown_0860D340[i],
|
||||
y + gUnknown_0860D343[i],
|
||||
0, 0, TRUE);
|
||||
@ -2884,7 +2897,7 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
|
||||
else
|
||||
{
|
||||
gUnknown_0203CD78->arr[2 + i + arrId] = CreateMonIcon(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i]].species,
|
||||
sub_8190938,
|
||||
SpriteCb_MonIcon,
|
||||
x | gUnknown_0860D340[i],
|
||||
y + gUnknown_0860D343[i],
|
||||
0, 0, TRUE);
|
||||
@ -3250,3 +3263,212 @@ s32 sub_8192F08(u8 arg0, u8 *arg1)
|
||||
else
|
||||
return retVal + 1;
|
||||
}
|
||||
|
||||
static void DrawMatchInfoOnCard(u8 flags, u8 matchNo)
|
||||
{
|
||||
struct TextSubPrinter textPrinter;
|
||||
s32 tournamentIds[2];
|
||||
s32 trainerIds[2];
|
||||
bool32 lost[2];
|
||||
s32 i;
|
||||
s32 winStringId = 0;
|
||||
s32 arrId = 0;
|
||||
s32 windowId = 0;
|
||||
s32 x = 0, y = 0;
|
||||
u8 palSlot = 0;
|
||||
|
||||
if (flags & 1)
|
||||
arrId = 8, windowId = 9, palSlot = 2;
|
||||
if (flags & 2)
|
||||
x = 256;
|
||||
if (flags & 4)
|
||||
y = 160;
|
||||
if (flags & 8)
|
||||
x = -256;
|
||||
if (flags & 0x10)
|
||||
y = -160;
|
||||
|
||||
// Copy trainers information to handy arrays.
|
||||
winStringId = sub_8192F08(matchNo, gUnknown_0203CD78->unk_11);
|
||||
for (i = 0; i < 2; i++)
|
||||
{
|
||||
tournamentIds[i] = gUnknown_0203CD78->unk_11[i];
|
||||
trainerIds[i] = gSaveBlock2Ptr->frontier.domeTrainers[tournamentIds[i]].trainerId;
|
||||
if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentIds[i]].unk2 <= gUnknown_0860D3C4[matchNo][2]
|
||||
&& gSaveBlock2Ptr->frontier.domeTrainers[tournamentIds[i]].unk1)
|
||||
lost[i] = TRUE;
|
||||
else
|
||||
lost[i] = FALSE;
|
||||
}
|
||||
|
||||
// Draw first trainer sprite.
|
||||
if (trainerIds[0] == TRAINER_PLAYER)
|
||||
gUnknown_0203CD78->arr[arrId] = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender), TRUE, x + 48, y + 88, palSlot + 12, 0xFFFF);
|
||||
else if (trainerIds[0] == TRAINER_FRONTIER_BRAIN)
|
||||
gUnknown_0203CD78->arr[arrId] = CreateTrainerPicSprite(GetDomeBrainTrainerPicId(), TRUE, x + 48, y + 88, palSlot + 12, 0xFFFF);
|
||||
else
|
||||
gUnknown_0203CD78->arr[arrId] = CreateTrainerPicSprite(GetFrontierTrainerFrontSpriteId(trainerIds[0]), TRUE, x + 48, y + 88, palSlot + 12, 0xFFFF);
|
||||
|
||||
if (flags & 0x1E)
|
||||
gSprites[gUnknown_0203CD78->arr[arrId]].invisible = 1;
|
||||
if (lost[0])
|
||||
gSprites[gUnknown_0203CD78->arr[arrId]].oam.paletteNum = 3;
|
||||
|
||||
// Draw second trainer sprite.
|
||||
if (trainerIds[1] == TRAINER_PLAYER)
|
||||
gUnknown_0203CD78->arr[1 + arrId] = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender), TRUE, x + 192, y + 88, palSlot + 13, 0xFFFF);
|
||||
else if (trainerIds[1] == TRAINER_FRONTIER_BRAIN)
|
||||
gUnknown_0203CD78->arr[1 + arrId] = CreateTrainerPicSprite(GetDomeBrainTrainerPicId(), TRUE, x + 192, y + 88, palSlot + 13, 0xFFFF);
|
||||
else
|
||||
gUnknown_0203CD78->arr[1 + arrId] = CreateTrainerPicSprite(GetFrontierTrainerFrontSpriteId(trainerIds[1]), TRUE, x + 192, y + 88, palSlot + 13, 0xFFFF);
|
||||
|
||||
if (flags & 0x1E)
|
||||
gSprites[gUnknown_0203CD78->arr[1 + arrId]].invisible = 1;
|
||||
if (lost[1])
|
||||
gSprites[gUnknown_0203CD78->arr[1 + arrId]].oam.paletteNum = 3;
|
||||
|
||||
// Draw first trainer's pokemon icons.
|
||||
for (i = 0; i < 3; i++)
|
||||
{
|
||||
if (trainerIds[0] == TRAINER_PLAYER)
|
||||
{
|
||||
gUnknown_0203CD78->arr[2 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonId[tournamentIds[0]][i],
|
||||
SpriteCb_MonIcon,
|
||||
x | gUnknown_0860D3A8[i],
|
||||
y + gUnknown_0860D3AB[i],
|
||||
0, 0, TRUE);
|
||||
gSprites[gUnknown_0203CD78->arr[2 + i + arrId]].oam.priority = 0;
|
||||
}
|
||||
else if (trainerIds[0] == TRAINER_FRONTIER_BRAIN)
|
||||
{
|
||||
gUnknown_0203CD78->arr[2 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonId[tournamentIds[0]][i],
|
||||
SpriteCb_MonIcon,
|
||||
x | gUnknown_0860D3A8[i],
|
||||
y + gUnknown_0860D3AB[i],
|
||||
0, 0, TRUE);
|
||||
gSprites[gUnknown_0203CD78->arr[2 + i + arrId]].oam.priority = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
gUnknown_0203CD78->arr[2 + i + arrId] = CreateMonIcon(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentIds[0]][i]].species,
|
||||
SpriteCb_MonIcon,
|
||||
x | gUnknown_0860D3A8[i],
|
||||
y + gUnknown_0860D3AB[i],
|
||||
0, 0, TRUE);
|
||||
gSprites[gUnknown_0203CD78->arr[2 + i + arrId]].oam.priority = 0;
|
||||
}
|
||||
|
||||
if (flags & 0x1E)
|
||||
gSprites[gUnknown_0203CD78->arr[2 + i + arrId]].invisible = 1;
|
||||
if (lost[0])
|
||||
{
|
||||
gSprites[gUnknown_0203CD78->arr[2 + i + arrId]].oam.paletteNum = 3;
|
||||
gSprites[gUnknown_0203CD78->arr[2 + i + arrId]].sMonIconStill = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
// Draw second trainer's pokemon icons.
|
||||
for (i = 0; i < 3; i++)
|
||||
{
|
||||
if (trainerIds[1] == TRAINER_PLAYER)
|
||||
{
|
||||
gUnknown_0203CD78->arr[5 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonId[tournamentIds[1]][i],
|
||||
SpriteCb_MonIcon,
|
||||
x | gUnknown_0860D3AE[i],
|
||||
y + gUnknown_0860D3B1[i],
|
||||
0, 0, TRUE);
|
||||
gSprites[gUnknown_0203CD78->arr[5 + i + arrId]].oam.priority = 0;
|
||||
}
|
||||
else if (trainerIds[1] == TRAINER_FRONTIER_BRAIN)
|
||||
{
|
||||
gUnknown_0203CD78->arr[5 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonId[tournamentIds[1]][i],
|
||||
SpriteCb_MonIcon,
|
||||
x | gUnknown_0860D3AE[i],
|
||||
y + gUnknown_0860D3B1[i],
|
||||
0, 0, TRUE);
|
||||
gSprites[gUnknown_0203CD78->arr[5 + i + arrId]].oam.priority = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
gUnknown_0203CD78->arr[5 + i + arrId] = CreateMonIcon(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentIds[1]][i]].species,
|
||||
SpriteCb_MonIcon,
|
||||
x | gUnknown_0860D3AE[i],
|
||||
y + gUnknown_0860D3B1[i],
|
||||
0, 0, TRUE);
|
||||
gSprites[gUnknown_0203CD78->arr[5 + i + arrId]].oam.priority = 0;
|
||||
}
|
||||
|
||||
if (flags & 0x1E)
|
||||
gSprites[gUnknown_0203CD78->arr[5 + i + arrId]].invisible = 1;
|
||||
if (lost[1])
|
||||
{
|
||||
gSprites[gUnknown_0203CD78->arr[5 + i + arrId]].oam.paletteNum = 3;
|
||||
gSprites[gUnknown_0203CD78->arr[5 + i + arrId]].sMonIconStill = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
// Print the win string (or 'Let the battle begin!' one).
|
||||
textPrinter.x = 0;
|
||||
textPrinter.y = 2;
|
||||
textPrinter.currentX = textPrinter.x;
|
||||
textPrinter.currentY = textPrinter.y;
|
||||
textPrinter.letterSpacing = 0;
|
||||
textPrinter.lineSpacing = 0;
|
||||
textPrinter.fontColor_l = 0;
|
||||
textPrinter.fgColor = 14;
|
||||
textPrinter.bgColor = 0;
|
||||
textPrinter.shadowColor = 13;
|
||||
StringExpandPlaceholders(gStringVar4, gBattleDomeWinStringsPointers[winStringId]);
|
||||
textPrinter.current_text_offset = gStringVar4;
|
||||
textPrinter.windowId = windowId + 8;
|
||||
textPrinter.fontId = 1;
|
||||
PutWindowTilemap(windowId + 8);
|
||||
CopyWindowToVram(windowId + 8, 3);
|
||||
textPrinter.currentX = 0;
|
||||
textPrinter.currentY = textPrinter.y = 0;
|
||||
AddTextPrinter(&textPrinter, 0, NULL);
|
||||
|
||||
// Print first trainer's name.
|
||||
if (trainerIds[0] == TRAINER_PLAYER)
|
||||
StringCopy(gStringVar1, gSaveBlock2Ptr->playerName);
|
||||
else if (trainerIds[0] == TRAINER_FRONTIER_BRAIN)
|
||||
CopyDomeBrainTrainerName(gStringVar1);
|
||||
else
|
||||
CopyDomeOpponentName(gStringVar1, trainerIds[0]);
|
||||
|
||||
textPrinter.fontId = 2;
|
||||
textPrinter.letterSpacing = 2;
|
||||
textPrinter.current_text_offset = gStringVar1;
|
||||
textPrinter.windowId = windowId + 6;
|
||||
textPrinter.currentX = GetStringCenterAlignXOffsetWithLetterSpacing(textPrinter.fontId, textPrinter.current_text_offset, 0x40, textPrinter.letterSpacing);
|
||||
textPrinter.currentY = textPrinter.y = 2;
|
||||
PutWindowTilemap(windowId + 6);
|
||||
CopyWindowToVram(windowId + 6, 3);
|
||||
AddTextPrinter(&textPrinter, 0, NULL);
|
||||
|
||||
// Print second trainer's name.
|
||||
if (trainerIds[1] == TRAINER_PLAYER)
|
||||
StringCopy(gStringVar1, gSaveBlock2Ptr->playerName);
|
||||
else if (trainerIds[1] == TRAINER_FRONTIER_BRAIN)
|
||||
CopyDomeBrainTrainerName(gStringVar1);
|
||||
else
|
||||
CopyDomeOpponentName(gStringVar1, trainerIds[1]);
|
||||
|
||||
textPrinter.current_text_offset = gStringVar1;
|
||||
textPrinter.windowId = windowId + 7;
|
||||
textPrinter.currentX = GetStringCenterAlignXOffsetWithLetterSpacing(textPrinter.fontId, textPrinter.current_text_offset, 0x40, textPrinter.letterSpacing);
|
||||
textPrinter.currentY = textPrinter.y = 2;
|
||||
PutWindowTilemap(windowId + 7);
|
||||
CopyWindowToVram(windowId + 7, 3);
|
||||
AddTextPrinter(&textPrinter, 0, NULL);
|
||||
|
||||
// Print match number.
|
||||
textPrinter.letterSpacing = 0;
|
||||
textPrinter.current_text_offset = gBattleDomeMatchNumberPointers[matchNo];
|
||||
textPrinter.windowId = windowId + 5;
|
||||
textPrinter.currentX = GetStringCenterAlignXOffsetWithLetterSpacing(textPrinter.fontId, textPrinter.current_text_offset, 0xA0, textPrinter.letterSpacing);
|
||||
textPrinter.currentY = textPrinter.y = 2;
|
||||
PutWindowTilemap(windowId + 5);
|
||||
CopyWindowToVram(windowId + 5, 3);
|
||||
AddTextPrinter(&textPrinter, 0, NULL);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user