pokeruby/asm/mail.s
2016-10-28 15:41:15 -07:00

893 lines
15 KiB
ArmAsm

.include "constants/gba_constants.inc"
.include "constants/species_constants.inc"
.include "asm/macros.inc"
.syntax unified
.text
thumb_func_start sub_80F890C
sub_80F890C: @ 80F890C
push {r4-r6,lr}
sub sp, 0x4
adds r4, r0, 0
adds r6, r1, 0
lsls r2, 24
lsrs r5, r2, 24
ldr r2, _080F8958 @ =0x02000000
adds r1, r2, 0
adds r1, 0xFF
movs r0, 0x2
strb r0, [r1]
adds r0, 0xFE
adds r1, r2, r0
movs r0, 0x1
strb r0, [r1]
movs r0, 0x82
lsls r0, 1
adds r1, r2, r0
ldr r0, _080F895C @ =sub_80EB3FC
str r0, [r1]
movs r0, 0x84
lsls r0, 1
adds r1, r2, r0
ldr r0, _080F8960 @ =ConvertEasyChatWordsToString
str r0, [r1]
ldrh r1, [r4, 0x20]
adds r0, r1, 0
subs r0, 0x79
lsls r0, 16
lsrs r0, 16
cmp r0, 0xB
bhi _080F8964
subs r1, 0x79
adds r0, r2, 0
adds r0, 0xFA
strb r1, [r0]
b _080F896E
.align 2, 0
_080F8958: .4byte 0x02000000
_080F895C: .4byte sub_80EB3FC
_080F8960: .4byte ConvertEasyChatWordsToString
_080F8964:
adds r1, r2, 0
adds r1, 0xFA
movs r0, 0
strb r0, [r1]
movs r5, 0
_080F896E:
ldr r1, _080F8994 @ =0x02000000
movs r2, 0x80
lsls r2, 1
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0
beq _080F8980
cmp r0, 0x1
beq _080F899C
_080F8980:
movs r0, 0x86
lsls r0, 1
adds r2, r1, r0
adds r0, r1, 0
adds r0, 0xFA
ldrb r0, [r0]
lsls r0, 3
ldr r1, _080F8998 @ =gUnknown_083E5730
b _080F89AC
.align 2, 0
_080F8994: .4byte 0x02000000
_080F8998: .4byte gUnknown_083E5730
_080F899C:
movs r0, 0x86
lsls r0, 1
adds r2, r1, r0
adds r0, r1, 0
adds r0, 0xFA
ldrb r0, [r0]
lsls r0, 3
ldr r1, _080F89DC @ =gUnknown_083E57A4
_080F89AC:
adds r0, r1
str r0, [r2]
ldrh r0, [r4, 0x1E]
mov r1, sp
bl sub_80A2D64
lsls r0, 16
ldr r1, _080F89E0 @ =0xffff0000
adds r0, r1
movs r1, 0xCD
lsls r1, 17
cmp r0, r1
bhi _080F89F8
ldr r0, _080F89E4 @ =0x02000000
adds r1, r0, 0
adds r1, 0xFA
ldrb r2, [r1]
adds r1, r0, 0
cmp r2, 0x6
beq _080F89E8
cmp r2, 0x9
beq _080F89F0
b _080F89FA
.align 2, 0
_080F89DC: .4byte gUnknown_083E57A4
_080F89E0: .4byte 0xffff0000
_080F89E4: .4byte 0x02000000
_080F89E8:
adds r2, r1, 0
adds r2, 0xFB
movs r0, 0x1
b _080F8A00
_080F89F0:
adds r2, r1, 0
adds r2, 0xFB
movs r0, 0x2
b _080F8A00
_080F89F8:
ldr r1, _080F8A20 @ =0x02000000
_080F89FA:
adds r2, r1, 0
adds r2, 0xFB
movs r0, 0
_080F8A00:
strb r0, [r2]
adds r0, r1, 0
adds r0, 0xF4
str r4, [r0]
subs r0, 0x8
str r6, [r0]
adds r0, 0xC
strb r5, [r0]
ldr r0, _080F8A24 @ =sub_80F8D50
bl SetMainCallback2
add sp, 0x4
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_080F8A20: .4byte 0x02000000
_080F8A24: .4byte sub_80F8D50
thumb_func_end sub_80F890C
thumb_func_start sub_80F8A28
sub_80F8A28: @ 80F8A28
push {r4,r5,lr}
sub sp, 0x8
ldr r0, _080F8A44 @ =gMain
ldr r1, _080F8A48 @ =0x0000043c
adds r0, r1
ldrb r0, [r0]
cmp r0, 0x12
bls _080F8A3A
b _080F8D3C
_080F8A3A:
lsls r0, 2
ldr r1, _080F8A4C @ =_080F8A50
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_080F8A44: .4byte gMain
_080F8A48: .4byte 0x0000043c
_080F8A4C: .4byte _080F8A50
.align 2, 0
_080F8A50:
.4byte _080F8A9C
.4byte _080F8AB0
.4byte _080F8AC8
.4byte _080F8ACE
.4byte _080F8AD4
.4byte _080F8ADA
.4byte _080F8B10
.4byte _080F8B1C
.4byte _080F8B28
.4byte _080F8B34
.4byte _080F8B3A
.4byte _080F8B54
.4byte _080F8B78
.4byte _080F8BA0
.4byte _080F8C14
.4byte _080F8C2C
.4byte _080F8C58
.4byte _080F8CBC
.4byte _080F8CC6
_080F8A9C:
movs r0, 0
bl SetVBlankCallback
bl remove_some_task
movs r1, 0x80
lsls r1, 19
movs r0, 0
strh r0, [r1]
b _080F8D30
_080F8AB0:
add r1, sp, 0x4
movs r0, 0
strh r0, [r1]
movs r1, 0xE0
lsls r1, 19
ldr r2, _080F8AC4 @ =0x01000200
add r0, sp, 0x4
bl CpuSet
b _080F8D30
.align 2, 0
_080F8AC4: .4byte 0x01000200
_080F8AC8:
bl ResetPaletteFade
b _080F8D30
_080F8ACE:
bl ResetTasks
b _080F8D30
_080F8AD4:
bl ResetSpriteData
b _080F8D30
_080F8ADA:
bl FreeAllSpritePalettes
ldr r0, _080F8B0C @ =REG_BG0HOFS
movs r1, 0
strh r1, [r0]
adds r0, 0x2
strh r1, [r0]
adds r0, 0x2
strh r1, [r0]
adds r0, 0x2
strh r1, [r0]
adds r0, 0x4
strh r1, [r0]
subs r0, 0x2
strh r1, [r0]
adds r0, 0x4
strh r1, [r0]
adds r0, 0x2
strh r1, [r0]
adds r0, 0x32
strh r1, [r0]
adds r0, 0x2
strh r1, [r0]
b _080F8D30
.align 2, 0
_080F8B0C: .4byte REG_BG0HOFS
_080F8B10:
ldr r0, _080F8B18 @ =gWindowConfig_81E6DFC
bl SetUpWindowConfig
b _080F8D30
.align 2, 0
_080F8B18: .4byte gWindowConfig_81E6DFC
_080F8B1C:
ldr r0, _080F8B24 @ =gWindowConfig_81E6DFC
bl MultistepInitMenuWindowBegin
b _080F8D30
.align 2, 0
_080F8B24: .4byte gWindowConfig_81E6DFC
_080F8B28:
bl MultistepInitMenuWindowContinue
cmp r0, 0
beq _080F8B32
b _080F8D30
_080F8B32:
b _080F8D3C
_080F8B34:
bl MenuZeroFillScreen
b _080F8D30
_080F8B3A:
mov r0, sp
adds r0, 0x6
movs r1, 0x1
strh r1, [r0]
ldr r1, _080F8B4C @ =0x06004800
ldr r2, _080F8B50 @ =0x01000400
bl CpuSet
b _080F8D30
.align 2, 0
_080F8B4C: .4byte 0x06004800
_080F8B50: .4byte 0x01000400
_080F8B54:
ldr r2, _080F8B70 @ =gMailGraphicsTable
ldr r0, _080F8B74 @ =0x02000000
adds r0, 0xFA
ldrb r1, [r0]
lsls r0, r1, 2
adds r0, r1
lsls r0, 2
adds r0, r2
ldr r0, [r0]
movs r1, 0
movs r2, 0x20
bl LoadPalette
b _080F8D30
.align 2, 0
_080F8B70: .4byte gMailGraphicsTable
_080F8B74: .4byte 0x02000000
_080F8B78:
ldr r2, _080F8B94 @ =gMailGraphicsTable
ldr r0, _080F8B98 @ =0x02000000
adds r0, 0xFA
ldrb r1, [r0]
lsls r0, r1, 2
adds r0, r1
lsls r0, 2
adds r2, 0x8
adds r0, r2
ldr r0, [r0]
ldr r1, _080F8B9C @ =0x06004000
bl LZ77UnCompVram
b _080F8D30
.align 2, 0
_080F8B94: .4byte gMailGraphicsTable
_080F8B98: .4byte 0x02000000
_080F8B9C: .4byte 0x06004000
_080F8BA0:
ldr r5, _080F8C00 @ =gMailGraphicsTable
ldr r4, _080F8C04 @ =0x02000000
adds r4, 0xFA
ldrb r1, [r4]
lsls r0, r1, 2
adds r0, r1
lsls r0, 2
adds r1, r5, 0x4
adds r0, r1
ldr r0, [r0]
movs r1, 0xC0
lsls r1, 19
bl LZ77UnCompVram
ldr r3, _080F8C08 @ =gPlttBufferUnfaded
ldrb r1, [r4]
lsls r0, r1, 2
adds r0, r1
lsls r0, 2
adds r0, r5
ldrh r0, [r0, 0x10]
movs r2, 0xF1
lsls r2, 1
adds r1, r3, r2
strh r0, [r1]
ldrb r1, [r4]
lsls r0, r1, 2
adds r0, r1
lsls r0, 2
adds r0, r5
ldrh r1, [r0, 0x12]
adds r2, 0xE
adds r0, r3, r2
strh r1, [r0]
ldr r1, _080F8C0C @ =gUnknown_083E562C
ldr r2, _080F8C10 @ =gSaveBlock2
ldrb r0, [r2, 0x8]
lsls r0, 2
adds r0, r1
ldrh r0, [r0]
strh r0, [r3, 0x14]
ldrb r0, [r2, 0x8]
lsls r0, 2
adds r1, 0x2
adds r0, r1
ldrh r0, [r0]
strh r0, [r3, 0x16]
b _080F8D30
.align 2, 0
_080F8C00: .4byte gMailGraphicsTable
_080F8C04: .4byte 0x02000000
_080F8C08: .4byte gPlttBufferUnfaded
_080F8C0C: .4byte gUnknown_083E562C
_080F8C10: .4byte gSaveBlock2
_080F8C14:
ldr r0, _080F8C28 @ =0x02000000
adds r0, 0xF8
ldrb r0, [r0]
cmp r0, 0
bne _080F8C20
b _080F8D30
_080F8C20:
bl sub_80F8DA0
b _080F8D30
.align 2, 0
_080F8C28: .4byte 0x02000000
_080F8C2C:
ldr r0, _080F8C4C @ =0x02000000
adds r0, 0xF8
ldrb r0, [r0]
cmp r0, 0
beq _080F8C3A
bl sub_80F8E80
_080F8C3A:
ldr r0, _080F8C50 @ =sub_80F8F18
bl SetVBlankCallback
ldr r2, _080F8C54 @ =gPaletteFade
ldrb r0, [r2, 0x8]
movs r1, 0x80
orrs r0, r1
strb r0, [r2, 0x8]
b _080F8D30
.align 2, 0
_080F8C4C: .4byte 0x02000000
_080F8C50: .4byte sub_80F8F18
_080F8C54: .4byte gPaletteFade
_080F8C58:
ldr r5, _080F8C7C @ =0x02000000
adds r0, r5, 0
adds r0, 0xF4
ldr r0, [r0]
ldrh r0, [r0, 0x1E]
bl sub_809D4A8
lsls r0, 16
lsrs r4, r0, 16
adds r0, r5, 0
adds r0, 0xFB
ldrb r0, [r0]
cmp r0, 0x1
beq _080F8C80
cmp r0, 0x2
beq _080F8C98
b _080F8D30
.align 2, 0
_080F8C7C: .4byte 0x02000000
_080F8C80:
adds r0, r4, 0
bl sub_809D580
ldr r1, _080F8C94 @ =SpriteCallbackDummy
movs r0, 0
str r0, [sp]
adds r0, r4, 0
movs r2, 0x60
b _080F8CA8
.align 2, 0
_080F8C94: .4byte SpriteCallbackDummy
_080F8C98:
adds r0, r4, 0
bl sub_809D580
ldr r1, _080F8CB8 @ =SpriteCallbackDummy
movs r0, 0
str r0, [sp]
adds r0, r4, 0
movs r2, 0x28
_080F8CA8:
movs r3, 0x80
bl sub_809D3A4
adds r1, r5, 0
adds r1, 0xFC
strb r0, [r1]
b _080F8D30
.align 2, 0
_080F8CB8: .4byte SpriteCallbackDummy
_080F8CBC:
bl sub_8055870
cmp r0, 0x1
bne _080F8D30
b _080F8D3C
_080F8CC6:
ldr r1, _080F8D14 @ =REG_BG0CNT
ldr r2, _080F8D18 @ =0x00009f08
adds r0, r2, 0
strh r0, [r1]
adds r1, 0x2
ldr r2, _080F8D1C @ =0x00000801
adds r0, r2, 0
strh r0, [r1]
adds r1, 0x2
ldr r2, _080F8D20 @ =0x00000902
adds r0, r2, 0
strh r0, [r1]
adds r1, 0x44
movs r0, 0
strh r0, [r1]
subs r1, 0x50
movs r2, 0xBA
lsls r2, 5
adds r0, r2, 0
strh r0, [r1]
movs r0, 0x1
negs r0, r0
movs r1, 0
str r1, [sp]
movs r2, 0x10
movs r3, 0
bl BeginNormalPaletteFade
ldr r2, _080F8D24 @ =gPaletteFade
ldrb r1, [r2, 0x8]
movs r0, 0x7F
ands r0, r1
strb r0, [r2, 0x8]
ldr r0, _080F8D28 @ =0x02000000
adds r0, 0xF0
ldr r1, _080F8D2C @ =sub_80F8F58
str r1, [r0]
movs r0, 0x1
b _080F8D3E
.align 2, 0
_080F8D14: .4byte REG_BG0CNT
_080F8D18: .4byte 0x00009f08
_080F8D1C: .4byte 0x00000801
_080F8D20: .4byte 0x00000902
_080F8D24: .4byte gPaletteFade
_080F8D28: .4byte 0x02000000
_080F8D2C: .4byte sub_80F8F58
_080F8D30:
ldr r1, _080F8D48 @ =gMain
ldr r0, _080F8D4C @ =0x0000043c
adds r1, r0
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
_080F8D3C:
movs r0, 0
_080F8D3E:
add sp, 0x8
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_080F8D48: .4byte gMain
_080F8D4C: .4byte 0x0000043c
thumb_func_end sub_80F8A28
thumb_func_start sub_80F8D50
sub_80F8D50: @ 80F8D50
push {lr}
_080F8D52:
bl sub_80F8A28
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _080F8D6C
ldr r0, _080F8D68 @ =sub_80F8F2C
bl SetMainCallback2
b _080F8D78
.align 2, 0
_080F8D68: .4byte sub_80F8F2C
_080F8D6C:
bl sub_80F9344
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _080F8D52
_080F8D78:
pop {r0}
bx r0
thumb_func_end sub_80F8D50
thumb_func_start sub_80F8D7C
sub_80F8D7C: @ 80F8D7C
push {r4,lr}
adds r4, r0, 0
bl StringCopy
adds r0, r4, 0
bl sub_814A568
adds r0, r4, 0
bl StringLength
lsls r0, 16
lsrs r0, 16
adds r4, r0
adds r0, r4, 0
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_80F8D7C
thumb_func_start sub_80F8DA0
sub_80F8DA0: @ 80F8DA0
push {r4-r7,lr}
mov r7, r8
push {r7}
movs r6, 0
movs r5, 0
ldr r2, _080F8E3C @ =0x02000000
movs r0, 0x86
lsls r0, 1
adds r1, r2, r0
ldr r0, [r1]
ldrb r0, [r0]
cmp r5, r0
bcs _080F8E04
mov r8, r2
adds r7, r1, 0
_080F8DBE:
lsls r0, r5, 3
subs r0, r5
lsls r0, 2
subs r0, r5
add r0, r8
mov r1, r8
adds r1, 0xF4
lsls r2, r6, 1
ldr r1, [r1]
adds r1, r2
ldr r2, [r7]
ldr r2, [r2, 0x4]
lsls r4, r5, 2
adds r2, r4, r2
ldr r2, [r2]
lsls r2, 28
lsrs r2, 30
movs r3, 0x1
bl ConvertEasyChatWordsToString
ldr r1, [r7]
ldr r0, [r1, 0x4]
adds r4, r0
ldr r0, [r4]
lsls r0, 28
lsrs r0, 30
adds r0, r6, r0
lsls r0, 24
lsrs r6, r0, 24
adds r0, r5, 0x1
lsls r0, 16
lsrs r5, r0, 16
ldrb r1, [r1]
cmp r5, r1
bcc _080F8DBE
_080F8E04:
ldr r2, _080F8E40 @ =0x020000d8
adds r4, r2, 0
subs r4, 0xD8
adds r0, r2, 0
adds r0, 0x28
ldrb r0, [r0]
cmp r0, 0
bne _080F8E48
ldr r1, [r2, 0x1C]
adds r1, 0x12
adds r0, r2, 0
bl sub_80F8D7C
adds r2, r0, 0
ldr r1, _080F8E44 @ =gOtherText_From
bl StringCopy
ldr r0, _080F8E40 @ =0x020000d8
bl StringLength
movs r2, 0x86
lsls r2, 1
adds r1, r4, r2
ldr r1, [r1]
ldrb r1, [r1, 0x2]
subs r1, r0
b _080F8E6A
.align 2, 0
_080F8E3C: .4byte 0x02000000
_080F8E40: .4byte 0x020000d8
_080F8E44: .4byte gOtherText_From
_080F8E48:
ldr r1, _080F8E7C @ =gOtherText_From
adds r0, r2, 0
bl StringCopy
adds r2, r0, 0
adds r0, r4, 0
adds r0, 0xF4
ldr r1, [r0]
adds r1, 0x12
adds r0, r2, 0
bl sub_80F8D7C
movs r1, 0x86
lsls r1, 1
adds r0, r4, r1
ldr r0, [r0]
ldrb r1, [r0, 0x2]
_080F8E6A:
adds r0, r4, 0
adds r0, 0xF9
strb r1, [r0]
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080F8E7C: .4byte gOtherText_From
thumb_func_end sub_80F8DA0
thumb_func_start sub_80F8E80
sub_80F8E80: @ 80F8E80
push {r4-r7,lr}
mov r7, r8
push {r7}
movs r6, 0
movs r4, 0
ldr r1, _080F8F10 @ =0x02000000
movs r0, 0x86
lsls r0, 1
adds r2, r1, r0
ldr r0, [r2]
ldrb r0, [r0]
cmp r4, r0
bcs _080F8EF6
mov r8, r1
adds r7, r2, 0
_080F8E9E:
lsls r0, r4, 3
subs r0, r4
lsls r0, 2
subs r0, r4
mov r1, r8
adds r5, r0, r1
ldrb r0, [r5]
cmp r0, 0xFF
beq _080F8EE8
cmp r0, 0
beq _080F8EE8
ldr r2, [r7]
ldr r1, [r2, 0x4]
lsls r0, r4, 2
adds r0, r1
ldr r0, [r0]
lsls r3, r0, 24
lsrs r3, 28
lsls r0, 30
lsrs r0, 30
adds r0, r6, r0
lsls r0, 24
lsrs r6, r0, 24
ldrb r2, [r2, 0x3]
lsrs r1, r2, 4
adds r1, r3
lsls r2, 28
lsrs r2, 28
adds r2, r6, r2
lsls r2, 24
lsrs r2, 24
adds r0, r5, 0
bl MenuPrint
adds r0, r6, 0x2
lsls r0, 24
lsrs r6, r0, 24
_080F8EE8:
adds r0, r4, 0x1
lsls r0, 16
lsrs r4, r0, 16
ldr r0, [r7]
ldrb r0, [r0]
cmp r4, r0
bcc _080F8E9E
_080F8EF6:
ldr r0, _080F8F14 @ =0x020000d8
adds r1, r0, 0
adds r1, 0x21
ldrb r1, [r1]
ldr r2, [r0, 0x34]
ldrb r2, [r2, 0x1]
bl MenuPrint
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080F8F10: .4byte 0x02000000
_080F8F14: .4byte 0x020000d8
thumb_func_end sub_80F8E80
thumb_func_start sub_80F8F18
sub_80F8F18: @ 80F8F18
push {lr}
bl LoadOam
bl ProcessSpriteCopyRequests
bl TransferPlttBuffer
pop {r0}
bx r0
thumb_func_end sub_80F8F18
thumb_func_start sub_80F8F2C
sub_80F8F2C: @ 80F8F2C
push {r4,lr}
ldr r4, _080F8F54 @ =0x02000000
adds r0, r4, 0
adds r0, 0xFB
ldrb r0, [r0]
cmp r0, 0
beq _080F8F42
bl AnimateSprites
bl BuildOamBuffer
_080F8F42:
adds r0, r4, 0
adds r0, 0xF0
ldr r0, [r0]
bl _call_via_r0
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080F8F54: .4byte 0x02000000
thumb_func_end sub_80F8F2C
thumb_func_start sub_80F8F58
sub_80F8F58: @ 80F8F58
push {lr}
bl UpdatePaletteFade
lsls r0, 24
cmp r0, 0
bne _080F8F6C
ldr r0, _080F8F70 @ =0x02000000
adds r0, 0xF0
ldr r1, _080F8F74 @ =sub_80F8F78
str r1, [r0]
_080F8F6C:
pop {r0}
bx r0
.align 2, 0
_080F8F70: .4byte 0x02000000
_080F8F74: .4byte sub_80F8F78
thumb_func_end sub_80F8F58
thumb_func_start sub_80F8F78
sub_80F8F78: @ 80F8F78
push {lr}
sub sp, 0x4
ldr r0, _080F8FA8 @ =gMain
ldrh r1, [r0, 0x2E]
movs r0, 0x3
ands r0, r1
cmp r0, 0
beq _080F8FA0
movs r0, 0x1
negs r0, r0
movs r1, 0
str r1, [sp]
movs r2, 0
movs r3, 0x10
bl BeginNormalPaletteFade
ldr r0, _080F8FAC @ =0x02000000
adds r0, 0xF0
ldr r1, _080F8FB0 @ =sub_80F8FB4
str r1, [r0]
_080F8FA0:
add sp, 0x4
pop {r0}
bx r0
.align 2, 0
_080F8FA8: .4byte gMain
_080F8FAC: .4byte 0x02000000
_080F8FB0: .4byte sub_80F8FB4
thumb_func_end sub_80F8F78
thumb_func_start sub_80F8FB4
sub_80F8FB4: @ 80F8FB4
push {r4,lr}
bl UpdatePaletteFade
lsls r0, 24
cmp r0, 0
bne _080F9012
ldr r4, _080F9018 @ =0x02000000
adds r0, r4, 0
adds r0, 0xEC
ldr r0, [r0]
bl SetMainCallback2
adds r0, r4, 0
adds r0, 0xFB
ldrb r0, [r0]
cmp r0, 0x2
bgt _080F9002
cmp r0, 0x1
blt _080F9002
adds r0, r4, 0
adds r0, 0xF4
ldr r0, [r0]
ldrh r0, [r0, 0x1E]
bl sub_809D4A8
lsls r0, 16
lsrs r0, 16
bl sub_809D608
adds r0, r4, 0
adds r0, 0xFC
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
ldr r1, _080F901C @ =gSprites
adds r0, r1
bl sub_809D510
_080F9002:
ldr r0, _080F9018 @ =0x02000000
movs r2, 0x88
lsls r2, 1
movs r1, 0
bl memset
bl ResetPaletteFade
_080F9012:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080F9018: .4byte 0x02000000
_080F901C: .4byte gSprites
thumb_func_end sub_80F8FB4
.align 2, 0 @ Don't pad with nop.