summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/battle_records.s868
-rw-r--r--asm/cable_club.s2
-rw-r--r--asm/crt0.s11
-rw-r--r--asm/easy_chat.s101
-rw-r--r--asm/field_screen_effect.s789
-rw-r--r--asm/item_menu.s9873
-rw-r--r--asm/menu_helpers.s1339
-rw-r--r--asm/pokedex_area_screen.s12
-rw-r--r--asm/pokemon_menu.s4
-rw-r--r--asm/pokenav.s10
-rw-r--r--asm/record_mixing.s543
-rw-r--r--asm/region_map.s3969
-rw-r--r--asm/rom_header.inc4
-rw-r--r--asm/trader.s656
-rw-r--r--asm/unknown_task.s645
15 files changed, 27 insertions, 18799 deletions
diff --git a/asm/battle_records.s b/asm/battle_records.s
deleted file mode 100644
index cfe822acc..000000000
--- a/asm/battle_records.s
+++ /dev/null
@@ -1,868 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_810FF78
-sub_810FF78: @ 810FF78
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- ldr r2, _0810FFA4 @ =0x01000008
- mov r0, sp
- adds r1, r4, 0
- bl CpuSet
- movs r0, 0xFF
- strb r0, [r4]
- movs r0, 0
- strh r0, [r4, 0x8]
- strh r0, [r4, 0xA]
- strh r0, [r4, 0xC]
- strh r0, [r4, 0xE]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0810FFA4: .4byte 0x01000008
- thumb_func_end sub_810FF78
-
- thumb_func_start InitLinkBattleRecords_
-InitLinkBattleRecords_: @ 810FFA8
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r5, 0x4
-_0810FFAE:
- adds r0, r4, 0
- bl sub_810FF78
- adds r4, 0x10
- subs r5, 0x1
- cmp r5, 0
- bge _0810FFAE
- movs r0, 0x17
- movs r1, 0
- bl SetGameStat
- movs r0, 0x18
- movs r1, 0
- bl SetGameStat
- movs r0, 0x19
- movs r1, 0
- bl SetGameStat
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end InitLinkBattleRecords_
-
- thumb_func_start sub_810FFDC
-sub_810FFDC: @ 810FFDC
- adds r1, r0, 0
- ldrh r0, [r1, 0xA]
- ldrh r2, [r1, 0xC]
- adds r0, r2
- ldrh r1, [r1, 0xE]
- adds r0, r1
- bx lr
- thumb_func_end sub_810FFDC
-
- thumb_func_start sub_810FFEC
-sub_810FFEC: @ 810FFEC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r1
- lsls r2, 16
- lsrs r7, r2, 16
- movs r5, 0
- ldr r6, _08110024 @ =gStringVar1
- adds r4, r0, 0
-_0810FFFE:
- adds r0, r6, 0
- adds r1, r4, 0
- movs r2, 0x7
- bl memcpy
- movs r0, 0xFF
- strb r0, [r6, 0x7]
- adds r0, r6, 0
- mov r1, r8
- bl StringCompareWithoutExtCtrlCodes
- cmp r0, 0
- bne _08110028
- ldrh r0, [r4, 0x8]
- cmp r0, r7
- bne _08110028
- adds r0, r5, 0
- b _08110032
- .align 2, 0
-_08110024: .4byte gStringVar1
-_08110028:
- adds r4, 0x10
- adds r5, 0x1
- cmp r5, 0x4
- ble _0810FFFE
- movs r0, 0x5
-_08110032:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_810FFEC
-
- thumb_func_start sub_811003C
-sub_811003C: @ 811003C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- mov r8, r0
- movs r0, 0x4
-_0811004A:
- subs r2, r0, 0x1
- mov r9, r2
- cmp r2, 0
- blt _081100A4
- lsls r0, 4
- mov r1, r8
- adds r6, r1, r0
- lsls r0, r2, 4
- adds r5, r0, r1
-_0811005C:
- adds r0, r6, 0
- str r2, [sp, 0x10]
- bl sub_810FFDC
- adds r4, r0, 0
- adds r0, r5, 0
- bl sub_810FFDC
- ldr r2, [sp, 0x10]
- cmp r4, r0
- ble _08110096
- mov r1, sp
- adds r0, r6, 0
- ldm r0!, {r3,r4,r7}
- stm r1!, {r3,r4,r7}
- ldr r0, [r0]
- str r0, [r1]
- adds r1, r6, 0
- adds r0, r5, 0
- ldm r0!, {r3,r4,r7}
- stm r1!, {r3,r4,r7}
- ldr r0, [r0]
- str r0, [r1]
- adds r1, r5, 0
- mov r0, sp
- ldm r0!, {r3,r4,r7}
- stm r1!, {r3,r4,r7}
- ldr r0, [r0]
- str r0, [r1]
-_08110096:
- subs r5, 0x10
- movs r0, 0x1
- negs r0, r0
- add r9, r0
- mov r1, r9
- cmp r1, 0
- bge _0811005C
-_081100A4:
- adds r0, r2, 0
- cmp r0, 0
- bgt _0811004A
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_811003C
-
- thumb_func_start sub_81100B8
-sub_81100B8: @ 81100B8
- push {lr}
- adds r2, r0, 0
- cmp r1, 0x2
- beq _081100E8
- cmp r1, 0x2
- bgt _081100CA
- cmp r1, 0x1
- beq _081100D0
- b _08110112
-_081100CA:
- cmp r1, 0x3
- beq _08110100
- b _08110112
-_081100D0:
- ldrh r0, [r2, 0xA]
- adds r0, 0x1
- strh r0, [r2, 0xA]
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _081100E4 @ =0x0000270f
- cmp r0, r1
- bls _08110112
- strh r1, [r2, 0xA]
- b _08110112
- .align 2, 0
-_081100E4: .4byte 0x0000270f
-_081100E8:
- ldrh r0, [r2, 0xC]
- adds r0, 0x1
- strh r0, [r2, 0xC]
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _081100FC @ =0x0000270f
- cmp r0, r1
- bls _08110112
- strh r1, [r2, 0xC]
- b _08110112
- .align 2, 0
-_081100FC: .4byte 0x0000270f
-_08110100:
- ldrh r0, [r2, 0xE]
- adds r0, 0x1
- strh r0, [r2, 0xE]
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _08110118 @ =0x0000270f
- cmp r0, r1
- bls _08110112
- strh r1, [r2, 0xE]
-_08110112:
- pop {r0}
- bx r0
- .align 2, 0
-_08110118: .4byte 0x0000270f
- thumb_func_end sub_81100B8
-
- thumb_func_start sub_811011C
-sub_811011C: @ 811011C
- push {r4,lr}
- cmp r0, 0x2
- beq _08110136
- cmp r0, 0x2
- bgt _0811012C
- cmp r0, 0x1
- beq _08110132
- b _0811014E
-_0811012C:
- cmp r0, 0x3
- beq _0811013A
- b _0811014E
-_08110132:
- movs r4, 0x17
- b _0811013C
-_08110136:
- movs r4, 0x18
- b _0811013C
-_0811013A:
- movs r4, 0x19
-_0811013C:
- adds r0, r4, 0
- bl GetGameStat
- ldr r1, _08110154 @ =0x0000270e
- cmp r0, r1
- bhi _0811014E
- adds r0, r4, 0
- bl IncrementGameStat
-_0811014E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08110154: .4byte 0x0000270e
- thumb_func_end sub_811011C
-
- thumb_func_start sub_8110158
-sub_8110158: @ 8110158
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r5, r0, 0
- adds r7, r1, 0
- mov r10, r3
- ldr r0, [sp, 0x20]
- lsls r2, 16
- lsrs r2, 16
- mov r9, r2
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- mov r0, r10
- bl sub_811011C
- adds r0, r5, 0
- bl sub_811003C
- adds r0, r5, 0
- adds r1, r7, 0
- mov r2, r9
- bl sub_810FFEC
- adds r6, r0, 0
- cmp r6, 0x5
- bne _081101CC
- movs r6, 0x4
- adds r4, r5, 0
- adds r4, 0x40
- adds r0, r4, 0
- bl sub_810FF78
- mov r0, r8
- cmp r0, 0x1
- bne _081101BA
- movs r0, 0xFC
- strb r0, [r4]
- movs r0, 0x15
- strb r0, [r4, 0x1]
- adds r0, r5, 0
- adds r0, 0x42
- adds r1, r7, 0
- movs r2, 0x5
- bl StringCopyN
- b _081101C4
-_081101BA:
- adds r0, r4, 0
- adds r1, r7, 0
- movs r2, 0x7
- bl StringCopyN
-_081101C4:
- lsls r0, r6, 4
- adds r0, r5, r0
- mov r1, r9
- strh r1, [r0, 0x8]
-_081101CC:
- lsls r0, r6, 4
- adds r0, r5, r0
- mov r1, r10
- bl sub_81100B8
- adds r0, r5, 0
- bl sub_811003C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8110158
-
- thumb_func_start InitLinkBattleRecords
-InitLinkBattleRecords: @ 81101EC
- push {lr}
- ldr r0, _081101F8 @ =gSaveBlock1 + 0x30B8
- bl InitLinkBattleRecords_
- pop {r0}
- bx r0
- .align 2, 0
-_081101F8: .4byte gSaveBlock1 + 0x30B8
- thumb_func_end InitLinkBattleRecords
-
- thumb_func_start sub_81101FC
-sub_81101FC: @ 81101FC
- push {lr}
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 3
- ldr r0, _08110220 @ =gTrainerCards + 0x14
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- ldr r2, _08110224 @ =0x0000270f
- cmp r0, r2
- bls _0811021A
- strh r2, [r1]
-_0811021A:
- pop {r0}
- bx r0
- .align 2, 0
-_08110220: .4byte gTrainerCards + 0x14
-_08110224: .4byte 0x0000270f
- thumb_func_end sub_81101FC
-
- thumb_func_start sub_8110228
-sub_8110228: @ 8110228
- push {lr}
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 3
- ldr r0, _0811024C @ =gTrainerCards + 0x16
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- ldr r2, _08110250 @ =0x0000270f
- cmp r0, r2
- bls _08110246
- strh r2, [r1]
-_08110246:
- pop {r0}
- bx r0
- .align 2, 0
-_0811024C: .4byte gTrainerCards + 0x16
-_08110250: .4byte 0x0000270f
- thumb_func_end sub_8110228
-
- thumb_func_start sub_8110254
-sub_8110254: @ 8110254
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _08110268 @ =gBattleOutcome
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0811026C
- cmp r0, 0x2
- beq _0811027A
- b _08110288
- .align 2, 0
-_08110268: .4byte gBattleOutcome
-_0811026C:
- eors r0, r4
- bl sub_81101FC
- adds r0, r4, 0
- bl sub_8110228
- b _08110288
-_0811027A:
- movs r0, 0x1
- eors r0, r4
- bl sub_8110228
- adds r0, r4, 0
- bl sub_81101FC
-_08110288:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8110254
-
- thumb_func_start sub_8110290
-sub_8110290: @ 8110290
- push {r4-r6,lr}
- sub sp, 0x4
- adds r4, r0, 0
- bl sub_8110254
- ldr r0, _081102D4 @ =gSaveBlock1 + 0x30B8
- lsls r2, r4, 3
- subs r2, r4
- lsls r2, 3
- ldr r3, _081102D8 @ =gTrainerCards + 0x30
- adds r1, r2, r3
- subs r3, 0x30
- adds r2, r3
- ldrh r2, [r2, 0xE]
- ldr r3, _081102DC @ =gBattleOutcome
- ldrb r3, [r3]
- ldr r6, _081102E0 @ =gLinkPlayers
- ldr r5, _081102E4 @ =gLinkPlayerMapObjects
- lsls r4, 2
- adds r4, r5
- ldrb r5, [r4, 0x1]
- lsls r4, r5, 3
- subs r4, r5
- lsls r4, 2
- adds r4, r6
- ldrb r4, [r4, 0x1A]
- str r4, [sp]
- bl sub_8110158
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081102D4: .4byte gSaveBlock1 + 0x30B8
-_081102D8: .4byte gTrainerCards + 0x30
-_081102DC: .4byte gBattleOutcome
-_081102E0: .4byte gLinkPlayers
-_081102E4: .4byte gLinkPlayerMapObjects
- thumb_func_end sub_8110290
-
- thumb_func_start PrintLinkBattleWinsLossesDraws
-PrintLinkBattleWinsLossesDraws: @ 81102E8
- push {r4,lr}
- ldr r4, _08110338 @ =gStringVar1
- movs r0, 0x17
- bl GetGameStat
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x4
- bl ConvertIntToDecimalStringN_DigitWidth6
- ldr r4, _0811033C @ =gStringVar2
- movs r0, 0x18
- bl GetGameStat
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x4
- bl ConvertIntToDecimalStringN_DigitWidth6
- ldr r4, _08110340 @ =gStringVar3
- movs r0, 0x19
- bl GetGameStat
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x4
- bl ConvertIntToDecimalStringN_DigitWidth6
- ldr r0, _08110344 @ =gOtherText_WinRecord
- movs r1, 0x3
- movs r2, 0x3
- bl MenuPrint
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08110338: .4byte gStringVar1
-_0811033C: .4byte gStringVar2
-_08110340: .4byte gStringVar3
-_08110344: .4byte gOtherText_WinRecord
- thumb_func_end PrintLinkBattleWinsLossesDraws
-
- thumb_func_start PrintLinkBattleRecord
-PrintLinkBattleRecord: @ 8110348
- push {r4-r7,lr}
- sub sp, 0x10
- adds r7, r0, 0
- lsls r1, 24
- lsrs r6, r1, 24
- ldrh r0, [r7, 0xA]
- cmp r0, 0
- bne _081103C0
- ldr r0, [r7, 0xC]
- cmp r0, 0
- bne _081103C0
- mov r0, sp
- movs r2, 0xFC
- strb r2, [r0]
- mov r1, sp
- movs r0, 0x14
- strb r0, [r1, 0x1]
- movs r0, 0x6
- strb r0, [r1, 0x2]
- mov r0, sp
- strb r2, [r0, 0x3]
- movs r0, 0x11
- strb r0, [r1, 0x4]
- movs r0, 0x1
- strb r0, [r1, 0x5]
- mov r4, sp
- adds r4, 0x6
- ldr r1, _081103B8 @ =gOtherText_SevenDashes
- adds r0, r4, 0
- bl StringCopy
- mov r0, sp
- movs r1, 0x3
- adds r2, r6, 0
- bl MenuPrint
- ldr r1, _081103BC @ =gOtherText_FourDashes
- adds r0, r4, 0
- bl StringCopy
- mov r0, sp
- movs r1, 0xB
- adds r2, r6, 0
- bl MenuPrint
- mov r0, sp
- movs r1, 0x11
- adds r2, r6, 0
- bl MenuPrint
- mov r0, sp
- movs r1, 0x17
- adds r2, r6, 0
- bl MenuPrint
- b _0811042E
- .align 2, 0
-_081103B8: .4byte gOtherText_SevenDashes
-_081103BC: .4byte gOtherText_FourDashes
-_081103C0:
- ldr r4, _08110438 @ =gStringVar1
- adds r0, r4, 0
- movs r1, 0x8
- bl StringFillWithTerminator
- adds r0, r4, 0
- adds r1, r7, 0
- movs r2, 0x7
- bl StringCopyN
- adds r0, r4, 0
- movs r1, 0x3
- adds r2, r6, 0
- bl MenuPrint
- movs r0, 0xFC
- strb r0, [r4]
- movs r0, 0x14
- strb r0, [r4, 0x1]
- movs r0, 0x6
- strb r0, [r4, 0x2]
- adds r5, r4, 0x3
- ldrh r1, [r7, 0xA]
- adds r0, r5, 0
- movs r2, 0x1
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- adds r0, r4, 0
- movs r1, 0xB
- adds r2, r6, 0
- bl MenuPrint
- ldrh r1, [r7, 0xC]
- adds r0, r5, 0
- movs r2, 0x1
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- adds r0, r4, 0
- movs r1, 0x11
- adds r2, r6, 0
- bl MenuPrint
- ldrh r1, [r7, 0xE]
- adds r0, r5, 0
- movs r2, 0x1
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- adds r0, r4, 0
- movs r1, 0x17
- adds r2, r6, 0
- bl MenuPrint
-_0811042E:
- add sp, 0x10
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08110438: .4byte gStringVar1
- thumb_func_end PrintLinkBattleRecord
-
-.section .text_8110494
-
- thumb_func_start sub_8110494
-sub_8110494: @ 8110494
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _081104B4 @ =gSaveBlock2 + 0xA8
- ldr r2, _081104B8 @ =0x000004ae
- adds r1, r2
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x6
- bhi _081104E0
- lsls r0, 2
- ldr r1, _081104BC @ =_081104C0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_081104B4: .4byte gSaveBlock2 + 0xA8
-_081104B8: .4byte 0x000004ae
-_081104BC: .4byte _081104C0
- .align 2, 0
-_081104C0:
- .4byte _081104E0
- .4byte _081104E0
- .4byte _081104DC
- .4byte _081104DC
- .4byte _081104E0
- .4byte _081104E0
- .4byte _081104DC
-_081104DC:
- movs r0, 0x1
- b _081104E2
-_081104E0:
- movs r0, 0
-_081104E2:
- pop {r1}
- bx r1
- thumb_func_end sub_8110494
-
- thumb_func_start sub_81104E8
-sub_81104E8: @ 81104E8
- push {r4-r6,lr}
- lsls r1, 16
- lsrs r4, r1, 16
- lsls r2, 24
- lsrs r2, 24
- adds r5, r2, 0
- lsls r3, 24
- lsrs r3, 24
- adds r6, r3, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl MenuPrint
- ldr r0, _0811052C @ =0x0000270f
- cmp r4, r0
- bls _0811050A
- adds r4, r0, 0
-_0811050A:
- ldr r0, _08110530 @ =gStringVar1
- adds r1, r4, 0
- movs r2, 0x18
- movs r3, 0x1
- bl sub_8072C14
- ldr r0, _08110534 @ =gOtherText_WinStreak
- adds r1, r5, 0x7
- lsls r1, 24
- lsrs r1, 24
- adds r2, r6, 0
- bl MenuPrint
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0811052C: .4byte 0x0000270f
-_08110530: .4byte gStringVar1
-_08110534: .4byte gOtherText_WinStreak
- thumb_func_end sub_81104E8
-
- thumb_func_start sub_8110538
-sub_8110538: @ 8110538
- push {r4,lr}
- adds r4, r1, 0
- adds r3, r2, 0
- lsls r0, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r3, 24
- lsrs r3, 24
- ldr r1, _08110564 @ =gSaveBlock2 + 0xA8
- lsrs r0, 23
- movs r2, 0x97
- lsls r2, 3
- adds r1, r2
- adds r0, r1
- ldrh r1, [r0]
- ldr r0, _08110568 @ =gOtherText_Record
- adds r2, r4, 0
- bl sub_81104E8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08110564: .4byte gSaveBlock2 + 0xA8
-_08110568: .4byte gOtherText_Record
- thumb_func_end sub_8110538
-
- thumb_func_start sub_811056C
-sub_811056C: @ 811056C
- push {lr}
- lsls r0, 24
- ldr r1, _08110588 @ =gSaveBlock2
- lsrs r0, 23
- ldr r2, _0811058C @ =0x00000574
- adds r1, r2
- adds r0, r1
- ldrh r0, [r0]
- ldr r1, _08110590 @ =0x0000270f
- cmp r0, r1
- bls _08110584
- adds r0, r1, 0
-_08110584:
- pop {r1}
- bx r1
- .align 2, 0
-_08110588: .4byte gSaveBlock2
-_0811058C: .4byte 0x00000574
-_08110590: .4byte 0x0000270f
- thumb_func_end sub_811056C
-
- thumb_func_start sub_8110594
-sub_8110594: @ 8110594
- push {r4-r7,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r7, r2, 24
- adds r0, r4, 0
- bl sub_811056C
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0
- bl sub_8110494
- cmp r0, 0x1
- bne _081105CC
- ldr r0, _081105C8 @ =gOtherText_Current
- adds r1, r5, 0
- adds r2, r6, 0
- adds r3, r7, 0
- bl sub_81104E8
- b _081105D8
- .align 2, 0
-_081105C8: .4byte gOtherText_Current
-_081105CC:
- ldr r0, _081105E0 @ =gOtherText_Prev
- adds r1, r5, 0
- adds r2, r6, 0
- adds r3, r7, 0
- bl sub_81104E8
-_081105D8:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081105E0: .4byte gOtherText_Prev
- thumb_func_end sub_8110594
-
- thumb_func_start ShowBattleTowerRecords
-ShowBattleTowerRecords: @ 81105E4
- push {r4,lr}
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0x1B
- movs r3, 0x11
- bl MenuDrawTextWindow
- ldr r0, _08110658 @ =gOtherText_BattleTowerResults
- movs r1, 0x3
- movs r2, 0x2
- movs r3, 0xC8
- bl sub_8072BD8
- ldr r0, _0811065C @ =gOtherText_Lv50
- movs r1, 0x5
- movs r2, 0x6
- bl MenuPrint
- ldr r0, _08110660 @ =gOtherText_Lv100
- movs r1, 0x5
- movs r2, 0xC
- bl MenuPrint
- movs r4, 0x5
-_08110614:
- lsls r1, r4, 24
- lsrs r1, 24
- movs r0, 0xAE
- movs r2, 0xA
- bl sub_8071F60
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x19
- bls _08110614
- movs r0, 0
- movs r1, 0xA
- movs r2, 0x6
- bl sub_8110594
- movs r0, 0
- movs r1, 0xA
- movs r2, 0x8
- bl sub_8110538
- movs r0, 0x1
- movs r1, 0xA
- movs r2, 0xC
- bl sub_8110594
- movs r0, 0x1
- movs r1, 0xA
- movs r2, 0xE
- bl sub_8110538
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08110658: .4byte gOtherText_BattleTowerResults
-_0811065C: .4byte gOtherText_Lv50
-_08110660: .4byte gOtherText_Lv100
- thumb_func_end ShowBattleTowerRecords
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/cable_club.s b/asm/cable_club.s
index 7e5d19c24..68804ca21 100644
--- a/asm/cable_club.s
+++ b/asm/cable_club.s
@@ -1215,7 +1215,7 @@ sub_8083958: @ 8083958
ldrb r1, [r0]
movs r0, 0x1
eors r0, r1
- bl sub_8110290
+ bl UpdateLinkBattleRecords
_0808397E:
ldr r0, _08083998 @ =gMain
ldr r1, _0808399C @ =sub_805465C
diff --git a/asm/crt0.s b/asm/crt0.s
index 121b11744..049392be9 100644
--- a/asm/crt0.s
+++ b/asm/crt0.s
@@ -1,4 +1,6 @@
.include "constants/gba_constants.inc"
+ .include "constants/misc_constants.inc"
+ .include "constants/version.inc"
.syntax unified
@@ -47,10 +49,15 @@ GPIOPortReadEnable: @ 80000C8
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
- .4byte 2
- .4byte 5
+ .4byte GAME_VERSION
+ .4byte GAME_LANGUAGE
+ .ifdef SAPPHIRE
+ .ascii "pokemon sapphire version"
+ .space 8
+ .else
.ascii "pokemon ruby version"
.space 12
+ .endif
.4byte gMonFrontPicTable
.4byte gMonBackPicTable
.4byte gMonPaletteTable
diff --git a/asm/easy_chat.s b/asm/easy_chat.s
index c34212a24..6b85e1e76 100644
--- a/asm/easy_chat.s
+++ b/asm/easy_chat.s
@@ -10730,105 +10730,4 @@ _080EB3F6:
bx r1
thumb_func_end sub_80EB37C
- thumb_func_start sub_80EB3FC
-sub_80EB3FC: @ 80EB3FC
- push {r4-r7,lr}
- adds r5, r0, 0
- lsls r6, r1, 16
- lsrs r4, r6, 16
- adds r7, r4, 0
- adds r0, r4, 0
- bl sub_80EB37C
- lsls r0, 24
- cmp r0, 0
- beq _080EB420
- ldr r1, _080EB41C @ =gOtherText_ThreeQuestions
- adds r0, r5, 0
- bl StringCopy
- b _080EB4A6
- .align 2, 0
-_080EB41C: .4byte gOtherText_ThreeQuestions
-_080EB420:
- ldr r0, _080EB43C @ =0x0000ffff
- cmp r4, r0
- beq _080EB4A0
- lsrs r1, r6, 25
- ldr r2, _080EB440 @ =0x000001ff
- ands r2, r7
- cmp r1, 0x13
- bgt _080EB444
- cmp r1, 0x12
- bge _080EB458
- cmp r1, 0
- beq _080EB448
- b _080EB468
- .align 2, 0
-_080EB43C: .4byte 0x0000ffff
-_080EB440: .4byte 0x000001ff
-_080EB444:
- cmp r1, 0x15
- bne _080EB468
-_080EB448:
- movs r0, 0xB
- adds r1, r2, 0
- muls r1, r0
- ldr r0, _080EB454 @ =gSpeciesNames
- adds r1, r0
- b _080EB498
- .align 2, 0
-_080EB454: .4byte gSpeciesNames
-_080EB458:
- movs r0, 0xD
- adds r1, r2, 0
- muls r1, r0
- ldr r0, _080EB464 @ =gMoveNames
- adds r1, r0
- b _080EB498
- .align 2, 0
-_080EB464: .4byte gMoveNames
-_080EB468:
- ldr r0, _080EB4AC @ =gEasyChatGroupWords
- lsls r1, 2
- adds r1, r0
- ldr r1, [r1]
- subs r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, _080EB4B0 @ =0x0000ffff
- cmp r2, r0
- beq _080EB498
- adds r3, r0, 0
-_080EB47E:
- ldrb r0, [r1]
- adds r1, 0x1
- subs r2, 0x1
- cmp r0, 0xFF
- beq _080EB490
-_080EB488:
- ldrb r0, [r1]
- adds r1, 0x1
- cmp r0, 0xFF
- bne _080EB488
-_080EB490:
- lsls r0, r2, 16
- lsrs r2, r0, 16
- cmp r2, r3
- bne _080EB47E
-_080EB498:
- adds r0, r5, 0
- bl StringCopy
- adds r5, r0, 0
-_080EB4A0:
- movs r0, 0xFF
- strb r0, [r5]
- adds r0, r5, 0
-_080EB4A6:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080EB4AC: .4byte gEasyChatGroupWords
-_080EB4B0: .4byte 0x0000ffff
- thumb_func_end sub_80EB3FC
-
.align 2, 0 @ Don't pad with nop.
diff --git a/asm/field_screen_effect.s b/asm/field_screen_effect.s
deleted file mode 100644
index 4fbfae1a2..000000000
--- a/asm/field_screen_effect.s
+++ /dev/null
@@ -1,789 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_808136C
-sub_808136C: @ 808136C
- push {lr}
- cmp r1, 0xA0
- bhi _08081394
- cmp r2, 0
- bge _08081378
- movs r2, 0
-_08081378:
- cmp r2, 0xFF
- ble _0808137E
- movs r2, 0xFF
-_0808137E:
- cmp r3, 0
- bge _08081384
- movs r3, 0
-_08081384:
- cmp r3, 0xFF
- ble _0808138A
- movs r3, 0xFF
-_0808138A:
- lsls r1, 1
- adds r1, r0
- lsls r0, r2, 8
- orrs r0, r3
- strh r0, [r1]
-_08081394:
- pop {r0}
- bx r0
- thumb_func_end sub_808136C
-
- thumb_func_start sub_8081398
-sub_8081398: @ 8081398
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- str r0, [sp]
- mov r10, r1
- mov r9, r2
- adds r6, r3, 0
- mov r8, r6
- movs r7, 0
- cmp r6, 0
- blt _08081414
-_080813B4:
- mov r0, r9
- subs r1, r0, r7
- mov r0, r10
- subs r4, r0, r6
- adds r5, r0, r6
- ldr r0, [sp]
- adds r2, r4, 0
- adds r3, r5, 0
- bl sub_808136C
- mov r0, r9
- adds r1, r0, r7
- ldr r0, [sp]
- adds r2, r4, 0
- adds r3, r5, 0
- bl sub_808136C
- mov r0, r9
- subs r1, r0, r6
- mov r0, r10
- subs r4, r0, r7
- adds r5, r0, r7
- ldr r0, [sp]
- adds r2, r4, 0
- adds r3, r5, 0
- bl sub_808136C
- mov r0, r9
- adds r1, r0, r6
- ldr r0, [sp]
- adds r2, r4, 0
- adds r3, r5, 0
- bl sub_808136C
- mov r1, r8
- adds r1, 0x1
- lsls r0, r7, 1
- subs r1, r0
- mov r8, r1
- adds r7, 0x1
- cmp r1, 0
- bge _08081410
- subs r1, r6, 0x1
- lsls r0, r1, 1
- add r8, r0
- adds r6, r1, 0
-_08081410:
- cmp r6, r7
- bge _080813B4
-_08081414:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8081398
-
- thumb_func_start sub_8081424
-sub_8081424: @ 8081424
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _08081448 @ =gTasks + 0x8
- adds r4, r0, r1
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _08081480
- cmp r0, 0x1
- bgt _0808144C
- cmp r0, 0
- beq _08081452
- b _080814E2
- .align 2, 0
-_08081448: .4byte gTasks + 0x8
-_0808144C:
- cmp r0, 0x2
- beq _080814D8
- b _080814E2
-_08081452:
- ldr r0, _08081478 @ =gUnknown_03004DC0
- ldrb r1, [r0, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- ldr r1, _0808147C @ =gUnknown_03004DE0
- adds r0, r1
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- movs r5, 0x6
- ldrsh r3, [r4, r5]
- bl sub_8081398
- movs r0, 0x1
- strh r0, [r4]
- b _080814E2
- .align 2, 0
-_08081478: .4byte gUnknown_03004DC0
-_0808147C: .4byte gUnknown_03004DE0
-_08081480:
- ldr r0, _080814C8 @ =gUnknown_03004DC0
- ldrb r1, [r0, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- ldr r1, _080814CC @ =gUnknown_03004DE0
- adds r0, r1
- movs r6, 0x2
- ldrsh r1, [r4, r6]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- movs r6, 0x6
- ldrsh r3, [r4, r6]
- bl sub_8081398
- movs r0, 0
- strh r0, [r4]
- ldrh r0, [r4, 0xA]
- ldrh r1, [r4, 0x6]
- adds r0, r1
- strh r0, [r4, 0x6]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x8
- ldrsh r1, [r4, r2]
- cmp r0, r1
- ble _080814E2
- movs r3, 0xC
- ldrsh r0, [r4, r3]
- cmp r0, 0x1
- bne _080814D0
- bl remove_some_task
- movs r0, 0x2
- strh r0, [r4]
- b _080814E2
- .align 2, 0
-_080814C8: .4byte gUnknown_03004DC0
-_080814CC: .4byte gUnknown_03004DE0
-_080814D0:
- adds r0, r5, 0
- bl DestroyTask
- b _080814E2
-_080814D8:
- bl dp12_8087EA4
- adds r0, r5, 0
- bl DestroyTask
-_080814E2:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8081424
-
- thumb_func_start sub_80814E8
-sub_80814E8: @ 80814E8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0808150C @ =sub_8081424
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _08081504
- bl EnableBothScriptContexts
- adds r0, r4, 0
- bl DestroyTask
-_08081504:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808150C: .4byte sub_8081424
- thumb_func_end sub_80814E8
-
- thumb_func_start sub_8081510
-sub_8081510: @ 8081510
- push {r4,lr}
- ldr r4, _08081530 @ =sub_80814E8
- adds r0, r4, 0
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _08081528
- adds r0, r4, 0
- movs r1, 0x50
- bl CreateTask
-_08081528:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08081530: .4byte sub_80814E8
- thumb_func_end sub_8081510
-
- thumb_func_start sub_8081534
-sub_8081534: @ 8081534
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r8, r0
- mov r9, r1
- adds r5, r2, 0
- adds r4, r3, 0
- ldr r6, [sp, 0x1C]
- ldr r0, [sp, 0x20]
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, _08081578 @ =sub_8081424
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _0808157C @ =gTasks + 0x8
- adds r1, r0, r1
- strh r5, [r1, 0x6]
- strh r4, [r1, 0x8]
- mov r0, r8
- strh r0, [r1, 0x2]
- mov r0, r9
- strh r0, [r1, 0x4]
- strh r6, [r1, 0xC]
- cmp r5, r4
- bge _08081580
- strh r7, [r1, 0xA]
- b _08081584
- .align 2, 0
-_08081578: .4byte sub_8081424
-_0808157C: .4byte gTasks + 0x8
-_08081580:
- negs r0, r7
- strh r0, [r1, 0xA]
-_08081584:
- adds r0, r2, 0
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8081534
-
- thumb_func_start sub_8081594
-sub_8081594: @ 8081594
- push {r4,r5,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- bl sav1_get_flash_used_on_map
- lsls r0, 24
- lsrs r0, 24
- movs r5, 0
- cmp r4, 0
- bne _080815AE
- movs r5, 0x1
-_080815AE:
- ldr r1, _080815DC @ =gUnknown_0839ACDC
- lsls r0, 1
- adds r0, r1
- ldrh r2, [r0]
- lsls r0, r4, 1
- adds r0, r1
- ldrh r3, [r0]
- str r5, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r0, 0x78
- movs r1, 0x50
- bl sub_8081534
- bl sub_8081510
- bl ScriptContext2_Enable
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080815DC: .4byte gUnknown_0839ACDC
- thumb_func_end sub_8081594
-
- thumb_func_start sub_80815E0
-sub_80815E0: @ 80815E0
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _0808160E
- ldr r4, _08081614 @ =gUnknown_03004DE0
- ldr r1, _08081618 @ =gUnknown_0839ACDC
- lsls r0, 1
- adds r0, r1
- ldrh r3, [r0]
- adds r0, r4, 0
- movs r1, 0x78
- movs r2, 0x50
- bl sub_8081398
- movs r0, 0xF0
- lsls r0, 3
- adds r1, r4, r0
- movs r2, 0xF0
- lsls r2, 1
- adds r0, r4, 0
- bl CpuFastSet
-_0808160E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08081614: .4byte gUnknown_03004DE0
-_08081618: .4byte gUnknown_0839ACDC
- thumb_func_end sub_80815E0
-
- thumb_func_start sub_808161C
-sub_808161C: @ 808161C
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- cmp r0, 0
- bne _0808162A
- movs r1, 0x1F
- b _08081630
-_0808162A:
- movs r0, 0xF8
- lsls r0, 7
- adds r1, r0, 0
-_08081630:
- mov r0, sp
- strh r1, [r0]
- movs r5, 0
- movs r4, 0xF0
- lsls r4, 16
-_0808163A:
- lsrs r1, r4, 16
- mov r0, sp
- movs r2, 0x2
- bl LoadPalette
- movs r0, 0x80
- lsls r0, 9
- adds r4, r0
- adds r5, 0x1
- cmp r5, 0xF
- ble _0808163A
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_808161C
-
- thumb_func_start sub_8081658
-sub_8081658: @ 8081658
- push {lr}
- lsls r0, 16
- ldr r2, _08081678 @ =REG_BLDALPHA
- ldrh r1, [r2]
- lsls r1, 24
- lsrs r3, r1, 24
- ldrh r1, [r2]
- lsrs r2, r1, 8
- cmp r0, 0
- beq _0808167C
- cmp r3, 0
- beq _08081686
- subs r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- b _08081686
- .align 2, 0
-_08081678: .4byte REG_BLDALPHA
-_0808167C:
- cmp r2, 0xF
- bhi _08081686
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
-_08081686:
- ldr r1, _0808169C @ =REG_BLDALPHA
- lsls r0, r2, 8
- orrs r0, r3
- strh r0, [r1]
- cmp r3, 0
- bne _080816A0
- cmp r2, 0x10
- bne _080816A0
- movs r0, 0x1
- b _080816A2
- .align 2, 0
-_0808169C: .4byte REG_BLDALPHA
-_080816A0:
- movs r0, 0
-_080816A2:
- pop {r1}
- bx r1
- thumb_func_end sub_8081658
-
- thumb_func_start sub_80816A8
-sub_80816A8: @ 80816A8
- push {r4-r7,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _080816D0 @ =gTasks + 0x8
- adds r7, r0, r1
- movs r1, 0
- ldrsh r0, [r7, r1]
- cmp r0, 0x7
- bls _080816C4
- b _08081892
-_080816C4:
- lsls r0, 2
- ldr r1, _080816D4 @ =_080816D8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080816D0: .4byte gTasks + 0x8
-_080816D4: .4byte _080816D8
- .align 2, 0
-_080816D8:
- .4byte _080816F8
- .4byte _08081790
- .4byte _080817BC
- .4byte _080817D8
- .4byte _080817EE
- .4byte _08081852
- .4byte _08081818
- .4byte _08081826
-_080816F8:
- movs r2, 0x80
- lsls r2, 19
- ldrh r0, [r2]
- strh r0, [r7, 0xC]
- ldr r3, _0808176C @ =REG_BLDCNT
- ldrh r0, [r3]
- strh r0, [r7, 0xE]
- ldr r6, _08081770 @ =REG_BLDALPHA
- ldrh r0, [r6]
- strh r0, [r7, 0x10]
- ldr r5, _08081774 @ =REG_WININ
- ldrh r0, [r5]
- strh r0, [r7, 0x12]
- ldr r4, _08081778 @ =REG_WINOUT
- ldrh r0, [r4]
- strh r0, [r7, 0x14]
- ldrh r1, [r2]
- ldr r0, _0808177C @ =0x0000bfff
- ands r0, r1
- strh r0, [r2]
- ldr r1, _08081780 @ =gUnknown_081E29E8
- ldrh r0, [r3]
- ldrh r1, [r1]
- orrs r0, r1
- strh r0, [r3]
- ldr r2, _08081784 @ =0x0000070c
- adds r0, r2, 0
- strh r0, [r6]
- movs r0, 0x3F
- strh r0, [r5]
- movs r0, 0x1E
- strh r0, [r4]
- ldr r4, _08081788 @ =gUnknown_03004DE0
- movs r0, 0x4
- ldrsh r1, [r7, r0]
- movs r0, 0x6
- ldrsh r2, [r7, r0]
- adds r0, r4, 0
- movs r3, 0x1
- bl sub_8081398
- movs r2, 0xF0
- lsls r2, 3
- adds r1, r4, r2
- movs r2, 0xF0
- lsls r2, 1
- adds r0, r4, 0
- bl CpuFastSet
- ldr r2, _0808178C @ =gUnknown_0839ACEC
- ldr r0, [r2]
- ldr r1, [r2, 0x4]
- ldr r2, [r2, 0x8]
- bl sub_80895F8
- movs r0, 0x1
- strh r0, [r7]
- b _08081892
- .align 2, 0
-_0808176C: .4byte REG_BLDCNT
-_08081770: .4byte REG_BLDALPHA
-_08081774: .4byte REG_WININ
-_08081778: .4byte REG_WINOUT
-_0808177C: .4byte 0x0000bfff
-_08081780: .4byte gUnknown_081E29E8
-_08081784: .4byte 0x0000070c
-_08081788: .4byte gUnknown_03004DE0
-_0808178C: .4byte gUnknown_0839ACEC
-_08081790:
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuFillWindowRectWithBlankTile
- ldrb r0, [r7, 0x2]
- bl sub_808161C
- movs r1, 0x4
- ldrsh r0, [r7, r1]
- movs r2, 0x6
- ldrsh r1, [r7, r2]
- movs r2, 0x1
- str r2, [sp]
- movs r4, 0x2
- str r4, [sp, 0x4]
- movs r3, 0xA0
- bl sub_8081534
- strh r4, [r7]
- b _08081892
-_080817BC:
- ldr r0, _080817D4 @ =sub_8081424
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _08081892
- bl EnableBothScriptContexts
- movs r0, 0x3
- strh r0, [r7]
- b _08081892
- .align 2, 0
-_080817D4: .4byte sub_8081424
-_080817D8:
- bl InstallCameraPanAheadCallback
- movs r0, 0
- bl SetCameraPanningCallback
- movs r0, 0
- strh r0, [r7, 0xA]
- movs r0, 0x4
- strh r0, [r7, 0x8]
- strh r0, [r7]
- b _08081892
-_080817EE:
- ldrh r0, [r7, 0x8]
- subs r0, 0x1
- strh r0, [r7, 0x8]
- lsls r0, 16
- cmp r0, 0
- bne _08081892
- movs r0, 0x4
- strh r0, [r7, 0x8]
- ldrh r0, [r7, 0xA]
- movs r1, 0x1
- eors r0, r1
- strh r0, [r7, 0xA]
- movs r1, 0x4
- negs r1, r1
- cmp r0, 0
- beq _08081810
- movs r1, 0x4
-_08081810:
- movs r0, 0
- bl SetCameraPanning
- b _08081892
-_08081818:
- bl InstallCameraPanAheadCallback
- movs r0, 0x8
- strh r0, [r7, 0x8]
- movs r0, 0x7
- strh r0, [r7]
- b _08081892
-_08081826:
- ldrh r0, [r7, 0x8]
- subs r0, 0x1
- strh r0, [r7, 0x8]
- lsls r0, 16
- cmp r0, 0
- bne _08081892
- movs r0, 0x8
- strh r0, [r7, 0x8]
- ldrh r0, [r7, 0xA]
- movs r1, 0x1
- eors r0, r1
- strh r0, [r7, 0xA]
- ldrh r0, [r7, 0xA]
- bl sub_8081658
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08081892
- movs r0, 0x5
- strh r0, [r7]
- b _08081892
-_08081852:
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r0, _0808189C @ =gWindowConfig_81E6CE4
- bl LoadFontDefaultPalette
- ldr r1, _080818A0 @ =REG_WIN0H
- movs r0, 0xFF
- strh r0, [r1]
- subs r1, 0x40
- ldrh r0, [r7, 0xC]
- strh r0, [r1]
- adds r1, 0x50
- ldrh r0, [r7, 0xE]
- strh r0, [r1]
- adds r1, 0x2
- ldrh r0, [r7, 0x10]
- strh r0, [r1]
- subs r1, 0xA
- ldrh r0, [r7, 0x12]
- strh r0, [r1]
- adds r1, 0x2
- ldrh r0, [r7, 0x14]
- strh r0, [r1]
- bl EnableBothScriptContexts
- adds r0, r4, 0
- bl DestroyTask
-_08081892:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808189C: .4byte gWindowConfig_81E6CE4
-_080818A0: .4byte REG_WIN0H
- thumb_func_end sub_80816A8
-
- thumb_func_start sub_80818A4
-sub_80818A4: @ 80818A4
- push {lr}
- ldr r0, _080818CC @ =sub_80816A8
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080818D0 @ =gTasks + 0x8
- adds r1, r0
- ldr r0, _080818D4 @ =gScriptResult
- ldrh r0, [r0]
- cmp r0, 0
- bne _080818D8
- strh r0, [r1, 0x2]
- movs r0, 0x68
- b _080818F0
- .align 2, 0
-_080818CC: .4byte sub_80816A8
-_080818D0: .4byte gTasks + 0x8
-_080818D4: .4byte gScriptResult
-_080818D8:
- cmp r0, 0x1
- bne _080818E2
- strh r0, [r1, 0x2]
- movs r0, 0x68
- b _080818F0
-_080818E2:
- cmp r0, 0x2
- bne _080818EA
- movs r0, 0
- b _080818EC
-_080818EA:
- movs r0, 0x1
-_080818EC:
- strh r0, [r1, 0x2]
- movs r0, 0x78
-_080818F0:
- strh r0, [r1, 0x4]
- movs r0, 0x50
- strh r0, [r1, 0x6]
- pop {r0}
- bx r0
- thumb_func_end sub_80818A4
-
- thumb_func_start sub_80818FC
-sub_80818FC: @ 80818FC
- push {lr}
- ldr r0, _0808191C @ =sub_80816A8
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08081920 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0x6
- strh r0, [r1, 0x8]
- pop {r0}
- bx r0
- .align 2, 0
-_0808191C: .4byte sub_80816A8
-_08081920: .4byte gTasks
- thumb_func_end sub_80818FC
-
- thumb_func_start sub_8081924
-sub_8081924: @ 8081924
- push {lr}
- bl sub_8054044
- ldr r0, _08081938 @ =task50_0807F0C8
- movs r1, 0x50
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_08081938: .4byte task50_0807F0C8
- thumb_func_end sub_8081924
-
- thumb_func_start task50_0807F0C8
-task50_0807F0C8: @ 808193C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_8054034
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08081958
- adds r0, r4, 0
- bl DestroyTask
- bl EnableBothScriptContexts
-_08081958:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end task50_0807F0C8
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/item_menu.s b/asm/item_menu.s
deleted file mode 100644
index 17e399160..000000000
--- a/asm/item_menu.s
+++ /dev/null
@@ -1,9873 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80A3118
-sub_80A3118: @ 80A3118
- push {lr}
- bl AnimateSprites
- bl BuildOamBuffer
- bl RunTasks
- bl sub_80A740C
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_80A3118
-
- thumb_func_start sub_80A3134
-sub_80A3134: @ 80A3134
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- ldr r1, _080A3168 @ =gBGTilemapBuffers + 0x800
- ldr r2, _080A316C @ =0x06002000
- ldr r0, _080A3170 @ =0x040000d4
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r3, _080A3174 @ =0x80000400
- str r3, [r0, 0x8]
- ldr r2, [r0, 0x8]
- movs r2, 0x80
- lsls r2, 4
- adds r1, r2
- ldr r2, _080A3178 @ =0x06006000
- str r1, [r0]
- str r2, [r0, 0x4]
- str r3, [r0, 0x8]
- ldr r0, [r0, 0x8]
- pop {r0}
- bx r0
- .align 2, 0
-_080A3168: .4byte gBGTilemapBuffers + 0x800
-_080A316C: .4byte 0x06002000
-_080A3170: .4byte 0x040000d4
-_080A3174: .4byte 0x80000400
-_080A3178: .4byte 0x06006000
- thumb_func_end sub_80A3134
-
- thumb_func_start sub_80A317C
-sub_80A317C: @ 80A317C
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r0, _080A3198 @ =gMain
- ldr r1, _080A319C @ =0x0000043c
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x10
- bls _080A318E
- b _080A34A8
-_080A318E:
- lsls r0, 2
- ldr r1, _080A31A0 @ =_080A31A4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080A3198: .4byte gMain
-_080A319C: .4byte 0x0000043c
-_080A31A0: .4byte _080A31A4
- .align 2, 0
-_080A31A4:
- .4byte _080A31E8
- .4byte _080A31F2
- .4byte _080A3208
- .4byte _080A320E
- .4byte _080A3228
- .4byte _080A324C
- .4byte _080A3252
- .4byte _080A3270
- .4byte _080A327C
- .4byte _080A3298
- .4byte _080A32A4
- .4byte _080A3328
- .4byte _080A338C
- .4byte _080A33F4
- .4byte _080A3404
- .4byte _080A345C
- .4byte _080A347C
-_080A31E8:
- bl sub_80F9438
- bl sub_80A34E8
- b _080A3464
-_080A31F2:
- bl remove_some_task
- ldr r1, _080A3200 @ =gMain
- ldr r0, _080A3204 @ =0x0000043c
- adds r1, r0
- b _080A346A
- .align 2, 0
-_080A3200: .4byte gMain
-_080A3204: .4byte 0x0000043c
-_080A3208:
- bl gpu_pal_allocator_reset__manage_upper_four
- b _080A3464
-_080A320E:
- bl sub_80F9020
- ldr r0, _080A3220 @ =0x02000000
- ldr r1, _080A3224 @ =0x0001ffff
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- b _080A3464
- .align 2, 0
-_080A3220: .4byte 0x02000000
-_080A3224: .4byte 0x0001ffff
-_080A3228:
- bl ResetPaletteFade
- ldr r2, _080A3240 @ =gPaletteFade
- ldrb r0, [r2, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x8]
- ldr r1, _080A3244 @ =gMain
- ldr r0, _080A3248 @ =0x0000043c
- adds r1, r0
- b _080A346A
- .align 2, 0
-_080A3240: .4byte gPaletteFade
-_080A3244: .4byte gMain
-_080A3248: .4byte 0x0000043c
-_080A324C:
- bl ResetSpriteData
- b _080A3464
-_080A3252:
- bl sub_80A3520
- lsls r0, 24
- cmp r0, 0
- bne _080A325E
- b _080A34A8
-_080A325E:
- ldr r1, _080A3268 @ =gMain
- ldr r0, _080A326C @ =0x0000043c
- adds r1, r0
- b _080A346A
- .align 2, 0
-_080A3268: .4byte gMain
-_080A326C: .4byte 0x0000043c
-_080A3270:
- ldr r0, _080A3278 @ =gWindowConfig_81E6DFC
- bl SetUpWindowConfig
- b _080A3464
- .align 2, 0
-_080A3278: .4byte gWindowConfig_81E6DFC
-_080A327C:
- ldr r0, _080A328C @ =gWindowConfig_81E6DFC
- bl MultistepInitMenuWindowBegin
- ldr r1, _080A3290 @ =gMain
- ldr r0, _080A3294 @ =0x0000043c
- adds r1, r0
- b _080A346A
- .align 2, 0
-_080A328C: .4byte gWindowConfig_81E6DFC
-_080A3290: .4byte gMain
-_080A3294: .4byte 0x0000043c
-_080A3298:
- bl MultistepInitMenuWindowContinue
- cmp r0, 0
- bne _080A32A2
- b _080A34A8
-_080A32A2:
- b _080A3464
-_080A32A4:
- bl sub_80F944C
- bl LoadScrollIndicatorPalette
- movs r0, 0
- movs r1, 0xAC
- movs r2, 0xC
- bl CreateVerticalScrollIndicators
- movs r0, 0x1
- movs r1, 0xAC
- movs r2, 0x94
- bl CreateVerticalScrollIndicators
- movs r0, 0x2
- movs r1, 0x1C
- movs r2, 0x58
- bl CreateVerticalScrollIndicators
- movs r0, 0x3
- movs r1, 0x64
- movs r2, 0x58
- bl CreateVerticalScrollIndicators
- movs r0, 0
- movs r1, 0x2
- bl sub_80F9988
- movs r0, 0x1
- movs r1, 0x2
- bl sub_80F9988
- movs r0, 0x2
- movs r1, 0x2
- bl sub_80F9988
- movs r0, 0x3
- movs r1, 0x2
- bl sub_80F9988
- ldr r0, _080A331C @ =gUnknown_03000701
- ldrb r0, [r0]
- subs r0, 0x4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _080A3312
- movs r0, 0x2
- movs r1, 0x1
- bl sub_80F979C
- movs r0, 0x3
- movs r1, 0x1
- bl sub_80F979C
-_080A3312:
- ldr r1, _080A3320 @ =gMain
- ldr r0, _080A3324 @ =0x0000043c
- adds r1, r0
- b _080A346A
- .align 2, 0
-_080A331C: .4byte gUnknown_03000701
-_080A3320: .4byte gMain
-_080A3324: .4byte 0x0000043c
-_080A3328:
- ldr r1, _080A3378 @ =gUnknown_0203855A
- movs r0, 0x10
- strb r0, [r1]
- ldr r4, _080A337C @ =gBGTilemapBuffers + 0x1000
- ldr r5, _080A3380 @ =gUnknown_02038559
- ldrb r1, [r5]
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_80A39B8
- ldrb r1, [r5]
- adds r0, r4, 0
- bl sub_80A3AC0
- bl sub_80A3D08
- ldr r4, _080A3384 @ =gBagPockets
- ldr r0, [r4, 0x10]
- ldr r1, [r4, 0x14]
- bl sub_80A3C34
- ldr r0, [r4, 0x18]
- ldr r1, [r4, 0x1C]
- bl sub_80A3C34
- bl sub_80A3D40
- ldr r1, _080A3388 @ =gUnknown_03005D24
- movs r0, 0
- ldrsb r0, [r5, r0]
- lsls r0, 3
- adds r0, r4
- ldr r0, [r0]
- str r0, [r1]
- bl sub_80A362C
- b _080A3464
- .align 2, 0
-_080A3378: .4byte gUnknown_0203855A
-_080A337C: .4byte gBGTilemapBuffers + 0x1000
-_080A3380: .4byte gUnknown_02038559
-_080A3384: .4byte gBagPockets
-_080A3388: .4byte gUnknown_03005D24
-_080A338C:
- ldr r0, _080A33D4 @ =0x0000ffff
- movs r1, 0
- movs r2, 0x7
- bl sub_80A48E8
- ldr r1, _080A33D8 @ =gUnknown_03005D10
- ldr r4, _080A33DC @ =gUnknown_02038559
- movs r0, 0
- ldrsb r0, [r4, r0]
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0]
- adds r1, r0
- ldr r0, _080A33E0 @ =gUnknown_03005D24
- ldr r0, [r0]
- lsls r1, 2
- adds r1, r0
- movs r2, 0
- ldrsh r0, [r1, r2]
- bl ItemListMenu_InitDescription
- bl ItemListMenu_InitMenu
- ldr r1, _080A33E4 @ =gUnknown_0203855B
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r1]
- ldr r1, _080A33E8 @ =gUnknown_0203855C
- movs r0, 0
- strb r0, [r1]
- ldr r1, _080A33EC @ =gMain
- ldr r0, _080A33F0 @ =0x0000043c
- adds r1, r0
- b _080A346A
- .align 2, 0
-_080A33D4: .4byte 0x0000ffff
-_080A33D8: .4byte gUnknown_03005D10
-_080A33DC: .4byte gUnknown_02038559
-_080A33E0: .4byte gUnknown_03005D24
-_080A33E4: .4byte gUnknown_0203855B
-_080A33E8: .4byte gUnknown_0203855C
-_080A33EC: .4byte gMain
-_080A33F0: .4byte 0x0000043c
-_080A33F4:
- bl CreateBagSprite
- movs r0, 0
- bl CreateBagPokeballSprite
- bl sub_80A3740
- b _080A3464
-_080A3404:
- ldr r3, _080A3444 @ =0x04000208
- ldrh r2, [r3]
- movs r0, 0
- strh r0, [r3]
- ldr r4, _080A3448 @ =0x04000200
- ldrh r0, [r4]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r4]
- strh r2, [r3]
- ldr r2, _080A344C @ =REG_DISPSTAT
- ldrh r0, [r2]
- movs r1, 0x8
- orrs r0, r1
- strh r0, [r2]
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r2, _080A3450 @ =gPaletteFade
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x8]
- ldr r1, _080A3454 @ =gMain
- ldr r0, _080A3458 @ =0x0000043c
- adds r1, r0
- b _080A346A
- .align 2, 0
-_080A3444: .4byte 0x04000208
-_080A3448: .4byte 0x04000200
-_080A344C: .4byte REG_DISPSTAT
-_080A3450: .4byte gPaletteFade
-_080A3454: .4byte gMain
-_080A3458: .4byte 0x0000043c
-_080A345C:
- bl sub_8055870
- cmp r0, 0x1
- beq _080A34A8
-_080A3464:
- ldr r1, _080A3474 @ =gMain
- ldr r2, _080A3478 @ =0x0000043c
- adds r1, r2
-_080A346A:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080A34A8
- .align 2, 0
-_080A3474: .4byte gMain
-_080A3478: .4byte 0x0000043c
-_080A347C:
- ldr r0, _080A34A0 @ =sub_80A3134
- bl SetVBlankCallback
- ldr r0, _080A34A4 @ =sub_80A3118
- bl SetMainCallback2
- bl sub_80A751C
- bl sub_80A7630
- bl sub_80A770C
- bl sub_80A7828
- bl sub_80A78B8
- movs r0, 0x1
- b _080A34AA
- .align 2, 0
-_080A34A0: .4byte sub_80A3134
-_080A34A4: .4byte sub_80A3118
-_080A34A8:
- movs r0, 0
-_080A34AA:
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80A317C
-
- thumb_func_start sub_80A34B4
-sub_80A34B4: @ 80A34B4
- push {lr}
-_080A34B6:
- bl sub_80A317C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080A34D2
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A34B6
- movs r0, 0
- b _080A34DE
-_080A34D2:
- ldr r1, _080A34E4 @ =gUnknown_03000700
- movs r0, 0
- strb r0, [r1]
- bl ResetTasks
- movs r0, 0x1
-_080A34DE:
- pop {r1}
- bx r1
- .align 2, 0
-_080A34E4: .4byte gUnknown_03000700
- thumb_func_end sub_80A34B4
-
- thumb_func_start sub_80A34E8
-sub_80A34E8: @ 80A34E8
- push {lr}
- bl sub_80F9368
- ldr r1, _080A3514 @ =REG_BG2CNT
- ldr r2, _080A3518 @ =0x00000c06
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0x2
- ldr r2, _080A351C @ =0x00000405
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0xA
- movs r2, 0xBA
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x50
- movs r0, 0
- strh r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_080A3514: .4byte REG_BG2CNT
-_080A3518: .4byte 0x00000c06
-_080A351C: .4byte 0x00000405
- thumb_func_end sub_80A34E8
-
- thumb_func_start sub_80A3520
-sub_80A3520: @ 80A3520
- push {lr}
- ldr r0, _080A353C @ =0x02000000
- ldr r1, _080A3540 @ =0x0001ffff
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x4
- bls _080A3530
- b _080A3624
-_080A3530:
- lsls r0, 2
- ldr r1, _080A3544 @ =_080A3548
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080A353C: .4byte 0x02000000
-_080A3540: .4byte 0x0001ffff
-_080A3544: .4byte _080A3548
- .align 2, 0
-_080A3548:
- .4byte _080A355C
- .4byte _080A3570
- .4byte _080A3588
- .4byte _080A35C0
- .4byte _080A3604
-_080A355C:
- ldr r0, _080A3568 @ =gBagScreen_Gfx
- ldr r1, _080A356C @ =0x06004000
- bl LZDecompressVram
- b _080A35EA
- .align 2, 0
-_080A3568: .4byte gBagScreen_Gfx
-_080A356C: .4byte 0x06004000
-_080A3570:
- ldr r0, _080A3580 @ =gUnknown_08E77004
- ldr r1, _080A3584 @ =gBGTilemapBuffers + 0x1000
- movs r2, 0x80
- lsls r2, 3
- bl CpuSet
- b _080A35EA
- .align 2, 0
-_080A3580: .4byte gUnknown_08E77004
-_080A3584: .4byte gBGTilemapBuffers + 0x1000
-_080A3588:
- ldr r0, _080A35A4 @ =gSaveBlock2
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- beq _080A3598
- ldr r0, _080A35A8 @ =gUnknown_03000701
- ldrb r0, [r0]
- cmp r0, 0x7
- bne _080A35B0
-_080A3598:
- ldr r0, _080A35AC @ =gBagScreenMale_Pal
- movs r1, 0
- movs r2, 0x40
- bl LoadCompressedPalette
- b _080A35EA
- .align 2, 0
-_080A35A4: .4byte gSaveBlock2
-_080A35A8: .4byte gUnknown_03000701
-_080A35AC: .4byte gBagScreenMale_Pal
-_080A35B0:
- ldr r0, _080A35BC @ =gBagScreenFemale_Pal
- movs r1, 0
- movs r2, 0x40
- bl LoadCompressedPalette
- b _080A35EA
- .align 2, 0
-_080A35BC: .4byte gBagScreenFemale_Pal
-_080A35C0:
- ldr r0, _080A35D8 @ =gSaveBlock2
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- beq _080A35D0
- ldr r0, _080A35DC @ =gUnknown_03000701
- ldrb r0, [r0]
- cmp r0, 0x7
- bne _080A35E4
-_080A35D0:
- ldr r0, _080A35E0 @ =gUnknown_083C1CC8
- bl LoadCompressedObjectPic
- b _080A35EA
- .align 2, 0
-_080A35D8: .4byte gSaveBlock2
-_080A35DC: .4byte gUnknown_03000701
-_080A35E0: .4byte gUnknown_083C1CC8
-_080A35E4:
- ldr r0, _080A35F8 @ =gUnknown_083C1CD0
- bl LoadCompressedObjectPic
-_080A35EA:
- ldr r1, _080A35FC @ =0x02000000
- ldr r0, _080A3600 @ =0x0001ffff
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080A3624
- .align 2, 0
-_080A35F8: .4byte gUnknown_083C1CD0
-_080A35FC: .4byte 0x02000000
-_080A3600: .4byte 0x0001ffff
-_080A3604:
- ldr r0, _080A3618 @ =gUnknown_083C1CD8
- bl LoadCompressedObjectPalette
- ldr r0, _080A361C @ =0x02000000
- ldr r1, _080A3620 @ =0x0001ffff
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- movs r0, 0x1
- b _080A3626
- .align 2, 0
-_080A3618: .4byte gUnknown_083C1CD8
-_080A361C: .4byte 0x02000000
-_080A3620: .4byte 0x0001ffff
-_080A3624:
- movs r0, 0
-_080A3626:
- pop {r1}
- bx r1
- thumb_func_end sub_80A3520
-
- thumb_func_start sub_80A362C
-sub_80A362C: @ 80A362C
- push {r4-r6,lr}
- movs r4, 0
- ldr r6, _080A3648 @ =gUnknown_03000701
- ldr r5, _080A364C @ =gUnknown_03005D10
-_080A3634:
- ldrb r0, [r6]
- cmp r0, 0x5
- bne _080A3650
- lsls r1, r4, 2
- adds r0, r1, r5
- ldrb r0, [r0, 0x2]
- subs r0, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- b _080A3656
- .align 2, 0
-_080A3648: .4byte gUnknown_03000701
-_080A364C: .4byte gUnknown_03005D10
-_080A3650:
- lsls r1, r4, 2
- adds r0, r1, r5
- ldrb r3, [r0, 0x2]
-_080A3656:
- adds r1, r5
- ldrb r0, [r1, 0x1]
- cmp r0, 0
- beq _080A366C
- ldrb r2, [r1, 0x3]
- adds r0, r2
- cmp r0, r3
- ble _080A3674
- subs r0, r3, r2
- strb r0, [r1, 0x1]
- b _080A3674
-_080A366C:
- ldrb r0, [r1]
- cmp r0, r3
- bls _080A3674
- strb r3, [r1]
-_080A3674:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x4
- bls _080A3634
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A362C
-
- thumb_func_start sub_80A3684
-sub_80A3684: @ 80A3684
- push {r4,lr}
- movs r2, 0
- ldr r4, _080A36B0 @ =gUnknown_02038559
- ldr r3, _080A36B4 @ =gUnknown_03005D10
- movs r1, 0
-_080A368E:
- lsls r0, r2, 2
- adds r0, r3
- strb r1, [r0]
- strb r1, [r0, 0x1]
- strb r1, [r0, 0x2]
- strb r1, [r0, 0x3]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x4
- bls _080A368E
- movs r0, 0
- strb r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A36B0: .4byte gUnknown_02038559
-_080A36B4: .4byte gUnknown_03005D10
- thumb_func_end sub_80A3684
-
- thumb_func_start sub_80A36B8
-sub_80A36B8: @ 80A36B8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- ldr r0, [sp, 0x18]
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- lsls r2, 24
- lsls r3, 24
- lsrs r3, 24
- mov r12, r3
- lsls r0, 24
- lsrs r0, 24
- lsrs r2, 24
- adds r0, r2, r0
- cmp r2, r0
- bgt _080A370A
- adds r7, r0, 0
-_080A36DE:
- mov r1, r8
- mov r3, r12
- adds r0, r1, r3
- adds r4, r2, 0x1
- cmp r1, r0
- bgt _080A3702
- lsls r3, r2, 5
- movs r5, 0
- adds r2, r0, 0
-_080A36F0:
- adds r0, r1, r3
- lsls r0, 1
- adds r0, r6
- strh r5, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r2
- ble _080A36F0
-_080A3702:
- lsls r0, r4, 16
- lsrs r2, r0, 16
- cmp r2, r7
- ble _080A36DE
-_080A370A:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A36B8
-
- thumb_func_start ClearBag
-ClearBag: @ 80A3714
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, _080A373C @ =gBagPockets
-_080A371A:
- lsls r1, r4, 3
- adds r1, r5
- ldr r0, [r1]
- ldrb r1, [r1, 0x4]
- bl ClearItemSlots
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x4
- bls _080A371A
- bl sub_80A3684
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A373C: .4byte gBagPockets
- thumb_func_end ClearBag
-
- thumb_func_start sub_80A3740
-sub_80A3740: @ 80A3740
- push {lr}
- sub sp, 0x4
- ldr r1, _080A376C @ =gUnknown_083C1704
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- mov r0, sp
- adds r0, 0x2
- movs r1, 0xD1
- movs r2, 0x2
- bl LoadPalette
- mov r0, sp
- movs r1, 0xD8
- movs r2, 0x2
- bl LoadPalette
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080A376C: .4byte gUnknown_083C1704
- thumb_func_end sub_80A3740
-
- thumb_func_start sub_80A3770
-sub_80A3770: @ 80A3770
- push {lr}
- ldr r0, _080A379C @ =gUnknown_03000701
- ldrb r0, [r0]
- cmp r0, 0
- bne _080A37B6
- ldr r3, _080A37A0 @ =gUnknown_03000704
- ldr r2, _080A37A4 @ =gUnknown_02038559
- movs r1, 0
- ldrsb r1, [r2, r1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 1
- ldr r1, _080A37A8 @ =gUnknown_083C1690
- adds r0, r1
- str r0, [r3]
- movs r0, 0
- ldrsb r0, [r2, r0]
- cmp r0, 0x3
- beq _080A37B0
- ldr r1, _080A37AC @ =gUnknown_02038564
- movs r0, 0x4
- b _080A37B4
- .align 2, 0
-_080A379C: .4byte gUnknown_03000701
-_080A37A0: .4byte gUnknown_03000704
-_080A37A4: .4byte gUnknown_02038559
-_080A37A8: .4byte gUnknown_083C1690
-_080A37AC: .4byte gUnknown_02038564
-_080A37B0:
- ldr r1, _080A37BC @ =gUnknown_02038564
- movs r0, 0x6
-_080A37B4:
- strb r0, [r1]
-_080A37B6:
- pop {r0}
- bx r0
- .align 2, 0
-_080A37BC: .4byte gUnknown_02038564
- thumb_func_end sub_80A3770
-
- thumb_func_start sub_80A37C0
-sub_80A37C0: @ 80A37C0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A37F0 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, _080A37F4 @ =sub_80A50C8
- str r0, [r1]
- movs r0, 0
- bl StartVerticalScrollIndicators
- movs r0, 0x1
- bl StartVerticalScrollIndicators
- movs r0, 0x2
- bl StartVerticalScrollIndicators
- movs r0, 0x3
- bl StartVerticalScrollIndicators
- pop {r0}
- bx r0
- .align 2, 0
-_080A37F0: .4byte gTasks
-_080A37F4: .4byte sub_80A50C8
- thumb_func_end sub_80A37C0
-
- thumb_func_start sub_80A37F8
-sub_80A37F8: @ 80A37F8
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r6, _080A3854 @ =gUnknown_0203855A
- ldrb r5, [r6]
- cmp r5, 0xF
- bhi _080A3868
- adds r0, r5, 0x1
- strb r0, [r6]
- ldr r4, _080A3858 @ =gBGTilemapBuffers + 0x1000
- ldrb r2, [r6]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r3, 0x4F
- bl sub_80A396C
- ldr r0, _080A385C @ =gUnknown_02038559
- ldrb r1, [r0]
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- ldrb r2, [r6]
- lsrs r2, 1
- ldr r3, _080A3860 @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r3
- movs r3, 0x12
- ldrsb r3, [r0, r3]
- adds r0, r4, 0
- bl sub_80A39E4
- ldr r4, _080A3864 @ =gUnknown_02038558
- movs r0, 0x1
- strb r0, [r4]
- lsrs r1, r5, 1
- ldrb r2, [r6]
- lsrs r2, 1
- subs r2, 0x1
- adds r0, r7, 0
- bl sub_80A48E8
- movs r0, 0
- strb r0, [r4]
- b _080A3932
- .align 2, 0
-_080A3854: .4byte gUnknown_0203855A
-_080A3858: .4byte gBGTilemapBuffers + 0x1000
-_080A385C: .4byte gUnknown_02038559
-_080A3860: .4byte gTasks
-_080A3864: .4byte gUnknown_02038558
-_080A3868:
- ldr r0, _080A38A0 @ =gLinkOpen
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080A38B4
- ldr r1, _080A38A4 @ =gUnknown_03005D10
- ldr r0, _080A38A8 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0]
- adds r1, r0
- ldr r0, _080A38AC @ =gUnknown_03005D24
- ldr r0, [r0]
- lsls r1, 2
- adds r1, r0
- movs r2, 0
- ldrsh r0, [r1, r2]
- ldr r4, _080A38B0 @ =gUnknown_02038562
- ldrb r1, [r4]
- bl ItemListMenu_ChangeDescription
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _080A38F2
- .align 2, 0
-_080A38A0: .4byte gLinkOpen
-_080A38A4: .4byte gUnknown_03005D10
-_080A38A8: .4byte gUnknown_02038559
-_080A38AC: .4byte gUnknown_03005D24
-_080A38B0: .4byte gUnknown_02038562
-_080A38B4:
- ldr r1, _080A3938 @ =gUnknown_02038562
- ldrb r0, [r1]
- cmp r0, 0x2
- bhi _080A38F2
- ldr r5, _080A393C @ =gUnknown_03005D10
- adds r4, r1, 0
-_080A38C0:
- ldr r0, _080A3940 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r5
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0]
- adds r1, r0
- ldr r0, _080A3944 @ =gUnknown_03005D24
- ldr r0, [r0]
- lsls r1, 2
- adds r1, r0
- movs r2, 0
- ldrsh r0, [r1, r2]
- ldrb r1, [r4]
- bl ItemListMenu_ChangeDescription
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bls _080A38C0
-_080A38F2:
- ldr r0, _080A3938 @ =gUnknown_02038562
- ldrb r0, [r0]
- cmp r0, 0x3
- bne _080A3932
- ldr r1, _080A3948 @ =gUnknown_0203855A
- movs r0, 0x10
- strb r0, [r1]
- ldr r1, _080A394C @ =gUnknown_0203855B
- ldr r0, _080A3940 @ =gUnknown_02038559
- ldrb r0, [r0]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, _080A3950 @ =sub_80A4F68
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl sub_80A37C0
- adds r0, r7, 0
- bl DestroyTask
- bl ItemListMenu_InitMenu
- movs r0, 0x2
- movs r1, 0
- bl sub_80F979C
- movs r0, 0x3
- movs r1, 0
- bl sub_80F979C
-_080A3932:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A3938: .4byte gUnknown_02038562
-_080A393C: .4byte gUnknown_03005D10
-_080A3940: .4byte gUnknown_02038559
-_080A3944: .4byte gUnknown_03005D24
-_080A3948: .4byte gUnknown_0203855A
-_080A394C: .4byte gUnknown_0203855B
-_080A3950: .4byte sub_80A4F68
- thumb_func_end sub_80A37F8
-
- thumb_func_start sub_80A3954
-sub_80A3954: @ 80A3954
- push {lr}
- adds r1, r0, 0
- ldr r0, _080A3968 @ =gUnknown_08E77004
- movs r2, 0x80
- lsls r2, 3
- bl CpuSet
- pop {r0}
- bx r0
- .align 2, 0
-_080A3968: .4byte gUnknown_08E77004
- thumb_func_end sub_80A3954
-
- thumb_func_start sub_80A396C
-sub_80A396C: @ 80A396C
- push {r4-r7,lr}
- lsls r1, 24
- lsrs r5, r1, 24
- adds r4, r5, 0
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r3, 24
- lsrs r6, r3, 24
- adds r1, r4, 0x2
- lsls r1, 6
- adds r1, 0x1C
- adds r2, r0, r1
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r7, r4
- bls _080A39B2
-_080A398E:
- movs r1, 0
- adds r3, r5, 0x1
- adds r4, r2, 0
- adds r4, 0x40
-_080A3996:
- lsls r0, r1, 1
- adds r0, r2
- strh r6, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0xE
- bls _080A3996
- adds r2, r4, 0
- adds r1, r5, 0
- lsls r0, r3, 24
- lsrs r5, r0, 24
- cmp r7, r1
- bhi _080A398E
-_080A39B2:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A396C
-
- thumb_func_start sub_80A39B8
-sub_80A39B8: @ 80A39B8
- push {lr}
- sub sp, 0x10
- lsls r1, 25
- lsrs r1, 24
- ldr r3, _080A39E0 @ =gUnknown_08E96EC8
- movs r2, 0
- str r2, [sp]
- str r1, [sp, 0x4]
- movs r1, 0x8
- str r1, [sp, 0x8]
- movs r1, 0x2
- str r1, [sp, 0xC]
- movs r1, 0x4
- movs r2, 0xA
- bl sub_809D104
- add sp, 0x10
- pop {r0}
- bx r0
- .align 2, 0
-_080A39E0: .4byte gUnknown_08E96EC8
- thumb_func_end sub_80A39B8
-
- thumb_func_start sub_80A39E4
-sub_80A39E4: @ 80A39E4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- mov r8, r0
- lsls r1, 24
- lsrs r1, 24
- adds r4, r1, 0
- lsls r2, 24
- lsrs r6, r2, 24
- adds r5, r6, 0
- lsls r2, r1, 1
- mov r9, r2
- lsls r3, 24
- asrs r3, 24
- movs r0, 0x1
- negs r0, r0
- cmp r3, r0
- bne _080A3A5C
- adds r0, r1, 0x1
- lsls r7, r0, 1
- cmp r1, 0x5
- bne _080A3A18
- movs r7, 0x2
-_080A3A18:
- ldr r0, _080A3A58 @ =gUnknown_08E96EC8
- mov r10, r0
- movs r4, 0x8
- subs r4, r6
- lsls r4, 16
- lsrs r4, 16
- str r4, [sp]
- str r2, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0x2
- mov r9, r0
- str r0, [sp, 0xC]
- mov r0, r8
- movs r1, 0x4
- movs r2, 0xA
- mov r3, r10
- bl sub_809D104
- adds r1, r6, 0x4
- movs r0, 0
- str r0, [sp]
- str r7, [sp, 0x4]
- str r4, [sp, 0x8]
- mov r0, r9
- str r0, [sp, 0xC]
- mov r0, r8
- movs r2, 0xA
- mov r3, r10
- bl sub_809D104
- b _080A3AAA
- .align 2, 0
-_080A3A58: .4byte gUnknown_08E96EC8
-_080A3A5C:
- cmp r3, 0x1
- bne _080A3AAA
- subs r0, r4, 0x1
- lsls r0, 17
- lsrs r7, r0, 16
- cmp r4, 0x1
- bne _080A3A6C
- movs r7, 0xA
-_080A3A6C:
- ldr r6, _080A3ABC @ =gUnknown_08E96EC8
- str r5, [sp]
- str r7, [sp, 0x4]
- movs r0, 0x8
- subs r0, r5
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x8]
- movs r4, 0x2
- str r4, [sp, 0xC]
- mov r0, r8
- movs r1, 0x4
- movs r2, 0xA
- adds r3, r6, 0
- bl sub_809D104
- movs r1, 0xC
- subs r1, r5
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0
- str r0, [sp]
- mov r0, r9
- str r0, [sp, 0x4]
- str r5, [sp, 0x8]
- str r4, [sp, 0xC]
- mov r0, r8
- movs r2, 0xA
- adds r3, r6, 0
- bl sub_809D104
-_080A3AAA:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A3ABC: .4byte gUnknown_08E96EC8
- thumb_func_end sub_80A39E4
-
- thumb_func_start sub_80A3AC0
-sub_80A3AC0: @ 80A3AC0
- push {r4-r6,lr}
- adds r3, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- movs r2, 0
- ldr r1, _080A3AE4 @ =0x0000024a
- ldr r0, _080A3AE8 @ =0x0000107d
- adds r6, r0, 0
- subs r0, 0x1
- adds r5, r0, 0
-_080A3AD4:
- cmp r2, r4
- bne _080A3AEC
- lsls r0, r2, 1
- adds r0, r3
- adds r0, r1
- strh r6, [r0]
- b _080A3AF4
- .align 2, 0
-_080A3AE4: .4byte 0x0000024a
-_080A3AE8: .4byte 0x0000107d
-_080A3AEC:
- lsls r0, r2, 1
- adds r0, r3
- adds r0, r1
- strh r5, [r0]
-_080A3AF4:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x4
- bls _080A3AD4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A3AC0
-
- thumb_func_start sub_80A3B04
-sub_80A3B04: @ 80A3B04
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r4, _080A3BA4 @ =gUnknown_02038559
- ldrb r0, [r4]
- lsls r1, 24
- asrs r6, r1, 24
- adds r0, r6, r0
- strb r0, [r4]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x4
- ble _080A3B20
- movs r0, 0
- strb r0, [r4]
-_080A3B20:
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0
- bge _080A3B2C
- movs r0, 0x4
- strb r0, [r4]
-_080A3B2C:
- bl sub_80A76A0
- bl sub_80A7590
- ldr r2, _080A3BA8 @ =gUnknown_03005D24
- ldr r1, _080A3BAC @ =gBagPockets
- movs r0, 0
- ldrsb r0, [r4, r0]
- lsls r0, 3
- adds r0, r1
- ldr r0, [r0]
- str r0, [r2]
- ldrb r0, [r4]
- bl sub_80A3D24
- ldr r0, _080A3BB0 @ =gUnknown_0203855A
- movs r4, 0
- strb r4, [r0]
- adds r0, r5, 0
- bl sub_80A3954
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0x10
- movs r3, 0x3
- bl sub_80A396C
- adds r0, r5, 0
- movs r1, 0
- bl sub_80A39B8
- ldr r1, _080A3BB4 @ =gUnknown_0203855B
- movs r0, 0x6
- strb r0, [r1]
- ldr r0, _080A3BB8 @ =gUnknown_02038562
- strb r4, [r0]
- ldr r4, _080A3BBC @ =sub_80A37F8
- adds r0, r4, 0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- bne _080A3B90
- adds r0, r4, 0
- movs r1, 0x8
- bl CreateTask
- lsls r0, 24
- lsrs r2, r0, 24
-_080A3B90:
- ldr r1, _080A3BC0 @ =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- strh r6, [r0, 0x12]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A3BA4: .4byte gUnknown_02038559
-_080A3BA8: .4byte gUnknown_03005D24
-_080A3BAC: .4byte gBagPockets
-_080A3BB0: .4byte gUnknown_0203855A
-_080A3BB4: .4byte gUnknown_0203855B
-_080A3BB8: .4byte gUnknown_02038562
-_080A3BBC: .4byte sub_80A37F8
-_080A3BC0: .4byte gTasks
- thumb_func_end sub_80A3B04
-
- thumb_func_start swap32
-swap32: @ 80A3BC4
- ldr r3, [r0]
- ldr r2, [r1]
- str r2, [r0]
- str r3, [r1]
- bx lr
- thumb_func_end swap32
-
- thumb_func_start sub_80A3BD0
-sub_80A3BD0: @ 80A3BD0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r7, r1, 0
- adds r6, r0, 0
- movs r3, 0
- b _080A3C1A
-_080A3BE0:
- adds r0, r3, 0x1
- lsls r1, r0, 16
- lsrs r4, r1, 16
- lsls r1, r2, 24
- lsrs r1, 24
- mov r8, r0
- cmp r4, r1
- bcs _080A3C14
- lsls r0, r3, 2
- adds r5, r0, r6
- adds r2, r1, 0
-_080A3BF6:
- ldrh r0, [r5, 0x2]
- cmp r0, 0
- bne _080A3C0A
- lsls r1, r4, 2
- adds r1, r6
- adds r0, r5, 0
- str r2, [sp]
- bl swap32
- ldr r2, [sp]
-_080A3C0A:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, r2
- bcc _080A3BF6
-_080A3C14:
- mov r1, r8
- lsls r0, r1, 16
- lsrs r3, r0, 16
-_080A3C1A:
- adds r2, r7, 0
- lsls r0, r2, 24
- lsrs r0, 24
- subs r0, 0x1
- cmp r3, r0
- blt _080A3BE0
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A3BD0
-
- thumb_func_start sub_80A3C34
-sub_80A3C34: @ 80A3C34
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r7, r1, 0
- adds r6, r0, 0
- adds r2, r7, 0
- lsls r0, r2, 24
- movs r3, 0
- cmp r0, 0
- beq _080A3C9C
-_080A3C4A:
- adds r0, r3, 0x1
- lsls r1, r0, 16
- lsrs r4, r1, 16
- lsls r1, r2, 24
- lsrs r1, 24
- mov r8, r0
- cmp r4, r1
- bcs _080A3C8C
- lsls r0, r3, 2
- adds r5, r0, r6
- adds r2, r1, 0
-_080A3C60:
- ldrh r0, [r5, 0x2]
- cmp r0, 0
- beq _080A3C82
- lsls r0, r4, 2
- adds r1, r0, r6
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- beq _080A3C82
- ldrh r0, [r5]
- ldrh r3, [r1]
- cmp r0, r3
- bls _080A3C82
- adds r0, r5, 0
- str r2, [sp]
- bl swap32
- ldr r2, [sp]
-_080A3C82:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, r2
- bcc _080A3C60
-_080A3C8C:
- mov r1, r8
- lsls r0, r1, 16
- lsrs r3, r0, 16
- adds r2, r7, 0
- lsls r0, r2, 24
- lsrs r0, 24
- cmp r3, r0
- bcc _080A3C4A
-_080A3C9C:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A3C34
-
- thumb_func_start sub_80A3CA8
-sub_80A3CA8: @ 80A3CA8
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, _080A3D00 @ =gUnknown_03005D10
- lsls r0, r6, 2
- adds r3, r0, r1
- movs r0, 0
- strb r0, [r3, 0x2]
- movs r4, 0
- ldr r0, _080A3D04 @ =gBagPockets
- lsls r2, r6, 3
- adds r1, r2, r0
- mov r12, r0
- ldrb r1, [r1, 0x4]
- cmp r4, r1
- bcs _080A3CEC
- mov r7, r12
- adds r5, r3, 0
-_080A3CCC:
- adds r3, r2, r7
- ldr r0, [r3]
- lsls r1, r4, 2
- adds r1, r0
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- beq _080A3CE0
- ldrb r0, [r5, 0x2]
- adds r0, 0x1
- strb r0, [r5, 0x2]
-_080A3CE0:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldrb r3, [r3, 0x4]
- cmp r4, r3
- bcc _080A3CCC
-_080A3CEC:
- lsls r0, r6, 3
- add r0, r12
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- bl sub_80A3BD0
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A3D00: .4byte gUnknown_03005D10
-_080A3D04: .4byte gBagPockets
- thumb_func_end sub_80A3CA8
-
- thumb_func_start sub_80A3D08
-sub_80A3D08: @ 80A3D08
- push {r4,lr}
- movs r4, 0
-_080A3D0C:
- adds r0, r4, 0
- bl sub_80A3CA8
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x4
- bls _080A3D0C
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A3D08
-
- thumb_func_start sub_80A3D24
-sub_80A3D24: @ 80A3D24
- push {lr}
- lsls r0, 24
- ldr r1, _080A3D3C @ =gUnknown_03005D10
- lsrs r0, 22
- adds r1, r0, r1
- ldrb r0, [r1, 0x2]
- cmp r0, 0x6
- bls _080A3D36
- movs r0, 0x7
-_080A3D36:
- strb r0, [r1, 0x3]
- pop {r0}
- bx r0
- .align 2, 0
-_080A3D3C: .4byte gUnknown_03005D10
- thumb_func_end sub_80A3D24
-
- thumb_func_start sub_80A3D40
-sub_80A3D40: @ 80A3D40
- push {r4,lr}
- movs r4, 0
-_080A3D44:
- adds r0, r4, 0
- bl sub_80A3D24
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x4
- bls _080A3D44
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A3D40
-
- thumb_func_start sub_80A3D5C
-sub_80A3D5C: @ 80A3D5C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080A3DF4 @ =gUnknown_03005D10
- mov r9, r1
- ldr r2, _080A3DF8 @ =gUnknown_02038559
- mov r8, r2
- movs r1, 0
- ldrsb r1, [r2, r1]
- lsls r1, 2
- add r1, r9
- ldrb r2, [r1, 0x1]
- ldrb r1, [r1]
- adds r2, r1
- ldr r7, _080A3DFC @ =gUnknown_03005D24
- ldr r1, [r7]
- lsls r6, r2, 2
- adds r3, r6, r1
- ldr r2, _080A3E00 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrh r0, [r3, 0x2]
- ldrh r1, [r1, 0xA]
- subs r0, r1
- strh r0, [r3, 0x2]
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- bne _080A3DE0
- ldr r0, _080A3E04 @ =gSaveBlock1
- ldr r1, _080A3E08 @ =0x00000496
- adds r5, r0, r1
- ldrh r0, [r5]
- ldrh r3, [r3]
- cmp r0, r3
- bne _080A3DB4
- bl sub_80A40D0
- strh r4, [r5]
-_080A3DB4:
- ldr r0, [r7]
- adds r0, r6, r0
- strh r4, [r0]
- mov r2, r8
- movs r0, 0
- ldrsb r0, [r2, r0]
- lsls r0, 2
- mov r3, r9
- adds r2, r0, r3
- ldrb r1, [r2, 0x1]
- adds r0, r1, 0x7
- ldrb r3, [r2, 0x2]
- cmp r0, r3
- bne _080A3DD8
- cmp r1, 0
- beq _080A3DD8
- subs r0, r1, 0x1
- strb r0, [r2, 0x1]
-_080A3DD8:
- ldr r0, _080A3DF8 @ =gUnknown_02038559
- ldrb r0, [r0]
- bl sub_80A3CA8
-_080A3DE0:
- ldr r0, _080A3DF8 @ =gUnknown_02038559
- ldrb r0, [r0]
- bl sub_80A3D24
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A3DF4: .4byte gUnknown_03005D10
-_080A3DF8: .4byte gUnknown_02038559
-_080A3DFC: .4byte gUnknown_03005D24
-_080A3E00: .4byte gTasks
-_080A3E04: .4byte gSaveBlock1
-_080A3E08: .4byte 0x00000496
- thumb_func_end sub_80A3D5C
-
- thumb_func_start sub_80A3E0C
-sub_80A3E0C: @ 80A3E0C
- push {lr}
- ldr r3, _080A3E60 @ =gUnknown_03005D10
- ldr r2, _080A3E64 @ =gUnknown_02038559
- movs r0, 0
- ldrsb r0, [r2, r0]
- lsls r0, 2
- adds r0, r3
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0]
- adds r1, r0
- ldr r0, _080A3E68 @ =gUnknown_03005D24
- ldr r0, [r0]
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- bne _080A3E52
- strh r0, [r1]
- movs r0, 0
- ldrsb r0, [r2, r0]
- lsls r0, 2
- adds r2, r0, r3
- ldrb r1, [r2, 0x1]
- adds r0, r1, 0x7
- ldrb r3, [r2, 0x2]
- cmp r0, r3
- bne _080A3E4A
- cmp r1, 0
- beq _080A3E4A
- subs r0, r1, 0x1
- strb r0, [r2, 0x1]
-_080A3E4A:
- ldr r0, _080A3E64 @ =gUnknown_02038559
- ldrb r0, [r0]
- bl sub_80A3CA8
-_080A3E52:
- ldr r0, _080A3E64 @ =gUnknown_02038559
- ldrb r0, [r0]
- bl sub_80A3D24
- pop {r0}
- bx r0
- .align 2, 0
-_080A3E60: .4byte gUnknown_03005D10
-_080A3E64: .4byte gUnknown_02038559
-_080A3E68: .4byte gUnknown_03005D24
- thumb_func_end sub_80A3E0C
-
- thumb_func_start nullsub_16
-nullsub_16: @ 80A3E6C
- bx lr
- thumb_func_end nullsub_16
-
- thumb_func_start sub_80A3E70
-sub_80A3E70: @ 80A3E70
- lsls r0, 24
- lsls r1, 24
- ldr r2, _080A3E8C @ =gUnknown_03005D24
- ldr r2, [r2]
- lsrs r0, 22
- adds r0, r2
- ldr r3, [r0]
- lsrs r1, 22
- adds r1, r2
- ldr r2, [r1]
- str r2, [r0]
- str r3, [r1]
- bx lr
- .align 2, 0
-_080A3E8C: .4byte gUnknown_03005D24
- thumb_func_end sub_80A3E70
-
- thumb_func_start sub_80A3E90
-sub_80A3E90: @ 80A3E90
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x5
- bl PlaySE
- bl nullsub_16
- ldr r0, _080A3EE8 @ =gTasks
- lsls r5, r4, 2
- adds r5, r4
- lsls r5, 3
- adds r5, r0
- ldrb r0, [r5, 0x1C]
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _080A3EEC @ =gUnknown_03005D10
- ldr r1, _080A3EF0 @ =gUnknown_02038559
- movs r2, 0
- ldrsb r2, [r1, r2]
- lsls r2, 2
- adds r2, r3
- ldrb r1, [r2, 0x1]
- ldrb r2, [r2]
- adds r1, r2
- lsls r1, 24
- lsrs r1, 24
- bl sub_80A3E70
- movs r0, 0
- strh r0, [r5, 0x1C]
- bl sub_80A763C
- movs r0, 0
- bl sub_80A7528
- bl ItemListMenu_InitMenu
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A3EE8: .4byte gTasks
-_080A3EEC: .4byte gUnknown_03005D10
-_080A3EF0: .4byte gUnknown_02038559
- thumb_func_end sub_80A3E90
-
- thumb_func_start sub_80A3EF4
-sub_80A3EF4: @ 80A3EF4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x5
- bl PlaySE
- bl nullsub_16
- ldr r0, _080A3F44 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r2, _080A3F48 @ =gUnknown_03005D10
- ldr r0, _080A3F4C @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x1]
- mvns r0, r0
- ldrb r2, [r1, 0x1C]
- adds r0, r2
- lsls r0, 24
- lsrs r2, r0, 24
- movs r0, 0
- strh r0, [r1, 0x1C]
- cmp r2, 0x7
- bhi _080A3F38
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_80A48E8
-_080A3F38:
- movs r0, 0
- bl sub_80A7528
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A3F44: .4byte gTasks
-_080A3F48: .4byte gUnknown_03005D10
-_080A3F4C: .4byte gUnknown_02038559
- thumb_func_end sub_80A3EF4
-
- thumb_func_start sub_80A3F50
-sub_80A3F50: @ 80A3F50
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080A3F94 @ =gTasks
- lsls r3, r0, 2
- adds r3, r0
- lsls r3, 3
- adds r3, r1
- ldr r5, _080A3F98 @ =gUnknown_03005D10
- ldr r4, _080A3F9C @ =gUnknown_02038559
- movs r1, 0
- ldrsb r1, [r4, r1]
- lsls r1, 2
- adds r1, r5
- ldrb r2, [r1, 0x1]
- ldrb r1, [r1]
- adds r2, r1
- adds r2, 0x1
- strh r2, [r3, 0x1C]
- movs r1, 0
- ldrsb r1, [r4, r1]
- lsls r1, 2
- adds r1, r5
- ldrb r2, [r1]
- adds r1, r2, 0
- bl sub_80A48E8
- movs r0, 0x1
- bl sub_80A7528
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A3F94: .4byte gTasks
-_080A3F98: .4byte gUnknown_03005D10
-_080A3F9C: .4byte gUnknown_02038559
- thumb_func_end sub_80A3F50
-
- thumb_func_start sub_80A3FA0
-sub_80A3FA0: @ 80A3FA0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- ldr r0, [sp, 0x18]
- ldr r4, [sp, 0x1C]
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsls r3, 24
- lsrs r3, 24
- lsls r0, 24
- lsrs r0, 24
- lsls r4, 16
- lsrs r6, r4, 16
- lsrs r2, 24
- adds r0, r2, r0
- cmp r2, r0
- bge _080A3FFC
- mov r8, r5
- adds r4, r5, r3
- mov r12, r0
-_080A3FCC:
- adds r0, r5, 0
- lsls r3, r2, 16
- cmp r8, r4
- bge _080A3FEE
- asrs r2, r3, 11
-_080A3FD6:
- lsls r1, r0, 16
- asrs r1, 16
- adds r0, r1, r2
- lsls r0, 1
- adds r0, r7
- strh r6, [r0]
- adds r1, 0x1
- lsls r1, 16
- lsrs r0, r1, 16
- asrs r1, 16
- cmp r1, r4
- blt _080A3FD6
-_080A3FEE:
- movs r1, 0x80
- lsls r1, 9
- adds r0, r3, r1
- lsrs r2, r0, 16
- asrs r0, 16
- cmp r0, r12
- blt _080A3FCC
-_080A3FFC:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A3FA0
-
- thumb_func_start sub_80A4008
-sub_80A4008: @ 80A4008
- push {r4,lr}
- sub sp, 0x8
- ldr r4, [sp, 0x10]
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp]
- movs r4, 0x1
- str r4, [sp, 0x4]
- bl sub_80A3FA0
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A4008
-
- thumb_func_start sub_80A4030
-sub_80A4030: @ 80A4030
- ldr r1, _080A4058 @ =gBGTilemapBuffers + 0x1000 + 0xB4
- lsls r0, 7
- adds r1, r0, r1
- movs r0, 0x5A
- strh r0, [r1]
- movs r0, 0x5B
- strh r0, [r1, 0x2]
- movs r0, 0x5C
- strh r0, [r1, 0x4]
- adds r2, r1, 0
- adds r2, 0x40
- movs r0, 0x6A
- strh r0, [r2]
- adds r2, 0x2
- movs r0, 0x6B
- strh r0, [r2]
- adds r1, 0x44
- movs r0, 0x6C
- strh r0, [r1]
- bx lr
- .align 2, 0
-_080A4058: .4byte gBGTilemapBuffers + 0x1000 + 0xB4
- thumb_func_end sub_80A4030
-
- thumb_func_start sub_80A405C
-sub_80A405C: @ 80A405C
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, _080A40A8 @ =gBGTilemapBuffers + 0x1000 + 0xB4
- movs r0, 0
- adds r4, r2, 0
- movs r1, 0x4F
-_080A406A:
- strh r1, [r2]
- strh r1, [r2, 0x2]
- strh r1, [r2, 0x4]
- adds r2, 0x40
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xF
- bls _080A406A
- lsls r0, r3, 7
- adds r2, r0, r4
- movs r0, 0x5A
- strh r0, [r2]
- movs r0, 0x5B
- strh r0, [r2, 0x2]
- movs r0, 0x5C
- strh r0, [r2, 0x4]
- adds r1, r2, 0
- adds r1, 0x40
- movs r0, 0x6A
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x6B
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x6C
- strh r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A40A8: .4byte gBGTilemapBuffers + 0x1000 + 0xB4
- thumb_func_end sub_80A405C
-
- thumb_func_start sub_80A40AC
-sub_80A40AC: @ 80A40AC
- lsls r0, 24
- ldr r1, _080A40CC @ =gBGTilemapBuffers + 0x1000 + 0xB4
- lsrs r0, 17
- adds r1, r0, r1
- movs r2, 0x4F
- strh r2, [r1]
- strh r2, [r1, 0x2]
- strh r2, [r1, 0x4]
- adds r0, r1, 0
- adds r0, 0x40
- strh r2, [r0]
- adds r0, 0x2
- strh r2, [r0]
- adds r1, 0x44
- strh r2, [r1]
- bx lr
- .align 2, 0
-_080A40CC: .4byte gBGTilemapBuffers + 0x1000 + 0xB4
- thumb_func_end sub_80A40AC
-
- thumb_func_start sub_80A40D0
-sub_80A40D0: @ 80A40D0
- push {r4-r7,lr}
- movs r4, 0
- ldr r2, _080A4114 @ =gUnknown_03005D10
- ldr r3, _080A4118 @ =gUnknown_02038559
- movs r0, 0
- ldrsb r0, [r3, r0]
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x1]
- adds r7, r2, 0
- adds r6, r3, 0
- ldrb r0, [r0, 0x2]
- cmp r1, r0
- beq _080A4136
- ldr r5, _080A411C @ =gSaveBlock1 + 0x496
-_080A40EE:
- movs r0, 0
- ldrsb r0, [r6, r0]
- lsls r0, 2
- adds r3, r0, r7
- ldrb r2, [r3, 0x1]
- adds r1, r2, r4
- ldr r0, _080A4120 @ =gUnknown_03005D24
- ldr r0, [r0]
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1]
- ldrh r1, [r5]
- cmp r0, r1
- bne _080A4124
- adds r0, r4, 0
- bl sub_80A40AC
- b _080A4136
- .align 2, 0
-_080A4114: .4byte gUnknown_03005D10
-_080A4118: .4byte gUnknown_02038559
-_080A411C: .4byte gSaveBlock1 + 0x496
-_080A4120: .4byte gUnknown_03005D24
-_080A4124:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x7
- bhi _080A4136
- adds r0, r2, r4
- ldrb r3, [r3, 0x2]
- cmp r0, r3
- bne _080A40EE
-_080A4136:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A40D0
-
- thumb_func_start sub_80A413C
-sub_80A413C: @ 80A413C
- push {lr}
- bl sub_80A40D0
- ldr r1, _080A415C @ =gUnknown_03005D10
- ldr r0, _080A4160 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0]
- bl sub_80A405C
- pop {r0}
- bx r0
- .align 2, 0
-_080A415C: .4byte gUnknown_03005D10
-_080A4160: .4byte gUnknown_02038559
- thumb_func_end sub_80A413C
-
- thumb_func_start sub_80A4164
-sub_80A4164: @ 80A4164
- push {r4,lr}
- lsls r1, 16
- lsrs r1, 16
- lsls r3, 24
- lsrs r3, 24
- movs r4, 0xB9
- strb r4, [r0]
- adds r0, 0x1
- movs r4, 0xFC
- strb r4, [r0]
- movs r4, 0x14
- strb r4, [r0, 0x1]
- movs r4, 0x6
- strb r4, [r0, 0x2]
- adds r0, 0x3
- bl ConvertIntToDecimalStringN
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A4164
-
- thumb_func_start sub_80A418C
-sub_80A418C: @ 80A418C
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- adds r4, r0, 0
- mov r9, r1
- adds r5, r2, 0
- adds r6, r3, 0
- ldr r3, [sp, 0x18]
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- lsls r3, 24
- lsrs r3, 24
- ldr r0, _080A41D0 @ =gStringVar1
- mov r8, r0
- adds r1, r4, 0
- mov r2, r9
- bl sub_80A4164
- mov r0, r8
- adds r1, r5, 0
- adds r2, r6, 0
- bl MenuPrint
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A41D0: .4byte gStringVar1
- thumb_func_end sub_80A418C
-
- thumb_func_start sub_80A41D4
-sub_80A41D4: @ 80A41D4
- push {lr}
- bl sub_80A763C
- pop {r0}
- bx r0
- thumb_func_end sub_80A41D4
-
- thumb_func_start sub_80A41E0
-sub_80A41E0: @ 80A41E0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r7, r0, 0
- mov r9, r2
- adds r5, r3, 0
- ldr r4, [sp, 0x1C]
- lsls r1, 16
- lsrs r1, 16
- lsls r5, 16
- lsrs r5, 16
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0xFC
- mov r8, r0
- strb r0, [r7]
- movs r6, 0x13
- strb r6, [r7, 0x1]
- movs r0, 0x8
- strb r0, [r7, 0x2]
- adds r7, 0x3
- adds r0, r7, 0
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- mov r1, r8
- strb r1, [r0]
- strb r6, [r0, 0x1]
- movs r1, 0x18
- strb r1, [r0, 0x2]
- adds r7, r0, 0x3
- adds r4, 0x1
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 1
- movs r2, 0x78
- subs r2, r0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r7, 0
- mov r1, r9
- movs r3, 0
- bl sub_8072C74
- movs r1, 0xB9
- strb r1, [r0]
- adds r7, r0, 0x1
- adds r0, r7, 0
- adds r1, r5, 0
- movs r2, 0x78
- movs r3, 0x1
- bl sub_8072C14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A41E0
-
- thumb_func_start sub_80A425C
-sub_80A425C: @ 80A425C
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r2, 24
- lsrs r2, 24
- ldr r3, _080A42A4 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r3
- movs r0, 0x1C
- ldrsh r1, [r1, r0]
- ldr r3, _080A42A8 @ =gUnknown_03005D10
- ldr r0, _080A42AC @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r3
- ldrb r0, [r0, 0x1]
- subs r1, r0
- subs r1, 0x1
- cmp r1, r2
- bne _080A429C
- movs r0, 0xFC
- strb r0, [r4]
- movs r0, 0x1
- strb r0, [r4, 0x1]
- movs r0, 0x2
- strb r0, [r4, 0x2]
- adds r4, 0x3
-_080A429C:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080A42A4: .4byte gTasks
-_080A42A8: .4byte gUnknown_03005D10
-_080A42AC: .4byte gUnknown_02038559
- thumb_func_end sub_80A425C
-
- thumb_func_start sub_80A42B0
-sub_80A42B0: @ 80A42B0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r1, 0
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- ldr r0, _080A4344 @ =gUnknown_02038540
- mov r8, r0
- ldr r1, _080A4348 @ =gUnknown_03005D10
- ldr r0, _080A434C @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x1]
- adds r1, r6
- ldrb r0, [r0, 0x2]
- cmp r1, r0
- bgt _080A4370
- cmp r1, r0
- bne _080A4374
- ldr r0, _080A4350 @ =gUnknown_03000701
- ldrb r0, [r0]
- cmp r0, 0x5
- beq _080A4370
- lsls r0, r6, 25
- movs r1, 0x80
- lsls r1, 18
- adds r0, r1
- lsrs r5, r0, 24
- ldr r4, _080A4354 @ =gStringVar1
- ldr r1, _080A4358 @ =gOtherText_CloseBag
- adds r0, r4, 0
- movs r2, 0x78
- movs r3, 0
- bl sub_8072C74
- adds r0, r4, 0
- movs r1, 0xE
- adds r2, r5, 0
- bl MenuPrint
- lsls r0, r5, 6
- ldr r1, _080A435C @ =gBGTilemapBuffers + 0x1000 + 0x1C
- adds r0, r1
- movs r2, 0x4F
- strh r2, [r0]
- strh r2, [r0, 0x2]
- adds r1, r0, 0
- adds r1, 0x40
- strh r2, [r1]
- adds r0, 0x42
- strh r2, [r0]
- cmp r6, 0x7
- beq _080A4370
- cmp r7, 0x1
- bne _080A432E
- mov r1, r8
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- bne _080A4332
-_080A432E:
- cmp r7, 0x2
- bne _080A4360
-_080A4332:
- adds r1, r5, 0x2
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0xE
- movs r2, 0x1D
- movs r3, 0xD
- bl MenuFillWindowRectWithBlankTile
- b _080A4370
- .align 2, 0
-_080A4344: .4byte gUnknown_02038540
-_080A4348: .4byte gUnknown_03005D10
-_080A434C: .4byte gUnknown_02038559
-_080A4350: .4byte gUnknown_03000701
-_080A4354: .4byte gStringVar1
-_080A4358: .4byte gOtherText_CloseBag
-_080A435C: .4byte gBGTilemapBuffers + 0x1000 + 0x1C
-_080A4360:
- adds r1, r5, 0x2
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0xE
- movs r2, 0x1D
- movs r3, 0x11
- bl MenuFillWindowRectWithBlankTile
-_080A4370:
- movs r0, 0x1
- b _080A4376
-_080A4374:
- movs r0, 0
-_080A4376:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A42B0
-
- thumb_func_start sub_80A4380
-sub_80A4380: @ 80A4380
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- str r2, [sp]
- mov r10, r3
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- lsls r1, 24
- lsrs r7, r1, 24
- ldr r0, _080A43A0 @ =gUnknown_03005D24
- mov r8, r0
- b _080A441A
- .align 2, 0
-_080A43A0: .4byte gUnknown_03005D24
-_080A43A4:
- ldr r1, _080A4440 @ =gUnknown_03005D10
- ldr r0, _080A4444 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r4, [r0, 0x1]
- adds r4, r7, r4
- lsls r4, 24
- lsrs r4, 24
- lsls r5, r7, 25
- movs r1, 0x80
- lsls r1, 18
- adds r5, r1
- lsrs r5, 24
- ldr r6, _080A4448 @ =gStringVar1
- mov r1, r9
- lsls r0, r1, 24
- lsrs r0, 24
- adds r1, r6, 0
- adds r2, r7, 0
- bl sub_80A425C
- adds r6, r0, 0
- mov r1, r8
- ldr r0, [r1]
- lsls r4, 2
- adds r0, r4, r0
- ldrh r0, [r0]
- bl ItemId_GetItem
- adds r1, r0, 0
- adds r0, r6, 0
- movs r2, 0x66
- movs r3, 0
- bl sub_8072C74
- adds r6, r0, 0
- movs r0, 0xB9
- strb r0, [r6]
- adds r6, 0x1
- mov r1, r8
- ldr r0, [r1]
- adds r4, r0
- ldrh r1, [r4, 0x2]
- adds r0, r6, 0
- movs r2, 0x78
- movs r3, 0x1
- bl sub_8072C14
- ldr r0, _080A4448 @ =gStringVar1
- movs r1, 0xE
- adds r2, r5, 0
- bl MenuPrint
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
-_080A441A:
- ldr r0, [sp]
- cmp r7, r0
- bgt _080A4430
- adds r0, r7, 0
- mov r1, r10
- bl sub_80A42B0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A43A4
-_080A4430:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A4440: .4byte gUnknown_03005D10
-_080A4444: .4byte gUnknown_02038559
-_080A4448: .4byte gStringVar1
- thumb_func_end sub_80A4380
-
- thumb_func_start sub_80A444C
-sub_80A444C: @ 80A444C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- str r2, [sp]
- str r3, [sp, 0x4]
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- lsls r1, 24
- lsrs r6, r1, 24
- ldr r0, _080A446C @ =gSaveBlock1 + 0x496
- mov r9, r0
- b _080A4520
- .align 2, 0
-_080A446C: .4byte gSaveBlock1 + 0x496
-_080A4470:
- ldr r1, _080A44E8 @ =gUnknown_03005D10
- ldr r0, _080A44EC @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r4, [r0, 0x1]
- adds r4, r6, r4
- lsls r4, 24
- lsrs r4, 24
- lsls r5, r6, 25
- movs r1, 0x80
- lsls r1, 18
- adds r5, r1
- lsrs r5, 24
- ldr r7, _080A44F0 @ =gStringVar1
- mov r2, r10
- lsls r0, r2, 24
- lsrs r0, 24
- adds r1, r7, 0
- adds r2, r6, 0
- bl sub_80A425C
- adds r7, r0, 0
- ldr r0, _080A44F4 @ =gUnknown_03005D24
- mov r8, r0
- ldr r0, [r0]
- lsls r4, 2
- adds r0, r4, r0
- ldrh r0, [r0]
- bl ItemId_GetItem
- adds r1, r0, 0
- adds r0, r7, 0
-.ifdef ENGLISH
- movs r2, 0x60
-.else
- movs r2, 0x63
-.endif
- movs r3, 0
- bl sub_8072C74
- ldr r0, _080A44F0 @ =gStringVar1
- movs r1, 0xE
- adds r2, r5, 0
- bl MenuPrint
- ldr r0, _080A44F8 @ =gUnknown_02038558
- ldrb r0, [r0]
- cmp r0, 0
- beq _080A44FC
- mov r1, r8
- ldr r0, [r1]
- adds r0, r4, r0
- ldrh r0, [r0]
- mov r2, r9
- ldrh r2, [r2]
- cmp r0, r2
- bne _080A451A
- adds r0, r6, 0
- bl sub_80A4030
- b _080A451A
- .align 2, 0
-_080A44E8: .4byte gUnknown_03005D10
-_080A44EC: .4byte gUnknown_02038559
-_080A44F0: .4byte gStringVar1
-_080A44F4: .4byte gUnknown_03005D24
-_080A44F8: .4byte gUnknown_02038558
-_080A44FC:
- mov r1, r8
- ldr r0, [r1]
- adds r0, r4, r0
- ldrh r0, [r0]
- mov r2, r9
- ldrh r2, [r2]
- cmp r0, r2
- bne _080A4514
- adds r0, r6, 0
- bl sub_80A405C
- b _080A451A
-_080A4514:
- adds r0, r6, 0
- bl sub_80A40AC
-_080A451A:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_080A4520:
- ldr r0, [sp]
- cmp r6, r0
- bgt _080A4536
- adds r0, r6, 0
- ldr r1, [sp, 0x4]
- bl sub_80A42B0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A4470
-_080A4536:
- 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_80A444C
-
- thumb_func_start sub_80A4548
-sub_80A4548: @ 80A4548
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- str r2, [sp, 0x8]
- str r3, [sp, 0xC]
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x4]
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- ldr r0, _080A456C @ =gBGTilemapBuffers + 0x1000
- mov r9, r0
- b _080A46C2
- .align 2, 0
-_080A456C: .4byte gBGTilemapBuffers + 0x1000
-_080A4570:
- ldr r1, _080A461C @ =gUnknown_03005D10
- ldr r0, _080A4620 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r4, [r0, 0x1]
- add r4, r8
- lsls r4, 24
- lsrs r4, 24
- mov r1, r8
- lsls r0, r1, 25
- movs r3, 0x80
- lsls r3, 18
- adds r0, r3
- lsrs r0, 24
- str r0, [sp, 0x10]
- lsls r0, 5
- adds r0, 0xE
- adds r5, r0, 0
- ldr r6, _080A4624 @ =gStringVar1
- ldr r1, [sp, 0x4]
- lsls r0, r1, 24
- lsrs r0, 24
- adds r1, r6, 0
- mov r2, r8
- bl sub_80A425C
- adds r6, r0, 0
- ldr r3, _080A4628 @ =gUnknown_03005D24
- mov r10, r3
- ldr r0, [r3]
- lsls r7, r4, 2
- adds r3, r7, r0
- ldrh r1, [r3]
- movs r0, 0xA9
- lsls r0, 1
- cmp r1, r0
- bhi _080A4634
- lsls r0, r5, 1
- add r0, r9
- movs r1, 0x59
- strh r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 1
- add r0, r9
- movs r2, 0x4F
- strh r2, [r0]
- adds r0, r5, 0
- adds r0, 0x20
- lsls r0, 1
- add r0, r9
- movs r1, 0x69
- strh r1, [r0]
- adds r0, r5, 0
- adds r0, 0x21
- lsls r0, 1
- add r0, r9
- strh r2, [r0]
- ldrh r0, [r3]
- bl ItemIdToBattleMoveId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xD
- adds r2, r0, 0
- muls r2, r1
- ldr r0, _080A462C @ =gMoveNames
- adds r2, r0
- mov r1, r10
- ldr r0, [r1]
- adds r0, r7, r0
- ldr r3, _080A4630 @ =0xfffffee0
- adds r1, r3, 0
- ldrh r3, [r0]
- adds r1, r3
- lsls r1, 16
- lsrs r1, 16
- ldrh r3, [r0, 0x2]
- movs r0, 0x2
- str r0, [sp]
- adds r0, r6, 0
- bl sub_80A41E0
- b _080A46AE
- .align 2, 0
-_080A461C: .4byte gUnknown_03005D10
-_080A4620: .4byte gUnknown_02038559
-_080A4624: .4byte gStringVar1
-_080A4628: .4byte gUnknown_03005D24
-_080A462C: .4byte gMoveNames
-_080A4630: .4byte 0xfffffee0
-_080A4634:
- lsls r0, r5, 1
- add r0, r9
- ldr r1, _080A46EC @ =0x0000105d
- strh r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 1
- add r0, r9
- adds r1, 0x1
- strh r1, [r0]
- adds r0, r5, 0
- adds r0, 0x20
- lsls r0, 1
- add r0, r9
- adds r1, 0xF
- strh r1, [r0]
- adds r0, r5, 0
- adds r0, 0x21
- lsls r0, 1
- add r0, r9
- adds r1, 0x1
- strh r1, [r0]
- movs r0, 0xFC
- strb r0, [r6]
- movs r4, 0x13
- strb r4, [r6, 0x1]
- movs r0, 0x11
- strb r0, [r6, 0x2]
- adds r6, 0x3
- mov r1, r10
- ldr r0, [r1]
- adds r0, r7, r0
- ldrh r1, [r0]
- ldr r3, _080A46F0 @ =0xfffffeae
- adds r1, r3
- adds r0, r6, 0
- bl ConvertIntToDecimalString
- adds r6, r0, 0
- movs r0, 0xFC
- strb r0, [r6]
- strb r4, [r6, 0x1]
- movs r0, 0x18
- strb r0, [r6, 0x2]
- adds r6, 0x3
- mov r1, r10
- ldr r0, [r1]
- adds r0, r7, r0
- ldrh r0, [r0]
- bl ItemIdToBattleMoveId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xD
- muls r1, r0
- ldr r0, _080A46F4 @ =gMoveNames
- adds r1, r0
- adds r0, r6, 0
- movs r2, 0x78
- movs r3, 0
- bl sub_8072C74
-_080A46AE:
- ldr r0, _080A46F8 @ =gStringVar1
- movs r1, 0xE
- ldr r2, [sp, 0x10]
- bl MenuPrint
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
-_080A46C2:
- ldr r3, [sp, 0x8]
- cmp r8, r3
- bgt _080A46DA
- mov r0, r8
- ldr r1, [sp, 0xC]
- bl sub_80A42B0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080A46DA
- b _080A4570
-_080A46DA:
- 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
-_080A46EC: .4byte 0x0000105d
-_080A46F0: .4byte 0xfffffeae
-_080A46F4: .4byte gMoveNames
-_080A46F8: .4byte gStringVar1
- thumb_func_end sub_80A4548
-
- thumb_func_start sub_80A46FC
-sub_80A46FC: @ 80A46FC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- str r2, [sp, 0x8]
- str r3, [sp, 0xC]
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x4]
- lsls r1, 24
- lsrs r6, r1, 24
- ldr r0, _080A4724 @ =gBGTilemapBuffers + 0x1000
- mov r10, r0
- ldr r1, _080A4728 @ =gStringVar2
- mov r9, r1
- ldr r0, _080A472C @ =gUnknown_03005D24
- mov r8, r0
- b _080A47B4
- .align 2, 0
-_080A4724: .4byte gBGTilemapBuffers + 0x1000
-_080A4728: .4byte gStringVar2
-_080A472C: .4byte gUnknown_03005D24
-_080A4730:
- ldr r1, _080A47DC @ =gUnknown_03005D10
- ldr r0, _080A47E0 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r4, [r0, 0x1]
- adds r4, r6, r4
- lsls r4, 24
- lsrs r4, 24
- lsls r5, r6, 25
- movs r1, 0x80
- lsls r1, 18
- adds r5, r1
- lsrs r5, 24
- lsls r0, r5, 5
- adds r0, 0xE
- lsls r1, r0, 1
- add r1, r10
- movs r2, 0x59
- strh r2, [r1]
- adds r0, 0x20
- lsls r0, 1
- add r0, r10
- movs r1, 0x69
- strh r1, [r0]
- ldr r7, _080A47E4 @ =gStringVar1
- ldr r1, [sp, 0x4]
- lsls r0, r1, 24
- lsrs r0, 24
- adds r1, r7, 0
- adds r2, r6, 0
- bl sub_80A425C
- adds r7, r0, 0
- mov r1, r8
- ldr r0, [r1]
- lsls r4, 2
- adds r0, r4, r0
- ldrh r0, [r0]
- mov r1, r9
- bl CopyItemName
- mov r1, r8
- ldr r0, [r1]
- adds r4, r0
- ldrh r1, [r4]
- subs r1, 0x84
- lsls r1, 16
- lsrs r1, 16
- ldrh r3, [r4, 0x2]
- movs r0, 0x3
- str r0, [sp]
- adds r0, r7, 0
- mov r2, r9
- bl sub_80A41E0
- ldr r0, _080A47E4 @ =gStringVar1
- movs r1, 0xE
- adds r2, r5, 0
- bl MenuPrint
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_080A47B4:
- ldr r0, [sp, 0x8]
- cmp r6, r0
- bgt _080A47CA
- adds r0, r6, 0
- ldr r1, [sp, 0xC]
- bl sub_80A42B0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A4730
-_080A47CA:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A47DC: .4byte gUnknown_03005D10
-_080A47E0: .4byte gUnknown_02038559
-_080A47E4: .4byte gStringVar1
- thumb_func_end sub_80A46FC
-
- thumb_func_start sub_80A47E8
-sub_80A47E8: @ 80A47E8
- push {r4,r5,lr}
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, _080A4808 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x4
- bhi _080A4852
- lsls r0, 2
- ldr r1, _080A480C @ =_080A4810
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080A4808: .4byte gUnknown_02038559
-_080A480C: .4byte _080A4810
- .align 2, 0
-_080A4810:
- .4byte _080A4824
- .4byte _080A4824
- .4byte _080A483C
- .4byte _080A4848
- .4byte _080A4830
-_080A4824:
- adds r0, r2, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80A4380
- b _080A4852
-_080A4830:
- adds r0, r2, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80A444C
- b _080A4852
-_080A483C:
- adds r0, r2, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80A4548
- b _080A4852
-_080A4848:
- adds r0, r2, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80A46FC
-_080A4852:
- ldr r1, _080A4870 @ =gUnknown_03005D10
- ldr r0, _080A4874 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- beq _080A4878
- movs r0, 0
- movs r1, 0
- bl sub_80F979C
- b _080A4880
- .align 2, 0
-_080A4870: .4byte gUnknown_03005D10
-_080A4874: .4byte gUnknown_02038559
-_080A4878:
- movs r0, 0
- movs r1, 0x1
- bl sub_80F979C
-_080A4880:
- ldr r0, _080A48A4 @ =gUnknown_03000701
- ldrb r0, [r0]
- cmp r0, 0x5
- beq _080A48B0
- ldr r1, _080A48A8 @ =gUnknown_03005D10
- ldr r0, _080A48AC @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x1]
- adds r1, 0x8
- ldrb r0, [r0, 0x2]
- adds r0, 0x1
- cmp r1, r0
- blt _080A48C6
- b _080A48D8
- .align 2, 0
-_080A48A4: .4byte gUnknown_03000701
-_080A48A8: .4byte gUnknown_03005D10
-_080A48AC: .4byte gUnknown_02038559
-_080A48B0:
- ldr r2, _080A48D0 @ =gUnknown_03005D10
- ldr r0, _080A48D4 @ =gUnknown_02038559
- movs r1, 0
- ldrsb r1, [r0, r1]
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x1]
- adds r0, 0x8
- ldrb r1, [r1, 0x2]
- cmp r0, r1
- bge _080A48D8
-_080A48C6:
- movs r0, 0x1
- movs r1, 0
- bl sub_80F979C
- b _080A48E0
- .align 2, 0
-_080A48D0: .4byte gUnknown_03005D10
-_080A48D4: .4byte gUnknown_02038559
-_080A48D8:
- movs r0, 0x1
- movs r1, 0x1
- bl sub_80F979C
-_080A48E0:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A47E8
-
- thumb_func_start sub_80A48E8
-sub_80A48E8: @ 80A48E8
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- movs r3, 0
- bl sub_80A47E8
- pop {r0}
- bx r0
- thumb_func_end sub_80A48E8
-
- thumb_func_start sub_80A48F8
-sub_80A48F8: @ 80A48F8
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- movs r2, 0x5
- movs r3, 0x2
- bl sub_80A47E8
- pop {r0}
- bx r0
- thumb_func_end sub_80A48F8
-
- thumb_func_start ItemListMenu_InitDescription
-ItemListMenu_InitDescription: @ 80A490C
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 16
- lsrs r3, r0, 16
- ldr r1, _080A4960 @ =gUnknown_03005D10
- ldr r0, _080A4964 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x1]
- ldrb r2, [r0]
- adds r1, r2
- ldrb r0, [r0, 0x2]
- cmp r1, r0
- bne _080A4974
- ldr r0, _080A4968 @ =gOtherText_ReturnTo
- movs r4, 0x1
- str r4, [sp]
- movs r1, 0x4
- movs r2, 0x68
- movs r3, 0x68
- bl sub_8072A18
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080A496C @ =gUnknown_0840E740
- ldr r0, _080A4970 @ =gUnknown_03000701
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- str r4, [sp]
- movs r1, 0x4
- movs r2, 0x78
- movs r3, 0x68
- bl sub_8072A18
- adds r0, r5, r0
- b _080A4988
- .align 2, 0
-_080A4960: .4byte gUnknown_03005D10
-_080A4964: .4byte gUnknown_02038559
-_080A4968: .4byte gOtherText_ReturnTo
-_080A496C: .4byte gUnknown_0840E740
-_080A4970: .4byte gUnknown_03000701
-_080A4974:
- adds r0, r3, 0
- bl ItemId_GetDescription
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0x4
- movs r2, 0x68
- movs r3, 0x68
- bl sub_8072A18
-_080A4988:
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x2
- bhi _080A49A4
- lsls r1, r5, 25
- movs r0, 0xD0
- lsls r0, 20
- adds r1, r0
- lsrs r1, 24
- movs r0, 0
- movs r2, 0xD
- movs r3, 0x14
- bl MenuZeroFillWindowRect
-_080A49A4:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end ItemListMenu_InitDescription
-
- thumb_func_start ItemListMenu_ChangeDescription
-ItemListMenu_ChangeDescription: @ 80A49AC
- push {r4,r5,lr}
- sub sp, 0x64
- adds r4, r1, 0
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r1, _080A49E8 @ =gUnknown_03005D10
- ldr r0, _080A49EC @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x1]
- ldrb r2, [r0]
- adds r1, r2
- ldrb r0, [r0, 0x2]
- cmp r1, r0
- bne _080A4A18
- cmp r4, 0
- bne _080A49F4
- movs r0, 0
- movs r1, 0xD
- movs r2, 0xD
- movs r3, 0x14
- bl MenuZeroFillWindowRect
- ldr r0, _080A49F0 @ =gOtherText_ReturnTo
- movs r1, 0x4
- movs r2, 0x68
- b _080A4A08
- .align 2, 0
-_080A49E8: .4byte gUnknown_03005D10
-_080A49EC: .4byte gUnknown_02038559
-_080A49F0: .4byte gOtherText_ReturnTo
-_080A49F4:
- cmp r4, 0x1
- bne _080A4A4C
- ldr r1, _080A4A10 @ =gUnknown_0840E740
- ldr r0, _080A4A14 @ =gUnknown_03000701
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x4
- movs r2, 0x78
-_080A4A08:
- movs r3, 0
- bl MenuPrint_PixelCoords
- b _080A4A4C
- .align 2, 0
-_080A4A10: .4byte gUnknown_0840E740
-_080A4A14: .4byte gUnknown_03000701
-_080A4A18:
- cmp r4, 0
- bne _080A4A28
- movs r0, 0
- movs r1, 0xD
- movs r2, 0xD
- movs r3, 0x14
- bl MenuZeroFillWindowRect
-_080A4A28:
- lsls r1, r5, 16
- asrs r1, 16
- mov r0, sp
- adds r2, r4, 0
- bl ItemId_CopyDescription
- cmp r0, 0
- beq _080A4A4C
- lsls r2, r4, 20
- movs r0, 0xD0
- lsls r0, 15
- adds r2, r0
- lsrs r2, 16
- mov r0, sp
- movs r1, 0x4
- movs r3, 0
- bl MenuPrint_PixelCoords
-_080A4A4C:
- add sp, 0x64
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end ItemListMenu_ChangeDescription
-
- thumb_func_start sub_80A4A54
-sub_80A4A54: @ 80A4A54
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r2, 0x1
- adds r2, r1, 0
- adds r1, r5, 0
-_080A4A5E:
- ldrb r3, [r2]
- adds r0, r3, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _080A4A8A
- subs r4, 0x1
- cmp r4, 0
- bne _080A4A78
- movs r0, 0xFF
- strb r0, [r1]
- movs r0, 0x1
- b _080A4A92
-_080A4A78:
- lsls r0, r3, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _080A4A84
- movs r0, 0
- b _080A4A92
-_080A4A84:
- adds r1, r5, 0
- adds r2, 0x1
- b _080A4A5E
-_080A4A8A:
- strb r3, [r1]
- adds r2, 0x1
- adds r1, 0x1
- b _080A4A5E
-_080A4A92:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80A4A54
-
- thumb_func_start sub_80A4A98
-sub_80A4A98: @ 80A4A98
- push {r4,r5,lr}
- sub sp, 0x64
- adds r5, r0, 0
- adds r4, r1, 0
- cmp r4, 0
- bne _080A4AB0
- movs r0, 0
- movs r1, 0xD
- movs r2, 0xD
- movs r3, 0x14
- bl MenuZeroFillWindowRect
-_080A4AB0:
- mov r0, sp
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_80A4A54
- cmp r0, 0
- beq _080A4AD2
- lsls r2, r4, 20
- movs r0, 0xD0
- lsls r0, 15
- adds r2, r0
- lsrs r2, 16
- mov r0, sp
- movs r1, 0x4
- movs r3, 0
- bl MenuPrint_PixelCoords
-_080A4AD2:
- add sp, 0x64
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A4A98
-
- thumb_func_start sub_80A4ADC
-sub_80A4ADC: @ 80A4ADC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A4B0C @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r2, 0x1C
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _080A4AFA
- movs r0, 0
- bl sub_80A7528
-_080A4AFA:
- movs r0, 0x5
- bl PlaySE
- ldr r1, _080A4B10 @ =gUnknown_0203855C
- movs r0, 0x1
- strb r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_080A4B0C: .4byte gTasks
-_080A4B10: .4byte gUnknown_0203855C
- thumb_func_end sub_80A4ADC
-
- thumb_func_start sub_80A4B14
-sub_80A4B14: @ 80A4B14
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsls r4, 24
- lsrs r4, 24
- ldr r2, _080A4B50 @ =gUnknown_03005D10
- ldr r1, _080A4B54 @ =gUnknown_02038559
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- lsls r1, 2
- adds r1, r2
- lsrs r0, 24
- ldrb r2, [r1, 0x1]
- adds r0, r2
- strb r0, [r1, 0x1]
- movs r0, 0
- bl MoveMenuCursor
- bl sub_80A73C0
- bl sub_80A763C
- adds r0, r4, 0
- bl sub_80A4ADC
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A4B50: .4byte gUnknown_03005D10
-_080A4B54: .4byte gUnknown_02038559
- thumb_func_end sub_80A4B14
-
- thumb_func_start sub_80A4B58
-sub_80A4B58: @ 80A4B58
- push {r4,lr}
- adds r4, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, 24
- asrs r0, 24
- bl MoveMenuCursor
- ldr r2, _080A4B88 @ =gUnknown_03005D10
- ldr r1, _080A4B8C @ =gUnknown_02038559
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- lsls r1, 2
- adds r1, r2
- strb r0, [r1]
- bl sub_80A73C0
- adds r0, r4, 0
- bl sub_80A4ADC
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A4B88: .4byte gUnknown_03005D10
-_080A4B8C: .4byte gUnknown_02038559
- thumb_func_end sub_80A4B58
-
- thumb_func_start sub_80A4B90
-sub_80A4B90: @ 80A4B90
- push {r4,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- movs r0, 0x6
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- beq _080A4BBC
- ldr r0, _080A4BB4 @ =0x00000103
- cmp r4, r0
- beq _080A4BAE
- adds r0, 0xD
- cmp r4, r0
- bne _080A4BBC
-_080A4BAE:
- ldr r0, _080A4BB8 @ =gOtherText_Walk
- b _080A4BE6
- .align 2, 0
-_080A4BB4: .4byte 0x00000103
-_080A4BB8: .4byte gOtherText_Walk
-_080A4BBC:
- adds r0, r4, 0
- bl ItemIsMail
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080A4BE4
- ldr r1, _080A4BDC @ =gUnknown_083C1640
- ldr r0, _080A4BE0 @ =gUnknown_03000704
- ldr r0, [r0]
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, r1
- ldr r0, [r0]
- b _080A4BE6
- .align 2, 0
-_080A4BDC: .4byte gUnknown_083C1640
-_080A4BE0: .4byte gUnknown_03000704
-_080A4BE4:
- ldr r0, _080A4BEC @ =gOtherText_Check
-_080A4BE6:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080A4BEC: .4byte gOtherText_Check
- thumb_func_end sub_80A4B90
-
- thumb_func_start sub_80A4BF0
-sub_80A4BF0: @ 80A4BF0
- push {r4-r7,lr}
- sub sp, 0x8
- adds r5, r0, 0
- ldr r7, _080A4C38 @ =gUnknown_02038564
- ldrb r4, [r7]
- cmp r4, 0x4
- beq _080A4C00
- b _080A4CF8
-_080A4C00:
- movs r0, 0
- movs r1, 0x7
- movs r2, 0xD
- movs r3, 0xC
- bl MenuDrawTextWindow
- str r4, [sp]
- adds r0, r5, 0
- movs r1, 0x1
- movs r2, 0x8
- movs r3, 0xC
- bl sub_80A4008
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A4C40
- ldr r0, _080A4C3C @ =gUnknown_03000701
- ldrb r0, [r0]
- cmp r0, 0x5
- bne _080A4C40
- movs r0, 0x1
- movs r1, 0
- bl sub_80A7834
- b _080A4CA0
- .align 2, 0
-_080A4C38: .4byte gUnknown_02038564
-_080A4C3C: .4byte gUnknown_03000701
-_080A4C40:
- movs r6, 0
- ldr r0, _080A4C5C @ =gUnknown_02038564
- ldrb r0, [r0]
- cmp r6, r0
- bcs _080A4CA0
- ldr r4, _080A4C60 @ =gUnknown_083C1640
-_080A4C4C:
- cmp r6, 0
- bne _080A4C68
- ldr r0, _080A4C64 @ =gScriptItemId
- ldrh r0, [r0]
- bl sub_80A4B90
- adds r3, r0, 0
- b _080A4C76
- .align 2, 0
-_080A4C5C: .4byte gUnknown_02038564
-_080A4C60: .4byte gUnknown_083C1640
-_080A4C64: .4byte gScriptItemId
-_080A4C68:
- ldr r0, _080A4CC4 @ =gUnknown_03000704
- ldr r0, [r0]
- adds r0, r6
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, r4
- ldr r3, [r0]
-_080A4C76:
- lsrs r0, r6, 1
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 1
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0x1
- ands r2, r6
- lsls r2, 1
- adds r2, 0x8
- adds r0, r3, 0
- bl MenuPrint
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, _080A4CC8 @ =gUnknown_02038564
- ldrb r0, [r0]
- cmp r6, r0
- bcc _080A4C4C
-_080A4CA0:
- ldr r0, _080A4CCC @ =gUnknown_03000701
- ldrb r0, [r0]
- cmp r0, 0x5
- bne _080A4CD4
- ldr r0, _080A4CC8 @ =gUnknown_02038564
- ldrb r3, [r0]
- ldr r0, _080A4CD0 @ =gUnknown_03000700
- ldrb r0, [r0]
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x8
- bl InitMenu
- b _080A4CEA
- .align 2, 0
-_080A4CC4: .4byte gUnknown_03000704
-_080A4CC8: .4byte gUnknown_02038564
-_080A4CCC: .4byte gUnknown_03000701
-_080A4CD0: .4byte gUnknown_03000700
-_080A4CD4:
- ldr r0, _080A4CF4 @ =gUnknown_02038564
- ldrb r3, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x8
- bl InitMenu
-_080A4CEA:
- movs r0, 0x2F
- bl sub_8072DCC
- b _080A4D8A
- .align 2, 0
-_080A4CF4: .4byte gUnknown_02038564
-_080A4CF8:
- movs r0, 0
- movs r1, 0x5
- movs r2, 0xD
- movs r3, 0xC
- bl MenuDrawTextWindow
- movs r0, 0x6
- str r0, [sp]
- adds r0, r5, 0
- movs r1, 0x1
- movs r2, 0x6
- movs r3, 0xC
- bl sub_80A4008
- movs r6, 0
- ldrb r7, [r7]
- cmp r6, r7
- bcs _080A4D6E
- ldr r7, _080A4D98 @ =gUnknown_083C1640
-_080A4D1E:
- ldr r0, _080A4D9C @ =gUnknown_03000704
- ldr r0, [r0]
- adds r0, r6
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, r7
- ldr r5, [r0]
- adds r0, r6, 0
- movs r1, 0x3
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 1
- adds r4, r0
- lsls r4, 1
- adds r4, 0x1
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- movs r1, 0x3
- bl __umodsi3
- adds r2, r0, 0
- lsls r2, 25
- movs r0, 0xC0
- lsls r0, 19
- adds r2, r0
- lsrs r2, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl MenuPrint
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, _080A4DA0 @ =gUnknown_02038564
- ldrb r0, [r0]
- cmp r6, r0
- bcc _080A4D1E
-_080A4D6E:
- ldr r0, _080A4DA0 @ =gUnknown_02038564
- ldrb r3, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x6
- bl InitMenu
- movs r0, 0x2F
- bl sub_8072DCC
-_080A4D8A:
- movs r0, 0x2
- bl sub_80A7528
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A4D98: .4byte gUnknown_083C1640
-_080A4D9C: .4byte gUnknown_03000704
-_080A4DA0: .4byte gUnknown_02038564
- thumb_func_end sub_80A4BF0
-
- thumb_func_start sub_80A4DA4
-sub_80A4DA4: @ 80A4DA4
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- bl sub_80A73FC
- movs r0, 0x6
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x6
- movs r3, 0xD
- bl sub_80A36B8
- movs r0, 0
- movs r1, 0x5
- movs r2, 0xD
- movs r3, 0xC
- bl MenuZeroFillWindowRect
- bl sub_80A7590
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A4DA4
-
- thumb_func_start sub_80A4DD8
-sub_80A4DD8: @ 80A4DD8
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x4
- adds r4, r1, 0
- adds r1, r2, 0
- adds r6, r3, 0
- ldr r5, [sp, 0x20]
- ldr r2, [sp, 0x24]
- lsls r0, 24
- lsrs r0, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r6, 24
- lsrs r6, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r2, 24
- lsrs r2, 24
- mov r10, r2
- ldr r3, _080A4E84 @ =gTasks
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- adds r2, r3
- movs r0, 0x1
- strh r0, [r2, 0xA]
- adds r0, r4, 0x2
- mov r9, r0
- strh r0, [r2, 0xC]
- adds r0, r1, 0x1
- mov r8, r0
- strh r0, [r2, 0xE]
- adds r2, r4, r6
- lsls r2, 24
- lsrs r2, 24
- adds r3, r1, r5
- lsls r3, 24
- lsrs r3, 24
- adds r0, r4, 0
- bl MenuDrawTextWindow
- ldr r0, _080A4E88 @ =gBGTilemapBuffers + 0x800
- adds r4, 0x1
- lsls r4, 24
- lsrs r4, 24
- mov r1, r8
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- subs r6, 0x1
- lsls r6, 24
- lsrs r6, 24
- subs r5, 0x1
- lsls r5, 24
- lsrs r5, 24
- str r5, [sp]
- adds r1, r4, 0
- mov r2, r8
- adds r3, r6, 0
- bl sub_80A4008
- mov r2, r9
- lsls r2, 24
- lsrs r2, 24
- mov r9, r2
- mov r0, r10
- str r0, [sp]
- movs r0, 0x1
- movs r1, 0x1
- mov r3, r8
- bl sub_80A418C
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A4E84: .4byte gTasks
-_080A4E88: .4byte gBGTilemapBuffers + 0x800
- thumb_func_end sub_80A4DD8
-
- thumb_func_start sub_80A4E8C
-sub_80A4E8C: @ 80A4E8C
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r6, 24
- lsrs r6, 24
- movs r0, 0x5
- bl PlaySE
- movs r0, 0
- movs r1, 0x1
- bl sub_80F979C
- movs r0, 0x1
- movs r1, 0x1
- bl sub_80F979C
- movs r0, 0x2
- movs r1, 0x1
- bl sub_80F979C
- movs r0, 0x3
- movs r1, 0x1
- bl sub_80F979C
- movs r0, 0
- bl PauseVerticalScrollIndicator
- movs r0, 0x1
- bl PauseVerticalScrollIndicator
- movs r0, 0x2
- bl PauseVerticalScrollIndicator
- movs r0, 0x3
- bl PauseVerticalScrollIndicator
- ldr r5, _080A4F04 @ =gBGTilemapBuffers + 0x1000
- lsls r4, 24
- asrs r4, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80A3B04
- ldr r0, _080A4F08 @ =gUnknown_02038559
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_80A3AC0
- bl sub_80A3770
- bl sub_80A7C64
- adds r0, r6, 0
- bl CreateBagPokeballSprite
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A4F04: .4byte gBGTilemapBuffers + 0x1000
-_080A4F08: .4byte gUnknown_02038559
- thumb_func_end sub_80A4E8C
-
- thumb_func_start sub_80A4F0C
-sub_80A4F0C: @ 80A4F0C
- push {r4,lr}
- ldr r0, _080A4F38 @ =gUnknown_03000701
- ldrb r0, [r0]
- subs r0, 0x4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _080A4F60
- ldr r4, _080A4F3C @ =gMain
- ldrh r0, [r4, 0x2E]
- cmp r0, 0x10
- beq _080A4F30
- bl sub_80F9284
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _080A4F40
-_080A4F30:
- movs r0, 0x1
- movs r1, 0x2
- b _080A4F58
- .align 2, 0
-_080A4F38: .4byte gUnknown_03000701
-_080A4F3C: .4byte gMain
-_080A4F40:
- ldrh r0, [r4, 0x2E]
- cmp r0, 0x20
- beq _080A4F52
- bl sub_80F9284
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A4F60
-_080A4F52:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x1
-_080A4F58:
- bl sub_80A4E8C
- movs r0, 0x1
- b _080A4F62
-_080A4F60:
- movs r0, 0
-_080A4F62:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A4F0C
-
- thumb_func_start sub_80A4F68
-sub_80A4F68: @ 80A4F68
- push {lr}
- bl sub_80A4F0C
- pop {r0}
- bx r0
- thumb_func_end sub_80A4F68
-
- thumb_func_start sub_80A4F74
-sub_80A4F74: @ 80A4F74
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r2, r4, 0
- movs r5, 0
- ldr r0, _080A4FAC @ =gMain
- ldrh r0, [r0, 0x30]
- movs r1, 0xF0
- ands r1, r0
- cmp r1, 0x40
- bne _080A4FE8
- ldr r1, _080A4FB0 @ =gUnknown_03005D10
- ldr r0, _080A4FB4 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r1, r0, r1
- ldrb r0, [r1]
- cmp r0, 0
- beq _080A4FB8
- movs r0, 0x1
- negs r0, r0
- adds r1, r4, 0
- bl sub_80A4B58
- b _080A4FC8
- .align 2, 0
-_080A4FAC: .4byte gMain
-_080A4FB0: .4byte gUnknown_03005D10
-_080A4FB4: .4byte gUnknown_02038559
-_080A4FB8:
- ldrb r0, [r1, 0x1]
- cmp r0, 0
- beq _080A4FC8
- movs r0, 0x1
- negs r0, r0
- adds r1, r4, 0
- bl sub_80A4B14
-_080A4FC8:
- ldr r0, _080A4FE0 @ =gLinkOpen
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080A50AE
- ldr r1, _080A4FE4 @ =gMain
- ldrh r0, [r1, 0x32]
- cmp r0, 0x5
- bne _080A50AE
- movs r0, 0xB
- strh r0, [r1, 0x32]
- b _080A50AE
- .align 2, 0
-_080A4FE0: .4byte gLinkOpen
-_080A4FE4: .4byte gMain
-_080A4FE8:
- cmp r1, 0x80
- bne _080A5088
- ldr r0, _080A5020 @ =gUnknown_03000701
- ldrb r0, [r0]
- cmp r0, 0x5
- beq _080A502C
- ldr r1, _080A5024 @ =gUnknown_03005D10
- ldr r0, _080A5028 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r2, r0, r1
- ldrb r0, [r2]
- ldrb r1, [r2, 0x3]
- cmp r0, r1
- bne _080A504E
- ldrb r0, [r2, 0x1]
- ldrb r1, [r2]
- adds r0, r1
- ldrb r2, [r2, 0x2]
- cmp r0, r2
- beq _080A5068
- movs r0, 0x1
- adds r1, r4, 0
- bl sub_80A4B14
- b _080A5068
- .align 2, 0
-_080A5020: .4byte gUnknown_03000701
-_080A5024: .4byte gUnknown_03005D10
-_080A5028: .4byte gUnknown_02038559
-_080A502C:
- ldr r1, _080A5058 @ =gUnknown_03005D10
- ldr r0, _080A505C @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r2, r0, r1
- ldrb r1, [r2, 0x1]
- ldrb r3, [r2]
- adds r1, r3
- ldrb r0, [r2, 0x2]
- subs r0, 0x1
- cmp r1, r0
- beq _080A5068
- ldrb r2, [r2, 0x3]
- cmp r3, r2
- beq _080A5060
-_080A504E:
- movs r0, 0x1
- adds r1, r4, 0
- bl sub_80A4B58
- b _080A5068
- .align 2, 0
-_080A5058: .4byte gUnknown_03005D10
-_080A505C: .4byte gUnknown_02038559
-_080A5060:
- movs r0, 0x1
- adds r1, r4, 0
- bl sub_80A4B14
-_080A5068:
- movs r5, 0x1
- ldr r0, _080A5080 @ =gLinkOpen
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080A50C0
- ldr r1, _080A5084 @ =gMain
- ldrh r0, [r1, 0x32]
- cmp r0, 0x5
- bne _080A50C0
- movs r0, 0xB
- strh r0, [r1, 0x32]
- b _080A50C0
- .align 2, 0
-_080A5080: .4byte gLinkOpen
-_080A5084: .4byte gMain
-_080A5088:
- ldr r0, _080A50B4 @ =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r4, r1, r0
- movs r1, 0x1C
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080A50BC
- bl sub_80A4F0C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A50BC
- bl sub_80A73F0
- ldr r0, _080A50B8 @ =sub_80A4F68
- str r0, [r4]
-_080A50AE:
- movs r5, 0x1
- b _080A50C0
- .align 2, 0
-_080A50B4: .4byte gTasks
-_080A50B8: .4byte sub_80A4F68
-_080A50BC:
- bl sub_80A73C0
-_080A50C0:
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80A4F74
-
- thumb_func_start sub_80A50C8
-sub_80A50C8: @ 80A50C8
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _080A5148 @ =gTasks + 0x8
- adds r5, r0, r1
- ldr r0, _080A514C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080A50E6
- b _080A52BC
-_080A50E6:
- adds r0, r4, 0
- bl sub_80A4F74
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A50F6
- b _080A526A
-_080A50F6:
- ldr r2, _080A5150 @ =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080A5190
- ldr r3, _080A5154 @ =gUnknown_02038559
- ldrb r0, [r3]
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _080A5190
- ldr r0, _080A5158 @ =gUnknown_03000701
- ldrb r0, [r0]
- cmp r0, 0x1
- bhi _080A5190
- movs r1, 0x14
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080A5160
- ldr r1, _080A515C @ =gUnknown_03005D10
- movs r0, 0
- ldrsb r0, [r3, r0]
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x1]
- ldrb r2, [r0]
- adds r1, r2
- ldrb r0, [r0, 0x2]
- cmp r1, r0
- bne _080A5138
- b _080A526A
-_080A5138:
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_80A3F50
- b _080A526A
- .align 2, 0
-_080A5148: .4byte gTasks + 0x8
-_080A514C: .4byte gPaletteFade
-_080A5150: .4byte gMain
-_080A5154: .4byte gUnknown_02038559
-_080A5158: .4byte gUnknown_03000701
-_080A515C: .4byte gUnknown_03005D10
-_080A5160:
- ldr r1, _080A5184 @ =gUnknown_03005D10
- movs r0, 0
- ldrsb r0, [r3, r0]
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x1]
- ldrb r2, [r0]
- adds r1, r2
- ldrb r0, [r0, 0x2]
- cmp r1, r0
- beq _080A5188
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_80A3E90
- b _080A526A
- .align 2, 0
-_080A5184: .4byte gUnknown_03005D10
-_080A5188:
- adds r0, r4, 0
- bl sub_80A3EF4
- b _080A526A
-_080A5190:
- ldrh r2, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _080A5272
- ldr r7, _080A51D4 @ =gUnknown_03005D10
- ldr r6, _080A51D8 @ =gUnknown_02038559
- movs r0, 0
- ldrsb r0, [r6, r0]
- lsls r0, 2
- adds r0, r7
- ldrb r1, [r0, 0x1]
- ldrb r2, [r0]
- adds r1, r2
- ldrb r0, [r0, 0x2]
- cmp r1, r0
- bne _080A51F0
- movs r0, 0x14
- ldrsh r1, [r5, r0]
- cmp r1, 0
- bne _080A51E8
- ldr r0, _080A51DC @ =gScriptItemId
- strh r1, [r0]
- ldr r1, _080A51E0 @ =gUnknown_083C16BC
- ldr r0, _080A51E4 @ =gUnknown_03000701
- ldrb r0, [r0]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- b _080A526A
- .align 2, 0
-_080A51D4: .4byte gUnknown_03005D10
-_080A51D8: .4byte gUnknown_02038559
-_080A51DC: .4byte gScriptItemId
-_080A51E0: .4byte gUnknown_083C16BC
-_080A51E4: .4byte gUnknown_03000701
-_080A51E8:
- adds r0, r4, 0
- bl sub_80A3EF4
- b _080A526A
-_080A51F0:
- movs r1, 0x14
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080A5264
- movs r0, 0x5
- bl PlaySE
- ldr r2, _080A5250 @ =gUnknown_02038560
- movs r1, 0
- ldrsb r1, [r6, r1]
- lsls r1, 2
- adds r1, r7
- ldrb r0, [r1]
- ldrb r1, [r1, 0x1]
- adds r0, r1
- strb r0, [r2]
- ldr r3, _080A5254 @ =gScriptItemId
- ldrb r0, [r2]
- ldr r1, _080A5258 @ =gUnknown_03005D24
- ldr r1, [r1]
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r3]
- ldr r1, _080A525C @ =gUnknown_083C16BC
- ldr r0, _080A5260 @ =gUnknown_03000701
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- movs r0, 0
- bl sub_80F98A4
- movs r0, 0x1
- bl sub_80F98A4
- movs r0, 0x2
- bl sub_80F98A4
- movs r0, 0x3
- bl sub_80F98A4
- bl sub_80A797C
- b _080A526A
- .align 2, 0
-_080A5250: .4byte gUnknown_02038560
-_080A5254: .4byte gScriptItemId
-_080A5258: .4byte gUnknown_03005D24
-_080A525C: .4byte gUnknown_083C16BC
-_080A5260: .4byte gUnknown_03000701
-_080A5264:
- adds r0, r4, 0
- bl sub_80A3E90
-_080A526A:
- adds r0, r4, 0
- bl sub_808B5B4
- b _080A52BC
-_080A5272:
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- beq _080A52BC
- movs r0, 0x14
- ldrsh r1, [r5, r0]
- cmp r1, 0
- bne _080A52B0
- ldr r2, _080A52A4 @ =gUnknown_03000701
- ldrb r0, [r2]
- cmp r0, 0x5
- beq _080A52B6
- ldr r0, _080A52A8 @ =gScriptItemId
- strh r1, [r0]
- ldr r1, _080A52AC @ =gUnknown_083C16BC
- ldrb r0, [r2]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- b _080A52B6
- .align 2, 0
-_080A52A4: .4byte gUnknown_03000701
-_080A52A8: .4byte gScriptItemId
-_080A52AC: .4byte gUnknown_083C16BC
-_080A52B0:
- adds r0, r4, 0
- bl sub_80A3EF4
-_080A52B6:
- adds r0, r4, 0
- bl sub_808B5B4
-_080A52BC:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A50C8
-
- thumb_func_start sub_80A52C4
-sub_80A52C4: @ 80A52C4
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r3, r1, 16
- adds r4, r3, 0
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080A52F4 @ =gTasks + 0x8
- adds r1, r0
- ldr r0, _080A52F8 @ =gMain
- ldrh r0, [r0, 0x30]
- movs r2, 0xF0
- ands r2, r0
- cmp r2, 0x40
- bne _080A52FC
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- cmp r0, r3
- beq _080A533E
- ldrh r0, [r1, 0x2]
- adds r0, 0x1
- b _080A5340
- .align 2, 0
-_080A52F4: .4byte gTasks + 0x8
-_080A52F8: .4byte gMain
-_080A52FC:
- cmp r2, 0x80
- bne _080A5312
- ldrh r2, [r1, 0x2]
- movs r4, 0x2
- ldrsh r0, [r1, r4]
- cmp r0, 0x1
- beq _080A530E
- subs r0, r2, 0x1
- b _080A5340
-_080A530E:
- strh r3, [r1, 0x2]
- b _080A5342
-_080A5312:
- cmp r2, 0x10
- bne _080A532A
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- adds r0, 0xA
- cmp r0, r3
- bge _080A5326
- ldrh r0, [r1, 0x2]
- adds r0, 0xA
- b _080A5340
-_080A5326:
- strh r4, [r1, 0x2]
- b _080A5342
-_080A532A:
- cmp r2, 0x20
- bne _080A5346
- ldrh r2, [r1, 0x2]
- movs r3, 0x2
- ldrsh r0, [r1, r3]
- cmp r0, 0xA
- ble _080A533E
- adds r0, r2, 0
- subs r0, 0xA
- b _080A5340
-_080A533E:
- movs r0, 0x1
-_080A5340:
- strh r0, [r1, 0x2]
-_080A5342:
- movs r0, 0x1
- b _080A5348
-_080A5346:
- movs r0, 0
-_080A5348:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A52C4
-
- thumb_func_start sub_80A5350
-sub_80A5350: @ 80A5350
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r2, _080A539C @ =gTasks + 0x8
- adds r4, r1, r2
- ldr r1, _080A53A0 @ =gUnknown_02038560
- ldrb r1, [r1]
- ldr r2, _080A53A4 @ =gUnknown_03005D24
- ldr r2, [r2]
- lsls r1, 2
- adds r1, r2
- ldrh r1, [r1, 0x2]
- bl sub_80A52C4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A53C0
- ldr r0, _080A53A8 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x3
- bne _080A53AC
- ldrh r0, [r4, 0x2]
- ldrb r2, [r4, 0x4]
- ldrb r3, [r4, 0x6]
- movs r1, 0x3
- str r1, [sp]
- movs r1, 0x1
- bl sub_80A418C
- b _080A53BC
- .align 2, 0
-_080A539C: .4byte gTasks + 0x8
-_080A53A0: .4byte gUnknown_02038560
-_080A53A4: .4byte gUnknown_03005D24
-_080A53A8: .4byte gUnknown_02038559
-_080A53AC:
- ldrh r0, [r4, 0x2]
- ldrb r2, [r4, 0x4]
- ldrb r3, [r4, 0x6]
- movs r1, 0x2
- str r1, [sp]
- movs r1, 0x1
- bl sub_80A418C
-_080A53BC:
- movs r0, 0x1
- b _080A53C2
-_080A53C0:
- movs r0, 0
-_080A53C2:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A5350
-
- thumb_func_start sub_80A53CC
-sub_80A53CC: @ 80A53CC
- push {lr}
- bl sub_80A34B4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A53EA
- bl sub_80A3770
- ldr r0, _080A53F0 @ =sub_80A50C8
- movs r1, 0
- bl CreateTask
- ldr r1, _080A53F4 @ =gUnknown_02038563
- strb r0, [r1]
-_080A53EA:
- pop {r0}
- bx r0
- .align 2, 0
-_080A53F0: .4byte sub_80A50C8
-_080A53F4: .4byte gUnknown_02038563
- thumb_func_end sub_80A53CC
-
- thumb_func_start sub_80A53F8
-sub_80A53F8: @ 80A53F8
- push {lr}
- ldr r0, _080A540C @ =gUnknown_03000701
- movs r1, 0
- strb r1, [r0]
- ldr r0, _080A5410 @ =sub_80A53CC
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_080A540C: .4byte gUnknown_03000701
-_080A5410: .4byte sub_80A53CC
- thumb_func_end sub_80A53F8
-
- thumb_func_start sub_80A5414
-sub_80A5414: @ 80A5414
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r5, 0
- bl sub_80A78A0
- cmp r0, 0
- bne _080A5426
- b _080A5552
-_080A5426:
- ldr r2, _080A5460 @ =gMain
- ldrh r0, [r2, 0x30]
- movs r1, 0xF0
- ands r1, r0
- cmp r1, 0x40
- bne _080A546C
- ldr r4, _080A5464 @ =gUnknown_03000700
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080A5440
- b _080A5552
-_080A5440:
- ldrb r1, [r4]
- ldr r0, _080A5468 @ =gUnknown_03000704
- ldr r0, [r0]
- adds r1, r0
- subs r1, 0x1
- ldrb r0, [r1]
- cmp r0, 0x8
- bne _080A5452
- b _080A5552
-_080A5452:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- b _080A54EE
- .align 2, 0
-_080A5460: .4byte gMain
-_080A5464: .4byte gUnknown_03000700
-_080A5468: .4byte gUnknown_03000704
-_080A546C:
- cmp r1, 0x80
- bne _080A549C
- ldr r4, _080A5494 @ =gUnknown_03000700
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080A5552
- ldrb r1, [r4]
- ldr r0, _080A5498 @ =gUnknown_03000704
- ldr r0, [r0]
- adds r1, r0
- ldrb r0, [r1, 0x1]
- cmp r0, 0x8
- beq _080A5552
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- b _080A54EE
- .align 2, 0
-_080A5494: .4byte gUnknown_03000700
-_080A5498: .4byte gUnknown_03000704
-_080A549C:
- cmp r1, 0x20
- bne _080A54CC
- ldr r4, _080A54C4 @ =gUnknown_03000700
- ldrb r0, [r4]
- cmp r0, 0x1
- bls _080A5552
- adds r1, r0, 0
- ldr r0, _080A54C8 @ =gUnknown_03000704
- ldr r0, [r0]
- adds r1, r0
- subs r1, 0x2
- ldrb r0, [r1]
- cmp r0, 0x8
- beq _080A5552
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x2
- negs r0, r0
- b _080A54EE
- .align 2, 0
-_080A54C4: .4byte gUnknown_03000700
-_080A54C8: .4byte gUnknown_03000704
-_080A54CC:
- cmp r1, 0x10
- bne _080A5500
- ldr r4, _080A54F8 @ =gUnknown_03000700
- ldrb r0, [r4]
- cmp r0, 0x1
- bhi _080A5552
- adds r1, r0, 0
- ldr r0, _080A54FC @ =gUnknown_03000704
- ldr r0, [r0]
- adds r1, r0
- ldrb r0, [r1, 0x2]
- cmp r0, 0x8
- beq _080A5552
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x2
-_080A54EE:
- bl MoveMenuCursor3
- strb r0, [r4]
- b _080A5552
- .align 2, 0
-_080A54F8: .4byte gUnknown_03000700
-_080A54FC: .4byte gUnknown_03000704
-_080A5500:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080A5590
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080A5552
- ldr r1, _080A5570 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0x1C]
- ldr r1, _080A5574 @ =gUnknown_03005D10
- ldr r0, _080A5578 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0]
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_80A48E8
- ldr r0, _080A557C @ =gBGTilemapBuffers + 0x800
- bl sub_80A4DA4
- ldr r1, _080A5580 @ =gUnknown_083C1640
- ldr r0, _080A5584 @ =gUnknown_03000704
- ldr r0, [r0]
- ldrb r0, [r0, 0x3]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r5, [r0]
- adds r0, r4, 0
- bl _call_via_r5
-_080A5552:
- cmp r5, 0
- bne _080A55FA
- ldr r0, _080A5588 @ =gUnknown_03000701
- ldrb r0, [r0]
- cmp r0, 0x5
- bne _080A55E0
- ldr r0, _080A558C @ =gUnknown_03000700
- ldrb r0, [r0]
- cmp r0, 0
- bne _080A55D4
- movs r0, 0xC
- bl sub_8072DDC
- b _080A55FA
- .align 2, 0
-_080A5570: .4byte gTasks
-_080A5574: .4byte gUnknown_03005D10
-_080A5578: .4byte gUnknown_02038559
-_080A557C: .4byte gBGTilemapBuffers + 0x800
-_080A5580: .4byte gUnknown_083C1640
-_080A5584: .4byte gUnknown_03000704
-_080A5588: .4byte gUnknown_03000701
-_080A558C: .4byte gUnknown_03000700
-_080A5590:
- ldr r1, _080A55C0 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0x1C]
- ldr r0, _080A55C4 @ =gBGTilemapBuffers + 0x800
- bl sub_80A4DA4
- ldr r1, _080A55C8 @ =gUnknown_083C1640
- ldr r0, _080A55CC @ =gUnknown_03000700
- ldrb r2, [r0]
- ldr r0, _080A55D0 @ =gUnknown_03000704
- ldr r0, [r0]
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r5, [r0]
- adds r0, r4, 0
- bl _call_via_r5
- b _080A5552
- .align 2, 0
-_080A55C0: .4byte gTasks
-_080A55C4: .4byte gBGTilemapBuffers + 0x800
-_080A55C8: .4byte gUnknown_083C1640
-_080A55CC: .4byte gUnknown_03000700
-_080A55D0: .4byte gUnknown_03000704
-_080A55D4:
- cmp r0, 0x1
- bls _080A55E8
- movs r0, 0x30
- bl sub_8072DCC
- b _080A55FA
-_080A55E0:
- ldr r0, _080A55F0 @ =gUnknown_03000700
- ldrb r0, [r0]
- cmp r0, 0x1
- bhi _080A55F4
-_080A55E8:
- movs r0, 0x2F
- bl sub_8072DCC
- b _080A55FA
- .align 2, 0
-_080A55F0: .4byte gUnknown_03000700
-_080A55F4:
- movs r0, 0x30
- bl sub_8072DCC
-_080A55FA:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A5414
-
- thumb_func_start sub_80A5600
-sub_80A5600: @ 80A5600
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r5, 0
- ldr r2, _080A563C @ =gMain
- ldrh r0, [r2, 0x30]
- movs r1, 0xF0
- ands r1, r0
- cmp r1, 0x40
- bne _080A5648
- ldr r4, _080A5640 @ =gUnknown_03000700
- ldrb r0, [r4]
- cmp r0, 0
- bne _080A561E
- b _080A5736
-_080A561E:
- adds r1, r0, 0
- ldr r0, _080A5644 @ =gUnknown_03000704
- ldr r0, [r0]
- adds r1, r0
- subs r1, 0x1
- ldrb r0, [r1]
- cmp r0, 0x8
- bne _080A5630
- b _080A5736
-_080A5630:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- b _080A56D2
- .align 2, 0
-_080A563C: .4byte gMain
-_080A5640: .4byte gUnknown_03000700
-_080A5644: .4byte gUnknown_03000704
-_080A5648:
- cmp r1, 0x80
- bne _080A5680
- ldr r4, _080A5674 @ =gUnknown_03000700
- ldrb r1, [r4]
- ldr r0, _080A5678 @ =gUnknown_02038564
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- beq _080A5736
- cmp r1, 0x2
- beq _080A5736
- ldr r0, _080A567C @ =gUnknown_03000704
- ldr r0, [r0]
- adds r0, r1, r0
- ldrb r0, [r0, 0x1]
- cmp r0, 0x8
- beq _080A5736
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- b _080A56D2
- .align 2, 0
-_080A5674: .4byte gUnknown_03000700
-_080A5678: .4byte gUnknown_02038564
-_080A567C: .4byte gUnknown_03000704
-_080A5680:
- cmp r1, 0x20
- bne _080A56B0
- ldr r4, _080A56A8 @ =gUnknown_03000700
- ldrb r0, [r4]
- cmp r0, 0x2
- bls _080A5736
- adds r1, r0, 0
- ldr r0, _080A56AC @ =gUnknown_03000704
- ldr r0, [r0]
- adds r1, r0
- subs r1, 0x3
- ldrb r0, [r1]
- cmp r0, 0x8
- beq _080A5736
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x3
- negs r0, r0
- b _080A56D2
- .align 2, 0
-_080A56A8: .4byte gUnknown_03000700
-_080A56AC: .4byte gUnknown_03000704
-_080A56B0:
- cmp r1, 0x10
- bne _080A56E4
- ldr r4, _080A56DC @ =gUnknown_03000700
- ldrb r0, [r4]
- cmp r0, 0x2
- bhi _080A5736
- adds r1, r0, 0
- ldr r0, _080A56E0 @ =gUnknown_03000704
- ldr r0, [r0]
- adds r1, r0
- ldrb r0, [r1, 0x3]
- cmp r0, 0x8
- beq _080A5736
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x3
-_080A56D2:
- bl MoveMenuCursor3
- strb r0, [r4]
- b _080A5736
- .align 2, 0
-_080A56DC: .4byte gUnknown_03000700
-_080A56E0: .4byte gUnknown_03000704
-_080A56E4:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080A5768
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080A5736
- ldr r1, _080A574C @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0x1C]
- ldr r1, _080A5750 @ =gUnknown_03005D10
- ldr r0, _080A5754 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0]
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_80A48E8
- ldr r0, _080A5758 @ =gBGTilemapBuffers + 0x800
- bl sub_80A4DA4
- ldr r1, _080A575C @ =gUnknown_083C1640
- ldr r0, _080A5760 @ =gUnknown_03000704
- ldr r0, [r0]
- ldrb r0, [r0, 0x5]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r5, [r0]
- adds r0, r4, 0
- bl _call_via_r5
-_080A5736:
- cmp r5, 0
- bne _080A57BE
- ldr r0, _080A5764 @ =gUnknown_03000700
- ldrb r0, [r0]
- cmp r0, 0
- bne _080A57AC
- movs r0, 0xC
- bl sub_8072DDC
- b _080A57BE
- .align 2, 0
-_080A574C: .4byte gTasks
-_080A5750: .4byte gUnknown_03005D10
-_080A5754: .4byte gUnknown_02038559
-_080A5758: .4byte gBGTilemapBuffers + 0x800
-_080A575C: .4byte gUnknown_083C1640
-_080A5760: .4byte gUnknown_03000704
-_080A5764: .4byte gUnknown_03000700
-_080A5768:
- ldr r1, _080A5798 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0x1C]
- ldr r0, _080A579C @ =gBGTilemapBuffers + 0x800
- bl sub_80A4DA4
- ldr r1, _080A57A0 @ =gUnknown_083C1640
- ldr r0, _080A57A4 @ =gUnknown_03000700
- ldrb r2, [r0]
- ldr r0, _080A57A8 @ =gUnknown_03000704
- ldr r0, [r0]
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r5, [r0]
- adds r0, r4, 0
- bl _call_via_r5
- b _080A5736
- .align 2, 0
-_080A5798: .4byte gTasks
-_080A579C: .4byte gBGTilemapBuffers + 0x800
-_080A57A0: .4byte gUnknown_083C1640
-_080A57A4: .4byte gUnknown_03000700
-_080A57A8: .4byte gUnknown_03000704
-_080A57AC:
- cmp r0, 0x2
- bhi _080A57B8
- movs r0, 0x2F
- bl sub_8072DCC
- b _080A57BE
-_080A57B8:
- movs r0, 0x30
- bl sub_8072DCC
-_080A57BE:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A5600
-
- thumb_func_start sub_80A57C4
-sub_80A57C4: @ 80A57C4
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r5, _080A57EC @ =gUnknown_03000704
- ldr r0, _080A57F0 @ =gUnknown_02038559
- movs r1, 0
- ldrsb r1, [r0, r1]
- lsls r1, 1
- ldr r4, _080A57F4 @ =gUnknown_083C16AE
- adds r1, r4
- str r1, [r5]
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x4
- bne _080A57FC
- ldr r1, _080A57F8 @ =gUnknown_02038564
- movs r0, 0x1
- strb r0, [r1]
- movs r5, 0x9
- b _080A582C
- .align 2, 0
-_080A57EC: .4byte gUnknown_03000704
-_080A57F0: .4byte gUnknown_02038559
-_080A57F4: .4byte gUnknown_083C16AE
-_080A57F8: .4byte gUnknown_02038564
-_080A57FC:
- ldr r0, _080A581C @ =gScriptItemId
- ldrh r0, [r0]
- bl sub_80F92F4
- lsls r0, 24
- cmp r0, 0
- bne _080A5824
- adds r0, r4, 0
- adds r0, 0x8
- str r0, [r5]
- ldr r1, _080A5820 @ =gUnknown_02038564
- movs r0, 0x1
- strb r0, [r1]
- movs r5, 0x9
- b _080A582C
- .align 2, 0
-_080A581C: .4byte gScriptItemId
-_080A5820: .4byte gUnknown_02038564
-_080A5824:
- ldr r1, _080A5880 @ =gUnknown_02038564
- movs r0, 0x2
- strb r0, [r1]
- movs r5, 0x7
-_080A582C:
- adds r6, r1, 0
- ldr r0, _080A5884 @ =gBGTilemapBuffers + 0x800
- adds r4, r5, 0x1
- ldrb r1, [r6]
- lsls r1, 25
- lsrs r1, 24
- str r1, [sp]
- movs r1, 0x7
- adds r2, r4, 0
- movs r3, 0x6
- bl sub_80A4008
- ldrb r3, [r6]
- lsls r3, 1
- adds r3, 0x1
- adds r3, r5, r3
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x6
- adds r1, r5, 0
- movs r2, 0xD
- bl MenuDrawTextWindow
- movs r0, 0
- adds r1, r5, 0
- bl sub_80A7834
- ldrb r3, [r6]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x6
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x7
- adds r2, r4, 0
- bl InitMenu
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5880: .4byte gUnknown_02038564
-_080A5884: .4byte gBGTilemapBuffers + 0x800
- thumb_func_end sub_80A57C4
-
- thumb_func_start sub_80A5888
-sub_80A5888: @ 80A5888
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- bl sub_80A78A0
- cmp r0, 0
- beq _080A5988
- ldr r2, _080A58B8 @ =gMain
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080A58C0
- ldr r4, _080A58BC @ =gUnknown_03000700
- ldrb r0, [r4]
- cmp r0, 0
- beq _080A5988
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- b _080A58E2
- .align 2, 0
-_080A58B8: .4byte gMain
-_080A58BC: .4byte gUnknown_03000700
-_080A58C0:
- movs r0, 0x80
- ands r0, r1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- beq _080A58F4
- ldr r4, _080A58EC @ =gUnknown_03000700
- ldrb r1, [r4]
- ldr r0, _080A58F0 @ =gUnknown_02038564
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- beq _080A5988
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
-_080A58E2:
- bl MoveMenuCursor
- strb r0, [r4]
- b _080A5988
- .align 2, 0
-_080A58EC: .4byte gUnknown_03000700
-_080A58F0: .4byte gUnknown_02038564
-_080A58F4:
- ldrh r1, [r2, 0x2E]
- movs r2, 0x1
- ands r2, r1
- cmp r2, 0
- beq _080A5964
- ldr r1, _080A5948 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- strh r3, [r0, 0x1C]
- ldr r1, _080A594C @ =gUnknown_03005D10
- ldr r0, _080A5950 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0]
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_80A48E8
- ldr r0, _080A5954 @ =gBGTilemapBuffers + 0x800
- bl sub_80A4DA4
- ldr r1, _080A5958 @ =gUnknown_083C1640
- ldr r0, _080A595C @ =gUnknown_03000700
- ldrb r2, [r0]
- ldr r0, _080A5960 @ =gUnknown_03000704
- ldr r0, [r0]
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- b _080A5988
- .align 2, 0
-_080A5948: .4byte gTasks
-_080A594C: .4byte gUnknown_03005D10
-_080A5950: .4byte gUnknown_02038559
-_080A5954: .4byte gBGTilemapBuffers + 0x800
-_080A5958: .4byte gUnknown_083C1640
-_080A595C: .4byte gUnknown_03000700
-_080A5960: .4byte gUnknown_03000704
-_080A5964:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080A5988
- ldr r1, _080A5990 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- strh r2, [r0, 0x1C]
- ldr r0, _080A5994 @ =gBGTilemapBuffers + 0x800
- bl sub_80A4DA4
- ldr r0, _080A5998 @ =gUnknown_083C1640
- ldr r1, [r0, 0x14]
- adds r0, r5, 0
- bl _call_via_r1
-_080A5988:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5990: .4byte gTasks
-_080A5994: .4byte gBGTilemapBuffers + 0x800
-_080A5998: .4byte gUnknown_083C1640
- thumb_func_end sub_80A5888
-
- thumb_func_start sub_80A599C
-sub_80A599C: @ 80A599C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A59C4 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r3, _080A59C8 @ =sub_805469C
- lsrs r2, r3, 16
- movs r4, 0
- strh r2, [r1, 0x18]
- strh r3, [r1, 0x1A]
- ldr r1, _080A59CC @ =gLastFieldPokeMenuOpened
- strb r4, [r1]
- bl sub_80A5AE4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A59C4: .4byte gTasks
-_080A59C8: .4byte sub_805469C
-_080A59CC: .4byte gLastFieldPokeMenuOpened
- thumb_func_end sub_80A599C
-
- thumb_func_start sub_80A59D0
-sub_80A59D0: @ 80A59D0
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080A5A3C @ =gUnknown_03000700
- movs r0, 0
- strb r0, [r1]
- ldr r7, _080A5A40 @ =gUnknown_03000701
- ldrb r0, [r7]
- cmp r0, 0x5
- bne _080A59E8
- movs r0, 0x1
- strb r0, [r1]
-_080A59E8:
- ldr r1, _080A5A44 @ =gTasks
- lsls r4, r5, 2
- adds r0, r4, r5
- lsls r0, 3
- adds r6, r0, r1
- ldr r3, _080A5A48 @ =gUnknown_03005D10
- ldr r2, _080A5A4C @ =gUnknown_02038559
- movs r0, 0
- ldrsb r0, [r2, r0]
- lsls r0, 2
- adds r0, r3
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0]
- adds r1, r0
- adds r1, 0x1
- strh r1, [r6, 0x1C]
- movs r0, 0
- ldrsb r0, [r2, r0]
- lsls r0, 2
- adds r0, r3
- ldrb r2, [r0]
- adds r0, r5, 0
- adds r1, r2, 0
- bl sub_80A48E8
- bl sub_80A73FC
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A5A54
- ldrb r0, [r7]
- cmp r0, 0x5
- beq _080A5A54
- bl sub_80A57C4
- ldr r0, _080A5A50 @ =sub_80A5888
- str r0, [r6]
- b _080A5A9C
- .align 2, 0
-_080A5A3C: .4byte gUnknown_03000700
-_080A5A40: .4byte gUnknown_03000701
-_080A5A44: .4byte gTasks
-_080A5A48: .4byte gUnknown_03005D10
-_080A5A4C: .4byte gUnknown_02038559
-_080A5A50: .4byte sub_80A5888
-_080A5A54:
- ldr r0, _080A5A7C @ =gBGTilemapBuffers + 0x800
- bl sub_80A4BF0
- ldr r0, _080A5A80 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x3
- bne _080A5A6E
- ldr r0, _080A5A84 @ =gUnknown_03000701
- ldrb r0, [r0]
- cmp r0, 0x5
- bne _080A5A90
-_080A5A6E:
- ldr r0, _080A5A88 @ =gTasks
- adds r1, r4, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, _080A5A8C @ =sub_80A5414
- b _080A5A9A
- .align 2, 0
-_080A5A7C: .4byte gBGTilemapBuffers + 0x800
-_080A5A80: .4byte gUnknown_02038559
-_080A5A84: .4byte gUnknown_03000701
-_080A5A88: .4byte gTasks
-_080A5A8C: .4byte sub_80A5414
-_080A5A90:
- ldr r0, _080A5AA4 @ =gTasks
- adds r1, r4, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, _080A5AA8 @ =sub_80A5600
-_080A5A9A:
- str r0, [r1]
-_080A5A9C:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5AA4: .4byte gTasks
-_080A5AA8: .4byte sub_80A5600
- thumb_func_end sub_80A59D0
-
- thumb_func_start sub_80A5AAC
-sub_80A5AAC: @ 80A5AAC
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _080A5ADC @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080A5AE0 @ =HandleItemMenuPaletteFade
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5ADC: .4byte gTasks
-_080A5AE0: .4byte HandleItemMenuPaletteFade
- thumb_func_end sub_80A5AAC
-
- thumb_func_start sub_80A5AE4
-sub_80A5AE4: @ 80A5AE4
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_80A5AAC
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A5AE4
-
- thumb_func_start HandleItemMenuPaletteFade
-HandleItemMenuPaletteFade: @ 80A5B00
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _080A5B38 @ =gTasks + 0x8
- adds r2, r0, r1
- ldr r0, _080A5B3C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080A5B32
- ldrh r0, [r2, 0x10]
- lsls r0, 16
- ldrh r1, [r2, 0x12]
- orrs r0, r1
- bl SetMainCallback2
- bl gpu_pal_allocator_reset__manage_upper_four
- adds r0, r4, 0
- bl DestroyTask
-_080A5B32:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5B38: .4byte gTasks + 0x8
-_080A5B3C: .4byte gPaletteFade
- thumb_func_end HandleItemMenuPaletteFade
-
- thumb_func_start sub_80A5B40
-sub_80A5B40: @ 80A5B40
- push {lr}
-_080A5B42:
- bl sub_80A317C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A5B68
- bl ResetTasks
- ldr r0, _080A5B60 @ =sub_80A50C8
- movs r1, 0
- bl CreateTask
- ldr r1, _080A5B64 @ =gUnknown_02038563
- strb r0, [r1]
- b _080A5B74
- .align 2, 0
-_080A5B60: .4byte sub_80A50C8
-_080A5B64: .4byte gUnknown_02038563
-_080A5B68:
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A5B42
-_080A5B74:
- pop {r0}
- bx r0
- thumb_func_end sub_80A5B40
-
- thumb_func_start sub_80A5B78
-sub_80A5B78: @ 80A5B78
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r5, _080A5BB0 @ =gScriptItemId
- ldrh r0, [r5]
- bl ItemId_GetFieldFunc
- cmp r0, 0
- beq _080A5BF2
- movs r0, 0x5
- bl PlaySE
- bl CalculatePlayerPartyCount
- lsls r0, 24
- cmp r0, 0
- bne _080A5BB4
- ldrh r0, [r5]
- bl ItemId_GetType
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A5BB4
- adds r0, r4, 0
- bl sub_80A5BF8
- b _080A5BF2
- .align 2, 0
-_080A5BB0: .4byte gScriptItemId
-_080A5BB4:
- ldr r1, _080A5BE0 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0xC]
- ldr r0, _080A5BE4 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x3
- beq _080A5BEC
- ldr r0, _080A5BE8 @ =gScriptItemId
- ldrh r0, [r0]
- bl ItemId_GetFieldFunc
- adds r1, r0, 0
- adds r0, r4, 0
- bl _call_via_r1
- b _080A5BF2
- .align 2, 0
-_080A5BE0: .4byte gTasks
-_080A5BE4: .4byte gUnknown_02038559
-_080A5BE8: .4byte gScriptItemId
-_080A5BEC:
- adds r0, r4, 0
- bl sub_80C9C7C
-_080A5BF2:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A5B78
-
- thumb_func_start sub_80A5BF8
-sub_80A5BF8: @ 80A5BF8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_80A73FC
- bl sub_80A7590
- ldr r1, _080A5C1C @ =gOtherText_NoPokemon
- ldr r2, _080A5C20 @ =CleanUpItemMenuMessage
- adds r0, r4, 0
- movs r3, 0x1
- bl DisplayCannotUseItemMessage
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5C1C: .4byte gOtherText_NoPokemon
-_080A5C20: .4byte CleanUpItemMenuMessage
- thumb_func_end sub_80A5BF8
-
- thumb_func_start sub_80A5C24
-sub_80A5C24: @ 80A5C24
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- bl sub_80A7528
- adds r0, r4, 0
- bl sub_80A41D4
- bl ItemListMenu_InitMenu
- adds r0, r4, 0
- bl sub_80A37C0
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A5C24
-
- thumb_func_start CleanUpItemMenuMessage
-CleanUpItemMenuMessage: @ 80A5C48
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080A5C90 @ =gBGTilemapBuffers + 0x800
- movs r1, 0x1F
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x1F
- bl sub_80A36B8
- movs r0, 0x7
- movs r1, 0x7
- movs r2, 0xD
- movs r3, 0xC
- bl MenuZeroFillWindowRect
- movs r0, 0
- movs r1, 0xE
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r1, _080A5C94 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080A5C98 @ =sub_80A5C24
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5C90: .4byte gBGTilemapBuffers + 0x800
-_080A5C94: .4byte gTasks
-_080A5C98: .4byte sub_80A5C24
- thumb_func_end CleanUpItemMenuMessage
-
- thumb_func_start CleanUpOverworldMessage
-CleanUpOverworldMessage: @ 80A5C9C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0xD
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- adds r0, r4, 0
- bl DestroyTask
- bl sub_8064E2C
- bl ScriptContext2_Disable
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end CleanUpOverworldMessage
-
- thumb_func_start ExecuteItemUseFromBlackPalette
-ExecuteItemUseFromBlackPalette: @ 80A5CC4
- push {lr}
- bl pal_fill_black
- ldr r0, _080A5CD8 @ =Task_CallItemUseOnFieldCallback
- movs r1, 0x8
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_080A5CD8: .4byte Task_CallItemUseOnFieldCallback
- thumb_func_end ExecuteItemUseFromBlackPalette
-
- thumb_func_start Task_CallItemUseOnFieldCallback
-Task_CallItemUseOnFieldCallback: @ 80A5CDC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_807D770
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A5CF8
- ldr r0, _080A5D00 @ =gUnknown_03005D00
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
-_080A5CF8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5D00: .4byte gUnknown_03005D00
- thumb_func_end Task_CallItemUseOnFieldCallback
-
- thumb_func_start sub_80A5D04
-sub_80A5D04: @ 80A5D04
- push {lr}
-_080A5D06:
- bl sub_80A317C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A5D28
- ldr r0, _080A5D20 @ =sub_80A50C8
- movs r1, 0
- bl CreateTask
- ldr r1, _080A5D24 @ =gUnknown_02038563
- strb r0, [r1]
- b _080A5D34
- .align 2, 0
-_080A5D20: .4byte sub_80A50C8
-_080A5D24: .4byte gUnknown_02038563
-_080A5D28:
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A5D06
-_080A5D34:
- pop {r0}
- bx r0
- thumb_func_end sub_80A5D04
-
- thumb_func_start sub_80A5D38
-sub_80A5D38: @ 80A5D38
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _080A5D70 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0xA]
- ldr r0, _080A5D74 @ =gBGTilemapBuffers + 0x800
- bl sub_80A4DA4
- movs r0, 0
- bl sub_80A7528
- adds r0, r4, 0
- bl sub_80A41D4
- bl ItemListMenu_InitMenu
- adds r0, r4, 0
- bl sub_80A37C0
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5D70: .4byte gTasks
-_080A5D74: .4byte gBGTilemapBuffers + 0x800
- thumb_func_end sub_80A5D38
-
- thumb_func_start sub_80A5D78
-sub_80A5D78: @ 80A5D78
- push {lr}
- sub sp, 0x4
- ldr r0, _080A5D9C @ =gBGTilemapBuffers + 0x800
- movs r1, 0x4
- str r1, [sp]
- movs r1, 0x8
- movs r2, 0x8
- movs r3, 0x5
- bl sub_80A4008
- movs r0, 0x7
- movs r1, 0x7
- movs r2, 0x1
- bl DisplayYesNoMenu
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080A5D9C: .4byte gBGTilemapBuffers + 0x800
- thumb_func_end sub_80A5D78
-
- thumb_func_start sub_80A5DA0
-sub_80A5DA0: @ 80A5DA0
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- lsrs r4, r1, 16
- ldr r1, _080A5DC4 @ =gStringVar1
- bl CopyItemName
- cmp r4, 0x63
- bls _080A5DCC
- ldr r0, _080A5DC8 @ =gStringVar2
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- b _080A5DD8
- .align 2, 0
-_080A5DC4: .4byte gStringVar1
-_080A5DC8: .4byte gStringVar2
-_080A5DCC:
- ldr r0, _080A5DF0 @ =gStringVar2
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
-_080A5DD8:
- ldr r0, _080A5DF4 @ =gBGTilemapBuffers + 0x800
- bl sub_80A4DA4
- movs r0, 0x5
- bl sub_80A7528
- bl sub_80A5D78
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5DF0: .4byte gStringVar2
-_080A5DF4: .4byte gBGTilemapBuffers + 0x800
- thumb_func_end sub_80A5DA0
-
- thumb_func_start sub_80A5DF8
-sub_80A5DF8: @ 80A5DF8
- push {lr}
- ldr r0, _080A5E18 @ =gBGTilemapBuffers + 0x800
- bl sub_80A4DA4
- movs r0, 0x7
- movs r1, 0x6
- movs r2, 0xB
- movs r3, 0xD
- bl MenuZeroFillWindowRect
- movs r0, 0x4
- bl sub_80A7528
- pop {r0}
- bx r0
- .align 2, 0
-_080A5E18: .4byte gBGTilemapBuffers + 0x800
- thumb_func_end sub_80A5DF8
-
- thumb_func_start sub_80A5E1C
-sub_80A5E1C: @ 80A5E1C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080A5E58 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080A5E36
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080A5E50
-_080A5E36:
- ldr r0, _080A5E5C @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0
- strh r0, [r1, 0x1C]
- adds r0, r4, 0
- bl sub_80A41D4
- adds r0, r4, 0
- bl sub_80A5D38
-_080A5E50:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5E58: .4byte gMain
-_080A5E5C: .4byte gTasks
- thumb_func_end sub_80A5E1C
-
- thumb_func_start sub_80A5E60
-sub_80A5E60: @ 80A5E60
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_80A5DF8
- adds r0, r4, 0
- bl sub_80A3D5C
- ldr r1, _080A5E88 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080A5E8C @ =sub_80A5E1C
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5E88: .4byte gTasks
-_080A5E8C: .4byte sub_80A5E1C
- thumb_func_end sub_80A5E60
-
- thumb_func_start sub_80A5E90
-sub_80A5E90: @ 80A5E90
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_80A5D38
- pop {r0}
- bx r0
- thumb_func_end sub_80A5E90
-
- thumb_func_start sub_80A5EA0
-sub_80A5EA0: @ 80A5EA0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- adds r0, r4, 0
- bl sub_80A5350
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080A5F0C
- ldr r0, _080A5EE8 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080A5EF8
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080A5EEC @ =gScriptItemId
- ldrh r0, [r0]
- ldr r2, _080A5EF0 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r2
- ldrh r1, [r1, 0xA]
- bl sub_80A5DA0
- ldr r1, _080A5EF4 @ =gUnknown_083C16F4
- adds r0, r4, 0
- bl DoYesNoFuncWithChoice
- b _080A5F0C
- .align 2, 0
-_080A5EE8: .4byte gMain
-_080A5EEC: .4byte gScriptItemId
-_080A5EF0: .4byte gTasks
-_080A5EF4: .4byte gUnknown_083C16F4
-_080A5EF8:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080A5F0C
- movs r0, 0x5
- bl PlaySE
- adds r0, r5, 0
- bl sub_80A5D38
-_080A5F0C:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A5EA0
-
- thumb_func_start sub_80A5F14
-sub_80A5F14: @ 80A5F14
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x5
- bl PlaySE
- ldr r1, _080A5F58 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080A5F5C @ =sub_80A5EA0
- str r1, [r0]
- movs r0, 0x3
- bl sub_80A7528
- ldr r0, _080A5F60 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x3
- bne _080A5F64
- movs r0, 0x3
- str r0, [sp]
- str r0, [sp, 0x4]
- adds r0, r4, 0
- movs r1, 0x6
- movs r2, 0x9
- movs r3, 0x7
- bl sub_80A4DD8
- b _080A5F78
- .align 2, 0
-_080A5F58: .4byte gTasks
-_080A5F5C: .4byte sub_80A5EA0
-_080A5F60: .4byte gUnknown_02038559
-_080A5F64:
- movs r0, 0x3
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- adds r0, r4, 0
- movs r1, 0x7
- movs r2, 0x9
- movs r3, 0x6
- bl sub_80A4DD8
-_080A5F78:
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A5F14
-
- thumb_func_start sub_80A5F80
-sub_80A5F80: @ 80A5F80
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x5
- bl PlaySE
- movs r0, 0
- bl sub_80A7528
- adds r0, r4, 0
- bl sub_80A41D4
- bl ItemListMenu_InitMenu
- adds r0, r4, 0
- bl sub_80A37C0
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A5F80
-
- thumb_func_start sub_80A5FAC
-sub_80A5FAC: @ 80A5FAC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080A5FD0 @ =gSaveBlock1
- ldr r1, _080A5FD4 @ =0x00000496
- adds r4, r0, r1
- ldr r5, _080A5FD8 @ =gScriptItemId
- ldrh r0, [r4]
- ldrh r1, [r5]
- cmp r0, r1
- bne _080A5FDC
- bl sub_80A40D0
- movs r0, 0
- b _080A5FE2
- .align 2, 0
-_080A5FD0: .4byte gSaveBlock1
-_080A5FD4: .4byte 0x00000496
-_080A5FD8: .4byte gScriptItemId
-_080A5FDC:
- bl sub_80A413C
- ldrh r0, [r5]
-_080A5FE2:
- strh r0, [r4]
- movs r0, 0
- bl sub_80A7528
- adds r0, r6, 0
- bl sub_80A41D4
- bl ItemListMenu_InitMenu
- adds r0, r6, 0
- bl sub_80A37C0
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A5FAC
-
- thumb_func_start sub_80A6000
-sub_80A6000: @ 80A6000
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- bl sub_80A7528
- adds r0, r4, 0
- bl sub_80A41D4
- bl ItemListMenu_InitMenu
- adds r0, r4, 0
- bl sub_80A37C0
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A6000
-
- thumb_func_start sub_80A6024
-sub_80A6024: @ 80A6024
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080A606C @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080A6062
- ldr r0, _080A6070 @ =gBGTilemapBuffers + 0x800
- movs r1, 0x1F
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x1F
- bl sub_80A36B8
- movs r0, 0
- movs r1, 0xE
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r1, _080A6074 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080A6078 @ =sub_80A6000
- str r1, [r0]
-_080A6062:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A606C: .4byte gMain
-_080A6070: .4byte gBGTilemapBuffers + 0x800
-_080A6074: .4byte gTasks
-_080A6078: .4byte sub_80A6000
- thumb_func_end sub_80A6024
-
- thumb_func_start DisplayCannotBeHeldMessage
-DisplayCannotBeHeldMessage: @ 80A607C
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_80A73FC
- ldr r0, _080A60B4 @ =gScriptItemId
- ldrh r0, [r0]
- ldr r1, _080A60B8 @ =gStringVar1
- bl CopyItemName
- ldr r5, _080A60BC @ =gStringVar4
- ldr r1, _080A60C0 @ =gOtherText_CantBeHeld
- adds r0, r5, 0
- bl StringExpandPlaceholders
- bl sub_80A7590
- ldr r2, _080A60C4 @ =sub_80A6024
- adds r0, r4, 0
- adds r1, r5, 0
- movs r3, 0x1
- bl DisplayCannotUseItemMessage
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A60B4: .4byte gScriptItemId
-_080A60B8: .4byte gStringVar1
-_080A60BC: .4byte gStringVar4
-_080A60C0: .4byte gOtherText_CantBeHeld
-_080A60C4: .4byte sub_80A6024
- thumb_func_end DisplayCannotBeHeldMessage
-
- thumb_func_start ItemMenu_Give
-ItemMenu_Give: @ 80A60C8
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- adds r6, r4, 0
- movs r0, 0x5
- bl PlaySE
- ldr r5, _080A60FC @ =gScriptItemId
- ldrh r0, [r5]
- bl sub_80F931C
- lsls r0, 24
- cmp r0, 0
- bne _080A6108
- bl sub_80A73FC
- bl sub_80A7590
- ldr r1, _080A6100 @ =gOtherText_CantWriteMail
- ldr r2, _080A6104 @ =sub_80A6024
- adds r0, r4, 0
- movs r3, 0x1
- bl DisplayCannotUseItemMessage
- b _080A616E
- .align 2, 0
-_080A60FC: .4byte gScriptItemId
-_080A6100: .4byte gOtherText_CantWriteMail
-_080A6104: .4byte sub_80A6024
-_080A6108:
- ldrh r0, [r5]
- bl ItemId_GetImportance
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _080A6168
- bl CalculatePlayerPartyCount
- lsls r0, 24
- cmp r0, 0
- bne _080A6128
- adds r0, r4, 0
- bl sub_80A5BF8
- b _080A616E
-_080A6128:
- ldr r1, _080A6158 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r2, _080A615C @ =sub_808B020
- lsrs r1, r2, 16
- strh r1, [r0, 0x18]
- strh r2, [r0, 0x1A]
- ldr r1, _080A6160 @ =HandleItemMenuPaletteFade
- str r1, [r0]
- ldr r1, _080A6164 @ =gUnknown_02038561
- movs r0, 0x1
- strb r0, [r1]
- movs r0, 0x1
- negs r0, r0
- str r5, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _080A616E
- .align 2, 0
-_080A6158: .4byte gTasks
-_080A615C: .4byte sub_808B020
-_080A6160: .4byte HandleItemMenuPaletteFade
-_080A6164: .4byte gUnknown_02038561
-_080A6168:
- adds r0, r6, 0
- bl DisplayCannotBeHeldMessage
-_080A616E:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end ItemMenu_Give
-
- thumb_func_start sub_80A6178
-sub_80A6178: @ 80A6178
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_80A5AE4
- ldr r1, _080A61A0 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r2, _080A61A4 @ =BerryTagScreen_814625C
- lsrs r1, r2, 16
- strh r1, [r0, 0x18]
- strh r2, [r0, 0x1A]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A61A0: .4byte gTasks
-_080A61A4: .4byte BerryTagScreen_814625C
- thumb_func_end sub_80A6178
-
- thumb_func_start sub_80A61A8
-sub_80A61A8: @ 80A61A8
- push {lr}
- bl sub_80A34B4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A61C2
- ldr r0, _080A61C8 @ =sub_80A50C8
- movs r1, 0
- bl CreateTask
- ldr r1, _080A61CC @ =gUnknown_02038563
- strb r0, [r1]
-_080A61C2:
- pop {r0}
- bx r0
- .align 2, 0
-_080A61C8: .4byte sub_80A50C8
-_080A61CC: .4byte gUnknown_02038563
- thumb_func_end sub_80A61A8
-
- thumb_func_start sub_80A61D0
-sub_80A61D0: @ 80A61D0
- push {lr}
- ldr r0, _080A61E4 @ =gUnknown_03000701
- movs r1, 0x2
- strb r1, [r0]
- ldr r0, _080A61E8 @ =sub_80A61A8
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_080A61E4: .4byte gUnknown_03000701
-_080A61E8: .4byte sub_80A61A8
- thumb_func_end sub_80A61D0
-
- thumb_func_start sub_80A61EC
-sub_80A61EC: @ 80A61EC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A620C @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r3, _080A6210 @ =sub_808A3F8
- lsrs r2, r3, 16
- strh r2, [r1, 0x18]
- strh r3, [r1, 0x1A]
- bl sub_80A5AE4
- pop {r0}
- bx r0
- .align 2, 0
-_080A620C: .4byte gTasks
-_080A6210: .4byte sub_808A3F8
- thumb_func_end sub_80A61EC
-
- thumb_func_start sub_80A6214
-sub_80A6214: @ 80A6214
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _080A6244 @ =gUnknown_02038559
- ldrb r0, [r0]
- adds r0, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r4, _080A6248 @ =gScriptItemId
- ldrh r0, [r4]
- bl sub_80F931C
- lsls r0, 24
- cmp r0, 0
- bne _080A6254
- bl sub_80A73FC
- bl sub_80A7590
- ldr r1, _080A624C @ =gOtherText_CantWriteMail
- ldr r2, _080A6250 @ =sub_80A6024
- adds r0, r5, 0
- b _080A6280
- .align 2, 0
-_080A6244: .4byte gUnknown_02038559
-_080A6248: .4byte gScriptItemId
-_080A624C: .4byte gOtherText_CantWriteMail
-_080A6250: .4byte sub_80A6024
-_080A6254:
- ldrh r0, [r4]
- bl sub_80F92F4
- lsls r0, 24
- cmp r0, 0
- bne _080A6298
- bl sub_80A73FC
- ldrh r0, [r4]
- ldr r1, _080A6288 @ =gStringVar1
- bl CopyItemName
- ldr r4, _080A628C @ =gStringVar4
- ldr r1, _080A6290 @ =gOtherText_CantBeHeldHere
- adds r0, r4, 0
- bl StringExpandPlaceholders
- bl sub_80A7590
- ldr r2, _080A6294 @ =sub_80A6024
- adds r0, r5, 0
- adds r1, r4, 0
-_080A6280:
- movs r3, 0x1
- bl DisplayCannotUseItemMessage
- b _080A62D2
- .align 2, 0
-_080A6288: .4byte gStringVar1
-_080A628C: .4byte gStringVar4
-_080A6290: .4byte gOtherText_CantBeHeldHere
-_080A6294: .4byte sub_80A6024
-_080A6298:
- cmp r6, 0x5
- beq _080A62CC
- ldrh r0, [r4]
- bl ItemId_GetImportance
- lsls r0, 24
- cmp r0, 0
- bne _080A62CC
- ldr r1, _080A62C4 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r2, _080A62C8 @ =sub_808A3F8
- lsrs r1, r2, 16
- strh r1, [r0, 0x18]
- strh r2, [r0, 0x1A]
- adds r0, r5, 0
- bl sub_80A5AAC
- b _080A62D2
- .align 2, 0
-_080A62C4: .4byte gTasks
-_080A62C8: .4byte sub_808A3F8
-_080A62CC:
- adds r0, r5, 0
- bl DisplayCannotBeHeldMessage
-_080A62D2:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A6214
-
- thumb_func_start sub_80A62D8
-sub_80A62D8: @ 80A62D8
- push {lr}
- bl sub_80A34B4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A62F2
- ldr r0, _080A62F8 @ =sub_80A50C8
- movs r1, 0
- bl CreateTask
- ldr r1, _080A62FC @ =gUnknown_02038563
- strb r0, [r1]
-_080A62F2:
- pop {r0}
- bx r0
- .align 2, 0
-_080A62F8: .4byte sub_80A50C8
-_080A62FC: .4byte gUnknown_02038563
- thumb_func_end sub_80A62D8
-
- thumb_func_start sub_80A6300
-sub_80A6300: @ 80A6300
- push {lr}
- ldr r0, _080A6314 @ =gUnknown_03000701
- movs r1, 0x3
- strb r1, [r0]
- ldr r0, _080A6318 @ =sub_80A62D8
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_080A6314: .4byte gUnknown_03000701
-_080A6318: .4byte sub_80A62D8
- thumb_func_end sub_80A6300
-
- thumb_func_start sub_80A631C
-sub_80A631C: @ 80A631C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A6344 @ =gFieldCallback
- ldr r1, _080A6348 @ =sub_80B3050
- str r1, [r2]
- ldr r2, _080A634C @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r3, _080A6350 @ =c2_exit_to_overworld_2_switch
- lsrs r2, r3, 16
- strh r2, [r1, 0x18]
- strh r3, [r1, 0x1A]
- bl sub_80A5AE4
- pop {r0}
- bx r0
- .align 2, 0
-_080A6344: .4byte gFieldCallback
-_080A6348: .4byte sub_80B3050
-_080A634C: .4byte gTasks
-_080A6350: .4byte c2_exit_to_overworld_2_switch
- thumb_func_end sub_80A631C
-
- thumb_func_start sub_80A6354
-sub_80A6354: @ 80A6354
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- bl sub_80A7590
- ldr r0, _080A63C4 @ =gTasks
- lsls r2, r5, 2
- adds r2, r5
- lsls r2, 3
- adds r2, r0
- ldr r4, _080A63C8 @ =gUnknown_03005D10
- ldr r3, _080A63CC @ =gUnknown_02038559
- movs r0, 0
- ldrsb r0, [r3, r0]
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0]
- adds r1, r0
- adds r1, 0x1
- strh r1, [r2, 0x1C]
- movs r0, 0
- ldrsb r0, [r3, r0]
- lsls r0, 2
- adds r0, r4
- ldrb r2, [r0]
- adds r0, r5, 0
- adds r1, r2, 0
- bl sub_80A48E8
- bl sub_80A73FC
- ldr r4, _080A63D0 @ =gScriptItemId
- ldrh r0, [r4]
- ldr r1, _080A63D4 @ =gStringVar2
- bl CopyItemName
- ldrh r0, [r4]
- bl ItemId_GetPrice
- lsls r0, 16
- cmp r0, 0
- bne _080A63E4
- ldr r4, _080A63D8 @ =gStringVar4
- ldr r1, _080A63DC @ =gOtherText_CantBuyThat
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r2, _080A63E0 @ =sub_80A6444
- adds r0, r5, 0
- adds r1, r4, 0
- movs r3, 0x1
- bl DisplayCannotUseItemMessage
- b _080A63FA
- .align 2, 0
-_080A63C4: .4byte gTasks
-_080A63C8: .4byte gUnknown_03005D10
-_080A63CC: .4byte gUnknown_02038559
-_080A63D0: .4byte gScriptItemId
-_080A63D4: .4byte gStringVar2
-_080A63D8: .4byte gStringVar4
-_080A63DC: .4byte gOtherText_CantBuyThat
-_080A63E0: .4byte sub_80A6444
-_080A63E4:
- ldr r4, _080A6400 @ =gStringVar4
- ldr r1, _080A6404 @ =gOtherText_HowManyToSell
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r2, _080A6408 @ =sub_80A648C
- adds r0, r5, 0
- adds r1, r4, 0
- movs r3, 0x1
- bl DisplayCannotUseItemMessage
-_080A63FA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6400: .4byte gStringVar4
-_080A6404: .4byte gOtherText_HowManyToSell
-_080A6408: .4byte sub_80A648C
- thumb_func_end sub_80A6354
-
- thumb_func_start sub_80A640C
-sub_80A640C: @ 80A640C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _080A6440 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x1C]
- movs r0, 0
- bl sub_80A7528
- adds r0, r4, 0
- bl sub_80A41D4
- bl ItemListMenu_InitMenu
- adds r0, r4, 0
- bl sub_80A37C0
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6440: .4byte gTasks
- thumb_func_end sub_80A640C
-
- thumb_func_start sub_80A6444
-sub_80A6444: @ 80A6444
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080A6480 @ =gBGTilemapBuffers + 0x800
- movs r1, 0x1F
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x1F
- bl sub_80A36B8
- movs r0, 0
- movs r1, 0xE
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r1, _080A6484 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080A6488 @ =sub_80A640C
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6480: .4byte gBGTilemapBuffers + 0x800
-_080A6484: .4byte gTasks
-_080A6488: .4byte sub_80A640C
- thumb_func_end sub_80A6444
-
- thumb_func_start sub_80A648C
-sub_80A648C: @ 80A648C
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080A64E8 @ =gTasks
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- ldr r0, _080A64EC @ =Task_BuyHowManyDialogueHandleInput
- str r0, [r4]
- ldr r0, _080A64F0 @ =gBGTilemapBuffers + 0x800
- movs r5, 0x2
- str r5, [sp]
- movs r1, 0x1
- movs r2, 0xB
- movs r3, 0xC
- bl sub_80A4008
- movs r0, 0
- movs r1, 0xA
- movs r2, 0xD
- movs r3, 0xD
- bl MenuDrawTextWindow
- movs r0, 0x1
- strh r0, [r4, 0xA]
- strh r0, [r4, 0xC]
- movs r0, 0xB
- strh r0, [r4, 0xE]
- ldr r0, _080A64F4 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x3
- bne _080A64F8
- movs r0, 0x3
- str r0, [sp]
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0x1
- movs r3, 0xB
- bl sub_80A418C
- b _080A6506
- .align 2, 0
-_080A64E8: .4byte gTasks
-_080A64EC: .4byte Task_BuyHowManyDialogueHandleInput
-_080A64F0: .4byte gBGTilemapBuffers + 0x800
-_080A64F4: .4byte gUnknown_02038559
-_080A64F8:
- str r5, [sp]
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0x1
- movs r3, 0xB
- bl sub_80A418C
-_080A6506:
- ldr r0, _080A651C @ =gScriptItemId
- ldrh r0, [r0]
- movs r1, 0x1
- bl BuyMenuDisplayMessage
- bl sub_80A683C
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A651C: .4byte gScriptItemId
- thumb_func_end sub_80A648C
-
- thumb_func_start sub_80A6520
-sub_80A6520: @ 80A6520
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080A6544 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080A653E
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl BuyMenuPrintItemQuantityAndPrice
-_080A653E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6544: .4byte gMain
- thumb_func_end sub_80A6520
-
- thumb_func_start sub_80A6548
-sub_80A6548: @ 80A6548
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_80A48F8
- ldr r1, _080A656C @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080A6570 @ =sub_80A6520
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A656C: .4byte gTasks
-_080A6570: .4byte sub_80A6520
- thumb_func_end sub_80A6548
-
- thumb_func_start sub_80A6574
-sub_80A6574: @ 80A6574
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0x5F
- bl PlaySE
- ldr r0, _080A65A0 @ =gScriptItemId
- ldrh r0, [r0]
- ldr r1, _080A65A4 @ =gTasks
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r1
- ldrb r1, [r4, 0xA]
- bl sub_80A6870
- ldr r0, _080A65A8 @ =sub_80A6548
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A65A0: .4byte gScriptItemId
-_080A65A4: .4byte gTasks
-_080A65A8: .4byte sub_80A6548
- thumb_func_end sub_80A6574
-
- thumb_func_start sub_80A65AC
-sub_80A65AC: @ 80A65AC
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0x7
- movs r1, 0x6
- movs r2, 0xD
- movs r3, 0xC
- bl MenuZeroFillWindowRect
- ldr r0, _080A6600 @ =gBGTilemapBuffers + 0x800
- movs r1, 0x6
- str r1, [sp]
- movs r1, 0x7
- movs r2, 0x6
- movs r3, 0x6
- bl sub_80A36B8
- ldr r0, _080A6604 @ =gScriptItemId
- ldrh r0, [r0]
- ldr r1, _080A6608 @ =gStringVar2
- bl CopyItemName
- ldr r4, _080A660C @ =gStringVar4
- ldr r1, _080A6610 @ =gOtherText_SoldItem
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r2, _080A6614 @ =sub_80A6574
- adds r0, r5, 0
- adds r1, r4, 0
- movs r3, 0x1
- bl DisplayCannotUseItemMessage
- adds r0, r5, 0
- bl sub_80A3D5C
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6600: .4byte gBGTilemapBuffers + 0x800
-_080A6604: .4byte gScriptItemId
-_080A6608: .4byte gStringVar2
-_080A660C: .4byte gStringVar4
-_080A6610: .4byte gOtherText_SoldItem
-_080A6614: .4byte sub_80A6574
- thumb_func_end sub_80A65AC
-
- thumb_func_start sub_80A6618
-sub_80A6618: @ 80A6618
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x7
- movs r1, 0x6
- movs r2, 0xD
- movs r3, 0xC
- bl MenuZeroFillWindowRect
- ldr r0, _080A664C @ =gBGTilemapBuffers + 0x800
- movs r1, 0x6
- str r1, [sp]
- movs r1, 0x7
- movs r2, 0x6
- movs r3, 0x6
- bl sub_80A36B8
- adds r0, r4, 0
- bl BuyMenuPrintItemQuantityAndPrice
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A664C: .4byte gBGTilemapBuffers + 0x800
- thumb_func_end sub_80A6618
-
- thumb_func_start sub_80A6650
-sub_80A6650: @ 80A6650
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_80A5D78
- ldr r1, _080A666C @ =gUnknown_083C16FC
- adds r0, r4, 0
- bl DoYesNoFuncWithChoice
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A666C: .4byte gUnknown_083C16FC
- thumb_func_end sub_80A6650
-
- thumb_func_start Task_BuyHowManyDialogueHandleInput
-Task_BuyHowManyDialogueHandleInput: @ 80A6670
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, r5, 0
- adds r0, r5, 0
- bl sub_80A5350
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A66B4
- movs r0, 0x6
- movs r1, 0xB
- movs r2, 0xC
- movs r3, 0xB
- bl MenuZeroFillWindowRect
- ldr r0, _080A66AC @ =gScriptItemId
- ldrh r0, [r0]
- ldr r2, _080A66B0 @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r2
- ldrh r1, [r1, 0xA]
- bl BuyMenuDisplayMessage
- b _080A6758
- .align 2, 0
-_080A66AC: .4byte gScriptItemId
-_080A66B0: .4byte gTasks
-_080A66B4:
- ldr r0, _080A6724 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080A6744
- movs r0, 0x5
- bl PlaySE
- movs r0, 0
- movs r1, 0xA
- movs r2, 0xD
- movs r3, 0xD
- bl MenuZeroFillWindowRect
- ldr r0, _080A6728 @ =gBGTilemapBuffers + 0x800
- movs r1, 0x3
- str r1, [sp]
- movs r1, 0
- movs r2, 0xA
- movs r3, 0xD
- bl sub_80A36B8
- ldr r4, _080A672C @ =gStringVar1
- ldr r0, _080A6730 @ =gScriptItemId
- ldrh r0, [r0]
- bl ItemId_GetPrice
- lsls r0, 16
- lsrs r0, 17
- ldr r2, _080A6734 @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r2
- movs r2, 0xA
- ldrsh r1, [r1, r2]
- muls r1, r0
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x6
- bl ConvertIntToDecimalStringN
- ldr r4, _080A6738 @ =gStringVar4
- ldr r1, _080A673C @ =gOtherText_CanPay
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r2, _080A6740 @ =sub_80A6650
- adds r0, r5, 0
- adds r1, r4, 0
- movs r3, 0x1
- bl DisplayCannotUseItemMessage
- b _080A6758
- .align 2, 0
-_080A6724: .4byte gMain
-_080A6728: .4byte gBGTilemapBuffers + 0x800
-_080A672C: .4byte gStringVar1
-_080A6730: .4byte gScriptItemId
-_080A6734: .4byte gTasks
-_080A6738: .4byte gStringVar4
-_080A673C: .4byte gOtherText_CanPay
-_080A6740: .4byte sub_80A6650
-_080A6744:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080A6758
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl BuyMenuPrintItemQuantityAndPrice
-_080A6758:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end Task_BuyHowManyDialogueHandleInput
-
- thumb_func_start sub_80A6760
-sub_80A6760: @ 80A6760
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _080A6794 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x1C]
- movs r0, 0
- bl sub_80A7528
- adds r0, r4, 0
- bl sub_80A41D4
- bl ItemListMenu_InitMenu
- adds r0, r4, 0
- bl sub_80A37C0
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6794: .4byte gTasks
- thumb_func_end sub_80A6760
-
- thumb_func_start BuyMenuPrintItemQuantityAndPrice
-BuyMenuPrintItemQuantityAndPrice: @ 80A6798
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080A67E8 @ =gBGTilemapBuffers + 0x800
- movs r1, 0x1F
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x1F
- bl sub_80A36B8
- movs r0, 0
- movs r1, 0
- bl RemoveMoneyLabelObject
- movs r0, 0
- movs r1, 0x4
- movs r2, 0xD
- movs r3, 0xD
- bl MenuZeroFillWindowRect
- movs r0, 0
- movs r1, 0xE
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r1, _080A67EC @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080A67F0 @ =sub_80A6760
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A67E8: .4byte gBGTilemapBuffers + 0x800
-_080A67EC: .4byte gTasks
-_080A67F0: .4byte sub_80A6760
- thumb_func_end BuyMenuPrintItemQuantityAndPrice
-
- thumb_func_start BuyMenuDisplayMessage
-BuyMenuDisplayMessage: @ 80A67F4
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- adds r0, r4, 0
- bl ItemId_GetPrice
- lsls r0, 16
- lsrs r0, 17
- muls r0, r5
- movs r1, 0x6
- movs r2, 0x6
- movs r3, 0xB
- bl sub_80B7A94
- ldr r6, _080A6838 @ =gStringVar1
- adds r0, r4, 0
- bl ItemId_GetPrice
- lsls r0, 16
- lsrs r0, 17
- adds r1, r0, 0
- muls r1, r5
- adds r0, r6, 0
- movs r2, 0
- movs r3, 0x6
- bl ConvertIntToDecimalStringN
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6838: .4byte gStringVar1
- thumb_func_end BuyMenuDisplayMessage
-
- thumb_func_start sub_80A683C
-sub_80A683C: @ 80A683C
- push {lr}
- sub sp, 0x4
- ldr r0, _080A6868 @ =gSaveBlock1
- movs r1, 0x92
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- movs r2, 0
- bl sub_80B7C14
- ldr r0, _080A686C @ =gBGTilemapBuffers + 0x800
- movs r1, 0x2
- str r1, [sp]
- movs r1, 0x1
- movs r2, 0x1
- movs r3, 0xC
- bl sub_80A4008
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080A6868: .4byte gSaveBlock1
-_080A686C: .4byte gBGTilemapBuffers + 0x800
- thumb_func_end sub_80A683C
-
- thumb_func_start sub_80A6870
-sub_80A6870: @ 80A6870
- push {r4,r5,lr}
- adds r4, r1, 0
- lsls r0, 16
- lsrs r0, 16
- lsls r4, 24
- lsrs r4, 24
- ldr r5, _080A68A0 @ =gSaveBlock1 + 0x490
- bl ItemId_GetPrice
- lsls r0, 16
- lsrs r0, 17
- adds r1, r0, 0
- muls r1, r4
- adds r0, r5, 0
- bl sub_80B79B8
- ldr r0, [r5]
- movs r1, 0
- movs r2, 0
- bl sub_80B7BEC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A68A0: .4byte gSaveBlock1 + 0x490
- thumb_func_end sub_80A6870
-
- thumb_func_start sub_80A68A4
-sub_80A68A4: @ 80A68A4
- push {lr}
- bl sub_80A34B4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A68BE
- ldr r0, _080A68C4 @ =sub_80A50C8
- movs r1, 0
- bl CreateTask
- ldr r1, _080A68C8 @ =gUnknown_02038563
- strb r0, [r1]
-_080A68BE:
- pop {r0}
- bx r0
- .align 2, 0
-_080A68C4: .4byte sub_80A50C8
-_080A68C8: .4byte gUnknown_02038563
- thumb_func_end sub_80A68A4
-
- thumb_func_start sub_80A68CC
-sub_80A68CC: @ 80A68CC
- push {lr}
- ldr r1, _080A68E4 @ =gUnknown_02038559
- movs r0, 0x3
- strb r0, [r1]
- ldr r1, _080A68E8 @ =gUnknown_03000701
- movs r0, 0x4
- strb r0, [r1]
- ldr r0, _080A68EC @ =sub_80A68A4
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_080A68E4: .4byte gUnknown_02038559
-_080A68E8: .4byte gUnknown_03000701
-_080A68EC: .4byte sub_80A68A4
- thumb_func_end sub_80A68CC
-
- thumb_func_start sub_80A68F0
-sub_80A68F0: @ 80A68F0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A6910 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r3, _080A6914 @ =sub_80546B8
- lsrs r2, r3, 16
- strh r2, [r1, 0x18]
- strh r3, [r1, 0x1A]
- bl sub_80A5AE4
- pop {r0}
- bx r0
- .align 2, 0
-_080A6910: .4byte gTasks
-_080A6914: .4byte sub_80546B8
- thumb_func_end sub_80A68F0
-
- thumb_func_start sub_80A6918
-sub_80A6918: @ 80A6918
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A6938 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r3, _080A693C @ =sub_80546B8
- lsrs r2, r3, 16
- strh r2, [r1, 0x18]
- strh r3, [r1, 0x1A]
- bl sub_80A5AAC
- pop {r0}
- bx r0
- .align 2, 0
-_080A6938: .4byte gTasks
-_080A693C: .4byte sub_80546B8
- thumb_func_end sub_80A6918
-
- thumb_func_start sub_80A6940
-sub_80A6940: @ 80A6940
- push {lr}
-_080A6942:
- bl sub_80A317C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A6968
- ldr r0, _080A6960 @ =sub_80A50C8
- movs r1, 0
- bl CreateTask
- ldr r1, _080A6964 @ =gUnknown_02038563
- strb r0, [r1]
- bl sub_80A699C
- b _080A6974
- .align 2, 0
-_080A6960: .4byte sub_80A50C8
-_080A6964: .4byte gUnknown_02038563
-_080A6968:
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A6942
-_080A6974:
- pop {r0}
- bx r0
- thumb_func_end sub_80A6940
-
- thumb_func_start sub_80A6978
-sub_80A6978: @ 80A6978
- push {lr}
- ldr r1, _080A6990 @ =gUnknown_02038559
- movs r0, 0x3
- strb r0, [r1]
- ldr r1, _080A6994 @ =gUnknown_03000701
- movs r0, 0x5
- strb r0, [r1]
- ldr r0, _080A6998 @ =sub_80A6940
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_080A6990: .4byte gUnknown_02038559
-_080A6994: .4byte gUnknown_03000701
-_080A6998: .4byte sub_80A6940
- thumb_func_end sub_80A6978
-
- thumb_func_start sub_80A699C
-sub_80A699C: @ 80A699C
- ldr r1, _080A69AC @ =gUnknown_03000704
- ldr r0, _080A69B0 @ =gUnknown_083C16B8
- str r0, [r1]
- ldr r1, _080A69B4 @ =gUnknown_02038564
- movs r0, 0x4
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080A69AC: .4byte gUnknown_03000704
-_080A69B0: .4byte gUnknown_083C16B8
-_080A69B4: .4byte gUnknown_02038564
- thumb_func_end sub_80A699C
-
- thumb_func_start sub_80A69B8
-sub_80A69B8: @ 80A69B8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A69D8 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r3, _080A69DC @ =sub_804E990
- lsrs r2, r3, 16
- strh r2, [r1, 0x18]
- strh r3, [r1, 0x1A]
- bl sub_80A5AE4
- pop {r0}
- bx r0
- .align 2, 0
-_080A69D8: .4byte gTasks
-_080A69DC: .4byte sub_804E990
- thumb_func_end sub_80A69B8
-
- thumb_func_start sub_80A69E0
-sub_80A69E0: @ 80A69E0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A6A00 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r3, _080A6A04 @ =sub_804E990
- lsrs r2, r3, 16
- strh r2, [r1, 0x18]
- strh r3, [r1, 0x1A]
- bl sub_80A5AAC
- pop {r0}
- bx r0
- .align 2, 0
-_080A6A00: .4byte gTasks
-_080A6A04: .4byte sub_804E990
- thumb_func_end sub_80A69E0
-
- thumb_func_start sub_80A6A08
-sub_80A6A08: @ 80A6A08
- push {lr}
- bl sub_80A34B4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A6A22
- ldr r0, _080A6A28 @ =sub_80A50C8
- movs r1, 0
- bl CreateTask
- ldr r1, _080A6A2C @ =gUnknown_02038563
- strb r0, [r1]
-_080A6A22:
- pop {r0}
- bx r0
- .align 2, 0
-_080A6A28: .4byte sub_80A50C8
-_080A6A2C: .4byte gUnknown_02038563
- thumb_func_end sub_80A6A08
-
- thumb_func_start sub_80A6A30
-sub_80A6A30: @ 80A6A30
- push {lr}
- ldr r0, _080A6A44 @ =gUnknown_03000701
- movs r1, 0x6
- strb r1, [r0]
- ldr r0, _080A6A48 @ =sub_80A6A08
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_080A6A44: .4byte gUnknown_03000701
-_080A6A48: .4byte sub_80A6A08
- thumb_func_end sub_80A6A30
-
- thumb_func_start sub_80A6A4C
-sub_80A6A4C: @ 80A6A4C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A6A74 @ =gFieldCallback
- ldr r1, _080A6A78 @ =ItemStorage_ReturnToMenuAfterDeposit
- str r1, [r2]
- ldr r2, _080A6A7C @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r3, _080A6A80 @ =c2_exit_to_overworld_2_switch
- lsrs r2, r3, 16
- strh r2, [r1, 0x18]
- strh r3, [r1, 0x1A]
- bl sub_80A5AE4
- pop {r0}
- bx r0
- .align 2, 0
-_080A6A74: .4byte gFieldCallback
-_080A6A78: .4byte ItemStorage_ReturnToMenuAfterDeposit
-_080A6A7C: .4byte gTasks
-_080A6A80: .4byte c2_exit_to_overworld_2_switch
- thumb_func_end sub_80A6A4C
-
- thumb_func_start sub_80A6A84
-sub_80A6A84: @ 80A6A84
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- ldr r6, _080A6AE8 @ =gTasks + 0x8
- adds r0, r4, r6
- mov r8, r0
- ldr r0, _080A6AEC @ =gBGTilemapBuffers + 0x800
- bl sub_80A4DA4
- ldr r0, _080A6AF0 @ =gScriptItemId
- ldrh r0, [r0]
- ldr r1, _080A6AF4 @ =gStringVar1
- bl CopyItemName
- ldr r0, _080A6AF8 @ =gStringVar2
- mov r2, r8
- movs r3, 0x2
- ldrsh r1, [r2, r3]
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- movs r0, 0x7
- movs r1, 0x6
- movs r2, 0xB
- movs r3, 0xD
- bl MenuZeroFillWindowRect
- movs r0, 0x7
- bl sub_80A7528
- adds r0, r5, 0
- bl sub_80A3D5C
- subs r6, 0x8
- adds r4, r6
- ldr r0, _080A6AFC @ =sub_80A5E1C
- str r0, [r4]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6AE8: .4byte gTasks + 0x8
-_080A6AEC: .4byte gBGTilemapBuffers + 0x800
-_080A6AF0: .4byte gScriptItemId
-_080A6AF4: .4byte gStringVar1
-_080A6AF8: .4byte gStringVar2
-_080A6AFC: .4byte sub_80A5E1C
- thumb_func_end sub_80A6A84
-
- thumb_func_start sub_80A6B00
-sub_80A6B00: @ 80A6B00
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080A6B54 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080A6B1A
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080A6B4C
-_080A6B1A:
- ldr r1, _080A6B58 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x1C]
- ldr r1, _080A6B5C @ =gUnknown_03005D10
- ldr r0, _080A6B60 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0]
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_80A48E8
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_80A5D38
-_080A6B4C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6B54: .4byte gMain
-_080A6B58: .4byte gTasks
-_080A6B5C: .4byte gUnknown_03005D10
-_080A6B60: .4byte gUnknown_02038559
- thumb_func_end sub_80A6B00
-
- thumb_func_start sub_80A6B64
-sub_80A6B64: @ 80A6B64
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r5, r0, 3
- ldr r6, _080A6B9C @ =gTasks + 0x8
- adds r7, r5, r6
- ldr r0, _080A6BA0 @ =gScriptItemId
- mov r8, r0
- ldrh r0, [r0]
- bl ItemId_GetImportance
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _080A6BA8
- adds r0, r6, 0
- subs r0, 0x8
- adds r0, r5, r0
- ldr r1, _080A6BA4 @ =sub_80A6B00
- str r1, [r0]
- movs r0, 0x9
- bl sub_80A7528
- b _080A6BD2
- .align 2, 0
-_080A6B9C: .4byte gTasks + 0x8
-_080A6BA0: .4byte gScriptItemId
-_080A6BA4: .4byte sub_80A6B00
-_080A6BA8:
- mov r1, r8
- ldrh r0, [r1]
- ldrh r1, [r7, 0x2]
- bl AddPCItem
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A6BC2
- adds r0, r4, 0
- bl sub_80A6A84
- b _080A6BD2
-_080A6BC2:
- adds r0, r6, 0
- subs r0, 0x8
- adds r0, r5, r0
- ldr r1, _080A6BDC @ =sub_80A6B00
- str r1, [r0]
- movs r0, 0x8
- bl sub_80A7528
-_080A6BD2:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6BDC: .4byte sub_80A6B00
- thumb_func_end sub_80A6B64
-
- thumb_func_start sub_80A6BE0
-sub_80A6BE0: @ 80A6BE0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- adds r0, r4, 0
- bl sub_80A5350
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080A6C58
- ldr r0, _080A6C18 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r2, 0x1
- ands r2, r1
- cmp r2, 0
- beq _080A6C20
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080A6C1C @ =gBGTilemapBuffers + 0x800
- bl sub_80A4DA4
- adds r0, r4, 0
- bl sub_80A6B64
- b _080A6C58
- .align 2, 0
-_080A6C18: .4byte gMain
-_080A6C1C: .4byte gBGTilemapBuffers + 0x800
-_080A6C20:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080A6C58
- ldr r1, _080A6C60 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- strh r2, [r0, 0x1C]
- ldr r1, _080A6C64 @ =gUnknown_03005D10
- ldr r0, _080A6C68 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0]
- adds r0, r5, 0
- adds r1, r2, 0
- bl sub_80A48E8
- movs r0, 0x5
- bl PlaySE
- adds r0, r5, 0
- bl sub_80A5D38
-_080A6C58:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6C60: .4byte gTasks
-_080A6C64: .4byte gUnknown_03005D10
-_080A6C68: .4byte gUnknown_02038559
- thumb_func_end sub_80A6BE0
-
- thumb_func_start sub_80A6C6C
-sub_80A6C6C: @ 80A6C6C
- push {r4-r6,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _080A6CE4 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r5, r0, r1
- ldr r2, _080A6CE8 @ =gUnknown_03005D10
- ldr r6, _080A6CEC @ =gUnknown_02038559
- movs r0, 0
- ldrsb r0, [r6, r0]
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0]
- adds r1, r0
- adds r1, 0x1
- strh r1, [r5, 0x1C]
- movs r0, 0
- ldrsb r0, [r6, r0]
- lsls r0, 2
- adds r0, r2
- ldrb r2, [r0]
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_80A48E8
- bl sub_80A73FC
- movs r0, 0x5
- bl PlaySE
- bl sub_80A7590
- movs r0, 0
- ldrsb r0, [r6, r0]
- cmp r0, 0x4
- beq _080A6D0A
- ldr r0, _080A6CF0 @ =sub_80A6BE0
- str r0, [r5]
- movs r0, 0x6
- bl sub_80A7528
- movs r0, 0
- ldrsb r0, [r6, r0]
- cmp r0, 0x3
- bne _080A6CF4
- movs r0, 0x3
- str r0, [sp]
- str r0, [sp, 0x4]
- adds r0, r4, 0
- movs r1, 0x6
- movs r2, 0x9
- movs r3, 0x7
- bl sub_80A4DD8
- b _080A6D14
- .align 2, 0
-_080A6CE4: .4byte gTasks
-_080A6CE8: .4byte gUnknown_03005D10
-_080A6CEC: .4byte gUnknown_02038559
-_080A6CF0: .4byte sub_80A6BE0
-_080A6CF4:
- movs r0, 0x3
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- adds r0, r4, 0
- movs r1, 0x7
- movs r2, 0x9
- movs r3, 0x6
- bl sub_80A4DD8
- b _080A6D14
-_080A6D0A:
- movs r0, 0x1
- strh r0, [r5, 0xA]
- adds r0, r4, 0
- bl sub_80A6B64
-_080A6D14:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A6C6C
-
- thumb_func_start sub_80A6D1C
-sub_80A6D1C: @ 80A6D1C
- push {r4,r5,lr}
- bl HideMapNamePopup
- ldr r0, _080A6D70 @ =gSaveBlock1
- ldr r1, _080A6D74 @ =0x00000496
- adds r4, r0, r1
- ldrh r0, [r4]
- cmp r0, 0
- beq _080A6D84
- movs r1, 0x1
- bl CheckBagHasItem
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1
- bne _080A6D80
- bl ScriptContext2_Enable
- bl FreezeMapObjects
- bl sub_80594C0
- bl sub_80597F4
- ldr r1, _080A6D78 @ =gScriptItemId
- ldrh r0, [r4]
- strh r0, [r1]
- ldrh r0, [r4]
- bl ItemId_GetFieldFunc
- movs r1, 0x8
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A6D7C @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r5, [r1, 0xC]
- b _080A6D8A
- .align 2, 0
-_080A6D70: .4byte gSaveBlock1
-_080A6D74: .4byte 0x00000496
-_080A6D78: .4byte gScriptItemId
-_080A6D7C: .4byte gTasks
-_080A6D80:
- movs r0, 0
- strh r0, [r4]
-_080A6D84:
- ldr r0, _080A6D94 @ =Event_NoRegisteredItem
- bl ScriptContext1_SetupScript
-_080A6D8A:
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080A6D94: .4byte Event_NoRegisteredItem
- thumb_func_end sub_80A6D1C
-
- thumb_func_start sub_80A6D98
-sub_80A6D98: @ 80A6D98
- push {lr}
-_080A6D9A:
- bl sub_80A317C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A6DBC
- ldr r0, _080A6DB4 @ =sub_80A50C8
- movs r1, 0
- bl CreateTask
- ldr r1, _080A6DB8 @ =gUnknown_02038563
- strb r0, [r1]
- b _080A6DC8
- .align 2, 0
-_080A6DB4: .4byte sub_80A50C8
-_080A6DB8: .4byte gUnknown_02038563
-_080A6DBC:
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A6D9A
-_080A6DC8:
- pop {r0}
- bx r0
- thumb_func_end sub_80A6D98
-
- thumb_func_start sub_80A6DCC
-sub_80A6DCC: @ 80A6DCC
- push {lr}
- ldr r1, _080A6DE4 @ =gUnknown_03000700
- movs r0, 0
- strb r0, [r1]
- ldr r1, _080A6DE8 @ =gUnknown_03000701
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, _080A6DEC @ =sub_80A6D98
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_080A6DE4: .4byte gUnknown_03000700
-_080A6DE8: .4byte gUnknown_03000701
-_080A6DEC: .4byte sub_80A6D98
- thumb_func_end sub_80A6DCC
-
- thumb_func_start sub_80A6DF0
-sub_80A6DF0: @ 80A6DF0
- push {r4-r6,lr}
- sub sp, 0x8
- adds r5, r0, 0
- ldr r4, _080A6E4C @ =gUnknown_02038564
- ldrb r0, [r4]
- subs r0, 0x1
- lsls r0, 25
- lsrs r6, r0, 24
- movs r1, 0x9
- subs r1, r6
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x7
- movs r2, 0xD
- movs r3, 0xC
- bl MenuDrawTextWindow
- movs r2, 0xA
- subs r2, r6
- lsls r2, 24
- lsrs r2, 24
- adds r0, r6, 0x2
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- adds r0, r5, 0
- movs r1, 0x8
- movs r3, 0x5
- bl sub_80A4008
- ldrb r0, [r4]
- cmp r0, 0x1
- bne _080A6E58
- ldr r1, _080A6E50 @ =gUnknown_083C1640
- ldr r0, _080A6E54 @ =gUnknown_03000704
- ldr r0, [r0]
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x8
- movs r2, 0xA
- bl MenuPrint
- b _080A6E80
- .align 2, 0
-_080A6E4C: .4byte gUnknown_02038564
-_080A6E50: .4byte gUnknown_083C1640
-_080A6E54: .4byte gUnknown_03000704
-_080A6E58:
- ldr r5, _080A6EAC @ =gUnknown_083C1640
- ldr r4, _080A6EB0 @ =gUnknown_03000704
- ldr r0, [r4]
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, r5
- ldr r0, [r0]
- movs r1, 0x8
- movs r2, 0x8
- bl MenuPrint
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- lsls r0, 3
- adds r0, r5
- ldr r0, [r0]
- movs r1, 0x8
- movs r2, 0xA
- bl MenuPrint
-_080A6E80:
- movs r2, 0xA
- subs r2, r6
- lsls r2, 24
- lsrs r2, 24
- ldr r0, _080A6EB4 @ =gUnknown_02038564
- ldrb r3, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x5
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x8
- bl InitMenu
- movs r0, 0x2
- bl sub_80A7528
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6EAC: .4byte gUnknown_083C1640
-_080A6EB0: .4byte gUnknown_03000704
-_080A6EB4: .4byte gUnknown_02038564
- thumb_func_end sub_80A6DF0
-
- thumb_func_start sub_80A6EB8
-sub_80A6EB8: @ 80A6EB8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- ldr r2, _080A6EE0 @ =gMain
- ldrh r0, [r2, 0x30]
- movs r1, 0xF0
- ands r1, r0
- cmp r1, 0x40
- bne _080A6EE8
- ldr r4, _080A6EE4 @ =gUnknown_03000700
- ldrb r0, [r4]
- cmp r0, 0x1
- bne _080A6FC0
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- b _080A6F02
- .align 2, 0
-_080A6EE0: .4byte gMain
-_080A6EE4: .4byte gUnknown_03000700
-_080A6EE8:
- cmp r1, 0x80
- bne _080A6F14
- ldr r4, _080A6F0C @ =gUnknown_03000700
- ldrb r0, [r4]
- adds r0, 0x1
- ldr r1, _080A6F10 @ =gUnknown_02038564
- ldrb r1, [r1]
- cmp r0, r1
- bge _080A6FC0
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
-_080A6F02:
- bl MoveMenuCursor
- strb r0, [r4]
- b _080A6FC0
- .align 2, 0
-_080A6F0C: .4byte gUnknown_03000700
-_080A6F10: .4byte gUnknown_02038564
-_080A6F14:
- ldrh r1, [r2, 0x2E]
- movs r2, 0x1
- ands r2, r1
- cmp r2, 0
- beq _080A6F84
- ldr r1, _080A6F68 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x1C]
- ldr r1, _080A6F6C @ =gUnknown_03005D10
- ldr r0, _080A6F70 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0]
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_80A48E8
- ldr r0, _080A6F74 @ =gBGTilemapBuffers + 0x800
- bl sub_80A4DA4
- ldr r1, _080A6F78 @ =gUnknown_083C1640
- ldr r0, _080A6F7C @ =gUnknown_03000700
- ldrb r2, [r0]
- ldr r0, _080A6F80 @ =gUnknown_03000704
- ldr r0, [r0]
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- b _080A6FC0
- .align 2, 0
-_080A6F68: .4byte gTasks
-_080A6F6C: .4byte gUnknown_03005D10
-_080A6F70: .4byte gUnknown_02038559
-_080A6F74: .4byte gBGTilemapBuffers + 0x800
-_080A6F78: .4byte gUnknown_083C1640
-_080A6F7C: .4byte gUnknown_03000700
-_080A6F80: .4byte gUnknown_03000704
-_080A6F84:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080A6FC0
- ldr r1, _080A6FC8 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- strh r2, [r0, 0x1C]
- ldr r1, _080A6FCC @ =gUnknown_03005D10
- ldr r0, _080A6FD0 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0]
- adds r0, r5, 0
- adds r1, r2, 0
- bl sub_80A48E8
- ldr r0, _080A6FD4 @ =gBGTilemapBuffers + 0x800
- bl sub_80A4DA4
- ldr r0, _080A6FD8 @ =gUnknown_083C1640
- ldr r1, [r0, 0x2C]
- adds r0, r5, 0
- bl _call_via_r1
-_080A6FC0:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6FC8: .4byte gTasks
-_080A6FCC: .4byte gUnknown_03005D10
-_080A6FD0: .4byte gUnknown_02038559
-_080A6FD4: .4byte gBGTilemapBuffers + 0x800
-_080A6FD8: .4byte gUnknown_083C1640
- thumb_func_end sub_80A6EB8
-
- thumb_func_start sub_80A6FDC
-sub_80A6FDC: @ 80A6FDC
- push {lr}
- ldr r0, _080A6FF8 @ =gScriptItemId
- ldrh r0, [r0]
- bl ItemId_GetBattleUsage
- lsls r0, 24
- cmp r0, 0
- beq _080A7008
- ldr r1, _080A6FFC @ =gUnknown_03000704
- ldr r0, _080A7000 @ =gUnknown_083C1708
- str r0, [r1]
- ldr r1, _080A7004 @ =gUnknown_02038564
- movs r0, 0x2
- b _080A7012
- .align 2, 0
-_080A6FF8: .4byte gScriptItemId
-_080A6FFC: .4byte gUnknown_03000704
-_080A7000: .4byte gUnknown_083C1708
-_080A7004: .4byte gUnknown_02038564
-_080A7008:
- ldr r1, _080A7018 @ =gUnknown_03000704
- ldr r0, _080A701C @ =gUnknown_083C170A
- str r0, [r1]
- ldr r1, _080A7020 @ =gUnknown_02038564
- movs r0, 0x1
-_080A7012:
- strb r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_080A7018: .4byte gUnknown_03000704
-_080A701C: .4byte gUnknown_083C170A
-_080A7020: .4byte gUnknown_02038564
- thumb_func_end sub_80A6FDC
-
- thumb_func_start sub_80A7024
-sub_80A7024: @ 80A7024
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r1, _080A707C @ =gUnknown_03000700
- movs r0, 0
- strb r0, [r1]
- bl sub_80A6FDC
- ldr r0, _080A7080 @ =gTasks
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- ldr r3, _080A7084 @ =gUnknown_03005D10
- ldr r2, _080A7088 @ =gUnknown_02038559
- movs r0, 0
- ldrsb r0, [r2, r0]
- lsls r0, 2
- adds r0, r3
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0]
- adds r1, r0
- adds r1, 0x1
- strh r1, [r4, 0x1C]
- movs r0, 0
- ldrsb r0, [r2, r0]
- lsls r0, 2
- adds r0, r3
- ldrb r2, [r0]
- adds r0, r5, 0
- adds r1, r2, 0
- bl sub_80A48E8
- bl sub_80A73FC
- ldr r0, _080A708C @ =gBGTilemapBuffers + 0x800
- bl sub_80A6DF0
- ldr r0, _080A7090 @ =sub_80A6EB8
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A707C: .4byte gUnknown_03000700
-_080A7080: .4byte gTasks
-_080A7084: .4byte gUnknown_03005D10
-_080A7088: .4byte gUnknown_02038559
-_080A708C: .4byte gBGTilemapBuffers + 0x800
-_080A7090: .4byte sub_80A6EB8
- thumb_func_end sub_80A7024
-
- thumb_func_start sub_80A7094
-sub_80A7094: @ 80A7094
- push {lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A70CC @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r2, _080A70D0 @ =sub_802E424
- lsrs r0, r2, 16
- movs r3, 0
- strh r0, [r1, 0x18]
- strh r2, [r1, 0x1A]
- ldr r0, _080A70D4 @ =HandleItemMenuPaletteFade
- str r0, [r1]
- movs r0, 0x1
- negs r0, r0
- str r3, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080A70CC: .4byte gTasks
-_080A70D0: .4byte sub_802E424
-_080A70D4: .4byte HandleItemMenuPaletteFade
- thumb_func_end sub_80A7094
-
- thumb_func_start sub_80A70D8
-sub_80A70D8: @ 80A70D8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_80A7094
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A70D8
-
- thumb_func_start ItemMenu_UseInBattle
-ItemMenu_UseInBattle: @ 80A70F4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, _080A7120 @ =gScriptItemId
- ldrh r0, [r4]
- bl ItemId_GetBattleFunc
- cmp r0, 0
- beq _080A711A
- movs r0, 0x5
- bl PlaySE
- ldrh r0, [r4]
- bl ItemId_GetBattleFunc
- adds r1, r0, 0
- adds r0, r5, 0
- bl _call_via_r1
-_080A711A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7120: .4byte gScriptItemId
- thumb_func_end ItemMenu_UseInBattle
-
- thumb_func_start sub_80A7124
-sub_80A7124: @ 80A7124
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x5
- bl PlaySE
- movs r0, 0
- bl sub_80A7528
- adds r0, r4, 0
- bl sub_80A41D4
- bl ItemListMenu_InitMenu
- adds r0, r4, 0
- bl sub_80A37C0
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A7124
-
- thumb_func_start sub_80A7150
-sub_80A7150: @ 80A7150
- push {r4,r5,lr}
- ldr r4, _080A7158 @ =gUnknown_02038563
- ldr r5, _080A715C @ =gTasks
- b _080A716C
- .align 2, 0
-_080A7158: .4byte gUnknown_02038563
-_080A715C: .4byte gTasks
-_080A7160:
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080A7190
-_080A716C:
- bl sub_80A317C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A7160
- ldr r0, _080A7198 @ =sub_80A7230
- movs r1, 0
- bl CreateTask
- strb r0, [r4]
- ldrb r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r5
- movs r1, 0
- strh r1, [r0, 0x26]
-_080A7190:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7198: .4byte sub_80A7230
- thumb_func_end sub_80A7150
-
- thumb_func_start PrepareBagForWallyTutorial
-PrepareBagForWallyTutorial: @ 80A719C
- push {r4,r5,lr}
- ldr r0, _080A7214 @ =gUnknown_03000700
- movs r1, 0
- strb r1, [r0]
- ldr r0, _080A7218 @ =gUnknown_02038559
- strb r1, [r0]
- movs r1, 0
- ldr r4, _080A721C @ =0x0201e000
- ldr r5, _080A7220 @ =gSaveBlock1 + 0x560
- ldr r3, _080A7224 @ =gUnknown_03005D10
- movs r2, 0
-_080A71B2:
- lsls r0, r1, 2
- adds r0, r3
- strb r2, [r0]
- strb r2, [r0, 0x1]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x4
- bls _080A71B2
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x50
- bl memcpy
- movs r1, 0x80
- lsls r1, 5
- adds r0, r4, r1
- adds r4, r5, 0
- adds r4, 0xA0
- adds r1, r4, 0
- movs r2, 0x40
- bl memcpy
- adds r0, r5, 0
- movs r1, 0x14
- bl ClearItemSlots
- adds r0, r4, 0
- movs r1, 0x10
- bl ClearItemSlots
- movs r0, 0xD
- movs r1, 0x1
- bl AddBagItem
- movs r0, 0x4
- movs r1, 0x1
- bl AddBagItem
- ldr r1, _080A7228 @ =gUnknown_03000701
- movs r0, 0x7
- strb r0, [r1]
- ldr r0, _080A722C @ =sub_80A7150
- bl SetMainCallback2
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7214: .4byte gUnknown_03000700
-_080A7218: .4byte gUnknown_02038559
-_080A721C: .4byte 0x0201e000
-_080A7220: .4byte gSaveBlock1 + 0x560
-_080A7224: .4byte gUnknown_03005D10
-_080A7228: .4byte gUnknown_03000701
-_080A722C: .4byte sub_80A7150
- thumb_func_end PrepareBagForWallyTutorial
-
- thumb_func_start sub_80A7230
-sub_80A7230: @ 80A7230
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r6, r0, 3
- ldr r0, _080A725C @ =gTasks + 0x8
- mov r8, r0
- adds r7, r6, r0
- movs r0, 0x1E
- ldrsh r1, [r7, r0]
- cmp r1, 0xCC
- beq _080A727A
- cmp r1, 0xCC
- bgt _080A7260
- cmp r1, 0x66
- beq _080A726A
- b _080A7358
- .align 2, 0
-_080A725C: .4byte gTasks + 0x8
-_080A7260:
- movs r0, 0x99
- lsls r0, 1
- cmp r1, r0
- beq _080A72F4
- b _080A7358
-_080A726A:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- movs r1, 0x2
- bl sub_80A4E8C
- b _080A7358
-_080A727A:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x2
- bl sub_80F98A4
- movs r0, 0x3
- bl sub_80F98A4
- ldr r1, _080A72D8 @ =gScriptItemId
- movs r0, 0x4
- strh r0, [r1]
- ldr r1, _080A72DC @ =gUnknown_03000704
- ldr r0, _080A72E0 @ =gUnknown_083C1708
- str r0, [r1]
- ldr r1, _080A72E4 @ =gUnknown_02038564
- movs r0, 0x2
- strb r0, [r1]
- mov r0, r8
- adds r4, r0, r6
- ldr r3, _080A72E8 @ =gUnknown_03005D10
- ldr r2, _080A72EC @ =gUnknown_02038559
- movs r0, 0
- ldrsb r0, [r2, r0]
- lsls r0, 2
- adds r0, r3
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0]
- adds r1, r0
- adds r1, 0x1
- strh r1, [r4, 0x14]
- movs r0, 0
- ldrsb r0, [r2, r0]
- lsls r0, 2
- adds r0, r3
- ldrb r2, [r0]
- adds r0, r5, 0
- adds r1, r2, 0
- bl sub_80A48E8
- bl sub_80A73FC
- ldr r0, _080A72F0 @ =gBGTilemapBuffers + 0x800
- bl sub_80A6DF0
- b _080A7358
- .align 2, 0
-_080A72D8: .4byte gScriptItemId
-_080A72DC: .4byte gUnknown_03000704
-_080A72E0: .4byte gUnknown_083C1708
-_080A72E4: .4byte gUnknown_02038564
-_080A72E8: .4byte gUnknown_03005D10
-_080A72EC: .4byte gUnknown_02038559
-_080A72F0: .4byte gBGTilemapBuffers + 0x800
-_080A72F4:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080A7344 @ =gBGTilemapBuffers + 0x800
- bl sub_80A4DA4
- ldr r4, _080A7348 @ =gSaveBlock1 + 0x560
- ldr r5, _080A734C @ =0x0201e000
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x50
- bl memcpy
- adds r4, 0xA0
- movs r0, 0x80
- lsls r0, 5
- adds r5, r0
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x40
- bl memcpy
- ldr r1, _080A7350 @ =sub_802E424
- lsrs r0, r1, 16
- strh r0, [r7, 0x10]
- strh r1, [r7, 0x12]
- mov r0, r8
- subs r0, 0x8
- adds r0, r6, r0
- ldr r1, _080A7354 @ =HandleItemMenuPaletteFade
- str r1, [r0]
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _080A735E
- .align 2, 0
-_080A7344: .4byte gBGTilemapBuffers + 0x800
-_080A7348: .4byte gSaveBlock1 + 0x560
-_080A734C: .4byte 0x0201e000
-_080A7350: .4byte sub_802E424
-_080A7354: .4byte HandleItemMenuPaletteFade
-_080A7358:
- ldrh r0, [r7, 0x1E]
- adds r0, 0x1
- strh r0, [r7, 0x1E]
-_080A735E:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A7230
-
- thumb_func_start ItemListMenu_InitMenu
-ItemListMenu_InitMenu: @ 80A736C
- push {lr}
- sub sp, 0x8
- ldr r1, _080A73B0 @ =gUnknown_03005D10
- ldr r0, _080A73B4 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r3, [r0, 0x3]
- adds r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- ldrb r0, [r0]
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- movs r1, 0xE
- movs r2, 0x2
- bl InitMenu
- ldr r1, _080A73B8 @ =0x0000ffff
- ldr r3, _080A73BC @ =0x00002d9f
- movs r0, 0xF
- str r0, [sp]
- movs r0, 0x10
- movs r2, 0xC
- bl CreateBlendedOutlineCursor
- bl sub_80A73C0
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_080A73B0: .4byte gUnknown_03005D10
-_080A73B4: .4byte gUnknown_02038559
-_080A73B8: .4byte 0x0000ffff
-_080A73BC: .4byte 0x00002d9f
- thumb_func_end ItemListMenu_InitMenu
-
- thumb_func_start sub_80A73C0
-sub_80A73C0: @ 80A73C0
- push {lr}
- ldr r1, _080A73E8 @ =gUnknown_03005D10
- ldr r0, _080A73EC @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0]
- lsls r1, 28
- movs r0, 0x80
- lsls r0, 21
- adds r1, r0
- lsrs r1, 24
- movs r0, 0x70
- bl sub_814AD7C
- pop {r0}
- bx r0
- .align 2, 0
-_080A73E8: .4byte gUnknown_03005D10
-_080A73EC: .4byte gUnknown_02038559
- thumb_func_end sub_80A73C0
-
- thumb_func_start sub_80A73F0
-sub_80A73F0: @ 80A73F0
- push {lr}
- bl sub_814ADC8
- pop {r0}
- bx r0
- thumb_func_end sub_80A73F0
-
- thumb_func_start sub_80A73FC
-sub_80A73FC: @ 80A73FC
- push {lr}
- bl HandleDestroyMenuCursors
- bl sub_814AD44
- pop {r0}
- bx r0
- thumb_func_end sub_80A73FC
-
- thumb_func_start sub_80A740C
-sub_80A740C: @ 80A740C
- push {lr}
- bl sub_80A75E4
- bl sub_80A7768
- bl sub_80A7420
- pop {r0}
- bx r0
- thumb_func_end sub_80A740C
-
- thumb_func_start sub_80A7420
-sub_80A7420: @ 80A7420
- push {r4,lr}
- ldr r4, _080A7438 @ =gUnknown_0203853C
- ldrb r0, [r4]
- cmp r0, 0x2
- beq _080A743C
- cmp r0, 0x3
- beq _080A7430
- b _080A7512
-_080A7430:
- movs r0, 0x2
- strb r0, [r4]
- b _080A7512
- .align 2, 0
-_080A7438: .4byte gUnknown_0203853C
-_080A743C:
- ldrb r0, [r4, 0x2]
- cmp r0, 0x9
- bhi _080A74FC
- lsls r0, 2
- ldr r1, _080A744C @ =_080A7450
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080A744C: .4byte _080A7450
- .align 2, 0
-_080A7450:
- .4byte _080A7478
- .4byte _080A74AC
- .4byte _080A74B4
- .4byte _080A74BC
- .4byte _080A74C4
- .4byte _080A74CC
- .4byte _080A74D4
- .4byte _080A74DC
- .4byte _080A74E4
- .4byte _080A74F4
-_080A7478:
- ldr r1, _080A74A0 @ =gUnknown_03005D10
- ldr r0, _080A74A4 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0]
- adds r1, r0
- ldr r0, _080A74A8 @ =gUnknown_03005D24
- ldr r0, [r0]
- lsls r1, 2
- adds r1, r0
- movs r2, 0
- ldrsh r0, [r1, r2]
- ldrb r1, [r4, 0x1]
- bl ItemListMenu_ChangeDescription
- b _080A74FC
- .align 2, 0
-_080A74A0: .4byte gUnknown_03005D10
-_080A74A4: .4byte gUnknown_02038559
-_080A74A8: .4byte gUnknown_03005D24
-_080A74AC:
- ldr r0, _080A74B0 @ =gOtherText_SwitchWhichItem
- b _080A74E6
- .align 2, 0
-_080A74B0: .4byte gOtherText_SwitchWhichItem
-_080A74B4:
- ldr r0, _080A74B8 @ =gOtherText_WhatWillYouDo2
- b _080A74E6
- .align 2, 0
-_080A74B8: .4byte gOtherText_WhatWillYouDo2
-_080A74BC:
- ldr r0, _080A74C0 @ =gOtherText_HowManyToToss
- b _080A74E6
- .align 2, 0
-_080A74C0: .4byte gOtherText_HowManyToToss
-_080A74C4:
- ldr r0, _080A74C8 @ =gOtherText_ThrewAwayItem
- b _080A74E6
- .align 2, 0
-_080A74C8: .4byte gOtherText_ThrewAwayItem
-_080A74CC:
- ldr r0, _080A74D0 @ =gOtherText_OkayToThrowAwayPrompt
- b _080A74E6
- .align 2, 0
-_080A74D0: .4byte gOtherText_OkayToThrowAwayPrompt
-_080A74D4:
- ldr r0, _080A74D8 @ =gOtherText_HowManyToDeposit
- b _080A74E6
- .align 2, 0
-_080A74D8: .4byte gOtherText_HowManyToDeposit
-_080A74DC:
- ldr r0, _080A74E0 @ =gOtherText_DepositedItems
- b _080A74E6
- .align 2, 0
-_080A74E0: .4byte gOtherText_DepositedItems
-_080A74E4:
- ldr r0, _080A74F0 @ =gOtherText_NoRoomForItems
-_080A74E6:
- ldrb r1, [r4, 0x1]
- bl sub_80A4A98
- b _080A74FC
- .align 2, 0
-_080A74F0: .4byte gOtherText_NoRoomForItems
-_080A74F4:
- ldr r0, _080A7518 @ =gOtherText_CantStoreSomeoneItem
- ldrb r1, [r4, 0x1]
- bl sub_80A4A98
-_080A74FC:
- ldrb r0, [r4, 0x1]
- adds r0, 0x1
- strb r0, [r4, 0x1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bne _080A7512
- movs r0, 0
- strb r0, [r4]
- bl sub_80A7918
-_080A7512:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7518: .4byte gOtherText_CantStoreSomeoneItem
- thumb_func_end sub_80A7420
-
- thumb_func_start sub_80A751C
-sub_80A751C: @ 80A751C
- ldr r1, _080A7524 @ =gUnknown_0203853C
- movs r0, 0
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080A7524: .4byte gUnknown_0203853C
- thumb_func_end sub_80A751C
-
- thumb_func_start sub_80A7528
-sub_80A7528: @ 80A7528
- push {r4,lr}
- ldr r4, _080A7544 @ =gUnknown_0203853C
- movs r1, 0
- strb r1, [r4, 0x1]
- strb r0, [r4, 0x2]
- bl sub_80A78F4
- cmp r0, 0x1
- beq _080A755E
- cmp r0, 0x1
- bgt _080A7548
- cmp r0, 0
- beq _080A754E
- b _080A7566
- .align 2, 0
-_080A7544: .4byte gUnknown_0203853C
-_080A7548:
- cmp r0, 0x2
- beq _080A7562
- b _080A7566
-_080A754E:
- movs r0, 0x2
- strb r0, [r4]
-_080A7552:
- bl sub_80A7420
- ldrb r0, [r4]
- cmp r0, 0
- bne _080A7552
- b _080A7566
-_080A755E:
- movs r0, 0x3
- b _080A7564
-_080A7562:
- movs r0, 0x1
-_080A7564:
- strb r0, [r4]
-_080A7566:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A7528
-
- thumb_func_start sub_80A756C
-sub_80A756C: @ 80A756C
- push {r4,lr}
- ldr r4, _080A758C @ =gUnknown_0203853C
- ldrb r0, [r4]
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _080A7580
- bl sub_80A7918
-_080A7580:
- movs r0, 0
- strb r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A758C: .4byte gUnknown_0203853C
- thumb_func_end sub_80A756C
-
- thumb_func_start sub_80A7590
-sub_80A7590: @ 80A7590
- push {lr}
- movs r0, 0
- movs r1, 0xD
- movs r2, 0xD
- movs r3, 0x14
- bl MenuZeroFillWindowRect
- bl sub_80A756C
- pop {r0}
- bx r0
- thumb_func_end sub_80A7590
-
- thumb_func_start sub_80A75A8
-sub_80A75A8: @ 80A75A8
- push {lr}
- ldr r1, _080A75C0 @ =gUnknown_0203853C
- ldrb r0, [r1]
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _080A75BC
- movs r0, 0x1
- strb r0, [r1]
-_080A75BC:
- pop {r0}
- bx r0
- .align 2, 0
-_080A75C0: .4byte gUnknown_0203853C
- thumb_func_end sub_80A75A8
-
- thumb_func_start sub_80A75C4
-sub_80A75C4: @ 80A75C4
- push {lr}
- ldr r1, _080A75D8 @ =gUnknown_0203853C
- ldrb r0, [r1]
- cmp r0, 0
- beq _080A75DC
- cmp r0, 0x1
- bne _080A75E0
- movs r0, 0x3
- strb r0, [r1]
- b _080A75E0
- .align 2, 0
-_080A75D8: .4byte gUnknown_0203853C
-_080A75DC:
- bl sub_80A7918
-_080A75E0:
- pop {r0}
- bx r0
- thumb_func_end sub_80A75C4
-
- thumb_func_start sub_80A75E4
-sub_80A75E4: @ 80A75E4
- push {r4,r5,lr}
- ldr r4, _080A7628 @ =gUnknown_02038540
- ldrb r0, [r4]
- cmp r0, 0x1
- bne _080A7622
- bl sub_80A7988
- adds r5, r0, 0
- cmp r5, 0
- bne _080A7622
- ldr r0, _080A762C @ =gUnknown_02038563
- ldrb r0, [r0]
- ldrb r2, [r4, 0x1]
- adds r1, r2, 0
- movs r3, 0x1
- bl sub_80A47E8
- ldrb r0, [r4, 0x1]
- adds r0, 0x1
- strb r0, [r4, 0x1]
- ldrb r0, [r4, 0x2]
- movs r1, 0x7
- cmp r0, 0
- beq _080A7616
- movs r1, 0x5
-_080A7616:
- ldrb r0, [r4, 0x1]
- cmp r1, r0
- bge _080A7622
- strb r5, [r4]
- bl sub_80A78E8
-_080A7622:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7628: .4byte gUnknown_02038540
-_080A762C: .4byte gUnknown_02038563
- thumb_func_end sub_80A75E4
-
- thumb_func_start sub_80A7630
-sub_80A7630: @ 80A7630
- ldr r1, _080A7638 @ =gUnknown_02038540
- movs r0, 0
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080A7638: .4byte gUnknown_02038540
- thumb_func_end sub_80A7630
-
- thumb_func_start sub_80A763C
-sub_80A763C: @ 80A763C
- push {r4,lr}
- ldr r4, _080A7650 @ =gUnknown_02038540
- bl sub_80A78C4
- adds r1, r0, 0
- cmp r1, 0
- beq _080A7654
- cmp r1, 0x1
- beq _080A7668
- b _080A7670
- .align 2, 0
-_080A7650: .4byte gUnknown_02038540
-_080A7654:
- ldr r0, _080A7664 @ =gUnknown_02038563
- ldrb r0, [r0]
- movs r1, 0
- movs r2, 0x7
- bl sub_80A48E8
- b _080A7670
- .align 2, 0
-_080A7664: .4byte gUnknown_02038563
-_080A7668:
- movs r0, 0
- strb r1, [r4]
- strb r0, [r4, 0x1]
- strb r0, [r4, 0x2]
-_080A7670:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A763C
-
- thumb_func_start sub_80A7678
-sub_80A7678: @ 80A7678
- push {r4,lr}
- ldr r4, _080A7690 @ =gUnknown_02038540
- ldrb r0, [r4]
- cmp r0, 0x1
- bne _080A7686
- bl sub_80A78E8
-_080A7686:
- movs r0, 0
- strb r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7690: .4byte gUnknown_02038540
- thumb_func_end sub_80A7678
-
- thumb_func_start sub_80A7694
-sub_80A7694: @ 80A7694
- ldr r1, _080A769C @ =gUnknown_02038540
- movs r0, 0x1
- strb r0, [r1, 0x2]
- bx lr
- .align 2, 0
-_080A769C: .4byte gUnknown_02038540
- thumb_func_end sub_80A7694
-
- thumb_func_start sub_80A76A0
-sub_80A76A0: @ 80A76A0
- push {lr}
- movs r0, 0xE
- movs r1, 0x2
- movs r2, 0x1D
- movs r3, 0x12
- bl MenuZeroFillWindowRect
- bl sub_80A7678
- pop {r0}
- bx r0
- thumb_func_end sub_80A76A0
-
- thumb_func_start sub_80A76B8
-sub_80A76B8: @ 80A76B8
- push {lr}
- ldr r0, _080A76CC @ =gUnknown_02038540
- movs r1, 0
- ldrb r0, [r0]
- cmp r0, 0
- bne _080A76C6
- movs r1, 0x1
-_080A76C6:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080A76CC: .4byte gUnknown_02038540
- thumb_func_end sub_80A76B8
-
- thumb_func_start sub_80A76D0
-sub_80A76D0: @ 80A76D0
- push {lr}
- ldr r0, _080A76E4 @ =gUnknown_02038540
- movs r1, 0
- ldrb r0, [r0, 0x1]
- cmp r0, 0x5
- bls _080A76DE
- movs r1, 0x1
-_080A76DE:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080A76E4: .4byte gUnknown_02038540
- thumb_func_end sub_80A76D0
-
- thumb_func_start sub_80A76E8
-sub_80A76E8: @ 80A76E8
- push {r4,lr}
- ldr r4, _080A7708 @ =gUnknown_02038544
- ldrb r0, [r4]
- cmp r0, 0x1
- bne _080A7702
- ldrb r0, [r4, 0x1]
- ldr r1, [r4, 0x4]
- ldr r2, [r4, 0x8]
- ldrh r3, [r4, 0x2]
- bl DisplayItemMessageOnField
- movs r0, 0
- strb r0, [r4]
-_080A7702:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7708: .4byte gUnknown_02038544
- thumb_func_end sub_80A76E8
-
- thumb_func_start sub_80A770C
-sub_80A770C: @ 80A770C
- ldr r1, _080A7714 @ =gUnknown_02038544
- movs r0, 0
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080A7714: .4byte gUnknown_02038544
- thumb_func_end sub_80A770C
-
- thumb_func_start DisplayCannotUseItemMessage
-DisplayCannotUseItemMessage: @ 80A7718
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- adds r7, r1, 0
- mov r8, r2
- adds r6, r3, 0
- ldr r4, _080A7738 @ =gUnknown_02038544
- bl sub_80A7924
- cmp r0, 0
- beq _080A773C
- cmp r0, 0x2
- beq _080A774E
- b _080A775C
- .align 2, 0
-_080A7738: .4byte gUnknown_02038544
-_080A773C:
- lsls r0, r5, 24
- lsrs r0, 24
- lsls r3, r6, 16
- lsrs r3, 16
- adds r1, r7, 0
- mov r2, r8
- bl DisplayItemMessageOnField
- b _080A775C
-_080A774E:
- movs r0, 0x1
- strb r0, [r4]
- strb r5, [r4, 0x1]
- str r7, [r4, 0x4]
- mov r0, r8
- str r0, [r4, 0x8]
- strh r6, [r4, 0x2]
-_080A775C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end DisplayCannotUseItemMessage
-
- thumb_func_start sub_80A7768
-sub_80A7768: @ 80A7768
- push {r4,lr}
- ldr r4, _080A77A8 @ =gUnknown_02038550
- ldrb r0, [r4]
- cmp r0, 0x2
- bne _080A7814
- ldrb r1, [r4, 0x1]
- cmp r1, 0
- beq _080A780E
- ldrb r0, [r4, 0x2]
- cmp r0, 0x1
- beq _080A77B4
- ldr r2, _080A77AC @ =gUnknown_083C1640
- ldr r0, _080A77B0 @ =gUnknown_03000704
- ldr r0, [r0]
- adds r0, r1, r0
- subs r0, 0x1
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, r2
- ldr r0, [r0]
- subs r1, 0x1
- lsls r1, 1
- adds r1, 0x1
- ldrb r2, [r4, 0x3]
- adds r2, r1
- lsls r2, 24
- lsrs r2, 24
- movs r1, 0x7
- bl MenuPrint
- b _080A77FC
- .align 2, 0
-_080A77A8: .4byte gUnknown_02038550
-_080A77AC: .4byte gUnknown_083C1640
-_080A77B0: .4byte gUnknown_03000704
-_080A77B4:
- cmp r1, 0x1
- bne _080A77C8
- ldr r0, _080A77C4 @ =gScriptItemId
- ldrh r0, [r0]
- bl sub_80A4B90
- adds r3, r0, 0
- b _080A77DC
- .align 2, 0
-_080A77C4: .4byte gScriptItemId
-_080A77C8:
- ldr r2, _080A781C @ =gUnknown_083C1640
- ldrb r0, [r4, 0x1]
- ldr r1, _080A7820 @ =gUnknown_03000704
- ldr r1, [r1]
- adds r0, r1
- subs r0, 0x1
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, r2
- ldr r3, [r0]
-_080A77DC:
- ldrb r2, [r4, 0x1]
- subs r2, 0x1
- asrs r0, r2, 1
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 1
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x1
- ands r2, r0
- lsls r2, 1
- adds r2, 0x8
- adds r0, r3, 0
- bl MenuPrint
-_080A77FC:
- ldr r1, _080A7824 @ =gUnknown_02038564
- ldrb r0, [r4, 0x1]
- ldrb r1, [r1]
- cmp r0, r1
- bne _080A780E
- movs r0, 0
- strb r0, [r4]
- bl sub_80A7970
-_080A780E:
- ldrb r0, [r4, 0x1]
- adds r0, 0x1
- strb r0, [r4, 0x1]
-_080A7814:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A781C: .4byte gUnknown_083C1640
-_080A7820: .4byte gUnknown_03000704
-_080A7824: .4byte gUnknown_02038564
- thumb_func_end sub_80A7768
-
- thumb_func_start sub_80A7828
-sub_80A7828: @ 80A7828
- ldr r1, _080A7830 @ =gUnknown_02038550
- movs r0, 0
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080A7830: .4byte gUnknown_02038550
- thumb_func_end sub_80A7828
-
- thumb_func_start sub_80A7834
-sub_80A7834: @ 80A7834
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- ldr r4, _080A784C @ =gUnknown_02038550
- bl sub_80A7958
- cmp r0, 0x1
- beq _080A7850
- cmp r0, 0x2
- beq _080A7856
- b _080A7862
- .align 2, 0
-_080A784C: .4byte gUnknown_02038550
-_080A7850:
- movs r1, 0
- movs r0, 0x2
- b _080A785A
-_080A7856:
- movs r1, 0
- movs r0, 0x1
-_080A785A:
- strb r0, [r4]
- strb r1, [r4, 0x1]
- strb r5, [r4, 0x2]
- strb r6, [r4, 0x3]
-_080A7862:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A7834
-
- thumb_func_start sub_80A7868
-sub_80A7868: @ 80A7868
- push {lr}
- ldr r1, _080A787C @ =gUnknown_02038550
- ldrb r0, [r1]
- cmp r0, 0x2
- bne _080A7876
- movs r0, 0x1
- strb r0, [r1]
-_080A7876:
- pop {r0}
- bx r0
- .align 2, 0
-_080A787C: .4byte gUnknown_02038550
- thumb_func_end sub_80A7868
-
- thumb_func_start sub_80A7880
-sub_80A7880: @ 80A7880
- push {lr}
- ldr r1, _080A7894 @ =gUnknown_02038550
- ldrb r0, [r1]
- cmp r0, 0
- beq _080A7898
- cmp r0, 0x1
- bne _080A789C
- movs r0, 0x2
- strb r0, [r1]
- b _080A789C
- .align 2, 0
-_080A7894: .4byte gUnknown_02038550
-_080A7898:
- bl sub_80A7970
-_080A789C:
- pop {r0}
- bx r0
- thumb_func_end sub_80A7880
-
- thumb_func_start sub_80A78A0
-sub_80A78A0: @ 80A78A0
- push {lr}
- ldr r0, _080A78B4 @ =gUnknown_02038550
- movs r1, 0
- ldrb r0, [r0]
- cmp r0, 0
- bne _080A78AE
- movs r1, 0x1
-_080A78AE:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080A78B4: .4byte gUnknown_02038550
- thumb_func_end sub_80A78A0
-
- thumb_func_start sub_80A78B8
-sub_80A78B8: @ 80A78B8
- ldr r1, _080A78C0 @ =gUnknown_02038554
- movs r0, 0
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080A78C0: .4byte gUnknown_02038554
- thumb_func_end sub_80A78B8
-
- thumb_func_start sub_80A78C4
-sub_80A78C4: @ 80A78C4
- push {lr}
- ldr r0, _080A78DC @ =gLinkOpen
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080A78E0
- bl sub_80A7868
- bl sub_80A75A8
- movs r0, 0x1
- b _080A78E2
- .align 2, 0
-_080A78DC: .4byte gLinkOpen
-_080A78E0:
- movs r0, 0
-_080A78E2:
- pop {r1}
- bx r1
- thumb_func_end sub_80A78C4
-
- thumb_func_start sub_80A78E8
-sub_80A78E8: @ 80A78E8
- push {lr}
- bl sub_80A7880
- pop {r0}
- bx r0
- thumb_func_end sub_80A78E8
-
- thumb_func_start sub_80A78F4
-sub_80A78F4: @ 80A78F4
- push {lr}
- ldr r0, _080A790C @ =gLinkOpen
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080A7910
- bl sub_80A76B8
- movs r1, 0x2
- cmp r0, 0
- beq _080A7912
- movs r1, 0x1
- b _080A7912
- .align 2, 0
-_080A790C: .4byte gLinkOpen
-_080A7910:
- movs r1, 0
-_080A7912:
- adds r0, r1, 0
- pop {r1}
- bx r1
- thumb_func_end sub_80A78F4
-
- thumb_func_start sub_80A7918
-sub_80A7918: @ 80A7918
- push {lr}
- bl sub_80A76E8
- pop {r0}
- bx r0
- thumb_func_end sub_80A7918
-
- thumb_func_start sub_80A7924
-sub_80A7924: @ 80A7924
- push {lr}
- ldr r0, _080A7948 @ =gLinkOpen
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080A7942
- bl sub_80A76B8
- cmp r0, 0
- bne _080A7942
- bl sub_80A76D0
- cmp r0, 0
- beq _080A794C
- bl sub_80A7678
-_080A7942:
- movs r0, 0
- b _080A7952
- .align 2, 0
-_080A7948: .4byte gLinkOpen
-_080A794C:
- bl sub_80A7694
- movs r0, 0x2
-_080A7952:
- pop {r1}
- bx r1
- thumb_func_end sub_80A7924
-
- thumb_func_start sub_80A7958
-sub_80A7958: @ 80A7958
- push {lr}
- bl sub_80A76B8
- cmp r0, 0
- beq _080A796A
- bl sub_80A75A8
- movs r0, 0x1
- b _080A796C
-_080A796A:
- movs r0, 0x2
-_080A796C:
- pop {r1}
- bx r1
- thumb_func_end sub_80A7958
-
- thumb_func_start sub_80A7970
-sub_80A7970: @ 80A7970
- push {lr}
- bl sub_80A75C4
- pop {r0}
- bx r0
- thumb_func_end sub_80A7970
-
- thumb_func_start sub_80A797C
-sub_80A797C: @ 80A797C
- ldr r1, _080A7984 @ =gUnknown_02038554
- movs r0, 0x1
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080A7984: .4byte gUnknown_02038554
- thumb_func_end sub_80A797C
-
- thumb_func_start sub_80A7988
-sub_80A7988: @ 80A7988
- ldr r1, _080A7994 @ =gUnknown_02038554
- ldrb r0, [r1]
- movs r2, 0
- strb r2, [r1]
- bx lr
- .align 2, 0
-_080A7994: .4byte gUnknown_02038554
- thumb_func_end sub_80A7988
-
- thumb_func_start sub_80A7998
-sub_80A7998: @ 80A7998
- adds r2, r0, 0
- adds r2, 0x2A
- movs r1, 0
- strb r1, [r2]
- strh r1, [r0, 0x2E]
- strh r1, [r0, 0x30]
- strh r1, [r0, 0x32]
- strh r1, [r0, 0x34]
- strh r1, [r0, 0x36]
- ldr r1, _080A79B0 @ =sub_80A79B4
- str r1, [r0, 0x1C]
- bx lr
- .align 2, 0
-_080A79B0: .4byte sub_80A79B4
- thumb_func_end sub_80A7998
-
- thumb_func_start sub_80A79B4
-sub_80A79B4: @ 80A79B4
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080A79E4 @ =gUnknown_0203855B
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A79CC
- adds r0, r4, 0
- bl sub_80A79EC
-_080A79CC:
- ldr r0, _080A79E8 @ =gUnknown_0203855C
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _080A79DE
- adds r0, r4, 0
- bl sub_80A7A94
-_080A79DE:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A79E4: .4byte gUnknown_0203855B
-_080A79E8: .4byte gUnknown_0203855C
- thumb_func_end sub_80A79B4
-
- thumb_func_start sub_80A79EC
-sub_80A79EC: @ 80A79EC
- push {r4-r6,lr}
- adds r2, r0, 0
- movs r0, 0x34
- ldrsh r4, [r2, r0]
- cmp r4, 0
- beq _080A79FE
- cmp r4, 0x1
- beq _080A7A54
- b _080A7A8A
-_080A79FE:
- ldr r5, _080A7A28 @ =gUnknown_0203855B
- ldrb r6, [r5]
- movs r0, 0
- ldrsb r0, [r5, r0]
- cmp r0, 0x6
- beq _080A7A2C
- adds r3, r2, 0
- adds r3, 0x3F
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r3]
- adds r0, r2, 0
- adds r0, 0x2A
- strb r6, [r0]
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
- strb r0, [r5]
- b _080A7A8A
- .align 2, 0
-_080A7A28: .4byte gUnknown_0203855B
-_080A7A2C:
- adds r3, r2, 0
- adds r3, 0x3F
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r3]
- adds r0, r2, 0
- adds r0, 0x2A
- strb r4, [r0]
- ldrh r0, [r2, 0x22]
- subs r0, 0x4
- strh r0, [r2, 0x22]
- movs r0, 0x4
- strh r0, [r2, 0x2E]
- movs r0, 0x1
- strh r0, [r2, 0x34]
- adds r0, r2, 0
- bl sub_80A7AE4
- b _080A7A8A
-_080A7A54:
- ldrh r4, [r2, 0x2E]
- movs r0, 0x2E
- ldrsh r3, [r2, r0]
- cmp r3, 0
- beq _080A7A7C
- ldrh r1, [r2, 0x30]
- movs r3, 0x30
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _080A7A72
- ldrh r0, [r2, 0x22]
- adds r0, 0x1
- strh r0, [r2, 0x22]
- subs r0, r4, 0x1
- strh r0, [r2, 0x2E]
-_080A7A72:
- adds r0, r1, 0x1
- movs r1, 0x1
- ands r0, r1
- strh r0, [r2, 0x30]
- b _080A7A8A
-_080A7A7C:
- ldr r1, _080A7A90 @ =gUnknown_0203855B
- movs r4, 0x1
- negs r4, r4
- adds r0, r4, 0
- strb r0, [r1]
- strh r3, [r2, 0x30]
- strh r3, [r2, 0x34]
-_080A7A8A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7A90: .4byte gUnknown_0203855B
- thumb_func_end sub_80A79EC
-
- thumb_func_start sub_80A7A94
-sub_80A7A94: @ 80A7A94
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080A7AA6
- cmp r0, 0x1
- beq _080A7AC8
- b _080A7ADC
-_080A7AA6:
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldr r0, _080A7AC4 @ =gSpriteAffineAnimTable_83C1CC4
- str r0, [r4, 0x10]
- adds r0, r4, 0
- bl InitSpriteAffineAnim
- movs r0, 0x1
- strh r0, [r4, 0x36]
- b _080A7ADC
- .align 2, 0
-_080A7AC4: .4byte gSpriteAffineAnimTable_83C1CC4
-_080A7AC8:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xC
- bne _080A7ADC
- adds r0, r4, 0
- bl sub_80A7AE4
-_080A7ADC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A7A94
-
- thumb_func_start sub_80A7AE4
-sub_80A7AE4: @ 80A7AE4
- push {lr}
- ldr r2, _080A7B0C @ =gUnknown_0203855C
- movs r1, 0
- strb r1, [r2]
- ldrb r2, [r0, 0x1]
- movs r1, 0x4
- negs r1, r1
- ands r1, r2
- strb r1, [r0, 0x1]
- movs r1, 0
- strh r1, [r0, 0x32]
- strh r1, [r0, 0x36]
- ldrb r0, [r0, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- pop {r0}
- bx r0
- .align 2, 0
-_080A7B0C: .4byte gUnknown_0203855C
- thumb_func_end sub_80A7AE4
-
- thumb_func_start CreateBagSprite
-CreateBagSprite: @ 80A7B10
- push {lr}
- ldr r0, _080A7B24 @ =gSpriteTemplate_83C1CE0
- movs r1, 0x3A
- movs r2, 0x28
- movs r3, 0
- bl CreateSprite
- pop {r0}
- bx r0
- .align 2, 0
-_080A7B24: .4byte gSpriteTemplate_83C1CE0
- thumb_func_end CreateBagSprite
-
- thumb_func_start sub_80A7B28
-sub_80A7B28: @ 80A7B28
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0
- strh r0, [r4, 0x34]
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl sub_80A7B6C
- ldr r0, _080A7B44 @ =sub_80A7B6C
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7B44: .4byte sub_80A7B6C
- thumb_func_end sub_80A7B28
-
- thumb_func_start sub_80A7B48
-sub_80A7B48: @ 80A7B48
- ldrh r2, [r0, 0x38]
- ldrh r1, [r0, 0x2E]
- adds r1, 0x1
- movs r3, 0x1
- ands r1, r3
- subs r2, r1
- adds r1, r0, 0
- adds r1, 0x28
- strb r2, [r1]
- ldrh r2, [r0, 0x3A]
- ldrh r1, [r0, 0x2E]
- adds r1, 0x1
- ands r1, r3
- subs r2, r1
- adds r0, 0x29
- strb r2, [r0]
- bx lr
- thumb_func_end sub_80A7B48
-
- thumb_func_start sub_80A7B6C
-sub_80A7B6C: @ 80A7B6C
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x3C
- ldrsh r2, [r4, r0]
- cmp r2, 0
- beq _080A7C16
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080A7B86
- cmp r0, 0x1
- beq _080A7BD4
- b _080A7C16
-_080A7B86:
- ldrb r0, [r4, 0x1]
- movs r1, 0x4
- negs r1, r1
- ands r1, r0
- movs r0, 0x1
- orrs r1, r0
- strb r1, [r4, 0x1]
- cmp r2, 0x1
- bne _080A7BA0
- ldr r0, _080A7B9C @ =gSpriteAffineAnimTable_83C1D20
- b _080A7BA2
- .align 2, 0
-_080A7B9C: .4byte gSpriteAffineAnimTable_83C1D20
-_080A7BA0:
- ldr r0, _080A7BD0 @ =gSpriteAffineAnimTable_83C1D20 + 0x4
-_080A7BA2:
- str r0, [r4, 0x10]
- adds r0, r4, 0
- bl InitSpriteAffineAnim
- movs r0, 0x1
- strh r0, [r4, 0x34]
- adds r0, r4, 0
- adds r0, 0x28
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- strh r0, [r4, 0x38]
- adds r0, r4, 0
- adds r0, 0x29
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- strh r0, [r4, 0x3A]
- adds r0, r4, 0
- bl sub_80A7B48
- b _080A7C16
- .align 2, 0
-_080A7BD0: .4byte gSpriteAffineAnimTable_83C1D20 + 0x4
-_080A7BD4:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- movs r5, 0
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl sub_80A7B48
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x20
- bne _080A7C16
- strh r5, [r4, 0x2E]
- strh r5, [r4, 0x34]
- ldrh r1, [r4, 0x38]
- adds r0, r4, 0
- adds r0, 0x28
- strb r1, [r0]
- ldrh r0, [r4, 0x3A]
- adds r1, r4, 0
- adds r1, 0x29
- strb r0, [r1]
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x1]
- ldr r0, _080A7C1C @ =SpriteCallbackDummy
- str r0, [r4, 0x1C]
-_080A7C16:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7C1C: .4byte SpriteCallbackDummy
- thumb_func_end sub_80A7B6C
-
- thumb_func_start CreateBagPokeballSprite
-CreateBagPokeballSprite: @ 80A7C20
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080A7C54 @ =gUnknown_083C1D30
- bl LoadSpritePalette
- ldr r0, _080A7C58 @ =gSpriteTemplate_83C1D38
- movs r1, 0x10
- movs r2, 0x58
- movs r3, 0
- bl CreateSprite
- ldr r1, _080A7C5C @ =gUnknown_02038568
- strb r0, [r1]
- ldr r2, _080A7C60 @ =gSprites
- ldrb r1, [r1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r4, [r0, 0x3C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7C54: .4byte gUnknown_083C1D30
-_080A7C58: .4byte gSpriteTemplate_83C1D38
-_080A7C5C: .4byte gUnknown_02038568
-_080A7C60: .4byte gSprites
- thumb_func_end CreateBagPokeballSprite
-
- thumb_func_start sub_80A7C64
-sub_80A7C64: @ 80A7C64
- push {r4,r5,lr}
- movs r0, 0x8
- bl FreeSpritePaletteByTag
- ldr r5, _080A7C98 @ =gSprites
- ldr r4, _080A7C9C @ =gUnknown_02038568
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrb r0, [r0, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- bl DestroySprite
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7C98: .4byte gSprites
-_080A7C9C: .4byte gUnknown_02038568
- thumb_func_end sub_80A7C64
-
- thumb_func_start sub_80A7CA0
-sub_80A7CA0: @ 80A7CA0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- adds r4, r1, 0
- movs r2, 0x80
- lsls r2, 4
- adds r0, r4, 0
- movs r1, 0
- bl memset
- movs r0, 0x80
- lsls r0, 1
- adds r4, r0
- movs r7, 0
-_080A7CBE:
- adds r4, 0x20
- movs r5, 0
- adds r1, r7, 0x1
- mov r8, r1
-_080A7CC6:
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0x20
- bl memcpy
- adds r4, 0x20
- adds r6, 0x20
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _080A7CC6
- cmp r7, 0x5
- beq _080A7CE4
- adds r4, 0x20
-_080A7CE4:
- mov r1, r8
- lsls r0, r1, 24
- lsrs r7, r0, 24
- cmp r7, 0x5
- bls _080A7CBE
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A7CA0
-
- thumb_func_start sub_80A7CF8
-sub_80A7CF8: @ 80A7CF8
- push {r4,r5,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2A
- bne _080A7D44
- bl IsEnigmaBerryValid
- cmp r0, 0x1
- bne _080A7D44
- ldr r4, _080A7D34 @ =gSaveBlock1 + 0x317C
- ldr r1, _080A7D38 @ =0x02000000
- adds r0, r4, 0
- bl sub_80A7CA0
- movs r0, 0x90
- lsls r0, 3
- adds r4, r0
- str r4, [sp]
- ldr r1, _080A7D3C @ =0xffff0000
- ldr r0, [sp, 0x4]
- ands r0, r1
- ldr r1, _080A7D40 @ =0x00007544
- orrs r0, r1
- str r0, [sp, 0x4]
- mov r0, sp
- bl LoadSpritePalette
- b _080A7D72
- .align 2, 0
-_080A7D34: .4byte gSaveBlock1 + 0x317C
-_080A7D38: .4byte 0x02000000
-_080A7D3C: .4byte 0xffff0000
-_080A7D40: .4byte 0x00007544
-_080A7D44:
- ldr r5, _080A7D7C @ =gBerryGraphicsTable
- lsls r4, 3
- adds r0, r5, 0x4
- adds r0, r4, r0
- ldr r0, [r0]
- str r0, [sp]
- mov r1, sp
- ldr r0, _080A7D80 @ =0x00007544
- strh r0, [r1, 0x4]
- mov r0, sp
- bl LoadCompressedObjectPalette
- adds r4, r5
- ldr r0, [r4]
- ldr r4, _080A7D84 @ =0x02001000
- adds r1, r4, 0
- bl sub_800D238
- ldr r0, _080A7D88 @ =0xfffff000
- adds r1, r4, r0
- adds r0, r4, 0
- bl sub_80A7CA0
-_080A7D72:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7D7C: .4byte gBerryGraphicsTable
-_080A7D80: .4byte 0x00007544
-_080A7D84: .4byte 0x02001000
-_080A7D88: .4byte 0xfffff000
- thumb_func_end sub_80A7CF8
-
- thumb_func_start sub_80A7D8C
-sub_80A7D8C: @ 80A7D8C
- push {r4,r5,lr}
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- bl sub_80A7CF8
- ldr r0, _080A7DC0 @ =gSpriteTemplate_83C1D74
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- adds r1, r4, 0
- adds r2, r5, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080A7DC0: .4byte gSpriteTemplate_83C1D74
- thumb_func_end sub_80A7D8C
-
- thumb_func_start sub_80A7DC4
-sub_80A7DC4: @ 80A7DC4
- ldr r1, _080A7DD0 @ =gUnknown_030041B4
- ldrh r1, [r1]
- negs r1, r1
- strh r1, [r0, 0x26]
- bx lr
- .align 2, 0
-_080A7DD0: .4byte gUnknown_030041B4
- thumb_func_end sub_80A7DC4
-
- thumb_func_start sub_80A7DD4
-sub_80A7DD4: @ 80A7DD4
- push {lr}
- ldr r0, _080A7DE8 @ =0x00007544
- bl FreeSpritePaletteByTag
- movs r0, 0x8
- bl FreeSpritePaletteByTag
- pop {r0}
- bx r0
- .align 2, 0
-_080A7DE8: .4byte 0x00007544
- thumb_func_end sub_80A7DD4
-
- thumb_func_start sub_80A7DEC
-sub_80A7DEC: @ 80A7DEC
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- mov r8, r3
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, _080A7E50 @ =0x00007544
- bl FreeSpritePaletteByTag
- adds r0, r4, 0
- bl sub_80A7CF8
- ldr r0, _080A7E54 @ =gSpriteTemplate_83C1E04
- adds r1, r5, 0
- adds r2, r6, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- adds r4, r1, 0
- mov r0, r8
- cmp r0, 0x1
- bne _080A7E42
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080A7E58 @ =gSprites
- adds r0, r1
- movs r1, 0x1
- bl StartSpriteAffineAnim
-_080A7E42:
- adds r0, r4, 0
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080A7E50: .4byte 0x00007544
-_080A7E54: .4byte gSpriteTemplate_83C1E04
-_080A7E58: .4byte gSprites
- thumb_func_end sub_80A7DEC
-
- thumb_func_start sub_80A7E5C
-sub_80A7E5C: @ 80A7E5C
- push {lr}
- adds r1, r0, 0
- ldr r0, _080A7E78 @ =gSpriteTemplate_83C1F98
- lsls r1, 16
- asrs r1, 16
- movs r2, 0x63
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_080A7E78: .4byte gSpriteTemplate_83C1F98
- thumb_func_end sub_80A7E5C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/menu_helpers.s b/asm/menu_helpers.s
deleted file mode 100644
index 0f5caf3da..000000000
--- a/asm/menu_helpers.s
+++ /dev/null
@@ -1,1339 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80F9020
-sub_80F9020: @ 80F9020
- push {r4,r5,lr}
- ldr r4, _080F9054 @ =gBGTilemapBuffers + 0x800
- movs r5, 0x80
- lsls r5, 4
- adds r0, r4, 0
- movs r1, 0
- adds r2, r5, 0
- bl memset
- adds r0, r4, r5
- movs r1, 0
- adds r2, r5, 0
- bl memset
- movs r0, 0x80
- lsls r0, 5
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0
- adds r2, r5, 0
- bl memset
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F9054: .4byte gBGTilemapBuffers + 0x800
- thumb_func_end sub_80F9020
-
- thumb_func_start sav2_get_text_speed
-sav2_get_text_speed: @ 80F9058
- push {r4,r5,lr}
- sub sp, 0x8
- adds r5, r0, 0
- lsls r1, 16
- lsrs r4, r1, 16
- bl MenuDisplayMessageBox
- cmp r4, 0
- beq _080F907C
- ldr r0, _080F908C @ =gBGTilemapBuffers + 0x800
- movs r1, 0x4
- str r1, [sp]
- str r4, [sp, 0x4]
- movs r1, 0x2
- movs r2, 0xF
- movs r3, 0x1A
- bl sub_80A3FA0
-_080F907C:
- adds r0, r5, 0
- bl sub_8072044
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F908C: .4byte gBGTilemapBuffers + 0x800
- thumb_func_end sav2_get_text_speed
-
- thumb_func_start sub_80F9090
-sub_80F9090: @ 80F9090
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl MenuUpdateWindowText
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080F90AC
- ldr r0, _080F90B4 @ =gUnknown_0300074C
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
-_080F90AC:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F90B4: .4byte gUnknown_0300074C
- thumb_func_end sub_80F9090
-
- thumb_func_start DisplayItemMessageOnField
-DisplayItemMessageOnField: @ 80F90B8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r0, r1, 0
- adds r5, r2, 0
- adds r1, r3, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r1, 16
- lsrs r1, 16
- bl sav2_get_text_speed
- ldr r0, _080F90E8 @ =gUnknown_0300074C
- str r5, [r0]
- ldr r1, _080F90EC @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080F90F0 @ =sub_80F9090
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F90E8: .4byte gUnknown_0300074C
-_080F90EC: .4byte gTasks
-_080F90F0: .4byte sub_80F9090
- thumb_func_end DisplayItemMessageOnField
-
- thumb_func_start Task_CallYesOrNoCallback
-Task_CallYesOrNoCallback: @ 80F90F4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl ProcessMenuInputNoWrap_
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _080F911A
- cmp r1, 0
- bgt _080F9114
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080F9130
- b _080F9140
-_080F9114:
- cmp r1, 0x1
- beq _080F9130
- b _080F9140
-_080F911A:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080F912C @ =gUnknown_020388C4
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- b _080F9140
- .align 2, 0
-_080F912C: .4byte gUnknown_020388C4
-_080F9130:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080F9148 @ =gUnknown_020388C4
- ldr r1, [r0, 0x4]
- adds r0, r4, 0
- bl _call_via_r1
-_080F9140:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F9148: .4byte gUnknown_020388C4
- thumb_func_end Task_CallYesOrNoCallback
-
- thumb_func_start DoYesNoFuncWithChoice
-DoYesNoFuncWithChoice: @ 80F914C
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _080F916C @ =gUnknown_020388C4
- ldr r2, [r1, 0x4]
- ldr r1, [r1]
- str r1, [r3]
- str r2, [r3, 0x4]
- ldr r2, _080F9170 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, _080F9174 @ =Task_CallYesOrNoCallback
- str r0, [r1]
- bx lr
- .align 2, 0
-_080F916C: .4byte gUnknown_020388C4
-_080F9170: .4byte gTasks
-_080F9174: .4byte Task_CallYesOrNoCallback
- thumb_func_end DoYesNoFuncWithChoice
-
- thumb_func_start brm_trade_1
-brm_trade_1: @ 80F9178
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r3, 24
- lsrs r6, r3, 24
- ldr r1, _080F91C0 @ =gUnknown_083E5A18
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- cmp r4, 0xFF
- beq _080F91CC
- mov r0, sp
- strb r4, [r0, 0x2]
- ldr r4, _080F91C4 @ =gStringVar4
- adds r0, r4, 0
- mov r1, sp
- bl StringCopy
- adds r0, r4, 0
- adds r1, r5, 0
- bl StringAppend
- mov r1, sp
- ldr r0, _080F91C8 @ =gMenuWindowPtr
- ldr r0, [r0]
- ldrb r0, [r0, 0x6]
- strb r0, [r1, 0x2]
- adds r0, r4, 0
- bl StringAppend
- b _080F91D4
- .align 2, 0
-_080F91C0: .4byte gUnknown_083E5A18
-_080F91C4: .4byte gStringVar4
-_080F91C8: .4byte gMenuWindowPtr
-_080F91CC:
- ldr r0, _080F91E8 @ =gStringVar4
- adds r1, r5, 0
- bl StringCopy
-_080F91D4:
- ldr r0, _080F91E8 @ =gStringVar4
- adds r1, r7, 0
- adds r2, r6, 0
- bl MenuPrint
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F91E8: .4byte gStringVar4
- thumb_func_end brm_trade_1
-
- thumb_func_start unref_sub_80F91EC
-unref_sub_80F91EC: @ 80F91EC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r12, r0
- adds r4, r2, 0
- adds r2, r3, 0
- ldr r0, [sp, 0x18]
- ldr r3, [sp, 0x1C]
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- lsls r4, 24
- lsrs r4, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r3, 24
- lsrs r5, r3, 24
- ldr r6, _080F9234 @ =gStringVar1
- adds r0, r6, 0
- mov r1, r12
- adds r3, r4, 0
- bl ConvertIntToDecimalStringN
- mov r0, r8
- cmp r0, 0xFF
- beq _080F9238
- adds r0, r6, 0
- mov r1, r8
- adds r2, r7, 0
- adds r3, r5, 0
- bl brm_trade_1
- b _080F9242
- .align 2, 0
-_080F9234: .4byte gStringVar1
-_080F9238:
- adds r0, r6, 0
- adds r1, r7, 0
- adds r2, r5, 0
- bl MenuPrint
-_080F9242:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end unref_sub_80F91EC
-
- thumb_func_start unref_sub_80F924C
-unref_sub_80F924C: @ 80F924C
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- adds r4, r2, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _080F9280 @ =gUnknown_083E5A1C
- mov r0, sp
- movs r2, 0x2
- bl memcpy
- mov r0, sp
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl brm_trade_1
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080F9280: .4byte gUnknown_083E5A1C
- thumb_func_end unref_sub_80F924C
-
- thumb_func_start sub_80F9284
-sub_80F9284: @ 80F9284
- push {lr}
- ldr r0, _080F92A0 @ =gSaveBlock2
- ldrb r0, [r0, 0x13]
- cmp r0, 0x1
- bne _080F92B6
- ldr r0, _080F92A4 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _080F92A8
- movs r0, 0x1
- b _080F92B8
- .align 2, 0
-_080F92A0: .4byte gSaveBlock2
-_080F92A4: .4byte gMain
-_080F92A8:
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _080F92B6
- movs r0, 0x2
- b _080F92B8
-_080F92B6:
- movs r0, 0
-_080F92B8:
- pop {r1}
- bx r1
- thumb_func_end sub_80F9284
-
- thumb_func_start sub_80F92BC
-sub_80F92BC: @ 80F92BC
- push {lr}
- ldr r0, _080F92D8 @ =gSaveBlock2
- ldrb r0, [r0, 0x13]
- cmp r0, 0x1
- bne _080F92EE
- ldr r0, _080F92DC @ =gMain
- ldrh r1, [r0, 0x30]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _080F92E0
- movs r0, 0x1
- b _080F92F0
- .align 2, 0
-_080F92D8: .4byte gSaveBlock2
-_080F92DC: .4byte gMain
-_080F92E0:
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _080F92EE
- movs r0, 0x2
- b _080F92F0
-_080F92EE:
- movs r0, 0
-_080F92F0:
- pop {r1}
- bx r1
- thumb_func_end sub_80F92BC
-
- thumb_func_start sub_80F92F4
-sub_80F92F4: @ 80F92F4
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xAF
- bne _080F9314
- ldr r0, _080F930C @ =gSaveBlock1
- ldrh r1, [r0, 0x4]
- ldr r0, _080F9310 @ =0x00001919
- cmp r1, r0
- bne _080F9314
- movs r0, 0
- b _080F9316
- .align 2, 0
-_080F930C: .4byte gSaveBlock1
-_080F9310: .4byte 0x00001919
-_080F9314:
- movs r0, 0x1
-_080F9316:
- pop {r1}
- bx r1
- thumb_func_end sub_80F92F4
-
- thumb_func_start sub_80F931C
-sub_80F931C: @ 80F931C
- push {r4,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- bl is_c1_link_related_active
- cmp r0, 0x1
- bne _080F933C
- adds r0, r4, 0
- bl ItemIsMail
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080F933C
- movs r0, 0
- b _080F933E
-_080F933C:
- movs r0, 0x1
-_080F933E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80F931C
-
- thumb_func_start sub_80F9344
-sub_80F9344: @ 80F9344
- push {lr}
- bl is_c1_link_related_active
- cmp r0, 0x1
- beq _080F9356
- ldr r0, _080F935C @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080F9360
-_080F9356:
- movs r0, 0x1
- b _080F9362
- .align 2, 0
-_080F935C: .4byte gReceivedRemoteLinkPlayers
-_080F9360:
- movs r0, 0
-_080F9362:
- pop {r1}
- bx r1
- thumb_func_end sub_80F9344
-
- thumb_func_start sub_80F9368
-sub_80F9368: @ 80F9368
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- movs r0, 0x80
- lsls r0, 19
- movs r1, 0
- strh r1, [r0]
- adds r0, 0xE
- strh r1, [r0]
- subs r0, 0x2
- strh r1, [r0]
- subs r0, 0x2
- strh r1, [r0]
- subs r0, 0x2
- strh r1, [r0]
- adds r0, 0x14
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- subs r0, 0x6
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- subs r0, 0x6
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- subs r0, 0x6
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- movs r3, 0xC0
- lsls r3, 19
- movs r4, 0xC0
- lsls r4, 9
- add r0, sp, 0x4
- mov r8, r0
- mov r2, sp
- movs r6, 0
- ldr r1, _080F9430 @ =0x040000d4
- movs r5, 0x80
- lsls r5, 5
- ldr r7, _080F9434 @ =0x81000800
- movs r0, 0x81
- lsls r0, 24
- mov r12, r0
-_080F93C6:
- strh r6, [r2]
- mov r0, sp
- str r0, [r1]
- str r3, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r5
- subs r4, r5
- cmp r4, r5
- bhi _080F93C6
- strh r6, [r2]
- mov r2, sp
- str r2, [r1]
- str r3, [r1, 0x4]
- lsrs r0, r4, 1
- mov r2, r12
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r0, 0xE0
- lsls r0, 19
- movs r3, 0x80
- lsls r3, 3
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r2, _080F9430 @ =0x040000d4
- mov r1, r8
- str r1, [r2]
- str r0, [r2, 0x4]
- lsrs r0, r3, 2
- movs r1, 0x85
- lsls r1, 24
- orrs r0, r1
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r1, 0xA0
- lsls r1, 19
- mov r0, sp
- strh r4, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- lsrs r3, 1
- movs r0, 0x81
- lsls r0, 24
- orrs r3, r0
- str r3, [r2, 0x8]
- ldr r0, [r2, 0x8]
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F9430: .4byte 0x040000d4
-_080F9434: .4byte 0x81000800
- thumb_func_end sub_80F9368
-
- thumb_func_start sub_80F9438
-sub_80F9438: @ 80F9438
- push {lr}
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0
- bl SetHBlankCallback
- pop {r0}
- bx r0
- thumb_func_end sub_80F9438
-
- thumb_func_start sub_80F944C
-sub_80F944C: @ 80F944C
- push {r4,lr}
- movs r2, 0
- ldr r4, _080F9478 @ =gUnknown_020388C0
- movs r3, 0xFF
-_080F9454:
- adds r0, r2, r4
- ldrb r1, [r0]
- orrs r1, r3
- strb r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _080F9454
- movs r0, 0x6
- bl FreeSpritePaletteByTag
- ldr r0, _080F947C @ =gUnknown_083E5968
- bl LoadSpritePalette
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F9478: .4byte gUnknown_020388C0
-_080F947C: .4byte gUnknown_083E5968
- thumb_func_end sub_80F944C
-
- thumb_func_start sub_80F9480
-sub_80F9480: @ 80F9480
- push {r4,lr}
- adds r3, r0, 0
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0
- cmp r2, r1
- bcs _080F949E
- movs r4, 0xFF
-_080F9490:
- adds r0, r3, r2
- strb r4, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, r1
- bcc _080F9490
-_080F949E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80F9480
-
- thumb_func_start sub_80F94A4
-sub_80F94A4: @ 80F94A4
- push {r4,r5,lr}
- adds r5, r1, 0
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r2, 16
- lsrs r1, r2, 16
- lsls r3, 16
- lsrs r2, r3, 16
- cmp r4, 0x5
- bhi _080F94E8
- ldrb r0, [r5]
- cmp r0, 0xFF
- bne _080F94D0
- ldr r0, _080F94F0 @ =gSpriteTemplate_83E5A00
- lsls r1, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- movs r3, 0
- bl CreateSprite
- strb r0, [r5]
-_080F94D0:
- subs r0, r4, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldrb r1, [r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080F94F4 @ =gSprites
- adds r0, r1
- adds r1, r4, 0
- bl StartSpriteAnim
-_080F94E8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F94F0: .4byte gSpriteTemplate_83E5A00
-_080F94F4: .4byte gSprites
- thumb_func_end sub_80F94A4
-
- thumb_func_start sub_80F94F8
-sub_80F94F8: @ 80F94F8
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0xFF
- beq _080F9516
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080F951C @ =gSprites
- adds r0, r1
- bl DestroySprite
- movs r0, 0xFF
- strb r0, [r4]
-_080F9516:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F951C: .4byte gSprites
- thumb_func_end sub_80F94F8
-
- thumb_func_start sub_80F9520
-sub_80F9520: @ 80F9520
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r4, 0
-_080F9526:
- adds r0, r5, r4
- bl sub_80F94F8
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x7
- bls _080F9526
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80F9520
-
- thumb_func_start CreateVerticalScrollIndicators
-CreateVerticalScrollIndicators: @ 80F953C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 16
- lsrs r3, r1, 16
- lsls r2, 16
- lsrs r2, 16
- cmp r4, 0x3
- bls _080F9550
- b _080F9790
-_080F9550:
- cmp r4, 0x1
- beq _080F95F6
- cmp r4, 0x1
- bgt _080F9564
- cmp r4, 0
- beq _080F9578
- ldr r5, _080F9560 @ =gUnknown_020388C0
- b _080F977A
- .align 2, 0
-_080F9560: .4byte gUnknown_020388C0
-_080F9564:
- cmp r4, 0x2
- bne _080F956A
- b _080F967C
-_080F956A:
- cmp r4, 0x3
- bne _080F9570
- b _080F96F8
-_080F9570:
- ldr r5, _080F9574 @ =gUnknown_020388C0
- b _080F977A
- .align 2, 0
-_080F9574: .4byte gUnknown_020388C0
-_080F9578:
- ldr r0, _080F95D8 @ =gUnknown_020388C0
- ldrb r1, [r0]
- adds r5, r0, 0
- cmp r1, 0xFF
- beq _080F9584
- b _080F977A
-_080F9584:
- ldr r0, _080F95DC @ =gSpriteTemplate_83E59D0
- lsls r1, r3, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- movs r3, 0
- bl CreateSprite
- strb r0, [r5]
- ldr r3, _080F95E0 @ =gSprites
- ldrb r1, [r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldr r1, _080F95E4 @ =0x0000ffff
- strh r1, [r0, 0x32]
- ldrb r0, [r5, 0x1]
- cmp r0, 0xFF
- beq _080F95E8
- ldrb r0, [r5]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrb r2, [r5, 0x1]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- movs r2, 0x26
- ldrsh r0, [r0, r2]
- negs r0, r0
- strh r0, [r1, 0x26]
- ldrb r0, [r5]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrb r2, [r5, 0x1]
- b _080F9650
- .align 2, 0
-_080F95D8: .4byte gUnknown_020388C0
-_080F95DC: .4byte gSpriteTemplate_83E59D0
-_080F95E0: .4byte gSprites
-_080F95E4: .4byte 0x0000ffff
-_080F95E8:
- ldrb r1, [r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r4, [r0, 0x34]
- b _080F977A
-_080F95F6:
- ldr r0, _080F9660 @ =gUnknown_020388C0
- ldrb r1, [r0, 0x1]
- adds r5, r0, 0
- cmp r1, 0xFF
- beq _080F9602
- b _080F977A
-_080F9602:
- ldr r0, _080F9664 @ =gSpriteTemplate_83E59D0
- lsls r1, r3, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- movs r3, 0
- bl CreateSprite
- strb r0, [r5, 0x1]
- ldr r3, _080F9668 @ =gSprites
- ldrb r1, [r5, 0x1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r4, [r0, 0x32]
- ldrb r0, [r5]
- cmp r0, 0xFF
- beq _080F966C
- ldrb r0, [r5, 0x1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrb r2, [r5]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- movs r2, 0x26
- ldrsh r0, [r0, r2]
- negs r0, r0
- strh r0, [r1, 0x26]
- ldrb r0, [r5, 0x1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrb r2, [r5]
-_080F9650:
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0, 0x34]
- strh r0, [r1, 0x34]
- b _080F977A
- .align 2, 0
-_080F9660: .4byte gUnknown_020388C0
-_080F9664: .4byte gSpriteTemplate_83E59D0
-_080F9668: .4byte gSprites
-_080F966C:
- ldrb r0, [r5, 0x1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- movs r0, 0
- strh r0, [r1, 0x34]
- b _080F977A
-_080F967C:
- ldr r0, _080F96E4 @ =gUnknown_020388C0
- ldrb r1, [r0, 0x2]
- adds r5, r0, 0
- cmp r1, 0xFF
- bne _080F977A
- ldr r0, _080F96E8 @ =gSpriteTemplate_83E59E8
- lsls r1, r3, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- movs r3, 0
- bl CreateSprite
- strb r0, [r5, 0x2]
- ldr r3, _080F96EC @ =gSprites
- ldrb r1, [r5, 0x2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldr r1, _080F96F0 @ =0x0000ffff
- strh r1, [r0, 0x2E]
- ldrb r0, [r5, 0x3]
- cmp r0, 0xFF
- beq _080F96F4
- ldrb r0, [r5, 0x2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrb r2, [r5, 0x3]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- movs r2, 0x24
- ldrsh r0, [r0, r2]
- negs r0, r0
- strh r0, [r1, 0x24]
- ldrb r0, [r5, 0x2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrb r2, [r5, 0x3]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0, 0x30]
- b _080F9778
- .align 2, 0
-_080F96E4: .4byte gUnknown_020388C0
-_080F96E8: .4byte gSpriteTemplate_83E59E8
-_080F96EC: .4byte gSprites
-_080F96F0: .4byte 0x0000ffff
-_080F96F4:
- ldrb r0, [r5, 0x2]
- b _080F976E
-_080F96F8:
- ldr r0, _080F9760 @ =gUnknown_020388C0
- ldrb r1, [r0, 0x3]
- adds r5, r0, 0
- cmp r1, 0xFF
- bne _080F977A
- ldr r0, _080F9764 @ =gSpriteTemplate_83E59E8
- lsls r1, r3, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- movs r3, 0
- bl CreateSprite
- strb r0, [r5, 0x3]
- ldr r3, _080F9768 @ =gSprites
- ldrb r1, [r5, 0x3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r1, 0x1
- strh r1, [r0, 0x2E]
- ldrb r0, [r5, 0x2]
- cmp r0, 0xFF
- beq _080F976C
- ldrb r0, [r5, 0x3]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrb r2, [r5, 0x2]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- movs r2, 0x24
- ldrsh r0, [r0, r2]
- negs r0, r0
- strh r0, [r1, 0x24]
- ldrb r0, [r5, 0x3]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrb r2, [r5, 0x2]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0, 0x30]
- b _080F9778
- .align 2, 0
-_080F9760: .4byte gUnknown_020388C0
-_080F9764: .4byte gSpriteTemplate_83E59E8
-_080F9768: .4byte gSprites
-_080F976C:
- ldrb r0, [r5, 0x3]
-_080F976E:
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- movs r0, 0
-_080F9778:
- strh r0, [r1, 0x30]
-_080F977A:
- adds r0, r4, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080F9798 @ =gSprites
- adds r0, r1
- movs r1, 0x1
- ands r1, r4
- bl StartSpriteAnim
-_080F9790:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F9798: .4byte gSprites
- thumb_func_end CreateVerticalScrollIndicators
-
- thumb_func_start sub_80F979C
-sub_80F979C: @ 80F979C
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- cmp r2, 0x3
- bhi _080F97D4
- ldr r0, _080F97D8 @ =gUnknown_020388C0
- adds r1, r2, r0
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _080F97D4
- ldr r2, _080F97DC @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x3E
- movs r0, 0x1
- adds r2, r3, 0
- ands r2, r0
- lsls r2, 2
- ldrb r3, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r3
- orrs r0, r2
- strb r0, [r1]
-_080F97D4:
- pop {r0}
- bx r0
- .align 2, 0
-_080F97D8: .4byte gUnknown_020388C0
-_080F97DC: .4byte gSprites
- thumb_func_end sub_80F979C
-
- thumb_func_start DestroyVerticalScrollIndicator
-DestroyVerticalScrollIndicator: @ 80F97E0
- push {r4,lr}
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bhi _080F9808
- ldr r0, _080F9810 @ =gUnknown_020388C0
- adds r4, r1, r0
- ldrb r0, [r4]
- cmp r0, 0xFF
- beq _080F9808
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080F9814 @ =gSprites
- adds r0, r1
- bl DestroySprite
- movs r0, 0xFF
- strb r0, [r4]
-_080F9808:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F9810: .4byte gUnknown_020388C0
-_080F9814: .4byte gSprites
- thumb_func_end DestroyVerticalScrollIndicator
-
- thumb_func_start LoadScrollIndicatorPalette
-LoadScrollIndicatorPalette: @ 80F9818
- push {lr}
- ldr r0, _080F9824 @ =gUnknown_083E5968
- bl LoadSpritePalette
- pop {r0}
- bx r0
- .align 2, 0
-_080F9824: .4byte gUnknown_083E5968
- thumb_func_end LoadScrollIndicatorPalette
-
- thumb_func_start BuyMenuFreeMemory
-BuyMenuFreeMemory: @ 80F9828
- push {lr}
- movs r0, 0x6
- bl FreeSpritePaletteByTag
- pop {r0}
- bx r0
- thumb_func_end BuyMenuFreeMemory
-
- thumb_func_start sub_80F9834
-sub_80F9834: @ 80F9834
- push {lr}
- adds r2, r0, 0
- movs r1, 0x30
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bne _080F9848
- ldrh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x24]
- adds r0, r1
- strh r0, [r2, 0x24]
-_080F9848:
- movs r1, 0x34
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bne _080F9858
- ldrh r0, [r2, 0x32]
- ldrh r1, [r2, 0x26]
- adds r0, r1
- strh r0, [r2, 0x26]
-_080F9858:
- ldrh r1, [r2, 0x30]
- adds r1, 0x1
- movs r3, 0
- strh r1, [r2, 0x30]
- ldrh r0, [r2, 0x34]
- adds r0, 0x1
- strh r0, [r2, 0x34]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0x2
- ble _080F9870
- strh r3, [r2, 0x30]
-_080F9870:
- movs r1, 0x34
- ldrsh r0, [r2, r1]
- cmp r0, 0x2
- ble _080F987A
- strh r3, [r2, 0x34]
-_080F987A:
- movs r0, 0x24
- ldrsh r1, [r2, r0]
- cmp r1, 0x8
- beq _080F988A
- movs r0, 0x8
- negs r0, r0
- cmp r1, r0
- bne _080F988C
-_080F988A:
- strh r3, [r2, 0x24]
-_080F988C:
- movs r0, 0x26
- ldrsh r1, [r2, r0]
- cmp r1, 0x8
- beq _080F989C
- movs r0, 0x8
- negs r0, r0
- cmp r1, r0
- bne _080F98A0
-_080F989C:
- movs r0, 0
- strh r0, [r2, 0x26]
-_080F98A0:
- pop {r0}
- bx r0
- thumb_func_end sub_80F9834
-
- thumb_func_start sub_80F98A4
-sub_80F98A4: @ 80F98A4
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, _080F98D0 @ =gUnknown_020388C0
- adds r3, r1, r0
- ldrb r0, [r3]
- cmp r0, 0xFF
- beq _080F98CA
- cmp r1, 0x3
- bhi _080F98CA
- ldr r2, _080F98D4 @ =gSprites
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, _080F98D8 @ =SpriteCallbackDummy
- str r1, [r0]
-_080F98CA:
- pop {r0}
- bx r0
- .align 2, 0
-_080F98D0: .4byte gUnknown_020388C0
-_080F98D4: .4byte gSprites
-_080F98D8: .4byte SpriteCallbackDummy
- thumb_func_end sub_80F98A4
-
- thumb_func_start StartVerticalScrollIndicators
-StartVerticalScrollIndicators: @ 80F98DC
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, _080F9908 @ =gUnknown_020388C0
- adds r3, r1, r0
- ldrb r0, [r3]
- cmp r0, 0xFF
- beq _080F9902
- cmp r1, 0x3
- bhi _080F9902
- ldr r2, _080F990C @ =gSprites
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, _080F9910 @ =sub_80F9834
- str r1, [r0]
-_080F9902:
- pop {r0}
- bx r0
- .align 2, 0
-_080F9908: .4byte gUnknown_020388C0
-_080F990C: .4byte gSprites
-_080F9910: .4byte sub_80F9834
- thumb_func_end StartVerticalScrollIndicators
-
- thumb_func_start sub_80F9914
-sub_80F9914: @ 80F9914
- push {r4,lr}
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, _080F9964 @ =gUnknown_020388C0
- adds r4, r1, r0
- ldrb r0, [r4]
- cmp r0, 0xFF
- beq _080F995C
- cmp r1, 0x3
- bhi _080F995C
- ldr r3, _080F9968 @ =gSprites
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r2, 0
- strh r2, [r0, 0x24]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r2, [r0, 0x26]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r2, [r0, 0x30]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r2, [r0, 0x34]
-_080F995C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F9964: .4byte gUnknown_020388C0
-_080F9968: .4byte gSprites
- thumb_func_end sub_80F9914
-
- thumb_func_start PauseVerticalScrollIndicator
-PauseVerticalScrollIndicator: @ 80F996C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_80F98A4
- adds r0, r4, 0
- bl sub_80F9914
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end PauseVerticalScrollIndicator
-
- thumb_func_start sub_80F9988
-sub_80F9988: @ 80F9988
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- ldr r0, _080F99C4 @ =gUnknown_020388C0
- adds r1, r2, r0
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _080F99BE
- cmp r2, 0x3
- bhi _080F99BE
- ldr r2, _080F99C8 @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x3
- adds r2, r3, 0
- ands r2, r0
- lsls r2, 2
- ldrb r3, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r2
- strb r0, [r1, 0x5]
-_080F99BE:
- pop {r0}
- bx r0
- .align 2, 0
-_080F99C4: .4byte gUnknown_020388C0
-_080F99C8: .4byte gSprites
- thumb_func_end sub_80F9988
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/pokedex_area_screen.s b/asm/pokedex_area_screen.s
index bd8db8a2c..542eed201 100644
--- a/asm/pokedex_area_screen.s
+++ b/asm/pokedex_area_screen.s
@@ -92,7 +92,7 @@ _08110720:
ldr r4, _0811073C @ =0x020006e8
adds r0, r4, 0
movs r1, 0
- bl sub_80FA8EC
+ bl InitRegionMap
movs r0, 0x88
lsls r0, 4
adds r4, r0
@@ -115,7 +115,7 @@ _08110746:
_08110752:
movs r0, 0x1
movs r1, 0x1
- bl sub_80FBCF0
+ bl CreateRegionMapPlayerIcon
movs r1, 0x8
negs r1, r1
movs r0, 0
@@ -1700,7 +1700,7 @@ _08111344:
lsls r0, 24
cmp r0, 0
bne _08111358
- bl sub_80FAB10
+ bl FreeRegionMapIconResources
ldr r0, [r4, 0x4]
bl SetMainCallback2
_08111358:
@@ -1740,7 +1740,7 @@ _08111390:
lsls r0, 24
cmp r0, 0
bne _081113A4
- bl sub_80FAB10
+ bl FreeRegionMapIconResources
ldr r0, [r4, 0x8]
bl SetMainCallback2
_081113A4:
@@ -1859,7 +1859,7 @@ _08111496:
ldr r4, _081114B4 @ =0x020006e8
adds r0, r4, 0
movs r1, 0
- bl sub_80FA8EC
+ bl InitRegionMap
movs r0, 0x88
lsls r0, 4
adds r4, r0
@@ -1882,7 +1882,7 @@ _081114BE:
_081114CA:
movs r0, 0x1
movs r1, 0x1
- bl sub_80FBCF0
+ bl CreateRegionMapPlayerIcon
movs r1, 0x8
negs r1, r1
movs r0, 0
diff --git a/asm/pokemon_menu.s b/asm/pokemon_menu.s
index 3a1552f70..fe1b41724 100644
--- a/asm/pokemon_menu.s
+++ b/asm/pokemon_menu.s
@@ -2093,7 +2093,7 @@ _0808AB6C: .4byte gPaletteFade
_0808AB70: .4byte gTasks
_0808AB74: .4byte c2_exit_to_overworld_2_switch
_0808AB78:
- ldr r0, _0808AB8C @ =sub_80FC074
+ ldr r0, _0808AB8C @ =CB2_InitFlyRegionMap
bl SetMainCallback2
_0808AB7E:
adds r0, r4, 0
@@ -2103,7 +2103,7 @@ _0808AB84:
pop {r0}
bx r0
.align 2, 0
-_0808AB8C: .4byte sub_80FC074
+_0808AB8C: .4byte CB2_InitFlyRegionMap
thumb_func_end sub_808AB34
thumb_func_start sub_808AB90
diff --git a/asm/pokenav.s b/asm/pokenav.s
index 757a2a5a2..cb6a40450 100644
--- a/asm/pokenav.s
+++ b/asm/pokenav.s
@@ -340,7 +340,7 @@ sub_80EBD30: @ 80EBD30
bl LoadOam
bl ProcessSpriteCopyRequests
bl TransferPlttBuffer
- bl sub_80FB260
+ bl UpdateRegionMapVideoRegs
bl sub_80EFE7C
pop {r0}
bx r0
@@ -10523,7 +10523,7 @@ sub_80F0FFC: @ 80F0FFC
ldrh r1, [r0]
adds r0, r5, 0
movs r2, 0
- bl sub_80FBFB4
+ bl GetMapSectionName
ldr r0, _080F1054 @ =gWindowConfig_81E710C
bl BasicInitMenuWindow
adds r0, r5, 0
@@ -14321,10 +14321,10 @@ sub_80F2DD8: @ 80F2DD8
push {lr}
movs r0, 0x7
movs r1, 0x7
- bl sub_80FBB3C
+ bl CreateRegionMapCursor
movs r0, 0x8
movs r1, 0x8
- bl sub_80FBCF0
+ bl CreateRegionMapPlayerIcon
bl sub_80FBF94
pop {r0}
bx r0
@@ -14333,7 +14333,7 @@ sub_80F2DD8: @ 80F2DD8
thumb_func_start sub_80F2DF4
sub_80F2DF4: @ 80F2DF4
push {lr}
- bl sub_80FAB10
+ bl FreeRegionMapIconResources
pop {r0}
bx r0
thumb_func_end sub_80F2DF4
diff --git a/asm/record_mixing.s b/asm/record_mixing.s
deleted file mode 100644
index ce0121a40..000000000
--- a/asm/record_mixing.s
+++ /dev/null
@@ -1,543 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80B9C6C
-sub_80B9C6C: @ 80B9C6C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x58
- str r0, [sp, 0x2C]
- str r1, [sp, 0x30]
- str r3, [sp, 0x38]
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x34]
- bl Random
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x40]
- ldr r0, _080B9DA8 @ =gLinkPlayers
- ldrh r0, [r0, 0x4]
- bl SeedRng
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r3, 0
- add r0, sp, 0x1C
- mov r9, r0
- movs r1, 0x1D
- add r1, sp
- mov r10, r1
- mov r2, sp
- adds r2, 0xC
- str r2, [sp, 0x4C]
- movs r7, 0xFF
- add r4, sp, 0x8
- movs r2, 0
- mov r6, r9
- mov r5, r10
-_080B9CBC:
- mov r1, sp
- adds r1, r3
- adds r1, 0x4
- ldrb r0, [r1]
- orrs r0, r7
- strb r0, [r1]
- adds r0, r4, r3
- strb r2, [r0]
- lsls r1, r3, 1
- adds r0, r6, r1
- strb r2, [r0]
- adds r1, r5, r1
- strb r2, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3
- bls _080B9CBC
- movs r4, 0
- str r4, [sp, 0x3C]
- movs r3, 0
- mov r1, r8
- lsls r0, r1, 16
- lsrs r1, r0, 16
- str r0, [sp, 0x50]
- ldr r4, [sp, 0x30]
- ldr r0, [sp, 0x34]
- adds r2, r4, 0
- muls r2, r0
- str r2, [sp, 0x48]
- ldr r2, [sp, 0x3C]
- cmp r2, r1
- bcs _080B9D46
- mov r8, r1
-_080B9D00:
- ldr r4, [sp, 0x30]
- adds r0, r4, 0
- muls r0, r3
- ldr r1, [sp, 0x2C]
- adds r6, r1, r0
- ldr r0, [r6, 0x70]
- cmp r0, 0
- beq _080B9D3C
- movs r7, 0
- cmp r7, r0
- bcs _080B9D3C
- adds r4, r6, 0
- adds r4, 0x74
- mov r2, r9
- lsls r1, r3, 1
- movs r5, 0x1
-_080B9D20:
- lsls r0, r7, 1
- adds r0, r4, r0
- ldrh r0, [r0]
- cmp r0, 0
- bne _080B9D30
- adds r0, r7, r1
- adds r0, r2, r0
- strb r5, [r0]
-_080B9D30:
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- ldr r0, [r6, 0x70]
- cmp r7, r0
- bcc _080B9D20
-_080B9D3C:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, r8
- bcc _080B9D00
-_080B9D46:
- movs r7, 0
- movs r3, 0
- ldr r2, [sp, 0x50]
- cmp r2, 0
- beq _080B9E3E
- mov r4, sp
- adds r4, 0x24
- str r4, [sp, 0x44]
- movs r0, 0x25
- add r0, sp
- mov r8, r0
-_080B9D5C:
- ldr r1, [sp, 0x30]
- adds r0, r1, 0
- muls r0, r3
- ldr r2, [sp, 0x2C]
- adds r6, r2, r0
- lsls r1, r3, 1
- mov r4, r9
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080B9D7C
- mov r2, r10
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080B9D86
-_080B9D7C:
- ldr r0, [sp, 0x3C]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x3C]
-_080B9D86:
- mov r4, r9
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080B9DAC
- mov r2, r10
- adds r0, r2, r1
- ldrb r2, [r0]
- cmp r2, 0
- bne _080B9DAC
-_080B9D9A:
- lsls r1, r7, 1
- ldr r4, [sp, 0x44]
- adds r0, r4, r1
- strb r3, [r0]
- add r1, r8
- strb r2, [r1]
- b _080B9E2C
- .align 2, 0
-_080B9DA8: .4byte gLinkPlayers
-_080B9DAC:
- mov r2, r9
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080B9DC0
- mov r4, r10
- adds r0, r4, r1
- ldrb r2, [r0]
- cmp r2, 0x1
- beq _080B9D9A
-_080B9DC0:
- mov r2, r9
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080B9E32
- mov r4, r10
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080B9E32
- lsls r5, r7, 1
- ldr r1, [sp, 0x44]
- adds r0, r1, r5
- strb r3, [r0]
- adds r0, r6, 0
- str r3, [sp, 0x54]
- bl sub_80B9BBC
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- adds r0, 0x38
- bl sub_80B9BBC
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r3, [sp, 0x54]
- cmp r4, 0
- bne _080B9E0A
- cmp r1, 0
- beq _080B9E0E
- mov r2, r8
- adds r1, r2, r5
- movs r0, 0x1
- strb r0, [r1]
- b _080B9E2C
-_080B9E0A:
- cmp r1, 0
- beq _080B9E26
-_080B9E0E:
- str r3, [sp, 0x54]
- bl Random
- mov r4, r8
- adds r2, r4, r5
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ands r0, r1
- strb r0, [r2]
- ldr r3, [sp, 0x54]
- b _080B9E2C
-_080B9E26:
- mov r2, r8
- adds r0, r2, r5
- strb r1, [r0]
-_080B9E2C:
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
-_080B9E32:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- ldr r4, [sp, 0x50]
- cmp r0, r4
- bcc _080B9D5C
-_080B9E3E:
- movs r3, 0
- ldr r1, [sp, 0x48]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 3
- ldr r2, [sp, 0x2C]
- adds r6, r2, r0
- ldr r1, [sp, 0x4C]
-_080B9E4E:
- lsls r0, r3, 2
- adds r0, r1, r0
- str r6, [r0]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3
- bls _080B9E4E
- ldr r0, [sp, 0x38]
- bl sub_80B9C4C
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r4, [sp, 0x3C]
- cmp r4, 0x3
- beq _080B9E9C
- cmp r4, 0x3
- bgt _080B9E82
- cmp r4, 0x2
- beq _080B9E8A
- b _080B9EF0
-_080B9E82:
- ldr r0, [sp, 0x3C]
- cmp r0, 0x4
- beq _080B9EBC
- b _080B9EF0
-_080B9E8A:
- add r2, sp, 0x24
- movs r0, 0x1
- str r0, [sp]
- ldr r0, [sp, 0x2C]
- ldr r1, [sp, 0x30]
- movs r3, 0
- bl sub_80B9BC4
- b _080B9EF0
-_080B9E9C:
- ldr r0, _080B9EB8 @ =gUnknown_083D02B4
- lsls r1, 1
- adds r2, r1, r0
- ldrb r3, [r2]
- adds r0, 0x1
- adds r1, r0
- ldrb r0, [r1]
- add r2, sp, 0x24
- str r0, [sp]
- ldr r0, [sp, 0x2C]
- ldr r1, [sp, 0x30]
- bl sub_80B9BC4
- b _080B9EF0
- .align 2, 0
-_080B9EB8: .4byte gUnknown_083D02B4
-_080B9EBC:
- add r6, sp, 0x24
- ldr r4, _080B9F2C @ =gUnknown_083D02BA
- lsls r5, r1, 2
- adds r0, r5, r4
- ldrb r3, [r0]
- adds r0, r4, 0x1
- adds r0, r5, r0
- ldrb r0, [r0]
- str r0, [sp]
- ldr r0, [sp, 0x2C]
- ldr r1, [sp, 0x30]
- adds r2, r6, 0
- bl sub_80B9BC4
- adds r0, r4, 0x2
- adds r0, r5, r0
- ldrb r3, [r0]
- adds r4, 0x3
- adds r5, r4
- ldrb r0, [r5]
- str r0, [sp]
- ldr r0, [sp, 0x2C]
- ldr r1, [sp, 0x30]
- adds r2, r6, 0
- bl sub_80B9BC4
-_080B9EF0:
- ldr r1, [sp, 0x2C]
- ldr r2, [sp, 0x48]
- adds r6, r1, r2
- ldr r4, _080B9F30 @ =gSaveBlock1
- ldr r1, _080B9F34 @ =0x0000303c
- adds r0, r4, r1
- adds r1, r6, 0
- movs r2, 0x38
- bl memcpy
- ldr r2, _080B9F38 @ =0x00003074
- adds r4, r2
- adds r1, r6, 0
- adds r1, 0x38
- adds r0, r4, 0
- movs r2, 0x38
- bl memcpy
- ldr r0, [sp, 0x40]
- bl SeedRng
- add sp, 0x58
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B9F2C: .4byte gUnknown_083D02BA
-_080B9F30: .4byte gSaveBlock1
-_080B9F34: .4byte 0x0000303c
-_080B9F38: .4byte 0x00003074
- thumb_func_end sub_80B9C6C
-
- thumb_func_start sub_80B9F3C
-sub_80B9F3C: @ 80B9F3C
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 24
- cmp r1, 0
- beq _080BA000
- ldrh r0, [r4]
- cmp r0, 0
- beq _080BA000
- bl GetPocketByItemId
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bne _080B9FC8
- ldrh r0, [r4]
- movs r1, 0x1
- bl CheckBagHasItem
- lsls r0, 24
- cmp r0, 0
- bne _080B9FB8
- ldrh r0, [r4]
- movs r1, 0x1
- bl CheckPCHasItem
- lsls r0, 24
- cmp r0, 0
- bne _080B9FB8
- ldrh r0, [r4]
- movs r1, 0x1
- bl AddBagItem
- lsls r0, 24
- cmp r0, 0
- beq _080B9FB8
- ldr r0, _080B9FA4 @ =0x00004001
- ldrh r1, [r4]
- bl VarSet
- ldr r0, _080B9FA8 @ =gStringVar1
- ldr r1, _080B9FAC @ =gLinkPlayers + 0x8
- bl StringCopy
- ldrh r1, [r4]
- ldr r0, _080B9FB0 @ =0x00000113
- cmp r1, r0
- bne _080BA000
- ldr r0, _080B9FB4 @ =0x00000853
- bl FlagSet
- b _080BA000
- .align 2, 0
-_080B9FA4: .4byte 0x00004001
-_080B9FA8: .4byte gStringVar1
-_080B9FAC: .4byte gLinkPlayers + 0x8
-_080B9FB0: .4byte 0x00000113
-_080B9FB4: .4byte 0x00000853
-_080B9FB8:
- ldr r0, _080B9FC4 @ =0x00004001
- movs r1, 0
- bl VarSet
- b _080BA000
- .align 2, 0
-_080B9FC4: .4byte 0x00004001
-_080B9FC8:
- ldrh r0, [r4]
- movs r1, 0x1
- bl AddBagItem
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B9FF8
- ldr r0, _080B9FEC @ =0x00004001
- ldrh r1, [r4]
- bl VarSet
- ldr r0, _080B9FF0 @ =gStringVar1
- ldr r1, _080B9FF4 @ =gLinkPlayers + 0x8
- bl StringCopy
- b _080BA000
- .align 2, 0
-_080B9FEC: .4byte 0x00004001
-_080B9FF0: .4byte gStringVar1
-_080B9FF4: .4byte gLinkPlayers + 0x8
-_080B9FF8:
- ldr r0, _080BA008 @ =0x00004001
- movs r1, 0
- bl VarSet
-_080BA000:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BA008: .4byte 0x00004001
- thumb_func_end sub_80B9F3C
-
- thumb_func_start sub_80BA00C
-sub_80BA00C: @ 80BA00C
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080BA030 @ =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x5
- bhi _080BA09C
- lsls r0, 2
- ldr r1, _080BA034 @ =_080BA038
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080BA030: .4byte gTasks
-_080BA034: .4byte _080BA038
- .align 2, 0
-_080BA038:
- .4byte _080BA086
- .4byte _080BA086
- .4byte _080BA050
- .4byte _080BA05A
- .4byte _080BA074
- .4byte _080BA08E
-_080BA050:
- bl SetSecretBase2Field_9_AndHideBG
- bl sub_8125E2C
- b _080BA086
-_080BA05A:
- bl sub_8125E6C
- lsls r0, 24
- cmp r0, 0
- beq _080BA09C
- bl ClearSecretBase2Field_9_2
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r4, 0x8]
- strh r1, [r4, 0xA]
- b _080BA09C
-_080BA074:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- ble _080BA09C
- bl sub_800832C
-_080BA086:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080BA09C
-_080BA08E:
- ldr r0, _080BA0A4 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _080BA09C
- adds r0, r2, 0
- bl DestroyTask
-_080BA09C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BA0A4: .4byte gReceivedRemoteLinkPlayers
- thumb_func_end sub_80BA00C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/region_map.s b/asm/region_map.s
deleted file mode 100644
index 44d6a4e91..000000000
--- a/asm/region_map.s
+++ /dev/null
@@ -1,3969 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80FA8EC
-sub_80FA8EC: @ 80FA8EC
- push {lr}
- lsls r1, 24
- lsrs r1, 24
- bl sub_80FA904
-_080FA8F6:
- bl sub_80FA940
- lsls r0, 24
- cmp r0, 0
- bne _080FA8F6
- pop {r0}
- bx r0
- thumb_func_end sub_80FA8EC
-
- thumb_func_start sub_80FA904
-sub_80FA904: @ 80FA904
- push {r4,lr}
- lsls r1, 24
- lsrs r1, 24
- ldr r3, _080FA928 @ =gUnknown_020388CC
- str r0, [r3]
- movs r2, 0x79
- adds r2, r0
- mov r12, r2
- movs r2, 0
- mov r4, r12
- strb r2, [r4]
- adds r0, 0x78
- strb r1, [r0]
- ldr r3, [r3]
- cmp r1, 0
- bne _080FA930
- ldr r0, _080FA92C @ =sub_80FAB78
- b _080FA932
- .align 2, 0
-_080FA928: .4byte gUnknown_020388CC
-_080FA92C: .4byte sub_80FAB78
-_080FA930:
- ldr r0, _080FA93C @ =sub_80FAD04
-_080FA932:
- str r0, [r3, 0x18]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FA93C: .4byte sub_80FAD04
- thumb_func_end sub_80FA904
-
- thumb_func_start sub_80FA940
-sub_80FA940: @ 80FA940
- push {r4,r5,lr}
- sub sp, 0xC
- ldr r0, _080FA95C @ =gUnknown_020388CC
- ldr r0, [r0]
- adds r0, 0x79
- ldrb r0, [r0]
- cmp r0, 0x7
- bls _080FA952
- b _080FAAE2
-_080FA952:
- lsls r0, 2
- ldr r1, _080FA960 @ =_080FA964
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080FA95C: .4byte gUnknown_020388CC
-_080FA960: .4byte _080FA964
- .align 2, 0
-_080FA964:
- .4byte _080FA984
- .4byte _080FA998
- .4byte _080FA9AC
- .4byte _080FA9BC
- .4byte _080FA9D8
- .4byte _080FA9F4
- .4byte _080FAA38
- .4byte _080FAAB4
-_080FA984:
- ldr r0, _080FA990 @ =gUnknown_083E5DA0
- ldr r1, _080FA994 @ =0x06008000
- bl LZ77UnCompVram
- b _080FAAF4
- .align 2, 0
-_080FA990: .4byte gUnknown_083E5DA0
-_080FA994: .4byte 0x06008000
-_080FA998:
- ldr r0, _080FA9A4 @ =gUnknown_083E6B04
- ldr r1, _080FA9A8 @ =0x0600e000
- bl LZ77UnCompVram
- b _080FAAF4
- .align 2, 0
-_080FA9A4: .4byte gUnknown_083E6B04
-_080FA9A8: .4byte 0x0600e000
-_080FA9AC:
- ldr r0, _080FA9B8 @ =gUnknown_083E5D60
- movs r1, 0x70
- movs r2, 0x60
- bl LoadPalette
- b _080FAAF4
- .align 2, 0
-_080FA9B8: .4byte gUnknown_083E5D60
-_080FA9BC:
- ldr r0, _080FA9D0 @ =gUnknown_083E5AF0
- ldr r1, _080FA9D4 @ =gUnknown_020388CC
- ldr r1, [r1]
- movs r2, 0xC0
- lsls r2, 1
- adds r1, r2
- bl LZ77UnCompWram
- b _080FAAF4
- .align 2, 0
-_080FA9D0: .4byte gUnknown_083E5AF0
-_080FA9D4: .4byte gUnknown_020388CC
-_080FA9D8:
- ldr r0, _080FA9EC @ =gUnknown_083E5B34
- ldr r1, _080FA9F0 @ =gUnknown_020388CC
- ldr r1, [r1]
- movs r3, 0xA0
- lsls r3, 2
- adds r1, r3
- bl LZ77UnCompWram
- b _080FAAF4
- .align 2, 0
-_080FA9EC: .4byte gUnknown_083E5B34
-_080FA9F0: .4byte gUnknown_020388CC
-_080FA9F4:
- bl sub_80FB32C
- ldr r4, _080FAA34 @ =gUnknown_020388CC
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x54
- ldrh r1, [r0]
- adds r0, 0x20
- strh r1, [r0]
- subs r0, 0x1E
- ldrh r0, [r0]
- adds r1, r2, 0
- adds r1, 0x76
- strh r0, [r1]
- ldrh r0, [r2, 0x14]
- bl sub_80FB758
- ldr r1, [r4]
- strb r0, [r1, 0x16]
- ldr r0, [r4]
- ldrh r0, [r0, 0x14]
- bl sub_80FB9C0
- adds r1, r0, 0
- ldr r0, [r4]
- strh r1, [r0, 0x14]
- ldrh r1, [r0, 0x14]
- movs r2, 0x10
- bl sub_80FBFB4
- b _080FAAF4
- .align 2, 0
-_080FAA34: .4byte gUnknown_020388CC
-_080FAA38:
- ldr r0, _080FAA60 @ =gUnknown_020388CC
- ldr r4, [r0]
- adds r0, r4, 0
- adds r0, 0x78
- ldrb r1, [r0]
- cmp r1, 0
- bne _080FAA64
- movs r0, 0x80
- lsls r0, 1
- str r0, [sp]
- str r0, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80FB170
- b _080FAAF4
- .align 2, 0
-_080FAA60: .4byte gUnknown_020388CC
-_080FAA64:
- adds r1, r4, 0
- adds r1, 0x54
- ldrh r0, [r1]
- lsls r0, 3
- subs r0, 0x34
- adds r2, r4, 0
- adds r2, 0x5C
- movs r3, 0
- strh r0, [r2]
- movs r5, 0x56
- adds r5, r4
- mov r12, r5
- ldrh r0, [r5]
- lsls r0, 3
- subs r0, 0x44
- adds r5, r4, 0
- adds r5, 0x5E
- strh r0, [r5]
- ldrh r1, [r1]
- adds r0, r4, 0
- adds r0, 0x64
- strh r1, [r0]
- mov r0, r12
- ldrh r1, [r0]
- adds r0, r4, 0
- adds r0, 0x66
- strh r1, [r0]
- movs r1, 0
- ldrsh r0, [r2, r1]
- movs r2, 0
- ldrsh r1, [r5, r2]
- movs r2, 0x80
- str r2, [sp]
- str r2, [sp, 0x4]
- str r3, [sp, 0x8]
- movs r2, 0x38
- movs r3, 0x48
- bl sub_80FB170
- b _080FAAF4
-_080FAAB4:
- bl sub_80FBA18
- bl sub_80FB260
- ldr r2, _080FAAE8 @ =gUnknown_020388CC
- ldr r0, [r2]
- movs r1, 0
- str r1, [r0, 0x1C]
- str r1, [r0, 0x20]
- adds r0, 0x7A
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0x7E
- strb r1, [r0]
- ldr r1, _080FAAEC @ =REG_BG2CNT
- ldr r3, _080FAAF0 @ =0x0000bc8a
- adds r0, r3, 0
- strh r0, [r1]
- ldr r1, [r2]
- adds r1, 0x79
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080FAAE2:
- movs r0, 0
- b _080FAB02
- .align 2, 0
-_080FAAE8: .4byte gUnknown_020388CC
-_080FAAEC: .4byte REG_BG2CNT
-_080FAAF0: .4byte 0x0000bc8a
-_080FAAF4:
- ldr r0, _080FAB0C @ =gUnknown_020388CC
- ldr r1, [r0]
- adds r1, 0x79
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0x1
-_080FAB02:
- add sp, 0xC
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080FAB0C: .4byte gUnknown_020388CC
- thumb_func_end sub_80FA940
-
- thumb_func_start sub_80FAB10
-sub_80FAB10: @ 80FAB10
- push {r4,lr}
- ldr r4, _080FAB5C @ =gUnknown_020388CC
- ldr r0, [r4]
- ldr r0, [r0, 0x1C]
- cmp r0, 0
- beq _080FAB34
- bl DestroySprite
- ldr r0, [r4]
- adds r0, 0x58
- ldrh r0, [r0]
- bl FreeSpriteTilesByTag
- ldr r0, [r4]
- adds r0, 0x5A
- ldrh r0, [r0]
- bl FreeSpritePaletteByTag
-_080FAB34:
- ldr r0, [r4]
- ldr r0, [r0, 0x20]
- cmp r0, 0
- beq _080FAB54
- bl DestroySprite
- ldr r0, [r4]
- adds r0, 0x70
- ldrh r0, [r0]
- bl FreeSpriteTilesByTag
- ldr r0, [r4]
- adds r0, 0x72
- ldrh r0, [r0]
- bl FreeSpritePaletteByTag
-_080FAB54:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FAB5C: .4byte gUnknown_020388CC
- thumb_func_end sub_80FAB10
-
- thumb_func_start sub_80FAB60
-sub_80FAB60: @ 80FAB60
- push {lr}
- ldr r0, _080FAB74 @ =gUnknown_020388CC
- ldr r0, [r0]
- ldr r0, [r0, 0x18]
- bl _call_via_r0
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_080FAB74: .4byte gUnknown_020388CC
- thumb_func_end sub_80FAB60
-
- thumb_func_start sub_80FAB78
-sub_80FAB78: @ 80FAB78
- push {r4,lr}
- movs r4, 0
- ldr r2, _080FAC14 @ =gUnknown_020388CC
- ldr r0, [r2]
- adds r0, 0x7B
- strb r4, [r0]
- ldr r0, [r2]
- adds r0, 0x7C
- strb r4, [r0]
- ldr r3, _080FAC18 @ =gMain
- ldrh r1, [r3, 0x2C]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080FABAA
- ldr r1, [r2]
- adds r0, r1, 0
- adds r0, 0x56
- ldrh r0, [r0]
- cmp r0, 0x2
- bls _080FABAA
- adds r1, 0x7C
- movs r0, 0xFF
- strb r0, [r1]
- movs r4, 0x1
-_080FABAA:
- ldrh r1, [r3, 0x2C]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080FABC8
- ldr r1, [r2]
- adds r0, r1, 0
- adds r0, 0x56
- ldrh r0, [r0]
- cmp r0, 0xF
- bhi _080FABC8
- adds r1, 0x7C
- movs r0, 0x1
- strb r0, [r1]
- movs r4, 0x1
-_080FABC8:
- ldrh r1, [r3, 0x2C]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080FABE6
- ldr r1, [r2]
- adds r0, r1, 0
- adds r0, 0x54
- ldrh r0, [r0]
- cmp r0, 0x1
- bls _080FABE6
- adds r1, 0x7B
- movs r0, 0xFF
- strb r0, [r1]
- movs r4, 0x1
-_080FABE6:
- ldrh r1, [r3, 0x2C]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080FAC04
- ldr r1, [r2]
- adds r0, r1, 0
- adds r0, 0x54
- ldrh r0, [r0]
- cmp r0, 0x1B
- bhi _080FAC04
- adds r1, 0x7B
- movs r0, 0x1
- strb r0, [r1]
- movs r4, 0x1
-_080FAC04:
- ldrh r3, [r3, 0x2E]
- movs r0, 0x1
- ands r0, r3
- cmp r0, 0
- beq _080FAC1C
- movs r4, 0x4
- b _080FAC26
- .align 2, 0
-_080FAC14: .4byte gUnknown_020388CC
-_080FAC18: .4byte gMain
-_080FAC1C:
- movs r0, 0x2
- ands r0, r3
- cmp r0, 0
- beq _080FAC26
- movs r4, 0x5
-_080FAC26:
- cmp r4, 0x1
- bne _080FAC38
- ldr r0, [r2]
- adds r0, 0x7A
- movs r1, 0x4
- strb r1, [r0]
- ldr r1, [r2]
- ldr r0, _080FAC40 @ =_swiopen
- str r0, [r1, 0x18]
-_080FAC38:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080FAC40: .4byte _swiopen
- thumb_func_end sub_80FAB78
-
- thumb_func_start _swiopen
-_swiopen: @ 80FAC44
- push {r4,r5,lr}
- ldr r5, _080FAC5C @ =gUnknown_020388CC
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x7A
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _080FAC60
- movs r0, 0x2
- b _080FACFA
- .align 2, 0
-_080FAC5C: .4byte gUnknown_020388CC
-_080FAC60:
- adds r0, r1, 0
- adds r0, 0x7B
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- ble _080FAC76
- adds r1, 0x54
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080FAC76:
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x7B
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bge _080FAC8E
- adds r1, 0x54
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
-_080FAC8E:
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x7C
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- ble _080FACA6
- adds r1, 0x56
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080FACA6:
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x7C
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bge _080FACBE
- adds r1, 0x56
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
-_080FACBE:
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x54
- ldrh r0, [r0]
- adds r1, 0x56
- ldrh r1, [r1]
- bl GetRegionMapSectionAt
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- bl sub_80FB758
- ldr r1, [r5]
- strb r0, [r1, 0x16]
- ldr r0, [r5]
- ldrh r1, [r0, 0x14]
- cmp r4, r1
- beq _080FACEE
- strh r4, [r0, 0x14]
- ldrh r1, [r0, 0x14]
- movs r2, 0x10
- bl sub_80FBFB4
-_080FACEE:
- bl sub_80FBA18
- ldr r1, [r5]
- ldr r0, _080FAD00 @ =sub_80FAB78
- str r0, [r1, 0x18]
- movs r0, 0x3
-_080FACFA:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080FAD00: .4byte sub_80FAB78
- thumb_func_end _swiopen
-
- thumb_func_start sub_80FAD04
-sub_80FAD04: @ 80FAD04
- push {r4-r6,lr}
- movs r4, 0
- ldr r3, _080FADD4 @ =gUnknown_020388CC
- ldr r0, [r3]
- mov r12, r0
- adds r0, 0x6A
- strh r4, [r0]
- mov r5, r12
- adds r5, 0x68
- strh r4, [r5]
- ldr r2, _080FADD8 @ =gMain
- ldrh r1, [r2, 0x2C]
- movs r0, 0x40
- ands r0, r1
- adds r6, r3, 0
- adds r3, r2, 0
- cmp r0, 0
- beq _080FAD3E
- mov r0, r12
- adds r0, 0x5E
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0x34
- negs r0, r0
- cmp r1, r0
- ble _080FAD3E
- ldr r0, _080FADDC @ =0x0000ffff
- strh r0, [r5]
- movs r4, 0x1
-_080FAD3E:
- ldrh r1, [r3, 0x2C]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080FAD5E
- ldr r1, [r6]
- adds r0, r1, 0
- adds r0, 0x5E
- movs r5, 0
- ldrsh r0, [r0, r5]
- cmp r0, 0x3B
- bgt _080FAD5E
- adds r1, 0x68
- movs r0, 0x1
- strh r0, [r1]
- movs r4, 0x1
-_080FAD5E:
- ldrh r1, [r3, 0x2C]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080FAD84
- ldr r2, [r6]
- adds r0, r2, 0
- adds r0, 0x5C
- movs r5, 0
- ldrsh r1, [r0, r5]
- movs r0, 0x2C
- negs r0, r0
- cmp r1, r0
- ble _080FAD84
- adds r1, r2, 0
- adds r1, 0x6A
- ldr r0, _080FADDC @ =0x0000ffff
- strh r0, [r1]
- movs r4, 0x1
-_080FAD84:
- ldrh r1, [r3, 0x2C]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080FADA4
- ldr r1, [r6]
- adds r0, r1, 0
- adds r0, 0x5C
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0xAB
- bgt _080FADA4
- adds r1, 0x6A
- movs r0, 0x1
- strh r0, [r1]
- movs r4, 0x1
-_080FADA4:
- ldrh r2, [r3, 0x2E]
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _080FADB0
- movs r4, 0x4
-_080FADB0:
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- beq _080FADBA
- movs r4, 0x5
-_080FADBA:
- cmp r4, 0x1
- bne _080FADCA
- ldr r0, [r6]
- ldr r1, _080FADE0 @ =sub_80FADE4
- str r1, [r0, 0x18]
- adds r0, 0x6C
- movs r1, 0
- strh r1, [r0]
-_080FADCA:
- adds r0, r4, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080FADD4: .4byte gUnknown_020388CC
-_080FADD8: .4byte gMain
-_080FADDC: .4byte 0x0000ffff
-_080FADE0: .4byte sub_80FADE4
- thumb_func_end sub_80FAD04
-
- thumb_func_start sub_80FADE4
-sub_80FADE4: @ 80FADE4
- push {r4,r5,lr}
- ldr r5, _080FAEB4 @ =gUnknown_020388CC
- ldr r2, [r5]
- adds r3, r2, 0
- adds r3, 0x5E
- adds r0, r2, 0
- adds r0, 0x68
- ldrh r0, [r0]
- ldrh r1, [r3]
- adds r0, r1
- strh r0, [r3]
- adds r1, r2, 0
- adds r1, 0x5C
- adds r0, r2, 0
- adds r0, 0x6A
- ldrh r0, [r0]
- ldrh r2, [r1]
- adds r0, r2
- strh r0, [r1]
- movs r4, 0
- ldrsh r0, [r1, r4]
- movs r2, 0
- ldrsh r1, [r3, r2]
- bl sub_80FB238
- ldr r2, [r5]
- adds r1, r2, 0
- adds r1, 0x6C
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x8
- bne _080FAEBC
- adds r0, r2, 0
- adds r0, 0x5C
- movs r3, 0
- ldrsh r1, [r0, r3]
- adds r0, r1, 0
- adds r0, 0x2C
- cmp r0, 0
- bge _080FAE3C
- adds r0, 0x7
-_080FAE3C:
- asrs r0, 3
- adds r0, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- adds r0, r2, 0
- adds r0, 0x5E
- movs r4, 0
- ldrsh r1, [r0, r4]
- adds r0, r1, 0
- adds r0, 0x34
- cmp r0, 0
- bge _080FAE56
- adds r0, 0x7
-_080FAE56:
- asrs r0, 3
- adds r0, 0x2
- lsls r0, 16
- lsrs r1, r0, 16
- adds r4, r2, 0
- adds r4, 0x64
- adds r0, r2, 0
- adds r0, 0x66
- ldrh r2, [r4]
- cmp r3, r2
- bne _080FAE72
- ldrh r2, [r0]
- cmp r1, r2
- beq _080FAEA0
-_080FAE72:
- strh r3, [r4]
- strh r1, [r0]
- adds r0, r3, 0
- bl GetRegionMapSectionAt
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- bl sub_80FB758
- ldr r1, [r5]
- strb r0, [r1, 0x16]
- ldr r0, [r5]
- ldrh r3, [r0, 0x14]
- cmp r4, r3
- beq _080FAE9C
- strh r4, [r0, 0x14]
- ldrh r1, [r0, 0x14]
- movs r2, 0x10
- bl sub_80FBFB4
-_080FAE9C:
- bl sub_80FBA18
-_080FAEA0:
- ldr r0, _080FAEB4 @ =gUnknown_020388CC
- ldr r2, [r0]
- adds r1, r2, 0
- adds r1, 0x6C
- movs r0, 0
- strh r0, [r1]
- ldr r0, _080FAEB8 @ =sub_80FAD04
- str r0, [r2, 0x18]
- movs r0, 0x3
- b _080FAEBE
- .align 2, 0
-_080FAEB4: .4byte gUnknown_020388CC
-_080FAEB8: .4byte sub_80FAD04
-_080FAEBC:
- movs r0, 0x2
-_080FAEBE:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80FADE4
-
- thumb_func_start sub_80FAEC4
-sub_80FAEC4: @ 80FAEC4
- push {r4-r6,lr}
- ldr r1, _080FAF40 @ =gUnknown_020388CC
- ldr r2, [r1]
- adds r0, r2, 0
- adds r0, 0x78
- ldrb r3, [r0]
- adds r5, r1, 0
- cmp r3, 0
- bne _080FAF48
- subs r0, 0x1A
- strh r3, [r0]
- subs r0, 0x2
- strh r3, [r0]
- str r3, [r2, 0x40]
- str r3, [r2, 0x3C]
- adds r4, r2, 0
- adds r4, 0x54
- ldrh r0, [r4]
- lsls r0, 3
- subs r0, 0x34
- adds r1, r2, 0
- adds r1, 0x60
- strh r0, [r1]
- movs r0, 0x56
- adds r0, r2
- mov r12, r0
- ldrh r0, [r0]
- lsls r0, 3
- subs r0, 0x44
- adds r3, r2, 0
- adds r3, 0x62
- strh r0, [r3]
- movs r6, 0
- ldrsh r0, [r1, r6]
- lsls r0, 8
- cmp r0, 0
- bge _080FAF10
- adds r0, 0xF
-_080FAF10:
- asrs r0, 4
- str r0, [r2, 0x44]
- movs r1, 0
- ldrsh r0, [r3, r1]
- lsls r0, 8
- cmp r0, 0
- bge _080FAF20
- adds r0, 0xF
-_080FAF20:
- asrs r0, 4
- str r0, [r2, 0x48]
- ldrh r1, [r4]
- adds r0, r2, 0
- adds r0, 0x64
- strh r1, [r0]
- mov r3, r12
- ldrh r0, [r3]
- adds r1, r2, 0
- adds r1, 0x66
- strh r0, [r1]
- movs r0, 0x80
- lsls r0, 9
- str r0, [r2, 0x4C]
- ldr r0, _080FAF44 @ =0xfffff800
- b _080FAFA6
- .align 2, 0
-_080FAF40: .4byte gUnknown_020388CC
-_080FAF44: .4byte 0xfffff800
-_080FAF48:
- adds r0, r2, 0
- adds r0, 0x5C
- movs r6, 0
- ldrsh r0, [r0, r6]
- lsls r0, 8
- str r0, [r2, 0x3C]
- adds r0, r2, 0
- adds r0, 0x5E
- movs r1, 0
- ldrsh r0, [r0, r1]
- lsls r0, 8
- str r0, [r2, 0x40]
- adds r0, r2, 0
- adds r0, 0x60
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- ldr r0, [r2, 0x3C]
- cmp r0, 0
- bge _080FAF74
- adds r0, 0xF
-_080FAF74:
- asrs r0, 4
- negs r0, r0
- str r0, [r2, 0x44]
- ldr r0, [r2, 0x40]
- cmp r0, 0
- bge _080FAF82
- adds r0, 0xF
-_080FAF82:
- asrs r0, 4
- negs r0, r0
- str r0, [r2, 0x48]
- adds r0, r2, 0
- adds r0, 0x64
- ldrh r1, [r0]
- subs r0, 0x10
- strh r1, [r0]
- adds r0, 0x12
- ldrh r0, [r0]
- adds r1, r2, 0
- adds r1, 0x56
- strh r0, [r1]
- movs r0, 0x80
- lsls r0, 8
- str r0, [r2, 0x4C]
- movs r0, 0x80
- lsls r0, 4
-_080FAFA6:
- str r0, [r2, 0x50]
- ldr r0, [r5]
- adds r0, 0x6E
- movs r1, 0
- strh r1, [r0]
- bl sub_80FBCA0
- bl sub_80FBDF8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80FAEC4
-
- thumb_func_start sub_80FAFC0
-sub_80FAFC0: @ 80FAFC0
- push {r4-r6,lr}
- sub sp, 0xC
- ldr r0, _080FAFD8 @ =gUnknown_020388CC
- ldr r3, [r0]
- adds r2, r3, 0
- adds r2, 0x6E
- ldrh r1, [r2]
- adds r5, r0, 0
- cmp r1, 0xF
- bls _080FAFDC
- movs r0, 0
- b _080FB164
- .align 2, 0
-_080FAFD8: .4byte gUnknown_020388CC
-_080FAFDC:
- adds r0, r1, 0x1
- movs r1, 0
- strh r0, [r2]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x10
- bne _080FB050
- str r1, [r3, 0x44]
- str r1, [r3, 0x48]
- adds r0, r3, 0
- adds r0, 0x60
- ldrh r1, [r0]
- subs r0, 0x4
- strh r1, [r0]
- adds r0, 0x6
- ldrh r0, [r0]
- adds r1, r3, 0
- adds r1, 0x5E
- strh r0, [r1]
- adds r1, 0x1A
- ldrb r0, [r1]
- movs r2, 0x80
- lsls r2, 9
- cmp r0, 0
- bne _080FB012
- movs r2, 0x80
- lsls r2, 8
-_080FB012:
- str r2, [r3, 0x4C]
- movs r2, 0
- ldrb r0, [r1]
- cmp r0, 0
- bne _080FB01E
- movs r2, 0x1
-_080FB01E:
- strb r2, [r1]
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x78
- ldrb r0, [r0]
- ldr r2, _080FB048 @ =sub_80FAD04
- cmp r0, 0
- bne _080FB030
- ldr r2, _080FB04C @ =sub_80FAB78
-_080FB030:
- str r2, [r1, 0x18]
- adds r0, r1, 0
- adds r0, 0x58
- ldrh r0, [r0]
- adds r1, 0x5A
- ldrh r1, [r1]
- bl sub_80FBB3C
- bl sub_80FBE24
- movs r4, 0
- b _080FB132
- .align 2, 0
-_080FB048: .4byte sub_80FAD04
-_080FB04C: .4byte sub_80FAB78
-_080FB050:
- ldr r2, [r3, 0x3C]
- ldr r0, [r3, 0x44]
- adds r2, r0
- str r2, [r3, 0x3C]
- ldr r0, [r3, 0x40]
- ldr r1, [r3, 0x48]
- adds r0, r1
- str r0, [r3, 0x40]
- asrs r2, 8
- adds r4, r3, 0
- adds r4, 0x5C
- strh r2, [r4]
- ldr r0, [r3, 0x40]
- asrs r0, 8
- adds r1, r3, 0
- adds r1, 0x5E
- strh r0, [r1]
- ldr r0, [r3, 0x4C]
- ldr r1, [r3, 0x50]
- adds r0, r1
- str r0, [r3, 0x4C]
- ldr r2, [r3, 0x44]
- cmp r2, 0
- bge _080FB090
- adds r0, r3, 0
- adds r0, 0x60
- movs r6, 0
- ldrsh r1, [r4, r6]
- movs r6, 0
- ldrsh r0, [r0, r6]
- cmp r1, r0
- blt _080FB0A4
-_080FB090:
- cmp r2, 0
- ble _080FB0B4
- adds r0, r3, 0
- adds r0, 0x60
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r6, 0
- ldrsh r0, [r0, r6]
- cmp r1, r0
- ble _080FB0B4
-_080FB0A4:
- ldr r3, [r5]
- adds r0, r3, 0
- adds r0, 0x60
- ldrh r2, [r0]
- subs r0, 0x4
- movs r1, 0
- strh r2, [r0]
- str r1, [r3, 0x44]
-_080FB0B4:
- ldr r2, [r5]
- ldr r4, [r2, 0x48]
- cmp r4, 0
- bge _080FB0D0
- adds r0, r2, 0
- adds r0, 0x5E
- adds r3, r2, 0
- adds r3, 0x62
- movs r6, 0
- ldrsh r1, [r0, r6]
- movs r6, 0
- ldrsh r0, [r3, r6]
- cmp r1, r0
- blt _080FB0E8
-_080FB0D0:
- cmp r4, 0
- ble _080FB0FA
- adds r1, r2, 0
- adds r1, 0x5E
- adds r0, r2, 0
- adds r0, 0x62
- movs r2, 0
- ldrsh r1, [r1, r2]
- movs r6, 0
- ldrsh r0, [r0, r6]
- cmp r1, r0
- ble _080FB0FA
-_080FB0E8:
- ldr r2, [r5]
- adds r0, r2, 0
- adds r0, 0x62
- ldrh r1, [r0]
- adds r3, r2, 0
- adds r3, 0x5E
- movs r0, 0
- strh r1, [r3]
- str r0, [r2, 0x48]
-_080FB0FA:
- ldr r0, _080FB118 @ =gUnknown_020388CC
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x78
- ldrb r3, [r0]
- cmp r3, 0
- bne _080FB120
- ldr r1, [r2, 0x4C]
- ldr r0, _080FB11C @ =0x00007fff
- cmp r1, r0
- bgt _080FB130
- adds r0, 0x1
- str r0, [r2, 0x4C]
- str r3, [r2, 0x50]
- b _080FB130
- .align 2, 0
-_080FB118: .4byte gUnknown_020388CC
-_080FB11C: .4byte 0x00007fff
-_080FB120:
- ldr r0, [r2, 0x4C]
- movs r1, 0x80
- lsls r1, 9
- cmp r0, r1
- ble _080FB130
- str r1, [r2, 0x4C]
- movs r0, 0
- str r0, [r2, 0x50]
-_080FB130:
- movs r4, 0x1
-_080FB132:
- ldr r0, _080FB16C @ =gUnknown_020388CC
- ldr r3, [r0]
- adds r0, r3, 0
- adds r0, 0x5C
- movs r1, 0
- ldrsh r0, [r0, r1]
- adds r1, r3, 0
- adds r1, 0x5E
- movs r2, 0
- ldrsh r1, [r1, r2]
- ldr r2, [r3, 0x4C]
- lsls r2, 8
- lsrs r2, 16
- str r2, [sp]
- ldr r2, [r3, 0x4C]
- lsls r2, 8
- lsrs r2, 16
- str r2, [sp, 0x4]
- movs r2, 0
- str r2, [sp, 0x8]
- movs r2, 0x38
- movs r3, 0x48
- bl sub_80FB170
- adds r0, r4, 0
-_080FB164:
- add sp, 0xC
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080FB16C: .4byte gUnknown_020388CC
- thumb_func_end sub_80FAFC0
-
- thumb_func_start sub_80FB170
-sub_80FB170: @ 80FB170
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- ldr r4, [sp, 0x24]
- ldr r7, [sp, 0x28]
- ldr r5, [sp, 0x2C]
- lsls r4, 16
- lsrs r4, 16
- mov r8, r4
- lsls r7, 16
- adds r4, r7, 0
- lsrs r4, 16
- mov r9, r4
- lsls r5, 24
- lsrs r5, 24
- ldr r4, _080FB230 @ =gUnknown_020388CC
- ldr r6, [r4]
- ldr r7, _080FB234 @ =gSineTable
- mov r12, r7
- adds r4, r5, 0
- adds r4, 0x40
- lsls r4, 1
- add r4, r12
- movs r7, 0
- ldrsh r4, [r4, r7]
- str r4, [sp]
- mov r7, r8
- muls r7, r4
- adds r4, r7, 0
- asrs r4, 8
- mov r10, r4
- str r4, [r6, 0x2C]
- lsls r5, 1
- add r5, r12
- movs r7, 0
- ldrsh r5, [r5, r7]
- negs r4, r5
- mov r7, r8
- muls r7, r4
- adds r4, r7, 0
- asrs r4, 8
- mov r12, r4
- str r4, [r6, 0x30]
- mov r7, r9
- muls r7, r5
- adds r5, r7, 0
- asrs r5, 8
- str r5, [r6, 0x34]
- ldr r7, [sp]
- mov r4, r9
- muls r4, r7
- asrs r4, 8
- mov r8, r4
- str r4, [r6, 0x38]
- lsls r0, 16
- asrs r0, 8
- lsls r2, 16
- asrs r2, 16
- lsls r4, r2, 8
- adds r0, r4
- lsls r3, 16
- asrs r3, 16
- adds r4, r3, 0
- muls r4, r5
- mov r5, r10
- muls r5, r2
- adds r4, r5
- subs r0, r4
- str r0, [r6, 0x24]
- lsls r1, 16
- asrs r1, 8
- lsls r0, r3, 8
- adds r1, r0
- mov r0, r8
- muls r0, r3
- mov r3, r12
- muls r3, r2
- adds r2, r3, 0
- adds r0, r2
- subs r1, r0
- str r1, [r6, 0x28]
- adds r6, 0x7D
- movs r0, 0x1
- strb r0, [r6]
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FB230: .4byte gUnknown_020388CC
-_080FB234: .4byte gSineTable
- thumb_func_end sub_80FB170
-
- thumb_func_start sub_80FB238
-sub_80FB238: @ 80FB238
- ldr r2, _080FB25C @ =gUnknown_020388CC
- ldr r2, [r2]
- lsls r0, 16
- asrs r0, 8
- movs r3, 0xE0
- lsls r3, 5
- adds r0, r3
- str r0, [r2, 0x24]
- lsls r1, 16
- asrs r1, 8
- movs r0, 0x90
- lsls r0, 6
- adds r1, r0
- str r1, [r2, 0x28]
- adds r2, 0x7D
- movs r0, 0x1
- strb r0, [r2]
- bx lr
- .align 2, 0
-_080FB25C: .4byte gUnknown_020388CC
- thumb_func_end sub_80FB238
-
- thumb_func_start sub_80FB260
-sub_80FB260: @ 80FB260
- push {lr}
- ldr r0, _080FB29C @ =gUnknown_020388CC
- ldr r2, [r0]
- adds r3, r2, 0
- adds r3, 0x7D
- ldrb r0, [r3]
- cmp r0, 0
- beq _080FB298
- ldr r1, _080FB2A0 @ =REG_BG2PA
- ldr r0, [r2, 0x2C]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, [r2, 0x34]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, [r2, 0x30]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, [r2, 0x38]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, [r2, 0x24]
- str r0, [r1]
- adds r1, 0x4
- ldr r0, [r2, 0x28]
- str r0, [r1]
- movs r0, 0
- strb r0, [r3]
-_080FB298:
- pop {r0}
- bx r0
- .align 2, 0
-_080FB29C: .4byte gUnknown_020388CC
-_080FB2A0: .4byte REG_BG2PA
- thumb_func_end sub_80FB260
-
- thumb_func_start sub_80FB2A4
-sub_80FB2A4: @ 80FB2A4
- push {r4,r5,lr}
- sub sp, 0xC
- lsls r0, 16
- asrs r4, r0, 16
- lsls r1, 16
- asrs r5, r1, 16
- movs r0, 0x80
- lsls r0, 1
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x38
- movs r3, 0x48
- bl sub_80FB170
- bl sub_80FB260
- ldr r0, _080FB2E8 @ =gUnknown_020388CC
- ldr r2, [r0]
- ldr r1, [r2, 0x20]
- cmp r1, 0
- beq _080FB2E0
- negs r0, r4
- strh r0, [r1, 0x24]
- ldr r1, [r2, 0x20]
- negs r0, r5
- strh r0, [r1, 0x26]
-_080FB2E0:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080FB2E8: .4byte gUnknown_020388CC
- thumb_func_end sub_80FB2A4
-
- thumb_func_start GetRegionMapSectionAt
-GetRegionMapSectionAt: @ 80FB2EC
- push {lr}
- lsls r0, 16
- lsrs r3, r0, 16
- lsls r1, 16
- ldr r0, _080FB30C @ =0xfffe0000
- adds r1, r0
- lsrs r2, r1, 16
- cmp r2, 0xE
- bhi _080FB306
- cmp r3, 0
- beq _080FB306
- cmp r3, 0x1C
- bls _080FB310
-_080FB306:
- movs r0, 0x58
- b _080FB324
- .align 2, 0
-_080FB30C: .4byte 0xfffe0000
-_080FB310:
- subs r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- ldr r1, _080FB328 @ =gRegionMapSections
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r3, r0
- adds r0, r1
- ldrb r0, [r0]
-_080FB324:
- pop {r1}
- bx r1
- .align 2, 0
-_080FB328: .4byte gRegionMapSections
- thumb_func_end GetRegionMapSectionAt
-
- thumb_func_start sub_80FB32C
-sub_80FB32C: @ 80FB32C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- ldr r0, _080FB358 @ =gSaveBlock1
- movs r1, 0x4
- ldrsb r1, [r0, r1]
- adds r2, r0, 0
- cmp r1, 0x19
- bne _080FB35C
- ldrb r0, [r2, 0x5]
- subs r0, 0x29
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bhi _080FB35C
- bl sub_80FB600
- b _080FB5E8
- .align 2, 0
-_080FB358: .4byte gSaveBlock1
-_080FB35C:
- movs r0, 0x4
- ldrsb r0, [r2, r0]
- movs r1, 0x5
- ldrsb r1, [r2, r1]
- bl get_map_light_level_by_bank_and_number
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- cmp r0, 0x8
- bhi _080FB3A4
- lsls r0, 2
- ldr r1, _080FB37C @ =_080FB380
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080FB37C: .4byte _080FB380
- .align 2, 0
-_080FB380:
- .4byte _080FB3A4
- .4byte _080FB3A4
- .4byte _080FB3A4
- .4byte _080FB3E0
- .4byte _080FB3A4
- .4byte _080FB3A4
- .4byte _080FB3E0
- .4byte _080FB464
- .4byte _080FB428
-_080FB3A4:
- ldr r4, _080FB3D4 @ =gUnknown_020388CC
- ldr r0, [r4]
- ldr r3, _080FB3D8 @ =gMapHeader
- ldrb r1, [r3, 0x14]
- movs r2, 0
- strh r1, [r0, 0x14]
- adds r0, 0x7F
- strb r2, [r0]
- ldr r0, [r3]
- ldrh r2, [r0]
- ldrh r0, [r0, 0x4]
- mov r8, r0
- ldr r0, _080FB3DC @ =gSaveBlock1
- ldrh r6, [r0]
- ldrh r3, [r0, 0x2]
- ldr r1, [r4]
- ldrh r0, [r1, 0x14]
- cmp r0, 0x45
- beq _080FB3CC
- b _080FB4CC
-_080FB3CC:
- adds r1, 0x7F
- movs r0, 0x1
- strb r0, [r1]
- b _080FB4CC
- .align 2, 0
-_080FB3D4: .4byte gUnknown_020388CC
-_080FB3D8: .4byte gMapHeader
-_080FB3DC: .4byte gSaveBlock1
-_080FB3E0:
- ldr r4, _080FB420 @ =gSaveBlock1
- adds r0, r4, 0
- adds r0, 0x24
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 16
- lsrs r0, 16
- adds r1, r4, 0
- adds r1, 0x25
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- lsls r1, 16
- lsrs r1, 16
- bl get_mapheader_by_bank_and_number
- adds r2, r0, 0
- ldr r0, _080FB424 @ =gUnknown_020388CC
- ldr r0, [r0]
- ldrb r1, [r2, 0x14]
- strh r1, [r0, 0x14]
- adds r0, 0x7F
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r2]
- ldrh r2, [r0]
- ldrh r0, [r0, 0x4]
- mov r8, r0
- ldrh r6, [r4, 0x28]
- ldrh r3, [r4, 0x2A]
- b _080FB4CC
- .align 2, 0
-_080FB420: .4byte gSaveBlock1
-_080FB424: .4byte gUnknown_020388CC
-_080FB428:
- ldr r4, _080FB45C @ =gSaveBlock1
- movs r0, 0x14
- ldrsb r0, [r4, r0]
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x15
- ldrsb r1, [r4, r1]
- lsls r1, 16
- lsrs r1, 16
- bl get_mapheader_by_bank_and_number
- adds r2, r0, 0
- ldr r0, _080FB460 @ =gUnknown_020388CC
- ldr r0, [r0]
- ldrb r1, [r2, 0x14]
- strh r1, [r0, 0x14]
- adds r0, 0x7F
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r2]
- ldrh r2, [r0]
- ldrh r0, [r0, 0x4]
- mov r8, r0
- ldrh r6, [r4, 0x18]
- ldrh r3, [r4, 0x1A]
- b _080FB4CC
- .align 2, 0
-_080FB45C: .4byte gSaveBlock1
-_080FB460: .4byte gUnknown_020388CC
-_080FB464:
- ldr r5, _080FB48C @ =gUnknown_020388CC
- ldr r0, [r5]
- ldr r1, _080FB490 @ =gMapHeader
- ldrb r1, [r1, 0x14]
- strh r1, [r0, 0x14]
- cmp r1, 0x57
- beq _080FB498
- ldr r4, _080FB494 @ =gSaveBlock1 + 0x24
- movs r0, 0
- ldrsb r0, [r4, r0]
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ldrsb r1, [r4, r1]
- lsls r1, 16
- lsrs r1, 16
- bl get_mapheader_by_bank_and_number
- adds r2, r0, 0
- b _080FB4B6
- .align 2, 0
-_080FB48C: .4byte gUnknown_020388CC
-_080FB490: .4byte gMapHeader
-_080FB494: .4byte gSaveBlock1 + 0x24
-_080FB498:
- ldr r4, _080FB548 @ =gSaveBlock1 + 0x14
- movs r0, 0
- ldrsb r0, [r4, r0]
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ldrsb r1, [r4, r1]
- lsls r1, 16
- lsrs r1, 16
- bl get_mapheader_by_bank_and_number
- adds r2, r0, 0
- ldr r1, [r5]
- ldrb r0, [r2, 0x14]
- strh r0, [r1, 0x14]
-_080FB4B6:
- ldr r0, _080FB54C @ =gUnknown_020388CC
- ldr r0, [r0]
- adds r0, 0x7F
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- ldrh r2, [r0]
- ldrh r0, [r0, 0x4]
- mov r8, r0
- ldrh r6, [r4, 0x4]
- ldrh r3, [r4, 0x6]
-_080FB4CC:
- mov r9, r6
- ldr r4, _080FB54C @ =gUnknown_020388CC
- ldr r0, [r4]
- ldrh r5, [r0, 0x14]
- lsls r0, r5, 3
- ldr r1, _080FB550 @ =gRegionMapLocations
- adds r0, r1
- mov r10, r0
- ldrb r7, [r0, 0x2]
- adds r0, r2, 0
- adds r1, r7, 0
- str r3, [sp]
- bl __divsi3
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r3, [sp]
- cmp r1, 0
- bne _080FB4F4
- movs r1, 0x1
-_080FB4F4:
- adds r0, r6, 0
- str r3, [sp]
- bl __udivsi3
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r3, [sp]
- cmp r6, r7
- bcc _080FB50C
- subs r0, r7, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_080FB50C:
- mov r2, r10
- ldrb r4, [r2, 0x3]
- mov r0, r8
- adds r1, r4, 0
- str r3, [sp]
- bl __divsi3
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r3, [sp]
- cmp r1, 0
- bne _080FB526
- movs r1, 0x1
-_080FB526:
- adds r0, r3, 0
- bl __udivsi3
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, r4
- bcc _080FB53A
- subs r0, r4, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
-_080FB53A:
- cmp r5, 0x24
- beq _080FB59C
- cmp r5, 0x24
- bgt _080FB554
- cmp r5, 0x1D
- beq _080FB55E
- b _080FB5BE
- .align 2, 0
-_080FB548: .4byte gSaveBlock1 + 0x14
-_080FB54C: .4byte gUnknown_020388CC
-_080FB550: .4byte gRegionMapLocations
-_080FB554:
- cmp r5, 0x29
- beq _080FB566
- cmp r5, 0x33
- beq _080FB566
- b _080FB5BE
-_080FB55E:
- cmp r3, 0
- beq _080FB5BE
- movs r6, 0
- b _080FB5BE
-_080FB566:
- movs r6, 0
- ldr r1, _080FB598 @ =gSaveBlock1
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0x20
- ble _080FB574
- movs r6, 0x1
-_080FB574:
- cmp r0, 0x33
- ble _080FB57E
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_080FB57E:
- movs r3, 0
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- cmp r0, 0x25
- ble _080FB58A
- movs r3, 0x1
-_080FB58A:
- cmp r0, 0x38
- ble _080FB5BE
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- b _080FB5BE
- .align 2, 0
-_080FB598: .4byte gSaveBlock1
-_080FB59C:
- movs r6, 0
- mov r0, r9
- cmp r0, 0xE
- bls _080FB5A6
- movs r6, 0x1
-_080FB5A6:
- mov r1, r9
- cmp r1, 0x1C
- bls _080FB5B2
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_080FB5B2:
- mov r2, r9
- cmp r2, 0x36
- bls _080FB5BE
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_080FB5BE:
- ldr r0, _080FB5F8 @ =gUnknown_020388CC
- ldr r2, [r0]
- ldrh r0, [r2, 0x14]
- lsls r0, 3
- ldr r1, _080FB5FC @ =gRegionMapLocations
- adds r0, r1
- ldrb r0, [r0]
- adds r0, r6, r0
- adds r0, 0x1
- adds r1, r2, 0
- adds r1, 0x54
- strh r0, [r1]
- ldrh r0, [r2, 0x14]
- lsls r0, 3
- ldr r1, _080FB5FC @ =gRegionMapLocations
- adds r0, r1
- ldrb r0, [r0, 0x1]
- adds r0, r3, r0
- adds r0, 0x2
- adds r2, 0x56
- strh r0, [r2]
-_080FB5E8:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FB5F8: .4byte gUnknown_020388CC
-_080FB5FC: .4byte gRegionMapLocations
- thumb_func_end sub_80FB32C
-
- thumb_func_start sub_80FB600
-sub_80FB600: @ 80FB600
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- movs r7, 0
- movs r0, 0
- mov r8, r0
- mov r4, sp
- adds r4, 0x1
- mov r5, sp
- adds r5, 0x2
- add r6, sp, 0x4
- mov r0, sp
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl GetSSTidalLocation
- lsls r0, 24
- lsrs r0, 24
- mov r10, r5
- cmp r0, 0x4
- bhi _080FB694
- lsls r0, 2
- ldr r1, _080FB63C @ =_080FB640
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080FB63C: .4byte _080FB640
- .align 2, 0
-_080FB640:
- .4byte _080FB694
- .4byte _080FB654
- .4byte _080FB664
- .4byte _080FB674
- .4byte _080FB684
-_080FB654:
- ldr r2, _080FB660 @ =gUnknown_020388CC
- ldr r1, [r2]
- movs r0, 0x8
- strh r0, [r1, 0x14]
- b _080FB710
- .align 2, 0
-_080FB660: .4byte gUnknown_020388CC
-_080FB664:
- ldr r2, _080FB670 @ =gUnknown_020388CC
- ldr r1, [r2]
- movs r0, 0xC
- strh r0, [r1, 0x14]
- b _080FB710
- .align 2, 0
-_080FB670: .4byte gUnknown_020388CC
-_080FB674:
- ldr r2, _080FB680 @ =gUnknown_020388CC
- ldr r1, [r2]
- movs r0, 0x27
- strh r0, [r1, 0x14]
- b _080FB710
- .align 2, 0
-_080FB680: .4byte gUnknown_020388CC
-_080FB684:
- ldr r2, _080FB690 @ =gUnknown_020388CC
- ldr r1, [r2]
- movs r0, 0x2E
- strh r0, [r1, 0x14]
- b _080FB710
- .align 2, 0
-_080FB690: .4byte gUnknown_020388CC
-_080FB694:
- mov r0, sp
- ldrb r0, [r0]
- ldrb r1, [r4]
- bl get_mapheader_by_bank_and_number
- ldr r1, _080FB750 @ =gUnknown_020388CC
- mov r9, r1
- ldr r2, [r1]
- ldrb r1, [r0, 0x14]
- strh r1, [r2, 0x14]
- ldr r6, [r0]
- ldr r1, _080FB754 @ =gRegionMapLocations
- ldrh r0, [r2, 0x14]
- lsls r0, 3
- adds r5, r0, r1
- ldrb r4, [r5, 0x2]
- ldr r0, [r6]
- adds r1, r4, 0
- bl __divsi3
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _080FB6C6
- movs r1, 0x1
-_080FB6C6:
- mov r2, r10
- movs r3, 0
- ldrsh r0, [r2, r3]
- bl __divsi3
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- cmp r8, r4
- bcc _080FB6E2
- subs r0, r4, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
-_080FB6E2:
- ldrb r4, [r5, 0x3]
- ldr r0, [r6, 0x4]
- adds r1, r4, 0
- bl __divsi3
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _080FB6F6
- movs r1, 0x1
-_080FB6F6:
- mov r2, sp
- movs r3, 0x4
- ldrsh r0, [r2, r3]
- bl __divsi3
- lsls r0, 16
- lsrs r7, r0, 16
- mov r2, r9
- cmp r7, r4
- bcc _080FB710
- subs r0, r4, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
-_080FB710:
- ldr r0, [r2]
- adds r0, 0x7F
- movs r1, 0
- strb r1, [r0]
- ldr r2, [r2]
- ldr r3, _080FB754 @ =gRegionMapLocations
- ldrh r0, [r2, 0x14]
- lsls r0, 3
- adds r0, r3
- ldrb r0, [r0]
- add r0, r8
- adds r0, 0x1
- adds r1, r2, 0
- adds r1, 0x54
- strh r0, [r1]
- ldrh r0, [r2, 0x14]
- lsls r0, 3
- adds r0, r3
- ldrb r0, [r0, 0x1]
- adds r0, r7, r0
- adds r0, 0x2
- adds r2, 0x56
- strh r0, [r2]
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FB750: .4byte gUnknown_020388CC
-_080FB754: .4byte gRegionMapLocations
- thumb_func_end sub_80FB600
-
- thumb_func_start sub_80FB758
-sub_80FB758: @ 80FB758
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x58
- bls _080FB764
- b _080FB9A0
-_080FB764:
- lsls r0, 2
- ldr r1, _080FB770 @ =_080FB774
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080FB770: .4byte _080FB774
- .align 2, 0
-_080FB774:
- .4byte _080FB8DC
- .4byte _080FB8E4
- .4byte _080FB8EA
- .4byte _080FB8F4
- .4byte _080FB8FC
- .4byte _080FB904
- .4byte _080FB90C
- .4byte _080FB914
- .4byte _080FB91C
- .4byte _080FB924
- .4byte _080FB92C
- .4byte _080FB934
- .4byte _080FB93C
- .4byte _080FB944
- .4byte _080FB94C
- .4byte _080FB954
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB96C
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB988
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB8D8
-_080FB8D8:
- movs r0, 0
- b _080FB9A2
-_080FB8DC:
- ldr r0, _080FB8E0 @ =0x0000080f
- b _080FB956
- .align 2, 0
-_080FB8E0: .4byte 0x0000080f
-_080FB8E4:
- movs r0, 0x81
- lsls r0, 4
- b _080FB956
-_080FB8EA:
- ldr r0, _080FB8F0 @ =0x00000811
- b _080FB956
- .align 2, 0
-_080FB8F0: .4byte 0x00000811
-_080FB8F4:
- ldr r0, _080FB8F8 @ =0x00000812
- b _080FB956
- .align 2, 0
-_080FB8F8: .4byte 0x00000812
-_080FB8FC:
- ldr r0, _080FB900 @ =0x00000813
- b _080FB956
- .align 2, 0
-_080FB900: .4byte 0x00000813
-_080FB904:
- ldr r0, _080FB908 @ =0x00000814
- b _080FB956
- .align 2, 0
-_080FB908: .4byte 0x00000814
-_080FB90C:
- ldr r0, _080FB910 @ =0x00000815
- b _080FB956
- .align 2, 0
-_080FB910: .4byte 0x00000815
-_080FB914:
- ldr r0, _080FB918 @ =0x00000816
- b _080FB956
- .align 2, 0
-_080FB918: .4byte 0x00000816
-_080FB91C:
- ldr r0, _080FB920 @ =0x00000817
- b _080FB956
- .align 2, 0
-_080FB920: .4byte 0x00000817
-_080FB924:
- ldr r0, _080FB928 @ =0x00000818
- b _080FB956
- .align 2, 0
-_080FB928: .4byte 0x00000818
-_080FB92C:
- ldr r0, _080FB930 @ =0x00000819
- b _080FB956
- .align 2, 0
-_080FB930: .4byte 0x00000819
-_080FB934:
- ldr r0, _080FB938 @ =0x0000081a
- b _080FB956
- .align 2, 0
-_080FB938: .4byte 0x0000081a
-_080FB93C:
- ldr r0, _080FB940 @ =0x0000081b
- b _080FB956
- .align 2, 0
-_080FB940: .4byte 0x0000081b
-_080FB944:
- ldr r0, _080FB948 @ =0x0000081c
- b _080FB956
- .align 2, 0
-_080FB948: .4byte 0x0000081c
-_080FB94C:
- ldr r0, _080FB950 @ =0x0000081d
- b _080FB956
- .align 2, 0
-_080FB950: .4byte 0x0000081d
-_080FB954:
- ldr r0, _080FB968 @ =0x0000081e
-_080FB956:
- bl FlagGet
- lsls r0, 24
- movs r1, 0x3
- cmp r0, 0
- beq _080FB964
- movs r1, 0x2
-_080FB964:
- adds r0, r1, 0
- b _080FB9A2
- .align 2, 0
-_080FB968: .4byte 0x0000081e
-_080FB96C:
- ldr r0, _080FB984 @ =0x00000848
- bl FlagGet
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- negs r0, r1
- orrs r0, r1
- asrs r0, 31
- movs r1, 0x4
- ands r0, r1
- b _080FB9A2
- .align 2, 0
-_080FB984: .4byte 0x00000848
-_080FB988:
- ldr r0, _080FB99C @ =0x00000849
- bl FlagGet
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- b _080FB9A2
- .align 2, 0
-_080FB99C: .4byte 0x00000849
-_080FB9A0:
- movs r0, 0x1
-_080FB9A2:
- pop {r1}
- bx r1
- thumb_func_end sub_80FB758
-
- thumb_func_start GetRegionMapSectionAt_
-GetRegionMapSectionAt_: @ 80FB9A8
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- lsrs r1, 16
- bl GetRegionMapSectionAt
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end GetRegionMapSectionAt_
-
- thumb_func_start sub_80FB9C0
-sub_80FB9C0: @ 80FB9C0
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r3, r0, 16
- movs r2, 0
- ldr r0, _080FB9E8 @ =gUnknown_083E7684
- ldrh r1, [r0]
- adds r4, r0, 0
- cmp r1, 0x58
- beq _080FB9FC
- adds r5, r4, 0
- adds r6, r4, 0x2
-_080FB9D6:
- lsls r1, r2, 2
- adds r0, r1, r5
- ldrh r0, [r0]
- cmp r0, r3
- bne _080FB9EC
- adds r0, r1, r6
- ldrh r0, [r0]
- b _080FB9FE
- .align 2, 0
-_080FB9E8: .4byte gUnknown_083E7684
-_080FB9EC:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- lsls r0, r2, 2
- adds r0, r4
- ldrh r0, [r0]
- cmp r0, 0x58
- bne _080FB9D6
-_080FB9FC:
- adds r0, r3, 0
-_080FB9FE:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80FB9C0
-
- thumb_func_start sub_80FBA04
-sub_80FBA04: @ 80FBA04
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- bl sub_80FB9C0
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_80FBA04
-
- thumb_func_start sub_80FBA18
-sub_80FBA18: @ 80FBA18
- push {r4-r6,lr}
- ldr r0, _080FBA2C @ =gUnknown_020388CC
- ldr r1, [r0]
- ldrh r0, [r1, 0x14]
- cmp r0, 0x58
- bne _080FBA30
- movs r0, 0
- strb r0, [r1, 0x17]
- b _080FBA96
- .align 2, 0
-_080FBA2C: .4byte gUnknown_020388CC
-_080FBA30:
- adds r0, r1, 0
- adds r0, 0x78
- ldrb r0, [r0]
- cmp r0, 0
- bne _080FBA40
- adds r0, r1, 0
- adds r0, 0x54
- b _080FBA44
-_080FBA40:
- adds r0, r1, 0
- adds r0, 0x64
-_080FBA44:
- ldrh r4, [r0]
- adds r0, 0x2
- ldrh r5, [r0]
- movs r6, 0
- b _080FBA70
-_080FBA4E:
- subs r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetRegionMapSectionAt
- ldr r1, _080FBA8C @ =gUnknown_020388CC
- ldr r1, [r1]
- lsls r0, 16
- lsrs r0, 16
- ldrh r1, [r1, 0x14]
- cmp r0, r1
- bne _080FBA70
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_080FBA70:
- cmp r4, 0x1
- bhi _080FBA4E
- adds r0, r5, 0
- bl sub_80FBAA0
- lsls r0, 24
- cmp r0, 0
- beq _080FBA90
- subs r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- movs r4, 0x1D
- b _080FBA70
- .align 2, 0
-_080FBA8C: .4byte gUnknown_020388CC
-_080FBA90:
- ldr r0, _080FBA9C @ =gUnknown_020388CC
- ldr r0, [r0]
- strb r6, [r0, 0x17]
-_080FBA96:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080FBA9C: .4byte gUnknown_020388CC
- thumb_func_end sub_80FBA18
-
- thumb_func_start sub_80FBAA0
-sub_80FBAA0: @ 80FBAA0
- push {r4,r5,lr}
- lsls r0, 16
- ldr r1, _080FBAB4 @ =0xffff0000
- adds r0, r1
- lsrs r5, r0, 16
- ldr r0, _080FBAB8 @ =0x0000ffff
- cmp r5, r0
- bne _080FBAC0
- b _080FBAE2
- .align 2, 0
-_080FBAB4: .4byte 0xffff0000
-_080FBAB8: .4byte 0x0000ffff
-_080FBABC:
- movs r0, 0x1
- b _080FBAE4
-_080FBAC0:
- movs r4, 0x1
-_080FBAC2:
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetRegionMapSectionAt
- ldr r1, _080FBAEC @ =gUnknown_020388CC
- ldr r1, [r1]
- lsls r0, 16
- lsrs r0, 16
- ldrh r1, [r1, 0x14]
- cmp r0, r1
- beq _080FBABC
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1C
- bls _080FBAC2
-_080FBAE2:
- movs r0, 0
-_080FBAE4:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080FBAEC: .4byte gUnknown_020388CC
- thumb_func_end sub_80FBAA0
-
- thumb_func_start sub_80FBAF0
-sub_80FBAF0: @ 80FBAF0
- push {r4,lr}
- adds r2, r0, 0
- ldr r0, _080FBB34 @ =gUnknown_020388CC
- ldr r1, [r0]
- adds r3, r1, 0
- adds r3, 0x7A
- movs r0, 0
- ldrsb r0, [r3, r0]
- cmp r0, 0
- beq _080FBB2E
- adds r0, r1, 0
- adds r0, 0x7B
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 1
- ldrh r4, [r2, 0x20]
- adds r0, r4
- strh r0, [r2, 0x20]
- adds r0, r1, 0
- adds r0, 0x7C
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 1
- ldrh r1, [r2, 0x22]
- adds r0, r1
- strh r0, [r2, 0x22]
- ldrb r0, [r3]
- subs r0, 0x1
- strb r0, [r3]
-_080FBB2E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FBB34: .4byte gUnknown_020388CC
- thumb_func_end sub_80FBAF0
-
- thumb_func_start nullsub_66
-nullsub_66: @ 80FBB38
- bx lr
- thumb_func_end nullsub_66
-
- thumb_func_start sub_80FBB3C
-sub_80FBB3C: @ 80FBB3C
- push {r4-r7,lr}
- sub sp, 0x28
- lsls r0, 16
- lsls r1, 16
- lsrs r6, r1, 16
- ldr r1, _080FBBAC @ =gUnknown_083E76E8
- ldr r2, [r1, 0x4]
- ldr r1, [r1]
- str r1, [sp, 0x20]
- str r2, [sp, 0x24]
- mov r2, sp
- ldr r1, _080FBBB0 @ =gSpriteTemplate_83E76F0
- ldm r1!, {r3-r5}
- stm r2!, {r3-r5}
- ldm r1!, {r3-r5}
- stm r2!, {r3-r5}
- lsrs r3, r0, 16
- add r2, sp, 0x18
- ldrh r1, [r2, 0x4]
- orrs r1, r0
- str r1, [r2, 0x4]
- mov r0, sp
- strh r3, [r0]
- ldr r0, _080FBBB4 @ =gUnknown_020388CC
- ldr r4, [r0]
- adds r0, r4, 0
- adds r0, 0x58
- strh r3, [r0]
- ldr r5, _080FBBB8 @ =0xffff0000
- add r1, sp, 0x20
- ldr r0, [r1, 0x4]
- ands r0, r5
- orrs r0, r6
- str r0, [r1, 0x4]
- mov r0, sp
- strh r6, [r0, 0x2]
- adds r3, r4, 0
- adds r0, r3, 0
- adds r0, 0x5A
- strh r6, [r0]
- adds r0, 0x1E
- ldrb r0, [r0]
- adds r7, r1, 0
- cmp r0, 0
- bne _080FBBC0
- movs r1, 0xC0
- lsls r1, 1
- adds r0, r3, r1
- str r0, [sp, 0x18]
- ldr r0, [r2, 0x4]
- ands r0, r5
- subs r1, 0x80
- orrs r0, r1
- str r0, [r2, 0x4]
- ldr r0, _080FBBBC @ =sub_80FBAF0
- b _080FBBD6
- .align 2, 0
-_080FBBAC: .4byte gUnknown_083E76E8
-_080FBBB0: .4byte gSpriteTemplate_83E76F0
-_080FBBB4: .4byte gUnknown_020388CC
-_080FBBB8: .4byte 0xffff0000
-_080FBBBC: .4byte sub_80FBAF0
-_080FBBC0:
- movs r3, 0xA0
- lsls r3, 2
- adds r0, r4, r3
- str r0, [sp, 0x18]
- ldr r0, [r2, 0x4]
- ands r0, r5
- movs r1, 0xC0
- lsls r1, 3
- orrs r0, r1
- str r0, [r2, 0x4]
- ldr r0, _080FBC38 @ =nullsub_66
-_080FBBD6:
- str r0, [sp, 0x14]
- adds r0, r2, 0
- bl LoadSpriteSheet
- adds r0, r7, 0
- bl LoadSpritePalette
- mov r0, sp
- movs r1, 0x38
- movs r2, 0x48
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _080FBC90
- ldr r4, _080FBC3C @ =gUnknown_020388CC
- ldr r2, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080FBC40 @ =gSprites
- adds r3, r0, r1
- str r3, [r2, 0x1C]
- adds r2, 0x78
- ldrb r0, [r2]
- cmp r0, 0x1
- bne _080FBC44
- ldrb r1, [r3, 0x3]
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r3, 0x3]
- ldr r2, [r4]
- ldr r1, [r2, 0x1C]
- ldrh r0, [r1, 0x20]
- subs r0, 0x8
- strh r0, [r1, 0x20]
- ldr r1, [r2, 0x1C]
- ldrh r0, [r1, 0x22]
- subs r0, 0x8
- strh r0, [r1, 0x22]
- ldr r0, [r2, 0x1C]
- movs r1, 0x1
- bl StartSpriteAnim
- b _080FBC6C
- .align 2, 0
-_080FBC38: .4byte nullsub_66
-_080FBC3C: .4byte gUnknown_020388CC
-_080FBC40: .4byte gSprites
-_080FBC44:
- ldrb r1, [r3, 0x3]
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r3, 0x3]
- ldr r1, [r4]
- ldr r2, [r1, 0x1C]
- adds r0, r1, 0
- adds r0, 0x54
- ldrh r0, [r0]
- lsls r0, 3
- adds r0, 0x4
- strh r0, [r2, 0x20]
- ldr r2, [r1, 0x1C]
- adds r1, 0x56
- ldrh r0, [r1]
- lsls r0, 3
- adds r0, 0x4
- strh r0, [r2, 0x22]
-_080FBC6C:
- ldr r4, _080FBC98 @ =gUnknown_020388CC
- ldr r0, [r4]
- ldr r1, [r0, 0x1C]
- movs r0, 0x2
- strh r0, [r1, 0x30]
- adds r0, r6, 0
- bl IndexOfSpritePaletteTag
- ldr r1, [r4]
- ldr r2, [r1, 0x1C]
- lsls r0, 24
- lsrs r0, 20
- ldr r4, _080FBC9C @ =0x00000101
- adds r0, r4
- strh r0, [r2, 0x32]
- ldr r1, [r1, 0x1C]
- movs r0, 0x1
- strh r0, [r1, 0x34]
-_080FBC90:
- add sp, 0x28
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FBC98: .4byte gUnknown_020388CC
-_080FBC9C: .4byte 0x00000101
- thumb_func_end sub_80FBB3C
-
- thumb_func_start sub_80FBCA0
-sub_80FBCA0: @ 80FBCA0
- push {r4,lr}
- ldr r4, _080FBCCC @ =gUnknown_020388CC
- ldr r0, [r4]
- ldr r0, [r0, 0x1C]
- cmp r0, 0
- beq _080FBCC4
- bl DestroySprite
- ldr r0, [r4]
- adds r0, 0x58
- ldrh r0, [r0]
- bl FreeSpriteTilesByTag
- ldr r0, [r4]
- adds r0, 0x5A
- ldrh r0, [r0]
- bl FreeSpritePaletteByTag
-_080FBCC4:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FBCCC: .4byte gUnknown_020388CC
- thumb_func_end sub_80FBCA0
-
- thumb_func_start unref_sub_80FBCD0
-unref_sub_80FBCD0: @ 80FBCD0
- ldr r0, _080FBCDC @ =gUnknown_020388CC
- ldr r0, [r0]
- ldr r1, [r0, 0x1C]
- movs r0, 0x1
- strh r0, [r1, 0x34]
- bx lr
- .align 2, 0
-_080FBCDC: .4byte gUnknown_020388CC
- thumb_func_end unref_sub_80FBCD0
-
- thumb_func_start unref_sub_80FBCE0
-unref_sub_80FBCE0: @ 80FBCE0
- ldr r0, _080FBCEC @ =gUnknown_020388CC
- ldr r0, [r0]
- ldr r1, [r0, 0x1C]
- movs r0, 0
- strh r0, [r1, 0x34]
- bx lr
- .align 2, 0
-_080FBCEC: .4byte gUnknown_020388CC
- thumb_func_end unref_sub_80FBCE0
-
- thumb_func_start sub_80FBCF0
-sub_80FBCF0: @ 80FBCF0
- push {r4,r5,lr}
- sub sp, 0x28
- lsls r0, 16
- lsls r1, 16
- lsrs r1, 16
- ldr r2, _080FBD98 @ =gRegionMapBrendanIconTiles
- str r2, [sp, 0x18]
- movs r2, 0x80
- add r5, sp, 0x18
- lsrs r3, r0, 16
- orrs r0, r2
- str r0, [r5, 0x4]
- ldr r0, _080FBD9C @ =gRegionMapBrendanIconPalette
- str r0, [sp, 0x20]
- ldr r2, _080FBDA0 @ =0xffff0000
- add r4, sp, 0x20
- ldr r0, [r4, 0x4]
- ands r0, r2
- orrs r0, r1
- str r0, [r4, 0x4]
- mov r0, sp
- movs r2, 0
- strh r3, [r0]
- strh r1, [r0, 0x2]
- ldr r0, _080FBDA4 @ =gOamData_083E7708
- str r0, [sp, 0x4]
- ldr r0, _080FBDA8 @ =gSpriteAnimTable_083E7718
- str r0, [sp, 0x8]
- str r2, [sp, 0xC]
- ldr r0, _080FBDAC @ =gDummySpriteAffineAnimTable
- str r0, [sp, 0x10]
- ldr r0, _080FBDB0 @ =SpriteCallbackDummy
- str r0, [sp, 0x14]
- ldr r0, _080FBDB4 @ =gSaveBlock2
- ldrb r0, [r0, 0x8]
- cmp r0, 0x1
- bne _080FBD42
- ldr r0, _080FBDB8 @ =gRegionMapMayIconTiles
- str r0, [sp, 0x18]
- ldr r0, _080FBDBC @ =gRegionMapMayIconPalette
- str r0, [sp, 0x20]
-_080FBD42:
- adds r0, r5, 0
- bl LoadSpriteSheet
- adds r0, r4, 0
- bl LoadSpritePalette
- mov r0, sp
- movs r1, 0
- movs r2, 0
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080FBDC0 @ =gUnknown_020388CC
- ldr r2, [r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _080FBDC4 @ =gSprites
- adds r1, r0
- str r1, [r2, 0x20]
- adds r0, r2, 0
- adds r0, 0x78
- ldrb r0, [r0]
- cmp r0, 0
- bne _080FBDCC
- adds r0, r2, 0
- adds r0, 0x74
- ldrh r0, [r0]
- lsls r0, 3
- adds r0, 0x4
- strh r0, [r1, 0x20]
- ldr r1, [r2, 0x20]
- adds r0, r2, 0
- adds r0, 0x76
- ldrh r0, [r0]
- lsls r0, 3
- adds r0, 0x4
- strh r0, [r1, 0x22]
- ldr r1, [r2, 0x20]
- ldr r0, _080FBDC8 @ =sub_80FBF34
- b _080FBDEA
- .align 2, 0
-_080FBD98: .4byte gRegionMapBrendanIconTiles
-_080FBD9C: .4byte gRegionMapBrendanIconPalette
-_080FBDA0: .4byte 0xffff0000
-_080FBDA4: .4byte gOamData_083E7708
-_080FBDA8: .4byte gSpriteAnimTable_083E7718
-_080FBDAC: .4byte gDummySpriteAffineAnimTable
-_080FBDB0: .4byte SpriteCallbackDummy
-_080FBDB4: .4byte gSaveBlock2
-_080FBDB8: .4byte gRegionMapMayIconTiles
-_080FBDBC: .4byte gRegionMapMayIconPalette
-_080FBDC0: .4byte gUnknown_020388CC
-_080FBDC4: .4byte gSprites
-_080FBDC8: .4byte sub_80FBF34
-_080FBDCC:
- adds r0, r2, 0
- adds r0, 0x74
- ldrh r0, [r0]
- lsls r0, 4
- subs r0, 0x30
- strh r0, [r1, 0x20]
- ldr r1, [r2, 0x20]
- adds r0, r2, 0
- adds r0, 0x76
- ldrh r0, [r0]
- lsls r0, 4
- subs r0, 0x42
- strh r0, [r1, 0x22]
- ldr r1, [r2, 0x20]
- ldr r0, _080FBDF4 @ =sub_80FBEA4
-_080FBDEA:
- str r0, [r1, 0x1C]
- add sp, 0x28
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080FBDF4: .4byte sub_80FBEA4
- thumb_func_end sub_80FBCF0
-
- thumb_func_start sub_80FBDF8
-sub_80FBDF8: @ 80FBDF8
- push {lr}
- ldr r3, _080FBE1C @ =gUnknown_020388CC
- ldr r0, [r3]
- ldr r2, [r0, 0x20]
- cmp r2, 0
- beq _080FBE16
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, [r3]
- ldr r1, [r0, 0x20]
- ldr r0, _080FBE20 @ =SpriteCallbackDummy
- str r0, [r1, 0x1C]
-_080FBE16:
- pop {r0}
- bx r0
- .align 2, 0
-_080FBE1C: .4byte gUnknown_020388CC
-_080FBE20: .4byte SpriteCallbackDummy
- thumb_func_end sub_80FBDF8
-
- thumb_func_start sub_80FBE24
-sub_80FBE24: @ 80FBE24
- push {lr}
- ldr r0, _080FBE5C @ =gUnknown_020388CC
- ldr r3, [r0]
- ldr r1, [r3, 0x20]
- cmp r1, 0
- beq _080FBE9A
- adds r0, r3, 0
- adds r0, 0x78
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080FBE64
- adds r0, r3, 0
- adds r0, 0x74
- ldrh r0, [r0]
- lsls r0, 4
- subs r0, 0x30
- strh r0, [r1, 0x20]
- ldr r1, [r3, 0x20]
- adds r0, r3, 0
- adds r0, 0x76
- ldrh r0, [r0]
- lsls r0, 4
- subs r0, 0x42
- strh r0, [r1, 0x22]
- ldr r1, [r3, 0x20]
- ldr r0, _080FBE60 @ =sub_80FBEA4
- b _080FBE8C
- .align 2, 0
-_080FBE5C: .4byte gUnknown_020388CC
-_080FBE60: .4byte sub_80FBEA4
-_080FBE64:
- adds r0, r3, 0
- adds r0, 0x74
- ldrh r0, [r0]
- lsls r0, 3
- adds r0, 0x4
- movs r2, 0
- strh r0, [r1, 0x20]
- ldr r1, [r3, 0x20]
- adds r0, r3, 0
- adds r0, 0x76
- ldrh r0, [r0]
- lsls r0, 3
- adds r0, 0x4
- strh r0, [r1, 0x22]
- ldr r0, [r3, 0x20]
- strh r2, [r0, 0x24]
- ldr r0, [r3, 0x20]
- strh r2, [r0, 0x26]
- ldr r1, [r3, 0x20]
- ldr r0, _080FBEA0 @ =sub_80FBF34
-_080FBE8C:
- str r0, [r1, 0x1C]
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
-_080FBE9A:
- pop {r0}
- bx r0
- .align 2, 0
-_080FBEA0: .4byte sub_80FBF34
- thumb_func_end sub_80FBE24
-
- thumb_func_start sub_80FBEA4
-sub_80FBEA4: @ 80FBEA4
- push {r4,lr}
- adds r3, r0, 0
- ldr r0, _080FBF08 @ =gUnknown_020388CC
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x5C
- movs r4, 0
- ldrsh r2, [r0, r4]
- lsls r2, 1
- negs r2, r2
- strh r2, [r3, 0x24]
- adds r1, 0x5E
- movs r4, 0
- ldrsh r0, [r1, r4]
- lsls r0, 1
- negs r0, r0
- strh r0, [r3, 0x26]
- ldrh r1, [r3, 0x22]
- adds r1, r0
- adds r0, r3, 0
- adds r0, 0x29
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r0, r1
- strh r0, [r3, 0x2E]
- ldrh r1, [r3, 0x20]
- adds r1, r2
- adds r2, r3, 0
- adds r2, 0x28
- ldrb r2, [r2]
- lsls r2, 24
- asrs r2, 24
- adds r2, r1
- strh r2, [r3, 0x30]
- adds r0, 0x8
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xB0
- bhi _080FBF04
- lsls r0, r2, 16
- asrs r2, r0, 16
- movs r0, 0x8
- negs r0, r0
- cmp r2, r0
- blt _080FBF04
- cmp r2, 0xF8
- ble _080FBF0C
-_080FBF04:
- movs r0, 0
- b _080FBF0E
- .align 2, 0
-_080FBF08: .4byte gUnknown_020388CC
-_080FBF0C:
- movs r0, 0x1
-_080FBF0E:
- strh r0, [r3, 0x32]
- movs r1, 0x32
- ldrsh r0, [r3, r1]
- cmp r0, 0x1
- bne _080FBF20
- adds r0, r3, 0
- bl sub_80FBF40
- b _080FBF2C
-_080FBF20:
- adds r0, r3, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080FBF2C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80FBEA4
-
- thumb_func_start sub_80FBF34
-sub_80FBF34: @ 80FBF34
- push {lr}
- bl sub_80FBF40
- pop {r0}
- bx r0
- thumb_func_end sub_80FBF34
-
- thumb_func_start sub_80FBF40
-sub_80FBF40: @ 80FBF40
- push {lr}
- adds r2, r0, 0
- ldr r0, _080FBF80 @ =gUnknown_020388CC
- ldr r0, [r0]
- adds r0, 0x7E
- ldrb r0, [r0]
- cmp r0, 0
- beq _080FBF84
- ldrh r0, [r2, 0x3C]
- adds r0, 0x1
- strh r0, [r2, 0x3C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- ble _080FBF90
- movs r0, 0
- strh r0, [r2, 0x3C]
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- lsrs r1, r2, 2
- movs r0, 0x1
- eors r1, r0
- ands r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- b _080FBF90
- .align 2, 0
-_080FBF80: .4byte gUnknown_020388CC
-_080FBF84:
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_080FBF90:
- pop {r0}
- bx r0
- thumb_func_end sub_80FBF40
-
- thumb_func_start sub_80FBF94
-sub_80FBF94: @ 80FBF94
- push {lr}
- ldr r0, _080FBFB0 @ =gUnknown_020388CC
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x7F
- ldrb r0, [r0]
- cmp r0, 0
- beq _080FBFAA
- adds r1, 0x7E
- movs r0, 0x1
- strb r0, [r1]
-_080FBFAA:
- pop {r0}
- bx r0
- .align 2, 0
-_080FBFB0: .4byte gUnknown_020388CC
- thumb_func_end sub_80FBF94
-
- thumb_func_start sub_80FBFB4
-sub_80FBFB4: @ 80FBFB4
- push {lr}
- adds r3, r0, 0
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsrs r2, 16
- cmp r1, 0x56
- bne _080FBFCA
- bl GetSecretBaseMapName
- b _080FBFF2
-_080FBFCA:
- cmp r1, 0x57
- bhi _080FBFE4
- ldr r0, _080FBFE0 @ =gRegionMapLocations
- lsls r1, 3
- adds r0, 0x4
- adds r1, r0
- ldr r1, [r1]
- adds r0, r3, 0
- bl StringCopy
- b _080FBFF2
- .align 2, 0
-_080FBFE0: .4byte gRegionMapLocations
-_080FBFE4:
- cmp r2, 0
- bne _080FBFEA
- movs r2, 0x12
-_080FBFEA:
- adds r0, r3, 0
- movs r1, 0
- bl StringFill
-_080FBFF2:
- pop {r1}
- bx r1
- thumb_func_end sub_80FBFB4
-
- thumb_func_start CopyMapName
-CopyMapName: @ 80FBFF8
- push {lr}
- lsls r1, 16
- lsrs r1, 16
- cmp r1, 0x56
- beq _080FC014
- cmp r1, 0x57
- bne _080FC020
- ldr r1, _080FC010 @ =gOtherText_Ferry
- bl StringCopy
- b _080FC026
- .align 2, 0
-_080FC010: .4byte gOtherText_Ferry
-_080FC014:
- ldr r1, _080FC01C @ =gOtherText_SecretBase
- bl StringCopy
- b _080FC026
- .align 2, 0
-_080FC01C: .4byte gOtherText_SecretBase
-_080FC020:
- movs r2, 0
- bl sub_80FBFB4
-_080FC026:
- pop {r1}
- bx r1
- thumb_func_end CopyMapName
-
- thumb_func_start CopyLocationName
-CopyLocationName: @ 80FC02C
- push {lr}
- lsls r1, 16
- lsrs r1, 16
- cmp r1, 0x42
- beq _080FC03C
- bl CopyMapName
- b _080FC042
-_080FC03C:
- ldr r1, _080FC048 @ =gOtherText_Hideout
- bl StringCopy
-_080FC042:
- pop {r1}
- bx r1
- .align 2, 0
-_080FC048: .4byte gOtherText_Hideout
- thumb_func_end CopyLocationName
-
- thumb_func_start sub_80FC04C
-sub_80FC04C: @ 80FC04C
- push {r4,r5,lr}
- ldr r5, [sp, 0xC]
- lsls r0, 16
- ldr r4, _080FC070 @ =gRegionMapLocations
- lsrs r0, 13
- adds r0, r4
- ldrb r4, [r0]
- strh r4, [r1]
- ldrb r1, [r0, 0x1]
- strh r1, [r2]
- ldrb r1, [r0, 0x2]
- strh r1, [r3]
- ldrb r0, [r0, 0x3]
- strh r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080FC070: .4byte gRegionMapLocations
- thumb_func_end sub_80FC04C
-
- thumb_func_start sub_80FC074
-sub_80FC074: @ 80FC074
- push {r4,lr}
- ldr r0, _080FC090 @ =gMain
- ldr r1, _080FC094 @ =0x0000043c
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x9
- bls _080FC084
- b _080FC1F2
-_080FC084:
- lsls r0, 2
- ldr r1, _080FC098 @ =_080FC09C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080FC090: .4byte gMain
-_080FC094: .4byte 0x0000043c
-_080FC098: .4byte _080FC09C
- .align 2, 0
-_080FC09C:
- .4byte _080FC0C4
- .4byte _080FC104
- .4byte _080FC110
- .4byte _080FC120
- .4byte _080FC15C
- .4byte _080FC170
- .4byte _080FC184
- .4byte _080FC1A4
- .4byte _080FC1AA
- .4byte _080FC1C4
-_080FC0C4:
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0x80
- lsls r0, 19
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x10
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- subs r0, 0x2
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- bl ResetPaletteFade
- bl ResetSpriteData
- bl FreeSpriteTileRanges
- bl FreeAllSpritePalettes
- b _080FC1E6
-_080FC104:
- ldr r0, _080FC10C @ =gWindowConfig_81E7224
- bl SetUpWindowConfig
- b _080FC1E6
- .align 2, 0
-_080FC10C: .4byte gWindowConfig_81E7224
-_080FC110:
- ldr r0, _080FC11C @ =gWindowConfig_81E7224
- bl InitMenuWindow
- bl MenuZeroFillScreen
- b _080FC1E6
- .align 2, 0
-_080FC11C: .4byte gWindowConfig_81E7224
-_080FC120:
- ldr r4, _080FC158 @ =0x02000008
- adds r0, r4, 0
- movs r1, 0
- bl sub_80FA8EC
- movs r0, 0
- movs r1, 0
- bl sub_80FBB3C
- movs r0, 0x1
- movs r1, 0x1
- bl sub_80FBCF0
- adds r1, r4, 0
- subs r1, 0x8
- ldrh r0, [r1, 0x1C]
- strh r0, [r1, 0x6]
- movs r2, 0xA4
- lsls r2, 4
- adds r4, r2
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0xC
- bl StringFill
- bl sub_80FC254
- b _080FC1E6
- .align 2, 0
-_080FC158: .4byte 0x02000008
-_080FC15C:
- ldr r0, _080FC168 @ =gUnknown_083E773C
- ldr r1, _080FC16C @ =0x0600c000
- bl LZ77UnCompVram
- b _080FC1E6
- .align 2, 0
-_080FC168: .4byte gUnknown_083E773C
-_080FC16C: .4byte 0x0600c000
-_080FC170:
- ldr r0, _080FC17C @ =gUnknown_083E7774
- ldr r1, _080FC180 @ =0x0600f000
- bl LZ77UnCompVram
- b _080FC1E6
- .align 2, 0
-_080FC17C: .4byte gUnknown_083E7774
-_080FC180: .4byte 0x0600f000
-_080FC184:
- ldr r0, _080FC19C @ =gUnknown_083E771C
- movs r1, 0x10
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _080FC1A0 @ =gOtherText_FlyToWhere
- movs r1, 0x1
- movs r2, 0x90
- movs r3, 0x1
- bl MenuPrint_PixelCoords
- b _080FC1E6
- .align 2, 0
-_080FC19C: .4byte gUnknown_083E771C
-_080FC1A0: .4byte gOtherText_FlyToWhere
-_080FC1A4:
- bl sub_80FC31C
- b _080FC1E6
-_080FC1AA:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- ldr r0, _080FC1C0 @ =sub_80FC214
- bl SetVBlankCallback
- b _080FC1E6
- .align 2, 0
-_080FC1C0: .4byte sub_80FC214
-_080FC1C4:
- ldr r1, _080FC1F8 @ =REG_BLDCNT
- movs r0, 0
- strh r0, [r1]
- subs r1, 0x46
- ldr r2, _080FC1FC @ =0x00001e0d
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0xA
- ldr r2, _080FC200 @ =0x00001741
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _080FC204 @ =sub_80FC5B4
- bl sub_80FC244
- ldr r0, _080FC208 @ =sub_80FC228
- bl SetMainCallback2
-_080FC1E6:
- ldr r1, _080FC20C @ =gMain
- ldr r0, _080FC210 @ =0x0000043c
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080FC1F2:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FC1F8: .4byte REG_BLDCNT
-_080FC1FC: .4byte 0x00001e0d
-_080FC200: .4byte 0x00001741
-_080FC204: .4byte sub_80FC5B4
-_080FC208: .4byte sub_80FC228
-_080FC20C: .4byte gMain
-_080FC210: .4byte 0x0000043c
- thumb_func_end sub_80FC074
-
- thumb_func_start sub_80FC214
-sub_80FC214: @ 80FC214
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_80FC214
-
- thumb_func_start sub_80FC228
-sub_80FC228: @ 80FC228
- push {lr}
- ldr r0, _080FC240 @ =0x02000000
- ldr r0, [r0]
- bl _call_via_r0
- bl AnimateSprites
- bl BuildOamBuffer
- pop {r0}
- bx r0
- .align 2, 0
-_080FC240: .4byte 0x02000000
- thumb_func_end sub_80FC228
-
- thumb_func_start sub_80FC244
-sub_80FC244: @ 80FC244
- ldr r1, _080FC250 @ =0x02000000
- str r0, [r1]
- movs r0, 0
- strh r0, [r1, 0x4]
- bx lr
- .align 2, 0
-_080FC250: .4byte 0x02000000
- thumb_func_end sub_80FC244
-
- thumb_func_start sub_80FC254
-sub_80FC254: @ 80FC254
- push {r4,r5,lr}
- ldr r4, _080FC2AC @ =0x02000000
- ldrb r0, [r4, 0x1E]
- cmp r0, 0x2
- beq _080FC262
- cmp r0, 0x4
- bne _080FC2EC
-_080FC262:
- movs r1, 0
- ldr r2, _080FC2B0 @ =gUnknown_083E79C0
- adds r5, r4, 0
-_080FC268:
- lsls r0, r1, 3
- adds r4, r0, r2
- ldrh r0, [r5, 0x1C]
- ldrh r3, [r4, 0x4]
- cmp r0, r3
- bne _080FC2B4
- ldrh r0, [r4, 0x6]
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _080FC2BE
- movs r0, 0x10
- movs r1, 0xE
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuDrawTextWindow
- adds r0, r5, 0
- adds r0, 0x8
- movs r1, 0x11
- movs r2, 0xF
- bl MenuPrint
- ldrb r0, [r5, 0x1F]
- ldr r1, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x1D
- movs r2, 0x11
- bl MenuPrint_RightAligned
- b _080FC310
- .align 2, 0
-_080FC2AC: .4byte 0x02000000
-_080FC2B0: .4byte gUnknown_083E79C0
-_080FC2B4:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _080FC268
-_080FC2BE:
- movs r0, 0
- cmp r0, 0
- bne _080FC310
- movs r0, 0x10
- movs r1, 0x10
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuDrawTextWindow
- ldr r0, _080FC2E8 @ =0x02000008
- movs r1, 0x11
- movs r2, 0x11
- bl MenuPrint
- movs r0, 0x10
- movs r1, 0xE
- movs r2, 0x1D
- movs r3, 0xF
- bl MenuZeroFillWindowRect
- b _080FC310
- .align 2, 0
-_080FC2E8: .4byte 0x02000008
-_080FC2EC:
- movs r0, 0x10
- movs r1, 0x10
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuDrawTextWindow
- ldr r1, _080FC318 @ =0x00000a48
- adds r0, r4, r1
- movs r1, 0x11
- movs r2, 0x11
- bl MenuPrint
- movs r0, 0x10
- movs r1, 0xE
- movs r2, 0x1D
- movs r3, 0xF
- bl MenuZeroFillWindowRect
-_080FC310:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080FC318: .4byte 0x00000a48
- thumb_func_end sub_80FC254
-
- thumb_func_start sub_80FC31C
-sub_80FC31C: @ 80FC31C
- push {r4,lr}
- sub sp, 0x8
- ldr r0, _080FC360 @ =gUnknown_083E784C
- ldr r4, _080FC364 @ =0x02000888
- adds r1, r4, 0
- bl LZ77UnCompWram
- str r4, [sp]
- ldr r1, _080FC368 @ =0xffff0000
- ldr r0, [sp, 0x4]
- ands r0, r1
- movs r1, 0xE0
- lsls r1, 1
- orrs r0, r1
- ldr r1, _080FC36C @ =0x0000ffff
- ands r0, r1
- movs r1, 0x80
- lsls r1, 10
- orrs r0, r1
- str r0, [sp, 0x4]
- mov r0, sp
- bl LoadSpriteSheet
- ldr r0, _080FC370 @ =gUnknown_083E79CC
- bl LoadSpritePalette
- bl sub_80FC374
- bl sub_80FC484
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FC360: .4byte gUnknown_083E784C
-_080FC364: .4byte 0x02000888
-_080FC368: .4byte 0xffff0000
-_080FC36C: .4byte 0x0000ffff
-_080FC370: .4byte gUnknown_083E79CC
- thumb_func_end sub_80FC31C
-
- thumb_func_start sub_80FC374
-sub_80FC374: @ 80FC374
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- ldr r0, _080FC3D4 @ =0x0000080f
- str r0, [sp, 0xC]
- movs r1, 0
- mov r9, r1
- mov r2, sp
- adds r2, 0x6
- str r2, [sp, 0x14]
- mov r3, sp
- adds r3, 0xA
- str r3, [sp, 0x18]
- mov r0, sp
- adds r0, 0x8
- str r0, [sp, 0x10]
- add r1, sp, 0x4
- mov r10, r1
-_080FC39E:
- ldr r2, [sp, 0x18]
- str r2, [sp]
- mov r0, r9
- add r1, sp, 0x4
- mov r2, sp
- adds r2, 0x6
- ldr r3, [sp, 0x10]
- bl sub_80FC04C
- mov r3, r10
- ldrh r0, [r3]
- adds r0, 0x1
- lsls r0, 3
- adds r0, 0x4
- strh r0, [r3]
- mov r1, sp
- ldrh r0, [r1, 0x6]
- adds r0, 0x2
- lsls r0, 3
- adds r0, 0x4
- strh r0, [r1, 0x6]
- ldr r2, [sp, 0x10]
- ldrh r0, [r2]
- cmp r0, 0x2
- bne _080FC3D8
- movs r7, 0x1
- b _080FC3E4
- .align 2, 0
-_080FC3D4: .4byte 0x0000080f
-_080FC3D8:
- ldr r3, [sp, 0x18]
- ldrh r0, [r3]
- movs r7, 0
- cmp r0, 0x2
- bne _080FC3E4
- movs r7, 0x2
-_080FC3E4:
- mov r0, r10
- movs r2, 0
- ldrsh r1, [r0, r2]
- ldr r3, [sp, 0x14]
- movs r0, 0
- ldrsh r2, [r3, r0]
- ldr r0, _080FC430 @ =gSpriteTemplate_83E7A38
- movs r3, 0xA
- bl CreateSprite
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x40
- beq _080FC458
- ldr r1, _080FC434 @ =gSprites
- mov r8, r1
- lsls r4, r5, 4
- adds r0, r4, r5
- lsls r6, r0, 2
- adds r2, r6, r1
- lsls r3, r7, 6
- ldrb r1, [r2, 0x1]
- movs r0, 0x3F
- ands r0, r1
- orrs r0, r3
- strb r0, [r2, 0x1]
- ldr r0, [sp, 0xC]
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _080FC43C
- mov r0, r8
- adds r0, 0x1C
- adds r0, r6, r0
- ldr r1, _080FC438 @ =sub_80FC55C
- str r1, [r0]
- b _080FC442
- .align 2, 0
-_080FC430: .4byte gSpriteTemplate_83E7A38
-_080FC434: .4byte gSprites
-_080FC438: .4byte sub_80FC55C
-_080FC43C:
- adds r0, r7, 0x3
- lsls r0, 16
- lsrs r7, r0, 16
-_080FC442:
- adds r4, r5
- lsls r4, 2
- ldr r0, _080FC480 @ =gSprites
- adds r4, r0
- lsls r1, r7, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- mov r2, r9
- strh r2, [r4, 0x2E]
-_080FC458:
- ldr r0, [sp, 0xC]
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0xC]
- mov r0, r9
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- cmp r0, 0xF
- bls _080FC39E
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FC480: .4byte gSprites
- thumb_func_end sub_80FC374
-
- thumb_func_start sub_80FC484
-sub_80FC484: @ 80FC484
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- movs r0, 0
- mov r8, r0
- ldr r6, _080FC54C @ =gUnknown_083E79D4
- ldrh r0, [r6, 0x2]
- cmp r0, 0x58
- beq _080FC53C
- mov r5, sp
- adds r5, 0x6
- add r7, sp, 0x4
- ldr r1, _080FC550 @ =gSprites
- mov r9, r1
- movs r0, 0x1C
- add r0, r9
- mov r10, r0
-_080FC4AC:
- mov r1, r8
- lsls r4, r1, 2
- adds r0, r4, r6
- ldrh r0, [r0]
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _080FC524
- adds r0, r6, 0x2
- adds r0, r4, r0
- ldrh r6, [r0]
- mov r0, sp
- adds r0, 0xA
- str r0, [sp]
- adds r0, r6, 0
- add r1, sp, 0x4
- adds r2, r5, 0
- add r3, sp, 0x8
- bl sub_80FC04C
- ldrh r0, [r7]
- adds r0, 0x1
- lsls r0, 3
- strh r0, [r7]
- ldrh r0, [r5]
- adds r0, 0x2
- lsls r0, 3
- strh r0, [r5]
- movs r0, 0
- ldrsh r1, [r7, r0]
- movs r0, 0
- ldrsh r2, [r5, r0]
- ldr r0, _080FC554 @ =gSpriteTemplate_83E7A38
- movs r3, 0xA
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _080FC524
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- mov r1, r9
- adds r4, r2, r1
- ldrb r1, [r4, 0x3]
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r4, 0x3]
- add r2, r10
- ldr r0, _080FC558 @ =sub_80FC55C
- str r0, [r2]
- adds r0, r4, 0
- movs r1, 0x6
- bl StartSpriteAnim
- strh r6, [r4, 0x2E]
-_080FC524:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldr r6, _080FC54C @ =gUnknown_083E79D4
- lsls r0, 2
- adds r1, r6, 0x2
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0x58
- bne _080FC4AC
-_080FC53C:
- 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
-_080FC54C: .4byte gUnknown_083E79D4
-_080FC550: .4byte gSprites
-_080FC554: .4byte gSpriteTemplate_83E7A38
-_080FC558: .4byte sub_80FC55C
- thumb_func_end sub_80FC484
-
- thumb_func_start sub_80FC55C
-sub_80FC55C: @ 80FC55C
- push {lr}
- adds r2, r0, 0
- ldr r0, _080FC59C @ =0x02000000
- ldrh r1, [r0, 0x1C]
- movs r3, 0x2E
- ldrsh r0, [r2, r3]
- cmp r1, r0
- bne _080FC5A0
- ldrh r0, [r2, 0x30]
- adds r0, 0x1
- strh r0, [r2, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- ble _080FC5AE
- movs r0, 0
- strh r0, [r2, 0x30]
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- lsrs r1, r2, 2
- movs r0, 0x1
- eors r1, r0
- ands r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- b _080FC5AE
- .align 2, 0
-_080FC59C: .4byte 0x02000000
-_080FC5A0:
- movs r0, 0x10
- strh r0, [r2, 0x30]
- adds r2, 0x3E
- ldrb r1, [r2]
- subs r0, 0x15
- ands r0, r1
- strb r0, [r2]
-_080FC5AE:
- pop {r0}
- bx r0
- thumb_func_end sub_80FC55C
-
- thumb_func_start sub_80FC5B4
-sub_80FC5B4: @ 80FC5B4
- push {r4,lr}
- sub sp, 0x4
- ldr r4, _080FC5C8 @ =0x02000000
- ldrh r1, [r4, 0x4]
- cmp r1, 0
- beq _080FC5CC
- cmp r1, 0x1
- beq _080FC5E4
- b _080FC5F4
- .align 2, 0
-_080FC5C8: .4byte 0x02000000
-_080FC5CC:
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldrh r0, [r4, 0x4]
- adds r0, 0x1
- strh r0, [r4, 0x4]
- b _080FC5F4
-_080FC5E4:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _080FC5F4
- ldr r0, _080FC5FC @ =sub_80FC600
- bl sub_80FC244
-_080FC5F4:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FC5FC: .4byte sub_80FC600
- thumb_func_end sub_80FC5B4
-
- thumb_func_start sub_80FC600
-sub_80FC600: @ 80FC600
- push {r4,lr}
- ldr r0, _080FC620 @ =0x02000000
- ldrh r0, [r0, 0x4]
- cmp r0, 0
- bne _080FC68A
- bl sub_80FAB60
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bhi _080FC68A
- lsls r0, 2
- ldr r1, _080FC624 @ =_080FC628
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080FC620: .4byte 0x02000000
-_080FC624: .4byte _080FC628
- .align 2, 0
-_080FC628:
- .4byte _080FC68A
- .4byte _080FC68A
- .4byte _080FC68A
- .4byte _080FC640
- .4byte _080FC646
- .4byte _080FC674
-_080FC640:
- bl sub_80FC254
- b _080FC68A
-_080FC646:
- ldr r4, _080FC668 @ =0x02000000
- ldrb r0, [r4, 0x1E]
- cmp r0, 0x2
- beq _080FC652
- cmp r0, 0x4
- bne _080FC68A
-_080FC652:
- movs r0, 0x5
- bl m4aSongNumStart
- ldr r1, _080FC66C @ =0x00000a6e
- adds r0, r4, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, _080FC670 @ =sub_80FC69C
- bl sub_80FC244
- b _080FC68A
- .align 2, 0
-_080FC668: .4byte 0x02000000
-_080FC66C: .4byte 0x00000a6e
-_080FC670: .4byte sub_80FC69C
-_080FC674:
- movs r0, 0x5
- bl m4aSongNumStart
- ldr r0, _080FC690 @ =0x02000000
- ldr r1, _080FC694 @ =0x00000a6e
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, _080FC698 @ =sub_80FC69C
- bl sub_80FC244
-_080FC68A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FC690: .4byte 0x02000000
-_080FC694: .4byte 0x00000a6e
-_080FC698: .4byte sub_80FC69C
- thumb_func_end sub_80FC600
-
- thumb_func_start sub_80FC69C
-sub_80FC69C: @ 80FC69C
- push {r4,lr}
- sub sp, 0x4
- ldr r4, _080FC6B0 @ =0x02000000
- ldrh r1, [r4, 0x4]
- cmp r1, 0
- beq _080FC6B4
- cmp r1, 0x1
- beq _080FC6CC
- b _080FC792
- .align 2, 0
-_080FC6B0: .4byte 0x02000000
-_080FC6B4:
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldrh r0, [r4, 0x4]
- adds r0, 0x1
- strh r0, [r4, 0x4]
- b _080FC792
-_080FC6CC:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _080FC792
- bl sub_80FAB10
- ldr r1, _080FC6F4 @ =0x00000a6e
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080FC78C
- ldrh r0, [r4, 0x1C]
- cmp r0, 0xF
- beq _080FC724
- cmp r0, 0xF
- bgt _080FC6F8
- cmp r0, 0
- beq _080FC710
- b _080FC748
- .align 2, 0
-_080FC6F4: .4byte 0x00000a6e
-_080FC6F8:
- cmp r0, 0x3A
- beq _080FC708
- cmp r0, 0x49
- bne _080FC748
- movs r0, 0x16
- bl sub_8053538
- b _080FC786
-_080FC708:
- movs r0, 0x15
- bl sub_8053538
- b _080FC786
-_080FC710:
- ldr r0, _080FC720 @ =gSaveBlock2
- ldrb r0, [r0, 0x8]
- movs r1, 0xD
- cmp r0, 0
- bne _080FC73A
- movs r1, 0xC
- b _080FC73A
- .align 2, 0
-_080FC720: .4byte gSaveBlock2
-_080FC724:
- ldr r0, _080FC744 @ =0x00000854
- bl FlagGet
- lsls r0, 24
- movs r1, 0xB
- cmp r0, 0
- beq _080FC73A
- ldrb r0, [r4, 0x1F]
- cmp r0, 0
- bne _080FC73A
- movs r1, 0x14
-_080FC73A:
- adds r0, r1, 0
- bl sub_8053538
- b _080FC786
- .align 2, 0
-_080FC744: .4byte 0x00000854
-_080FC748:
- ldr r3, _080FC764 @ =gUnknown_083E7920
- ldr r0, _080FC768 @ =0x02000000
- ldrh r1, [r0, 0x1C]
- lsls r0, r1, 1
- adds r2, r0, r1
- adds r0, r3, 0x2
- adds r1, r2, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _080FC76C
- bl sub_8053538
- b _080FC786
- .align 2, 0
-_080FC764: .4byte gUnknown_083E7920
-_080FC768: .4byte 0x02000000
-_080FC76C:
- adds r0, r2, r3
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r1, r3, 0x1
- adds r1, r2, r1
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- movs r2, 0x1
- negs r2, r2
- bl warp1_set_2
-_080FC786:
- bl sub_80865BC
- b _080FC792
-_080FC78C:
- ldr r0, _080FC79C @ =sub_808AD58
- bl SetMainCallback2
-_080FC792:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FC79C: .4byte sub_808AD58
- thumb_func_end sub_80FC69C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/rom_header.inc b/asm/rom_header.inc
index 43eec30bb..a852a9f23 100644
--- a/asm/rom_header.inc
+++ b/asm/rom_header.inc
@@ -66,8 +66,12 @@ RomHeaderChecksum:
.byte 0x41 - REVISION
.endif
.else
+ .ifdef SAPPHIRE
+ .byte 0x56
+ .else
.byte 0x42
.endif
+ .endif
RomHeaderReserved2:
.space 2
diff --git a/asm/trader.s b/asm/trader.s
deleted file mode 100644
index 3bda1d8dc..000000000
--- a/asm/trader.s
+++ /dev/null
@@ -1,656 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_810993C
-sub_810993C: @ 810993C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- ldr r0, _081099C8 @ =gSaveBlock1 + 0x2D94
- mov r9, r0
- movs r2, 0
-_0810994E:
- adds r1, r2, 0x1
- lsls r0, r1, 24
- lsrs r5, r0, 24
- str r1, [sp, 0xC]
- cmp r5, 0x3
- bhi _081099AC
- movs r1, 0x1
- add r1, r9
- mov r8, r1
- adds r6, r1, r2
- movs r0, 0xB
- mov r10, r0
- mov r0, r10
- muls r0, r2
- adds r0, 0x5
- mov r1, r9
- adds r7, r1, r0
-_08109970:
- ldrb r0, [r6]
- cmp r0, 0
- bne _081099A2
- adds r2, r0, 0
- mov r0, r8
- adds r1, r0, r5
- ldrb r0, [r1]
- strb r0, [r6]
- strb r2, [r1]
- mov r0, sp
- adds r1, r7, 0
- bl StringCopy
- mov r4, r10
- muls r4, r5
- adds r4, 0x5
- add r4, r9
- adds r0, r7, 0
- adds r1, r4, 0
- bl StringCopy
- adds r0, r4, 0
- mov r1, sp
- bl StringCopy
-_081099A2:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _08109970
-_081099AC:
- ldr r1, [sp, 0xC]
- lsls r0, r1, 24
- lsrs r2, r0, 24
- cmp r2, 0x2
- bls _0810994E
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081099C8: .4byte gSaveBlock1 + 0x2D94
- thumb_func_end sub_810993C
-
- thumb_func_start sub_81099CC
-sub_81099CC: @ 81099CC
- push {r4-r6,lr}
- ldr r5, _08109A14 @ =gSaveBlock1 + 0x2D94
- movs r1, 0
- movs r0, 0x2
- strb r0, [r5]
- adds r0, r5, 0
- adds r0, 0x31
- strb r1, [r0]
- movs r4, 0
- ldr r6, _08109A18 @ =gUnknown_083F62D8
-_081099E0:
- movs r0, 0xB
- muls r0, r4
- adds r0, 0x5
- adds r0, r5, r0
- lsls r1, r4, 2
- adds r1, r6
- ldr r1, [r1]
- bl StringCopy
- adds r1, r5, 0x1
- adds r1, r4
- ldr r0, _08109A1C @ =gTraderDecorations
- adds r0, r4, r0
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _081099E0
- bl sub_810993C
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08109A14: .4byte gSaveBlock1 + 0x2D94
-_08109A18: .4byte gUnknown_083F62D8
-_08109A1C: .4byte gTraderDecorations
- thumb_func_end sub_81099CC
-
- thumb_func_start sub_8109A20
-sub_8109A20: @ 8109A20
- ldr r0, _08109A2C @ =gSaveBlock1 + 0x2D94
- adds r0, 0x31
- movs r1, 0
- strb r1, [r0]
- bx lr
- .align 2, 0
-_08109A2C: .4byte gSaveBlock1 + 0x2D94
- thumb_func_end sub_8109A20
-
- thumb_func_start sub_8109A30
-sub_8109A30: @ 8109A30
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r0, _08109A44 @ =0x00004020
- bl VarSet
- pop {r0}
- bx r0
- .align 2, 0
-_08109A44: .4byte 0x00004020
- thumb_func_end sub_8109A30
-
- thumb_func_start sub_8109A48
-sub_8109A48: @ 8109A48
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- movs r6, 0x1
- movs r5, 0
- ldr r0, _08109AB8 @ =gSaveBlock1 + 0x2D94
- movs r4, 0
- adds r7, r0, 0x1
- adds r1, r7, 0
-_08109A64:
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _08109A72
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_08109A72:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _08109A64
- lsls r3, r6, 25
- movs r0, 0x80
- lsls r0, 18
- adds r3, r0
- lsrs r3, 24
- movs r0, 0
- movs r1, 0x1
- movs r2, 0xC
- bl MenuDrawTextWindow
- movs r4, 0
- mov r1, r9
- lsls r1, 2
- mov r8, r1
-_08109A98:
- adds r1, r7, r4
- ldrb r0, [r1]
- cmp r0, 0
- beq _08109ADE
- cmp r0, 0x78
- bls _08109AC0
- lsls r2, r5, 25
- movs r0, 0x80
- lsls r0, 18
- adds r2, r0
- lsrs r2, 24
- ldr r0, _08109ABC @ =gOtherText_FiveQuestionsAndSlash
- movs r1, 0x1
- bl MenuPrint
- b _08109AD8
- .align 2, 0
-_08109AB8: .4byte gSaveBlock1 + 0x2D94
-_08109ABC: .4byte gOtherText_FiveQuestionsAndSlash
-_08109AC0:
- ldrb r0, [r1]
- lsls r0, 5
- ldr r1, _08109B28 @ =gDecorations + 0x1
- adds r0, r1
- lsls r2, r5, 25
- movs r1, 0x80
- lsls r1, 18
- adds r2, r1
- lsrs r2, 24
- movs r1, 0x1
- bl MenuPrint
-_08109AD8:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_08109ADE:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _08109A98
- ldr r0, _08109B2C @ =gOtherText_CancelNoTerminator
- lsls r2, r5, 25
- movs r1, 0x80
- lsls r1, 18
- adds r2, r1
- lsrs r2, 24
- movs r1, 0x1
- bl MenuPrint
- movs r0, 0
- str r0, [sp]
- movs r0, 0xB
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x2
- adds r3, r6, 0
- bl InitMenu
- ldr r1, _08109B30 @ =gTasks
- mov r0, r8
- add r0, r9
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0xA]
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08109B28: .4byte gDecorations + 0x1
-_08109B2C: .4byte gOtherText_CancelNoTerminator
-_08109B30: .4byte gTasks
- thumb_func_end sub_8109A48
-
- thumb_func_start sub_8109B34
-sub_8109B34: @ 8109B34
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0x78
- bls _08109B54
- ldr r1, _08109B4C @ =gSpecialVar_0x8004
- ldr r2, _08109B50 @ =0x0000ffff
- adds r0, r2, 0
- strh r0, [r1]
- b _08109B58
- .align 2, 0
-_08109B4C: .4byte gSpecialVar_0x8004
-_08109B50: .4byte 0x0000ffff
-_08109B54:
- ldr r0, _08109B78 @ =gSpecialVar_0x8004
- strh r1, [r0]
-_08109B58:
- bl HandleDestroyMenuCursors
- movs r0, 0
- movs r1, 0x1
- movs r2, 0xC
- movs r3, 0xC
- bl MenuZeroFillWindowRect
- adds r0, r4, 0
- bl DestroyTask
- bl EnableBothScriptContexts
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08109B78: .4byte gSpecialVar_0x8004
- thumb_func_end sub_8109B34
-
- thumb_func_start sub_8109B7C
-sub_8109B7C: @ 8109B7C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- ldr r6, _08109BA4 @ =gSaveBlock1 + 0x2D94
- ldr r0, _08109BA8 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08109BAC
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- bl MoveMenuCursor
- b _08109C3E
- .align 2, 0
-_08109BA4: .4byte gSaveBlock1 + 0x2D94
-_08109BA8: .4byte gMain
-_08109BAC:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08109BC2
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- bl MoveMenuCursor
- b _08109C3E
-_08109BC2:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08109C28
- movs r0, 0x5
- bl PlaySE
- ldr r5, _08109BFC @ =gSpecialVar_0x8005
- bl GetMenuCursorPos
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5]
- ldr r1, _08109C00 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0xA
- ldrsh r0, [r0, r1]
- ldrh r2, [r5]
- cmp r0, r2
- bne _08109C04
- adds r0, r4, 0
- movs r1, 0
- bl sub_8109B34
- b _08109C3E
- .align 2, 0
-_08109BFC: .4byte gSpecialVar_0x8005
-_08109C00: .4byte gTasks
-_08109C04:
- ldr r0, _08109C24 @ =gStringVar1
- movs r1, 0xB
- muls r1, r2
- adds r1, 0x5
- adds r1, r6
- bl StringCopy
- adds r0, r6, 0x1
- ldrh r5, [r5]
- adds r0, r5
- ldrb r1, [r0]
- adds r0, r4, 0
- bl sub_8109B34
- b _08109C3E
- .align 2, 0
-_08109C24: .4byte gStringVar1
-_08109C28:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08109C3E
- movs r0, 0x5
- bl PlaySE
- adds r0, r5, 0
- movs r1, 0
- bl sub_8109B34
-_08109C3E:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8109B7C
-
- thumb_func_start sub_8109C44
-sub_8109C44: @ 8109C44
- ldr r0, _08109C50 @ =gSaveBlock1 + 0x2D94
- ldr r1, _08109C54 @ =gScriptResult
- adds r0, 0x31
- ldrb r0, [r0]
- strh r0, [r1]
- bx lr
- .align 2, 0
-_08109C50: .4byte gSaveBlock1 + 0x2D94
-_08109C54: .4byte gScriptResult
- thumb_func_end sub_8109C44
-
- thumb_func_start sub_8109C58
-sub_8109C58: @ 8109C58
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, _08109C70 @ =gScriptResult
-_08109C5E:
- adds r0, r4, 0
- bl sub_8134194
- lsls r0, 24
- cmp r0, 0
- beq _08109C74
- movs r0, 0
- strh r0, [r5]
- b _08109C84
- .align 2, 0
-_08109C70: .4byte gScriptResult
-_08109C74:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x7
- bls _08109C5E
- ldr r1, _08109C8C @ =gScriptResult
- movs r0, 0x1
- strh r0, [r1]
-_08109C84:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08109C8C: .4byte gScriptResult
- thumb_func_end sub_8109C58
-
- thumb_func_start sub_8109C90
-sub_8109C90: @ 8109C90
- push {r4-r6,lr}
- ldr r6, _08109CDC @ =gScriptResult
- movs r0, 0
- strh r0, [r6]
- ldr r4, _08109CE0 @ =gDecorations
- ldr r5, _08109CE4 @ =gSpecialVar_0x8004
- ldrh r0, [r5]
- lsls r0, 5
- adds r2, r0, r4
- ldr r0, _08109CE8 @ =gSpecialVar_0x8006
- ldrh r0, [r0]
- lsls r0, 5
- adds r0, r4
- ldrb r1, [r2, 0x13]
- ldrb r0, [r0, 0x13]
- cmp r1, r0
- beq _08109CD6
- adds r0, r1, 0
- bl sub_8133F9C
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _08109CD6
- ldr r0, _08109CEC @ =gStringVar2
- ldrh r1, [r5]
- lsls r1, 5
- adds r1, r4
- ldrb r1, [r1, 0x13]
- bl sub_80FE7D4
- movs r0, 0x1
- strh r0, [r6]
-_08109CD6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08109CDC: .4byte gScriptResult
-_08109CE0: .4byte gDecorations
-_08109CE4: .4byte gSpecialVar_0x8004
-_08109CE8: .4byte gSpecialVar_0x8006
-_08109CEC: .4byte gStringVar2
- thumb_func_end sub_8109C90
-
- thumb_func_start sub_8109CF0
-sub_8109CF0: @ 8109CF0
- push {lr}
- ldr r0, _08109D00 @ =sub_80FE7A8
- movs r1, 0
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_08109D00: .4byte sub_80FE7A8
- thumb_func_end sub_8109CF0
-
- thumb_func_start sub_8109D04
-sub_8109D04: @ 8109D04
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- bl HandleDestroyMenuCursors
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- movs r0, 0
- bl DestroyVerticalScrollIndicator
- movs r0, 0x1
- bl DestroyVerticalScrollIndicator
- ldr r0, _08109D6C @ =gUnknown_020388F7
- movs r1, 0x8
- bl sub_80F9520
- bl BuyMenuFreeMemory
- bl sub_80FEFA4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08109D8C
- ldr r5, _08109D70 @ =gSpecialVar_0x8006
- ldr r0, _08109D74 @ =gUnknown_020388F5
- ldrb r1, [r0]
- ldr r0, _08109D78 @ =gUnknown_020388D0
- ldr r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- strh r0, [r5]
- ldr r0, _08109D7C @ =gStringVar3
- ldr r1, _08109D80 @ =gSpecialVar_0x8004
- ldrh r1, [r1]
- lsls r1, 5
- ldr r4, _08109D84 @ =gDecorations + 0x1
- adds r1, r4
- bl StringCopy
- ldr r0, _08109D88 @ =gStringVar2
- ldrh r1, [r5]
- lsls r1, 5
- adds r1, r4
- bl StringCopy
- b _08109D94
- .align 2, 0
-_08109D6C: .4byte gUnknown_020388F7
-_08109D70: .4byte gSpecialVar_0x8006
-_08109D74: .4byte gUnknown_020388F5
-_08109D78: .4byte gUnknown_020388D0
-_08109D7C: .4byte gStringVar3
-_08109D80: .4byte gSpecialVar_0x8004
-_08109D84: .4byte gDecorations + 0x1
-_08109D88: .4byte gStringVar2
-_08109D8C:
- ldr r1, _08109DA4 @ =gSpecialVar_0x8006
- ldr r2, _08109DA8 @ =0x0000ffff
- adds r0, r2, 0
- strh r0, [r1]
-_08109D94:
- adds r0, r6, 0
- bl DestroyTask
- bl EnableBothScriptContexts
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08109DA4: .4byte gSpecialVar_0x8006
-_08109DA8: .4byte 0x0000ffff
- thumb_func_end sub_8109D04
-
- thumb_func_start sub_8109DAC
-sub_8109DAC: @ 8109DAC
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl HandleDestroyMenuCursors
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r1, _08109DDC @ =gSpecialVar_0x8006
- movs r0, 0
- strh r0, [r1]
- adds r0, r4, 0
- bl DestroyTask
- bl EnableBothScriptContexts
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08109DDC: .4byte gSpecialVar_0x8006
- thumb_func_end sub_8109DAC
-
- thumb_func_start sub_8109DE0
-sub_8109DE0: @ 8109DE0
- push {r4-r6,lr}
- ldr r4, _08109E20 @ =gSaveBlock1 + 0x2D94
- ldr r6, _08109E24 @ =gSpecialVar_0x8006
- ldrb r0, [r6]
- bl sub_81340A8
- ldr r0, _08109E28 @ =gSpecialVar_0x8004
- ldrb r0, [r0]
- bl IsThereStorageSpaceForDecoration
- ldr r5, _08109E2C @ =gSpecialVar_0x8005
- ldrh r1, [r5]
- movs r0, 0xB
- muls r0, r1
- adds r0, 0x5
- adds r0, r4
- ldr r1, _08109E30 @ =gSaveBlock2
- bl StringCopy
- adds r0, r4, 0x1
- ldrh r5, [r5]
- adds r0, r5
- ldrh r1, [r6]
- strb r1, [r0]
- bl sub_810993C
- adds r4, 0x31
- movs r0, 0x1
- strb r0, [r4]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08109E20: .4byte gSaveBlock1 + 0x2D94
-_08109E24: .4byte gSpecialVar_0x8006
-_08109E28: .4byte gSpecialVar_0x8004
-_08109E2C: .4byte gSpecialVar_0x8005
-_08109E30: .4byte gSaveBlock2
- thumb_func_end sub_8109DE0
-
- thumb_func_start sub_8109E34
-sub_8109E34: @ 8109E34
- push {lr}
- ldr r0, _08109E4C @ =sub_8109B7C
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- bl sub_8109A48
- pop {r0}
- bx r0
- .align 2, 0
-_08109E4C: .4byte sub_8109B7C
- thumb_func_end sub_8109E34
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/unknown_task.s b/asm/unknown_task.s
deleted file mode 100644
index 39f1497ef..000000000
--- a/asm/unknown_task.s
+++ /dev/null
@@ -1,645 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start remove_some_task
-remove_some_task: @ 8089578
- push {r4,lr}
- ldr r4, _080895A8 @ =gUnknown_03004DC0
- movs r0, 0
- strb r0, [r4, 0x15]
- ldr r1, _080895AC @ =0x040000b0
- ldrh r2, [r1, 0xA]
- ldr r0, _080895B0 @ =0x0000c5ff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r2, [r1, 0xA]
- ldr r0, _080895B4 @ =0x00007fff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r0, [r1, 0xA]
- ldrb r0, [r4, 0x18]
- cmp r0, 0xFF
- beq _080895A2
- bl DestroyTask
- movs r0, 0xFF
- strb r0, [r4, 0x18]
-_080895A2:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080895A8: .4byte gUnknown_03004DC0
-_080895AC: .4byte 0x040000b0
-_080895B0: .4byte 0x0000c5ff
-_080895B4: .4byte 0x00007fff
- thumb_func_end remove_some_task
-
- thumb_func_start dp12_8087EA4
-dp12_8087EA4: @ 80895B8
- push {r4,lr}
- sub sp, 0x4
- mov r0, sp
- movs r4, 0
- strh r4, [r0]
- ldr r1, _080895EC @ =gUnknown_03004DE0
- ldr r2, _080895F0 @ =0x01000780
- bl CpuSet
- ldr r0, _080895F4 @ =gUnknown_03004DC0
- movs r1, 0
- str r1, [r0]
- str r1, [r0, 0x4]
- str r1, [r0, 0x8]
- str r1, [r0, 0xC]
- strb r4, [r0, 0x14]
- strb r4, [r0, 0x15]
- strb r4, [r0, 0x16]
- strb r4, [r0, 0x17]
- movs r1, 0xFF
- strb r1, [r0, 0x18]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080895EC: .4byte gUnknown_03004DE0
-_080895F0: .4byte 0x01000780
-_080895F4: .4byte gUnknown_03004DC0
- thumb_func_end dp12_8087EA4
-
- thumb_func_start sub_80895F8
-sub_80895F8: @ 80895F8
- push {lr}
- sub sp, 0xC
- str r0, [sp]
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- ldr r0, _0808961C @ =0xa2600001
- cmp r1, r0
- bne _0808962C
- ldr r0, _08089620 @ =gUnknown_03004DC0
- ldr r1, _08089624 @ =gUnknown_03004DE2
- str r1, [r0]
- movs r2, 0xF0
- lsls r2, 3
- adds r1, r2
- str r1, [r0, 0x4]
- ldr r1, _08089628 @ =sub_80896F4
- b _0808963C
- .align 2, 0
-_0808961C: .4byte 0xa2600001
-_08089620: .4byte gUnknown_03004DC0
-_08089624: .4byte gUnknown_03004DE2
-_08089628: .4byte sub_80896F4
-_0808962C:
- ldr r0, _0808965C @ =gUnknown_03004DC0
- ldr r1, _08089660 @ =gUnknown_03004DE4
- str r1, [r0]
- movs r2, 0xF0
- lsls r2, 3
- adds r1, r2
- str r1, [r0, 0x4]
- ldr r1, _08089664 @ =sub_8089714
-_0808963C:
- str r1, [r0, 0x10]
- adds r1, r0, 0
- ldr r0, [sp, 0x4]
- str r0, [r1, 0xC]
- ldr r0, [sp]
- str r0, [r1, 0x8]
- mov r0, sp
- ldrb r0, [r0, 0x8]
- strb r0, [r1, 0x15]
- mov r0, sp
- ldrb r0, [r0, 0x9]
- strb r0, [r1, 0x16]
- strb r0, [r1, 0x17]
- add sp, 0xC
- pop {r0}
- bx r0
- .align 2, 0
-_0808965C: .4byte gUnknown_03004DC0
-_08089660: .4byte gUnknown_03004DE4
-_08089664: .4byte sub_8089714
- thumb_func_end sub_80895F8
-
- thumb_func_start sub_8089668
-sub_8089668: @ 8089668
- push {r4,lr}
- ldr r4, _08089698 @ =gUnknown_03004DC0
- ldrb r0, [r4, 0x15]
- cmp r0, 0
- beq _080896E2
- cmp r0, 0x3
- bne _080896AC
- movs r0, 0
- strb r0, [r4, 0x15]
- ldr r1, _0808969C @ =0x040000b0
- ldrh r2, [r1, 0xA]
- ldr r0, _080896A0 @ =0x0000c5ff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r2, [r1, 0xA]
- ldr r0, _080896A4 @ =0x00007fff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r0, [r1, 0xA]
- ldr r1, _080896A8 @ =gUnknown_0202FFA4
- movs r0, 0x1
- strb r0, [r1]
- b _080896E2
- .align 2, 0
-_08089698: .4byte gUnknown_03004DC0
-_0808969C: .4byte 0x040000b0
-_080896A0: .4byte 0x0000c5ff
-_080896A4: .4byte 0x00007fff
-_080896A8: .4byte gUnknown_0202FFA4
-_080896AC:
- ldr r1, _080896E8 @ =0x040000b0
- ldrh r2, [r1, 0xA]
- ldr r0, _080896EC @ =0x0000c5ff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r2, [r1, 0xA]
- ldr r0, _080896F0 @ =0x00007fff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r0, [r1, 0xA]
- ldrb r0, [r4, 0x14]
- lsls r0, 2
- adds r0, r4
- ldr r0, [r0]
- str r0, [r1]
- ldr r0, [r4, 0x8]
- str r0, [r1, 0x4]
- ldr r0, [r4, 0xC]
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- ldr r0, [r4, 0x10]
- bl _call_via_r0
- ldrb r0, [r4, 0x14]
- movs r1, 0x1
- eors r0, r1
- strb r0, [r4, 0x14]
-_080896E2:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080896E8: .4byte 0x040000b0
-_080896EC: .4byte 0x0000c5ff
-_080896F0: .4byte 0x00007fff
- thumb_func_end sub_8089668
-
- thumb_func_start sub_80896F4
-sub_80896F4: @ 80896F4
- ldr r0, _0808970C @ =gUnknown_03004DC0
- ldr r2, [r0, 0x8]
- ldrb r1, [r0, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- ldr r1, _08089710 @ =gUnknown_03004DE0
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r2]
- bx lr
- .align 2, 0
-_0808970C: .4byte gUnknown_03004DC0
-_08089710: .4byte gUnknown_03004DE0
- thumb_func_end sub_80896F4
-
- thumb_func_start sub_8089714
-sub_8089714: @ 8089714
- ldr r0, _0808972C @ =gUnknown_03004DC0
- ldr r2, [r0, 0x8]
- ldrb r1, [r0, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- ldr r1, _08089730 @ =gUnknown_03004DE0
- adds r0, r1
- ldr r0, [r0]
- str r0, [r2]
- bx lr
- .align 2, 0
-_0808972C: .4byte gUnknown_03004DC0
-_08089730: .4byte gUnknown_03004DE0
- thumb_func_end sub_8089714
-
- thumb_func_start task00_for_dp12
-task00_for_dp12: @ 8089734
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- mov r12, r0
- movs r6, 0
- ldr r0, _0808975C @ =gUnknown_0202FFA4
- ldrb r0, [r0]
- cmp r0, 0
- beq _08089764
- mov r0, r12
- bl DestroyTask
- ldr r1, _08089760 @ =gUnknown_03004DC0
- movs r0, 0xFF
- strb r0, [r1, 0x18]
- b _080898E4
- .align 2, 0
-_0808975C: .4byte gUnknown_0202FFA4
-_08089760: .4byte gUnknown_03004DC0
-_08089764:
- ldr r1, _08089790 @ =gTasks
- mov r0, r12
- lsls r2, r0, 2
- adds r0, r2, r0
- lsls r0, 3
- adds r3, r0, r1
- movs r4, 0x16
- ldrsh r0, [r3, r4]
- mov r10, r1
- mov r9, r2
- cmp r0, 0
- beq _08089810
- movs r1, 0x14
- ldrsh r0, [r3, r1]
- cmp r0, 0xE
- bhi _08089810
- lsls r0, 2
- ldr r1, _08089794 @ =_08089798
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08089790: .4byte gTasks
-_08089794: .4byte _08089798
- .align 2, 0
-_08089798:
- .4byte _080897D4
- .4byte _08089810
- .4byte _080897DC
- .4byte _08089810
- .4byte _080897E4
- .4byte _08089810
- .4byte _080897EC
- .4byte _08089810
- .4byte _080897F4
- .4byte _08089810
- .4byte _080897FC
- .4byte _08089810
- .4byte _08089804
- .4byte _08089810
- .4byte _0808980C
-_080897D4:
- ldr r0, _080897D8 @ =gUnknown_030042A4
- b _0808980E
- .align 2, 0
-_080897D8: .4byte gUnknown_030042A4
-_080897DC:
- ldr r0, _080897E0 @ =gUnknown_030042A0
- b _0808980E
- .align 2, 0
-_080897E0: .4byte gUnknown_030042A0
-_080897E4:
- ldr r0, _080897E8 @ =gUnknown_030042C0
- b _0808980E
- .align 2, 0
-_080897E8: .4byte gUnknown_030042C0
-_080897EC:
- ldr r0, _080897F0 @ =gUnknown_030041B4
- b _0808980E
- .align 2, 0
-_080897F0: .4byte gUnknown_030041B4
-_080897F4:
- ldr r0, _080897F8 @ =gUnknown_03004288
- b _0808980E
- .align 2, 0
-_080897F8: .4byte gUnknown_03004288
-_080897FC:
- ldr r0, _08089800 @ =gUnknown_03004280
- b _0808980E
- .align 2, 0
-_08089800: .4byte gUnknown_03004280
-_08089804:
- ldr r0, _08089808 @ =gUnknown_030041B0
- b _0808980E
- .align 2, 0
-_08089808: .4byte gUnknown_030041B0
-_0808980C:
- ldr r0, _08089870 @ =gUnknown_030041B8
-_0808980E:
- ldrh r6, [r0]
-_08089810:
- mov r0, r9
- add r0, r12
- lsls r0, 3
- mov r2, r10
- adds r1, r0, r2
- ldrh r2, [r1, 0x10]
- movs r3, 0x10
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _0808987C
- subs r0, r2, 0x1
- strh r0, [r1, 0x10]
- movs r4, 0xE
- ldrsh r0, [r1, r4]
- movs r3, 0xA0
- lsls r3, 1
- adds r2, r0, r3
- movs r4, 0x8
- ldrsh r3, [r1, r4]
- movs r4, 0xA
- ldrsh r0, [r1, r4]
- cmp r3, r0
- bge _080898E4
- ldr r5, _08089874 @ =gUnknown_03004DE0
- ldr r0, _08089878 @ =gUnknown_03004DC0
- mov r8, r0
- adds r7, r1, 0
- lsls r0, r2, 1
- adds r4, r0, r5
-_0808984A:
- lsls r2, r3, 1
- mov r0, r8
- ldrb r1, [r0, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- adds r2, r5
- ldrh r0, [r4]
- adds r0, r6
- strh r0, [r2]
- adds r4, 0x2
- adds r3, 0x1
- movs r1, 0xA
- ldrsh r0, [r7, r1]
- cmp r3, r0
- blt _0808984A
- b _080898E4
- .align 2, 0
-_08089870: .4byte gUnknown_030041B8
-_08089874: .4byte gUnknown_03004DE0
-_08089878: .4byte gUnknown_03004DC0
-_0808987C:
- ldrh r0, [r1, 0x12]
- strh r0, [r1, 0x10]
- movs r2, 0xE
- ldrsh r0, [r1, r2]
- movs r3, 0xA0
- lsls r3, 1
- adds r2, r0, r3
- movs r4, 0x8
- ldrsh r3, [r1, r4]
- movs r4, 0xA
- ldrsh r0, [r1, r4]
- cmp r3, r0
- bge _080898C4
- ldr r5, _080898F4 @ =gUnknown_03004DE0
- adds r7, r1, 0
- lsls r0, r2, 1
- adds r4, r0, r5
- ldr r0, _080898F8 @ =gUnknown_03004DC0
- mov r8, r0
-_080898A2:
- lsls r2, r3, 1
- mov r0, r8
- ldrb r1, [r0, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- adds r2, r5
- ldrh r0, [r4]
- adds r0, r6
- strh r0, [r2]
- adds r4, 0x2
- adds r3, 0x1
- movs r1, 0xA
- ldrsh r0, [r7, r1]
- cmp r3, r0
- blt _080898A2
-_080898C4:
- mov r0, r9
- add r0, r12
- lsls r0, 3
- mov r3, r10
- adds r2, r0, r3
- ldrh r0, [r2, 0xE]
- adds r0, 0x1
- strh r0, [r2, 0xE]
- lsls r0, 16
- asrs r0, 16
- movs r4, 0xC
- ldrsh r1, [r2, r4]
- cmp r0, r1
- bne _080898E4
- movs r0, 0
- strh r0, [r2, 0xE]
-_080898E4:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080898F4: .4byte gUnknown_03004DE0
-_080898F8: .4byte gUnknown_03004DC0
- thumb_func_end task00_for_dp12
-
- thumb_func_start sub_80898FC
-sub_80898FC: @ 80898FC
- push {r4-r7,lr}
- adds r6, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r4, r2, 24
- movs r1, 0
- movs r2, 0
- ldr r0, _08089940 @ =gSineTable
- mov r12, r0
-_08089910:
- lsls r0, r1, 1
- adds r3, r0, r6
- lsls r0, r2, 1
- add r0, r12
- movs r7, 0
- ldrsh r0, [r0, r7]
- muls r0, r4
- cmp r0, 0
- bge _08089924
- adds r0, 0xFF
-_08089924:
- asrs r0, 8
- strh r0, [r3]
- adds r0, r2, r5
- lsls r0, 24
- lsrs r2, r0, 24
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0xFF
- bls _08089910
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08089940: .4byte gSineTable
- thumb_func_end sub_80898FC
-
- thumb_func_start sub_8089944
-sub_8089944: @ 8089944
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- adds r5, r0, 0
- str r1, [sp, 0x10]
- ldr r0, [sp, 0x40]
- mov r8, r0
- ldr r1, [sp, 0x44]
- mov r9, r1
- ldr r0, [sp, 0x48]
- mov r10, r0
- lsls r5, 24
- lsrs r5, 24
- ldr r1, [sp, 0x10]
- lsls r1, 24
- str r1, [sp, 0x14]
- lsrs r0, r1, 24
- str r0, [sp, 0xC]
- lsls r1, r2, 24
- lsrs r1, 24
- str r1, [sp, 0x18]
- lsls r2, r3, 24
- lsrs r2, 24
- str r2, [sp, 0x1C]
- mov r1, r8
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- mov r3, r9
- lsls r3, 24
- lsrs r3, 24
- mov r9, r3
- mov r0, r10
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- bl dp12_8087EA4
- ldr r0, _08089A50 @ =REG_BG0HOFS
- add r0, r9
- str r0, [sp]
- ldr r0, _08089A54 @ =0xa2600001
- str r0, [sp, 0x4]
- mov r1, sp
- movs r0, 0x1
- strb r0, [r1, 0x8]
- mov r0, sp
- movs r1, 0
- strb r1, [r0, 0x9]
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- ldr r2, [sp, 0x8]
- bl sub_80895F8
- ldr r0, _08089A58 @ =task00_for_dp12
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, _08089A5C @ =gTasks
- lsls r4, r7, 2
- adds r4, r7
- lsls r4, 3
- adds r4, r0
- strh r5, [r4, 0x8]
- mov r3, sp
- ldrh r3, [r3, 0xC]
- strh r3, [r4, 0xA]
- movs r0, 0x80
- lsls r0, 1
- ldr r1, [sp, 0x18]
- bl __divsi3
- strh r0, [r4, 0xC]
- movs r0, 0
- strh r0, [r4, 0xE]
- mov r1, r8
- strh r1, [r4, 0x10]
- strh r1, [r4, 0x12]
- mov r3, r9
- strh r3, [r4, 0x14]
- mov r0, r10
- strh r0, [r4, 0x16]
- ldr r0, _08089A60 @ =gUnknown_03004DC0
- strb r7, [r0, 0x18]
- ldr r0, _08089A64 @ =gUnknown_0202FFA4
- movs r1, 0
- strb r1, [r0]
- ldr r4, _08089A68 @ =gUnknown_03005060
- ldr r3, [sp, 0xC]
- subs r6, r3, r5
- lsls r3, r6, 24
- lsrs r3, 24
- adds r0, r4, 0
- ldr r1, [sp, 0x18]
- ldr r2, [sp, 0x1C]
- bl sub_80898FC
- ldr r0, [sp, 0xC]
- cmp r5, r0
- bge _08089A3E
- ldr r1, _08089A6C @ =0xfffffd80
- adds r2, r4, r1
- lsls r1, r5, 1
- movs r3, 0xF0
- lsls r3, 3
- adds r0, r1, r3
- adds r3, r0, r2
- adds r1, r2
- adds r2, r4, 0
- adds r5, r6, 0
-_08089A2A:
- ldrh r0, [r2]
- strh r0, [r1]
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- adds r1, 0x2
- subs r5, 0x1
- cmp r5, 0
- bne _08089A2A
-_08089A3E:
- adds r0, r7, 0
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08089A50: .4byte REG_BG0HOFS
-_08089A54: .4byte 0xa2600001
-_08089A58: .4byte task00_for_dp12
-_08089A5C: .4byte gTasks
-_08089A60: .4byte gUnknown_03004DC0
-_08089A64: .4byte gUnknown_0202FFA4
-_08089A68: .4byte gUnknown_03005060
-_08089A6C: .4byte 0xfffffd80
- thumb_func_end sub_8089944
-
- .align 2, 0 @ Don't pad with nop.