summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/field_specials.s6
-rw-r--r--asm/macros.inc5
-rw-r--r--asm/pokedex_area_markers.s357
-rw-r--r--asm/pokedex_screen.s2
-rw-r--r--asm/wild_encounter.s52
-rw-r--r--asm/wild_pokemon_area.s380
6 files changed, 32 insertions, 770 deletions
diff --git a/asm/field_specials.s b/asm/field_specials.s
index 8d91064e8..c0294fcac 100644
--- a/asm/field_specials.s
+++ b/asm/field_specials.s
@@ -3665,8 +3665,8 @@ sub_80CC1E4: @ 80CC1E4
_080CC200: .4byte gSaveBlock2Ptr
thumb_func_end sub_80CC1E4
- thumb_func_start sub_80CC204
-sub_80CC204: @ 80CC204
+ thumb_func_start GetUnlockedSeviiAreas
+GetUnlockedSeviiAreas: @ 80CC204
push {r4,lr}
movs r4, 0
ldr r0, _080CC2A4 @ =0x0000089b
@@ -3753,7 +3753,7 @@ _080CC2AC: .4byte 0x0000089d
_080CC2B0: .4byte 0x0000089e
_080CC2B4: .4byte 0x0000089f
_080CC2B8: .4byte 0x000008a1
- thumb_func_end sub_80CC204
+ thumb_func_end GetUnlockedSeviiAreas
thumb_func_start sub_80CC2BC
sub_80CC2BC: @ 80CC2BC
diff --git a/asm/macros.inc b/asm/macros.inc
index e6813d319..4eae2cccc 100644
--- a/asm/macros.inc
+++ b/asm/macros.inc
@@ -65,10 +65,9 @@
.endm
.macro subsprite x, y, priority, tile_num_offset, size
- .2byte \x
- .2byte \y
+ .byte \x
+ .byte \y
.2byte ((\priority) << 14) | ((\tile_num_offset) << 4) | SPRITE_SIZE_\size
- .2byte 0 @ padding
.endm
.macro obj_image_anim_frame pic_id, duration, flags = 0
diff --git a/asm/pokedex_area_markers.s b/asm/pokedex_area_markers.s
deleted file mode 100644
index d6ea7f251..000000000
--- a/asm/pokedex_area_markers.s
+++ /dev/null
@@ -1,357 +0,0 @@
- .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 LoadCompressedSpriteSheet
- 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.
diff --git a/asm/pokedex_screen.s b/asm/pokedex_screen.s
index 1a7cd0a2e..2f0682c94 100644
--- a/asm/pokedex_screen.s
+++ b/asm/pokedex_screen.s
@@ -7412,7 +7412,7 @@ sub_810603C: @ 810603C
movs r2, 0
movs r3, 0
bl FillBgTilemapBufferRect_Palette0
- bl sub_80CC204
+ bl GetUnlockedSeviiAreas
ldr r1, [r6]
adds r1, 0x64
strb r0, [r1]
diff --git a/asm/wild_encounter.s b/asm/wild_encounter.s
index e9fb8a630..c43ebf0a9 100644
--- a/asm/wild_encounter.s
+++ b/asm/wild_encounter.s
@@ -298,7 +298,7 @@ _0808290C:
sub_8082934: @ 8082934
push {r4-r6,lr}
movs r4, 0
- ldr r0, _08082990 @ =gUnknown_83C9CB8
+ ldr r0, _08082990 @ =gWildMonHeaders
ldrb r1, [r0]
adds r5, r0, 0
cmp r1, 0xFF
@@ -343,7 +343,7 @@ _08082980:
adds r0, r4, 0
b _080829B6
.align 2, 0
-_08082990: .4byte gUnknown_83C9CB8
+_08082990: .4byte gWildMonHeaders
_08082994: .4byte 0x00007a01
_08082998: .4byte gSaveBlock1Ptr
_0808299C: .4byte 0x00004024
@@ -799,7 +799,7 @@ _08082CE4:
bl sub_8058F1C
cmp r0, 0x1
bne _08082D78
- ldr r1, _08082D4C @ =gUnknown_83C9CB8
+ ldr r1, _08082D4C @ =gWildMonHeaders
lsls r2, r4, 2
adds r0, r2, r4
lsls r0, 2
@@ -822,7 +822,7 @@ _08082D06:
bne _08082D1E
b _08082E46
_08082D1E:
- ldr r1, _08082D4C @ =gUnknown_83C9CB8
+ ldr r1, _08082D4C @ =gWildMonHeaders
adds r0, r5, r4
lsls r0, 2
adds r1, 0x4
@@ -843,7 +843,7 @@ _08082D3A:
.align 2, 0
_08082D44: .4byte gUnknown_20386DC
_08082D48: .4byte 0x0000ffff
-_08082D4C: .4byte gUnknown_83C9CB8
+_08082D4C: .4byte gWildMonHeaders
_08082D50:
bl TryStartRoamerEncounter
lsls r0, 24
@@ -884,7 +884,7 @@ _08082D78:
cmp r0, 0x1
bne _08082E46
_08082DA8:
- ldr r1, _08082E18 @ =gUnknown_83C9CB8
+ ldr r1, _08082E18 @ =gWildMonHeaders
lsls r2, r4, 2
adds r0, r2, r4
lsls r0, 2
@@ -904,7 +904,7 @@ _08082DA8:
cmp r0, 0
beq _08082E46
_08082DD2:
- ldr r1, _08082E18 @ =gUnknown_83C9CB8
+ ldr r1, _08082E18 @ =gWildMonHeaders
adds r0, r5, r4
lsls r0, 2
adds r1, 0x8
@@ -936,7 +936,7 @@ _08082DFA:
movs r0, 0x1
b _08082E48
.align 2, 0
-_08082E18: .4byte gUnknown_83C9CB8
+_08082E18: .4byte gWildMonHeaders
_08082E1C: .4byte gSaveBlock1Ptr
_08082E20: .4byte 0x000030d0
_08082E24:
@@ -975,7 +975,7 @@ sub_8082E54: @ 8082E54
ldr r0, _08082EA4 @ =0x0000ffff
cmp r2, r0
beq _08082EB0
- ldr r1, _08082EA8 @ =gUnknown_83C9CB8
+ ldr r1, _08082EA8 @ =gWildMonHeaders
lsls r0, r2, 2
adds r0, r2
lsls r0, 2
@@ -1006,7 +1006,7 @@ _08082E9C:
b _08082EB6
.align 2, 0
_08082EA4: .4byte 0x0000ffff
-_08082EA8: .4byte gUnknown_83C9CB8
+_08082EA8: .4byte gWildMonHeaders
_08082EAC: .4byte gSpecialVar_Result
_08082EB0:
ldr r1, _08082EBC @ =gSpecialVar_Result
@@ -1049,7 +1049,7 @@ SweetScentWildEncounter: @ 8082EC0
lsrs r0, 24
cmp r0, 0x1
beq _08082F3C
- ldr r1, _08082F18 @ =gUnknown_83C9CB8
+ ldr r1, _08082F18 @ =gWildMonHeaders
lsls r0, r5, 2
adds r0, r5
lsls r0, 2
@@ -1062,7 +1062,7 @@ SweetScentWildEncounter: @ 8082EC0
b _08082F58
.align 2, 0
_08082F14: .4byte 0x0000ffff
-_08082F18: .4byte gUnknown_83C9CB8
+_08082F18: .4byte gWildMonHeaders
_08082F1C:
mov r0, sp
movs r1, 0
@@ -1083,7 +1083,7 @@ _08082F3C:
movs r0, 0x1
b _08082F6E
_08082F44:
- ldr r1, _08082F68 @ =gUnknown_83C9CB8
+ ldr r1, _08082F68 @ =gWildMonHeaders
lsls r0, r5, 2
adds r0, r5
lsls r0, 2
@@ -1100,7 +1100,7 @@ _08082F58:
movs r0, 0x1
b _08082F6E
.align 2, 0
-_08082F68: .4byte gUnknown_83C9CB8
+_08082F68: .4byte gWildMonHeaders
_08082F6C:
movs r0, 0
_08082F6E:
@@ -1119,7 +1119,7 @@ sub_8082F78: @ 8082F78
ldr r0, _08082FA0 @ =0x0000ffff
cmp r2, r0
beq _08082FA8
- ldr r0, _08082FA4 @ =gUnknown_83C9CB8
+ ldr r0, _08082FA4 @ =gWildMonHeaders
lsls r1, r2, 2
adds r1, r2
lsls r1, 2
@@ -1132,7 +1132,7 @@ sub_8082F78: @ 8082F78
b _08082FAA
.align 2, 0
_08082FA0: .4byte 0x0000ffff
-_08082FA4: .4byte gUnknown_83C9CB8
+_08082FA4: .4byte gWildMonHeaders
_08082FA8:
movs r0, 0
_08082FAA:
@@ -1146,7 +1146,7 @@ sub_8082FB0: @ 8082FB0
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
- ldr r4, _08082FE4 @ =gUnknown_83C9CB8
+ ldr r4, _08082FE4 @ =gWildMonHeaders
bl sub_8082934
lsls r0, 16
lsrs r0, 16
@@ -1165,7 +1165,7 @@ sub_8082FB0: @ 8082FB0
pop {r0}
bx r0
.align 2, 0
-_08082FE4: .4byte gUnknown_83C9CB8
+_08082FE4: .4byte gWildMonHeaders
thumb_func_end sub_8082FB0
thumb_func_start GetLocalWildMon
@@ -1180,7 +1180,7 @@ GetLocalWildMon: @ 8082FE8
ldr r0, _08083020 @ =0x0000ffff
cmp r3, r0
beq _0808301A
- ldr r2, _08083024 @ =gUnknown_83C9CB8
+ ldr r2, _08083024 @ =gWildMonHeaders
lsls r1, r3, 2
adds r1, r3
lsls r1, 2
@@ -1199,7 +1199,7 @@ _0808301A:
b _0808306E
.align 2, 0
_08083020: .4byte 0x0000ffff
-_08083024: .4byte gUnknown_83C9CB8
+_08083024: .4byte gWildMonHeaders
_08083028:
cmp r4, 0
bne _0808303C
@@ -1250,7 +1250,7 @@ GetLocalWaterMon: @ 8083074
ldr r0, _080830A8 @ =0x0000ffff
cmp r2, r0
beq _080830B0
- ldr r1, _080830AC @ =gUnknown_83C9CB8
+ ldr r1, _080830AC @ =gWildMonHeaders
lsls r0, r2, 2
adds r0, r2
lsls r0, 2
@@ -1268,7 +1268,7 @@ GetLocalWaterMon: @ 8083074
b _080830B2
.align 2, 0
_080830A8: .4byte 0x0000ffff
-_080830AC: .4byte gUnknown_83C9CB8
+_080830AC: .4byte gWildMonHeaders
_080830B0:
movs r0, 0
_080830B2:
@@ -1513,7 +1513,7 @@ sub_808324C: @ 808324C
beq _080832CC
cmp r4, 0x1
bne _0808328C
- ldr r1, _08083288 @ =gUnknown_83C9CB8
+ ldr r1, _08083288 @ =gWildMonHeaders
lsls r0, r2, 2
adds r0, r2
lsls r0, 2
@@ -1530,11 +1530,11 @@ sub_808324C: @ 808324C
b _080832B8
.align 2, 0
_08083284: .4byte 0x0000ffff
-_08083288: .4byte gUnknown_83C9CB8
+_08083288: .4byte gWildMonHeaders
_0808328C:
cmp r5, 0x2
bne _080832CC
- ldr r1, _080832AC @ =gUnknown_83C9CB8
+ ldr r1, _080832AC @ =gWildMonHeaders
lsls r0, r2, 2
adds r0, r2
lsls r0, 2
@@ -1550,7 +1550,7 @@ _080832A8:
movs r0, 0
b _080832CE
.align 2, 0
-_080832AC: .4byte gUnknown_83C9CB8
+_080832AC: .4byte gWildMonHeaders
_080832B0:
cmp r1, 0x9
bhi _080832B8
diff --git a/asm/wild_pokemon_area.s b/asm/wild_pokemon_area.s
deleted file mode 100644
index 71d8ac8dc..000000000
--- a/asm/wild_pokemon_area.s
+++ /dev/null
@@ -1,380 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_813C9DC
-sub_813C9DC: @ 813C9DC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- str r1, [sp, 0x10]
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0xC]
- bl sub_813CB34
- cmp r0, 0
- blt _0813CA02
- ldr r0, [sp, 0xC]
- ldr r1, [sp, 0x10]
- bl sub_813CB5C
- b _0813CB1A
-_0813CA02:
- bl sub_80CC204
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x14]
- movs r0, 0
- str r0, [sp, 0x18]
- ldr r0, _0813CA74 @ =0x00004024
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x1C]
- cmp r0, 0x8
- ble _0813CA24
- movs r1, 0
- str r1, [sp, 0x1C]
-_0813CA24:
- movs r6, 0
- mov r8, r6
- ldr r1, _0813CA78 @ =gUnknown_83C9CB8
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _0813CB18
-_0813CA30:
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 2
- adds r4, r0, r1
- adds r0, r4, 0
- bl sub_813CC44
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0xB7
- bne _0813CA5A
- ldr r2, [sp, 0x18]
- adds r2, 0x1
- str r2, [sp, 0x18]
- adds r0, r2, 0
- subs r0, 0x1
- adds r1, r6, 0x1
- str r1, [sp, 0x20]
- ldr r2, [sp, 0x1C]
- cmp r2, r0
- bne _0813CB06
-_0813CA5A:
- adds r0, r4, 0
- ldr r1, [sp, 0xC]
- bl sub_813CBD0
- adds r6, 0x1
- str r6, [sp, 0x20]
- cmp r0, 0
- beq _0813CB06
- movs r0, 0
- str r0, [sp, 0x8]
- lsls r7, r5, 16
- add r6, sp, 0x8
- b _0813CA94
- .align 2, 0
-_0813CA74: .4byte 0x00004024
-_0813CA78: .4byte gUnknown_83C9CB8
-_0813CA7C:
- add r0, sp, 0x4
- ldrh r0, [r0]
- cmp r0, 0
- beq _0813CA94
- mov r0, r8
- movs r1, 0x1
- add r8, r1
- add r1, sp, 0x4
- ldrh r1, [r1]
- ldr r2, [sp, 0x10]
- bl sub_81344A4
-_0813CA94:
- lsrs r0, r7, 16
- add r2, sp, 0x4
- str r2, [sp]
- ldr r1, _0813CAC8 @ =gUnknown_8464148
- movs r2, 0x37
- adds r3, r6, 0
- bl sub_813CC58
- cmp r0, 0
- bne _0813CA7C
- movs r2, 0
- add r5, sp, 0x4
- ldr r0, _0813CACC @ =gUnknown_84642BC
- mov r10, r0
-_0813CAB0:
- ldr r0, [sp, 0x14]
- asrs r0, r2
- movs r1, 0x1
- ands r0, r1
- adds r1, r2, 0x1
- mov r9, r1
- cmp r0, 0
- beq _0813CB00
- movs r0, 0
- str r0, [sp, 0x8]
- lsls r4, r2, 3
- b _0813CAE4
- .align 2, 0
-_0813CAC8: .4byte gUnknown_8464148
-_0813CACC: .4byte gUnknown_84642BC
-_0813CAD0:
- ldrh r0, [r5]
- cmp r0, 0
- beq _0813CAE4
- mov r0, r8
- movs r2, 0x1
- add r8, r2
- ldrh r1, [r5]
- ldr r2, [sp, 0x10]
- bl sub_81344A4
-_0813CAE4:
- mov r1, r10
- adds r0, r4, r1
- ldr r1, [r0]
- ldr r2, _0813CB2C @ =gUnknown_84642C0
- adds r0, r4, r2
- ldr r2, [r0]
- add r0, sp, 0x4
- str r0, [sp]
- lsrs r0, r7, 16
- adds r3, r6, 0
- bl sub_813CC58
- cmp r0, 0
- bne _0813CAD0
-_0813CB00:
- mov r2, r9
- cmp r2, 0x6
- bls _0813CAB0
-_0813CB06:
- ldr r6, [sp, 0x20]
- ldr r1, _0813CB30 @ =gUnknown_83C9CB8
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _0813CA30
-_0813CB18:
- mov r0, r8
-_0813CB1A:
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0813CB2C: .4byte gUnknown_84642C0
-_0813CB30: .4byte gUnknown_83C9CB8
- thumb_func_end sub_813C9DC
-
- thumb_func_start sub_813CB34
-sub_813CB34: @ 813CB34
- push {lr}
- lsls r0, 16
- lsrs r3, r0, 16
- movs r1, 0
- ldr r2, _0813CB48 @ =gUnknown_84642F4
-_0813CB3E:
- ldrh r0, [r2]
- cmp r0, r3
- bne _0813CB4C
- adds r0, r1, 0
- b _0813CB58
- .align 2, 0
-_0813CB48: .4byte gUnknown_84642F4
-_0813CB4C:
- adds r2, 0x4
- adds r1, 0x1
- cmp r1, 0x2
- bls _0813CB3E
- movs r0, 0x1
- negs r0, r0
-_0813CB58:
- pop {r1}
- bx r1
- thumb_func_end sub_813CB34
-
- thumb_func_start sub_813CB5C
-sub_813CB5C: @ 813CB5C
- push {r4,r5,lr}
- sub sp, 0xC
- adds r5, r1, 0
- lsls r0, 16
- lsrs r0, 16
- bl sub_813CB34
- adds r4, r0, 0
- cmp r4, 0
- blt _0813CBC4
- ldr r0, _0813CBBC @ =gUnknown_84642F4
- lsls r4, 2
- adds r4, r0
- bl ScrSpecial_GetStarter
- ldrh r1, [r4, 0x2]
- lsls r0, 16
- lsrs r0, 16
- cmp r1, r0
- bne _0813CBC4
- bl GetRoamerLocationMapSectionId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- str r1, [sp, 0x8]
- ldr r1, _0813CBC0 @ =gUnknown_8464148
- add r3, sp, 0x8
- add r2, sp, 0x4
- str r2, [sp]
- movs r2, 0x37
- bl sub_813CC58
- cmp r0, 0
- beq _0813CBC4
- add r0, sp, 0x4
- ldrh r0, [r0]
- cmp r0, 0
- beq _0813CBC4
- add r0, sp, 0x4
- ldrh r1, [r0]
- movs r0, 0
- adds r2, r5, 0
- bl sub_81344A4
- movs r0, 0x1
- b _0813CBC6
- .align 2, 0
-_0813CBBC: .4byte gUnknown_84642F4
-_0813CBC0: .4byte gUnknown_8464148
-_0813CBC4:
- movs r0, 0
-_0813CBC6:
- add sp, 0xC
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_813CB5C
-
- thumb_func_start sub_813CBD0
-sub_813CBD0: @ 813CBD0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r0, [r4, 0x4]
- movs r2, 0xC
- bl sub_813CC18
- cmp r0, 0
- bne _0813CC10
- ldr r0, [r4, 0x8]
- adds r1, r5, 0
- movs r2, 0x5
- bl sub_813CC18
- cmp r0, 0
- bne _0813CC10
- ldr r0, [r4, 0x10]
- adds r1, r5, 0
- movs r2, 0xC
- bl sub_813CC18
- cmp r0, 0
- bne _0813CC10
- ldr r0, [r4, 0xC]
- adds r1, r5, 0
- movs r2, 0x5
- bl sub_813CC18
- cmp r0, 0
- bne _0813CC10
- movs r0, 0
- b _0813CC12
-_0813CC10:
- movs r0, 0x1
-_0813CC12:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_813CBD0
-
- thumb_func_start sub_813CC18
-sub_813CC18: @ 813CC18
- push {r4,lr}
- adds r4, r1, 0
- cmp r0, 0
- beq _0813CC3A
- movs r1, 0
- cmp r1, r2
- bge _0813CC3A
- ldr r3, [r0, 0x4]
-_0813CC28:
- ldrh r0, [r3, 0x2]
- cmp r0, r4
- bne _0813CC32
- movs r0, 0x1
- b _0813CC3C
-_0813CC32:
- adds r3, 0x4
- adds r1, 0x1
- cmp r1, r2
- blt _0813CC28
-_0813CC3A:
- movs r0, 0
-_0813CC3C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_813CC18
-
- thumb_func_start sub_813CC44
-sub_813CC44: @ 813CC44
- push {lr}
- ldrb r2, [r0]
- ldrb r1, [r0, 0x1]
- adds r0, r2, 0
- bl get_mapheader_by_bank_and_number
- ldrb r0, [r0, 0x14]
- pop {r1}
- bx r1
- thumb_func_end sub_813CC44
-
- thumb_func_start sub_813CC58
-sub_813CC58: @ 813CC58
- push {r4-r6,lr}
- adds r4, r2, 0
- ldr r6, [sp, 0x10]
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r2, [r3]
- cmp r2, r4
- bge _0813CC86
- lsls r0, r2, 2
- adds r1, r0, r1
-_0813CC6C:
- ldrh r0, [r1]
- cmp r0, r5
- bne _0813CC7E
- ldrh r0, [r1, 0x2]
- strh r0, [r6]
- adds r0, r2, 0x1
- str r0, [r3]
- movs r0, 0x1
- b _0813CC88
-_0813CC7E:
- adds r1, 0x4
- adds r2, 0x1
- cmp r2, r4
- blt _0813CC6C
-_0813CC86:
- movs r0, 0
-_0813CC88:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_813CC58
-
- .align 2, 0 @ Don't pad with nop.