diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/battle_anim.s | 8 | ||||
-rw-r--r-- | asm/battle_anim_status_effects.s | 4 | ||||
-rw-r--r-- | asm/battle_message.s | 4 | ||||
-rw-r--r-- | asm/battle_tower.s | 3664 | ||||
-rw-r--r-- | asm/field_camera.s | 6 | ||||
-rw-r--r-- | asm/field_door.s | 667 | ||||
-rw-r--r-- | asm/item_menu.s | 2 | ||||
-rw-r--r-- | asm/learn_move.s | 1954 | ||||
-rw-r--r-- | asm/link_rfu_3.s | 8 | ||||
-rw-r--r-- | asm/macros/battle_anim_script.inc | 285 | ||||
-rw-r--r-- | asm/map_name_popup.s | 490 | ||||
-rw-r--r-- | asm/overworld.s | 10 | ||||
-rw-r--r-- | asm/party_menu.s | 42 | ||||
-rw-r--r-- | asm/save_menu_util.s | 149 | ||||
-rw-r--r-- | asm/script_pokemon_util_80A0058.s | 12 |
15 files changed, 333 insertions, 6972 deletions
diff --git a/asm/battle_anim.s b/asm/battle_anim.s index d9471c9dd..42d099c4c 100644 --- a/asm/battle_anim.s +++ b/asm/battle_anim.s @@ -118,7 +118,7 @@ DoMoveAnim: @ 807259C ldr r0, _080725CC @ =gBattlerTarget ldrb r0, [r0] strb r0, [r2] - ldr r0, _080725D0 @ =gUnknown_81C68F4 + ldr r0, _080725D0 @ =gBattleAnims_Moves movs r2, 0x1 bl LaunchBattleAnimation pop {r0} @@ -128,7 +128,7 @@ _080725C0: .4byte gBattleAnimAttacker _080725C4: .4byte gBattlerAttacker _080725C8: .4byte gBattleAnimTarget _080725CC: .4byte gBattlerTarget -_080725D0: .4byte gUnknown_81C68F4 +_080725D0: .4byte gBattleAnims_Moves thumb_func_end DoMoveAnim thumb_func_start LaunchBattleAnimation @@ -247,7 +247,7 @@ _080726A6: cmp r0, 0 beq _08072706 movs r4, 0 - ldr r2, _080726E8 @ =gUnknown_81C68EC + ldr r2, _080726E8 @ =gMovesWithQuietBGM b _080726EE .align 2, 0 _080726C0: .4byte gUnknown_2037F18 @@ -260,7 +260,7 @@ _080726D8: .4byte RunAnimScriptCommand _080726DC: .4byte gBattleAnimArgs _080726E0: .4byte 0x0000ffff _080726E4: .4byte gUnknown_2037EEE -_080726E8: .4byte gUnknown_81C68EC +_080726E8: .4byte gMovesWithQuietBGM _080726EC: adds r4, 0x1 _080726EE: diff --git a/asm/battle_anim_status_effects.s b/asm/battle_anim_status_effects.s index c70d88cef..c8b1ddbf5 100644 --- a/asm/battle_anim_status_effects.s +++ b/asm/battle_anim_status_effects.s @@ -905,7 +905,7 @@ LaunchStatusAnimation: @ 807886C strb r4, [r0] ldr r0, _080788AC @ =gBattleAnimTarget strb r4, [r0] - ldr r0, _080788B0 @ =gUnknown_81C6E84 + ldr r0, _080788B0 @ =gBattleAnims_StatusConditions movs r2, 0 bl LaunchBattleAnimation ldr r0, _080788B4 @ =task0A_80788BC @@ -925,7 +925,7 @@ LaunchStatusAnimation: @ 807886C .align 2, 0 _080788A8: .4byte gBattleAnimAttacker _080788AC: .4byte gBattleAnimTarget -_080788B0: .4byte gUnknown_81C6E84 +_080788B0: .4byte gBattleAnims_StatusConditions _080788B4: .4byte task0A_80788BC _080788B8: .4byte gTasks thumb_func_end LaunchStatusAnimation diff --git a/asm/battle_message.s b/asm/battle_message.s index 28d7b196d..6f4cb083c 100644 --- a/asm/battle_message.s +++ b/asm/battle_message.s @@ -1686,7 +1686,7 @@ _080D8038: ands r0, r1 cmp r0, 0 beq _080D8058 - bl sub_80E60E4 + bl GetBattleTowerTrainerClassNameId lsls r0, 24 lsrs r0, 24 movs r1, 0xD @@ -1781,7 +1781,7 @@ _080D80F0: cmp r0, 0 beq _080D810C mov r0, sp - bl sub_80E6150 + bl GetBattleTowerTrainerName b _080D8382 .align 2, 0 _080D8108: .4byte gBattleTypeFlags diff --git a/asm/battle_tower.s b/asm/battle_tower.s deleted file mode 100644 index d4bad6bd1..000000000 --- a/asm/battle_tower.s +++ /dev/null @@ -1,3664 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_80E5970 -sub_80E5970: @ 80E5970 - push {r4,r5,lr} - movs r4, 0 - movs r5, 0 -_080E5976: - ldr r0, _080E5990 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, _080E5994 @ =0x0000055e - adds r0, r1 - adds r0, r5 - ldrb r0, [r0] - cmp r0, 0x6 - bhi _080E59B8 - lsls r0, 2 - ldr r1, _080E5998 @ =_080E599C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E5990: .4byte gSaveBlock2Ptr -_080E5994: .4byte 0x0000055e -_080E5998: .4byte _080E599C - .align 2, 0 -_080E599C: - .4byte _080E59B8 - .4byte _080E59D0 - .4byte _080E59F0 - .4byte _080E5A00 - .4byte _080E59E0 - .4byte _080E59E8 - .4byte _080E5A00 -_080E59B8: - lsls r0, r5, 24 - lsrs r0, 24 - bl sub_80E5A38 - cmp r4, 0 - bne _080E5A00 - movs r0, 0x80 - lsls r0, 7 - movs r1, 0x5 - bl VarSet - b _080E5A00 -_080E59D0: - lsls r0, r5, 24 - lsrs r0, 24 - bl sub_80E5A38 - movs r0, 0x80 - lsls r0, 7 - movs r1, 0x1 - b _080E59F6 -_080E59E0: - movs r0, 0x80 - lsls r0, 7 - movs r1, 0x2 - b _080E59F6 -_080E59E8: - movs r0, 0x80 - lsls r0, 7 - movs r1, 0x3 - b _080E59F6 -_080E59F0: - movs r0, 0x80 - lsls r0, 7 - movs r1, 0x4 -_080E59F6: - bl VarSet - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_080E5A00: - adds r5, 0x1 - cmp r5, 0x1 - ble _080E5976 - ldr r0, _080E5A2C @ =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, _080E5A30 @ =0x0000055e - adds r0, r1 - ldrh r1, [r0] - ldr r0, _080E5A34 @ =0x00000303 - cmp r1, r0 - bne _080E5A20 - movs r0, 0x80 - lsls r0, 7 - movs r1, 0x5 - bl VarSet -_080E5A20: - bl sub_80E7064 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E5A2C: .4byte gSaveBlock2Ptr -_080E5A30: .4byte 0x0000055e -_080E5A34: .4byte 0x00000303 - thumb_func_end sub_80E5970 - - thumb_func_start sub_80E5A38 -sub_80E5A38: @ 80E5A38 - lsls r0, 24 - lsrs r0, 24 - ldr r3, _080E5A64 @ =gSaveBlock2Ptr - ldr r1, [r3] - ldr r2, _080E5A68 @ =0x0000055e - adds r1, r2 - adds r1, r0 - movs r2, 0 - strb r2, [r1] - ldr r2, [r3] - lsls r0, 1 - movs r3, 0xAC - lsls r3, 3 - adds r1, r2, r3 - adds r1, r0 - movs r3, 0x1 - strh r3, [r1] - ldr r1, _080E5A6C @ =0x00000564 - adds r2, r1 - adds r2, r0 - strh r3, [r2] - bx lr - .align 2, 0 -_080E5A64: .4byte gSaveBlock2Ptr -_080E5A68: .4byte 0x0000055e -_080E5A6C: .4byte 0x00000564 - thumb_func_end sub_80E5A38 - - thumb_func_start sub_80E5A70 -sub_80E5A70: @ 80E5A70 - push {r4-r7,lr} - sub sp, 0x2C - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 16 - lsrs r6, r1, 16 - add r4, sp, 0x28 - movs r0, 0 - strb r0, [r4] - bl ValidateEReaderTrainer - ldr r0, _080E5AA4 @ =gSpecialVar_Result - ldrh r0, [r0] - adds r7, r4, 0 - cmp r0, 0 - bne _080E5A9E - ldr r0, _080E5AA8 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, _080E5AAC @ =0x000004a2 - adds r0, r1 - ldrh r0, [r0] - cmp r0, r6 - beq _080E5AB0 -_080E5A9E: - movs r0, 0 - b _080E5B02 - .align 2, 0 -_080E5AA4: .4byte gSpecialVar_Result -_080E5AA8: .4byte gSaveBlock2Ptr -_080E5AAC: .4byte 0x000004a2 -_080E5AB0: - movs r6, 0x32 - cmp r5, 0 - beq _080E5AB8 - movs r6, 0x64 -_080E5AB8: - movs r4, 0 -_080E5ABA: - ldr r0, _080E5B0C @ =gSaveBlock2Ptr - ldr r1, [r0] - movs r0, 0x2C - muls r0, r4 - adds r1, r0 - movs r2, 0x9C - lsls r2, 3 - adds r0, r1, r2 - ldrb r2, [r0] - cmp r2, r6 - bne _080E5A9E - ldr r3, _080E5B10 @ =0x000004d4 - adds r0, r1, r3 - ldrh r0, [r0] - adds r3, 0x2 - adds r1, r3 - ldrh r1, [r1] - str r2, [sp] - add r2, sp, 0x10 - str r2, [sp, 0x4] - add r2, sp, 0x1C - str r2, [sp, 0x8] - str r7, [sp, 0xC] - movs r2, 0x1 - adds r3, r5, 0 - bl sub_80E6564 - adds r4, 0x1 - cmp r4, 0x2 - ble _080E5ABA - movs r1, 0 - ldrb r0, [r7] - cmp r0, 0x3 - bne _080E5B00 - movs r1, 0x1 -_080E5B00: - adds r0, r1, 0 -_080E5B02: - add sp, 0x2C - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080E5B0C: .4byte gSaveBlock2Ptr -_080E5B10: .4byte 0x000004d4 - thumb_func_end sub_80E5A70 - - thumb_func_start sub_80E5B14 -sub_80E5B14: @ 80E5B14 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x24 - movs r0, 0 - str r0, [sp, 0x14] - ldr r4, _080E5B58 @ =gSaveBlock2Ptr - ldr r0, [r4] - ldr r1, _080E5B5C @ =0x0000055c - adds r0, r1 - ldrb r0, [r0] - lsls r0, 31 - lsrs r0, 31 - mov r8, r0 - bl sub_80E7188 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - mov r0, r8 - mov r1, r9 - bl sub_80E5A70 - lsls r0, 24 - cmp r0, 0 - beq _080E5B64 - ldr r0, [r4] - ldr r2, _080E5B60 @ =0x0000056c - adds r0, r2 - movs r1, 0xC8 - strb r1, [r0] - b _080E5C0C - .align 2, 0 -_080E5B58: .4byte gSaveBlock2Ptr -_080E5B5C: .4byte 0x0000055c -_080E5B60: .4byte 0x0000056c -_080E5B64: - movs r6, 0 - movs r3, 0xA4 - mov r10, r3 - movs r7, 0xAA - lsls r7, 1 - mov r12, r7 - ldr r0, _080E5BE8 @ =gSaveBlock2Ptr - ldr r0, [r0] - str r0, [sp, 0x18] - mov r1, sp - str r1, [sp, 0x1C] -_080E5B7A: - mov r0, r10 - muls r0, r6 - add r0, r12 - movs r4, 0 - movs r5, 0 - movs r1, 0 - adds r2, r6, 0x1 - str r2, [sp, 0x20] - ldr r3, [sp, 0x18] - adds r2, r3, r0 -_080E5B8E: - ldm r2!, {r0} - orrs r4, r0 - adds r5, r0 - adds r1, 0x1 - cmp r1, 0x27 - bls _080E5B8E - ldr r7, _080E5BE8 @ =gSaveBlock2Ptr - ldr r2, [r7] - mov r3, r10 - muls r3, r6 - adds r1, r2, r3 - movs r7, 0xAB - lsls r7, 1 - adds r0, r1, r7 - ldrh r0, [r0] - cmp r0, r9 - bne _080E5BD8 - mov r7, r12 - adds r0, r1, r7 - ldrb r0, [r0] - cmp r0, r8 - bne _080E5BD8 - cmp r4, 0 - beq _080E5BD8 - movs r1, 0xFA - lsls r1, 1 - adds r0, r2, r1 - adds r0, r3 - ldr r0, [r0] - cmp r0, r5 - bne _080E5BD8 - ldr r2, [sp, 0x1C] - stm r2!, {r6} - str r2, [sp, 0x1C] - ldr r3, [sp, 0x14] - adds r3, 0x1 - str r3, [sp, 0x14] -_080E5BD8: - ldr r6, [sp, 0x20] - cmp r6, 0x4 - ble _080E5B7A - ldr r7, [sp, 0x14] - cmp r7, 0 - bne _080E5BEC - movs r0, 0 - b _080E5C0E - .align 2, 0 -_080E5BE8: .4byte gSaveBlock2Ptr -_080E5BEC: - bl Random - ldr r1, _080E5C20 @ =gSaveBlock2Ptr - ldr r4, [r1] - lsls r0, 16 - lsrs r0, 16 - ldr r1, [sp, 0x14] - bl __modsi3 - lsls r0, 2 - add r0, sp - ldr r0, [r0] - adds r0, 0x64 - ldr r1, _080E5C24 @ =0x0000056c - adds r4, r1 - strb r0, [r4] -_080E5C0C: - movs r0, 0x1 -_080E5C0E: - add sp, 0x24 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080E5C20: .4byte gSaveBlock2Ptr -_080E5C24: .4byte 0x0000056c - thumb_func_end sub_80E5B14 - - thumb_func_start ChooseNextBattleTowerTrainer -ChooseNextBattleTowerTrainer: @ 80E5C28 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r5, _080E5C6C @ =gSaveBlock2Ptr - ldr r0, [r5] - ldr r1, _080E5C70 @ =0x0000055c - adds r0, r1 - ldrb r0, [r0] - lsls r0, 31 - lsrs r6, r0, 31 - bl sub_80E5B14 - lsls r0, 24 - cmp r0, 0 - beq _080E5C7C - ldr r0, [r5] - ldr r4, _080E5C74 @ =0x0000056c - adds r0, r4 - ldrb r0, [r0] - bl sub_80E5E5C - ldr r1, [r5] - lsls r2, r6, 1 - movs r3, 0xAC - lsls r3, 3 - adds r0, r1, r3 - adds r0, r2 - ldrh r0, [r0] - adds r0, r1, r0 - ldr r2, _080E5C78 @ =0x00000571 - adds r0, r2 - adds r1, r4 - b _080E5E3E - .align 2, 0 -_080E5C6C: .4byte gSaveBlock2Ptr -_080E5C70: .4byte 0x0000055c -_080E5C74: .4byte 0x0000056c -_080E5C78: .4byte 0x00000571 -_080E5C7C: - ldr r2, [r5] - lsls r0, r6, 1 - ldr r3, _080E5D1C @ =0x00000564 - adds r1, r2, r3 - adds r1, r0 - ldrh r1, [r1] - adds r6, r0, 0 - cmp r1, 0x7 - bls _080E5C90 - b _080E5DB8 -_080E5C90: - movs r1, 0xAC - lsls r1, 3 - adds r0, r2, r1 - adds r0, r6 - ldrh r0, [r0] - cmp r0, 0x7 - bne _080E5D2C - adds r7, r6, 0 - mov r8, r5 -_080E5CA2: - bl Random - movs r1, 0xFF - ands r1, r0 - lsls r2, r1, 2 - adds r2, r1 - mov r3, r8 - ldr r4, [r3] - ldr r1, _080E5D1C @ =0x00000564 - adds r0, r4, r1 - adds r0, r7 - ldrh r1, [r0] - subs r1, 0x1 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 1 - adds r0, 0x14 - lsrs r2, 7 - adds r2, r0 - lsls r2, 16 - lsrs r5, r2, 16 - movs r3, 0 - movs r0, 0xAC - lsls r0, 3 - adds r2, r4, r0 - adds r0, r2, r7 - ldrh r0, [r0] - subs r0, 0x1 - cmp r3, r0 - bge _080E5CFC - ldr r0, _080E5D20 @ =0x00000572 - adds r1, r4, r0 - ldrb r0, [r1] - cmp r0, r5 - beq _080E5CFC - adds r0, r2, r6 - ldrh r0, [r0] - subs r4, r0, 0x1 -_080E5CEE: - adds r3, 0x1 - cmp r3, r4 - bge _080E5CFC - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, r5 - bne _080E5CEE -_080E5CFC: - mov r1, r8 - ldr r0, [r1] - movs r2, 0xAC - lsls r2, 3 - adds r0, r2 - adds r0, r6 - ldrh r0, [r0] - subs r0, 0x1 - ldr r4, _080E5D24 @ =gSaveBlock2Ptr - cmp r3, r0 - bne _080E5CA2 - ldr r0, [r4] - ldr r3, _080E5D28 @ =0x0000056c - adds r0, r3 - b _080E5E16 - .align 2, 0 -_080E5D1C: .4byte 0x00000564 -_080E5D20: .4byte 0x00000572 -_080E5D24: .4byte gSaveBlock2Ptr -_080E5D28: .4byte 0x0000056c -_080E5D2C: - adds r7, r6, 0 - mov r8, r5 -_080E5D30: - bl Random - movs r1, 0xFF - ands r1, r0 - lsls r0, r1, 2 - adds r0, r1 - lsrs r5, r0, 6 - mov r0, r8 - ldr r4, [r0] - ldr r1, _080E5DA8 @ =0x00000564 - adds r0, r4, r1 - adds r0, r7 - ldrh r1, [r0] - subs r1, 0x1 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 1 - adds r0, r5, r0 - lsls r0, 16 - lsrs r5, r0, 16 - movs r3, 0 - movs r0, 0xAC - lsls r0, 3 - adds r2, r4, r0 - adds r0, r2, r7 - ldrh r0, [r0] - subs r0, 0x1 - cmp r3, r0 - bge _080E5D88 - ldr r0, _080E5DAC @ =0x00000572 - adds r1, r4, r0 - ldrb r0, [r1] - cmp r0, r5 - beq _080E5D88 - adds r0, r2, r6 - ldrh r0, [r0] - subs r4, r0, 0x1 -_080E5D7A: - adds r3, 0x1 - cmp r3, r4 - bge _080E5D88 - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, r5 - bne _080E5D7A -_080E5D88: - mov r1, r8 - ldr r0, [r1] - movs r2, 0xAC - lsls r2, 3 - adds r0, r2 - adds r0, r6 - ldrh r0, [r0] - subs r0, 0x1 - ldr r4, _080E5DB0 @ =gSaveBlock2Ptr - cmp r3, r0 - bne _080E5D30 - ldr r0, [r4] - ldr r3, _080E5DB4 @ =0x0000056c - adds r0, r3 - b _080E5E16 - .align 2, 0 -_080E5DA8: .4byte 0x00000564 -_080E5DAC: .4byte 0x00000572 -_080E5DB0: .4byte gSaveBlock2Ptr -_080E5DB4: .4byte 0x0000056c -_080E5DB8: - adds r7, r5, 0 -_080E5DBA: - bl Random - movs r1, 0xFF - ands r1, r0 - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 1 - asrs r0, 8 - adds r0, 0x46 - lsls r0, 16 - lsrs r5, r0, 16 - movs r3, 0 - ldr r1, [r7] - movs r2, 0xAC - lsls r2, 3 - adds r0, r1, r2 - adds r0, r6 - ldrh r0, [r0] - subs r4, r0, 0x1 - cmp r3, r4 - bge _080E5DFC - ldr r0, _080E5E4C @ =0x00000572 - adds r1, r0 - ldrb r0, [r1] - cmp r0, r5 - beq _080E5DFC -_080E5DEE: - adds r3, 0x1 - cmp r3, r4 - bge _080E5DFC - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, r5 - bne _080E5DEE -_080E5DFC: - ldr r0, [r7] - movs r1, 0xAC - lsls r1, 3 - adds r0, r1 - adds r0, r6 - ldrh r0, [r0] - subs r0, 0x1 - ldr r4, _080E5E50 @ =gSaveBlock2Ptr - cmp r3, r0 - bne _080E5DBA - ldr r0, [r4] - ldr r2, _080E5E54 @ =0x0000056c - adds r0, r2 -_080E5E16: - strb r5, [r0] - ldr r0, [r4] - ldr r3, _080E5E54 @ =0x0000056c - adds r0, r3 - ldrb r0, [r0] - bl sub_80E5E5C - ldr r1, [r4] - movs r2, 0xAC - lsls r2, 3 - adds r0, r1, r2 - adds r2, r0, r6 - ldrh r0, [r2] - cmp r0, 0x6 - bhi _080E5E42 - adds r0, r1, r0 - ldr r3, _080E5E58 @ =0x00000571 - adds r0, r3 - ldr r2, _080E5E54 @ =0x0000056c - adds r1, r2 -_080E5E3E: - ldrb r1, [r1] - strb r1, [r0] -_080E5E42: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E5E4C: .4byte 0x00000572 -_080E5E50: .4byte gSaveBlock2Ptr -_080E5E54: .4byte 0x0000056c -_080E5E58: .4byte 0x00000571 - thumb_func_end ChooseNextBattleTowerTrainer - - thumb_func_start sub_80E5E5C -sub_80E5E5C: @ 80E5E5C - push {lr} - ldr r0, _080E5E6C @ =0x00004010 - movs r1, 0x12 - bl VarSet - pop {r0} - bx r0 - .align 2, 0 -_080E5E6C: .4byte 0x00004010 - thumb_func_end sub_80E5E5C - - thumb_func_start SetEReaderTrainerGfxId -SetEReaderTrainerGfxId: @ 80E5E70 - push {lr} - movs r0, 0xC8 - bl sub_80E5E5C - pop {r0} - bx r0 - thumb_func_end SetEReaderTrainerGfxId - - thumb_func_start sub_80E5E7C -sub_80E5E7C: @ 80E5E7C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - movs r1, 0 - mov r8, r1 - mov r10, r0 - movs r5, 0 - ldr r2, _080E5F08 @ =gSaveBlock2Ptr - ldr r0, [r2] - mov r4, r10 - ldrb r4, [r4, 0xC] - str r4, [sp, 0x18] - mov r9, r5 - movs r7, 0x4 - str r7, [sp, 0x1C] - movs r1, 0xB0 - lsls r1, 1 - adds r1, r0 - mov r12, r1 -_080E5EA8: - movs r6, 0 - movs r3, 0 - mov r2, r12 - ldrb r0, [r2] - ldr r4, [sp, 0x18] - cmp r0, r4 - bne _080E5EDA - mov r4, r9 - mov r2, r10 - adds r2, 0xC -_080E5EBC: - adds r3, 0x1 - cmp r3, 0x3 - bgt _080E5EDA - ldr r7, _080E5F08 @ =gSaveBlock2Ptr - ldr r0, [r7] - adds r1, r3, r4 - movs r7, 0xB0 - lsls r7, 1 - adds r0, r7 - adds r0, r1 - adds r1, r2, r3 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - beq _080E5EBC -_080E5EDA: - cmp r3, 0x4 - bne _080E5F20 - movs r6, 0 - ldr r1, _080E5F08 @ =gSaveBlock2Ptr - ldr r0, [r1] - movs r3, 0xAC - lsls r3, 1 - adds r0, r3 - ldr r2, [sp, 0x1C] - adds r0, r2 - ldrb r0, [r0] - mov r4, r10 - ldrb r4, [r4, 0x8] - cmp r0, r4 - bne _080E5F20 - adds r1, r0, 0 - mov r2, r9 - adds r2, 0x4 -_080E5EFE: - cmp r1, 0xFF - bne _080E5F0C - movs r6, 0x7 - b _080E5F20 - .align 2, 0 -_080E5F08: .4byte gSaveBlock2Ptr -_080E5F0C: - adds r6, 0x1 - cmp r6, 0x6 - bgt _080E5F20 - ldr r7, _080E5F4C @ =gSaveBlock2Ptr - ldr r0, [r7] - adds r0, r3 - adds r0, r2 - ldrb r0, [r0] - cmp r0, r1 - beq _080E5EFE -_080E5F20: - cmp r6, 0x7 - beq _080E5F36 - movs r0, 0xA4 - add r9, r0 - ldr r1, [sp, 0x1C] - adds r1, 0xA4 - str r1, [sp, 0x1C] - add r12, r0 - adds r5, 0x1 - cmp r5, 0x4 - ble _080E5EA8 -_080E5F36: - cmp r5, 0x4 - bgt _080E5F50 - ldr r2, _080E5F4C @ =gSaveBlock2Ptr - ldr r0, [r2] - movs r1, 0xA4 - muls r1, r5 - adds r0, r1 - movs r4, 0xAA - lsls r4, 1 - adds r0, r4 - b _080E5F90 - .align 2, 0 -_080E5F4C: .4byte gSaveBlock2Ptr -_080E5F50: - movs r5, 0 - ldr r7, _080E5F9C @ =gSaveBlock2Ptr - ldr r0, [r7] - movs r1, 0xAB - lsls r1, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0 - beq _080E5F7C - adds r3, r7, 0 - adds r2, r1, 0 - movs r1, 0 -_080E5F68: - adds r1, 0xA4 - adds r5, 0x1 - cmp r5, 0x4 - bgt _080E5FA0 - ldr r0, [r3] - adds r0, r1 - adds r0, r2 - ldrh r0, [r0] - cmp r0, 0 - bne _080E5F68 -_080E5F7C: - cmp r5, 0x4 - bgt _080E5FA0 - ldr r1, _080E5F9C @ =gSaveBlock2Ptr - ldr r0, [r1] - movs r1, 0xA4 - muls r1, r5 - adds r0, r1 - movs r2, 0xAA - lsls r2, 1 - adds r0, r2 -_080E5F90: - mov r1, r10 - movs r2, 0xA4 - bl memcpy - b _080E6062 - .align 2, 0 -_080E5F9C: .4byte gSaveBlock2Ptr -_080E5FA0: - mov r2, sp - ldr r4, _080E5FF8 @ =gSaveBlock2Ptr - ldr r0, [r4] - movs r3, 0xAB - lsls r3, 1 - adds r0, r3 - ldrh r0, [r0] - movs r1, 0 - strh r0, [r2] - add r0, sp, 0xC - strh r1, [r0] - movs r7, 0x1 - add r8, r7 - movs r5, 0x1 - add r0, sp, 0xC - mov r9, r0 - mov r12, r3 -_080E5FC2: - movs r3, 0 - adds r7, r5, 0x1 - cmp r3, r8 - bge _080E6006 - ldr r1, _080E5FF8 @ =gSaveBlock2Ptr - ldr r0, [r1] - movs r2, 0xA4 - adds r1, r5, 0 - muls r1, r2 - adds r0, r1 - mov r1, r12 - adds r4, r0, r1 - mov r6, sp -_080E5FDC: - lsls r0, r3, 1 - add r0, sp - ldrh r2, [r4] - adds r1, r2, 0 - ldrh r0, [r0] - cmp r1, r0 - bcs _080E5FFC - movs r3, 0 - movs r4, 0x1 - mov r8, r4 - strh r2, [r6] - mov r0, r9 - strh r5, [r0] - b _080E6006 - .align 2, 0 -_080E5FF8: .4byte gSaveBlock2Ptr -_080E5FFC: - cmp r1, r0 - bhi _080E6006 - adds r3, 0x1 - cmp r3, r8 - blt _080E5FDC -_080E6006: - cmp r3, r8 - bne _080E602C - mov r1, r8 - lsls r2, r1, 1 - mov r4, sp - adds r3, r4, r2 - ldr r1, _080E6074 @ =gSaveBlock2Ptr - ldr r0, [r1] - movs r4, 0xA4 - adds r1, r5, 0 - muls r1, r4 - adds r0, r1 - add r0, r12 - ldrh r0, [r0] - strh r0, [r3] - add r2, r9 - strh r5, [r2] - movs r0, 0x1 - add r8, r0 -_080E602C: - adds r5, r7, 0 - cmp r5, 0x4 - ble _080E5FC2 - bl Random - lsls r0, 16 - lsrs r0, 16 - mov r1, r8 - bl __modsi3 - adds r5, r0, 0 - ldr r0, _080E6074 @ =gSaveBlock2Ptr - ldr r0, [r0] - lsls r1, r5, 1 - add r1, sp - adds r1, 0xC - ldrh r2, [r1] - movs r1, 0xA4 - muls r1, r2 - adds r0, r1 - movs r1, 0xAA - lsls r1, 1 - adds r0, r1 - mov r1, r10 - movs r2, 0xA4 - bl memcpy -_080E6062: - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E6074: .4byte gSaveBlock2Ptr - thumb_func_end sub_80E5E7C - - thumb_func_start GetBattleTowerTrainerFrontSpriteId -GetBattleTowerTrainerFrontSpriteId: @ 80E6078 - push {lr} - ldr r0, _080E6094 @ =gSaveBlock2Ptr - ldr r3, [r0] - ldr r0, _080E6098 @ =0x0000056c - adds r1, r3, r0 - ldrb r0, [r1] - cmp r0, 0xC8 - bne _080E60A4 - ldr r1, _080E609C @ =gFacilityClassToPicIndex - ldr r2, _080E60A0 @ =0x000004a1 - adds r0, r3, r2 - ldrb r0, [r0] - adds r0, r1 - b _080E60D6 - .align 2, 0 -_080E6094: .4byte gSaveBlock2Ptr -_080E6098: .4byte 0x0000056c -_080E609C: .4byte gFacilityClassToPicIndex -_080E60A0: .4byte 0x000004a1 -_080E60A4: - cmp r0, 0x63 - bls _080E60C4 - ldr r2, _080E60C0 @ =gFacilityClassToPicIndex - ldrb r0, [r1] - subs r0, 0x64 - movs r1, 0xA4 - muls r0, r1 - adds r0, r3, r0 - adds r1, 0xB1 - adds r0, r1 - ldrb r0, [r0] - adds r0, r2 - b _080E60D6 - .align 2, 0 -_080E60C0: .4byte gFacilityClassToPicIndex -_080E60C4: - ldr r3, _080E60DC @ =gFacilityClassToPicIndex - ldr r2, _080E60E0 @ =gBattleTowerTrainers - ldrb r1, [r1] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - adds r0, r3 -_080E60D6: - ldrb r0, [r0] - pop {r1} - bx r1 - .align 2, 0 -_080E60DC: .4byte gFacilityClassToPicIndex -_080E60E0: .4byte gBattleTowerTrainers - thumb_func_end GetBattleTowerTrainerFrontSpriteId - - thumb_func_start sub_80E60E4 -sub_80E60E4: @ 80E60E4 - push {lr} - ldr r0, _080E6100 @ =gSaveBlock2Ptr - ldr r3, [r0] - ldr r0, _080E6104 @ =0x0000056c - adds r1, r3, r0 - ldrb r0, [r1] - cmp r0, 0xC8 - bne _080E6110 - ldr r1, _080E6108 @ =gFacilityClassToTrainerClass - ldr r2, _080E610C @ =0x000004a1 - adds r0, r3, r2 - ldrb r0, [r0] - adds r0, r1 - b _080E6144 - .align 2, 0 -_080E6100: .4byte gSaveBlock2Ptr -_080E6104: .4byte 0x0000056c -_080E6108: .4byte gFacilityClassToTrainerClass -_080E610C: .4byte 0x000004a1 -_080E6110: - cmp r0, 0x63 - bhi _080E6130 - ldr r3, _080E6128 @ =gFacilityClassToTrainerClass - ldr r2, _080E612C @ =gBattleTowerTrainers - ldrb r1, [r1] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - adds r0, r3 - b _080E6144 - .align 2, 0 -_080E6128: .4byte gFacilityClassToTrainerClass -_080E612C: .4byte gBattleTowerTrainers -_080E6130: - ldr r2, _080E614C @ =gFacilityClassToTrainerClass - ldrb r0, [r1] - subs r0, 0x64 - movs r1, 0xA4 - muls r0, r1 - adds r0, r3, r0 - adds r1, 0xB1 - adds r0, r1 - ldrb r0, [r0] - adds r0, r2 -_080E6144: - ldrb r0, [r0] - pop {r1} - bx r1 - .align 2, 0 -_080E614C: .4byte gFacilityClassToTrainerClass - thumb_func_end sub_80E60E4 - - thumb_func_start sub_80E6150 -sub_80E6150: @ 80E6150 - push {r4-r6,lr} - adds r4, r0, 0 - ldr r0, _080E6178 @ =gSaveBlock2Ptr - ldr r1, [r0] - ldr r2, _080E617C @ =0x0000056c - adds r0, r1, r2 - ldrb r2, [r0] - cmp r2, 0xC8 - bne _080E6184 - movs r3, 0 - ldr r0, _080E6180 @ =0x000004a4 - adds r2, r1, r0 -_080E6168: - adds r0, r4, r3 - adds r1, r2, r3 - ldrb r1, [r1] - strb r1, [r0] - adds r3, 0x1 - cmp r3, 0x6 - ble _080E6168 - b _080E61CE - .align 2, 0 -_080E6178: .4byte gSaveBlock2Ptr -_080E617C: .4byte 0x0000056c -_080E6180: .4byte 0x000004a4 -_080E6184: - cmp r2, 0x63 - bhi _080E61AC - movs r3, 0 - adds r5, r0, 0 - ldr r6, _080E61A8 @ =gBattleTowerTrainers + 1 -_080E618E: - adds r2, r4, r3 - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r3, r0 - adds r0, r6 - ldrb r0, [r0] - strb r0, [r2] - adds r3, 0x1 - cmp r3, 0x2 - ble _080E618E - b _080E61CE - .align 2, 0 -_080E61A8: .4byte gBattleTowerTrainers + 1 -_080E61AC: - movs r3, 0 - adds r5, r0, 0 - movs r0, 0xAC - lsls r0, 1 - adds r2, r1, r0 - movs r6, 0xA4 -_080E61B8: - adds r1, r4, r3 - ldrb r0, [r5] - subs r0, 0x64 - muls r0, r6 - adds r0, r3, r0 - adds r0, r2, r0 - ldrb r0, [r0] - strb r0, [r1] - adds r3, 0x1 - cmp r3, 0x6 - ble _080E61B8 -_080E61CE: - adds r1, r4, r3 - movs r0, 0xFF - strb r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80E6150 - - thumb_func_start sub_80E61DC -sub_80E61DC: @ 80E61DC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x28 - movs r0, 0 - str r0, [sp, 0x18] - movs r1, 0x3C - str r1, [sp, 0x1C] - add r4, sp, 0xC - movs r0, 0xFF - strb r0, [r4] - bl ZeroEnemyPartyMons - ldr r1, _080E6210 @ =gSaveBlock2Ptr - ldr r0, [r1] - ldr r2, _080E6214 @ =0x0000056c - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0x13 - bhi _080E6218 - movs r3, 0x6 - str r3, [sp, 0x14] - b _080E62F4 - .align 2, 0 -_080E6210: .4byte gSaveBlock2Ptr -_080E6214: .4byte 0x0000056c -_080E6218: - cmp r0, 0x1D - bhi _080E6226 - movs r0, 0x9 - str r0, [sp, 0x14] - movs r1, 0x1E - str r1, [sp, 0x18] - b _080E62F4 -_080E6226: - cmp r0, 0x27 - bhi _080E6234 - movs r2, 0xC - str r2, [sp, 0x14] - movs r3, 0x3C - str r3, [sp, 0x18] - b _080E62F4 -_080E6234: - cmp r0, 0x31 - bhi _080E6242 - movs r0, 0xF - str r0, [sp, 0x14] - movs r1, 0x5A - str r1, [sp, 0x18] - b _080E62F4 -_080E6242: - cmp r0, 0x3B - bhi _080E6250 - movs r2, 0x12 - str r2, [sp, 0x14] - movs r3, 0x78 - str r3, [sp, 0x18] - b _080E62F4 -_080E6250: - cmp r0, 0x45 - bhi _080E625E - movs r0, 0x15 - str r0, [sp, 0x14] - movs r1, 0x96 - str r1, [sp, 0x18] - b _080E62F4 -_080E625E: - cmp r0, 0x4F - bhi _080E626C - movs r2, 0x1F - str r2, [sp, 0x14] - movs r3, 0xB4 - str r3, [sp, 0x18] - b _080E62F4 -_080E626C: - cmp r0, 0x63 - bhi _080E627E - movs r0, 0x1F - str r0, [sp, 0x14] - movs r1, 0xC8 - str r1, [sp, 0x18] - movs r2, 0x64 - str r2, [sp, 0x1C] - b _080E62F4 -_080E627E: - cmp r0, 0xC8 - bne _080E62B0 - movs r6, 0 - adds r4, r1, 0 -_080E6286: - movs r0, 0x64 - muls r0, r6 - ldr r1, _080E62A8 @ =gEnemyParty - adds r0, r1 - movs r1, 0x2C - adds r2, r6, 0 - muls r2, r1 - ldr r3, _080E62AC @ =0x000004d4 - adds r2, r3 - ldr r1, [r4] - adds r1, r2 - bl CreateBattleTowerMon - adds r6, 0x1 - cmp r6, 0x2 - ble _080E6286 - b _080E64A6 - .align 2, 0 -_080E62A8: .4byte gEnemyParty -_080E62AC: .4byte 0x000004d4 -_080E62B0: - movs r6, 0 -_080E62B2: - movs r0, 0x64 - muls r0, r6 - ldr r1, _080E62E4 @ =gEnemyParty - adds r0, r1 - ldr r1, _080E62E8 @ =gSaveBlock2Ptr - ldr r1, [r1] - ldr r3, _080E62EC @ =0x0000056c - adds r2, r1, r3 - ldrb r3, [r2] - movs r2, 0xA4 - muls r2, r3 - ldr r3, _080E62F0 @ =0xffffc144 - adds r2, r3 - adds r1, r2 - movs r2, 0x2C - muls r2, r6 - adds r2, 0x1C - adds r1, r2 - bl CreateBattleTowerMon - adds r6, 0x1 - cmp r6, 0x2 - ble _080E62B2 - b _080E64A6 - .align 2, 0 -_080E62E4: .4byte gEnemyParty -_080E62E8: .4byte gSaveBlock2Ptr -_080E62EC: .4byte 0x0000056c -_080E62F0: .4byte 0xffffc144 -_080E62F4: - ldr r2, _080E6314 @ =gSaveBlock2Ptr - ldr r0, [r2] - ldr r1, _080E6318 @ =0x0000055c - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - adds r1, r2, 0 - cmp r0, 0 - beq _080E6320 - ldr r2, _080E631C @ =gBattleTowerLevel100Mons - mov r10, r2 - movs r3, 0x64 - str r3, [sp, 0x10] - b _080E6328 - .align 2, 0 -_080E6314: .4byte gSaveBlock2Ptr -_080E6318: .4byte 0x0000055c -_080E631C: .4byte gBattleTowerLevel100Mons -_080E6320: - ldr r0, _080E6378 @ =gBattleTowerLevel50Mons - mov r10, r0 - movs r2, 0x32 - str r2, [sp, 0x10] -_080E6328: - ldr r2, _080E637C @ =gBattleTowerTrainers - ldr r0, [r1] - ldr r3, _080E6380 @ =0x0000056c - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x4] - str r0, [sp, 0x20] - movs r6, 0 -_080E6340: - bl Random - movs r1, 0xFF - ands r1, r0 - ldr r2, [sp, 0x1C] - adds r0, r1, 0 - muls r0, r2 - asrs r0, 8 - ldr r3, [sp, 0x18] - adds r7, r0, r3 - ldr r0, [sp, 0x20] - cmp r0, 0 - beq _080E636A - lsls r0, r7, 4 - add r0, r10 - ldrb r0, [r0, 0x3] - ldr r1, [sp, 0x20] - ands r0, r1 - cmp r0, r1 - beq _080E636A - b _080E64A0 -_080E636A: - movs r5, 0 - lsls r0, r7, 4 - mov r2, r10 - adds r3, r0, r2 - movs r4, 0 - b _080E6388 - .align 2, 0 -_080E6378: .4byte gBattleTowerLevel50Mons -_080E637C: .4byte gBattleTowerTrainers -_080E6380: .4byte 0x0000056c -_080E6384: - adds r4, 0x64 - adds r5, 0x1 -_080E6388: - cmp r5, r6 - bge _080E63A2 - ldr r1, _080E64B8 @ =gEnemyParty - adds r0, r4, r1 - movs r1, 0xB - movs r2, 0 - str r3, [sp, 0x24] - bl GetMonData - ldr r3, [sp, 0x24] - ldrh r2, [r3] - cmp r0, r2 - bne _080E6384 -_080E63A2: - cmp r5, r6 - bne _080E64A0 - movs r5, 0 - cmp r5, r6 - bge _080E63F0 - ldr r3, _080E64BC @ =sBattleTowerHeldItems - mov r9, r3 - lsls r0, r7, 4 - add r0, r10 - mov r8, r0 - movs r3, 0 -_080E63B8: - ldr r0, _080E64B8 @ =gEnemyParty - adds r4, r3, r0 - adds r0, r4, 0 - movs r1, 0xC - movs r2, 0 - str r3, [sp, 0x24] - bl GetMonData - ldr r3, [sp, 0x24] - cmp r0, 0 - beq _080E63E8 - adds r0, r4, 0 - movs r1, 0xC - movs r2, 0 - bl GetMonData - mov r2, r8 - ldrb r1, [r2, 0x2] - lsls r1, 1 - add r1, r9 - ldr r3, [sp, 0x24] - ldrh r1, [r1] - cmp r0, r1 - beq _080E63F0 -_080E63E8: - adds r3, 0x64 - adds r5, 0x1 - cmp r5, r6 - blt _080E63B8 -_080E63F0: - cmp r5, r6 - bne _080E64A0 - movs r5, 0 - cmp r5, r6 - bge _080E6412 - add r0, sp, 0x4 - ldrh r0, [r0] - cmp r0, r7 - beq _080E6412 - add r1, sp, 0x4 -_080E6404: - adds r1, 0x2 - adds r5, 0x1 - cmp r5, r6 - bge _080E6412 - ldrh r0, [r1] - cmp r0, r7 - bne _080E6404 -_080E6412: - cmp r5, r6 - bne _080E64A0 - lsls r0, r6, 1 - add r0, sp - adds r0, 0x4 - strh r7, [r0] - movs r3, 0x64 - adds r0, r6, 0 - muls r0, r3 - ldr r1, _080E64B8 @ =gEnemyParty - adds r0, r1 - lsls r4, r7, 4 - mov r3, r10 - adds r2, r4, r3 - ldrh r1, [r2] - ldrb r2, [r2, 0xC] - str r2, [sp] - ldr r2, [sp, 0x10] - ldr r3, [sp, 0x14] - bl CreateMonWithEVSpread - movs r5, 0 - adds r0, r6, 0x1 - mov r9, r0 - mov r8, r4 - movs r0, 0x64 - adds r7, r6, 0 - muls r7, r0 - mov r0, r10 - adds r0, 0x4 - adds r4, r0 - ldr r3, _080E64B8 @ =gEnemyParty -_080E6452: - ldrh r1, [r4] - lsls r2, r5, 24 - lsrs r2, 24 - adds r0, r7, r3 - str r3, [sp, 0x24] - bl SetMonMoveSlot - ldrh r0, [r4] - ldr r3, [sp, 0x24] - cmp r0, 0xDA - bne _080E646E - movs r0, 0 - mov r1, sp - strb r0, [r1, 0xC] -_080E646E: - adds r4, 0x2 - adds r5, 0x1 - cmp r5, 0x3 - ble _080E6452 - movs r2, 0x64 - adds r4, r6, 0 - muls r4, r2 - ldr r3, _080E64B8 @ =gEnemyParty - adds r4, r3 - adds r0, r4, 0 - movs r1, 0x20 - add r2, sp, 0xC - bl SetMonData - mov r0, r8 - add r0, r10 - ldrb r2, [r0, 0x2] - lsls r2, 1 - ldr r0, _080E64BC @ =sBattleTowerHeldItems - adds r2, r0 - adds r0, r4, 0 - movs r1, 0xC - bl SetMonData - mov r6, r9 -_080E64A0: - cmp r6, 0x3 - beq _080E64A6 - b _080E6340 -_080E64A6: - add sp, 0x28 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E64B8: .4byte gEnemyParty -_080E64BC: .4byte sBattleTowerHeldItems - thumb_func_end sub_80E61DC - - thumb_func_start sub_80E64C0 -sub_80E64C0: @ 80E64C0 - push {r4-r6,lr} - lsls r0, 16 - lsrs r0, 16 - adds r5, r0, 0 - lsls r1, 24 - lsrs r4, r1, 24 - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - bl GetSetPokedexFlag - lsls r0, 24 - cmp r0, 0 - beq _080E6554 - cmp r4, 0 - bne _080E64EC - ldr r0, _080E6514 @ =gStringVar1 - ldr r1, _080E6518 @ =gUnknown_83FE859 - bl StringAppend -_080E64EC: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r6, _080E6514 @ =gStringVar1 - movs r0, 0xB - adds r1, r5, 0 - muls r1, r0 - ldr r0, _080E651C @ =gSpeciesNames - adds r1, r0 - adds r0, r6, 0 - bl StringAppend - cmp r4, 0x5 - beq _080E6538 - cmp r4, 0x5 - bgt _080E6520 - cmp r4, 0x2 - beq _080E652A - b _080E654C - .align 2, 0 -_080E6514: .4byte gStringVar1 -_080E6518: .4byte gUnknown_83FE859 -_080E651C: .4byte gSpeciesNames -_080E6520: - cmp r4, 0x8 - beq _080E6538 - cmp r4, 0xB - beq _080E6538 - b _080E654C -_080E652A: - ldr r1, _080E6534 @ =gUnknown_83FE85E - adds r0, r6, 0 - bl StringAppend - b _080E6554 - .align 2, 0 -_080E6534: .4byte gUnknown_83FE85E -_080E6538: - ldr r0, _080E6544 @ =gStringVar1 - ldr r1, _080E6548 @ =gUnknown_83FE85C - bl StringAppend - b _080E6554 - .align 2, 0 -_080E6544: .4byte gStringVar1 -_080E6548: .4byte gUnknown_83FE85C -_080E654C: - ldr r0, _080E655C @ =gStringVar1 - ldr r1, _080E6560 @ =gUnknown_83FE859 - bl StringAppend -_080E6554: - adds r0, r4, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080E655C: .4byte gStringVar1 -_080E6560: .4byte gUnknown_83FE859 - thumb_func_end sub_80E64C0 - - thumb_func_start sub_80E6564 -sub_80E6564: @ 80E6564 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r2, [sp, 0x20] - ldr r4, [sp, 0x24] - mov r9, r4 - ldr r4, [sp, 0x28] - mov r10, r4 - ldr r7, [sp, 0x2C] - lsls r0, 16 - lsrs r4, r0, 16 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r3, 24 - lsrs r3, 24 - mov r12, r3 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - movs r2, 0 - movs r0, 0xCE - lsls r0, 1 - cmp r4, r0 - beq _080E6632 - cmp r4, 0 - beq _080E6632 - ldr r0, _080E6640 @ =gBattleTowerBannedSpecies - ldrh r1, [r0] - ldr r5, _080E6644 @ =0x0000ffff - adds r3, r0, 0 - cmp r1, r5 - beq _080E65C8 - cmp r1, r4 - beq _080E65BC - adds r1, r3, 0 -_080E65AE: - adds r1, 0x2 - adds r2, 0x1 - ldrh r0, [r1] - cmp r0, r5 - beq _080E65C8 - cmp r0, r4 - bne _080E65AE -_080E65BC: - lsls r0, r2, 1 - adds r0, r3 - ldrh r1, [r0] - ldr r0, _080E6644 @ =0x0000ffff - cmp r1, r0 - bne _080E6632 -_080E65C8: - mov r0, r12 - cmp r0, 0 - bne _080E65D4 - mov r1, r8 - cmp r1, 0x32 - bhi _080E6632 -_080E65D4: - movs r2, 0 - ldrb r3, [r7] - cmp r2, r3 - bge _080E65F4 - mov r1, r9 - ldrh r0, [r1] - cmp r0, r4 - beq _080E65F4 - adds r5, r3, 0 -_080E65E6: - adds r1, 0x2 - adds r2, 0x1 - cmp r2, r5 - bge _080E65F4 - ldrh r0, [r1] - cmp r0, r4 - bne _080E65E6 -_080E65F4: - cmp r2, r3 - bne _080E6632 - cmp r6, 0 - beq _080E661E - movs r2, 0 - cmp r2, r3 - bge _080E661A - mov r1, r10 - ldrh r0, [r1] - cmp r0, r6 - beq _080E661A - adds r5, r3, 0 -_080E660C: - adds r1, 0x2 - adds r2, 0x1 - cmp r2, r5 - bge _080E661A - ldrh r0, [r1] - cmp r0, r6 - bne _080E660C -_080E661A: - cmp r2, r3 - bne _080E6632 -_080E661E: - lsls r0, r3, 1 - add r0, r9 - strh r4, [r0] - ldrb r0, [r7] - lsls r0, 1 - add r0, r10 - strh r6, [r0] - ldrb r0, [r7] - adds r0, 0x1 - strb r0, [r7] -_080E6632: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E6640: .4byte gBattleTowerBannedSpecies -_080E6644: .4byte 0x0000ffff - thumb_func_end sub_80E6564 - - thumb_func_start CheckPartyBattleTowerBanlist -CheckPartyBattleTowerBanlist: @ 80E6648 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x2C - add r1, sp, 0x28 - movs r0, 0 - strb r0, [r1] - movs r7, 0 - mov r9, r1 - add r0, sp, 0x1C - mov r10, r0 -_080E6662: - movs r0, 0x64 - adds r5, r7, 0 - muls r5, r0 - ldr r0, _080E6724 @ =gPlayerParty - adds r5, r0 - adds r0, r5, 0 - movs r1, 0x41 - bl GetMonData - mov r8, r0 - mov r1, r8 - lsls r1, 16 - lsrs r1, 16 - mov r8, r1 - adds r0, r5, 0 - movs r1, 0xC - bl GetMonData - adds r6, r0, 0 - lsls r6, 16 - lsrs r6, 16 - adds r0, r5, 0 - movs r1, 0x38 - bl GetMonData - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x39 - bl GetMonData - adds r2, r0, 0 - lsls r2, 16 - lsrs r2, 16 - ldr r5, _080E6728 @ =gSpecialVar_Result - ldrb r3, [r5] - str r4, [sp] - add r0, sp, 0x10 - str r0, [sp, 0x4] - mov r1, r10 - str r1, [sp, 0x8] - mov r0, r9 - str r0, [sp, 0xC] - mov r0, r8 - adds r1, r6, 0 - bl sub_80E6564 - adds r7, 0x1 - cmp r7, 0x5 - ble _080E6662 - mov r1, r9 - ldrb r0, [r1] - cmp r0, 0x2 - bhi _080E6750 - ldr r1, _080E672C @ =gStringVar1 - movs r0, 0xFF - strb r0, [r1] - ldr r1, _080E6730 @ =gSpecialVar_0x8004 - movs r0, 0x1 - strh r0, [r1] - movs r0, 0 - mov r1, r9 - strb r0, [r1] - ldr r2, _080E6734 @ =gBattleTowerBannedSpecies - ldrh r0, [r2] - ldr r1, _080E6738 @ =0x0000ffff - cmp r0, r1 - beq _080E6704 - mov r5, r9 - adds r6, r1, 0 - adds r4, r2, 0 -_080E66F2: - ldrh r0, [r4] - ldrb r1, [r5] - bl sub_80E64C0 - strb r0, [r5] - adds r4, 0x2 - ldrh r0, [r4] - cmp r0, r6 - bne _080E66F2 -_080E6704: - ldr r4, _080E672C @ =gStringVar1 - adds r0, r4, 0 - bl StringLength - lsls r0, 16 - lsrs r7, r0, 16 - subs r0, r7, 0x1 - adds r0, r4 - movs r1, 0xFF - strb r1, [r0] - mov r1, r9 - ldrb r0, [r1] - cmp r0, 0x2 - bhi _080E6740 - ldr r1, _080E673C @ =gUnknown_83FE860 - b _080E6742 - .align 2, 0 -_080E6724: .4byte gPlayerParty -_080E6728: .4byte gSpecialVar_Result -_080E672C: .4byte gStringVar1 -_080E6730: .4byte gSpecialVar_0x8004 -_080E6734: .4byte gBattleTowerBannedSpecies -_080E6738: .4byte 0x0000ffff -_080E673C: .4byte gUnknown_83FE860 -_080E6740: - ldr r1, _080E674C @ =gUnknown_83FE864 -_080E6742: - adds r0, r4, 0 - bl StringAppend - b _080E6770 - .align 2, 0 -_080E674C: .4byte gUnknown_83FE864 -_080E6750: - ldr r1, _080E6780 @ =gSpecialVar_0x8004 - movs r0, 0 - strh r0, [r1] - ldr r0, _080E6784 @ =gSaveBlock2Ptr - ldr r2, [r0] - ldrb r0, [r5] - ldr r1, _080E6788 @ =0x0000055c - adds r2, r1 - movs r1, 0x1 - ands r1, r0 - ldrb r3, [r2] - movs r0, 0x2 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] -_080E6770: - add sp, 0x2C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E6780: .4byte gSpecialVar_0x8004 -_080E6784: .4byte gSaveBlock2Ptr -_080E6788: .4byte 0x0000055c - thumb_func_end CheckPartyBattleTowerBanlist - - thumb_func_start sub_80E678C -sub_80E678C: @ 80E678C - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x3 - movs r2, 0x2 - movs r3, 0x12 - bl EC_DoesEasyChatStringFitOnLine - lsls r0, 24 - cmp r0, 0 - beq _080E67E4 - ldr r5, _080E67E0 @ =gStringVar4 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x2 - movs r3, 0x3 - bl ConvertEasyChatWordsToString - ldrb r0, [r5] - movs r1, 0x1 - cmp r0, 0xFE - beq _080E67C2 - adds r2, r5, 0 -_080E67B8: - adds r0, r1, r2 - ldrb r0, [r0] - adds r1, 0x1 - cmp r0, 0xFE - bne _080E67B8 -_080E67C2: - ldr r2, _080E67E0 @ =gStringVar4 - adds r0, r1, r2 - ldrb r0, [r0] - adds r3, r2, 0 - cmp r0, 0xFE - beq _080E67D8 -_080E67CE: - adds r1, 0x1 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0xFE - bne _080E67CE -_080E67D8: - adds r1, r3 - movs r0, 0xFA - strb r0, [r1] - b _080E67F0 - .align 2, 0 -_080E67E0: .4byte gStringVar4 -_080E67E4: - ldr r0, _080E67F8 @ =gStringVar4 - adds r1, r4, 0 - movs r2, 0x3 - movs r3, 0x2 - bl ConvertEasyChatWordsToString -_080E67F0: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E67F8: .4byte gStringVar4 - thumb_func_end sub_80E678C - - thumb_func_start PrintBattleTowerTrainerGreeting -PrintBattleTowerTrainerGreeting: @ 80E67FC - push {lr} - ldr r0, _080E6818 @ =gSaveBlock2Ptr - ldr r2, [r0] - ldr r1, _080E681C @ =0x0000056c - adds r0, r2, r1 - ldrb r1, [r0] - cmp r1, 0xC8 - bne _080E6820 - movs r1, 0x96 - lsls r1, 3 - adds r0, r2, r1 - bl sub_80E678C - b _080E684C - .align 2, 0 -_080E6818: .4byte gSaveBlock2Ptr -_080E681C: .4byte 0x0000056c -_080E6820: - cmp r1, 0x63 - bhi _080E683C - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E6838 @ =gBattleTowerTrainers + 6 - adds r0, r1 - bl sub_80E678C - b _080E684C - .align 2, 0 -_080E6838: .4byte gBattleTowerTrainers + 6 -_080E683C: - ldrb r1, [r0] - movs r0, 0xA4 - muls r0, r1 - adds r0, r2 - ldr r1, _080E6850 @ =0xffffc154 - adds r0, r1 - bl sub_80E678C -_080E684C: - pop {r0} - bx r0 - .align 2, 0 -_080E6850: .4byte 0xffffc154 - thumb_func_end PrintBattleTowerTrainerGreeting - - thumb_func_start sub_80E6854 -sub_80E6854: @ 80E6854 - push {r4-r6,lr} - sub sp, 0x4 - ldr r0, _080E686C @ =gUnknown_203AAB8 - ldrh r0, [r0] - cmp r0, 0x1 - beq _080E6870 - cmp r0, 0x1 - ble _080E68B0 - cmp r0, 0x2 - beq _080E68AC - b _080E68B0 - .align 2, 0 -_080E686C: .4byte gUnknown_203AAB8 -_080E6870: - movs r5, 0 - ldr r6, _080E68A4 @ =gSaveBlock1Ptr -_080E6874: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - adds r1, r4, 0 - adds r1, 0x38 - ldr r0, [r6] - adds r0, r1 - movs r1, 0xC - bl GetMonData - mov r1, sp - strh r0, [r1] - ldr r0, _080E68A8 @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0xC - mov r2, sp - bl SetMonData - adds r5, 0x1 - cmp r5, 0x5 - ble _080E6874 - b _080E68B0 - .align 2, 0 -_080E68A4: .4byte gSaveBlock1Ptr -_080E68A8: .4byte gPlayerParty -_080E68AC: - bl sub_80E7550 -_080E68B0: - ldr r0, _080E68C0 @ =CB2_ReturnToFieldContinueScriptPlayMapMusic - bl SetMainCallback2 - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080E68C0: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic - thumb_func_end sub_80E6854 - - thumb_func_start sub_80E68C4 -sub_80E68C4: @ 80E68C4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl BT_IsDone - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080E68EC - ldr r0, _080E68F4 @ =gMain - ldr r1, _080E68F8 @ =sub_80E6854 - str r1, [r0, 0x8] - bl CleanupOverworldWindowsAndTilemaps - ldr r0, _080E68FC @ =CB2_InitBattle - bl SetMainCallback2 - adds r0, r4, 0 - bl DestroyTask -_080E68EC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E68F4: .4byte gMain -_080E68F8: .4byte sub_80E6854 -_080E68FC: .4byte CB2_InitBattle - thumb_func_end sub_80E68C4 - - thumb_func_start StartSpecialBattle -StartSpecialBattle: @ 80E6900 - push {r4-r6,lr} - sub sp, 0x4 - ldr r0, _080E691C @ =gUnknown_203AAB8 - ldr r1, _080E6920 @ =gSpecialVar_0x8004 - ldrh r1, [r1] - strh r1, [r0] - ldrh r2, [r0] - cmp r2, 0x1 - beq _080E6944 - cmp r2, 0x1 - bgt _080E6924 - cmp r2, 0 - beq _080E692A - b _080E69E6 - .align 2, 0 -_080E691C: .4byte gUnknown_203AAB8 -_080E6920: .4byte gSpecialVar_0x8004 -_080E6924: - cmp r2, 0x2 - beq _080E6998 - b _080E69E6 -_080E692A: - ldr r1, _080E693C @ =gBattleTypeFlags - movs r0, 0x84 - lsls r0, 1 - str r0, [r1] - ldr r0, _080E6940 @ =gTrainerBattleOpponent_A - strh r2, [r0] - bl sub_80E61DC - b _080E6970 - .align 2, 0 -_080E693C: .4byte gBattleTypeFlags -_080E6940: .4byte gTrainerBattleOpponent_A -_080E6944: - movs r5, 0 - ldr r6, _080E698C @ =gSaveBlock1Ptr -_080E6948: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _080E6990 @ =gPlayerParty - adds r0, r4, r0 - movs r1, 0xC - bl GetMonData - mov r1, sp - strh r0, [r1] - adds r4, 0x38 - ldr r0, [r6] - adds r0, r4 - movs r1, 0xC - mov r2, sp - bl SetMonData - adds r5, 0x1 - cmp r5, 0x5 - ble _080E6948 -_080E6970: - ldr r0, _080E6994 @ =sub_80E68C4 - movs r1, 0x1 - bl CreateTask - movs r0, 0 - bl PlayMapChosenOrBattleBGM - bl BattleSetup_GetBattleTowerBattleTransition - lsls r0, 24 - lsrs r0, 24 - bl BT_StartOnField - b _080E69E6 - .align 2, 0 -_080E698C: .4byte gSaveBlock1Ptr -_080E6990: .4byte gPlayerParty -_080E6994: .4byte sub_80E68C4 -_080E6998: - bl ZeroEnemyPartyMons - movs r5, 0 - ldr r4, _080E69F0 @ =gSaveBlock2Ptr -_080E69A0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080E69F4 @ =gEnemyParty - adds r0, r1 - movs r1, 0x2C - adds r2, r5, 0 - muls r2, r1 - ldr r1, _080E69F8 @ =0x000004d4 - adds r2, r1 - ldr r1, [r4] - adds r1, r2 - bl CreateBattleTowerMon - adds r5, 0x1 - cmp r5, 0x2 - ble _080E69A0 - ldr r1, _080E69FC @ =gBattleTypeFlags - ldr r0, _080E6A00 @ =0x00000808 - str r0, [r1] - ldr r1, _080E6A04 @ =gTrainerBattleOpponent_A - movs r0, 0 - strh r0, [r1] - ldr r0, _080E6A08 @ =sub_80E68C4 - movs r1, 0x1 - bl CreateTask - movs r0, 0 - bl PlayMapChosenOrBattleBGM - bl BattleSetup_GetBattleTowerBattleTransition - lsls r0, 24 - lsrs r0, 24 - bl BT_StartOnField -_080E69E6: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080E69F0: .4byte gSaveBlock2Ptr -_080E69F4: .4byte gEnemyParty -_080E69F8: .4byte 0x000004d4 -_080E69FC: .4byte gBattleTypeFlags -_080E6A00: .4byte 0x00000808 -_080E6A04: .4byte gTrainerBattleOpponent_A -_080E6A08: .4byte sub_80E68C4 - thumb_func_end StartSpecialBattle - - thumb_func_start SetBattleTowerProperty -SetBattleTowerProperty: @ 80E6A0C - push {r4-r6,lr} - ldr r1, _080E6A34 @ =gSaveBlock2Ptr - ldr r0, [r1] - ldr r2, _080E6A38 @ =0x0000055c - adds r0, r2 - ldrb r0, [r0] - lsls r0, 31 - lsrs r5, r0, 31 - ldr r0, _080E6A3C @ =gSpecialVar_0x8004 - ldrh r0, [r0] - adds r6, r1, 0 - cmp r0, 0xE - bls _080E6A28 - b _080E6C80 -_080E6A28: - lsls r0, 2 - ldr r1, _080E6A40 @ =_080E6A44 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E6A34: .4byte gSaveBlock2Ptr -_080E6A38: .4byte 0x0000055c -_080E6A3C: .4byte gSpecialVar_0x8004 -_080E6A40: .4byte _080E6A44 - .align 2, 0 -_080E6A44: - .4byte _080E6A80 - .4byte _080E6AAC - .4byte _080E6AD0 - .4byte _080E6AE4 - .4byte _080E6AFC - .4byte _080E6B14 - .4byte _080E6B3C - .4byte _080E6BA4 - .4byte _080E6BD8 - .4byte _080E6C80 - .4byte _080E6C00 - .4byte _080E6C14 - .4byte _080E6C30 - .4byte _080E6C4C - .4byte _080E6C6C -_080E6A80: - ldr r0, _080E6AA0 @ =gBattleStruct - ldr r1, [r0] - adds r1, 0xDA - ldr r0, [r6] - ldr r2, _080E6AA4 @ =0x0000055e - adds r0, r2 - adds r0, r5 - ldrb r0, [r0] - strb r0, [r1] - ldr r0, [r6] - adds r0, r2 - adds r0, r5 - ldr r1, _080E6AA8 @ =gSpecialVar_0x8005 - ldrh r1, [r1] - strb r1, [r0] - b _080E6C80 - .align 2, 0 -_080E6AA0: .4byte gBattleStruct -_080E6AA4: .4byte 0x0000055e -_080E6AA8: .4byte gSpecialVar_0x8005 -_080E6AAC: - ldr r2, [r6] - ldr r0, _080E6AC8 @ =gSpecialVar_0x8005 - ldrb r0, [r0] - ldr r3, _080E6ACC @ =0x0000055c - adds r2, r3 - movs r1, 0x1 - ands r1, r0 - ldrb r3, [r2] - movs r0, 0x2 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] - b _080E6C80 - .align 2, 0 -_080E6AC8: .4byte gSpecialVar_0x8005 -_080E6ACC: .4byte 0x0000055c -_080E6AD0: - ldr r0, [r6] - lsls r1, r5, 1 - movs r2, 0xAC - lsls r2, 3 - adds r0, r2 - adds r0, r1 - ldr r1, _080E6AE0 @ =gSpecialVar_0x8005 - b _080E6BC6 - .align 2, 0 -_080E6AE0: .4byte gSpecialVar_0x8005 -_080E6AE4: - ldr r0, [r6] - lsls r1, r5, 1 - ldr r3, _080E6AF4 @ =0x00000564 - adds r0, r3 - adds r0, r1 - ldr r1, _080E6AF8 @ =gSpecialVar_0x8005 - b _080E6BC6 - .align 2, 0 -_080E6AF4: .4byte 0x00000564 -_080E6AF8: .4byte gSpecialVar_0x8005 -_080E6AFC: - ldr r0, [r6] - ldr r1, _080E6B0C @ =gSpecialVar_0x8005 - ldrh r1, [r1] - ldr r2, _080E6B10 @ =0x0000056c - adds r0, r2 - strb r1, [r0] - b _080E6C80 - .align 2, 0 -_080E6B0C: .4byte gSpecialVar_0x8005 -_080E6B10: .4byte 0x0000056c -_080E6B14: - movs r2, 0 - ldr r5, _080E6B30 @ =gSaveBlock2Ptr - ldr r4, _080E6B34 @ =0x0000056d - ldr r3, _080E6B38 @ =gUnknown_203B0D4 -_080E6B1C: - ldr r0, [r5] - adds r0, r4 - adds r0, r2 - adds r1, r2, r3 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0x2 - ble _080E6B1C - b _080E6C80 - .align 2, 0 -_080E6B30: .4byte gSaveBlock2Ptr -_080E6B34: .4byte 0x0000056d -_080E6B38: .4byte gUnknown_203B0D4 -_080E6B3C: - ldr r1, [r6] - ldr r3, _080E6B94 @ =0x0000056c - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, 0xC8 - bne _080E6B52 - movs r2, 0x94 - lsls r2, 3 - adds r0, r1, r2 - bl sub_80E7524 -_080E6B52: - ldr r0, [r6] - movs r3, 0xAF - lsls r3, 3 - adds r2, r0, r3 - ldrh r1, [r2] - ldr r0, _080E6B98 @ =0x0000270e - cmp r1, r0 - bhi _080E6B66 - adds r0, r1, 0x1 - strh r0, [r2] -_080E6B66: - ldr r1, [r6] - lsls r5, 1 - movs r4, 0xAC - lsls r4, 3 - adds r1, r4 - adds r1, r5 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - bl sub_80E6E48 - ldr r1, _080E6B9C @ =gSpecialVar_Result - ldr r0, [r6] - adds r0, r4 - adds r0, r5 - ldrh r0, [r0] - strh r0, [r1] - ldr r1, _080E6BA0 @ =gStringVar1 - adds r0, 0xA1 - strb r0, [r1] - movs r0, 0xFF - strb r0, [r1, 0x1] - b _080E6C80 - .align 2, 0 -_080E6B94: .4byte 0x0000056c -_080E6B98: .4byte 0x0000270e -_080E6B9C: .4byte gSpecialVar_Result -_080E6BA0: .4byte gStringVar1 -_080E6BA4: - ldr r0, [r6] - lsls r5, 1 - ldr r4, _080E6BCC @ =0x00000564 - adds r0, r4 - adds r2, r0, r5 - ldrh r1, [r2] - ldr r0, _080E6BD0 @ =0x00000595 - cmp r1, r0 - bhi _080E6BBA - adds r0, r1, 0x1 - strh r0, [r2] -_080E6BBA: - bl sub_80E6E48 - ldr r0, _080E6BD4 @ =gSpecialVar_Result - ldr r1, [r6] - adds r1, r4 - adds r1, r5 -_080E6BC6: - ldrh r1, [r1] - strh r1, [r0] - b _080E6C80 - .align 2, 0 -_080E6BCC: .4byte 0x00000564 -_080E6BD0: .4byte 0x00000595 -_080E6BD4: .4byte gSpecialVar_Result -_080E6BD8: - ldr r3, [r6] - ldr r0, _080E6BF8 @ =gSpecialVar_0x8005 - ldrb r0, [r0] - ldr r1, _080E6BFC @ =0x0000055c - adds r3, r1 - movs r1, 0x1 - ands r1, r0 - lsls r1, 1 - ldrb r2, [r3] - movs r0, 0x3 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - b _080E6C80 - .align 2, 0 -_080E6BF8: .4byte gSpecialVar_0x8005 -_080E6BFC: .4byte 0x0000055c -_080E6C00: - ldr r0, [r6] - ldr r2, _080E6C10 @ =0x0000057a - adds r0, r2 - ldrh r1, [r0] - movs r0, 0x20 - bl SetGameStat - b _080E6C80 - .align 2, 0 -_080E6C10: .4byte 0x0000057a -_080E6C14: - ldr r0, [r6] - ldr r3, _080E6C2C @ =0x0000055e - adds r0, r3 - adds r0, r5 - ldrb r0, [r0] - cmp r0, 0x3 - beq _080E6C80 - adds r0, r5, 0 - bl sub_80E5A38 - b _080E6C80 - .align 2, 0 -_080E6C2C: .4byte 0x0000055e -_080E6C30: - ldr r1, [r6] - ldr r0, _080E6C44 @ =0x0000055e - adds r1, r0 - adds r1, r5 - ldr r0, _080E6C48 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0xDA - ldrb r0, [r0] - b _080E6C7E - .align 2, 0 -_080E6C44: .4byte 0x0000055e -_080E6C48: .4byte gBattleStruct -_080E6C4C: - adds r0, r5, 0 - bl sub_80E7188 - ldr r1, _080E6C64 @ =gSaveBlock2Ptr - ldr r1, [r1] - lsls r2, r5, 1 - ldr r3, _080E6C68 @ =0x0000057c - adds r1, r3 - adds r1, r2 - strh r0, [r1] - b _080E6C80 - .align 2, 0 -_080E6C64: .4byte gSaveBlock2Ptr -_080E6C68: .4byte 0x0000057c -_080E6C6C: - ldr r1, [r6] - ldr r2, _080E6C88 @ =0x0000055c - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, 31 - lsrs r0, 31 - movs r3, 0xB0 - lsls r3, 3 - adds r1, r3 -_080E6C7E: - strb r0, [r1] -_080E6C80: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080E6C88: .4byte 0x0000055c - thumb_func_end SetBattleTowerProperty - - thumb_func_start BattleTowerUtil -BattleTowerUtil: @ 80E6C8C - push {r4,lr} - ldr r1, _080E6CB4 @ =gSaveBlock2Ptr - ldr r0, [r1] - ldr r2, _080E6CB8 @ =0x0000055c - adds r0, r2 - ldrb r0, [r0] - lsls r0, 31 - lsrs r4, r0, 31 - ldr r0, _080E6CBC @ =gSpecialVar_0x8004 - ldrh r0, [r0] - adds r3, r1, 0 - cmp r0, 0xE - bls _080E6CA8 - b _080E6E08 -_080E6CA8: - lsls r0, 2 - ldr r1, _080E6CC0 @ =_080E6CC4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E6CB4: .4byte gSaveBlock2Ptr -_080E6CB8: .4byte 0x0000055c -_080E6CBC: .4byte gSpecialVar_0x8004 -_080E6CC0: .4byte _080E6CC4 - .align 2, 0 -_080E6CC4: - .4byte _080E6D00 - .4byte _080E6D14 - .4byte _080E6D2C - .4byte _080E6D3C - .4byte _080E6D58 - .4byte _080E6E08 - .4byte _080E6E08 - .4byte _080E6E08 - .4byte _080E6D70 - .4byte _080E6D8C - .4byte _080E6D9C - .4byte _080E6DB0 - .4byte _080E6DB8 - .4byte _080E6DD4 - .4byte _080E6DF4 -_080E6D00: - ldr r0, _080E6D0C @ =gSpecialVar_Result - ldr r1, [r3] - ldr r3, _080E6D10 @ =0x0000055e - adds r1, r3 - adds r1, r4 - b _080E6D60 - .align 2, 0 -_080E6D0C: .4byte gSpecialVar_Result -_080E6D10: .4byte 0x0000055e -_080E6D14: - ldr r0, _080E6D24 @ =gSpecialVar_Result - ldr r1, [r3] - ldr r2, _080E6D28 @ =0x0000055c - adds r1, r2 - ldrb r1, [r1] - lsls r1, 31 - b _080E6D7C - .align 2, 0 -_080E6D24: .4byte gSpecialVar_Result -_080E6D28: .4byte 0x0000055c -_080E6D2C: - ldr r2, _080E6D38 @ =gSpecialVar_Result - ldr r0, [r3] - lsls r1, r4, 1 - movs r3, 0xAC - lsls r3, 3 - b _080E6D44 - .align 2, 0 -_080E6D38: .4byte gSpecialVar_Result -_080E6D3C: - ldr r2, _080E6D50 @ =gSpecialVar_Result - ldr r0, [r3] - lsls r1, r4, 1 - ldr r3, _080E6D54 @ =0x00000564 -_080E6D44: - adds r0, r3 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r2] - b _080E6E08 - .align 2, 0 -_080E6D50: .4byte gSpecialVar_Result -_080E6D54: .4byte 0x00000564 -_080E6D58: - ldr r0, _080E6D68 @ =gSpecialVar_Result - ldr r1, [r3] - ldr r2, _080E6D6C @ =0x0000056c - adds r1, r2 -_080E6D60: - ldrb r1, [r1] - strh r1, [r0] - b _080E6E08 - .align 2, 0 -_080E6D68: .4byte gSpecialVar_Result -_080E6D6C: .4byte 0x0000056c -_080E6D70: - ldr r0, _080E6D84 @ =gSpecialVar_Result - ldr r1, [r3] - ldr r3, _080E6D88 @ =0x0000055c - adds r1, r3 - ldrb r1, [r1] - lsls r1, 30 -_080E6D7C: - lsrs r1, 31 - strh r1, [r0] - b _080E6E08 - .align 2, 0 -_080E6D84: .4byte gSpecialVar_Result -_080E6D88: .4byte 0x0000055c -_080E6D8C: - adds r0, r4, 0 - bl sub_80E7188 - ldr r1, _080E6D98 @ =gSpecialVar_Result - strh r0, [r1] - b _080E6E08 - .align 2, 0 -_080E6D98: .4byte gSpecialVar_Result -_080E6D9C: - ldr r0, [r3] - ldr r1, _080E6DAC @ =0x0000057a - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x20 - bl SetGameStat - b _080E6E08 - .align 2, 0 -_080E6DAC: .4byte 0x0000057a -_080E6DB0: - adds r0, r4, 0 - bl sub_80E5A38 - b _080E6E08 -_080E6DB8: - ldr r1, [r3] - ldr r2, _080E6DCC @ =0x0000055e - adds r1, r2 - adds r1, r4 - ldr r0, _080E6DD0 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0xDA - ldrb r0, [r0] - b _080E6E06 - .align 2, 0 -_080E6DCC: .4byte 0x0000055e -_080E6DD0: .4byte gBattleStruct -_080E6DD4: - adds r0, r4, 0 - bl sub_80E7188 - ldr r1, _080E6DEC @ =gSaveBlock2Ptr - ldr r1, [r1] - lsls r2, r4, 1 - ldr r3, _080E6DF0 @ =0x0000057c - adds r1, r3 - adds r1, r2 - strh r0, [r1] - b _080E6E08 - .align 2, 0 -_080E6DEC: .4byte gSaveBlock2Ptr -_080E6DF0: .4byte 0x0000057c -_080E6DF4: - ldr r1, [r3] - ldr r2, _080E6E10 @ =0x0000055c - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, 31 - lsrs r0, 31 - movs r3, 0xB0 - lsls r3, 3 - adds r1, r3 -_080E6E06: - strb r0, [r1] -_080E6E08: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E6E10: .4byte 0x0000055c - thumb_func_end BattleTowerUtil - - thumb_func_start SetBattleTowerParty -SetBattleTowerParty: @ 80E6E14 - push {r4,r5,lr} - movs r2, 0 - ldr r5, _080E6E3C @ =gUnknown_203B0D4 - ldr r4, _080E6E40 @ =gSaveBlock2Ptr - ldr r3, _080E6E44 @ =0x0000056d -_080E6E1E: - adds r0, r2, r5 - ldr r1, [r4] - adds r1, r3 - adds r1, r2 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0x2 - ble _080E6E1E - bl ReducePlayerPartyToThree - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E6E3C: .4byte gUnknown_203B0D4 -_080E6E40: .4byte gSaveBlock2Ptr -_080E6E44: .4byte 0x0000056d - thumb_func_end SetBattleTowerParty - - thumb_func_start sub_80E6E48 -sub_80E6E48: @ 80E6E48 - push {r4-r6,lr} - ldr r6, _080E6E98 @ =gSaveBlock2Ptr - ldr r0, [r6] - ldr r1, _080E6E9C @ =0x0000055c - adds r0, r1 - ldrb r4, [r0] - lsls r4, 31 - lsrs r4, 31 - adds r0, r4, 0 - bl sub_80E7188 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, [r6] - lsls r4, 1 - movs r2, 0xAD - lsls r2, 3 - adds r0, r2 - adds r1, r0, r4 - ldrh r0, [r1] - cmp r0, r5 - bcs _080E6E76 - strh r5, [r1] -_080E6E76: - ldr r0, [r6] - adds r2, r0, r2 - ldr r3, _080E6EA0 @ =0x0000056a - adds r1, r0, r3 - ldrh r0, [r2] - ldrh r3, [r1] - cmp r0, r3 - bls _080E6EA8 - adds r5, r0, 0 - movs r0, 0x20 - adds r1, r5, 0 - bl SetGameStat - ldr r1, _080E6EA4 @ =0x0000270f - cmp r5, r1 - bhi _080E6EB8 - b _080E6ECC - .align 2, 0 -_080E6E98: .4byte gSaveBlock2Ptr -_080E6E9C: .4byte 0x0000055c -_080E6EA0: .4byte 0x0000056a -_080E6EA4: .4byte 0x0000270f -_080E6EA8: - ldrh r5, [r1] - movs r0, 0x20 - adds r1, r5, 0 - bl SetGameStat - ldr r1, _080E6EC4 @ =0x0000270f - cmp r5, r1 - bls _080E6ECC -_080E6EB8: - ldr r0, [r6] - ldr r2, _080E6EC8 @ =0x0000057a - adds r0, r2 - strh r1, [r0] - b _080E6ED4 - .align 2, 0 -_080E6EC4: .4byte 0x0000270f -_080E6EC8: .4byte 0x0000057a -_080E6ECC: - ldr r0, [r6] - ldr r3, _080E6EDC @ =0x0000057a - adds r0, r3 - strh r5, [r0] -_080E6ED4: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080E6EDC: .4byte 0x0000057a - thumb_func_end sub_80E6E48 - - thumb_func_start sub_80E6EE0 -sub_80E6EE0: @ 80E6EE0 - push {r4-r6,lr} - ldr r0, _080E6F00 @ =gSaveBlock2Ptr - ldr r2, [r0] - adds r5, r2, 0 - adds r5, 0xB0 - ldr r1, _080E6F04 @ =0x0000055c - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, 31 - lsrs r6, r0, 31 - ldrb r0, [r2, 0x8] - cmp r0, 0 - beq _080E6F0C - ldr r4, _080E6F08 @ =sFemaleTrainerClasses - b _080E6F0E - .align 2, 0 -_080E6F00: .4byte gSaveBlock2Ptr -_080E6F04: .4byte 0x0000055c -_080E6F08: .4byte sFemaleTrainerClasses -_080E6F0C: - ldr r4, _080E6FA0 @ =sMaleTrainerClasses -_080E6F0E: - ldrb r0, [r2, 0xA] - ldrb r1, [r2, 0xB] - adds r0, r1 - ldrb r1, [r2, 0xC] - adds r0, r1 - ldrb r1, [r2, 0xD] - adds r0, r1 - movs r1, 0 - bl __umodsi3 - adds r0, r4 - ldrb r0, [r0] - strb r6, [r5] - strb r0, [r5, 0x1] - adds r0, r5, 0 - adds r0, 0xC - ldr r4, _080E6FA4 @ =gSaveBlock2Ptr - ldr r1, [r4] - adds r1, 0xA - bl CopyTrainerId - adds r0, r5, 0x4 - ldr r1, [r4] - bl StringCopy7 - adds r0, r6, 0 - bl sub_80E7188 - strh r0, [r5, 0x2] - movs r4, 0 - ldr r6, _080E6FA8 @ =gSaveBlock1Ptr - ldr r3, _080E6FAC @ =0x00002cac - adds r2, r5, 0 - adds r2, 0x10 -_080E6F52: - lsls r0, r4, 1 - ldr r1, [r6] - adds r1, r3 - adds r1, r0 - ldrh r0, [r1] - strh r0, [r2] - adds r2, 0x2 - adds r4, 0x1 - cmp r4, 0x5 - ble _080E6F52 - movs r4, 0 -_080E6F68: - ldr r6, _080E6FA4 @ =gSaveBlock2Ptr - ldr r0, [r6] - ldr r1, _080E6FB0 @ =0x0000056d - adds r0, r1 - adds r0, r4 - ldrb r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080E6FB4 @ =gEnemyParty + 500 @ &gEnemyParty[5] - adds r0, r1 - movs r1, 0x2C - muls r1, r4 - adds r1, 0x1C - adds r1, r5, r1 - bl sub_803E23C - adds r4, 0x1 - cmp r4, 0x2 - ble _080E6F68 - ldr r0, [r6] - adds r0, 0xB0 - bl SetBattleTowerRecordChecksum - bl sub_80E6E48 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080E6FA0: .4byte sMaleTrainerClasses -_080E6FA4: .4byte gSaveBlock2Ptr -_080E6FA8: .4byte gSaveBlock1Ptr -_080E6FAC: .4byte 0x00002cac -_080E6FB0: .4byte 0x0000056d -_080E6FB4: .4byte gEnemyParty + 500 @ &gEnemyParty[5] - thumb_func_end sub_80E6EE0 - - thumb_func_start SaveBattleTowerProgress -SaveBattleTowerProgress: @ 80E6FB8 - push {r4,r5,lr} - ldr r0, _080E703C @ =gSaveBlock2Ptr - ldr r1, [r0] - ldr r2, _080E7040 @ =0x0000055c - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, 31 - lsrs r5, r0, 31 - ldr r0, _080E7044 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0x3 - beq _080E6FD4 - cmp r0, 0 - bne _080E6FF2 -_080E6FD4: - lsls r2, r5, 1 - ldr r3, _080E7048 @ =0x00000564 - adds r0, r1, r3 - adds r0, r2 - ldrh r0, [r0] - cmp r0, 0x1 - bhi _080E6FEE - subs r3, 0x4 - adds r0, r1, r3 - adds r0, r2 - ldrh r0, [r0] - cmp r0, 0x1 - bls _080E6FF2 -_080E6FEE: - bl sub_80E6EE0 -_080E6FF2: - bl sub_80E712C - ldr r4, _080E703C @ =gSaveBlock2Ptr - ldr r0, [r4] - ldr r1, _080E704C @ =gBattleOutcome - ldrb r1, [r1] - ldr r2, _080E7050 @ =0x0000055d - adds r0, r2 - strb r1, [r0] - ldr r0, _080E7044 @ =gSpecialVar_0x8004 - ldrh r1, [r0] - cmp r1, 0x3 - beq _080E7016 - ldr r0, [r4] - ldr r3, _080E7054 @ =0x0000055e - adds r0, r3 - adds r0, r5 - strb r1, [r0] -_080E7016: - movs r0, 0x80 - lsls r0, 7 - movs r1, 0 - bl VarSet - ldr r1, [r4] - ldr r0, _080E7040 @ =0x0000055c - adds r1, r0 - ldrb r0, [r1] - movs r2, 0x2 - orrs r0, r2 - strb r0, [r1] - movs r0, 0x2 - bl TrySavingData - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E703C: .4byte gSaveBlock2Ptr -_080E7040: .4byte 0x0000055c -_080E7044: .4byte gSpecialVar_0x8004 -_080E7048: .4byte 0x00000564 -_080E704C: .4byte gBattleOutcome -_080E7050: .4byte 0x0000055d -_080E7054: .4byte 0x0000055e - thumb_func_end SaveBattleTowerProgress - - thumb_func_start BattleTower_SoftReset -BattleTower_SoftReset: @ 80E7058 - push {lr} - bl DoSoftReset - pop {r0} - bx r0 - thumb_func_end BattleTower_SoftReset - - thumb_func_start sub_80E7064 -sub_80E7064: @ 80E7064 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, _080E70F0 @ =gSaveBlock2Ptr - ldr r0, [r0] - movs r3, 0 - movs r2, 0 - adds r1, r0, 0 - adds r1, 0xB0 -_080E7076: - ldm r1!, {r0} - adds r3, r0 - adds r2, 0x1 - cmp r2, 0x27 - bls _080E7076 - ldr r5, _080E70F0 @ =gSaveBlock2Ptr - ldr r1, [r5] - movs r2, 0xA8 - lsls r2, 1 - adds r0, r1, r2 - ldr r0, [r0] - cmp r0, r3 - beq _080E7098 - adds r0, r1, 0 - adds r0, 0xB0 - bl ClearBattleTowerRecord -_080E7098: - movs r4, 0 - adds r7, r5, 0 - movs r6, 0xA4 - mov r8, r7 -_080E70A0: - adds r0, r4, 0 - muls r0, r6 - movs r3, 0xAA - lsls r3, 1 - adds r0, r3 - ldr r1, [r7] - movs r3, 0 - movs r2, 0 - adds r5, r4, 0x1 - adds r1, r0 -_080E70B4: - ldm r1!, {r0} - adds r3, r0 - adds r2, 0x1 - cmp r2, 0x27 - bls _080E70B4 - mov r0, r8 - ldr r2, [r0] - adds r1, r4, 0 - muls r1, r6 - movs r4, 0xFA - lsls r4, 1 - adds r0, r2, r4 - adds r0, r1 - ldr r0, [r0] - cmp r0, r3 - beq _080E70E0 - movs r3, 0xAA - lsls r3, 1 - adds r0, r1, r3 - adds r0, r2, r0 - bl ClearBattleTowerRecord -_080E70E0: - adds r4, r5, 0 - cmp r4, 0x4 - ble _080E70A0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E70F0: .4byte gSaveBlock2Ptr - thumb_func_end sub_80E7064 - - thumb_func_start SetBattleTowerRecordChecksum -SetBattleTowerRecordChecksum: @ 80E70F4 - push {r4,lr} - adds r2, r0, 0 - adds r2, 0xA0 - movs r1, 0 - str r1, [r2] - movs r3, 0 - adds r4, r0, 0 -_080E7102: - ldr r0, [r2] - ldm r4!, {r1} - adds r0, r1 - str r0, [r2] - adds r3, 0x1 - cmp r3, 0x27 - bls _080E7102 - pop {r4} - pop {r0} - bx r0 - thumb_func_end SetBattleTowerRecordChecksum - - thumb_func_start ClearBattleTowerRecord -ClearBattleTowerRecord: @ 80E7118 - push {lr} - movs r1, 0 - movs r2, 0 -_080E711E: - stm r0!, {r2} - adds r1, 0x1 - cmp r1, 0x28 - bls _080E711E - pop {r0} - bx r0 - thumb_func_end ClearBattleTowerRecord - - thumb_func_start sub_80E712C -sub_80E712C: @ 80E712C - push {r4,r5,lr} - ldr r4, _080E7174 @ =gSaveBlock2Ptr - ldr r0, [r4] - ldr r1, _080E7178 @ =0x0000048c - adds r0, r1 - bl sub_80E6150 - ldr r1, [r4] - ldr r3, _080E717C @ =gBattleMons - adds r0, r3, 0 - adds r0, 0x58 - ldrh r2, [r0] - ldr r5, _080E7180 @ =0x0000048a - adds r0, r1, r5 - strh r2, [r0] - ldrh r0, [r3] - movs r2, 0x91 - lsls r2, 3 - adds r1, r2 - strh r0, [r1] - movs r2, 0 - adds r5, r4, 0 - ldr r4, _080E7184 @ =0x00000494 - adds r3, 0x30 -_080E715C: - ldr r0, [r5] - adds r0, r4 - adds r0, r2 - adds r1, r2, r3 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0x9 - ble _080E715C - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E7174: .4byte gSaveBlock2Ptr -_080E7178: .4byte 0x0000048c -_080E717C: .4byte gBattleMons -_080E7180: .4byte 0x0000048a -_080E7184: .4byte 0x00000494 - thumb_func_end sub_80E712C - - thumb_func_start sub_80E7188 -sub_80E7188: @ 80E7188 - push {lr} - lsls r0, 24 - ldr r1, _080E71C0 @ =gSaveBlock2Ptr - ldr r3, [r1] - lsrs r0, 23 - ldr r2, _080E71C4 @ =0x00000564 - adds r1, r3, r2 - adds r1, r0 - ldrh r2, [r1] - subs r2, 0x1 - lsls r1, r2, 3 - subs r1, r2 - movs r2, 0xAC - lsls r2, 3 - adds r3, r2 - adds r3, r0 - ldr r0, _080E71C8 @ =0x0000ffff - adds r1, r0 - ldrh r3, [r3] - adds r1, r3 - lsls r1, 16 - lsrs r0, r1, 16 - ldr r1, _080E71CC @ =0x0000270f - cmp r0, r1 - bls _080E71BC - adds r0, r1, 0 -_080E71BC: - pop {r1} - bx r1 - .align 2, 0 -_080E71C0: .4byte gSaveBlock2Ptr -_080E71C4: .4byte 0x00000564 -_080E71C8: .4byte 0x0000ffff -_080E71CC: .4byte 0x0000270f - thumb_func_end sub_80E7188 - - thumb_func_start DetermineBattleTowerPrize -DetermineBattleTowerPrize: @ 80E71D0 - push {r4,r5,lr} - ldr r4, _080E7214 @ =gSaveBlock2Ptr - ldr r1, [r4] - ldr r2, _080E7218 @ =0x0000055c - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, 31 - lsrs r0, 31 - lsls r0, 1 - adds r2, 0x8 - adds r1, r2 - adds r1, r0 - ldrh r0, [r1] - subs r0, 0x1 - cmp r0, 0x5 - ble _080E7220 - bl Random - ldr r4, [r4] - ldr r5, _080E721C @ =sLongStreakPrizes - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x9 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 15 - adds r0, r5 - ldrh r0, [r0] - movs r1, 0xAE - lsls r1, 3 - adds r4, r1 - b _080E7240 - .align 2, 0 -_080E7214: .4byte gSaveBlock2Ptr -_080E7218: .4byte 0x0000055c -_080E721C: .4byte sLongStreakPrizes -_080E7220: - bl Random - ldr r4, [r4] - ldr r5, _080E7248 @ =sShortStreakPrizes - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x6 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 15 - adds r0, r5 - ldrh r0, [r0] - movs r2, 0xAE - lsls r2, 3 - adds r4, r2 -_080E7240: - strh r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E7248: .4byte sShortStreakPrizes - thumb_func_end DetermineBattleTowerPrize - - thumb_func_start GiveBattleTowerPrize -GiveBattleTowerPrize: @ 80E724C - push {r4-r6,lr} - ldr r5, _080E7288 @ =gSaveBlock2Ptr - ldr r1, [r5] - ldr r2, _080E728C @ =0x0000055c - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, 31 - lsrs r6, r0, 31 - movs r0, 0xAE - lsls r0, 3 - adds r1, r0 - ldrh r0, [r1] - movs r1, 0x1 - bl AddBagItem - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bne _080E7298 - ldr r0, [r5] - movs r1, 0xAE - lsls r1, 3 - adds r0, r1 - ldrh r0, [r0] - ldr r1, _080E7290 @ =gStringVar1 - bl CopyItemName - ldr r0, _080E7294 @ =gSpecialVar_Result - strh r4, [r0] - b _080E72AA - .align 2, 0 -_080E7288: .4byte gSaveBlock2Ptr -_080E728C: .4byte 0x0000055c -_080E7290: .4byte gStringVar1 -_080E7294: .4byte gSpecialVar_Result -_080E7298: - ldr r1, _080E72B0 @ =gSpecialVar_Result - movs r0, 0 - strh r0, [r1] - ldr r0, [r5] - ldr r2, _080E72B4 @ =0x0000055e - adds r0, r2 - adds r0, r6 - movs r1, 0x6 - strb r1, [r0] -_080E72AA: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080E72B0: .4byte gSpecialVar_Result -_080E72B4: .4byte 0x0000055e - thumb_func_end GiveBattleTowerPrize - - thumb_func_start AwardBattleTowerRibbons -AwardBattleTowerRibbons: @ 80E72B8 - push {r4-r7,lr} - ldr r0, _080E7334 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, _080E7338 @ =0x0000055c - adds r0, r1 - ldrb r0, [r0] - lsls r0, 31 - lsrs r0, 31 - adds r1, r0, 0 - movs r7, 0x44 - cmp r1, 0 - beq _080E72D2 - movs r7, 0x45 -_080E72D2: - ldr r4, _080E733C @ =gSpecialVar_Result - movs r0, 0 - strh r0, [r4] - adds r0, r1, 0 - bl sub_80E7188 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x37 - bls _080E7320 - movs r5, 0 - adds r6, r4, 0 -_080E72EA: - ldr r0, _080E7334 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, _080E7340 @ =0x0000056d - adds r0, r1 - adds r0, r5 - ldrb r0, [r0] - subs r0, 0x1 - movs r1, 0x64 - muls r1, r0 - ldr r0, _080E7344 @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - adds r1, r7, 0 - bl GetMonData - cmp r0, 0 - bne _080E731A - movs r0, 0x1 - strh r0, [r6] - adds r0, r4, 0 - adds r1, r7, 0 - adds r2, r6, 0 - bl SetMonData -_080E731A: - adds r5, 0x1 - cmp r5, 0x2 - ble _080E72EA -_080E7320: - ldr r0, _080E733C @ =gSpecialVar_Result - ldrh r0, [r0] - cmp r0, 0 - beq _080E732E - movs r0, 0x2A - bl IncrementGameStat -_080E732E: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E7334: .4byte gSaveBlock2Ptr -_080E7338: .4byte 0x0000055c -_080E733C: .4byte gSpecialVar_Result -_080E7340: .4byte 0x0000056d -_080E7344: .4byte gPlayerParty - thumb_func_end AwardBattleTowerRibbons - - thumb_func_start sub_80E7348 -sub_80E7348: @ 80E7348 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r1, _080E7368 @ =gSaveBlock2Ptr - ldr r2, [r1] - movs r0, 0x94 - lsls r0, 3 - adds r7, r2, r0 - ldrb r0, [r2, 0x8] - adds r5, r1, 0 - cmp r0, 0 - beq _080E7370 - ldr r4, _080E736C @ =sFemaleTrainerClasses - b _080E7372 - .align 2, 0 -_080E7368: .4byte gSaveBlock2Ptr -_080E736C: .4byte sFemaleTrainerClasses -_080E7370: - ldr r4, _080E7410 @ =sMaleTrainerClasses -_080E7372: - ldrb r0, [r2, 0xA] - ldrb r1, [r2, 0xB] - adds r0, r1 - ldrb r1, [r2, 0xC] - adds r0, r1 - ldrb r1, [r2, 0xD] - adds r0, r1 - movs r1, 0 - bl __umodsi3 - adds r0, r4 - ldrb r0, [r0] - strb r0, [r7, 0x1] - adds r0, r7, 0 - adds r0, 0xC - ldr r1, [r5] - adds r1, 0xA - bl CopyTrainerId - adds r0, r7, 0x4 - ldr r1, [r5] - bl StringCopy7 - movs r0, 0x1 - strh r0, [r7, 0x2] - movs r6, 0x7 - movs r4, 0 - ldr r0, _080E7414 @ =gSaveBlock1Ptr - mov r8, r0 - adds r5, r7, 0 - adds r5, 0x10 - ldr r1, _080E7418 @ =0x00002cac - mov r12, r1 - adds r3, r7, 0 - adds r3, 0x28 - adds r2, r7, 0 - adds r2, 0x1C -_080E73BC: - lsls r0, r4, 1 - mov r9, r0 - mov r1, r8 - ldr r0, [r1] - add r0, r12 - add r0, r9 - ldrh r0, [r0] - strh r0, [r5] - strh r6, [r2] - adds r0, r6, 0x6 - strh r0, [r3] - adds r6, 0x1 - adds r5, 0x2 - adds r3, 0x2 - adds r2, 0x2 - adds r4, 0x1 - cmp r4, 0x5 - ble _080E73BC - movs r4, 0 -_080E73E2: - movs r0, 0x64 - muls r0, r4 - ldr r1, _080E741C @ =gPlayerParty - adds r0, r1 - movs r1, 0x2C - muls r1, r4 - adds r1, 0x34 - adds r1, r7, r1 - bl sub_803E23C - adds r4, 0x1 - cmp r4, 0x2 - ble _080E73E2 - adds r0, r7, 0 - bl sub_80E7500 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E7410: .4byte sMaleTrainerClasses -_080E7414: .4byte gSaveBlock1Ptr -_080E7418: .4byte 0x00002cac -_080E741C: .4byte gPlayerParty - thumb_func_end sub_80E7348 - - thumb_func_start GetEreaderTrainerFrontSpriteId -GetEreaderTrainerFrontSpriteId: @ 80E7420 - ldr r1, _080E7434 @ =gFacilityClassToPicIndex - ldr r0, _080E7438 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldr r2, _080E743C @ =0x000004a1 - adds r0, r2 - ldrb r0, [r0] - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_080E7434: .4byte gFacilityClassToPicIndex -_080E7438: .4byte gSaveBlock2Ptr -_080E743C: .4byte 0x000004a1 - thumb_func_end GetEreaderTrainerFrontSpriteId - - thumb_func_start GetEreaderTrainerClassId -GetEreaderTrainerClassId: @ 80E7440 - ldr r1, _080E7454 @ =gFacilityClassToTrainerClass - ldr r0, _080E7458 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldr r2, _080E745C @ =0x000004a1 - adds r0, r2 - ldrb r0, [r0] - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_080E7454: .4byte gFacilityClassToTrainerClass -_080E7458: .4byte gSaveBlock2Ptr -_080E745C: .4byte 0x000004a1 - thumb_func_end GetEreaderTrainerClassId - - thumb_func_start CopyEReaderTrainerName5 -CopyEReaderTrainerName5: @ 80E7460 - push {r4,lr} - adds r3, r0, 0 - movs r2, 0 - ldr r0, _080E7488 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, _080E748C @ =0x000004a4 - adds r4, r0, r1 -_080E746E: - adds r0, r3, r2 - adds r1, r4, r2 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0x4 - ble _080E746E - adds r1, r3, r2 - movs r0, 0xFF - strb r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E7488: .4byte gSaveBlock2Ptr -_080E748C: .4byte 0x000004a4 - thumb_func_end CopyEReaderTrainerName5 - - thumb_func_start ValidateEReaderTrainer -ValidateEReaderTrainer: @ 80E7490 - push {r4-r6,lr} - ldr r2, _080E74C0 @ =gSpecialVar_Result - movs r0, 0 - strh r0, [r2] - ldr r1, _080E74C4 @ =gSaveBlock2Ptr - ldr r0, [r1] - movs r3, 0x94 - lsls r3, 3 - adds r5, r0, r3 - movs r4, 0 - movs r3, 0 - adds r6, r1, 0 - adds r1, r5, 0 -_080E74AA: - ldm r1!, {r0} - orrs r4, r0 - adds r3, 0x1 - cmp r3, 0x2D - bls _080E74AA - cmp r4, 0 - bne _080E74C8 - movs r0, 0x1 - strh r0, [r2] - b _080E74F6 - .align 2, 0 -_080E74C0: .4byte gSpecialVar_Result -_080E74C4: .4byte gSaveBlock2Ptr -_080E74C8: - movs r4, 0 - movs r3, 0 - adds r2, r5, 0 -_080E74CE: - ldm r2!, {r0} - adds r4, r0 - adds r3, 0x1 - cmp r3, 0x2D - bls _080E74CE - ldr r1, [r6] - movs r2, 0xAB - lsls r2, 3 - adds r0, r1, r2 - ldr r0, [r0] - cmp r0, r4 - beq _080E74F6 - movs r3, 0x94 - lsls r3, 3 - adds r0, r1, r3 - bl sub_80E7524 - ldr r1, _080E74FC @ =gSpecialVar_Result - movs r0, 0x1 - strh r0, [r1] -_080E74F6: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080E74FC: .4byte gSpecialVar_Result - thumb_func_end ValidateEReaderTrainer - - thumb_func_start sub_80E7500 -sub_80E7500: @ 80E7500 - push {r4,lr} - adds r2, r0, 0 - adds r2, 0xB8 - movs r1, 0 - str r1, [r2] - movs r3, 0 - adds r4, r0, 0 -_080E750E: - ldr r0, [r2] - ldm r4!, {r1} - adds r0, r1 - str r0, [r2] - adds r3, 0x1 - cmp r3, 0x2D - bls _080E750E - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80E7500 - - thumb_func_start sub_80E7524 -sub_80E7524: @ 80E7524 - push {lr} - movs r1, 0 - movs r2, 0 -_080E752A: - stm r0!, {r2} - adds r1, 0x1 - cmp r1, 0x2E - bls _080E752A - pop {r0} - bx r0 - thumb_func_end sub_80E7524 - - thumb_func_start PrintEReaderTrainerGreeting -PrintEReaderTrainerGreeting: @ 80E7538 - push {lr} - ldr r0, _080E754C @ =gSaveBlock2Ptr - ldr r0, [r0] - movs r1, 0x96 - lsls r1, 3 - adds r0, r1 - bl sub_80E678C - pop {r0} - bx r0 - .align 2, 0 -_080E754C: .4byte gSaveBlock2Ptr - thumb_func_end PrintEReaderTrainerGreeting - - thumb_func_start sub_80E7550 -sub_80E7550: @ 80E7550 - push {lr} - ldr r0, _080E7564 @ =gBattleOutcome - ldrb r0, [r0] - cmp r0, 0x3 - bne _080E756C - ldr r1, _080E7568 @ =gStringVar4 - movs r0, 0xFF - strb r0, [r1] - b _080E7590 - .align 2, 0 -_080E7564: .4byte gBattleOutcome -_080E7568: .4byte gStringVar4 -_080E756C: - cmp r0, 0x1 - bne _080E7584 - ldr r0, _080E7580 @ =gSaveBlock2Ptr - ldr r0, [r0] - movs r1, 0x99 - lsls r1, 3 - adds r0, r1 - bl sub_80E678C - b _080E7590 - .align 2, 0 -_080E7580: .4byte gSaveBlock2Ptr -_080E7584: - ldr r0, _080E7594 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, _080E7598 @ =0x000004bc - adds r0, r1 - bl sub_80E678C -_080E7590: - pop {r0} - bx r0 - .align 2, 0 -_080E7594: .4byte gSaveBlock2Ptr -_080E7598: .4byte 0x000004bc - thumb_func_end sub_80E7550 - - thumb_func_start Dummy_TryEnableBravoTrainerBattleTower -Dummy_TryEnableBravoTrainerBattleTower: @ 80E759C - push {lr} - movs r0, 0x1 -_080E75A0: - subs r0, 0x1 - cmp r0, 0 - bge _080E75A0 - pop {r0} - bx r0 - thumb_func_end Dummy_TryEnableBravoTrainerBattleTower - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/field_camera.s b/asm/field_camera.s index f6cbbd0ef..0016e6381 100644 --- a/asm/field_camera.s +++ b/asm/field_camera.s @@ -490,8 +490,8 @@ _0805A914: .4byte gUnknown_3000E90 _0805A918: .4byte gMapHeader thumb_func_end CurrentMapDrawMetatileAt - thumb_func_start sub_805A91C -sub_805A91C: @ 805A91C + thumb_func_start DrawDoorMetatileAt +DrawDoorMetatileAt: @ 805A91C push {r4,r5,lr} adds r3, r0, 0 adds r4, r1, 0 @@ -513,7 +513,7 @@ _0805A93E: bx r0 .align 2, 0 _0805A944: .4byte gUnknown_3000E90 - thumb_func_end sub_805A91C + thumb_func_end DrawDoorMetatileAt thumb_func_start sub_805A948 sub_805A948: @ 805A948 diff --git a/asm/field_door.s b/asm/field_door.s deleted file mode 100644 index bcb8a6082..000000000 --- a/asm/field_door.s +++ /dev/null @@ -1,667 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_805AF14 -sub_805AF14: @ 805AF14 - push {r4-r7,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - adds r7, r3, 0 - ldrh r1, [r5, 0x2] - ldr r0, _0805AF34 @ =0x0000ffff - cmp r1, r0 - bne _0805AF38 - adds r0, r4, 0 - adds r1, r6, 0 - adds r2, r7, 0 - bl sub_805AF54 - b _0805AF4E - .align 2, 0 -_0805AF34: .4byte 0x0000ffff -_0805AF38: - ldrh r1, [r5, 0x2] - ldr r0, [r4, 0x4] - adds r0, r1 - bl sub_805AF80 - ldr r3, [r4, 0x8] - adds r0, r4, 0 - adds r1, r6, 0 - adds r2, r7, 0 - bl sub_805AF94 -_0805AF4E: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_805AF14 - - thumb_func_start sub_805AF54 -sub_805AF54: @ 805AF54 - push {r4,r5,lr} - adds r5, r1, 0 - adds r4, r2, 0 - ldrb r0, [r0, 0x3] - cmp r0, 0 - bne _0805AF6A - adds r0, r5, 0 - adds r1, r4, 0 - bl CurrentMapDrawMetatileAt - b _0805AF7A -_0805AF6A: - adds r0, r5, 0 - adds r1, r4, 0 - bl CurrentMapDrawMetatileAt - subs r1, r4, 0x1 - adds r0, r5, 0 - bl CurrentMapDrawMetatileAt -_0805AF7A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_805AF54 - - thumb_func_start sub_805AF80 -sub_805AF80: @ 805AF80 - push {lr} - ldr r1, _0805AF90 @ =0x06007f00 - movs r2, 0x40 - bl CpuFastSet - pop {r0} - bx r0 - .align 2, 0 -_0805AF90: .4byte 0x06007f00 - thumb_func_end sub_805AF80 - - thumb_func_start sub_805AF94 -sub_805AF94: @ 805AF94 - push {r4-r6,lr} - sub sp, 0x10 - adds r5, r1, 0 - adds r6, r2, 0 - adds r4, r3, 0 - ldrb r0, [r0, 0x3] - cmp r0, 0 - bne _0805AFB2 - movs r1, 0xFE - lsls r1, 2 - mov r0, sp - adds r2, r4, 0 - bl sub_805AFE8 - b _0805AFD4 -_0805AFB2: - movs r1, 0xFE - lsls r1, 2 - mov r0, sp - adds r2, r4, 0 - bl sub_805AFE8 - subs r1, r6, 0x1 - adds r0, r5, 0 - mov r2, sp - bl sub_805A91C - movs r1, 0xFF - lsls r1, 2 - adds r2, r4, 0x4 - mov r0, sp - bl sub_805AFE8 -_0805AFD4: - adds r0, r5, 0 - adds r1, r6, 0 - mov r2, sp - bl sub_805A91C - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_805AF94 - - thumb_func_start sub_805AFE8 -sub_805AFE8: @ 805AFE8 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r1, 16 - lsrs r5, r1, 16 - movs r4, 0 - adds r1, r6, 0 -_0805AFF4: - ldrb r0, [r2] - lsls r0, 28 - lsrs r3, r0, 16 - adds r2, 0x1 - adds r0, r5, r4 - orrs r3, r0 - strh r3, [r1] - adds r1, 0x2 - adds r4, 0x1 - cmp r4, 0x3 - ble _0805AFF4 - cmp r4, 0x7 - bgt _0805B022 - lsls r0, r4, 1 - adds r1, r0, r6 -_0805B012: - ldrb r0, [r2] - lsls r3, r0, 12 - adds r2, 0x1 - strh r3, [r1] - adds r1, 0x2 - adds r4, 0x1 - cmp r4, 0x7 - ble _0805B012 -_0805B022: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_805AFE8 - - thumb_func_start sub_805B028 -sub_805B028: @ 805B028 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r2, r4, 2 - adds r2, r4 - lsls r2, 3 - ldr r0, _0805B05C @ =gTasks+0x8 - adds r2, r0 - ldrh r1, [r2] - lsls r1, 16 - ldrh r0, [r2, 0x2] - orrs r1, r0 - ldrh r0, [r2, 0x4] - lsls r0, 16 - ldrh r3, [r2, 0x6] - orrs r0, r3 - bl sub_805B060 - cmp r0, 0 - bne _0805B056 - adds r0, r4, 0 - bl DestroyTask -_0805B056: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0805B05C: .4byte gTasks+0x8 - thumb_func_end sub_805B028 - - thumb_func_start sub_805B060 -sub_805B060: @ 805B060 - push {r4-r6,lr} - adds r6, r0, 0 - adds r5, r1, 0 - adds r4, r2, 0 - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0805B086 - movs r2, 0x8 - ldrsh r1, [r4, r2] - lsls r1, 2 - adds r1, r5, r1 - movs r0, 0xC - ldrsh r2, [r4, r0] - movs r0, 0xE - ldrsh r3, [r4, r0] - adds r0, r6, 0 - bl sub_805AF14 -_0805B086: - movs r2, 0xA - ldrsh r1, [r4, r2] - movs r2, 0x8 - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r0, r5 - ldrb r0, [r0] - cmp r1, r0 - bne _0805B0B4 - movs r0, 0 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldrb r0, [r0] - cmp r0, 0 - bne _0805B0BA - movs r0, 0 - b _0805B0BC -_0805B0B4: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] -_0805B0BA: - movs r0, 0x1 -_0805B0BC: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_805B060 - - thumb_func_start door_find -door_find: @ 805B0C4 - push {lr} - adds r2, r0, 0 - lsls r1, 16 - lsrs r1, 16 - b _0805B0DA -_0805B0CE: - ldrh r0, [r2] - cmp r0, r1 - bne _0805B0D8 - adds r0, r2, 0 - b _0805B0E2 -_0805B0D8: - adds r2, 0xC -_0805B0DA: - ldr r0, [r2, 0x4] - cmp r0, 0 - bne _0805B0CE - movs r0, 0 -_0805B0E2: - pop {r1} - bx r1 - thumb_func_end door_find - - thumb_func_start task_overworld_door_add_if_inactive -task_overworld_door_add_if_inactive: @ 805B0E8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - adds r5, r1, 0 - adds r7, r2, 0 - mov r8, r3 - ldr r4, _0805B134 @ =sub_805B028 - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0805B13C - adds r0, r4, 0 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r2, _0805B138 @ =gTasks+0x8 - adds r1, r2 - strh r7, [r1, 0xC] - mov r2, r8 - strh r2, [r1, 0xE] - strh r5, [r1, 0x2] - lsrs r2, r5, 16 - strh r2, [r1] - strh r6, [r1, 0x6] - lsrs r2, r6, 16 - strh r2, [r1, 0x4] - lsls r0, 24 - asrs r0, 24 - b _0805B140 - .align 2, 0 -_0805B134: .4byte sub_805B028 -_0805B138: .4byte gTasks+0x8 -_0805B13C: - movs r0, 0x1 - negs r0, r0 -_0805B140: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end task_overworld_door_add_if_inactive - - thumb_func_start DrawClosedDoor -DrawClosedDoor: @ 805B14C - push {lr} - bl sub_805AF54 - pop {r0} - bx r0 - thumb_func_end DrawClosedDoor - - thumb_func_start sub_805B158 -sub_805B158: @ 805B158 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - adds r0, r5, 0 - adds r1, r6, 0 - bl MapGridGetMetatileIdAt - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl door_find - adds r4, r0, 0 - cmp r0, 0 - beq _0805B196 - ldrb r0, [r0, 0x3] - ldr r1, _0805B19C @ =gUnknown_835B49C - cmp r0, 0 - bne _0805B184 - ldr r1, _0805B1A0 @ =gUnknown_835B488 -_0805B184: - adds r0, r1, 0 - bl sub_805B1A4 - adds r1, r0, 0 - adds r0, r4, 0 - adds r2, r5, 0 - adds r3, r6, 0 - bl sub_805AF14 -_0805B196: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0805B19C: .4byte gUnknown_835B49C -_0805B1A0: .4byte gUnknown_835B488 - thumb_func_end sub_805B158 - - thumb_func_start sub_805B1A4 -sub_805B1A4: @ 805B1A4 - push {lr} - adds r1, r0, 0 - b _0805B1AC -_0805B1AA: - adds r1, 0x4 -_0805B1AC: - ldrb r0, [r1] - cmp r0, 0 - bne _0805B1AA - subs r0, r1, 0x4 - pop {r1} - bx r1 - thumb_func_end sub_805B1A4 - - thumb_func_start sub_805B1B8 -sub_805B1B8: @ 805B1B8 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - adds r0, r5, 0 - adds r1, r6, 0 - bl MapGridGetMetatileIdAt - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl door_find - adds r2, r0, 0 - adds r4, r2, 0 - cmp r2, 0 - bne _0805B1E2 - movs r0, 0x1 - negs r0, r0 - b _0805B204 -_0805B1E2: - ldrb r0, [r2, 0x3] - cmp r0, 0 - beq _0805B1F4 - ldr r1, _0805B1F0 @ =gUnknown_835B49C - adds r0, r2, 0 - b _0805B1F8 - .align 2, 0 -_0805B1F0: .4byte gUnknown_835B49C -_0805B1F4: - ldr r1, _0805B20C @ =gUnknown_835B488 - adds r0, r4, 0 -_0805B1F8: - adds r2, r5, 0 - adds r3, r6, 0 - bl task_overworld_door_add_if_inactive - lsls r0, 24 - asrs r0, 24 -_0805B204: - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0805B20C: .4byte gUnknown_835B488 - thumb_func_end sub_805B1B8 - - thumb_func_start sub_805B210 -sub_805B210: @ 805B210 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - adds r0, r5, 0 - adds r1, r6, 0 - bl MapGridGetMetatileIdAt - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl door_find - adds r2, r0, 0 - adds r4, r2, 0 - cmp r2, 0 - bne _0805B23A - movs r0, 0x1 - negs r0, r0 - b _0805B25C -_0805B23A: - ldrb r0, [r2, 0x3] - cmp r0, 0 - beq _0805B24C - ldr r1, _0805B248 @ =gUnknown_835B4C4 - adds r0, r2, 0 - b _0805B250 - .align 2, 0 -_0805B248: .4byte gUnknown_835B4C4 -_0805B24C: - ldr r1, _0805B264 @ =gUnknown_835B4B0 - adds r0, r4, 0 -_0805B250: - adds r2, r5, 0 - adds r3, r6, 0 - bl task_overworld_door_add_if_inactive - lsls r0, 24 - asrs r0, 24 -_0805B25C: - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0805B264: .4byte gUnknown_835B4B0 - thumb_func_end sub_805B210 - - thumb_func_start FieldSetDoorOpened -FieldSetDoorOpened: @ 805B268 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r0, r4, 16 - asrs r0, 16 - lsls r1, r5, 16 - asrs r1, 16 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsWarpDoor_2 - lsls r0, 24 - cmp r0, 0 - beq _0805B292 - ldr r0, _0805B298 @ =gUnknown_835B5D8 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_805B158 -_0805B292: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0805B298: .4byte gUnknown_835B5D8 - thumb_func_end FieldSetDoorOpened - - thumb_func_start FieldSetDoorClosed -FieldSetDoorClosed: @ 805B29C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r0, r4, 16 - asrs r0, 16 - lsls r1, r5, 16 - asrs r1, 16 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsWarpDoor_2 - lsls r0, 24 - cmp r0, 0 - beq _0805B2C6 - ldr r0, _0805B2CC @ =gUnknown_835B5D8 - adds r1, r4, 0 - adds r2, r5, 0 - bl DrawClosedDoor -_0805B2C6: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0805B2CC: .4byte gUnknown_835B5D8 - thumb_func_end FieldSetDoorClosed - - thumb_func_start FieldAnimateDoorClose -FieldAnimateDoorClose: @ 805B2D0 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r0, r4, 16 - asrs r0, 16 - lsls r1, r5, 16 - asrs r1, 16 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsWarpDoor_2 - lsls r0, 24 - cmp r0, 0 - beq _0805B304 - ldr r0, _0805B300 @ =gUnknown_835B5D8 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_805B210 - lsls r0, 24 - asrs r0, 24 - b _0805B308 - .align 2, 0 -_0805B300: .4byte gUnknown_835B5D8 -_0805B304: - movs r0, 0x1 - negs r0, r0 -_0805B308: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end FieldAnimateDoorClose - - thumb_func_start FieldAnimateDoorOpen -FieldAnimateDoorOpen: @ 805B310 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r0, r4, 16 - asrs r0, 16 - lsls r1, r5, 16 - asrs r1, 16 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsWarpDoor_2 - lsls r0, 24 - cmp r0, 0 - beq _0805B344 - ldr r0, _0805B340 @ =gUnknown_835B5D8 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_805B1B8 - lsls r0, 24 - asrs r0, 24 - b _0805B348 - .align 2, 0 -_0805B340: .4byte gUnknown_835B5D8 -_0805B344: - movs r0, 0x1 - negs r0, r0 -_0805B348: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end FieldAnimateDoorOpen - - thumb_func_start FieldIsDoorAnimationRunning -FieldIsDoorAnimationRunning: @ 805B350 - push {lr} - ldr r0, _0805B360 @ =sub_805B028 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0805B360: .4byte sub_805B028 - thumb_func_end FieldIsDoorAnimationRunning - - thumb_func_start GetDoorSoundEffect -GetDoorSoundEffect: @ 805B364 - push {lr} - adds r3, r0, 0 - adds r2, r1, 0 - ldr r0, _0805B37C @ =gUnknown_835B5D8 - adds r1, r3, 0 - bl sub_805B388 - lsls r0, 24 - cmp r0, 0 - beq _0805B380 - movs r0, 0x12 - b _0805B382 - .align 2, 0 -_0805B37C: .4byte gUnknown_835B5D8 -_0805B380: - movs r0, 0xF1 -_0805B382: - pop {r1} - bx r1 - thumb_func_end GetDoorSoundEffect - - thumb_func_start sub_805B388 -sub_805B388: @ 805B388 - push {r4,lr} - adds r4, r0, 0 - adds r0, r1, 0 - adds r1, r2, 0 - bl MapGridGetMetatileIdAt - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl door_find - cmp r0, 0 - beq _0805B3AC - ldrb r0, [r0, 0x2] - lsls r0, 24 - asrs r0, 24 - b _0805B3B0 -_0805B3AC: - movs r0, 0x1 - negs r0, r0 -_0805B3B0: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_805B388 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/item_menu.s b/asm/item_menu.s index a143d2776..a8487864a 100644 --- a/asm/item_menu.s +++ b/asm/item_menu.s @@ -5826,7 +5826,7 @@ UseRegisteredKeyItemOnField: @ 810AD10 movs r0, 0 b _0810ADA0 _0810AD1E: - bl sub_80982EC + bl DismissMapNamePopup movs r0, 0 movs r1, 0 movs r2, 0 diff --git a/asm/learn_move.s b/asm/learn_move.s deleted file mode 100644 index 36b88bc20..000000000 --- a/asm/learn_move.s +++ /dev/null @@ -1,1954 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_80E4620 -sub_80E4620: @ 80E4620 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_80E4620 - - thumb_func_start DisplayMoveTutorMenu -DisplayMoveTutorMenu: @ 80E4634 - push {lr} - sub sp, 0x4 - bl ScriptContext2_Enable - ldr r0, _080E465C @ =sub_80E4660 - movs r1, 0xA - bl CreateTask - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080E465C: .4byte sub_80E4660 - thumb_func_end DisplayMoveTutorMenu - - thumb_func_start sub_80E4660 -sub_80E4660: @ 80E4660 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080E468C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080E4684 - ldr r0, _080E4690 @ =sub_80E478C - bl SetMainCallback2 - ldr r1, _080E4694 @ =gFieldCallback - ldr r0, _080E4698 @ =FieldCallback_ReturnToEventScript2 - str r0, [r1] - adds r0, r4, 0 - bl DestroyTask -_080E4684: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E468C: .4byte gPaletteFade -_080E4690: .4byte sub_80E478C -_080E4694: .4byte gFieldCallback -_080E4698: .4byte FieldCallback_ReturnToEventScript2 - thumb_func_end sub_80E4660 - - thumb_func_start sub_80E469C -sub_80E469C: @ 80E469C - push {r4,r5,lr} - sub sp, 0xC - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, _080E4774 @ =gUnknown_83FFA3C - movs r0, 0 - movs r2, 0x2 - bl InitBgsFromTemplates - bl ResetTempTileDataBuffers - ldr r0, _080E4778 @ =gUnknown_83FFA44 - bl InitWindows - lsls r0, 16 - cmp r0, 0 - beq _080E476C - bl DeactivateAllTextPrinters - movs r5, 0 -_080E46C6: - lsls r4, r5, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl ClearWindowTilemap - adds r0, r4, 0 - movs r1, 0 - bl FillWindowPixelBuffer - adds r5, 0x1 - cmp r5, 0x8 - bls _080E46C6 - movs r0, 0x7 - movs r1, 0x11 - bl FillWindowPixelBuffer - movs r0, 0x1E - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0xF - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect - ldr r0, _080E477C @ =gUnknown_203AAB4 - ldr r1, [r0] - movs r0, 0x99 - lsls r0, 2 - adds r1, r0 - movs r0, 0x1 - bl SetBgTilemapBuffer - movs r0, 0 - movs r1, 0x1 - movs r2, 0xE0 - bl TextWindow_SetUserSelectedFrame - movs r0, 0xD0 - movs r1, 0x1 - bl sub_8107D38 - ldr r0, _080E4780 @ =gUnknown_8E97DDC - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - ldr r1, _080E4784 @ =gUnknown_8E97DFC - movs r0, 0 - str r0, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl DecompressAndLoadBgGfxUsingHeap - ldr r1, _080E4788 @ =gUnknown_8E97EC4 - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0x12 - movs r1, 0 - bl SetGpuReg - movs r0, 0x10 - movs r1, 0 - bl SetGpuReg - movs r0, 0x16 - movs r1, 0 - bl SetGpuReg - movs r0, 0x14 - movs r1, 0 - bl SetGpuReg -_080E476C: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E4774: .4byte gUnknown_83FFA3C -_080E4778: .4byte gUnknown_83FFA44 -_080E477C: .4byte gUnknown_203AAB4 -_080E4780: .4byte gUnknown_8E97DDC -_080E4784: .4byte gUnknown_8E97DFC -_080E4788: .4byte gUnknown_8E97EC4 - thumb_func_end sub_80E469C - - thumb_func_start sub_80E478C -sub_80E478C: @ 80E478C - push {r4,lr} - movs r0, 0 - movs r1, 0 - bl SetGpuReg - bl ResetSpriteData - bl FreeAllSpritePalettes - bl ResetTasks - ldr r4, _080E47EC @ =gUnknown_203AAB4 - ldr r0, _080E47F0 @ =0x00000a6c - bl AllocZeroed - str r0, [r4] - bl sub_80E4F54 - ldr r0, [r4] - ldr r1, _080E47F4 @ =gSpecialVar_0x8004 - ldrh r1, [r1] - movs r2, 0x98 - lsls r2, 2 - adds r0, r2 - strb r1, [r0] - bl sub_80E50CC - ldr r0, _080E47F8 @ =sub_80E4620 - bl SetVBlankCallback - bl sub_80E469C - bl sub_80E5004 - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - ldr r0, _080E47FC @ =sub_80E4870 - bl SetMainCallback2 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E47EC: .4byte gUnknown_203AAB4 -_080E47F0: .4byte 0x00000a6c -_080E47F4: .4byte gSpecialVar_0x8004 -_080E47F8: .4byte sub_80E4620 -_080E47FC: .4byte sub_80E4870 - thumb_func_end sub_80E478C - - thumb_func_start sub_80E4800 -sub_80E4800: @ 80E4800 - push {lr} - movs r0, 0 - movs r1, 0 - bl SetGpuReg - bl ResetSpriteData - bl FreeAllSpritePalettes - bl ResetTasks - bl sub_80E50CC - ldr r0, _080E485C @ =gUnknown_203AAB4 - ldr r0, [r0] - ldr r1, _080E4860 @ =gSpecialVar_0x8005 - ldrh r1, [r1] - ldr r2, _080E4864 @ =0x00000261 - adds r0, r2 - strb r1, [r0] - ldr r0, _080E4868 @ =sub_80E4620 - bl SetVBlankCallback - bl sub_80E469C - bl sub_80E5004 - movs r0, 0 - movs r1, 0 - movs r2, 0x2 - bl FillPalette - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - ldr r0, _080E486C @ =sub_80E4870 - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_080E485C: .4byte gUnknown_203AAB4 -_080E4860: .4byte gSpecialVar_0x8005 -_080E4864: .4byte 0x00000261 -_080E4868: .4byte sub_80E4620 -_080E486C: .4byte sub_80E4870 - thumb_func_end sub_80E4800 - - thumb_func_start sub_80E4870 -sub_80E4870: @ 80E4870 - push {r4,lr} - movs r0, 0x7 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - bne _080E4882 - bl sub_80E48F4 -_080E4882: - ldr r4, _080E48B8 @ =gUnknown_203AAB4 - ldr r0, [r4] - ldr r1, _080E48BC @ =0x0000025f - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _080E489E - bl sub_80E54C0 - ldr r0, [r4] - ldr r1, _080E48BC @ =0x0000025f - adds r0, r1 - movs r1, 0 - strb r1, [r0] -_080E489E: - bl RunTasks - bl RunTextPrinters - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E48B8: .4byte gUnknown_203AAB4 -_080E48BC: .4byte 0x0000025f - thumb_func_end sub_80E4870 - - thumb_func_start sub_80E48C0 -sub_80E48C0: @ 80E48C0 - push {r4,lr} - sub sp, 0x8 - adds r1, r0, 0 - ldr r4, _080E48F0 @ =gStringVar4 - adds r0, r4, 0 - bl StringExpandPlaceholders - bl GetTextSpeedSetting - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x7 - adds r1, r4, 0 - movs r2, 0 - movs r3, 0x2 - bl sub_80E559C - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E48F0: .4byte gStringVar4 - thumb_func_end sub_80E48C0 - - thumb_func_start sub_80E48F4 -sub_80E48F4: @ 80E48F4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0xC - ldr r1, _080E4918 @ =gUnknown_203AAB4 - ldr r0, [r1] - ldrb r0, [r0] - adds r7, r1, 0 - cmp r0, 0x21 - bls _080E490C - b _080E4EDA -_080E490C: - lsls r0, 2 - ldr r1, _080E491C @ =_080E4920 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080E4918: .4byte gUnknown_203AAB4 -_080E491C: .4byte _080E4920 - .align 2, 0 -_080E4920: - .4byte _080E49A8 - .4byte _080E49F4 - .4byte _080E4A0C - .4byte _080E4A14 - .4byte _080E4A38 - .4byte _080E4EDA - .4byte _080E4EDA - .4byte _080E4EDA - .4byte _080E4A3E - .4byte _080E4A68 - .4byte _080E4EDA - .4byte _080E4EDA - .4byte _080E4AF4 - .4byte _080E4B20 - .4byte _080E4CFA - .4byte _080E4D18 - .4byte _080E4B58 - .4byte _080E4B70 - .4byte _080E4B98 - .4byte _080E4C5A - .4byte _080E4C70 - .4byte _080E4CE4 - .4byte _080E4CE8 - .4byte _080E4EDA - .4byte _080E4BDC - .4byte _080E4BF4 - .4byte _080E4C1C - .4byte _080E4C54 - .4byte _080E4D48 - .4byte _080E4D8C - .4byte _080E4E70 - .4byte _080E4E90 - .4byte _080E4EA8 - .4byte _080E4EC0 -_080E49A8: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - bl sub_80E5444 - ldr r4, _080E49EC @ =gUnknown_203AAB4 - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - bl sub_80E4EF0 - movs r0, 0 - bl sub_80E4F0C - bl sub_80E5300 - ldr r0, [r4] - ldr r1, _080E49F0 @ =0x0000025f - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - b _080E4EDA - .align 2, 0 -_080E49EC: .4byte gUnknown_203AAB4 -_080E49F0: .4byte 0x0000025f -_080E49F4: - ldr r0, _080E4A08 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080E4A02 - b _080E4EDA -_080E4A02: - ldr r1, [r7] - movs r0, 0x4 - b _080E4ED8 - .align 2, 0 -_080E4A08: .4byte gPaletteFade -_080E4A0C: - ldr r1, [r7] - ldrb r0, [r1] - adds r0, 0x1 - b _080E4ED8 -_080E4A14: - movs r0, 0 - bl sub_80E4F0C - ldr r2, _080E4A30 @ =gUnknown_203AAB4 - ldr r0, [r2] - ldr r3, _080E4A34 @ =0x0000025f - adds r0, r3 - movs r1, 0x1 - strb r1, [r0] - ldr r1, [r2] - ldrb r0, [r1] - adds r0, 0x1 - b _080E4ED8 - .align 2, 0 -_080E4A30: .4byte gUnknown_203AAB4 -_080E4A34: .4byte 0x0000025f -_080E4A38: - bl sub_80E5204 - b _080E4EDA -_080E4A3E: - ldr r0, _080E4A60 @ =gUnknown_83FFA8C - movs r1, 0x1 - str r1, [sp] - movs r1, 0xE - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x3 - movs r2, 0 - movs r3, 0x2 - bl CreateYesNoMenu - ldr r0, _080E4A64 @ =gUnknown_203AAB4 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - b _080E4ED8 - .align 2, 0 -_080E4A60: .4byte gUnknown_83FFA8C -_080E4A64: .4byte gUnknown_203AAB4 -_080E4A68: - bl sub_80E5574 - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _080E4A88 - cmp r1, 0 - bgt _080E4A82 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080E4AE6 - b _080E4EDA -_080E4A82: - cmp r1, 0x1 - beq _080E4AE6 - b _080E4EDA -_080E4A88: - ldr r4, _080E4AC8 @ =gUnknown_203AAB4 - ldr r2, [r4] - movs r6, 0x98 - lsls r6, 2 - adds r0, r2, r6 - ldrb r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080E4ACC @ =gPlayerParty - adds r0, r1 - ldr r3, _080E4AD0 @ =0x00000a67 - adds r1, r2, r3 - ldrb r1, [r1] - lsls r1, 1 - adds r2, 0xE8 - adds r2, r1 - ldrh r1, [r2] - bl GiveMoveToMon - lsls r0, 16 - ldr r1, _080E4AD4 @ =0xffff0000 - cmp r0, r1 - beq _080E4AE0 - ldr r0, _080E4AD8 @ =gUnknown_841E405 - bl sub_80E48C0 - ldr r1, _080E4ADC @ =gSpecialVar_0x8004 - movs r0, 0x1 - strh r0, [r1] - ldr r1, [r4] - movs r0, 0x1F - b _080E4ED8 - .align 2, 0 -_080E4AC8: .4byte gUnknown_203AAB4 -_080E4ACC: .4byte gPlayerParty -_080E4AD0: .4byte 0x00000a67 -_080E4AD4: .4byte 0xffff0000 -_080E4AD8: .4byte gUnknown_841E405 -_080E4ADC: .4byte gSpecialVar_0x8004 -_080E4AE0: - ldr r1, [r4] - movs r0, 0x10 - b _080E4ED8 -_080E4AE6: - ldr r0, _080E4AF0 @ =gUnknown_203AAB4 - ldr r1, [r0] - movs r0, 0x3 - b _080E4ED8 - .align 2, 0 -_080E4AF0: .4byte gUnknown_203AAB4 -_080E4AF4: - ldr r0, _080E4B18 @ =gUnknown_83FFA8C - movs r1, 0x1 - str r1, [sp] - movs r1, 0xE - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x3 - movs r2, 0 - movs r3, 0x2 - bl CreateYesNoMenu - ldr r0, _080E4B1C @ =gUnknown_203AAB4 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - b _080E4ED8 - .align 2, 0 -_080E4B18: .4byte gUnknown_83FFA8C -_080E4B1C: .4byte gUnknown_203AAB4 -_080E4B20: - bl sub_80E5574 - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _080E4B40 - cmp r1, 0 - bgt _080E4B3A - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080E4B4C - b _080E4EDA -_080E4B3A: - cmp r1, 0x1 - beq _080E4B4C - b _080E4EDA -_080E4B40: - ldr r0, _080E4B48 @ =gSpecialVar_0x8004 - strh r1, [r0] - b _080E4ED2 - .align 2, 0 -_080E4B48: .4byte gSpecialVar_0x8004 -_080E4B4C: - ldr r0, _080E4B54 @ =gUnknown_203AAB4 - ldr r1, [r0] - movs r0, 0x3 - b _080E4ED8 - .align 2, 0 -_080E4B54: .4byte gUnknown_203AAB4 -_080E4B58: - ldr r0, _080E4B68 @ =gUnknown_841E414 - bl sub_80E48C0 - ldr r0, _080E4B6C @ =gUnknown_203AAB4 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - b _080E4ED8 - .align 2, 0 -_080E4B68: .4byte gUnknown_841E414 -_080E4B6C: .4byte gUnknown_203AAB4 -_080E4B70: - ldr r0, _080E4B90 @ =gUnknown_83FFA8C - movs r1, 0x1 - str r1, [sp] - movs r1, 0xE - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x3 - movs r2, 0 - movs r3, 0x2 - bl CreateYesNoMenu - ldr r0, _080E4B94 @ =gUnknown_203AAB4 - ldr r1, [r0] - movs r0, 0x12 - b _080E4ED8 - .align 2, 0 -_080E4B90: .4byte gUnknown_83FFA8C -_080E4B94: .4byte gUnknown_203AAB4 -_080E4B98: - bl sub_80E5574 - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _080E4BB8 - cmp r1, 0 - bgt _080E4BB2 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080E4BD0 - b _080E4EDA -_080E4BB2: - cmp r1, 0x1 - beq _080E4BD0 - b _080E4EDA -_080E4BB8: - ldr r0, _080E4BC8 @ =gUnknown_841E50C - bl sub_80E48C0 - ldr r0, _080E4BCC @ =gUnknown_203AAB4 - ldr r1, [r0] - movs r0, 0x13 - b _080E4ED8 - .align 2, 0 -_080E4BC8: .4byte gUnknown_841E50C -_080E4BCC: .4byte gUnknown_203AAB4 -_080E4BD0: - ldr r0, _080E4BD8 @ =gUnknown_203AAB4 - ldr r1, [r0] - movs r0, 0x18 - b _080E4ED8 - .align 2, 0 -_080E4BD8: .4byte gUnknown_203AAB4 -_080E4BDC: - ldr r0, _080E4BEC @ =gUnknown_841E481 - bl sub_80E48C0 - ldr r0, _080E4BF0 @ =gUnknown_203AAB4 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - b _080E4ED8 - .align 2, 0 -_080E4BEC: .4byte gUnknown_841E481 -_080E4BF0: .4byte gUnknown_203AAB4 -_080E4BF4: - ldr r0, _080E4C14 @ =gUnknown_83FFA8C - movs r1, 0x1 - str r1, [sp] - movs r1, 0xE - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x3 - movs r2, 0 - movs r3, 0x2 - bl CreateYesNoMenu - ldr r0, _080E4C18 @ =gUnknown_203AAB4 - ldr r1, [r0] - movs r0, 0x1A - b _080E4ED8 - .align 2, 0 -_080E4C14: .4byte gUnknown_83FFA8C -_080E4C18: .4byte gUnknown_203AAB4 -_080E4C1C: - bl sub_80E5574 - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _080E4C3C - cmp r1, 0 - bgt _080E4C36 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080E4C48 - b _080E4EDA -_080E4C36: - cmp r1, 0x1 - beq _080E4C48 - b _080E4EDA -_080E4C3C: - ldr r0, _080E4C44 @ =gUnknown_203AAB4 - ldr r1, [r0] - movs r0, 0x1B - b _080E4ED8 - .align 2, 0 -_080E4C44: .4byte gUnknown_203AAB4 -_080E4C48: - ldr r0, _080E4C50 @ =gUnknown_203AAB4 - ldr r1, [r0] - movs r0, 0x10 - b _080E4ED8 - .align 2, 0 -_080E4C50: .4byte gUnknown_203AAB4 -_080E4C54: - ldr r1, [r7] - movs r0, 0x3 - b _080E4ED8 -_080E4C5A: - ldr r1, [r7] - movs r2, 0 - movs r0, 0x14 - strb r0, [r1] - subs r0, 0x15 - str r2, [sp] - movs r1, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _080E4EDA -_080E4C70: - ldr r0, _080E4CC8 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080E4C7E - b _080E4EDA -_080E4C7E: - ldr r2, [r7] - ldr r6, _080E4CCC @ =0x00000263 - adds r0, r2, r6 - ldrb r0, [r0] - ldr r3, _080E4CD0 @ =0x00000a68 - adds r1, r2, r3 - ldr r6, _080E4CD4 @ =0x00000a6a - adds r2, r6 - bl ListMenuGetScrollAndRow - bl FreeAllWindowBuffers - ldr r0, _080E4CD8 @ =gPlayerParty - ldr r5, [r7] - movs r2, 0x98 - lsls r2, 2 - adds r1, r5, r2 - ldrb r1, [r1] - ldr r2, _080E4CDC @ =gPlayerPartyCount - ldrb r2, [r2] - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldr r3, _080E4CE0 @ =sub_80E4800 - subs r6, 0x3 - adds r4, r5, r6 - ldrb r4, [r4] - lsls r4, 1 - adds r5, 0xE8 - adds r5, r4 - ldrh r4, [r5] - str r4, [sp] - bl ShowSelectMovePokemonSummaryScreen - ldr r1, [r7] - movs r0, 0x1C - b _080E4ED8 - .align 2, 0 -_080E4CC8: .4byte gPaletteFade -_080E4CCC: .4byte 0x00000263 -_080E4CD0: .4byte 0x00000a68 -_080E4CD4: .4byte 0x00000a6a -_080E4CD8: .4byte gPlayerParty -_080E4CDC: .4byte gPlayerPartyCount -_080E4CE0: .4byte sub_80E4800 -_080E4CE4: - ldr r1, [r7] - b _080E4ED6 -_080E4CE8: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - b _080E4EDA -_080E4CFA: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _080E4D14 @ =gUnknown_203AAB4 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - b _080E4ED8 - .align 2, 0 -_080E4D14: .4byte gUnknown_203AAB4 -_080E4D18: - ldr r0, _080E4D3C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080E4D26 - b _080E4EDA -_080E4D26: - bl FreeAllWindowBuffers - ldr r0, _080E4D40 @ =gUnknown_203AAB4 - ldr r0, [r0] - bl Free - ldr r0, _080E4D44 @ =CB2_ReturnToField - bl SetMainCallback2 - b _080E4EDA - .align 2, 0 -_080E4D3C: .4byte gPaletteFade -_080E4D40: .4byte gUnknown_203AAB4 -_080E4D44: .4byte CB2_ReturnToField -_080E4D48: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - ldr r0, _080E4D88 @ =gUnknown_203AAB4 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - bl sub_80E5444 - bl sub_80E4EF0 - bl sub_80E5300 - movs r0, 0x1 - bl sub_80E4F0C - bl sub_80E54C0 - b _080E4EDA - .align 2, 0 -_080E4D88: .4byte gUnknown_203AAB4 -_080E4D8C: - ldr r0, _080E4DAC @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080E4D9A - b _080E4EDA -_080E4D9A: - ldr r1, [r7] - ldr r0, _080E4DB0 @ =0x00000261 - adds r2, r1, r0 - ldrb r0, [r2] - cmp r0, 0x4 - bne _080E4DB4 - movs r0, 0x18 - b _080E4ED8 - .align 2, 0 -_080E4DAC: .4byte gPaletteFade -_080E4DB0: .4byte 0x00000261 -_080E4DB4: - movs r4, 0x98 - lsls r4, 2 - adds r0, r1, r4 - ldrb r0, [r0] - movs r6, 0x64 - muls r0, r6 - ldr r5, _080E4E50 @ =gPlayerParty - adds r0, r5 - ldrb r1, [r2] - adds r1, 0xD - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - ldr r2, _080E4E54 @ =gStringVar3 - movs r1, 0xD - mov r9, r1 - mov r1, r9 - muls r1, r0 - ldr r3, _080E4E58 @ =gMoveNames - mov r8, r3 - add r1, r8 - adds r0, r2, 0 - bl StringCopy - ldr r1, [r7] - adds r0, r1, r4 - ldrb r0, [r0] - muls r0, r6 - adds r0, r5 - ldr r2, _080E4E5C @ =0x00000261 - adds r1, r2 - ldrb r1, [r1] - bl RemoveMonPPBonus - ldr r3, [r7] - adds r4, r3, r4 - ldrb r0, [r4] - muls r0, r6 - adds r0, r5 - ldr r4, _080E4E60 @ =0x00000a67 - adds r1, r3, r4 - ldrb r2, [r1] - lsls r2, 1 - adds r1, r3, 0 - adds r1, 0xE8 - adds r1, r2 - ldrh r1, [r1] - ldr r6, _080E4E5C @ =0x00000261 - adds r3, r6 - ldrb r2, [r3] - bl SetMonMoveSlot - ldr r0, _080E4E64 @ =gStringVar2 - ldr r2, [r7] - adds r4, r2, r4 - ldrb r1, [r4] - lsls r1, 1 - adds r2, 0xE8 - adds r2, r1 - ldrh r1, [r2] - mov r2, r9 - muls r2, r1 - adds r1, r2, 0 - add r1, r8 - bl StringCopy - ldr r0, _080E4E68 @ =gUnknown_841E493 - bl sub_80E48C0 - ldr r1, [r7] - movs r0, 0x1E - strb r0, [r1] - ldr r1, _080E4E6C @ =gSpecialVar_0x8004 - movs r0, 0x1 - strh r0, [r1] - b _080E4EDA - .align 2, 0 -_080E4E50: .4byte gPlayerParty -_080E4E54: .4byte gStringVar3 -_080E4E58: .4byte gMoveNames -_080E4E5C: .4byte 0x00000261 -_080E4E60: .4byte 0x00000a67 -_080E4E64: .4byte gStringVar2 -_080E4E68: .4byte gUnknown_841E493 -_080E4E6C: .4byte gSpecialVar_0x8004 -_080E4E70: - ldr r0, _080E4E88 @ =gUnknown_841E4C0 - bl sub_80E48C0 - ldr r0, _080E4E8C @ =gUnknown_203AAB4 - ldr r1, [r0] - movs r0, 0x1F - strb r0, [r1] - adds r0, 0xE2 - bl PlayFanfare - b _080E4EDA - .align 2, 0 -_080E4E88: .4byte gUnknown_841E4C0 -_080E4E8C: .4byte gUnknown_203AAB4 -_080E4E90: - ldr r0, _080E4EA0 @ =0x00000101 - bl PlayFanfare - ldr r0, _080E4EA4 @ =gUnknown_203AAB4 - ldr r1, [r0] - movs r0, 0x20 - b _080E4ED8 - .align 2, 0 -_080E4EA0: .4byte 0x00000101 -_080E4EA4: .4byte gUnknown_203AAB4 -_080E4EA8: - bl IsFanfareTaskInactive - lsls r0, 24 - cmp r0, 0 - beq _080E4EDA - ldr r0, _080E4EBC @ =gUnknown_203AAB4 - ldr r1, [r0] - movs r0, 0x21 - b _080E4ED8 - .align 2, 0 -_080E4EBC: .4byte gUnknown_203AAB4 -_080E4EC0: - ldr r0, _080E4EE8 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080E4EDA - movs r0, 0x5 - bl PlaySE -_080E4ED2: - ldr r0, _080E4EEC @ =gUnknown_203AAB4 - ldr r1, [r0] -_080E4ED6: - movs r0, 0xE -_080E4ED8: - strb r0, [r1] -_080E4EDA: - add sp, 0xC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E4EE8: .4byte gMain -_080E4EEC: .4byte gUnknown_203AAB4 - thumb_func_end sub_80E48F4 - - thumb_func_start sub_80E4EF0 -sub_80E4EF0: @ 80E4EF0 - push {r4,lr} - movs r4, 0x6 -_080E4EF4: - lsls r0, r4, 24 - lsrs r0, 24 - movs r1, 0x1 - movs r2, 0xE - bl DrawTextBorderOuter - adds r4, 0x1 - cmp r4, 0x7 - ble _080E4EF4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80E4EF0 - - thumb_func_start sub_80E4F0C -sub_80E4F0C: @ 80E4F0C - push {r4,r5,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _080E4F42 - ldr r4, _080E4F4C @ =gStringVar4 - ldr r1, _080E4F50 @ =gUnknown_841E3E3 - adds r0, r4, 0 - bl StringExpandPlaceholders - str r5, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x7 - adds r1, r4, 0 - movs r2, 0 - movs r3, 0x2 - bl sub_80E559C - movs r0, 0x7 - bl PutWindowTilemap - movs r0, 0x7 - movs r1, 0x3 - bl CopyWindowToVram -_080E4F42: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E4F4C: .4byte gStringVar4 -_080E4F50: .4byte gUnknown_841E3E3 - thumb_func_end sub_80E4F0C - - thumb_func_start sub_80E4F54 -sub_80E4F54: @ 80E4F54 - push {r4,lr} - ldr r2, _080E4FA4 @ =gUnknown_203AAB4 - ldr r0, [r2] - movs r1, 0 - strb r1, [r0] - ldr r0, [r2] - strb r1, [r0, 0x2] - ldr r0, [r2] - strb r1, [r0, 0x19] - ldr r0, [r2] - strb r1, [r0, 0x18] - ldr r0, [r2] - strb r1, [r0, 0x1C] - ldr r0, [r2] - strb r1, [r0, 0x1A] - ldr r0, [r2] - strb r1, [r0, 0x1B] - ldr r0, [r2] - strb r1, [r0, 0x1D] - ldr r0, [r2] - strb r1, [r0, 0x1E] - ldr r0, [r2] - ldr r3, _080E4FA8 @ =0x0000025f - adds r0, r3 - strb r1, [r0] - movs r3, 0 - adds r4, r2, 0 - movs r2, 0 -_080E4F8C: - ldr r0, [r4] - lsls r1, r3, 1 - adds r0, 0xE8 - adds r0, r1 - strh r2, [r0] - adds r3, 0x1 - cmp r3, 0x13 - ble _080E4F8C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E4FA4: .4byte gUnknown_203AAB4 -_080E4FA8: .4byte 0x0000025f - thumb_func_end sub_80E4F54 - - thumb_func_start sub_80E4FAC -sub_80E4FAC: @ 80E4FAC - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x30 - ldrsh r0, [r4, r1] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 1 - movs r0, 0xFF - ands r1, r0 - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0x1 - beq _080E4FD0 - cmp r0, 0x1 - ble _080E4FF6 - cmp r0, 0x2 - beq _080E4FE4 - b _080E4FF6 -_080E4FD0: - adds r0, r1, 0 - movs r1, 0x3 - bl Sin - ldrh r1, [r4, 0x32] - adds r2, r0, 0 - muls r2, r1 - adds r0, r2, 0 - strh r0, [r4, 0x24] - b _080E4FF6 -_080E4FE4: - adds r0, r1, 0 - movs r1, 0x1 - bl Sin - ldrh r1, [r4, 0x32] - adds r2, r0, 0 - muls r2, r1 - adds r0, r2, 0 - strh r0, [r4, 0x26] -_080E4FF6: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80E4FAC - - thumb_func_start sub_80E5004 -sub_80E5004: @ 80E5004 - push {r4-r6,lr} - mov r6, r8 - push {r6} - ldr r0, _080E50B4 @ =gUnknown_83FF9F4 - bl LoadSpriteSheet - ldr r0, _080E50B8 @ =gUnknown_83FF9FC - bl LoadSpritePalette - ldr r0, _080E50BC @ =gUnknown_83FFA24 - mov r8, r0 - movs r1, 0xC8 - movs r2, 0x4 - movs r3, 0 - bl CreateSprite - ldr r5, _080E50C0 @ =gUnknown_203AAB4 - ldr r1, [r5] - strb r0, [r1, 0x3] - ldr r0, [r5] - ldrb r1, [r0, 0x3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _080E50C4 @ =gSprites - adds r0, r4 - movs r1, 0x1 - bl StartSpriteAnim - ldr r2, [r5] - ldrb r1, [r2, 0x3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r6, 0x2 - strh r6, [r0, 0x2E] - ldrb r1, [r2, 0x3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, _080E50C8 @ =0x0000ffff - strh r1, [r0, 0x32] - mov r0, r8 - movs r1, 0xC8 - movs r2, 0x6C - movs r3, 0 - bl CreateSprite - ldr r1, [r5] - strb r0, [r1, 0x3] - ldr r2, [r5] - ldrb r1, [r2, 0x3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r6, [r0, 0x2E] - ldrb r1, [r2, 0x3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x1 - strh r1, [r0, 0x32] - movs r2, 0 - movs r3, 0x4 -_080E508C: - ldr r0, [r5] - adds r0, 0x3 - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r3 - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0x1 - ble _080E508C - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080E50B4: .4byte gUnknown_83FF9F4 -_080E50B8: .4byte gUnknown_83FF9FC -_080E50BC: .4byte gUnknown_83FFA24 -_080E50C0: .4byte gUnknown_203AAB4 -_080E50C4: .4byte gSprites -_080E50C8: .4byte 0x0000ffff - thumb_func_end sub_80E5004 - - thumb_func_start sub_80E50CC -sub_80E50CC: @ 80E50CC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - ldr r7, _080E51E8 @ =gUnknown_203AAB4 - ldr r1, [r7] - movs r4, 0x98 - lsls r4, 2 - adds r0, r1, r4 - ldrb r0, [r0] - movs r6, 0x64 - muls r0, r6 - ldr r5, _080E51EC @ =gPlayerParty - adds r0, r5 - adds r1, 0xE8 - bl GetMoveRelearnerMoves - ldr r1, [r7] - strb r0, [r1, 0x1A] - ldr r1, [r7] - adds r4, r1, r4 - ldrb r0, [r4] - muls r0, r6 - adds r0, r5 - adds r1, 0xE8 - bl GetMoveRelearnerMoves - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r5, 0 - ldr r0, [r7] - ldrb r0, [r0, 0x1A] - cmp r5, r0 - bge _080E513C - adds r6, r7, 0 - movs r7, 0xD - movs r4, 0x8D - lsls r4, 1 -_080E511A: - ldr r1, [r6] - adds r0, r1, r4 - lsls r2, r5, 1 - adds r1, 0xE8 - adds r1, r2 - ldrh r1, [r1] - muls r1, r7 - ldr r2, _080E51F0 @ =gMoveNames - adds r1, r2 - bl StringCopy - adds r4, 0xD - adds r5, 0x1 - ldr r0, [r6] - ldrb r0, [r0, 0x1A] - cmp r5, r0 - blt _080E511A -_080E513C: - ldr r4, _080E51E8 @ =gUnknown_203AAB4 - ldr r0, [r4] - movs r1, 0x98 - lsls r1, 2 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080E51EC @ =gPlayerParty - adds r0, r1 - movs r1, 0x2 - mov r2, sp - bl GetMonData - ldr r0, _080E51F4 @ =gStringVar1 - mov r1, sp - bl StringCopy10 - ldr r0, [r4] - ldrb r2, [r0, 0x1A] - movs r1, 0xD - muls r1, r2 - movs r7, 0x8D - lsls r7, 1 - adds r1, r7 - adds r0, r1 - ldr r1, _080E51F8 @ =gFameCheckerText_Cancel - bl StringCopy - ldr r1, [r4] - ldrb r0, [r1, 0x1A] - adds r0, 0x1 - strb r0, [r1, 0x1A] - movs r5, 0 - movs r3, 0x1 - add r3, r8 - mov r12, r3 - cmp r5, r8 - bge _080E51AA - adds r6, r4, 0 - adds r4, r7, 0 -_080E518E: - ldr r0, [r6] - lsls r3, r5, 3 - adds r1, r0, 0 - adds r1, 0x20 - adds r1, r3 - adds r2, r0, r4 - str r2, [r1] - adds r0, 0x24 - adds r0, r3 - str r5, [r0] - adds r4, 0xD - adds r5, 0x1 - cmp r5, r8 - blt _080E518E -_080E51AA: - ldr r4, _080E51E8 @ =gUnknown_203AAB4 - ldr r2, [r4] - lsls r3, r5, 3 - adds r0, r2, 0 - adds r0, 0x20 - adds r0, r3 - ldr r1, _080E51F8 @ =gFameCheckerText_Cancel - str r1, [r0] - adds r2, 0x24 - adds r2, r3 - movs r0, 0xFE - str r0, [r2] - ldr r2, _080E51FC @ =gMultiuseListMenuTemplate - adds r1, r2, 0 - ldr r0, _080E5200 @ =gUnknown_83FFA94 - ldm r0!, {r3,r5,r6} - stm r1!, {r3,r5,r6} - ldm r0!, {r3,r5,r6} - stm r1!, {r3,r5,r6} - ldr r0, [r4] - adds r0, 0x20 - str r0, [r2] - mov r5, r12 - strh r5, [r2, 0xC] - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E51E8: .4byte gUnknown_203AAB4 -_080E51EC: .4byte gPlayerParty -_080E51F0: .4byte gMoveNames -_080E51F4: .4byte gStringVar1 -_080E51F8: .4byte gFameCheckerText_Cancel -_080E51FC: .4byte gMultiuseListMenuTemplate -_080E5200: .4byte gUnknown_83FFA94 - thumb_func_end sub_80E50CC - - thumb_func_start sub_80E5204 -sub_80E5204: @ 80E5204 - push {r4,r5,lr} - ldr r4, _080E5258 @ =gUnknown_203AAB4 - ldr r0, [r4] - ldr r1, _080E525C @ =0x00000263 - adds r0, r1 - ldrb r0, [r0] - bl ListMenu_ProcessInput - ldr r0, _080E5260 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080E5284 - movs r0, 0x5 - bl PlaySE - ldr r1, [r4] - ldr r2, _080E5264 @ =0x00000a67 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0xFE - beq _080E5270 - movs r0, 0x8 - strb r0, [r1] - ldr r0, _080E5268 @ =gStringVar2 - ldr r1, [r4] - adds r2, r1, r2 - ldrb r3, [r2] - movs r2, 0xD - muls r2, r3 - movs r3, 0x8D - lsls r3, 1 - adds r2, r3 - adds r1, r2 - bl StringCopy - ldr r0, _080E526C @ =gUnknown_841E3FB - bl sub_80E48C0 - b _080E529E - .align 2, 0 -_080E5258: .4byte gUnknown_203AAB4 -_080E525C: .4byte 0x00000263 -_080E5260: .4byte gMain -_080E5264: .4byte 0x00000a67 -_080E5268: .4byte gStringVar2 -_080E526C: .4byte gUnknown_841E3FB -_080E5270: - ldr r0, _080E5280 @ =gUnknown_841E4E2 - bl sub_80E48C0 - ldr r1, [r4] - movs r0, 0xC - strb r0, [r1] - b _080E529E - .align 2, 0 -_080E5280: .4byte gUnknown_841E4E2 -_080E5284: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080E529E - movs r0, 0x5 - bl PlaySE - ldr r0, [r4] - movs r1, 0xC - strb r1, [r0] - ldr r0, _080E52DC @ =gUnknown_841E4E2 - bl sub_80E48C0 -_080E529E: - ldr r0, _080E52E0 @ =gUnknown_203AAB4 - ldr r4, [r0] - ldrb r0, [r4, 0x1A] - cmp r0, 0x6 - bls _080E52FA - ldr r2, _080E52E4 @ =gSprites - movs r0, 0x3E - adds r0, r2 - mov r12, r0 - ldrb r0, [r0] - movs r1, 0x5 - negs r1, r1 - adds r3, r1, 0 - ands r3, r0 - mov r0, r12 - strb r3, [r0] - adds r5, r2, 0 - adds r5, 0x82 - ldrb r0, [r5] - adds r2, r1, 0 - ands r2, r0 - strb r2, [r5] - ldrb r0, [r4, 0x19] - cmp r0, 0 - bne _080E52E8 - movs r1, 0x4 - adds r0, r3, 0 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - b _080E52FA - .align 2, 0 -_080E52DC: .4byte gUnknown_841E4E2 -_080E52E0: .4byte gUnknown_203AAB4 -_080E52E4: .4byte gSprites -_080E52E8: - ldrb r1, [r4, 0x19] - ldrb r0, [r4, 0x1A] - subs r0, 0x6 - cmp r1, r0 - bne _080E52FA - movs r1, 0x4 - adds r0, r2, 0 - orrs r0, r1 - strb r0, [r5] -_080E52FA: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80E5204 - - thumb_func_start sub_80E5300 -sub_80E5300: @ 80E5300 - push {r4,lr} - ldr r0, _080E5330 @ =gMultiuseListMenuTemplate - ldr r4, _080E5334 @ =gUnknown_203AAB4 - ldr r2, [r4] - ldr r3, _080E5338 @ =0x00000a68 - adds r1, r2, r3 - ldrh r1, [r1] - adds r3, 0x2 - adds r2, r3 - ldrh r2, [r2] - bl ListMenuInit - ldr r1, [r4] - ldr r2, _080E533C @ =0x00000263 - adds r1, r2 - strb r0, [r1] - movs r0, 0x6 - movs r1, 0x1 - bl CopyWindowToVram - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E5330: .4byte gMultiuseListMenuTemplate -_080E5334: .4byte gUnknown_203AAB4 -_080E5338: .4byte 0x00000a68 -_080E533C: .4byte 0x00000263 - thumb_func_end sub_80E5300 - - thumb_func_start sub_80E5340 -sub_80E5340: @ 80E5340 - push {r4,r5,lr} - sub sp, 0x3C - lsls r0, 16 - lsrs r5, r0, 16 - ldr r1, _080E5380 @ =gBattleMoves - lsls r0, r5, 1 - adds r0, r5 - lsls r0, 2 - adds r4, r0, r1 - ldrb r1, [r4, 0x2] - adds r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x2 - movs r2, 0x1 - movs r3, 0x4 - bl BlitMoveInfoIcon - ldrb r0, [r4, 0x1] - cmp r0, 0x1 - bhi _080E5388 - ldr r1, _080E5384 @ =gText_ThreeHyphens - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0x3 - movs r2, 0x1 - movs r3, 0x4 - bl sub_80E559C - b _080E53A6 - .align 2, 0 -_080E5380: .4byte gBattleMoves -_080E5384: .4byte gText_ThreeHyphens -_080E5388: - ldrb r1, [r4, 0x1] - add r0, sp, 0x8 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0x3 - add r1, sp, 0x8 - movs r2, 0x1 - movs r3, 0x4 - bl sub_80E559C -_080E53A6: - ldr r2, _080E53CC @ =gBattleMoves - lsls r1, r5, 1 - adds r0, r1, r5 - lsls r0, 2 - adds r0, r2 - ldrb r2, [r0, 0x3] - adds r4, r1, 0 - cmp r2, 0 - bne _080E53D4 - ldr r1, _080E53D0 @ =gText_ThreeHyphens - str r2, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - movs r0, 0x3 - movs r2, 0x1 - movs r3, 0x12 - bl sub_80E559C - b _080E53F4 - .align 2, 0 -_080E53CC: .4byte gBattleMoves -_080E53D0: .4byte gText_ThreeHyphens -_080E53D4: - ldrb r1, [r0, 0x3] - add r0, sp, 0x8 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - movs r0, 0 - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - movs r0, 0x3 - add r1, sp, 0x8 - movs r2, 0x1 - movs r3, 0x12 - bl sub_80E559C -_080E53F4: - ldr r1, _080E543C @ =gBattleMoves - adds r0, r4, r5 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x4] - add r0, sp, 0x8 - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - movs r4, 0 - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0x4 - add r1, sp, 0x8 - movs r2, 0x2 - movs r3, 0x2 - bl sub_80E559C - ldr r1, _080E5440 @ =gMoveDescriptionPointers - subs r0, r5, 0x1 - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0x5 - movs r2, 0x1 - movs r3, 0 - bl sub_80E559C - add sp, 0x3C - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E543C: .4byte gBattleMoves -_080E5440: .4byte gMoveDescriptionPointers - thumb_func_end sub_80E5340 - - thumb_func_start sub_80E5444 -sub_80E5444: @ 80E5444 - push {lr} - movs r0, 0 - movs r1, 0x13 - movs r2, 0x1 - movs r3, 0x4 - bl BlitMoveInfoIcon - movs r0, 0x1 - movs r1, 0x14 - movs r2, 0 - movs r3, 0x4 - bl BlitMoveInfoIcon - movs r0, 0x1 - movs r1, 0x15 - movs r2, 0 - movs r3, 0x13 - bl BlitMoveInfoIcon - movs r0, 0 - movs r1, 0x16 - movs r2, 0x1 - movs r3, 0x13 - bl BlitMoveInfoIcon - movs r0, 0 - movs r1, 0x17 - movs r2, 0x1 - movs r3, 0x22 - bl BlitMoveInfoIcon - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0x4 - bl PutWindowTilemap - movs r0, 0x3 - bl PutWindowTilemap - movs r0, 0x5 - bl PutWindowTilemap - movs r0, 0x2 - bl PutWindowTilemap - movs r0, 0x7 - bl PutWindowTilemap - movs r0, 0 - movs r1, 0x2 - bl CopyWindowToVram - movs r0, 0x1 - movs r1, 0x2 - bl CopyWindowToVram - pop {r0} - bx r0 - thumb_func_end sub_80E5444 - - thumb_func_start sub_80E54C0 -sub_80E54C0: @ 80E54C0 - push {r4,r5,lr} - ldr r0, _080E54E0 @ =gUnknown_203AAB4 - ldr r1, [r0] - ldr r0, _080E54E4 @ =0x00000a67 - adds r2, r1, r0 - ldrb r0, [r2] - cmp r0, 0xFE - beq _080E54E8 - lsls r0, 1 - adds r1, 0xE8 - adds r1, r0 - ldrh r0, [r1] - bl sub_80E5340 - b _080E5504 - .align 2, 0 -_080E54E0: .4byte gUnknown_203AAB4 -_080E54E4: .4byte 0x00000a67 -_080E54E8: - movs r5, 0x2 -_080E54EA: - lsls r4, r5, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0 - bl FillWindowPixelBuffer - adds r0, r4, 0 - movs r1, 0x2 - bl CopyWindowToVram - adds r5, 0x1 - cmp r5, 0x5 - ble _080E54EA -_080E5504: - movs r0, 0x3 - movs r1, 0x2 - bl CopyWindowToVram - movs r0, 0x4 - movs r1, 0x2 - bl CopyWindowToVram - movs r0, 0x2 - movs r1, 0x2 - bl CopyWindowToVram - movs r0, 0x2 - movs r1, 0x2 - bl CopyWindowToVram - movs r0, 0x5 - movs r1, 0x2 - bl CopyWindowToVram - movs r0, 0x7 - movs r1, 0x3 - bl CopyWindowToVram - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80E54C0 - - thumb_func_start sub_80E553C -sub_80E553C: @ 80E553C - push {r4,lr} - adds r4, r0, 0 - lsls r1, 24 - cmp r1, 0 - bne _080E5560 - movs r0, 0x5 - bl PlaySE - ldr r2, _080E5568 @ =gUnknown_203AAB4 - ldr r0, [r2] - ldr r1, _080E556C @ =0x0000025f - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r2] - ldr r1, _080E5570 @ =0x00000a67 - adds r0, r1 - strb r4, [r0] -_080E5560: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E5568: .4byte gUnknown_203AAB4 -_080E556C: .4byte 0x0000025f -_080E5570: .4byte 0x00000a67 - thumb_func_end sub_80E553C - - thumb_func_start sub_80E5574 -sub_80E5574: @ 80E5574 - push {r4,lr} - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r4, r0, 24 - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - beq _080E5594 - movs r0, 0x6 - bl PutWindowTilemap - movs r0, 0x6 - movs r1, 0x1 - bl CopyWindowToVram -_080E5594: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80E5574 - - thumb_func_start sub_80E559C -sub_80E559C: @ 80E559C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - mov r10, r1 - ldr r4, [sp, 0x38] - lsls r0, 24 - lsrs r5, r0, 24 - lsls r2, 24 - lsrs r7, r2, 24 - lsls r3, 24 - lsrs r6, r3, 24 - movs r0, 0x1 - mov r8, r0 - mov r9, r0 - cmp r4, 0x1 - bhi _080E55C8 - movs r1, 0 - mov r8, r1 - mov r9, r1 -_080E55C8: - cmp r4, 0 - blt _080E5622 - cmp r4, 0x1 - ble _080E55D6 - cmp r4, 0x2 - beq _080E5604 - b _080E5622 -_080E55D6: - ldr r2, _080E55F4 @ =gUnknown_203AAB4 - ldr r0, [r2] - ldr r1, _080E55F8 @ =0x00000a64 - adds r0, r1 - movs r1, 0 - strb r1, [r0] - ldr r0, [r2] - ldr r1, _080E55FC @ =0x00000a65 - adds r0, r1 - movs r1, 0x2 - strb r1, [r0] - ldr r0, [r2] - ldr r1, _080E5600 @ =0x00000a66 - b _080E561C - .align 2, 0 -_080E55F4: .4byte gUnknown_203AAB4 -_080E55F8: .4byte 0x00000a64 -_080E55FC: .4byte 0x00000a65 -_080E5600: .4byte 0x00000a66 -_080E5604: - ldr r2, _080E5678 @ =gUnknown_203AAB4 - ldr r0, [r2] - ldr r1, _080E567C @ =0x00000a64 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r2] - ldr r1, _080E5680 @ =0x00000a65 - adds r0, r1 - strb r4, [r0] - ldr r0, [r2] - adds r1, 0x1 -_080E561C: - adds r0, r1 - movs r1, 0x3 - strb r1, [r0] -_080E5622: - cmp r4, 0x1 - beq _080E563E - ldr r0, _080E5678 @ =gUnknown_203AAB4 - ldr r0, [r0] - ldr r1, _080E567C @ =0x00000a64 - adds r0, r1 - ldrb r0, [r0] - lsls r1, r0, 4 - orrs r1, r0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl FillWindowPixelBuffer -_080E563E: - mov r0, r8 - str r0, [sp] - mov r1, r9 - str r1, [sp, 0x4] - ldr r0, _080E5678 @ =gUnknown_203AAB4 - ldr r0, [r0] - ldr r1, _080E567C @ =0x00000a64 - adds r0, r1 - str r0, [sp, 0x8] - ldr r0, [sp, 0x34] - lsls r0, 24 - asrs r0, 24 - str r0, [sp, 0xC] - mov r0, r10 - str r0, [sp, 0x10] - adds r0, r5, 0 - movs r1, 0x3 - adds r2, r7, 0 - adds r3, r6, 0 - bl AddTextPrinterParameterized4 - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E5678: .4byte gUnknown_203AAB4 -_080E567C: .4byte 0x00000a64 -_080E5680: .4byte 0x00000a65 - thumb_func_end sub_80E559C - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/link_rfu_3.s b/asm/link_rfu_3.s index 63a894247..24125485e 100644 --- a/asm/link_rfu_3.s +++ b/asm/link_rfu_3.s @@ -12663,7 +12663,7 @@ sub_811C04C: @ 811C04C ldr r6, _0811C0CC @ =gPlayerParty ldr r5, _0811C0D0 @ =gEnemyParty _0811C05C: - ldr r0, _0811C0D4 @ =gUnknown_203B0D4 + ldr r0, _0811C0D4 @ =gSelectedOrderFromParty adds r0, r4, r0 ldrb r0, [r0] subs r0, 0x1 @@ -12717,7 +12717,7 @@ _0811C096: .align 2, 0 _0811C0CC: .4byte gPlayerParty _0811C0D0: .4byte gEnemyParty -_0811C0D4: .4byte gUnknown_203B0D4 +_0811C0D4: .4byte gSelectedOrderFromParty _0811C0D8: .4byte gTrainerBattleOpponent_A _0811C0DC: .4byte CB2_InitBattle thumb_func_end sub_811C04C @@ -13029,7 +13029,7 @@ _0811C3BC: movs r1, 0 movs r2, 0x20 bl memset - ldr r0, _0811C3DC @ =gUnknown_203B0D4 + ldr r0, _0811C3DC @ =gSelectedOrderFromParty ldrb r1, [r0] ldrb r0, [r0, 0x1] cmn r1, r0 @@ -13038,7 +13038,7 @@ _0811C3BC: b _0811C3E2 .align 2, 0 _0811C3D8: .4byte gBlockSendBuffer -_0811C3DC: .4byte gUnknown_203B0D4 +_0811C3DC: .4byte gSelectedOrderFromParty _0811C3E0: movs r0, 0x51 _0811C3E2: diff --git a/asm/macros/battle_anim_script.inc b/asm/macros/battle_anim_script.inc new file mode 100644 index 000000000..5426cdfba --- /dev/null +++ b/asm/macros/battle_anim_script.inc @@ -0,0 +1,285 @@ +@ commands + + .macro loadspritegfx tag:req + .byte 0x0 + .2byte \tag + .endm + + .macro unloadspritegfx tag:req + .byte 0x1 + .2byte \tag + .endm + +.macro createsprite template:req, anim_battler:req, subpriority_offset:req, argv:vararg + .byte 0x02 + .4byte \template + .if \anim_battler == ANIM_TARGET + .byte 0x80 | (\subpriority_offset & 0x7F) + .else + .byte (\subpriority_offset & 0x7F) + .endif + .byte (.Lsprite_\@_2 - .Lsprite_\@_1) / 2 +.Lsprite_\@_1: + .2byte \argv +.Lsprite_\@_2: + .endm + + .macro createvisualtask addr:req, priority:req, argv:vararg + .byte 0x03 + .4byte \addr + .byte \priority + .byte (.Lcreatetask_\@_2 - .Lcreatetask_\@_1) / 2 +.Lcreatetask_\@_1: + .2byte \argv +.Lcreatetask_\@_2: + .endm + + .macro delay param0:req + .byte 0x4 + .byte \param0 + .endm + + .macro waitforvisualfinish + .byte 0x5 + .endm + + .macro hang1 + .byte 0x6 + .endm + + .macro hang2 + .byte 0x7 + .endm + + .macro end + .byte 0x8 + .endm + + .macro playse se:req + .byte 0x9 + .2byte \se + .endm + + .macro monbg battler:req + .byte 0xa + .byte \battler + .endm + + .macro clearmonbg battler:req + .byte 0xb + .byte \battler + .endm + + .macro setalpha eva:req, evb:req + .byte 0x0C + .2byte ((\evb) << 8) | (\eva) + .endm + + .macro blendoff + .byte 0xd + .endm + + .macro call param0:req + .byte 0xe + .4byte \param0 + .endm + + .macro return + .byte 0xf + .endm + + .macro setarg param0:req, param1:req + .byte 0x10 + .byte \param0 + .2byte \param1 + .endm + + .macro choosetwoturnanim param0:req, param1:req + .byte 0x11 + .4byte \param0 + .4byte \param1 + .endm + + .macro jumpifmoveturn param0:req, ptr:req + .byte 0x12 + .byte \param0 + .4byte \ptr + .endm + + .macro goto ptr:req + .byte 0x13 + .4byte \ptr + .endm + + .macro fadetobg bg:req + .byte 0x14 + .byte \bg + .endm + + .macro restorebg + .byte 0x15 + .endm + + .macro waitbgfadeout + .byte 0x16 + .endm + + .macro waitbgfadein + .byte 0x17 + .endm + + .macro changebg bg:req + .byte 0x18 + .byte \bg + .endm + + .macro playsewithpan se:req, pan:req + .byte 0x19 + .2byte \se + .byte \pan + .endm + + .macro setpan pan:req + .byte 0x1a + .byte \pan + .endm + + .macro panse_1B se:req, param1:req, param2:req, param3:req, param4:req + .byte 0x1b + .2byte \se + .byte \param1 + .byte \param2 + .byte \param3 + .byte \param4 + .endm + + .macro loopsewithpan se:req, pan:req, wait:req, times:req + .byte 0x1c + .2byte \se + .byte \pan + .byte \wait + .byte \times + .endm + + .macro waitplaysewithpan se:req, pan:req, wait:req + .byte 0x1d + .2byte \se + .byte \pan + .byte \wait + .endm + + .macro setbldcnt param0:req + .byte 0x1e + .2byte \param0 + .endm + + .macro createsoundtask addr:req, argv:vararg + .byte 0x1F + .4byte \addr + .byte (.Lcreatetask_1F_\@_2 - .Lcreatetask_1F_\@_1) / 2 +.Lcreatetask_1F_\@_1: + .2byte \argv +.Lcreatetask_1F_\@_2: + .endm + + .macro waitsound + .byte 0x20 + .endm + + .macro jumpargeq param0:req, param1:req, ptr:req + .byte 0x21 + .byte \param0 + .2byte \param1 + .4byte \ptr + .endm + + .macro monbg_22 battler:req + .byte 0x22 + .byte \battler + .endm + + .macro clearmonbg_23 battler:req + .byte 0x23 + .byte \battler + .endm + + .macro jumpifcontest ptr:req + .byte 0x24 + .4byte \ptr + .endm + + .macro fadetobgfromset param0:req, param1:req, param2:req + .byte 0x25 + .byte \param0 + .byte \param1 + .byte \param2 + .endm + + .macro panse_26 se:req, param1:req, param2:req, param3:req, param4:req + .byte 0x26 + .2byte \se + .byte \param1 + .byte \param2 + .byte \param3 + .byte \param4 + .endm + + .macro panse_27 se:req, param1:req, param2:req, param3:req, param4:req + .byte 0x27 + .2byte \se + .byte \param1 + .byte \param2 + .byte \param3 + .byte \param4 + .endm + + .macro monbgprio_28 battler:req + .byte 0x28 + .byte \battler + .endm + + .macro monbgprio_29 + .byte 0x29 + .endm + + .macro monbgprio_2A battler:req + .byte 0x2a + .byte \battler + .endm + + .macro invisible battler:req + .byte 0x2b + .byte \battler + .endm + + .macro visible battler:req + .byte 0x2c + .byte \battler + .endm + + .macro doublebattle_2D battler:req + .byte 0x2d + .byte \battler + .endm + + .macro doublebattle_2E battler:req + .byte 0x2e + .byte \battler + .endm + + .macro stopsound + .byte 0x2f + .endm + +@ useful macros + .macro jumpreteq value:req, ptr:req + jumpargeq ARG_RET_ID, \value, \ptr + .endm + + .macro jumprettrue ptr:req + jumpreteq TRUE, \ptr + .endm + + .macro jumpretfalse ptr:req + jumpreteq FALSE, \ptr + .endm diff --git a/asm/map_name_popup.s b/asm/map_name_popup.s deleted file mode 100644 index ba64bdbe8..000000000 --- a/asm/map_name_popup.s +++ /dev/null @@ -1,490 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8098110 -sub_8098110: @ 8098110 - push {r4-r6,lr} - adds r6, r0, 0 - movs r0, 0x80 - lsls r0, 7 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080981A2 - ldr r0, _08098178 @ =gUnknown_203ADFA - ldrb r0, [r0] - subs r0, 0x2 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bls _080981A2 - ldr r5, _0809817C @ =sub_80981AC - adds r0, r5, 0 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xFF - bne _08098188 - adds r0, r5, 0 - movs r1, 0x5A - bl CreateTask - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - ldr r1, _08098180 @ =0xffffef7f - movs r0, 0 - movs r2, 0 - bl ChangeBgY - ldr r1, _08098184 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x8] - strh r1, [r0, 0xC] - strh r6, [r0, 0x18] - b _080981A2 - .align 2, 0 -_08098178: .4byte gUnknown_203ADFA -_0809817C: .4byte sub_80981AC -_08098180: .4byte 0xffffef7f -_08098184: .4byte gTasks -_08098188: - ldr r0, _080981A8 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0x4 - beq _0809819E - movs r0, 0x4 - strh r0, [r1, 0x8] -_0809819E: - movs r0, 0x1 - strh r0, [r1, 0xE] -_080981A2: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080981A8: .4byte gTasks - thumb_func_end sub_8098110 - - thumb_func_start sub_80981AC -sub_80981AC: @ 80981AC - push {r4,r5,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, _080981D0 @ =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x8 - bls _080981C6 - b _080982DE -_080981C6: - lsls r0, 2 - ldr r1, _080981D4 @ =_080981D8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080981D0: .4byte gTasks -_080981D4: .4byte _080981D8 - .align 2, 0 -_080981D8: - .4byte _080981FC - .4byte _0809820E - .4byte _08098218 - .4byte _08098234 - .4byte _0809824C - .4byte _080982DE - .4byte _0809827E - .4byte _080982A6 - .4byte _080982D6 -_080981FC: - movs r1, 0x18 - ldrsh r0, [r4, r1] - bl sub_8098340 - strh r0, [r4, 0x10] - movs r0, 0x1 - strh r0, [r4, 0x12] - strh r0, [r4, 0x8] - b _080982DE -_0809820E: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _080982DE -_08098218: - ldrh r0, [r4, 0xC] - subs r0, 0x2 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x18 - negs r1, r1 - cmp r0, r1 - bgt _080982DE - movs r0, 0x3 - strh r0, [r4, 0x8] - movs r0, 0 - strh r0, [r4, 0xA] - b _080982DE -_08098234: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x78 - ble _080982DE - movs r0, 0 - strh r0, [r4, 0xA] - movs r0, 0x4 - strh r0, [r4, 0x8] - b _080982DE -_0809824C: - ldrh r0, [r4, 0xC] - adds r0, 0x2 - strh r0, [r4, 0xC] - lsls r0, 16 - cmp r0, 0 - blt _080982DE - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _08098278 - ldrh r0, [r4, 0x10] - bl sub_8098400 - ldrb r0, [r4, 0x10] - movs r1, 0x2 - bl CopyWindowToVram - movs r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - strh r0, [r4, 0xE] - b _080982DE -_08098278: - movs r0, 0x6 - strh r0, [r4, 0x8] - b _080982E6 -_0809827E: - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080982A0 - movs r1, 0x14 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080982A0 - ldrb r0, [r4, 0x10] - bl rbox_fill_rectangle - ldrb r0, [r4, 0x10] - movs r1, 0x1 - bl CopyWindowToVram - movs r0, 0x1 - strh r0, [r4, 0x14] -_080982A0: - movs r0, 0x7 - strh r0, [r4, 0x8] - b _080982E6 -_080982A6: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _080982E6 - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080982C6 - ldrb r0, [r4, 0x10] - bl RemoveWindow - strh r5, [r4, 0x12] - movs r0, 0x1 - strh r0, [r4, 0x16] -_080982C6: - movs r0, 0x8 - strh r0, [r4, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - b _080982E6 -_080982D6: - adds r0, r2, 0 - bl DestroyTask - b _080982E6 -_080982DE: - ldrh r1, [r4, 0xC] - movs r0, 0x12 - bl SetGpuReg -_080982E6: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80981AC - - thumb_func_start sub_80982EC -sub_80982EC: @ 80982EC - push {lr} - ldr r0, _08098318 @ =sub_80981AC - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xFF - beq _08098312 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, _0809831C @ =gTasks+0x8 - adds r1, r0, r1 - movs r2, 0 - ldrsh r0, [r1, r2] - cmp r0, 0x5 - bgt _08098312 - movs r0, 0x6 - strh r0, [r1] -_08098312: - pop {r0} - bx r0 - .align 2, 0 -_08098318: .4byte sub_80981AC -_0809831C: .4byte gTasks+0x8 - thumb_func_end sub_80982EC - - thumb_func_start sub_8098320 -sub_8098320: @ 8098320 - push {lr} - ldr r0, _0809833C @ =sub_80981AC - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - movs r1, 0xFF - eors r0, r1 - negs r1, r0 - orrs r1, r0 - lsrs r1, 31 - adds r0, r1, 0 - pop {r1} - bx r1 - .align 2, 0 -_0809833C: .4byte sub_80981AC - thumb_func_end sub_8098320 - - thumb_func_start sub_8098340 -sub_8098340: @ 8098340 - push {r4-r6,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldr r0, _08098378 @ =gUnknown_83D4164 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp] - str r1, [sp, 0x4] - movs r6, 0x1D - ldr r0, _0809837C @ =gMapHeader - ldrb r0, [r0, 0x1A] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - beq _08098396 - cmp r0, 0x7F - beq _08098384 - ldr r2, [sp] - lsrs r1, r2, 24 - adds r1, 0x5 - lsls r1, 24 - ldr r0, _08098380 @ =0x00ffffff - ands r0, r2 - orrs r0, r1 - str r0, [sp] - movs r6, 0x27 - b _08098396 - .align 2, 0 -_08098378: .4byte gUnknown_83D4164 -_0809837C: .4byte gMapHeader -_08098380: .4byte 0x00ffffff -_08098384: - ldr r2, [sp] - lsrs r1, r2, 24 - adds r1, 0x8 - lsls r1, 24 - ldr r0, _080983B4 @ =0x00ffffff - ands r0, r2 - orrs r0, r1 - str r0, [sp] - movs r6, 0x2D -_08098396: - mov r0, sp - bl AddWindow - lsls r0, 16 - lsrs r5, r0, 16 - cmp r4, 0 - beq _080983B8 - movs r0, 0x3 - bl stdpal_get - movs r1, 0xD0 - movs r2, 0x20 - bl LoadPalette - b _080983C6 - .align 2, 0 -_080983B4: .4byte 0x00ffffff -_080983B8: - movs r0, 0x3 - bl stdpal_get - ldr r1, _080983FC @ =gPlttBufferUnfaded + 0x1A0 - movs r2, 0x10 - bl CpuSet -_080983C6: - lsls r4, r5, 24 - lsrs r4, 24 - adds r0, r4, 0 - adds r1, r6, 0 - bl sub_814FF6C - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0xD - bl DrawTextBorderOuter - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r5, 0 - bl sub_8098400 - adds r0, r4, 0 - movs r1, 0x3 - bl CopyWindowToVram - adds r0, r5, 0 - add sp, 0x8 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080983FC: .4byte gPlttBufferUnfaded + 0x1A0 - thumb_func_end sub_8098340 - - thumb_func_start sub_8098400 -sub_8098400: @ 8098400 - push {r4-r6,lr} - sub sp, 0x28 - lsls r0, 16 - lsrs r6, r0, 16 - movs r5, 0x70 - ldr r4, _08098478 @ =gMapHeader - ldrb r1, [r4, 0x14] - add r0, sp, 0xC - movs r2, 0 - bl GetMapName - adds r2, r0, 0 - movs r0, 0x1A - ldrsb r0, [r4, r0] - cmp r0, 0 - beq _08098434 - adds r1, r0, 0 - adds r0, r2, 0 - bl sub_809847C - movs r0, 0x1A - ldrsb r0, [r4, r0] - movs r5, 0xB0 - cmp r0, 0x7F - beq _08098434 - movs r5, 0x98 -_08098434: - movs r2, 0x1 - negs r2, r2 - movs r0, 0x2 - add r1, sp, 0xC - bl GetStringWidth - adds r4, r0, 0 - subs r4, r5, r4 - lsrs r4, 1 - lsls r5, r6, 24 - lsrs r5, 24 - adds r0, r5, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x2 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - adds r0, r5, 0 - movs r1, 0x2 - add r2, sp, 0xC - adds r3, r4, 0 - bl AddTextPrinterParameterized - add sp, 0x28 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08098478: .4byte gMapHeader - thumb_func_end sub_8098400 - - thumb_func_start sub_809847C -sub_809847C: @ 809847C - push {lr} - adds r2, r0, 0 - lsls r1, 24 - lsrs r3, r1, 24 - asrs r1, 24 - cmp r1, 0 - beq _080984D2 - movs r0, 0 - strb r0, [r2] - adds r2, 0x1 - cmp r1, 0x7F - bne _080984A4 - ldr r1, _080984A0 @ =gUnknown_841D18D - adds r0, r2, 0 - bl StringCopy - b _080984D2 - .align 2, 0 -_080984A0: .4byte gUnknown_841D18D -_080984A4: - cmp r1, 0 - bge _080984B4 - movs r0, 0xBC - strb r0, [r2] - adds r2, 0x1 - negs r0, r1 - lsls r0, 24 - lsrs r3, r0, 24 -_080984B4: - lsls r1, r3, 24 - asrs r1, 24 - adds r0, r2, 0 - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - adds r2, r0, 0 - adds r1, r2, 0 - movs r0, 0xC0 - strb r0, [r2] - adds r2, 0x1 - movs r0, 0xFF - strb r0, [r1, 0x1] - adds r0, r2, 0 -_080984D2: - pop {r1} - bx r1 - thumb_func_end sub_809847C - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/overworld.s b/asm/overworld.s index 9b9fe037f..28bcd8ecb 100644 --- a/asm/overworld.s +++ b/asm/overworld.s @@ -1747,7 +1747,7 @@ _080558D4: cmp r0, r1 beq _08055914 movs r0, 0x1 - bl sub_8098110 + bl CreateMapNamePopupIfNotAlreadyRunning _08055914: add sp, 0x4 pop {r4,r5} @@ -3282,7 +3282,7 @@ sub_805644C: @ 805644C bl sub_81127F8 _0805649E: bl ScriptContext2_Enable - bl sub_80982EC + bl DismissMapNamePopup b _080564BA .align 2, 0 _080564A8: .4byte gUnknown_3005E88 @@ -3323,7 +3323,7 @@ sub_80564C8: @ 80564C8 cmp r0, 0x1 bne _0805650C bl ScriptContext2_Enable - bl sub_80982EC + bl DismissMapNamePopup b _08056522 .align 2, 0 _08056508: .4byte gUnknown_3005E90 @@ -3824,7 +3824,7 @@ sub_8056918: @ 8056918 cmp r0, 0x4 bne _0805692C movs r0, 0 - bl sub_8098110 + bl CreateMapNamePopupIfNotAlreadyRunning _0805692C: bl sub_807DF7C pop {r0} @@ -4223,7 +4223,7 @@ _08056CA8: cmp r0, 0x4 bne _08056CCA movs r0, 0 - bl sub_8098110 + bl CreateMapNamePopupIfNotAlreadyRunning b _08056CCA .align 2, 0 _08056CBC: .4byte gMapHeader diff --git a/asm/party_menu.s b/asm/party_menu.s index aab14bbf0..dfe4e02c0 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -1152,7 +1152,7 @@ sub_811F388: @ 811F388 muls r0, r4 ldr r1, _0811F3AC @ =gPlayerParty adds r0, r1 - ldr r5, _0811F3B0 @ =gUnknown_203B0D4 + ldr r5, _0811F3B0 @ =gSelectedOrderFromParty bl sub_8127550 lsls r0, 24 cmp r0, 0 @@ -1163,7 +1163,7 @@ sub_811F388: @ 811F388 b _0811F3F8 .align 2, 0 _0811F3AC: .4byte gPlayerParty -_0811F3B0: .4byte gUnknown_203B0D4 +_0811F3B0: .4byte gSelectedOrderFromParty _0811F3B4: adds r1, 0x2 lsls r1, 24 @@ -11131,7 +11131,7 @@ _0812418C: adds r0, r1 mov r10, r0 _081241B6: - ldr r0, _0812420C @ =gUnknown_203B0D4 + ldr r0, _0812420C @ =gSelectedOrderFromParty adds r4, r5, r0 ldrb r0, [r4] cmp r0, 0 @@ -11168,7 +11168,7 @@ _081241FC: .4byte gUnknown_8416B16 _08124200: .4byte gUnknown_203B09C _08124204: .4byte gUnknown_203B0A0 _08124208: .4byte gTasks -_0812420C: .4byte gUnknown_203B0D4 +_0812420C: .4byte gSelectedOrderFromParty _08124210: .4byte gUnknown_203B0B4 _08124214: .4byte sub_811FB28 _08124218: @@ -11237,7 +11237,7 @@ sub_8124278: @ 8124278 adds r0, 0xD bl sub_8121CE4 movs r4, 0 - ldr r3, _081242C0 @ =gUnknown_203B0D4 + ldr r3, _081242C0 @ =gSelectedOrderFromParty ldr r6, _081242C4 @ =gUnknown_203B0A0 adds r5, r6, 0 _0812429E: @@ -11257,7 +11257,7 @@ _0812429E: b _081242E6 .align 2, 0 _081242BC: .4byte gUnknown_203B09C -_081242C0: .4byte gUnknown_203B0D4 +_081242C0: .4byte gSelectedOrderFromParty _081242C4: .4byte gUnknown_203B0A0 _081242C8: ldrb r0, [r3, 0x1] @@ -11287,7 +11287,7 @@ _081242E6: movs r0, 0x1 movs r2, 0x1 bl sub_8121C70 - ldr r4, _08124348 @ =gUnknown_203B0D4 + ldr r4, _08124348 @ =gSelectedOrderFromParty ldrb r0, [r4] cmp r0, 0 beq _08124312 @@ -11324,7 +11324,7 @@ _08124328: bx r0 .align 2, 0 _08124344: .4byte gUnknown_203B0B4 -_08124348: .4byte gUnknown_203B0D4 +_08124348: .4byte gSelectedOrderFromParty _0812434C: .4byte gTasks _08124350: .4byte sub_811FB28 thumb_func_end sub_8124278 @@ -17411,14 +17411,14 @@ _081274F8: .4byte sub_812773C thumb_func_start sub_81274FC sub_81274FC: @ 81274FC push {lr} - ldr r0, _0812750C @ =gUnknown_203B0D4 + ldr r0, _0812750C @ =gSelectedOrderFromParty movs r1, 0 movs r2, 0x3 bl memset pop {r0} bx r0 .align 2, 0 -_0812750C: .4byte gUnknown_203B0D4 +_0812750C: .4byte gSelectedOrderFromParty thumb_func_end sub_81274FC thumb_func_start sub_8127510 @@ -17564,18 +17564,18 @@ sub_81275F8: @ 81275F8 _08127618: .4byte gPlayerParty _0812761C: .4byte gUnknown_203B0A0 _08127620: - ldr r1, _0812762C @ =gUnknown_203B0D4 + ldr r1, _0812762C @ =gSelectedOrderFromParty ldrb r0, [r1, 0x2] cmp r0, 0 bne _08127630 movs r0, 0x11 b _08127702 .align 2, 0 -_0812762C: .4byte gUnknown_203B0D4 +_0812762C: .4byte gSelectedOrderFromParty _08127630: movs r5, 0 _08127632: - ldr r2, _081276DC @ =gUnknown_203B0D4 + ldr r2, _081276DC @ =gSelectedOrderFromParty adds r4, r2, r5 ldrb r0, [r4] movs r1, 0x64 @@ -17618,7 +17618,7 @@ _0812767E: adds r0, r2 movs r1, 0 ldrsh r4, [r0, r1] - ldr r2, _081276DC @ =gUnknown_203B0D4 + ldr r2, _081276DC @ =gSelectedOrderFromParty adds r6, r2, r5 ldrb r0, [r6] muls r0, r7 @@ -17660,18 +17660,18 @@ _081276D0: bls _08127632 b _08127700 .align 2, 0 -_081276DC: .4byte gUnknown_203B0D4 +_081276DC: .4byte gSelectedOrderFromParty _081276E0: .4byte gUnknown_203B09C _081276E4: .4byte 0x00000236 _081276E8: - ldr r2, _081276F4 @ =gUnknown_203B0D4 + ldr r2, _081276F4 @ =gSelectedOrderFromParty ldrb r0, [r2, 0x1] cmp r0, 0 bne _08127700 movs r0, 0x12 b _08127702 .align 2, 0 -_081276F4: .4byte gUnknown_203B0D4 +_081276F4: .4byte gSelectedOrderFromParty _081276F8: movs r0, 0x13 b _08127702 @@ -17696,7 +17696,7 @@ sub_8127710: @ 8127710 lsls r0, 24 lsrs r2, r0, 24 movs r1, 0 - ldr r3, _08127728 @ =gUnknown_203B0D4 + ldr r3, _08127728 @ =gSelectedOrderFromParty _0812771A: adds r0, r1, r3 ldrb r0, [r0] @@ -17705,7 +17705,7 @@ _0812771A: movs r0, 0x1 b _08127738 .align 2, 0 -_08127728: .4byte gUnknown_203B0D4 +_08127728: .4byte gSelectedOrderFromParty _0812772C: adds r0, r1, 0x1 lsls r0, 24 @@ -17740,7 +17740,7 @@ sub_812773C: @ 812773C .align 2, 0 _08127764: .4byte gTasks _08127768: - ldr r0, _08127780 @ =gUnknown_203B0D4 + ldr r0, _08127780 @ =gSelectedOrderFromParty ldrb r0, [r0] cmp r0, 0 beq _08127784 @@ -17750,7 +17750,7 @@ _08127768: bl sub_811FA78 b _0812779E .align 2, 0 -_08127780: .4byte gUnknown_203B0D4 +_08127780: .4byte gSelectedOrderFromParty _08127784: movs r0, 0x1A bl PlaySE diff --git a/asm/save_menu_util.s b/asm/save_menu_util.s deleted file mode 100644 index 8ebfc3731..000000000 --- a/asm/save_menu_util.s +++ /dev/null @@ -1,149 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start SaveStatToString -SaveStatToString: @ 80F7FCC - push {r4-r7,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r2, 24 - lsrs r2, 24 - adds r5, r1, 0 - movs r1, 0xFC - strb r1, [r5] - adds r5, 0x1 - movs r0, 0x1 - strb r0, [r5] - adds r5, 0x1 - strb r2, [r5] - adds r5, 0x1 - strb r1, [r5] - adds r5, 0x1 - movs r0, 0x3 - strb r0, [r5] - adds r5, 0x1 - adds r2, 0x1 - strb r2, [r5] - adds r5, 0x1 - cmp r3, 0x5 - bhi _080F80D8 - lsls r0, r3, 2 - ldr r1, _080F8008 @ =_080F800C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080F8008: .4byte _080F800C - .align 2, 0 -_080F800C: - .4byte _080F8024 - .4byte _080F8034 - .4byte _080F805C - .4byte _080F8098 - .4byte _080F80A8 - .4byte _080F806C -_080F8024: - ldr r0, _080F8030 @ =gSaveBlock2Ptr - ldr r1, [r0] - adds r0, r5, 0 - bl StringCopy - b _080F80D8 - .align 2, 0 -_080F8030: .4byte gSaveBlock2Ptr -_080F8034: - bl IsNationalPokedexEnabled - cmp r0, 0 - beq _080F8044 - movs r0, 0x1 - bl GetNationalPokedexCount - b _080F804A -_080F8044: - movs r0, 0x1 - bl GetKantoPokedexCount -_080F804A: - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r5, 0 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - b _080F80D8 -_080F805C: - ldr r4, _080F8068 @ =gSaveBlock2Ptr - ldr r0, [r4] - ldrh r1, [r0, 0xE] - adds r0, r5, 0 - movs r2, 0 - b _080F8076 - .align 2, 0 -_080F8068: .4byte gSaveBlock2Ptr -_080F806C: - ldr r4, _080F8094 @ =gSaveBlock2Ptr - ldr r0, [r4] - ldrh r1, [r0, 0xE] - adds r0, r5, 0 - movs r2, 0x1 -_080F8076: - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r5, r0, 0 - movs r0, 0xF0 - strb r0, [r5] - adds r5, 0x1 - ldr r0, [r4] - ldrb r1, [r0, 0x10] - adds r0, r5, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - b _080F80D8 - .align 2, 0 -_080F8094: .4byte gSaveBlock2Ptr -_080F8098: - ldr r0, _080F80A4 @ =gMapHeader - ldrb r1, [r0, 0x14] - adds r0, r5, 0 - bl sub_80C4DF8 - b _080F80D8 - .align 2, 0 -_080F80A4: .4byte gMapHeader -_080F80A8: - movs r4, 0x82 - lsls r4, 4 - movs r6, 0 - adds r7, r5, 0x1 -_080F80B0: - lsls r0, r4, 16 - lsrs r0, 16 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _080F80C0 - adds r6, 0x1 -_080F80C0: - adds r4, 0x1 - ldr r0, _080F80E0 @ =0x00000827 - cmp r4, r0 - ble _080F80B0 - adds r0, r6, 0 - subs r0, 0x5F - strb r0, [r5] - adds r5, r7, 0 - movs r0, 0xA - strb r0, [r5] - movs r0, 0xFF - strb r0, [r5, 0x1] -_080F80D8: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080F80E0: .4byte 0x00000827 - thumb_func_end SaveStatToString - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/script_pokemon_util_80A0058.s b/asm/script_pokemon_util_80A0058.s index 525293081..81b3b7efe 100644 --- a/asm/script_pokemon_util_80A0058.s +++ b/asm/script_pokemon_util_80A0058.s @@ -396,7 +396,7 @@ _080A034C: .4byte sub_80A0350 thumb_func_start sub_80A0350 sub_80A0350: @ 80A0350 push {lr} - ldr r0, _080A0360 @ =gUnknown_203B0D4 + ldr r0, _080A0360 @ =gSelectedOrderFromParty ldrb r1, [r0] cmp r1, 0 bne _080A0368 @@ -404,7 +404,7 @@ sub_80A0350: @ 80A0350 strh r1, [r0] b _080A036E .align 2, 0 -_080A0360: .4byte gUnknown_203B0D4 +_080A0360: .4byte gSelectedOrderFromParty _080A0364: .4byte gSpecialVar_Result _080A0368: ldr r1, _080A0378 @ =gSpecialVar_Result @@ -438,7 +438,7 @@ _080A0398: .4byte sub_80A039C thumb_func_start sub_80A039C sub_80A039C: @ 80A039C push {r4,lr} - ldr r0, _080A03B0 @ =gUnknown_203B0D4 + ldr r0, _080A03B0 @ =gSelectedOrderFromParty ldrb r4, [r0] cmp r4, 0 bne _080A03B8 @@ -447,7 +447,7 @@ sub_80A039C: @ 80A039C strh r4, [r0] b _080A03C2 .align 2, 0 -_080A03B0: .4byte gUnknown_203B0D4 +_080A03B0: .4byte gSelectedOrderFromParty _080A03B4: .4byte gSpecialVar_Result _080A03B8: bl ReducePlayerPartyToThree @@ -481,7 +481,7 @@ ReducePlayerPartyToThree: @ 80A03D8 ldr r6, _080A0454 @ =gPlayerParty adds r4, r7, 0 _080A03F4: - ldr r0, _080A0458 @ =gUnknown_203B0D4 + ldr r0, _080A0458 @ =gSelectedOrderFromParty adds r1, r5, r0 ldrb r0, [r1] cmp r0, 0 @@ -528,7 +528,7 @@ _080A042C: bx r0 .align 2, 0 _080A0454: .4byte gPlayerParty -_080A0458: .4byte gUnknown_203B0D4 +_080A0458: .4byte gSelectedOrderFromParty _080A045C: .4byte 0x05000096 thumb_func_end ReducePlayerPartyToThree |