summaryrefslogtreecommitdiff
path: root/asm/secret_base.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/secret_base.s')
-rw-r--r--asm/secret_base.s2082
1 files changed, 12 insertions, 2070 deletions
diff --git a/asm/secret_base.s b/asm/secret_base.s
index 72c467e70..9fd741aa0 100644
--- a/asm/secret_base.s
+++ b/asm/secret_base.s
@@ -4,2065 +4,7 @@
.syntax unified
- .text
-
- thumb_func_start sub_80BB4AC
-sub_80BB4AC: @ 80BB4AC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r3, r0, 0
- movs r0, 0
- strb r0, [r3]
- movs r2, 0
- adds r4, r3, 0x2
- movs r5, 0xFF
-_080BB4C4:
- adds r0, r4, r2
- ldrb r1, [r0]
- orrs r1, r5
- strb r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x6
- bls _080BB4C4
- movs r2, 0
- adds r5, r3, 0
- adds r5, 0x12
- adds r6, r3, 0
- adds r6, 0x22
- adds r7, r3, 0
- adds r7, 0x4C
- adds r0, r3, 0
- adds r0, 0x34
- str r0, [sp]
- adds r1, r3, 0
- adds r1, 0x9A
- str r1, [sp, 0x4]
- movs r0, 0x7C
- adds r0, r3
- mov r10, r0
- movs r1, 0x88
- adds r1, r3
- mov r9, r1
- movs r0, 0x94
- adds r0, r3
- mov r8, r0
- adds r1, r3, 0
- adds r1, 0x9
- movs r4, 0
-_080BB508:
- adds r0, r1, r2
- strb r4, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x3
- bls _080BB508
- movs r0, 0
- movs r1, 0
- strh r1, [r3, 0xE]
- strb r0, [r3, 0x10]
- strb r0, [r3, 0x11]
- movs r0, 0
- strb r0, [r3, 0x1]
- movs r2, 0
- adds r4, r5, 0
- adds r3, r6, 0
-_080BB52A:
- adds r0, r4, r2
- strb r1, [r0]
- adds r0, r3, r2
- strb r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0xF
- bls _080BB52A
- movs r2, 0
- mov r12, r7
- movs r5, 0
-_080BB542:
- movs r1, 0
- adds r7, r2, 0x1
- lsls r4, r2, 2
- lsls r6, r2, 1
- adds r3, r4, 0
-_080BB54C:
- adds r0, r3, r1
- lsls r0, 1
- add r0, r12
- strh r5, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x3
- bls _080BB54C
- ldr r1, [sp]
- adds r0, r1, r4
- str r5, [r0]
- ldr r1, [sp, 0x4]
- adds r0, r1, r2
- strb r5, [r0]
- mov r1, r10
- adds r0, r1, r6
- strh r5, [r0]
- mov r1, r9
- adds r0, r1, r6
- strh r5, [r0]
- mov r1, r8
- adds r0, r1, r2
- strb r5, [r0]
- lsls r0, r7, 16
- lsrs r2, r0, 16
- cmp r2, 0x5
- bls _080BB542
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80BB4AC
-
- thumb_func_start sub_80BB594
-sub_80BB594: @ 80BB594
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 5
- ldr r1, _080BB5B0 @ =gSaveBlock1 + 0x1A08
- adds r0, r1
- bl sub_80BB4AC
- pop {r0}
- bx r0
- .align 2, 0
-_080BB5B0: .4byte gSaveBlock1 + 0x1A08
- thumb_func_end sub_80BB594
-
- thumb_func_start sub_80BB5B4
-sub_80BB5B4: @ 80BB5B4
- push {r4,lr}
- movs r4, 0
-_080BB5B8:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_80BB594
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x13
- bls _080BB5B8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80BB5B4
-
- thumb_func_start sub_80BB5D0
-sub_80BB5D0: @ 80BB5D0
- ldr r0, _080BB5DC @ =gUnknown_020387DC
- ldr r1, _080BB5E0 @ =gSpecialVar_0x8004
- ldrh r1, [r1]
- strb r1, [r0]
- bx lr
- .align 2, 0
-_080BB5DC: .4byte gUnknown_020387DC
-_080BB5E0: .4byte gSpecialVar_0x8004
- thumb_func_end sub_80BB5D0
-
- thumb_func_start sub_80BB5E4
-sub_80BB5E4: @ 80BB5E4
- push {r4,lr}
- ldr r0, _080BB5F4 @ =gScriptResult
- movs r1, 0
- strh r1, [r0]
- movs r3, 0
- adds r4, r0, 0
- b _080BB5FE
- .align 2, 0
-_080BB5F4: .4byte gScriptResult
-_080BB5F8:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
-_080BB5FE:
- cmp r3, 0x13
- bhi _080BB626
- ldr r2, _080BB62C @ =gUnknown_020387DC
- ldr r1, _080BB630 @ =gSaveBlock1
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 5
- adds r0, r1
- ldr r1, _080BB634 @ =0x00001a08
- adds r0, r1
- ldrb r1, [r2]
- ldrb r0, [r0]
- cmp r1, r0
- bne _080BB5F8
- movs r0, 0x1
- strh r0, [r4]
- ldr r0, _080BB638 @ =0x00004054
- adds r1, r3, 0
- bl VarSet
-_080BB626:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BB62C: .4byte gUnknown_020387DC
-_080BB630: .4byte gSaveBlock1
-_080BB634: .4byte 0x00001a08
-_080BB638: .4byte 0x00004054
- thumb_func_end sub_80BB5E4
-
- thumb_func_start sub_80BB63C
-sub_80BB63C: @ 80BB63C
- push {lr}
- ldr r0, _080BB654 @ =gSaveBlock1
- ldr r1, _080BB658 @ =0x00001a08
- adds r0, r1
- ldrb r1, [r0]
- cmp r1, 0
- beq _080BB660
- ldr r1, _080BB65C @ =gScriptResult
- movs r0, 0x1
- strh r0, [r1]
- b _080BB664
- .align 2, 0
-_080BB654: .4byte gSaveBlock1
-_080BB658: .4byte 0x00001a08
-_080BB65C: .4byte gScriptResult
-_080BB660:
- ldr r0, _080BB668 @ =gScriptResult
- strh r1, [r0]
-_080BB664:
- pop {r0}
- bx r0
- .align 2, 0
-_080BB668: .4byte gScriptResult
- thumb_func_end sub_80BB63C
-
- thumb_func_start sub_80BB66C
-sub_80BB66C: @ 80BB66C
- push {r4,lr}
- sub sp, 0x4
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl GetXYCoordsOneStepInFrontOfPlayer
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileBehaviorAt
- adds r1, r0, 0
- ldr r2, _080BB6A4 @ =0x00000fff
- adds r0, r2, 0
- ands r1, r0
- adds r0, r1, 0
- subs r0, 0x90
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _080BB6A8
- movs r0, 0x1
- b _080BB702
- .align 2, 0
-_080BB6A4: .4byte 0x00000fff
-_080BB6A8:
- adds r0, r1, 0
- subs r0, 0x92
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _080BB6B8
- movs r0, 0x2
- b _080BB702
-_080BB6B8:
- adds r0, r1, 0
- subs r0, 0x9A
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _080BB6C8
- movs r0, 0x3
- b _080BB702
-_080BB6C8:
- adds r0, r1, 0
- subs r0, 0x94
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _080BB6D8
- movs r0, 0x4
- b _080BB702
-_080BB6D8:
- adds r0, r1, 0
- subs r0, 0x96
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bls _080BB6EC
- cmp r1, 0x9C
- beq _080BB6EC
- cmp r1, 0x9D
- bne _080BB6F0
-_080BB6EC:
- movs r0, 0x5
- b _080BB702
-_080BB6F0:
- adds r0, r1, 0
- subs r0, 0x98
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bls _080BB700
- movs r0, 0
- b _080BB702
-_080BB700:
- movs r0, 0x6
-_080BB702:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80BB66C
-
- thumb_func_start sub_80BB70C
-sub_80BB70C: @ 80BB70C
- push {r4,lr}
- ldr r4, _080BB720 @ =gSpecialVar_0x8007
- bl sub_80BB66C
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BB720: .4byte gSpecialVar_0x8007
- thumb_func_end sub_80BB70C
-
- thumb_func_start unref_sub_80BB724
-unref_sub_80BB724: @ 80BB724
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r1, 24
- movs r2, 0
- ldr r6, _080BB748 @ =0x00000fff
- lsrs r3, r1, 24
- ldr r5, _080BB74C @ =0x000001ff
-_080BB732:
- lsls r0, r2, 1
- adds r0, r4
- ldrh r1, [r0]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, r3
- bne _080BB750
- lsls r0, r2, 16
- asrs r0, 16
- b _080BB75E
- .align 2, 0
-_080BB748: .4byte 0x00000fff
-_080BB74C: .4byte 0x000001ff
-_080BB750:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, r5
- bls _080BB732
- movs r0, 0x1
- negs r0, r0
-_080BB75E:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end unref_sub_80BB724
-
- thumb_func_start sub_80BB764
-sub_80BB764: @ 80BB764
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- mov r9, r0
- mov r10, r1
- lsls r2, 16
- lsrs r2, 16
- mov r8, r2
- movs r0, 0
- mov r12, r0
- ldr r1, _080BB7C8 @ =gMapHeader
- ldr r0, [r1]
- ldr r3, [r0, 0x4]
- cmp r12, r3
- bge _080BB7EE
- ldr r0, [r0]
- str r0, [sp, 0x4]
- str r3, [sp]
-_080BB78E:
- movs r2, 0
- mov r1, r12
- lsls r7, r1, 16
- ldr r0, [sp, 0x4]
- cmp r2, r0
- bge _080BB7DC
- ldr r0, _080BB7C8 @ =gMapHeader
- ldr r1, [r0]
- asrs r0, r7, 16
- ldr r4, [r1]
- adds r6, r0, 0
- muls r6, r4
- ldr r5, [r1, 0xC]
-_080BB7A8:
- lsls r0, r2, 16
- asrs r3, r0, 16
- adds r0, r6, r3
- lsls r0, 1
- adds r0, r5
- ldrh r1, [r0]
- ldr r0, _080BB7CC @ =0x000003ff
- ands r0, r1
- cmp r0, r8
- bne _080BB7D0
- mov r1, r9
- strh r2, [r1]
- mov r1, r12
- mov r0, r10
- strh r1, [r0]
- b _080BB7EE
- .align 2, 0
-_080BB7C8: .4byte gMapHeader
-_080BB7CC: .4byte 0x000003ff
-_080BB7D0:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- asrs r0, 16
- cmp r0, r4
- blt _080BB7A8
-_080BB7DC:
- movs r1, 0x80
- lsls r1, 9
- adds r0, r7, r1
- lsrs r1, r0, 16
- mov r12, r1
- asrs r0, 16
- ldr r1, [sp]
- cmp r0, r1
- blt _080BB78E
-_080BB7EE:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80BB764
-
- thumb_func_start sub_80BB800
-sub_80BB800: @ 80BB800
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl GetXYCoordsOneStepInFrontOfPlayer
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileIdAt
- movs r5, 0
- mov r12, r4
- lsls r0, 16
- asrs r3, r0, 16
- ldr r1, _080BB84C @ =gUnknown_083D1358
- mov r8, r1
- adds r7, r0, 0
- mov r4, sp
- mov r6, r12
-_080BB834:
- ldr r0, _080BB84C @ =gUnknown_083D1358
- lsls r1, r5, 2
- adds r2, r1, r0
- ldrh r0, [r2]
- cmp r0, r3
- bne _080BB850
- movs r3, 0
- ldrsh r0, [r4, r3]
- movs r5, 0
- ldrsh r1, [r6, r5]
- ldrh r3, [r2, 0x2]
- b _080BB878
- .align 2, 0
-_080BB84C: .4byte gUnknown_083D1358
-_080BB850:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x6
- bls _080BB834
- movs r5, 0
- mov r4, sp
- mov r6, r12
-_080BB860:
- lsls r0, r5, 2
- mov r1, r8
- adds r3, r0, r1
- ldrh r1, [r3, 0x2]
- asrs r0, r7, 16
- cmp r1, r0
- bne _080BB892
- movs r2, 0
- ldrsh r0, [r4, r2]
- movs r5, 0
- ldrsh r1, [r6, r5]
- ldrh r3, [r3]
-_080BB878:
- movs r5, 0xC0
- lsls r5, 4
- adds r2, r5, 0
- orrs r2, r3
- bl MapGridSetMetatileIdAt
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0
- ldrsh r1, [r6, r2]
- bl CurrentMapDrawMetatileAt
- b _080BB89C
-_080BB892:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x6
- bls _080BB860
-_080BB89C:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80BB800
-
- thumb_func_start sub_80BB8A8
-sub_80BB8A8: @ 80BB8A8
- push {lr}
- adds r2, r0, 0
- movs r1, 0
-_080BB8AE:
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _080BB8BA
- adds r0, r1, 0
- b _080BB8C6
-_080BB8BA:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x6
- bls _080BB8AE
- movs r0, 0x7
-_080BB8C6:
- pop {r1}
- bx r1
- thumb_func_end sub_80BB8A8
-
- thumb_func_start sub_80BB8CC
-sub_80BB8CC: @ 80BB8CC
- push {r4-r6,lr}
- ldr r2, _080BB948 @ =gSaveBlock1
- ldr r0, _080BB94C @ =gUnknown_020387DC
- ldrb r1, [r0]
- ldr r3, _080BB950 @ =0x00001a08
- adds r0, r2, r3
- strb r1, [r0]
- movs r3, 0
- ldr r0, _080BB954 @ =0x00001a11
- adds r2, r0
- ldr r4, _080BB958 @ =gSaveBlock2 + 0xA
-_080BB8E2:
- adds r1, r3, r2
- adds r0, r3, r4
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3
- bls _080BB8E2
- ldr r0, _080BB95C @ =0x00004054
- movs r1, 0
- bl VarSet
- ldr r6, _080BB960 @ =gSaveBlock2
- adds r0, r6, 0
- bl sub_80BB8A8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, _080BB964 @ =gSaveBlock1 + 0x1A0A
- adds r0, r5, 0
- movs r1, 0xFF
- movs r2, 0x7
- bl memset
- adds r0, r5, 0
- adds r1, r6, 0
- adds r2, r4, 0
- bl StringCopyN
- ldrb r0, [r6, 0x8]
- subs r5, 0x1
- movs r1, 0x1
- ands r1, r0
- lsls r1, 4
- ldrb r2, [r5]
- movs r0, 0x11
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5]
- ldr r0, _080BB968 @ =0x00004026
- ldr r1, _080BB96C @ =gMapHeader
- ldrb r1, [r1, 0x14]
- bl VarSet
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080BB948: .4byte gSaveBlock1
-_080BB94C: .4byte gUnknown_020387DC
-_080BB950: .4byte 0x00001a08
-_080BB954: .4byte 0x00001a11
-_080BB958: .4byte gSaveBlock2 + 0xA
-_080BB95C: .4byte 0x00004054
-_080BB960: .4byte gSaveBlock2
-_080BB964: .4byte gSaveBlock1 + 0x1A0A
-_080BB968: .4byte 0x00004026
-_080BB96C: .4byte gMapHeader
- thumb_func_end sub_80BB8CC
-
- thumb_func_start sub_80BB970
-sub_80BB970: @ 80BB970
- push {r4-r7,lr}
- adds r5, r0, 0
- movs r2, 0
- b _080BBA06
-_080BB978:
- ldr r0, [r5, 0x10]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- adds r3, r1, r0
- ldrb r0, [r3, 0x5]
- adds r7, r2, 0x1
- cmp r0, 0x8
- bne _080BBA02
- movs r2, 0
- ldr r4, _080BB9E0 @ =gSaveBlock1
- adds r6, r1, 0
-_080BB990:
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 5
- adds r0, r4
- ldr r1, _080BB9E4 @ =0x00001a08
- adds r0, r1
- ldrb r1, [r0]
- ldr r0, [r3, 0x8]
- cmp r1, r0
- bne _080BB9F8
- ldrh r0, [r3]
- adds r0, 0x7
- ldrh r1, [r3, 0x2]
- adds r1, 0x7
- bl MapGridGetMetatileIdAt
- movs r3, 0
- lsls r0, 16
- asrs r4, r0, 16
-_080BB9B6:
- ldr r0, _080BB9E8 @ =gUnknown_083D1358
- lsls r1, r3, 2
- adds r2, r1, r0
- ldrh r0, [r2]
- cmp r0, r4
- bne _080BB9EC
- ldr r1, [r5, 0x10]
- adds r1, r6, r1
- ldrh r0, [r1]
- adds r0, 0x7
- ldrh r1, [r1, 0x2]
- adds r1, 0x7
- ldrh r3, [r2, 0x2]
- movs r4, 0xC0
- lsls r4, 4
- adds r2, r4, 0
- orrs r2, r3
- bl MapGridSetMetatileIdAt
- b _080BBA02
- .align 2, 0
-_080BB9E0: .4byte gSaveBlock1
-_080BB9E4: .4byte 0x00001a08
-_080BB9E8: .4byte gUnknown_083D1358
-_080BB9EC:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x6
- bls _080BB9B6
- b _080BBA02
-_080BB9F8:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x13
- bls _080BB990
-_080BBA02:
- lsls r0, r7, 16
- lsrs r2, r0, 16
-_080BBA06:
- ldrb r0, [r5, 0x3]
- cmp r2, r0
- bcc _080BB978
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80BB970
-
- thumb_func_start sub_80BBA14
-sub_80BBA14: @ 80BBA14
- push {lr}
- ldr r0, _080BBA40 @ =gUnknown_020387DC
- ldrb r0, [r0]
- movs r1, 0xA
- bl __udivsi3
- ldr r2, _080BBA44 @ =gUnknown_083D1374
- lsls r0, 26
- asrs r0, 24
- adds r1, r0, r2
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- adds r0, 0x1
- adds r0, r2
- movs r2, 0
- ldrsb r2, [r0, r2]
- movs r0, 0x19
- bl warp1_set_2
- pop {r0}
- bx r0
- .align 2, 0
-_080BBA40: .4byte gUnknown_020387DC
-_080BBA44: .4byte gUnknown_083D1374
- thumb_func_end sub_80BBA14
-
- thumb_func_start sub_80BBA48
-sub_80BBA48: @ 80BBA48
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _080BBA6C @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r2, r0, r1
- movs r1, 0x8
- ldrsh r0, [r2, r1]
- cmp r0, 0x1
- beq _080BBA7C
- cmp r0, 0x1
- bgt _080BBA70
- cmp r0, 0
- beq _080BBA76
- b _080BBAD0
- .align 2, 0
-_080BBA6C: .4byte gTasks
-_080BBA70:
- cmp r0, 0x2
- beq _080BBA94
- b _080BBAD0
-_080BBA76:
- movs r0, 0x1
- strh r0, [r2, 0x8]
- b _080BBAD0
-_080BBA7C:
- ldr r0, _080BBA90 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080BBAD0
- movs r0, 0x2
- strh r0, [r2, 0x8]
- b _080BBAD0
- .align 2, 0
-_080BBA90: .4byte gPaletteFade
-_080BBA94:
- ldr r0, _080BBAD8 @ =0x00004054
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- ldr r2, _080BBADC @ =gSaveBlock1
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 5
- adds r1, r2
- ldr r0, _080BBAE0 @ =0x00001a18
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0xFE
- bhi _080BBAB6
- adds r0, 0x1
- strb r0, [r1]
-_080BBAB6:
- bl sub_80BBA14
- bl warp_in
- ldr r0, _080BBAE4 @ =gUnknown_0300485C
- ldr r1, _080BBAE8 @ =sub_8080990
- str r1, [r0]
- ldr r0, _080BBAEC @ =CB2_LoadMap
- bl SetMainCallback2
- adds r0, r4, 0
- bl DestroyTask
-_080BBAD0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BBAD8: .4byte 0x00004054
-_080BBADC: .4byte gSaveBlock1
-_080BBAE0: .4byte 0x00001a18
-_080BBAE4: .4byte gUnknown_0300485C
-_080BBAE8: .4byte sub_8080990
-_080BBAEC: .4byte CB2_LoadMap
- thumb_func_end sub_80BBA48
-
- thumb_func_start sub_80BBAF0
-sub_80BBAF0: @ 80BBAF0
- push {lr}
- ldr r0, _080BBB1C @ =sub_80BBA48
- movs r1, 0
- bl CreateTask
- movs r0, 0x1
- movs r1, 0
- bl fade_screen
- ldr r0, _080BBB20 @ =gSaveBlock1
- movs r1, 0x4
- ldrsb r1, [r0, r1]
- movs r2, 0x5
- ldrsb r2, [r0, r2]
- movs r3, 0x1
- negs r3, r3
- movs r0, 0
- bl saved_warp2_set
- pop {r0}
- bx r0
- .align 2, 0
-_080BBB1C: .4byte sub_80BBA48
-_080BBB20: .4byte gSaveBlock1
- thumb_func_end sub_80BBAF0
-
- thumb_func_start sub_80BBB24
-sub_80BBB24: @ 80BBB24
- push {lr}
- ldr r0, _080BBB40 @ =gMapHeader
- ldrb r0, [r0, 0x17]
- cmp r0, 0x9
- bne _080BBB48
- ldr r0, _080BBB44 @ =0x00004097
- bl VarGet
- lsls r0, 16
- cmp r0, 0
- bne _080BBB48
- movs r0, 0
- b _080BBB4A
- .align 2, 0
-_080BBB40: .4byte gMapHeader
-_080BBB44: .4byte 0x00004097
-_080BBB48:
- movs r0, 0x1
-_080BBB4A:
- pop {r1}
- bx r1
- thumb_func_end sub_80BBB24
-
- thumb_func_start sub_80BBB50
-sub_80BBB50: @ 80BBB50
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080BBB88 @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080BBB8C @ =gMapObjects
- adds r0, r1
- movs r1, 0x2
- bl FieldObjectTurn
- bl sub_807D770
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080BBB80
- bl EnableBothScriptContexts
- adds r0, r4, 0
- bl DestroyTask
-_080BBB80:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BBB88: .4byte gPlayerAvatar
-_080BBB8C: .4byte gMapObjects
- thumb_func_end sub_80BBB50
-
- thumb_func_start sub_80BBB90
-sub_80BBB90: @ 80BBB90
- push {r4,lr}
- sub sp, 0x4
- bl ScriptContext2_Enable
- bl HideMapNamePopUpWindow
- mov r4, sp
- adds r4, 0x2
- movs r2, 0x88
- lsls r2, 2
- mov r0, sp
- adds r1, r4, 0
- bl sub_80BB764
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- adds r0, 0x7
- movs r2, 0
- ldrsh r1, [r4, r2]
- adds r1, 0x7
- movs r2, 0xE2
- lsls r2, 4
- bl MapGridSetMetatileIdAt
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- adds r0, 0x7
- movs r2, 0
- ldrsh r1, [r4, r2]
- adds r1, 0x7
- bl CurrentMapDrawMetatileAt
- bl pal_fill_black
- ldr r0, _080BBBE8 @ =sub_80BBB50
- movs r1, 0
- bl CreateTask
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BBBE8: .4byte sub_80BBB50
- thumb_func_end sub_80BBB90
-
- thumb_func_start sub_80BBBEC
-sub_80BBBEC: @ 80BBBEC
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, _080BBC5C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080BBC52
- ldr r0, _080BBC60 @ =gUnknown_020387DC
- ldrb r0, [r0]
- movs r1, 0xA
- bl __udivsi3
- ldr r1, _080BBC64 @ =gSaveBlock1
- movs r5, 0x4
- ldrsb r5, [r1, r5]
- ldrb r1, [r1, 0x5]
- lsls r1, 24
- asrs r1, 24
- movs r2, 0x1
- negs r2, r2
- ldr r4, _080BBC68 @ =gUnknown_083D1374
- lsls r0, 26
- asrs r0, 24
- adds r3, r0, 0x2
- adds r3, r4
- ldrb r3, [r3]
- lsls r3, 24
- asrs r3, 24
- adds r0, 0x3
- adds r0, r4
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- str r0, [sp]
- adds r0, r5, 0
- bl warp1_set
- bl warp_in
- ldr r1, _080BBC6C @ =gUnknown_0300485C
- ldr r0, _080BBC70 @ =sub_80BBB90
- str r0, [r1]
- ldr r0, _080BBC74 @ =CB2_LoadMap
- bl SetMainCallback2
- adds r0, r6, 0
- bl DestroyTask
-_080BBC52:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080BBC5C: .4byte gPaletteFade
-_080BBC60: .4byte gUnknown_020387DC
-_080BBC64: .4byte gSaveBlock1
-_080BBC68: .4byte gUnknown_083D1374
-_080BBC6C: .4byte gUnknown_0300485C
-_080BBC70: .4byte sub_80BBB90
-_080BBC74: .4byte CB2_LoadMap
- thumb_func_end sub_80BBBEC
-
- thumb_func_start sub_80BBC78
-sub_80BBC78: @ 80BBC78
- push {lr}
- ldr r0, _080BBCA0 @ =sub_80BBBEC
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080BBCA4 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0
- strh r0, [r1, 0x8]
- movs r0, 0x1
- movs r1, 0
- bl fade_screen
- pop {r0}
- bx r0
- .align 2, 0
-_080BBCA0: .4byte sub_80BBBEC
-_080BBCA4: .4byte gTasks
- thumb_func_end sub_80BBC78
-
- thumb_func_start CurrentMapIsSecretBase
-CurrentMapIsSecretBase: @ 80BBCA8
- push {lr}
- ldr r1, _080BBCC0 @ =gSaveBlock1
- movs r0, 0x4
- ldrsb r0, [r1, r0]
- cmp r0, 0x19
- bne _080BBCC4
- ldrb r0, [r1, 0x5]
- cmp r0, 0x17
- bhi _080BBCC4
- movs r0, 0x1
- b _080BBCC6
- .align 2, 0
-_080BBCC0: .4byte gSaveBlock1
-_080BBCC4:
- movs r0, 0
-_080BBCC6:
- pop {r1}
- bx r1
- thumb_func_end CurrentMapIsSecretBase
-
- thumb_func_start sub_80BBCCC
-sub_80BBCCC: @ 80BBCCC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- bl CurrentMapIsSecretBase
- lsls r0, 24
- cmp r0, 0
- beq _080BBDBC
- ldr r0, _080BBD70 @ =0x00004054
- bl VarGet
- lsls r0, 16
- lsrs r5, r0, 16
- movs r1, 0
- mov r0, sp
- strh r1, [r0]
- ldr r6, _080BBD74 @ =gSaveBlock1
- mov r4, sp
- ldr r0, _080BBD78 @ =0x00001a2a
- adds r7, r6, r0
-_080BBCFC:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 5
- ldrh r1, [r4]
- adds r2, r0, r1
- ldr r1, _080BBD7C @ =0x00001a1a
- adds r0, r6, r1
- adds r1, r2, r0
- ldrb r0, [r1]
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x77
- bhi _080BBD3A
- ldr r0, _080BBD80 @ =gDecorations
- ldrb r3, [r1]
- lsls r1, r3, 5
- adds r1, r0
- ldrb r0, [r1, 0x11]
- cmp r0, 0x4
- beq _080BBD3A
- adds r0, r2, r7
- ldrb r2, [r0]
- lsrs r0, r2, 4
- adds r0, 0x7
- movs r1, 0xF
- ands r1, r2
- adds r1, 0x7
- adds r2, r3, 0
- bl sub_80FF394
-_080BBD3A:
- ldrh r0, [r4]
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- strh r0, [r4]
- cmp r0, 0xF
- bls _080BBCFC
- cmp r5, 0
- beq _080BBD88
- mov r4, sp
- adds r4, 0x2
- movs r2, 0x88
- lsls r2, 2
- mov r0, sp
- adds r1, r4, 0
- bl sub_80BB764
- mov r0, sp
- ldrh r0, [r0]
- adds r0, 0x7
- ldrh r1, [r4]
- adds r1, 0x7
- ldr r2, _080BBD84 @ =0x00000e21
- bl MapGridSetMetatileIdAt
- b _080BBDBC
- .align 2, 0
-_080BBD70: .4byte 0x00004054
-_080BBD74: .4byte gSaveBlock1
-_080BBD78: .4byte 0x00001a2a
-_080BBD7C: .4byte 0x00001a1a
-_080BBD80: .4byte gDecorations
-_080BBD84: .4byte 0x00000e21
-_080BBD88:
- mov r0, r8
- cmp r0, 0x1
- bne _080BBDBC
- ldr r0, _080BBDC8 @ =0x00004089
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bne _080BBDBC
- mov r4, sp
- adds r4, 0x2
- movs r2, 0x88
- lsls r2, 2
- mov r0, sp
- adds r1, r4, 0
- bl sub_80BB764
- mov r0, sp
- ldrh r0, [r0]
- adds r0, 0x7
- ldrh r1, [r4]
- adds r1, 0x7
- ldr r2, _080BBDCC @ =0x00000e0a
- bl MapGridSetMetatileIdAt
-_080BBDBC:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080BBDC8: .4byte 0x00004089
-_080BBDCC: .4byte 0x00000e0a
- thumb_func_end sub_80BBCCC
-
- thumb_func_start sub_80BBDD0
-sub_80BBDD0: @ 80BBDD0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- ldr r0, _080BBE00 @ =0x00004054
- bl VarGet
- lsls r0, 16
- lsrs r4, r0, 16
- bl CurrentMapIsSecretBase
- lsls r0, 24
- cmp r0, 0
- bne _080BBE08
- ldr r0, _080BBE04 @ =gSaveBlock1 + 0x2688
- str r0, [sp, 0x4]
- adds r0, 0xC
- str r0, [sp, 0x8]
- movs r1, 0xC
- str r1, [sp, 0xC]
- b _080BBE1E
- .align 2, 0
-_080BBE00: .4byte 0x00004054
-_080BBE04: .4byte gSaveBlock1 + 0x2688
-_080BBE08:
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 5
- ldr r0, _080BBF7C @ =gSaveBlock1 + 0x1A1A
- adds r2, r1, r0
- str r2, [sp, 0x4]
- adds r0, 0x10
- adds r1, r0
- str r1, [sp, 0x8]
- movs r3, 0x10
- str r3, [sp, 0xC]
-_080BBE1E:
- movs r6, 0
- ldr r4, [sp, 0xC]
- cmp r6, r4
- bcc _080BBE28
- b _080BBF6C
-_080BBE28:
- ldr r5, _080BBF80 @ =gSaveBlock1
- mov r10, r5
-_080BBE2C:
- ldr r1, [sp, 0x4]
- adds r0, r1, r6
- ldrb r1, [r0]
- mov r9, r0
- adds r2, r6, 0x1
- str r2, [sp, 0x10]
- cmp r1, 0
- bne _080BBE3E
- b _080BBF5E
-_080BBE3E:
- ldrb r0, [r0]
- lsls r0, 5
- ldr r3, _080BBF84 @ =gDecorations
- adds r0, r3
- ldrb r0, [r0, 0x11]
- cmp r0, 0x4
- beq _080BBE4E
- b _080BBF5E
-_080BBE4E:
- movs r5, 0
- ldr r0, _080BBF88 @ =gMapHeader
- ldr r2, [r0, 0x4]
- ldrb r3, [r2]
- mov r8, r0
- cmp r5, r3
- bcs _080BBE8E
- ldr r0, [r2, 0x4]
- ldrh r1, [r0, 0x14]
- ldr r4, _080BBF8C @ =gSpecialVar_0x8004
- ldrh r0, [r4]
- adds r0, 0xAE
- adds r7, r4, 0
- cmp r1, r0
- beq _080BBE8E
- adds r4, r2, 0
- adds r2, r3, 0
-_080BBE70:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r2
- bcs _080BBE8E
- ldr r1, [r4, 0x4]
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0x14]
- ldrh r0, [r7]
- adds r0, 0xAE
- cmp r1, r0
- bne _080BBE70
-_080BBE8E:
- mov r1, r8
- ldr r0, [r1, 0x4]
- ldrb r0, [r0]
- cmp r5, r0
- beq _080BBF5E
- ldr r7, _080BBF90 @ =gSpecialVar_0x8006
- ldr r2, [sp, 0x8]
- adds r1, r2, r6
- ldrb r0, [r1]
- lsrs r0, 4
- strh r0, [r7]
- ldr r6, _080BBF94 @ =gSpecialVar_0x8007
- ldrb r1, [r1]
- movs r0, 0xF
- ands r0, r1
- strh r0, [r6]
- ldrh r0, [r7]
- adds r0, 0x7
- ldrh r1, [r6]
- adds r1, 0x7
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_80572D8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080BBEDA
- adds r0, r4, 0
- bl sub_80572EC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080BBF5E
-_080BBEDA:
- mov r3, r8
- ldr r0, [r3, 0x4]
- ldr r1, [r0, 0x4]
- lsls r4, r5, 1
- adds r4, r5
- lsls r4, 3
- adds r1, r4, r1
- ldr r5, _080BBF98 @ =0x00003f20
- adds r0, r5, 0
- ldrb r1, [r1, 0x1]
- adds r0, r1
- ldr r1, _080BBF9C @ =gScriptResult
- strh r0, [r1]
- ldrh r0, [r1]
- mov r2, r9
- ldrb r1, [r2]
- lsls r1, 5
- ldr r3, _080BBFA0 @ =gDecorations + 0x1C
- adds r1, r3
- ldr r1, [r1]
- ldrh r1, [r1]
- bl VarSet
- mov r5, r8
- ldr r0, [r5, 0x4]
- ldr r0, [r0, 0x4]
- adds r4, r0
- ldrb r0, [r4]
- ldr r1, _080BBF9C @ =gScriptResult
- strh r0, [r1]
- ldr r2, _080BBF8C @ =gSpecialVar_0x8004
- ldrh r0, [r2]
- adds r0, 0xAE
- lsls r0, 16
- lsrs r0, 16
- bl FlagReset
- ldr r3, _080BBF9C @ =gScriptResult
- ldrb r0, [r3]
- mov r4, r10
- ldrb r1, [r4, 0x5]
- ldrb r2, [r4, 0x4]
- bl show_sprite
- ldr r5, _080BBF9C @ =gScriptResult
- ldrb r0, [r5]
- ldrb r1, [r4, 0x5]
- ldrb r2, [r4, 0x4]
- movs r4, 0
- ldrsh r3, [r7, r4]
- movs r5, 0
- ldrsh r4, [r6, r5]
- str r4, [sp]
- bl sub_805C0F8
- ldr r1, _080BBF9C @ =gScriptResult
- ldrb r0, [r1]
- mov r2, r10
- ldrb r1, [r2, 0x5]
- ldrb r2, [r2, 0x4]
- bl sub_805C78C
- ldr r3, _080BBF8C @ =gSpecialVar_0x8004
- ldrh r0, [r3]
- adds r0, 0x1
- strh r0, [r3]
-_080BBF5E:
- ldr r4, [sp, 0x10]
- lsls r0, r4, 24
- lsrs r6, r0, 24
- ldr r5, [sp, 0xC]
- cmp r6, r5
- bcs _080BBF6C
- b _080BBE2C
-_080BBF6C:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080BBF7C: .4byte gSaveBlock1 + 0x1A1A
-_080BBF80: .4byte gSaveBlock1
-_080BBF84: .4byte gDecorations
-_080BBF88: .4byte gMapHeader
-_080BBF8C: .4byte gSpecialVar_0x8004
-_080BBF90: .4byte gSpecialVar_0x8006
-_080BBF94: .4byte gSpecialVar_0x8007
-_080BBF98: .4byte 0x00003f20
-_080BBF9C: .4byte gScriptResult
-_080BBFA0: .4byte gDecorations + 0x1C
- thumb_func_end sub_80BBDD0
-
- thumb_func_start sub_80BBFA4
-sub_80BBFA4: @ 80BBFA4
- push {r4,r5,lr}
- ldr r0, _080BBFCC @ =0x00004054
- bl VarGet
- ldr r5, _080BBFD0 @ =0x0000401f
- ldr r4, _080BBFD4 @ =gUnknown_083D13EC
- lsls r0, 24
- lsrs r0, 24
- bl sub_80BCCA4
- lsls r0, 24
- lsrs r0, 24
- adds r0, r4
- ldrb r1, [r0]
- adds r0, r5, 0
- bl VarSet
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BBFCC: .4byte 0x00004054
-_080BBFD0: .4byte 0x0000401f
-_080BBFD4: .4byte gUnknown_083D13EC
- thumb_func_end sub_80BBFA4
-
- thumb_func_start sub_80BBFD8
-sub_80BBFD8: @ 80BBFD8
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r3, 0
- ldrb r0, [r4, 0x3]
- cmp r3, r0
- bge _080BC030
- ldr r6, _080BC01C @ =gUnknown_020387DC
-_080BBFE8:
- lsls r3, 16
- asrs r1, r3, 16
- ldr r2, [r4, 0x10]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r2, r0, r2
- ldrb r0, [r2, 0x5]
- cmp r0, 0x8
- bne _080BC020
- movs r0, 0
- ldrsh r1, [r5, r0]
- ldrh r0, [r2]
- adds r0, 0x7
- cmp r1, r0
- bne _080BC020
- movs r0, 0x2
- ldrsh r1, [r5, r0]
- ldrh r0, [r2, 0x2]
- adds r0, 0x7
- cmp r1, r0
- bne _080BC020
- ldr r0, [r2, 0x8]
- strb r0, [r6]
- b _080BC030
- .align 2, 0
-_080BC01C: .4byte gUnknown_020387DC
-_080BC020:
- movs r1, 0x80
- lsls r1, 9
- adds r0, r3, r1
- lsrs r3, r0, 16
- asrs r0, 16
- ldrb r1, [r4, 0x3]
- cmp r0, r1
- blt _080BBFE8
-_080BC030:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80BBFD8
-
- thumb_func_start sub_80BC038
-sub_80BC038: @ 80BC038
- push {lr}
- bl sub_80BBFD8
- bl sub_80BB5E4
- ldr r0, _080BC04C @ =gUnknown_081A2E14
- bl ScriptContext1_SetupScript
- pop {r0}
- bx r0
- .align 2, 0
-_080BC04C: .4byte gUnknown_081A2E14
- thumb_func_end sub_80BC038
-
- thumb_func_start sub_80BC050
-sub_80BC050: @ 80BC050
- push {lr}
- bl sub_80BB5D0
- bl sub_80BB5E4
- ldr r0, _080BC068 @ =gScriptResult
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _080BC06C
- movs r0, 0x1
- b _080BC06E
- .align 2, 0
-_080BC068: .4byte gScriptResult
-_080BC06C:
- movs r0, 0
-_080BC06E:
- pop {r1}
- bx r1
- thumb_func_end sub_80BC050
-
- thumb_func_start sub_80BC074
-sub_80BC074: @ 80BC074
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080BC098 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080BC0AC
- cmp r0, 0x1
- bgt _080BC09C
- cmp r0, 0
- beq _080BC0A2
- b _080BC0E4
- .align 2, 0
-_080BC098: .4byte gTasks
-_080BC09C:
- cmp r0, 0x2
- beq _080BC0C4
- b _080BC0E4
-_080BC0A2:
- bl ScriptContext2_Enable
- movs r0, 0x1
- strh r0, [r4, 0x8]
- b _080BC0E4
-_080BC0AC:
- ldr r0, _080BC0C0 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080BC0E4
- movs r0, 0x2
- strh r0, [r4, 0x8]
- b _080BC0E4
- .align 2, 0
-_080BC0C0: .4byte gPaletteFade
-_080BC0C4:
- movs r0, 0x7E
- bl copy_saved_warp2_bank_and_enter_x_to_warp1
- bl warp_in
- ldr r0, _080BC0EC @ =gUnknown_0300485C
- ldr r1, _080BC0F0 @ =mapldr_default
- str r1, [r0]
- ldr r0, _080BC0F4 @ =CB2_LoadMap
- bl SetMainCallback2
- bl ScriptContext2_Disable
- adds r0, r5, 0
- bl DestroyTask
-_080BC0E4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BC0EC: .4byte gUnknown_0300485C
-_080BC0F0: .4byte mapldr_default
-_080BC0F4: .4byte CB2_LoadMap
- thumb_func_end sub_80BC074
-
- thumb_func_start sub_80BC0F8
-sub_80BC0F8: @ 80BC0F8
- push {lr}
- ldr r0, _080BC110 @ =sub_80BC074
- movs r1, 0
- bl CreateTask
- movs r0, 0x1
- movs r1, 0
- bl fade_screen
- pop {r0}
- bx r0
- .align 2, 0
-_080BC110: .4byte sub_80BC074
- thumb_func_end sub_80BC0F8
-
- thumb_func_start sub_80BC114
-sub_80BC114: @ 80BC114
- push {lr}
- ldr r0, _080BC12C @ =gSaveBlock1
- ldr r1, _080BC130 @ =0x00001a08
- adds r0, r1
- ldr r1, _080BC134 @ =gUnknown_020387DC
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- beq _080BC13C
- ldr r1, _080BC138 @ =gScriptResult
- movs r0, 0x1
- b _080BC140
- .align 2, 0
-_080BC12C: .4byte gSaveBlock1
-_080BC130: .4byte 0x00001a08
-_080BC134: .4byte gUnknown_020387DC
-_080BC138: .4byte gScriptResult
-_080BC13C:
- ldr r1, _080BC148 @ =gScriptResult
- movs r0, 0
-_080BC140:
- strh r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_080BC148: .4byte gScriptResult
- thumb_func_end sub_80BC114
-
- thumb_func_start sub_80BC14C
-sub_80BC14C: @ 80BC14C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- movs r2, 0
- ldr r5, _080BC174 @ =gSaveBlock1
- ldr r4, _080BC178 @ =0x00001a08
-_080BC158:
- lsls r0, r2, 16
- asrs r1, r0, 16
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 5
- adds r0, r5
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, r3
- bne _080BC17C
- lsls r0, r2, 24
- lsrs r0, 24
- b _080BC18A
- .align 2, 0
-_080BC174: .4byte gSaveBlock1
-_080BC178: .4byte 0x00001a08
-_080BC17C:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- asrs r0, 16
- cmp r0, 0x13
- ble _080BC158
- movs r0, 0
-_080BC18A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80BC14C
-
- thumb_func_start sub_80BC190
-sub_80BC190: @ 80BC190
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r4, r1, 2
- adds r4, r1
- lsls r4, 5
- ldr r0, _080BC1C8 @ =gSaveBlock1 + 0x1A0A
- adds r4, r0
- adds r0, r4, 0
- bl sub_80BB8A8
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl StringCopyN
- movs r1, 0xFF
- strb r1, [r0]
- ldr r1, _080BC1CC @ =gOtherText_PlayersBase
- adds r0, r5, 0
- bl StringAppend
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080BC1C8: .4byte gSaveBlock1 + 0x1A0A
-_080BC1CC: .4byte gOtherText_PlayersBase
- thumb_func_end sub_80BC190
-
- thumb_func_start GetSecretBaseMapName
-GetSecretBaseMapName: @ 80BC1D0
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- mov r8, r0
- ldr r6, _080BC214 @ =gUnknown_020387DC
- ldr r5, _080BC218 @ =gSaveBlock1
- ldr r4, _080BC21C @ =0x00004054
- adds r0, r4, 0
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 5
- adds r1, r5
- ldr r0, _080BC220 @ =0x00001a08
- adds r1, r0
- ldrb r0, [r1]
- strb r0, [r6]
- adds r0, r4, 0
- bl VarGet
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, r8
- bl sub_80BC190
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080BC214: .4byte gUnknown_020387DC
-_080BC218: .4byte gSaveBlock1
-_080BC21C: .4byte 0x00004054
-_080BC220: .4byte 0x00001a08
- thumb_func_end GetSecretBaseMapName
-
- thumb_func_start sub_80BC224
-sub_80BC224: @ 80BC224
- push {r4,r5,lr}
- ldr r0, _080BC25C @ =0x00004054
- bl VarGet
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 5
- ldr r0, _080BC260 @ =gSaveBlock1 + 0x1A0A
- adds r4, r0
- ldr r5, _080BC264 @ =gStringVar1
- adds r0, r4, 0
- bl sub_80BB8A8
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl StringCopyN
- movs r1, 0xFF
- strb r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BC25C: .4byte 0x00004054
-_080BC260: .4byte gSaveBlock1 + 0x1A0A
-_080BC264: .4byte gStringVar1
- thumb_func_end sub_80BC224
-
- thumb_func_start sub_80BC268
-sub_80BC268: @ 80BC268
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080BC288 @ =gSaveBlock1
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 5
- adds r1, r2
- ldr r0, _080BC28C @ =0x00001a09
- adds r1, r0
- ldrb r0, [r1]
- lsrs r0, 6
- cmp r0, 0
- bne _080BC290
- movs r0, 0
- b _080BC292
- .align 2, 0
-_080BC288: .4byte gSaveBlock1
-_080BC28C: .4byte 0x00001a09
-_080BC290:
- movs r0, 0x1
-_080BC292:
- pop {r1}
- bx r1
- thumb_func_end sub_80BC268
-
- thumb_func_start sub_80BC298
-sub_80BC298: @ 80BC298
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x1A
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- movs r1, 0x1B
- bl GetMonData
- adds r4, r0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- movs r1, 0x1C
- bl GetMonData
- adds r4, r0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- movs r1, 0x1D
- bl GetMonData
- adds r4, r0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- movs r1, 0x1E
- bl GetMonData
- adds r4, r0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- movs r1, 0x1F
- bl GetMonData
- adds r4, r0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r4, 0
- movs r1, 0x6
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80BC298
-
- thumb_func_start sub_80BC300
-sub_80BC300: @ 80BC300
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- movs r0, 0
- mov r10, r0
- movs r6, 0
- mov r9, r6
-_080BC314:
- movs r4, 0
- lsls r3, r6, 2
- lsls r2, r6, 1
- ldr r7, _080BC424 @ =gPlayerParty
- adds r1, r6, 0x1
- str r1, [sp]
- adds r1, r3, 0
-_080BC322:
- adds r0, r1, r4
- lsls r0, 1
- ldr r5, _080BC428 @ =gSaveBlock1 + 0x1A54
- adds r0, r5, r0
- mov r5, r9
- strh r5, [r0]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x3
- bls _080BC322
- ldr r1, _080BC42C @ =gSaveBlock1 + 0x1A84
- adds r0, r1, r2
- strh r5, [r0]
- ldr r5, _080BC430 @ =gSaveBlock1 + 0x1A90
- adds r0, r5, r2
- mov r1, r9
- strh r1, [r0]
- ldr r2, _080BC434 @ =gSaveBlock1 + 0x1A9C
- adds r0, r2, r6
- mov r5, r9
- strb r5, [r0]
- ldr r1, _080BC438 @ =gSaveBlock1 + 0x1A3C
- adds r0, r1, r3
- mov r2, r9
- str r2, [r0]
- ldr r3, _080BC43C @ =gSaveBlock1 + 0x1AA2
- adds r0, r3, r6
- strb r2, [r0]
- movs r0, 0x64
- adds r5, r6, 0
- muls r5, r0
- adds r4, r5, r7
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _080BC408
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _080BC408
- movs r4, 0
- mov r0, r10
- lsls r0, 2
- mov r8, r0
- mov r1, r10
- lsls r7, r1, 1
- adds r1, 0x1
- str r1, [sp, 0x4]
- ldr r2, _080BC424 @ =gPlayerParty
-_080BC38E:
- adds r1, r4, 0
- adds r1, 0xD
- adds r0, r5, r2
- str r2, [sp, 0x8]
- bl GetMonData
- mov r3, r8
- adds r1, r3, r4
- lsls r1, 1
- ldr r3, _080BC428 @ =gSaveBlock1 + 0x1A54
- adds r1, r3, r1
- strh r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r2, [sp, 0x8]
- cmp r4, 0x3
- bls _080BC38E
- movs r0, 0x64
- adds r4, r6, 0
- muls r4, r0
- ldr r0, _080BC424 @ =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- ldr r5, _080BC42C @ =gSaveBlock1 + 0x1A84
- adds r1, r5, r7
- strh r0, [r1]
- adds r0, r4, 0
- movs r1, 0xC
- bl GetMonData
- ldr r2, _080BC430 @ =gSaveBlock1 + 0x1A90
- adds r1, r2, r7
- strh r0, [r1]
- adds r0, r4, 0
- movs r1, 0x38
- bl GetMonData
- ldr r1, _080BC434 @ =gSaveBlock1 + 0x1A9C
- add r1, r10
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- ldr r1, _080BC438 @ =gSaveBlock1 + 0x1A3C
- add r1, r8
- str r0, [r1]
- adds r0, r4, 0
- bl sub_80BC298
- ldr r1, _080BC43C @ =gSaveBlock1 + 0x1AA2
- add r1, r10
- strb r0, [r1]
- ldr r3, [sp, 0x4]
- lsls r0, r3, 16
- lsrs r0, 16
- mov r10, r0
-_080BC408:
- ldr r5, [sp]
- lsls r0, r5, 16
- lsrs r6, r0, 16
- cmp r6, 0x5
- bls _080BC314
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080BC424: .4byte gPlayerParty
-_080BC428: .4byte gSaveBlock1 + 0x1A54
-_080BC42C: .4byte gSaveBlock1 + 0x1A84
-_080BC430: .4byte gSaveBlock1 + 0x1A90
-_080BC434: .4byte gSaveBlock1 + 0x1A9C
-_080BC438: .4byte gSaveBlock1 + 0x1A3C
-_080BC43C: .4byte gSaveBlock1 + 0x1AA2
- thumb_func_end sub_80BC300
-
- thumb_func_start sub_80BC440
-sub_80BC440: @ 80BC440
- push {r4,r5,lr}
- ldr r4, _080BC45C @ =gSaveBlock1
- ldr r0, _080BC460 @ =0x00001a16
- adds r4, r0
- ldrh r5, [r4]
- movs r0, 0
- bl sub_80BB594
- strh r5, [r4]
- bl sub_80BC0F8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BC45C: .4byte gSaveBlock1
-_080BC460: .4byte 0x00001a16
- thumb_func_end sub_80BC440
-
- thumb_func_start SecretBasePC_PackUp
-SecretBasePC_PackUp: @ 80BC464
- push {lr}
- movs r0, 0x14
- bl sav12_xor_increment
- bl sub_80BC440
- pop {r0}
- bx r0
- thumb_func_end SecretBasePC_PackUp
+.section .text_80BC1D0
thumb_func_start sub_80BC474
sub_80BC474: @ 80BC474
@@ -2149,13 +91,13 @@ sub_80BC50C: @ 80BC50C
push {r4,r5,lr}
bl sub_80BC474
movs r0, 0x14
- bl sav12_xor_increment
+ bl IncrementGameStat
ldr r4, _080BC530 @ =gSaveBlock1
ldr r0, _080BC534 @ =0x00001a16
adds r4, r0
ldrh r5, [r4]
movs r0, 0
- bl sub_80BB594
+ bl ResetSecretBase
strh r5, [r4]
pop {r4,r5}
pop {r0}
@@ -2642,7 +584,7 @@ _080BC8C2:
ldrsh r1, [r4, r2]
cmp r0, r1
bne _080BC8FC
- bl sub_8072DEC
+ bl HandleDestroyMenuCursors
movs r0, 0
movs r1, 0
movs r2, 0x1D
@@ -2652,7 +594,7 @@ _080BC8C2:
bl sub_80BCC54
b _080BC940
_080BC8FC:
- bl sub_8072DEC
+ bl HandleDestroyMenuCursors
ldrb r0, [r4, 0x4]
ldrb r1, [r4, 0x2]
adds r0, r1
@@ -2672,7 +614,7 @@ _080BC91C:
beq _080BC940
movs r0, 0x5
bl PlaySE
- bl sub_8072DEC
+ bl HandleDestroyMenuCursors
movs r0, 0
movs r1, 0
movs r2, 0x1D
@@ -2729,9 +671,9 @@ sub_80BC980: @ 80BC980
lsls r4, 24
lsrs r4, 24
movs r0, 0
- bl sub_80F996C
+ bl PauseVerticalScrollIndicator
movs r0, 0x1
- bl sub_80F996C
+ bl PauseVerticalScrollIndicator
movs r0, 0x1
movs r1, 0
movs r2, 0xC
@@ -2857,7 +799,7 @@ sub_80BCA84: @ 80BCA84
bl DestroyVerticalScrollIndicator
movs r0, 0x1
bl DestroyVerticalScrollIndicator
- bl sub_8072DEC
+ bl HandleDestroyMenuCursors
movs r0, 0
movs r1, 0
movs r2, 0x1D
@@ -2898,7 +840,7 @@ sub_80BCAEC: @ 80BCAEC
bl DisplayYesNoMenu
ldr r1, _080BCB0C @ =gUnknown_083D13E4
adds r0, r4, 0
- bl sub_80F914C
+ bl DoYesNoFuncWithChoice
pop {r4}
pop {r0}
bx r0
@@ -3052,9 +994,9 @@ sub_80BCBF8: @ 80BCBF8
movs r3, 0x5
bl MenuZeroFillWindowRect
movs r0, 0
- bl sub_80F98DC
+ bl StartVerticalScrollIndicators
movs r0, 0x1
- bl sub_80F98DC
+ bl StartVerticalScrollIndicators
subs r5, 0x8
adds r4, r5
ldr r0, _080BCC50 @ =sub_80BC824