pokeemerald/asm/tileset.s
2016-11-01 10:16:34 -07:00

1794 lines
28 KiB
ArmAsm

.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_80A0954
@ void sub_80A0954()
sub_80A0954: @ 80A0954
push {lr}
sub sp, 0x4
ldr r1, =0x03000f34
movs r0, 0
strb r0, [r1]
movs r0, 0
str r0, [sp]
ldr r1, =0x02037624
ldr r2, =0x0500003c
mov r0, sp
bl CpuSet
add sp, 0x4
pop {r0}
bx r0
.pool
thumb_func_end sub_80A0954
thumb_func_start sub_80A0980
sub_80A0980: @ 80A0980
push {r4-r6,lr}
adds r4, r0, 0
adds r5, r1, 0
lsls r2, 16
lsrs r6, r2, 16
ldr r3, =0x03000f34
ldrb r0, [r3]
cmp r0, 0x13
bhi _080A09C0
ldr r2, =0x02037624
adds r1, r0, 0
lsls r0, r1, 1
adds r0, r1
lsls r0, 2
adds r0, r2
str r4, [r0]
ldrb r1, [r3]
lsls r0, r1, 1
adds r0, r1
lsls r0, 2
adds r1, r2, 0x4
adds r0, r1
str r5, [r0]
ldrb r1, [r3]
lsls r0, r1, 1
adds r0, r1
lsls r0, 2
adds r0, r2
strh r6, [r0, 0x8]
ldrb r0, [r3]
adds r0, 0x1
strb r0, [r3]
_080A09C0:
pop {r4-r6}
pop {r0}
bx r0
.pool
thumb_func_end sub_80A0980
thumb_func_start sub_80A09D0
sub_80A09D0: @ 80A09D0
push {r4-r6,lr}
movs r3, 0
ldr r4, =0x03000f34
adds r6, r4, 0
ldrb r0, [r4]
cmp r3, r0
bge _080A0A02
ldr r2, =0x040000d4
ldr r1, =0x02037624
movs r5, 0x80
lsls r5, 24
_080A09E6:
ldr r0, [r1]
str r0, [r2]
ldr r0, [r1, 0x4]
str r0, [r2, 0x4]
ldrh r0, [r1, 0x8]
lsrs r0, 1
orrs r0, r5
str r0, [r2, 0x8]
ldr r0, [r2, 0x8]
adds r1, 0xC
adds r3, 0x1
ldrb r0, [r4]
cmp r3, r0
blt _080A09E6
_080A0A02:
movs r0, 0
strb r0, [r6]
pop {r4-r6}
pop {r0}
bx r0
.pool
thumb_func_end sub_80A09D0
thumb_func_start cur_mapheader_run_tileset_funcs_after_some_cpuset
cur_mapheader_run_tileset_funcs_after_some_cpuset: @ 80A0A18
push {lr}
bl sub_80A0954
bl cur_mapheader_run_tileset1_func
bl cur_mapheader_run_tileset2_func
pop {r0}
bx r0
thumb_func_end cur_mapheader_run_tileset_funcs_after_some_cpuset
thumb_func_start sub_80A0A2C
sub_80A0A2C: @ 80A0A2C
push {lr}
bl cur_mapheader_run_tileset2_func
pop {r0}
bx r0
thumb_func_end sub_80A0A2C
thumb_func_start sub_80A0A38
sub_80A0A38: @ 80A0A38
push {r4,lr}
bl sub_80A0954
ldr r2, =0x03000f36
ldrh r0, [r2]
adds r0, 0x1
strh r0, [r2]
ldr r1, =0x03000f38
lsls r0, 16
lsrs r0, 16
ldrh r1, [r1]
cmp r0, r1
bcc _080A0A56
movs r0, 0
strh r0, [r2]
_080A0A56:
ldr r4, =0x03000f3a
ldrh r0, [r4]
adds r0, 0x1
strh r0, [r4]
ldr r1, =0x03000f3c
lsls r0, 16
lsrs r0, 16
ldrh r1, [r1]
cmp r0, r1
bcc _080A0A6E
movs r0, 0
strh r0, [r4]
_080A0A6E:
ldr r0, =0x03000f40
ldr r1, [r0]
cmp r1, 0
beq _080A0A7C
ldrh r0, [r2]
bl _call_via_r1
_080A0A7C:
ldr r0, =0x03000f44
ldr r1, [r0]
cmp r1, 0
beq _080A0A8A
ldrh r0, [r4]
bl _call_via_r1
_080A0A8A:
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_80A0A38
thumb_func_start cur_mapheader_run_tileset1_func
cur_mapheader_run_tileset1_func: @ 80A0AA8
push {lr}
ldr r0, =0x03000f36
movs r1, 0
strh r1, [r0]
ldr r0, =0x03000f38
strh r1, [r0]
ldr r1, =0x03000f40
movs r0, 0
str r0, [r1]
ldr r0, =0x02037318
ldr r0, [r0]
ldr r0, [r0, 0x10]
cmp r0, 0
beq _080A0ACE
ldr r0, [r0, 0x14]
cmp r0, 0
beq _080A0ACE
bl _call_via_r0
_080A0ACE:
pop {r0}
bx r0
.pool
thumb_func_end cur_mapheader_run_tileset1_func
thumb_func_start cur_mapheader_run_tileset2_func
cur_mapheader_run_tileset2_func: @ 80A0AE4
push {lr}
ldr r0, =0x03000f3a
movs r1, 0
strh r1, [r0]
ldr r0, =0x03000f3c
strh r1, [r0]
ldr r1, =0x03000f44
movs r0, 0
str r0, [r1]
ldr r0, =0x02037318
ldr r0, [r0]
ldr r0, [r0, 0x14]
cmp r0, 0
beq _080A0B0A
ldr r0, [r0, 0x14]
cmp r0, 0
beq _080A0B0A
bl _call_via_r0
_080A0B0A:
pop {r0}
bx r0
.pool
thumb_func_end cur_mapheader_run_tileset2_func
thumb_func_start TilesetCb_General
TilesetCb_General: @ 80A0B20
ldr r1, =0x03000f36
movs r0, 0
strh r0, [r1]
ldr r1, =0x03000f38
movs r2, 0x80
lsls r2, 1
adds r0, r2, 0
strh r0, [r1]
ldr r1, =0x03000f40
ldr r0, =sub_80A0B70
str r0, [r1]
bx lr
.pool
thumb_func_end TilesetCb_General
thumb_func_start TilesetCb_InsideBuilding
TilesetCb_InsideBuilding: @ 80A0B48
ldr r1, =0x03000f36
movs r0, 0
strh r0, [r1]
ldr r1, =0x03000f38
movs r2, 0x80
lsls r2, 1
adds r0, r2, 0
strh r0, [r1]
ldr r1, =0x03000f40
ldr r0, =sub_80A0BB4
str r0, [r1]
bx lr
.pool
thumb_func_end TilesetCb_InsideBuilding
thumb_func_start sub_80A0B70
sub_80A0B70: @ 80A0B70
push {r4,r5,lr}
lsls r5, r0, 16
movs r0, 0xF0
lsls r0, 12
ands r0, r5
lsrs r4, r0, 16
cmp r4, 0
bne _080A0B86
lsrs r0, r5, 20
bl sub_80A0BCC
_080A0B86:
cmp r4, 0x1
bne _080A0B90
lsrs r0, r5, 20
bl sub_80A0BF4
_080A0B90:
cmp r4, 0x2
bne _080A0B9A
lsrs r0, r5, 20
bl sub_80A0C1C
_080A0B9A:
cmp r4, 0x3
bne _080A0BA4
lsrs r0, r5, 20
bl sub_80A0C44
_080A0BA4:
cmp r4, 0x4
bne _080A0BAE
lsrs r0, r5, 20
bl sub_80A12AC
_080A0BAE:
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_80A0B70
thumb_func_start sub_80A0BB4
sub_80A0BB4: @ 80A0BB4
push {lr}
lsls r1, r0, 16
movs r0, 0xE0
lsls r0, 11
ands r0, r1
cmp r0, 0
bne _080A0BC8
lsrs r0, r1, 19
bl sub_80A1688
_080A0BC8:
pop {r0}
bx r0
thumb_func_end sub_80A0BB4
thumb_func_start sub_80A0BCC
sub_80A0BCC: @ 80A0BCC
push {lr}
lsls r0, 16
movs r1, 0xC0
lsls r1, 10
ands r1, r0
ldr r0, =gUnknown_08510764
lsrs r1, 14
adds r1, r0
ldr r0, [r1]
ldr r1, =0x06003f80
movs r2, 0x80
bl sub_80A0980
pop {r0}
bx r0
.pool
thumb_func_end sub_80A0BCC
thumb_func_start sub_80A0BF4
sub_80A0BF4: @ 80A0BF4
push {lr}
lsls r0, 16
lsrs r0, 16
movs r1, 0x7
ands r0, r1
ldr r1, =gUnknown_08512574
lsls r0, 2
adds r0, r1
ldr r0, [r0]
ldr r1, =0x06003600
movs r2, 0xF0
lsls r2, 2
bl sub_80A0980
pop {r0}
bx r0
.pool
thumb_func_end sub_80A0BF4
thumb_func_start sub_80A0C1C
sub_80A0C1C: @ 80A0C1C
push {lr}
lsls r0, 16
movs r1, 0xE0
lsls r1, 11
ands r1, r0
ldr r0, =gUnknown_08512E54
lsrs r1, 14
adds r1, r0
ldr r0, [r1]
ldr r1, =0x06003a00
movs r2, 0xA0
lsls r2, 1
bl sub_80A0980
pop {r0}
bx r0
.pool
thumb_func_end sub_80A0C1C
thumb_func_start sub_80A0C44
sub_80A0C44: @ 80A0C44
push {lr}
lsls r0, 16
movs r1, 0xC0
lsls r1, 10
ands r1, r0
ldr r0, =gUnknown_08513174
lsrs r1, 14
adds r1, r0
ldr r0, [r1]
ldr r1, =0x06003e00
movs r2, 0xC0
bl sub_80A0980
pop {r0}
bx r0
.pool
thumb_func_end sub_80A0C44
thumb_func_start TilesetCb_Petalburg
TilesetCb_Petalburg: @ 80A0C6C
ldr r1, =0x03000f3a
movs r0, 0
strh r0, [r1]
ldr r1, =0x03000f3c
ldr r0, =0x03000f38
ldrh r0, [r0]
strh r0, [r1]
ldr r1, =0x03000f44
movs r0, 0
str r0, [r1]
bx lr
.pool
thumb_func_end TilesetCb_Petalburg
thumb_func_start TilesetCb_Rustboro
TilesetCb_Rustboro: @ 80A0C94
ldr r1, =0x03000f3a
movs r0, 0
strh r0, [r1]
ldr r1, =0x03000f3c
ldr r0, =0x03000f38
ldrh r0, [r0]
strh r0, [r1]
ldr r1, =0x03000f44
ldr r0, =sub_80A103C
str r0, [r1]
bx lr
.pool
thumb_func_end TilesetCb_Rustboro
thumb_func_start TilesetCb_Dewford
TilesetCb_Dewford: @ 80A0CC0
ldr r1, =0x03000f3a
movs r0, 0
strh r0, [r1]
ldr r1, =0x03000f3c
ldr r0, =0x03000f38
ldrh r0, [r0]
strh r0, [r1]
ldr r1, =0x03000f44
ldr r0, =sub_80A10B8
str r0, [r1]
bx lr
.pool
thumb_func_end TilesetCb_Dewford
thumb_func_start TilesetCb_Slateport
TilesetCb_Slateport: @ 80A0CEC
ldr r1, =0x03000f3a
movs r0, 0
strh r0, [r1]
ldr r1, =0x03000f3c
ldr r0, =0x03000f38
ldrh r0, [r0]
strh r0, [r1]
ldr r1, =0x03000f44
ldr r0, =sub_80A10D0
str r0, [r1]
bx lr
.pool
thumb_func_end TilesetCb_Slateport
thumb_func_start TilesetCb_Mauville
TilesetCb_Mauville: @ 80A0D18
ldr r1, =0x03000f3a
ldr r0, =0x03000f36
ldrh r0, [r0]
strh r0, [r1]
ldr r1, =0x03000f3c
ldr r0, =0x03000f38
ldrh r0, [r0]
strh r0, [r1]
ldr r1, =0x03000f44
ldr r0, =sub_80A10E8
str r0, [r1]
bx lr
.pool
thumb_func_end TilesetCb_Mauville
thumb_func_start TilesetCb_Lavaridge
TilesetCb_Lavaridge: @ 80A0D48
ldr r1, =0x03000f3a
movs r0, 0
strh r0, [r1]
ldr r1, =0x03000f3c
ldr r0, =0x03000f38
ldrh r0, [r0]
strh r0, [r1]
ldr r1, =0x03000f44
ldr r0, =sub_80A115C
str r0, [r1]
bx lr
.pool
thumb_func_end TilesetCb_Lavaridge
thumb_func_start TilesetCb_Fallarbor
TilesetCb_Fallarbor: @ 80A0D74
ldr r1, =0x03000f3a
movs r0, 0
strh r0, [r1]
ldr r1, =0x03000f3c
ldr r0, =0x03000f38
ldrh r0, [r0]
strh r0, [r1]
ldr r1, =0x03000f44
movs r0, 0
str r0, [r1]
bx lr
.pool
thumb_func_end TilesetCb_Fallarbor
thumb_func_start TilesetCb_Fortree
TilesetCb_Fortree: @ 80A0D9C
ldr r1, =0x03000f3a
movs r0, 0
strh r0, [r1]
ldr r1, =0x03000f3c
ldr r0, =0x03000f38
ldrh r0, [r0]
strh r0, [r1]
ldr r1, =0x03000f44
movs r0, 0
str r0, [r1]
bx lr
.pool
thumb_func_end TilesetCb_Fortree
thumb_func_start TilesetCb_Lilycove
TilesetCb_Lilycove: @ 80A0DC4
ldr r1, =0x03000f3a
movs r0, 0
strh r0, [r1]
ldr r1, =0x03000f3c
ldr r0, =0x03000f38
ldrh r0, [r0]
strh r0, [r1]
ldr r1, =0x03000f44
movs r0, 0
str r0, [r1]
bx lr
.pool
thumb_func_end TilesetCb_Lilycove
thumb_func_start TilesetCb_Mossdeep
TilesetCb_Mossdeep: @ 80A0DEC
ldr r1, =0x03000f3a
movs r0, 0
strh r0, [r1]
ldr r1, =0x03000f3c
ldr r0, =0x03000f38
ldrh r0, [r0]
strh r0, [r1]
ldr r1, =0x03000f44
movs r0, 0
str r0, [r1]
bx lr
.pool
thumb_func_end TilesetCb_Mossdeep
thumb_func_start TilesetCb_EverGrande
TilesetCb_EverGrande: @ 80A0E14
ldr r1, =0x03000f3a
movs r0, 0
strh r0, [r1]
ldr r1, =0x03000f3c
ldr r0, =0x03000f38
ldrh r0, [r0]
strh r0, [r1]
ldr r1, =0x03000f44
ldr r0, =sub_80A1188
str r0, [r1]
bx lr
.pool
thumb_func_end TilesetCb_EverGrande
thumb_func_start TilesetCb_Pacifidlog
TilesetCb_Pacifidlog: @ 80A0E40
ldr r1, =0x03000f3a
ldr r0, =0x03000f36
ldrh r0, [r0]
strh r0, [r1]
ldr r1, =0x03000f3c
ldr r0, =0x03000f38
ldrh r0, [r0]
strh r0, [r1]
ldr r1, =0x03000f44
ldr r0, =sub_80A11FC
str r0, [r1]
bx lr
.pool
thumb_func_end TilesetCb_Pacifidlog
thumb_func_start TilesetCb_Sootopolis
TilesetCb_Sootopolis: @ 80A0E70
ldr r1, =0x03000f3a
movs r0, 0
strh r0, [r1]
ldr r1, =0x03000f3c
ldr r0, =0x03000f38
ldrh r0, [r0]
strh r0, [r1]
ldr r1, =0x03000f44
ldr r0, =sub_80A122C
str r0, [r1]
bx lr
.pool
thumb_func_end TilesetCb_Sootopolis
thumb_func_start TilesetCb_BattleFrontierOutsideWest
TilesetCb_BattleFrontierOutsideWest: @ 80A0E9C
ldr r1, =0x03000f3a
movs r0, 0
strh r0, [r1]
ldr r1, =0x03000f3c
ldr r0, =0x03000f38
ldrh r0, [r0]
strh r0, [r1]
ldr r1, =0x03000f44
ldr r0, =sub_80A127C
str r0, [r1]
bx lr
.pool
thumb_func_end TilesetCb_BattleFrontierOutsideWest
thumb_func_start TilesetCb_BattleFrontierOutsideEast
TilesetCb_BattleFrontierOutsideEast: @ 80A0EC8
ldr r1, =0x03000f3a
movs r0, 0
strh r0, [r1]
ldr r1, =0x03000f3c
ldr r0, =0x03000f38
ldrh r0, [r0]
strh r0, [r1]
ldr r1, =0x03000f44
ldr r0, =sub_80A1294
str r0, [r1]
bx lr
.pool
thumb_func_end TilesetCb_BattleFrontierOutsideEast
thumb_func_start TilesetCb_Underwater
TilesetCb_Underwater: @ 80A0EF4
ldr r1, =0x03000f3a
movs r0, 0
strh r0, [r1]
ldr r1, =0x03000f3c
movs r0, 0x80
strh r0, [r1]
ldr r1, =0x03000f44
ldr r0, =sub_80A1244
str r0, [r1]
bx lr
.pool
thumb_func_end TilesetCb_Underwater
thumb_func_start TilesetCb_SootopolisGym
TilesetCb_SootopolisGym: @ 80A0F18
ldr r1, =0x03000f3a
movs r0, 0
strh r0, [r1]
ldr r1, =0x03000f3c
movs r0, 0xF0
strh r0, [r1]
ldr r1, =0x03000f44
ldr r0, =sub_80A15D8
str r0, [r1]
bx lr
.pool
thumb_func_end TilesetCb_SootopolisGym
thumb_func_start TilesetCb_Cave
TilesetCb_Cave: @ 80A0F3C
ldr r1, =0x03000f3a
movs r0, 0
strh r0, [r1]
ldr r1, =0x03000f3c
ldr r0, =0x03000f38
ldrh r0, [r0]
strh r0, [r1]
ldr r1, =0x03000f44
ldr r0, =sub_80A1260
str r0, [r1]
bx lr
.pool
thumb_func_end TilesetCb_Cave
thumb_func_start TilesetCb_EliteFour
TilesetCb_EliteFour: @ 80A0F68
ldr r1, =0x03000f3a
movs r0, 0
strh r0, [r1]
ldr r1, =0x03000f3c
movs r0, 0x80
strh r0, [r1]
ldr r1, =0x03000f44
ldr r0, =sub_80A15F0
str r0, [r1]
bx lr
.pool
thumb_func_end TilesetCb_EliteFour
thumb_func_start TilesetCb_MauvilleGym
TilesetCb_MauvilleGym: @ 80A0F8C
ldr r1, =0x03000f3a
movs r0, 0
strh r0, [r1]
ldr r1, =0x03000f3c
ldr r0, =0x03000f38
ldrh r0, [r0]
strh r0, [r1]
ldr r1, =0x03000f44
ldr r0, =sub_80A15C0
str r0, [r1]
bx lr
.pool
thumb_func_end TilesetCb_MauvilleGym
thumb_func_start TilesetCb_BikeShop
TilesetCb_BikeShop: @ 80A0FB8
ldr r1, =0x03000f3a
movs r0, 0
strh r0, [r1]
ldr r1, =0x03000f3c
ldr r0, =0x03000f38
ldrh r0, [r0]
strh r0, [r1]
ldr r1, =0x03000f44
ldr r0, =sub_80A161C
str r0, [r1]
bx lr
.pool
thumb_func_end TilesetCb_BikeShop
thumb_func_start TilesetCb_BattlePyramid
TilesetCb_BattlePyramid: @ 80A0FE4
ldr r1, =0x03000f3a
movs r0, 0
strh r0, [r1]
ldr r1, =0x03000f3c
ldr r0, =0x03000f38
ldrh r0, [r0]
strh r0, [r1]
ldr r1, =0x03000f44
ldr r0, =sub_80A1634
str r0, [r1]
bx lr
.pool
thumb_func_end TilesetCb_BattlePyramid
thumb_func_start TilesetCb_BattleDome
TilesetCb_BattleDome: @ 80A1010
ldr r1, =0x03000f3a
movs r0, 0
strh r0, [r1]
ldr r1, =0x03000f3c
ldr r0, =0x03000f38
ldrh r0, [r0]
strh r0, [r1]
ldr r1, =0x03000f44
ldr r0, =sub_80A1658
str r0, [r1]
bx lr
.pool
thumb_func_end TilesetCb_BattleDome
thumb_func_start sub_80A103C
sub_80A103C: @ 80A103C
push {r4-r6,lr}
lsls r5, r0, 16
movs r0, 0xE0
lsls r0, 11
ands r0, r5
lsrs r6, r0, 16
cmp r6, 0
bne _080A105C
lsrs r4, r5, 19
adds r0, r4, 0
movs r1, 0
bl sub_80A1434
adds r0, r4, 0
bl sub_80A1470
_080A105C:
cmp r6, 0x1
bne _080A1068
lsrs r0, r5, 19
movs r1, 0x1
bl sub_80A1434
_080A1068:
cmp r6, 0x2
bne _080A1074
lsrs r0, r5, 19
movs r1, 0x2
bl sub_80A1434
_080A1074:
cmp r6, 0x3
bne _080A1080
lsrs r0, r5, 19
movs r1, 0x3
bl sub_80A1434
_080A1080:
cmp r6, 0x4
bne _080A108C
lsrs r0, r5, 19
movs r1, 0x4
bl sub_80A1434
_080A108C:
cmp r6, 0x5
bne _080A1098
lsrs r0, r5, 19
movs r1, 0x5
bl sub_80A1434
_080A1098:
cmp r6, 0x6
bne _080A10A4
lsrs r0, r5, 19
movs r1, 0x6
bl sub_80A1434
_080A10A4:
cmp r6, 0x7
bne _080A10B0
lsrs r0, r5, 19
movs r1, 0x7
bl sub_80A1434
_080A10B0:
pop {r4-r6}
pop {r0}
bx r0
thumb_func_end sub_80A103C
thumb_func_start sub_80A10B8
sub_80A10B8: @ 80A10B8
push {lr}
lsls r1, r0, 16
movs r0, 0xE0
lsls r0, 11
ands r0, r1
cmp r0, 0
bne _080A10CC
lsrs r0, r1, 19
bl sub_80A1520
_080A10CC:
pop {r0}
bx r0
thumb_func_end sub_80A10B8
thumb_func_start sub_80A10D0
sub_80A10D0: @ 80A10D0
push {lr}
lsls r1, r0, 16
movs r0, 0xF0
lsls r0, 12
ands r0, r1
cmp r0, 0
bne _080A10E4
lsrs r0, r1, 20
bl sub_80A1598
_080A10E4:
pop {r0}
bx r0
thumb_func_end sub_80A10D0
thumb_func_start sub_80A10E8
sub_80A10E8: @ 80A10E8
push {r4,r5,lr}
lsls r4, r0, 16
movs r0, 0xE0
lsls r0, 11
ands r0, r4
lsrs r5, r0, 16
cmp r5, 0
bne _080A1100
lsrs r0, r4, 19
movs r1, 0
bl sub_80A1394
_080A1100:
cmp r5, 0x1
bne _080A110C
lsrs r0, r4, 19
movs r1, 0x1
bl sub_80A1394
_080A110C:
cmp r5, 0x2
bne _080A1118
lsrs r0, r4, 19
movs r1, 0x2
bl sub_80A1394
_080A1118:
cmp r5, 0x3
bne _080A1124
lsrs r0, r4, 19
movs r1, 0x3
bl sub_80A1394
_080A1124:
cmp r5, 0x4
bne _080A1130
lsrs r0, r4, 19
movs r1, 0x4
bl sub_80A1394
_080A1130:
cmp r5, 0x5
bne _080A113C
lsrs r0, r4, 19
movs r1, 0x5
bl sub_80A1394
_080A113C:
cmp r5, 0x6
bne _080A1148
lsrs r0, r4, 19
movs r1, 0x6
bl sub_80A1394
_080A1148:
cmp r5, 0x7
bne _080A1154
lsrs r0, r4, 19
movs r1, 0x7
bl sub_80A1394
_080A1154:
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_80A10E8
thumb_func_start sub_80A115C
sub_80A115C: @ 80A115C
push {r4,r5,lr}
lsls r4, r0, 16
movs r0, 0xF0
lsls r0, 12
ands r0, r4
lsrs r5, r0, 16
cmp r5, 0
bne _080A1176
lsrs r0, r4, 20
lsls r0, 24
lsrs r0, 24
bl sub_80A12D4
_080A1176:
cmp r5, 0x1
bne _080A1180
lsrs r0, r4, 20
bl sub_80A1498
_080A1180:
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_80A115C
thumb_func_start sub_80A1188
sub_80A1188: @ 80A1188
push {r4,r5,lr}
lsls r4, r0, 16
movs r0, 0xE0
lsls r0, 11
ands r0, r4
lsrs r5, r0, 16
cmp r5, 0
bne _080A11A0
lsrs r0, r4, 19
movs r1, 0
bl sub_80A14C0
_080A11A0:
cmp r5, 0x1
bne _080A11AC
lsrs r0, r4, 19
movs r1, 0x1
bl sub_80A14C0
_080A11AC:
cmp r5, 0x2
bne _080A11B8
lsrs r0, r4, 19
movs r1, 0x2
bl sub_80A14C0
_080A11B8:
cmp r5, 0x3
bne _080A11C4
lsrs r0, r4, 19
movs r1, 0x3
bl sub_80A14C0
_080A11C4:
cmp r5, 0x4
bne _080A11D0
lsrs r0, r4, 19
movs r1, 0x4
bl sub_80A14C0
_080A11D0:
cmp r5, 0x5
bne _080A11DC
lsrs r0, r4, 19
movs r1, 0x5
bl sub_80A14C0
_080A11DC:
cmp r5, 0x6
bne _080A11E8
lsrs r0, r4, 19
movs r1, 0x6
bl sub_80A14C0
_080A11E8:
cmp r5, 0x7
bne _080A11F4
lsrs r0, r4, 19
movs r1, 0x7
bl sub_80A14C0
_080A11F4:
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_80A1188
thumb_func_start sub_80A11FC
sub_80A11FC: @ 80A11FC
push {r4,r5,lr}
lsls r4, r0, 16
movs r0, 0xF0
lsls r0, 12
ands r0, r4
lsrs r5, r0, 16
cmp r5, 0
bne _080A1216
lsrs r0, r4, 20
lsls r0, 24
lsrs r0, 24
bl sub_80A131C
_080A1216:
cmp r5, 0x1
bne _080A1224
lsrs r0, r4, 20
lsls r0, 24
lsrs r0, 24
bl sub_80A136C
_080A1224:
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_80A11FC
thumb_func_start sub_80A122C
sub_80A122C: @ 80A122C
push {lr}
lsls r1, r0, 16
movs r0, 0xF0
lsls r0, 12
ands r0, r1
cmp r0, 0
bne _080A1240
lsrs r0, r1, 20
bl sub_80A1798
_080A1240:
pop {r0}
bx r0
thumb_func_end sub_80A122C
thumb_func_start sub_80A1244
sub_80A1244: @ 80A1244
push {lr}
lsls r1, r0, 16
movs r0, 0xF0
lsls r0, 12
ands r0, r1
cmp r0, 0
bne _080A125C
lsrs r0, r1, 20
lsls r0, 24
lsrs r0, 24
bl sub_80A1344
_080A125C:
pop {r0}
bx r0
thumb_func_end sub_80A1244
thumb_func_start sub_80A1260
sub_80A1260: @ 80A1260
push {lr}
lsls r1, r0, 16
movs r0, 0xF0
lsls r0, 12
ands r0, r1
lsrs r0, 16
cmp r0, 0x1
bne _080A1276
lsrs r0, r1, 20
bl sub_80A14F8
_080A1276:
pop {r0}
bx r0
thumb_func_end sub_80A1260
thumb_func_start sub_80A127C
sub_80A127C: @ 80A127C
push {lr}
lsls r1, r0, 16
movs r0, 0xE0
lsls r0, 11
ands r0, r1
cmp r0, 0
bne _080A1290
lsrs r0, r1, 19
bl sub_80A1548
_080A1290:
pop {r0}
bx r0
thumb_func_end sub_80A127C
thumb_func_start sub_80A1294
sub_80A1294: @ 80A1294
push {lr}
lsls r1, r0, 16
movs r0, 0xE0
lsls r0, 11
ands r0, r1
cmp r0, 0
bne _080A12A8
lsrs r0, r1, 19
bl sub_80A1570
_080A12A8:
pop {r0}
bx r0
thumb_func_end sub_80A1294
thumb_func_start sub_80A12AC
sub_80A12AC: @ 80A12AC
push {lr}
lsls r0, 16
movs r1, 0xC0
lsls r1, 10
ands r1, r0
ldr r0, =gUnknown_08513684
lsrs r1, 14
adds r1, r0
ldr r0, [r1]
ldr r1, =0x06003c00
movs r2, 0xA0
lsls r2, 1
bl sub_80A0980
pop {r0}
bx r0
.pool
thumb_func_end sub_80A12AC
thumb_func_start sub_80A12D4
sub_80A12D4: @ 80A12D4
push {r4,r5,lr}
lsls r0, 24
lsrs r4, r0, 24
movs r0, 0x3
ands r0, r4
ldr r5, =gUnknown_08513894
lsls r0, 2
adds r0, r5
ldr r0, [r0]
ldr r1, =0x06006400
movs r2, 0x80
bl sub_80A0980
adds r1, r4, 0x2
adds r0, r1, 0
asrs r0, 2
lsls r0, 2
subs r0, r1, r0
lsls r0, 24
lsrs r0, 22
adds r0, r5
ldr r0, [r0]
ldr r1, =0x06006480
movs r2, 0x80
bl sub_80A0980
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_80A12D4
thumb_func_start sub_80A131C
sub_80A131C: @ 80A131C
push {lr}
lsls r0, 24
movs r1, 0xC0
lsls r1, 18
ands r1, r0
ldr r0, =gUnknown_085143E4
lsrs r1, 22
adds r1, r0
ldr r0, [r1]
ldr r1, =0x06007a00
movs r2, 0xF0
lsls r2, 2
bl sub_80A0980
pop {r0}
bx r0
.pool
thumb_func_end sub_80A131C
thumb_func_start sub_80A1344
sub_80A1344: @ 80A1344
push {lr}
lsls r0, 24
movs r1, 0xC0
lsls r1, 18
ands r1, r0
ldr r0, =gUnknown_085145F4
lsrs r1, 22
adds r1, r0
ldr r0, [r1]
ldr r1, =0x06007e00
movs r2, 0x80
bl sub_80A0980
pop {r0}
bx r0
.pool
thumb_func_end sub_80A1344
thumb_func_start sub_80A136C
sub_80A136C: @ 80A136C
push {lr}
lsls r0, 24
movs r1, 0xE0
lsls r1, 19
ands r1, r0
ldr r0, =gUnknown_08514E04
lsrs r1, 22
adds r1, r0
ldr r0, [r1]
ldr r1, =0x06007e00
movs r2, 0x80
lsls r2, 1
bl sub_80A0980
pop {r0}
bx r0
.pool
thumb_func_end sub_80A136C
thumb_func_start sub_80A1394
sub_80A1394: @ 80A1394
push {r4-r6,lr}
lsls r0, 16
lsrs r5, r0, 16
lsls r1, 24
lsrs r6, r1, 24
subs r0, r5, r6
lsls r0, 16
lsrs r5, r0, 16
cmp r5, 0xB
bhi _080A13F0
adds r0, r5, 0
movs r1, 0xC
bl __umodsi3
adds r4, r0, 0
lsls r4, 16
ldr r0, =gUnknown_08515384
lsrs r4, 14
adds r0, r4, r0
ldr r0, [r0]
ldr r1, =gUnknown_08515344
lsls r5, r6, 2
adds r1, r5, r1
ldr r1, [r1]
movs r2, 0x80
bl sub_80A0980
ldr r0, =gUnknown_085153B4
adds r4, r0
ldr r0, [r4]
ldr r1, =gUnknown_08515364
adds r5, r1
ldr r1, [r5]
movs r2, 0x80
bl sub_80A0980
b _080A141C
.pool
_080A13F0:
movs r0, 0x3
ands r5, r0
ldr r0, =gUnknown_085153E4
lsls r5, 2
adds r0, r5, r0
ldr r0, [r0]
ldr r1, =gUnknown_08515344
lsls r4, r6, 2
adds r1, r4, r1
ldr r1, [r1]
movs r2, 0x80
bl sub_80A0980
ldr r0, =gUnknown_085153F4
adds r5, r0
ldr r0, [r5]
ldr r1, =gUnknown_08515364
adds r4, r1
ldr r1, [r4]
movs r2, 0x80
bl sub_80A0980
_080A141C:
pop {r4-r6}
pop {r0}
bx r0
.pool
thumb_func_end sub_80A1394
thumb_func_start sub_80A1434
sub_80A1434: @ 80A1434
push {lr}
lsls r0, 16
lsrs r0, 16
lsls r1, 24
lsrs r3, r1, 24
subs r0, r3
lsls r0, 16
movs r1, 0xE0
lsls r1, 11
ands r1, r0
ldr r0, =gUnknown_08515824
lsrs r1, 14
adds r1, r0
ldr r2, [r1]
cmp r2, 0
beq _080A1464
ldr r0, =gUnknown_08515804
lsls r1, r3, 2
adds r1, r0
ldr r1, [r1]
adds r0, r2, 0
movs r2, 0x80
bl sub_80A0980
_080A1464:
pop {r0}
bx r0
.pool
thumb_func_end sub_80A1434
thumb_func_start sub_80A1470
sub_80A1470: @ 80A1470
push {lr}
lsls r0, 16
lsrs r0, 16
movs r1, 0x1
ands r0, r1
ldr r1, =gUnknown_08515964
lsls r0, 2
adds r0, r1
ldr r0, [r0]
ldr r1, =0x06007800
movs r2, 0x80
bl sub_80A0980
pop {r0}
bx r0
.pool
thumb_func_end sub_80A1470
thumb_func_start sub_80A1498
sub_80A1498: @ 80A1498
push {lr}
lsls r0, 16
movs r1, 0xC0
lsls r1, 10
ands r1, r0
ldr r0, =gUnknown_08515D8C
lsrs r1, 14
adds r1, r0
ldr r0, [r1]
ldr r1, =0x06005400
movs r2, 0x80
bl sub_80A0980
pop {r0}
bx r0
.pool
thumb_func_end sub_80A1498
thumb_func_start sub_80A14C0
sub_80A14C0: @ 80A14C0
push {lr}
lsls r0, 16
lsrs r0, 16
lsls r1, 24
lsrs r1, 24
subs r0, r1
lsls r0, 16
movs r2, 0xE0
lsls r2, 11
ands r2, r0
ldr r0, =gUnknown_085161DC
lsrs r2, 14
adds r2, r0
ldr r0, [r2]
ldr r2, =gUnknown_085161BC
lsls r1, 2
adds r1, r2
ldr r1, [r1]
movs r2, 0x80
bl sub_80A0980
pop {r0}
bx r0
.pool
thumb_func_end sub_80A14C0
thumb_func_start sub_80A14F8
sub_80A14F8: @ 80A14F8
push {lr}
lsls r0, 16
movs r1, 0xC0
lsls r1, 10
ands r1, r0
ldr r0, =gUnknown_08515D8C
lsrs r1, 14
adds r1, r0
ldr r0, [r1]
ldr r1, =0x06007400
movs r2, 0x80
bl sub_80A0980
pop {r0}
bx r0
.pool
thumb_func_end sub_80A14F8
thumb_func_start sub_80A1520
sub_80A1520: @ 80A1520
push {lr}
lsls r0, 16
movs r1, 0xC0
lsls r1, 10
ands r1, r0
ldr r0, =gUnknown_085164FC
lsrs r1, 14
adds r1, r0
ldr r0, [r1]
ldr r1, =0x06005540
movs r2, 0xC0
bl sub_80A0980
pop {r0}
bx r0
.pool
thumb_func_end sub_80A1520
thumb_func_start sub_80A1548
sub_80A1548: @ 80A1548
push {lr}
lsls r0, 16
movs r1, 0xC0
lsls r1, 10
ands r1, r0
ldr r0, =gUnknown_0851680C
lsrs r1, 14
adds r1, r0
ldr r0, [r1]
ldr r1, =0x06005b40
movs r2, 0xC0
bl sub_80A0980
pop {r0}
bx r0
.pool
thumb_func_end sub_80A1548
thumb_func_start sub_80A1570
sub_80A1570: @ 80A1570
push {lr}
lsls r0, 16
movs r1, 0xC0
lsls r1, 10
ands r1, r0
ldr r0, =gUnknown_08516B1C
lsrs r1, 14
adds r1, r0
ldr r0, [r1]
ldr r1, =0x06005b40
movs r2, 0xC0
bl sub_80A0980
pop {r0}
bx r0
.pool
thumb_func_end sub_80A1570
thumb_func_start sub_80A1598
sub_80A1598: @ 80A1598
push {lr}
lsls r0, 16
movs r1, 0xC0
lsls r1, 10
ands r1, r0
ldr r0, =gUnknown_08516D2C
lsrs r1, 14
adds r1, r0
ldr r0, [r1]
ldr r1, =0x06005c00
movs r2, 0x80
bl sub_80A0980
pop {r0}
bx r0
.pool
thumb_func_end sub_80A1598
thumb_func_start sub_80A15C0
sub_80A15C0: @ 80A15C0
push {lr}
lsls r2, r0, 16
lsrs r0, r2, 16
movs r1, 0x1
ands r0, r1
cmp r0, 0
bne _080A15D4
lsrs r0, r2, 17
bl sub_80A1748
_080A15D4:
pop {r0}
bx r0
thumb_func_end sub_80A15C0
thumb_func_start sub_80A15D8
sub_80A15D8: @ 80A15D8
push {lr}
lsls r1, r0, 16
movs r0, 0xE0
lsls r0, 11
ands r0, r1
cmp r0, 0
bne _080A15EC
lsrs r0, r1, 19
bl sub_80A16B0
_080A15EC:
pop {r0}
bx r0
thumb_func_end sub_80A15D8
thumb_func_start sub_80A15F0
sub_80A15F0: @ 80A15F0
push {r4,r5,lr}
lsls r4, r0, 16
lsrs r0, r4, 16
adds r5, r0, 0
movs r0, 0x3F
ands r0, r5
cmp r0, 0x1
bne _080A1606
lsrs r0, r4, 22
bl sub_80A1720
_080A1606:
movs r0, 0x7
ands r0, r5
cmp r0, 0x1
bne _080A1614
lsrs r0, r4, 19
bl sub_80A16F8
_080A1614:
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_80A15F0
thumb_func_start sub_80A161C
sub_80A161C: @ 80A161C
push {lr}
lsls r1, r0, 16
movs r0, 0xC0
lsls r0, 10
ands r0, r1
cmp r0, 0
bne _080A1630
lsrs r0, r1, 18
bl sub_80A1770
_080A1630:
pop {r0}
bx r0
thumb_func_end sub_80A161C
thumb_func_start sub_80A1634
sub_80A1634: @ 80A1634
push {r4,lr}
lsls r4, r0, 16
movs r0, 0xE0
lsls r0, 11
ands r0, r4
cmp r0, 0
bne _080A1650
lsrs r4, 19
adds r0, r4, 0
bl sub_80A17C0
adds r0, r4, 0
bl sub_80A17EC
_080A1650:
pop {r4}
pop {r0}
bx r0
thumb_func_end sub_80A1634
thumb_func_start sub_80A1658
sub_80A1658: @ 80A1658
push {lr}
lsls r1, r0, 16
movs r0, 0xC0
lsls r0, 10
ands r0, r1
cmp r0, 0
bne _080A166C
lsrs r0, r1, 18
bl sub_80A1818
_080A166C:
pop {r0}
bx r0
thumb_func_end sub_80A1658
thumb_func_start sub_80A1670
sub_80A1670: @ 80A1670
push {lr}
lsls r1, r0, 16
movs r0, 0xC0
lsls r0, 10
ands r0, r1
cmp r0, 0
bne _080A1684
lsrs r0, r1, 18
bl sub_80A1884
_080A1684:
pop {r0}
bx r0
thumb_func_end sub_80A1670
thumb_func_start sub_80A1688
sub_80A1688: @ 80A1688
push {lr}
lsls r0, 16
lsrs r0, 16
movs r1, 0x1
ands r0, r1
ldr r1, =gUnknown_08516E3C
lsls r0, 2
adds r0, r1
ldr r0, [r0]
ldr r1, =0x06003e00
movs r2, 0x80
bl sub_80A0980
pop {r0}
bx r0
.pool
thumb_func_end sub_80A1688
thumb_func_start sub_80A16B0
sub_80A16B0: @ 80A16B0
push {r4,lr}
lsls r0, 16
lsrs r0, 16
movs r1, 0x3
bl __umodsi3
adds r4, r0, 0
lsls r4, 16
ldr r0, =gUnknown_08517A44
lsrs r4, 14
adds r0, r4, r0
ldr r0, [r0]
ldr r1, =0x06007e00
movs r2, 0xC0
lsls r2, 1
bl sub_80A0980
ldr r0, =gUnknown_08517A50
adds r4, r0
ldr r0, [r4]
ldr r1, =0x06007a00
movs r2, 0xA0
lsls r2, 2
bl sub_80A0980
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_80A16B0
thumb_func_start sub_80A16F8
sub_80A16F8: @ 80A16F8
push {lr}
lsls r0, 16
movs r1, 0xC0
lsls r1, 10
ands r1, r0
ldr r0, =gUnknown_08517BFC
lsrs r1, 14
adds r1, r0
ldr r0, [r1]
ldr r1, =0x06007f00
movs r2, 0x20
bl sub_80A0980
pop {r0}
bx r0
.pool
thumb_func_end sub_80A16F8
thumb_func_start sub_80A1720
sub_80A1720: @ 80A1720
push {lr}
lsls r0, 16
lsrs r0, 16
movs r1, 0x1
ands r0, r1
ldr r1, =gUnknown_08517C0C
lsls r0, 2
adds r0, r1
ldr r0, [r0]
ldr r1, =0x06007c00
movs r2, 0x80
bl sub_80A0980
pop {r0}
bx r0
.pool
thumb_func_end sub_80A1720
thumb_func_start sub_80A1748
sub_80A1748: @ 80A1748
push {lr}
lsls r0, 16
lsrs r0, 16
movs r1, 0x1
ands r0, r1
ldr r1, =gUnknown_08518034
lsls r0, 2
adds r0, r1
ldr r0, [r0]
ldr r1, =0x06005200
movs r2, 0x80
lsls r2, 2
bl sub_80A0980
pop {r0}
bx r0
.pool
thumb_func_end sub_80A1748
thumb_func_start sub_80A1770
sub_80A1770: @ 80A1770
push {lr}
lsls r0, 16
lsrs r0, 16
movs r1, 0x1
ands r0, r1
ldr r1, =gUnknown_0851829C
lsls r0, 2
adds r0, r1
ldr r0, [r0]
ldr r1, =0x06007e00
movs r2, 0x90
lsls r2, 1
bl sub_80A0980
pop {r0}
bx r0
.pool
thumb_func_end sub_80A1770
thumb_func_start sub_80A1798
sub_80A1798: @ 80A1798
push {lr}
lsls r0, 16
movs r1, 0xE0
lsls r1, 11
ands r1, r0
ldr r0, =gUnknown_085202C4
lsrs r1, 14
adds r1, r0
ldr r0, [r1]
ldr r1, =0x06005e00
movs r2, 0xC0
lsls r2, 4
bl sub_80A0980
pop {r0}
bx r0
.pool
thumb_func_end sub_80A1798
thumb_func_start sub_80A17C0
sub_80A17C0: @ 80A17C0
push {lr}
lsls r0, 16
lsrs r0, 16
movs r1, 0x3
bl __umodsi3
lsls r0, 16
ldr r1, =gUnknown_08524864
lsrs r0, 14
adds r0, r1
ldr r0, [r0]
ldr r1, =0x060052e0
movs r2, 0x80
lsls r2, 1
bl sub_80A0980
pop {r0}
bx r0
.pool
thumb_func_end sub_80A17C0
thumb_func_start sub_80A17EC
sub_80A17EC: @ 80A17EC
push {lr}
lsls r0, 16
lsrs r0, 16
movs r1, 0x3
bl __umodsi3
lsls r0, 16
ldr r1, =gUnknown_08524870
lsrs r0, 14
adds r0, r1
ldr r0, [r0]
ldr r1, =0x060050e0
movs r2, 0x80
lsls r2, 1
bl sub_80A0980
pop {r0}
bx r0
.pool
thumb_func_end sub_80A17EC
.align 2, 0 @ Don't pad with nop.