mirror of
https://github.com/pret/pokeruby.git
synced 2026-08-08 18:45:06 -05:00
9579 lines
163 KiB
ArmAsm
9579 lines
163 KiB
ArmAsm
.if DEBUG
|
|
|
|
.include "constants/gba_constants.inc"
|
|
.include "include/macros.inc"
|
|
|
|
.text
|
|
|
|
thumb_func_start debug_69
|
|
debug_69:
|
|
bx lr
|
|
|
|
thumb_func_end debug_69
|
|
|
|
thumb_func_start debug_80C35DC
|
|
debug_80C35DC:
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
add sp, sp, #0xfffffff8
|
|
mov r0, #0x0
|
|
bl SetVBlankCallback
|
|
mov r0, #0x80
|
|
lsl r0, r0, #0x13
|
|
mov r1, #0x0
|
|
strh r1, [r0]
|
|
add r0, r0, #0xe
|
|
strh r1, [r0]
|
|
sub r0, r0, #0x2
|
|
strh r1, [r0]
|
|
sub r0, r0, #0x2
|
|
strh r1, [r0]
|
|
sub r0, r0, #0x2
|
|
strh r1, [r0]
|
|
add r0, r0, #0x14
|
|
strh r1, [r0]
|
|
add r0, r0, #0x2
|
|
strh r1, [r0]
|
|
sub r0, r0, #0x6
|
|
strh r1, [r0]
|
|
add r0, r0, #0x2
|
|
strh r1, [r0]
|
|
sub r0, r0, #0x6
|
|
strh r1, [r0]
|
|
add r0, r0, #0x2
|
|
strh r1, [r0]
|
|
sub r0, r0, #0x6
|
|
strh r1, [r0]
|
|
add r0, r0, #0x2
|
|
strh r1, [r0]
|
|
mov r3, #0xc0
|
|
lsl r3, r3, #0x13
|
|
mov r4, #0xc0
|
|
lsl r4, r4, #0x9
|
|
add r0, sp, #0x4
|
|
mov r8, r0
|
|
mov r2, sp
|
|
mov r6, #0x0
|
|
ldr r1, ._2 @ 0x40000d4
|
|
mov r5, #0x80
|
|
lsl r5, r5, #0x5
|
|
ldr r7, ._2 + 4 @ 0x81000800
|
|
mov r0, #0x81
|
|
lsl r0, r0, #0x18
|
|
mov ip, r0
|
|
._1:
|
|
strh r6, [r2]
|
|
mov r0, sp
|
|
str r0, [r1]
|
|
str r3, [r1, #0x4]
|
|
str r7, [r1, #0x8]
|
|
ldr r0, [r1, #0x8]
|
|
add r3, r3, r5
|
|
sub r4, r4, r5
|
|
cmp r4, r5
|
|
bhi ._1 @cond_branch
|
|
strh r6, [r2]
|
|
mov r2, sp
|
|
str r2, [r1]
|
|
str r3, [r1, #0x4]
|
|
lsr r0, r4, #0x1
|
|
mov r2, ip
|
|
orr r0, r0, r2
|
|
str r0, [r1, #0x8]
|
|
ldr r0, [r1, #0x8]
|
|
mov r0, #0xe0
|
|
lsl r0, r0, #0x13
|
|
mov r3, #0x80
|
|
lsl r3, r3, #0x3
|
|
mov r4, #0x0
|
|
str r4, [sp, #0x4]
|
|
ldr r2, ._2 @ 0x40000d4
|
|
mov r1, r8
|
|
str r1, [r2]
|
|
str r0, [r2, #0x4]
|
|
lsr r0, r3, #0x2
|
|
mov r1, #0x85
|
|
lsl r1, r1, #0x18
|
|
orr r0, r0, r1
|
|
str r0, [r2, #0x8]
|
|
ldr r0, [r2, #0x8]
|
|
mov r1, #0xa0
|
|
lsl r1, r1, #0x13
|
|
mov r0, sp
|
|
strh r4, [r0]
|
|
str r0, [r2]
|
|
str r1, [r2, #0x4]
|
|
lsr r3, r3, #0x1
|
|
mov r0, #0x81
|
|
lsl r0, r0, #0x18
|
|
orr r3, r3, r0
|
|
str r3, [r2, #0x8]
|
|
ldr r0, [r2, #0x8]
|
|
bl ResetPaletteFade
|
|
bl ScanlineEffect_Stop
|
|
bl ResetTasks
|
|
bl ResetSpriteData
|
|
bl ResetPaletteFade
|
|
bl FreeAllSpritePalettes
|
|
ldr r0, ._2 + 8 @ stru_83F8828
|
|
bl LoadSpriteSheet
|
|
ldr r0, ._2 + 12 @ stru_83F8838
|
|
bl LoadSpritePalette
|
|
ldr r0, ._2 + 16 @ gWindowTemplate_81E6C3C
|
|
bl Text_LoadWindowTemplate
|
|
ldr r0, ._2 + 20 @ gWindowTemplate_81E6CE4
|
|
bl InitMenuWindow
|
|
add sp, sp, #0x8
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
._3:
|
|
.align 2, 0
|
|
._2:
|
|
.word 0x40000d4
|
|
.word 0x81000800
|
|
.word stru_83F8828
|
|
.word stru_83F8838
|
|
.word gWindowTemplate_81E6C3C
|
|
.word gWindowTemplate_81E6CE4
|
|
|
|
thumb_func_end debug_80C35DC
|
|
|
|
thumb_func_start debug_80C36F4
|
|
debug_80C36F4:
|
|
push {lr}
|
|
bl RunTasks
|
|
bl AnimateSprites
|
|
bl BuildOamBuffer
|
|
bl UpdatePaletteFade
|
|
pop {r0}
|
|
bx r0
|
|
|
|
thumb_func_end debug_80C36F4
|
|
|
|
thumb_func_start debug_80C370C
|
|
debug_80C370C:
|
|
push {lr}
|
|
ldr r0, ._6 @ gPaletteFade
|
|
ldrb r1, [r0, #0x7]
|
|
mov r0, #0x80
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
bne ._4 @cond_branch
|
|
ldr r0, ._6 + 4 @ debug_80C36F4
|
|
bl SetMainCallback2
|
|
b ._5
|
|
._7:
|
|
.align 2, 0
|
|
._6:
|
|
.word gPaletteFade
|
|
.word debug_80C36F4+1
|
|
._4:
|
|
bl AnimateSprites
|
|
bl BuildOamBuffer
|
|
bl UpdatePaletteFade
|
|
._5:
|
|
pop {r0}
|
|
bx r0
|
|
|
|
thumb_func_end debug_80C370C
|
|
|
|
thumb_func_start debug_80C373C
|
|
debug_80C373C:
|
|
push {lr}
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl DestroyTask
|
|
bl ScriptContext2_Disable
|
|
ldr r0, ._8 @ sub_80546F0
|
|
bl SetMainCallback2
|
|
pop {r0}
|
|
bx r0
|
|
._9:
|
|
.align 2, 0
|
|
._8:
|
|
.word sub_80546F0+1
|
|
|
|
thumb_func_end debug_80C373C
|
|
|
|
thumb_func_start debug_80C3758
|
|
debug_80C3758:
|
|
push {lr}
|
|
bl LoadOam
|
|
bl ProcessSpriteCopyRequests
|
|
bl TransferPlttBuffer
|
|
pop {r0}
|
|
bx r0
|
|
|
|
thumb_func_end debug_80C3758
|
|
|
|
thumb_func_start debug_80C376C
|
|
debug_80C376C:
|
|
push {r4, r5, r6, r7, lr}
|
|
add sp, sp, #0xfffffffc
|
|
lsl r0, r0, #0x10
|
|
lsr r5, r0, #0x10
|
|
lsl r1, r1, #0x18
|
|
lsr r7, r1, #0x18
|
|
lsl r2, r2, #0x18
|
|
lsr r6, r2, #0x18
|
|
mov r1, #0x0
|
|
mov r2, #0x0
|
|
._10:
|
|
mov r3, sp
|
|
add r0, r3, r1
|
|
strb r2, [r0]
|
|
add r0, r1, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r1, r0, #0x18
|
|
cmp r1, #0x2
|
|
bls ._10 @cond_branch
|
|
mov r1, sp
|
|
mov r0, #0xff
|
|
strb r0, [r1, #0x3]
|
|
mov r4, #0x0
|
|
add r0, r5, #0
|
|
mov r1, #0x64
|
|
bl __udivsi3
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
cmp r0, #0
|
|
beq ._11 @cond_branch
|
|
mov r1, sp
|
|
add r0, r0, #0xa1
|
|
strb r0, [r1]
|
|
mov r4, #0x1
|
|
._11:
|
|
add r0, r5, #0
|
|
mov r1, #0x64
|
|
bl __umodsi3
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
mov r1, #0xa
|
|
bl __udivsi3
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne ._12 @cond_branch
|
|
cmp r4, #0
|
|
beq ._13 @cond_branch
|
|
._12:
|
|
mov r1, sp
|
|
add r0, r0, #0xa1
|
|
strb r0, [r1, #0x1]
|
|
._13:
|
|
mov r4, sp
|
|
add r0, r5, #0
|
|
mov r1, #0x64
|
|
bl __umodsi3
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
mov r1, #0xa
|
|
bl __umodsi3
|
|
add r0, r0, #0xa1
|
|
strb r0, [r4, #0x2]
|
|
mov r0, sp
|
|
add r1, r7, #0
|
|
add r2, r6, #0
|
|
bl Menu_PrintText
|
|
add sp, sp, #0x4
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
|
|
thumb_func_end debug_80C376C
|
|
|
|
thumb_func_start debug_80C3800
|
|
debug_80C3800:
|
|
push {r4, r5, r6, r7, lr}
|
|
add sp, sp, #0xfffffff4
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
lsl r1, r1, #0x18
|
|
lsr r6, r1, #0x18
|
|
lsl r2, r2, #0x18
|
|
lsr r5, r2, #0x18
|
|
mov r3, #0x0
|
|
ldr r2, ._18 @ gSpeciesNames
|
|
mov r1, #0x0
|
|
._14:
|
|
mov r7, sp
|
|
add r0, r7, r3
|
|
strb r1, [r0]
|
|
add r0, r3, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r3, r0, #0x18
|
|
cmp r3, #0x9
|
|
bls ._14 @cond_branch
|
|
add r1, r7, r3
|
|
mov r0, #0xff
|
|
strb r0, [r1]
|
|
mov r3, #0x0
|
|
mov r0, #0xb
|
|
add r1, r4, #0
|
|
mul r1, r1, r0
|
|
add r0, r1, r2
|
|
ldrb r0, [r0]
|
|
cmp r0, #0xff
|
|
beq ._16 @cond_branch
|
|
add r4, r2, #0
|
|
add r2, r1, #0
|
|
._17:
|
|
mov r0, sp
|
|
add r1, r0, r3
|
|
add r0, r3, r2
|
|
add r0, r0, r4
|
|
ldrb r0, [r0]
|
|
strb r0, [r1]
|
|
add r0, r3, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r3, r0, #0x18
|
|
add r0, r3, r2
|
|
add r0, r0, r4
|
|
ldrb r0, [r0]
|
|
cmp r0, #0xff
|
|
beq ._16 @cond_branch
|
|
cmp r3, #0x9
|
|
bls ._17 @cond_branch
|
|
._16:
|
|
mov r0, sp
|
|
add r1, r6, #0
|
|
add r2, r5, #0
|
|
bl Menu_PrintText
|
|
add sp, sp, #0xc
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
._19:
|
|
.align 2, 0
|
|
._18:
|
|
.word gSpeciesNames
|
|
|
|
thumb_func_end debug_80C3800
|
|
|
|
thumb_func_start debug_80C3878
|
|
debug_80C3878:
|
|
push {lr}
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
lsl r1, r1, #0x10
|
|
lsr r1, r1, #0x10
|
|
cmp r0, #0
|
|
beq ._20 @cond_branch
|
|
cmp r0, #0x1
|
|
beq ._21 @cond_branch
|
|
._20:
|
|
cmp r1, #0x1
|
|
bls ._22 @cond_branch
|
|
sub r0, r1, #1
|
|
b ._23
|
|
._22:
|
|
ldr r1, ._25 @ 0x19b
|
|
b ._28
|
|
._26:
|
|
.align 2, 0
|
|
._25:
|
|
.word 0x19b
|
|
._21:
|
|
mov r0, #0xcd
|
|
lsl r0, r0, #0x1
|
|
cmp r1, r0
|
|
bhi ._27 @cond_branch
|
|
add r0, r1, #1
|
|
._23:
|
|
lsl r0, r0, #0x10
|
|
lsr r1, r0, #0x10
|
|
b ._28
|
|
._27:
|
|
mov r1, #0x1
|
|
._28:
|
|
add r0, r1, #0
|
|
pop {r1}
|
|
bx r1
|
|
|
|
thumb_func_end debug_80C3878
|
|
|
|
thumb_func_start debug_80C38B4
|
|
debug_80C38B4:
|
|
push {lr}
|
|
lsl r0, r0, #0x18
|
|
lsr r2, r0, #0x18
|
|
lsl r1, r1, #0x10
|
|
lsr r0, r1, #0x10
|
|
cmp r2, #0
|
|
beq ._29 @cond_branch
|
|
cmp r2, #0x1
|
|
beq ._30 @cond_branch
|
|
._29:
|
|
cmp r0, #0
|
|
beq ._31 @cond_branch
|
|
sub r0, r0, #0x1
|
|
b ._32
|
|
._31:
|
|
mov r0, #0x52
|
|
b ._35
|
|
._30:
|
|
cmp r0, #0x51
|
|
bhi ._34 @cond_branch
|
|
add r0, r0, #0x1
|
|
._32:
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
b ._35
|
|
._34:
|
|
mov r0, #0x0
|
|
._35:
|
|
pop {r1}
|
|
bx r1
|
|
|
|
thumb_func_end debug_80C38B4
|
|
|
|
thumb_func_start debug_80C38E4
|
|
debug_80C38E4:
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
add sp, sp, #0xfffffffc
|
|
add r4, r2, #0
|
|
add r5, r3, #0
|
|
ldr r6, [sp, #0x1c]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
mov r8, r0
|
|
lsl r1, r1, #0x18
|
|
lsr r7, r1, #0x18
|
|
lsl r4, r4, #0x18
|
|
lsr r4, r4, #0x18
|
|
lsl r5, r5, #0x18
|
|
lsr r5, r5, #0x18
|
|
lsl r6, r6, #0x18
|
|
lsr r6, r6, #0x18
|
|
ldr r1, ._37 @ gUnknown_Debug_083F7FD4
|
|
mov r0, sp
|
|
mov r2, #0x2
|
|
bl memcpy
|
|
add r0, r7, #0
|
|
add r1, r4, #0
|
|
add r2, r7, #0
|
|
add r3, r5, #0
|
|
bl Menu_BlankWindowRect
|
|
cmp r6, #0
|
|
beq ._36 @cond_branch
|
|
mov r0, sp
|
|
add r1, r7, #0
|
|
mov r2, r8
|
|
bl Menu_PrintText
|
|
._36:
|
|
add sp, sp, #0x4
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
._38:
|
|
.align 2, 0
|
|
._37:
|
|
.word gUnknown_Debug_083F7FD4
|
|
|
|
thumb_func_end debug_80C38E4
|
|
|
|
thumb_func_start debug_80C393C
|
|
debug_80C393C:
|
|
push {lr}
|
|
ldr r1, ._39 @ gUnknown_Debug_083F7FD6
|
|
mov r0, #0x1e
|
|
bl ProgramFlashSectorAndVerify
|
|
pop {r0}
|
|
bx r0
|
|
._40:
|
|
.align 2, 0
|
|
._39:
|
|
.word gUnknown_Debug_083F7FD6
|
|
|
|
thumb_func_end debug_80C393C
|
|
|
|
thumb_func_start InitWatanabeDebugMenu
|
|
InitWatanabeDebugMenu:
|
|
push {r4, lr}
|
|
ldr r0, ._46 @ gMain
|
|
ldr r1, ._46 + 4 @ 0x43c
|
|
add r4, r0, r1
|
|
ldrb r0, [r4]
|
|
cmp r0, #0x1
|
|
beq ._41 @cond_branch
|
|
cmp r0, #0x1
|
|
ble ._42 @cond_branch
|
|
cmp r0, #0x2
|
|
beq ._43 @cond_branch
|
|
cmp r0, #0x3
|
|
beq ._44 @cond_branch
|
|
._42:
|
|
bl save_serialize_map
|
|
bl sub_8125E2C
|
|
mov r0, #0x1
|
|
strb r0, [r4]
|
|
b ._51
|
|
._47:
|
|
.align 2, 0
|
|
._46:
|
|
.word gMain
|
|
.word 0x43c
|
|
._41:
|
|
bl sub_8125E6C
|
|
lsl r0, r0, #0x18
|
|
cmp r0, #0
|
|
beq ._51 @cond_branch
|
|
b ._49
|
|
._43:
|
|
mov r0, #0x37
|
|
bl PlaySE
|
|
._49:
|
|
ldrb r0, [r4]
|
|
add r0, r0, #0x1
|
|
strb r0, [r4]
|
|
b ._51
|
|
._44:
|
|
bl IsSEPlaying
|
|
lsl r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne ._51 @cond_branch
|
|
bl ScriptContext2_Disable
|
|
ldr r0, ._52 @ sub_80546F0
|
|
bl SetMainCallback2
|
|
._51:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
._53:
|
|
.align 2, 0
|
|
._52:
|
|
.word sub_80546F0+1
|
|
|
|
thumb_func_end InitWatanabeDebugMenu
|
|
|
|
thumb_func_start InitSizeComparison
|
|
InitSizeComparison:
|
|
push {r4, lr}
|
|
add sp, sp, #0xfffffffc
|
|
bl debug_80C35DC
|
|
ldr r1, ._54 @ gReservedSpritePaletteCount
|
|
mov r0, #0x1
|
|
strb r0, [r1]
|
|
ldr r0, ._54 + 4 @ gUnknown_Debug_20389EC
|
|
mov r1, #0x80
|
|
lsl r1, r1, #0x1
|
|
mov r2, #0x20
|
|
bl LoadPalette
|
|
ldr r3, ._54 + 8 @ 0x4000208
|
|
ldrh r2, [r3]
|
|
mov r0, #0x0
|
|
strh r0, [r3]
|
|
ldr r4, ._54 + 12 @ 0x4000200
|
|
ldrh r0, [r4]
|
|
mov r1, #0x1
|
|
orr r0, r0, r1
|
|
strh r0, [r4]
|
|
strh r2, [r3]
|
|
mov r0, #0x1
|
|
neg r0, r0
|
|
mov r1, #0x0
|
|
str r1, [sp]
|
|
mov r2, #0x10
|
|
mov r3, #0x0
|
|
bl BeginNormalPaletteFade
|
|
ldr r0, ._54 + 16 @ debug_80C3758
|
|
bl SetVBlankCallback
|
|
ldr r0, ._54 + 20 @ debug_80C370C
|
|
bl SetMainCallback2
|
|
mov r1, #0x80
|
|
lsl r1, r1, #0x13
|
|
mov r2, #0x8a
|
|
lsl r2, r2, #0x5
|
|
add r0, r2, #0
|
|
strh r0, [r1]
|
|
ldr r0, ._54 + 24 @ debug_80C3A50
|
|
mov r1, #0x0
|
|
bl CreateTask
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
ldr r2, ._54 + 28 @ gTasks
|
|
lsl r1, r0, #0x2
|
|
add r1, r1, r0
|
|
lsl r1, r1, #0x3
|
|
add r1, r1, r2
|
|
mov r0, #0xfc
|
|
strh r0, [r1, #0x8]
|
|
add sp, sp, #0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
._55:
|
|
.align 2, 0
|
|
._54:
|
|
.word gReservedSpritePaletteCount
|
|
.word gUnknown_Debug_20389EC
|
|
.word 0x4000208
|
|
.word 0x4000200
|
|
.word debug_80C3758+1
|
|
.word debug_80C370C+1
|
|
.word debug_80C3A50+1
|
|
.word gTasks
|
|
|
|
thumb_func_end InitSizeComparison
|
|
|
|
thumb_func_start debug_80C3A50
|
|
debug_80C3A50:
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sl
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5, r6, r7}
|
|
add sp, sp, #0xffffffd8
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
ldr r1, ._56 @ gTasks
|
|
lsl r2, r0, #0x2
|
|
add r0, r2, r0
|
|
lsl r0, r0, #0x3
|
|
add r7, r0, r1
|
|
ldrh r0, [r7, #0x8]
|
|
str r0, [sp, #0x4]
|
|
bl NationalPokedexNumToSpecies
|
|
mov r1, sp
|
|
strh r0, [r1, #0x8]
|
|
add r2, r0, #0
|
|
lsl r2, r2, #0x10
|
|
str r2, [sp, #0xc]
|
|
lsr r2, r2, #0x10
|
|
mov r9, r2
|
|
ldr r3, ._56 + 4 @ gSaveBlock2
|
|
mov r8, r3
|
|
mov r0, #0x6
|
|
mov r1, #0x0
|
|
mov r2, #0x17
|
|
mov r3, #0x9
|
|
bl Menu_DrawStdWindowFrame
|
|
mov r0, #0x0
|
|
mov r1, #0x0
|
|
mov r2, #0x5
|
|
mov r3, #0x9
|
|
bl Menu_DrawStdWindowFrame
|
|
ldr r5, ._56 + 8 @ gUnknown_Debug_083F7FD6
|
|
add r0, r5, #0
|
|
mov r1, #0x1
|
|
mov r2, #0x1
|
|
bl Menu_PrintText
|
|
ldr r4, ._56 + 12 @ gUnknown_Debug_083F7FDE
|
|
add r0, r4, #0
|
|
mov r1, #0x1
|
|
mov r2, #0x5
|
|
bl Menu_PrintText
|
|
mov r0, #0x18
|
|
mov r1, #0x0
|
|
mov r2, #0x1d
|
|
mov r3, #0x9
|
|
bl Menu_DrawStdWindowFrame
|
|
add r0, r5, #0
|
|
mov r1, #0x19
|
|
mov r2, #0x1
|
|
bl Menu_PrintText
|
|
add r0, r4, #0
|
|
mov r1, #0x19
|
|
mov r2, #0x5
|
|
bl Menu_PrintText
|
|
mov r0, #0x0
|
|
mov r1, #0xa
|
|
mov r2, #0xb
|
|
mov r3, #0x13
|
|
bl Menu_DrawStdWindowFrame
|
|
ldr r0, ._56 + 16 @ gUnknown_Debug_083F7FE2
|
|
mov r1, #0x1
|
|
mov r2, #0xb
|
|
bl Menu_PrintText
|
|
ldr r0, ._56 + 20 @ gUnknown_Debug_083F7FED
|
|
mov r1, #0x1
|
|
mov r2, #0xd
|
|
bl Menu_PrintText
|
|
ldr r0, ._56 + 24 @ gUnknown_Debug_083F7FF6
|
|
mov r1, #0x1
|
|
mov r2, #0xf
|
|
bl Menu_PrintText
|
|
ldr r0, ._56 + 28 @ gUnknown_Debug_083F8001
|
|
mov r1, #0x1
|
|
mov r2, #0x11
|
|
bl Menu_PrintText
|
|
mov r0, #0xc
|
|
mov r1, #0xa
|
|
mov r2, #0x1d
|
|
mov r3, #0xf
|
|
bl Menu_DrawStdWindowFrame
|
|
ldr r0, ._56 + 32 @ gUnknown_Debug_083F800C
|
|
mov r1, #0xd
|
|
mov r2, #0xb
|
|
bl Menu_PrintText
|
|
ldr r0, ._56 + 36 @ gUnknown_Debug_083F8019
|
|
mov r1, #0xd
|
|
mov r2, #0xd
|
|
bl Menu_PrintText
|
|
mov r0, #0xc
|
|
mov r1, #0x10
|
|
mov r2, #0x1d
|
|
mov r3, #0x13
|
|
bl Menu_DrawStdWindowFrame
|
|
ldr r0, ._56 + 40 @ gUnknown_Debug_083F8022
|
|
mov r1, #0xd
|
|
mov r2, #0x11
|
|
bl Menu_PrintText
|
|
ldr r0, ._56 + 44 @ gUnknown_Debug_083F8028
|
|
mov r1, #0x18
|
|
mov r2, #0x11
|
|
bl Menu_PrintText
|
|
mov r0, r9
|
|
mov r1, #0x12
|
|
mov r2, #0x11
|
|
bl debug_80C3800
|
|
mov r1, r8
|
|
ldrb r0, [r1, #0x8]
|
|
mov r1, #0x98
|
|
mov r2, #0x28
|
|
mov r3, #0x0
|
|
bl sub_8091A4C
|
|
mov r2, sp
|
|
strh r0, [r2, #0x10]
|
|
add r3, r0, #0
|
|
lsl r3, r3, #0x10
|
|
str r3, [sp, #0x18]
|
|
lsr r0, r3, #0x10
|
|
str r0, [sp, #0x14]
|
|
lsl r4, r0, #0x4
|
|
add r4, r4, r0
|
|
lsl r4, r4, #0x2
|
|
ldr r1, ._56 + 48 @ gSprites
|
|
add r4, r4, r1
|
|
ldrb r1, [r4, #0x1]
|
|
mov r2, #0x4
|
|
neg r2, r2
|
|
mov sl, r2
|
|
mov r0, sl
|
|
and r0, r0, r1
|
|
mov r3, #0x1
|
|
orr r0, r0, r3
|
|
strb r0, [r4, #0x1]
|
|
ldrb r1, [r4, #0x3]
|
|
mov r0, #0x3f
|
|
neg r0, r0
|
|
mov r9, r0
|
|
and r0, r0, r1
|
|
mov r1, #0x4
|
|
orr r0, r0, r1
|
|
strb r0, [r4, #0x3]
|
|
ldrb r1, [r4, #0x5]
|
|
sub r2, r2, #0x9
|
|
mov r8, r2
|
|
mov r0, r8
|
|
and r0, r0, r1
|
|
mov r3, #0xf
|
|
and r0, r0, r3
|
|
strb r0, [r4, #0x5]
|
|
mov r0, #0x0
|
|
bl GetSpritePaletteTagByPaletteNum
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl FreeSpritePaletteByTag
|
|
ldr r0, ._56 + 52 @ gPokedexEntries
|
|
ldr r1, [sp, #0x4]
|
|
lsl r5, r1, #0x3
|
|
add r5, r5, r1
|
|
lsl r5, r5, #0x2
|
|
add r5, r5, r0
|
|
ldrh r6, [r5, #0x20]
|
|
strh r6, [r4, #0x26]
|
|
ldrh r4, [r5, #0x1e]
|
|
str r4, [sp]
|
|
mov r0, #0x2
|
|
add r1, r4, #0
|
|
mov r2, #0x0
|
|
mov r3, #0x0
|
|
bl SetOamMatrix
|
|
mov r2, sp
|
|
ldrh r2, [r2, #0x14]
|
|
strh r2, [r7, #0xe]
|
|
strh r6, [r7, #0x10]
|
|
strh r4, [r7, #0x14]
|
|
ldr r0, [sp, #0x4]
|
|
mov r1, #0x58
|
|
mov r2, #0x28
|
|
mov r3, #0x1
|
|
bl sub_80918EC
|
|
mov r3, sp
|
|
strh r0, [r3, #0x1c]
|
|
lsl r0, r0, #0x10
|
|
str r0, [sp, #0x24]
|
|
lsr r1, r0, #0x10
|
|
str r1, [sp, #0x20]
|
|
lsl r4, r1, #0x4
|
|
add r4, r4, r1
|
|
lsl r4, r4, #0x2
|
|
ldr r2, ._56 + 48 @ gSprites
|
|
add r4, r4, r2
|
|
ldrb r0, [r4, #0x1]
|
|
mov r3, sl
|
|
and r3, r3, r0
|
|
mov r0, #0x1
|
|
orr r3, r3, r0
|
|
strb r3, [r4, #0x1]
|
|
ldrb r0, [r4, #0x3]
|
|
mov r1, r9
|
|
and r1, r1, r0
|
|
mov r0, #0x2
|
|
orr r1, r1, r0
|
|
strb r1, [r4, #0x3]
|
|
ldrb r0, [r4, #0x5]
|
|
mov r2, r8
|
|
and r2, r2, r0
|
|
mov r3, #0xf
|
|
and r2, r2, r3
|
|
strb r2, [r4, #0x5]
|
|
mov r0, #0x0
|
|
bl GetSpritePaletteTagByPaletteNum
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl FreeSpritePaletteByTag
|
|
ldrh r0, [r5, #0x1c]
|
|
mov r8, r0
|
|
strh r0, [r4, #0x26]
|
|
ldrh r4, [r5, #0x1a]
|
|
str r4, [sp]
|
|
mov r0, #0x1
|
|
add r1, r4, #0
|
|
mov r2, #0x0
|
|
mov r3, #0x0
|
|
bl SetOamMatrix
|
|
mov r1, sp
|
|
ldrh r1, [r1, #0x20]
|
|
strh r1, [r7, #0xc]
|
|
mov r2, r8
|
|
strh r2, [r7, #0x12]
|
|
strh r4, [r7, #0x16]
|
|
mov r3, #0x0
|
|
strh r3, [r7, #0x18]
|
|
strh r3, [r7, #0x1a]
|
|
ldr r1, ._56 + 56 @ 0x4000048
|
|
ldr r2, ._56 + 60 @ 0x3f1f
|
|
add r0, r2, #0
|
|
strh r0, [r1]
|
|
add r1, r1, #0x2
|
|
mov r0, #0x1f
|
|
strh r0, [r1]
|
|
ldr r2, ._56 + 64 @ 0x4000040
|
|
mov r3, #0x18
|
|
ldsh r1, [r7, r3]
|
|
lsl r1, r1, #0x6
|
|
add r0, r1, #0
|
|
add r0, r0, #0x38
|
|
lsl r0, r0, #0x8
|
|
add r1, r1, #0x78
|
|
add r0, r0, r1
|
|
strh r0, [r2]
|
|
ldr r1, ._56 + 68 @ 0x4000044
|
|
ldr r2, ._56 + 72 @ 0x848
|
|
add r0, r2, #0
|
|
strh r0, [r1]
|
|
sub r1, r1, #0x2
|
|
ldr r3, ._56 + 76 @ 0x31bf
|
|
add r0, r3, #0
|
|
strh r0, [r1]
|
|
add r1, r1, #0x4
|
|
ldr r2, ._56 + 80 @ 0x14f
|
|
add r0, r2, #0
|
|
strh r0, [r1]
|
|
add r1, r1, #0xa
|
|
mov r0, #0xe1
|
|
strh r0, [r1]
|
|
ldr r0, ._56 + 84 @ 0x4000052
|
|
mov r3, #0x0
|
|
strh r3, [r0]
|
|
add r1, r1, #0x4
|
|
mov r0, #0x7
|
|
strh r0, [r1]
|
|
mov r2, #0x80
|
|
lsl r2, r2, #0x13
|
|
ldrh r0, [r2]
|
|
mov r3, #0xc0
|
|
lsl r3, r3, #0x7
|
|
add r1, r3, #0
|
|
orr r0, r0, r1
|
|
strh r0, [r2]
|
|
ldr r0, ._56 + 88 @ debug_80C3D2C
|
|
str r0, [r7]
|
|
add sp, sp, #0x28
|
|
pop {r3, r4, r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov sl, r5
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
._57:
|
|
.align 2, 0
|
|
._56:
|
|
.word gTasks
|
|
.word gSaveBlock2
|
|
.word gUnknown_Debug_083F7FD6+0x4
|
|
.word gUnknown_Debug_083F7FDE
|
|
.word gUnknown_Debug_083F7FE2
|
|
.word gUnknown_Debug_083F7FED
|
|
.word gUnknown_Debug_083F7FF6
|
|
.word gUnknown_Debug_083F8001
|
|
.word gUnknown_Debug_083F800C
|
|
.word gUnknown_Debug_083F8019
|
|
.word gUnknown_Debug_083F8022
|
|
.word gUnknown_Debug_083F8028
|
|
.word gSprites
|
|
.word gPokedexEntries
|
|
.word 0x4000048
|
|
.word 0x3f1f
|
|
.word 0x4000040
|
|
.word 0x4000044
|
|
.word 0x848
|
|
.word 0x31bf
|
|
.word 0x14f
|
|
.word 0x4000052
|
|
.word debug_80C3D2C+1
|
|
|
|
thumb_func_end debug_80C3A50
|
|
|
|
thumb_func_start debug_80C3D2C
|
|
debug_80C3D2C:
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
add sp, sp, #0xfffffffc
|
|
lsl r0, r0, #0x18
|
|
lsr r6, r0, #0x18
|
|
add r7, r6, #0
|
|
ldr r4, ._60 @ gMain
|
|
ldrh r1, [r4, #0x2e]
|
|
mov r0, #0x2
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._58 @cond_branch
|
|
mov r0, #0x5
|
|
bl PlaySE
|
|
mov r0, #0x1
|
|
neg r0, r0
|
|
mov r1, #0x0
|
|
str r1, [sp]
|
|
mov r2, #0x0
|
|
mov r3, #0x10
|
|
bl BeginNormalPaletteFade
|
|
ldr r0, ._60 + 4 @ debug_80C370C
|
|
bl SetMainCallback2
|
|
ldr r1, ._60 + 8 @ gTasks
|
|
lsl r0, r6, #0x2
|
|
add r0, r0, r6
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r1, ._60 + 12 @ debug_80C373C
|
|
str r1, [r0]
|
|
b ._117
|
|
._61:
|
|
.align 2, 0
|
|
._60:
|
|
.word gMain
|
|
.word debug_80C370C+1
|
|
.word gTasks
|
|
.word debug_80C373C+1
|
|
._58:
|
|
mov r5, #0x1
|
|
add r0, r5, #0
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._62 @cond_branch
|
|
mov r0, #0x5
|
|
bl PlaySE
|
|
ldr r1, ._64 @ gTasks
|
|
lsl r0, r6, #0x2
|
|
add r0, r0, r6
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldrh r1, [r0, #0x18]
|
|
mov r2, #0x1
|
|
eor r1, r1, r2
|
|
strh r1, [r0, #0x18]
|
|
b ._117
|
|
._65:
|
|
.align 2, 0
|
|
._64:
|
|
.word gTasks
|
|
._62:
|
|
ldrh r1, [r4, #0x30]
|
|
mov r0, #0x20
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._66 @cond_branch
|
|
ldr r1, ._70 @ gTasks
|
|
lsl r2, r6, #0x2
|
|
add r0, r2, r6
|
|
lsl r0, r0, #0x3
|
|
add r3, r0, r1
|
|
mov r5, #0x18
|
|
ldsh r0, [r3, r5]
|
|
mov r8, r1
|
|
cmp r0, #0
|
|
beq ._67 @cond_branch
|
|
ldrh r1, [r4, #0x2c]
|
|
mov r0, #0x80
|
|
lsl r0, r0, #0x1
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._68 @cond_branch
|
|
ldrh r0, [r3, #0x14]
|
|
add r0, r0, #0x10
|
|
b ._69
|
|
._71:
|
|
.align 2, 0
|
|
._70:
|
|
.word gTasks
|
|
._68:
|
|
ldrh r0, [r3, #0x14]
|
|
add r0, r0, #0x1
|
|
._69:
|
|
strh r0, [r3, #0x14]
|
|
add r0, r2, r7
|
|
lsl r0, r0, #0x3
|
|
mov r2, r8
|
|
add r1, r0, r2
|
|
ldrh r0, [r1, #0x14]
|
|
mov r6, #0x80
|
|
lsl r6, r6, #0x8
|
|
cmp r0, r6
|
|
bhi ._72 @cond_branch
|
|
b ._117
|
|
._72:
|
|
strh r6, [r1, #0x14]
|
|
b ._117
|
|
._67:
|
|
ldrh r1, [r4, #0x2c]
|
|
mov r0, #0x80
|
|
lsl r0, r0, #0x1
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._75 @cond_branch
|
|
ldrh r0, [r3, #0x16]
|
|
add r0, r0, #0x10
|
|
b ._76
|
|
._75:
|
|
ldrh r0, [r3, #0x16]
|
|
add r0, r0, #0x1
|
|
._76:
|
|
strh r0, [r3, #0x16]
|
|
add r0, r2, r7
|
|
lsl r0, r0, #0x3
|
|
mov r4, r8
|
|
add r1, r0, r4
|
|
ldrh r0, [r1, #0x16]
|
|
mov r6, #0x80
|
|
lsl r6, r6, #0x8
|
|
cmp r0, r6
|
|
bhi ._77 @cond_branch
|
|
b ._117
|
|
._77:
|
|
strh r6, [r1, #0x16]
|
|
b ._117
|
|
._66:
|
|
mov r0, #0x10
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._80 @cond_branch
|
|
ldr r1, ._84 @ gTasks
|
|
lsl r2, r6, #0x2
|
|
add r0, r2, r6
|
|
lsl r0, r0, #0x3
|
|
add r3, r0, r1
|
|
mov r5, #0x18
|
|
ldsh r0, [r3, r5]
|
|
mov r8, r1
|
|
cmp r0, #0
|
|
beq ._81 @cond_branch
|
|
ldrh r1, [r4, #0x2c]
|
|
mov r0, #0x80
|
|
lsl r0, r0, #0x1
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._82 @cond_branch
|
|
ldrh r0, [r3, #0x14]
|
|
sub r0, r0, #0x10
|
|
b ._83
|
|
._85:
|
|
.align 2, 0
|
|
._84:
|
|
.word gTasks
|
|
._82:
|
|
ldrh r0, [r3, #0x14]
|
|
sub r0, r0, #0x1
|
|
._83:
|
|
strh r0, [r3, #0x14]
|
|
add r0, r2, r7
|
|
lsl r0, r0, #0x3
|
|
mov r2, r8
|
|
add r1, r0, r2
|
|
mov r4, #0x14
|
|
ldsh r0, [r1, r4]
|
|
cmp r0, #0xff
|
|
ble ._86 @cond_branch
|
|
b ._117
|
|
._86:
|
|
mov r0, #0x80
|
|
lsl r0, r0, #0x1
|
|
strh r0, [r1, #0x14]
|
|
b ._117
|
|
._81:
|
|
ldrh r1, [r4, #0x2c]
|
|
mov r0, #0x80
|
|
lsl r0, r0, #0x1
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._89 @cond_branch
|
|
ldrh r0, [r3, #0x16]
|
|
sub r0, r0, #0x10
|
|
b ._90
|
|
._89:
|
|
ldrh r0, [r3, #0x16]
|
|
sub r0, r0, #0x1
|
|
._90:
|
|
strh r0, [r3, #0x16]
|
|
add r0, r2, r7
|
|
lsl r0, r0, #0x3
|
|
mov r5, r8
|
|
add r1, r0, r5
|
|
mov r2, #0x16
|
|
ldsh r0, [r1, r2]
|
|
cmp r0, #0xff
|
|
ble ._91 @cond_branch
|
|
b ._117
|
|
._91:
|
|
mov r0, #0x80
|
|
lsl r0, r0, #0x1
|
|
strh r0, [r1, #0x16]
|
|
b ._117
|
|
._80:
|
|
mov r0, #0x40
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._94 @cond_branch
|
|
ldr r0, ._97 @ gTasks
|
|
lsl r1, r6, #0x2
|
|
add r1, r1, r6
|
|
lsl r1, r1, #0x3
|
|
add r1, r1, r0
|
|
mov r4, #0x18
|
|
ldsh r0, [r1, r4]
|
|
cmp r0, #0
|
|
beq ._95 @cond_branch
|
|
ldrh r0, [r1, #0x10]
|
|
sub r0, r0, #0x1
|
|
strh r0, [r1, #0x10]
|
|
b ._117
|
|
._98:
|
|
.align 2, 0
|
|
._97:
|
|
.word gTasks
|
|
._95:
|
|
ldrh r0, [r1, #0x12]
|
|
sub r0, r0, #0x1
|
|
strh r0, [r1, #0x12]
|
|
b ._117
|
|
._94:
|
|
mov r0, #0x80
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._100 @cond_branch
|
|
ldr r0, ._103 @ gTasks
|
|
lsl r1, r6, #0x2
|
|
add r1, r1, r6
|
|
lsl r1, r1, #0x3
|
|
add r1, r1, r0
|
|
mov r5, #0x18
|
|
ldsh r0, [r1, r5]
|
|
cmp r0, #0
|
|
beq ._101 @cond_branch
|
|
ldrh r0, [r1, #0x10]
|
|
add r0, r0, #0x1
|
|
strh r0, [r1, #0x10]
|
|
b ._117
|
|
._104:
|
|
.align 2, 0
|
|
._103:
|
|
.word gTasks
|
|
._101:
|
|
ldrh r0, [r1, #0x12]
|
|
add r0, r0, #0x1
|
|
strh r0, [r1, #0x12]
|
|
b ._117
|
|
._100:
|
|
mov r0, #0x8
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._106 @cond_branch
|
|
ldr r2, ._109 @ gTasks
|
|
lsl r3, r6, #0x2
|
|
add r0, r3, r6
|
|
lsl r0, r0, #0x3
|
|
add r6, r0, r2
|
|
ldrh r4, [r6, #0x8]
|
|
mov r0, #0x8
|
|
ldsh r1, [r6, r0]
|
|
ldr r0, ._109 + 4 @ 0x181
|
|
mov r8, r2
|
|
add r2, r3, #0
|
|
cmp r1, r0
|
|
bgt ._107 @cond_branch
|
|
add r0, r4, #1
|
|
strh r0, [r6, #0x8]
|
|
b ._108
|
|
._110:
|
|
.align 2, 0
|
|
._109:
|
|
.word gTasks
|
|
.word 0x181
|
|
._107:
|
|
strh r5, [r6, #0x8]
|
|
._108:
|
|
add r4, r2, r7
|
|
lsl r4, r4, #0x3
|
|
add r4, r4, r8
|
|
mov r2, #0xc
|
|
ldsh r1, [r4, r2]
|
|
b ._111
|
|
._106:
|
|
mov r0, #0x4
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._112 @cond_branch
|
|
ldr r1, ._115 @ gTasks
|
|
lsl r2, r6, #0x2
|
|
add r0, r2, r6
|
|
lsl r0, r0, #0x3
|
|
add r3, r0, r1
|
|
ldrh r6, [r3, #0x8]
|
|
mov r4, #0x8
|
|
ldsh r0, [r3, r4]
|
|
mov r8, r1
|
|
cmp r0, #0x1
|
|
ble ._113 @cond_branch
|
|
sub r0, r6, #1
|
|
b ._114
|
|
._116:
|
|
.align 2, 0
|
|
._115:
|
|
.word gTasks
|
|
._113:
|
|
mov r0, #0xc1
|
|
lsl r0, r0, #0x1
|
|
._114:
|
|
strh r0, [r3, #0x8]
|
|
add r4, r2, r7
|
|
lsl r4, r4, #0x3
|
|
add r4, r4, r8
|
|
mov r5, #0xc
|
|
ldsh r1, [r4, r5]
|
|
._111:
|
|
lsl r0, r1, #0x4
|
|
add r0, r0, r1
|
|
lsl r0, r0, #0x2
|
|
ldr r5, ._118 @ gSprites
|
|
add r0, r0, r5
|
|
bl DestroySprite
|
|
mov r0, #0xe
|
|
ldsh r1, [r4, r0]
|
|
lsl r0, r1, #0x4
|
|
add r0, r0, r1
|
|
lsl r0, r0, #0x2
|
|
add r0, r0, r5
|
|
bl DestroySprite
|
|
ldr r0, ._118 + 4 @ debug_80C3A50
|
|
str r0, [r4]
|
|
b ._117
|
|
._119:
|
|
.align 2, 0
|
|
._118:
|
|
.word gSprites
|
|
.word debug_80C3A50+1
|
|
._112:
|
|
ldr r0, ._120 @ gTasks
|
|
lsl r5, r7, #0x2
|
|
add r5, r5, r7
|
|
lsl r5, r5, #0x3
|
|
add r5, r5, r0
|
|
ldrh r4, [r5, #0x16]
|
|
ldrh r6, [r5, #0x12]
|
|
str r4, [sp]
|
|
mov r0, #0x1
|
|
add r1, r4, #0
|
|
mov r2, #0x0
|
|
mov r3, #0x0
|
|
bl SetOamMatrix
|
|
add r0, r4, #0
|
|
mov r1, #0x1
|
|
mov r2, #0x3
|
|
mov r3, #0x4
|
|
bl debug_80C68CC
|
|
add r0, r6, #0
|
|
mov r1, #0x1
|
|
mov r2, #0x7
|
|
mov r3, #0x4
|
|
bl debug_80C68CC
|
|
ldr r2, ._120 + 4 @ gSprites
|
|
mov r8, r2
|
|
mov r4, #0xc
|
|
ldsh r1, [r5, r4]
|
|
lsl r0, r1, #0x4
|
|
add r0, r0, r1
|
|
lsl r0, r0, #0x2
|
|
add r0, r0, r8
|
|
strh r6, [r0, #0x26]
|
|
ldrh r4, [r5, #0x14]
|
|
ldrh r6, [r5, #0x10]
|
|
str r4, [sp]
|
|
mov r0, #0x2
|
|
add r1, r4, #0
|
|
mov r2, #0x0
|
|
mov r3, #0x0
|
|
bl SetOamMatrix
|
|
add r0, r4, #0
|
|
mov r1, #0x19
|
|
mov r2, #0x3
|
|
mov r3, #0x4
|
|
bl debug_80C68CC
|
|
add r0, r6, #0
|
|
mov r1, #0x19
|
|
mov r2, #0x7
|
|
mov r3, #0x4
|
|
bl debug_80C68CC
|
|
mov r0, #0xe
|
|
ldsh r1, [r5, r0]
|
|
lsl r0, r1, #0x4
|
|
add r0, r0, r1
|
|
lsl r0, r0, #0x2
|
|
add r0, r0, r8
|
|
strh r6, [r0, #0x26]
|
|
ldr r2, ._120 + 8 @ 0x4000040
|
|
mov r4, #0x18
|
|
ldsh r1, [r5, r4]
|
|
lsl r1, r1, #0x6
|
|
add r0, r1, #0
|
|
add r0, r0, #0x38
|
|
lsl r0, r0, #0x8
|
|
add r1, r1, #0x78
|
|
add r0, r0, r1
|
|
strh r0, [r2]
|
|
._117:
|
|
add sp, sp, #0x4
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
._121:
|
|
.align 2, 0
|
|
._120:
|
|
.word gTasks
|
|
.word gSprites
|
|
.word 0x4000040
|
|
|
|
thumb_func_end debug_80C3D2C
|
|
|
|
thumb_func_start debug_80C405C
|
|
debug_80C405C:
|
|
push {r4, r5, lr}
|
|
add r4, r0, #0
|
|
lsl r1, r1, #0x10
|
|
lsr r5, r1, #0x10
|
|
mov r2, #0x0
|
|
mov r1, #0x0
|
|
._122:
|
|
add r0, r4, r2
|
|
strb r1, [r0]
|
|
add r0, r2, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r2, r0, #0x18
|
|
cmp r2, #0x9
|
|
bls ._122 @cond_branch
|
|
add r0, r4, r2
|
|
mov r1, #0xff
|
|
strb r1, [r0]
|
|
mov r0, #0xae
|
|
strb r0, [r4]
|
|
cmp r5, #0
|
|
beq ._125 @cond_branch
|
|
mov r2, #0x0
|
|
ldr r3, ._127 @ gSpeciesNames
|
|
mov r0, #0xb
|
|
add r1, r5, #0
|
|
mul r1, r1, r0
|
|
add r0, r1, r3
|
|
ldrb r0, [r0]
|
|
cmp r0, #0xff
|
|
beq ._125 @cond_branch
|
|
add r5, r3, #0
|
|
add r3, r1, #0
|
|
._126:
|
|
add r1, r4, r2
|
|
add r0, r2, r3
|
|
add r0, r0, r5
|
|
ldrb r0, [r0]
|
|
strb r0, [r1]
|
|
add r0, r2, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r2, r0, #0x18
|
|
add r0, r2, r3
|
|
add r0, r0, r5
|
|
ldrb r0, [r0]
|
|
cmp r0, #0xff
|
|
beq ._125 @cond_branch
|
|
cmp r2, #0x9
|
|
bls ._126 @cond_branch
|
|
._125:
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
._128:
|
|
.align 2, 0
|
|
._127:
|
|
.word gSpeciesNames
|
|
|
|
thumb_func_end debug_80C405C
|
|
|
|
thumb_func_start debug_80C40C4
|
|
debug_80C40C4:
|
|
push {r4, r5, r6, r7, lr}
|
|
add sp, sp, #0xfffffffc
|
|
lsl r0, r0, #0x18
|
|
lsr r7, r0, #0x18
|
|
mov r5, #0x0
|
|
mov r6, sp
|
|
._135:
|
|
cmp r7, #0
|
|
beq ._129 @cond_branch
|
|
mov r0, #0x64
|
|
add r1, r5, #0
|
|
mul r1, r1, r0
|
|
ldr r0, ._132 @ gEnemyParty
|
|
add r4, r1, r0
|
|
add r0, r4, #0
|
|
mov r1, #0xb
|
|
bl GetMonData
|
|
cmp r0, #0
|
|
beq ._134 @cond_branch
|
|
add r0, r4, #0
|
|
bl CalculateMonStats
|
|
add r0, r4, #0
|
|
mov r1, #0x3a
|
|
bl GetMonData
|
|
strh r0, [r6]
|
|
add r0, r4, #0
|
|
mov r1, #0x39
|
|
mov r2, sp
|
|
bl SetMonData
|
|
b ._134
|
|
._133:
|
|
.align 2, 0
|
|
._132:
|
|
.word gEnemyParty
|
|
._129:
|
|
mov r0, #0x64
|
|
add r1, r5, #0
|
|
mul r1, r1, r0
|
|
ldr r0, ._136 @ gPlayerParty
|
|
add r4, r1, r0
|
|
add r0, r4, #0
|
|
mov r1, #0xb
|
|
bl GetMonData
|
|
cmp r0, #0
|
|
beq ._134 @cond_branch
|
|
add r0, r4, #0
|
|
bl CalculateMonStats
|
|
add r0, r4, #0
|
|
mov r1, #0x3a
|
|
bl GetMonData
|
|
strh r0, [r6]
|
|
add r0, r4, #0
|
|
mov r1, #0x39
|
|
mov r2, sp
|
|
bl SetMonData
|
|
._134:
|
|
add r0, r5, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r5, r0, #0x18
|
|
cmp r5, #0x5
|
|
bls ._135 @cond_branch
|
|
add sp, sp, #0x4
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
._137:
|
|
.align 2, 0
|
|
._136:
|
|
.word gPlayerParty
|
|
|
|
thumb_func_end debug_80C40C4
|
|
|
|
thumb_func_start InitBattleForDebug
|
|
InitBattleForDebug:
|
|
push {lr}
|
|
bl SavePlayerParty
|
|
ldr r1, ._138 @ gUnknown_Debug_2038A0C
|
|
ldr r0, ._138 + 4 @ gSaveBlock2
|
|
ldrb r2, [r0, #0x8]
|
|
mov r0, #0x0
|
|
strb r2, [r1, #0xd]
|
|
strb r0, [r1]
|
|
strb r0, [r1, #0x1]
|
|
strb r0, [r1, #0x2]
|
|
strb r0, [r1, #0x3]
|
|
strb r0, [r1, #0x4]
|
|
strb r0, [r1, #0x5]
|
|
strb r0, [r1, #0x6]
|
|
strb r0, [r1, #0x7]
|
|
strb r0, [r1, #0x8]
|
|
strb r0, [r1, #0xc]
|
|
ldr r1, ._138 + 8 @ byte_3005E30
|
|
str r0, [r1]
|
|
bl ZeroPlayerPartyMons
|
|
bl ZeroEnemyPartyMons
|
|
mov r0, #0x0
|
|
bl debug_80C4214
|
|
ldr r0, ._138 + 12 @ debug_80C47BC
|
|
mov r1, #0x0
|
|
bl CreateTask
|
|
pop {r0}
|
|
bx r0
|
|
._139:
|
|
.align 2, 0
|
|
._138:
|
|
.word gUnknown_Debug_2038A0C
|
|
.word gSaveBlock2
|
|
.word byte_3005E30
|
|
.word debug_80C47BC+1
|
|
|
|
thumb_func_end InitBattleForDebug
|
|
|
|
thumb_func_start debug_80C41A8
|
|
debug_80C41A8:
|
|
push {lr}
|
|
ldr r1, ._140 @ gUnknown_Debug_2038A0C
|
|
mov r0, #0x0
|
|
strb r0, [r1, #0x1]
|
|
strb r0, [r1, #0x2]
|
|
bl ZeroPlayerPartyMons
|
|
bl ZeroEnemyPartyMons
|
|
mov r0, #0x0
|
|
bl debug_80C4214
|
|
ldr r0, ._140 + 4 @ debug_80C47BC
|
|
mov r1, #0x0
|
|
bl CreateTask
|
|
pop {r0}
|
|
bx r0
|
|
._141:
|
|
.align 2, 0
|
|
._140:
|
|
.word gUnknown_Debug_2038A0C
|
|
.word debug_80C47BC+1
|
|
|
|
thumb_func_end debug_80C41A8
|
|
|
|
thumb_func_start debug_80C41D4
|
|
debug_80C41D4:
|
|
push {lr}
|
|
mov r0, #0x0
|
|
bl debug_80C40C4
|
|
mov r0, #0x0
|
|
bl debug_80C4214
|
|
ldr r0, ._142 @ debug_80C42B8
|
|
mov r1, #0x0
|
|
bl CreateTask
|
|
pop {r0}
|
|
bx r0
|
|
._143:
|
|
.align 2, 0
|
|
._142:
|
|
.word debug_80C42B8+1
|
|
|
|
thumb_func_end debug_80C41D4
|
|
|
|
thumb_func_start debug_80C41F4
|
|
debug_80C41F4:
|
|
push {lr}
|
|
mov r0, #0x1
|
|
bl debug_80C40C4
|
|
mov r0, #0x1
|
|
bl debug_80C4214
|
|
ldr r0, ._144 @ debug_80C42B8
|
|
mov r1, #0x0
|
|
bl CreateTask
|
|
pop {r0}
|
|
bx r0
|
|
._145:
|
|
.align 2, 0
|
|
._144:
|
|
.word debug_80C42B8+1
|
|
|
|
thumb_func_end debug_80C41F4
|
|
|
|
thumb_func_start debug_80C4214
|
|
debug_80C4214:
|
|
push {r4, r5, r6, lr}
|
|
bl debug_80C35DC
|
|
ldr r6, ._146 @ 0x4000040
|
|
mov r4, #0x0
|
|
strh r4, [r6]
|
|
ldr r5, ._146 + 4 @ 0x4000044
|
|
strh r4, [r5]
|
|
ldr r0, ._146 + 8 @ 0x4000042
|
|
strh r4, [r0]
|
|
add r0, r0, #0x4
|
|
strh r4, [r0]
|
|
ldr r1, ._146 + 12 @ 0x4000048
|
|
ldr r2, ._146 + 16 @ 0x1111
|
|
add r0, r2, #0
|
|
strh r0, [r1]
|
|
add r1, r1, #0x2
|
|
mov r0, #0x31
|
|
strh r0, [r1]
|
|
add r1, r1, #0x6
|
|
mov r0, #0xe1
|
|
strh r0, [r1]
|
|
ldr r0, ._146 + 20 @ 0x4000052
|
|
strh r4, [r0]
|
|
add r1, r1, #0x4
|
|
mov r0, #0x7
|
|
strh r0, [r1]
|
|
ldr r3, ._146 + 24 @ 0x4000208
|
|
ldrh r2, [r3]
|
|
strh r4, [r3]
|
|
ldr r4, ._146 + 28 @ 0x4000200
|
|
ldrh r0, [r4]
|
|
mov r1, #0x1
|
|
orr r0, r0, r1
|
|
strh r0, [r4]
|
|
strh r2, [r3]
|
|
ldr r0, ._146 + 32 @ debug_80C3758
|
|
bl SetVBlankCallback
|
|
ldr r0, ._146 + 36 @ debug_80C370C
|
|
bl SetMainCallback2
|
|
mov r1, #0x80
|
|
lsl r1, r1, #0x13
|
|
ldr r2, ._146 + 40 @ 0x7140
|
|
add r0, r2, #0
|
|
strh r0, [r1]
|
|
ldr r1, ._146 + 44 @ 0x1ef
|
|
add r0, r1, #0
|
|
strh r0, [r6]
|
|
ldr r2, ._146 + 48 @ 0x819f
|
|
add r0, r2, #0
|
|
strh r0, [r5]
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
._147:
|
|
.align 2, 0
|
|
._146:
|
|
.word 0x4000040
|
|
.word 0x4000044
|
|
.word 0x4000042
|
|
.word 0x4000048
|
|
.word 0x1111
|
|
.word 0x4000052
|
|
.word 0x4000208
|
|
.word 0x4000200
|
|
.word debug_80C3758+1
|
|
.word debug_80C370C+1
|
|
.word 0x7140
|
|
.word 0x1ef
|
|
.word 0x819f
|
|
|
|
thumb_func_end debug_80C4214
|
|
|
|
thumb_func_start debug_80C42B8
|
|
debug_80C42B8:
|
|
push {r4, r5, lr}
|
|
add sp, sp, #0xffffffe4
|
|
lsl r0, r0, #0x18
|
|
lsr r5, r0, #0x18
|
|
ldr r1, ._150 @ gUnknown_Debug_083F8194
|
|
mov r0, sp
|
|
mov r2, #0xc
|
|
bl memcpy
|
|
add r4, sp, #0xc
|
|
ldr r1, ._150 + 4 @ gUnknown_Debug_083F81A0
|
|
add r0, r4, #0
|
|
mov r2, #0xd
|
|
bl memcpy
|
|
mov r0, #0x0
|
|
mov r1, #0x10
|
|
mov r2, #0x1d
|
|
mov r3, #0x13
|
|
bl Menu_DrawStdWindowFrame
|
|
mov r0, sp
|
|
mov r1, #0x1
|
|
mov r2, #0x11
|
|
bl Menu_PrintText
|
|
add r0, r4, #0
|
|
mov r1, #0x14
|
|
mov r2, #0x11
|
|
bl Menu_PrintText
|
|
bl debug_80C4694
|
|
bl debug_80C4704
|
|
ldr r0, ._150 + 8 @ gUnknown_Debug_2038A0C
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq ._148 @cond_branch
|
|
ldr r0, ._150 + 12 @ gTasks
|
|
lsl r1, r5, #0x2
|
|
add r1, r1, r5
|
|
lsl r1, r1, #0x3
|
|
add r1, r1, r0
|
|
ldr r0, ._150 + 16 @ debug_80C44EC
|
|
b ._149
|
|
._151:
|
|
.align 2, 0
|
|
._150:
|
|
.word gUnknown_Debug_083F8194
|
|
.word gUnknown_Debug_083F81A0
|
|
.word gUnknown_Debug_2038A0C
|
|
.word gTasks
|
|
.word debug_80C44EC+1
|
|
._148:
|
|
ldr r0, ._152 @ gTasks
|
|
lsl r1, r5, #0x2
|
|
add r1, r1, r5
|
|
lsl r1, r1, #0x3
|
|
add r1, r1, r0
|
|
ldr r0, ._152 + 4 @ debug_80C4348
|
|
._149:
|
|
str r0, [r1]
|
|
add sp, sp, #0x1c
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
._153:
|
|
.align 2, 0
|
|
._152:
|
|
.word gTasks
|
|
.word debug_80C4348+1
|
|
|
|
thumb_func_end debug_80C42B8
|
|
|
|
thumb_func_start debug_80C4348
|
|
debug_80C4348:
|
|
push {r4, lr}
|
|
add sp, sp, #0xfffffffc
|
|
add r4, r0, #0
|
|
lsl r4, r4, #0x18
|
|
lsr r4, r4, #0x18
|
|
ldr r0, ._154 @ gUnknown_Debug_2038A0C
|
|
ldrb r0, [r0, #0x1]
|
|
lsl r0, r0, #0x19
|
|
mov r1, #0xc0
|
|
lsl r1, r1, #0x12
|
|
add r0, r0, r1
|
|
lsr r0, r0, #0x18
|
|
mov r1, #0x1
|
|
str r1, [sp]
|
|
mov r2, #0x1
|
|
mov r3, #0xe
|
|
bl debug_80C38E4
|
|
ldr r1, ._154 + 4 @ 0x4000042
|
|
ldr r2, ._154 + 8 @ 0x177
|
|
add r0, r2, #0
|
|
strh r0, [r1]
|
|
add r1, r1, #0x4
|
|
add r2, r2, #0x8
|
|
add r0, r2, #0
|
|
strh r0, [r1]
|
|
ldr r1, ._154 + 12 @ gTasks
|
|
lsl r0, r4, #0x2
|
|
add r0, r0, r4
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r1, ._154 + 16 @ debug_80C43A8
|
|
str r1, [r0]
|
|
add sp, sp, #0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
._155:
|
|
.align 2, 0
|
|
._154:
|
|
.word gUnknown_Debug_2038A0C
|
|
.word 0x4000042
|
|
.word 0x177
|
|
.word gTasks
|
|
.word debug_80C43A8+1
|
|
|
|
thumb_func_end debug_80C4348
|
|
|
|
thumb_func_start debug_80C43A8
|
|
debug_80C43A8:
|
|
push {r4, r5, lr}
|
|
add sp, sp, #0xfffffffc
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
ldr r1, ._158 @ gMain
|
|
ldrh r2, [r1, #0x2e]
|
|
mov r0, #0x1
|
|
and r0, r0, r2
|
|
add r3, r1, #0
|
|
cmp r0, #0
|
|
beq ._156 @cond_branch
|
|
mov r0, #0x5
|
|
bl PlaySE
|
|
ldr r0, ._158 + 4 @ gUnknown_Debug_2038A0C
|
|
ldrb r1, [r0, #0x1]
|
|
mov r0, #0x64
|
|
mul r0, r0, r1
|
|
ldr r1, ._158 + 8 @ gPlayerParty
|
|
add r0, r0, r1
|
|
ldr r1, ._158 + 12 @ debug_80C41D4
|
|
bl debug_sub_80A433C
|
|
add r0, r4, #0
|
|
bl DestroyTask
|
|
b ._180
|
|
._159:
|
|
.align 2, 0
|
|
._158:
|
|
.word gMain
|
|
.word gUnknown_Debug_2038A0C
|
|
.word gPlayerParty
|
|
.word debug_80C41D4+1
|
|
._156:
|
|
mov r0, #0x2
|
|
and r0, r0, r2
|
|
cmp r0, #0
|
|
beq ._160 @cond_branch
|
|
ldr r0, ._162 @ gTasks
|
|
lsl r1, r4, #0x2
|
|
add r1, r1, r4
|
|
lsl r1, r1, #0x3
|
|
add r1, r1, r0
|
|
ldr r0, ._162 + 4 @ debug_80C4F48
|
|
str r0, [r1]
|
|
b ._180
|
|
._163:
|
|
.align 2, 0
|
|
._162:
|
|
.word gTasks
|
|
.word debug_80C4F48+1
|
|
._160:
|
|
mov r0, #0x8
|
|
and r0, r0, r2
|
|
lsl r0, r0, #0x10
|
|
lsr r1, r0, #0x10
|
|
cmp r1, #0
|
|
beq ._164 @cond_branch
|
|
bl debug_80C4774
|
|
lsl r0, r0, #0x18
|
|
cmp r0, #0
|
|
beq ._180 @cond_branch
|
|
mov r0, #0x5
|
|
bl PlaySE
|
|
bl CalculatePlayerPartyCount
|
|
bl CalculateEnemyPartyCount
|
|
ldr r0, ._167 @ gTasks
|
|
lsl r1, r4, #0x2
|
|
add r1, r1, r4
|
|
lsl r1, r1, #0x3
|
|
add r1, r1, r0
|
|
ldr r0, ._167 + 4 @ debug_80C4D14
|
|
str r0, [r1]
|
|
b ._180
|
|
._168:
|
|
.align 2, 0
|
|
._167:
|
|
.word gTasks
|
|
.word debug_80C4D14+1
|
|
._164:
|
|
mov r0, #0x88
|
|
lsl r0, r0, #0x1
|
|
and r0, r0, r2
|
|
cmp r0, #0
|
|
beq ._169 @cond_branch
|
|
str r1, [sp]
|
|
mov r0, #0x0
|
|
mov r1, #0x1
|
|
mov r2, #0x1
|
|
mov r3, #0xe
|
|
bl debug_80C38E4
|
|
ldr r0, ._171 @ gTasks
|
|
lsl r1, r4, #0x2
|
|
add r1, r1, r4
|
|
lsl r1, r1, #0x3
|
|
add r1, r1, r0
|
|
ldr r0, ._171 + 4 @ debug_80C44EC
|
|
str r0, [r1]
|
|
b ._180
|
|
._172:
|
|
.align 2, 0
|
|
._171:
|
|
.word gTasks
|
|
.word debug_80C44EC+1
|
|
._169:
|
|
ldrh r1, [r3, #0x30]
|
|
mov r0, #0x40
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._174 @cond_branch
|
|
ldr r1, ._176 @ gUnknown_Debug_2038A0C
|
|
ldrb r0, [r1, #0x1]
|
|
cmp r0, #0
|
|
beq ._174 @cond_branch
|
|
sub r0, r0, #0x1
|
|
strb r0, [r1, #0x1]
|
|
b ._175
|
|
._177:
|
|
.align 2, 0
|
|
._176:
|
|
.word gUnknown_Debug_2038A0C
|
|
._174:
|
|
ldrh r1, [r3, #0x30]
|
|
mov r0, #0x80
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._180 @cond_branch
|
|
ldr r5, ._181 @ gUnknown_Debug_2038A0C
|
|
ldrb r0, [r5, #0x1]
|
|
cmp r0, #0x4
|
|
bhi ._180 @cond_branch
|
|
add r1, r0, #0
|
|
mov r0, #0x64
|
|
mul r0, r0, r1
|
|
ldr r1, ._181 + 4 @ gPlayerParty
|
|
add r0, r0, r1
|
|
mov r1, #0xb
|
|
bl GetMonData
|
|
cmp r0, #0
|
|
beq ._180 @cond_branch
|
|
ldrb r0, [r5, #0x1]
|
|
add r0, r0, #0x1
|
|
strb r0, [r5, #0x1]
|
|
._175:
|
|
ldr r1, ._181 + 8 @ gTasks
|
|
lsl r0, r4, #0x2
|
|
add r0, r0, r4
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r1, ._181 + 12 @ debug_80C4348
|
|
str r1, [r0]
|
|
._180:
|
|
add sp, sp, #0x4
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
._182:
|
|
.align 2, 0
|
|
._181:
|
|
.word gUnknown_Debug_2038A0C
|
|
.word gPlayerParty
|
|
.word gTasks
|
|
.word debug_80C4348+1
|
|
|
|
thumb_func_end debug_80C43A8
|
|
|
|
thumb_func_start debug_80C44EC
|
|
debug_80C44EC:
|
|
push {r4, lr}
|
|
add sp, sp, #0xfffffffc
|
|
add r4, r0, #0
|
|
lsl r4, r4, #0x18
|
|
lsr r4, r4, #0x18
|
|
ldr r0, ._183 @ gUnknown_Debug_2038A0C
|
|
ldrb r0, [r0, #0x2]
|
|
lsl r0, r0, #0x19
|
|
mov r1, #0xc0
|
|
lsl r1, r1, #0x12
|
|
add r0, r0, r1
|
|
lsr r0, r0, #0x18
|
|
mov r1, #0x1
|
|
str r1, [sp]
|
|
mov r1, #0x10
|
|
mov r2, #0x1
|
|
mov r3, #0xe
|
|
bl debug_80C38E4
|
|
ldr r1, ._183 + 4 @ 0x4000042
|
|
ldr r2, ._183 + 8 @ 0x79ef
|
|
add r0, r2, #0
|
|
strh r0, [r1]
|
|
add r1, r1, #0x4
|
|
ldr r2, ._183 + 12 @ 0x17f
|
|
add r0, r2, #0
|
|
strh r0, [r1]
|
|
ldr r1, ._183 + 16 @ gTasks
|
|
lsl r0, r4, #0x2
|
|
add r0, r0, r4
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r1, ._183 + 20 @ debug_80C4550
|
|
str r1, [r0]
|
|
add sp, sp, #0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
._184:
|
|
.align 2, 0
|
|
._183:
|
|
.word gUnknown_Debug_2038A0C
|
|
.word 0x4000042
|
|
.word 0x79ef
|
|
.word 0x17f
|
|
.word gTasks
|
|
.word debug_80C4550+1
|
|
|
|
thumb_func_end debug_80C44EC
|
|
|
|
thumb_func_start debug_80C4550
|
|
debug_80C4550:
|
|
push {r4, r5, lr}
|
|
add sp, sp, #0xfffffffc
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
ldr r1, ._187 @ gMain
|
|
ldrh r2, [r1, #0x2e]
|
|
mov r0, #0x1
|
|
and r0, r0, r2
|
|
add r3, r1, #0
|
|
cmp r0, #0
|
|
beq ._185 @cond_branch
|
|
mov r0, #0x5
|
|
bl PlaySE
|
|
ldr r0, ._187 + 4 @ gUnknown_Debug_2038A0C
|
|
ldrb r1, [r0, #0x2]
|
|
mov r0, #0x64
|
|
mul r0, r0, r1
|
|
ldr r1, ._187 + 8 @ gEnemyParty
|
|
add r0, r0, r1
|
|
ldr r1, ._187 + 12 @ debug_80C41F4
|
|
bl debug_sub_80A433C
|
|
add r0, r4, #0
|
|
bl DestroyTask
|
|
b ._209
|
|
._188:
|
|
.align 2, 0
|
|
._187:
|
|
.word gMain
|
|
.word gUnknown_Debug_2038A0C
|
|
.word gEnemyParty
|
|
.word debug_80C41F4+1
|
|
._185:
|
|
mov r0, #0x2
|
|
and r0, r0, r2
|
|
cmp r0, #0
|
|
beq ._189 @cond_branch
|
|
ldr r0, ._191 @ gTasks
|
|
lsl r1, r4, #0x2
|
|
add r1, r1, r4
|
|
lsl r1, r1, #0x3
|
|
add r1, r1, r0
|
|
ldr r0, ._191 + 4 @ debug_80C4F48
|
|
str r0, [r1]
|
|
b ._209
|
|
._192:
|
|
.align 2, 0
|
|
._191:
|
|
.word gTasks
|
|
.word debug_80C4F48+1
|
|
._189:
|
|
mov r0, #0x8
|
|
and r0, r0, r2
|
|
lsl r0, r0, #0x10
|
|
lsr r1, r0, #0x10
|
|
cmp r1, #0
|
|
beq ._193 @cond_branch
|
|
bl debug_80C4774
|
|
lsl r0, r0, #0x18
|
|
cmp r0, #0
|
|
beq ._209 @cond_branch
|
|
mov r0, #0x5
|
|
bl PlaySE
|
|
bl CalculatePlayerPartyCount
|
|
bl CalculateEnemyPartyCount
|
|
ldr r0, ._196 @ gTasks
|
|
lsl r1, r4, #0x2
|
|
add r1, r1, r4
|
|
lsl r1, r1, #0x3
|
|
add r1, r1, r0
|
|
ldr r0, ._196 + 4 @ debug_80C4D14
|
|
str r0, [r1]
|
|
b ._209
|
|
._197:
|
|
.align 2, 0
|
|
._196:
|
|
.word gTasks
|
|
.word debug_80C4D14+1
|
|
._193:
|
|
mov r0, #0x88
|
|
lsl r0, r0, #0x2
|
|
and r0, r0, r2
|
|
cmp r0, #0
|
|
beq ._198 @cond_branch
|
|
str r1, [sp]
|
|
mov r0, #0x0
|
|
mov r1, #0x10
|
|
mov r2, #0x1
|
|
mov r3, #0xe
|
|
bl debug_80C38E4
|
|
ldr r0, ._200 @ gTasks
|
|
lsl r1, r4, #0x2
|
|
add r1, r1, r4
|
|
lsl r1, r1, #0x3
|
|
add r1, r1, r0
|
|
ldr r0, ._200 + 4 @ debug_80C4348
|
|
str r0, [r1]
|
|
b ._209
|
|
._201:
|
|
.align 2, 0
|
|
._200:
|
|
.word gTasks
|
|
.word debug_80C4348+1
|
|
._198:
|
|
ldrh r1, [r3, #0x30]
|
|
mov r0, #0x40
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._203 @cond_branch
|
|
ldr r1, ._205 @ gUnknown_Debug_2038A0C
|
|
ldrb r0, [r1, #0x2]
|
|
cmp r0, #0
|
|
beq ._203 @cond_branch
|
|
sub r0, r0, #0x1
|
|
strb r0, [r1, #0x2]
|
|
b ._204
|
|
._206:
|
|
.align 2, 0
|
|
._205:
|
|
.word gUnknown_Debug_2038A0C
|
|
._203:
|
|
ldrh r1, [r3, #0x30]
|
|
mov r0, #0x80
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._209 @cond_branch
|
|
ldr r5, ._210 @ gUnknown_Debug_2038A0C
|
|
ldrb r0, [r5, #0x2]
|
|
cmp r0, #0x4
|
|
bhi ._209 @cond_branch
|
|
add r1, r0, #0
|
|
mov r0, #0x64
|
|
mul r0, r0, r1
|
|
ldr r1, ._210 + 4 @ gEnemyParty
|
|
add r0, r0, r1
|
|
mov r1, #0xb
|
|
bl GetMonData
|
|
cmp r0, #0
|
|
beq ._209 @cond_branch
|
|
ldrb r0, [r5, #0x2]
|
|
add r0, r0, #0x1
|
|
strb r0, [r5, #0x2]
|
|
._204:
|
|
ldr r1, ._210 + 8 @ gTasks
|
|
lsl r0, r4, #0x2
|
|
add r0, r0, r4
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r1, ._210 + 12 @ debug_80C44EC
|
|
str r1, [r0]
|
|
._209:
|
|
add sp, sp, #0x4
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
._211:
|
|
.align 2, 0
|
|
._210:
|
|
.word gUnknown_Debug_2038A0C
|
|
.word gEnemyParty
|
|
.word gTasks
|
|
.word debug_80C44EC+1
|
|
|
|
thumb_func_end debug_80C4550
|
|
|
|
thumb_func_start debug_80C4694
|
|
debug_80C4694:
|
|
push {r4, r5, lr}
|
|
add sp, sp, #0xffffffe4
|
|
ldr r1, ._213 @ gUnknown_Debug_083F81AD
|
|
mov r0, sp
|
|
mov r2, #0xd
|
|
bl memcpy
|
|
mov r0, #0x0
|
|
mov r1, #0x0
|
|
mov r2, #0xe
|
|
mov r3, #0xf
|
|
bl Menu_DrawStdWindowFrame
|
|
mov r0, sp
|
|
mov r1, #0x2
|
|
mov r2, #0x1
|
|
bl Menu_PrintText
|
|
mov r4, #0x0
|
|
add r5, sp, #0x10
|
|
._212:
|
|
mov r0, #0x64
|
|
mul r0, r0, r4
|
|
ldr r1, ._213 + 4 @ gPlayerParty
|
|
add r0, r0, r1
|
|
mov r1, #0xb
|
|
bl GetMonData
|
|
add r1, r0, #0
|
|
lsl r1, r1, #0x10
|
|
lsr r1, r1, #0x10
|
|
add r0, r5, #0
|
|
bl debug_80C405C
|
|
lsl r2, r4, #0x19
|
|
mov r0, #0xc0
|
|
lsl r0, r0, #0x12
|
|
add r2, r2, r0
|
|
lsr r2, r2, #0x18
|
|
add r0, r5, #0
|
|
mov r1, #0x2
|
|
bl Menu_PrintText
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
cmp r4, #0x5
|
|
bls ._212 @cond_branch
|
|
add sp, sp, #0x1c
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
._214:
|
|
.align 2, 0
|
|
._213:
|
|
.word gUnknown_Debug_083F81AD
|
|
.word gPlayerParty
|
|
|
|
thumb_func_end debug_80C4694
|
|
|
|
thumb_func_start debug_80C4704
|
|
debug_80C4704:
|
|
push {r4, r5, lr}
|
|
add sp, sp, #0xffffffe4
|
|
ldr r1, ._216 @ gUnknown_Debug_083F81BA
|
|
mov r0, sp
|
|
mov r2, #0xd
|
|
bl memcpy
|
|
mov r0, #0xf
|
|
mov r1, #0x0
|
|
mov r2, #0x1d
|
|
mov r3, #0xf
|
|
bl Menu_DrawStdWindowFrame
|
|
mov r0, sp
|
|
mov r1, #0x11
|
|
mov r2, #0x1
|
|
bl Menu_PrintText
|
|
mov r4, #0x0
|
|
add r5, sp, #0x10
|
|
._215:
|
|
mov r0, #0x64
|
|
mul r0, r0, r4
|
|
ldr r1, ._216 + 4 @ gEnemyParty
|
|
add r0, r0, r1
|
|
mov r1, #0xb
|
|
bl GetMonData
|
|
add r1, r0, #0
|
|
lsl r1, r1, #0x10
|
|
lsr r1, r1, #0x10
|
|
add r0, r5, #0
|
|
bl debug_80C405C
|
|
lsl r2, r4, #0x19
|
|
mov r0, #0xc0
|
|
lsl r0, r0, #0x12
|
|
add r2, r2, r0
|
|
lsr r2, r2, #0x18
|
|
add r0, r5, #0
|
|
mov r1, #0x11
|
|
bl Menu_PrintText
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
cmp r4, #0x5
|
|
bls ._215 @cond_branch
|
|
add sp, sp, #0x1c
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
._217:
|
|
.align 2, 0
|
|
._216:
|
|
.word gUnknown_Debug_083F81BA
|
|
.word gEnemyParty
|
|
|
|
thumb_func_end debug_80C4704
|
|
|
|
thumb_func_start debug_80C4774
|
|
debug_80C4774:
|
|
push {r4, lr}
|
|
ldr r0, ._221 @ gUnknown_Debug_2038A0C
|
|
ldrb r0, [r0, #0xc]
|
|
sub r0, r0, #0x1
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
mov r1, #0x64
|
|
add r4, r0, #0
|
|
mul r4, r4, r1
|
|
ldr r0, ._221 + 4 @ gPlayerParty
|
|
add r0, r4, r0
|
|
mov r1, #0xb
|
|
bl GetMonData
|
|
cmp r0, #0
|
|
beq ._219 @cond_branch
|
|
ldr r0, ._221 + 8 @ gEnemyParty
|
|
add r0, r4, r0
|
|
mov r1, #0xb
|
|
bl GetMonData
|
|
cmp r0, #0
|
|
beq ._219 @cond_branch
|
|
mov r0, #0x1
|
|
b ._220
|
|
._222:
|
|
.align 2, 0
|
|
._221:
|
|
.word gUnknown_Debug_2038A0C
|
|
.word gPlayerParty
|
|
.word gEnemyParty
|
|
._219:
|
|
mov r0, #0x0
|
|
._220:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
|
|
thumb_func_end debug_80C4774
|
|
|
|
thumb_func_start debug_80C47BC
|
|
debug_80C47BC:
|
|
push {r4, r5, r6, r7, lr}
|
|
add sp, sp, #0xffffffc0
|
|
lsl r0, r0, #0x18
|
|
lsr r7, r0, #0x18
|
|
ldr r1, ._224 @ gUnknown_Debug_083F81C7
|
|
mov r0, sp
|
|
mov r2, #0xf
|
|
bl memcpy
|
|
add r4, sp, #0x10
|
|
ldr r1, ._224 + 4 @ gUnknown_Debug_083F81A0
|
|
add r0, r4, #0
|
|
mov r2, #0xd
|
|
bl memcpy
|
|
add r6, sp, #0x20
|
|
ldr r1, ._224 + 8 @ gUnknown_Debug_083F81D6
|
|
add r0, r6, #0
|
|
mov r2, #0xf
|
|
bl memcpy
|
|
add r5, sp, #0x30
|
|
ldr r1, ._224 + 12 @ gUnknown_Debug_083F81E5
|
|
add r0, r5, #0
|
|
mov r2, #0x10
|
|
bl memcpy
|
|
mov r0, #0x0
|
|
mov r1, #0x10
|
|
mov r2, #0x1d
|
|
mov r3, #0x13
|
|
bl Menu_DrawStdWindowFrame
|
|
mov r0, sp
|
|
mov r1, #0x1
|
|
mov r2, #0x11
|
|
bl Menu_PrintText
|
|
add r0, r4, #0
|
|
mov r1, #0x14
|
|
mov r2, #0x11
|
|
bl Menu_PrintText
|
|
mov r0, #0x0
|
|
mov r1, #0x0
|
|
mov r2, #0xe
|
|
mov r3, #0xf
|
|
bl Menu_DrawStdWindowFrame
|
|
add r0, r6, #0
|
|
mov r1, #0x2
|
|
mov r2, #0x1
|
|
bl Menu_PrintText
|
|
mov r4, #0x0
|
|
ldr r6, ._224 + 16 @ gUnknown_Debug_083F8068
|
|
._223:
|
|
lsl r0, r4, #0x3
|
|
add r0, r0, r6
|
|
ldr r0, [r0]
|
|
lsl r2, r4, #0x19
|
|
mov r1, #0xc0
|
|
lsl r1, r1, #0x12
|
|
add r2, r2, r1
|
|
lsr r2, r2, #0x18
|
|
mov r1, #0x2
|
|
bl Menu_PrintText
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
cmp r4, #0x4
|
|
bls ._223 @cond_branch
|
|
mov r0, #0xf
|
|
mov r1, #0x0
|
|
mov r2, #0x1d
|
|
mov r3, #0xf
|
|
bl Menu_DrawStdWindowFrame
|
|
add r0, r5, #0
|
|
mov r1, #0x11
|
|
mov r2, #0x1
|
|
bl Menu_PrintText
|
|
ldr r0, ._224 + 20 @ gUnknown_Debug_2038A0C
|
|
ldrb r0, [r0, #0x4]
|
|
bl debug_80C4C44
|
|
ldr r1, ._224 + 24 @ gTasks
|
|
lsl r0, r7, #0x2
|
|
add r0, r0, r7
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r1, ._224 + 28 @ debug_80C48A0
|
|
str r1, [r0]
|
|
add sp, sp, #0x40
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
._225:
|
|
.align 2, 0
|
|
._224:
|
|
.word gUnknown_Debug_083F81C7
|
|
.word gUnknown_Debug_083F81A0
|
|
.word gUnknown_Debug_083F81D6
|
|
.word gUnknown_Debug_083F81E5
|
|
.word gUnknown_Debug_083F8068
|
|
.word gUnknown_Debug_2038A0C
|
|
.word gTasks
|
|
.word debug_80C48A0+1
|
|
|
|
thumb_func_end debug_80C47BC
|
|
|
|
thumb_func_start debug_80C48A0
|
|
debug_80C48A0:
|
|
push {r4, lr}
|
|
add sp, sp, #0xfffffffc
|
|
add r4, r0, #0
|
|
lsl r4, r4, #0x18
|
|
lsr r4, r4, #0x18
|
|
ldr r0, ._226 @ gUnknown_Debug_2038A0C
|
|
ldrb r0, [r0, #0x3]
|
|
lsl r0, r0, #0x19
|
|
mov r1, #0xc0
|
|
lsl r1, r1, #0x12
|
|
add r0, r0, r1
|
|
lsr r0, r0, #0x18
|
|
mov r1, #0x1
|
|
str r1, [sp]
|
|
mov r2, #0x1
|
|
mov r3, #0xe
|
|
bl debug_80C38E4
|
|
ldr r1, ._226 + 4 @ 0x4000042
|
|
ldr r2, ._226 + 8 @ 0x177
|
|
add r0, r2, #0
|
|
strh r0, [r1]
|
|
add r1, r1, #0x4
|
|
add r2, r2, #0x8
|
|
add r0, r2, #0
|
|
strh r0, [r1]
|
|
ldr r1, ._226 + 12 @ gTasks
|
|
lsl r0, r4, #0x2
|
|
add r0, r0, r4
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r1, ._226 + 16 @ debug_80C4900
|
|
str r1, [r0]
|
|
add sp, sp, #0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
._227:
|
|
.align 2, 0
|
|
._226:
|
|
.word gUnknown_Debug_2038A0C
|
|
.word 0x4000042
|
|
.word 0x177
|
|
.word gTasks
|
|
.word debug_80C4900+1
|
|
|
|
thumb_func_end debug_80C48A0
|
|
|
|
thumb_func_start debug_80C4900
|
|
debug_80C4900:
|
|
push {r4, r5, lr}
|
|
add sp, sp, #0xfffffffc
|
|
lsl r0, r0, #0x18
|
|
lsr r5, r0, #0x18
|
|
ldr r1, ._230 @ gMain
|
|
ldrh r2, [r1, #0x2e]
|
|
mov r0, #0x2
|
|
and r0, r0, r2
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
add r3, r1, #0
|
|
cmp r4, #0
|
|
beq ._228 @cond_branch
|
|
mov r0, #0x5
|
|
bl PlaySE
|
|
mov r0, #0x1
|
|
neg r0, r0
|
|
mov r4, #0x0
|
|
str r4, [sp]
|
|
mov r1, #0x0
|
|
mov r2, #0x0
|
|
mov r3, #0x10
|
|
bl BeginNormalPaletteFade
|
|
ldr r0, ._230 + 4 @ debug_80C370C
|
|
bl SetMainCallback2
|
|
bl LoadPlayerParty
|
|
ldr r1, ._230 + 8 @ gSaveBlock2
|
|
ldr r0, ._230 + 12 @ gUnknown_Debug_2038A0C
|
|
ldrb r0, [r0, #0xd]
|
|
strb r0, [r1, #0x8]
|
|
ldr r0, ._230 + 16 @ gBattleTypeFlags
|
|
mov r1, #0x0
|
|
strh r4, [r0]
|
|
ldr r0, ._230 + 20 @ gUnknown_02023A14_50
|
|
strb r1, [r0]
|
|
ldr r1, ._230 + 24 @ gTasks
|
|
lsl r0, r5, #0x2
|
|
add r0, r0, r5
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r1, ._230 + 28 @ debug_80C373C
|
|
b ._229
|
|
._231:
|
|
.align 2, 0
|
|
._230:
|
|
.word gMain
|
|
.word debug_80C370C+1
|
|
.word gSaveBlock2
|
|
.word gUnknown_Debug_2038A0C
|
|
.word gBattleTypeFlags
|
|
.word gUnknown_02023A14_50
|
|
.word gTasks
|
|
.word debug_80C373C+1
|
|
._228:
|
|
mov r0, #0x8
|
|
and r0, r0, r2
|
|
cmp r0, #0
|
|
bne ._232 @cond_branch
|
|
mov r0, #0x1
|
|
and r0, r0, r2
|
|
cmp r0, #0
|
|
beq ._233 @cond_branch
|
|
._232:
|
|
mov r0, #0x5
|
|
bl PlaySE
|
|
ldr r1, ._236 @ gBattleTypeFlags
|
|
ldr r3, ._236 + 4 @ gUnknown_Debug_083F8068
|
|
ldr r2, ._236 + 8 @ gUnknown_Debug_2038A0C
|
|
ldrb r0, [r2, #0x3]
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r3
|
|
ldrb r0, [r0, #0x4]
|
|
strh r0, [r1]
|
|
ldr r1, ._236 + 12 @ gUnknown_02023A14_50
|
|
mov r0, #0x8
|
|
strb r0, [r1]
|
|
ldrb r0, [r2, #0x3]
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r3
|
|
ldrb r0, [r0, #0x5]
|
|
strb r0, [r2, #0xc]
|
|
ldrb r0, [r2, #0x3]
|
|
sub r0, r0, #0x1
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
cmp r0, #0x1
|
|
bhi ._234 @cond_branch
|
|
str r4, [sp]
|
|
mov r0, #0x0
|
|
mov r1, #0x1
|
|
mov r2, #0x1
|
|
mov r3, #0xe
|
|
bl debug_80C38E4
|
|
ldr r0, ._236 + 16 @ gTasks
|
|
lsl r1, r5, #0x2
|
|
add r1, r1, r5
|
|
lsl r1, r1, #0x3
|
|
add r1, r1, r0
|
|
ldr r0, ._236 + 20 @ debug_80C4A60
|
|
str r0, [r1]
|
|
b ._247
|
|
._237:
|
|
.align 2, 0
|
|
._236:
|
|
.word gBattleTypeFlags
|
|
.word gUnknown_Debug_083F8068
|
|
.word gUnknown_Debug_2038A0C
|
|
.word gUnknown_02023A14_50
|
|
.word gTasks
|
|
.word debug_80C4A60+1
|
|
._234:
|
|
ldr r0, ._239 @ gTasks
|
|
lsl r1, r5, #0x2
|
|
add r1, r1, r5
|
|
lsl r1, r1, #0x3
|
|
add r1, r1, r0
|
|
ldr r0, ._239 + 4 @ debug_80C4F48
|
|
str r0, [r1]
|
|
b ._247
|
|
._240:
|
|
.align 2, 0
|
|
._239:
|
|
.word gTasks
|
|
.word debug_80C4F48+1
|
|
._233:
|
|
ldrh r1, [r3, #0x30]
|
|
mov r0, #0x40
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._242 @cond_branch
|
|
ldr r1, ._244 @ gUnknown_Debug_2038A0C
|
|
ldrb r0, [r1, #0x3]
|
|
cmp r0, #0
|
|
beq ._242 @cond_branch
|
|
sub r0, r0, #0x1
|
|
b ._243
|
|
._245:
|
|
.align 2, 0
|
|
._244:
|
|
.word gUnknown_Debug_2038A0C
|
|
._242:
|
|
ldrh r1, [r3, #0x30]
|
|
mov r0, #0x80
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._247 @cond_branch
|
|
ldr r1, ._248 @ gUnknown_Debug_2038A0C
|
|
ldrb r0, [r1, #0x3]
|
|
cmp r0, #0x1
|
|
bhi ._247 @cond_branch
|
|
add r0, r0, #0x1
|
|
._243:
|
|
strb r0, [r1, #0x3]
|
|
ldr r1, ._248 + 4 @ gTasks
|
|
lsl r0, r5, #0x2
|
|
add r0, r0, r5
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r1, ._248 + 8 @ debug_80C48A0
|
|
._229:
|
|
str r1, [r0]
|
|
._247:
|
|
add sp, sp, #0x4
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
._249:
|
|
.align 2, 0
|
|
._248:
|
|
.word gUnknown_Debug_2038A0C
|
|
.word gTasks
|
|
.word debug_80C48A0+1
|
|
|
|
thumb_func_end debug_80C4900
|
|
|
|
thumb_func_start debug_80C4A60
|
|
debug_80C4A60:
|
|
push {r4, lr}
|
|
add sp, sp, #0xfffffffc
|
|
add r4, r0, #0
|
|
lsl r4, r4, #0x18
|
|
lsr r4, r4, #0x18
|
|
ldr r0, ._250 @ gUnknown_Debug_2038A0C
|
|
ldrb r0, [r0, #0x5]
|
|
lsl r0, r0, #0x19
|
|
mov r1, #0xc0
|
|
lsl r1, r1, #0x12
|
|
add r0, r0, r1
|
|
lsr r0, r0, #0x18
|
|
mov r1, #0x1
|
|
str r1, [sp]
|
|
mov r1, #0x10
|
|
mov r2, #0x1
|
|
mov r3, #0xe
|
|
bl debug_80C38E4
|
|
ldr r1, ._250 + 4 @ 0x4000042
|
|
ldr r2, ._250 + 8 @ 0x79ef
|
|
add r0, r2, #0
|
|
strh r0, [r1]
|
|
add r1, r1, #0x4
|
|
ldr r2, ._250 + 12 @ 0x17f
|
|
add r0, r2, #0
|
|
strh r0, [r1]
|
|
ldr r1, ._250 + 16 @ gTasks
|
|
lsl r0, r4, #0x2
|
|
add r0, r0, r4
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r1, ._250 + 20 @ debug_80C4AC4
|
|
str r1, [r0]
|
|
add sp, sp, #0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
._251:
|
|
.align 2, 0
|
|
._250:
|
|
.word gUnknown_Debug_2038A0C
|
|
.word 0x4000042
|
|
.word 0x79ef
|
|
.word 0x17f
|
|
.word gTasks
|
|
.word debug_80C4AC4+1
|
|
|
|
thumb_func_end debug_80C4A60
|
|
|
|
thumb_func_start debug_80C4AC4
|
|
debug_80C4AC4:
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
add sp, sp, #0xfffffffc
|
|
lsl r0, r0, #0x18
|
|
lsr r6, r0, #0x18
|
|
ldr r7, ._255 @ gUnknown_Debug_2038A0C
|
|
ldrb r0, [r7, #0x4]
|
|
mov ip, r0
|
|
ldrb r5, [r7, #0x5]
|
|
mov r1, ip
|
|
add r0, r1, r5
|
|
lsl r0, r0, #0x18
|
|
lsr r1, r0, #0x18
|
|
ldr r2, ._255 + 4 @ gMain
|
|
mov r8, r2
|
|
ldrh r2, [r2, #0x2e]
|
|
mov r3, #0x1
|
|
and r3, r3, r2
|
|
add r4, r7, #0
|
|
cmp r3, #0
|
|
beq ._252 @cond_branch
|
|
ldr r0, ._255 + 8 @ gUnknown_Debug_083F80D8
|
|
lsl r1, r1, #0x3
|
|
add r0, r0, #0x4
|
|
add r1, r1, r0
|
|
ldr r1, [r1]
|
|
ldr r3, ._255 + 12 @ byte_3005E30
|
|
ldr r2, [r3]
|
|
add r0, r2, #0
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._253 @cond_branch
|
|
ldr r0, ._255 + 16 @ 0xffff
|
|
eor r1, r1, r0
|
|
and r2, r2, r1
|
|
b ._254
|
|
._256:
|
|
.align 2, 0
|
|
._255:
|
|
.word gUnknown_Debug_2038A0C
|
|
.word gMain
|
|
.word gUnknown_Debug_083F80D8
|
|
.word byte_3005E30
|
|
.word 0xffff
|
|
._253:
|
|
orr r2, r2, r1
|
|
._254:
|
|
str r2, [r3]
|
|
ldrb r0, [r4, #0x4]
|
|
bl debug_80C4C44
|
|
ldr r1, ._258 @ gTasks
|
|
lsl r0, r6, #0x2
|
|
add r0, r0, r6
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r1, ._258 + 4 @ debug_80C4A60
|
|
str r1, [r0]
|
|
b ._274
|
|
._259:
|
|
.align 2, 0
|
|
._258:
|
|
.word gTasks
|
|
.word debug_80C4A60+1
|
|
._252:
|
|
mov r0, #0x2
|
|
and r0, r0, r2
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
cmp r4, #0
|
|
beq ._260 @cond_branch
|
|
str r3, [sp]
|
|
mov r0, #0x0
|
|
mov r1, #0x10
|
|
mov r2, #0x1
|
|
mov r3, #0xe
|
|
bl debug_80C38E4
|
|
ldr r0, ._262 @ gTasks
|
|
lsl r1, r6, #0x2
|
|
add r1, r1, r6
|
|
lsl r1, r1, #0x3
|
|
add r1, r1, r0
|
|
ldr r0, ._262 + 4 @ debug_80C48A0
|
|
b ._261
|
|
._263:
|
|
.align 2, 0
|
|
._262:
|
|
.word gTasks
|
|
.word debug_80C48A0+1
|
|
._260:
|
|
mov r0, #0x8
|
|
and r0, r0, r2
|
|
cmp r0, #0
|
|
beq ._264 @cond_branch
|
|
mov r0, #0x5
|
|
bl PlaySE
|
|
ldr r1, ._266 @ gTrainerBattleOpponent
|
|
mov r2, #0x80
|
|
lsl r2, r2, #0x3
|
|
add r0, r2, #0
|
|
strh r0, [r1]
|
|
ldr r1, ._266 + 4 @ 0x2017000
|
|
ldrb r2, [r1, #0x1]
|
|
mov r0, #0x11
|
|
neg r0, r0
|
|
and r0, r0, r2
|
|
strb r0, [r1, #0x1]
|
|
mov r0, #0xac
|
|
strb r0, [r1, #0x2]
|
|
mov r0, #0xff
|
|
strb r0, [r1, #0x3]
|
|
strb r4, [r1, #0x9]
|
|
strb r4, [r1, #0xa]
|
|
strb r4, [r1, #0xb]
|
|
strb r4, [r1, #0xc]
|
|
ldr r1, ._266 + 8 @ gTasks
|
|
lsl r0, r6, #0x2
|
|
add r0, r0, r6
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r1, ._266 + 12 @ debug_80C4F48
|
|
str r1, [r0]
|
|
b ._274
|
|
._267:
|
|
.align 2, 0
|
|
._266:
|
|
.word gTrainerBattleOpponent
|
|
.word 0x2017000
|
|
.word gTasks
|
|
.word debug_80C4F48+1
|
|
._264:
|
|
mov r0, r8
|
|
ldrh r1, [r0, #0x30]
|
|
mov r0, #0x40
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._268 @cond_branch
|
|
lsl r0, r5, #0x18
|
|
cmp r0, #0
|
|
beq ._269 @cond_branch
|
|
sub r0, r5, #1
|
|
strb r0, [r7, #0x5]
|
|
b ._277
|
|
._269:
|
|
mov r1, ip
|
|
lsl r0, r1, #0x18
|
|
cmp r0, #0
|
|
beq ._277 @cond_branch
|
|
mov r0, ip
|
|
sub r0, r0, #0x1
|
|
b ._272
|
|
._268:
|
|
mov r0, #0x80
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._274 @cond_branch
|
|
lsl r0, r5, #0x18
|
|
lsr r0, r0, #0x18
|
|
cmp r0, #0x8
|
|
bhi ._274 @cond_branch
|
|
cmp r0, #0x4
|
|
bhi ._275 @cond_branch
|
|
add r0, r5, #1
|
|
strb r0, [r7, #0x5]
|
|
b ._277
|
|
._275:
|
|
mov r2, ip
|
|
lsl r0, r2, #0x18
|
|
lsr r0, r0, #0x18
|
|
cmp r0, #0x3
|
|
bhi ._277 @cond_branch
|
|
mov r0, ip
|
|
add r0, r0, #0x1
|
|
._272:
|
|
strb r0, [r7, #0x4]
|
|
ldrb r0, [r7, #0x4]
|
|
bl debug_80C4C44
|
|
._277:
|
|
ldr r0, ._278 @ gTasks
|
|
lsl r1, r6, #0x2
|
|
add r1, r1, r6
|
|
lsl r1, r1, #0x3
|
|
add r1, r1, r0
|
|
ldr r0, ._278 + 4 @ debug_80C4A60
|
|
._261:
|
|
str r0, [r1]
|
|
._274:
|
|
add sp, sp, #0x4
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
._279:
|
|
.align 2, 0
|
|
._278:
|
|
.word gTasks
|
|
.word debug_80C4A60+1
|
|
|
|
thumb_func_end debug_80C4AC4
|
|
|
|
thumb_func_start debug_80C4C44
|
|
debug_80C4C44:
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sl
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5, r6, r7}
|
|
add sp, sp, #0xfffffff0
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
mov sl, r0
|
|
mov r2, #0x0
|
|
mov r5, sp
|
|
._290:
|
|
mov r0, sl
|
|
add r6, r2, r0
|
|
add r4, r6, #0
|
|
add r1, r2, #1
|
|
mov r8, r1
|
|
cmp r4, #0x9
|
|
bgt ._280 @cond_branch
|
|
mov r3, #0x0
|
|
ldr r1, ._288 @ gUnknown_Debug_083F80D8
|
|
lsl r0, r4, #0x3
|
|
add r0, r0, r1
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0]
|
|
ldr r7, ._288 + 4 @ byte_3005E30
|
|
mov r9, r7
|
|
lsl r2, r2, #0x1
|
|
mov ip, r2
|
|
cmp r0, #0xff
|
|
beq ._282 @cond_branch
|
|
add r7, r1, #0
|
|
._283:
|
|
add r0, r3, #3
|
|
mov r1, sp
|
|
add r2, r1, r0
|
|
lsl r1, r6, #0x3
|
|
add r1, r1, r7
|
|
ldr r0, [r1]
|
|
add r0, r0, r3
|
|
ldrb r0, [r0]
|
|
strb r0, [r2]
|
|
add r0, r3, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r3, r0, #0x18
|
|
ldr r0, [r1]
|
|
add r0, r0, r3
|
|
ldrb r0, [r0]
|
|
cmp r0, #0xff
|
|
beq ._282 @cond_branch
|
|
cmp r3, #0xb
|
|
bls ._283 @cond_branch
|
|
._282:
|
|
cmp r3, #0xb
|
|
bhi ._284 @cond_branch
|
|
mov r1, #0x0
|
|
._285:
|
|
add r0, r3, #3
|
|
add r0, r0, sp
|
|
strb r1, [r0]
|
|
add r0, r3, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r3, r0, #0x18
|
|
cmp r3, #0xb
|
|
bls ._285 @cond_branch
|
|
._284:
|
|
mov r0, #0xff
|
|
strb r0, [r5, #0xe]
|
|
mov r0, #0xfc
|
|
strb r0, [r5]
|
|
mov r2, #0x1
|
|
strb r2, [r5, #0x1]
|
|
add r1, r2, #0
|
|
LSL r1, r4
|
|
mov r3, r9
|
|
ldr r0, [r3]
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._286 @cond_branch
|
|
mov r0, #0x3
|
|
strb r0, [r5, #0x2]
|
|
b ._287
|
|
._289:
|
|
.align 2, 0
|
|
._288:
|
|
.word gUnknown_Debug_083F80D8
|
|
.word byte_3005E30
|
|
._286:
|
|
strb r2, [r5, #0x2]
|
|
._287:
|
|
mov r2, ip
|
|
add r2, r2, #0x3
|
|
lsl r2, r2, #0x18
|
|
lsr r2, r2, #0x18
|
|
mov r0, sp
|
|
mov r1, #0x11
|
|
bl Menu_PrintText
|
|
._280:
|
|
mov r7, r8
|
|
lsl r0, r7, #0x18
|
|
lsr r2, r0, #0x18
|
|
cmp r2, #0x5
|
|
bls ._290 @cond_branch
|
|
add sp, sp, #0x10
|
|
pop {r3, r4, r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov sl, r5
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
|
|
thumb_func_end debug_80C4C44
|
|
|
|
thumb_func_start debug_80C4D14
|
|
debug_80C4D14:
|
|
push {r4, r5, r6, lr}
|
|
add sp, sp, #0xffffffd0
|
|
add r4, r0, #0
|
|
lsl r4, r4, #0x18
|
|
lsr r4, r4, #0x18
|
|
ldr r1, ._291 @ gUnknown_Debug_083F81C7
|
|
mov r0, sp
|
|
mov r2, #0xf
|
|
bl memcpy
|
|
add r5, sp, #0x10
|
|
ldr r1, ._291 + 4 @ gUnknown_Debug_083F81F5
|
|
add r0, r5, #0
|
|
mov r2, #0xd
|
|
bl memcpy
|
|
add r6, sp, #0x20
|
|
ldr r1, ._291 + 8 @ gUnknown_Debug_083F8202
|
|
add r0, r6, #0
|
|
mov r2, #0xf
|
|
bl memcpy
|
|
mov r0, #0x0
|
|
mov r1, #0x10
|
|
mov r2, #0x1d
|
|
mov r3, #0x13
|
|
bl Menu_DrawStdWindowFrame
|
|
mov r0, sp
|
|
mov r1, #0x1
|
|
mov r2, #0x11
|
|
bl Menu_PrintText
|
|
add r0, r5, #0
|
|
mov r1, #0x14
|
|
mov r2, #0x11
|
|
bl Menu_PrintText
|
|
mov r0, #0x0
|
|
mov r1, #0x0
|
|
mov r2, #0xe
|
|
mov r3, #0xf
|
|
bl Menu_DrawStdWindowFrame
|
|
add r0, r6, #0
|
|
mov r1, #0x2
|
|
mov r2, #0x1
|
|
bl Menu_PrintText
|
|
ldr r0, ._291 + 12 @ gUnknown_Debug_2038A0C
|
|
ldrb r0, [r0, #0x6]
|
|
bl debug_80C4F00
|
|
mov r0, #0xf
|
|
mov r1, #0x0
|
|
mov r2, #0x1d
|
|
mov r3, #0xf
|
|
bl Menu_DrawStdWindowFrame
|
|
ldr r1, ._291 + 16 @ gTasks
|
|
lsl r0, r4, #0x2
|
|
add r0, r0, r4
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r1, ._291 + 20 @ debug_80C4DB8
|
|
str r1, [r0]
|
|
add sp, sp, #0x30
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
._292:
|
|
.align 2, 0
|
|
._291:
|
|
.word gUnknown_Debug_083F81C7
|
|
.word gUnknown_Debug_083F81F5
|
|
.word gUnknown_Debug_083F8202
|
|
.word gUnknown_Debug_2038A0C
|
|
.word gTasks
|
|
.word debug_80C4DB8+1
|
|
|
|
thumb_func_end debug_80C4D14
|
|
|
|
thumb_func_start debug_80C4DB8
|
|
debug_80C4DB8:
|
|
push {r4, lr}
|
|
add sp, sp, #0xfffffffc
|
|
add r4, r0, #0
|
|
lsl r4, r4, #0x18
|
|
lsr r4, r4, #0x18
|
|
ldr r0, ._293 @ gUnknown_Debug_2038A0C
|
|
ldrb r0, [r0, #0x7]
|
|
lsl r0, r0, #0x19
|
|
mov r1, #0xc0
|
|
lsl r1, r1, #0x12
|
|
add r0, r0, r1
|
|
lsr r0, r0, #0x18
|
|
mov r1, #0x1
|
|
str r1, [sp]
|
|
mov r2, #0x1
|
|
mov r3, #0xe
|
|
bl debug_80C38E4
|
|
ldr r1, ._293 + 4 @ 0x4000042
|
|
ldr r2, ._293 + 8 @ 0x177
|
|
add r0, r2, #0
|
|
strh r0, [r1]
|
|
add r1, r1, #0x4
|
|
add r2, r2, #0x8
|
|
add r0, r2, #0
|
|
strh r0, [r1]
|
|
ldr r1, ._293 + 12 @ gTasks
|
|
lsl r0, r4, #0x2
|
|
add r0, r0, r4
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r1, ._293 + 16 @ debug_80C4E18
|
|
str r1, [r0]
|
|
add sp, sp, #0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
._294:
|
|
.align 2, 0
|
|
._293:
|
|
.word gUnknown_Debug_2038A0C
|
|
.word 0x4000042
|
|
.word 0x177
|
|
.word gTasks
|
|
.word debug_80C4E18+1
|
|
|
|
thumb_func_end debug_80C4DB8
|
|
|
|
thumb_func_start debug_80C4E18
|
|
debug_80C4E18:
|
|
push {r4, r5, r6, r7, lr}
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
ldr r5, ._297 @ gUnknown_Debug_2038A0C
|
|
ldrb r3, [r5, #0x6]
|
|
ldrb r2, [r5, #0x7]
|
|
add r0, r3, r2
|
|
lsl r0, r0, #0x18
|
|
lsr r6, r0, #0x18
|
|
ldr r7, ._297 + 4 @ gMain
|
|
ldrh r1, [r7, #0x2e]
|
|
mov r0, #0x2
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._295 @cond_branch
|
|
ldr r0, ._297 + 8 @ gTasks
|
|
lsl r1, r4, #0x2
|
|
add r1, r1, r4
|
|
lsl r1, r1, #0x3
|
|
add r1, r1, r0
|
|
ldr r0, ._297 + 12 @ debug_80C42B8
|
|
b ._296
|
|
._298:
|
|
.align 2, 0
|
|
._297:
|
|
.word gUnknown_Debug_2038A0C
|
|
.word gMain
|
|
.word gTasks
|
|
.word debug_80C42B8+1
|
|
._295:
|
|
mov r0, #0x8
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
bne ._299 @cond_branch
|
|
mov r0, #0x1
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._300 @cond_branch
|
|
._299:
|
|
mov r0, #0x5
|
|
bl PlaySE
|
|
ldr r2, ._302 @ gBattleTerrain
|
|
ldr r1, ._302 + 4 @ gUnknown_Debug_083F814C
|
|
lsl r0, r6, #0x3
|
|
add r0, r0, r1
|
|
ldrb r0, [r0, #0x4]
|
|
strb r0, [r2]
|
|
ldr r1, ._302 + 8 @ gTasks
|
|
lsl r0, r4, #0x2
|
|
add r0, r0, r4
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r1, ._302 + 12 @ debug_80C5158
|
|
str r1, [r0]
|
|
b ._310
|
|
._303:
|
|
.align 2, 0
|
|
._302:
|
|
.word gBattleTerrain
|
|
.word gUnknown_Debug_083F814C
|
|
.word gTasks
|
|
.word debug_80C5158+1
|
|
._300:
|
|
ldrh r1, [r7, #0x30]
|
|
mov r0, #0x40
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._304 @cond_branch
|
|
lsl r0, r2, #0x18
|
|
cmp r0, #0
|
|
beq ._305 @cond_branch
|
|
sub r0, r2, #1
|
|
strb r0, [r5, #0x7]
|
|
b ._313
|
|
._305:
|
|
lsl r0, r3, #0x18
|
|
cmp r0, #0
|
|
beq ._313 @cond_branch
|
|
sub r0, r3, #1
|
|
b ._308
|
|
._304:
|
|
mov r0, #0x80
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._310 @cond_branch
|
|
lsl r0, r2, #0x18
|
|
lsr r0, r0, #0x18
|
|
cmp r0, #0x7
|
|
bhi ._310 @cond_branch
|
|
cmp r0, #0x4
|
|
bhi ._311 @cond_branch
|
|
add r0, r2, #1
|
|
strb r0, [r5, #0x7]
|
|
b ._313
|
|
._311:
|
|
lsl r0, r3, #0x18
|
|
lsr r0, r0, #0x18
|
|
cmp r0, #0x2
|
|
bhi ._313 @cond_branch
|
|
add r0, r3, #1
|
|
._308:
|
|
strb r0, [r5, #0x6]
|
|
ldrb r0, [r5, #0x6]
|
|
bl debug_80C4F00
|
|
._313:
|
|
ldr r0, ._314 @ gTasks
|
|
lsl r1, r4, #0x2
|
|
add r1, r1, r4
|
|
lsl r1, r1, #0x3
|
|
add r1, r1, r0
|
|
ldr r0, ._314 + 4 @ debug_80C4DB8
|
|
._296:
|
|
str r0, [r1]
|
|
._310:
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
._315:
|
|
.align 2, 0
|
|
._314:
|
|
.word gTasks
|
|
.word debug_80C4DB8+1
|
|
|
|
thumb_func_end debug_80C4E18
|
|
|
|
thumb_func_start debug_80C4F00
|
|
debug_80C4F00:
|
|
push {r4, r5, r6, lr}
|
|
lsl r0, r0, #0x18
|
|
lsr r5, r0, #0x18
|
|
mov r0, #0x1
|
|
mov r1, #0x3
|
|
mov r2, #0xd
|
|
mov r3, #0xe
|
|
bl Menu_BlankWindowRect
|
|
mov r4, #0x0
|
|
ldr r6, ._318 @ gUnknown_Debug_083F814C
|
|
._317:
|
|
cmp r4, #0x8
|
|
bhi ._316 @cond_branch
|
|
add r0, r4, r5
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r6
|
|
ldr r0, [r0]
|
|
lsl r2, r4, #0x19
|
|
mov r1, #0xc0
|
|
lsl r1, r1, #0x12
|
|
add r2, r2, r1
|
|
lsr r2, r2, #0x18
|
|
mov r1, #0x2
|
|
bl Menu_PrintText
|
|
._316:
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
cmp r4, #0x5
|
|
bls ._317 @cond_branch
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
._319:
|
|
.align 2, 0
|
|
._318:
|
|
.word gUnknown_Debug_083F814C
|
|
|
|
thumb_func_end debug_80C4F00
|
|
|
|
thumb_func_start debug_80C4F48
|
|
debug_80C4F48:
|
|
push {r4, r5, r6, lr}
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5, r6}
|
|
add sp, sp, #0xffffffc4
|
|
add r4, r0, #0
|
|
lsl r4, r4, #0x18
|
|
lsr r4, r4, #0x18
|
|
ldr r1, ._320 @ gUnknown_Debug_083F8211
|
|
mov r0, sp
|
|
mov r2, #0x11
|
|
bl memcpy
|
|
add r6, sp, #0x14
|
|
ldr r1, ._320 + 4 @ gUnknown_Debug_083F81A0
|
|
add r0, r6, #0
|
|
mov r2, #0xd
|
|
bl memcpy
|
|
add r5, sp, #0x24
|
|
ldr r1, ._320 + 8 @ gUnknown_Debug_083F8222
|
|
add r0, r5, #0
|
|
mov r2, #0xd
|
|
bl memcpy
|
|
add r0, sp, #0x34
|
|
mov r9, r0
|
|
ldr r1, ._320 + 12 @ gUnknown_Debug_083F822F
|
|
mov r2, #0x4
|
|
bl memcpy
|
|
add r0, sp, #0x38
|
|
mov r8, r0
|
|
ldr r1, ._320 + 16 @ gUnknown_Debug_083F8233
|
|
mov r2, #0x4
|
|
bl memcpy
|
|
mov r0, #0x0
|
|
mov r1, #0x10
|
|
mov r2, #0x1d
|
|
mov r3, #0x13
|
|
bl Menu_DrawStdWindowFrame
|
|
mov r0, sp
|
|
mov r1, #0x1
|
|
mov r2, #0x11
|
|
bl Menu_PrintText
|
|
add r0, r6, #0
|
|
mov r1, #0x14
|
|
mov r2, #0x11
|
|
bl Menu_PrintText
|
|
mov r0, #0x0
|
|
mov r1, #0x0
|
|
mov r2, #0xe
|
|
mov r3, #0xf
|
|
bl Menu_DrawStdWindowFrame
|
|
add r0, r5, #0
|
|
mov r1, #0x2
|
|
mov r2, #0x1
|
|
bl Menu_PrintText
|
|
mov r0, #0x1
|
|
mov r1, #0x3
|
|
mov r2, #0xd
|
|
mov r3, #0xe
|
|
bl Menu_BlankWindowRect
|
|
add r0, r5, #0
|
|
mov r1, #0x2
|
|
mov r2, #0x1
|
|
bl Menu_PrintText
|
|
mov r0, r9
|
|
mov r1, #0x2
|
|
mov r2, #0x3
|
|
bl Menu_PrintText
|
|
mov r0, r8
|
|
mov r1, #0x2
|
|
mov r2, #0x5
|
|
bl Menu_PrintText
|
|
mov r0, #0xf
|
|
mov r1, #0x0
|
|
mov r2, #0x1d
|
|
mov r3, #0xf
|
|
bl Menu_DrawStdWindowFrame
|
|
ldr r1, ._320 + 20 @ gTasks
|
|
lsl r0, r4, #0x2
|
|
add r0, r0, r4
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r1, ._320 + 24 @ debug_80C5038
|
|
str r1, [r0]
|
|
add sp, sp, #0x3c
|
|
pop {r3, r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
._321:
|
|
.align 2, 0
|
|
._320:
|
|
.word gUnknown_Debug_083F8211
|
|
.word gUnknown_Debug_083F81A0
|
|
.word gUnknown_Debug_083F8222
|
|
.word gUnknown_Debug_083F822F
|
|
.word gUnknown_Debug_083F8233
|
|
.word gTasks
|
|
.word debug_80C5038+1
|
|
|
|
thumb_func_end debug_80C4F48
|
|
|
|
thumb_func_start debug_80C5038
|
|
debug_80C5038:
|
|
push {r4, lr}
|
|
add sp, sp, #0xfffffffc
|
|
add r4, r0, #0
|
|
lsl r4, r4, #0x18
|
|
lsr r4, r4, #0x18
|
|
ldr r0, ._322 @ gUnknown_Debug_2038A0C
|
|
ldrb r0, [r0, #0x8]
|
|
lsl r0, r0, #0x19
|
|
mov r1, #0xc0
|
|
lsl r1, r1, #0x12
|
|
add r0, r0, r1
|
|
lsr r0, r0, #0x18
|
|
mov r1, #0x1
|
|
str r1, [sp]
|
|
mov r2, #0x1
|
|
mov r3, #0xe
|
|
bl debug_80C38E4
|
|
ldr r1, ._322 + 4 @ 0x4000042
|
|
ldr r2, ._322 + 8 @ 0x177
|
|
add r0, r2, #0
|
|
strh r0, [r1]
|
|
add r1, r1, #0x4
|
|
add r2, r2, #0x8
|
|
add r0, r2, #0
|
|
strh r0, [r1]
|
|
ldr r1, ._322 + 12 @ gTasks
|
|
lsl r0, r4, #0x2
|
|
add r0, r0, r4
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r1, ._322 + 16 @ debug_80C5098
|
|
str r1, [r0]
|
|
add sp, sp, #0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
._323:
|
|
.align 2, 0
|
|
._322:
|
|
.word gUnknown_Debug_2038A0C
|
|
.word 0x4000042
|
|
.word 0x177
|
|
.word gTasks
|
|
.word debug_80C5098+1
|
|
|
|
thumb_func_end debug_80C5038
|
|
|
|
thumb_func_start debug_80C5098
|
|
debug_80C5098:
|
|
push {r4, lr}
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
ldr r1, ._326 @ gMain
|
|
ldrh r2, [r1, #0x2e]
|
|
mov r0, #0x2
|
|
and r0, r0, r2
|
|
add r3, r1, #0
|
|
cmp r0, #0
|
|
beq ._324 @cond_branch
|
|
ldr r0, ._326 + 4 @ gTasks
|
|
lsl r1, r4, #0x2
|
|
add r1, r1, r4
|
|
lsl r1, r1, #0x3
|
|
add r1, r1, r0
|
|
ldr r0, ._326 + 8 @ debug_80C47BC
|
|
str r0, [r1]
|
|
b ._339
|
|
._327:
|
|
.align 2, 0
|
|
._326:
|
|
.word gMain
|
|
.word gTasks
|
|
.word debug_80C47BC+1
|
|
._324:
|
|
mov r0, #0x8
|
|
and r0, r0, r2
|
|
cmp r0, #0
|
|
bne ._328 @cond_branch
|
|
mov r0, #0x1
|
|
and r0, r0, r2
|
|
cmp r0, #0
|
|
beq ._329 @cond_branch
|
|
._328:
|
|
mov r0, #0x5
|
|
bl PlaySE
|
|
ldr r1, ._331 @ gSaveBlock2
|
|
ldr r0, ._331 + 4 @ gUnknown_Debug_2038A0C
|
|
ldrb r0, [r0, #0x8]
|
|
strb r0, [r1, #0x8]
|
|
ldr r1, ._331 + 8 @ gTasks
|
|
lsl r0, r4, #0x2
|
|
add r0, r0, r4
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r1, ._331 + 12 @ debug_80C42B8
|
|
b ._330
|
|
._332:
|
|
.align 2, 0
|
|
._331:
|
|
.word gSaveBlock2
|
|
.word gUnknown_Debug_2038A0C
|
|
.word gTasks
|
|
.word debug_80C42B8+1
|
|
._329:
|
|
ldrh r1, [r3, #0x30]
|
|
mov r0, #0x40
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._334 @cond_branch
|
|
ldr r1, ._336 @ gUnknown_Debug_2038A0C
|
|
ldrb r0, [r1, #0x8]
|
|
cmp r0, #0
|
|
beq ._334 @cond_branch
|
|
sub r0, r0, #0x1
|
|
b ._335
|
|
._337:
|
|
.align 2, 0
|
|
._336:
|
|
.word gUnknown_Debug_2038A0C
|
|
._334:
|
|
ldrh r1, [r3, #0x30]
|
|
mov r0, #0x80
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._339 @cond_branch
|
|
ldr r1, ._340 @ gUnknown_Debug_2038A0C
|
|
ldrb r0, [r1, #0x8]
|
|
cmp r0, #0
|
|
bne ._339 @cond_branch
|
|
add r0, r0, #0x1
|
|
._335:
|
|
strb r0, [r1, #0x8]
|
|
ldr r1, ._340 + 4 @ gTasks
|
|
lsl r0, r4, #0x2
|
|
add r0, r0, r4
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r1, ._340 + 8 @ debug_80C5038
|
|
._330:
|
|
str r1, [r0]
|
|
._339:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
._341:
|
|
.align 2, 0
|
|
._340:
|
|
.word gUnknown_Debug_2038A0C
|
|
.word gTasks
|
|
.word debug_80C5038+1
|
|
|
|
thumb_func_end debug_80C5098
|
|
|
|
thumb_func_start debug_80C5158
|
|
debug_80C5158:
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
ldr r2, ._342 @ gTasks
|
|
lsl r1, r0, #0x2
|
|
add r1, r1, r0
|
|
lsl r1, r1, #0x3
|
|
add r1, r1, r2
|
|
ldr r0, ._342 + 4 @ debug_80C5174
|
|
str r0, [r1]
|
|
bx lr
|
|
._343:
|
|
.align 2, 0
|
|
._342:
|
|
.word gTasks
|
|
.word debug_80C5174+1
|
|
|
|
thumb_func_end debug_80C5158
|
|
|
|
thumb_func_start debug_80C5174
|
|
debug_80C5174:
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
ldr r2, ._344 @ gTasks
|
|
lsl r1, r0, #0x2
|
|
add r1, r1, r0
|
|
lsl r1, r1, #0x3
|
|
add r1, r1, r2
|
|
ldr r0, ._344 + 4 @ debug_80C5190
|
|
str r0, [r1]
|
|
bx lr
|
|
._345:
|
|
.align 2, 0
|
|
._344:
|
|
.word gTasks
|
|
.word debug_80C5190+1
|
|
|
|
thumb_func_end debug_80C5174
|
|
|
|
thumb_func_start debug_80C5190
|
|
debug_80C5190:
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
ldr r2, ._346 @ gTasks
|
|
lsl r1, r0, #0x2
|
|
add r1, r1, r0
|
|
lsl r1, r1, #0x3
|
|
add r1, r1, r2
|
|
ldr r0, ._346 + 4 @ debug_80C51AC
|
|
str r0, [r1]
|
|
bx lr
|
|
._347:
|
|
.align 2, 0
|
|
._346:
|
|
.word gTasks
|
|
.word debug_80C51AC+1
|
|
|
|
thumb_func_end debug_80C5190
|
|
|
|
thumb_func_start debug_80C51AC
|
|
debug_80C51AC:
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
ldr r2, ._348 @ gTasks
|
|
lsl r1, r0, #0x2
|
|
add r1, r1, r0
|
|
lsl r1, r1, #0x3
|
|
add r1, r1, r2
|
|
ldr r0, ._348 + 4 @ debug_80C51C8
|
|
str r0, [r1]
|
|
bx lr
|
|
._349:
|
|
.align 2, 0
|
|
._348:
|
|
.word gTasks
|
|
.word debug_80C51C8+1
|
|
|
|
thumb_func_end debug_80C51AC
|
|
|
|
thumb_func_start debug_80C51C8
|
|
debug_80C51C8:
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
ldr r2, ._350 @ gTasks
|
|
lsl r1, r0, #0x2
|
|
add r1, r1, r0
|
|
lsl r1, r1, #0x3
|
|
add r1, r1, r2
|
|
ldr r0, ._350 + 4 @ debug_80C51E4
|
|
str r0, [r1]
|
|
bx lr
|
|
._351:
|
|
.align 2, 0
|
|
._350:
|
|
.word gTasks
|
|
.word debug_80C51E4+1
|
|
|
|
thumb_func_end debug_80C51C8
|
|
|
|
thumb_func_start debug_80C51E4
|
|
debug_80C51E4:
|
|
push {lr}
|
|
bl sub_80408BC
|
|
ldr r0, ._352 @ gMain
|
|
ldr r1, ._352 + 4 @ debug_80C41A8
|
|
str r1, [r0, #0x8]
|
|
ldr r0, ._352 + 8 @ unref_sub_800D684
|
|
bl SetMainCallback2
|
|
pop {r0}
|
|
bx r0
|
|
._353:
|
|
.align 2, 0
|
|
._352:
|
|
.word gMain
|
|
.word debug_80C41A8+1
|
|
.word unref_sub_800D684+1
|
|
|
|
thumb_func_end debug_80C51E4
|
|
|
|
thumb_func_start debug_80C5208
|
|
debug_80C5208:
|
|
push {r4, r5, r6, lr}
|
|
ldr r1, ._355 @ gUnknown_Debug_2038A1C
|
|
ldr r0, ._355 + 4 @ 0x2018000
|
|
str r0, [r1]
|
|
mov r3, #0x0
|
|
add r6, r1, #0
|
|
ldr r4, ._355 + 8 @ gSaveBlock2
|
|
add r5, r6, #0
|
|
mov r2, #0x0
|
|
._354:
|
|
ldr r0, [r5]
|
|
lsl r1, r3, #0x2
|
|
add r0, r0, #0x64
|
|
add r0, r0, r1
|
|
str r2, [r0]
|
|
add r0, r3, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r3, r0, #0x10
|
|
cmp r3, #0x3f
|
|
bls ._354 @cond_branch
|
|
ldr r2, [r6]
|
|
mov r0, #0xfc
|
|
str r0, [r2, #0x64]
|
|
ldrb r1, [r4, #0xa]
|
|
ldrb r0, [r4, #0xb]
|
|
lsl r0, r0, #0x8
|
|
orr r1, r1, r0
|
|
ldrb r0, [r4, #0xc]
|
|
lsl r0, r0, #0x10
|
|
orr r1, r1, r0
|
|
ldrb r0, [r4, #0xd]
|
|
lsl r0, r0, #0x18
|
|
orr r1, r1, r0
|
|
str r1, [r2, #0x70]
|
|
bl Random
|
|
add r4, r0, #0
|
|
bl Random
|
|
ldr r1, [r6]
|
|
lsl r4, r4, #0x10
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
orr r4, r4, r0
|
|
str r4, [r1, #0x74]
|
|
mov r0, #0x1
|
|
str r0, [r1, #0x68]
|
|
str r0, [r1, #0x6c]
|
|
bl debug_80C5C94
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
._356:
|
|
.align 2, 0
|
|
._355:
|
|
.word gUnknown_Debug_2038A1C
|
|
.word 0x2018000
|
|
.word gSaveBlock2
|
|
|
|
thumb_func_end debug_80C5208
|
|
|
|
thumb_func_start debug_80C527C
|
|
debug_80C527C:
|
|
push {r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
mov r5, #0x0
|
|
ldr r7, ._359 @ gPlayerPartyCount
|
|
._361:
|
|
mov r0, #0x64
|
|
add r1, r5, #0
|
|
mul r1, r1, r0
|
|
ldr r0, ._359 + 4 @ gPlayerParty
|
|
add r4, r1, r0
|
|
add r0, r4, #0
|
|
mov r1, #0xb
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
cmp r0, #0
|
|
bne ._357 @cond_branch
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r2, #0x64
|
|
bl memcpy
|
|
add r0, r5, #1
|
|
strb r0, [r7]
|
|
mov r0, #0x0
|
|
b ._358
|
|
._360:
|
|
.align 2, 0
|
|
._359:
|
|
.word gPlayerPartyCount
|
|
.word gPlayerParty
|
|
._357:
|
|
add r0, r5, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r5, r0, #0x18
|
|
cmp r5, #0x5
|
|
bls ._361 @cond_branch
|
|
ldr r0, ._362 @ gUnknown_Debug_2038A1C
|
|
ldr r0, [r0]
|
|
bl SendMonToPC
|
|
mov r0, #0x1
|
|
._358:
|
|
pop {r4, r5, r6, r7}
|
|
pop {r1}
|
|
bx r1
|
|
._363:
|
|
.align 2, 0
|
|
._362:
|
|
.word gUnknown_Debug_2038A1C
|
|
|
|
thumb_func_end debug_80C527C
|
|
|
|
thumb_func_start InitCreatePokemon
|
|
InitCreatePokemon:
|
|
push {r4, r5, lr}
|
|
add sp, sp, #0xffffffd4
|
|
ldr r1, ._364 @ gUnknown_Debug_083F8733
|
|
add r0, sp, #0x4
|
|
mov r2, #0x25
|
|
bl memcpy
|
|
bl debug_80C35DC
|
|
mov r0, #0x1
|
|
neg r0, r0
|
|
mov r4, #0x0
|
|
str r4, [sp]
|
|
mov r1, #0x0
|
|
mov r2, #0x10
|
|
mov r3, #0x0
|
|
bl BeginNormalPaletteFade
|
|
ldr r0, ._364 + 4 @ 0x4000050
|
|
mov r5, #0x0
|
|
strh r4, [r0]
|
|
add r0, r0, #0x2
|
|
strh r4, [r0]
|
|
add r0, r0, #0x2
|
|
strh r4, [r0]
|
|
ldr r3, ._364 + 8 @ 0x4000208
|
|
ldrh r2, [r3]
|
|
strh r4, [r3]
|
|
ldr r4, ._364 + 12 @ 0x4000200
|
|
ldrh r0, [r4]
|
|
mov r1, #0x1
|
|
orr r0, r0, r1
|
|
strh r0, [r4]
|
|
strh r2, [r3]
|
|
ldr r2, ._364 + 16 @ 0x4000004
|
|
ldrh r0, [r2]
|
|
mov r1, #0x8
|
|
orr r0, r0, r1
|
|
strh r0, [r2]
|
|
ldr r0, ._364 + 20 @ debug_80C3758
|
|
bl SetVBlankCallback
|
|
ldr r0, ._364 + 24 @ debug_80C370C
|
|
bl SetMainCallback2
|
|
mov r0, #0x0
|
|
mov r1, #0x0
|
|
mov r2, #0x1d
|
|
mov r3, #0x3
|
|
bl Menu_DrawStdWindowFrame
|
|
add r0, sp, #0x4
|
|
mov r1, #0x1
|
|
mov r2, #0x1
|
|
bl Menu_PrintText
|
|
mov r1, #0x80
|
|
lsl r1, r1, #0x13
|
|
mov r2, #0x8a
|
|
lsl r2, r2, #0x5
|
|
add r0, r2, #0
|
|
strh r0, [r1]
|
|
ldr r0, ._364 + 28 @ debug_80C53A4
|
|
mov r1, #0x0
|
|
bl CreateTask
|
|
bl debug_80C5208
|
|
ldr r1, ._364 + 32 @ gUnknown_Debug_2038A1C
|
|
ldr r0, [r1]
|
|
mov r2, #0xb4
|
|
lsl r2, r2, #0x1
|
|
add r0, r0, r2
|
|
strb r5, [r0]
|
|
ldr r0, [r1]
|
|
ldr r1, ._364 + 36 @ 0x169
|
|
add r0, r0, r1
|
|
strb r5, [r0]
|
|
add sp, sp, #0x2c
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
._365:
|
|
.align 2, 0
|
|
._364:
|
|
.word gUnknown_Debug_083F8733
|
|
.word 0x4000050
|
|
.word 0x4000208
|
|
.word 0x4000200
|
|
.word 0x4000004
|
|
.word debug_80C3758+1
|
|
.word debug_80C370C+1
|
|
.word debug_80C53A4+1
|
|
.word gUnknown_Debug_2038A1C
|
|
.word 0x169
|
|
|
|
thumb_func_end InitCreatePokemon
|
|
|
|
thumb_func_start debug_80C53A4
|
|
debug_80C53A4:
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
ldr r2, ._366 @ gTasks
|
|
lsl r1, r0, #0x2
|
|
add r1, r1, r0
|
|
lsl r1, r1, #0x3
|
|
add r1, r1, r2
|
|
ldr r0, ._366 + 4 @ debug_80C53C0
|
|
str r0, [r1]
|
|
bx lr
|
|
._367:
|
|
.align 2, 0
|
|
._366:
|
|
.word gTasks
|
|
.word debug_80C53C0+1
|
|
|
|
thumb_func_end debug_80C53A4
|
|
|
|
thumb_func_start debug_80C53C0
|
|
debug_80C53C0:
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
lsl r4, r4, #0x18
|
|
lsr r4, r4, #0x18
|
|
bl debug_80C6384
|
|
mov r0, #0x0
|
|
bl debug_80C627C
|
|
ldr r1, ._368 @ gTasks
|
|
lsl r0, r4, #0x2
|
|
add r0, r0, r4
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r1, ._368 + 4 @ debug_80C53F0
|
|
str r1, [r0]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
._369:
|
|
.align 2, 0
|
|
._368:
|
|
.word gTasks
|
|
.word debug_80C53F0+1
|
|
|
|
thumb_func_end debug_80C53C0
|
|
|
|
thumb_func_start debug_80C53F0
|
|
debug_80C53F0:
|
|
push {r4, r5, r6, lr}
|
|
add sp, sp, #0xfffffffc
|
|
lsl r0, r0, #0x18
|
|
lsr r5, r0, #0x18
|
|
ldr r0, ._372 @ gMain
|
|
ldrh r1, [r0, #0x2e]
|
|
mov r2, #0x1
|
|
and r2, r2, r1
|
|
add r4, r0, #0
|
|
cmp r2, #0
|
|
beq ._370 @cond_branch
|
|
ldr r0, ._372 + 4 @ gUnknown_Debug_2038A1C
|
|
ldr r3, [r0]
|
|
mov r0, #0xb2
|
|
lsl r0, r0, #0x1
|
|
add r2, r3, r0
|
|
ldr r1, ._372 + 8 @ gUnknown_Debug_083F8698
|
|
mov r4, #0xb4
|
|
lsl r4, r4, #0x1
|
|
add r0, r3, r4
|
|
ldrb r0, [r0]
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r6, ._372 + 12 @ 0x169
|
|
add r1, r3, r6
|
|
ldrb r1, [r1]
|
|
ldr r0, [r0]
|
|
add r0, r0, r1
|
|
ldrb r1, [r0]
|
|
lsl r1, r1, #0x2
|
|
add r0, r3, #0
|
|
add r0, r0, #0x64
|
|
add r0, r0, r1
|
|
ldr r0, [r0]
|
|
str r0, [r2]
|
|
mov r0, #0xb5
|
|
lsl r0, r0, #0x1
|
|
add r1, r3, r0
|
|
mov r0, #0x0
|
|
strb r0, [r1]
|
|
bl debug_80C643C
|
|
ldr r1, ._372 + 16 @ gTasks
|
|
lsl r0, r5, #0x2
|
|
add r0, r0, r5
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r1, ._372 + 20 @ debug_80C55E4
|
|
b ._375
|
|
._373:
|
|
.align 2, 0
|
|
._372:
|
|
.word gMain
|
|
.word gUnknown_Debug_2038A1C
|
|
.word gUnknown_Debug_083F8698
|
|
.word 0x169
|
|
.word gTasks
|
|
.word debug_80C55E4+1
|
|
._370:
|
|
mov r0, #0x2
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._374 @cond_branch
|
|
mov r0, #0x1
|
|
neg r0, r0
|
|
str r2, [sp]
|
|
mov r1, #0x0
|
|
mov r2, #0x0
|
|
mov r3, #0x10
|
|
bl BeginNormalPaletteFade
|
|
ldr r0, ._376 @ debug_80C370C
|
|
bl SetMainCallback2
|
|
ldr r1, ._376 + 4 @ gTasks
|
|
lsl r0, r5, #0x2
|
|
add r0, r0, r5
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r1, ._376 + 8 @ debug_80C373C
|
|
b ._375
|
|
._377:
|
|
.align 2, 0
|
|
._376:
|
|
.word debug_80C370C+1
|
|
.word gTasks
|
|
.word debug_80C373C+1
|
|
._374:
|
|
mov r0, #0x8
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._378 @cond_branch
|
|
mov r0, #0x5
|
|
bl PlaySE
|
|
bl debug_80C5FFC
|
|
ldr r0, ._381 @ gUnknown_Debug_2038A1C
|
|
ldr r0, [r0]
|
|
bl debug_80C527C
|
|
add r4, r0, #0
|
|
lsl r4, r4, #0x18
|
|
lsr r4, r4, #0x18
|
|
mov r0, #0x3
|
|
mov r1, #0x8
|
|
mov r2, #0x1a
|
|
mov r3, #0xb
|
|
bl Menu_DrawStdWindowFrame
|
|
cmp r4, #0
|
|
beq ._379 @cond_branch
|
|
ldr r0, ._381 + 4 @ gUnknown_Debug_083F872A
|
|
mov r1, #0x4
|
|
mov r2, #0x9
|
|
bl Menu_PrintText
|
|
b ._380
|
|
._382:
|
|
.align 2, 0
|
|
._381:
|
|
.word gUnknown_Debug_2038A1C
|
|
.word gUnknown_Debug_083F872A
|
|
._379:
|
|
ldr r0, ._384 @ gUnknown_Debug_083F8720
|
|
mov r1, #0x4
|
|
mov r2, #0x9
|
|
bl Menu_PrintText
|
|
._380:
|
|
ldr r0, ._384 + 4 @ gTasks
|
|
lsl r1, r5, #0x2
|
|
add r1, r1, r5
|
|
lsl r1, r1, #0x3
|
|
add r1, r1, r0
|
|
ldr r0, ._384 + 8 @ debug_80C5708
|
|
str r0, [r1]
|
|
b ._400
|
|
._385:
|
|
.align 2, 0
|
|
._384:
|
|
.word gUnknown_Debug_083F8720
|
|
.word gTasks
|
|
.word debug_80C5708+1
|
|
._378:
|
|
mov r0, #0x4
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._386 @cond_branch
|
|
ldr r0, ._388 @ gUnknown_Debug_2038A1C
|
|
ldr r0, [r0]
|
|
ldr r4, [r0, #0x64]
|
|
lsl r4, r4, #0x10
|
|
lsr r4, r4, #0x10
|
|
add r0, r4, #0
|
|
mov r1, #0x2
|
|
bl GetSetPokedexFlag
|
|
add r0, r4, #0
|
|
mov r1, #0x3
|
|
bl GetSetPokedexFlag
|
|
mov r0, #0x5
|
|
bl PlaySE
|
|
b ._400
|
|
._389:
|
|
.align 2, 0
|
|
._388:
|
|
.word gUnknown_Debug_2038A1C
|
|
._386:
|
|
mov r0, #0x40
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._390 @cond_branch
|
|
mov r0, #0x2
|
|
bl debug_80C627C
|
|
b ._400
|
|
._390:
|
|
mov r0, #0x80
|
|
and r0, r0, r1
|
|
lsl r0, r0, #0x10
|
|
lsr r3, r0, #0x10
|
|
cmp r3, #0
|
|
beq ._392 @cond_branch
|
|
mov r0, #0x1
|
|
bl debug_80C627C
|
|
b ._400
|
|
._392:
|
|
mov r0, #0x80
|
|
lsl r0, r0, #0x2
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._395 @cond_branch
|
|
ldr r2, ._397 @ gUnknown_Debug_2038A1C
|
|
ldr r0, [r2]
|
|
mov r6, #0xb4
|
|
lsl r6, r6, #0x1
|
|
add r1, r0, r6
|
|
ldrb r0, [r1]
|
|
cmp r0, #0
|
|
beq ._395 @cond_branch
|
|
sub r0, r0, #0x1
|
|
strb r0, [r1]
|
|
ldr r0, [r2]
|
|
ldr r1, ._397 + 4 @ 0x169
|
|
add r0, r0, r1
|
|
strb r3, [r0]
|
|
b ._396
|
|
._398:
|
|
.align 2, 0
|
|
._397:
|
|
.word gUnknown_Debug_2038A1C
|
|
.word 0x169
|
|
._395:
|
|
ldrh r1, [r4, #0x2e]
|
|
mov r0, #0x80
|
|
lsl r0, r0, #0x1
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._400 @cond_branch
|
|
ldr r3, ._401 @ gUnknown_Debug_2038A1C
|
|
ldr r0, [r3]
|
|
mov r4, #0xb4
|
|
lsl r4, r4, #0x1
|
|
add r2, r0, r4
|
|
ldrb r0, [r2]
|
|
cmp r0, #0x4
|
|
bhi ._400 @cond_branch
|
|
add r0, r0, #0x1
|
|
mov r1, #0x0
|
|
strb r0, [r2]
|
|
ldr r0, [r3]
|
|
ldr r6, ._401 + 4 @ 0x169
|
|
add r0, r0, r6
|
|
strb r1, [r0]
|
|
._396:
|
|
ldr r1, ._401 + 8 @ gTasks
|
|
lsl r0, r5, #0x2
|
|
add r0, r0, r5
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r1, ._401 + 12 @ debug_80C53C0
|
|
._375:
|
|
str r1, [r0]
|
|
._400:
|
|
add sp, sp, #0x4
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
._402:
|
|
.align 2, 0
|
|
._401:
|
|
.word gUnknown_Debug_2038A1C
|
|
.word 0x169
|
|
.word gTasks
|
|
.word debug_80C53C0+1
|
|
|
|
thumb_func_end debug_80C53F0
|
|
|
|
thumb_func_start debug_80C55E4
|
|
debug_80C55E4:
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
lsl r0, r0, #0x18
|
|
lsr r3, r0, #0x18
|
|
add r6, r3, #0
|
|
ldr r1, ._405 @ gUnknown_Debug_083F8698
|
|
ldr r2, ._405 + 4 @ gUnknown_Debug_2038A1C
|
|
ldr r0, [r2]
|
|
mov ip, r0
|
|
mov r0, #0xb4
|
|
lsl r0, r0, #0x1
|
|
add r0, r0, ip
|
|
ldrb r0, [r0]
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r1, ._405 + 8 @ 0x169
|
|
add r1, r1, ip
|
|
ldrb r1, [r1]
|
|
ldr r0, [r0]
|
|
add r0, r0, r1
|
|
ldrb r5, [r0]
|
|
add r7, r5, #0
|
|
ldr r1, ._405 + 12 @ gMain
|
|
ldrh r4, [r1, #0x2e]
|
|
mov r0, #0x1
|
|
and r0, r0, r4
|
|
mov r8, r2
|
|
add r2, r1, #0
|
|
cmp r0, #0
|
|
beq ._403 @cond_branch
|
|
ldr r0, ._405 + 16 @ gTasks
|
|
lsl r1, r3, #0x2
|
|
add r1, r1, r3
|
|
lsl r1, r1, #0x3
|
|
add r1, r1, r0
|
|
ldr r0, ._405 + 20 @ debug_80C53C0
|
|
str r0, [r1]
|
|
b ._422
|
|
._406:
|
|
.align 2, 0
|
|
._405:
|
|
.word gUnknown_Debug_083F8698
|
|
.word gUnknown_Debug_2038A1C
|
|
.word 0x169
|
|
.word gMain
|
|
.word gTasks
|
|
.word debug_80C53C0+1
|
|
._403:
|
|
mov r0, #0x2
|
|
and r0, r0, r4
|
|
cmp r0, #0
|
|
beq ._407 @cond_branch
|
|
lsl r1, r5, #0x2
|
|
mov r0, ip
|
|
add r0, r0, #0x64
|
|
add r0, r0, r1
|
|
mov r1, #0xb2
|
|
lsl r1, r1, #0x1
|
|
add r1, r1, ip
|
|
ldr r1, [r1]
|
|
str r1, [r0]
|
|
ldr r1, ._409 @ gTasks
|
|
lsl r0, r6, #0x2
|
|
add r0, r0, r6
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r1, ._409 + 4 @ debug_80C53C0
|
|
str r1, [r0]
|
|
b ._422
|
|
._410:
|
|
.align 2, 0
|
|
._409:
|
|
.word gTasks
|
|
.word debug_80C53C0+1
|
|
._407:
|
|
ldrh r1, [r2, #0x30]
|
|
mov r0, #0x40
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._411 @cond_branch
|
|
mov r0, #0x1
|
|
b ._412
|
|
._411:
|
|
mov r0, #0x80
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._413 @cond_branch
|
|
mov r0, #0x2
|
|
._412:
|
|
bl debug_80C6544
|
|
bl debug_80C643C
|
|
b ._422
|
|
._413:
|
|
ldr r0, ._419 @ gUnknown_Debug_083F8554
|
|
lsl r1, r7, #0x3
|
|
add r0, r0, #0x4
|
|
add r1, r1, r0
|
|
ldr r1, [r1]
|
|
ldrb r0, [r1, #0x9]
|
|
cmp r0, #0xff
|
|
beq ._422 @cond_branch
|
|
mov r0, #0x20
|
|
and r0, r0, r4
|
|
cmp r0, #0
|
|
beq ._417 @cond_branch
|
|
mov r0, #0xb5
|
|
lsl r0, r0, #0x1
|
|
add ip, ip, r0
|
|
mov r0, ip
|
|
ldrb r3, [r0]
|
|
ldrb r0, [r1, #0x9]
|
|
sub r0, r0, #0x1
|
|
cmp r3, r0
|
|
bge ._417 @cond_branch
|
|
add r0, r3, #1
|
|
mov r1, ip
|
|
strb r0, [r1]
|
|
bl debug_80C643C
|
|
b ._422
|
|
._420:
|
|
.align 2, 0
|
|
._419:
|
|
.word gUnknown_Debug_083F8554
|
|
._417:
|
|
ldrh r1, [r2, #0x2e]
|
|
mov r0, #0x10
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._422 @cond_branch
|
|
mov r2, r8
|
|
ldr r0, [r2]
|
|
mov r2, #0xb5
|
|
lsl r2, r2, #0x1
|
|
add r1, r0, r2
|
|
ldrb r0, [r1]
|
|
cmp r0, #0
|
|
beq ._422 @cond_branch
|
|
sub r0, r0, #0x1
|
|
strb r0, [r1]
|
|
bl debug_80C643C
|
|
._422:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
|
|
thumb_func_end debug_80C55E4
|
|
|
|
thumb_func_start debug_80C5708
|
|
debug_80C5708:
|
|
push {lr}
|
|
lsl r0, r0, #0x18
|
|
lsr r2, r0, #0x18
|
|
ldr r0, ._424 @ gMain
|
|
ldrh r1, [r0, #0x2e]
|
|
mov r0, #0x1
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._423 @cond_branch
|
|
ldr r0, ._424 + 4 @ gTasks
|
|
lsl r1, r2, #0x2
|
|
add r1, r1, r2
|
|
lsl r1, r1, #0x3
|
|
add r1, r1, r0
|
|
ldr r0, ._424 + 8 @ debug_80C53C0
|
|
str r0, [r1]
|
|
._423:
|
|
pop {r0}
|
|
bx r0
|
|
._425:
|
|
.align 2, 0
|
|
._424:
|
|
.word gMain
|
|
.word gTasks
|
|
.word debug_80C53C0+1
|
|
|
|
thumb_func_end debug_80C5708
|
|
|
|
thumb_func_start debug_80C5738
|
|
debug_80C5738:
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6, r7}
|
|
add r6, r0, #0
|
|
lsl r1, r1, #0x18
|
|
lsr r4, r1, #0x18
|
|
lsl r2, r2, #0x18
|
|
lsr r2, r2, #0x18
|
|
mov r8, r2
|
|
cmp r4, #0xfe
|
|
bne ._426 @cond_branch
|
|
ldr r1, ._428 @ gUnknown_Debug_083F850A
|
|
mov r2, #0x7
|
|
bl debug_80C689C
|
|
add r0, r6, #7
|
|
ldr r7, ._428 + 4 @ gUnknown_Debug_2038A1C
|
|
ldr r1, [r7]
|
|
add r1, r1, #0xf0
|
|
ldr r1, [r1]
|
|
mov r2, #0x3
|
|
mov r3, #0x1
|
|
bl debug_80C6678
|
|
mov r4, #0x0
|
|
strb r4, [r6, #0x13]
|
|
strb r4, [r6, #0x14]
|
|
add r0, r6, #0
|
|
add r0, r0, #0x15
|
|
ldr r1, ._428 + 8 @ gUnknown_Debug_083F8514
|
|
mov r2, #0x7
|
|
bl debug_80C689C
|
|
add r0, r6, #0
|
|
add r0, r0, #0x1c
|
|
ldr r1, [r7]
|
|
add r1, r1, #0xf4
|
|
ldr r1, [r1]
|
|
mov r2, #0x3
|
|
mov r3, #0x1
|
|
bl debug_80C6678
|
|
add r0, r6, #0
|
|
add r0, r0, #0x28
|
|
strb r4, [r0]
|
|
add r0, r0, #0x1
|
|
strb r4, [r0]
|
|
add r0, r0, #0x1
|
|
ldr r1, ._428 + 12 @ gUnknown_Debug_083F851C
|
|
mov r2, #0x9
|
|
bl debug_80C689C
|
|
add r0, r6, #0
|
|
add r0, r0, #0x31
|
|
ldr r1, [r7]
|
|
add r1, r1, #0xf8
|
|
._431:
|
|
ldr r1, [r1]
|
|
mov r2, #0x3
|
|
mov r3, #0x1
|
|
bl debug_80C6678
|
|
b ._517
|
|
._429:
|
|
.align 2, 0
|
|
._428:
|
|
.word gUnknown_Debug_083F850A
|
|
.word gUnknown_Debug_2038A1C
|
|
.word gUnknown_Debug_083F8514
|
|
.word gUnknown_Debug_083F851C
|
|
._426:
|
|
cmp r4, #0xfd
|
|
bne ._430 @cond_branch
|
|
ldr r1, ._432 @ gUnknown_Debug_083F8524
|
|
add r0, r6, #0
|
|
mov r2, #0x9
|
|
bl debug_80C689C
|
|
add r0, r6, #0
|
|
add r0, r0, #0x9
|
|
ldr r7, ._432 + 4 @ gUnknown_Debug_2038A1C
|
|
ldr r1, [r7]
|
|
add r1, r1, #0xfc
|
|
ldr r1, [r1]
|
|
mov r2, #0x3
|
|
mov r3, #0x1
|
|
bl debug_80C6678
|
|
mov r4, #0x0
|
|
strb r4, [r6, #0x15]
|
|
strb r4, [r6, #0x16]
|
|
add r0, r6, #0
|
|
add r0, r0, #0x17
|
|
ldr r1, ._432 + 8 @ gUnknown_Debug_083F852D
|
|
mov r2, #0x9
|
|
bl debug_80C689C
|
|
add r0, r6, #0
|
|
add r0, r0, #0x20
|
|
ldr r1, [r7]
|
|
mov r2, #0x80
|
|
lsl r2, r2, #0x1
|
|
add r1, r1, r2
|
|
ldr r1, [r1]
|
|
mov r2, #0x3
|
|
mov r3, #0x1
|
|
bl debug_80C6678
|
|
add r0, r6, #0
|
|
add r0, r0, #0x2c
|
|
strb r4, [r0]
|
|
add r0, r0, #0x1
|
|
strb r4, [r0]
|
|
add r0, r0, #0x1
|
|
ldr r1, ._432 + 12 @ gUnknown_Debug_083F8537
|
|
mov r2, #0x9
|
|
bl debug_80C689C
|
|
add r0, r6, #0
|
|
add r0, r0, #0x37
|
|
ldr r1, [r7]
|
|
mov r3, #0x82
|
|
lsl r3, r3, #0x1
|
|
add r1, r1, r3
|
|
b ._431
|
|
._433:
|
|
.align 2, 0
|
|
._432:
|
|
.word gUnknown_Debug_083F8524
|
|
.word gUnknown_Debug_2038A1C
|
|
.word gUnknown_Debug_083F852D
|
|
.word gUnknown_Debug_083F8537
|
|
._430:
|
|
mov r1, #0x0
|
|
lsl r5, r4, #0x3
|
|
mov r2, #0x0
|
|
._434:
|
|
add r0, r6, r1
|
|
strb r2, [r0]
|
|
add r0, r1, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r1, r0, #0x10
|
|
cmp r1, #0xb
|
|
bls ._434 @cond_branch
|
|
ldr r0, ._437 @ gUnknown_Debug_083F8554
|
|
add r0, r5, r0
|
|
ldr r1, [r0]
|
|
add r0, r6, #0
|
|
mov r2, #0xb
|
|
bl debug_80C689C
|
|
mov r1, #0xc
|
|
mov r2, #0xff
|
|
._435:
|
|
add r0, r6, r1
|
|
strb r2, [r0]
|
|
add r0, r1, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r1, r0, #0x10
|
|
cmp r1, #0xff
|
|
bls ._435 @cond_branch
|
|
ldr r0, ._437 @ gUnknown_Debug_083F8554
|
|
add r0, r0, #0x4
|
|
add r0, r5, r0
|
|
ldr r0, [r0]
|
|
ldrb r2, [r0, #0x9]
|
|
lsl r0, r2, #0x1a
|
|
lsr r5, r0, #0x18
|
|
cmp r4, #0x22
|
|
bhi ._436 @cond_branch
|
|
lsl r0, r4, #0x2
|
|
ldr r1, ._437 + 4 @
|
|
add r1, r0, r1
|
|
ldr r1, [r1]
|
|
add r7, r0, #0
|
|
mov pc, r1
|
|
._438:
|
|
.align 2, 0
|
|
._437:
|
|
.word gUnknown_Debug_083F8554
|
|
.word ._439
|
|
._439:
|
|
.word ._440
|
|
.word ._472
|
|
.word ._472
|
|
.word ._472
|
|
.word ._472
|
|
.word ._445
|
|
.word ._446
|
|
.word ._450
|
|
.word ._450
|
|
.word ._450
|
|
.word ._450
|
|
.word ._451
|
|
.word ._452
|
|
.word ._472
|
|
.word ._472
|
|
.word ._472
|
|
.word ._472
|
|
.word ._472
|
|
.word ._472
|
|
.word ._472
|
|
.word ._472
|
|
.word ._472
|
|
.word ._472
|
|
.word ._472
|
|
.word ._472
|
|
.word ._472
|
|
.word ._472
|
|
.word ._472
|
|
.word ._472
|
|
.word ._472
|
|
.word ._472
|
|
.word ._472
|
|
.word ._472
|
|
.word ._473
|
|
.word ._474
|
|
._436:
|
|
mov r0, #0xff
|
|
strb r0, [r6]
|
|
b ._517
|
|
._440:
|
|
add r0, r6, #0
|
|
add r0, r0, #0xa
|
|
ldr r1, ._477 @ gUnknown_Debug_2038A1C
|
|
mov r9, r1
|
|
ldr r1, [r1]
|
|
add r1, r1, #0x64
|
|
add r1, r1, r7
|
|
ldr r1, [r1]
|
|
mov r3, r8
|
|
bl debug_80C6678
|
|
add r1, r5, r6
|
|
mov r0, #0x0
|
|
strb r0, [r1, #0xa]
|
|
mov r0, #0xfc
|
|
strb r0, [r1, #0xb]
|
|
mov r0, #0x1
|
|
strb r0, [r1, #0xc]
|
|
mov r2, r8
|
|
strb r2, [r1, #0xd]
|
|
add r4, r5, #0
|
|
add r4, r4, #0xe
|
|
add r4, r6, r4
|
|
mov r3, r9
|
|
ldr r0, [r3]
|
|
add r0, r0, #0x64
|
|
add r0, r0, r7
|
|
ldrh r0, [r0]
|
|
bl NationalPokedexNumToSpecies
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
mov r1, #0xb
|
|
mul r1, r1, r0
|
|
ldr r0, ._477 + 4 @ gSpeciesNames
|
|
add r1, r1, r0
|
|
add r0, r4, #0
|
|
mov r2, #0xa
|
|
bl debug_80C689C
|
|
b ._517
|
|
._478:
|
|
.align 2, 0
|
|
._477:
|
|
.word gUnknown_Debug_2038A1C
|
|
.word gSpeciesNames
|
|
._445:
|
|
ldr r0, ._483 @ gUnknown_Debug_2038A1C
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x64
|
|
add r0, r0, r7
|
|
ldr r0, [r0]
|
|
cmp r0, #0x1
|
|
beq ._479 @cond_branch
|
|
cmp r0, #0x1
|
|
bcc ._480 @cond_branch
|
|
cmp r0, #0x2
|
|
beq ._481 @cond_branch
|
|
b ._517
|
|
._484:
|
|
.align 2, 0
|
|
._483:
|
|
.word gUnknown_Debug_2038A1C
|
|
._480:
|
|
add r0, r6, #0
|
|
add r0, r0, #0xa
|
|
ldr r1, ._486 @ gUnknown_Debug_083F8546
|
|
b ._488
|
|
._487:
|
|
.align 2, 0
|
|
._486:
|
|
.word gUnknown_Debug_083F8546
|
|
._479:
|
|
add r0, r6, #0
|
|
add r0, r0, #0xa
|
|
ldr r1, ._489 @ gUnknown_Debug_083F8541
|
|
b ._488
|
|
._490:
|
|
.align 2, 0
|
|
._489:
|
|
.word gUnknown_Debug_083F8541
|
|
._481:
|
|
add r0, r6, #0
|
|
add r0, r0, #0xa
|
|
ldr r1, ._492 @ gUnknown_Debug_083F8544
|
|
._488:
|
|
mov r2, #0x2
|
|
bl debug_80C689C
|
|
b ._517
|
|
._493:
|
|
.align 2, 0
|
|
._492:
|
|
.word gUnknown_Debug_083F8544
|
|
._450:
|
|
add r0, r6, #0
|
|
add r0, r0, #0xa
|
|
ldr r4, ._495 @ gUnknown_Debug_2038A1C
|
|
ldr r1, [r4]
|
|
add r1, r1, #0x64
|
|
add r1, r1, r7
|
|
ldr r1, [r1]
|
|
mov r3, r8
|
|
bl debug_80C6678
|
|
add r1, r5, r6
|
|
mov r0, #0x0
|
|
strb r0, [r1, #0xa]
|
|
mov r0, #0xfc
|
|
strb r0, [r1, #0xb]
|
|
mov r0, #0x1
|
|
strb r0, [r1, #0xc]
|
|
mov r0, r8
|
|
strb r0, [r1, #0xd]
|
|
add r0, r5, #0
|
|
add r0, r0, #0xe
|
|
add r0, r6, r0
|
|
ldr r1, [r4]
|
|
add r1, r1, #0x64
|
|
add r1, r1, r7
|
|
ldr r2, [r1]
|
|
mov r1, #0xd
|
|
mul r1, r1, r2
|
|
ldr r2, ._495 + 4 @ gMoveNames
|
|
add r1, r1, r2
|
|
b ._494
|
|
._496:
|
|
.align 2, 0
|
|
._495:
|
|
.word gUnknown_Debug_2038A1C
|
|
.word gMoveNames
|
|
._451:
|
|
add r0, r6, #0
|
|
add r0, r0, #0xa
|
|
ldr r4, ._499 @ gUnknown_Debug_2038A1C
|
|
ldr r1, [r4]
|
|
add r1, r1, #0x64
|
|
add r1, r1, r7
|
|
ldr r1, [r1]
|
|
mov r3, r8
|
|
bl debug_80C6678
|
|
add r1, r5, r6
|
|
mov r0, #0x0
|
|
strb r0, [r1, #0xa]
|
|
mov r0, #0xfc
|
|
strb r0, [r1, #0xb]
|
|
mov r0, #0x1
|
|
strb r0, [r1, #0xc]
|
|
mov r2, r8
|
|
strb r2, [r1, #0xd]
|
|
ldr r0, [r4]
|
|
add r0, r0, #0x64
|
|
add r0, r0, r7
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq ._497 @cond_branch
|
|
add r4, r5, #0
|
|
add r4, r4, #0xe
|
|
add r4, r6, r4
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl ItemId_GetName
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
b ._498
|
|
._500:
|
|
.align 2, 0
|
|
._499:
|
|
.word gUnknown_Debug_2038A1C
|
|
._497:
|
|
add r0, r5, #0
|
|
add r0, r0, #0xe
|
|
add r0, r6, r0
|
|
ldr r1, ._502 @ gUnknown_Debug_083F8541
|
|
._498:
|
|
mov r2, #0x9
|
|
bl debug_80C689C
|
|
b ._517
|
|
._503:
|
|
.align 2, 0
|
|
._502:
|
|
.word gUnknown_Debug_083F8541
|
|
._452:
|
|
add r6, r6, #0xc
|
|
ldr r4, ._505 @ gUnknown_Debug_2038A1C
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, #0x64]
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl NationalPokedexNumToSpecies
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
ldr r1, [r4]
|
|
add r1, r1, #0x64
|
|
add r1, r1, r7
|
|
ldrb r1, [r1]
|
|
bl GetAbilityBySpecies
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
mov r1, #0xd
|
|
mul r1, r1, r0
|
|
ldr r0, ._505 + 4 @ gAbilityNames
|
|
add r1, r1, r0
|
|
add r0, r6, #0
|
|
._494:
|
|
mov r2, #0xc
|
|
bl debug_80C689C
|
|
b ._517
|
|
._506:
|
|
.align 2, 0
|
|
._505:
|
|
.word gUnknown_Debug_2038A1C
|
|
.word gAbilityNames
|
|
._474:
|
|
add r0, r6, #0
|
|
add r0, r0, #0xa
|
|
ldr r2, ._508 @ gUnknown_Debug_083F86E8
|
|
ldr r1, ._508 + 4 @ gUnknown_Debug_2038A1C
|
|
ldr r1, [r1]
|
|
add r1, r1, #0x64
|
|
add r1, r1, r7
|
|
ldr r1, [r1]
|
|
lsl r1, r1, #0x3
|
|
add r1, r1, r2
|
|
ldr r1, [r1]
|
|
b ._514
|
|
._509:
|
|
.align 2, 0
|
|
._508:
|
|
.word gUnknown_Debug_083F86E8
|
|
.word gUnknown_Debug_2038A1C
|
|
._472:
|
|
add r0, r6, #0
|
|
add r0, r0, #0xc
|
|
ldr r1, ._511 @ gUnknown_Debug_2038A1C
|
|
ldr r1, [r1]
|
|
add r1, r1, #0x64
|
|
add r1, r1, r7
|
|
ldr r1, [r1]
|
|
mov r3, r8
|
|
bl debug_80C6678
|
|
b ._517
|
|
._512:
|
|
.align 2, 0
|
|
._511:
|
|
.word gUnknown_Debug_2038A1C
|
|
._473:
|
|
ldr r0, ._515 @ gUnknown_Debug_2038A1C
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x64
|
|
add r0, r0, r7
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq ._513 @cond_branch
|
|
add r0, r6, #0
|
|
add r0, r0, #0xa
|
|
ldr r1, ._515 + 4 @ gUnknown_Debug_083F854A
|
|
b ._514
|
|
._516:
|
|
.align 2, 0
|
|
._515:
|
|
.word gUnknown_Debug_2038A1C
|
|
.word gUnknown_Debug_083F854A
|
|
._513:
|
|
add r0, r6, #0
|
|
add r0, r0, #0xa
|
|
ldr r1, ._518 @ gUnknown_Debug_083F854D
|
|
._514:
|
|
mov r2, #0x4
|
|
bl debug_80C689C
|
|
b ._517
|
|
._519:
|
|
.align 2, 0
|
|
._518:
|
|
.word gUnknown_Debug_083F854D
|
|
._446:
|
|
add r0, r6, #0
|
|
add r0, r0, #0xa
|
|
ldr r2, ._520 @ gNatureNames
|
|
ldr r1, ._520 + 4 @ gUnknown_Debug_2038A1C
|
|
ldr r1, [r1]
|
|
add r1, r1, #0x64
|
|
add r1, r1, r7
|
|
ldr r1, [r1]
|
|
lsl r1, r1, #0x2
|
|
add r1, r1, r2
|
|
ldr r1, [r1]
|
|
mov r2, #0x5
|
|
bl debug_80C689C
|
|
._517:
|
|
mov r0, #0x0
|
|
pop {r3, r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4, r5, r6, r7}
|
|
pop {r1}
|
|
bx r1
|
|
._521:
|
|
.align 2, 0
|
|
._520:
|
|
.word gNatureNames
|
|
.word gUnknown_Debug_2038A1C
|
|
|
|
thumb_func_end debug_80C5738
|
|
|
|
thumb_func_start debug_80C5B60
|
|
debug_80C5B60:
|
|
lsl r0, r0, #0x18
|
|
ldr r1, ._522 @ gUnknown_Debug_2038A1C
|
|
ldr r1, [r1]
|
|
lsr r0, r0, #0x16
|
|
add r1, r1, #0x64
|
|
add r1, r1, r0
|
|
ldr r0, [r1]
|
|
bx lr
|
|
._523:
|
|
.align 2, 0
|
|
._522:
|
|
.word gUnknown_Debug_2038A1C
|
|
|
|
thumb_func_end debug_80C5B60
|
|
|
|
thumb_func_start debug_80C5B74
|
|
debug_80C5B74:
|
|
push {r4, r5, r6, lr}
|
|
add r6, r0, #0
|
|
lsl r1, r1, #0x18
|
|
lsr r2, r1, #0x18
|
|
cmp r2, #0x18
|
|
bhi ._540 @cond_branch
|
|
lsl r0, r2, #0x2
|
|
ldr r1, ._526 @
|
|
add r1, r0, r1
|
|
ldr r1, [r1]
|
|
add r3, r0, #0
|
|
mov pc, r1
|
|
._527:
|
|
.align 2, 0
|
|
._526:
|
|
.word ._525
|
|
._525:
|
|
.word ._532
|
|
.word ._529
|
|
.word ._530
|
|
.word ._532
|
|
.word ._532
|
|
.word ._540
|
|
.word ._540
|
|
.word ._540
|
|
.word ._540
|
|
.word ._540
|
|
.word ._540
|
|
.word ._540
|
|
.word ._540
|
|
.word ._552
|
|
.word ._552
|
|
.word ._552
|
|
.word ._552
|
|
.word ._552
|
|
.word ._552
|
|
.word ._552
|
|
.word ._552
|
|
.word ._552
|
|
.word ._552
|
|
.word ._552
|
|
.word ._552
|
|
._540:
|
|
ldr r0, ._554 @ gUnknown_Debug_2038A1C
|
|
ldr r0, [r0]
|
|
lsl r1, r2, #0x2
|
|
add r0, r0, #0x64
|
|
add r0, r0, r1
|
|
str r6, [r0]
|
|
b ._562
|
|
._555:
|
|
.align 2, 0
|
|
._554:
|
|
.word gUnknown_Debug_2038A1C
|
|
._532:
|
|
ldr r0, ._557 @ gUnknown_Debug_2038A1C
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x64
|
|
add r0, r0, r3
|
|
str r6, [r0]
|
|
bl debug_80C5C94
|
|
b ._562
|
|
._558:
|
|
.align 2, 0
|
|
._557:
|
|
.word gUnknown_Debug_2038A1C
|
|
._529:
|
|
ldr r4, ._560 @ gUnknown_Debug_2038A1C
|
|
ldr r1, [r4]
|
|
add r0, r1, #0
|
|
add r0, r0, #0x64
|
|
add r0, r0, r3
|
|
str r6, [r0]
|
|
ldr r0, [r1, #0x64]
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl NationalPokedexNumToSpecies
|
|
ldr r5, [r4]
|
|
ldr r4, ._560 + 4 @ gExperienceTables
|
|
lsl r2, r6, #0x2
|
|
ldr r3, ._560 + 8 @ gBaseStats
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
lsl r1, r0, #0x3
|
|
sub r1, r1, r0
|
|
lsl r1, r1, #0x2
|
|
add r1, r1, r3
|
|
ldrb r1, [r1, #0x13]
|
|
mov r0, #0xca
|
|
lsl r0, r0, #0x1
|
|
mul r0, r0, r1
|
|
add r2, r2, r0
|
|
add r2, r2, r4
|
|
ldr r0, [r2]
|
|
str r0, [r5, #0x6c]
|
|
bl debug_80C5C94
|
|
b ._562
|
|
._561:
|
|
.align 2, 0
|
|
._560:
|
|
.word gUnknown_Debug_2038A1C
|
|
.word gExperienceTables
|
|
.word gBaseStats
|
|
._530:
|
|
ldr r0, ._563 @ gUnknown_Debug_2038A1C
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x64
|
|
add r0, r0, r3
|
|
str r6, [r0]
|
|
bl debug_80C5DEC
|
|
b ._562
|
|
._564:
|
|
.align 2, 0
|
|
._563:
|
|
.word gUnknown_Debug_2038A1C
|
|
._552:
|
|
ldr r0, ._565 @ gUnknown_Debug_2038A1C
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x64
|
|
add r0, r0, r3
|
|
str r6, [r0]
|
|
bl debug_80C5EF4
|
|
._562:
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
._566:
|
|
.align 2, 0
|
|
._565:
|
|
.word gUnknown_Debug_2038A1C
|
|
|
|
thumb_func_end debug_80C5B74
|
|
|
|
thumb_func_start debug_80C5C94
|
|
debug_80C5C94:
|
|
push {r4, r5, r6, lr}
|
|
add sp, sp, #0xfffffff0
|
|
ldr r6, ._567 @ gUnknown_Debug_2038A1C
|
|
ldr r2, [r6]
|
|
add r0, r2, #0
|
|
add r0, r0, #0x98
|
|
ldr r4, [r0]
|
|
mov r1, #0x1f
|
|
and r4, r4, r1
|
|
add r0, r0, #0x8
|
|
ldr r0, [r0]
|
|
and r0, r0, r1
|
|
lsl r0, r0, #0x5
|
|
orr r4, r4, r0
|
|
add r0, r2, #0
|
|
add r0, r0, #0xa8
|
|
ldr r0, [r0]
|
|
and r0, r0, r1
|
|
lsl r0, r0, #0xa
|
|
orr r4, r4, r0
|
|
add r0, r2, #0
|
|
add r0, r0, #0xb0
|
|
ldr r0, [r0]
|
|
and r0, r0, r1
|
|
lsl r0, r0, #0xf
|
|
orr r4, r4, r0
|
|
add r0, r2, #0
|
|
add r0, r0, #0xb8
|
|
ldr r0, [r0]
|
|
and r0, r0, r1
|
|
lsl r0, r0, #0x14
|
|
orr r4, r4, r0
|
|
add r0, r2, #0
|
|
add r0, r0, #0xc0
|
|
ldr r0, [r0]
|
|
and r0, r0, r1
|
|
lsl r0, r0, #0x19
|
|
orr r4, r4, r0
|
|
ldr r0, [r2, #0x64]
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl NationalPokedexNumToSpecies
|
|
add r1, r0, #0
|
|
lsl r1, r1, #0x10
|
|
lsr r1, r1, #0x10
|
|
ldr r0, [r6]
|
|
ldr r2, [r0, #0x68]
|
|
lsl r2, r2, #0x18
|
|
lsr r2, r2, #0x18
|
|
lsl r4, r4, #0x18
|
|
lsr r4, r4, #0x18
|
|
mov r5, #0x1
|
|
str r5, [sp]
|
|
ldr r3, [r0, #0x74]
|
|
str r3, [sp, #0x4]
|
|
str r5, [sp, #0x8]
|
|
ldr r3, [r0, #0x70]
|
|
str r3, [sp, #0xc]
|
|
add r3, r4, #0
|
|
bl CreateMon
|
|
ldr r0, [r6]
|
|
bl GetMonGender
|
|
ldr r1, [r6]
|
|
add r0, r0, #0x2
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [r1, #0x78]
|
|
add r0, r1, #0
|
|
bl GetNature
|
|
ldr r1, [r6]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [r1, #0x7c]
|
|
add r0, r1, #0
|
|
mov r1, #0xd
|
|
bl GetMonData
|
|
add r2, r0, #0
|
|
ldr r0, [r6]
|
|
add r1, r0, #0
|
|
add r1, r1, #0x80
|
|
str r2, [r1]
|
|
mov r1, #0xe
|
|
bl GetMonData
|
|
add r2, r0, #0
|
|
ldr r0, [r6]
|
|
add r1, r0, #0
|
|
add r1, r1, #0x84
|
|
str r2, [r1]
|
|
mov r1, #0xf
|
|
bl GetMonData
|
|
add r2, r0, #0
|
|
ldr r0, [r6]
|
|
add r1, r0, #0
|
|
add r1, r1, #0x88
|
|
str r2, [r1]
|
|
mov r1, #0x10
|
|
bl GetMonData
|
|
add r2, r0, #0
|
|
ldr r0, [r6]
|
|
add r1, r0, #0
|
|
add r1, r1, #0x8c
|
|
str r2, [r1]
|
|
mov r1, #0x19
|
|
bl GetMonData
|
|
add r1, r0, #0
|
|
ldr r0, [r6]
|
|
str r1, [r0, #0x6c]
|
|
mov r1, #0x3a
|
|
bl GetMonData
|
|
add r2, r0, #0
|
|
ldr r0, [r6]
|
|
add r1, r0, #0
|
|
add r1, r1, #0xf0
|
|
str r2, [r1]
|
|
mov r1, #0x3b
|
|
bl GetMonData
|
|
add r2, r0, #0
|
|
ldr r0, [r6]
|
|
add r1, r0, #0
|
|
add r1, r1, #0xf4
|
|
str r2, [r1]
|
|
mov r1, #0x3c
|
|
bl GetMonData
|
|
add r2, r0, #0
|
|
ldr r0, [r6]
|
|
add r1, r0, #0
|
|
add r1, r1, #0xf8
|
|
str r2, [r1]
|
|
mov r1, #0x3d
|
|
bl GetMonData
|
|
add r2, r0, #0
|
|
ldr r0, [r6]
|
|
add r1, r0, #0
|
|
add r1, r1, #0xfc
|
|
str r2, [r1]
|
|
mov r1, #0x3e
|
|
bl GetMonData
|
|
add r2, r0, #0
|
|
ldr r0, [r6]
|
|
mov r3, #0x80
|
|
lsl r3, r3, #0x1
|
|
add r1, r0, r3
|
|
str r2, [r1]
|
|
mov r1, #0x3f
|
|
bl GetMonData
|
|
ldr r1, [r6]
|
|
mov r2, #0x82
|
|
lsl r2, r2, #0x1
|
|
add r1, r1, r2
|
|
str r0, [r1]
|
|
add sp, sp, #0x10
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
._568:
|
|
.align 2, 0
|
|
._567:
|
|
.word gUnknown_Debug_2038A1C
|
|
|
|
thumb_func_end debug_80C5C94
|
|
|
|
thumb_func_start debug_80C5DEC
|
|
debug_80C5DEC:
|
|
push {r4, lr}
|
|
add sp, sp, #0xfffffffc
|
|
mov r0, #0x0
|
|
str r0, [sp]
|
|
ldr r4, ._569 @ gUnknown_Debug_2038A1C
|
|
ldr r0, [r4]
|
|
add r2, r0, #0
|
|
add r2, r2, #0x6c
|
|
mov r1, #0x19
|
|
bl SetMonData
|
|
ldr r0, [r4]
|
|
mov r1, #0xd
|
|
mov r2, sp
|
|
bl SetMonData
|
|
ldr r0, [r4]
|
|
mov r1, #0xe
|
|
mov r2, sp
|
|
bl SetMonData
|
|
ldr r0, [r4]
|
|
mov r1, #0xf
|
|
mov r2, sp
|
|
bl SetMonData
|
|
ldr r0, [r4]
|
|
mov r1, #0x10
|
|
mov r2, sp
|
|
bl SetMonData
|
|
ldr r0, [r4]
|
|
bl CalculateMonStats
|
|
ldr r0, [r4]
|
|
bl GiveMonInitialMoveset
|
|
ldr r0, [r4]
|
|
mov r1, #0x38
|
|
bl GetMonData
|
|
add r1, r0, #0
|
|
ldr r0, [r4]
|
|
str r1, [r0, #0x68]
|
|
mov r1, #0xd
|
|
bl GetMonData
|
|
add r2, r0, #0
|
|
ldr r0, [r4]
|
|
add r1, r0, #0
|
|
add r1, r1, #0x80
|
|
str r2, [r1]
|
|
mov r1, #0xe
|
|
bl GetMonData
|
|
add r2, r0, #0
|
|
ldr r0, [r4]
|
|
add r1, r0, #0
|
|
add r1, r1, #0x84
|
|
str r2, [r1]
|
|
mov r1, #0xf
|
|
bl GetMonData
|
|
add r2, r0, #0
|
|
ldr r0, [r4]
|
|
add r1, r0, #0
|
|
add r1, r1, #0x88
|
|
str r2, [r1]
|
|
mov r1, #0x10
|
|
bl GetMonData
|
|
add r2, r0, #0
|
|
ldr r0, [r4]
|
|
add r1, r0, #0
|
|
add r1, r1, #0x8c
|
|
str r2, [r1]
|
|
mov r1, #0x3a
|
|
bl GetMonData
|
|
add r2, r0, #0
|
|
ldr r0, [r4]
|
|
add r1, r0, #0
|
|
add r1, r1, #0xf0
|
|
str r2, [r1]
|
|
mov r1, #0x3b
|
|
bl GetMonData
|
|
add r2, r0, #0
|
|
ldr r0, [r4]
|
|
add r1, r0, #0
|
|
add r1, r1, #0xf4
|
|
str r2, [r1]
|
|
mov r1, #0x3c
|
|
bl GetMonData
|
|
add r2, r0, #0
|
|
ldr r0, [r4]
|
|
add r1, r0, #0
|
|
add r1, r1, #0xf8
|
|
str r2, [r1]
|
|
mov r1, #0x3d
|
|
bl GetMonData
|
|
add r2, r0, #0
|
|
ldr r0, [r4]
|
|
add r1, r0, #0
|
|
add r1, r1, #0xfc
|
|
str r2, [r1]
|
|
mov r1, #0x3e
|
|
bl GetMonData
|
|
add r2, r0, #0
|
|
ldr r0, [r4]
|
|
mov r3, #0x80
|
|
lsl r3, r3, #0x1
|
|
add r1, r0, r3
|
|
str r2, [r1]
|
|
mov r1, #0x3f
|
|
bl GetMonData
|
|
ldr r1, [r4]
|
|
mov r2, #0x82
|
|
lsl r2, r2, #0x1
|
|
add r1, r1, r2
|
|
str r0, [r1]
|
|
add sp, sp, #0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
._570:
|
|
.align 2, 0
|
|
._569:
|
|
.word gUnknown_Debug_2038A1C
|
|
|
|
thumb_func_end debug_80C5DEC
|
|
|
|
thumb_func_start debug_80C5EF4
|
|
debug_80C5EF4:
|
|
push {r4, lr}
|
|
ldr r4, ._571 @ gUnknown_Debug_2038A1C
|
|
ldr r0, [r4]
|
|
add r2, r0, #0
|
|
add r2, r2, #0x98
|
|
mov r1, #0x27
|
|
bl SetMonData
|
|
ldr r0, [r4]
|
|
add r2, r0, #0
|
|
add r2, r2, #0x9c
|
|
mov r1, #0x1a
|
|
bl SetMonData
|
|
ldr r0, [r4]
|
|
add r2, r0, #0
|
|
add r2, r2, #0xa0
|
|
mov r1, #0x28
|
|
bl SetMonData
|
|
ldr r0, [r4]
|
|
add r2, r0, #0
|
|
add r2, r2, #0xa4
|
|
mov r1, #0x1b
|
|
bl SetMonData
|
|
ldr r0, [r4]
|
|
add r2, r0, #0
|
|
add r2, r2, #0xa8
|
|
mov r1, #0x29
|
|
bl SetMonData
|
|
ldr r0, [r4]
|
|
add r2, r0, #0
|
|
add r2, r2, #0xac
|
|
mov r1, #0x1c
|
|
bl SetMonData
|
|
ldr r0, [r4]
|
|
add r2, r0, #0
|
|
add r2, r2, #0xb0
|
|
mov r1, #0x2a
|
|
bl SetMonData
|
|
ldr r0, [r4]
|
|
add r2, r0, #0
|
|
add r2, r2, #0xb4
|
|
mov r1, #0x1d
|
|
bl SetMonData
|
|
ldr r0, [r4]
|
|
add r2, r0, #0
|
|
add r2, r2, #0xb8
|
|
mov r1, #0x2b
|
|
bl SetMonData
|
|
ldr r0, [r4]
|
|
add r2, r0, #0
|
|
add r2, r2, #0xbc
|
|
mov r1, #0x1e
|
|
bl SetMonData
|
|
ldr r0, [r4]
|
|
add r2, r0, #0
|
|
add r2, r2, #0xc0
|
|
mov r1, #0x2c
|
|
bl SetMonData
|
|
ldr r0, [r4]
|
|
add r2, r0, #0
|
|
add r2, r2, #0xc4
|
|
mov r1, #0x1f
|
|
bl SetMonData
|
|
ldr r0, [r4]
|
|
bl CalculateMonStats
|
|
ldr r0, [r4]
|
|
mov r1, #0x3a
|
|
bl GetMonData
|
|
add r2, r0, #0
|
|
ldr r0, [r4]
|
|
add r1, r0, #0
|
|
add r1, r1, #0xf0
|
|
str r2, [r1]
|
|
mov r1, #0x3b
|
|
bl GetMonData
|
|
add r2, r0, #0
|
|
ldr r0, [r4]
|
|
add r1, r0, #0
|
|
add r1, r1, #0xf4
|
|
str r2, [r1]
|
|
mov r1, #0x3c
|
|
bl GetMonData
|
|
add r2, r0, #0
|
|
ldr r0, [r4]
|
|
add r1, r0, #0
|
|
add r1, r1, #0xf8
|
|
str r2, [r1]
|
|
mov r1, #0x3d
|
|
bl GetMonData
|
|
add r2, r0, #0
|
|
ldr r0, [r4]
|
|
add r1, r0, #0
|
|
add r1, r1, #0xfc
|
|
str r2, [r1]
|
|
mov r1, #0x3e
|
|
bl GetMonData
|
|
add r2, r0, #0
|
|
ldr r0, [r4]
|
|
mov r3, #0x80
|
|
lsl r3, r3, #0x1
|
|
add r1, r0, r3
|
|
str r2, [r1]
|
|
mov r1, #0x3f
|
|
bl GetMonData
|
|
ldr r1, [r4]
|
|
mov r2, #0x82
|
|
lsl r2, r2, #0x1
|
|
add r1, r1, r2
|
|
str r0, [r1]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
._572:
|
|
.align 2, 0
|
|
._571:
|
|
.word gUnknown_Debug_2038A1C
|
|
|
|
thumb_func_end debug_80C5EF4
|
|
|
|
thumb_func_start debug_80C5FFC
|
|
debug_80C5FFC:
|
|
push {r4, r5, r6, r7, lr}
|
|
add sp, sp, #0xffffffe0
|
|
ldr r1, ._578 @ gUnknown_Debug_083F8758
|
|
add r0, sp, #0x10
|
|
mov r2, #0x4
|
|
bl memcpy
|
|
add r7, sp, #0x14
|
|
ldr r1, ._578 + 4 @ gUnknown_Debug_083F875C
|
|
add r0, r7, #0
|
|
mov r2, #0x8
|
|
bl memcpy
|
|
ldr r5, ._578 + 8 @ gUnknown_Debug_2038A1C
|
|
ldr r2, [r5]
|
|
add r0, r2, #0
|
|
add r0, r0, #0x98
|
|
ldr r4, [r0]
|
|
mov r1, #0x1f
|
|
and r4, r4, r1
|
|
add r0, r0, #0x8
|
|
ldr r0, [r0]
|
|
and r0, r0, r1
|
|
lsl r0, r0, #0x5
|
|
orr r4, r4, r0
|
|
add r0, r2, #0
|
|
add r0, r0, #0xa8
|
|
ldr r0, [r0]
|
|
and r0, r0, r1
|
|
lsl r0, r0, #0xa
|
|
orr r4, r4, r0
|
|
add r0, r2, #0
|
|
add r0, r0, #0xb0
|
|
ldr r0, [r0]
|
|
and r0, r0, r1
|
|
lsl r0, r0, #0xf
|
|
orr r4, r4, r0
|
|
add r0, r2, #0
|
|
add r0, r0, #0xb8
|
|
ldr r0, [r0]
|
|
and r0, r0, r1
|
|
lsl r0, r0, #0x14
|
|
orr r4, r4, r0
|
|
add r0, r2, #0
|
|
add r0, r0, #0xc0
|
|
ldr r0, [r0]
|
|
and r0, r0, r1
|
|
lsl r0, r0, #0x19
|
|
orr r4, r4, r0
|
|
ldr r0, [r2, #0x64]
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl NationalPokedexNumToSpecies
|
|
add r1, r0, #0
|
|
lsl r1, r1, #0x10
|
|
lsr r1, r1, #0x10
|
|
ldr r0, [r5]
|
|
ldr r2, [r0, #0x68]
|
|
lsl r2, r2, #0x18
|
|
lsr r2, r2, #0x18
|
|
lsl r4, r4, #0x18
|
|
lsr r4, r4, #0x18
|
|
mov r6, #0x1
|
|
str r6, [sp]
|
|
ldr r3, [r0, #0x74]
|
|
str r3, [sp, #0x4]
|
|
str r6, [sp, #0x8]
|
|
ldr r3, [r0, #0x70]
|
|
str r3, [sp, #0xc]
|
|
add r3, r4, #0
|
|
bl CreateMon
|
|
ldr r2, [r5]
|
|
add r0, r2, #0
|
|
add r0, r0, #0x80
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq ._573 @cond_branch
|
|
lsl r1, r0, #0x10
|
|
lsr r1, r1, #0x10
|
|
add r0, r2, #0
|
|
mov r2, #0x0
|
|
bl SetMonMoveSlot
|
|
._573:
|
|
ldr r2, [r5]
|
|
add r0, r2, #0
|
|
add r0, r0, #0x84
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq ._574 @cond_branch
|
|
lsl r1, r0, #0x10
|
|
lsr r1, r1, #0x10
|
|
add r0, r2, #0
|
|
mov r2, #0x1
|
|
bl SetMonMoveSlot
|
|
._574:
|
|
ldr r2, [r5]
|
|
add r0, r2, #0
|
|
add r0, r0, #0x88
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq ._575 @cond_branch
|
|
lsl r1, r0, #0x10
|
|
lsr r1, r1, #0x10
|
|
add r0, r2, #0
|
|
mov r2, #0x2
|
|
bl SetMonMoveSlot
|
|
._575:
|
|
ldr r2, [r5]
|
|
add r0, r2, #0
|
|
add r0, r0, #0x8c
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq ._576 @cond_branch
|
|
lsl r1, r0, #0x10
|
|
lsr r1, r1, #0x10
|
|
add r0, r2, #0
|
|
mov r2, #0x3
|
|
bl SetMonMoveSlot
|
|
._576:
|
|
ldr r0, [r5]
|
|
add r2, r0, #0
|
|
add r2, r2, #0x6c
|
|
mov r1, #0x19
|
|
bl SetMonData
|
|
ldr r0, [r5]
|
|
add r2, r0, #0
|
|
add r2, r2, #0x98
|
|
mov r1, #0x27
|
|
bl SetMonData
|
|
ldr r0, [r5]
|
|
add r2, r0, #0
|
|
add r2, r2, #0x9c
|
|
mov r1, #0x1a
|
|
bl SetMonData
|
|
ldr r0, [r5]
|
|
add r2, r0, #0
|
|
add r2, r2, #0xa0
|
|
mov r1, #0x28
|
|
bl SetMonData
|
|
ldr r0, [r5]
|
|
add r2, r0, #0
|
|
add r2, r2, #0xa4
|
|
mov r1, #0x1b
|
|
bl SetMonData
|
|
ldr r0, [r5]
|
|
add r2, r0, #0
|
|
add r2, r2, #0xa8
|
|
mov r1, #0x29
|
|
bl SetMonData
|
|
ldr r0, [r5]
|
|
add r2, r0, #0
|
|
add r2, r2, #0xac
|
|
mov r1, #0x1c
|
|
bl SetMonData
|
|
ldr r0, [r5]
|
|
add r2, r0, #0
|
|
add r2, r2, #0xb0
|
|
mov r1, #0x2a
|
|
bl SetMonData
|
|
ldr r0, [r5]
|
|
add r2, r0, #0
|
|
add r2, r2, #0xb4
|
|
mov r1, #0x1d
|
|
bl SetMonData
|
|
ldr r0, [r5]
|
|
add r2, r0, #0
|
|
add r2, r2, #0xb8
|
|
mov r1, #0x2b
|
|
bl SetMonData
|
|
ldr r0, [r5]
|
|
add r2, r0, #0
|
|
add r2, r2, #0xbc
|
|
mov r1, #0x1e
|
|
bl SetMonData
|
|
ldr r0, [r5]
|
|
add r2, r0, #0
|
|
add r2, r2, #0xc0
|
|
mov r1, #0x2c
|
|
bl SetMonData
|
|
ldr r0, [r5]
|
|
add r2, r0, #0
|
|
add r2, r2, #0xc4
|
|
mov r1, #0x1f
|
|
bl SetMonData
|
|
ldr r0, [r5]
|
|
add r2, r0, #0
|
|
add r2, r2, #0xc8
|
|
mov r1, #0x16
|
|
bl SetMonData
|
|
ldr r0, [r5]
|
|
add r2, r0, #0
|
|
add r2, r2, #0xcc
|
|
mov r1, #0x17
|
|
bl SetMonData
|
|
ldr r0, [r5]
|
|
add r2, r0, #0
|
|
add r2, r2, #0xd0
|
|
mov r1, #0x18
|
|
bl SetMonData
|
|
ldr r0, [r5]
|
|
add r2, r0, #0
|
|
add r2, r2, #0xd4
|
|
mov r1, #0x21
|
|
bl SetMonData
|
|
ldr r0, [r5]
|
|
add r2, r0, #0
|
|
add r2, r2, #0xd8
|
|
mov r1, #0x2f
|
|
bl SetMonData
|
|
ldr r0, [r5]
|
|
add r2, r0, #0
|
|
add r2, r2, #0xdc
|
|
mov r1, #0x30
|
|
bl SetMonData
|
|
ldr r0, [r5]
|
|
add r2, r0, #0
|
|
add r2, r2, #0xe0
|
|
mov r1, #0x20
|
|
bl SetMonData
|
|
ldr r0, [r5]
|
|
add r2, r0, #0
|
|
add r2, r2, #0xe4
|
|
mov r1, #0x22
|
|
bl SetMonData
|
|
ldr r0, [r5]
|
|
add r2, r0, #0
|
|
add r2, r2, #0x90
|
|
mov r1, #0xc
|
|
bl SetMonData
|
|
ldr r0, [r5]
|
|
add r2, r0, #0
|
|
add r2, r2, #0x94
|
|
mov r1, #0x2e
|
|
bl SetMonData
|
|
ldr r0, [r5]
|
|
add r1, r0, #0
|
|
add r1, r1, #0xec
|
|
ldr r2, [r1]
|
|
lsl r2, r2, #0x3
|
|
ldr r1, ._578 + 12 @ gUnknown_Debug_083F86E8
|
|
add r2, r2, r1
|
|
mov r1, #0x37
|
|
bl SetMonData
|
|
ldr r0, [r5]
|
|
add r2, r0, #0
|
|
add r2, r2, #0xe8
|
|
mov r1, #0x2d
|
|
bl SetMonData
|
|
ldr r1, [r5]
|
|
add r0, r1, #0
|
|
add r0, r0, #0xe8
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq ._577 @cond_branch
|
|
add r0, r1, #0
|
|
mov r1, #0x2
|
|
add r2, sp, #0x10
|
|
bl SetMonData
|
|
add r2, sp, #0x1c
|
|
strb r6, [r2]
|
|
ldr r0, [r5]
|
|
mov r1, #0x3
|
|
bl SetMonData
|
|
._577:
|
|
ldr r0, [r5]
|
|
mov r1, #0x7
|
|
add r2, r7, #0
|
|
bl SetMonData
|
|
mov r2, sp
|
|
add r2, r2, #0x1e
|
|
mov r0, #0xff
|
|
strh r0, [r2]
|
|
ldr r0, [r5]
|
|
mov r1, #0x23
|
|
bl SetMonData
|
|
ldr r0, [r5]
|
|
bl CalculateMonStats
|
|
add sp, sp, #0x20
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
._579:
|
|
.align 2, 0
|
|
._578:
|
|
.word gUnknown_Debug_083F8758
|
|
.word gUnknown_Debug_083F875C
|
|
.word gUnknown_Debug_2038A1C
|
|
.word gUnknown_Debug_083F86E8+0x4
|
|
|
|
thumb_func_end debug_80C5FFC
|
|
|
|
thumb_func_start debug_80C627C
|
|
debug_80C627C:
|
|
push {r4, r5, r6, lr}
|
|
add sp, sp, #0xfffffff8
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
add r6, r4, #0
|
|
ldr r1, ._584 @ gUnknown_Debug_083F7FD4
|
|
mov r0, sp
|
|
mov r2, #0x2
|
|
bl memcpy
|
|
add r5, sp, #0x4
|
|
ldr r1, ._584 + 4 @ gUnknown_Debug_083F8764
|
|
add r0, r5, #0
|
|
mov r2, #0x2
|
|
bl memcpy
|
|
cmp r4, #0x1
|
|
beq ._580 @cond_branch
|
|
cmp r4, #0x1
|
|
bgt ._581 @cond_branch
|
|
cmp r4, #0
|
|
beq ._582 @cond_branch
|
|
b ._595
|
|
._585:
|
|
.align 2, 0
|
|
._584:
|
|
.word gUnknown_Debug_083F7FD4
|
|
.word gUnknown_Debug_083F8764
|
|
._581:
|
|
cmp r6, #0x2
|
|
beq ._586 @cond_branch
|
|
b ._595
|
|
._582:
|
|
ldr r0, ._589 @ gUnknown_Debug_2038A1C
|
|
ldr r0, [r0]
|
|
ldr r1, ._589 + 4 @ 0x169
|
|
add r0, r0, r1
|
|
b ._588
|
|
._590:
|
|
.align 2, 0
|
|
._589:
|
|
.word gUnknown_Debug_2038A1C
|
|
.word 0x169
|
|
._580:
|
|
ldr r4, ._593 @ gUnknown_Debug_2038A1C
|
|
ldr r3, [r4]
|
|
ldr r1, ._593 + 4 @ 0x169
|
|
add r0, r3, r1
|
|
ldrb r2, [r0]
|
|
ldr r1, ._593 + 8 @ gUnknown_Debug_083F8698
|
|
mov r6, #0xb4
|
|
lsl r6, r6, #0x1
|
|
add r0, r3, r6
|
|
ldrb r0, [r0]
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldrb r0, [r0, #0x4]
|
|
sub r0, r0, #0x1
|
|
cmp r2, r0
|
|
bge ._595 @cond_branch
|
|
lsl r2, r2, #0x19
|
|
mov r0, #0xa0
|
|
lsl r0, r0, #0x13
|
|
add r2, r2, r0
|
|
lsr r2, r2, #0x18
|
|
add r0, r5, #0
|
|
mov r1, #0x1
|
|
bl Menu_PrintText
|
|
ldr r0, [r4]
|
|
ldr r2, ._593 + 4 @ 0x169
|
|
add r1, r0, r2
|
|
ldrb r0, [r1]
|
|
add r0, r0, #0x1
|
|
strb r0, [r1]
|
|
ldr r0, [r4]
|
|
add r0, r0, r2
|
|
._588:
|
|
ldrb r2, [r0]
|
|
lsl r2, r2, #0x19
|
|
mov r6, #0xa0
|
|
lsl r6, r6, #0x13
|
|
add r2, r2, r6
|
|
lsr r2, r2, #0x18
|
|
mov r0, sp
|
|
mov r1, #0x1
|
|
bl Menu_PrintText
|
|
b ._595
|
|
._594:
|
|
.align 2, 0
|
|
._593:
|
|
.word gUnknown_Debug_2038A1C
|
|
.word 0x169
|
|
.word gUnknown_Debug_083F8698
|
|
._586:
|
|
ldr r4, ._596 @ gUnknown_Debug_2038A1C
|
|
ldr r0, [r4]
|
|
ldr r2, ._596 + 4 @ 0x169
|
|
add r1, r0, r2
|
|
ldrb r0, [r1]
|
|
cmp r0, #0
|
|
beq ._595 @cond_branch
|
|
add r2, r0, #0
|
|
lsl r2, r2, #0x19
|
|
mov r6, #0xa0
|
|
lsl r6, r6, #0x13
|
|
add r2, r2, r6
|
|
lsr r2, r2, #0x18
|
|
add r0, r5, #0
|
|
mov r1, #0x1
|
|
bl Menu_PrintText
|
|
ldr r0, [r4]
|
|
ldr r2, ._596 + 4 @ 0x169
|
|
add r1, r0, r2
|
|
ldrb r0, [r1]
|
|
sub r0, r0, #0x1
|
|
strb r0, [r1]
|
|
ldr r0, [r4]
|
|
add r0, r0, r2
|
|
ldrb r2, [r0]
|
|
lsl r2, r2, #0x19
|
|
add r2, r2, r6
|
|
lsr r2, r2, #0x18
|
|
mov r0, sp
|
|
mov r1, #0x1
|
|
bl Menu_PrintText
|
|
._595:
|
|
add sp, sp, #0x8
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
._597:
|
|
.align 2, 0
|
|
._596:
|
|
.word gUnknown_Debug_2038A1C
|
|
.word 0x169
|
|
|
|
thumb_func_end debug_80C627C
|
|
|
|
thumb_func_start debug_80C6384
|
|
debug_80C6384:
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6, r7}
|
|
mov r0, #0x0
|
|
mov r1, #0x4
|
|
mov r2, #0x1d
|
|
mov r3, #0x13
|
|
bl Menu_DrawStdWindowFrame
|
|
mov r5, #0x0
|
|
ldr r3, ._600 @ gUnknown_Debug_083F8698
|
|
ldr r1, ._600 + 4 @ gUnknown_Debug_2038A1C
|
|
ldr r0, [r1]
|
|
mov r2, #0xb4
|
|
lsl r2, r2, #0x1
|
|
add r0, r0, r2
|
|
ldrb r0, [r0]
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r3
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0]
|
|
cmp r0, #0xff
|
|
beq ._598 @cond_branch
|
|
add r4, r1, #0
|
|
ldr r0, ._600 + 8 @ 0x16b
|
|
mov r9, r0
|
|
mov r8, r3
|
|
add r7, r2, #0
|
|
mov r6, #0x1
|
|
._599:
|
|
ldr r0, [r4]
|
|
add r0, r0, r9
|
|
mov r1, #0xfc
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
add r1, r1, #0x70
|
|
add r0, r0, r1
|
|
strb r6, [r0]
|
|
ldr r0, [r4]
|
|
ldr r2, ._600 + 12 @ 0x16d
|
|
add r0, r0, r2
|
|
strb r6, [r0]
|
|
ldr r1, [r4]
|
|
add r2, r2, #0x1
|
|
add r0, r1, r2
|
|
add r1, r1, r7
|
|
ldrb r1, [r1]
|
|
lsl r1, r1, #0x3
|
|
add r1, r1, r8
|
|
ldr r1, [r1]
|
|
add r1, r1, r5
|
|
ldrb r1, [r1]
|
|
mov r2, #0x1
|
|
bl debug_80C5738
|
|
ldr r0, [r4]
|
|
add r0, r0, r9
|
|
lsl r2, r5, #0x19
|
|
mov r1, #0xa0
|
|
lsl r1, r1, #0x13
|
|
add r2, r2, r1
|
|
lsr r2, r2, #0x18
|
|
mov r1, #0x2
|
|
bl Menu_PrintText
|
|
add r0, r5, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r5, r0, #0x10
|
|
ldr r0, [r4]
|
|
add r0, r0, r7
|
|
ldrb r0, [r0]
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r8
|
|
ldr r0, [r0]
|
|
add r0, r0, r5
|
|
ldrb r0, [r0]
|
|
cmp r0, #0xff
|
|
bne ._599 @cond_branch
|
|
._598:
|
|
pop {r3, r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
._601:
|
|
.align 2, 0
|
|
._600:
|
|
.word gUnknown_Debug_083F8698
|
|
.word gUnknown_Debug_2038A1C
|
|
.word 0x16b
|
|
.word 0x16d
|
|
|
|
thumb_func_end debug_80C6384
|
|
|
|
thumb_func_start debug_80C643C
|
|
debug_80C643C:
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
mov r0, #0x2
|
|
mov r1, #0x5
|
|
mov r2, #0x1c
|
|
mov r3, #0x12
|
|
bl Menu_BlankWindowRect
|
|
mov r5, #0x0
|
|
ldr r6, ._605 @ gUnknown_Debug_083F8698
|
|
ldr r1, ._605 + 4 @ gUnknown_Debug_2038A1C
|
|
ldr r0, [r1]
|
|
mov r3, #0xb4
|
|
lsl r3, r3, #0x1
|
|
add r0, r0, r3
|
|
ldrb r0, [r0]
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r6
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0]
|
|
cmp r0, #0xff
|
|
beq ._602 @cond_branch
|
|
add r4, r1, #0
|
|
mov r0, #0x1
|
|
mov r8, r0
|
|
._607:
|
|
ldr r0, [r4]
|
|
ldr r7, ._605 + 8 @ 0x16b
|
|
add r2, r0, r7
|
|
mov r0, #0xfc
|
|
strb r0, [r2]
|
|
ldr r0, [r4]
|
|
mov r2, #0xb6
|
|
lsl r2, r2, #0x1
|
|
add r0, r0, r2
|
|
mov r7, r8
|
|
strb r7, [r0]
|
|
ldr r2, [r4]
|
|
ldr r7, ._605 + 12 @ 0x169
|
|
add r0, r2, r7
|
|
ldrb r0, [r0]
|
|
cmp r5, r0
|
|
bne ._603 @cond_branch
|
|
ldr r0, ._605 + 16 @ 0x16d
|
|
add r2, r2, r0
|
|
mov r0, #0x2
|
|
strb r0, [r2]
|
|
ldr r1, [r1]
|
|
mov r2, #0xb7
|
|
lsl r2, r2, #0x1
|
|
add r0, r1, r2
|
|
add r1, r1, r3
|
|
ldrb r1, [r1]
|
|
lsl r1, r1, #0x3
|
|
add r1, r1, r6
|
|
ldr r1, [r1]
|
|
add r1, r1, r5
|
|
ldrb r1, [r1]
|
|
mov r2, #0x2
|
|
bl debug_80C5738
|
|
b ._604
|
|
._606:
|
|
.align 2, 0
|
|
._605:
|
|
.word gUnknown_Debug_083F8698
|
|
.word gUnknown_Debug_2038A1C
|
|
.word 0x16b
|
|
.word 0x169
|
|
.word 0x16d
|
|
._603:
|
|
ldr r3, ._608 @ 0x16d
|
|
add r0, r2, r3
|
|
mov r7, r8
|
|
strb r7, [r0]
|
|
ldr r1, [r1]
|
|
mov r2, #0xb7
|
|
lsl r2, r2, #0x1
|
|
add r0, r1, r2
|
|
ldr r2, ._608 + 4 @ gUnknown_Debug_083F8698
|
|
sub r3, r3, #0x5
|
|
add r1, r1, r3
|
|
ldrb r1, [r1]
|
|
lsl r1, r1, #0x3
|
|
add r1, r1, r2
|
|
ldr r1, [r1]
|
|
add r1, r1, r5
|
|
ldrb r1, [r1]
|
|
mov r2, #0x1
|
|
bl debug_80C5738
|
|
._604:
|
|
ldr r0, [r4]
|
|
ldr r7, ._608 + 8 @ 0x16b
|
|
add r0, r0, r7
|
|
lsl r2, r5, #0x19
|
|
mov r1, #0xa0
|
|
lsl r1, r1, #0x13
|
|
add r2, r2, r1
|
|
lsr r2, r2, #0x18
|
|
mov r1, #0x2
|
|
bl Menu_PrintText
|
|
add r0, r5, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r5, r0, #0x10
|
|
ldr r6, ._608 + 4 @ gUnknown_Debug_083F8698
|
|
add r1, r4, #0
|
|
ldr r0, [r4]
|
|
mov r3, #0xb4
|
|
lsl r3, r3, #0x1
|
|
add r0, r0, r3
|
|
ldrb r0, [r0]
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r6
|
|
ldr r0, [r0]
|
|
add r0, r0, r5
|
|
ldrb r0, [r0]
|
|
cmp r0, #0xff
|
|
bne ._607 @cond_branch
|
|
._602:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
._609:
|
|
.align 2, 0
|
|
._608:
|
|
.word 0x16d
|
|
.word gUnknown_Debug_083F8698
|
|
.word 0x16b
|
|
|
|
thumb_func_end debug_80C643C
|
|
|
|
thumb_func_start debug_80C6544
|
|
debug_80C6544:
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6, r7}
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
mov r9, r0
|
|
ldr r0, ._614 @ gUnknown_Debug_083F8698
|
|
mov r8, r0
|
|
ldr r6, ._614 + 4 @ gUnknown_Debug_2038A1C
|
|
ldr r1, [r6]
|
|
mov r5, #0xb4
|
|
lsl r5, r5, #0x1
|
|
add r0, r1, r5
|
|
ldrb r0, [r0]
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r8
|
|
ldr r4, ._614 + 8 @ 0x169
|
|
add r1, r1, r4
|
|
ldrb r1, [r1]
|
|
ldr r0, [r0]
|
|
add r0, r0, r1
|
|
ldrb r0, [r0]
|
|
bl debug_80C5B60
|
|
add r7, r0, #0
|
|
ldr r2, ._614 + 12 @ gUnknown_Debug_083F8554
|
|
ldr r3, [r6]
|
|
add r5, r3, r5
|
|
ldrb r0, [r5]
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r8
|
|
add r4, r3, r4
|
|
ldrb r1, [r4]
|
|
ldr r0, [r0]
|
|
add r0, r0, r1
|
|
ldrb r0, [r0]
|
|
lsl r0, r0, #0x3
|
|
add r2, r2, #0x4
|
|
add r0, r0, r2
|
|
ldr r1, [r0]
|
|
ldr r5, [r1]
|
|
ldr r4, [r1, #0x4]
|
|
ldr r2, ._614 + 16 @ gUnknown_Debug_083F8768
|
|
mov r6, #0xb5
|
|
lsl r6, r6, #0x1
|
|
add r0, r3, r6
|
|
ldrb r0, [r0]
|
|
lsl r0, r0, #0x2
|
|
add r0, r0, r2
|
|
ldr r3, [r0]
|
|
ldrb r0, [r1, #0x8]
|
|
cmp r0, #0
|
|
bne ._623 @cond_branch
|
|
mov r0, r9
|
|
cmp r0, #0x1
|
|
beq ._611 @cond_branch
|
|
cmp r0, #0x2
|
|
beq ._612 @cond_branch
|
|
b ._623
|
|
._615:
|
|
.align 2, 0
|
|
._614:
|
|
.word gUnknown_Debug_083F8698
|
|
.word gUnknown_Debug_2038A1C
|
|
.word 0x169
|
|
.word gUnknown_Debug_083F8554
|
|
.word gUnknown_Debug_083F8768
|
|
._611:
|
|
sub r0, r4, r3
|
|
cmp r7, r0
|
|
bcs ._616 @cond_branch
|
|
add r7, r7, r3
|
|
b ._623
|
|
._616:
|
|
cmp r7, r4
|
|
bcc ._622 @cond_branch
|
|
b ._619
|
|
._612:
|
|
add r0, r5, r3
|
|
cmp r7, r0
|
|
bls ._620 @cond_branch
|
|
sub r7, r7, r3
|
|
b ._623
|
|
._620:
|
|
cmp r7, r5
|
|
bls ._622 @cond_branch
|
|
._619:
|
|
add r7, r5, #0
|
|
b ._623
|
|
._622:
|
|
add r7, r4, #0
|
|
._623:
|
|
ldr r1, ._624 @ gUnknown_Debug_083F8698
|
|
ldr r0, ._624 + 4 @ gUnknown_Debug_2038A1C
|
|
ldr r2, [r0]
|
|
mov r3, #0xb4
|
|
lsl r3, r3, #0x1
|
|
add r0, r2, r3
|
|
ldrb r0, [r0]
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r6, ._624 + 8 @ 0x169
|
|
add r1, r2, r6
|
|
ldrb r1, [r1]
|
|
ldr r0, [r0]
|
|
add r0, r0, r1
|
|
ldrb r1, [r0]
|
|
add r0, r7, #0
|
|
bl debug_80C5B74
|
|
pop {r3, r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
._625:
|
|
.align 2, 0
|
|
._624:
|
|
.word gUnknown_Debug_083F8698
|
|
.word gUnknown_Debug_2038A1C
|
|
.word 0x169
|
|
|
|
thumb_func_end debug_80C6544
|
|
|
|
thumb_func_start debug_80C6630
|
|
debug_80C6630:
|
|
push {r4, r5, lr}
|
|
add r4, r0, #0
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
lsl r2, r2, #0x18
|
|
lsr r2, r2, #0x18
|
|
lsl r3, r3, #0x18
|
|
lsr r3, r3, #0x18
|
|
mov r0, #0xfc
|
|
strb r0, [r4]
|
|
add r4, r4, #0x1
|
|
mov r0, #0x1
|
|
strb r0, [r4]
|
|
add r4, r4, #0x1
|
|
cmp r2, #0x2
|
|
bne ._626 @cond_branch
|
|
ldr r0, ._629 @ gUnknown_Debug_2038A1C
|
|
ldr r0, [r0]
|
|
mov r5, #0xb5
|
|
lsl r5, r5, #0x1
|
|
add r0, r0, r5
|
|
ldrb r0, [r0]
|
|
cmp r3, r0
|
|
beq ._627 @cond_branch
|
|
strb r2, [r4]
|
|
b ._628
|
|
._630:
|
|
.align 2, 0
|
|
._629:
|
|
.word gUnknown_Debug_2038A1C
|
|
._627:
|
|
mov r0, #0x4
|
|
._626:
|
|
strb r0, [r4]
|
|
._628:
|
|
add r0, r1, #0
|
|
add r0, r0, #0xa1
|
|
strb r0, [r4, #0x1]
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
|
|
thumb_func_end debug_80C6630
|
|
|
|
thumb_func_start debug_80C6678
|
|
debug_80C6678:
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6, r7}
|
|
mov r9, r0
|
|
add r6, r1, #0
|
|
lsl r2, r2, #0x18
|
|
lsr r2, r2, #0x18
|
|
lsl r3, r3, #0x18
|
|
lsr r3, r3, #0x18
|
|
mov r8, r3
|
|
mov r7, #0x0
|
|
sub r0, r2, #1
|
|
cmp r0, #0x9
|
|
bhi ._644 @cond_branch
|
|
lsl r0, r0, #0x2
|
|
ldr r1, ._633 @
|
|
add r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
._634:
|
|
.align 2, 0
|
|
._633:
|
|
.word ._632
|
|
._632:
|
|
.word ._635
|
|
.word ._636
|
|
.word ._637
|
|
.word ._638
|
|
.word ._639
|
|
.word ._640
|
|
.word ._641
|
|
.word ._642
|
|
.word ._643
|
|
.word ._644
|
|
._644:
|
|
mov r0, r9
|
|
add r4, r0, r7
|
|
ldr r5, ._645 @ 0x3b9aca00
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl __udivsi3
|
|
add r1, r0, #0
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
add r0, r4, #0
|
|
mov r2, r8
|
|
mov r3, #0x9
|
|
bl debug_80C6630
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl __umodsi3
|
|
add r6, r0, #0
|
|
add r0, r7, #4
|
|
lsl r0, r0, #0x18
|
|
lsr r7, r0, #0x18
|
|
._643:
|
|
mov r1, r9
|
|
add r4, r1, r7
|
|
ldr r5, ._645 + 4 @ 0x5f5e100
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl __udivsi3
|
|
add r1, r0, #0
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
add r0, r4, #0
|
|
mov r2, r8
|
|
mov r3, #0x8
|
|
bl debug_80C6630
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl __umodsi3
|
|
add r6, r0, #0
|
|
add r0, r7, #4
|
|
lsl r0, r0, #0x18
|
|
lsr r7, r0, #0x18
|
|
._642:
|
|
mov r0, r9
|
|
add r4, r0, r7
|
|
ldr r5, ._645 + 8 @ 0x989680
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl __udivsi3
|
|
add r1, r0, #0
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
add r0, r4, #0
|
|
mov r2, r8
|
|
mov r3, #0x7
|
|
bl debug_80C6630
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl __umodsi3
|
|
add r6, r0, #0
|
|
add r0, r7, #4
|
|
lsl r0, r0, #0x18
|
|
lsr r7, r0, #0x18
|
|
._641:
|
|
mov r1, r9
|
|
add r4, r1, r7
|
|
ldr r5, ._645 + 12 @ 0xf4240
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl __udivsi3
|
|
add r1, r0, #0
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
add r0, r4, #0
|
|
mov r2, r8
|
|
mov r3, #0x6
|
|
bl debug_80C6630
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl __umodsi3
|
|
add r6, r0, #0
|
|
add r0, r7, #4
|
|
lsl r0, r0, #0x18
|
|
lsr r7, r0, #0x18
|
|
._640:
|
|
mov r0, r9
|
|
add r4, r0, r7
|
|
ldr r5, ._645 + 16 @ 0x186a0
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl __udivsi3
|
|
add r1, r0, #0
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
add r0, r4, #0
|
|
mov r2, r8
|
|
mov r3, #0x5
|
|
bl debug_80C6630
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl __umodsi3
|
|
add r6, r0, #0
|
|
add r0, r7, #4
|
|
lsl r0, r0, #0x18
|
|
lsr r7, r0, #0x18
|
|
._639:
|
|
mov r1, r9
|
|
add r4, r1, r7
|
|
ldr r5, ._645 + 20 @ 0x2710
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl __udivsi3
|
|
add r1, r0, #0
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
add r0, r4, #0
|
|
mov r2, r8
|
|
mov r3, #0x4
|
|
bl debug_80C6630
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl __umodsi3
|
|
add r6, r0, #0
|
|
add r0, r7, #4
|
|
lsl r0, r0, #0x18
|
|
lsr r7, r0, #0x18
|
|
._638:
|
|
mov r0, r9
|
|
add r4, r0, r7
|
|
mov r5, #0xfa
|
|
lsl r5, r5, #0x2
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl __udivsi3
|
|
add r1, r0, #0
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
add r0, r4, #0
|
|
mov r2, r8
|
|
mov r3, #0x3
|
|
bl debug_80C6630
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl __umodsi3
|
|
add r6, r0, #0
|
|
add r0, r7, #4
|
|
lsl r0, r0, #0x18
|
|
lsr r7, r0, #0x18
|
|
._637:
|
|
mov r1, r9
|
|
add r4, r1, r7
|
|
add r0, r6, #0
|
|
mov r1, #0x64
|
|
bl __udivsi3
|
|
add r1, r0, #0
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
add r0, r4, #0
|
|
mov r2, r8
|
|
mov r3, #0x2
|
|
bl debug_80C6630
|
|
add r0, r6, #0
|
|
mov r1, #0x64
|
|
bl __umodsi3
|
|
add r6, r0, #0
|
|
add r0, r7, #4
|
|
lsl r0, r0, #0x18
|
|
lsr r7, r0, #0x18
|
|
._636:
|
|
mov r0, r9
|
|
add r4, r0, r7
|
|
add r0, r6, #0
|
|
mov r1, #0xa
|
|
bl __udivsi3
|
|
add r1, r0, #0
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
add r0, r4, #0
|
|
mov r2, r8
|
|
mov r3, #0x1
|
|
bl debug_80C6630
|
|
add r0, r6, #0
|
|
mov r1, #0xa
|
|
bl __umodsi3
|
|
add r6, r0, #0
|
|
add r0, r7, #4
|
|
lsl r0, r0, #0x18
|
|
lsr r7, r0, #0x18
|
|
._635:
|
|
mov r1, r9
|
|
add r0, r1, r7
|
|
lsl r1, r6, #0x18
|
|
lsr r1, r1, #0x18
|
|
mov r2, r8
|
|
mov r3, #0x0
|
|
bl debug_80C6630
|
|
pop {r3, r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
._646:
|
|
.align 2, 0
|
|
._645:
|
|
.word 0x3b9aca00
|
|
.word 0x5f5e100
|
|
.word 0x989680
|
|
.word 0xf4240
|
|
.word 0x186a0
|
|
.word 0x2710
|
|
|
|
thumb_func_end debug_80C6678
|
|
|
|
thumb_func_start debug_80C689C
|
|
debug_80C689C:
|
|
push {r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
lsl r2, r2, #0x18
|
|
lsr r2, r2, #0x18
|
|
mov r3, #0x0
|
|
ldrb r0, [r4]
|
|
b ._647
|
|
._649:
|
|
add r1, r5, r3
|
|
add r0, r4, r3
|
|
ldrb r0, [r0]
|
|
strb r0, [r1]
|
|
add r0, r3, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r3, r0, #0x18
|
|
add r0, r4, r3
|
|
ldrb r0, [r0]
|
|
._647:
|
|
cmp r0, #0xff
|
|
beq ._648 @cond_branch
|
|
cmp r3, r2
|
|
bcc ._649 @cond_branch
|
|
._648:
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
|
|
thumb_func_end debug_80C689C
|
|
|
|
thumb_func_start debug_80C68CC
|
|
debug_80C68CC:
|
|
push {r4, r5, r6, r7, lr}
|
|
add sp, sp, #0xfffffff8
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
lsl r1, r1, #0x18
|
|
lsr r6, r1, #0x18
|
|
lsl r2, r2, #0x18
|
|
lsr r5, r2, #0x18
|
|
lsl r3, r3, #0x18
|
|
lsr r3, r3, #0x18
|
|
mov r2, #0x0
|
|
mov r1, #0x0
|
|
._650:
|
|
mov r7, sp
|
|
add r0, r7, r2
|
|
strb r1, [r0]
|
|
add r0, r2, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r2, r0, #0x18
|
|
cmp r2, #0x3
|
|
bls ._650 @cond_branch
|
|
mov r1, sp
|
|
mov r0, #0xff
|
|
strb r0, [r1, #0x4]
|
|
cmp r3, #0x2
|
|
beq ._651 @cond_branch
|
|
cmp r3, #0x2
|
|
bgt ._652 @cond_branch
|
|
cmp r3, #0x1
|
|
beq ._653 @cond_branch
|
|
b ._654
|
|
._652:
|
|
cmp r3, #0x3
|
|
beq ._655 @cond_branch
|
|
._654:
|
|
mov r1, sp
|
|
lsr r0, r4, #0xc
|
|
strb r0, [r1]
|
|
._655:
|
|
mov r1, sp
|
|
mov r0, #0xf0
|
|
lsl r0, r0, #0x4
|
|
and r0, r0, r4
|
|
lsr r0, r0, #0x8
|
|
strb r0, [r1, #0x1]
|
|
._651:
|
|
mov r1, sp
|
|
mov r0, #0xf0
|
|
and r0, r0, r4
|
|
lsr r0, r0, #0x4
|
|
strb r0, [r1, #0x2]
|
|
._653:
|
|
mov r2, sp
|
|
mov r1, #0xf
|
|
add r0, r4, #0
|
|
and r0, r0, r1
|
|
strb r0, [r2, #0x3]
|
|
mov r2, #0x0
|
|
._658:
|
|
mov r0, sp
|
|
add r1, r0, r2
|
|
ldrb r0, [r1]
|
|
cmp r0, #0x9
|
|
bhi ._656 @cond_branch
|
|
add r0, r0, #0xa1
|
|
b ._657
|
|
._656:
|
|
add r0, r0, #0xb1
|
|
._657:
|
|
strb r0, [r1]
|
|
add r0, r2, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r2, r0, #0x18
|
|
cmp r2, #0x3
|
|
bls ._658 @cond_branch
|
|
mov r0, #0x4
|
|
sub r0, r0, r3
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
add r0, r0, sp
|
|
add r1, r6, #0
|
|
add r2, r5, #0
|
|
bl Menu_PrintText
|
|
add sp, sp, #0x8
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
|
|
thumb_func_end debug_80C68CC
|
|
|
|
thumb_func_start InitSeePokemonGraphics
|
|
InitSeePokemonGraphics:
|
|
push {r4, r5, r6, lr}
|
|
add sp, sp, #0xfffffff8
|
|
bl debug_80C35DC
|
|
ldr r1, ._659 @ byte_83F88EC
|
|
ldr r2, ._659 + 4 @ 0x600e000
|
|
ldr r0, ._659 + 8 @ 0x40000d4
|
|
str r1, [r0]
|
|
str r2, [r0, #0x4]
|
|
ldr r1, ._659 + 12 @ 0x80000400
|
|
str r1, [r0, #0x8]
|
|
ldr r0, [r0, #0x8]
|
|
ldr r0, ._659 + 16 @ word_83F888C
|
|
mov r1, #0x80
|
|
mov r2, #0x60
|
|
bl LoadPalette
|
|
ldr r1, ._659 + 20 @ 0x7fff
|
|
add r0, sp, #0x4
|
|
strh r1, [r0]
|
|
mov r1, #0x0
|
|
mov r2, #0x2
|
|
bl LoadPalette
|
|
mov r0, #0x1
|
|
neg r0, r0
|
|
mov r5, #0x0
|
|
str r5, [sp]
|
|
mov r1, #0x0
|
|
mov r2, #0x10
|
|
mov r3, #0x0
|
|
bl BeginNormalPaletteFade
|
|
ldr r0, ._659 + 24 @ 0x4000040
|
|
mov r6, #0x0
|
|
strh r5, [r0]
|
|
add r0, r0, #0x4
|
|
strh r5, [r0]
|
|
sub r0, r0, #0x2
|
|
strh r5, [r0]
|
|
add r0, r0, #0x4
|
|
strh r5, [r0]
|
|
ldr r1, ._659 + 28 @ 0x4000048
|
|
mov r0, #0x3f
|
|
strh r0, [r1]
|
|
add r1, r1, #0x2
|
|
mov r0, #0x1f
|
|
strh r0, [r1]
|
|
add r1, r1, #0x6
|
|
mov r0, #0xf1
|
|
strh r0, [r1]
|
|
ldr r0, ._659 + 32 @ 0x4000052
|
|
strh r5, [r0]
|
|
add r1, r1, #0x4
|
|
mov r0, #0x7
|
|
strh r0, [r1]
|
|
ldr r3, ._659 + 36 @ 0x4000208
|
|
ldrh r2, [r3]
|
|
strh r5, [r3]
|
|
ldr r4, ._659 + 40 @ 0x4000200
|
|
ldrh r0, [r4]
|
|
mov r1, #0x1
|
|
orr r0, r0, r1
|
|
strh r0, [r4]
|
|
strh r2, [r3]
|
|
ldr r0, ._659 + 44 @ debug_80C3758
|
|
bl SetVBlankCallback
|
|
ldr r0, ._659 + 48 @ debug_80C370C
|
|
bl SetMainCallback2
|
|
bl sub_809D51C
|
|
ldr r1, ._659 + 52 @ 0x4000008
|
|
ldr r2, ._659 + 56 @ 0x1f0b
|
|
add r0, r2, #0
|
|
strh r0, [r1]
|
|
add r1, r1, #0x2
|
|
ldr r2, ._659 + 60 @ 0x1e0a
|
|
add r0, r2, #0
|
|
strh r0, [r1]
|
|
sub r1, r1, #0xa
|
|
mov r2, #0xcd
|
|
lsl r2, r2, #0x6
|
|
add r0, r2, #0
|
|
strh r0, [r1]
|
|
ldr r0, ._659 + 64 @ debug_80C6B00
|
|
mov r1, #0x0
|
|
bl CreateTask
|
|
ldr r1, ._659 + 68 @ gUnknown_Debug_2038A20
|
|
ldr r0, ._659 + 72 @ 0x2018000
|
|
str r0, [r1]
|
|
ldr r1, ._659 + 76 @ 0x115
|
|
strh r1, [r0]
|
|
strb r6, [r0, #0x2]
|
|
strb r6, [r0, #0x3]
|
|
strb r6, [r0, #0x5]
|
|
strb r6, [r0, #0x7]
|
|
strb r6, [r0, #0xa]
|
|
strb r6, [r0, #0x8]
|
|
ldr r4, ._659 + 80 @ gSpriteTemplate_83F8874
|
|
add r0, r4, #0
|
|
mov r1, #0x6c
|
|
mov r2, #0x74
|
|
mov r3, #0x0
|
|
bl CreateSprite
|
|
add r1, r0, #0
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
ldr r6, ._659 + 84 @ gSprites
|
|
lsl r0, r1, #0x4
|
|
add r0, r0, r1
|
|
lsl r0, r0, #0x2
|
|
add r0, r0, r6
|
|
strh r5, [r0, #0x2e]
|
|
mov r1, #0x0
|
|
bl StartSpriteAnim
|
|
add r0, r4, #0
|
|
mov r1, #0x6c
|
|
mov r2, #0x74
|
|
mov r3, #0x0
|
|
bl CreateSprite
|
|
add r1, r0, #0
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
lsl r0, r1, #0x4
|
|
add r0, r0, r1
|
|
lsl r0, r0, #0x2
|
|
add r0, r0, r6
|
|
mov r1, #0x1
|
|
strh r1, [r0, #0x2e]
|
|
bl StartSpriteAnim
|
|
add r0, r4, #0
|
|
mov r1, #0x6c
|
|
mov r2, #0x74
|
|
mov r3, #0x0
|
|
bl CreateSprite
|
|
add r1, r0, #0
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
lsl r0, r1, #0x4
|
|
add r0, r0, r1
|
|
lsl r0, r0, #0x2
|
|
add r0, r0, r6
|
|
mov r1, #0x2
|
|
strh r1, [r0, #0x2e]
|
|
bl StartSpriteAnim
|
|
add sp, sp, #0x8
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
._660:
|
|
.align 2, 0
|
|
._659:
|
|
.word byte_83F88EC
|
|
.word 0x600e000
|
|
.word 0x40000d4
|
|
.word 0x80000400
|
|
.word word_83F888C
|
|
.word 0x7fff
|
|
.word 0x4000040
|
|
.word 0x4000048
|
|
.word 0x4000052
|
|
.word 0x4000208
|
|
.word 0x4000200
|
|
.word debug_80C3758+1
|
|
.word debug_80C370C+1
|
|
.word 0x4000008
|
|
.word 0x1f0b
|
|
.word 0x1e0a
|
|
.word debug_80C6B00+1
|
|
.word gUnknown_Debug_2038A20
|
|
.word 0x2018000
|
|
.word 0x115
|
|
.word gSpriteTemplate_83F8874
|
|
.word gSprites
|
|
|
|
thumb_func_end InitSeePokemonGraphics
|
|
|
|
thumb_func_start debug_80C6B00
|
|
debug_80C6B00:
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
add sp, sp, #0xffffffec
|
|
lsl r0, r0, #0x18
|
|
lsr r7, r0, #0x18
|
|
ldr r1, ._666 @ gUnknown_Debug_083F8815
|
|
mov r0, sp
|
|
mov r2, #0x12
|
|
bl memcpy
|
|
mov r0, #0xa
|
|
mov r1, #0x0
|
|
mov r2, #0xf
|
|
mov r3, #0x7
|
|
bl Menu_DrawStdWindowFrame
|
|
mov r0, #0x0
|
|
mov r1, #0x0
|
|
mov r2, #0x9
|
|
mov r3, #0x9
|
|
bl Menu_DrawStdWindowFrame
|
|
mov r0, #0x0
|
|
mov r1, #0xa
|
|
mov r2, #0x9
|
|
mov r3, #0x13
|
|
bl Menu_DrawStdWindowFrame
|
|
mov r0, #0x10
|
|
mov r1, #0x0
|
|
mov r2, #0x1d
|
|
mov r3, #0x7
|
|
bl Menu_DrawStdWindowFrame
|
|
ldr r0, ._666 + 4 @ gUnknown_Debug_083F87D0
|
|
mov r1, #0x11
|
|
mov r2, #0x1
|
|
bl Menu_PrintText
|
|
ldr r0, ._666 + 8 @ gUnknown_Debug_083F87D8
|
|
mov r1, #0x1b
|
|
mov r2, #0x1
|
|
bl Menu_PrintText
|
|
ldr r0, ._666 + 12 @ gUnknown_Debug_083F87E0
|
|
mov r1, #0x11
|
|
mov r2, #0x5
|
|
bl Menu_PrintText
|
|
mov r0, #0xa
|
|
mov r1, #0x8
|
|
mov r2, #0x1d
|
|
mov r3, #0xc
|
|
bl Menu_DrawStdWindowFrame
|
|
mov r2, #0x0
|
|
ldr r4, ._666 + 16 @ 0x600fa56
|
|
ldr r0, ._666 + 20 @ 0xa311
|
|
add r3, r0, #0
|
|
._661:
|
|
lsl r0, r2, #0x1
|
|
add r0, r0, r4
|
|
add r1, r2, r3
|
|
strh r1, [r0]
|
|
add r0, r2, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r2, r0, #0x18
|
|
cmp r2, #0xe
|
|
bls ._661 @cond_branch
|
|
mov r2, #0x0
|
|
ldr r5, ._666 + 24 @ gUnknown_Debug_083F87F4
|
|
lsl r6, r7, #0x2
|
|
mov r8, r6
|
|
ldr r4, ._666 + 28 @ 0x600f256
|
|
ldr r0, ._666 + 32 @ 0x8301
|
|
add r3, r0, #0
|
|
._662:
|
|
lsl r0, r2, #0x1
|
|
add r0, r0, r4
|
|
add r1, r2, r3
|
|
strh r1, [r0]
|
|
add r0, r2, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r2, r0, #0x18
|
|
cmp r2, #0xe
|
|
bls ._662 @cond_branch
|
|
add r0, r5, #0
|
|
mov r1, #0x14
|
|
mov r2, #0xa
|
|
bl Menu_PrintText
|
|
mov r0, #0xa
|
|
mov r1, #0xd
|
|
mov r2, #0x1d
|
|
mov r3, #0x13
|
|
bl Menu_DrawStdWindowFrame
|
|
mov r1, sp
|
|
mov r0, #0x23
|
|
strb r0, [r1]
|
|
mov r2, #0x0
|
|
ldr r4, ._666 + 36 @ 0x600f396
|
|
mov r5, #0x93
|
|
lsl r5, r5, #0x8
|
|
add r3, r5, #0
|
|
._663:
|
|
lsl r1, r2, #0x1
|
|
add r1, r1, r4
|
|
mov r6, sp
|
|
add r0, r6, r2
|
|
ldrb r0, [r0]
|
|
add r0, r0, r3
|
|
strh r0, [r1]
|
|
add r0, r2, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r2, r0, #0x18
|
|
cmp r2, #0x11
|
|
bls ._663 @cond_branch
|
|
mov r1, sp
|
|
mov r0, #0x24
|
|
strb r0, [r1]
|
|
mov r2, #0x0
|
|
ldr r5, ._666 + 40 @ gUnknown_Debug_083F8801
|
|
ldr r4, ._666 + 44 @ 0x600f3d6
|
|
mov r0, #0x93
|
|
lsl r0, r0, #0x8
|
|
add r3, r0, #0
|
|
._664:
|
|
lsl r1, r2, #0x1
|
|
add r1, r1, r4
|
|
mov r6, sp
|
|
add r0, r6, r2
|
|
ldrb r0, [r0]
|
|
add r0, r0, r3
|
|
strh r0, [r1]
|
|
add r0, r2, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r2, r0, #0x18
|
|
cmp r2, #0x11
|
|
bls ._664 @cond_branch
|
|
mov r1, sp
|
|
mov r0, #0x25
|
|
strb r0, [r1]
|
|
mov r2, #0x0
|
|
ldr r4, ._666 + 48 @ 0x600f416
|
|
mov r0, #0x93
|
|
lsl r0, r0, #0x8
|
|
add r3, r0, #0
|
|
._665:
|
|
lsl r1, r2, #0x1
|
|
add r1, r1, r4
|
|
mov r6, sp
|
|
add r0, r6, r2
|
|
ldrb r0, [r0]
|
|
add r0, r0, r3
|
|
strh r0, [r1]
|
|
add r0, r2, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r2, r0, #0x18
|
|
cmp r2, #0x11
|
|
bls ._665 @cond_branch
|
|
add r0, r5, #0
|
|
mov r1, #0xf
|
|
mov r2, #0x11
|
|
bl Menu_PrintText
|
|
ldr r1, ._666 + 52 @ 0x4000040
|
|
ldr r2, ._666 + 56 @ 0x51ef
|
|
add r0, r2, #0
|
|
strh r0, [r1]
|
|
add r1, r1, #0x4
|
|
ldr r5, ._666 + 60 @ 0x699f
|
|
add r0, r5, #0
|
|
strh r0, [r1]
|
|
ldr r1, ._666 + 64 @ gTasks
|
|
mov r6, r8
|
|
add r0, r6, r7
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r1, ._666 + 68 @ debug_80C6CB8
|
|
str r1, [r0]
|
|
add sp, sp, #0x14
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
._667:
|
|
.align 2, 0
|
|
._666:
|
|
.word gUnknown_Debug_083F8815
|
|
.word gUnknown_Debug_083F87D0
|
|
.word gUnknown_Debug_083F87D8
|
|
.word gUnknown_Debug_083F87E0
|
|
.word 0x600fa56
|
|
.word 0xa311
|
|
.word gUnknown_Debug_083F87F4
|
|
.word 0x600f256
|
|
.word 0x8301
|
|
.word 0x600f396
|
|
.word gUnknown_Debug_083F8801
|
|
.word 0x600f3d6
|
|
.word 0x600f416
|
|
.word 0x4000040
|
|
.word 0x51ef
|
|
.word 0x699f
|
|
.word gTasks
|
|
.word debug_80C6CB8+1
|
|
|
|
thumb_func_end debug_80C6B00
|
|
|
|
thumb_func_start debug_80C6CB8
|
|
debug_80C6CB8:
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sl
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5, r6, r7}
|
|
add sp, sp, #0xfffffff4
|
|
mov sl, r0
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
mov sl, r0
|
|
ldr r5, ._668 @ gUnknown_Debug_2038A20
|
|
ldr r4, [r5]
|
|
ldrh r2, [r4]
|
|
lsl r0, r2, #0x3
|
|
ldr r1, ._668 + 4 @ gMonFrontPicTable
|
|
add r0, r0, r1
|
|
ldr r1, ._668 + 8 @ gMonFrontPicCoords
|
|
lsl r2, r2, #0x2
|
|
add r2, r2, r1
|
|
ldrb r1, [r2]
|
|
ldrb r2, [r2, #0x1]
|
|
ldr r3, ._668 + 12 @ gUnknown_081FAF4C
|
|
mov r8, r3
|
|
ldr r6, [r3]
|
|
str r6, [sp, #0x8]
|
|
ldr r3, [r3, #0x4]
|
|
str r3, [sp]
|
|
ldrh r3, [r4]
|
|
str r3, [sp, #0x4]
|
|
add r3, r6, #0
|
|
bl DecompressPicFromTable_2
|
|
ldr r0, [r5]
|
|
ldrh r0, [r0]
|
|
lsl r0, r0, #0x3
|
|
ldr r7, ._668 + 16 @ gMonPaletteTable
|
|
add r0, r0, r7
|
|
bl LoadCompressedObjectPalette
|
|
ldr r0, [r5]
|
|
ldrh r0, [r0]
|
|
mov r1, #0x1
|
|
bl GetMonSpriteTemplate_803C56C
|
|
ldr r0, ._668 + 20 @ gUnknown_02024E8C
|
|
mov r1, #0x28
|
|
mov r2, #0x28
|
|
mov r3, #0x0
|
|
bl CreateSprite
|
|
ldr r1, [r5]
|
|
strb r0, [r1, #0x2]
|
|
ldr r2, [r5]
|
|
ldrb r1, [r2, #0x2]
|
|
lsl r0, r1, #0x4
|
|
add r0, r0, r1
|
|
lsl r0, r0, #0x2
|
|
ldr r1, ._668 + 24 @ gSprites
|
|
add r0, r0, r1
|
|
ldr r3, ._668 + 28 @ debug_69
|
|
mov r9, r3
|
|
str r3, [r0]
|
|
ldrb r0, [r2, #0x2]
|
|
lsl r1, r0, #0x4
|
|
add r1, r1, r0
|
|
lsl r1, r1, #0x2
|
|
ldr r6, ._668 + 32 @ gSprites
|
|
add r1, r1, r6
|
|
ldrb r2, [r1, #0x5]
|
|
mov r6, #0xd
|
|
neg r6, r6
|
|
add r0, r6, #0
|
|
and r0, r0, r2
|
|
strb r0, [r1, #0x5]
|
|
ldr r4, [r5]
|
|
ldrh r2, [r4]
|
|
lsl r0, r2, #0x3
|
|
ldr r1, ._668 + 36 @ gMonBackPicTable
|
|
add r0, r0, r1
|
|
ldr r1, ._668 + 40 @ gMonBackPicCoords
|
|
lsl r2, r2, #0x2
|
|
add r2, r2, r1
|
|
ldrb r1, [r2]
|
|
ldrb r2, [r2, #0x1]
|
|
mov r7, r8
|
|
ldr r3, [r7, #0x8]
|
|
str r3, [sp]
|
|
ldrh r3, [r4]
|
|
str r3, [sp, #0x4]
|
|
ldr r3, [sp, #0x8]
|
|
bl DecompressPicFromTable_2
|
|
ldr r0, [r5]
|
|
ldrh r0, [r0]
|
|
lsl r0, r0, #0x3
|
|
ldr r1, ._668 + 16 @ gMonPaletteTable
|
|
add r0, r0, r1
|
|
bl LoadCompressedObjectPalette
|
|
ldr r0, [r5]
|
|
ldrh r0, [r0]
|
|
mov r1, #0x2
|
|
bl GetMonSpriteTemplate_803C56C
|
|
ldr r0, ._668 + 20 @ gUnknown_02024E8C
|
|
mov r1, #0x28
|
|
mov r2, #0x78
|
|
mov r3, #0x0
|
|
bl CreateSprite
|
|
ldr r1, [r5]
|
|
strb r0, [r1, #0x3]
|
|
ldr r2, [r5]
|
|
ldrb r1, [r2, #0x3]
|
|
lsl r0, r1, #0x4
|
|
add r0, r0, r1
|
|
lsl r0, r0, #0x2
|
|
ldr r3, ._668 + 24 @ gSprites
|
|
add r0, r0, r3
|
|
mov r7, r9
|
|
str r7, [r0]
|
|
ldrb r1, [r2, #0x3]
|
|
lsl r0, r1, #0x4
|
|
add r0, r0, r1
|
|
lsl r0, r0, #0x2
|
|
ldr r1, ._668 + 32 @ gSprites
|
|
add r0, r0, r1
|
|
ldrb r1, [r0, #0x5]
|
|
and r6, r6, r1
|
|
strb r6, [r0, #0x5]
|
|
ldr r0, [r5]
|
|
ldrh r0, [r0]
|
|
ldr r1, ._668 + 44 @ sub_809D62C
|
|
mov r2, #0x0
|
|
str r2, [sp]
|
|
str r2, [sp, #0x4]
|
|
mov r2, #0x68
|
|
mov r3, #0x2c
|
|
bl CreateMonIcon
|
|
ldr r1, [r5]
|
|
strb r0, [r1, #0x4]
|
|
ldr r0, [r5]
|
|
ldrh r0, [r0]
|
|
bl SpeciesToNationalPokedexNum
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
mov r2, #0xff
|
|
lsl r2, r2, #0x2
|
|
mov r1, #0x2
|
|
bl sub_8091738
|
|
ldr r1, ._668 + 48 @ 0x600f858
|
|
ldr r3, ._668 + 52 @ 0xf3fc
|
|
add r0, r3, #0
|
|
strh r0, [r1]
|
|
add r1, r1, #0x2
|
|
ldr r6, ._668 + 56 @ 0xf3fd
|
|
add r0, r6, #0
|
|
strh r0, [r1]
|
|
add r1, r1, #0x3e
|
|
ldr r7, ._668 + 60 @ 0xf3fe
|
|
add r0, r7, #0
|
|
strh r0, [r1]
|
|
add r1, r1, #0x2
|
|
ldr r2, ._668 + 64 @ 0xf3ff
|
|
add r0, r2, #0
|
|
strh r0, [r1]
|
|
ldr r0, [r5]
|
|
ldrh r0, [r0]
|
|
mov r1, #0x11
|
|
mov r2, #0x3
|
|
bl debug_80C3800
|
|
ldr r0, [r5]
|
|
ldrh r0, [r0]
|
|
mov r1, #0x1a
|
|
mov r2, #0x5
|
|
bl debug_80C376C
|
|
ldr r2, [r5]
|
|
ldrb r1, [r2, #0x2]
|
|
lsl r0, r1, #0x4
|
|
add r0, r0, r1
|
|
lsl r0, r0, #0x2
|
|
ldr r3, ._668 + 32 @ gSprites
|
|
add r0, r0, r3
|
|
ldrb r0, [r0, #0x5]
|
|
lsr r0, r0, #0x4
|
|
strb r0, [r2, #0x6]
|
|
ldr r0, [r5]
|
|
ldrb r0, [r0, #0x6]
|
|
lsl r0, r0, #0x5
|
|
ldr r4, ._668 + 68 @ gPlttBufferUnfaded
|
|
add r0, r0, r4
|
|
ldr r6, ._668 + 72 @ 0xffffff00
|
|
add r1, r4, r6
|
|
mov r2, #0x10
|
|
bl CpuSet
|
|
ldr r0, [r5]
|
|
ldrb r0, [r0, #0x6]
|
|
lsl r0, r0, #0x5
|
|
add r0, r0, r4
|
|
ldr r1, ._668 + 76 @ gPlttBufferFaded
|
|
mov r2, #0x10
|
|
bl CpuSet
|
|
ldr r1, ._668 + 80 @ gTasks
|
|
mov r7, sl
|
|
lsl r0, r7, #0x2
|
|
add r0, r0, sl
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r1, ._668 + 84 @ debug_80C6EE8
|
|
str r1, [r0]
|
|
ldr r0, [r5]
|
|
mov r1, #0x0
|
|
strb r1, [r0, #0x9]
|
|
bl StopCryAndClearCrySongs
|
|
ldr r0, [r5]
|
|
ldrh r0, [r0]
|
|
mov r1, #0x0
|
|
bl PlayCry1
|
|
add sp, sp, #0xc
|
|
pop {r3, r4, r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov sl, r5
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
._669:
|
|
.align 2, 0
|
|
._668:
|
|
.word gUnknown_Debug_2038A20
|
|
.word gMonFrontPicTable
|
|
.word gMonFrontPicCoords
|
|
.word gUnknown_081FAF4C
|
|
.word gMonPaletteTable
|
|
.word gUnknown_02024E8C
|
|
.word gSprites+0x1c
|
|
.word debug_69+1
|
|
.word gSprites
|
|
.word gMonBackPicTable
|
|
.word gMonBackPicCoords
|
|
.word sub_809D62C+1
|
|
.word 0x600f858
|
|
.word 0xf3fc
|
|
.word 0xf3fd
|
|
.word 0xf3fe
|
|
.word 0xf3ff
|
|
.word gPlttBufferUnfaded+0x200
|
|
.word 0xffffff00
|
|
.word gPlttBufferFaded+0x100
|
|
.word gTasks
|
|
.word debug_80C6EE8+1
|
|
|
|
thumb_func_end debug_80C6CB8
|
|
|
|
thumb_func_start debug_80C6EE8
|
|
debug_80C6EE8:
|
|
push {r4, r5, r6, lr}
|
|
add r6, r0, #0
|
|
lsl r6, r6, #0x18
|
|
lsr r6, r6, #0x18
|
|
ldr r4, ._670 @ gPlttBufferUnfaded
|
|
ldr r5, ._670 + 4 @ gUnknown_Debug_2038A20
|
|
ldr r1, [r5]
|
|
add r1, r1, #0x10
|
|
add r0, r4, #0
|
|
mov r2, #0x10
|
|
bl CpuSet
|
|
ldr r0, ._670 + 8 @ 0xffffff00
|
|
add r4, r4, r0
|
|
ldr r3, [r5]
|
|
ldrb r0, [r3, #0x7]
|
|
add r0, r0, #0x81
|
|
lsl r0, r0, #0x1
|
|
add r0, r0, r4
|
|
ldrh r4, [r0]
|
|
mov r1, #0x1f
|
|
and r1, r1, r4
|
|
ldrb r2, [r3, #0xc]
|
|
mov r0, #0x20
|
|
neg r0, r0
|
|
and r0, r0, r2
|
|
orr r0, r0, r1
|
|
strb r0, [r3, #0xc]
|
|
ldr r3, [r5]
|
|
mov r1, #0xf8
|
|
lsl r1, r1, #0x2
|
|
and r1, r1, r4
|
|
ldrh r2, [r3, #0xc]
|
|
ldr r0, ._670 + 12 @ 0xfffffc1f
|
|
and r0, r0, r2
|
|
orr r0, r0, r1
|
|
strh r0, [r3, #0xc]
|
|
mov r1, #0xf8
|
|
lsl r1, r1, #0x7
|
|
and r1, r1, r4
|
|
lsr r1, r1, #0x8
|
|
ldrb r2, [r3, #0xd]
|
|
mov r0, #0x7d
|
|
neg r0, r0
|
|
and r0, r0, r2
|
|
orr r0, r0, r1
|
|
strb r0, [r3, #0xd]
|
|
ldr r2, [r5]
|
|
ldrb r1, [r2, #0xd]
|
|
mov r0, #0x7f
|
|
and r0, r0, r1
|
|
strb r0, [r2, #0xd]
|
|
ldr r0, [r5]
|
|
ldrb r0, [r0, #0x7]
|
|
add r0, r0, #0x1
|
|
mov r1, #0xb
|
|
mov r2, #0xa
|
|
mov r3, #0x2
|
|
bl debug_80C68CC
|
|
ldr r0, ._670 + 16 @ gUnknown_Debug_083F8813
|
|
mov r1, #0xd
|
|
mov r2, #0xa
|
|
bl Menu_PrintText
|
|
add r0, r4, #0
|
|
mov r1, #0xe
|
|
mov r2, #0xa
|
|
mov r3, #0x4
|
|
bl debug_80C68CC
|
|
ldr r1, ._670 + 20 @ gTasks
|
|
lsl r0, r6, #0x2
|
|
add r0, r0, r6
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r1, ._670 + 24 @ debug_80C6FA8
|
|
str r1, [r0]
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
._671:
|
|
.align 2, 0
|
|
._670:
|
|
.word gPlttBufferUnfaded+0x100
|
|
.word gUnknown_Debug_2038A20
|
|
.word 0xffffff00
|
|
.word 0xfffffc1f
|
|
.word gUnknown_Debug_083F8813
|
|
.word gTasks
|
|
.word debug_80C6FA8+1
|
|
|
|
thumb_func_end debug_80C6EE8
|
|
|
|
thumb_func_start debug_80C6FA8
|
|
debug_80C6FA8:
|
|
push {r4, r5, r6, lr}
|
|
add sp, sp, #0xfffffffc
|
|
lsl r0, r0, #0x18
|
|
lsr r6, r0, #0x18
|
|
ldr r1, ._674 @ gMain
|
|
ldrh r2, [r1, #0x2e]
|
|
mov r0, #0x2
|
|
and r0, r0, r2
|
|
add r4, r1, #0
|
|
cmp r0, #0
|
|
beq ._672 @cond_branch
|
|
mov r0, #0x5
|
|
bl PlaySE
|
|
mov r0, #0x1
|
|
neg r0, r0
|
|
mov r1, #0x0
|
|
str r1, [sp]
|
|
mov r2, #0x0
|
|
mov r3, #0x10
|
|
bl BeginNormalPaletteFade
|
|
ldr r0, ._674 + 4 @ debug_80C370C
|
|
bl SetMainCallback2
|
|
ldr r1, ._674 + 8 @ gTasks
|
|
lsl r0, r6, #0x2
|
|
add r0, r0, r6
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r1, ._674 + 12 @ debug_80C373C
|
|
str r1, [r0]
|
|
b ._703
|
|
._675:
|
|
.align 2, 0
|
|
._674:
|
|
.word gMain
|
|
.word debug_80C370C+1
|
|
.word gTasks
|
|
.word debug_80C373C+1
|
|
._672:
|
|
ldrh r1, [r4, #0x30]
|
|
mov r0, #0x80
|
|
lsl r0, r0, #0x1
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._676 @cond_branch
|
|
ldr r4, ._678 @ gUnknown_Debug_2038A20
|
|
ldr r0, [r4]
|
|
ldrh r1, [r0]
|
|
mov r0, #0x0
|
|
b ._677
|
|
._679:
|
|
.align 2, 0
|
|
._678:
|
|
.word gUnknown_Debug_2038A20
|
|
._676:
|
|
mov r0, #0x80
|
|
lsl r0, r0, #0x2
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._680 @cond_branch
|
|
ldr r4, ._682 @ gUnknown_Debug_2038A20
|
|
ldr r0, [r4]
|
|
ldrh r1, [r0]
|
|
mov r0, #0x1
|
|
._677:
|
|
bl debug_80C3878
|
|
ldr r1, [r4]
|
|
strh r0, [r1]
|
|
ldr r1, ._682 + 4 @ gTasks
|
|
lsl r0, r6, #0x2
|
|
add r0, r0, r6
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r1, ._682 + 8 @ debug_80C71FC
|
|
str r1, [r0]
|
|
b ._703
|
|
._683:
|
|
.align 2, 0
|
|
._682:
|
|
.word gUnknown_Debug_2038A20
|
|
.word gTasks
|
|
.word debug_80C71FC+1
|
|
._680:
|
|
mov r3, #0x1
|
|
and r3, r3, r2
|
|
cmp r3, #0
|
|
beq ._684 @cond_branch
|
|
ldr r0, ._686 @ gUnknown_Debug_2038A20
|
|
ldr r1, [r0]
|
|
mov r0, #0x1
|
|
strb r0, [r1, #0x5]
|
|
ldr r1, ._686 + 4 @ 0x4000040
|
|
ldr r2, ._686 + 8 @ 0x51ef
|
|
add r0, r2, #0
|
|
strh r0, [r1]
|
|
add r1, r1, #0x4
|
|
ldr r2, ._686 + 12 @ 0x4167
|
|
add r0, r2, #0
|
|
strh r0, [r1]
|
|
ldr r1, ._686 + 16 @ gTasks
|
|
lsl r0, r6, #0x2
|
|
add r0, r0, r6
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r1, ._686 + 20 @ debug_80C7294
|
|
str r1, [r0]
|
|
b ._703
|
|
._687:
|
|
.align 2, 0
|
|
._686:
|
|
.word gUnknown_Debug_2038A20
|
|
.word 0x4000040
|
|
.word 0x51ef
|
|
.word 0x4167
|
|
.word gTasks
|
|
.word debug_80C7294+1
|
|
._684:
|
|
mov r0, #0x10
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._689 @cond_branch
|
|
ldr r1, ._691 @ gUnknown_Debug_2038A20
|
|
ldr r2, [r1]
|
|
ldrb r0, [r2, #0x7]
|
|
cmp r0, #0xd
|
|
bhi ._689 @cond_branch
|
|
lsl r0, r0, #0x1
|
|
ldr r2, ._691 + 4 @ 0x5000102
|
|
add r0, r0, r2
|
|
strh r3, [r0]
|
|
ldr r1, [r1]
|
|
ldrb r0, [r1, #0x7]
|
|
add r0, r0, #0x1
|
|
strb r0, [r1, #0x7]
|
|
b ._695
|
|
._692:
|
|
.align 2, 0
|
|
._691:
|
|
.word gUnknown_Debug_2038A20
|
|
.word 0x5000102
|
|
._689:
|
|
ldrh r1, [r4, #0x30]
|
|
mov r0, #0x20
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._694 @cond_branch
|
|
ldr r2, ._696 @ gUnknown_Debug_2038A20
|
|
ldr r1, [r2]
|
|
ldrb r0, [r1, #0x7]
|
|
cmp r0, #0
|
|
beq ._694 @cond_branch
|
|
lsl r0, r0, #0x1
|
|
ldr r1, ._696 + 4 @ 0x5000102
|
|
add r0, r0, r1
|
|
mov r1, #0x0
|
|
strh r1, [r0]
|
|
ldr r1, [r2]
|
|
ldrb r0, [r1, #0x7]
|
|
sub r0, r0, #0x1
|
|
strb r0, [r1, #0x7]
|
|
b ._695
|
|
._697:
|
|
.align 2, 0
|
|
._696:
|
|
.word gUnknown_Debug_2038A20
|
|
.word 0x5000102
|
|
._694:
|
|
ldrh r1, [r4, #0x2e]
|
|
mov r0, #0x8
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._698 @cond_branch
|
|
ldr r4, ._701 @ gUnknown_Debug_2038A20
|
|
ldr r2, [r4]
|
|
ldrb r0, [r2, #0x9]
|
|
mov r1, #0x1
|
|
eor r0, r0, r1
|
|
strb r0, [r2, #0x9]
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1, #0x9]
|
|
cmp r0, #0
|
|
beq ._699 @cond_branch
|
|
ldrh r0, [r1]
|
|
mov r1, #0x0
|
|
mov r2, #0x0
|
|
bl GetMonSpritePalFromOtIdPersonality
|
|
ldr r1, [r4]
|
|
ldrb r1, [r1, #0x6]
|
|
lsl r1, r1, #0x14
|
|
mov r2, #0x80
|
|
lsl r2, r2, #0x11
|
|
add r1, r1, r2
|
|
lsr r1, r1, #0x10
|
|
mov r2, #0x20
|
|
bl LoadCompressedPalette
|
|
b ._700
|
|
._702:
|
|
.align 2, 0
|
|
._701:
|
|
.word gUnknown_Debug_2038A20
|
|
._699:
|
|
ldrh r0, [r1]
|
|
mov r1, #0x0
|
|
mov r2, #0x9
|
|
bl GetMonSpritePalFromOtIdPersonality
|
|
ldr r1, [r4]
|
|
ldrb r1, [r1, #0x6]
|
|
lsl r1, r1, #0x14
|
|
mov r2, #0x80
|
|
lsl r2, r2, #0x11
|
|
add r1, r1, r2
|
|
lsr r1, r1, #0x10
|
|
mov r2, #0x20
|
|
bl LoadCompressedPalette
|
|
._700:
|
|
ldr r5, ._704 @ gUnknown_Debug_2038A20
|
|
ldr r0, [r5]
|
|
ldrb r0, [r0, #0x6]
|
|
lsl r0, r0, #0x5
|
|
ldr r4, ._704 + 4 @ gPlttBufferUnfaded
|
|
add r0, r0, r4
|
|
ldr r2, ._704 + 8 @ 0xffffff00
|
|
add r1, r4, r2
|
|
mov r2, #0x10
|
|
bl CpuSet
|
|
ldr r0, [r5]
|
|
ldrb r0, [r0, #0x6]
|
|
lsl r0, r0, #0x5
|
|
add r0, r0, r4
|
|
ldr r1, ._704 + 12 @ gPlttBufferFaded
|
|
mov r2, #0x10
|
|
bl CpuSet
|
|
._695:
|
|
ldr r1, ._704 + 16 @ gTasks
|
|
lsl r0, r6, #0x2
|
|
add r0, r0, r6
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r1, ._704 + 20 @ debug_80C6EE8
|
|
str r1, [r0]
|
|
b ._703
|
|
._705:
|
|
.align 2, 0
|
|
._704:
|
|
.word gUnknown_Debug_2038A20
|
|
.word gPlttBufferUnfaded+0x200
|
|
.word 0xffffff00
|
|
.word gPlttBufferFaded+0x100
|
|
.word gTasks
|
|
.word debug_80C6EE8+1
|
|
._698:
|
|
mov r0, #0x4
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._706 @cond_branch
|
|
bl StopCryAndClearCrySongs
|
|
ldr r0, ._707 @ gUnknown_Debug_2038A20
|
|
ldr r0, [r0]
|
|
ldrh r0, [r0]
|
|
mov r1, #0x0
|
|
bl PlayCry1
|
|
._706:
|
|
ldr r2, ._707 @ gUnknown_Debug_2038A20
|
|
ldr r1, [r2]
|
|
ldrb r0, [r1, #0x8]
|
|
add r0, r0, #0x4
|
|
strb r0, [r1, #0x8]
|
|
ldr r3, [r2]
|
|
ldrb r1, [r3, #0x8]
|
|
mov r0, #0x1f
|
|
and r0, r0, r1
|
|
strb r0, [r3, #0x8]
|
|
ldr r0, [r2]
|
|
ldrb r1, [r0, #0x7]
|
|
lsl r1, r1, #0x1
|
|
ldr r2, ._707 + 4 @ 0x5000142
|
|
add r1, r1, r2
|
|
ldr r2, ._707 + 8 @ gUnknown_Debug_083F8790
|
|
ldrb r0, [r0, #0x8]
|
|
lsl r0, r0, #0x1
|
|
add r0, r0, r2
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
._703:
|
|
add sp, sp, #0x4
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
._708:
|
|
.align 2, 0
|
|
._707:
|
|
.word gUnknown_Debug_2038A20
|
|
.word 0x5000142
|
|
.word gUnknown_Debug_083F8790
|
|
|
|
thumb_func_end debug_80C6FA8
|
|
|
|
thumb_func_start debug_80C71FC
|
|
debug_80C71FC:
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
lsl r5, r5, #0x18
|
|
lsr r5, r5, #0x18
|
|
ldr r6, ._709 @ gSprites
|
|
ldr r4, ._709 + 4 @ gUnknown_Debug_2038A20
|
|
ldr r0, [r4]
|
|
ldrb r1, [r0, #0x2]
|
|
lsl r0, r1, #0x4
|
|
add r0, r0, r1
|
|
lsl r0, r0, #0x2
|
|
add r0, r0, r6
|
|
ldrb r0, [r0, #0x5]
|
|
lsr r0, r0, #0x4
|
|
bl GetSpritePaletteTagByPaletteNum
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl FreeSpritePaletteByTag
|
|
ldr r0, [r4]
|
|
ldrb r1, [r0, #0x2]
|
|
lsl r0, r1, #0x4
|
|
add r0, r0, r1
|
|
lsl r0, r0, #0x2
|
|
add r0, r0, r6
|
|
bl DestroySprite
|
|
ldr r0, [r4]
|
|
ldrb r1, [r0, #0x3]
|
|
lsl r0, r1, #0x4
|
|
add r0, r0, r1
|
|
lsl r0, r0, #0x2
|
|
add r0, r0, r6
|
|
ldrb r0, [r0, #0x5]
|
|
lsr r0, r0, #0x4
|
|
bl GetSpritePaletteTagByPaletteNum
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl FreeSpritePaletteByTag
|
|
ldr r0, [r4]
|
|
ldrb r1, [r0, #0x3]
|
|
lsl r0, r1, #0x4
|
|
add r0, r0, r1
|
|
lsl r0, r0, #0x2
|
|
add r0, r0, r6
|
|
bl DestroySprite
|
|
ldr r0, [r4]
|
|
ldrb r1, [r0, #0x4]
|
|
lsl r0, r1, #0x4
|
|
add r0, r0, r1
|
|
lsl r0, r0, #0x2
|
|
add r0, r0, r6
|
|
bl sub_809D510
|
|
ldr r1, ._709 + 8 @ gTasks
|
|
lsl r0, r5, #0x2
|
|
add r0, r0, r5
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r1, ._709 + 12 @ debug_80C6CB8
|
|
str r1, [r0]
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
._710:
|
|
.align 2, 0
|
|
._709:
|
|
.word gSprites
|
|
.word gUnknown_Debug_2038A20
|
|
.word gTasks
|
|
.word debug_80C6CB8+1
|
|
|
|
thumb_func_end debug_80C71FC
|
|
|
|
thumb_func_start debug_80C7294
|
|
debug_80C7294:
|
|
push {r4, r5, r6, r7, lr}
|
|
lsl r0, r0, #0x18
|
|
lsr r7, r0, #0x18
|
|
ldr r0, ._713 @ gMain
|
|
ldrh r2, [r0, #0x2e]
|
|
mov r1, #0x1
|
|
and r1, r1, r2
|
|
add r3, r0, #0
|
|
cmp r1, #0
|
|
beq ._711 @cond_branch
|
|
ldr r0, ._713 + 4 @ gUnknown_Debug_2038A20
|
|
ldr r1, [r0]
|
|
mov r0, #0x0
|
|
strb r0, [r1, #0x5]
|
|
ldr r1, ._713 + 8 @ 0x4000040
|
|
ldr r2, ._713 + 12 @ 0x51ef
|
|
add r0, r2, #0
|
|
strh r0, [r1]
|
|
add r1, r1, #0x4
|
|
ldr r2, ._713 + 16 @ 0x699f
|
|
add r0, r2, #0
|
|
strh r0, [r1]
|
|
b ._712
|
|
._714:
|
|
.align 2, 0
|
|
._713:
|
|
.word gMain
|
|
.word gUnknown_Debug_2038A20
|
|
.word 0x4000040
|
|
.word 0x51ef
|
|
.word 0x699f
|
|
._711:
|
|
mov r0, #0x2
|
|
and r0, r0, r2
|
|
cmp r0, #0
|
|
beq ._715 @cond_branch
|
|
ldr r6, ._717 @ gUnknown_Debug_2038A20
|
|
ldr r0, [r6]
|
|
strb r1, [r0, #0x5]
|
|
ldr r1, ._717 + 4 @ 0x4000040
|
|
ldr r2, ._717 + 8 @ 0x51ef
|
|
add r0, r2, #0
|
|
strh r0, [r1]
|
|
add r1, r1, #0x4
|
|
ldr r2, ._717 + 12 @ 0x699f
|
|
add r0, r2, #0
|
|
strh r0, [r1]
|
|
ldr r0, [r6]
|
|
add r0, r0, #0x10
|
|
ldr r4, ._717 + 16 @ gPlttBufferUnfaded
|
|
add r1, r4, #0
|
|
mov r2, #0x10
|
|
bl CpuSet
|
|
ldr r0, [r6]
|
|
add r0, r0, #0x10
|
|
ldr r5, ._717 + 20 @ gPlttBufferFaded
|
|
add r1, r5, #0
|
|
mov r2, #0x10
|
|
bl CpuSet
|
|
ldr r1, [r6]
|
|
add r0, r1, #0
|
|
add r0, r0, #0x10
|
|
ldrb r1, [r1, #0x6]
|
|
lsl r1, r1, #0x5
|
|
mov r2, #0x80
|
|
lsl r2, r2, #0x1
|
|
add r4, r4, r2
|
|
add r1, r1, r4
|
|
mov r2, #0x10
|
|
bl CpuSet
|
|
ldr r1, [r6]
|
|
add r0, r1, #0
|
|
add r0, r0, #0x10
|
|
ldrb r1, [r1, #0x6]
|
|
lsl r1, r1, #0x5
|
|
mov r2, #0x80
|
|
lsl r2, r2, #0x1
|
|
add r5, r5, r2
|
|
add r1, r1, r5
|
|
mov r2, #0x10
|
|
bl CpuSet
|
|
._712:
|
|
ldr r1, ._717 + 24 @ gTasks
|
|
lsl r0, r7, #0x2
|
|
add r0, r0, r7
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r1, ._717 + 28 @ debug_80C6EE8
|
|
str r1, [r0]
|
|
b ._754
|
|
._718:
|
|
.align 2, 0
|
|
._717:
|
|
.word gUnknown_Debug_2038A20
|
|
.word 0x4000040
|
|
.word 0x51ef
|
|
.word 0x699f
|
|
.word gPlttBufferUnfaded+0x100
|
|
.word gPlttBufferFaded+0x100
|
|
.word gTasks
|
|
.word debug_80C6EE8+1
|
|
._715:
|
|
ldrh r1, [r3, #0x30]
|
|
mov r0, #0x80
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._720 @cond_branch
|
|
ldr r0, ._722 @ gUnknown_Debug_2038A20
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1, #0xa]
|
|
cmp r0, #0x1
|
|
bhi ._720 @cond_branch
|
|
add r0, r0, #0x1
|
|
strb r0, [r1, #0xa]
|
|
b ._754
|
|
._723:
|
|
.align 2, 0
|
|
._722:
|
|
.word gUnknown_Debug_2038A20
|
|
._720:
|
|
ldrh r1, [r3, #0x30]
|
|
mov r0, #0x40
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._725 @cond_branch
|
|
ldr r0, ._727 @ gUnknown_Debug_2038A20
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1, #0xa]
|
|
cmp r0, #0
|
|
beq ._725 @cond_branch
|
|
sub r0, r0, #0x1
|
|
strb r0, [r1, #0xa]
|
|
b ._754
|
|
._728:
|
|
.align 2, 0
|
|
._727:
|
|
.word gUnknown_Debug_2038A20
|
|
._725:
|
|
ldrh r1, [r3, #0x30]
|
|
mov r0, #0x10
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._729 @cond_branch
|
|
ldr r0, ._734 @ gUnknown_Debug_2038A20
|
|
ldr r2, [r0]
|
|
ldrb r0, [r2, #0xa]
|
|
cmp r0, #0x1
|
|
beq ._730 @cond_branch
|
|
cmp r0, #0x1
|
|
bgt ._731 @cond_branch
|
|
cmp r0, #0
|
|
beq ._732 @cond_branch
|
|
b ._754
|
|
._735:
|
|
.align 2, 0
|
|
._734:
|
|
.word gUnknown_Debug_2038A20
|
|
._731:
|
|
cmp r0, #0x2
|
|
beq ._736 @cond_branch
|
|
b ._754
|
|
._732:
|
|
ldrb r3, [r2, #0xc]
|
|
lsl r1, r3, #0x1b
|
|
lsr r0, r1, #0x1b
|
|
cmp r0, #0x1e
|
|
bhi ._761 @cond_branch
|
|
add r0, r0, #0x1
|
|
mov r1, #0x1f
|
|
and r0, r0, r1
|
|
mov r1, #0x20
|
|
neg r1, r1
|
|
and r1, r1, r3
|
|
orr r1, r1, r0
|
|
strb r1, [r2, #0xc]
|
|
b ._761
|
|
._730:
|
|
ldrh r3, [r2, #0xc]
|
|
lsl r1, r3, #0x16
|
|
lsr r0, r1, #0x1b
|
|
cmp r0, #0x1e
|
|
bhi ._761 @cond_branch
|
|
add r0, r0, #0x1
|
|
mov r1, #0x1f
|
|
and r0, r0, r1
|
|
lsl r0, r0, #0x5
|
|
ldr r1, ._742 @ 0xfffffc1f
|
|
and r1, r1, r3
|
|
orr r1, r1, r0
|
|
strh r1, [r2, #0xc]
|
|
b ._761
|
|
._743:
|
|
.align 2, 0
|
|
._742:
|
|
.word 0xfffffc1f
|
|
._736:
|
|
ldrb r3, [r2, #0xd]
|
|
lsl r1, r3, #0x19
|
|
lsr r0, r1, #0x1b
|
|
cmp r0, #0x1e
|
|
bhi ._761 @cond_branch
|
|
add r0, r0, #0x1
|
|
mov r1, #0x1f
|
|
and r0, r0, r1
|
|
lsl r0, r0, #0x2
|
|
mov r1, #0x7d
|
|
neg r1, r1
|
|
and r1, r1, r3
|
|
orr r1, r1, r0
|
|
strb r1, [r2, #0xd]
|
|
b ._761
|
|
._729:
|
|
mov r0, #0x20
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._754 @cond_branch
|
|
ldr r0, ._751 @ gUnknown_Debug_2038A20
|
|
ldr r3, [r0]
|
|
ldrb r0, [r3, #0xa]
|
|
cmp r0, #0x1
|
|
beq ._747 @cond_branch
|
|
cmp r0, #0x1
|
|
bgt ._748 @cond_branch
|
|
cmp r0, #0
|
|
beq ._749 @cond_branch
|
|
b ._754
|
|
._752:
|
|
.align 2, 0
|
|
._751:
|
|
.word gUnknown_Debug_2038A20
|
|
._748:
|
|
cmp r0, #0x2
|
|
beq ._753 @cond_branch
|
|
b ._754
|
|
._749:
|
|
ldrb r2, [r3, #0xc]
|
|
mov r0, #0x1f
|
|
and r0, r0, r2
|
|
cmp r0, #0
|
|
beq ._761 @cond_branch
|
|
lsl r0, r2, #0x1b
|
|
lsr r0, r0, #0x1b
|
|
sub r0, r0, #0x1
|
|
mov r1, #0x1f
|
|
and r0, r0, r1
|
|
mov r1, #0x20
|
|
neg r1, r1
|
|
and r1, r1, r2
|
|
orr r1, r1, r0
|
|
strb r1, [r3, #0xc]
|
|
b ._761
|
|
._747:
|
|
ldrh r2, [r3, #0xc]
|
|
mov r0, #0xf8
|
|
lsl r0, r0, #0x2
|
|
and r0, r0, r2
|
|
cmp r0, #0
|
|
beq ._761 @cond_branch
|
|
lsl r0, r2, #0x16
|
|
lsr r0, r0, #0x1b
|
|
sub r0, r0, #0x1
|
|
mov r1, #0x1f
|
|
and r0, r0, r1
|
|
lsl r0, r0, #0x5
|
|
ldr r1, ._759 @ 0xfffffc1f
|
|
and r1, r1, r2
|
|
orr r1, r1, r0
|
|
strh r1, [r3, #0xc]
|
|
b ._761
|
|
._760:
|
|
.align 2, 0
|
|
._759:
|
|
.word 0xfffffc1f
|
|
._753:
|
|
ldrb r2, [r3, #0xd]
|
|
mov r0, #0x7c
|
|
and r0, r0, r2
|
|
cmp r0, #0
|
|
beq ._761 @cond_branch
|
|
lsl r0, r2, #0x19
|
|
lsr r0, r0, #0x1b
|
|
sub r0, r0, #0x1
|
|
mov r1, #0x1f
|
|
and r0, r0, r1
|
|
lsl r0, r0, #0x2
|
|
mov r1, #0x7d
|
|
neg r1, r1
|
|
and r1, r1, r2
|
|
orr r1, r1, r0
|
|
strb r1, [r3, #0xd]
|
|
._761:
|
|
ldr r0, ._762 @ gTasks
|
|
lsl r1, r7, #0x2
|
|
add r1, r1, r7
|
|
lsl r1, r1, #0x3
|
|
add r1, r1, r0
|
|
ldr r0, ._762 + 4 @ debug_80C74E4
|
|
str r0, [r1]
|
|
._754:
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
._763:
|
|
.align 2, 0
|
|
._762:
|
|
.word gTasks
|
|
.word debug_80C74E4+1
|
|
|
|
thumb_func_end debug_80C7294
|
|
|
|
thumb_func_start debug_80C74E4
|
|
debug_80C74E4:
|
|
push {r4, r5, r6, lr}
|
|
mov r6, r8
|
|
push {r6}
|
|
add r5, r0, #0
|
|
lsl r5, r5, #0x18
|
|
lsr r5, r5, #0x18
|
|
ldr r0, ._764 @ gUnknown_Debug_2038A20
|
|
ldr r3, [r0]
|
|
ldrb r0, [r3, #0xc]
|
|
lsl r0, r0, #0x1b
|
|
lsr r0, r0, #0x1b
|
|
ldrh r2, [r3, #0xc]
|
|
mov r1, #0xf8
|
|
lsl r1, r1, #0x2
|
|
and r1, r1, r2
|
|
add r0, r0, r1
|
|
ldrb r1, [r3, #0xd]
|
|
lsl r1, r1, #0x19
|
|
lsr r1, r1, #0x1b
|
|
lsl r1, r1, #0xa
|
|
add r0, r0, r1
|
|
ldr r6, ._764 + 4 @ gPlttBufferUnfaded
|
|
ldrb r1, [r3, #0x7]
|
|
add r1, r1, #0x81
|
|
lsl r1, r1, #0x1
|
|
add r1, r1, r6
|
|
strh r0, [r1]
|
|
ldr r1, ._764 + 8 @ gPlttBufferFaded
|
|
mov r8, r1
|
|
ldrb r1, [r3, #0x7]
|
|
add r1, r1, #0x81
|
|
lsl r1, r1, #0x1
|
|
add r1, r1, r8
|
|
strh r0, [r1]
|
|
ldrb r1, [r3, #0x6]
|
|
lsl r1, r1, #0x4
|
|
ldrb r2, [r3, #0x7]
|
|
ldr r4, ._764 + 12 @ 0x101
|
|
add r2, r2, r4
|
|
add r1, r1, r2
|
|
lsl r1, r1, #0x1
|
|
add r1, r1, r6
|
|
strh r0, [r1]
|
|
ldrb r1, [r3, #0x6]
|
|
lsl r1, r1, #0x4
|
|
ldrb r2, [r3, #0x7]
|
|
add r2, r2, r4
|
|
add r1, r1, r2
|
|
lsl r1, r1, #0x1
|
|
add r1, r1, r8
|
|
strh r0, [r1]
|
|
mov r1, #0xe
|
|
mov r2, #0xa
|
|
mov r3, #0x4
|
|
bl debug_80C68CC
|
|
ldr r1, ._764 + 16 @ gTasks
|
|
lsl r0, r5, #0x2
|
|
add r0, r0, r5
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r1, ._764 + 20 @ debug_80C7294
|
|
str r1, [r0]
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
._765:
|
|
.align 2, 0
|
|
._764:
|
|
.word gUnknown_Debug_2038A20
|
|
.word gPlttBufferUnfaded
|
|
.word gPlttBufferFaded
|
|
.word 0x101
|
|
.word gTasks
|
|
.word debug_80C7294+1
|
|
|
|
thumb_func_end debug_80C74E4
|
|
|
|
thumb_func_start debug_80C7584
|
|
debug_80C7584:
|
|
push {r4, lr}
|
|
add r2, r0, #0
|
|
ldr r0, ._771 @ gUnknown_Debug_2038A20
|
|
ldr r3, [r0]
|
|
ldrb r1, [r3, #0x5]
|
|
add r4, r0, #0
|
|
cmp r1, #0
|
|
beq ._766 @cond_branch
|
|
mov r1, #0x2e
|
|
ldsh r0, [r2, r1]
|
|
cmp r0, #0x1
|
|
beq ._767 @cond_branch
|
|
cmp r0, #0x1
|
|
ble ._768 @cond_branch
|
|
cmp r0, #0x2
|
|
beq ._769 @cond_branch
|
|
._768:
|
|
ldrb r0, [r3, #0xc]
|
|
lsl r0, r0, #0x1b
|
|
b ._773
|
|
._772:
|
|
.align 2, 0
|
|
._771:
|
|
.word gUnknown_Debug_2038A20
|
|
._767:
|
|
ldrh r0, [r3, #0xc]
|
|
lsl r0, r0, #0x16
|
|
b ._773
|
|
._769:
|
|
ldrb r0, [r3, #0xd]
|
|
lsl r0, r0, #0x19
|
|
._773:
|
|
lsr r0, r0, #0x1b
|
|
lsl r0, r0, #0x2
|
|
strh r0, [r2, #0x24]
|
|
mov r1, #0x2e
|
|
ldsh r0, [r2, r1]
|
|
lsl r0, r0, #0x3
|
|
strh r0, [r2, #0x26]
|
|
ldrh r0, [r2, #0x30]
|
|
add r3, r0, #1
|
|
strh r3, [r2, #0x30]
|
|
mov r0, #0x2e
|
|
ldsh r1, [r2, r0]
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, #0xa]
|
|
cmp r1, r0
|
|
bne ._775 @cond_branch
|
|
mov r0, #0x8
|
|
and r3, r3, r0
|
|
cmp r3, #0
|
|
bne ._775 @cond_branch
|
|
._766:
|
|
add r0, r2, #0
|
|
add r0, r0, #0x3e
|
|
ldrb r1, [r0]
|
|
mov r2, #0x4
|
|
orr r1, r1, r2
|
|
strb r1, [r0]
|
|
b ._776
|
|
._775:
|
|
add r2, r2, #0x3e
|
|
ldrb r1, [r2]
|
|
mov r0, #0x5
|
|
neg r0, r0
|
|
and r0, r0, r1
|
|
strb r0, [r2]
|
|
._776:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
|
|
thumb_func_end debug_80C7584
|
|
|
|
thumb_func_start InitSeeTrainers
|
|
InitSeeTrainers:
|
|
push {r4, r5, r6, lr}
|
|
add sp, sp, #0xfffffffc
|
|
bl debug_80C35DC
|
|
ldr r1, ._777 @ byte_83F88EC
|
|
ldr r2, ._777 + 4 @ 0x600e000
|
|
ldr r0, ._777 + 8 @ 0x40000d4
|
|
str r1, [r0]
|
|
str r2, [r0, #0x4]
|
|
ldr r1, ._777 + 12 @ 0x80000400
|
|
str r1, [r0, #0x8]
|
|
ldr r0, [r0, #0x8]
|
|
ldr r0, ._777 + 16 @ word_83F888C
|
|
mov r1, #0x80
|
|
mov r2, #0x60
|
|
bl LoadPalette
|
|
mov r0, #0x1
|
|
neg r0, r0
|
|
mov r5, #0x0
|
|
str r5, [sp]
|
|
mov r1, #0x0
|
|
mov r2, #0x10
|
|
mov r3, #0x0
|
|
bl BeginNormalPaletteFade
|
|
ldr r0, ._777 + 20 @ 0x4000040
|
|
mov r6, #0x0
|
|
strh r5, [r0]
|
|
add r0, r0, #0x4
|
|
strh r5, [r0]
|
|
sub r0, r0, #0x2
|
|
strh r5, [r0]
|
|
add r0, r0, #0x4
|
|
strh r5, [r0]
|
|
ldr r1, ._777 + 24 @ 0x4000048
|
|
mov r0, #0x3f
|
|
strh r0, [r1]
|
|
add r1, r1, #0x2
|
|
mov r0, #0x1f
|
|
strh r0, [r1]
|
|
add r1, r1, #0x6
|
|
mov r0, #0xf1
|
|
strh r0, [r1]
|
|
ldr r0, ._777 + 28 @ 0x4000052
|
|
strh r5, [r0]
|
|
add r1, r1, #0x4
|
|
mov r0, #0x7
|
|
strh r0, [r1]
|
|
ldr r3, ._777 + 32 @ 0x4000208
|
|
ldrh r2, [r3]
|
|
strh r5, [r3]
|
|
ldr r4, ._777 + 36 @ 0x4000200
|
|
ldrh r0, [r4]
|
|
mov r1, #0x1
|
|
orr r0, r0, r1
|
|
strh r0, [r4]
|
|
strh r2, [r3]
|
|
ldr r0, ._777 + 40 @ debug_80C3758
|
|
bl SetVBlankCallback
|
|
ldr r0, ._777 + 44 @ debug_80C370C
|
|
bl SetMainCallback2
|
|
ldr r1, ._777 + 48 @ 0x4000008
|
|
ldr r2, ._777 + 52 @ 0x1f0b
|
|
add r0, r2, #0
|
|
strh r0, [r1]
|
|
add r1, r1, #0x2
|
|
ldr r2, ._777 + 56 @ 0x1e0a
|
|
add r0, r2, #0
|
|
strh r0, [r1]
|
|
sub r1, r1, #0xa
|
|
mov r2, #0xcd
|
|
lsl r2, r2, #0x6
|
|
add r0, r2, #0
|
|
strh r0, [r1]
|
|
ldr r0, ._777 + 60 @ debug_80C777C
|
|
mov r1, #0x0
|
|
bl CreateTask
|
|
ldr r1, ._777 + 64 @ gUnknown_Debug_2038A20
|
|
ldr r0, ._777 + 68 @ 0x2018000
|
|
str r0, [r1]
|
|
strh r5, [r0]
|
|
strb r6, [r0, #0x2]
|
|
strb r6, [r0, #0x3]
|
|
strb r6, [r0, #0x5]
|
|
strb r6, [r0, #0x7]
|
|
strb r6, [r0, #0xa]
|
|
strb r6, [r0, #0x8]
|
|
ldr r4, ._777 + 72 @ gSpriteTemplate_83F8874
|
|
add r0, r4, #0
|
|
mov r1, #0x6c
|
|
mov r2, #0x74
|
|
mov r3, #0x0
|
|
bl CreateSprite
|
|
add r1, r0, #0
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
ldr r6, ._777 + 76 @ gSprites
|
|
lsl r0, r1, #0x4
|
|
add r0, r0, r1
|
|
lsl r0, r0, #0x2
|
|
add r0, r0, r6
|
|
strh r5, [r0, #0x2e]
|
|
mov r1, #0x0
|
|
bl StartSpriteAnim
|
|
add r0, r4, #0
|
|
mov r1, #0x6c
|
|
mov r2, #0x74
|
|
mov r3, #0x0
|
|
bl CreateSprite
|
|
add r1, r0, #0
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
lsl r0, r1, #0x4
|
|
add r0, r0, r1
|
|
lsl r0, r0, #0x2
|
|
add r0, r0, r6
|
|
mov r1, #0x1
|
|
strh r1, [r0, #0x2e]
|
|
bl StartSpriteAnim
|
|
add r0, r4, #0
|
|
mov r1, #0x6c
|
|
mov r2, #0x74
|
|
mov r3, #0x0
|
|
bl CreateSprite
|
|
add r1, r0, #0
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
lsl r0, r1, #0x4
|
|
add r0, r0, r1
|
|
lsl r0, r0, #0x2
|
|
add r0, r0, r6
|
|
mov r1, #0x2
|
|
strh r1, [r0, #0x2e]
|
|
bl StartSpriteAnim
|
|
add sp, sp, #0x4
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
._778:
|
|
.align 2, 0
|
|
._777:
|
|
.word byte_83F88EC
|
|
.word 0x600e000
|
|
.word 0x40000d4
|
|
.word 0x80000400
|
|
.word word_83F888C
|
|
.word 0x4000040
|
|
.word 0x4000048
|
|
.word 0x4000052
|
|
.word 0x4000208
|
|
.word 0x4000200
|
|
.word debug_80C3758+1
|
|
.word debug_80C370C+1
|
|
.word 0x4000008
|
|
.word 0x1f0b
|
|
.word 0x1e0a
|
|
.word debug_80C777C+1
|
|
.word gUnknown_Debug_2038A20
|
|
.word 0x2018000
|
|
.word gSpriteTemplate_83F8874
|
|
.word gSprites
|
|
|
|
thumb_func_end InitSeeTrainers
|
|
|
|
thumb_func_start debug_80C777C
|
|
debug_80C777C:
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
add sp, sp, #0xffffffec
|
|
lsl r0, r0, #0x18
|
|
lsr r7, r0, #0x18
|
|
ldr r1, ._784 @ gUnknown_Debug_083F8815
|
|
mov r0, sp
|
|
mov r2, #0x12
|
|
bl memcpy
|
|
mov r0, #0x9
|
|
mov r1, #0x0
|
|
mov r2, #0xe
|
|
mov r3, #0x7
|
|
bl Menu_DrawStdWindowFrame
|
|
mov r0, #0x0
|
|
mov r1, #0x0
|
|
mov r2, #0x9
|
|
mov r3, #0x9
|
|
bl Menu_DrawStdWindowFrame
|
|
mov r0, #0x0
|
|
mov r1, #0xa
|
|
mov r2, #0x9
|
|
mov r3, #0x13
|
|
bl Menu_DrawStdWindowFrame
|
|
mov r0, #0xe
|
|
mov r1, #0x0
|
|
mov r2, #0x1d
|
|
mov r3, #0x7
|
|
bl Menu_DrawStdWindowFrame
|
|
ldr r0, ._784 + 4 @ gUnknown_Debug_083F87D0
|
|
mov r1, #0xf
|
|
mov r2, #0x1
|
|
bl Menu_PrintText
|
|
ldr r0, ._784 + 8 @ gUnknown_Debug_083F87D8
|
|
mov r1, #0x19
|
|
mov r2, #0x1
|
|
bl Menu_PrintText
|
|
ldr r0, ._784 + 12 @ gUnknown_Debug_083F87E0
|
|
mov r1, #0xf
|
|
mov r2, #0x5
|
|
bl Menu_PrintText
|
|
mov r0, #0xa
|
|
mov r1, #0x8
|
|
mov r2, #0x1d
|
|
mov r3, #0xc
|
|
bl Menu_DrawStdWindowFrame
|
|
mov r2, #0x0
|
|
ldr r4, ._784 + 16 @ 0x600fa56
|
|
ldr r0, ._784 + 20 @ 0xa311
|
|
add r3, r0, #0
|
|
._779:
|
|
lsl r0, r2, #0x1
|
|
add r0, r0, r4
|
|
add r1, r2, r3
|
|
strh r1, [r0]
|
|
add r0, r2, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r2, r0, #0x18
|
|
cmp r2, #0xe
|
|
bls ._779 @cond_branch
|
|
mov r2, #0x0
|
|
ldr r5, ._784 + 24 @ gUnknown_Debug_083F87F4
|
|
lsl r6, r7, #0x2
|
|
mov r8, r6
|
|
ldr r4, ._784 + 28 @ 0x600f256
|
|
ldr r0, ._784 + 32 @ 0x8301
|
|
add r3, r0, #0
|
|
._780:
|
|
lsl r0, r2, #0x1
|
|
add r0, r0, r4
|
|
add r1, r2, r3
|
|
strh r1, [r0]
|
|
add r0, r2, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r2, r0, #0x18
|
|
cmp r2, #0xe
|
|
bls ._780 @cond_branch
|
|
add r0, r5, #0
|
|
mov r1, #0x14
|
|
mov r2, #0xa
|
|
bl Menu_PrintText
|
|
mov r0, #0xa
|
|
mov r1, #0xd
|
|
mov r2, #0x1d
|
|
mov r3, #0x13
|
|
bl Menu_DrawStdWindowFrame
|
|
mov r1, sp
|
|
mov r0, #0x23
|
|
strb r0, [r1]
|
|
mov r2, #0x0
|
|
ldr r4, ._784 + 36 @ 0x600f396
|
|
mov r5, #0x93
|
|
lsl r5, r5, #0x8
|
|
add r3, r5, #0
|
|
._781:
|
|
lsl r1, r2, #0x1
|
|
add r1, r1, r4
|
|
mov r6, sp
|
|
add r0, r6, r2
|
|
ldrb r0, [r0]
|
|
add r0, r0, r3
|
|
strh r0, [r1]
|
|
add r0, r2, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r2, r0, #0x18
|
|
cmp r2, #0x11
|
|
bls ._781 @cond_branch
|
|
mov r1, sp
|
|
mov r0, #0x24
|
|
strb r0, [r1]
|
|
mov r2, #0x0
|
|
ldr r5, ._784 + 40 @ gUnknown_Debug_083F8801
|
|
ldr r4, ._784 + 44 @ 0x600f3d6
|
|
mov r0, #0x93
|
|
lsl r0, r0, #0x8
|
|
add r3, r0, #0
|
|
._782:
|
|
lsl r1, r2, #0x1
|
|
add r1, r1, r4
|
|
mov r6, sp
|
|
add r0, r6, r2
|
|
ldrb r0, [r0]
|
|
add r0, r0, r3
|
|
strh r0, [r1]
|
|
add r0, r2, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r2, r0, #0x18
|
|
cmp r2, #0x11
|
|
bls ._782 @cond_branch
|
|
mov r1, sp
|
|
mov r0, #0x25
|
|
strb r0, [r1]
|
|
mov r2, #0x0
|
|
ldr r4, ._784 + 48 @ 0x600f416
|
|
mov r0, #0x93
|
|
lsl r0, r0, #0x8
|
|
add r3, r0, #0
|
|
._783:
|
|
lsl r1, r2, #0x1
|
|
add r1, r1, r4
|
|
mov r6, sp
|
|
add r0, r6, r2
|
|
ldrb r0, [r0]
|
|
add r0, r0, r3
|
|
strh r0, [r1]
|
|
add r0, r2, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r2, r0, #0x18
|
|
cmp r2, #0x11
|
|
bls ._783 @cond_branch
|
|
add r0, r5, #0
|
|
mov r1, #0xf
|
|
mov r2, #0x11
|
|
bl Menu_PrintText
|
|
ldr r1, ._784 + 52 @ 0x4000040
|
|
ldr r2, ._784 + 56 @ 0x51ef
|
|
add r0, r2, #0
|
|
strh r0, [r1]
|
|
add r1, r1, #0x4
|
|
ldr r5, ._784 + 60 @ 0x699f
|
|
add r0, r5, #0
|
|
strh r0, [r1]
|
|
ldr r1, ._784 + 64 @ gTasks
|
|
mov r6, r8
|
|
add r0, r6, r7
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r1, ._784 + 68 @ debug_80C7934
|
|
str r1, [r0]
|
|
add sp, sp, #0x14
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
._785:
|
|
.align 2, 0
|
|
._784:
|
|
.word gUnknown_Debug_083F8815
|
|
.word gUnknown_Debug_083F87D0
|
|
.word gUnknown_Debug_083F87D8
|
|
.word gUnknown_Debug_083F87E0
|
|
.word 0x600fa56
|
|
.word 0xa311
|
|
.word gUnknown_Debug_083F87F4
|
|
.word 0x600f256
|
|
.word 0x8301
|
|
.word 0x600f396
|
|
.word gUnknown_Debug_083F8801
|
|
.word 0x600f3d6
|
|
.word 0x600f416
|
|
.word 0x4000040
|
|
.word 0x51ef
|
|
.word 0x699f
|
|
.word gTasks
|
|
.word debug_80C7934+1
|
|
|
|
thumb_func_end debug_80C777C
|
|
|
|
thumb_func_start debug_80C7934
|
|
debug_80C7934:
|
|
push {r4, r5, r6, lr}
|
|
mov r6, r8
|
|
push {r6}
|
|
add sp, sp, #0xfffffff8
|
|
mov r8, r0
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
mov r8, r0
|
|
ldr r5, ._786 @ gUnknown_Debug_2038A20
|
|
ldr r6, [r5]
|
|
ldrh r2, [r6]
|
|
lsl r0, r2, #0x3
|
|
ldr r1, ._786 + 4 @ gTrainerFrontPicTable
|
|
add r0, r0, r1
|
|
ldr r1, ._786 + 8 @ gTrainerFrontPicCoords
|
|
lsl r2, r2, #0x2
|
|
add r2, r2, r1
|
|
ldrb r1, [r2]
|
|
ldrb r2, [r2, #0x1]
|
|
ldr r4, ._786 + 12 @ gUnknown_081FAF4C
|
|
ldr r3, [r4]
|
|
ldr r4, [r4, #0x4]
|
|
str r4, [sp]
|
|
ldrh r4, [r6]
|
|
str r4, [sp, #0x4]
|
|
bl DecompressPicFromTable_2
|
|
ldr r0, [r5]
|
|
ldrh r0, [r0]
|
|
lsl r0, r0, #0x3
|
|
ldr r1, ._786 + 16 @ gTrainerFrontPicPaletteTable
|
|
add r0, r0, r1
|
|
bl LoadCompressedObjectPalette
|
|
ldr r0, [r5]
|
|
ldrh r0, [r0]
|
|
mov r1, #0x1
|
|
bl GetMonSpriteTemplate_803C5A0
|
|
ldr r0, ._786 + 20 @ gUnknown_02024E8C
|
|
mov r1, #0x28
|
|
mov r2, #0x28
|
|
mov r3, #0x0
|
|
bl CreateSprite
|
|
ldr r1, [r5]
|
|
mov r6, #0x0
|
|
strb r0, [r1, #0x2]
|
|
ldr r4, ._786 + 24 @ gSprites
|
|
ldr r2, [r5]
|
|
ldrb r1, [r2, #0x2]
|
|
lsl r0, r1, #0x4
|
|
add r0, r0, r1
|
|
lsl r0, r0, #0x2
|
|
add r1, r4, #0
|
|
add r1, r1, #0x1c
|
|
add r0, r0, r1
|
|
ldr r1, ._786 + 28 @ debug_69
|
|
str r1, [r0]
|
|
ldrb r0, [r2, #0x2]
|
|
lsl r1, r0, #0x4
|
|
add r1, r1, r0
|
|
lsl r1, r1, #0x2
|
|
add r1, r1, r4
|
|
ldrb r2, [r1, #0x5]
|
|
mov r0, #0xd
|
|
neg r0, r0
|
|
and r0, r0, r2
|
|
strb r0, [r1, #0x5]
|
|
ldr r0, [r5]
|
|
ldrh r0, [r0]
|
|
mov r1, #0x1a
|
|
mov r2, #0x5
|
|
bl debug_80C376C
|
|
ldr r2, [r5]
|
|
ldrb r1, [r2, #0x2]
|
|
lsl r0, r1, #0x4
|
|
add r0, r0, r1
|
|
lsl r0, r0, #0x2
|
|
add r0, r0, r4
|
|
ldrb r0, [r0, #0x5]
|
|
lsr r0, r0, #0x4
|
|
strb r0, [r2, #0x6]
|
|
ldr r0, [r5]
|
|
ldrb r0, [r0, #0x6]
|
|
lsl r0, r0, #0x5
|
|
ldr r4, ._786 + 32 @ gPlttBufferUnfaded
|
|
add r0, r0, r4
|
|
ldr r2, ._786 + 36 @ 0xffffff00
|
|
add r1, r4, r2
|
|
mov r2, #0x10
|
|
bl CpuSet
|
|
ldr r0, [r5]
|
|
ldrb r0, [r0, #0x6]
|
|
lsl r0, r0, #0x5
|
|
add r0, r0, r4
|
|
ldr r1, ._786 + 40 @ gPlttBufferFaded
|
|
mov r2, #0x10
|
|
bl CpuSet
|
|
ldr r1, ._786 + 44 @ gTasks
|
|
mov r2, r8
|
|
lsl r0, r2, #0x2
|
|
add r0, r0, r8
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r1, ._786 + 48 @ debug_80C7A54
|
|
str r1, [r0]
|
|
ldr r0, [r5]
|
|
strb r6, [r0, #0x9]
|
|
add sp, sp, #0x8
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
._787:
|
|
.align 2, 0
|
|
._786:
|
|
.word gUnknown_Debug_2038A20
|
|
.word gTrainerFrontPicTable
|
|
.word gTrainerFrontPicCoords
|
|
.word gUnknown_081FAF4C
|
|
.word gTrainerFrontPicPaletteTable
|
|
.word gUnknown_02024E8C
|
|
.word gSprites
|
|
.word debug_69+1
|
|
.word gPlttBufferUnfaded+0x200
|
|
.word 0xffffff00
|
|
.word gPlttBufferFaded+0x100
|
|
.word gTasks
|
|
.word debug_80C7A54+1
|
|
|
|
thumb_func_end debug_80C7934
|
|
|
|
thumb_func_start debug_80C7A54
|
|
debug_80C7A54:
|
|
push {r4, r5, r6, lr}
|
|
add r6, r0, #0
|
|
lsl r6, r6, #0x18
|
|
lsr r6, r6, #0x18
|
|
ldr r4, ._788 @ gPlttBufferUnfaded
|
|
ldr r5, ._788 + 4 @ gUnknown_Debug_2038A20
|
|
ldr r1, [r5]
|
|
add r1, r1, #0x10
|
|
add r0, r4, #0
|
|
mov r2, #0x10
|
|
bl CpuSet
|
|
ldr r0, ._788 + 8 @ 0xffffff00
|
|
add r4, r4, r0
|
|
ldr r3, [r5]
|
|
ldrb r0, [r3, #0x7]
|
|
add r0, r0, #0x81
|
|
lsl r0, r0, #0x1
|
|
add r0, r0, r4
|
|
ldrh r4, [r0]
|
|
mov r1, #0x1f
|
|
and r1, r1, r4
|
|
ldrb r2, [r3, #0xc]
|
|
mov r0, #0x20
|
|
neg r0, r0
|
|
and r0, r0, r2
|
|
orr r0, r0, r1
|
|
strb r0, [r3, #0xc]
|
|
ldr r3, [r5]
|
|
mov r1, #0xf8
|
|
lsl r1, r1, #0x2
|
|
and r1, r1, r4
|
|
ldrh r2, [r3, #0xc]
|
|
ldr r0, ._788 + 12 @ 0xfffffc1f
|
|
and r0, r0, r2
|
|
orr r0, r0, r1
|
|
strh r0, [r3, #0xc]
|
|
mov r1, #0xf8
|
|
lsl r1, r1, #0x7
|
|
and r1, r1, r4
|
|
lsr r1, r1, #0x8
|
|
ldrb r2, [r3, #0xd]
|
|
mov r0, #0x7d
|
|
neg r0, r0
|
|
and r0, r0, r2
|
|
orr r0, r0, r1
|
|
strb r0, [r3, #0xd]
|
|
ldr r2, [r5]
|
|
ldrb r1, [r2, #0xd]
|
|
mov r0, #0x7f
|
|
and r0, r0, r1
|
|
strb r0, [r2, #0xd]
|
|
ldr r0, [r5]
|
|
ldrb r0, [r0, #0x7]
|
|
add r0, r0, #0x1
|
|
mov r1, #0xb
|
|
mov r2, #0xa
|
|
mov r3, #0x2
|
|
bl debug_80C68CC
|
|
ldr r0, ._788 + 16 @ gUnknown_Debug_083F8813
|
|
mov r1, #0xd
|
|
mov r2, #0xa
|
|
bl Menu_PrintText
|
|
add r0, r4, #0
|
|
mov r1, #0xe
|
|
mov r2, #0xa
|
|
mov r3, #0x4
|
|
bl debug_80C68CC
|
|
ldr r1, ._788 + 20 @ gTasks
|
|
lsl r0, r6, #0x2
|
|
add r0, r0, r6
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r1, ._788 + 24 @ debug_80C7B14
|
|
str r1, [r0]
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
._789:
|
|
.align 2, 0
|
|
._788:
|
|
.word gPlttBufferUnfaded+0x100
|
|
.word gUnknown_Debug_2038A20
|
|
.word 0xffffff00
|
|
.word 0xfffffc1f
|
|
.word gUnknown_Debug_083F8813
|
|
.word gTasks
|
|
.word debug_80C7B14+1
|
|
|
|
thumb_func_end debug_80C7A54
|
|
|
|
thumb_func_start debug_80C7B14
|
|
debug_80C7B14:
|
|
push {r4, r5, r6, lr}
|
|
add sp, sp, #0xfffffffc
|
|
lsl r0, r0, #0x18
|
|
lsr r6, r0, #0x18
|
|
ldr r1, ._792 @ gMain
|
|
ldrh r3, [r1, #0x2e]
|
|
mov r0, #0x2
|
|
and r0, r0, r3
|
|
add r4, r1, #0
|
|
cmp r0, #0
|
|
beq ._790 @cond_branch
|
|
mov r0, #0x5
|
|
bl PlaySE
|
|
mov r0, #0x1
|
|
neg r0, r0
|
|
mov r1, #0x0
|
|
str r1, [sp]
|
|
mov r2, #0x0
|
|
mov r3, #0x10
|
|
bl BeginNormalPaletteFade
|
|
ldr r0, ._792 + 4 @ debug_80C370C
|
|
bl SetMainCallback2
|
|
ldr r1, ._792 + 8 @ gTasks
|
|
lsl r0, r6, #0x2
|
|
add r0, r0, r6
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r1, ._792 + 12 @ debug_80C373C
|
|
str r1, [r0]
|
|
b ._821
|
|
._793:
|
|
.align 2, 0
|
|
._792:
|
|
.word gMain
|
|
.word debug_80C370C+1
|
|
.word gTasks
|
|
.word debug_80C373C+1
|
|
._790:
|
|
ldrh r1, [r4, #0x30]
|
|
mov r0, #0x80
|
|
lsl r0, r0, #0x1
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._794 @cond_branch
|
|
ldr r4, ._796 @ gUnknown_Debug_2038A20
|
|
ldr r0, [r4]
|
|
ldrh r1, [r0]
|
|
mov r0, #0x0
|
|
b ._795
|
|
._797:
|
|
.align 2, 0
|
|
._796:
|
|
.word gUnknown_Debug_2038A20
|
|
._794:
|
|
mov r0, #0x80
|
|
lsl r0, r0, #0x2
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._798 @cond_branch
|
|
ldr r4, ._800 @ gUnknown_Debug_2038A20
|
|
ldr r0, [r4]
|
|
ldrh r1, [r0]
|
|
mov r0, #0x1
|
|
._795:
|
|
bl debug_80C38B4
|
|
ldr r1, [r4]
|
|
strh r0, [r1]
|
|
ldr r1, ._800 + 4 @ gTasks
|
|
lsl r0, r6, #0x2
|
|
add r0, r0, r6
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r1, ._800 + 8 @ debug_80C7D44
|
|
str r1, [r0]
|
|
b ._821
|
|
._801:
|
|
.align 2, 0
|
|
._800:
|
|
.word gUnknown_Debug_2038A20
|
|
.word gTasks
|
|
.word debug_80C7D44+1
|
|
._798:
|
|
mov r2, #0x1
|
|
and r2, r2, r3
|
|
cmp r2, #0
|
|
beq ._802 @cond_branch
|
|
ldr r0, ._804 @ gUnknown_Debug_2038A20
|
|
ldr r1, [r0]
|
|
mov r0, #0x1
|
|
strb r0, [r1, #0x5]
|
|
ldr r1, ._804 + 4 @ 0x4000040
|
|
ldr r2, ._804 + 8 @ 0x51ef
|
|
add r0, r2, #0
|
|
strh r0, [r1]
|
|
add r1, r1, #0x4
|
|
ldr r2, ._804 + 12 @ 0x4167
|
|
add r0, r2, #0
|
|
strh r0, [r1]
|
|
ldr r1, ._804 + 16 @ gTasks
|
|
lsl r0, r6, #0x2
|
|
add r0, r0, r6
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r1, ._804 + 20 @ debug_80C7DDC
|
|
str r1, [r0]
|
|
b ._821
|
|
._805:
|
|
.align 2, 0
|
|
._804:
|
|
.word gUnknown_Debug_2038A20
|
|
.word 0x4000040
|
|
.word 0x51ef
|
|
.word 0x4167
|
|
.word gTasks
|
|
.word debug_80C7DDC+1
|
|
._802:
|
|
mov r0, #0x10
|
|
and r0, r0, r1
|
|
ldr r3, ._809 @ gUnknown_Debug_2038A20
|
|
cmp r0, #0
|
|
beq ._807 @cond_branch
|
|
ldr r1, [r3]
|
|
ldrb r0, [r1, #0x7]
|
|
cmp r0, #0xd
|
|
bhi ._807 @cond_branch
|
|
lsl r0, r0, #0x1
|
|
ldr r1, ._809 + 4 @ 0x5000102
|
|
add r0, r0, r1
|
|
strh r2, [r0]
|
|
ldr r1, [r3]
|
|
ldrb r0, [r1, #0x7]
|
|
add r0, r0, #0x1
|
|
strb r0, [r1, #0x7]
|
|
b ._813
|
|
._810:
|
|
.align 2, 0
|
|
._809:
|
|
.word gUnknown_Debug_2038A20
|
|
.word 0x5000102
|
|
._807:
|
|
ldrh r1, [r4, #0x30]
|
|
mov r0, #0x20
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._812 @cond_branch
|
|
ldr r1, [r3]
|
|
ldrb r0, [r1, #0x7]
|
|
cmp r0, #0
|
|
beq ._812 @cond_branch
|
|
lsl r0, r0, #0x1
|
|
ldr r2, ._814 @ 0x5000102
|
|
add r0, r0, r2
|
|
mov r1, #0x0
|
|
strh r1, [r0]
|
|
ldr r1, [r3]
|
|
ldrb r0, [r1, #0x7]
|
|
sub r0, r0, #0x1
|
|
strb r0, [r1, #0x7]
|
|
b ._813
|
|
._815:
|
|
.align 2, 0
|
|
._814:
|
|
.word 0x5000102
|
|
._812:
|
|
ldrh r1, [r4, #0x2e]
|
|
mov r0, #0x8
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._816 @cond_branch
|
|
ldr r4, ._819 @ gUnknown_Debug_2038A20
|
|
ldr r2, [r4]
|
|
ldrb r0, [r2, #0x9]
|
|
mov r1, #0x1
|
|
eor r0, r0, r1
|
|
strb r0, [r2, #0x9]
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1, #0x9]
|
|
cmp r0, #0
|
|
beq ._817 @cond_branch
|
|
ldrh r0, [r1]
|
|
mov r1, #0x0
|
|
mov r2, #0x0
|
|
bl GetMonSpritePalFromOtIdPersonality
|
|
ldr r1, [r4]
|
|
ldrb r1, [r1, #0x6]
|
|
lsl r1, r1, #0x14
|
|
mov r2, #0x80
|
|
lsl r2, r2, #0x11
|
|
add r1, r1, r2
|
|
lsr r1, r1, #0x10
|
|
mov r2, #0x20
|
|
bl LoadCompressedPalette
|
|
b ._818
|
|
._820:
|
|
.align 2, 0
|
|
._819:
|
|
.word gUnknown_Debug_2038A20
|
|
._817:
|
|
ldrh r0, [r1]
|
|
mov r1, #0x0
|
|
mov r2, #0x9
|
|
bl GetMonSpritePalFromOtIdPersonality
|
|
ldr r1, [r4]
|
|
ldrb r1, [r1, #0x6]
|
|
lsl r1, r1, #0x14
|
|
mov r2, #0x80
|
|
lsl r2, r2, #0x11
|
|
add r1, r1, r2
|
|
lsr r1, r1, #0x10
|
|
mov r2, #0x20
|
|
bl LoadCompressedPalette
|
|
._818:
|
|
ldr r5, ._822 @ gUnknown_Debug_2038A20
|
|
ldr r0, [r5]
|
|
ldrb r0, [r0, #0x6]
|
|
lsl r0, r0, #0x5
|
|
ldr r4, ._822 + 4 @ gPlttBufferUnfaded
|
|
add r0, r0, r4
|
|
ldr r2, ._822 + 8 @ 0xffffff00
|
|
add r1, r4, r2
|
|
mov r2, #0x10
|
|
bl CpuSet
|
|
ldr r0, [r5]
|
|
ldrb r0, [r0, #0x6]
|
|
lsl r0, r0, #0x5
|
|
add r0, r0, r4
|
|
ldr r1, ._822 + 12 @ gPlttBufferFaded
|
|
mov r2, #0x10
|
|
bl CpuSet
|
|
._813:
|
|
ldr r1, ._822 + 16 @ gTasks
|
|
lsl r0, r6, #0x2
|
|
add r0, r0, r6
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r1, ._822 + 20 @ debug_80C7A54
|
|
str r1, [r0]
|
|
b ._821
|
|
._823:
|
|
.align 2, 0
|
|
._822:
|
|
.word gUnknown_Debug_2038A20
|
|
.word gPlttBufferUnfaded+0x200
|
|
.word 0xffffff00
|
|
.word gPlttBufferFaded+0x100
|
|
.word gTasks
|
|
.word debug_80C7A54+1
|
|
._816:
|
|
ldr r1, [r3]
|
|
ldrb r0, [r1, #0x8]
|
|
add r0, r0, #0x4
|
|
strb r0, [r1, #0x8]
|
|
ldr r2, [r3]
|
|
ldrb r1, [r2, #0x8]
|
|
mov r0, #0x1f
|
|
and r0, r0, r1
|
|
strb r0, [r2, #0x8]
|
|
ldr r0, [r3]
|
|
ldrb r1, [r0, #0x7]
|
|
lsl r1, r1, #0x1
|
|
ldr r2, ._824 @ 0x5000142
|
|
add r1, r1, r2
|
|
ldr r2, ._824 + 4 @ gUnknown_Debug_083F8790
|
|
ldrb r0, [r0, #0x8]
|
|
lsl r0, r0, #0x1
|
|
add r0, r0, r2
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
._821:
|
|
add sp, sp, #0x4
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
._825:
|
|
.align 2, 0
|
|
._824:
|
|
.word 0x5000142
|
|
.word gUnknown_Debug_083F8790
|
|
|
|
thumb_func_end debug_80C7B14
|
|
|
|
thumb_func_start debug_80C7D44
|
|
debug_80C7D44:
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
lsl r5, r5, #0x18
|
|
lsr r5, r5, #0x18
|
|
ldr r6, ._826 @ gSprites
|
|
ldr r4, ._826 + 4 @ gUnknown_Debug_2038A20
|
|
ldr r0, [r4]
|
|
ldrb r1, [r0, #0x2]
|
|
lsl r0, r1, #0x4
|
|
add r0, r0, r1
|
|
lsl r0, r0, #0x2
|
|
add r0, r0, r6
|
|
ldrb r0, [r0, #0x5]
|
|
lsr r0, r0, #0x4
|
|
bl GetSpritePaletteTagByPaletteNum
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl FreeSpritePaletteByTag
|
|
ldr r0, [r4]
|
|
ldrb r1, [r0, #0x2]
|
|
lsl r0, r1, #0x4
|
|
add r0, r0, r1
|
|
lsl r0, r0, #0x2
|
|
add r0, r0, r6
|
|
bl DestroySprite
|
|
ldr r0, [r4]
|
|
ldrb r1, [r0, #0x3]
|
|
lsl r0, r1, #0x4
|
|
add r0, r0, r1
|
|
lsl r0, r0, #0x2
|
|
add r0, r0, r6
|
|
ldrb r0, [r0, #0x5]
|
|
lsr r0, r0, #0x4
|
|
bl GetSpritePaletteTagByPaletteNum
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl FreeSpritePaletteByTag
|
|
ldr r0, [r4]
|
|
ldrb r1, [r0, #0x3]
|
|
lsl r0, r1, #0x4
|
|
add r0, r0, r1
|
|
lsl r0, r0, #0x2
|
|
add r0, r0, r6
|
|
bl DestroySprite
|
|
ldr r0, [r4]
|
|
ldrb r1, [r0, #0x4]
|
|
lsl r0, r1, #0x4
|
|
add r0, r0, r1
|
|
lsl r0, r0, #0x2
|
|
add r0, r0, r6
|
|
bl sub_809D510
|
|
ldr r1, ._826 + 8 @ gTasks
|
|
lsl r0, r5, #0x2
|
|
add r0, r0, r5
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r1, ._826 + 12 @ debug_80C7934
|
|
str r1, [r0]
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
._827:
|
|
.align 2, 0
|
|
._826:
|
|
.word gSprites
|
|
.word gUnknown_Debug_2038A20
|
|
.word gTasks
|
|
.word debug_80C7934+1
|
|
|
|
thumb_func_end debug_80C7D44
|
|
|
|
thumb_func_start debug_80C7DDC
|
|
debug_80C7DDC:
|
|
push {r4, r5, r6, r7, lr}
|
|
lsl r0, r0, #0x18
|
|
lsr r7, r0, #0x18
|
|
ldr r0, ._830 @ gMain
|
|
ldrh r2, [r0, #0x2e]
|
|
mov r1, #0x1
|
|
and r1, r1, r2
|
|
add r3, r0, #0
|
|
cmp r1, #0
|
|
beq ._828 @cond_branch
|
|
ldr r0, ._830 + 4 @ gUnknown_Debug_2038A20
|
|
ldr r1, [r0]
|
|
mov r0, #0x0
|
|
strb r0, [r1, #0x5]
|
|
ldr r1, ._830 + 8 @ 0x4000040
|
|
ldr r2, ._830 + 12 @ 0x51ef
|
|
add r0, r2, #0
|
|
strh r0, [r1]
|
|
add r1, r1, #0x4
|
|
ldr r2, ._830 + 16 @ 0x699f
|
|
add r0, r2, #0
|
|
strh r0, [r1]
|
|
b ._829
|
|
._831:
|
|
.align 2, 0
|
|
._830:
|
|
.word gMain
|
|
.word gUnknown_Debug_2038A20
|
|
.word 0x4000040
|
|
.word 0x51ef
|
|
.word 0x699f
|
|
._828:
|
|
mov r0, #0x2
|
|
and r0, r0, r2
|
|
cmp r0, #0
|
|
beq ._832 @cond_branch
|
|
ldr r6, ._834 @ gUnknown_Debug_2038A20
|
|
ldr r0, [r6]
|
|
strb r1, [r0, #0x5]
|
|
ldr r1, ._834 + 4 @ 0x4000040
|
|
ldr r2, ._834 + 8 @ 0x51ef
|
|
add r0, r2, #0
|
|
strh r0, [r1]
|
|
add r1, r1, #0x4
|
|
ldr r2, ._834 + 12 @ 0x699f
|
|
add r0, r2, #0
|
|
strh r0, [r1]
|
|
ldr r0, [r6]
|
|
add r0, r0, #0x10
|
|
ldr r4, ._834 + 16 @ gPlttBufferUnfaded
|
|
add r1, r4, #0
|
|
mov r2, #0x10
|
|
bl CpuSet
|
|
ldr r0, [r6]
|
|
add r0, r0, #0x10
|
|
ldr r5, ._834 + 20 @ gPlttBufferFaded
|
|
add r1, r5, #0
|
|
mov r2, #0x10
|
|
bl CpuSet
|
|
ldr r1, [r6]
|
|
add r0, r1, #0
|
|
add r0, r0, #0x10
|
|
ldrb r1, [r1, #0x6]
|
|
lsl r1, r1, #0x5
|
|
mov r2, #0x80
|
|
lsl r2, r2, #0x1
|
|
add r4, r4, r2
|
|
add r1, r1, r4
|
|
mov r2, #0x10
|
|
bl CpuSet
|
|
ldr r1, [r6]
|
|
add r0, r1, #0
|
|
add r0, r0, #0x10
|
|
ldrb r1, [r1, #0x6]
|
|
lsl r1, r1, #0x5
|
|
mov r2, #0x80
|
|
lsl r2, r2, #0x1
|
|
add r5, r5, r2
|
|
add r1, r1, r5
|
|
mov r2, #0x10
|
|
bl CpuSet
|
|
._829:
|
|
ldr r1, ._834 + 24 @ gTasks
|
|
lsl r0, r7, #0x2
|
|
add r0, r0, r7
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r1, ._834 + 28 @ debug_80C7A54
|
|
str r1, [r0]
|
|
b ._871
|
|
._835:
|
|
.align 2, 0
|
|
._834:
|
|
.word gUnknown_Debug_2038A20
|
|
.word 0x4000040
|
|
.word 0x51ef
|
|
.word 0x699f
|
|
.word gPlttBufferUnfaded+0x100
|
|
.word gPlttBufferFaded+0x100
|
|
.word gTasks
|
|
.word debug_80C7A54+1
|
|
._832:
|
|
ldrh r1, [r3, #0x30]
|
|
mov r0, #0x80
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._837 @cond_branch
|
|
ldr r0, ._839 @ gUnknown_Debug_2038A20
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1, #0xa]
|
|
cmp r0, #0x1
|
|
bhi ._837 @cond_branch
|
|
add r0, r0, #0x1
|
|
strb r0, [r1, #0xa]
|
|
b ._871
|
|
._840:
|
|
.align 2, 0
|
|
._839:
|
|
.word gUnknown_Debug_2038A20
|
|
._837:
|
|
ldrh r1, [r3, #0x30]
|
|
mov r0, #0x40
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._842 @cond_branch
|
|
ldr r0, ._844 @ gUnknown_Debug_2038A20
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1, #0xa]
|
|
cmp r0, #0
|
|
beq ._842 @cond_branch
|
|
sub r0, r0, #0x1
|
|
strb r0, [r1, #0xa]
|
|
b ._871
|
|
._845:
|
|
.align 2, 0
|
|
._844:
|
|
.word gUnknown_Debug_2038A20
|
|
._842:
|
|
ldrh r1, [r3, #0x30]
|
|
mov r0, #0x10
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._846 @cond_branch
|
|
ldr r0, ._851 @ gUnknown_Debug_2038A20
|
|
ldr r2, [r0]
|
|
ldrb r0, [r2, #0xa]
|
|
cmp r0, #0x1
|
|
beq ._847 @cond_branch
|
|
cmp r0, #0x1
|
|
bgt ._848 @cond_branch
|
|
cmp r0, #0
|
|
beq ._849 @cond_branch
|
|
b ._871
|
|
._852:
|
|
.align 2, 0
|
|
._851:
|
|
.word gUnknown_Debug_2038A20
|
|
._848:
|
|
cmp r0, #0x2
|
|
beq ._853 @cond_branch
|
|
b ._871
|
|
._849:
|
|
ldrb r3, [r2, #0xc]
|
|
lsl r1, r3, #0x1b
|
|
lsr r0, r1, #0x1b
|
|
cmp r0, #0x1e
|
|
bhi ._878 @cond_branch
|
|
add r0, r0, #0x1
|
|
mov r1, #0x1f
|
|
and r0, r0, r1
|
|
mov r1, #0x20
|
|
neg r1, r1
|
|
and r1, r1, r3
|
|
orr r1, r1, r0
|
|
strb r1, [r2, #0xc]
|
|
b ._878
|
|
._847:
|
|
ldrh r3, [r2, #0xc]
|
|
lsl r1, r3, #0x16
|
|
lsr r0, r1, #0x1b
|
|
cmp r0, #0x1e
|
|
bhi ._878 @cond_branch
|
|
add r0, r0, #0x1
|
|
mov r1, #0x1f
|
|
and r0, r0, r1
|
|
lsl r0, r0, #0x5
|
|
ldr r1, ._859 @ 0xfffffc1f
|
|
and r1, r1, r3
|
|
orr r1, r1, r0
|
|
strh r1, [r2, #0xc]
|
|
b ._878
|
|
._860:
|
|
.align 2, 0
|
|
._859:
|
|
.word 0xfffffc1f
|
|
._853:
|
|
ldrb r3, [r2, #0xd]
|
|
lsl r1, r3, #0x19
|
|
lsr r0, r1, #0x1b
|
|
cmp r0, #0x1e
|
|
bhi ._878 @cond_branch
|
|
add r0, r0, #0x1
|
|
mov r1, #0x1f
|
|
and r0, r0, r1
|
|
lsl r0, r0, #0x2
|
|
mov r1, #0x7d
|
|
neg r1, r1
|
|
and r1, r1, r3
|
|
orr r1, r1, r0
|
|
strb r1, [r2, #0xd]
|
|
b ._878
|
|
._846:
|
|
mov r0, #0x20
|
|
and r0, r0, r1
|
|
cmp r0, #0
|
|
beq ._871 @cond_branch
|
|
ldr r0, ._868 @ gUnknown_Debug_2038A20
|
|
ldr r3, [r0]
|
|
ldrb r0, [r3, #0xa]
|
|
cmp r0, #0x1
|
|
beq ._864 @cond_branch
|
|
cmp r0, #0x1
|
|
bgt ._865 @cond_branch
|
|
cmp r0, #0
|
|
beq ._866 @cond_branch
|
|
b ._871
|
|
._869:
|
|
.align 2, 0
|
|
._868:
|
|
.word gUnknown_Debug_2038A20
|
|
._865:
|
|
cmp r0, #0x2
|
|
beq ._870 @cond_branch
|
|
b ._871
|
|
._866:
|
|
ldrb r2, [r3, #0xc]
|
|
mov r0, #0x1f
|
|
and r0, r0, r2
|
|
cmp r0, #0
|
|
beq ._878 @cond_branch
|
|
lsl r0, r2, #0x1b
|
|
lsr r0, r0, #0x1b
|
|
sub r0, r0, #0x1
|
|
mov r1, #0x1f
|
|
and r0, r0, r1
|
|
mov r1, #0x20
|
|
neg r1, r1
|
|
and r1, r1, r2
|
|
orr r1, r1, r0
|
|
strb r1, [r3, #0xc]
|
|
b ._878
|
|
._864:
|
|
ldrh r2, [r3, #0xc]
|
|
mov r0, #0xf8
|
|
lsl r0, r0, #0x2
|
|
and r0, r0, r2
|
|
cmp r0, #0
|
|
beq ._878 @cond_branch
|
|
lsl r0, r2, #0x16
|
|
lsr r0, r0, #0x1b
|
|
sub r0, r0, #0x1
|
|
mov r1, #0x1f
|
|
and r0, r0, r1
|
|
lsl r0, r0, #0x5
|
|
ldr r1, ._876 @ 0xfffffc1f
|
|
and r1, r1, r2
|
|
orr r1, r1, r0
|
|
strh r1, [r3, #0xc]
|
|
b ._878
|
|
._877:
|
|
.align 2, 0
|
|
._876:
|
|
.word 0xfffffc1f
|
|
._870:
|
|
ldrb r2, [r3, #0xd]
|
|
mov r0, #0x7c
|
|
and r0, r0, r2
|
|
cmp r0, #0
|
|
beq ._878 @cond_branch
|
|
lsl r0, r2, #0x19
|
|
lsr r0, r0, #0x1b
|
|
sub r0, r0, #0x1
|
|
mov r1, #0x1f
|
|
and r0, r0, r1
|
|
lsl r0, r0, #0x2
|
|
mov r1, #0x7d
|
|
neg r1, r1
|
|
and r1, r1, r2
|
|
orr r1, r1, r0
|
|
strb r1, [r3, #0xd]
|
|
._878:
|
|
ldr r0, ._879 @ gTasks
|
|
lsl r1, r7, #0x2
|
|
add r1, r1, r7
|
|
lsl r1, r1, #0x3
|
|
add r1, r1, r0
|
|
ldr r0, ._879 + 4 @ debug_80C802C
|
|
str r0, [r1]
|
|
._871:
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
._880:
|
|
.align 2, 0
|
|
._879:
|
|
.word gTasks
|
|
.word debug_80C802C+1
|
|
|
|
thumb_func_end debug_80C7DDC
|
|
|
|
thumb_func_start debug_80C802C
|
|
debug_80C802C:
|
|
push {r4, r5, r6, lr}
|
|
mov r6, r8
|
|
push {r6}
|
|
add r5, r0, #0
|
|
lsl r5, r5, #0x18
|
|
lsr r5, r5, #0x18
|
|
ldr r0, ._881 @ gUnknown_Debug_2038A20
|
|
ldr r3, [r0]
|
|
ldrb r0, [r3, #0xc]
|
|
lsl r0, r0, #0x1b
|
|
lsr r0, r0, #0x1b
|
|
ldrh r2, [r3, #0xc]
|
|
mov r1, #0xf8
|
|
lsl r1, r1, #0x2
|
|
and r1, r1, r2
|
|
add r0, r0, r1
|
|
ldrb r1, [r3, #0xd]
|
|
lsl r1, r1, #0x19
|
|
lsr r1, r1, #0x1b
|
|
lsl r1, r1, #0xa
|
|
add r0, r0, r1
|
|
ldr r6, ._881 + 4 @ gPlttBufferUnfaded
|
|
ldrb r1, [r3, #0x7]
|
|
add r1, r1, #0x81
|
|
lsl r1, r1, #0x1
|
|
add r1, r1, r6
|
|
strh r0, [r1]
|
|
ldr r1, ._881 + 8 @ gPlttBufferFaded
|
|
mov r8, r1
|
|
ldrb r1, [r3, #0x7]
|
|
add r1, r1, #0x81
|
|
lsl r1, r1, #0x1
|
|
add r1, r1, r8
|
|
strh r0, [r1]
|
|
ldrb r1, [r3, #0x6]
|
|
lsl r1, r1, #0x4
|
|
ldrb r2, [r3, #0x7]
|
|
ldr r4, ._881 + 12 @ 0x101
|
|
add r2, r2, r4
|
|
add r1, r1, r2
|
|
lsl r1, r1, #0x1
|
|
add r1, r1, r6
|
|
strh r0, [r1]
|
|
ldrb r1, [r3, #0x6]
|
|
lsl r1, r1, #0x4
|
|
ldrb r2, [r3, #0x7]
|
|
add r2, r2, r4
|
|
add r1, r1, r2
|
|
lsl r1, r1, #0x1
|
|
add r1, r1, r8
|
|
strh r0, [r1]
|
|
mov r1, #0xe
|
|
mov r2, #0xa
|
|
mov r3, #0x4
|
|
bl debug_80C68CC
|
|
ldr r1, ._881 + 16 @ gTasks
|
|
lsl r0, r5, #0x2
|
|
add r0, r0, r5
|
|
lsl r0, r0, #0x3
|
|
add r0, r0, r1
|
|
ldr r1, ._881 + 20 @ debug_80C7DDC
|
|
str r1, [r0]
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
._882:
|
|
.align 2, 0
|
|
._881:
|
|
.word gUnknown_Debug_2038A20
|
|
.word gPlttBufferUnfaded
|
|
.word gPlttBufferFaded
|
|
.word 0x101
|
|
.word gTasks
|
|
.word debug_80C7DDC+1
|
|
|
|
thumb_func_end debug_80C802C
|
|
|
|
.align 2, 0
|
|
|
|
.endif
|