mirror of
https://github.com/pret/pokeruby.git
synced 2025-01-07 13:11:04 +00:00
3403 lines
58 KiB
ArmAsm
3403 lines
58 KiB
ArmAsm
.include "constants/gba_constants.inc"
|
|
.include "constants/species_constants.inc"
|
|
.include "asm/macros.inc"
|
|
|
|
.syntax unified
|
|
|
|
.text
|
|
|
|
thumb_func_start sub_8141E38
|
|
sub_8141E38: @ 8141E38
|
|
push {lr}
|
|
bl LoadOam
|
|
bl ProcessSpriteCopyRequests
|
|
bl TransferPlttBuffer
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8141E38
|
|
|
|
thumb_func_start sub_8141E4C
|
|
sub_8141E4C: @ 8141E4C
|
|
push {lr}
|
|
bl RunTasks
|
|
bl AnimateSprites
|
|
bl BuildOamBuffer
|
|
bl UpdatePaletteFade
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8141E4C
|
|
|
|
thumb_func_start sub_8141E64
|
|
sub_8141E64: @ 8141E64
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
ldr r0, _08141E80 @ =gMain
|
|
ldr r1, _08141E84 @ =0x0000043c
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x4
|
|
bhi _08141EA0
|
|
lsls r0, 2
|
|
ldr r1, _08141E88 @ =_08141E8C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08141E80: .4byte gMain
|
|
_08141E84: .4byte 0x0000043c
|
|
_08141E88: .4byte _08141E8C
|
|
.align 2, 0
|
|
_08141E8C:
|
|
.4byte _08141EA0
|
|
.4byte _08141EC0
|
|
.4byte _08141EC6
|
|
.4byte _08141F1C
|
|
.4byte _08141F58
|
|
_08141EA0:
|
|
movs r0, 0
|
|
bl SetVBlankCallback
|
|
bl sub_81433E0
|
|
ldr r0, _08141EB8 @ =gMain
|
|
ldr r2, _08141EBC @ =0x0000043c
|
|
adds r0, r2
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
b _08141F84
|
|
.align 2, 0
|
|
_08141EB8: .4byte gMain
|
|
_08141EBC: .4byte 0x0000043c
|
|
_08141EC0:
|
|
bl sub_8143570
|
|
b _08141F38
|
|
_08141EC6:
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
movs r4, 0
|
|
str r4, [sp]
|
|
movs r1, 0
|
|
movs r2, 0x10
|
|
movs r3, 0
|
|
bl BeginNormalPaletteFade
|
|
ldr r0, _08141F04 @ =sub_8141E38
|
|
bl SetVBlankCallback
|
|
ldr r3, _08141F08 @ =0x04000208
|
|
ldrh r2, [r3]
|
|
strh r4, [r3]
|
|
ldr r4, _08141F0C @ =0x04000200
|
|
ldrh r0, [r4]
|
|
movs r1, 0x1
|
|
orrs r0, r1
|
|
strh r0, [r4]
|
|
strh r2, [r3]
|
|
ldr r2, _08141F10 @ =REG_DISPSTAT
|
|
ldrh r0, [r2]
|
|
movs r1, 0x8
|
|
orrs r0, r1
|
|
strh r0, [r2]
|
|
ldr r1, _08141F14 @ =gMain
|
|
ldr r2, _08141F18 @ =0x0000043c
|
|
adds r1, r2
|
|
b _08141F3E
|
|
.align 2, 0
|
|
_08141F04: .4byte sub_8141E38
|
|
_08141F08: .4byte 0x04000208
|
|
_08141F0C: .4byte 0x04000200
|
|
_08141F10: .4byte REG_DISPSTAT
|
|
_08141F14: .4byte gMain
|
|
_08141F18: .4byte 0x0000043c
|
|
_08141F1C:
|
|
ldr r1, _08141F48 @ =REG_BLDCNT
|
|
ldr r2, _08141F4C @ =0x00003f42
|
|
adds r0, r2, 0
|
|
strh r0, [r1]
|
|
adds r1, 0x2
|
|
movs r2, 0xE2
|
|
lsls r2, 3
|
|
adds r0, r2, 0
|
|
strh r0, [r1]
|
|
adds r1, 0x2
|
|
movs r0, 0
|
|
strh r0, [r1]
|
|
bl sub_81435B8
|
|
_08141F38:
|
|
ldr r1, _08141F50 @ =gMain
|
|
ldr r0, _08141F54 @ =0x0000043c
|
|
adds r1, r0
|
|
_08141F3E:
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _08141F84
|
|
.align 2, 0
|
|
_08141F48: .4byte REG_BLDCNT
|
|
_08141F4C: .4byte 0x00003f42
|
|
_08141F50: .4byte gMain
|
|
_08141F54: .4byte 0x0000043c
|
|
_08141F58:
|
|
bl UpdatePaletteFade
|
|
ldr r0, _08141F7C @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _08141F84
|
|
ldr r0, _08141F80 @ =sub_8141E4C
|
|
bl SetMainCallback2
|
|
movs r0, 0xDA
|
|
lsls r0, 1
|
|
bl PlayBGM
|
|
movs r0, 0
|
|
b _08141F86
|
|
.align 2, 0
|
|
_08141F7C: .4byte gPaletteFade
|
|
_08141F80: .4byte sub_8141E4C
|
|
_08141F84:
|
|
movs r0, 0x1
|
|
_08141F86:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8141E64
|
|
|
|
thumb_func_start sub_8141F90
|
|
sub_8141F90: @ 8141F90
|
|
push {r4,lr}
|
|
bl sub_8141E64
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0
|
|
bne _08141FB6
|
|
ldr r0, _08141FBC @ =sub_8141FF8
|
|
movs r1, 0
|
|
bl CreateTask
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _08141FC0 @ =gTasks
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2
|
|
strh r4, [r1, 0x8]
|
|
_08141FB6:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08141FBC: .4byte sub_8141FF8
|
|
_08141FC0: .4byte gTasks
|
|
thumb_func_end sub_8141F90
|
|
|
|
thumb_func_start sub_8141FC4
|
|
sub_8141FC4: @ 8141FC4
|
|
push {lr}
|
|
bl sub_8141E64
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08141FEA
|
|
ldr r0, _08141FF0 @ =sub_8141FF8
|
|
movs r1, 0
|
|
bl CreateTask
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _08141FF4 @ =gTasks
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2
|
|
movs r0, 0x1
|
|
strh r0, [r1, 0x8]
|
|
_08141FEA:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08141FF0: .4byte sub_8141FF8
|
|
_08141FF4: .4byte gTasks
|
|
thumb_func_end sub_8141FC4
|
|
|
|
thumb_func_start sub_8141FF8
|
|
sub_8141FF8: @ 8141FF8
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0xC
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
ldr r0, _081420C8 @ =0x0201c000
|
|
mov r9, r0
|
|
ldr r1, _081420CC @ =gTasks
|
|
mov r2, r8
|
|
lsls r0, r2, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strh r1, [r0, 0xC]
|
|
movs r7, 0
|
|
ldr r4, _081420D0 @ =0xfffffe00
|
|
mov r10, r4
|
|
_08142024:
|
|
movs r0, 0x64
|
|
adds r1, r7, 0
|
|
muls r1, r0
|
|
ldr r0, _081420D4 @ =gPlayerParty
|
|
adds r6, r1, r0
|
|
adds r0, r6, 0
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
adds r3, r0, 0
|
|
cmp r3, 0
|
|
beq _081420DC
|
|
adds r0, r6, 0
|
|
movs r1, 0x41
|
|
bl GetMonData
|
|
lsls r4, r7, 2
|
|
adds r4, r7
|
|
lsls r4, 2
|
|
mov r1, r9
|
|
adds r5, r1, r4
|
|
ldr r2, _081420D8 @ =0x000001ff
|
|
adds r1, r2, 0
|
|
ands r0, r1
|
|
ldrh r1, [r5, 0x8]
|
|
mov r2, r10
|
|
ands r1, r2
|
|
orrs r1, r0
|
|
strh r1, [r5, 0x8]
|
|
adds r0, r6, 0
|
|
movs r1, 0x1
|
|
bl GetMonData
|
|
str r0, [r5]
|
|
adds r0, r6, 0
|
|
movs r1, 0
|
|
bl GetMonData
|
|
mov r1, r9
|
|
adds r1, 0x4
|
|
adds r1, r4
|
|
str r0, [r1]
|
|
adds r0, r6, 0
|
|
movs r1, 0x38
|
|
bl GetMonData
|
|
lsls r0, 1
|
|
ldrb r2, [r5, 0x9]
|
|
movs r1, 0x1
|
|
ands r1, r2
|
|
orrs r1, r0
|
|
strb r1, [r5, 0x9]
|
|
adds r0, r6, 0
|
|
movs r1, 0x2
|
|
mov r2, sp
|
|
bl GetMonData
|
|
movs r2, 0
|
|
mov r6, r8
|
|
lsls r5, r6, 2
|
|
mov r3, r9
|
|
adds r3, 0xA
|
|
_081420A0:
|
|
adds r1, r2, r4
|
|
adds r1, r3, r1
|
|
mov r6, sp
|
|
adds r0, r6, r2
|
|
ldrb r0, [r0]
|
|
strb r0, [r1]
|
|
adds r0, r2, 0x1
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
cmp r2, 0x9
|
|
bls _081420A0
|
|
ldr r0, _081420CC @ =gTasks
|
|
mov r2, r8
|
|
adds r1, r5, r2
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldrh r0, [r1, 0xC]
|
|
adds r0, 0x1
|
|
strh r0, [r1, 0xC]
|
|
b _08142108
|
|
.align 2, 0
|
|
_081420C8: .4byte 0x0201c000
|
|
_081420CC: .4byte gTasks
|
|
_081420D0: .4byte 0xfffffe00
|
|
_081420D4: .4byte gPlayerParty
|
|
_081420D8: .4byte 0x000001ff
|
|
_081420DC:
|
|
lsls r1, r7, 2
|
|
adds r1, r7
|
|
lsls r1, 2
|
|
mov r4, r9
|
|
adds r2, r4, r1
|
|
ldrh r0, [r2, 0x8]
|
|
mov r6, r10
|
|
ands r0, r6
|
|
strh r0, [r2, 0x8]
|
|
str r3, [r2]
|
|
mov r0, r9
|
|
adds r0, 0x4
|
|
adds r0, r1
|
|
str r3, [r0]
|
|
ldrb r1, [r2, 0x9]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
strb r0, [r2, 0x9]
|
|
movs r0, 0xFF
|
|
strb r0, [r2, 0xA]
|
|
mov r0, r8
|
|
lsls r5, r0, 2
|
|
_08142108:
|
|
adds r0, r7, 0x1
|
|
lsls r0, 16
|
|
lsrs r7, r0, 16
|
|
cmp r7, 0x5
|
|
bls _08142024
|
|
ldr r0, _08142158 @ =gUnknown_0203931C
|
|
movs r3, 0
|
|
str r3, [r0]
|
|
ldr r4, _0814215C @ =gTasks
|
|
mov r2, r8
|
|
adds r1, r5, r2
|
|
lsls r1, 3
|
|
adds r2, r1, r4
|
|
strh r3, [r2, 0xA]
|
|
movs r0, 0xFF
|
|
strh r0, [r2, 0x10]
|
|
movs r7, 0
|
|
adds r3, r4, 0
|
|
adds r3, 0x8
|
|
movs r2, 0xFF
|
|
_08142130:
|
|
adds r0, r7, 0x5
|
|
lsls r0, 1
|
|
adds r0, r1
|
|
adds r0, r3
|
|
strh r2, [r0]
|
|
adds r0, r7, 0x1
|
|
lsls r0, 16
|
|
lsrs r7, r0, 16
|
|
cmp r7, 0x5
|
|
bls _08142130
|
|
mov r6, r8
|
|
adds r0, r5, r6
|
|
lsls r0, 3
|
|
adds r1, r0, r4
|
|
movs r2, 0x8
|
|
ldrsh r0, [r1, r2]
|
|
cmp r0, 0
|
|
beq _08142164
|
|
ldr r0, _08142160 @ =sub_81422E8
|
|
b _08142166
|
|
.align 2, 0
|
|
_08142158: .4byte gUnknown_0203931C
|
|
_0814215C: .4byte gTasks
|
|
_08142160: .4byte sub_81422E8
|
|
_08142164:
|
|
ldr r0, _08142178 @ =sub_814217C
|
|
_08142166:
|
|
str r0, [r1]
|
|
add sp, 0xC
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08142178: .4byte sub_814217C
|
|
thumb_func_end sub_8141FF8
|
|
|
|
thumb_func_start sub_814217C
|
|
sub_814217C: @ 814217C
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
ldr r0, _081421C4 @ =0x0201c000
|
|
mov r9, r0
|
|
movs r7, 0x80
|
|
lsls r7, 6
|
|
add r7, r9
|
|
ldr r0, _081421C8 @ =gUnknown_02039324
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _081421D4
|
|
movs r4, 0
|
|
mov r0, r8
|
|
lsls r0, 2
|
|
mov r10, r0
|
|
ldr r5, _081421CC @ =0xfffe4000
|
|
add r5, r9
|
|
movs r3, 0xF0
|
|
lsls r3, 9
|
|
movs r2, 0
|
|
ldr r1, _081421D0 @ =0x00001fff
|
|
_081421B2:
|
|
adds r0, r4, r3
|
|
adds r0, r5
|
|
strb r2, [r0]
|
|
adds r0, r4, 0x1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
cmp r4, r1
|
|
bls _081421B2
|
|
b _081421E0
|
|
.align 2, 0
|
|
_081421C4: .4byte 0x0201c000
|
|
_081421C8: .4byte gUnknown_02039324
|
|
_081421CC: .4byte 0xfffe4000
|
|
_081421D0: .4byte 0x00001fff
|
|
_081421D4:
|
|
movs r0, 0x3
|
|
bl sub_8125EC8
|
|
mov r0, r8
|
|
lsls r0, 2
|
|
mov r10, r0
|
|
_081421E0:
|
|
movs r4, 0
|
|
ldrh r1, [r7, 0x8]
|
|
ldr r2, _081421E8 @ =0x000001ff
|
|
b _081421FA
|
|
.align 2, 0
|
|
_081421E8: .4byte 0x000001ff
|
|
_081421EC:
|
|
adds r0, r4, 0x1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
adds r7, 0x78
|
|
cmp r4, 0x31
|
|
bhi _08142206
|
|
ldrh r1, [r7, 0x8]
|
|
_081421FA:
|
|
adds r0, r2, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _081421EC
|
|
cmp r4, 0x31
|
|
bls _08142228
|
|
_08142206:
|
|
ldr r5, _08142264 @ =0x0201e000
|
|
adds r6, r5, 0
|
|
adds r5, 0x78
|
|
movs r4, 0
|
|
subs r7, 0x78
|
|
_08142210:
|
|
adds r0, r6, 0
|
|
adds r1, r5, 0
|
|
movs r2, 0x78
|
|
bl memcpy
|
|
adds r0, r4, 0x1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
adds r6, 0x78
|
|
adds r5, 0x78
|
|
cmp r4, 0x30
|
|
bls _08142210
|
|
_08142228:
|
|
adds r0, r7, 0
|
|
mov r1, r9
|
|
movs r2, 0x78
|
|
bl memcpy
|
|
movs r0, 0x2
|
|
movs r1, 0xE
|
|
movs r2, 0x1B
|
|
movs r3, 0x13
|
|
bl MenuDrawTextWindow
|
|
ldr r0, _08142268 @ =gMenuText_HOFSaving
|
|
movs r1, 0x3
|
|
movs r2, 0xF
|
|
bl MenuPrint
|
|
ldr r1, _0814226C @ =gTasks
|
|
mov r0, r10
|
|
add r0, r8
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _08142270 @ =sub_8142274
|
|
str r1, [r0]
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08142264: .4byte 0x0201e000
|
|
_08142268: .4byte gMenuText_HOFSaving
|
|
_0814226C: .4byte gTasks
|
|
_08142270: .4byte sub_8142274
|
|
thumb_func_end sub_814217C
|
|
|
|
thumb_func_start sub_8142274
|
|
sub_8142274: @ 8142274
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r1, _081422A8 @ =gGameContinueCallback
|
|
ldr r0, _081422AC @ =sub_8141FC4
|
|
str r0, [r1]
|
|
movs r0, 0x3
|
|
bl TrySavingData
|
|
movs r0, 0x37
|
|
bl PlaySE
|
|
ldr r1, _081422B0 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _081422B4 @ =sub_81422B8
|
|
str r1, [r0]
|
|
movs r1, 0x20
|
|
strh r1, [r0, 0xE]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081422A8: .4byte gGameContinueCallback
|
|
_081422AC: .4byte sub_8141FC4
|
|
_081422B0: .4byte gTasks
|
|
_081422B4: .4byte sub_81422B8
|
|
thumb_func_end sub_8142274
|
|
|
|
thumb_func_start sub_81422B8
|
|
sub_81422B8: @ 81422B8
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _081422D8 @ =gTasks
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2
|
|
ldrh r2, [r1, 0xE]
|
|
movs r3, 0xE
|
|
ldrsh r0, [r1, r3]
|
|
cmp r0, 0
|
|
beq _081422DC
|
|
subs r0, r2, 0x1
|
|
strh r0, [r1, 0xE]
|
|
b _081422E0
|
|
.align 2, 0
|
|
_081422D8: .4byte gTasks
|
|
_081422DC:
|
|
ldr r0, _081422E4 @ =sub_81422E8
|
|
str r0, [r1]
|
|
_081422E0:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081422E4: .4byte sub_81422E8
|
|
thumb_func_end sub_81422B8
|
|
|
|
thumb_func_start sub_81422E8
|
|
sub_81422E8: @ 81422E8
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r5, _08142314 @ =gWindowConfig_81E7198
|
|
adds r0, r5, 0
|
|
bl SetUpWindowConfig
|
|
adds r0, r5, 0
|
|
bl InitMenuWindow
|
|
ldr r1, _08142318 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _0814231C @ =sub_8142320
|
|
str r1, [r0]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08142314: .4byte gWindowConfig_81E7198
|
|
_08142318: .4byte gTasks
|
|
_0814231C: .4byte sub_8142320
|
|
thumb_func_end sub_81422E8
|
|
|
|
thumb_func_start sub_8142320
|
|
sub_8142320: @ 8142320
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
sub sp, 0x8
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
ldr r2, _08142350 @ =0x0201c000
|
|
ldr r0, _08142354 @ =gTasks
|
|
lsls r1, r7, 2
|
|
adds r1, r7
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldrh r6, [r1, 0xA]
|
|
lsls r0, r6, 2
|
|
adds r0, r6
|
|
lsls r0, 2
|
|
adds r4, r0, r2
|
|
movs r2, 0xC
|
|
ldrsh r0, [r1, r2]
|
|
cmp r0, 0x3
|
|
ble _0814235C
|
|
ldr r1, _08142358 @ =gUnknown_0840B534
|
|
b _0814235E
|
|
.align 2, 0
|
|
_08142350: .4byte 0x0201c000
|
|
_08142354: .4byte gTasks
|
|
_08142358: .4byte gUnknown_0840B534
|
|
_0814235C:
|
|
ldr r1, _081423F0 @ =gUnknown_0840B564
|
|
_0814235E:
|
|
lsls r2, r6, 3
|
|
adds r0, r2, r1
|
|
ldrh r5, [r0]
|
|
adds r0, r1, 0x2
|
|
adds r0, r2, r0
|
|
ldrh r3, [r0]
|
|
adds r0, r1, 0x4
|
|
adds r0, r2, r0
|
|
ldrh r0, [r0]
|
|
mov r9, r0
|
|
adds r1, 0x6
|
|
adds r2, r1
|
|
ldrh r2, [r2]
|
|
mov r8, r2
|
|
ldrh r0, [r4, 0x8]
|
|
lsls r0, 23
|
|
lsrs r0, 23
|
|
lsls r1, r5, 16
|
|
asrs r1, 16
|
|
lsls r2, r3, 16
|
|
asrs r2, 16
|
|
ldr r3, [r4]
|
|
str r3, [sp]
|
|
ldr r3, [r4, 0x4]
|
|
str r3, [sp, 0x4]
|
|
adds r3, r6, 0
|
|
bl sub_81436BC
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r3, _081423F4 @ =gSprites
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r2, r1, r3
|
|
movs r4, 0
|
|
mov r5, r9
|
|
strh r5, [r2, 0x30]
|
|
mov r5, r8
|
|
strh r5, [r2, 0x32]
|
|
strh r4, [r2, 0x2E]
|
|
adds r3, 0x1C
|
|
adds r1, r3
|
|
ldr r2, _081423F8 @ =sub_81435DC
|
|
str r2, [r1]
|
|
ldr r5, _081423FC @ =gTasks
|
|
adds r1, r6, 0x5
|
|
lsls r1, 1
|
|
lsls r4, r7, 2
|
|
adds r4, r7
|
|
lsls r4, 3
|
|
adds r1, r4
|
|
adds r2, r5, 0
|
|
adds r2, 0x8
|
|
adds r1, r2
|
|
strh r0, [r1]
|
|
movs r0, 0
|
|
movs r1, 0xE
|
|
movs r2, 0x1D
|
|
movs r3, 0x13
|
|
bl MenuZeroFillWindowRect
|
|
adds r4, r5
|
|
ldr r0, _08142400 @ =sub_8142404
|
|
str r0, [r4]
|
|
add sp, 0x8
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081423F0: .4byte gUnknown_0840B564
|
|
_081423F4: .4byte gSprites
|
|
_081423F8: .4byte sub_81435DC
|
|
_081423FC: .4byte gTasks
|
|
_08142400: .4byte sub_8142404
|
|
thumb_func_end sub_8142320
|
|
|
|
thumb_func_start sub_8142404
|
|
sub_8142404: @ 8142404
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r4, _08142470 @ =0x0201c000
|
|
ldr r3, _08142474 @ =gTasks
|
|
lsls r2, r0, 2
|
|
adds r2, r0
|
|
lsls r2, 3
|
|
adds r5, r2, r3
|
|
ldrh r1, [r5, 0xA]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r6, r0, r4
|
|
ldr r4, _08142478 @ =gSprites
|
|
adds r1, 0x5
|
|
lsls r1, 1
|
|
adds r1, r2
|
|
adds r3, 0x8
|
|
adds r1, r3
|
|
movs r0, 0
|
|
ldrsh r1, [r1, r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r4
|
|
movs r1, 0x2E
|
|
ldrsh r0, [r0, r1]
|
|
cmp r0, 0
|
|
beq _0814246A
|
|
ldrh r2, [r6, 0x8]
|
|
ldr r0, _0814247C @ =0x000001ff
|
|
ands r0, r2
|
|
movs r1, 0xCE
|
|
lsls r1, 1
|
|
cmp r0, r1
|
|
beq _08142458
|
|
lsls r0, r2, 23
|
|
lsrs r0, 23
|
|
movs r1, 0
|
|
bl PlayCry1
|
|
_08142458:
|
|
adds r0, r6, 0
|
|
movs r1, 0
|
|
movs r2, 0xE
|
|
bl sub_8143088
|
|
movs r0, 0x78
|
|
strh r0, [r5, 0xE]
|
|
ldr r0, _08142480 @ =sub_8142484
|
|
str r0, [r5]
|
|
_0814246A:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08142470: .4byte 0x0201c000
|
|
_08142474: .4byte gTasks
|
|
_08142478: .4byte gSprites
|
|
_0814247C: .4byte 0x000001ff
|
|
_08142480: .4byte sub_8142484
|
|
thumb_func_end sub_8142404
|
|
|
|
thumb_func_start sub_8142484
|
|
sub_8142484: @ 8142484
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
sub sp, 0x4
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
ldr r2, _081424BC @ =0x0201c000
|
|
ldr r1, _081424C0 @ =gTasks
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r6, r0, 3
|
|
adds r4, r6, r1
|
|
ldrh r3, [r4, 0xA]
|
|
lsls r0, r3, 2
|
|
adds r0, r3
|
|
lsls r0, 2
|
|
adds r0, r2
|
|
mov r9, r0
|
|
ldrh r2, [r4, 0xE]
|
|
movs r7, 0xE
|
|
ldrsh r0, [r4, r7]
|
|
mov r12, r1
|
|
cmp r0, 0
|
|
beq _081424C4
|
|
subs r0, r2, 0x1
|
|
strh r0, [r4, 0xE]
|
|
b _0814255C
|
|
.align 2, 0
|
|
_081424BC: .4byte 0x0201c000
|
|
_081424C0: .4byte gTasks
|
|
_081424C4:
|
|
ldr r2, _0814253C @ =gUnknown_0203931C
|
|
ldr r0, _08142540 @ =gSprites
|
|
mov r8, r0
|
|
adds r0, r3, 0x5
|
|
lsls r0, 1
|
|
adds r0, r6
|
|
mov r1, r12
|
|
adds r1, 0x8
|
|
adds r6, r0, r1
|
|
movs r7, 0
|
|
ldrsh r1, [r6, r7]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
add r0, r8
|
|
ldrb r0, [r0, 0x5]
|
|
lsrs r0, 4
|
|
movs r1, 0x80
|
|
lsls r1, 9
|
|
lsls r1, r0
|
|
ldr r3, [r2]
|
|
orrs r3, r1
|
|
str r3, [r2]
|
|
ldrh r2, [r4, 0xA]
|
|
movs r1, 0xA
|
|
ldrsh r0, [r4, r1]
|
|
cmp r0, 0x4
|
|
bgt _08142550
|
|
mov r7, r9
|
|
ldrh r1, [r7, 0x1C]
|
|
ldr r0, _08142544 @ =0x000001ff
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08142550
|
|
adds r0, r2, 0x1
|
|
strh r0, [r4, 0xA]
|
|
ldr r0, _08142548 @ =0x0000735f
|
|
str r0, [sp]
|
|
adds r0, r3, 0
|
|
movs r1, 0
|
|
movs r2, 0xC
|
|
movs r3, 0xC
|
|
bl BeginNormalPaletteFade
|
|
movs r0, 0
|
|
ldrsh r1, [r6, r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
add r0, r8
|
|
ldrb r2, [r0, 0x5]
|
|
movs r1, 0xD
|
|
negs r1, r1
|
|
ands r1, r2
|
|
movs r2, 0x4
|
|
orrs r1, r2
|
|
strb r1, [r0, 0x5]
|
|
ldr r0, _0814254C @ =sub_8142320
|
|
str r0, [r4]
|
|
b _0814255C
|
|
.align 2, 0
|
|
_0814253C: .4byte gUnknown_0203931C
|
|
_08142540: .4byte gSprites
|
|
_08142544: .4byte 0x000001ff
|
|
_08142548: .4byte 0x0000735f
|
|
_0814254C: .4byte sub_8142320
|
|
_08142550:
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
add r0, r12
|
|
ldr r1, _0814256C @ =sub_8142570
|
|
str r1, [r0]
|
|
_0814255C:
|
|
add sp, 0x4
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0814256C: .4byte sub_8142570
|
|
thumb_func_end sub_8142484
|
|
|
|
thumb_func_start sub_8142570
|
|
sub_8142570: @ 8142570
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x4
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r0, _08142604 @ =0xffff0000
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl BeginNormalPaletteFade
|
|
movs r3, 0
|
|
lsls r1, r4, 2
|
|
adds r0, r1, r4
|
|
lsls r5, r0, 3
|
|
ldr r0, _08142608 @ =gTasks + 0x8
|
|
mov r12, r0
|
|
mov r8, r1
|
|
ldr r6, _0814260C @ =gSprites
|
|
movs r7, 0xD
|
|
negs r7, r7
|
|
_0814259E:
|
|
adds r0, r3, 0x5
|
|
lsls r0, 1
|
|
adds r0, r5
|
|
mov r2, r12
|
|
adds r1, r0, r2
|
|
movs r2, 0
|
|
ldrsh r0, [r1, r2]
|
|
cmp r0, 0xFF
|
|
beq _081425C0
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r1, r6
|
|
ldrb r2, [r1, 0x5]
|
|
adds r0, r7, 0
|
|
ands r0, r2
|
|
strb r0, [r1, 0x5]
|
|
_081425C0:
|
|
adds r0, r3, 0x1
|
|
lsls r0, 16
|
|
lsrs r3, r0, 16
|
|
cmp r3, 0x5
|
|
bls _0814259E
|
|
movs r0, 0
|
|
movs r1, 0xE
|
|
movs r2, 0x1D
|
|
movs r3, 0x13
|
|
bl MenuZeroFillWindowRect
|
|
movs r0, 0
|
|
movs r1, 0xF
|
|
bl sub_8143068
|
|
movs r0, 0x69
|
|
bl PlaySE
|
|
ldr r1, _08142610 @ =gTasks
|
|
mov r2, r8
|
|
adds r0, r2, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
movs r1, 0xC8
|
|
lsls r1, 1
|
|
strh r1, [r0, 0xE]
|
|
ldr r1, _08142614 @ =sub_8142618
|
|
str r1, [r0]
|
|
add sp, 0x4
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08142604: .4byte 0xffff0000
|
|
_08142608: .4byte gTasks + 0x8
|
|
_0814260C: .4byte gSprites
|
|
_08142610: .4byte gTasks
|
|
_08142614: .4byte sub_8142618
|
|
thumb_func_end sub_8142570
|
|
|
|
thumb_func_start sub_8142618
|
|
sub_8142618: @ 8142618
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x4
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
ldr r7, _08142658 @ =gTasks
|
|
lsls r4, r6, 2
|
|
adds r0, r4, r6
|
|
lsls r5, r0, 3
|
|
adds r1, r5, r7
|
|
ldrh r2, [r1, 0xE]
|
|
movs r3, 0xE
|
|
ldrsh r0, [r1, r3]
|
|
cmp r0, 0
|
|
beq _0814265C
|
|
subs r2, 0x1
|
|
strh r2, [r1, 0xE]
|
|
movs r0, 0x3
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
bne _081426D2
|
|
lsls r0, r2, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x6E
|
|
ble _081426D2
|
|
bl sub_81438C4
|
|
b _081426D2
|
|
.align 2, 0
|
|
_08142658: .4byte gTasks
|
|
_0814265C:
|
|
movs r3, 0
|
|
mov r9, r4
|
|
ldr r0, _081426E4 @ =gUnknown_0203931C
|
|
mov r10, r0
|
|
adds r4, r5, 0
|
|
adds r7, 0x8
|
|
mov r8, r7
|
|
ldr r7, _081426E8 @ =gSprites
|
|
movs r1, 0xD
|
|
negs r1, r1
|
|
mov r12, r1
|
|
movs r5, 0x4
|
|
_08142674:
|
|
adds r0, r3, 0x5
|
|
lsls r0, 1
|
|
adds r0, r4
|
|
mov r2, r8
|
|
adds r1, r0, r2
|
|
movs r2, 0
|
|
ldrsh r0, [r1, r2]
|
|
cmp r0, 0xFF
|
|
beq _08142698
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r1, r7
|
|
ldrb r2, [r1, 0x5]
|
|
mov r0, r12
|
|
ands r0, r2
|
|
orrs r0, r5
|
|
strb r0, [r1, 0x5]
|
|
_08142698:
|
|
adds r0, r3, 0x1
|
|
lsls r0, 16
|
|
lsrs r3, r0, 16
|
|
cmp r3, 0x5
|
|
bls _08142674
|
|
mov r3, r10
|
|
ldr r0, [r3]
|
|
ldr r1, _081426EC @ =0x0000735f
|
|
str r1, [sp]
|
|
movs r1, 0
|
|
movs r2, 0xC
|
|
movs r3, 0xC
|
|
bl BeginNormalPaletteFade
|
|
movs r0, 0
|
|
movs r1, 0xE
|
|
movs r2, 0x1D
|
|
movs r3, 0x13
|
|
bl MenuZeroFillWindowRect
|
|
ldr r1, _081426F0 @ =gTasks
|
|
mov r2, r9
|
|
adds r0, r2, r6
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
movs r1, 0x7
|
|
strh r1, [r0, 0xE]
|
|
ldr r1, _081426F4 @ =sub_81426F8
|
|
str r1, [r0]
|
|
_081426D2:
|
|
add sp, 0x4
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081426E4: .4byte gUnknown_0203931C
|
|
_081426E8: .4byte gSprites
|
|
_081426EC: .4byte 0x0000735f
|
|
_081426F0: .4byte gTasks
|
|
_081426F4: .4byte sub_81426F8
|
|
thumb_func_end sub_8142618
|
|
|
|
thumb_func_start sub_81426F8
|
|
sub_81426F8: @ 81426F8
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _08142718 @ =gTasks
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r2, r1, r2
|
|
ldrh r1, [r2, 0xE]
|
|
movs r3, 0xE
|
|
ldrsh r0, [r2, r3]
|
|
cmp r0, 0xF
|
|
ble _08142720
|
|
ldr r0, _0814271C @ =sub_8142738
|
|
str r0, [r2]
|
|
b _0814272E
|
|
.align 2, 0
|
|
_08142718: .4byte gTasks
|
|
_0814271C: .4byte sub_8142738
|
|
_08142720:
|
|
adds r0, r1, 0x1
|
|
strh r0, [r2, 0xE]
|
|
ldr r1, _08142734 @ =REG_BLDALPHA
|
|
movs r3, 0xE
|
|
ldrsh r0, [r2, r3]
|
|
lsls r0, 8
|
|
strh r0, [r1]
|
|
_0814272E:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08142734: .4byte REG_BLDALPHA
|
|
thumb_func_end sub_81426F8
|
|
|
|
thumb_func_start sub_8142738
|
|
sub_8142738: @ 8142738
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
movs r1, 0x80
|
|
lsls r1, 19
|
|
movs r2, 0xCA
|
|
lsls r2, 5
|
|
adds r0, r2, 0
|
|
strh r0, [r1]
|
|
ldr r4, _08142784 @ =gWindowConfig_81E71B4
|
|
adds r0, r4, 0
|
|
bl SetUpWindowConfig
|
|
adds r0, r4, 0
|
|
bl InitMenuWindow
|
|
ldr r0, _08142788 @ =gSaveBlock2
|
|
ldrb r0, [r0, 0x8]
|
|
movs r1, 0x78
|
|
movs r2, 0x48
|
|
movs r3, 0x6
|
|
bl sub_81437A4
|
|
ldr r2, _0814278C @ =gTasks
|
|
lsls r1, r5, 2
|
|
adds r1, r5
|
|
lsls r1, 3
|
|
adds r1, r2
|
|
strh r0, [r1, 0x10]
|
|
movs r0, 0x78
|
|
strh r0, [r1, 0xE]
|
|
ldr r0, _08142790 @ =sub_8142794
|
|
str r0, [r1]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08142784: .4byte gWindowConfig_81E71B4
|
|
_08142788: .4byte gSaveBlock2
|
|
_0814278C: .4byte gTasks
|
|
_08142790: .4byte sub_8142794
|
|
thumb_func_end sub_8142738
|
|
|
|
thumb_func_start sub_8142794
|
|
sub_8142794: @ 8142794
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _081427B4 @ =gTasks
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r4, r1, r2
|
|
ldrh r1, [r4, 0xE]
|
|
movs r2, 0xE
|
|
ldrsh r0, [r4, r2]
|
|
cmp r0, 0
|
|
beq _081427B8
|
|
subs r0, r1, 0x1
|
|
strh r0, [r4, 0xE]
|
|
b _0814280A
|
|
.align 2, 0
|
|
_081427B4: .4byte gTasks
|
|
_081427B8:
|
|
ldr r2, _081427D8 @ =gSprites
|
|
movs r3, 0x10
|
|
ldrsh r1, [r4, r3]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r1, r0, r2
|
|
ldrh r2, [r1, 0x20]
|
|
movs r3, 0x20
|
|
ldrsh r0, [r1, r3]
|
|
cmp r0, 0xA0
|
|
beq _081427DC
|
|
adds r0, r2, 0x1
|
|
strh r0, [r1, 0x20]
|
|
b _0814280A
|
|
.align 2, 0
|
|
_081427D8: .4byte gSprites
|
|
_081427DC:
|
|
movs r0, 0x1
|
|
movs r1, 0x2
|
|
movs r2, 0xF
|
|
movs r3, 0x9
|
|
bl MenuDrawTextWindow
|
|
movs r0, 0x1
|
|
movs r1, 0x2
|
|
bl sub_8143300
|
|
movs r0, 0x2
|
|
movs r1, 0xE
|
|
movs r2, 0x1B
|
|
movs r3, 0x13
|
|
bl MenuDrawTextWindow
|
|
ldr r0, _08142810 @ =gMenuText_HOFCongratulations
|
|
movs r1, 0x4
|
|
movs r2, 0xF
|
|
bl MenuPrint
|
|
ldr r0, _08142814 @ =sub_8142818
|
|
str r0, [r4]
|
|
_0814280A:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08142810: .4byte gMenuText_HOFCongratulations
|
|
_08142814: .4byte sub_8142818
|
|
thumb_func_end sub_8142794
|
|
|
|
thumb_func_start sub_8142818
|
|
sub_8142818: @ 8142818
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r0, _08142844 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0814283E
|
|
movs r0, 0x4
|
|
bl FadeOutBGM
|
|
ldr r0, _08142848 @ =gTasks
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _0814284C @ =sub_8142850
|
|
str r0, [r1]
|
|
_0814283E:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08142844: .4byte gMain
|
|
_08142848: .4byte gTasks
|
|
_0814284C: .4byte sub_8142850
|
|
thumb_func_end sub_8142818
|
|
|
|
thumb_func_start sub_8142850
|
|
sub_8142850: @ 8142850
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r0, _08142890 @ =gPlttBufferFaded
|
|
ldr r1, _08142894 @ =gPlttBufferUnfaded
|
|
movs r2, 0x80
|
|
lsls r2, 2
|
|
bl CpuSet
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
movs r1, 0x8
|
|
movs r2, 0
|
|
movs r3, 0x10
|
|
bl BeginNormalPaletteFade
|
|
ldr r1, _08142898 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _0814289C @ =sub_81428A0
|
|
str r1, [r0]
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08142890: .4byte gPlttBufferFaded
|
|
_08142894: .4byte gPlttBufferUnfaded
|
|
_08142898: .4byte gTasks
|
|
_0814289C: .4byte sub_81428A0
|
|
thumb_func_end sub_8142850
|
|
|
|
thumb_func_start sub_81428A0
|
|
sub_81428A0: @ 81428A0
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
ldr r0, _081428C4 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _081428BE
|
|
adds r0, r2, 0
|
|
bl DestroyTask
|
|
ldr r0, _081428C8 @ =sub_81439D0
|
|
bl SetMainCallback2
|
|
_081428BE:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081428C4: .4byte gPaletteFade
|
|
_081428C8: .4byte sub_81439D0
|
|
thumb_func_end sub_81428A0
|
|
|
|
thumb_func_start sub_81428CC
|
|
sub_81428CC: @ 81428CC
|
|
push {r4,r5,lr}
|
|
ldr r0, _081428E4 @ =gMain
|
|
ldr r1, _081428E8 @ =0x0000043c
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x5
|
|
bhi _08142908
|
|
lsls r0, 2
|
|
ldr r1, _081428EC @ =_081428F0
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_081428E4: .4byte gMain
|
|
_081428E8: .4byte 0x0000043c
|
|
_081428EC: .4byte _081428F0
|
|
.align 2, 0
|
|
_081428F0:
|
|
.4byte _08142908
|
|
.4byte _08142928
|
|
.4byte _0814293C
|
|
.4byte _08142980
|
|
.4byte _081429C0
|
|
.4byte _081429EC
|
|
_08142908:
|
|
movs r0, 0
|
|
bl SetVBlankCallback
|
|
bl sub_81433E0
|
|
ldr r0, _08142920 @ =gMain
|
|
ldr r2, _08142924 @ =0x0000043c
|
|
adds r0, r2
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
b _08142A12
|
|
.align 2, 0
|
|
_08142920: .4byte gMain
|
|
_08142924: .4byte 0x0000043c
|
|
_08142928:
|
|
bl sub_8143570
|
|
ldr r1, _08142934 @ =gMain
|
|
ldr r3, _08142938 @ =0x0000043c
|
|
adds r1, r3
|
|
b _081429DC
|
|
.align 2, 0
|
|
_08142934: .4byte gMain
|
|
_08142938: .4byte 0x0000043c
|
|
_0814293C:
|
|
ldr r0, _08142968 @ =sub_8141E38
|
|
bl SetVBlankCallback
|
|
ldr r3, _0814296C @ =0x04000208
|
|
ldrh r2, [r3]
|
|
movs r0, 0
|
|
strh r0, [r3]
|
|
ldr r4, _08142970 @ =0x04000200
|
|
ldrh r0, [r4]
|
|
movs r1, 0x1
|
|
orrs r0, r1
|
|
strh r0, [r4]
|
|
strh r2, [r3]
|
|
ldr r2, _08142974 @ =REG_DISPSTAT
|
|
ldrh r0, [r2]
|
|
movs r1, 0x8
|
|
orrs r0, r1
|
|
strh r0, [r2]
|
|
ldr r1, _08142978 @ =gMain
|
|
ldr r4, _0814297C @ =0x0000043c
|
|
adds r1, r4
|
|
b _081429DC
|
|
.align 2, 0
|
|
_08142968: .4byte sub_8141E38
|
|
_0814296C: .4byte 0x04000208
|
|
_08142970: .4byte 0x04000200
|
|
_08142974: .4byte REG_DISPSTAT
|
|
_08142978: .4byte gMain
|
|
_0814297C: .4byte 0x0000043c
|
|
_08142980:
|
|
ldr r0, _081429AC @ =REG_BLDCNT
|
|
movs r1, 0
|
|
strh r1, [r0]
|
|
adds r0, 0x2
|
|
strh r1, [r0]
|
|
adds r0, 0x2
|
|
strh r1, [r0]
|
|
bl sub_81435B8
|
|
ldr r0, _081429B0 @ =0x0201c000
|
|
adds r2, r0, 0
|
|
ldr r1, _081429B4 @ =gUnknown_0840B57C
|
|
ldm r1!, {r3-r5}
|
|
stm r2!, {r3-r5}
|
|
ldm r1!, {r3,r5}
|
|
stm r2!, {r3,r5}
|
|
bl sub_80C5CD4
|
|
ldr r1, _081429B8 @ =gMain
|
|
ldr r4, _081429BC @ =0x0000043c
|
|
adds r1, r4
|
|
b _081429DC
|
|
.align 2, 0
|
|
_081429AC: .4byte REG_BLDCNT
|
|
_081429B0: .4byte 0x0201c000
|
|
_081429B4: .4byte gUnknown_0840B57C
|
|
_081429B8: .4byte gMain
|
|
_081429BC: .4byte 0x0000043c
|
|
_081429C0:
|
|
bl AnimateSprites
|
|
bl BuildOamBuffer
|
|
bl UpdatePaletteFade
|
|
bl sub_80C5DCC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08142A12
|
|
ldr r1, _081429E4 @ =gMain
|
|
ldr r5, _081429E8 @ =0x0000043c
|
|
adds r1, r5
|
|
_081429DC:
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _08142A12
|
|
.align 2, 0
|
|
_081429E4: .4byte gMain
|
|
_081429E8: .4byte 0x0000043c
|
|
_081429EC:
|
|
ldr r1, _08142A18 @ =REG_BLDCNT
|
|
ldr r2, _08142A1C @ =0x00003f42
|
|
adds r0, r2, 0
|
|
strh r0, [r1]
|
|
adds r1, 0x2
|
|
movs r3, 0xE2
|
|
lsls r3, 3
|
|
adds r0, r3, 0
|
|
strh r0, [r1]
|
|
adds r1, 0x2
|
|
movs r0, 0
|
|
strh r0, [r1]
|
|
ldr r0, _08142A20 @ =sub_8142A28
|
|
movs r1, 0
|
|
bl CreateTask
|
|
ldr r0, _08142A24 @ =sub_8141E4C
|
|
bl SetMainCallback2
|
|
_08142A12:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08142A18: .4byte REG_BLDCNT
|
|
_08142A1C: .4byte 0x00003f42
|
|
_08142A20: .4byte sub_8142A28
|
|
_08142A24: .4byte sub_8141E4C
|
|
thumb_func_end sub_81428CC
|
|
|
|
thumb_func_start sub_8142A28
|
|
sub_8142A28: @ 8142A28
|
|
push {r4-r7,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
movs r0, 0x3
|
|
bl sub_8125EC8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _08142A54
|
|
ldr r0, _08142A4C @ =gTasks
|
|
lsls r1, r5, 2
|
|
adds r1, r5
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _08142A50 @ =sub_8142FEC
|
|
str r0, [r1]
|
|
b _08142AEA
|
|
.align 2, 0
|
|
_08142A4C: .4byte gTasks
|
|
_08142A50: .4byte sub_8142FEC
|
|
_08142A54:
|
|
ldr r2, _08142A8C @ =0x0201e000
|
|
movs r3, 0
|
|
ldrh r1, [r2, 0x8]
|
|
ldr r4, _08142A90 @ =0x000001ff
|
|
adds r0, r4, 0
|
|
ands r0, r1
|
|
ldr r7, _08142A94 @ =gTasks
|
|
lsls r6, r5, 2
|
|
cmp r0, 0
|
|
beq _08142A7E
|
|
_08142A68:
|
|
adds r0, r3, 0x1
|
|
lsls r0, 16
|
|
lsrs r3, r0, 16
|
|
adds r2, 0x78
|
|
cmp r3, 0x31
|
|
bhi _08142A98
|
|
ldrh r1, [r2, 0x8]
|
|
adds r0, r4, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _08142A68
|
|
_08142A7E:
|
|
cmp r3, 0x31
|
|
bhi _08142A98
|
|
adds r0, r6, r5
|
|
lsls r0, 3
|
|
adds r0, r7
|
|
subs r1, r3, 0x1
|
|
b _08142AA0
|
|
.align 2, 0
|
|
_08142A8C: .4byte 0x0201e000
|
|
_08142A90: .4byte 0x000001ff
|
|
_08142A94: .4byte gTasks
|
|
_08142A98:
|
|
adds r0, r6, r5
|
|
lsls r0, 3
|
|
adds r0, r7
|
|
movs r1, 0x31
|
|
_08142AA0:
|
|
strh r1, [r0, 0x8]
|
|
movs r0, 0xA
|
|
bl GetGameStat
|
|
ldr r2, _08142AF0 @ =gTasks
|
|
adds r1, r6, r5
|
|
lsls r1, 3
|
|
adds r1, r2
|
|
strh r0, [r1, 0xA]
|
|
movs r3, 0
|
|
ldr r7, _08142AF4 @ =0x0600381a
|
|
ldr r4, _08142AF8 @ =0x0600385a
|
|
_08142AB8:
|
|
lsls r1, r3, 1
|
|
adds r2, r1, r7
|
|
adds r0, r3, 0x3
|
|
strh r0, [r2]
|
|
adds r1, r4
|
|
adds r0, 0x11
|
|
strh r0, [r1]
|
|
adds r0, r3, 0x1
|
|
lsls r0, 16
|
|
lsrs r3, r0, 16
|
|
cmp r3, 0x10
|
|
bls _08142AB8
|
|
ldr r4, _08142AFC @ =gWindowConfig_81E7198
|
|
adds r0, r4, 0
|
|
bl SetUpWindowConfig
|
|
adds r0, r4, 0
|
|
bl InitMenuWindow
|
|
ldr r1, _08142AF0 @ =gTasks
|
|
adds r0, r6, r5
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _08142B00 @ =sub_8142B04
|
|
str r1, [r0]
|
|
_08142AEA:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08142AF0: .4byte gTasks
|
|
_08142AF4: .4byte 0x0600381a
|
|
_08142AF8: .4byte 0x0600385a
|
|
_08142AFC: .4byte gWindowConfig_81E7198
|
|
_08142B00: .4byte sub_8142B04
|
|
thumb_func_end sub_8142A28
|
|
|
|
thumb_func_start sub_8142B04
|
|
sub_8142B04: @ 8142B04
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x10
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
ldr r3, _08142BB8 @ =0x0201e000
|
|
movs r5, 0
|
|
ldr r1, _08142BBC @ =gTasks
|
|
lsls r0, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
movs r2, 0x8
|
|
ldrsh r0, [r0, r2]
|
|
adds r6, r1, 0
|
|
ldr r2, _08142BC0 @ =gUnknown_0203931C
|
|
cmp r5, r0
|
|
bge _08142B3E
|
|
adds r1, r0, 0
|
|
_08142B32:
|
|
adds r3, 0x78
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
cmp r5, r1
|
|
blt _08142B32
|
|
_08142B3E:
|
|
adds r4, r3, 0
|
|
movs r0, 0
|
|
str r0, [r2]
|
|
mov r5, r8
|
|
lsls r2, r5, 2
|
|
adds r1, r2, r5
|
|
lsls r1, 3
|
|
adds r1, r6
|
|
strh r0, [r1, 0xC]
|
|
strh r0, [r1, 0x10]
|
|
movs r5, 0
|
|
str r2, [sp, 0xC]
|
|
ldr r6, _08142BC4 @ =0x000001ff
|
|
adds r2, r1, 0
|
|
_08142B5A:
|
|
ldrh r1, [r4, 0x8]
|
|
adds r0, r6, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08142B6A
|
|
ldrh r0, [r2, 0x10]
|
|
adds r0, 0x1
|
|
strh r0, [r2, 0x10]
|
|
_08142B6A:
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
adds r4, 0x14
|
|
cmp r5, 0x5
|
|
bls _08142B5A
|
|
adds r4, r3, 0
|
|
movs r5, 0
|
|
ldr r1, _08142BBC @ =gTasks
|
|
ldr r0, [sp, 0xC]
|
|
add r0, r8
|
|
lsls r7, r0, 3
|
|
adds r6, r7, r1
|
|
str r6, [sp, 0x8]
|
|
adds r1, 0x8
|
|
mov r9, r1
|
|
ldr r0, _08142BC8 @ =gUnknown_0840B564
|
|
mov r10, r0
|
|
_08142B8E:
|
|
ldrh r1, [r4, 0x8]
|
|
ldr r2, _08142BC4 @ =0x000001ff
|
|
adds r0, r2, 0
|
|
ands r0, r1
|
|
adds r6, r1, 0
|
|
cmp r0, 0
|
|
beq _08142C30
|
|
ldr r1, [sp, 0x8]
|
|
movs r2, 0x10
|
|
ldrsh r0, [r1, r2]
|
|
cmp r0, 0x3
|
|
ble _08142BD4
|
|
lsls r1, r5, 3
|
|
ldr r0, _08142BCC @ =gUnknown_0840B534
|
|
adds r0, 0x4
|
|
adds r0, r1, r0
|
|
ldrh r3, [r0]
|
|
ldr r0, _08142BD0 @ =gUnknown_0840B534 + 0x6
|
|
adds r1, r0
|
|
b _08142BE2
|
|
.align 2, 0
|
|
_08142BB8: .4byte 0x0201e000
|
|
_08142BBC: .4byte gTasks
|
|
_08142BC0: .4byte gUnknown_0203931C
|
|
_08142BC4: .4byte 0x000001ff
|
|
_08142BC8: .4byte gUnknown_0840B564
|
|
_08142BCC: .4byte gUnknown_0840B534
|
|
_08142BD0: .4byte gUnknown_0840B534 + 0x6
|
|
_08142BD4:
|
|
lsls r1, r5, 3
|
|
mov r0, r10
|
|
adds r0, 0x4
|
|
adds r0, r1, r0
|
|
ldrh r3, [r0]
|
|
ldr r2, _08142C28 @ =gUnknown_0840B564 + 0x6
|
|
adds r1, r2
|
|
_08142BE2:
|
|
ldrh r2, [r1]
|
|
lsls r0, r6, 23
|
|
lsrs r0, 23
|
|
lsls r1, r3, 16
|
|
asrs r1, 16
|
|
lsls r2, 16
|
|
asrs r2, 16
|
|
ldr r3, [r4]
|
|
str r3, [sp]
|
|
ldr r3, [r4, 0x4]
|
|
str r3, [sp, 0x4]
|
|
adds r3, r5, 0
|
|
bl sub_81436BC
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
ldr r2, _08142C2C @ =gSprites
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r1, r2
|
|
ldrb r3, [r1, 0x5]
|
|
movs r6, 0xD
|
|
negs r6, r6
|
|
adds r2, r6, 0
|
|
ands r3, r2
|
|
movs r2, 0x4
|
|
orrs r3, r2
|
|
strb r3, [r1, 0x5]
|
|
adds r1, r5, 0x5
|
|
lsls r1, 1
|
|
adds r1, r7
|
|
add r1, r9
|
|
strh r0, [r1]
|
|
b _08142C3C
|
|
.align 2, 0
|
|
_08142C28: .4byte gUnknown_0840B564 + 0x6
|
|
_08142C2C: .4byte gSprites
|
|
_08142C30:
|
|
adds r0, r5, 0x5
|
|
lsls r0, 1
|
|
adds r0, r7
|
|
add r0, r9
|
|
movs r1, 0xFF
|
|
strh r1, [r0]
|
|
_08142C3C:
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
adds r4, 0x14
|
|
cmp r5, 0x5
|
|
bls _08142B8E
|
|
ldr r0, _08142CB0 @ =0xffff0000
|
|
ldr r2, _08142CB4 @ =0x0000735f
|
|
movs r1, 0xC
|
|
bl BlendPalettes
|
|
ldr r3, _08142CB8 @ =gStringVar1
|
|
ldr r1, _08142CBC @ =gMenuText_HOFNumber
|
|
adds r0, r3, 0
|
|
bl StringCopy
|
|
adds r3, r0, 0
|
|
movs r5, 0xFC
|
|
strb r5, [r3]
|
|
movs r0, 0x14
|
|
strb r0, [r3, 0x1]
|
|
movs r0, 0x6
|
|
strb r0, [r3, 0x2]
|
|
adds r3, 0x3
|
|
ldr r0, _08142CC0 @ =gTasks
|
|
ldr r4, [sp, 0xC]
|
|
add r4, r8
|
|
lsls r4, 3
|
|
adds r4, r0
|
|
movs r0, 0xA
|
|
ldrsh r1, [r4, r0]
|
|
adds r0, r3, 0
|
|
bl ConvertIntToDecimalString
|
|
adds r3, r0, 0
|
|
strb r5, [r3]
|
|
movs r0, 0x13
|
|
strb r0, [r3, 0x1]
|
|
movs r0, 0xF0
|
|
strb r0, [r3, 0x2]
|
|
movs r0, 0xFF
|
|
strb r0, [r3, 0x3]
|
|
ldr r0, _08142CB8 @ =gStringVar1
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl MenuPrint
|
|
ldr r0, _08142CC4 @ =sub_8142CC8
|
|
str r0, [r4]
|
|
add sp, 0x10
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08142CB0: .4byte 0xffff0000
|
|
_08142CB4: .4byte 0x0000735f
|
|
_08142CB8: .4byte gStringVar1
|
|
_08142CBC: .4byte gMenuText_HOFNumber
|
|
_08142CC0: .4byte gTasks
|
|
_08142CC4: .4byte sub_8142CC8
|
|
thumb_func_end sub_8142B04
|
|
|
|
thumb_func_start sub_8142CC8
|
|
sub_8142CC8: @ 8142CC8
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r0, _08142DD0 @ =0x0201e000
|
|
mov r8, r0
|
|
movs r3, 0
|
|
ldr r1, _08142DD4 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
movs r2, 0x8
|
|
ldrsh r0, [r0, r2]
|
|
cmp r3, r0
|
|
bge _08142CFE
|
|
adds r1, r0, 0
|
|
_08142CF0:
|
|
movs r0, 0x78
|
|
add r8, r0
|
|
adds r0, r3, 0x1
|
|
lsls r0, 16
|
|
lsrs r3, r0, 16
|
|
cmp r3, r1
|
|
blt _08142CF0
|
|
_08142CFE:
|
|
movs r3, 0
|
|
lsls r6, r4, 2
|
|
adds r0, r6, r4
|
|
lsls r5, r0, 3
|
|
ldr r1, _08142DD8 @ =gTasks + 0x8
|
|
mov r10, r1
|
|
ldr r2, _08142DDC @ =gSprites
|
|
mov r12, r2
|
|
movs r0, 0xD
|
|
negs r0, r0
|
|
mov r9, r0
|
|
movs r7, 0x4
|
|
_08142D16:
|
|
adds r0, r3, 0x5
|
|
lsls r0, 1
|
|
adds r0, r5
|
|
add r0, r10
|
|
ldrh r1, [r0]
|
|
cmp r1, 0xFF
|
|
beq _08142D36
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
add r0, r12
|
|
ldrb r2, [r0, 0x5]
|
|
mov r1, r9
|
|
ands r1, r2
|
|
orrs r1, r7
|
|
strb r1, [r0, 0x5]
|
|
_08142D36:
|
|
adds r0, r3, 0x1
|
|
lsls r0, 16
|
|
lsrs r3, r0, 16
|
|
cmp r3, 0x5
|
|
bls _08142D16
|
|
adds r1, r6, r4
|
|
lsls r1, 3
|
|
ldr r2, _08142DD4 @ =gTasks
|
|
adds r5, r1, r2
|
|
movs r2, 0xC
|
|
ldrsh r0, [r5, r2]
|
|
adds r0, 0x5
|
|
lsls r0, 1
|
|
adds r0, r1
|
|
ldr r1, _08142DD4 @ =gTasks
|
|
adds r1, 0x8
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, _08142DDC @ =gSprites
|
|
adds r0, r1
|
|
ldrb r2, [r0, 0x5]
|
|
movs r1, 0xD
|
|
negs r1, r1
|
|
ands r1, r2
|
|
strb r1, [r0, 0x5]
|
|
lsrs r1, 4
|
|
movs r0, 0x80
|
|
lsls r0, 9
|
|
lsls r0, r1
|
|
ldr r1, _08142DE0 @ =0xffff0000
|
|
eors r0, r1
|
|
ldr r2, _08142DE4 @ =gUnknown_0203931C
|
|
str r0, [r2]
|
|
ldr r2, _08142DE8 @ =0x0000735f
|
|
movs r1, 0xC
|
|
bl BlendPalettesUnfaded
|
|
movs r0, 0xC
|
|
ldrsh r1, [r5, r0]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
mov r1, r8
|
|
adds r4, r1, r0
|
|
ldrh r1, [r4, 0x8]
|
|
ldr r0, _08142DEC @ =0x000001ff
|
|
ands r0, r1
|
|
movs r1, 0xCE
|
|
lsls r1, 1
|
|
cmp r0, r1
|
|
beq _08142DB2
|
|
bl StopCryAndClearCrySongs
|
|
ldrh r0, [r4, 0x8]
|
|
lsls r0, 23
|
|
lsrs r0, 23
|
|
movs r1, 0
|
|
bl PlayCry1
|
|
_08142DB2:
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
movs r2, 0xE
|
|
bl sub_8143088
|
|
ldr r0, _08142DF0 @ =sub_8142DF4
|
|
str r0, [r5]
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08142DD0: .4byte 0x0201e000
|
|
_08142DD4: .4byte gTasks
|
|
_08142DD8: .4byte gTasks + 0x8
|
|
_08142DDC: .4byte gSprites
|
|
_08142DE0: .4byte 0xffff0000
|
|
_08142DE4: .4byte gUnknown_0203931C
|
|
_08142DE8: .4byte 0x0000735f
|
|
_08142DEC: .4byte 0x000001ff
|
|
_08142DF0: .4byte sub_8142DF4
|
|
thumb_func_end sub_8142CC8
|
|
|
|
thumb_func_start sub_8142DF4
|
|
sub_8142DF4: @ 8142DF4
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
ldr r1, _08142E88 @ =gMain
|
|
ldrh r2, [r1, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r2
|
|
adds r3, r1, 0
|
|
cmp r0, 0
|
|
beq _08142EC4
|
|
ldr r7, _08142E8C @ =gTasks
|
|
lsls r0, r6, 2
|
|
adds r1, r0, r6
|
|
lsls r3, r1, 3
|
|
adds r4, r3, r7
|
|
ldrh r2, [r4, 0x8]
|
|
movs r5, 0x8
|
|
ldrsh r1, [r4, r5]
|
|
mov r8, r0
|
|
cmp r1, 0
|
|
beq _08142E98
|
|
subs r0, r2, 0x1
|
|
strh r0, [r4, 0x8]
|
|
movs r5, 0
|
|
adds r7, 0x8
|
|
mov r9, r7
|
|
adds r7, r3, 0
|
|
_08142E30:
|
|
adds r0, r5, 0x5
|
|
lsls r0, 1
|
|
adds r0, r7
|
|
add r0, r9
|
|
ldrb r1, [r0]
|
|
cmp r1, 0xFF
|
|
beq _08142E5E
|
|
ldr r0, _08142E90 @ =gSprites
|
|
lsls r4, r1, 4
|
|
adds r4, r1
|
|
lsls r4, 2
|
|
adds r4, r0
|
|
ldrb r0, [r4, 0x5]
|
|
lsrs r0, 4
|
|
bl GetSpritePaletteTagByPaletteNum
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
bl FreeSpritePaletteByTag
|
|
adds r0, r4, 0
|
|
bl DestroySprite
|
|
_08142E5E:
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
cmp r5, 0x5
|
|
bls _08142E30
|
|
ldr r0, _08142E8C @ =gTasks
|
|
mov r2, r8
|
|
adds r1, r2, r6
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldrh r2, [r1, 0xA]
|
|
movs r3, 0xA
|
|
ldrsh r0, [r1, r3]
|
|
cmp r0, 0
|
|
beq _08142E80
|
|
subs r0, r2, 0x1
|
|
strh r0, [r1, 0xA]
|
|
_08142E80:
|
|
ldr r0, _08142E94 @ =sub_8142B04
|
|
str r0, [r1]
|
|
b _08142F64
|
|
.align 2, 0
|
|
_08142E88: .4byte gMain
|
|
_08142E8C: .4byte gTasks
|
|
_08142E90: .4byte gSprites
|
|
_08142E94: .4byte sub_8142B04
|
|
_08142E98:
|
|
bl IsCryPlayingOrClearCrySongs
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08142EB2
|
|
bl StopCryAndClearCrySongs
|
|
ldr r0, _08142EB8 @ =gMPlay_BGM
|
|
ldr r1, _08142EBC @ =0x0000ffff
|
|
movs r2, 0x80
|
|
lsls r2, 1
|
|
bl m4aMPlayVolumeControl
|
|
_08142EB2:
|
|
ldr r0, _08142EC0 @ =sub_8142F78
|
|
str r0, [r4]
|
|
b _08142F64
|
|
.align 2, 0
|
|
_08142EB8: .4byte gMPlay_BGM
|
|
_08142EBC: .4byte 0x0000ffff
|
|
_08142EC0: .4byte sub_8142F78
|
|
_08142EC4:
|
|
movs r0, 0x2
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
beq _08142F08
|
|
bl IsCryPlayingOrClearCrySongs
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08142EE6
|
|
bl StopCryAndClearCrySongs
|
|
ldr r0, _08142EF8 @ =gMPlay_BGM
|
|
ldr r1, _08142EFC @ =0x0000ffff
|
|
movs r2, 0x80
|
|
lsls r2, 1
|
|
bl m4aMPlayVolumeControl
|
|
_08142EE6:
|
|
ldr r0, _08142F00 @ =gTasks
|
|
lsls r1, r6, 2
|
|
adds r1, r6
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _08142F04 @ =sub_8142F78
|
|
str r0, [r1]
|
|
b _08142F64
|
|
.align 2, 0
|
|
_08142EF8: .4byte gMPlay_BGM
|
|
_08142EFC: .4byte 0x0000ffff
|
|
_08142F00: .4byte gTasks
|
|
_08142F04: .4byte sub_8142F78
|
|
_08142F08:
|
|
movs r0, 0x40
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
beq _08142F38
|
|
ldr r0, _08142F30 @ =gTasks
|
|
lsls r1, r6, 2
|
|
adds r1, r6
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldrh r2, [r1, 0xC]
|
|
movs r4, 0xC
|
|
ldrsh r0, [r1, r4]
|
|
cmp r0, 0
|
|
beq _08142F38
|
|
subs r0, r2, 0x1
|
|
strh r0, [r1, 0xC]
|
|
ldr r0, _08142F34 @ =sub_8142CC8
|
|
str r0, [r1]
|
|
b _08142F64
|
|
.align 2, 0
|
|
_08142F30: .4byte gTasks
|
|
_08142F34: .4byte sub_8142CC8
|
|
_08142F38:
|
|
ldrh r1, [r3, 0x2E]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08142F64
|
|
ldr r1, _08142F70 @ =gTasks
|
|
lsls r0, r6, 2
|
|
adds r0, r6
|
|
lsls r0, 3
|
|
adds r2, r0, r1
|
|
movs r5, 0xC
|
|
ldrsh r1, [r2, r5]
|
|
movs r3, 0x10
|
|
ldrsh r0, [r2, r3]
|
|
subs r0, 0x1
|
|
cmp r1, r0
|
|
bge _08142F64
|
|
ldrh r0, [r2, 0xC]
|
|
adds r0, 0x1
|
|
strh r0, [r2, 0xC]
|
|
ldr r0, _08142F74 @ =sub_8142CC8
|
|
str r0, [r2]
|
|
_08142F64:
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08142F70: .4byte gTasks
|
|
_08142F74: .4byte sub_8142CC8
|
|
thumb_func_end sub_8142DF4
|
|
|
|
thumb_func_start sub_8142F78
|
|
sub_8142F78: @ 8142F78
|
|
push {r4-r6,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r0, _08142FB4 @ =gPlttBufferFaded
|
|
ldr r1, _08142FB8 @ =gPlttBufferUnfaded
|
|
movs r2, 0x80
|
|
lsls r2, 2
|
|
bl CpuSet
|
|
ldr r0, _08142FBC @ =0x0201c000
|
|
adds r2, r0, 0
|
|
ldr r1, _08142FC0 @ =gUnknown_0840B57C
|
|
ldm r1!, {r3,r5,r6}
|
|
stm r2!, {r3,r5,r6}
|
|
ldm r1!, {r3,r5}
|
|
stm r2!, {r3,r5}
|
|
bl sub_80C5E38
|
|
ldr r1, _08142FC4 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _08142FC8 @ =sub_8142FCC
|
|
str r1, [r0]
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08142FB4: .4byte gPlttBufferFaded
|
|
_08142FB8: .4byte gPlttBufferUnfaded
|
|
_08142FBC: .4byte 0x0201c000
|
|
_08142FC0: .4byte gUnknown_0840B57C
|
|
_08142FC4: .4byte gTasks
|
|
_08142FC8: .4byte sub_8142FCC
|
|
thumb_func_end sub_8142F78
|
|
|
|
thumb_func_start sub_8142FCC
|
|
sub_8142FCC: @ 8142FCC
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
bl sub_80C5F98
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08142FE6
|
|
adds r0, r4, 0
|
|
bl DestroyTask
|
|
bl ReturnFromHallOfFamePC
|
|
_08142FE6:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8142FCC
|
|
|
|
thumb_func_start sub_8142FEC
|
|
sub_8142FEC: @ 8142FEC
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r0, 0x2
|
|
movs r1, 0xE
|
|
movs r2, 0x1B
|
|
movs r3, 0x13
|
|
bl MenuDrawTextWindow
|
|
ldr r0, _08143020 @ =gMenuText_HOFCorrupt
|
|
movs r1, 0x3
|
|
movs r2, 0xF
|
|
bl MenuPrintMessage
|
|
ldr r1, _08143024 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _08143028 @ =sub_814302C
|
|
str r1, [r0]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08143020: .4byte gMenuText_HOFCorrupt
|
|
_08143024: .4byte gTasks
|
|
_08143028: .4byte sub_814302C
|
|
thumb_func_end sub_8142FEC
|
|
|
|
thumb_func_start sub_814302C
|
|
sub_814302C: @ 814302C
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
bl MenuUpdateWindowText
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08143056
|
|
ldr r0, _0814305C @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08143056
|
|
ldr r0, _08143060 @ =gTasks
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _08143064 @ =sub_8142F78
|
|
str r0, [r1]
|
|
_08143056:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0814305C: .4byte gMain
|
|
_08143060: .4byte gTasks
|
|
_08143064: .4byte sub_8142F78
|
|
thumb_func_end sub_814302C
|
|
|
|
thumb_func_start sub_8143068
|
|
sub_8143068: @ 8143068
|
|
push {lr}
|
|
lsls r2, r1, 24
|
|
ldr r0, _08143084 @ =gMenuText_WelcomeToHOFAndDexRating
|
|
movs r1, 0x80
|
|
lsls r1, 17
|
|
adds r2, r1
|
|
lsrs r2, 24
|
|
movs r1, 0
|
|
movs r3, 0xF0
|
|
bl sub_8072BD8
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08143084: .4byte gMenuText_WelcomeToHOFAndDexRating
|
|
thumb_func_end sub_8143068
|
|
|
|
thumb_func_start sub_8143088
|
|
sub_8143088: @ 8143088
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x14
|
|
mov r9, r0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
mov r8, r1
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
mov r10, r2
|
|
ldr r7, _08143188 @ =gStringVar1
|
|
movs r0, 0xFC
|
|
strb r0, [r7]
|
|
movs r0, 0x13
|
|
strb r0, [r7, 0x1]
|
|
movs r0, 0x28
|
|
strb r0, [r7, 0x2]
|
|
movs r0, 0xFF
|
|
strb r0, [r7, 0x3]
|
|
mov r0, r9
|
|
ldrh r2, [r0, 0x8]
|
|
ldr r0, _0814318C @ =0x000001ff
|
|
ands r0, r2
|
|
movs r1, 0xCE
|
|
lsls r1, 1
|
|
cmp r0, r1
|
|
beq _081430EA
|
|
lsls r0, r2, 23
|
|
lsrs r0, 23
|
|
bl SpeciesToPokedexNum
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
ldr r0, _08143190 @ =0x0000ffff
|
|
cmp r6, r0
|
|
beq _081430EA
|
|
ldr r1, _08143194 @ =gOtherText_Number2
|
|
adds r0, r7, 0
|
|
bl StringCopy
|
|
adds r7, r0, 0
|
|
adds r1, r6, 0
|
|
movs r2, 0x2
|
|
movs r3, 0x3
|
|
bl ConvertIntToDecimalStringN
|
|
_081430EA:
|
|
ldr r5, _08143188 @ =gStringVar1
|
|
mov r1, r8
|
|
adds r1, 0x4
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
mov r4, r10
|
|
adds r4, 0x1
|
|
lsls r2, r4, 24
|
|
lsrs r2, 24
|
|
adds r0, r5, 0
|
|
bl MenuPrint
|
|
adds r7, r5, 0
|
|
movs r3, 0
|
|
mov r1, r9
|
|
ldrb r0, [r1, 0xA]
|
|
str r4, [sp]
|
|
mov r2, r8
|
|
adds r2, 0x9
|
|
str r2, [sp, 0xC]
|
|
mov r6, r10
|
|
adds r6, 0x3
|
|
str r6, [sp, 0x8]
|
|
cmp r0, 0xFF
|
|
beq _0814313A
|
|
mov r2, r9
|
|
adds r2, 0xA
|
|
_08143120:
|
|
adds r1, r7, r3
|
|
adds r0, r2, r3
|
|
ldrb r0, [r0]
|
|
strb r0, [r1]
|
|
adds r0, r3, 0x1
|
|
lsls r0, 16
|
|
lsrs r3, r0, 16
|
|
cmp r3, 0x9
|
|
bhi _0814313A
|
|
adds r0, r2, r3
|
|
ldrb r0, [r0]
|
|
cmp r0, 0xFF
|
|
bne _08143120
|
|
_0814313A:
|
|
adds r7, r3
|
|
movs r2, 0xFF
|
|
strb r2, [r7]
|
|
mov r1, r9
|
|
ldrh r0, [r1, 0x8]
|
|
ldr r1, _0814318C @ =0x000001ff
|
|
ands r1, r0
|
|
movs r0, 0xCE
|
|
lsls r0, 1
|
|
cmp r1, r0
|
|
bne _08143198
|
|
movs r0, 0xFC
|
|
strb r0, [r7]
|
|
movs r0, 0x13
|
|
strb r0, [r7, 0x1]
|
|
movs r0, 0xA0
|
|
strb r0, [r7, 0x2]
|
|
strb r2, [r7, 0x3]
|
|
ldr r0, _08143188 @ =gStringVar1
|
|
ldr r2, [sp, 0xC]
|
|
lsls r1, r2, 24
|
|
lsrs r1, 24
|
|
ldr r3, [sp]
|
|
lsls r2, r3, 24
|
|
lsrs r2, 24
|
|
bl MenuPrint
|
|
ldr r6, [sp, 0x8]
|
|
lsls r1, r6, 24
|
|
lsrs r1, 24
|
|
mov r3, r10
|
|
adds r3, 0x4
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
movs r0, 0
|
|
movs r2, 0x1D
|
|
bl MenuZeroFillWindowRect
|
|
b _081432E4
|
|
.align 2, 0
|
|
_08143188: .4byte gStringVar1
|
|
_0814318C: .4byte 0x000001ff
|
|
_08143190: .4byte 0x0000ffff
|
|
_08143194: .4byte gOtherText_Number2
|
|
_08143198:
|
|
movs r0, 0xFC
|
|
strb r0, [r7]
|
|
movs r0, 0x13
|
|
strb r0, [r7, 0x1]
|
|
movs r0, 0x3E
|
|
strb r0, [r7, 0x2]
|
|
adds r7, 0x3
|
|
movs r0, 0xBA
|
|
strb r0, [r7]
|
|
adds r7, 0x1
|
|
movs r3, 0
|
|
ldr r2, _08143238 @ =gSpeciesNames
|
|
mov r1, r9
|
|
ldrh r0, [r1, 0x8]
|
|
lsls r0, 23
|
|
lsrs r0, 23
|
|
movs r1, 0xB
|
|
muls r0, r1
|
|
adds r0, r2
|
|
ldrb r0, [r0]
|
|
mov r6, r8
|
|
adds r6, 0x7
|
|
str r6, [sp, 0x4]
|
|
mov r1, r8
|
|
adds r1, 0xD
|
|
str r1, [sp, 0x10]
|
|
cmp r0, 0xFF
|
|
beq _08143204
|
|
adds r5, r2, 0
|
|
movs r4, 0xB
|
|
_081431D4:
|
|
adds r1, r7, r3
|
|
mov r6, r9
|
|
ldrh r0, [r6, 0x8]
|
|
lsls r0, 23
|
|
lsrs r0, 23
|
|
muls r0, r4
|
|
adds r0, r3, r0
|
|
adds r0, r5
|
|
ldrb r0, [r0]
|
|
strb r0, [r1]
|
|
adds r0, r3, 0x1
|
|
lsls r0, 16
|
|
lsrs r3, r0, 16
|
|
cmp r3, 0x9
|
|
bhi _08143204
|
|
ldrh r0, [r6, 0x8]
|
|
lsls r0, 23
|
|
lsrs r0, 23
|
|
muls r0, r4
|
|
adds r0, r3, r0
|
|
adds r0, r2
|
|
ldrb r0, [r0]
|
|
cmp r0, 0xFF
|
|
bne _081431D4
|
|
_08143204:
|
|
adds r7, r3
|
|
movs r0, 0
|
|
strb r0, [r7]
|
|
adds r7, 0x1
|
|
mov r1, r9
|
|
ldrh r0, [r1, 0x8]
|
|
ldr r1, _0814323C @ =0x000001ff
|
|
ands r1, r0
|
|
cmp r1, 0x20
|
|
beq _0814324A
|
|
cmp r1, 0x1D
|
|
beq _0814324A
|
|
lsls r0, 23
|
|
lsrs r0, 23
|
|
mov r2, r9
|
|
ldr r1, [r2, 0x4]
|
|
bl GetGenderFromSpeciesAndPersonality
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0
|
|
beq _08143240
|
|
cmp r0, 0xFE
|
|
beq _08143244
|
|
b _0814324A
|
|
.align 2, 0
|
|
_08143238: .4byte gSpeciesNames
|
|
_0814323C: .4byte 0x000001ff
|
|
_08143240:
|
|
movs r0, 0xB5
|
|
b _08143246
|
|
_08143244:
|
|
movs r0, 0xB6
|
|
_08143246:
|
|
strb r0, [r7]
|
|
adds r7, 0x1
|
|
_0814324A:
|
|
movs r4, 0xFC
|
|
strb r4, [r7]
|
|
movs r3, 0x13
|
|
mov r8, r3
|
|
strb r3, [r7, 0x1]
|
|
movs r0, 0xA0
|
|
strb r0, [r7, 0x2]
|
|
movs r6, 0xFF
|
|
mov r10, r6
|
|
strb r6, [r7, 0x3]
|
|
ldr r5, _081432F4 @ =gStringVar1
|
|
ldr r0, [sp, 0xC]
|
|
lsls r1, r0, 24
|
|
lsrs r1, 24
|
|
ldr r3, [sp]
|
|
lsls r2, r3, 24
|
|
lsrs r2, 24
|
|
adds r0, r5, 0
|
|
bl MenuPrint
|
|
mov r6, r9
|
|
ldrb r0, [r6, 0x9]
|
|
lsrs r6, r0, 1
|
|
ldr r1, _081432F8 @ =gOtherText_Level3
|
|
adds r0, r5, 0
|
|
bl StringCopy
|
|
adds r7, r0, 0
|
|
strb r4, [r7]
|
|
movs r0, 0x14
|
|
strb r0, [r7, 0x1]
|
|
movs r0, 0x6
|
|
strb r0, [r7, 0x2]
|
|
adds r7, 0x3
|
|
adds r0, r7, 0
|
|
adds r1, r6, 0
|
|
movs r2, 0
|
|
movs r3, 0x3
|
|
bl ConvertIntToDecimalStringN
|
|
adds r7, r0, 0
|
|
strb r4, [r7]
|
|
mov r0, r8
|
|
strb r0, [r7, 0x1]
|
|
movs r0, 0x30
|
|
strb r0, [r7, 0x2]
|
|
mov r1, r10
|
|
strb r1, [r7, 0x3]
|
|
ldr r2, [sp, 0x4]
|
|
lsls r1, r2, 24
|
|
lsrs r1, 24
|
|
ldr r3, [sp, 0x8]
|
|
lsls r4, r3, 24
|
|
lsrs r4, 24
|
|
adds r0, r5, 0
|
|
adds r2, r4, 0
|
|
bl MenuPrint
|
|
mov r0, r9
|
|
ldrh r6, [r0]
|
|
ldr r1, _081432FC @ =gOtherText_IDNumber
|
|
adds r0, r5, 0
|
|
bl StringCopy
|
|
adds r7, r0, 0
|
|
adds r1, r6, 0
|
|
movs r2, 0x2
|
|
movs r3, 0x5
|
|
bl ConvertIntToDecimalStringN
|
|
ldr r2, [sp, 0x10]
|
|
lsls r1, r2, 24
|
|
lsrs r1, 24
|
|
adds r0, r5, 0
|
|
adds r2, r4, 0
|
|
bl MenuPrint
|
|
_081432E4:
|
|
add sp, 0x14
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081432F4: .4byte gStringVar1
|
|
_081432F8: .4byte gOtherText_Level3
|
|
_081432FC: .4byte gOtherText_IDNumber
|
|
thumb_func_end sub_8143088
|
|
|
|
thumb_func_start sub_8143300
|
|
sub_8143300: @ 8143300
|
|
push {r4-r6,lr}
|
|
mov r6, r10
|
|
mov r5, r9
|
|
mov r4, r8
|
|
push {r4-r6}
|
|
adds r5, r0, 0
|
|
adds r4, r1, 0
|
|
lsls r5, 24
|
|
lsls r4, 24
|
|
ldr r0, _081433CC @ =gOtherText_Name
|
|
lsrs r1, r5, 24
|
|
mov r8, r1
|
|
movs r2, 0x80
|
|
lsls r2, 17
|
|
adds r5, r2
|
|
lsrs r5, 24
|
|
lsrs r6, r4, 24
|
|
adds r4, r2
|
|
lsrs r4, 24
|
|
adds r1, r5, 0
|
|
adds r2, r4, 0
|
|
bl MenuPrint
|
|
ldr r0, _081433D0 @ =gSaveBlock2
|
|
mov r10, r0
|
|
movs r1, 0xE
|
|
add r8, r1
|
|
mov r2, r8
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
mov r8, r2
|
|
mov r1, r8
|
|
adds r2, r4, 0
|
|
bl MenuPrint_RightAligned
|
|
ldr r0, _081433D4 @ =gOtherText_IDNumber2
|
|
adds r4, r6, 0x3
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r1, r5, 0
|
|
adds r2, r4, 0
|
|
bl MenuPrint
|
|
mov r0, r10
|
|
ldrb r1, [r0, 0xA]
|
|
ldrb r0, [r0, 0xB]
|
|
lsls r0, 8
|
|
orrs r1, r0
|
|
ldr r2, _081433D8 @ =gStringVar1
|
|
mov r9, r2
|
|
mov r0, r9
|
|
movs r2, 0x2
|
|
movs r3, 0x5
|
|
bl ConvertIntToDecimalStringN
|
|
mov r0, r9
|
|
mov r1, r8
|
|
adds r2, r4, 0
|
|
bl MenuPrint_RightAligned
|
|
ldr r0, _081433DC @ =gMainMenuString_Time
|
|
adds r6, 0x5
|
|
lsls r6, 24
|
|
lsrs r6, 24
|
|
adds r1, r5, 0
|
|
adds r2, r6, 0
|
|
bl MenuPrint
|
|
mov r0, r10
|
|
ldrh r1, [r0, 0xE]
|
|
mov r0, r9
|
|
bl ConvertIntToDecimalString
|
|
adds r2, r0, 0
|
|
movs r1, 0
|
|
strb r1, [r2]
|
|
movs r0, 0xF0
|
|
strb r0, [r2, 0x1]
|
|
strb r1, [r2, 0x2]
|
|
adds r2, 0x3
|
|
mov r0, r10
|
|
ldrb r1, [r0, 0x10]
|
|
adds r0, r2, 0
|
|
movs r2, 0x2
|
|
movs r3, 0x2
|
|
bl ConvertIntToDecimalStringN
|
|
adds r2, r0, 0
|
|
movs r0, 0xFF
|
|
strb r0, [r2]
|
|
mov r0, r9
|
|
mov r1, r8
|
|
adds r2, r6, 0
|
|
bl MenuPrint_RightAligned
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081433CC: .4byte gOtherText_Name
|
|
_081433D0: .4byte gSaveBlock2
|
|
_081433D4: .4byte gOtherText_IDNumber2
|
|
_081433D8: .4byte gStringVar1
|
|
_081433DC: .4byte gMainMenuString_Time
|
|
thumb_func_end sub_8143300
|
|
|
|
thumb_func_start sub_81433E0
|
|
sub_81433E0: @ 81433E0
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
sub sp, 0x8
|
|
movs r0, 0x80
|
|
lsls r0, 19
|
|
movs r1, 0
|
|
strh r1, [r0]
|
|
adds r0, 0x8
|
|
strh r1, [r0]
|
|
adds r0, 0x8
|
|
strh r1, [r0]
|
|
adds r0, 0x2
|
|
strh r1, [r0]
|
|
subs r0, 0x8
|
|
strh r1, [r0]
|
|
adds r0, 0xA
|
|
strh r1, [r0]
|
|
adds r0, 0x2
|
|
strh r1, [r0]
|
|
subs r0, 0xA
|
|
strh r1, [r0]
|
|
adds r0, 0xC
|
|
strh r1, [r0]
|
|
adds r0, 0x2
|
|
strh r1, [r0]
|
|
subs r0, 0xC
|
|
strh r1, [r0]
|
|
adds r0, 0xE
|
|
strh r1, [r0]
|
|
adds r0, 0x2
|
|
strh r1, [r0]
|
|
movs r3, 0xC0
|
|
lsls r3, 19
|
|
movs r4, 0xC0
|
|
lsls r4, 9
|
|
add r0, sp, 0x4
|
|
mov r8, r0
|
|
ldr r1, _0814354C @ =gHallOfFame_Gfx
|
|
mov r9, r1
|
|
mov r2, sp
|
|
movs r6, 0
|
|
ldr r1, _08143550 @ =0x040000d4
|
|
movs r5, 0x80
|
|
lsls r5, 5
|
|
ldr r7, _08143554 @ =0x81000800
|
|
movs r0, 0x81
|
|
lsls r0, 24
|
|
mov r12, r0
|
|
_08143444:
|
|
strh r6, [r2]
|
|
mov r0, sp
|
|
str r0, [r1]
|
|
str r3, [r1, 0x4]
|
|
str r7, [r1, 0x8]
|
|
ldr r0, [r1, 0x8]
|
|
adds r3, r5
|
|
subs r4, r5
|
|
cmp r4, r5
|
|
bhi _08143444
|
|
strh r6, [r2]
|
|
mov r2, sp
|
|
str r2, [r1]
|
|
str r3, [r1, 0x4]
|
|
lsrs r0, r4, 1
|
|
mov r2, r12
|
|
orrs r0, r2
|
|
str r0, [r1, 0x8]
|
|
ldr r0, [r1, 0x8]
|
|
movs r0, 0xE0
|
|
lsls r0, 19
|
|
movs r3, 0x80
|
|
lsls r3, 3
|
|
movs r4, 0
|
|
str r4, [sp, 0x4]
|
|
ldr r2, _08143550 @ =0x040000d4
|
|
mov r1, r8
|
|
str r1, [r2]
|
|
str r0, [r2, 0x4]
|
|
lsrs r0, r3, 2
|
|
movs r1, 0x85
|
|
lsls r1, 24
|
|
orrs r0, r1
|
|
str r0, [r2, 0x8]
|
|
ldr r0, [r2, 0x8]
|
|
movs r1, 0xA0
|
|
lsls r1, 19
|
|
mov r0, sp
|
|
strh r4, [r0]
|
|
str r0, [r2]
|
|
str r1, [r2, 0x4]
|
|
lsrs r3, 1
|
|
movs r0, 0x81
|
|
lsls r0, 24
|
|
orrs r3, r0
|
|
str r3, [r2, 0x8]
|
|
ldr r0, [r2, 0x8]
|
|
movs r1, 0xC0
|
|
lsls r1, 19
|
|
mov r0, r9
|
|
bl LZ77UnCompVram
|
|
movs r1, 0
|
|
ldr r3, _08143558 @ =0x06003800
|
|
movs r2, 0x1
|
|
_081434B2:
|
|
lsls r0, r1, 1
|
|
adds r0, r3
|
|
strh r2, [r0]
|
|
adds r0, r1, 0x1
|
|
lsls r0, 16
|
|
lsrs r1, r0, 16
|
|
cmp r1, 0x3F
|
|
bls _081434B2
|
|
movs r1, 0
|
|
ldr r5, _0814355C @ =0x02000000
|
|
ldr r3, _08143560 @ =0x06003b80
|
|
movs r2, 0x1
|
|
_081434CA:
|
|
lsls r0, r1, 1
|
|
adds r0, r3
|
|
strh r2, [r0]
|
|
adds r0, r1, 0x1
|
|
lsls r0, 16
|
|
lsrs r1, r0, 16
|
|
cmp r1, 0xBF
|
|
bls _081434CA
|
|
movs r1, 0
|
|
ldr r4, _08143564 @ =0x06003000
|
|
movs r3, 0x2
|
|
ldr r2, _08143568 @ =0x000003ff
|
|
_081434E2:
|
|
lsls r0, r1, 1
|
|
adds r0, r4
|
|
strh r3, [r0]
|
|
adds r0, r1, 0x1
|
|
lsls r0, 16
|
|
lsrs r1, r0, 16
|
|
cmp r1, r2
|
|
bls _081434E2
|
|
adds r2, r5, 0
|
|
movs r3, 0x80
|
|
lsls r3, 7
|
|
mov r4, sp
|
|
movs r6, 0
|
|
ldr r1, _08143550 @ =0x040000d4
|
|
movs r5, 0x80
|
|
lsls r5, 5
|
|
ldr r7, _08143554 @ =0x81000800
|
|
movs r0, 0x81
|
|
lsls r0, 24
|
|
mov r12, r0
|
|
_0814350A:
|
|
strh r6, [r4]
|
|
mov r0, sp
|
|
str r0, [r1]
|
|
str r2, [r1, 0x4]
|
|
str r7, [r1, 0x8]
|
|
ldr r0, [r1, 0x8]
|
|
adds r2, r5
|
|
subs r3, r5
|
|
cmp r3, r5
|
|
bhi _0814350A
|
|
strh r6, [r4]
|
|
mov r0, sp
|
|
str r0, [r1]
|
|
str r2, [r1, 0x4]
|
|
lsrs r0, r3, 1
|
|
mov r2, r12
|
|
orrs r0, r2
|
|
str r0, [r1, 0x8]
|
|
ldr r0, [r1, 0x8]
|
|
bl ResetPaletteFade
|
|
ldr r0, _0814356C @ =gHallOfFame_Pal
|
|
movs r1, 0
|
|
movs r2, 0x20
|
|
bl LoadPalette
|
|
add sp, 0x8
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0814354C: .4byte gHallOfFame_Gfx
|
|
_08143550: .4byte 0x040000d4
|
|
_08143554: .4byte 0x81000800
|
|
_08143558: .4byte 0x06003800
|
|
_0814355C: .4byte 0x02000000
|
|
_08143560: .4byte 0x06003b80
|
|
_08143564: .4byte 0x06003000
|
|
_08143568: .4byte 0x000003ff
|
|
_0814356C: .4byte gHallOfFame_Pal
|
|
thumb_func_end sub_81433E0
|
|
|
|
thumb_func_start sub_8143570
|
|
sub_8143570: @ 8143570
|
|
push {r4,lr}
|
|
bl remove_some_task
|
|
bl ResetTasks
|
|
bl ResetSpriteData
|
|
bl FreeAllSpritePalettes
|
|
ldr r1, _081435A8 @ =gReservedSpritePaletteCount
|
|
movs r0, 0x8
|
|
strb r0, [r1]
|
|
ldr r0, _081435AC @ =gUnknown_0840B514
|
|
bl LoadCompressedObjectPic
|
|
ldr r0, _081435B0 @ =gUnknown_0840B524
|
|
bl LoadCompressedObjectPalette
|
|
ldr r4, _081435B4 @ =gWindowConfig_81E71B4
|
|
adds r0, r4, 0
|
|
bl SetUpWindowConfig
|
|
adds r0, r4, 0
|
|
bl InitMenuWindow
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081435A8: .4byte gReservedSpritePaletteCount
|
|
_081435AC: .4byte gUnknown_0840B514
|
|
_081435B0: .4byte gUnknown_0840B524
|
|
_081435B4: .4byte gWindowConfig_81E71B4
|
|
thumb_func_end sub_8143570
|
|
|
|
thumb_func_start sub_81435B8
|
|
sub_81435B8: @ 81435B8
|
|
ldr r1, _081435D8 @ =REG_BG1CNT
|
|
movs r2, 0xE0
|
|
lsls r2, 3
|
|
adds r0, r2, 0
|
|
strh r0, [r1]
|
|
adds r1, 0x4
|
|
subs r2, 0xFD
|
|
adds r0, r2, 0
|
|
strh r0, [r1]
|
|
subs r1, 0xE
|
|
movs r2, 0xDA
|
|
lsls r2, 5
|
|
adds r0, r2, 0
|
|
strh r0, [r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_081435D8: .4byte REG_BG1CNT
|
|
thumb_func_end sub_81435B8
|
|
|
|
thumb_func_start sub_81435DC
|
|
sub_81435DC: @ 81435DC
|
|
push {r4,lr}
|
|
adds r2, r0, 0
|
|
ldr r1, [r2, 0x20]
|
|
ldr r0, [r2, 0x30]
|
|
cmp r1, r0
|
|
beq _08143632
|
|
ldrh r3, [r2, 0x20]
|
|
movs r1, 0x20
|
|
ldrsh r0, [r2, r1]
|
|
movs r4, 0x30
|
|
ldrsh r1, [r2, r4]
|
|
cmp r0, r1
|
|
bge _081435FC
|
|
adds r0, r3, 0
|
|
adds r0, 0xF
|
|
strh r0, [r2, 0x20]
|
|
_081435FC:
|
|
ldrh r3, [r2, 0x20]
|
|
movs r4, 0x20
|
|
ldrsh r0, [r2, r4]
|
|
cmp r0, r1
|
|
ble _0814360C
|
|
adds r0, r3, 0
|
|
subs r0, 0xF
|
|
strh r0, [r2, 0x20]
|
|
_0814360C:
|
|
ldrh r3, [r2, 0x22]
|
|
movs r1, 0x22
|
|
ldrsh r0, [r2, r1]
|
|
movs r4, 0x32
|
|
ldrsh r1, [r2, r4]
|
|
cmp r0, r1
|
|
bge _08143620
|
|
adds r0, r3, 0
|
|
adds r0, 0xA
|
|
strh r0, [r2, 0x22]
|
|
_08143620:
|
|
ldrh r3, [r2, 0x22]
|
|
movs r4, 0x22
|
|
ldrsh r0, [r2, r4]
|
|
cmp r0, r1
|
|
ble _0814363A
|
|
adds r0, r3, 0
|
|
subs r0, 0xA
|
|
strh r0, [r2, 0x22]
|
|
b _0814363A
|
|
_08143632:
|
|
movs r0, 0x1
|
|
strh r0, [r2, 0x2E]
|
|
ldr r0, _08143640 @ =nullsub_81
|
|
str r0, [r2, 0x1C]
|
|
_0814363A:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08143640: .4byte nullsub_81
|
|
thumb_func_end sub_81435DC
|
|
|
|
thumb_func_start nullsub_81
|
|
nullsub_81: @ 8143644
|
|
bx lr
|
|
thumb_func_end nullsub_81
|
|
|
|
thumb_func_start sub_8143648
|
|
sub_8143648: @ 8143648
|
|
push {r4-r7,lr}
|
|
lsls r1, 24
|
|
ldr r4, _08143670 @ =gUnknown_02024E8C
|
|
adds r3, r4, 0
|
|
ldr r2, _08143674 @ =gUnknown_0840B6B8
|
|
ldm r2!, {r5-r7}
|
|
stm r3!, {r5-r7}
|
|
ldm r2!, {r5-r7}
|
|
stm r3!, {r5-r7}
|
|
strh r0, [r4, 0x2]
|
|
ldr r0, _08143678 @ =gUnknown_0840B69C
|
|
lsrs r1, 22
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r4, 0xC]
|
|
ldr r0, _0814367C @ =gSpriteAnimTable_81E7C64
|
|
str r0, [r4, 0x8]
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08143670: .4byte gUnknown_02024E8C
|
|
_08143674: .4byte gUnknown_0840B6B8
|
|
_08143678: .4byte gUnknown_0840B69C
|
|
_0814367C: .4byte gSpriteAnimTable_81E7C64
|
|
thumb_func_end sub_8143648
|
|
|
|
thumb_func_start sub_8143680
|
|
sub_8143680: @ 8143680
|
|
push {r4-r7,lr}
|
|
lsls r1, 24
|
|
ldr r4, _081436AC @ =gUnknown_02024E8C
|
|
adds r3, r4, 0
|
|
ldr r2, _081436B0 @ =gUnknown_0840B6B8
|
|
ldm r2!, {r5-r7}
|
|
stm r3!, {r5-r7}
|
|
ldm r2!, {r5-r7}
|
|
stm r3!, {r5-r7}
|
|
strh r0, [r4, 0x2]
|
|
ldr r0, _081436B4 @ =gUnknown_0840B69C
|
|
lsrs r1, 22
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r4, 0xC]
|
|
ldr r0, _081436B8 @ =gUnknown_081EC2A4
|
|
ldr r0, [r0]
|
|
str r0, [r4, 0x8]
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081436AC: .4byte gUnknown_02024E8C
|
|
_081436B0: .4byte gUnknown_0840B6B8
|
|
_081436B4: .4byte gUnknown_0840B69C
|
|
_081436B8: .4byte gUnknown_081EC2A4
|
|
thumb_func_end sub_8143680
|
|
|
|
thumb_func_start sub_81436BC
|
|
sub_81436BC: @ 81436BC
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x10
|
|
adds r6, r0, 0
|
|
mov r9, r1
|
|
mov r10, r2
|
|
mov r8, r3
|
|
ldr r7, [sp, 0x34]
|
|
lsls r6, 16
|
|
lsrs r6, 16
|
|
mov r0, r9
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
mov r9, r0
|
|
mov r1, r10
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
mov r10, r1
|
|
mov r2, r8
|
|
lsls r2, 16
|
|
lsrs r2, 16
|
|
mov r8, r2
|
|
lsls r0, r6, 3
|
|
ldr r1, _08143790 @ =gMonFrontPicTable
|
|
adds r0, r1
|
|
ldr r1, _08143794 @ =gMonFrontPicCoords
|
|
lsls r2, r6, 2
|
|
adds r2, r1
|
|
ldrb r1, [r2]
|
|
ldrb r2, [r2, 0x1]
|
|
movs r3, 0x80
|
|
lsls r3, 18
|
|
ldr r4, _08143798 @ =gUnknown_0840B5A0
|
|
mov r12, r4
|
|
mov r5, r8
|
|
lsls r4, r5, 2
|
|
add r4, r12
|
|
ldr r4, [r4]
|
|
str r4, [sp]
|
|
str r6, [sp, 0x4]
|
|
str r7, [sp, 0x8]
|
|
movs r4, 0x1
|
|
str r4, [sp, 0xC]
|
|
bl LoadSpecialPokePic
|
|
adds r0, r6, 0
|
|
ldr r1, [sp, 0x30]
|
|
adds r2, r7, 0
|
|
bl species_and_otid_get_pal
|
|
lsls r4, r5, 4
|
|
movs r2, 0x80
|
|
lsls r2, 1
|
|
adds r1, r4, r2
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
movs r2, 0x20
|
|
bl LoadCompressedPalette
|
|
lsls r1, r5, 24
|
|
lsrs r1, 24
|
|
mov r0, r8
|
|
bl sub_8143648
|
|
ldr r0, _0814379C @ =gUnknown_02024E8C
|
|
mov r5, r9
|
|
lsls r5, 16
|
|
asrs r5, 16
|
|
mov r9, r5
|
|
mov r1, r10
|
|
lsls r1, 16
|
|
asrs r1, 16
|
|
mov r10, r1
|
|
movs r3, 0xA
|
|
mov r2, r8
|
|
subs r3, r2
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
mov r1, r9
|
|
mov r2, r10
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _081437A0 @ =gSprites
|
|
lsls r2, r0, 4
|
|
adds r2, r0
|
|
lsls r2, 2
|
|
adds r2, r1
|
|
ldrb r3, [r2, 0x5]
|
|
movs r1, 0xF
|
|
ands r1, r3
|
|
orrs r1, r4
|
|
strb r1, [r2, 0x5]
|
|
add sp, 0x10
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08143790: .4byte gMonFrontPicTable
|
|
_08143794: .4byte gMonFrontPicCoords
|
|
_08143798: .4byte gUnknown_0840B5A0
|
|
_0814379C: .4byte gUnknown_02024E8C
|
|
_081437A0: .4byte gSprites
|
|
thumb_func_end sub_81436BC
|
|
|
|
thumb_func_start sub_81437A4
|
|
sub_81437A4: @ 81437A4
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x8
|
|
mov r9, r1
|
|
mov r10, r2
|
|
adds r6, r3, 0
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
mov r9, r1
|
|
lsls r2, 16
|
|
lsrs r2, 16
|
|
mov r10, r2
|
|
lsls r6, 16
|
|
lsrs r6, 16
|
|
lsls r7, r0, 3
|
|
ldr r1, _08143854 @ =gTrainerFrontPicTable
|
|
mov r8, r1
|
|
add r8, r7
|
|
ldr r1, _08143858 @ =gTrainerFrontPicCoords
|
|
lsls r2, r0, 2
|
|
adds r2, r1
|
|
ldrb r1, [r2]
|
|
ldrb r2, [r2, 0x1]
|
|
movs r3, 0x80
|
|
lsls r3, 18
|
|
ldr r5, _0814385C @ =gUnknown_0840B5A0
|
|
lsls r4, r6, 2
|
|
adds r4, r5
|
|
ldr r4, [r4]
|
|
str r4, [sp]
|
|
str r0, [sp, 0x4]
|
|
mov r0, r8
|
|
bl DecompressPicFromTable_2
|
|
ldr r0, _08143860 @ =gTrainerFrontPicPaletteTable
|
|
adds r0, r7, r0
|
|
ldr r0, [r0]
|
|
lsls r4, r6, 4
|
|
movs r2, 0x80
|
|
lsls r2, 1
|
|
adds r1, r4, r2
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
movs r2, 0x20
|
|
bl LoadCompressedPalette
|
|
lsls r1, r6, 24
|
|
lsrs r1, 24
|
|
adds r0, r6, 0
|
|
bl sub_8143680
|
|
ldr r0, _08143864 @ =gUnknown_02024E8C
|
|
mov r1, r9
|
|
lsls r1, 16
|
|
asrs r1, 16
|
|
mov r9, r1
|
|
mov r2, r10
|
|
lsls r2, 16
|
|
asrs r2, 16
|
|
mov r10, r2
|
|
movs r3, 0x1
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _08143868 @ =gSprites
|
|
lsls r2, r0, 4
|
|
adds r2, r0
|
|
lsls r2, 2
|
|
adds r2, r1
|
|
ldrb r3, [r2, 0x5]
|
|
movs r1, 0xF
|
|
ands r1, r3
|
|
orrs r1, r4
|
|
strb r1, [r2, 0x5]
|
|
add sp, 0x8
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08143854: .4byte gTrainerFrontPicTable
|
|
_08143858: .4byte gTrainerFrontPicCoords
|
|
_0814385C: .4byte gUnknown_0840B5A0
|
|
_08143860: .4byte gTrainerFrontPicPaletteTable
|
|
_08143864: .4byte gUnknown_02024E8C
|
|
_08143868: .4byte gSprites
|
|
thumb_func_end sub_81437A4
|
|
|
|
thumb_func_start sub_814386C
|
|
sub_814386C: @ 814386C
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
ldrh r1, [r5, 0x26]
|
|
movs r2, 0x26
|
|
ldrsh r0, [r5, r2]
|
|
cmp r0, 0x78
|
|
ble _08143882
|
|
adds r0, r5, 0
|
|
bl DestroySprite
|
|
b _081438BA
|
|
_08143882:
|
|
adds r0, r1, 0x1
|
|
ldrh r1, [r5, 0x30]
|
|
adds r0, r1
|
|
strh r0, [r5, 0x26]
|
|
ldrh r4, [r5, 0x2E]
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
bl Random
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
movs r1, 0x3
|
|
ands r0, r1
|
|
adds r0, 0x8
|
|
ldr r1, _081438C0 @ =gSineTable
|
|
lsls r4, 1
|
|
adds r4, r1
|
|
movs r2, 0
|
|
ldrsh r1, [r4, r2]
|
|
muls r0, r1
|
|
cmp r0, 0
|
|
bge _081438B0
|
|
adds r0, 0xFF
|
|
_081438B0:
|
|
asrs r0, 8
|
|
strh r0, [r5, 0x24]
|
|
ldrh r0, [r5, 0x2E]
|
|
adds r0, 0x4
|
|
strh r0, [r5, 0x2E]
|
|
_081438BA:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081438C0: .4byte gSineTable
|
|
thumb_func_end sub_814386C
|
|
|
|
thumb_func_start sub_81438C4
|
|
sub_81438C4: @ 81438C4
|
|
push {r4,lr}
|
|
bl Random
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
movs r1, 0xF0
|
|
bl __umodsi3
|
|
adds r4, r0, 0
|
|
lsls r4, 16
|
|
lsrs r4, 16
|
|
bl Random
|
|
adds r2, r0, 0
|
|
lsls r2, 16
|
|
lsrs r2, 16
|
|
movs r0, 0x7
|
|
ands r2, r0
|
|
negs r2, r2
|
|
ldr r0, _08143934 @ =gSpriteTemplate_840B7A4
|
|
lsls r4, 16
|
|
asrs r4, 16
|
|
lsls r2, 16
|
|
asrs r2, 16
|
|
adds r1, r4, 0
|
|
movs r3, 0
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
ldr r0, _08143938 @ =gSprites
|
|
adds r4, r1, r0
|
|
bl Random
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
movs r1, 0x11
|
|
bl __umodsi3
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r0, r4, 0
|
|
bl StartSpriteAnim
|
|
bl Random
|
|
movs r1, 0x3
|
|
ands r1, r0
|
|
cmp r1, 0
|
|
beq _0814393C
|
|
movs r0, 0
|
|
b _0814393E
|
|
.align 2, 0
|
|
_08143934: .4byte gSpriteTemplate_840B7A4
|
|
_08143938: .4byte gSprites
|
|
_0814393C:
|
|
movs r0, 0x1
|
|
_0814393E:
|
|
strh r0, [r4, 0x30]
|
|
movs r0, 0
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_81438C4
|
|
|
|
.align 2, 0 @ Don't pad with nop.
|