through sub_81CA0EC

This commit is contained in:
PikalaxALT
2019-05-02 17:50:42 -04:00
parent a14162eb9f
commit f13e1c78b2
4 changed files with 129 additions and 307 deletions

View File

@@ -5,297 +5,6 @@
@ File centered around AllocSubstruct(2)
thumb_func_start sub_81C9FC4
sub_81C9FC4: @ 81C9FC4
push {r4,r5,lr}
movs r5, 0
ldr r4, =gUnknown_086201C4
_081C9FCA:
adds r0, r4, 0
bl LoadCompressedSpriteSheet
adds r4, 0x8
adds r5, 0x1
cmp r5, 0x1
bls _081C9FCA
ldr r0, =gUnknown_086201D4
bl Pokenav_AllocAndLoadPalettes
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_81C9FC4
thumb_func_start sub_81C9FEC
sub_81C9FEC: @ 81C9FEC
push {lr}
movs r0, 0x3
bl FreeSpriteTilesByTag
movs r0, 0x1
bl FreeSpriteTilesByTag
movs r0, 0x4
bl FreeSpritePaletteByTag
movs r0, 0x5
bl FreeSpritePaletteByTag
movs r0, 0x6
bl FreeSpritePaletteByTag
movs r0, 0x7
bl FreeSpritePaletteByTag
movs r0, 0x8
bl FreeSpritePaletteByTag
movs r0, 0x3
bl FreeSpritePaletteByTag
bl sub_81CA094
bl sub_81CA698
pop {r0}
bx r0
thumb_func_end sub_81C9FEC
thumb_func_start sub_81CA02C
sub_81CA02C: @ 81CA02C
push {r4-r7,lr}
mov r7, r8
push {r7}
movs r0, 0x2
bl GetSubstructPtr
movs r2, 0
adds r0, 0x2C
mov r8, r0
_081CA03E:
movs r4, 0
lsls r0, r2, 2
lsls r1, r2, 4
adds r7, r2, 0x1
adds r0, r2
lsls r0, 18
movs r2, 0xA0
lsls r2, 14
adds r5, r0, r2
mov r0, r8
adds r6, r1, r0
_081CA054:
ldr r0, =gUnknown_0862034C
movs r1, 0x8C
asrs r2, r5, 16
movs r3, 0x3
bl CreateSprite
lsls r0, 24
lsrs r0, 24
lsls r1, r0, 4
adds r1, r0
lsls r1, 2
ldr r0, =gSprites
adds r1, r0
stm r6!, {r1}
lsls r0, r4, 5
strh r0, [r1, 0x24]
adds r4, 0x1
cmp r4, 0x3
ble _081CA054
adds r2, r7, 0
cmp r2, 0x5
ble _081CA03E
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end sub_81CA02C
thumb_func_start sub_81CA094
sub_81CA094: @ 81CA094
push {r4-r7,lr}
movs r0, 0x2
bl GetSubstructPtr
movs r1, 0
adds r7, r0, 0
adds r7, 0x2C
_081CA0A2:
lsls r0, r1, 4
adds r6, r1, 0x1
adds r4, r0, r7
movs r5, 0x3
_081CA0AA:
ldr r0, [r4]
bl FreeSpriteOamMatrix
ldm r4!, {r0}
bl DestroySprite
subs r5, 0x1
cmp r5, 0
bge _081CA0AA
adds r1, r6, 0
cmp r1, 0x5
ble _081CA0A2
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end sub_81CA094
thumb_func_start sub_81CA0C8
sub_81CA0C8: @ 81CA0C8
push {lr}
bl sub_81C9894
lsls r2, r0, 3
subs r2, r0
lsls r2, 2
ldr r1, =gUnknown_08620244
adds r0, r2, r1
subs r1, 0x4
adds r2, r1
ldrh r1, [r2]
ldrh r2, [r2, 0x2]
bl sub_81CA0EC
pop {r0}
bx r0
.pool
thumb_func_end sub_81CA0C8
thumb_func_start sub_81CA0EC
sub_81CA0EC: @ 81CA0EC
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x18
adds r6, r0, 0
str r1, [sp, 0x14]
str r2, [sp]
movs r0, 0x2
bl GetSubstructPtr
mov r10, r0
movs r0, 0x3
bl GetSpriteTileStartByTag
lsls r0, 16
lsrs r0, 16
str r0, [sp, 0x4]
movs r1, 0
_081CA114:
ldr r0, [r6]
cmp r0, 0
beq _081CA1B0
movs r5, 0
lsls r2, r1, 4
mov r0, r10
adds r0, 0x2C
lsls r3, r1, 2
mov r9, r3
movs r4, 0x10
add r4, r10
mov r8, r4
adds r7, r6, 0x4
str r7, [sp, 0xC]
ldr r3, [sp, 0x14]
ldr r4, [sp]
adds r3, r4
str r3, [sp, 0x8]
adds r1, 0x1
str r1, [sp, 0x10]
adds r4, r2, r0
_081CA13E:
ldr r3, [r4]
ldr r0, [r6]
ldrh r2, [r0]
ldr r7, [sp, 0x4]
adds r2, r7
lsls r0, r5, 3
adds r2, r0
ldr r1, =0x000003ff
adds r0, r1, 0
ands r2, r0
ldrh r0, [r3, 0x4]
ldr r7, =0xfffffc00
adds r1, r7, 0
ands r0, r1
orrs r0, r2
strh r0, [r3, 0x4]
ldr r0, [r6]
ldrh r0, [r0, 0x2]
adds r0, 0x4
lsls r0, 16
lsrs r0, 16
bl IndexOfSpritePaletteTag
ldr r3, [r4]
lsls r0, 4
ldrb r2, [r3, 0x5]
movs r1, 0xF
ands r1, r2
orrs r1, r0
strb r1, [r3, 0x5]
ldr r2, [r4]
adds r2, 0x3E
ldrb r0, [r2]
movs r1, 0x4
orrs r0, r1
strb r0, [r2]
ldr r0, [r4]
mov r1, sp
ldrh r1, [r1, 0x14]
strh r1, [r0, 0x22]
ldr r1, [r4]
movs r0, 0x8C
strh r0, [r1, 0x20]
ldm r4!, {r1}
lsls r0, r5, 5
strh r0, [r1, 0x24]
adds r5, 0x1
cmp r5, 0x3
ble _081CA13E
mov r1, r8
add r1, r9
movs r0, 0x1
b _081CA1EC
.pool
_081CA1B0:
lsls r2, r1, 4
mov r0, r10
adds r0, 0x2C
lsls r3, r1, 2
mov r9, r3
movs r4, 0x10
add r4, r10
mov r8, r4
adds r6, 0x4
str r6, [sp, 0xC]
ldr r7, [sp, 0x14]
ldr r3, [sp]
adds r7, r3
str r7, [sp, 0x8]
adds r1, 0x1
str r1, [sp, 0x10]
movs r3, 0x4
adds r2, r0
movs r5, 0x3
_081CA1D6:
ldm r2!, {r1}
adds r1, 0x3E
ldrb r0, [r1]
orrs r0, r3
strb r0, [r1]
subs r5, 0x1
cmp r5, 0
bge _081CA1D6
mov r1, r8
add r1, r9
movs r0, 0
_081CA1EC:
str r0, [r1]
ldr r6, [sp, 0xC]
ldr r4, [sp, 0x8]
str r4, [sp, 0x14]
ldr r1, [sp, 0x10]
cmp r1, 0x5
ble _081CA114
add sp, 0x18
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end sub_81CA0EC
thumb_func_start sub_81CA20C
sub_81CA20C: @ 81CA20C
push {r4-r7,lr}