summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/pokenav.s1204
1 files changed, 284 insertions, 920 deletions
diff --git a/asm/pokenav.s b/asm/pokenav.s
index 01ba420aa..d568f4281 100644
--- a/asm/pokenav.s
+++ b/asm/pokenav.s
@@ -5,645 +5,9 @@
.text
- thumb_func_start sub_81C7CE4
-sub_81C7CE4: @ 81C7CE4
- push {r4,lr}
- movs r0, 0
- bl sub_81C763C
- ldr r2, [r0, 0x18]
- movs r4, 0
- movs r1, 0xDC
- strh r1, [r2, 0x20]
- ldr r2, [r0, 0x18]
- movs r1, 0xC
- strh r1, [r2, 0x22]
- ldr r2, [r0, 0x18]
- ldr r1, =sub_81C7CB4
- str r1, [r2, 0x1C]
- adds r2, 0x3E
- ldrb r3, [r2]
- movs r1, 0x5
- negs r1, r1
- ands r1, r3
- strb r1, [r2]
- ldr r3, [r0, 0x18]
- ldrb r2, [r3, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- strb r1, [r3, 0x5]
- ldr r0, [r0, 0x18]
- adds r0, 0x43
- strb r4, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81C7CE4
-
- thumb_func_start sub_81C7D28
-sub_81C7D28: @ 81C7D28
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r0, 0
- bl sub_81C763C
- adds r6, r0, 0
- ldr r0, =gUnknown_0861FA64
- bl LoadCompressedSpriteSheet
- movs r0, 0x1
- bl AllocSpritePalette
- movs r0, 0x2
- bl AllocSpritePalette
- movs r5, 0
- ldr r0, =gSprites
- mov r8, r0
- movs r7, 0x4
-_081C7D50:
- ldr r0, =gUnknown_0861FB2C
- movs r1, 0
- movs r2, 0
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- lsls r4, r5, 2
- adds r2, r6, 0
- adds r2, 0x1C
- adds r2, r4
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- str r0, [r2]
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r7
- strb r1, [r0]
- ldr r1, [r2]
- lsls r0, r5, 6
- strh r0, [r1, 0x24]
- ldr r0, =gUnknown_0861FB44
- movs r1, 0
- movs r2, 0
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- adds r2, r6, 0
- adds r2, 0x24
- adds r2, r4
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- str r0, [r2]
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r7
- strb r1, [r0]
- ldr r1, [r2]
- lsls r0, r5, 5
- strh r0, [r1, 0x24]
- ldr r1, [r2]
- movs r0, 0x12
- strh r0, [r1, 0x26]
- ldr r3, [r2]
- ldrh r2, [r3, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- lsls r0, r5, 3
- adds r0, 0x40
- adds r1, r0
- ldr r4, =0x000003ff
- adds r0, r4, 0
- ands r1, r0
- ldr r4, =0xfffffc00
- adds r0, r4, 0
- ands r2, r0
- orrs r2, r1
- strh r2, [r3, 0x4]
- adds r5, 0x1
- cmp r5, 0x1
- ble _081C7D50
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81C7D28
-
- thumb_func_start sub_81C7DFC
-sub_81C7DFC: @ 81C7DFC
- push {lr}
- cmp r0, 0x5
- bhi _081C7E08
- bl sub_81C7E58
- b _081C7E0E
-_081C7E08:
- subs r0, 0x6
- bl sub_81C7F24
-_081C7E0E:
- pop {r0}
- bx r0
- thumb_func_end sub_81C7DFC
-
- thumb_func_start sub_81C7E14
-sub_81C7E14: @ 81C7E14
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0
- bl sub_81C763C
- adds r5, r0, 0
- cmp r4, 0x4
- bne _081C7E30
- movs r0, 0x2
- bl GetSpriteTileStartByTag
- ldr r3, [r5, 0x20]
- adds r0, 0x20
- b _081C7E3A
-_081C7E30:
- movs r0, 0x2
- bl GetSpriteTileStartByTag
- ldr r3, [r5, 0x20]
- adds r0, 0x40
-_081C7E3A:
- ldr r2, =0x000003ff
- adds r1, r2, 0
- ands r0, r1
- ldrh r2, [r3, 0x4]
- ldr r1, =0xfffffc00
- ands r1, r2
- orrs r1, r0
- strh r1, [r3, 0x4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81C7E14
-
- thumb_func_start sub_81C7E58
-sub_81C7E58: @ 81C7E58
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r9, r0
- cmp r0, 0x5
- bhi _081C7F16
- movs r0, 0
- bl sub_81C763C
- adds r7, r0, 0
- ldr r0, =gUnknown_0861FA6C
- mov r1, r9
- lsls r6, r1, 3
- adds r6, r0
- ldrh r4, [r6, 0x6]
- ldr r2, [r6]
- mov r8, r2
- mov r0, r8
- bl GetDecompressedDataSize
- adds r5, r0, 0
- lsls r4, 5
- ldr r0, =gPokenavLeftHeader_Pal
- adds r4, r0
- movs r0, 0x1
- bl IndexOfSpritePaletteTag
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 4
- movs r0, 0x80
- lsls r0, 17
- adds r1, r0
- lsrs r1, 16
- adds r0, r4, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r4, =gDecompressionBuffer
- mov r0, r8
- adds r1, r4, 0
- bl LZ77UnCompWram
- movs r0, 0x2
- bl GetSpriteTileStartByTag
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 11
- ldr r2, =0x06010000
- adds r1, r2
- lsls r5, 16
- lsrs r5, 16
- adds r0, r4, 0
- adds r2, r5, 0
- movs r3, 0x1
- bl RequestDma3Copy
- movs r0, 0x2
- bl GetSpriteTileStartByTag
- ldr r3, [r7, 0x20]
- ldrh r1, [r6, 0x4]
- adds r0, r1
- ldr r2, =0x000003ff
- adds r1, r2, 0
- ands r0, r1
- ldrh r2, [r3, 0x4]
- ldr r1, =0xfffffc00
- ands r1, r2
- orrs r1, r0
- strh r1, [r3, 0x4]
- mov r0, r9
- subs r0, 0x4
- cmp r0, 0x1
- bhi _081C7F10
- ldr r1, [r7, 0x20]
- movs r0, 0x38
- b _081C7F14
- .pool
-_081C7F10:
- ldr r1, [r7, 0x20]
- movs r0, 0x40
-_081C7F14:
- strh r0, [r1, 0x24]
-_081C7F16:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81C7E58
-
- thumb_func_start sub_81C7F24
-sub_81C7F24: @ 81C7F24
- push {r4-r6,lr}
- cmp r0, 0x6
- bhi _081C7F8A
- ldr r2, =gUnknown_0861FA9C
- lsls r1, r0, 3
- adds r0, r2, 0x4
- adds r0, r1, r0
- ldr r4, [r0]
- adds r1, r2
- ldr r6, [r1]
- adds r0, r6, 0
- bl GetDecompressedDataSize
- adds r5, r0, 0
- lsls r4, 5
- ldr r0, =gPokenavLeftHeader_Pal
- adds r4, r0
- movs r0, 0x2
- bl IndexOfSpritePaletteTag
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 4
- movs r0, 0x80
- lsls r0, 17
- adds r1, r0
- lsrs r1, 16
- adds r0, r4, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r4, =gDecompressionBuffer+0x1000
- adds r0, r6, 0
- adds r1, r4, 0
- bl LZ77UnCompWram
- movs r0, 0x2
- bl GetSpriteTileStartByTag
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 11
- ldr r0, =0x06010800
- adds r1, r0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r4, 0
- adds r2, r5, 0
- movs r3, 0x1
- bl RequestDma3Copy
-_081C7F8A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81C7F24
-
- thumb_func_start sub_81C7FA0
-sub_81C7FA0: @ 81C7FA0
- push {lr}
- adds r3, r0, 0
- movs r0, 0x10
- cmp r1, 0
- bne _081C7FAC
- movs r0, 0x30
-_081C7FAC:
- cmp r3, 0x5
- bhi _081C7FB8
- adds r1, r2, 0
- bl sub_81C803C
- b _081C7FBE
-_081C7FB8:
- adds r1, r2, 0
- bl sub_81C8088
-_081C7FBE:
- pop {r0}
- bx r0
- thumb_func_end sub_81C7FA0
-
- thumb_func_start sub_81C7FC4
-sub_81C7FC4: @ 81C7FC4
- push {lr}
- cmp r0, 0x5
- bhi _081C7FD2
- adds r0, r1, 0
- bl sub_81C80D4
- b _081C7FD8
-_081C7FD2:
- adds r0, r1, 0
- bl sub_81C8110
-_081C7FD8:
- pop {r0}
- bx r0
- thumb_func_end sub_81C7FC4
-
- thumb_func_start sub_81C7FDC
-sub_81C7FDC: @ 81C7FDC
- push {r4,lr}
- movs r0, 0
- bl sub_81C763C
- movs r4, 0x4
- adds r2, r0, 0
- adds r2, 0x1C
- movs r3, 0x1
-_081C7FEC:
- ldr r1, [r2]
- adds r1, 0x3E
- ldrb r0, [r1]
- orrs r0, r4
- strb r0, [r1]
- ldr r1, [r2, 0x8]
- adds r1, 0x3E
- ldrb r0, [r1]
- orrs r0, r4
- strb r0, [r1]
- adds r2, 0x4
- subs r3, 0x1
- cmp r3, 0
- bge _081C7FEC
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81C7FDC
-
- thumb_func_start sub_81C8010
-sub_81C8010: @ 81C8010
- push {lr}
- movs r0, 0
- bl sub_81C763C
- adds r1, r0, 0
- ldr r0, [r1, 0x1C]
- ldr r2, [r0, 0x1C]
- ldr r0, =SpriteCallbackDummy
- cmp r2, r0
- bne _081C8034
- ldr r0, [r1, 0x24]
- ldr r0, [r0, 0x1C]
- cmp r0, r2
- bne _081C8034
- movs r0, 0
- b _081C8036
- .pool
-_081C8034:
- movs r0, 0x1
-_081C8036:
- pop {r1}
- bx r1
- thumb_func_end sub_81C8010
-
- thumb_func_start sub_81C803C
-sub_81C803C: @ 81C803C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r0
- adds r4, r1, 0
- movs r0, 0
- bl sub_81C763C
- cmp r4, 0
- bne _081C8058
- movs r7, 0x60
- negs r7, r7
- movs r6, 0x20
- b _081C805E
-_081C8058:
- movs r7, 0x80
- lsls r7, 1
- movs r6, 0xA0
-_081C805E:
- adds r4, r0, 0
- adds r4, 0x1C
- movs r5, 0x1
-_081C8064:
- ldr r0, [r4]
- mov r1, r8
- strh r1, [r0, 0x22]
- ldm r4!, {r0}
- adds r1, r7, 0
- adds r2, r6, 0
- movs r3, 0xC
- bl sub_81C814C
- subs r5, 0x1
- cmp r5, 0
- bge _081C8064
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81C803C
-
- thumb_func_start sub_81C8088
-sub_81C8088: @ 81C8088
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r0
- adds r4, r1, 0
- movs r0, 0
- bl sub_81C763C
- cmp r4, 0
- bne _081C80A4
- movs r7, 0x60
- negs r7, r7
- movs r6, 0x10
- b _081C80AA
-_081C80A4:
- movs r7, 0x80
- lsls r7, 1
- movs r6, 0xC0
-_081C80AA:
- adds r4, r0, 0
- adds r4, 0x24
- movs r5, 0x1
-_081C80B0:
- ldr r0, [r4]
- mov r1, r8
- strh r1, [r0, 0x22]
- ldm r4!, {r0}
- adds r1, r7, 0
- adds r2, r6, 0
- movs r3, 0xC
- bl sub_81C814C
- subs r5, 0x1
- cmp r5, 0
- bge _081C80B0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81C8088
- thumb_func_start sub_81C80D4
-sub_81C80D4: @ 81C80D4
- push {r4-r7,lr}
- adds r4, r0, 0
- movs r0, 0
- bl sub_81C763C
- cmp r4, 0
- bne _081C80EA
- movs r6, 0x20
- movs r5, 0x60
- negs r5, r5
- b _081C80F0
-_081C80EA:
- movs r6, 0xC0
- movs r5, 0x80
- lsls r5, 1
-_081C80F0:
- adds r7, r0, 0
- adds r7, 0x1C
- movs r4, 0x1
-_081C80F6:
- ldm r7!, {r0}
- adds r1, r6, 0
- adds r2, r5, 0
- movs r3, 0xC
- bl sub_81C814C
- subs r4, 0x1
- cmp r4, 0
- bge _081C80F6
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81C80D4
- thumb_func_start sub_81C8110
-sub_81C8110: @ 81C8110
- push {r4-r7,lr}
- adds r4, r0, 0
- movs r0, 0
- bl sub_81C763C
- cmp r4, 0
- bne _081C8126
- movs r6, 0x10
- movs r5, 0x60
- negs r5, r5
- b _081C812C
-_081C8126:
- movs r6, 0xC0
- movs r5, 0x80
- lsls r5, 1
-_081C812C:
- adds r7, r0, 0
- adds r7, 0x24
- movs r4, 0x1
-_081C8132:
- ldm r7!, {r0}
- adds r1, r6, 0
- adds r2, r5, 0
- movs r3, 0xC
- bl sub_81C814C
- subs r4, 0x1
- cmp r4, 0
- bge _081C8132
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81C8110
-
- thumb_func_start sub_81C814C
-sub_81C814C: @ 81C814C
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r0, r1, 0
- adds r6, r2, 0
- adds r5, r3, 0
- strh r0, [r4, 0x20]
- lsls r1, r0, 4
- strh r1, [r4, 0x2E]
- subs r0, r6, r0
- lsls r0, 4
- adds r1, r5, 0
- bl __divsi3
- strh r0, [r4, 0x30]
- strh r5, [r4, 0x32]
- strh r6, [r4, 0x3C]
- ldr r0, =sub_81C817C
- str r0, [r4, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81C814C
- thumb_func_start sub_81C817C
-sub_81C817C: @ 81C817C
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x32]
- movs r3, 0x32
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _081C81C4
- subs r0, r1, 0x1
- strh r0, [r2, 0x32]
- ldrh r0, [r2, 0x30]
- ldrh r1, [r2, 0x2E]
- adds r0, r1
- strh r0, [r2, 0x2E]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r2, 0x20]
- adds r0, 0x10
- lsls r0, 16
- movs r1, 0x88
- lsls r1, 17
- cmp r0, r1
- bls _081C81B6
- adds r0, r2, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- b _081C81CC
-_081C81B6:
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- b _081C81CC
-_081C81C4:
- ldrh r0, [r2, 0x3C]
- strh r0, [r2, 0x20]
- ldr r0, =SpriteCallbackDummy
- str r0, [r2, 0x1C]
-_081C81CC:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81C817C
thumb_func_start sub_81C81D4
sub_81C81D4: @ 81C81D4
@@ -653,7 +17,7 @@ sub_81C81D4: @ 81C81D4
adds r7, r2, 0
ldr r1, =0x000008a4
movs r0, 0x11
- bl sub_81C761C
+ bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081C821C
@@ -696,13 +60,13 @@ sub_81C8224: @ 81C8224
sub_81C8234: @ 81C8234
push {r4,lr}
movs r0, 0x11
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
bl sub_81C8FE0
ldrb r0, [r4, 0x8]
bl RemoveWindow
movs r0, 0x11
- bl sub_81C7650
+ bl FreeSubstruct
pop {r4}
pop {r0}
bx r0
@@ -717,7 +81,7 @@ sub_81C8254: @ 81C8254
cmp r0, 0
bne _081C82C0
movs r0, 0x11
- bl sub_81C763C
+ bl GetSubstructPtr
adds r2, r0, 0
cmp r4, 0x4
bhi _081C82D6
@@ -921,7 +285,7 @@ sub_81C83F0: @ 81C83F0
sub sp, 0xC
adds r6, r0, 0
movs r0, 0x11
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
cmp r6, 0
beq _081C8408
@@ -1014,7 +378,7 @@ _081C849C:
sub_81C84A4: @ 81C84A4
push {lr}
movs r0, 0x11
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r1, =0x00000888
adds r0, r1
ldrh r1, [r0]
@@ -1030,7 +394,7 @@ sub_81C84A4: @ 81C84A4
sub_81C84C0: @ 81C84C0
push {lr}
movs r0, 0x11
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r1, =0x00000888
adds r0, r1
movs r3, 0
@@ -1055,7 +419,7 @@ sub_81C84E8: @ 81C84E8
adds r6, r0, 0
adds r4, r1, 0
movs r0, 0x11
- bl sub_81C763C
+ bl GetSubstructPtr
adds r7, r0, 0
ldr r0, =0x00000888
adds r5, r7, r0
@@ -1149,7 +513,7 @@ sub_81C85A0: @ 81C85A0
push {r4-r6,lr}
adds r5, r0, 0
movs r0, 0x11
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
cmp r5, 0
beq _081C85B8
@@ -1228,7 +592,7 @@ _081C862A:
sub_81C8630: @ 81C8630
push {lr}
movs r0, 0x11
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0, 0x28]
bl sub_81C70D8
pop {r1}
@@ -1239,7 +603,7 @@ sub_81C8630: @ 81C8630
sub_81C8644: @ 81C8644
push {lr}
movs r0, 0x11
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r1, =0x00000888
adds r0, r1
pop {r1}
@@ -1423,7 +787,7 @@ sub_81C8770: @ 81C8770
sub_81C877C: @ 81C877C
push {r4,lr}
movs r0, 0x11
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
ldr r0, =0x0000089c
adds r1, r4, r0
@@ -1449,7 +813,7 @@ sub_81C87AC: @ 81C87AC
lsls r4, 16
lsrs r4, 16
movs r0, 0x11
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
ldr r0, =0x00000888
adds r1, r5, r0
@@ -1477,7 +841,7 @@ sub_81C87AC: @ 81C87AC
sub_81C87F0: @ 81C87F0
push {r4,lr}
movs r0, 0x11
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
ldr r0, =0x0000089c
adds r1, r4, r0
@@ -1500,7 +864,7 @@ sub_81C87F0: @ 81C87F0
sub_81C8820: @ 81C8820
push {lr}
movs r0, 0x11
- bl sub_81C763C
+ bl GetSubstructPtr
movs r1, 0x8A
lsls r1, 4
adds r0, r1
@@ -1514,7 +878,7 @@ sub_81C8820: @ 81C8820
sub_81C8838: @ 81C8838
push {r4,lr}
movs r0, 0x11
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
ldr r0, =0x00000888
adds r2, r4, r0
@@ -1542,7 +906,7 @@ sub_81C8870: @ 81C8870
push {r4,r5,lr}
adds r5, r0, 0
movs r0, 0x11
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
cmp r5, 0x4
bhi _081C894C
@@ -1651,7 +1015,7 @@ sub_81C8958: @ 81C8958
push {r4,r5,lr}
adds r5, r0, 0
movs r0, 0x11
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
bl IsDma3ManagerBusyWithBgCopy
lsls r0, 24
@@ -1753,7 +1117,7 @@ sub_81C8A28: @ 81C8A28
cmp r0, 0
bne _081C8AA6
movs r0, 0x11
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
ldr r0, =0x00000888
adds r6, r4, r0
@@ -2525,7 +1889,7 @@ sub_81C9080: @ 81C9080
push {r4,lr}
adds r4, r0, 0
movs r0, 0x11
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r1, =0x0000088e
adds r0, r1
ldrh r0, [r0]
@@ -2637,7 +2001,7 @@ sub_81C9148: @ 81C9148
push {r4,lr}
adds r4, r0, 0
movs r0, 0x11
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r1, [r0, 0x40]
strh r4, [r1, 0x3C]
ldr r0, [r0, 0x44]
@@ -2812,7 +2176,7 @@ sub_81C9298: @ 81C9298
push {r4,lr}
movs r0, 0x1
movs r1, 0x10
- bl sub_81C761C
+ bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081C92C4
@@ -2841,7 +2205,7 @@ sub_81C92CC: @ 81C92CC
push {r4,lr}
movs r0, 0x1
movs r1, 0x10
- bl sub_81C761C
+ bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081C92FA
@@ -2871,7 +2235,7 @@ sub_81C9304: @ 81C9304
push {r4,lr}
movs r0, 0x1
movs r1, 0x10
- bl sub_81C761C
+ bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081C932E
@@ -2899,7 +2263,7 @@ sub_81C9338: @ 81C9338
push {lr}
movs r0, 0x1
movs r1, 0x10
- bl sub_81C761C
+ bl AllocSubstruct
adds r2, r0, 0
cmp r2, 0
beq _081C9360
@@ -2926,7 +2290,7 @@ sub_81C9368: @ 81C9368
push {r4,r5,lr}
movs r0, 0x1
movs r1, 0x10
- bl sub_81C761C
+ bl AllocSubstruct
adds r5, r0, 0
cmp r5, 0
beq _081C9394
@@ -2972,7 +2336,7 @@ _081C93B4:
.4byte _081C93DC
_081C93C8:
movs r0, 0
- bl sub_81C7688
+ bl SetPokenavMode
_081C93CE:
bl sub_81C93EC
b _081C93DE
@@ -2994,7 +2358,7 @@ _081C93E0:
thumb_func_start sub_81C93EC
sub_81C93EC: @ 81C93EC
push {lr}
- bl sub_81C767C
+ bl GetPokenavMode
cmp r0, 0x1
beq _081C9408
cmp r0, 0x1
@@ -3021,7 +2385,7 @@ _081C9412:
sub_81C941C: @ 81C941C
push {lr}
movs r0, 0x1
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r1, [r0, 0xC]
bl _call_via_r1
pop {r1}
@@ -3032,7 +2396,7 @@ sub_81C941C: @ 81C941C
sub_81C9430: @ 81C9430
push {lr}
movs r0, 0x1
- bl sub_81C7650
+ bl FreeSubstruct
pop {r0}
bx r0
thumb_func_end sub_81C9430
@@ -3113,7 +2477,7 @@ _081C94D4:
b _081C94EE
.pool
_081C94E0:
- bl sub_81C76B8
+ bl CanViewRibbonsMenu
cmp r0, 0
beq _081C94FC
movs r0, 0x9
@@ -3601,7 +2965,7 @@ _081C988E:
sub_81C9894: @ 81C9894
push {lr}
movs r0, 0x1
- bl sub_81C763C
+ bl GetSubstructPtr
ldrh r0, [r0]
pop {r1}
bx r1
@@ -3611,7 +2975,7 @@ sub_81C9894: @ 81C9894
sub_81C98A4: @ 81C98A4
push {lr}
movs r0, 0x1
- bl sub_81C763C
+ bl GetSubstructPtr
movs r1, 0x2
ldrsh r0, [r0, r1]
pop {r1}
@@ -3622,7 +2986,7 @@ sub_81C98A4: @ 81C98A4
sub_81C98B4: @ 81C98B4
push {lr}
movs r0, 0x1
- bl sub_81C763C
+ bl GetSubstructPtr
ldrh r0, [r0, 0x4]
pop {r1}
bx r1
@@ -3632,7 +2996,7 @@ sub_81C98B4: @ 81C98B4
sub_81C98C4: @ 81C98C4
push {lr}
movs r0, 0x1
- bl sub_81C763C
+ bl GetSubstructPtr
ldrh r0, [r0, 0x6]
pop {r1}
bx r1
@@ -3717,7 +3081,7 @@ sub_81C9958: @ 81C9958
push {r4,lr}
ldr r1, =0x0000088c
movs r0, 0x2
- bl sub_81C761C
+ bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081C997A
@@ -3742,7 +3106,7 @@ sub_81C9990: @ 81C9990
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x2
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
ldr r0, =gUnknown_086201A0
lsls r4, 2
@@ -3763,7 +3127,7 @@ sub_81C9990: @ 81C9990
sub_81C99C0: @ 81C99C0
push {lr}
movs r0, 0x2
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0]
bl _call_via_r0
pop {r1}
@@ -3774,7 +3138,7 @@ sub_81C99C0: @ 81C99C0
sub_81C99D4: @ 81C99D4
push {r4,lr}
movs r0, 0x2
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
bl sub_81CA7F4
ldrb r0, [r4, 0x8]
@@ -3782,7 +3146,7 @@ sub_81C99D4: @ 81C99D4
bl sub_81C9FEC
bl sub_81CA994
movs r0, 0x2
- bl sub_81C7650
+ bl FreeSubstruct
pop {r4}
pop {r0}
bx r0
@@ -3792,7 +3156,7 @@ sub_81C99D4: @ 81C99D4
sub_81C99FC: @ 81C99FC
push {lr}
movs r0, 0x2
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0, 0x4]
bl sub_81C70D8
pop {r1}
@@ -3805,7 +3169,7 @@ sub_81C9A10: @ 81C9A10
sub sp, 0x4
adds r4, r0, 0
movs r0, 0x2
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x9
bls _081C9A24
@@ -3832,7 +3196,7 @@ _081C9A34:
_081C9A5C:
ldr r0, =gUnknown_08620194
movs r1, 0x3
- bl sub_81C7B54
+ bl InitBgTemplates
ldr r1, =gPokenavMessageBox_Gfx
movs r0, 0
str r0, [sp]
@@ -4428,7 +3792,7 @@ _081C9F42:
movs r0, 0
b _081C9FBE
_081C9F52:
- bl sub_81C7BE8
+ bl IsDma3ManagerBusyWithBgCopy_
cmp r0, 0
bne _081C9FB8
bl sub_81C7880
@@ -4532,7 +3896,7 @@ sub_81CA02C: @ 81CA02C
mov r7, r8
push {r7}
movs r0, 0x2
- bl sub_81C763C
+ bl GetSubstructPtr
movs r2, 0
adds r0, 0x2C
mov r8, r0
@@ -4582,7 +3946,7 @@ _081CA054:
sub_81CA094: @ 81CA094
push {r4-r7,lr}
movs r0, 0x2
- bl sub_81C763C
+ bl GetSubstructPtr
movs r1, 0
adds r7, r0, 0
adds r7, 0x2C
@@ -4638,7 +4002,7 @@ sub_81CA0EC: @ 81CA0EC
str r1, [sp, 0x14]
str r2, [sp]
movs r0, 0x2
- bl sub_81C763C
+ bl GetSubstructPtr
mov r10, r0
movs r0, 0x3
bl GetSpriteTileStartByTag
@@ -4778,7 +4142,7 @@ sub_81CA20C: @ 81CA20C
mov r7, r8
push {r7}
movs r0, 0x2
- bl sub_81C763C
+ bl GetSubstructPtr
adds r6, r0, 0
bl sub_81C98A4
mov r8, r0
@@ -4833,7 +4197,7 @@ _081CA264:
sub_81CA278: @ 81CA278
push {r4,r5,lr}
movs r0, 0x2
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
bl sub_81C98A4
adds r3, r0, 0
@@ -4886,7 +4250,7 @@ _081CA2B2:
sub_81CA2DC: @ 81CA2DC
push {r4-r6,lr}
movs r0, 0x2
- bl sub_81C763C
+ bl GetSubstructPtr
adds r6, r0, 0
movs r5, 0
adds r4, r6, 0
@@ -4926,7 +4290,7 @@ _081CA316:
sub_81CA324: @ 81CA324
push {r4,lr}
movs r0, 0x2
- bl sub_81C763C
+ bl GetSubstructPtr
adds r3, r0, 0
movs r2, 0
ldr r4, =SpriteCallbackDummy
@@ -5008,7 +4372,7 @@ sub_81CA3B4: @ 81CA3B4
push {r7}
adds r4, r0, 0
movs r0, 0x2
- bl sub_81C763C
+ bl GetSubstructPtr
adds r7, r0, 0
movs r5, 0
mov r8, r5
@@ -5321,7 +4685,7 @@ _081CA5F6:
cmp r0, 0xC
bne _081CA638
movs r0, 0x2
- bl sub_81C763C
+ bl GetSubstructPtr
ldrb r1, [r0, 0xC]
subs r1, 0x1
strb r1, [r0, 0xC]
@@ -5345,7 +4709,7 @@ _081CA638:
sub_81CA640: @ 81CA640
push {r4,lr}
movs r0, 0x2
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
ldr r0, =gUnknown_0862036C
movs r1, 0x10
@@ -5385,7 +4749,7 @@ _081CA690:
sub_81CA698: @ 81CA698
push {lr}
movs r0, 0x2
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0, 0x28]
bl DestroySprite
pop {r0}
@@ -5426,7 +4790,7 @@ _081CA6DA:
sub_81CA6E0: @ 81CA6E0
push {r4,lr}
movs r0, 0x2
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
ldr r0, =gUnknown_086202CC
bl AddWindow
@@ -5451,7 +4815,7 @@ sub_81CA714: @ 81CA714
push {r4-r6,lr}
sub sp, 0xC
movs r0, 0x2
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
bl sub_81C98B4
ldr r1, =gUnknown_086202D4
@@ -5493,7 +4857,7 @@ sub_81CA770: @ 81CA770
push {r4-r6,lr}
sub sp, 0xC
movs r0, 0x2
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
ldr r6, =gText_NoRibbonWinners
movs r2, 0x1
@@ -5540,7 +4904,7 @@ sub_81CA7C4: @ 81CA7C4
sub_81CA7D4: @ 81CA7D4
push {r4,lr}
movs r0, 0x2
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
ldr r0, =sub_81CA808
movs r1, 0x2
@@ -5556,7 +4920,7 @@ sub_81CA7D4: @ 81CA7D4
sub_81CA7F4: @ 81CA7F4
push {lr}
movs r0, 0x2
- bl sub_81C763C
+ bl GetSubstructPtr
ldrb r0, [r0, 0xA]
bl DestroyTask
pop {r0}
@@ -5738,7 +5102,7 @@ titlescreen_0: @ 81CA92C
ldr r2, [r2, 0x8]
bl ScanlineEffect_SetParams
ldr r0, =sub_81CA914
- bl IndirectSetVBlankCallback
+ bl SetVBlankCallback_
ldr r0, =sub_81CA9EC
movs r1, 0x3
bl CreateTask
@@ -5763,7 +5127,7 @@ sub_81CA994: @ 81CA994
lsls r0, 24
lsrs r0, 24
bl DestroyTask
- bl sub_81C760C
+ bl SetPokenavVBlankCallback
pop {r0}
bx r0
.pool
@@ -5913,7 +5277,7 @@ sub_81CAAE8: @ 81CAAE8
movs r1, 0xD4
lsls r1, 1
movs r0, 0x5
- bl sub_81C761C
+ bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081CAB1C
@@ -5941,7 +5305,7 @@ _081CAB1E:
sub_81CAB24: @ 81CAB24
push {lr}
movs r0, 0x5
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r1, [r0, 0x18]
bl _call_via_r1
pop {r1}
@@ -5952,7 +5316,7 @@ sub_81CAB24: @ 81CAB24
sub_81CAB38: @ 81CAB38
push {lr}
movs r0, 0x5
- bl sub_81C7650
+ bl FreeSubstruct
pop {r0}
bx r0
thumb_func_end sub_81CAB38
@@ -6033,7 +5397,7 @@ _081CABD0:
ands r0, r1
cmp r0, 0
beq _081CABF2
- bl sub_81C767C
+ bl GetPokenavMode
cmp r0, 0x1
beq _081CABEC
ldr r0, =sub_81CABFC
@@ -6112,11 +5476,11 @@ _081CAC5E:
bne _081CAC98
b _081CACA6
_081CAC64:
- bl sub_81C767C
+ bl GetPokenavMode
cmp r0, 0x1
bne _081CAC72
movs r0, 0x2
- bl sub_81C7688
+ bl SetPokenavMode
_081CAC72:
ldr r0, =sub_81CACF8
str r0, [r4, 0x18]
@@ -6220,7 +5584,7 @@ sub_81CAD20: @ 81CAD20
push {r4-r7,lr}
adds r5, r0, 0
movs r0, 0x5
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
cmp r5, 0x1
beq _081CAD4C
@@ -6367,7 +5731,7 @@ _081CAE24:
sub_81CAE28: @ 81CAE28
push {lr}
movs r0, 0x5
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0, 0x10]
pop {r1}
bx r1
@@ -6377,7 +5741,7 @@ sub_81CAE28: @ 81CAE28
sub_81CAE38: @ 81CAE38
push {lr}
movs r0, 0x5
- bl sub_81C763C
+ bl GetSubstructPtr
ldrh r0, [r0, 0xA]
pop {r1}
bx r1
@@ -6387,7 +5751,7 @@ sub_81CAE38: @ 81CAE38
sub_81CAE48: @ 81CAE48
push {lr}
movs r0, 0x5
- bl sub_81C763C
+ bl GetSubstructPtr
ldrh r0, [r0, 0xC]
pop {r1}
bx r1
@@ -6397,7 +5761,7 @@ sub_81CAE48: @ 81CAE48
sub_81CAE58: @ 81CAE58
push {lr}
movs r0, 0x5
- bl sub_81C763C
+ bl GetSubstructPtr
adds r1, r0, 0
ldrh r0, [r1, 0xA]
ldrh r1, [r1, 0xC]
@@ -6411,7 +5775,7 @@ sub_81CAE6C: @ 81CAE6C
push {r4,lr}
adds r4, r0, 0
movs r0, 0x5
- bl sub_81C763C
+ bl GetSubstructPtr
adds r1, r0, 0
ldrh r0, [r1, 0xC]
adds r4, r0
@@ -6434,7 +5798,7 @@ _081CAE8C:
sub_81CAE94: @ 81CAE94
push {lr}
movs r0, 0x5
- bl sub_81C763C
+ bl GetSubstructPtr
adds r0, 0x1C
pop {r1}
bx r1
@@ -6445,7 +5809,7 @@ sub_81CAEA4: @ 81CAEA4
push {r4,lr}
adds r4, r0, 0
movs r0, 0x5
- bl sub_81C763C
+ bl GetSubstructPtr
lsls r4, 2
adds r0, r4
ldrb r0, [r0, 0x1D]
@@ -6459,7 +5823,7 @@ sub_81CAEBC: @ 81CAEBC
push {r4,lr}
adds r4, r0, 0
movs r0, 0x5
- bl sub_81C763C
+ bl GetSubstructPtr
lsls r1, r4, 2
adds r1, r0, r1
ldrb r0, [r1, 0x1C]
@@ -6498,7 +5862,7 @@ sub_81CAF04: @ 81CAF04
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x5
- bl sub_81C763C
+ bl GetSubstructPtr
lsls r1, r4, 2
adds r1, r0, r1
ldrb r0, [r1, 0x1C]
@@ -6553,7 +5917,7 @@ sub_81CAF78: @ 81CAF78
adds r5, r0, 0
adds r6, r1, 0
movs r0, 0x5
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
movs r0, 0
strb r0, [r6]
@@ -6598,7 +5962,7 @@ sub_81CAFD8: @ 81CAFD8
adds r4, r0, 0
adds r5, r1, 0
movs r0, 0x5
- bl sub_81C763C
+ bl GetSubstructPtr
lsls r4, 2
adds r4, r0, r4
ldrb r0, [r4, 0x1C]
@@ -6633,7 +5997,7 @@ _081CB012:
sub_81CB01C: @ 81CB01C
push {lr}
movs r0, 0x5
- bl sub_81C763C
+ bl GetSubstructPtr
ldrh r0, [r0]
pop {r1}
bx r1
@@ -6644,7 +6008,7 @@ sub_81CB02C: @ 81CB02C
push {r4,lr}
adds r4, r0, 0
movs r0, 0x5
- bl sub_81C763C
+ bl GetSubstructPtr
adds r1, r0, 0
ldrh r0, [r1, 0x2]
cmp r0, r4
@@ -6742,7 +6106,7 @@ sub_81CB0E4: @ 81CB0E4
push {r4-r7,lr}
adds r5, r0, 0
movs r0, 0x5
- bl sub_81C763C
+ bl GetSubstructPtr
adds r7, r0, 0
movs r6, 0x1
adds r5, 0x1
@@ -6783,7 +6147,7 @@ sub_81CB128: @ 81CB128
push {r4-r6,lr}
adds r5, r0, 0
movs r0, 0x5
- bl sub_81C763C
+ bl GetSubstructPtr
adds r1, r0, 0
movs r6, 0x1
negs r6, r6
@@ -6874,7 +6238,7 @@ _081CB1C8:
sub_81CB1D0: @ 81CB1D0
push {r4,lr}
movs r0, 0x5
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
bl sub_81C875C
adds r1, r0, 0
@@ -6940,7 +6304,7 @@ sub_81CB260: @ 81CB260
push {r4,lr}
ldr r1, =0x00002048
movs r0, 0x6
- bl sub_81C761C
+ bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081CB294
@@ -6968,7 +6332,7 @@ sub_81CB29C: @ 81CB29C
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x6
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
ldr r0, =gUnknown_08622798
lsls r4, 2
@@ -6989,7 +6353,7 @@ sub_81CB29C: @ 81CB29C
sub_81CB2CC: @ 81CB2CC
push {lr}
movs r0, 0x6
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0]
bl _call_via_r0
pop {r1}
@@ -7000,7 +6364,7 @@ sub_81CB2CC: @ 81CB2CC
sub_81CB2E0: @ 81CB2E0
push {r4,lr}
movs r0, 0x6
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
bl sub_81CC2B4
bl sub_81CBC1C
@@ -7011,7 +6375,7 @@ sub_81CB2E0: @ 81CB2E0
ldrb r0, [r4, 0x14]
bl RemoveWindow
movs r0, 0x6
- bl sub_81C7650
+ bl FreeSubstruct
pop {r4}
pop {r0}
bx r0
@@ -7021,7 +6385,7 @@ sub_81CB2E0: @ 81CB2E0
sub_81CB310: @ 81CB310
push {lr}
movs r0, 0x6
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0, 0x4]
bl sub_81C70D8
pop {r1}
@@ -7034,7 +6398,7 @@ sub_81CB324: @ 81CB324
sub sp, 0x8
adds r4, r0, 0
movs r0, 0x6
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x7
bls _081CB338
@@ -7059,7 +6423,7 @@ _081CB348:
_081CB368:
ldr r0, =gUnknown_0862278C
movs r1, 0x3
- bl sub_81C7B54
+ bl InitBgTemplates
movs r0, 0x2
movs r1, 0
movs r2, 0
@@ -7234,7 +6598,7 @@ sub_81CB510: @ 81CB510
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x6
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081CB55E
@@ -7303,7 +6667,7 @@ sub_81CB588: @ 81CB588
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x6
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081CB5D6
@@ -7372,7 +6736,7 @@ sub_81CB600: @ 81CB600
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x6
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081CB64E
@@ -7441,7 +6805,7 @@ sub_81CB678: @ 81CB678
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x6
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081CB6C6
@@ -7510,7 +6874,7 @@ sub_81CB6F0: @ 81CB6F0
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x6
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0
beq _081CB706
@@ -7547,7 +6911,7 @@ sub_81CB734: @ 81CB734
movs r0, 0x5
bl PlaySE
movs r0, 0x6
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
bl sub_81CB01C
adds r1, r0, 0
@@ -7566,7 +6930,7 @@ sub_81CB75C: @ 81CB75C
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x6
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0
beq _081CB772
@@ -7602,7 +6966,7 @@ sub_81CB7A0: @ 81CB7A0
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x6
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081CB7D4
@@ -7668,7 +7032,7 @@ sub_81CB824: @ 81CB824
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x6
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081CB85E
@@ -7722,7 +7086,7 @@ sub_81CB888: @ 81CB888
push {r4-r6,lr}
adds r5, r0, 0
movs r0, 0x6
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
movs r6, 0
cmp r5, 0x6
@@ -7780,7 +7144,7 @@ _081CB904:
bl sub_81C7BA4
b _081CB934
_081CB90C:
- bl sub_81C7BE8
+ bl IsDma3ManagerBusyWithBgCopy_
cmp r0, 0
bne _081CB8EC
ldrb r0, [r4, 0xF]
@@ -7810,7 +7174,7 @@ sub_81CB93C: @ 81CB93C
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x6
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081CB974
@@ -7860,7 +7224,7 @@ _081CB9A0:
bl sub_81CC42C
cmp r0, 0
bne _081CB9BA
- bl sub_81C7BE8
+ bl IsDma3ManagerBusyWithBgCopy_
cmp r0, 0
beq _081CB9BE
_081CB9BA:
@@ -7879,7 +7243,7 @@ sub_81CB9C8: @ 81CB9C8
push {r4,r5,lr}
adds r5, r0, 0
movs r0, 0x6
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
cmp r5, 0x4
bhi _081CBA60
@@ -7955,7 +7319,7 @@ sub_81CBA68: @ 81CBA68
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x6
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081CBA9C
@@ -8011,7 +7375,7 @@ sub_81CBAD4: @ 81CBAD4
push {r4,r5,lr}
adds r5, r0, 0
movs r0, 0x6
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
cmp r5, 0x4
bhi _081CBB6C
@@ -8933,7 +8297,7 @@ sub_81CC214: @ 81CC214
push {r4-r6,lr}
sub sp, 0x8
movs r0, 0x6
- bl sub_81C763C
+ bl GetSubstructPtr
adds r6, r0, 0
movs r5, 0
ldr r4, =gUnknown_08622810
@@ -8998,7 +8362,7 @@ _081CC224:
sub_81CC2B4: @ 81CC2B4
push {r4,lr}
movs r0, 0x6
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
ldr r0, [r4, 0x1C]
cmp r0, 0
@@ -9279,13 +8643,13 @@ sub_81CC4D4: @ 81CC4D4
push {r4,lr}
movs r0, 0x3
movs r1, 0x14
- bl sub_81C761C
+ bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081CC4F0
ldr r1, =0x00000884
movs r0, 0x10
- bl sub_81C761C
+ bl AllocSubstruct
cmp r0, 0
bne _081CC4F8
_081CC4F0:
@@ -9330,9 +8694,9 @@ sub_81CC524: @ 81CC524
orrs r0, r1
strb r0, [r3, 0x15]
movs r0, 0x10
- bl sub_81C7650
+ bl FreeSubstruct
movs r0, 0x3
- bl sub_81C7650
+ bl FreeSubstruct
pop {r0}
bx r0
.pool
@@ -9342,7 +8706,7 @@ sub_81CC524: @ 81CC524
sub_81CC554: @ 81CC554
push {lr}
movs r0, 0x3
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r1, [r0, 0x10]
bl _call_via_r1
pop {r1}
@@ -9428,7 +8792,7 @@ sub_81CC5DC: @ 81CC5DC
sub_81CC5E4: @ 81CC5E4
push {lr}
movs r0, 0x3
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0, 0xC]
pop {r1}
bx r1
@@ -9439,7 +8803,7 @@ sub_81CC5F4: @ 81CC5F4
push {r4,lr}
ldr r1, =0x00001948
movs r0, 0x4
- bl sub_81C761C
+ bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081CC624
@@ -9465,7 +8829,7 @@ sub_81CC62C: @ 81CC62C
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x4
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
ldr r0, =gUnknown_086230E4
lsls r4, 2
@@ -9486,7 +8850,7 @@ sub_81CC62C: @ 81CC62C
sub_81CC65C: @ 81CC65C
push {lr}
movs r0, 0x4
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0]
bl _call_via_r0
pop {r1}
@@ -9497,17 +8861,17 @@ sub_81CC65C: @ 81CC65C
sub_81CC670: @ 81CC670
push {r4,lr}
movs r0, 0x4
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
bl FreeRegionMapIconResources
bl sub_81CC9EC
ldrb r0, [r4, 0x8]
bl RemoveWindow
movs r0, 0x10
- bl sub_81C7650
+ bl FreeSubstruct
movs r0, 0x4
- bl sub_81C7650
- bl sub_81C760C
+ bl FreeSubstruct
+ bl SetPokenavVBlankCallback
movs r0, 0
bl SetBgMode
pop {r4}
@@ -9530,7 +8894,7 @@ sub_81CC6A4: @ 81CC6A4
sub_81CC6BC: @ 81CC6BC
push {lr}
movs r0, 0x4
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0, 0x4]
bl sub_81C70D8
pop {r1}
@@ -9563,7 +8927,7 @@ sub_81CC6F4: @ 81CC6F4
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x4
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x7
bls _081CC706
@@ -9587,7 +8951,7 @@ _081CC714:
.4byte _081CC82A
_081CC734:
movs r0, 0
- bl IndirectSetVBlankCallback
+ bl SetVBlankCallback_
movs r0, 0x1
bl HideBg
movs r0, 0x2
@@ -9599,9 +8963,9 @@ _081CC734:
ldr r4, =gUnknown_086230D8
adds r0, r4, 0
movs r1, 0x2
- bl sub_81C7B54
+ bl InitBgTemplates
movs r0, 0x10
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
adds r4, 0x4
bl sub_81CC6D0
@@ -9667,7 +9031,7 @@ _081CC7E2:
movs r0, 0x2
bl ShowBg
ldr r0, =sub_81CC6A4
- bl IndirectSetVBlankCallback
+ bl SetVBlankCallback_
b _081CC77C
.pool
_081CC804:
@@ -9710,7 +9074,7 @@ sub_81CC848: @ 81CC848
push {r4,lr}
adds r4, r0, 0
movs r0, 0x4
- bl sub_81C763C
+ bl GetSubstructPtr
cmp r4, 0
beq _081CC85C
cmp r4, 0x1
@@ -9769,7 +9133,7 @@ _081CC8A2:
movs r0, 0
b _081CC8D2
_081CC8BE:
- bl sub_81C7BE8
+ bl IsDma3ManagerBusyWithBgCopy_
cmp r0, 0
beq _081CC8CA
_081CC8C6:
@@ -9790,7 +9154,7 @@ sub_81CC8D8: @ 81CC8D8
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x4
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081CC90C
@@ -9835,7 +9199,7 @@ _081CC924:
movs r0, 0
b _081CC954
_081CC940:
- bl sub_81C7BE8
+ bl IsDma3ManagerBusyWithBgCopy_
cmp r0, 0
beq _081CC94C
_081CC948:
@@ -9929,7 +9293,7 @@ _081CC9C6:
sub_81CC9EC: @ 81CC9EC
push {r4,r5,lr}
movs r0, 0x4
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
movs r0, 0x6
bl FreeSpriteTilesByTag
@@ -10055,7 +9419,7 @@ sub_81CCB0C: @ 81CCB0C
sub sp, 0xC
adds r4, r0, 0
movs r0, 0x10
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
ldrb r0, [r5, 0x2]
cmp r0, 0x4
@@ -10318,7 +9682,7 @@ sub_81CCD34: @ 81CCD34
push {r4,lr}
adds r4, r0, 0
movs r0, 0x4
- bl sub_81C763C
+ bl GetSubstructPtr
adds r2, r0, 0
cmp r4, 0x15
ble _081CCD48
@@ -10467,7 +9831,7 @@ sub_81CCE58: @ 81CCE58
mov r7, r8
push {r7}
movs r0, 0x4
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
bl sub_8124658
lsls r0, 24
@@ -10612,7 +9976,7 @@ _081CCF70:
sub_81CCF78: @ 81CCF78
push {r4,lr}
movs r0, 0x4
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
movs r0, 0x1
bl GetBgY
@@ -10637,7 +10001,7 @@ sub_81CCFA4: @ 81CCFA4
push {r4-r6,lr}
adds r4, r0, 0
movs r0, 0x4
- bl sub_81C763C
+ bl GetSubstructPtr
movs r1, 0x1
ands r4, r1
lsls r5, r4, 2
@@ -10667,7 +10031,7 @@ sub_81CCFD8: @ 81CCFD8
push {r4,lr}
ldr r1, =0x0000678c
movs r0, 0xB
- bl sub_81C761C
+ bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081CD01C
@@ -10698,7 +10062,7 @@ sub_81CD024: @ 81CD024
push {r4,lr}
ldr r1, =0x0000678c
movs r0, 0xB
- bl sub_81C761C
+ bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081CD068
@@ -10728,7 +10092,7 @@ _081CD06A:
sub_81CD070: @ 81CD070
push {lr}
movs r0, 0xB
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r2, =0x00006304
adds r1, r0, r2
ldr r1, [r1]
@@ -10743,7 +10107,7 @@ sub_81CD08C: @ 81CD08C
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x12
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
adds r0, r4, 0
bl sub_81CD1E4
@@ -10818,7 +10182,7 @@ sub_81CD110: @ 81CD110
adds r1, r4, r1
strb r0, [r1]
movs r0, 0x12
- bl sub_81C763C
+ bl GetSubstructPtr
ldrh r1, [r0, 0x2]
lsls r1, 2
adds r0, r1
@@ -10886,7 +10250,7 @@ _081CD1B6:
sub_81CD1C0: @ 81CD1C0
push {lr}
movs r0, 0xB
- bl sub_81C763C
+ bl GetSubstructPtr
movs r1, 0xC6
lsls r1, 7
adds r0, r1
@@ -10894,10 +10258,10 @@ sub_81CD1C0: @ 81CD1C0
cmp r0, 0
bne _081CD1DA
movs r0, 0x12
- bl sub_81C7650
+ bl FreeSubstruct
_081CD1DA:
movs r0, 0xB
- bl sub_81C7650
+ bl FreeSubstruct
pop {r0}
bx r0
thumb_func_end sub_81CD1C0
@@ -10907,7 +10271,7 @@ sub_81CD1E4: @ 81CD1E4
push {r4,lr}
adds r4, r0, 0
movs r0, 0x12
- bl sub_81C763C
+ bl GetSubstructPtr
adds r2, r0, 0
movs r3, 0
ldr r0, =gMain
@@ -10971,10 +10335,10 @@ sub_81CD258: @ 81CD258
lsrs r0, 24
mov r8, r0
movs r0, 0xB
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
movs r0, 0x12
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
mov r0, r8
cmp r0, 0
@@ -11141,10 +10505,10 @@ _081CD3BA:
sub_81CD3C4: @ 81CD3C4
push {r4,lr}
movs r0, 0xB
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
movs r0, 0x12
- bl sub_81C763C
+ bl GetSubstructPtr
adds r2, r0, 0
ldr r1, =0x0000678a
adds r0, r4, r1
@@ -11329,7 +10693,7 @@ sub_81CD548: @ 81CD548
lsrs r4, r0, 24
adds r5, r4, 0
movs r0, 0xB
- bl sub_81C763C
+ bl GetSubstructPtr
adds r1, r0, 0
cmp r4, 0x1
beq _081CD588
@@ -11449,7 +10813,7 @@ sub_81CD624: @ 81CD624
lsrs r2, 24
mov r10, r2
movs r0, 0x12
- bl sub_81C763C
+ bl GetSubstructPtr
lsls r4, 2
adds r0, r4
ldrb r4, [r0, 0x4]
@@ -11697,10 +11061,10 @@ sub_81CD824: @ 81CD824
lsls r1, 24
lsrs r6, r1, 24
movs r0, 0xB
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
movs r0, 0x12
- bl sub_81C763C
+ bl GetSubstructPtr
adds r7, r0, 0
mov r1, r8
lsls r0, r1, 16
@@ -11841,11 +11205,11 @@ _081CD95C:
sub_81CD970: @ 81CD970
push {r4-r7,lr}
movs r0, 0xB
- bl sub_81C763C
+ bl GetSubstructPtr
adds r7, r0, 0
ldr r1, =0x000006ac
movs r0, 0x12
- bl sub_81C761C
+ bl AllocSubstruct
adds r6, r0, 0
movs r0, 0xC6
lsls r0, 7
@@ -11908,7 +11272,7 @@ _081CD9C4:
sub_81CD9F8: @ 81CD9F8
push {lr}
movs r0, 0xB
- bl sub_81C763C
+ bl GetSubstructPtr
movs r1, 0xC6
lsls r1, 7
adds r2, r0, r1
@@ -11935,10 +11299,10 @@ sub_81CDA1C: @ 81CDA1C
lsrs r1, 24
mov r9, r1
movs r0, 0xB
- bl sub_81C763C
+ bl GetSubstructPtr
mov r8, r0
movs r0, 0x12
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
lsls r0, r6, 16
asrs r5, r0, 16
@@ -12107,10 +11471,10 @@ sub_81CDB98: @ 81CDB98
lsrs r1, 24
mov r9, r1
movs r0, 0xB
- bl sub_81C763C
+ bl GetSubstructPtr
adds r7, r0, 0
movs r0, 0x12
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
lsls r0, r6, 16
asrs r5, r0, 16
@@ -12187,7 +11551,7 @@ _081CDC3E:
sub_81CDC50: @ 81CDC50
push {lr}
movs r0, 0x12
- bl sub_81C763C
+ bl GetSubstructPtr
ldrh r0, [r0]
pop {r1}
bx r1
@@ -12197,7 +11561,7 @@ sub_81CDC50: @ 81CDC50
sub_81CDC60: @ 81CDC60
push {lr}
movs r0, 0x12
- bl sub_81C763C
+ bl GetSubstructPtr
ldrh r0, [r0, 0x2]
pop {r1}
bx r1
@@ -12207,7 +11571,7 @@ sub_81CDC60: @ 81CDC60
sub_81CDC70: @ 81CDC70
push {lr}
movs r0, 0xB
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r1, =0x00006428
adds r0, r1
pop {r1}
@@ -12219,7 +11583,7 @@ sub_81CDC70: @ 81CDC70
sub_81CDC84: @ 81CDC84
push {lr}
movs r0, 0xB
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r1, =0x00006786
adds r0, r1
ldrb r0, [r0]
@@ -12232,7 +11596,7 @@ sub_81CDC84: @ 81CDC84
sub_81CDC9C: @ 81CDC9C
push {lr}
movs r0, 0xB
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r1, =0x00006302
adds r0, r1
ldrb r0, [r0]
@@ -12248,7 +11612,7 @@ sub_81CDCB4: @ 81CDCB4
lsls r4, 24
lsrs r4, 24
movs r0, 0xB
- bl sub_81C763C
+ bl GetSubstructPtr
lsls r4, 13
movs r1, 0xC0
lsls r1, 2
@@ -12266,7 +11630,7 @@ sub_81CDCD4: @ 81CDCD4
lsls r4, 24
lsrs r4, 24
movs r0, 0xB
- bl sub_81C763C
+ bl GetSubstructPtr
lsls r4, 7
adds r0, r4
pop {r4}
@@ -12278,7 +11642,7 @@ sub_81CDCD4: @ 81CDCD4
sub_81CDCEC: @ 81CDCEC
push {lr}
movs r0, 0xB
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r1, =0x00006789
adds r0, r1
ldrb r0, [r0]
@@ -12294,7 +11658,7 @@ sub_81CDD04: @ 81CDD04
lsls r4, 24
lsrs r4, 24
movs r0, 0xB
- bl sub_81C763C
+ bl GetSubstructPtr
lsls r4, 6
ldr r1, =0x00006368
adds r4, r1
@@ -12312,7 +11676,7 @@ sub_81CDD24: @ 81CDD24
lsls r4, 24
lsrs r4, 24
movs r0, 0xB
- bl sub_81C763C
+ bl GetSubstructPtr
lsls r1, r4, 1
adds r1, r4
lsls r1, 3
@@ -12329,7 +11693,7 @@ sub_81CDD24: @ 81CDD24
sub_81CDD48: @ 81CDD48
push {lr}
movs r0, 0x12
- bl sub_81C763C
+ bl GetSubstructPtr
ldrh r1, [r0, 0x2]
lsls r1, 2
adds r0, r1
@@ -12342,7 +11706,7 @@ sub_81CDD48: @ 81CDD48
sub_81CDD5C: @ 81CDD5C
push {lr}
movs r0, 0xB
- bl sub_81C763C
+ bl GetSubstructPtr
movs r1, 0xC6
lsls r1, 7
adds r0, r1
@@ -12362,7 +11726,7 @@ _081CDD76:
sub_81CDD7C: @ 81CDD7C
push {lr}
movs r0, 0xB
- bl sub_81C763C
+ bl GetSubstructPtr
adds r2, r0, 0
movs r1, 0xC6
lsls r1, 7
@@ -12391,7 +11755,7 @@ _081CDDA6:
sub_81CDDB0: @ 81CDDB0
push {lr}
movs r0, 0xB
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r2, =0x00006786
adds r1, r0, r2
ldrb r1, [r1]
@@ -12411,7 +11775,7 @@ sub_81CDDD4: @ 81CDDD4
push {r4,lr}
ldr r1, =0x000038ac
movs r0, 0xC
- bl sub_81C761C
+ bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081CDE24
@@ -12447,7 +11811,7 @@ sub_81CDE2C: @ 81CDE2C
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0xC
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
ldr r0, =gUnknown_08623384
lsls r4, 2
@@ -12470,7 +11834,7 @@ sub_81CDE2C: @ 81CDE2C
sub_81CDE64: @ 81CDE64
push {lr}
movs r0, 0xC
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r1, =0x00001810
adds r0, r1
ldr r0, [r0]
@@ -12484,7 +11848,7 @@ sub_81CDE64: @ 81CDE64
sub_81CDE80: @ 81CDE80
push {lr}
movs r0, 0xC
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0]
bl sub_81C70D8
pop {r1}
@@ -12497,7 +11861,7 @@ sub_81CDE94: @ 81CDE94
sub sp, 0xC
adds r4, r0, 0
movs r0, 0xC
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x14
bls _081CDEA8
@@ -12542,7 +11906,7 @@ _081CDF16:
_081CDF18:
ldr r0, =gUnknown_08623358
movs r1, 0x3
- bl sub_81C7B54
+ bl InitBgTemplates
movs r0, 0x1
movs r1, 0
movs r2, 0
@@ -12853,7 +12217,7 @@ _081CE218:
bne _081CE2C0
_081CE230:
ldr r0, =sub_81CEE44
- bl IndirectSetVBlankCallback
+ bl SetVBlankCallback_
b _081CDFB0
.pool
_081CE23C:
@@ -12924,7 +12288,7 @@ sub_81CE2D0: @ 81CE2D0
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0xC
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081CE308
@@ -13006,7 +12370,7 @@ sub_81CE37C: @ 81CE37C
push {r4-r6,lr}
adds r4, r0, 0
movs r0, 0xC
- bl sub_81C763C
+ bl GetSubstructPtr
adds r6, r0, 0
bl sub_81CDC70
adds r2, r0, 0
@@ -13160,7 +12524,7 @@ sub_81CE4D8: @ 81CE4D8
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0xC
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x8
bhi _081CE5DC
@@ -13282,7 +12646,7 @@ sub_81CE5E4: @ 81CE5E4
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0xC
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x7
bhi _081CE6B2
@@ -13408,7 +12772,7 @@ _081CE6E6:
bl sub_81C7BA4
b _081CE6E2
_081CE6EE:
- bl sub_81C7BE8
+ bl IsDma3ManagerBusyWithBgCopy_
cmp r0, 0x1
bne _081CE6E2
movs r0, 0x2
@@ -13444,7 +12808,7 @@ _081CE71E:
bl sub_81C7BA4
b _081CE71A
_081CE726:
- bl sub_81C7BE8
+ bl IsDma3ManagerBusyWithBgCopy_
cmp r0, 0x1
bne _081CE71A
movs r0, 0x2
@@ -13486,7 +12850,7 @@ sub_81CE754: @ 81CE754
lsls r2, 24
lsrs r5, r2, 24
movs r0, 0xC
- bl sub_81C763C
+ bl GetSubstructPtr
adds r6, r0, 0
cmp r4, 0x1
beq _081CE7B8
@@ -13700,7 +13064,7 @@ _081CE926:
sub_81CE934: @ 81CE934
push {r4,lr}
movs r0, 0xC
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
ldr r1, =0x00001822
adds r0, r4, r1
@@ -13798,7 +13162,7 @@ sub_81CE9E4: @ 81CE9E4
push {r5-r7}
sub sp, 0x58
movs r0, 0xC
- bl sub_81C763C
+ bl GetSubstructPtr
adds r6, r0, 0
add r4, sp, 0x20
add r5, sp, 0x38
@@ -14101,7 +13465,7 @@ _081CEC8E:
sub_81CECA0: @ 81CECA0
push {r4,lr}
movs r0, 0xC
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
movs r1, 0xC1
lsls r1, 5
@@ -14136,7 +13500,7 @@ _081CECF0:
bl sub_81CEBF4
bl sub_81CEE68
movs r0, 0xC
- bl sub_81C7650
+ bl FreeSubstruct
pop {r4}
pop {r0}
bx r0
@@ -14147,7 +13511,7 @@ sub_81CED10: @ 81CED10
push {r4,lr}
adds r4, r0, 0
movs r0, 0xC
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r1, =0x00001814
adds r0, r1
ldrh r0, [r0]
@@ -14168,7 +13532,7 @@ sub_81CED30: @ 81CED30
lsls r0, 24
lsrs r6, r0, 24
movs r0, 0xC
- bl sub_81C763C
+ bl GetSubstructPtr
mov r8, r0
ldr r7, =0x00001816
add r7, r8
@@ -14291,7 +13655,7 @@ sub_81CEE44: @ 81CEE44
thumb_func_start sub_81CEE68
sub_81CEE68: @ 81CEE68
push {lr}
- bl sub_81C760C
+ bl SetPokenavVBlankCallback
pop {r0}
bx r0
thumb_func_end sub_81CEE68
@@ -14381,7 +13745,7 @@ _081CEF0C:
sub_81CEF14: @ 81CEF14
push {r4,lr}
movs r0, 0xC
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
bl sub_81CDD5C
cmp r0, 0x1
@@ -14404,13 +13768,13 @@ sub_81CEF3C: @ 81CEF3C
push {r4,lr}
movs r0, 0x7
movs r1, 0x24
- bl sub_81C761C
+ bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081CEF90
ldr r1, =0x000006ac
movs r0, 0x12
- bl sub_81C761C
+ bl AllocSubstruct
str r0, [r4, 0x20]
cmp r0, 0
beq _081CEF90
@@ -14444,12 +13808,12 @@ sub_81CEF98: @ 81CEF98
push {r4,lr}
movs r0, 0x7
movs r1, 0x24
- bl sub_81C761C
+ bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081CEFD4
movs r0, 0x12
- bl sub_81C763C
+ bl GetSubstructPtr
str r0, [r4, 0x20]
ldr r0, =sub_81CF030
str r0, [r4]
@@ -14476,7 +13840,7 @@ _081CEFD6:
sub_81CEFDC: @ 81CEFDC
push {lr}
movs r0, 0x7
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r1, [r0]
bl _call_via_r1
pop {r1}
@@ -14487,15 +13851,15 @@ sub_81CEFDC: @ 81CEFDC
sub_81CEFF0: @ 81CEFF0
push {lr}
movs r0, 0x7
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0, 0x1C]
cmp r0, 0
bne _081CF004
movs r0, 0x12
- bl sub_81C7650
+ bl FreeSubstruct
_081CF004:
movs r0, 0x7
- bl sub_81C7650
+ bl FreeSubstruct
pop {r0}
bx r0
thumb_func_end sub_81CEFF0
@@ -14607,7 +13971,7 @@ sub_81CF0B8: @ 81CF0B8
sub_81CF0C0: @ 81CF0C0
push {lr}
movs r0, 0x7
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0, 0x18]
pop {r1}
bx r1
@@ -14617,7 +13981,7 @@ sub_81CF0C0: @ 81CF0C0
sub_81CF0D0: @ 81CF0D0
push {lr}
movs r0, 0x7
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0, 0x20]
adds r0, 0x4
pop {r1}
@@ -14628,7 +13992,7 @@ sub_81CF0D0: @ 81CF0D0
sub_81CF0E0: @ 81CF0E0
push {lr}
movs r0, 0x7
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0, 0x20]
ldrh r0, [r0]
pop {r1}
@@ -14639,7 +14003,7 @@ sub_81CF0E0: @ 81CF0E0
sub_81CF0F0: @ 81CF0F0
push {r4,lr}
movs r0, 0x7
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
bl sub_81C875C
ldr r1, [r4, 0x20]
@@ -14655,7 +14019,7 @@ sub_81CF0F0: @ 81CF0F0
sub_81CF10C: @ 81CF10C
push {lr}
movs r0, 0x7
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0, 0x20]
ldrh r0, [r0, 0x2]
pop {r1}
@@ -14680,7 +14044,7 @@ sub_81CF134: @ 81CF134
push {r4-r6,lr}
sub sp, 0x4
movs r0, 0x7
- bl sub_81C763C
+ bl GetSubstructPtr
adds r6, r0, 0
ldr r0, [r6, 0x20]
movs r1, 0
@@ -14746,7 +14110,7 @@ _081CF1AA:
sub_81CF1C4: @ 81CF1C4
push {lr}
movs r0, 0x7
- bl sub_81C763C
+ bl GetSubstructPtr
movs r1, 0
str r1, [r0, 0x10]
str r1, [r0, 0xC]
@@ -14762,7 +14126,7 @@ sub_81CF1D8: @ 81CF1D8
push {r7}
sub sp, 0x4
movs r0, 0x7
- bl sub_81C763C
+ bl GetSubstructPtr
adds r6, r0, 0
ldr r5, [r6, 0xC]
ldr r4, [r6, 0x10]
@@ -14839,7 +14203,7 @@ _081CF26A:
sub_81CF278: @ 81CF278
push {r4-r6,lr}
movs r0, 0x7
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
ldr r0, [r5, 0x20]
ldrh r6, [r0]
@@ -14950,7 +14314,7 @@ sub_81CF330: @ 81CF330
movs r1, 0x81
lsls r1, 4
movs r0, 0x8
- bl sub_81C761C
+ bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081CF360
@@ -14979,7 +14343,7 @@ sub_81CF368: @ 81CF368
movs r1, 0x81
lsls r1, 4
movs r0, 0x8
- bl sub_81C761C
+ bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081CF398
@@ -15006,7 +14370,7 @@ sub_81CF3A0: @ 81CF3A0
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x8
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
ldr r0, =gUnknown_08623598
lsls r4, 2
@@ -15027,7 +14391,7 @@ sub_81CF3A0: @ 81CF3A0
sub_81CF3D0: @ 81CF3D0
push {lr}
movs r0, 0x8
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0]
bl _call_via_r0
pop {r1}
@@ -15038,7 +14402,7 @@ sub_81CF3D0: @ 81CF3D0
sub_81CF3E4: @ 81CF3E4
push {lr}
movs r0, 0x8
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0, 0x4]
bl sub_81C70D8
pop {r1}
@@ -15049,13 +14413,13 @@ sub_81CF3E4: @ 81CF3E4
sub_81CF3F8: @ 81CF3F8
push {r4,lr}
movs r0, 0x8
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
bl sub_81C8234
ldrb r0, [r4, 0x8]
bl RemoveWindow
movs r0, 0x8
- bl sub_81C7650
+ bl FreeSubstruct
pop {r4}
pop {r0}
bx r0
@@ -15067,7 +14431,7 @@ sub_81CF418: @ 81CF418
sub sp, 0x4
adds r4, r0, 0
movs r0, 0x8
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x5
bls _081CF42C
@@ -15090,7 +14454,7 @@ _081CF43C:
_081CF454:
ldr r0, =gUnknown_08623590
movs r1, 0x2
- bl sub_81C7B54
+ bl InitBgTemplates
ldr r1, =gUnknown_086233E4
movs r0, 0
str r0, [sp]
@@ -15214,7 +14578,7 @@ sub_81CF578: @ 81CF578
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x8
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081CF5C6
@@ -15282,7 +14646,7 @@ sub_81CF5F0: @ 81CF5F0
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x8
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081CF63E
@@ -15350,7 +14714,7 @@ sub_81CF668: @ 81CF668
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x8
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081CF6B6
@@ -15418,7 +14782,7 @@ sub_81CF6E0: @ 81CF6E0
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x8
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081CF72E
@@ -15773,13 +15137,13 @@ sub_81CF9BC: @ 81CF9BC
push {r4,lr}
movs r0, 0x9
movs r1, 0x20
- bl sub_81C761C
+ bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081CF9FC
ldr r1, =0x000006ac
movs r0, 0x12
- bl sub_81C761C
+ bl AllocSubstruct
str r0, [r4, 0x1C]
cmp r0, 0
beq _081CF9FC
@@ -15807,12 +15171,12 @@ sub_81CFA04: @ 81CFA04
push {r4,lr}
movs r0, 0x9
movs r1, 0x20
- bl sub_81C761C
+ bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081CFA2C
movs r0, 0x12
- bl sub_81C763C
+ bl GetSubstructPtr
str r0, [r4, 0x1C]
ldr r0, =sub_81CFA88
str r0, [r4]
@@ -15832,7 +15196,7 @@ _081CFA2E:
sub_81CFA34: @ 81CFA34
push {lr}
movs r0, 0x9
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r1, [r0]
bl _call_via_r1
pop {r1}
@@ -15843,15 +15207,15 @@ sub_81CFA34: @ 81CFA34
sub_81CFA48: @ 81CFA48
push {lr}
movs r0, 0x9
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0, 0x18]
cmp r0, 0
bne _081CFA5C
movs r0, 0x12
- bl sub_81C7650
+ bl FreeSubstruct
_081CFA5C:
movs r0, 0x9
- bl sub_81C7650
+ bl FreeSubstruct
pop {r0}
bx r0
thumb_func_end sub_81CFA48
@@ -15963,7 +15327,7 @@ sub_81CFB10: @ 81CFB10
sub_81CFB18: @ 81CFB18
push {lr}
movs r0, 0x9
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0, 0x14]
pop {r1}
bx r1
@@ -15973,7 +15337,7 @@ sub_81CFB18: @ 81CFB18
sub_81CFB28: @ 81CFB28
push {lr}
movs r0, 0x9
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0, 0x1C]
adds r0, 0x4
pop {r1}
@@ -15984,7 +15348,7 @@ sub_81CFB28: @ 81CFB28
sub_81CFB38: @ 81CFB38
push {lr}
movs r0, 0x9
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0, 0x1C]
ldrh r0, [r0]
pop {r1}
@@ -15995,7 +15359,7 @@ sub_81CFB38: @ 81CFB38
sub_81CFB48: @ 81CFB48
push {r4,lr}
movs r0, 0x9
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
bl sub_81C875C
ldr r1, [r4, 0x1C]
@@ -16011,7 +15375,7 @@ sub_81CFB48: @ 81CFB48
sub_81CFB64: @ 81CFB64
push {lr}
movs r0, 0x9
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0, 0x1C]
ldrh r0, [r0, 0x2]
pop {r1}
@@ -16036,7 +15400,7 @@ sub_81CFB8C: @ 81CFB8C
push {r4-r6,lr}
sub sp, 0x4
movs r0, 0x9
- bl sub_81C763C
+ bl GetSubstructPtr
adds r6, r0, 0
ldr r0, [r6, 0x1C]
movs r1, 0
@@ -16108,7 +15472,7 @@ _081CFC10:
sub_81CFC2C: @ 81CFC2C
push {lr}
movs r0, 0x9
- bl sub_81C763C
+ bl GetSubstructPtr
movs r1, 0
str r1, [r0, 0x10]
str r1, [r0, 0xC]
@@ -16125,7 +15489,7 @@ sub_81CFC40: @ 81CFC40
push {r6,r7}
sub sp, 0x4
movs r0, 0x9
- bl sub_81C763C
+ bl GetSubstructPtr
mov r8, r0
ldr r7, [r0, 0xC]
ldr r6, [r0, 0x10]
@@ -16336,7 +15700,7 @@ sub_81CFDD0: @ 81CFDD0
movs r1, 0x81
lsls r1, 4
movs r0, 0xA
- bl sub_81C761C
+ bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081CFE00
@@ -16365,7 +15729,7 @@ sub_81CFE08: @ 81CFE08
movs r1, 0x81
lsls r1, 4
movs r0, 0xA
- bl sub_81C761C
+ bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081CFE38
@@ -16392,7 +15756,7 @@ sub_81CFE40: @ 81CFE40
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0xA
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
ldr r0, =gUnknown_086237B8
lsls r4, 2
@@ -16413,7 +15777,7 @@ sub_81CFE40: @ 81CFE40
sub_81CFE70: @ 81CFE70
push {lr}
movs r0, 0xA
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0]
bl _call_via_r0
pop {r1}
@@ -16424,7 +15788,7 @@ sub_81CFE70: @ 81CFE70
sub_81CFE84: @ 81CFE84
push {lr}
movs r0, 0xA
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0, 0x4]
bl sub_81C70D8
pop {r1}
@@ -16435,13 +15799,13 @@ sub_81CFE84: @ 81CFE84
sub_81CFE98: @ 81CFE98
push {r4,lr}
movs r0, 0xA
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
bl sub_81C8234
ldrb r0, [r4, 0x8]
bl RemoveWindow
movs r0, 0xA
- bl sub_81C7650
+ bl FreeSubstruct
pop {r4}
pop {r0}
bx r0
@@ -16453,7 +15817,7 @@ sub_81CFEB8: @ 81CFEB8
sub sp, 0x4
adds r4, r0, 0
movs r0, 0xA
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x5
bls _081CFECC
@@ -16476,7 +15840,7 @@ _081CFEDC:
_081CFEF4:
ldr r0, =gUnknown_086237B0
movs r1, 0x2
- bl sub_81C7B54
+ bl InitBgTemplates
ldr r1, =gUnknown_08623604
movs r0, 0
str r0, [sp]
@@ -16588,7 +15952,7 @@ sub_81CFFFC: @ 81CFFFC
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0xA
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081D004A
@@ -16656,7 +16020,7 @@ sub_81D0074: @ 81D0074
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0xA
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081D00C2
@@ -16724,7 +16088,7 @@ sub_81D00EC: @ 81D00EC
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0xA
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081D013A
@@ -16792,7 +16156,7 @@ sub_81D0164: @ 81D0164
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0xA
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081D01B2
@@ -17158,12 +16522,12 @@ sub_81D0450: @ 81D0450
push {r4,lr}
movs r0, 0xD
movs r1, 0x9C
- bl sub_81C761C
+ bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081D0498
movs r0, 0x12
- bl sub_81C763C
+ bl GetSubstructPtr
str r0, [r4, 0x8]
cmp r0, 0
beq _081D0498
@@ -17194,7 +16558,7 @@ _081D049A:
sub_81D04A0: @ 81D04A0
push {lr}
movs r0, 0xD
- bl sub_81C763C
+ bl GetSubstructPtr
adds r1, r0, 0
adds r1, 0x98
ldr r1, [r1]
@@ -17207,7 +16571,7 @@ sub_81D04A0: @ 81D04A0
sub_81D04B8: @ 81D04B8
push {lr}
movs r0, 0xD
- bl sub_81C7650
+ bl FreeSubstruct
pop {r0}
bx r0
thumb_func_end sub_81D04B8
@@ -17513,7 +16877,7 @@ _081D06BE:
sub_81D06C4: @ 81D06C4
push {lr}
movs r0, 0xD
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0, 0x8]
ldrh r0, [r0, 0x2]
pop {r1}
@@ -17524,7 +16888,7 @@ sub_81D06C4: @ 81D06C4
sub_81D06D4: @ 81D06D4
push {lr}
movs r0, 0xD
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0, 0x8]
ldrh r0, [r0]
pop {r1}
@@ -17538,7 +16902,7 @@ sub_81D06E4: @ 81D06E4
adds r7, r1, 0
adds r6, r2, 0
movs r0, 0xD
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r1, [r0, 0x8]
ldrh r0, [r1, 0x2]
lsls r0, 2
@@ -17594,7 +16958,7 @@ sub_81D0760: @ 81D0760
adds r6, r1, 0
adds r7, r2, 0
movs r0, 0xD
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r1, [r0, 0x8]
ldrh r0, [r1, 0x2]
lsls r0, 2
@@ -17648,7 +17012,7 @@ _081D07D0:
sub_81D07D8: @ 81D07D8
push {lr}
movs r0, 0xD
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r1, [r0, 0x8]
ldrh r0, [r1, 0x2]
lsls r0, 2
@@ -17815,7 +17179,7 @@ sub_81D0914: @ 81D0914
push {r4,lr}
adds r4, r0, 0
movs r0, 0xD
- bl sub_81C763C
+ bl GetSubstructPtr
ldrh r1, [r0, 0x10]
str r1, [r4]
adds r0, 0x14
@@ -17829,7 +17193,7 @@ sub_81D092C: @ 81D092C
push {r4,lr}
adds r4, r0, 0
movs r0, 0xD
- bl sub_81C763C
+ bl GetSubstructPtr
ldrh r1, [r0, 0x12]
str r1, [r4]
adds r0, 0x78
@@ -17842,7 +17206,7 @@ sub_81D092C: @ 81D092C
sub_81D0944: @ 81D0944
push {lr}
movs r0, 0xD
- bl sub_81C763C
+ bl GetSubstructPtr
ldrh r0, [r0, 0xC]
pop {r1}
bx r1
@@ -17852,7 +17216,7 @@ sub_81D0944: @ 81D0944
sub_81D0954: @ 81D0954
push {lr}
movs r0, 0xD
- bl sub_81C763C
+ bl GetSubstructPtr
adds r1, r0, 0
ldrh r0, [r1, 0xC]
cmp r0, 0x18
@@ -17876,7 +17240,7 @@ sub_81D0978: @ 81D0978
push {r4,lr}
ldr r1, =0x0000101c
movs r0, 0xE
- bl sub_81C761C
+ bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081D09A8
@@ -17902,7 +17266,7 @@ sub_81D09B0: @ 81D09B0
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0xE
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
ldr r0, =gUnknown_08624BA0
lsls r4, 2
@@ -17923,7 +17287,7 @@ sub_81D09B0: @ 81D09B0
sub_81D09E0: @ 81D09E0
push {lr}
movs r0, 0xE
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0]
bl _call_via_r0
pop {r1}
@@ -17934,7 +17298,7 @@ sub_81D09E0: @ 81D09E0
sub_81D09F4: @ 81D09F4
push {r4,lr}
movs r0, 0xE
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
ldrb r0, [r4, 0xA]
bl RemoveWindow
@@ -17963,7 +17327,7 @@ sub_81D09F4: @ 81D09F4
ldr r0, [r4, 0x14]
bl DestroySprite
movs r0, 0xE
- bl sub_81C7650
+ bl FreeSubstruct
pop {r4}
pop {r0}
bx r0
@@ -17973,7 +17337,7 @@ sub_81D09F4: @ 81D09F4
sub_81D0A58: @ 81D0A58
push {lr}
movs r0, 0xE
- bl sub_81C763C
+ bl GetSubstructPtr
ldr r0, [r0, 0x4]
bl sub_81C70D8
pop {r1}
@@ -17986,7 +17350,7 @@ sub_81D0A6C: @ 81D0A6C
sub sp, 0x8
adds r4, r0, 0
movs r0, 0xE
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x9
bls _081D0A80
@@ -18013,7 +17377,7 @@ _081D0A90:
_081D0AB8:
ldr r0, =gUnknown_08624B98
movs r1, 0x2
- bl sub_81C7B54
+ bl InitBgTemplates
ldr r1, =gUnknown_08DDE030
movs r0, 0
str r0, [sp]
@@ -18215,7 +17579,7 @@ sub_81D0C84: @ 81D0C84
push {r4,r5,lr}
adds r5, r0, 0
movs r0, 0xE
- bl sub_81C763C
+ bl GetSubstructPtr
adds r4, r0, 0
cmp r5, 0x6
bhi _081D0D24
@@ -18295,7 +17659,7 @@ sub_81D0D2C: @ 81D0D2C
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0xE
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081D0D5C
@@ -18347,7 +17711,7 @@ sub_81D0D8C: @ 81D0D8C
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0xE
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081D0DC0
@@ -18408,7 +17772,7 @@ sub_81D0E00: @ 81D0E00
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0xE
- bl sub_81C763C
+ bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081D0E30