pokefirered/asm/pokedex_area_markers.s
2018-10-05 18:01:51 -04:00

358 lines
5.9 KiB
ArmAsm

.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_8134200
sub_8134200: @ 8134200
lsls r0, 24
lsrs r0, 24
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
ldr r0, _08134228 @ =gTasks+0x8
adds r1, r0
ldr r2, _0813422C @ =gSprites
ldrb r1, [r1, 0xD]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r2
adds r0, 0x3E
ldrb r2, [r0]
movs r1, 0x5
negs r1, r1
ands r1, r2
strb r1, [r0]
bx lr
.align 2, 0
_08134228: .4byte gTasks+0x8
_0813422C: .4byte gSprites
thumb_func_end sub_8134200
thumb_func_start sub_8134230
sub_8134230: @ 8134230
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x28
mov r9, r0
mov r8, r2
adds r6, r3, 0
lsls r0, 16
lsrs r0, 16
mov r9, r0
lsls r1, 16
lsls r2, 24
lsrs r2, 24
mov r8, r2
lsls r6, 24
lsrs r6, 24
ldr r0, _081343C4 @ =gUnknown_846343C
str r0, [sp, 0x20]
ldr r3, _081343C8 @ =0xffff0000
add r0, sp, 0x20
ldr r2, [r0, 0x4]
ands r2, r3
movs r3, 0x94
lsls r3, 3
orrs r2, r3
lsrs r7, r1, 16
ldr r5, _081343CC @ =0x0000ffff
ands r2, r5
orrs r2, r1
str r2, [r0, 0x4]
bl LoadCompressedObjectPic
ldr r0, _081343D0 @ =gUnknown_846341C
mov r3, r8
lsls r3, 4
mov r8, r3
movs r1, 0x80
lsls r1, 1
add r1, r8
movs r2, 0x20
bl LoadPalette
ldr r0, _081343D4 @ =sub_8134200
movs r1, 0
bl CreateTask
mov r10, r0
mov r0, r10
lsls r0, 24
lsrs r0, 24
mov r10, r0
lsls r4, r0, 2
add r4, r10
lsls r4, 3
ldr r0, _081343D8 @ =gTasks+0x8
adds r4, r0
movs r0, 0
strb r0, [r4, 0xC]
strh r7, [r4, 0xE]
ldrh r0, [r4, 0x10]
orrs r5, r0
strh r5, [r4, 0x10]
movs r0, 0xF0
lsls r0, 1
bl Alloc
adds r1, r0, 0
str r1, [r4, 0x8]
str r1, [r4, 0x4]
mov r0, r9
bl sub_813C9DC
strb r0, [r4]
movs r1, 0x80
lsls r1, 8
movs r0, 0
bl SetGpuRegBits
ldr r1, _081343DC @ =0x00002f42
movs r0, 0x50
bl SetGpuReg
ldr r1, _081343E0 @ =0x0000080c
movs r0, 0x52
bl SetGpuReg
movs r0, 0x54
movs r1, 0
bl SetGpuReg
ldr r1, _081343E4 @ =0x00001f1f
movs r0, 0x48
bl SetGpuReg
ldr r1, _081343E8 @ =0x00002f3d
movs r0, 0x4A
bl SetGpuReg
add r1, sp, 0x8
ldr r0, _081343EC @ =gDummySpriteTemplate
ldm r0!, {r2,r3,r5}
stm r1!, {r2,r3,r5}
ldm r0!, {r2,r3,r5}
stm r1!, {r2,r3,r5}
add r0, sp, 0x8
strh r7, [r0]
adds r6, 0x20
movs r1, 0x68
adds r2, r6, 0
movs r3, 0
bl CreateSprite
strb r0, [r4, 0xD]
ldrb r1, [r4, 0xD]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
ldr r5, _081343F0 @ =gSprites
adds r0, r5
adds r1, r4, 0
bl SetSubspriteTables
ldrb r1, [r4, 0xD]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r5
ldrb r2, [r0, 0x1]
movs r1, 0xD
negs r1, r1
ands r1, r2
movs r2, 0x8
orrs r1, r2
strb r1, [r0, 0x1]
ldrb r0, [r4, 0xD]
lsls r1, r0, 4
adds r1, r0
lsls r1, 2
adds r1, r5
ldrb r2, [r1, 0x5]
movs r0, 0xF
ands r0, r2
mov r2, r8
orrs r0, r2
strb r0, [r1, 0x5]
ldrb r1, [r4, 0xD]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r5
adds r0, 0x42
ldrb r2, [r0]
movs r1, 0x40
negs r1, r1
ands r1, r2
strb r1, [r0]
ldrb r1, [r4, 0xD]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r5
adds r0, 0x3E
ldrb r1, [r0]
movs r2, 0x4
orrs r1, r2
strb r1, [r0]
movs r0, 0x1
bl HideBg
movs r0, 0x1
movs r1, 0x1
movs r2, 0
bl SetBgAttribute
movs r0, 0x1E
str r0, [sp]
movs r0, 0x14
str r0, [sp, 0x4]
movs r0, 0x1
movs r1, 0xF
movs r2, 0
movs r3, 0
bl FillBgTilemapBufferRect_Palette0
movs r0, 0x1
bl CopyBgTilemapBufferToVram
movs r0, 0x1
bl ShowBg
mov r0, r10
add sp, 0x28
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r1}
bx r1
.align 2, 0
_081343C4: .4byte gUnknown_846343C
_081343C8: .4byte 0xffff0000
_081343CC: .4byte 0x0000ffff
_081343D0: .4byte gUnknown_846341C
_081343D4: .4byte sub_8134200
_081343D8: .4byte gTasks+0x8
_081343DC: .4byte 0x00002f42
_081343E0: .4byte 0x0000080c
_081343E4: .4byte 0x00001f1f
_081343E8: .4byte 0x00002f3d
_081343EC: .4byte gDummySpriteTemplate
_081343F0: .4byte gSprites
thumb_func_end sub_8134230
thumb_func_start sub_81343F4
sub_81343F4: @ 81343F4
push {r4,r5,lr}
sub sp, 0x8
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
lsls r4, r5, 2
adds r4, r5
lsls r4, 3
ldr r0, _08134498 @ =gTasks+0x8
adds r4, r0
ldrh r0, [r4, 0xE]
bl FreeSpriteTilesByTag
ldrb r1, [r4, 0xD]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
ldr r1, _0813449C @ =gSprites
adds r0, r1
bl DestroySprite
ldr r0, [r4, 0x8]
bl Free
movs r0, 0x50
movs r1, 0
bl SetGpuReg
movs r0, 0x52
movs r1, 0
bl SetGpuReg
movs r0, 0x54
movs r1, 0
bl SetGpuReg
ldr r4, _081344A0 @ =0x00001f1f
movs r0, 0x48
adds r1, r4, 0
bl SetGpuReg
movs r0, 0x4A
adds r1, r4, 0
bl SetGpuReg
movs r1, 0x80
lsls r1, 8
movs r0, 0
bl ClearGpuRegBits
movs r0, 0x1
bl HideBg
movs r0, 0x1
movs r1, 0x1
movs r2, 0x2
bl SetBgAttribute
movs r0, 0x1E
str r0, [sp]
movs r0, 0x14
str r0, [sp, 0x4]
movs r0, 0x1
movs r1, 0
movs r2, 0
movs r3, 0
bl FillBgTilemapBufferRect_Palette0
movs r0, 0x1
bl CopyBgTilemapBufferToVram
movs r0, 0x1
bl ShowBg
adds r0, r5, 0
bl DestroyTask
add sp, 0x8
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_08134498: .4byte gTasks+0x8
_0813449C: .4byte gSprites
_081344A0: .4byte 0x00001f1f
thumb_func_end sub_81343F4
thumb_func_start sub_81344A4
sub_81344A4: @ 81344A4
push {r4,lr}
lsls r0, 2
adds r0, r2
ldr r4, _081344D8 @ =gUnknown_8463564
ldr r3, _081344DC @ =gUnknown_8463580
lsls r1, 2
adds r2, r1, r3
ldrb r2, [r2]
lsls r2, 24
asrs r2, 24
lsls r2, 2
adds r2, r4
ldr r2, [r2]
ldr r2, [r2]
str r2, [r0]
adds r2, r3, 0x1
adds r2, r1, r2
ldrb r2, [r2]
strb r2, [r0]
adds r3, 0x2
adds r1, r3
ldrb r1, [r1]
strb r1, [r0, 0x1]
pop {r4}
pop {r0}
bx r0
.align 2, 0
_081344D8: .4byte gUnknown_8463564
_081344DC: .4byte gUnknown_8463580
thumb_func_end sub_81344A4
thumb_func_start sub_81344E0
sub_81344E0: @ 81344E0
lsls r0, 24
lsrs r0, 24
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
ldr r0, _081344F4 @ =gTasks+0x8
adds r1, r0
ldrb r0, [r1]
bx lr
.align 2, 0
_081344F4: .4byte gTasks+0x8
thumb_func_end sub_81344E0
.align 2, 0 @ Don't pad with nop.