through sub_80C1920

This commit is contained in:
PikalaxALT
2020-01-03 16:04:43 -05:00
parent e2fb677742
commit e58e6689b8
3 changed files with 184 additions and 616 deletions
-608
View File
@@ -5,614 +5,6 @@
.text
thumb_func_start sub_80C1478
sub_80C1478: @ 80C1478
push {r4-r7,lr}
mov r7, r8
push {r7}
sub sp, 0x8
movs r6, 0
ldr r0, _080C1574 @ =gUnknown_20399D8
mov r8, r0
ldr r5, [r0]
ldr r1, _080C1578 @ =0x00001cd4
adds r0, r5, r1
movs r1, 0x48
strh r1, [r0]
ldr r4, _080C157C @ =0xffff0000
ldr r0, [sp]
ands r0, r4
orrs r0, r1
str r0, [sp]
ldr r3, _080C1580 @ =0x00001cce
adds r2, r5, r3
ldr r7, _080C1584 @ =0x00001cca
adds r0, r5, r7
ldrb r1, [r0]
lsls r1, 2
ldrh r2, [r2]
adds r1, r2
lsls r1, 3
ldr r0, _080C1588 @ =0x00001cd6
adds r3, r5, r0
strh r1, [r3]
lsls r1, 16
ldr r2, _080C158C @ =0x0000ffff
ldr r0, [sp]
ands r0, r2
orrs r0, r1
str r0, [sp]
ldr r1, _080C1590 @ =0x00001cd8
adds r0, r5, r1
movs r1, 0xA8
strh r1, [r0]
ldr r0, [sp, 0x4]
ands r0, r4
orrs r0, r1
str r0, [sp, 0x4]
ldrh r1, [r3]
adds r1, 0x20
ldr r3, _080C1594 @ =0x00001cda
adds r0, r5, r3
strh r1, [r0]
ands r1, r2
lsls r1, 16
ldr r0, [sp, 0x4]
ands r0, r2
orrs r0, r1
str r0, [sp, 0x4]
ldr r0, _080C1598 @ =gMain
ldrh r1, [r0, 0x2E]
movs r0, 0x40
ands r0, r1
cmp r0, 0
beq _080C150E
adds r1, r7, 0
adds r0, r5, r1
ldrb r0, [r0]
cmp r0, 0
beq _080C150E
movs r0, 0xF5
bl PlaySE
mov r2, r8
ldr r1, [r2]
adds r1, r7
ldrb r0, [r1]
subs r0, 0x1
strb r0, [r1]
movs r6, 0x1
_080C150E:
ldr r0, _080C1598 @ =gMain
ldrh r1, [r0, 0x2E]
movs r0, 0x80
ands r0, r1
cmp r0, 0
beq _080C1542
ldr r4, _080C1574 @ =gUnknown_20399D8
ldr r0, [r4]
ldr r3, _080C1584 @ =0x00001cca
adds r1, r0, r3
ldr r2, _080C159C @ =0x00001ccc
adds r0, r2
ldrb r1, [r1]
ldrb r0, [r0]
cmp r1, r0
bcs _080C1542
movs r0, 0xF5
bl PlaySE
ldr r1, [r4]
ldr r3, _080C1584 @ =0x00001cca
adds r1, r3
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
movs r6, 0x1
_080C1542:
ldr r2, _080C1598 @ =gMain
ldrh r1, [r2, 0x2E]
movs r0, 0x1
ands r0, r1
ldr r4, _080C1574 @ =gUnknown_20399D8
cmp r0, 0
beq _080C15A8
ldr r0, [r4]
ldr r1, _080C15A0 @ =0x00001cdc
adds r0, r1
ldrh r0, [r0]
cmp r0, 0x6
bne _080C15A8
movs r0, 0xC7
bl PlaySE
ldr r0, [r4]
ldr r2, _080C1584 @ =0x00001cca
adds r1, r0, r2
ldrb r1, [r1]
ldr r3, _080C15A4 @ =0x00001ccb
adds r0, r3
strb r1, [r0]
movs r0, 0x1
b _080C16AC
.align 2, 0
_080C1574: .4byte gUnknown_20399D8
_080C1578: .4byte 0x00001cd4
_080C157C: .4byte 0xffff0000
_080C1580: .4byte 0x00001cce
_080C1584: .4byte 0x00001cca
_080C1588: .4byte 0x00001cd6
_080C158C: .4byte 0x0000ffff
_080C1590: .4byte 0x00001cd8
_080C1594: .4byte 0x00001cda
_080C1598: .4byte gMain
_080C159C: .4byte 0x00001ccc
_080C15A0: .4byte 0x00001cdc
_080C15A4: .4byte 0x00001ccb
_080C15A8:
ldrh r1, [r2, 0x2E]
movs r0, 0x2
ands r0, r1
cmp r0, 0
beq _080C1604
ldr r0, [r4]
ldr r2, _080C15FC @ =0x00001ccb
adds r1, r0, r2
ldrb r1, [r1]
subs r2, 0x1
adds r0, r2
strb r1, [r0]
ldr r3, _080C1600 @ =gUnknown_20399D4
ldr r0, [r4]
adds r0, r2
ldrb r0, [r0]
lsls r1, r0, 2
adds r1, r0
lsls r0, r1, 4
subs r0, r1
lsls r0, 4
adds r0, 0x26
ldr r1, [r3]
adds r1, r0
movs r0, 0
bl sub_80C0CC8
movs r0, 0
bl CopyBgTilemapBufferToVram
movs r0, 0xFF
movs r1, 0x19
movs r2, 0x1
bl sub_80C48BC
movs r0, 0xFF
movs r1, 0x19
movs r2, 0x1
bl sub_80C4960
movs r0, 0x1
b _080C16AC
.align 2, 0
_080C15FC: .4byte 0x00001ccb
_080C1600: .4byte gUnknown_20399D4
_080C1604:
cmp r6, 0
beq _080C166C
ldr r2, _080C168C @ =gUnknown_20399D4
ldr r5, _080C1690 @ =gUnknown_20399D8
ldr r0, [r5]
ldr r4, _080C1694 @ =0x00001cca
adds r0, r4
ldrb r0, [r0]
lsls r1, r0, 2
adds r1, r0
lsls r0, r1, 4
subs r0, r1
lsls r0, 4
adds r0, 0x26
ldr r1, [r2]
adds r1, r0
movs r0, 0
bl sub_80C0CC8
ldr r0, _080C1698 @ =gUnknown_8418EB0
bl sub_80C4E74
movs r0, 0
bl CopyBgTilemapBufferToVram
movs r0, 0x3
bl CopyBgTilemapBufferToVram
movs r0, 0xFF
movs r1, 0x19
movs r2, 0x1
bl sub_80C48BC
movs r0, 0xFF
movs r1, 0x19
movs r2, 0x1
bl sub_80C4960
ldr r0, [r5]
adds r0, r4
ldrb r0, [r0]
movs r1, 0x19
movs r2, 0
bl sub_80C48BC
ldr r0, [r5]
adds r0, r4
ldrb r0, [r0]
movs r1, 0x19
movs r2, 0
bl sub_80C4960
_080C166C:
ldr r0, _080C1690 @ =gUnknown_20399D8
ldr r4, [r0]
ldr r3, _080C1694 @ =0x00001cca
adds r4, r3
bl sub_80C0E34
ldrb r1, [r4]
lsls r0, 24
lsrs r0, 24
cmp r1, r0
beq _080C169C
movs r0, 0x1
bl sub_80C4324
b _080C16A2
.align 2, 0
_080C168C: .4byte gUnknown_20399D4
_080C1690: .4byte gUnknown_20399D8
_080C1694: .4byte 0x00001cca
_080C1698: .4byte gUnknown_8418EB0
_080C169C:
movs r0, 0
bl sub_80C4324
_080C16A2:
movs r0, 0x1
mov r1, sp
bl sub_80C4CF0
movs r0, 0
_080C16AC:
add sp, 0x8
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_80C1478
thumb_func_start sub_80C16B8
sub_80C16B8: @ 80C16B8
ldr r1, _080C16C8 @ =gUnknown_20399D8
ldr r1, [r1]
ldr r2, _080C16CC @ =0x00001cd6
adds r1, r2
ldrh r1, [r1]
adds r1, 0x10
strh r1, [r0, 0x22]
bx lr
.align 2, 0
_080C16C8: .4byte gUnknown_20399D8
_080C16CC: .4byte 0x00001cd6
thumb_func_end sub_80C16B8
thumb_func_start sub_80C16D0
sub_80C16D0: @ 80C16D0
push {lr}
ldr r0, _080C16EC @ =gUnknown_20399D8
ldr r1, [r0]
ldr r2, _080C16F0 @ =0x00001cc9
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0x1
beq _080C1708
cmp r0, 0x1
bgt _080C16F4
cmp r0, 0
beq _080C16FA
b _080C1732
.align 2, 0
_080C16EC: .4byte gUnknown_20399D8
_080C16F0: .4byte 0x00001cc9
_080C16F4:
cmp r0, 0x2
beq _080C171C
b _080C1732
_080C16FA:
ldr r0, _080C1700 @ =gUnknown_83EF3C4
ldr r2, _080C1704 @ =0x000014b0
b _080C170C
.align 2, 0
_080C1700: .4byte gUnknown_83EF3C4
_080C1704: .4byte 0x000014b0
_080C1708:
ldr r0, _080C1714 @ =gUnknown_83EF450
ldr r2, _080C1718 @ =0x000018bc
_080C170C:
adds r1, r2
bl LZ77UnCompWram
b _080C1736
.align 2, 0
_080C1714: .4byte gUnknown_83EF450
_080C1718: .4byte 0x000018bc
_080C171C:
movs r0, 0
movs r1, 0x2
movs r2, 0x2
bl sub_80C1754
movs r0, 0x1
movs r1, 0x3
movs r2, 0x3
bl sub_80C1754
b _080C1736
_080C1732:
movs r0, 0x1
b _080C1746
_080C1736:
ldr r0, _080C174C @ =gUnknown_20399D8
ldr r1, [r0]
ldr r0, _080C1750 @ =0x00001cc9
adds r1, r0
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
movs r0, 0
_080C1746:
pop {r1}
bx r1
.align 2, 0
_080C174C: .4byte gUnknown_20399D8
_080C1750: .4byte 0x00001cc9
thumb_func_end sub_80C16D0
thumb_func_start sub_80C1754
sub_80C1754: @ 80C1754
push {lr}
lsls r0, 24
lsrs r0, 24
lsls r1, 16
lsrs r1, 16
lsls r2, 16
lsrs r2, 16
bl sub_80C176C
pop {r0}
bx r0
thumb_func_end sub_80C1754
thumb_func_start sub_80C176C
sub_80C176C: @ 80C176C
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
sub sp, 0x28
lsls r0, 24
lsrs r0, 24
lsls r1, 16
lsls r2, 16
lsrs r2, 16
ldr r3, _080C1848 @ =gUnknown_20399D8
mov r8, r3
lsls r5, r0, 6
adds r5, r0
lsls r5, 2
subs r5, r0
lsls r5, 2
ldr r4, _080C184C @ =0x000014b0
adds r0, r5, r4
ldr r3, [r3]
adds r0, r3, r0
str r0, [sp, 0x18]
movs r4, 0x80
lsls r4, 3
add r0, sp, 0x18
lsrs r6, r1, 16
mov r9, r6
orrs r1, r4
str r1, [r0, 0x4]
ldr r1, _080C1850 @ =gUnknown_83EF384
str r1, [sp, 0x20]
ldr r4, _080C1854 @ =0xffff0000
add r6, sp, 0x20
ldr r1, [r6, 0x4]
ands r1, r4
orrs r1, r2
str r1, [r6, 0x4]
mov r1, sp
movs r4, 0
mov r7, r9
strh r7, [r1]
strh r2, [r1, 0x2]
ldr r1, _080C1858 @ =gUnknown_83F1B24
str r1, [sp, 0x4]
ldr r1, _080C185C @ =gUnknown_83F1B38
str r1, [sp, 0x8]
str r4, [sp, 0xC]
ldr r1, _080C1860 @ =gDummySpriteAffineAnimTable
str r1, [sp, 0x10]
ldr r1, _080C1864 @ =sub_80C16B8
str r1, [sp, 0x14]
adds r3, r5
ldr r4, _080C1868 @ =0x000018b4
adds r1, r3, r4
strh r7, [r1]
ldr r1, _080C186C @ =0x000018b6
adds r3, r1
strh r2, [r3]
bl LoadSpriteSheet
adds r0, r6, 0
bl LoadSpritePalette
mov r3, r8
ldr r2, [r3]
adds r0, r2, r5
adds r4, 0x4
adds r0, r4
movs r6, 0
ldrsh r1, [r0, r6]
ldr r7, _080C1870 @ =0x00001cce
adds r0, r2, r7
ldr r3, _080C1874 @ =0x00001cca
adds r2, r3
ldrb r2, [r2]
lsls r2, 2
ldrh r0, [r0]
adds r2, r0
lsls r2, 19
asrs r2, 16
mov r0, sp
movs r3, 0
bl CreateSprite
lsls r0, 24
lsrs r0, 24
mov r4, r8
ldr r2, [r4]
ldr r6, _080C1878 @ =0x000018b0
adds r2, r6
adds r2, r5
lsls r1, r0, 4
adds r1, r0
lsls r1, 2
ldr r0, _080C187C @ =gSprites
adds r1, r0
str r1, [r2]
adds r1, 0x3E
ldrb r2, [r1]
movs r0, 0x5
negs r0, r0
ands r0, r2
strb r0, [r1]
add sp, 0x28
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080C1848: .4byte gUnknown_20399D8
_080C184C: .4byte 0x000014b0
_080C1850: .4byte gUnknown_83EF384
_080C1854: .4byte 0xffff0000
_080C1858: .4byte gUnknown_83F1B24
_080C185C: .4byte gUnknown_83F1B38
_080C1860: .4byte gDummySpriteAffineAnimTable
_080C1864: .4byte sub_80C16B8
_080C1868: .4byte 0x000018b4
_080C186C: .4byte 0x000018b6
_080C1870: .4byte 0x00001cce
_080C1874: .4byte 0x00001cca
_080C1878: .4byte 0x000018b0
_080C187C: .4byte gSprites
thumb_func_end sub_80C176C
thumb_func_start sub_80C1880
sub_80C1880: @ 80C1880
push {r4-r6,lr}
movs r5, 0
ldr r6, _080C18D0 @ =gUnknown_20399D8
_080C1886:
ldr r1, [r6]
lsls r0, r5, 6
adds r0, r5
lsls r0, 2
subs r0, r5
lsls r4, r0, 2
ldr r0, _080C18D4 @ =0x000018b0
adds r1, r0
adds r1, r4
ldr r0, [r1]
cmp r0, 0
beq _080C18BE
bl DestroySprite
ldr r0, [r6]
adds r0, r4
ldr r1, _080C18D8 @ =0x000018b4
adds r0, r1
ldrh r0, [r0]
bl FreeSpriteTilesByTag
ldr r0, [r6]
adds r0, r4
ldr r1, _080C18DC @ =0x000018b6
adds r0, r1
ldrh r0, [r0]
bl FreeSpritePaletteByTag
_080C18BE:
adds r0, r5, 0x1
lsls r0, 24
lsrs r5, r0, 24
cmp r5, 0x1
bls _080C1886
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_080C18D0: .4byte gUnknown_20399D8
_080C18D4: .4byte 0x000018b0
_080C18D8: .4byte 0x000018b4
_080C18DC: .4byte 0x000018b6
thumb_func_end sub_80C1880
thumb_func_start sub_80C18E0
sub_80C18E0: @ 80C18E0
push {r4,r5,lr}
lsls r0, 16
lsrs r4, r0, 16
movs r2, 0
ldr r3, _080C1904 @ =gUnknown_83F1B3C
adds r5, r3, 0
adds r5, 0x8
_080C18EE:
lsls r0, r2, 1
adds r0, r2
lsls r1, r0, 2
adds r0, r1, r3
ldrh r0, [r0]
cmp r0, r4
bne _080C1908
adds r0, r1, r5
ldr r0, [r0]
b _080C1914
.align 2, 0
_080C1904: .4byte gUnknown_83F1B3C
_080C1908:
adds r0, r2, 0x1
lsls r0, 24
lsrs r2, r0, 24
cmp r2, 0x12
bls _080C18EE
ldr r0, _080C191C @ =gUnknown_8418EC3
_080C1914:
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_080C191C: .4byte gUnknown_8418EC3
thumb_func_end sub_80C18E0
thumb_func_start sub_80C1920
sub_80C1920: @ 80C1920
push {r4,r5,lr}
lsls r0, 16
lsrs r4, r0, 16
movs r2, 0
ldr r3, _080C1940 @ =gUnknown_83F1B3C
adds r5, r3, 0x4
_080C192C:
lsls r0, r2, 1
adds r0, r2
lsls r1, r0, 2
adds r0, r1, r3
ldrh r0, [r0]
cmp r0, r4
bne _080C1944
adds r0, r1, r5
ldr r0, [r0]
b _080C1950
.align 2, 0
_080C1940: .4byte gUnknown_83F1B3C
_080C1944:
adds r0, r2, 0x1
lsls r0, 24
lsrs r2, r0, 24
cmp r2, 0x12
bls _080C192C
ldr r0, _080C1958 @ =gUnknown_8418EC3
_080C1950:
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_080C1958: .4byte gUnknown_8418EC3
thumb_func_end sub_80C1920
thumb_func_start sub_80C195C
sub_80C195C: @ 80C195C
push {r4-r6,lr}