diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/battle_frontier_2.s | 74 | ||||
-rw-r--r-- | asm/battle_records.s | 1285 | ||||
-rw-r--r-- | asm/cable_club.s | 14 | ||||
-rw-r--r-- | asm/easy_chat.s | 8 | ||||
-rw-r--r-- | asm/field_screen.s | 2 | ||||
-rw-r--r-- | asm/fieldmap.s | 2285 | ||||
-rw-r--r-- | asm/item.s | 1921 | ||||
-rw-r--r-- | asm/mauville_old_man.s | 2519 | ||||
-rw-r--r-- | asm/party_menu.s | 2 | ||||
-rw-r--r-- | asm/pokemon_storage_system.s | 4 | ||||
-rw-r--r-- | asm/pokemon_summary_screen.s | 4 | ||||
-rw-r--r-- | asm/pokenav.s | 6 | ||||
-rw-r--r-- | asm/record_mixing.s | 2 | ||||
-rw-r--r-- | asm/rom_8011DC0.s | 20 | ||||
-rw-r--r-- | asm/shop.s | 6 | ||||
-rw-r--r-- | asm/trader.s | 558 | ||||
-rw-r--r-- | asm/trainer_card.s | 4 |
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 |