summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/battle_frontier_2.s74
-rw-r--r--asm/battle_records.s1285
-rw-r--r--asm/cable_club.s14
-rw-r--r--asm/easy_chat.s8
-rw-r--r--asm/field_screen.s2
-rw-r--r--asm/fieldmap.s2285
-rw-r--r--asm/item.s1921
-rw-r--r--asm/mauville_old_man.s2519
-rw-r--r--asm/party_menu.s2
-rw-r--r--asm/pokemon_storage_system.s4
-rw-r--r--asm/pokemon_summary_screen.s4
-rw-r--r--asm/pokenav.s6
-rw-r--r--asm/record_mixing.s2
-rw-r--r--asm/rom_8011DC0.s20
-rw-r--r--asm/shop.s6
-rw-r--r--asm/trader.s558
-rw-r--r--asm/trainer_card.s4
17 files changed, 73 insertions, 8641 deletions
diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s
index 491a87948..7f2dbcc73 100644
--- a/asm/battle_frontier_2.s
+++ b/asm/battle_frontier_2.s
@@ -12985,7 +12985,7 @@ _081A10F4:
adds r1, r0
adds r1, 0xBA
ldrh r0, [r1]
- bl ItemId_GetItem
+ bl ItemId_GetName
adds r1, r0, 0
b _081A1174
.pool
@@ -14344,7 +14344,7 @@ sub_81A1C4C: @ 81A1C4C
adds r3, r0, 0
lsls r0, r5, 3
adds r5, r0, 0x1
- ldr r0, =gResultsWindowId
+ ldr r0, =gRecordsWindowId
ldrb r0, [r0]
lsls r3, 24
lsrs r3, 24
@@ -14370,7 +14370,7 @@ sub_81A1C90: @ 81A1C90
push {r4,lr}
sub sp, 0x34
adds r2, r0, 0
- ldr r3, =gResultsWindowId
+ ldr r3, =gRecordsWindowId
movs r1, 0xAE
mov r0, sp
adds r0, 0x2F
@@ -14425,7 +14425,7 @@ sub_81A1CD8: @ 81A1CD8
lsls r0, 24
lsrs r0, 24
adds r7, r0, 0
- ldr r0, =gResultsWindowId
+ ldr r0, =gRecordsWindowId
mov r10, r0
ldrb r0, [r0]
str r7, [sp]
@@ -14644,7 +14644,7 @@ sub_81A1EA8: @ 81A1EA8
sub sp, 0xC
lsls r0, 24
lsrs r7, r0, 24
- ldr r4, =gResultsWindowId
+ ldr r4, =gRecordsWindowId
ldr r0, =gUnknown_08611C74
bl AddWindow
strb r0, [r4]
@@ -14685,7 +14685,7 @@ _081A1F28:
ldr r0, =gStringVar4
movs r1, 0x2
bl sub_81A1C4C
- ldr r6, =gResultsWindowId
+ ldr r6, =gRecordsWindowId
ldrb r0, [r6]
ldr r2, =gText_Lv502
movs r1, 0x31
@@ -14798,7 +14798,7 @@ sub_81A2008: @ 81A2008
lsrs r6, 24
lsls r5, 24
lsrs r5, 24
- ldr r0, =gResultsWindowId
+ ldr r0, =gRecordsWindowId
mov r10, r0
ldrb r0, [r0]
str r5, [sp]
@@ -14932,7 +14932,7 @@ sub_81A2134: @ 81A2134
sub sp, 0xC
lsls r0, 24
lsrs r7, r0, 24
- ldr r4, =gResultsWindowId
+ ldr r4, =gRecordsWindowId
ldr r0, =gUnknown_08611C74
bl AddWindow
strb r0, [r4]
@@ -14957,7 +14957,7 @@ _081A2184:
ldr r0, =gStringVar4
movs r1, 0
bl sub_81A1C4C
- ldr r1, =gResultsWindowId
+ ldr r1, =gRecordsWindowId
ldrb r0, [r1]
ldr r2, =gText_Lv502
movs r6, 0x21
@@ -14969,7 +14969,7 @@ _081A2184:
movs r1, 0x1
movs r3, 0x8
bl PrintTextOnWindow
- ldr r1, =gResultsWindowId
+ ldr r1, =gRecordsWindowId
ldrb r0, [r1]
ldr r2, =gText_OpenLv
movs r1, 0x61
@@ -15052,10 +15052,10 @@ _081A2184:
mov r1, r8
movs r3, 0x40
bl sub_81A2008
- ldr r1, =gResultsWindowId
+ ldr r1, =gRecordsWindowId
ldrb r0, [r1]
bl PutWindowTilemap
- ldr r1, =gResultsWindowId
+ ldr r1, =gRecordsWindowId
ldrb r0, [r1]
movs r1, 0x3
bl CopyWindowToVram
@@ -15091,7 +15091,7 @@ sub_81A22B8: @ 81A22B8
lsls r0, 24
lsrs r0, 24
adds r7, r0, 0
- ldr r0, =gResultsWindowId
+ ldr r0, =gRecordsWindowId
mov r10, r0
ldrb r0, [r0]
str r7, [sp]
@@ -15285,7 +15285,7 @@ sub_81A2460: @ 81A2460
sub sp, 0xC
lsls r0, 24
lsrs r7, r0, 24
- ldr r4, =gResultsWindowId
+ ldr r4, =gRecordsWindowId
ldr r0, =gUnknown_08611C74
bl AddWindow
strb r0, [r4]
@@ -15310,7 +15310,7 @@ _081A24B0:
ldr r0, =gStringVar4
movs r1, 0x2
bl sub_81A1C4C
- ldr r6, =gResultsWindowId
+ ldr r6, =gRecordsWindowId
ldrb r0, [r6]
ldr r2, =gText_Lv502
movs r1, 0x31
@@ -15420,7 +15420,7 @@ sub_81A258C: @ 81A258C
lsrs r6, 24
lsls r5, 24
lsrs r5, 24
- ldr r0, =gResultsWindowId
+ ldr r0, =gRecordsWindowId
mov r10, r0
ldrb r0, [r0]
str r5, [sp]
@@ -15533,7 +15533,7 @@ sub_81A2698: @ 81A2698
mov r5, r8
push {r5-r7}
sub sp, 0xC
- ldr r6, =gResultsWindowId
+ ldr r6, =gRecordsWindowId
ldr r0, =gUnknown_08611C74
bl AddWindow
strb r0, [r6]
@@ -15672,7 +15672,7 @@ sub_81A27E8: @ 81A27E8
lsls r0, 24
lsrs r0, 24
adds r7, r0, 0
- ldr r0, =gResultsWindowId
+ ldr r0, =gRecordsWindowId
mov r10, r0
ldrb r0, [r0]
str r7, [sp]
@@ -15836,7 +15836,7 @@ _081A2956:
sub_81A2968: @ 81A2968
push {r4-r6,lr}
sub sp, 0xC
- ldr r5, =gResultsWindowId
+ ldr r5, =gRecordsWindowId
ldr r0, =gUnknown_08611C74
bl AddWindow
strb r0, [r5]
@@ -15935,7 +15935,7 @@ sub_81A2A28: @ 81A2A28
lsls r0, 24
lsrs r0, 24
adds r6, r0, 0
- ldr r0, =gResultsWindowId
+ ldr r0, =gRecordsWindowId
mov r10, r0
ldrb r0, [r0]
str r6, [sp]
@@ -16211,7 +16211,7 @@ sub_81A2C94: @ 81A2C94
sub sp, 0xC
lsls r0, 24
lsrs r7, r0, 24
- ldr r4, =gResultsWindowId
+ ldr r4, =gRecordsWindowId
ldr r0, =gUnknown_08611C74
bl AddWindow
strb r0, [r4]
@@ -16236,7 +16236,7 @@ _081A2CE0:
ldr r0, =gStringVar4
movs r1, 0
bl sub_81A1C4C
- ldr r0, =gResultsWindowId
+ ldr r0, =gRecordsWindowId
mov r8, r0
ldrb r0, [r0]
ldr r2, =gText_Lv502
@@ -16340,7 +16340,7 @@ sub_81A2DB4: @ 81A2DB4
lsls r0, 24
lsrs r0, 24
adds r7, r0, 0
- ldr r0, =gResultsWindowId
+ ldr r0, =gRecordsWindowId
mov r10, r0
ldrb r0, [r0]
str r7, [sp]
@@ -16506,7 +16506,7 @@ _081A2F26:
sub_81A2F38: @ 81A2F38
push {r4-r6,lr}
sub sp, 0xC
- ldr r5, =gResultsWindowId
+ ldr r5, =gRecordsWindowId
ldr r0, =gUnknown_08611C74
bl AddWindow
strb r0, [r5]
@@ -16584,7 +16584,7 @@ sub_81A2FF8: @ 81A2FF8
mov r6, r8
push {r6,r7}
sub sp, 0xC
- ldr r4, =gResultsWindowId
+ ldr r4, =gRecordsWindowId
ldr r0, =gUnknown_08611C7C
bl AddWindow
strb r0, [r4]
@@ -16750,7 +16750,7 @@ _081A315C:
movs r2, 0x1
movs r3, 0x4
bl ConvertIntToDecimalStringN
- ldr r6, =gResultsWindowId
+ ldr r6, =gRecordsWindowId
ldrb r0, [r6]
movs r1, 0x26
adds r3, r5, 0
@@ -19026,7 +19026,7 @@ sub_81A4594: @ 81A4594
sub sp, 0x2C
mov r8, r1
adds r6, r3, 0
- ldr r1, =gResultsWindowId
+ ldr r1, =gRecordsWindowId
ldrb r5, [r1]
lsls r4, r0, 1
adds r4, r0
@@ -19062,7 +19062,7 @@ sub_81A4594: @ 81A4594
ldrb r2, [r6, 0xE]
add r0, sp, 0xC
bl TVShowConvertInternationalString
- ldr r1, =gResultsWindowId
+ ldr r1, =gRecordsWindowId
ldrb r0, [r1]
mov r3, r8
adds r3, 0x2
@@ -19102,7 +19102,7 @@ _081A4618:
adds r3, r0, 0
lsls r3, 24
lsrs r3, 24
- ldr r1, =gResultsWindowId
+ ldr r1, =gRecordsWindowId
ldrb r0, [r1]
str r7, [sp]
mov r1, r10
@@ -19136,7 +19136,7 @@ sub_81A4684: @ 81A4684
adds r7, r1, 0
mov r10, r2
adds r5, r3, 0
- ldr r1, =gResultsWindowId
+ ldr r1, =gRecordsWindowId
ldrb r0, [r1]
lsls r2, r6, 1
adds r2, r6
@@ -19176,7 +19176,7 @@ sub_81A4684: @ 81A4684
ldrb r2, [r5, 0x1A]
add r0, sp, 0xC
bl TVShowConvertInternationalString
- ldr r1, =gResultsWindowId
+ ldr r1, =gRecordsWindowId
ldrb r0, [r1]
adds r3, r7, 0x2
lsls r3, 27
@@ -19211,7 +19211,7 @@ _081A4734:
adds r1, r4, 0
bl StringCopy
_081A473C:
- ldr r2, =gResultsWindowId
+ ldr r2, =gRecordsWindowId
mov r9, r2
ldrb r0, [r2]
adds r3, r7, 0x4
@@ -19532,7 +19532,7 @@ sub_81A4998: @ 81A4998
ldr r1, [r5]
adds r0, r6, 0
bl StringExpandPlaceholders
- ldr r0, =gResultsWindowId
+ ldr r0, =gRecordsWindowId
mov r8, r0
ldrb r0, [r0]
movs r1, 0x1
@@ -19631,7 +19631,7 @@ _081A4A90:
thumb_func_start sub_81A4AA0
sub_81A4AA0: @ 81A4AA0
push {r4,lr}
- ldr r4, =gResultsWindowId
+ ldr r4, =gRecordsWindowId
ldr r0, =gUnknown_08611C84
bl AddWindow
strb r0, [r4]
@@ -19659,7 +19659,7 @@ sub_81A4AA0: @ 81A4AA0
thumb_func_start sub_81A4AE8
sub_81A4AE8: @ 81A4AE8
push {r4,lr}
- ldr r4, =gResultsWindowId
+ ldr r4, =gRecordsWindowId
ldrb r0, [r4]
movs r1, 0x11
bl FillWindowPixelBuffer
@@ -19841,7 +19841,7 @@ _081A4C4E:
ble _081A4C4E
ldr r4, =gPlayerPartyCount
ldrb r5, [r4]
- bl copy_player_party_from_sav1
+ bl LoadPlayerParty
bl sub_8076D5C
movs r0, 0x1
bl TrySavingData
@@ -29770,7 +29770,7 @@ sub_81A9E90: @ 81A9E90
ldr r0, =0x0000400e
movs r1, 0
bl VarSet
- bl copy_player_party_from_sav1
+ bl LoadPlayerParty
_081A9EB8:
pop {r0}
bx r0
diff --git a/asm/battle_records.s b/asm/battle_records.s
deleted file mode 100644
index 1880e7b45..000000000
--- a/asm/battle_records.s
+++ /dev/null
@@ -1,1285 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_813BF94
-sub_813BF94: @ 813BF94
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- ldr r2, =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
- .pool
- thumb_func_end sub_813BF94
-
- thumb_func_start sub_813BFC4
-sub_813BFC4: @ 813BFC4
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r5, 0x4
-_0813BFCA:
- adds r0, r4, 0
- bl sub_813BF94
- adds r4, 0x10
- subs r5, 0x1
- cmp r5, 0
- bge _0813BFCA
- 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 sub_813BFC4
-
- thumb_func_start sub_813BFF8
-sub_813BFF8: @ 813BFF8
- 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_813BFF8
-
- thumb_func_start sub_813C008
-sub_813C008: @ 813C008
- push {r4-r7,lr}
- adds r7, r1, 0
- lsls r2, 16
- lsrs r6, r2, 16
- movs r5, 0
- adds r4, r0, 0
-_0813C014:
- adds r0, r4, 0
- adds r1, r7, 0
- movs r2, 0x7
- bl StringCompareN
- cmp r0, 0
- bne _0813C02C
- ldrh r0, [r4, 0x8]
- cmp r0, r6
- bne _0813C02C
- adds r0, r5, 0
- b _0813C036
-_0813C02C:
- adds r4, 0x10
- adds r5, 0x1
- cmp r5, 0x4
- ble _0813C014
- movs r0, 0x5
-_0813C036:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_813C008
-
- thumb_func_start sub_813C03C
-sub_813C03C: @ 813C03C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- mov r10, r0
- movs r1, 0x4
-_0813C04C:
- subs r3, r1, 0x1
- adds r6, r3, 0
- cmp r3, 0
- blt _0813C0BA
- lsls r0, r1, 4
- add r0, r10
- str r0, [sp, 0x14]
- lsls r0, r3, 4
- mov r2, r10
- adds r5, r0, r2
- movs r4, 0x50
- add r4, r10
- mov r9, r4
- add r1, r9
- mov r8, r1
-_0813C06A:
- ldr r0, [sp, 0x14]
- str r3, [sp, 0x10]
- bl sub_813BFF8
- adds r4, r0, 0
- adds r0, r5, 0
- bl sub_813BFF8
- ldr r3, [sp, 0x10]
- cmp r4, r0
- ble _0813C0B2
- mov r1, sp
- ldr r0, [sp, 0x14]
- ldm r0!, {r2,r4,r7}
- stm r1!, {r2,r4,r7}
- ldr r0, [r0]
- str r0, [r1]
- ldr r1, [sp, 0x14]
- adds r0, r5, 0
- ldm r0!, {r2,r4,r7}
- stm r1!, {r2,r4,r7}
- ldr r0, [r0]
- str r0, [r1]
- adds r1, r5, 0
- mov r0, sp
- ldm r0!, {r2,r4,r7}
- stm r1!, {r2,r4,r7}
- ldr r0, [r0]
- str r0, [r1]
- mov r7, r8
- ldrb r2, [r7]
- mov r0, r9
- adds r1, r0, r6
- ldrb r0, [r1]
- strb r0, [r7]
- strb r2, [r1]
-_0813C0B2:
- subs r5, 0x10
- subs r6, 0x1
- cmp r6, 0
- bge _0813C06A
-_0813C0BA:
- adds r1, r3, 0
- cmp r1, 0
- bgt _0813C04C
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_813C03C
-
- thumb_func_start sub_813C0D0
-sub_813C0D0: @ 813C0D0
- push {lr}
- adds r2, r0, 0
- cmp r1, 0x2
- beq _0813C100
- cmp r1, 0x2
- bgt _0813C0E2
- cmp r1, 0x1
- beq _0813C0E8
- b _0813C12A
-_0813C0E2:
- cmp r1, 0x3
- beq _0813C118
- b _0813C12A
-_0813C0E8:
- ldrh r0, [r2, 0xA]
- adds r0, 0x1
- strh r0, [r2, 0xA]
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =0x0000270f
- cmp r0, r1
- bls _0813C12A
- strh r1, [r2, 0xA]
- b _0813C12A
- .pool
-_0813C100:
- ldrh r0, [r2, 0xC]
- adds r0, 0x1
- strh r0, [r2, 0xC]
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =0x0000270f
- cmp r0, r1
- bls _0813C12A
- strh r1, [r2, 0xC]
- b _0813C12A
- .pool
-_0813C118:
- ldrh r0, [r2, 0xE]
- adds r0, 0x1
- strh r0, [r2, 0xE]
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =0x0000270f
- cmp r0, r1
- bls _0813C12A
- strh r1, [r2, 0xE]
-_0813C12A:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C0D0
-
- thumb_func_start sub_813C134
-sub_813C134: @ 813C134
- push {r4,lr}
- cmp r0, 0x2
- beq _0813C14E
- cmp r0, 0x2
- bgt _0813C144
- cmp r0, 0x1
- beq _0813C14A
- b _0813C166
-_0813C144:
- cmp r0, 0x3
- beq _0813C152
- b _0813C166
-_0813C14A:
- movs r4, 0x17
- b _0813C154
-_0813C14E:
- movs r4, 0x18
- b _0813C154
-_0813C152:
- movs r4, 0x19
-_0813C154:
- adds r0, r4, 0
- bl GetGameStat
- ldr r1, =0x0000270e
- cmp r0, r1
- bhi _0813C166
- adds r0, r4, 0
- bl IncrementGameStat
-_0813C166:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C134
-
- thumb_func_start sub_813C170
-sub_813C170: @ 813C170
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r6, r0, 0
- mov r8, r1
- mov r10, r3
- ldr r0, [sp, 0x20]
- lsls r2, 16
- lsrs r7, r2, 16
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- mov r0, r10
- bl sub_813C134
- adds r0, r6, 0
- bl sub_813C03C
- adds r0, r6, 0
- mov r1, r8
- adds r2, r7, 0
- bl sub_813C008
- adds r5, r0, 0
- cmp r5, 0x5
- bne _0813C1D4
- movs r5, 0x4
- adds r4, r6, 0
- adds r4, 0x40
- adds r0, r4, 0
- bl sub_813BF94
- adds r0, r4, 0
- mov r1, r8
- movs r2, 0x7
- bl StringCopyN
- strh r7, [r4, 0x8]
- adds r2, r6, 0
- adds r2, 0x54
- ldr r1, =gLinkPlayers
- mov r3, r9
- lsls r0, r3, 3
- subs r0, r3
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0, 0x1A]
- strb r0, [r2]
-_0813C1D4:
- lsls r0, r5, 4
- adds r0, r6, r0
- mov r1, r10
- bl sub_813C0D0
- adds r0, r6, 0
- bl sub_813C03C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C170
-
- thumb_func_start InitLinkBattleRecords
-InitLinkBattleRecords: @ 813C1F8
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003150
- adds r0, r1
- bl sub_813BFC4
- pop {r0}
- bx r0
- .pool
- thumb_func_end InitLinkBattleRecords
-
- thumb_func_start sub_813C214
-sub_813C214: @ 813C214
- push {lr}
- movs r1, 0x64
- muls r1, r0
- ldr r0, =gUnknown_02039B6C
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- ldr r2, =0x0000270f
- cmp r0, r2
- bls _0813C230
- strh r2, [r1]
-_0813C230:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C214
-
- thumb_func_start sub_813C23C
-sub_813C23C: @ 813C23C
- push {lr}
- movs r1, 0x64
- muls r1, r0
- ldr r0, =gUnknown_02039B6E
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- ldr r2, =0x0000270f
- cmp r0, r2
- bls _0813C258
- strh r2, [r1]
-_0813C258:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C23C
-
- thumb_func_start sub_813C264
-sub_813C264: @ 813C264
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gBattleOutcome
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0813C27C
- cmp r0, 0x2
- beq _0813C28A
- b _0813C298
- .pool
-_0813C27C:
- eors r0, r4
- bl sub_813C214
- adds r0, r4, 0
- bl sub_813C23C
- b _0813C298
-_0813C28A:
- movs r0, 0x1
- eors r0, r4
- bl sub_813C23C
- adds r0, r4, 0
- bl sub_813C214
-_0813C298:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_813C264
-
- thumb_func_start sub_813C2A0
-sub_813C2A0: @ 813C2A0
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- bl InUnionRoom
- cmp r0, 0x1
- beq _0813C2DA
- adds r0, r4, 0
- bl sub_813C264
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003150
- adds r0, r1
- movs r1, 0x64
- adds r3, r4, 0
- muls r3, r1
- ldr r2, =gUnknown_02039B88
- adds r1, r3, r2
- subs r2, 0x30
- adds r3, r2
- ldrh r2, [r3, 0xE]
- ldr r3, =gBattleOutcome
- ldrb r3, [r3]
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp]
- bl sub_813C170
-_0813C2DA:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C2A0
-
- thumb_func_start sub_813C2F4
-sub_813C2F4: @ 813C2F4
- push {r4,lr}
- sub sp, 0xC
- ldr r4, =gStringVar1
- movs r0, 0x17
- bl GetGameStat
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar2
- movs r0, 0x18
- bl GetGameStat
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar3
- movs r0, 0x19
- bl GetGameStat
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar4
- ldr r1, =gText_TotalRecordWLD
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0xD0
- bl GetStringCenterAlignXOffset
- adds r3, r0, 0
- ldr r0, =gResultsWindowId
- ldrb r0, [r0]
- lsls r3, 24
- lsrs r3, 24
- movs r1, 0x11
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r1, 0x1
- adds r2, r4, 0
- bl PrintTextOnWindow
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C2F4
-
- thumb_func_start sub_813C384
-sub_813C384: @ 813C384
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- adds r6, r0, 0
- adds r5, r2, 0
- lsls r1, 24
- lsrs r4, r1, 24
- ldrh r0, [r6, 0xA]
- cmp r0, 0
- bne _0813C40C
- ldr r7, [r6, 0xC]
- cmp r7, 0
- bne _0813C40C
- ldr r0, =gResultsWindowId
- mov r8, r0
- ldrb r0, [r0]
- ldr r2, =gUnknown_085B3D84
- lsls r4, 3
- adds r4, 0x1
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp]
- str r7, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x8
- bl PrintTextOnWindow
- mov r1, r8
- ldrb r0, [r1]
- ldr r5, =gUnknown_085B3D8C
- str r4, [sp]
- str r7, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r1, 0x1
- adds r2, r5, 0
- movs r3, 0x50
- bl PrintTextOnWindow
- mov r1, r8
- ldrb r0, [r1]
- str r4, [sp]
- str r7, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r1, 0x1
- adds r2, r5, 0
- movs r3, 0x80
- bl PrintTextOnWindow
- mov r1, r8
- ldrb r0, [r1]
- str r4, [sp]
- str r7, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r1, 0x1
- adds r2, r5, 0
- movs r3, 0xB0
- bl PrintTextOnWindow
- b _0813C4A8
- .pool
-_0813C40C:
- ldr r0, =gStringVar1
- movs r1, 0x8
- bl StringFillWithTerminator
- ldr r0, =gStringVar1
- adds r1, r6, 0
- movs r2, 0x7
- bl StringCopyN
- lsls r1, r5, 24
- lsrs r1, 24
- ldr r0, =gStringVar1
- bl ConvertInternationalString
- ldr r0, =gResultsWindowId
- mov r8, r0
- ldrb r0, [r0]
- lsls r4, 3
- adds r4, 0x1
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp]
- movs r5, 0
- str r5, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x1
- ldr r2, =gStringVar1
- movs r3, 0x8
- bl PrintTextOnWindow
- ldrh r1, [r6, 0xA]
- ldr r0, =gStringVar1
- movs r2, 0x1
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- mov r1, r8
- ldrb r0, [r1]
- str r4, [sp]
- str r5, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x1
- ldr r2, =gStringVar1
- movs r3, 0x50
- bl PrintTextOnWindow
- ldrh r1, [r6, 0xC]
- ldr r0, =gStringVar1
- movs r2, 0x1
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- mov r1, r8
- ldrb r0, [r1]
- str r4, [sp]
- str r5, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x1
- ldr r2, =gStringVar1
- movs r3, 0x80
- bl PrintTextOnWindow
- ldrh r1, [r6, 0xE]
- ldr r0, =gStringVar1
- movs r2, 0x1
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- mov r1, r8
- ldrb r0, [r1]
- str r4, [sp]
- str r5, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x1
- ldr r2, =gStringVar1
- movs r3, 0xB0
- bl PrintTextOnWindow
-_0813C4A8:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C384
-
- thumb_func_start sub_813C4BC
-sub_813C4BC: @ 813C4BC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0xC
- ldr r6, =gResultsWindowId
- ldr r0, =gUnknown_085B3D7C
- bl AddWindow
- strb r0, [r6]
- ldrb r0, [r6]
- movs r1, 0
- bl NewMenuHelpers_DrawStdWindowFrame
- ldrb r0, [r6]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r5, =gStringVar4
- ldr r1, =gText_PlayersBattleResults
- adds r0, r5, 0
- bl StringExpandPlaceholders
- movs r0, 0x1
- adds r1, r5, 0
- movs r2, 0xD0
- bl GetStringCenterAlignXOffset
- adds r3, r0, 0
- ldrb r0, [r6]
- lsls r3, 24
- lsrs r3, 24
- movs r1, 0x1
- str r1, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r2, r5, 0
- bl PrintTextOnWindow
- ldr r0, =gSaveBlock1Ptr
- mov r8, r0
- ldr r0, [r0]
- ldr r1, =0x00003150
- mov r9, r1
- add r0, r9
- bl sub_813C2F4
- ldr r1, =gText_WinLoseDraw
- adds r0, r5, 0
- bl StringExpandPlaceholders
- ldrb r0, [r6]
- movs r1, 0x29
- str r1, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x1
- adds r2, r5, 0
- movs r3, 0
- bl PrintTextOnWindow
- mov r7, r8
- movs r6, 0xE0
- lsls r6, 19
- mov r5, r9
-_0813C540:
- ldr r2, [r7]
- adds r0, r2, r5
- lsrs r1, r6, 24
- ldr r3, =0x000031a0
- adds r2, r3
- adds r2, r4
- ldrb r2, [r2]
- bl sub_813C384
- movs r0, 0x80
- lsls r0, 18
- adds r6, r0
- adds r5, 0x10
- adds r4, 0x1
- cmp r4, 0x4
- ble _0813C540
- ldr r4, =gResultsWindowId
- ldrb r0, [r4]
- bl PutWindowTilemap
- ldrb r0, [r4]
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C4BC
-
- thumb_func_start sub_813C5A0
-sub_813C5A0: @ 813C5A0
- push {r4,lr}
- ldr r4, =gResultsWindowId
- ldrb r0, [r4]
- movs r1, 0
- bl sub_819746C
- ldrb r0, [r4]
- bl RemoveWindow
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C5A0
-
- thumb_func_start sub_813C5BC
-sub_813C5BC: @ 813C5BC
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0813C5DC
- ldr r0, =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_813C5EC
- str r0, [r1]
-_0813C5DC:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C5BC
-
- thumb_func_start sub_813C5EC
-sub_813C5EC: @ 813C5EC
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r4, r1, r0
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0813C610
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0813C61A
-_0813C610:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =sub_813C62C
- str r0, [r4]
-_0813C61A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C5EC
-
- thumb_func_start sub_813C62C
-sub_813C62C: @ 813C62C
- 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, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_813C664
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C62C
-
- thumb_func_start sub_813C664
-sub_813C664: @ 813C664
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0813C694
- ldr r0, =CB2_ReturnToFieldContinueScript
- bl SetMainCallback2
- ldr r0, =gUnknown_0203AB78
- ldr r0, [r0]
- bl Free
- movs r0, 0
- bl sub_813C6A8
- bl FreeAllWindowBuffers
- adds r0, r4, 0
- bl DestroyTask
-_0813C694:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C664
-
- thumb_func_start sub_813C6A8
-sub_813C6A8: @ 813C6A8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- adds r0, r4, 0
- bl ClearWindowTilemap
- adds r0, r4, 0
- movs r1, 0x2
- bl CopyWindowToVram
- adds r0, r4, 0
- bl RemoveWindow
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_813C6A8
-
- thumb_func_start sub_813C6D4
-sub_813C6D4: @ 813C6D4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- 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, =0x040000d4
- movs r5, 0x80
- lsls r5, 5
- ldr r7, =0x81000800
- movs r0, 0x81
- lsls r0, 24
- mov r12, r0
-_0813C6FA:
- 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 _0813C6FA
- 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, =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]
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x8
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x10
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg
- movs r0, 0xA
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x14
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x16
- movs r1, 0
- bl SetGpuReg
- movs r0, 0xC
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x18
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0xE
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1C
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1E
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x40
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x44
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x48
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C6D4
-
- thumb_func_start sub_813C80C
-sub_813C80C: @ 813C80C
- push {lr}
- bl ScanlineEffect_Stop
- bl ResetTasks
- bl ResetSpriteData
- bl ResetPaletteFade
- bl FreeAllSpritePalettes
- pop {r0}
- bx r0
- thumb_func_end sub_813C80C
-
- thumb_func_start sub_813C828
-sub_813C828: @ 813C828
- push {lr}
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- pop {r0}
- bx r0
- thumb_func_end sub_813C828
-
- thumb_func_start sub_813C880
-sub_813C880: @ 813C880
- push {lr}
- movs r1, 0x94
- lsls r1, 4
- movs r0, 0
- bl SetGpuReg
- pop {r0}
- bx r0
- thumb_func_end sub_813C880
-
- thumb_func_start sub_813C890
-sub_813C890: @ 813C890
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, =gUnknown_085B3484
- adds r0, r4, 0
- movs r2, 0xC0
- movs r3, 0
- bl LoadBgTiles
- ldr r1, =gUnknown_085B3564
- movs r0, 0x20
- str r0, [sp]
- str r0, [sp, 0x4]
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBufferRect
- ldr r0, =gUnknown_085B3544
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C890
-
- thumb_func_start sub_813C8D8
-sub_813C8D8: @ 813C8D8
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_813C8D8
-
- thumb_func_start sub_813C8EC
-sub_813C8EC: @ 813C8EC
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_813C8EC
-
- thumb_func_start sub_813C904
-sub_813C904: @ 813C904
- push {lr}
- movs r0, 0
- bl SetVBlankCallback
- ldr r0, =sub_813C91C
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C904
-
- thumb_func_start sub_813C91C
-sub_813C91C: @ 813C91C
- push {r4,lr}
- sub sp, 0x4
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x7
- bls _0813C930
- b _0813CA3C
-_0813C930:
- lsls r0, 2
- ldr r1, =_0813C944
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0813C944:
- .4byte _0813C964
- .4byte _0813C970
- .4byte _0813C976
- .4byte _0813C9A8
- .4byte _0813C9BE
- .4byte _0813C9DE
- .4byte _0813C9F0
- .4byte _0813CA14
-_0813C964:
- movs r0, 0
- bl SetVBlankCallback
- bl sub_813C6D4
- b _0813CA00
-_0813C970:
- bl sub_813C80C
- b _0813CA00
-_0813C976:
- ldr r4, =gUnknown_0203AB78
- movs r0, 0x80
- lsls r0, 4
- bl AllocZeroed
- str r0, [r4]
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_085B3D64
- movs r0, 0
- movs r2, 0x2
- bl InitBgsFromTemplates
- ldr r1, [r4]
- movs r0, 0x3
- bl SetBgTilemapBuffer
- bl sub_813C828
- b _0813CA00
- .pool
-_0813C9A8:
- movs r0, 0x3
- bl sub_813C890
- movs r0, 0
- bl stdpal_get
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- b _0813CA00
-_0813C9BE:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0813CA3C
- movs r0, 0
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- b _0813CA00
-_0813C9DE:
- ldr r0, =gUnknown_085B3D6C
- bl InitWindows
- bl DeactivateAllTextPrinters
- b _0813CA00
- .pool
-_0813C9F0:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
-_0813CA00:
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0813CA3C
- .pool
-_0813CA14:
- bl sub_813C880
- ldr r0, =sub_813C8D8
- bl SetVBlankCallback
- bl sub_81D5C8C
- ldr r0, =sub_813C5BC
- movs r1, 0x8
- bl CreateTask
- ldr r0, =sub_813C8EC
- bl SetMainCallback2
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
-_0813CA3C:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C91C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/cable_club.s b/asm/cable_club.s
index e6fbd1886..7ef499226 100644
--- a/asm/cable_club.s
+++ b/asm/cable_club.s
@@ -960,7 +960,7 @@ task_map_chg_seq_0807EC34: @ 80B2B94
push {r4,r5,lr}
adds r5, r0, 0
adds r4, r1, 0
- ldr r1, =gUnknown_02039B58
+ ldr r1, =gTrainerCards
ldrh r0, [r5]
cmp r0, 0x1
bne _080B2C10
@@ -1044,7 +1044,7 @@ sub_80B2C30: @ 80B2C30
_080B2C5C:
movs r0, 0x64
muls r0, r4
- ldr r1, =gUnknown_02039B58
+ ldr r1, =gTrainerCards
adds r0, r1
lsls r1, r4, 8
ldr r2, =gBlockRecvBuffer
@@ -2157,8 +2157,8 @@ sub_80B360C: @ 80B360C
ands r0, r1
str r0, [r2]
bl Overworld_ResetMapMusic
- bl copy_player_party_from_sav1
- bl copy_bags_and_unk_data_to_save_blocks
+ bl LoadPlayerParty
+ bl SavePlayerBag
bl sub_813BF10
ldr r0, =gSpecialVar_0x8004
ldrh r0, [r0]
@@ -2171,7 +2171,7 @@ sub_80B360C: @ 80B360C
ldrb r0, [r0]
movs r5, 0x1
eors r0, r5
- bl sub_813C2A0
+ bl UpdatePlayerLinkBattleRecords
ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
@@ -2251,8 +2251,8 @@ sub_80B36EC: @ 80B36EC
cmp r0, 0x9
bne _080B370E
_080B3706:
- bl copy_player_party_from_sav1
- bl copy_bags_and_unk_data_to_save_blocks
+ bl LoadPlayerParty
+ bl SavePlayerBag
_080B370E:
movs r0, 0x7F
bl copy_saved_warp2_bank_and_enter_x_to_warp1
diff --git a/asm/easy_chat.s b/asm/easy_chat.s
index 0cbe1f1ae..7f2a7ca88 100644
--- a/asm/easy_chat.s
+++ b/asm/easy_chat.s
@@ -9243,8 +9243,8 @@ _0811EA68:
bx r1
thumb_func_end sub_811EA28
- thumb_func_start start_menu_is_selected_item_valid
-start_menu_is_selected_item_valid: @ 811EA6C
+ thumb_func_start EasyChat_GetNumWordsInGroup
+EasyChat_GetNumWordsInGroup: @ 811EA6C
push {r4,lr}
lsls r0, 24
lsrs r0, 24
@@ -9273,7 +9273,7 @@ _0811EA9A:
pop {r1}
bx r1
.pool
- thumb_func_end start_menu_is_selected_item_valid
+ thumb_func_end EasyChat_GetNumWordsInGroup
thumb_func_start sub_811EAA4
sub_811EAA4: @ 811EAA4
@@ -10145,7 +10145,7 @@ sub_811F0F8: @ 811F0F8
sub_811F108: @ 811F108
push {r4-r7,lr}
movs r0, 0
- bl start_menu_is_selected_item_valid
+ bl EasyChat_GetNumWordsInGroup
lsls r0, 16
lsrs r4, r0, 16
cmp r4, 0
diff --git a/asm/field_screen.s b/asm/field_screen.s
index 2a539d111..e3d48f882 100644
--- a/asm/field_screen.s
+++ b/asm/field_screen.s
@@ -8861,7 +8861,7 @@ sub_80AF87C: @ 80AF87C
movs r0, 0x1
bl sub_8085540
bl ScriptContext2_Enable
- bl save_serialize_npcs
+ bl SaveMapObjects
bl music_something
bl sub_80AF0B4
movs r0, 0x2D
diff --git a/asm/fieldmap.s b/asm/fieldmap.s
deleted file mode 100644
index 21aea8ad7..000000000
--- a/asm/fieldmap.s
+++ /dev/null
@@ -1,2285 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start mapconnection_get_mapheader
-mapconnection_get_mapheader: @ 8087D44
- push {lr}
- ldrb r2, [r0, 0x8]
- ldrb r1, [r0, 0x9]
- adds r0, r2, 0
- bl Overworld_GetMapHeaderByGroupAndId
- pop {r1}
- bx r1
- thumb_func_end mapconnection_get_mapheader
-
- thumb_func_start not_trainer_hill_battle_pyramid
-not_trainer_hill_battle_pyramid: @ 8087D54
- push {r4,lr}
- ldr r4, =gMapHeader
- adds r0, r4, 0
- bl mapheader_copy_mapdata_with_padding
- ldr r0, [r4, 0x4]
- bl sub_80E8EE0
- bl mapheader_run_script_with_tag_x1
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end not_trainer_hill_battle_pyramid
-
- thumb_func_start sub_8087D74
-sub_8087D74: @ 8087D74
- push {r4,lr}
- ldr r4, =gMapHeader
- adds r0, r4, 0
- bl mapheader_copy_mapdata_with_padding
- movs r0, 0
- bl sub_80E9238
- ldr r0, [r4, 0x4]
- bl sub_80E8EE0
- bl mapdata_from_sav2
- bl mapheader_run_script_with_tag_x1
- ldr r1, =gUnknown_03005DC0
- ldr r0, [r1]
- ldr r1, [r1, 0x4]
- bl UpdateTVScreensOnMap
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8087D74
-
- thumb_func_start battle_pyramid_map_load_related
-battle_pyramid_map_load_related: @ 8087DAC
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =0x03ff03ff
- str r0, [sp]
- ldr r5, =gUnknown_02032318
- ldr r2, =0x01001400
- mov r0, sp
- adds r1, r5, 0
- bl CpuFastSet
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_81AA078
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end battle_pyramid_map_load_related
-
- thumb_func_start trainer_hill_map_load_related
-trainer_hill_map_load_related: @ 8087DE4
- push {r4,lr}
- sub sp, 0x4
- ldr r0, =0x03ff03ff
- str r0, [sp]
- ldr r4, =gUnknown_02032318
- ldr r2, =0x01001400
- mov r0, sp
- adds r1, r4, 0
- bl CpuFastSet
- adds r0, r4, 0
- bl sub_81D5FB4
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end trainer_hill_map_load_related
-
- thumb_func_start mapheader_copy_mapdata_with_padding
-@ void mapheader_copy_mapdata_with_padding(struct mapheader *mapHeader)
-mapheader_copy_mapdata_with_padding: @ 8087E14
- push {r4-r6,lr}
- sub sp, 0x4
- adds r6, r0, 0
- ldr r5, [r6]
- ldr r0, =0x03ff03ff
- str r0, [sp]
- ldr r4, =gUnknown_02032318
- ldr r2, =0x01001400
- mov r0, sp
- adds r1, r4, 0
- bl CpuFastSet
- ldr r2, =gUnknown_03005DC0
- str r4, [r2, 0x8]
- ldr r1, [r5]
- adds r1, 0xF
- str r1, [r2]
- ldr r0, [r5, 0x4]
- adds r0, 0xE
- str r0, [r2, 0x4]
- muls r1, r0
- movs r0, 0xA0
- lsls r0, 6
- cmp r1, r0
- bgt _08087E56
- ldr r0, [r5, 0xC]
- ldrh r1, [r5]
- ldrh r2, [r5, 0x4]
- bl map_copy_with_padding
- adds r0, r6, 0
- bl mapheader_copy_mapdata_of_adjacent_maps
-_08087E56:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end mapheader_copy_mapdata_with_padding
-
- thumb_func_start map_copy_with_padding
-@ int map_copy_with_padding(void *src)
-map_copy_with_padding: @ 8087E70
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r7, r0, 0
- lsls r1, 16
- lsrs r1, 16
- mov r8, r1
- lsls r2, 16
- lsrs r2, 16
- ldr r0, =gUnknown_03005DC0
- ldr r4, [r0, 0x8]
- ldr r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 1
- adds r0, 0xE
- adds r4, r0
- cmp r2, 0
- beq _08087EB8
- mov r0, r8
- lsls r6, r0, 1
- adds r5, r2, 0
- movs r0, 0x1E
- adds r0, r6
- mov r9, r0
-_08087EA4:
- adds r0, r7, 0
- adds r1, r4, 0
- mov r2, r8
- bl CpuSet
- add r4, r9
- adds r7, r6
- subs r5, 0x1
- cmp r5, 0
- bne _08087EA4
-_08087EB8:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end map_copy_with_padding
-
- thumb_func_start mapheader_copy_mapdata_of_adjacent_maps
-@ void mapheader_copy_mapdata_of_adjacent_maps(struct mapheader *mapHeader)
-mapheader_copy_mapdata_of_adjacent_maps: @ 8087EC8
- push {r4-r7,lr}
- adds r6, r0, 0
- ldr r0, [r6, 0xC]
- cmp r0, 0
- beq _08087F4C
- ldr r1, [r0]
- ldr r5, [r0, 0x4]
- ldr r2, =gUnknown_02037340
- ldr r0, =gUnknown_08486EF8
- ldr r0, [r0]
- str r0, [r2]
- cmp r1, 0
- ble _08087F4C
- adds r4, r2, 0
- adds r7, r1, 0
-_08087EE6:
- adds r0, r5, 0
- bl mapconnection_get_mapheader
- adds r1, r0, 0
- ldr r2, [r5, 0x4]
- ldrb r0, [r5]
- cmp r0, 0x2
- beq _08087F1E
- cmp r0, 0x2
- bgt _08087F08
- cmp r0, 0x1
- beq _08087F12
- b _08087F44
- .pool
-_08087F08:
- cmp r0, 0x3
- beq _08087F2A
- cmp r0, 0x4
- beq _08087F36
- b _08087F44
-_08087F12:
- adds r0, r6, 0
- bl sub_8087FB8
- ldrb r0, [r4]
- movs r1, 0x1
- b _08087F40
-_08087F1E:
- adds r0, r6, 0
- bl sub_8088020
- ldrb r0, [r4]
- movs r1, 0x2
- b _08087F40
-_08087F2A:
- adds r0, r6, 0
- bl sub_8088080
- ldrb r0, [r4]
- movs r1, 0x4
- b _08087F40
-_08087F36:
- adds r0, r6, 0
- bl sub_80880E0
- ldrb r0, [r4]
- movs r1, 0x8
-_08087F40:
- orrs r0, r1
- strb r0, [r4]
-_08087F44:
- subs r7, 0x1
- adds r5, 0xC
- cmp r7, 0
- bne _08087EE6
-_08087F4C:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end mapheader_copy_mapdata_of_adjacent_maps
-
- thumb_func_start sub_8087F54
-sub_8087F54: @ 8087F54
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r5, [sp, 0x18]
- ldr r4, [r2]
- ldr r7, [r4]
- adds r2, r7, 0
- muls r2, r5
- adds r2, r3
- lsls r2, 1
- ldr r3, [r4, 0xC]
- adds r6, r3, r2
- ldr r3, =gUnknown_03005DC0
- ldr r2, [r3]
- muls r1, r2
- adds r1, r0
- lsls r1, 1
- ldr r0, [r3, 0x8]
- adds r5, r0, r1
- ldr r0, [sp, 0x20]
- cmp r0, 0
- ble _08087FA6
- adds r4, r0, 0
- ldr r3, =0x001fffff
- mov r8, r3
-_08087F86:
- adds r0, r6, 0
- adds r1, r5, 0
- ldr r2, [sp, 0x1C]
- mov r3, r8
- ands r2, r3
- bl CpuSet
- ldr r0, =gUnknown_03005DC0
- ldr r0, [r0]
- lsls r0, 1
- adds r5, r0
- lsls r0, r7, 1
- adds r6, r0
- subs r4, 0x1
- cmp r4, 0
- bne _08087F86
-_08087FA6:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8087F54
-
- thumb_func_start sub_8087FB8
-sub_8087FB8: @ 8087FB8
- push {r4-r7,lr}
- sub sp, 0xC
- adds r3, r0, 0
- adds r5, r1, 0
- cmp r5, 0
- beq _08088012
- ldr r0, [r5]
- ldr r4, [r0]
- adds r2, 0x7
- ldr r0, [r3]
- ldr r0, [r0, 0x4]
- adds r7, r0, 0x7
- cmp r2, 0
- bge _08087FEC
- negs r6, r2
- adds r2, r4
- ldr r0, =gUnknown_03005DC0
- ldr r3, [r0]
- cmp r2, r3
- bge _08087FE2
- adds r3, r2, 0
-_08087FE2:
- movs r2, 0
- b _08087FFC
- .pool
-_08087FEC:
- movs r6, 0
- adds r0, r2, r4
- ldr r1, =gUnknown_03005DC0
- ldr r1, [r1]
- subs r3, r1, r2
- cmp r0, r1
- bge _08087FFC
- adds r3, r4, 0
-_08087FFC:
- movs r0, 0
- str r0, [sp]
- str r3, [sp, 0x4]
- movs r0, 0x7
- str r0, [sp, 0x8]
- adds r0, r2, 0
- adds r1, r7, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_8087F54
-_08088012:
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8087FB8
-
- thumb_func_start sub_8088020
-sub_8088020: @ 8088020
- push {r4-r7,lr}
- sub sp, 0xC
- adds r5, r1, 0
- cmp r5, 0
- beq _08088074
- ldr r0, [r5]
- ldr r4, [r0]
- ldr r0, [r0, 0x4]
- adds r2, 0x7
- subs r7, r0, 0x7
- cmp r2, 0
- bge _08088050
- negs r6, r2
- adds r2, r4
- ldr r0, =gUnknown_03005DC0
- ldr r3, [r0]
- cmp r2, r3
- bge _08088046
- adds r3, r2, 0
-_08088046:
- movs r2, 0
- b _08088060
- .pool
-_08088050:
- movs r6, 0
- adds r0, r2, r4
- ldr r1, =gUnknown_03005DC0
- ldr r1, [r1]
- subs r3, r1, r2
- cmp r0, r1
- bge _08088060
- adds r3, r4, 0
-_08088060:
- str r7, [sp]
- str r3, [sp, 0x4]
- movs r0, 0x7
- str r0, [sp, 0x8]
- adds r0, r2, 0
- movs r1, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_8087F54
-_08088074:
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8088020
-
- thumb_func_start sub_8088080
-sub_8088080: @ 8088080
- push {r4-r7,lr}
- sub sp, 0xC
- adds r5, r1, 0
- cmp r5, 0
- beq _080880D4
- ldr r0, [r5]
- ldr r1, [r0]
- ldr r4, [r0, 0x4]
- adds r2, 0x7
- subs r7, r1, 0x7
- cmp r2, 0
- bge _080880B0
- negs r6, r2
- adds r1, r2, r4
- ldr r0, =gUnknown_03005DC0
- ldr r3, [r0, 0x4]
- cmp r1, r3
- bge _080880A6
- adds r3, r1, 0
-_080880A6:
- movs r2, 0
- b _080880C0
- .pool
-_080880B0:
- movs r6, 0
- adds r0, r2, r4
- ldr r1, =gUnknown_03005DC0
- ldr r1, [r1, 0x4]
- subs r3, r1, r2
- cmp r0, r1
- bge _080880C0
- adds r3, r4, 0
-_080880C0:
- str r6, [sp]
- movs r0, 0x7
- str r0, [sp, 0x4]
- str r3, [sp, 0x8]
- movs r0, 0
- adds r1, r2, 0
- adds r2, r5, 0
- adds r3, r7, 0
- bl sub_8087F54
-_080880D4:
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8088080
-
- thumb_func_start sub_80880E0
-sub_80880E0: @ 80880E0
- push {r4-r7,lr}
- sub sp, 0xC
- adds r3, r0, 0
- adds r5, r1, 0
- cmp r5, 0
- beq _08088138
- ldr r0, [r5]
- ldr r4, [r0, 0x4]
- ldr r0, [r3]
- ldr r0, [r0]
- adds r7, r0, 0x7
- adds r2, 0x7
- cmp r2, 0
- bge _08088114
- negs r6, r2
- adds r1, r2, r4
- ldr r0, =gUnknown_03005DC0
- ldr r3, [r0, 0x4]
- cmp r1, r3
- bge _0808810A
- adds r3, r1, 0
-_0808810A:
- movs r2, 0
- b _08088124
- .pool
-_08088114:
- movs r6, 0
- adds r0, r2, r4
- ldr r1, =gUnknown_03005DC0
- ldr r1, [r1, 0x4]
- subs r3, r1, r2
- cmp r0, r1
- bge _08088124
- adds r3, r4, 0
-_08088124:
- str r6, [sp]
- movs r0, 0x8
- str r0, [sp, 0x4]
- str r3, [sp, 0x8]
- adds r0, r7, 0
- adds r1, r2, 0
- adds r2, r5, 0
- movs r3, 0
- bl sub_8087F54
-_08088138:
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80880E0
-
- thumb_func_start MapGridGetZCoordAt
-@ u8 MapGridGetZCoordAt(s32 x, s32 y)
-MapGridGetZCoordAt: @ 8088144
- push {r4,lr}
- adds r2, r0, 0
- adds r4, r1, 0
- cmp r2, 0
- blt _08088174
- ldr r1, =gUnknown_03005DC0
- ldr r3, [r1]
- cmp r2, r3
- bge _08088174
- cmp r4, 0
- blt _08088174
- ldr r0, [r1, 0x4]
- cmp r4, r0
- bge _08088174
- adds r0, r3, 0
- muls r0, r4
- adds r0, r2, r0
- ldr r1, [r1, 0x8]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- b _08088196
- .pool
-_08088174:
- ldr r0, =gMapHeader
- ldr r3, [r0]
- adds r1, r2, 0x1
- movs r2, 0x1
- ands r1, r2
- adds r0, r4, 0x1
- ands r0, r2
- lsls r0, 1
- adds r1, r0
- ldr r0, [r3, 0x8]
- lsls r1, 1
- adds r1, r0
- ldrh r1, [r1]
- movs r2, 0xC0
- lsls r2, 4
- adds r0, r2, 0
- orrs r1, r0
-_08088196:
- ldr r0, =0x000003ff
- cmp r1, r0
- beq _080881A8
- lsrs r0, r1, 12
- b _080881AA
- .pool
-_080881A8:
- movs r0, 0
-_080881AA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end MapGridGetZCoordAt
-
- thumb_func_start MapGridIsImpassableAt
-@ u8 MapGridIsImpassableAt(s32 x, s32 y)
-MapGridIsImpassableAt: @ 80881B0
- push {r4,lr}
- adds r2, r0, 0
- adds r4, r1, 0
- cmp r2, 0
- blt _080881E0
- ldr r1, =gUnknown_03005DC0
- ldr r3, [r1]
- cmp r2, r3
- bge _080881E0
- cmp r4, 0
- blt _080881E0
- ldr r0, [r1, 0x4]
- cmp r4, r0
- bge _080881E0
- adds r0, r3, 0
- muls r0, r4
- adds r0, r2, r0
- ldr r1, [r1, 0x8]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- b _08088202
- .pool
-_080881E0:
- ldr r0, =gMapHeader
- ldr r3, [r0]
- adds r1, r2, 0x1
- movs r2, 0x1
- ands r1, r2
- adds r0, r4, 0x1
- ands r0, r2
- lsls r0, 1
- adds r1, r0
- ldr r0, [r3, 0x8]
- lsls r1, 1
- adds r1, r0
- ldrh r1, [r1]
- movs r2, 0xC0
- lsls r2, 4
- adds r0, r2, 0
- orrs r1, r0
-_08088202:
- ldr r0, =0x000003ff
- cmp r1, r0
- beq _0808821C
- movs r0, 0xC0
- lsls r0, 4
- ands r1, r0
- lsrs r0, r1, 10
- b _0808821E
- .pool
-_0808821C:
- movs r0, 0x1
-_0808821E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end MapGridIsImpassableAt
-
- thumb_func_start MapGridGetMetatileIdAt
-@ u16 MapGridGetMetatileIdAt(s32 x, s32 y)
-MapGridGetMetatileIdAt: @ 8088224
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- cmp r5, 0
- blt _08088254
- ldr r1, =gUnknown_03005DC0
- ldr r2, [r1]
- cmp r5, r2
- bge _08088254
- cmp r6, 0
- blt _08088254
- ldr r0, [r1, 0x4]
- cmp r6, r0
- bge _08088254
- adds r0, r2, 0
- muls r0, r6
- adds r0, r5, r0
- ldr r1, [r1, 0x8]
- lsls r0, 1
- adds r0, r1
- ldrh r4, [r0]
- b _08088278
- .pool
-_08088254:
- ldr r0, =gMapHeader
- ldr r3, [r0]
- adds r1, r5, 0x1
- movs r2, 0x1
- ands r1, r2
- adds r0, r6, 0x1
- ands r0, r2
- lsls r0, 1
- adds r1, r0
- ldr r0, [r3, 0x8]
- lsls r1, 1
- adds r1, r0
- ldrh r1, [r1]
- movs r2, 0xC0
- lsls r2, 4
- adds r0, r2, 0
- adds r4, r0, 0
- orrs r4, r1
-_08088278:
- ldr r0, =0x000003ff
- cmp r4, r0
- beq _0808828C
- ands r4, r0
- adds r0, r4, 0
- b _080882B0
- .pool
-_0808828C:
- ldr r0, =gMapHeader
- ldr r3, [r0]
- adds r1, r5, 0x1
- movs r2, 0x1
- ands r1, r2
- adds r0, r6, 0x1
- ands r0, r2
- lsls r0, 1
- adds r1, r0
- ldr r0, [r3, 0x8]
- lsls r1, 1
- adds r1, r0
- ldrh r0, [r1]
- movs r2, 0xC0
- lsls r2, 4
- adds r1, r2, 0
- orrs r0, r1
- ands r0, r4
-_080882B0:
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end MapGridGetMetatileIdAt
-
- thumb_func_start MapGridGetMetatileBehaviorAt
-@ u8 MapGridGetMetatileBehaviorAt(s32 x, s32 y)
-MapGridGetMetatileBehaviorAt: @ 80882BC
- push {lr}
- bl MapGridGetMetatileIdAt
- lsls r0, 16
- lsrs r0, 16
- bl GetBehaviorByMetatileId
- adds r1, r0, 0
- movs r0, 0xFF
- ands r0, r1
- pop {r1}
- bx r1
- thumb_func_end MapGridGetMetatileBehaviorAt
-
- thumb_func_start MapGridGetMetatileLayerTypeAt
-@ u8 MapGridGetMetatileLayerTypeAt(s32 x, s32 y)
-MapGridGetMetatileLayerTypeAt: @ 80882D4
- push {lr}
- bl MapGridGetMetatileIdAt
- lsls r0, 16
- lsrs r0, 16
- bl GetBehaviorByMetatileId
- adds r1, r0, 0
- movs r0, 0xF0
- lsls r0, 8
- ands r0, r1
- lsrs r0, 12
- pop {r1}
- bx r1
- thumb_func_end MapGridGetMetatileLayerTypeAt
-
- thumb_func_start MapGridSetMetatileIdAt
-@ void MapGridSetMetatileIdAt(s32 x, s32 y, u16 metatileId)
-MapGridSetMetatileIdAt: @ 80882F0
- push {r4,r5,lr}
- adds r3, r0, 0
- lsls r2, 16
- lsrs r5, r2, 16
- cmp r3, 0
- blt _08088328
- ldr r2, =gUnknown_03005DC0
- ldr r4, [r2]
- cmp r3, r4
- bge _08088328
- cmp r1, 0
- blt _08088328
- ldr r0, [r2, 0x4]
- cmp r1, r0
- bge _08088328
- muls r1, r4
- adds r1, r3, r1
- ldr r0, [r2, 0x8]
- lsls r1, 1
- adds r1, r0
- ldrh r0, [r1]
- movs r2, 0xF0
- lsls r2, 8
- ands r2, r0
- ldr r0, =0x00000fff
- ands r0, r5
- orrs r2, r0
- strh r2, [r1]
-_08088328:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end MapGridSetMetatileIdAt
-
- thumb_func_start MapGridSetMetatileEntryAt
-@ void MapGridSetMetatileEntryAt(s32 x, s32 y, u16 metatileEntry)
-MapGridSetMetatileEntryAt: @ 8088338
- push {r4,r5,lr}
- adds r3, r0, 0
- lsls r2, 16
- lsrs r5, r2, 16
- cmp r3, 0
- blt _08088364
- ldr r2, =gUnknown_03005DC0
- ldr r4, [r2]
- cmp r3, r4
- bge _08088364
- cmp r1, 0
- blt _08088364
- ldr r0, [r2, 0x4]
- cmp r1, r0
- bge _08088364
- adds r0, r4, 0
- muls r0, r1
- adds r0, r3, r0
- ldr r1, [r2, 0x8]
- lsls r0, 1
- adds r0, r1
- strh r5, [r0]
-_08088364:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end MapGridSetMetatileEntryAt
-
- thumb_func_start GetBehaviorByMetatileId
-@ u16 GetBehaviorByMetatileId(u16 metatileId)
-GetBehaviorByMetatileId: @ 8088370
- push {lr}
- lsls r0, 16
- lsrs r2, r0, 16
- adds r3, r2, 0
- ldr r0, =0x000001ff
- cmp r2, r0
- bhi _08088394
- ldr r0, =gMapHeader
- ldr r0, [r0]
- ldr r0, [r0, 0x10]
- ldr r1, [r0, 0x10]
- lsls r0, r2, 1
- b _080883B2
- .pool
-_08088394:
- ldr r0, =0x000003ff
- cmp r2, r0
- bls _080883A4
- movs r0, 0xFF
- b _080883B6
- .pool
-_080883A4:
- ldr r0, =gMapHeader
- ldr r0, [r0]
- ldr r0, [r0, 0x14]
- ldr r1, [r0, 0x10]
- lsls r0, r3, 1
- adds r0, r1
- ldr r1, =0xfffffc00
-_080883B2:
- adds r0, r1
- ldrh r0, [r0]
-_080883B6:
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetBehaviorByMetatileId
-
- thumb_func_start save_serialize_map
-save_serialize_map: @ 80883C4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- adds r4, r1, 0
- adds r4, 0x34
- ldr r0, =gUnknown_03005DC0
- ldr r0, [r0]
- mov r8, r0
- movs r0, 0
- ldrsh r6, [r1, r0]
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- adds r1, r0, 0
- adds r1, 0xE
- cmp r0, r1
- bge _08088420
- mov r12, r1
- ldr r1, =gUnknown_02032318
- mov r9, r1
- lsls r7, r6, 1
-_080883F2:
- adds r1, r6, 0
- adds r3, r1, 0
- adds r3, 0xF
- adds r5, r0, 0x1
- cmp r1, r3
- bge _0808841A
- mov r2, r8
- muls r2, r0
- adds r0, r2, 0
- lsls r0, 1
- add r0, r9
- adds r2, r7, r0
- subs r1, r3, r1
-_0808840C:
- ldrh r0, [r2]
- strh r0, [r4]
- adds r4, 0x2
- adds r2, 0x2
- subs r1, 0x1
- cmp r1, 0
- bne _0808840C
-_0808841A:
- adds r0, r5, 0
- cmp r0, r12
- blt _080883F2
-_08088420:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end save_serialize_map
-
- thumb_func_start sub_8088438
-sub_8088438: @ 8088438
- push {r4,lr}
- movs r2, 0
- movs r1, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- adds r3, r0, 0
- adds r3, 0x34
- ldr r4, =0x000001ff
-_08088448:
- lsls r0, r1, 1
- adds r0, r3, r0
- ldrh r0, [r0]
- orrs r2, r0
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r4
- bls _08088448
- cmp r2, 0
- beq _0808846C
- movs r0, 0
- b _0808846E
- .pool
-_0808846C:
- movs r0, 0x1
-_0808846E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8088438
-
- thumb_func_start sav2_mapdata_clear
-sav2_mapdata_clear: @ 8088474
- push {lr}
- sub sp, 0x4
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- adds r1, 0x34
- ldr r2, =0x01000100
- mov r0, sp
- bl CpuSet
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sav2_mapdata_clear
-
- thumb_func_start mapdata_from_sav2
-mapdata_from_sav2: @ 808849C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- ldr r4, =gSaveBlock1Ptr
- ldr r0, [r4]
- adds r7, r0, 0
- adds r7, 0x34
- bl sub_8088438
- cmp r0, 0
- bne _080885AC
- ldr r0, =gUnknown_03005DC0
- ldr r0, [r0]
- str r0, [sp]
- ldr r0, [r4]
- movs r2, 0
- ldrsh r1, [r0, r2]
- mov r10, r1
- movs r2, 0x2
- ldrsh r1, [r0, r2]
- mov r8, r1
- mov r6, r8
- adds r0, r6, 0
- adds r0, 0xE
- cmp r6, r0
- bge _0808855A
-_080884D6:
- cmp r6, r8
- bne _080884EC
- cmp r6, 0
- beq _080884EC
- movs r0, 0
- mov r9, r0
- b _08088508
- .pool
-_080884EC:
- mov r0, r8
- adds r0, 0xD
- movs r1, 0xFF
- mov r9, r1
- cmp r6, r0
- bne _08088508
- ldr r0, =gMapHeader
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- subs r0, 0x1
- cmp r6, r0
- beq _08088508
- movs r2, 0x1
- mov r9, r2
-_08088508:
- mov r5, r10
- adds r0, r5, 0
- adds r0, 0xF
- mov r1, r8
- adds r1, 0xE
- str r1, [sp, 0x8]
- adds r2, r6, 0x1
- str r2, [sp, 0x4]
- cmp r5, r0
- bge _08088552
- ldr r0, [sp]
- lsls r3, r0, 16
-_08088520:
- ldr r1, [sp]
- adds r0, r1, 0
- muls r0, r6
- adds r0, r5, r0
- lsls r0, 1
- ldr r1, =gUnknown_02032318
- adds r4, r0, r1
- adds r0, r4, 0
- lsrs r1, r3, 16
- mov r2, r9
- str r3, [sp, 0xC]
- bl sub_8088BF0
- lsls r0, 24
- ldr r3, [sp, 0xC]
- cmp r0, 0
- bne _08088546
- ldrh r0, [r7]
- strh r0, [r4]
-_08088546:
- adds r7, 0x2
- adds r5, 0x1
- mov r0, r10
- adds r0, 0xF
- cmp r5, r0
- blt _08088520
-_08088552:
- ldr r6, [sp, 0x4]
- ldr r2, [sp, 0x8]
- cmp r6, r2
- blt _080884D6
-_0808855A:
- mov r5, r10
- adds r0, r5, 0
- adds r0, 0xF
- cmp r5, r0
- bge _080885A8
- mov r0, r8
- subs r0, 0x1
- lsls r0, 16
- mov r9, r0
- lsls r4, r5, 16
- mov r0, r8
- adds r0, 0xD
- lsls r7, r0, 16
-_08088574:
- mov r0, r8
- cmp r0, 0
- beq _08088584
- asrs r0, r4, 16
- mov r2, r9
- asrs r1, r2, 16
- bl sub_80D423C
-_08088584:
- ldr r0, =gMapHeader
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- subs r0, 0x1
- cmp r6, r0
- bge _08088598
- asrs r0, r4, 16
- asrs r1, r7, 16
- bl sub_80D42B8
-_08088598:
- movs r0, 0x80
- lsls r0, 9
- adds r4, r0
- adds r5, 0x1
- mov r0, r10
- adds r0, 0xF
- cmp r5, r0
- blt _08088574
-_080885A8:
- bl sav2_mapdata_clear
-_080885AC:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end mapdata_from_sav2
-
- thumb_func_start sub_80885C4
-sub_80885C4: @ 80885C4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r3, r0, 24
- adds r2, r3, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x34
- str r0, [sp, 0x4]
- ldr r0, =gUnknown_03005DC0
- ldr r0, [r0]
- str r0, [sp]
- movs r4, 0
- mov r9, r4
- mov r8, r4
- movs r0, 0
- ldrsh r6, [r1, r0]
- str r6, [sp, 0x8]
- movs r4, 0x2
- ldrsh r5, [r1, r4]
- movs r7, 0xF
- movs r6, 0xE
- mov r12, r6
- cmp r3, 0x2
- beq _0808861E
- cmp r3, 0x2
- bgt _08088614
- cmp r3, 0x1
- beq _08088626
- b _0808863E
- .pool
-_08088614:
- cmp r2, 0x3
- beq _08088630
- cmp r2, 0x4
- beq _08088638
- b _0808863E
-_0808861E:
- adds r5, 0x1
- movs r0, 0xD
- mov r12, r0
- b _0808863E
-_08088626:
- movs r1, 0x1
- mov r8, r1
- movs r3, 0xD
- mov r12, r3
- b _0808863E
-_08088630:
- ldr r4, [sp, 0x8]
- adds r4, 0x1
- str r4, [sp, 0x8]
- b _0808863C
-_08088638:
- movs r6, 0x1
- mov r9, r6
-_0808863C:
- movs r7, 0xE
-_0808863E:
- movs r1, 0
- cmp r1, r12
- bge _08088682
- ldr r0, =gUnknown_02032318
- mov r10, r0
-_08088648:
- adds r4, r1, 0x1
- cmp r7, 0
- beq _0808867C
- adds r0, r1, r5
- ldr r3, [sp]
- adds r2, r3, 0
- muls r2, r0
- add r1, r8
- lsls r0, r1, 4
- subs r0, r1
- add r0, r9
- ldr r6, [sp, 0x8]
- adds r2, r6, r2
- adds r3, r7, 0
- lsls r2, 1
- add r2, r10
- lsls r0, 1
- ldr r6, [sp, 0x4]
- adds r1, r0, r6
-_0808866E:
- ldrh r0, [r1]
- strh r0, [r2]
- adds r1, 0x2
- adds r2, 0x2
- subs r3, 0x1
- cmp r3, 0
- bne _0808866E
-_0808867C:
- adds r1, r4, 0
- cmp r1, r12
- blt _08088648
-_08088682:
- bl sav2_mapdata_clear
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80885C4
-
- thumb_func_start GetMapBorderIdAt
-@ u32 GetMapBorderIdAt(s32 x, s32 y)
-GetMapBorderIdAt: @ 808869C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- cmp r4, 0
- blt _080886D8
- ldr r1, =gUnknown_03005DC0
- ldr r2, [r1]
- cmp r4, r2
- bge _080886D8
- cmp r5, 0
- blt _080886D8
- ldr r0, [r1, 0x4]
- cmp r5, r0
- bge _080886D8
- adds r0, r2, 0
- muls r0, r5
- adds r0, r4, r0
- ldr r1, [r1, 0x8]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- ldr r0, =0x000003ff
- cmp r1, r0
- beq _08088770
- b _08088700
- .pool
-_080886D8:
- ldr r0, =gMapHeader
- ldr r3, [r0]
- adds r1, r4, 0x1
- movs r2, 0x1
- ands r1, r2
- adds r0, r5, 0x1
- ands r0, r2
- lsls r0, 1
- adds r1, r0
- ldr r0, [r3, 0x8]
- lsls r1, 1
- adds r1, r0
- ldrh r1, [r1]
- movs r2, 0xC0
- lsls r2, 4
- adds r0, r2, 0
- orrs r0, r1
- ldr r1, =0x000003ff
- cmp r0, r1
- beq _08088770
-_08088700:
- ldr r1, =gUnknown_03005DC0
- ldr r0, [r1]
- subs r0, 0x8
- cmp r4, r0
- blt _0808872C
- ldr r0, =gUnknown_02037340
- ldrb r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08088770
- movs r0, 0x4
- b _08088782
- .pool
-_0808872C:
- cmp r4, 0x6
- bgt _08088744
- ldr r0, =gUnknown_02037340
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08088770
- movs r0, 0x3
- b _08088782
- .pool
-_08088744:
- ldr r0, [r1, 0x4]
- subs r0, 0x7
- cmp r5, r0
- blt _08088760
- ldr r0, =gUnknown_02037340
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08088770
- movs r0, 0x1
- b _08088782
- .pool
-_08088760:
- cmp r5, 0x6
- bgt _08088780
- ldr r0, =gUnknown_02037340
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _0808877C
-_08088770:
- movs r0, 0x1
- negs r0, r0
- b _08088782
- .pool
-_0808877C:
- movs r0, 0x2
- b _08088782
-_08088780:
- movs r0, 0
-_08088782:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end GetMapBorderIdAt
-
- thumb_func_start GetPostCameraMoveMapBorderId
-@ u32 GetPostCameraMoveMapBorderId(s32 deltaX, s32 deltaY)
-GetPostCameraMoveMapBorderId: @ 8088788
- push {r4,lr}
- adds r3, r1, 0
- ldr r1, =gSaveBlock1Ptr
- ldr r1, [r1]
- movs r4, 0
- ldrsh r2, [r1, r4]
- adds r0, 0x7
- adds r2, r0
- movs r0, 0x2
- ldrsh r1, [r1, r0]
- adds r3, 0x7
- adds r1, r3
- adds r0, r2, 0
- bl GetMapBorderIdAt
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetPostCameraMoveMapBorderId
-
- thumb_func_start CanCameraMoveInDirection
-@ bool32 CanCameraMoveInDirection(u8 direction)
-CanCameraMoveInDirection: @ 80887B0
- push {r4,r5,lr}
- ldr r1, =gSaveBlock1Ptr
- ldr r4, [r1]
- movs r1, 0
- ldrsh r3, [r4, r1]
- ldr r2, =gUnknown_08339D64
- lsls r0, 3
- adds r1, r0, r2
- ldr r1, [r1]
- adds r1, 0x7
- adds r3, r1
- movs r5, 0x2
- ldrsh r1, [r4, r5]
- adds r2, 0x4
- adds r0, r2
- ldr r0, [r0]
- adds r0, 0x7
- adds r1, r0
- adds r0, r3, 0
- bl GetMapBorderIdAt
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- beq _080887F0
- movs r0, 0x1
- b _080887F2
- .pool
-_080887F0:
- movs r0, 0
-_080887F2:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end CanCameraMoveInDirection
-
- thumb_func_start sub_80887F8
-sub_80887F8: @ 80887F8
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r6, r2, 0
- adds r7, r3, 0
- bl mapconnection_get_mapheader
- adds r3, r0, 0
- cmp r4, 0x2
- beq _08088860
- cmp r4, 0x2
- bgt _08088816
- cmp r4, 0x1
- beq _0808884C
- b _08088872
-_08088816:
- cmp r4, 0x3
- beq _08088834
- cmp r4, 0x4
- bne _08088872
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- negs r0, r6
- strh r0, [r1]
- ldr r2, [r5, 0x4]
- ldrh r0, [r1, 0x2]
- subs r0, r2
- b _08088870
- .pool
-_08088834:
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r0, [r3]
- ldr r0, [r0]
- strh r0, [r1]
- ldr r2, [r5, 0x4]
- ldrh r0, [r1, 0x2]
- subs r0, r2
- b _08088870
- .pool
-_0808884C:
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r2, [r5, 0x4]
- ldrh r0, [r1]
- subs r0, r2
- strh r0, [r1]
- negs r0, r7
- b _08088870
- .pool
-_08088860:
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r2, [r5, 0x4]
- ldrh r0, [r1]
- subs r0, r2
- strh r0, [r1]
- ldr r0, [r3]
- ldr r0, [r0, 0x4]
-_08088870:
- strh r0, [r1, 0x2]
-_08088872:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80887F8
-
- thumb_func_start CameraMove
-@ u8 CameraMove(s32 deltaX, s32 deltaY)
-CameraMove: @ 808887C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r10, r0
- mov r9, r1
- ldr r1, =gCamera
- ldrb r0, [r1]
- movs r1, 0x2
- negs r1, r1
- ands r1, r0
- ldr r2, =gCamera
- strb r1, [r2]
- mov r0, r10
- mov r1, r9
- bl GetPostCameraMoveMapBorderId
- adds r7, r0, 0
- adds r0, r7, 0x1
- cmp r0, 0x1
- bhi _080888C4
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldrh r0, [r1]
- add r0, r10
- strh r0, [r1]
- ldrh r0, [r1, 0x2]
- add r0, r9
- strh r0, [r1, 0x2]
- b _08088932
- .pool
-_080888C4:
- bl save_serialize_map
- bl sub_81BE72C
- ldr r1, =gSaveBlock1Ptr
- ldr r0, [r1]
- movs r2, 0
- ldrsh r5, [r0, r2]
- movs r1, 0x2
- ldrsh r6, [r0, r1]
- lsls r2, r7, 24
- lsrs r2, 24
- mov r8, r2
- mov r0, r8
- adds r1, r5, 0
- adds r2, r6, 0
- bl sub_8088950
- adds r4, r0, 0
- adds r1, r7, 0
- mov r2, r10
- mov r3, r9
- bl sub_80887F8
- ldrb r0, [r4, 0x8]
- ldrb r1, [r4, 0x9]
- bl mliX_load_map
- ldr r1, =gCamera
- ldrb r0, [r1]
- movs r1, 0x1
- orrs r0, r1
- ldr r2, =gCamera
- strb r0, [r2]
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- movs r2, 0
- ldrsh r0, [r1, r2]
- subs r5, r0
- ldr r0, =gCamera
- str r5, [r0, 0x4]
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- subs r6, r0
- ldr r0, =gCamera
- str r6, [r0, 0x8]
- ldrh r0, [r1]
- add r0, r10
- strh r0, [r1]
- ldrh r0, [r1, 0x2]
- add r0, r9
- strh r0, [r1, 0x2]
- mov r0, r8
- bl sub_80885C4
-_08088932:
- ldr r0, =gCamera
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r0, 31
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end CameraMove
-
- thumb_func_start sub_8088950
-sub_8088950: @ 8088950
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r9, r1
- mov r8, r2
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =gMapHeader
- ldr r0, [r0, 0xC]
- ldr r7, [r0]
- ldr r4, [r0, 0x4]
- movs r5, 0
- cmp r5, r7
- bge _08088998
-_0808896E:
- ldrb r0, [r4]
- cmp r0, r6
- bne _08088990
- adds r0, r6, 0
- mov r1, r9
- mov r2, r8
- adds r3, r4, 0
- bl sub_80889A8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08088990
- adds r0, r4, 0
- b _0808899A
- .pool
-_08088990:
- adds r5, 0x1
- adds r4, 0xC
- cmp r5, r7
- blt _0808896E
-_08088998:
- movs r0, 0
-_0808899A:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8088950
-
- thumb_func_start sub_80889A8
-sub_80889A8: @ 80889A8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r1, 0
- mov r8, r2
- adds r5, r3, 0
- lsls r0, 24
- lsrs r4, r0, 24
- adds r6, r4, 0
- adds r0, r5, 0
- bl mapconnection_get_mapheader
- adds r2, r0, 0
- cmp r4, 0x1
- blt _08088A00
- cmp r4, 0x2
- bgt _080889E0
- ldr r0, =gMapHeader
- ldr r0, [r0]
- ldr r1, [r0]
- ldr r0, [r2]
- ldr r2, [r0]
- ldr r3, [r5, 0x4]
- adds r0, r7, 0
- b _080889F2
- .pool
-_080889E0:
- cmp r6, 0x4
- bgt _08088A00
- ldr r0, =gMapHeader
- ldr r0, [r0]
- ldr r1, [r0, 0x4]
- ldr r0, [r2]
- ldr r2, [r0, 0x4]
- ldr r3, [r5, 0x4]
- mov r0, r8
-_080889F2:
- bl sub_8088A0C
- lsls r0, 24
- lsrs r0, 24
- b _08088A02
- .pool
-_08088A00:
- movs r0, 0
-_08088A02:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80889A8
-
- thumb_func_start sub_8088A0C
-sub_8088A0C: @ 8088A0C
- push {r4,lr}
- adds r4, r0, 0
- adds r0, r2, 0
- adds r2, r3, 0
- cmp r3, 0
- bge _08088A1A
- movs r3, 0
-_08088A1A:
- adds r2, r0, r2
- cmp r2, r1
- bge _08088A22
- adds r1, r2, 0
-_08088A22:
- cmp r3, r4
- bgt _08088A2E
- cmp r4, r1
- bgt _08088A2E
- movs r0, 0x1
- b _08088A30
-_08088A2E:
- movs r0, 0
-_08088A30:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8088A0C
-
- thumb_func_start sub_8088A38
-sub_8088A38: @ 8088A38
- push {lr}
- cmp r0, 0
- blt _08088A46
- cmp r0, r1
- bge _08088A46
- movs r0, 0x1
- b _08088A48
-_08088A46:
- movs r0, 0
-_08088A48:
- pop {r1}
- bx r1
- thumb_func_end sub_8088A38
-
- thumb_func_start sub_8088A4C
-sub_8088A4C: @ 8088A4C
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- bl mapconnection_get_mapheader
- adds r1, r0, 0
- ldrb r0, [r4]
- cmp r0, 0x1
- blt _08088A84
- cmp r0, 0x2
- bgt _08088A72
- ldr r0, [r4, 0x4]
- subs r0, r5, r0
- ldr r1, [r1]
- ldr r1, [r1]
- bl sub_8088A38
- b _08088A86
-_08088A72:
- cmp r0, 0x4
- bgt _08088A84
- ldr r0, [r4, 0x4]
- subs r0, r6, r0
- ldr r1, [r1]
- ldr r1, [r1, 0x4]
- bl sub_8088A38
- b _08088A86
-_08088A84:
- movs r0, 0
-_08088A86:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8088A4C
-
- thumb_func_start sub_8088A8C
-sub_8088A8C: @ 8088A8C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r1, 16
- lsrs r1, 16
- ldr r2, =gMapHeader
- ldr r0, [r2, 0xC]
- cmp r0, 0
- bne _08088AB4
- b _08088B2A
- .pool
-_08088AB0:
- adds r0, r4, 0
- b _08088B2C
-_08088AB4:
- ldr r7, [r0]
- ldr r4, [r0, 0x4]
- movs r6, 0
- cmp r6, r7
- bge _08088B2A
- lsls r0, r1, 16
- asrs r5, r0, 16
- mov r9, r2
- mov r1, r8
- lsls r0, r1, 16
- asrs r0, 16
- mov r10, r0
-_08088ACC:
- ldrb r1, [r4]
- adds r3, r1, 0
- subs r0, r1, 0x5
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _08088B22
- cmp r1, 0x2
- bne _08088AE2
- cmp r5, 0x6
- bgt _08088B22
-_08088AE2:
- cmp r1, 0x1
- bne _08088AF2
- mov r2, r9
- ldr r0, [r2]
- ldr r0, [r0, 0x4]
- adds r0, 0x7
- cmp r5, r0
- blt _08088B22
-_08088AF2:
- mov r0, r8
- lsls r2, r0, 16
- cmp r1, 0x3
- bne _08088B00
- mov r1, r10
- cmp r1, 0x6
- bgt _08088B22
-_08088B00:
- cmp r3, 0x4
- bne _08088B12
- asrs r1, r2, 16
- mov r3, r9
- ldr r0, [r3]
- ldr r0, [r0]
- adds r0, 0x7
- cmp r1, r0
- blt _08088B22
-_08088B12:
- asrs r1, r2, 16
- subs r1, 0x7
- adds r0, r4, 0
- subs r2, r5, 0x7
- bl sub_8088A4C
- cmp r0, 0x1
- beq _08088AB0
-_08088B22:
- adds r6, 0x1
- adds r4, 0xC
- cmp r6, r7
- blt _08088ACC
-_08088B2A:
- movs r0, 0
-_08088B2C:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8088A8C
-
- thumb_func_start sub_8088B3C
-sub_8088B3C: @ 8088B3C
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- lsrs r1, 16
- ldr r2, =gSaveBlock1Ptr
- ldr r2, [r2]
- subs r0, 0x7
- strh r0, [r2]
- subs r1, 0x7
- strh r1, [r2, 0x2]
- bx lr
- .pool
- thumb_func_end sub_8088B3C
-
- thumb_func_start sav1_camera_get_focus_coords
-sav1_camera_get_focus_coords: @ 8088B58
- ldr r2, =gSaveBlock1Ptr
- ldr r3, [r2]
- ldrh r2, [r3]
- adds r2, 0x7
- strh r2, [r0]
- ldrh r0, [r3, 0x2]
- adds r0, 0x7
- strh r0, [r1]
- bx lr
- .pool
- thumb_func_end sav1_camera_get_focus_coords
-
- thumb_func_start SetCameraCoords
-@ void SetCameraCoords(u16 x, u16 y)
-SetCameraCoords: @ 8088B70
- ldr r2, =gSaveBlock1Ptr
- ldr r2, [r2]
- strh r0, [r2]
- strh r1, [r2, 0x2]
- bx lr
- .pool
- thumb_func_end SetCameraCoords
-
- thumb_func_start GetCameraCoords
-@ void GetCameraCoords(u16 *x, u16 *y)
-GetCameraCoords: @ 8088B80
- ldr r2, =gSaveBlock1Ptr
- ldr r3, [r2]
- ldrh r2, [r3]
- strh r2, [r0]
- ldrh r0, [r3, 0x2]
- strh r0, [r1]
- bx lr
- .pool
- thumb_func_end GetCameraCoords
-
- thumb_func_start sub_8088B94
-sub_8088B94: @ 8088B94
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r3, r1, 0
- adds r5, r2, 0
- cmp r4, 0
- blt _08088BE6
- ldr r2, =gUnknown_03005DC0
- ldr r1, [r2]
- cmp r4, r1
- bge _08088BE6
- cmp r3, 0
- blt _08088BE6
- ldr r0, [r2, 0x4]
- cmp r3, r0
- bge _08088BE6
- cmp r5, 0
- beq _08088BD4
- adds r0, r1, 0
- muls r0, r3
- adds r0, r4, r0
- ldr r1, [r2, 0x8]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r3, 0xC0
- lsls r3, 4
- adds r2, r3, 0
- orrs r1, r2
- strh r1, [r0]
- b _08088BE6
- .pool
-_08088BD4:
- muls r1, r3
- adds r1, r4, r1
- ldr r0, [r2, 0x8]
- lsls r1, 1
- adds r1, r0
- ldrh r2, [r1]
- ldr r0, =0x0000f3ff
- ands r0, r2
- strh r0, [r1]
-_08088BE6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8088B94
-
- thumb_func_start sub_8088BF0
-sub_8088BF0: @ 8088BF0
- push {lr}
- adds r3, r0, 0
- lsls r1, 16
- lsrs r0, r1, 16
- adds r1, r0, 0
- lsls r2, 24
- lsrs r2, 24
- cmp r2, 0xFF
- beq _08088C24
- cmp r2, 0
- bne _08088C0C
- lsls r0, 1
- subs r3, r0
- b _08088C10
-_08088C0C:
- lsls r0, r1, 1
- adds r3, r0
-_08088C10:
- ldrh r1, [r3]
- ldr r0, =0x000003ff
- ands r0, r1
- adds r1, r2, 0
- bl sub_80FADE4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08088C2C
-_08088C24:
- movs r0, 0
- b _08088C2E
- .pool
-_08088C2C:
- movs r0, 0x1
-_08088C2E:
- pop {r1}
- bx r1
- thumb_func_end sub_8088BF0
-
- thumb_func_start copy_tileset_patterns_to_vram
-@ void copy_tileset_patterns_to_vram(tileset *tileset, int num_tiles, int offset)
-copy_tileset_patterns_to_vram: @ 8088C34
- push {r4-r7,lr}
- sub sp, 0x4
- adds r3, r0, 0
- lsls r1, 16
- lsrs r4, r1, 16
- adds r6, r4, 0
- lsls r2, 16
- lsrs r5, r2, 16
- adds r7, r5, 0
- cmp r3, 0
- beq _08088C70
- ldrb r0, [r3]
- cmp r0, 0
- bne _08088C60
- ldr r1, [r3, 0x4]
- lsls r2, r4, 21
- lsrs r2, 16
- movs r0, 0x2
- adds r3, r5, 0
- bl LoadBgTiles
- b _08088C70
-_08088C60:
- ldr r1, [r3, 0x4]
- lsls r2, r6, 5
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- adds r3, r7, 0
- bl decompress_and_copy_tile_data_to_vram
-_08088C70:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end copy_tileset_patterns_to_vram
-
- thumb_func_start copy_tileset_patterns_to_vram2
-@ void copy_tileset_patterns_to_vram2(tileset *tileset, int num_tiles, int offset)
-copy_tileset_patterns_to_vram2: @ 8088C78
- push {r4-r7,lr}
- sub sp, 0x4
- adds r3, r0, 0
- lsls r1, 16
- lsrs r4, r1, 16
- adds r6, r4, 0
- lsls r2, 16
- lsrs r5, r2, 16
- adds r7, r5, 0
- cmp r3, 0
- beq _08088CB4
- ldrb r0, [r3]
- cmp r0, 0
- bne _08088CA4
- ldr r1, [r3, 0x4]
- lsls r2, r4, 21
- lsrs r2, 16
- movs r0, 0x2
- adds r3, r5, 0
- bl LoadBgTiles
- b _08088CB4
-_08088CA4:
- ldr r1, [r3, 0x4]
- lsls r2, r6, 5
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- adds r3, r7, 0
- bl copy_decompressed_tile_data_to_vram_autofree
-_08088CB4:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end copy_tileset_patterns_to_vram2
-
- thumb_func_start nullsub_3
-nullsub_3: @ 8088CBC
- bx lr
- thumb_func_end nullsub_3
-
- thumb_func_start nullsub_90
-nullsub_90: @ 8088CC0
- bx lr
- thumb_func_end nullsub_90
-
- thumb_func_start apply_map_tileset_palette
-@ void apply_map_tileset_palette(tileset *tileset, int dest_offset, int size)
-apply_map_tileset_palette: @ 8088CC4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r1, 16
- lsrs r5, r1, 16
- mov r8, r5
- lsls r6, r2, 16
- lsrs r7, r6, 16
- adds r2, r7, 0
- movs r1, 0
- mov r0, sp
- strh r1, [r0]
- cmp r4, 0
- beq _08088D42
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- bne _08088D18
- mov r0, sp
- adds r1, r5, 0
- movs r2, 0x2
- bl LoadPalette
- ldr r0, [r4, 0x8]
- adds r0, 0x2
- adds r5, 0x1
- lsls r5, 16
- lsrs r5, 16
- subs r4, r7, 0x2
- lsls r2, r4, 16
- lsrs r2, 16
- adds r1, r5, 0
- bl LoadPalette
- lsls r4, 15
- lsrs r4, 16
- adds r0, r5, 0
- adds r1, r4, 0
- bl nullsub_3
- b _08088D42
-_08088D18:
- cmp r0, 0x1
- bne _08088D32
- ldr r0, [r4, 0x8]
- adds r0, 0xC0
- adds r1, r5, 0
- adds r2, r7, 0
- bl LoadPalette
- lsrs r1, r6, 17
- adds r0, r5, 0
- bl nullsub_3
- b _08088D42
-_08088D32:
- ldr r0, [r4, 0x8]
- mov r1, r8
- bl LoadCompressedPalette
- lsrs r1, r6, 17
- mov r0, r8
- bl nullsub_3
-_08088D42:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end apply_map_tileset_palette
-
- thumb_func_start copy_map_tileset1_to_vram
-@ void copy_map_tileset1_to_vram(mapdata_header *a1)
-copy_map_tileset1_to_vram: @ 8088D50
- push {lr}
- ldr r0, [r0, 0x10]
- movs r1, 0x80
- lsls r1, 2
- movs r2, 0
- bl copy_tileset_patterns_to_vram
- pop {r0}
- bx r0
- thumb_func_end copy_map_tileset1_to_vram
-
- thumb_func_start copy_map_tileset2_to_vram
-@ void copy_map_tileset2_to_vram(mapdata_header *a1)
-copy_map_tileset2_to_vram: @ 8088D64
- push {lr}
- ldr r0, [r0, 0x14]
- movs r2, 0x80
- lsls r2, 2
- adds r1, r2, 0
- bl copy_tileset_patterns_to_vram
- pop {r0}
- bx r0
- thumb_func_end copy_map_tileset2_to_vram
-
- thumb_func_start copy_map_tileset2_to_vram_2
-@ void copy_map_tileset2_to_vram_2(mapdata_header *a1)
-copy_map_tileset2_to_vram_2: @ 8088D78
- push {lr}
- ldr r0, [r0, 0x14]
- movs r2, 0x80
- lsls r2, 2
- adds r1, r2, 0
- bl copy_tileset_patterns_to_vram2
- pop {r0}
- bx r0
- thumb_func_end copy_map_tileset2_to_vram_2
-
- thumb_func_start apply_map_tileset1_palette
-@ void apply_map_tileset1_palette(mapdata_header *a1)
-apply_map_tileset1_palette: @ 8088D8C
- push {lr}
- ldr r0, [r0, 0x10]
- movs r1, 0
- movs r2, 0xC0
- bl apply_map_tileset_palette
- pop {r0}
- bx r0
- thumb_func_end apply_map_tileset1_palette
-
- thumb_func_start apply_map_tileset2_palette
-@ void apply_map_tileset2_palette(mapdata_header *a1)
-apply_map_tileset2_palette: @ 8088D9C
- push {lr}
- ldr r0, [r0, 0x14]
- movs r1, 0x60
- movs r2, 0xE0
- bl apply_map_tileset_palette
- pop {r0}
- bx r0
- thumb_func_end apply_map_tileset2_palette
-
- thumb_func_start copy_map_tileset1_tileset2_to_vram
-@ void copy_map_tileset1_tileset2_to_vram(mapdata_header *a1)
-copy_map_tileset1_tileset2_to_vram: @ 8088DAC
- push {r4,r5,lr}
- adds r5, r0, 0
- cmp r5, 0
- beq _08088DCC
- ldr r0, [r5, 0x10]
- movs r4, 0x80
- lsls r4, 2
- adds r1, r4, 0
- movs r2, 0
- bl copy_tileset_patterns_to_vram2
- ldr r0, [r5, 0x14]
- adds r1, r4, 0
- adds r2, r4, 0
- bl copy_tileset_patterns_to_vram2
-_08088DCC:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end copy_map_tileset1_tileset2_to_vram
-
- thumb_func_start apply_map_tileset1_tileset2_palette
-@ void apply_map_tileset1_tileset2_palette(mapdata_header *a1)
-apply_map_tileset1_tileset2_palette: @ 8088DD4
- push {r4,lr}
- adds r4, r0, 0
- cmp r4, 0
- beq _08088DE6
- bl apply_map_tileset1_palette
- adds r0, r4, 0
- bl apply_map_tileset2_palette
-_08088DE6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end apply_map_tileset1_tileset2_palette
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/item.s b/asm/item.s
deleted file mode 100644
index 89177c5d4..000000000
--- a/asm/item.s
+++ /dev/null
@@ -1,1921 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
-
- thumb_func_start CheckBagHasSpace
-CheckBagHasSpace: @ 80D6800
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r1, 16
- lsrs r5, r1, 16
- bl ItemId_GetPocket
- lsls r0, 24
- cmp r0, 0
- beq _080D6906
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- bne _080D6838
- ldr r0, =0x00004004
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080D684C
-_080D6838:
- mov r0, r8
- adds r1, r5, 0
- bl CheckPyramidBagHasSpace
- lsls r0, 24
- lsrs r0, 24
- b _080D6916
- .pool
-_080D684C:
- mov r0, r8
- bl ItemId_GetPocket
- subs r0, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r7, =0x000003e7
- cmp r2, 0x3
- beq _080D6860
- movs r7, 0x63
-_080D6860:
- movs r6, 0
- ldr r1, =gBagPockets
- lsls r4, r2, 3
- adds r0, r4, r1
- mov r9, r4
- ldrb r0, [r0, 0x4]
- cmp r6, r0
- bcs _080D68BC
- subs r0, r2, 0x2
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
-_080D6878:
- adds r0, r4, r1
- ldr r1, [r0]
- lsls r0, r6, 2
- adds r1, r0, r1
- ldrh r0, [r1]
- cmp r0, r8
- bne _080D68AC
- adds r0, r1, 0x2
- str r2, [sp]
- bl GetBagItemQuantity
- lsls r0, 16
- lsrs r1, r0, 16
- adds r0, r1, r5
- ldr r2, [sp]
- cmp r0, r7
- ble _080D6914
- mov r0, r10
- cmp r0, 0x1
- bls _080D6906
- subs r0, r7, r1
- subs r0, r5, r0
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- beq _080D6914
-_080D68AC:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, =gBagPockets
- adds r0, r4, r1
- ldrb r0, [r0, 0x4]
- cmp r6, r0
- bcc _080D6878
-_080D68BC:
- cmp r5, 0
- beq _080D6914
- movs r6, 0
- ldr r3, =gBagPockets
- mov r1, r9
- adds r0, r1, r3
- ldrb r0, [r0, 0x4]
- cmp r6, r0
- bcs _080D6902
- adds r4, r3, 0
- subs r0, r2, 0x2
- lsls r0, 24
- lsrs r2, r0, 24
-_080D68D6:
- adds r0, r1, r4
- ldr r1, [r0]
- lsls r0, r6, 2
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- bne _080D68F2
- cmp r5, r7
- bls _080D6914
- cmp r2, 0x1
- bls _080D6906
- subs r0, r5, r7
- lsls r0, 16
- lsrs r5, r0, 16
-_080D68F2:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- mov r1, r9
- adds r0, r1, r3
- ldrb r0, [r0, 0x4]
- cmp r6, r0
- bcc _080D68D6
-_080D6902:
- cmp r5, 0
- beq _080D6914
-_080D6906:
- movs r0, 0
- b _080D6916
- .pool
-_080D6914:
- movs r0, 0x1
-_080D6916:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end CheckBagHasSpace
-
- thumb_func_start AddBagItem
-@ int AddBagItem(int item_id, int quantity)
-AddBagItem: @ 80D6928
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- lsls r1, 16
- lsrs r5, r1, 16
- bl ItemId_GetPocket
- lsls r0, 24
- cmp r0, 0
- bne _080D694C
- movs r0, 0
- b _080D6A92
-_080D694C:
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- bne _080D6964
- ldr r0, =0x00004004
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080D6978
-_080D6964:
- mov r0, r9
- adds r1, r5, 0
- bl AddPyramidBagItem
- lsls r0, 24
- lsrs r0, 24
- b _080D6A92
- .pool
-_080D6978:
- mov r0, r9
- bl ItemId_GetPocket
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- lsls r1, r0, 3
- ldr r0, =gBagPockets
- adds r7, r1, r0
- ldrb r0, [r7, 0x4]
- lsls r0, 2
- bl AllocZeroed
- mov r8, r0
- ldr r1, [r7]
- ldrb r2, [r7, 0x4]
- lsls r2, 2
- bl memcpy
- ldr r2, =0x000003e7
- mov r0, r10
- cmp r0, 0x3
- beq _080D69AA
- movs r2, 0x63
-_080D69AA:
- movs r6, 0
- ldrb r0, [r7, 0x4]
- cmp r6, r0
- bcs _080D6A06
- mov r0, r10
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
-_080D69BC:
- lsls r0, r6, 2
- mov r3, r8
- adds r1, r0, r3
- ldrh r0, [r1]
- cmp r0, r9
- bne _080D69FA
- adds r4, r1, 0x2
- adds r0, r4, 0
- str r2, [sp, 0x4]
- bl GetBagItemQuantity
- lsls r0, 16
- lsrs r0, 16
- adds r1, r0, r5
- ldr r2, [sp, 0x4]
- cmp r1, r2
- ble _080D6A68
- ldr r1, [sp]
- cmp r1, 0x1
- bls _080D6A74
- subs r0, r2, r0
- subs r0, r5, r0
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0
- adds r1, r2, 0
- bl SetBagItemQuantity
- ldr r2, [sp, 0x4]
- cmp r5, 0
- beq _080D6A7E
-_080D69FA:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r0, [r7, 0x4]
- cmp r6, r0
- bcc _080D69BC
-_080D6A06:
- cmp r5, 0
- beq _080D6A7E
- movs r6, 0
- cmp r6, r0
- bcs _080D6A62
- mov r0, r10
- subs r0, 0x2
- lsls r0, 24
- lsrs r4, r0, 24
-_080D6A18:
- lsls r0, r6, 2
- mov r3, r8
- adds r1, r0, r3
- ldrh r0, [r1]
- cmp r0, 0
- bne _080D6A56
- mov r0, r9
- strh r0, [r1]
- cmp r5, r2
- bhi _080D6A40
- adds r0, r1, 0x2
- adds r1, r5, 0
- bl SetBagItemQuantity
- b _080D6A7E
- .pool
-_080D6A40:
- cmp r4, 0x1
- bls _080D6A74
- subs r0, r5, r2
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r1, 0x2
- adds r1, r2, 0
- str r2, [sp, 0x4]
- bl SetBagItemQuantity
- ldr r2, [sp, 0x4]
-_080D6A56:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r1, [r7, 0x4]
- cmp r6, r1
- bcc _080D6A18
-_080D6A62:
- cmp r5, 0
- beq _080D6A7E
- b _080D6A74
-_080D6A68:
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl SetBagItemQuantity
- b _080D6A7E
-_080D6A74:
- mov r0, r8
- bl Free
- movs r0, 0
- b _080D6A92
-_080D6A7E:
- ldr r0, [r7]
- ldrb r2, [r7, 0x4]
- lsls r2, 2
- mov r1, r8
- bl memcpy
- mov r0, r8
- bl Free
- movs r0, 0x1
-_080D6A92:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end AddBagItem
-
- thumb_func_start RemoveBagItem
-@ pokescrcmd
-RemoveBagItem: @ 80D6AA4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r1, 16
- lsrs r7, r1, 16
- movs r4, 0
- bl ItemId_GetPocket
- lsls r0, 24
- cmp r0, 0
- beq _080D6B38
- mov r0, r8
- cmp r0, 0
- beq _080D6B38
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- bne _080D6AE0
- ldr r0, =0x00004004
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080D6AF4
-_080D6AE0:
- mov r0, r8
- adds r1, r7, 0
- bl RemovePyramidBagItem
- lsls r0, 24
- lsrs r0, 24
- b _080D6C5A
- .pool
-_080D6AF4:
- mov r0, r8
- bl ItemId_GetPocket
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r1, r0, 3
- ldr r0, =gBagPockets
- adds r5, r1, r0
- movs r6, 0
- ldrb r2, [r5, 0x4]
- cmp r6, r2
- bcs _080D6B34
-_080D6B10:
- ldr r0, [r5]
- lsls r1, r6, 2
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, r8
- bne _080D6B28
- adds r0, r1, 0x2
- bl GetBagItemQuantity
- adds r0, r4, r0
- lsls r0, 16
- lsrs r4, r0, 16
-_080D6B28:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r0, [r5, 0x4]
- cmp r6, r0
- bcc _080D6B10
-_080D6B34:
- cmp r4, r7
- bcs _080D6B40
-_080D6B38:
- movs r0, 0
- b _080D6C5A
- .pool
-_080D6B40:
- bl CurrentMapIsSecretBase
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080D6B70
- ldr r4, =0x000040ee
- adds r0, r4, 0
- bl VarGet
- adds r1, r0, 0
- movs r2, 0x80
- lsls r2, 2
- adds r0, r2, 0
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl VarSet
- ldr r0, =0x000040ed
- mov r1, r8
- bl VarSet
-_080D6B70:
- mov r0, r9
- bl sub_81ABB2C
- lsls r0, 24
- lsrs r1, r0, 24
- ldrb r0, [r5, 0x4]
- cmp r0, r1
- bls _080D6BE6
- ldr r0, [r5]
- lsls r1, 2
- adds r2, r1, r0
- ldrh r0, [r2]
- adds r4, r1, 0
- cmp r0, r8
- bne _080D6BE6
- adds r0, r2, 0x2
- bl GetBagItemQuantity
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r7
- bcc _080D6BB8
- ldr r0, [r5]
- adds r0, r4
- adds r0, 0x2
- subs r1, r7
- lsls r1, 16
- lsrs r1, 16
- bl SetBagItemQuantity
- movs r7, 0
- b _080D6BCA
- .pool
-_080D6BB8:
- subs r0, r7, r1
- lsls r0, 16
- lsrs r7, r0, 16
- ldr r0, [r5]
- adds r0, r4
- adds r0, 0x2
- movs r1, 0
- bl SetBagItemQuantity
-_080D6BCA:
- ldr r0, [r5]
- adds r0, r4
- adds r0, 0x2
- bl GetBagItemQuantity
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0
- bne _080D6BE2
- ldr r0, [r5]
- adds r0, r4, r0
- strh r2, [r0]
-_080D6BE2:
- cmp r7, 0
- beq _080D6C58
-_080D6BE6:
- movs r6, 0
- ldrb r0, [r5, 0x4]
- cmp r6, r0
- bcs _080D6C58
-_080D6BEE:
- ldr r0, [r5]
- lsls r1, r6, 2
- adds r2, r1, r0
- ldrh r0, [r2]
- adds r4, r1, 0
- cmp r0, r8
- bne _080D6C4C
- adds r0, r2, 0x2
- bl GetBagItemQuantity
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r7
- bcc _080D6C1E
- ldr r0, [r5]
- adds r0, r4
- adds r0, 0x2
- subs r1, r7
- lsls r1, 16
- lsrs r1, 16
- bl SetBagItemQuantity
- movs r7, 0
- b _080D6C30
-_080D6C1E:
- subs r0, r7, r1
- lsls r0, 16
- lsrs r7, r0, 16
- ldr r0, [r5]
- adds r0, r4
- adds r0, 0x2
- movs r1, 0
- bl SetBagItemQuantity
-_080D6C30:
- ldr r0, [r5]
- adds r0, r4
- adds r0, 0x2
- bl GetBagItemQuantity
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0
- bne _080D6C48
- ldr r0, [r5]
- adds r0, r4, r0
- strh r2, [r0]
-_080D6C48:
- cmp r7, 0
- beq _080D6C58
-_080D6C4C:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r2, [r5, 0x4]
- cmp r6, r2
- bcc _080D6BEE
-_080D6C58:
- movs r0, 0x1
-_080D6C5A:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end RemoveBagItem
-
- thumb_func_start GetPocketByItemId
-GetPocketByItemId: @ 80D6C68
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- bl ItemId_GetPocket
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end GetPocketByItemId
-
- thumb_func_start ClearItemSlots
-ClearItemSlots: @ 80D6C7C
- push {r4-r7,lr}
- adds r6, r0, 0
- lsls r1, 24
- movs r4, 0
- lsrs r1, 24
- cmp r4, r1
- bcs _080D6CA6
- adds r5, r1, 0
- movs r7, 0
-_080D6C8E:
- lsls r0, r4, 2
- adds r0, r6
- strh r7, [r0]
- adds r0, 0x2
- movs r1, 0
- bl SetBagItemQuantity
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, r5
- bcc _080D6C8E
-_080D6CA6:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end ClearItemSlots
-
- thumb_func_start sub_80D6CAC
-sub_80D6CAC: @ 80D6CAC
- push {lr}
- movs r1, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- movs r3, 0x93
- lsls r3, 3
-_080D6CB8:
- lsls r0, r1, 24
- asrs r1, r0, 24
- lsls r0, r1, 2
- adds r0, r2, r0
- adds r0, r3
- ldrh r0, [r0]
- cmp r0, 0
- bne _080D6CD0
- adds r0, r1, 0
- b _080D6CE0
- .pool
-_080D6CD0:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- asrs r0, 24
- cmp r0, 0x31
- ble _080D6CB8
- movs r0, 0x1
- negs r0, r0
-_080D6CE0:
- pop {r1}
- bx r1
- thumb_func_end sub_80D6CAC
-
- thumb_func_start sub_80D6CE4
-sub_80D6CE4: @ 80D6CE4
- push {r4,lr}
- movs r2, 0
- movs r1, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r3, [r0]
- movs r4, 0x93
- lsls r4, 3
-_080D6CF2:
- lsls r0, r1, 2
- adds r0, r3, r0
- adds r0, r4
- ldrh r0, [r0]
- cmp r0, 0
- beq _080D6D04
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
-_080D6D04:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x31
- bls _080D6CF2
- adds r0, r2, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D6CE4
-
- thumb_func_start CheckPCHasItem
-CheckPCHasItem: @ 80D6D1C
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 16
- lsrs r5, r1, 16
- movs r4, 0
-_080D6D28:
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- lsls r1, r4, 2
- adds r0, r2, r1
- movs r3, 0x93
- lsls r3, 3
- adds r0, r3
- ldrh r0, [r0]
- cmp r0, r6
- bne _080D6D5C
- adds r0, r1, r2
- ldr r1, =0x0000049a
- adds r0, r1
- bl GetBagItemId
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r5
- bcc _080D6D5C
- movs r0, 0x1
- b _080D6D68
- .pool
-_080D6D5C:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x31
- bls _080D6D28
- movs r0, 0
-_080D6D68:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end CheckPCHasItem
-
- thumb_func_start AddPCItem
-AddPCItem: @ 80D6D70
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r1, 16
- lsrs r5, r1, 16
- movs r0, 0xC8
- bl AllocZeroed
- adds r7, r0, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- movs r0, 0x93
- lsls r0, 3
- adds r1, r0
- adds r0, r7, 0
- movs r2, 0xC8
- bl memcpy
- movs r6, 0
-_080D6D9C:
- lsls r0, r6, 2
- adds r1, r0, r7
- ldrh r0, [r1]
- cmp r0, r8
- bne _080D6DD0
- adds r4, r1, 0x2
- adds r0, r4, 0
- bl GetBagItemId
- lsls r0, 16
- lsrs r2, r0, 16
- adds r1, r2, r5
- ldr r3, =0x000003e7
- cmp r1, r3
- ble _080D6E04
- ldr r1, =0x0000fc19
- adds r0, r5, r1
- adds r0, r2, r0
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0
- adds r1, r3, 0
- bl SetBagItemId
- cmp r5, 0
- beq _080D6E20
-_080D6DD0:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x31
- bls _080D6D9C
- cmp r5, 0
- beq _080D6E20
- bl sub_80D6CAC
- lsls r0, 24
- asrs r1, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080D6E10
- adds r0, r7, 0
- bl Free
- movs r0, 0
- b _080D6E3A
- .pool
-_080D6E04:
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl SetBagItemId
- b _080D6E20
-_080D6E10:
- lsls r0, r1, 2
- adds r0, r7
- mov r1, r8
- strh r1, [r0]
- adds r0, 0x2
- adds r1, r5, 0
- bl SetBagItemId
-_080D6E20:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0x93
- lsls r1, 3
- adds r0, r1
- adds r1, r7, 0
- movs r2, 0xC8
- bl memcpy
- adds r0, r7, 0
- bl Free
- movs r0, 0x1
-_080D6E3A:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end AddPCItem
-
- thumb_func_start sub_80D6E48
-sub_80D6E48: @ 80D6E48
- push {lr}
- lsls r0, 24
- lsls r1, 16
- lsrs r1, 16
- ldr r2, =gSaveBlock1Ptr
- ldr r2, [r2]
- lsrs r0, 22
- adds r3, r2, r0
- ldr r0, =0x0000049a
- adds r2, r3, r0
- ldrh r0, [r2]
- subs r0, r1
- strh r0, [r2]
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _080D6E76
- movs r2, 0x93
- lsls r2, 3
- adds r0, r3, r2
- strh r1, [r0]
- bl sub_80D6E84
-_080D6E76:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D6E48
-
- thumb_func_start sub_80D6E84
-sub_80D6E84: @ 80D6E84
- push {r4-r7,lr}
- movs r2, 0
-_080D6E88:
- adds r1, r2, 0x1
- lsls r0, r1, 16
- lsrs r4, r0, 16
- adds r6, r1, 0
- cmp r4, 0x31
- bhi _080D6ECA
- ldr r0, =gSaveBlock1Ptr
- mov r12, r0
- lsls r5, r2, 2
- movs r7, 0x93
- lsls r7, 3
-_080D6E9E:
- mov r0, r12
- ldr r1, [r0]
- adds r0, r1, r5
- adds r0, r7
- ldrh r0, [r0]
- cmp r0, 0
- bne _080D6EC0
- movs r0, 0x93
- lsls r0, 3
- adds r1, r0
- adds r2, r1, r5
- ldr r3, [r2]
- lsls r0, r4, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2]
- str r3, [r1]
-_080D6EC0:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x31
- bls _080D6E9E
-_080D6ECA:
- lsls r0, r6, 16
- lsrs r2, r0, 16
- cmp r2, 0x30
- bls _080D6E88
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D6E84
-
- thumb_func_start sub_80D6EDC
-sub_80D6EDC: @ 80D6EDC
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00000496
- adds r1, r0, r2
- ldrh r2, [r1]
- ldr r3, =0x00000103
- cmp r2, r3
- beq _080D6F04
- movs r0, 0x88
- lsls r0, 1
- cmp r2, r0
- beq _080D6F0C
- b _080D6F0E
- .pool
-_080D6F04:
- movs r0, 0x88
- lsls r0, 1
- strh r0, [r1]
- b _080D6F0E
-_080D6F0C:
- strh r3, [r1]
-_080D6F0E:
- pop {r0}
- bx r0
- thumb_func_end sub_80D6EDC
-
- thumb_func_start BagGetItemIdByPocketPosition
-@ int BagGetItemIdByPocketPosition(int pocket_id_plus_1, int item_index_in_pocket)
-BagGetItemIdByPocketPosition: @ 80D6F14
- lsls r0, 24
- lsls r1, 16
- ldr r2, =gBagPockets
- lsrs r0, 21
- subs r0, 0x8
- adds r0, r2
- ldr r0, [r0]
- lsrs r1, 14
- adds r1, r0
- ldrh r0, [r1]
- bx lr
- .pool
- thumb_func_end BagGetItemIdByPocketPosition
-
- thumb_func_start BagGetQuantityByPocketPosition
-@ int BagGetQuantityByPocketPosition(int pocket_id_plus_1, int item_index_in_pocket)
-BagGetQuantityByPocketPosition: @ 80D6F30
- push {lr}
- lsls r0, 24
- lsls r1, 16
- ldr r2, =gBagPockets
- lsrs r0, 21
- subs r0, 0x8
- adds r0, r2
- lsrs r1, 14
- ldr r0, [r0]
- adds r0, r1
- adds r0, 0x2
- bl GetBagItemQuantity
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- .pool
- thumb_func_end BagGetQuantityByPocketPosition
-
- thumb_func_start swap32
-swap32: @ 80D6F58
- ldr r3, [r0]
- ldr r2, [r1]
- str r2, [r0]
- str r3, [r1]
- bx lr
- thumb_func_end swap32
-
- thumb_func_start sub_80D6F64
-sub_80D6F64: @ 80D6F64
- push {r4-r7,lr}
- adds r6, r0, 0
- movs r3, 0
- b _080D6FA6
-_080D6F6C:
- adds r1, r3, 0x1
- lsls r0, r1, 16
- lsrs r4, r0, 16
- adds r7, r1, 0
- cmp r4, r2
- bcs _080D6FA2
- lsls r5, r3, 2
-_080D6F7A:
- ldr r0, [r6]
- adds r0, r5
- adds r0, 0x2
- bl GetBagItemQuantity
- lsls r0, 16
- cmp r0, 0
- bne _080D6F96
- ldr r1, [r6]
- adds r0, r1, r5
- lsls r2, r4, 2
- adds r1, r2
- bl swap32
-_080D6F96:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldrb r0, [r6, 0x4]
- cmp r4, r0
- bcc _080D6F7A
-_080D6FA2:
- lsls r0, r7, 16
- lsrs r3, r0, 16
-_080D6FA6:
- ldrb r2, [r6, 0x4]
- subs r0, r2, 0x1
- cmp r3, r0
- blt _080D6F6C
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80D6F64
-
- thumb_func_start sub_80D6FB4
-sub_80D6FB4: @ 80D6FB4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- movs r3, 0
- b _080D701A
-_080D6FC0:
- adds r1, r3, 0x1
- lsls r0, r1, 16
- lsrs r5, r0, 16
- mov r8, r1
- cmp r5, r2
- bcs _080D7014
- lsls r7, r3, 2
-_080D6FCE:
- ldr r0, [r6]
- adds r0, r7
- adds r0, 0x2
- bl GetBagItemQuantity
- lsls r0, 16
- lsls r4, r5, 2
- cmp r0, 0
- beq _080D6FFE
- ldr r0, [r6]
- adds r0, r4
- adds r0, 0x2
- bl GetBagItemQuantity
- lsls r0, 16
- cmp r0, 0
- beq _080D7008
- ldr r0, [r6]
- adds r1, r7, r0
- adds r0, r4, r0
- ldrh r1, [r1]
- ldrh r0, [r0]
- cmp r1, r0
- bls _080D7008
-_080D6FFE:
- ldr r1, [r6]
- adds r0, r1, r7
- adds r1, r4
- bl swap32
-_080D7008:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldrb r0, [r6, 0x4]
- cmp r5, r0
- bcc _080D6FCE
-_080D7014:
- mov r1, r8
- lsls r0, r1, 16
- lsrs r3, r0, 16
-_080D701A:
- ldrb r2, [r6, 0x4]
- subs r0, r2, 0x1
- cmp r3, r0
- blt _080D6FC0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80D6FB4
-
- thumb_func_start sub_80D702C
-sub_80D702C: @ 80D702C
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r3, r2, 0
- cmp r1, r3
- beq _080D708C
- lsls r0, r1, 2
- adds r0, r4
- ldr r6, [r0]
- cmp r3, r1
- bls _080D7064
- subs r3, 0x1
- lsls r1, 16
- lsls r0, r3, 16
- asrs r2, r0, 16
- cmp r1, r0
- bge _080D7086
- adds r5, r2, 0
-_080D704E:
- asrs r2, r1, 16
- lsls r0, r2, 2
- adds r0, r4
- ldr r1, [r0, 0x4]
- str r1, [r0]
- adds r2, 0x1
- lsls r1, r2, 16
- asrs r0, r1, 16
- cmp r0, r5
- blt _080D704E
- b _080D7086
-_080D7064:
- lsls r1, 16
- lsls r0, r3, 16
- asrs r2, r0, 16
- cmp r1, r0
- ble _080D7086
- adds r5, r2, 0
-_080D7070:
- asrs r2, r1, 16
- lsls r1, r2, 2
- adds r1, r4
- subs r0, r1, 0x4
- ldr r0, [r0]
- str r0, [r1]
- subs r2, 0x1
- lsls r1, r2, 16
- asrs r0, r1, 16
- cmp r0, r5
- bgt _080D7070
-_080D7086:
- lsls r0, r3, 2
- adds r0, r4
- str r6, [r0]
-_080D708C:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80D702C
-
- thumb_func_start ClearBag
-ClearBag: @ 80D7094
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, =gBagPockets
-_080D709A:
- 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 _080D709A
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ClearBag
-
- thumb_func_start CountTotalItemQuantityInBag
-@ u16 CountTotalItemQuantityInBag(u16 itemId)
-CountTotalItemQuantityInBag: @ 80D70BC
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r6, r0, 16
- movs r7, 0
- adds r0, r6, 0
- bl ItemId_GetPocket
- lsls r0, 24
- lsrs r0, 21
- ldr r1, =gUnknown_02039DD0
- adds r5, r0, r1
- movs r4, 0
- ldrb r0, [r5, 0x4]
- cmp r7, r0
- bcs _080D70FE
-_080D70DA:
- ldr r0, [r5]
- lsls r1, r4, 2
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, r6
- bne _080D70F2
- adds r0, r1, 0x2
- bl GetBagItemQuantity
- adds r0, r7, r0
- lsls r0, 16
- lsrs r7, r0, 16
-_080D70F2:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldrb r0, [r5, 0x4]
- cmp r4, r0
- bcc _080D70DA
-_080D70FE:
- adds r0, r7, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end CountTotalItemQuantityInBag
-
- thumb_func_start CheckPyramidBagHasItem
-CheckPyramidBagHasItem: @ 80D710C
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 16
- lsrs r4, r1, 16
- ldr r0, =gSaveBlock2Ptr
- ldr r3, [r0]
- ldr r1, =0x00000ca9
- adds r0, r3, r1
- ldrb r1, [r0]
- lsls r1, 30
- lsrs r2, r1, 30
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 2
- ldr r2, =0x00000e2c
- adds r0, r2
- adds r2, r3, r0
- lsrs r1, 30
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 1
- ldr r1, =0x00000e54
- adds r0, r1
- adds r3, r0
- movs r1, 0
-_080D7140:
- lsls r0, r1, 1
- adds r0, r2
- ldrh r0, [r0]
- cmp r0, r5
- bne _080D7170
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, r4
- bcs _080D715C
- subs r0, r4, r0
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- bne _080D7170
-_080D715C:
- movs r0, 0x1
- b _080D717C
- .pool
-_080D7170:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x9
- bls _080D7140
- movs r0, 0
-_080D717C:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end CheckPyramidBagHasItem
-
- thumb_func_start CheckPyramidBagHasSpace
-CheckPyramidBagHasSpace: @ 80D7184
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 16
- lsrs r4, r1, 16
- ldr r0, =gSaveBlock2Ptr
- ldr r3, [r0]
- ldr r1, =0x00000ca9
- adds r0, r3, r1
- ldrb r1, [r0]
- lsls r1, 30
- lsrs r2, r1, 30
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 2
- ldr r2, =0x00000e2c
- adds r0, r2
- adds r2, r3, r0
- lsrs r1, 30
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 1
- ldr r1, =0x00000e54
- adds r0, r1
- adds r3, r0
- movs r1, 0
-_080D71B8:
- lsls r0, r1, 1
- adds r0, r2
- ldrh r0, [r0]
- cmp r0, r5
- beq _080D71C6
- cmp r0, 0
- bne _080D71F0
-_080D71C6:
- adds r0, r3, r1
- ldrb r0, [r0]
- adds r0, r4
- cmp r0, 0x63
- ble _080D71DA
- subs r0, 0x63
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- bne _080D71F0
-_080D71DA:
- movs r0, 0x1
- b _080D71FC
- .pool
-_080D71F0:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x9
- bls _080D71B8
- movs r0, 0
-_080D71FC:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end CheckPyramidBagHasSpace
-
- thumb_func_start AddPyramidBagItem
-AddPyramidBagItem: @ 80D7204
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 16
- lsrs r7, r0, 16
- lsls r1, 16
- lsrs r4, r1, 16
- ldr r0, =gSaveBlock2Ptr
- ldr r3, [r0]
- ldr r1, =0x00000ca9
- adds r0, r3, r1
- ldrb r1, [r0]
- lsls r1, 30
- lsrs r2, r1, 30
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 2
- ldr r2, =0x00000e2c
- adds r0, r2
- adds r0, r3
- mov r9, r0
- lsrs r1, 30
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 1
- ldr r1, =0x00000e54
- adds r0, r1
- adds r3, r0
- mov r8, r3
- movs r0, 0x14
- bl Alloc
- adds r5, r0, 0
- movs r0, 0xA
- bl Alloc
- adds r6, r0, 0
- adds r0, r5, 0
- mov r1, r9
- movs r2, 0x14
- bl memcpy
- adds r0, r6, 0
- mov r1, r8
- movs r2, 0xA
- bl memcpy
- movs r2, 0
-_080D7266:
- lsls r0, r2, 1
- adds r0, r5
- ldrh r0, [r0]
- cmp r0, r7
- bne _080D72AA
- adds r1, r6, r2
- ldrb r0, [r1]
- cmp r0, 0x62
- bhi _080D72AA
- adds r0, r4
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x63
- bls _080D72A4
- ldrb r0, [r1]
- subs r0, 0x63
- lsls r0, 16
- lsrs r4, r0, 16
- movs r0, 0x63
- strb r0, [r1]
- b _080D72A6
- .pool
-_080D72A4:
- movs r4, 0
-_080D72A6:
- cmp r4, 0
- beq _080D7304
-_080D72AA:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x9
- bls _080D7266
- cmp r4, 0
- beq _080D7304
- movs r2, 0
-_080D72BA:
- lsls r0, r2, 1
- adds r1, r0, r5
- ldrh r0, [r1]
- cmp r0, 0
- bne _080D72E6
- strh r7, [r1]
- adds r1, r6, r2
- strb r4, [r1]
- lsls r0, r4, 24
- lsrs r0, 24
- cmp r0, 0x63
- bls _080D72E0
- ldrb r0, [r1]
- subs r0, 0x63
- lsls r0, 16
- lsrs r4, r0, 16
- movs r0, 0x63
- strb r0, [r1]
- b _080D72E2
-_080D72E0:
- movs r4, 0
-_080D72E2:
- cmp r4, 0
- beq _080D7304
-_080D72E6:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x9
- bls _080D72BA
- cmp r4, 0
- beq _080D7304
- adds r0, r5, 0
- bl Free
- adds r0, r6, 0
- bl Free
- movs r0, 0
- b _080D7326
-_080D7304:
- mov r0, r9
- adds r1, r5, 0
- movs r2, 0x14
- bl memcpy
- mov r0, r8
- adds r1, r6, 0
- movs r2, 0xA
- bl memcpy
- adds r0, r5, 0
- bl Free
- adds r0, r6, 0
- bl Free
- movs r0, 0x1
-_080D7326:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end AddPyramidBagItem
-
- thumb_func_start RemovePyramidBagItem
-RemovePyramidBagItem: @ 80D7334
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- lsls r1, 16
- lsrs r4, r1, 16
- ldr r0, =gSaveBlock2Ptr
- ldr r3, [r0]
- ldr r1, =0x00000ca9
- adds r0, r3, r1
- ldrb r1, [r0]
- lsls r1, 30
- lsrs r2, r1, 30
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 2
- ldr r2, =0x00000e2c
- adds r0, r2
- adds r0, r3
- mov r8, r0
- lsrs r1, 30
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 1
- ldr r1, =0x00000e54
- adds r0, r1
- adds r7, r3, r0
- ldr r1, =gUnknown_0203CF30
- ldrh r0, [r1, 0x8]
- ldrh r1, [r1, 0x6]
- adds r0, r1
- lsls r0, 16
- lsrs r2, r0, 16
- lsls r0, r2, 1
- mov r1, r8
- adds r3, r0, r1
- ldrh r0, [r3]
- cmp r0, r9
- bne _080D73B4
- adds r1, r7, r2
- ldrb r0, [r1]
- cmp r0, r4
- bcc _080D73B4
- subs r0, r4
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080D744C
- strh r0, [r3]
- b _080D744C
- .pool
-_080D73B4:
- movs r0, 0x14
- bl Alloc
- adds r5, r0, 0
- movs r0, 0xA
- bl Alloc
- adds r6, r0, 0
- adds r0, r5, 0
- mov r1, r8
- movs r2, 0x14
- bl memcpy
- adds r0, r6, 0
- adds r1, r7, 0
- movs r2, 0xA
- bl memcpy
- movs r2, 0
-_080D73DA:
- lsls r0, r2, 1
- adds r3, r0, r5
- ldrh r0, [r3]
- cmp r0, r9
- bne _080D740E
- adds r1, r6, r2
- ldrb r0, [r1]
- cmp r0, r4
- bcc _080D73FC
- subs r0, r4
- strb r0, [r1]
- movs r4, 0
- lsls r0, 24
- cmp r0, 0
- bne _080D740A
- strh r4, [r3]
- b _080D740A
-_080D73FC:
- subs r0, r4, r0
- lsls r0, 16
- lsrs r4, r0, 16
- movs r0, 0
- strb r0, [r1]
- movs r0, 0
- strh r0, [r3]
-_080D740A:
- cmp r4, 0
- beq _080D742C
-_080D740E:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x9
- bls _080D73DA
- cmp r4, 0
- beq _080D742C
- adds r0, r5, 0
- bl Free
- adds r0, r6, 0
- bl Free
- movs r0, 0
- b _080D744E
-_080D742C:
- mov r0, r8
- adds r1, r5, 0
- movs r2, 0x14
- bl memcpy
- adds r0, r7, 0
- adds r1, r6, 0
- movs r2, 0xA
- bl memcpy
- adds r0, r5, 0
- bl Free
- adds r0, r6, 0
- bl Free
-_080D744C:
- movs r0, 0x1
-_080D744E:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end RemovePyramidBagItem
-
- thumb_func_start SanitizeItemId
-SanitizeItemId: @ 80D745C
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- movs r0, 0xBC
- lsls r0, 1
- cmp r1, r0
- bhi _080D746E
- adds r0, r1, 0
- b _080D7470
-_080D746E:
- movs r0, 0
-_080D7470:
- pop {r1}
- bx r1
- thumb_func_end SanitizeItemId
-
- thumb_func_start ItemId_GetItem
-@ item *ItemId_GetItem(s16 itemId)
-ItemId_GetItem: @ 80D7474
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- ldr r1, =gItems
- adds r0, r1
- pop {r1}
- bx r1
- .pool
- thumb_func_end ItemId_GetItem
-
- thumb_func_start itemid_get_number
-itemid_get_number: @ 80D7494
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrh r0, [r0, 0xE]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end itemid_get_number
-
- thumb_func_start itemid_get_market_price
-itemid_get_market_price: @ 80D74B8
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrh r0, [r0, 0x10]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end itemid_get_market_price
-
- thumb_func_start ItemId_GetHoldEffect
-ItemId_GetHoldEffect: @ 80D74DC
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrb r0, [r0, 0x12]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end ItemId_GetHoldEffect
-
- thumb_func_start ItemId_GetHoldEffectParam
-ItemId_GetHoldEffectParam: @ 80D7500
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrb r0, [r0, 0x13]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end ItemId_GetHoldEffectParam
-
- thumb_func_start ItemId_GetDescription
-ItemId_GetDescription: @ 80D7524
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r4, 0x14
- adds r0, r4
- ldr r0, [r0]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end ItemId_GetDescription
-
- thumb_func_start itemid_is_unique
-itemid_is_unique: @ 80D7548
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrb r0, [r0, 0x18]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end itemid_is_unique
-
- thumb_func_start itemid_get_x19
-itemid_get_x19: @ 80D756C
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrb r0, [r0, 0x19]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end itemid_get_x19
-
- thumb_func_start ItemId_GetPocket
-ItemId_GetPocket: @ 80D7590
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrb r0, [r0, 0x1A]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end ItemId_GetPocket
-
- thumb_func_start ItemId_GetType
-ItemId_GetType: @ 80D75B4
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrb r0, [r0, 0x1B]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end ItemId_GetType
-
- thumb_func_start ItemId_GetFieldFunc
-ItemId_GetFieldFunc: @ 80D75D8
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r4, 0x1C
- adds r0, r4
- ldr r0, [r0]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end ItemId_GetFieldFunc
-
- thumb_func_start ItemId_GetBattleUsage
-ItemId_GetBattleUsage: @ 80D75FC
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- adds r0, 0x20
- ldrb r0, [r0]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end ItemId_GetBattleUsage
-
- thumb_func_start ItemId_GetBattleFunc
-ItemId_GetBattleFunc: @ 80D7620
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r4, 0x24
- adds r0, r4
- ldr r0, [r0]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end ItemId_GetBattleFunc
-
- thumb_func_start ItemId_GetSecondaryId
-ItemId_GetSecondaryId: @ 80D7644
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- adds r0, 0x28
- ldrb r0, [r0]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end ItemId_GetSecondaryId
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/mauville_old_man.s b/asm/mauville_old_man.s
deleted file mode 100644
index af4764d76..000000000
--- a/asm/mauville_old_man.s
+++ /dev/null
@@ -1,2519 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_81200A0
-sub_81200A0: @ 81200A0
- push {r4,lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldr r1, =0x00002e28
- adds r0, r2, r1
- movs r1, 0
- strb r1, [r0]
- ldr r3, =0x00002e51
- adds r0, r2, r3
- strb r1, [r0]
- ldr r0, =gGameLanguage
- ldrb r1, [r0]
- adds r3, 0x1
- adds r0, r2, r3
- strb r1, [r0]
- movs r3, 0
- ldr r0, =0x00002e2a
- adds r2, r0
- ldr r4, =gUnknown_0859EFE4
-_081200C6:
- lsls r0, r3, 1
- adds r1, r2, r0
- adds r0, r4
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x5
- bls _081200C6
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81200A0
-
- thumb_func_start sub_81200F8
-sub_81200F8: @ 81200F8
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r0, =0x00002e28
- adds r1, r0
- movs r2, 0
- movs r0, 0x1
- strb r0, [r1]
- strb r2, [r1, 0x1]
- ldr r0, =gGameLanguage
- ldrb r0, [r0]
- strb r0, [r1, 0x2]
- bx lr
- .pool
- thumb_func_end sub_81200F8
-
- thumb_func_start sub_812011C
-sub_812011C: @ 812011C
- push {lr}
- bl sub_8120E08
- pop {r0}
- bx r0
- thumb_func_end sub_812011C
-
- thumb_func_start sub_8120128
-sub_8120128: @ 8120128
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r0, =0x00002e28
- adds r2, r1, r0
- movs r3, 0
- movs r0, 0x4
- strb r0, [r2]
- strb r3, [r2, 0x1]
- ldr r0, =gGameLanguage
- ldrb r0, [r0]
- ldr r2, =0x00002e48
- adds r1, r2
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_8120128
-
- thumb_func_start sub_8120154
-sub_8120154: @ 8120154
- push {lr}
- bl sub_81339F8
- pop {r0}
- bx r0
- thumb_func_end sub_8120154
-
- thumb_func_start SetMauvilleOldMan
-SetMauvilleOldMan: @ 8120160
- push {lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r1, [r0, 0xB]
- lsls r1, 8
- ldrb r0, [r0, 0xA]
- orrs r0, r1
- movs r1, 0xA
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 17
- cmp r0, 0x4
- bhi _081201C0
- lsls r0, 2
- ldr r1, =_08120190
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08120190:
- .4byte _081201A4
- .4byte _081201AA
- .4byte _081201B0
- .4byte _081201B6
- .4byte _081201BC
-_081201A4:
- bl sub_81200A0
- b _081201C0
-_081201AA:
- bl sub_81200F8
- b _081201C0
-_081201B0:
- bl sub_8120154
- b _081201C0
-_081201B6:
- bl sub_812011C
- b _081201C0
-_081201BC:
- bl sub_8120128
-_081201C0:
- bl sub_8120B5C
- pop {r0}
- bx r0
- thumb_func_end SetMauvilleOldMan
-
- thumb_func_start sub_81201C8
-sub_81201C8: @ 81201C8
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00002e28
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_81201C8
-
- thumb_func_start sub_81201DC
-sub_81201DC: @ 81201DC
- push {r4,lr}
- ldr r4, =gSpecialVar_Result
- bl sub_81201C8
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81201DC
-
- thumb_func_start sub_81201F4
-sub_81201F4: @ 81201F4
- ldr r1, =gSpecialVar_Result
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00002e51
- adds r0, r2
- ldrb r0, [r0]
- strh r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_81201F4
-
- thumb_func_start sub_8120210
-sub_8120210: @ 8120210
- push {r4-r6,lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r4, [r0]
- ldr r0, =0x00002e28
- adds r6, r4, r0
- ldr r1, =0x00002e42
- adds r0, r4, r1
- ldr r5, =gSaveBlock2Ptr
- ldr r1, [r5]
- bl StringCopy
- movs r2, 0
- ldr r0, =0x00002e4d
- adds r4, r0
-_0812022C:
- adds r1, r4, r2
- ldr r0, [r5]
- adds r0, 0xA
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x3
- bls _0812022C
- movs r2, 0
- adds r5, r6, 0
- adds r5, 0x29
- adds r3, r6, 0x2
- adds r4, r6, 0
- adds r4, 0xE
-_0812024E:
- lsls r0, r2, 1
- adds r1, r3, r0
- adds r0, r4, r0
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x5
- bls _0812024E
- movs r0, 0x1
- strb r0, [r5]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8120210
-
- thumb_func_start sub_8120280
-sub_8120280: @ 8120280
- push {r4-r7,lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- ldr r2, =0x00002e36
- adds r5, r1, r2
- cmp r0, 0
- bne _08120296
- ldr r0, =0x00002e2a
- adds r5, r1, r0
-_08120296:
- ldr r2, =gStringVar4
- adds r4, r2, 0
- movs r6, 0
-_0812029C:
- ldrh r1, [r5]
- adds r5, 0x2
- adds r0, r2, 0
- bl CopyEasyChatWord
- adds r2, r0, 0
- adds r7, r6, 0x1
- cmp r2, r4
- beq _081202BE
- movs r1, 0x37
-_081202B0:
- ldrb r0, [r4]
- cmp r0, 0
- bne _081202B8
- strb r1, [r4]
-_081202B8:
- adds r4, 0x1
- cmp r2, r4
- bne _081202B0
-_081202BE:
- adds r4, 0x1
- movs r0, 0
- strb r0, [r2]
- adds r2, 0x1
- ldrh r1, [r5]
- adds r5, 0x2
- adds r0, r2, 0
- bl CopyEasyChatWord
- adds r2, r0, 0
- cmp r2, r4
- beq _081202E6
- movs r1, 0x37
-_081202D8:
- ldrb r0, [r4]
- cmp r0, 0
- bne _081202E0
- strb r1, [r4]
-_081202E0:
- adds r4, 0x1
- cmp r2, r4
- bne _081202D8
-_081202E6:
- adds r4, 0x1
- movs r0, 0xFE
- strb r0, [r2]
- adds r2, 0x1
- ldrh r1, [r5]
- adds r5, 0x2
- adds r0, r2, 0
- bl CopyEasyChatWord
- adds r2, r0, 0
- cmp r2, r4
- beq _0812030E
- movs r1, 0x37
-_08120300:
- ldrb r0, [r4]
- cmp r0, 0
- bne _08120308
- strb r1, [r4]
-_08120308:
- adds r4, 0x1
- cmp r2, r4
- bne _08120300
-_0812030E:
- cmp r6, 0
- bne _0812031E
- movs r0, 0xFC
- strb r0, [r2]
- adds r2, 0x1
- movs r0, 0xF
- strb r0, [r2]
- adds r2, 0x1
-_0812031E:
- lsls r0, r7, 16
- lsrs r6, r0, 16
- cmp r6, 0x1
- bls _0812029C
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8120280
-
- thumb_func_start sub_8120340
-sub_8120340: @ 8120340
- push {lr}
- ldr r0, =gSpecialVar_0x8004
- ldrb r0, [r0]
- bl sub_81206C0
- bl ScriptContext1_Stop
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8120340
-
- thumb_func_start sub_8120358
-sub_8120358: @ 8120358
- ldr r1, =gSpecialVar_Result
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00002e28
- adds r0, r2
- ldrb r0, [r0, 0x1]
- strh r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_8120358
-
- thumb_func_start sub_8120374
-sub_8120374: @ 8120374
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00002e28
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0, 0x1]
- bx lr
- .pool
- thumb_func_end sub_8120374
-
- thumb_func_start sub_812038C
-sub_812038C: @ 812038C
- push {lr}
- bl sub_811F01C
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, =0x0000ffff
- cmp r1, r0
- bne _081203AC
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- b _081203B6
- .pool
-_081203AC:
- ldr r0, =gStringVar1
- bl CopyEasyChatWord
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
-_081203B6:
- strh r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812038C
-
- thumb_func_start sub_81203C4
-sub_81203C4: @ 81203C4
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00002e28
- adds r2, r0, r1
- ldrb r0, [r2, 0x1]
- cmp r0, 0xA
- bne _081203EC
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
- strb r0, [r2, 0x1]
- b _081203F2
- .pool
-_081203EC:
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
- strh r0, [r1]
-_081203F2:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81203C4
-
- thumb_func_start sub_81203FC
-sub_81203FC: @ 81203FC
- push {r4-r6,lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r4, [r0]
- ldr r0, =0x00002e28
- adds r5, r4, r0
- ldrb r0, [r5, 0x1]
- cmp r0, 0
- bne _08120410
- bl sub_81204DC
-_08120410:
- ldrb r0, [r5, 0x1]
- lsls r0, 1
- ldr r1, =0x00002e2c
- adds r6, r4, r1
- adds r0, r6, r0
- ldrh r1, [r0]
- ldr r0, =0x0000ffff
- cmp r1, r0
- beq _08120480
- bl Random
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- movs r0, 0x7
- ands r4, r0
- ldr r0, =gStringVar4
- ldrb r1, [r5, 0x1]
- lsls r1, 1
- adds r1, r6, r1
- ldrh r1, [r1]
- bl CopyEasyChatWord
- adds r2, r0, 0
- ldr r1, =gUnknown_082942FD
- bl StringCopy
- adds r2, r0, 0
- ldr r0, =gUnknown_0859EFF0
- lsls r4, 2
- adds r4, r0
- ldr r1, [r4]
- adds r0, r2, 0
- bl StringCopy
- adds r2, r0, 0
- ldr r1, =gUnknown_08294301
- bl StringCopy
- b _081204A2
- .pool
-_08120480:
- ldr r0, =gStringVar4
- ldr r3, =gUnknown_0859F010
- ldrb r2, [r5, 0x2]
- adds r1, r2, 0x1
- strb r1, [r5, 0x2]
- lsls r2, 24
- lsrs r2, 24
- movs r6, 0xB9
- lsls r6, 6
- adds r1, r4, r6
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 2
- adds r1, r3
- ldr r1, [r1]
- bl StringCopy
-_081204A2:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- lsls r0, 16
- cmp r0, 0
- bne _081204C4
- movs r0, 0xA
- b _081204C8
- .pool
-_081204C4:
- ldrb r0, [r5, 0x1]
- adds r0, 0x1
-_081204C8:
- strb r0, [r5, 0x1]
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
- strh r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81203FC
-
- thumb_func_start sub_81204DC
-sub_81204DC: @ 81204DC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- ldr r0, =gSaveBlock1Ptr
- ldr r4, [r0]
- ldr r0, =0x00002e28
- adds r0, r4, r0
- str r0, [sp, 0x18]
- ldr r1, =gUnknown_0859F030
- mov r0, sp
- movs r2, 0x18
- bl memcpy
- movs r5, 0
- movs r1, 0x2
- add r1, sp
- mov r8, r1
- movs r2, 0xB9
- lsls r2, 6
- adds r3, r4, r2
- adds r1, r3, 0
-_0812050C:
- adds r0, r3, r5
- strb r5, [r0]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x7
- bls _0812050C
- movs r5, 0
- ldr r3, [sp, 0x18]
- adds r3, 0x4
- mov r9, r3
- adds r6, r1, 0
-_08120524:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r4, r5, 0x1
- adds r1, r4, 0
- bl __modsi3
- lsls r0, 16
- lsrs r1, r0, 16
- adds r2, r6, r5
- ldrb r7, [r2]
- adds r1, r6, r1
- ldrb r0, [r1]
- strb r0, [r2]
- strb r7, [r1]
- lsls r4, 16
- lsrs r5, r4, 16
- cmp r5, 0x7
- bls _08120524
- movs r0, 0
- mov r10, r0
- movs r5, 0
-_08120552:
- lsls r4, r5, 2
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- bl start_menu_is_selected_item_valid
- add r4, r8
- strh r0, [r4]
- add r0, r10
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x5
- bls _08120552
- movs r0, 0
- ldr r2, [sp, 0x18]
- strb r0, [r2, 0x2]
- movs r7, 0
- movs r5, 0
-_0812057E:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x2
- bhi _081205BC
- cmp r7, 0x7
- bhi _081205BC
- lsls r0, r5, 1
- add r0, r9
- ldr r1, =0x0000ffff
- strh r1, [r0]
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- adds r4, r5, 0x1
- b _0812060E
- .pool
-_081205BC:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- mov r1, r10
- bl __umodsi3
- lsls r0, 16
- lsrs r2, r0, 16
- movs r1, 0
- adds r4, r5, 0x1
- lsls r6, r5, 1
- cmp r5, 0x5
- bhi _081205F8
- mov r3, r8
- ldrh r0, [r3]
- b _081205EE
-_081205DE:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r5, 0x5
- bhi _081205F8
- lsls r0, r1, 2
- adds r0, r3, r0
- ldrh r0, [r0]
-_081205EE:
- subs r0, r2, r0
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r0, 0
- bgt _081205DE
-_081205F8:
- cmp r1, 0x6
- bne _081205FE
- movs r1, 0
-_081205FE:
- lsls r0, r1, 2
- add r0, sp
- ldrh r0, [r0]
- bl sub_811EE90
- mov r2, r9
- adds r1, r2, r6
- strh r0, [r1]
-_0812060E:
- lsls r0, r4, 16
- lsrs r5, r0, 16
- cmp r5, 0x9
- bls _0812057E
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81204DC
-
- thumb_func_start sub_8120628
-sub_8120628: @ 8120628
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00002e51
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_8120628
-
- thumb_func_start sub_8120640
-sub_8120640: @ 8120640
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00002e28
- adds r0, r1
- movs r1, 0
- strb r1, [r0, 0x1]
- bx lr
- .pool
- thumb_func_end sub_8120640
-
- thumb_func_start sub_8120658
-sub_8120658: @ 8120658
- push {lr}
- bl sub_8133A60
- pop {r0}
- bx r0
- thumb_func_end sub_8120658
-
- thumb_func_start sub_8120664
-sub_8120664: @ 8120664
- push {lr}
- bl sub_8120E50
- pop {r0}
- bx r0
- thumb_func_end sub_8120664
-
- thumb_func_start sub_8120670
-sub_8120670: @ 8120670
- push {lr}
- bl sub_81201C8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bhi _081206B6
- lsls r0, 2
- ldr r1, =_0812068C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0812068C:
- .4byte _081206A0
- .4byte _081206A6
- .4byte _081206B2
- .4byte _081206AC
- .4byte _081206B6
-_081206A0:
- bl sub_8120628
- b _081206B6
-_081206A6:
- bl sub_8120640
- b _081206B6
-_081206AC:
- bl sub_8120664
- b _081206B6
-_081206B2:
- bl sub_8120658
-_081206B6:
- bl sub_8120B5C
- pop {r0}
- bx r0
- thumb_func_end sub_8120670
-
- thumb_func_start sub_81206C0
-sub_81206C0: @ 81206C0
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =sub_8120944
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0x12]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81206C0
-
- thumb_func_start sub_81206F0
-sub_81206F0: @ 81206F0
- ldr r1, =gUnknown_03002F84
- movs r0, 0
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_81206F0
-
- thumb_func_start sub_81206FC
-sub_81206FC: @ 81206FC
- ldr r1, =gUnknown_03002F84
- movs r0, 0x1
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_81206FC
-
- thumb_func_start sub_8120708
-sub_8120708: @ 8120708
- push {r4,r5,lr}
- sub sp, 0xC
- adds r5, r0, 0
- movs r0, 0
- movs r1, 0
- bl NewMenuHelpers_DrawDialogueFrame
- movs r4, 0x1
- str r4, [sp]
- str r4, [sp, 0x4]
- ldr r0, =sub_81206FC
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- adds r2, r5, 0
- movs r3, 0
- bl PrintTextOnWindow
- ldr r0, =gUnknown_03002F84
- strb r4, [r0]
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8120708
-
- thumb_func_start sub_8120748
-sub_8120748: @ 8120748
- push {r4-r6,lr}
- adds r6, r1, 0
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- cmp r0, 0x5
- bls _08120756
- b _08120938
-_08120756:
- lsls r0, 2
- ldr r1, =_08120764
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08120764:
- .4byte _0812077C
- .4byte _08120938
- .4byte _081207BC
- .4byte _081207F8
- .4byte _081207F8
- .4byte _08120938
-_0812077C:
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- ldr r3, =0x00002e36
- adds r1, r2, r3
- cmp r0, 0
- bne _08120790
- ldr r0, =0x00002e2a
- adds r1, r2, r0
-_08120790:
- adds r2, r1, 0
- adds r1, r6, 0
- adds r1, 0xC
- movs r3, 0x5
-_08120798:
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x2
- adds r1, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _08120798
- movs r0, 0
- strb r0, [r6]
- b _08120938
- .pool
-_081207BC:
- ldrb r1, [r6]
- lsls r1, 1
- adds r0, r6, 0
- adds r0, 0xC
- adds r0, r1
- ldrh r4, [r0]
- adds r0, r4, 0
- bl GetWordSounds
- str r0, [r6, 0x30]
- movs r1, 0x3
- ands r1, r4
- lsrs r4, 3
- movs r0, 0x1
- ands r4, r0
- adds r1, r4
- adds r0, r6, 0
- bl GetWordPhonemes
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
- ldr r0, [r6, 0x30]
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _081207F4
- movs r0, 0
- b _08120936
-_081207F4:
- movs r0, 0x3
- b _0812091A
-_081207F8:
- ldrb r3, [r6, 0x1]
- lsls r1, r3, 3
- ldr r0, [r6, 0x30]
- adds r2, r0, r1
- ldrb r1, [r6, 0x3]
- cmp r1, 0x1
- beq _081208A0
- cmp r1, 0x1
- bgt _08120810
- cmp r1, 0
- beq _0812081C
- b _08120938
-_08120810:
- cmp r1, 0x2
- beq _08120850
- cmp r1, 0x3
- bne _0812081A
- b _08120922
-_0812081A:
- b _08120938
-_0812081C:
- lsls r0, r3, 2
- adds r0, r6, r0
- ldrh r0, [r0, 0x18]
- strb r0, [r6, 0x2]
- ldrb r0, [r2]
- cmp r0, 0x32
- bhi _08120844
- movs r1, 0x3
- bl __udivsi3
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 1
- adds r0, r1
- movs r1, 0x8C
- lsls r1, 2
- adds r0, r1
- bl m4aSongNumStart
-_08120844:
- movs r0, 0x2
- strb r0, [r6, 0x3]
- ldrb r0, [r6, 0x2]
- subs r0, 0x1
- strb r0, [r6, 0x2]
- b _08120938
-_08120850:
- movs r0, 0x1
- strb r0, [r6, 0x3]
- ldrb r0, [r2]
- cmp r0, 0x32
- bhi _08120938
- movs r3, 0x4
- ldrsh r0, [r2, r3]
- lsls r0, 4
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1
- strh r0, [r6, 0x6]
- ldr r4, =gMPlayInfo_SE2
- ldr r5, =0x0000ffff
- ldrh r2, [r6, 0x6]
- adds r0, r4, 0
- adds r1, r5, 0
- bl m4aMPlayVolumeControl
- ldrb r1, [r6, 0x1]
- lsls r1, 2
- adds r1, r6, r1
- movs r2, 0x80
- lsls r2, 2
- adds r0, r2, 0
- ldrh r1, [r1, 0x1A]
- adds r0, r1
- strh r0, [r6, 0x8]
- movs r3, 0x8
- ldrsh r2, [r6, r3]
- adds r0, r4, 0
- adds r1, r5, 0
- bl m4aMPlayPitchControl
- b _08120938
- .pool
-_081208A0:
- ldrh r2, [r6, 0xA]
- movs r3, 0xA
- ldrsh r0, [r6, r3]
- cmp r0, 0xA
- ble _081208B0
- ldrh r0, [r6, 0x6]
- subs r0, 0x2
- strh r0, [r6, 0x6]
-_081208B0:
- ands r1, r2
- cmp r1, 0
- beq _081208BC
- ldrh r0, [r6, 0x8]
- adds r0, 0x40
- b _081208C0
-_081208BC:
- ldrh r0, [r6, 0x8]
- subs r0, 0x40
-_081208C0:
- strh r0, [r6, 0x8]
- ldr r4, =gMPlayInfo_SE2
- ldr r5, =0x0000ffff
- ldrh r2, [r6, 0x6]
- adds r0, r4, 0
- adds r1, r5, 0
- bl m4aMPlayVolumeControl
- movs r0, 0x8
- ldrsh r2, [r6, r0]
- adds r0, r4, 0
- adds r1, r5, 0
- bl m4aMPlayPitchControl
- ldrh r0, [r6, 0xA]
- adds r0, 0x1
- strh r0, [r6, 0xA]
- ldrb r0, [r6, 0x2]
- subs r0, 0x1
- strb r0, [r6, 0x2]
- lsls r0, 24
- cmp r0, 0
- bne _08120938
- ldrb r0, [r6, 0x1]
- adds r0, 0x1
- strb r0, [r6, 0x1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- beq _08120918
- ldrb r0, [r6, 0x1]
- ldr r1, [r6, 0x30]
- lsls r0, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _08120918
- movs r0, 0
- b _08120936
- .pool
-_08120918:
- movs r0, 0x3
-_0812091A:
- strb r0, [r6, 0x3]
- movs r0, 0x2
- strb r0, [r6, 0x2]
- b _08120938
-_08120922:
- ldrb r0, [r6, 0x2]
- subs r0, 0x1
- strb r0, [r6, 0x2]
- lsls r0, 24
- cmp r0, 0
- bne _08120938
- ldr r0, =gMPlayInfo_SE2
- bl m4aMPlayStop
- movs r0, 0x4
-_08120936:
- strb r0, [r6, 0x3]
-_08120938:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8120748
-
- thumb_func_start sub_8120944
-sub_8120944: @ 8120944
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks
- adds r5, r0, r1
- ldr r1, =gUnknown_03006130
- adds r0, r5, 0
- bl sub_8120748
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0x5
- bls _08120966
- b _08120B50
-_08120966:
- lsls r0, 2
- ldr r1, =_0812097C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0812097C:
- .4byte _08120994
- .4byte _081209B8
- .4byte _081209C8
- .4byte _08120A7E
- .4byte _08120B40
- .4byte _08120A6E
-_08120994:
- bl sub_8120280
- ldr r0, =gStringVar4
- bl sub_8120708
- movs r0, 0
- strh r0, [r5, 0xA]
- strh r0, [r5, 0xC]
- strh r0, [r5, 0xE]
- strh r0, [r5, 0x10]
- movs r0, 0x4
- bl FadeOutBGMTemporarily
- movs r0, 0x1
- b _08120B4E
- .pool
-_081209B8:
- bl IsBGMPausedOrStopped
- lsls r0, 24
- cmp r0, 0
- bne _081209C4
- b _08120B50
-_081209C4:
- movs r0, 0x2
- b _08120B4E
-_081209C8:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00002e28
- adds r4, r0, r2
- movs r0, 0xE
- ldrsh r1, [r5, r0]
- ldr r0, =gStringVar4
- adds r1, r0
- movs r3, 0
- ldrb r0, [r1]
- ldr r7, =gUnknown_03006130
- ldrh r2, [r5, 0x12]
- ldr r6, =gUnknown_0203A128
- b _08120A02
- .pool
-_081209F8:
- adds r1, 0x1
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- ldrb r0, [r1]
-_08120A02:
- cmp r0, 0
- beq _08120A12
- cmp r0, 0xFE
- beq _08120A12
- cmp r0, 0xFC
- beq _08120A12
- cmp r0, 0xFF
- bne _081209F8
-_08120A12:
- cmp r2, 0
- bne _08120A20
- movs r2, 0x10
- ldrsh r1, [r5, r2]
- lsls r1, 1
- adds r0, r4, 0x2
- b _08120A2A
-_08120A20:
- movs r0, 0x10
- ldrsh r1, [r5, r0]
- lsls r1, 1
- adds r0, r4, 0
- adds r0, 0xE
-_08120A2A:
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x3
- ands r1, r0
- lsrs r0, 3
- movs r2, 0x1
- ands r0, r2
- adds r1, r0
- strh r1, [r6]
- movs r1, 0x4
- ldrsh r0, [r7, r1]
- adds r1, r3, 0
- bl __divsi3
- movs r1, 0
- strh r0, [r7, 0x4]
- lsls r0, 16
- cmp r0, 0
- bgt _08120A54
- movs r0, 0x1
- strh r0, [r7, 0x4]
-_08120A54:
- ldrh r0, [r5, 0x10]
- adds r0, 0x1
- strh r0, [r5, 0x10]
- movs r2, 0xC
- ldrsh r0, [r5, r2]
- cmp r0, 0
- bne _08120A66
- movs r0, 0x3
- b _08120A68
-_08120A66:
- movs r0, 0x5
-_08120A68:
- strh r0, [r5, 0x8]
- strh r1, [r5, 0xA]
- b _08120B50
-_08120A6E:
- ldrh r1, [r5, 0xC]
- movs r2, 0xC
- ldrsh r0, [r5, r2]
- cmp r0, 0
- beq _08120B4C
- subs r0, r1, 0x1
- strh r0, [r5, 0xC]
- b _08120B50
-_08120A7E:
- ldr r1, =gStringVar4
- movs r2, 0xE
- ldrsh r0, [r5, r2]
- adds r0, r1
- ldrb r4, [r0]
- cmp r4, 0xFF
- bne _08120AB0
- movs r0, 0x6
- bl FadeInBGM
- ldr r0, =gMPlayInfo_SE2
- movs r1, 0x2
- bl m4aMPlayFadeOutTemporarily
- bl EnableBothScriptContexts
- adds r0, r6, 0
- bl DestroyTask
- b _08120B50
- .pool
-_08120AB0:
- cmp r4, 0
- bne _08120AC6
- bl sub_81206F0
- ldrh r0, [r5, 0xE]
- adds r0, 0x1
- strh r0, [r5, 0xE]
- movs r0, 0x2
- strh r0, [r5, 0x8]
- strh r4, [r5, 0xC]
- b _08120B50
-_08120AC6:
- cmp r4, 0xFE
- bne _08120ADA
- ldrh r0, [r5, 0xE]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r5, 0xE]
- movs r0, 0x2
- strh r0, [r5, 0x8]
- strh r1, [r5, 0xC]
- b _08120B50
-_08120ADA:
- cmp r4, 0xFC
- bne _08120AEE
- ldrh r0, [r5, 0xE]
- adds r0, 0x2
- strh r0, [r5, 0xE]
- movs r0, 0x2
- strh r0, [r5, 0x8]
- movs r0, 0x8
- strh r0, [r5, 0xC]
- b _08120B50
-_08120AEE:
- cmp r4, 0x37
- bne _08120B04
- movs r4, 0
- strb r4, [r0]
- bl sub_81206F0
- ldrh r0, [r5, 0xE]
- adds r0, 0x1
- strh r0, [r5, 0xE]
- strh r4, [r5, 0xC]
- b _08120B50
-_08120B04:
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _08120B20
- cmp r0, 0x1
- bgt _08120B16
- cmp r0, 0
- beq _08120B1C
- b _08120B50
-_08120B16:
- cmp r0, 0x2
- beq _08120B28
- b _08120B50
-_08120B1C:
- bl sub_81206F0
-_08120B20:
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- strh r0, [r5, 0xA]
- b _08120B50
-_08120B28:
- ldrh r0, [r5, 0xE]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r5, 0xE]
- strh r1, [r5, 0xA]
- ldr r0, =gUnknown_03006130
- ldrh r0, [r0, 0x4]
- strh r0, [r5, 0xC]
- movs r0, 0x4
- b _08120B4E
- .pool
-_08120B40:
- ldrh r0, [r5, 0xC]
- subs r0, 0x1
- strh r0, [r5, 0xC]
- lsls r0, 16
- cmp r0, 0
- bne _08120B50
-_08120B4C:
- movs r0, 0x3
-_08120B4E:
- strh r0, [r5, 0x8]
-_08120B50:
- bl sub_8197224
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8120944
-
- thumb_func_start sub_8120B5C
-sub_8120B5C: @ 8120B5C
- push {lr}
- ldr r0, =0x00004010
- movs r1, 0x45
- bl VarSet
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8120B5C
-
- thumb_func_start sub_8120B70
-sub_8120B70: @ 8120B70
- push {r4-r7,lr}
- sub sp, 0x8
- ldrb r1, [r0]
- cmp r1, 0x2
- beq _08120B80
- cmp r1, 0x3
- beq _08120BA6
- b _08120C00
-_08120B80:
- adds r5, r0, 0
- movs r4, 0
-_08120B84:
- adds r0, r5, 0
- adds r0, 0x32
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08120B9E
- movs r0, 0xB
- muls r0, r4
- adds r0, 0x5
- adds r0, r5, r0
- movs r1, 0x1
- bl ConvertInternationalString
-_08120B9E:
- adds r4, 0x1
- cmp r4, 0x3
- ble _08120B84
- b _08120C00
-_08120BA6:
- adds r6, r0, 0
- movs r4, 0
- mov r7, sp
- adds r5, r6, 0
- adds r5, 0x8
-_08120BB0:
- adds r0, r6, 0x4
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _08120BF8
- mov r0, sp
- adds r1, r5, 0
- movs r2, 0x7
- bl memcpy
- movs r0, 0xFF
- strb r0, [r7, 0x7]
- mov r0, sp
- bl IsStringJapanese
- cmp r0, 0
- beq _08120BF8
- mov r0, sp
- movs r1, 0
- movs r2, 0x8
- bl memset
- mov r0, sp
- ldr r1, =gText_Friend
- bl StringCopy
- adds r0, r5, 0
- mov r1, sp
- movs r2, 0x7
- bl memcpy
- adds r0, r6, 0
- adds r0, 0x34
- adds r0, r4
- movs r1, 0x2
- strb r1, [r0]
-_08120BF8:
- adds r5, 0x7
- adds r4, 0x1
- cmp r4, 0x3
- ble _08120BB0
-_08120C00:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8120B70
-
- thumb_func_start sub_8120C0C
-sub_8120C0C: @ 8120C0C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- mov r8, r1
- adds r7, r2, 0
- ldrb r0, [r5]
- cmp r0, 0x4
- bhi _08120CC4
- lsls r0, 2
- ldr r1, =_08120C2C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08120C2C:
- .4byte _08120C92
- .4byte _08120CA2
- .4byte _08120C40
- .4byte _08120C6A
- .4byte _08120CB0
-_08120C40:
- adds r6, r5, 0
- movs r5, 0
- adds r4, r6, 0
- adds r4, 0x32
-_08120C48:
- movs r0, 0xB
- muls r0, r5
- adds r0, 0x5
- adds r0, r6, r0
- bl IsStringJapanese
- cmp r0, 0
- beq _08120C5E
- mov r0, r8
- strb r0, [r4]
- b _08120C60
-_08120C5E:
- strb r7, [r4]
-_08120C60:
- adds r4, 0x1
- adds r5, 0x1
- cmp r5, 0x3
- ble _08120C48
- b _08120CC4
-_08120C6A:
- adds r4, r5, 0
- adds r4, 0x34
- adds r6, r5, 0
- adds r6, 0x8
- movs r5, 0x3
-_08120C74:
- adds r0, r6, 0
- bl IsStringJapanese
- cmp r0, 0
- beq _08120C84
- mov r1, r8
- strb r1, [r4]
- b _08120C86
-_08120C84:
- strb r7, [r4]
-_08120C86:
- adds r4, 0x1
- adds r6, 0x7
- subs r5, 0x1
- cmp r5, 0
- bge _08120C74
- b _08120CC4
-_08120C92:
- cmp r3, 0x1
- bne _08120C9C
- adds r0, r5, 0
- adds r0, 0x2A
- b _08120CB8
-_08120C9C:
- adds r0, r5, 0
- adds r0, 0x2A
- b _08120CC2
-_08120CA2:
- cmp r3, 0x1
- bne _08120CAC
- mov r0, r8
- strb r0, [r5, 0x2]
- b _08120CC4
-_08120CAC:
- strb r7, [r5, 0x2]
- b _08120CC4
-_08120CB0:
- cmp r3, 0x1
- bne _08120CBE
- adds r0, r5, 0
- adds r0, 0x20
-_08120CB8:
- mov r1, r8
- strb r1, [r0]
- b _08120CC4
-_08120CBE:
- adds r0, r5, 0
- adds r0, 0x20
-_08120CC2:
- strb r7, [r0]
-_08120CC4:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8120C0C
-
- thumb_func_start sub_8120CD0
-sub_8120CD0: @ 8120CD0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- adds r1, r0, 0
- ldrb r0, [r1]
- cmp r0, 0x3
- bne _08120D28
- cmp r2, 0x1
- bne _08120D28
- adds r7, r1, 0
- movs r6, 0
- mov r8, sp
- adds r4, r7, 0
- adds r4, 0x34
- adds r5, r7, 0
- adds r5, 0x8
-_08120CF2:
- adds r0, r7, 0x4
- adds r0, r6
- ldrb r0, [r0]
- cmp r0, 0
- beq _08120D1E
- mov r0, sp
- adds r1, r5, 0
- movs r2, 0x7
- bl memcpy
- movs r0, 0xFF
- mov r1, r8
- strb r0, [r1, 0x7]
- mov r0, sp
- bl IsStringJapanese
- cmp r0, 0
- beq _08120D1A
- movs r0, 0x1
- b _08120D1C
-_08120D1A:
- movs r0, 0x2
-_08120D1C:
- strb r0, [r4]
-_08120D1E:
- adds r4, 0x1
- adds r5, 0x7
- adds r6, 0x1
- cmp r6, 0x3
- ble _08120CF2
-_08120D28:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8120CD0
-
- thumb_func_start sub_8120D34
-sub_8120D34: @ 8120D34
- push {r4-r7,lr}
- adds r3, r0, 0
- adds r6, r2, 0
- movs r2, 0
- subs r1, 0x1
- cmp r1, 0x1
- bhi _08120D44
- movs r2, 0x1
-_08120D44:
- ldrb r0, [r3]
- cmp r0, 0x4
- bhi _08120E02
- lsls r0, 2
- ldr r1, =_08120D58
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08120D58:
- .4byte _08120DE6
- .4byte _08120DF0
- .4byte _08120D6C
- .4byte _08120DC6
- .4byte _08120DF8
-_08120D6C:
- adds r7, r3, 0
- cmp r2, 0
- beq _08120DA4
- movs r5, 0
- adds r4, r3, 0
- adds r4, 0x32
-_08120D78:
- movs r0, 0xB
- muls r0, r5
- adds r0, 0x5
- adds r1, r7, r0
- ldrb r0, [r1]
- cmp r0, 0xFC
- bne _08120D98
- ldrb r0, [r1, 0x1]
- cmp r0, 0x15
- bne _08120D98
- adds r0, r1, 0
- bl StripExtCtrlCodes
- movs r0, 0x1
- strb r0, [r4]
- b _08120D9A
-_08120D98:
- strb r6, [r4]
-_08120D9A:
- adds r4, 0x1
- adds r5, 0x1
- cmp r5, 0x3
- ble _08120D78
- b _08120E02
-_08120DA4:
- movs r5, 0
- adds r4, r3, 0
- adds r4, 0x32
-_08120DAA:
- adds r0, r4, r5
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08120DBE
- movs r0, 0xB
- muls r0, r5
- adds r0, 0x5
- adds r0, r7, r0
- bl StripExtCtrlCodes
-_08120DBE:
- adds r5, 0x1
- cmp r5, 0x3
- ble _08120DAA
- b _08120E02
-_08120DC6:
- cmp r2, 0
- beq _08120E02
- movs r1, 0
- adds r4, r3, 0x4
- adds r2, r3, 0
- adds r2, 0x34
-_08120DD2:
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08120DDE
- adds r0, r2, r1
- strb r6, [r0]
-_08120DDE:
- adds r1, 0x1
- cmp r1, 0x3
- ble _08120DD2
- b _08120E02
-_08120DE6:
- cmp r2, 0
- beq _08120E02
- adds r0, r3, 0
- adds r0, 0x2A
- b _08120E00
-_08120DF0:
- cmp r2, 0
- beq _08120E02
- strb r6, [r3, 0x2]
- b _08120E02
-_08120DF8:
- cmp r2, 0
- beq _08120E02
- adds r0, r3, 0
- adds r0, 0x20
-_08120E00:
- strb r6, [r0]
-_08120E02:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8120D34
-
- thumb_func_start sub_8120E08
-sub_8120E08: @ 8120E08
- push {r4,r5,lr}
- ldr r2, =gUnknown_0203A12C
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00002e28
- adds r0, r1
- str r0, [r2]
- movs r3, 0
- movs r1, 0x3
- strb r1, [r0]
- ldr r0, [r2]
- strb r3, [r0, 0x1]
- movs r5, 0
- movs r4, 0xFF
-_08120E24:
- ldr r0, [r2]
- adds r0, 0x4
- adds r0, r3
- strb r5, [r0]
- ldr r1, [r2]
- adds r1, 0x8
- adds r1, r3
- ldrb r0, [r1]
- orrs r0, r4
- strb r0, [r1]
- adds r3, 0x1
- cmp r3, 0x3
- ble _08120E24
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8120E08
-
- thumb_func_start sub_8120E50
-sub_8120E50: @ 8120E50
- ldr r3, =gUnknown_0203A12C
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00002e28
- adds r0, r1
- str r0, [r3]
- movs r2, 0
- movs r1, 0x3
- strb r1, [r0]
- ldr r0, [r3]
- strb r2, [r0, 0x1]
- bx lr
- .pool
- thumb_func_end sub_8120E50
-
- thumb_func_start sub_8120E74
-sub_8120E74: @ 8120E74
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x32
- bne _08120E80
- movs r0, 0
-_08120E80:
- bl GetGameStat
- pop {r1}
- bx r1
- thumb_func_end sub_8120E74
-
- thumb_func_start sub_8120E88
-sub_8120E88: @ 8120E88
- push {lr}
- adds r3, r0, 0
- movs r2, 0
- ldr r1, =gUnknown_0859F048
-_08120E90:
- ldrb r0, [r1]
- cmp r0, r3
- bne _08120EA0
- adds r0, r1, 0
- b _08120EAA
- .pool
-_08120EA0:
- adds r1, 0x10
- adds r2, 0x1
- cmp r2, 0x23
- ble _08120E90
- ldr r0, =gUnknown_0859F278
-_08120EAA:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8120E88
-
- thumb_func_start sub_8120EB4
-sub_8120EB4: @ 8120EB4
- push {lr}
- bl sub_8120E88
- ldr r0, [r0, 0x4]
- pop {r1}
- bx r1
- thumb_func_end sub_8120EB4
-
- thumb_func_start sub_8120EC0
-sub_8120EC0: @ 8120EC0
- push {lr}
- bl sub_8120E88
- ldr r0, [r0, 0xC]
- pop {r1}
- bx r1
- thumb_func_end sub_8120EC0
-
- thumb_func_start sub_8120ECC
-sub_8120ECC: @ 8120ECC
- push {lr}
- bl sub_8120E88
- ldr r0, [r0, 0x8]
- pop {r1}
- bx r1
- thumb_func_end sub_8120ECC
-
- thumb_func_start sub_8120ED8
-sub_8120ED8: @ 8120ED8
- push {lr}
- movs r1, 0
- ldr r2, =gUnknown_0203A12C
- ldr r0, [r2]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _08120EFC
-_08120EE6:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bhi _08120EFC
- ldr r0, [r2]
- adds r0, 0x4
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08120EE6
-_08120EFC:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8120ED8
-
- thumb_func_start sub_8120F08
-sub_8120F08: @ 8120F08
- ldr r1, =gUnknown_0203A12C
- lsls r0, 2
- adds r0, 0x24
- ldr r2, [r1]
- adds r2, r0
- ldrb r0, [r2]
- ldrb r1, [r2, 0x1]
- lsls r1, 8
- orrs r0, r1
- ldrb r1, [r2, 0x2]
- lsls r1, 16
- orrs r0, r1
- ldrb r1, [r2, 0x3]
- lsls r1, 24
- orrs r0, r1
- bx lr
- .pool
- thumb_func_end sub_8120F08
-
- thumb_func_start sub_8120F2C
-sub_8120F2C: @ 8120F2C
- ldr r2, =gUnknown_0203A12C
- lsls r0, 2
- adds r0, 0x24
- ldr r2, [r2]
- adds r2, r0
- strb r1, [r2]
- lsrs r0, r1, 8
- strb r0, [r2, 0x1]
- lsrs r0, r1, 16
- strb r0, [r2, 0x2]
- lsrs r1, 24
- strb r1, [r2, 0x3]
- bx lr
- .pool
- thumb_func_end sub_8120F2C
-
- thumb_func_start sub_8120F4C
-sub_8120F4C: @ 8120F4C
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, =gUnknown_0203A12C
- ldr r0, [r0]
- adds r0, 0x4
- adds r0, r5
- ldrb r0, [r0]
- bl sub_8120E74
- adds r4, r0, 0
- adds r0, r5, 0
- bl sub_8120F08
- cmp r4, r0
- bhi _08120F74
- movs r0, 0
- b _08120F76
- .pool
-_08120F74:
- movs r0, 0x1
-_08120F76:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8120F4C
-
- thumb_func_start sub_8120F7C
-sub_8120F7C: @ 8120F7C
- push {r4,r5,lr}
- adds r5, r1, 0
- ldr r2, =gUnknown_0203A12C
- lsls r1, r0, 3
- subs r1, r0
- adds r1, 0x8
- ldr r4, [r2]
- adds r4, r1
- adds r0, r5, 0
- movs r1, 0xFF
- movs r2, 0x8
- bl memset
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x7
- bl memcpy
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8120F7C
-
- thumb_func_start sub_8120FAC
-sub_8120FAC: @ 8120FAC
- push {r4,r5,lr}
- adds r5, r1, 0
- ldr r2, =gUnknown_0203A12C
- lsls r1, r0, 3
- subs r1, r0
- adds r1, 0x8
- ldr r4, [r2]
- adds r4, r1
- adds r0, r4, 0
- movs r1, 0xFF
- movs r2, 0x7
- bl memset
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x7
- bl memcpy
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8120FAC
-
- thumb_func_start sub_8120FDC
-sub_8120FDC: @ 8120FDC
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- mov r8, r0
- adds r6, r1, 0
- ldr r0, =gUnknown_0203A12C
- mov r9, r0
- ldr r0, [r0]
- adds r0, 0x4
- add r0, r8
- strb r6, [r0]
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- mov r0, r8
- bl sub_8120FAC
- lsls r4, r6, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_8120E74
- adds r1, r0, 0
- mov r0, r8
- bl sub_8120F2C
- ldr r5, =gStringVar1
- adds r0, r4, 0
- bl sub_8120E74
- adds r1, r0, 0
- adds r0, r5, 0
- movs r2, 0
- movs r3, 0xA
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar2
- adds r0, r6, 0
- bl sub_8120ECC
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringCopy
- mov r1, r9
- ldr r0, [r1]
- adds r0, 0x34
- add r0, r8
- ldr r1, =gGameLanguage
- ldrb r1, [r1]
- strb r1, [r0]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8120FDC
-
- thumb_func_start sub_8121064
-sub_8121064: @ 8121064
- push {r4-r7,lr}
- adds r7, r0, 0
- adds r6, r1, 0
- movs r5, 0
- cmp r5, r6
- bge _0812107A
-_08121070:
- adds r0, r7, r5
- strb r5, [r0]
- adds r5, 0x1
- cmp r5, r6
- blt _08121070
-_0812107A:
- cmp r6, 0
- ble _081210B0
- adds r5, r6, 0
-_08121080:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r6, 0
- bl __modsi3
- adds r4, r0, 0
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r6, 0
- bl __modsi3
- adds r4, r7, r4
- ldrb r2, [r4]
- adds r0, r7, r0
- ldrb r1, [r0]
- strb r1, [r4]
- strb r2, [r0]
- subs r5, 0x1
- cmp r5, 0
- bne _08121080
-_081210B0:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8121064
-
- thumb_func_start sub_81210B8
-sub_81210B8: @ 81210B8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r7, sp
- mov r8, sp
- ldr r0, =gUnknown_0859F288
- ldr r0, [r0]
- lsls r0, 3
- lsrs r0, 3
- adds r0, 0x3
- lsrs r0, 2
- lsls r0, 2
- mov r1, sp
- subs r1, r0
- mov sp, r1
- mov r9, sp
- mov r0, sp
- movs r1, 0x24
- bl sub_8121064
- movs r5, 0
-_081210E4:
- ldr r1, =gUnknown_0859F048
- mov r2, r9
- adds r0, r2, r5
- ldrb r0, [r0]
- lsls r0, 4
- adds r0, r1
- ldrb r4, [r0]
- ldrb r6, [r0, 0x1]
- movs r1, 0
- ldr r2, =gUnknown_0203A12C
- ldr r0, [r2]
- ldrb r0, [r0, 0x4]
- cmp r0, r4
- beq _08121112
-_08121100:
- adds r1, 0x1
- cmp r1, 0x3
- bgt _08121112
- ldr r0, [r2]
- adds r0, 0x4
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, r4
- bne _08121100
-_08121112:
- cmp r1, 0x4
- bne _08121162
- adds r0, r4, 0
- bl sub_8120E74
- cmp r0, r6
- bcc _08121162
- ldr r0, =gUnknown_0203A12C
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x1]
- bl sub_8120ED8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bne _08121150
- ldr r0, =gUnknown_03001178
- ldrb r0, [r0]
- adds r1, r4, 0
- bl sub_8120FDC
- b _0812115E
- .pool
-_08121150:
- bl sub_8120ED8
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- bl sub_8120FDC
-_0812115E:
- movs r0, 0x1
- b _0812116A
-_08121162:
- adds r5, 0x1
- cmp r5, 0x23
- ble _081210E4
- movs r0, 0
-_0812116A:
- mov sp, r8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81210B8
-
- thumb_func_start sub_8121178
-sub_8121178: @ 8121178
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r5, r0, 0
- ldr r6, =gUnknown_0203A12C
- ldr r0, [r6]
- adds r0, 0x4
- adds r0, r5
- ldrb r0, [r0]
- mov r8, r0
- ldr r4, =gStringVar1
- adds r0, r5, 0
- bl sub_8120F08
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0xA
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar2
- mov r0, r8
- bl sub_8120ECC
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringCopy
- ldr r4, =gStringVar3
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8120F7C
- ldr r0, [r6]
- adds r0, 0x34
- adds r0, r5
- ldrb r1, [r0]
- adds r0, r4, 0
- bl ConvertInternationalString
- mov r0, r8
- bl sub_8120EC0
- bl ShowFieldMessage
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8121178
-
- thumb_func_start sub_81211EC
-sub_81211EC: @ 81211EC
- push {r4,r5,lr}
- sub sp, 0xC
- ldr r1, =gText_Exit
- movs r0, 0x1
- movs r2, 0
- bl GetStringWidth
- adds r5, r0, 0
- movs r4, 0
- ldr r0, =gUnknown_0203A12C
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _08121230
-_08121208:
- bl sub_8120EB4
- adds r1, r0, 0
- movs r0, 0x1
- movs r2, 0
- bl GetStringWidth
- cmp r0, r5
- ble _0812121C
- adds r5, r0, 0
-_0812121C:
- adds r4, 0x1
- cmp r4, 0x3
- bgt _08121230
- ldr r0, =gUnknown_0203A12C
- ldr r0, [r0]
- adds r0, 0x4
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _08121208
-_08121230:
- adds r0, r5, 0
- bl convert_pixel_width_to_tile_width
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8120ED8
- adds r3, r0, 0
- lsls r3, 25
- movs r0, 0x80
- lsls r0, 18
- adds r3, r0
- lsrs r3, 24
- movs r0, 0
- movs r1, 0
- adds r2, r4, 0
- bl CreateWindowFromRect
- ldr r1, =gUnknown_0203A130
- strb r0, [r1]
- ldrb r0, [r1]
- movs r1, 0
- bl SetStandardWindowBorderStyle
- movs r4, 0
- ldr r0, =gUnknown_0203A12C
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _081212AA
- movs r5, 0x80
- lsls r5, 17
-_08121272:
- bl sub_8120EB4
- adds r2, r0, 0
- ldr r0, =gUnknown_0203A130
- ldrb r0, [r0]
- lsrs r1, r5, 24
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x8
- bl PrintTextOnWindow
- movs r0, 0x80
- lsls r0, 21
- adds r5, r0
- adds r4, 0x1
- cmp r4, 0x3
- bgt _081212AA
- ldr r0, =gUnknown_0203A12C
- ldr r0, [r0]
- adds r0, 0x4
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _08121272
-_081212AA:
- ldr r5, =gUnknown_0203A130
- ldrb r0, [r5]
- ldr r2, =gText_Exit
- lsls r1, r4, 4
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x8
- bl PrintTextOnWindow
- ldrb r4, [r5]
- bl sub_8120ED8
- adds r1, r0, 0
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- movs r2, 0
- bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed
- ldrb r0, [r5]
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81211EC
-
- thumb_func_start sub_81212FC
-sub_81212FC: @ 81212FC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r0, 0x8
- ldrsh r5, [r4, r0]
- cmp r5, 0
- beq _08121320
- cmp r5, 0x1
- beq _0812132C
- b _08121376
- .pool
-_08121320:
- bl sub_81211EC
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _08121376
-_0812132C:
- bl ProcessMenuInput
- lsls r0, 24
- asrs r4, r0, 24
- movs r0, 0x2
- negs r0, r0
- cmp r4, r0
- beq _08121376
- adds r0, 0x1
- cmp r4, r0
- beq _0812134E
- bl sub_8120ED8
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _0812135C
-_0812134E:
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
- b _08121364
- .pool
-_0812135C:
- ldr r0, =gSpecialVar_Result
- strh r5, [r0]
- ldr r0, =gUnknown_03001178
- strb r4, [r0]
-_08121364:
- ldr r0, =gUnknown_0203A130
- ldrb r0, [r0]
- bl sub_80E2A78
- adds r0, r6, 0
- bl DestroyTask
- bl EnableBothScriptContexts
-_08121376:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81212FC
-
- thumb_func_start sub_8121388
-sub_8121388: @ 8121388
- push {lr}
- ldr r0, =sub_81212FC
- movs r1, 0x50
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8121388
-
- thumb_func_start sub_812139C
-sub_812139C: @ 812139C
- push {lr}
- ldr r0, =gUnknown_03001178
- ldrb r0, [r0]
- bl sub_8121178
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812139C
-
- thumb_func_start sub_81213B0
-sub_81213B0: @ 81213B0
- push {lr}
- ldr r1, =gUnknown_0203A12C
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00002e28
- adds r0, r2
- str r0, [r1]
- bl sub_8120ED8
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81213B0
-
- thumb_func_start sub_81213D8
-sub_81213D8: @ 81213D8
- push {r4,r5,lr}
- ldr r2, =gUnknown_0203A12C
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r3, =0x00002e28
- adds r0, r1, r3
- str r0, [r2]
- ldr r5, =gUnknown_03001178
- ldrb r0, [r5]
- ldr r2, =0x00002e2c
- adds r1, r2
- adds r1, r0
- ldrb r4, [r1]
- bl sub_8120F4C
- cmp r0, 0x1
- beq _08121414
- movs r0, 0
- b _0812141E
- .pool
-_08121414:
- ldrb r0, [r5]
- adds r1, r4, 0
- bl sub_8120FDC
- movs r0, 0x1
-_0812141E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_81213D8
-
- thumb_func_start sub_8121424
-sub_8121424: @ 8121424
- push {lr}
- ldr r1, =gUnknown_0203A12C
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00002e28
- adds r0, r2
- str r0, [r1]
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- beq _08121448
- movs r0, 0x1
- b _0812144A
- .pool
-_08121448:
- movs r0, 0
-_0812144A:
- pop {r1}
- bx r1
- thumb_func_end sub_8121424
-
- thumb_func_start sub_8121450
-sub_8121450: @ 8121450
- push {lr}
- ldr r1, =gUnknown_0203A12C
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00002e28
- adds r0, r2
- str r0, [r1]
- bl sub_81210B8
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8121450
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/party_menu.s b/asm/party_menu.s
index 29e2e67a6..185d26109 100644
--- a/asm/party_menu.s
+++ b/asm/party_menu.s
@@ -15368,7 +15368,7 @@ sub_81B83F0: @ 81B83F0
lsls r0, r1, 24
lsrs r0, 24
movs r1, 0x1
- bl sub_80D6E48
+ bl RemovePCItem
b _081B8418
.pool
_081B8410:
diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s
index 21647dfdf..111093bee 100644
--- a/asm/pokemon_storage_system.s
+++ b/asm/pokemon_storage_system.s
@@ -14810,7 +14810,7 @@ _080CF020:
beq _080CF0AC
ldr r3, =0x00000d65
adds r4, r3
- bl ItemId_GetItem
+ bl ItemId_GetName
adds r1, r0, 0
adds r0, r4, 0
movs r2, 0
@@ -19057,7 +19057,7 @@ sub_80D12B8: @ 80D12B8
ldr r1, =0x00002234
adds r0, r1
ldrh r0, [r0]
- bl ItemId_GetItem
+ bl ItemId_GetName
pop {r1}
bx r1
.pool
diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s
index 3b41afb55..c7f2ad085 100644
--- a/asm/pokemon_summary_screen.s
+++ b/asm/pokemon_summary_screen.s
@@ -4686,7 +4686,7 @@ sub_81C6648: @ 81C6648
.pool
_081C667C:
ldrh r0, [r5]
- bl itemid_is_unique
+ bl ItemId_GetImportance
lsls r0, 24
cmp r0, 0
bne _081C66A0
@@ -4799,7 +4799,7 @@ sub_81C674C: @ 81C674C
.pool
_081C677C:
ldrh r0, [r5]
- bl itemid_is_unique
+ bl ItemId_GetImportance
lsls r0, 24
cmp r0, 0
bne _081C6790
diff --git a/asm/pokenav.s b/asm/pokenav.s
index 47f350b29..9c42ed730 100644
--- a/asm/pokenav.s
+++ b/asm/pokenav.s
@@ -28718,8 +28718,8 @@ nullsub_2: @ 81D5C88
bx lr
thumb_func_end nullsub_2
- thumb_func_start sub_81D5C8C
-sub_81D5C8C: @ 81D5C8C
+ thumb_func_start PrintOnTrainerHillRecordsWindow
+PrintOnTrainerHillRecordsWindow: @ 81D5C8C
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -28857,7 +28857,7 @@ _081D5CD6:
pop {r0}
bx r0
.pool
- thumb_func_end sub_81D5C8C
+ thumb_func_end PrintOnTrainerHillRecordsWindow
thumb_func_start free_203F458
free_203F458: @ 81D5DF0
diff --git a/asm/record_mixing.s b/asm/record_mixing.s
index 2dab009a5..acfcf48ed 100644
--- a/asm/record_mixing.s
+++ b/asm/record_mixing.s
@@ -1438,7 +1438,7 @@ _080E791A:
add r1, r9
movs r2, 0x40
bl memcpy
- bl sub_8120670
+ bl ResetMauvilleOldManFlag
add sp, 0x10
pop {r3,r4}
mov r8, r3
diff --git a/asm/rom_8011DC0.s b/asm/rom_8011DC0.s
index 3a7f41d0b..2ba5926aa 100644
--- a/asm/rom_8011DC0.s
+++ b/asm/rom_8011DC0.s
@@ -3181,7 +3181,7 @@ _08014138:
adds r3, r1, r0
movs r0, 0x64
muls r0, r4
- ldr r1, =gUnknown_02039B58
+ ldr r1, =gTrainerCards
adds r0, r1
ldrb r2, [r5]
adds r1, r3, 0
@@ -3278,8 +3278,8 @@ sub_8014210: @ 8014210
lsls r6, 16
lsrs r6, 16
bl HealPlayerParty
- bl copy_player_party_to_sav1
- bl copy_bags_and_unk_data_from_save_blocks
+ bl SavePlayerParty
+ bl LoadPlayerBag
ldr r5, =gLinkPlayers
ldr r0, =0x00002211
str r0, [r5, 0x14]
@@ -3646,8 +3646,8 @@ _080145F4:
movs r1, 0x1
bl sub_80143E4
bl HealPlayerParty
- bl copy_player_party_to_sav1
- bl copy_bags_and_unk_data_from_save_blocks
+ bl SavePlayerParty
+ bl LoadPlayerBag
movs r0, 0x1
str r0, [sp]
movs r0, 0x19
@@ -3659,8 +3659,8 @@ _080145F4:
_08014620:
bl overworld_free_bg_tilemaps
bl HealPlayerParty
- bl copy_player_party_to_sav1
- bl copy_bags_and_unk_data_from_save_blocks
+ bl SavePlayerParty
+ bl LoadPlayerBag
ldr r0, =gBlockSendBuffer
movs r1, 0x1
bl sub_80143E4
@@ -3675,8 +3675,8 @@ _08014620:
_0801464C:
bl overworld_free_bg_tilemaps
bl HealPlayerParty
- bl copy_player_party_to_sav1
- bl copy_bags_and_unk_data_from_save_blocks
+ bl SavePlayerParty
+ bl LoadPlayerBag
ldr r0, =gBlockSendBuffer
movs r1, 0x1
bl sub_80143E4
@@ -10615,7 +10615,7 @@ sub_8018220: @ 8018220
lsrs r0, 24
movs r1, 0x64
muls r1, r0
- ldr r0, =gUnknown_02039B58
+ ldr r0, =gTrainerCards
adds r1, r0
mov r8, r1
bl UnkTextUtil_Reset
diff --git a/asm/shop.s b/asm/shop.s
index ae60eb364..eac0956cb 100644
--- a/asm/shop.s
+++ b/asm/shop.s
@@ -790,7 +790,7 @@ BuyMenuPrintPriceInList: @ 80E0114
ldr r5, =gStringVar1
lsls r0, r1, 16
lsrs r0, 16
- bl itemid_get_market_price
+ bl ItemId_GetPrice
adds r4, r0, 0
movs r0, 0x1
bl GetPriceReduction
@@ -2017,7 +2017,7 @@ _080E0B32:
bne _080E0B80
lsls r0, r5, 16
lsrs r0, 16
- bl itemid_get_market_price
+ bl ItemId_GetPrice
adds r4, r0, 0
movs r0, 0x1
bl GetPriceReduction
@@ -2259,7 +2259,7 @@ Task_BuyHowManyDialogueHandleInput: @ 80E0D88
cmp r0, 0x1
bne _080E0DF0
ldrh r0, [r5, 0xA]
- bl itemid_get_market_price
+ bl ItemId_GetPrice
adds r4, r0, 0
movs r0, 0x1
bl GetPriceReduction
diff --git a/asm/trader.s b/asm/trader.s
deleted file mode 100644
index a43f59402..000000000
--- a/asm/trader.s
+++ /dev/null
@@ -1,558 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_81339F8
-sub_81339F8: @ 81339F8
- push {r4-r6,lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r0, =0x00002e28
- adds r5, r1, r0
- movs r2, 0
- movs r0, 0x2
- strb r0, [r5]
- ldr r0, =0x00002e59
- adds r1, r0
- strb r2, [r1]
- movs r4, 0
- ldr r6, =gUnknown_085B09E4
-_08133A12:
- 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, =gUnknown_085B09F4
- adds r0, r4, r0
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r5, 0
- adds r0, 0x32
- adds r0, r4
- movs r1, 0x2
- strb r1, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _08133A12
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81339F8
-
- thumb_func_start sub_8133A60
-sub_8133A60: @ 8133A60
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00002e59
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_8133A60
-
- thumb_func_start sub_8133A78
-sub_8133A78: @ 8133A78
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r7, r1, r0
- ldr r0, =gSaveBlock1Ptr
- ldr r4, [r0]
- ldr r0, =0x00002e28
- adds r0, r4
- mov r9, r0
- ldr r0, =gUnknown_085B09F8
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0xC]
- str r1, [sp, 0x10]
- ldr r1, =gText_Exit
- movs r0, 0x1
- movs r2, 0
- bl GetStringWidth
- adds r6, r0, 0
- ldr r1, =gText_FiveMarks
- movs r0, 0x1
- movs r2, 0
- bl GetStringWidth
- mov r8, r0
- movs r5, 0
- ldr r0, =0x00002e29
- adds r4, r0
-_08133AC2:
- mov r0, r9
- adds r0, 0x1
- adds r1, r0, r5
- ldrb r0, [r1]
- cmp r0, 0x78
- bls _08133AF0
- mov r0, r8
- b _08133B00
- .pool
-_08133AF0:
- ldrb r1, [r1]
- lsls r1, 5
- ldr r0, =gDecorations + 1
- adds r1, r0
- movs r0, 0x1
- movs r2, 0
- bl GetStringWidth
-_08133B00:
- cmp r0, r6
- ble _08133B06
- adds r6, r0, 0
-_08133B06:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _08133AC2
- adds r0, r6, 0
- bl convert_pixel_width_to_tile_width
- lsls r0, 24
- ldr r2, =0x00ffffff
- ldr r1, [sp, 0xC]
- ands r1, r2
- orrs r1, r0
- str r1, [sp, 0xC]
- add r0, sp, 0xC
- bl AddWindow
- strh r0, [r7, 0x6]
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0x85
- lsls r2, 2
- movs r1, 0
- movs r3, 0xE
- bl SetWindowBorderStyle
- movs r5, 0
-_08133B3C:
- adds r1, r4, r5
- ldrb r0, [r1]
- cmp r0, 0x78
- bls _08133B70
- ldrb r0, [r7, 0x6]
- lsls r1, r5, 4
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- ldr r2, =gText_FiveMarks
- movs r3, 0x8
- bl PrintTextOnWindow
- b _08133B94
- .pool
-_08133B70:
- ldrb r0, [r7, 0x6]
- ldrb r2, [r1]
- lsls r2, 5
- ldr r1, =gDecorations + 1
- adds r2, r1
- lsls r1, r5, 4
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x8
- bl PrintTextOnWindow
-_08133B94:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _08133B3C
- ldrb r0, [r7, 0x6]
- ldr r2, =gText_Exit
- lsls r1, r5, 4
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x8
- bl PrintTextOnWindow
- ldrb r0, [r7, 0x6]
- movs r1, 0x5
- movs r2, 0
- bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8133A78
-
- thumb_func_start sub_8133BE4
-sub_8133BE4: @ 8133BE4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r2, r1, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- cmp r2, 0x78
- bls _08133C14
- ldr r1, =gSpecialVar_0x8004
- ldr r2, =0x0000ffff
- adds r0, r2, 0
- strh r0, [r1]
- b _08133C18
- .pool
-_08133C14:
- ldr r0, =gSpecialVar_0x8004
- strh r2, [r0]
-_08133C18:
- ldrb r0, [r4, 0x6]
- movs r1, 0
- bl sub_8198070
- ldrb r0, [r4, 0x6]
- bl ClearWindowTilemap
- ldrb r0, [r4, 0x6]
- bl RemoveWindow
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- adds r0, r5, 0
- bl DestroyTask
- bl EnableBothScriptContexts
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8133BE4
-
- thumb_func_start sub_8133C48
-sub_8133C48: @ 8133C48
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00002e28
- adds r6, r0, r1
- bl ProcessMenuInput
- lsls r0, 24
- lsrs r4, r0, 24
- asrs r1, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08133C80
- cmp r1, r0
- bgt _08133C7C
- subs r0, 0x1
- cmp r1, r0
- beq _08133CCA
- b _08133C90
- .pool
-_08133C7C:
- cmp r1, 0x4
- bne _08133C90
-_08133C80:
- movs r0, 0x5
- bl PlaySE
- adds r0, r7, 0
- movs r1, 0
- bl sub_8133BE4
- b _08133CCA
-_08133C90:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gSpecialVar_0x8005
- lsls r4, 24
- asrs r4, 24
- strh r4, [r0]
- ldr r5, =gStringVar1
- movs r0, 0xB
- adds r1, r4, 0
- muls r1, r0
- adds r1, 0x5
- adds r1, r6, r1
- adds r0, r5, 0
- bl StringCopy
- adds r0, r6, 0
- adds r0, 0x32
- adds r0, r4
- ldrb r1, [r0]
- adds r0, r5, 0
- bl ConvertInternationalString
- adds r0, r6, 0x1
- adds r0, r4
- ldrb r1, [r0]
- adds r0, r7, 0
- bl sub_8133BE4
-_08133CCA:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8133C48
-
- thumb_func_start sub_8133CD8
-sub_8133CD8: @ 8133CD8
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =gSpecialVar_Result
- ldr r2, =0x00002e59
- adds r0, r2
- ldrb r0, [r0]
- strh r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_8133CD8
-
- thumb_func_start sub_8133CF4
-sub_8133CF4: @ 8133CF4
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, =gSpecialVar_Result
-_08133CFA:
- adds r0, r4, 0
- bl CountDecorationCategoryN
- lsls r0, 24
- cmp r0, 0
- beq _08133D10
- movs r0, 0
- strh r0, [r5]
- b _08133D20
- .pool
-_08133D10:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x7
- bls _08133CFA
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
- strh r0, [r1]
-_08133D20:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8133CF4
-
- thumb_func_start sub_8133D2C
-sub_8133D2C: @ 8133D2C
- push {r4-r6,lr}
- ldr r6, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r6]
- ldr r4, =gDecorations
- ldr r5, =gSpecialVar_0x8004
- ldrh r0, [r5]
- lsls r0, 5
- adds r2, r0, r4
- ldr r0, =gSpecialVar_0x8006
- ldrh r0, [r0]
- lsls r0, 5
- adds r0, r4
- ldrb r1, [r2, 0x13]
- ldrb r0, [r0, 0x13]
- cmp r1, r0
- beq _08133D72
- adds r0, r1, 0
- bl GetFirstEmptyDecorSlot
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _08133D72
- ldr r0, =gStringVar2
- ldrh r1, [r5]
- lsls r1, 5
- adds r1, r4
- ldrb r1, [r1, 0x13]
- bl sub_8127250
- movs r0, 0x1
- strh r0, [r6]
-_08133D72:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8133D2C
-
- thumb_func_start sub_8133D8C
-sub_8133D8C: @ 8133D8C
- push {lr}
- ldr r0, =sub_8127208
- movs r1, 0
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8133D8C
-
- thumb_func_start sub_8133DA0
-sub_8133DA0: @ 8133DA0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- bl IsSelectedDecorInThePC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08133DFC
- ldr r5, =gSpecialVar_0x8006
- ldr r0, =gCurDecorationIndex
- ldrb r1, [r0]
- ldr r0, =gCurDecorInventoryItems
- ldr r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- strh r0, [r5]
- ldr r0, =gStringVar3
- ldr r1, =gSpecialVar_0x8004
- ldrh r1, [r1]
- lsls r1, 5
- ldr r4, =gDecorations + 1
- adds r1, r4
- bl StringCopy
- ldr r0, =gStringVar2
- ldrh r1, [r5]
- lsls r1, 5
- adds r1, r4
- bl StringCopy
- b _08133E04
- .pool
-_08133DFC:
- ldr r1, =gSpecialVar_0x8006
- ldr r2, =0x0000ffff
- adds r0, r2, 0
- strh r0, [r1]
-_08133E04:
- adds r0, r6, 0
- bl DestroyTask
- bl EnableBothScriptContexts
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8133DA0
-
- thumb_func_start sub_8133E1C
-sub_8133E1C: @ 8133E1C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gSpecialVar_0x8006
- movs r1, 0
- strh r1, [r2]
- bl DestroyTask
- bl EnableBothScriptContexts
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8133E1C
-
- thumb_func_start sub_8133E38
-sub_8133E38: @ 8133E38
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r0, =gSaveBlock1Ptr
- ldr r6, [r0]
- ldr r0, =0x00002e28
- adds r5, r6, r0
- ldr r1, =gSpecialVar_0x8006
- mov r8, r1
- ldrb r0, [r1]
- bl DecorationRemove
- ldr r0, =gSpecialVar_0x8004
- ldrb r0, [r0]
- bl DecorationAdd
- ldr r4, =gSpecialVar_0x8005
- ldrh r1, [r4]
- movs r0, 0xB
- muls r0, r1
- adds r0, 0x5
- adds r5, r0
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- adds r0, r5, 0
- bl StringCopy
- ldr r2, =0x00002e29
- adds r0, r6, r2
- ldrh r1, [r4]
- adds r0, r1
- mov r2, r8
- ldrh r1, [r2]
- strb r1, [r0]
- ldr r1, =0x00002e5a
- adds r0, r6, r1
- ldrh r4, [r4]
- adds r0, r4
- movs r1, 0x2
- strb r1, [r0]
- ldr r2, =0x00002e59
- adds r6, r2
- movs r0, 0x1
- strb r0, [r6]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8133E38
-
- thumb_func_start sub_8133EC0
-sub_8133EC0: @ 8133EC0
- push {lr}
- ldr r0, =sub_8133C48
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- bl sub_8133A78
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8133EC0
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/trainer_card.s b/asm/trainer_card.s
index a56dbd157..6d1be17cb 100644
--- a/asm/trainer_card.s
+++ b/asm/trainer_card.s
@@ -3894,7 +3894,7 @@ _080C48F6:
sub_80C4904: @ 80C4904
lsls r0, 24
lsrs r0, 24
- ldr r2, =gUnknown_02039B58
+ ldr r2, =gTrainerCards
movs r1, 0x64
muls r0, r1
adds r0, r2
@@ -4578,7 +4578,7 @@ sub_80C4E74: @ 80C4E74
ldr r0, [r5]
ldr r1, =0x00000534
adds r0, r1
- ldr r2, =gUnknown_02039B58
+ ldr r2, =gTrainerCards
movs r1, 0x64
muls r1, r4
adds r1, r2