mirror of
https://github.com/pret/pokeruby.git
synced 2026-08-10 03:17:53 -05:00
2676 lines
47 KiB
ArmAsm
2676 lines
47 KiB
ArmAsm
.include "constants/gba_constants.inc"
|
|
.include "constants/species_constants.inc"
|
|
.include "asm/macros.inc"
|
|
|
|
.syntax unified
|
|
|
|
.text
|
|
|
|
thumb_func_start sub_810B674
|
|
sub_810B674: @ 810B674
|
|
push {lr}
|
|
bl AnimateSprites
|
|
bl BuildOamBuffer
|
|
bl RunTasks
|
|
bl UpdatePaletteFade
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_810B674
|
|
|
|
thumb_func_start sub_810B68C
|
|
sub_810B68C: @ 810B68C
|
|
push {lr}
|
|
bl LoadOam
|
|
bl ProcessSpriteCopyRequests
|
|
bl TransferPlttBuffer
|
|
ldr r1, _0810B6B0 @ =gBGTilemapBuffers + 0x1000
|
|
ldr r2, _0810B6B4 @ =0x06007800
|
|
ldr r0, _0810B6B8 @ =0x040000d4
|
|
str r1, [r0]
|
|
str r2, [r0, 0x4]
|
|
ldr r1, _0810B6BC @ =0x80000400
|
|
str r1, [r0, 0x8]
|
|
ldr r0, [r0, 0x8]
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810B6B0: .4byte gBGTilemapBuffers + 0x1000
|
|
_0810B6B4: .4byte 0x06007800
|
|
_0810B6B8: .4byte 0x040000d4
|
|
_0810B6BC: .4byte 0x80000400
|
|
thumb_func_end sub_810B68C
|
|
|
|
thumb_func_start sub_810B6C0
|
|
sub_810B6C0: @ 810B6C0
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
ldr r0, _0810B6DC @ =gMain
|
|
ldr r1, _0810B6E0 @ =0x0000043c
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x12
|
|
bls _0810B6D2
|
|
b _0810B960
|
|
_0810B6D2:
|
|
lsls r0, 2
|
|
ldr r1, _0810B6E4 @ =_0810B6E8
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0810B6DC: .4byte gMain
|
|
_0810B6E0: .4byte 0x0000043c
|
|
_0810B6E4: .4byte _0810B6E8
|
|
.align 2, 0
|
|
_0810B6E8:
|
|
.4byte _0810B734
|
|
.4byte _0810B764
|
|
.4byte _0810B76A
|
|
.4byte _0810B78C
|
|
.4byte _0810B792
|
|
.4byte _0810B7B4
|
|
.4byte _0810B7C0
|
|
.4byte _0810B7DC
|
|
.4byte _0810B7E8
|
|
.4byte _0810B804
|
|
.4byte _0810B810
|
|
.4byte _0810B830
|
|
.4byte _0810B84C
|
|
.4byte _0810B86A
|
|
.4byte _0810B894
|
|
.4byte _0810B89E
|
|
.4byte _0810B8C4
|
|
.4byte _0810B914
|
|
.4byte _0810B934
|
|
_0810B734:
|
|
bl sub_80F9438
|
|
bl sub_80F9368
|
|
ldr r1, _0810B754 @ =REG_BG2CNT
|
|
ldr r2, _0810B758 @ =0x00000f0a
|
|
adds r0, r2, 0
|
|
strh r0, [r1]
|
|
adds r1, 0x44
|
|
movs r0, 0
|
|
strh r0, [r1]
|
|
ldr r1, _0810B75C @ =gMain
|
|
ldr r0, _0810B760 @ =0x0000043c
|
|
adds r1, r0
|
|
b _0810B922
|
|
.align 2, 0
|
|
_0810B754: .4byte REG_BG2CNT
|
|
_0810B758: .4byte 0x00000f0a
|
|
_0810B75C: .4byte gMain
|
|
_0810B760: .4byte 0x0000043c
|
|
_0810B764:
|
|
bl remove_some_task
|
|
b _0810B91C
|
|
_0810B76A:
|
|
bl ResetPaletteFade
|
|
ldr r2, _0810B780 @ =gPaletteFade
|
|
ldrb r0, [r2, 0x8]
|
|
movs r1, 0x80
|
|
orrs r0, r1
|
|
strb r0, [r2, 0x8]
|
|
ldr r1, _0810B784 @ =gMain
|
|
ldr r0, _0810B788 @ =0x0000043c
|
|
adds r1, r0
|
|
b _0810B922
|
|
.align 2, 0
|
|
_0810B780: .4byte gPaletteFade
|
|
_0810B784: .4byte gMain
|
|
_0810B788: .4byte 0x0000043c
|
|
_0810B78C:
|
|
bl ResetSpriteData
|
|
b _0810B91C
|
|
_0810B792:
|
|
ldr r0, _0810B7A8 @ =gUnknown_02039244
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x2
|
|
beq _0810B79E
|
|
bl ResetTasks
|
|
_0810B79E:
|
|
ldr r1, _0810B7AC @ =gMain
|
|
ldr r0, _0810B7B0 @ =0x0000043c
|
|
adds r1, r0
|
|
b _0810B922
|
|
.align 2, 0
|
|
_0810B7A8: .4byte gUnknown_02039244
|
|
_0810B7AC: .4byte gMain
|
|
_0810B7B0: .4byte 0x0000043c
|
|
_0810B7B4:
|
|
ldr r0, _0810B7BC @ =gWindowConfig_81E6E34
|
|
bl SetUpWindowConfig
|
|
b _0810B91C
|
|
.align 2, 0
|
|
_0810B7BC: .4byte gWindowConfig_81E6E34
|
|
_0810B7C0:
|
|
ldr r0, _0810B7D0 @ =gWindowConfig_81E6E50
|
|
bl SetUpWindowConfig
|
|
ldr r1, _0810B7D4 @ =gMain
|
|
ldr r0, _0810B7D8 @ =0x0000043c
|
|
adds r1, r0
|
|
b _0810B922
|
|
.align 2, 0
|
|
_0810B7D0: .4byte gWindowConfig_81E6E50
|
|
_0810B7D4: .4byte gMain
|
|
_0810B7D8: .4byte 0x0000043c
|
|
_0810B7DC:
|
|
ldr r0, _0810B7E4 @ =gWindowConfig_81E6E34
|
|
bl MultistepInitMenuWindowBegin
|
|
b _0810B91C
|
|
.align 2, 0
|
|
_0810B7E4: .4byte gWindowConfig_81E6E34
|
|
_0810B7E8:
|
|
bl MultistepInitMenuWindowContinue
|
|
cmp r0, 0
|
|
bne _0810B7F2
|
|
b _0810B960
|
|
_0810B7F2:
|
|
ldr r1, _0810B7FC @ =gMain
|
|
ldr r0, _0810B800 @ =0x0000043c
|
|
adds r1, r0
|
|
b _0810B922
|
|
.align 2, 0
|
|
_0810B7FC: .4byte gMain
|
|
_0810B800: .4byte 0x0000043c
|
|
_0810B804:
|
|
ldr r0, _0810B80C @ =gWindowConfig_81E6E50
|
|
bl MultistepInitMenuWindowBegin
|
|
b _0810B91C
|
|
.align 2, 0
|
|
_0810B80C: .4byte gWindowConfig_81E6E50
|
|
_0810B810:
|
|
bl MultistepInitMenuWindowContinue
|
|
cmp r0, 0
|
|
bne _0810B81A
|
|
b _0810B960
|
|
_0810B81A:
|
|
ldr r0, _0810B828 @ =0x02000000
|
|
ldr r1, _0810B82C @ =0x0001ffff
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
b _0810B91C
|
|
.align 2, 0
|
|
_0810B828: .4byte 0x02000000
|
|
_0810B82C: .4byte 0x0001ffff
|
|
_0810B830:
|
|
bl sub_810B998
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0810B83C
|
|
b _0810B960
|
|
_0810B83C:
|
|
ldr r1, _0810B844 @ =gMain
|
|
ldr r0, _0810B848 @ =0x0000043c
|
|
adds r1, r0
|
|
b _0810B922
|
|
.align 2, 0
|
|
_0810B844: .4byte gMain
|
|
_0810B848: .4byte 0x0000043c
|
|
_0810B84C:
|
|
bl sub_80F944C
|
|
bl LoadScrollIndicatorPalette
|
|
movs r0, 0
|
|
movs r1, 0xB0
|
|
movs r2, 0x8
|
|
bl CreateVerticalScrollIndicators
|
|
movs r0, 0x1
|
|
movs r1, 0xB0
|
|
movs r2, 0x98
|
|
bl CreateVerticalScrollIndicators
|
|
b _0810B91C
|
|
_0810B86A:
|
|
movs r0, 0x38
|
|
movs r1, 0x40
|
|
movs r2, 0
|
|
bl sub_810BA50
|
|
ldr r1, _0810B884 @ =0x02000000
|
|
ldr r2, _0810B888 @ =0x0001fffe
|
|
adds r1, r2
|
|
strb r0, [r1]
|
|
ldr r1, _0810B88C @ =gMain
|
|
ldr r0, _0810B890 @ =0x0000043c
|
|
adds r1, r0
|
|
b _0810B922
|
|
.align 2, 0
|
|
_0810B884: .4byte 0x02000000
|
|
_0810B888: .4byte 0x0001fffe
|
|
_0810B88C: .4byte gMain
|
|
_0810B890: .4byte 0x0000043c
|
|
_0810B894:
|
|
bl sub_810BC98
|
|
bl sub_810BD08
|
|
b _0810B91C
|
|
_0810B89E:
|
|
bl sub_810BB0C
|
|
bl sub_810BB30
|
|
ldr r0, _0810B8B8 @ =gUnknown_02039248
|
|
ldrb r0, [r0, 0x1]
|
|
bl sub_810BC84
|
|
ldr r1, _0810B8BC @ =gMain
|
|
ldr r0, _0810B8C0 @ =0x0000043c
|
|
adds r1, r0
|
|
b _0810B922
|
|
.align 2, 0
|
|
_0810B8B8: .4byte gUnknown_02039248
|
|
_0810B8BC: .4byte gMain
|
|
_0810B8C0: .4byte 0x0000043c
|
|
_0810B8C4:
|
|
ldr r3, _0810B8FC @ =0x04000208
|
|
ldrh r2, [r3]
|
|
movs r0, 0
|
|
strh r0, [r3]
|
|
ldr r4, _0810B900 @ =0x04000200
|
|
ldrh r0, [r4]
|
|
movs r1, 0x1
|
|
orrs r0, r1
|
|
strh r0, [r4]
|
|
strh r2, [r3]
|
|
ldr r2, _0810B904 @ =REG_DISPSTAT
|
|
ldrh r0, [r2]
|
|
movs r1, 0x8
|
|
orrs r0, r1
|
|
strh r0, [r2]
|
|
ldr r0, _0810B908 @ =sub_810B68C
|
|
bl SetVBlankCallback
|
|
movs r1, 0x80
|
|
lsls r1, 19
|
|
movs r2, 0xBA
|
|
lsls r2, 5
|
|
adds r0, r2, 0
|
|
strh r0, [r1]
|
|
ldr r1, _0810B90C @ =gMain
|
|
ldr r0, _0810B910 @ =0x0000043c
|
|
adds r1, r0
|
|
b _0810B922
|
|
.align 2, 0
|
|
_0810B8FC: .4byte 0x04000208
|
|
_0810B900: .4byte 0x04000200
|
|
_0810B904: .4byte REG_DISPSTAT
|
|
_0810B908: .4byte sub_810B68C
|
|
_0810B90C: .4byte gMain
|
|
_0810B910: .4byte 0x0000043c
|
|
_0810B914:
|
|
bl sub_8055870
|
|
cmp r0, 0x1
|
|
beq _0810B960
|
|
_0810B91C:
|
|
ldr r1, _0810B92C @ =gMain
|
|
ldr r2, _0810B930 @ =0x0000043c
|
|
adds r1, r2
|
|
_0810B922:
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _0810B960
|
|
.align 2, 0
|
|
_0810B92C: .4byte gMain
|
|
_0810B930: .4byte 0x0000043c
|
|
_0810B934:
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
movs r2, 0x10
|
|
movs r3, 0
|
|
bl BeginNormalPaletteFade
|
|
ldr r2, _0810B958 @ =gPaletteFade
|
|
ldrb r1, [r2, 0x8]
|
|
movs r0, 0x7F
|
|
ands r0, r1
|
|
strb r0, [r2, 0x8]
|
|
ldr r0, _0810B95C @ =sub_810B674
|
|
bl SetMainCallback2
|
|
movs r0, 0x1
|
|
b _0810B962
|
|
.align 2, 0
|
|
_0810B958: .4byte gPaletteFade
|
|
_0810B95C: .4byte sub_810B674
|
|
_0810B960:
|
|
movs r0, 0
|
|
_0810B962:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_810B6C0
|
|
|
|
thumb_func_start sub_810B96C
|
|
sub_810B96C: @ 810B96C
|
|
push {lr}
|
|
_0810B96E:
|
|
bl sub_810B6C0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _0810B988
|
|
ldr r0, _0810B984 @ =sub_810BF7C
|
|
movs r1, 0
|
|
bl CreateTask
|
|
b _0810B994
|
|
.align 2, 0
|
|
_0810B984: .4byte sub_810BF7C
|
|
_0810B988:
|
|
bl sub_80F9344
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _0810B96E
|
|
_0810B994:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_810B96C
|
|
|
|
thumb_func_start sub_810B998
|
|
sub_810B998: @ 810B998
|
|
push {lr}
|
|
ldr r0, _0810B9B0 @ =0x02000000
|
|
ldr r1, _0810B9B4 @ =0x0001ffff
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x4
|
|
bhi _0810BA48
|
|
lsls r0, 2
|
|
ldr r1, _0810B9B8 @ =_0810B9BC
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0810B9B0: .4byte 0x02000000
|
|
_0810B9B4: .4byte 0x0001ffff
|
|
_0810B9B8: .4byte _0810B9BC
|
|
.align 2, 0
|
|
_0810B9BC:
|
|
.4byte _0810B9D0
|
|
.4byte _0810B9E4
|
|
.4byte _0810B9F8
|
|
.4byte _0810BA08
|
|
.4byte _0810BA28
|
|
_0810B9D0:
|
|
ldr r0, _0810B9DC @ =gMenuPokeblock_Gfx
|
|
ldr r1, _0810B9E0 @ =0x06008000
|
|
bl LZDecompressVram
|
|
b _0810BA0E
|
|
.align 2, 0
|
|
_0810B9DC: .4byte gMenuPokeblock_Gfx
|
|
_0810B9E0: .4byte 0x06008000
|
|
_0810B9E4:
|
|
ldr r0, _0810B9F0 @ =gMenuPokeblock_Tilemap
|
|
ldr r1, _0810B9F4 @ =gBGTilemapBuffers + 0x1000
|
|
bl sub_800D238
|
|
b _0810BA0E
|
|
.align 2, 0
|
|
_0810B9F0: .4byte gMenuPokeblock_Tilemap
|
|
_0810B9F4: .4byte gBGTilemapBuffers + 0x1000
|
|
_0810B9F8:
|
|
ldr r0, _0810BA04 @ =gMenuPokeblock_Pal
|
|
movs r1, 0
|
|
movs r2, 0xC0
|
|
bl LoadCompressedPalette
|
|
b _0810BA0E
|
|
.align 2, 0
|
|
_0810BA04: .4byte gMenuPokeblock_Pal
|
|
_0810BA08:
|
|
ldr r0, _0810BA1C @ =gUnknown_083F7F74
|
|
bl LoadCompressedObjectPic
|
|
_0810BA0E:
|
|
ldr r1, _0810BA20 @ =0x02000000
|
|
ldr r0, _0810BA24 @ =0x0001ffff
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _0810BA48
|
|
.align 2, 0
|
|
_0810BA1C: .4byte gUnknown_083F7F74
|
|
_0810BA20: .4byte 0x02000000
|
|
_0810BA24: .4byte 0x0001ffff
|
|
_0810BA28:
|
|
ldr r0, _0810BA3C @ =gUnknown_083F7F7C
|
|
bl LoadCompressedObjectPalette
|
|
ldr r0, _0810BA40 @ =0x02000000
|
|
ldr r1, _0810BA44 @ =0x0001ffff
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
movs r0, 0x1
|
|
b _0810BA4A
|
|
.align 2, 0
|
|
_0810BA3C: .4byte gUnknown_083F7F7C
|
|
_0810BA40: .4byte 0x02000000
|
|
_0810BA44: .4byte 0x0001ffff
|
|
_0810BA48:
|
|
movs r0, 0
|
|
_0810BA4A:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_810B998
|
|
|
|
thumb_func_start sub_810BA50
|
|
sub_810BA50: @ 810BA50
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
adds r5, r1, 0
|
|
adds r3, r2, 0
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
ldr r0, _0810BA78 @ =gSpriteTemplate_83F7F84
|
|
lsls r4, 16
|
|
asrs r4, 16
|
|
lsls r5, 16
|
|
asrs r5, 16
|
|
adds r1, r4, 0
|
|
adds r2, r5, 0
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0810BA78: .4byte gSpriteTemplate_83F7F84
|
|
thumb_func_end sub_810BA50
|
|
|
|
thumb_func_start sub_810BA7C
|
|
sub_810BA7C: @ 810BA7C
|
|
push {lr}
|
|
ldr r1, _0810BA98 @ =gUnknown_02039244
|
|
strb r0, [r1]
|
|
ldrb r2, [r1]
|
|
cmp r2, 0x2
|
|
beq _0810BAA8
|
|
cmp r2, 0x3
|
|
beq _0810BAC0
|
|
ldr r1, _0810BA9C @ =gUnknown_03000758
|
|
ldr r0, _0810BAA0 @ =gUnknown_083F7F1C
|
|
str r0, [r1]
|
|
ldr r1, _0810BAA4 @ =gUnknown_0203924C
|
|
movs r0, 0x3
|
|
b _0810BACA
|
|
.align 2, 0
|
|
_0810BA98: .4byte gUnknown_02039244
|
|
_0810BA9C: .4byte gUnknown_03000758
|
|
_0810BAA0: .4byte gUnknown_083F7F1C
|
|
_0810BAA4: .4byte gUnknown_0203924C
|
|
_0810BAA8:
|
|
ldr r0, _0810BAB4 @ =gUnknown_03000758
|
|
ldr r1, _0810BAB8 @ =gUnknown_083F7F1F
|
|
str r1, [r0]
|
|
ldr r0, _0810BABC @ =gUnknown_0203924C
|
|
strb r2, [r0]
|
|
b _0810BACC
|
|
.align 2, 0
|
|
_0810BAB4: .4byte gUnknown_03000758
|
|
_0810BAB8: .4byte gUnknown_083F7F1F
|
|
_0810BABC: .4byte gUnknown_0203924C
|
|
_0810BAC0:
|
|
ldr r1, _0810BAD0 @ =gUnknown_03000758
|
|
ldr r0, _0810BAD4 @ =gUnknown_083F7F21
|
|
str r0, [r1]
|
|
ldr r1, _0810BAD8 @ =gUnknown_0203924C
|
|
movs r0, 0x2
|
|
_0810BACA:
|
|
strb r0, [r1]
|
|
_0810BACC:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810BAD0: .4byte gUnknown_03000758
|
|
_0810BAD4: .4byte gUnknown_083F7F21
|
|
_0810BAD8: .4byte gUnknown_0203924C
|
|
thumb_func_end sub_810BA7C
|
|
|
|
thumb_func_start sub_810BADC
|
|
sub_810BADC: @ 810BADC
|
|
push {lr}
|
|
movs r0, 0x2
|
|
bl sub_810BA7C
|
|
ldr r0, _0810BAF0 @ =sub_810B96C
|
|
bl SetMainCallback2
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810BAF0: .4byte sub_810B96C
|
|
thumb_func_end sub_810BADC
|
|
|
|
thumb_func_start sub_810BAF4
|
|
sub_810BAF4: @ 810BAF4
|
|
push {lr}
|
|
movs r0, 0x3
|
|
bl sub_810BA7C
|
|
ldr r0, _0810BB08 @ =sub_810B96C
|
|
bl SetMainCallback2
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810BB08: .4byte sub_810B96C
|
|
thumb_func_end sub_810BAF4
|
|
|
|
thumb_func_start sub_810BB0C
|
|
sub_810BB0C: @ 810BB0C
|
|
push {lr}
|
|
ldr r0, _0810BB28 @ =gWindowConfig_81E6E34
|
|
bl BasicInitMenuWindow
|
|
ldr r0, _0810BB2C @ =0x00000111
|
|
bl ItemId_GetItem
|
|
movs r1, 0x2
|
|
movs r2, 0x1
|
|
movs r3, 0x48
|
|
bl sub_8072BD8
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810BB28: .4byte gWindowConfig_81E6E34
|
|
_0810BB2C: .4byte 0x00000111
|
|
thumb_func_end sub_810BB0C
|
|
|
|
thumb_func_start sub_810BB30
|
|
sub_810BB30: @ 810BB30
|
|
push {lr}
|
|
ldr r0, _0810BB70 @ =gWindowConfig_81E6E34
|
|
bl BasicInitMenuWindow
|
|
ldr r0, _0810BB74 @ =gContestStatsText_Spicy
|
|
movs r1, 0x2
|
|
movs r2, 0xD
|
|
bl MenuPrint
|
|
ldr r0, _0810BB78 @ =gContestStatsText_Dry
|
|
movs r1, 0x2
|
|
movs r2, 0xF
|
|
bl MenuPrint
|
|
ldr r0, _0810BB7C @ =gContestStatsText_Sweet
|
|
movs r1, 0x2
|
|
movs r2, 0x11
|
|
bl MenuPrint
|
|
ldr r0, _0810BB80 @ =gContestStatsText_Bitter
|
|
movs r1, 0x8
|
|
movs r2, 0xD
|
|
bl MenuPrint
|
|
ldr r0, _0810BB84 @ =gContestStatsText_Sour
|
|
movs r1, 0x8
|
|
movs r2, 0xF
|
|
bl MenuPrint
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810BB70: .4byte gWindowConfig_81E6E34
|
|
_0810BB74: .4byte gContestStatsText_Spicy
|
|
_0810BB78: .4byte gContestStatsText_Dry
|
|
_0810BB7C: .4byte gContestStatsText_Sweet
|
|
_0810BB80: .4byte gContestStatsText_Bitter
|
|
_0810BB84: .4byte gContestStatsText_Sour
|
|
thumb_func_end sub_810BB30
|
|
|
|
thumb_func_start sub_810BB88
|
|
sub_810BB88: @ 810BB88
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
ldr r0, _0810BBF4 @ =gWindowConfig_81E6E34
|
|
bl BasicInitMenuWindow
|
|
mov r6, r8
|
|
adds r0, r6, 0
|
|
adds r0, 0x8
|
|
cmp r6, r0
|
|
bgt _0810BC6C
|
|
ldr r0, _0810BBF8 @ =gStringVar1
|
|
mov r9, r0
|
|
ldr r1, _0810BBFC @ =gSaveBlock1
|
|
mov r10, r1
|
|
_0810BBB0:
|
|
mov r1, r8
|
|
subs r0, r6, r1
|
|
lsls r0, 25
|
|
lsrs r7, r0, 24
|
|
ldr r0, _0810BC00 @ =gUnknown_02039248
|
|
ldrb r0, [r0, 0x2]
|
|
cmp r6, r0
|
|
bne _0810BC08
|
|
mov r0, r9
|
|
ldr r1, _0810BC04 @ =gContestStatsText_StowCase
|
|
movs r2, 0x78
|
|
movs r3, 0
|
|
bl sub_8072C74
|
|
movs r2, 0x1
|
|
orrs r2, r7
|
|
mov r0, r9
|
|
movs r1, 0xF
|
|
bl MenuPrint
|
|
mov r0, r8
|
|
adds r0, 0x8
|
|
cmp r6, r0
|
|
beq _0810BC6C
|
|
adds r1, r7, 0x3
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
movs r0, 0xF
|
|
movs r2, 0x1D
|
|
movs r3, 0x12
|
|
bl MenuZeroFillWindowRect
|
|
b _0810BC6C
|
|
.align 2, 0
|
|
_0810BBF4: .4byte gWindowConfig_81E6E34
|
|
_0810BBF8: .4byte gStringVar1
|
|
_0810BBFC: .4byte gSaveBlock1
|
|
_0810BC00: .4byte gUnknown_02039248
|
|
_0810BC04: .4byte gContestStatsText_StowCase
|
|
_0810BC08:
|
|
lsls r5, r6, 3
|
|
mov r1, r10
|
|
adds r0, r5, r1
|
|
movs r1, 0xFF
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
lsls r0, 2
|
|
ldr r1, _0810BC7C @ =gPokeblockNames
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
mov r0, r9
|
|
movs r2, 0x5E
|
|
movs r3, 0
|
|
bl sub_8072C74
|
|
adds r4, r0, 0
|
|
movs r0, 0xFC
|
|
strb r0, [r4]
|
|
movs r0, 0x14
|
|
strb r0, [r4, 0x1]
|
|
movs r0, 0x6
|
|
strb r0, [r4, 0x2]
|
|
adds r4, 0x3
|
|
ldr r0, _0810BC80 @ =gSaveBlock1 + 0x7F8
|
|
adds r5, r0
|
|
adds r0, r5, 0
|
|
bl sub_810C9B0
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r0, r4, 0
|
|
movs r2, 0x1
|
|
movs r3, 0x3
|
|
bl ConvertIntToDecimalStringN
|
|
movs r2, 0x1
|
|
orrs r2, r7
|
|
mov r0, r9
|
|
movs r1, 0xF
|
|
bl MenuPrint
|
|
adds r0, r6, 0x1
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
mov r0, r8
|
|
adds r0, 0x8
|
|
cmp r6, r0
|
|
ble _0810BBB0
|
|
_0810BC6C:
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810BC7C: .4byte gPokeblockNames
|
|
_0810BC80: .4byte gSaveBlock1 + 0x7F8
|
|
thumb_func_end sub_810BB88
|
|
|
|
thumb_func_start sub_810BC84
|
|
sub_810BC84: @ 810BC84
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_810BB88
|
|
movs r0, 0
|
|
bl sub_810BDAC
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_810BC84
|
|
|
|
thumb_func_start sub_810BC98
|
|
sub_810BC98: @ 810BC98
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
movs r2, 0
|
|
ldr r0, _0810BD00 @ =gSaveBlock1
|
|
mov r9, r0
|
|
_0810BCA6:
|
|
adds r1, r2, 0x1
|
|
lsls r0, r1, 16
|
|
lsrs r5, r0, 16
|
|
mov r8, r1
|
|
cmp r5, 0x27
|
|
bhi _0810BCE8
|
|
lsls r1, r2, 3
|
|
mov r2, r9
|
|
adds r0, r1, r2
|
|
movs r2, 0xFF
|
|
lsls r2, 3
|
|
adds r7, r0, r2
|
|
ldr r0, _0810BD04 @ =gSaveBlock1 + 0x7F8
|
|
mov r12, r0
|
|
adds r6, r1, r0
|
|
_0810BCC4:
|
|
ldrb r0, [r7]
|
|
cmp r0, 0
|
|
bne _0810BCDE
|
|
ldr r3, [r6]
|
|
ldr r4, [r6, 0x4]
|
|
lsls r2, r5, 3
|
|
add r2, r12
|
|
ldr r0, [r2]
|
|
ldr r1, [r2, 0x4]
|
|
str r0, [r6]
|
|
str r1, [r6, 0x4]
|
|
str r3, [r2]
|
|
str r4, [r2, 0x4]
|
|
_0810BCDE:
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
cmp r5, 0x27
|
|
bls _0810BCC4
|
|
_0810BCE8:
|
|
mov r1, r8
|
|
lsls r0, r1, 16
|
|
lsrs r2, r0, 16
|
|
cmp r2, 0x26
|
|
bls _0810BCA6
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810BD00: .4byte gSaveBlock1
|
|
_0810BD04: .4byte gSaveBlock1 + 0x7F8
|
|
thumb_func_end sub_810BC98
|
|
|
|
thumb_func_start sub_810BD08
|
|
sub_810BD08: @ 810BD08
|
|
push {r4,r5,lr}
|
|
ldr r1, _0810BD5C @ =gUnknown_02039248
|
|
movs r0, 0
|
|
strb r0, [r1, 0x2]
|
|
movs r2, 0
|
|
ldr r5, _0810BD60 @ =gSaveBlock1
|
|
movs r4, 0xFF
|
|
lsls r4, 3
|
|
adds r3, r1, 0
|
|
_0810BD1A:
|
|
lsls r0, r2, 3
|
|
adds r0, r5
|
|
adds r0, r4
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0810BD2C
|
|
ldrb r0, [r3, 0x2]
|
|
adds r0, 0x1
|
|
strb r0, [r3, 0x2]
|
|
_0810BD2C:
|
|
adds r0, r2, 0x1
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
cmp r2, 0x27
|
|
bls _0810BD1A
|
|
ldrb r0, [r1, 0x2]
|
|
cmp r0, 0x7
|
|
bls _0810BD3E
|
|
movs r0, 0x8
|
|
_0810BD3E:
|
|
strb r0, [r1, 0x3]
|
|
ldrb r2, [r1, 0x1]
|
|
adds r0, r2, 0
|
|
adds r0, 0x8
|
|
ldrb r3, [r1, 0x2]
|
|
cmp r0, r3
|
|
ble _0810BD54
|
|
cmp r2, 0
|
|
beq _0810BD54
|
|
subs r0, r2, 0x1
|
|
strb r0, [r1, 0x1]
|
|
_0810BD54:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810BD5C: .4byte gUnknown_02039248
|
|
_0810BD60: .4byte gSaveBlock1
|
|
thumb_func_end sub_810BD08
|
|
|
|
thumb_func_start sub_810BD64
|
|
sub_810BD64: @ 810BD64
|
|
push {r4,r5,lr}
|
|
lsls r0, 16
|
|
lsrs r3, r0, 16
|
|
movs r2, 0
|
|
ldr r5, _0810BDA4 @ =gUnknown_02039248
|
|
ldr r4, _0810BDA8 @ =gBGTilemapBuffers + 0x1000
|
|
_0810BD70:
|
|
ldrb r0, [r5]
|
|
lsls r0, 1
|
|
adds r0, 0x1
|
|
lsls r0, 5
|
|
adds r1, r2, 0
|
|
adds r1, 0xF
|
|
adds r0, r1
|
|
lsls r0, 1
|
|
adds r0, r4
|
|
strh r3, [r0]
|
|
ldrb r0, [r5]
|
|
lsls r0, 6
|
|
adds r0, 0x40
|
|
adds r0, r1
|
|
lsls r0, 1
|
|
adds r0, r4
|
|
strh r3, [r0]
|
|
adds r0, r2, 0x1
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
cmp r2, 0xD
|
|
bls _0810BD70
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810BDA4: .4byte gUnknown_02039248
|
|
_0810BDA8: .4byte gBGTilemapBuffers + 0x1000
|
|
thumb_func_end sub_810BD64
|
|
|
|
thumb_func_start sub_810BDAC
|
|
sub_810BDAC: @ 810BDAC
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0810BDCC
|
|
ldr r0, _0810BDC4 @ =0x00001005
|
|
ldr r1, _0810BDC8 @ =0x00001014
|
|
bl sub_810BD64
|
|
b _0810BDD4
|
|
.align 2, 0
|
|
_0810BDC4: .4byte 0x00001005
|
|
_0810BDC8: .4byte 0x00001014
|
|
_0810BDCC:
|
|
ldr r0, _0810BDE8 @ =0x00002005
|
|
ldr r1, _0810BDEC @ =0x00002014
|
|
bl sub_810BD64
|
|
_0810BDD4:
|
|
ldr r0, _0810BDF0 @ =gUnknown_02039248
|
|
ldrb r0, [r0, 0x1]
|
|
cmp r0, 0
|
|
beq _0810BDF4
|
|
movs r0, 0
|
|
movs r1, 0
|
|
bl sub_80F979C
|
|
b _0810BDFC
|
|
.align 2, 0
|
|
_0810BDE8: .4byte 0x00002005
|
|
_0810BDEC: .4byte 0x00002014
|
|
_0810BDF0: .4byte gUnknown_02039248
|
|
_0810BDF4:
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
bl sub_80F979C
|
|
_0810BDFC:
|
|
ldr r2, _0810BE1C @ =gUnknown_02039248
|
|
ldrb r0, [r2, 0x2]
|
|
ldrb r1, [r2, 0x3]
|
|
cmp r0, r1
|
|
bls _0810BE20
|
|
ldrb r0, [r2, 0x1]
|
|
ldrb r1, [r2, 0x3]
|
|
adds r0, r1
|
|
ldrb r2, [r2, 0x2]
|
|
cmp r0, r2
|
|
beq _0810BE20
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
bl sub_80F979C
|
|
b _0810BE28
|
|
.align 2, 0
|
|
_0810BE1C: .4byte gUnknown_02039248
|
|
_0810BE20:
|
|
movs r0, 0x1
|
|
movs r1, 0x1
|
|
bl sub_80F979C
|
|
_0810BE28:
|
|
movs r6, 0
|
|
ldr r7, _0810BE94 @ =gBGTilemapBuffers + 0x1000
|
|
movs r0, 0xF
|
|
mov r8, r0
|
|
_0810BE30:
|
|
adds r0, r6, 0
|
|
movs r1, 0x3
|
|
bl __umodsi3
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 18
|
|
ldr r1, _0810BE98 @ =0x000001a1
|
|
adds r4, r1
|
|
adds r0, r6, 0
|
|
movs r1, 0x3
|
|
bl __udivsi3
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 1
|
|
adds r5, r4, r1
|
|
ldr r1, _0810BE9C @ =gUnknown_02039248
|
|
ldrb r2, [r1]
|
|
ldrb r0, [r1, 0x1]
|
|
adds r0, r2, r0
|
|
ldrb r1, [r1, 0x2]
|
|
cmp r0, r1
|
|
beq _0810BEB8
|
|
lsls r0, 3
|
|
ldr r1, _0810BEA0 @ =gSaveBlock1 + 0x7F8
|
|
adds r0, r1
|
|
adds r4, r6, 0x1
|
|
lsls r1, r4, 24
|
|
lsrs r1, 24
|
|
bl sub_810CA9C
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
ble _0810BEA4
|
|
lsls r1, r5, 1
|
|
adds r1, r7
|
|
lsls r2, r6, 12
|
|
adds r0, r2, 0
|
|
adds r0, 0x17
|
|
strh r0, [r1]
|
|
adds r0, r5, 0
|
|
adds r0, 0x20
|
|
lsls r0, 1
|
|
adds r0, r7
|
|
adds r2, 0x18
|
|
strh r2, [r0]
|
|
b _0810BECC
|
|
.align 2, 0
|
|
_0810BE94: .4byte gBGTilemapBuffers + 0x1000
|
|
_0810BE98: .4byte 0x000001a1
|
|
_0810BE9C: .4byte gUnknown_02039248
|
|
_0810BEA0: .4byte gSaveBlock1 + 0x7F8
|
|
_0810BEA4:
|
|
lsls r0, r5, 1
|
|
adds r0, r7
|
|
mov r1, r8
|
|
strh r1, [r0]
|
|
adds r0, r5, 0
|
|
adds r0, 0x20
|
|
lsls r0, 1
|
|
adds r0, r7
|
|
strh r1, [r0]
|
|
b _0810BECC
|
|
_0810BEB8:
|
|
lsls r0, r5, 1
|
|
adds r0, r7
|
|
mov r1, r8
|
|
strh r1, [r0]
|
|
adds r0, r5, 0
|
|
adds r0, 0x20
|
|
lsls r0, 1
|
|
adds r0, r7
|
|
strh r1, [r0]
|
|
adds r4, r6, 0x1
|
|
_0810BECC:
|
|
lsls r0, r4, 24
|
|
lsrs r6, r0, 24
|
|
cmp r6, 0x4
|
|
bls _0810BE30
|
|
ldr r0, _0810BF10 @ =gWindowConfig_81E6E34
|
|
bl BasicInitMenuWindow
|
|
ldr r0, _0810BF14 @ =gUnknown_02039248
|
|
ldrb r2, [r0]
|
|
ldrb r1, [r0, 0x1]
|
|
adds r2, r1
|
|
ldrb r0, [r0, 0x2]
|
|
cmp r2, r0
|
|
beq _0810BF20
|
|
ldr r4, _0810BF18 @ =gStringVar1
|
|
lsls r0, r2, 3
|
|
ldr r1, _0810BF1C @ =gSaveBlock1 + 0x7F8
|
|
adds r0, r1
|
|
bl sub_810C9E8
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r0, r4, 0
|
|
movs r2, 0x10
|
|
movs r3, 0x1
|
|
bl sub_8072C14
|
|
adds r0, r4, 0
|
|
movs r1, 0xB
|
|
movs r2, 0x11
|
|
bl MenuPrint
|
|
b _0810BF2C
|
|
.align 2, 0
|
|
_0810BF10: .4byte gWindowConfig_81E6E34
|
|
_0810BF14: .4byte gUnknown_02039248
|
|
_0810BF18: .4byte gStringVar1
|
|
_0810BF1C: .4byte gSaveBlock1 + 0x7F8
|
|
_0810BF20:
|
|
movs r0, 0xB
|
|
movs r1, 0x11
|
|
movs r2, 0xC
|
|
movs r3, 0x12
|
|
bl MenuZeroFillWindowRect
|
|
_0810BF2C:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_810BDAC
|
|
|
|
thumb_func_start sub_810BF38
|
|
sub_810BF38: @ 810BF38
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r2, _0810BF6C @ =gSprites
|
|
ldr r0, _0810BF70 @ =0x02000000
|
|
ldr r1, _0810BF74 @ =0x0001fffe
|
|
adds r0, r1
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r2, 0x1C
|
|
adds r0, r2
|
|
ldr r1, _0810BF78 @ =sub_810C8D4
|
|
str r1, [r0]
|
|
adds r0, r4, 0
|
|
bl sub_810BDAC
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810BF6C: .4byte gSprites
|
|
_0810BF70: .4byte 0x02000000
|
|
_0810BF74: .4byte 0x0001fffe
|
|
_0810BF78: .4byte sub_810C8D4
|
|
thumb_func_end sub_810BF38
|
|
|
|
thumb_func_start sub_810BF7C
|
|
sub_810BF7C: @ 810BF7C
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
adds r4, r5, 0
|
|
ldr r0, _0810BFB8 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r3, 0x80
|
|
adds r0, r3, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0810BF94
|
|
b _0810C0B8
|
|
_0810BF94:
|
|
ldr r2, _0810BFBC @ =gMain
|
|
ldrh r1, [r2, 0x30]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0810BFCE
|
|
ldr r4, _0810BFC0 @ =gUnknown_02039248
|
|
ldrb r0, [r4]
|
|
cmp r0, 0
|
|
beq _0810BFC4
|
|
movs r0, 0x5
|
|
movs r1, 0x14
|
|
bl sub_810BD64
|
|
ldrb r0, [r4]
|
|
subs r0, 0x1
|
|
strb r0, [r4]
|
|
b _0810C00A
|
|
.align 2, 0
|
|
_0810BFB8: .4byte gPaletteFade
|
|
_0810BFBC: .4byte gMain
|
|
_0810BFC0: .4byte gUnknown_02039248
|
|
_0810BFC4:
|
|
ldrb r0, [r4, 0x1]
|
|
cmp r0, 0
|
|
beq _0810C0B8
|
|
subs r0, 0x1
|
|
b _0810C002
|
|
_0810BFCE:
|
|
adds r0, r3, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0810C012
|
|
ldr r4, _0810BFF0 @ =gUnknown_02039248
|
|
ldrb r0, [r4]
|
|
ldrb r1, [r4, 0x3]
|
|
cmp r0, r1
|
|
beq _0810BFF4
|
|
movs r0, 0x5
|
|
movs r1, 0x14
|
|
bl sub_810BD64
|
|
ldrb r0, [r4]
|
|
adds r0, 0x1
|
|
strb r0, [r4]
|
|
b _0810C00A
|
|
.align 2, 0
|
|
_0810BFF0: .4byte gUnknown_02039248
|
|
_0810BFF4:
|
|
ldrb r1, [r4, 0x1]
|
|
ldrb r0, [r4]
|
|
adds r0, r1, r0
|
|
ldrb r2, [r4, 0x2]
|
|
cmp r0, r2
|
|
beq _0810C0B8
|
|
adds r0, r1, 0x1
|
|
_0810C002:
|
|
strb r0, [r4, 0x1]
|
|
ldrb r0, [r4, 0x1]
|
|
bl sub_810BB88
|
|
_0810C00A:
|
|
movs r0, 0
|
|
bl sub_810BF38
|
|
b _0810C0B8
|
|
_0810C012:
|
|
ldrh r1, [r2, 0x2E]
|
|
movs r0, 0x4
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0810C05C
|
|
ldr r4, _0810C050 @ =gUnknown_02039248
|
|
ldrb r0, [r4, 0x1]
|
|
ldrb r1, [r4]
|
|
adds r0, r1
|
|
ldrb r1, [r4, 0x2]
|
|
cmp r0, r1
|
|
beq _0810C0B8
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
movs r0, 0x1
|
|
bl sub_810BDAC
|
|
ldr r1, _0810C054 @ =gTasks
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldrb r1, [r4, 0x1]
|
|
ldrb r2, [r4]
|
|
adds r1, r2
|
|
strh r1, [r0, 0x8]
|
|
ldr r1, _0810C058 @ =sub_810C0C8
|
|
str r1, [r0]
|
|
b _0810C0B8
|
|
.align 2, 0
|
|
_0810C050: .4byte gUnknown_02039248
|
|
_0810C054: .4byte gTasks
|
|
_0810C058: .4byte sub_810C0C8
|
|
_0810C05C:
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0810C09C
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _0810C088 @ =gUnknown_02039248
|
|
ldrb r1, [r0, 0x1]
|
|
ldrb r2, [r0]
|
|
adds r1, r2
|
|
ldrb r0, [r0, 0x2]
|
|
cmp r1, r0
|
|
bne _0810C094
|
|
ldr r1, _0810C08C @ =gScriptResult
|
|
ldr r2, _0810C090 @ =0x0000ffff
|
|
adds r0, r2, 0
|
|
strh r0, [r1]
|
|
adds r0, r5, 0
|
|
bl sub_810C31C
|
|
b _0810C0B8
|
|
.align 2, 0
|
|
_0810C088: .4byte gUnknown_02039248
|
|
_0810C08C: .4byte gScriptResult
|
|
_0810C090: .4byte 0x0000ffff
|
|
_0810C094:
|
|
adds r0, r5, 0
|
|
bl sub_810C368
|
|
b _0810C0B8
|
|
_0810C09C:
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0810C0B8
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r1, _0810C0C0 @ =gScriptResult
|
|
ldr r2, _0810C0C4 @ =0x0000ffff
|
|
adds r0, r2, 0
|
|
strh r0, [r1]
|
|
adds r0, r4, 0
|
|
bl sub_810C31C
|
|
_0810C0B8:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810C0C0: .4byte gScriptResult
|
|
_0810C0C4: .4byte 0x0000ffff
|
|
thumb_func_end sub_810BF7C
|
|
|
|
thumb_func_start sub_810C0C8
|
|
sub_810C0C8: @ 810C0C8
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
ldr r2, _0810C0F4 @ =gMain
|
|
ldrh r1, [r2, 0x30]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0810C110
|
|
ldr r4, _0810C0F8 @ =gUnknown_02039248
|
|
ldrb r0, [r4]
|
|
cmp r0, 0
|
|
beq _0810C0FC
|
|
movs r0, 0x5
|
|
movs r1, 0x14
|
|
bl sub_810BD64
|
|
ldrb r0, [r4]
|
|
subs r0, 0x1
|
|
strb r0, [r4]
|
|
b _0810C158
|
|
.align 2, 0
|
|
_0810C0F4: .4byte gMain
|
|
_0810C0F8: .4byte gUnknown_02039248
|
|
_0810C0FC:
|
|
ldrb r0, [r4, 0x1]
|
|
cmp r0, 0
|
|
beq _0810C1BA
|
|
adds r0, r5, 0
|
|
movs r1, 0
|
|
bl sub_810C1C8
|
|
ldrb r0, [r4, 0x1]
|
|
subs r0, 0x1
|
|
b _0810C150
|
|
_0810C110:
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0810C168
|
|
ldr r4, _0810C134 @ =gUnknown_02039248
|
|
ldrb r0, [r4]
|
|
ldrb r1, [r4, 0x3]
|
|
cmp r0, r1
|
|
beq _0810C138
|
|
movs r0, 0x5
|
|
movs r1, 0x14
|
|
bl sub_810BD64
|
|
ldrb r0, [r4]
|
|
adds r0, 0x1
|
|
strb r0, [r4]
|
|
b _0810C158
|
|
.align 2, 0
|
|
_0810C134: .4byte gUnknown_02039248
|
|
_0810C138:
|
|
ldrb r0, [r4, 0x1]
|
|
ldrb r1, [r4]
|
|
adds r0, r1
|
|
ldrb r1, [r4, 0x2]
|
|
cmp r0, r1
|
|
beq _0810C1BA
|
|
adds r0, r5, 0
|
|
movs r1, 0
|
|
bl sub_810C1C8
|
|
ldrb r0, [r4, 0x1]
|
|
adds r0, 0x1
|
|
_0810C150:
|
|
strb r0, [r4, 0x1]
|
|
ldrb r0, [r4, 0x1]
|
|
bl sub_810BB88
|
|
_0810C158:
|
|
movs r0, 0x1
|
|
bl sub_810BF38
|
|
adds r0, r5, 0
|
|
movs r1, 0x1
|
|
bl sub_810C1C8
|
|
b _0810C1BA
|
|
_0810C168:
|
|
ldrh r1, [r2, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0810C17A
|
|
movs r0, 0x4
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0810C190
|
|
_0810C17A:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
adds r0, r5, 0
|
|
movs r1, 0
|
|
bl sub_810C1C8
|
|
adds r0, r5, 0
|
|
bl sub_810C23C
|
|
b _0810C1AC
|
|
_0810C190:
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0810C1BA
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
adds r0, r5, 0
|
|
movs r1, 0
|
|
bl sub_810C1C8
|
|
movs r0, 0
|
|
bl sub_810BDAC
|
|
_0810C1AC:
|
|
ldr r0, _0810C1C0 @ =gTasks
|
|
lsls r1, r5, 2
|
|
adds r1, r5
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _0810C1C4 @ =sub_810BF7C
|
|
str r0, [r1]
|
|
_0810C1BA:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810C1C0: .4byte gTasks
|
|
_0810C1C4: .4byte sub_810BF7C
|
|
thumb_func_end sub_810C0C8
|
|
|
|
thumb_func_start sub_810C1C8
|
|
sub_810C1C8: @ 810C1C8
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
lsls r1, 24
|
|
ldr r6, _0810C22C @ =0x00001005
|
|
cmp r1, 0
|
|
bne _0810C1D8
|
|
movs r6, 0x5
|
|
_0810C1D8:
|
|
ldr r1, _0810C230 @ =gTasks
|
|
lsls r0, r2, 2
|
|
adds r0, r2
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r2, _0810C234 @ =gUnknown_02039248
|
|
ldrb r1, [r2, 0x1]
|
|
ldrh r0, [r0, 0x8]
|
|
subs r0, r1
|
|
lsls r1, r0, 16
|
|
lsrs r0, r1, 16
|
|
cmp r0, 0x8
|
|
bhi _0810C226
|
|
asrs r0, r1, 16
|
|
ldrb r2, [r2]
|
|
cmp r0, r2
|
|
beq _0810C226
|
|
movs r2, 0
|
|
lsls r0, 1
|
|
adds r1, r0, 0x1
|
|
lsls r5, r1, 5
|
|
ldr r3, _0810C238 @ =gBGTilemapBuffers + 0x1000
|
|
adds r0, 0x2
|
|
lsls r4, r0, 5
|
|
_0810C208:
|
|
adds r0, r2, 0
|
|
adds r0, 0xF
|
|
adds r1, r5, r0
|
|
lsls r1, 1
|
|
adds r1, r3
|
|
strh r6, [r1]
|
|
adds r0, r4, r0
|
|
lsls r0, 1
|
|
adds r0, r3
|
|
strh r6, [r0]
|
|
adds r0, r2, 0x1
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
cmp r2, 0xD
|
|
bls _0810C208
|
|
_0810C226:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810C22C: .4byte 0x00001005
|
|
_0810C230: .4byte gTasks
|
|
_0810C234: .4byte gUnknown_02039248
|
|
_0810C238: .4byte gBGTilemapBuffers + 0x1000
|
|
thumb_func_end sub_810C1C8
|
|
|
|
thumb_func_start sub_810C23C
|
|
sub_810C23C: @ 810C23C
|
|
push {r4-r7,lr}
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
ldr r7, _0810C25C @ =gUnknown_02039248
|
|
ldrb r0, [r7]
|
|
ldrb r2, [r7, 0x1]
|
|
adds r0, r2
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldrb r2, [r7, 0x2]
|
|
cmp r0, r2
|
|
bne _0810C260
|
|
movs r0, 0
|
|
bl sub_810BDAC
|
|
b _0810C2A2
|
|
.align 2, 0
|
|
_0810C25C: .4byte gUnknown_02039248
|
|
_0810C260:
|
|
ldr r4, _0810C2A8 @ =gSaveBlock1
|
|
lsls r3, r0, 3
|
|
movs r0, 0xFF
|
|
lsls r0, 3
|
|
adds r4, r0
|
|
adds r3, r4
|
|
ldr r5, [r3]
|
|
ldr r6, [r3, 0x4]
|
|
ldr r0, _0810C2AC @ =gTasks
|
|
lsls r2, r1, 2
|
|
adds r2, r1
|
|
lsls r2, 3
|
|
adds r2, r0
|
|
movs r1, 0x8
|
|
ldrsh r0, [r2, r1]
|
|
lsls r0, 3
|
|
adds r0, r4
|
|
ldr r1, [r0, 0x4]
|
|
ldr r0, [r0]
|
|
str r0, [r3]
|
|
str r1, [r3, 0x4]
|
|
movs r1, 0x8
|
|
ldrsh r0, [r2, r1]
|
|
lsls r0, 3
|
|
adds r0, r4
|
|
str r5, [r0]
|
|
str r6, [r0, 0x4]
|
|
ldrb r0, [r7, 0x1]
|
|
bl sub_810BB88
|
|
movs r0, 0
|
|
bl sub_810BDAC
|
|
_0810C2A2:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810C2A8: .4byte gSaveBlock1
|
|
_0810C2AC: .4byte gTasks
|
|
thumb_func_end sub_810C23C
|
|
|
|
thumb_func_start sub_810C2B0
|
|
sub_810C2B0: @ 810C2B0
|
|
push {lr}
|
|
movs r0, 0
|
|
bl DestroyVerticalScrollIndicator
|
|
movs r0, 0x1
|
|
bl DestroyVerticalScrollIndicator
|
|
bl BuyMenuFreeMemory
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_810C2B0
|
|
|
|
thumb_func_start sub_810C2C8
|
|
sub_810C2C8: @ 810C2C8
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
ldr r0, _0810C308 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0810C300
|
|
ldr r4, _0810C30C @ =gUnknown_02039244
|
|
ldrb r0, [r4]
|
|
cmp r0, 0x3
|
|
bne _0810C2E8
|
|
ldr r1, _0810C310 @ =gUnknown_0300485C
|
|
ldr r0, _0810C314 @ =sub_8080990
|
|
str r0, [r1]
|
|
_0810C2E8:
|
|
bl sub_810C2B0
|
|
ldr r0, _0810C318 @ =gUnknown_083F7EA8
|
|
ldrb r1, [r4]
|
|
lsls r1, 2
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
bl SetMainCallback2
|
|
adds r0, r5, 0
|
|
bl DestroyTask
|
|
_0810C300:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810C308: .4byte gPaletteFade
|
|
_0810C30C: .4byte gUnknown_02039244
|
|
_0810C310: .4byte gUnknown_0300485C
|
|
_0810C314: .4byte sub_8080990
|
|
_0810C318: .4byte gUnknown_083F7EA8
|
|
thumb_func_end sub_810C2C8
|
|
|
|
thumb_func_start sub_810C31C
|
|
sub_810C31C: @ 810C31C
|
|
push {r4,r5,lr}
|
|
sub sp, 0x4
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
movs r5, 0
|
|
str r5, [sp]
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0x10
|
|
bl BeginNormalPaletteFade
|
|
ldr r0, _0810C358 @ =gUnknown_02039244
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x1
|
|
bls _0810C342
|
|
ldr r0, _0810C35C @ =gScriptItemId
|
|
strh r5, [r0]
|
|
_0810C342:
|
|
ldr r0, _0810C360 @ =gTasks
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _0810C364 @ =sub_810C2C8
|
|
str r0, [r1]
|
|
add sp, 0x4
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810C358: .4byte gUnknown_02039244
|
|
_0810C35C: .4byte gScriptItemId
|
|
_0810C360: .4byte gTasks
|
|
_0810C364: .4byte sub_810C2C8
|
|
thumb_func_end sub_810C31C
|
|
|
|
thumb_func_start sub_810C368
|
|
sub_810C368: @ 810C368
|
|
push {r4-r6,lr}
|
|
sub sp, 0x8
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
movs r4, 0
|
|
ldr r0, _0810C3E8 @ =gUnknown_02039244
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x1
|
|
bls _0810C37C
|
|
movs r4, 0x2
|
|
_0810C37C:
|
|
movs r0, 0
|
|
bl sub_80F98A4
|
|
movs r0, 0x1
|
|
bl sub_80F98A4
|
|
ldr r0, _0810C3EC @ =gWindowConfig_81E6E50
|
|
bl BasicInitMenuWindow
|
|
adds r1, r4, 0x4
|
|
movs r0, 0x7
|
|
movs r2, 0xD
|
|
movs r3, 0xB
|
|
bl MenuDrawTextWindow
|
|
adds r4, 0x5
|
|
ldr r5, _0810C3F0 @ =gUnknown_0203924C
|
|
ldrb r2, [r5]
|
|
ldr r3, _0810C3F4 @ =gUnknown_083F7EF4
|
|
ldr r0, _0810C3F8 @ =gUnknown_03000758
|
|
ldr r0, [r0]
|
|
str r0, [sp]
|
|
movs r0, 0x8
|
|
adds r1, r4, 0
|
|
bl PrintMenuItemsReordered
|
|
ldrb r3, [r5]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x5
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0
|
|
movs r1, 0x8
|
|
adds r2, r4, 0
|
|
bl InitMenu
|
|
ldr r2, _0810C3FC @ =gScriptItemId
|
|
ldr r1, _0810C400 @ =gUnknown_02039248
|
|
ldrb r0, [r1]
|
|
ldrb r1, [r1, 0x1]
|
|
adds r0, r1
|
|
strh r0, [r2]
|
|
ldr r1, _0810C404 @ =gTasks
|
|
lsls r0, r6, 2
|
|
adds r0, r6
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _0810C408 @ =sub_810C40C
|
|
str r1, [r0]
|
|
add sp, 0x8
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810C3E8: .4byte gUnknown_02039244
|
|
_0810C3EC: .4byte gWindowConfig_81E6E50
|
|
_0810C3F0: .4byte gUnknown_0203924C
|
|
_0810C3F4: .4byte gUnknown_083F7EF4
|
|
_0810C3F8: .4byte gUnknown_03000758
|
|
_0810C3FC: .4byte gScriptItemId
|
|
_0810C400: .4byte gUnknown_02039248
|
|
_0810C404: .4byte gTasks
|
|
_0810C408: .4byte sub_810C40C
|
|
thumb_func_end sub_810C368
|
|
|
|
thumb_func_start sub_810C40C
|
|
sub_810C40C: @ 810C40C
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
adds r4, r5, 0
|
|
ldr r2, _0810C43C @ =gMain
|
|
ldrh r1, [r2, 0x30]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0810C440
|
|
bl GetMenuCursorPos
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0810C4BC
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
bl MoveMenuCursor
|
|
b _0810C4BC
|
|
.align 2, 0
|
|
_0810C43C: .4byte gMain
|
|
_0810C440:
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0810C46C
|
|
bl GetMenuCursorPos
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _0810C468 @ =gUnknown_0203924C
|
|
ldrb r1, [r1]
|
|
subs r1, 0x1
|
|
cmp r0, r1
|
|
beq _0810C4BC
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
movs r0, 0x1
|
|
bl MoveMenuCursor
|
|
b _0810C4BC
|
|
.align 2, 0
|
|
_0810C468: .4byte gUnknown_0203924C
|
|
_0810C46C:
|
|
ldrh r1, [r2, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0810C4A8
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r4, _0810C4A0 @ =gUnknown_083F7EF4
|
|
bl GetMenuCursorPos
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _0810C4A4 @ =gUnknown_03000758
|
|
ldr r1, [r1]
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
lsls r0, 3
|
|
adds r4, 0x4
|
|
adds r0, r4
|
|
ldr r1, [r0]
|
|
adds r0, r5, 0
|
|
bl _call_via_r1
|
|
b _0810C4BC
|
|
.align 2, 0
|
|
_0810C4A0: .4byte gUnknown_083F7EF4
|
|
_0810C4A4: .4byte gUnknown_03000758
|
|
_0810C4A8:
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0810C4BC
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
adds r0, r4, 0
|
|
bl sub_810C748
|
|
_0810C4BC:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_810C40C
|
|
|
|
thumb_func_start sub_810C4C4
|
|
sub_810C4C4: @ 810C4C4
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r0, _0810C4F8 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0810C4F0
|
|
bl sub_810C2B0
|
|
ldr r0, _0810C4FC @ =gScriptItemId
|
|
ldrh r0, [r0]
|
|
lsls r0, 3
|
|
ldr r1, _0810C500 @ =gSaveBlock1 + 0x7F8
|
|
adds r0, r1
|
|
ldr r1, _0810C504 @ =sub_810B96C
|
|
bl sub_8136130
|
|
adds r0, r4, 0
|
|
bl DestroyTask
|
|
_0810C4F0:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810C4F8: .4byte gPaletteFade
|
|
_0810C4FC: .4byte gScriptItemId
|
|
_0810C500: .4byte gSaveBlock1 + 0x7F8
|
|
_0810C504: .4byte sub_810B96C
|
|
thumb_func_end sub_810C4C4
|
|
|
|
thumb_func_start sub_810C508
|
|
sub_810C508: @ 810C508
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
movs r2, 0
|
|
movs r3, 0x10
|
|
bl BeginNormalPaletteFade
|
|
ldr r1, _0810C538 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _0810C53C @ =sub_810C4C4
|
|
str r1, [r0]
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810C538: .4byte gTasks
|
|
_0810C53C: .4byte sub_810C4C4
|
|
thumb_func_end sub_810C508
|
|
|
|
thumb_func_start sub_810C540
|
|
sub_810C540: @ 810C540
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
ldr r0, _0810C5A0 @ =gWindowConfig_81E6E50
|
|
bl BasicInitMenuWindow
|
|
bl HandleDestroyMenuCursors
|
|
movs r0, 0x7
|
|
movs r1, 0x4
|
|
movs r2, 0xD
|
|
movs r3, 0xB
|
|
bl MenuZeroFillWindowRect
|
|
ldr r0, _0810C5A4 @ =gStringVar1
|
|
ldr r4, _0810C5A8 @ =gPokeblockNames
|
|
ldr r3, _0810C5AC @ =gSaveBlock1
|
|
ldr r2, _0810C5B0 @ =gUnknown_02039248
|
|
ldrb r1, [r2]
|
|
ldrb r2, [r2, 0x1]
|
|
adds r1, r2
|
|
lsls r1, 3
|
|
adds r1, r3
|
|
movs r2, 0xFF
|
|
lsls r2, 3
|
|
adds r1, r2
|
|
ldrb r1, [r1]
|
|
lsls r1, 2
|
|
adds r1, r4
|
|
ldr r1, [r1]
|
|
bl StringCopy
|
|
ldr r4, _0810C5B4 @ =gStringVar4
|
|
ldr r1, _0810C5B8 @ =gContestStatsText_ThrowAwayPrompt
|
|
adds r0, r4, 0
|
|
bl StringExpandPlaceholders
|
|
ldr r2, _0810C5BC @ =sub_810C5EC
|
|
adds r0, r5, 0
|
|
adds r1, r4, 0
|
|
movs r3, 0
|
|
bl DisplayItemMessageOnField
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810C5A0: .4byte gWindowConfig_81E6E50
|
|
_0810C5A4: .4byte gStringVar1
|
|
_0810C5A8: .4byte gPokeblockNames
|
|
_0810C5AC: .4byte gSaveBlock1
|
|
_0810C5B0: .4byte gUnknown_02039248
|
|
_0810C5B4: .4byte gStringVar4
|
|
_0810C5B8: .4byte gContestStatsText_ThrowAwayPrompt
|
|
_0810C5BC: .4byte sub_810C5EC
|
|
thumb_func_end sub_810C540
|
|
|
|
thumb_func_start sub_810C5C0
|
|
sub_810C5C0: @ 810C5C0
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r0, 0x1
|
|
movs r1, 0x1
|
|
bl sub_80F979C
|
|
ldr r1, _0810C5E4 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _0810C5E8 @ =sub_810C540
|
|
str r1, [r0]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810C5E4: .4byte gTasks
|
|
_0810C5E8: .4byte sub_810C540
|
|
thumb_func_end sub_810C5C0
|
|
|
|
thumb_func_start sub_810C5EC
|
|
sub_810C5EC: @ 810C5EC
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r0, 0x7
|
|
movs r1, 0x6
|
|
movs r2, 0x1
|
|
bl DisplayYesNoMenu
|
|
ldr r1, _0810C60C @ =gUnknown_083F7F24
|
|
adds r0, r4, 0
|
|
bl sub_80F914C
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810C60C: .4byte gUnknown_083F7F24
|
|
thumb_func_end sub_810C5EC
|
|
|
|
thumb_func_start sub_810C610
|
|
sub_810C610: @ 810C610
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r0, 0x7
|
|
movs r1, 0x6
|
|
movs r2, 0xD
|
|
movs r3, 0xB
|
|
bl MenuZeroFillWindowRect
|
|
ldr r1, _0810C658 @ =gUnknown_02039248
|
|
ldrb r0, [r1, 0x1]
|
|
ldrb r1, [r1]
|
|
adds r0, r1
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_810CA6C
|
|
ldr r5, _0810C65C @ =gStringVar4
|
|
ldr r1, _0810C660 @ =gContestStatsText_WasThrownAway
|
|
adds r0, r5, 0
|
|
bl StringExpandPlaceholders
|
|
ldr r2, _0810C664 @ =sub_810C704
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
movs r3, 0
|
|
bl DisplayItemMessageOnField
|
|
bl sub_810BC98
|
|
bl sub_810BD08
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810C658: .4byte gUnknown_02039248
|
|
_0810C65C: .4byte gStringVar4
|
|
_0810C660: .4byte gContestStatsText_WasThrownAway
|
|
_0810C664: .4byte sub_810C704
|
|
thumb_func_end sub_810C610
|
|
|
|
thumb_func_start sub_810C668
|
|
sub_810C668: @ 810C668
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
movs r0, 0
|
|
bl sub_80F98DC
|
|
movs r0, 0x1
|
|
bl sub_80F98DC
|
|
ldr r2, _0810C6CC @ =gUnknown_02039248
|
|
ldrb r0, [r2, 0x2]
|
|
ldrb r1, [r2, 0x3]
|
|
cmp r0, r1
|
|
bls _0810C698
|
|
ldrb r0, [r2, 0x1]
|
|
ldrb r1, [r2, 0x3]
|
|
adds r0, r1
|
|
ldrb r2, [r2, 0x2]
|
|
cmp r0, r2
|
|
beq _0810C698
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
bl sub_80F979C
|
|
_0810C698:
|
|
ldr r0, _0810C6D0 @ =gWindowConfig_81E6E50
|
|
bl BasicInitMenuWindow
|
|
movs r0, 0x7
|
|
movs r1, 0x6
|
|
movs r2, 0xD
|
|
movs r3, 0xB
|
|
bl MenuZeroFillWindowRect
|
|
movs r0, 0
|
|
movs r1, 0xE
|
|
movs r2, 0x1D
|
|
movs r3, 0x13
|
|
bl MenuZeroFillWindowRect
|
|
ldr r1, _0810C6D4 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _0810C6D8 @ =sub_810BF7C
|
|
str r1, [r0]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810C6CC: .4byte gUnknown_02039248
|
|
_0810C6D0: .4byte gWindowConfig_81E6E50
|
|
_0810C6D4: .4byte gTasks
|
|
_0810C6D8: .4byte sub_810BF7C
|
|
thumb_func_end sub_810C668
|
|
|
|
thumb_func_start sub_810C6DC
|
|
sub_810C6DC: @ 810C6DC
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
ldr r0, _0810C700 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0810C6F6
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0810C6FC
|
|
_0810C6F6:
|
|
adds r0, r2, 0
|
|
bl sub_810C668
|
|
_0810C6FC:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810C700: .4byte gMain
|
|
thumb_func_end sub_810C6DC
|
|
|
|
thumb_func_start sub_810C704
|
|
sub_810C704: @ 810C704
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r0, _0810C738 @ =gWindowConfig_81E6E34
|
|
bl BasicInitMenuWindow
|
|
ldr r0, _0810C73C @ =gUnknown_02039248
|
|
ldrb r0, [r0, 0x1]
|
|
bl sub_810BC84
|
|
movs r0, 0x1
|
|
movs r1, 0x1
|
|
bl sub_80F979C
|
|
ldr r1, _0810C740 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _0810C744 @ =sub_810C6DC
|
|
str r1, [r0]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810C738: .4byte gWindowConfig_81E6E34
|
|
_0810C73C: .4byte gUnknown_02039248
|
|
_0810C740: .4byte gTasks
|
|
_0810C744: .4byte sub_810C6DC
|
|
thumb_func_end sub_810C704
|
|
|
|
thumb_func_start sub_810C748
|
|
sub_810C748: @ 810C748
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r0, 0
|
|
bl sub_80F98DC
|
|
movs r0, 0x1
|
|
bl sub_80F98DC
|
|
bl HandleDestroyMenuCursors
|
|
movs r0, 0x7
|
|
movs r1, 0x4
|
|
movs r2, 0xD
|
|
movs r3, 0xB
|
|
bl MenuZeroFillWindowRect
|
|
ldr r1, _0810C780 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _0810C784 @ =sub_810BF7C
|
|
str r1, [r0]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810C780: .4byte gTasks
|
|
_0810C784: .4byte sub_810BF7C
|
|
thumb_func_end sub_810C748
|
|
|
|
thumb_func_start sub_810C788
|
|
sub_810C788: @ 810C788
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x4
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
ldr r0, _0810C834 @ =gEnemyParty
|
|
bl GetNature
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r7, _0810C838 @ =gScriptItemId
|
|
ldrh r1, [r7]
|
|
lsls r1, 3
|
|
ldr r5, _0810C83C @ =gSaveBlock1 + 0x7F8
|
|
adds r1, r5
|
|
bl sub_810CAE4
|
|
adds r4, r0, 0
|
|
lsls r4, 16
|
|
lsrs r4, 16
|
|
ldr r0, _0810C840 @ =gUnknown_030041C0
|
|
ldr r2, _0810C844 @ =gPokeblockNames
|
|
ldr r1, _0810C848 @ =0xfffff808
|
|
adds r5, r1
|
|
ldrh r1, [r7]
|
|
lsls r1, 3
|
|
adds r1, r5
|
|
movs r6, 0xFF
|
|
lsls r6, 3
|
|
adds r1, r6
|
|
ldrb r1, [r1]
|
|
lsls r1, 2
|
|
adds r1, r2
|
|
ldr r1, [r1]
|
|
bl StringCopy
|
|
ldrb r0, [r7]
|
|
bl sub_810CA6C
|
|
ldrh r0, [r7]
|
|
lsls r0, 3
|
|
adds r0, r5
|
|
adds r0, r6
|
|
ldrb r0, [r0]
|
|
lsls r0, 8
|
|
strh r0, [r7]
|
|
lsls r4, 16
|
|
asrs r4, 16
|
|
cmp r4, 0
|
|
bne _0810C7F4
|
|
adds r0, 0x1
|
|
strh r0, [r7]
|
|
_0810C7F4:
|
|
cmp r4, 0
|
|
ble _0810C7FE
|
|
ldrh r0, [r7]
|
|
adds r0, 0x2
|
|
strh r0, [r7]
|
|
_0810C7FE:
|
|
cmp r4, 0
|
|
bge _0810C808
|
|
ldrh r0, [r7]
|
|
adds r0, 0x3
|
|
strh r0, [r7]
|
|
_0810C808:
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
movs r2, 0
|
|
movs r3, 0x10
|
|
bl BeginNormalPaletteFade
|
|
ldr r1, _0810C84C @ =gTasks
|
|
mov r2, r8
|
|
lsls r0, r2, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _0810C850 @ =sub_810C2C8
|
|
str r1, [r0]
|
|
add sp, 0x4
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810C834: .4byte gEnemyParty
|
|
_0810C838: .4byte gScriptItemId
|
|
_0810C83C: .4byte gSaveBlock1 + 0x7F8
|
|
_0810C840: .4byte gUnknown_030041C0
|
|
_0810C844: .4byte gPokeblockNames
|
|
_0810C848: .4byte 0xfffff808
|
|
_0810C84C: .4byte gTasks
|
|
_0810C850: .4byte sub_810C2C8
|
|
thumb_func_end sub_810C788
|
|
|
|
thumb_func_start sub_810C854
|
|
sub_810C854: @ 810C854
|
|
push {r4,r5,lr}
|
|
sub sp, 0x4
|
|
adds r5, r0, 0
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
ldr r4, _0810C8B8 @ =gScriptItemId
|
|
ldrb r0, [r4]
|
|
bl SafariZoneActivatePokeblockFeeder
|
|
ldr r0, _0810C8BC @ =gStringVar1
|
|
ldr r3, _0810C8C0 @ =gPokeblockNames
|
|
ldr r2, _0810C8C4 @ =gSaveBlock1
|
|
ldrh r1, [r4]
|
|
lsls r1, 3
|
|
adds r1, r2
|
|
movs r2, 0xFF
|
|
lsls r2, 3
|
|
adds r1, r2
|
|
ldrb r1, [r1]
|
|
lsls r1, 2
|
|
adds r1, r3
|
|
ldr r1, [r1]
|
|
bl StringCopy
|
|
ldr r1, _0810C8C8 @ =gScriptResult
|
|
ldrh r0, [r4]
|
|
strh r0, [r1]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_810CA6C
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
movs r2, 0
|
|
movs r3, 0x10
|
|
bl BeginNormalPaletteFade
|
|
ldr r1, _0810C8CC @ =gTasks
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _0810C8D0 @ =sub_810C2C8
|
|
str r1, [r0]
|
|
add sp, 0x4
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810C8B8: .4byte gScriptItemId
|
|
_0810C8BC: .4byte gStringVar1
|
|
_0810C8C0: .4byte gPokeblockNames
|
|
_0810C8C4: .4byte gSaveBlock1
|
|
_0810C8C8: .4byte gScriptResult
|
|
_0810C8CC: .4byte gTasks
|
|
_0810C8D0: .4byte sub_810C2C8
|
|
thumb_func_end sub_810C854
|
|
|
|
thumb_func_start sub_810C8D4
|
|
sub_810C8D4: @ 810C8D4
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
movs r1, 0x2E
|
|
ldrsh r0, [r4, r1]
|
|
cmp r0, 0x1
|
|
ble _0810C8E4
|
|
movs r0, 0
|
|
strh r0, [r4, 0x2E]
|
|
_0810C8E4:
|
|
movs r0, 0x2E
|
|
ldrsh r5, [r4, r0]
|
|
cmp r5, 0
|
|
beq _0810C8F2
|
|
cmp r5, 0x1
|
|
beq _0810C918
|
|
b _0810C944
|
|
_0810C8F2:
|
|
ldrb r1, [r4, 0x1]
|
|
movs r0, 0x4
|
|
negs r0, r0
|
|
ands r0, r1
|
|
movs r1, 0x1
|
|
orrs r0, r1
|
|
strb r0, [r4, 0x1]
|
|
ldr r0, _0810C914 @ =gSpriteAffineAnimTable_83F7F70
|
|
str r0, [r4, 0x10]
|
|
adds r0, r4, 0
|
|
bl InitSpriteAffineAnim
|
|
movs r0, 0x1
|
|
strh r0, [r4, 0x2E]
|
|
strh r5, [r4, 0x30]
|
|
b _0810C944
|
|
.align 2, 0
|
|
_0810C914: .4byte gSpriteAffineAnimTable_83F7F70
|
|
_0810C918:
|
|
ldrh r0, [r4, 0x30]
|
|
adds r0, 0x1
|
|
movs r2, 0
|
|
strh r0, [r4, 0x30]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0xB
|
|
ble _0810C944
|
|
ldrb r1, [r4, 0x1]
|
|
movs r0, 0x4
|
|
negs r0, r0
|
|
ands r0, r1
|
|
strb r0, [r4, 0x1]
|
|
strh r2, [r4, 0x2E]
|
|
strh r2, [r4, 0x30]
|
|
ldrb r0, [r4, 0x3]
|
|
lsls r0, 26
|
|
lsrs r0, 27
|
|
bl FreeOamMatrix
|
|
ldr r0, _0810C94C @ =SpriteCallbackDummy
|
|
str r0, [r4, 0x1C]
|
|
_0810C944:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810C94C: .4byte SpriteCallbackDummy
|
|
thumb_func_end sub_810C8D4
|
|
|
|
thumb_func_start ClearPokeblock
|
|
ClearPokeblock: @ 810C950
|
|
lsls r0, 24
|
|
ldr r1, _0810C988 @ =gSaveBlock1
|
|
lsrs r0, 21
|
|
adds r0, r1
|
|
movs r2, 0xFF
|
|
lsls r2, 3
|
|
adds r1, r0, r2
|
|
movs r2, 0
|
|
strb r2, [r1]
|
|
ldr r3, _0810C98C @ =0x000007f9
|
|
adds r1, r0, r3
|
|
strb r2, [r1]
|
|
adds r3, 0x1
|
|
adds r1, r0, r3
|
|
strb r2, [r1]
|
|
adds r3, 0x1
|
|
adds r1, r0, r3
|
|
strb r2, [r1]
|
|
adds r3, 0x1
|
|
adds r1, r0, r3
|
|
strb r2, [r1]
|
|
adds r3, 0x1
|
|
adds r1, r0, r3
|
|
strb r2, [r1]
|
|
ldr r1, _0810C990 @ =0x000007fe
|
|
adds r0, r1
|
|
strb r2, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_0810C988: .4byte gSaveBlock1
|
|
_0810C98C: .4byte 0x000007f9
|
|
_0810C990: .4byte 0x000007fe
|
|
thumb_func_end ClearPokeblock
|
|
|
|
thumb_func_start ClearPokeblocks
|
|
ClearPokeblocks: @ 810C994
|
|
push {r4,lr}
|
|
movs r4, 0
|
|
_0810C998:
|
|
adds r0, r4, 0
|
|
bl ClearPokeblock
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x27
|
|
bls _0810C998
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end ClearPokeblocks
|
|
|
|
thumb_func_start sub_810C9B0
|
|
sub_810C9B0: @ 810C9B0
|
|
push {r4-r6,lr}
|
|
adds r6, r0, 0
|
|
movs r1, 0x1
|
|
bl sub_810CA9C
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
movs r1, 0x1
|
|
_0810C9C0:
|
|
adds r0, r1, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
adds r0, r6, 0
|
|
adds r1, r4, 0
|
|
bl sub_810CA9C
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r5, r0
|
|
bcs _0810C9D8
|
|
adds r5, r0, 0
|
|
_0810C9D8:
|
|
adds r1, r4, 0
|
|
cmp r1, 0x4
|
|
bls _0810C9C0
|
|
adds r0, r5, 0
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_810C9B0
|
|
|
|
thumb_func_start sub_810C9E8
|
|
sub_810C9E8: @ 810C9E8
|
|
push {lr}
|
|
movs r1, 0x6
|
|
bl sub_810CA9C
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x63
|
|
bls _0810C9FA
|
|
movs r0, 0x63
|
|
_0810C9FA:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_810C9E8
|
|
|
|
thumb_func_start sub_810CA00
|
|
sub_810CA00: @ 810CA00
|
|
push {lr}
|
|
movs r1, 0
|
|
ldr r3, _0810CA1C @ =gSaveBlock1
|
|
movs r2, 0xFF
|
|
lsls r2, 3
|
|
_0810CA0A:
|
|
lsls r0, r1, 3
|
|
adds r0, r3
|
|
adds r0, r2
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _0810CA20
|
|
lsls r0, r1, 24
|
|
asrs r0, 24
|
|
b _0810CA2E
|
|
.align 2, 0
|
|
_0810CA1C: .4byte gSaveBlock1
|
|
_0810CA20:
|
|
adds r0, r1, 0x1
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, 0x27
|
|
bls _0810CA0A
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
_0810CA2E:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_810CA00
|
|
|
|
thumb_func_start sub_810CA34
|
|
sub_810CA34: @ 810CA34
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
bl sub_810CA00
|
|
lsls r0, 24
|
|
asrs r2, r0, 24
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r2, r0
|
|
beq _0810CA64
|
|
ldr r0, _0810CA60 @ =gSaveBlock1
|
|
lsls r2, 3
|
|
movs r1, 0xFF
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
adds r2, r0
|
|
ldr r0, [r4]
|
|
ldr r1, [r4, 0x4]
|
|
str r0, [r2]
|
|
str r1, [r2, 0x4]
|
|
movs r0, 0x1
|
|
b _0810CA66
|
|
.align 2, 0
|
|
_0810CA60: .4byte gSaveBlock1
|
|
_0810CA64:
|
|
movs r0, 0
|
|
_0810CA66:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_810CA34
|
|
|
|
thumb_func_start sub_810CA6C
|
|
sub_810CA6C: @ 810CA6C
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
ldr r1, _0810CA90 @ =gSaveBlock1
|
|
lsls r0, r2, 3
|
|
adds r0, r1
|
|
movs r1, 0xFF
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0810CA94
|
|
adds r0, r2, 0
|
|
bl ClearPokeblock
|
|
movs r0, 0x1
|
|
b _0810CA96
|
|
.align 2, 0
|
|
_0810CA90: .4byte gSaveBlock1
|
|
_0810CA94:
|
|
movs r0, 0
|
|
_0810CA96:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_810CA6C
|
|
|
|
thumb_func_start sub_810CA9C
|
|
sub_810CA9C: @ 810CA9C
|
|
push {lr}
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r2, r1, 0
|
|
cmp r1, 0
|
|
bne _0810CAAC
|
|
ldrb r0, [r0]
|
|
b _0810CADE
|
|
_0810CAAC:
|
|
cmp r1, 0x1
|
|
bne _0810CAB4
|
|
ldrb r0, [r0, 0x1]
|
|
b _0810CADE
|
|
_0810CAB4:
|
|
cmp r1, 0x2
|
|
bne _0810CABC
|
|
ldrb r0, [r0, 0x2]
|
|
b _0810CADE
|
|
_0810CABC:
|
|
cmp r1, 0x3
|
|
bne _0810CAC4
|
|
ldrb r0, [r0, 0x3]
|
|
b _0810CADE
|
|
_0810CAC4:
|
|
cmp r1, 0x4
|
|
bne _0810CACC
|
|
ldrb r0, [r0, 0x4]
|
|
b _0810CADE
|
|
_0810CACC:
|
|
cmp r1, 0x5
|
|
bne _0810CAD4
|
|
ldrb r0, [r0, 0x5]
|
|
b _0810CADE
|
|
_0810CAD4:
|
|
cmp r2, 0x6
|
|
beq _0810CADC
|
|
movs r0, 0
|
|
b _0810CADE
|
|
_0810CADC:
|
|
ldrb r0, [r0, 0x6]
|
|
_0810CADE:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_810CA9C
|
|
|
|
thumb_func_start sub_810CAE4
|
|
sub_810CAE4: @ 810CAE4
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
mov r8, r1
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r6, 0
|
|
movs r4, 0
|
|
ldr r1, _0810CB40 @ =gUnknown_083F7E28
|
|
mov r9, r1
|
|
lsls r1, r0, 2
|
|
adds r7, r1, r0
|
|
_0810CAFE:
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
mov r0, r8
|
|
adds r1, r5, 0
|
|
bl sub_810CA9C
|
|
lsls r0, 16
|
|
asrs r1, r0, 16
|
|
cmp r1, 0
|
|
ble _0810CB2A
|
|
adds r0, r7, r4
|
|
add r0, r9
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
muls r1, r0
|
|
lsls r0, r6, 16
|
|
asrs r0, 16
|
|
adds r0, r1
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
_0810CB2A:
|
|
adds r4, r5, 0
|
|
cmp r4, 0x4
|
|
bls _0810CAFE
|
|
lsls r0, r6, 16
|
|
asrs r0, 16
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0810CB40: .4byte gUnknown_083F7E28
|
|
thumb_func_end sub_810CAE4
|
|
|
|
thumb_func_start sub_810CB44
|
|
sub_810CB44: @ 810CB44
|
|
push {r4,lr}
|
|
adds r4, r1, 0
|
|
movs r1, 0
|
|
bl sub_810CA9C
|
|
lsls r0, 24
|
|
ldr r1, _0810CB64 @ =gPokeblockNames
|
|
lsrs r0, 22
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r4, 0
|
|
bl StringCopy
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810CB64: .4byte gPokeblockNames
|
|
thumb_func_end sub_810CB44
|
|
|
|
thumb_func_start sub_810CB68
|
|
sub_810CB68: @ 810CB68
|
|
push {r4-r7,lr}
|
|
adds r6, r1, 0
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
movs r4, 0
|
|
ldr r7, _0810CB98 @ =gPokeblockNames
|
|
_0810CB74:
|
|
lsls r1, r4, 3
|
|
ldr r0, _0810CB9C @ =gUnknown_083F7F9C
|
|
adds r1, r0
|
|
adds r0, r5, 0
|
|
bl sub_810CAE4
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
ble _0810CBA0
|
|
adds r0, r4, 0x1
|
|
lsls r0, 2
|
|
adds r0, r7
|
|
ldr r1, [r0]
|
|
adds r0, r6, 0
|
|
bl StringCopy
|
|
movs r0, 0x1
|
|
b _0810CBAC
|
|
.align 2, 0
|
|
_0810CB98: .4byte gPokeblockNames
|
|
_0810CB9C: .4byte gUnknown_083F7F9C
|
|
_0810CBA0:
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x4
|
|
bls _0810CB74
|
|
movs r0, 0
|
|
_0810CBAC:
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_810CB68
|
|
|
|
.align 2, 0 @ Don't pad with nop.
|