diff options
641 files changed, 4953 insertions, 56623 deletions
diff --git a/asm/battle_4.s b/asm/battle_4.s deleted file mode 100644 index 6747abc6c..000000000 --- a/asm/battle_4.s +++ /dev/null @@ -1,32351 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start atk00_attackcanceler -atk00_attackcanceler: @ 801BC50 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - ldr r0, _0801BC6C @ =gBattleOutcome - ldrb r0, [r0] - cmp r0, 0 - beq _0801BC74 - ldr r1, _0801BC70 @ =gFightStateTracker - movs r0, 0xC - strb r0, [r1] - b _0801BFF4 - .align 2, 0 -_0801BC6C: .4byte gBattleOutcome -_0801BC70: .4byte gFightStateTracker -_0801BC74: - ldr r2, _0801BCA4 @ =gBattleMons - ldr r0, _0801BCA8 @ =gBankAttacker - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrh r0, [r0, 0x28] - cmp r0, 0 - bne _0801BCB8 - ldr r2, _0801BCAC @ =gHitMarker - ldr r1, [r2] - movs r0, 0x80 - lsls r0, 2 - ands r0, r1 - cmp r0, 0 - bne _0801BCB8 - movs r0, 0x80 - lsls r0, 12 - orrs r1, r0 - str r1, [r2] - ldr r1, _0801BCB0 @ =gBattlescriptCurrInstr - ldr r0, _0801BCB4 @ =BattleScript_EndTurn - b _0801BFF2 - .align 2, 0 -_0801BCA4: .4byte gBattleMons -_0801BCA8: .4byte gBankAttacker -_0801BCAC: .4byte gHitMarker -_0801BCB0: .4byte gBattlescriptCurrInstr -_0801BCB4: .4byte BattleScript_EndTurn -_0801BCB8: - bl sub_8017718 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _0801BCC6 - b _0801BFF4 -_0801BCC6: - ldr r0, _0801BD34 @ =gBankTarget - ldrb r1, [r0] - str r2, [sp] - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - beq _0801BCDE - b _0801BFF4 -_0801BCDE: - ldr r4, _0801BD38 @ =gBattleMons - ldr r0, _0801BD3C @ =gCurrMovePos - ldrb r1, [r0] - ldr r3, _0801BD40 @ =gBankAttacker - ldrb r2, [r3] - movs r0, 0x58 - muls r2, r0 - adds r1, r2 - adds r0, r4, 0 - adds r0, 0x24 - adds r1, r0 - ldrb r0, [r1] - ldr r5, _0801BD44 @ =gHitMarker - cmp r0, 0 - bne _0801BD5C - ldr r0, _0801BD48 @ =gCurrentMove - ldrh r0, [r0] - cmp r0, 0xA5 - beq _0801BD5C - ldr r0, [r5] - ldr r1, _0801BD4C @ =0x00800200 - ands r0, r1 - cmp r0, 0 - bne _0801BD5C - adds r0, r4, 0 - adds r0, 0x50 - adds r0, r2, r0 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 5 - ands r0, r1 - cmp r0, 0 - bne _0801BD5C - ldr r1, _0801BD50 @ =gBattlescriptCurrInstr - ldr r0, _0801BD54 @ =BattleScript_NoPPForMove - str r0, [r1] - ldr r2, _0801BD58 @ =gBattleMoveFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - b _0801BFF4 - .align 2, 0 -_0801BD34: .4byte gBankTarget -_0801BD38: .4byte gBattleMons -_0801BD3C: .4byte gCurrMovePos -_0801BD40: .4byte gBankAttacker -_0801BD44: .4byte gHitMarker -_0801BD48: .4byte gCurrentMove -_0801BD4C: .4byte 0x00800200 -_0801BD50: .4byte gBattlescriptCurrInstr -_0801BD54: .4byte BattleScript_NoPPForMove -_0801BD58: .4byte gBattleMoveFlags -_0801BD5C: - ldr r0, [r5] - ldr r1, _0801BDA0 @ =0xff7fffff - ands r0, r1 - str r0, [r5] - movs r6, 0x80 - lsls r6, 18 - ands r0, r6 - cmp r0, 0 - bne _0801BDB4 - ldrb r1, [r3] - movs r0, 0x58 - muls r0, r1 - adds r1, r4, 0 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 5 - ands r0, r1 - cmp r0, 0 - bne _0801BDB4 - bl sub_801B928 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _0801BDB4 - cmp r2, 0x2 - bne _0801BDA4 - ldr r0, [r5] - orrs r0, r6 - str r0, [r5] - b _0801BFF4 - .align 2, 0 -_0801BDA0: .4byte 0xff7fffff -_0801BDA4: - ldr r0, _0801BDB0 @ =gBattleMoveFlags - ldrb r1, [r0] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0] - b _0801BFF4 - .align 2, 0 -_0801BDB0: .4byte gBattleMoveFlags -_0801BDB4: - ldr r2, _0801BE18 @ =gHitMarker - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 18 - orrs r0, r1 - str r0, [r2] - ldr r2, _0801BE1C @ =gProtectStructs - ldr r1, _0801BE20 @ =gBankTarget - ldrb r3, [r1] - lsls r0, r3, 4 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 27 - mov r8, r1 - mov r9, r2 - cmp r0, 0 - bge _0801BE3C - ldr r2, _0801BE24 @ =gBattleMoves - ldr r0, _0801BE28 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x8] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0801BE3C - ldr r0, _0801BE2C @ =gBankAttacker - ldrb r0, [r0] - ldr r2, _0801BE30 @ =0x00000115 - adds r1, r3, 0 - bl sub_80151D4 - mov r0, r8 - ldrb r1, [r0] - lsls r1, 4 - add r1, r9 - ldrb r2, [r1] - movs r0, 0x11 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - bl b_movescr_stack_push_cursor - ldr r1, _0801BE34 @ =gBattlescriptCurrInstr - ldr r0, _0801BE38 @ =BattleScript_MagicCoatBounce - b _0801BFF2 - .align 2, 0 -_0801BE18: .4byte gHitMarker -_0801BE1C: .4byte gProtectStructs -_0801BE20: .4byte gBankTarget -_0801BE24: .4byte gBattleMoves -_0801BE28: .4byte gCurrentMove -_0801BE2C: .4byte gBankAttacker -_0801BE30: .4byte 0x00000115 -_0801BE34: .4byte gBattlescriptCurrInstr -_0801BE38: .4byte BattleScript_MagicCoatBounce -_0801BE3C: - movs r2, 0 - ldr r0, _0801BEB8 @ =gNoOfAllBanks - ldrb r0, [r0] - cmp r2, r0 - bge _0801BE7E - ldr r6, _0801BEBC @ =gProtectStructs - ldr r1, _0801BEC0 @ =gBattleMoves - mov r12, r1 - adds r5, r0, 0 - ldr r7, _0801BEC4 @ =gTurnOrder -_0801BE50: - adds r4, r2, r7 - ldrb r3, [r4] - lsls r0, r3, 4 - adds r0, r6 - ldrb r0, [r0] - lsls r0, 26 - cmp r0, 0 - bge _0801BE78 - ldr r0, _0801BEC8 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - add r0, r12 - ldrb r1, [r0, 0x8] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0801BE78 - b _0801BFA4 -_0801BE78: - adds r2, 0x1 - cmp r2, r5 - blt _0801BE50 -_0801BE7E: - ldr r0, _0801BECC @ =gSpecialStatuses - mov r1, r8 - ldrb r2, [r1] - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r3, [r1] - lsls r0, r3, 30 - cmp r0, 0 - bge _0801BEDC - movs r0, 0x3 - negs r0, r0 - ands r0, r3 - strb r0, [r1] - ldr r4, _0801BED0 @ =gLastUsedAbility - movs r0, 0x1F - strb r0, [r4] - bl b_movescr_stack_push_cursor - ldr r1, _0801BED4 @ =gBattlescriptCurrInstr - ldr r0, _0801BED8 @ =BattleScript_TookAttack - str r0, [r1] - mov r2, r8 - ldrb r0, [r2] - ldrb r1, [r4] - bl RecordAbilityBattle - b _0801BFF4 - .align 2, 0 -_0801BEB8: .4byte gNoOfAllBanks -_0801BEBC: .4byte gProtectStructs -_0801BEC0: .4byte gBattleMoves -_0801BEC4: .4byte gTurnOrder -_0801BEC8: .4byte gCurrentMove -_0801BECC: .4byte gSpecialStatuses -_0801BED0: .4byte gLastUsedAbility -_0801BED4: .4byte gBattlescriptCurrInstr -_0801BED8: .4byte BattleScript_TookAttack -_0801BEDC: - lsls r0, r2, 4 - add r0, r9 - ldrb r0, [r0] - lsls r0, 31 - cmp r0, 0 - bne _0801BEEA - b _0801BFEC -_0801BEEA: - ldr r1, _0801BF80 @ =gBattleMoves - ldr r2, _0801BF84 @ =gCurrentMove - ldrh r3, [r2] - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x8] - movs r0, 0x2 - ands r0, r1 - adds r4, r2, 0 - cmp r0, 0 - beq _0801BFEC - cmp r3, 0xAE - bne _0801BF28 - ldr r2, _0801BF88 @ =gBattleMons - ldr r0, _0801BF8C @ =gBankAttacker - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r1, r0, r2 - adds r0, r1, 0 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, 0x7 - beq _0801BF28 - adds r0, r1, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, 0x7 - bne _0801BFEC -_0801BF28: - ldrh r0, [r4] - bl sub_8028350 - lsls r0, 24 - cmp r0, 0 - beq _0801BF4E - ldr r1, _0801BF88 @ =gBattleMons - ldr r0, _0801BF8C @ =gBankAttacker - ldrb r2, [r0] - movs r0, 0x58 - muls r0, r2 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 5 - ands r0, r1 - cmp r0, 0 - beq _0801BFEC -_0801BF4E: - ldr r0, _0801BF8C @ =gBankAttacker - ldrb r0, [r0] - bl CancelMultiTurnMoves - ldr r2, _0801BF90 @ =gBattleMoveFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - ldr r1, _0801BF94 @ =gMoveHitWith - ldr r3, _0801BF98 @ =gBankTarget - ldrb r0, [r3] - lsls r0, 1 - adds r0, r1 - movs r2, 0 - strh r2, [r0] - ldr r1, _0801BF9C @ =gUnknown_02024C44 - ldrb r0, [r3] - lsls r0, 1 - adds r0, r1 - strh r2, [r0] - ldr r1, _0801BFA0 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x6] - b _0801BFEC - .align 2, 0 -_0801BF80: .4byte gBattleMoves -_0801BF84: .4byte gCurrentMove -_0801BF88: .4byte gBattleMons -_0801BF8C: .4byte gBankAttacker -_0801BF90: .4byte gBattleMoveFlags -_0801BF94: .4byte gMoveHitWith -_0801BF98: .4byte gBankTarget -_0801BF9C: .4byte gUnknown_02024C44 -_0801BFA0: .4byte gBattleCommunication -_0801BFA4: - ldr r0, _0801BFD4 @ =gBankAttacker - ldrb r0, [r0] - ldr r2, _0801BFD8 @ =0x00000121 - adds r1, r3, 0 - bl sub_80151D4 - ldrb r1, [r4] - lsls r1, 4 - adds r1, r6 - ldrb r2, [r1] - movs r0, 0x21 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldr r0, _0801BFDC @ =0x02000000 - ldrb r1, [r4] - ldr r2, _0801BFE0 @ =0x00016003 - adds r0, r2 - strb r1, [r0] - bl b_movescr_stack_push_cursor - ldr r1, _0801BFE4 @ =gBattlescriptCurrInstr - ldr r0, _0801BFE8 @ =BattleScript_SnatchedMove - b _0801BFF2 - .align 2, 0 -_0801BFD4: .4byte gBankAttacker -_0801BFD8: .4byte 0x00000121 -_0801BFDC: .4byte 0x02000000 -_0801BFE0: .4byte 0x00016003 -_0801BFE4: .4byte gBattlescriptCurrInstr -_0801BFE8: .4byte BattleScript_SnatchedMove -_0801BFEC: - ldr r1, _0801C004 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 -_0801BFF2: - str r0, [r1] -_0801BFF4: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801C004: .4byte gBattlescriptCurrInstr - thumb_func_end atk00_attackcanceler - - thumb_func_start mcmd_jump_if_move_not_executed -mcmd_jump_if_move_not_executed: @ 801C008 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r6, r1, 16 - ldr r1, _0801C054 @ =gBattlescriptCurrInstr - ldr r5, [r1] - adds r4, r5, r0 - ldr r0, _0801C058 @ =gBattleMoveFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - beq _0801C068 - ldr r1, _0801C05C @ =gMoveHitWith - ldr r3, _0801C060 @ =gBankTarget - ldrb r0, [r3] - lsls r0, 1 - adds r0, r1 - movs r2, 0 - strh r2, [r0] - ldr r1, _0801C064 @ =gUnknown_02024C44 - ldrb r0, [r3] - lsls r0, 1 - adds r0, r1 - strh r2, [r0] - ldrb r4, [r5, 0x1] - ldrb r0, [r5, 0x2] - lsls r0, 8 - orrs r4, r0 - ldrb r0, [r5, 0x3] - lsls r0, 16 - orrs r4, r0 - ldrb r0, [r5, 0x4] - lsls r0, 24 - orrs r4, r0 - b _0801C082 - .align 2, 0 -_0801C054: .4byte gBattlescriptCurrInstr -_0801C058: .4byte gBattleMoveFlags -_0801C05C: .4byte gMoveHitWith -_0801C060: .4byte gBankTarget -_0801C064: .4byte gUnknown_02024C44 -_0801C068: - bl b_feature_update_destiny_bond - ldr r0, _0801C090 @ =gBankTarget - ldrb r1, [r0] - str r6, [sp] - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - bne _0801C086 -_0801C082: - ldr r0, _0801C094 @ =gBattlescriptCurrInstr - str r4, [r0] -_0801C086: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0801C090: .4byte gBankTarget -_0801C094: .4byte gBattlescriptCurrInstr - thumb_func_end mcmd_jump_if_move_not_executed - - thumb_func_start atk40_jump_if_move_affected_by_protect -atk40_jump_if_move_affected_by_protect: @ 801C098 - push {lr} - ldr r1, _0801C0E0 @ =gProtectStructs - ldr r0, _0801C0E4 @ =gBankTarget - ldrb r0, [r0] - lsls r0, 4 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 31 - cmp r0, 0 - beq _0801C0F8 - ldr r2, _0801C0E8 @ =gBattleMoves - ldr r0, _0801C0EC @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x8] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0801C0F8 - ldr r2, _0801C0F0 @ =gBattleMoveFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - movs r0, 0x5 - movs r1, 0 - bl mcmd_jump_if_move_not_executed - ldr r1, _0801C0F4 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x6] - b _0801C100 - .align 2, 0 -_0801C0E0: .4byte gProtectStructs -_0801C0E4: .4byte gBankTarget -_0801C0E8: .4byte gBattleMoves -_0801C0EC: .4byte gCurrentMove -_0801C0F0: .4byte gBattleMoveFlags -_0801C0F4: .4byte gBattleCommunication -_0801C0F8: - ldr r1, _0801C104 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0801C100: - pop {r0} - bx r0 - .align 2, 0 -_0801C104: .4byte gBattlescriptCurrInstr - thumb_func_end atk40_jump_if_move_affected_by_protect - - thumb_func_start sub_801C108 -sub_801C108: @ 801C108 - push {r4,lr} - lsls r0, 16 - lsrs r3, r0, 16 - movs r4, 0 - ldr r1, _0801C15C @ =gProtectStructs - ldr r0, _0801C160 @ =gBankTarget - ldrb r0, [r0] - lsls r0, 4 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 31 - cmp r0, 0 - beq _0801C154 - ldr r2, _0801C164 @ =gBattleMoves - ldr r0, _0801C168 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x8] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0801C154 - ldr r2, _0801C16C @ =gBattleMoveFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - movs r0, 0x7 - adds r1, r3, 0 - bl mcmd_jump_if_move_not_executed - ldr r1, _0801C170 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x6] - movs r4, 0x1 -_0801C154: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0801C15C: .4byte gProtectStructs -_0801C160: .4byte gBankTarget -_0801C164: .4byte gBattleMoves -_0801C168: .4byte gCurrentMove -_0801C16C: .4byte gBattleMoveFlags -_0801C170: .4byte gBattleCommunication - thumb_func_end sub_801C108 - - thumb_func_start sub_801C174 -sub_801C174: @ 801C174 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r2, _0801C1D4 @ =gStatuses3 - ldr r3, _0801C1D8 @ =gBankTarget - ldrb r4, [r3] - lsls r0, r4, 2 - adds r0, r2 - ldr r1, [r0] - movs r0, 0x18 - ands r1, r0 - adds r6, r2, 0 - cmp r1, 0 - beq _0801C1A6 - ldr r1, _0801C1DC @ =gDisableStructs - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - adds r0, r1 - ldr r1, _0801C1E0 @ =gBankAttacker - ldrb r0, [r0, 0x15] - ldrb r1, [r1] - cmp r0, r1 - beq _0801C290 -_0801C1A6: - ldr r0, _0801C1E4 @ =gHitMarker - ldr r1, [r0] - movs r2, 0x80 - lsls r2, 9 - ands r1, r2 - adds r2, r0, 0 - cmp r1, 0 - bne _0801C1EC - ldrb r0, [r3] - lsls r0, 2 - adds r0, r6 - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0801C1EC -_0801C1C6: - ldr r0, _0801C1E8 @ =gBattleMoveFlags - ldrb r1, [r0] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0] - b _0801C290 - .align 2, 0 -_0801C1D4: .4byte gStatuses3 -_0801C1D8: .4byte gBankTarget -_0801C1DC: .4byte gDisableStructs -_0801C1E0: .4byte gBankAttacker -_0801C1E4: .4byte gHitMarker -_0801C1E8: .4byte gBattleMoveFlags -_0801C1EC: - ldr r0, [r2] - ldr r1, _0801C29C @ =0xfffeffff - ands r0, r1 - str r0, [r2] - movs r1, 0x80 - lsls r1, 10 - ands r0, r1 - cmp r0, 0 - bne _0801C20E - ldrb r0, [r3] - lsls r0, 2 - adds r0, r6 - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0801C1C6 -_0801C20E: - ldr r0, [r2] - ldr r1, _0801C2A0 @ =0xfffdffff - ands r0, r1 - str r0, [r2] - movs r1, 0x80 - lsls r1, 11 - ands r0, r1 - cmp r0, 0 - bne _0801C22E - ldrb r0, [r3] - lsls r0, 2 - adds r0, r6 - ldr r0, [r0] - ands r0, r1 - cmp r0, 0 - bne _0801C1C6 -_0801C22E: - ldr r0, [r2] - ldr r1, _0801C2A4 @ =0xfffbffff - ands r0, r1 - str r0, [r2] - movs r0, 0 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0xD - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - lsrs r0, 24 - lsls r4, r5, 1 - cmp r0, 0 - bne _0801C27E - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0x4D - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - bne _0801C27E - ldr r0, _0801C2A8 @ =gBattleWeather - ldrh r1, [r0] - movs r0, 0x7 - ands r0, r1 - cmp r0, 0 - beq _0801C27E - ldr r0, _0801C2AC @ =gBattleMoves - adds r1, r4, r5 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0x98 - beq _0801C290 -_0801C27E: - ldr r1, _0801C2AC @ =gBattleMoves - adds r0, r4, r5 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x11 - beq _0801C290 - cmp r0, 0x4E - bne _0801C2B0 -_0801C290: - movs r0, 0x7 - adds r1, r5, 0 - bl mcmd_jump_if_move_not_executed - movs r0, 0x1 - b _0801C2B2 - .align 2, 0 -_0801C29C: .4byte 0xfffeffff -_0801C2A0: .4byte 0xfffdffff -_0801C2A4: .4byte 0xfffbffff -_0801C2A8: .4byte gBattleWeather -_0801C2AC: .4byte gBattleMoves -_0801C2B0: - movs r0, 0 -_0801C2B2: - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_801C174 - - thumb_func_start atk01_accuracycheck -atk01_accuracycheck: @ 801C2BC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - ldr r0, _0801C314 @ =gBattlescriptCurrInstr - ldr r5, [r0] - ldrb r6, [r5, 0x5] - ldrb r1, [r5, 0x6] - lsls r1, 8 - orrs r6, r1 - adds r1, r6, 0x2 - lsls r1, 16 - lsrs r1, 16 - adds r7, r0, 0 - cmp r1, 0x1 - bhi _0801C378 - ldr r2, _0801C318 @ =gStatuses3 - ldr r3, _0801C31C @ =gBankTarget - ldrb r4, [r3] - lsls r0, r4, 2 - adds r0, r2 - ldr r1, [r0] - movs r0, 0x18 - ands r1, r0 - cmp r1, 0 - beq _0801C32C - ldr r0, _0801C320 @ =0x0000ffff - cmp r6, r0 - bne _0801C32C - ldr r1, _0801C324 @ =gDisableStructs - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - adds r0, r1 - ldr r1, _0801C328 @ =gBankAttacker - ldrb r0, [r0, 0x15] - ldrb r1, [r1] - cmp r0, r1 - bne _0801C32C - adds r0, r5, 0x7 - str r0, [r7] - b _0801C632 - .align 2, 0 -_0801C314: .4byte gBattlescriptCurrInstr -_0801C318: .4byte gStatuses3 -_0801C31C: .4byte gBankTarget -_0801C320: .4byte 0x0000ffff -_0801C324: .4byte gDisableStructs -_0801C328: .4byte gBankAttacker -_0801C32C: - ldrb r0, [r3] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - ldr r1, _0801C358 @ =0x000400c0 - ands r0, r1 - cmp r0, 0 - beq _0801C35C - ldr r2, [r7] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r7] - b _0801C632 - .align 2, 0 -_0801C358: .4byte 0x000400c0 -_0801C35C: - movs r0, 0 - bl sub_801C108 - lsls r0, 24 - cmp r0, 0 - beq _0801C36A - b _0801C632 -_0801C36A: - ldr r1, _0801C374 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x7 - str r0, [r1] - b _0801C632 - .align 2, 0 -_0801C374: .4byte gBattlescriptCurrInstr -_0801C378: - cmp r6, 0 - bne _0801C380 - ldr r0, _0801C398 @ =gCurrentMove - ldrh r6, [r0] -_0801C380: - ldr r0, _0801C39C @ =0x02000000 - ldr r1, _0801C3A0 @ =0x0001601c - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _0801C3A4 - movs r2, 0x3F - mov r10, r2 - mov r3, r10 - ands r3, r0 - mov r10, r3 - b _0801C3B2 - .align 2, 0 -_0801C398: .4byte gCurrentMove -_0801C39C: .4byte 0x02000000 -_0801C3A0: .4byte 0x0001601c -_0801C3A4: - ldr r1, _0801C3F8 @ =gBattleMoves - lsls r0, r6, 1 - adds r0, r6 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x2] - mov r10, r0 -_0801C3B2: - adds r0, r6, 0 - bl sub_801C108 - lsls r0, 24 - cmp r0, 0 - beq _0801C3C0 - b _0801C632 -_0801C3C0: - adds r0, r6, 0 - bl sub_801C174 - lsls r0, 24 - cmp r0, 0 - beq _0801C3CE - b _0801C632 -_0801C3CE: - ldr r3, _0801C3FC @ =gBattleMons - ldr r0, _0801C400 @ =gBankTarget - ldrb r0, [r0] - movs r2, 0x58 - adds r4, r0, 0 - muls r4, r2 - adds r0, r3, 0 - adds r0, 0x50 - adds r0, r4, r0 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 22 - ands r0, r1 - cmp r0, 0 - beq _0801C408 - ldr r0, _0801C404 @ =gBankAttacker - ldrb r0, [r0] - muls r0, r2 - adds r0, r3 - ldrb r5, [r0, 0x1E] - b _0801C41E - .align 2, 0 -_0801C3F8: .4byte gBattleMoves -_0801C3FC: .4byte gBattleMons -_0801C400: .4byte gBankTarget -_0801C404: .4byte gBankAttacker -_0801C408: - ldr r0, _0801C56C @ =gBankAttacker - ldrb r0, [r0] - muls r0, r2 - adds r0, r3 - ldrb r0, [r0, 0x1E] - adds r0, 0x6 - adds r1, r4, r3 - ldrb r1, [r1, 0x1F] - subs r0, r1 - lsls r0, 24 - lsrs r5, r0, 24 -_0801C41E: - lsls r0, r5, 24 - cmp r0, 0 - bge _0801C426 - movs r5, 0 -_0801C426: - lsls r0, r5, 24 - asrs r0, 24 - cmp r0, 0xC - ble _0801C430 - movs r5, 0xC -_0801C430: - ldr r1, _0801C570 @ =gBattleMoves - lsls r4, r6, 1 - adds r0, r4, r6 - lsls r0, 2 - adds r7, r0, r1 - ldrb r0, [r7, 0x3] - mov r8, r0 - movs r0, 0 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0xD - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - lsrs r0, 24 - str r4, [sp, 0x4] - cmp r0, 0 - bne _0801C482 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0x4D - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - bne _0801C482 - ldr r0, _0801C574 @ =gBattleWeather - ldrh r1, [r0] - movs r0, 0x60 - ands r0, r1 - cmp r0, 0 - beq _0801C482 - ldrb r0, [r7] - cmp r0, 0x98 - bne _0801C482 - movs r1, 0x32 - mov r8, r1 -_0801C482: - ldr r1, _0801C578 @ =gAccuracyStageRatios - lsls r0, r5, 24 - asrs r0, 22 - adds r0, r1 - ldrb r1, [r0] - mov r4, r8 - muls r4, r1 - ldrb r1, [r0, 0x1] - adds r0, r4, 0 - bl __divsi3 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r7, _0801C57C @ =gBattleMons - ldr r0, _0801C56C @ =gBankAttacker - ldrb r0, [r0] - movs r5, 0x58 - muls r0, r5 - adds r0, r7 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0xE - bne _0801C4C0 - lsls r0, r4, 6 - adds r0, r4 - lsls r0, 1 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r4, r0, 16 -_0801C4C0: - movs r0, 0 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0xD - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _0801C518 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0x4D - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - bne _0801C518 - ldr r0, _0801C580 @ =gBankTarget - ldrb r0, [r0] - muls r0, r5 - adds r0, r7 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x8 - bne _0801C518 - ldr r0, _0801C574 @ =gBattleWeather - ldrh r1, [r0] - movs r0, 0x18 - ands r0, r1 - cmp r0, 0 - beq _0801C518 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 4 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r4, r0, 16 -_0801C518: - ldr r2, _0801C57C @ =gBattleMons - ldr r0, _0801C56C @ =gBankAttacker - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x20 - ldrb r0, [r0] - mov r9, r2 - cmp r0, 0x37 - bne _0801C544 - mov r2, r10 - cmp r2, 0x8 - bhi _0801C544 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 4 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r4, r0, 16 -_0801C544: - ldr r3, _0801C580 @ =gBankTarget - mov r8, r3 - ldrb r2, [r3] - movs r7, 0x58 - adds r0, r2, 0 - muls r0, r7 - mov r3, r9 - adds r1, r0, r3 - ldrh r0, [r1, 0x2E] - cmp r0, 0xAF - bne _0801C588 - ldr r1, _0801C584 @ =gEnigmaBerries - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r5, [r0, 0x7] - ldrb r2, [r0, 0x1A] - b _0801C5A4 - .align 2, 0 -_0801C56C: .4byte gBankAttacker -_0801C570: .4byte gBattleMoves -_0801C574: .4byte gBattleWeather -_0801C578: .4byte gAccuracyStageRatios -_0801C57C: .4byte gBattleMons -_0801C580: .4byte gBankTarget -_0801C584: .4byte gEnigmaBerries -_0801C588: - ldrh r0, [r1, 0x2E] - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r5, r0, 24 - mov r1, r8 - ldrb r0, [r1] - muls r0, r7 - add r0, r9 - ldrh r0, [r0, 0x2E] - bl ItemId_GetHoldEffectParam - lsls r0, 24 - lsrs r2, r0, 24 -_0801C5A4: - ldr r0, _0801C608 @ =gStringBank - ldr r1, _0801C60C @ =gBankTarget - ldrb r1, [r1] - strb r1, [r0] - cmp r5, 0x16 - bne _0801C5C0 - movs r0, 0x64 - subs r0, r2 - muls r0, r4 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r4, r0, 16 -_0801C5C0: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - adds r0, 0x1 - cmp r0, r4 - ble _0801C62A - ldr r2, _0801C610 @ =gBattleMoveFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - ldr r0, _0801C614 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0801C620 - ldr r1, _0801C618 @ =gBattleMoves - ldr r2, [sp, 0x4] - adds r0, r2, r6 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x6] - cmp r0, 0x8 - beq _0801C602 - cmp r0, 0x20 - bne _0801C620 -_0801C602: - ldr r1, _0801C61C @ =gBattleCommunication - movs r0, 0x2 - b _0801C624 - .align 2, 0 -_0801C608: .4byte gStringBank -_0801C60C: .4byte gBankTarget -_0801C610: .4byte gBattleMoveFlags -_0801C614: .4byte gBattleTypeFlags -_0801C618: .4byte gBattleMoves -_0801C61C: .4byte gBattleCommunication -_0801C620: - ldr r1, _0801C644 @ =gBattleCommunication - movs r0, 0 -_0801C624: - strb r0, [r1, 0x6] - bl b_wonderguard_and_levitate -_0801C62A: - movs r0, 0x7 - adds r1, r6, 0 - bl mcmd_jump_if_move_not_executed -_0801C632: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801C644: .4byte gBattleCommunication - thumb_func_end atk01_accuracycheck - - thumb_func_start atk02_attackstring -atk02_attackstring: @ 801C648 - push {r4,r5,lr} - ldr r0, _0801C688 @ =gBattleExecBuffer - ldr r5, [r0] - cmp r5, 0 - bne _0801C680 - ldr r4, _0801C68C @ =gHitMarker - ldr r0, [r4] - movs r1, 0xC0 - lsls r1, 3 - ands r0, r1 - cmp r0, 0 - bne _0801C674 - ldr r0, _0801C690 @ =gBankAttacker - ldrb r1, [r0] - movs r0, 0x4 - bl PrepareStringBattle - ldr r0, [r4] - movs r1, 0x80 - lsls r1, 3 - orrs r0, r1 - str r0, [r4] -_0801C674: - ldr r0, _0801C694 @ =gBattlescriptCurrInstr - ldr r1, [r0] - adds r1, 0x1 - str r1, [r0] - ldr r0, _0801C698 @ =gBattleCommunication - strb r5, [r0, 0x7] -_0801C680: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0801C688: .4byte gBattleExecBuffer -_0801C68C: .4byte gHitMarker -_0801C690: .4byte gBankAttacker -_0801C694: .4byte gBattlescriptCurrInstr -_0801C698: .4byte gBattleCommunication - thumb_func_end atk02_attackstring - - thumb_func_start atk03_ppreduce -atk03_ppreduce: @ 801C69C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - movs r6, 0x1 - ldr r0, _0801C6EC @ =gBattleExecBuffer - ldr r0, [r0] - cmp r0, 0 - beq _0801C6B4 - b _0801C84E -_0801C6B4: - ldr r1, _0801C6F0 @ =gSpecialStatuses - ldr r2, _0801C6F4 @ =gBankAttacker - ldrb r3, [r2] - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 26 - lsrs r4, r0, 31 - mov r9, r2 - cmp r4, 0 - bne _0801C756 - ldr r2, _0801C6F8 @ =gBattleMoves - ldr r0, _0801C6FC @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x6] - cmp r0, 0x20 - beq _0801C706 - cmp r0, 0x20 - bgt _0801C700 - cmp r0, 0x8 - beq _0801C71C - b _0801C736 - .align 2, 0 -_0801C6EC: .4byte gBattleExecBuffer -_0801C6F0: .4byte gSpecialStatuses -_0801C6F4: .4byte gBankAttacker -_0801C6F8: .4byte gBattleMoves -_0801C6FC: .4byte gCurrentMove -_0801C700: - cmp r0, 0x40 - beq _0801C71C - b _0801C736 -_0801C706: - str r4, [sp] - movs r0, 0x12 - adds r1, r3, 0 - movs r2, 0x2E - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0x1 - b _0801C756 -_0801C71C: - mov r0, r9 - ldrb r1, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x10 - movs r2, 0x2E - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - lsrs r0, 24 - adds r6, r0 - b _0801C756 -_0801C736: - ldr r1, _0801C7B8 @ =gBankTarget - mov r2, r9 - ldrb r0, [r2] - ldrb r7, [r1] - cmp r0, r7 - beq _0801C756 - ldr r2, _0801C7BC @ =gBattleMons - ldrb r1, [r1] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x2E - bne _0801C756 - adds r6, 0x1 -_0801C756: - ldr r0, _0801C7C0 @ =gHitMarker - ldr r4, [r0] - movs r0, 0xA0 - lsls r0, 4 - ands r4, r0 - cmp r4, 0 - bne _0801C83C - ldr r2, _0801C7BC @ =gBattleMons - ldr r3, _0801C7C4 @ =gCurrMovePos - ldr r1, _0801C7C8 @ =gBankAttacker - ldrb r5, [r1] - movs r0, 0x58 - mov r8, r0 - mov r0, r8 - muls r0, r5 - ldrb r7, [r3] - adds r0, r7 - movs r7, 0x24 - adds r7, r2 - mov r12, r7 - add r0, r12 - ldrb r0, [r0] - mov r9, r1 - mov r10, r2 - adds r7, r3, 0 - cmp r0, 0 - beq _0801C83C - ldr r0, _0801C7CC @ =gProtectStructs - lsls r1, r5, 4 - adds r1, r0 - ldrb r0, [r1, 0x2] - movs r2, 0x8 - orrs r0, r2 - strb r0, [r1, 0x2] - mov r1, r9 - ldrb r0, [r1] - mov r2, r8 - muls r2, r0 - adds r0, r2, 0 - ldrb r1, [r7] - adds r0, r1 - mov r1, r12 - adds r2, r0, r1 - ldrb r0, [r2] - cmp r0, r6 - ble _0801C7D0 - subs r0, r6 - strb r0, [r2] - b _0801C7D2 - .align 2, 0 -_0801C7B8: .4byte gBankTarget -_0801C7BC: .4byte gBattleMons -_0801C7C0: .4byte gHitMarker -_0801C7C4: .4byte gCurrMovePos -_0801C7C8: .4byte gBankAttacker -_0801C7CC: .4byte gProtectStructs -_0801C7D0: - strb r4, [r2] -_0801C7D2: - mov r2, r9 - ldrb r3, [r2] - movs r4, 0x58 - adds r0, r3, 0 - muls r0, r4 - mov r1, r10 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 14 - ands r0, r1 - cmp r0, 0 - bne _0801C83C - ldr r1, _0801C860 @ =gDisableStructs - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x18] - lsrs r1, 4 - ldr r2, _0801C864 @ =gBitTable - ldrb r0, [r7] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _0801C83C - ldr r0, _0801C868 @ =gActiveBank - strb r3, [r0] - ldrb r1, [r7] - adds r1, 0x9 - lsls r1, 24 - lsrs r1, 24 - mov r2, r9 - ldrb r0, [r2] - muls r0, r4 - mov r2, r10 - adds r2, 0x24 - adds r0, r2 - ldrb r7, [r7] - adds r0, r7 - str r0, [sp] - movs r0, 0 - movs r2, 0 - movs r3, 0x1 - bl EmitSetAttributes - mov r7, r9 - ldrb r0, [r7] - bl MarkBufferBankForExecution -_0801C83C: - ldr r2, _0801C86C @ =gHitMarker - ldr r0, [r2] - ldr r1, _0801C870 @ =0xfffff7ff - ands r0, r1 - str r0, [r2] - ldr r1, _0801C874 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] -_0801C84E: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801C860: .4byte gDisableStructs -_0801C864: .4byte gBitTable -_0801C868: .4byte gActiveBank -_0801C86C: .4byte gHitMarker -_0801C870: .4byte 0xfffff7ff -_0801C874: .4byte gBattlescriptCurrInstr - thumb_func_end atk03_ppreduce - - thumb_func_start atk04_critcalc -atk04_critcalc: @ 801C878 - push {r4-r7,lr} - ldr r1, _0801C89C @ =gBattleMons - ldr r0, _0801C8A0 @ =gBankAttacker - ldrb r2, [r0] - movs r0, 0x58 - muls r0, r2 - adds r0, r1 - ldrh r0, [r0, 0x2E] - cmp r0, 0xAF - bne _0801C8A8 - ldr r1, _0801C8A4 @ =gEnigmaBerries - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r6, [r0, 0x7] - b _0801C8B0 - .align 2, 0 -_0801C89C: .4byte gBattleMons -_0801C8A0: .4byte gBankAttacker -_0801C8A4: .4byte gEnigmaBerries -_0801C8A8: - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r6, r0, 24 -_0801C8B0: - ldr r1, _0801C93C @ =gStringBank - ldr r3, _0801C940 @ =gBankAttacker - ldrb r0, [r3] - strb r0, [r1] - ldr r4, _0801C944 @ =gBattleMons - ldrb r1, [r3] - movs r0, 0x58 - adds r7, r1, 0 - muls r7, r0 - adds r0, r4, 0 - adds r0, 0x50 - adds r0, r7, r0 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 13 - ands r0, r1 - negs r0, r0 - asrs r5, r0, 31 - movs r0, 0x2 - ands r5, r0 - ldr r2, _0801C948 @ =gBattleMoves - ldr r0, _0801C94C @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - mov r12, r3 - cmp r1, 0x2B - bne _0801C8F0 - adds r5, 0x1 -_0801C8F0: - adds r0, r5, 0 - cmp r1, 0x4B - bne _0801C8F8 - adds r0, 0x1 -_0801C8F8: - cmp r1, 0xC8 - bne _0801C8FE - adds r0, 0x1 -_0801C8FE: - adds r2, r0, 0 - cmp r1, 0xD1 - bne _0801C906 - adds r2, 0x1 -_0801C906: - movs r1, 0 - cmp r6, 0x3F - bne _0801C916 - adds r0, r7, r4 - ldrh r0, [r0] - cmp r0, 0x71 - bne _0801C916 - movs r1, 0x1 -_0801C916: - lsls r5, r1, 1 - movs r3, 0 - cmp r6, 0x42 - bne _0801C930 - mov r0, r12 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r4 - ldrh r0, [r0] - cmp r0, 0x53 - bne _0801C930 - movs r3, 0x1 -_0801C930: - lsls r1, r3, 1 - cmp r6, 0x29 - bne _0801C950 - adds r0, r5, 0x1 - adds r0, r2, r0 - b _0801C952 - .align 2, 0 -_0801C93C: .4byte gStringBank -_0801C940: .4byte gBankAttacker -_0801C944: .4byte gBattleMons -_0801C948: .4byte gBattleMoves -_0801C94C: .4byte gCurrentMove -_0801C950: - adds r0, r2, r5 -_0801C952: - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - adds r5, r0, 0 - cmp r5, 0x4 - bls _0801C960 - movs r5, 0x4 -_0801C960: - ldr r0, _0801C9BC @ =gBankTarget - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r4 - adds r0, 0x20 - ldrb r4, [r0] - cmp r4, 0x4 - beq _0801C9D0 - cmp r4, 0x4B - beq _0801C9D0 - ldr r1, _0801C9C0 @ =gStatuses3 - mov r2, r12 - ldrb r0, [r2] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 8 - ands r0, r1 - cmp r0, 0 - bne _0801C9D0 - ldr r0, _0801C9C4 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x84 - lsls r0, 2 - ands r0, r1 - cmp r0, 0 - bne _0801C9D0 - bl Random - ldr r2, _0801C9C8 @ =gCriticalHitChance - lsls r1, r5, 1 - adds r1, r2 - lsls r0, 16 - lsrs r0, 16 - ldrh r1, [r1] - bl __umodsi3 - lsls r0, 16 - cmp r0, 0 - bne _0801C9D0 - ldr r1, _0801C9CC @ =gCritMultiplier - movs r0, 0x2 - b _0801C9D4 - .align 2, 0 -_0801C9BC: .4byte gBankTarget -_0801C9C0: .4byte gStatuses3 -_0801C9C4: .4byte gBattleTypeFlags -_0801C9C8: .4byte gCriticalHitChance -_0801C9CC: .4byte gCritMultiplier -_0801C9D0: - ldr r1, _0801C9E4 @ =gCritMultiplier - movs r0, 0x1 -_0801C9D4: - strb r0, [r1] - ldr r1, _0801C9E8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801C9E4: .4byte gCritMultiplier -_0801C9E8: .4byte gBattlescriptCurrInstr - thumb_func_end atk04_critcalc - - thumb_func_start atk05_damagecalc1 -atk05_damagecalc1: @ 801C9EC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - ldr r4, _0801CABC @ =gSideAffecting - ldr r6, _0801CAC0 @ =gBankTarget - ldrb r0, [r6] - bl GetBankIdentity - movs r1, 0x1 - ands r1, r0 - lsls r1, 1 - adds r1, r4 - ldrh r3, [r1] - ldr r0, _0801CAC4 @ =gBankAttacker - mov r8, r0 - ldrb r0, [r0] - movs r4, 0x58 - muls r0, r4 - ldr r2, _0801CAC8 @ =gBattleMons - adds r0, r2 - ldrb r1, [r6] - muls r1, r4 - adds r1, r2 - ldr r2, _0801CACC @ =gCurrentMove - mov r9, r2 - ldrh r2, [r2] - ldr r4, _0801CAD0 @ =gDynamicBasePower - ldrh r4, [r4] - str r4, [sp] - ldr r5, _0801CAD4 @ =0x02000000 - ldr r7, _0801CAD8 @ =0x0001601c - adds r4, r5, r7 - ldrb r4, [r4] - str r4, [sp, 0x4] - mov r7, r8 - ldrb r4, [r7] - str r4, [sp, 0x8] - ldrb r4, [r6] - str r4, [sp, 0xC] - bl CalculateBaseDamage - ldr r4, _0801CADC @ =gBattleMoveDamage - ldr r1, _0801CAE0 @ =gCritMultiplier - ldrb r1, [r1] - muls r1, r0 - ldr r0, _0801CAE4 @ =0x0001601f - adds r5, r0 - ldrb r0, [r5] - adds r3, r1, 0 - muls r3, r0 - str r3, [r4] - ldr r1, _0801CAE8 @ =gStatuses3 - ldrb r0, [r7] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 2 - ands r0, r1 - cmp r0, 0 - beq _0801CA82 - ldr r2, _0801CAEC @ =gBattleMoves - mov r7, r9 - ldrh r1, [r7] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x2] - cmp r0, 0xD - bne _0801CA82 - lsls r0, r3, 1 - str r0, [r4] -_0801CA82: - ldr r1, _0801CAF0 @ =gProtectStructs - ldr r0, _0801CAC4 @ =gBankAttacker - ldrb r0, [r0] - lsls r0, 4 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 28 - cmp r0, 0 - bge _0801CAA4 - ldr r4, _0801CADC @ =gBattleMoveDamage - ldr r1, [r4] - lsls r0, r1, 4 - subs r0, r1 - movs r1, 0xA - bl __divsi3 - str r0, [r4] -_0801CAA4: - ldr r1, _0801CAF4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801CABC: .4byte gSideAffecting -_0801CAC0: .4byte gBankTarget -_0801CAC4: .4byte gBankAttacker -_0801CAC8: .4byte gBattleMons -_0801CACC: .4byte gCurrentMove -_0801CAD0: .4byte gDynamicBasePower -_0801CAD4: .4byte 0x02000000 -_0801CAD8: .4byte 0x0001601c -_0801CADC: .4byte gBattleMoveDamage -_0801CAE0: .4byte gCritMultiplier -_0801CAE4: .4byte 0x0001601f -_0801CAE8: .4byte gStatuses3 -_0801CAEC: .4byte gBattleMoves -_0801CAF0: .4byte gProtectStructs -_0801CAF4: .4byte gBattlescriptCurrInstr - thumb_func_end atk05_damagecalc1 - - thumb_func_start AI_CalcDmg -AI_CalcDmg: @ 801CAF8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - adds r5, r1, 0 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r5, 24 - lsrs r5, 24 - ldr r4, _0801CBBC @ =gSideAffecting - adds r0, r5, 0 - bl GetBankIdentity - movs r1, 0x1 - ands r1, r0 - lsls r1, 1 - adds r1, r4 - ldrh r3, [r1] - movs r1, 0x58 - adds r0, r7, 0 - muls r0, r1 - ldr r2, _0801CBC0 @ =gBattleMons - adds r0, r2 - muls r1, r5 - adds r1, r2 - ldr r2, _0801CBC4 @ =gCurrentMove - mov r9, r2 - ldrh r2, [r2] - ldr r4, _0801CBC8 @ =gDynamicBasePower - mov r8, r4 - ldrh r4, [r4] - str r4, [sp] - ldr r6, _0801CBCC @ =0x02000000 - ldr r4, _0801CBD0 @ =0x0001601c - ldrb r4, [r4, r6] - str r4, [sp, 0x4] - str r7, [sp, 0x8] - str r5, [sp, 0xC] - bl CalculateBaseDamage - ldr r4, _0801CBD4 @ =gBattleMoveDamage - movs r1, 0 - mov r2, r8 - strh r1, [r2] - ldr r1, _0801CBD8 @ =gCritMultiplier - ldrb r1, [r1] - muls r1, r0 - ldr r0, _0801CBDC @ =0x0001601f - adds r6, r0 - ldrb r0, [r6] - adds r3, r1, 0 - muls r3, r0 - str r3, [r4] - ldr r1, _0801CBE0 @ =gStatuses3 - lsls r0, r7, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 2 - ands r0, r1 - cmp r0, 0 - beq _0801CB8E - ldr r2, _0801CBE4 @ =gBattleMoves - mov r6, r9 - ldrh r1, [r6] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x2] - cmp r0, 0xD - bne _0801CB8E - lsls r0, r3, 1 - str r0, [r4] -_0801CB8E: - ldr r0, _0801CBE8 @ =gProtectStructs - lsls r1, r7, 4 - adds r1, r0 - ldrb r0, [r1] - lsls r0, 28 - cmp r0, 0 - bge _0801CBAC - ldr r4, _0801CBD4 @ =gBattleMoveDamage - ldr r1, [r4] - lsls r0, r1, 4 - subs r0, r1 - movs r1, 0xA - bl __divsi3 - str r0, [r4] -_0801CBAC: - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801CBBC: .4byte gSideAffecting -_0801CBC0: .4byte gBattleMons -_0801CBC4: .4byte gCurrentMove -_0801CBC8: .4byte gDynamicBasePower -_0801CBCC: .4byte 0x02000000 -_0801CBD0: .4byte 0x0001601c -_0801CBD4: .4byte gBattleMoveDamage -_0801CBD8: .4byte gCritMultiplier -_0801CBDC: .4byte 0x0001601f -_0801CBE0: .4byte gStatuses3 -_0801CBE4: .4byte gBattleMoves -_0801CBE8: .4byte gProtectStructs - thumb_func_end AI_CalcDmg - - thumb_func_start battle_attack_damage_modulate_by_effectivity -battle_attack_damage_modulate_by_effectivity: @ 801CBEC - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r5, _0801CC1C @ =gBattleMoveDamage - ldr r0, [r5] - muls r0, r4 - movs r1, 0xA - bl __divsi3 - str r0, [r5] - cmp r0, 0 - bne _0801CC0C - cmp r4, 0 - beq _0801CC0C - movs r0, 0x1 - str r0, [r5] -_0801CC0C: - cmp r4, 0x5 - beq _0801CC3C - cmp r4, 0x5 - bgt _0801CC20 - cmp r4, 0 - beq _0801CC26 - b _0801CCBE - .align 2, 0 -_0801CC1C: .4byte gBattleMoveDamage -_0801CC20: - cmp r4, 0x14 - beq _0801CC7C - b _0801CCBE -_0801CC26: - ldr r2, _0801CC38 @ =gBattleMoveFlags - ldrb r0, [r2] - movs r1, 0x8 - orrs r0, r1 - movs r1, 0xFB - ands r0, r1 - movs r1, 0xFD - ands r0, r1 - b _0801CCBC - .align 2, 0 -_0801CC38: .4byte gBattleMoveFlags -_0801CC3C: - ldr r2, _0801CC6C @ =gBattleMoves - ldr r0, _0801CC70 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0 - beq _0801CCBE - ldr r2, _0801CC74 @ =gBattleMoveFlags - ldrb r1, [r2] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - bne _0801CCBE - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0801CC78 - movs r0, 0xFD - ands r0, r1 - b _0801CCBC - .align 2, 0 -_0801CC6C: .4byte gBattleMoves -_0801CC70: .4byte gCurrentMove -_0801CC74: .4byte gBattleMoveFlags -_0801CC78: - movs r0, 0x4 - b _0801CCBA -_0801CC7C: - ldr r2, _0801CCAC @ =gBattleMoves - ldr r0, _0801CCB0 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0 - beq _0801CCBE - ldr r2, _0801CCB4 @ =gBattleMoveFlags - ldrb r1, [r2] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - bne _0801CCBE - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0801CCB8 - movs r0, 0xFB - ands r0, r1 - b _0801CCBC - .align 2, 0 -_0801CCAC: .4byte gBattleMoves -_0801CCB0: .4byte gCurrentMove -_0801CCB4: .4byte gBattleMoveFlags -_0801CCB8: - movs r0, 0x2 -_0801CCBA: - orrs r0, r1 -_0801CCBC: - strb r0, [r2] -_0801CCBE: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end battle_attack_damage_modulate_by_effectivity - - thumb_func_start atk06_typecalc -atk06_typecalc: @ 801CCC4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - movs r3, 0 - ldr r1, _0801CCF0 @ =gCurrentMove - ldrh r0, [r1] - cmp r0, 0xA5 - bne _0801CCD8 - b _0801CEF4 -_0801CCD8: - ldr r0, _0801CCF4 @ =0x02000000 - ldr r2, _0801CCF8 @ =0x0001601c - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _0801CCFC - movs r1, 0x3F - mov r8, r1 - mov r2, r8 - ands r2, r0 - mov r8, r2 - b _0801CD0C - .align 2, 0 -_0801CCF0: .4byte gCurrentMove -_0801CCF4: .4byte 0x02000000 -_0801CCF8: .4byte 0x0001601c -_0801CCFC: - ldr r2, _0801CD94 @ =gBattleMoves - ldrh r1, [r1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x2] - mov r8, r0 -_0801CD0C: - ldr r2, _0801CD98 @ =gBattleMons - ldr r0, _0801CD9C @ =gBankAttacker - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r1, r0, r2 - adds r0, r1, 0 - adds r0, 0x21 - ldrb r0, [r0] - adds r5, r2, 0 - cmp r0, r8 - beq _0801CD2E - adds r0, r1, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, r8 - bne _0801CD44 -_0801CD2E: - ldr r4, _0801CDA0 @ =gBattleMoveDamage - ldr r1, [r4] - lsls r0, r1, 4 - subs r0, r1 - str r0, [r4] - movs r1, 0xA - str r3, [sp, 0x4] - bl __divsi3 - str r0, [r4] - ldr r3, [sp, 0x4] -_0801CD44: - ldr r2, _0801CDA4 @ =gBankTarget - ldrb r1, [r2] - movs r0, 0x58 - muls r0, r1 - adds r0, r5 - adds r0, 0x20 - ldrb r0, [r0] - adds r4, r2, 0 - cmp r0, 0x1A - bne _0801CDBC - mov r1, r8 - cmp r1, 0x4 - bne _0801CDBC - ldr r3, _0801CDA8 @ =gLastUsedAbility - strb r0, [r3] - ldr r2, _0801CDAC @ =gBattleMoveFlags - ldrb r0, [r2] - movs r1, 0x9 - orrs r0, r1 - strb r0, [r2] - ldr r1, _0801CDB0 @ =gMoveHitWith - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - movs r2, 0 - strh r2, [r0] - ldr r1, _0801CDB4 @ =gUnknown_02024C44 - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - strh r2, [r0] - ldr r0, _0801CDB8 @ =gBattleCommunication - mov r2, r8 - strb r2, [r0, 0x6] - ldrb r0, [r4] - ldrb r1, [r3] - bl RecordAbilityBattle - b _0801CE58 - .align 2, 0 -_0801CD94: .4byte gBattleMoves -_0801CD98: .4byte gBattleMons -_0801CD9C: .4byte gBankAttacker -_0801CDA0: .4byte gBattleMoveDamage -_0801CDA4: .4byte gBankTarget -_0801CDA8: .4byte gLastUsedAbility -_0801CDAC: .4byte gBattleMoveFlags -_0801CDB0: .4byte gMoveHitWith -_0801CDB4: .4byte gUnknown_02024C44 -_0801CDB8: .4byte gBattleCommunication -_0801CDBC: - ldr r1, _0801CDC8 @ =gTypeEffectiveness - adds r0, r3, r1 - ldrb r0, [r0] - adds r2, r1, 0 - b _0801CE38 - .align 2, 0 -_0801CDC8: .4byte gTypeEffectiveness -_0801CDCC: - adds r3, 0x3 - b _0801CE34 -_0801CDD0: - ldr r5, _0801CF08 @ =gTypeEffectiveness - adds r0, r3, r5 - ldrb r0, [r0] - cmp r0, r8 - bne _0801CE2C - adds r1, r3, 0x1 - adds r1, r5 - ldr r2, _0801CF0C @ =gBattleMons - ldr r7, _0801CF10 @ =gBankTarget - ldrb r0, [r7] - movs r6, 0x58 - muls r0, r6 - adds r0, r2 - adds r0, 0x21 - ldrb r4, [r1] - ldrb r0, [r0] - cmp r4, r0 - bne _0801CE06 - adds r0, r3, 0x2 - adds r0, r5 - ldrb r0, [r0] - str r2, [sp] - str r3, [sp, 0x4] - bl battle_attack_damage_modulate_by_effectivity - ldr r3, [sp, 0x4] - ldr r2, [sp] -_0801CE06: - ldrb r0, [r7] - muls r0, r6 - adds r0, r2 - adds r1, r0, 0 - adds r1, 0x22 - ldrb r1, [r1] - cmp r4, r1 - bne _0801CE2C - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, r4 - beq _0801CE2C - adds r0, r3, 0x2 - adds r0, r5 - ldrb r0, [r0] - str r3, [sp, 0x4] - bl battle_attack_damage_modulate_by_effectivity - ldr r3, [sp, 0x4] -_0801CE2C: - adds r3, 0x3 - ldr r5, _0801CF0C @ =gBattleMons - ldr r4, _0801CF10 @ =gBankTarget - ldr r2, _0801CF08 @ =gTypeEffectiveness -_0801CE34: - adds r0, r3, r2 - ldrb r0, [r0] -_0801CE38: - cmp r0, 0xFF - beq _0801CE58 - cmp r0, 0xFE - bne _0801CDD0 - ldrb r1, [r4] - movs r0, 0x58 - muls r0, r1 - adds r1, r5, 0 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 22 - ands r0, r1 - cmp r0, 0 - beq _0801CDCC -_0801CE58: - ldr r2, _0801CF0C @ =gBattleMons - ldr r5, _0801CF10 @ =gBankTarget - ldrb r1, [r5] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x20 - ldrb r6, [r0] - cmp r6, 0x19 - bne _0801CED6 - ldr r0, _0801CF14 @ =gBankAttacker - ldrb r0, [r0] - ldr r7, _0801CF18 @ =gCurrentMove - ldrh r1, [r7] - bl move_weather_interaction - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _0801CED6 - ldr r1, _0801CF1C @ =gBattleMoveFlags - mov r8, r1 - ldrb r4, [r1] - ands r0, r4 - cmp r0, 0 - beq _0801CE94 - movs r0, 0x6 - ands r0, r4 - cmp r0, 0x6 - bne _0801CED6 -_0801CE94: - ldr r2, _0801CF20 @ =gBattleMoves - ldrh r1, [r7] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0 - beq _0801CED6 - ldr r3, _0801CF24 @ =gLastUsedAbility - strb r6, [r3] - movs r0, 0x1 - orrs r0, r4 - mov r2, r8 - strb r0, [r2] - ldr r1, _0801CF28 @ =gMoveHitWith - ldrb r0, [r5] - lsls r0, 1 - adds r0, r1 - movs r2, 0 - strh r2, [r0] - ldr r1, _0801CF2C @ =gUnknown_02024C44 - ldrb r0, [r5] - lsls r0, 1 - adds r0, r1 - strh r2, [r0] - ldr r1, _0801CF30 @ =gBattleCommunication - movs r0, 0x3 - strb r0, [r1, 0x6] - ldrb r0, [r5] - ldrb r1, [r3] - bl RecordAbilityBattle -_0801CED6: - ldr r0, _0801CF1C @ =gBattleMoveFlags - ldrb r1, [r0] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0801CEF4 - ldr r2, _0801CF34 @ =gProtectStructs - ldr r0, _0801CF14 @ =gBankAttacker - ldrb r1, [r0] - lsls r1, 4 - adds r1, r2 - ldrb r0, [r1, 0x1] - movs r2, 0x2 - orrs r0, r2 - strb r0, [r1, 0x1] -_0801CEF4: - ldr r1, _0801CF38 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801CF08: .4byte gTypeEffectiveness -_0801CF0C: .4byte gBattleMons -_0801CF10: .4byte gBankTarget -_0801CF14: .4byte gBankAttacker -_0801CF18: .4byte gCurrentMove -_0801CF1C: .4byte gBattleMoveFlags -_0801CF20: .4byte gBattleMoves -_0801CF24: .4byte gLastUsedAbility -_0801CF28: .4byte gMoveHitWith -_0801CF2C: .4byte gUnknown_02024C44 -_0801CF30: .4byte gBattleCommunication -_0801CF34: .4byte gProtectStructs -_0801CF38: .4byte gBattlescriptCurrInstr - thumb_func_end atk06_typecalc - - thumb_func_start b_wonderguard_and_levitate -b_wonderguard_and_levitate: @ 801CF3C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r6, 0 - movs r5, 0 - ldr r0, _0801CF80 @ =gCurrentMove - ldrh r1, [r0] - mov r9, r0 - cmp r1, 0xA5 - bne _0801CF54 - b _0801D1A4 -_0801CF54: - ldr r2, _0801CF84 @ =gBattleMoves - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - ldrb r0, [r1, 0x1] - cmp r0, 0 - bne _0801CF66 - b _0801D1A4 -_0801CF66: - ldr r0, _0801CF88 @ =0x02000000 - ldr r2, _0801CF8C @ =0x0001601c - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _0801CF90 - movs r1, 0x3F - mov r12, r1 - mov r2, r12 - ands r2, r0 - mov r12, r2 - b _0801CF94 - .align 2, 0 -_0801CF80: .4byte gCurrentMove -_0801CF84: .4byte gBattleMoves -_0801CF88: .4byte 0x02000000 -_0801CF8C: .4byte 0x0001601c -_0801CF90: - ldrb r1, [r1, 0x2] - mov r12, r1 -_0801CF94: - ldr r2, _0801CFC8 @ =gBattleMons - ldr r3, _0801CFCC @ =gBankTarget - ldrb r1, [r3] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x20 - ldrb r1, [r0] - adds r7, r2, 0 - mov r8, r3 - cmp r1, 0x1A - bne _0801CFD8 - mov r0, r12 - cmp r0, 0x4 - bne _0801CFD8 - ldr r0, _0801CFD0 @ =gLastUsedAbility - strb r1, [r0] - ldr r0, _0801CFD4 @ =gBattleCommunication - mov r1, r12 - strb r1, [r0, 0x6] - ldrb r0, [r3] - movs r1, 0x1A - bl RecordAbilityBattle - b _0801D1A4 - .align 2, 0 -_0801CFC8: .4byte gBattleMons -_0801CFCC: .4byte gBankTarget -_0801CFD0: .4byte gLastUsedAbility -_0801CFD4: .4byte gBattleCommunication -_0801CFD8: - ldr r1, _0801CFE4 @ =gTypeEffectiveness - adds r0, r5, r1 - ldrb r0, [r0] - adds r4, r1, 0 - b _0801D12A - .align 2, 0 -_0801CFE4: .4byte gTypeEffectiveness -_0801CFE8: - adds r0, r5, r4 - ldrb r0, [r0] - cmp r0, r12 - beq _0801CFF2 - b _0801D124 -_0801CFF2: - adds r2, r5, 0x1 - adds r3, r2, r4 - mov r0, r8 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r7 - adds r0, 0x21 - ldrb r1, [r3] - adds r3, r2, 0 - ldrb r0, [r0] - cmp r1, r0 - bne _0801D032 - adds r0, r5, 0x2 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - bne _0801D032 - ldr r2, _0801D1B0 @ =gBattleMoveFlags - ldrb r0, [r2] - movs r1, 0x8 - orrs r0, r1 - strb r0, [r2] - ldr r1, _0801D1B4 @ =gProtectStructs - ldr r0, _0801D1B8 @ =gBankAttacker - ldrb r2, [r0] - lsls r2, 4 - adds r2, r1 - ldrb r0, [r2, 0x1] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2, 0x1] -_0801D032: - adds r2, r3, r4 - mov r0, r8 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r7 - adds r1, r0, 0 - adds r1, 0x22 - ldrb r2, [r2] - ldrb r1, [r1] - cmp r2, r1 - bne _0801D078 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, r2 - beq _0801D078 - adds r0, r5, 0x2 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - bne _0801D078 - ldr r2, _0801D1B0 @ =gBattleMoveFlags - ldrb r0, [r2] - movs r1, 0x8 - orrs r0, r1 - strb r0, [r2] - ldr r1, _0801D1B4 @ =gProtectStructs - ldr r0, _0801D1B8 @ =gBankAttacker - ldrb r2, [r0] - lsls r2, 4 - adds r2, r1 - ldrb r0, [r2, 0x1] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2, 0x1] -_0801D078: - adds r2, r3, r4 - mov r0, r8 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r7 - adds r0, 0x21 - ldrb r1, [r2] - ldrb r0, [r0] - cmp r1, r0 - bne _0801D09C - adds r0, r5, 0x2 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0x14 - bne _0801D09C - movs r0, 0x1 - orrs r6, r0 -_0801D09C: - adds r2, r3, r4 - mov r0, r8 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r7 - adds r1, r0, 0 - adds r1, 0x22 - ldrb r2, [r2] - ldrb r1, [r1] - cmp r2, r1 - bne _0801D0CA - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, r2 - beq _0801D0CA - adds r0, r5, 0x2 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0x14 - bne _0801D0CA - movs r0, 0x1 - orrs r6, r0 -_0801D0CA: - adds r2, r3, r4 - mov r0, r8 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r7 - adds r0, 0x21 - ldrb r1, [r2] - ldrb r0, [r0] - cmp r1, r0 - bne _0801D0F2 - adds r0, r5, 0x2 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0x5 - bne _0801D0F2 - movs r0, 0x2 - orrs r6, r0 - lsls r0, r6, 24 - lsrs r6, r0, 24 -_0801D0F2: - adds r2, r3, r4 - mov r0, r8 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r7 - adds r1, r0, 0 - adds r1, 0x22 - ldrb r2, [r2] - ldrb r1, [r1] - cmp r2, r1 - bne _0801D124 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, r2 - beq _0801D124 - adds r0, r5, 0x2 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0x5 - bne _0801D124 - movs r0, 0x2 - orrs r6, r0 - lsls r0, r6, 24 - lsrs r6, r0, 24 -_0801D124: - adds r5, 0x3 - adds r0, r5, r4 - ldrb r0, [r0] -_0801D12A: - cmp r0, 0xFF - beq _0801D14E - cmp r0, 0xFE - beq _0801D134 - b _0801CFE8 -_0801D134: - mov r2, r8 - ldrb r1, [r2] - movs r0, 0x58 - muls r0, r1 - adds r1, r7, 0 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 22 - ands r0, r1 - cmp r0, 0 - beq _0801D124 -_0801D14E: - mov r0, r8 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r7 - adds r0, 0x20 - ldrb r4, [r0] - cmp r4, 0x19 - bne _0801D1A4 - ldr r0, _0801D1B8 @ =gBankAttacker - ldrb r0, [r0] - mov r2, r9 - ldrh r1, [r2] - bl move_weather_interaction - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _0801D1A4 - movs r0, 0x3 - ands r6, r0 - cmp r6, 0x1 - beq _0801D1A4 - ldr r2, _0801D1BC @ =gBattleMoves - mov r0, r9 - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0 - beq _0801D1A4 - ldr r0, _0801D1C0 @ =gLastUsedAbility - strb r4, [r0] - ldr r1, _0801D1C4 @ =gBattleCommunication - movs r0, 0x3 - strb r0, [r1, 0x6] - mov r1, r8 - ldrb r0, [r1] - movs r1, 0x19 - bl RecordAbilityBattle -_0801D1A4: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801D1B0: .4byte gBattleMoveFlags -_0801D1B4: .4byte gProtectStructs -_0801D1B8: .4byte gBankAttacker -_0801D1BC: .4byte gBattleMoves -_0801D1C0: .4byte gLastUsedAbility -_0801D1C4: .4byte gBattleCommunication - thumb_func_end b_wonderguard_and_levitate - - thumb_func_start b_attack_effectivity_adapt -b_attack_effectivity_adapt: @ 801D1C8 - push {r4-r7,lr} - adds r6, r2, 0 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 16 - lsrs r5, r1, 16 - ldr r7, _0801D1FC @ =gBattleMoveDamage - ldr r0, [r7] - muls r0, r4 - movs r1, 0xA - bl __divsi3 - str r0, [r7] - cmp r0, 0 - bne _0801D1EE - cmp r4, 0 - beq _0801D1EE - movs r0, 0x1 - str r0, [r7] -_0801D1EE: - cmp r4, 0x5 - beq _0801D216 - cmp r4, 0x5 - bgt _0801D200 - cmp r4, 0 - beq _0801D206 - b _0801D27A - .align 2, 0 -_0801D1FC: .4byte gBattleMoveDamage -_0801D200: - cmp r4, 0x14 - beq _0801D248 - b _0801D27A -_0801D206: - ldrb r0, [r6] - movs r1, 0x8 - orrs r0, r1 - movs r1, 0xFB - ands r0, r1 - movs r1, 0xFD - ands r0, r1 - b _0801D278 -_0801D216: - ldr r0, _0801D240 @ =gBattleMoves - lsls r1, r5, 1 - adds r1, r5 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x1] - cmp r0, 0 - beq _0801D27A - ldrb r1, [r6] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - bne _0801D27A - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0801D244 - movs r0, 0xFD - ands r0, r1 - b _0801D278 - .align 2, 0 -_0801D240: .4byte gBattleMoves -_0801D244: - movs r0, 0x4 - b _0801D276 -_0801D248: - ldr r0, _0801D270 @ =gBattleMoves - lsls r1, r5, 1 - adds r1, r5 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x1] - cmp r0, 0 - beq _0801D27A - ldrb r1, [r6] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - bne _0801D27A - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0801D274 - movs r0, 0xFB - ands r0, r1 - b _0801D278 - .align 2, 0 -_0801D270: .4byte gBattleMoves -_0801D274: - movs r0, 0x2 -_0801D276: - orrs r0, r1 -_0801D278: - strb r0, [r6] -_0801D27A: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end b_attack_effectivity_adapt - - thumb_func_start TypeCalc -TypeCalc: @ 801D280 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp, 0x4] - lsls r2, 24 - lsrs r2, 24 - mov r9, r2 - movs r7, 0 - mov r0, sp - strb r7, [r0] - mov r0, r10 - cmp r0, 0xA5 - bne _0801D2AE - movs r0, 0 - b _0801D43A -_0801D2AE: - ldr r1, _0801D31C @ =gBattleMoves - mov r3, r10 - lsls r2, r3, 1 - adds r0, r2, r3 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x2] - str r0, [sp, 0x8] - ldr r1, _0801D320 @ =gBattleMons - movs r0, 0x58 - ldr r3, [sp, 0x4] - muls r0, r3 - adds r3, r0, r1 - adds r0, r3, 0 - adds r0, 0x21 - ldrb r0, [r0] - str r2, [sp, 0xC] - adds r5, r1, 0 - ldr r1, [sp, 0x8] - cmp r0, r1 - beq _0801D2E2 - adds r0, r3, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, r1 - bne _0801D2F4 -_0801D2E2: - ldr r4, _0801D324 @ =gBattleMoveDamage - ldr r1, [r4] - lsls r0, r1, 4 - subs r0, r1 - str r0, [r4] - movs r1, 0xA - bl __divsi3 - str r0, [r4] -_0801D2F4: - movs r0, 0x58 - mov r2, r9 - muls r2, r0 - adds r0, r2, 0 - adds r0, r5 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x1A - bne _0801D328 - ldr r3, [sp, 0x8] - cmp r3, 0x4 - bne _0801D328 - movs r1, 0x9 - mov r0, sp - ldrb r0, [r0] - orrs r0, r1 - mov r1, sp - strb r0, [r1] - b _0801D3DC - .align 2, 0 -_0801D31C: .4byte gBattleMoves -_0801D320: .4byte gBattleMons -_0801D324: .4byte gBattleMoveDamage -_0801D328: - ldr r1, _0801D344 @ =gTypeEffectiveness - adds r0, r7, r1 - ldrb r0, [r0] - adds r2, r1, 0 - cmp r0, 0xFF - beq _0801D3DC - cmp r0, 0xFE - bne _0801D34C - movs r0, 0x58 - mov r1, r9 - muls r1, r0 - adds r0, r1, 0 - b _0801D3CA - .align 2, 0 -_0801D344: .4byte gTypeEffectiveness -_0801D348: - adds r7, 0x3 - b _0801D3B6 -_0801D34C: - ldr r6, _0801D44C @ =gTypeEffectiveness - adds r0, r7, r6 - ldrb r0, [r0] - ldr r2, [sp, 0x8] - cmp r0, r2 - bne _0801D3B0 - adds r1, r7, 0x1 - adds r1, r6 - ldr r3, _0801D450 @ =gBattleMons - mov r8, r3 - movs r3, 0x58 - mov r0, r9 - muls r0, r3 - mov r2, r8 - adds r5, r0, r2 - adds r0, r5, 0 - adds r0, 0x21 - ldrb r4, [r1] - ldrb r0, [r0] - cmp r4, r0 - bne _0801D388 - adds r0, r7, 0x2 - adds r0, r6 - ldrb r0, [r0] - mov r1, r10 - mov r2, sp - str r3, [sp, 0x10] - bl b_attack_effectivity_adapt - ldr r3, [sp, 0x10] -_0801D388: - adds r0, r5, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r4, r0 - bne _0801D3B0 - ldr r0, _0801D454 @ =gBankTarget - ldrb r0, [r0] - muls r0, r3 - add r0, r8 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, r4 - beq _0801D3B0 - adds r0, r7, 0x2 - adds r0, r6 - ldrb r0, [r0] - mov r1, r10 - mov r2, sp - bl b_attack_effectivity_adapt -_0801D3B0: - adds r7, 0x3 - ldr r5, _0801D450 @ =gBattleMons - ldr r2, _0801D44C @ =gTypeEffectiveness -_0801D3B6: - adds r0, r7, r2 - ldrb r0, [r0] - cmp r0, 0xFF - beq _0801D3DC - cmp r0, 0xFE - bne _0801D34C - movs r0, 0x58 - mov r3, r9 - muls r3, r0 - adds r0, r3, 0 -_0801D3CA: - adds r1, r5, 0 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 22 - ands r0, r1 - cmp r0, 0 - beq _0801D348 -_0801D3DC: - movs r0, 0x58 - mov r1, r9 - muls r1, r0 - adds r0, r1, 0 - adds r0, r5 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x19 - bne _0801D436 - mov r0, sp - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0801D436 - ldr r0, [sp, 0x4] - mov r1, r10 - bl move_weather_interaction - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x2 - bne _0801D436 - mov r0, sp - ldrb r3, [r0] - adds r0, r1, 0 - ands r0, r3 - cmp r0, 0 - beq _0801D41E - movs r0, 0x6 - ands r0, r3 - cmp r0, 0x6 - bne _0801D436 -_0801D41E: - ldr r0, _0801D458 @ =gBattleMoves - ldr r1, [sp, 0xC] - add r1, r10 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x1] - cmp r0, 0 - beq _0801D436 - mov r0, sp - movs r1, 0x1 - orrs r1, r3 - strb r1, [r0] -_0801D436: - mov r0, sp - ldrb r0, [r0] -_0801D43A: - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0801D44C: .4byte gTypeEffectiveness -_0801D450: .4byte gBattleMons -_0801D454: .4byte gBankTarget -_0801D458: .4byte gBattleMoves - thumb_func_end TypeCalc - - thumb_func_start ai_rate_move -ai_rate_move: @ 801D45C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 16 - lsrs r1, 16 - lsls r2, 24 - lsrs r2, 24 - str r2, [sp, 0x4] - movs r7, 0 - mov r0, sp - strb r7, [r0] - ldr r2, _0801D498 @ =gBaseStats - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x6] - str r1, [sp, 0x8] - ldrb r0, [r0, 0x7] - mov r8, r0 - cmp r6, 0xA5 - bne _0801D49C - movs r0, 0 - b _0801D554 - .align 2, 0 -_0801D498: .4byte gBaseStats -_0801D49C: - ldr r2, _0801D4C0 @ =gBattleMoves - lsls r1, r6, 1 - adds r0, r1, r6 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x2] - mov r9, r0 - str r1, [sp, 0xC] - ldr r3, [sp, 0x4] - cmp r3, 0x1A - bne _0801D4C4 - cmp r0, 0x4 - bne _0801D4C4 - movs r1, 0x9 - mov r0, sp - strb r1, [r0] - b _0801D51E - .align 2, 0 -_0801D4C0: .4byte gBattleMoves -_0801D4C4: - ldr r0, _0801D564 @ =gTypeEffectiveness - mov r10, r0 - adds r1, r7, r0 - ldrb r0, [r1] - cmp r0, 0xFF - beq _0801D51E - adds r4, r1, 0 -_0801D4D2: - ldrb r0, [r4] - cmp r0, 0xFE - beq _0801D510 - cmp r0, r9 - bne _0801D510 - ldrb r5, [r4, 0x1] - ldr r1, [sp, 0x8] - cmp r5, r1 - bne _0801D4EE - ldrb r0, [r4, 0x2] - adds r1, r6, 0 - mov r2, sp - bl b_attack_effectivity_adapt -_0801D4EE: - cmp r5, r8 - bne _0801D510 - ldr r0, _0801D568 @ =gBankTarget - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - ldr r3, _0801D56C @ =gBattleMons - adds r0, r3 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, r8 - beq _0801D510 - ldrb r0, [r4, 0x2] - adds r1, r6, 0 - mov r2, sp - bl b_attack_effectivity_adapt -_0801D510: - adds r4, 0x3 - adds r7, 0x3 - mov r1, r10 - adds r0, r7, r1 - ldrb r0, [r0] - cmp r0, 0xFF - bne _0801D4D2 -_0801D51E: - ldr r3, [sp, 0x4] - cmp r3, 0x19 - bne _0801D550 - mov r0, sp - ldrb r2, [r0] - movs r0, 0x2 - ands r0, r2 - cmp r0, 0 - beq _0801D538 - movs r0, 0x6 - ands r0, r2 - cmp r0, 0x6 - bne _0801D550 -_0801D538: - ldr r0, _0801D570 @ =gBattleMoves - ldr r3, [sp, 0xC] - adds r1, r3, r6 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x1] - cmp r0, 0 - beq _0801D550 - mov r0, sp - movs r1, 0x8 - orrs r1, r2 - strb r1, [r0] -_0801D550: - mov r0, sp - ldrb r0, [r0] -_0801D554: - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0801D564: .4byte gTypeEffectiveness -_0801D568: .4byte gBankTarget -_0801D56C: .4byte gBattleMons -_0801D570: .4byte gBattleMoves - thumb_func_end ai_rate_move - - thumb_func_start unref_sub_801D574 -unref_sub_801D574: @ 801D574 - push {r4,lr} - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xF - ands r0, r1 - movs r1, 0x64 - subs r1, r0 - lsls r1, 16 - lsrs r1, 16 - ldr r4, _0801D5AC @ =gBattleMoveDamage - ldr r0, [r4] - cmp r0, 0 - beq _0801D5A6 - muls r0, r1 - str r0, [r4] - movs r1, 0x64 - bl __divsi3 - str r0, [r4] - cmp r0, 0 - bne _0801D5A6 - movs r0, 0x1 - str r0, [r4] -_0801D5A6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0801D5AC: .4byte gBattleMoveDamage - thumb_func_end unref_sub_801D574 - - thumb_func_start atk07_dmg_adjustment -atk07_dmg_adjustment: @ 801D5B0 - push {r4-r7,lr} - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xF - ands r0, r1 - movs r1, 0x64 - subs r1, r0 - lsls r1, 16 - lsrs r1, 16 - ldr r4, _0801D608 @ =gBattleMoveDamage - ldr r0, [r4] - cmp r0, 0 - beq _0801D5E2 - muls r0, r1 - str r0, [r4] - movs r1, 0x64 - bl __divsi3 - str r0, [r4] - cmp r0, 0 - bne _0801D5E2 - movs r0, 0x1 - str r0, [r4] -_0801D5E2: - ldr r7, _0801D60C @ =gBattleMons - ldr r6, _0801D610 @ =gBankTarget - ldrb r2, [r6] - movs r5, 0x58 - adds r0, r2, 0 - muls r0, r5 - adds r1, r0, r7 - ldrh r0, [r1, 0x2E] - cmp r0, 0xAF - bne _0801D618 - ldr r1, _0801D614 @ =gEnigmaBerries - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r4, [r0, 0x7] - ldrb r6, [r0, 0x1A] - b _0801D632 - .align 2, 0 -_0801D608: .4byte gBattleMoveDamage -_0801D60C: .4byte gBattleMons -_0801D610: .4byte gBankTarget -_0801D614: .4byte gEnigmaBerries -_0801D618: - ldrh r0, [r1, 0x2E] - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r4, r0, 24 - ldrb r0, [r6] - muls r0, r5 - adds r0, r7 - ldrh r0, [r0, 0x2E] - bl ItemId_GetHoldEffectParam - lsls r0, 24 - lsrs r6, r0, 24 -_0801D632: - ldr r1, _0801D6F4 @ =gStringBank - ldr r5, _0801D6F8 @ =gBankTarget - ldrb r0, [r5] - strb r0, [r1] - cmp r4, 0x27 - bne _0801D670 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, r6 - bcs _0801D670 - ldrb r0, [r5] - movs r1, 0x27 - bl RecordItemBattle - ldr r2, _0801D6FC @ =gSpecialStatuses - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0] -_0801D670: - ldr r2, _0801D700 @ =gBattleMons - ldr r3, _0801D6F8 @ =gBankTarget - ldrb r4, [r3] - movs r0, 0x58 - muls r0, r4 - adds r1, r2, 0 - adds r1, 0x50 - adds r0, r1 - ldr r1, [r0] - movs r0, 0x80 - lsls r0, 17 - ands r1, r0 - adds r5, r2, 0 - cmp r1, 0 - bne _0801D740 - ldr r2, _0801D704 @ =gBattleMoves - ldr r0, _0801D708 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0x65 - beq _0801D6C2 - ldr r0, _0801D70C @ =gProtectStructs - lsls r1, r4, 4 - adds r1, r0 - ldrb r0, [r1] - lsls r0, 30 - cmp r0, 0 - blt _0801D6C2 - ldr r0, _0801D6FC @ =gSpecialStatuses - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1] - lsrs r0, 7 - cmp r0, 0 - beq _0801D740 -_0801D6C2: - ldrb r0, [r3] - movs r4, 0x58 - muls r0, r4 - adds r0, r5 - ldrh r1, [r0, 0x28] - ldr r2, _0801D710 @ =gBattleMoveDamage - ldr r0, [r2] - cmp r1, r0 - bgt _0801D740 - subs r0, r1, 0x1 - str r0, [r2] - ldr r1, _0801D70C @ =gProtectStructs - ldrb r3, [r3] - lsls r0, r3, 4 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 30 - cmp r0, 0 - bge _0801D718 - ldr r0, _0801D714 @ =gBattleMoveFlags - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - b _0801D740 - .align 2, 0 -_0801D6F4: .4byte gStringBank -_0801D6F8: .4byte gBankTarget -_0801D6FC: .4byte gSpecialStatuses -_0801D700: .4byte gBattleMons -_0801D704: .4byte gBattleMoves -_0801D708: .4byte gCurrentMove -_0801D70C: .4byte gProtectStructs -_0801D710: .4byte gBattleMoveDamage -_0801D714: .4byte gBattleMoveFlags -_0801D718: - ldr r0, _0801D750 @ =gSpecialStatuses - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1] - lsrs r0, 7 - cmp r0, 0 - beq _0801D740 - ldr r2, _0801D754 @ =gBattleMoveFlags - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - ldr r1, _0801D758 @ =gLastUsedItem - adds r0, r3, 0 - muls r0, r4 - adds r0, r5 - ldrh r0, [r0, 0x2E] - strh r0, [r1] -_0801D740: - ldr r1, _0801D75C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801D750: .4byte gSpecialStatuses -_0801D754: .4byte gBattleMoveFlags -_0801D758: .4byte gLastUsedItem -_0801D75C: .4byte gBattlescriptCurrInstr - thumb_func_end atk07_dmg_adjustment - - thumb_func_start atk08_dmg_adjustment2 -atk08_dmg_adjustment2: @ 801D760 - push {r4-r7,lr} - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xF - ands r0, r1 - movs r1, 0x64 - subs r1, r0 - lsls r1, 16 - lsrs r1, 16 - ldr r4, _0801D7B8 @ =gBattleMoveDamage - ldr r0, [r4] - cmp r0, 0 - beq _0801D792 - muls r0, r1 - str r0, [r4] - movs r1, 0x64 - bl __divsi3 - str r0, [r4] - cmp r0, 0 - bne _0801D792 - movs r0, 0x1 - str r0, [r4] -_0801D792: - ldr r7, _0801D7BC @ =gBattleMons - ldr r6, _0801D7C0 @ =gBankTarget - ldrb r2, [r6] - movs r5, 0x58 - adds r0, r2, 0 - muls r0, r5 - adds r1, r0, r7 - ldrh r0, [r1, 0x2E] - cmp r0, 0xAF - bne _0801D7C8 - ldr r1, _0801D7C4 @ =gEnigmaBerries - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r4, [r0, 0x7] - ldrb r6, [r0, 0x1A] - b _0801D7E2 - .align 2, 0 -_0801D7B8: .4byte gBattleMoveDamage -_0801D7BC: .4byte gBattleMons -_0801D7C0: .4byte gBankTarget -_0801D7C4: .4byte gEnigmaBerries -_0801D7C8: - ldrh r0, [r1, 0x2E] - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r4, r0, 24 - ldrb r0, [r6] - muls r0, r5 - adds r0, r7 - ldrh r0, [r0, 0x2E] - bl ItemId_GetHoldEffectParam - lsls r0, 24 - lsrs r6, r0, 24 -_0801D7E2: - ldr r1, _0801D888 @ =gStringBank - ldr r5, _0801D88C @ =gBankTarget - ldrb r0, [r5] - strb r0, [r1] - cmp r4, 0x27 - bne _0801D820 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, r6 - bcs _0801D820 - ldrb r0, [r5] - movs r1, 0x27 - bl RecordItemBattle - ldr r2, _0801D890 @ =gSpecialStatuses - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0] -_0801D820: - ldr r4, _0801D894 @ =gBattleMons - ldr r6, _0801D88C @ =gBankTarget - ldrb r2, [r6] - movs r7, 0x58 - adds r3, r2, 0 - muls r3, r7 - adds r0, r4, 0 - adds r0, 0x50 - adds r0, r3, r0 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 17 - ands r0, r1 - cmp r0, 0 - bne _0801D8CC - ldr r5, _0801D898 @ =gProtectStructs - lsls r0, r2, 4 - adds r0, r5 - ldrb r0, [r0] - lsls r0, 30 - cmp r0, 0 - blt _0801D85E - ldr r0, _0801D890 @ =gSpecialStatuses - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1] - lsrs r0, 7 - cmp r0, 0 - beq _0801D8CC -_0801D85E: - adds r0, r3, r4 - ldrh r1, [r0, 0x28] - ldr r2, _0801D89C @ =gBattleMoveDamage - ldr r0, [r2] - cmp r1, r0 - bgt _0801D8CC - subs r0, r1, 0x1 - str r0, [r2] - ldrb r3, [r6] - lsls r0, r3, 4 - adds r0, r5 - ldrb r0, [r0] - lsls r0, 30 - cmp r0, 0 - bge _0801D8A4 - ldr r0, _0801D8A0 @ =gBattleMoveFlags - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - b _0801D8CC - .align 2, 0 -_0801D888: .4byte gStringBank -_0801D88C: .4byte gBankTarget -_0801D890: .4byte gSpecialStatuses -_0801D894: .4byte gBattleMons -_0801D898: .4byte gProtectStructs -_0801D89C: .4byte gBattleMoveDamage -_0801D8A0: .4byte gBattleMoveFlags -_0801D8A4: - ldr r0, _0801D8DC @ =gSpecialStatuses - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1] - lsrs r0, 7 - cmp r0, 0 - beq _0801D8CC - ldr r2, _0801D8E0 @ =gBattleMoveFlags - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - ldr r1, _0801D8E4 @ =gLastUsedItem - adds r0, r3, 0 - muls r0, r7 - adds r0, r4 - ldrh r0, [r0, 0x2E] - strh r0, [r1] -_0801D8CC: - ldr r1, _0801D8E8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801D8DC: .4byte gSpecialStatuses -_0801D8E0: .4byte gBattleMoveFlags -_0801D8E4: .4byte gLastUsedItem -_0801D8E8: .4byte gBattlescriptCurrInstr - thumb_func_end atk08_dmg_adjustment2 - - thumb_func_start atk09_attackanimation -atk09_attackanimation: @ 801D8EC - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0xC - ldr r0, _0801D940 @ =gBattleExecBuffer - ldr r0, [r0] - cmp r0, 0 - beq _0801D900 - b _0801DA4A -_0801D900: - ldr r0, _0801D944 @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - ldr r3, _0801D948 @ =gCurrentMove - cmp r0, 0 - beq _0801D960 - ldrh r0, [r3] - cmp r0, 0x90 - beq _0801D960 - cmp r0, 0xA4 - beq _0801D960 - ldr r4, _0801D94C @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl b_movescr_stack_push - ldr r0, _0801D950 @ =BattleScript_Pausex20 - str r0, [r4] - ldr r1, _0801D954 @ =0x02000000 - ldr r0, _0801D958 @ =0x00016002 - adds r2, r1, r0 - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] - ldr r2, _0801D95C @ =0x000160a1 - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0801DA4A - .align 2, 0 -_0801D940: .4byte gBattleExecBuffer -_0801D944: .4byte gHitMarker -_0801D948: .4byte gCurrentMove -_0801D94C: .4byte gBattlescriptCurrInstr -_0801D950: .4byte BattleScript_Pausex20 -_0801D954: .4byte 0x02000000 -_0801D958: .4byte 0x00016002 -_0801D95C: .4byte 0x000160a1 -_0801D960: - ldr r2, _0801DA0C @ =gBattleMoves - ldrh r1, [r3] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x6] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - bne _0801D986 - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - bne _0801D986 - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0801D992 -_0801D986: - ldr r0, _0801DA10 @ =0x02000000 - ldr r1, _0801DA14 @ =0x000160a1 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _0801DA00 -_0801D992: - ldr r0, _0801DA18 @ =gBattleMoveFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - bne _0801DA3C - ldr r1, _0801DA1C @ =gActiveBank - ldr r2, _0801DA20 @ =gBankAttacker - mov r9, r2 - ldrb r0, [r2] - strb r0, [r1] - ldrh r1, [r3] - ldr r6, _0801DA10 @ =0x02000000 - ldr r0, _0801DA24 @ =0x00016002 - adds r0, r6 - mov r8, r0 - ldrb r2, [r0] - ldr r0, _0801DA28 @ =gBattleMovePower - ldrh r3, [r0] - ldr r0, _0801DA2C @ =gBattleMoveDamage - ldr r0, [r0] - str r0, [sp] - ldr r5, _0801DA30 @ =gBattleMons - mov r0, r9 - ldrb r4, [r0] - movs r0, 0x58 - muls r0, r4 - adds r0, r5 - adds r0, 0x2B - ldrb r0, [r0] - str r0, [sp, 0x4] - mov r0, r9 - ldrb r4, [r0] - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - ldr r4, _0801DA34 @ =gDisableStructs - adds r0, r4 - str r0, [sp, 0x8] - movs r0, 0 - bl EmitMoveAnimation - mov r1, r8 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r2, _0801DA14 @ =0x000160a1 - adds r6, r2 - ldrb r0, [r6] - adds r0, 0x1 - strb r0, [r6] - mov r1, r9 - ldrb r0, [r1] - bl MarkBufferBankForExecution -_0801DA00: - ldr r1, _0801DA38 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - b _0801DA4A - .align 2, 0 -_0801DA0C: .4byte gBattleMoves -_0801DA10: .4byte 0x02000000 -_0801DA14: .4byte 0x000160a1 -_0801DA18: .4byte gBattleMoveFlags -_0801DA1C: .4byte gActiveBank -_0801DA20: .4byte gBankAttacker -_0801DA24: .4byte 0x00016002 -_0801DA28: .4byte gBattleMovePower -_0801DA2C: .4byte gBattleMoveDamage -_0801DA30: .4byte gBattleMons -_0801DA34: .4byte gDisableStructs -_0801DA38: .4byte gBattlescriptCurrInstr -_0801DA3C: - ldr r4, _0801DA58 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl b_movescr_stack_push - ldr r0, _0801DA5C @ =BattleScript_Pausex20 - str r0, [r4] -_0801DA4A: - add sp, 0xC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0801DA58: .4byte gBattlescriptCurrInstr -_0801DA5C: .4byte BattleScript_Pausex20 - thumb_func_end atk09_attackanimation - - thumb_func_start atk0A_waitanimation -atk0A_waitanimation: @ 801DA60 - push {lr} - ldr r0, _0801DA78 @ =gBattleExecBuffer - ldr r0, [r0] - cmp r0, 0 - bne _0801DA72 - ldr r1, _0801DA7C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] -_0801DA72: - pop {r0} - bx r0 - .align 2, 0 -_0801DA78: .4byte gBattleExecBuffer -_0801DA7C: .4byte gBattlescriptCurrInstr - thumb_func_end atk0A_waitanimation - - thumb_func_start atk0B_healthbarupdate -atk0B_healthbarupdate: @ 801DA80 - push {r4,r5,lr} - ldr r0, _0801DAE4 @ =gBattleExecBuffer - ldr r0, [r0] - cmp r0, 0 - bne _0801DB36 - ldr r0, _0801DAE8 @ =gBattleMoveFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - bne _0801DB2E - ldr r0, _0801DAEC @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - bl sub_8015150 - ldr r2, _0801DAF0 @ =gActiveBank - strb r0, [r2] - ldr r1, _0801DAF4 @ =gBattleMons - ldrb r2, [r2] - movs r0, 0x58 - muls r0, r2 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 17 - ands r0, r1 - cmp r0, 0 - beq _0801DB00 - ldr r0, _0801DAF8 @ =gDisableStructs - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0xA] - cmp r0, 0 - beq _0801DB00 - ldr r0, _0801DAFC @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 1 - ands r0, r1 - cmp r0, 0 - bne _0801DB00 - movs r0, 0x80 - adds r1, r2, 0 - bl PrepareStringBattle - b _0801DB2E - .align 2, 0 -_0801DAE4: .4byte gBattleExecBuffer -_0801DAE8: .4byte gBattleMoveFlags -_0801DAEC: .4byte gBattlescriptCurrInstr -_0801DAF0: .4byte gActiveBank -_0801DAF4: .4byte gBattleMons -_0801DAF8: .4byte gDisableStructs -_0801DAFC: .4byte gHitMarker -_0801DB00: - ldr r5, _0801DB3C @ =gBattleMoveDamage - ldrh r1, [r5] - movs r0, 0 - bl EmitHealthBarUpdate - ldr r4, _0801DB40 @ =gActiveBank - ldrb r0, [r4] - bl MarkBufferBankForExecution - ldrb r0, [r4] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _0801DB2E - ldr r0, [r5] - cmp r0, 0 - ble _0801DB2E - ldr r0, _0801DB44 @ =gBattleResults - ldrb r1, [r0, 0x5] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0, 0x5] -_0801DB2E: - ldr r1, _0801DB48 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] -_0801DB36: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0801DB3C: .4byte gBattleMoveDamage -_0801DB40: .4byte gActiveBank -_0801DB44: .4byte gBattleResults -_0801DB48: .4byte gBattlescriptCurrInstr - thumb_func_end atk0B_healthbarupdate - - thumb_func_start atk0C_datahpupdate -atk0C_datahpupdate: @ 801DB4C - push {r4-r7,lr} - sub sp, 0x4 - ldr r0, _0801DB74 @ =gBattleExecBuffer - ldr r0, [r0] - cmp r0, 0 - beq _0801DB5A - b _0801DF2E -_0801DB5A: - ldr r0, _0801DB78 @ =0x02000000 - ldr r1, _0801DB7C @ =0x0001601c - adds r0, r1 - ldrb r1, [r0] - cmp r1, 0 - beq _0801DB80 - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - bne _0801DB80 - movs r6, 0x3F - ands r6, r1 - b _0801DB90 - .align 2, 0 -_0801DB74: .4byte gBattleExecBuffer -_0801DB78: .4byte 0x02000000 -_0801DB7C: .4byte 0x0001601c -_0801DB80: - ldr r2, _0801DC1C @ =gBattleMoves - ldr r0, _0801DC20 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r6, [r0, 0x2] -_0801DB90: - ldr r0, _0801DC24 @ =gBattleMoveFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - beq _0801DB9E - b _0801DF00 -_0801DB9E: - ldr r0, _0801DC28 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - bl sub_8015150 - ldr r7, _0801DC2C @ =gActiveBank - strb r0, [r7] - ldr r1, _0801DC30 @ =gBattleMons - ldrb r2, [r7] - movs r0, 0x58 - muls r0, r2 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 17 - ands r0, r1 - cmp r0, 0 - beq _0801DCB4 - ldr r0, _0801DC34 @ =gDisableStructs - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r4, r1, r0 - ldrb r1, [r4, 0xA] - mov r12, r0 - cmp r1, 0 - beq _0801DCB4 - ldr r0, _0801DC38 @ =gHitMarker - ldr r3, [r0] - movs r0, 0x80 - lsls r0, 1 - ands r3, r0 - cmp r3, 0 - bne _0801DCB4 - adds r5, r1, 0 - ldr r6, _0801DC3C @ =gBattleMoveDamage - ldr r4, [r6] - cmp r5, r4 - blt _0801DC48 - ldr r0, _0801DC40 @ =gSpecialStatuses - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 2 - adds r0, 0x4 - adds r1, r0 - ldr r0, [r1] - cmp r0, 0 - bne _0801DC02 - str r4, [r1] -_0801DC02: - ldrb r0, [r7] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - add r1, r12 - ldr r2, [r6] - ldrb r0, [r1, 0xA] - subs r0, r2 - strb r0, [r1, 0xA] - ldr r1, _0801DC44 @ =gHP_dealt - ldr r0, [r6] - str r0, [r1] - b _0801DC78 - .align 2, 0 -_0801DC1C: .4byte gBattleMoves -_0801DC20: .4byte gCurrentMove -_0801DC24: .4byte gBattleMoveFlags -_0801DC28: .4byte gBattlescriptCurrInstr -_0801DC2C: .4byte gActiveBank -_0801DC30: .4byte gBattleMons -_0801DC34: .4byte gDisableStructs -_0801DC38: .4byte gHitMarker -_0801DC3C: .4byte gBattleMoveDamage -_0801DC40: .4byte gSpecialStatuses -_0801DC44: .4byte gHP_dealt -_0801DC48: - ldr r0, _0801DCA0 @ =gSpecialStatuses - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 2 - adds r0, 0x4 - adds r1, r0 - ldr r0, [r1] - cmp r0, 0 - bne _0801DC5C - str r5, [r1] -_0801DC5C: - ldr r2, _0801DCA4 @ =gHP_dealt - ldrb r1, [r7] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - add r0, r12 - ldrb r0, [r0, 0xA] - str r0, [r2] - ldrb r1, [r7] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - add r0, r12 - strb r3, [r0, 0xA] -_0801DC78: - ldr r0, _0801DCA8 @ =gActiveBank - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - add r0, r12 - ldrb r0, [r0, 0xA] - cmp r0, 0 - beq _0801DC8C - b _0801DF26 -_0801DC8C: - ldr r4, _0801DCAC @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x2 - str r0, [r4] - bl b_movescr_stack_push_cursor - ldr r0, _0801DCB0 @ =BattleScript_SubstituteFade - str r0, [r4] - b _0801DF2E - .align 2, 0 -_0801DCA0: .4byte gSpecialStatuses -_0801DCA4: .4byte gHP_dealt -_0801DCA8: .4byte gActiveBank -_0801DCAC: .4byte gBattlescriptCurrInstr -_0801DCB0: .4byte BattleScript_SubstituteFade -_0801DCB4: - ldr r0, _0801DCF4 @ =gHitMarker - ldr r2, [r0] - ldr r1, _0801DCF8 @ =0xfffffeff - ands r2, r1 - str r2, [r0] - ldr r1, _0801DCFC @ =gBattleMoveDamage - ldr r5, [r1] - mov r12, r0 - adds r7, r1, 0 - cmp r5, 0 - bge _0801DD08 - ldr r4, _0801DD00 @ =gBattleMons - ldr r2, _0801DD04 @ =gActiveBank - ldrb r0, [r2] - movs r3, 0x58 - adds r1, r0, 0 - muls r1, r3 - adds r1, r4 - ldrh r0, [r1, 0x28] - subs r0, r5 - strh r0, [r1, 0x28] - ldrb r0, [r2] - muls r0, r3 - adds r1, r0, r4 - ldrh r3, [r1, 0x2C] - ldrh r0, [r1, 0x28] - adds r5, r2, 0 - cmp r0, r3 - bhi _0801DCF0 - b _0801DEC6 -_0801DCF0: - strh r3, [r1, 0x28] - b _0801DEC6 - .align 2, 0 -_0801DCF4: .4byte gHitMarker -_0801DCF8: .4byte 0xfffffeff -_0801DCFC: .4byte gBattleMoveDamage -_0801DD00: .4byte gBattleMons -_0801DD04: .4byte gActiveBank -_0801DD08: - movs r0, 0x20 - ands r0, r2 - cmp r0, 0 - beq _0801DD24 - movs r0, 0x21 - negs r0, r0 - ands r2, r0 - mov r0, r12 - str r2, [r0] - ldr r5, _0801DD20 @ =gActiveBank - b _0801DD6C - .align 2, 0 -_0801DD20: .4byte gActiveBank -_0801DD24: - ldr r0, _0801DD4C @ =gTakenDmg - ldr r2, _0801DD50 @ =gActiveBank - ldrb r1, [r2] - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - adds r0, r5 - str r0, [r1] - ldr r0, _0801DD54 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - adds r5, r2, 0 - cmp r0, 0 - bne _0801DD60 - ldr r1, _0801DD58 @ =gTakenDmgBanks - ldrb r0, [r5] - adds r0, r1 - ldr r1, _0801DD5C @ =gBankAttacker - b _0801DD68 - .align 2, 0 -_0801DD4C: .4byte gTakenDmg -_0801DD50: .4byte gActiveBank -_0801DD54: .4byte gBattlescriptCurrInstr -_0801DD58: .4byte gTakenDmgBanks -_0801DD5C: .4byte gBankAttacker -_0801DD60: - ldr r1, _0801DD8C @ =gTakenDmgBanks - ldrb r0, [r5] - adds r0, r1 - ldr r1, _0801DD90 @ =gBankTarget -_0801DD68: - ldrb r1, [r1] - strb r1, [r0] -_0801DD6C: - ldr r4, _0801DD94 @ =gBattleMons - ldrb r0, [r5] - movs r3, 0x58 - muls r0, r3 - adds r2, r0, r4 - ldrh r0, [r2, 0x28] - ldr r1, [r7] - cmp r0, r1 - ble _0801DD9C - subs r0, r1 - strh r0, [r2, 0x28] - ldr r0, _0801DD98 @ =gHP_dealt - str r1, [r0] - adds r7, r0, 0 - b _0801DDAC - .align 2, 0 -_0801DD8C: .4byte gTakenDmgBanks -_0801DD90: .4byte gBankTarget -_0801DD94: .4byte gBattleMons -_0801DD98: .4byte gHP_dealt -_0801DD9C: - ldr r2, _0801DE20 @ =gHP_dealt - str r0, [r2] - ldrb r0, [r5] - muls r0, r3 - adds r0, r4 - movs r1, 0 - strh r1, [r0, 0x28] - adds r7, r2, 0 -_0801DDAC: - ldr r2, _0801DE24 @ =gSpecialStatuses - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r1, r2, 0x4 - adds r3, r0, r1 - ldr r0, [r3] - adds r4, r2, 0 - cmp r0, 0 - bne _0801DDD4 - mov r1, r12 - ldr r0, [r1] - movs r1, 0x80 - lsls r1, 13 - ands r0, r1 - cmp r0, 0 - bne _0801DDD4 - ldr r0, [r7] - str r0, [r3] -_0801DDD4: - cmp r6, 0x8 - bhi _0801DE5C - mov r1, r12 - ldr r0, [r1] - movs r1, 0x80 - lsls r1, 13 - ands r0, r1 - cmp r0, 0 - bne _0801DE58 - ldr r0, _0801DE28 @ =gCurrentMove - ldrh r0, [r0] - cmp r0, 0xDC - beq _0801DE58 - ldr r3, _0801DE2C @ =gProtectStructs - ldrb r0, [r5] - lsls r0, 4 - adds r1, r3, 0x4 - adds r0, r1 - ldr r2, [r7] - str r2, [r0] - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r1, r4, 0 - adds r1, 0x8 - adds r0, r1 - str r2, [r0] - ldr r0, _0801DE30 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0 - bne _0801DE38 - ldrb r0, [r5] - lsls r0, 4 - adds r0, r3 - ldr r2, _0801DE34 @ =gBankAttacker - b _0801DE40 - .align 2, 0 -_0801DE20: .4byte gHP_dealt -_0801DE24: .4byte gSpecialStatuses -_0801DE28: .4byte gCurrentMove -_0801DE2C: .4byte gProtectStructs -_0801DE30: .4byte gBattlescriptCurrInstr -_0801DE34: .4byte gBankAttacker -_0801DE38: - ldrb r0, [r5] - lsls r0, 4 - adds r0, r3 - ldr r2, _0801DE54 @ =gBankTarget -_0801DE40: - ldrb r1, [r2] - strb r1, [r0, 0xC] - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r2] - strb r1, [r0, 0x10] - b _0801DEC6 - .align 2, 0 -_0801DE54: .4byte gBankTarget -_0801DE58: - cmp r6, 0x8 - bls _0801DEC6 -_0801DE5C: - mov r1, r12 - ldr r0, [r1] - movs r1, 0x80 - lsls r1, 13 - ands r0, r1 - cmp r0, 0 - bne _0801DEC6 - ldr r3, _0801DEA0 @ =gProtectStructs - ldrb r0, [r5] - lsls r0, 4 - adds r1, r3, 0 - adds r1, 0x8 - adds r0, r1 - ldr r2, [r7] - str r2, [r0] - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r1, r4, 0 - adds r1, 0xC - adds r0, r1 - str r2, [r0] - ldr r0, _0801DEA4 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0 - bne _0801DEAC - ldrb r0, [r5] - lsls r0, 4 - adds r0, r3 - ldr r2, _0801DEA8 @ =gBankAttacker - b _0801DEB4 - .align 2, 0 -_0801DEA0: .4byte gProtectStructs -_0801DEA4: .4byte gBattlescriptCurrInstr -_0801DEA8: .4byte gBankAttacker -_0801DEAC: - ldrb r0, [r5] - lsls r0, 4 - adds r0, r3 - ldr r2, _0801DEF4 @ =gBankTarget -_0801DEB4: - ldrb r1, [r2] - strb r1, [r0, 0xD] - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r2] - strb r1, [r0, 0x11] -_0801DEC6: - mov r1, r12 - ldr r0, [r1] - ldr r1, _0801DEF8 @ =0xffefffff - ands r0, r1 - mov r1, r12 - str r0, [r1] - ldrb r1, [r5] - movs r0, 0x58 - muls r0, r1 - ldr r1, _0801DEFC @ =gUnknown_02024AA8 - adds r0, r1 - str r0, [sp] - movs r0, 0 - movs r1, 0x2A - movs r2, 0 - movs r3, 0x2 - bl EmitSetAttributes - ldrb r0, [r5] - bl MarkBufferBankForExecution - b _0801DF26 - .align 2, 0 -_0801DEF4: .4byte gBankTarget -_0801DEF8: .4byte 0xffefffff -_0801DEFC: .4byte gUnknown_02024AA8 -_0801DF00: - ldr r0, _0801DF38 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - bl sub_8015150 - ldr r1, _0801DF3C @ =gActiveBank - strb r0, [r1] - ldr r2, _0801DF40 @ =gSpecialStatuses - ldrb r1, [r1] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r2, 0x4 - adds r1, r0, r2 - ldr r0, [r1] - cmp r0, 0 - bne _0801DF26 - ldr r0, _0801DF44 @ =0x0000ffff - str r0, [r1] -_0801DF26: - ldr r1, _0801DF38 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] -_0801DF2E: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801DF38: .4byte gBattlescriptCurrInstr -_0801DF3C: .4byte gActiveBank -_0801DF40: .4byte gSpecialStatuses -_0801DF44: .4byte 0x0000ffff - thumb_func_end atk0C_datahpupdate - - thumb_func_start atk0D_critmessage -atk0D_critmessage: @ 801DF48 - push {lr} - ldr r0, _0801DF84 @ =gBattleExecBuffer - ldr r0, [r0] - cmp r0, 0 - bne _0801DF7E - ldr r0, _0801DF88 @ =gCritMultiplier - ldrb r0, [r0] - cmp r0, 0x2 - bne _0801DF76 - ldr r0, _0801DF8C @ =gBattleMoveFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - bne _0801DF76 - ldr r0, _0801DF90 @ =gBankAttacker - ldrb r1, [r0] - movs r0, 0xD9 - bl PrepareStringBattle - ldr r1, _0801DF94 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x7] -_0801DF76: - ldr r1, _0801DF98 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] -_0801DF7E: - pop {r0} - bx r0 - .align 2, 0 -_0801DF84: .4byte gBattleExecBuffer -_0801DF88: .4byte gCritMultiplier -_0801DF8C: .4byte gBattleMoveFlags -_0801DF90: .4byte gBankAttacker -_0801DF94: .4byte gBattleCommunication -_0801DF98: .4byte gBattlescriptCurrInstr - thumb_func_end atk0D_critmessage - - thumb_func_start atk0E_effectiveness_sound -atk0E_effectiveness_sound: @ 801DF9C - push {r4,lr} - ldr r0, _0801DFD4 @ =gBattleExecBuffer - ldr r0, [r0] - cmp r0, 0 - bne _0801E05C - ldr r4, _0801DFD8 @ =gActiveBank - ldr r0, _0801DFDC @ =gBankTarget - ldrb r0, [r0] - strb r0, [r4] - ldr r1, _0801DFE0 @ =gBattleMoveFlags - ldrb r2, [r1] - movs r0, 0x1 - ands r0, r2 - cmp r0, 0 - bne _0801E054 - movs r0, 0xFE - ands r0, r2 - cmp r0, 0x10 - beq _0801E00E - cmp r0, 0x10 - bgt _0801DFEA - cmp r0, 0x4 - beq _0801DFFE - cmp r0, 0x4 - bgt _0801DFE4 - cmp r0, 0x2 - beq _0801DFF8 - b _0801E00E - .align 2, 0 -_0801DFD4: .4byte gBattleExecBuffer -_0801DFD8: .4byte gActiveBank -_0801DFDC: .4byte gBankTarget -_0801DFE0: .4byte gBattleMoveFlags -_0801DFE4: - cmp r0, 0x8 - beq _0801E054 - b _0801E00E -_0801DFEA: - cmp r0, 0x40 - beq _0801E00E - cmp r0, 0x40 - bgt _0801E00E - cmp r0, 0x20 - beq _0801E054 - b _0801E00E -_0801DFF8: - movs r0, 0 - movs r1, 0xE - b _0801E002 -_0801DFFE: - movs r0, 0 - movs r1, 0xC -_0801E002: - bl EmitEffectivenessSound - ldrb r0, [r4] - bl MarkBufferBankForExecution - b _0801E054 -_0801E00E: - ldrb r1, [r1] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0801E01E - movs r0, 0 - movs r1, 0xE - b _0801E02A -_0801E01E: - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0801E03C - movs r0, 0 - movs r1, 0xC -_0801E02A: - bl EmitEffectivenessSound - ldr r0, _0801E038 @ =gActiveBank - ldrb r0, [r0] - bl MarkBufferBankForExecution - b _0801E054 - .align 2, 0 -_0801E038: .4byte gActiveBank -_0801E03C: - movs r0, 0x28 - ands r0, r1 - cmp r0, 0 - bne _0801E054 - movs r0, 0 - movs r1, 0xD - bl EmitEffectivenessSound - ldr r0, _0801E064 @ =gActiveBank - ldrb r0, [r0] - bl MarkBufferBankForExecution -_0801E054: - ldr r1, _0801E068 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] -_0801E05C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0801E064: .4byte gActiveBank -_0801E068: .4byte gBattlescriptCurrInstr - thumb_func_end atk0E_effectiveness_sound - - thumb_func_start atk0F_resultmessage -atk0F_resultmessage: @ 801E06C - push {r4-r7,lr} - movs r3, 0 - ldr r0, _0801E0A8 @ =gBattleExecBuffer - ldr r0, [r0] - cmp r0, 0 - beq _0801E07A - b _0801E20C -_0801E07A: - ldr r1, _0801E0AC @ =gBattleMoveFlags - ldrb r2, [r1] - movs r4, 0x1 - adds r0, r4, 0 - ands r0, r2 - adds r6, r1, 0 - ldr r7, _0801E0B0 @ =gBattleCommunication - cmp r0, 0 - beq _0801E0B8 - movs r0, 0x8 - ands r0, r2 - cmp r0, 0 - beq _0801E09A - ldrb r0, [r7, 0x6] - cmp r0, 0x2 - bls _0801E0B8 -_0801E09A: - ldr r1, _0801E0B4 @ =gMissStrings - ldrb r0, [r7, 0x6] - lsls r0, 1 - adds r0, r1 - ldrh r3, [r0] - strb r4, [r7, 0x7] - b _0801E1F6 - .align 2, 0 -_0801E0A8: .4byte gBattleExecBuffer -_0801E0AC: .4byte gBattleMoveFlags -_0801E0B0: .4byte gBattleCommunication -_0801E0B4: .4byte gMissStrings -_0801E0B8: - movs r0, 0x1 - strb r0, [r7, 0x7] - ldrb r5, [r6] - movs r0, 0xFE - ands r0, r5 - cmp r0, 0x10 - beq _0801E0FC - cmp r0, 0x10 - bgt _0801E0DE - cmp r0, 0x4 - beq _0801E0F8 - cmp r0, 0x4 - bgt _0801E0D8 - cmp r0, 0x2 - beq _0801E0F4 - b _0801E144 -_0801E0D8: - cmp r0, 0x8 - beq _0801E150 - b _0801E144 -_0801E0DE: - cmp r0, 0x40 - beq _0801E100 - cmp r0, 0x40 - bgt _0801E0EE - cmp r0, 0x20 - bne _0801E0EC - b _0801E1F0 -_0801E0EC: - b _0801E144 -_0801E0EE: - cmp r0, 0x80 - beq _0801E104 - b _0801E144 -_0801E0F4: - movs r3, 0xDE - b _0801E1FA -_0801E0F8: - movs r3, 0xDD - b _0801E1FA -_0801E0FC: - movs r3, 0xDA - b _0801E1FA -_0801E100: - movs r3, 0x99 - b _0801E1FA -_0801E104: - ldr r4, _0801E12C @ =gLastUsedItem - ldr r2, _0801E130 @ =gBattleMons - ldr r3, _0801E134 @ =gBankTarget - ldrb r1, [r3] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrh r0, [r0, 0x2E] - strh r0, [r4] - ldr r1, _0801E138 @ =gStringBank - ldrb r0, [r3] - strb r0, [r1] - movs r0, 0x3F - ands r0, r5 - strb r0, [r6] - bl b_movescr_stack_push_cursor - ldr r1, _0801E13C @ =gBattlescriptCurrInstr - ldr r0, _0801E140 @ =BattleScript_HangedOnMsg - b _0801E20A - .align 2, 0 -_0801E12C: .4byte gLastUsedItem -_0801E130: .4byte gBattleMons -_0801E134: .4byte gBankTarget -_0801E138: .4byte gStringBank -_0801E13C: .4byte gBattlescriptCurrInstr -_0801E140: .4byte BattleScript_HangedOnMsg -_0801E144: - adds r2, r6, 0 - ldrb r5, [r2] - movs r0, 0x8 - ands r0, r5 - cmp r0, 0 - beq _0801E154 -_0801E150: - movs r3, 0x1B - b _0801E1FA -_0801E154: - movs r0, 0x10 - ands r0, r5 - cmp r0, 0 - beq _0801E17C - movs r0, 0xEF - ands r0, r5 - movs r1, 0xFD - ands r0, r1 - movs r1, 0xFB - ands r0, r1 - strb r0, [r2] - bl b_movescr_stack_push_cursor - ldr r1, _0801E174 @ =gBattlescriptCurrInstr - ldr r0, _0801E178 @ =BattleScript_OneHitKOMsg - b _0801E20A - .align 2, 0 -_0801E174: .4byte gBattlescriptCurrInstr -_0801E178: .4byte BattleScript_OneHitKOMsg -_0801E17C: - movs r0, 0x40 - ands r0, r5 - cmp r0, 0 - beq _0801E19C - movs r0, 0x3F - ands r0, r5 - strb r0, [r2] - bl b_movescr_stack_push_cursor - ldr r1, _0801E194 @ =gBattlescriptCurrInstr - ldr r0, _0801E198 @ =BattleScript_EnduredMsg - b _0801E20A - .align 2, 0 -_0801E194: .4byte gBattlescriptCurrInstr -_0801E198: .4byte BattleScript_EnduredMsg -_0801E19C: - movs r0, 0x80 - ands r0, r5 - cmp r0, 0 - beq _0801E1E4 - ldr r4, _0801E1CC @ =gLastUsedItem - ldr r2, _0801E1D0 @ =gBattleMons - ldr r3, _0801E1D4 @ =gBankTarget - ldrb r1, [r3] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrh r0, [r0, 0x2E] - strh r0, [r4] - ldr r1, _0801E1D8 @ =gStringBank - ldrb r0, [r3] - strb r0, [r1] - movs r0, 0x3F - ands r0, r5 - strb r0, [r6] - bl b_movescr_stack_push_cursor - ldr r1, _0801E1DC @ =gBattlescriptCurrInstr - ldr r0, _0801E1E0 @ =BattleScript_HangedOnMsg - b _0801E20A - .align 2, 0 -_0801E1CC: .4byte gLastUsedItem -_0801E1D0: .4byte gBattleMons -_0801E1D4: .4byte gBankTarget -_0801E1D8: .4byte gStringBank -_0801E1DC: .4byte gBattlescriptCurrInstr -_0801E1E0: .4byte BattleScript_HangedOnMsg -_0801E1E4: - movs r0, 0x20 - ands r0, r5 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _0801E1F4 -_0801E1F0: - movs r3, 0xE5 - b _0801E1FA -_0801E1F4: - strb r0, [r7, 0x7] -_0801E1F6: - cmp r3, 0 - beq _0801E204 -_0801E1FA: - adds r0, r3, 0 - ldr r1, _0801E214 @ =gBankAttacker - ldrb r1, [r1] - bl PrepareStringBattle -_0801E204: - ldr r1, _0801E218 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 -_0801E20A: - str r0, [r1] -_0801E20C: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801E214: .4byte gBankAttacker -_0801E218: .4byte gBattlescriptCurrInstr - thumb_func_end atk0F_resultmessage - - thumb_func_start atk10_printstring -atk10_printstring: @ 801E21C - push {r4,lr} - ldr r0, _0801E24C @ =gBattleExecBuffer - ldr r0, [r0] - cmp r0, 0 - bne _0801E246 - ldr r4, _0801E250 @ =gBattlescriptCurrInstr - ldr r1, [r4] - ldrb r0, [r1, 0x1] - ldrb r1, [r1, 0x2] - lsls r1, 8 - orrs r0, r1 - ldr r1, _0801E254 @ =gBankAttacker - ldrb r1, [r1] - bl PrepareStringBattle - ldr r0, [r4] - adds r0, 0x3 - str r0, [r4] - ldr r1, _0801E258 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x7] -_0801E246: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0801E24C: .4byte gBattleExecBuffer -_0801E250: .4byte gBattlescriptCurrInstr -_0801E254: .4byte gBankAttacker -_0801E258: .4byte gBattleCommunication - thumb_func_end atk10_printstring - - thumb_func_start atk11_printstring_playeronly -atk11_printstring_playeronly: @ 801E25C - push {r4,r5,lr} - ldr r5, _0801E290 @ =gActiveBank - ldr r0, _0801E294 @ =gBankAttacker - ldrb r0, [r0] - strb r0, [r5] - ldr r4, _0801E298 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r1, [r0, 0x1] - ldrb r0, [r0, 0x2] - lsls r0, 8 - orrs r1, r0 - movs r0, 0 - bl EmitPrintStringPlayerOnly - ldrb r0, [r5] - bl MarkBufferBankForExecution - ldr r0, [r4] - adds r0, 0x3 - str r0, [r4] - ldr r1, _0801E29C @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x7] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0801E290: .4byte gActiveBank -_0801E294: .4byte gBankAttacker -_0801E298: .4byte gBattlescriptCurrInstr -_0801E29C: .4byte gBattleCommunication - thumb_func_end atk11_printstring_playeronly - - thumb_func_start atk12_waitmessage -atk12_waitmessage: @ 801E2A0 - push {r4-r6,lr} - ldr r0, _0801E2BC @ =gBattleExecBuffer - ldr r4, [r0] - cmp r4, 0 - bne _0801E2EE - ldr r6, _0801E2C0 @ =gBattleCommunication - ldrb r0, [r6, 0x7] - cmp r0, 0 - bne _0801E2C8 - ldr r1, _0801E2C4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x3 - str r0, [r1] - b _0801E2EE - .align 2, 0 -_0801E2BC: .4byte gBattleExecBuffer -_0801E2C0: .4byte gBattleCommunication -_0801E2C4: .4byte gBattlescriptCurrInstr -_0801E2C8: - ldr r5, _0801E2F4 @ =gBattlescriptCurrInstr - ldr r2, [r5] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldr r3, _0801E2F8 @ =gPauseCounterBattle - ldrh r0, [r3] - adds r0, 0x1 - strh r0, [r3] - lsls r0, 16 - lsrs r0, 16 - cmp r0, r1 - bcc _0801E2EE - movs r1, 0 - strh r4, [r3] - adds r0, r2, 0x3 - str r0, [r5] - strb r1, [r6, 0x7] -_0801E2EE: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0801E2F4: .4byte gBattlescriptCurrInstr -_0801E2F8: .4byte gPauseCounterBattle - thumb_func_end atk12_waitmessage - - thumb_func_start atk13_printfromtable -atk13_printfromtable: @ 801E2FC - push {r4,r5,lr} - ldr r0, _0801E340 @ =gBattleExecBuffer - ldr r0, [r0] - cmp r0, 0 - bne _0801E33A - ldr r4, _0801E344 @ =gBattlescriptCurrInstr - ldr r2, [r4] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - ldr r5, _0801E348 @ =gBattleCommunication - ldrb r0, [r5, 0x5] - lsls r0, 1 - adds r1, r0 - ldrh r0, [r1] - ldr r1, _0801E34C @ =gBankAttacker - ldrb r1, [r1] - bl PrepareStringBattle - ldr r0, [r4] - adds r0, 0x5 - str r0, [r4] - movs r0, 0x1 - strb r0, [r5, 0x7] -_0801E33A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0801E340: .4byte gBattleExecBuffer -_0801E344: .4byte gBattlescriptCurrInstr -_0801E348: .4byte gBattleCommunication -_0801E34C: .4byte gBankAttacker - thumb_func_end atk13_printfromtable - - thumb_func_start atk14_printfromtable_playeronly -atk14_printfromtable_playeronly: @ 801E350 - push {r4-r6,lr} - ldr r0, _0801E3A0 @ =gBattleExecBuffer - ldr r0, [r0] - cmp r0, 0 - bne _0801E39A - ldr r5, _0801E3A4 @ =gBattlescriptCurrInstr - ldr r2, [r5] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - ldr r6, _0801E3A8 @ =gBattleCommunication - ldrb r0, [r6, 0x5] - lsls r0, 1 - adds r1, r0 - ldr r4, _0801E3AC @ =gActiveBank - ldr r0, _0801E3B0 @ =gBankAttacker - ldrb r0, [r0] - strb r0, [r4] - ldrh r1, [r1] - movs r0, 0 - bl EmitPrintStringPlayerOnly - ldrb r0, [r4] - bl MarkBufferBankForExecution - ldr r0, [r5] - adds r0, 0x5 - str r0, [r5] - movs r0, 0x1 - strb r0, [r6, 0x7] -_0801E39A: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0801E3A0: .4byte gBattleExecBuffer -_0801E3A4: .4byte gBattlescriptCurrInstr -_0801E3A8: .4byte gBattleCommunication -_0801E3AC: .4byte gActiveBank -_0801E3B0: .4byte gBankAttacker - thumb_func_end atk14_printfromtable_playeronly - - thumb_func_start sub_801E3B4 -sub_801E3B4: @ 801E3B4 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - movs r1, 0 - ldr r0, _0801E3E4 @ =gNoOfAllBanks - ldrb r3, [r0] - cmp r1, r3 - bge _0801E3DA - ldr r4, _0801E3E8 @ =gTurnOrder - ldrb r0, [r4] - cmp r0, r2 - beq _0801E3DA -_0801E3CC: - adds r1, 0x1 - cmp r1, r3 - bge _0801E3DA - adds r0, r1, r4 - ldrb r0, [r0] - cmp r0, r2 - bne _0801E3CC -_0801E3DA: - lsls r0, r1, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0801E3E4: .4byte gNoOfAllBanks -_0801E3E8: .4byte gTurnOrder - thumb_func_end sub_801E3B4 - - thumb_func_start sub_801E3EC -sub_801E3EC: @ 801E3EC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - movs r0, 0 - mov r10, r0 - movs r6, 0 - movs r1, 0x1 - str r1, [sp, 0x4] - ldr r1, _0801E430 @ =gBattleCommunication - ldrb r3, [r1, 0x3] - movs r0, 0x40 - ands r0, r3 - adds r7, r1, 0 - cmp r0, 0 - beq _0801E444 - ldr r2, _0801E434 @ =gEffectBank - ldr r0, _0801E438 @ =gBankAttacker - ldrb r0, [r0] - strb r0, [r2] - movs r0, 0xBF - ands r0, r3 - strb r0, [r7, 0x3] - movs r6, 0x40 - ldr r0, _0801E43C @ =0x02000000 - ldr r1, _0801E440 @ =gBankTarget - b _0801E450 - .align 2, 0 -_0801E430: .4byte gBattleCommunication -_0801E434: .4byte gEffectBank -_0801E438: .4byte gBankAttacker -_0801E43C: .4byte 0x02000000 -_0801E440: .4byte gBankTarget -_0801E444: - ldr r2, _0801E538 @ =gEffectBank - ldr r0, _0801E53C @ =gBankTarget - ldrb r0, [r0] - strb r0, [r2] - ldr r0, _0801E540 @ =0x02000000 - ldr r1, _0801E544 @ =gBankAttacker -_0801E450: - ldrb r1, [r1] - ldr r3, _0801E548 @ =0x00016003 - adds r0, r3 - strb r1, [r0] - mov r8, r2 - ldr r2, _0801E54C @ =gBattleMons - mov r0, r8 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x13 - bne _0801E48A - ldr r0, _0801E550 @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 6 - ands r0, r1 - cmp r0, 0 - bne _0801E48A - cmp r4, 0 - bne _0801E48A - ldrb r0, [r7, 0x3] - cmp r0, 0x9 - bhi _0801E48A - bl _0801F5DC -_0801E48A: - mov r1, r8 - ldrb r0, [r1] - bl GetBankIdentity - ldr r2, _0801E554 @ =gSideAffecting - movs r1, 0x1 - ands r1, r0 - lsls r1, 1 - adds r1, r2 - ldrh r1, [r1] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0801E4C4 - ldr r0, _0801E550 @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 6 - ands r0, r1 - cmp r0, 0 - bne _0801E4C4 - cmp r4, 0 - bne _0801E4C4 - ldr r0, _0801E558 @ =gBattleCommunication - ldrb r0, [r0, 0x3] - cmp r0, 0x7 - bhi _0801E4C4 - bl _0801F5DC -_0801E4C4: - ldr r3, _0801E54C @ =gBattleMons - ldr r2, _0801E538 @ =gEffectBank - ldrb r1, [r2] - movs r0, 0x58 - muls r0, r1 - adds r0, r3 - ldrh r0, [r0, 0x28] - mov r8, r2 - mov r9, r3 - cmp r0, 0 - bne _0801E4EA - ldr r0, _0801E558 @ =gBattleCommunication - ldrb r0, [r0, 0x3] - cmp r0, 0xB - beq _0801E4EA - cmp r0, 0x1F - beq _0801E4EA - bl _0801F5DC -_0801E4EA: - mov r2, r8 - ldrb r1, [r2] - movs r0, 0x58 - muls r0, r1 - mov r1, r9 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 17 - ands r0, r1 - cmp r0, 0 - beq _0801E50C - cmp r6, 0x40 - beq _0801E50C - bl _0801F5DC -_0801E50C: - ldr r0, _0801E558 @ =gBattleCommunication - ldrb r1, [r0, 0x3] - adds r7, r0, 0 - cmp r1, 0x6 - bls _0801E518 - b _0801EB4A -_0801E518: - ldr r1, _0801E55C @ =gStatusFlagsForMoveEffects - ldrb r0, [r7, 0x3] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0x10 - bne _0801E528 - b _0801E714 -_0801E528: - cmp r0, 0x10 - bhi _0801E560 - cmp r0, 0x7 - beq _0801E57A - cmp r0, 0x8 - bne _0801E536 - b _0801E630 -_0801E536: - b _0801EA14 - .align 2, 0 -_0801E538: .4byte gEffectBank -_0801E53C: .4byte gBankTarget -_0801E540: .4byte 0x02000000 -_0801E544: .4byte gBankAttacker -_0801E548: .4byte 0x00016003 -_0801E54C: .4byte gBattleMons -_0801E550: .4byte gHitMarker -_0801E554: .4byte gSideAffecting -_0801E558: .4byte gBattleCommunication -_0801E55C: .4byte gStatusFlagsForMoveEffects -_0801E560: - cmp r0, 0x40 - bne _0801E566 - b _0801E888 -_0801E566: - cmp r0, 0x40 - bhi _0801E572 - cmp r0, 0x20 - bne _0801E570 - b _0801E7EA -_0801E570: - b _0801EA14 -_0801E572: - cmp r0, 0x80 - bne _0801E578 - b _0801E8E4 -_0801E578: - b _0801EA14 -_0801E57A: - mov r3, r8 - ldrb r1, [r3] - movs r0, 0x58 - muls r0, r1 - add r0, r9 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x2B - beq _0801E5DC - ldr r0, _0801E5D4 @ =gActiveBank - movs r1, 0 - strb r1, [r0] - ldr r1, _0801E5D8 @ =gNoOfAllBanks - ldrb r3, [r1] - adds r7, r0, 0 - mov r12, r1 - cmp r3, 0 - beq _0801E5E8 - mov r4, r9 - ldr r0, [r4, 0x50] - movs r1, 0x70 - ands r0, r1 - cmp r0, 0 - bne _0801E5E8 - adds r1, r7, 0 - mov r6, r9 - adds r6, 0x50 - movs r5, 0x58 - movs r4, 0x70 -_0801E5B4: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, r3 - bcs _0801E5E8 - ldrb r0, [r7] - muls r0, r5 - adds r0, r6 - ldr r0, [r0] - ands r0, r4 - cmp r0, 0 - beq _0801E5B4 - b _0801E5E8 - .align 2, 0 -_0801E5D4: .4byte gActiveBank -_0801E5D8: .4byte gNoOfAllBanks -_0801E5DC: - ldr r0, _0801E628 @ =gActiveBank - ldr r2, _0801E62C @ =gNoOfAllBanks - ldrb r1, [r2] - strb r1, [r0] - adds r7, r0, 0 - mov r12, r2 -_0801E5E8: - mov r0, r8 - ldrb r2, [r0] - movs r0, 0x58 - adds r1, r2, 0 - muls r1, r0 - mov r0, r9 - adds r0, 0x4C - adds r0, r1, r0 - ldr r0, [r0] - cmp r0, 0 - beq _0801E600 - b _0801EA14 -_0801E600: - ldrb r0, [r7] - mov r3, r12 - ldrb r3, [r3] - cmp r0, r3 - beq _0801E60C - b _0801EA14 -_0801E60C: - mov r4, r9 - adds r0, r1, r4 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x48 - bne _0801E61A - b _0801EA14 -_0801E61A: - cmp r0, 0xF - bne _0801E620 - b _0801EA14 -_0801E620: - adds r0, r2, 0 - bl CancelMultiTurnMoves - b _0801EA04 - .align 2, 0 -_0801E628: .4byte gActiveBank -_0801E62C: .4byte gNoOfAllBanks -_0801E630: - mov r2, r8 - ldrb r1, [r2] - movs r0, 0x58 - muls r0, r1 - add r0, r9 - adds r0, 0x20 - ldrb r1, [r0] - cmp r1, 0x11 - bne _0801E688 - cmp r4, 0x1 - beq _0801E64A - cmp r5, 0x80 - bne _0801E688 -_0801E64A: - ldr r0, _0801E678 @ =gLastUsedAbility - strb r1, [r0] - mov r3, r8 - ldrb r0, [r3] - movs r1, 0x11 - bl RecordAbilityBattle - ldr r4, _0801E67C @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl b_movescr_stack_push - ldr r0, _0801E680 @ =BattleScript_PSNPrevention -_0801E664: - str r0, [r4] - ldr r2, _0801E684 @ =gHitMarker - ldr r1, [r2] - movs r0, 0x80 - lsls r0, 6 - ands r0, r1 - cmp r0, 0 - beq _0801E676 - b _0801E928 -_0801E676: - b _0801E94C - .align 2, 0 -_0801E678: .4byte gLastUsedAbility -_0801E67C: .4byte gBattlescriptCurrInstr -_0801E680: .4byte BattleScript_PSNPrevention -_0801E684: .4byte gHitMarker -_0801E688: - mov r1, r8 - ldrb r0, [r1] - movs r1, 0x58 - muls r0, r1 - add r0, r9 - adds r1, r0, 0 - adds r1, 0x21 - ldrb r1, [r1] - cmp r1, 0x3 - beq _0801E6AC - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, 0x3 - beq _0801E6AC - cmp r1, 0x8 - beq _0801E6AC - cmp r0, 0x8 - bne _0801E6C6 -_0801E6AC: - ldr r0, _0801E710 @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 6 - ands r0, r1 - cmp r0, 0 - beq _0801E6C6 - cmp r4, 0x1 - bne _0801E6C0 - b _0801E98C -_0801E6C0: - cmp r5, 0x80 - bne _0801E6C6 - b _0801E98C -_0801E6C6: - mov r2, r8 - ldrb r1, [r2] - movs r0, 0x58 - muls r1, r0 - mov r4, r9 - adds r3, r1, r4 - adds r0, r3, 0 - adds r0, 0x21 - ldrb r4, [r0] - cmp r4, 0x3 - bne _0801E6DE - b _0801EA14 -_0801E6DE: - adds r0, 0x1 - ldrb r0, [r0] - cmp r0, 0x3 - bne _0801E6E8 - b _0801EA14 -_0801E6E8: - cmp r4, 0x8 - bne _0801E6EE - b _0801EA14 -_0801E6EE: - cmp r0, 0x8 - bne _0801E6F4 - b _0801EA14 -_0801E6F4: - mov r0, r9 - adds r0, 0x4C - adds r0, r1, r0 - ldr r0, [r0] - cmp r0, 0 - beq _0801E702 - b _0801EA14 -_0801E702: - adds r0, r3, 0 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x11 - bne _0801E70E - b _0801EA14 -_0801E70E: - b _0801EA04 - .align 2, 0 -_0801E710: .4byte gHitMarker -_0801E714: - mov r2, r8 - ldrb r1, [r2] - movs r0, 0x58 - muls r0, r1 - add r0, r9 - adds r0, 0x20 - ldrb r1, [r0] - cmp r1, 0x29 - bne _0801E758 - cmp r4, 0x1 - beq _0801E72E - cmp r5, 0x80 - bne _0801E758 -_0801E72E: - ldr r0, _0801E74C @ =gLastUsedAbility - strb r1, [r0] - mov r3, r8 - ldrb r0, [r3] - movs r1, 0x29 - bl RecordAbilityBattle - ldr r4, _0801E750 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl b_movescr_stack_push - ldr r0, _0801E754 @ =BattleScript_BRNPrevention - b _0801E664 - .align 2, 0 -_0801E74C: .4byte gLastUsedAbility -_0801E750: .4byte gBattlescriptCurrInstr -_0801E754: .4byte BattleScript_BRNPrevention -_0801E758: - mov r0, r8 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - mov r2, r9 - adds r1, r0, r2 - adds r0, r1, 0 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, 0xA - beq _0801E778 - adds r0, r1, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, 0xA - bne _0801E7A8 -_0801E778: - ldr r0, _0801E79C @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 6 - ands r0, r1 - cmp r0, 0 - beq _0801E7A8 - cmp r4, 0x1 - beq _0801E78E - cmp r5, 0x80 - bne _0801E7A8 -_0801E78E: - ldr r4, _0801E7A0 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl b_movescr_stack_push - ldr r0, _0801E7A4 @ =BattleScript_BRNPrevention - b _0801E998 - .align 2, 0 -_0801E79C: .4byte gHitMarker -_0801E7A0: .4byte gBattlescriptCurrInstr -_0801E7A4: .4byte BattleScript_BRNPrevention -_0801E7A8: - mov r3, r8 - ldrb r0, [r3] - movs r1, 0x58 - adds r2, r0, 0 - muls r2, r1 - mov r4, r9 - adds r1, r2, r4 - adds r0, r1, 0 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, 0xA - bne _0801E7C2 - b _0801EA14 -_0801E7C2: - adds r0, r1, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, 0xA - bne _0801E7CE - b _0801EA14 -_0801E7CE: - adds r0, r1, 0 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x29 - bne _0801E7DA - b _0801EA14 -_0801E7DA: - mov r0, r9 - adds r0, 0x4C - adds r0, r2, r0 - ldr r0, [r0] - cmp r0, 0 - beq _0801E7E8 - b _0801EA14 -_0801E7E8: - b _0801EA04 -_0801E7EA: - movs r0, 0 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0xD - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _0801E826 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0x4D - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - bne _0801E826 - ldr r0, _0801E87C @ =gBattleWeather - ldrh r1, [r0] - movs r0, 0x60 - ands r0, r1 - cmp r0, 0 - beq _0801E826 - movs r1, 0 - str r1, [sp, 0x4] -_0801E826: - ldr r4, _0801E880 @ =gBattleMons - ldr r0, _0801E884 @ =gEffectBank - ldrb r3, [r0] - movs r0, 0x58 - adds r2, r3, 0 - muls r2, r0 - adds r1, r2, r4 - adds r0, r1, 0 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, 0xF - bne _0801E840 - b _0801EA14 -_0801E840: - adds r0, r1, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, 0xF - bne _0801E84C - b _0801EA14 -_0801E84C: - adds r0, r4, 0 - adds r0, 0x4C - adds r0, r2, r0 - ldr r0, [r0] - cmp r0, 0 - beq _0801E85A - b _0801EA14 -_0801E85A: - ldr r2, [sp, 0x4] - cmp r2, 0 - bne _0801E862 - b _0801EA14 -_0801E862: - adds r0, r1, 0 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x28 - bne _0801E86E - b _0801EA14 -_0801E86E: - adds r0, r3, 0 - bl CancelMultiTurnMoves - movs r3, 0x1 - mov r10, r3 - b _0801EA14 - .align 2, 0 -_0801E87C: .4byte gBattleWeather -_0801E880: .4byte gBattleMons -_0801E884: .4byte gEffectBank -_0801E888: - mov r0, r8 - ldrb r1, [r0] - movs r0, 0x58 - muls r1, r0 - mov r2, r9 - adds r0, r1, r2 - adds r0, 0x20 - ldrb r2, [r0] - cmp r2, 0x7 - bne _0801E8D0 - cmp r4, 0x1 - beq _0801E8A6 - cmp r5, 0x80 - beq _0801E8A6 - b _0801EA14 -_0801E8A6: - ldr r0, _0801E8C4 @ =gLastUsedAbility - strb r2, [r0] - mov r3, r8 - ldrb r0, [r3] - movs r1, 0x7 - bl RecordAbilityBattle - ldr r4, _0801E8C8 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl b_movescr_stack_push - ldr r0, _0801E8CC @ =BattleScript_PRLZPrevention - b _0801E664 - .align 2, 0 -_0801E8C4: .4byte gLastUsedAbility -_0801E8C8: .4byte gBattlescriptCurrInstr -_0801E8CC: .4byte BattleScript_PRLZPrevention -_0801E8D0: - mov r0, r9 - adds r0, 0x4C - adds r0, r1, r0 - ldr r0, [r0] - cmp r0, 0 - beq _0801E8DE - b _0801EA14 -_0801E8DE: - movs r4, 0x1 - mov r10, r4 - b _0801EA14 -_0801E8E4: - mov r0, r8 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - add r0, r9 - adds r0, 0x20 - ldrb r1, [r0] - cmp r1, 0x11 - bne _0801E952 - cmp r4, 0x1 - beq _0801E8FE - cmp r5, 0x80 - bne _0801E952 -_0801E8FE: - ldr r0, _0801E938 @ =gLastUsedAbility - strb r1, [r0] - mov r1, r8 - ldrb r0, [r1] - movs r1, 0x11 - bl RecordAbilityBattle - ldr r4, _0801E93C @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl b_movescr_stack_push - ldr r0, _0801E940 @ =BattleScript_PSNPrevention - str r0, [r4] - ldr r2, _0801E944 @ =gHitMarker - ldr r1, [r2] - movs r0, 0x80 - lsls r0, 6 - ands r0, r1 - cmp r0, 0 - beq _0801E94C -_0801E928: - movs r0, 0x1 - strb r0, [r7, 0x5] - ldr r0, _0801E948 @ =0xffffdfff - ands r1, r0 - str r1, [r2] - bl _0801F5FA - .align 2, 0 -_0801E938: .4byte gLastUsedAbility -_0801E93C: .4byte gBattlescriptCurrInstr -_0801E940: .4byte BattleScript_PSNPrevention -_0801E944: .4byte gHitMarker -_0801E948: .4byte 0xffffdfff -_0801E94C: - strb r0, [r7, 0x5] - bl _0801F5FA -_0801E952: - mov r2, r8 - ldrb r0, [r2] - movs r1, 0x58 - muls r0, r1 - add r0, r9 - adds r1, r0, 0 - adds r1, 0x21 - ldrb r1, [r1] - cmp r1, 0x3 - beq _0801E976 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, 0x3 - beq _0801E976 - cmp r1, 0x8 - beq _0801E976 - cmp r0, 0x8 - bne _0801E9B4 -_0801E976: - ldr r0, _0801E9A4 @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 6 - ands r0, r1 - cmp r0, 0 - beq _0801E9B4 - cmp r4, 0x1 - beq _0801E98C - cmp r5, 0x80 - bne _0801E9B4 -_0801E98C: - ldr r4, _0801E9A8 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl b_movescr_stack_push - ldr r0, _0801E9AC @ =BattleScript_PSNPrevention -_0801E998: - str r0, [r4] - ldr r1, _0801E9B0 @ =gBattleCommunication - movs r0, 0x2 - strb r0, [r1, 0x5] - bl _0801F5FA - .align 2, 0 -_0801E9A4: .4byte gHitMarker -_0801E9A8: .4byte gBattlescriptCurrInstr -_0801E9AC: .4byte BattleScript_PSNPrevention -_0801E9B0: .4byte gBattleCommunication -_0801E9B4: - mov r3, r8 - ldrb r0, [r3] - movs r6, 0x58 - muls r0, r6 - mov r2, r9 - adds r2, 0x4C - adds r5, r0, r2 - ldr r4, [r5] - cmp r4, 0 - bne _0801EA14 - mov r3, r9 - adds r1, r0, r3 - adds r0, r1, 0 - adds r0, 0x21 - ldrb r3, [r0] - cmp r3, 0x3 - beq _0801EA0A - adds r0, 0x1 - ldrb r0, [r0] - cmp r0, 0x3 - beq _0801EA0A - cmp r3, 0x8 - beq _0801EA0A - cmp r0, 0x8 - beq _0801EA0A - adds r0, r1, 0 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x11 - beq _0801EA14 - mov r4, r8 - ldrb r0, [r4] - adds r1, r0, 0 - muls r1, r6 - adds r1, r2 - ldr r0, [r1] - movs r2, 0x9 - negs r2, r2 - ands r0, r2 - str r0, [r1] -_0801EA04: - movs r0, 0x1 - mov r10, r0 - b _0801EA14 -_0801EA0A: - ldr r0, _0801EA58 @ =gBattleMoveFlags - ldrb r1, [r0] - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0] -_0801EA14: - mov r1, r10 - cmp r1, 0x1 - beq _0801EA1C - b _0801EB3C -_0801EA1C: - ldr r0, _0801EA5C @ =gBattlescriptCurrInstr - ldr r0, [r0] - adds r0, 0x1 - bl b_movescr_stack_push - ldr r1, _0801EA60 @ =gStatusFlagsForMoveEffects - ldr r0, _0801EA64 @ =gBattleCommunication - ldrb r0, [r0, 0x3] - lsls r0, 2 - adds r0, r1 - ldr r3, [r0] - cmp r3, 0x7 - bne _0801EA70 - bl Random - ldr r2, _0801EA68 @ =gBattleMons - ldr r1, _0801EA6C @ =gEffectBank - ldrb r3, [r1] - movs r1, 0x58 - muls r3, r1 - adds r2, 0x4C - adds r3, r2 - movs r1, 0x3 - ands r1, r0 - adds r1, 0x2 - ldr r0, [r3] - orrs r0, r1 - str r0, [r3] - b _0801EA84 - .align 2, 0 -_0801EA58: .4byte gBattleMoveFlags -_0801EA5C: .4byte gBattlescriptCurrInstr -_0801EA60: .4byte gStatusFlagsForMoveEffects -_0801EA64: .4byte gBattleCommunication -_0801EA68: .4byte gBattleMons -_0801EA6C: .4byte gEffectBank -_0801EA70: - ldr r2, _0801EAD4 @ =gBattleMons - ldr r0, _0801EAD8 @ =gEffectBank - ldrb r1, [r0] - movs r0, 0x58 - muls r1, r0 - adds r2, 0x4C - adds r1, r2 - ldr r0, [r1] - orrs r0, r3 - str r0, [r1] -_0801EA84: - ldr r2, _0801EADC @ =gBattlescriptCurrInstr - ldr r1, _0801EAE0 @ =gMoveEffectBS_Ptrs - ldr r5, _0801EAE4 @ =gBattleCommunication - ldrb r0, [r5, 0x3] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - str r0, [r2] - ldr r4, _0801EAE8 @ =gActiveBank - ldr r1, _0801EAD8 @ =gEffectBank - ldrb r0, [r1] - strb r0, [r4] - ldrb r1, [r1] - movs r0, 0x58 - muls r0, r1 - ldr r1, _0801EAEC @ =gUnknown_02024ACC - adds r0, r1 - str r0, [sp] - movs r0, 0 - movs r1, 0x28 - movs r2, 0 - movs r3, 0x4 - bl EmitSetAttributes - ldrb r0, [r4] - bl MarkBufferBankForExecution - ldr r2, _0801EAF0 @ =gHitMarker - ldr r1, [r2] - movs r0, 0x80 - lsls r0, 6 - ands r0, r1 - cmp r0, 0 - beq _0801EAF8 - movs r0, 0x1 - strb r0, [r5, 0x5] - ldr r0, _0801EAF4 @ =0xffffdfff - ands r1, r0 - str r1, [r2] - b _0801EAFA - .align 2, 0 -_0801EAD4: .4byte gBattleMons -_0801EAD8: .4byte gEffectBank -_0801EADC: .4byte gBattlescriptCurrInstr -_0801EAE0: .4byte gMoveEffectBS_Ptrs -_0801EAE4: .4byte gBattleCommunication -_0801EAE8: .4byte gActiveBank -_0801EAEC: .4byte gUnknown_02024ACC -_0801EAF0: .4byte gHitMarker -_0801EAF4: .4byte 0xffffdfff -_0801EAF8: - strb r0, [r5, 0x5] -_0801EAFA: - ldr r0, _0801EB2C @ =gBattleCommunication - ldrb r2, [r0, 0x3] - adds r7, r0, 0 - cmp r2, 0x2 - beq _0801EB14 - cmp r2, 0x6 - beq _0801EB14 - cmp r2, 0x5 - beq _0801EB14 - cmp r2, 0x3 - beq _0801EB14 - bl _0801F5FA -_0801EB14: - ldr r0, _0801EB30 @ =0x02000000 - ldrb r1, [r7, 0x3] - ldr r2, _0801EB34 @ =0x000160ca - adds r0, r2 - strb r1, [r0] - ldr r2, _0801EB38 @ =gHitMarker - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 7 - bl _0801F4F2 - .align 2, 0 -_0801EB2C: .4byte gBattleCommunication -_0801EB30: .4byte 0x02000000 -_0801EB34: .4byte 0x000160ca -_0801EB38: .4byte gHitMarker -_0801EB3C: - mov r3, r10 - cmp r3, 0 - beq _0801EB46 - bl _0801F5FA -_0801EB46: - bl _0801F5DC -_0801EB4A: - mov r0, r8 - ldrb r1, [r0] - movs r0, 0x58 - muls r1, r0 - mov r0, r9 - adds r0, 0x50 - adds r1, r0 - ldr r2, _0801EB84 @ =gStatusFlagsForMoveEffects - ldrb r3, [r7, 0x3] - lsls r0, r3, 2 - adds r0, r2 - ldr r1, [r1] - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _0801EB6E - bl _0801F5DC -_0801EB6E: - subs r0, r3, 0x7 - cmp r0, 0x34 - bls _0801EB78 - bl _0801F5FA -_0801EB78: - lsls r0, 2 - ldr r1, _0801EB88 @ =_0801EB8C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0801EB84: .4byte gStatusFlagsForMoveEffects -_0801EB88: .4byte _0801EB8C - .align 2, 0 -_0801EB8C: - .4byte _0801EC60 - .4byte _0801ECD4 - .4byte _0801EE4C - .4byte _0801ED60 - .4byte _0801EDDC - .4byte _0801EE84 - .4byte _0801EECC - .4byte _0801EFA8 - .4byte _0801EFEC - .4byte _0801EFEC - .4byte _0801EFEC - .4byte _0801EFEC - .4byte _0801EFEC - .4byte _0801EFEC - .4byte _0801EFEC - .4byte _0801F040 - .4byte _0801F040 - .4byte _0801F040 - .4byte _0801F040 - .4byte _0801F040 - .4byte _0801F040 - .4byte _0801F040 - .4byte _0801F13C - .4byte _0801F184 - .4byte _0801F1A4 - .4byte _0801F364 - .4byte _0801F3A0 - .4byte _0801F3BC - .4byte _0801F3D4 - .4byte _0801F3EC - .4byte _0801F44C - .4byte _0801F464 - .4byte _0801F094 - .4byte _0801F094 - .4byte _0801F094 - .4byte _0801F094 - .4byte _0801F094 - .4byte _0801F094 - .4byte _0801F094 - .4byte _0801F0E8 - .4byte _0801F0E8 - .4byte _0801F0E8 - .4byte _0801F0E8 - .4byte _0801F0E8 - .4byte _0801F0E8 - .4byte _0801F0E8 - .4byte _0801F4A8 - .4byte _0801F500 - .4byte _0801F5FA - .4byte _0801F5FA - .4byte _0801F5FA - .4byte _0801F5FA - .4byte _0801F5EC -_0801EC60: - mov r1, r8 - ldrb r0, [r1] - movs r5, 0x58 - adds r1, r0, 0 - muls r1, r5 - mov r2, r9 - adds r0, r1, r2 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x14 - bne _0801EC7A - bl _0801F5DC -_0801EC7A: - mov r4, r9 - adds r4, 0x50 - adds r0, r1, r4 - ldr r0, [r0] - movs r1, 0x7 - ands r0, r1 - cmp r0, 0 - beq _0801EC8E - bl _0801F5DC -_0801EC8E: - bl Random - mov r3, r8 - ldrb r1, [r3] - adds r2, r1, 0 - muls r2, r5 - adds r2, r4 - lsls r0, 16 - movs r1, 0xC0 - lsls r1, 10 - ands r1, r0 - lsrs r1, 16 - adds r1, 0x2 - ldr r0, [r2] - orrs r0, r1 - str r0, [r2] - ldr r4, _0801ECC8 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl b_movescr_stack_push - ldr r1, _0801ECCC @ =gMoveEffectBS_Ptrs - ldr r0, _0801ECD0 @ =gBattleCommunication - ldrb r0, [r0, 0x3] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _0801F5F8 - .align 2, 0 -_0801ECC8: .4byte gBattlescriptCurrInstr -_0801ECCC: .4byte gMoveEffectBS_Ptrs -_0801ECD0: .4byte gBattleCommunication -_0801ECD4: - mov r0, r8 - ldrb r2, [r0] - movs r6, 0x58 - adds r0, r2, 0 - muls r0, r6 - add r0, r9 - adds r0, 0x20 - ldrb r1, [r0] - cmp r1, 0x27 - bne _0801ED18 - cmp r4, 0x1 - beq _0801ECF4 - cmp r5, 0x80 - beq _0801ECF4 - bl _0801F5DC -_0801ECF4: - ldr r0, _0801ED0C @ =gLastUsedAbility - strb r1, [r0] - mov r1, r8 - ldrb r0, [r1] - movs r1, 0x27 - bl RecordAbilityBattle - ldr r1, _0801ED10 @ =gBattlescriptCurrInstr - ldr r0, _0801ED14 @ =BattleScript_FlinchPrevention - str r0, [r1] - bl _0801F5FA - .align 2, 0 -_0801ED0C: .4byte gLastUsedAbility -_0801ED10: .4byte gBattlescriptCurrInstr -_0801ED14: .4byte BattleScript_FlinchPrevention -_0801ED18: - adds r0, r2, 0 - bl sub_801E3B4 - ldr r1, _0801ED54 @ =gCurrentMoveTurn - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r1] - cmp r0, r1 - bhi _0801ED2E - bl _0801F5DC -_0801ED2E: - mov r2, r8 - ldrb r0, [r2] - adds r2, r0, 0 - muls r2, r6 - mov r0, r9 - adds r0, 0x50 - adds r2, r0 - ldr r1, _0801ED58 @ =gStatusFlagsForMoveEffects - ldr r0, _0801ED5C @ =gBattleCommunication - ldrb r0, [r0, 0x3] - lsls r0, 2 - adds r0, r1 - ldr r1, [r2] - ldr r0, [r0] - orrs r1, r0 - str r1, [r2] - bl _0801F5DC - .align 2, 0 -_0801ED54: .4byte gCurrentMoveTurn -_0801ED58: .4byte gStatusFlagsForMoveEffects -_0801ED5C: .4byte gBattleCommunication -_0801ED60: - mov r3, r8 - ldrb r0, [r3] - movs r5, 0x58 - muls r0, r5 - mov r4, r9 - adds r4, 0x50 - adds r2, r0, r4 - ldr r1, [r2] - movs r0, 0x70 - ands r0, r1 - cmp r0, 0 - beq _0801ED7C - bl _0801F5DC -_0801ED7C: - movs r0, 0x80 - lsls r0, 5 - orrs r1, r0 - str r1, [r2] - ldr r1, _0801EDC8 @ =gLockedMove - ldrb r0, [r3] - lsls r0, 1 - adds r0, r1 - ldr r1, _0801EDCC @ =gCurrentMove - ldrh r1, [r1] - strh r1, [r0] - bl Random - mov r2, r8 - ldrb r1, [r2] - adds r2, r1, 0 - muls r2, r5 - adds r2, r4 - movs r1, 0x3 - ands r1, r0 - adds r1, 0x2 - lsls r1, 4 - ldr r0, [r2] - orrs r0, r1 - str r0, [r2] - ldr r4, _0801EDD0 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl b_movescr_stack_push - ldr r1, _0801EDD4 @ =gMoveEffectBS_Ptrs - ldr r0, _0801EDD8 @ =gBattleCommunication - ldrb r0, [r0, 0x3] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _0801F5F8 - .align 2, 0 -_0801EDC8: .4byte gLockedMove -_0801EDCC: .4byte gCurrentMove -_0801EDD0: .4byte gBattlescriptCurrInstr -_0801EDD4: .4byte gMoveEffectBS_Ptrs -_0801EDD8: .4byte gBattleCommunication -_0801EDDC: - ldr r5, _0801EE30 @ =gBankAttacker - ldrb r0, [r5] - bl GetBankIdentity - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - bne _0801EE14 - ldr r4, _0801EE34 @ =gPaydayMoney - ldrh r3, [r4] - ldr r2, _0801EE38 @ =gBattleMons - ldrb r1, [r5] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x2A - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - adds r0, r3, r0 - strh r0, [r4] - lsls r0, 16 - lsrs r0, 16 - cmp r3, r0 - bls _0801EE14 - ldr r3, _0801EE3C @ =0x0000ffff - adds r0, r3, 0 - strh r0, [r4] -_0801EE14: - ldr r4, _0801EE40 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl b_movescr_stack_push - ldr r1, _0801EE44 @ =gMoveEffectBS_Ptrs - ldr r0, _0801EE48 @ =gBattleCommunication - ldrb r0, [r0, 0x3] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _0801F5F8 - .align 2, 0 -_0801EE30: .4byte gBankAttacker -_0801EE34: .4byte gPaydayMoney -_0801EE38: .4byte gBattleMons -_0801EE3C: .4byte 0x0000ffff -_0801EE40: .4byte gBattlescriptCurrInstr -_0801EE44: .4byte gMoveEffectBS_Ptrs -_0801EE48: .4byte gBattleCommunication -_0801EE4C: - mov r4, r8 - ldrb r1, [r4] - movs r0, 0x58 - muls r0, r1 - mov r1, r9 - adds r1, 0x4C - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - beq _0801EE62 - b _0801F5DC -_0801EE62: - bl Random - ldr r4, _0801EE80 @ =gBattleCommunication - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - bl __umodsi3 - adds r0, 0x3 - strb r0, [r4, 0x3] - movs r0, 0 - movs r1, 0 - bl sub_801E3EC - b _0801F5FA - .align 2, 0 -_0801EE80: .4byte gBattleCommunication -_0801EE84: - mov r0, r8 - ldrb r1, [r0] - movs r0, 0x58 - adds r2, r1, 0 - muls r2, r0 - mov r0, r9 - adds r0, 0x50 - adds r2, r0 - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 5 - orrs r0, r1 - str r0, [r2] - ldr r1, _0801EEC0 @ =gLockedMove - mov r2, r8 - ldrb r0, [r2] - lsls r0, 1 - adds r0, r1 - ldr r1, _0801EEC4 @ =gCurrentMove - ldrh r1, [r1] - strh r1, [r0] - ldr r0, _0801EEC8 @ =gProtectStructs - ldrb r1, [r2] - lsls r1, 4 - adds r1, r0 - ldrb r0, [r1, 0x1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1, 0x1] - b _0801F5DC - .align 2, 0 -_0801EEC0: .4byte gLockedMove -_0801EEC4: .4byte gCurrentMove -_0801EEC8: .4byte gProtectStructs -_0801EECC: - mov r3, r8 - ldrb r0, [r3] - movs r6, 0x58 - muls r0, r6 - mov r4, r9 - adds r4, 0x50 - adds r0, r4 - ldr r5, [r0] - movs r0, 0xE0 - lsls r0, 8 - ands r5, r0 - cmp r5, 0 - beq _0801EEE8 - b _0801F5DC -_0801EEE8: - bl Random - mov r2, r8 - ldrb r1, [r2] - adds r2, r1, 0 - muls r2, r6 - adds r2, r4 - movs r1, 0x3 - ands r1, r0 - adds r1, 0x3 - lsls r1, 13 - ldr r0, [r2] - orrs r0, r1 - str r0, [r2] - ldr r2, _0801EF80 @ =0x02000000 - mov r3, r8 - ldrb r0, [r3] - lsls r0, 1 - ldr r4, _0801EF84 @ =0x00016004 - adds r0, r4 - adds r0, r2 - ldr r6, _0801EF88 @ =gCurrentMove - ldrh r1, [r6] - strb r1, [r0] - ldrb r0, [r3] - lsls r0, 1 - ldr r1, _0801EF8C @ =0x00016005 - adds r0, r1 - adds r0, r2 - ldrh r1, [r6] - lsrs r1, 8 - strb r1, [r0] - ldrb r0, [r3] - ldr r3, _0801EF90 @ =0x00016020 - adds r0, r3 - adds r0, r2 - ldr r1, _0801EF94 @ =gBankAttacker - ldrb r1, [r1] - strb r1, [r0] - ldr r4, _0801EF98 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl b_movescr_stack_push - ldr r1, _0801EF9C @ =gMoveEffectBS_Ptrs - ldr r2, _0801EFA0 @ =gBattleCommunication - ldrb r0, [r2, 0x3] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - str r0, [r4] - strb r5, [r2, 0x5] - ldr r1, _0801EFA4 @ =gTrappingMoves - ldrh r0, [r1] - ldrh r4, [r6] - cmp r0, r4 - bne _0801EF5C - b _0801F5FA -_0801EF5C: - adds r3, r1, 0 - adds r1, r6, 0 -_0801EF60: - ldrb r0, [r2, 0x5] - adds r0, 0x1 - strb r0, [r2, 0x5] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bls _0801EF70 - b _0801F5FA -_0801EF70: - ldrb r0, [r2, 0x5] - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - ldrh r4, [r1] - cmp r0, r4 - bne _0801EF60 - b _0801F5FA - .align 2, 0 -_0801EF80: .4byte 0x02000000 -_0801EF84: .4byte 0x00016004 -_0801EF88: .4byte gCurrentMove -_0801EF8C: .4byte 0x00016005 -_0801EF90: .4byte 0x00016020 -_0801EF94: .4byte gBankAttacker -_0801EF98: .4byte gBattlescriptCurrInstr -_0801EF9C: .4byte gMoveEffectBS_Ptrs -_0801EFA0: .4byte gBattleCommunication -_0801EFA4: .4byte gTrappingMoves -_0801EFA8: - ldr r1, _0801EFD8 @ =gBattleMoveDamage - ldr r0, _0801EFDC @ =gHP_dealt - ldr r0, [r0] - cmp r0, 0 - bge _0801EFB4 - adds r0, 0x3 -_0801EFB4: - asrs r0, 2 - str r0, [r1] - cmp r0, 0 - bne _0801EFC0 - movs r0, 0x1 - str r0, [r1] -_0801EFC0: - ldr r4, _0801EFE0 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl b_movescr_stack_push - ldr r1, _0801EFE4 @ =gMoveEffectBS_Ptrs - ldr r0, _0801EFE8 @ =gBattleCommunication - ldrb r0, [r0, 0x3] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - b _0801F5F8 - .align 2, 0 -_0801EFD8: .4byte gBattleMoveDamage -_0801EFDC: .4byte gHP_dealt -_0801EFE0: .4byte gBattlescriptCurrInstr -_0801EFE4: .4byte gMoveEffectBS_Ptrs -_0801EFE8: .4byte gBattleCommunication -_0801EFEC: - ldrb r1, [r7, 0x3] - adds r1, 0xF2 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x10 - adds r2, r6, 0 - movs r3, 0 - bl sub_8025E20 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - beq _0801F008 - b _0801F5DC -_0801F008: - ldr r2, _0801F02C @ =0x02000000 - ldrb r1, [r7, 0x3] - movs r0, 0x3F - ands r0, r1 - ldr r4, _0801F030 @ =0x000160a4 - adds r1, r2, r4 - strb r0, [r1] - ldr r0, _0801F034 @ =0x000160a5 - adds r2, r0 - strb r3, [r2] - ldr r4, _0801F038 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl b_movescr_stack_push - ldr r0, _0801F03C @ =BattleScript_StatUp - b _0801F5F8 - .align 2, 0 -_0801F02C: .4byte 0x02000000 -_0801F030: .4byte 0x000160a4 -_0801F034: .4byte 0x000160a5 -_0801F038: .4byte gBattlescriptCurrInstr -_0801F03C: .4byte BattleScript_StatUp -_0801F040: - movs r0, 0x70 - negs r0, r0 - ldrb r1, [r7, 0x3] - adds r1, 0xEB - lsls r1, 24 - lsrs r1, 24 - adds r2, r6, 0 - movs r3, 0 - bl sub_8025E20 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - beq _0801F05E - b _0801F5DC -_0801F05E: - ldr r2, _0801F080 @ =0x02000000 - ldrb r1, [r7, 0x3] - movs r0, 0x3F - ands r0, r1 - ldr r4, _0801F084 @ =0x000160a4 - adds r1, r2, r4 - strb r0, [r1] - ldr r0, _0801F088 @ =0x000160a5 - adds r2, r0 - strb r3, [r2] - ldr r4, _0801F08C @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl b_movescr_stack_push - ldr r0, _0801F090 @ =BattleScript_StatDown - b _0801F5F8 - .align 2, 0 -_0801F080: .4byte 0x02000000 -_0801F084: .4byte 0x000160a4 -_0801F088: .4byte 0x000160a5 -_0801F08C: .4byte gBattlescriptCurrInstr -_0801F090: .4byte BattleScript_StatDown -_0801F094: - ldrb r1, [r7, 0x3] - adds r1, 0xDA - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x20 - adds r2, r6, 0 - movs r3, 0 - bl sub_8025E20 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - beq _0801F0B0 - b _0801F5DC -_0801F0B0: - ldr r2, _0801F0D4 @ =0x02000000 - ldrb r1, [r7, 0x3] - movs r0, 0x3F - ands r0, r1 - ldr r4, _0801F0D8 @ =0x000160a4 - adds r1, r2, r4 - strb r0, [r1] - ldr r0, _0801F0DC @ =0x000160a5 - adds r2, r0 - strb r3, [r2] - ldr r4, _0801F0E0 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl b_movescr_stack_push - ldr r0, _0801F0E4 @ =BattleScript_StatUp - b _0801F5F8 - .align 2, 0 -_0801F0D4: .4byte 0x02000000 -_0801F0D8: .4byte 0x000160a4 -_0801F0DC: .4byte 0x000160a5 -_0801F0E0: .4byte gBattlescriptCurrInstr -_0801F0E4: .4byte BattleScript_StatUp -_0801F0E8: - movs r0, 0x60 - negs r0, r0 - ldrb r1, [r7, 0x3] - adds r1, 0xD3 - lsls r1, 24 - lsrs r1, 24 - adds r2, r6, 0 - movs r3, 0 - bl sub_8025E20 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - beq _0801F106 - b _0801F5DC -_0801F106: - ldr r2, _0801F128 @ =0x02000000 - ldrb r1, [r7, 0x3] - movs r0, 0x3F - ands r0, r1 - ldr r4, _0801F12C @ =0x000160a4 - adds r1, r2, r4 - strb r0, [r1] - ldr r0, _0801F130 @ =0x000160a5 - adds r2, r0 - strb r3, [r2] - ldr r4, _0801F134 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl b_movescr_stack_push - ldr r0, _0801F138 @ =BattleScript_StatDown - b _0801F5F8 - .align 2, 0 -_0801F128: .4byte 0x02000000 -_0801F12C: .4byte 0x000160a4 -_0801F130: .4byte 0x000160a5 -_0801F134: .4byte gBattlescriptCurrInstr -_0801F138: .4byte BattleScript_StatDown -_0801F13C: - mov r2, r8 - ldrb r1, [r2] - movs r0, 0x58 - adds r2, r1, 0 - muls r2, r0 - mov r0, r9 - adds r0, 0x50 - adds r2, r0 - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 15 - orrs r0, r1 - str r0, [r2] - ldr r2, _0801F178 @ =gDisableStructs - mov r3, r8 - ldrb r1, [r3] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x2 - strb r1, [r0, 0x19] - ldr r1, _0801F17C @ =gLockedMove - ldrb r0, [r3] - lsls r0, 1 - adds r0, r1 - ldr r1, _0801F180 @ =gCurrentMove - ldrh r1, [r1] - strh r1, [r0] - b _0801F5DC - .align 2, 0 -_0801F178: .4byte gDisableStructs -_0801F17C: .4byte gLockedMove -_0801F180: .4byte gCurrentMove -_0801F184: - ldr r0, _0801F1A0 @ =gBankAttacker - ldrb r1, [r0] - movs r0, 0x58 - adds r2, r1, 0 - muls r2, r0 - mov r0, r9 - adds r0, 0x50 - adds r2, r0 - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 16 -_0801F19A: - orrs r0, r1 - str r0, [r2] - b _0801F5DC - .align 2, 0 -_0801F1A0: .4byte gBankAttacker -_0801F1A4: - ldr r4, _0801F254 @ =gBankAttacker - ldrb r0, [r4] - bl GetBankSide - lsls r0, 24 - lsrs r6, r0, 24 - ldrb r0, [r4] - bl GetBankSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0801F1D8 - ldr r0, _0801F258 @ =gBattleTypeFlags - ldrh r1, [r0] - ldr r0, _0801F25C @ =0x00000902 - ands r0, r1 - cmp r0, 0 - bne _0801F214 - ldr r0, _0801F260 @ =gTrainerBattleOpponent - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 3 - cmp r1, r0 - beq _0801F1D8 - b _0801F5DC -_0801F1D8: - ldr r0, _0801F258 @ =gBattleTypeFlags - ldrh r1, [r0] - ldr r0, _0801F25C @ =0x00000902 - ands r0, r1 - cmp r0, 0 - bne _0801F214 - ldr r0, _0801F260 @ =gTrainerBattleOpponent - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 3 - cmp r1, r0 - beq _0801F214 - ldr r0, _0801F264 @ =gWishFutureKnock - adds r0, 0x29 - adds r0, r6, r0 - ldrb r1, [r0] - ldr r3, _0801F268 @ =gBitTable - ldr r2, _0801F26C @ =gBattlePartyID - ldr r0, _0801F254 @ =gBankAttacker - ldrb r0, [r0] - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r3 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _0801F214 - b _0801F5DC -_0801F214: - ldr r2, _0801F270 @ =gBattleMons - ldr r1, _0801F274 @ =gBankTarget - ldrb r0, [r1] - movs r3, 0x58 - muls r0, r3 - adds r4, r0, r2 - ldrh r0, [r4, 0x2E] - adds r7, r1, 0 - mov r9, r2 - cmp r0, 0 - beq _0801F284 - adds r0, r4, 0 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x3C - bne _0801F284 - ldr r1, _0801F278 @ =gBattlescriptCurrInstr - ldr r0, _0801F27C @ =BattleScript_NoItemSteal - str r0, [r1] - ldr r1, _0801F280 @ =gLastUsedAbility - ldrb r0, [r7] - muls r0, r3 - add r0, r9 - adds r0, 0x20 - ldrb r0, [r0] - strb r0, [r1] - ldrb r0, [r7] - ldrb r1, [r1] - bl RecordAbilityBattle - b _0801F5FA - .align 2, 0 -_0801F254: .4byte gBankAttacker -_0801F258: .4byte gBattleTypeFlags -_0801F25C: .4byte 0x00000902 -_0801F260: .4byte gTrainerBattleOpponent -_0801F264: .4byte gWishFutureKnock -_0801F268: .4byte gBitTable -_0801F26C: .4byte gBattlePartyID -_0801F270: .4byte gBattleMons -_0801F274: .4byte gBankTarget -_0801F278: .4byte gBattlescriptCurrInstr -_0801F27C: .4byte BattleScript_NoItemSteal -_0801F280: .4byte gLastUsedAbility -_0801F284: - ldr r4, _0801F340 @ =gBankAttacker - mov r10, r4 - ldrb r1, [r4] - movs r0, 0x58 - mov r8, r0 - mov r0, r8 - muls r0, r1 - add r0, r9 - ldrh r3, [r0, 0x2E] - cmp r3, 0 - beq _0801F29C - b _0801F5DC -_0801F29C: - ldrb r0, [r7] - mov r2, r8 - muls r2, r0 - adds r0, r2, 0 - add r0, r9 - ldrh r2, [r0, 0x2E] - adds r0, r2, 0 - cmp r0, 0xAF - bne _0801F2B0 - b _0801F5DC -_0801F2B0: - cmp r0, 0 - bne _0801F2B6 - b _0801F5DC -_0801F2B6: - lsls r0, r1, 1 - ldr r5, _0801F344 @ =0x020160f0 - adds r0, r5 - ldr r1, _0801F348 @ =gLastUsedItem - strh r2, [r0] - strh r2, [r1] - ldrb r0, [r7] - mov r4, r8 - muls r4, r0 - adds r0, r4, 0 - add r0, r9 - movs r6, 0 - strh r3, [r0, 0x2E] - ldr r4, _0801F34C @ =gActiveBank - mov r2, r10 - ldrb r0, [r2] - strb r0, [r4] - str r1, [sp] - movs r0, 0 - movs r1, 0x2 - movs r2, 0 - movs r3, 0x2 - bl EmitSetAttributes - mov r3, r10 - ldrb r0, [r3] - bl MarkBufferBankForExecution - ldrb r0, [r7] - strb r0, [r4] - ldrb r0, [r7] - mov r4, r8 - muls r4, r0 - adds r0, r4, 0 - mov r1, r9 - adds r1, 0x2E - adds r0, r1 - str r0, [sp] - movs r0, 0 - movs r1, 0x2 - movs r2, 0 - movs r3, 0x2 - bl EmitSetAttributes - ldrb r0, [r7] - bl MarkBufferBankForExecution - ldr r4, _0801F350 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl b_movescr_stack_push - ldr r0, _0801F354 @ =BattleScript_ItemSteal - str r0, [r4] - ldr r0, _0801F358 @ =0xfffe9f10 - adds r5, r0 - ldrb r0, [r7] - lsls r0, 1 - ldr r1, _0801F35C @ =0x000160e8 - adds r0, r1 - adds r0, r5 - strb r6, [r0] - ldrb r0, [r7] - lsls r0, 1 - ldr r2, _0801F360 @ =0x000160e9 - adds r0, r2 - adds r0, r5 - strb r6, [r0] - b _0801F5FA - .align 2, 0 -_0801F340: .4byte gBankAttacker -_0801F344: .4byte 0x020160f0 -_0801F348: .4byte gLastUsedItem -_0801F34C: .4byte gActiveBank -_0801F350: .4byte gBattlescriptCurrInstr -_0801F354: .4byte BattleScript_ItemSteal -_0801F358: .4byte 0xfffe9f10 -_0801F35C: .4byte 0x000160e8 -_0801F360: .4byte 0x000160e9 -_0801F364: - ldr r3, _0801F394 @ =gBankTarget - ldrb r1, [r3] - movs r0, 0x58 - adds r2, r1, 0 - muls r2, r0 - mov r0, r9 - adds r0, 0x50 - adds r2, r0 - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 19 - orrs r0, r1 - str r0, [r2] - ldr r2, _0801F398 @ =gDisableStructs - ldrb r1, [r3] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, _0801F39C @ =gBankAttacker - ldrb r1, [r1] - strb r1, [r0, 0x14] - b _0801F5DC - .align 2, 0 -_0801F394: .4byte gBankTarget -_0801F398: .4byte gDisableStructs -_0801F39C: .4byte gBankAttacker -_0801F3A0: - ldr r0, _0801F3B8 @ =gBankTarget - ldrb r1, [r0] - movs r0, 0x58 - adds r2, r1, 0 - muls r2, r0 - mov r0, r9 - adds r0, 0x50 - adds r2, r0 - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 20 - b _0801F19A - .align 2, 0 -_0801F3B8: .4byte gBankTarget -_0801F3BC: - ldr r4, _0801F3CC @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl b_movescr_stack_push - ldr r0, _0801F3D0 @ =gUnknown_081D9224 - b _0801F5F8 - .align 2, 0 -_0801F3CC: .4byte gBattlescriptCurrInstr -_0801F3D0: .4byte gUnknown_081D9224 -_0801F3D4: - ldr r4, _0801F3E4 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl b_movescr_stack_push - ldr r0, _0801F3E8 @ =BattleScript_RapidSpinAway - b _0801F5F8 - .align 2, 0 -_0801F3E4: .4byte gBattlescriptCurrInstr -_0801F3E8: .4byte BattleScript_RapidSpinAway -_0801F3EC: - ldr r6, _0801F43C @ =gBankTarget - ldrb r0, [r6] - movs r2, 0x58 - muls r0, r2 - mov r1, r9 - adds r1, 0x4C - adds r5, r0, r1 - ldr r4, [r5] - movs r0, 0x40 - ands r0, r4 - cmp r0, 0 - bne _0801F406 - b _0801F5DC -_0801F406: - movs r0, 0x41 - negs r0, r0 - ands r4, r0 - str r4, [r5] - ldr r4, _0801F440 @ =gActiveBank - ldrb r0, [r6] - strb r0, [r4] - ldrb r0, [r4] - muls r0, r2 - adds r0, r1 - str r0, [sp] - movs r0, 0 - movs r1, 0x28 - movs r2, 0 - movs r3, 0x4 - bl EmitSetAttributes - ldrb r0, [r4] - bl MarkBufferBankForExecution - ldr r4, _0801F444 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl b_movescr_stack_push - ldr r0, _0801F448 @ =BattleScript_TargetPRLZHeal - b _0801F5F8 - .align 2, 0 -_0801F43C: .4byte gBankTarget -_0801F440: .4byte gActiveBank -_0801F444: .4byte gBattlescriptCurrInstr -_0801F448: .4byte BattleScript_TargetPRLZHeal -_0801F44C: - ldr r4, _0801F45C @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl b_movescr_stack_push - ldr r0, _0801F460 @ =gUnknown_081D93FA - b _0801F5F8 - .align 2, 0 -_0801F45C: .4byte gBattlescriptCurrInstr -_0801F460: .4byte gUnknown_081D93FA -_0801F464: - ldr r4, _0801F494 @ =gBattleMoveDamage - ldr r0, _0801F498 @ =gHP_dealt - ldr r0, [r0] - movs r1, 0x3 - bl __divsi3 - str r0, [r4] - cmp r0, 0 - bne _0801F47A - movs r0, 0x1 - str r0, [r4] -_0801F47A: - ldr r4, _0801F49C @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl b_movescr_stack_push - ldr r1, _0801F4A0 @ =gMoveEffectBS_Ptrs - ldr r0, _0801F4A4 @ =gBattleCommunication - ldrb r0, [r0, 0x3] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - b _0801F5F8 - .align 2, 0 -_0801F494: .4byte gBattleMoveDamage -_0801F498: .4byte gHP_dealt -_0801F49C: .4byte gBattlescriptCurrInstr -_0801F4A0: .4byte gMoveEffectBS_Ptrs -_0801F4A4: .4byte gBattleCommunication -_0801F4A8: - mov r3, r8 - ldrb r0, [r3] - movs r5, 0x58 - muls r0, r5 - mov r4, r9 - adds r4, 0x50 - adds r2, r0, r4 - ldr r1, [r2] - movs r0, 0xC0 - lsls r0, 4 - ands r0, r1 - cmp r0, 0 - beq _0801F4C4 - b _0801F5DC -_0801F4C4: - movs r0, 0x80 - lsls r0, 5 - orrs r1, r0 - str r1, [r2] - ldr r1, _0801F4F8 @ =gLockedMove - ldrb r0, [r3] - lsls r0, 1 - adds r0, r1 - ldr r1, _0801F4FC @ =gCurrentMove - ldrh r1, [r1] - strh r1, [r0] - bl Random - mov r2, r8 - ldrb r1, [r2] - adds r2, r1, 0 - muls r2, r5 - adds r2, r4 - movs r1, 0x1 - ands r1, r0 - adds r1, 0x2 - lsls r1, 10 - ldr r0, [r2] -_0801F4F2: - orrs r0, r1 - str r0, [r2] - b _0801F5FA - .align 2, 0 -_0801F4F8: .4byte gLockedMove -_0801F4FC: .4byte gCurrentMove -_0801F500: - mov r5, r8 - ldrb r3, [r5] - movs r4, 0x58 - adds r0, r3, 0 - muls r0, r4 - mov r2, r9 - adds r1, r0, r2 - adds r0, r1, 0 - adds r0, 0x20 - ldrb r2, [r0] - cmp r2, 0x3C - bne _0801F540 - ldrh r0, [r1, 0x2E] - cmp r0, 0 - beq _0801F5DC - ldr r0, _0801F534 @ =gLastUsedAbility - strb r2, [r0] - ldr r1, _0801F538 @ =gBattlescriptCurrInstr - ldr r0, _0801F53C @ =BattleScript_NoItemSteal - str r0, [r1] - ldrb r0, [r5] - movs r1, 0x3C - bl RecordAbilityBattle - b _0801F5FA - .align 2, 0 -_0801F534: .4byte gLastUsedAbility -_0801F538: .4byte gBattlescriptCurrInstr -_0801F53C: .4byte BattleScript_NoItemSteal -_0801F540: - ldrh r0, [r1, 0x2E] - cmp r0, 0 - beq _0801F5DC - adds r0, r3, 0 - bl GetBankSide - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _0801F5B8 @ =gLastUsedItem - mov r3, r8 - ldrb r0, [r3] - muls r0, r4 - add r0, r9 - ldrh r0, [r0, 0x2E] - strh r0, [r1] - ldrb r0, [r3] - muls r0, r4 - add r0, r9 - movs r5, 0 - movs r1, 0 - strh r1, [r0, 0x2E] - ldr r2, _0801F5BC @ =gWishFutureKnock - adds r2, 0x29 - adds r2, r6, r2 - ldr r3, _0801F5C0 @ =gBitTable - ldr r1, _0801F5C4 @ =gBattlePartyID - mov r4, r8 - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r3 - ldr r0, [r0] - ldrb r1, [r2] - orrs r0, r1 - strb r0, [r2] - ldr r4, _0801F5C8 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl b_movescr_stack_push - ldr r0, _0801F5CC @ =BattleScript_KnockedOff - str r0, [r4] - ldr r1, _0801F5D0 @ =0x02000000 - mov r2, r8 - ldrb r0, [r2] - lsls r0, 1 - ldr r3, _0801F5D4 @ =0x000160e8 - adds r0, r3 - adds r0, r1 - strb r5, [r0] - ldrb r0, [r2] - lsls r0, 1 - ldr r4, _0801F5D8 @ =0x000160e9 - adds r0, r4 - adds r0, r1 - strb r5, [r0] - b _0801F5FA - .align 2, 0 -_0801F5B8: .4byte gLastUsedItem -_0801F5BC: .4byte gWishFutureKnock -_0801F5C0: .4byte gBitTable -_0801F5C4: .4byte gBattlePartyID -_0801F5C8: .4byte gBattlescriptCurrInstr -_0801F5CC: .4byte BattleScript_KnockedOff -_0801F5D0: .4byte 0x02000000 -_0801F5D4: .4byte 0x000160e8 -_0801F5D8: .4byte 0x000160e9 -_0801F5DC: - ldr r1, _0801F5E8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - b _0801F5FA - .align 2, 0 -_0801F5E8: .4byte gBattlescriptCurrInstr -_0801F5EC: - ldr r4, _0801F60C @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl b_movescr_stack_push - ldr r0, _0801F610 @ =gUnknown_081D94B0 -_0801F5F8: - str r0, [r4] -_0801F5FA: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801F60C: .4byte gBattlescriptCurrInstr -_0801F610: .4byte gUnknown_081D94B0 - thumb_func_end sub_801E3EC - - thumb_func_start atk15_seteffectwithchancetarget -atk15_seteffectwithchancetarget: @ 801F614 - push {r4,lr} - ldr r2, _0801F640 @ =gBattleMons - ldr r0, _0801F644 @ =gBankAttacker - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x20 - bne _0801F650 - ldr r2, _0801F648 @ =gBattleMoves - ldr r0, _0801F64C @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x5] - lsls r4, r0, 1 - b _0801F660 - .align 2, 0 -_0801F640: .4byte gBattleMons -_0801F644: .4byte gBankAttacker -_0801F648: .4byte gBattleMoves -_0801F64C: .4byte gCurrentMove -_0801F650: - ldr r2, _0801F680 @ =gBattleMoves - ldr r0, _0801F684 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r4, [r0, 0x5] -_0801F660: - ldr r3, _0801F688 @ =gBattleCommunication - ldrb r2, [r3, 0x3] - movs r0, 0x80 - ands r0, r2 - cmp r0, 0 - beq _0801F690 - ldr r0, _0801F68C @ =gBattleMoveFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - bne _0801F690 - movs r0, 0x7F - ands r0, r2 - strb r0, [r3, 0x3] - b _0801F6BE - .align 2, 0 -_0801F680: .4byte gBattleMoves -_0801F684: .4byte gCurrentMove -_0801F688: .4byte gBattleCommunication -_0801F68C: .4byte gBattleMoveFlags -_0801F690: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, r4 - bhi _0801F6DA - ldr r0, _0801F6C8 @ =gBattleCommunication - ldrb r0, [r0, 0x3] - cmp r0, 0 - beq _0801F6DA - ldr r0, _0801F6CC @ =gBattleMoveFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - bne _0801F6DA - cmp r4, 0x63 - bls _0801F6D0 -_0801F6BE: - movs r0, 0 - movs r1, 0x80 - bl sub_801E3EC - b _0801F6E2 - .align 2, 0 -_0801F6C8: .4byte gBattleCommunication -_0801F6CC: .4byte gBattleMoveFlags -_0801F6D0: - movs r0, 0 - movs r1, 0 - bl sub_801E3EC - b _0801F6E2 -_0801F6DA: - ldr r1, _0801F6F8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] -_0801F6E2: - ldr r0, _0801F6FC @ =gBattleCommunication - movs r1, 0 - strb r1, [r0, 0x3] - ldr r0, _0801F700 @ =0x02000000 - ldr r2, _0801F704 @ =0x00016112 - adds r0, r2 - strb r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0801F6F8: .4byte gBattlescriptCurrInstr -_0801F6FC: .4byte gBattleCommunication -_0801F700: .4byte 0x02000000 -_0801F704: .4byte 0x00016112 - thumb_func_end atk15_seteffectwithchancetarget - - thumb_func_start atk16_seteffectprimary -atk16_seteffectprimary: @ 801F708 - push {lr} - movs r0, 0x1 - movs r1, 0 - bl sub_801E3EC - pop {r0} - bx r0 - thumb_func_end atk16_seteffectprimary - - thumb_func_start atk17_seteffectsecondary -atk17_seteffectsecondary: @ 801F718 - push {lr} - movs r0, 0 - movs r1, 0 - bl sub_801E3EC - pop {r0} - bx r0 - thumb_func_end atk17_seteffectsecondary - - thumb_func_start atk18_status_effect_clear -atk18_status_effect_clear: @ 801F728 - push {lr} - ldr r0, _0801F74C @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - bl sub_8015150 - ldr r2, _0801F750 @ =gActiveBank - strb r0, [r2] - ldr r3, _0801F754 @ =gBattleCommunication - ldrb r0, [r3, 0x3] - cmp r0, 0x6 - bhi _0801F75C - ldr r1, _0801F758 @ =gBattleMons - ldrb r2, [r2] - movs r0, 0x58 - muls r2, r0 - adds r1, 0x4C - b _0801F766 - .align 2, 0 -_0801F74C: .4byte gBattlescriptCurrInstr -_0801F750: .4byte gActiveBank -_0801F754: .4byte gBattleCommunication -_0801F758: .4byte gBattleMons -_0801F75C: - ldr r1, _0801F794 @ =gBattleMons - ldrb r2, [r2] - movs r0, 0x58 - muls r2, r0 - adds r1, 0x50 -_0801F766: - adds r2, r1 - ldr r1, _0801F798 @ =gStatusFlagsForMoveEffects - ldrb r0, [r3, 0x3] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - ldr r0, [r2] - bics r0, r1 - str r0, [r2] - ldr r0, _0801F79C @ =gBattleCommunication - movs r2, 0 - strb r2, [r0, 0x3] - ldr r1, _0801F7A0 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] - ldr r0, _0801F7A4 @ =0x02000000 - ldr r1, _0801F7A8 @ =0x00016112 - adds r0, r1 - strb r2, [r0] - pop {r0} - bx r0 - .align 2, 0 -_0801F794: .4byte gBattleMons -_0801F798: .4byte gStatusFlagsForMoveEffects -_0801F79C: .4byte gBattleCommunication -_0801F7A0: .4byte gBattlescriptCurrInstr -_0801F7A4: .4byte 0x02000000 -_0801F7A8: .4byte 0x00016112 - thumb_func_end atk18_status_effect_clear - - thumb_func_start atk19_faint_pokemon -atk19_faint_pokemon: @ 801F7AC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - ldr r0, _0801F81C @ =gBattlescriptCurrInstr - ldr r2, [r0] - ldrb r1, [r2, 0x2] - adds r6, r0, 0 - cmp r1, 0 - beq _0801F834 - ldrb r0, [r2, 0x1] - bl sub_8015150 - ldr r5, _0801F820 @ =gActiveBank - strb r0, [r5] - ldr r2, _0801F824 @ =gHitMarker - ldr r1, _0801F828 @ =gBitTable - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - lsls r1, 28 - ldr r0, [r2] - ands r0, r1 - cmp r0, 0 - bne _0801F7E6 - b _0801FB1C -_0801F7E6: - ldr r1, [r6] - ldrb r4, [r1, 0x3] - ldrb r0, [r1, 0x4] - lsls r0, 8 - orrs r4, r0 - ldrb r0, [r1, 0x5] - lsls r0, 16 - orrs r4, r0 - ldrb r0, [r1, 0x6] - lsls r0, 24 - orrs r4, r0 - bl b_movescr_stack_pop_cursor - str r4, [r6] - ldrb r0, [r5] - bl GetBankSide - ldr r1, _0801F82C @ =gSideAffecting - lsls r0, 24 - lsrs r0, 23 - adds r0, r1 - ldrh r2, [r0] - ldr r1, _0801F830 @ =0x0000fdff - ands r1, r2 - strh r1, [r0] - b _0801FB22 - .align 2, 0 -_0801F81C: .4byte gBattlescriptCurrInstr -_0801F820: .4byte gActiveBank -_0801F824: .4byte gHitMarker -_0801F828: .4byte gBitTable -_0801F82C: .4byte gSideAffecting -_0801F830: .4byte 0x0000fdff -_0801F834: - ldrb r0, [r2, 0x1] - cmp r0, 0x1 - bne _0801F85C - ldr r1, _0801F84C @ =gActiveBank - ldr r0, _0801F850 @ =gBankAttacker - ldrb r0, [r0] - strb r0, [r1] - ldr r0, _0801F854 @ =gBankTarget - ldrb r7, [r0] - ldr r4, _0801F858 @ =gUnknown_081D8C58 - b _0801F86A - .align 2, 0 -_0801F84C: .4byte gActiveBank -_0801F850: .4byte gBankAttacker -_0801F854: .4byte gBankTarget -_0801F858: .4byte gUnknown_081D8C58 -_0801F85C: - ldr r1, _0801F954 @ =gActiveBank - ldr r0, _0801F958 @ =gBankTarget - ldrb r0, [r0] - strb r0, [r1] - ldr r0, _0801F95C @ =gBankAttacker - ldrb r7, [r0] - ldr r4, _0801F960 @ =gUnknown_081D8C65 -_0801F86A: - ldr r0, _0801F964 @ =gAbsentBankFlags - ldrb r1, [r0] - ldr r0, _0801F968 @ =gBitTable - mov r12, r0 - ldr r2, _0801F954 @ =gActiveBank - mov r8, r2 - ldrb r2, [r2] - lsls r0, r2, 2 - add r0, r12 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _0801F886 - b _0801FB1C -_0801F886: - ldr r3, _0801F96C @ =gBattleMons - mov r10, r3 - movs r5, 0x58 - mov r9, r5 - mov r0, r9 - muls r0, r2 - add r0, r10 - ldrh r3, [r0, 0x28] - cmp r3, 0 - beq _0801F89C - b _0801FB1C -_0801F89C: - ldr r2, _0801F970 @ =0x02000000 - lsls r1, r7, 1 - ldr r5, _0801F974 @ =0x000160ac - adds r0, r1, r5 - adds r0, r2 - strb r3, [r0] - ldr r0, _0801F978 @ =0x000160ad - adds r1, r0 - adds r1, r2 - strb r3, [r1] - lsls r1, r7, 2 - adds r5, 0x54 - adds r0, r1, r5 - adds r0, r2 - strb r3, [r0] - adds r5, 0x1 - adds r0, r1, r5 - adds r0, r2 - strb r3, [r0] - adds r5, 0x1 - adds r0, r1, r5 - adds r0, r2 - strb r3, [r0] - ldr r0, _0801F97C @ =0x00016103 - adds r1, r0 - adds r1, r2 - strb r3, [r1] - ldr r5, _0801F980 @ =gHitMarker - mov r1, r8 - ldrb r0, [r1] - lsls r0, 2 - add r0, r12 - ldr r1, [r0] - lsls r1, 28 - ldr r0, [r5] - orrs r0, r1 - str r0, [r5] - ldr r0, [r6] - adds r0, 0x7 - bl b_movescr_stack_push - str r4, [r6] - mov r2, r8 - ldrb r0, [r2] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _0801F9B0 - ldr r0, [r5] - movs r1, 0x80 - lsls r1, 15 - orrs r0, r1 - str r0, [r5] - ldr r1, _0801F984 @ =gBattleResults - ldrb r0, [r1] - cmp r0, 0xFE - bhi _0801F914 - adds r0, 0x1 - strb r0, [r1] -_0801F914: - mov r0, r9 - muls r0, r7 - add r0, r10 - adds r3, r0, 0 - adds r3, 0x2A - mov r4, r8 - ldrb r2, [r4] - mov r0, r9 - muls r0, r2 - add r0, r10 - adds r1, r0, 0 - adds r1, 0x2A - ldrb r0, [r3] - ldrb r5, [r1] - cmp r0, r5 - bls _0801F9CC - ldrb r1, [r1] - subs r0, r1 - cmp r0, 0x1D - ble _0801F990 - ldr r1, _0801F988 @ =gBattlePartyID - lsls r0, r2, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0801F98C @ =gPlayerParty - adds r0, r1 - movs r1, 0x8 - bl AdjustFriendship - b _0801F9CC - .align 2, 0 -_0801F954: .4byte gActiveBank -_0801F958: .4byte gBankTarget -_0801F95C: .4byte gBankAttacker -_0801F960: .4byte gUnknown_081D8C65 -_0801F964: .4byte gAbsentBankFlags -_0801F968: .4byte gBitTable -_0801F96C: .4byte gBattleMons -_0801F970: .4byte 0x02000000 -_0801F974: .4byte 0x000160ac -_0801F978: .4byte 0x000160ad -_0801F97C: .4byte 0x00016103 -_0801F980: .4byte gHitMarker -_0801F984: .4byte gBattleResults -_0801F988: .4byte gBattlePartyID -_0801F98C: .4byte gPlayerParty -_0801F990: - ldr r1, _0801F9A8 @ =gBattlePartyID - lsls r0, r2, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0801F9AC @ =gPlayerParty - adds r0, r1 - movs r1, 0x6 - bl AdjustFriendship - b _0801F9CC - .align 2, 0 -_0801F9A8: .4byte gBattlePartyID -_0801F9AC: .4byte gPlayerParty -_0801F9B0: - ldr r1, _0801FAE0 @ =gBattleResults - ldrb r0, [r1, 0x1] - cmp r0, 0xFE - bhi _0801F9BC - adds r0, 0x1 - strb r0, [r1, 0x1] -_0801F9BC: - ldr r2, _0801FAE4 @ =gActiveBank - ldrb r0, [r2] - mov r3, r9 - muls r3, r0 - adds r0, r3, 0 - add r0, r10 - ldrh r0, [r0] - strh r0, [r1, 0x20] -_0801F9CC: - ldr r0, _0801FAE8 @ =gHitMarker - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0801FA02 - ldr r6, _0801FAEC @ =gBattleMons - ldr r0, _0801FAF0 @ =gBankAttacker - ldrb r0, [r0] - movs r5, 0x58 - muls r0, r5 - adds r0, r6 - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _0801FA02 - ldr r4, _0801FAF4 @ =gBattlescriptCurrInstr - ldr r0, [r4] - bl b_movescr_stack_push - ldr r1, _0801FAF8 @ =gBattleMoveDamage - adds r0, r7, 0 - muls r0, r5 - adds r0, r6 - ldrh r0, [r0, 0x28] - str r0, [r1] - ldr r0, _0801FAFC @ =gUnknown_081D9156 - str r0, [r4] -_0801FA02: - ldr r1, _0801FB00 @ =gStatuses3 - ldr r6, _0801FB04 @ =gBankTarget - ldrb r0, [r6] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 7 - ands r0, r1 - cmp r0, 0 - bne _0801FA1A - b _0801FB22 -_0801FA1A: - ldr r0, _0801FAE8 @ =gHitMarker - ldr r5, [r0] - movs r0, 0x80 - lsls r0, 17 - ands r5, r0 - cmp r5, 0 - bne _0801FB22 - ldr r4, _0801FAF0 @ =gBankAttacker - mov r8, r4 - ldrb r0, [r4] - bl GetBankSide - adds r4, r0, 0 - ldrb r0, [r6] - bl GetBankSide - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - beq _0801FB22 - ldr r0, _0801FAEC @ =gBattleMons - mov r9, r0 - mov r1, r8 - ldrb r2, [r1] - movs r7, 0x58 - adds r3, r2, 0 - muls r3, r7 - adds r0, r3, r0 - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _0801FB22 - ldr r0, _0801FB08 @ =gCurrentMove - ldrh r0, [r0] - cmp r0, 0xA5 - beq _0801FB22 - ldr r1, _0801FB0C @ =0x02000000 - ldr r4, _0801FB10 @ =0x0001608c - adds r0, r2, r4 - adds r0, r1 - ldrb r4, [r0] - adds r0, r4, r3 - mov r6, r9 - adds r6, 0x24 - adds r0, r6 - strb r5, [r0] - ldr r5, _0801FAF4 @ =gBattlescriptCurrInstr - ldr r0, [r5] - bl b_movescr_stack_push - ldr r0, _0801FB14 @ =gUnknown_081D9468 - str r0, [r5] - ldr r5, _0801FAE4 @ =gActiveBank - mov r1, r8 - ldrb r0, [r1] - strb r0, [r5] - adds r1, r4, 0 - adds r1, 0x9 - lsls r1, 24 - lsrs r1, 24 - ldrb r0, [r5] - muls r0, r7 - adds r0, r6 - adds r0, r4 - str r0, [sp] - movs r0, 0 - movs r2, 0 - movs r3, 0x1 - bl EmitSetAttributes - ldrb r0, [r5] - bl MarkBufferBankForExecution - ldr r1, _0801FB18 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x2 - strb r0, [r1, 0x1] - lsls r4, 1 - mov r2, r8 - ldrb r0, [r2] - muls r0, r7 - adds r0, r4, r0 - mov r2, r9 - adds r2, 0xC - adds r0, r2 - ldrh r0, [r0] - strb r0, [r1, 0x2] - mov r3, r8 - ldrb r0, [r3] - muls r0, r7 - adds r4, r0 - adds r4, r2 - ldrh r0, [r4] - lsrs r0, 8 - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - b _0801FB22 - .align 2, 0 -_0801FAE0: .4byte gBattleResults -_0801FAE4: .4byte gActiveBank -_0801FAE8: .4byte gHitMarker -_0801FAEC: .4byte gBattleMons -_0801FAF0: .4byte gBankAttacker -_0801FAF4: .4byte gBattlescriptCurrInstr -_0801FAF8: .4byte gBattleMoveDamage -_0801FAFC: .4byte gUnknown_081D9156 -_0801FB00: .4byte gStatuses3 -_0801FB04: .4byte gBankTarget -_0801FB08: .4byte gCurrentMove -_0801FB0C: .4byte 0x02000000 -_0801FB10: .4byte 0x0001608c -_0801FB14: .4byte gUnknown_081D9468 -_0801FB18: .4byte gBattleTextBuff1 -_0801FB1C: - ldr r0, [r6] - adds r0, 0x7 - str r0, [r6] -_0801FB22: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end atk19_faint_pokemon - - thumb_func_start atk1A_faint_animation -atk1A_faint_animation: @ 801FB34 - push {r4,r5,lr} - ldr r0, _0801FB64 @ =gBattleExecBuffer - ldr r0, [r0] - cmp r0, 0 - bne _0801FB5E - ldr r5, _0801FB68 @ =gBattlescriptCurrInstr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - bl sub_8015150 - ldr r4, _0801FB6C @ =gActiveBank - strb r0, [r4] - movs r0, 0 - bl EmitFaintAnimation - ldrb r0, [r4] - bl MarkBufferBankForExecution - ldr r0, [r5] - adds r0, 0x2 - str r0, [r5] -_0801FB5E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0801FB64: .4byte gBattleExecBuffer -_0801FB68: .4byte gBattlescriptCurrInstr -_0801FB6C: .4byte gActiveBank - thumb_func_end atk1A_faint_animation - - thumb_func_start atk1B_faint_effects_clear -atk1B_faint_effects_clear: @ 801FB70 - push {r4-r6,lr} - sub sp, 0x4 - ldr r0, _0801FBC4 @ =gBattleExecBuffer - ldr r6, [r0] - cmp r6, 0 - bne _0801FBBC - ldr r5, _0801FBC8 @ =gBattlescriptCurrInstr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - bl sub_8015150 - ldr r4, _0801FBCC @ =gActiveBank - strb r0, [r4] - ldr r1, _0801FBD0 @ =gBattleMons - ldrb r0, [r4] - movs r2, 0x58 - muls r0, r2 - adds r1, 0x4C - adds r0, r1 - str r6, [r0] - ldrb r0, [r4] - muls r0, r2 - adds r0, r1 - str r0, [sp] - movs r0, 0 - movs r1, 0x28 - movs r2, 0 - movs r3, 0x4 - bl EmitSetAttributes - ldrb r0, [r4] - bl MarkBufferBankForExecution - bl UndoEffectsAfterFainting - ldr r0, [r5] - adds r0, 0x2 - str r0, [r5] -_0801FBBC: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0801FBC4: .4byte gBattleExecBuffer -_0801FBC8: .4byte gBattlescriptCurrInstr -_0801FBCC: .4byte gActiveBank -_0801FBD0: .4byte gBattleMons - thumb_func_end atk1B_faint_effects_clear - - thumb_func_start atk1C_jumpifstatus -atk1C_jumpifstatus: @ 801FBD4 - push {r4,r5,lr} - ldr r5, _0801FC30 @ =gBattlescriptCurrInstr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - bl sub_8015150 - lsls r0, 24 - lsrs r0, 24 - ldr r2, [r5] - ldrb r4, [r2, 0x2] - ldrb r1, [r2, 0x3] - lsls r1, 8 - adds r4, r1 - ldrb r1, [r2, 0x4] - lsls r1, 16 - adds r4, r1 - ldrb r1, [r2, 0x5] - lsls r1, 24 - adds r4, r1 - ldrb r3, [r2, 0x6] - ldrb r1, [r2, 0x7] - lsls r1, 8 - adds r3, r1 - ldrb r1, [r2, 0x8] - lsls r1, 16 - adds r3, r1 - ldrb r1, [r2, 0x9] - lsls r1, 24 - adds r3, r1 - ldr r2, _0801FC34 @ =gBattleMons - movs r1, 0x58 - muls r1, r0 - adds r0, r2, 0 - adds r0, 0x4C - adds r0, r1, r0 - ldr r0, [r0] - ands r0, r4 - cmp r0, 0 - beq _0801FC38 - adds r0, r1, r2 - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _0801FC38 - str r3, [r5] - b _0801FC40 - .align 2, 0 -_0801FC30: .4byte gBattlescriptCurrInstr -_0801FC34: .4byte gBattleMons -_0801FC38: - ldr r1, _0801FC48 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0xA - str r0, [r1] -_0801FC40: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0801FC48: .4byte gBattlescriptCurrInstr - thumb_func_end atk1C_jumpifstatus - - thumb_func_start atk1D_jumpifstatus2 -atk1D_jumpifstatus2: @ 801FC4C - push {r4,r5,lr} - ldr r5, _0801FCA8 @ =gBattlescriptCurrInstr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - bl sub_8015150 - lsls r0, 24 - lsrs r0, 24 - ldr r2, [r5] - ldrb r4, [r2, 0x2] - ldrb r1, [r2, 0x3] - lsls r1, 8 - adds r4, r1 - ldrb r1, [r2, 0x4] - lsls r1, 16 - adds r4, r1 - ldrb r1, [r2, 0x5] - lsls r1, 24 - adds r4, r1 - ldrb r3, [r2, 0x6] - ldrb r1, [r2, 0x7] - lsls r1, 8 - adds r3, r1 - ldrb r1, [r2, 0x8] - lsls r1, 16 - adds r3, r1 - ldrb r1, [r2, 0x9] - lsls r1, 24 - adds r3, r1 - ldr r2, _0801FCAC @ =gBattleMons - movs r1, 0x58 - muls r1, r0 - adds r0, r2, 0 - adds r0, 0x50 - adds r0, r1, r0 - ldr r0, [r0] - ands r0, r4 - cmp r0, 0 - beq _0801FCB0 - adds r0, r1, r2 - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _0801FCB0 - str r3, [r5] - b _0801FCB8 - .align 2, 0 -_0801FCA8: .4byte gBattlescriptCurrInstr -_0801FCAC: .4byte gBattleMons -_0801FCB0: - ldr r1, _0801FCC0 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0xA - str r0, [r1] -_0801FCB8: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0801FCC0: .4byte gBattlescriptCurrInstr - thumb_func_end atk1D_jumpifstatus2 - - thumb_func_start atk1E_jumpifability -atk1E_jumpifability: @ 801FCC4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - ldr r6, _0801FD18 @ =gBattlescriptCurrInstr - ldr r2, [r6] - ldrb r5, [r2, 0x2] - mov r8, r5 - ldrb r1, [r2, 0x3] - ldrb r0, [r2, 0x4] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x5] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x6] - lsls r0, 24 - adds r7, r1, r0 - ldrb r0, [r2, 0x1] - cmp r0, 0x8 - bne _0801FD24 - ldr r0, _0801FD1C @ =gBankAttacker - ldrb r1, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0xD - adds r2, r5, 0 - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - beq _0801FDA0 - ldr r1, _0801FD20 @ =gLastUsedAbility - strb r5, [r1] - str r7, [r6] - subs r4, 0x1 - lsls r0, r4, 24 - lsrs r0, 24 - ldrb r1, [r1] - b _0801FD80 - .align 2, 0 -_0801FD18: .4byte gBattlescriptCurrInstr -_0801FD1C: .4byte gBankAttacker -_0801FD20: .4byte gLastUsedAbility -_0801FD24: - cmp r0, 0x9 - bne _0801FD5C - ldr r0, _0801FD54 @ =gBankAttacker - ldrb r1, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0xC - adds r2, r5, 0 - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - beq _0801FDA0 - ldr r1, _0801FD58 @ =gLastUsedAbility - strb r5, [r1] - str r7, [r6] - subs r4, 0x1 - lsls r0, r4, 24 - lsrs r0, 24 - ldrb r1, [r1] - b _0801FD80 - .align 2, 0 -_0801FD54: .4byte gBankAttacker -_0801FD58: .4byte gLastUsedAbility -_0801FD5C: - ldrb r0, [r2, 0x1] - bl sub_8015150 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _0801FD90 @ =gBattleMons - movs r0, 0x58 - muls r0, r4 - adds r0, r1 - adds r0, 0x20 - ldrb r1, [r0] - cmp r1, r8 - bne _0801FDA0 - ldr r0, _0801FD94 @ =gLastUsedAbility - strb r1, [r0] - str r7, [r6] - ldrb r1, [r0] - adds r0, r4, 0 -_0801FD80: - bl RecordAbilityBattle - ldr r0, _0801FD98 @ =0x02000000 - ldr r1, _0801FD9C @ =0x000160f8 - adds r0, r1 - strb r4, [r0] - b _0801FDA6 - .align 2, 0 -_0801FD90: .4byte gBattleMons -_0801FD94: .4byte gLastUsedAbility -_0801FD98: .4byte 0x02000000 -_0801FD9C: .4byte 0x000160f8 -_0801FDA0: - ldr r0, [r6] - adds r0, 0x7 - str r0, [r6] -_0801FDA6: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end atk1E_jumpifability - - thumb_func_start atk1F_jumpifsideaffecting -atk1F_jumpifsideaffecting: @ 801FDB4 - push {r4-r6,lr} - ldr r0, _0801FDCC @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r4, [r0, 0x1] - cmp r4, 0x1 - bne _0801FDD4 - ldr r0, _0801FDD0 @ =gBankAttacker - ldrb r0, [r0] - bl GetBankIdentity - b _0801FDDE - .align 2, 0 -_0801FDCC: .4byte gBattlescriptCurrInstr -_0801FDD0: .4byte gBankAttacker -_0801FDD4: - ldr r0, _0801FE14 @ =gBankTarget - ldrb r0, [r0] - bl GetBankIdentity - movs r4, 0x1 -_0801FDDE: - ands r4, r0 - ldr r6, _0801FE18 @ =gBattlescriptCurrInstr - ldr r3, [r6] - ldrb r2, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r2, r0 - ldrb r1, [r3, 0x4] - ldrb r0, [r3, 0x5] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r3, 0x6] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r3, 0x7] - lsls r0, 24 - adds r5, r1, r0 - ldr r1, _0801FE1C @ =gSideAffecting - lsls r0, r4, 1 - adds r0, r1 - ldrh r0, [r0] - ands r2, r0 - cmp r2, 0 - beq _0801FE20 - str r5, [r6] - b _0801FE26 - .align 2, 0 -_0801FE14: .4byte gBankTarget -_0801FE18: .4byte gBattlescriptCurrInstr -_0801FE1C: .4byte gSideAffecting -_0801FE20: - adds r0, r3, 0 - adds r0, 0x8 - str r0, [r6] -_0801FE26: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end atk1F_jumpifsideaffecting - - thumb_func_start atk20_jumpifstat -atk20_jumpifstat: @ 801FE2C - push {r4,r5,lr} - movs r5, 0 - ldr r4, _0801FE60 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl sub_8015150 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0801FE64 @ =gBattleMons - ldr r3, [r4] - movs r1, 0x58 - muls r0, r1 - ldrb r1, [r3, 0x3] - adds r0, r1 - adds r2, 0x18 - adds r0, r2 - ldrb r2, [r0] - ldrb r0, [r3, 0x2] - cmp r0, 0x5 - bhi _0801FEEA - lsls r0, 2 - ldr r1, _0801FE68 @ =_0801FE6C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0801FE60: .4byte gBattlescriptCurrInstr -_0801FE64: .4byte gBattleMons -_0801FE68: .4byte _0801FE6C - .align 2, 0 -_0801FE6C: - .4byte _0801FE84 - .4byte _0801FE94 - .4byte _0801FEA4 - .4byte _0801FEB4 - .4byte _0801FEC4 - .4byte _0801FED8 -_0801FE84: - ldr r0, _0801FE90 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x4] - cmp r2, r0 - bne _0801FEEA - b _0801FEE4 - .align 2, 0 -_0801FE90: .4byte gBattlescriptCurrInstr -_0801FE94: - ldr r0, _0801FEA0 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x4] - cmp r2, r0 - beq _0801FEEA - b _0801FEE4 - .align 2, 0 -_0801FEA0: .4byte gBattlescriptCurrInstr -_0801FEA4: - ldr r0, _0801FEB0 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x4] - cmp r2, r0 - bls _0801FEEA - b _0801FEE4 - .align 2, 0 -_0801FEB0: .4byte gBattlescriptCurrInstr -_0801FEB4: - ldr r0, _0801FEC0 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x4] - cmp r2, r0 - bcs _0801FEEA - b _0801FEE4 - .align 2, 0 -_0801FEC0: .4byte gBattlescriptCurrInstr -_0801FEC4: - ldr r0, _0801FED4 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x4] - ands r2, r0 - cmp r2, 0 - beq _0801FEEA - b _0801FEE4 - .align 2, 0 -_0801FED4: .4byte gBattlescriptCurrInstr -_0801FED8: - ldr r0, _0801FF0C @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x4] - ands r2, r0 - cmp r2, 0 - bne _0801FEEA -_0801FEE4: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_0801FEEA: - cmp r5, 0 - beq _0801FF10 - ldr r3, _0801FF0C @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x5] - ldrb r0, [r2, 0x6] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x7] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x8] - lsls r0, 24 - adds r1, r0 - str r1, [r3] - b _0801FF18 - .align 2, 0 -_0801FF0C: .4byte gBattlescriptCurrInstr -_0801FF10: - ldr r1, _0801FF20 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x9 - str r0, [r1] -_0801FF18: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0801FF20: .4byte gBattlescriptCurrInstr - thumb_func_end atk20_jumpifstat - - thumb_func_start atk21_jumpifstatus3 -atk21_jumpifstatus3: @ 801FF24 - push {r4-r6,lr} - ldr r4, _0801FF78 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl sub_8015150 - ldr r5, _0801FF7C @ =gActiveBank - strb r0, [r5] - ldr r2, [r4] - ldrb r1, [r2, 0x2] - ldrb r0, [r2, 0x3] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x5] - lsls r0, 24 - adds r6, r1, r0 - ldrb r1, [r2, 0x7] - ldrb r0, [r2, 0x8] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x9] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0xA] - lsls r0, 24 - adds r3, r1, r0 - ldrb r0, [r2, 0x6] - cmp r0, 0 - beq _0801FF84 - ldr r0, _0801FF80 @ =gStatuses3 - ldrb r1, [r5] - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - ands r0, r6 - cmp r0, 0 - bne _0801FF9C - b _0801FF94 - .align 2, 0 -_0801FF78: .4byte gBattlescriptCurrInstr -_0801FF7C: .4byte gActiveBank -_0801FF80: .4byte gStatuses3 -_0801FF84: - ldr r0, _0801FF98 @ =gStatuses3 - ldrb r1, [r5] - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - ands r0, r6 - cmp r0, 0 - beq _0801FF9C -_0801FF94: - str r3, [r4] - b _0801FFA2 - .align 2, 0 -_0801FF98: .4byte gStatuses3 -_0801FF9C: - adds r0, r2, 0 - adds r0, 0xB - str r0, [r4] -_0801FFA2: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end atk21_jumpifstatus3 - - thumb_func_start atk22_jumpiftype -atk22_jumpiftype: @ 801FFA8 - push {r4-r6,lr} - ldr r4, _0801FFF0 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl sub_8015150 - lsls r0, 24 - lsrs r0, 24 - ldr r3, [r4] - ldrb r5, [r3, 0x2] - ldrb r2, [r3, 0x3] - ldrb r1, [r3, 0x4] - lsls r1, 8 - adds r2, r1 - ldrb r1, [r3, 0x5] - lsls r1, 16 - adds r2, r1 - ldrb r1, [r3, 0x6] - lsls r1, 24 - adds r6, r2, r1 - ldr r2, _0801FFF4 @ =gBattleMons - movs r1, 0x58 - muls r0, r1 - adds r1, r0, r2 - adds r0, r1, 0 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, r5 - beq _0801FFEC - adds r0, r1, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, r5 - bne _0801FFF8 -_0801FFEC: - str r6, [r4] - b _0801FFFC - .align 2, 0 -_0801FFF0: .4byte gBattlescriptCurrInstr -_0801FFF4: .4byte gBattleMons -_0801FFF8: - adds r0, r3, 0x7 - str r0, [r4] -_0801FFFC: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end atk22_jumpiftype - - thumb_func_start atk23_getexp -atk23_getexp: @ 8020004 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r6, 0 - ldr r0, _0802004C @ =0x0201605c - mov r10, r0 - ldr r0, _08020050 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - bl sub_8015150 - ldr r1, _08020054 @ =gBank1 - strb r0, [r1] - ldr r2, _08020058 @ =gSentPokesToOpponent - movs r1, 0x2 - ands r1, r0 - lsls r1, 24 - lsrs r1, 25 - adds r1, r2 - ldrb r1, [r1] - mov r8, r1 - mov r0, r10 - subs r0, 0x4D - ldrb r0, [r0] - cmp r0, 0x6 - bls _08020040 - bl _08020996 -_08020040: - lsls r0, 2 - ldr r1, _0802005C @ =_08020060 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802004C: .4byte 0x0201605c -_08020050: .4byte gBattlescriptCurrInstr -_08020054: .4byte gBank1 -_08020058: .4byte gSentPokesToOpponent -_0802005C: .4byte _08020060 - .align 2, 0 -_08020060: - .4byte _0802007C - .4byte _080200FC - .4byte _08020216 - .4byte _0802055C - .4byte _08020648 - .4byte _08020910 - .4byte _0802096C -_0802007C: - ldr r4, _080200A8 @ =gBank1 - ldrb r0, [r4] - bl GetBankSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08020098 - ldr r0, _080200AC @ =gBattleTypeFlags - ldrh r1, [r0] - ldr r0, _080200B0 @ =0x00000982 - ands r0, r1 - cmp r0, 0 - beq _080200BC -_08020098: - ldr r0, _080200B4 @ =0x02000000 - ldr r1, _080200B8 @ =0x0001600f - adds r0, r1 - movs r1, 0x6 - strb r1, [r0] - bl _08020996 - .align 2, 0 -_080200A8: .4byte gBank1 -_080200AC: .4byte gBattleTypeFlags -_080200B0: .4byte 0x00000982 -_080200B4: .4byte 0x02000000 -_080200B8: .4byte 0x0001600f -_080200BC: - ldr r2, _080200E8 @ =0x02000000 - ldr r3, _080200EC @ =0x0001600f - adds r1, r2, r3 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, _080200F0 @ =0x00016113 - adds r2, r0 - ldr r3, _080200F4 @ =gBitTable - ldr r1, _080200F8 @ =gBattlePartyID - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r3 - ldr r0, [r0] - ldrb r1, [r2] - orrs r0, r1 - strb r0, [r2] - bl _08020996 - .align 2, 0 -_080200E8: .4byte 0x02000000 -_080200EC: .4byte 0x0001600f -_080200F0: .4byte 0x00016113 -_080200F4: .4byte gBitTable -_080200F8: .4byte gBattlePartyID -_080200FC: - movs r5, 0 - movs r7, 0 - ldr r1, _08020150 @ =gSaveBlock1 + 0x3688 - mov r9, r1 -_08020104: - movs r0, 0x64 - adds r1, r7, 0 - muls r1, r0 - ldr r0, _08020154 @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _0802016A - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _0802016A - ldr r0, _08020158 @ =gBitTable - lsls r1, r7, 2 - adds r1, r0 - ldr r0, [r1] - mov r2, r8 - ands r0, r2 - cmp r0, 0 - beq _08020138 - adds r5, 0x1 -_08020138: - adds r0, r4, 0 - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xAF - bne _0802015C - mov r3, r9 - ldrb r4, [r3] - b _08020164 - .align 2, 0 -_08020150: .4byte gSaveBlock1 + 0x3688 -_08020154: .4byte gPlayerParty -_08020158: .4byte gBitTable -_0802015C: - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r4, r0, 24 -_08020164: - cmp r4, 0x19 - bne _0802016A - adds r6, 0x1 -_0802016A: - adds r7, 0x1 - cmp r7, 0x5 - ble _08020104 - ldr r3, _080201D0 @ =gBaseStats - ldr r2, _080201D4 @ =gBattleMons - ldr r0, _080201D8 @ =gBank1 - ldrb r1, [r0] - movs r0, 0x58 - muls r1, r0 - adds r1, r2 - ldrh r2, [r1] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r3 - ldrb r2, [r0, 0x9] - adds r1, 0x2A - ldrb r0, [r1] - muls r0, r2 - movs r1, 0x7 - bl __divsi3 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r6, 0 - beq _080201E0 - lsrs r4, r0, 17 - adds r0, r4, 0 - adds r1, r5, 0 - bl __divsi3 - mov r1, r10 - strh r0, [r1] - lsls r0, 16 - cmp r0, 0 - bne _080201B6 - movs r0, 0x1 - strh r0, [r1] -_080201B6: - ldr r5, _080201DC @ =gExpShareExp - adds r0, r4, 0 - adds r1, r6, 0 - bl __divsi3 - strh r0, [r5] - lsls r0, 16 - cmp r0, 0 - bne _080201FA - movs r0, 0x1 - strh r0, [r5] - b _080201FA - .align 2, 0 -_080201D0: .4byte gBaseStats -_080201D4: .4byte gBattleMons -_080201D8: .4byte gBank1 -_080201DC: .4byte gExpShareExp -_080201E0: - adds r0, r1, 0 - adds r1, r5, 0 - bl __divsi3 - mov r2, r10 - strh r0, [r2] - lsls r0, 16 - cmp r0, 0 - bne _080201F6 - movs r0, 0x1 - strh r0, [r2] -_080201F6: - ldr r0, _08020248 @ =gExpShareExp - strh r6, [r0] -_080201FA: - ldr r1, _0802024C @ =0x02000000 - ldr r3, _08020250 @ =0x0001600f - adds r2, r1, r3 - ldrb r0, [r2] - adds r0, 0x1 - movs r3, 0 - strb r0, [r2] - ldr r2, _08020254 @ =0x00016018 - adds r0, r1, r2 - strb r3, [r0] - ldr r3, _08020258 @ =0x0001605f - adds r1, r3 - mov r0, r8 - strb r0, [r1] -_08020216: - ldr r0, _0802025C @ =gBattleExecBuffer - ldr r0, [r0] - cmp r0, 0 - beq _08020220 - b _08020996 -_08020220: - ldr r0, _0802024C @ =0x02000000 - ldr r1, _08020254 @ =0x00016018 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08020260 @ =gPlayerParty - adds r0, r1 - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xAF - bne _0802026C - ldr r0, _08020264 @ =gSaveBlock1 - ldr r2, _08020268 @ =0x00003688 - adds r0, r2 - ldrb r4, [r0] - b _08020274 - .align 2, 0 -_08020248: .4byte gExpShareExp -_0802024C: .4byte 0x02000000 -_08020250: .4byte 0x0001600f -_08020254: .4byte 0x00016018 -_08020258: .4byte 0x0001605f -_0802025C: .4byte gBattleExecBuffer -_08020260: .4byte gPlayerParty -_08020264: .4byte gSaveBlock1 -_08020268: .4byte 0x00003688 -_0802026C: - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r4, r0, 24 -_08020274: - ldr r5, _08020294 @ =0x02000000 - cmp r4, 0x19 - beq _080202A0 - ldr r3, _08020298 @ =0x0001605f - adds r1, r5, r3 - ldrb r0, [r1] - movs r2, 0x1 - ands r2, r0 - cmp r2, 0 - bne _080202A0 - lsrs r0, 1 - strb r0, [r1] - ldr r0, _0802029C @ =0x0001600f - adds r1, r5, r0 - b _080202C8 - .align 2, 0 -_08020294: .4byte 0x02000000 -_08020298: .4byte 0x0001605f -_0802029C: .4byte 0x0001600f -_080202A0: - ldr r1, _080202D4 @ =0x00016018 - adds r0, r5, r1 - ldrb r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080202D8 @ =gPlayerParty - adds r0, r1 - movs r1, 0x38 - bl GetMonData - cmp r0, 0x64 - bne _080202E8 - ldr r2, _080202DC @ =0x0001605f - adds r1, r5, r2 - ldrb r0, [r1] - lsrs r0, 1 - movs r2, 0 - strb r0, [r1] - ldr r3, _080202E0 @ =0x0001600f - adds r1, r5, r3 -_080202C8: - movs r0, 0x5 - strb r0, [r1] - ldr r0, _080202E4 @ =gBattleMoveDamage - str r2, [r0] - b _08020996 - .align 2, 0 -_080202D4: .4byte 0x00016018 -_080202D8: .4byte gPlayerParty -_080202DC: .4byte 0x0001605f -_080202E0: .4byte 0x0001600f -_080202E4: .4byte gBattleMoveDamage -_080202E8: - ldr r0, _0802034C @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - bne _08020316 - ldr r0, _08020350 @ =gBattleMons - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _08020316 - ldr r0, _08020354 @ =0x0001601b - adds r5, r0 - ldrb r0, [r5] - cmp r0, 0 - bne _08020316 - bl sub_80325B8 - ldr r0, _08020358 @ =0x00000161 - bl PlayBGM - ldrb r0, [r5] - adds r0, 0x1 - strb r0, [r5] -_08020316: - ldr r5, _0802035C @ =0x02000000 - ldr r1, _08020360 @ =0x00016018 - adds r0, r5, r1 - ldrb r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08020364 @ =gPlayerParty - adds r0, r1 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - bne _08020332 - b _0802051E -_08020332: - ldr r2, _08020368 @ =0x0001605f - adds r0, r5, r2 - ldrb r0, [r0] - movs r3, 0x1 - ands r3, r0 - cmp r3, 0 - beq _08020370 - ldr r1, _0802036C @ =gBattleMoveDamage - mov r3, r10 - ldrh r0, [r3] - str r0, [r1] - mov r8, r1 - b _08020376 - .align 2, 0 -_0802034C: .4byte gBattleTypeFlags -_08020350: .4byte gBattleMons -_08020354: .4byte 0x0001601b -_08020358: .4byte 0x00000161 -_0802035C: .4byte 0x02000000 -_08020360: .4byte 0x00016018 -_08020364: .4byte gPlayerParty -_08020368: .4byte 0x0001605f -_0802036C: .4byte gBattleMoveDamage -_08020370: - ldr r0, _080203EC @ =gBattleMoveDamage - str r3, [r0] - mov r8, r0 -_08020376: - cmp r4, 0x19 - bne _08020386 - ldr r0, _080203F0 @ =gExpShareExp - ldrh r1, [r0] - mov r2, r8 - ldr r0, [r2] - adds r0, r1 - str r0, [r2] -_08020386: - cmp r4, 0x28 - bne _0802039C - mov r3, r8 - ldr r1, [r3] - movs r0, 0x96 - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - mov r1, r8 - str r0, [r1] -_0802039C: - ldr r0, _080203F4 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080203B8 - ldr r4, _080203EC @ =gBattleMoveDamage - ldr r1, [r4] - movs r0, 0x96 - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - str r0, [r4] -_080203B8: - ldr r0, _080203F8 @ =0x02000000 - ldr r2, _080203FC @ =0x00016018 - adds r0, r2 - ldrb r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08020400 @ =gPlayerParty - adds r0, r1 - bl IsTradedMon - lsls r0, 24 - cmp r0, 0 - beq _08020404 - ldr r4, _080203EC @ =gBattleMoveDamage - ldr r1, [r4] - movs r0, 0x96 - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - str r0, [r4] - movs r7, 0xA5 - lsls r7, 1 - mov r8, r4 - b _0802040A - .align 2, 0 -_080203EC: .4byte gBattleMoveDamage -_080203F0: .4byte gExpShareExp -_080203F4: .4byte gBattleTypeFlags -_080203F8: .4byte 0x02000000 -_080203FC: .4byte 0x00016018 -_08020400: .4byte gPlayerParty -_08020404: - ldr r7, _0802043C @ =0x00000149 - ldr r3, _08020440 @ =gBattleMoveDamage - mov r8, r3 -_0802040A: - ldr r0, _08020444 @ =gBattleTypeFlags - ldrh r0, [r0] - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - beq _08020488 - ldr r1, _08020448 @ =gBattlePartyID - ldr r0, _0802044C @ =0x02000000 - ldr r3, _08020450 @ =0x00016018 - adds r2, r0, r3 - ldrh r1, [r1, 0x4] - adds r5, r0, 0 - ldr r4, _08020454 @ =gBitTable - ldr r3, _08020458 @ =gAbsentBankFlags - ldrb r2, [r2] - cmp r1, r2 - bne _08020460 - ldrb r1, [r3] - ldr r0, [r4, 0x8] - ands r1, r0 - cmp r1, 0 - bne _08020460 - ldr r0, _0802045C @ =0x000160a2 - adds r1, r5, r0 - b _0802047C - .align 2, 0 -_0802043C: .4byte 0x00000149 -_08020440: .4byte gBattleMoveDamage -_08020444: .4byte gBattleTypeFlags -_08020448: .4byte gBattlePartyID -_0802044C: .4byte 0x02000000 -_08020450: .4byte 0x00016018 -_08020454: .4byte gBitTable -_08020458: .4byte gAbsentBankFlags -_0802045C: .4byte 0x000160a2 -_08020460: - ldrb r2, [r3] - ldr r0, [r4] - ands r2, r0 - cmp r2, 0 - bne _08020478 - ldr r1, _08020474 @ =0x000160a2 - adds r0, r5, r1 - strb r2, [r0] - b _08020490 - .align 2, 0 -_08020474: .4byte 0x000160a2 -_08020478: - ldr r2, _08020484 @ =0x000160a2 - adds r1, r5, r2 -_0802047C: - movs r0, 0x2 - strb r0, [r1] - b _08020490 - .align 2, 0 -_08020484: .4byte 0x000160a2 -_08020488: - ldr r0, _08020530 @ =0x02000000 - ldr r3, _08020534 @ =0x000160a2 - adds r0, r3 - strb r1, [r0] -_08020490: - ldr r1, _08020538 @ =gBattleTextBuff1 - movs r3, 0 - movs r2, 0xFD - strb r2, [r1] - movs r5, 0x4 - strb r5, [r1, 0x1] - ldr r4, _08020530 @ =0x02000000 - ldr r0, _08020534 @ =0x000160a2 - adds r6, r4, r0 - ldrb r0, [r6] - strb r0, [r1, 0x2] - ldr r0, _0802053C @ =0x00016018 - adds r4, r0 - ldrb r0, [r4] - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldr r1, _08020540 @ =gBattleTextBuff2 - strb r2, [r1] - strb r3, [r1, 0x1] - strb r7, [r1, 0x2] - movs r3, 0xFF - lsls r3, 8 - ands r7, r3 - asrs r0, r7, 8 - strb r0, [r1, 0x3] - movs r0, 0x1 - negs r0, r0 - strb r0, [r1, 0x4] - ldr r1, _08020544 @ =gBattleTextBuff3 - strb r2, [r1] - movs r0, 0x1 - strb r0, [r1, 0x1] - strb r5, [r1, 0x2] - movs r0, 0x5 - strb r0, [r1, 0x3] - mov r0, r8 - ldr r2, [r0] - strb r2, [r1, 0x4] - adds r0, r2, 0 - ands r0, r3 - asrs r0, 8 - strb r0, [r1, 0x5] - movs r0, 0xFF - lsls r0, 16 - ands r0, r2 - asrs r0, 16 - strb r0, [r1, 0x6] - lsrs r2, 24 - strb r2, [r1, 0x7] - movs r0, 0x1 - negs r0, r0 - strb r0, [r1, 0x8] - ldrb r1, [r6] - movs r0, 0xD - bl PrepareStringBattle - ldrb r1, [r4] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08020548 @ =gPlayerParty - adds r0, r1 - ldr r3, _0802054C @ =gBattleMons - ldr r1, _08020550 @ =gBank1 - ldrb r2, [r1] - movs r1, 0x58 - muls r1, r2 - adds r1, r3 - ldrh r1, [r1] - bl MonGainEVs -_0802051E: - ldr r1, _08020530 @ =0x02000000 - ldr r3, _08020554 @ =0x0001605f - adds r2, r1, r3 - ldrb r0, [r2] - lsrs r0, 1 - strb r0, [r2] - ldr r0, _08020558 @ =0x0001600f - adds r1, r0 - b _08020618 - .align 2, 0 -_08020530: .4byte 0x02000000 -_08020534: .4byte 0x000160a2 -_08020538: .4byte gBattleTextBuff1 -_0802053C: .4byte 0x00016018 -_08020540: .4byte gBattleTextBuff2 -_08020544: .4byte gBattleTextBuff3 -_08020548: .4byte gPlayerParty -_0802054C: .4byte gBattleMons -_08020550: .4byte gBank1 -_08020554: .4byte 0x0001605f -_08020558: .4byte 0x0001600f -_0802055C: - ldr r0, _08020620 @ =gBattleExecBuffer - ldr r2, [r0] - cmp r2, 0 - beq _08020566 - b _08020996 -_08020566: - ldr r1, _08020624 @ =gBattleBufferB - ldr r4, _08020628 @ =0x02000000 - ldr r3, _0802062C @ =0x000160a2 - adds r3, r4 - mov r8, r3 - ldrb r0, [r3] - lsls r0, 9 - adds r0, r1 - strb r2, [r0] - ldr r0, _08020630 @ =0x00016018 - adds r7, r4, r0 - ldrb r0, [r7] - movs r6, 0x64 - muls r0, r6 - ldr r5, _08020634 @ =gPlayerParty - adds r0, r5 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _08020612 - ldrb r0, [r7] - muls r0, r6 - adds r0, r5 - movs r1, 0x38 - bl GetMonData - cmp r0, 0x64 - beq _08020612 - ldrb r0, [r7] - muls r0, r6 - adds r0, r5 - movs r1, 0x3A - bl GetMonData - ldr r1, _08020638 @ =0x00017180 - adds r4, r1 - strh r0, [r4] - ldrb r0, [r7] - muls r0, r6 - adds r0, r5 - movs r1, 0x3B - bl GetMonData - strh r0, [r4, 0x2] - ldrb r0, [r7] - muls r0, r6 - adds r0, r5 - movs r1, 0x3C - bl GetMonData - strh r0, [r4, 0x4] - ldrb r0, [r7] - muls r0, r6 - adds r0, r5 - movs r1, 0x3D - bl GetMonData - strh r0, [r4, 0x6] - ldrb r0, [r7] - muls r0, r6 - adds r0, r5 - movs r1, 0x3E - bl GetMonData - strh r0, [r4, 0x8] - ldrb r0, [r7] - muls r0, r6 - adds r0, r5 - movs r1, 0x3F - bl GetMonData - strh r0, [r4, 0xA] - ldr r4, _0802063C @ =gActiveBank - mov r2, r8 - ldrb r0, [r2] - strb r0, [r4] - ldrb r1, [r7] - ldr r0, _08020640 @ =gBattleMoveDamage - ldrh r2, [r0] - movs r0, 0 - bl EmitExpBarUpdate - ldrb r0, [r4] - bl MarkBufferBankForExecution -_08020612: - ldr r1, _08020628 @ =0x02000000 - ldr r3, _08020644 @ =0x0001600f - adds r1, r3 -_08020618: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08020996 - .align 2, 0 -_08020620: .4byte gBattleExecBuffer -_08020624: .4byte gBattleBufferB -_08020628: .4byte 0x02000000 -_0802062C: .4byte 0x000160a2 -_08020630: .4byte 0x00016018 -_08020634: .4byte gPlayerParty -_08020638: .4byte 0x00017180 -_0802063C: .4byte gActiveBank -_08020640: .4byte gBattleMoveDamage -_08020644: .4byte 0x0001600f -_08020648: - ldr r0, _080208AC @ =gBattleExecBuffer - ldr r0, [r0] - cmp r0, 0 - beq _08020652 - b _08020996 -_08020652: - ldr r1, _080208B0 @ =gActiveBank - ldr r4, _080208B4 @ =0x02000000 - ldr r2, _080208B8 @ =0x000160a2 - adds r0, r4, r2 - ldrb r0, [r0] - strb r0, [r1] - ldr r2, _080208BC @ =gBattleBufferB - ldrb r3, [r1] - lsls r1, r3, 9 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0x21 - beq _0802066E - b _080208F0 -_0802066E: - adds r0, r2, 0x1 - adds r0, r1, r0 - ldrb r0, [r0] - cmp r0, 0xB - beq _0802067A - b _080208F0 -_0802067A: - ldr r0, _080208C0 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080206A8 - ldr r1, _080208C4 @ =gBattlePartyID - lsls r0, r3, 1 - adds r2, r0, r1 - ldr r0, _080208C8 @ =0x00016018 - adds r1, r4, r0 - ldrh r0, [r2] - ldrb r1, [r1] - cmp r0, r1 - bne _080206A8 - adds r1, r0, 0 - movs r0, 0x64 - muls r0, r1 - ldr r1, _080208CC @ =gPlayerParty - adds r0, r1 - adds r1, r3, 0 - bl sub_80324F8 -_080206A8: - ldr r1, _080208D0 @ =gBattleTextBuff1 - movs r2, 0xFD - strb r2, [r1] - movs r0, 0x4 - strb r0, [r1, 0x1] - ldr r5, _080208B0 @ =gActiveBank - ldrb r0, [r5] - strb r0, [r1, 0x2] - ldr r0, _080208B4 @ =0x02000000 - ldr r3, _080208C8 @ =0x00016018 - adds r6, r0, r3 - ldrb r0, [r6] - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldr r4, _080208D4 @ =gBattleTextBuff2 - strb r2, [r4] - movs r0, 0x1 - strb r0, [r4, 0x1] - strb r0, [r4, 0x2] - movs r0, 0x3 - strb r0, [r4, 0x3] - ldrb r0, [r6] - movs r1, 0x64 - mov r8, r1 - mov r2, r8 - muls r2, r0 - adds r0, r2, 0 - ldr r7, _080208CC @ =gPlayerParty - adds r0, r7 - movs r1, 0x38 - bl GetMonData - strb r0, [r4, 0x4] - movs r0, 0x1 - negs r0, r0 - strb r0, [r4, 0x5] - bl b_movescr_stack_push_cursor - ldr r2, _080208D8 @ =gLeveledUpInBattle - ldr r1, _080208DC @ =gBitTable - ldrb r0, [r6] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - ldrb r1, [r2] - orrs r0, r1 - strb r0, [r2] - ldr r1, _080208E0 @ =gBattlescriptCurrInstr - ldr r0, _080208E4 @ =BattleScript_LevelUp - str r0, [r1] - ldr r4, _080208E8 @ =gBattleMoveDamage - ldr r2, _080208BC @ =gBattleBufferB - ldrb r1, [r5] - lsls r1, 9 - adds r0, r2, 0x2 - adds r0, r1, r0 - ldrb r3, [r0] - adds r2, 0x3 - adds r1, r2 - ldrb r0, [r1] - lsls r0, 8 - orrs r3, r0 - str r3, [r4] - ldrb r0, [r6] - mov r3, r8 - muls r3, r0 - adds r0, r3, 0 - adds r0, r7 - movs r1, 0 - bl AdjustFriendship - ldr r0, _080208C4 @ =gBattlePartyID - ldrb r1, [r6] - ldrh r0, [r0] - cmp r0, r1 - bne _080207EC - ldr r4, _080208EC @ =gBattleMons - ldrh r0, [r4, 0x28] - cmp r0, 0 - beq _080207EC - mov r0, r8 - muls r0, r1 - adds r0, r7 - movs r1, 0x38 - bl GetMonData - adds r1, r4, 0 - adds r1, 0x2A - strb r0, [r1] - ldrb r0, [r6] - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - adds r0, r7 - movs r1, 0x39 - bl GetMonData - strh r0, [r4, 0x28] - ldrb r0, [r6] - mov r2, r8 - muls r2, r0 - adds r0, r2, 0 - adds r0, r7 - movs r1, 0x3A - bl GetMonData - strh r0, [r4, 0x2C] - ldrb r0, [r6] - mov r3, r8 - muls r3, r0 - adds r0, r3, 0 - adds r0, r7 - movs r1, 0x3B - bl GetMonData - strh r0, [r4, 0x2] - ldrb r0, [r6] - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - adds r0, r7 - movs r1, 0x3C - bl GetMonData - strh r0, [r4, 0x4] - ldrb r0, [r6] - mov r2, r8 - muls r2, r0 - adds r0, r2, 0 - adds r0, r7 - movs r1, 0x3D - bl GetMonData - strh r0, [r4, 0x6] - ldrb r0, [r6] - mov r3, r8 - muls r3, r0 - adds r0, r3, 0 - adds r0, r7 - movs r1, 0x3D - bl GetMonData - strh r0, [r4, 0x6] - ldrb r0, [r6] - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - adds r0, r7 - movs r1, 0x3E - bl GetMonData - strh r0, [r4, 0x8] - ldrb r0, [r6] - mov r2, r8 - muls r2, r0 - adds r0, r2, 0 - adds r0, r7 - movs r1, 0x3F - bl GetMonData - strh r0, [r4, 0xA] -_080207EC: - ldr r0, _080208C4 @ =gBattlePartyID - ldr r1, _080208B4 @ =0x02000000 - ldr r3, _080208C8 @ =0x00016018 - adds r7, r1, r3 - ldrb r2, [r7] - ldrh r0, [r0, 0x4] - cmp r0, r2 - bne _080208F6 - ldr r6, _080208EC @ =gBattleMons - movs r0, 0xD8 - adds r0, r6 - mov r8, r0 - ldrh r0, [r0] - cmp r0, 0 - beq _080208F6 - ldr r0, _080208C0 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080208F6 - movs r5, 0x64 - adds r0, r2, 0 - muls r0, r5 - ldr r4, _080208CC @ =gPlayerParty - adds r0, r4 - movs r1, 0x38 - bl GetMonData - adds r1, r6, 0 - adds r1, 0xDA - strb r0, [r1] - ldrb r0, [r7] - muls r0, r5 - adds r0, r4 - movs r1, 0x39 - bl GetMonData - mov r1, r8 - strh r0, [r1] - ldrb r0, [r7] - muls r0, r5 - adds r0, r4 - movs r1, 0x3A - bl GetMonData - adds r1, r6, 0 - adds r1, 0xDC - strh r0, [r1] - ldrb r0, [r7] - muls r0, r5 - adds r0, r4 - movs r1, 0x3B - bl GetMonData - adds r1, r6, 0 - adds r1, 0xB2 - strh r0, [r1] - ldrb r0, [r7] - muls r0, r5 - adds r0, r4 - movs r1, 0x3C - bl GetMonData - adds r1, r6, 0 - adds r1, 0xB4 - strh r0, [r1] - ldrb r0, [r7] - muls r0, r5 - adds r0, r4 - movs r1, 0x3D - bl GetMonData - movs r2, 0xB6 - adds r2, r6 - mov r8, r2 - strh r0, [r2] - ldrb r0, [r7] - muls r0, r5 - adds r0, r4 - movs r1, 0x3D - bl GetMonData - mov r3, r8 - strh r0, [r3] - ldrb r0, [r7] - muls r0, r5 - adds r0, r4 - movs r1, 0x3E - bl GetMonData - adds r1, r6, 0 - adds r1, 0xB8 - strh r0, [r1] - b _080208F6 - .align 2, 0 -_080208AC: .4byte gBattleExecBuffer -_080208B0: .4byte gActiveBank -_080208B4: .4byte 0x02000000 -_080208B8: .4byte 0x000160a2 -_080208BC: .4byte gBattleBufferB -_080208C0: .4byte gBattleTypeFlags -_080208C4: .4byte gBattlePartyID -_080208C8: .4byte 0x00016018 -_080208CC: .4byte gPlayerParty -_080208D0: .4byte gBattleTextBuff1 -_080208D4: .4byte gBattleTextBuff2 -_080208D8: .4byte gLeveledUpInBattle -_080208DC: .4byte gBitTable -_080208E0: .4byte gBattlescriptCurrInstr -_080208E4: .4byte BattleScript_LevelUp -_080208E8: .4byte gBattleMoveDamage -_080208EC: .4byte gBattleMons -_080208F0: - ldr r1, _08020904 @ =gBattleMoveDamage - movs r0, 0 - str r0, [r1] -_080208F6: - ldr r0, _08020908 @ =0x02000000 - ldr r1, _0802090C @ =0x0001600f - adds r0, r1 - movs r1, 0x5 - strb r1, [r0] - b _08020996 - .align 2, 0 -_08020904: .4byte gBattleMoveDamage -_08020908: .4byte 0x02000000 -_0802090C: .4byte 0x0001600f -_08020910: - ldr r0, _08020924 @ =gBattleMoveDamage - ldr r0, [r0] - cmp r0, 0 - beq _08020930 - ldr r0, _08020928 @ =0x02000000 - ldr r2, _0802092C @ =0x0001600f - adds r0, r2 - movs r1, 0x3 - strb r1, [r0] - b _08020996 - .align 2, 0 -_08020924: .4byte gBattleMoveDamage -_08020928: .4byte 0x02000000 -_0802092C: .4byte 0x0001600f -_08020930: - ldr r2, _08020950 @ =0x02000000 - ldr r3, _08020954 @ =0x00016018 - adds r1, r2, r3 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bhi _0802095C - ldr r0, _08020958 @ =0x0001600f - adds r1, r2, r0 - movs r0, 0x2 - strb r0, [r1] - b _08020996 - .align 2, 0 -_08020950: .4byte 0x02000000 -_08020954: .4byte 0x00016018 -_08020958: .4byte 0x0001600f -_0802095C: - ldr r3, _08020968 @ =0x0001600f - adds r1, r2, r3 - movs r0, 0x6 - strb r0, [r1] - b _08020996 - .align 2, 0 -_08020968: .4byte 0x0001600f -_0802096C: - ldr r0, _080209A4 @ =gBattleExecBuffer - ldr r5, [r0] - cmp r5, 0 - bne _08020996 - ldr r4, _080209A8 @ =gBattleMons - ldr r2, _080209AC @ =gBank1 - ldrb r0, [r2] - movs r1, 0x58 - muls r0, r1 - adds r0, r4 - movs r3, 0 - strh r5, [r0, 0x2E] - ldrb r0, [r2] - muls r0, r1 - adds r0, r4 - adds r0, 0x20 - strb r3, [r0] - ldr r1, _080209B0 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] -_08020996: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080209A4: .4byte gBattleExecBuffer -_080209A8: .4byte gBattleMons -_080209AC: .4byte gBank1 -_080209B0: .4byte gBattlescriptCurrInstr - thumb_func_end atk23_getexp - - thumb_func_start atk24 -atk24: @ 80209B4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r6, 0 - ldr r0, _08020AF0 @ =gBattleExecBuffer - ldr r0, [r0] - cmp r0, 0 - beq _080209C6 - b _08020B46 -_080209C6: - movs r5, 0 -_080209C8: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _08020AF4 @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _080209F8 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _080209F8 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - adds r0, r6, r0 - lsls r0, 16 - lsrs r6, r0, 16 -_080209F8: - adds r5, 0x1 - cmp r5, 0x5 - ble _080209C8 - cmp r6, 0 - bne _08020A0C - ldr r0, _08020AF8 @ =gBattleOutcome - ldrb r1, [r0] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r0] -_08020A0C: - movs r6, 0 - movs r5, 0 -_08020A10: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _08020AFC @ =gEnemyParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _08020A40 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _08020A40 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - adds r0, r6, r0 - lsls r0, 16 - lsrs r6, r0, 16 -_08020A40: - adds r5, 0x1 - cmp r5, 0x5 - ble _08020A10 - ldr r2, _08020AF8 @ =gBattleOutcome - cmp r6, 0 - bne _08020A54 - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] -_08020A54: - ldrb r0, [r2] - cmp r0, 0 - bne _08020B3E - ldr r2, _08020B00 @ =gBattleTypeFlags - ldrh r1, [r2] - movs r0, 0x2 - ands r0, r1 - mov r8, r2 - cmp r0, 0 - beq _08020B3E - movs r2, 0 - movs r5, 0 - ldr r0, _08020B04 @ =gNoOfAllBanks - ldrb r3, [r0] - mov r12, r0 - ldr r7, _08020B08 @ =gBattlescriptCurrInstr - cmp r2, r3 - bge _08020AA0 - ldr r0, _08020B0C @ =gHitMarker - movs r1, 0x80 - lsls r1, 21 - ldr r6, [r0] - adds r4, r3, 0 - ldr r3, _08020B10 @ =gSpecialStatuses -_08020A84: - adds r0, r1, 0 - lsls r0, r5 - ands r0, r6 - cmp r0, 0 - beq _08020A98 - ldrb r0, [r3] - lsls r0, 25 - cmp r0, 0 - blt _08020A98 - adds r2, 0x1 -_08020A98: - adds r3, 0x28 - adds r5, 0x2 - cmp r5, r4 - blt _08020A84 -_08020AA0: - movs r4, 0 - movs r5, 0x1 - mov r0, r12 - ldrb r3, [r0] - cmp r5, r3 - bge _08020ADA - ldr r0, _08020B0C @ =gHitMarker - movs r1, 0x80 - lsls r1, 21 - mov r12, r1 - ldr r1, [r0] - ldr r0, _08020B10 @ =gSpecialStatuses - adds r6, r3, 0 - adds r3, r0, 0 - adds r3, 0x14 -_08020ABE: - mov r0, r12 - lsls r0, r5 - ands r0, r1 - cmp r0, 0 - beq _08020AD2 - ldrb r0, [r3] - lsls r0, 25 - cmp r0, 0 - blt _08020AD2 - adds r4, 0x1 -_08020AD2: - adds r3, 0x28 - adds r5, 0x2 - cmp r5, r6 - blt _08020ABE -_08020ADA: - mov r0, r8 - ldrh r1, [r0] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08020B14 - adds r0, r4, r2 - cmp r0, 0x1 - bgt _08020B1C - b _08020B36 - .align 2, 0 -_08020AF0: .4byte gBattleExecBuffer -_08020AF4: .4byte gPlayerParty -_08020AF8: .4byte gBattleOutcome -_08020AFC: .4byte gEnemyParty -_08020B00: .4byte gBattleTypeFlags -_08020B04: .4byte gNoOfAllBanks -_08020B08: .4byte gBattlescriptCurrInstr -_08020B0C: .4byte gHitMarker -_08020B10: .4byte gSpecialStatuses -_08020B14: - cmp r4, 0 - beq _08020B36 - cmp r2, 0 - beq _08020B36 -_08020B1C: - ldr r2, [r7] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - adds r1, r0 - str r1, [r7] - b _08020B46 -_08020B36: - ldr r0, [r7] - adds r0, 0x5 - str r0, [r7] - b _08020B46 -_08020B3E: - ldr r1, _08020B50 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_08020B46: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08020B50: .4byte gBattlescriptCurrInstr - thumb_func_end atk24 - - thumb_func_start sub_8020B54 -sub_8020B54: @ 8020B54 - ldr r1, _08020B80 @ =gBattleMoveFlags - movs r0, 0 - strb r0, [r1] - ldr r0, _08020B84 @ =0x02000000 - ldr r1, _08020B88 @ =0x0001601f - adds r0, r1 - movs r2, 0 - movs r1, 0x1 - strb r1, [r0] - ldr r0, _08020B8C @ =gCritMultiplier - strb r1, [r0] - ldr r0, _08020B90 @ =gBattleCommunication - strb r2, [r0, 0x3] - strb r2, [r0, 0x6] - ldr r2, _08020B94 @ =gHitMarker - ldr r0, [r2] - subs r1, 0x42 - ands r0, r1 - ldr r1, _08020B98 @ =0xffffbfff - ands r0, r1 - str r0, [r2] - bx lr - .align 2, 0 -_08020B80: .4byte gBattleMoveFlags -_08020B84: .4byte 0x02000000 -_08020B88: .4byte 0x0001601f -_08020B8C: .4byte gCritMultiplier -_08020B90: .4byte gBattleCommunication -_08020B94: .4byte gHitMarker -_08020B98: .4byte 0xffffbfff - thumb_func_end sub_8020B54 - - thumb_func_start atk25_move_values_cleanup -atk25_move_values_cleanup: @ 8020B9C - push {lr} - bl sub_8020B54 - ldr r1, _08020BB0 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08020BB0: .4byte gBattlescriptCurrInstr - thumb_func_end atk25_move_values_cleanup - - thumb_func_start atk26_set_multihit -atk26_set_multihit: @ 8020BB4 - ldr r3, _08020BC4 @ =gMultiHitCounter - ldr r2, _08020BC8 @ =gBattlescriptCurrInstr - ldr r0, [r2] - ldrb r1, [r0, 0x1] - strb r1, [r3] - adds r0, 0x2 - str r0, [r2] - bx lr - .align 2, 0 -_08020BC4: .4byte gMultiHitCounter -_08020BC8: .4byte gBattlescriptCurrInstr - thumb_func_end atk26_set_multihit - - thumb_func_start atk27_decrement_multihit -atk27_decrement_multihit: @ 8020BCC - push {lr} - ldr r1, _08020BE8 @ =gMultiHitCounter - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] - lsls r0, 24 - cmp r0, 0 - bne _08020BF0 - ldr r1, _08020BEC @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _08020C0A - .align 2, 0 -_08020BE8: .4byte gMultiHitCounter -_08020BEC: .4byte gBattlescriptCurrInstr -_08020BF0: - ldr r3, _08020C10 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - adds r1, r0 - str r1, [r3] -_08020C0A: - pop {r0} - bx r0 - .align 2, 0 -_08020C10: .4byte gBattlescriptCurrInstr - thumb_func_end atk27_decrement_multihit - - thumb_func_start atk28_goto -atk28_goto: @ 8020C14 - ldr r3, _08020C30 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - adds r1, r0 - str r1, [r3] - bx lr - .align 2, 0 -_08020C30: .4byte gBattlescriptCurrInstr - thumb_func_end atk28_goto - - thumb_func_start atk29_jumpifbyte -atk29_jumpifbyte: @ 8020C34 - push {r4-r6,lr} - ldr r3, _08020C78 @ =gBattlescriptCurrInstr - ldr r1, [r3] - ldrb r6, [r1, 0x1] - ldrb r2, [r1, 0x2] - ldrb r0, [r1, 0x3] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r1, 0x4] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r1, 0x5] - lsls r0, 24 - adds r5, r2, r0 - ldrb r4, [r1, 0x6] - ldrb r2, [r1, 0x7] - ldrb r0, [r1, 0x8] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r1, 0x9] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r1, 0xA] - lsls r0, 24 - adds r2, r0 - adds r1, 0xB - str r1, [r3] - cmp r6, 0x5 - bhi _08020CCC - lsls r0, r6, 2 - ldr r1, _08020C7C @ =_08020C80 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08020C78: .4byte gBattlescriptCurrInstr -_08020C7C: .4byte _08020C80 - .align 2, 0 -_08020C80: - .4byte _08020C98 - .4byte _08020CA0 - .4byte _08020CA8 - .4byte _08020CB0 - .4byte _08020CB8 - .4byte _08020CC2 -_08020C98: - ldrb r0, [r5] - cmp r0, r4 - bne _08020CCC - b _08020CCA -_08020CA0: - ldrb r0, [r5] - cmp r0, r4 - beq _08020CCC - b _08020CCA -_08020CA8: - ldrb r0, [r5] - cmp r0, r4 - bls _08020CCC - b _08020CCA -_08020CB0: - ldrb r0, [r5] - cmp r0, r4 - bcs _08020CCC - b _08020CCA -_08020CB8: - ldrb r0, [r5] - ands r4, r0 - cmp r4, 0 - beq _08020CCC - b _08020CCA -_08020CC2: - ldrb r0, [r5] - ands r4, r0 - cmp r4, 0 - bne _08020CCC -_08020CCA: - str r2, [r3] -_08020CCC: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end atk29_jumpifbyte - - thumb_func_start atk2A_jumpifhalfword -atk2A_jumpifhalfword: @ 8020CD4 - push {r4-r6,lr} - ldr r3, _08020D20 @ =gBattlescriptCurrInstr - ldr r1, [r3] - ldrb r6, [r1, 0x1] - ldrb r2, [r1, 0x2] - ldrb r0, [r1, 0x3] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r1, 0x4] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r1, 0x5] - lsls r0, 24 - adds r5, r2, r0 - ldrb r4, [r1, 0x6] - ldrb r0, [r1, 0x7] - lsls r0, 8 - orrs r4, r0 - ldrb r2, [r1, 0x8] - ldrb r0, [r1, 0x9] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r1, 0xA] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r1, 0xB] - lsls r0, 24 - adds r2, r0 - adds r1, 0xC - str r1, [r3] - cmp r6, 0x5 - bhi _08020D74 - lsls r0, r6, 2 - ldr r1, _08020D24 @ =_08020D28 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08020D20: .4byte gBattlescriptCurrInstr -_08020D24: .4byte _08020D28 - .align 2, 0 -_08020D28: - .4byte _08020D40 - .4byte _08020D48 - .4byte _08020D50 - .4byte _08020D58 - .4byte _08020D60 - .4byte _08020D6A -_08020D40: - ldrh r0, [r5] - cmp r0, r4 - bne _08020D74 - b _08020D72 -_08020D48: - ldrh r0, [r5] - cmp r0, r4 - beq _08020D74 - b _08020D72 -_08020D50: - ldrh r0, [r5] - cmp r0, r4 - bls _08020D74 - b _08020D72 -_08020D58: - ldrh r0, [r5] - cmp r0, r4 - bcs _08020D74 - b _08020D72 -_08020D60: - ldrh r0, [r5] - ands r4, r0 - cmp r4, 0 - beq _08020D74 - b _08020D72 -_08020D6A: - ldrh r0, [r5] - ands r4, r0 - cmp r4, 0 - bne _08020D74 -_08020D72: - str r2, [r3] -_08020D74: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end atk2A_jumpifhalfword - - thumb_func_start atk2B_jumpifword -atk2B_jumpifword: @ 8020D7C - push {r4-r6,lr} - ldr r3, _08020DD4 @ =gBattlescriptCurrInstr - ldr r1, [r3] - ldrb r6, [r1, 0x1] - ldrb r2, [r1, 0x2] - ldrb r0, [r1, 0x3] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r1, 0x4] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r1, 0x5] - lsls r0, 24 - adds r5, r2, r0 - ldrb r4, [r1, 0x6] - ldrb r0, [r1, 0x7] - lsls r0, 8 - orrs r4, r0 - ldrb r0, [r1, 0x8] - lsls r0, 16 - orrs r4, r0 - ldrb r0, [r1, 0x9] - lsls r0, 24 - orrs r4, r0 - ldrb r2, [r1, 0xA] - ldrb r0, [r1, 0xB] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r1, 0xC] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r1, 0xD] - lsls r0, 24 - adds r2, r0 - adds r1, 0xE - str r1, [r3] - cmp r6, 0x5 - bhi _08020E28 - lsls r0, r6, 2 - ldr r1, _08020DD8 @ =_08020DDC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08020DD4: .4byte gBattlescriptCurrInstr -_08020DD8: .4byte _08020DDC - .align 2, 0 -_08020DDC: - .4byte _08020DF4 - .4byte _08020DFC - .4byte _08020E04 - .4byte _08020E0C - .4byte _08020E14 - .4byte _08020E1E -_08020DF4: - ldr r0, [r5] - cmp r0, r4 - bne _08020E28 - b _08020E26 -_08020DFC: - ldr r0, [r5] - cmp r0, r4 - beq _08020E28 - b _08020E26 -_08020E04: - ldr r0, [r5] - cmp r0, r4 - bls _08020E28 - b _08020E26 -_08020E0C: - ldr r0, [r5] - cmp r0, r4 - bcs _08020E28 - b _08020E26 -_08020E14: - ldr r0, [r5] - ands r0, r4 - cmp r0, 0 - beq _08020E28 - b _08020E26 -_08020E1E: - ldr r0, [r5] - ands r0, r4 - cmp r0, 0 - bne _08020E28 -_08020E26: - str r2, [r3] -_08020E28: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end atk2B_jumpifword - - thumb_func_start atk2C_jumpifarrayequal -atk2C_jumpifarrayequal: @ 8020E30 - push {r4-r7,lr} - ldr r2, _08020E88 @ =gBattlescriptCurrInstr - ldr r3, [r2] - ldrb r1, [r3, 0x1] - ldrb r0, [r3, 0x2] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r3, 0x3] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r3, 0x4] - lsls r0, 24 - adds r5, r1, r0 - ldrb r1, [r3, 0x5] - ldrb r0, [r3, 0x6] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r3, 0x7] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r3, 0x8] - lsls r0, 24 - adds r4, r1, r0 - ldrb r6, [r3, 0x9] - ldrb r1, [r3, 0xA] - ldrb r0, [r3, 0xB] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r3, 0xC] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r3, 0xD] - lsls r0, 24 - adds r1, r0 - mov r12, r1 - movs r1, 0 - cmp r1, r6 - bcs _08020EA8 - ldrb r0, [r5] - ldrb r7, [r4] - cmp r0, r7 - beq _08020E8C - adds r0, r3, 0 - b _08020EA4 - .align 2, 0 -_08020E88: .4byte gBattlescriptCurrInstr -_08020E8C: - adds r5, 0x1 - adds r4, 0x1 - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, r6 - bcs _08020EA8 - ldrb r0, [r5] - ldrb r3, [r4] - cmp r0, r3 - beq _08020E8C - ldr r0, [r2] -_08020EA4: - adds r0, 0xE - str r0, [r2] -_08020EA8: - cmp r1, r6 - bne _08020EB0 - mov r7, r12 - str r7, [r2] -_08020EB0: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end atk2C_jumpifarrayequal - - thumb_func_start atk2D_jumpifarraynotequal -atk2D_jumpifarraynotequal: @ 8020EB8 - push {r4-r7,lr} - movs r7, 0 - ldr r3, _08020F2C @ =gBattlescriptCurrInstr - ldr r1, [r3] - ldrb r2, [r1, 0x1] - ldrb r0, [r1, 0x2] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r1, 0x3] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r1, 0x4] - lsls r0, 24 - adds r5, r2, r0 - ldrb r2, [r1, 0x5] - ldrb r0, [r1, 0x6] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r1, 0x7] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r1, 0x8] - lsls r0, 24 - adds r4, r2, r0 - ldrb r6, [r1, 0x9] - ldrb r2, [r1, 0xA] - ldrb r0, [r1, 0xB] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r1, 0xC] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r1, 0xD] - lsls r0, 24 - adds r2, r0 - mov r12, r2 - movs r1, 0 - cmp r7, r6 - bcs _08020F22 -_08020F06: - ldrb r0, [r5] - ldrb r2, [r4] - cmp r0, r2 - bne _08020F14 - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 -_08020F14: - adds r5, 0x1 - adds r4, 0x1 - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, r6 - bcc _08020F06 -_08020F22: - cmp r7, r6 - beq _08020F30 - mov r0, r12 - b _08020F34 - .align 2, 0 -_08020F2C: .4byte gBattlescriptCurrInstr -_08020F30: - ldr r0, [r3] - adds r0, 0xE -_08020F34: - str r0, [r3] - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end atk2D_jumpifarraynotequal - - thumb_func_start atk2E_setbyte -atk2E_setbyte: @ 8020F3C - ldr r3, _08020F60 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - adds r1, r0 - ldrb r0, [r2, 0x5] - strb r0, [r1] - ldr r0, [r3] - adds r0, 0x6 - str r0, [r3] - bx lr - .align 2, 0 -_08020F60: .4byte gBattlescriptCurrInstr - thumb_func_end atk2E_setbyte - - thumb_func_start atk2F_addbyte -atk2F_addbyte: @ 8020F64 - ldr r3, _08020F8C @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - adds r1, r0 - ldrb r0, [r2, 0x5] - ldrb r2, [r1] - adds r0, r2 - strb r0, [r1] - ldr r0, [r3] - adds r0, 0x6 - str r0, [r3] - bx lr - .align 2, 0 -_08020F8C: .4byte gBattlescriptCurrInstr - thumb_func_end atk2F_addbyte - - thumb_func_start atk30_subbyte -atk30_subbyte: @ 8020F90 - ldr r3, _08020FB8 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - adds r1, r0 - ldrb r0, [r1] - ldrb r2, [r2, 0x5] - subs r0, r2 - strb r0, [r1] - ldr r0, [r3] - adds r0, 0x6 - str r0, [r3] - bx lr - .align 2, 0 -_08020FB8: .4byte gBattlescriptCurrInstr - thumb_func_end atk30_subbyte - - thumb_func_start atk31_copyarray -atk31_copyarray: @ 8020FBC - push {r4-r6,lr} - ldr r3, _0802100C @ =gBattlescriptCurrInstr - ldr r1, [r3] - ldrb r2, [r1, 0x1] - ldrb r0, [r1, 0x2] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r1, 0x3] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r1, 0x4] - lsls r0, 24 - adds r6, r2, r0 - ldrb r2, [r1, 0x5] - ldrb r0, [r1, 0x6] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r1, 0x7] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r1, 0x8] - lsls r0, 24 - adds r5, r2, r0 - ldrb r4, [r1, 0x9] - movs r2, 0 - cmp r2, r4 - bge _08021000 -_08020FF2: - adds r0, r6, r2 - adds r1, r5, r2 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, r4 - blt _08020FF2 -_08021000: - ldr r0, [r3] - adds r0, 0xA - str r0, [r3] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802100C: .4byte gBattlescriptCurrInstr - thumb_func_end atk31_copyarray - - thumb_func_start atk32_copyarray_withindex -atk32_copyarray_withindex: @ 8021010 - push {r4-r7,lr} - ldr r3, _08021078 @ =gBattlescriptCurrInstr - ldr r1, [r3] - ldrb r2, [r1, 0x1] - ldrb r0, [r1, 0x2] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r1, 0x3] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r1, 0x4] - lsls r0, 24 - adds r7, r2, r0 - ldrb r2, [r1, 0x5] - ldrb r0, [r1, 0x6] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r1, 0x7] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r1, 0x8] - lsls r0, 24 - adds r6, r2, r0 - ldrb r2, [r1, 0x9] - ldrb r0, [r1, 0xA] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r1, 0xB] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r1, 0xC] - lsls r0, 24 - adds r5, r2, r0 - ldrb r4, [r1, 0xD] - movs r2, 0 - cmp r2, r4 - bge _0802106C -_0802105A: - adds r0, r7, r2 - ldrb r1, [r5] - adds r1, r2, r1 - adds r1, r6, r1 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, r4 - blt _0802105A -_0802106C: - ldr r0, [r3] - adds r0, 0xE - str r0, [r3] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08021078: .4byte gBattlescriptCurrInstr - thumb_func_end atk32_copyarray_withindex - - thumb_func_start atk33_orbyte -atk33_orbyte: @ 802107C - ldr r3, _080210A4 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - adds r1, r0 - ldrb r0, [r1] - ldrb r2, [r2, 0x5] - orrs r0, r2 - strb r0, [r1] - ldr r0, [r3] - adds r0, 0x6 - str r0, [r3] - bx lr - .align 2, 0 -_080210A4: .4byte gBattlescriptCurrInstr - thumb_func_end atk33_orbyte - - thumb_func_start atk34_orhalfword -atk34_orhalfword: @ 80210A8 - push {r4,lr} - ldr r4, _080210DC @ =gBattlescriptCurrInstr - ldr r3, [r4] - ldrb r2, [r3, 0x1] - ldrb r0, [r3, 0x2] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r3, 0x3] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r3, 0x4] - lsls r0, 24 - adds r2, r0 - ldrb r1, [r3, 0x5] - ldrb r0, [r3, 0x6] - lsls r0, 8 - orrs r1, r0 - ldrh r0, [r2] - orrs r1, r0 - strh r1, [r2] - ldr r0, [r4] - adds r0, 0x7 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080210DC: .4byte gBattlescriptCurrInstr - thumb_func_end atk34_orhalfword - - thumb_func_start atk35_orword -atk35_orword: @ 80210E0 - push {r4,lr} - ldr r4, _08021120 @ =gBattlescriptCurrInstr - ldr r2, [r4] - ldrb r3, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - adds r3, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - adds r3, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - adds r3, r0 - ldrb r1, [r2, 0x5] - ldrb r0, [r2, 0x6] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x7] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x8] - lsls r0, 24 - adds r1, r0 - ldr r0, [r3] - orrs r0, r1 - str r0, [r3] - ldr r0, [r4] - adds r0, 0x9 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08021120: .4byte gBattlescriptCurrInstr - thumb_func_end atk35_orword - - thumb_func_start atk36_bicbyte -atk36_bicbyte: @ 8021124 - ldr r3, _0802114C @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - adds r1, r0 - ldrb r2, [r2, 0x5] - ldrb r0, [r1] - bics r0, r2 - strb r0, [r1] - ldr r0, [r3] - adds r0, 0x6 - str r0, [r3] - bx lr - .align 2, 0 -_0802114C: .4byte gBattlescriptCurrInstr - thumb_func_end atk36_bicbyte - - thumb_func_start atk37_bichalfword -atk37_bichalfword: @ 8021150 - push {r4,lr} - ldr r4, _08021184 @ =gBattlescriptCurrInstr - ldr r3, [r4] - ldrb r1, [r3, 0x1] - ldrb r0, [r3, 0x2] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r3, 0x3] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r3, 0x4] - lsls r0, 24 - adds r1, r0 - ldrb r2, [r3, 0x5] - ldrb r0, [r3, 0x6] - lsls r0, 8 - orrs r2, r0 - ldrh r0, [r1] - bics r0, r2 - strh r0, [r1] - ldr r0, [r4] - adds r0, 0x7 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08021184: .4byte gBattlescriptCurrInstr - thumb_func_end atk37_bichalfword - - thumb_func_start atk38_bicword -atk38_bicword: @ 8021188 - push {r4,lr} - ldr r4, _080211C8 @ =gBattlescriptCurrInstr - ldr r2, [r4] - ldrb r3, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - adds r3, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - adds r3, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - adds r3, r0 - ldrb r1, [r2, 0x5] - ldrb r0, [r2, 0x6] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x7] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x8] - lsls r0, 24 - adds r1, r0 - ldr r0, [r3] - bics r0, r1 - str r0, [r3] - ldr r0, [r4] - adds r0, 0x9 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080211C8: .4byte gBattlescriptCurrInstr - thumb_func_end atk38_bicword - - thumb_func_start atk39_pause -atk39_pause: @ 80211CC - push {r4,r5,lr} - ldr r0, _08021200 @ =gBattleExecBuffer - ldr r4, [r0] - cmp r4, 0 - bne _080211F8 - ldr r5, _08021204 @ =gBattlescriptCurrInstr - ldr r2, [r5] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldr r3, _08021208 @ =gPauseCounterBattle - ldrh r0, [r3] - adds r0, 0x1 - strh r0, [r3] - lsls r0, 16 - lsrs r0, 16 - cmp r0, r1 - bcc _080211F8 - strh r4, [r3] - adds r0, r2, 0x3 - str r0, [r5] -_080211F8: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08021200: .4byte gBattleExecBuffer -_08021204: .4byte gBattlescriptCurrInstr -_08021208: .4byte gPauseCounterBattle - thumb_func_end atk39_pause - - thumb_func_start atk3A_waitstate -atk3A_waitstate: @ 802120C - push {lr} - ldr r0, _08021224 @ =gBattleExecBuffer - ldr r0, [r0] - cmp r0, 0 - bne _0802121E - ldr r1, _08021228 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] -_0802121E: - pop {r0} - bx r0 - .align 2, 0 -_08021224: .4byte gBattleExecBuffer -_08021228: .4byte gBattlescriptCurrInstr - thumb_func_end atk3A_waitstate - - thumb_func_start atk3B_healthbar_update -atk3B_healthbar_update: @ 802122C - push {lr} - ldr r0, _08021240 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0 - bne _0802124C - ldr r0, _08021244 @ =gActiveBank - ldr r1, _08021248 @ =gBankTarget - b _08021250 - .align 2, 0 -_08021240: .4byte gBattlescriptCurrInstr -_08021244: .4byte gActiveBank -_08021248: .4byte gBankTarget -_0802124C: - ldr r0, _08021274 @ =gActiveBank - ldr r1, _08021278 @ =gBankAttacker -_08021250: - ldrb r1, [r1] - strb r1, [r0] - ldr r0, _0802127C @ =gBattleMoveDamage - ldrh r1, [r0] - movs r0, 0 - bl EmitHealthBarUpdate - ldr r0, _08021274 @ =gActiveBank - ldrb r0, [r0] - bl MarkBufferBankForExecution - ldr r1, _08021280 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08021274: .4byte gActiveBank -_08021278: .4byte gBankAttacker -_0802127C: .4byte gBattleMoveDamage -_08021280: .4byte gBattlescriptCurrInstr - thumb_func_end atk3B_healthbar_update - - thumb_func_start atk3C_return -atk3C_return: @ 8021284 - push {lr} - bl b_movescr_stack_pop_cursor - pop {r0} - bx r0 - thumb_func_end atk3C_return - - thumb_func_start atk3D_end -atk3D_end: @ 8021290 - ldr r0, _080212A4 @ =gBattleMoveFlags - movs r1, 0 - strb r1, [r0] - ldr r0, _080212A8 @ =gActiveBank - strb r1, [r0] - ldr r1, _080212AC @ =gFightStateTracker - movs r0, 0xB - strb r0, [r1] - bx lr - .align 2, 0 -_080212A4: .4byte gBattleMoveFlags -_080212A8: .4byte gActiveBank -_080212AC: .4byte gFightStateTracker - thumb_func_end atk3D_end - - thumb_func_start atk3E_end2 -atk3E_end2: @ 80212B0 - ldr r1, _080212C0 @ =gActiveBank - movs r0, 0 - strb r0, [r1] - ldr r1, _080212C4 @ =gFightStateTracker - movs r0, 0xB - strb r0, [r1] - bx lr - .align 2, 0 -_080212C0: .4byte gActiveBank -_080212C4: .4byte gFightStateTracker - thumb_func_end atk3E_end2 - - thumb_func_start atk3F_end3 -atk3F_end3: @ 80212C8 - push {lr} - bl b_movescr_stack_pop_cursor - ldr r2, _080212F0 @ =0x02017140 - adds r1, r2, 0 - adds r1, 0x20 - ldrb r0, [r1] - cmp r0, 0 - beq _080212DE - subs r0, 0x1 - strb r0, [r1] -_080212DE: - ldr r0, _080212F4 @ =gBattleMainFunc - ldrb r1, [r1] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - str r1, [r0] - pop {r0} - bx r0 - .align 2, 0 -_080212F0: .4byte 0x02017140 -_080212F4: .4byte gBattleMainFunc - thumb_func_end atk3F_end3 - - thumb_func_start atk41_call -atk41_call: @ 80212F8 - push {r4,lr} - ldr r4, _08021324 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x5 - bl b_movescr_stack_push - ldr r2, [r4] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08021324: .4byte gBattlescriptCurrInstr - thumb_func_end atk41_call - - thumb_func_start atk42_jumpiftype2 -atk42_jumpiftype2: @ 8021328 - push {r4,lr} - ldr r4, _08021370 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl sub_8015150 - lsls r0, 24 - lsrs r0, 24 - ldr r3, [r4] - ldr r2, _08021374 @ =gBattleMons - movs r1, 0x58 - muls r0, r1 - adds r0, r2 - adds r1, r0, 0 - adds r1, 0x21 - ldrb r2, [r3, 0x2] - ldrb r1, [r1] - cmp r2, r1 - beq _08021356 - adds r0, 0x22 - ldrb r0, [r0] - cmp r2, r0 - bne _08021378 -_08021356: - ldrb r1, [r3, 0x3] - ldrb r0, [r3, 0x4] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x6] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _0802137C - .align 2, 0 -_08021370: .4byte gBattlescriptCurrInstr -_08021374: .4byte gBattleMons -_08021378: - adds r0, r3, 0x7 - str r0, [r4] -_0802137C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end atk42_jumpiftype2 - - thumb_func_start atk43_jumpifabilitypresent -atk43_jumpifabilitypresent: @ 8021384 - push {r4,lr} - sub sp, 0x4 - ldr r4, _080213BC @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r2, [r0, 0x1] - movs r0, 0 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - beq _080213C0 - ldr r2, [r4] - ldrb r1, [r2, 0x2] - ldrb r0, [r2, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _080213C6 - .align 2, 0 -_080213BC: .4byte gBattlescriptCurrInstr -_080213C0: - ldr r0, [r4] - adds r0, 0x6 - str r0, [r4] -_080213C6: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end atk43_jumpifabilitypresent - - thumb_func_start atk44 -atk44: @ 80213D0 - ldr r1, _080213E4 @ =0x02000000 - ldr r0, _080213E8 @ =gBankAttacker - ldrb r0, [r0] - ldr r2, _080213EC @ =0x00016060 - adds r0, r2 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - bx lr - .align 2, 0 -_080213E4: .4byte 0x02000000 -_080213E8: .4byte gBankAttacker -_080213EC: .4byte 0x00016060 - thumb_func_end atk44 - - thumb_func_start atk45_playanimation -atk45_playanimation: @ 80213F0 - push {r4-r6,lr} - ldr r5, _08021444 @ =gBattlescriptCurrInstr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - bl sub_8015150 - ldr r6, _08021448 @ =gActiveBank - strb r0, [r6] - ldr r2, [r5] - ldrb r1, [r2, 0x3] - ldrb r0, [r2, 0x4] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x5] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x6] - lsls r0, 24 - adds r3, r1, r0 - ldrb r4, [r2, 0x2] - adds r0, r4, 0 - cmp r0, 0x1 - beq _08021426 - cmp r0, 0x11 - beq _08021426 - cmp r0, 0x2 - bne _0802144C -_08021426: - ldr r4, _08021444 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r1, [r0, 0x2] - ldrh r2, [r3] - movs r0, 0 - bl EmitBattleAnimation - ldr r0, _08021448 @ =gActiveBank - ldrb r0, [r0] - bl MarkBufferBankForExecution - ldr r0, [r4] - adds r0, 0x7 - str r0, [r4] - b _080214AE - .align 2, 0 -_08021444: .4byte gBattlescriptCurrInstr -_08021448: .4byte gActiveBank -_0802144C: - ldr r0, _08021464 @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0802146C - adds r0, r2, 0x7 - bl b_movescr_stack_push - ldr r0, _08021468 @ =BattleScript_Pausex20 - b _080214AC - .align 2, 0 -_08021464: .4byte gHitMarker -_08021468: .4byte BattleScript_Pausex20 -_0802146C: - adds r0, r4, 0 - subs r0, 0xA - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _08021498 - ldr r1, _08021490 @ =gStatuses3 - ldrb r0, [r6] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - ldr r1, _08021494 @ =0x000400c0 - ands r0, r1 - cmp r0, 0 - beq _08021498 - adds r0, r2, 0x7 - b _080214AC - .align 2, 0 -_08021490: .4byte gStatuses3 -_08021494: .4byte 0x000400c0 -_08021498: - ldrb r1, [r2, 0x2] - ldrh r2, [r3] - movs r0, 0 - bl EmitBattleAnimation - ldrb r0, [r6] - bl MarkBufferBankForExecution - ldr r0, [r5] - adds r0, 0x7 -_080214AC: - str r0, [r5] -_080214AE: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end atk45_playanimation - - thumb_func_start atk46_playanimation2 -atk46_playanimation2: @ 80214B4 - push {r4-r7,lr} - ldr r6, _0802151C @ =gBattlescriptCurrInstr - ldr r0, [r6] - ldrb r0, [r0, 0x1] - bl sub_8015150 - ldr r7, _08021520 @ =gActiveBank - strb r0, [r7] - ldr r2, [r6] - ldrb r1, [r2, 0x2] - ldrb r0, [r2, 0x3] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x5] - lsls r0, 24 - adds r3, r1, r0 - ldrb r1, [r2, 0x6] - ldrb r0, [r2, 0x7] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x8] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x9] - lsls r0, 24 - adds r4, r1, r0 - ldrb r5, [r3] - adds r0, r5, 0 - cmp r0, 0x1 - beq _080214FE - cmp r0, 0x11 - beq _080214FE - cmp r0, 0x2 - bne _08021524 -_080214FE: - ldrb r1, [r3] - ldrh r2, [r4] - movs r0, 0 - bl EmitBattleAnimation - ldr r0, _08021520 @ =gActiveBank - ldrb r0, [r0] - bl MarkBufferBankForExecution - ldr r1, _0802151C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0xA - str r0, [r1] - b _0802157A - .align 2, 0 -_0802151C: .4byte gBattlescriptCurrInstr -_08021520: .4byte gActiveBank -_08021524: - ldr r0, _08021534 @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08021538 - adds r0, r2, 0 - b _08021576 - .align 2, 0 -_08021534: .4byte gHitMarker -_08021538: - adds r0, r5, 0 - subs r0, 0xA - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _08021564 - ldr r1, _0802155C @ =gStatuses3 - ldrb r0, [r7] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - ldr r1, _08021560 @ =0x000400c0 - ands r0, r1 - cmp r0, 0 - beq _08021564 - adds r0, r2, 0 - b _08021576 - .align 2, 0 -_0802155C: .4byte gStatuses3 -_08021560: .4byte 0x000400c0 -_08021564: - ldrb r1, [r3] - ldrh r2, [r4] - movs r0, 0 - bl EmitBattleAnimation - ldrb r0, [r7] - bl MarkBufferBankForExecution - ldr r0, [r6] -_08021576: - adds r0, 0xA - str r0, [r6] -_0802157A: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end atk46_playanimation2 - - thumb_func_start atk47_setgraphicalstatchangevalues_setgraphicalstatchangevalues_setgraphicalstatchangevalues -atk47_setgraphicalstatchangevalues_setgraphicalstatchangevalues_setgraphicalstatchangevalues: @ 8021580 - push {r4,lr} - movs r3, 0 - ldr r0, _080215A0 @ =0x02000000 - ldr r2, _080215A4 @ =0x0001601e - adds r1, r0, r2 - ldrb r1, [r1] - movs r2, 0xF0 - ands r2, r1 - adds r4, r0, 0 - cmp r2, 0x20 - beq _080215B6 - cmp r2, 0x20 - bgt _080215A8 - cmp r2, 0x10 - beq _080215B2 - b _080215C0 - .align 2, 0 -_080215A0: .4byte 0x02000000 -_080215A4: .4byte 0x0001601e -_080215A8: - cmp r2, 0x90 - beq _080215BA - cmp r2, 0xA0 - beq _080215BE - b _080215C0 -_080215B2: - movs r3, 0xF - b _080215C0 -_080215B6: - movs r3, 0x27 - b _080215C0 -_080215BA: - movs r3, 0x16 - b _080215C0 -_080215BE: - movs r3, 0x2E -_080215C0: - ldr r1, _080215EC @ =0x0001601e - adds r0, r4, r1 - ldrb r1, [r0] - movs r0, 0xF - ands r0, r1 - adds r0, r3, r0 - subs r0, 0x1 - ldr r2, _080215F0 @ =0x000160a4 - adds r1, r4, r2 - movs r2, 0 - strb r0, [r1] - ldr r1, _080215F4 @ =0x000160a5 - adds r0, r4, r1 - strb r2, [r0] - ldr r1, _080215F8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080215EC: .4byte 0x0001601e -_080215F0: .4byte 0x000160a4 -_080215F4: .4byte 0x000160a5 -_080215F8: .4byte gBattlescriptCurrInstr - thumb_func_end atk47_setgraphicalstatchangevalues_setgraphicalstatchangevalues_setgraphicalstatchangevalues - - thumb_func_start atk48_playstatchangeanimation -atk48_playstatchangeanimation: @ 80215FC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - movs r7, 0 - movs r0, 0 - mov r8, r0 - movs r3, 0 - ldr r5, _08021670 @ =gBattlescriptCurrInstr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - str r3, [sp] - bl sub_8015150 - ldr r2, _08021674 @ =gActiveBank - strb r0, [r2] - ldr r0, [r5] - ldrb r4, [r0, 0x2] - ldrb r1, [r0, 0x3] - movs r0, 0x1 - ands r0, r1 - ldr r3, [sp] - cmp r0, 0 - beq _08021710 - movs r0, 0x2 - ands r0, r1 - movs r1, 0x15 - cmp r0, 0 - beq _0802163C - movs r1, 0x2D -_0802163C: - cmp r4, 0 - beq _080216E4 - movs r0, 0x1 - mov r10, r0 - ldr r0, _08021678 @ =gUnknown_02024A98 - mov r9, r0 - lsls r5, r1, 16 -_0802164A: - adds r0, r4, 0 - mov r1, r10 - ands r0, r1 - cmp r0, 0 - beq _080216D6 - ldr r0, _08021670 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r1, [r0, 0x3] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0802167C - ldr r0, _08021674 @ =gActiveBank - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r7, r0 - b _080216C4 - .align 2, 0 -_08021670: .4byte gBattlescriptCurrInstr -_08021674: .4byte gActiveBank -_08021678: .4byte gUnknown_02024A98 -_0802167C: - ldr r6, _08021700 @ =gActiveBank - ldrb r0, [r6] - str r3, [sp] - bl GetBankIdentity - mov r1, r10 - ands r1, r0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, _08021704 @ =gSideTimer - adds r0, r1 - ldrb r0, [r0, 0x2] - ldr r3, [sp] - cmp r0, 0 - bne _080216D6 - ldr r0, _08021708 @ =gBattleMons - ldrb r2, [r6] - movs r1, 0x58 - muls r2, r1 - adds r0, r2, r0 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x1D - beq _080216D6 - cmp r0, 0x49 - beq _080216D6 - cmp r0, 0x33 - bne _080216BA - cmp r7, 0x6 - beq _080216D6 -_080216BA: - cmp r0, 0x34 - bne _080216C2 - cmp r7, 0x1 - beq _080216D6 -_080216C2: - adds r0, r7, r2 -_080216C4: - add r0, r9 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - ble _080216D6 - lsrs r0, r5, 16 - mov r8, r0 - adds r3, 0x1 -_080216D6: - lsrs r4, 1 - movs r1, 0x80 - lsls r1, 9 - adds r5, r1 - adds r7, 0x1 - cmp r4, 0 - bne _0802164A -_080216E4: - ldr r0, _0802170C @ =gBattlescriptCurrInstr - mov r9, r0 - cmp r3, 0x1 - ble _08021772 - ldr r0, [r0] - ldrb r1, [r0, 0x3] - movs r0, 0x2 - ands r0, r1 - movs r1, 0x39 - mov r8, r1 - cmp r0, 0 - beq _08021772 - movs r0, 0x3A - b _08021770 - .align 2, 0 -_08021700: .4byte gActiveBank -_08021704: .4byte gSideTimer -_08021708: .4byte gBattleMons -_0802170C: .4byte gBattlescriptCurrInstr -_08021710: - movs r0, 0x2 - ands r0, r1 - movs r1, 0xE - cmp r0, 0 - beq _0802171C - movs r1, 0x26 -_0802171C: - mov r9, r5 - cmp r4, 0 - beq _08021758 - ldr r6, _0802178C @ =gUnknown_02024A98 - adds r5, r2, 0 - lsls r2, r1, 16 -_08021728: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _0802174A - ldrb r1, [r5] - movs r0, 0x58 - muls r0, r1 - adds r0, r7, r0 - adds r0, r6 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0xB - bgt _0802174A - lsrs r1, r2, 16 - mov r8, r1 - adds r3, 0x1 -_0802174A: - lsrs r4, 1 - movs r0, 0x80 - lsls r0, 9 - adds r2, r0 - adds r7, 0x1 - cmp r4, 0 - bne _08021728 -_08021758: - cmp r3, 0x1 - ble _08021772 - mov r1, r9 - ldr r0, [r1] - ldrb r1, [r0, 0x3] - movs r0, 0x2 - ands r0, r1 - movs r1, 0x37 - mov r8, r1 - cmp r0, 0 - beq _08021772 - movs r0, 0x38 -_08021770: - mov r8, r0 -_08021772: - mov r1, r9 - ldr r2, [r1] - ldrb r1, [r2, 0x3] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08021790 - cmp r3, 0x1 - bgt _08021790 - adds r0, r2, 0x4 - mov r1, r9 - b _080217E6 - .align 2, 0 -_0802178C: .4byte gUnknown_02024A98 -_08021790: - cmp r3, 0 - beq _080217E0 - ldr r0, _080217D0 @ =0x02000000 - ldr r1, _080217D4 @ =0x000160dc - adds r4, r0, r1 - ldrb r0, [r4] - cmp r0, 0 - bne _080217E0 - movs r0, 0 - movs r1, 0x1 - mov r2, r8 - str r3, [sp] - bl EmitBattleAnimation - ldr r0, _080217D8 @ =gActiveBank - ldrb r0, [r0] - bl MarkBufferBankForExecution - ldr r0, _080217DC @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r1, [r0, 0x3] - movs r0, 0x4 - ands r0, r1 - ldr r3, [sp] - cmp r0, 0 - beq _080217CC - cmp r3, 0x1 - ble _080217CC - movs r0, 0x1 - strb r0, [r4] -_080217CC: - ldr r1, _080217DC @ =gBattlescriptCurrInstr - b _080217E2 - .align 2, 0 -_080217D0: .4byte 0x02000000 -_080217D4: .4byte 0x000160dc -_080217D8: .4byte gActiveBank -_080217DC: .4byte gBattlescriptCurrInstr -_080217E0: - mov r1, r9 -_080217E2: - ldr r0, [r1] - adds r0, 0x4 -_080217E6: - str r0, [r1] - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end atk48_playstatchangeanimation - - thumb_func_start sub_80217F8 -sub_80217F8: @ 80217F8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - movs r0, 0 - mov r10, r0 - ldr r0, _08021834 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r1, [r0, 0x1] - str r1, [sp, 0x10] - ldrb r0, [r0, 0x2] - str r0, [sp, 0x14] - ldr r1, _08021838 @ =gBattleMons - ldr r0, _0802183C @ =gBankAttacker - ldrb r2, [r0] - movs r0, 0x58 - muls r0, r2 - adds r1, r0, r1 - ldrh r0, [r1, 0x2E] - cmp r0, 0xAF - bne _08021844 - ldr r1, _08021840 @ =gEnigmaBerries - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x7] - b _0802184E - .align 2, 0 -_08021834: .4byte gBattlescriptCurrInstr -_08021838: .4byte gBattleMons -_0802183C: .4byte gBankAttacker -_08021840: .4byte gEnigmaBerries -_08021844: - ldrh r0, [r1, 0x2E] - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r0, 24 -_0802184E: - str r0, [sp, 0x8] - ldr r0, _0802186C @ =gBankAttacker - ldrb r1, [r0] - lsls r1, 1 - ldr r0, _08021870 @ =0x020160e8 - adds r1, r0 - str r1, [sp, 0xC] - subs r0, 0xCC - ldrb r0, [r0] - cmp r0, 0 - beq _080218C0 - movs r2, 0x3F - ands r2, r0 - str r2, [sp, 0x4] - b _080218D2 - .align 2, 0 -_0802186C: .4byte gBankAttacker -_08021870: .4byte 0x020160e8 -_08021874: - strb r2, [r7] - ldr r0, [r5] - orrs r0, r6 - str r0, [r5] - ldr r0, _080218AC @ =0x02000000 - ldr r3, _080218B0 @ =0x0001600c - adds r0, r3 - strb r4, [r0] - bl sub_8020B54 - ldr r2, _080218B4 @ =gUnknown_081D6BBC - mov r4, r8 - ldrh r1, [r4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - add r0, r9 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - bl b_movescr_stack_push - ldr r1, _080218B8 @ =gBattlescriptCurrInstr - ldr r0, _080218BC @ =gUnknown_081D9B2D - bl _0802229C - .align 2, 0 -_080218AC: .4byte 0x02000000 -_080218B0: .4byte 0x0001600c -_080218B4: .4byte gUnknown_081D6BBC -_080218B8: .4byte gBattlescriptCurrInstr -_080218BC: .4byte gUnknown_081D9B2D -_080218C0: - ldr r2, _080218D8 @ =gBattleMoves - ldr r0, _080218DC @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x2] - str r0, [sp, 0x4] -_080218D2: - ldr r5, _080218E0 @ =0x02000000 - mov r12, r5 - b _080218EE - .align 2, 0 -_080218D8: .4byte gBattleMoves -_080218DC: .4byte gCurrentMove -_080218E0: .4byte 0x02000000 -_080218E4: - mov r0, r10 - cmp r0, 0 - beq _080218EE - bl _08022286 -_080218EE: - ldr r0, _08021908 @ =0x0001600c - add r0, r12 - ldrb r0, [r0] - cmp r0, 0x11 - bls _080218FC - bl _0802224E -_080218FC: - lsls r0, 2 - ldr r1, _0802190C @ =_08021910 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08021908: .4byte 0x0001600c -_0802190C: .4byte _08021910 - .align 2, 0 -_08021910: - .4byte _08021958 - .4byte _08021A34 - .4byte _08021AF0 - .4byte _08021B20 - .4byte _08021B44 - .4byte _08021B78 - .4byte _08021B9C - .4byte _08021C40 - .4byte _08021C78 - .4byte _08021CA8 - .4byte _08021CCC - .4byte _08021D18 - .4byte _08021DAC - .4byte _08021E30 - .4byte _08021E70 - .4byte _08022068 - .4byte _080221C0 - .4byte _0802224E -_08021958: - ldr r5, _08021A08 @ =gBattleMons - ldr r2, _08021A0C @ =gBankTarget - ldrb r4, [r2] - movs r6, 0x58 - adds r3, r4, 0 - muls r3, r6 - adds r0, r5, 0 - adds r0, 0x50 - adds r0, r3, r0 - ldr r1, [r0] - movs r0, 0x80 - lsls r0, 16 - ands r1, r0 - cmp r1, 0 - beq _080219FE - adds r0, r3, r5 - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _080219FE - ldr r0, _08021A10 @ =gBankAttacker - ldrb r1, [r0] - cmp r1, r4 - beq _080219FE - adds r0, r1, 0 - bl GetBankSide - adds r4, r0, 0 - ldr r1, _08021A0C @ =gBankTarget - ldrb r0, [r1] - bl GetBankSide - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - beq _080219FE - ldr r0, _08021A14 @ =gBattleMoveFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - bne _080219FE - ldr r2, _08021A18 @ =gProtectStructs - ldr r4, _08021A0C @ =gBankTarget - ldrb r3, [r4] - lsls r1, r3, 4 - adds r0, r2, 0x4 - adds r0, r1, r0 - ldr r0, [r0] - cmp r0, 0 - bne _080219C8 - adds r0, r2, 0 - adds r0, 0x8 - adds r0, r1, r0 - ldr r0, [r0] - cmp r0, 0 - beq _080219FE -_080219C8: - ldr r2, _08021A1C @ =gBattleMoves - ldr r0, _08021A20 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0 - beq _080219FE - adds r0, r3, 0 - muls r0, r6 - adds r1, r0, r5 - ldrb r2, [r1, 0x19] - movs r0, 0x19 - ldrsb r0, [r1, r0] - cmp r0, 0xB - bgt _080219FE - adds r0, r2, 0x1 - strb r0, [r1, 0x19] - bl b_movescr_stack_push_cursor - ldr r1, _08021A24 @ =gBattlescriptCurrInstr - ldr r0, _08021A28 @ =gUnknown_081D9132 - str r0, [r1] - movs r5, 0x1 - mov r10, r5 -_080219FE: - ldr r2, _08021A2C @ =0x02000000 - ldr r0, _08021A30 @ =0x0001600c - adds r1, r2, r0 - b _08021E00 - .align 2, 0 -_08021A08: .4byte gBattleMons -_08021A0C: .4byte gBankTarget -_08021A10: .4byte gBankAttacker -_08021A14: .4byte gBattleMoveFlags -_08021A18: .4byte gProtectStructs -_08021A1C: .4byte gBattleMoves -_08021A20: .4byte gCurrentMove -_08021A24: .4byte gBattlescriptCurrInstr -_08021A28: .4byte gUnknown_081D9132 -_08021A2C: .4byte 0x02000000 -_08021A30: .4byte 0x0001600c -_08021A34: - ldr r2, _08021AD0 @ =gBattleMons - ldr r1, _08021AD4 @ =gBankTarget - ldrb r4, [r1] - movs r3, 0x58 - mov r12, r3 - mov r3, r12 - muls r3, r4 - adds r7, r2, 0 - adds r7, 0x4C - adds r6, r3, r7 - ldr r5, [r6] - movs r0, 0x20 - ands r0, r5 - cmp r0, 0 - bne _08021A54 - b _08021DFA -_08021A54: - adds r0, r3, r2 - ldrh r0, [r0, 0x28] - cmp r0, 0 - bne _08021A5E - b _08021DFA -_08021A5E: - ldr r0, _08021AD8 @ =gBankAttacker - ldrb r0, [r0] - cmp r0, r4 - bne _08021A68 - b _08021DFA -_08021A68: - ldr r0, _08021ADC @ =gSpecialStatuses - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 2 - adds r0, 0xC - adds r1, r0 - ldr r0, [r1] - cmp r0, 0 - bne _08021A7C - b _08021DFA -_08021A7C: - ldr r0, _08021AE0 @ =gBattleMoveFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - beq _08021A8A - b _08021DFA -_08021A8A: - ldr r4, [sp, 0x4] - cmp r4, 0xA - beq _08021A92 - b _08021DFA -_08021A92: - movs r0, 0x21 - negs r0, r0 - ands r5, r0 - str r5, [r6] - ldr r4, _08021AE4 @ =gActiveBank - ldr r5, _08021AD4 @ =gBankTarget - ldrb r0, [r5] - strb r0, [r4] - ldrb r0, [r5] - mov r1, r12 - muls r1, r0 - adds r0, r1, 0 - adds r0, r7 - str r0, [sp] - movs r0, 0 - movs r1, 0x28 - movs r2, 0 - movs r3, 0x4 - bl EmitSetAttributes - ldrb r0, [r4] - bl MarkBufferBankForExecution - bl b_movescr_stack_push_cursor - ldr r1, _08021AE8 @ =gBattlescriptCurrInstr - ldr r0, _08021AEC @ =gUnknown_081D955D - str r0, [r1] - movs r2, 0x1 - mov r10, r2 - b _08021DFA - .align 2, 0 -_08021AD0: .4byte gBattleMons -_08021AD4: .4byte gBankTarget -_08021AD8: .4byte gBankAttacker -_08021ADC: .4byte gSpecialStatuses -_08021AE0: .4byte gBattleMoveFlags -_08021AE4: .4byte gActiveBank -_08021AE8: .4byte gBattlescriptCurrInstr -_08021AEC: .4byte gUnknown_081D955D -_08021AF0: - ldr r0, _08021B14 @ =gBankTarget - ldrb r1, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x7 - movs r2, 0 - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - beq _08021B0C - movs r4, 0x1 - mov r10, r4 -_08021B0C: - ldr r2, _08021B18 @ =0x02000000 - ldr r5, _08021B1C @ =0x0001600c - adds r1, r2, r5 - b _08021E00 - .align 2, 0 -_08021B14: .4byte gBankTarget -_08021B18: .4byte 0x02000000 -_08021B1C: .4byte 0x0001600c -_08021B20: - ldr r0, _08021B40 @ =gBankTarget - ldrb r1, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x4 - movs r2, 0 - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - bne _08021B3A - b _08021DFA -_08021B3A: - movs r0, 0x1 - mov r10, r0 - b _08021DFA - .align 2, 0 -_08021B40: .4byte gBankTarget -_08021B44: - movs r0, 0 - str r0, [sp] - movs r0, 0x5 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - beq _08021B68 - movs r4, 0x1 - mov r10, r4 - ldr r5, _08021B64 @ =0x02000000 - mov r12, r5 - b _0802224E - .align 2, 0 -_08021B64: .4byte 0x02000000 -_08021B68: - ldr r2, _08021B70 @ =0x02000000 - ldr r0, _08021B74 @ =0x0001600c - adds r1, r2, r0 - b _08021E00 - .align 2, 0 -_08021B70: .4byte 0x02000000 -_08021B74: .4byte 0x0001600c -_08021B78: - ldr r0, _08021B98 @ =gBankAttacker - ldrb r1, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x8 - movs r2, 0 - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - bne _08021B92 - b _08021DFA -_08021B92: - movs r1, 0x1 - mov r10, r1 - b _08021DFA - .align 2, 0 -_08021B98: .4byte gBankAttacker -_08021B9C: - ldr r0, _08021C28 @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 18 - ands r0, r1 - cmp r0, 0 - beq _08021BE0 - ldr r4, [sp, 0x8] - cmp r4, 0x1D - bne _08021BE0 - ldr r0, _08021C2C @ =gUnknown_02024BE8 - ldrh r2, [r0] - adds r7, r0, 0 - cmp r2, 0xA5 - beq _08021BE0 - ldr r5, [sp, 0xC] - ldrh r1, [r5] - cmp r1, 0 - beq _08021BC8 - ldr r0, _08021C30 @ =0x0000ffff - cmp r1, r0 - bne _08021BE0 -_08021BC8: - cmp r2, 0xE2 - bne _08021BDA - ldr r0, _08021C34 @ =gBattleMoveFlags - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - bne _08021BDA - b _08022244 -_08021BDA: - ldrh r0, [r7] - ldr r1, [sp, 0xC] - strh r0, [r1] -_08021BE0: - movs r4, 0 - ldr r2, _08021C38 @ =gBattleMons - ldr r3, _08021C3C @ =gBankAttacker - ldrb r1, [r3] - movs r0, 0x58 - muls r0, r1 - adds r2, 0xC - adds r0, r2 - ldrh r0, [r0] - ldr r5, [sp, 0xC] - ldrh r1, [r5] - mov r9, r3 - cmp r0, r1 - beq _08021C18 - mov r6, r9 - movs r3, 0x58 - adds r5, r1, 0 -_08021C02: - adds r4, 0x1 - cmp r4, 0x3 - bgt _08021C18 - lsls r0, r4, 1 - ldrb r1, [r6] - muls r1, r3 - adds r0, r1 - adds r0, r2 - ldrh r0, [r0] - cmp r0, r5 - bne _08021C02 -_08021C18: - cmp r4, 0x4 - beq _08021C1E - b _08022244 -_08021C1E: - movs r0, 0 - ldr r1, [sp, 0xC] -_08021C22: - strh r0, [r1] - b _08022244 - .align 2, 0 -_08021C28: .4byte gHitMarker -_08021C2C: .4byte gUnknown_02024BE8 -_08021C30: .4byte 0x0000ffff -_08021C34: .4byte gBattleMoveFlags -_08021C38: .4byte gBattleMons -_08021C3C: .4byte gBankAttacker -_08021C40: - movs r4, 0 - ldr r0, _08021C6C @ =gNoOfAllBanks - ldrb r2, [r0] - cmp r4, r2 - blt _08021C4C - b _08022244 -_08021C4C: - movs r5, 0 - ldr r2, _08021C70 @ =0x020160f0 - ldr r3, _08021C74 @ =gBattleMons -_08021C52: - ldrh r1, [r2] - cmp r1, 0 - beq _08021C5C - strh r1, [r3, 0x2E] - strh r5, [r2] -_08021C5C: - adds r2, 0x2 - adds r3, 0x58 - adds r4, 0x1 - ldrb r1, [r0] - cmp r4, r1 - blt _08021C52 - b _08022244 - .align 2, 0 -_08021C6C: .4byte gNoOfAllBanks -_08021C70: .4byte 0x020160f0 -_08021C74: .4byte gBattleMons -_08021C78: - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl sub_801A02C - lsls r0, 24 - cmp r0, 0 - beq _08021C98 - movs r2, 0x1 - mov r10, r2 - ldr r3, _08021C94 @ =0x02000000 - mov r12, r3 - b _0802224E - .align 2, 0 -_08021C94: .4byte 0x02000000 -_08021C98: - ldr r2, _08021CA0 @ =0x02000000 - ldr r4, _08021CA4 @ =0x0001600c - adds r1, r2, r4 - b _08021E00 - .align 2, 0 -_08021CA0: .4byte 0x02000000 -_08021CA4: .4byte 0x0001600c -_08021CA8: - movs r0, 0x4 - movs r1, 0 - movs r2, 0 - bl sub_801A02C - lsls r0, 24 - cmp r0, 0 - beq _08021CBC - movs r5, 0x1 - mov r10, r5 -_08021CBC: - ldr r2, _08021CC4 @ =0x02000000 - ldr r0, _08021CC8 @ =0x0001600c - adds r1, r2, r0 - b _08021E00 - .align 2, 0 -_08021CC4: .4byte 0x02000000 -_08021CC8: .4byte 0x0001600c -_08021CCC: - ldr r1, _08021D04 @ =gStatuses3 - ldr r0, _08021D08 @ =gBankAttacker - ldrb r2, [r0] - lsls r0, r2, 2 - adds r0, r1 - ldr r0, [r0] - ldr r1, _08021D0C @ =0x000400c0 - ands r0, r1 - cmp r0, 0 - bne _08021CE2 - b _08021DFA -_08021CE2: - ldr r0, _08021D10 @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08021CF0 - b _08021DFA -_08021CF0: - ldr r4, _08021D14 @ =gActiveBank - strb r2, [r4] - movs r0, 0 - movs r1, 0x1 - bl EmitSpriteInvisibility - ldrb r0, [r4] - bl MarkBufferBankForExecution - b _08021DFA - .align 2, 0 -_08021D04: .4byte gStatuses3 -_08021D08: .4byte gBankAttacker -_08021D0C: .4byte 0x000400c0 -_08021D10: .4byte gHitMarker -_08021D14: .4byte gActiveBank -_08021D18: - ldr r0, _08021D88 @ =gBattleMoveFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - bne _08021D44 - ldr r1, _08021D8C @ =gStatuses3 - ldr r0, _08021D90 @ =gBankAttacker - ldrb r2, [r0] - lsls r0, r2, 2 - adds r0, r1 - ldr r0, [r0] - ldr r1, _08021D94 @ =0x000400c0 - ands r0, r1 - cmp r0, 0 - beq _08021D44 - adds r0, r2, 0 - bl sub_8015660 - lsls r0, 24 - cmp r0, 0 - beq _08021D7E -_08021D44: - ldr r4, _08021D98 @ =gActiveBank - ldr r5, _08021D90 @ =gBankAttacker - ldrb r0, [r5] - strb r0, [r4] - movs r0, 0 - movs r1, 0 - bl EmitSpriteInvisibility - ldrb r0, [r4] - bl MarkBufferBankForExecution - ldr r0, _08021D8C @ =gStatuses3 - ldrb r2, [r5] - lsls r2, 2 - adds r2, r0 - ldr r0, [r2] - ldr r1, _08021D9C @ =0xfffbff3f - ands r0, r1 - str r0, [r2] - ldr r2, _08021DA0 @ =gSpecialStatuses - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_08021D7E: - ldr r2, _08021DA4 @ =0x02000000 - ldr r4, _08021DA8 @ =0x0001600c - adds r1, r2, r4 - b _08021E00 - .align 2, 0 -_08021D88: .4byte gBattleMoveFlags -_08021D8C: .4byte gStatuses3 -_08021D90: .4byte gBankAttacker -_08021D94: .4byte 0x000400c0 -_08021D98: .4byte gActiveBank -_08021D9C: .4byte 0xfffbff3f -_08021DA0: .4byte gSpecialStatuses -_08021DA4: .4byte 0x02000000 -_08021DA8: .4byte 0x0001600c -_08021DAC: - ldr r2, _08021E0C @ =gSpecialStatuses - ldr r1, _08021E10 @ =gBankTarget - ldrb r3, [r1] - lsls r4, r3, 2 - adds r0, r4, r3 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 29 - cmp r0, 0 - blt _08021DFA - ldr r0, _08021E14 @ =gNoOfAllBanks - ldrb r0, [r0] - cmp r3, r0 - bcs _08021DFA - ldr r5, _08021E18 @ =gStatuses3 - adds r0, r4, r5 - ldr r0, [r0] - ldr r1, _08021E1C @ =0x000400c0 - ands r0, r1 - cmp r0, 0 - bne _08021DFA - ldr r4, _08021E20 @ =gActiveBank - strb r3, [r4] - movs r0, 0 - movs r1, 0 - bl EmitSpriteInvisibility - ldrb r0, [r4] - bl MarkBufferBankForExecution - ldr r0, _08021E10 @ =gBankTarget - ldrb r2, [r0] - lsls r2, 2 - adds r2, r5 - ldr r0, [r2] - ldr r1, _08021E24 @ =0xfffbff3f - ands r0, r1 - str r0, [r2] -_08021DFA: - ldr r2, _08021E28 @ =0x02000000 - ldr r3, _08021E2C @ =0x0001600c - adds r1, r2, r3 -_08021E00: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - mov r12, r2 - b _0802224E - .align 2, 0 -_08021E0C: .4byte gSpecialStatuses -_08021E10: .4byte gBankTarget -_08021E14: .4byte gNoOfAllBanks -_08021E18: .4byte gStatuses3 -_08021E1C: .4byte 0x000400c0 -_08021E20: .4byte gActiveBank -_08021E24: .4byte 0xfffbff3f -_08021E28: .4byte 0x02000000 -_08021E2C: .4byte 0x0001600c -_08021E30: - movs r4, 0 - ldr r0, _08021E60 @ =gNoOfAllBanks - ldrb r5, [r0] - cmp r4, r5 - blt _08021E3C - b _08022244 -_08021E3C: - ldr r2, _08021E64 @ =gDisableStructs - ldr r5, _08021E68 @ =0xfeffffff - adds r3, r0, 0 - ldr r1, _08021E6C @ =gUnknown_02024AD0 -_08021E44: - ldrb r0, [r2, 0xA] - cmp r0, 0 - bne _08021E50 - ldr r0, [r1] - ands r0, r5 - str r0, [r1] -_08021E50: - adds r2, 0x1C - adds r1, 0x58 - adds r4, 0x1 - ldrb r0, [r3] - cmp r4, r0 - blt _08021E44 - b _08022244 - .align 2, 0 -_08021E60: .4byte gNoOfAllBanks -_08021E64: .4byte gDisableStructs -_08021E68: .4byte 0xfeffffff -_08021E6C: .4byte gUnknown_02024AD0 -_08021E70: - ldr r1, _08021F2C @ =gHitMarker - ldr r3, [r1] - movs r0, 0x80 - lsls r0, 5 - ands r0, r3 - ldr r2, _08021F30 @ =gBankAttacker - mov r9, r2 - adds r5, r1, 0 - cmp r0, 0 - beq _08021E9A - ldr r0, _08021F34 @ =gActiveBank - ldrb r2, [r2] - strb r2, [r0] - ldr r1, _08021F38 @ =gBankTarget - ldrb r0, [r1] - mov r4, r9 - strb r0, [r4] - strb r2, [r1] - ldr r0, _08021F3C @ =0xffffefff - ands r3, r0 - str r3, [r5] -_08021E9A: - ldr r1, _08021F40 @ =gBattleMoves - ldr r2, _08021F44 @ =gUnknown_02024BE8 - ldrh r3, [r2] - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0] - mov r8, r1 - adds r7, r2, 0 - cmp r0, 0x7F - bne _08021EBE - ldr r0, _08021F48 @ =gBattleMoveFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - beq _08021ECA -_08021EBE: - ldr r1, _08021F4C @ =gUnknown_02024C2C - mov r2, r9 - ldrb r0, [r2] - lsls r0, 1 - adds r0, r1 - strh r3, [r0] -_08021ECA: - ldr r0, _08021F50 @ =gAbsentBankFlags - ldrb r1, [r0] - ldr r2, _08021F54 @ =gBitTable - mov r3, r9 - ldrb r4, [r3] - lsls r0, r4, 2 - adds r0, r2 - ldr r3, [r0] - ands r1, r3 - adds r6, r2, 0 - cmp r1, 0 - beq _08021EE4 - b _08022244 -_08021EE4: - ldr r0, _08021F58 @ =0x000160a6 - add r0, r12 - ldrb r0, [r0] - ands r0, r3 - cmp r0, 0 - beq _08021EF2 - b _08022244 -_08021EF2: - ldrh r2, [r7] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - add r0, r8 - ldrb r0, [r0] - cmp r0, 0x7F - bne _08021F04 - b _08022244 -_08021F04: - ldr r0, [r5] - movs r1, 0x80 - lsls r1, 18 - ands r0, r1 - cmp r0, 0 - beq _08021F68 - ldr r1, _08021F5C @ =gLastUsedMove - lsls r0, r4, 1 - adds r0, r1 - strh r2, [r0] - ldr r0, _08021F60 @ =gUnknown_02024C4C - mov r4, r9 - ldrb r1, [r4] - lsls r1, 1 - adds r1, r0 - ldr r0, _08021F64 @ =gCurrentMove - ldrh r0, [r0] - strh r0, [r1] - b _08021F82 - .align 2, 0 -_08021F2C: .4byte gHitMarker -_08021F30: .4byte gBankAttacker -_08021F34: .4byte gActiveBank -_08021F38: .4byte gBankTarget -_08021F3C: .4byte 0xffffefff -_08021F40: .4byte gBattleMoves -_08021F44: .4byte gUnknown_02024BE8 -_08021F48: .4byte gBattleMoveFlags -_08021F4C: .4byte gUnknown_02024C2C -_08021F50: .4byte gAbsentBankFlags -_08021F54: .4byte gBitTable -_08021F58: .4byte 0x000160a6 -_08021F5C: .4byte gLastUsedMove -_08021F60: .4byte gUnknown_02024C4C -_08021F64: .4byte gCurrentMove -_08021F68: - ldr r1, _08021FD0 @ =gLastUsedMove - lsls r0, r4, 1 - adds r0, r1 - ldr r1, _08021FD4 @ =0x0000ffff - strh r1, [r0] - ldr r1, _08021FD8 @ =gUnknown_02024C4C - mov r2, r9 - ldrb r0, [r2] - lsls r0, 1 - adds r0, r1 - movs r1, 0x1 - negs r1, r1 - strh r1, [r0] -_08021F82: - ldr r2, _08021FDC @ =gBankTarget - ldrb r3, [r2] - lsls r0, r3, 2 - adds r0, r6 - ldr r0, [r0] - lsls r0, 28 - ldr r1, [r5] - ands r1, r0 - cmp r1, 0 - bne _08021FA0 - ldr r0, _08021FE0 @ =gUnknown_02024C5C - adds r0, r3, r0 - mov r3, r9 - ldrb r1, [r3] - strb r1, [r0] -_08021FA0: - ldr r0, [r5] - movs r1, 0x80 - lsls r1, 18 - ands r0, r1 - cmp r0, 0 - beq _0802204C - ldr r0, _08021FE4 @ =gBattleMoveFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - bne _0802204C - ldrh r2, [r7] - ldr r0, _08021FD4 @ =0x0000ffff - cmp r2, r0 - bne _08021FEC - ldr r1, _08021FE8 @ =gMoveHitWith - ldr r4, _08021FDC @ =gBankTarget - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - strh r2, [r0] - b _08022244 - .align 2, 0 -_08021FD0: .4byte gLastUsedMove -_08021FD4: .4byte 0x0000ffff -_08021FD8: .4byte gUnknown_02024C4C -_08021FDC: .4byte gBankTarget -_08021FE0: .4byte gUnknown_02024C5C -_08021FE4: .4byte gBattleMoveFlags -_08021FE8: .4byte gMoveHitWith -_08021FEC: - ldr r0, _08022014 @ =gMoveHitWith - ldr r5, _08022018 @ =gBankTarget - ldrb r1, [r5] - lsls r1, 1 - adds r1, r0 - ldr r4, _0802201C @ =gCurrentMove - ldrh r0, [r4] - strh r0, [r1] - ldr r0, _08022020 @ =0x0001601c - add r0, r12 - ldrb r3, [r0] - cmp r3, 0 - beq _08022028 - ldr r0, _08022024 @ =gUnknown_02024C44 - ldrb r1, [r5] - lsls r1, 1 - adds r1, r0 - movs r0, 0x3F - ands r0, r3 - b _08021C22 - .align 2, 0 -_08022014: .4byte gMoveHitWith -_08022018: .4byte gBankTarget -_0802201C: .4byte gCurrentMove -_08022020: .4byte 0x0001601c -_08022024: .4byte gUnknown_02024C44 -_08022028: - ldr r0, _08022044 @ =gUnknown_02024C44 - ldr r1, _08022048 @ =gBankTarget - ldrb r2, [r1] - lsls r2, 1 - adds r2, r0 - ldrh r1, [r4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - add r0, r8 - ldrb r0, [r0, 0x2] - strh r0, [r2] - b _08022244 - .align 2, 0 -_08022044: .4byte gUnknown_02024C44 -_08022048: .4byte gBankTarget -_0802204C: - ldr r0, _0802205C @ =gMoveHitWith - ldr r2, _08022060 @ =gBankTarget - ldrb r1, [r2] - lsls r1, 1 - adds r1, r0 - ldr r0, _08022064 @ =0x0000ffff - b _08021C22 - .align 2, 0 -_0802205C: .4byte gMoveHitWith -_08022060: .4byte gBankTarget -_08022064: .4byte 0x0000ffff -_08022068: - ldr r0, _0802212C @ =gAbsentBankFlags - ldrb r1, [r0] - ldr r6, _08022130 @ =gBitTable - ldr r2, _08022134 @ =gBankAttacker - ldrb r5, [r2] - lsls r0, r5, 2 - adds r0, r6 - ldr r4, [r0] - ands r1, r4 - mov r9, r2 - cmp r1, 0 - beq _08022082 - b _08022244 -_08022082: - ldr r0, _08022138 @ =0x000160a6 - add r0, r12 - ldrb r0, [r0] - ands r0, r4 - cmp r0, 0 - beq _08022090 - b _08022244 -_08022090: - ldr r1, _0802213C @ =gBattleMoves - ldr r4, _08022140 @ =gUnknown_02024BE8 - ldrh r3, [r4] - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x8] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0802215C - ldr r0, _08022144 @ =gHitMarker - ldr r1, [r0] - movs r0, 0x80 - lsls r0, 18 - ands r0, r1 - cmp r0, 0 - beq _0802215C - ldr r2, _08022148 @ =gBankTarget - ldrb r0, [r2] - cmp r5, r0 - bne _080220C0 - b _08022244 -_080220C0: - adds r2, r0, 0 - lsls r0, r2, 2 - adds r0, r6 - ldr r0, [r0] - lsls r0, 28 - ands r1, r0 - cmp r1, 0 - bne _0802215C - ldr r0, _0802214C @ =gBattleMoveFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - bne _0802215C - lsls r0, r2, 1 - ldr r5, _08022150 @ =0x000160ac - adds r0, r5 - add r0, r12 - strb r3, [r0] - ldr r0, _08022148 @ =gBankTarget - ldrb r1, [r0] - lsls r1, 1 - ldr r2, _08022154 @ =0x000160ad - adds r1, r2 - add r1, r12 - ldrh r0, [r4] - lsrs r0, 8 - strb r0, [r1] - ldr r3, _08022148 @ =gBankTarget - ldrb r2, [r3] - lsls r2, 2 - mov r5, r9 - ldrb r0, [r5] - lsrs r0, 1 - lsls r0, 1 - ldr r1, _08022158 @ =0x00016100 - adds r0, r1 - adds r2, r0 - add r2, r12 - ldrh r0, [r4] - strb r0, [r2] - ldrb r2, [r3] - lsls r2, 2 - ldrb r0, [r5] - lsrs r0, 1 - lsls r0, 1 - adds r1, 0x1 - adds r0, r1 - adds r2, r0 - add r2, r12 - ldrh r0, [r4] - lsrs r0, 8 - strb r0, [r2] - b _08022244 - .align 2, 0 -_0802212C: .4byte gAbsentBankFlags -_08022130: .4byte gBitTable -_08022134: .4byte gBankAttacker -_08022138: .4byte 0x000160a6 -_0802213C: .4byte gBattleMoves -_08022140: .4byte gUnknown_02024BE8 -_08022144: .4byte gHitMarker -_08022148: .4byte gBankTarget -_0802214C: .4byte gBattleMoveFlags -_08022150: .4byte 0x000160ac -_08022154: .4byte 0x000160ad -_08022158: .4byte 0x00016100 -_0802215C: - mov r1, r9 - ldrb r0, [r1] - ldr r2, _080221B4 @ =gBankTarget - ldrb r2, [r2] - cmp r0, r2 - beq _08022244 - ldr r3, _080221B4 @ =gBankTarget - ldrb r0, [r3] - lsls r0, 1 - ldr r4, _080221B8 @ =0x000160ac - adds r0, r4 - add r0, r12 - movs r3, 0 - strb r3, [r0] - ldr r5, _080221B4 @ =gBankTarget - ldrb r0, [r5] - lsls r0, 1 - ldr r1, _080221BC @ =0x000160ad - adds r0, r1 - add r0, r12 - strb r3, [r0] - ldrb r2, [r5] - lsls r2, 2 - mov r4, r9 - ldrb r0, [r4] - lsrs r0, 1 - lsls r0, 1 - adds r1, 0x53 - adds r0, r1 - adds r2, r0 - add r2, r12 - strb r3, [r2] - ldrb r2, [r5] - lsls r2, 2 - ldrb r0, [r4] - lsrs r0, 1 - lsls r0, 1 - adds r1, 0x1 - adds r0, r1 - adds r2, r0 - add r2, r12 - strb r3, [r2] - b _08022244 - .align 2, 0 -_080221B4: .4byte gBankTarget -_080221B8: .4byte 0x000160ac -_080221BC: .4byte 0x000160ad -_080221C0: - ldr r5, _080222B0 @ =gHitMarker - ldr r2, [r5] - movs r0, 0x80 - lsls r0, 12 - ands r0, r2 - cmp r0, 0 - bne _08022244 - ldr r0, _080222B4 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08022244 - ldr r1, _080222B8 @ =gProtectStructs - ldr r0, _080222BC @ =gBankAttacker - ldrb r0, [r0] - lsls r0, 4 - adds r0, r1 - ldrb r0, [r0, 0x1] - lsls r0, 29 - cmp r0, 0 - blt _08022244 - ldr r0, _080222C0 @ =gBattleMoves - mov r9, r0 - ldr r1, _080222C4 @ =gCurrentMove - mov r8, r1 - ldrh r0, [r1] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - add r1, r9 - ldrb r0, [r1, 0x6] - cmp r0, 0x8 - bne _08022244 - movs r6, 0x80 - lsls r6, 2 - adds r4, r6, 0 - ands r4, r2 - cmp r4, 0 - bne _08022244 - ldr r7, _080222C8 @ =gBankTarget - ldrb r0, [r7] - bl GetBankIdentity - movs r1, 0x2 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - bl GetBankByPlayerAI - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _080222CC @ =gBattleMons - movs r0, 0x58 - muls r0, r2 - adds r0, r1 - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _0802223A - bl _08021874 -_0802223A: - ldr r0, [r5] - orrs r0, r6 - str r0, [r5] - ldr r2, _080222D0 @ =0x02000000 - mov r12, r2 -_08022244: - ldr r1, _080222D4 @ =0x0001600c - add r1, r12 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0802224E: - ldr r3, [sp, 0x10] - cmp r3, 0x1 - bne _08022262 - mov r4, r10 - cmp r4, 0 - bne _08022262 - ldr r1, _080222D4 @ =0x0001600c - add r1, r12 - movs r0, 0x11 - strb r0, [r1] -_08022262: - ldr r5, [sp, 0x10] - cmp r5, 0x2 - bne _08022278 - ldr r1, _080222D4 @ =0x0001600c - add r1, r12 - ldr r0, [sp, 0x14] - ldrb r2, [r1] - cmp r0, r2 - bne _08022278 - movs r0, 0x11 - strb r0, [r1] -_08022278: - ldr r0, _080222D4 @ =0x0001600c - add r0, r12 - ldrb r0, [r0] - cmp r0, 0x11 - beq _08022286 - bl _080218E4 -_08022286: - ldr r0, _080222D4 @ =0x0001600c - add r0, r12 - ldrb r0, [r0] - cmp r0, 0x11 - bne _0802229E - mov r3, r10 - cmp r3, 0 - bne _0802229E - ldr r1, _080222D8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x3 -_0802229C: - str r0, [r1] -_0802229E: - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080222B0: .4byte gHitMarker -_080222B4: .4byte gBattleTypeFlags -_080222B8: .4byte gProtectStructs -_080222BC: .4byte gBankAttacker -_080222C0: .4byte gBattleMoves -_080222C4: .4byte gCurrentMove -_080222C8: .4byte gBankTarget -_080222CC: .4byte gBattleMons -_080222D0: .4byte 0x02000000 -_080222D4: .4byte 0x0001600c -_080222D8: .4byte gBattlescriptCurrInstr - thumb_func_end sub_80217F8 - - thumb_func_start atk4A_damageflags -atk4A_damageflags: @ 80222DC - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r4, 0 - movs r5, 0 - ldr r2, _08022340 @ =gBattleMoves - ldr r0, _08022344 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x2] - mov r8, r0 - ldr r2, _08022348 @ =gBattleMons - ldr r3, _0802234C @ =gBankTarget - ldrb r1, [r3] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x20 - ldrb r0, [r0] - mov r12, r2 - adds r7, r3, 0 - cmp r0, 0x1A - bne _08022370 - mov r1, r8 - cmp r1, 0x4 - bne _08022370 - ldr r3, _08022350 @ =gLastUsedAbility - strb r0, [r3] - ldr r2, _08022354 @ =gBattleMoveFlags - ldrb r0, [r2] - movs r1, 0x9 - orrs r0, r1 - strb r0, [r2] - ldr r1, _08022358 @ =gMoveHitWith - ldrb r0, [r7] - lsls r0, 1 - adds r0, r1 - strh r4, [r0] - ldr r0, _0802235C @ =gBattleCommunication - mov r2, r8 - strb r2, [r0, 0x6] - ldrb r0, [r7] - ldrb r1, [r3] - bl RecordAbilityBattle - b _08022452 - .align 2, 0 -_08022340: .4byte gBattleMoves -_08022344: .4byte gCurrentMove -_08022348: .4byte gBattleMons -_0802234C: .4byte gBankTarget -_08022350: .4byte gLastUsedAbility -_08022354: .4byte gBattleMoveFlags -_08022358: .4byte gMoveHitWith -_0802235C: .4byte gBattleCommunication -_08022360: - ldr r0, _0802236C @ =gBattleMoveFlags - ldrb r1, [r0] - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0] - b _08022452 - .align 2, 0 -_0802236C: .4byte gBattleMoveFlags -_08022370: - ldr r1, _0802237C @ =gTypeEffectiveness - adds r0, r5, r1 - ldrb r0, [r0] - adds r6, r1, 0 - b _08022432 - .align 2, 0 -_0802237C: .4byte gTypeEffectiveness -_08022380: - adds r0, r5, r6 - ldrb r0, [r0] - cmp r0, r8 - bne _0802242C - adds r2, r5, 0x1 - adds r3, r2, r6 - ldrb r1, [r7] - movs r0, 0x58 - muls r0, r1 - add r0, r12 - adds r0, 0x21 - ldrb r1, [r3] - adds r3, r2, 0 - ldrb r0, [r0] - cmp r1, r0 - bne _080223BE - adds r0, r5, 0x2 - adds r0, r6 - ldrb r1, [r0] - cmp r1, 0 - beq _08022360 - cmp r1, 0x5 - bne _080223B2 - movs r0, 0x4 - orrs r4, r0 -_080223B2: - cmp r1, 0x14 - bne _080223BE - movs r0, 0x2 - orrs r4, r0 - lsls r0, r4, 24 - lsrs r4, r0, 24 -_080223BE: - adds r2, r3, r6 - ldrb r1, [r7] - movs r0, 0x58 - muls r0, r1 - add r0, r12 - adds r1, r0, 0 - adds r1, 0x22 - ldrb r2, [r2] - ldrb r1, [r1] - cmp r2, r1 - bne _0802242C - adds r0, 0x21 - ldrb r1, [r0] - cmp r1, r2 - beq _080223E6 - adds r0, r5, 0x2 - adds r0, r6 - ldrb r0, [r0] - cmp r0, 0 - beq _08022360 -_080223E6: - cmp r1, r2 - beq _080223FC - adds r0, r5, 0x2 - adds r0, r6 - ldrb r0, [r0] - cmp r0, 0x5 - bne _080223FC - movs r0, 0x4 - orrs r4, r0 - lsls r0, r4, 24 - lsrs r4, r0, 24 -_080223FC: - adds r2, r3, r6 - ldrb r1, [r7] - movs r0, 0x58 - muls r0, r1 - add r0, r12 - adds r1, r0, 0 - adds r1, 0x22 - ldrb r2, [r2] - ldrb r1, [r1] - cmp r2, r1 - bne _0802242C - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, r2 - beq _0802242C - adds r0, r5, 0x2 - adds r0, r6 - ldrb r0, [r0] - cmp r0, 0x14 - bne _0802242C - movs r0, 0x2 - orrs r4, r0 - lsls r0, r4, 24 - lsrs r4, r0, 24 -_0802242C: - adds r5, 0x3 - adds r0, r5, r6 - ldrb r0, [r0] -_08022432: - cmp r0, 0xFF - beq _08022452 - cmp r0, 0xFE - bne _08022380 - ldrb r1, [r7] - movs r0, 0x58 - muls r0, r1 - mov r1, r12 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 22 - ands r0, r1 - cmp r0, 0 - beq _0802242C -_08022452: - ldr r2, _08022500 @ =gBattleMons - ldr r0, _08022504 @ =gBankTarget - mov r8, r0 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x20 - ldrb r6, [r0] - cmp r6, 0x19 - bne _080224CE - movs r5, 0x29 - ands r5, r4 - cmp r5, 0 - bne _080224CE - ldr r0, _08022508 @ =gBankAttacker - ldrb r0, [r0] - ldr r7, _0802250C @ =gCurrentMove - ldrh r1, [r7] - bl move_weather_interaction - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x2 - bne _080224CE - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _08022494 - movs r0, 0x6 - ands r4, r0 - cmp r4, 0x6 - bne _080224CE -_08022494: - ldr r2, _08022510 @ =gBattleMoves - ldrh r1, [r7] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0 - beq _080224CE - ldr r3, _08022514 @ =gLastUsedAbility - strb r6, [r3] - ldr r2, _08022518 @ =gBattleMoveFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - ldr r1, _0802251C @ =gMoveHitWith - mov r2, r8 - ldrb r0, [r2] - lsls r0, 1 - adds r0, r1 - strh r5, [r0] - ldr r1, _08022520 @ =gBattleCommunication - movs r0, 0x3 - strb r0, [r1, 0x6] - ldrb r0, [r2] - ldrb r1, [r3] - bl RecordAbilityBattle -_080224CE: - ldr r0, _08022518 @ =gBattleMoveFlags - ldrb r1, [r0] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080224EC - ldr r2, _08022524 @ =gProtectStructs - ldr r0, _08022508 @ =gBankAttacker - ldrb r1, [r0] - lsls r1, 4 - adds r1, r2 - ldrb r0, [r1, 0x1] - movs r2, 0x2 - orrs r0, r2 - strb r0, [r1, 0x1] -_080224EC: - ldr r1, _08022528 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08022500: .4byte gBattleMons -_08022504: .4byte gBankTarget -_08022508: .4byte gBankAttacker -_0802250C: .4byte gCurrentMove -_08022510: .4byte gBattleMoves -_08022514: .4byte gLastUsedAbility -_08022518: .4byte gBattleMoveFlags -_0802251C: .4byte gMoveHitWith -_08022520: .4byte gBattleCommunication -_08022524: .4byte gProtectStructs -_08022528: .4byte gBattlescriptCurrInstr - thumb_func_end atk4A_damageflags - - thumb_func_start atk4B_cmd4b -atk4B_cmd4b: @ 802252C - push {r4,lr} - ldr r4, _08022568 @ =gActiveBank - ldr r0, _0802256C @ =gBankAttacker - ldrb r0, [r0] - strb r0, [r4] - ldr r2, _08022570 @ =gHitMarker - ldr r1, _08022574 @ =gBitTable - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - lsls r1, 28 - ldr r0, [r2] - ands r0, r1 - cmp r0, 0 - bne _0802255A - movs r0, 0 - movs r1, 0 - bl dp01_build_cmdbuf_x06_a - ldrb r0, [r4] - bl MarkBufferBankForExecution -_0802255A: - ldr r1, _08022578 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08022568: .4byte gActiveBank -_0802256C: .4byte gBankAttacker -_08022570: .4byte gHitMarker -_08022574: .4byte gBitTable -_08022578: .4byte gBattlescriptCurrInstr - thumb_func_end atk4B_cmd4b - - thumb_func_start atk4C_switch1 -atk4C_switch1: @ 802257C - push {r4-r6,lr} - ldr r0, _080225D4 @ =gBattleExecBuffer - ldr r0, [r0] - cmp r0, 0 - bne _080225CC - ldr r5, _080225D8 @ =gBattlescriptCurrInstr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - bl sub_8015150 - ldr r4, _080225DC @ =gActiveBank - strb r0, [r4] - ldr r3, _080225E0 @ =gBattlePartyID - ldrb r0, [r4] - lsls r1, r0, 1 - adds r1, r3 - ldr r2, _080225E4 @ =0x02000000 - ldr r6, _080225E8 @ =0x00016068 - adds r0, r6 - adds r0, r2 - ldrb r0, [r0] - strh r0, [r1] - ldr r1, _080225EC @ =gBitTable - ldrb r0, [r4] - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0] - movs r0, 0 - movs r1, 0 - bl EmitGetAttributes - ldrb r0, [r4] - bl MarkBufferBankForExecution - ldr r0, [r5] - adds r0, 0x2 - str r0, [r5] -_080225CC: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080225D4: .4byte gBattleExecBuffer -_080225D8: .4byte gBattlescriptCurrInstr -_080225DC: .4byte gActiveBank -_080225E0: .4byte gBattlePartyID -_080225E4: .4byte 0x02000000 -_080225E8: .4byte 0x00016068 -_080225EC: .4byte gBitTable - thumb_func_end atk4C_switch1 - - thumb_func_start sub_80225F0 -sub_80225F0: @ 80225F0 - push {r4-r7,lr} - sub sp, 0x58 - ldr r0, _0802274C @ =gBattleExecBuffer - ldr r0, [r0] - cmp r0, 0 - beq _080225FE - b _08022744 -_080225FE: - ldr r0, _08022750 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - bl sub_8015150 - ldr r4, _08022754 @ =gActiveBank - strb r0, [r4] - ldr r6, _08022758 @ =gBattleMons - ldrb r0, [r4] - movs r5, 0x58 - adds r1, r0, 0 - muls r1, r5 - adds r1, r6 - mov r0, sp - movs r2, 0x58 - bl memcpy - ldrb r0, [r4] - muls r0, r5 - adds r3, r0, r6 - movs r2, 0 - ldr r5, _0802275C @ =gBattleBufferB - adds r7, r4, 0 -_0802262C: - adds r0, r3, r2 - ldrb r1, [r4] - lsls r1, 9 - adds r1, 0x4 - adds r1, r2, r1 - adds r1, r5 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0x57 - bls _0802262C - ldr r4, _08022758 @ =gBattleMons - ldrb r0, [r7] - movs r6, 0x58 - adds r2, r0, 0 - muls r2, r6 - adds r2, r4 - ldr r3, _08022760 @ =gBaseStats - ldrh r1, [r2] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x6] - adds r2, 0x21 - strb r0, [r2] - ldrb r0, [r7] - adds r1, r0, 0 - muls r1, r6 - adds r1, r4 - ldrh r2, [r1] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x7] - adds r1, 0x22 - strb r0, [r1] - ldrb r0, [r7] - adds r1, r0, 0 - muls r1, r6 - adds r1, r4 - ldrh r0, [r1] - ldrb r1, [r1, 0x17] - lsrs r1, 7 - bl GetAbilityBySpecies - ldrb r1, [r7] - muls r1, r6 - adds r1, r4 - adds r1, 0x20 - strb r0, [r1] - ldrb r0, [r7] - bl GetBankSide - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _08022764 @ =gWishFutureKnock - adds r0, 0x29 - adds r0, r2, r0 - ldrb r1, [r0] - ldr r3, _08022768 @ =gBitTable - ldr r2, _0802276C @ =gBattlePartyID - ldrb r5, [r7] - lsls r0, r5, 1 - adds r0, r2 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r3 - ldr r0, [r0] - ands r1, r0 - mov r12, r4 - cmp r1, 0 - beq _080226CA - adds r0, r5, 0 - muls r0, r6 - add r0, r12 - movs r1, 0 - strh r1, [r0, 0x2E] -_080226CA: - ldr r2, _08022770 @ =gBattleMoves - ldr r0, _08022774 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0x7F - bne _08022710 - movs r2, 0 - adds r4, r7, 0 - movs r6, 0x58 - mov r5, r12 - adds r5, 0x18 - add r3, sp, 0x18 -_080226EA: - ldrb r0, [r4] - adds r1, r0, 0 - muls r1, r6 - adds r1, r2, r1 - adds r1, r5 - adds r0, r3, r2 - ldrb r0, [r0] - strb r0, [r1] - adds r2, 0x1 - cmp r2, 0x7 - ble _080226EA - ldrb r1, [r7] - movs r0, 0x58 - muls r0, r1 - mov r1, r12 - adds r1, 0x50 - adds r0, r1 - ldr r1, [sp, 0x50] - str r1, [r0] -_08022710: - bl SwitchInClearStructs - ldr r0, _08022778 @ =0x02000000 - ldr r3, _08022754 @ =gActiveBank - ldrb r2, [r3] - ldr r1, _0802277C @ =0x00016003 - adds r0, r1 - strb r2, [r0] - ldr r1, _08022780 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x7 - strb r0, [r1, 0x1] - strb r2, [r1, 0x2] - ldr r2, _0802276C @ =gBattlePartyID - ldrb r0, [r3] - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldr r1, _08022750 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] -_08022744: - add sp, 0x58 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802274C: .4byte gBattleExecBuffer -_08022750: .4byte gBattlescriptCurrInstr -_08022754: .4byte gActiveBank -_08022758: .4byte gBattleMons -_0802275C: .4byte gBattleBufferB -_08022760: .4byte gBaseStats -_08022764: .4byte gWishFutureKnock -_08022768: .4byte gBitTable -_0802276C: .4byte gBattlePartyID -_08022770: .4byte gBattleMoves -_08022774: .4byte gCurrentMove -_08022778: .4byte 0x02000000 -_0802277C: .4byte 0x00016003 -_08022780: .4byte gBattleTextBuff1 - thumb_func_end sub_80225F0 - - thumb_func_start sub_8022784 -sub_8022784: @ 8022784 - push {r4,r5,lr} - ldr r0, _0802280C @ =gBattleExecBuffer - ldr r0, [r0] - cmp r0, 0 - bne _08022806 - ldr r0, _08022810 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - bl sub_8015150 - ldr r4, _08022814 @ =gActiveBank - strb r0, [r4] - ldrb r0, [r4] - bl GetBankSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080227D0 - ldr r0, _08022818 @ =gBattleTypeFlags - ldrh r1, [r0] - ldr r0, _0802281C @ =0x00000902 - ands r0, r1 - cmp r0, 0 - bne _080227D0 - ldr r2, _08022820 @ =gBattleMons - ldrb r1, [r4] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrh r0, [r0] - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x2 - bl GetNationalPokedexFlag -_080227D0: - ldr r2, _08022824 @ =gAbsentBankFlags - ldr r1, _08022828 @ =gBitTable - ldr r5, _08022814 @ =gActiveBank - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - ldrb r0, [r2] - bics r0, r1 - strb r0, [r2] - ldr r1, _0802282C @ =gBattlePartyID - ldrb r0, [r5] - lsls r0, 1 - adds r0, r1 - ldrb r1, [r0] - ldr r4, _08022810 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r2, [r0, 0x2] - movs r0, 0 - bl sub_800C704 - ldrb r0, [r5] - bl MarkBufferBankForExecution - ldr r0, [r4] - adds r0, 0x3 - str r0, [r4] -_08022806: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802280C: .4byte gBattleExecBuffer -_08022810: .4byte gBattlescriptCurrInstr -_08022814: .4byte gActiveBank -_08022818: .4byte gBattleTypeFlags -_0802281C: .4byte 0x00000902 -_08022820: .4byte gBattleMons -_08022824: .4byte gAbsentBankFlags -_08022828: .4byte gBitTable -_0802282C: .4byte gBattlePartyID - thumb_func_end sub_8022784 - - thumb_func_start sub_8022830 -sub_8022830: @ 8022830 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r4, _08022894 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r1, [r0, 0x1] - movs r0, 0x7F - ands r0, r1 - bl sub_8015150 - ldr r3, _08022898 @ =gActiveBank - strb r0, [r3] - ldr r2, [r4] - ldrb r1, [r2, 0x1] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080228A8 - ldr r1, _0802289C @ =gBattleMons - ldrb r3, [r3] - movs r0, 0x58 - muls r0, r3 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - ldr r1, _080228A0 @ =0x0400e000 - ands r0, r1 - cmp r0, 0 - bne _0802287C - ldr r1, _080228A4 @ =gStatuses3 - lsls r0, r3, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 3 - ands r0, r1 - cmp r0, 0 - beq _080228A8 -_0802287C: - ldrb r1, [r2, 0x2] - ldrb r0, [r2, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08022A2C - .align 2, 0 -_08022894: .4byte gBattlescriptCurrInstr -_08022898: .4byte gActiveBank -_0802289C: .4byte gBattleMons -_080228A0: .4byte 0x0400e000 -_080228A4: .4byte gStatuses3 -_080228A8: - ldr r5, _08022934 @ =gBattleTypeFlags - ldrh r1, [r5] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08022948 - ldr r4, _08022938 @ =gActiveBank - ldrb r0, [r4] - bl GetBankSide - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0802293C @ =gPlayerParty - mov r8, r1 - cmp r0, 0x1 - bne _080228CC - ldr r0, _08022940 @ =gEnemyParty - mov r8, r0 -_080228CC: - movs r5, 0 - ldrb r0, [r4] - bl sub_803FC34 - lsls r0, 24 - lsrs r0, 24 - bl sub_803FBFC - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bne _080228E6 - movs r5, 0x3 -_080228E6: - adds r6, r5, 0x3 - cmp r5, r6 - bge _0802292E - ldr r7, _08022944 @ =gBattlePartyID -_080228EE: - movs r0, 0x64 - muls r0, r5 - mov r1, r8 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _08022928 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _08022928 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _08022928 - ldr r0, _08022938 @ =gActiveBank - ldrb r0, [r0] - lsls r0, 1 - adds r0, r7 - ldrh r0, [r0] - cmp r0, r5 - bne _0802292E -_08022928: - adds r5, 0x1 - cmp r5, r6 - blt _080228EE -_0802292E: - cmp r5, r6 - beq _080229FC - b _08022A24 - .align 2, 0 -_08022934: .4byte gBattleTypeFlags -_08022938: .4byte gActiveBank -_0802293C: .4byte gPlayerParty -_08022940: .4byte gEnemyParty -_08022944: .4byte gBattlePartyID -_08022948: - ldr r0, _08022978 @ =gActiveBank - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bne _08022988 - movs r0, 0x1 - bl GetBankByPlayerAI - lsls r0, 24 - lsrs r7, r0, 24 - ldrh r1, [r5] - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _0802297C - movs r0, 0x3 - bl GetBankByPlayerAI - lsls r0, 24 - lsrs r6, r0, 24 - b _0802297E - .align 2, 0 -_08022978: .4byte gActiveBank -_0802297C: - adds r6, r7, 0 -_0802297E: - ldr r0, _08022984 @ =gEnemyParty - mov r8, r0 - b _080229AE - .align 2, 0 -_08022984: .4byte gEnemyParty -_08022988: - movs r0, 0 - bl GetBankByPlayerAI - lsls r0, 24 - lsrs r7, r0, 24 - ldrh r1, [r5] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080229A8 - movs r0, 0x2 - bl GetBankByPlayerAI - lsls r0, 24 - lsrs r6, r0, 24 - b _080229AA -_080229A8: - adds r6, r7, 0 -_080229AA: - ldr r1, _08022A18 @ =gPlayerParty - mov r8, r1 -_080229AE: - movs r5, 0 -_080229B0: - movs r0, 0x64 - muls r0, r5 - mov r1, r8 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _080229F2 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _080229F2 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _080229F2 - ldr r1, _08022A1C @ =gBattlePartyID - lsls r0, r7, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r5, r0 - beq _080229F2 - lsls r0, r6, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r5, r0 - bne _080229F8 -_080229F2: - adds r5, 0x1 - cmp r5, 0x5 - ble _080229B0 -_080229F8: - cmp r5, 0x6 - bne _08022A24 -_080229FC: - ldr r3, _08022A20 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x2] - ldrb r0, [r2, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08022A2C - .align 2, 0 -_08022A18: .4byte gPlayerParty -_08022A1C: .4byte gBattlePartyID -_08022A20: .4byte gBattlescriptCurrInstr -_08022A24: - ldr r1, _08022A38 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x6 - str r0, [r1] -_08022A2C: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08022A38: .4byte gBattlescriptCurrInstr - thumb_func_end sub_8022830 - - thumb_func_start sub_8022A3C -sub_8022A3C: @ 8022A3C - push {r4,r5,lr} - sub sp, 0x4 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - ldr r4, _08022A84 @ =0x02000000 - ldr r5, _08022A88 @ =gActiveBank - ldrb r0, [r5] - ldr r3, _08022A8C @ =0x00016064 - adds r1, r0, r3 - adds r1, r4 - ldr r3, _08022A90 @ =gBattlePartyID - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - strb r0, [r1] - ldrb r1, [r5] - lsls r0, r1, 1 - adds r0, r1 - ldr r1, _08022A94 @ =0x0001606c - adds r4, r1 - adds r0, r4 - str r0, [sp] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl dp01_build_cmdbuf_x16_a_b_c_ptr_d_e_f - ldrb r0, [r5] - bl MarkBufferBankForExecution - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08022A84: .4byte 0x02000000 -_08022A88: .4byte gActiveBank -_08022A8C: .4byte 0x00016064 -_08022A90: .4byte gBattlePartyID -_08022A94: .4byte 0x0001606c - thumb_func_end sub_8022A3C - - thumb_func_start atk50_openpartyscreen -atk50_openpartyscreen: @ 8022A98 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - movs r7, 0 - movs r0, 0 - mov r9, r0 - ldr r6, _08022B44 @ =gBattlescriptCurrInstr - ldr r1, [r6] - ldrb r2, [r1, 0x2] - ldrb r0, [r1, 0x3] - lsls r0, 8 - orrs r2, r0 - ldrb r0, [r1, 0x4] - lsls r0, 16 - orrs r2, r0 - ldrb r0, [r1, 0x5] - lsls r0, 24 - orrs r2, r0 - mov r8, r2 - ldrb r2, [r1, 0x1] - adds r0, r2, 0 - mov r12, r6 - cmp r0, 0x5 - beq _08022ACE - b _08022F74 -_08022ACE: - ldr r0, _08022B48 @ =gBattleTypeFlags - ldrh r0, [r0] - movs r1, 0x41 - ands r1, r0 - cmp r1, 0x1 - beq _08022BBC - ldr r1, _08022B4C @ =gActiveBank - strb r7, [r1] - ldr r0, _08022B50 @ =gNoOfAllBanks - ldrb r0, [r0] - cmp r7, r0 - bcc _08022AE8 - b _08022F62 -_08022AE8: - ldr r7, _08022B54 @ =gHitMarker - ldr r6, _08022B58 @ =gBitTable - adds r4, r1, 0 - ldr r0, _08022B5C @ =gAbsentBankFlags - mov r8, r0 -_08022AF2: - ldrb r2, [r4] - lsls r0, r2, 2 - adds r0, r6 - ldr r1, [r0] - lsls r1, 28 - ldr r0, [r7] - ands r0, r1 - cmp r0, 0 - beq _08022B94 - adds r0, r2, 0 - movs r1, 0x6 - movs r2, 0x6 - bl sub_8018018 - lsls r0, 24 - cmp r0, 0 - beq _08022B60 - ldrb r0, [r4] - lsls r0, 2 - adds r0, r6 - ldr r0, [r0] - mov r2, r8 - ldrb r1, [r2] - orrs r0, r1 - strb r0, [r2] - ldrb r0, [r4] - lsls r0, 2 - adds r0, r6 - ldr r1, [r0] - lsls r1, 28 - ldr r0, [r7] - bics r0, r1 - str r0, [r7] - movs r0, 0 - movs r1, 0x2 - bl EmitLinkStandbyMsg - ldrb r0, [r4] - bl MarkBufferBankForExecution - b _08022BA2 - .align 2, 0 -_08022B44: .4byte gBattlescriptCurrInstr -_08022B48: .4byte gBattleTypeFlags -_08022B4C: .4byte gActiveBank -_08022B50: .4byte gNoOfAllBanks -_08022B54: .4byte gHitMarker -_08022B58: .4byte gBitTable -_08022B5C: .4byte gAbsentBankFlags -_08022B60: - ldr r5, _08022B90 @ =gSpecialStatuses - ldrb r0, [r4] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - ldrb r0, [r1] - lsls r0, 25 - cmp r0, 0 - blt _08022BA2 - movs r0, 0x6 - bl sub_8022A3C - ldrb r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - b _08022BA2 - .align 2, 0 -_08022B90: .4byte gSpecialStatuses -_08022B94: - movs r0, 0 - movs r1, 0x2 - bl EmitLinkStandbyMsg - ldrb r0, [r4] - bl MarkBufferBankForExecution -_08022BA2: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - ldr r1, _08022BB8 @ =gNoOfAllBanks - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r1] - cmp r0, r1 - bcc _08022AF2 - b _08022F62 - .align 2, 0 -_08022BB8: .4byte gNoOfAllBanks -_08022BBC: - ands r1, r0 - cmp r1, 0 - bne _08022BC4 - b _08022F62 -_08022BC4: - ldr r0, _08022C1C @ =gHitMarker - mov r8, r0 - ldr r0, [r0] - lsrs r5, r0, 28 - ldr r6, _08022C20 @ =gBitTable - ldr r0, [r6] - ands r0, r5 - cmp r0, 0 - beq _08022C7E - ldr r4, _08022C24 @ =gActiveBank - strb r7, [r4] - movs r0, 0 - movs r1, 0x6 - movs r2, 0x6 - bl sub_8018018 - lsls r0, 24 - cmp r0, 0 - beq _08022C2C - ldr r2, _08022C28 @ =gAbsentBankFlags - ldrb r0, [r4] - lsls r0, 2 - adds r0, r6 - ldr r0, [r0] - ldrb r1, [r2] - orrs r0, r1 - strb r0, [r2] - ldrb r0, [r4] - lsls r0, 2 - adds r0, r6 - ldr r1, [r0] - lsls r1, 28 - mov r2, r8 - ldr r0, [r2] - bics r0, r1 - str r0, [r2] - movs r0, 0 - bl dp01_build_cmdbuf_x2A_2A_2A_2A - ldrb r0, [r4] - bl MarkBufferBankForExecution - b _08022C7E - .align 2, 0 -_08022C1C: .4byte gHitMarker -_08022C20: .4byte gBitTable -_08022C24: .4byte gActiveBank -_08022C28: .4byte gAbsentBankFlags -_08022C2C: - ldr r6, _08022C60 @ =gSpecialStatuses - ldrb r0, [r4] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r0, [r1] - lsls r0, 25 - cmp r0, 0 - blt _08022C6C - ldr r0, _08022C64 @ =0x02000000 - ldr r1, _08022C68 @ =0x0001606a - adds r0, r1 - ldrb r0, [r0] - bl sub_8022A3C - ldrb r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - b _08022C7E - .align 2, 0 -_08022C60: .4byte gSpecialStatuses -_08022C64: .4byte 0x02000000 -_08022C68: .4byte 0x0001606a -_08022C6C: - movs r0, 0 - movs r1, 0x2 - bl EmitLinkStandbyMsg - ldrb r0, [r4] - bl MarkBufferBankForExecution - movs r2, 0x1 - mov r9, r2 -_08022C7E: - ldr r6, _08022CD8 @ =gBitTable - ldr r0, [r6, 0x8] - ands r0, r5 - cmp r0, 0 - beq _08022D40 - ldr r0, [r6] - ands r0, r5 - cmp r0, 0 - bne _08022D40 - ldr r4, _08022CDC @ =gActiveBank - movs r0, 0x2 - strb r0, [r4] - movs r0, 0x2 - movs r1, 0x6 - movs r2, 0x6 - bl sub_8018018 - lsls r0, 24 - cmp r0, 0 - beq _08022CE8 - ldr r2, _08022CE0 @ =gAbsentBankFlags - ldrb r0, [r4] - lsls r0, 2 - adds r0, r6 - ldr r0, [r0] - ldrb r1, [r2] - orrs r0, r1 - strb r0, [r2] - ldr r2, _08022CE4 @ =gHitMarker - ldrb r0, [r4] - lsls r0, 2 - adds r0, r6 - ldr r1, [r0] - lsls r1, 28 - ldr r0, [r2] - bics r0, r1 - str r0, [r2] - movs r0, 0 - bl dp01_build_cmdbuf_x2A_2A_2A_2A - ldrb r0, [r4] - bl MarkBufferBankForExecution - b _08022D40 - .align 2, 0 -_08022CD8: .4byte gBitTable -_08022CDC: .4byte gActiveBank -_08022CE0: .4byte gAbsentBankFlags -_08022CE4: .4byte gHitMarker -_08022CE8: - ldr r6, _08022D1C @ =gSpecialStatuses - ldrb r0, [r4] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r0, [r1] - lsls r0, 25 - cmp r0, 0 - blt _08022D28 - ldr r0, _08022D20 @ =0x02000000 - ldr r1, _08022D24 @ =0x00016068 - adds r0, r1 - ldrb r0, [r0] - bl sub_8022A3C - ldrb r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - b _08022D40 - .align 2, 0 -_08022D1C: .4byte gSpecialStatuses -_08022D20: .4byte 0x02000000 -_08022D24: .4byte 0x00016068 -_08022D28: - movs r0, 0x1 - mov r2, r9 - ands r0, r2 - cmp r0, 0 - bne _08022D40 - movs r0, 0 - movs r1, 0x2 - bl EmitLinkStandbyMsg - ldrb r0, [r4] - bl MarkBufferBankForExecution -_08022D40: - ldr r6, _08022D90 @ =gBitTable - ldr r0, [r6, 0x4] - ands r0, r5 - cmp r0, 0 - beq _08022DF6 - ldr r4, _08022D94 @ =gActiveBank - movs r0, 0x1 - strb r0, [r4] - movs r0, 0x1 - movs r1, 0x6 - movs r2, 0x6 - bl sub_8018018 - lsls r0, 24 - cmp r0, 0 - beq _08022DA0 - ldr r2, _08022D98 @ =gAbsentBankFlags - ldrb r0, [r4] - lsls r0, 2 - adds r0, r6 - ldr r0, [r0] - ldrb r1, [r2] - orrs r0, r1 - strb r0, [r2] - ldr r2, _08022D9C @ =gHitMarker - ldrb r0, [r4] - lsls r0, 2 - adds r0, r6 - ldr r1, [r0] - lsls r1, 28 - ldr r0, [r2] - bics r0, r1 - str r0, [r2] - movs r0, 0 - bl dp01_build_cmdbuf_x2A_2A_2A_2A - ldrb r0, [r4] - bl MarkBufferBankForExecution - b _08022DF6 - .align 2, 0 -_08022D90: .4byte gBitTable -_08022D94: .4byte gActiveBank -_08022D98: .4byte gAbsentBankFlags -_08022D9C: .4byte gHitMarker -_08022DA0: - ldr r6, _08022DD4 @ =gSpecialStatuses - ldrb r0, [r4] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r0, [r1] - lsls r0, 25 - cmp r0, 0 - blt _08022DE0 - ldr r0, _08022DD8 @ =0x02000000 - ldr r1, _08022DDC @ =0x0001606b - adds r0, r1 - ldrb r0, [r0] - bl sub_8022A3C - ldrb r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - b _08022DF6 - .align 2, 0 -_08022DD4: .4byte gSpecialStatuses -_08022DD8: .4byte 0x02000000 -_08022DDC: .4byte 0x0001606b -_08022DE0: - movs r0, 0 - movs r1, 0x2 - bl EmitLinkStandbyMsg - ldrb r0, [r4] - bl MarkBufferBankForExecution - movs r0, 0x2 - mov r2, r9 - orrs r2, r0 - mov r9, r2 -_08022DF6: - ldr r6, _08022E50 @ =gBitTable - ldr r0, [r6, 0xC] - ands r0, r5 - cmp r0, 0 - beq _08022EB8 - ldr r0, [r6, 0x4] - ands r0, r5 - cmp r0, 0 - bne _08022EB8 - ldr r4, _08022E54 @ =gActiveBank - movs r0, 0x3 - strb r0, [r4] - movs r0, 0x3 - movs r1, 0x6 - movs r2, 0x6 - bl sub_8018018 - lsls r0, 24 - cmp r0, 0 - beq _08022E60 - ldr r2, _08022E58 @ =gAbsentBankFlags - ldrb r0, [r4] - lsls r0, 2 - adds r0, r6 - ldr r0, [r0] - ldrb r1, [r2] - orrs r0, r1 - strb r0, [r2] - ldr r2, _08022E5C @ =gHitMarker - ldrb r0, [r4] - lsls r0, 2 - adds r0, r6 - ldr r1, [r0] - lsls r1, 28 - ldr r0, [r2] - bics r0, r1 - str r0, [r2] - movs r0, 0 - bl dp01_build_cmdbuf_x2A_2A_2A_2A - ldrb r0, [r4] - bl MarkBufferBankForExecution - b _08022EB8 - .align 2, 0 -_08022E50: .4byte gBitTable -_08022E54: .4byte gActiveBank -_08022E58: .4byte gAbsentBankFlags -_08022E5C: .4byte gHitMarker -_08022E60: - ldr r6, _08022E94 @ =gSpecialStatuses - ldrb r0, [r4] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r0, [r1] - lsls r0, 25 - cmp r0, 0 - blt _08022EA0 - ldr r0, _08022E98 @ =0x02000000 - ldr r1, _08022E9C @ =0x00016069 - adds r0, r1 - ldrb r0, [r0] - bl sub_8022A3C - ldrb r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - b _08022EB8 - .align 2, 0 -_08022E94: .4byte gSpecialStatuses -_08022E98: .4byte 0x02000000 -_08022E9C: .4byte 0x00016069 -_08022EA0: - movs r0, 0x2 - mov r2, r9 - ands r2, r0 - cmp r2, 0 - bne _08022EB8 - movs r0, 0 - movs r1, 0x2 - bl EmitLinkStandbyMsg - ldrb r0, [r4] - bl MarkBufferBankForExecution -_08022EB8: - ldr r1, _08022EE8 @ =gSpecialStatuses - ldrb r0, [r1] - lsls r0, 25 - cmp r0, 0 - blt _08022F0C - adds r0, r1, 0 - adds r0, 0x28 - ldrb r0, [r0] - lsls r0, 25 - cmp r0, 0 - blt _08022F0C - cmp r5, 0 - beq _08022F0C - ldr r0, _08022EEC @ =gAbsentBankFlags - ldrb r1, [r0] - ldr r0, _08022EF0 @ =gBitTable - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _08022EF8 - ldr r1, _08022EF4 @ =gActiveBank - movs r0, 0x2 - strb r0, [r1] - b _08022EFC - .align 2, 0 -_08022EE8: .4byte gSpecialStatuses -_08022EEC: .4byte gAbsentBankFlags -_08022EF0: .4byte gBitTable -_08022EF4: .4byte gActiveBank -_08022EF8: - ldr r0, _08022F3C @ =gActiveBank - strb r1, [r0] -_08022EFC: - movs r0, 0 - movs r1, 0x2 - bl EmitLinkStandbyMsg - ldr r0, _08022F3C @ =gActiveBank - ldrb r0, [r0] - bl MarkBufferBankForExecution -_08022F0C: - ldr r1, _08022F40 @ =gSpecialStatuses - ldrb r0, [r1, 0x14] - lsls r0, 25 - cmp r0, 0 - blt _08022F62 - adds r0, r1, 0 - adds r0, 0x3C - ldrb r0, [r0] - lsls r0, 25 - cmp r0, 0 - blt _08022F62 - cmp r5, 0 - beq _08022F62 - ldr r0, _08022F44 @ =gAbsentBankFlags - ldrb r0, [r0] - ldr r1, _08022F48 @ =gBitTable - ldr r1, [r1, 0x4] - ands r0, r1 - cmp r0, 0 - beq _08022F4C - ldr r1, _08022F3C @ =gActiveBank - movs r0, 0x3 - b _08022F50 - .align 2, 0 -_08022F3C: .4byte gActiveBank -_08022F40: .4byte gSpecialStatuses -_08022F44: .4byte gAbsentBankFlags -_08022F48: .4byte gBitTable -_08022F4C: - ldr r1, _08022F6C @ =gActiveBank - movs r0, 0x1 -_08022F50: - strb r0, [r1] - movs r0, 0 - movs r1, 0x2 - bl EmitLinkStandbyMsg - ldr r0, _08022F6C @ =gActiveBank - ldrb r0, [r0] - bl MarkBufferBankForExecution -_08022F62: - ldr r1, _08022F70 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x6 - str r0, [r1] - b _08023302 - .align 2, 0 -_08022F6C: .4byte gActiveBank -_08022F70: .4byte gBattlescriptCurrInstr -_08022F74: - cmp r0, 0x6 - beq _08022F7A - b _08023170 -_08022F7A: - ldr r0, _08022FF0 @ =gBattleTypeFlags - ldrh r2, [r0] - movs r0, 0x40 - ands r0, r2 - cmp r0, 0 - beq _08022F88 - b _0802310C -_08022F88: - movs r0, 0x1 - ands r0, r2 - cmp r0, 0 - bne _08022F92 - b _0802310C -_08022F92: - ldr r7, _08022FF4 @ =gHitMarker - ldr r0, [r7] - lsrs r5, r0, 28 - ldr r4, _08022FF8 @ =gBitTable - ldr r0, [r4, 0x8] - ands r0, r5 - cmp r0, 0 - beq _0802303A - ldr r0, [r4] - ands r0, r5 - cmp r0, 0 - beq _0802303A - ldr r6, _08022FFC @ =gActiveBank - movs r0, 0x2 - strb r0, [r6] - ldr r0, _08023000 @ =gBattleBufferB - ldrb r1, [r0, 0x1] - movs r0, 0x2 - movs r2, 0x6 - bl sub_8018018 - lsls r0, 24 - cmp r0, 0 - beq _08023008 - ldr r2, _08023004 @ =gAbsentBankFlags - ldrb r0, [r6] - lsls r0, 2 - adds r0, r4 - ldr r0, [r0] - ldrb r1, [r2] - orrs r0, r1 - strb r0, [r2] - ldrb r0, [r6] - lsls r0, 2 - adds r0, r4 - ldr r1, [r0] - lsls r1, 28 - ldr r0, [r7] - bics r0, r1 - str r0, [r7] - movs r0, 0 - bl dp01_build_cmdbuf_x2A_2A_2A_2A - ldrb r0, [r6] - bl MarkBufferBankForExecution - b _0802303A - .align 2, 0 -_08022FF0: .4byte gBattleTypeFlags -_08022FF4: .4byte gHitMarker -_08022FF8: .4byte gBitTable -_08022FFC: .4byte gActiveBank -_08023000: .4byte gBattleBufferB -_08023004: .4byte gAbsentBankFlags -_08023008: - ldr r4, _08023098 @ =gSpecialStatuses - ldrb r0, [r6] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r0, [r1] - lsls r0, 25 - cmp r0, 0 - blt _0802303A - ldr r0, _0802309C @ =0x02000000 - ldr r1, _080230A0 @ =0x00016068 - adds r0, r1 - ldrb r0, [r0] - bl sub_8022A3C - ldrb r1, [r6] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] -_0802303A: - ldr r4, _080230A4 @ =gBitTable - ldr r0, [r4, 0xC] - ands r0, r5 - cmp r0, 0 - beq _080230EE - ldr r0, [r4, 0x4] - ands r5, r0 - cmp r5, 0 - beq _080230EE - ldr r5, _080230A8 @ =gActiveBank - movs r0, 0x3 - strb r0, [r5] - ldr r0, _080230AC @ =gBattleBufferB - ldr r2, _080230B0 @ =0x00000201 - adds r0, r2 - ldrb r1, [r0] - movs r0, 0x3 - movs r2, 0x6 - bl sub_8018018 - lsls r0, 24 - cmp r0, 0 - beq _080230BC - ldr r2, _080230B4 @ =gAbsentBankFlags - ldrb r0, [r5] - lsls r0, 2 - adds r0, r4 - ldr r0, [r0] - ldrb r1, [r2] - orrs r0, r1 - strb r0, [r2] - ldr r2, _080230B8 @ =gHitMarker - ldrb r0, [r5] - lsls r0, 2 - adds r0, r4 - ldr r1, [r0] - lsls r1, 28 - ldr r0, [r2] - bics r0, r1 - str r0, [r2] - movs r0, 0 - bl dp01_build_cmdbuf_x2A_2A_2A_2A - ldrb r0, [r5] - bl MarkBufferBankForExecution - b _080230EE - .align 2, 0 -_08023098: .4byte gSpecialStatuses -_0802309C: .4byte 0x02000000 -_080230A0: .4byte 0x00016068 -_080230A4: .4byte gBitTable -_080230A8: .4byte gActiveBank -_080230AC: .4byte gBattleBufferB -_080230B0: .4byte 0x00000201 -_080230B4: .4byte gAbsentBankFlags -_080230B8: .4byte gHitMarker -_080230BC: - ldr r4, _080230FC @ =gSpecialStatuses - ldrb r0, [r5] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r0, [r1] - lsls r0, 25 - cmp r0, 0 - blt _080230EE - ldr r0, _08023100 @ =0x02000000 - ldr r1, _08023104 @ =0x00016069 - adds r0, r1 - ldrb r0, [r0] - bl sub_8022A3C - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] -_080230EE: - ldr r1, _08023108 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x6 - str r0, [r1] - mov r12, r1 - b _08023110 - .align 2, 0 -_080230FC: .4byte gSpecialStatuses -_08023100: .4byte 0x02000000 -_08023104: .4byte 0x00016069 -_08023108: .4byte gBattlescriptCurrInstr -_0802310C: - adds r0, r1, 0x6 - str r0, [r6] -_08023110: - ldr r0, _08023160 @ =gHitMarker - ldr r0, [r0] - lsrs r5, r0, 28 - ldr r1, _08023164 @ =gBank1 - movs r0, 0 - strb r0, [r1] - ldr r4, _08023168 @ =gBitTable - ldr r2, [r4] - ands r2, r5 - ldr r6, _0802316C @ =gNoOfAllBanks - cmp r2, 0 - bne _0802314C - adds r7, r6, 0 - ldrb r0, [r6] - cmp r2, r0 - bcs _0802314C - adds r3, r1, 0 -_08023132: - ldrb r0, [r3] - adds r0, 0x1 - strb r0, [r3] - ldrb r2, [r3] - lsls r0, r2, 2 - adds r0, r4 - ldr r0, [r0] - ands r0, r5 - cmp r0, 0 - bne _0802314C - ldrb r0, [r7] - cmp r2, r0 - bcc _08023132 -_0802314C: - ldrb r0, [r1] - ldrb r6, [r6] - cmp r0, r6 - beq _08023156 - b _08023302 -_08023156: - mov r1, r8 - mov r2, r12 - str r1, [r2] - b _08023302 - .align 2, 0 -_08023160: .4byte gHitMarker -_08023164: .4byte gBank1 -_08023168: .4byte gBitTable -_0802316C: .4byte gNoOfAllBanks -_08023170: - movs r0, 0x80 - ands r0, r2 - movs r5, 0x1 - cmp r0, 0 - beq _0802317C - movs r5, 0 -_0802317C: - movs r0, 0x7F - ands r0, r2 - bl sub_8015150 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, _080231A4 @ =gSpecialStatuses - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 25 - cmp r0, 0 - bge _080231A8 - ldr r0, [r6] - adds r0, 0x6 - str r0, [r6] - b _08023302 - .align 2, 0 -_080231A4: .4byte gSpecialStatuses -_080231A8: - adds r0, r7, 0 - movs r1, 0x6 - movs r2, 0x6 - bl sub_8018018 - lsls r0, 24 - cmp r0, 0 - beq _080231F8 - ldr r2, _080231E8 @ =gActiveBank - strb r7, [r2] - ldr r3, _080231EC @ =gAbsentBankFlags - ldr r4, _080231F0 @ =gBitTable - ldrb r0, [r2] - lsls r0, 2 - adds r0, r4 - ldr r0, [r0] - ldrb r1, [r3] - orrs r0, r1 - strb r0, [r3] - ldr r3, _080231F4 @ =gHitMarker - ldrb r0, [r2] - lsls r0, 2 - adds r0, r4 - ldr r1, [r0] - lsls r1, 28 - ldr r0, [r3] - bics r0, r1 - str r0, [r3] - mov r0, r8 - str r0, [r6] - b _08023302 - .align 2, 0 -_080231E8: .4byte gActiveBank -_080231EC: .4byte gAbsentBankFlags -_080231F0: .4byte gBitTable -_080231F4: .4byte gHitMarker -_080231F8: - ldr r4, _080232A0 @ =gActiveBank - strb r7, [r4] - ldr r3, _080232A4 @ =0x02000000 - ldrb r0, [r4] - ldr r2, _080232A8 @ =0x00016064 - adds r1, r0, r2 - adds r1, r3 - ldr r2, _080232AC @ =gBattlePartyID - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - strb r0, [r1] - ldrb r1, [r4] - movs r0, 0x2 - eors r0, r1 - ldr r1, _080232B0 @ =0x00016068 - adds r0, r1 - adds r0, r3 - ldrb r2, [r0] - ldrb r1, [r4] - lsls r0, r1, 1 - adds r0, r1 - ldr r1, _080232B4 @ =0x0001606c - adds r3, r1 - adds r0, r3 - str r0, [sp] - movs r0, 0 - adds r1, r5, 0 - movs r3, 0 - bl dp01_build_cmdbuf_x16_a_b_c_ptr_d_e_f - ldrb r0, [r4] - bl MarkBufferBankForExecution - ldr r0, [r6] - adds r0, 0x6 - str r0, [r6] - ldrb r0, [r4] - bl GetBankIdentity - lsls r0, 24 - cmp r0, 0 - bne _0802325A - ldr r1, _080232B8 @ =gBattleResults - ldrb r0, [r1, 0x2] - cmp r0, 0xFE - bhi _0802325A - adds r0, 0x1 - strb r0, [r1, 0x2] -_0802325A: - ldr r0, _080232BC @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080232C4 - ldr r1, _080232A0 @ =gActiveBank - movs r0, 0 - strb r0, [r1] - ldr r0, _080232C0 @ =gNoOfAllBanks - ldrb r0, [r0] - cmp r0, 0 - beq _08023302 - adds r4, r1, 0 -_08023276: - ldrb r0, [r4] - cmp r0, r7 - beq _0802328A - movs r0, 0 - movs r1, 0x2 - bl EmitLinkStandbyMsg - ldrb r0, [r4] - bl MarkBufferBankForExecution -_0802328A: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - ldr r1, _080232C0 @ =gNoOfAllBanks - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r1] - cmp r0, r1 - bcc _08023276 - b _08023302 - .align 2, 0 -_080232A0: .4byte gActiveBank -_080232A4: .4byte 0x02000000 -_080232A8: .4byte 0x00016064 -_080232AC: .4byte gBattlePartyID -_080232B0: .4byte 0x00016068 -_080232B4: .4byte 0x0001606c -_080232B8: .4byte gBattleResults -_080232BC: .4byte gBattleTypeFlags -_080232C0: .4byte gNoOfAllBanks -_080232C4: - adds r0, r7, 0 - bl GetBankIdentity - movs r1, 0x1 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - bl GetBankByPlayerAI - ldr r4, _08023310 @ =gActiveBank - strb r0, [r4] - ldr r0, _08023314 @ =gAbsentBankFlags - ldrb r1, [r0] - ldr r2, _08023318 @ =gBitTable - ldrb r3, [r4] - lsls r0, r3, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _080232F4 - movs r0, 0x2 - eors r3, r0 - strb r3, [r4] -_080232F4: - movs r0, 0 - movs r1, 0x2 - bl EmitLinkStandbyMsg - ldrb r0, [r4] - bl MarkBufferBankForExecution -_08023302: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08023310: .4byte gActiveBank -_08023314: .4byte gAbsentBankFlags -_08023318: .4byte gBitTable - thumb_func_end atk50_openpartyscreen - - thumb_func_start sub_802331C -sub_802331C: @ 802331C - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, _0802334C @ =gBattleExecBuffer - ldr r0, [r0] - cmp r0, 0 - beq _0802332C - b _080234FE -_0802332C: - ldr r4, _08023350 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl sub_8015150 - ldr r7, _08023354 @ =gActiveBank - strb r0, [r7] - ldr r0, [r4] - ldrb r0, [r0, 0x2] - cmp r0, 0x1 - beq _080233A0 - cmp r0, 0x1 - bgt _08023358 - cmp r0, 0 - beq _0802335E - b _080234F6 - .align 2, 0 -_0802334C: .4byte gBattleExecBuffer -_08023350: .4byte gBattlescriptCurrInstr -_08023354: .4byte gActiveBank -_08023358: - cmp r0, 0x2 - beq _080233BC - b _080234F6 -_0802335E: - movs r3, 0 - ldr r2, _08023390 @ =gNoOfAllBanks - ldrb r0, [r2] - cmp r3, r0 - blt _0802336A - b _080234F6 -_0802336A: - ldr r0, _08023394 @ =0x02000000 - ldr r1, _08023398 @ =gBattleBufferB - movs r5, 0x80 - lsls r5, 2 - adds r4, r2, 0 - ldr r6, _0802339C @ =0x00016068 - adds r2, r0, r6 -_08023378: - ldrb r0, [r1] - cmp r0, 0x22 - bne _08023382 - ldrb r0, [r1, 0x1] - strb r0, [r2] -_08023382: - adds r1, r5 - adds r2, 0x1 - adds r3, 0x1 - ldrb r0, [r4] - cmp r3, r0 - blt _08023378 - b _080234F6 - .align 2, 0 -_08023390: .4byte gNoOfAllBanks -_08023394: .4byte 0x02000000 -_08023398: .4byte gBattleBufferB -_0802339C: .4byte 0x00016068 -_080233A0: - ldr r0, _080233B8 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080233AE - b _080234F6 -_080233AE: - ldrb r0, [r7] - bl sub_8012258 - b _080234F6 - .align 2, 0 -_080233B8: .4byte gBattleTypeFlags -_080233BC: - ldr r1, _08023484 @ =gBattleCommunication - ldr r4, _08023488 @ =gBattleBufferB - ldrb r0, [r7] - lsls r0, 9 - adds r2, r4, 0x1 - adds r0, r2 - ldrb r0, [r0] - strb r0, [r1] - ldr r6, _0802348C @ =0x02000000 - ldrb r0, [r7] - ldr r3, _08023490 @ =0x00016068 - adds r1, r0, r3 - adds r1, r6 - lsls r0, 9 - adds r0, r2 - ldrb r0, [r0] - strb r0, [r1] - ldr r0, _08023494 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080234A4 - ldrb r0, [r7] - lsls r1, r0, 1 - adds r1, r0 - ldr r5, _08023498 @ =0x0001606c - adds r1, r5 - adds r1, r6 - ldrb r2, [r1] - movs r0, 0xF - ands r0, r2 - strb r0, [r1] - ldrb r0, [r7] - lsls r1, r0, 1 - adds r1, r0 - adds r1, r5 - adds r1, r6 - lsls r0, 9 - adds r2, r4, 0x2 - mov r12, r2 - add r0, r12 - ldrb r2, [r0] - movs r3, 0xF0 - adds r0, r3, 0 - ands r0, r2 - ldrb r2, [r1] - orrs r0, r2 - strb r0, [r1] - ldrb r0, [r7] - lsls r1, r0, 1 - adds r1, r0 - ldr r2, _0802349C @ =0x0001606d - adds r1, r2 - adds r1, r6 - lsls r0, 9 - adds r4, 0x3 - mov r8, r4 - add r0, r8 - ldrb r0, [r0] - strb r0, [r1] - ldrb r0, [r7] - movs r4, 0x2 - eors r0, r4 - lsls r1, r0, 1 - adds r1, r0 - adds r1, r5 - adds r1, r6 - ldrb r2, [r1] - adds r0, r3, 0 - ands r0, r2 - strb r0, [r1] - ldrb r0, [r7] - eors r0, r4 - lsls r1, r0, 1 - adds r1, r0 - adds r1, r5 - adds r1, r6 - ldrb r0, [r7] - lsls r0, 9 - add r0, r12 - ldrb r0, [r0] - ands r3, r0 - lsrs r3, 4 - ldrb r0, [r1] - orrs r3, r0 - strb r3, [r1] - ldrb r0, [r7] - eors r4, r0 - lsls r1, r4, 1 - adds r1, r4 - ldr r3, _080234A0 @ =0x0001606e - adds r1, r3 - adds r1, r6 - ldrb r0, [r7] - lsls r0, 9 - add r0, r8 - ldrb r0, [r0] - strb r0, [r1] - b _080234AA - .align 2, 0 -_08023484: .4byte gBattleCommunication -_08023488: .4byte gBattleBufferB -_0802348C: .4byte 0x02000000 -_08023490: .4byte 0x00016068 -_08023494: .4byte gBattleTypeFlags -_08023498: .4byte 0x0001606c -_0802349C: .4byte 0x0001606d -_080234A0: .4byte 0x0001606e -_080234A4: - ldrb r0, [r7] - bl sub_8012258 -_080234AA: - ldr r1, _08023508 @ =gBattleTextBuff1 - movs r5, 0xFD - strb r5, [r1] - movs r0, 0x6 - strb r0, [r1, 0x1] - ldr r4, _0802350C @ =gBattleMons - ldr r3, _08023510 @ =gBankAttacker - ldrb r0, [r3] - movs r2, 0x58 - muls r0, r2 - adds r0, r4 - ldrh r0, [r0] - strb r0, [r1, 0x2] - ldrb r0, [r3] - muls r0, r2 - adds r0, r4 - ldrh r0, [r0] - lsrs r0, 8 - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldr r2, _08023514 @ =gBattleTextBuff2 - strb r5, [r2] - movs r0, 0x7 - strb r0, [r2, 0x1] - ldr r3, _08023518 @ =gActiveBank - ldrb r0, [r3] - strb r0, [r2, 0x2] - ldr r1, _0802351C @ =gBattleBufferB - ldrb r0, [r3] - lsls r0, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r0, [r0] - strb r0, [r2, 0x3] - movs r0, 0x1 - negs r0, r0 - strb r0, [r2, 0x4] -_080234F6: - ldr r1, _08023520 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x3 - str r0, [r1] -_080234FE: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08023508: .4byte gBattleTextBuff1 -_0802350C: .4byte gBattleMons -_08023510: .4byte gBankAttacker -_08023514: .4byte gBattleTextBuff2 -_08023518: .4byte gActiveBank -_0802351C: .4byte gBattleBufferB -_08023520: .4byte gBattlescriptCurrInstr - thumb_func_end sub_802331C - - thumb_func_start sub_8023524 -sub_8023524: @ 8023524 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - ldr r6, _08023630 @ =gBattlescriptCurrInstr - ldr r0, [r6] - ldrb r0, [r0, 0x1] - bl sub_8015150 - ldr r4, _08023634 @ =gActiveBank - strb r0, [r4] - ldrb r0, [r4] - bl sub_80157C4 - ldr r2, _08023638 @ =gHitMarker - ldr r1, _0802363C @ =gBitTable - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - lsls r1, 28 - ldr r0, [r2] - bics r0, r1 - str r0, [r2] - ldr r2, _08023640 @ =gSpecialStatuses - ldrb r0, [r4] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r2, [r1] - movs r0, 0x41 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldrb r0, [r4] - bl GetBankSide - ldr r5, _08023644 @ =gSideAffecting - lsls r0, 24 - lsrs r0, 23 - adds r0, r5 - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 2 - mov r8, r0 - ands r0, r1 - cmp r0, 0 - bne _0802367C - ldrb r0, [r4] - bl GetBankSide - lsls r0, 24 - lsrs r0, 23 - adds r0, r5 - ldrh r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0802367C - ldr r1, _08023648 @ =gBattleMons - mov r9, r1 - ldrb r2, [r4] - movs r7, 0x58 - adds r0, r2, 0 - muls r0, r7 - adds r1, r0, r1 - adds r0, r1, 0 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, 0x2 - beq _0802367C - adds r0, r1, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, 0x2 - beq _0802367C - adds r0, r1, 0 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x1A - beq _0802367C - adds r0, r2, 0 - bl GetBankSide - lsls r0, 24 - lsrs r0, 23 - adds r0, r5 - ldrh r2, [r0] - mov r1, r8 - orrs r1, r2 - strh r1, [r0] - ldrb r0, [r4] - bl GetBankSide - ldr r2, _0802364C @ =gSideTimer - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x6] - movs r1, 0x5 - subs r1, r0 - lsls r1, 25 - lsrs r1, 24 - ldr r5, _08023650 @ =gBattleMoveDamage - ldrb r0, [r4] - muls r0, r7 - add r0, r9 - ldrh r0, [r0, 0x2C] - bl __divsi3 - str r0, [r5] - cmp r0, 0 - bne _08023614 - movs r0, 0x1 - str r0, [r5] -_08023614: - ldr r0, _08023654 @ =0x02000000 - ldrb r1, [r4] - ldr r2, _08023658 @ =0x00016003 - adds r0, r2 - strb r1, [r0] - bl b_movescr_stack_push_cursor - ldr r0, [r6] - ldrb r0, [r0, 0x1] - cmp r0, 0 - bne _08023660 - ldr r0, _0802365C @ =gUnknown_081D919F - str r0, [r6] - b _080237B6 - .align 2, 0 -_08023630: .4byte gBattlescriptCurrInstr -_08023634: .4byte gActiveBank -_08023638: .4byte gHitMarker -_0802363C: .4byte gBitTable -_08023640: .4byte gSpecialStatuses -_08023644: .4byte gSideAffecting -_08023648: .4byte gBattleMons -_0802364C: .4byte gSideTimer -_08023650: .4byte gBattleMoveDamage -_08023654: .4byte 0x02000000 -_08023658: .4byte 0x00016003 -_0802365C: .4byte gUnknown_081D919F -_08023660: - cmp r0, 0x1 - bne _08023670 - ldr r0, _0802366C @ =gUnknown_081D9171 - str r0, [r6] - b _080237B6 - .align 2, 0 -_0802366C: .4byte gUnknown_081D9171 -_08023670: - ldr r0, _08023678 @ =gUnknown_081D91CD - str r0, [r6] - b _080237B6 - .align 2, 0 -_08023678: .4byte gUnknown_081D91CD -_0802367C: - ldr r1, _08023754 @ =gBattleMons - ldr r5, _08023758 @ =gActiveBank - ldrb r2, [r5] - movs r0, 0x58 - muls r0, r2 - adds r0, r1 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x36 - bne _080236A2 - ldr r1, _0802375C @ =gDisableStructs - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x18] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0, 0x18] -_080236A2: - ldrb r1, [r5] - movs r0, 0 - str r0, [sp] - movs r2, 0 - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - beq _080236B8 - b _080237B6 -_080236B8: - ldrb r1, [r5] - movs r0, 0 - movs r2, 0 - bl sub_801A02C - lsls r0, 24 - cmp r0, 0 - bne _080237B6 - ldrb r0, [r5] - bl GetBankSide - ldr r1, _08023760 @ =gSideAffecting - lsls r0, 24 - lsrs r0, 23 - adds r0, r1 - ldrh r2, [r0] - ldr r1, _08023764 @ =0x0000fdff - ands r1, r2 - strh r1, [r0] - movs r4, 0 - ldr r0, _08023768 @ =gNoOfAllBanks - ldrb r3, [r0] - cmp r4, r3 - bge _08023706 - ldr r6, _0802376C @ =gTurnOrder - ldr r3, _08023770 @ =gUnknown_02024A76 - movs r2, 0xC - adds r1, r0, 0 -_080236F0: - adds r0, r4, r6 - ldrb r0, [r0] - ldrb r7, [r5] - cmp r0, r7 - bne _080236FE - adds r0, r4, r3 - strb r2, [r0] -_080236FE: - adds r4, 0x1 - ldrb r0, [r1] - cmp r4, r0 - blt _080236F0 -_08023706: - movs r4, 0 - ldr r0, _08023768 @ =gNoOfAllBanks - ldrb r0, [r0] - cmp r4, r0 - bge _08023736 - ldr r5, _08023754 @ =gBattleMons -_08023712: - lsls r0, r4, 24 - lsrs r0, 24 - bl GetBankSide - lsls r0, 24 - lsrs r0, 23 - ldr r1, _08023774 @ =0x020160bc - adds r0, r1 - movs r1, 0x58 - muls r1, r4 - adds r1, r5 - ldrh r1, [r1, 0x28] - strh r1, [r0] - adds r4, 0x1 - ldr r0, _08023768 @ =gNoOfAllBanks - ldrb r0, [r0] - cmp r4, r0 - blt _08023712 -_08023736: - ldr r0, _08023778 @ =gBattlescriptCurrInstr - ldr r1, [r0] - ldrb r1, [r1, 0x1] - adds r5, r0, 0 - cmp r1, 0x5 - bne _080237B0 - ldr r0, _0802377C @ =gHitMarker - ldr r0, [r0] - lsrs r4, r0, 28 - ldr r1, _08023780 @ =gBank1 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r2, _08023784 @ =gBitTable - b _08023796 - .align 2, 0 -_08023754: .4byte gBattleMons -_08023758: .4byte gActiveBank -_0802375C: .4byte gDisableStructs -_08023760: .4byte gSideAffecting -_08023764: .4byte 0x0000fdff -_08023768: .4byte gNoOfAllBanks -_0802376C: .4byte gTurnOrder -_08023770: .4byte gUnknown_02024A76 -_08023774: .4byte 0x020160bc -_08023778: .4byte gBattlescriptCurrInstr -_0802377C: .4byte gHitMarker -_08023780: .4byte gBank1 -_08023784: .4byte gBitTable -_08023788: - ldr r0, _080237C4 @ =gNoOfAllBanks - ldrb r3, [r1] - ldrb r0, [r0] - cmp r3, r0 - bcs _080237B0 - adds r0, r3, 0x1 - strb r0, [r1] -_08023796: - ldrb r0, [r1] - lsls r0, 2 - adds r0, r2 - ldr r3, [r0] - adds r0, r4, 0 - ands r0, r3 - cmp r0, 0 - beq _08023788 - ldr r0, _080237C8 @ =gAbsentBankFlags - ldrb r0, [r0] - ands r0, r3 - cmp r0, 0 - bne _08023788 -_080237B0: - ldr r0, [r5] - adds r0, 0x2 - str r0, [r5] -_080237B6: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080237C4: .4byte gNoOfAllBanks -_080237C8: .4byte gAbsentBankFlags - thumb_func_end sub_8023524 - - thumb_func_start sub_80237CC -sub_80237CC: @ 80237CC - push {lr} - ldr r0, _080237DC @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0 - bne _080237E0 - movs r0, 0 - b _080237E2 - .align 2, 0 -_080237DC: .4byte gBattlescriptCurrInstr -_080237E0: - movs r0, 0x1 -_080237E2: - bl GetBankByPlayerAI - ldr r1, _08023804 @ =gActiveBank - strb r0, [r1] - movs r0, 0 - bl dp01_build_cmdbuf_x08_8_8_8 - ldr r0, _08023804 @ =gActiveBank - ldrb r0, [r0] - bl MarkBufferBankForExecution - ldr r1, _08023808 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08023804: .4byte gActiveBank -_08023808: .4byte gBattlescriptCurrInstr - thumb_func_end sub_80237CC - - thumb_func_start atk54_802511C -atk54_802511C: @ 802380C - push {r4,r5,lr} - ldr r5, _0802383C @ =gActiveBank - ldr r0, _08023840 @ =gBankAttacker - ldrb r0, [r0] - strb r0, [r5] - ldr r4, _08023844 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r1, [r0, 0x1] - ldrb r0, [r0, 0x2] - lsls r0, 8 - orrs r1, r0 - movs r0, 0 - bl EmitEffectivenessSound - ldrb r0, [r5] - bl MarkBufferBankForExecution - ldr r0, [r4] - adds r0, 0x3 - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802383C: .4byte gActiveBank -_08023840: .4byte gBankAttacker -_08023844: .4byte gBattlescriptCurrInstr - thumb_func_end atk54_802511C - - thumb_func_start sub_8023848 -sub_8023848: @ 8023848 - push {r4,r5,lr} - ldr r5, _08023878 @ =gActiveBank - ldr r0, _0802387C @ =gBankAttacker - ldrb r0, [r0] - strb r0, [r5] - ldr r4, _08023880 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r1, [r0, 0x1] - ldrb r0, [r0, 0x2] - lsls r0, 8 - orrs r1, r0 - movs r0, 0 - bl sub_800D074 - ldrb r0, [r5] - bl MarkBufferBankForExecution - ldr r0, [r4] - adds r0, 0x3 - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08023878: .4byte gActiveBank -_0802387C: .4byte gBankAttacker -_08023880: .4byte gBattlescriptCurrInstr - thumb_func_end sub_8023848 - - thumb_func_start atk56_8025194 -atk56_8025194: @ 8023884 - push {r4,r5,lr} - ldr r5, _080238AC @ =gBattlescriptCurrInstr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - bl sub_8015150 - ldr r4, _080238B0 @ =gActiveBank - strb r0, [r4] - movs r0, 0 - bl EmitFaintingCry - ldrb r0, [r4] - bl MarkBufferBankForExecution - ldr r0, [r5] - adds r0, 0x2 - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080238AC: .4byte gBattlescriptCurrInstr -_080238B0: .4byte gActiveBank - thumb_func_end atk56_8025194 - - thumb_func_start atk57_80251C4_flee -atk57_80251C4_flee: @ 80238B4 - push {r4,lr} - movs r0, 0 - bl GetBankByPlayerAI - ldr r4, _080238E0 @ =gActiveBank - strb r0, [r4] - ldr r0, _080238E4 @ =gBattleOutcome - ldrb r1, [r0] - movs r0, 0 - bl dp01_build_cmdbuf_x37_a - ldrb r0, [r4] - bl MarkBufferBankForExecution - ldr r1, _080238E8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080238E0: .4byte gActiveBank -_080238E4: .4byte gBattleOutcome -_080238E8: .4byte gBattlescriptCurrInstr - thumb_func_end atk57_80251C4_flee - - thumb_func_start atk58_cmd58 -atk58_cmd58: @ 80238EC - push {r4,r5,lr} - ldr r5, _08023918 @ =gBattlescriptCurrInstr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - bl sub_8015150 - ldr r4, _0802391C @ =gActiveBank - strb r0, [r4] - movs r0, 0 - movs r1, 0x1 - bl dp01_build_cmdbuf_x06_a - ldrb r0, [r4] - bl MarkBufferBankForExecution - ldr r0, [r5] - adds r0, 0x2 - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08023918: .4byte gBattlescriptCurrInstr -_0802391C: .4byte gActiveBank - thumb_func_end atk58_cmd58 - - thumb_func_start atk59_8025230 -atk59_8025230: @ 8023920 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r0, _0802399C @ =gBattlescriptCurrInstr - ldr r2, [r0] - ldrb r6, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r6, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r6, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r6, r0 - ldrb r4, [r2, 0x5] - ldrb r0, [r2, 0x6] - lsls r0, 8 - orrs r4, r0 - ldrb r0, [r2, 0x7] - lsls r0, 16 - orrs r4, r0 - ldrb r0, [r2, 0x8] - lsls r0, 24 - orrs r4, r0 - ldr r0, _080239A0 @ =0x02000000 - ldr r1, _080239A4 @ =0x00016018 - adds r7, r0, r1 - ldrb r1, [r7] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080239A8 @ =gPlayerParty - adds r0, r1 - ldrb r1, [r2, 0x9] - bl sub_803B7C8 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, _080239AC @ =0x0000fffe - cmp r5, r0 - bne _08023992 - mov r9, r7 - mov r8, r5 - movs r7, 0x64 -_0802397A: - mov r3, r9 - ldrb r0, [r3] - muls r0, r7 - ldr r1, _080239A8 @ =gPlayerParty - adds r0, r1 - movs r1, 0 - bl sub_803B7C8 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, r8 - beq _0802397A -_08023992: - cmp r5, 0 - bne _080239B0 - ldr r0, _0802399C @ =gBattlescriptCurrInstr - str r4, [r0] - b _08023A58 - .align 2, 0 -_0802399C: .4byte gBattlescriptCurrInstr -_080239A0: .4byte 0x02000000 -_080239A4: .4byte 0x00016018 -_080239A8: .4byte gPlayerParty -_080239AC: .4byte 0x0000fffe -_080239B0: - ldr r0, _080239C0 @ =0x0000ffff - cmp r5, r0 - bne _080239C8 - ldr r1, _080239C4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0xA - str r0, [r1] - b _08023A58 - .align 2, 0 -_080239C0: .4byte 0x0000ffff -_080239C4: .4byte gBattlescriptCurrInstr -_080239C8: - movs r0, 0 - bl GetBankByPlayerAI - ldr r1, _08023A64 @ =gActiveBank - strb r0, [r1] - ldr r0, _08023A68 @ =gBattlePartyID - ldrb r2, [r1] - lsls r1, r2, 1 - adds r1, r0 - ldr r0, _08023A6C @ =0x02000000 - ldr r3, _08023A70 @ =0x00016018 - adds r0, r3 - ldrh r1, [r1] - ldrb r0, [r0] - cmp r1, r0 - bne _08023A08 - ldr r3, _08023A74 @ =gBattleMons - movs r0, 0x58 - muls r2, r0 - adds r0, r3, 0 - adds r0, 0x50 - adds r0, r2, r0 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 14 - ands r0, r1 - cmp r0, 0 - bne _08023A08 - adds r0, r2, r3 - adds r1, r5, 0 - bl GiveMoveToBattleMon -_08023A08: - ldr r0, _08023A78 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08023A54 - movs r0, 0x2 - bl GetBankByPlayerAI - ldr r1, _08023A64 @ =gActiveBank - strb r0, [r1] - ldr r0, _08023A68 @ =gBattlePartyID - ldrb r2, [r1] - lsls r1, r2, 1 - adds r1, r0 - ldr r0, _08023A6C @ =0x02000000 - ldr r3, _08023A70 @ =0x00016018 - adds r0, r3 - ldrh r1, [r1] - ldrb r0, [r0] - cmp r1, r0 - bne _08023A54 - ldr r3, _08023A74 @ =gBattleMons - movs r0, 0x58 - muls r2, r0 - adds r0, r3, 0 - adds r0, 0x50 - adds r0, r2, r0 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 14 - ands r0, r1 - cmp r0, 0 - bne _08023A54 - adds r0, r2, r3 - adds r1, r5, 0 - bl GiveMoveToBattleMon -_08023A54: - ldr r0, _08023A7C @ =gBattlescriptCurrInstr - str r6, [r0] -_08023A58: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08023A64: .4byte gActiveBank -_08023A68: .4byte gBattlePartyID -_08023A6C: .4byte 0x02000000 -_08023A70: .4byte 0x00016018 -_08023A74: .4byte gBattleMons -_08023A78: .4byte gBattleTypeFlags -_08023A7C: .4byte gBattlescriptCurrInstr - thumb_func_end atk59_8025230 - - thumb_func_start sub_8023A80 -sub_8023A80: @ 8023A80 - push {r4,lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - movs r0, 0x18 - movs r1, 0x8 - movs r2, 0x1D - movs r3, 0xD - bl sub_802BBD4 - ldr r4, _08023AC8 @ =gUnknown_03004210 - ldr r1, _08023ACC @ =gUnknown_08400D7A - movs r2, 0x80 - lsls r2, 1 - movs r0, 0x9 - str r0, [sp] - adds r0, r4, 0 - movs r3, 0x19 - bl InitWindow - adds r0, r4, 0 - bl sub_8002F44 - ldr r1, _08023AD0 @ =0x0000ffff - ldr r3, _08023AD4 @ =0x00002d9f - movs r0, 0x20 - str r0, [sp] - movs r0, 0 - movs r2, 0xC - bl sub_814A5C0 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08023AC8: .4byte gUnknown_03004210 -_08023ACC: .4byte gUnknown_08400D7A -_08023AD0: .4byte 0x0000ffff -_08023AD4: .4byte 0x00002d9f - thumb_func_end sub_8023A80 - - thumb_func_start sub_8023AD8 -sub_8023AD8: @ 8023AD8 - push {lr} - sub sp, 0x4 - movs r0, 0x1 - str r0, [sp] - movs r0, 0x18 - movs r1, 0x8 - movs r2, 0x1D - movs r3, 0xD - bl sub_802BBD4 - bl DestroyMenuCursor - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8023AD8 - - thumb_func_start sub_8023AF8 -sub_8023AF8: @ 8023AF8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - ldr r1, _08023B24 @ =gActiveBank - movs r0, 0 - strb r0, [r1] - ldr r1, _08023B28 @ =0x02000000 - ldr r2, _08023B2C @ =0x0001601a - adds r0, r1, r2 - ldrb r0, [r0] - adds r5, r1, 0 - cmp r0, 0x5 - bls _08023B18 - b _08023E5C -_08023B18: - lsls r0, 2 - ldr r1, _08023B30 @ =_08023B34 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08023B24: .4byte gActiveBank -_08023B28: .4byte 0x02000000 -_08023B2C: .4byte 0x0001601a -_08023B30: .4byte _08023B34 - .align 2, 0 -_08023B34: - .4byte _08023B4C - .4byte _08023B74 - .4byte _08023C30 - .4byte _08023C84 - .4byte _08023E38 - .4byte _08023E4C -_08023B4C: - bl sub_8023A80 - ldr r1, _08023B68 @ =0x02000000 - ldr r0, _08023B6C @ =0x0001601a - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - ldr r0, _08023B70 @ =gBattleCommunication - strb r2, [r0, 0x1] - bl sub_802BC6C - b _08023E5C - .align 2, 0 -_08023B68: .4byte 0x02000000 -_08023B6C: .4byte 0x0001601a -_08023B70: .4byte gBattleCommunication -_08023B74: - ldr r0, _08023BFC @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08023B9A - ldr r4, _08023C00 @ =gBattleCommunication - ldrb r0, [r4, 0x1] - cmp r0, 0 - beq _08023B9A - movs r0, 0x5 - bl PlaySE - bl nullsub_6 - movs r0, 0 - strb r0, [r4, 0x1] - bl sub_802BC6C -_08023B9A: - ldr r0, _08023BFC @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08023BC0 - ldr r4, _08023C00 @ =gBattleCommunication - ldrb r0, [r4, 0x1] - cmp r0, 0 - bne _08023BC0 - movs r0, 0x5 - bl PlaySE - bl nullsub_6 - movs r0, 0x1 - strb r0, [r4, 0x1] - bl sub_802BC6C -_08023BC0: - ldr r0, _08023BFC @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08023C0C - movs r0, 0x5 - bl PlaySE - ldr r0, _08023C00 @ =gBattleCommunication - ldrb r4, [r0, 0x1] - cmp r4, 0 - bne _08023C1C - bl sub_8023AD8 - movs r0, 0x1 - negs r0, r0 - str r4, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _08023C04 @ =0x02000000 - ldr r2, _08023C08 @ =0x0001601a - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x1 - b _08023E5A - .align 2, 0 -_08023BFC: .4byte gMain -_08023C00: .4byte gBattleCommunication -_08023C04: .4byte 0x02000000 -_08023C08: .4byte 0x0001601a -_08023C0C: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _08023C16 - b _08023E5C -_08023C16: - movs r0, 0x5 - bl PlaySE -_08023C1C: - ldr r0, _08023C28 @ =0x02000000 - ldr r1, _08023C2C @ =0x0001601a - adds r0, r1 - movs r1, 0x4 - strb r1, [r0] - b _08023E5C - .align 2, 0 -_08023C28: .4byte 0x02000000 -_08023C2C: .4byte 0x0001601a -_08023C30: - ldr r0, _08023C68 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08023C3E - b _08023E5C -_08023C3E: - ldr r0, _08023C6C @ =gPlayerParty - ldr r2, _08023C70 @ =0x00016018 - adds r1, r5, r2 - ldrb r1, [r1] - ldr r2, _08023C74 @ =gPlayerPartyCount - ldrb r2, [r2] - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldr r3, _08023C78 @ =ReshowBattleScreenAfterMenu - ldr r4, _08023C7C @ =word_2024E82 - ldrh r4, [r4] - str r4, [sp] - bl sub_809D9F0 - ldr r0, _08023C80 @ =0x0001601a - adds r1, r5, r0 - ldrb r0, [r1] - adds r0, 0x1 - b _08023E5A - .align 2, 0 -_08023C68: .4byte gPaletteFade -_08023C6C: .4byte gPlayerParty -_08023C70: .4byte 0x00016018 -_08023C74: .4byte gPlayerPartyCount -_08023C78: .4byte ReshowBattleScreenAfterMenu -_08023C7C: .4byte word_2024E82 -_08023C80: .4byte 0x0001601a -_08023C84: - ldr r0, _08023CB4 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08023C92 - b _08023E5C -_08023C92: - ldr r0, _08023CB8 @ =gMain - ldr r1, [r0, 0x4] - ldr r0, _08023CBC @ =sub_800F808 - cmp r1, r0 - beq _08023C9E - b _08023E5C -_08023C9E: - bl sub_809FA30 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x4 - bne _08023CC8 - ldr r0, _08023CC0 @ =0x02000000 - ldr r1, _08023CC4 @ =0x0001601a - adds r0, r1 - strb r5, [r0] - b _08023E5C - .align 2, 0 -_08023CB4: .4byte gPaletteFade -_08023CB8: .4byte gMain -_08023CBC: .4byte sub_800F808 -_08023CC0: .4byte 0x02000000 -_08023CC4: .4byte 0x0001601a -_08023CC8: - ldr r2, _08023D08 @ =0x02000000 - mov r9, r2 - ldr r6, _08023D0C @ =0x00016018 - add r6, r9 - ldrb r0, [r6] - movs r1, 0x64 - mov r8, r1 - mov r2, r8 - muls r2, r0 - adds r0, r2, 0 - ldr r7, _08023D10 @ =gPlayerParty - adds r0, r7 - adds r1, r5, 0 - adds r1, 0xD - bl GetMonData - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - bl IsHMMove2 - cmp r0, 0 - beq _08023D20 - ldr r0, _08023D14 @ =0x0000013f - ldr r1, _08023D18 @ =gActiveBank - ldrb r1, [r1] - bl PrepareStringBattle - ldr r1, _08023D1C @ =0x0001601a - add r1, r9 - movs r0, 0x5 - b _08023E5A - .align 2, 0 -_08023D08: .4byte 0x02000000 -_08023D0C: .4byte 0x00016018 -_08023D10: .4byte gPlayerParty -_08023D14: .4byte 0x0000013f -_08023D18: .4byte gActiveBank -_08023D1C: .4byte 0x0001601a -_08023D20: - ldr r3, _08023E10 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - ldr r1, _08023E14 @ =gBattleTextBuff2 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x2 - strb r0, [r1, 0x1] - strb r4, [r1, 0x2] - lsrs r0, r4, 8 - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldrb r0, [r6] - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - adds r0, r7 - adds r1, r5, 0 - bl RemoveMonPPBonus - ldrb r0, [r6] - mov r2, r8 - muls r2, r0 - adds r0, r2, 0 - adds r0, r7 - ldr r7, _08023E18 @ =word_2024E82 - ldrh r1, [r7] - adds r2, r5, 0 - bl SetMonMoveSlot - ldr r0, _08023E1C @ =gBattlePartyID - ldrh r0, [r0] - ldrb r6, [r6] - cmp r0, r6 - bne _08023DB0 - ldr r4, _08023E20 @ =gBattleMons - ldr r0, [r4, 0x50] - movs r1, 0x80 - lsls r1, 14 - ands r0, r1 - cmp r0, 0 - bne _08023DB0 - ldr r0, _08023E24 @ =gDisableStructs - ldrb r1, [r0, 0x18] - lsrs r1, 4 - ldr r2, _08023E28 @ =gBitTable - lsls r0, r5, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _08023DB0 - adds r0, r4, 0 - adds r1, r5, 0 - bl RemoveBattleMonPPBonus - ldrh r1, [r7] - adds r0, r4, 0 - adds r2, r5, 0 - bl SetBattleMonMoveSlot -_08023DB0: - ldr r0, _08023E2C @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08023E5C - ldr r0, _08023E1C @ =gBattlePartyID - ldr r1, _08023E30 @ =0x02000000 - ldr r2, _08023E34 @ =0x00016018 - adds r1, r2 - ldrh r0, [r0, 0x4] - ldrb r1, [r1] - cmp r0, r1 - bne _08023E5C - ldr r4, _08023E20 @ =gBattleMons - movs r1, 0x80 - lsls r1, 1 - adds r0, r4, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 14 - ands r0, r1 - cmp r0, 0 - bne _08023E5C - ldr r0, _08023E24 @ =gDisableStructs - adds r0, 0x50 - ldrb r1, [r0] - lsrs r1, 4 - ldr r2, _08023E28 @ =gBitTable - lsls r0, r5, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _08023E5C - adds r4, 0xB0 - adds r0, r4, 0 - adds r1, r5, 0 - bl RemoveBattleMonPPBonus - ldr r0, _08023E18 @ =word_2024E82 - ldrh r1, [r0] - adds r0, r4, 0 - adds r2, r5, 0 - bl SetBattleMonMoveSlot - b _08023E5C - .align 2, 0 -_08023E10: .4byte gBattlescriptCurrInstr -_08023E14: .4byte gBattleTextBuff2 -_08023E18: .4byte word_2024E82 -_08023E1C: .4byte gBattlePartyID -_08023E20: .4byte gBattleMons -_08023E24: .4byte gDisableStructs -_08023E28: .4byte gBitTable -_08023E2C: .4byte gBattleTypeFlags -_08023E30: .4byte 0x02000000 -_08023E34: .4byte 0x00016018 -_08023E38: - bl sub_8023AD8 - ldr r1, _08023E48 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _08023E5C - .align 2, 0 -_08023E48: .4byte gBattlescriptCurrInstr -_08023E4C: - ldr r0, _08023E6C @ =gBattleExecBuffer - ldr r0, [r0] - cmp r0, 0 - bne _08023E5C - ldr r2, _08023E70 @ =0x0001601a - adds r1, r5, r2 - movs r0, 0x2 -_08023E5A: - strb r0, [r1] -_08023E5C: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08023E6C: .4byte gBattleExecBuffer -_08023E70: .4byte 0x0001601a - thumb_func_end sub_8023AF8 - - thumb_func_start atk5B_80256E0 -atk5B_80256E0: @ 8023E74 - push {r4,r5,lr} - ldr r0, _08023E88 @ =0x02000000 - ldr r1, _08023E8C @ =0x0001601a - adds r5, r0, r1 - ldrb r4, [r5] - cmp r4, 0 - beq _08023E90 - cmp r4, 0x1 - beq _08023EA8 - b _08023F78 - .align 2, 0 -_08023E88: .4byte 0x02000000 -_08023E8C: .4byte 0x0001601a -_08023E90: - bl sub_8023A80 - ldrb r0, [r5] - adds r0, 0x1 - strb r0, [r5] - ldr r0, _08023EA4 @ =gBattleCommunication - strb r4, [r0, 0x1] - bl sub_802BC6C - b _08023F78 - .align 2, 0 -_08023EA4: .4byte gBattleCommunication -_08023EA8: - ldr r0, _08023F2C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08023ECE - ldr r4, _08023F30 @ =gBattleCommunication - ldrb r0, [r4, 0x1] - cmp r0, 0 - beq _08023ECE - movs r0, 0x5 - bl PlaySE - bl nullsub_6 - movs r0, 0 - strb r0, [r4, 0x1] - bl sub_802BC6C -_08023ECE: - ldr r0, _08023F2C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08023EF4 - ldr r4, _08023F30 @ =gBattleCommunication - ldrb r0, [r4, 0x1] - cmp r0, 0 - bne _08023EF4 - movs r0, 0x5 - bl PlaySE - bl nullsub_6 - movs r0, 0x1 - strb r0, [r4, 0x1] - bl sub_802BC6C -_08023EF4: - ldr r0, _08023F2C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08023F4C - movs r0, 0x5 - bl PlaySE - ldr r0, _08023F30 @ =gBattleCommunication - ldrb r0, [r0, 0x1] - cmp r0, 0 - beq _08023F38 - ldr r3, _08023F34 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08023F40 - .align 2, 0 -_08023F2C: .4byte gMain -_08023F30: .4byte gBattleCommunication -_08023F34: .4byte gBattlescriptCurrInstr -_08023F38: - ldr r1, _08023F48 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_08023F40: - bl sub_8023AD8 - b _08023F78 - .align 2, 0 -_08023F48: .4byte gBattlescriptCurrInstr -_08023F4C: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08023F78 - movs r0, 0x5 - bl PlaySE - ldr r3, _08023F80 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - bl sub_8023AD8 -_08023F78: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08023F80: .4byte gBattlescriptCurrInstr - thumb_func_end atk5B_80256E0 - - thumb_func_start atk5C_cmd5c -atk5C_cmd5c: @ 8023F84 - push {r4,lr} - ldr r4, _08023FF0 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl sub_8015150 - ldr r2, _08023FF4 @ =gActiveBank - strb r0, [r2] - ldr r0, _08023FF8 @ =gBattleMoveFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - bne _08024008 - ldr r0, _08023FFC @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 1 - ands r0, r1 - cmp r0, 0 - beq _08023FD6 - ldr r1, _08024000 @ =gBattleMons - ldrb r2, [r2] - movs r0, 0x58 - muls r0, r2 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 17 - ands r0, r1 - cmp r0, 0 - beq _08023FD6 - ldr r0, _08024004 @ =gDisableStructs - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0xA] - cmp r0, 0 - bne _08024008 -_08023FD6: - movs r0, 0 - bl EmitHitAnimation - ldr r0, _08023FF4 @ =gActiveBank - ldrb r0, [r0] - bl MarkBufferBankForExecution - ldr r1, _08023FF0 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] - b _0802400E - .align 2, 0 -_08023FF0: .4byte gBattlescriptCurrInstr -_08023FF4: .4byte gActiveBank -_08023FF8: .4byte gBattleMoveFlags -_08023FFC: .4byte gHitMarker -_08024000: .4byte gBattleMons -_08024004: .4byte gDisableStructs -_08024008: - ldr r0, [r4] - adds r0, 0x2 - str r0, [r4] -_0802400E: - pop {r4} - pop {r0} - bx r0 - thumb_func_end atk5C_cmd5c - - thumb_func_start sub_8024014 -sub_8024014: @ 8024014 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r6, 0 - movs r5, 0 - ldr r0, _08024048 @ =gTrainerBattleOpponent - ldrh r2, [r0] - movs r1, 0x80 - lsls r1, 3 - cmp r2, r1 - bne _08024058 - ldr r0, _0802404C @ =0x02017000 - adds r1, r0, 0 - adds r1, 0x94 - ldrb r2, [r1] - ldr r1, _08024050 @ =0xfffff056 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r4, r2, 0 - muls r4, r0 - ldr r0, _08024054 @ =gSaveBlock1 + 0x490 - mov r8, r0 - b _08024140 - .align 2, 0 -_08024048: .4byte gTrainerBattleOpponent -_0802404C: .4byte 0x02017000 -_08024050: .4byte 0xfffff056 -_08024054: .4byte gSaveBlock1 + 0x490 -_08024058: - ldr r2, _08024074 @ =gTrainers - ldrh r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r3, r0, 3 - adds r4, r3, r2 - ldrb r1, [r4] - cmp r1, 0x1 - beq _080240AE - cmp r1, 0x1 - bgt _08024078 - cmp r1, 0 - beq _08024082 - b _080240C4 - .align 2, 0 -_08024074: .4byte gTrainers -_08024078: - cmp r1, 0x2 - beq _08024098 - cmp r1, 0x3 - beq _080240AE - b _080240C4 -_08024082: - adds r0, r2, 0 - adds r0, 0x24 - adds r0, r3, r0 - ldr r1, [r0] - adds r0, r4, 0 - adds r0, 0x20 - ldrb r0, [r0] - lsls r0, 3 - adds r0, r1 - subs r0, 0x8 - b _080240C2 -_08024098: - adds r0, r2, 0 - adds r0, 0x24 - adds r0, r3, r0 - ldr r1, [r0] - adds r0, r4, 0 - adds r0, 0x20 - ldrb r0, [r0] - lsls r0, 3 - adds r0, r1 - subs r0, 0x8 - b _080240C2 -_080240AE: - adds r0, r2, 0 - adds r0, 0x24 - adds r0, r3, r0 - ldr r1, [r0] - adds r0, r4, 0 - adds r0, 0x20 - ldrb r0, [r0] - lsls r0, 4 - adds r0, r1 - subs r0, 0x10 -_080240C2: - ldrb r5, [r0, 0x2] -_080240C4: - ldr r0, _08024120 @ =gTrainerMoney - lsls r1, r6, 2 - adds r3, r1, r0 - ldrb r1, [r3] - mov r12, r0 - lsls r4, r5, 2 - ldr r5, _08024124 @ =0x02000000 - ldr r7, _08024128 @ =gBattleTypeFlags - ldr r0, _0802412C @ =gSaveBlock1 + 0x490 - mov r8, r0 - cmp r1, 0xFF - beq _080240FE - ldr r2, _08024130 @ =gTrainers - ldr r0, _08024134 @ =gTrainerBattleOpponent - ldrh r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r2, [r0, 0x1] - adds r1, r3, 0 -_080240EE: - ldrb r0, [r1] - cmp r0, r2 - beq _080240FE - adds r1, 0x4 - adds r6, 0x1 - ldrb r0, [r1] - cmp r0, 0xFF - bne _080240EE -_080240FE: - ldr r1, _08024138 @ =0x00016056 - adds r0, r5, r1 - ldrb r0, [r0] - adds r3, r4, 0 - muls r3, r0 - lsls r0, r6, 2 - add r0, r12 - ldrb r2, [r0, 0x1] - ldrh r1, [r7] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0802413C - lsls r0, r2, 1 - adds r4, r3, 0 - muls r4, r0 - b _08024140 - .align 2, 0 -_08024120: .4byte gTrainerMoney -_08024124: .4byte 0x02000000 -_08024128: .4byte gBattleTypeFlags -_0802412C: .4byte gSaveBlock1 + 0x490 -_08024130: .4byte gTrainers -_08024134: .4byte gTrainerBattleOpponent -_08024138: .4byte 0x00016056 -_0802413C: - adds r4, r3, 0 - muls r4, r2 -_08024140: - mov r0, r8 - adds r1, r4, 0 - bl sub_80B79B8 - ldr r1, _0802418C @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x1 - strb r0, [r1, 0x1] - movs r0, 0x4 - strb r0, [r1, 0x2] - movs r0, 0x5 - strb r0, [r1, 0x3] - strb r4, [r1, 0x4] - movs r0, 0xFF - lsls r0, 8 - ands r0, r4 - lsrs r0, 8 - strb r0, [r1, 0x5] - movs r0, 0xFF - lsls r0, 16 - ands r0, r4 - lsrs r0, 16 - strb r0, [r1, 0x6] - lsrs r0, r4, 24 - strb r0, [r1, 0x7] - movs r0, 0xFF - strb r0, [r1, 0x8] - ldr r1, _08024190 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802418C: .4byte gBattleTextBuff1 -_08024190: .4byte gBattlescriptCurrInstr - thumb_func_end sub_8024014 - - thumb_func_start atk5E_8025A70 -atk5E_8025A70: @ 8024194 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r4, _080241B8 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl sub_8015150 - ldr r6, _080241BC @ =gActiveBank - strb r0, [r6] - ldr r5, _080241C0 @ =gBattleCommunication - ldrb r0, [r5] - mov r8, r4 - cmp r0, 0 - beq _080241C4 - cmp r0, 0x1 - beq _080241DC - b _08024230 - .align 2, 0 -_080241B8: .4byte gBattlescriptCurrInstr -_080241BC: .4byte gActiveBank -_080241C0: .4byte gBattleCommunication -_080241C4: - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl EmitGetAttributes - ldrb r0, [r6] - bl MarkBufferBankForExecution - ldrb r0, [r5] - adds r0, 0x1 - strb r0, [r5] - b _08024230 -_080241DC: - ldr r0, _0802423C @ =gBattleExecBuffer - ldr r0, [r0] - cmp r0, 0 - bne _08024230 - ldrb r0, [r6] - lsls r0, 9 - ldr r1, _08024240 @ =gUnknown_02024264 - adds r0, r1 - mov r12, r0 - movs r2, 0 - adds r4, r6, 0 - movs r5, 0x58 - ldr r6, _08024244 @ =gUnknown_02024AA4 - adds r7, r6, 0 - subs r7, 0x18 - mov r3, r12 - adds r3, 0xC -_080241FE: - lsls r1, r2, 1 - ldrb r0, [r4] - muls r0, r5 - adds r1, r0 - adds r1, r7 - ldrh r0, [r3] - strh r0, [r1] - ldrb r0, [r4] - adds r1, r0, 0 - muls r1, r5 - adds r1, r2, r1 - adds r1, r6 - mov r0, r12 - adds r0, 0x24 - adds r0, r2 - ldrb r0, [r0] - strb r0, [r1] - adds r3, 0x2 - adds r2, 0x1 - cmp r2, 0x3 - ble _080241FE - mov r1, r8 - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] -_08024230: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802423C: .4byte gBattleExecBuffer -_08024240: .4byte gUnknown_02024264 -_08024244: .4byte gUnknown_02024AA4 - thumb_func_end atk5E_8025A70 - - thumb_func_start atk5F_8025B24 -atk5F_8025B24: @ 8024248 - push {lr} - ldr r0, _08024270 @ =gActiveBank - ldr r2, _08024274 @ =gBankAttacker - ldrb r3, [r2] - strb r3, [r0] - ldr r1, _08024278 @ =gBankTarget - ldrb r0, [r1] - strb r0, [r2] - strb r3, [r1] - ldr r2, _0802427C @ =gHitMarker - ldr r1, [r2] - movs r3, 0x80 - lsls r3, 5 - adds r0, r1, 0 - ands r0, r3 - cmp r0, 0 - beq _08024284 - ldr r0, _08024280 @ =0xffffefff - ands r1, r0 - b _08024286 - .align 2, 0 -_08024270: .4byte gActiveBank -_08024274: .4byte gBankAttacker -_08024278: .4byte gBankTarget -_0802427C: .4byte gHitMarker -_08024280: .4byte 0xffffefff -_08024284: - orrs r1, r3 -_08024286: - str r1, [r2] - ldr r1, _08024294 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08024294: .4byte gBattlescriptCurrInstr - thumb_func_end atk5F_8025B24 - - thumb_func_start atk60_cmd60 -atk60_cmd60: @ 8024298 - push {lr} - ldr r0, _080242C0 @ =gBankAttacker - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _080242B2 - ldr r0, _080242C4 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - bl IncrementGameStat -_080242B2: - ldr r1, _080242C4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_080242C0: .4byte gBankAttacker -_080242C4: .4byte gBattlescriptCurrInstr - thumb_func_end atk60_cmd60 - - thumb_func_start atk61_8025BA4 -atk61_8025BA4: @ 80242C8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x30 - ldr r0, _0802432C @ =gBattleExecBuffer - ldr r0, [r0] - cmp r0, 0 - bne _0802437C - ldr r0, _08024330 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - bl sub_8015150 - ldr r1, _08024334 @ =gActiveBank - strb r0, [r1] - ldrb r0, [r1] - bl GetBankSide - lsls r0, 24 - ldr r1, _08024338 @ =gEnemyParty - mov r8, r1 - cmp r0, 0 - bne _080242FA - ldr r0, _0802433C @ =gPlayerParty - mov r8, r0 -_080242FA: - movs r7, 0 - add r6, sp, 0x4 - mov r5, sp -_08024300: - movs r0, 0x64 - muls r0, r7 - mov r1, r8 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - cmp r0, 0 - beq _08024324 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - bne _08024344 -_08024324: - ldr r0, _08024340 @ =0x0000ffff - strh r0, [r5] - movs r0, 0 - b _08024356 - .align 2, 0 -_0802432C: .4byte gBattleExecBuffer -_08024330: .4byte gBattlescriptCurrInstr -_08024334: .4byte gActiveBank -_08024338: .4byte gEnemyParty -_0802433C: .4byte gPlayerParty -_08024340: .4byte 0x0000ffff -_08024344: - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - strh r0, [r5] - adds r0, r4, 0 - movs r1, 0x37 - bl GetMonData -_08024356: - str r0, [r6] - adds r6, 0x8 - adds r5, 0x8 - adds r7, 0x1 - cmp r7, 0x5 - ble _08024300 - movs r0, 0 - mov r1, sp - movs r2, 0x1 - bl dp01_build_cmdbuf_x30_TODO - ldr r0, _08024388 @ =gActiveBank - ldrb r0, [r0] - bl MarkBufferBankForExecution - ldr r1, _0802438C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] -_0802437C: - add sp, 0x30 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08024388: .4byte gActiveBank -_0802438C: .4byte gBattlescriptCurrInstr - thumb_func_end atk61_8025BA4 - - thumb_func_start atk62_08025C6C -atk62_08025C6C: @ 8024390 - push {r4,r5,lr} - ldr r5, _080243B8 @ =gBattlescriptCurrInstr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - bl sub_8015150 - ldr r4, _080243BC @ =gActiveBank - strb r0, [r4] - movs r0, 0 - bl dp01_build_cmdbuf_x31_31_31_31 - ldrb r0, [r4] - bl MarkBufferBankForExecution - ldr r0, [r5] - adds r0, 0x2 - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080243B8: .4byte gBattlescriptCurrInstr -_080243BC: .4byte gActiveBank - thumb_func_end atk62_08025C6C - - thumb_func_start atk63_jumptoattack -atk63_jumptoattack: @ 80243C0 - push {r4,lr} - ldr r0, _080243D8 @ =gBattlescriptCurrInstr - ldr r1, [r0] - ldrb r1, [r1, 0x1] - adds r4, r0, 0 - cmp r1, 0 - beq _080243E4 - ldr r0, _080243DC @ =gCurrentMove - ldr r1, _080243E0 @ =gUnknown_02024BEA - ldrh r1, [r1] - strh r1, [r0] - b _080243F2 - .align 2, 0 -_080243D8: .4byte gBattlescriptCurrInstr -_080243DC: .4byte gCurrentMove -_080243E0: .4byte gUnknown_02024BEA -_080243E4: - ldr r2, _08024410 @ =gUnknown_02024BE8 - ldr r1, _08024414 @ =gCurrentMove - ldr r0, _08024418 @ =gUnknown_02024BEA - ldrh r0, [r0] - strh r0, [r1] - strh r0, [r2] - adds r0, r1, 0 -_080243F2: - ldr r3, _0802441C @ =gUnknown_081D6BBC - ldr r2, _08024420 @ =gBattleMoves - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r3 - ldr r0, [r0] - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08024410: .4byte gUnknown_02024BE8 -_08024414: .4byte gCurrentMove -_08024418: .4byte gUnknown_02024BEA -_0802441C: .4byte gUnknown_081D6BBC -_08024420: .4byte gBattleMoves - thumb_func_end atk63_jumptoattack - - thumb_func_start atk64_statusanimation -atk64_statusanimation: @ 8024424 - push {r4,lr} - ldr r0, _08024494 @ =gBattleExecBuffer - ldr r0, [r0] - cmp r0, 0 - bne _0802448C - ldr r0, _08024498 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - bl sub_8015150 - ldr r4, _0802449C @ =gActiveBank - strb r0, [r4] - ldr r1, _080244A0 @ =gStatuses3 - ldrb r2, [r4] - lsls r0, r2, 2 - adds r0, r1 - ldr r0, [r0] - ldr r1, _080244A4 @ =0x000400c0 - ands r0, r1 - cmp r0, 0 - bne _08024484 - ldr r0, _080244A8 @ =gDisableStructs - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0xA] - cmp r0, 0 - bne _08024484 - ldr r0, _080244AC @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08024484 - ldr r1, _080244B0 @ =gBattleMons - movs r0, 0x58 - muls r0, r2 - adds r1, 0x4C - adds r0, r1 - ldr r2, [r0] - movs r0, 0 - movs r1, 0 - bl EmitStatusAnimation - ldrb r0, [r4] - bl MarkBufferBankForExecution -_08024484: - ldr r1, _08024498 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] -_0802448C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08024494: .4byte gBattleExecBuffer -_08024498: .4byte gBattlescriptCurrInstr -_0802449C: .4byte gActiveBank -_080244A0: .4byte gStatuses3 -_080244A4: .4byte 0x000400c0 -_080244A8: .4byte gDisableStructs -_080244AC: .4byte gHitMarker -_080244B0: .4byte gBattleMons - thumb_func_end atk64_statusanimation - - thumb_func_start atk65_8025D90 -atk65_8025D90: @ 80244B4 - push {r4,r5,lr} - ldr r0, _0802453C @ =gBattleExecBuffer - ldr r0, [r0] - cmp r0, 0 - bne _08024534 - ldr r4, _08024540 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl sub_8015150 - ldr r5, _08024544 @ =gActiveBank - strb r0, [r5] - ldr r1, [r4] - ldrb r3, [r1, 0x2] - ldrb r0, [r1, 0x3] - lsls r0, 8 - orrs r3, r0 - ldrb r0, [r1, 0x4] - lsls r0, 16 - orrs r3, r0 - ldrb r0, [r1, 0x5] - lsls r0, 24 - orrs r3, r0 - ldr r1, _08024548 @ =gStatuses3 - ldrb r2, [r5] - lsls r0, r2, 2 - adds r0, r1 - ldr r0, [r0] - ldr r1, _0802454C @ =0x000400c0 - ands r0, r1 - cmp r0, 0 - bne _0802452C - ldr r0, _08024550 @ =gDisableStructs - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0xA] - cmp r0, 0 - bne _0802452C - ldr r0, _08024554 @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0802452C - ldr r1, _08024558 @ =gBattleMons - movs r0, 0x58 - muls r0, r2 - adds r1, 0x50 - adds r0, r1 - ldr r2, [r0] - ands r2, r3 - movs r0, 0 - movs r1, 0x1 - bl EmitStatusAnimation - ldrb r0, [r5] - bl MarkBufferBankForExecution -_0802452C: - ldr r1, _08024540 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x6 - str r0, [r1] -_08024534: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802453C: .4byte gBattleExecBuffer -_08024540: .4byte gBattlescriptCurrInstr -_08024544: .4byte gActiveBank -_08024548: .4byte gStatuses3 -_0802454C: .4byte 0x000400c0 -_08024550: .4byte gDisableStructs -_08024554: .4byte gHitMarker -_08024558: .4byte gBattleMons - thumb_func_end atk65_8025D90 - - thumb_func_start atk66_8025E38 -atk66_8025E38: @ 802455C - push {r4,r5,lr} - ldr r0, _080245D4 @ =gBattleExecBuffer - ldr r0, [r0] - cmp r0, 0 - bne _080245CE - ldr r4, _080245D8 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl sub_8015150 - ldr r5, _080245DC @ =gActiveBank - strb r0, [r5] - ldr r4, [r4] - ldrb r2, [r4, 0x3] - ldrb r0, [r4, 0x4] - lsls r0, 8 - orrs r2, r0 - ldrb r0, [r4, 0x5] - lsls r0, 16 - orrs r2, r0 - ldrb r0, [r4, 0x6] - lsls r0, 24 - orrs r2, r0 - ldr r1, _080245E0 @ =gStatuses3 - ldrb r3, [r5] - lsls r0, r3, 2 - adds r0, r1 - ldr r0, [r0] - ldr r1, _080245E4 @ =0x000400c0 - ands r0, r1 - cmp r0, 0 - bne _080245C6 - ldr r0, _080245E8 @ =gDisableStructs - lsls r1, r3, 3 - subs r1, r3 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0xA] - cmp r0, 0 - bne _080245C6 - ldr r0, _080245EC @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080245C6 - ldrb r1, [r4, 0x2] - movs r0, 0 - bl EmitStatusAnimation - ldrb r0, [r5] - bl MarkBufferBankForExecution -_080245C6: - ldr r1, _080245D8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x7 - str r0, [r1] -_080245CE: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080245D4: .4byte gBattleExecBuffer -_080245D8: .4byte gBattlescriptCurrInstr -_080245DC: .4byte gActiveBank -_080245E0: .4byte gStatuses3 -_080245E4: .4byte 0x000400c0 -_080245E8: .4byte gDisableStructs -_080245EC: .4byte gHitMarker - thumb_func_end atk66_8025E38 - - thumb_func_start atk67_8025ECC -atk67_8025ECC: @ 80245F0 - push {r4,r5,lr} - ldr r5, _08024600 @ =gBattleCommunication - ldrb r4, [r5] - cmp r4, 0 - beq _08024604 - cmp r4, 0x1 - beq _08024616 - b _08024696 - .align 2, 0 -_08024600: .4byte gBattleCommunication -_08024604: - bl sub_8023A80 - ldrb r0, [r5] - adds r0, 0x1 - strb r0, [r5] - strb r4, [r5, 0x1] - bl sub_802BC6C - b _08024696 -_08024616: - ldr r0, _08024674 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0802463A - ldrb r0, [r5, 0x1] - cmp r0, 0 - beq _0802463A - movs r0, 0x5 - bl PlaySE - bl nullsub_6 - movs r0, 0 - strb r0, [r5, 0x1] - bl sub_802BC6C -_0802463A: - ldr r0, _08024674 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08024660 - ldr r4, _08024678 @ =gBattleCommunication - ldrb r0, [r4, 0x1] - cmp r0, 0 - bne _08024660 - movs r0, 0x5 - bl PlaySE - bl nullsub_6 - movs r0, 0x1 - strb r0, [r4, 0x1] - bl sub_802BC6C -_08024660: - ldr r0, _08024674 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0802467C - ldr r1, _08024678 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x1] - b _08024684 - .align 2, 0 -_08024674: .4byte gMain -_08024678: .4byte gBattleCommunication -_0802467C: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08024696 -_08024684: - movs r0, 0x5 - bl PlaySE - bl sub_8023AD8 - ldr r1, _0802469C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] -_08024696: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802469C: .4byte gBattlescriptCurrInstr - thumb_func_end atk67_8025ECC - - thumb_func_start sub_80246A0 -sub_80246A0: @ 80246A0 - push {r4,r5,lr} - movs r1, 0 - ldr r2, _080246CC @ =gNoOfAllBanks - ldr r5, _080246D0 @ =gBattlescriptCurrInstr - ldrb r0, [r2] - cmp r1, r0 - bge _080246BE - ldr r4, _080246D4 @ =gUnknown_02024A76 - movs r3, 0xC -_080246B2: - adds r0, r1, r4 - strb r3, [r0] - adds r1, 0x1 - ldrb r0, [r2] - cmp r1, r0 - blt _080246B2 -_080246BE: - ldr r0, [r5] - adds r0, 0x1 - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080246CC: .4byte gNoOfAllBanks -_080246D0: .4byte gBattlescriptCurrInstr -_080246D4: .4byte gUnknown_02024A76 - thumb_func_end sub_80246A0 - - thumb_func_start atk69_8025FE0 -atk69_8025FE0: @ 80246D8 - push {r4-r7,lr} - ldr r7, _08024700 @ =gBattleMons - ldr r6, _08024704 @ =gBankTarget - ldrb r2, [r6] - movs r5, 0x58 - adds r0, r2, 0 - muls r0, r5 - adds r1, r0, r7 - ldrh r0, [r1, 0x2E] - cmp r0, 0xAF - bne _0802470C - ldr r1, _08024708 @ =gEnigmaBerries - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r4, [r0, 0x7] - ldrb r6, [r0, 0x1A] - b _08024726 - .align 2, 0 -_08024700: .4byte gBattleMons -_08024704: .4byte gBankTarget -_08024708: .4byte gEnigmaBerries -_0802470C: - ldrh r0, [r1, 0x2E] - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r4, r0, 24 - ldrb r0, [r6] - muls r0, r5 - adds r0, r7 - ldrh r0, [r0, 0x2E] - bl ItemId_GetHoldEffectParam - lsls r0, 24 - lsrs r6, r0, 24 -_08024726: - ldr r1, _080247E8 @ =gStringBank - ldr r5, _080247EC @ =gBankTarget - ldrb r0, [r5] - strb r0, [r1] - cmp r4, 0x27 - bne _08024764 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, r6 - bcs _08024764 - ldrb r0, [r5] - movs r1, 0x27 - bl RecordItemBattle - ldr r2, _080247F0 @ =gSpecialStatuses - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0] -_08024764: - ldr r2, _080247F4 @ =gBattleMons - ldr r3, _080247EC @ =gBankTarget - ldrb r4, [r3] - movs r0, 0x58 - muls r0, r4 - adds r1, r2, 0 - adds r1, 0x50 - adds r0, r1 - ldr r1, [r0] - movs r0, 0x80 - lsls r0, 17 - ands r1, r0 - adds r5, r2, 0 - cmp r1, 0 - bne _08024834 - ldr r2, _080247F8 @ =gBattleMoves - ldr r0, _080247FC @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0x65 - beq _080247B6 - ldr r0, _08024800 @ =gProtectStructs - lsls r1, r4, 4 - adds r1, r0 - ldrb r0, [r1] - lsls r0, 30 - cmp r0, 0 - blt _080247B6 - ldr r0, _080247F0 @ =gSpecialStatuses - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1] - lsrs r0, 7 - cmp r0, 0 - beq _08024834 -_080247B6: - ldrb r0, [r3] - movs r4, 0x58 - muls r0, r4 - adds r0, r5 - ldrh r1, [r0, 0x28] - ldr r2, _08024804 @ =gBattleMoveDamage - ldr r0, [r2] - cmp r1, r0 - bgt _08024834 - subs r0, r1, 0x1 - str r0, [r2] - ldr r1, _08024800 @ =gProtectStructs - ldrb r3, [r3] - lsls r0, r3, 4 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 30 - cmp r0, 0 - bge _0802480C - ldr r0, _08024808 @ =gBattleMoveFlags - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - b _08024834 - .align 2, 0 -_080247E8: .4byte gStringBank -_080247EC: .4byte gBankTarget -_080247F0: .4byte gSpecialStatuses -_080247F4: .4byte gBattleMons -_080247F8: .4byte gBattleMoves -_080247FC: .4byte gCurrentMove -_08024800: .4byte gProtectStructs -_08024804: .4byte gBattleMoveDamage -_08024808: .4byte gBattleMoveFlags -_0802480C: - ldr r0, _08024844 @ =gSpecialStatuses - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1] - lsrs r0, 7 - cmp r0, 0 - beq _08024834 - ldr r2, _08024848 @ =gBattleMoveFlags - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - ldr r1, _0802484C @ =gLastUsedItem - adds r0, r3, 0 - muls r0, r4 - adds r0, r5 - ldrh r0, [r0, 0x2E] - strh r0, [r1] -_08024834: - ldr r1, _08024850 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08024844: .4byte gSpecialStatuses -_08024848: .4byte gBattleMoveFlags -_0802484C: .4byte gLastUsedItem -_08024850: .4byte gBattlescriptCurrInstr - thumb_func_end atk69_8025FE0 - - thumb_func_start atk6A_stash_item_for_side -atk6A_stash_item_for_side: @ 8024854 - push {r4-r6,lr} - sub sp, 0x4 - ldr r6, _080248B0 @ =gBattlescriptCurrInstr - ldr r0, [r6] - ldrb r0, [r0, 0x1] - bl sub_8015150 - ldr r5, _080248B4 @ =gActiveBank - strb r0, [r5] - ldrb r4, [r5] - lsls r1, r4, 1 - ldr r0, _080248B8 @ =0x020160cc - adds r1, r0 - ldr r2, _080248BC @ =gBattleMons - movs r3, 0x58 - adds r0, r4, 0 - muls r0, r3 - adds r0, r2 - ldrh r0, [r0, 0x2E] - strh r0, [r1] - ldrb r0, [r5] - muls r0, r3 - adds r0, r2 - movs r1, 0 - strh r1, [r0, 0x2E] - ldrb r0, [r5] - muls r0, r3 - adds r2, 0x2E - adds r0, r2 - str r0, [sp] - movs r0, 0 - movs r1, 0x2 - movs r2, 0 - movs r3, 0x2 - bl EmitSetAttributes - ldrb r0, [r5] - bl MarkBufferBankForExecution - ldr r0, [r6] - adds r0, 0x2 - str r0, [r6] - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080248B0: .4byte gBattlescriptCurrInstr -_080248B4: .4byte gActiveBank -_080248B8: .4byte 0x020160cc -_080248BC: .4byte gBattleMons - thumb_func_end atk6A_stash_item_for_side - - thumb_func_start sub_80248C0 -sub_80248C0: @ 80248C0 - ldr r1, _080248EC @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x7 - strb r0, [r1, 0x1] - ldr r2, _080248F0 @ =gBankAttacker - ldrb r0, [r2] - strb r0, [r1, 0x2] - ldr r3, _080248F4 @ =gBattlePartyID - ldrb r0, [r2] - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldr r1, _080248F8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .align 2, 0 -_080248EC: .4byte gBattleTextBuff1 -_080248F0: .4byte gBankAttacker -_080248F4: .4byte gBattlePartyID -_080248F8: .4byte gBattlescriptCurrInstr - thumb_func_end sub_80248C0 - - thumb_func_start sub_80248FC -sub_80248FC: @ 80248FC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - movs r1, 0 - movs r7, 0 - ldr r0, _08024928 @ =0x02000000 - mov r10, r0 - ldr r4, _0802492C @ =0x0001609c - add r4, r10 - ldrb r0, [r4] - cmp r0, 0x1 - bne _0802491C - b _08024AF4 -_0802491C: - cmp r0, 0x1 - bgt _08024930 - cmp r0, 0 - beq _0802493E - b _08024C38 - .align 2, 0 -_08024928: .4byte 0x02000000 -_0802492C: .4byte 0x0001609c -_08024930: - cmp r0, 0x2 - bne _08024936 - b _08024C04 -_08024936: - cmp r0, 0x3 - bne _0802493C - b _08024C30 -_0802493C: - b _08024C38 -_0802493E: - str r1, [sp] - movs r0, 0xB - movs r1, 0 - movs r2, 0x1D - movs r3, 0x7 - bl sub_802BBD4 - ldr r0, _0802499C @ =gStringVar4 - ldr r1, _080249A0 @ =gUnknown_08400D9F - bl StringCopy - adds r5, r0, 0 - movs r1, 0 - mov r8, r1 -_0802495A: - movs r2, 0 - mov r9, r2 - ldr r0, _080249A4 @ =gUnknown_0840165C - mov r1, r8 - lsls r4, r1, 2 - adds r0, r4, r0 - ldr r1, [r0] - adds r0, r5, 0 - bl StringAppend - adds r5, r0, 0 - ldr r0, _080249A8 @ =0x02000000 - ldr r2, _080249AC @ =0x00016018 - adds r0, r2 - ldrb r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080249B0 @ =gPlayerParty - adds r0, r1 - ldr r1, _080249B4 @ =gLevelUpStatBoxStats - add r1, r8 - ldrb r1, [r1] - bl GetMonData - lsls r0, 16 - lsrs r1, r0, 16 - mov r0, r8 - cmp r0, 0x5 - bhi _08024A1A - ldr r0, _080249B8 @ =_080249BC - adds r0, r4, r0 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802499C: .4byte gStringVar4 -_080249A0: .4byte gUnknown_08400D9F -_080249A4: .4byte gUnknown_0840165C -_080249A8: .4byte 0x02000000 -_080249AC: .4byte 0x00016018 -_080249B0: .4byte gPlayerParty -_080249B4: .4byte gLevelUpStatBoxStats -_080249B8: .4byte _080249BC - .align 2, 0 -_080249BC: - .4byte _080249D4 - .4byte _080249E0 - .4byte _080249EC - .4byte _080249F8 - .4byte _08024A04 - .4byte _08024A10 -_080249D4: - ldr r0, _080249DC @ =0x02017180 - ldrh r0, [r0] - b _08024A14 - .align 2, 0 -_080249DC: .4byte 0x02017180 -_080249E0: - ldr r0, _080249E8 @ =0x02017180 - ldrh r0, [r0, 0x8] - b _08024A14 - .align 2, 0 -_080249E8: .4byte 0x02017180 -_080249EC: - ldr r0, _080249F4 @ =0x02017180 - ldrh r0, [r0, 0x2] - b _08024A14 - .align 2, 0 -_080249F4: .4byte 0x02017180 -_080249F8: - ldr r0, _08024A00 @ =0x02017180 - ldrh r0, [r0, 0xA] - b _08024A14 - .align 2, 0 -_08024A00: .4byte 0x02017180 -_08024A04: - ldr r0, _08024A0C @ =0x02017180 - ldrh r0, [r0, 0x4] - b _08024A14 - .align 2, 0 -_08024A0C: .4byte 0x02017180 -_08024A10: - ldr r0, _08024A54 @ =0x02017180 - ldrh r0, [r0, 0x6] -_08024A14: - subs r0, r1, r0 - lsls r0, 16 - lsrs r7, r0, 16 -_08024A1A: - lsls r0, r7, 16 - asrs r0, 16 - cmp r0, 0 - bge _08024A2C - negs r0, r0 - lsls r0, 16 - lsrs r7, r0, 16 - movs r1, 0x1 - add r9, r1 -_08024A2C: - movs r0, 0xFC - strb r0, [r5] - movs r0, 0x13 - strb r0, [r5, 0x1] - movs r1, 0x1 - mov r2, r8 - ands r1, r2 - lsls r0, r1, 3 - adds r0, r1 - adds r0, 0x5 - lsls r0, 3 - adds r0, 0x6 - strb r0, [r5, 0x2] - adds r5, 0x3 - mov r0, r9 - cmp r0, 0 - beq _08024A5C - ldr r1, _08024A58 @ =gUnknown_08400DAC - b _08024A5E - .align 2, 0 -_08024A54: .4byte 0x02017180 -_08024A58: .4byte gUnknown_08400DAC -_08024A5C: - ldr r1, _08024AA4 @ =gUnknown_08400DAA -_08024A5E: - adds r0, r5, 0 - bl StringCopy - adds r5, r0, 0 - movs r6, 0xFC - strb r6, [r5] - movs r4, 0x14 - strb r4, [r5, 0x1] - movs r0, 0x6 - strb r0, [r5, 0x2] - adds r5, 0x3 - lsls r1, r7, 16 - asrs r1, 16 - adds r0, r5, 0 - movs r2, 0x1 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - adds r5, r0, 0 - strb r6, [r5] - strb r4, [r5, 0x1] - movs r0, 0 - strb r0, [r5, 0x2] - adds r5, 0x3 - movs r0, 0x1 - mov r1, r8 - ands r0, r1 - cmp r0, 0 - beq _08024AA8 - movs r0, 0xFE - strb r0, [r5] - movs r0, 0xFF - strb r0, [r5, 0x1] - adds r5, 0x1 - b _08024AB8 - .align 2, 0 -_08024AA4: .4byte gUnknown_08400DAA -_08024AA8: - strb r6, [r5] - movs r0, 0x11 - strb r0, [r5, 0x1] - movs r0, 0x8 - strb r0, [r5, 0x2] - adds r5, 0x3 - movs r0, 0xFF - strb r0, [r5] -_08024AB8: - movs r2, 0x1 - add r8, r2 - mov r0, r8 - cmp r0, 0x5 - bgt _08024AC4 - b _0802495A -_08024AC4: - ldr r4, _08024AE4 @ =gUnknown_03004210 - ldr r1, _08024AE8 @ =gStringVar4 - adds r2, 0xFF - movs r0, 0x1 - str r0, [sp] - adds r0, r4, 0 - movs r3, 0xC - bl InitWindow - adds r0, r4, 0 - bl sub_8002F44 - ldr r1, _08024AEC @ =0x02000000 - ldr r2, _08024AF0 @ =0x0001609c - adds r1, r2 - b _08024BEA - .align 2, 0 -_08024AE4: .4byte gUnknown_03004210 -_08024AE8: .4byte gStringVar4 -_08024AEC: .4byte 0x02000000 -_08024AF0: .4byte 0x0001609c -_08024AF4: - ldr r0, _08024B94 @ =gMain - ldrh r0, [r0, 0x2E] - cmp r0, 0 - bne _08024AFE - b _08024C38 -_08024AFE: - movs r0, 0x5 - bl PlaySE - ldr r0, _08024B98 @ =gStringVar4 - ldr r1, _08024B9C @ =gUnknown_08400D9F - bl StringCopy - adds r5, r0, 0 - movs r0, 0 - mov r8, r0 - mov r9, r0 - movs r6, 0xFC - movs r7, 0x14 - ldr r1, _08024BA0 @ =0x00016018 - add r10, r1 -_08024B1C: - ldr r1, _08024BA4 @ =gUnknown_0840165C - mov r2, r8 - lsls r0, r2, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r5, 0 - bl StringAppend - adds r5, r0, 0 - mov r0, r10 - ldrb r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08024BA8 @ =gPlayerParty - adds r0, r1 - ldr r1, _08024BAC @ =gLevelUpStatBoxStats - add r1, r8 - ldrb r1, [r1] - bl GetMonData - adds r1, r0, 0 - strb r6, [r5] - movs r0, 0x13 - strb r0, [r5, 0x1] - movs r4, 0x1 - mov r2, r8 - ands r4, r2 - lsls r0, r4, 3 - adds r0, r4 - adds r0, 0x5 - lsls r0, 3 - adds r0, 0x6 - strb r0, [r5, 0x2] - adds r5, 0x3 - strb r6, [r5] - strb r7, [r5, 0x1] - movs r0, 0x6 - strb r0, [r5, 0x2] - adds r5, 0x3 - lsls r1, 16 - asrs r1, 16 - adds r0, r5, 0 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r5, r0, 0 - strb r6, [r5] - strb r7, [r5, 0x1] - mov r0, r9 - strb r0, [r5, 0x2] - adds r5, 0x3 - cmp r4, 0 - beq _08024BB0 - movs r0, 0xFE - strb r0, [r5] - movs r0, 0xFF - strb r0, [r5, 0x1] - adds r5, 0x1 - b _08024BC0 - .align 2, 0 -_08024B94: .4byte gMain -_08024B98: .4byte gStringVar4 -_08024B9C: .4byte gUnknown_08400D9F -_08024BA0: .4byte 0x00016018 -_08024BA4: .4byte gUnknown_0840165C -_08024BA8: .4byte gPlayerParty -_08024BAC: .4byte gLevelUpStatBoxStats -_08024BB0: - strb r6, [r5] - movs r0, 0x11 - strb r0, [r5, 0x1] - movs r0, 0x8 - strb r0, [r5, 0x2] - adds r5, 0x3 - movs r0, 0xFF - strb r0, [r5] -_08024BC0: - movs r1, 0x1 - add r8, r1 - mov r2, r8 - cmp r2, 0x5 - ble _08024B1C - ldr r4, _08024BF4 @ =gUnknown_03004210 - ldr r1, _08024BF8 @ =gStringVar4 - movs r2, 0x80 - lsls r2, 1 - movs r0, 0x1 - str r0, [sp] - adds r0, r4, 0 - movs r3, 0xC - bl InitWindow - adds r0, r4, 0 - bl sub_8002F44 - ldr r1, _08024BFC @ =0x02000000 - ldr r0, _08024C00 @ =0x0001609c - adds r1, r0 -_08024BEA: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08024C38 - .align 2, 0 -_08024BF4: .4byte gUnknown_03004210 -_08024BF8: .4byte gStringVar4 -_08024BFC: .4byte 0x02000000 -_08024C00: .4byte 0x0001609c -_08024C04: - ldr r0, _08024C2C @ =gMain - ldrh r0, [r0, 0x2E] - cmp r0, 0 - beq _08024C38 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - str r0, [sp] - movs r0, 0xB - movs r1, 0 - movs r2, 0x1D - movs r3, 0x7 - bl sub_802BBD4 - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _08024C38 - .align 2, 0 -_08024C2C: .4byte gMain -_08024C30: - ldr r1, _08024C48 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] -_08024C38: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08024C48: .4byte gBattlescriptCurrInstr - thumb_func_end sub_80248FC - - thumb_func_start sub_8024C4C -sub_8024C4C: @ 8024C4C - push {lr} - bl sub_80156DC - ldr r1, _08024C60 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08024C60: .4byte gBattlescriptCurrInstr - thumb_func_end sub_8024C4C - - thumb_func_start atk6E_state0_side_becomes_attacker -atk6E_state0_side_becomes_attacker: @ 8024C64 - push {lr} - movs r0, 0 - bl GetBankByPlayerAI - ldr r1, _08024C7C @ =gBankAttacker - strb r0, [r1] - ldr r1, _08024C80 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08024C7C: .4byte gBankAttacker -_08024C80: .4byte gBattlescriptCurrInstr - thumb_func_end atk6E_state0_side_becomes_attacker - - thumb_func_start atk6F_8026810 -atk6F_8026810: @ 8024C84 - push {r4,r5,lr} - ldr r5, _08024CB0 @ =gBattlescriptCurrInstr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - bl sub_8015150 - ldr r4, _08024CB4 @ =gActiveBank - strb r0, [r4] - movs r0, 0 - movs r1, 0 - bl EmitSpriteInvisibility - ldrb r0, [r4] - bl MarkBufferBankForExecution - ldr r0, [r5] - adds r0, 0x2 - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08024CB0: .4byte gBattlescriptCurrInstr -_08024CB4: .4byte gActiveBank - thumb_func_end atk6F_8026810 - - thumb_func_start atk70_record_ability_usage_of_side -atk70_record_ability_usage_of_side: @ 8024CB8 - push {r4,lr} - ldr r4, _08024CE0 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl sub_8015150 - ldr r1, _08024CE4 @ =gActiveBank - strb r0, [r1] - ldrb r0, [r1] - ldr r1, _08024CE8 @ =gLastUsedAbility - ldrb r1, [r1] - bl RecordAbilityBattle - ldr r0, [r4] - adds r0, 0x1 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08024CE0: .4byte gBattlescriptCurrInstr -_08024CE4: .4byte gActiveBank -_08024CE8: .4byte gLastUsedAbility - thumb_func_end atk70_record_ability_usage_of_side - - thumb_func_start sub_8024CEC -sub_8024CEC: @ 8024CEC - ldr r2, _08024D0C @ =gBattleTextBuff2 - movs r0, 0xFD - strb r0, [r2] - movs r0, 0x2 - strb r0, [r2, 0x1] - ldr r0, _08024D10 @ =word_2024E82 - ldrh r1, [r0] - strb r1, [r2, 0x2] - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - lsrs r0, 8 - strb r0, [r2, 0x3] - movs r0, 0xFF - strb r0, [r2, 0x4] - bx lr - .align 2, 0 -_08024D0C: .4byte gBattleTextBuff2 -_08024D10: .4byte word_2024E82 - thumb_func_end sub_8024CEC - - thumb_func_start atk71_80268A0 -atk71_80268A0: @ 8024D14 - push {lr} - bl sub_8024CEC - ldr r1, _08024D28 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08024D28: .4byte gBattlescriptCurrInstr - thumb_func_end atk71_80268A0 - - thumb_func_start atk72_flee -atk72_flee: @ 8024D2C - push {lr} - ldr r0, _08024D58 @ =gBank1 - ldrb r0, [r0] - bl sub_8014AB8 - lsls r0, 24 - cmp r0, 0 - beq _08024D60 - ldr r3, _08024D5C @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08024D68 - .align 2, 0 -_08024D58: .4byte gBank1 -_08024D5C: .4byte gBattlescriptCurrInstr -_08024D60: - ldr r1, _08024D6C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_08024D68: - pop {r0} - bx r0 - .align 2, 0 -_08024D6C: .4byte gBattlescriptCurrInstr - thumb_func_end atk72_flee - - thumb_func_start atk73_cmd73 -atk73_cmd73: @ 8024D70 - push {r4,r5,lr} - ldr r0, _08024DC0 @ =gBattleTypeFlags - ldrh r0, [r0] - movs r5, 0x1 - ands r5, r0 - cmp r5, 0 - bne _08024E12 - ldr r0, _08024DC4 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - bl sub_8015150 - ldr r1, _08024DC8 @ =gActiveBank - strb r0, [r1] - movs r1, 0x1 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08024DCC @ =gBattleMons - movs r1, 0x58 - muls r1, r0 - adds r1, r2 - ldrh r4, [r1, 0x28] - movs r0, 0x64 - muls r0, r4 - ldrh r1, [r1, 0x2C] - bl __divsi3 - cmp r0, 0 - bne _08024DAE - movs r0, 0x1 -_08024DAE: - cmp r0, 0x45 - bgt _08024DB6 - cmp r4, 0 - bne _08024DD8 -_08024DB6: - ldr r0, _08024DD0 @ =0x02000000 - ldr r1, _08024DD4 @ =0x000160c1 - adds r0, r1 - strb r5, [r0] - b _08024E12 - .align 2, 0 -_08024DC0: .4byte gBattleTypeFlags -_08024DC4: .4byte gBattlescriptCurrInstr -_08024DC8: .4byte gActiveBank -_08024DCC: .4byte gBattleMons -_08024DD0: .4byte 0x02000000 -_08024DD4: .4byte 0x000160c1 -_08024DD8: - cmp r0, 0x27 - ble _08024DF0 - ldr r0, _08024DE8 @ =0x02000000 - ldr r1, _08024DEC @ =0x000160c1 - adds r0, r1 - movs r1, 0x1 - b _08024E10 - .align 2, 0 -_08024DE8: .4byte 0x02000000 -_08024DEC: .4byte 0x000160c1 -_08024DF0: - cmp r0, 0x9 - ble _08024E08 - ldr r0, _08024E00 @ =0x02000000 - ldr r1, _08024E04 @ =0x000160c1 - adds r0, r1 - movs r1, 0x2 - b _08024E10 - .align 2, 0 -_08024E00: .4byte 0x02000000 -_08024E04: .4byte 0x000160c1 -_08024E08: - ldr r0, _08024E20 @ =0x02000000 - ldr r1, _08024E24 @ =0x000160c1 - adds r0, r1 - movs r1, 0x3 -_08024E10: - strb r1, [r0] -_08024E12: - ldr r1, _08024E28 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08024E20: .4byte 0x02000000 -_08024E24: .4byte 0x000160c1 -_08024E28: .4byte gBattlescriptCurrInstr - thumb_func_end atk73_cmd73 - - thumb_func_start atk74_hp_tresholds_2 -atk74_hp_tresholds_2: @ 8024E2C - push {r4-r7,lr} - ldr r0, _08024E8C @ =gBattleTypeFlags - ldrh r0, [r0] - movs r7, 0x1 - ands r7, r0 - cmp r7, 0 - bne _08024ED0 - ldr r0, _08024E90 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - bl sub_8015150 - adds r4, r0, 0 - ldr r0, _08024E94 @ =gActiveBank - strb r4, [r0] - movs r0, 0x1 - eors r4, r0 - lsls r4, 24 - lsrs r4, 24 - ldr r6, _08024E98 @ =0x02000000 - adds r0, r4, 0 - bl GetBankSide - lsls r0, 24 - lsrs r0, 23 - ldr r1, _08024E9C @ =0x000160bc - adds r0, r1 - adds r0, r6 - ldrb r5, [r0] - ldr r1, _08024EA0 @ =gBattleMons - movs r0, 0x58 - muls r0, r4 - adds r0, r1 - ldrh r4, [r0, 0x28] - subs r1, r5, r4 - movs r0, 0x64 - muls r0, r1 - adds r1, r5, 0 - bl __divsi3 - adds r1, r0, 0 - cmp r4, r5 - bcc _08024EA8 - ldr r1, _08024EA4 @ =0x000160c1 - adds r0, r6, r1 - strb r7, [r0] - b _08024ED0 - .align 2, 0 -_08024E8C: .4byte gBattleTypeFlags -_08024E90: .4byte gBattlescriptCurrInstr -_08024E94: .4byte gActiveBank -_08024E98: .4byte 0x02000000 -_08024E9C: .4byte 0x000160bc -_08024EA0: .4byte gBattleMons -_08024EA4: .4byte 0x000160c1 -_08024EA8: - cmp r0, 0x1D - bgt _08024EB8 - ldr r0, _08024EB4 @ =0x000160c1 - adds r1, r6, r0 - movs r0, 0x1 - b _08024ECE - .align 2, 0 -_08024EB4: .4byte 0x000160c1 -_08024EB8: - cmp r1, 0x45 - bgt _08024EC8 - ldr r0, _08024EC4 @ =0x000160c1 - adds r1, r6, r0 - movs r0, 0x2 - b _08024ECE - .align 2, 0 -_08024EC4: .4byte 0x000160c1 -_08024EC8: - ldr r0, _08024EE0 @ =0x000160c1 - adds r1, r6, r0 - movs r0, 0x3 -_08024ECE: - strb r0, [r1] -_08024ED0: - ldr r1, _08024EE4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08024EE0: .4byte 0x000160c1 -_08024EE4: .4byte gBattlescriptCurrInstr - thumb_func_end atk74_hp_tresholds_2 - - thumb_func_start atk75_8026A58 -atk75_8026A58: @ 8024EE8 - push {lr} - sub sp, 0x4 - ldr r2, _08024F28 @ =gBankInMenu - ldr r1, _08024F2C @ =gBankAttacker - ldrb r0, [r1] - strb r0, [r2] - ldr r2, _08024F30 @ =gBattlePartyID - ldrb r0, [r1] - lsls r0, 1 - adds r0, r2 - ldrh r2, [r0] - movs r0, 0x64 - muls r0, r2 - ldr r1, _08024F34 @ =gEnemyParty - adds r0, r1 - ldr r1, _08024F38 @ =gLastUsedItem - ldrh r1, [r1] - lsls r2, 24 - lsrs r2, 24 - movs r3, 0x1 - str r3, [sp] - movs r3, 0 - bl sub_803E1B0 - ldr r1, _08024F3C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_08024F28: .4byte gBankInMenu -_08024F2C: .4byte gBankAttacker -_08024F30: .4byte gBattlePartyID -_08024F34: .4byte gEnemyParty -_08024F38: .4byte gLastUsedItem -_08024F3C: .4byte gBattlescriptCurrInstr - thumb_func_end atk75_8026A58 - - thumb_func_start sub_8024F40 -sub_8024F40: @ 8024F40 - push {r4-r6,lr} - ldr r4, _08024F64 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl sub_8015150 - ldr r1, _08024F68 @ =gActiveBank - strb r0, [r1] - ldr r0, [r4] - ldrb r0, [r0, 0x2] - cmp r0, 0x6 - bls _08024F5A - b _08025112 -_08024F5A: - lsls r0, 2 - ldr r1, _08024F6C @ =_08024F70 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08024F64: .4byte gBattlescriptCurrInstr -_08024F68: .4byte gActiveBank -_08024F6C: .4byte _08024F70 - .align 2, 0 -_08024F70: - .4byte _08024F8C - .4byte _08024F9C - .4byte _08024FFC - .4byte _0802500C - .4byte _08025024 - .4byte _08025060 - .4byte _08025098 -_08024F8C: - ldr r0, _08024F98 @ =gActiveBank - ldrb r0, [r0] - bl CancelMultiTurnMoves - b _08025112 - .align 2, 0 -_08024F98: .4byte gActiveBank -_08024F9C: - ldr r1, _08024FD8 @ =gBankAttacker - ldr r4, _08024FDC @ =gBankTarget - ldrb r0, [r4] - strb r0, [r1] - ldrb r0, [r1] - bl GetBankSide - movs r1, 0x1 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08024FE0 @ =gSideTimer - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r2, r1, r2 - ldrb r0, [r2, 0x8] - cmp r0, 0 - beq _08024FE8 - ldr r1, _08024FE4 @ =gBattleMons - ldrb r2, [r2, 0x9] - movs r0, 0x58 - muls r0, r2 - adds r0, r1 - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _08024FE8 - strb r2, [r4] - b _08025112 - .align 2, 0 -_08024FD8: .4byte gBankAttacker -_08024FDC: .4byte gBankTarget -_08024FE0: .4byte gSideTimer -_08024FE4: .4byte gBattleMons -_08024FE8: - ldr r0, _08024FF4 @ =gBankTarget - ldr r1, _08024FF8 @ =gActiveBank - ldrb r1, [r1] - strb r1, [r0] - b _08025112 - .align 2, 0 -_08024FF4: .4byte gBankTarget -_08024FF8: .4byte gActiveBank -_08024FFC: - bl CanRunFromBattle - ldr r1, _08025008 @ =gBattleCommunication - strb r0, [r1] - b _08025112 - .align 2, 0 -_08025008: .4byte gBattleCommunication -_0802500C: - ldr r0, _0802501C @ =gCurrentMove - ldrh r0, [r0] - movs r1, 0 - bl sub_801B5C0 - ldr r1, _08025020 @ =gBankTarget - strb r0, [r1] - b _08025112 - .align 2, 0 -_0802501C: .4byte gCurrentMove -_08025020: .4byte gBankTarget -_08025024: - ldr r2, _08025044 @ =gHitMarker - ldr r1, _08025048 @ =gBitTable - ldr r0, _0802504C @ =gActiveBank - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - lsls r0, 28 - ldr r2, [r2] - ands r2, r0 - cmp r2, 0 - beq _08025054 - ldr r1, _08025050 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1] - b _08025112 - .align 2, 0 -_08025044: .4byte gHitMarker -_08025048: .4byte gBitTable -_0802504C: .4byte gActiveBank -_08025050: .4byte gBattleCommunication -_08025054: - ldr r0, _0802505C @ =gBattleCommunication - strb r2, [r0] - b _08025112 - .align 2, 0 -_0802505C: .4byte gBattleCommunication -_08025060: - ldr r4, _08025090 @ =gSpecialStatuses - ldr r3, _08025094 @ =gActiveBank - ldrb r0, [r3] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r2, [r1] - movs r0, 0x9 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldrb r0, [r3] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r2, [r1] - movs r0, 0x11 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - b _08025112 - .align 2, 0 -_08025090: .4byte gSpecialStatuses -_08025094: .4byte gActiveBank -_08025098: - ldr r3, _080250B8 @ =gBattlePartyID - ldr r0, _080250BC @ =0x02000000 - ldr r1, _080250C0 @ =0x00016018 - adds r0, r1 - ldrh r2, [r3] - ldrb r1, [r0] - cmp r2, r1 - beq _080250B2 - ldrh r0, [r3, 0x4] - cmp r0, r1 - bne _08025112 - cmp r2, r0 - bne _080250C8 -_080250B2: - ldr r1, _080250C4 @ =gActiveBank - movs r0, 0 - b _080250CC - .align 2, 0 -_080250B8: .4byte gBattlePartyID -_080250BC: .4byte 0x02000000 -_080250C0: .4byte 0x00016018 -_080250C4: .4byte gActiveBank -_080250C8: - ldr r1, _08025120 @ =gActiveBank - movs r0, 0x2 -_080250CC: - strb r0, [r1] - adds r5, r1, 0 - ldrb r2, [r5] - lsls r1, r2, 1 - ldr r0, _08025124 @ =0x020160e8 - adds r4, r1, r0 - movs r3, 0 - ldr r1, _08025128 @ =gBattleMons - movs r0, 0x58 - muls r0, r2 - adds r1, 0xC - adds r0, r1 - ldrh r0, [r0] - ldrh r2, [r4] - cmp r0, r2 - beq _0802510A - adds r6, r5, 0 - movs r5, 0x58 - adds r2, r1, 0 -_080250F2: - adds r3, 0x1 - cmp r3, 0x3 - bgt _0802510A - lsls r1, r3, 1 - ldrb r0, [r6] - muls r0, r5 - adds r1, r0 - adds r1, r2 - ldrh r0, [r1] - ldrh r1, [r4] - cmp r0, r1 - bne _080250F2 -_0802510A: - cmp r3, 0x4 - bne _08025112 - movs r0, 0 - strh r0, [r4] -_08025112: - ldr r1, _0802512C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x3 - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08025120: .4byte gActiveBank -_08025124: .4byte 0x020160e8 -_08025128: .4byte gBattleMons -_0802512C: .4byte gBattlescriptCurrInstr - thumb_func_end sub_8024F40 - - thumb_func_start atk77_setprotect -atk77_setprotect: @ 8025130 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r6, 0x1 - ldr r2, _080251FC @ =gUnknown_02024C4C - ldr r1, _08025200 @ =gBankAttacker - ldrb r3, [r1] - lsls r0, r3, 1 - adds r0, r2 - ldrh r0, [r0] - mov r8, r1 - ldr r7, _08025204 @ =gDisableStructs - cmp r0, 0xB6 - beq _08025160 - cmp r0, 0xC5 - beq _08025160 - cmp r0, 0xCB - beq _08025160 - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - adds r0, r7 - movs r1, 0 - strb r1, [r0, 0x8] -_08025160: - ldr r0, _08025208 @ =gCurrentMoveTurn - ldrb r1, [r0] - ldr r0, _0802520C @ =gNoOfAllBanks - ldrb r0, [r0] - subs r0, 0x1 - cmp r1, r0 - bne _08025170 - movs r6, 0 -_08025170: - ldr r2, _08025210 @ =gProtectSuccessRates - mov r5, r8 - ldrb r1, [r5] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r7 - ldrb r4, [r0, 0x8] - lsls r4, 1 - adds r4, r2 - bl Random - ldrh r1, [r4] - lsls r0, 16 - lsrs r0, 16 - cmp r1, r0 - bls _08025224 - cmp r6, 0 - beq _08025224 - ldr r4, _08025214 @ =gBattleMoves - ldr r3, _08025218 @ =gCurrentMove - ldrh r0, [r3] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r0, [r1] - cmp r0, 0x6F - bne _080251C0 - ldr r0, _0802521C @ =gProtectStructs - ldrb r1, [r5] - lsls r1, 4 - adds r1, r0 - ldrb r0, [r1] - movs r2, 0x1 - orrs r0, r2 - strb r0, [r1] - ldr r1, _08025220 @ =gBattleCommunication - movs r0, 0 - strb r0, [r1, 0x5] -_080251C0: - ldrh r0, [r3] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r0, [r1] - cmp r0, 0x74 - bne _080251E6 - ldr r0, _0802521C @ =gProtectStructs - ldrb r1, [r5] - lsls r1, 4 - adds r1, r0 - ldrb r0, [r1] - movs r2, 0x2 - orrs r0, r2 - strb r0, [r1] - ldr r1, _08025220 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x5] -_080251E6: - mov r1, r8 - ldrb r0, [r1] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r7 - ldrb r0, [r1, 0x8] - adds r0, 0x1 - strb r0, [r1, 0x8] - b _08025246 - .align 2, 0 -_080251FC: .4byte gUnknown_02024C4C -_08025200: .4byte gBankAttacker -_08025204: .4byte gDisableStructs -_08025208: .4byte gCurrentMoveTurn -_0802520C: .4byte gNoOfAllBanks -_08025210: .4byte gProtectSuccessRates -_08025214: .4byte gBattleMoves -_08025218: .4byte gCurrentMove -_0802521C: .4byte gProtectStructs -_08025220: .4byte gBattleCommunication -_08025224: - ldr r2, _08025258 @ =gDisableStructs - ldr r0, _0802525C @ =gBankAttacker - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strb r1, [r0, 0x8] - ldr r1, _08025260 @ =gBattleCommunication - movs r0, 0x2 - strb r0, [r1, 0x5] - ldr r2, _08025264 @ =gBattleMoveFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] -_08025246: - ldr r1, _08025268 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08025258: .4byte gDisableStructs -_0802525C: .4byte gBankAttacker -_08025260: .4byte gBattleCommunication -_08025264: .4byte gBattleMoveFlags -_08025268: .4byte gBattlescriptCurrInstr - thumb_func_end atk77_setprotect - - thumb_func_start atk78_faintifabilitynotdamp -atk78_faintifabilitynotdamp: @ 802526C - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, _08025328 @ =gBattleExecBuffer - ldr r2, [r0] - cmp r2, 0 - bne _08025370 - ldr r1, _0802532C @ =gBankTarget - strb r2, [r1] - ldr r0, _08025330 @ =gNoOfAllBanks - ldrb r3, [r0] - adds r5, r1, 0 - mov r8, r0 - ldr r6, _08025334 @ =gBattleMons - cmp r2, r3 - bcs _080252B8 - adds r0, r6, 0 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x6 - beq _080252B8 - adds r2, r3, 0 - adds r4, r6, 0 - movs r3, 0x58 -_0802529C: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, r2 - bcs _080252B8 - ldrb r0, [r5] - muls r0, r3 - adds r0, r4 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x6 - bne _0802529C -_080252B8: - ldrb r0, [r5] - mov r1, r8 - ldrb r1, [r1] - cmp r0, r1 - bne _08025354 - ldr r4, _08025338 @ =gActiveBank - ldr r7, _0802533C @ =gBankAttacker - ldrb r0, [r7] - strb r0, [r4] - ldr r2, _08025340 @ =gBattleMoveDamage - ldrb r1, [r4] - movs r0, 0x58 - muls r0, r1 - adds r0, r6 - ldrh r0, [r0, 0x28] - str r0, [r2] - ldr r1, _08025344 @ =0x00007fff - movs r0, 0 - bl EmitHealthBarUpdate - ldrb r0, [r4] - bl MarkBufferBankForExecution - ldr r1, _08025348 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - movs r0, 0 - strb r0, [r5] - mov r2, r8 - ldrb r0, [r2] - cmp r0, 0 - beq _08025370 - adds r3, r5, 0 - ldrb r5, [r7] - ldr r7, _0802534C @ =gBitTable - adds r4, r0, 0 - ldr r6, _08025350 @ =gAbsentBankFlags -_08025304: - ldrb r2, [r3] - cmp r2, r5 - beq _0802531A - ldrb r0, [r6] - ldrb r1, [r3] - lsls r1, 2 - adds r1, r7 - ldr r1, [r1] - ands r0, r1 - cmp r0, 0 - beq _08025370 -_0802531A: - adds r0, r2, 0x1 - strb r0, [r3] - lsls r0, 24 - lsrs r0, 24 - cmp r0, r4 - bcc _08025304 - b _08025370 - .align 2, 0 -_08025328: .4byte gBattleExecBuffer -_0802532C: .4byte gBankTarget -_08025330: .4byte gNoOfAllBanks -_08025334: .4byte gBattleMons -_08025338: .4byte gActiveBank -_0802533C: .4byte gBankAttacker -_08025340: .4byte gBattleMoveDamage -_08025344: .4byte 0x00007fff -_08025348: .4byte gBattlescriptCurrInstr -_0802534C: .4byte gBitTable -_08025350: .4byte gAbsentBankFlags -_08025354: - ldr r1, _0802537C @ =gLastUsedAbility - movs r0, 0x6 - strb r0, [r1] - ldrb r0, [r5] - movs r1, 0x58 - muls r1, r0 - adds r1, r6 - adds r1, 0x20 - ldrb r1, [r1] - bl RecordAbilityBattle - ldr r1, _08025380 @ =gBattlescriptCurrInstr - ldr r0, _08025384 @ =gUnknown_081D9834 - str r0, [r1] -_08025370: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802537C: .4byte gLastUsedAbility -_08025380: .4byte gBattlescriptCurrInstr -_08025384: .4byte gUnknown_081D9834 - thumb_func_end atk78_faintifabilitynotdamp - - thumb_func_start atk79_setuserhptozero -atk79_setuserhptozero: @ 8025388 - push {r4,lr} - sub sp, 0x4 - ldr r0, _080253D4 @ =gBattleExecBuffer - ldr r3, [r0] - cmp r3, 0 - bne _080253CC - ldr r4, _080253D8 @ =gActiveBank - ldr r0, _080253DC @ =gBankAttacker - ldrb r0, [r0] - strb r0, [r4] - ldr r1, _080253E0 @ =gBattleMons - ldrb r0, [r4] - movs r2, 0x58 - muls r0, r2 - adds r0, r1 - strh r3, [r0, 0x28] - ldrb r0, [r4] - muls r0, r2 - adds r1, 0x28 - adds r0, r1 - str r0, [sp] - movs r0, 0 - movs r1, 0x2A - movs r2, 0 - movs r3, 0x2 - bl EmitSetAttributes - ldrb r0, [r4] - bl MarkBufferBankForExecution - ldr r1, _080253E4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] -_080253CC: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080253D4: .4byte gBattleExecBuffer -_080253D8: .4byte gActiveBank -_080253DC: .4byte gBankAttacker -_080253E0: .4byte gBattleMons -_080253E4: .4byte gBattlescriptCurrInstr - thumb_func_end atk79_setuserhptozero - - thumb_func_start sub_80253E8 -sub_80253E8: @ 80253E8 - push {r4-r7,lr} - ldr r3, _08025460 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r4, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r4, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r4, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r4, r0 - ldr r0, _08025464 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x1 - ands r0, r1 - adds r7, r3, 0 - cmp r0, 0 - beq _08025480 - ldr r0, _08025468 @ =gBankTarget - ldrb r1, [r0] - adds r1, 0x1 - strb r1, [r0] - ldr r2, _0802546C @ =gBankAttacker - lsls r1, 24 - lsrs r1, 24 - adds r3, r0, 0 - ldr r6, _08025470 @ =gAbsentBankFlags - ldr r5, _08025474 @ =gBitTable - ldr r0, _08025478 @ =gNoOfAllBanks - mov r12, r0 - ldrb r0, [r2] - cmp r1, r0 - bne _0802543E -_0802542E: - ldrb r0, [r3] - adds r0, 0x1 - strb r0, [r3] - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r2] - cmp r0, r1 - beq _0802542E -_0802543E: - ldrb r0, [r6] - ldrb r1, [r3] - lsls r1, 2 - adds r1, r5 - ldr r1, [r1] - ands r0, r1 - cmp r0, 0 - bne _0802542E - ldrb r0, [r3] - mov r2, r12 - ldrb r2, [r2] - cmp r0, r2 - bcc _0802547C - ldr r0, [r7] - adds r0, 0x5 - str r0, [r7] - b _08025484 - .align 2, 0 -_08025460: .4byte gBattlescriptCurrInstr -_08025464: .4byte gBattleTypeFlags -_08025468: .4byte gBankTarget -_0802546C: .4byte gBankAttacker -_08025470: .4byte gAbsentBankFlags -_08025474: .4byte gBitTable -_08025478: .4byte gNoOfAllBanks -_0802547C: - str r4, [r7] - b _08025484 -_08025480: - adds r0, r2, 0x5 - str r0, [r3] -_08025484: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80253E8 - - thumb_func_start sub_802548C -sub_802548C: @ 802548C - push {r4-r6,lr} - ldr r4, _080254E8 @ =gBattlescriptCurrInstr - ldr r1, [r4] - ldrb r2, [r1, 0x1] - ldrb r0, [r1, 0x2] - lsls r0, 8 - orrs r2, r0 - ldrb r0, [r1, 0x3] - lsls r0, 16 - orrs r2, r0 - ldrb r0, [r1, 0x4] - lsls r0, 24 - orrs r2, r0 - ldrb r0, [r1, 0x5] - ldr r3, _080254EC @ =gBankTarget - cmp r0, 0x1 - bne _080254B4 - ldr r0, _080254F0 @ =gBankAttacker - ldrb r0, [r0] - strb r0, [r3] -_080254B4: - ldr r1, _080254F4 @ =gBattleMoveDamage - ldr r6, _080254F8 @ =gBattleMons - ldrb r0, [r3] - movs r5, 0x58 - muls r0, r5 - adds r0, r6 - ldrh r0, [r0, 0x2C] - lsrs r0, 1 - str r0, [r1] - cmp r0, 0 - bne _080254CE - movs r0, 0x1 - str r0, [r1] -_080254CE: - ldr r0, [r1] - negs r0, r0 - str r0, [r1] - ldrb r0, [r3] - muls r0, r5 - adds r0, r6 - ldrh r1, [r0, 0x28] - ldrh r0, [r0, 0x2C] - cmp r1, r0 - bne _080254FC - str r2, [r4] - b _08025502 - .align 2, 0 -_080254E8: .4byte gBattlescriptCurrInstr -_080254EC: .4byte gBankTarget -_080254F0: .4byte gBankAttacker -_080254F4: .4byte gBattleMoveDamage -_080254F8: .4byte gBattleMons -_080254FC: - ldr r0, [r4] - adds r0, 0x6 - str r0, [r4] -_08025502: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_802548C - - thumb_func_start sub_8025508 -sub_8025508: @ 8025508 - push {r4-r7,lr} - ldr r3, _0802556C @ =0x02000000 - ldr r4, _08025570 @ =gBankAttacker - ldrb r2, [r4] - lsls r1, r2, 1 - ldr r5, _08025574 @ =0x000160ac - adds r0, r1, r5 - adds r0, r3 - ldrb r7, [r0] - ldr r0, _08025578 @ =0x000160ad - adds r1, r0 - adds r1, r3 - ldrb r0, [r1] - lsls r0, 8 - orrs r7, r0 - lsls r2, 2 - ldr r1, _0802557C @ =0x00016100 - adds r0, r2, r1 - adds r0, r3 - ldrb r6, [r0] - adds r5, 0x55 - adds r0, r2, r5 - adds r0, r3 - ldrb r0, [r0] - lsls r0, 8 - orrs r6, r0 - adds r1, 0x2 - adds r0, r2, r1 - adds r0, r3 - ldrb r5, [r0] - ldr r0, _08025580 @ =0x00016103 - adds r2, r0 - adds r2, r3 - ldrb r0, [r2] - lsls r0, 8 - orrs r5, r0 - cmp r7, 0 - beq _08025594 - ldr r0, _08025584 @ =0x0000ffff - cmp r7, r0 - beq _08025594 - ldr r2, _08025588 @ =gHitMarker - ldr r0, [r2] - ldr r1, _0802558C @ =0xfffffbff - ands r0, r1 - str r0, [r2] - ldr r4, _08025590 @ =gCurrentMove - strh r7, [r4] - b _0802565C - .align 2, 0 -_0802556C: .4byte 0x02000000 -_08025570: .4byte gBankAttacker -_08025574: .4byte 0x000160ac -_08025578: .4byte 0x000160ad -_0802557C: .4byte 0x00016100 -_08025580: .4byte 0x00016103 -_08025584: .4byte 0x0000ffff -_08025588: .4byte gHitMarker -_0802558C: .4byte 0xfffffbff -_08025590: .4byte gCurrentMove -_08025594: - cmp r6, 0 - beq _08025644 - cmp r5, 0 - beq _08025618 - ldr r0, _080255C4 @ =0x0000ffff - cmp r6, r0 - beq _08025618 - cmp r5, r0 - beq _08025618 - ldr r2, _080255C8 @ =gHitMarker - ldr r0, [r2] - ldr r1, _080255CC @ =0xfffffbff - ands r0, r1 - str r0, [r2] - bl Random - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - beq _080255D4 - ldr r0, _080255D0 @ =gCurrentMove - strh r6, [r0] - b _080255D8 - .align 2, 0 -_080255C4: .4byte 0x0000ffff -_080255C8: .4byte gHitMarker -_080255CC: .4byte 0xfffffbff -_080255D0: .4byte gCurrentMove -_080255D4: - ldr r0, _08025604 @ =gCurrentMove - strh r5, [r0] -_080255D8: - adds r5, r0, 0 - ldrh r0, [r5] - movs r1, 0 - bl sub_801B5C0 - ldr r1, _08025608 @ =gBankTarget - strb r0, [r1] - ldr r4, _0802560C @ =gBattlescriptCurrInstr - ldr r3, _08025610 @ =gUnknown_081D6BBC - ldr r2, _08025614 @ =gBattleMoves - ldrh r1, [r5] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r3 - ldr r0, [r0] - str r0, [r4] - b _080256C0 - .align 2, 0 -_08025604: .4byte gCurrentMove -_08025608: .4byte gBankTarget -_0802560C: .4byte gBattlescriptCurrInstr -_08025610: .4byte gUnknown_081D6BBC -_08025614: .4byte gBattleMoves -_08025618: - cmp r6, 0 - beq _08025644 - ldr r0, _08025634 @ =0x0000ffff - cmp r6, r0 - beq _08025644 - ldr r2, _08025638 @ =gHitMarker - ldr r0, [r2] - ldr r1, _0802563C @ =0xfffffbff - ands r0, r1 - str r0, [r2] - ldr r4, _08025640 @ =gCurrentMove - strh r6, [r4] - b _0802565C - .align 2, 0 -_08025634: .4byte 0x0000ffff -_08025638: .4byte gHitMarker -_0802563C: .4byte 0xfffffbff -_08025640: .4byte gCurrentMove -_08025644: - cmp r5, 0 - beq _080256A4 - ldr r0, _08025684 @ =0x0000ffff - cmp r5, r0 - beq _080256A4 - ldr r2, _08025688 @ =gHitMarker - ldr r0, [r2] - ldr r1, _0802568C @ =0xfffffbff - ands r0, r1 - str r0, [r2] - ldr r4, _08025690 @ =gCurrentMove - strh r5, [r4] -_0802565C: - ldrh r0, [r4] - movs r1, 0 - bl sub_801B5C0 - ldr r1, _08025694 @ =gBankTarget - strb r0, [r1] - ldr r5, _08025698 @ =gBattlescriptCurrInstr - ldr r3, _0802569C @ =gUnknown_081D6BBC - ldr r2, _080256A0 @ =gBattleMoves - ldrh r1, [r4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r3 - ldr r0, [r0] - str r0, [r5] - b _080256C0 - .align 2, 0 -_08025684: .4byte 0x0000ffff -_08025688: .4byte gHitMarker -_0802568C: .4byte 0xfffffbff -_08025690: .4byte gCurrentMove -_08025694: .4byte gBankTarget -_08025698: .4byte gBattlescriptCurrInstr -_0802569C: .4byte gUnknown_081D6BBC -_080256A0: .4byte gBattleMoves -_080256A4: - ldr r2, _080256C8 @ =gSpecialStatuses - ldrb r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0] - ldr r1, _080256CC @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] -_080256C0: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080256C8: .4byte gSpecialStatuses -_080256CC: .4byte gBattlescriptCurrInstr - thumb_func_end sub_8025508 - - thumb_func_start sub_80256D0 -sub_80256D0: @ 80256D0 - push {lr} - ldr r2, _080256F0 @ =gBattleWeather - ldrh r0, [r2] - movs r1, 0x7 - ands r1, r0 - cmp r1, 0 - beq _080256FC - ldr r2, _080256F4 @ =gBattleMoveFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - ldr r1, _080256F8 @ =gBattleCommunication - movs r0, 0x2 - strb r0, [r1, 0x5] - b _0802570C - .align 2, 0 -_080256F0: .4byte gBattleWeather -_080256F4: .4byte gBattleMoveFlags -_080256F8: .4byte gBattleCommunication -_080256FC: - movs r0, 0x1 - strh r0, [r2] - ldr r0, _08025718 @ =gBattleCommunication - strb r1, [r0, 0x5] - ldr r0, _0802571C @ =gWishFutureKnock - adds r0, 0x28 - movs r1, 0x5 - strb r1, [r0] -_0802570C: - ldr r1, _08025720 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08025718: .4byte gBattleCommunication -_0802571C: .4byte gWishFutureKnock -_08025720: .4byte gBattlescriptCurrInstr - thumb_func_end sub_80256D0 - - thumb_func_start atk7E_setreflect -atk7E_setreflect: @ 8025724 - push {r4-r6,lr} - ldr r5, _08025754 @ =gBankAttacker - ldrb r0, [r5] - bl GetBankIdentity - ldr r6, _08025758 @ =gSideAffecting - movs r4, 0x1 - adds r1, r4, 0 - ands r1, r0 - lsls r1, 1 - adds r1, r6 - ldrh r1, [r1] - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _08025764 - ldr r2, _0802575C @ =gBattleMoveFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - ldr r1, _08025760 @ =gBattleCommunication - movs r0, 0 - b _080257C4 - .align 2, 0 -_08025754: .4byte gBankAttacker -_08025758: .4byte gSideAffecting -_0802575C: .4byte gBattleMoveFlags -_08025760: .4byte gBattleCommunication -_08025764: - ldrb r0, [r5] - bl GetBankIdentity - adds r1, r4, 0 - ands r1, r0 - lsls r1, 1 - adds r1, r6 - ldrh r0, [r1] - movs r2, 0x1 - orrs r0, r2 - strh r0, [r1] - ldrb r0, [r5] - bl GetBankIdentity - ldr r2, _080257B4 @ =gSideTimer - adds r1, r4, 0 - ands r1, r0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x5 - strb r1, [r0] - ldr r0, _080257B8 @ =gBattleTypeFlags - ldrh r1, [r0] - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _080257C0 - movs r0, 0x1 - bl CountAliveMons - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x2 - bne _080257C0 - ldr r0, _080257BC @ =gBattleCommunication - strb r1, [r0, 0x5] - b _080257C6 - .align 2, 0 -_080257B4: .4byte gSideTimer -_080257B8: .4byte gBattleTypeFlags -_080257BC: .4byte gBattleCommunication -_080257C0: - ldr r1, _080257D4 @ =gBattleCommunication - movs r0, 0x1 -_080257C4: - strb r0, [r1, 0x5] -_080257C6: - ldr r1, _080257D8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080257D4: .4byte gBattleCommunication -_080257D8: .4byte gBattlescriptCurrInstr - thumb_func_end atk7E_setreflect - - thumb_func_start sub_80257DC -sub_80257DC: @ 80257DC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r7, _0802581C @ =gBattleMoveFlags - ldrb r5, [r7] - movs r0, 0x29 - ands r0, r5 - cmp r0, 0 - bne _0802580E - ldr r0, _08025820 @ =gStatuses3 - mov r9, r0 - ldr r1, _08025824 @ =gBankTarget - mov r8, r1 - ldrb r4, [r1] - lsls r0, r4, 2 - mov r2, r9 - adds r6, r0, r2 - ldr r2, [r6] - movs r0, 0x4 - mov r12, r0 - adds r3, r2, 0 - ands r3, r0 - cmp r3, 0 - beq _0802582C -_0802580E: - movs r0, 0x1 - orrs r0, r5 - strb r0, [r7] - ldr r1, _08025828 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x5] - b _0802587C - .align 2, 0 -_0802581C: .4byte gBattleMoveFlags -_08025820: .4byte gStatuses3 -_08025824: .4byte gBankTarget -_08025828: .4byte gBattleCommunication -_0802582C: - ldr r1, _08025858 @ =gBattleMons - movs r0, 0x58 - muls r0, r4 - adds r1, r0, r1 - adds r0, r1, 0 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, 0xC - beq _08025848 - adds r0, r1, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, 0xC - bne _08025860 -_08025848: - movs r0, 0x1 - orrs r0, r5 - strb r0, [r7] - ldr r1, _0802585C @ =gBattleCommunication - movs r0, 0x2 - strb r0, [r1, 0x5] - b _0802587C - .align 2, 0 -_08025858: .4byte gBattleMons -_0802585C: .4byte gBattleCommunication -_08025860: - ldr r0, _08025890 @ =gBankAttacker - ldrb r0, [r0] - orrs r2, r0 - str r2, [r6] - mov r2, r8 - ldrb r1, [r2] - lsls r1, 2 - add r1, r9 - ldr r0, [r1] - mov r2, r12 - orrs r0, r2 - str r0, [r1] - ldr r0, _08025894 @ =gBattleCommunication - strb r3, [r0, 0x5] -_0802587C: - ldr r1, _08025898 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08025890: .4byte gBankAttacker -_08025894: .4byte gBattleCommunication -_08025898: .4byte gBattlescriptCurrInstr - thumb_func_end sub_80257DC - - thumb_func_start atk80_manipulatedamage -atk80_manipulatedamage: @ 802589C - push {r4,lr} - ldr r1, _080258B4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - ldrb r2, [r0, 0x1] - adds r4, r1, 0 - cmp r2, 0x1 - beq _080258CC - cmp r2, 0x1 - bgt _080258B8 - cmp r2, 0 - beq _080258BE - b _0802590C - .align 2, 0 -_080258B4: .4byte gBattlescriptCurrInstr -_080258B8: - cmp r2, 0x2 - beq _08025904 - b _0802590C -_080258BE: - ldr r1, _080258C8 @ =gBattleMoveDamage - ldr r0, [r1] - negs r0, r0 - b _0802590A - .align 2, 0 -_080258C8: .4byte gBattleMoveDamage -_080258CC: - ldr r3, _080258F8 @ =gBattleMoveDamage - ldr r0, [r3] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - str r0, [r3] - cmp r0, 0 - bne _080258DE - str r2, [r3] -_080258DE: - ldr r2, _080258FC @ =gBattleMons - ldr r0, _08025900 @ =gBankTarget - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrh r0, [r0, 0x2C] - lsrs r1, r0, 1 - ldr r0, [r3] - cmp r1, r0 - bge _0802590C - str r1, [r3] - b _0802590C - .align 2, 0 -_080258F8: .4byte gBattleMoveDamage -_080258FC: .4byte gBattleMons -_08025900: .4byte gBankTarget -_08025904: - ldr r1, _08025918 @ =gBattleMoveDamage - ldr r0, [r1] - lsls r0, 1 -_0802590A: - str r0, [r1] -_0802590C: - ldr r0, [r4] - adds r0, 0x2 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08025918: .4byte gBattleMoveDamage - thumb_func_end atk80_manipulatedamage - - thumb_func_start atk81_setrest -atk81_setrest: @ 802591C - push {r4-r7,lr} - sub sp, 0x4 - ldr r0, _08025974 @ =gBattlescriptCurrInstr - mov r12, r0 - ldr r1, [r0] - ldrb r6, [r1, 0x1] - ldrb r0, [r1, 0x2] - lsls r0, 8 - orrs r6, r0 - ldrb r0, [r1, 0x3] - lsls r0, 16 - orrs r6, r0 - ldrb r0, [r1, 0x4] - lsls r0, 24 - orrs r6, r0 - ldr r5, _08025978 @ =gActiveBank - ldr r2, _0802597C @ =gBankTarget - ldr r0, _08025980 @ =gBankAttacker - ldrb r0, [r0] - strb r0, [r2] - strb r0, [r5] - ldr r4, _08025984 @ =gBattleMoveDamage - ldr r1, _08025988 @ =gBattleMons - ldrb r0, [r2] - movs r3, 0x58 - muls r0, r3 - adds r0, r1 - ldrh r0, [r0, 0x2C] - negs r0, r0 - str r0, [r4] - ldrb r0, [r2] - adds r4, r0, 0 - muls r4, r3 - adds r0, r4, r1 - ldrh r3, [r0, 0x28] - adds r7, r5, 0 - adds r5, r2, 0 - adds r2, r1, 0 - ldrh r0, [r0, 0x2C] - cmp r3, r0 - bne _0802598C - mov r0, r12 - str r6, [r0] - b _080259DC - .align 2, 0 -_08025974: .4byte gBattlescriptCurrInstr -_08025978: .4byte gActiveBank -_0802597C: .4byte gBankTarget -_08025980: .4byte gBankAttacker -_08025984: .4byte gBattleMoveDamage -_08025988: .4byte gBattleMons -_0802598C: - adds r0, r2, 0 - adds r0, 0x4C - adds r0, r4, r0 - ldr r1, [r0] - movs r0, 0xF8 - ands r1, r0 - cmp r1, 0 - beq _080259A8 - ldr r1, _080259A4 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x5] - b _080259AC - .align 2, 0 -_080259A4: .4byte gBattleCommunication -_080259A8: - ldr r0, _080259E4 @ =gBattleCommunication - strb r1, [r0, 0x5] -_080259AC: - ldrb r0, [r5] - movs r3, 0x58 - muls r0, r3 - adds r2, 0x4C - adds r0, r2 - movs r1, 0x3 - str r1, [r0] - ldrb r0, [r7] - muls r0, r3 - adds r0, r2 - str r0, [sp] - movs r0, 0 - movs r1, 0x28 - movs r2, 0 - movs r3, 0x4 - bl EmitSetAttributes - ldrb r0, [r7] - bl MarkBufferBankForExecution - ldr r1, _080259E8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_080259DC: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080259E4: .4byte gBattleCommunication -_080259E8: .4byte gBattlescriptCurrInstr - thumb_func_end atk81_setrest - - thumb_func_start atk82_jumpifnotfirstturn -atk82_jumpifnotfirstturn: @ 80259EC - push {r4,r5,lr} - ldr r5, _08025A20 @ =gBattlescriptCurrInstr - ldr r4, [r5] - ldrb r3, [r4, 0x1] - ldrb r0, [r4, 0x2] - lsls r0, 8 - orrs r3, r0 - ldrb r0, [r4, 0x3] - lsls r0, 16 - orrs r3, r0 - ldrb r0, [r4, 0x4] - lsls r0, 24 - orrs r3, r0 - ldr r2, _08025A24 @ =gDisableStructs - ldr r0, _08025A28 @ =gBankAttacker - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x16] - cmp r0, 0 - beq _08025A2C - adds r0, r4, 0x5 - str r0, [r5] - b _08025A2E - .align 2, 0 -_08025A20: .4byte gBattlescriptCurrInstr -_08025A24: .4byte gDisableStructs -_08025A28: .4byte gBankAttacker -_08025A2C: - str r3, [r5] -_08025A2E: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end atk82_jumpifnotfirstturn - - thumb_func_start sub_8025A34 -sub_8025A34: @ 8025A34 - ldr r1, _08025A40 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .align 2, 0 -_08025A40: .4byte gBattlescriptCurrInstr - thumb_func_end sub_8025A34 - - thumb_func_start sub_8025A44 -sub_8025A44: @ 8025A44 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r3, r0, 24 - movs r2, 0 - ldr r0, _08025A9C @ =gNoOfAllBanks - ldrb r1, [r0] - mov r8, r0 - cmp r2, r1 - bge _08025AB8 - ldr r0, _08025AA0 @ =gBattleMons - mov r12, r0 - movs r0, 0x58 - muls r0, r3 - add r0, r12 - adds r5, r0, 0 - adds r5, 0x20 - ldr r6, _08025AA4 @ =0x02016003 - movs r3, 0 - ldr r7, _08025AA8 @ =gBattleCommunication - adds r4, r1, 0 -_08025A70: - mov r0, r12 - adds r0, 0x50 - adds r0, r3, r0 - ldr r0, [r0] - movs r1, 0x70 - ands r0, r1 - cmp r0, 0 - beq _08025AB0 - ldrb r0, [r5] - cmp r0, 0x2B - beq _08025AB0 - movs r3, 0 - strb r2, [r6] - ldr r1, _08025AAC @ =gBankTarget - ldrb r0, [r1] - cmp r0, 0xFF - beq _08025AD0 - cmp r0, r2 - beq _08025AC4 - movs r0, 0x1 - strb r0, [r7, 0x5] - b _08025AB8 - .align 2, 0 -_08025A9C: .4byte gNoOfAllBanks -_08025AA0: .4byte gBattleMons -_08025AA4: .4byte 0x02016003 -_08025AA8: .4byte gBattleCommunication -_08025AAC: .4byte gBankTarget -_08025AB0: - adds r3, 0x58 - adds r2, 0x1 - cmp r2, r4 - blt _08025A70 -_08025AB8: - mov r1, r8 - ldrb r1, [r1] - cmp r2, r1 - beq _08025AD4 - movs r0, 0x1 - b _08025AD6 -_08025AC4: - ldr r0, _08025ACC @ =gBattleCommunication - strb r3, [r0, 0x5] - b _08025AB8 - .align 2, 0 -_08025ACC: .4byte gBattleCommunication -_08025AD0: - strb r2, [r1] - b _08025AB8 -_08025AD4: - movs r0, 0 -_08025AD6: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8025A44 - - thumb_func_start sub_8025AE0 -sub_8025AE0: @ 8025AE0 - push {r4-r6,lr} - ldr r5, _08025B0C @ =gBattlescriptCurrInstr - ldr r1, [r5] - ldrb r4, [r1, 0x1] - ldrb r0, [r1, 0x2] - lsls r0, 8 - orrs r4, r0 - ldrb r0, [r1, 0x3] - lsls r0, 16 - orrs r4, r0 - ldrb r0, [r1, 0x4] - lsls r0, 24 - orrs r4, r0 - ldr r6, _08025B10 @ =gBankTarget - ldrb r0, [r6] - bl sub_8025A44 - lsls r0, 24 - cmp r0, 0 - beq _08025B14 - str r4, [r5] - b _08025B56 - .align 2, 0 -_08025B0C: .4byte gBattlescriptCurrInstr -_08025B10: .4byte gBankTarget -_08025B14: - ldr r1, _08025B44 @ =gBattleMons - ldrb r3, [r6] - movs r0, 0x58 - muls r0, r3 - adds r0, r1 - adds r0, 0x20 - ldrb r0, [r0] - adds r1, r0, 0 - cmp r1, 0xF - beq _08025B2C - cmp r1, 0x48 - bne _08025B50 -_08025B2C: - ldr r2, _08025B48 @ =gLastUsedAbility - strb r0, [r2] - ldr r1, _08025B4C @ =gBattleCommunication - movs r0, 0x2 - strb r0, [r1, 0x5] - str r4, [r5] - ldrb r1, [r2] - adds r0, r3, 0 - bl RecordAbilityBattle - b _08025B56 - .align 2, 0 -_08025B44: .4byte gBattleMons -_08025B48: .4byte gLastUsedAbility -_08025B4C: .4byte gBattleCommunication -_08025B50: - ldr r0, [r5] - adds r0, 0x5 - str r0, [r5] -_08025B56: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8025AE0 - - thumb_func_start sub_8025B5C -sub_8025B5C: @ 8025B5C - push {r4,r5,lr} - ldr r5, _08025B84 @ =gDisableStructs - ldr r4, _08025B88 @ =gBankAttacker - ldrb r1, [r4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r1, r0, r5 - ldrb r0, [r1, 0x9] - cmp r0, 0x3 - bne _08025B94 - ldr r2, _08025B8C @ =gBattleMoveFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - ldr r1, _08025B90 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x5] - b _08025BBE - .align 2, 0 -_08025B84: .4byte gDisableStructs -_08025B88: .4byte gBankAttacker -_08025B8C: .4byte gBattleMoveFlags -_08025B90: .4byte gBattleCommunication -_08025B94: - adds r0, 0x1 - movs r3, 0 - strb r0, [r1, 0x9] - ldr r2, _08025BCC @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r2] - movs r0, 0x1 - strb r0, [r2, 0x1] - strb r0, [r2, 0x2] - strb r0, [r2, 0x3] - ldrb r1, [r4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r0, [r0, 0x9] - strb r0, [r2, 0x4] - movs r0, 0xFF - strb r0, [r2, 0x5] - ldr r0, _08025BD0 @ =gBattleCommunication - strb r3, [r0, 0x5] -_08025BBE: - ldr r1, _08025BD4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08025BCC: .4byte gBattleTextBuff1 -_08025BD0: .4byte gBattleCommunication -_08025BD4: .4byte gBattlescriptCurrInstr - thumb_func_end sub_8025B5C - - thumb_func_start atk86_stockpiletobasedamage -atk86_stockpiletobasedamage: @ 8025BD8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - ldr r3, _08025C10 @ =gBattlescriptCurrInstr - ldr r1, [r3] - ldrb r2, [r1, 0x1] - ldrb r0, [r1, 0x2] - lsls r0, 8 - orrs r2, r0 - ldrb r0, [r1, 0x3] - lsls r0, 16 - orrs r2, r0 - ldrb r0, [r1, 0x4] - lsls r0, 24 - orrs r2, r0 - ldr r7, _08025C14 @ =gDisableStructs - ldr r6, _08025C18 @ =gBankAttacker - ldrb r1, [r6] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r7 - ldrb r0, [r0, 0x9] - cmp r0, 0 - bne _08025C1C - str r2, [r3] - b _08025CC2 - .align 2, 0 -_08025C10: .4byte gBattlescriptCurrInstr -_08025C14: .4byte gDisableStructs -_08025C18: .4byte gBankAttacker -_08025C1C: - ldr r0, _08025CD0 @ =gBattleCommunication - ldrb r0, [r0, 0x6] - cmp r0, 0x1 - beq _08025CA8 - ldr r0, _08025CD4 @ =gBattleMoveDamage - mov r8, r0 - ldr r4, _08025CD8 @ =gSideAffecting - ldr r5, _08025CDC @ =gBankTarget - ldrb r0, [r5] - bl GetBankIdentity - movs r1, 0x1 - ands r1, r0 - lsls r1, 1 - adds r1, r4 - ldrh r3, [r1] - ldrb r0, [r6] - movs r4, 0x58 - muls r0, r4 - ldr r2, _08025CE0 @ =gBattleMons - adds r0, r2 - ldrb r1, [r5] - muls r1, r4 - adds r1, r2 - ldr r2, _08025CE4 @ =gCurrentMove - ldrh r2, [r2] - movs r4, 0 - str r4, [sp] - str r4, [sp, 0x4] - ldrb r4, [r6] - str r4, [sp, 0x8] - ldrb r4, [r5] - str r4, [sp, 0xC] - bl CalculateBaseDamage - ldrb r2, [r6] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r7 - ldrb r1, [r1, 0x9] - adds r3, r0, 0 - muls r3, r1 - mov r1, r8 - str r3, [r1] - ldr r2, _08025CE8 @ =0x02000000 - ldrb r1, [r6] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r7 - ldrb r0, [r0, 0x9] - ldr r1, _08025CEC @ =0x00016002 - adds r2, r1 - strb r0, [r2] - ldr r1, _08025CF0 @ =gProtectStructs - ldrb r0, [r6] - lsls r0, 4 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 28 - cmp r0, 0 - bge _08025CA8 - lsls r0, r3, 4 - subs r0, r3 - movs r1, 0xA - bl __divsi3 - mov r1, r8 - str r0, [r1] -_08025CA8: - ldr r2, _08025CF4 @ =gDisableStructs - ldr r0, _08025CF8 @ =gBankAttacker - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strb r1, [r0, 0x9] - ldr r1, _08025CFC @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_08025CC2: - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08025CD0: .4byte gBattleCommunication -_08025CD4: .4byte gBattleMoveDamage -_08025CD8: .4byte gSideAffecting -_08025CDC: .4byte gBankTarget -_08025CE0: .4byte gBattleMons -_08025CE4: .4byte gCurrentMove -_08025CE8: .4byte 0x02000000 -_08025CEC: .4byte 0x00016002 -_08025CF0: .4byte gProtectStructs -_08025CF4: .4byte gDisableStructs -_08025CF8: .4byte gBankAttacker -_08025CFC: .4byte gBattlescriptCurrInstr - thumb_func_end atk86_stockpiletobasedamage - - thumb_func_start sub_8025D00 -sub_8025D00: @ 8025D00 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r7, _08025D40 @ =gBattlescriptCurrInstr - ldr r1, [r7] - ldrb r2, [r1, 0x1] - ldrb r0, [r1, 0x2] - lsls r0, 8 - orrs r2, r0 - ldrb r0, [r1, 0x3] - lsls r0, 16 - orrs r2, r0 - ldrb r0, [r1, 0x4] - lsls r0, 24 - orrs r2, r0 - ldr r0, _08025D44 @ =gDisableStructs - mov r8, r0 - ldr r6, _08025D48 @ =gBankAttacker - ldrb r3, [r6] - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - mov r1, r8 - adds r4, r0, r1 - ldrb r1, [r4, 0x9] - cmp r1, 0 - bne _08025D50 - str r2, [r7] - ldr r0, _08025D4C @ =gBattleCommunication - strb r1, [r0, 0x5] - b _08025DD0 - .align 2, 0 -_08025D40: .4byte gBattlescriptCurrInstr -_08025D44: .4byte gDisableStructs -_08025D48: .4byte gBankAttacker -_08025D4C: .4byte gBattleCommunication -_08025D50: - ldr r1, _08025D74 @ =gBattleMons - movs r0, 0x58 - muls r0, r3 - adds r1, r0, r1 - ldrh r0, [r1, 0x2C] - ldrh r3, [r1, 0x28] - cmp r0, r3 - bne _08025D80 - movs r0, 0 - strb r0, [r4, 0x9] - str r2, [r7] - ldr r1, _08025D78 @ =gBankTarget - ldrb r0, [r6] - strb r0, [r1] - ldr r1, _08025D7C @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x5] - b _08025DD0 - .align 2, 0 -_08025D74: .4byte gBattleMons -_08025D78: .4byte gBankTarget -_08025D7C: .4byte gBattleCommunication -_08025D80: - ldr r5, _08025DDC @ =gBattleMoveDamage - ldrh r0, [r1, 0x2C] - ldrb r1, [r4, 0x9] - movs r2, 0x3 - subs r2, r1 - movs r4, 0x1 - adds r1, r4, 0 - lsls r1, r2 - bl __divsi3 - str r0, [r5] - cmp r0, 0 - bne _08025D9C - str r4, [r5] -_08025D9C: - ldr r0, [r5] - negs r0, r0 - str r0, [r5] - ldr r2, _08025DE0 @ =0x02000000 - ldrb r1, [r6] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - add r0, r8 - ldrb r0, [r0, 0x9] - ldr r1, _08025DE4 @ =0x00016002 - adds r2, r1 - movs r3, 0 - strb r0, [r2] - ldrb r1, [r6] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - add r0, r8 - strb r3, [r0, 0x9] - ldr r0, [r7] - adds r0, 0x5 - str r0, [r7] - ldr r1, _08025DE8 @ =gBankTarget - ldrb r0, [r6] - strb r0, [r1] -_08025DD0: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08025DDC: .4byte gBattleMoveDamage -_08025DE0: .4byte 0x02000000 -_08025DE4: .4byte 0x00016002 -_08025DE8: .4byte gBankTarget - thumb_func_end sub_8025D00 - - thumb_func_start atk88_negativedamage -atk88_negativedamage: @ 8025DEC - push {lr} - ldr r2, _08025E14 @ =gBattleMoveDamage - ldr r0, _08025E18 @ =gHP_dealt - ldr r0, [r0] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - negs r0, r0 - str r0, [r2] - cmp r0, 0 - bne _08025E08 - movs r0, 0x1 - negs r0, r0 - str r0, [r2] -_08025E08: - ldr r1, _08025E1C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08025E14: .4byte gBattleMoveDamage -_08025E18: .4byte gHP_dealt -_08025E1C: .4byte gBattlescriptCurrInstr - thumb_func_end atk88_negativedamage - - thumb_func_start sub_8025E20 -sub_8025E20: @ 8025E20 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r8, r3 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r5, r2, 24 - movs r0, 0 - mov r9, r0 - mov r10, r0 - movs r0, 0x40 - ands r0, r5 - cmp r0, 0 - beq _08025E54 - ldr r0, _08025E4C @ =gActiveBank - ldr r1, _08025E50 @ =gBankAttacker - b _08025E58 - .align 2, 0 -_08025E4C: .4byte gActiveBank -_08025E50: .4byte gBankAttacker -_08025E54: - ldr r0, _08025EF8 @ =gActiveBank - ldr r1, _08025EFC @ =gBankTarget -_08025E58: - ldrb r1, [r1] - strb r1, [r0] - movs r0, 0xBF - ands r5, r0 - movs r0, 0x80 - ands r0, r5 - cmp r0, 0 - beq _08025E72 - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 -_08025E72: - movs r0, 0x7F - ands r5, r0 - movs r0, 0x20 - ands r0, r5 - cmp r0, 0 - beq _08025E88 - mov r0, r10 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 -_08025E88: - movs r0, 0xDF - ands r5, r0 - ldr r1, _08025F00 @ =gBattleTextBuff1 - movs r4, 0 - movs r2, 0xFD - strb r2, [r1] - movs r0, 0x5 - strb r0, [r1, 0x1] - strb r7, [r1, 0x2] - movs r3, 0x1 - negs r3, r3 - mov r12, r3 - movs r0, 0xFF - strb r0, [r1, 0x3] - lsls r0, r6, 24 - cmp r0, 0 - blt _08025EAC - b _080261B0 -_08025EAC: - ldr r4, _08025F04 @ =gSideTimer - ldr r1, _08025EF8 @ =gActiveBank - ldrb r0, [r1] - bl GetBankIdentity - movs r1, 0x1 - ands r1, r0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x2] - cmp r0, 0 - beq _08025F54 - mov r2, r9 - cmp r2, 0 - bne _08025F54 - ldr r0, _08025F08 @ =gCurrentMove - ldrh r0, [r0] - cmp r0, 0xAE - beq _08025F84 - cmp r5, 0x1 - bne _08025F74 - ldr r4, _08025F0C @ =gSpecialStatuses - ldr r3, _08025EF8 @ =gActiveBank - ldrb r0, [r3] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r0, [r1] - lsls r0, 31 - cmp r0, 0 - beq _08025F14 - ldr r0, _08025F10 @ =gBattlescriptCurrInstr - mov r4, r8 - str r4, [r0] - b _08025F74 - .align 2, 0 -_08025EF8: .4byte gActiveBank -_08025EFC: .4byte gBankTarget -_08025F00: .4byte gBattleTextBuff1 -_08025F04: .4byte gSideTimer -_08025F08: .4byte gCurrentMove -_08025F0C: .4byte gSpecialStatuses -_08025F10: .4byte gBattlescriptCurrInstr -_08025F14: - mov r0, r8 - bl b_movescr_stack_push - ldr r0, _08025F40 @ =0x02000000 - ldr r6, _08025F44 @ =gActiveBank - ldrb r1, [r6] - ldr r2, _08025F48 @ =0x00016003 - adds r0, r2 - strb r1, [r0] - ldr r1, _08025F4C @ =gBattlescriptCurrInstr - ldr r0, _08025F50 @ =gUnknown_081D9128 - str r0, [r1] - ldrb r1, [r6] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0] - b _08025F74 - .align 2, 0 -_08025F40: .4byte 0x02000000 -_08025F44: .4byte gActiveBank -_08025F48: .4byte 0x00016003 -_08025F4C: .4byte gBattlescriptCurrInstr -_08025F50: .4byte gUnknown_081D9128 -_08025F54: - ldr r0, _08025F78 @ =gCurrentMove - ldrh r0, [r0] - cmp r0, 0xAE - beq _08025F84 - mov r3, r10 - cmp r3, 0x1 - beq _08025F84 - movs r0, 0 - bl sub_801C108 - lsls r0, 24 - cmp r0, 0 - beq _08025F84 - ldr r1, _08025F7C @ =gBattlescriptCurrInstr - ldr r0, _08025F80 @ =BattleScript_1D83D6 - str r0, [r1] -_08025F74: - movs r0, 0x1 - b _080262A4 - .align 2, 0 -_08025F78: .4byte gCurrentMove -_08025F7C: .4byte gBattlescriptCurrInstr -_08025F80: .4byte BattleScript_1D83D6 -_08025F84: - ldr r2, _08025FCC @ =gBattleMons - ldr r1, _08025FD0 @ =gActiveBank - ldrb r3, [r1] - movs r4, 0x58 - adds r0, r3, 0 - muls r0, r4 - adds r0, r2 - adds r0, 0x20 - ldrb r0, [r0] - mov r10, r2 - cmp r0, 0x1D - beq _08025FA0 - cmp r0, 0x49 - bne _08026040 -_08025FA0: - mov r0, r9 - cmp r0, 0 - bne _08026040 - ldr r0, _08025FD4 @ =gCurrentMove - ldrh r0, [r0] - cmp r0, 0xAE - beq _08026040 - cmp r5, 0x1 - bne _08025F74 - ldr r4, _08025FD8 @ =gSpecialStatuses - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0] - lsls r0, 31 - cmp r0, 0 - beq _08025FE0 - ldr r0, _08025FDC @ =gBattlescriptCurrInstr - mov r1, r8 - str r1, [r0] - b _08025F74 - .align 2, 0 -_08025FCC: .4byte gBattleMons -_08025FD0: .4byte gActiveBank -_08025FD4: .4byte gCurrentMove -_08025FD8: .4byte gSpecialStatuses -_08025FDC: .4byte gBattlescriptCurrInstr -_08025FE0: - mov r0, r8 - bl b_movescr_stack_push - ldr r0, _08026028 @ =0x02000000 - ldr r2, _0802602C @ =gActiveBank - ldrb r1, [r2] - ldr r3, _08026030 @ =0x00016003 - adds r0, r3 - strb r1, [r0] - ldr r1, _08026034 @ =gBattlescriptCurrInstr - ldr r0, _08026038 @ =gUnknown_081D989B - str r0, [r1] - ldr r1, _0802603C @ =gLastUsedAbility - ldrb r0, [r2] - movs r6, 0x58 - muls r0, r6 - add r0, r10 - adds r0, 0x20 - ldrb r0, [r0] - strb r0, [r1] - ldrb r0, [r2] - ldrb r1, [r1] - bl RecordAbilityBattle - ldr r0, _0802602C @ =gActiveBank - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0] - b _08025F74 - .align 2, 0 -_08026028: .4byte 0x02000000 -_0802602C: .4byte gActiveBank -_08026030: .4byte 0x00016003 -_08026034: .4byte gBattlescriptCurrInstr -_08026038: .4byte gUnknown_081D989B -_0802603C: .4byte gLastUsedAbility -_08026040: - ldr r1, _08026090 @ =gActiveBank - ldrb r0, [r1] - movs r4, 0x58 - muls r0, r4 - add r0, r10 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x33 - bne _080260A8 - mov r2, r9 - cmp r2, 0 - bne _080260A8 - cmp r7, 0x6 - bne _080260A8 - cmp r5, 0x1 - bne _08025F74 - mov r0, r8 - bl b_movescr_stack_push - ldr r0, _08026094 @ =0x02000000 - ldr r3, _08026090 @ =gActiveBank - ldrb r1, [r3] - ldr r6, _08026098 @ =0x00016003 - adds r0, r6 - strb r1, [r0] - ldr r1, _0802609C @ =gBattlescriptCurrInstr - ldr r0, _080260A0 @ =gUnknown_081D9903 - str r0, [r1] - ldr r1, _080260A4 @ =gLastUsedAbility - ldrb r0, [r3] - muls r0, r4 - add r0, r10 - adds r0, 0x20 - ldrb r0, [r0] - strb r0, [r1] - ldrb r0, [r3] - ldrb r1, [r1] - bl RecordAbilityBattle - b _08025F74 - .align 2, 0 -_08026090: .4byte gActiveBank -_08026094: .4byte 0x02000000 -_08026098: .4byte 0x00016003 -_0802609C: .4byte gBattlescriptCurrInstr -_080260A0: .4byte gUnknown_081D9903 -_080260A4: .4byte gLastUsedAbility -_080260A8: - ldr r1, _080260FC @ =gActiveBank - ldrb r0, [r1] - movs r4, 0x58 - muls r0, r4 - add r0, r10 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x34 - bne _08026114 - mov r2, r9 - cmp r2, 0 - bne _08026114 - cmp r7, 0x1 - bne _08026114 - cmp r5, 0x1 - beq _080260CA - b _08025F74 -_080260CA: - mov r0, r8 - bl b_movescr_stack_push - ldr r0, _08026100 @ =0x02000000 - ldr r3, _080260FC @ =gActiveBank - ldrb r1, [r3] - ldr r6, _08026104 @ =0x00016003 - adds r0, r6 - strb r1, [r0] - ldr r1, _08026108 @ =gBattlescriptCurrInstr - ldr r0, _0802610C @ =gUnknown_081D9903 - str r0, [r1] - ldr r1, _08026110 @ =gLastUsedAbility - ldrb r0, [r3] - muls r0, r4 - add r0, r10 - adds r0, 0x20 - ldrb r0, [r0] - strb r0, [r1] - ldrb r0, [r3] - ldrb r1, [r1] - bl RecordAbilityBattle - b _08025F74 - .align 2, 0 -_080260FC: .4byte gActiveBank -_08026100: .4byte 0x02000000 -_08026104: .4byte 0x00016003 -_08026108: .4byte gBattlescriptCurrInstr -_0802610C: .4byte gUnknown_081D9903 -_08026110: .4byte gLastUsedAbility -_08026114: - ldr r0, _080261A0 @ =gActiveBank - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - add r0, r10 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x13 - bne _0802612C - cmp r5, 0 - bne _0802612C - b _08025F74 -_0802612C: - lsls r0, r6, 24 - asrs r0, 28 - movs r1, 0x7 - ands r0, r1 - negs r0, r0 - lsls r0, 24 - ldr r3, _080261A4 @ =gBattleTextBuff2 - movs r4, 0 - movs r1, 0xFD - strb r1, [r3] - movs r2, 0x1 - lsrs r6, r0, 24 - asrs r0, 24 - subs r1, 0xFF - cmp r0, r1 - bne _08026156 - strb r4, [r3, 0x1] - movs r0, 0xD3 - strb r0, [r3, 0x2] - strb r4, [r3, 0x3] - movs r2, 0x4 -_08026156: - adds r0, r2, r3 - strb r4, [r0] - adds r2, 0x1 - adds r1, r2, r3 - movs r0, 0xD4 - strb r0, [r1] - adds r2, 0x1 - adds r0, r2, r3 - strb r4, [r0] - adds r2, 0x1 - adds r1, r2, r3 - movs r0, 0xFF - strb r0, [r1] - ldr r1, _080261A0 @ =gActiveBank - ldrb r2, [r1] - movs r0, 0x58 - muls r0, r2 - adds r0, r7, r0 - mov r1, r10 - adds r1, 0x18 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - beq _08026206 - movs r1, 0 - ldr r0, _080261A8 @ =gBankTarget - ldrb r0, [r0] - ldr r3, _080261AC @ =gBattleCommunication - mov r8, r3 - cmp r0, r2 - bne _0802619A - movs r1, 0x1 -_0802619A: - mov r4, r8 - strb r1, [r4, 0x5] - b _08026234 - .align 2, 0 -_080261A0: .4byte gActiveBank -_080261A4: .4byte gBattleTextBuff2 -_080261A8: .4byte gBankTarget -_080261AC: .4byte gBattleCommunication -_080261B0: - asrs r6, r0, 28 - movs r0, 0x7 - ands r6, r0 - ldr r3, _08026210 @ =gBattleTextBuff2 - strb r2, [r3] - movs r2, 0x1 - cmp r6, 0x2 - bne _080261CA - strb r4, [r3, 0x1] - movs r0, 0xD1 - strb r0, [r3, 0x2] - strb r4, [r3, 0x3] - movs r2, 0x4 -_080261CA: - adds r0, r2, r3 - strb r4, [r0] - adds r2, 0x1 - adds r1, r2, r3 - movs r0, 0xD2 - strb r0, [r1] - adds r2, 0x1 - adds r0, r2, r3 - strb r4, [r0] - adds r2, 0x1 - adds r1, r2, r3 - ldrb r0, [r1] - mov r2, r12 - orrs r0, r2 - strb r0, [r1] - ldr r2, _08026214 @ =gBattleMons - ldr r4, _08026218 @ =gActiveBank - ldrb r3, [r4] - movs r0, 0x58 - muls r0, r3 - adds r0, r7, r0 - adds r1, r2, 0 - adds r1, 0x18 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - mov r10, r2 - cmp r0, 0xC - bne _08026220 -_08026206: - ldr r1, _0802621C @ =gBattleCommunication - movs r0, 0x2 - strb r0, [r1, 0x5] - mov r8, r1 - b _08026234 - .align 2, 0 -_08026210: .4byte gBattleTextBuff2 -_08026214: .4byte gBattleMons -_08026218: .4byte gActiveBank -_0802621C: .4byte gBattleCommunication -_08026220: - movs r1, 0 - ldr r0, _080262B4 @ =gBankTarget - ldrb r0, [r0] - ldr r2, _080262B8 @ =gBattleCommunication - mov r8, r2 - cmp r0, r3 - bne _08026230 - movs r1, 0x1 -_08026230: - mov r3, r8 - strb r1, [r3, 0x5] -_08026234: - ldr r2, _080262BC @ =gActiveBank - ldrb r0, [r2] - movs r4, 0x58 - adds r1, r0, 0 - muls r1, r4 - adds r1, r7, r1 - mov r3, r10 - adds r3, 0x18 - adds r1, r3 - lsls r0, r6, 24 - asrs r0, 24 - ldrb r6, [r1] - adds r0, r6 - strb r0, [r1] - ldrb r0, [r2] - muls r0, r4 - adds r0, r7, r0 - adds r1, r0, r3 - movs r0, 0 - ldrsb r0, [r1, r0] - cmp r0, 0 - bge _08026264 - movs r0, 0 - strb r0, [r1] -_08026264: - ldr r1, _080262BC @ =gActiveBank - ldrb r0, [r1] - muls r0, r4 - adds r0, r7, r0 - adds r1, r0, r3 - movs r0, 0 - ldrsb r0, [r1, r0] - cmp r0, 0xC - ble _0802627A - movs r0, 0xC - strb r0, [r1] -_0802627A: - mov r2, r8 - ldrb r0, [r2, 0x5] - cmp r0, 0x2 - bne _080262A2 - movs r3, 0x1 - ands r3, r5 - cmp r3, 0 - beq _08026294 - ldr r0, _080262C0 @ =gBattleMoveFlags - ldrb r1, [r0] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0] -_08026294: - mov r4, r8 - ldrb r0, [r4, 0x5] - cmp r0, 0x2 - bne _080262A2 - cmp r3, 0 - bne _080262A2 - b _08025F74 -_080262A2: - movs r0, 0 -_080262A4: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080262B4: .4byte gBankTarget -_080262B8: .4byte gBattleCommunication -_080262BC: .4byte gActiveBank -_080262C0: .4byte gBattleMoveFlags - thumb_func_end sub_8025E20 - - thumb_func_start atk89_statbuffchange -atk89_statbuffchange: @ 80262C4 - push {r4,r5,lr} - ldr r5, _0802630C @ =gBattlescriptCurrInstr - ldr r2, [r5] - ldrb r3, [r2, 0x2] - ldrb r0, [r2, 0x3] - lsls r0, 8 - orrs r3, r0 - ldrb r0, [r2, 0x4] - lsls r0, 16 - orrs r3, r0 - ldrb r0, [r2, 0x5] - lsls r0, 24 - orrs r3, r0 - ldr r0, _08026310 @ =0x02000000 - ldr r1, _08026314 @ =0x0001601e - adds r0, r1 - ldrb r4, [r0] - movs r0, 0xF0 - ands r0, r4 - lsls r0, 24 - asrs r0, 24 - movs r1, 0xF - ands r1, r4 - ldrb r2, [r2, 0x1] - bl sub_8025E20 - lsls r0, 24 - cmp r0, 0 - bne _08026304 - ldr r0, [r5] - adds r0, 0x6 - str r0, [r5] -_08026304: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802630C: .4byte gBattlescriptCurrInstr -_08026310: .4byte 0x02000000 -_08026314: .4byte 0x0001601e - thumb_func_end atk89_statbuffchange - - thumb_func_start atk8A_normalisebuffs -atk8A_normalisebuffs: @ 8026318 - push {r4-r7,lr} - movs r2, 0 - ldr r0, _08026360 @ =gNoOfAllBanks - ldrb r1, [r0] - ldr r0, _08026364 @ =gBattlescriptCurrInstr - mov r12, r0 - cmp r2, r1 - bge _08026350 - ldr r0, _08026368 @ =gBattleMons - movs r4, 0x6 - adds r5, r1, 0 - movs r7, 0x58 - adds r6, r0, 0 - adds r6, 0x18 -_08026334: - adds r3, r2, 0x1 - movs r1, 0x7 - adds r0, r2, 0 - muls r0, r7 - adds r0, r6 - adds r0, 0x7 -_08026340: - strb r4, [r0] - subs r0, 0x1 - subs r1, 0x1 - cmp r1, 0 - bge _08026340 - adds r2, r3, 0 - cmp r2, r5 - blt _08026334 -_08026350: - mov r1, r12 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08026360: .4byte gNoOfAllBanks -_08026364: .4byte gBattlescriptCurrInstr -_08026368: .4byte gBattleMons - thumb_func_end atk8A_normalisebuffs - - thumb_func_start atk8B_setbide -atk8B_setbide: @ 802636C - push {r4,r5,lr} - ldr r4, _080263C4 @ =gBattleMons - ldr r3, _080263C8 @ =gBankAttacker - ldrb r0, [r3] - movs r5, 0x58 - adds r2, r0, 0 - muls r2, r5 - adds r4, 0x50 - adds r2, r4 - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 5 - orrs r0, r1 - str r0, [r2] - ldr r1, _080263CC @ =gLockedMove - ldrb r0, [r3] - lsls r0, 1 - adds r0, r1 - ldr r1, _080263D0 @ =gCurrentMove - ldrh r1, [r1] - movs r2, 0 - strh r1, [r0] - ldr r1, _080263D4 @ =gTakenDmg - ldrb r0, [r3] - lsls r0, 2 - adds r0, r1 - str r2, [r0] - ldrb r0, [r3] - adds r1, r0, 0 - muls r1, r5 - adds r1, r4 - ldr r0, [r1] - movs r2, 0x80 - lsls r2, 2 - orrs r0, r2 - str r0, [r1] - ldr r1, _080263D8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080263C4: .4byte gBattleMons -_080263C8: .4byte gBankAttacker -_080263CC: .4byte gLockedMove -_080263D0: .4byte gCurrentMove -_080263D4: .4byte gTakenDmg -_080263D8: .4byte gBattlescriptCurrInstr - thumb_func_end atk8B_setbide - - thumb_func_start atk8C_confuseifrepeatingattackends -atk8C_confuseifrepeatingattackends: @ 80263DC - push {lr} - ldr r1, _0802640C @ =gBattleMons - ldr r0, _08026410 @ =gBankAttacker - ldrb r2, [r0] - movs r0, 0x58 - muls r0, r2 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0xC0 - lsls r1, 4 - ands r0, r1 - cmp r0, 0 - bne _080263FE - ldr r1, _08026414 @ =gBattleCommunication - movs r0, 0x75 - strb r0, [r1, 0x3] -_080263FE: - ldr r1, _08026418 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0802640C: .4byte gBattleMons -_08026410: .4byte gBankAttacker -_08026414: .4byte gBattleCommunication -_08026418: .4byte gBattlescriptCurrInstr - thumb_func_end atk8C_confuseifrepeatingattackends - - thumb_func_start atk8D_setloopcounter -atk8D_setloopcounter: @ 802641C - push {r4,r5,lr} - ldr r0, _08026430 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r1, [r0, 0x1] - cmp r1, 0 - beq _08026438 - ldr r0, _08026434 @ =gMultiHitCounter - strb r1, [r0] - b _08026452 - .align 2, 0 -_08026430: .4byte gBattlescriptCurrInstr -_08026434: .4byte gMultiHitCounter -_08026438: - ldr r4, _08026460 @ =gMultiHitCounter - bl Random - movs r5, 0x3 - ands r0, r5 - strb r0, [r4] - cmp r0, 0x1 - bls _0802644E - bl Random - ands r0, r5 -_0802644E: - adds r0, 0x2 - strb r0, [r4] -_08026452: - ldr r1, _08026464 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08026460: .4byte gMultiHitCounter -_08026464: .4byte gBattlescriptCurrInstr - thumb_func_end atk8D_setloopcounter - - thumb_func_start sub_8026468 -sub_8026468: @ 8026468 - push {r4,lr} - ldr r1, _080264A8 @ =0x02000000 - ldr r0, _080264AC @ =0x000160e0 - adds r2, r1, r0 - movs r3, 0 - movs r0, 0xFD - strb r0, [r2] - ldr r2, _080264B0 @ =0x000160e1 - adds r0, r1, r2 - movs r2, 0x1 - strb r2, [r0] - ldr r4, _080264B4 @ =0x000160e2 - adds r0, r1, r4 - strb r2, [r0] - adds r4, 0x1 - adds r0, r1, r4 - strb r2, [r0] - ldr r2, _080264B8 @ =0x000160e4 - adds r0, r1, r2 - strb r3, [r0] - adds r4, 0x2 - adds r1, r4 - movs r0, 0xFF - strb r0, [r1] - ldr r1, _080264BC @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080264A8: .4byte 0x02000000 -_080264AC: .4byte 0x000160e0 -_080264B0: .4byte 0x000160e1 -_080264B4: .4byte 0x000160e2 -_080264B8: .4byte 0x000160e4 -_080264BC: .4byte gBattlescriptCurrInstr - thumb_func_end sub_8026468 - - thumb_func_start sub_80264C0 -sub_80264C0: @ 80264C0 - push {r4-r7,lr} - ldr r6, _080264F4 @ =gBattleMons - ldr r7, _080264F8 @ =gBankAttacker - ldrb r0, [r7] - movs r5, 0x58 - adds r1, r0, 0 - muls r1, r5 - adds r1, r6 - adds r1, 0x2A - ldr r4, _080264FC @ =gBankTarget - ldrb r3, [r4] - adds r0, r3, 0 - muls r0, r5 - adds r0, r6 - adds r0, 0x2A - ldrb r1, [r1] - ldrb r0, [r0] - cmp r1, r0 - bcc _0802650C - ldr r0, _08026500 @ =0x02000000 - ldr r2, _08026504 @ =0x00016064 - adds r1, r3, r2 - adds r1, r0 - ldr r2, _08026508 @ =gBattlePartyID - lsls r0, r3, 1 - b _08026568 - .align 2, 0 -_080264F4: .4byte gBattleMons -_080264F8: .4byte gBankAttacker -_080264FC: .4byte gBankTarget -_08026500: .4byte 0x02000000 -_08026504: .4byte 0x00016064 -_08026508: .4byte gBattlePartyID -_0802650C: - bl Random - movs r3, 0xFF - ands r3, r0 - ldrb r0, [r7] - muls r0, r5 - adds r0, r6 - adds r0, 0x2A - ldrb r2, [r0] - ldrb r4, [r4] - adds r0, r4, 0 - muls r0, r5 - adds r0, r6 - adds r0, 0x2A - ldrb r1, [r0] - adds r2, r1 - adds r0, r3, 0 - muls r0, r2 - asrs r0, 8 - adds r0, 0x1 - lsrs r1, 2 - cmp r0, r1 - bhi _0802655C - ldr r3, _08026558 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - movs r0, 0 - b _08026576 - .align 2, 0 -_08026558: .4byte gBattlescriptCurrInstr -_0802655C: - ldr r0, _0802657C @ =0x02000000 - ldr r2, _08026580 @ =0x00016064 - adds r1, r4, r2 - adds r1, r0 - ldr r2, _08026584 @ =gBattlePartyID - lsls r0, r4, 1 -_08026568: - adds r0, r2 - ldrh r0, [r0] - strb r0, [r1] - ldr r1, _08026588 @ =gBattlescriptCurrInstr - ldr r0, _0802658C @ =gUnknown_081D90FC - str r0, [r1] - movs r0, 0x1 -_08026576: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0802657C: .4byte 0x02000000 -_08026580: .4byte 0x00016064 -_08026584: .4byte gBattlePartyID -_08026588: .4byte gBattlescriptCurrInstr -_0802658C: .4byte gUnknown_081D90FC - thumb_func_end sub_80264C0 - - thumb_func_start sub_8026590 -sub_8026590: @ 8026590 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r4, _08026628 @ =gBattleTypeFlags - ldrh r1, [r4] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - bne _080265A4 - b _0802687C -_080265A4: - ldr r5, _0802662C @ =gBankTarget - ldrb r0, [r5] - bl GetBankSide - lsls r0, 24 - ldr r1, _08026630 @ =gEnemyParty - mov r8, r1 - cmp r0, 0 - bne _080265BA - ldr r2, _08026634 @ =gPlayerParty - mov r8, r2 -_080265BA: - ldrh r1, [r4] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08026638 - movs r7, 0 - movs r6, 0 - ldrb r0, [r5] - bl sub_803FC34 - lsls r0, 24 - lsrs r0, 24 - bl sub_803FBFC - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bne _080265E0 - movs r6, 0x3 -_080265E0: - adds r5, r6, 0 - adds r0, r5, 0x3 - cmp r5, r0 - bge _08026678 -_080265E8: - movs r0, 0x64 - muls r0, r5 - mov r1, r8 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _0802661A - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0802661A - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _0802661A - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 -_0802661A: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r6, 0x3 - cmp r5, r0 - blt _080265E8 - b _08026678 - .align 2, 0 -_08026628: .4byte gBattleTypeFlags -_0802662C: .4byte gBankTarget -_08026630: .4byte gEnemyParty -_08026634: .4byte gPlayerParty -_08026638: - movs r7, 0 - movs r5, 0 -_0802663C: - movs r0, 0x64 - muls r0, r5 - mov r2, r8 - adds r4, r2, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _0802666E - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0802666E - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _0802666E - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 -_0802666E: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _0802663C -_08026678: - cmp r7, 0x1 - bhi _08026688 - ldr r0, _080266BC @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x41 - ands r0, r1 - cmp r0, 0x1 - bne _080266A0 -_08026688: - cmp r7, 0x2 - bhi _080266C4 - ldr r0, _080266BC @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080266C4 - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - bne _080266C4 -_080266A0: - ldr r3, _080266C0 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08026880 - .align 2, 0 -_080266BC: .4byte gBattleTypeFlags -_080266C0: .4byte gBattlescriptCurrInstr -_080266C4: - bl sub_80264C0 - lsls r0, 24 - cmp r0, 0 - bne _080266D0 - b _08026880 -_080266D0: - ldr r0, _08026710 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08026774 -_080266DC: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _08026714 @ =gBankTarget - ldrb r0, [r0] - bl sub_803FC34 - lsls r0, 24 - lsrs r0, 24 - bl sub_803FBFC - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bne _08026718 - adds r0, r6, 0x3 - lsls r0, 24 - lsrs r5, r0, 24 - b _0802671A - .align 2, 0 -_08026710: .4byte gBattleTypeFlags -_08026714: .4byte gBankTarget -_08026718: - adds r5, r6, 0 -_0802671A: - ldr r4, _0802676C @ =gBattlePartyID - ldr r0, _08026770 @ =gBankTarget - ldrb r2, [r0] - lsls r1, r2, 1 - adds r1, r4 - lsls r0, r5, 16 - lsrs r3, r0, 16 - ldrh r1, [r1] - cmp r3, r1 - beq _080266DC - movs r0, 0x2 - eors r2, r0 - lsls r0, r2, 1 - adds r0, r4 - ldrh r0, [r0] - cmp r3, r0 - beq _080266DC - movs r0, 0x64 - muls r0, r5 - mov r1, r8 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _080266DC - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0x1 - beq _080266DC - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _080266DC - b _08026832 - .align 2, 0 -_0802676C: .4byte gBattlePartyID -_08026770: .4byte gBankTarget -_08026774: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080267E4 - ldr r6, _080267DC @ =gBattlePartyID -_0802677E: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x6 - bl __umodsi3 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _080267E0 @ =gBankTarget - ldrb r1, [r0] - lsls r0, r1, 1 - adds r0, r6 - adds r2, r5, 0 - ldrh r0, [r0] - cmp r2, r0 - beq _0802677E - movs r0, 0x2 - eors r1, r0 - lsls r0, r1, 1 - adds r0, r6 - ldrh r0, [r0] - cmp r2, r0 - beq _0802677E - movs r0, 0x64 - muls r0, r5 - mov r2, r8 - adds r4, r2, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _0802677E - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0x1 - beq _0802677E - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _0802677E - b _08026832 - .align 2, 0 -_080267DC: .4byte gBattlePartyID -_080267E0: .4byte gBankTarget -_080267E4: - ldr r6, _0802686C @ =gBattlePartyID -_080267E6: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x6 - bl __umodsi3 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _08026870 @ =gBankTarget - ldrb r0, [r0] - lsls r0, 1 - adds r0, r6 - ldrh r0, [r0] - cmp r5, r0 - beq _080267E6 - movs r0, 0x64 - muls r0, r5 - mov r1, r8 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _080267E6 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0x1 - beq _080267E6 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _080267E6 -_08026832: - ldr r0, _08026874 @ =0x02000000 - ldr r4, _08026870 @ =gBankTarget - ldrb r1, [r4] - ldr r2, _08026878 @ =0x00016068 - adds r1, r2 - adds r1, r0 - strb r5, [r1] - bl IsLinkDoubleBattle - lsls r0, 24 - cmp r0, 0 - bne _08026850 - ldrb r0, [r4] - bl sub_8012258 -_08026850: - ldrb r0, [r4] - adds r1, r5, 0 - movs r2, 0 - bl sub_8094B6C - ldrb r1, [r4] - movs r0, 0x2 - eors r0, r1 - adds r1, r5, 0 - movs r2, 0x1 - bl sub_8094B6C - b _08026880 - .align 2, 0 -_0802686C: .4byte gBattlePartyID -_08026870: .4byte gBankTarget -_08026874: .4byte 0x02000000 -_08026878: .4byte 0x00016068 -_0802687C: - bl sub_80264C0 -_08026880: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8026590 - - thumb_func_start sub_802688C -sub_802688C: @ 802688C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r6, 0 - ldr r2, _08026920 @ =gBattleMons - ldr r3, _08026924 @ =gBankAttacker - ldrb r1, [r3] - movs r0, 0x58 - muls r0, r1 - adds r1, r2, 0 - adds r1, 0xC - adds r0, r1 - ldrh r0, [r0] - mov r8, r2 - cmp r0, 0 - beq _080268CE - movs r5, 0x58 - adds r2, r1, 0 -_080268B4: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x3 - bhi _080268CE - lsls r1, r6, 1 - ldrb r0, [r3] - muls r0, r5 - adds r1, r0 - adds r1, r2 - ldrh r0, [r1] - cmp r0, 0 - bne _080268B4 -_080268CE: - movs r3, 0 - cmp r3, r6 - bcs _08026950 - ldr r0, _08026928 @ =gBattleMoves - mov r10, r0 - ldr r5, _08026920 @ =gBattleMons - mov r12, r5 - ldr r7, _08026924 @ =gBankAttacker - ldrb r0, [r7] - movs r4, 0x58 - adds r5, r0, 0 - muls r5, r4 - movs r0, 0xC - add r0, r12 - mov r9, r0 -_080268EC: - lsls r0, r3, 1 - adds r0, r5 - add r0, r9 - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - add r0, r10 - ldrb r2, [r0, 0x2] - cmp r2, 0x9 - bne _0802692E - mov r0, r8 - adds r1, r5, r0 - adds r0, r1, 0 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, 0x7 - beq _0802691A - adds r0, r1, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, 0x7 - bne _0802692C -_0802691A: - movs r2, 0x7 - b _0802692E - .align 2, 0 -_08026920: .4byte gBattleMons -_08026924: .4byte gBankAttacker -_08026928: .4byte gBattleMoves -_0802692C: - movs r2, 0 -_0802692E: - ldrb r0, [r7] - muls r0, r4 - add r0, r12 - adds r1, r0, 0 - adds r1, 0x21 - ldrb r1, [r1] - cmp r2, r1 - beq _08026946 - adds r0, 0x22 - ldrb r0, [r0] - cmp r2, r0 - bne _08026950 -_08026946: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, r6 - bcc _080268EC -_08026950: - cmp r3, r6 - bne _08026974 - ldr r3, _08026970 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08026A18 - .align 2, 0 -_08026970: .4byte gBattlescriptCurrInstr -_08026974: - movs r7, 0x3 - ldr r5, _080269CC @ =gBattleMoves - mov r9, r5 -_0802697A: - bl Random - adds r3, r0, 0 - ands r3, r7 - cmp r3, r6 - bcs _0802697A - ldr r4, _080269D0 @ =gBattleMons - lsls r1, r3, 1 - ldr r3, _080269D4 @ =gBankAttacker - ldrb r2, [r3] - movs r0, 0x58 - adds r5, r2, 0 - muls r5, r0 - adds r1, r5 - adds r0, r4, 0 - adds r0, 0xC - adds r1, r0 - ldrh r1, [r1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - add r0, r9 - ldrb r2, [r0, 0x2] - mov r8, r4 - adds r4, r3, 0 - cmp r2, 0x9 - bne _080269DA - mov r0, r8 - adds r2, r5, r0 - adds r0, r2, 0 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, 0x7 - beq _080269C8 - adds r0, r2, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, 0x7 - bne _080269D8 -_080269C8: - movs r2, 0x7 - b _080269DA - .align 2, 0 -_080269CC: .4byte gBattleMoves -_080269D0: .4byte gBattleMons -_080269D4: .4byte gBankAttacker -_080269D8: - movs r2, 0 -_080269DA: - ldrb r0, [r4] - movs r3, 0x58 - muls r0, r3 - add r0, r8 - adds r1, r0, 0 - adds r1, 0x21 - ldrb r5, [r1] - cmp r2, r5 - beq _0802697A - adds r0, 0x22 - ldrb r0, [r0] - cmp r2, r0 - beq _0802697A - strb r2, [r1] - ldrb r0, [r4] - muls r0, r3 - add r0, r8 - adds r0, 0x22 - strb r2, [r0] - ldr r1, _08026A28 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x3 - strb r0, [r1, 0x1] - strb r2, [r1, 0x2] - movs r0, 0xFF - strb r0, [r1, 0x3] - ldr r1, _08026A2C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_08026A18: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08026A28: .4byte gBattleTextBuff1 -_08026A2C: .4byte gBattlescriptCurrInstr - thumb_func_end sub_802688C - - thumb_func_start atk91_givemoney -atk91_givemoney: @ 8026A30 - push {r4,lr} - ldr r0, _08026A8C @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _08026AAC - ldr r4, _08026A90 @ =gPaydayMoney - ldrh r0, [r4] - cmp r0, 0 - beq _08026AAC - ldr r0, _08026A94 @ =gSaveBlock1 + 0x490 - ldrh r2, [r4] - ldr r1, _08026A98 @ =0x02000000 - ldr r3, _08026A9C @ =0x00016056 - adds r1, r3 - ldrb r1, [r1] - muls r1, r2 - bl sub_80B79B8 - ldr r1, _08026AA0 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x1 - strb r0, [r1, 0x1] - movs r0, 0x2 - strb r0, [r1, 0x2] - movs r0, 0x5 - strb r0, [r1, 0x3] - ldrh r2, [r4] - strb r2, [r1, 0x4] - movs r0, 0xFF - lsls r0, 8 - ands r0, r2 - lsrs r0, 8 - strb r0, [r1, 0x5] - movs r0, 0xFF - strb r0, [r1, 0x6] - ldr r4, _08026AA4 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl b_movescr_stack_push - ldr r0, _08026AA8 @ =gUnknown_081D95DB - str r0, [r4] - b _08026AB4 - .align 2, 0 -_08026A8C: .4byte gBattleTypeFlags -_08026A90: .4byte gPaydayMoney -_08026A94: .4byte gSaveBlock1 + 0x490 -_08026A98: .4byte 0x02000000 -_08026A9C: .4byte 0x00016056 -_08026AA0: .4byte gBattleTextBuff1 -_08026AA4: .4byte gBattlescriptCurrInstr -_08026AA8: .4byte gUnknown_081D95DB -_08026AAC: - ldr r1, _08026ABC @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] -_08026AB4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08026ABC: .4byte gBattlescriptCurrInstr - thumb_func_end atk91_givemoney - - thumb_func_start atk92_setlightscreen -atk92_setlightscreen: @ 8026AC0 - push {r4-r6,lr} - ldr r4, _08026AF0 @ =gBankAttacker - ldrb r0, [r4] - bl GetBankIdentity - ldr r6, _08026AF4 @ =gSideAffecting - movs r5, 0x1 - adds r1, r5, 0 - ands r1, r0 - lsls r1, 1 - adds r1, r6 - ldrh r1, [r1] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08026B00 - ldr r2, _08026AF8 @ =gBattleMoveFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - ldr r1, _08026AFC @ =gBattleCommunication - movs r0, 0 - b _08026B60 - .align 2, 0 -_08026AF0: .4byte gBankAttacker -_08026AF4: .4byte gSideAffecting -_08026AF8: .4byte gBattleMoveFlags -_08026AFC: .4byte gBattleCommunication -_08026B00: - ldrb r0, [r4] - bl GetBankIdentity - adds r1, r5, 0 - ands r1, r0 - lsls r1, 1 - adds r1, r6 - ldrh r0, [r1] - movs r2, 0x2 - orrs r0, r2 - strh r0, [r1] - ldrb r0, [r4] - bl GetBankIdentity - ldr r2, _08026B50 @ =gSideTimer - adds r1, r5, 0 - ands r1, r0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x5 - strb r1, [r0, 0x1] - ldr r0, _08026B54 @ =gBattleTypeFlags - ldrh r1, [r0] - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - beq _08026B5C - movs r0, 0x1 - bl CountAliveMons - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _08026B5C - ldr r1, _08026B58 @ =gBattleCommunication - movs r0, 0x4 - b _08026B60 - .align 2, 0 -_08026B50: .4byte gSideTimer -_08026B54: .4byte gBattleTypeFlags -_08026B58: .4byte gBattleCommunication -_08026B5C: - ldr r1, _08026B70 @ =gBattleCommunication - movs r0, 0x3 -_08026B60: - strb r0, [r1, 0x5] - ldr r1, _08026B74 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08026B70: .4byte gBattleCommunication -_08026B74: .4byte gBattlescriptCurrInstr - thumb_func_end atk92_setlightscreen - - thumb_func_start sub_8026B78 -sub_8026B78: @ 8026B78 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r7, _08026BA8 @ =gBattleMons - ldr r6, _08026BAC @ =gBankTarget - ldrb r2, [r6] - movs r5, 0x58 - adds r0, r2, 0 - muls r0, r5 - adds r1, r0, r7 - ldrh r0, [r1, 0x2E] - cmp r0, 0xAF - bne _08026BB4 - ldr r1, _08026BB0 @ =gEnigmaBerries - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r4, [r0, 0x7] - ldrb r6, [r0, 0x1A] - b _08026BCE - .align 2, 0 -_08026BA8: .4byte gBattleMons -_08026BAC: .4byte gBankTarget -_08026BB0: .4byte gEnigmaBerries -_08026BB4: - ldrh r0, [r1, 0x2E] - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r4, r0, 24 - ldrb r0, [r6] - muls r0, r5 - adds r0, r7 - ldrh r0, [r0, 0x2E] - bl ItemId_GetHoldEffectParam - lsls r0, 24 - lsrs r6, r0, 24 -_08026BCE: - ldr r1, _08026C4C @ =gStringBank - ldr r5, _08026C50 @ =gBankTarget - ldrb r0, [r5] - strb r0, [r1] - cmp r4, 0x27 - bne _08026C0C - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, r6 - bcs _08026C0C - ldrb r0, [r5] - movs r1, 0x27 - bl RecordItemBattle - ldr r2, _08026C54 @ =gSpecialStatuses - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0] -_08026C0C: - ldr r0, _08026C58 @ =gBattleMons - mov r8, r0 - ldr r1, _08026C50 @ =gBankTarget - ldrb r2, [r1] - movs r6, 0x58 - adds r0, r2, 0 - muls r0, r6 - mov r3, r8 - adds r5, r0, r3 - adds r0, r5, 0 - adds r0, 0x20 - ldrb r3, [r0] - mov r10, r8 - cmp r3, 0x5 - bne _08026C6C - ldr r2, _08026C5C @ =gBattleMoveFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - ldr r0, _08026C60 @ =gLastUsedAbility - strb r3, [r0] - ldr r1, _08026C64 @ =gBattlescriptCurrInstr - ldr r0, _08026C68 @ =gUnknown_081D9826 - str r0, [r1] - ldr r1, _08026C50 @ =gBankTarget - ldrb r0, [r1] - movs r1, 0x5 - bl RecordAbilityBattle - b _08026E40 - .align 2, 0 -_08026C4C: .4byte gStringBank -_08026C50: .4byte gBankTarget -_08026C54: .4byte gSpecialStatuses -_08026C58: .4byte gBattleMons -_08026C5C: .4byte gBattleMoveFlags -_08026C60: .4byte gLastUsedAbility -_08026C64: .4byte gBattlescriptCurrInstr -_08026C68: .4byte gUnknown_081D9826 -_08026C6C: - ldr r1, _08026CE0 @ =gStatuses3 - lsls r0, r2, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x18 - ands r0, r1 - cmp r0, 0 - bne _08026CF4 - ldr r1, _08026CE4 @ =gBattleMoves - ldr r0, _08026CE8 @ =gCurrentMove - ldrh r0, [r0] - lsls r2, r0, 1 - adds r2, r0 - lsls r2, 2 - adds r2, r1 - ldr r7, _08026CEC @ =gBankAttacker - ldrb r0, [r7] - muls r0, r6 - add r0, r10 - adds r0, 0x2A - ldrb r0, [r0] - adds r1, r5, 0 - adds r1, 0x2A - ldrb r1, [r1] - subs r0, r1 - ldrb r2, [r2, 0x3] - adds r0, r2 - lsls r0, 16 - lsrs r4, r0, 16 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - adds r0, 0x1 - cmp r0, r4 - bge _08026CDC - ldrb r0, [r7] - adds r1, r0, 0 - muls r1, r6 - add r1, r10 - adds r1, 0x2A - ldr r2, _08026CF0 @ =gBankTarget - ldrb r0, [r2] - muls r0, r6 - add r0, r10 - adds r0, 0x2A - ldrb r1, [r1] - movs r4, 0x1 - ldrb r0, [r0] - cmp r1, r0 - bcs _08026D20 -_08026CDC: - mov r10, r8 - b _08026DE0 - .align 2, 0 -_08026CE0: .4byte gStatuses3 -_08026CE4: .4byte gBattleMoves -_08026CE8: .4byte gCurrentMove -_08026CEC: .4byte gBankAttacker -_08026CF0: .4byte gBankTarget -_08026CF4: - ldr r0, _08026D4C @ =gDisableStructs - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r0 - ldr r2, _08026D50 @ =gBankAttacker - ldrb r0, [r1, 0x15] - movs r4, 0 - ldrb r3, [r2] - cmp r0, r3 - bne _08026D20 - ldrb r0, [r2] - muls r0, r6 - add r0, r10 - adds r0, 0x2A - adds r1, r5, 0 - adds r1, 0x2A - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bcc _08026D20 - movs r4, 0x1 -_08026D20: - cmp r4, 0 - beq _08026DE0 - ldr r0, _08026D54 @ =gProtectStructs - ldr r1, _08026D58 @ =gBankTarget - ldrb r2, [r1] - lsls r1, r2, 4 - adds r1, r0 - ldrb r0, [r1] - lsls r0, 30 - cmp r0, 0 - bge _08026D64 - ldr r1, _08026D5C @ =gBattleMoveDamage - movs r0, 0x58 - muls r0, r2 - add r0, r10 - ldrh r0, [r0, 0x28] - subs r0, 0x1 - str r0, [r1] - ldr r2, _08026D60 @ =gBattleMoveFlags - ldrb r0, [r2] - movs r1, 0x40 - b _08026DC6 - .align 2, 0 -_08026D4C: .4byte gDisableStructs -_08026D50: .4byte gBankAttacker -_08026D54: .4byte gProtectStructs -_08026D58: .4byte gBankTarget -_08026D5C: .4byte gBattleMoveDamage -_08026D60: .4byte gBattleMoveFlags -_08026D64: - ldr r0, _08026DA0 @ =gSpecialStatuses - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1] - lsrs r0, 7 - cmp r0, 0 - beq _08026DB4 - ldr r1, _08026DA4 @ =gBattleMoveDamage - movs r3, 0x58 - adds r0, r2, 0 - muls r0, r3 - add r0, r10 - ldrh r0, [r0, 0x28] - subs r0, 0x1 - str r0, [r1] - ldr r2, _08026DA8 @ =gBattleMoveFlags - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - ldr r1, _08026DAC @ =gLastUsedItem - ldr r2, _08026DB0 @ =gBankTarget - ldrb r0, [r2] - muls r0, r3 - add r0, r10 - ldrh r0, [r0, 0x2E] - strh r0, [r1] - b _08026DCA - .align 2, 0 -_08026DA0: .4byte gSpecialStatuses -_08026DA4: .4byte gBattleMoveDamage -_08026DA8: .4byte gBattleMoveFlags -_08026DAC: .4byte gLastUsedItem -_08026DB0: .4byte gBankTarget -_08026DB4: - ldr r1, _08026DD4 @ =gBattleMoveDamage - movs r0, 0x58 - muls r0, r2 - add r0, r10 - ldrh r0, [r0, 0x28] - str r0, [r1] - ldr r2, _08026DD8 @ =gBattleMoveFlags - ldrb r0, [r2] - movs r1, 0x10 -_08026DC6: - orrs r0, r1 - strb r0, [r2] -_08026DCA: - ldr r1, _08026DDC @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _08026E40 - .align 2, 0 -_08026DD4: .4byte gBattleMoveDamage -_08026DD8: .4byte gBattleMoveFlags -_08026DDC: .4byte gBattlescriptCurrInstr -_08026DE0: - ldr r2, _08026E10 @ =gBattleMoveFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - ldr r0, _08026E14 @ =gBankAttacker - ldrb r0, [r0] - movs r2, 0x58 - adds r1, r0, 0 - muls r1, r2 - add r1, r10 - adds r1, 0x2A - ldr r3, _08026E18 @ =gBankTarget - ldrb r0, [r3] - muls r0, r2 - add r0, r10 - adds r0, 0x2A - ldrb r1, [r1] - ldrb r0, [r0] - cmp r1, r0 - bcc _08026E20 - ldr r1, _08026E1C @ =gBattleCommunication - movs r0, 0 - b _08026E24 - .align 2, 0 -_08026E10: .4byte gBattleMoveFlags -_08026E14: .4byte gBankAttacker -_08026E18: .4byte gBankTarget -_08026E1C: .4byte gBattleCommunication -_08026E20: - ldr r1, _08026E50 @ =gBattleCommunication - movs r0, 0x1 -_08026E24: - strb r0, [r1, 0x5] - ldr r3, _08026E54 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_08026E40: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08026E50: .4byte gBattleCommunication -_08026E54: .4byte gBattlescriptCurrInstr - thumb_func_end sub_8026B78 - - thumb_func_start atk94_gethalfcurrentenemyhp -atk94_gethalfcurrentenemyhp: @ 8026E58 - push {lr} - ldr r3, _08026E84 @ =gBattleMoveDamage - ldr r2, _08026E88 @ =gBattleMons - ldr r0, _08026E8C @ =gBankTarget - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrh r0, [r0, 0x28] - lsrs r0, 1 - str r0, [r3] - cmp r0, 0 - bne _08026E76 - movs r0, 0x1 - str r0, [r3] -_08026E76: - ldr r1, _08026E90 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08026E84: .4byte gBattleMoveDamage -_08026E88: .4byte gBattleMons -_08026E8C: .4byte gBankTarget -_08026E90: .4byte gBattlescriptCurrInstr - thumb_func_end atk94_gethalfcurrentenemyhp - - thumb_func_start sub_8026E94 -sub_8026E94: @ 8026E94 - push {lr} - ldr r2, _08026EB4 @ =gBattleWeather - ldrh r1, [r2] - movs r0, 0x18 - ands r0, r1 - cmp r0, 0 - beq _08026EC0 - ldr r2, _08026EB8 @ =gBattleMoveFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - ldr r1, _08026EBC @ =gBattleCommunication - movs r0, 0x2 - strb r0, [r1, 0x5] - b _08026ED2 - .align 2, 0 -_08026EB4: .4byte gBattleWeather -_08026EB8: .4byte gBattleMoveFlags -_08026EBC: .4byte gBattleCommunication -_08026EC0: - movs r0, 0x8 - strh r0, [r2] - ldr r1, _08026EE0 @ =gBattleCommunication - movs r0, 0x3 - strb r0, [r1, 0x5] - ldr r0, _08026EE4 @ =gWishFutureKnock - adds r0, 0x28 - movs r1, 0x5 - strb r1, [r0] -_08026ED2: - ldr r1, _08026EE8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08026EE0: .4byte gBattleCommunication -_08026EE4: .4byte gWishFutureKnock -_08026EE8: .4byte gBattlescriptCurrInstr - thumb_func_end sub_8026E94 - - thumb_func_start sub_8026EEC -sub_8026EEC: @ 8026EEC - push {r4,r5,lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0xD - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _08026F0A - b _0802701C -_08026F0A: - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0x4D - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - beq _08026F20 - b _0802701C -_08026F20: - ldr r2, _08026F94 @ =gBattleWeather - ldrh r1, [r2] - movs r0, 0x18 - ands r0, r1 - adds r4, r2, 0 - ldr r5, _08026F98 @ =gBankAttacker - cmp r0, 0 - beq _08026FAE - ldr r0, _08026F9C @ =gBattleMons - ldrb r2, [r5] - movs r1, 0x58 - muls r1, r2 - adds r3, r1, r0 - adds r0, r3, 0 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, 0x5 - beq _08026FA8 - cmp r0, 0x8 - beq _08026FA8 - cmp r0, 0x4 - beq _08026FA8 - adds r0, r3, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, 0x5 - beq _08026FA8 - cmp r0, 0x8 - beq _08026FA8 - cmp r0, 0x4 - beq _08026FA8 - adds r0, r3, 0 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x8 - beq _08026FA8 - ldr r0, _08026FA0 @ =gStatuses3 - lsls r1, r2, 2 - adds r1, r0 - ldr r1, [r1] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08026FA8 - movs r0, 0x80 - lsls r0, 11 - ands r1, r0 - cmp r1, 0 - bne _08026FA8 - ldr r1, _08026FA4 @ =gBattleMoveDamage - ldrh r0, [r3, 0x2C] - lsrs r0, 4 - str r0, [r1] - cmp r0, 0 - bne _08026FAE - movs r0, 0x1 - b _08026FAC - .align 2, 0 -_08026F94: .4byte gBattleWeather -_08026F98: .4byte gBankAttacker -_08026F9C: .4byte gBattleMons -_08026FA0: .4byte gStatuses3 -_08026FA4: .4byte gBattleMoveDamage -_08026FA8: - ldr r1, _08027004 @ =gBattleMoveDamage - movs r0, 0 -_08026FAC: - str r0, [r1] -_08026FAE: - ldrh r1, [r4] - movs r4, 0x80 - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _08027024 - ldr r1, _08027008 @ =gBattleMons - ldrb r3, [r5] - movs r0, 0x58 - muls r0, r3 - adds r2, r0, r1 - adds r0, r2, 0 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, 0xF - beq _08027010 - adds r0, r2, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, 0xF - beq _08027010 - ldr r0, _0802700C @ =gStatuses3 - lsls r1, r3, 2 - adds r1, r0 - ldr r1, [r1] - adds r0, r1, 0 - ands r0, r4 - cmp r0, 0 - bne _08027010 - movs r0, 0x80 - lsls r0, 11 - ands r1, r0 - cmp r1, 0 - bne _08027010 - ldr r1, _08027004 @ =gBattleMoveDamage - ldrh r0, [r2, 0x2C] - lsrs r0, 4 - str r0, [r1] - cmp r0, 0 - bne _08027024 - movs r0, 0x1 - str r0, [r1] - b _08027024 - .align 2, 0 -_08027004: .4byte gBattleMoveDamage -_08027008: .4byte gBattleMons -_0802700C: .4byte gStatuses3 -_08027010: - ldr r1, _08027018 @ =gBattleMoveDamage - movs r0, 0 - str r0, [r1] - b _08027024 - .align 2, 0 -_08027018: .4byte gBattleMoveDamage -_0802701C: - ldr r1, _08027050 @ =gBattleMoveDamage - movs r0, 0 - str r0, [r1] - ldr r5, _08027054 @ =gBankAttacker -_08027024: - ldr r0, _08027058 @ =gAbsentBankFlags - ldrb r1, [r0] - ldr r2, _0802705C @ =gBitTable - ldrb r0, [r5] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _0802703E - ldr r1, _08027050 @ =gBattleMoveDamage - movs r0, 0 - str r0, [r1] -_0802703E: - ldr r1, _08027060 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08027050: .4byte gBattleMoveDamage -_08027054: .4byte gBankAttacker -_08027058: .4byte gAbsentBankFlags -_0802705C: .4byte gBitTable -_08027060: .4byte gBattlescriptCurrInstr - thumb_func_end sub_8026EEC - - thumb_func_start sub_8027064 -sub_8027064: @ 8027064 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r4, _08027090 @ =gBankAttacker - ldrb r0, [r4] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _0802709C - ldr r1, _08027094 @ =gBattlePartyID - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _08027098 @ =gPlayerParty - b _080270AC - .align 2, 0 -_08027090: .4byte gBankAttacker -_08027094: .4byte gBattlePartyID -_08027098: .4byte gPlayerParty -_0802709C: - ldr r1, _080270D0 @ =gBattlePartyID - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _080270D4 @ =gEnemyParty -_080270AC: - adds r5, r1, r0 - ldr r4, _080270D8 @ =gBankTarget - ldrb r0, [r4] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _080270E0 - ldr r1, _080270D0 @ =gBattlePartyID - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _080270DC @ =gPlayerParty - b _080270F0 - .align 2, 0 -_080270D0: .4byte gBattlePartyID -_080270D4: .4byte gEnemyParty -_080270D8: .4byte gBankTarget -_080270DC: .4byte gPlayerParty -_080270E0: - ldr r1, _0802714C @ =gBattlePartyID - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _08027150 @ =gEnemyParty -_080270F0: - adds r4, r1, r0 - adds r0, r5, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - adds r0, r5, 0 - movs r1, 0 - bl GetMonData - mov r9, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - adds r7, r0, 0 - ldr r5, _08027154 @ =gBankTarget - ldrb r0, [r5] - movs r6, 0x58 - muls r0, r6 - ldr r1, _08027158 @ =gBattleMons - adds r0, r1 - adds r0, 0x20 - ldrb r2, [r0] - cmp r2, 0xC - bne _08027168 - ldr r1, _0802715C @ =gBattlescriptCurrInstr - ldr r0, _08027160 @ =gUnknown_081D98C9 - str r0, [r1] - ldr r0, _08027164 @ =gLastUsedAbility - strb r2, [r0] - ldrb r0, [r5] - movs r1, 0xC - bl RecordAbilityBattle - b _0802721C - .align 2, 0 -_0802714C: .4byte gBattlePartyID -_08027150: .4byte gEnemyParty -_08027154: .4byte gBankTarget -_08027158: .4byte gBattleMons -_0802715C: .4byte gBattlescriptCurrInstr -_08027160: .4byte gUnknown_081D98C9 -_08027164: .4byte gLastUsedAbility -_08027168: - mov r0, r10 - mov r1, r9 - bl GetGenderFromSpeciesAndPersonality - adds r4, r0, 0 - mov r0, r8 - adds r1, r7, 0 - bl GetGenderFromSpeciesAndPersonality - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - beq _080271CA - ldr r1, _080271E8 @ =gStatuses3 - ldrb r2, [r5] - lsls r0, r2, 2 - adds r0, r1 - ldr r0, [r0] - ldr r1, _080271EC @ =0x000400c0 - ands r0, r1 - cmp r0, 0 - bne _080271CA - adds r0, r2, 0 - muls r0, r6 - ldr r4, _080271F0 @ =gBattleMons - adds r4, 0x50 - adds r0, r4 - ldr r0, [r0] - movs r1, 0xF0 - lsls r1, 12 - ands r0, r1 - cmp r0, 0 - bne _080271CA - mov r0, r10 - mov r1, r9 - bl GetGenderFromSpeciesAndPersonality - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _080271CA - mov r0, r8 - adds r1, r7, 0 - bl GetGenderFromSpeciesAndPersonality - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _080271F8 -_080271CA: - ldr r3, _080271F4 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802721C - .align 2, 0 -_080271E8: .4byte gStatuses3 -_080271EC: .4byte 0x000400c0 -_080271F0: .4byte gBattleMons -_080271F4: .4byte gBattlescriptCurrInstr -_080271F8: - ldrb r0, [r5] - adds r2, r0, 0 - muls r2, r6 - adds r2, r4 - ldr r1, _0802722C @ =gBitTable - ldr r0, _08027230 @ =gBankAttacker - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - lsls r1, 16 - ldr r0, [r2] - orrs r0, r1 - str r0, [r2] - ldr r1, _08027234 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0802721C: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802722C: .4byte gBitTable -_08027230: .4byte gBankAttacker -_08027234: .4byte gBattlescriptCurrInstr - thumb_func_end sub_8027064 - - thumb_func_start sub_8027238 -sub_8027238: @ 8027238 - push {r4-r7,lr} - ldr r0, _08027280 @ =gBattleExecBuffer - ldr r0, [r0] - cmp r0, 0 - bne _08027324 - ldr r5, _08027284 @ =gBattlescriptCurrInstr - ldr r1, [r5] - ldrb r0, [r1, 0x1] - cmp r0, 0x4 - beq _08027290 - bl sub_8015150 - ldr r4, _08027288 @ =gActiveBank - strb r0, [r4] - ldr r3, _0802728C @ =gBattleMons - ldrb r1, [r4] - movs r0, 0x58 - adds r2, r1, 0 - muls r2, r0 - adds r0, r3, 0 - adds r0, 0x4C - adds r0, r2, r0 - ldr r1, [r0] - adds r3, 0x50 - adds r2, r3 - ldr r2, [r2] - movs r0, 0 - bl EmitStatusIconUpdate - ldrb r0, [r4] - bl MarkBufferBankForExecution - ldr r0, [r5] - adds r0, 0x2 - str r0, [r5] - b _08027324 - .align 2, 0 -_08027280: .4byte gBattleExecBuffer -_08027284: .4byte gBattlescriptCurrInstr -_08027288: .4byte gActiveBank -_0802728C: .4byte gBattleMons -_08027290: - ldr r4, _0802732C @ =gActiveBank - ldr r5, _08027330 @ =gBankAttacker - ldrb r0, [r5] - strb r0, [r4] - ldr r6, _08027334 @ =gAbsentBankFlags - ldrb r1, [r6] - ldr r7, _08027338 @ =gBitTable - ldrb r2, [r4] - lsls r0, r2, 2 - adds r0, r7 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _080272CC - ldr r3, _0802733C @ =gBattleMons - movs r0, 0x58 - muls r2, r0 - adds r0, r3, 0 - adds r0, 0x4C - adds r0, r2, r0 - ldr r1, [r0] - adds r3, 0x50 - adds r2, r3 - ldr r2, [r2] - movs r0, 0 - bl EmitStatusIconUpdate - ldrb r0, [r4] - bl MarkBufferBankForExecution -_080272CC: - ldr r0, _08027340 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0802731C - ldrb r0, [r5] - bl GetBankIdentity - movs r1, 0x2 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - bl GetBankByPlayerAI - strb r0, [r4] - ldrb r1, [r6] - ldrb r2, [r4] - lsls r0, r2, 2 - adds r0, r7 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _0802731C - ldr r3, _0802733C @ =gBattleMons - movs r0, 0x58 - muls r2, r0 - adds r0, r3, 0 - adds r0, 0x4C - adds r0, r2, r0 - ldr r1, [r0] - adds r3, 0x50 - adds r2, r3 - ldr r2, [r2] - movs r0, 0 - bl EmitStatusIconUpdate - ldrb r0, [r4] - bl MarkBufferBankForExecution -_0802731C: - ldr r1, _08027344 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] -_08027324: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802732C: .4byte gActiveBank -_08027330: .4byte gBankAttacker -_08027334: .4byte gAbsentBankFlags -_08027338: .4byte gBitTable -_0802733C: .4byte gBattleMons -_08027340: .4byte gBattleTypeFlags -_08027344: .4byte gBattlescriptCurrInstr - thumb_func_end sub_8027238 - - thumb_func_start sub_8027348 -sub_8027348: @ 8027348 - push {r4-r6,lr} - ldr r6, _08027378 @ =gSideTimer - ldr r4, _0802737C @ =gBankAttacker - ldrb r0, [r4] - bl GetBankIdentity - movs r5, 0x1 - adds r1, r5, 0 - ands r1, r0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrb r0, [r0, 0x2] - cmp r0, 0 - beq _08027388 - ldr r2, _08027380 @ =gBattleMoveFlags - ldrb r0, [r2] - movs r1, 0x20 - orrs r0, r1 - strb r0, [r2] - ldr r0, _08027384 @ =gBattleCommunication - strb r5, [r0, 0x5] - b _080273C0 - .align 2, 0 -_08027378: .4byte gSideTimer -_0802737C: .4byte gBankAttacker -_08027380: .4byte gBattleMoveFlags -_08027384: .4byte gBattleCommunication -_08027388: - ldrb r0, [r4] - bl GetBankIdentity - adds r1, r5, 0 - ands r1, r0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x5 - strb r1, [r0, 0x2] - ldrb r0, [r4] - bl GetBankIdentity - ldr r2, _080273D0 @ =gSideAffecting - adds r1, r5, 0 - ands r1, r0 - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r3, 0x80 - lsls r3, 1 - adds r0, r3, 0 - movs r3, 0 - orrs r0, r2 - strh r0, [r1] - ldr r0, _080273D4 @ =gBattleCommunication - strb r3, [r0, 0x5] -_080273C0: - ldr r1, _080273D8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080273D0: .4byte gSideAffecting -_080273D4: .4byte gBattleCommunication -_080273D8: .4byte gBattlescriptCurrInstr - thumb_func_end sub_8027348 - - thumb_func_start atk9A_setincreasedcriticalchance -atk9A_setincreasedcriticalchance: @ 80273DC - push {lr} - ldr r1, _0802740C @ =gBattleMons - ldr r0, _08027410 @ =gBankAttacker - ldrb r2, [r0] - movs r0, 0x58 - muls r0, r2 - adds r1, 0x50 - adds r0, r1 - ldr r1, [r0] - movs r3, 0x80 - lsls r3, 13 - adds r2, r1, 0 - ands r2, r3 - cmp r2, 0 - beq _0802741C - ldr r2, _08027414 @ =gBattleMoveFlags - ldrb r0, [r2] - movs r1, 0x20 - orrs r0, r1 - strb r0, [r2] - ldr r1, _08027418 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x5] - b _08027424 - .align 2, 0 -_0802740C: .4byte gBattleMons -_08027410: .4byte gBankAttacker -_08027414: .4byte gBattleMoveFlags -_08027418: .4byte gBattleCommunication -_0802741C: - orrs r1, r3 - str r1, [r0] - ldr r0, _08027430 @ =gBattleCommunication - strb r2, [r0, 0x5] -_08027424: - ldr r1, _08027434 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08027430: .4byte gBattleCommunication -_08027434: .4byte gBattlescriptCurrInstr - thumb_func_end atk9A_setincreasedcriticalchance - - thumb_func_start atk9B_transformdataexecution -atk9B_transformdataexecution: @ 8027438 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r1, _08027490 @ =gUnknown_02024BE8 - ldr r2, _08027494 @ =0x0000ffff - adds r0, r2, 0 - strh r0, [r1] - ldr r1, _08027498 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - ldr r7, _0802749C @ =gBattleMons - ldr r0, _080274A0 @ =gBankTarget - mov r12, r0 - ldrb r1, [r0] - movs r6, 0x58 - adds r0, r1, 0 - muls r0, r6 - adds r5, r7, 0 - adds r5, 0x50 - adds r0, r5 - ldr r0, [r0] - movs r4, 0x80 - lsls r4, 14 - ands r0, r4 - cmp r0, 0 - bne _0802747E - ldr r0, _080274A4 @ =gStatuses3 - lsls r1, 2 - adds r1, r0 - ldr r2, [r1] - ldr r0, _080274A8 @ =0x000400c0 - ands r2, r0 - cmp r2, 0 - beq _080274B4 -_0802747E: - ldr r2, _080274AC @ =gBattleMoveFlags - ldrb r0, [r2] - movs r1, 0x20 - orrs r0, r1 - strb r0, [r2] - ldr r1, _080274B0 @ =gBattleCommunication - movs r0, 0x1 - b _080275C8 - .align 2, 0 -_08027490: .4byte gUnknown_02024BE8 -_08027494: .4byte 0x0000ffff -_08027498: .4byte gBattlescriptCurrInstr -_0802749C: .4byte gBattleMons -_080274A0: .4byte gBankTarget -_080274A4: .4byte gStatuses3 -_080274A8: .4byte 0x000400c0 -_080274AC: .4byte gBattleMoveFlags -_080274B0: .4byte gBattleCommunication -_080274B4: - ldr r3, _08027588 @ =gBankAttacker - ldrb r0, [r3] - adds r1, r0, 0 - muls r1, r6 - adds r1, r5 - ldr r0, [r1] - orrs r0, r4 - str r0, [r1] - ldr r4, _0802758C @ =gDisableStructs - ldrb r1, [r3] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r4 - strh r2, [r0, 0x4] - ldrb r0, [r3] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r2, [r1, 0xB] - movs r0, 0x10 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0xB] - ldrb r1, [r3] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r4 - mov r2, r12 - ldrb r1, [r2] - muls r1, r6 - adds r2, r7, 0 - adds r2, 0x48 - adds r1, r2 - ldr r1, [r1] - str r1, [r0] - ldrb r0, [r3] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r2, [r1, 0x18] - movs r0, 0xF - ands r0, r2 - strb r0, [r1, 0x18] - ldr r1, _08027590 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x6 - strb r0, [r1, 0x1] - mov r2, r12 - ldrb r0, [r2] - muls r0, r6 - adds r0, r7 - ldrh r0, [r0] - strb r0, [r1, 0x2] - ldrb r0, [r2] - muls r0, r6 - adds r0, r7 - ldrh r0, [r0] - lsrs r0, 8 - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldrb r0, [r3] - muls r0, r6 - adds r5, r0, r7 - ldrb r0, [r2] - muls r0, r6 - adds r2, r0, r7 - movs r4, 0 - adds r6, r3, 0 - ldr r0, _08027594 @ =gActiveBank - mov r8, r0 -_0802754C: - adds r0, r5, r4 - adds r1, r2, r4 - ldrb r1, [r1] - strb r1, [r0] - adds r4, 0x1 - cmp r4, 0x23 - bls _0802754C - movs r4, 0 - ldr r7, _08027598 @ =gBattleMoves - ldr r3, _0802759C @ =gUnknown_02024A8C - adds r5, r3, 0 - adds r5, 0x18 -_08027564: - lsls r1, r4, 1 - ldrb r2, [r6] - movs r0, 0x58 - muls r2, r0 - adds r1, r2 - adds r1, r3 - ldrh r1, [r1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrb r1, [r0, 0x4] - cmp r1, 0x4 - bhi _080275A0 - adds r0, r4, r2 - adds r0, r5 - b _080275A6 - .align 2, 0 -_08027588: .4byte gBankAttacker -_0802758C: .4byte gDisableStructs -_08027590: .4byte gBattleTextBuff1 -_08027594: .4byte gActiveBank -_08027598: .4byte gBattleMoves -_0802759C: .4byte gUnknown_02024A8C -_080275A0: - adds r0, r4, r2 - adds r0, r5 - movs r1, 0x5 -_080275A6: - strb r1, [r0] - adds r4, 0x1 - cmp r4, 0x3 - ble _08027564 - ldrb r0, [r6] - mov r1, r8 - strb r0, [r1] - movs r0, 0 - movs r1, 0x2 - bl EmitResetActionMoveSelection - mov r2, r8 - ldrb r0, [r2] - bl MarkBufferBankForExecution - ldr r1, _080275D4 @ =gBattleCommunication - movs r0, 0 -_080275C8: - strb r0, [r1, 0x5] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080275D4: .4byte gBattleCommunication - thumb_func_end atk9B_transformdataexecution - - thumb_func_start sub_80275D8 -sub_80275D8: @ 80275D8 - push {r4-r7,lr} - ldr r7, _08027608 @ =gBattleMons - ldr r6, _0802760C @ =gBankAttacker - ldrb r0, [r6] - movs r5, 0x58 - muls r0, r5 - adds r3, r0, r7 - ldrh r0, [r3, 0x2C] - lsrs r1, r0, 2 - adds r2, r1, 0 - cmp r1, 0 - bne _080275F2 - movs r2, 0x1 -_080275F2: - ldrh r0, [r3, 0x28] - cmp r0, r2 - bhi _08027618 - ldr r1, _08027610 @ =gBattleMoveDamage - movs r0, 0 - str r0, [r1] - ldr r1, _08027614 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x5] - b _0802766C - .align 2, 0 -_08027608: .4byte gBattleMons -_0802760C: .4byte gBankAttacker -_08027610: .4byte gBattleMoveDamage -_08027614: .4byte gBattleCommunication -_08027618: - ldr r4, _0802767C @ =gBattleMoveDamage - str r1, [r4] - cmp r1, 0 - bne _08027624 - movs r0, 0x1 - str r0, [r4] -_08027624: - ldrb r0, [r6] - adds r2, r0, 0 - muls r2, r5 - adds r3, r7, 0 - adds r3, 0x50 - adds r2, r3 - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 17 - orrs r0, r1 - str r0, [r2] - ldrb r0, [r6] - adds r1, r0, 0 - muls r1, r5 - adds r1, r3 - ldr r0, [r1] - ldr r2, _08027680 @ =0xffff1fff - ands r0, r2 - str r0, [r1] - ldr r2, _08027684 @ =gDisableStructs - ldrb r1, [r6] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, [r4] - movs r2, 0 - strb r1, [r0, 0xA] - ldr r0, _08027688 @ =gBattleCommunication - strb r2, [r0, 0x5] - ldr r2, _0802768C @ =gHitMarker - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 1 - orrs r0, r1 - str r0, [r2] -_0802766C: - ldr r1, _08027690 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802767C: .4byte gBattleMoveDamage -_08027680: .4byte 0xffff1fff -_08027684: .4byte gDisableStructs -_08027688: .4byte gBattleCommunication -_0802768C: .4byte gHitMarker -_08027690: .4byte gBattlescriptCurrInstr - thumb_func_end sub_80275D8 - - thumb_func_start sub_8027694 -sub_8027694: @ 8027694 - push {r4,r5,lr} - lsls r0, 16 - lsrs r2, r0, 16 - movs r3, 0 - ldr r0, _080276D4 @ =gUnknown_081FACFE - ldrh r1, [r0] - ldr r4, _080276D8 @ =0x0000fffe - adds r5, r0, 0 - cmp r1, r4 - beq _080276BC - cmp r1, r2 - beq _080276BC - adds r1, r5, 0 -_080276AE: - adds r1, 0x2 - adds r3, 0x1 - ldrh r0, [r1] - cmp r0, r4 - beq _080276BC - cmp r0, r2 - bne _080276AE -_080276BC: - lsls r0, r3, 1 - adds r0, r5 - ldrh r1, [r0] - ldr r0, _080276D8 @ =0x0000fffe - eors r1, r0 - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080276D4: .4byte gUnknown_081FACFE -_080276D8: .4byte 0x0000fffe - thumb_func_end sub_8027694 - - thumb_func_start atk9D_copyattack -atk9D_copyattack: @ 80276DC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r0, _08027754 @ =gUnknown_02024BE8 - ldr r1, _08027758 @ =0x0000ffff - adds r7, r1, 0 - strh r7, [r0] - ldr r5, _0802775C @ =gLastUsedMove - ldr r6, _08027760 @ =gBankTarget - ldrb r0, [r6] - lsls r0, 1 - adds r0, r5 - ldrh r0, [r0] - bl sub_8027694 - lsls r0, 24 - cmp r0, 0 - bne _08027736 - ldr r3, _08027764 @ =gBattleMons - ldr r2, _08027768 @ =gBankAttacker - ldrb r1, [r2] - movs r0, 0x58 - adds r4, r1, 0 - muls r4, r0 - adds r0, r3, 0 - adds r0, 0x50 - adds r0, r4, r0 - ldr r1, [r0] - movs r0, 0x80 - lsls r0, 14 - ands r1, r0 - mov r12, r3 - mov r9, r2 - cmp r1, 0 - bne _08027736 - ldrb r0, [r6] - lsls r0, 1 - adds r0, r5 - ldrh r1, [r0] - cmp r1, 0 - beq _08027736 - cmp r1, r7 - bne _08027770 -_08027736: - ldr r3, _0802776C @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _080278A8 - .align 2, 0 -_08027754: .4byte gUnknown_02024BE8 -_08027758: .4byte 0x0000ffff -_0802775C: .4byte gLastUsedMove -_08027760: .4byte gBankTarget -_08027764: .4byte gBattleMons -_08027768: .4byte gBankAttacker -_0802776C: .4byte gBattlescriptCurrInstr -_08027770: - movs r2, 0 - mov r3, r12 - adds r3, 0xC - adds r0, r4, r3 - ldrh r0, [r0] - ldr r4, _08027800 @ =gBattlescriptCurrInstr - mov r10, r4 - cmp r0, r1 - beq _080277AA - mov r8, r3 - adds r7, r5, 0 - adds r5, r6, 0 - mov r4, r9 - movs r3, 0x58 -_0802778C: - adds r2, 0x1 - cmp r2, 0x3 - bgt _080277AA - lsls r1, r2, 1 - ldrb r0, [r4] - muls r0, r3 - adds r1, r0 - add r1, r8 - ldrb r0, [r5] - lsls r0, 1 - adds r0, r7 - ldrh r1, [r1] - ldrh r0, [r0] - cmp r1, r0 - bne _0802778C -_080277AA: - cmp r2, 0x4 - bne _0802788C - ldr r5, _08027804 @ =gCurrMovePos - ldrb r1, [r5] - lsls r1, 1 - mov r2, r9 - ldrb r0, [r2] - movs r6, 0x58 - muls r0, r6 - adds r1, r0 - mov r0, r12 - adds r0, 0xC - adds r1, r0 - ldr r2, _08027808 @ =gLastUsedMove - ldr r3, _0802780C @ =gBankTarget - ldrb r0, [r3] - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - strh r0, [r1] - ldr r4, _08027810 @ =gBattleMoves - ldrb r0, [r3] - lsls r0, 1 - adds r0, r2 - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r4, [r0, 0x4] - cmp r4, 0x4 - bhi _08027814 - mov r1, r9 - ldrb r0, [r1] - muls r0, r6 - ldrb r1, [r5] - adds r0, r1 - mov r1, r12 - adds r1, 0x24 - adds r0, r1 - strb r4, [r0] - b _08027828 - .align 2, 0 -_08027800: .4byte gBattlescriptCurrInstr -_08027804: .4byte gCurrMovePos -_08027808: .4byte gLastUsedMove -_0802780C: .4byte gBankTarget -_08027810: .4byte gBattleMoves -_08027814: - mov r4, r9 - ldrb r0, [r4] - muls r0, r6 - ldrb r1, [r5] - adds r0, r1 - mov r1, r12 - adds r1, 0x24 - adds r0, r1 - movs r1, 0x5 - strb r1, [r0] -_08027828: - ldr r1, _08027880 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x2 - strb r0, [r1, 0x1] - ldrb r0, [r3] - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - strb r0, [r1, 0x2] - ldrb r0, [r3] - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - lsrs r0, 8 - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldr r1, _08027884 @ =gDisableStructs - mov r2, r9 - ldrb r0, [r2] - lsls r2, r0, 3 - subs r2, r0 - lsls r2, 2 - adds r2, r1 - ldrb r4, [r2, 0x18] - lsrs r3, r4, 4 - ldr r1, _08027888 @ =gBitTable - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - orrs r1, r3 - lsls r1, 4 - movs r0, 0xF - ands r0, r4 - orrs r0, r1 - strb r0, [r2, 0x18] - mov r4, r10 - ldr r0, [r4] - adds r0, 0x5 - str r0, [r4] - b _080278A8 - .align 2, 0 -_08027880: .4byte gBattleTextBuff1 -_08027884: .4byte gDisableStructs -_08027888: .4byte gBitTable -_0802788C: - mov r0, r10 - ldr r2, [r0] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - mov r2, r10 - str r1, [r2] -_080278A8: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end atk9D_copyattack - - thumb_func_start sub_80278B8 -sub_80278B8: @ 80278B8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r7, _08027938 @ =gCurrentMove - movs r6, 0xB1 - lsls r6, 1 - ldr r5, _0802793C @ =gUnknown_081FACFE - ldr r0, _08027940 @ =gBattlescriptCurrInstr - mov r8, r0 -_080278CA: - bl Random - ldr r2, _08027944 @ =0x000001ff - adds r1, r2, 0 - ands r0, r1 - adds r0, 0x1 - strh r0, [r7] - cmp r0, r6 - bhi _080278CA - movs r0, 0x3 -_080278DE: - subs r0, 0x1 - cmp r0, 0 - bge _080278DE - ldr r4, _08027938 @ =gCurrentMove - ldrh r2, [r4] - ldr r3, _08027948 @ =0x0000ffff - subs r0, r5, 0x2 -_080278EC: - adds r0, 0x2 - ldrh r1, [r0] - cmp r1, r2 - beq _080278F8 - cmp r1, r3 - bne _080278EC -_080278F8: - ldr r0, _08027948 @ =0x0000ffff - cmp r1, r0 - bne _080278CA - ldr r2, _0802794C @ =gHitMarker - ldr r0, [r2] - ldr r1, _08027950 @ =0xfffffbff - ands r0, r1 - str r0, [r2] - ldr r3, _08027954 @ =gUnknown_081D6BBC - ldr r2, _08027958 @ =gBattleMoves - ldrh r1, [r4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r3 - ldr r0, [r0] - mov r1, r8 - str r0, [r1] - ldrh r0, [r4] - movs r1, 0 - bl sub_801B5C0 - ldr r1, _0802795C @ =gBankTarget - strb r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08027938: .4byte gCurrentMove -_0802793C: .4byte gUnknown_081FACFE -_08027940: .4byte gBattlescriptCurrInstr -_08027944: .4byte 0x000001ff -_08027948: .4byte 0x0000ffff -_0802794C: .4byte gHitMarker -_08027950: .4byte 0xfffffbff -_08027954: .4byte gUnknown_081D6BBC -_08027958: .4byte gBattleMoves -_0802795C: .4byte gBankTarget - thumb_func_end sub_80278B8 - - thumb_func_start sub_8027960 -sub_8027960: @ 8027960 - ldr r3, _08027980 @ =gBattleMoveDamage - ldr r2, _08027984 @ =gBattleMons - ldr r0, _08027988 @ =gBankAttacker - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x2A - ldrb r0, [r0] - str r0, [r3] - ldr r1, _0802798C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .align 2, 0 -_08027980: .4byte gBattleMoveDamage -_08027984: .4byte gBattleMons -_08027988: .4byte gBankAttacker -_0802798C: .4byte gBattlescriptCurrInstr - thumb_func_end sub_8027960 - - thumb_func_start atkA0_psywavedamageeffect -atkA0_psywavedamageeffect: @ 8027990 - push {r4,lr} - movs r4, 0xF -_08027994: - bl Random - adds r3, r4, 0 - ands r3, r0 - cmp r3, 0xA - bgt _08027994 - lsls r0, r3, 2 - adds r0, r3 - lsls r3, r0, 1 - ldr r4, _080279D4 @ =gBattleMoveDamage - ldr r2, _080279D8 @ =gBattleMons - ldr r0, _080279DC @ =gBankAttacker - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x2A - ldrb r1, [r0] - adds r0, r3, 0 - adds r0, 0x32 - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - str r0, [r4] - ldr r1, _080279E0 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080279D4: .4byte gBattleMoveDamage -_080279D8: .4byte gBattleMons -_080279DC: .4byte gBankAttacker -_080279E0: .4byte gBattlescriptCurrInstr - thumb_func_end atkA0_psywavedamageeffect - - thumb_func_start atkA1_counterdamagecalculator -atkA1_counterdamagecalculator: @ 80279E4 - push {r4-r6,lr} - ldr r4, _08027A54 @ =gBankAttacker - ldrb r0, [r4] - bl GetBankSide - lsls r0, 24 - lsrs r6, r0, 24 - ldr r5, _08027A58 @ =gProtectStructs - ldrb r0, [r4] - lsls r0, 4 - adds r0, r5 - ldrb r0, [r0, 0xC] - bl GetBankSide - lsls r0, 24 - lsrs r2, r0, 24 - ldrb r0, [r4] - lsls r1, r0, 4 - adds r0, r5, 0x4 - adds r0, r1, r0 - ldr r3, [r0] - cmp r3, 0 - beq _08027A98 - cmp r6, r2 - beq _08027A98 - ldr r6, _08027A5C @ =gBattleMons - adds r0, r1, r5 - ldrb r0, [r0, 0xC] - movs r4, 0x58 - muls r0, r4 - adds r0, r6 - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _08027A98 - ldr r1, _08027A60 @ =gBattleMoveDamage - lsls r0, r3, 1 - str r0, [r1] - ldr r1, _08027A64 @ =gSideTimer - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r1, r0, r1 - ldrb r0, [r1, 0x8] - cmp r0, 0 - beq _08027A6C - ldrb r1, [r1, 0x9] - adds r0, r1, 0 - muls r0, r4 - adds r0, r6 - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _08027A6C - ldr r0, _08027A68 @ =gBankTarget - strb r1, [r0] - b _08027A7C - .align 2, 0 -_08027A54: .4byte gBankAttacker -_08027A58: .4byte gProtectStructs -_08027A5C: .4byte gBattleMons -_08027A60: .4byte gBattleMoveDamage -_08027A64: .4byte gSideTimer -_08027A68: .4byte gBankTarget -_08027A6C: - ldr r2, _08027A88 @ =gBankTarget - ldr r1, _08027A8C @ =gProtectStructs - ldr r0, _08027A90 @ =gBankAttacker - ldrb r0, [r0] - lsls r0, 4 - adds r0, r1 - ldrb r0, [r0, 0xC] - strb r0, [r2] -_08027A7C: - ldr r1, _08027A94 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _08027AC8 - .align 2, 0 -_08027A88: .4byte gBankTarget -_08027A8C: .4byte gProtectStructs -_08027A90: .4byte gBankAttacker -_08027A94: .4byte gBattlescriptCurrInstr -_08027A98: - ldr r2, _08027AD0 @ =gSpecialStatuses - ldr r0, _08027AD4 @ =gBankAttacker - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0] - ldr r3, _08027AD8 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_08027AC8: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08027AD0: .4byte gSpecialStatuses -_08027AD4: .4byte gBankAttacker -_08027AD8: .4byte gBattlescriptCurrInstr - thumb_func_end atkA1_counterdamagecalculator - - thumb_func_start atkA2_mirrorcoatdamagecalculator -atkA2_mirrorcoatdamagecalculator: @ 8027ADC - push {r4-r6,lr} - ldr r4, _08027B4C @ =gBankAttacker - ldrb r0, [r4] - bl GetBankSide - lsls r0, 24 - lsrs r6, r0, 24 - ldr r5, _08027B50 @ =gProtectStructs - ldrb r0, [r4] - lsls r0, 4 - adds r0, r5 - ldrb r0, [r0, 0xD] - bl GetBankSide - lsls r0, 24 - lsrs r2, r0, 24 - ldrb r0, [r4] - lsls r1, r0, 4 - adds r0, r5, 0 - adds r0, 0x8 - adds r0, r1, r0 - ldr r3, [r0] - cmp r3, 0 - beq _08027B90 - cmp r6, r2 - beq _08027B90 - ldr r6, _08027B54 @ =gBattleMons - adds r0, r1, r5 - ldrb r0, [r0, 0xD] - movs r4, 0x58 - muls r0, r4 - adds r0, r6 - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _08027B90 - ldr r1, _08027B58 @ =gBattleMoveDamage - lsls r0, r3, 1 - str r0, [r1] - ldr r1, _08027B5C @ =gSideTimer - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r1, r0, r1 - ldrb r0, [r1, 0x8] - cmp r0, 0 - beq _08027B64 - ldrb r1, [r1, 0x9] - adds r0, r1, 0 - muls r0, r4 - adds r0, r6 - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _08027B64 - ldr r0, _08027B60 @ =gBankTarget - strb r1, [r0] - b _08027B74 - .align 2, 0 -_08027B4C: .4byte gBankAttacker -_08027B50: .4byte gProtectStructs -_08027B54: .4byte gBattleMons -_08027B58: .4byte gBattleMoveDamage -_08027B5C: .4byte gSideTimer -_08027B60: .4byte gBankTarget -_08027B64: - ldr r2, _08027B80 @ =gBankTarget - ldr r1, _08027B84 @ =gProtectStructs - ldr r0, _08027B88 @ =gBankAttacker - ldrb r0, [r0] - lsls r0, 4 - adds r0, r1 - ldrb r0, [r0, 0xD] - strb r0, [r2] -_08027B74: - ldr r1, _08027B8C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _08027BC0 - .align 2, 0 -_08027B80: .4byte gBankTarget -_08027B84: .4byte gProtectStructs -_08027B88: .4byte gBankAttacker -_08027B8C: .4byte gBattlescriptCurrInstr -_08027B90: - ldr r2, _08027BC8 @ =gSpecialStatuses - ldr r0, _08027BCC @ =gBankAttacker - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0] - ldr r3, _08027BD0 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_08027BC0: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08027BC8: .4byte gSpecialStatuses -_08027BCC: .4byte gBankAttacker -_08027BD0: .4byte gBattlescriptCurrInstr - thumb_func_end atkA2_mirrorcoatdamagecalculator - - thumb_func_start atkA3_disablelastusedattack -atkA3_disablelastusedattack: @ 8027BD4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r4, 0 - ldr r2, _08027CD4 @ =gBattleMons - ldr r3, _08027CD8 @ =gBankTarget - ldrb r1, [r3] - movs r0, 0x58 - muls r0, r1 - adds r7, r2, 0 - adds r7, 0xC - adds r0, r7 - ldr r5, _08027CDC @ =gLastUsedMove - lsls r1, 1 - adds r1, r5 - ldrh r0, [r0] - mov r9, r2 - adds r6, r3, 0 - ldr r2, _08027CE0 @ =gDisableStructs - mov r8, r2 - ldrh r1, [r1] - cmp r0, r1 - beq _08027C28 - mov r12, r6 - movs r3, 0x58 -_08027C08: - adds r4, 0x1 - cmp r4, 0x3 - bgt _08027C28 - lsls r2, r4, 1 - mov r0, r12 - ldrb r1, [r0] - adds r0, r1, 0 - muls r0, r3 - adds r2, r0 - adds r2, r7 - lsls r1, 1 - adds r1, r5 - ldrh r0, [r2] - ldrh r1, [r1] - cmp r0, r1 - bne _08027C08 -_08027C28: - ldrb r1, [r6] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - add r0, r8 - ldrh r0, [r0, 0x4] - cmp r0, 0 - bne _08027CEC - cmp r4, 0x4 - beq _08027CEC - movs r5, 0x58 - adds r0, r1, 0 - muls r0, r5 - adds r0, r4, r0 - mov r1, r9 - adds r1, 0x24 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _08027CEC - ldr r1, _08027CE4 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x2 - strb r0, [r1, 0x1] - lsls r2, r4, 1 - ldrb r0, [r6] - muls r0, r5 - adds r0, r2, r0 - mov r3, r9 - adds r3, 0xC - adds r0, r3 - ldrh r0, [r0] - strb r0, [r1, 0x2] - ldrb r0, [r6] - muls r0, r5 - adds r0, r2, r0 - adds r0, r3 - ldrh r0, [r0] - lsrs r0, 8 - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldrb r1, [r6] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - add r0, r8 - muls r1, r5 - adds r2, r1 - adds r2, r3 - ldrh r1, [r2] - strh r1, [r0, 0x4] - bl Random - ldrb r2, [r6] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - add r1, r8 - movs r2, 0x3 - ands r2, r0 - adds r2, 0x2 - ldrb r3, [r1, 0xB] - movs r0, 0x10 - negs r0, r0 - ands r0, r3 - orrs r0, r2 - strb r0, [r1, 0xB] - ldrb r0, [r6] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - add r1, r8 - ldrb r3, [r1, 0xB] - lsls r2, r3, 28 - lsrs r2, 24 - movs r0, 0xF - ands r0, r3 - orrs r0, r2 - strb r0, [r1, 0xB] - ldr r1, _08027CE8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _08027D06 - .align 2, 0 -_08027CD4: .4byte gBattleMons -_08027CD8: .4byte gBankTarget -_08027CDC: .4byte gLastUsedMove -_08027CE0: .4byte gDisableStructs -_08027CE4: .4byte gBattleTextBuff1 -_08027CE8: .4byte gBattlescriptCurrInstr -_08027CEC: - ldr r3, _08027D14 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_08027D06: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08027D14: .4byte gBattlescriptCurrInstr - thumb_func_end atkA3_disablelastusedattack - - thumb_func_start atkA4_setencore -atkA4_setencore: @ 8027D18 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r5, 0 - ldr r3, _08027E0C @ =gBattleMons - ldr r4, _08027E10 @ =gBankTarget - ldrb r1, [r4] - movs r0, 0x58 - muls r0, r1 - adds r6, r3, 0 - adds r6, 0xC - adds r0, r6 - ldr r2, _08027E14 @ =gLastUsedMove - lsls r1, 1 - adds r1, r2 - ldrh r0, [r0] - mov r10, r3 - mov r8, r2 - ldr r2, _08027E18 @ =gDisableStructs - mov r9, r2 - ldrh r1, [r1] - cmp r0, r1 - beq _08027D72 - mov r12, r4 - adds r7, r6, 0 - mov r6, r8 - movs r3, 0x58 -_08027D52: - adds r5, 0x1 - cmp r5, 0x3 - bgt _08027D72 - lsls r2, r5, 1 - mov r0, r12 - ldrb r1, [r0] - adds r0, r1, 0 - muls r0, r3 - adds r2, r0 - adds r2, r7 - lsls r1, 1 - adds r1, r6 - ldrh r0, [r2] - ldrh r1, [r1] - cmp r0, r1 - bne _08027D52 -_08027D72: - ldrb r0, [r4] - lsls r0, 1 - add r0, r8 - ldrh r2, [r0] - cmp r2, 0xA5 - beq _08027D86 - cmp r2, 0xE3 - beq _08027D86 - cmp r2, 0x77 - bne _08027D88 -_08027D86: - movs r5, 0x4 -_08027D88: - ldrb r1, [r4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - mov r2, r9 - adds r3, r0, r2 - ldrh r0, [r3, 0x6] - cmp r0, 0 - bne _08027E20 - cmp r5, 0x4 - beq _08027E20 - movs r0, 0x58 - adds r2, r1, 0 - muls r2, r0 - adds r0, r5, r2 - mov r1, r10 - adds r1, 0x24 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _08027E20 - lsls r0, r5, 1 - adds r0, r2 - subs r1, 0x18 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r3, 0x6] - ldrb r1, [r4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - add r0, r9 - strb r5, [r0, 0xC] - bl Random - ldrb r2, [r4] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - add r1, r9 - movs r2, 0x3 - ands r2, r0 - adds r2, 0x3 - ldrb r3, [r1, 0xE] - movs r0, 0x10 - negs r0, r0 - ands r0, r3 - orrs r0, r2 - strb r0, [r1, 0xE] - ldrb r0, [r4] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - add r1, r9 - ldrb r3, [r1, 0xE] - lsls r2, r3, 28 - lsrs r2, 24 - movs r0, 0xF - ands r0, r3 - orrs r0, r2 - strb r0, [r1, 0xE] - ldr r1, _08027E1C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _08027E3A - .align 2, 0 -_08027E0C: .4byte gBattleMons -_08027E10: .4byte gBankTarget -_08027E14: .4byte gLastUsedMove -_08027E18: .4byte gDisableStructs -_08027E1C: .4byte gBattlescriptCurrInstr -_08027E20: - ldr r3, _08027E48 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_08027E3A: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08027E48: .4byte gBattlescriptCurrInstr - thumb_func_end atkA4_setencore - - thumb_func_start sub_8027E4C -sub_8027E4C: @ 8027E4C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r7, _08027EEC @ =gBattleMons - ldr r0, _08027EF0 @ =gBankTarget - mov r8, r0 - ldrb r0, [r0] - movs r6, 0x58 - adds r2, r0, 0 - muls r2, r6 - adds r0, r7, 0 - adds r0, 0x50 - adds r0, r2, r0 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 17 - ands r0, r1 - cmp r0, 0 - bne _08027F18 - ldr r1, _08027EF4 @ =gBankAttacker - mov r12, r1 - ldrb r0, [r1] - muls r0, r6 - adds r0, r7 - ldrh r4, [r0, 0x28] - adds r0, r2, r7 - ldrh r2, [r0, 0x28] - adds r4, r2 - asrs r4, 1 - ldr r5, _08027EF8 @ =gBattleMoveDamage - mov r9, r5 - subs r2, r4 - str r2, [r5] - ldr r3, _08027EFC @ =0x02000000 - ldr r1, _08027F00 @ =0x00016014 - adds r0, r3, r1 - strb r2, [r0] - movs r0, 0xFF - lsls r0, 8 - ands r0, r2 - asrs r0, 8 - ldr r5, _08027F04 @ =0x00016015 - adds r1, r3, r5 - strb r0, [r1] - movs r0, 0xFF - lsls r0, 16 - ands r0, r2 - asrs r0, 16 - adds r5, 0x1 - adds r1, r3, r5 - strb r0, [r1] - lsrs r2, 24 - ldr r0, _08027F08 @ =0x00016017 - adds r3, r0 - strb r2, [r3] - mov r1, r12 - ldrb r0, [r1] - muls r0, r6 - adds r0, r7 - ldrh r0, [r0, 0x28] - subs r0, r4 - mov r5, r9 - str r0, [r5] - ldr r2, _08027F0C @ =gSpecialStatuses - mov r0, r8 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r2, 0x4 - adds r0, r2 - ldr r1, _08027F10 @ =0x0000ffff - str r1, [r0] - ldr r1, _08027F14 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _08027F32 - .align 2, 0 -_08027EEC: .4byte gBattleMons -_08027EF0: .4byte gBankTarget -_08027EF4: .4byte gBankAttacker -_08027EF8: .4byte gBattleMoveDamage -_08027EFC: .4byte 0x02000000 -_08027F00: .4byte 0x00016014 -_08027F04: .4byte 0x00016015 -_08027F08: .4byte 0x00016017 -_08027F0C: .4byte gSpecialStatuses -_08027F10: .4byte 0x0000ffff -_08027F14: .4byte gBattlescriptCurrInstr -_08027F18: - ldr r3, _08027F40 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_08027F32: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08027F40: .4byte gBattlescriptCurrInstr - thumb_func_end sub_8027E4C - - thumb_func_start sub_8027F44 -sub_8027F44: @ 8027F44 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r1, _08027FA8 @ =gMoveHitWith - ldr r4, _08027FAC @ =gBankAttacker - ldrb r0, [r4] - lsls r0, 1 - adds r2, r0, r1 - ldrh r1, [r2] - cmp r1, 0 - beq _08027F8C - ldr r0, _08027FB0 @ =0x0000ffff - cmp r1, r0 - beq _08027F8C - ldrh r0, [r2] - bl sub_8028350 - lsls r0, 24 - cmp r0, 0 - beq _08028024 - ldr r2, _08027FB4 @ =gProtectStructs - ldrb r0, [r4] - lsls r1, r0, 4 - adds r0, r2, 0x4 - adds r0, r1, r0 - ldr r0, [r0] - cmp r0, 0 - bne _08028024 - adds r0, r2, 0 - adds r0, 0x8 - adds r0, r1, r0 - ldr r0, [r0] - cmp r0, 0 - bne _08028024 -_08027F8C: - ldr r3, _08027FB8 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08028110 - .align 2, 0 -_08027FA8: .4byte gMoveHitWith -_08027FAC: .4byte gBankAttacker -_08027FB0: .4byte 0x0000ffff -_08027FB4: .4byte gProtectStructs -_08027FB8: .4byte gBattlescriptCurrInstr -_08027FBC: - mov r0, r12 - strb r5, [r0] - mov r1, r10 - ldrb r0, [r1] - muls r0, r2 - adds r0, r7 - adds r0, 0x22 - strb r5, [r0] - ldr r1, _08027FE0 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x3 - strb r0, [r1, 0x1] - strb r5, [r1, 0x2] - movs r0, 0xFF - strb r0, [r1, 0x3] - ldr r1, _08027FE4 @ =gBattlescriptCurrInstr - b _08028012 - .align 2, 0 -_08027FE0: .4byte gBattleTextBuff1 -_08027FE4: .4byte gBattlescriptCurrInstr -_08027FE8: - mov r0, r8 - adds r0, 0x1 - adds r0, r3 - ldrb r2, [r0] - strb r2, [r4] - mov r4, r10 - ldrb r0, [r4] - muls r0, r6 - ldr r7, _0802801C @ =gBattleMons - adds r0, r7 - adds r0, 0x22 - strb r2, [r0] - ldr r1, _08028020 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x3 - strb r0, [r1, 0x1] - strb r2, [r1, 0x2] - movs r0, 0xFF - strb r0, [r1, 0x3] - mov r1, r12 -_08028012: - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _08028110 - .align 2, 0 -_0802801C: .4byte gBattleMons -_08028020: .4byte gBattleTextBuff1 -_08028024: - movs r4, 0 - mov r8, r4 - movs r7, 0x7F - mov r9, r7 -_0802802C: - bl Random - mov r4, r9 - ands r4, r0 - cmp r4, 0x70 - bhi _0802802C - lsls r0, r4, 1 - adds r4, r0, r4 - ldr r6, _08028120 @ =gTypeEffectiveness - adds r3, r4, r6 - ldr r1, _08028124 @ =gUnknown_02024C44 - ldr r2, _08028128 @ =gBankAttacker - ldrb r5, [r2] - lsls r0, r5, 1 - adds r0, r1 - ldrb r1, [r3] - mov r10, r2 - ldrh r0, [r0] - cmp r1, r0 - bne _08028088 - adds r0, r4, 0x2 - adds r0, r6 - ldrb r0, [r0] - cmp r0, 0x5 - bhi _08028088 - ldr r7, _0802812C @ =gBattleMons - movs r2, 0x58 - adds r0, r5, 0 - muls r0, r2 - adds r3, r0, r7 - movs r0, 0x21 - adds r0, r3 - mov r12, r0 - adds r0, r4, 0x1 - adds r0, r6 - ldrb r5, [r0] - mov r1, r12 - ldrb r0, [r1] - adds r1, r5, 0 - cmp r0, r1 - beq _08028088 - adds r0, r3, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, r1 - bne _08027FBC -_08028088: - movs r7, 0x1 - add r8, r7 - ldr r0, _08028130 @ =0x000003e7 - cmp r8, r0 - ble _0802802C - movs r0, 0 - mov r8, r0 - ldr r1, _08028134 @ =gBattlescriptCurrInstr - mov r12, r1 - ldr r3, _08028120 @ =gTypeEffectiveness - adds r0, r4, 0x1 - adds r0, r3 - mov r9, r0 - adds r5, r3, 0 -_080280A4: - ldrb r1, [r5] - cmp r1, 0xFF - bgt _080280AE - cmp r1, 0xFE - bge _080280E8 -_080280AE: - mov r4, r10 - ldrb r2, [r4] - lsls r0, r2, 1 - ldr r7, _08028124 @ =gUnknown_02024C44 - adds r0, r7 - ldrh r0, [r0] - cmp r1, r0 - bne _080280E8 - ldrb r0, [r5, 0x2] - cmp r0, 0x5 - bhi _080280E8 - movs r6, 0x58 - adds r0, r2, 0 - muls r0, r6 - ldr r1, _0802812C @ =gBattleMons - adds r2, r0, r1 - adds r4, r2, 0 - adds r4, 0x21 - ldrb r0, [r4] - mov r7, r9 - ldrb r1, [r7] - cmp r0, r1 - beq _080280E8 - adds r0, r2, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, r1 - beq _080280E8 - b _08027FE8 -_080280E8: - adds r5, 0x3 - movs r0, 0x3 - add r8, r0 - ldr r0, _08028138 @ =0x0000014f - cmp r8, r0 - bls _080280A4 - mov r1, r12 - ldr r2, [r1] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - mov r4, r12 - str r1, [r4] -_08028110: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08028120: .4byte gTypeEffectiveness -_08028124: .4byte gUnknown_02024C44 -_08028128: .4byte gBankAttacker -_0802812C: .4byte gBattleMons -_08028130: .4byte 0x000003e7 -_08028134: .4byte gBattlescriptCurrInstr -_08028138: .4byte 0x0000014f - thumb_func_end sub_8027F44 - - thumb_func_start atkA7_setalwayshitflag -atkA7_setalwayshitflag: @ 802813C - push {r4,lr} - ldr r4, _08028180 @ =gStatuses3 - ldr r3, _08028184 @ =gBankTarget - ldrb r1, [r3] - lsls r1, 2 - adds r1, r4 - ldr r0, [r1] - movs r2, 0x19 - negs r2, r2 - ands r0, r2 - str r0, [r1] - ldrb r1, [r3] - lsls r1, 2 - adds r1, r4 - ldr r0, [r1] - movs r2, 0x10 - orrs r0, r2 - str r0, [r1] - ldr r2, _08028188 @ =gDisableStructs - ldrb r1, [r3] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, _0802818C @ =gBankAttacker - ldrb r1, [r1] - strb r1, [r0, 0x15] - ldr r1, _08028190 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08028180: .4byte gStatuses3 -_08028184: .4byte gBankTarget -_08028188: .4byte gDisableStructs -_0802818C: .4byte gBankAttacker -_08028190: .4byte gBattlescriptCurrInstr - thumb_func_end atkA7_setalwayshitflag - - thumb_func_start atkA8_copymovepermanently -atkA8_copymovepermanently: @ 8028194 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - ldr r0, _080282F4 @ =gUnknown_02024BE8 - ldr r1, _080282F8 @ =0x0000ffff - adds r5, r1, 0 - strh r5, [r0] - ldr r3, _080282FC @ =gBattleMons - ldr r2, _08028300 @ =gBankAttacker - ldrb r1, [r2] - movs r0, 0x58 - adds r4, r1, 0 - muls r4, r0 - adds r0, r3, 0 - adds r0, 0x50 - adds r0, r4, r0 - ldr r1, [r0] - movs r0, 0x80 - lsls r0, 14 - ands r1, r0 - mov r12, r3 - mov r10, r2 - cmp r1, 0 - beq _080281CC - b _08028320 -_080281CC: - ldr r0, _08028304 @ =gUnknown_02024C2C - ldr r2, _08028308 @ =gBankTarget - ldrb r1, [r2] - lsls r1, 1 - adds r1, r0 - ldrh r1, [r1] - mov r9, r0 - mov r8, r2 - cmp r1, 0xA5 - bne _080281E2 - b _08028320 -_080281E2: - cmp r1, 0 - bne _080281E8 - b _08028320 -_080281E8: - cmp r1, r5 - bne _080281EE - b _08028320 -_080281EE: - cmp r1, 0xA6 - bne _080281F4 - b _08028320 -_080281F4: - movs r7, 0 - mov r5, r9 - mov r0, r12 - adds r0, 0xC - adds r1, r4, r0 - mov r3, r8 -_08028200: - ldrh r2, [r1] - cmp r2, 0xA6 - beq _08028212 - ldrb r0, [r3] - lsls r0, 1 - adds r0, r5 - ldrh r0, [r0] - cmp r2, r0 - beq _0802821A -_08028212: - adds r1, 0x2 - adds r7, 0x1 - cmp r7, 0x3 - ble _08028200 -_0802821A: - cmp r7, 0x4 - beq _08028220 - b _08028320 -_08028220: - ldr r4, _0802830C @ =gCurrMovePos - ldrb r1, [r4] - lsls r1, 1 - mov r2, r10 - ldrb r0, [r2] - movs r3, 0x58 - muls r0, r3 - adds r1, r0 - mov r6, r12 - adds r6, 0xC - adds r1, r6 - mov r2, r8 - ldrb r0, [r2] - lsls r0, 1 - add r0, r9 - ldrh r0, [r0] - strh r0, [r1] - mov r1, r10 - ldrb r0, [r1] - adds r2, r0, 0 - muls r2, r3 - ldrb r4, [r4] - adds r2, r4 - mov r5, r12 - adds r5, 0x24 - adds r2, r5 - ldr r4, _08028310 @ =gBattleMoves - mov r1, r8 - ldrb r0, [r1] - lsls r0, 1 - add r0, r9 - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x4] - strb r0, [r2] - ldr r1, _08028314 @ =gActiveBank - mov r2, r10 - ldrb r0, [r2] - strb r0, [r1] - movs r7, 0 - ldrb r0, [r2] - muls r0, r3 - adds r4, r0, r5 - adds r3, r0, 0 - add r2, sp, 0x4 - add r5, sp, 0xC -_08028282: - adds r0, r3, r6 - ldrh r0, [r0] - strh r0, [r2] - adds r1, r5, r7 - ldrb r0, [r4] - strb r0, [r1] - adds r4, 0x1 - adds r3, 0x2 - adds r2, 0x2 - adds r7, 0x1 - cmp r7, 0x3 - ble _08028282 - add r2, sp, 0x4 - mov r0, r10 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - add r0, r12 - adds r0, 0x3B - ldrb r0, [r0] - strb r0, [r2, 0xC] - str r2, [sp] - movs r0, 0 - movs r1, 0x3 - movs r2, 0 - movs r3, 0x10 - bl EmitSetAttributes - ldr r0, _08028314 @ =gActiveBank - ldrb r0, [r0] - bl MarkBufferBankForExecution - ldr r1, _08028318 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x2 - strb r0, [r1, 0x1] - ldr r3, _08028304 @ =gUnknown_02024C2C - ldr r2, _08028308 @ =gBankTarget - ldrb r0, [r2] - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - strb r0, [r1, 0x2] - ldrb r0, [r2] - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - lsrs r0, 8 - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldr r1, _0802831C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _0802833A - .align 2, 0 -_080282F4: .4byte gUnknown_02024BE8 -_080282F8: .4byte 0x0000ffff -_080282FC: .4byte gBattleMons -_08028300: .4byte gBankAttacker -_08028304: .4byte gUnknown_02024C2C -_08028308: .4byte gBankTarget -_0802830C: .4byte gCurrMovePos -_08028310: .4byte gBattleMoves -_08028314: .4byte gActiveBank -_08028318: .4byte gBattleTextBuff1 -_0802831C: .4byte gBattlescriptCurrInstr -_08028320: - ldr r3, _0802834C @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802833A: - 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 -_0802834C: .4byte gBattlescriptCurrInstr - thumb_func_end atkA8_copymovepermanently - - thumb_func_start sub_8028350 -sub_8028350: @ 8028350 - push {lr} - lsls r0, 16 - lsrs r0, 16 - ldr r2, _08028380 @ =gBattleMoves - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1] - cmp r0, 0x91 - beq _0802837A - cmp r0, 0x27 - beq _0802837A - cmp r0, 0x4B - beq _0802837A - cmp r0, 0x97 - beq _0802837A - cmp r0, 0x9B - beq _0802837A - cmp r0, 0x1A - bne _08028384 -_0802837A: - movs r0, 0x1 - b _08028386 - .align 2, 0 -_08028380: .4byte gBattleMoves -_08028384: - movs r0, 0 -_08028386: - pop {r1} - bx r1 - thumb_func_end sub_8028350 - - thumb_func_start sub_802838C -sub_802838C: @ 802838C - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - beq _080283AA - cmp r1, 0xD6 - beq _080283AA - movs r0, 0x89 - lsls r0, 1 - cmp r1, r0 - beq _080283AA - cmp r1, 0x77 - beq _080283AA - cmp r1, 0x76 - bne _080283AE -_080283AA: - movs r0, 0x1 - b _080283B0 -_080283AE: - movs r0, 0 -_080283B0: - pop {r1} - bx r1 - thumb_func_end sub_802838C - - thumb_func_start move_weather_interaction -move_weather_interaction: @ 80283B4 - push {lr} - lsls r1, 16 - lsrs r2, r1, 16 - ldr r1, _0802840C @ =gBattleMoves - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0] - adds r3, r1, 0 - cmp r0, 0x97 - bne _080283D8 - ldr r0, _08028410 @ =gBattleWeather - ldrh r1, [r0] - movs r0, 0x60 - ands r0, r1 - cmp r0, 0 - bne _08028418 -_080283D8: - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0] - cmp r0, 0x91 - beq _080283FA - cmp r0, 0x27 - beq _080283FA - cmp r0, 0x4B - beq _080283FA - cmp r0, 0x97 - beq _080283FA - cmp r0, 0x9B - beq _080283FA - cmp r0, 0x1A - bne _08028418 -_080283FA: - ldr r0, _08028414 @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 20 - ands r0, r1 - cmp r0, 0 - beq _08028418 - movs r0, 0x1 - b _0802841A - .align 2, 0 -_0802840C: .4byte gBattleMoves -_08028410: .4byte gBattleWeather -_08028414: .4byte gHitMarker -_08028418: - movs r0, 0x2 -_0802841A: - pop {r1} - bx r1 - thumb_func_end move_weather_interaction - - thumb_func_start sub_8028420 -sub_8028420: @ 8028420 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r6, 0 - movs r5, 0 - ldr r0, _080284B0 @ =gBankAttacker - mov r9, r0 - movs r1, 0x58 - mov r8, r1 - ldr r7, _080284B4 @ =gUnknown_02024A8C - movs r0, 0x84 - lsls r0, 1 - mov r10, r0 -_0802843E: - lsls r4, r5, 1 - mov r1, r9 - ldrb r0, [r1] - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - adds r0, r4, r0 - adds r0, r7 - ldrh r0, [r0] - bl sub_802838C - lsls r0, 24 - cmp r0, 0 - bne _0802847E - mov r1, r9 - ldrb r0, [r1] - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - adds r0, r4, r0 - adds r0, r7 - ldrh r1, [r0] - cmp r1, r10 - beq _0802847E - cmp r1, 0xFD - beq _0802847E - adds r0, r1, 0 - bl sub_8028350 - lsls r0, 24 - cmp r0, 0 - beq _0802848C -_0802847E: - ldr r1, _080284B8 @ =gBitTable - lsls r0, r5, 2 - adds r0, r1 - ldr r0, [r0] - orrs r6, r0 - lsls r0, r6, 24 - lsrs r6, r0, 24 -_0802848C: - adds r5, 0x1 - cmp r5, 0x3 - ble _0802843E - ldr r0, _080284B0 @ =gBankAttacker - ldrb r0, [r0] - adds r1, r6, 0 - movs r2, 0xFD - bl sub_8015A98 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0xF - bne _080284C0 - ldr r1, _080284BC @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _08028524 - .align 2, 0 -_080284B0: .4byte gBankAttacker -_080284B4: .4byte gUnknown_02024A8C -_080284B8: .4byte gBitTable -_080284BC: .4byte gBattlescriptCurrInstr -_080284C0: - movs r7, 0x3 - ldr r4, _08028534 @ =gBitTable -_080284C4: - bl Random - adds r5, r7, 0 - ands r5, r0 - lsls r0, r5, 2 - adds r0, r4 - ldr r0, [r0] - ands r0, r6 - cmp r0, 0 - bne _080284C4 - ldr r4, _08028538 @ =gUnknown_02024BEA - ldr r2, _0802853C @ =gBattleMons - lsls r1, r5, 1 - ldr r0, _08028540 @ =gBankAttacker - ldrb r3, [r0] - movs r0, 0x58 - muls r0, r3 - adds r1, r0 - adds r2, 0xC - adds r1, r2 - ldrh r0, [r1] - strh r0, [r4] - ldr r0, _08028544 @ =gCurrMovePos - strb r5, [r0] - ldr r2, _08028548 @ =gHitMarker - ldr r0, [r2] - ldr r1, _0802854C @ =0xfffffbff - ands r0, r1 - str r0, [r2] - ldrh r0, [r4] - movs r1, 0 - bl sub_801B5C0 - ldr r1, _08028550 @ =gBankTarget - strb r0, [r1] - ldr r3, _08028554 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_08028524: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08028534: .4byte gBitTable -_08028538: .4byte gUnknown_02024BEA -_0802853C: .4byte gBattleMons -_08028540: .4byte gBankAttacker -_08028544: .4byte gCurrMovePos -_08028548: .4byte gHitMarker -_0802854C: .4byte 0xfffffbff -_08028550: .4byte gBankTarget -_08028554: .4byte gBattlescriptCurrInstr - thumb_func_end sub_8028420 - - thumb_func_start sub_8028558 -sub_8028558: @ 8028558 - ldr r1, _0802857C @ =gBattleMons - ldr r0, _08028580 @ =gBankAttacker - ldrb r2, [r0] - movs r0, 0x58 - muls r2, r0 - adds r1, 0x50 - adds r2, r1 - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 18 - orrs r0, r1 - str r0, [r2] - ldr r1, _08028584 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .align 2, 0 -_0802857C: .4byte gBattleMons -_08028580: .4byte gBankAttacker -_08028584: .4byte gBattlescriptCurrInstr - thumb_func_end sub_8028558 - - thumb_func_start b_feature_update_destiny_bond -b_feature_update_destiny_bond: @ 8028588 - push {r4,r5,lr} - ldr r0, _080285D8 @ =gBankAttacker - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, _080285DC @ =gBankTarget - ldrb r0, [r4] - bl GetBankSide - lsls r0, 24 - lsrs r3, r0, 24 - ldr r1, _080285E0 @ =gBattleMons - ldrb r2, [r4] - movs r0, 0x58 - muls r0, r2 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 18 - ands r0, r1 - cmp r0, 0 - beq _080285D2 - cmp r5, r3 - beq _080285D2 - ldr r2, _080285E4 @ =gHitMarker - ldr r1, [r2] - movs r0, 0x80 - lsls r0, 17 - ands r0, r1 - cmp r0, 0 - bne _080285D2 - movs r0, 0x40 - orrs r1, r0 - str r1, [r2] -_080285D2: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080285D8: .4byte gBankAttacker -_080285DC: .4byte gBankTarget -_080285E0: .4byte gBattleMons -_080285E4: .4byte gHitMarker - thumb_func_end b_feature_update_destiny_bond - - thumb_func_start atkAB_802A458 -atkAB_802A458: @ 80285E8 - push {lr} - bl b_feature_update_destiny_bond - ldr r1, _080285FC @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_080285FC: .4byte gBattlescriptCurrInstr - thumb_func_end atkAB_802A458 - - thumb_func_start atkAC_remaininghptopower -atkAC_remaininghptopower: @ 8028600 - push {lr} - ldr r2, _08028654 @ =gBattleMons - ldr r0, _08028658 @ =gBankAttacker - ldrb r1, [r0] - movs r0, 0x58 - muls r1, r0 - adds r1, r2 - movs r2, 0x28 - ldrsh r0, [r1, r2] - movs r2, 0x2C - ldrsh r1, [r1, r2] - movs r2, 0x30 - bl GetScaledHPFraction - lsls r0, 24 - lsrs r1, r0, 24 - movs r3, 0 - ldr r0, _0802865C @ =gUnknown_081FAD26 - ldrb r2, [r0] - cmp r1, r2 - ble _0802863A - adds r2, r0, 0 -_0802862C: - adds r3, 0x2 - cmp r3, 0xB - bgt _0802863A - adds r0, r3, r2 - ldrb r0, [r0] - cmp r1, r0 - bgt _0802862C -_0802863A: - ldr r2, _08028660 @ =gDynamicBasePower - ldr r1, _0802865C @ =gUnknown_081FAD26 - adds r0, r3, 0x1 - adds r0, r1 - ldrb r0, [r0] - strh r0, [r2] - ldr r1, _08028664 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08028654: .4byte gBattleMons -_08028658: .4byte gBankAttacker -_0802865C: .4byte gUnknown_081FAD26 -_08028660: .4byte gDynamicBasePower -_08028664: .4byte gBattlescriptCurrInstr - thumb_func_end atkAC_remaininghptopower - - thumb_func_start sub_8028668 -sub_8028668: @ 8028668 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - ldr r4, _080287F8 @ =gLastUsedMove - ldr r1, _080287FC @ =gBankTarget - ldrb r2, [r1] - lsls r0, r2, 1 - adds r0, r4 - ldrh r3, [r0] - mov r8, r1 - cmp r3, 0 - bne _08028688 - b _08028828 -_08028688: - ldr r0, _08028800 @ =0x0000ffff - cmp r3, r0 - bne _08028690 - b _08028828 -_08028690: - ldr r1, _08028804 @ =gStatuses3 - lsls r0, r2, 2 - adds r0, r1 - ldr r0, [r0] - ldr r1, _08028808 @ =0x000400c0 - ands r0, r1 - cmp r0, 0 - beq _080286A2 - b _08028828 -_080286A2: - movs r7, 0 - ldr r0, _0802880C @ =gBattleMons - movs r1, 0x58 - muls r1, r2 - adds r2, r0, 0 - adds r2, 0xC - adds r1, r2 - ldrh r1, [r1] - cmp r3, r1 - beq _080286DA - adds r6, r4, 0 - mov r5, r8 - adds r4, r2, 0 - movs r3, 0x58 -_080286BE: - adds r7, 0x1 - cmp r7, 0x3 - bgt _080286DA - ldrb r0, [r5] - lsls r2, r0, 1 - adds r2, r6 - lsls r1, r7, 1 - muls r0, r3 - adds r1, r0 - adds r1, r4 - ldrh r0, [r2] - ldrh r1, [r1] - cmp r0, r1 - bne _080286BE -_080286DA: - cmp r7, 0x4 - bne _080286E0 - b _08028828 -_080286E0: - mov r4, r8 - ldrb r0, [r4] - movs r1, 0x58 - mov r9, r1 - mov r3, r9 - muls r3, r0 - adds r0, r3, 0 - adds r0, r7, r0 - ldr r1, _0802880C @ =gBattleMons - adds r1, 0x24 - mov r10, r1 - add r0, r10 - ldrb r0, [r0] - cmp r0, 0x1 - bhi _08028700 - b _08028828 -_08028700: - bl Random - movs r1, 0x3 - ands r1, r0 - adds r6, r1, 0x2 - ldrb r0, [r4] - mov r3, r9 - muls r3, r0 - adds r0, r3, 0 - adds r0, r7, r0 - add r0, r10 - ldrb r0, [r0] - cmp r0, r6 - bge _0802871E - adds r6, r0, 0 -_0802871E: - ldr r1, _08028810 @ =gBattleTextBuff1 - movs r5, 0xFD - strb r5, [r1] - movs r0, 0x2 - strb r0, [r1, 0x1] - ldr r2, _080287F8 @ =gLastUsedMove - mov r3, r8 - ldrb r0, [r3] - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - strb r0, [r1, 0x2] - ldrb r0, [r3] - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - lsrs r0, 8 - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldr r4, _08028814 @ =gBattleTextBuff2 - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0 - movs r3, 0x1 - bl ConvertIntToDecimalStringN - strb r5, [r4] - movs r0, 0x1 - strb r0, [r4, 0x1] - strb r0, [r4, 0x2] - strb r0, [r4, 0x3] - strb r6, [r4, 0x4] - subs r0, 0x2 - strb r0, [r4, 0x5] - mov r1, r8 - ldrb r0, [r1] - mov r1, r9 - muls r1, r0 - adds r1, r7, r1 - add r1, r10 - ldrb r0, [r1] - subs r0, r6 - strb r0, [r1] - ldr r4, _08028818 @ =gActiveBank - mov r3, r8 - ldrb r0, [r3] - strb r0, [r4] - ldr r1, _0802881C @ =gDisableStructs - ldrb r3, [r4] - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x18] - lsrs r1, 4 - ldr r2, _08028820 @ =gBitTable - lsls r0, r7, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _080287D2 - mov r2, r9 - muls r2, r3 - ldr r0, _0802880C @ =gBattleMons - adds r0, 0x50 - adds r0, r2, r0 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 14 - ands r0, r1 - cmp r0, 0 - bne _080287D2 - adds r1, r7, 0 - adds r1, 0x9 - lsls r1, 24 - lsrs r1, 24 - mov r3, r10 - adds r0, r2, r3 - adds r0, r7 - str r0, [sp] - movs r0, 0 - movs r2, 0 - movs r3, 0x1 - bl EmitSetAttributes - ldrb r0, [r4] - bl MarkBufferBankForExecution -_080287D2: - ldr r1, _08028824 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - ldr r1, _0802880C @ =gBattleMons - ldr r0, _080287FC @ =gBankTarget - ldrb r2, [r0] - movs r0, 0x58 - muls r0, r2 - adds r0, r7, r0 - adds r1, 0x24 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _08028842 - adds r0, r2, 0 - bl CancelMultiTurnMoves - b _08028842 - .align 2, 0 -_080287F8: .4byte gLastUsedMove -_080287FC: .4byte gBankTarget -_08028800: .4byte 0x0000ffff -_08028804: .4byte gStatuses3 -_08028808: .4byte 0x000400c0 -_0802880C: .4byte gBattleMons -_08028810: .4byte gBattleTextBuff1 -_08028814: .4byte gBattleTextBuff2 -_08028818: .4byte gActiveBank -_0802881C: .4byte gDisableStructs -_08028820: .4byte gBitTable -_08028824: .4byte gBattlescriptCurrInstr -_08028828: - ldr r3, _08028854 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_08028842: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08028854: .4byte gBattlescriptCurrInstr - thumb_func_end sub_8028668 - - thumb_func_start sub_8028858 -sub_8028858: @ 8028858 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x8 - movs r4, 0 - str r4, [sp, 0x4] - movs r7, 0 - ldr r0, _080288AC @ =gCurrentMove - ldrh r0, [r0] - cmp r0, 0xD7 - beq _08028872 - b _08028A26 -_08028872: - ldr r5, _080288B0 @ =gBattleCommunication - strb r7, [r5, 0x5] - ldr r6, _080288B4 @ =gBankAttacker - ldrb r0, [r6] - bl GetBankSide - lsls r0, 24 - ldr r1, _080288B8 @ =gEnemyParty - mov r9, r1 - cmp r0, 0 - bne _0802888C - ldr r2, _080288BC @ =gPlayerParty - mov r9, r2 -_0802888C: - ldr r4, _080288C0 @ =gBattleMons - ldrb r3, [r6] - movs r0, 0x58 - adds r2, r3, 0 - muls r2, r0 - adds r0, r2, r4 - adds r1, r0, 0 - adds r1, 0x20 - ldrb r0, [r1] - cmp r0, 0x2B - beq _080288C4 - adds r0, r4, 0 - adds r0, 0x4C - adds r0, r2, r0 - str r7, [r0] - b _080288D4 - .align 2, 0 -_080288AC: .4byte gCurrentMove -_080288B0: .4byte gBattleCommunication -_080288B4: .4byte gBankAttacker -_080288B8: .4byte gEnemyParty -_080288BC: .4byte gPlayerParty -_080288C0: .4byte gBattleMons -_080288C4: - ldrb r1, [r1] - adds r0, r3, 0 - bl RecordAbilityBattle - ldrb r0, [r5, 0x5] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r5, 0x5] -_080288D4: - ldr r4, _08028934 @ =gActiveBank - ldr r0, _08028938 @ =gBankAttacker - ldrb r0, [r0] - bl GetBankIdentity - movs r6, 0x2 - eors r0, r6 - lsls r0, 24 - lsrs r0, 24 - bl GetBankByPlayerAI - ldr r1, _0802893C @ =0x02000000 - ldr r2, _08028940 @ =0x00016003 - adds r1, r2 - strb r0, [r1] - strb r0, [r4] - ldr r0, _08028944 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08028964 - ldr r0, _08028948 @ =gAbsentBankFlags - ldrb r2, [r0] - ldr r1, _0802894C @ =gBitTable - ldrb r3, [r4] - lsls r0, r3, 2 - adds r0, r1 - ldr r0, [r0] - ands r2, r0 - cmp r2, 0 - bne _08028964 - ldr r5, _08028950 @ =gBattleMons - movs r0, 0x58 - adds r4, r3, 0 - muls r4, r0 - adds r0, r4, r5 - adds r1, r0, 0 - adds r1, 0x20 - ldrb r0, [r1] - cmp r0, 0x2B - beq _08028954 - adds r0, r5, 0 - adds r0, 0x4C - adds r0, r4, r0 - str r2, [r0] - b _08028964 - .align 2, 0 -_08028934: .4byte gActiveBank -_08028938: .4byte gBankAttacker -_0802893C: .4byte 0x02000000 -_08028940: .4byte 0x00016003 -_08028944: .4byte gBattleTypeFlags -_08028948: .4byte gAbsentBankFlags -_0802894C: .4byte gBitTable -_08028950: .4byte gBattleMons -_08028954: - ldrb r1, [r1] - adds r0, r3, 0 - bl RecordAbilityBattle - ldr r1, _080289AC @ =gBattleCommunication - ldrb r0, [r1, 0x5] - orrs r0, r6 - strb r0, [r1, 0x5] -_08028964: - movs r6, 0 - ldr r0, _080289B0 @ =gBattleMons - mov r8, r0 -_0802896A: - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - add r4, r9 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0 - movs r1, 0x2E - bl GetMonData - lsls r0, 24 - lsrs r4, r0, 24 - cmp r5, 0 - beq _08028A1E - movs r0, 0xCE - lsls r0, 1 - cmp r5, r0 - beq _08028A1E - ldr r2, _080289B4 @ =gBattlePartyID - ldr r0, _080289B8 @ =gBankAttacker - ldrb r1, [r0] - lsls r0, r1, 1 - adds r0, r2 - ldrh r0, [r0] - cmp r0, r6 - bne _080289BC - movs r0, 0x58 - muls r0, r1 - b _080289EC - .align 2, 0 -_080289AC: .4byte gBattleCommunication -_080289B0: .4byte gBattleMons -_080289B4: .4byte gBattlePartyID -_080289B8: .4byte gBankAttacker -_080289BC: - ldr r0, _080289F4 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08028A04 - ldr r0, _080289F8 @ =gActiveBank - ldrb r3, [r0] - lsls r0, r3, 1 - adds r0, r2 - ldrh r0, [r0] - cmp r0, r6 - bne _08028A04 - ldr r0, _080289FC @ =gAbsentBankFlags - ldrb r1, [r0] - ldr r2, _08028A00 @ =gBitTable - lsls r0, r3, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _08028A04 - movs r0, 0x58 - muls r0, r3 -_080289EC: - add r0, r8 - adds r0, 0x20 - ldrb r0, [r0] - b _08028A10 - .align 2, 0 -_080289F4: .4byte gBattleTypeFlags -_080289F8: .4byte gActiveBank -_080289FC: .4byte gAbsentBankFlags -_08028A00: .4byte gBitTable -_08028A04: - adds r0, r5, 0 - adds r1, r4, 0 - bl GetAbilityBySpecies - lsls r0, 24 - lsrs r0, 24 -_08028A10: - cmp r0, 0x2B - beq _08028A1E - movs r0, 0x1 - lsls r0, r6 - orrs r7, r0 - lsls r0, r7, 24 - lsrs r7, r0, 24 -_08028A1E: - adds r6, 0x1 - cmp r6, 0x5 - ble _0802896A - b _08028A7E -_08028A26: - ldr r1, _08028AB4 @ =gBattleCommunication - movs r0, 0x4 - strb r0, [r1, 0x5] - movs r7, 0x3F - ldr r2, _08028AB8 @ =gBattleMons - ldr r1, _08028ABC @ =gBankAttacker - ldrb r0, [r1] - movs r6, 0x58 - muls r0, r6 - adds r5, r2, 0 - adds r5, 0x4C - adds r0, r5 - str r4, [r0] - ldrb r0, [r1] - bl GetBankIdentity - movs r1, 0x2 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - bl GetBankByPlayerAI - ldr r3, _08028AC0 @ =gActiveBank - strb r0, [r3] - ldr r0, _08028AC4 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08028A7E - ldr r0, _08028AC8 @ =gAbsentBankFlags - ldrb r2, [r0] - ldr r1, _08028ACC @ =gBitTable - ldrb r3, [r3] - lsls r0, r3, 2 - adds r0, r1 - ldr r0, [r0] - ands r2, r0 - cmp r2, 0 - bne _08028A7E - adds r0, r3, 0 - muls r0, r6 - adds r0, r5 - str r2, [r0] -_08028A7E: - ldr r4, _08028AC0 @ =gActiveBank - ldr r0, _08028ABC @ =gBankAttacker - ldrb r0, [r0] - strb r0, [r4] - add r1, sp, 0x4 - str r1, [sp] - movs r0, 0 - movs r1, 0x28 - adds r2, r7, 0 - movs r3, 0x4 - bl EmitSetAttributes - ldrb r0, [r4] - bl MarkBufferBankForExecution - ldr r1, _08028AD0 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08028AB4: .4byte gBattleCommunication -_08028AB8: .4byte gBattleMons -_08028ABC: .4byte gBankAttacker -_08028AC0: .4byte gActiveBank -_08028AC4: .4byte gBattleTypeFlags -_08028AC8: .4byte gAbsentBankFlags -_08028ACC: .4byte gBitTable -_08028AD0: .4byte gBattlescriptCurrInstr - thumb_func_end sub_8028858 - - thumb_func_start sub_8028AD4 -sub_8028AD4: @ 8028AD4 - push {r4-r7,lr} - ldr r7, _08028B24 @ =gBattleMons - ldr r0, _08028B28 @ =gBankTarget - ldrb r3, [r0] - movs r6, 0x58 - adds r1, r3, 0 - muls r1, r6 - adds r0, r7, 0 - adds r0, 0x50 - adds r4, r1, r0 - ldr r2, [r4] - movs r5, 0x80 - lsls r5, 21 - adds r0, r2, 0 - ands r0, r5 - cmp r0, 0 - bne _08028B06 - ldr r1, _08028B2C @ =gStatuses3 - lsls r0, r3, 2 - adds r0, r1 - ldr r0, [r0] - ldr r1, _08028B30 @ =0x000400c0 - ands r0, r1 - cmp r0, 0 - beq _08028B38 -_08028B06: - ldr r3, _08028B34 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08028B5C - .align 2, 0 -_08028B24: .4byte gBattleMons -_08028B28: .4byte gBankTarget -_08028B2C: .4byte gStatuses3 -_08028B30: .4byte 0x000400c0 -_08028B34: .4byte gBattlescriptCurrInstr -_08028B38: - orrs r2, r5 - str r2, [r4] - ldr r1, _08028B64 @ =gBattleMoveDamage - ldr r0, _08028B68 @ =gBankAttacker - ldrb r0, [r0] - muls r0, r6 - adds r0, r7 - ldrh r0, [r0, 0x2C] - lsrs r0, 1 - str r0, [r1] - cmp r0, 0 - bne _08028B54 - movs r0, 0x1 - str r0, [r1] -_08028B54: - ldr r1, _08028B6C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_08028B5C: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08028B64: .4byte gBattleMoveDamage -_08028B68: .4byte gBankAttacker -_08028B6C: .4byte gBattlescriptCurrInstr - thumb_func_end sub_8028AD4 - - thumb_func_start sub_8028B70 -sub_8028B70: @ 8028B70 - push {r4,lr} - ldr r4, _08028BC4 @ =gBankAttacker - ldrb r0, [r4] - bl GetBankSide - movs r1, 0x1 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08028BC8 @ =gSideTimer - lsls r2, r0, 1 - adds r0, r2, r0 - lsls r0, 2 - adds r3, r0, r1 - ldrb r0, [r3, 0x6] - cmp r0, 0x3 - bne _08028BD4 - ldr r2, _08028BCC @ =gSpecialStatuses - ldrb r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0] - ldr r3, _08028BD0 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08028BEE - .align 2, 0 -_08028BC4: .4byte gBankAttacker -_08028BC8: .4byte gSideTimer -_08028BCC: .4byte gSpecialStatuses -_08028BD0: .4byte gBattlescriptCurrInstr -_08028BD4: - ldr r1, _08028BF4 @ =gSideAffecting - adds r1, r2, r1 - ldrh r2, [r1] - movs r0, 0x10 - orrs r0, r2 - strh r0, [r1] - ldrb r0, [r3, 0x6] - adds r0, 0x1 - strb r0, [r3, 0x6] - ldr r1, _08028BF8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_08028BEE: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08028BF4: .4byte gSideAffecting -_08028BF8: .4byte gBattlescriptCurrInstr - thumb_func_end sub_8028B70 - - thumb_func_start sub_8028BFC -sub_8028BFC: @ 8028BFC - ldr r1, _08028C20 @ =gBattleMons - ldr r0, _08028C24 @ =gBankTarget - ldrb r2, [r0] - movs r0, 0x58 - muls r2, r0 - adds r1, 0x50 - adds r2, r1 - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 22 - orrs r0, r1 - str r0, [r2] - ldr r1, _08028C28 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .align 2, 0 -_08028C20: .4byte gBattleMons -_08028C24: .4byte gBankTarget -_08028C28: .4byte gBattlescriptCurrInstr - thumb_func_end sub_8028BFC - - thumb_func_start atkB2_setperishsong -atkB2_setperishsong: @ 8028C2C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r6, 0 - movs r3, 0 - ldr r0, _08028C70 @ =gNoOfAllBanks - adds r7, r0, 0 - ldr r0, _08028C74 @ =gBankAttacker - mov r8, r0 - ldrb r1, [r7] - cmp r6, r1 - bge _08028C98 - movs r5, 0x20 - ldr r0, _08028C78 @ =gBattleMons - mov r12, r0 - ldr r0, _08028C7C @ =gDisableStructs - adds r4, r0, 0 - adds r4, 0xF - ldr r2, _08028C80 @ =gStatuses3 -_08028C54: - ldr r1, [r2] - adds r0, r1, 0 - ands r0, r5 - cmp r0, 0 - bne _08028C6C - movs r0, 0x58 - muls r0, r3 - add r0, r12 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x2B - bne _08028C84 -_08028C6C: - adds r6, 0x1 - b _08028C8C - .align 2, 0 -_08028C70: .4byte gNoOfAllBanks -_08028C74: .4byte gBankAttacker -_08028C78: .4byte gBattleMons -_08028C7C: .4byte gDisableStructs -_08028C80: .4byte gStatuses3 -_08028C84: - orrs r1, r5 - str r1, [r2] - movs r0, 0x33 - strb r0, [r4] -_08028C8C: - adds r4, 0x1C - adds r2, 0x4 - adds r3, 0x1 - ldrb r0, [r7] - cmp r3, r0 - blt _08028C54 -_08028C98: - mov r1, r8 - ldrb r0, [r1] - bl sub_80153D0 - ldr r0, _08028CC4 @ =gNoOfAllBanks - ldrb r0, [r0] - cmp r6, r0 - bne _08028CCC - ldr r3, _08028CC8 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08028CD4 - .align 2, 0 -_08028CC4: .4byte gNoOfAllBanks -_08028CC8: .4byte gBattlescriptCurrInstr -_08028CCC: - ldr r1, _08028CE0 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_08028CD4: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08028CE0: .4byte gBattlescriptCurrInstr - thumb_func_end atkB2_setperishsong - - thumb_func_start atkB3_rolloutdamagecalculation -atkB3_rolloutdamagecalculation: @ 8028CE4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r0, _08028D08 @ =gBattleMoveFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - beq _08028D18 - ldr r0, _08028D0C @ =gBankAttacker - ldrb r0, [r0] - bl CancelMultiTurnMoves - ldr r1, _08028D10 @ =gBattlescriptCurrInstr - ldr r0, _08028D14 @ =BattleScript_1D6F74 - str r0, [r1] - b _08028E30 - .align 2, 0 -_08028D08: .4byte gBattleMoveFlags -_08028D0C: .4byte gBankAttacker -_08028D10: .4byte gBattlescriptCurrInstr -_08028D14: .4byte BattleScript_1D6F74 -_08028D18: - ldr r2, _08028E3C @ =gBattleMons - ldr r1, _08028E40 @ =gBankAttacker - ldrb r3, [r1] - movs r5, 0x58 - adds r0, r3, 0 - muls r0, r5 - adds r4, r2, 0 - adds r4, 0x50 - adds r0, r4 - ldr r0, [r0] - movs r7, 0x80 - lsls r7, 5 - ands r0, r7 - adds r6, r1, 0 - mov r9, r2 - ldr r1, _08028E44 @ =gDisableStructs - mov r12, r1 - ldr r2, _08028E48 @ =gCurrentMove - mov r8, r2 - cmp r0, 0 - bne _08028D8A - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - add r0, r12 - ldrb r2, [r0, 0x11] - movs r1, 0x10 - negs r1, r1 - ands r1, r2 - movs r2, 0x5 - orrs r1, r2 - strb r1, [r0, 0x11] - ldrb r1, [r6] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - add r0, r12 - ldrb r2, [r0, 0x11] - movs r1, 0xF - ands r1, r2 - movs r2, 0x50 - orrs r1, r2 - strb r1, [r0, 0x11] - ldrb r0, [r6] - adds r1, r0, 0 - muls r1, r5 - adds r1, r4 - ldr r0, [r1] - orrs r0, r7 - str r0, [r1] - ldr r1, _08028E4C @ =gLockedMove - ldrb r0, [r6] - lsls r0, 1 - adds r0, r1 - mov r2, r8 - ldrh r1, [r2] - strh r1, [r0] -_08028D8A: - ldrb r0, [r6] - lsls r2, r0, 3 - subs r2, r0 - lsls r2, 2 - add r2, r12 - ldrb r3, [r2, 0x11] - lsls r1, r3, 28 - lsrs r1, 28 - subs r1, 0x1 - movs r0, 0xF - ands r1, r0 - movs r0, 0x10 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x11] - cmp r1, 0 - bne _08028DBE - ldrb r0, [r6] - adds r1, r0, 0 - muls r1, r5 - adds r1, r4 - ldr r0, [r1] - ldr r2, _08028E50 @ =0xffffefff - ands r0, r2 - str r0, [r1] -_08028DBE: - ldr r3, _08028E54 @ =gDynamicBasePower - ldr r2, _08028E58 @ =gBattleMoves - mov r0, r8 - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - strh r0, [r3] - movs r2, 0x1 - ldrb r1, [r6] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - mov r1, r12 - adds r4, r0, r1 - ldrb r0, [r4, 0x11] - lsls r0, 28 - lsrs r0, 28 - movs r1, 0x5 - subs r1, r0 - ldr r7, _08028E5C @ =gBattlescriptCurrInstr - adds r5, r3, 0 - cmp r2, r1 - bge _08028E0C - adds r1, r5, 0 - adds r3, r4, 0 - movs r4, 0x5 -_08028DF8: - ldrh r0, [r1] - lsls r0, 1 - strh r0, [r1] - adds r2, 0x1 - ldrb r0, [r3, 0x11] - lsls r0, 28 - lsrs r0, 28 - subs r0, r4, r0 - cmp r2, r0 - blt _08028DF8 -_08028E0C: - ldrb r1, [r6] - movs r0, 0x58 - muls r0, r1 - mov r1, r9 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 23 - ands r0, r1 - cmp r0, 0 - beq _08028E2A - ldrh r0, [r5] - lsls r0, 1 - strh r0, [r5] -_08028E2A: - ldr r0, [r7] - adds r0, 0x1 - str r0, [r7] -_08028E30: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08028E3C: .4byte gBattleMons -_08028E40: .4byte gBankAttacker -_08028E44: .4byte gDisableStructs -_08028E48: .4byte gCurrentMove -_08028E4C: .4byte gLockedMove -_08028E50: .4byte 0xffffefff -_08028E54: .4byte gDynamicBasePower -_08028E58: .4byte gBattleMoves -_08028E5C: .4byte gBattlescriptCurrInstr - thumb_func_end atkB3_rolloutdamagecalculation - - thumb_func_start atkB4_jumpifconfusedandattackmaxed -atkB4_jumpifconfusedandattackmaxed: @ 8028E60 - push {r4,r5,lr} - ldr r5, _08028EB0 @ =gBattleMons - ldr r0, _08028EB4 @ =gBankTarget - ldrb r1, [r0] - movs r0, 0x58 - adds r3, r1, 0 - muls r3, r0 - adds r0, r5, 0 - adds r0, 0x50 - adds r0, r3, r0 - ldr r0, [r0] - movs r1, 0x7 - ands r0, r1 - ldr r4, _08028EB8 @ =gBattlescriptCurrInstr - cmp r0, 0 - beq _08028EBC - ldr r2, [r4] - ldrb r0, [r2, 0x1] - adds r0, r3 - adds r1, r5, 0 - adds r1, 0x18 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0xC - bne _08028EBC - ldrb r1, [r2, 0x2] - ldrb r0, [r2, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08028EC2 - .align 2, 0 -_08028EB0: .4byte gBattleMons -_08028EB4: .4byte gBankTarget -_08028EB8: .4byte gBattlescriptCurrInstr -_08028EBC: - ldr r0, [r4] - adds r0, 0x6 - str r0, [r4] -_08028EC2: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end atkB4_jumpifconfusedandattackmaxed - - thumb_func_start sub_8028EC8 -sub_8028EC8: @ 8028EC8 - push {r4,r5,lr} - ldr r0, _08028EF0 @ =gBattleMoveFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - beq _08028F04 - ldr r2, _08028EF4 @ =gDisableStructs - ldr r0, _08028EF8 @ =gBankAttacker - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strb r1, [r0, 0x10] - ldr r1, _08028EFC @ =gBattlescriptCurrInstr - ldr r0, _08028F00 @ =BattleScript_1D6F74 - str r0, [r1] - b _08028F5C - .align 2, 0 -_08028EF0: .4byte gBattleMoveFlags -_08028EF4: .4byte gDisableStructs -_08028EF8: .4byte gBankAttacker -_08028EFC: .4byte gBattlescriptCurrInstr -_08028F00: .4byte BattleScript_1D6F74 -_08028F04: - ldr r5, _08028F64 @ =gDisableStructs - ldr r4, _08028F68 @ =gBankAttacker - ldrb r1, [r4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r1, r0, r5 - ldrb r0, [r1, 0x10] - cmp r0, 0x5 - beq _08028F1C - adds r0, 0x1 - strb r0, [r1, 0x10] -_08028F1C: - ldr r3, _08028F6C @ =gDynamicBasePower - ldr r2, _08028F70 @ =gBattleMoves - ldr r0, _08028F74 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - strh r0, [r3] - movs r2, 0x1 - ldrb r1, [r4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r5 - ldr r4, _08028F78 @ =gBattlescriptCurrInstr - ldrb r1, [r0, 0x10] - cmp r2, r1 - bge _08028F56 - adds r1, r3, 0 - adds r3, r0, 0 -_08028F48: - ldrh r0, [r1] - lsls r0, 1 - strh r0, [r1] - adds r2, 0x1 - ldrb r0, [r3, 0x10] - cmp r2, r0 - blt _08028F48 -_08028F56: - ldr r0, [r4] - adds r0, 0x1 - str r0, [r4] -_08028F5C: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08028F64: .4byte gDisableStructs -_08028F68: .4byte gBankAttacker -_08028F6C: .4byte gDynamicBasePower -_08028F70: .4byte gBattleMoves -_08028F74: .4byte gCurrentMove -_08028F78: .4byte gBattlescriptCurrInstr - thumb_func_end sub_8028EC8 - - thumb_func_start atkB6_happinesstodamagecalculation -atkB6_happinesstodamagecalculation: @ 8028F7C - push {r4,lr} - ldr r2, _08028FA8 @ =gBattleMoves - ldr r0, _08028FAC @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0x79 - bne _08028FBC - ldr r4, _08028FB0 @ =gDynamicBasePower - ldr r2, _08028FB4 @ =gBattleMons - ldr r0, _08028FB8 @ =gBankAttacker - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x2B - ldrb r1, [r0] - b _08028FD2 - .align 2, 0 -_08028FA8: .4byte gBattleMoves -_08028FAC: .4byte gCurrentMove -_08028FB0: .4byte gDynamicBasePower -_08028FB4: .4byte gBattleMons -_08028FB8: .4byte gBankAttacker -_08028FBC: - ldr r4, _08028FF0 @ =gDynamicBasePower - ldr r2, _08028FF4 @ =gBattleMons - ldr r0, _08028FF8 @ =gBankAttacker - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x2B - ldrb r0, [r0] - movs r1, 0xFF - subs r1, r0 -_08028FD2: - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 1 - movs r1, 0x19 - bl __divsi3 - strh r0, [r4] - ldr r1, _08028FFC @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08028FF0: .4byte gDynamicBasePower -_08028FF4: .4byte gBattleMons -_08028FF8: .4byte gBankAttacker -_08028FFC: .4byte gBattlescriptCurrInstr - thumb_func_end atkB6_happinesstodamagecalculation - - thumb_func_start atkB7_presentdamagecalculation -atkB7_presentdamagecalculation: @ 8029000 - push {r4,lr} - bl Random - movs r4, 0xFF - ands r4, r0 - cmp r4, 0x65 - bgt _0802901C - ldr r1, _08029018 @ =gDynamicBasePower - movs r0, 0x28 - strh r0, [r1] - b _0802905E - .align 2, 0 -_08029018: .4byte gDynamicBasePower -_0802901C: - cmp r4, 0xB1 - bgt _0802902C - ldr r1, _08029028 @ =gDynamicBasePower - movs r0, 0x50 - strh r0, [r1] - b _0802905E - .align 2, 0 -_08029028: .4byte gDynamicBasePower -_0802902C: - cmp r4, 0xCB - bgt _0802903C - ldr r1, _08029038 @ =gDynamicBasePower - movs r0, 0x78 - strh r0, [r1] - b _0802905E - .align 2, 0 -_08029038: .4byte gDynamicBasePower -_0802903C: - ldr r3, _08029068 @ =gBattleMoveDamage - ldr r2, _0802906C @ =gBattleMons - ldr r0, _08029070 @ =gBankTarget - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrh r0, [r0, 0x2C] - lsrs r0, 2 - str r0, [r3] - cmp r0, 0 - bne _08029058 - movs r0, 0x1 - str r0, [r3] -_08029058: - ldr r0, [r3] - negs r0, r0 - str r0, [r3] -_0802905E: - cmp r4, 0xCB - bgt _0802907C - ldr r1, _08029074 @ =gBattlescriptCurrInstr - ldr r0, _08029078 @ =BattleScript_1D6F44 - b _080290AC - .align 2, 0 -_08029068: .4byte gBattleMoveDamage -_0802906C: .4byte gBattleMons -_08029070: .4byte gBankTarget -_08029074: .4byte gBattlescriptCurrInstr -_08029078: .4byte BattleScript_1D6F44 -_0802907C: - ldr r2, _08029098 @ =gBattleMons - ldr r0, _0802909C @ =gBankTarget - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrh r1, [r0, 0x2C] - ldrh r0, [r0, 0x28] - cmp r1, r0 - bne _080290A8 - ldr r1, _080290A0 @ =gBattlescriptCurrInstr - ldr r0, _080290A4 @ =BattleScript_1D83B5 - b _080290AC - .align 2, 0 -_08029098: .4byte gBattleMons -_0802909C: .4byte gBankTarget -_080290A0: .4byte gBattlescriptCurrInstr -_080290A4: .4byte BattleScript_1D83B5 -_080290A8: - ldr r1, _080290B4 @ =gBattlescriptCurrInstr - ldr r0, _080290B8 @ =BattleScript_1D839B -_080290AC: - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080290B4: .4byte gBattlescriptCurrInstr -_080290B8: .4byte BattleScript_1D839B - thumb_func_end atkB7_presentdamagecalculation - - thumb_func_start sub_80290BC -sub_80290BC: @ 80290BC - push {r4-r6,lr} - ldr r4, _080290F0 @ =gBankAttacker - ldrb r0, [r4] - bl GetBankIdentity - ldr r6, _080290F4 @ =gSideAffecting - movs r5, 0x1 - adds r1, r5, 0 - ands r1, r0 - lsls r1, 1 - adds r1, r6 - ldrh r1, [r1] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _08029100 - ldr r2, _080290F8 @ =gBattleMoveFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - ldr r1, _080290FC @ =gBattleCommunication - movs r0, 0 - strb r0, [r1, 0x5] - b _08029132 - .align 2, 0 -_080290F0: .4byte gBankAttacker -_080290F4: .4byte gSideAffecting -_080290F8: .4byte gBattleMoveFlags -_080290FC: .4byte gBattleCommunication -_08029100: - ldrb r0, [r4] - bl GetBankIdentity - adds r1, r5, 0 - ands r1, r0 - lsls r1, 1 - adds r1, r6 - ldrh r0, [r1] - movs r2, 0x20 - orrs r0, r2 - strh r0, [r1] - ldrb r0, [r4] - bl GetBankIdentity - ldr r2, _08029140 @ =gSideTimer - adds r1, r5, 0 - ands r1, r0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x5 - strb r1, [r0, 0x7] - ldr r0, _08029144 @ =gBattleCommunication - strb r1, [r0, 0x5] -_08029132: - ldr r1, _08029148 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08029140: .4byte gSideTimer -_08029144: .4byte gBattleCommunication -_08029148: .4byte gBattlescriptCurrInstr - thumb_func_end sub_80290BC - - thumb_func_start atkB9_magnitudedamagecalculation -atkB9_magnitudedamagecalculation: @ 802914C - push {r4-r7,lr} - mov r7, r8 - push {r7} - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x4 - bgt _08029178 - ldr r1, _08029174 @ =gDynamicBasePower - movs r0, 0xA - strh r0, [r1] - movs r3, 0x4 - b _080291E4 - .align 2, 0 -_08029174: .4byte gDynamicBasePower -_08029178: - cmp r3, 0xE - bgt _0802918C - ldr r1, _08029188 @ =gDynamicBasePower - movs r0, 0x1E - strh r0, [r1] - movs r3, 0x5 - b _080291E4 - .align 2, 0 -_08029188: .4byte gDynamicBasePower -_0802918C: - cmp r3, 0x22 - bgt _080291A0 - ldr r1, _0802919C @ =gDynamicBasePower - movs r0, 0x32 - strh r0, [r1] - movs r3, 0x6 - b _080291E4 - .align 2, 0 -_0802919C: .4byte gDynamicBasePower -_080291A0: - cmp r3, 0x40 - bgt _080291B4 - ldr r1, _080291B0 @ =gDynamicBasePower - movs r0, 0x46 - strh r0, [r1] - movs r3, 0x7 - b _080291E4 - .align 2, 0 -_080291B0: .4byte gDynamicBasePower -_080291B4: - cmp r3, 0x54 - bgt _080291C8 - ldr r1, _080291C4 @ =gDynamicBasePower - movs r0, 0x5A - strh r0, [r1] - movs r3, 0x8 - b _080291E4 - .align 2, 0 -_080291C4: .4byte gDynamicBasePower -_080291C8: - cmp r3, 0x5E - bgt _080291DC - ldr r1, _080291D8 @ =gDynamicBasePower - movs r0, 0x6E - strh r0, [r1] - movs r3, 0x9 - b _080291E4 - .align 2, 0 -_080291D8: .4byte gDynamicBasePower -_080291DC: - ldr r1, _08029250 @ =gDynamicBasePower - movs r0, 0x96 - strh r0, [r1] - movs r3, 0xA -_080291E4: - ldr r1, _08029254 @ =gBattleTextBuff1 - movs r2, 0 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x1 - strb r0, [r1, 0x1] - strb r0, [r1, 0x2] - movs r0, 0x2 - strb r0, [r1, 0x3] - strb r3, [r1, 0x4] - movs r0, 0xFF - strb r0, [r1, 0x5] - ldr r1, _08029258 @ =gBankTarget - strb r2, [r1] - ldr r0, _0802925C @ =gNoOfAllBanks - ldrb r3, [r0] - adds r6, r1, 0 - ldr r0, _08029260 @ =gBattlescriptCurrInstr - mov r8, r0 - cmp r2, r3 - bcs _0802923C - adds r4, r6, 0 - ldr r0, _08029264 @ =gBankAttacker - ldrb r5, [r0] - ldr r1, _08029268 @ =gBitTable - mov r12, r1 - ldr r7, _0802926C @ =gAbsentBankFlags -_0802921A: - ldrb r2, [r4] - cmp r2, r5 - beq _08029230 - ldrb r0, [r7] - ldrb r1, [r6] - lsls r1, 2 - add r1, r12 - ldr r1, [r1] - ands r0, r1 - cmp r0, 0 - beq _0802923C -_08029230: - adds r0, r2, 0x1 - strb r0, [r4] - lsls r0, 24 - lsrs r0, 24 - cmp r0, r3 - bcc _0802921A -_0802923C: - mov r1, r8 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08029250: .4byte gDynamicBasePower -_08029254: .4byte gBattleTextBuff1 -_08029258: .4byte gBankTarget -_0802925C: .4byte gNoOfAllBanks -_08029260: .4byte gBattlescriptCurrInstr -_08029264: .4byte gBankAttacker -_08029268: .4byte gBitTable -_0802926C: .4byte gAbsentBankFlags - thumb_func_end atkB9_magnitudedamagecalculation - - thumb_func_start sub_8029270 -sub_8029270: @ 8029270 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r0, _08029294 @ =gMultiHitCounter - ldrb r0, [r0] - cmp r0, 0x1 - bne _080292A0 - ldr r0, _08029298 @ =gBankAttacker - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _0802929C - movs r0, 0x1 - b _080292BA - .align 2, 0 -_08029294: .4byte gMultiHitCounter -_08029298: .4byte gBankAttacker -_0802929C: - movs r0, 0 - b _080292BA -_080292A0: - ldr r0, _080292B4 @ =gBankAttacker - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _080292B8 - movs r0, 0x3 - b _080292BA - .align 2, 0 -_080292B4: .4byte gBankAttacker -_080292B8: - movs r0, 0x2 -_080292BA: - bl GetBankByPlayerAI - ldr r1, _0802937C @ =gBankTarget - strb r0, [r1] - ldr r0, _08029380 @ =gActionForBanks - ldr r1, _0802937C @ =gBankTarget - mov r9, r1 - ldrb r3, [r1] - adds r0, r3, r0 - ldrb r0, [r0] - cmp r0, 0 - bne _080293BC - ldr r5, _08029384 @ =gBankAttacker - ldr r0, _08029388 @ =0x02000000 - ldr r2, _0802938C @ =0x00016010 - adds r1, r3, r2 - adds r1, r0 - ldrb r2, [r5] - mov r10, r0 - ldrb r1, [r1] - cmp r2, r1 - bne _080293BC - ldr r4, _08029390 @ =gBattleMons - movs r2, 0x58 - adds r0, r3, 0 - muls r0, r2 - adds r1, r4, 0 - adds r1, 0x4C - adds r0, r1 - ldr r0, [r0] - movs r1, 0x27 - ands r0, r1 - cmp r0, 0 - bne _080293BC - ldrb r0, [r5] - muls r0, r2 - adds r0, r4 - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _080293BC - ldr r0, _08029394 @ =gDisableStructs - lsls r1, r3, 3 - subs r1, r3 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x18] - lsls r0, 31 - cmp r0, 0 - bne _080293BC - ldr r0, _08029398 @ =gChosenMovesByBanks - lsls r1, r3, 1 - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0xE4 - bne _080293BC - movs r1, 0 - ldr r0, _0802939C @ =gNoOfAllBanks - ldr r7, _080293A0 @ =gCurrentMove - mov r8, r7 - ldr r2, _080293A4 @ =gHitMarker - mov r12, r2 - ldrb r7, [r0] - cmp r1, r7 - bge _0802935A - ldr r6, _080293A8 @ =gTurnOrder - mov r5, r9 - ldr r4, _080293AC @ =gUnknown_02024A76 - movs r3, 0xB - adds r2, r0, 0 -_08029344: - adds r0, r1, r6 - ldrb r0, [r0] - ldrb r7, [r5] - cmp r0, r7 - bne _08029352 - adds r0, r1, r4 - strb r3, [r0] -_08029352: - adds r1, 0x1 - ldrb r0, [r2] - cmp r1, r0 - blt _08029344 -_0802935A: - movs r0, 0xE4 - mov r1, r8 - strh r0, [r1] - ldr r2, _080293B0 @ =gBattlescriptCurrInstr - ldr r0, [r2] - adds r0, 0x5 - str r0, [r2] - ldr r1, _080293B4 @ =0x00016002 - add r1, r10 - movs r0, 0x1 - strb r0, [r1] - mov r7, r12 - ldr r0, [r7] - ldr r1, _080293B8 @ =0xfffffbff - ands r0, r1 - str r0, [r7] - b _080293D6 - .align 2, 0 -_0802937C: .4byte gBankTarget -_08029380: .4byte gActionForBanks -_08029384: .4byte gBankAttacker -_08029388: .4byte 0x02000000 -_0802938C: .4byte 0x00016010 -_08029390: .4byte gBattleMons -_08029394: .4byte gDisableStructs -_08029398: .4byte gChosenMovesByBanks -_0802939C: .4byte gNoOfAllBanks -_080293A0: .4byte gCurrentMove -_080293A4: .4byte gHitMarker -_080293A8: .4byte gTurnOrder -_080293AC: .4byte gUnknown_02024A76 -_080293B0: .4byte gBattlescriptCurrInstr -_080293B4: .4byte 0x00016002 -_080293B8: .4byte 0xfffffbff -_080293BC: - ldr r3, _080293E4 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_080293D6: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080293E4: .4byte gBattlescriptCurrInstr - thumb_func_end sub_8029270 - - thumb_func_start sub_80293E8 -sub_80293E8: @ 80293E8 - push {lr} - ldr r2, _08029408 @ =gBattleWeather - ldrh r1, [r2] - movs r0, 0x60 - ands r0, r1 - cmp r0, 0 - beq _08029414 - ldr r2, _0802940C @ =gBattleMoveFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - ldr r1, _08029410 @ =gBattleCommunication - movs r0, 0x2 - strb r0, [r1, 0x5] - b _08029426 - .align 2, 0 -_08029408: .4byte gBattleWeather -_0802940C: .4byte gBattleMoveFlags -_08029410: .4byte gBattleCommunication -_08029414: - movs r0, 0x20 - strh r0, [r2] - ldr r1, _08029434 @ =gBattleCommunication - movs r0, 0x4 - strb r0, [r1, 0x5] - ldr r0, _08029438 @ =gWishFutureKnock - adds r0, 0x28 - movs r1, 0x5 - strb r1, [r0] -_08029426: - ldr r1, _0802943C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08029434: .4byte gBattleCommunication -_08029438: .4byte gWishFutureKnock -_0802943C: .4byte gBattlescriptCurrInstr - thumb_func_end sub_80293E8 - - thumb_func_start atkBC_maxattackhalvehp -atkBC_maxattackhalvehp: @ 8029440 - push {r4,r5,lr} - ldr r5, _0802948C @ =gBattleMons - ldr r4, _08029490 @ =gBankAttacker - ldrb r0, [r4] - movs r3, 0x58 - muls r0, r3 - adds r2, r0, r5 - ldrh r0, [r2, 0x2C] - lsrs r1, r0, 1 - cmp r1, 0 - bne _08029458 - movs r1, 0x1 -_08029458: - movs r0, 0x19 - ldrsb r0, [r2, r0] - cmp r0, 0xB - bgt _0802949C - ldrh r0, [r2, 0x28] - cmp r0, r1 - bls _0802949C - movs r0, 0xC - strb r0, [r2, 0x19] - ldr r1, _08029494 @ =gBattleMoveDamage - ldrb r0, [r4] - muls r0, r3 - adds r0, r5 - ldrh r0, [r0, 0x2C] - lsrs r0, 1 - str r0, [r1] - cmp r0, 0 - bne _08029480 - movs r0, 0x1 - str r0, [r1] -_08029480: - ldr r1, _08029498 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _080294B6 - .align 2, 0 -_0802948C: .4byte gBattleMons -_08029490: .4byte gBankAttacker -_08029494: .4byte gBattleMoveDamage -_08029498: .4byte gBattlescriptCurrInstr -_0802949C: - ldr r3, _080294BC @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_080294B6: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080294BC: .4byte gBattlescriptCurrInstr - thumb_func_end atkBC_maxattackhalvehp - - thumb_func_start atkBD_copyfoestats -atkBD_copyfoestats: @ 80294C0 - push {r4-r7,lr} - movs r2, 0 - ldr r7, _080294F8 @ =gBattlescriptCurrInstr - ldr r6, _080294FC @ =gBankAttacker - movs r4, 0x58 - ldr r3, _08029500 @ =gUnknown_02024A98 - ldr r5, _08029504 @ =gBankTarget -_080294CE: - ldrb r0, [r6] - adds r1, r0, 0 - muls r1, r4 - adds r1, r2, r1 - adds r1, r3 - ldrb r0, [r5] - muls r0, r4 - adds r0, r2, r0 - adds r0, r3 - ldrb r0, [r0] - strb r0, [r1] - adds r2, 0x1 - cmp r2, 0x7 - ble _080294CE - ldr r0, [r7] - adds r0, 0x5 - str r0, [r7] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080294F8: .4byte gBattlescriptCurrInstr -_080294FC: .4byte gBankAttacker -_08029500: .4byte gUnknown_02024A98 -_08029504: .4byte gBankTarget - thumb_func_end atkBD_copyfoestats - - thumb_func_start atkBE_breakfree -atkBE_breakfree: @ 8029508 - push {r4,r5,lr} - ldr r1, _08029570 @ =gBattleMons - ldr r5, _08029574 @ =gBankAttacker - ldrb r2, [r5] - movs r0, 0x58 - muls r0, r2 - adds r1, 0x50 - adds r3, r0, r1 - ldr r1, [r3] - movs r0, 0xE0 - lsls r0, 8 - ands r0, r1 - cmp r0, 0 - beq _08029594 - ldr r0, _08029578 @ =0xffff1fff - ands r1, r0 - str r1, [r3] - ldr r1, _0802957C @ =gBankTarget - ldr r2, _08029580 @ =0x02000000 - ldrb r0, [r5] - ldr r3, _08029584 @ =0x00016020 - adds r0, r3 - adds r0, r2 - ldrb r0, [r0] - strb r0, [r1] - ldr r1, _08029588 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x2 - strb r0, [r1, 0x1] - ldrb r0, [r5] - lsls r0, 1 - subs r3, 0x1C - adds r0, r3 - adds r0, r2 - ldrb r0, [r0] - strb r0, [r1, 0x2] - ldrb r0, [r5] - lsls r0, 1 - adds r3, 0x1 - adds r0, r3 - adds r0, r2 - ldrb r0, [r0] - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - bl b_movescr_stack_push_cursor - ldr r1, _0802958C @ =gBattlescriptCurrInstr - ldr r0, _08029590 @ =gUnknown_081D92C2 - b _0802963E - .align 2, 0 -_08029570: .4byte gBattleMons -_08029574: .4byte gBankAttacker -_08029578: .4byte 0xffff1fff -_0802957C: .4byte gBankTarget -_08029580: .4byte 0x02000000 -_08029584: .4byte 0x00016020 -_08029588: .4byte gBattleTextBuff1 -_0802958C: .4byte gBattlescriptCurrInstr -_08029590: .4byte gUnknown_081D92C2 -_08029594: - ldr r4, _080295C8 @ =gStatuses3 - lsls r0, r2, 2 - adds r3, r0, r4 - ldr r1, [r3] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080295D4 - movs r0, 0x5 - negs r0, r0 - ands r1, r0 - str r1, [r3] - ldrb r1, [r5] - lsls r1, 2 - adds r1, r4 - ldr r0, [r1] - movs r2, 0x4 - negs r2, r2 - ands r0, r2 - str r0, [r1] - bl b_movescr_stack_push_cursor - ldr r1, _080295CC @ =gBattlescriptCurrInstr - ldr r0, _080295D0 @ =gUnknown_081D92C9 - b _0802963E - .align 2, 0 -_080295C8: .4byte gStatuses3 -_080295CC: .4byte gBattlescriptCurrInstr -_080295D0: .4byte gUnknown_081D92C9 -_080295D4: - adds r0, r2, 0 - bl GetBankSide - ldr r4, _08029624 @ =gSideAffecting - lsls r0, 24 - lsrs r0, 23 - adds r0, r4 - ldrh r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08029638 - ldrb r0, [r5] - bl GetBankSide - lsls r0, 24 - lsrs r0, 23 - adds r0, r4 - ldrh r2, [r0] - ldr r1, _08029628 @ =0x0000ffef - ands r1, r2 - movs r4, 0 - strh r1, [r0] - ldrb r0, [r5] - bl GetBankSide - ldr r2, _0802962C @ =gSideTimer - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - strb r4, [r1, 0x6] - bl b_movescr_stack_push_cursor - ldr r1, _08029630 @ =gBattlescriptCurrInstr - ldr r0, _08029634 @ =gUnknown_081D92D0 - b _0802963E - .align 2, 0 -_08029624: .4byte gSideAffecting -_08029628: .4byte 0x0000ffef -_0802962C: .4byte gSideTimer -_08029630: .4byte gBattlescriptCurrInstr -_08029634: .4byte gUnknown_081D92D0 -_08029638: - ldr r1, _08029648 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 -_0802963E: - str r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08029648: .4byte gBattlescriptCurrInstr - thumb_func_end atkBE_breakfree - - thumb_func_start sub_802964C -sub_802964C: @ 802964C - ldr r1, _08029670 @ =gBattleMons - ldr r0, _08029674 @ =gBankAttacker - ldrb r2, [r0] - movs r0, 0x58 - muls r2, r0 - adds r1, 0x50 - adds r2, r1 - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 23 - orrs r0, r1 - str r0, [r2] - ldr r1, _08029678 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .align 2, 0 -_08029670: .4byte gBattleMons -_08029674: .4byte gBankAttacker -_08029678: .4byte gBattlescriptCurrInstr - thumb_func_end sub_802964C - - thumb_func_start atkC0_recoverbasedonsunlight -atkC0_recoverbasedonsunlight: @ 802967C - push {r4-r7,lr} - sub sp, 0x4 - ldr r1, _080296E8 @ =gBankTarget - ldr r5, _080296EC @ =gBankAttacker - ldrb r0, [r5] - strb r0, [r1] - ldr r7, _080296F0 @ =gBattleMons - ldrb r0, [r5] - movs r6, 0x58 - muls r0, r6 - adds r0, r7 - ldrh r1, [r0, 0x28] - ldrh r0, [r0, 0x2C] - cmp r1, r0 - beq _0802975C - ldr r4, _080296F4 @ =gBattleWeather - ldrh r0, [r4] - cmp r0, 0 - beq _080296CE - movs r0, 0 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0xD - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080296CE - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0x4D - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - beq _080296FC -_080296CE: - ldr r3, _080296F8 @ =gBattleMoveDamage - ldr r2, _080296F0 @ =gBattleMons - ldr r0, _080296EC @ =gBankAttacker - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrh r0, [r0, 0x2C] - lsrs r0, 1 - str r0, [r3] - adds r1, r3, 0 - b _08029736 - .align 2, 0 -_080296E8: .4byte gBankTarget -_080296EC: .4byte gBankAttacker -_080296F0: .4byte gBattleMons -_080296F4: .4byte gBattleWeather -_080296F8: .4byte gBattleMoveDamage -_080296FC: - ldrh r1, [r4] - movs r0, 0x60 - ands r0, r1 - cmp r0, 0 - beq _08029728 - ldr r4, _08029724 @ =gBattleMoveDamage - ldrb r0, [r5] - muls r0, r6 - adds r0, r7 - ldrh r1, [r0, 0x2C] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - movs r1, 0x1E - bl __divsi3 - str r0, [r4] - adds r1, r4, 0 - b _08029736 - .align 2, 0 -_08029724: .4byte gBattleMoveDamage -_08029728: - ldr r1, _08029754 @ =gBattleMoveDamage - ldrb r0, [r5] - muls r0, r6 - adds r0, r7 - ldrh r0, [r0, 0x2C] - lsrs r0, 2 - str r0, [r1] -_08029736: - adds r2, r1, 0 - ldr r0, [r2] - cmp r0, 0 - bne _08029742 - movs r0, 0x1 - str r0, [r2] -_08029742: - ldr r0, [r1] - negs r0, r0 - str r0, [r1] - ldr r1, _08029758 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _08029776 - .align 2, 0 -_08029754: .4byte gBattleMoveDamage -_08029758: .4byte gBattlescriptCurrInstr -_0802975C: - ldr r3, _08029780 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_08029776: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08029780: .4byte gBattlescriptCurrInstr - thumb_func_end atkC0_recoverbasedonsunlight - - thumb_func_start sub_8029784 -sub_8029784: @ 8029784 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r2, _08029894 @ =gBattleMons - ldr r0, _08029898 @ =gBankAttacker - ldrb r1, [r0] - movs r0, 0x58 - adds r4, r1, 0 - muls r4, r0 - adds r4, r2 - ldrb r0, [r4, 0x14] - mov r10, r0 - mov r7, r10 - lsls r7, 27 - adds r0, r7, 0 - lsrs r0, 27 - mov r10, r0 - movs r1, 0x2 - mov r2, r10 - ands r2, r1 - asrs r2, 1 - ldrh r7, [r4, 0x14] - mov r9, r7 - mov r0, r9 - lsls r0, 22 - mov r9, r0 - lsrs r3, r0, 27 - adds r0, r1, 0 - ands r0, r3 - orrs r2, r0 - ldrb r7, [r4, 0x15] - mov r8, r7 - mov r0, r8 - lsls r0, 25 - mov r8, r0 - lsrs r3, r0, 27 - adds r0, r1, 0 - ands r0, r3 - lsls r0, 1 - orrs r2, r0 - ldr r6, [r4, 0x14] - lsls r6, 12 - lsrs r3, r6, 27 - adds r0, r1, 0 - ands r0, r3 - lsls r0, 2 - orrs r2, r0 - ldrh r5, [r4, 0x16] - lsls r5, 23 - lsrs r3, r5, 27 - adds r0, r1, 0 - ands r0, r3 - lsls r0, 3 - orrs r2, r0 - ldrb r3, [r4, 0x17] - lsls r3, 26 - lsrs r0, r3, 27 - ands r1, r0 - lsls r1, 4 - orrs r2, r1 - movs r1, 0x1 - adds r4, r1, 0 - mov r7, r10 - ands r4, r7 - mov r0, r9 - lsrs r0, 27 - mov r9, r0 - adds r0, r1, 0 - mov r7, r9 - ands r0, r7 - lsls r0, 1 - orrs r4, r0 - mov r0, r8 - lsrs r0, 27 - mov r8, r0 - adds r0, r1, 0 - mov r7, r8 - ands r0, r7 - lsls r0, 2 - orrs r4, r0 - lsrs r6, 27 - adds r0, r1, 0 - ands r0, r6 - lsls r0, 3 - orrs r4, r0 - lsrs r5, 27 - adds r0, r1, 0 - ands r0, r5 - lsls r0, 4 - orrs r4, r0 - lsrs r3, 27 - ands r1, r3 - lsls r1, 5 - orrs r4, r1 - ldr r5, _0802989C @ =gDynamicBasePower - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - movs r1, 0x3F - bl __divsi3 - adds r0, 0x1E - strh r0, [r5] - ldr r5, _080298A0 @ =0x02000000 - lsls r0, r4, 4 - subs r0, r4 - movs r1, 0x3F - bl __divsi3 - adds r1, r0, 0x1 - ldr r0, _080298A4 @ =0x0001601c - adds r5, r0 - strb r1, [r5] - lsls r0, r1, 24 - lsrs r0, 24 - cmp r0, 0x8 - bls _08029876 - adds r0, r1, 0x1 - strb r0, [r5] -_08029876: - ldrb r0, [r5] - movs r1, 0xC0 - orrs r0, r1 - strb r0, [r5] - ldr r1, _080298A8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08029894: .4byte gBattleMons -_08029898: .4byte gBankAttacker -_0802989C: .4byte gDynamicBasePower -_080298A0: .4byte 0x02000000 -_080298A4: .4byte 0x0001601c -_080298A8: .4byte gBattlescriptCurrInstr - thumb_func_end sub_8029784 - - thumb_func_start atkC2_selectnexttarget -atkC2_selectnexttarget: @ 80298AC - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, _08029908 @ =gBankTarget - movs r1, 0 - strb r1, [r0] - ldr r1, _0802990C @ =gNoOfAllBanks - ldrb r1, [r1] - adds r6, r0, 0 - ldr r0, _08029910 @ =gBattlescriptCurrInstr - mov r8, r0 - cmp r1, 0 - beq _080298F6 - adds r3, r6, 0 - ldr r0, _08029914 @ =gBankAttacker - ldrb r5, [r0] - ldr r0, _08029918 @ =gBitTable - mov r12, r0 - adds r4, r1, 0 - ldr r7, _0802991C @ =gAbsentBankFlags -_080298D4: - ldrb r2, [r3] - cmp r2, r5 - beq _080298EA - ldrb r0, [r7] - ldrb r1, [r6] - lsls r1, 2 - add r1, r12 - ldr r1, [r1] - ands r0, r1 - cmp r0, 0 - beq _080298F6 -_080298EA: - adds r0, r2, 0x1 - strb r0, [r3] - lsls r0, 24 - lsrs r0, 24 - cmp r0, r4 - bcc _080298D4 -_080298F6: - mov r1, r8 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08029908: .4byte gBankTarget -_0802990C: .4byte gNoOfAllBanks -_08029910: .4byte gBattlescriptCurrInstr -_08029914: .4byte gBankAttacker -_08029918: .4byte gBitTable -_0802991C: .4byte gAbsentBankFlags - thumb_func_end atkC2_selectnexttarget - - thumb_func_start atkC3_setfutureattack -atkC3_setfutureattack: @ 8029920 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - ldr r0, _08029958 @ =gWishFutureKnock - mov r8, r0 - ldr r7, _0802995C @ =gBankTarget - ldrb r1, [r7] - adds r0, r1, r0 - ldrb r6, [r0] - cmp r6, 0 - beq _08029964 - ldr r3, _08029960 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08029A2E - .align 2, 0 -_08029958: .4byte gWishFutureKnock -_0802995C: .4byte gBankTarget -_08029960: .4byte gBattlescriptCurrInstr -_08029964: - lsls r1, 1 - mov r0, r8 - adds r0, 0x18 - adds r1, r0 - ldr r2, _08029A04 @ =gCurrentMove - mov r9, r2 - ldrh r0, [r2] - strh r0, [r1] - mov r0, r8 - adds r0, 0x4 - ldrb r4, [r7] - adds r0, r4 - ldr r5, _08029A08 @ =gBankAttacker - ldrb r1, [r5] - strb r1, [r0] - ldrb r0, [r7] - add r0, r8 - movs r1, 0x3 - strb r1, [r0] - ldr r4, _08029A0C @ =gSideAffecting - ldrb r0, [r7] - bl GetBankIdentity - movs r1, 0x1 - mov r10, r1 - ands r1, r0 - lsls r1, 1 - adds r1, r4 - ldrh r3, [r1] - ldrb r0, [r5] - movs r4, 0x58 - muls r0, r4 - ldr r2, _08029A10 @ =gBattleMons - adds r0, r2 - ldrb r1, [r7] - muls r1, r4 - adds r1, r2 - mov r4, r9 - ldrh r2, [r4] - str r6, [sp] - str r6, [sp, 0x4] - ldrb r4, [r5] - str r4, [sp, 0x8] - ldrb r4, [r7] - str r4, [sp, 0xC] - bl CalculateBaseDamage - ldrb r1, [r7] - lsls r1, 2 - mov r2, r8 - adds r2, 0x8 - adds r1, r2 - str r0, [r1] - ldr r1, _08029A14 @ =gProtectStructs - ldrb r0, [r5] - lsls r0, 4 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 28 - cmp r0, 0 - bge _080299F2 - ldrb r4, [r7] - lsls r4, 2 - adds r4, r2 - ldr r1, [r4] - lsls r0, r1, 4 - subs r0, r1 - movs r1, 0xA - bl __divsi3 - str r0, [r4] -_080299F2: - mov r0, r9 - ldrh r1, [r0] - ldr r0, _08029A18 @ =0x00000161 - cmp r1, r0 - bne _08029A20 - ldr r0, _08029A1C @ =gBattleCommunication - mov r1, r10 - strb r1, [r0, 0x5] - b _08029A26 - .align 2, 0 -_08029A04: .4byte gCurrentMove -_08029A08: .4byte gBankAttacker -_08029A0C: .4byte gSideAffecting -_08029A10: .4byte gBattleMons -_08029A14: .4byte gProtectStructs -_08029A18: .4byte 0x00000161 -_08029A1C: .4byte gBattleCommunication -_08029A20: - ldr r1, _08029A40 @ =gBattleCommunication - movs r0, 0 - strb r0, [r1, 0x5] -_08029A26: - ldr r1, _08029A44 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_08029A2E: - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08029A40: .4byte gBattleCommunication -_08029A44: .4byte gBattlescriptCurrInstr - thumb_func_end atkC3_setfutureattack - - thumb_func_start atkC4_802B910 -atkC4_802B910: @ 8029A48 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r0, _08029A8C @ =gBankAttacker - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - ldr r7, _08029A90 @ =gEnemyParty - cmp r0, 0 - bne _08029A62 - ldr r7, _08029A94 @ =gPlayerParty -_08029A62: - ldr r2, _08029A98 @ =gBattleMons - ldr r0, _08029A9C @ =gBankTarget - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrh r0, [r0, 0x28] - cmp r0, 0 - bne _08029AA4 - ldr r3, _08029AA0 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - b _08029C40 - .align 2, 0 -_08029A8C: .4byte gBankAttacker -_08029A90: .4byte gEnemyParty -_08029A94: .4byte gPlayerParty -_08029A98: .4byte gBattleMons -_08029A9C: .4byte gBankTarget -_08029AA0: .4byte gBattlescriptCurrInstr -_08029AA4: - ldr r6, _08029BE0 @ =gBattleCommunication - ldrb r0, [r6] - mov r8, r0 - cmp r0, 0x5 - bls _08029AB0 - b _08029C0C -_08029AB0: - adds r4, r6, 0 - movs r5, 0x64 -_08029AB4: - ldrb r0, [r4] - muls r0, r5 - adds r0, r7, r0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _08029AF8 - ldrb r0, [r6] - muls r0, r5 - adds r0, r7, r0 - movs r1, 0x41 - bl GetMonData - cmp r0, 0 - beq _08029AF8 - ldrb r0, [r4] - muls r0, r5 - adds r0, r7, r0 - movs r1, 0x41 - bl GetMonData - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - beq _08029AF8 - ldrb r0, [r4] - muls r0, r5 - adds r0, r7, r0 - movs r1, 0x37 - bl GetMonData - cmp r0, 0 - beq _08029B08 -_08029AF8: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - adds r6, r4, 0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bls _08029AB4 -_08029B08: - ldr r1, _08029BE0 @ =gBattleCommunication - mov r9, r1 - ldrb r2, [r1] - cmp r2, 0x5 - bhi _08029C0C - ldr r1, _08029BE4 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x4 - strb r0, [r1, 0x1] - ldr r6, _08029BE8 @ =gBankAttacker - ldrb r0, [r6] - strb r0, [r1, 0x2] - strb r2, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldr r1, _08029BEC @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x9 - str r0, [r1] - ldr r2, _08029BF0 @ =gBattleMoveDamage - mov r8, r2 - ldr r5, _08029BF4 @ =gBaseStats - mov r1, r9 - ldrb r0, [r1] - movs r4, 0x64 - muls r0, r4 - adds r0, r7, r0 - movs r1, 0xB - bl GetMonData - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r5 - ldrb r3, [r1, 0x1] - mov r2, r8 - str r3, [r2] - ldr r2, _08029BF8 @ =gBattleMoves - ldr r0, _08029BFC @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - muls r0, r3 - mov r1, r8 - str r0, [r1] - mov r2, r9 - ldrb r0, [r2] - muls r0, r4 - adds r0, r7, r0 - movs r1, 0x38 - bl GetMonData - lsls r0, 1 - movs r1, 0x5 - bl __udivsi3 - adds r0, 0x2 - mov r2, r8 - ldr r1, [r2] - muls r0, r1 - str r0, [r2] - ldr r3, _08029C00 @ =gBattleMons - ldr r1, _08029C04 @ =gBankTarget - ldrb r2, [r1] - movs r1, 0x58 - muls r1, r2 - adds r1, r3 - ldrh r2, [r1] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r5 - ldrb r1, [r1, 0x2] - bl __divsi3 - mov r1, r8 - str r0, [r1] - movs r1, 0x32 - bl __divsi3 - adds r2, r0, 0x2 - mov r0, r8 - str r2, [r0] - ldr r1, _08029C08 @ =gProtectStructs - ldrb r0, [r6] - lsls r0, 4 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 28 - cmp r0, 0 - bge _08029BD4 - lsls r0, r2, 4 - subs r0, r2 - movs r1, 0xA - bl __divsi3 - mov r1, r8 - str r0, [r1] -_08029BD4: - mov r2, r9 - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] - b _08029C46 - .align 2, 0 -_08029BE0: .4byte gBattleCommunication -_08029BE4: .4byte gBattleTextBuff1 -_08029BE8: .4byte gBankAttacker -_08029BEC: .4byte gBattlescriptCurrInstr -_08029BF0: .4byte gBattleMoveDamage -_08029BF4: .4byte gBaseStats -_08029BF8: .4byte gBattleMoves -_08029BFC: .4byte gCurrentMove -_08029C00: .4byte gBattleMons -_08029C04: .4byte gBankTarget -_08029C08: .4byte gProtectStructs -_08029C0C: - mov r0, r8 - cmp r0, 0 - beq _08029C2C - ldr r3, _08029C28 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - b _08029C40 - .align 2, 0 -_08029C28: .4byte gBattlescriptCurrInstr -_08029C2C: - ldr r3, _08029C54 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x5] - ldrb r0, [r2, 0x6] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x7] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x8] -_08029C40: - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_08029C46: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08029C54: .4byte gBattlescriptCurrInstr - thumb_func_end atkC4_802B910 - - thumb_func_start atkC5_hidepreattack -atkC5_hidepreattack: @ 8029C58 - push {lr} - ldr r0, _08029C6C @ =gCurrentMove - ldrh r1, [r0] - cmp r1, 0x5B - beq _08029C98 - cmp r1, 0x5B - bgt _08029C70 - cmp r1, 0x13 - beq _08029C7C - b _08029CC4 - .align 2, 0 -_08029C6C: .4byte gCurrentMove -_08029C70: - ldr r0, _08029C8C @ =0x00000123 - cmp r1, r0 - beq _08029CB0 - adds r0, 0x31 - cmp r1, r0 - bne _08029CC4 -_08029C7C: - ldr r2, _08029C90 @ =gStatuses3 - ldr r0, _08029C94 @ =gBankAttacker - ldrb r1, [r0] - lsls r1, 2 - adds r1, r2 - ldr r0, [r1] - movs r2, 0x40 - b _08029CC0 - .align 2, 0 -_08029C8C: .4byte 0x00000123 -_08029C90: .4byte gStatuses3 -_08029C94: .4byte gBankAttacker -_08029C98: - ldr r2, _08029CA8 @ =gStatuses3 - ldr r0, _08029CAC @ =gBankAttacker - ldrb r1, [r0] - lsls r1, 2 - adds r1, r2 - ldr r0, [r1] - movs r2, 0x80 - b _08029CC0 - .align 2, 0 -_08029CA8: .4byte gStatuses3 -_08029CAC: .4byte gBankAttacker -_08029CB0: - ldr r2, _08029CD0 @ =gStatuses3 - ldr r0, _08029CD4 @ =gBankAttacker - ldrb r1, [r0] - lsls r1, 2 - adds r1, r2 - ldr r0, [r1] - movs r2, 0x80 - lsls r2, 11 -_08029CC0: - orrs r0, r2 - str r0, [r1] -_08029CC4: - ldr r1, _08029CD8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08029CD0: .4byte gStatuses3 -_08029CD4: .4byte gBankAttacker -_08029CD8: .4byte gBattlescriptCurrInstr - thumb_func_end atkC5_hidepreattack - - thumb_func_start atkC6_unhidepostattack -atkC6_unhidepostattack: @ 8029CDC - push {lr} - ldr r0, _08029CF0 @ =gCurrentMove - ldrh r1, [r0] - cmp r1, 0x5B - beq _08029D20 - cmp r1, 0x5B - bgt _08029CF4 - cmp r1, 0x13 - beq _08029D00 - b _08029D4E - .align 2, 0 -_08029CF0: .4byte gCurrentMove -_08029CF4: - ldr r0, _08029D14 @ =0x00000123 - cmp r1, r0 - beq _08029D3C - adds r0, 0x31 - cmp r1, r0 - bne _08029D4E -_08029D00: - ldr r2, _08029D18 @ =gStatuses3 - ldr r0, _08029D1C @ =gBankAttacker - ldrb r1, [r0] - lsls r1, 2 - adds r1, r2 - ldr r0, [r1] - movs r2, 0x41 - negs r2, r2 - b _08029D4A - .align 2, 0 -_08029D14: .4byte 0x00000123 -_08029D18: .4byte gStatuses3 -_08029D1C: .4byte gBankAttacker -_08029D20: - ldr r2, _08029D34 @ =gStatuses3 - ldr r0, _08029D38 @ =gBankAttacker - ldrb r1, [r0] - lsls r1, 2 - adds r1, r2 - ldr r0, [r1] - movs r2, 0x81 - negs r2, r2 - b _08029D4A - .align 2, 0 -_08029D34: .4byte gStatuses3 -_08029D38: .4byte gBankAttacker -_08029D3C: - ldr r2, _08029D5C @ =gStatuses3 - ldr r0, _08029D60 @ =gBankAttacker - ldrb r1, [r0] - lsls r1, 2 - adds r1, r2 - ldr r0, [r1] - ldr r2, _08029D64 @ =0xfffbffff -_08029D4A: - ands r0, r2 - str r0, [r1] -_08029D4E: - ldr r1, _08029D68 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08029D5C: .4byte gStatuses3 -_08029D60: .4byte gBankAttacker -_08029D64: .4byte 0xfffbffff -_08029D68: .4byte gBattlescriptCurrInstr - thumb_func_end atkC6_unhidepostattack - - thumb_func_start atkC7_setminimize -atkC7_setminimize: @ 8029D6C - push {lr} - ldr r0, _08029D9C @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 18 - ands r0, r1 - cmp r0, 0 - beq _08029D90 - ldr r2, _08029DA0 @ =gStatuses3 - ldr r0, _08029DA4 @ =gBankAttacker - ldrb r1, [r0] - lsls r1, 2 - adds r1, r2 - ldr r0, [r1] - movs r2, 0x80 - lsls r2, 1 - orrs r0, r2 - str r0, [r1] -_08029D90: - ldr r1, _08029DA8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08029D9C: .4byte gHitMarker -_08029DA0: .4byte gStatuses3 -_08029DA4: .4byte gBankAttacker -_08029DA8: .4byte gBattlescriptCurrInstr - thumb_func_end atkC7_setminimize - - thumb_func_start sub_8029DAC -sub_8029DAC: @ 8029DAC - push {lr} - ldr r3, _08029DD0 @ =gBattleWeather - ldrh r1, [r3] - movs r2, 0x80 - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - beq _08029DDC - ldr r2, _08029DD4 @ =gBattleMoveFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - ldr r1, _08029DD8 @ =gBattleCommunication - movs r0, 0x2 - strb r0, [r1, 0x5] - b _08029DEA - .align 2, 0 -_08029DD0: .4byte gBattleWeather -_08029DD4: .4byte gBattleMoveFlags -_08029DD8: .4byte gBattleCommunication -_08029DDC: - strh r2, [r3] - ldr r0, _08029DF8 @ =gBattleCommunication - movs r1, 0x5 - strb r1, [r0, 0x5] - ldr r0, _08029DFC @ =gWishFutureKnock - adds r0, 0x28 - strb r1, [r0] -_08029DEA: - ldr r1, _08029E00 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08029DF8: .4byte gBattleCommunication -_08029DFC: .4byte gWishFutureKnock -_08029E00: .4byte gBattlescriptCurrInstr - thumb_func_end sub_8029DAC - - thumb_func_start atkC9_jumpifattackandspecialattackcannotfall -atkC9_jumpifattackandspecialattackcannotfall: @ 8029E04 - push {r4,lr} - ldr r2, _08029E48 @ =gBattleMons - ldr r0, _08029E4C @ =gBankTarget - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r1, r0, r2 - movs r0, 0x19 - ldrsb r0, [r1, r0] - adds r3, r2, 0 - cmp r0, 0 - bne _08029E58 - movs r0, 0x1C - ldrsb r0, [r1, r0] - cmp r0, 0 - bne _08029E58 - ldr r0, _08029E50 @ =gBattleCommunication - ldrb r0, [r0, 0x6] - cmp r0, 0x1 - beq _08029E58 - ldr r3, _08029E54 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08029E84 - .align 2, 0 -_08029E48: .4byte gBattleMons -_08029E4C: .4byte gBankTarget -_08029E50: .4byte gBattleCommunication -_08029E54: .4byte gBattlescriptCurrInstr -_08029E58: - ldr r4, _08029E8C @ =gActiveBank - ldr r0, _08029E90 @ =gBankAttacker - ldrb r0, [r0] - strb r0, [r4] - ldr r2, _08029E94 @ =gBattleMoveDamage - ldrb r1, [r4] - movs r0, 0x58 - muls r0, r1 - adds r0, r3 - ldrh r0, [r0, 0x28] - str r0, [r2] - ldr r1, _08029E98 @ =0x00007fff - movs r0, 0 - bl EmitHealthBarUpdate - ldrb r0, [r4] - bl MarkBufferBankForExecution - ldr r1, _08029E9C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_08029E84: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08029E8C: .4byte gActiveBank -_08029E90: .4byte gBankAttacker -_08029E94: .4byte gBattleMoveDamage -_08029E98: .4byte 0x00007fff -_08029E9C: .4byte gBattlescriptCurrInstr - thumb_func_end atkC9_jumpifattackandspecialattackcannotfall - - thumb_func_start atkCA_setforcedtarget -atkCA_setforcedtarget: @ 8029EA0 - push {r4,r5,lr} - ldr r4, _08029EE0 @ =gBankAttacker - ldrb r0, [r4] - bl GetBankSide - ldr r5, _08029EE4 @ =gSideTimer - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - movs r0, 0x1 - strb r0, [r1, 0x8] - ldrb r0, [r4] - bl GetBankSide - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - ldrb r0, [r4] - strb r0, [r1, 0x9] - ldr r1, _08029EE8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08029EE0: .4byte gBankAttacker -_08029EE4: .4byte gSideTimer -_08029EE8: .4byte gBattlescriptCurrInstr - thumb_func_end atkCA_setforcedtarget - - thumb_func_start atkCB_setcharge -atkCB_setcharge: @ 8029EEC - push {r4,lr} - ldr r0, _08029F40 @ =gStatuses3 - ldr r3, _08029F44 @ =gBankAttacker - ldrb r1, [r3] - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - movs r2, 0x80 - lsls r2, 2 - orrs r0, r2 - str r0, [r1] - ldr r4, _08029F48 @ =gDisableStructs - ldrb r1, [r3] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r2, [r0, 0x12] - movs r1, 0x10 - negs r1, r1 - ands r1, r2 - movs r2, 0x2 - orrs r1, r2 - strb r1, [r0, 0x12] - ldrb r1, [r3] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r2, [r0, 0x12] - movs r1, 0xF - ands r1, r2 - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0, 0x12] - ldr r1, _08029F4C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08029F40: .4byte gStatuses3 -_08029F44: .4byte gBankAttacker -_08029F48: .4byte gDisableStructs -_08029F4C: .4byte gBattlescriptCurrInstr - thumb_func_end atkCB_setcharge - - thumb_func_start atkCC_callterrainattack -atkCC_callterrainattack: @ 8029F50 - push {r4,lr} - ldr r2, _08029FA0 @ =gHitMarker - ldr r0, [r2] - ldr r1, _08029FA4 @ =0xfffffbff - ands r0, r1 - str r0, [r2] - ldr r4, _08029FA8 @ =gCurrentMove - ldr r1, _08029FAC @ =gNaturePowerMoves - ldr r0, _08029FB0 @ =gBattleTerrain - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r4] - ldrh r0, [r4] - movs r1, 0 - bl sub_801B5C0 - ldr r1, _08029FB4 @ =gBankTarget - strb r0, [r1] - ldr r3, _08029FB8 @ =gUnknown_081D6BBC - ldr r2, _08029FBC @ =gBattleMoves - ldrh r1, [r4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r3 - ldr r0, [r0] - bl b_movescr_stack_push - ldr r1, _08029FC0 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08029FA0: .4byte gHitMarker -_08029FA4: .4byte 0xfffffbff -_08029FA8: .4byte gCurrentMove -_08029FAC: .4byte gNaturePowerMoves -_08029FB0: .4byte gBattleTerrain -_08029FB4: .4byte gBankTarget -_08029FB8: .4byte gUnknown_081D6BBC -_08029FBC: .4byte gBattleMoves -_08029FC0: .4byte gBattlescriptCurrInstr - thumb_func_end atkCC_callterrainattack - - thumb_func_start atkCD_cureifburnedparalysedorpoisoned -atkCD_cureifburnedparalysedorpoisoned: @ 8029FC4 - push {r4-r6,lr} - sub sp, 0x4 - ldr r1, _0802A010 @ =gBattleMons - ldr r3, _0802A014 @ =gBankAttacker - ldrb r0, [r3] - movs r6, 0x58 - muls r0, r6 - adds r5, r1, 0 - adds r5, 0x4C - adds r2, r0, r5 - ldr r0, [r2] - movs r1, 0xD8 - ands r0, r1 - cmp r0, 0 - beq _0802A020 - movs r0, 0 - str r0, [r2] - ldr r1, _0802A018 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - ldr r4, _0802A01C @ =gActiveBank - ldrb r0, [r3] - strb r0, [r4] - ldrb r0, [r4] - muls r0, r6 - adds r0, r5 - str r0, [sp] - movs r0, 0 - movs r1, 0x28 - movs r2, 0 - movs r3, 0x4 - bl EmitSetAttributes - ldrb r0, [r4] - bl MarkBufferBankForExecution - b _0802A03A - .align 2, 0 -_0802A010: .4byte gBattleMons -_0802A014: .4byte gBankAttacker -_0802A018: .4byte gBattlescriptCurrInstr -_0802A01C: .4byte gActiveBank -_0802A020: - ldr r3, _0802A044 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802A03A: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802A044: .4byte gBattlescriptCurrInstr - thumb_func_end atkCD_cureifburnedparalysedorpoisoned - - thumb_func_start atkCE_settorment -atkCE_settorment: @ 802A048 - push {lr} - ldr r1, _0802A080 @ =gBattleMons - ldr r0, _0802A084 @ =gBankTarget - ldrb r2, [r0] - movs r0, 0x58 - muls r0, r2 - adds r1, 0x50 - adds r0, r1 - ldr r1, [r0] - movs r2, 0x80 - lsls r2, 24 - cmp r1, 0 - bge _0802A08C - ldr r3, _0802A088 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802A098 - .align 2, 0 -_0802A080: .4byte gBattleMons -_0802A084: .4byte gBankTarget -_0802A088: .4byte gBattlescriptCurrInstr -_0802A08C: - orrs r1, r2 - str r1, [r0] - ldr r1, _0802A09C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0802A098: - pop {r0} - bx r0 - .align 2, 0 -_0802A09C: .4byte gBattlescriptCurrInstr - thumb_func_end atkCE_settorment - - thumb_func_start atkCF_jumpifnodamage -atkCF_jumpifnodamage: @ 802A0A0 - push {lr} - ldr r2, _0802A0CC @ =gProtectStructs - ldr r0, _0802A0D0 @ =gBankAttacker - ldrb r0, [r0] - lsls r1, r0, 4 - adds r0, r2, 0x4 - adds r0, r1, r0 - ldr r0, [r0] - cmp r0, 0 - bne _0802A0C0 - adds r0, r2, 0 - adds r0, 0x8 - adds r0, r1, r0 - ldr r0, [r0] - cmp r0, 0 - beq _0802A0D8 -_0802A0C0: - ldr r1, _0802A0D4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _0802A0F2 - .align 2, 0 -_0802A0CC: .4byte gProtectStructs -_0802A0D0: .4byte gBankAttacker -_0802A0D4: .4byte gBattlescriptCurrInstr -_0802A0D8: - ldr r3, _0802A0F8 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802A0F2: - pop {r0} - bx r0 - .align 2, 0 -_0802A0F8: .4byte gBattlescriptCurrInstr - thumb_func_end atkCF_jumpifnodamage - - thumb_func_start atkD0_settaunt -atkD0_settaunt: @ 802A0FC - push {r4,lr} - ldr r4, _0802A140 @ =gDisableStructs - ldr r3, _0802A144 @ =gBankTarget - ldrb r0, [r3] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r2, r1, r4 - ldrb r1, [r2, 0x13] - lsls r0, r1, 28 - cmp r0, 0 - bne _0802A14C - movs r0, 0x10 - negs r0, r0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2, 0x13] - ldrb r1, [r3] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r2, [r0, 0x13] - movs r1, 0xF - ands r1, r2 - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0, 0x13] - ldr r1, _0802A148 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _0802A166 - .align 2, 0 -_0802A140: .4byte gDisableStructs -_0802A144: .4byte gBankTarget -_0802A148: .4byte gBattlescriptCurrInstr -_0802A14C: - ldr r3, _0802A16C @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802A166: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802A16C: .4byte gBattlescriptCurrInstr - thumb_func_end atkD0_settaunt - - thumb_func_start sub_802A170 -sub_802A170: @ 802A170 - push {r4,lr} - ldr r4, _0802A1D8 @ =gBankAttacker - ldrb r0, [r4] - bl GetBankIdentity - movs r1, 0x2 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - bl GetBankByPlayerAI - ldr r3, _0802A1DC @ =gBankTarget - strb r0, [r3] - ldr r0, _0802A1E0 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0802A1F4 - ldr r0, _0802A1E4 @ =gAbsentBankFlags - ldrb r1, [r0] - ldr r2, _0802A1E8 @ =gBitTable - ldrb r3, [r3] - lsls r0, r3, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _0802A1F4 - ldr r1, _0802A1EC @ =gProtectStructs - ldrb r0, [r4] - lsls r0, 4 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 28 - cmp r0, 0 - blt _0802A1F4 - lsls r0, r3, 4 - adds r2, r0, r1 - ldrb r1, [r2] - lsls r0, r1, 28 - cmp r0, 0 - blt _0802A1F4 - movs r0, 0x8 - orrs r0, r1 - strb r0, [r2] - ldr r1, _0802A1F0 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _0802A20E - .align 2, 0 -_0802A1D8: .4byte gBankAttacker -_0802A1DC: .4byte gBankTarget -_0802A1E0: .4byte gBattleTypeFlags -_0802A1E4: .4byte gAbsentBankFlags -_0802A1E8: .4byte gBitTable -_0802A1EC: .4byte gProtectStructs -_0802A1F0: .4byte gBattlescriptCurrInstr -_0802A1F4: - ldr r3, _0802A214 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802A20E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802A214: .4byte gBattlescriptCurrInstr - thumb_func_end sub_802A170 - - thumb_func_start sub_802A218 -sub_802A218: @ 802A218 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - ldr r0, _0802A30C @ =gBankAttacker - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0802A24C - ldr r0, _0802A310 @ =gBattleTypeFlags - ldrh r1, [r0] - ldr r0, _0802A314 @ =0x00000902 - ands r0, r1 - cmp r0, 0 - bne _0802A24C - ldr r0, _0802A318 @ =gTrainerBattleOpponent - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 3 - cmp r1, r0 - bne _0802A2EE -_0802A24C: - ldr r4, _0802A30C @ =gBankAttacker - ldrb r0, [r4] - bl GetBankSide - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _0802A310 @ =gBattleTypeFlags - ldrh r1, [r0] - ldr r0, _0802A314 @ =0x00000902 - ands r0, r1 - cmp r0, 0 - bne _0802A290 - ldr r0, _0802A318 @ =gTrainerBattleOpponent - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 3 - cmp r1, r0 - beq _0802A290 - ldr r0, _0802A31C @ =gWishFutureKnock - adds r0, 0x29 - adds r0, r2, r0 - ldrb r1, [r0] - ldr r3, _0802A320 @ =gBitTable - ldr r2, _0802A324 @ =gBattlePartyID - ldrb r0, [r4] - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r3 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _0802A2EE -_0802A290: - ldr r0, _0802A328 @ =gBattleMons - mov r9, r0 - ldr r1, _0802A30C @ =gBankAttacker - ldrb r4, [r1] - movs r2, 0x58 - mov r8, r2 - mov r0, r8 - muls r0, r4 - mov r3, r9 - adds r5, r0, r3 - ldrh r3, [r5, 0x2E] - adds r1, r3, 0 - cmp r1, 0 - bne _0802A2BE - ldr r0, _0802A32C @ =gBankTarget - ldrb r0, [r0] - mov r2, r8 - muls r2, r0 - adds r0, r2, 0 - add r0, r9 - ldrh r0, [r0, 0x2E] - cmp r0, 0 - beq _0802A2EE -_0802A2BE: - cmp r1, 0xAF - beq _0802A2EE - ldr r7, _0802A32C @ =gBankTarget - ldrb r0, [r7] - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - mov r1, r9 - adds r2, r0, r1 - ldrh r1, [r2, 0x2E] - cmp r1, 0xAF - beq _0802A2EE - adds r0, r3, 0 - subs r0, 0x79 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xB - bls _0802A2EE - adds r0, r1, 0 - subs r0, 0x79 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xB - bhi _0802A334 -_0802A2EE: - ldr r3, _0802A330 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802A49A - .align 2, 0 -_0802A30C: .4byte gBankAttacker -_0802A310: .4byte gBattleTypeFlags -_0802A314: .4byte 0x00000902 -_0802A318: .4byte gTrainerBattleOpponent -_0802A31C: .4byte gWishFutureKnock -_0802A320: .4byte gBitTable -_0802A324: .4byte gBattlePartyID -_0802A328: .4byte gBattleMons -_0802A32C: .4byte gBankTarget -_0802A330: .4byte gBattlescriptCurrInstr -_0802A334: - adds r0, r2, 0 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x3C - bne _0802A36C - ldr r1, _0802A360 @ =gBattlescriptCurrInstr - ldr r0, _0802A364 @ =BattleScript_NoItemSteal - str r0, [r1] - ldr r1, _0802A368 @ =gLastUsedAbility - ldrb r0, [r7] - mov r2, r8 - muls r2, r0 - adds r0, r2, 0 - add r0, r9 - adds r0, 0x20 - ldrb r0, [r0] - strb r0, [r1] - ldrb r0, [r7] - ldrb r1, [r1] - bl RecordAbilityBattle - b _0802A49A - .align 2, 0 -_0802A360: .4byte gBattlescriptCurrInstr -_0802A364: .4byte BattleScript_NoItemSteal -_0802A368: .4byte gLastUsedAbility -_0802A36C: - lsls r0, r4, 1 - ldr r4, _0802A458 @ =0x020160f0 - adds r6, r0, r4 - ldrh r5, [r5, 0x2E] - mov r10, r5 - strh r1, [r6] - ldr r3, _0802A45C @ =gBankAttacker - ldrb r0, [r3] - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - add r0, r9 - movs r1, 0 - strh r1, [r0, 0x2E] - ldrb r0, [r7] - mov r2, r8 - muls r2, r0 - adds r0, r2, 0 - add r0, r9 - mov r3, r10 - strh r3, [r0, 0x2E] - ldr r5, _0802A460 @ =gActiveBank - ldr r1, _0802A45C @ =gBankAttacker - ldrb r0, [r1] - strb r0, [r5] - str r6, [sp] - movs r0, 0 - movs r1, 0x2 - movs r2, 0 - movs r3, 0x2 - bl EmitSetAttributes - ldr r2, _0802A45C @ =gBankAttacker - ldrb r0, [r2] - bl MarkBufferBankForExecution - ldrb r0, [r7] - strb r0, [r5] - ldrb r0, [r7] - mov r3, r8 - muls r3, r0 - adds r0, r3, 0 - mov r1, r9 - adds r1, 0x2E - adds r0, r1 - str r0, [sp] - movs r0, 0 - movs r1, 0x2 - movs r2, 0 - movs r3, 0x2 - bl EmitSetAttributes - ldrb r0, [r7] - bl MarkBufferBankForExecution - ldr r0, _0802A464 @ =0xfffe9f10 - adds r4, r0 - ldrb r0, [r7] - lsls r0, 1 - ldr r2, _0802A468 @ =0x000160e8 - adds r0, r2 - adds r0, r4 - movs r1, 0 - strb r1, [r0] - ldrb r0, [r7] - lsls r0, 1 - ldr r1, _0802A46C @ =0x000160e9 - adds r0, r1 - adds r0, r4 - movs r3, 0 - strb r3, [r0] - ldr r3, _0802A45C @ =gBankAttacker - ldrb r0, [r3] - lsls r0, 1 - adds r0, r2 - adds r0, r4 - movs r2, 0 - strb r2, [r0] - ldrb r0, [r3] - lsls r0, 1 - adds r0, r1 - adds r0, r4 - strb r2, [r0] - ldr r1, _0802A470 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - ldr r1, _0802A474 @ =gBattleTextBuff1 - movs r3, 0xFD - strb r3, [r1] - movs r2, 0xA - strb r2, [r1, 0x1] - ldrh r0, [r6] - strb r0, [r1, 0x2] - ldrh r0, [r6] - lsrs r0, 8 - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldr r1, _0802A478 @ =gBattleTextBuff2 - strb r3, [r1] - strb r2, [r1, 0x1] - mov r3, r10 - strb r3, [r1, 0x2] - mov r2, r10 - lsrs r0, r2, 8 - strb r0, [r1, 0x3] - movs r0, 0x1 - negs r0, r0 - strb r0, [r1, 0x4] - cmp r2, 0 - beq _0802A480 - ldrh r0, [r6] - cmp r0, 0 - beq _0802A494 - ldr r1, _0802A47C @ =gBattleCommunication - movs r0, 0x2 - b _0802A498 - .align 2, 0 -_0802A458: .4byte 0x020160f0 -_0802A45C: .4byte gBankAttacker -_0802A460: .4byte gActiveBank -_0802A464: .4byte 0xfffe9f10 -_0802A468: .4byte 0x000160e8 -_0802A46C: .4byte 0x000160e9 -_0802A470: .4byte gBattlescriptCurrInstr -_0802A474: .4byte gBattleTextBuff1 -_0802A478: .4byte gBattleTextBuff2 -_0802A47C: .4byte gBattleCommunication -_0802A480: - ldrh r0, [r6] - cmp r0, 0 - beq _0802A494 - ldr r0, _0802A490 @ =gBattleCommunication - movs r3, 0 - strb r3, [r0, 0x5] - b _0802A49A - .align 2, 0 -_0802A490: .4byte gBattleCommunication -_0802A494: - ldr r1, _0802A4AC @ =gBattleCommunication - movs r0, 0x1 -_0802A498: - strb r0, [r1, 0x5] -_0802A49A: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802A4AC: .4byte gBattleCommunication - thumb_func_end sub_802A218 - - thumb_func_start sub_802A4B0 -sub_802A4B0: @ 802A4B0 - push {r4,lr} - ldr r3, _0802A4F0 @ =gBattleMons - ldr r4, _0802A4F4 @ =gBankTarget - ldrb r0, [r4] - movs r2, 0x58 - muls r0, r2 - adds r0, r3 - adds r0, 0x20 - ldrb r1, [r0] - adds r0, r1, 0 - cmp r0, 0 - beq _0802A504 - cmp r0, 0x19 - beq _0802A504 - ldr r0, _0802A4F8 @ =gBankAttacker - ldrb r0, [r0] - muls r0, r2 - adds r0, r3 - adds r0, 0x20 - strb r1, [r0] - ldr r1, _0802A4FC @ =gLastUsedAbility - ldrb r0, [r4] - muls r0, r2 - adds r0, r3 - adds r0, 0x20 - ldrb r0, [r0] - strb r0, [r1] - ldr r1, _0802A500 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _0802A51E - .align 2, 0 -_0802A4F0: .4byte gBattleMons -_0802A4F4: .4byte gBankTarget -_0802A4F8: .4byte gBankAttacker -_0802A4FC: .4byte gLastUsedAbility -_0802A500: .4byte gBattlescriptCurrInstr -_0802A504: - ldr r3, _0802A524 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802A51E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802A524: .4byte gBattlescriptCurrInstr - thumb_func_end sub_802A4B0 - - thumb_func_start atkD4_802C408 -atkD4_802C408: @ 802A528 - push {r4-r7,lr} - ldr r7, _0802A53C @ =gBattlescriptCurrInstr - ldr r2, [r7] - ldrb r3, [r2, 0x1] - cmp r3, 0 - beq _0802A540 - cmp r3, 0x1 - beq _0802A578 - b _0802A5F4 - .align 2, 0 -_0802A53C: .4byte gBattlescriptCurrInstr -_0802A540: - ldr r1, _0802A56C @ =gWishFutureKnock - ldr r4, _0802A570 @ =gBankAttacker - adds r0, r1, 0 - adds r0, 0x20 - ldrb r5, [r4] - adds r3, r0, r5 - ldrb r0, [r3] - cmp r0, 0 - bne _0802A5C4 - movs r0, 0x2 - strb r0, [r3] - ldrb r0, [r4] - adds r1, 0x24 - adds r1, r0, r1 - ldr r2, _0802A574 @ =gBattlePartyID - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - strb r0, [r1] - ldr r0, [r7] - adds r0, 0x6 - b _0802A5F2 - .align 2, 0 -_0802A56C: .4byte gWishFutureKnock -_0802A570: .4byte gBankAttacker -_0802A574: .4byte gBattlePartyID -_0802A578: - ldr r1, _0802A5DC @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x4 - strb r0, [r1, 0x1] - ldr r4, _0802A5E0 @ =gBankTarget - ldrb r0, [r4] - strb r0, [r1, 0x2] - ldr r0, _0802A5E4 @ =gWishFutureKnock - adds r0, 0x24 - ldrb r5, [r4] - adds r0, r5 - ldrb r0, [r0] - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldr r1, _0802A5E8 @ =gBattleMoveDamage - ldr r6, _0802A5EC @ =gBattleMons - ldrb r0, [r4] - movs r5, 0x58 - muls r0, r5 - adds r0, r6 - ldrh r0, [r0, 0x2C] - lsrs r0, 1 - str r0, [r1] - cmp r0, 0 - bne _0802A5B0 - str r3, [r1] -_0802A5B0: - ldr r0, [r1] - negs r0, r0 - str r0, [r1] - ldrb r0, [r4] - muls r0, r5 - adds r0, r6 - ldrh r1, [r0, 0x28] - ldrh r0, [r0, 0x2C] - cmp r1, r0 - bne _0802A5F0 -_0802A5C4: - ldrb r1, [r2, 0x2] - ldrb r0, [r2, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r7] - b _0802A5F4 - .align 2, 0 -_0802A5DC: .4byte gBattleTextBuff1 -_0802A5E0: .4byte gBankTarget -_0802A5E4: .4byte gWishFutureKnock -_0802A5E8: .4byte gBattleMoveDamage -_0802A5EC: .4byte gBattleMons -_0802A5F0: - adds r0, r2, 0x6 -_0802A5F2: - str r0, [r7] -_0802A5F4: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end atkD4_802C408 - - thumb_func_start sub_802A5FC -sub_802A5FC: @ 802A5FC - push {lr} - ldr r1, _0802A634 @ =gStatuses3 - ldr r0, _0802A638 @ =gBankAttacker - ldrb r0, [r0] - lsls r0, 2 - adds r2, r0, r1 - ldr r1, [r2] - movs r3, 0x80 - lsls r3, 3 - adds r0, r1, 0 - ands r0, r3 - cmp r0, 0 - beq _0802A640 - ldr r3, _0802A63C @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802A64C - .align 2, 0 -_0802A634: .4byte gStatuses3 -_0802A638: .4byte gBankAttacker -_0802A63C: .4byte gBattlescriptCurrInstr -_0802A640: - orrs r1, r3 - str r1, [r2] - ldr r1, _0802A650 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0802A64C: - pop {r0} - bx r0 - .align 2, 0 -_0802A650: .4byte gBattlescriptCurrInstr - thumb_func_end sub_802A5FC - - thumb_func_start atkD6_doubledamagedealtifdamaged -atkD6_doubledamagedealtifdamaged: @ 802A654 - push {lr} - ldr r3, _0802A6A4 @ =gProtectStructs - ldr r0, _0802A6A8 @ =gBankAttacker - ldrb r0, [r0] - lsls r2, r0, 4 - adds r0, r3, 0x4 - adds r0, r2, r0 - ldr r0, [r0] - cmp r0, 0 - beq _0802A674 - adds r0, r2, r3 - ldr r1, _0802A6AC @ =gBankTarget - ldrb r0, [r0, 0xC] - ldrb r1, [r1] - cmp r0, r1 - beq _0802A68C -_0802A674: - adds r0, r3, 0 - adds r0, 0x8 - adds r0, r2, r0 - ldr r0, [r0] - cmp r0, 0 - beq _0802A696 - adds r0, r2, r3 - ldr r1, _0802A6AC @ =gBankTarget - ldrb r0, [r0, 0xD] - ldrb r1, [r1] - cmp r0, r1 - bne _0802A696 -_0802A68C: - ldr r0, _0802A6B0 @ =0x02000000 - ldr r1, _0802A6B4 @ =0x0001601f - adds r0, r1 - movs r1, 0x2 - strb r1, [r0] -_0802A696: - ldr r1, _0802A6B8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0802A6A4: .4byte gProtectStructs -_0802A6A8: .4byte gBankAttacker -_0802A6AC: .4byte gBankTarget -_0802A6B0: .4byte 0x02000000 -_0802A6B4: .4byte 0x0001601f -_0802A6B8: .4byte gBattlescriptCurrInstr - thumb_func_end atkD6_doubledamagedealtifdamaged - - thumb_func_start sub_802A6BC -sub_802A6BC: @ 802A6BC - push {r4,lr} - ldr r1, _0802A700 @ =gStatuses3 - ldr r0, _0802A704 @ =gBankTarget - ldrb r3, [r0] - lsls r0, r3, 2 - adds r4, r0, r1 - ldr r2, [r4] - movs r0, 0xC0 - lsls r0, 5 - ands r0, r2 - cmp r0, 0 - bne _0802A6E4 - ldr r1, _0802A708 @ =gBattleMons - movs r0, 0x58 - muls r0, r3 - adds r1, 0x4C - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _0802A710 -_0802A6E4: - ldr r3, _0802A70C @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802A720 - .align 2, 0 -_0802A700: .4byte gStatuses3 -_0802A704: .4byte gBankTarget -_0802A708: .4byte gBattleMons -_0802A70C: .4byte gBattlescriptCurrInstr -_0802A710: - movs r0, 0x80 - lsls r0, 5 - orrs r2, r0 - str r2, [r4] - ldr r1, _0802A728 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0802A720: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802A728: .4byte gBattlescriptCurrInstr - thumb_func_end sub_802A6BC - - thumb_func_start atkD8_setdamagetohealthdifference -atkD8_setdamagetohealthdifference: @ 802A72C - push {lr} - ldr r2, _0802A768 @ =gBattleMons - ldr r0, _0802A76C @ =gBankTarget - ldrb r0, [r0] - movs r1, 0x58 - muls r0, r1 - adds r3, r0, r2 - ldr r0, _0802A770 @ =gBankAttacker - ldrb r0, [r0] - muls r0, r1 - adds r1, r0, r2 - ldrh r0, [r3, 0x28] - ldrh r2, [r1, 0x28] - cmp r0, r2 - bhi _0802A778 - ldr r3, _0802A774 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802A78A - .align 2, 0 -_0802A768: .4byte gBattleMons -_0802A76C: .4byte gBankTarget -_0802A770: .4byte gBankAttacker -_0802A774: .4byte gBattlescriptCurrInstr -_0802A778: - ldr r2, _0802A790 @ =gBattleMoveDamage - ldrh r0, [r3, 0x28] - ldrh r1, [r1, 0x28] - subs r0, r1 - str r0, [r2] - ldr r1, _0802A794 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0802A78A: - pop {r0} - bx r0 - .align 2, 0 -_0802A790: .4byte gBattleMoveDamage -_0802A794: .4byte gBattlescriptCurrInstr - thumb_func_end atkD8_setdamagetohealthdifference - - thumb_func_start atkD9_scaledamagebyhealthratio -atkD9_scaledamagebyhealthratio: @ 802A798 - push {r4,lr} - ldr r4, _0802A7E4 @ =gDynamicBasePower - ldrh r0, [r4] - cmp r0, 0 - bne _0802A7D4 - ldr r2, _0802A7E8 @ =gBattleMoves - ldr r0, _0802A7EC @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r3, [r0, 0x1] - ldr r2, _0802A7F0 @ =gBattleMons - ldr r0, _0802A7F4 @ =gBankAttacker - ldrb r1, [r0] - movs r0, 0x58 - muls r1, r0 - adds r1, r2 - ldrh r0, [r1, 0x28] - muls r0, r3 - ldrh r1, [r1, 0x2C] - bl __divsi3 - strh r0, [r4] - lsls r0, 16 - cmp r0, 0 - bne _0802A7D4 - movs r0, 0x1 - strh r0, [r4] -_0802A7D4: - ldr r1, _0802A7F8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802A7E4: .4byte gDynamicBasePower -_0802A7E8: .4byte gBattleMoves -_0802A7EC: .4byte gCurrentMove -_0802A7F0: .4byte gBattleMons -_0802A7F4: .4byte gBankAttacker -_0802A7F8: .4byte gBattlescriptCurrInstr - thumb_func_end atkD9_scaledamagebyhealthratio - - thumb_func_start atkDA_abilityswap -atkDA_abilityswap: @ 802A7FC - push {r4-r6,lr} - ldr r5, _0802A860 @ =gBattleMons - ldr r0, _0802A864 @ =gBankAttacker - ldrb r0, [r0] - movs r4, 0x58 - muls r0, r4 - adds r0, r5 - adds r2, r0, 0 - adds r2, 0x20 - ldrb r1, [r2] - cmp r1, 0 - bne _0802A824 - ldr r0, _0802A868 @ =gBankTarget - ldrb r0, [r0] - muls r0, r4 - adds r0, r5 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0 - beq _0802A844 -_0802A824: - cmp r1, 0x19 - beq _0802A844 - ldr r6, _0802A868 @ =gBankTarget - ldrb r0, [r6] - muls r0, r4 - adds r0, r5 - adds r0, 0x20 - ldrb r3, [r0] - cmp r3, 0x19 - beq _0802A844 - ldr r0, _0802A86C @ =gBattleMoveFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - beq _0802A874 -_0802A844: - ldr r3, _0802A870 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802A88A - .align 2, 0 -_0802A860: .4byte gBattleMons -_0802A864: .4byte gBankAttacker -_0802A868: .4byte gBankTarget -_0802A86C: .4byte gBattleMoveFlags -_0802A870: .4byte gBattlescriptCurrInstr -_0802A874: - ldrb r1, [r2] - strb r3, [r2] - ldrb r0, [r6] - muls r0, r4 - adds r0, r5 - adds r0, 0x20 - strb r1, [r0] - ldr r1, _0802A890 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0802A88A: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802A890: .4byte gBattlescriptCurrInstr - thumb_func_end atkDA_abilityswap - - thumb_func_start atkDB_imprisoneffect -atkDB_imprisoneffect: @ 802A894 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r0, 0 - mov r8, r0 - ldr r1, _0802A8B8 @ =gStatuses3 - ldr r0, _0802A8BC @ =gBankAttacker - ldrb r2, [r0] - lsls r0, r2, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 6 - ands r0, r1 - cmp r0, 0 - beq _0802A8E8 - b _0802A95E - .align 2, 0 -_0802A8B8: .4byte gStatuses3 -_0802A8BC: .4byte gBankAttacker -_0802A8C0: - ldr r0, _0802A8E0 @ =gStatuses3 - mov r2, r9 - ldrb r1, [r2] - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - movs r2, 0x80 - lsls r2, 6 - orrs r0, r2 - str r0, [r1] - ldr r1, _0802A8E4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _0802A956 - .align 2, 0 -_0802A8E0: .4byte gStatuses3 -_0802A8E4: .4byte gBattlescriptCurrInstr -_0802A8E8: - adds r0, r2, 0 - bl sub_801529C - movs r6, 0 - b _0802A94E -_0802A8F2: - adds r0, r6, 0 - bl GetBankSide - lsls r0, 24 - lsrs r0, 24 - cmp r8, r0 - beq _0802A948 - movs r4, 0 - ldr r7, _0802A984 @ =gBankAttacker - mov r9, r7 - ldr r0, _0802A988 @ =gBattleMons - mov r12, r0 - mov r1, r9 - ldrb r0, [r1] - mov r2, r12 - adds r2, 0xC - movs r1, 0x58 - muls r0, r1 - adds r3, r0, r2 - adds r5, r6, 0 - muls r5, r1 -_0802A91C: - movs r2, 0 - ldrh r1, [r3] - mov r0, r12 - adds r0, 0xC - adds r0, r5, r0 -_0802A926: - ldrh r7, [r0] - cmp r1, r7 - bne _0802A930 - cmp r1, 0 - bne _0802A938 -_0802A930: - adds r0, 0x2 - adds r2, 0x1 - cmp r2, 0x3 - ble _0802A926 -_0802A938: - cmp r2, 0x4 - bne _0802A944 - adds r3, 0x2 - adds r4, 0x1 - cmp r4, 0x3 - ble _0802A91C -_0802A944: - cmp r4, 0x4 - bne _0802A8C0 -_0802A948: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_0802A94E: - ldr r0, _0802A98C @ =gNoOfAllBanks - ldrb r0, [r0] - cmp r6, r0 - bcc _0802A8F2 -_0802A956: - ldr r0, _0802A98C @ =gNoOfAllBanks - ldrb r0, [r0] - cmp r6, r0 - bne _0802A978 -_0802A95E: - ldr r3, _0802A990 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802A978: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802A984: .4byte gBankAttacker -_0802A988: .4byte gBattleMons -_0802A98C: .4byte gNoOfAllBanks -_0802A990: .4byte gBattlescriptCurrInstr - thumb_func_end atkDB_imprisoneffect - - thumb_func_start atkDC_setgrudge -atkDC_setgrudge: @ 802A994 - push {lr} - ldr r1, _0802A9CC @ =gStatuses3 - ldr r0, _0802A9D0 @ =gBankAttacker - ldrb r0, [r0] - lsls r0, 2 - adds r2, r0, r1 - ldr r1, [r2] - movs r3, 0x80 - lsls r3, 7 - adds r0, r1, 0 - ands r0, r3 - cmp r0, 0 - beq _0802A9D8 - ldr r3, _0802A9D4 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802A9E4 - .align 2, 0 -_0802A9CC: .4byte gStatuses3 -_0802A9D0: .4byte gBankAttacker -_0802A9D4: .4byte gBattlescriptCurrInstr -_0802A9D8: - orrs r1, r3 - str r1, [r2] - ldr r1, _0802A9E8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0802A9E4: - pop {r0} - bx r0 - .align 2, 0 -_0802A9E8: .4byte gBattlescriptCurrInstr - thumb_func_end atkDC_setgrudge - - thumb_func_start atkDD_weightdamagecalculation -atkDD_weightdamagecalculation: @ 802A9EC - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r5, 0 - ldr r2, _0802AA50 @ =gWeightDamage - ldrh r0, [r2] - ldr r1, _0802AA54 @ =0x0000ffff - cmp r0, r1 - beq _0802AA64 - adds r6, r2, 0 - ldr r0, _0802AA58 @ =gBattleMons - mov r8, r0 - adds r7, r1, 0 - adds r4, r6, 0 -_0802AA08: - ldr r0, _0802AA5C @ =gBankTarget - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - add r0, r8 - ldrh r0, [r0] - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - bl GetPokedexHeightWeight - ldrh r1, [r4] - lsls r0, 16 - lsrs r0, 16 - cmp r1, r0 - bhi _0802AA36 - adds r4, 0x4 - adds r5, 0x2 - ldrh r0, [r4] - cmp r0, r7 - bne _0802AA08 -_0802AA36: - lsls r0, r5, 1 - adds r0, r6 - ldrh r1, [r0] - ldr r0, _0802AA54 @ =0x0000ffff - cmp r1, r0 - beq _0802AA64 - ldr r0, _0802AA60 @ =gDynamicBasePower - adds r1, r5, 0x1 - lsls r1, 1 - adds r1, r6 - ldrh r1, [r1] - strh r1, [r0] - b _0802AA6A - .align 2, 0 -_0802AA50: .4byte gWeightDamage -_0802AA54: .4byte 0x0000ffff -_0802AA58: .4byte gBattleMons -_0802AA5C: .4byte gBankTarget -_0802AA60: .4byte gDynamicBasePower -_0802AA64: - ldr r1, _0802AA7C @ =gDynamicBasePower - movs r0, 0x78 - strh r0, [r1] -_0802AA6A: - ldr r1, _0802AA80 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802AA7C: .4byte gDynamicBasePower -_0802AA80: .4byte gBattlescriptCurrInstr - thumb_func_end atkDD_weightdamagecalculation - - thumb_func_start atkDE_asistattackselect -atkDE_asistattackselect: @ 802AA84 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - movs r0, 0 - mov r10, r0 - ldr r0, _0802AB9C @ =gBankAttacker - ldrb r0, [r0] - bl GetBankIdentity - movs r1, 0x1 - ands r1, r0 - ldr r0, _0802ABA0 @ =gPlayerParty - str r0, [sp] - cmp r1, 0 - beq _0802AAAC - ldr r1, _0802ABA4 @ =gEnemyParty - str r1, [sp] -_0802AAAC: - movs r2, 0 -_0802AAAE: - ldr r1, _0802ABA8 @ =gBattlePartyID - ldr r0, _0802AB9C @ =gBankAttacker - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - adds r1, r2, 0x1 - str r1, [sp, 0x4] - ldrh r0, [r0] - cmp r2, r0 - beq _0802AB54 - movs r0, 0x64 - adds r6, r2, 0 - muls r6, r0 - ldr r0, [sp] - adds r4, r0, r6 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - cmp r0, 0 - beq _0802AB54 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - beq _0802AB54 - movs r5, 0 - ldr r1, _0802ABAC @ =0x0000ffff - mov r8, r1 - mov r9, r6 - mov r1, r10 - lsls r0, r1, 1 - ldr r1, _0802ABB0 @ =0x02016024 - adds r6, r0, r1 -_0802AAF8: - movs r7, 0 - adds r1, r5, 0 - adds r1, 0xD - ldr r0, [sp] - add r0, r9 - bl GetMonData - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - bl sub_802838C - lsls r0, 24 - adds r1, r5, 0x1 - cmp r0, 0 - bne _0802AB4E - ldr r0, _0802ABB4 @ =gUnknown_081FACFE - ldrh r2, [r0] - adds r3, r0, 0 - cmp r2, r8 - beq _0802AB42 - cmp r4, r2 - beq _0802AB38 - ldr r5, _0802ABAC @ =0x0000ffff - adds r2, r3, 0 -_0802AB2A: - adds r2, 0x2 - adds r7, 0x1 - ldrh r0, [r2] - cmp r0, r5 - beq _0802AB42 - cmp r4, r0 - bne _0802AB2A -_0802AB38: - lsls r0, r7, 1 - adds r0, r3 - ldrh r0, [r0] - cmp r0, r8 - bne _0802AB4E -_0802AB42: - cmp r4, 0 - beq _0802AB4E - strh r4, [r6] - adds r6, 0x2 - movs r0, 0x1 - add r10, r0 -_0802AB4E: - adds r5, r1, 0 - cmp r5, 0x3 - ble _0802AAF8 -_0802AB54: - ldr r2, [sp, 0x4] - cmp r2, 0x5 - ble _0802AAAE - mov r1, r10 - cmp r1, 0 - beq _0802ABCC - ldr r2, _0802ABB8 @ =gHitMarker - ldr r0, [r2] - ldr r1, _0802ABBC @ =0xfffffbff - ands r0, r1 - str r0, [r2] - ldr r4, _0802ABC0 @ =gUnknown_02024BEA - bl Random - movs r1, 0xFF - ands r1, r0 - mov r0, r10 - muls r0, r1 - asrs r0, 8 - lsls r0, 1 - ldr r1, _0802ABB0 @ =0x02016024 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r4] - ldrh r0, [r4] - movs r1, 0 - bl sub_801B5C0 - ldr r1, _0802ABC4 @ =gBankTarget - strb r0, [r1] - ldr r1, _0802ABC8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _0802ABE6 - .align 2, 0 -_0802AB9C: .4byte gBankAttacker -_0802ABA0: .4byte gPlayerParty -_0802ABA4: .4byte gEnemyParty -_0802ABA8: .4byte gBattlePartyID -_0802ABAC: .4byte 0x0000ffff -_0802ABB0: .4byte 0x02016024 -_0802ABB4: .4byte gUnknown_081FACFE -_0802ABB8: .4byte gHitMarker -_0802ABBC: .4byte 0xfffffbff -_0802ABC0: .4byte gUnknown_02024BEA -_0802ABC4: .4byte gBankTarget -_0802ABC8: .4byte gBattlescriptCurrInstr -_0802ABCC: - ldr r3, _0802ABF8 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802ABE6: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802ABF8: .4byte gBattlescriptCurrInstr - thumb_func_end atkDE_asistattackselect - - thumb_func_start atkDF_setmagiccoat -atkDF_setmagiccoat: @ 802ABFC - push {lr} - ldr r1, _0802AC44 @ =gBankTarget - ldr r3, _0802AC48 @ =gBankAttacker - ldrb r0, [r3] - strb r0, [r1] - ldr r2, _0802AC4C @ =gSpecialStatuses - ldrb r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0] - ldr r0, _0802AC50 @ =gCurrentMoveTurn - ldrb r1, [r0] - ldr r0, _0802AC54 @ =gNoOfAllBanks - ldrb r0, [r0] - subs r0, 0x1 - cmp r1, r0 - bne _0802AC5C - ldr r3, _0802AC58 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802AC74 - .align 2, 0 -_0802AC44: .4byte gBankTarget -_0802AC48: .4byte gBankAttacker -_0802AC4C: .4byte gSpecialStatuses -_0802AC50: .4byte gCurrentMoveTurn -_0802AC54: .4byte gNoOfAllBanks -_0802AC58: .4byte gBattlescriptCurrInstr -_0802AC5C: - ldr r0, _0802AC78 @ =gProtectStructs - ldrb r1, [r3] - lsls r1, 4 - adds r1, r0 - ldrb r0, [r1] - movs r2, 0x10 - orrs r0, r2 - strb r0, [r1] - ldr r1, _0802AC7C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0802AC74: - pop {r0} - bx r0 - .align 2, 0 -_0802AC78: .4byte gProtectStructs -_0802AC7C: .4byte gBattlescriptCurrInstr - thumb_func_end atkDF_setmagiccoat - - thumb_func_start atkE0_setstealstatchange -atkE0_setstealstatchange: @ 802AC80 - push {lr} - ldr r2, _0802ACC4 @ =gSpecialStatuses - ldr r3, _0802ACC8 @ =gBankAttacker - ldrb r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0] - ldr r0, _0802ACCC @ =gCurrentMoveTurn - ldrb r1, [r0] - ldr r0, _0802ACD0 @ =gNoOfAllBanks - ldrb r0, [r0] - subs r0, 0x1 - cmp r1, r0 - bne _0802ACD8 - ldr r3, _0802ACD4 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802ACEE - .align 2, 0 -_0802ACC4: .4byte gSpecialStatuses -_0802ACC8: .4byte gBankAttacker -_0802ACCC: .4byte gCurrentMoveTurn -_0802ACD0: .4byte gNoOfAllBanks -_0802ACD4: .4byte gBattlescriptCurrInstr -_0802ACD8: - ldr r0, _0802ACF4 @ =gProtectStructs - ldrb r1, [r3] - lsls r1, 4 - adds r1, r0 - ldrb r0, [r1] - orrs r0, r2 - strb r0, [r1] - ldr r1, _0802ACF8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0802ACEE: - pop {r0} - bx r0 - .align 2, 0 -_0802ACF4: .4byte gProtectStructs -_0802ACF8: .4byte gBattlescriptCurrInstr - thumb_func_end atkE0_setstealstatchange - - thumb_func_start atkE1_802CBE4 -atkE1_802CBE4: @ 802ACFC - push {r4-r6,lr} - ldr r4, _0802ADA0 @ =0x02000000 - ldr r1, _0802ADA4 @ =0x000160dd - adds r0, r4, r1 - ldrb r0, [r0] - subs r1, 0xDA - adds r4, r1 - strb r0, [r4] - ldrb r0, [r4] - bl GetBankSide - lsls r0, 24 - lsrs r5, r0, 24 - ldr r2, _0802ADA8 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r2] - movs r0, 0x9 - strb r0, [r2, 0x1] - ldr r3, _0802ADAC @ =gBattleMons - ldrb r1, [r4] - movs r0, 0x58 - muls r0, r1 - adds r0, r3 - adds r0, 0x20 - ldrb r0, [r0] - strb r0, [r2, 0x2] - movs r0, 0xFF - strb r0, [r2, 0x3] - ldr r2, _0802ADB0 @ =gBankTarget - ldr r1, _0802ADB4 @ =gNoOfAllBanks - ldrb r0, [r2] - ldrb r1, [r1] - cmp r0, r1 - bcs _0802AD84 - adds r4, r2, 0 - ldr r6, _0802ADB8 @ =gBitTable -_0802AD44: - ldrb r0, [r4] - bl GetBankSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, r5 - beq _0802AD66 - ldr r0, _0802ADBC @ =gAbsentBankFlags - ldrb r1, [r0] - ldrb r0, [r4] - lsls r0, 2 - adds r0, r6 - ldr r0, [r0] - ands r1, r0 - ldr r2, _0802ADB4 @ =gNoOfAllBanks - cmp r1, 0 - beq _0802AD7A -_0802AD66: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - ldr r1, _0802ADB4 @ =gNoOfAllBanks - lsls r0, 24 - lsrs r0, 24 - adds r2, r1, 0 - ldrb r1, [r2] - cmp r0, r1 - bcc _0802AD44 -_0802AD7A: - ldr r0, _0802ADB0 @ =gBankTarget - ldrb r0, [r0] - ldrb r2, [r2] - cmp r0, r2 - bcc _0802ADC4 -_0802AD84: - ldr r3, _0802ADC0 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802ADCC - .align 2, 0 -_0802ADA0: .4byte 0x02000000 -_0802ADA4: .4byte 0x000160dd -_0802ADA8: .4byte gBattleTextBuff1 -_0802ADAC: .4byte gBattleMons -_0802ADB0: .4byte gBankTarget -_0802ADB4: .4byte gNoOfAllBanks -_0802ADB8: .4byte gBitTable -_0802ADBC: .4byte gAbsentBankFlags -_0802ADC0: .4byte gBattlescriptCurrInstr -_0802ADC4: - ldr r1, _0802ADD4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0802ADCC: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802ADD4: .4byte gBattlescriptCurrInstr - thumb_func_end atkE1_802CBE4 - - thumb_func_start sub_802ADD8 -sub_802ADD8: @ 802ADD8 - push {r4-r7,lr} - sub sp, 0x4 - ldr r6, _0802AE44 @ =gBattlescriptCurrInstr - ldr r0, [r6] - ldrb r0, [r0, 0x1] - bl sub_8015150 - ldr r5, _0802AE48 @ =gActiveBank - strb r0, [r5] - ldr r4, _0802AE4C @ =gBattleMons - ldrb r0, [r5] - movs r1, 0x58 - mov r12, r1 - mov r1, r12 - muls r1, r0 - adds r0, r1, r4 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x1E - bne _0802AE34 - adds r4, 0x4C - adds r1, r4 - movs r0, 0 - str r0, [r1] - ldr r2, _0802AE50 @ =gBitTable - ldr r1, _0802AE54 @ =0x02000000 - ldrb r3, [r5] - ldr r7, _0802AE58 @ =0x00016064 - adds r0, r3, r7 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r2 - ldrb r2, [r0] - mov r0, r12 - muls r0, r3 - adds r0, r4 - str r0, [sp] - movs r0, 0 - movs r1, 0x28 - movs r3, 0x4 - bl EmitSetAttributes - ldrb r0, [r5] - bl MarkBufferBankForExecution -_0802AE34: - ldr r0, [r6] - adds r0, 0x2 - str r0, [r6] - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802AE44: .4byte gBattlescriptCurrInstr -_0802AE48: .4byte gActiveBank -_0802AE4C: .4byte gBattleMons -_0802AE50: .4byte gBitTable -_0802AE54: .4byte 0x02000000 -_0802AE58: .4byte 0x00016064 - thumb_func_end sub_802ADD8 - - thumb_func_start atkE3_jumpiffainted -atkE3_jumpiffainted: @ 802AE5C - push {r4,lr} - ldr r4, _0802AE98 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl sub_8015150 - ldr r1, _0802AE9C @ =gActiveBank - strb r0, [r1] - ldr r2, _0802AEA0 @ =gBattleMons - ldrb r1, [r1] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrh r0, [r0, 0x28] - cmp r0, 0 - bne _0802AEA4 - ldr r2, [r4] - ldrb r1, [r2, 0x2] - ldrb r0, [r2, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _0802AEAA - .align 2, 0 -_0802AE98: .4byte gBattlescriptCurrInstr -_0802AE9C: .4byte gActiveBank -_0802AEA0: .4byte gBattleMons -_0802AEA4: - ldr r0, [r4] - adds r0, 0x6 - str r0, [r4] -_0802AEAA: - pop {r4} - pop {r0} - bx r0 - thumb_func_end atkE3_jumpiffainted - - thumb_func_start sub_802AEB0 -sub_802AEB0: @ 802AEB0 - push {lr} - ldr r0, _0802AEC4 @ =gBattleTerrain - ldrb r0, [r0] - cmp r0, 0x7 - bhi _0802AF4C - lsls r0, 2 - ldr r1, _0802AEC8 @ =_0802AECC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802AEC4: .4byte gBattleTerrain -_0802AEC8: .4byte _0802AECC - .align 2, 0 -_0802AECC: - .4byte _0802AEEC - .4byte _0802AEF8 - .4byte _0802AF04 - .4byte _0802AF10 - .4byte _0802AF1C - .4byte _0802AF28 - .4byte _0802AF34 - .4byte _0802AF40 -_0802AEEC: - ldr r1, _0802AEF4 @ =gBattleCommunication - movs r0, 0x2 - b _0802AF50 - .align 2, 0 -_0802AEF4: .4byte gBattleCommunication -_0802AEF8: - ldr r1, _0802AF00 @ =gBattleCommunication - movs r0, 0x1 - b _0802AF50 - .align 2, 0 -_0802AF00: .4byte gBattleCommunication -_0802AF04: - ldr r1, _0802AF0C @ =gBattleCommunication - movs r0, 0x1B - b _0802AF50 - .align 2, 0 -_0802AF0C: .4byte gBattleCommunication -_0802AF10: - ldr r1, _0802AF18 @ =gBattleCommunication - movs r0, 0x17 - b _0802AF50 - .align 2, 0 -_0802AF18: .4byte gBattleCommunication -_0802AF1C: - ldr r1, _0802AF24 @ =gBattleCommunication - movs r0, 0x16 - b _0802AF50 - .align 2, 0 -_0802AF24: .4byte gBattleCommunication -_0802AF28: - ldr r1, _0802AF30 @ =gBattleCommunication - movs r0, 0x18 - b _0802AF50 - .align 2, 0 -_0802AF30: .4byte gBattleCommunication -_0802AF34: - ldr r1, _0802AF3C @ =gBattleCommunication - movs r0, 0x7 - b _0802AF50 - .align 2, 0 -_0802AF3C: .4byte gBattleCommunication -_0802AF40: - ldr r1, _0802AF48 @ =gBattleCommunication - movs r0, 0x8 - b _0802AF50 - .align 2, 0 -_0802AF48: .4byte gBattleCommunication -_0802AF4C: - ldr r1, _0802AF60 @ =gBattleCommunication - movs r0, 0x5 -_0802AF50: - strb r0, [r1, 0x3] - ldr r1, _0802AF64 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0802AF60: .4byte gBattleCommunication -_0802AF64: .4byte gBattlescriptCurrInstr - thumb_func_end sub_802AEB0 - - thumb_func_start sub_802AF68 -sub_802AF68: @ 802AF68 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r7, 0 - ldr r0, _0802AFB4 @ =gBaseStats - mov r9, r0 - ldr r1, _0802AFB8 @ =gPickupItems - mov r8, r1 -_0802AF7A: - movs r0, 0x64 - adds r4, r7, 0 - muls r4, r0 - ldr r0, _0802AFBC @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0 - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r6, r0, 16 - adds r0, r4, 0 - movs r1, 0x2E - bl GetMonData - cmp r0, 0 - beq _0802AFC0 - lsls r0, r5, 3 - subs r0, r5 - lsls r0, 2 - add r0, r9 - ldrb r0, [r0, 0x17] - b _0802AFCA - .align 2, 0 -_0802AFB4: .4byte gBaseStats -_0802AFB8: .4byte gPickupItems -_0802AFBC: .4byte gPlayerParty -_0802AFC0: - lsls r0, r5, 3 - subs r0, r5 - lsls r0, 2 - add r0, r9 - ldrb r0, [r0, 0x16] -_0802AFCA: - adds r4, r7, 0x1 - cmp r0, 0x35 - bne _0802B032 - cmp r5, 0 - beq _0802B032 - movs r0, 0xCE - lsls r0, 1 - cmp r5, r0 - beq _0802B032 - cmp r6, 0 - bne _0802B032 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - lsls r0, 16 - cmp r0, 0 - bne _0802B032 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r3, r0, 16 - movs r2, 0 - mov r1, r8 - ldrh r0, [r1, 0x2] - cmp r0, r3 - bgt _0802B020 - adds r1, 0x2 -_0802B012: - adds r1, 0x4 - adds r2, 0x2 - cmp r2, 0x11 - bgt _0802B020 - ldrh r0, [r1] - cmp r0, r3 - ble _0802B012 -_0802B020: - movs r0, 0x64 - muls r0, r7 - ldr r1, _0802B04C @ =gPlayerParty - adds r0, r1 - lsls r2, 1 - add r2, r8 - movs r1, 0xC - bl SetMonData -_0802B032: - adds r7, r4, 0 - cmp r7, 0x5 - ble _0802AF7A - ldr r1, _0802B050 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802B04C: .4byte gPlayerParty -_0802B050: .4byte gBattlescriptCurrInstr - thumb_func_end sub_802AF68 - - thumb_func_start atkE6_castform_transform -atkE6_castform_transform: @ 802B054 - push {r4,lr} - ldr r4, _0802B0A8 @ =gActiveBank - ldr r3, _0802B0AC @ =0x02000000 - ldr r1, _0802B0B0 @ =0x00016003 - adds r0, r3, r1 - ldrb r0, [r0] - strb r0, [r4] - ldr r1, _0802B0B4 @ =gBattleMons - ldrb r2, [r4] - movs r0, 0x58 - muls r0, r2 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 17 - ands r0, r1 - cmp r0, 0 - beq _0802B086 - ldr r0, _0802B0B8 @ =0x0001609b - adds r2, r3, r0 - ldrb r1, [r2] - movs r0, 0x80 - orrs r0, r1 - strb r0, [r2] -_0802B086: - ldr r1, _0802B0B8 @ =0x0001609b - adds r0, r3, r1 - ldrb r2, [r0] - movs r0, 0 - movs r1, 0 - bl EmitBattleAnimation - ldrb r0, [r4] - bl MarkBufferBankForExecution - ldr r1, _0802B0BC @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802B0A8: .4byte gActiveBank -_0802B0AC: .4byte 0x02000000 -_0802B0B0: .4byte 0x00016003 -_0802B0B4: .4byte gBattleMons -_0802B0B8: .4byte 0x0001609b -_0802B0BC: .4byte gBattlescriptCurrInstr - thumb_func_end atkE6_castform_transform - - thumb_func_start atkE7_castform_switch -atkE7_castform_switch: @ 802B0C0 - push {r4,r5,lr} - ldr r1, _0802B0F4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - ldr r5, _0802B0F8 @ =0x02000000 - ldr r1, _0802B0FC @ =0x00016003 - adds r0, r5, r1 - ldrb r0, [r0] - bl castform_switch - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - beq _0802B0EC - ldr r0, _0802B100 @ =gUnknown_081D977D - bl b_push_move_exec - subs r1, r4, 0x1 - ldr r2, _0802B104 @ =0x0001609b - adds r0, r5, r2 - strb r1, [r0] -_0802B0EC: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802B0F4: .4byte gBattlescriptCurrInstr -_0802B0F8: .4byte 0x02000000 -_0802B0FC: .4byte 0x00016003 -_0802B100: .4byte gUnknown_081D977D -_0802B104: .4byte 0x0001609b - thumb_func_end atkE7_castform_switch - - thumb_func_start atkE8_settypebasedhalvers -atkE8_settypebasedhalvers: @ 802B108 - push {r4,lr} - movs r4, 0 - ldr r2, _0802B144 @ =gBattleMoves - ldr r0, _0802B148 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0xC9 - bne _0802B158 - ldr r1, _0802B14C @ =gStatuses3 - ldr r0, _0802B150 @ =gBankAttacker - ldrb r0, [r0] - lsls r0, 2 - adds r2, r0, r1 - ldr r1, [r2] - movs r3, 0x80 - lsls r3, 9 - adds r0, r1, 0 - ands r0, r3 - cmp r0, 0 - bne _0802B17C - orrs r1, r3 - str r1, [r2] - ldr r0, _0802B154 @ =gBattleCommunication - strb r4, [r0, 0x5] - b _0802B180 - .align 2, 0 -_0802B144: .4byte gBattleMoves -_0802B148: .4byte gCurrentMove -_0802B14C: .4byte gStatuses3 -_0802B150: .4byte gBankAttacker -_0802B154: .4byte gBattleCommunication -_0802B158: - ldr r1, _0802B18C @ =gStatuses3 - ldr r0, _0802B190 @ =gBankAttacker - ldrb r0, [r0] - lsls r0, 2 - adds r2, r0, r1 - ldr r1, [r2] - movs r3, 0x80 - lsls r3, 10 - adds r0, r1, 0 - ands r0, r3 - cmp r0, 0 - bne _0802B17C - orrs r1, r3 - str r1, [r2] - ldr r1, _0802B194 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x5] - movs r4, 0x1 -_0802B17C: - cmp r4, 0 - beq _0802B19C -_0802B180: - ldr r1, _0802B198 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _0802B1B6 - .align 2, 0 -_0802B18C: .4byte gStatuses3 -_0802B190: .4byte gBankAttacker -_0802B194: .4byte gBattleCommunication -_0802B198: .4byte gBattlescriptCurrInstr -_0802B19C: - ldr r3, _0802B1BC @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802B1B6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802B1BC: .4byte gBattlescriptCurrInstr - thumb_func_end atkE8_settypebasedhalvers - - thumb_func_start sub_802B1C0 -sub_802B1C0: @ 802B1C0 - push {lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0xD - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _0802B276 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0x4D - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - bne _0802B276 - ldr r3, _0802B218 @ =gBattleWeather - ldrb r0, [r3] - ldr r2, _0802B21C @ =0x02000000 - cmp r0, 0 - beq _0802B202 - ldr r0, _0802B220 @ =0x0001601f - adds r1, r2, r0 - movs r0, 0x2 - strb r0, [r1] -_0802B202: - ldrh r1, [r3] - movs r0, 0x7 - ands r0, r1 - cmp r0, 0 - beq _0802B228 - ldr r0, _0802B224 @ =0x0001601c - adds r1, r2, r0 - movs r0, 0x8B - strb r0, [r1] - b _0802B276 - .align 2, 0 -_0802B218: .4byte gBattleWeather -_0802B21C: .4byte 0x02000000 -_0802B220: .4byte 0x0001601f -_0802B224: .4byte 0x0001601c -_0802B228: - movs r0, 0x18 - ands r0, r1 - cmp r0, 0 - beq _0802B240 - ldr r0, _0802B23C @ =0x0001601c - adds r1, r2, r0 - movs r0, 0x85 - strb r0, [r1] - b _0802B276 - .align 2, 0 -_0802B23C: .4byte 0x0001601c -_0802B240: - movs r0, 0x60 - ands r0, r1 - cmp r0, 0 - beq _0802B258 - ldr r0, _0802B254 @ =0x0001601c - adds r1, r2, r0 - movs r0, 0x8A - strb r0, [r1] - b _0802B276 - .align 2, 0 -_0802B254: .4byte 0x0001601c -_0802B258: - movs r3, 0x80 - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _0802B270 - ldr r0, _0802B26C @ =0x0001601c - adds r1, r2, r0 - movs r0, 0x8F - strb r0, [r1] - b _0802B276 - .align 2, 0 -_0802B26C: .4byte 0x0001601c -_0802B270: - ldr r1, _0802B284 @ =0x0001601c - adds r0, r2, r1 - strb r3, [r0] -_0802B276: - ldr r1, _0802B288 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0802B284: .4byte 0x0001601c -_0802B288: .4byte gBattlescriptCurrInstr - thumb_func_end sub_802B1C0 - - thumb_func_start atkEA_recycleitem -atkEA_recycleitem: @ 802B28C - push {r4-r7,lr} - sub sp, 0x4 - ldr r7, _0802B2F0 @ =gActiveBank - ldr r0, _0802B2F4 @ =gBankAttacker - ldrb r0, [r0] - strb r0, [r7] - ldrb r2, [r7] - lsls r1, r2, 1 - ldr r0, _0802B2F8 @ =0x020160cc - adds r6, r1, r0 - ldrh r5, [r6] - cmp r5, 0 - beq _0802B308 - ldr r4, _0802B2FC @ =gBattleMons - movs r3, 0x58 - adds r0, r2, 0 - muls r0, r3 - adds r0, r4 - ldrh r0, [r0, 0x2E] - cmp r0, 0 - bne _0802B308 - ldr r1, _0802B300 @ =gLastUsedItem - strh r5, [r1] - strh r0, [r6] - ldrb r0, [r7] - muls r0, r3 - adds r0, r4 - ldrh r1, [r1] - strh r1, [r0, 0x2E] - ldrb r0, [r7] - muls r0, r3 - adds r1, r4, 0 - adds r1, 0x2E - adds r0, r1 - str r0, [sp] - movs r0, 0 - movs r1, 0x2 - movs r2, 0 - movs r3, 0x2 - bl EmitSetAttributes - ldrb r0, [r7] - bl MarkBufferBankForExecution - ldr r1, _0802B304 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _0802B322 - .align 2, 0 -_0802B2F0: .4byte gActiveBank -_0802B2F4: .4byte gBankAttacker -_0802B2F8: .4byte 0x020160cc -_0802B2FC: .4byte gBattleMons -_0802B300: .4byte gLastUsedItem -_0802B304: .4byte gBattlescriptCurrInstr -_0802B308: - ldr r3, _0802B32C @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802B322: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802B32C: .4byte gBattlescriptCurrInstr - thumb_func_end atkEA_recycleitem - - thumb_func_start atkEB_settypetoterrain -atkEB_settypetoterrain: @ 802B330 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, _0802B3A0 @ =gBattleMons - mov r8, r0 - ldr r7, _0802B3A4 @ =gBankAttacker - ldrb r0, [r7] - movs r6, 0x58 - muls r0, r6 - mov r1, r8 - adds r3, r0, r1 - movs r0, 0x21 - adds r0, r3 - mov r12, r0 - ldr r5, _0802B3A8 @ =gTerrainToType - ldr r4, _0802B3AC @ =gBattleTerrain - ldrb r0, [r4] - adds r0, r5 - ldrb r2, [r0] - mov r1, r12 - ldrb r0, [r1] - adds r1, r2, 0 - cmp r0, r1 - beq _0802B3B8 - adds r0, r3, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, r1 - beq _0802B3B8 - mov r0, r12 - strb r2, [r0] - ldrb r0, [r7] - adds r1, r0, 0 - muls r1, r6 - add r1, r8 - ldrb r0, [r4] - adds r0, r5 - ldrb r0, [r0] - adds r1, 0x22 - strb r0, [r1] - ldr r1, _0802B3B0 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x3 - strb r0, [r1, 0x1] - ldrb r0, [r4] - adds r0, r5 - ldrb r0, [r0] - strb r0, [r1, 0x2] - movs r0, 0xFF - strb r0, [r1, 0x3] - ldr r1, _0802B3B4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _0802B3D2 - .align 2, 0 -_0802B3A0: .4byte gBattleMons -_0802B3A4: .4byte gBankAttacker -_0802B3A8: .4byte gTerrainToType -_0802B3AC: .4byte gBattleTerrain -_0802B3B0: .4byte gBattleTextBuff1 -_0802B3B4: .4byte gBattlescriptCurrInstr -_0802B3B8: - ldr r3, _0802B3DC @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802B3D2: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802B3DC: .4byte gBattlescriptCurrInstr - thumb_func_end atkEB_settypetoterrain - - thumb_func_start sub_802B3E0 -sub_802B3E0: @ 802B3E0 - push {r4,r5,lr} - ldr r5, _0802B45C @ =gBankAttacker - ldrb r0, [r5] - bl GetBankIdentity - movs r1, 0x2 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - bl GetBankByPlayerAI - ldr r4, _0802B460 @ =gActiveBank - strb r0, [r4] - ldr r0, _0802B464 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0802B490 - ldr r0, _0802B468 @ =gAbsentBankFlags - ldrb r1, [r0] - ldr r2, _0802B46C @ =gBitTable - ldrb r3, [r4] - lsls r0, r3, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _0802B490 - ldr r0, _0802B470 @ =gActionForBanks - adds r0, r3, r0 - ldrb r0, [r0] - cmp r0, 0 - bne _0802B490 - ldr r1, _0802B474 @ =gChosenMovesByBanks - lsls r0, r3, 1 - adds r0, r1 - ldrh r2, [r0] - cmp r2, 0xE4 - bne _0802B490 - ldr r0, _0802B478 @ =gUnknown_02024A76 - adds r0, r3, r0 - movs r1, 0xB - strb r1, [r0] - ldr r0, _0802B47C @ =gCurrentMove - strh r2, [r0] - ldr r1, _0802B480 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - ldr r1, _0802B484 @ =0x02000000 - ldr r0, _0802B488 @ =0x00016002 - adds r2, r1, r0 - movs r0, 0x1 - strb r0, [r2] - ldrb r0, [r5] - ldr r2, _0802B48C @ =0x000160a7 - adds r1, r2 - strb r0, [r1] - ldrb r0, [r4] - strb r0, [r5] - b _0802B4AA - .align 2, 0 -_0802B45C: .4byte gBankAttacker -_0802B460: .4byte gActiveBank -_0802B464: .4byte gBattleTypeFlags -_0802B468: .4byte gAbsentBankFlags -_0802B46C: .4byte gBitTable -_0802B470: .4byte gActionForBanks -_0802B474: .4byte gChosenMovesByBanks -_0802B478: .4byte gUnknown_02024A76 -_0802B47C: .4byte gCurrentMove -_0802B480: .4byte gBattlescriptCurrInstr -_0802B484: .4byte 0x02000000 -_0802B488: .4byte 0x00016002 -_0802B48C: .4byte 0x000160a7 -_0802B490: - ldr r3, _0802B4B0 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802B4AA: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802B4B0: .4byte gBattlescriptCurrInstr - thumb_func_end sub_802B3E0 - - thumb_func_start sub_802B4B4 -sub_802B4B4: @ 802B4B4 - push {r4,r5,lr} - ldr r1, _0802B4DC @ =gEffectBank - ldr r3, _0802B4E0 @ =gBankAttacker - ldrb r0, [r3] - strb r0, [r1] - ldr r2, _0802B4E4 @ =gBankTarget - lsls r0, 24 - lsrs r0, 24 - adds r4, r1, 0 - ldrb r1, [r2] - cmp r0, r1 - bne _0802B4F0 - ldr r0, _0802B4E8 @ =0x02000000 - ldr r5, _0802B4EC @ =0x00016003 - adds r1, r0, r5 - ldrb r1, [r1] - strb r1, [r2] - strb r1, [r3] - b _0802B4FA - .align 2, 0 -_0802B4DC: .4byte gEffectBank -_0802B4E0: .4byte gBankAttacker -_0802B4E4: .4byte gBankTarget -_0802B4E8: .4byte 0x02000000 -_0802B4EC: .4byte 0x00016003 -_0802B4F0: - ldr r0, _0802B510 @ =0x02000000 - ldr r3, _0802B514 @ =0x00016003 - adds r1, r0, r3 - ldrb r1, [r1] - strb r1, [r2] -_0802B4FA: - ldrb r1, [r4] - ldr r5, _0802B514 @ =0x00016003 - adds r0, r5 - strb r1, [r0] - ldr r1, _0802B518 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802B510: .4byte 0x02000000 -_0802B514: .4byte 0x00016003 -_0802B518: .4byte gBattlescriptCurrInstr - thumb_func_end sub_802B4B4 - - thumb_func_start sub_802B51C -sub_802B51C: @ 802B51C - push {r4,lr} - ldr r0, _0802B56C @ =gBankAttacker - ldrb r0, [r0] - bl GetBankSide - movs r1, 0x1 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0802B570 @ =gSideTimer - lsls r3, r0, 1 - adds r0, r3, r0 - lsls r0, 2 - adds r4, r0, r1 - ldrb r0, [r4] - cmp r0, 0 - bne _0802B544 - ldrb r2, [r4, 0x1] - cmp r2, 0 - beq _0802B58C -_0802B544: - ldr r2, _0802B574 @ =gSideAffecting - adds r2, r3, r2 - ldrh r1, [r2] - ldr r0, _0802B578 @ =0x0000fffe - ands r0, r1 - movs r3, 0 - ldr r1, _0802B57C @ =0x0000fffd - ands r0, r1 - strh r0, [r2] - strb r3, [r4] - strb r3, [r4, 0x1] - ldr r0, _0802B580 @ =0x02000000 - ldr r2, _0802B584 @ =0x00016002 - adds r1, r0, r2 - movs r2, 0x1 - strb r2, [r1] - ldr r3, _0802B588 @ =0x000160a1 - adds r0, r3 - b _0802B598 - .align 2, 0 -_0802B56C: .4byte gBankAttacker -_0802B570: .4byte gSideTimer -_0802B574: .4byte gSideAffecting -_0802B578: .4byte 0x0000fffe -_0802B57C: .4byte 0x0000fffd -_0802B580: .4byte 0x02000000 -_0802B584: .4byte 0x00016002 -_0802B588: .4byte 0x000160a1 -_0802B58C: - ldr r0, _0802B5A8 @ =0x02000000 - ldr r3, _0802B5AC @ =0x00016002 - adds r1, r0, r3 - strb r2, [r1] - ldr r1, _0802B5B0 @ =0x000160a1 - adds r0, r1 -_0802B598: - strb r2, [r0] - ldr r1, _0802B5B4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802B5A8: .4byte 0x02000000 -_0802B5AC: .4byte 0x00016002 -_0802B5B0: .4byte 0x000160a1 -_0802B5B4: .4byte gBattlescriptCurrInstr - thumb_func_end sub_802B51C - - thumb_func_start sub_802B5B8 -sub_802B5B8: @ 802B5B8 - push {r4-r7,lr} - movs r4, 0 - ldr r0, _0802B5F8 @ =gBattleExecBuffer - ldr r0, [r0] - cmp r0, 0 - beq _0802B5C6 - b _0802B94E -_0802B5C6: - ldr r5, _0802B5FC @ =gActiveBank - ldr r0, _0802B600 @ =gBankAttacker - ldrb r0, [r0] - strb r0, [r5] - ldr r6, _0802B604 @ =gBankTarget - movs r1, 0x1 - eors r0, r1 - strb r0, [r6] - ldr r0, _0802B608 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0802B614 - movs r0, 0 - movs r1, 0x5 - bl dp01_build_cmdbuf_x0D_a - ldrb r0, [r5] - bl MarkBufferBankForExecution - ldr r1, _0802B60C @ =gBattlescriptCurrInstr - ldr r0, _0802B610 @ =gUnknown_081D9F35 - b _0802B94C - .align 2, 0 -_0802B5F8: .4byte gBattleExecBuffer -_0802B5FC: .4byte gActiveBank -_0802B600: .4byte gBankAttacker -_0802B604: .4byte gBankTarget -_0802B608: .4byte gBattleTypeFlags -_0802B60C: .4byte gBattlescriptCurrInstr -_0802B610: .4byte gUnknown_081D9F35 -_0802B614: - movs r0, 0x80 - lsls r0, 2 - ands r0, r1 - cmp r0, 0 - beq _0802B63C - movs r0, 0 - movs r1, 0x4 - bl dp01_build_cmdbuf_x0D_a - ldrb r0, [r5] - bl MarkBufferBankForExecution - ldr r1, _0802B634 @ =gBattlescriptCurrInstr - ldr r0, _0802B638 @ =gUnknown_081D9F00 - b _0802B94C - .align 2, 0 -_0802B634: .4byte gBattlescriptCurrInstr -_0802B638: .4byte gUnknown_081D9F00 -_0802B63C: - ldr r0, _0802B660 @ =gLastUsedItem - ldrh r0, [r0] - cmp r0, 0x5 - bne _0802B66C - ldr r0, _0802B664 @ =0x02000000 - ldr r1, _0802B668 @ =0x00016089 - adds r0, r1 - ldrb r0, [r0] - lsls r1, r0, 2 - adds r1, r0 - lsls r0, r1, 8 - subs r0, r1 - movs r1, 0x64 - bl __divsi3 - lsls r0, 24 - lsrs r5, r0, 24 - b _0802B684 - .align 2, 0 -_0802B660: .4byte gLastUsedItem -_0802B664: .4byte 0x02000000 -_0802B668: .4byte 0x00016089 -_0802B66C: - ldr r3, _0802B6A0 @ =gBaseStats - ldr r2, _0802B6A4 @ =gBattleMons - ldrb r1, [r6] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrh r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r5, [r0, 0x8] -_0802B684: - ldr r2, _0802B6A8 @ =gLastUsedItem - ldrh r0, [r2] - cmp r0, 0x5 - bhi _0802B68E - b _0802B784 -_0802B68E: - subs r0, 0x6 - cmp r0, 0x6 - bls _0802B696 - b _0802B78E -_0802B696: - lsls r0, 2 - ldr r1, _0802B6AC @ =_0802B6B0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802B6A0: .4byte gBaseStats -_0802B6A4: .4byte gBattleMons -_0802B6A8: .4byte gLastUsedItem -_0802B6AC: .4byte _0802B6B0 - .align 2, 0 -_0802B6B0: - .4byte _0802B6CC - .4byte _0802B6FC - .4byte _0802B70E - .4byte _0802B73C - .4byte _0802B76C - .4byte _0802B72E - .4byte _0802B72E -_0802B6CC: - ldr r2, _0802B6F4 @ =gBattleMons - ldr r0, _0802B6F8 @ =gBankTarget - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r1, r0, 0 - adds r1, 0x21 - ldrb r1, [r1] - cmp r1, 0xB - beq _0802B760 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, 0xB - beq _0802B760 - cmp r1, 0x6 - beq _0802B760 - cmp r0, 0x6 - beq _0802B760 - b _0802B72E - .align 2, 0 -_0802B6F4: .4byte gBattleMons -_0802B6F8: .4byte gBankTarget -_0802B6FC: - bl sav1_map_get_light_level - lsls r0, 24 - lsrs r0, 24 - movs r4, 0xA - cmp r0, 0x5 - bne _0802B78E - movs r4, 0x23 - b _0802B78E -_0802B70E: - ldr r2, _0802B734 @ =gBattleMons - ldr r0, _0802B738 @ =gBankTarget - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x2A - ldrb r1, [r0] - cmp r1, 0x27 - bhi _0802B72E - movs r0, 0x28 - subs r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x9 - bhi _0802B78E -_0802B72E: - movs r4, 0xA - b _0802B78E - .align 2, 0 -_0802B734: .4byte gBattleMons -_0802B738: .4byte gBankTarget -_0802B73C: - ldr r2, _0802B764 @ =gBattleMons - ldr r0, _0802B768 @ =gBankTarget - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrh r0, [r0] - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - bl GetNationalPokedexFlag - lsls r0, 24 - movs r4, 0xA - cmp r0, 0 - beq _0802B78E -_0802B760: - movs r4, 0x1E - b _0802B78E - .align 2, 0 -_0802B764: .4byte gBattleMons -_0802B768: .4byte gBankTarget -_0802B76C: - ldr r0, _0802B780 @ =gBattleResults - ldrb r0, [r0, 0x13] - adds r0, 0xA - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x28 - bls _0802B78E - movs r4, 0x28 - b _0802B78E - .align 2, 0 -_0802B780: .4byte gBattleResults -_0802B784: - ldr r1, _0802B7F4 @ =gBallCatchBonuses - ldrh r0, [r2] - subs r0, 0x2 - adds r0, r1 - ldrb r4, [r0] -_0802B78E: - adds r0, r5, 0 - muls r0, r4 - movs r1, 0xA - bl __divsi3 - ldr r5, _0802B7F8 @ =gBattleMons - ldr r1, _0802B7FC @ =gBankTarget - ldrb r1, [r1] - movs r7, 0x58 - adds r4, r1, 0 - muls r4, r7 - adds r3, r4, r5 - ldrh r2, [r3, 0x2C] - lsls r1, r2, 1 - adds r1, r2 - ldrh r2, [r3, 0x28] - lsls r2, 1 - subs r2, r1, r2 - muls r0, r2 - bl __divsi3 - adds r6, r0, 0 - adds r5, 0x4C - adds r4, r5 - ldr r4, [r4] - movs r0, 0x27 - ands r0, r4 - cmp r0, 0 - beq _0802B7CA - lsls r6, 1 -_0802B7CA: - ands r4, r7 - cmp r4, 0 - beq _0802B7DC - lsls r0, r6, 4 - subs r0, r6 - movs r1, 0xA - bl __udivsi3 - adds r6, r0, 0 -_0802B7DC: - ldr r1, _0802B800 @ =gLastUsedItem - ldrh r0, [r1] - cmp r0, 0x5 - beq _0802B81C - cmp r0, 0x1 - bne _0802B808 - ldr r0, _0802B804 @ =gBattleResults - ldrb r1, [r0, 0x5] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r0, 0x5] - b _0802B81C - .align 2, 0 -_0802B7F4: .4byte gBallCatchBonuses -_0802B7F8: .4byte gBattleMons -_0802B7FC: .4byte gBankTarget -_0802B800: .4byte gLastUsedItem -_0802B804: .4byte gBattleResults -_0802B808: - ldr r0, _0802B860 @ =gBattleResults - ldrh r1, [r1] - adds r0, r1 - adds r1, r0, 0 - adds r1, 0x34 - ldrb r0, [r1] - cmp r0, 0xFE - bhi _0802B81C - adds r0, 0x1 - strb r0, [r1] -_0802B81C: - cmp r6, 0xFE - bls _0802B880 - movs r0, 0 - movs r1, 0x4 - bl dp01_build_cmdbuf_x0D_a - ldr r0, _0802B864 @ =gActiveBank - ldrb r0, [r0] - bl MarkBufferBankForExecution - ldr r1, _0802B868 @ =gBattlescriptCurrInstr - ldr r0, _0802B86C @ =gUnknown_081D9EC2 - str r0, [r1] - ldr r1, _0802B870 @ =gBattlePartyID - ldr r0, _0802B874 @ =gBankTarget - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0802B878 @ =gEnemyParty - adds r0, r1 - ldr r2, _0802B87C @ =gLastUsedItem - movs r1, 0x26 - bl SetMonData - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x6 - beq _0802B90E - b _0802B938 - .align 2, 0 -_0802B860: .4byte gBattleResults -_0802B864: .4byte gActiveBank -_0802B868: .4byte gBattlescriptCurrInstr -_0802B86C: .4byte gUnknown_081D9EC2 -_0802B870: .4byte gBattlePartyID -_0802B874: .4byte gBankTarget -_0802B878: .4byte gEnemyParty -_0802B87C: .4byte gLastUsedItem -_0802B880: - movs r0, 0xFF - lsls r0, 16 - adds r1, r6, 0 - bl __udivsi3 - bl Sqrt - lsls r0, 16 - lsrs r0, 16 - bl Sqrt - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, _0802B8A8 @ =0x000ffff0 - adds r1, r6, 0 - bl __udivsi3 - adds r6, r0, 0 - movs r4, 0 - b _0802B8B2 - .align 2, 0 -_0802B8A8: .4byte 0x000ffff0 -_0802B8AC: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_0802B8B2: - cmp r4, 0x3 - bhi _0802B8C2 - bl Random - lsls r0, 16 - lsrs r0, 16 - cmp r0, r6 - bcc _0802B8AC -_0802B8C2: - ldr r5, _0802B918 @ =gLastUsedItem - ldrh r0, [r5] - cmp r0, 0x1 - bne _0802B8CC - movs r4, 0x4 -_0802B8CC: - movs r0, 0 - adds r1, r4, 0 - bl dp01_build_cmdbuf_x0D_a - ldr r0, _0802B91C @ =gActiveBank - ldrb r0, [r0] - bl MarkBufferBankForExecution - cmp r4, 0x4 - bne _0802B944 - ldr r1, _0802B920 @ =gBattlescriptCurrInstr - ldr r0, _0802B924 @ =gUnknown_081D9EC2 - str r0, [r1] - ldr r1, _0802B928 @ =gBattlePartyID - ldr r0, _0802B92C @ =gBankTarget - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0802B930 @ =gEnemyParty - adds r0, r1 - movs r1, 0x26 - adds r2, r5, 0 - bl SetMonData - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x6 - bne _0802B938 -_0802B90E: - ldr r1, _0802B934 @ =gBattleCommunication - movs r0, 0 - strb r0, [r1, 0x5] - b _0802B94E - .align 2, 0 -_0802B918: .4byte gLastUsedItem -_0802B91C: .4byte gActiveBank -_0802B920: .4byte gBattlescriptCurrInstr -_0802B924: .4byte gUnknown_081D9EC2 -_0802B928: .4byte gBattlePartyID -_0802B92C: .4byte gBankTarget -_0802B930: .4byte gEnemyParty -_0802B934: .4byte gBattleCommunication -_0802B938: - ldr r1, _0802B940 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x5] - b _0802B94E - .align 2, 0 -_0802B940: .4byte gBattleCommunication -_0802B944: - ldr r0, _0802B954 @ =gBattleCommunication - strb r4, [r0, 0x5] - ldr r1, _0802B958 @ =gBattlescriptCurrInstr - ldr r0, _0802B95C @ =gUnknown_081D9F0A -_0802B94C: - str r0, [r1] -_0802B94E: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802B954: .4byte gBattleCommunication -_0802B958: .4byte gBattlescriptCurrInstr -_0802B95C: .4byte gUnknown_081D9F0A - thumb_func_end sub_802B5B8 - - thumb_func_start sub_802B960 -sub_802B960: @ 802B960 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - ldr r0, _0802B9C8 @ =gBattlePartyID - mov r9, r0 - ldr r5, _0802B9CC @ =gBankAttacker - ldrb r0, [r5] - movs r4, 0x1 - eors r0, r4 - lsls r0, 1 - add r0, r9 - ldrh r0, [r0] - movs r1, 0x64 - mov r8, r1 - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - ldr r6, _0802B9D0 @ =gEnemyParty - adds r0, r6 - bl GiveMonToPlayer - ldr r2, _0802B9D4 @ =gBattleResults - ldr r1, _0802B9D8 @ =gBattleMons - ldrb r0, [r5] - eors r4, r0 - movs r0, 0x58 - muls r0, r4 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r2, 0x28] - lsls r4, 1 - add r4, r9 - ldrh r0, [r4] - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - adds r0, r6 - adds r2, 0x2A - movs r1, 0x2 - bl GetMonData - ldr r1, _0802B9DC @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802B9C8: .4byte gBattlePartyID -_0802B9CC: .4byte gBankAttacker -_0802B9D0: .4byte gEnemyParty -_0802B9D4: .4byte gBattleResults -_0802B9D8: .4byte gBattleMons -_0802B9DC: .4byte gBattlescriptCurrInstr - thumb_func_end sub_802B960 - - thumb_func_start sub_802B9E0 -sub_802B9E0: @ 802B9E0 - push {r4-r6,lr} - ldr r4, _0802BA20 @ =gBattleMons - ldr r6, _0802BA24 @ =gBankTarget - ldrb r0, [r6] - movs r5, 0x58 - muls r0, r5 - adds r0, r4 - ldrh r0, [r0] - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - bl GetNationalPokedexFlag - lsls r0, 24 - cmp r0, 0 - beq _0802BA2C - ldr r3, _0802BA28 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802BA82 - .align 2, 0 -_0802BA20: .4byte gBattleMons -_0802BA24: .4byte gBankTarget -_0802BA28: .4byte gBattlescriptCurrInstr -_0802BA2C: - ldrb r0, [r6] - muls r0, r5 - adds r0, r4 - ldrh r0, [r0] - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - bl GetNationalPokedexFlag - ldrb r0, [r6] - adds r2, r0, 0 - muls r2, r5 - adds r0, r2, r4 - ldrh r0, [r0] - cmp r0, 0xC9 - bne _0802BA5C - ldr r0, _0802BA88 @ =gSaveBlock2 - adds r1, r4, 0 - adds r1, 0x48 - adds r1, r2, r1 - ldr r1, [r1] - str r1, [r0, 0x1C] -_0802BA5C: - ldrb r0, [r6] - adds r2, r0, 0 - muls r2, r5 - adds r0, r2, r4 - ldrh r1, [r0] - movs r0, 0x9A - lsls r0, 1 - cmp r1, r0 - bne _0802BA7A - ldr r0, _0802BA88 @ =gSaveBlock2 - adds r1, r4, 0 - adds r1, 0x48 - adds r1, r2, r1 - ldr r1, [r1] - str r1, [r0, 0x20] -_0802BA7A: - ldr r1, _0802BA8C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0802BA82: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802BA88: .4byte gSaveBlock2 -_0802BA8C: .4byte gBattlescriptCurrInstr - thumb_func_end sub_802B9E0 - - thumb_func_start sub_802BA90 -sub_802BA90: @ 802BA90 - push {r4-r7,lr} - sub sp, 0x4 - ldr r7, _0802BAA8 @ =gBattleCommunication - ldrb r1, [r7] - cmp r1, 0x1 - beq _0802BAC6 - cmp r1, 0x1 - bgt _0802BAAC - cmp r1, 0 - beq _0802BAB8 - b _0802BBC4 - .align 2, 0 -_0802BAA8: .4byte gBattleCommunication -_0802BAAC: - cmp r1, 0x2 - beq _0802BB10 - cmp r1, 0x3 - bne _0802BAB6 - b _0802BBB0 -_0802BAB6: - b _0802BBC4 -_0802BAB8: - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - b _0802BB6E -_0802BAC6: - ldr r0, _0802BB04 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0802BBC4 - ldr r4, _0802BB08 @ =gBattleMons - ldr r6, _0802BB0C @ =gBankTarget - ldrb r0, [r6] - movs r5, 0x58 - muls r0, r5 - adds r0, r4 - ldrh r0, [r0] - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - ldrb r1, [r6] - adds r2, r1, 0 - muls r2, r5 - adds r1, r4, 0 - adds r1, 0x54 - adds r1, r2, r1 - ldr r1, [r1] - adds r4, 0x48 - adds r2, r4 - ldr r2, [r2] - bl sub_809070C - strb r0, [r7, 0x1] - b _0802BB72 - .align 2, 0 -_0802BB04: .4byte gPaletteFade -_0802BB08: .4byte gBattleMons -_0802BB0C: .4byte gBankTarget -_0802BB10: - ldr r0, _0802BB7C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0802BBC4 - ldr r0, _0802BB80 @ =gMain - ldr r1, [r0, 0x4] - ldr r0, _0802BB84 @ =sub_800F808 - cmp r1, r0 - bne _0802BBC4 - ldr r2, _0802BB88 @ =gTasks - ldrb r1, [r7, 0x1] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r4, [r0, 0x4] - cmp r4, 0 - bne _0802BBC4 - ldr r0, _0802BB8C @ =gBattleTerrainTiles_Building - ldr r1, _0802BB90 @ =0x06008000 - bl LZDecompressVram - ldr r0, _0802BB94 @ =gBattleTerrainTilemap_Building - ldr r1, _0802BB98 @ =0x0600d000 - bl LZDecompressVram - ldr r0, _0802BB9C @ =gBattleTerrainPalette_BattleTower - movs r1, 0x20 - movs r2, 0x60 - bl LoadCompressedPalette - ldr r1, _0802BBA0 @ =REG_BG3CNT - ldr r2, _0802BBA4 @ =0x00005a0b - adds r0, r2, 0 - strh r0, [r1] - ldr r1, _0802BBA8 @ =gUnknown_030041B0 - movs r2, 0x80 - lsls r2, 1 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _0802BBAC @ =0x0000fffc - str r4, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 -_0802BB6E: - bl BeginNormalPaletteFade -_0802BB72: - ldrb r0, [r7] - adds r0, 0x1 - strb r0, [r7] - b _0802BBC4 - .align 2, 0 -_0802BB7C: .4byte gPaletteFade -_0802BB80: .4byte gMain -_0802BB84: .4byte sub_800F808 -_0802BB88: .4byte gTasks -_0802BB8C: .4byte gBattleTerrainTiles_Building -_0802BB90: .4byte 0x06008000 -_0802BB94: .4byte gBattleTerrainTilemap_Building -_0802BB98: .4byte 0x0600d000 -_0802BB9C: .4byte gBattleTerrainPalette_BattleTower -_0802BBA0: .4byte REG_BG3CNT -_0802BBA4: .4byte 0x00005a0b -_0802BBA8: .4byte gUnknown_030041B0 -_0802BBAC: .4byte 0x0000fffc -_0802BBB0: - ldr r0, _0802BBCC @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0802BBC4 - ldr r1, _0802BBD0 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] -_0802BBC4: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802BBCC: .4byte gPaletteFade -_0802BBD0: .4byte gBattlescriptCurrInstr - thumb_func_end sub_802BA90 - - thumb_func_start sub_802BBD4 -sub_802BBD4: @ 802BBD4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r4, [sp, 0x20] - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r12, r1 - lsls r2, 24 - lsrs r5, r2, 24 - lsls r3, 24 - lsrs r7, r3, 24 - lsls r4, 24 - lsrs r4, 24 - mov r8, r4 - mov r2, r12 - cmp r2, r7 - bgt _0802BC5A - lsls r1, r6, 1 - ldr r0, _0802BC20 @ =0x0600c000 - adds r1, r0 - mov r9, r1 -_0802BC06: - adds r1, r6, 0 - adds r0, r2, 0x1 - mov r10, r0 - cmp r1, r5 - bgt _0802BC54 - lsls r0, r2, 6 - mov r4, r9 - adds r3, r4, r0 -_0802BC16: - cmp r2, r12 - bne _0802BC28 - ldr r0, _0802BC24 @ =0x00001022 - b _0802BC36 - .align 2, 0 -_0802BC20: .4byte 0x0600c000 -_0802BC24: .4byte 0x00001022 -_0802BC28: - cmp r2, r7 - bne _0802BC34 - ldr r0, _0802BC30 @ =0x00001028 - b _0802BC36 - .align 2, 0 -_0802BC30: .4byte 0x00001028 -_0802BC34: - ldr r0, _0802BC68 @ =0x00001025 -_0802BC36: - cmp r1, r6 - beq _0802BC42 - adds r0, 0x1 - cmp r1, r5 - bne _0802BC42 - adds r0, 0x1 -_0802BC42: - mov r4, r8 - cmp r4, 0 - beq _0802BC4A - movs r0, 0 -_0802BC4A: - strh r0, [r3] - adds r3, 0x2 - adds r1, 0x1 - cmp r1, r5 - ble _0802BC16 -_0802BC54: - mov r2, r10 - cmp r2, r7 - ble _0802BC06 -_0802BC5A: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802BC68: .4byte 0x00001025 - thumb_func_end sub_802BBD4 - - thumb_func_start sub_802BC6C -sub_802BC6C: @ 802BC6C - push {lr} - ldr r0, _0802BC88 @ =gBattleCommunication - ldrb r1, [r0, 0x1] - lsls r1, 28 - movs r0, 0x90 - lsls r0, 23 - adds r1, r0 - lsrs r1, 24 - movs r0, 0xC8 - bl sub_814A880 - pop {r0} - bx r0 - .align 2, 0 -_0802BC88: .4byte gBattleCommunication - thumb_func_end sub_802BC6C - - thumb_func_start nullsub_6 -nullsub_6: @ 802BC8C - bx lr - thumb_func_end nullsub_6 - - thumb_func_start atkF3_receive_new_pokemon_maybe -atkF3_receive_new_pokemon_maybe: @ 802BC90 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - ldr r0, _0802BCB4 @ =gBattleCommunication - ldrb r1, [r0] - adds r4, r0, 0 - cmp r1, 0x4 - bls _0802BCA8 - b _0802BEDA -_0802BCA8: - lsls r0, r1, 2 - ldr r1, _0802BCB8 @ =_0802BCBC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802BCB4: .4byte gBattleCommunication -_0802BCB8: .4byte _0802BCBC - .align 2, 0 -_0802BCBC: - .4byte _0802BCD0 - .4byte _0802BCEC - .4byte _0802BD84 - .4byte _0802BE50 - .4byte _0802BEA4 -_0802BCD0: - bl sub_8023A80 - ldr r0, _0802BCE8 @ =gBattleCommunication - ldrb r1, [r0] - adds r1, 0x1 - movs r2, 0 - strb r1, [r0] - strb r2, [r0, 0x1] - bl sub_802BC6C - b _0802BEDA - .align 2, 0 -_0802BCE8: .4byte gBattleCommunication -_0802BCEC: - ldr r0, _0802BD60 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0802BD10 - ldrb r0, [r4, 0x1] - cmp r0, 0 - beq _0802BD10 - movs r0, 0x5 - bl PlaySE - bl nullsub_6 - movs r0, 0 - strb r0, [r4, 0x1] - bl sub_802BC6C -_0802BD10: - ldr r0, _0802BD60 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0802BD36 - ldr r4, _0802BD64 @ =gBattleCommunication - ldrb r0, [r4, 0x1] - cmp r0, 0 - bne _0802BD36 - movs r0, 0x5 - bl PlaySE - bl nullsub_6 - movs r0, 0x1 - strb r0, [r4, 0x1] - bl sub_802BC6C -_0802BD36: - ldr r0, _0802BD60 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0802BD68 - movs r0, 0x5 - bl PlaySE - ldr r1, _0802BD64 @ =gBattleCommunication - ldrb r0, [r1, 0x1] - cmp r0, 0 - bne _0802BD7A - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0x3 - bl BeginFastPaletteFade - b _0802BEDA - .align 2, 0 -_0802BD60: .4byte gMain -_0802BD64: .4byte gBattleCommunication -_0802BD68: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _0802BD72 - b _0802BEDA -_0802BD72: - movs r0, 0x5 - bl PlaySE - ldr r1, _0802BD80 @ =gBattleCommunication -_0802BD7A: - movs r0, 0x4 - strb r0, [r1] - b _0802BEDA - .align 2, 0 -_0802BD80: .4byte gBattleCommunication -_0802BD84: - ldr r0, _0802BE34 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0802BD92 - b _0802BEDA -_0802BD92: - ldr r7, _0802BE38 @ =gBattlePartyID - ldr r0, _0802BE3C @ =gBankAttacker - mov r10, r0 - ldrb r0, [r0] - movs r4, 0x1 - eors r0, r4 - lsls r0, 1 - adds r0, r7 - ldrh r0, [r0] - movs r1, 0x64 - mov r9, r1 - mov r1, r9 - muls r1, r0 - adds r0, r1, 0 - ldr r1, _0802BE40 @ =gEnemyParty - mov r8, r1 - add r0, r8 - movs r1, 0x2 - ldr r2, _0802BE44 @ =0x02016079 - bl GetMonData - mov r1, r10 - ldrb r0, [r1] - eors r0, r4 - lsls r0, 1 - adds r0, r7 - ldrh r0, [r0] - mov r1, r9 - muls r1, r0 - adds r0, r1, 0 - add r0, r8 - movs r1, 0xB - bl GetMonData - adds r6, r0, 0 - lsls r6, 16 - lsrs r6, 16 - mov r1, r10 - ldrb r0, [r1] - eors r0, r4 - lsls r0, 1 - adds r0, r7 - ldrh r0, [r0] - mov r1, r9 - muls r1, r0 - adds r0, r1, 0 - add r0, r8 - bl GetMonGender - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - mov r1, r10 - ldrb r0, [r1] - eors r4, r0 - lsls r4, 1 - adds r4, r7 - ldrh r0, [r4] - mov r1, r9 - muls r1, r0 - adds r0, r1, 0 - add r0, r8 - movs r1, 0 - movs r2, 0 - bl GetMonData - str r0, [sp] - ldr r0, _0802BE48 @ =sub_800F808 - str r0, [sp, 0x4] - movs r0, 0x2 - ldr r1, _0802BE44 @ =0x02016079 - adds r2, r6, 0 - adds r3, r5, 0 - bl DoNamingScreen - ldr r1, _0802BE4C @ =gBattleCommunication - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0802BEDA - .align 2, 0 -_0802BE34: .4byte gPaletteFade -_0802BE38: .4byte gBattlePartyID -_0802BE3C: .4byte gBankAttacker -_0802BE40: .4byte gEnemyParty -_0802BE44: .4byte 0x02016079 -_0802BE48: .4byte sub_800F808 -_0802BE4C: .4byte gBattleCommunication -_0802BE50: - ldr r0, _0802BE88 @ =gMain - ldr r1, [r0, 0x4] - ldr r0, _0802BE8C @ =sub_800F808 - cmp r1, r0 - bne _0802BEDA - ldr r0, _0802BE90 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0802BEDA - ldr r2, _0802BE94 @ =gBattlePartyID - ldr r0, _0802BE98 @ =gBankAttacker - ldrb r1, [r0] - movs r0, 0x1 - eors r0, r1 - lsls r0, 1 - adds r0, r2 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0802BE9C @ =gEnemyParty - adds r0, r1 - ldr r2, _0802BEA0 @ =0x02016079 - movs r1, 0x2 - bl SetMonData - b _0802BEC0 - .align 2, 0 -_0802BE88: .4byte gMain -_0802BE8C: .4byte sub_800F808 -_0802BE90: .4byte gPaletteFade -_0802BE94: .4byte gBattlePartyID -_0802BE98: .4byte gBankAttacker -_0802BE9C: .4byte gEnemyParty -_0802BEA0: .4byte 0x02016079 -_0802BEA4: - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x6 - bne _0802BEC0 - ldr r1, _0802BEBC @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _0802BEDA - .align 2, 0 -_0802BEBC: .4byte gBattlescriptCurrInstr -_0802BEC0: - ldr r3, _0802BEEC @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802BEDA: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802BEEC: .4byte gBattlescriptCurrInstr - thumb_func_end atkF3_receive_new_pokemon_maybe - - thumb_func_start sub_802BEF0 -sub_802BEF0: @ 802BEF0 - ldr r2, _0802BF10 @ =gBattleMons - ldr r0, _0802BF14 @ =gBankAttacker - ldrb r1, [r0] - movs r0, 0x58 - muls r1, r0 - adds r1, r2 - ldr r0, _0802BF18 @ =gBattleMoveDamage - ldr r2, [r0] - ldrh r0, [r1, 0x28] - subs r0, r2 - strh r0, [r1, 0x28] - ldr r1, _0802BF1C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .align 2, 0 -_0802BF10: .4byte gBattleMons -_0802BF14: .4byte gBankAttacker -_0802BF18: .4byte gBattleMoveDamage -_0802BF1C: .4byte gBattlescriptCurrInstr - thumb_func_end sub_802BEF0 - - thumb_func_start sub_802BF20 -sub_802BF20: @ 802BF20 - ldr r1, _0802BF3C @ =gBattleMons - ldr r0, _0802BF40 @ =gBankAttacker - ldrb r2, [r0] - movs r0, 0x58 - muls r0, r2 - adds r1, 0x4C - adds r0, r1 - movs r1, 0 - str r1, [r0] - ldr r1, _0802BF44 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .align 2, 0 -_0802BF3C: .4byte gBattleMons -_0802BF40: .4byte gBankAttacker -_0802BF44: .4byte gBattlescriptCurrInstr - thumb_func_end sub_802BF20 - - thumb_func_start sub_802BF48 -sub_802BF48: @ 802BF48 - ldr r1, _0802BF50 @ =gFightStateTracker - movs r0, 0xC - strb r0, [r1] - bx lr - .align 2, 0 -_0802BF50: .4byte gFightStateTracker - thumb_func_end sub_802BF48 - - thumb_func_start sub_802BF54 -sub_802BF54: @ 802BF54 - ldr r1, _0802BF64 @ =gFightStateTracker - movs r0, 0xC - strb r0, [r1] - ldr r1, _0802BF68 @ =gCurrentMoveTurn - ldr r0, _0802BF6C @ =gNoOfAllBanks - ldrb r0, [r0] - strb r0, [r1] - bx lr - .align 2, 0 -_0802BF64: .4byte gFightStateTracker -_0802BF68: .4byte gCurrentMoveTurn -_0802BF6C: .4byte gNoOfAllBanks - thumb_func_end sub_802BF54 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/field_tasks.s b/asm/field_tasks.s deleted file mode 100644 index 5f3e3a03f..000000000 --- a/asm/field_tasks.s +++ /dev/null @@ -1,1972 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start Task_RunPerStepCallback -Task_RunPerStepCallback: @ 806943C - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08069460 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0x8 - ldrsh r1, [r1, r2] - ldr r2, _08069464 @ =gUnknown_08376364 - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .align 2, 0 -_08069460: .4byte gTasks -_08069464: .4byte gUnknown_08376364 - thumb_func_end Task_RunPerStepCallback - - thumb_func_start RunTimeBasedEvents -RunTimeBasedEvents: @ 8069468 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0806947A - cmp r0, 0x1 - beq _08069498 - b _080694AC -_0806947A: - ldr r0, _08069494 @ =gMain - ldr r0, [r0, 0x20] - movs r1, 0x80 - lsls r1, 5 - ands r0, r1 - cmp r0, 0 - beq _080694AC - bl DoTimeBasedEvents - ldrh r0, [r4] - adds r0, 0x1 - b _080694AA - .align 2, 0 -_08069494: .4byte gMain -_08069498: - ldr r0, _080694B4 @ =gMain - ldr r0, [r0, 0x20] - movs r1, 0x80 - lsls r1, 5 - ands r0, r1 - cmp r0, 0 - bne _080694AC - ldrh r0, [r4] - subs r0, 0x1 -_080694AA: - strh r0, [r4] -_080694AC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080694B4: .4byte gMain - thumb_func_end RunTimeBasedEvents - - thumb_func_start Task_RunTimeBasedEvents -Task_RunTimeBasedEvents: @ 80694B8 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080694E8 @ =gTasks + 0x8 - adds r4, r1, r0 - bl ScriptContext2_IsEnabled - lsls r0, 24 - cmp r0, 0 - bne _080694E0 - adds r0, r4, 0 - bl RunTimeBasedEvents - adds r0, r4, 0x2 - adds r1, r4, 0x4 - bl sub_80540D0 -_080694E0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080694E8: .4byte gTasks + 0x8 - thumb_func_end Task_RunTimeBasedEvents - - thumb_func_start SetUpFieldTasks -SetUpFieldTasks: @ 80694EC - push {r4,r5,lr} - ldr r5, _08069548 @ =Task_RunPerStepCallback - adds r0, r5, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _08069516 - adds r0, r5, 0 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0806954C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x8] -_08069516: - ldr r4, _08069550 @ =Task_MuddySlope - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _0806952C - adds r0, r4, 0 - movs r1, 0x50 - bl CreateTask -_0806952C: - ldr r4, _08069554 @ =Task_RunTimeBasedEvents - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _08069542 - adds r0, r4, 0 - movs r1, 0x50 - bl CreateTask -_08069542: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08069548: .4byte Task_RunPerStepCallback -_0806954C: .4byte gTasks -_08069550: .4byte Task_MuddySlope -_08069554: .4byte Task_RunTimeBasedEvents - thumb_func_end SetUpFieldTasks - - thumb_func_start ActivatePerStepCallback -ActivatePerStepCallback: @ 8069558 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08069590 @ =Task_RunPerStepCallback - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xFF - beq _0806959A - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, _08069594 @ =gTasks + 0x8 - adds r1, r0, r1 - movs r2, 0 - adds r0, r1, 0 - adds r0, 0x1E -_0806957C: - strh r2, [r0] - subs r0, 0x2 - cmp r0, r1 - bge _0806957C - cmp r4, 0x7 - bls _08069598 - movs r0, 0 - strh r0, [r1] - b _0806959A - .align 2, 0 -_08069590: .4byte Task_RunPerStepCallback -_08069594: .4byte gTasks + 0x8 -_08069598: - strh r4, [r1] -_0806959A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end ActivatePerStepCallback - - thumb_func_start ResetFieldTasksArgs -ResetFieldTasksArgs: @ 80695A0 - push {lr} - ldr r0, _080695D0 @ =Task_RunPerStepCallback - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r1, r0, 24 - ldr r0, _080695D4 @ =Task_RunTimeBasedEvents - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xFF - beq _080695CA - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, _080695D8 @ =gTasks + 0x8 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x2] - strh r1, [r0, 0x4] -_080695CA: - pop {r0} - bx r0 - .align 2, 0 -_080695D0: .4byte Task_RunPerStepCallback -_080695D4: .4byte Task_RunTimeBasedEvents -_080695D8: .4byte gTasks + 0x8 - thumb_func_end ResetFieldTasksArgs - - thumb_func_start DummyPerStepCallback -DummyPerStepCallback: @ 80695DC - bx lr - thumb_func_end DummyPerStepCallback - - thumb_func_start sub_80695E0 -sub_80695E0: @ 80695E0 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r1, 24 - lsrs r4, r1, 24 - adds r0, r4, 0 - bl sub_80576A0 - lsls r0, 24 - cmp r0, 0 - beq _080695F8 - adds r0, r5, 0 - b _08069630 -_080695F8: - adds r0, r4, 0 - bl sub_80576B4 - lsls r0, 24 - cmp r0, 0 - beq _0806960A - adds r0, r5, 0 - adds r0, 0x8 - b _08069630 -_0806960A: - adds r0, r4, 0 - bl sub_80576C8 - lsls r0, 24 - cmp r0, 0 - beq _0806961C - adds r0, r5, 0 - adds r0, 0x10 - b _08069630 -_0806961C: - adds r0, r4, 0 - bl sub_80576DC - lsls r0, 24 - cmp r0, 0 - bne _0806962C - movs r0, 0 - b _08069630 -_0806962C: - adds r0, r5, 0 - adds r0, 0x18 -_08069630: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80695E0 - - thumb_func_start sub_8069638 -sub_8069638: @ 8069638 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - mov r8, r3 - lsls r1, 16 - asrs r6, r1, 16 - lsls r2, 16 - asrs r7, r2, 16 - adds r0, r6, 0 - adds r1, r7, 0 - bl MapGridGetMetatileBehaviorAt - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r5, 0 - bl sub_80695E0 - adds r4, r0, 0 - adds r5, r4, 0 - cmp r4, 0 - beq _080696B6 - movs r0, 0 - ldrsb r0, [r4, r0] - adds r0, r6, r0 - movs r1, 0x1 - ldrsb r1, [r4, r1] - adds r1, r7, r1 - ldrh r2, [r4, 0x2] - bl MapGridSetMetatileIdAt - mov r0, r8 - cmp r0, 0 - beq _0806968E - movs r0, 0 - ldrsb r0, [r4, r0] - adds r0, r6, r0 - movs r1, 0x1 - ldrsb r1, [r4, r1] - adds r1, r7, r1 - bl CurrentMapDrawMetatileAt -_0806968E: - movs r0, 0x4 - ldrsb r0, [r5, r0] - adds r0, r6, r0 - movs r1, 0x5 - ldrsb r1, [r5, r1] - adds r1, r7, r1 - ldrh r2, [r5, 0x6] - bl MapGridSetMetatileIdAt - mov r0, r8 - cmp r0, 0 - beq _080696B6 - movs r0, 0x4 - ldrsb r0, [r5, r0] - adds r0, r6, r0 - movs r1, 0x5 - ldrsb r1, [r5, r1] - adds r1, r7, r1 - bl CurrentMapDrawMetatileAt -_080696B6: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8069638 - - thumb_func_start sub_80696C0 -sub_80696C0: @ 80696C0 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r3, r2, 0 - ldr r0, _080696E0 @ =gUnknown_08376384 - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_8069638 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080696E0: .4byte gUnknown_08376384 - thumb_func_end sub_80696C0 - - thumb_func_start sub_80696E4 -sub_80696E4: @ 80696E4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r3, r2, 0 - ldr r0, _08069704 @ =gUnknown_083763A4 - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_8069638 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08069704: .4byte gUnknown_083763A4 - thumb_func_end sub_80696E4 - - thumb_func_start sub_8069708 -sub_8069708: @ 8069708 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r3, r2, 0 - ldr r0, _08069728 @ =gUnknown_083763C4 - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_8069638 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08069728: .4byte gUnknown_083763C4 - thumb_func_end sub_8069708 - - thumb_func_start sub_806972C -sub_806972C: @ 806972C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - mov r10, r8 - lsls r1, 16 - lsrs r7, r1, 16 - mov r9, r7 - lsls r2, 16 - asrs r6, r2, 16 - lsls r3, 16 - asrs r5, r3, 16 - adds r0, r6, 0 - adds r1, r5, 0 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_80576A0 - lsls r0, 24 - cmp r0, 0 - beq _08069770 - lsls r0, r7, 16 - asrs r0, 16 - cmp r0, r5 - ble _080697B6 -_0806976C: - movs r0, 0 - b _080697B8 -_08069770: - adds r0, r4, 0 - bl sub_80576B4 - lsls r0, 24 - cmp r0, 0 - beq _08069788 - mov r1, r9 - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, r5 - bge _080697B6 - b _0806976C -_08069788: - adds r0, r4, 0 - bl sub_80576C8 - lsls r0, 24 - cmp r0, 0 - beq _080697A0 - mov r1, r8 - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, r6 - ble _080697B6 - b _0806976C -_080697A0: - adds r0, r4, 0 - bl sub_80576DC - lsls r0, 24 - cmp r0, 0 - beq _080697B6 - mov r1, r10 - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, r6 - blt _0806976C -_080697B6: - movs r0, 0x1 -_080697B8: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_806972C - - thumb_func_start sub_80697C8 -sub_80697C8: @ 80697C8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r2, 16 - lsrs r2, 16 - mov r8, r2 - mov r10, r8 - lsls r3, 16 - lsrs r7, r3, 16 - mov r9, r7 - lsls r0, 16 - asrs r6, r0, 16 - lsls r1, 16 - asrs r5, r1, 16 - adds r0, r6, 0 - adds r1, r5, 0 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_80576A0 - lsls r0, 24 - cmp r0, 0 - beq _0806980C - lsls r0, r7, 16 - asrs r0, 16 - cmp r5, r0 - bge _08069852 -_08069808: - movs r0, 0 - b _08069854 -_0806980C: - adds r0, r4, 0 - bl sub_80576B4 - lsls r0, 24 - cmp r0, 0 - beq _08069824 - mov r1, r9 - lsls r0, r1, 16 - asrs r0, 16 - cmp r5, r0 - ble _08069852 - b _08069808 -_08069824: - adds r0, r4, 0 - bl sub_80576C8 - lsls r0, 24 - cmp r0, 0 - beq _0806983C - mov r1, r8 - lsls r0, r1, 16 - asrs r0, 16 - cmp r6, r0 - bge _08069852 - b _08069808 -_0806983C: - adds r0, r4, 0 - bl sub_80576DC - lsls r0, 24 - cmp r0, 0 - beq _08069852 - mov r1, r10 - lsls r0, r1, 16 - asrs r0, 16 - cmp r6, r0 - bgt _08069808 -_08069852: - movs r0, 0x1 -_08069854: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80697C8 - - thumb_func_start PerStepCallback_8069864 -PerStepCallback_8069864: @ 8069864 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08069898 @ =gTasks + 0x8 - adds r4, r1, r0 - mov r5, sp - adds r5, 0x2 - mov r0, sp - adds r1, r5, 0 - bl PlayerGetDestCoords - movs r1, 0x2 - ldrsh r0, [r4, r1] - adds r6, r5, 0 - cmp r0, 0x1 - beq _080698BE - cmp r0, 0x1 - bgt _0806989C - cmp r0, 0 - beq _080698A2 - b _080699CE - .align 2, 0 -_08069898: .4byte gTasks + 0x8 -_0806989C: - cmp r0, 0x2 - beq _0806998C - b _080699CE -_080698A2: - mov r0, sp - ldrh r0, [r0] - strh r0, [r4, 0x4] - ldrh r0, [r5] - strh r0, [r4, 0x6] - mov r0, sp - movs r2, 0 - ldrsh r0, [r0, r2] - movs r3, 0 - ldrsh r1, [r5, r3] - movs r2, 0x1 - bl sub_80696E4 - b _080699CA -_080698BE: - mov r0, sp - movs r7, 0 - ldrsh r1, [r0, r7] - movs r2, 0x4 - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _080698D8 - movs r3, 0 - ldrsh r1, [r5, r3] - movs r7, 0x6 - ldrsh r0, [r4, r7] - cmp r1, r0 - beq _080699CE -_080698D8: - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r5, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - movs r5, 0x6 - ldrsh r3, [r4, r5] - bl sub_806972C - cmp r0, 0 - beq _08069920 - movs r7, 0x4 - ldrsh r0, [r4, r7] - movs r2, 0x6 - ldrsh r1, [r4, r2] - movs r2, 0x1 - bl sub_80696C0 - movs r3, 0x4 - ldrsh r0, [r4, r3] - movs r5, 0x6 - ldrsh r1, [r4, r5] - movs r2, 0 - bl sub_8069708 - ldrh r0, [r4, 0x4] - strh r0, [r4, 0x8] - ldrh r0, [r4, 0x6] - strh r0, [r4, 0xA] - movs r0, 0x2 - strh r0, [r4, 0x2] - movs r0, 0x8 - strh r0, [r4, 0xC] - b _0806992A -_08069920: - movs r7, 0x1 - negs r7, r7 - adds r0, r7, 0 - strh r0, [r4, 0x8] - strh r0, [r4, 0xA] -_0806992A: - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - adds r5, r6, 0 - movs r2, 0 - ldrsh r1, [r5, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - movs r7, 0x6 - ldrsh r3, [r4, r7] - bl sub_80697C8 - cmp r0, 0 - beq _0806995E - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r5, r2] - movs r2, 0x1 - bl sub_80696C0 - movs r0, 0x2 - strh r0, [r4, 0x2] - movs r0, 0x8 - strh r0, [r4, 0xC] -_0806995E: - mov r0, sp - ldrh r0, [r0] - strh r0, [r4, 0x4] - ldrh r0, [r6] - strh r0, [r4, 0x6] - mov r0, sp - movs r3, 0 - ldrsh r0, [r0, r3] - movs r5, 0 - ldrsh r1, [r6, r5] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsPacifidlogLog - lsls r0, 24 - cmp r0, 0 - beq _080699CE - movs r0, 0x46 - bl PlaySE - b _080699CE -_0806998C: - ldrh r0, [r4, 0xC] - subs r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - cmp r0, 0 - bne _080699CE - mov r0, sp - movs r7, 0 - ldrsh r0, [r0, r7] - movs r2, 0 - ldrsh r1, [r5, r2] - movs r2, 0x1 - bl sub_80696E4 - movs r3, 0x8 - ldrsh r0, [r4, r3] - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - beq _080699CA - movs r5, 0xA - ldrsh r0, [r4, r5] - cmp r0, r1 - beq _080699CA - movs r7, 0x8 - ldrsh r0, [r4, r7] - movs r2, 0xA - ldrsh r1, [r4, r2] - movs r2, 0x1 - bl sub_8069708 -_080699CA: - movs r0, 0x1 - strh r0, [r4, 0x2] -_080699CE: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end PerStepCallback_8069864 - - thumb_func_start sub_80699D8 -sub_80699D8: @ 80699D8 - push {r4,r5,lr} - lsls r0, 16 - lsrs r4, r0, 16 - lsls r1, 16 - lsrs r5, r1, 16 - bl PlayerGetZCoord - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08069A32 - lsls r0, r4, 16 - asrs r4, r0, 16 - lsls r0, r5, 16 - asrs r5, r0, 16 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetMetatileIdAt - adds r1, r0, 0 - ldr r0, _08069A14 @ =0x0000024e - cmp r1, r0 - beq _08069A18 - adds r0, 0x8 - cmp r1, r0 - beq _08069A28 - b _08069A32 - .align 2, 0 -_08069A14: .4byte 0x0000024e -_08069A18: - ldr r2, _08069A24 @ =0x0000024f - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt - b _08069A32 - .align 2, 0 -_08069A24: .4byte 0x0000024f -_08069A28: - ldr r2, _08069A38 @ =0x00000257 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt -_08069A32: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08069A38: .4byte 0x00000257 - thumb_func_end sub_80699D8 - - thumb_func_start sub_8069A3C -sub_8069A3C: @ 8069A3C - push {r4,r5,lr} - lsls r0, 16 - lsrs r4, r0, 16 - lsls r1, 16 - lsrs r5, r1, 16 - bl PlayerGetZCoord - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08069A96 - lsls r0, r4, 16 - asrs r4, r0, 16 - lsls r0, r5, 16 - asrs r5, r0, 16 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetMetatileIdAt - adds r1, r0, 0 - ldr r0, _08069A78 @ =0x0000024f - cmp r1, r0 - beq _08069A7C - adds r0, 0x8 - cmp r1, r0 - beq _08069A8C - b _08069A96 - .align 2, 0 -_08069A78: .4byte 0x0000024f -_08069A7C: - ldr r2, _08069A88 @ =0x0000024e - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt - b _08069A96 - .align 2, 0 -_08069A88: .4byte 0x0000024e -_08069A8C: - ldr r2, _08069A9C @ =0x00000256 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt -_08069A96: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08069A9C: .4byte 0x00000256 - thumb_func_end sub_8069A3C - - thumb_func_start PerStepCallback_8069AA0 -PerStepCallback_8069AA0: @ 8069AA0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08069ADC @ =gTasks + 0x8 - adds r6, r1, r0 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - movs r0, 0x2 - ldrsh r5, [r6, r0] - mov r9, r4 - cmp r5, 0x1 - beq _08069B34 - cmp r5, 0x1 - bgt _08069AE0 - cmp r5, 0 - beq _08069AE8 - b _08069CA6 - .align 2, 0 -_08069ADC: .4byte gTasks + 0x8 -_08069AE0: - cmp r5, 0x2 - bne _08069AE6 - b _08069C14 -_08069AE6: - b _08069CA6 -_08069AE8: - mov r0, sp - ldrh r0, [r0] - strh r0, [r6, 0x4] - mov r1, r9 - ldrh r0, [r1] - strh r0, [r6, 0x6] - mov r0, sp - movs r2, 0 - ldrsh r0, [r0, r2] - movs r3, 0 - ldrsh r1, [r1, r3] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsFortreeBridge - lsls r0, 24 - cmp r0, 0 - bne _08069B12 - b _08069CA2 -_08069B12: - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - mov r2, r9 - movs r3, 0 - ldrsh r1, [r2, r3] - bl sub_80699D8 - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - mov r2, r9 - movs r3, 0 - ldrsh r1, [r2, r3] - bl CurrentMapDrawMetatileAt - b _08069CA2 -_08069B34: - ldrh r0, [r6, 0x6] - mov r8, r0 - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - ldrh r2, [r6, 0x4] - mov r10, r2 - movs r3, 0x4 - ldrsh r7, [r6, r3] - cmp r0, r7 - bne _08069B5C - mov r0, r9 - movs r2, 0 - ldrsh r1, [r0, r2] - mov r3, r8 - lsls r0, r3, 16 - asrs r0, 16 - cmp r1, r0 - bne _08069B5C - b _08069CA6 -_08069B5C: - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - mov r2, r9 - movs r3, 0 - ldrsh r1, [r2, r3] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsFortreeBridge - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - mov r0, r8 - lsls r4, r0, 16 - asrs r1, r4, 16 - adds r0, r7, 0 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsFortreeBridge - lsls r0, 24 - lsrs r7, r0, 24 - bl PlayerGetZCoord - movs r1, 0 - ands r5, r0 - lsls r0, r5, 24 - adds r5, r4, 0 - cmp r0, 0 - bne _08069BA4 - movs r1, 0x1 -_08069BA4: - cmp r1, 0 - beq _08069BB8 - ldr r1, [sp, 0x4] - cmp r1, 0x1 - beq _08069BB2 - cmp r7, 0x1 - bne _08069BB8 -_08069BB2: - movs r0, 0x47 - bl PlaySE -_08069BB8: - cmp r7, 0 - beq _08069BF4 - mov r2, r10 - lsls r4, r2, 16 - asrs r4, 16 - asrs r5, 16 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_8069A3C - adds r0, r4, 0 - adds r1, r5, 0 - bl CurrentMapDrawMetatileAt - mov r0, sp - movs r3, 0 - ldrsh r0, [r0, r3] - mov r2, r9 - movs r3, 0 - ldrsh r1, [r2, r3] - bl sub_80699D8 - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - mov r2, r9 - movs r3, 0 - ldrsh r1, [r2, r3] - bl CurrentMapDrawMetatileAt -_08069BF4: - mov r0, r10 - strh r0, [r6, 0x8] - mov r1, r8 - strh r1, [r6, 0xA] - mov r0, sp - ldrh r0, [r0] - strh r0, [r6, 0x4] - mov r2, r9 - ldrh r0, [r2] - strh r0, [r6, 0x6] - cmp r7, 0 - beq _08069CA6 - movs r0, 0x10 - strh r0, [r6, 0xC] - movs r0, 0x2 - strh r0, [r6, 0x2] -_08069C14: - ldrh r0, [r6, 0xC] - subs r0, 0x1 - strh r0, [r6, 0xC] - ldrh r3, [r6, 0x8] - mov r10, r3 - ldrh r0, [r6, 0xA] - mov r8, r0 - movs r1, 0xC - ldrsh r0, [r6, r1] - movs r1, 0x7 - bl __modsi3 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - bhi _08069C9A - lsls r0, 2 - ldr r1, _08069C40 @ =_08069C44 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08069C40: .4byte _08069C44 - .align 2, 0 -_08069C44: - .4byte _08069C64 - .4byte _08069C9A - .4byte _08069C9A - .4byte _08069C9A - .4byte _08069C76 - .4byte _08069C9A - .4byte _08069C9A - .4byte _08069C9A -_08069C64: - mov r2, r10 - lsls r0, r2, 16 - asrs r0, 16 - mov r3, r8 - lsls r1, r3, 16 - asrs r1, 16 - bl CurrentMapDrawMetatileAt - b _08069C9A -_08069C76: - mov r0, r10 - lsls r5, r0, 16 - asrs r5, 16 - mov r1, r8 - lsls r4, r1, 16 - asrs r4, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80699D8 - adds r0, r5, 0 - adds r1, r4, 0 - bl CurrentMapDrawMetatileAt - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_8069A3C -_08069C9A: - movs r2, 0xC - ldrsh r0, [r6, r2] - cmp r0, 0 - bne _08069CA6 -_08069CA2: - movs r0, 0x1 - strh r0, [r6, 0x2] -_08069CA6: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end PerStepCallback_8069AA0 - - thumb_func_start sub_8069CB8 -sub_8069CB8: @ 8069CB8 - push {lr} - lsls r1, 16 - lsrs r1, 16 - lsls r0, 16 - ldr r2, _08069CE8 @ =0xfffd0000 - adds r0, r2 - lsrs r0, 16 - cmp r0, 0xA - bhi _08069CF4 - lsls r0, r1, 16 - asrs r1, r0, 16 - ldr r2, _08069CEC @ =0xfffa0000 - adds r0, r2 - lsrs r0, 16 - cmp r0, 0xD - bhi _08069CF4 - ldr r0, _08069CF0 @ =gUnknown_083763E4 - lsls r1, 1 - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0 - beq _08069CF4 - movs r0, 0x1 - b _08069CF6 - .align 2, 0 -_08069CE8: .4byte 0xfffd0000 -_08069CEC: .4byte 0xfffa0000 -_08069CF0: .4byte gUnknown_083763E4 -_08069CF4: - movs r0, 0 -_08069CF6: - pop {r1} - bx r1 - thumb_func_end sub_8069CB8 - - thumb_func_start sub_8069CFC -sub_8069CFC: @ 8069CFC - push {r4,r5,lr} - lsls r0, 16 - asrs r5, r0, 16 - lsls r1, 16 - asrs r4, r1, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_8069CB8 - cmp r0, 0 - beq _08069D2A - ldr r1, _08069D30 @ =gUnknown_083763E4 - lsls r0, r4, 1 - adds r0, r1 - ldrh r0, [r0] - bl GetVarPointer - subs r2, r5, 0x3 - movs r1, 0x1 - lsls r1, r2 - ldrh r2, [r0] - orrs r1, r2 - strh r1, [r0] -_08069D2A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08069D30: .4byte gUnknown_083763E4 - thumb_func_end sub_8069CFC - - thumb_func_start sub_8069D34 -sub_8069D34: @ 8069D34 - push {r4,r5,lr} - lsls r0, 16 - asrs r5, r0, 16 - lsls r1, 16 - asrs r4, r1, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_8069CB8 - cmp r0, 0 - beq _08069D66 - ldr r1, _08069D6C @ =gUnknown_083763E4 - lsls r0, r4, 1 - adds r0, r1 - ldrh r0, [r0] - bl VarGet - lsls r0, 16 - subs r2, r5, 0x3 - movs r1, 0x80 - lsls r1, 9 - lsls r1, r2 - ands r1, r0 - cmp r1, 0 - bne _08069D70 -_08069D66: - movs r0, 0 - b _08069D72 - .align 2, 0 -_08069D6C: .4byte gUnknown_083763E4 -_08069D70: - movs r0, 0x1 -_08069D72: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8069D34 - - thumb_func_start sub_8069D78 -sub_8069D78: @ 8069D78 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r0, _08069DCC @ =gMapHeader - ldr r0, [r0] - ldr r1, [r0] - mov r9, r1 - ldr r7, [r0, 0x4] - movs r5, 0 - cmp r5, r9 - bge _08069DC0 -_08069D90: - movs r4, 0 - adds r0, r5, 0x1 - mov r8, r0 - cmp r4, r7 - bge _08069DBA - lsls r6, r5, 16 -_08069D9C: - lsls r1, r4, 16 - asrs r1, 16 - asrs r0, r6, 16 - bl sub_8069D34 - cmp r0, 0x1 - bne _08069DB4 - adds r1, r4, 0x7 - adds r0, r5, 0x7 - ldr r2, _08069DD0 @ =0x0000020e - bl MapGridSetMetatileIdAt -_08069DB4: - adds r4, 0x1 - cmp r4, r7 - blt _08069D9C -_08069DBA: - mov r5, r8 - cmp r5, r9 - blt _08069D90 -_08069DC0: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08069DCC: .4byte gMapHeader -_08069DD0: .4byte 0x0000020e - thumb_func_end sub_8069D78 - - thumb_func_start PerStepCallback_8069DD4 -PerStepCallback_8069DD4: @ 8069DD4 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08069DF8 @ =gTasks + 0x8 - adds r5, r1, r0 - movs r1, 0x2 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _08069E20 - cmp r0, 0x1 - bgt _08069DFC - cmp r0, 0 - beq _08069E08 - b _08069F56 - .align 2, 0 -_08069DF8: .4byte gTasks + 0x8 -_08069DFC: - cmp r0, 0x2 - beq _08069EB6 - cmp r0, 0x3 - bne _08069E06 - b _08069F10 -_08069E06: - b _08069F56 -_08069E08: - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - ldrh r0, [r0] - strh r0, [r5, 0x4] - ldrh r0, [r4] - strh r0, [r5, 0x6] - b _08069F52 -_08069E20: - mov r7, sp - adds r7, 0x2 - mov r0, sp - adds r1, r7, 0 - bl PlayerGetDestCoords - mov r0, sp - ldrh r2, [r0] - movs r3, 0 - ldrsh r1, [r0, r3] - movs r3, 0x4 - ldrsh r0, [r5, r3] - cmp r1, r0 - bne _08069E4A - movs r0, 0 - ldrsh r1, [r7, r0] - movs r3, 0x6 - ldrsh r0, [r5, r3] - cmp r1, r0 - bne _08069E4A - b _08069F56 -_08069E4A: - strh r2, [r5, 0x4] - ldrh r0, [r7] - strh r0, [r5, 0x6] - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r7, r2] - bl MapGridGetMetatileBehaviorAt - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, _08069E8C @ =0x00004022 - bl GetVarPointer - adds r6, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl MetatileBehavior_IsThinIce - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08069E90 - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] - movs r0, 0x4 - strh r0, [r5, 0xC] - movs r0, 0x2 - b _08069EA8 - .align 2, 0 -_08069E8C: .4byte 0x00004022 -_08069E90: - adds r0, r4, 0 - bl MetatileBehavior_IsCrackedIce - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08069F56 - movs r0, 0 - strh r0, [r6] - movs r0, 0x4 - strh r0, [r5, 0xC] - movs r0, 0x3 -_08069EA8: - strh r0, [r5, 0x2] - mov r0, sp - ldrh r0, [r0] - strh r0, [r5, 0x8] - ldrh r0, [r7] - strh r0, [r5, 0xA] - b _08069F56 -_08069EB6: - ldrh r1, [r5, 0xC] - movs r3, 0xC - ldrsh r0, [r5, r3] - cmp r0, 0 - bne _08069F1A - mov r1, sp - ldrh r0, [r5, 0x8] - strh r0, [r1] - mov r4, sp - adds r4, 0x2 - ldrh r0, [r5, 0xA] - strh r0, [r4] - movs r0, 0x2A - bl PlaySE - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - ldr r2, _08069F0C @ =0x0000020e - bl MapGridSetMetatileIdAt - mov r0, sp - movs r3, 0 - ldrsh r0, [r0, r3] - movs r2, 0 - ldrsh r1, [r4, r2] - bl CurrentMapDrawMetatileAt - mov r0, sp - ldrh r0, [r0] - subs r0, 0x7 - lsls r0, 16 - asrs r0, 16 - ldrh r1, [r4] - subs r1, 0x7 - lsls r1, 16 - asrs r1, 16 - bl sub_8069CFC - b _08069F52 - .align 2, 0 -_08069F0C: .4byte 0x0000020e -_08069F10: - ldrh r1, [r5, 0xC] - movs r3, 0xC - ldrsh r0, [r5, r3] - cmp r0, 0 - beq _08069F20 -_08069F1A: - subs r0, r1, 0x1 - strh r0, [r5, 0xC] - b _08069F56 -_08069F20: - mov r1, sp - ldrh r0, [r5, 0x8] - strh r0, [r1] - mov r4, sp - adds r4, 0x2 - ldrh r0, [r5, 0xA] - strh r0, [r4] - movs r0, 0x29 - bl PlaySE - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - ldr r2, _08069F60 @ =0x00000206 - bl MapGridSetMetatileIdAt - mov r0, sp - movs r3, 0 - ldrsh r0, [r0, r3] - movs r2, 0 - ldrsh r1, [r4, r2] - bl CurrentMapDrawMetatileAt -_08069F52: - movs r0, 0x1 - strh r0, [r5, 0x2] -_08069F56: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08069F60: .4byte 0x00000206 - thumb_func_end PerStepCallback_8069DD4 - - thumb_func_start PerStepCallback_8069F64 -PerStepCallback_8069F64: @ 8069F64 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08069FE8 @ =gTasks + 0x8 - adds r5, r1, r0 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - ldrh r2, [r0] - movs r3, 0 - ldrsh r1, [r0, r3] - movs r3, 0x2 - ldrsh r0, [r5, r3] - cmp r1, r0 - bne _08069F9E - movs r0, 0 - ldrsh r1, [r4, r0] - movs r3, 0x4 - ldrsh r0, [r5, r3] - cmp r1, r0 - beq _0806A02A -_08069F9E: - strh r2, [r5, 0x2] - ldrh r0, [r4] - strh r0, [r5, 0x4] - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsAshGrass - lsls r0, 24 - cmp r0, 0 - beq _0806A02A - mov r0, sp - movs r3, 0 - ldrsh r0, [r0, r3] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileIdAt - ldr r1, _08069FEC @ =0x0000020a - cmp r0, r1 - bne _08069FF4 - mov r0, sp - movs r3, 0 - ldrsh r0, [r0, r3] - movs r2, 0 - ldrsh r1, [r4, r2] - ldr r2, _08069FF0 @ =0x00000212 - movs r3, 0x4 - bl ash - b _0806A006 - .align 2, 0 -_08069FE8: .4byte gTasks + 0x8 -_08069FEC: .4byte 0x0000020a -_08069FF0: .4byte 0x00000212 -_08069FF4: - mov r0, sp - movs r3, 0 - ldrsh r0, [r0, r3] - movs r2, 0 - ldrsh r1, [r4, r2] - ldr r2, _0806A034 @ =0x00000206 - movs r3, 0x4 - bl ash -_0806A006: - movs r0, 0x87 - lsls r0, 1 - movs r1, 0x1 - bl CheckBagHasItem - lsls r0, 24 - cmp r0, 0 - beq _0806A02A - ldr r0, _0806A038 @ =0x00004048 - bl GetVarPointer - adds r2, r0, 0 - ldrh r1, [r2] - ldr r0, _0806A03C @ =0x0000270e - cmp r1, r0 - bhi _0806A02A - adds r0, r1, 0x1 - strh r0, [r2] -_0806A02A: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806A034: .4byte 0x00000206 -_0806A038: .4byte 0x00004048 -_0806A03C: .4byte 0x0000270e - thumb_func_end PerStepCallback_8069F64 - - thumb_func_start sub_806A040 -sub_806A040: @ 806A040 - push {r4,r5,lr} - lsls r0, 16 - asrs r5, r0, 16 - lsls r1, 16 - asrs r4, r1, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridGetMetatileIdAt - ldr r1, _0806A074 @ =0x0000022f - ldr r2, _0806A078 @ =0x00000237 - cmp r0, r1 - bne _0806A05C - subs r2, 0x31 -_0806A05C: - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridSetMetatileIdAt - adds r0, r5, 0 - adds r1, r4, 0 - bl CurrentMapDrawMetatileAt - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806A074: .4byte 0x0000022f -_0806A078: .4byte 0x00000237 - thumb_func_end sub_806A040 - - thumb_func_start PerStepCallback_806A07C -PerStepCallback_806A07C: @ 806A07C - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0806A164 @ =gTasks + 0x8 - adds r5, r1, r0 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 16 - lsrs r6, r0, 16 - ldrh r1, [r5, 0x8] - movs r3, 0x8 - ldrsh r0, [r5, r3] - adds r7, r4, 0 - cmp r0, 0 - beq _0806A0CE - subs r0, r1, 0x1 - strh r0, [r5, 0x8] - lsls r0, 16 - cmp r0, 0 - bne _0806A0CE - movs r1, 0xA - ldrsh r0, [r5, r1] - movs r2, 0xC - ldrsh r1, [r5, r2] - bl sub_806A040 -_0806A0CE: - ldrh r1, [r5, 0xE] - movs r3, 0xE - ldrsh r0, [r5, r3] - cmp r0, 0 - beq _0806A0EE - subs r0, r1, 0x1 - strh r0, [r5, 0xE] - lsls r0, 16 - cmp r0, 0 - bne _0806A0EE - movs r1, 0x10 - ldrsh r0, [r5, r1] - movs r2, 0x12 - ldrsh r1, [r5, r2] - bl sub_806A040 -_0806A0EE: - lsls r0, r6, 24 - lsrs r6, r0, 24 - adds r0, r6, 0 - bl MetatileBehavior_IsCrackedFloorHole - lsls r0, 24 - cmp r0, 0 - beq _0806A106 - ldr r0, _0806A168 @ =0x00004022 - movs r1, 0 - bl VarSet -_0806A106: - mov r0, sp - ldrh r2, [r0] - movs r3, 0 - ldrsh r1, [r0, r3] - movs r3, 0x4 - ldrsh r0, [r5, r3] - cmp r1, r0 - bne _0806A122 - movs r0, 0 - ldrsh r1, [r7, r0] - movs r3, 0x6 - ldrsh r0, [r5, r3] - cmp r1, r0 - beq _0806A182 -_0806A122: - strh r2, [r5, 0x4] - adds r4, r7, 0 - ldrh r0, [r4] - strh r0, [r5, 0x6] - adds r0, r6, 0 - bl MetatileBehavior_IsCrackedFloor - lsls r0, 24 - cmp r0, 0 - beq _0806A182 - bl GetPlayerSpeed - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - beq _0806A14A - ldr r0, _0806A168 @ =0x00004022 - movs r1, 0 - bl VarSet -_0806A14A: - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _0806A16C - movs r0, 0x3 - strh r0, [r5, 0x8] - mov r0, sp - ldrh r0, [r0] - strh r0, [r5, 0xA] - ldrh r0, [r4] - strh r0, [r5, 0xC] - b _0806A182 - .align 2, 0 -_0806A164: .4byte gTasks + 0x8 -_0806A168: .4byte 0x00004022 -_0806A16C: - movs r2, 0xE - ldrsh r0, [r5, r2] - cmp r0, 0 - bne _0806A182 - movs r0, 0x3 - strh r0, [r5, 0xE] - mov r0, sp - ldrh r0, [r0] - strh r0, [r5, 0x10] - ldrh r0, [r7] - strh r0, [r5, 0x12] -_0806A182: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end PerStepCallback_806A07C - - thumb_func_start sub_806A18C -sub_806A18C: @ 806A18C - push {r4,r5,lr} - adds r3, r0, 0 - lsls r1, 16 - lsrs r5, r1, 16 - lsls r2, 16 - lsrs r4, r2, 16 - ldrh r0, [r3] - subs r0, 0x1 - strh r0, [r3] - lsls r0, 16 - cmp r0, 0 - bne _0806A1A8 - movs r2, 0xE8 - b _0806A1BC -_0806A1A8: - ldr r1, _0806A1E4 @ =gUnknown_08376418 - movs r2, 0 - ldrsh r0, [r3, r2] - cmp r0, 0 - bge _0806A1B4 - adds r0, 0x7 -_0806A1B4: - asrs r0, 3 - lsls r0, 1 - adds r0, r1 - ldrh r2, [r0] -_0806A1BC: - lsls r5, 16 - asrs r5, 16 - lsls r4, 16 - asrs r4, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridSetMetatileIdAt - adds r0, r5, 0 - adds r1, r4, 0 - bl CurrentMapDrawMetatileAt - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0xE8 - bl MapGridSetMetatileIdAt - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806A1E4: .4byte gUnknown_08376418 - thumb_func_end sub_806A18C - - thumb_func_start Task_MuddySlope -Task_MuddySlope: @ 806A1E8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0806A230 @ =gTasks + 0x8 - adds r4, r1, r0 - mov r5, sp - adds r5, 0x2 - mov r0, sp - adds r1, r5, 0 - bl PlayerGetDestCoords - ldr r0, _0806A234 @ =gSaveBlock1 - movs r1, 0x4 - ldrsb r1, [r0, r1] - lsls r1, 8 - ldrb r0, [r0, 0x5] - lsls r0, 24 - asrs r0, 24 - orrs r0, r1 - lsls r0, 16 - lsrs r7, r0, 16 - movs r0, 0x2 - ldrsh r1, [r4, r0] - mov r8, r5 - cmp r1, 0 - beq _0806A238 - cmp r1, 0x1 - beq _0806A264 - b _0806A2B8 - .align 2, 0 -_0806A230: .4byte gTasks + 0x8 -_0806A234: .4byte gSaveBlock1 -_0806A238: - strh r7, [r4] - mov r0, sp - ldrh r0, [r0] - strh r0, [r4, 0x4] - ldrh r0, [r5] - strh r0, [r4, 0x6] - movs r0, 0x1 - strh r0, [r4, 0x2] - strh r1, [r4, 0x8] - strh r1, [r4, 0xE] - strh r1, [r4, 0x14] - strh r1, [r4, 0x1A] - b _0806A2B8 -_0806A252: - movs r0, 0x20 - strh r0, [r1] - mov r0, sp - ldrh r0, [r0] - strh r0, [r1, 0x2] - mov r2, r8 - ldrh r0, [r2] - strh r0, [r1, 0x4] - b _0806A2B8 -_0806A264: - mov r0, sp - movs r3, 0x4 - ldrsh r1, [r4, r3] - ldrh r2, [r0] - movs r3, 0 - ldrsh r0, [r0, r3] - cmp r1, r0 - bne _0806A280 - movs r0, 0x6 - ldrsh r1, [r4, r0] - movs r3, 0 - ldrsh r0, [r5, r3] - cmp r1, r0 - beq _0806A2B8 -_0806A280: - strh r2, [r4, 0x4] - ldrh r0, [r5] - strh r0, [r4, 0x6] - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsMuddySlope - lsls r0, 24 - cmp r0, 0 - beq _0806A2B8 - movs r6, 0x4 - adds r1, r4, 0 - adds r1, 0x8 -_0806A2A8: - movs r3, 0 - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _0806A252 - adds r1, 0x6 - adds r6, 0x3 - cmp r6, 0xD - ble _0806A2A8 -_0806A2B8: - ldr r2, _0806A2D4 @ =gUnknown_0202E844 - ldrb r1, [r2] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0806A2D8 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r7, r0 - beq _0806A2D8 - strh r7, [r4] - ldrh r0, [r2, 0x4] - ldrh r1, [r2, 0x8] - b _0806A2DC - .align 2, 0 -_0806A2D4: .4byte gUnknown_0202E844 -_0806A2D8: - movs r0, 0 - movs r1, 0 -_0806A2DC: - lsls r0, 16 - asrs r0, 16 - mov r8, r0 - lsls r0, r1, 16 - asrs r7, r0, 16 - adds r5, r4, 0 - adds r5, 0x8 - adds r4, r5, 0 - movs r6, 0x9 -_0806A2EE: - movs r2, 0 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _0806A312 - ldrh r0, [r4, 0x2] - mov r3, r8 - subs r0, r3 - strh r0, [r4, 0x2] - ldrh r0, [r4, 0x4] - subs r0, r7 - strh r0, [r4, 0x4] - movs r0, 0x2 - ldrsh r1, [r4, r0] - movs r3, 0x4 - ldrsh r2, [r4, r3] - adds r0, r5, 0 - bl sub_806A18C -_0806A312: - adds r4, 0x6 - adds r5, 0x6 - subs r6, 0x3 - cmp r6, 0 - bge _0806A2EE - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end Task_MuddySlope - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/item_menu.s b/asm/item_menu.s deleted file mode 100644 index 17e399160..000000000 --- a/asm/item_menu.s +++ /dev/null @@ -1,9873 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_80A3118 -sub_80A3118: @ 80A3118 - push {lr} - bl AnimateSprites - bl BuildOamBuffer - bl RunTasks - bl sub_80A740C - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_80A3118 - - thumb_func_start sub_80A3134 -sub_80A3134: @ 80A3134 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - ldr r1, _080A3168 @ =gBGTilemapBuffers + 0x800 - ldr r2, _080A316C @ =0x06002000 - ldr r0, _080A3170 @ =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r3, _080A3174 @ =0x80000400 - str r3, [r0, 0x8] - ldr r2, [r0, 0x8] - movs r2, 0x80 - lsls r2, 4 - adds r1, r2 - ldr r2, _080A3178 @ =0x06006000 - str r1, [r0] - str r2, [r0, 0x4] - str r3, [r0, 0x8] - ldr r0, [r0, 0x8] - pop {r0} - bx r0 - .align 2, 0 -_080A3168: .4byte gBGTilemapBuffers + 0x800 -_080A316C: .4byte 0x06002000 -_080A3170: .4byte 0x040000d4 -_080A3174: .4byte 0x80000400 -_080A3178: .4byte 0x06006000 - thumb_func_end sub_80A3134 - - thumb_func_start sub_80A317C -sub_80A317C: @ 80A317C - push {r4,r5,lr} - sub sp, 0x4 - ldr r0, _080A3198 @ =gMain - ldr r1, _080A319C @ =0x0000043c - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x10 - bls _080A318E - b _080A34A8 -_080A318E: - lsls r0, 2 - ldr r1, _080A31A0 @ =_080A31A4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080A3198: .4byte gMain -_080A319C: .4byte 0x0000043c -_080A31A0: .4byte _080A31A4 - .align 2, 0 -_080A31A4: - .4byte _080A31E8 - .4byte _080A31F2 - .4byte _080A3208 - .4byte _080A320E - .4byte _080A3228 - .4byte _080A324C - .4byte _080A3252 - .4byte _080A3270 - .4byte _080A327C - .4byte _080A3298 - .4byte _080A32A4 - .4byte _080A3328 - .4byte _080A338C - .4byte _080A33F4 - .4byte _080A3404 - .4byte _080A345C - .4byte _080A347C -_080A31E8: - bl sub_80F9438 - bl sub_80A34E8 - b _080A3464 -_080A31F2: - bl remove_some_task - ldr r1, _080A3200 @ =gMain - ldr r0, _080A3204 @ =0x0000043c - adds r1, r0 - b _080A346A - .align 2, 0 -_080A3200: .4byte gMain -_080A3204: .4byte 0x0000043c -_080A3208: - bl gpu_pal_allocator_reset__manage_upper_four - b _080A3464 -_080A320E: - bl sub_80F9020 - ldr r0, _080A3220 @ =0x02000000 - ldr r1, _080A3224 @ =0x0001ffff - adds r0, r1 - movs r1, 0 - strb r1, [r0] - b _080A3464 - .align 2, 0 -_080A3220: .4byte 0x02000000 -_080A3224: .4byte 0x0001ffff -_080A3228: - bl ResetPaletteFade - ldr r2, _080A3240 @ =gPaletteFade - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x8] - ldr r1, _080A3244 @ =gMain - ldr r0, _080A3248 @ =0x0000043c - adds r1, r0 - b _080A346A - .align 2, 0 -_080A3240: .4byte gPaletteFade -_080A3244: .4byte gMain -_080A3248: .4byte 0x0000043c -_080A324C: - bl ResetSpriteData - b _080A3464 -_080A3252: - bl sub_80A3520 - lsls r0, 24 - cmp r0, 0 - bne _080A325E - b _080A34A8 -_080A325E: - ldr r1, _080A3268 @ =gMain - ldr r0, _080A326C @ =0x0000043c - adds r1, r0 - b _080A346A - .align 2, 0 -_080A3268: .4byte gMain -_080A326C: .4byte 0x0000043c -_080A3270: - ldr r0, _080A3278 @ =gWindowConfig_81E6DFC - bl SetUpWindowConfig - b _080A3464 - .align 2, 0 -_080A3278: .4byte gWindowConfig_81E6DFC -_080A327C: - ldr r0, _080A328C @ =gWindowConfig_81E6DFC - bl MultistepInitMenuWindowBegin - ldr r1, _080A3290 @ =gMain - ldr r0, _080A3294 @ =0x0000043c - adds r1, r0 - b _080A346A - .align 2, 0 -_080A328C: .4byte gWindowConfig_81E6DFC -_080A3290: .4byte gMain -_080A3294: .4byte 0x0000043c -_080A3298: - bl MultistepInitMenuWindowContinue - cmp r0, 0 - bne _080A32A2 - b _080A34A8 -_080A32A2: - b _080A3464 -_080A32A4: - bl sub_80F944C - bl LoadScrollIndicatorPalette - movs r0, 0 - movs r1, 0xAC - movs r2, 0xC - bl CreateVerticalScrollIndicators - movs r0, 0x1 - movs r1, 0xAC - movs r2, 0x94 - bl CreateVerticalScrollIndicators - movs r0, 0x2 - movs r1, 0x1C - movs r2, 0x58 - bl CreateVerticalScrollIndicators - movs r0, 0x3 - movs r1, 0x64 - movs r2, 0x58 - bl CreateVerticalScrollIndicators - movs r0, 0 - movs r1, 0x2 - bl sub_80F9988 - movs r0, 0x1 - movs r1, 0x2 - bl sub_80F9988 - movs r0, 0x2 - movs r1, 0x2 - bl sub_80F9988 - movs r0, 0x3 - movs r1, 0x2 - bl sub_80F9988 - ldr r0, _080A331C @ =gUnknown_03000701 - ldrb r0, [r0] - subs r0, 0x4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _080A3312 - movs r0, 0x2 - movs r1, 0x1 - bl sub_80F979C - movs r0, 0x3 - movs r1, 0x1 - bl sub_80F979C -_080A3312: - ldr r1, _080A3320 @ =gMain - ldr r0, _080A3324 @ =0x0000043c - adds r1, r0 - b _080A346A - .align 2, 0 -_080A331C: .4byte gUnknown_03000701 -_080A3320: .4byte gMain -_080A3324: .4byte 0x0000043c -_080A3328: - ldr r1, _080A3378 @ =gUnknown_0203855A - movs r0, 0x10 - strb r0, [r1] - ldr r4, _080A337C @ =gBGTilemapBuffers + 0x1000 - ldr r5, _080A3380 @ =gUnknown_02038559 - ldrb r1, [r5] - adds r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_80A39B8 - ldrb r1, [r5] - adds r0, r4, 0 - bl sub_80A3AC0 - bl sub_80A3D08 - ldr r4, _080A3384 @ =gBagPockets - ldr r0, [r4, 0x10] - ldr r1, [r4, 0x14] - bl sub_80A3C34 - ldr r0, [r4, 0x18] - ldr r1, [r4, 0x1C] - bl sub_80A3C34 - bl sub_80A3D40 - ldr r1, _080A3388 @ =gUnknown_03005D24 - movs r0, 0 - ldrsb r0, [r5, r0] - lsls r0, 3 - adds r0, r4 - ldr r0, [r0] - str r0, [r1] - bl sub_80A362C - b _080A3464 - .align 2, 0 -_080A3378: .4byte gUnknown_0203855A -_080A337C: .4byte gBGTilemapBuffers + 0x1000 -_080A3380: .4byte gUnknown_02038559 -_080A3384: .4byte gBagPockets -_080A3388: .4byte gUnknown_03005D24 -_080A338C: - ldr r0, _080A33D4 @ =0x0000ffff - movs r1, 0 - movs r2, 0x7 - bl sub_80A48E8 - ldr r1, _080A33D8 @ =gUnknown_03005D10 - ldr r4, _080A33DC @ =gUnknown_02038559 - movs r0, 0 - ldrsb r0, [r4, r0] - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x1] - ldrb r0, [r0] - adds r1, r0 - ldr r0, _080A33E0 @ =gUnknown_03005D24 - ldr r0, [r0] - lsls r1, 2 - adds r1, r0 - movs r2, 0 - ldrsh r0, [r1, r2] - bl ItemListMenu_InitDescription - bl ItemListMenu_InitMenu - ldr r1, _080A33E4 @ =gUnknown_0203855B - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r1] - ldr r1, _080A33E8 @ =gUnknown_0203855C - movs r0, 0 - strb r0, [r1] - ldr r1, _080A33EC @ =gMain - ldr r0, _080A33F0 @ =0x0000043c - adds r1, r0 - b _080A346A - .align 2, 0 -_080A33D4: .4byte 0x0000ffff -_080A33D8: .4byte gUnknown_03005D10 -_080A33DC: .4byte gUnknown_02038559 -_080A33E0: .4byte gUnknown_03005D24 -_080A33E4: .4byte gUnknown_0203855B -_080A33E8: .4byte gUnknown_0203855C -_080A33EC: .4byte gMain -_080A33F0: .4byte 0x0000043c -_080A33F4: - bl CreateBagSprite - movs r0, 0 - bl CreateBagPokeballSprite - bl sub_80A3740 - b _080A3464 -_080A3404: - ldr r3, _080A3444 @ =0x04000208 - ldrh r2, [r3] - movs r0, 0 - strh r0, [r3] - ldr r4, _080A3448 @ =0x04000200 - ldrh r0, [r4] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r4] - strh r2, [r3] - ldr r2, _080A344C @ =REG_DISPSTAT - ldrh r0, [r2] - movs r1, 0x8 - orrs r0, r1 - strh r0, [r2] - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r2, _080A3450 @ =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] - ldr r1, _080A3454 @ =gMain - ldr r0, _080A3458 @ =0x0000043c - adds r1, r0 - b _080A346A - .align 2, 0 -_080A3444: .4byte 0x04000208 -_080A3448: .4byte 0x04000200 -_080A344C: .4byte REG_DISPSTAT -_080A3450: .4byte gPaletteFade -_080A3454: .4byte gMain -_080A3458: .4byte 0x0000043c -_080A345C: - bl sub_8055870 - cmp r0, 0x1 - beq _080A34A8 -_080A3464: - ldr r1, _080A3474 @ =gMain - ldr r2, _080A3478 @ =0x0000043c - adds r1, r2 -_080A346A: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080A34A8 - .align 2, 0 -_080A3474: .4byte gMain -_080A3478: .4byte 0x0000043c -_080A347C: - ldr r0, _080A34A0 @ =sub_80A3134 - bl SetVBlankCallback - ldr r0, _080A34A4 @ =sub_80A3118 - bl SetMainCallback2 - bl sub_80A751C - bl sub_80A7630 - bl sub_80A770C - bl sub_80A7828 - bl sub_80A78B8 - movs r0, 0x1 - b _080A34AA - .align 2, 0 -_080A34A0: .4byte sub_80A3134 -_080A34A4: .4byte sub_80A3118 -_080A34A8: - movs r0, 0 -_080A34AA: - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80A317C - - thumb_func_start sub_80A34B4 -sub_80A34B4: @ 80A34B4 - push {lr} -_080A34B6: - bl sub_80A317C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080A34D2 - bl sub_80F9344 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A34B6 - movs r0, 0 - b _080A34DE -_080A34D2: - ldr r1, _080A34E4 @ =gUnknown_03000700 - movs r0, 0 - strb r0, [r1] - bl ResetTasks - movs r0, 0x1 -_080A34DE: - pop {r1} - bx r1 - .align 2, 0 -_080A34E4: .4byte gUnknown_03000700 - thumb_func_end sub_80A34B4 - - thumb_func_start sub_80A34E8 -sub_80A34E8: @ 80A34E8 - push {lr} - bl sub_80F9368 - ldr r1, _080A3514 @ =REG_BG2CNT - ldr r2, _080A3518 @ =0x00000c06 - adds r0, r2, 0 - strh r0, [r1] - subs r1, 0x2 - ldr r2, _080A351C @ =0x00000405 - adds r0, r2, 0 - strh r0, [r1] - subs r1, 0xA - movs r2, 0xBA - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x50 - movs r0, 0 - strh r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_080A3514: .4byte REG_BG2CNT -_080A3518: .4byte 0x00000c06 -_080A351C: .4byte 0x00000405 - thumb_func_end sub_80A34E8 - - thumb_func_start sub_80A3520 -sub_80A3520: @ 80A3520 - push {lr} - ldr r0, _080A353C @ =0x02000000 - ldr r1, _080A3540 @ =0x0001ffff - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x4 - bls _080A3530 - b _080A3624 -_080A3530: - lsls r0, 2 - ldr r1, _080A3544 @ =_080A3548 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080A353C: .4byte 0x02000000 -_080A3540: .4byte 0x0001ffff -_080A3544: .4byte _080A3548 - .align 2, 0 -_080A3548: - .4byte _080A355C - .4byte _080A3570 - .4byte _080A3588 - .4byte _080A35C0 - .4byte _080A3604 -_080A355C: - ldr r0, _080A3568 @ =gBagScreen_Gfx - ldr r1, _080A356C @ =0x06004000 - bl LZDecompressVram - b _080A35EA - .align 2, 0 -_080A3568: .4byte gBagScreen_Gfx -_080A356C: .4byte 0x06004000 -_080A3570: - ldr r0, _080A3580 @ =gUnknown_08E77004 - ldr r1, _080A3584 @ =gBGTilemapBuffers + 0x1000 - movs r2, 0x80 - lsls r2, 3 - bl CpuSet - b _080A35EA - .align 2, 0 -_080A3580: .4byte gUnknown_08E77004 -_080A3584: .4byte gBGTilemapBuffers + 0x1000 -_080A3588: - ldr r0, _080A35A4 @ =gSaveBlock2 - ldrb r0, [r0, 0x8] - cmp r0, 0 - beq _080A3598 - ldr r0, _080A35A8 @ =gUnknown_03000701 - ldrb r0, [r0] - cmp r0, 0x7 - bne _080A35B0 -_080A3598: - ldr r0, _080A35AC @ =gBagScreenMale_Pal - movs r1, 0 - movs r2, 0x40 - bl LoadCompressedPalette - b _080A35EA - .align 2, 0 -_080A35A4: .4byte gSaveBlock2 -_080A35A8: .4byte gUnknown_03000701 -_080A35AC: .4byte gBagScreenMale_Pal -_080A35B0: - ldr r0, _080A35BC @ =gBagScreenFemale_Pal - movs r1, 0 - movs r2, 0x40 - bl LoadCompressedPalette - b _080A35EA - .align 2, 0 -_080A35BC: .4byte gBagScreenFemale_Pal -_080A35C0: - ldr r0, _080A35D8 @ =gSaveBlock2 - ldrb r0, [r0, 0x8] - cmp r0, 0 - beq _080A35D0 - ldr r0, _080A35DC @ =gUnknown_03000701 - ldrb r0, [r0] - cmp r0, 0x7 - bne _080A35E4 -_080A35D0: - ldr r0, _080A35E0 @ =gUnknown_083C1CC8 - bl LoadCompressedObjectPic - b _080A35EA - .align 2, 0 -_080A35D8: .4byte gSaveBlock2 -_080A35DC: .4byte gUnknown_03000701 -_080A35E0: .4byte gUnknown_083C1CC8 -_080A35E4: - ldr r0, _080A35F8 @ =gUnknown_083C1CD0 - bl LoadCompressedObjectPic -_080A35EA: - ldr r1, _080A35FC @ =0x02000000 - ldr r0, _080A3600 @ =0x0001ffff - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080A3624 - .align 2, 0 -_080A35F8: .4byte gUnknown_083C1CD0 -_080A35FC: .4byte 0x02000000 -_080A3600: .4byte 0x0001ffff -_080A3604: - ldr r0, _080A3618 @ =gUnknown_083C1CD8 - bl LoadCompressedObjectPalette - ldr r0, _080A361C @ =0x02000000 - ldr r1, _080A3620 @ =0x0001ffff - adds r0, r1 - movs r1, 0 - strb r1, [r0] - movs r0, 0x1 - b _080A3626 - .align 2, 0 -_080A3618: .4byte gUnknown_083C1CD8 -_080A361C: .4byte 0x02000000 -_080A3620: .4byte 0x0001ffff -_080A3624: - movs r0, 0 -_080A3626: - pop {r1} - bx r1 - thumb_func_end sub_80A3520 - - thumb_func_start sub_80A362C -sub_80A362C: @ 80A362C - push {r4-r6,lr} - movs r4, 0 - ldr r6, _080A3648 @ =gUnknown_03000701 - ldr r5, _080A364C @ =gUnknown_03005D10 -_080A3634: - ldrb r0, [r6] - cmp r0, 0x5 - bne _080A3650 - lsls r1, r4, 2 - adds r0, r1, r5 - ldrb r0, [r0, 0x2] - subs r0, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - b _080A3656 - .align 2, 0 -_080A3648: .4byte gUnknown_03000701 -_080A364C: .4byte gUnknown_03005D10 -_080A3650: - lsls r1, r4, 2 - adds r0, r1, r5 - ldrb r3, [r0, 0x2] -_080A3656: - adds r1, r5 - ldrb r0, [r1, 0x1] - cmp r0, 0 - beq _080A366C - ldrb r2, [r1, 0x3] - adds r0, r2 - cmp r0, r3 - ble _080A3674 - subs r0, r3, r2 - strb r0, [r1, 0x1] - b _080A3674 -_080A366C: - ldrb r0, [r1] - cmp r0, r3 - bls _080A3674 - strb r3, [r1] -_080A3674: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bls _080A3634 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80A362C - - thumb_func_start sub_80A3684 -sub_80A3684: @ 80A3684 - push {r4,lr} - movs r2, 0 - ldr r4, _080A36B0 @ =gUnknown_02038559 - ldr r3, _080A36B4 @ =gUnknown_03005D10 - movs r1, 0 -_080A368E: - lsls r0, r2, 2 - adds r0, r3 - strb r1, [r0] - strb r1, [r0, 0x1] - strb r1, [r0, 0x2] - strb r1, [r0, 0x3] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x4 - bls _080A368E - movs r0, 0 - strb r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A36B0: .4byte gUnknown_02038559 -_080A36B4: .4byte gUnknown_03005D10 - thumb_func_end sub_80A3684 - - thumb_func_start sub_80A36B8 -sub_80A36B8: @ 80A36B8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - ldr r0, [sp, 0x18] - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - lsls r2, 24 - lsls r3, 24 - lsrs r3, 24 - mov r12, r3 - lsls r0, 24 - lsrs r0, 24 - lsrs r2, 24 - adds r0, r2, r0 - cmp r2, r0 - bgt _080A370A - adds r7, r0, 0 -_080A36DE: - mov r1, r8 - mov r3, r12 - adds r0, r1, r3 - adds r4, r2, 0x1 - cmp r1, r0 - bgt _080A3702 - lsls r3, r2, 5 - movs r5, 0 - adds r2, r0, 0 -_080A36F0: - adds r0, r1, r3 - lsls r0, 1 - adds r0, r6 - strh r5, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, r2 - ble _080A36F0 -_080A3702: - lsls r0, r4, 16 - lsrs r2, r0, 16 - cmp r2, r7 - ble _080A36DE -_080A370A: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80A36B8 - - thumb_func_start ClearBag -ClearBag: @ 80A3714 - push {r4,r5,lr} - movs r4, 0 - ldr r5, _080A373C @ =gBagPockets -_080A371A: - lsls r1, r4, 3 - adds r1, r5 - ldr r0, [r1] - ldrb r1, [r1, 0x4] - bl ClearItemSlots - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x4 - bls _080A371A - bl sub_80A3684 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A373C: .4byte gBagPockets - thumb_func_end ClearBag - - thumb_func_start sub_80A3740 -sub_80A3740: @ 80A3740 - push {lr} - sub sp, 0x4 - ldr r1, _080A376C @ =gUnknown_083C1704 - mov r0, sp - movs r2, 0x4 - bl memcpy - mov r0, sp - adds r0, 0x2 - movs r1, 0xD1 - movs r2, 0x2 - bl LoadPalette - mov r0, sp - movs r1, 0xD8 - movs r2, 0x2 - bl LoadPalette - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080A376C: .4byte gUnknown_083C1704 - thumb_func_end sub_80A3740 - - thumb_func_start sub_80A3770 -sub_80A3770: @ 80A3770 - push {lr} - ldr r0, _080A379C @ =gUnknown_03000701 - ldrb r0, [r0] - cmp r0, 0 - bne _080A37B6 - ldr r3, _080A37A0 @ =gUnknown_03000704 - ldr r2, _080A37A4 @ =gUnknown_02038559 - movs r1, 0 - ldrsb r1, [r2, r1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - ldr r1, _080A37A8 @ =gUnknown_083C1690 - adds r0, r1 - str r0, [r3] - movs r0, 0 - ldrsb r0, [r2, r0] - cmp r0, 0x3 - beq _080A37B0 - ldr r1, _080A37AC @ =gUnknown_02038564 - movs r0, 0x4 - b _080A37B4 - .align 2, 0 -_080A379C: .4byte gUnknown_03000701 -_080A37A0: .4byte gUnknown_03000704 -_080A37A4: .4byte gUnknown_02038559 -_080A37A8: .4byte gUnknown_083C1690 -_080A37AC: .4byte gUnknown_02038564 -_080A37B0: - ldr r1, _080A37BC @ =gUnknown_02038564 - movs r0, 0x6 -_080A37B4: - strb r0, [r1] -_080A37B6: - pop {r0} - bx r0 - .align 2, 0 -_080A37BC: .4byte gUnknown_02038564 - thumb_func_end sub_80A3770 - - thumb_func_start sub_80A37C0 -sub_80A37C0: @ 80A37C0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080A37F0 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _080A37F4 @ =sub_80A50C8 - str r0, [r1] - movs r0, 0 - bl StartVerticalScrollIndicators - movs r0, 0x1 - bl StartVerticalScrollIndicators - movs r0, 0x2 - bl StartVerticalScrollIndicators - movs r0, 0x3 - bl StartVerticalScrollIndicators - pop {r0} - bx r0 - .align 2, 0 -_080A37F0: .4byte gTasks -_080A37F4: .4byte sub_80A50C8 - thumb_func_end sub_80A37C0 - - thumb_func_start sub_80A37F8 -sub_80A37F8: @ 80A37F8 - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r6, _080A3854 @ =gUnknown_0203855A - ldrb r5, [r6] - cmp r5, 0xF - bhi _080A3868 - adds r0, r5, 0x1 - strb r0, [r6] - ldr r4, _080A3858 @ =gBGTilemapBuffers + 0x1000 - ldrb r2, [r6] - adds r0, r4, 0 - adds r1, r5, 0 - movs r3, 0x4F - bl sub_80A396C - ldr r0, _080A385C @ =gUnknown_02038559 - ldrb r1, [r0] - adds r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - ldrb r2, [r6] - lsrs r2, 1 - ldr r3, _080A3860 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r3 - movs r3, 0x12 - ldrsb r3, [r0, r3] - adds r0, r4, 0 - bl sub_80A39E4 - ldr r4, _080A3864 @ =gUnknown_02038558 - movs r0, 0x1 - strb r0, [r4] - lsrs r1, r5, 1 - ldrb r2, [r6] - lsrs r2, 1 - subs r2, 0x1 - adds r0, r7, 0 - bl sub_80A48E8 - movs r0, 0 - strb r0, [r4] - b _080A3932 - .align 2, 0 -_080A3854: .4byte gUnknown_0203855A -_080A3858: .4byte gBGTilemapBuffers + 0x1000 -_080A385C: .4byte gUnknown_02038559 -_080A3860: .4byte gTasks -_080A3864: .4byte gUnknown_02038558 -_080A3868: - ldr r0, _080A38A0 @ =gLinkOpen - ldrb r0, [r0] - cmp r0, 0x1 - bne _080A38B4 - ldr r1, _080A38A4 @ =gUnknown_03005D10 - ldr r0, _080A38A8 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x1] - ldrb r0, [r0] - adds r1, r0 - ldr r0, _080A38AC @ =gUnknown_03005D24 - ldr r0, [r0] - lsls r1, 2 - adds r1, r0 - movs r2, 0 - ldrsh r0, [r1, r2] - ldr r4, _080A38B0 @ =gUnknown_02038562 - ldrb r1, [r4] - bl ItemListMenu_ChangeDescription - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _080A38F2 - .align 2, 0 -_080A38A0: .4byte gLinkOpen -_080A38A4: .4byte gUnknown_03005D10 -_080A38A8: .4byte gUnknown_02038559 -_080A38AC: .4byte gUnknown_03005D24 -_080A38B0: .4byte gUnknown_02038562 -_080A38B4: - ldr r1, _080A3938 @ =gUnknown_02038562 - ldrb r0, [r1] - cmp r0, 0x2 - bhi _080A38F2 - ldr r5, _080A393C @ =gUnknown_03005D10 - adds r4, r1, 0 -_080A38C0: - ldr r0, _080A3940 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r5 - ldrb r1, [r0, 0x1] - ldrb r0, [r0] - adds r1, r0 - ldr r0, _080A3944 @ =gUnknown_03005D24 - ldr r0, [r0] - lsls r1, 2 - adds r1, r0 - movs r2, 0 - ldrsh r0, [r1, r2] - ldrb r1, [r4] - bl ItemListMenu_ChangeDescription - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bls _080A38C0 -_080A38F2: - ldr r0, _080A3938 @ =gUnknown_02038562 - ldrb r0, [r0] - cmp r0, 0x3 - bne _080A3932 - ldr r1, _080A3948 @ =gUnknown_0203855A - movs r0, 0x10 - strb r0, [r1] - ldr r1, _080A394C @ =gUnknown_0203855B - ldr r0, _080A3940 @ =gUnknown_02038559 - ldrb r0, [r0] - adds r0, 0x1 - strb r0, [r1] - ldr r0, _080A3950 @ =sub_80A4F68 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl sub_80A37C0 - adds r0, r7, 0 - bl DestroyTask - bl ItemListMenu_InitMenu - movs r0, 0x2 - movs r1, 0 - bl sub_80F979C - movs r0, 0x3 - movs r1, 0 - bl sub_80F979C -_080A3932: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A3938: .4byte gUnknown_02038562 -_080A393C: .4byte gUnknown_03005D10 -_080A3940: .4byte gUnknown_02038559 -_080A3944: .4byte gUnknown_03005D24 -_080A3948: .4byte gUnknown_0203855A -_080A394C: .4byte gUnknown_0203855B -_080A3950: .4byte sub_80A4F68 - thumb_func_end sub_80A37F8 - - thumb_func_start sub_80A3954 -sub_80A3954: @ 80A3954 - push {lr} - adds r1, r0, 0 - ldr r0, _080A3968 @ =gUnknown_08E77004 - movs r2, 0x80 - lsls r2, 3 - bl CpuSet - pop {r0} - bx r0 - .align 2, 0 -_080A3968: .4byte gUnknown_08E77004 - thumb_func_end sub_80A3954 - - thumb_func_start sub_80A396C -sub_80A396C: @ 80A396C - push {r4-r7,lr} - lsls r1, 24 - lsrs r5, r1, 24 - adds r4, r5, 0 - lsls r2, 24 - lsrs r7, r2, 24 - lsls r3, 24 - lsrs r6, r3, 24 - adds r1, r4, 0x2 - lsls r1, 6 - adds r1, 0x1C - adds r2, r0, r1 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r7, r4 - bls _080A39B2 -_080A398E: - movs r1, 0 - adds r3, r5, 0x1 - adds r4, r2, 0 - adds r4, 0x40 -_080A3996: - lsls r0, r1, 1 - adds r0, r2 - strh r6, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0xE - bls _080A3996 - adds r2, r4, 0 - adds r1, r5, 0 - lsls r0, r3, 24 - lsrs r5, r0, 24 - cmp r7, r1 - bhi _080A398E -_080A39B2: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80A396C - - thumb_func_start sub_80A39B8 -sub_80A39B8: @ 80A39B8 - push {lr} - sub sp, 0x10 - lsls r1, 25 - lsrs r1, 24 - ldr r3, _080A39E0 @ =gUnknown_08E96EC8 - movs r2, 0 - str r2, [sp] - str r1, [sp, 0x4] - movs r1, 0x8 - str r1, [sp, 0x8] - movs r1, 0x2 - str r1, [sp, 0xC] - movs r1, 0x4 - movs r2, 0xA - bl sub_809D104 - add sp, 0x10 - pop {r0} - bx r0 - .align 2, 0 -_080A39E0: .4byte gUnknown_08E96EC8 - thumb_func_end sub_80A39B8 - - thumb_func_start sub_80A39E4 -sub_80A39E4: @ 80A39E4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - mov r8, r0 - lsls r1, 24 - lsrs r1, 24 - adds r4, r1, 0 - lsls r2, 24 - lsrs r6, r2, 24 - adds r5, r6, 0 - lsls r2, r1, 1 - mov r9, r2 - lsls r3, 24 - asrs r3, 24 - movs r0, 0x1 - negs r0, r0 - cmp r3, r0 - bne _080A3A5C - adds r0, r1, 0x1 - lsls r7, r0, 1 - cmp r1, 0x5 - bne _080A3A18 - movs r7, 0x2 -_080A3A18: - ldr r0, _080A3A58 @ =gUnknown_08E96EC8 - mov r10, r0 - movs r4, 0x8 - subs r4, r6 - lsls r4, 16 - lsrs r4, 16 - str r4, [sp] - str r2, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0x2 - mov r9, r0 - str r0, [sp, 0xC] - mov r0, r8 - movs r1, 0x4 - movs r2, 0xA - mov r3, r10 - bl sub_809D104 - adds r1, r6, 0x4 - movs r0, 0 - str r0, [sp] - str r7, [sp, 0x4] - str r4, [sp, 0x8] - mov r0, r9 - str r0, [sp, 0xC] - mov r0, r8 - movs r2, 0xA - mov r3, r10 - bl sub_809D104 - b _080A3AAA - .align 2, 0 -_080A3A58: .4byte gUnknown_08E96EC8 -_080A3A5C: - cmp r3, 0x1 - bne _080A3AAA - subs r0, r4, 0x1 - lsls r0, 17 - lsrs r7, r0, 16 - cmp r4, 0x1 - bne _080A3A6C - movs r7, 0xA -_080A3A6C: - ldr r6, _080A3ABC @ =gUnknown_08E96EC8 - str r5, [sp] - str r7, [sp, 0x4] - movs r0, 0x8 - subs r0, r5 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x8] - movs r4, 0x2 - str r4, [sp, 0xC] - mov r0, r8 - movs r1, 0x4 - movs r2, 0xA - adds r3, r6, 0 - bl sub_809D104 - movs r1, 0xC - subs r1, r5 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0 - str r0, [sp] - mov r0, r9 - str r0, [sp, 0x4] - str r5, [sp, 0x8] - str r4, [sp, 0xC] - mov r0, r8 - movs r2, 0xA - adds r3, r6, 0 - bl sub_809D104 -_080A3AAA: - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A3ABC: .4byte gUnknown_08E96EC8 - thumb_func_end sub_80A39E4 - - thumb_func_start sub_80A3AC0 -sub_80A3AC0: @ 80A3AC0 - push {r4-r6,lr} - adds r3, r0, 0 - lsls r1, 24 - lsrs r4, r1, 24 - movs r2, 0 - ldr r1, _080A3AE4 @ =0x0000024a - ldr r0, _080A3AE8 @ =0x0000107d - adds r6, r0, 0 - subs r0, 0x1 - adds r5, r0, 0 -_080A3AD4: - cmp r2, r4 - bne _080A3AEC - lsls r0, r2, 1 - adds r0, r3 - adds r0, r1 - strh r6, [r0] - b _080A3AF4 - .align 2, 0 -_080A3AE4: .4byte 0x0000024a -_080A3AE8: .4byte 0x0000107d -_080A3AEC: - lsls r0, r2, 1 - adds r0, r3 - adds r0, r1 - strh r5, [r0] -_080A3AF4: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x4 - bls _080A3AD4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80A3AC0 - - thumb_func_start sub_80A3B04 -sub_80A3B04: @ 80A3B04 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r4, _080A3BA4 @ =gUnknown_02038559 - ldrb r0, [r4] - lsls r1, 24 - asrs r6, r1, 24 - adds r0, r6, r0 - strb r0, [r4] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x4 - ble _080A3B20 - movs r0, 0 - strb r0, [r4] -_080A3B20: - movs r0, 0 - ldrsb r0, [r4, r0] - cmp r0, 0 - bge _080A3B2C - movs r0, 0x4 - strb r0, [r4] -_080A3B2C: - bl sub_80A76A0 - bl sub_80A7590 - ldr r2, _080A3BA8 @ =gUnknown_03005D24 - ldr r1, _080A3BAC @ =gBagPockets - movs r0, 0 - ldrsb r0, [r4, r0] - lsls r0, 3 - adds r0, r1 - ldr r0, [r0] - str r0, [r2] - ldrb r0, [r4] - bl sub_80A3D24 - ldr r0, _080A3BB0 @ =gUnknown_0203855A - movs r4, 0 - strb r4, [r0] - adds r0, r5, 0 - bl sub_80A3954 - adds r0, r5, 0 - movs r1, 0 - movs r2, 0x10 - movs r3, 0x3 - bl sub_80A396C - adds r0, r5, 0 - movs r1, 0 - bl sub_80A39B8 - ldr r1, _080A3BB4 @ =gUnknown_0203855B - movs r0, 0x6 - strb r0, [r1] - ldr r0, _080A3BB8 @ =gUnknown_02038562 - strb r4, [r0] - ldr r4, _080A3BBC @ =sub_80A37F8 - adds r0, r4, 0 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - bne _080A3B90 - adds r0, r4, 0 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r2, r0, 24 -_080A3B90: - ldr r1, _080A3BC0 @ =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r1 - strh r6, [r0, 0x12] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A3BA4: .4byte gUnknown_02038559 -_080A3BA8: .4byte gUnknown_03005D24 -_080A3BAC: .4byte gBagPockets -_080A3BB0: .4byte gUnknown_0203855A -_080A3BB4: .4byte gUnknown_0203855B -_080A3BB8: .4byte gUnknown_02038562 -_080A3BBC: .4byte sub_80A37F8 -_080A3BC0: .4byte gTasks - thumb_func_end sub_80A3B04 - - thumb_func_start swap32 -swap32: @ 80A3BC4 - ldr r3, [r0] - ldr r2, [r1] - str r2, [r0] - str r3, [r1] - bx lr - thumb_func_end swap32 - - thumb_func_start sub_80A3BD0 -sub_80A3BD0: @ 80A3BD0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r7, r1, 0 - adds r6, r0, 0 - movs r3, 0 - b _080A3C1A -_080A3BE0: - adds r0, r3, 0x1 - lsls r1, r0, 16 - lsrs r4, r1, 16 - lsls r1, r2, 24 - lsrs r1, 24 - mov r8, r0 - cmp r4, r1 - bcs _080A3C14 - lsls r0, r3, 2 - adds r5, r0, r6 - adds r2, r1, 0 -_080A3BF6: - ldrh r0, [r5, 0x2] - cmp r0, 0 - bne _080A3C0A - lsls r1, r4, 2 - adds r1, r6 - adds r0, r5, 0 - str r2, [sp] - bl swap32 - ldr r2, [sp] -_080A3C0A: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, r2 - bcc _080A3BF6 -_080A3C14: - mov r1, r8 - lsls r0, r1, 16 - lsrs r3, r0, 16 -_080A3C1A: - adds r2, r7, 0 - lsls r0, r2, 24 - lsrs r0, 24 - subs r0, 0x1 - cmp r3, r0 - blt _080A3BE0 - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80A3BD0 - - thumb_func_start sub_80A3C34 -sub_80A3C34: @ 80A3C34 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r7, r1, 0 - adds r6, r0, 0 - adds r2, r7, 0 - lsls r0, r2, 24 - movs r3, 0 - cmp r0, 0 - beq _080A3C9C -_080A3C4A: - adds r0, r3, 0x1 - lsls r1, r0, 16 - lsrs r4, r1, 16 - lsls r1, r2, 24 - lsrs r1, 24 - mov r8, r0 - cmp r4, r1 - bcs _080A3C8C - lsls r0, r3, 2 - adds r5, r0, r6 - adds r2, r1, 0 -_080A3C60: - ldrh r0, [r5, 0x2] - cmp r0, 0 - beq _080A3C82 - lsls r0, r4, 2 - adds r1, r0, r6 - ldrh r0, [r1, 0x2] - cmp r0, 0 - beq _080A3C82 - ldrh r0, [r5] - ldrh r3, [r1] - cmp r0, r3 - bls _080A3C82 - adds r0, r5, 0 - str r2, [sp] - bl swap32 - ldr r2, [sp] -_080A3C82: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, r2 - bcc _080A3C60 -_080A3C8C: - mov r1, r8 - lsls r0, r1, 16 - lsrs r3, r0, 16 - adds r2, r7, 0 - lsls r0, r2, 24 - lsrs r0, 24 - cmp r3, r0 - bcc _080A3C4A -_080A3C9C: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80A3C34 - - thumb_func_start sub_80A3CA8 -sub_80A3CA8: @ 80A3CA8 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _080A3D00 @ =gUnknown_03005D10 - lsls r0, r6, 2 - adds r3, r0, r1 - movs r0, 0 - strb r0, [r3, 0x2] - movs r4, 0 - ldr r0, _080A3D04 @ =gBagPockets - lsls r2, r6, 3 - adds r1, r2, r0 - mov r12, r0 - ldrb r1, [r1, 0x4] - cmp r4, r1 - bcs _080A3CEC - mov r7, r12 - adds r5, r3, 0 -_080A3CCC: - adds r3, r2, r7 - ldr r0, [r3] - lsls r1, r4, 2 - adds r1, r0 - ldrh r0, [r1, 0x2] - cmp r0, 0 - beq _080A3CE0 - ldrb r0, [r5, 0x2] - adds r0, 0x1 - strb r0, [r5, 0x2] -_080A3CE0: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - ldrb r3, [r3, 0x4] - cmp r4, r3 - bcc _080A3CCC -_080A3CEC: - lsls r0, r6, 3 - add r0, r12 - ldr r1, [r0, 0x4] - ldr r0, [r0] - bl sub_80A3BD0 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A3D00: .4byte gUnknown_03005D10 -_080A3D04: .4byte gBagPockets - thumb_func_end sub_80A3CA8 - - thumb_func_start sub_80A3D08 -sub_80A3D08: @ 80A3D08 - push {r4,lr} - movs r4, 0 -_080A3D0C: - adds r0, r4, 0 - bl sub_80A3CA8 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bls _080A3D0C - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A3D08 - - thumb_func_start sub_80A3D24 -sub_80A3D24: @ 80A3D24 - push {lr} - lsls r0, 24 - ldr r1, _080A3D3C @ =gUnknown_03005D10 - lsrs r0, 22 - adds r1, r0, r1 - ldrb r0, [r1, 0x2] - cmp r0, 0x6 - bls _080A3D36 - movs r0, 0x7 -_080A3D36: - strb r0, [r1, 0x3] - pop {r0} - bx r0 - .align 2, 0 -_080A3D3C: .4byte gUnknown_03005D10 - thumb_func_end sub_80A3D24 - - thumb_func_start sub_80A3D40 -sub_80A3D40: @ 80A3D40 - push {r4,lr} - movs r4, 0 -_080A3D44: - adds r0, r4, 0 - bl sub_80A3D24 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bls _080A3D44 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A3D40 - - thumb_func_start sub_80A3D5C -sub_80A3D5C: @ 80A3D5C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080A3DF4 @ =gUnknown_03005D10 - mov r9, r1 - ldr r2, _080A3DF8 @ =gUnknown_02038559 - mov r8, r2 - movs r1, 0 - ldrsb r1, [r2, r1] - lsls r1, 2 - add r1, r9 - ldrb r2, [r1, 0x1] - ldrb r1, [r1] - adds r2, r1 - ldr r7, _080A3DFC @ =gUnknown_03005D24 - ldr r1, [r7] - lsls r6, r2, 2 - adds r3, r6, r1 - ldr r2, _080A3E00 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrh r0, [r3, 0x2] - ldrh r1, [r1, 0xA] - subs r0, r1 - strh r0, [r3, 0x2] - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - bne _080A3DE0 - ldr r0, _080A3E04 @ =gSaveBlock1 - ldr r1, _080A3E08 @ =0x00000496 - adds r5, r0, r1 - ldrh r0, [r5] - ldrh r3, [r3] - cmp r0, r3 - bne _080A3DB4 - bl sub_80A40D0 - strh r4, [r5] -_080A3DB4: - ldr r0, [r7] - adds r0, r6, r0 - strh r4, [r0] - mov r2, r8 - movs r0, 0 - ldrsb r0, [r2, r0] - lsls r0, 2 - mov r3, r9 - adds r2, r0, r3 - ldrb r1, [r2, 0x1] - adds r0, r1, 0x7 - ldrb r3, [r2, 0x2] - cmp r0, r3 - bne _080A3DD8 - cmp r1, 0 - beq _080A3DD8 - subs r0, r1, 0x1 - strb r0, [r2, 0x1] -_080A3DD8: - ldr r0, _080A3DF8 @ =gUnknown_02038559 - ldrb r0, [r0] - bl sub_80A3CA8 -_080A3DE0: - ldr r0, _080A3DF8 @ =gUnknown_02038559 - ldrb r0, [r0] - bl sub_80A3D24 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A3DF4: .4byte gUnknown_03005D10 -_080A3DF8: .4byte gUnknown_02038559 -_080A3DFC: .4byte gUnknown_03005D24 -_080A3E00: .4byte gTasks -_080A3E04: .4byte gSaveBlock1 -_080A3E08: .4byte 0x00000496 - thumb_func_end sub_80A3D5C - - thumb_func_start sub_80A3E0C -sub_80A3E0C: @ 80A3E0C - push {lr} - ldr r3, _080A3E60 @ =gUnknown_03005D10 - ldr r2, _080A3E64 @ =gUnknown_02038559 - movs r0, 0 - ldrsb r0, [r2, r0] - lsls r0, 2 - adds r0, r3 - ldrb r1, [r0, 0x1] - ldrb r0, [r0] - adds r1, r0 - ldr r0, _080A3E68 @ =gUnknown_03005D24 - ldr r0, [r0] - lsls r1, 2 - adds r1, r0 - ldrh r0, [r1, 0x2] - cmp r0, 0 - bne _080A3E52 - strh r0, [r1] - movs r0, 0 - ldrsb r0, [r2, r0] - lsls r0, 2 - adds r2, r0, r3 - ldrb r1, [r2, 0x1] - adds r0, r1, 0x7 - ldrb r3, [r2, 0x2] - cmp r0, r3 - bne _080A3E4A - cmp r1, 0 - beq _080A3E4A - subs r0, r1, 0x1 - strb r0, [r2, 0x1] -_080A3E4A: - ldr r0, _080A3E64 @ =gUnknown_02038559 - ldrb r0, [r0] - bl sub_80A3CA8 -_080A3E52: - ldr r0, _080A3E64 @ =gUnknown_02038559 - ldrb r0, [r0] - bl sub_80A3D24 - pop {r0} - bx r0 - .align 2, 0 -_080A3E60: .4byte gUnknown_03005D10 -_080A3E64: .4byte gUnknown_02038559 -_080A3E68: .4byte gUnknown_03005D24 - thumb_func_end sub_80A3E0C - - thumb_func_start nullsub_16 -nullsub_16: @ 80A3E6C - bx lr - thumb_func_end nullsub_16 - - thumb_func_start sub_80A3E70 -sub_80A3E70: @ 80A3E70 - lsls r0, 24 - lsls r1, 24 - ldr r2, _080A3E8C @ =gUnknown_03005D24 - ldr r2, [r2] - lsrs r0, 22 - adds r0, r2 - ldr r3, [r0] - lsrs r1, 22 - adds r1, r2 - ldr r2, [r1] - str r2, [r0] - str r3, [r1] - bx lr - .align 2, 0 -_080A3E8C: .4byte gUnknown_03005D24 - thumb_func_end sub_80A3E70 - - thumb_func_start sub_80A3E90 -sub_80A3E90: @ 80A3E90 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x5 - bl PlaySE - bl nullsub_16 - ldr r0, _080A3EE8 @ =gTasks - lsls r5, r4, 2 - adds r5, r4 - lsls r5, 3 - adds r5, r0 - ldrb r0, [r5, 0x1C] - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - ldr r3, _080A3EEC @ =gUnknown_03005D10 - ldr r1, _080A3EF0 @ =gUnknown_02038559 - movs r2, 0 - ldrsb r2, [r1, r2] - lsls r2, 2 - adds r2, r3 - ldrb r1, [r2, 0x1] - ldrb r2, [r2] - adds r1, r2 - lsls r1, 24 - lsrs r1, 24 - bl sub_80A3E70 - movs r0, 0 - strh r0, [r5, 0x1C] - bl sub_80A763C - movs r0, 0 - bl sub_80A7528 - bl ItemListMenu_InitMenu - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A3EE8: .4byte gTasks -_080A3EEC: .4byte gUnknown_03005D10 -_080A3EF0: .4byte gUnknown_02038559 - thumb_func_end sub_80A3E90 - - thumb_func_start sub_80A3EF4 -sub_80A3EF4: @ 80A3EF4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x5 - bl PlaySE - bl nullsub_16 - ldr r0, _080A3F44 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r2, _080A3F48 @ =gUnknown_03005D10 - ldr r0, _080A3F4C @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - mvns r0, r0 - ldrb r2, [r1, 0x1C] - adds r0, r2 - lsls r0, 24 - lsrs r2, r0, 24 - movs r0, 0 - strh r0, [r1, 0x1C] - cmp r2, 0x7 - bhi _080A3F38 - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_80A48E8 -_080A3F38: - movs r0, 0 - bl sub_80A7528 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A3F44: .4byte gTasks -_080A3F48: .4byte gUnknown_03005D10 -_080A3F4C: .4byte gUnknown_02038559 - thumb_func_end sub_80A3EF4 - - thumb_func_start sub_80A3F50 -sub_80A3F50: @ 80A3F50 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080A3F94 @ =gTasks - lsls r3, r0, 2 - adds r3, r0 - lsls r3, 3 - adds r3, r1 - ldr r5, _080A3F98 @ =gUnknown_03005D10 - ldr r4, _080A3F9C @ =gUnknown_02038559 - movs r1, 0 - ldrsb r1, [r4, r1] - lsls r1, 2 - adds r1, r5 - ldrb r2, [r1, 0x1] - ldrb r1, [r1] - adds r2, r1 - adds r2, 0x1 - strh r2, [r3, 0x1C] - movs r1, 0 - ldrsb r1, [r4, r1] - lsls r1, 2 - adds r1, r5 - ldrb r2, [r1] - adds r1, r2, 0 - bl sub_80A48E8 - movs r0, 0x1 - bl sub_80A7528 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A3F94: .4byte gTasks -_080A3F98: .4byte gUnknown_03005D10 -_080A3F9C: .4byte gUnknown_02038559 - thumb_func_end sub_80A3F50 - - thumb_func_start sub_80A3FA0 -sub_80A3FA0: @ 80A3FA0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r7, r0, 0 - ldr r0, [sp, 0x18] - ldr r4, [sp, 0x1C] - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r0, 24 - lsrs r0, 24 - lsls r4, 16 - lsrs r6, r4, 16 - lsrs r2, 24 - adds r0, r2, r0 - cmp r2, r0 - bge _080A3FFC - mov r8, r5 - adds r4, r5, r3 - mov r12, r0 -_080A3FCC: - adds r0, r5, 0 - lsls r3, r2, 16 - cmp r8, r4 - bge _080A3FEE - asrs r2, r3, 11 -_080A3FD6: - lsls r1, r0, 16 - asrs r1, 16 - adds r0, r1, r2 - lsls r0, 1 - adds r0, r7 - strh r6, [r0] - adds r1, 0x1 - lsls r1, 16 - lsrs r0, r1, 16 - asrs r1, 16 - cmp r1, r4 - blt _080A3FD6 -_080A3FEE: - movs r1, 0x80 - lsls r1, 9 - adds r0, r3, r1 - lsrs r2, r0, 16 - asrs r0, 16 - cmp r0, r12 - blt _080A3FCC -_080A3FFC: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80A3FA0 - - thumb_func_start sub_80A4008 -sub_80A4008: @ 80A4008 - push {r4,lr} - sub sp, 0x8 - ldr r4, [sp, 0x10] - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r4, 24 - lsrs r4, 24 - str r4, [sp] - movs r4, 0x1 - str r4, [sp, 0x4] - bl sub_80A3FA0 - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A4008 - - thumb_func_start sub_80A4030 -sub_80A4030: @ 80A4030 - ldr r1, _080A4058 @ =gBGTilemapBuffers + 0x1000 + 0xB4 - lsls r0, 7 - adds r1, r0, r1 - movs r0, 0x5A - strh r0, [r1] - movs r0, 0x5B - strh r0, [r1, 0x2] - movs r0, 0x5C - strh r0, [r1, 0x4] - adds r2, r1, 0 - adds r2, 0x40 - movs r0, 0x6A - strh r0, [r2] - adds r2, 0x2 - movs r0, 0x6B - strh r0, [r2] - adds r1, 0x44 - movs r0, 0x6C - strh r0, [r1] - bx lr - .align 2, 0 -_080A4058: .4byte gBGTilemapBuffers + 0x1000 + 0xB4 - thumb_func_end sub_80A4030 - - thumb_func_start sub_80A405C -sub_80A405C: @ 80A405C - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r2, _080A40A8 @ =gBGTilemapBuffers + 0x1000 + 0xB4 - movs r0, 0 - adds r4, r2, 0 - movs r1, 0x4F -_080A406A: - strh r1, [r2] - strh r1, [r2, 0x2] - strh r1, [r2, 0x4] - adds r2, 0x40 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xF - bls _080A406A - lsls r0, r3, 7 - adds r2, r0, r4 - movs r0, 0x5A - strh r0, [r2] - movs r0, 0x5B - strh r0, [r2, 0x2] - movs r0, 0x5C - strh r0, [r2, 0x4] - adds r1, r2, 0 - adds r1, 0x40 - movs r0, 0x6A - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x6B - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x6C - strh r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A40A8: .4byte gBGTilemapBuffers + 0x1000 + 0xB4 - thumb_func_end sub_80A405C - - thumb_func_start sub_80A40AC -sub_80A40AC: @ 80A40AC - lsls r0, 24 - ldr r1, _080A40CC @ =gBGTilemapBuffers + 0x1000 + 0xB4 - lsrs r0, 17 - adds r1, r0, r1 - movs r2, 0x4F - strh r2, [r1] - strh r2, [r1, 0x2] - strh r2, [r1, 0x4] - adds r0, r1, 0 - adds r0, 0x40 - strh r2, [r0] - adds r0, 0x2 - strh r2, [r0] - adds r1, 0x44 - strh r2, [r1] - bx lr - .align 2, 0 -_080A40CC: .4byte gBGTilemapBuffers + 0x1000 + 0xB4 - thumb_func_end sub_80A40AC - - thumb_func_start sub_80A40D0 -sub_80A40D0: @ 80A40D0 - push {r4-r7,lr} - movs r4, 0 - ldr r2, _080A4114 @ =gUnknown_03005D10 - ldr r3, _080A4118 @ =gUnknown_02038559 - movs r0, 0 - ldrsb r0, [r3, r0] - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x1] - adds r7, r2, 0 - adds r6, r3, 0 - ldrb r0, [r0, 0x2] - cmp r1, r0 - beq _080A4136 - ldr r5, _080A411C @ =gSaveBlock1 + 0x496 -_080A40EE: - movs r0, 0 - ldrsb r0, [r6, r0] - lsls r0, 2 - adds r3, r0, r7 - ldrb r2, [r3, 0x1] - adds r1, r2, r4 - ldr r0, _080A4120 @ =gUnknown_03005D24 - ldr r0, [r0] - lsls r1, 2 - adds r1, r0 - ldrh r0, [r1] - ldrh r1, [r5] - cmp r0, r1 - bne _080A4124 - adds r0, r4, 0 - bl sub_80A40AC - b _080A4136 - .align 2, 0 -_080A4114: .4byte gUnknown_03005D10 -_080A4118: .4byte gUnknown_02038559 -_080A411C: .4byte gSaveBlock1 + 0x496 -_080A4120: .4byte gUnknown_03005D24 -_080A4124: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x7 - bhi _080A4136 - adds r0, r2, r4 - ldrb r3, [r3, 0x2] - cmp r0, r3 - bne _080A40EE -_080A4136: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80A40D0 - - thumb_func_start sub_80A413C -sub_80A413C: @ 80A413C - push {lr} - bl sub_80A40D0 - ldr r1, _080A415C @ =gUnknown_03005D10 - ldr r0, _080A4160 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0] - bl sub_80A405C - pop {r0} - bx r0 - .align 2, 0 -_080A415C: .4byte gUnknown_03005D10 -_080A4160: .4byte gUnknown_02038559 - thumb_func_end sub_80A413C - - thumb_func_start sub_80A4164 -sub_80A4164: @ 80A4164 - push {r4,lr} - lsls r1, 16 - lsrs r1, 16 - lsls r3, 24 - lsrs r3, 24 - movs r4, 0xB9 - strb r4, [r0] - adds r0, 0x1 - movs r4, 0xFC - strb r4, [r0] - movs r4, 0x14 - strb r4, [r0, 0x1] - movs r4, 0x6 - strb r4, [r0, 0x2] - adds r0, 0x3 - bl ConvertIntToDecimalStringN - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A4164 - - thumb_func_start sub_80A418C -sub_80A418C: @ 80A418C - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - adds r4, r0, 0 - mov r9, r1 - adds r5, r2, 0 - adds r6, r3, 0 - ldr r3, [sp, 0x18] - lsls r4, 16 - lsrs r4, 16 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - lsls r3, 24 - lsrs r3, 24 - ldr r0, _080A41D0 @ =gStringVar1 - mov r8, r0 - adds r1, r4, 0 - mov r2, r9 - bl sub_80A4164 - mov r0, r8 - adds r1, r5, 0 - adds r2, r6, 0 - bl MenuPrint - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A41D0: .4byte gStringVar1 - thumb_func_end sub_80A418C - - thumb_func_start sub_80A41D4 -sub_80A41D4: @ 80A41D4 - push {lr} - bl sub_80A763C - pop {r0} - bx r0 - thumb_func_end sub_80A41D4 - - thumb_func_start sub_80A41E0 -sub_80A41E0: @ 80A41E0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r7, r0, 0 - mov r9, r2 - adds r5, r3, 0 - ldr r4, [sp, 0x1C] - lsls r1, 16 - lsrs r1, 16 - lsls r5, 16 - lsrs r5, 16 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0xFC - mov r8, r0 - strb r0, [r7] - movs r6, 0x13 - strb r6, [r7, 0x1] - movs r0, 0x8 - strb r0, [r7, 0x2] - adds r7, 0x3 - adds r0, r7, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - mov r1, r8 - strb r1, [r0] - strb r6, [r0, 0x1] - movs r1, 0x18 - strb r1, [r0, 0x2] - adds r7, r0, 0x3 - adds r4, 0x1 - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 1 - movs r2, 0x78 - subs r2, r0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r7, 0 - mov r1, r9 - movs r3, 0 - bl sub_8072C74 - movs r1, 0xB9 - strb r1, [r0] - adds r7, r0, 0x1 - adds r0, r7, 0 - adds r1, r5, 0 - movs r2, 0x78 - movs r3, 0x1 - bl sub_8072C14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80A41E0 - - thumb_func_start sub_80A425C -sub_80A425C: @ 80A425C - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r2, 24 - lsrs r2, 24 - ldr r3, _080A42A4 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r3 - movs r0, 0x1C - ldrsh r1, [r1, r0] - ldr r3, _080A42A8 @ =gUnknown_03005D10 - ldr r0, _080A42AC @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x1] - subs r1, r0 - subs r1, 0x1 - cmp r1, r2 - bne _080A429C - movs r0, 0xFC - strb r0, [r4] - movs r0, 0x1 - strb r0, [r4, 0x1] - movs r0, 0x2 - strb r0, [r4, 0x2] - adds r4, 0x3 -_080A429C: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080A42A4: .4byte gTasks -_080A42A8: .4byte gUnknown_03005D10 -_080A42AC: .4byte gUnknown_02038559 - thumb_func_end sub_80A425C - - thumb_func_start sub_80A42B0 -sub_80A42B0: @ 80A42B0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r7, r1, 0 - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - ldr r0, _080A4344 @ =gUnknown_02038540 - mov r8, r0 - ldr r1, _080A4348 @ =gUnknown_03005D10 - ldr r0, _080A434C @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x1] - adds r1, r6 - ldrb r0, [r0, 0x2] - cmp r1, r0 - bgt _080A4370 - cmp r1, r0 - bne _080A4374 - ldr r0, _080A4350 @ =gUnknown_03000701 - ldrb r0, [r0] - cmp r0, 0x5 - beq _080A4370 - lsls r0, r6, 25 - movs r1, 0x80 - lsls r1, 18 - adds r0, r1 - lsrs r5, r0, 24 - ldr r4, _080A4354 @ =gStringVar1 - ldr r1, _080A4358 @ =gOtherText_CloseBag - adds r0, r4, 0 - movs r2, 0x78 - movs r3, 0 - bl sub_8072C74 - adds r0, r4, 0 - movs r1, 0xE - adds r2, r5, 0 - bl MenuPrint - lsls r0, r5, 6 - ldr r1, _080A435C @ =gBGTilemapBuffers + 0x1000 + 0x1C - adds r0, r1 - movs r2, 0x4F - strh r2, [r0] - strh r2, [r0, 0x2] - adds r1, r0, 0 - adds r1, 0x40 - strh r2, [r1] - adds r0, 0x42 - strh r2, [r0] - cmp r6, 0x7 - beq _080A4370 - cmp r7, 0x1 - bne _080A432E - mov r1, r8 - ldrb r0, [r1, 0x2] - cmp r0, 0 - bne _080A4332 -_080A432E: - cmp r7, 0x2 - bne _080A4360 -_080A4332: - adds r1, r5, 0x2 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0xE - movs r2, 0x1D - movs r3, 0xD - bl MenuFillWindowRectWithBlankTile - b _080A4370 - .align 2, 0 -_080A4344: .4byte gUnknown_02038540 -_080A4348: .4byte gUnknown_03005D10 -_080A434C: .4byte gUnknown_02038559 -_080A4350: .4byte gUnknown_03000701 -_080A4354: .4byte gStringVar1 -_080A4358: .4byte gOtherText_CloseBag -_080A435C: .4byte gBGTilemapBuffers + 0x1000 + 0x1C -_080A4360: - adds r1, r5, 0x2 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0xE - movs r2, 0x1D - movs r3, 0x11 - bl MenuFillWindowRectWithBlankTile -_080A4370: - movs r0, 0x1 - b _080A4376 -_080A4374: - movs r0, 0 -_080A4376: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80A42B0 - - thumb_func_start sub_80A4380 -sub_80A4380: @ 80A4380 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - str r2, [sp] - mov r10, r3 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - lsls r1, 24 - lsrs r7, r1, 24 - ldr r0, _080A43A0 @ =gUnknown_03005D24 - mov r8, r0 - b _080A441A - .align 2, 0 -_080A43A0: .4byte gUnknown_03005D24 -_080A43A4: - ldr r1, _080A4440 @ =gUnknown_03005D10 - ldr r0, _080A4444 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r1 - ldrb r4, [r0, 0x1] - adds r4, r7, r4 - lsls r4, 24 - lsrs r4, 24 - lsls r5, r7, 25 - movs r1, 0x80 - lsls r1, 18 - adds r5, r1 - lsrs r5, 24 - ldr r6, _080A4448 @ =gStringVar1 - mov r1, r9 - lsls r0, r1, 24 - lsrs r0, 24 - adds r1, r6, 0 - adds r2, r7, 0 - bl sub_80A425C - adds r6, r0, 0 - mov r1, r8 - ldr r0, [r1] - lsls r4, 2 - adds r0, r4, r0 - ldrh r0, [r0] - bl ItemId_GetItem - adds r1, r0, 0 - adds r0, r6, 0 - movs r2, 0x66 - movs r3, 0 - bl sub_8072C74 - adds r6, r0, 0 - movs r0, 0xB9 - strb r0, [r6] - adds r6, 0x1 - mov r1, r8 - ldr r0, [r1] - adds r4, r0 - ldrh r1, [r4, 0x2] - adds r0, r6, 0 - movs r2, 0x78 - movs r3, 0x1 - bl sub_8072C14 - ldr r0, _080A4448 @ =gStringVar1 - movs r1, 0xE - adds r2, r5, 0 - bl MenuPrint - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 -_080A441A: - ldr r0, [sp] - cmp r7, r0 - bgt _080A4430 - adds r0, r7, 0 - mov r1, r10 - bl sub_80A42B0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A43A4 -_080A4430: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A4440: .4byte gUnknown_03005D10 -_080A4444: .4byte gUnknown_02038559 -_080A4448: .4byte gStringVar1 - thumb_func_end sub_80A4380 - - thumb_func_start sub_80A444C -sub_80A444C: @ 80A444C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - str r2, [sp] - str r3, [sp, 0x4] - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - lsls r1, 24 - lsrs r6, r1, 24 - ldr r0, _080A446C @ =gSaveBlock1 + 0x496 - mov r9, r0 - b _080A4520 - .align 2, 0 -_080A446C: .4byte gSaveBlock1 + 0x496 -_080A4470: - ldr r1, _080A44E8 @ =gUnknown_03005D10 - ldr r0, _080A44EC @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r1 - ldrb r4, [r0, 0x1] - adds r4, r6, r4 - lsls r4, 24 - lsrs r4, 24 - lsls r5, r6, 25 - movs r1, 0x80 - lsls r1, 18 - adds r5, r1 - lsrs r5, 24 - ldr r7, _080A44F0 @ =gStringVar1 - mov r2, r10 - lsls r0, r2, 24 - lsrs r0, 24 - adds r1, r7, 0 - adds r2, r6, 0 - bl sub_80A425C - adds r7, r0, 0 - ldr r0, _080A44F4 @ =gUnknown_03005D24 - mov r8, r0 - ldr r0, [r0] - lsls r4, 2 - adds r0, r4, r0 - ldrh r0, [r0] - bl ItemId_GetItem - adds r1, r0, 0 - adds r0, r7, 0 -.ifdef ENGLISH - movs r2, 0x60 -.else - movs r2, 0x63 -.endif - movs r3, 0 - bl sub_8072C74 - ldr r0, _080A44F0 @ =gStringVar1 - movs r1, 0xE - adds r2, r5, 0 - bl MenuPrint - ldr r0, _080A44F8 @ =gUnknown_02038558 - ldrb r0, [r0] - cmp r0, 0 - beq _080A44FC - mov r1, r8 - ldr r0, [r1] - adds r0, r4, r0 - ldrh r0, [r0] - mov r2, r9 - ldrh r2, [r2] - cmp r0, r2 - bne _080A451A - adds r0, r6, 0 - bl sub_80A4030 - b _080A451A - .align 2, 0 -_080A44E8: .4byte gUnknown_03005D10 -_080A44EC: .4byte gUnknown_02038559 -_080A44F0: .4byte gStringVar1 -_080A44F4: .4byte gUnknown_03005D24 -_080A44F8: .4byte gUnknown_02038558 -_080A44FC: - mov r1, r8 - ldr r0, [r1] - adds r0, r4, r0 - ldrh r0, [r0] - mov r2, r9 - ldrh r2, [r2] - cmp r0, r2 - bne _080A4514 - adds r0, r6, 0 - bl sub_80A405C - b _080A451A -_080A4514: - adds r0, r6, 0 - bl sub_80A40AC -_080A451A: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_080A4520: - ldr r0, [sp] - cmp r6, r0 - bgt _080A4536 - adds r0, r6, 0 - ldr r1, [sp, 0x4] - bl sub_80A42B0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A4470 -_080A4536: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80A444C - - thumb_func_start sub_80A4548 -sub_80A4548: @ 80A4548 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - str r2, [sp, 0x8] - str r3, [sp, 0xC] - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x4] - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - ldr r0, _080A456C @ =gBGTilemapBuffers + 0x1000 - mov r9, r0 - b _080A46C2 - .align 2, 0 -_080A456C: .4byte gBGTilemapBuffers + 0x1000 -_080A4570: - ldr r1, _080A461C @ =gUnknown_03005D10 - ldr r0, _080A4620 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r1 - ldrb r4, [r0, 0x1] - add r4, r8 - lsls r4, 24 - lsrs r4, 24 - mov r1, r8 - lsls r0, r1, 25 - movs r3, 0x80 - lsls r3, 18 - adds r0, r3 - lsrs r0, 24 - str r0, [sp, 0x10] - lsls r0, 5 - adds r0, 0xE - adds r5, r0, 0 - ldr r6, _080A4624 @ =gStringVar1 - ldr r1, [sp, 0x4] - lsls r0, r1, 24 - lsrs r0, 24 - adds r1, r6, 0 - mov r2, r8 - bl sub_80A425C - adds r6, r0, 0 - ldr r3, _080A4628 @ =gUnknown_03005D24 - mov r10, r3 - ldr r0, [r3] - lsls r7, r4, 2 - adds r3, r7, r0 - ldrh r1, [r3] - movs r0, 0xA9 - lsls r0, 1 - cmp r1, r0 - bhi _080A4634 - lsls r0, r5, 1 - add r0, r9 - movs r1, 0x59 - strh r1, [r0] - adds r0, r5, 0x1 - lsls r0, 1 - add r0, r9 - movs r2, 0x4F - strh r2, [r0] - adds r0, r5, 0 - adds r0, 0x20 - lsls r0, 1 - add r0, r9 - movs r1, 0x69 - strh r1, [r0] - adds r0, r5, 0 - adds r0, 0x21 - lsls r0, 1 - add r0, r9 - strh r2, [r0] - ldrh r0, [r3] - bl ItemIdToBattleMoveId - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xD - adds r2, r0, 0 - muls r2, r1 - ldr r0, _080A462C @ =gMoveNames - adds r2, r0 - mov r1, r10 - ldr r0, [r1] - adds r0, r7, r0 - ldr r3, _080A4630 @ =0xfffffee0 - adds r1, r3, 0 - ldrh r3, [r0] - adds r1, r3 - lsls r1, 16 - lsrs r1, 16 - ldrh r3, [r0, 0x2] - movs r0, 0x2 - str r0, [sp] - adds r0, r6, 0 - bl sub_80A41E0 - b _080A46AE - .align 2, 0 -_080A461C: .4byte gUnknown_03005D10 -_080A4620: .4byte gUnknown_02038559 -_080A4624: .4byte gStringVar1 -_080A4628: .4byte gUnknown_03005D24 -_080A462C: .4byte gMoveNames -_080A4630: .4byte 0xfffffee0 -_080A4634: - lsls r0, r5, 1 - add r0, r9 - ldr r1, _080A46EC @ =0x0000105d - strh r1, [r0] - adds r0, r5, 0x1 - lsls r0, 1 - add r0, r9 - adds r1, 0x1 - strh r1, [r0] - adds r0, r5, 0 - adds r0, 0x20 - lsls r0, 1 - add r0, r9 - adds r1, 0xF - strh r1, [r0] - adds r0, r5, 0 - adds r0, 0x21 - lsls r0, 1 - add r0, r9 - adds r1, 0x1 - strh r1, [r0] - movs r0, 0xFC - strb r0, [r6] - movs r4, 0x13 - strb r4, [r6, 0x1] - movs r0, 0x11 - strb r0, [r6, 0x2] - adds r6, 0x3 - mov r1, r10 - ldr r0, [r1] - adds r0, r7, r0 - ldrh r1, [r0] - ldr r3, _080A46F0 @ =0xfffffeae - adds r1, r3 - adds r0, r6, 0 - bl ConvertIntToDecimalString - adds r6, r0, 0 - movs r0, 0xFC - strb r0, [r6] - strb r4, [r6, 0x1] - movs r0, 0x18 - strb r0, [r6, 0x2] - adds r6, 0x3 - mov r1, r10 - ldr r0, [r1] - adds r0, r7, r0 - ldrh r0, [r0] - bl ItemIdToBattleMoveId - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xD - muls r1, r0 - ldr r0, _080A46F4 @ =gMoveNames - adds r1, r0 - adds r0, r6, 0 - movs r2, 0x78 - movs r3, 0 - bl sub_8072C74 -_080A46AE: - ldr r0, _080A46F8 @ =gStringVar1 - movs r1, 0xE - ldr r2, [sp, 0x10] - bl MenuPrint - mov r0, r8 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 -_080A46C2: - ldr r3, [sp, 0x8] - cmp r8, r3 - bgt _080A46DA - mov r0, r8 - ldr r1, [sp, 0xC] - bl sub_80A42B0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080A46DA - b _080A4570 -_080A46DA: - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A46EC: .4byte 0x0000105d -_080A46F0: .4byte 0xfffffeae -_080A46F4: .4byte gMoveNames -_080A46F8: .4byte gStringVar1 - thumb_func_end sub_80A4548 - - thumb_func_start sub_80A46FC -sub_80A46FC: @ 80A46FC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - str r2, [sp, 0x8] - str r3, [sp, 0xC] - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x4] - lsls r1, 24 - lsrs r6, r1, 24 - ldr r0, _080A4724 @ =gBGTilemapBuffers + 0x1000 - mov r10, r0 - ldr r1, _080A4728 @ =gStringVar2 - mov r9, r1 - ldr r0, _080A472C @ =gUnknown_03005D24 - mov r8, r0 - b _080A47B4 - .align 2, 0 -_080A4724: .4byte gBGTilemapBuffers + 0x1000 -_080A4728: .4byte gStringVar2 -_080A472C: .4byte gUnknown_03005D24 -_080A4730: - ldr r1, _080A47DC @ =gUnknown_03005D10 - ldr r0, _080A47E0 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r1 - ldrb r4, [r0, 0x1] - adds r4, r6, r4 - lsls r4, 24 - lsrs r4, 24 - lsls r5, r6, 25 - movs r1, 0x80 - lsls r1, 18 - adds r5, r1 - lsrs r5, 24 - lsls r0, r5, 5 - adds r0, 0xE - lsls r1, r0, 1 - add r1, r10 - movs r2, 0x59 - strh r2, [r1] - adds r0, 0x20 - lsls r0, 1 - add r0, r10 - movs r1, 0x69 - strh r1, [r0] - ldr r7, _080A47E4 @ =gStringVar1 - ldr r1, [sp, 0x4] - lsls r0, r1, 24 - lsrs r0, 24 - adds r1, r7, 0 - adds r2, r6, 0 - bl sub_80A425C - adds r7, r0, 0 - mov r1, r8 - ldr r0, [r1] - lsls r4, 2 - adds r0, r4, r0 - ldrh r0, [r0] - mov r1, r9 - bl CopyItemName - mov r1, r8 - ldr r0, [r1] - adds r4, r0 - ldrh r1, [r4] - subs r1, 0x84 - lsls r1, 16 - lsrs r1, 16 - ldrh r3, [r4, 0x2] - movs r0, 0x3 - str r0, [sp] - adds r0, r7, 0 - mov r2, r9 - bl sub_80A41E0 - ldr r0, _080A47E4 @ =gStringVar1 - movs r1, 0xE - adds r2, r5, 0 - bl MenuPrint - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_080A47B4: - ldr r0, [sp, 0x8] - cmp r6, r0 - bgt _080A47CA - adds r0, r6, 0 - ldr r1, [sp, 0xC] - bl sub_80A42B0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A4730 -_080A47CA: - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A47DC: .4byte gUnknown_03005D10 -_080A47E0: .4byte gUnknown_02038559 -_080A47E4: .4byte gStringVar1 - thumb_func_end sub_80A46FC - - thumb_func_start sub_80A47E8 -sub_80A47E8: @ 80A47E8 - push {r4,r5,lr} - adds r4, r1, 0 - adds r5, r2, 0 - lsls r0, 16 - lsrs r2, r0, 16 - ldr r0, _080A4808 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x4 - bhi _080A4852 - lsls r0, 2 - ldr r1, _080A480C @ =_080A4810 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080A4808: .4byte gUnknown_02038559 -_080A480C: .4byte _080A4810 - .align 2, 0 -_080A4810: - .4byte _080A4824 - .4byte _080A4824 - .4byte _080A483C - .4byte _080A4848 - .4byte _080A4830 -_080A4824: - adds r0, r2, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_80A4380 - b _080A4852 -_080A4830: - adds r0, r2, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_80A444C - b _080A4852 -_080A483C: - adds r0, r2, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_80A4548 - b _080A4852 -_080A4848: - adds r0, r2, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_80A46FC -_080A4852: - ldr r1, _080A4870 @ =gUnknown_03005D10 - ldr r0, _080A4874 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x1] - cmp r0, 0 - beq _080A4878 - movs r0, 0 - movs r1, 0 - bl sub_80F979C - b _080A4880 - .align 2, 0 -_080A4870: .4byte gUnknown_03005D10 -_080A4874: .4byte gUnknown_02038559 -_080A4878: - movs r0, 0 - movs r1, 0x1 - bl sub_80F979C -_080A4880: - ldr r0, _080A48A4 @ =gUnknown_03000701 - ldrb r0, [r0] - cmp r0, 0x5 - beq _080A48B0 - ldr r1, _080A48A8 @ =gUnknown_03005D10 - ldr r0, _080A48AC @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x1] - adds r1, 0x8 - ldrb r0, [r0, 0x2] - adds r0, 0x1 - cmp r1, r0 - blt _080A48C6 - b _080A48D8 - .align 2, 0 -_080A48A4: .4byte gUnknown_03000701 -_080A48A8: .4byte gUnknown_03005D10 -_080A48AC: .4byte gUnknown_02038559 -_080A48B0: - ldr r2, _080A48D0 @ =gUnknown_03005D10 - ldr r0, _080A48D4 @ =gUnknown_02038559 - movs r1, 0 - ldrsb r1, [r0, r1] - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x1] - adds r0, 0x8 - ldrb r1, [r1, 0x2] - cmp r0, r1 - bge _080A48D8 -_080A48C6: - movs r0, 0x1 - movs r1, 0 - bl sub_80F979C - b _080A48E0 - .align 2, 0 -_080A48D0: .4byte gUnknown_03005D10 -_080A48D4: .4byte gUnknown_02038559 -_080A48D8: - movs r0, 0x1 - movs r1, 0x1 - bl sub_80F979C -_080A48E0: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80A47E8 - - thumb_func_start sub_80A48E8 -sub_80A48E8: @ 80A48E8 - push {lr} - lsls r0, 16 - lsrs r0, 16 - movs r3, 0 - bl sub_80A47E8 - pop {r0} - bx r0 - thumb_func_end sub_80A48E8 - - thumb_func_start sub_80A48F8 -sub_80A48F8: @ 80A48F8 - push {lr} - lsls r0, 16 - lsrs r0, 16 - movs r1, 0 - movs r2, 0x5 - movs r3, 0x2 - bl sub_80A47E8 - pop {r0} - bx r0 - thumb_func_end sub_80A48F8 - - thumb_func_start ItemListMenu_InitDescription -ItemListMenu_InitDescription: @ 80A490C - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 16 - lsrs r3, r0, 16 - ldr r1, _080A4960 @ =gUnknown_03005D10 - ldr r0, _080A4964 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x1] - ldrb r2, [r0] - adds r1, r2 - ldrb r0, [r0, 0x2] - cmp r1, r0 - bne _080A4974 - ldr r0, _080A4968 @ =gOtherText_ReturnTo - movs r4, 0x1 - str r4, [sp] - movs r1, 0x4 - movs r2, 0x68 - movs r3, 0x68 - bl sub_8072A18 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _080A496C @ =gUnknown_0840E740 - ldr r0, _080A4970 @ =gUnknown_03000701 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - str r4, [sp] - movs r1, 0x4 - movs r2, 0x78 - movs r3, 0x68 - bl sub_8072A18 - adds r0, r5, r0 - b _080A4988 - .align 2, 0 -_080A4960: .4byte gUnknown_03005D10 -_080A4964: .4byte gUnknown_02038559 -_080A4968: .4byte gOtherText_ReturnTo -_080A496C: .4byte gUnknown_0840E740 -_080A4970: .4byte gUnknown_03000701 -_080A4974: - adds r0, r3, 0 - bl ItemId_GetDescription - movs r1, 0x1 - str r1, [sp] - movs r1, 0x4 - movs r2, 0x68 - movs r3, 0x68 - bl sub_8072A18 -_080A4988: - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x2 - bhi _080A49A4 - lsls r1, r5, 25 - movs r0, 0xD0 - lsls r0, 20 - adds r1, r0 - lsrs r1, 24 - movs r0, 0 - movs r2, 0xD - movs r3, 0x14 - bl MenuZeroFillWindowRect -_080A49A4: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end ItemListMenu_InitDescription - - thumb_func_start ItemListMenu_ChangeDescription -ItemListMenu_ChangeDescription: @ 80A49AC - push {r4,r5,lr} - sub sp, 0x64 - adds r4, r1, 0 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r1, _080A49E8 @ =gUnknown_03005D10 - ldr r0, _080A49EC @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x1] - ldrb r2, [r0] - adds r1, r2 - ldrb r0, [r0, 0x2] - cmp r1, r0 - bne _080A4A18 - cmp r4, 0 - bne _080A49F4 - movs r0, 0 - movs r1, 0xD - movs r2, 0xD - movs r3, 0x14 - bl MenuZeroFillWindowRect - ldr r0, _080A49F0 @ =gOtherText_ReturnTo - movs r1, 0x4 - movs r2, 0x68 - b _080A4A08 - .align 2, 0 -_080A49E8: .4byte gUnknown_03005D10 -_080A49EC: .4byte gUnknown_02038559 -_080A49F0: .4byte gOtherText_ReturnTo -_080A49F4: - cmp r4, 0x1 - bne _080A4A4C - ldr r1, _080A4A10 @ =gUnknown_0840E740 - ldr r0, _080A4A14 @ =gUnknown_03000701 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x4 - movs r2, 0x78 -_080A4A08: - movs r3, 0 - bl MenuPrint_PixelCoords - b _080A4A4C - .align 2, 0 -_080A4A10: .4byte gUnknown_0840E740 -_080A4A14: .4byte gUnknown_03000701 -_080A4A18: - cmp r4, 0 - bne _080A4A28 - movs r0, 0 - movs r1, 0xD - movs r2, 0xD - movs r3, 0x14 - bl MenuZeroFillWindowRect -_080A4A28: - lsls r1, r5, 16 - asrs r1, 16 - mov r0, sp - adds r2, r4, 0 - bl ItemId_CopyDescription - cmp r0, 0 - beq _080A4A4C - lsls r2, r4, 20 - movs r0, 0xD0 - lsls r0, 15 - adds r2, r0 - lsrs r2, 16 - mov r0, sp - movs r1, 0x4 - movs r3, 0 - bl MenuPrint_PixelCoords -_080A4A4C: - add sp, 0x64 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end ItemListMenu_ChangeDescription - - thumb_func_start sub_80A4A54 -sub_80A4A54: @ 80A4A54 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r2, 0x1 - adds r2, r1, 0 - adds r1, r5, 0 -_080A4A5E: - ldrb r3, [r2] - adds r0, r3, 0x2 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _080A4A8A - subs r4, 0x1 - cmp r4, 0 - bne _080A4A78 - movs r0, 0xFF - strb r0, [r1] - movs r0, 0x1 - b _080A4A92 -_080A4A78: - lsls r0, r3, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _080A4A84 - movs r0, 0 - b _080A4A92 -_080A4A84: - adds r1, r5, 0 - adds r2, 0x1 - b _080A4A5E -_080A4A8A: - strb r3, [r1] - adds r2, 0x1 - adds r1, 0x1 - b _080A4A5E -_080A4A92: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80A4A54 - - thumb_func_start sub_80A4A98 -sub_80A4A98: @ 80A4A98 - push {r4,r5,lr} - sub sp, 0x64 - adds r5, r0, 0 - adds r4, r1, 0 - cmp r4, 0 - bne _080A4AB0 - movs r0, 0 - movs r1, 0xD - movs r2, 0xD - movs r3, 0x14 - bl MenuZeroFillWindowRect -_080A4AB0: - mov r0, sp - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_80A4A54 - cmp r0, 0 - beq _080A4AD2 - lsls r2, r4, 20 - movs r0, 0xD0 - lsls r0, 15 - adds r2, r0 - lsrs r2, 16 - mov r0, sp - movs r1, 0x4 - movs r3, 0 - bl MenuPrint_PixelCoords -_080A4AD2: - add sp, 0x64 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80A4A98 - - thumb_func_start sub_80A4ADC -sub_80A4ADC: @ 80A4ADC - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080A4B0C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0x1C - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _080A4AFA - movs r0, 0 - bl sub_80A7528 -_080A4AFA: - movs r0, 0x5 - bl PlaySE - ldr r1, _080A4B10 @ =gUnknown_0203855C - movs r0, 0x1 - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_080A4B0C: .4byte gTasks -_080A4B10: .4byte gUnknown_0203855C - thumb_func_end sub_80A4ADC - - thumb_func_start sub_80A4B14 -sub_80A4B14: @ 80A4B14 - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsls r4, 24 - lsrs r4, 24 - ldr r2, _080A4B50 @ =gUnknown_03005D10 - ldr r1, _080A4B54 @ =gUnknown_02038559 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - lsls r1, 2 - adds r1, r2 - lsrs r0, 24 - ldrb r2, [r1, 0x1] - adds r0, r2 - strb r0, [r1, 0x1] - movs r0, 0 - bl MoveMenuCursor - bl sub_80A73C0 - bl sub_80A763C - adds r0, r4, 0 - bl sub_80A4ADC - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A4B50: .4byte gUnknown_03005D10 -_080A4B54: .4byte gUnknown_02038559 - thumb_func_end sub_80A4B14 - - thumb_func_start sub_80A4B58 -sub_80A4B58: @ 80A4B58 - push {r4,lr} - adds r4, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, 24 - asrs r0, 24 - bl MoveMenuCursor - ldr r2, _080A4B88 @ =gUnknown_03005D10 - ldr r1, _080A4B8C @ =gUnknown_02038559 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - lsls r1, 2 - adds r1, r2 - strb r0, [r1] - bl sub_80A73C0 - adds r0, r4, 0 - bl sub_80A4ADC - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A4B88: .4byte gUnknown_03005D10 -_080A4B8C: .4byte gUnknown_02038559 - thumb_func_end sub_80A4B58 - - thumb_func_start sub_80A4B90 -sub_80A4B90: @ 80A4B90 - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - movs r0, 0x6 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _080A4BBC - ldr r0, _080A4BB4 @ =0x00000103 - cmp r4, r0 - beq _080A4BAE - adds r0, 0xD - cmp r4, r0 - bne _080A4BBC -_080A4BAE: - ldr r0, _080A4BB8 @ =gOtherText_Walk - b _080A4BE6 - .align 2, 0 -_080A4BB4: .4byte 0x00000103 -_080A4BB8: .4byte gOtherText_Walk -_080A4BBC: - adds r0, r4, 0 - bl ItemIsMail - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080A4BE4 - ldr r1, _080A4BDC @ =gUnknown_083C1640 - ldr r0, _080A4BE0 @ =gUnknown_03000704 - ldr r0, [r0] - ldrb r0, [r0] - lsls r0, 3 - adds r0, r1 - ldr r0, [r0] - b _080A4BE6 - .align 2, 0 -_080A4BDC: .4byte gUnknown_083C1640 -_080A4BE0: .4byte gUnknown_03000704 -_080A4BE4: - ldr r0, _080A4BEC @ =gOtherText_Check -_080A4BE6: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080A4BEC: .4byte gOtherText_Check - thumb_func_end sub_80A4B90 - - thumb_func_start sub_80A4BF0 -sub_80A4BF0: @ 80A4BF0 - push {r4-r7,lr} - sub sp, 0x8 - adds r5, r0, 0 - ldr r7, _080A4C38 @ =gUnknown_02038564 - ldrb r4, [r7] - cmp r4, 0x4 - beq _080A4C00 - b _080A4CF8 -_080A4C00: - movs r0, 0 - movs r1, 0x7 - movs r2, 0xD - movs r3, 0xC - bl MenuDrawTextWindow - str r4, [sp] - adds r0, r5, 0 - movs r1, 0x1 - movs r2, 0x8 - movs r3, 0xC - bl sub_80A4008 - bl sub_80F9344 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A4C40 - ldr r0, _080A4C3C @ =gUnknown_03000701 - ldrb r0, [r0] - cmp r0, 0x5 - bne _080A4C40 - movs r0, 0x1 - movs r1, 0 - bl sub_80A7834 - b _080A4CA0 - .align 2, 0 -_080A4C38: .4byte gUnknown_02038564 -_080A4C3C: .4byte gUnknown_03000701 -_080A4C40: - movs r6, 0 - ldr r0, _080A4C5C @ =gUnknown_02038564 - ldrb r0, [r0] - cmp r6, r0 - bcs _080A4CA0 - ldr r4, _080A4C60 @ =gUnknown_083C1640 -_080A4C4C: - cmp r6, 0 - bne _080A4C68 - ldr r0, _080A4C64 @ =gScriptItemId - ldrh r0, [r0] - bl sub_80A4B90 - adds r3, r0, 0 - b _080A4C76 - .align 2, 0 -_080A4C5C: .4byte gUnknown_02038564 -_080A4C60: .4byte gUnknown_083C1640 -_080A4C64: .4byte gScriptItemId -_080A4C68: - ldr r0, _080A4CC4 @ =gUnknown_03000704 - ldr r0, [r0] - adds r0, r6 - ldrb r0, [r0] - lsls r0, 3 - adds r0, r4 - ldr r3, [r0] -_080A4C76: - lsrs r0, r6, 1 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 1 - adds r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - movs r2, 0x1 - ands r2, r6 - lsls r2, 1 - adds r2, 0x8 - adds r0, r3, 0 - bl MenuPrint - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _080A4CC8 @ =gUnknown_02038564 - ldrb r0, [r0] - cmp r6, r0 - bcc _080A4C4C -_080A4CA0: - ldr r0, _080A4CCC @ =gUnknown_03000701 - ldrb r0, [r0] - cmp r0, 0x5 - bne _080A4CD4 - ldr r0, _080A4CC8 @ =gUnknown_02038564 - ldrb r3, [r0] - ldr r0, _080A4CD0 @ =gUnknown_03000700 - ldrb r0, [r0] - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x1 - movs r2, 0x8 - bl InitMenu - b _080A4CEA - .align 2, 0 -_080A4CC4: .4byte gUnknown_03000704 -_080A4CC8: .4byte gUnknown_02038564 -_080A4CCC: .4byte gUnknown_03000701 -_080A4CD0: .4byte gUnknown_03000700 -_080A4CD4: - ldr r0, _080A4CF4 @ =gUnknown_02038564 - ldrb r3, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x1 - movs r2, 0x8 - bl InitMenu -_080A4CEA: - movs r0, 0x2F - bl sub_8072DCC - b _080A4D8A - .align 2, 0 -_080A4CF4: .4byte gUnknown_02038564 -_080A4CF8: - movs r0, 0 - movs r1, 0x5 - movs r2, 0xD - movs r3, 0xC - bl MenuDrawTextWindow - movs r0, 0x6 - str r0, [sp] - adds r0, r5, 0 - movs r1, 0x1 - movs r2, 0x6 - movs r3, 0xC - bl sub_80A4008 - movs r6, 0 - ldrb r7, [r7] - cmp r6, r7 - bcs _080A4D6E - ldr r7, _080A4D98 @ =gUnknown_083C1640 -_080A4D1E: - ldr r0, _080A4D9C @ =gUnknown_03000704 - ldr r0, [r0] - adds r0, r6 - ldrb r0, [r0] - lsls r0, 3 - adds r0, r7 - ldr r5, [r0] - adds r0, r6, 0 - movs r1, 0x3 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 1 - adds r4, r0 - lsls r4, 1 - adds r4, 0x1 - lsls r4, 24 - lsrs r4, 24 - adds r0, r6, 0 - movs r1, 0x3 - bl __umodsi3 - adds r2, r0, 0 - lsls r2, 25 - movs r0, 0xC0 - lsls r0, 19 - adds r2, r0 - lsrs r2, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl MenuPrint - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _080A4DA0 @ =gUnknown_02038564 - ldrb r0, [r0] - cmp r6, r0 - bcc _080A4D1E -_080A4D6E: - ldr r0, _080A4DA0 @ =gUnknown_02038564 - ldrb r3, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x1 - movs r2, 0x6 - bl InitMenu - movs r0, 0x2F - bl sub_8072DCC -_080A4D8A: - movs r0, 0x2 - bl sub_80A7528 - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A4D98: .4byte gUnknown_083C1640 -_080A4D9C: .4byte gUnknown_03000704 -_080A4DA0: .4byte gUnknown_02038564 - thumb_func_end sub_80A4BF0 - - thumb_func_start sub_80A4DA4 -sub_80A4DA4: @ 80A4DA4 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - bl sub_80A73FC - movs r0, 0x6 - str r0, [sp] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x6 - movs r3, 0xD - bl sub_80A36B8 - movs r0, 0 - movs r1, 0x5 - movs r2, 0xD - movs r3, 0xC - bl MenuZeroFillWindowRect - bl sub_80A7590 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A4DA4 - - thumb_func_start sub_80A4DD8 -sub_80A4DD8: @ 80A4DD8 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0x4 - adds r4, r1, 0 - adds r1, r2, 0 - adds r6, r3, 0 - ldr r5, [sp, 0x20] - ldr r2, [sp, 0x24] - lsls r0, 24 - lsrs r0, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r6, 24 - lsrs r6, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r2, 24 - lsrs r2, 24 - mov r10, r2 - ldr r3, _080A4E84 @ =gTasks - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 3 - adds r2, r3 - movs r0, 0x1 - strh r0, [r2, 0xA] - adds r0, r4, 0x2 - mov r9, r0 - strh r0, [r2, 0xC] - adds r0, r1, 0x1 - mov r8, r0 - strh r0, [r2, 0xE] - adds r2, r4, r6 - lsls r2, 24 - lsrs r2, 24 - adds r3, r1, r5 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - bl MenuDrawTextWindow - ldr r0, _080A4E88 @ =gBGTilemapBuffers + 0x800 - adds r4, 0x1 - lsls r4, 24 - lsrs r4, 24 - mov r1, r8 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - subs r6, 0x1 - lsls r6, 24 - lsrs r6, 24 - subs r5, 0x1 - lsls r5, 24 - lsrs r5, 24 - str r5, [sp] - adds r1, r4, 0 - mov r2, r8 - adds r3, r6, 0 - bl sub_80A4008 - mov r2, r9 - lsls r2, 24 - lsrs r2, 24 - mov r9, r2 - mov r0, r10 - str r0, [sp] - movs r0, 0x1 - movs r1, 0x1 - mov r3, r8 - bl sub_80A418C - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A4E84: .4byte gTasks -_080A4E88: .4byte gBGTilemapBuffers + 0x800 - thumb_func_end sub_80A4DD8 - - thumb_func_start sub_80A4E8C -sub_80A4E8C: @ 80A4E8C - push {r4-r6,lr} - adds r4, r0, 0 - adds r6, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r6, 24 - lsrs r6, 24 - movs r0, 0x5 - bl PlaySE - movs r0, 0 - movs r1, 0x1 - bl sub_80F979C - movs r0, 0x1 - movs r1, 0x1 - bl sub_80F979C - movs r0, 0x2 - movs r1, 0x1 - bl sub_80F979C - movs r0, 0x3 - movs r1, 0x1 - bl sub_80F979C - movs r0, 0 - bl PauseVerticalScrollIndicator - movs r0, 0x1 - bl PauseVerticalScrollIndicator - movs r0, 0x2 - bl PauseVerticalScrollIndicator - movs r0, 0x3 - bl PauseVerticalScrollIndicator - ldr r5, _080A4F04 @ =gBGTilemapBuffers + 0x1000 - lsls r4, 24 - asrs r4, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80A3B04 - ldr r0, _080A4F08 @ =gUnknown_02038559 - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_80A3AC0 - bl sub_80A3770 - bl sub_80A7C64 - adds r0, r6, 0 - bl CreateBagPokeballSprite - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A4F04: .4byte gBGTilemapBuffers + 0x1000 -_080A4F08: .4byte gUnknown_02038559 - thumb_func_end sub_80A4E8C - - thumb_func_start sub_80A4F0C -sub_80A4F0C: @ 80A4F0C - push {r4,lr} - ldr r0, _080A4F38 @ =gUnknown_03000701 - ldrb r0, [r0] - subs r0, 0x4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bls _080A4F60 - ldr r4, _080A4F3C @ =gMain - ldrh r0, [r4, 0x2E] - cmp r0, 0x10 - beq _080A4F30 - bl sub_80F9284 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _080A4F40 -_080A4F30: - movs r0, 0x1 - movs r1, 0x2 - b _080A4F58 - .align 2, 0 -_080A4F38: .4byte gUnknown_03000701 -_080A4F3C: .4byte gMain -_080A4F40: - ldrh r0, [r4, 0x2E] - cmp r0, 0x20 - beq _080A4F52 - bl sub_80F9284 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A4F60 -_080A4F52: - movs r0, 0x1 - negs r0, r0 - movs r1, 0x1 -_080A4F58: - bl sub_80A4E8C - movs r0, 0x1 - b _080A4F62 -_080A4F60: - movs r0, 0 -_080A4F62: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80A4F0C - - thumb_func_start sub_80A4F68 -sub_80A4F68: @ 80A4F68 - push {lr} - bl sub_80A4F0C - pop {r0} - bx r0 - thumb_func_end sub_80A4F68 - - thumb_func_start sub_80A4F74 -sub_80A4F74: @ 80A4F74 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r2, r4, 0 - movs r5, 0 - ldr r0, _080A4FAC @ =gMain - ldrh r0, [r0, 0x30] - movs r1, 0xF0 - ands r1, r0 - cmp r1, 0x40 - bne _080A4FE8 - ldr r1, _080A4FB0 @ =gUnknown_03005D10 - ldr r0, _080A4FB4 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r1, r0, r1 - ldrb r0, [r1] - cmp r0, 0 - beq _080A4FB8 - movs r0, 0x1 - negs r0, r0 - adds r1, r4, 0 - bl sub_80A4B58 - b _080A4FC8 - .align 2, 0 -_080A4FAC: .4byte gMain -_080A4FB0: .4byte gUnknown_03005D10 -_080A4FB4: .4byte gUnknown_02038559 -_080A4FB8: - ldrb r0, [r1, 0x1] - cmp r0, 0 - beq _080A4FC8 - movs r0, 0x1 - negs r0, r0 - adds r1, r4, 0 - bl sub_80A4B14 -_080A4FC8: - ldr r0, _080A4FE0 @ =gLinkOpen - ldrb r0, [r0] - cmp r0, 0x1 - bne _080A50AE - ldr r1, _080A4FE4 @ =gMain - ldrh r0, [r1, 0x32] - cmp r0, 0x5 - bne _080A50AE - movs r0, 0xB - strh r0, [r1, 0x32] - b _080A50AE - .align 2, 0 -_080A4FE0: .4byte gLinkOpen -_080A4FE4: .4byte gMain -_080A4FE8: - cmp r1, 0x80 - bne _080A5088 - ldr r0, _080A5020 @ =gUnknown_03000701 - ldrb r0, [r0] - cmp r0, 0x5 - beq _080A502C - ldr r1, _080A5024 @ =gUnknown_03005D10 - ldr r0, _080A5028 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r2, r0, r1 - ldrb r0, [r2] - ldrb r1, [r2, 0x3] - cmp r0, r1 - bne _080A504E - ldrb r0, [r2, 0x1] - ldrb r1, [r2] - adds r0, r1 - ldrb r2, [r2, 0x2] - cmp r0, r2 - beq _080A5068 - movs r0, 0x1 - adds r1, r4, 0 - bl sub_80A4B14 - b _080A5068 - .align 2, 0 -_080A5020: .4byte gUnknown_03000701 -_080A5024: .4byte gUnknown_03005D10 -_080A5028: .4byte gUnknown_02038559 -_080A502C: - ldr r1, _080A5058 @ =gUnknown_03005D10 - ldr r0, _080A505C @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r2, r0, r1 - ldrb r1, [r2, 0x1] - ldrb r3, [r2] - adds r1, r3 - ldrb r0, [r2, 0x2] - subs r0, 0x1 - cmp r1, r0 - beq _080A5068 - ldrb r2, [r2, 0x3] - cmp r3, r2 - beq _080A5060 -_080A504E: - movs r0, 0x1 - adds r1, r4, 0 - bl sub_80A4B58 - b _080A5068 - .align 2, 0 -_080A5058: .4byte gUnknown_03005D10 -_080A505C: .4byte gUnknown_02038559 -_080A5060: - movs r0, 0x1 - adds r1, r4, 0 - bl sub_80A4B14 -_080A5068: - movs r5, 0x1 - ldr r0, _080A5080 @ =gLinkOpen - ldrb r0, [r0] - cmp r0, 0x1 - bne _080A50C0 - ldr r1, _080A5084 @ =gMain - ldrh r0, [r1, 0x32] - cmp r0, 0x5 - bne _080A50C0 - movs r0, 0xB - strh r0, [r1, 0x32] - b _080A50C0 - .align 2, 0 -_080A5080: .4byte gLinkOpen -_080A5084: .4byte gMain -_080A5088: - ldr r0, _080A50B4 @ =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r4, r1, r0 - movs r1, 0x1C - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080A50BC - bl sub_80A4F0C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A50BC - bl sub_80A73F0 - ldr r0, _080A50B8 @ =sub_80A4F68 - str r0, [r4] -_080A50AE: - movs r5, 0x1 - b _080A50C0 - .align 2, 0 -_080A50B4: .4byte gTasks -_080A50B8: .4byte sub_80A4F68 -_080A50BC: - bl sub_80A73C0 -_080A50C0: - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80A4F74 - - thumb_func_start sub_80A50C8 -sub_80A50C8: @ 80A50C8 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _080A5148 @ =gTasks + 0x8 - adds r5, r0, r1 - ldr r0, _080A514C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080A50E6 - b _080A52BC -_080A50E6: - adds r0, r4, 0 - bl sub_80A4F74 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A50F6 - b _080A526A -_080A50F6: - ldr r2, _080A5150 @ =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080A5190 - ldr r3, _080A5154 @ =gUnknown_02038559 - ldrb r0, [r3] - subs r0, 0x2 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bls _080A5190 - ldr r0, _080A5158 @ =gUnknown_03000701 - ldrb r0, [r0] - cmp r0, 0x1 - bhi _080A5190 - movs r1, 0x14 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _080A5160 - ldr r1, _080A515C @ =gUnknown_03005D10 - movs r0, 0 - ldrsb r0, [r3, r0] - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x1] - ldrb r2, [r0] - adds r1, r2 - ldrb r0, [r0, 0x2] - cmp r1, r0 - bne _080A5138 - b _080A526A -_080A5138: - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_80A3F50 - b _080A526A - .align 2, 0 -_080A5148: .4byte gTasks + 0x8 -_080A514C: .4byte gPaletteFade -_080A5150: .4byte gMain -_080A5154: .4byte gUnknown_02038559 -_080A5158: .4byte gUnknown_03000701 -_080A515C: .4byte gUnknown_03005D10 -_080A5160: - ldr r1, _080A5184 @ =gUnknown_03005D10 - movs r0, 0 - ldrsb r0, [r3, r0] - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x1] - ldrb r2, [r0] - adds r1, r2 - ldrb r0, [r0, 0x2] - cmp r1, r0 - beq _080A5188 - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_80A3E90 - b _080A526A - .align 2, 0 -_080A5184: .4byte gUnknown_03005D10 -_080A5188: - adds r0, r4, 0 - bl sub_80A3EF4 - b _080A526A -_080A5190: - ldrh r2, [r2, 0x2E] - movs r0, 0x1 - ands r0, r2 - cmp r0, 0 - beq _080A5272 - ldr r7, _080A51D4 @ =gUnknown_03005D10 - ldr r6, _080A51D8 @ =gUnknown_02038559 - movs r0, 0 - ldrsb r0, [r6, r0] - lsls r0, 2 - adds r0, r7 - ldrb r1, [r0, 0x1] - ldrb r2, [r0] - adds r1, r2 - ldrb r0, [r0, 0x2] - cmp r1, r0 - bne _080A51F0 - movs r0, 0x14 - ldrsh r1, [r5, r0] - cmp r1, 0 - bne _080A51E8 - ldr r0, _080A51DC @ =gScriptItemId - strh r1, [r0] - ldr r1, _080A51E0 @ =gUnknown_083C16BC - ldr r0, _080A51E4 @ =gUnknown_03000701 - ldrb r0, [r0] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - b _080A526A - .align 2, 0 -_080A51D4: .4byte gUnknown_03005D10 -_080A51D8: .4byte gUnknown_02038559 -_080A51DC: .4byte gScriptItemId -_080A51E0: .4byte gUnknown_083C16BC -_080A51E4: .4byte gUnknown_03000701 -_080A51E8: - adds r0, r4, 0 - bl sub_80A3EF4 - b _080A526A -_080A51F0: - movs r1, 0x14 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _080A5264 - movs r0, 0x5 - bl PlaySE - ldr r2, _080A5250 @ =gUnknown_02038560 - movs r1, 0 - ldrsb r1, [r6, r1] - lsls r1, 2 - adds r1, r7 - ldrb r0, [r1] - ldrb r1, [r1, 0x1] - adds r0, r1 - strb r0, [r2] - ldr r3, _080A5254 @ =gScriptItemId - ldrb r0, [r2] - ldr r1, _080A5258 @ =gUnknown_03005D24 - ldr r1, [r1] - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r3] - ldr r1, _080A525C @ =gUnknown_083C16BC - ldr r0, _080A5260 @ =gUnknown_03000701 - ldrb r0, [r0] - lsls r0, 3 - adds r0, r1 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - movs r0, 0 - bl sub_80F98A4 - movs r0, 0x1 - bl sub_80F98A4 - movs r0, 0x2 - bl sub_80F98A4 - movs r0, 0x3 - bl sub_80F98A4 - bl sub_80A797C - b _080A526A - .align 2, 0 -_080A5250: .4byte gUnknown_02038560 -_080A5254: .4byte gScriptItemId -_080A5258: .4byte gUnknown_03005D24 -_080A525C: .4byte gUnknown_083C16BC -_080A5260: .4byte gUnknown_03000701 -_080A5264: - adds r0, r4, 0 - bl sub_80A3E90 -_080A526A: - adds r0, r4, 0 - bl sub_808B5B4 - b _080A52BC -_080A5272: - movs r0, 0x2 - ands r0, r2 - cmp r0, 0 - beq _080A52BC - movs r0, 0x14 - ldrsh r1, [r5, r0] - cmp r1, 0 - bne _080A52B0 - ldr r2, _080A52A4 @ =gUnknown_03000701 - ldrb r0, [r2] - cmp r0, 0x5 - beq _080A52B6 - ldr r0, _080A52A8 @ =gScriptItemId - strh r1, [r0] - ldr r1, _080A52AC @ =gUnknown_083C16BC - ldrb r0, [r2] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - b _080A52B6 - .align 2, 0 -_080A52A4: .4byte gUnknown_03000701 -_080A52A8: .4byte gScriptItemId -_080A52AC: .4byte gUnknown_083C16BC -_080A52B0: - adds r0, r4, 0 - bl sub_80A3EF4 -_080A52B6: - adds r0, r4, 0 - bl sub_808B5B4 -_080A52BC: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80A50C8 - - thumb_func_start sub_80A52C4 -sub_80A52C4: @ 80A52C4 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r3, r1, 16 - adds r4, r3, 0 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080A52F4 @ =gTasks + 0x8 - adds r1, r0 - ldr r0, _080A52F8 @ =gMain - ldrh r0, [r0, 0x30] - movs r2, 0xF0 - ands r2, r0 - cmp r2, 0x40 - bne _080A52FC - movs r2, 0x2 - ldrsh r0, [r1, r2] - cmp r0, r3 - beq _080A533E - ldrh r0, [r1, 0x2] - adds r0, 0x1 - b _080A5340 - .align 2, 0 -_080A52F4: .4byte gTasks + 0x8 -_080A52F8: .4byte gMain -_080A52FC: - cmp r2, 0x80 - bne _080A5312 - ldrh r2, [r1, 0x2] - movs r4, 0x2 - ldrsh r0, [r1, r4] - cmp r0, 0x1 - beq _080A530E - subs r0, r2, 0x1 - b _080A5340 -_080A530E: - strh r3, [r1, 0x2] - b _080A5342 -_080A5312: - cmp r2, 0x10 - bne _080A532A - movs r2, 0x2 - ldrsh r0, [r1, r2] - adds r0, 0xA - cmp r0, r3 - bge _080A5326 - ldrh r0, [r1, 0x2] - adds r0, 0xA - b _080A5340 -_080A5326: - strh r4, [r1, 0x2] - b _080A5342 -_080A532A: - cmp r2, 0x20 - bne _080A5346 - ldrh r2, [r1, 0x2] - movs r3, 0x2 - ldrsh r0, [r1, r3] - cmp r0, 0xA - ble _080A533E - adds r0, r2, 0 - subs r0, 0xA - b _080A5340 -_080A533E: - movs r0, 0x1 -_080A5340: - strh r0, [r1, 0x2] -_080A5342: - movs r0, 0x1 - b _080A5348 -_080A5346: - movs r0, 0 -_080A5348: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80A52C4 - - thumb_func_start sub_80A5350 -sub_80A5350: @ 80A5350 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r2, _080A539C @ =gTasks + 0x8 - adds r4, r1, r2 - ldr r1, _080A53A0 @ =gUnknown_02038560 - ldrb r1, [r1] - ldr r2, _080A53A4 @ =gUnknown_03005D24 - ldr r2, [r2] - lsls r1, 2 - adds r1, r2 - ldrh r1, [r1, 0x2] - bl sub_80A52C4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A53C0 - ldr r0, _080A53A8 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x3 - bne _080A53AC - ldrh r0, [r4, 0x2] - ldrb r2, [r4, 0x4] - ldrb r3, [r4, 0x6] - movs r1, 0x3 - str r1, [sp] - movs r1, 0x1 - bl sub_80A418C - b _080A53BC - .align 2, 0 -_080A539C: .4byte gTasks + 0x8 -_080A53A0: .4byte gUnknown_02038560 -_080A53A4: .4byte gUnknown_03005D24 -_080A53A8: .4byte gUnknown_02038559 -_080A53AC: - ldrh r0, [r4, 0x2] - ldrb r2, [r4, 0x4] - ldrb r3, [r4, 0x6] - movs r1, 0x2 - str r1, [sp] - movs r1, 0x1 - bl sub_80A418C -_080A53BC: - movs r0, 0x1 - b _080A53C2 -_080A53C0: - movs r0, 0 -_080A53C2: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80A5350 - - thumb_func_start sub_80A53CC -sub_80A53CC: @ 80A53CC - push {lr} - bl sub_80A34B4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A53EA - bl sub_80A3770 - ldr r0, _080A53F0 @ =sub_80A50C8 - movs r1, 0 - bl CreateTask - ldr r1, _080A53F4 @ =gUnknown_02038563 - strb r0, [r1] -_080A53EA: - pop {r0} - bx r0 - .align 2, 0 -_080A53F0: .4byte sub_80A50C8 -_080A53F4: .4byte gUnknown_02038563 - thumb_func_end sub_80A53CC - - thumb_func_start sub_80A53F8 -sub_80A53F8: @ 80A53F8 - push {lr} - ldr r0, _080A540C @ =gUnknown_03000701 - movs r1, 0 - strb r1, [r0] - ldr r0, _080A5410 @ =sub_80A53CC - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_080A540C: .4byte gUnknown_03000701 -_080A5410: .4byte sub_80A53CC - thumb_func_end sub_80A53F8 - - thumb_func_start sub_80A5414 -sub_80A5414: @ 80A5414 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r5, 0 - bl sub_80A78A0 - cmp r0, 0 - bne _080A5426 - b _080A5552 -_080A5426: - ldr r2, _080A5460 @ =gMain - ldrh r0, [r2, 0x30] - movs r1, 0xF0 - ands r1, r0 - cmp r1, 0x40 - bne _080A546C - ldr r4, _080A5464 @ =gUnknown_03000700 - ldrb r1, [r4] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080A5440 - b _080A5552 -_080A5440: - ldrb r1, [r4] - ldr r0, _080A5468 @ =gUnknown_03000704 - ldr r0, [r0] - adds r1, r0 - subs r1, 0x1 - ldrb r0, [r1] - cmp r0, 0x8 - bne _080A5452 - b _080A5552 -_080A5452: - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - b _080A54EE - .align 2, 0 -_080A5460: .4byte gMain -_080A5464: .4byte gUnknown_03000700 -_080A5468: .4byte gUnknown_03000704 -_080A546C: - cmp r1, 0x80 - bne _080A549C - ldr r4, _080A5494 @ =gUnknown_03000700 - ldrb r1, [r4] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080A5552 - ldrb r1, [r4] - ldr r0, _080A5498 @ =gUnknown_03000704 - ldr r0, [r0] - adds r1, r0 - ldrb r0, [r1, 0x1] - cmp r0, 0x8 - beq _080A5552 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - b _080A54EE - .align 2, 0 -_080A5494: .4byte gUnknown_03000700 -_080A5498: .4byte gUnknown_03000704 -_080A549C: - cmp r1, 0x20 - bne _080A54CC - ldr r4, _080A54C4 @ =gUnknown_03000700 - ldrb r0, [r4] - cmp r0, 0x1 - bls _080A5552 - adds r1, r0, 0 - ldr r0, _080A54C8 @ =gUnknown_03000704 - ldr r0, [r0] - adds r1, r0 - subs r1, 0x2 - ldrb r0, [r1] - cmp r0, 0x8 - beq _080A5552 - movs r0, 0x5 - bl PlaySE - movs r0, 0x2 - negs r0, r0 - b _080A54EE - .align 2, 0 -_080A54C4: .4byte gUnknown_03000700 -_080A54C8: .4byte gUnknown_03000704 -_080A54CC: - cmp r1, 0x10 - bne _080A5500 - ldr r4, _080A54F8 @ =gUnknown_03000700 - ldrb r0, [r4] - cmp r0, 0x1 - bhi _080A5552 - adds r1, r0, 0 - ldr r0, _080A54FC @ =gUnknown_03000704 - ldr r0, [r0] - adds r1, r0 - ldrb r0, [r1, 0x2] - cmp r0, 0x8 - beq _080A5552 - movs r0, 0x5 - bl PlaySE - movs r0, 0x2 -_080A54EE: - bl MoveMenuCursor3 - strb r0, [r4] - b _080A5552 - .align 2, 0 -_080A54F8: .4byte gUnknown_03000700 -_080A54FC: .4byte gUnknown_03000704 -_080A5500: - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080A5590 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080A5552 - ldr r1, _080A5570 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0x1C] - ldr r1, _080A5574 @ =gUnknown_03005D10 - ldr r0, _080A5578 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0] - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_80A48E8 - ldr r0, _080A557C @ =gBGTilemapBuffers + 0x800 - bl sub_80A4DA4 - ldr r1, _080A5580 @ =gUnknown_083C1640 - ldr r0, _080A5584 @ =gUnknown_03000704 - ldr r0, [r0] - ldrb r0, [r0, 0x3] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r5, [r0] - adds r0, r4, 0 - bl _call_via_r5 -_080A5552: - cmp r5, 0 - bne _080A55FA - ldr r0, _080A5588 @ =gUnknown_03000701 - ldrb r0, [r0] - cmp r0, 0x5 - bne _080A55E0 - ldr r0, _080A558C @ =gUnknown_03000700 - ldrb r0, [r0] - cmp r0, 0 - bne _080A55D4 - movs r0, 0xC - bl sub_8072DDC - b _080A55FA - .align 2, 0 -_080A5570: .4byte gTasks -_080A5574: .4byte gUnknown_03005D10 -_080A5578: .4byte gUnknown_02038559 -_080A557C: .4byte gBGTilemapBuffers + 0x800 -_080A5580: .4byte gUnknown_083C1640 -_080A5584: .4byte gUnknown_03000704 -_080A5588: .4byte gUnknown_03000701 -_080A558C: .4byte gUnknown_03000700 -_080A5590: - ldr r1, _080A55C0 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0x1C] - ldr r0, _080A55C4 @ =gBGTilemapBuffers + 0x800 - bl sub_80A4DA4 - ldr r1, _080A55C8 @ =gUnknown_083C1640 - ldr r0, _080A55CC @ =gUnknown_03000700 - ldrb r2, [r0] - ldr r0, _080A55D0 @ =gUnknown_03000704 - ldr r0, [r0] - adds r0, r2 - ldrb r0, [r0] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r5, [r0] - adds r0, r4, 0 - bl _call_via_r5 - b _080A5552 - .align 2, 0 -_080A55C0: .4byte gTasks -_080A55C4: .4byte gBGTilemapBuffers + 0x800 -_080A55C8: .4byte gUnknown_083C1640 -_080A55CC: .4byte gUnknown_03000700 -_080A55D0: .4byte gUnknown_03000704 -_080A55D4: - cmp r0, 0x1 - bls _080A55E8 - movs r0, 0x30 - bl sub_8072DCC - b _080A55FA -_080A55E0: - ldr r0, _080A55F0 @ =gUnknown_03000700 - ldrb r0, [r0] - cmp r0, 0x1 - bhi _080A55F4 -_080A55E8: - movs r0, 0x2F - bl sub_8072DCC - b _080A55FA - .align 2, 0 -_080A55F0: .4byte gUnknown_03000700 -_080A55F4: - movs r0, 0x30 - bl sub_8072DCC -_080A55FA: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80A5414 - - thumb_func_start sub_80A5600 -sub_80A5600: @ 80A5600 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r5, 0 - ldr r2, _080A563C @ =gMain - ldrh r0, [r2, 0x30] - movs r1, 0xF0 - ands r1, r0 - cmp r1, 0x40 - bne _080A5648 - ldr r4, _080A5640 @ =gUnknown_03000700 - ldrb r0, [r4] - cmp r0, 0 - bne _080A561E - b _080A5736 -_080A561E: - adds r1, r0, 0 - ldr r0, _080A5644 @ =gUnknown_03000704 - ldr r0, [r0] - adds r1, r0 - subs r1, 0x1 - ldrb r0, [r1] - cmp r0, 0x8 - bne _080A5630 - b _080A5736 -_080A5630: - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - b _080A56D2 - .align 2, 0 -_080A563C: .4byte gMain -_080A5640: .4byte gUnknown_03000700 -_080A5644: .4byte gUnknown_03000704 -_080A5648: - cmp r1, 0x80 - bne _080A5680 - ldr r4, _080A5674 @ =gUnknown_03000700 - ldrb r1, [r4] - ldr r0, _080A5678 @ =gUnknown_02038564 - ldrb r0, [r0] - subs r0, 0x1 - cmp r1, r0 - beq _080A5736 - cmp r1, 0x2 - beq _080A5736 - ldr r0, _080A567C @ =gUnknown_03000704 - ldr r0, [r0] - adds r0, r1, r0 - ldrb r0, [r0, 0x1] - cmp r0, 0x8 - beq _080A5736 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - b _080A56D2 - .align 2, 0 -_080A5674: .4byte gUnknown_03000700 -_080A5678: .4byte gUnknown_02038564 -_080A567C: .4byte gUnknown_03000704 -_080A5680: - cmp r1, 0x20 - bne _080A56B0 - ldr r4, _080A56A8 @ =gUnknown_03000700 - ldrb r0, [r4] - cmp r0, 0x2 - bls _080A5736 - adds r1, r0, 0 - ldr r0, _080A56AC @ =gUnknown_03000704 - ldr r0, [r0] - adds r1, r0 - subs r1, 0x3 - ldrb r0, [r1] - cmp r0, 0x8 - beq _080A5736 - movs r0, 0x5 - bl PlaySE - movs r0, 0x3 - negs r0, r0 - b _080A56D2 - .align 2, 0 -_080A56A8: .4byte gUnknown_03000700 -_080A56AC: .4byte gUnknown_03000704 -_080A56B0: - cmp r1, 0x10 - bne _080A56E4 - ldr r4, _080A56DC @ =gUnknown_03000700 - ldrb r0, [r4] - cmp r0, 0x2 - bhi _080A5736 - adds r1, r0, 0 - ldr r0, _080A56E0 @ =gUnknown_03000704 - ldr r0, [r0] - adds r1, r0 - ldrb r0, [r1, 0x3] - cmp r0, 0x8 - beq _080A5736 - movs r0, 0x5 - bl PlaySE - movs r0, 0x3 -_080A56D2: - bl MoveMenuCursor3 - strb r0, [r4] - b _080A5736 - .align 2, 0 -_080A56DC: .4byte gUnknown_03000700 -_080A56E0: .4byte gUnknown_03000704 -_080A56E4: - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080A5768 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080A5736 - ldr r1, _080A574C @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0x1C] - ldr r1, _080A5750 @ =gUnknown_03005D10 - ldr r0, _080A5754 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0] - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_80A48E8 - ldr r0, _080A5758 @ =gBGTilemapBuffers + 0x800 - bl sub_80A4DA4 - ldr r1, _080A575C @ =gUnknown_083C1640 - ldr r0, _080A5760 @ =gUnknown_03000704 - ldr r0, [r0] - ldrb r0, [r0, 0x5] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r5, [r0] - adds r0, r4, 0 - bl _call_via_r5 -_080A5736: - cmp r5, 0 - bne _080A57BE - ldr r0, _080A5764 @ =gUnknown_03000700 - ldrb r0, [r0] - cmp r0, 0 - bne _080A57AC - movs r0, 0xC - bl sub_8072DDC - b _080A57BE - .align 2, 0 -_080A574C: .4byte gTasks -_080A5750: .4byte gUnknown_03005D10 -_080A5754: .4byte gUnknown_02038559 -_080A5758: .4byte gBGTilemapBuffers + 0x800 -_080A575C: .4byte gUnknown_083C1640 -_080A5760: .4byte gUnknown_03000704 -_080A5764: .4byte gUnknown_03000700 -_080A5768: - ldr r1, _080A5798 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0x1C] - ldr r0, _080A579C @ =gBGTilemapBuffers + 0x800 - bl sub_80A4DA4 - ldr r1, _080A57A0 @ =gUnknown_083C1640 - ldr r0, _080A57A4 @ =gUnknown_03000700 - ldrb r2, [r0] - ldr r0, _080A57A8 @ =gUnknown_03000704 - ldr r0, [r0] - adds r0, r2 - ldrb r0, [r0] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r5, [r0] - adds r0, r4, 0 - bl _call_via_r5 - b _080A5736 - .align 2, 0 -_080A5798: .4byte gTasks -_080A579C: .4byte gBGTilemapBuffers + 0x800 -_080A57A0: .4byte gUnknown_083C1640 -_080A57A4: .4byte gUnknown_03000700 -_080A57A8: .4byte gUnknown_03000704 -_080A57AC: - cmp r0, 0x2 - bhi _080A57B8 - movs r0, 0x2F - bl sub_8072DCC - b _080A57BE -_080A57B8: - movs r0, 0x30 - bl sub_8072DCC -_080A57BE: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80A5600 - - thumb_func_start sub_80A57C4 -sub_80A57C4: @ 80A57C4 - push {r4-r6,lr} - sub sp, 0x8 - ldr r5, _080A57EC @ =gUnknown_03000704 - ldr r0, _080A57F0 @ =gUnknown_02038559 - movs r1, 0 - ldrsb r1, [r0, r1] - lsls r1, 1 - ldr r4, _080A57F4 @ =gUnknown_083C16AE - adds r1, r4 - str r1, [r5] - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x4 - bne _080A57FC - ldr r1, _080A57F8 @ =gUnknown_02038564 - movs r0, 0x1 - strb r0, [r1] - movs r5, 0x9 - b _080A582C - .align 2, 0 -_080A57EC: .4byte gUnknown_03000704 -_080A57F0: .4byte gUnknown_02038559 -_080A57F4: .4byte gUnknown_083C16AE -_080A57F8: .4byte gUnknown_02038564 -_080A57FC: - ldr r0, _080A581C @ =gScriptItemId - ldrh r0, [r0] - bl sub_80F92F4 - lsls r0, 24 - cmp r0, 0 - bne _080A5824 - adds r0, r4, 0 - adds r0, 0x8 - str r0, [r5] - ldr r1, _080A5820 @ =gUnknown_02038564 - movs r0, 0x1 - strb r0, [r1] - movs r5, 0x9 - b _080A582C - .align 2, 0 -_080A581C: .4byte gScriptItemId -_080A5820: .4byte gUnknown_02038564 -_080A5824: - ldr r1, _080A5880 @ =gUnknown_02038564 - movs r0, 0x2 - strb r0, [r1] - movs r5, 0x7 -_080A582C: - adds r6, r1, 0 - ldr r0, _080A5884 @ =gBGTilemapBuffers + 0x800 - adds r4, r5, 0x1 - ldrb r1, [r6] - lsls r1, 25 - lsrs r1, 24 - str r1, [sp] - movs r1, 0x7 - adds r2, r4, 0 - movs r3, 0x6 - bl sub_80A4008 - ldrb r3, [r6] - lsls r3, 1 - adds r3, 0x1 - adds r3, r5, r3 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x6 - adds r1, r5, 0 - movs r2, 0xD - bl MenuDrawTextWindow - movs r0, 0 - adds r1, r5, 0 - bl sub_80A7834 - ldrb r3, [r6] - movs r0, 0 - str r0, [sp] - movs r0, 0x6 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x7 - adds r2, r4, 0 - bl InitMenu - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A5880: .4byte gUnknown_02038564 -_080A5884: .4byte gBGTilemapBuffers + 0x800 - thumb_func_end sub_80A57C4 - - thumb_func_start sub_80A5888 -sub_80A5888: @ 80A5888 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - bl sub_80A78A0 - cmp r0, 0 - beq _080A5988 - ldr r2, _080A58B8 @ =gMain - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080A58C0 - ldr r4, _080A58BC @ =gUnknown_03000700 - ldrb r0, [r4] - cmp r0, 0 - beq _080A5988 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - b _080A58E2 - .align 2, 0 -_080A58B8: .4byte gMain -_080A58BC: .4byte gUnknown_03000700 -_080A58C0: - movs r0, 0x80 - ands r0, r1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0 - beq _080A58F4 - ldr r4, _080A58EC @ =gUnknown_03000700 - ldrb r1, [r4] - ldr r0, _080A58F0 @ =gUnknown_02038564 - ldrb r0, [r0] - subs r0, 0x1 - cmp r1, r0 - beq _080A5988 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 -_080A58E2: - bl MoveMenuCursor - strb r0, [r4] - b _080A5988 - .align 2, 0 -_080A58EC: .4byte gUnknown_03000700 -_080A58F0: .4byte gUnknown_02038564 -_080A58F4: - ldrh r1, [r2, 0x2E] - movs r2, 0x1 - ands r2, r1 - cmp r2, 0 - beq _080A5964 - ldr r1, _080A5948 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - strh r3, [r0, 0x1C] - ldr r1, _080A594C @ =gUnknown_03005D10 - ldr r0, _080A5950 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0] - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_80A48E8 - ldr r0, _080A5954 @ =gBGTilemapBuffers + 0x800 - bl sub_80A4DA4 - ldr r1, _080A5958 @ =gUnknown_083C1640 - ldr r0, _080A595C @ =gUnknown_03000700 - ldrb r2, [r0] - ldr r0, _080A5960 @ =gUnknown_03000704 - ldr r0, [r0] - adds r0, r2 - ldrb r0, [r0] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - b _080A5988 - .align 2, 0 -_080A5948: .4byte gTasks -_080A594C: .4byte gUnknown_03005D10 -_080A5950: .4byte gUnknown_02038559 -_080A5954: .4byte gBGTilemapBuffers + 0x800 -_080A5958: .4byte gUnknown_083C1640 -_080A595C: .4byte gUnknown_03000700 -_080A5960: .4byte gUnknown_03000704 -_080A5964: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080A5988 - ldr r1, _080A5990 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - strh r2, [r0, 0x1C] - ldr r0, _080A5994 @ =gBGTilemapBuffers + 0x800 - bl sub_80A4DA4 - ldr r0, _080A5998 @ =gUnknown_083C1640 - ldr r1, [r0, 0x14] - adds r0, r5, 0 - bl _call_via_r1 -_080A5988: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A5990: .4byte gTasks -_080A5994: .4byte gBGTilemapBuffers + 0x800 -_080A5998: .4byte gUnknown_083C1640 - thumb_func_end sub_80A5888 - - thumb_func_start sub_80A599C -sub_80A599C: @ 80A599C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080A59C4 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r3, _080A59C8 @ =sub_805469C - lsrs r2, r3, 16 - movs r4, 0 - strh r2, [r1, 0x18] - strh r3, [r1, 0x1A] - ldr r1, _080A59CC @ =gLastFieldPokeMenuOpened - strb r4, [r1] - bl sub_80A5AE4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A59C4: .4byte gTasks -_080A59C8: .4byte sub_805469C -_080A59CC: .4byte gLastFieldPokeMenuOpened - thumb_func_end sub_80A599C - - thumb_func_start sub_80A59D0 -sub_80A59D0: @ 80A59D0 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _080A5A3C @ =gUnknown_03000700 - movs r0, 0 - strb r0, [r1] - ldr r7, _080A5A40 @ =gUnknown_03000701 - ldrb r0, [r7] - cmp r0, 0x5 - bne _080A59E8 - movs r0, 0x1 - strb r0, [r1] -_080A59E8: - ldr r1, _080A5A44 @ =gTasks - lsls r4, r5, 2 - adds r0, r4, r5 - lsls r0, 3 - adds r6, r0, r1 - ldr r3, _080A5A48 @ =gUnknown_03005D10 - ldr r2, _080A5A4C @ =gUnknown_02038559 - movs r0, 0 - ldrsb r0, [r2, r0] - lsls r0, 2 - adds r0, r3 - ldrb r1, [r0, 0x1] - ldrb r0, [r0] - adds r1, r0 - adds r1, 0x1 - strh r1, [r6, 0x1C] - movs r0, 0 - ldrsb r0, [r2, r0] - lsls r0, 2 - adds r0, r3 - ldrb r2, [r0] - adds r0, r5, 0 - adds r1, r2, 0 - bl sub_80A48E8 - bl sub_80A73FC - bl sub_80F9344 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A5A54 - ldrb r0, [r7] - cmp r0, 0x5 - beq _080A5A54 - bl sub_80A57C4 - ldr r0, _080A5A50 @ =sub_80A5888 - str r0, [r6] - b _080A5A9C - .align 2, 0 -_080A5A3C: .4byte gUnknown_03000700 -_080A5A40: .4byte gUnknown_03000701 -_080A5A44: .4byte gTasks -_080A5A48: .4byte gUnknown_03005D10 -_080A5A4C: .4byte gUnknown_02038559 -_080A5A50: .4byte sub_80A5888 -_080A5A54: - ldr r0, _080A5A7C @ =gBGTilemapBuffers + 0x800 - bl sub_80A4BF0 - ldr r0, _080A5A80 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x3 - bne _080A5A6E - ldr r0, _080A5A84 @ =gUnknown_03000701 - ldrb r0, [r0] - cmp r0, 0x5 - bne _080A5A90 -_080A5A6E: - ldr r0, _080A5A88 @ =gTasks - adds r1, r4, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, _080A5A8C @ =sub_80A5414 - b _080A5A9A - .align 2, 0 -_080A5A7C: .4byte gBGTilemapBuffers + 0x800 -_080A5A80: .4byte gUnknown_02038559 -_080A5A84: .4byte gUnknown_03000701 -_080A5A88: .4byte gTasks -_080A5A8C: .4byte sub_80A5414 -_080A5A90: - ldr r0, _080A5AA4 @ =gTasks - adds r1, r4, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, _080A5AA8 @ =sub_80A5600 -_080A5A9A: - str r0, [r1] -_080A5A9C: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A5AA4: .4byte gTasks -_080A5AA8: .4byte sub_80A5600 - thumb_func_end sub_80A59D0 - - thumb_func_start sub_80A5AAC -sub_80A5AAC: @ 80A5AAC - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _080A5ADC @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080A5AE0 @ =HandleItemMenuPaletteFade - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A5ADC: .4byte gTasks -_080A5AE0: .4byte HandleItemMenuPaletteFade - thumb_func_end sub_80A5AAC - - thumb_func_start sub_80A5AE4 -sub_80A5AE4: @ 80A5AE4 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_80A5AAC - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A5AE4 - - thumb_func_start HandleItemMenuPaletteFade -HandleItemMenuPaletteFade: @ 80A5B00 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _080A5B38 @ =gTasks + 0x8 - adds r2, r0, r1 - ldr r0, _080A5B3C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080A5B32 - ldrh r0, [r2, 0x10] - lsls r0, 16 - ldrh r1, [r2, 0x12] - orrs r0, r1 - bl SetMainCallback2 - bl gpu_pal_allocator_reset__manage_upper_four - adds r0, r4, 0 - bl DestroyTask -_080A5B32: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A5B38: .4byte gTasks + 0x8 -_080A5B3C: .4byte gPaletteFade - thumb_func_end HandleItemMenuPaletteFade - - thumb_func_start sub_80A5B40 -sub_80A5B40: @ 80A5B40 - push {lr} -_080A5B42: - bl sub_80A317C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A5B68 - bl ResetTasks - ldr r0, _080A5B60 @ =sub_80A50C8 - movs r1, 0 - bl CreateTask - ldr r1, _080A5B64 @ =gUnknown_02038563 - strb r0, [r1] - b _080A5B74 - .align 2, 0 -_080A5B60: .4byte sub_80A50C8 -_080A5B64: .4byte gUnknown_02038563 -_080A5B68: - bl sub_80F9344 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A5B42 -_080A5B74: - pop {r0} - bx r0 - thumb_func_end sub_80A5B40 - - thumb_func_start sub_80A5B78 -sub_80A5B78: @ 80A5B78 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r5, _080A5BB0 @ =gScriptItemId - ldrh r0, [r5] - bl ItemId_GetFieldFunc - cmp r0, 0 - beq _080A5BF2 - movs r0, 0x5 - bl PlaySE - bl CalculatePlayerPartyCount - lsls r0, 24 - cmp r0, 0 - bne _080A5BB4 - ldrh r0, [r5] - bl ItemId_GetType - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A5BB4 - adds r0, r4, 0 - bl sub_80A5BF8 - b _080A5BF2 - .align 2, 0 -_080A5BB0: .4byte gScriptItemId -_080A5BB4: - ldr r1, _080A5BE0 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0xC] - ldr r0, _080A5BE4 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x3 - beq _080A5BEC - ldr r0, _080A5BE8 @ =gScriptItemId - ldrh r0, [r0] - bl ItemId_GetFieldFunc - adds r1, r0, 0 - adds r0, r4, 0 - bl _call_via_r1 - b _080A5BF2 - .align 2, 0 -_080A5BE0: .4byte gTasks -_080A5BE4: .4byte gUnknown_02038559 -_080A5BE8: .4byte gScriptItemId -_080A5BEC: - adds r0, r4, 0 - bl sub_80C9C7C -_080A5BF2: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80A5B78 - - thumb_func_start sub_80A5BF8 -sub_80A5BF8: @ 80A5BF8 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_80A73FC - bl sub_80A7590 - ldr r1, _080A5C1C @ =gOtherText_NoPokemon - ldr r2, _080A5C20 @ =CleanUpItemMenuMessage - adds r0, r4, 0 - movs r3, 0x1 - bl DisplayCannotUseItemMessage - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A5C1C: .4byte gOtherText_NoPokemon -_080A5C20: .4byte CleanUpItemMenuMessage - thumb_func_end sub_80A5BF8 - - thumb_func_start sub_80A5C24 -sub_80A5C24: @ 80A5C24 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - bl sub_80A7528 - adds r0, r4, 0 - bl sub_80A41D4 - bl ItemListMenu_InitMenu - adds r0, r4, 0 - bl sub_80A37C0 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A5C24 - - thumb_func_start CleanUpItemMenuMessage -CleanUpItemMenuMessage: @ 80A5C48 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080A5C90 @ =gBGTilemapBuffers + 0x800 - movs r1, 0x1F - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x1F - bl sub_80A36B8 - movs r0, 0x7 - movs r1, 0x7 - movs r2, 0xD - movs r3, 0xC - bl MenuZeroFillWindowRect - movs r0, 0 - movs r1, 0xE - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - ldr r1, _080A5C94 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080A5C98 @ =sub_80A5C24 - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A5C90: .4byte gBGTilemapBuffers + 0x800 -_080A5C94: .4byte gTasks -_080A5C98: .4byte sub_80A5C24 - thumb_func_end CleanUpItemMenuMessage - - thumb_func_start CleanUpOverworldMessage -CleanUpOverworldMessage: @ 80A5C9C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - movs r1, 0xD - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - adds r0, r4, 0 - bl DestroyTask - bl sub_8064E2C - bl ScriptContext2_Disable - pop {r4} - pop {r0} - bx r0 - thumb_func_end CleanUpOverworldMessage - - thumb_func_start ExecuteItemUseFromBlackPalette -ExecuteItemUseFromBlackPalette: @ 80A5CC4 - push {lr} - bl pal_fill_black - ldr r0, _080A5CD8 @ =Task_CallItemUseOnFieldCallback - movs r1, 0x8 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_080A5CD8: .4byte Task_CallItemUseOnFieldCallback - thumb_func_end ExecuteItemUseFromBlackPalette - - thumb_func_start Task_CallItemUseOnFieldCallback -Task_CallItemUseOnFieldCallback: @ 80A5CDC - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_807D770 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A5CF8 - ldr r0, _080A5D00 @ =gUnknown_03005D00 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 -_080A5CF8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A5D00: .4byte gUnknown_03005D00 - thumb_func_end Task_CallItemUseOnFieldCallback - - thumb_func_start sub_80A5D04 -sub_80A5D04: @ 80A5D04 - push {lr} -_080A5D06: - bl sub_80A317C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A5D28 - ldr r0, _080A5D20 @ =sub_80A50C8 - movs r1, 0 - bl CreateTask - ldr r1, _080A5D24 @ =gUnknown_02038563 - strb r0, [r1] - b _080A5D34 - .align 2, 0 -_080A5D20: .4byte sub_80A50C8 -_080A5D24: .4byte gUnknown_02038563 -_080A5D28: - bl sub_80F9344 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A5D06 -_080A5D34: - pop {r0} - bx r0 - thumb_func_end sub_80A5D04 - - thumb_func_start sub_80A5D38 -sub_80A5D38: @ 80A5D38 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _080A5D70 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0xA] - ldr r0, _080A5D74 @ =gBGTilemapBuffers + 0x800 - bl sub_80A4DA4 - movs r0, 0 - bl sub_80A7528 - adds r0, r4, 0 - bl sub_80A41D4 - bl ItemListMenu_InitMenu - adds r0, r4, 0 - bl sub_80A37C0 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A5D70: .4byte gTasks -_080A5D74: .4byte gBGTilemapBuffers + 0x800 - thumb_func_end sub_80A5D38 - - thumb_func_start sub_80A5D78 -sub_80A5D78: @ 80A5D78 - push {lr} - sub sp, 0x4 - ldr r0, _080A5D9C @ =gBGTilemapBuffers + 0x800 - movs r1, 0x4 - str r1, [sp] - movs r1, 0x8 - movs r2, 0x8 - movs r3, 0x5 - bl sub_80A4008 - movs r0, 0x7 - movs r1, 0x7 - movs r2, 0x1 - bl DisplayYesNoMenu - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080A5D9C: .4byte gBGTilemapBuffers + 0x800 - thumb_func_end sub_80A5D78 - - thumb_func_start sub_80A5DA0 -sub_80A5DA0: @ 80A5DA0 - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - lsls r1, 16 - lsrs r4, r1, 16 - ldr r1, _080A5DC4 @ =gStringVar1 - bl CopyItemName - cmp r4, 0x63 - bls _080A5DCC - ldr r0, _080A5DC8 @ =gStringVar2 - adds r1, r4, 0 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - b _080A5DD8 - .align 2, 0 -_080A5DC4: .4byte gStringVar1 -_080A5DC8: .4byte gStringVar2 -_080A5DCC: - ldr r0, _080A5DF0 @ =gStringVar2 - adds r1, r4, 0 - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN -_080A5DD8: - ldr r0, _080A5DF4 @ =gBGTilemapBuffers + 0x800 - bl sub_80A4DA4 - movs r0, 0x5 - bl sub_80A7528 - bl sub_80A5D78 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A5DF0: .4byte gStringVar2 -_080A5DF4: .4byte gBGTilemapBuffers + 0x800 - thumb_func_end sub_80A5DA0 - - thumb_func_start sub_80A5DF8 -sub_80A5DF8: @ 80A5DF8 - push {lr} - ldr r0, _080A5E18 @ =gBGTilemapBuffers + 0x800 - bl sub_80A4DA4 - movs r0, 0x7 - movs r1, 0x6 - movs r2, 0xB - movs r3, 0xD - bl MenuZeroFillWindowRect - movs r0, 0x4 - bl sub_80A7528 - pop {r0} - bx r0 - .align 2, 0 -_080A5E18: .4byte gBGTilemapBuffers + 0x800 - thumb_func_end sub_80A5DF8 - - thumb_func_start sub_80A5E1C -sub_80A5E1C: @ 80A5E1C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080A5E58 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080A5E36 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080A5E50 -_080A5E36: - ldr r0, _080A5E5C @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - movs r0, 0 - strh r0, [r1, 0x1C] - adds r0, r4, 0 - bl sub_80A41D4 - adds r0, r4, 0 - bl sub_80A5D38 -_080A5E50: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A5E58: .4byte gMain -_080A5E5C: .4byte gTasks - thumb_func_end sub_80A5E1C - - thumb_func_start sub_80A5E60 -sub_80A5E60: @ 80A5E60 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_80A5DF8 - adds r0, r4, 0 - bl sub_80A3D5C - ldr r1, _080A5E88 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080A5E8C @ =sub_80A5E1C - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A5E88: .4byte gTasks -_080A5E8C: .4byte sub_80A5E1C - thumb_func_end sub_80A5E60 - - thumb_func_start sub_80A5E90 -sub_80A5E90: @ 80A5E90 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_80A5D38 - pop {r0} - bx r0 - thumb_func_end sub_80A5E90 - - thumb_func_start sub_80A5EA0 -sub_80A5EA0: @ 80A5EA0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - adds r0, r4, 0 - bl sub_80A5350 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080A5F0C - ldr r0, _080A5EE8 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080A5EF8 - movs r0, 0x5 - bl PlaySE - ldr r0, _080A5EEC @ =gScriptItemId - ldrh r0, [r0] - ldr r2, _080A5EF0 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r2 - ldrh r1, [r1, 0xA] - bl sub_80A5DA0 - ldr r1, _080A5EF4 @ =gUnknown_083C16F4 - adds r0, r4, 0 - bl DoYesNoFuncWithChoice - b _080A5F0C - .align 2, 0 -_080A5EE8: .4byte gMain -_080A5EEC: .4byte gScriptItemId -_080A5EF0: .4byte gTasks -_080A5EF4: .4byte gUnknown_083C16F4 -_080A5EF8: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080A5F0C - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - bl sub_80A5D38 -_080A5F0C: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80A5EA0 - - thumb_func_start sub_80A5F14 -sub_80A5F14: @ 80A5F14 - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x5 - bl PlaySE - ldr r1, _080A5F58 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080A5F5C @ =sub_80A5EA0 - str r1, [r0] - movs r0, 0x3 - bl sub_80A7528 - ldr r0, _080A5F60 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x3 - bne _080A5F64 - movs r0, 0x3 - str r0, [sp] - str r0, [sp, 0x4] - adds r0, r4, 0 - movs r1, 0x6 - movs r2, 0x9 - movs r3, 0x7 - bl sub_80A4DD8 - b _080A5F78 - .align 2, 0 -_080A5F58: .4byte gTasks -_080A5F5C: .4byte sub_80A5EA0 -_080A5F60: .4byte gUnknown_02038559 -_080A5F64: - movs r0, 0x3 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - adds r0, r4, 0 - movs r1, 0x7 - movs r2, 0x9 - movs r3, 0x6 - bl sub_80A4DD8 -_080A5F78: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A5F14 - - thumb_func_start sub_80A5F80 -sub_80A5F80: @ 80A5F80 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x5 - bl PlaySE - movs r0, 0 - bl sub_80A7528 - adds r0, r4, 0 - bl sub_80A41D4 - bl ItemListMenu_InitMenu - adds r0, r4, 0 - bl sub_80A37C0 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A5F80 - - thumb_func_start sub_80A5FAC -sub_80A5FAC: @ 80A5FAC - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - movs r0, 0x5 - bl PlaySE - ldr r0, _080A5FD0 @ =gSaveBlock1 - ldr r1, _080A5FD4 @ =0x00000496 - adds r4, r0, r1 - ldr r5, _080A5FD8 @ =gScriptItemId - ldrh r0, [r4] - ldrh r1, [r5] - cmp r0, r1 - bne _080A5FDC - bl sub_80A40D0 - movs r0, 0 - b _080A5FE2 - .align 2, 0 -_080A5FD0: .4byte gSaveBlock1 -_080A5FD4: .4byte 0x00000496 -_080A5FD8: .4byte gScriptItemId -_080A5FDC: - bl sub_80A413C - ldrh r0, [r5] -_080A5FE2: - strh r0, [r4] - movs r0, 0 - bl sub_80A7528 - adds r0, r6, 0 - bl sub_80A41D4 - bl ItemListMenu_InitMenu - adds r0, r6, 0 - bl sub_80A37C0 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80A5FAC - - thumb_func_start sub_80A6000 -sub_80A6000: @ 80A6000 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - bl sub_80A7528 - adds r0, r4, 0 - bl sub_80A41D4 - bl ItemListMenu_InitMenu - adds r0, r4, 0 - bl sub_80A37C0 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A6000 - - thumb_func_start sub_80A6024 -sub_80A6024: @ 80A6024 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080A606C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080A6062 - ldr r0, _080A6070 @ =gBGTilemapBuffers + 0x800 - movs r1, 0x1F - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x1F - bl sub_80A36B8 - movs r0, 0 - movs r1, 0xE - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - ldr r1, _080A6074 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080A6078 @ =sub_80A6000 - str r1, [r0] -_080A6062: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A606C: .4byte gMain -_080A6070: .4byte gBGTilemapBuffers + 0x800 -_080A6074: .4byte gTasks -_080A6078: .4byte sub_80A6000 - thumb_func_end sub_80A6024 - - thumb_func_start DisplayCannotBeHeldMessage -DisplayCannotBeHeldMessage: @ 80A607C - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_80A73FC - ldr r0, _080A60B4 @ =gScriptItemId - ldrh r0, [r0] - ldr r1, _080A60B8 @ =gStringVar1 - bl CopyItemName - ldr r5, _080A60BC @ =gStringVar4 - ldr r1, _080A60C0 @ =gOtherText_CantBeHeld - adds r0, r5, 0 - bl StringExpandPlaceholders - bl sub_80A7590 - ldr r2, _080A60C4 @ =sub_80A6024 - adds r0, r4, 0 - adds r1, r5, 0 - movs r3, 0x1 - bl DisplayCannotUseItemMessage - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A60B4: .4byte gScriptItemId -_080A60B8: .4byte gStringVar1 -_080A60BC: .4byte gStringVar4 -_080A60C0: .4byte gOtherText_CantBeHeld -_080A60C4: .4byte sub_80A6024 - thumb_func_end DisplayCannotBeHeldMessage - - thumb_func_start ItemMenu_Give -ItemMenu_Give: @ 80A60C8 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - adds r6, r4, 0 - movs r0, 0x5 - bl PlaySE - ldr r5, _080A60FC @ =gScriptItemId - ldrh r0, [r5] - bl sub_80F931C - lsls r0, 24 - cmp r0, 0 - bne _080A6108 - bl sub_80A73FC - bl sub_80A7590 - ldr r1, _080A6100 @ =gOtherText_CantWriteMail - ldr r2, _080A6104 @ =sub_80A6024 - adds r0, r4, 0 - movs r3, 0x1 - bl DisplayCannotUseItemMessage - b _080A616E - .align 2, 0 -_080A60FC: .4byte gScriptItemId -_080A6100: .4byte gOtherText_CantWriteMail -_080A6104: .4byte sub_80A6024 -_080A6108: - ldrh r0, [r5] - bl ItemId_GetImportance - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _080A6168 - bl CalculatePlayerPartyCount - lsls r0, 24 - cmp r0, 0 - bne _080A6128 - adds r0, r4, 0 - bl sub_80A5BF8 - b _080A616E -_080A6128: - ldr r1, _080A6158 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r2, _080A615C @ =sub_808B020 - lsrs r1, r2, 16 - strh r1, [r0, 0x18] - strh r2, [r0, 0x1A] - ldr r1, _080A6160 @ =HandleItemMenuPaletteFade - str r1, [r0] - ldr r1, _080A6164 @ =gUnknown_02038561 - movs r0, 0x1 - strb r0, [r1] - movs r0, 0x1 - negs r0, r0 - str r5, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _080A616E - .align 2, 0 -_080A6158: .4byte gTasks -_080A615C: .4byte sub_808B020 -_080A6160: .4byte HandleItemMenuPaletteFade -_080A6164: .4byte gUnknown_02038561 -_080A6168: - adds r0, r6, 0 - bl DisplayCannotBeHeldMessage -_080A616E: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end ItemMenu_Give - - thumb_func_start sub_80A6178 -sub_80A6178: @ 80A6178 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl sub_80A5AE4 - ldr r1, _080A61A0 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r2, _080A61A4 @ =BerryTagScreen_814625C - lsrs r1, r2, 16 - strh r1, [r0, 0x18] - strh r2, [r0, 0x1A] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A61A0: .4byte gTasks -_080A61A4: .4byte BerryTagScreen_814625C - thumb_func_end sub_80A6178 - - thumb_func_start sub_80A61A8 -sub_80A61A8: @ 80A61A8 - push {lr} - bl sub_80A34B4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A61C2 - ldr r0, _080A61C8 @ =sub_80A50C8 - movs r1, 0 - bl CreateTask - ldr r1, _080A61CC @ =gUnknown_02038563 - strb r0, [r1] -_080A61C2: - pop {r0} - bx r0 - .align 2, 0 -_080A61C8: .4byte sub_80A50C8 -_080A61CC: .4byte gUnknown_02038563 - thumb_func_end sub_80A61A8 - - thumb_func_start sub_80A61D0 -sub_80A61D0: @ 80A61D0 - push {lr} - ldr r0, _080A61E4 @ =gUnknown_03000701 - movs r1, 0x2 - strb r1, [r0] - ldr r0, _080A61E8 @ =sub_80A61A8 - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_080A61E4: .4byte gUnknown_03000701 -_080A61E8: .4byte sub_80A61A8 - thumb_func_end sub_80A61D0 - - thumb_func_start sub_80A61EC -sub_80A61EC: @ 80A61EC - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080A620C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r3, _080A6210 @ =sub_808A3F8 - lsrs r2, r3, 16 - strh r2, [r1, 0x18] - strh r3, [r1, 0x1A] - bl sub_80A5AE4 - pop {r0} - bx r0 - .align 2, 0 -_080A620C: .4byte gTasks -_080A6210: .4byte sub_808A3F8 - thumb_func_end sub_80A61EC - - thumb_func_start sub_80A6214 -sub_80A6214: @ 80A6214 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _080A6244 @ =gUnknown_02038559 - ldrb r0, [r0] - adds r0, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r4, _080A6248 @ =gScriptItemId - ldrh r0, [r4] - bl sub_80F931C - lsls r0, 24 - cmp r0, 0 - bne _080A6254 - bl sub_80A73FC - bl sub_80A7590 - ldr r1, _080A624C @ =gOtherText_CantWriteMail - ldr r2, _080A6250 @ =sub_80A6024 - adds r0, r5, 0 - b _080A6280 - .align 2, 0 -_080A6244: .4byte gUnknown_02038559 -_080A6248: .4byte gScriptItemId -_080A624C: .4byte gOtherText_CantWriteMail -_080A6250: .4byte sub_80A6024 -_080A6254: - ldrh r0, [r4] - bl sub_80F92F4 - lsls r0, 24 - cmp r0, 0 - bne _080A6298 - bl sub_80A73FC - ldrh r0, [r4] - ldr r1, _080A6288 @ =gStringVar1 - bl CopyItemName - ldr r4, _080A628C @ =gStringVar4 - ldr r1, _080A6290 @ =gOtherText_CantBeHeldHere - adds r0, r4, 0 - bl StringExpandPlaceholders - bl sub_80A7590 - ldr r2, _080A6294 @ =sub_80A6024 - adds r0, r5, 0 - adds r1, r4, 0 -_080A6280: - movs r3, 0x1 - bl DisplayCannotUseItemMessage - b _080A62D2 - .align 2, 0 -_080A6288: .4byte gStringVar1 -_080A628C: .4byte gStringVar4 -_080A6290: .4byte gOtherText_CantBeHeldHere -_080A6294: .4byte sub_80A6024 -_080A6298: - cmp r6, 0x5 - beq _080A62CC - ldrh r0, [r4] - bl ItemId_GetImportance - lsls r0, 24 - cmp r0, 0 - bne _080A62CC - ldr r1, _080A62C4 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r2, _080A62C8 @ =sub_808A3F8 - lsrs r1, r2, 16 - strh r1, [r0, 0x18] - strh r2, [r0, 0x1A] - adds r0, r5, 0 - bl sub_80A5AAC - b _080A62D2 - .align 2, 0 -_080A62C4: .4byte gTasks -_080A62C8: .4byte sub_808A3F8 -_080A62CC: - adds r0, r5, 0 - bl DisplayCannotBeHeldMessage -_080A62D2: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80A6214 - - thumb_func_start sub_80A62D8 -sub_80A62D8: @ 80A62D8 - push {lr} - bl sub_80A34B4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A62F2 - ldr r0, _080A62F8 @ =sub_80A50C8 - movs r1, 0 - bl CreateTask - ldr r1, _080A62FC @ =gUnknown_02038563 - strb r0, [r1] -_080A62F2: - pop {r0} - bx r0 - .align 2, 0 -_080A62F8: .4byte sub_80A50C8 -_080A62FC: .4byte gUnknown_02038563 - thumb_func_end sub_80A62D8 - - thumb_func_start sub_80A6300 -sub_80A6300: @ 80A6300 - push {lr} - ldr r0, _080A6314 @ =gUnknown_03000701 - movs r1, 0x3 - strb r1, [r0] - ldr r0, _080A6318 @ =sub_80A62D8 - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_080A6314: .4byte gUnknown_03000701 -_080A6318: .4byte sub_80A62D8 - thumb_func_end sub_80A6300 - - thumb_func_start sub_80A631C -sub_80A631C: @ 80A631C - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080A6344 @ =gFieldCallback - ldr r1, _080A6348 @ =sub_80B3050 - str r1, [r2] - ldr r2, _080A634C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r3, _080A6350 @ =c2_exit_to_overworld_2_switch - lsrs r2, r3, 16 - strh r2, [r1, 0x18] - strh r3, [r1, 0x1A] - bl sub_80A5AE4 - pop {r0} - bx r0 - .align 2, 0 -_080A6344: .4byte gFieldCallback -_080A6348: .4byte sub_80B3050 -_080A634C: .4byte gTasks -_080A6350: .4byte c2_exit_to_overworld_2_switch - thumb_func_end sub_80A631C - - thumb_func_start sub_80A6354 -sub_80A6354: @ 80A6354 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - bl sub_80A7590 - ldr r0, _080A63C4 @ =gTasks - lsls r2, r5, 2 - adds r2, r5 - lsls r2, 3 - adds r2, r0 - ldr r4, _080A63C8 @ =gUnknown_03005D10 - ldr r3, _080A63CC @ =gUnknown_02038559 - movs r0, 0 - ldrsb r0, [r3, r0] - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x1] - ldrb r0, [r0] - adds r1, r0 - adds r1, 0x1 - strh r1, [r2, 0x1C] - movs r0, 0 - ldrsb r0, [r3, r0] - lsls r0, 2 - adds r0, r4 - ldrb r2, [r0] - adds r0, r5, 0 - adds r1, r2, 0 - bl sub_80A48E8 - bl sub_80A73FC - ldr r4, _080A63D0 @ =gScriptItemId - ldrh r0, [r4] - ldr r1, _080A63D4 @ =gStringVar2 - bl CopyItemName - ldrh r0, [r4] - bl ItemId_GetPrice - lsls r0, 16 - cmp r0, 0 - bne _080A63E4 - ldr r4, _080A63D8 @ =gStringVar4 - ldr r1, _080A63DC @ =gOtherText_CantBuyThat - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r2, _080A63E0 @ =sub_80A6444 - adds r0, r5, 0 - adds r1, r4, 0 - movs r3, 0x1 - bl DisplayCannotUseItemMessage - b _080A63FA - .align 2, 0 -_080A63C4: .4byte gTasks -_080A63C8: .4byte gUnknown_03005D10 -_080A63CC: .4byte gUnknown_02038559 -_080A63D0: .4byte gScriptItemId -_080A63D4: .4byte gStringVar2 -_080A63D8: .4byte gStringVar4 -_080A63DC: .4byte gOtherText_CantBuyThat -_080A63E0: .4byte sub_80A6444 -_080A63E4: - ldr r4, _080A6400 @ =gStringVar4 - ldr r1, _080A6404 @ =gOtherText_HowManyToSell - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r2, _080A6408 @ =sub_80A648C - adds r0, r5, 0 - adds r1, r4, 0 - movs r3, 0x1 - bl DisplayCannotUseItemMessage -_080A63FA: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A6400: .4byte gStringVar4 -_080A6404: .4byte gOtherText_HowManyToSell -_080A6408: .4byte sub_80A648C - thumb_func_end sub_80A6354 - - thumb_func_start sub_80A640C -sub_80A640C: @ 80A640C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _080A6440 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x1C] - movs r0, 0 - bl sub_80A7528 - adds r0, r4, 0 - bl sub_80A41D4 - bl ItemListMenu_InitMenu - adds r0, r4, 0 - bl sub_80A37C0 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A6440: .4byte gTasks - thumb_func_end sub_80A640C - - thumb_func_start sub_80A6444 -sub_80A6444: @ 80A6444 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080A6480 @ =gBGTilemapBuffers + 0x800 - movs r1, 0x1F - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x1F - bl sub_80A36B8 - movs r0, 0 - movs r1, 0xE - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - ldr r1, _080A6484 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080A6488 @ =sub_80A640C - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A6480: .4byte gBGTilemapBuffers + 0x800 -_080A6484: .4byte gTasks -_080A6488: .4byte sub_80A640C - thumb_func_end sub_80A6444 - - thumb_func_start sub_80A648C -sub_80A648C: @ 80A648C - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080A64E8 @ =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - ldr r0, _080A64EC @ =Task_BuyHowManyDialogueHandleInput - str r0, [r4] - ldr r0, _080A64F0 @ =gBGTilemapBuffers + 0x800 - movs r5, 0x2 - str r5, [sp] - movs r1, 0x1 - movs r2, 0xB - movs r3, 0xC - bl sub_80A4008 - movs r0, 0 - movs r1, 0xA - movs r2, 0xD - movs r3, 0xD - bl MenuDrawTextWindow - movs r0, 0x1 - strh r0, [r4, 0xA] - strh r0, [r4, 0xC] - movs r0, 0xB - strh r0, [r4, 0xE] - ldr r0, _080A64F4 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x3 - bne _080A64F8 - movs r0, 0x3 - str r0, [sp] - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0x1 - movs r3, 0xB - bl sub_80A418C - b _080A6506 - .align 2, 0 -_080A64E8: .4byte gTasks -_080A64EC: .4byte Task_BuyHowManyDialogueHandleInput -_080A64F0: .4byte gBGTilemapBuffers + 0x800 -_080A64F4: .4byte gUnknown_02038559 -_080A64F8: - str r5, [sp] - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0x1 - movs r3, 0xB - bl sub_80A418C -_080A6506: - ldr r0, _080A651C @ =gScriptItemId - ldrh r0, [r0] - movs r1, 0x1 - bl BuyMenuDisplayMessage - bl sub_80A683C - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A651C: .4byte gScriptItemId - thumb_func_end sub_80A648C - - thumb_func_start sub_80A6520 -sub_80A6520: @ 80A6520 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080A6544 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080A653E - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl BuyMenuPrintItemQuantityAndPrice -_080A653E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A6544: .4byte gMain - thumb_func_end sub_80A6520 - - thumb_func_start sub_80A6548 -sub_80A6548: @ 80A6548 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl sub_80A48F8 - ldr r1, _080A656C @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080A6570 @ =sub_80A6520 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A656C: .4byte gTasks -_080A6570: .4byte sub_80A6520 - thumb_func_end sub_80A6548 - - thumb_func_start sub_80A6574 -sub_80A6574: @ 80A6574 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - movs r0, 0x5F - bl PlaySE - ldr r0, _080A65A0 @ =gScriptItemId - ldrh r0, [r0] - ldr r1, _080A65A4 @ =gTasks - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r1 - ldrb r1, [r4, 0xA] - bl sub_80A6870 - ldr r0, _080A65A8 @ =sub_80A6548 - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A65A0: .4byte gScriptItemId -_080A65A4: .4byte gTasks -_080A65A8: .4byte sub_80A6548 - thumb_func_end sub_80A6574 - - thumb_func_start sub_80A65AC -sub_80A65AC: @ 80A65AC - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - movs r0, 0x7 - movs r1, 0x6 - movs r2, 0xD - movs r3, 0xC - bl MenuZeroFillWindowRect - ldr r0, _080A6600 @ =gBGTilemapBuffers + 0x800 - movs r1, 0x6 - str r1, [sp] - movs r1, 0x7 - movs r2, 0x6 - movs r3, 0x6 - bl sub_80A36B8 - ldr r0, _080A6604 @ =gScriptItemId - ldrh r0, [r0] - ldr r1, _080A6608 @ =gStringVar2 - bl CopyItemName - ldr r4, _080A660C @ =gStringVar4 - ldr r1, _080A6610 @ =gOtherText_SoldItem - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r2, _080A6614 @ =sub_80A6574 - adds r0, r5, 0 - adds r1, r4, 0 - movs r3, 0x1 - bl DisplayCannotUseItemMessage - adds r0, r5, 0 - bl sub_80A3D5C - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A6600: .4byte gBGTilemapBuffers + 0x800 -_080A6604: .4byte gScriptItemId -_080A6608: .4byte gStringVar2 -_080A660C: .4byte gStringVar4 -_080A6610: .4byte gOtherText_SoldItem -_080A6614: .4byte sub_80A6574 - thumb_func_end sub_80A65AC - - thumb_func_start sub_80A6618 -sub_80A6618: @ 80A6618 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x7 - movs r1, 0x6 - movs r2, 0xD - movs r3, 0xC - bl MenuZeroFillWindowRect - ldr r0, _080A664C @ =gBGTilemapBuffers + 0x800 - movs r1, 0x6 - str r1, [sp] - movs r1, 0x7 - movs r2, 0x6 - movs r3, 0x6 - bl sub_80A36B8 - adds r0, r4, 0 - bl BuyMenuPrintItemQuantityAndPrice - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A664C: .4byte gBGTilemapBuffers + 0x800 - thumb_func_end sub_80A6618 - - thumb_func_start sub_80A6650 -sub_80A6650: @ 80A6650 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_80A5D78 - ldr r1, _080A666C @ =gUnknown_083C16FC - adds r0, r4, 0 - bl DoYesNoFuncWithChoice - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A666C: .4byte gUnknown_083C16FC - thumb_func_end sub_80A6650 - - thumb_func_start Task_BuyHowManyDialogueHandleInput -Task_BuyHowManyDialogueHandleInput: @ 80A6670 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, r5, 0 - adds r0, r5, 0 - bl sub_80A5350 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A66B4 - movs r0, 0x6 - movs r1, 0xB - movs r2, 0xC - movs r3, 0xB - bl MenuZeroFillWindowRect - ldr r0, _080A66AC @ =gScriptItemId - ldrh r0, [r0] - ldr r2, _080A66B0 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r2 - ldrh r1, [r1, 0xA] - bl BuyMenuDisplayMessage - b _080A6758 - .align 2, 0 -_080A66AC: .4byte gScriptItemId -_080A66B0: .4byte gTasks -_080A66B4: - ldr r0, _080A6724 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080A6744 - movs r0, 0x5 - bl PlaySE - movs r0, 0 - movs r1, 0xA - movs r2, 0xD - movs r3, 0xD - bl MenuZeroFillWindowRect - ldr r0, _080A6728 @ =gBGTilemapBuffers + 0x800 - movs r1, 0x3 - str r1, [sp] - movs r1, 0 - movs r2, 0xA - movs r3, 0xD - bl sub_80A36B8 - ldr r4, _080A672C @ =gStringVar1 - ldr r0, _080A6730 @ =gScriptItemId - ldrh r0, [r0] - bl ItemId_GetPrice - lsls r0, 16 - lsrs r0, 17 - ldr r2, _080A6734 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r2 - movs r2, 0xA - ldrsh r1, [r1, r2] - muls r1, r0 - adds r0, r4, 0 - movs r2, 0 - movs r3, 0x6 - bl ConvertIntToDecimalStringN - ldr r4, _080A6738 @ =gStringVar4 - ldr r1, _080A673C @ =gOtherText_CanPay - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r2, _080A6740 @ =sub_80A6650 - adds r0, r5, 0 - adds r1, r4, 0 - movs r3, 0x1 - bl DisplayCannotUseItemMessage - b _080A6758 - .align 2, 0 -_080A6724: .4byte gMain -_080A6728: .4byte gBGTilemapBuffers + 0x800 -_080A672C: .4byte gStringVar1 -_080A6730: .4byte gScriptItemId -_080A6734: .4byte gTasks -_080A6738: .4byte gStringVar4 -_080A673C: .4byte gOtherText_CanPay -_080A6740: .4byte sub_80A6650 -_080A6744: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080A6758 - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl BuyMenuPrintItemQuantityAndPrice -_080A6758: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end Task_BuyHowManyDialogueHandleInput - - thumb_func_start sub_80A6760 -sub_80A6760: @ 80A6760 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _080A6794 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x1C] - movs r0, 0 - bl sub_80A7528 - adds r0, r4, 0 - bl sub_80A41D4 - bl ItemListMenu_InitMenu - adds r0, r4, 0 - bl sub_80A37C0 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A6794: .4byte gTasks - thumb_func_end sub_80A6760 - - thumb_func_start BuyMenuPrintItemQuantityAndPrice -BuyMenuPrintItemQuantityAndPrice: @ 80A6798 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080A67E8 @ =gBGTilemapBuffers + 0x800 - movs r1, 0x1F - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x1F - bl sub_80A36B8 - movs r0, 0 - movs r1, 0 - bl RemoveMoneyLabelObject - movs r0, 0 - movs r1, 0x4 - movs r2, 0xD - movs r3, 0xD - bl MenuZeroFillWindowRect - movs r0, 0 - movs r1, 0xE - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - ldr r1, _080A67EC @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080A67F0 @ =sub_80A6760 - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A67E8: .4byte gBGTilemapBuffers + 0x800 -_080A67EC: .4byte gTasks -_080A67F0: .4byte sub_80A6760 - thumb_func_end BuyMenuPrintItemQuantityAndPrice - - thumb_func_start BuyMenuDisplayMessage -BuyMenuDisplayMessage: @ 80A67F4 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - adds r0, r4, 0 - bl ItemId_GetPrice - lsls r0, 16 - lsrs r0, 17 - muls r0, r5 - movs r1, 0x6 - movs r2, 0x6 - movs r3, 0xB - bl sub_80B7A94 - ldr r6, _080A6838 @ =gStringVar1 - adds r0, r4, 0 - bl ItemId_GetPrice - lsls r0, 16 - lsrs r0, 17 - adds r1, r0, 0 - muls r1, r5 - adds r0, r6, 0 - movs r2, 0 - movs r3, 0x6 - bl ConvertIntToDecimalStringN - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A6838: .4byte gStringVar1 - thumb_func_end BuyMenuDisplayMessage - - thumb_func_start sub_80A683C -sub_80A683C: @ 80A683C - push {lr} - sub sp, 0x4 - ldr r0, _080A6868 @ =gSaveBlock1 - movs r1, 0x92 - lsls r1, 3 - adds r0, r1 - ldr r0, [r0] - movs r1, 0 - movs r2, 0 - bl sub_80B7C14 - ldr r0, _080A686C @ =gBGTilemapBuffers + 0x800 - movs r1, 0x2 - str r1, [sp] - movs r1, 0x1 - movs r2, 0x1 - movs r3, 0xC - bl sub_80A4008 - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080A6868: .4byte gSaveBlock1 -_080A686C: .4byte gBGTilemapBuffers + 0x800 - thumb_func_end sub_80A683C - - thumb_func_start sub_80A6870 -sub_80A6870: @ 80A6870 - push {r4,r5,lr} - adds r4, r1, 0 - lsls r0, 16 - lsrs r0, 16 - lsls r4, 24 - lsrs r4, 24 - ldr r5, _080A68A0 @ =gSaveBlock1 + 0x490 - bl ItemId_GetPrice - lsls r0, 16 - lsrs r0, 17 - adds r1, r0, 0 - muls r1, r4 - adds r0, r5, 0 - bl sub_80B79B8 - ldr r0, [r5] - movs r1, 0 - movs r2, 0 - bl sub_80B7BEC - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A68A0: .4byte gSaveBlock1 + 0x490 - thumb_func_end sub_80A6870 - - thumb_func_start sub_80A68A4 -sub_80A68A4: @ 80A68A4 - push {lr} - bl sub_80A34B4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A68BE - ldr r0, _080A68C4 @ =sub_80A50C8 - movs r1, 0 - bl CreateTask - ldr r1, _080A68C8 @ =gUnknown_02038563 - strb r0, [r1] -_080A68BE: - pop {r0} - bx r0 - .align 2, 0 -_080A68C4: .4byte sub_80A50C8 -_080A68C8: .4byte gUnknown_02038563 - thumb_func_end sub_80A68A4 - - thumb_func_start sub_80A68CC -sub_80A68CC: @ 80A68CC - push {lr} - ldr r1, _080A68E4 @ =gUnknown_02038559 - movs r0, 0x3 - strb r0, [r1] - ldr r1, _080A68E8 @ =gUnknown_03000701 - movs r0, 0x4 - strb r0, [r1] - ldr r0, _080A68EC @ =sub_80A68A4 - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_080A68E4: .4byte gUnknown_02038559 -_080A68E8: .4byte gUnknown_03000701 -_080A68EC: .4byte sub_80A68A4 - thumb_func_end sub_80A68CC - - thumb_func_start sub_80A68F0 -sub_80A68F0: @ 80A68F0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080A6910 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r3, _080A6914 @ =sub_80546B8 - lsrs r2, r3, 16 - strh r2, [r1, 0x18] - strh r3, [r1, 0x1A] - bl sub_80A5AE4 - pop {r0} - bx r0 - .align 2, 0 -_080A6910: .4byte gTasks -_080A6914: .4byte sub_80546B8 - thumb_func_end sub_80A68F0 - - thumb_func_start sub_80A6918 -sub_80A6918: @ 80A6918 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080A6938 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r3, _080A693C @ =sub_80546B8 - lsrs r2, r3, 16 - strh r2, [r1, 0x18] - strh r3, [r1, 0x1A] - bl sub_80A5AAC - pop {r0} - bx r0 - .align 2, 0 -_080A6938: .4byte gTasks -_080A693C: .4byte sub_80546B8 - thumb_func_end sub_80A6918 - - thumb_func_start sub_80A6940 -sub_80A6940: @ 80A6940 - push {lr} -_080A6942: - bl sub_80A317C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A6968 - ldr r0, _080A6960 @ =sub_80A50C8 - movs r1, 0 - bl CreateTask - ldr r1, _080A6964 @ =gUnknown_02038563 - strb r0, [r1] - bl sub_80A699C - b _080A6974 - .align 2, 0 -_080A6960: .4byte sub_80A50C8 -_080A6964: .4byte gUnknown_02038563 -_080A6968: - bl sub_80F9344 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A6942 -_080A6974: - pop {r0} - bx r0 - thumb_func_end sub_80A6940 - - thumb_func_start sub_80A6978 -sub_80A6978: @ 80A6978 - push {lr} - ldr r1, _080A6990 @ =gUnknown_02038559 - movs r0, 0x3 - strb r0, [r1] - ldr r1, _080A6994 @ =gUnknown_03000701 - movs r0, 0x5 - strb r0, [r1] - ldr r0, _080A6998 @ =sub_80A6940 - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_080A6990: .4byte gUnknown_02038559 -_080A6994: .4byte gUnknown_03000701 -_080A6998: .4byte sub_80A6940 - thumb_func_end sub_80A6978 - - thumb_func_start sub_80A699C -sub_80A699C: @ 80A699C - ldr r1, _080A69AC @ =gUnknown_03000704 - ldr r0, _080A69B0 @ =gUnknown_083C16B8 - str r0, [r1] - ldr r1, _080A69B4 @ =gUnknown_02038564 - movs r0, 0x4 - strb r0, [r1] - bx lr - .align 2, 0 -_080A69AC: .4byte gUnknown_03000704 -_080A69B0: .4byte gUnknown_083C16B8 -_080A69B4: .4byte gUnknown_02038564 - thumb_func_end sub_80A699C - - thumb_func_start sub_80A69B8 -sub_80A69B8: @ 80A69B8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080A69D8 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r3, _080A69DC @ =sub_804E990 - lsrs r2, r3, 16 - strh r2, [r1, 0x18] - strh r3, [r1, 0x1A] - bl sub_80A5AE4 - pop {r0} - bx r0 - .align 2, 0 -_080A69D8: .4byte gTasks -_080A69DC: .4byte sub_804E990 - thumb_func_end sub_80A69B8 - - thumb_func_start sub_80A69E0 -sub_80A69E0: @ 80A69E0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080A6A00 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r3, _080A6A04 @ =sub_804E990 - lsrs r2, r3, 16 - strh r2, [r1, 0x18] - strh r3, [r1, 0x1A] - bl sub_80A5AAC - pop {r0} - bx r0 - .align 2, 0 -_080A6A00: .4byte gTasks -_080A6A04: .4byte sub_804E990 - thumb_func_end sub_80A69E0 - - thumb_func_start sub_80A6A08 -sub_80A6A08: @ 80A6A08 - push {lr} - bl sub_80A34B4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A6A22 - ldr r0, _080A6A28 @ =sub_80A50C8 - movs r1, 0 - bl CreateTask - ldr r1, _080A6A2C @ =gUnknown_02038563 - strb r0, [r1] -_080A6A22: - pop {r0} - bx r0 - .align 2, 0 -_080A6A28: .4byte sub_80A50C8 -_080A6A2C: .4byte gUnknown_02038563 - thumb_func_end sub_80A6A08 - - thumb_func_start sub_80A6A30 -sub_80A6A30: @ 80A6A30 - push {lr} - ldr r0, _080A6A44 @ =gUnknown_03000701 - movs r1, 0x6 - strb r1, [r0] - ldr r0, _080A6A48 @ =sub_80A6A08 - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_080A6A44: .4byte gUnknown_03000701 -_080A6A48: .4byte sub_80A6A08 - thumb_func_end sub_80A6A30 - - thumb_func_start sub_80A6A4C -sub_80A6A4C: @ 80A6A4C - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080A6A74 @ =gFieldCallback - ldr r1, _080A6A78 @ =ItemStorage_ReturnToMenuAfterDeposit - str r1, [r2] - ldr r2, _080A6A7C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r3, _080A6A80 @ =c2_exit_to_overworld_2_switch - lsrs r2, r3, 16 - strh r2, [r1, 0x18] - strh r3, [r1, 0x1A] - bl sub_80A5AE4 - pop {r0} - bx r0 - .align 2, 0 -_080A6A74: .4byte gFieldCallback -_080A6A78: .4byte ItemStorage_ReturnToMenuAfterDeposit -_080A6A7C: .4byte gTasks -_080A6A80: .4byte c2_exit_to_overworld_2_switch - thumb_func_end sub_80A6A4C - - thumb_func_start sub_80A6A84 -sub_80A6A84: @ 80A6A84 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r6, _080A6AE8 @ =gTasks + 0x8 - adds r0, r4, r6 - mov r8, r0 - ldr r0, _080A6AEC @ =gBGTilemapBuffers + 0x800 - bl sub_80A4DA4 - ldr r0, _080A6AF0 @ =gScriptItemId - ldrh r0, [r0] - ldr r1, _080A6AF4 @ =gStringVar1 - bl CopyItemName - ldr r0, _080A6AF8 @ =gStringVar2 - mov r2, r8 - movs r3, 0x2 - ldrsh r1, [r2, r3] - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - movs r0, 0x7 - movs r1, 0x6 - movs r2, 0xB - movs r3, 0xD - bl MenuZeroFillWindowRect - movs r0, 0x7 - bl sub_80A7528 - adds r0, r5, 0 - bl sub_80A3D5C - subs r6, 0x8 - adds r4, r6 - ldr r0, _080A6AFC @ =sub_80A5E1C - str r0, [r4] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A6AE8: .4byte gTasks + 0x8 -_080A6AEC: .4byte gBGTilemapBuffers + 0x800 -_080A6AF0: .4byte gScriptItemId -_080A6AF4: .4byte gStringVar1 -_080A6AF8: .4byte gStringVar2 -_080A6AFC: .4byte sub_80A5E1C - thumb_func_end sub_80A6A84 - - thumb_func_start sub_80A6B00 -sub_80A6B00: @ 80A6B00 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080A6B54 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080A6B1A - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080A6B4C -_080A6B1A: - ldr r1, _080A6B58 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x1C] - ldr r1, _080A6B5C @ =gUnknown_03005D10 - ldr r0, _080A6B60 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0] - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_80A48E8 - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_80A5D38 -_080A6B4C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A6B54: .4byte gMain -_080A6B58: .4byte gTasks -_080A6B5C: .4byte gUnknown_03005D10 -_080A6B60: .4byte gUnknown_02038559 - thumb_func_end sub_80A6B00 - - thumb_func_start sub_80A6B64 -sub_80A6B64: @ 80A6B64 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r5, r0, 3 - ldr r6, _080A6B9C @ =gTasks + 0x8 - adds r7, r5, r6 - ldr r0, _080A6BA0 @ =gScriptItemId - mov r8, r0 - ldrh r0, [r0] - bl ItemId_GetImportance - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _080A6BA8 - adds r0, r6, 0 - subs r0, 0x8 - adds r0, r5, r0 - ldr r1, _080A6BA4 @ =sub_80A6B00 - str r1, [r0] - movs r0, 0x9 - bl sub_80A7528 - b _080A6BD2 - .align 2, 0 -_080A6B9C: .4byte gTasks + 0x8 -_080A6BA0: .4byte gScriptItemId -_080A6BA4: .4byte sub_80A6B00 -_080A6BA8: - mov r1, r8 - ldrh r0, [r1] - ldrh r1, [r7, 0x2] - bl AddPCItem - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A6BC2 - adds r0, r4, 0 - bl sub_80A6A84 - b _080A6BD2 -_080A6BC2: - adds r0, r6, 0 - subs r0, 0x8 - adds r0, r5, r0 - ldr r1, _080A6BDC @ =sub_80A6B00 - str r1, [r0] - movs r0, 0x8 - bl sub_80A7528 -_080A6BD2: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A6BDC: .4byte sub_80A6B00 - thumb_func_end sub_80A6B64 - - thumb_func_start sub_80A6BE0 -sub_80A6BE0: @ 80A6BE0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - adds r0, r4, 0 - bl sub_80A5350 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080A6C58 - ldr r0, _080A6C18 @ =gMain - ldrh r1, [r0, 0x2E] - movs r2, 0x1 - ands r2, r1 - cmp r2, 0 - beq _080A6C20 - movs r0, 0x5 - bl PlaySE - ldr r0, _080A6C1C @ =gBGTilemapBuffers + 0x800 - bl sub_80A4DA4 - adds r0, r4, 0 - bl sub_80A6B64 - b _080A6C58 - .align 2, 0 -_080A6C18: .4byte gMain -_080A6C1C: .4byte gBGTilemapBuffers + 0x800 -_080A6C20: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080A6C58 - ldr r1, _080A6C60 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - strh r2, [r0, 0x1C] - ldr r1, _080A6C64 @ =gUnknown_03005D10 - ldr r0, _080A6C68 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0] - adds r0, r5, 0 - adds r1, r2, 0 - bl sub_80A48E8 - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - bl sub_80A5D38 -_080A6C58: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A6C60: .4byte gTasks -_080A6C64: .4byte gUnknown_03005D10 -_080A6C68: .4byte gUnknown_02038559 - thumb_func_end sub_80A6BE0 - - thumb_func_start sub_80A6C6C -sub_80A6C6C: @ 80A6C6C - push {r4-r6,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _080A6CE4 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r5, r0, r1 - ldr r2, _080A6CE8 @ =gUnknown_03005D10 - ldr r6, _080A6CEC @ =gUnknown_02038559 - movs r0, 0 - ldrsb r0, [r6, r0] - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x1] - ldrb r0, [r0] - adds r1, r0 - adds r1, 0x1 - strh r1, [r5, 0x1C] - movs r0, 0 - ldrsb r0, [r6, r0] - lsls r0, 2 - adds r0, r2 - ldrb r2, [r0] - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_80A48E8 - bl sub_80A73FC - movs r0, 0x5 - bl PlaySE - bl sub_80A7590 - movs r0, 0 - ldrsb r0, [r6, r0] - cmp r0, 0x4 - beq _080A6D0A - ldr r0, _080A6CF0 @ =sub_80A6BE0 - str r0, [r5] - movs r0, 0x6 - bl sub_80A7528 - movs r0, 0 - ldrsb r0, [r6, r0] - cmp r0, 0x3 - bne _080A6CF4 - movs r0, 0x3 - str r0, [sp] - str r0, [sp, 0x4] - adds r0, r4, 0 - movs r1, 0x6 - movs r2, 0x9 - movs r3, 0x7 - bl sub_80A4DD8 - b _080A6D14 - .align 2, 0 -_080A6CE4: .4byte gTasks -_080A6CE8: .4byte gUnknown_03005D10 -_080A6CEC: .4byte gUnknown_02038559 -_080A6CF0: .4byte sub_80A6BE0 -_080A6CF4: - movs r0, 0x3 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - adds r0, r4, 0 - movs r1, 0x7 - movs r2, 0x9 - movs r3, 0x6 - bl sub_80A4DD8 - b _080A6D14 -_080A6D0A: - movs r0, 0x1 - strh r0, [r5, 0xA] - adds r0, r4, 0 - bl sub_80A6B64 -_080A6D14: - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80A6C6C - - thumb_func_start sub_80A6D1C -sub_80A6D1C: @ 80A6D1C - push {r4,r5,lr} - bl HideMapNamePopup - ldr r0, _080A6D70 @ =gSaveBlock1 - ldr r1, _080A6D74 @ =0x00000496 - adds r4, r0, r1 - ldrh r0, [r4] - cmp r0, 0 - beq _080A6D84 - movs r1, 0x1 - bl CheckBagHasItem - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x1 - bne _080A6D80 - bl ScriptContext2_Enable - bl FreezeMapObjects - bl sub_80594C0 - bl sub_80597F4 - ldr r1, _080A6D78 @ =gScriptItemId - ldrh r0, [r4] - strh r0, [r1] - ldrh r0, [r4] - bl ItemId_GetFieldFunc - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080A6D7C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r5, [r1, 0xC] - b _080A6D8A - .align 2, 0 -_080A6D70: .4byte gSaveBlock1 -_080A6D74: .4byte 0x00000496 -_080A6D78: .4byte gScriptItemId -_080A6D7C: .4byte gTasks -_080A6D80: - movs r0, 0 - strh r0, [r4] -_080A6D84: - ldr r0, _080A6D94 @ =Event_NoRegisteredItem - bl ScriptContext1_SetupScript -_080A6D8A: - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080A6D94: .4byte Event_NoRegisteredItem - thumb_func_end sub_80A6D1C - - thumb_func_start sub_80A6D98 -sub_80A6D98: @ 80A6D98 - push {lr} -_080A6D9A: - bl sub_80A317C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A6DBC - ldr r0, _080A6DB4 @ =sub_80A50C8 - movs r1, 0 - bl CreateTask - ldr r1, _080A6DB8 @ =gUnknown_02038563 - strb r0, [r1] - b _080A6DC8 - .align 2, 0 -_080A6DB4: .4byte sub_80A50C8 -_080A6DB8: .4byte gUnknown_02038563 -_080A6DBC: - bl sub_80F9344 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A6D9A -_080A6DC8: - pop {r0} - bx r0 - thumb_func_end sub_80A6D98 - - thumb_func_start sub_80A6DCC -sub_80A6DCC: @ 80A6DCC - push {lr} - ldr r1, _080A6DE4 @ =gUnknown_03000700 - movs r0, 0 - strb r0, [r1] - ldr r1, _080A6DE8 @ =gUnknown_03000701 - movs r0, 0x1 - strb r0, [r1] - ldr r0, _080A6DEC @ =sub_80A6D98 - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_080A6DE4: .4byte gUnknown_03000700 -_080A6DE8: .4byte gUnknown_03000701 -_080A6DEC: .4byte sub_80A6D98 - thumb_func_end sub_80A6DCC - - thumb_func_start sub_80A6DF0 -sub_80A6DF0: @ 80A6DF0 - push {r4-r6,lr} - sub sp, 0x8 - adds r5, r0, 0 - ldr r4, _080A6E4C @ =gUnknown_02038564 - ldrb r0, [r4] - subs r0, 0x1 - lsls r0, 25 - lsrs r6, r0, 24 - movs r1, 0x9 - subs r1, r6 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x7 - movs r2, 0xD - movs r3, 0xC - bl MenuDrawTextWindow - movs r2, 0xA - subs r2, r6 - lsls r2, 24 - lsrs r2, 24 - adds r0, r6, 0x2 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - adds r0, r5, 0 - movs r1, 0x8 - movs r3, 0x5 - bl sub_80A4008 - ldrb r0, [r4] - cmp r0, 0x1 - bne _080A6E58 - ldr r1, _080A6E50 @ =gUnknown_083C1640 - ldr r0, _080A6E54 @ =gUnknown_03000704 - ldr r0, [r0] - ldrb r0, [r0] - lsls r0, 3 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x8 - movs r2, 0xA - bl MenuPrint - b _080A6E80 - .align 2, 0 -_080A6E4C: .4byte gUnknown_02038564 -_080A6E50: .4byte gUnknown_083C1640 -_080A6E54: .4byte gUnknown_03000704 -_080A6E58: - ldr r5, _080A6EAC @ =gUnknown_083C1640 - ldr r4, _080A6EB0 @ =gUnknown_03000704 - ldr r0, [r4] - ldrb r0, [r0] - lsls r0, 3 - adds r0, r5 - ldr r0, [r0] - movs r1, 0x8 - movs r2, 0x8 - bl MenuPrint - ldr r0, [r4] - ldrb r0, [r0, 0x1] - lsls r0, 3 - adds r0, r5 - ldr r0, [r0] - movs r1, 0x8 - movs r2, 0xA - bl MenuPrint -_080A6E80: - movs r2, 0xA - subs r2, r6 - lsls r2, 24 - lsrs r2, 24 - ldr r0, _080A6EB4 @ =gUnknown_02038564 - ldrb r3, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x5 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x8 - bl InitMenu - movs r0, 0x2 - bl sub_80A7528 - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A6EAC: .4byte gUnknown_083C1640 -_080A6EB0: .4byte gUnknown_03000704 -_080A6EB4: .4byte gUnknown_02038564 - thumb_func_end sub_80A6DF0 - - thumb_func_start sub_80A6EB8 -sub_80A6EB8: @ 80A6EB8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - ldr r2, _080A6EE0 @ =gMain - ldrh r0, [r2, 0x30] - movs r1, 0xF0 - ands r1, r0 - cmp r1, 0x40 - bne _080A6EE8 - ldr r4, _080A6EE4 @ =gUnknown_03000700 - ldrb r0, [r4] - cmp r0, 0x1 - bne _080A6FC0 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - b _080A6F02 - .align 2, 0 -_080A6EE0: .4byte gMain -_080A6EE4: .4byte gUnknown_03000700 -_080A6EE8: - cmp r1, 0x80 - bne _080A6F14 - ldr r4, _080A6F0C @ =gUnknown_03000700 - ldrb r0, [r4] - adds r0, 0x1 - ldr r1, _080A6F10 @ =gUnknown_02038564 - ldrb r1, [r1] - cmp r0, r1 - bge _080A6FC0 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 -_080A6F02: - bl MoveMenuCursor - strb r0, [r4] - b _080A6FC0 - .align 2, 0 -_080A6F0C: .4byte gUnknown_03000700 -_080A6F10: .4byte gUnknown_02038564 -_080A6F14: - ldrh r1, [r2, 0x2E] - movs r2, 0x1 - ands r2, r1 - cmp r2, 0 - beq _080A6F84 - ldr r1, _080A6F68 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x1C] - ldr r1, _080A6F6C @ =gUnknown_03005D10 - ldr r0, _080A6F70 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0] - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_80A48E8 - ldr r0, _080A6F74 @ =gBGTilemapBuffers + 0x800 - bl sub_80A4DA4 - ldr r1, _080A6F78 @ =gUnknown_083C1640 - ldr r0, _080A6F7C @ =gUnknown_03000700 - ldrb r2, [r0] - ldr r0, _080A6F80 @ =gUnknown_03000704 - ldr r0, [r0] - adds r0, r2 - ldrb r0, [r0] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - b _080A6FC0 - .align 2, 0 -_080A6F68: .4byte gTasks -_080A6F6C: .4byte gUnknown_03005D10 -_080A6F70: .4byte gUnknown_02038559 -_080A6F74: .4byte gBGTilemapBuffers + 0x800 -_080A6F78: .4byte gUnknown_083C1640 -_080A6F7C: .4byte gUnknown_03000700 -_080A6F80: .4byte gUnknown_03000704 -_080A6F84: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080A6FC0 - ldr r1, _080A6FC8 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - strh r2, [r0, 0x1C] - ldr r1, _080A6FCC @ =gUnknown_03005D10 - ldr r0, _080A6FD0 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0] - adds r0, r5, 0 - adds r1, r2, 0 - bl sub_80A48E8 - ldr r0, _080A6FD4 @ =gBGTilemapBuffers + 0x800 - bl sub_80A4DA4 - ldr r0, _080A6FD8 @ =gUnknown_083C1640 - ldr r1, [r0, 0x2C] - adds r0, r5, 0 - bl _call_via_r1 -_080A6FC0: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A6FC8: .4byte gTasks -_080A6FCC: .4byte gUnknown_03005D10 -_080A6FD0: .4byte gUnknown_02038559 -_080A6FD4: .4byte gBGTilemapBuffers + 0x800 -_080A6FD8: .4byte gUnknown_083C1640 - thumb_func_end sub_80A6EB8 - - thumb_func_start sub_80A6FDC -sub_80A6FDC: @ 80A6FDC - push {lr} - ldr r0, _080A6FF8 @ =gScriptItemId - ldrh r0, [r0] - bl ItemId_GetBattleUsage - lsls r0, 24 - cmp r0, 0 - beq _080A7008 - ldr r1, _080A6FFC @ =gUnknown_03000704 - ldr r0, _080A7000 @ =gUnknown_083C1708 - str r0, [r1] - ldr r1, _080A7004 @ =gUnknown_02038564 - movs r0, 0x2 - b _080A7012 - .align 2, 0 -_080A6FF8: .4byte gScriptItemId -_080A6FFC: .4byte gUnknown_03000704 -_080A7000: .4byte gUnknown_083C1708 -_080A7004: .4byte gUnknown_02038564 -_080A7008: - ldr r1, _080A7018 @ =gUnknown_03000704 - ldr r0, _080A701C @ =gUnknown_083C170A - str r0, [r1] - ldr r1, _080A7020 @ =gUnknown_02038564 - movs r0, 0x1 -_080A7012: - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_080A7018: .4byte gUnknown_03000704 -_080A701C: .4byte gUnknown_083C170A -_080A7020: .4byte gUnknown_02038564 - thumb_func_end sub_80A6FDC - - thumb_func_start sub_80A7024 -sub_80A7024: @ 80A7024 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r1, _080A707C @ =gUnknown_03000700 - movs r0, 0 - strb r0, [r1] - bl sub_80A6FDC - ldr r0, _080A7080 @ =gTasks - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r0 - ldr r3, _080A7084 @ =gUnknown_03005D10 - ldr r2, _080A7088 @ =gUnknown_02038559 - movs r0, 0 - ldrsb r0, [r2, r0] - lsls r0, 2 - adds r0, r3 - ldrb r1, [r0, 0x1] - ldrb r0, [r0] - adds r1, r0 - adds r1, 0x1 - strh r1, [r4, 0x1C] - movs r0, 0 - ldrsb r0, [r2, r0] - lsls r0, 2 - adds r0, r3 - ldrb r2, [r0] - adds r0, r5, 0 - adds r1, r2, 0 - bl sub_80A48E8 - bl sub_80A73FC - ldr r0, _080A708C @ =gBGTilemapBuffers + 0x800 - bl sub_80A6DF0 - ldr r0, _080A7090 @ =sub_80A6EB8 - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A707C: .4byte gUnknown_03000700 -_080A7080: .4byte gTasks -_080A7084: .4byte gUnknown_03005D10 -_080A7088: .4byte gUnknown_02038559 -_080A708C: .4byte gBGTilemapBuffers + 0x800 -_080A7090: .4byte sub_80A6EB8 - thumb_func_end sub_80A7024 - - thumb_func_start sub_80A7094 -sub_80A7094: @ 80A7094 - push {lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080A70CC @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, _080A70D0 @ =sub_802E424 - lsrs r0, r2, 16 - movs r3, 0 - strh r0, [r1, 0x18] - strh r2, [r1, 0x1A] - ldr r0, _080A70D4 @ =HandleItemMenuPaletteFade - str r0, [r1] - movs r0, 0x1 - negs r0, r0 - str r3, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080A70CC: .4byte gTasks -_080A70D0: .4byte sub_802E424 -_080A70D4: .4byte HandleItemMenuPaletteFade - thumb_func_end sub_80A7094 - - thumb_func_start sub_80A70D8 -sub_80A70D8: @ 80A70D8 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_80A7094 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A70D8 - - thumb_func_start ItemMenu_UseInBattle -ItemMenu_UseInBattle: @ 80A70F4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, _080A7120 @ =gScriptItemId - ldrh r0, [r4] - bl ItemId_GetBattleFunc - cmp r0, 0 - beq _080A711A - movs r0, 0x5 - bl PlaySE - ldrh r0, [r4] - bl ItemId_GetBattleFunc - adds r1, r0, 0 - adds r0, r5, 0 - bl _call_via_r1 -_080A711A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A7120: .4byte gScriptItemId - thumb_func_end ItemMenu_UseInBattle - - thumb_func_start sub_80A7124 -sub_80A7124: @ 80A7124 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x5 - bl PlaySE - movs r0, 0 - bl sub_80A7528 - adds r0, r4, 0 - bl sub_80A41D4 - bl ItemListMenu_InitMenu - adds r0, r4, 0 - bl sub_80A37C0 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A7124 - - thumb_func_start sub_80A7150 -sub_80A7150: @ 80A7150 - push {r4,r5,lr} - ldr r4, _080A7158 @ =gUnknown_02038563 - ldr r5, _080A715C @ =gTasks - b _080A716C - .align 2, 0 -_080A7158: .4byte gUnknown_02038563 -_080A715C: .4byte gTasks -_080A7160: - bl sub_80F9344 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080A7190 -_080A716C: - bl sub_80A317C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A7160 - ldr r0, _080A7198 @ =sub_80A7230 - movs r1, 0 - bl CreateTask - strb r0, [r4] - ldrb r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - movs r1, 0 - strh r1, [r0, 0x26] -_080A7190: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A7198: .4byte sub_80A7230 - thumb_func_end sub_80A7150 - - thumb_func_start PrepareBagForWallyTutorial -PrepareBagForWallyTutorial: @ 80A719C - push {r4,r5,lr} - ldr r0, _080A7214 @ =gUnknown_03000700 - movs r1, 0 - strb r1, [r0] - ldr r0, _080A7218 @ =gUnknown_02038559 - strb r1, [r0] - movs r1, 0 - ldr r4, _080A721C @ =0x0201e000 - ldr r5, _080A7220 @ =gSaveBlock1 + 0x560 - ldr r3, _080A7224 @ =gUnknown_03005D10 - movs r2, 0 -_080A71B2: - lsls r0, r1, 2 - adds r0, r3 - strb r2, [r0] - strb r2, [r0, 0x1] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x4 - bls _080A71B2 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x50 - bl memcpy - movs r1, 0x80 - lsls r1, 5 - adds r0, r4, r1 - adds r4, r5, 0 - adds r4, 0xA0 - adds r1, r4, 0 - movs r2, 0x40 - bl memcpy - adds r0, r5, 0 - movs r1, 0x14 - bl ClearItemSlots - adds r0, r4, 0 - movs r1, 0x10 - bl ClearItemSlots - movs r0, 0xD - movs r1, 0x1 - bl AddBagItem - movs r0, 0x4 - movs r1, 0x1 - bl AddBagItem - ldr r1, _080A7228 @ =gUnknown_03000701 - movs r0, 0x7 - strb r0, [r1] - ldr r0, _080A722C @ =sub_80A7150 - bl SetMainCallback2 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A7214: .4byte gUnknown_03000700 -_080A7218: .4byte gUnknown_02038559 -_080A721C: .4byte 0x0201e000 -_080A7220: .4byte gSaveBlock1 + 0x560 -_080A7224: .4byte gUnknown_03005D10 -_080A7228: .4byte gUnknown_03000701 -_080A722C: .4byte sub_80A7150 - thumb_func_end PrepareBagForWallyTutorial - - thumb_func_start sub_80A7230 -sub_80A7230: @ 80A7230 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r6, r0, 3 - ldr r0, _080A725C @ =gTasks + 0x8 - mov r8, r0 - adds r7, r6, r0 - movs r0, 0x1E - ldrsh r1, [r7, r0] - cmp r1, 0xCC - beq _080A727A - cmp r1, 0xCC - bgt _080A7260 - cmp r1, 0x66 - beq _080A726A - b _080A7358 - .align 2, 0 -_080A725C: .4byte gTasks + 0x8 -_080A7260: - movs r0, 0x99 - lsls r0, 1 - cmp r1, r0 - beq _080A72F4 - b _080A7358 -_080A726A: - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - movs r1, 0x2 - bl sub_80A4E8C - b _080A7358 -_080A727A: - movs r0, 0x5 - bl PlaySE - movs r0, 0x2 - bl sub_80F98A4 - movs r0, 0x3 - bl sub_80F98A4 - ldr r1, _080A72D8 @ =gScriptItemId - movs r0, 0x4 - strh r0, [r1] - ldr r1, _080A72DC @ =gUnknown_03000704 - ldr r0, _080A72E0 @ =gUnknown_083C1708 - str r0, [r1] - ldr r1, _080A72E4 @ =gUnknown_02038564 - movs r0, 0x2 - strb r0, [r1] - mov r0, r8 - adds r4, r0, r6 - ldr r3, _080A72E8 @ =gUnknown_03005D10 - ldr r2, _080A72EC @ =gUnknown_02038559 - movs r0, 0 - ldrsb r0, [r2, r0] - lsls r0, 2 - adds r0, r3 - ldrb r1, [r0, 0x1] - ldrb r0, [r0] - adds r1, r0 - adds r1, 0x1 - strh r1, [r4, 0x14] - movs r0, 0 - ldrsb r0, [r2, r0] - lsls r0, 2 - adds r0, r3 - ldrb r2, [r0] - adds r0, r5, 0 - adds r1, r2, 0 - bl sub_80A48E8 - bl sub_80A73FC - ldr r0, _080A72F0 @ =gBGTilemapBuffers + 0x800 - bl sub_80A6DF0 - b _080A7358 - .align 2, 0 -_080A72D8: .4byte gScriptItemId -_080A72DC: .4byte gUnknown_03000704 -_080A72E0: .4byte gUnknown_083C1708 -_080A72E4: .4byte gUnknown_02038564 -_080A72E8: .4byte gUnknown_03005D10 -_080A72EC: .4byte gUnknown_02038559 -_080A72F0: .4byte gBGTilemapBuffers + 0x800 -_080A72F4: - movs r0, 0x5 - bl PlaySE - ldr r0, _080A7344 @ =gBGTilemapBuffers + 0x800 - bl sub_80A4DA4 - ldr r4, _080A7348 @ =gSaveBlock1 + 0x560 - ldr r5, _080A734C @ =0x0201e000 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x50 - bl memcpy - adds r4, 0xA0 - movs r0, 0x80 - lsls r0, 5 - adds r5, r0 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x40 - bl memcpy - ldr r1, _080A7350 @ =sub_802E424 - lsrs r0, r1, 16 - strh r0, [r7, 0x10] - strh r1, [r7, 0x12] - mov r0, r8 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, _080A7354 @ =HandleItemMenuPaletteFade - str r1, [r0] - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _080A735E - .align 2, 0 -_080A7344: .4byte gBGTilemapBuffers + 0x800 -_080A7348: .4byte gSaveBlock1 + 0x560 -_080A734C: .4byte 0x0201e000 -_080A7350: .4byte sub_802E424 -_080A7354: .4byte HandleItemMenuPaletteFade -_080A7358: - ldrh r0, [r7, 0x1E] - adds r0, 0x1 - strh r0, [r7, 0x1E] -_080A735E: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80A7230 - - thumb_func_start ItemListMenu_InitMenu -ItemListMenu_InitMenu: @ 80A736C - push {lr} - sub sp, 0x8 - ldr r1, _080A73B0 @ =gUnknown_03005D10 - ldr r0, _080A73B4 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r1 - ldrb r3, [r0, 0x3] - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - ldrb r0, [r0] - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - movs r1, 0xE - movs r2, 0x2 - bl InitMenu - ldr r1, _080A73B8 @ =0x0000ffff - ldr r3, _080A73BC @ =0x00002d9f - movs r0, 0xF - str r0, [sp] - movs r0, 0x10 - movs r2, 0xC - bl CreateBlendedOutlineCursor - bl sub_80A73C0 - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_080A73B0: .4byte gUnknown_03005D10 -_080A73B4: .4byte gUnknown_02038559 -_080A73B8: .4byte 0x0000ffff -_080A73BC: .4byte 0x00002d9f - thumb_func_end ItemListMenu_InitMenu - - thumb_func_start sub_80A73C0 -sub_80A73C0: @ 80A73C0 - push {lr} - ldr r1, _080A73E8 @ =gUnknown_03005D10 - ldr r0, _080A73EC @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0] - lsls r1, 28 - movs r0, 0x80 - lsls r0, 21 - adds r1, r0 - lsrs r1, 24 - movs r0, 0x70 - bl sub_814AD7C - pop {r0} - bx r0 - .align 2, 0 -_080A73E8: .4byte gUnknown_03005D10 -_080A73EC: .4byte gUnknown_02038559 - thumb_func_end sub_80A73C0 - - thumb_func_start sub_80A73F0 -sub_80A73F0: @ 80A73F0 - push {lr} - bl sub_814ADC8 - pop {r0} - bx r0 - thumb_func_end sub_80A73F0 - - thumb_func_start sub_80A73FC -sub_80A73FC: @ 80A73FC - push {lr} - bl HandleDestroyMenuCursors - bl sub_814AD44 - pop {r0} - bx r0 - thumb_func_end sub_80A73FC - - thumb_func_start sub_80A740C -sub_80A740C: @ 80A740C - push {lr} - bl sub_80A75E4 - bl sub_80A7768 - bl sub_80A7420 - pop {r0} - bx r0 - thumb_func_end sub_80A740C - - thumb_func_start sub_80A7420 -sub_80A7420: @ 80A7420 - push {r4,lr} - ldr r4, _080A7438 @ =gUnknown_0203853C - ldrb r0, [r4] - cmp r0, 0x2 - beq _080A743C - cmp r0, 0x3 - beq _080A7430 - b _080A7512 -_080A7430: - movs r0, 0x2 - strb r0, [r4] - b _080A7512 - .align 2, 0 -_080A7438: .4byte gUnknown_0203853C -_080A743C: - ldrb r0, [r4, 0x2] - cmp r0, 0x9 - bhi _080A74FC - lsls r0, 2 - ldr r1, _080A744C @ =_080A7450 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080A744C: .4byte _080A7450 - .align 2, 0 -_080A7450: - .4byte _080A7478 - .4byte _080A74AC - .4byte _080A74B4 - .4byte _080A74BC - .4byte _080A74C4 - .4byte _080A74CC - .4byte _080A74D4 - .4byte _080A74DC - .4byte _080A74E4 - .4byte _080A74F4 -_080A7478: - ldr r1, _080A74A0 @ =gUnknown_03005D10 - ldr r0, _080A74A4 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x1] - ldrb r0, [r0] - adds r1, r0 - ldr r0, _080A74A8 @ =gUnknown_03005D24 - ldr r0, [r0] - lsls r1, 2 - adds r1, r0 - movs r2, 0 - ldrsh r0, [r1, r2] - ldrb r1, [r4, 0x1] - bl ItemListMenu_ChangeDescription - b _080A74FC - .align 2, 0 -_080A74A0: .4byte gUnknown_03005D10 -_080A74A4: .4byte gUnknown_02038559 -_080A74A8: .4byte gUnknown_03005D24 -_080A74AC: - ldr r0, _080A74B0 @ =gOtherText_SwitchWhichItem - b _080A74E6 - .align 2, 0 -_080A74B0: .4byte gOtherText_SwitchWhichItem -_080A74B4: - ldr r0, _080A74B8 @ =gOtherText_WhatWillYouDo2 - b _080A74E6 - .align 2, 0 -_080A74B8: .4byte gOtherText_WhatWillYouDo2 -_080A74BC: - ldr r0, _080A74C0 @ =gOtherText_HowManyToToss - b _080A74E6 - .align 2, 0 -_080A74C0: .4byte gOtherText_HowManyToToss -_080A74C4: - ldr r0, _080A74C8 @ =gOtherText_ThrewAwayItem - b _080A74E6 - .align 2, 0 -_080A74C8: .4byte gOtherText_ThrewAwayItem -_080A74CC: - ldr r0, _080A74D0 @ =gOtherText_OkayToThrowAwayPrompt - b _080A74E6 - .align 2, 0 -_080A74D0: .4byte gOtherText_OkayToThrowAwayPrompt -_080A74D4: - ldr r0, _080A74D8 @ =gOtherText_HowManyToDeposit - b _080A74E6 - .align 2, 0 -_080A74D8: .4byte gOtherText_HowManyToDeposit -_080A74DC: - ldr r0, _080A74E0 @ =gOtherText_DepositedItems - b _080A74E6 - .align 2, 0 -_080A74E0: .4byte gOtherText_DepositedItems -_080A74E4: - ldr r0, _080A74F0 @ =gOtherText_NoRoomForItems -_080A74E6: - ldrb r1, [r4, 0x1] - bl sub_80A4A98 - b _080A74FC - .align 2, 0 -_080A74F0: .4byte gOtherText_NoRoomForItems -_080A74F4: - ldr r0, _080A7518 @ =gOtherText_CantStoreSomeoneItem - ldrb r1, [r4, 0x1] - bl sub_80A4A98 -_080A74FC: - ldrb r0, [r4, 0x1] - adds r0, 0x1 - strb r0, [r4, 0x1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bne _080A7512 - movs r0, 0 - strb r0, [r4] - bl sub_80A7918 -_080A7512: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A7518: .4byte gOtherText_CantStoreSomeoneItem - thumb_func_end sub_80A7420 - - thumb_func_start sub_80A751C -sub_80A751C: @ 80A751C - ldr r1, _080A7524 @ =gUnknown_0203853C - movs r0, 0 - strb r0, [r1] - bx lr - .align 2, 0 -_080A7524: .4byte gUnknown_0203853C - thumb_func_end sub_80A751C - - thumb_func_start sub_80A7528 -sub_80A7528: @ 80A7528 - push {r4,lr} - ldr r4, _080A7544 @ =gUnknown_0203853C - movs r1, 0 - strb r1, [r4, 0x1] - strb r0, [r4, 0x2] - bl sub_80A78F4 - cmp r0, 0x1 - beq _080A755E - cmp r0, 0x1 - bgt _080A7548 - cmp r0, 0 - beq _080A754E - b _080A7566 - .align 2, 0 -_080A7544: .4byte gUnknown_0203853C -_080A7548: - cmp r0, 0x2 - beq _080A7562 - b _080A7566 -_080A754E: - movs r0, 0x2 - strb r0, [r4] -_080A7552: - bl sub_80A7420 - ldrb r0, [r4] - cmp r0, 0 - bne _080A7552 - b _080A7566 -_080A755E: - movs r0, 0x3 - b _080A7564 -_080A7562: - movs r0, 0x1 -_080A7564: - strb r0, [r4] -_080A7566: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A7528 - - thumb_func_start sub_80A756C -sub_80A756C: @ 80A756C - push {r4,lr} - ldr r4, _080A758C @ =gUnknown_0203853C - ldrb r0, [r4] - subs r0, 0x2 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _080A7580 - bl sub_80A7918 -_080A7580: - movs r0, 0 - strb r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A758C: .4byte gUnknown_0203853C - thumb_func_end sub_80A756C - - thumb_func_start sub_80A7590 -sub_80A7590: @ 80A7590 - push {lr} - movs r0, 0 - movs r1, 0xD - movs r2, 0xD - movs r3, 0x14 - bl MenuZeroFillWindowRect - bl sub_80A756C - pop {r0} - bx r0 - thumb_func_end sub_80A7590 - - thumb_func_start sub_80A75A8 -sub_80A75A8: @ 80A75A8 - push {lr} - ldr r1, _080A75C0 @ =gUnknown_0203853C - ldrb r0, [r1] - subs r0, 0x2 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _080A75BC - movs r0, 0x1 - strb r0, [r1] -_080A75BC: - pop {r0} - bx r0 - .align 2, 0 -_080A75C0: .4byte gUnknown_0203853C - thumb_func_end sub_80A75A8 - - thumb_func_start sub_80A75C4 -sub_80A75C4: @ 80A75C4 - push {lr} - ldr r1, _080A75D8 @ =gUnknown_0203853C - ldrb r0, [r1] - cmp r0, 0 - beq _080A75DC - cmp r0, 0x1 - bne _080A75E0 - movs r0, 0x3 - strb r0, [r1] - b _080A75E0 - .align 2, 0 -_080A75D8: .4byte gUnknown_0203853C -_080A75DC: - bl sub_80A7918 -_080A75E0: - pop {r0} - bx r0 - thumb_func_end sub_80A75C4 - - thumb_func_start sub_80A75E4 -sub_80A75E4: @ 80A75E4 - push {r4,r5,lr} - ldr r4, _080A7628 @ =gUnknown_02038540 - ldrb r0, [r4] - cmp r0, 0x1 - bne _080A7622 - bl sub_80A7988 - adds r5, r0, 0 - cmp r5, 0 - bne _080A7622 - ldr r0, _080A762C @ =gUnknown_02038563 - ldrb r0, [r0] - ldrb r2, [r4, 0x1] - adds r1, r2, 0 - movs r3, 0x1 - bl sub_80A47E8 - ldrb r0, [r4, 0x1] - adds r0, 0x1 - strb r0, [r4, 0x1] - ldrb r0, [r4, 0x2] - movs r1, 0x7 - cmp r0, 0 - beq _080A7616 - movs r1, 0x5 -_080A7616: - ldrb r0, [r4, 0x1] - cmp r1, r0 - bge _080A7622 - strb r5, [r4] - bl sub_80A78E8 -_080A7622: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A7628: .4byte gUnknown_02038540 -_080A762C: .4byte gUnknown_02038563 - thumb_func_end sub_80A75E4 - - thumb_func_start sub_80A7630 -sub_80A7630: @ 80A7630 - ldr r1, _080A7638 @ =gUnknown_02038540 - movs r0, 0 - strb r0, [r1] - bx lr - .align 2, 0 -_080A7638: .4byte gUnknown_02038540 - thumb_func_end sub_80A7630 - - thumb_func_start sub_80A763C -sub_80A763C: @ 80A763C - push {r4,lr} - ldr r4, _080A7650 @ =gUnknown_02038540 - bl sub_80A78C4 - adds r1, r0, 0 - cmp r1, 0 - beq _080A7654 - cmp r1, 0x1 - beq _080A7668 - b _080A7670 - .align 2, 0 -_080A7650: .4byte gUnknown_02038540 -_080A7654: - ldr r0, _080A7664 @ =gUnknown_02038563 - ldrb r0, [r0] - movs r1, 0 - movs r2, 0x7 - bl sub_80A48E8 - b _080A7670 - .align 2, 0 -_080A7664: .4byte gUnknown_02038563 -_080A7668: - movs r0, 0 - strb r1, [r4] - strb r0, [r4, 0x1] - strb r0, [r4, 0x2] -_080A7670: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A763C - - thumb_func_start sub_80A7678 -sub_80A7678: @ 80A7678 - push {r4,lr} - ldr r4, _080A7690 @ =gUnknown_02038540 - ldrb r0, [r4] - cmp r0, 0x1 - bne _080A7686 - bl sub_80A78E8 -_080A7686: - movs r0, 0 - strb r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A7690: .4byte gUnknown_02038540 - thumb_func_end sub_80A7678 - - thumb_func_start sub_80A7694 -sub_80A7694: @ 80A7694 - ldr r1, _080A769C @ =gUnknown_02038540 - movs r0, 0x1 - strb r0, [r1, 0x2] - bx lr - .align 2, 0 -_080A769C: .4byte gUnknown_02038540 - thumb_func_end sub_80A7694 - - thumb_func_start sub_80A76A0 -sub_80A76A0: @ 80A76A0 - push {lr} - movs r0, 0xE - movs r1, 0x2 - movs r2, 0x1D - movs r3, 0x12 - bl MenuZeroFillWindowRect - bl sub_80A7678 - pop {r0} - bx r0 - thumb_func_end sub_80A76A0 - - thumb_func_start sub_80A76B8 -sub_80A76B8: @ 80A76B8 - push {lr} - ldr r0, _080A76CC @ =gUnknown_02038540 - movs r1, 0 - ldrb r0, [r0] - cmp r0, 0 - bne _080A76C6 - movs r1, 0x1 -_080A76C6: - adds r0, r1, 0 - pop {r1} - bx r1 - .align 2, 0 -_080A76CC: .4byte gUnknown_02038540 - thumb_func_end sub_80A76B8 - - thumb_func_start sub_80A76D0 -sub_80A76D0: @ 80A76D0 - push {lr} - ldr r0, _080A76E4 @ =gUnknown_02038540 - movs r1, 0 - ldrb r0, [r0, 0x1] - cmp r0, 0x5 - bls _080A76DE - movs r1, 0x1 -_080A76DE: - adds r0, r1, 0 - pop {r1} - bx r1 - .align 2, 0 -_080A76E4: .4byte gUnknown_02038540 - thumb_func_end sub_80A76D0 - - thumb_func_start sub_80A76E8 -sub_80A76E8: @ 80A76E8 - push {r4,lr} - ldr r4, _080A7708 @ =gUnknown_02038544 - ldrb r0, [r4] - cmp r0, 0x1 - bne _080A7702 - ldrb r0, [r4, 0x1] - ldr r1, [r4, 0x4] - ldr r2, [r4, 0x8] - ldrh r3, [r4, 0x2] - bl DisplayItemMessageOnField - movs r0, 0 - strb r0, [r4] -_080A7702: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A7708: .4byte gUnknown_02038544 - thumb_func_end sub_80A76E8 - - thumb_func_start sub_80A770C -sub_80A770C: @ 80A770C - ldr r1, _080A7714 @ =gUnknown_02038544 - movs r0, 0 - strb r0, [r1] - bx lr - .align 2, 0 -_080A7714: .4byte gUnknown_02038544 - thumb_func_end sub_80A770C - - thumb_func_start DisplayCannotUseItemMessage -DisplayCannotUseItemMessage: @ 80A7718 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - adds r7, r1, 0 - mov r8, r2 - adds r6, r3, 0 - ldr r4, _080A7738 @ =gUnknown_02038544 - bl sub_80A7924 - cmp r0, 0 - beq _080A773C - cmp r0, 0x2 - beq _080A774E - b _080A775C - .align 2, 0 -_080A7738: .4byte gUnknown_02038544 -_080A773C: - lsls r0, r5, 24 - lsrs r0, 24 - lsls r3, r6, 16 - lsrs r3, 16 - adds r1, r7, 0 - mov r2, r8 - bl DisplayItemMessageOnField - b _080A775C -_080A774E: - movs r0, 0x1 - strb r0, [r4] - strb r5, [r4, 0x1] - str r7, [r4, 0x4] - mov r0, r8 - str r0, [r4, 0x8] - strh r6, [r4, 0x2] -_080A775C: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end DisplayCannotUseItemMessage - - thumb_func_start sub_80A7768 -sub_80A7768: @ 80A7768 - push {r4,lr} - ldr r4, _080A77A8 @ =gUnknown_02038550 - ldrb r0, [r4] - cmp r0, 0x2 - bne _080A7814 - ldrb r1, [r4, 0x1] - cmp r1, 0 - beq _080A780E - ldrb r0, [r4, 0x2] - cmp r0, 0x1 - beq _080A77B4 - ldr r2, _080A77AC @ =gUnknown_083C1640 - ldr r0, _080A77B0 @ =gUnknown_03000704 - ldr r0, [r0] - adds r0, r1, r0 - subs r0, 0x1 - ldrb r0, [r0] - lsls r0, 3 - adds r0, r2 - ldr r0, [r0] - subs r1, 0x1 - lsls r1, 1 - adds r1, 0x1 - ldrb r2, [r4, 0x3] - adds r2, r1 - lsls r2, 24 - lsrs r2, 24 - movs r1, 0x7 - bl MenuPrint - b _080A77FC - .align 2, 0 -_080A77A8: .4byte gUnknown_02038550 -_080A77AC: .4byte gUnknown_083C1640 -_080A77B0: .4byte gUnknown_03000704 -_080A77B4: - cmp r1, 0x1 - bne _080A77C8 - ldr r0, _080A77C4 @ =gScriptItemId - ldrh r0, [r0] - bl sub_80A4B90 - adds r3, r0, 0 - b _080A77DC - .align 2, 0 -_080A77C4: .4byte gScriptItemId -_080A77C8: - ldr r2, _080A781C @ =gUnknown_083C1640 - ldrb r0, [r4, 0x1] - ldr r1, _080A7820 @ =gUnknown_03000704 - ldr r1, [r1] - adds r0, r1 - subs r0, 0x1 - ldrb r0, [r0] - lsls r0, 3 - adds r0, r2 - ldr r3, [r0] -_080A77DC: - ldrb r2, [r4, 0x1] - subs r2, 0x1 - asrs r0, r2, 1 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 1 - adds r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x1 - ands r2, r0 - lsls r2, 1 - adds r2, 0x8 - adds r0, r3, 0 - bl MenuPrint -_080A77FC: - ldr r1, _080A7824 @ =gUnknown_02038564 - ldrb r0, [r4, 0x1] - ldrb r1, [r1] - cmp r0, r1 - bne _080A780E - movs r0, 0 - strb r0, [r4] - bl sub_80A7970 -_080A780E: - ldrb r0, [r4, 0x1] - adds r0, 0x1 - strb r0, [r4, 0x1] -_080A7814: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A781C: .4byte gUnknown_083C1640 -_080A7820: .4byte gUnknown_03000704 -_080A7824: .4byte gUnknown_02038564 - thumb_func_end sub_80A7768 - - thumb_func_start sub_80A7828 -sub_80A7828: @ 80A7828 - ldr r1, _080A7830 @ =gUnknown_02038550 - movs r0, 0 - strb r0, [r1] - bx lr - .align 2, 0 -_080A7830: .4byte gUnknown_02038550 - thumb_func_end sub_80A7828 - - thumb_func_start sub_80A7834 -sub_80A7834: @ 80A7834 - push {r4-r6,lr} - adds r5, r0, 0 - adds r6, r1, 0 - ldr r4, _080A784C @ =gUnknown_02038550 - bl sub_80A7958 - cmp r0, 0x1 - beq _080A7850 - cmp r0, 0x2 - beq _080A7856 - b _080A7862 - .align 2, 0 -_080A784C: .4byte gUnknown_02038550 -_080A7850: - movs r1, 0 - movs r0, 0x2 - b _080A785A -_080A7856: - movs r1, 0 - movs r0, 0x1 -_080A785A: - strb r0, [r4] - strb r1, [r4, 0x1] - strb r5, [r4, 0x2] - strb r6, [r4, 0x3] -_080A7862: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80A7834 - - thumb_func_start sub_80A7868 -sub_80A7868: @ 80A7868 - push {lr} - ldr r1, _080A787C @ =gUnknown_02038550 - ldrb r0, [r1] - cmp r0, 0x2 - bne _080A7876 - movs r0, 0x1 - strb r0, [r1] -_080A7876: - pop {r0} - bx r0 - .align 2, 0 -_080A787C: .4byte gUnknown_02038550 - thumb_func_end sub_80A7868 - - thumb_func_start sub_80A7880 -sub_80A7880: @ 80A7880 - push {lr} - ldr r1, _080A7894 @ =gUnknown_02038550 - ldrb r0, [r1] - cmp r0, 0 - beq _080A7898 - cmp r0, 0x1 - bne _080A789C - movs r0, 0x2 - strb r0, [r1] - b _080A789C - .align 2, 0 -_080A7894: .4byte gUnknown_02038550 -_080A7898: - bl sub_80A7970 -_080A789C: - pop {r0} - bx r0 - thumb_func_end sub_80A7880 - - thumb_func_start sub_80A78A0 -sub_80A78A0: @ 80A78A0 - push {lr} - ldr r0, _080A78B4 @ =gUnknown_02038550 - movs r1, 0 - ldrb r0, [r0] - cmp r0, 0 - bne _080A78AE - movs r1, 0x1 -_080A78AE: - adds r0, r1, 0 - pop {r1} - bx r1 - .align 2, 0 -_080A78B4: .4byte gUnknown_02038550 - thumb_func_end sub_80A78A0 - - thumb_func_start sub_80A78B8 -sub_80A78B8: @ 80A78B8 - ldr r1, _080A78C0 @ =gUnknown_02038554 - movs r0, 0 - strb r0, [r1] - bx lr - .align 2, 0 -_080A78C0: .4byte gUnknown_02038554 - thumb_func_end sub_80A78B8 - - thumb_func_start sub_80A78C4 -sub_80A78C4: @ 80A78C4 - push {lr} - ldr r0, _080A78DC @ =gLinkOpen - ldrb r0, [r0] - cmp r0, 0x1 - bne _080A78E0 - bl sub_80A7868 - bl sub_80A75A8 - movs r0, 0x1 - b _080A78E2 - .align 2, 0 -_080A78DC: .4byte gLinkOpen -_080A78E0: - movs r0, 0 -_080A78E2: - pop {r1} - bx r1 - thumb_func_end sub_80A78C4 - - thumb_func_start sub_80A78E8 -sub_80A78E8: @ 80A78E8 - push {lr} - bl sub_80A7880 - pop {r0} - bx r0 - thumb_func_end sub_80A78E8 - - thumb_func_start sub_80A78F4 -sub_80A78F4: @ 80A78F4 - push {lr} - ldr r0, _080A790C @ =gLinkOpen - ldrb r0, [r0] - cmp r0, 0x1 - bne _080A7910 - bl sub_80A76B8 - movs r1, 0x2 - cmp r0, 0 - beq _080A7912 - movs r1, 0x1 - b _080A7912 - .align 2, 0 -_080A790C: .4byte gLinkOpen -_080A7910: - movs r1, 0 -_080A7912: - adds r0, r1, 0 - pop {r1} - bx r1 - thumb_func_end sub_80A78F4 - - thumb_func_start sub_80A7918 -sub_80A7918: @ 80A7918 - push {lr} - bl sub_80A76E8 - pop {r0} - bx r0 - thumb_func_end sub_80A7918 - - thumb_func_start sub_80A7924 -sub_80A7924: @ 80A7924 - push {lr} - ldr r0, _080A7948 @ =gLinkOpen - ldrb r0, [r0] - cmp r0, 0x1 - bne _080A7942 - bl sub_80A76B8 - cmp r0, 0 - bne _080A7942 - bl sub_80A76D0 - cmp r0, 0 - beq _080A794C - bl sub_80A7678 -_080A7942: - movs r0, 0 - b _080A7952 - .align 2, 0 -_080A7948: .4byte gLinkOpen -_080A794C: - bl sub_80A7694 - movs r0, 0x2 -_080A7952: - pop {r1} - bx r1 - thumb_func_end sub_80A7924 - - thumb_func_start sub_80A7958 -sub_80A7958: @ 80A7958 - push {lr} - bl sub_80A76B8 - cmp r0, 0 - beq _080A796A - bl sub_80A75A8 - movs r0, 0x1 - b _080A796C -_080A796A: - movs r0, 0x2 -_080A796C: - pop {r1} - bx r1 - thumb_func_end sub_80A7958 - - thumb_func_start sub_80A7970 -sub_80A7970: @ 80A7970 - push {lr} - bl sub_80A75C4 - pop {r0} - bx r0 - thumb_func_end sub_80A7970 - - thumb_func_start sub_80A797C -sub_80A797C: @ 80A797C - ldr r1, _080A7984 @ =gUnknown_02038554 - movs r0, 0x1 - strb r0, [r1] - bx lr - .align 2, 0 -_080A7984: .4byte gUnknown_02038554 - thumb_func_end sub_80A797C - - thumb_func_start sub_80A7988 -sub_80A7988: @ 80A7988 - ldr r1, _080A7994 @ =gUnknown_02038554 - ldrb r0, [r1] - movs r2, 0 - strb r2, [r1] - bx lr - .align 2, 0 -_080A7994: .4byte gUnknown_02038554 - thumb_func_end sub_80A7988 - - thumb_func_start sub_80A7998 -sub_80A7998: @ 80A7998 - adds r2, r0, 0 - adds r2, 0x2A - movs r1, 0 - strb r1, [r2] - strh r1, [r0, 0x2E] - strh r1, [r0, 0x30] - strh r1, [r0, 0x32] - strh r1, [r0, 0x34] - strh r1, [r0, 0x36] - ldr r1, _080A79B0 @ =sub_80A79B4 - str r1, [r0, 0x1C] - bx lr - .align 2, 0 -_080A79B0: .4byte sub_80A79B4 - thumb_func_end sub_80A7998 - - thumb_func_start sub_80A79B4 -sub_80A79B4: @ 80A79B4 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080A79E4 @ =gUnknown_0203855B - movs r1, 0 - ldrsb r1, [r0, r1] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080A79CC - adds r0, r4, 0 - bl sub_80A79EC -_080A79CC: - ldr r0, _080A79E8 @ =gUnknown_0203855C - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - beq _080A79DE - adds r0, r4, 0 - bl sub_80A7A94 -_080A79DE: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A79E4: .4byte gUnknown_0203855B -_080A79E8: .4byte gUnknown_0203855C - thumb_func_end sub_80A79B4 - - thumb_func_start sub_80A79EC -sub_80A79EC: @ 80A79EC - push {r4-r6,lr} - adds r2, r0, 0 - movs r0, 0x34 - ldrsh r4, [r2, r0] - cmp r4, 0 - beq _080A79FE - cmp r4, 0x1 - beq _080A7A54 - b _080A7A8A -_080A79FE: - ldr r5, _080A7A28 @ =gUnknown_0203855B - ldrb r6, [r5] - movs r0, 0 - ldrsb r0, [r5, r0] - cmp r0, 0x6 - beq _080A7A2C - adds r3, r2, 0 - adds r3, 0x3F - ldrb r0, [r3] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r3] - adds r0, r2, 0 - adds r0, 0x2A - strb r6, [r0] - movs r1, 0x1 - negs r1, r1 - adds r0, r1, 0 - strb r0, [r5] - b _080A7A8A - .align 2, 0 -_080A7A28: .4byte gUnknown_0203855B -_080A7A2C: - adds r3, r2, 0 - adds r3, 0x3F - ldrb r0, [r3] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r3] - adds r0, r2, 0 - adds r0, 0x2A - strb r4, [r0] - ldrh r0, [r2, 0x22] - subs r0, 0x4 - strh r0, [r2, 0x22] - movs r0, 0x4 - strh r0, [r2, 0x2E] - movs r0, 0x1 - strh r0, [r2, 0x34] - adds r0, r2, 0 - bl sub_80A7AE4 - b _080A7A8A -_080A7A54: - ldrh r4, [r2, 0x2E] - movs r0, 0x2E - ldrsh r3, [r2, r0] - cmp r3, 0 - beq _080A7A7C - ldrh r1, [r2, 0x30] - movs r3, 0x30 - ldrsh r0, [r2, r3] - cmp r0, 0 - beq _080A7A72 - ldrh r0, [r2, 0x22] - adds r0, 0x1 - strh r0, [r2, 0x22] - subs r0, r4, 0x1 - strh r0, [r2, 0x2E] -_080A7A72: - adds r0, r1, 0x1 - movs r1, 0x1 - ands r0, r1 - strh r0, [r2, 0x30] - b _080A7A8A -_080A7A7C: - ldr r1, _080A7A90 @ =gUnknown_0203855B - movs r4, 0x1 - negs r4, r4 - adds r0, r4, 0 - strb r0, [r1] - strh r3, [r2, 0x30] - strh r3, [r2, 0x34] -_080A7A8A: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A7A90: .4byte gUnknown_0203855B - thumb_func_end sub_80A79EC - - thumb_func_start sub_80A7A94 -sub_80A7A94: @ 80A7A94 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x36 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080A7AA6 - cmp r0, 0x1 - beq _080A7AC8 - b _080A7ADC -_080A7AA6: - ldrb r1, [r4, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r4, 0x1] - ldr r0, _080A7AC4 @ =gSpriteAffineAnimTable_83C1CC4 - str r0, [r4, 0x10] - adds r0, r4, 0 - bl InitSpriteAffineAnim - movs r0, 0x1 - strh r0, [r4, 0x36] - b _080A7ADC - .align 2, 0 -_080A7AC4: .4byte gSpriteAffineAnimTable_83C1CC4 -_080A7AC8: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xC - bne _080A7ADC - adds r0, r4, 0 - bl sub_80A7AE4 -_080A7ADC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A7A94 - - thumb_func_start sub_80A7AE4 -sub_80A7AE4: @ 80A7AE4 - push {lr} - ldr r2, _080A7B0C @ =gUnknown_0203855C - movs r1, 0 - strb r1, [r2] - ldrb r2, [r0, 0x1] - movs r1, 0x4 - negs r1, r1 - ands r1, r2 - strb r1, [r0, 0x1] - movs r1, 0 - strh r1, [r0, 0x32] - strh r1, [r0, 0x36] - ldrb r0, [r0, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - pop {r0} - bx r0 - .align 2, 0 -_080A7B0C: .4byte gUnknown_0203855C - thumb_func_end sub_80A7AE4 - - thumb_func_start CreateBagSprite -CreateBagSprite: @ 80A7B10 - push {lr} - ldr r0, _080A7B24 @ =gSpriteTemplate_83C1CE0 - movs r1, 0x3A - movs r2, 0x28 - movs r3, 0 - bl CreateSprite - pop {r0} - bx r0 - .align 2, 0 -_080A7B24: .4byte gSpriteTemplate_83C1CE0 - thumb_func_end CreateBagSprite - - thumb_func_start sub_80A7B28 -sub_80A7B28: @ 80A7B28 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0 - strh r0, [r4, 0x34] - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl sub_80A7B6C - ldr r0, _080A7B44 @ =sub_80A7B6C - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A7B44: .4byte sub_80A7B6C - thumb_func_end sub_80A7B28 - - thumb_func_start sub_80A7B48 -sub_80A7B48: @ 80A7B48 - ldrh r2, [r0, 0x38] - ldrh r1, [r0, 0x2E] - adds r1, 0x1 - movs r3, 0x1 - ands r1, r3 - subs r2, r1 - adds r1, r0, 0 - adds r1, 0x28 - strb r2, [r1] - ldrh r2, [r0, 0x3A] - ldrh r1, [r0, 0x2E] - adds r1, 0x1 - ands r1, r3 - subs r2, r1 - adds r0, 0x29 - strb r2, [r0] - bx lr - thumb_func_end sub_80A7B48 - - thumb_func_start sub_80A7B6C -sub_80A7B6C: @ 80A7B6C - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x3C - ldrsh r2, [r4, r0] - cmp r2, 0 - beq _080A7C16 - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080A7B86 - cmp r0, 0x1 - beq _080A7BD4 - b _080A7C16 -_080A7B86: - ldrb r0, [r4, 0x1] - movs r1, 0x4 - negs r1, r1 - ands r1, r0 - movs r0, 0x1 - orrs r1, r0 - strb r1, [r4, 0x1] - cmp r2, 0x1 - bne _080A7BA0 - ldr r0, _080A7B9C @ =gSpriteAffineAnimTable_83C1D20 - b _080A7BA2 - .align 2, 0 -_080A7B9C: .4byte gSpriteAffineAnimTable_83C1D20 -_080A7BA0: - ldr r0, _080A7BD0 @ =gSpriteAffineAnimTable_83C1D20 + 0x4 -_080A7BA2: - str r0, [r4, 0x10] - adds r0, r4, 0 - bl InitSpriteAffineAnim - movs r0, 0x1 - strh r0, [r4, 0x34] - adds r0, r4, 0 - adds r0, 0x28 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - strh r0, [r4, 0x38] - adds r0, r4, 0 - adds r0, 0x29 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - strh r0, [r4, 0x3A] - adds r0, r4, 0 - bl sub_80A7B48 - b _080A7C16 - .align 2, 0 -_080A7BD0: .4byte gSpriteAffineAnimTable_83C1D20 + 0x4 -_080A7BD4: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - movs r5, 0 - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl sub_80A7B48 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x20 - bne _080A7C16 - strh r5, [r4, 0x2E] - strh r5, [r4, 0x34] - ldrh r1, [r4, 0x38] - adds r0, r4, 0 - adds r0, 0x28 - strb r1, [r0] - ldrh r0, [r4, 0x3A] - adds r1, r4, 0 - adds r1, 0x29 - strb r0, [r1] - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldrb r1, [r4, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x1] - ldr r0, _080A7C1C @ =SpriteCallbackDummy - str r0, [r4, 0x1C] -_080A7C16: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A7C1C: .4byte SpriteCallbackDummy - thumb_func_end sub_80A7B6C - - thumb_func_start CreateBagPokeballSprite -CreateBagPokeballSprite: @ 80A7C20 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080A7C54 @ =gUnknown_083C1D30 - bl LoadSpritePalette - ldr r0, _080A7C58 @ =gSpriteTemplate_83C1D38 - movs r1, 0x10 - movs r2, 0x58 - movs r3, 0 - bl CreateSprite - ldr r1, _080A7C5C @ =gUnknown_02038568 - strb r0, [r1] - ldr r2, _080A7C60 @ =gSprites - ldrb r1, [r1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r4, [r0, 0x3C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A7C54: .4byte gUnknown_083C1D30 -_080A7C58: .4byte gSpriteTemplate_83C1D38 -_080A7C5C: .4byte gUnknown_02038568 -_080A7C60: .4byte gSprites - thumb_func_end CreateBagPokeballSprite - - thumb_func_start sub_80A7C64 -sub_80A7C64: @ 80A7C64 - push {r4,r5,lr} - movs r0, 0x8 - bl FreeSpritePaletteByTag - ldr r5, _080A7C98 @ =gSprites - ldr r4, _080A7C9C @ =gUnknown_02038568 - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r0, [r0, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - bl DestroySprite - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A7C98: .4byte gSprites -_080A7C9C: .4byte gUnknown_02038568 - thumb_func_end sub_80A7C64 - - thumb_func_start sub_80A7CA0 -sub_80A7CA0: @ 80A7CA0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - adds r4, r1, 0 - movs r2, 0x80 - lsls r2, 4 - adds r0, r4, 0 - movs r1, 0 - bl memset - movs r0, 0x80 - lsls r0, 1 - adds r4, r0 - movs r7, 0 -_080A7CBE: - adds r4, 0x20 - movs r5, 0 - adds r1, r7, 0x1 - mov r8, r1 -_080A7CC6: - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0x20 - bl memcpy - adds r4, 0x20 - adds r6, 0x20 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _080A7CC6 - cmp r7, 0x5 - beq _080A7CE4 - adds r4, 0x20 -_080A7CE4: - mov r1, r8 - lsls r0, r1, 24 - lsrs r7, r0, 24 - cmp r7, 0x5 - bls _080A7CBE - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80A7CA0 - - thumb_func_start sub_80A7CF8 -sub_80A7CF8: @ 80A7CF8 - push {r4,r5,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2A - bne _080A7D44 - bl IsEnigmaBerryValid - cmp r0, 0x1 - bne _080A7D44 - ldr r4, _080A7D34 @ =gSaveBlock1 + 0x317C - ldr r1, _080A7D38 @ =0x02000000 - adds r0, r4, 0 - bl sub_80A7CA0 - movs r0, 0x90 - lsls r0, 3 - adds r4, r0 - str r4, [sp] - ldr r1, _080A7D3C @ =0xffff0000 - ldr r0, [sp, 0x4] - ands r0, r1 - ldr r1, _080A7D40 @ =0x00007544 - orrs r0, r1 - str r0, [sp, 0x4] - mov r0, sp - bl LoadSpritePalette - b _080A7D72 - .align 2, 0 -_080A7D34: .4byte gSaveBlock1 + 0x317C -_080A7D38: .4byte 0x02000000 -_080A7D3C: .4byte 0xffff0000 -_080A7D40: .4byte 0x00007544 -_080A7D44: - ldr r5, _080A7D7C @ =gBerryGraphicsTable - lsls r4, 3 - adds r0, r5, 0x4 - adds r0, r4, r0 - ldr r0, [r0] - str r0, [sp] - mov r1, sp - ldr r0, _080A7D80 @ =0x00007544 - strh r0, [r1, 0x4] - mov r0, sp - bl LoadCompressedObjectPalette - adds r4, r5 - ldr r0, [r4] - ldr r4, _080A7D84 @ =0x02001000 - adds r1, r4, 0 - bl sub_800D238 - ldr r0, _080A7D88 @ =0xfffff000 - adds r1, r4, r0 - adds r0, r4, 0 - bl sub_80A7CA0 -_080A7D72: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A7D7C: .4byte gBerryGraphicsTable -_080A7D80: .4byte 0x00007544 -_080A7D84: .4byte 0x02001000 -_080A7D88: .4byte 0xfffff000 - thumb_func_end sub_80A7CF8 - - thumb_func_start sub_80A7D8C -sub_80A7D8C: @ 80A7D8C - push {r4,r5,lr} - adds r4, r1, 0 - adds r5, r2, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - bl sub_80A7CF8 - ldr r0, _080A7DC0 @ =gSpriteTemplate_83C1D74 - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - adds r1, r4, 0 - adds r2, r5, 0 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080A7DC0: .4byte gSpriteTemplate_83C1D74 - thumb_func_end sub_80A7D8C - - thumb_func_start sub_80A7DC4 -sub_80A7DC4: @ 80A7DC4 - ldr r1, _080A7DD0 @ =gUnknown_030041B4 - ldrh r1, [r1] - negs r1, r1 - strh r1, [r0, 0x26] - bx lr - .align 2, 0 -_080A7DD0: .4byte gUnknown_030041B4 - thumb_func_end sub_80A7DC4 - - thumb_func_start sub_80A7DD4 -sub_80A7DD4: @ 80A7DD4 - push {lr} - ldr r0, _080A7DE8 @ =0x00007544 - bl FreeSpritePaletteByTag - movs r0, 0x8 - bl FreeSpritePaletteByTag - pop {r0} - bx r0 - .align 2, 0 -_080A7DE8: .4byte 0x00007544 - thumb_func_end sub_80A7DD4 - - thumb_func_start sub_80A7DEC -sub_80A7DEC: @ 80A7DEC - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - mov r8, r3 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, _080A7E50 @ =0x00007544 - bl FreeSpritePaletteByTag - adds r0, r4, 0 - bl sub_80A7CF8 - ldr r0, _080A7E54 @ =gSpriteTemplate_83C1E04 - adds r1, r5, 0 - adds r2, r6, 0 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - adds r4, r1, 0 - mov r0, r8 - cmp r0, 0x1 - bne _080A7E42 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080A7E58 @ =gSprites - adds r0, r1 - movs r1, 0x1 - bl StartSpriteAffineAnim -_080A7E42: - adds r0, r4, 0 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080A7E50: .4byte 0x00007544 -_080A7E54: .4byte gSpriteTemplate_83C1E04 -_080A7E58: .4byte gSprites - thumb_func_end sub_80A7DEC - - thumb_func_start sub_80A7E5C -sub_80A7E5C: @ 80A7E5C - push {lr} - adds r1, r0, 0 - ldr r0, _080A7E78 @ =gSpriteTemplate_83C1F98 - lsls r1, 16 - asrs r1, 16 - movs r2, 0x63 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_080A7E78: .4byte gSpriteTemplate_83C1F98 - thumb_func_end sub_80A7E5C - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokeblock.s b/asm/pokeblock.s deleted file mode 100644 index 5b6522144..000000000 --- a/asm/pokeblock.s +++ /dev/null @@ -1,2675 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_810B674 -sub_810B674: @ 810B674 - push {lr} - bl AnimateSprites - bl BuildOamBuffer - bl RunTasks - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_810B674 - - thumb_func_start sub_810B68C -sub_810B68C: @ 810B68C - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - ldr r1, _0810B6B0 @ =gBGTilemapBuffers + 0x1000 - ldr r2, _0810B6B4 @ =0x06007800 - ldr r0, _0810B6B8 @ =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, _0810B6BC @ =0x80000400 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - pop {r0} - bx r0 - .align 2, 0 -_0810B6B0: .4byte gBGTilemapBuffers + 0x1000 -_0810B6B4: .4byte 0x06007800 -_0810B6B8: .4byte 0x040000d4 -_0810B6BC: .4byte 0x80000400 - thumb_func_end sub_810B68C - - thumb_func_start sub_810B6C0 -sub_810B6C0: @ 810B6C0 - push {r4,lr} - sub sp, 0x4 - ldr r0, _0810B6DC @ =gMain - ldr r1, _0810B6E0 @ =0x0000043c - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x12 - bls _0810B6D2 - b _0810B960 -_0810B6D2: - lsls r0, 2 - ldr r1, _0810B6E4 @ =_0810B6E8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0810B6DC: .4byte gMain -_0810B6E0: .4byte 0x0000043c -_0810B6E4: .4byte _0810B6E8 - .align 2, 0 -_0810B6E8: - .4byte _0810B734 - .4byte _0810B764 - .4byte _0810B76A - .4byte _0810B78C - .4byte _0810B792 - .4byte _0810B7B4 - .4byte _0810B7C0 - .4byte _0810B7DC - .4byte _0810B7E8 - .4byte _0810B804 - .4byte _0810B810 - .4byte _0810B830 - .4byte _0810B84C - .4byte _0810B86A - .4byte _0810B894 - .4byte _0810B89E - .4byte _0810B8C4 - .4byte _0810B914 - .4byte _0810B934 -_0810B734: - bl sub_80F9438 - bl sub_80F9368 - ldr r1, _0810B754 @ =REG_BG2CNT - ldr r2, _0810B758 @ =0x00000f0a - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x44 - movs r0, 0 - strh r0, [r1] - ldr r1, _0810B75C @ =gMain - ldr r0, _0810B760 @ =0x0000043c - adds r1, r0 - b _0810B922 - .align 2, 0 -_0810B754: .4byte REG_BG2CNT -_0810B758: .4byte 0x00000f0a -_0810B75C: .4byte gMain -_0810B760: .4byte 0x0000043c -_0810B764: - bl remove_some_task - b _0810B91C -_0810B76A: - bl ResetPaletteFade - ldr r2, _0810B780 @ =gPaletteFade - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x8] - ldr r1, _0810B784 @ =gMain - ldr r0, _0810B788 @ =0x0000043c - adds r1, r0 - b _0810B922 - .align 2, 0 -_0810B780: .4byte gPaletteFade -_0810B784: .4byte gMain -_0810B788: .4byte 0x0000043c -_0810B78C: - bl ResetSpriteData - b _0810B91C -_0810B792: - ldr r0, _0810B7A8 @ =gUnknown_02039244 - ldrb r0, [r0] - cmp r0, 0x2 - beq _0810B79E - bl ResetTasks -_0810B79E: - ldr r1, _0810B7AC @ =gMain - ldr r0, _0810B7B0 @ =0x0000043c - adds r1, r0 - b _0810B922 - .align 2, 0 -_0810B7A8: .4byte gUnknown_02039244 -_0810B7AC: .4byte gMain -_0810B7B0: .4byte 0x0000043c -_0810B7B4: - ldr r0, _0810B7BC @ =gWindowConfig_81E6E34 - bl SetUpWindowConfig - b _0810B91C - .align 2, 0 -_0810B7BC: .4byte gWindowConfig_81E6E34 -_0810B7C0: - ldr r0, _0810B7D0 @ =gWindowConfig_81E6E50 - bl SetUpWindowConfig - ldr r1, _0810B7D4 @ =gMain - ldr r0, _0810B7D8 @ =0x0000043c - adds r1, r0 - b _0810B922 - .align 2, 0 -_0810B7D0: .4byte gWindowConfig_81E6E50 -_0810B7D4: .4byte gMain -_0810B7D8: .4byte 0x0000043c -_0810B7DC: - ldr r0, _0810B7E4 @ =gWindowConfig_81E6E34 - bl MultistepInitMenuWindowBegin - b _0810B91C - .align 2, 0 -_0810B7E4: .4byte gWindowConfig_81E6E34 -_0810B7E8: - bl MultistepInitMenuWindowContinue - cmp r0, 0 - bne _0810B7F2 - b _0810B960 -_0810B7F2: - ldr r1, _0810B7FC @ =gMain - ldr r0, _0810B800 @ =0x0000043c - adds r1, r0 - b _0810B922 - .align 2, 0 -_0810B7FC: .4byte gMain -_0810B800: .4byte 0x0000043c -_0810B804: - ldr r0, _0810B80C @ =gWindowConfig_81E6E50 - bl MultistepInitMenuWindowBegin - b _0810B91C - .align 2, 0 -_0810B80C: .4byte gWindowConfig_81E6E50 -_0810B810: - bl MultistepInitMenuWindowContinue - cmp r0, 0 - bne _0810B81A - b _0810B960 -_0810B81A: - ldr r0, _0810B828 @ =0x02000000 - ldr r1, _0810B82C @ =0x0001ffff - adds r0, r1 - movs r1, 0 - strb r1, [r0] - b _0810B91C - .align 2, 0 -_0810B828: .4byte 0x02000000 -_0810B82C: .4byte 0x0001ffff -_0810B830: - bl sub_810B998 - lsls r0, 24 - cmp r0, 0 - bne _0810B83C - b _0810B960 -_0810B83C: - ldr r1, _0810B844 @ =gMain - ldr r0, _0810B848 @ =0x0000043c - adds r1, r0 - b _0810B922 - .align 2, 0 -_0810B844: .4byte gMain -_0810B848: .4byte 0x0000043c -_0810B84C: - bl sub_80F944C - bl LoadScrollIndicatorPalette - movs r0, 0 - movs r1, 0xB0 - movs r2, 0x8 - bl CreateVerticalScrollIndicators - movs r0, 0x1 - movs r1, 0xB0 - movs r2, 0x98 - bl CreateVerticalScrollIndicators - b _0810B91C -_0810B86A: - movs r0, 0x38 - movs r1, 0x40 - movs r2, 0 - bl sub_810BA50 - ldr r1, _0810B884 @ =0x02000000 - ldr r2, _0810B888 @ =0x0001fffe - adds r1, r2 - strb r0, [r1] - ldr r1, _0810B88C @ =gMain - ldr r0, _0810B890 @ =0x0000043c - adds r1, r0 - b _0810B922 - .align 2, 0 -_0810B884: .4byte 0x02000000 -_0810B888: .4byte 0x0001fffe -_0810B88C: .4byte gMain -_0810B890: .4byte 0x0000043c -_0810B894: - bl sub_810BC98 - bl sub_810BD08 - b _0810B91C -_0810B89E: - bl sub_810BB0C - bl sub_810BB30 - ldr r0, _0810B8B8 @ =gUnknown_02039248 - ldrb r0, [r0, 0x1] - bl sub_810BC84 - ldr r1, _0810B8BC @ =gMain - ldr r0, _0810B8C0 @ =0x0000043c - adds r1, r0 - b _0810B922 - .align 2, 0 -_0810B8B8: .4byte gUnknown_02039248 -_0810B8BC: .4byte gMain -_0810B8C0: .4byte 0x0000043c -_0810B8C4: - ldr r3, _0810B8FC @ =0x04000208 - ldrh r2, [r3] - movs r0, 0 - strh r0, [r3] - ldr r4, _0810B900 @ =0x04000200 - ldrh r0, [r4] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r4] - strh r2, [r3] - ldr r2, _0810B904 @ =REG_DISPSTAT - ldrh r0, [r2] - movs r1, 0x8 - orrs r0, r1 - strh r0, [r2] - ldr r0, _0810B908 @ =sub_810B68C - bl SetVBlankCallback - movs r1, 0x80 - lsls r1, 19 - movs r2, 0xBA - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, _0810B90C @ =gMain - ldr r0, _0810B910 @ =0x0000043c - adds r1, r0 - b _0810B922 - .align 2, 0 -_0810B8FC: .4byte 0x04000208 -_0810B900: .4byte 0x04000200 -_0810B904: .4byte REG_DISPSTAT -_0810B908: .4byte sub_810B68C -_0810B90C: .4byte gMain -_0810B910: .4byte 0x0000043c -_0810B914: - bl sub_8055870 - cmp r0, 0x1 - beq _0810B960 -_0810B91C: - ldr r1, _0810B92C @ =gMain - ldr r2, _0810B930 @ =0x0000043c - adds r1, r2 -_0810B922: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0810B960 - .align 2, 0 -_0810B92C: .4byte gMain -_0810B930: .4byte 0x0000043c -_0810B934: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r2, _0810B958 @ =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] - ldr r0, _0810B95C @ =sub_810B674 - bl SetMainCallback2 - movs r0, 0x1 - b _0810B962 - .align 2, 0 -_0810B958: .4byte gPaletteFade -_0810B95C: .4byte sub_810B674 -_0810B960: - movs r0, 0 -_0810B962: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_810B6C0 - - thumb_func_start sub_810B96C -sub_810B96C: @ 810B96C - push {lr} -_0810B96E: - bl sub_810B6C0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0810B988 - ldr r0, _0810B984 @ =sub_810BF7C - movs r1, 0 - bl CreateTask - b _0810B994 - .align 2, 0 -_0810B984: .4byte sub_810BF7C -_0810B988: - bl sub_80F9344 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0810B96E -_0810B994: - pop {r0} - bx r0 - thumb_func_end sub_810B96C - - thumb_func_start sub_810B998 -sub_810B998: @ 810B998 - push {lr} - ldr r0, _0810B9B0 @ =0x02000000 - ldr r1, _0810B9B4 @ =0x0001ffff - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x4 - bhi _0810BA48 - lsls r0, 2 - ldr r1, _0810B9B8 @ =_0810B9BC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0810B9B0: .4byte 0x02000000 -_0810B9B4: .4byte 0x0001ffff -_0810B9B8: .4byte _0810B9BC - .align 2, 0 -_0810B9BC: - .4byte _0810B9D0 - .4byte _0810B9E4 - .4byte _0810B9F8 - .4byte _0810BA08 - .4byte _0810BA28 -_0810B9D0: - ldr r0, _0810B9DC @ =gMenuPokeblock_Gfx - ldr r1, _0810B9E0 @ =0x06008000 - bl LZDecompressVram - b _0810BA0E - .align 2, 0 -_0810B9DC: .4byte gMenuPokeblock_Gfx -_0810B9E0: .4byte 0x06008000 -_0810B9E4: - ldr r0, _0810B9F0 @ =gMenuPokeblock_Tilemap - ldr r1, _0810B9F4 @ =gBGTilemapBuffers + 0x1000 - bl sub_800D238 - b _0810BA0E - .align 2, 0 -_0810B9F0: .4byte gMenuPokeblock_Tilemap -_0810B9F4: .4byte gBGTilemapBuffers + 0x1000 -_0810B9F8: - ldr r0, _0810BA04 @ =gMenuPokeblock_Pal - movs r1, 0 - movs r2, 0xC0 - bl LoadCompressedPalette - b _0810BA0E - .align 2, 0 -_0810BA04: .4byte gMenuPokeblock_Pal -_0810BA08: - ldr r0, _0810BA1C @ =gUnknown_083F7F74 - bl LoadCompressedObjectPic -_0810BA0E: - ldr r1, _0810BA20 @ =0x02000000 - ldr r0, _0810BA24 @ =0x0001ffff - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0810BA48 - .align 2, 0 -_0810BA1C: .4byte gUnknown_083F7F74 -_0810BA20: .4byte 0x02000000 -_0810BA24: .4byte 0x0001ffff -_0810BA28: - ldr r0, _0810BA3C @ =gUnknown_083F7F7C - bl LoadCompressedObjectPalette - ldr r0, _0810BA40 @ =0x02000000 - ldr r1, _0810BA44 @ =0x0001ffff - adds r0, r1 - movs r1, 0 - strb r1, [r0] - movs r0, 0x1 - b _0810BA4A - .align 2, 0 -_0810BA3C: .4byte gUnknown_083F7F7C -_0810BA40: .4byte 0x02000000 -_0810BA44: .4byte 0x0001ffff -_0810BA48: - movs r0, 0 -_0810BA4A: - pop {r1} - bx r1 - thumb_func_end sub_810B998 - - thumb_func_start sub_810BA50 -sub_810BA50: @ 810BA50 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r3, r2, 0 - lsls r3, 24 - lsrs r3, 24 - ldr r0, _0810BA78 @ =gSpriteTemplate_83F7F84 - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - adds r1, r4, 0 - adds r2, r5, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0810BA78: .4byte gSpriteTemplate_83F7F84 - thumb_func_end sub_810BA50 - - thumb_func_start sub_810BA7C -sub_810BA7C: @ 810BA7C - push {lr} - ldr r1, _0810BA98 @ =gUnknown_02039244 - strb r0, [r1] - ldrb r2, [r1] - cmp r2, 0x2 - beq _0810BAA8 - cmp r2, 0x3 - beq _0810BAC0 - ldr r1, _0810BA9C @ =gUnknown_03000758 - ldr r0, _0810BAA0 @ =gUnknown_083F7F1C - str r0, [r1] - ldr r1, _0810BAA4 @ =gUnknown_0203924C - movs r0, 0x3 - b _0810BACA - .align 2, 0 -_0810BA98: .4byte gUnknown_02039244 -_0810BA9C: .4byte gUnknown_03000758 -_0810BAA0: .4byte gUnknown_083F7F1C -_0810BAA4: .4byte gUnknown_0203924C -_0810BAA8: - ldr r0, _0810BAB4 @ =gUnknown_03000758 - ldr r1, _0810BAB8 @ =gUnknown_083F7F1F - str r1, [r0] - ldr r0, _0810BABC @ =gUnknown_0203924C - strb r2, [r0] - b _0810BACC - .align 2, 0 -_0810BAB4: .4byte gUnknown_03000758 -_0810BAB8: .4byte gUnknown_083F7F1F -_0810BABC: .4byte gUnknown_0203924C -_0810BAC0: - ldr r1, _0810BAD0 @ =gUnknown_03000758 - ldr r0, _0810BAD4 @ =gUnknown_083F7F21 - str r0, [r1] - ldr r1, _0810BAD8 @ =gUnknown_0203924C - movs r0, 0x2 -_0810BACA: - strb r0, [r1] -_0810BACC: - pop {r0} - bx r0 - .align 2, 0 -_0810BAD0: .4byte gUnknown_03000758 -_0810BAD4: .4byte gUnknown_083F7F21 -_0810BAD8: .4byte gUnknown_0203924C - thumb_func_end sub_810BA7C - - thumb_func_start sub_810BADC -sub_810BADC: @ 810BADC - push {lr} - movs r0, 0x2 - bl sub_810BA7C - ldr r0, _0810BAF0 @ =sub_810B96C - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_0810BAF0: .4byte sub_810B96C - thumb_func_end sub_810BADC - - thumb_func_start sub_810BAF4 -sub_810BAF4: @ 810BAF4 - push {lr} - movs r0, 0x3 - bl sub_810BA7C - ldr r0, _0810BB08 @ =sub_810B96C - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_0810BB08: .4byte sub_810B96C - thumb_func_end sub_810BAF4 - - thumb_func_start sub_810BB0C -sub_810BB0C: @ 810BB0C - push {lr} - ldr r0, _0810BB28 @ =gWindowConfig_81E6E34 - bl BasicInitMenuWindow - ldr r0, _0810BB2C @ =0x00000111 - bl ItemId_GetItem - movs r1, 0x2 - movs r2, 0x1 - movs r3, 0x48 - bl sub_8072BD8 - pop {r0} - bx r0 - .align 2, 0 -_0810BB28: .4byte gWindowConfig_81E6E34 -_0810BB2C: .4byte 0x00000111 - thumb_func_end sub_810BB0C - - thumb_func_start sub_810BB30 -sub_810BB30: @ 810BB30 - push {lr} - ldr r0, _0810BB70 @ =gWindowConfig_81E6E34 - bl BasicInitMenuWindow - ldr r0, _0810BB74 @ =gContestStatsText_Spicy - movs r1, 0x2 - movs r2, 0xD - bl MenuPrint - ldr r0, _0810BB78 @ =gContestStatsText_Dry - movs r1, 0x2 - movs r2, 0xF - bl MenuPrint - ldr r0, _0810BB7C @ =gContestStatsText_Sweet - movs r1, 0x2 - movs r2, 0x11 - bl MenuPrint - ldr r0, _0810BB80 @ =gContestStatsText_Bitter - movs r1, 0x8 - movs r2, 0xD - bl MenuPrint - ldr r0, _0810BB84 @ =gContestStatsText_Sour - movs r1, 0x8 - movs r2, 0xF - bl MenuPrint - pop {r0} - bx r0 - .align 2, 0 -_0810BB70: .4byte gWindowConfig_81E6E34 -_0810BB74: .4byte gContestStatsText_Spicy -_0810BB78: .4byte gContestStatsText_Dry -_0810BB7C: .4byte gContestStatsText_Sweet -_0810BB80: .4byte gContestStatsText_Bitter -_0810BB84: .4byte gContestStatsText_Sour - thumb_func_end sub_810BB30 - - thumb_func_start sub_810BB88 -sub_810BB88: @ 810BB88 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, _0810BBF4 @ =gWindowConfig_81E6E34 - bl BasicInitMenuWindow - mov r6, r8 - adds r0, r6, 0 - adds r0, 0x8 - cmp r6, r0 - bgt _0810BC6C - ldr r0, _0810BBF8 @ =gStringVar1 - mov r9, r0 - ldr r1, _0810BBFC @ =gSaveBlock1 - mov r10, r1 -_0810BBB0: - mov r1, r8 - subs r0, r6, r1 - lsls r0, 25 - lsrs r7, r0, 24 - ldr r0, _0810BC00 @ =gUnknown_02039248 - ldrb r0, [r0, 0x2] - cmp r6, r0 - bne _0810BC08 - mov r0, r9 - ldr r1, _0810BC04 @ =gContestStatsText_StowCase - movs r2, 0x78 - movs r3, 0 - bl sub_8072C74 - movs r2, 0x1 - orrs r2, r7 - mov r0, r9 - movs r1, 0xF - bl MenuPrint - mov r0, r8 - adds r0, 0x8 - cmp r6, r0 - beq _0810BC6C - adds r1, r7, 0x3 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0xF - movs r2, 0x1D - movs r3, 0x12 - bl MenuZeroFillWindowRect - b _0810BC6C - .align 2, 0 -_0810BBF4: .4byte gWindowConfig_81E6E34 -_0810BBF8: .4byte gStringVar1 -_0810BBFC: .4byte gSaveBlock1 -_0810BC00: .4byte gUnknown_02039248 -_0810BC04: .4byte gContestStatsText_StowCase -_0810BC08: - lsls r5, r6, 3 - mov r1, r10 - adds r0, r5, r1 - movs r1, 0xFF - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 2 - ldr r1, _0810BC7C @ =gPokeblockNames - adds r0, r1 - ldr r1, [r0] - mov r0, r9 - movs r2, 0x5E - movs r3, 0 - bl sub_8072C74 - adds r4, r0, 0 - movs r0, 0xFC - strb r0, [r4] - movs r0, 0x14 - strb r0, [r4, 0x1] - movs r0, 0x6 - strb r0, [r4, 0x2] - adds r4, 0x3 - ldr r0, _0810BC80 @ =gSaveBlock1 + 0x7F8 - adds r5, r0 - adds r0, r5, 0 - bl sub_810C9B0 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - movs r2, 0x1 - orrs r2, r7 - mov r0, r9 - movs r1, 0xF - bl MenuPrint - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - mov r0, r8 - adds r0, 0x8 - cmp r6, r0 - ble _0810BBB0 -_0810BC6C: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0810BC7C: .4byte gPokeblockNames -_0810BC80: .4byte gSaveBlock1 + 0x7F8 - thumb_func_end sub_810BB88 - - thumb_func_start sub_810BC84 -sub_810BC84: @ 810BC84 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_810BB88 - movs r0, 0 - bl sub_810BDAC - pop {r0} - bx r0 - thumb_func_end sub_810BC84 - - thumb_func_start sub_810BC98 -sub_810BC98: @ 810BC98 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r2, 0 - ldr r0, _0810BD00 @ =gSaveBlock1 - mov r9, r0 -_0810BCA6: - adds r1, r2, 0x1 - lsls r0, r1, 16 - lsrs r5, r0, 16 - mov r8, r1 - cmp r5, 0x27 - bhi _0810BCE8 - lsls r1, r2, 3 - mov r2, r9 - adds r0, r1, r2 - movs r2, 0xFF - lsls r2, 3 - adds r7, r0, r2 - ldr r0, _0810BD04 @ =gSaveBlock1 + 0x7F8 - mov r12, r0 - adds r6, r1, r0 -_0810BCC4: - ldrb r0, [r7] - cmp r0, 0 - bne _0810BCDE - ldr r3, [r6] - ldr r4, [r6, 0x4] - lsls r2, r5, 3 - add r2, r12 - ldr r0, [r2] - ldr r1, [r2, 0x4] - str r0, [r6] - str r1, [r6, 0x4] - str r3, [r2] - str r4, [r2, 0x4] -_0810BCDE: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x27 - bls _0810BCC4 -_0810BCE8: - mov r1, r8 - lsls r0, r1, 16 - lsrs r2, r0, 16 - cmp r2, 0x26 - bls _0810BCA6 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0810BD00: .4byte gSaveBlock1 -_0810BD04: .4byte gSaveBlock1 + 0x7F8 - thumb_func_end sub_810BC98 - - thumb_func_start sub_810BD08 -sub_810BD08: @ 810BD08 - push {r4,r5,lr} - ldr r1, _0810BD5C @ =gUnknown_02039248 - movs r0, 0 - strb r0, [r1, 0x2] - movs r2, 0 - ldr r5, _0810BD60 @ =gSaveBlock1 - movs r4, 0xFF - lsls r4, 3 - adds r3, r1, 0 -_0810BD1A: - lsls r0, r2, 3 - adds r0, r5 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - beq _0810BD2C - ldrb r0, [r3, 0x2] - adds r0, 0x1 - strb r0, [r3, 0x2] -_0810BD2C: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x27 - bls _0810BD1A - ldrb r0, [r1, 0x2] - cmp r0, 0x7 - bls _0810BD3E - movs r0, 0x8 -_0810BD3E: - strb r0, [r1, 0x3] - ldrb r2, [r1, 0x1] - adds r0, r2, 0 - adds r0, 0x8 - ldrb r3, [r1, 0x2] - cmp r0, r3 - ble _0810BD54 - cmp r2, 0 - beq _0810BD54 - subs r0, r2, 0x1 - strb r0, [r1, 0x1] -_0810BD54: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810BD5C: .4byte gUnknown_02039248 -_0810BD60: .4byte gSaveBlock1 - thumb_func_end sub_810BD08 - - thumb_func_start sub_810BD64 -sub_810BD64: @ 810BD64 - push {r4,r5,lr} - lsls r0, 16 - lsrs r3, r0, 16 - movs r2, 0 - ldr r5, _0810BDA4 @ =gUnknown_02039248 - ldr r4, _0810BDA8 @ =gBGTilemapBuffers + 0x1000 -_0810BD70: - ldrb r0, [r5] - lsls r0, 1 - adds r0, 0x1 - lsls r0, 5 - adds r1, r2, 0 - adds r1, 0xF - adds r0, r1 - lsls r0, 1 - adds r0, r4 - strh r3, [r0] - ldrb r0, [r5] - lsls r0, 6 - adds r0, 0x40 - adds r0, r1 - lsls r0, 1 - adds r0, r4 - strh r3, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xD - bls _0810BD70 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810BDA4: .4byte gUnknown_02039248 -_0810BDA8: .4byte gBGTilemapBuffers + 0x1000 - thumb_func_end sub_810BD64 - - thumb_func_start sub_810BDAC -sub_810BDAC: @ 810BDAC - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - cmp r0, 0 - bne _0810BDCC - ldr r0, _0810BDC4 @ =0x00001005 - ldr r1, _0810BDC8 @ =0x00001014 - bl sub_810BD64 - b _0810BDD4 - .align 2, 0 -_0810BDC4: .4byte 0x00001005 -_0810BDC8: .4byte 0x00001014 -_0810BDCC: - ldr r0, _0810BDE8 @ =0x00002005 - ldr r1, _0810BDEC @ =0x00002014 - bl sub_810BD64 -_0810BDD4: - ldr r0, _0810BDF0 @ =gUnknown_02039248 - ldrb r0, [r0, 0x1] - cmp r0, 0 - beq _0810BDF4 - movs r0, 0 - movs r1, 0 - bl sub_80F979C - b _0810BDFC - .align 2, 0 -_0810BDE8: .4byte 0x00002005 -_0810BDEC: .4byte 0x00002014 -_0810BDF0: .4byte gUnknown_02039248 -_0810BDF4: - movs r0, 0 - movs r1, 0x1 - bl sub_80F979C -_0810BDFC: - ldr r2, _0810BE1C @ =gUnknown_02039248 - ldrb r0, [r2, 0x2] - ldrb r1, [r2, 0x3] - cmp r0, r1 - bls _0810BE20 - ldrb r0, [r2, 0x1] - ldrb r1, [r2, 0x3] - adds r0, r1 - ldrb r2, [r2, 0x2] - cmp r0, r2 - beq _0810BE20 - movs r0, 0x1 - movs r1, 0 - bl sub_80F979C - b _0810BE28 - .align 2, 0 -_0810BE1C: .4byte gUnknown_02039248 -_0810BE20: - movs r0, 0x1 - movs r1, 0x1 - bl sub_80F979C -_0810BE28: - movs r6, 0 - ldr r7, _0810BE94 @ =gBGTilemapBuffers + 0x1000 - movs r0, 0xF - mov r8, r0 -_0810BE30: - adds r0, r6, 0 - movs r1, 0x3 - bl __umodsi3 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 18 - ldr r1, _0810BE98 @ =0x000001a1 - adds r4, r1 - adds r0, r6, 0 - movs r1, 0x3 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 1 - adds r5, r4, r1 - ldr r1, _0810BE9C @ =gUnknown_02039248 - ldrb r2, [r1] - ldrb r0, [r1, 0x1] - adds r0, r2, r0 - ldrb r1, [r1, 0x2] - cmp r0, r1 - beq _0810BEB8 - lsls r0, 3 - ldr r1, _0810BEA0 @ =gSaveBlock1 + 0x7F8 - adds r0, r1 - adds r4, r6, 0x1 - lsls r1, r4, 24 - lsrs r1, 24 - bl sub_810CA9C - lsls r0, 16 - cmp r0, 0 - ble _0810BEA4 - lsls r1, r5, 1 - adds r1, r7 - lsls r2, r6, 12 - adds r0, r2, 0 - adds r0, 0x17 - strh r0, [r1] - adds r0, r5, 0 - adds r0, 0x20 - lsls r0, 1 - adds r0, r7 - adds r2, 0x18 - strh r2, [r0] - b _0810BECC - .align 2, 0 -_0810BE94: .4byte gBGTilemapBuffers + 0x1000 -_0810BE98: .4byte 0x000001a1 -_0810BE9C: .4byte gUnknown_02039248 -_0810BEA0: .4byte gSaveBlock1 + 0x7F8 -_0810BEA4: - lsls r0, r5, 1 - adds r0, r7 - mov r1, r8 - strh r1, [r0] - adds r0, r5, 0 - adds r0, 0x20 - lsls r0, 1 - adds r0, r7 - strh r1, [r0] - b _0810BECC -_0810BEB8: - lsls r0, r5, 1 - adds r0, r7 - mov r1, r8 - strh r1, [r0] - adds r0, r5, 0 - adds r0, 0x20 - lsls r0, 1 - adds r0, r7 - strh r1, [r0] - adds r4, r6, 0x1 -_0810BECC: - lsls r0, r4, 24 - lsrs r6, r0, 24 - cmp r6, 0x4 - bls _0810BE30 - ldr r0, _0810BF10 @ =gWindowConfig_81E6E34 - bl BasicInitMenuWindow - ldr r0, _0810BF14 @ =gUnknown_02039248 - ldrb r2, [r0] - ldrb r1, [r0, 0x1] - adds r2, r1 - ldrb r0, [r0, 0x2] - cmp r2, r0 - beq _0810BF20 - ldr r4, _0810BF18 @ =gStringVar1 - lsls r0, r2, 3 - ldr r1, _0810BF1C @ =gSaveBlock1 + 0x7F8 - adds r0, r1 - bl sub_810C9E8 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - movs r2, 0x10 - movs r3, 0x1 - bl sub_8072C14 - adds r0, r4, 0 - movs r1, 0xB - movs r2, 0x11 - bl MenuPrint - b _0810BF2C - .align 2, 0 -_0810BF10: .4byte gWindowConfig_81E6E34 -_0810BF14: .4byte gUnknown_02039248 -_0810BF18: .4byte gStringVar1 -_0810BF1C: .4byte gSaveBlock1 + 0x7F8 -_0810BF20: - movs r0, 0xB - movs r1, 0x11 - movs r2, 0xC - movs r3, 0x12 - bl MenuZeroFillWindowRect -_0810BF2C: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_810BDAC - - thumb_func_start sub_810BF38 -sub_810BF38: @ 810BF38 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x5 - bl PlaySE - ldr r2, _0810BF6C @ =gSprites - ldr r0, _0810BF70 @ =0x02000000 - ldr r1, _0810BF74 @ =0x0001fffe - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, _0810BF78 @ =sub_810C8D4 - str r1, [r0] - adds r0, r4, 0 - bl sub_810BDAC - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810BF6C: .4byte gSprites -_0810BF70: .4byte 0x02000000 -_0810BF74: .4byte 0x0001fffe -_0810BF78: .4byte sub_810C8D4 - thumb_func_end sub_810BF38 - - thumb_func_start sub_810BF7C -sub_810BF7C: @ 810BF7C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, r5, 0 - ldr r0, _0810BFB8 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r3, 0x80 - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _0810BF94 - b _0810C0B8 -_0810BF94: - ldr r2, _0810BFBC @ =gMain - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0810BFCE - ldr r4, _0810BFC0 @ =gUnknown_02039248 - ldrb r0, [r4] - cmp r0, 0 - beq _0810BFC4 - movs r0, 0x5 - movs r1, 0x14 - bl sub_810BD64 - ldrb r0, [r4] - subs r0, 0x1 - strb r0, [r4] - b _0810C00A - .align 2, 0 -_0810BFB8: .4byte gPaletteFade -_0810BFBC: .4byte gMain -_0810BFC0: .4byte gUnknown_02039248 -_0810BFC4: - ldrb r0, [r4, 0x1] - cmp r0, 0 - beq _0810C0B8 - subs r0, 0x1 - b _0810C002 -_0810BFCE: - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _0810C012 - ldr r4, _0810BFF0 @ =gUnknown_02039248 - ldrb r0, [r4] - ldrb r1, [r4, 0x3] - cmp r0, r1 - beq _0810BFF4 - movs r0, 0x5 - movs r1, 0x14 - bl sub_810BD64 - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _0810C00A - .align 2, 0 -_0810BFF0: .4byte gUnknown_02039248 -_0810BFF4: - ldrb r1, [r4, 0x1] - ldrb r0, [r4] - adds r0, r1, r0 - ldrb r2, [r4, 0x2] - cmp r0, r2 - beq _0810C0B8 - adds r0, r1, 0x1 -_0810C002: - strb r0, [r4, 0x1] - ldrb r0, [r4, 0x1] - bl sub_810BB88 -_0810C00A: - movs r0, 0 - bl sub_810BF38 - b _0810C0B8 -_0810C012: - ldrh r1, [r2, 0x2E] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0810C05C - ldr r4, _0810C050 @ =gUnknown_02039248 - ldrb r0, [r4, 0x1] - ldrb r1, [r4] - adds r0, r1 - ldrb r1, [r4, 0x2] - cmp r0, r1 - beq _0810C0B8 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - bl sub_810BDAC - ldr r1, _0810C054 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldrb r1, [r4, 0x1] - ldrb r2, [r4] - adds r1, r2 - strh r1, [r0, 0x8] - ldr r1, _0810C058 @ =sub_810C0C8 - str r1, [r0] - b _0810C0B8 - .align 2, 0 -_0810C050: .4byte gUnknown_02039248 -_0810C054: .4byte gTasks -_0810C058: .4byte sub_810C0C8 -_0810C05C: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0810C09C - movs r0, 0x5 - bl PlaySE - ldr r0, _0810C088 @ =gUnknown_02039248 - ldrb r1, [r0, 0x1] - ldrb r2, [r0] - adds r1, r2 - ldrb r0, [r0, 0x2] - cmp r1, r0 - bne _0810C094 - ldr r1, _0810C08C @ =gScriptResult - ldr r2, _0810C090 @ =0x0000ffff - adds r0, r2, 0 - strh r0, [r1] - adds r0, r5, 0 - bl sub_810C31C - b _0810C0B8 - .align 2, 0 -_0810C088: .4byte gUnknown_02039248 -_0810C08C: .4byte gScriptResult -_0810C090: .4byte 0x0000ffff -_0810C094: - adds r0, r5, 0 - bl sub_810C368 - b _0810C0B8 -_0810C09C: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0810C0B8 - movs r0, 0x5 - bl PlaySE - ldr r1, _0810C0C0 @ =gScriptResult - ldr r2, _0810C0C4 @ =0x0000ffff - adds r0, r2, 0 - strh r0, [r1] - adds r0, r4, 0 - bl sub_810C31C -_0810C0B8: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810C0C0: .4byte gScriptResult -_0810C0C4: .4byte 0x0000ffff - thumb_func_end sub_810BF7C - - thumb_func_start sub_810C0C8 -sub_810C0C8: @ 810C0C8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r2, _0810C0F4 @ =gMain - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0810C110 - ldr r4, _0810C0F8 @ =gUnknown_02039248 - ldrb r0, [r4] - cmp r0, 0 - beq _0810C0FC - movs r0, 0x5 - movs r1, 0x14 - bl sub_810BD64 - ldrb r0, [r4] - subs r0, 0x1 - strb r0, [r4] - b _0810C158 - .align 2, 0 -_0810C0F4: .4byte gMain -_0810C0F8: .4byte gUnknown_02039248 -_0810C0FC: - ldrb r0, [r4, 0x1] - cmp r0, 0 - beq _0810C1BA - adds r0, r5, 0 - movs r1, 0 - bl sub_810C1C8 - ldrb r0, [r4, 0x1] - subs r0, 0x1 - b _0810C150 -_0810C110: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0810C168 - ldr r4, _0810C134 @ =gUnknown_02039248 - ldrb r0, [r4] - ldrb r1, [r4, 0x3] - cmp r0, r1 - beq _0810C138 - movs r0, 0x5 - movs r1, 0x14 - bl sub_810BD64 - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _0810C158 - .align 2, 0 -_0810C134: .4byte gUnknown_02039248 -_0810C138: - ldrb r0, [r4, 0x1] - ldrb r1, [r4] - adds r0, r1 - ldrb r1, [r4, 0x2] - cmp r0, r1 - beq _0810C1BA - adds r0, r5, 0 - movs r1, 0 - bl sub_810C1C8 - ldrb r0, [r4, 0x1] - adds r0, 0x1 -_0810C150: - strb r0, [r4, 0x1] - ldrb r0, [r4, 0x1] - bl sub_810BB88 -_0810C158: - movs r0, 0x1 - bl sub_810BF38 - adds r0, r5, 0 - movs r1, 0x1 - bl sub_810C1C8 - b _0810C1BA -_0810C168: - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0810C17A - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0810C190 -_0810C17A: - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - movs r1, 0 - bl sub_810C1C8 - adds r0, r5, 0 - bl sub_810C23C - b _0810C1AC -_0810C190: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0810C1BA - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - movs r1, 0 - bl sub_810C1C8 - movs r0, 0 - bl sub_810BDAC -_0810C1AC: - ldr r0, _0810C1C0 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, _0810C1C4 @ =sub_810BF7C - str r0, [r1] -_0810C1BA: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810C1C0: .4byte gTasks -_0810C1C4: .4byte sub_810BF7C - thumb_func_end sub_810C0C8 - - thumb_func_start sub_810C1C8 -sub_810C1C8: @ 810C1C8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 24 - ldr r6, _0810C22C @ =0x00001005 - cmp r1, 0 - bne _0810C1D8 - movs r6, 0x5 -_0810C1D8: - ldr r1, _0810C230 @ =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r1 - ldr r2, _0810C234 @ =gUnknown_02039248 - ldrb r1, [r2, 0x1] - ldrh r0, [r0, 0x8] - subs r0, r1 - lsls r1, r0, 16 - lsrs r0, r1, 16 - cmp r0, 0x8 - bhi _0810C226 - asrs r0, r1, 16 - ldrb r2, [r2] - cmp r0, r2 - beq _0810C226 - movs r2, 0 - lsls r0, 1 - adds r1, r0, 0x1 - lsls r5, r1, 5 - ldr r3, _0810C238 @ =gBGTilemapBuffers + 0x1000 - adds r0, 0x2 - lsls r4, r0, 5 -_0810C208: - adds r0, r2, 0 - adds r0, 0xF - adds r1, r5, r0 - lsls r1, 1 - adds r1, r3 - strh r6, [r1] - adds r0, r4, r0 - lsls r0, 1 - adds r0, r3 - strh r6, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xD - bls _0810C208 -_0810C226: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810C22C: .4byte 0x00001005 -_0810C230: .4byte gTasks -_0810C234: .4byte gUnknown_02039248 -_0810C238: .4byte gBGTilemapBuffers + 0x1000 - thumb_func_end sub_810C1C8 - - thumb_func_start sub_810C23C -sub_810C23C: @ 810C23C - push {r4-r7,lr} - lsls r0, 24 - lsrs r1, r0, 24 - ldr r7, _0810C25C @ =gUnknown_02039248 - ldrb r0, [r7] - ldrb r2, [r7, 0x1] - adds r0, r2 - lsls r0, 24 - lsrs r0, 24 - ldrb r2, [r7, 0x2] - cmp r0, r2 - bne _0810C260 - movs r0, 0 - bl sub_810BDAC - b _0810C2A2 - .align 2, 0 -_0810C25C: .4byte gUnknown_02039248 -_0810C260: - ldr r4, _0810C2A8 @ =gSaveBlock1 - lsls r3, r0, 3 - movs r0, 0xFF - lsls r0, 3 - adds r4, r0 - adds r3, r4 - ldr r5, [r3] - ldr r6, [r3, 0x4] - ldr r0, _0810C2AC @ =gTasks - lsls r2, r1, 2 - adds r2, r1 - lsls r2, 3 - adds r2, r0 - movs r1, 0x8 - ldrsh r0, [r2, r1] - lsls r0, 3 - adds r0, r4 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [r3] - str r1, [r3, 0x4] - movs r1, 0x8 - ldrsh r0, [r2, r1] - lsls r0, 3 - adds r0, r4 - str r5, [r0] - str r6, [r0, 0x4] - ldrb r0, [r7, 0x1] - bl sub_810BB88 - movs r0, 0 - bl sub_810BDAC -_0810C2A2: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0810C2A8: .4byte gSaveBlock1 -_0810C2AC: .4byte gTasks - thumb_func_end sub_810C23C - - thumb_func_start sub_810C2B0 -sub_810C2B0: @ 810C2B0 - push {lr} - movs r0, 0 - bl DestroyVerticalScrollIndicator - movs r0, 0x1 - bl DestroyVerticalScrollIndicator - bl BuyMenuFreeMemory - pop {r0} - bx r0 - thumb_func_end sub_810C2B0 - - thumb_func_start sub_810C2C8 -sub_810C2C8: @ 810C2C8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _0810C308 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0810C300 - ldr r4, _0810C30C @ =gUnknown_02039244 - ldrb r0, [r4] - cmp r0, 0x3 - bne _0810C2E8 - ldr r1, _0810C310 @ =gFieldCallback - ldr r0, _0810C314 @ =sub_8080990 - str r0, [r1] -_0810C2E8: - bl sub_810C2B0 - ldr r0, _0810C318 @ =gUnknown_083F7EA8 - ldrb r1, [r4] - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - bl SetMainCallback2 - adds r0, r5, 0 - bl DestroyTask -_0810C300: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810C308: .4byte gPaletteFade -_0810C30C: .4byte gUnknown_02039244 -_0810C310: .4byte gFieldCallback -_0810C314: .4byte sub_8080990 -_0810C318: .4byte gUnknown_083F7EA8 - thumb_func_end sub_810C2C8 - - thumb_func_start sub_810C31C -sub_810C31C: @ 810C31C - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x1 - negs r0, r0 - movs r5, 0 - str r5, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _0810C358 @ =gUnknown_02039244 - ldrb r0, [r0] - cmp r0, 0x1 - bls _0810C342 - ldr r0, _0810C35C @ =gScriptItemId - strh r5, [r0] -_0810C342: - ldr r0, _0810C360 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _0810C364 @ =sub_810C2C8 - str r0, [r1] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810C358: .4byte gUnknown_02039244 -_0810C35C: .4byte gScriptItemId -_0810C360: .4byte gTasks -_0810C364: .4byte sub_810C2C8 - thumb_func_end sub_810C31C - - thumb_func_start sub_810C368 -sub_810C368: @ 810C368 - push {r4-r6,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r6, r0, 24 - movs r4, 0 - ldr r0, _0810C3E8 @ =gUnknown_02039244 - ldrb r0, [r0] - cmp r0, 0x1 - bls _0810C37C - movs r4, 0x2 -_0810C37C: - movs r0, 0 - bl sub_80F98A4 - movs r0, 0x1 - bl sub_80F98A4 - ldr r0, _0810C3EC @ =gWindowConfig_81E6E50 - bl BasicInitMenuWindow - adds r1, r4, 0x4 - movs r0, 0x7 - movs r2, 0xD - movs r3, 0xB - bl MenuDrawTextWindow - adds r4, 0x5 - ldr r5, _0810C3F0 @ =gUnknown_0203924C - ldrb r2, [r5] - ldr r3, _0810C3F4 @ =gUnknown_083F7EF4 - ldr r0, _0810C3F8 @ =gUnknown_03000758 - ldr r0, [r0] - str r0, [sp] - movs r0, 0x8 - adds r1, r4, 0 - bl PrintMenuItemsReordered - ldrb r3, [r5] - movs r0, 0 - str r0, [sp] - movs r0, 0x5 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x8 - adds r2, r4, 0 - bl InitMenu - ldr r2, _0810C3FC @ =gScriptItemId - ldr r1, _0810C400 @ =gUnknown_02039248 - ldrb r0, [r1] - ldrb r1, [r1, 0x1] - adds r0, r1 - strh r0, [r2] - ldr r1, _0810C404 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _0810C408 @ =sub_810C40C - str r1, [r0] - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810C3E8: .4byte gUnknown_02039244 -_0810C3EC: .4byte gWindowConfig_81E6E50 -_0810C3F0: .4byte gUnknown_0203924C -_0810C3F4: .4byte gUnknown_083F7EF4 -_0810C3F8: .4byte gUnknown_03000758 -_0810C3FC: .4byte gScriptItemId -_0810C400: .4byte gUnknown_02039248 -_0810C404: .4byte gTasks -_0810C408: .4byte sub_810C40C - thumb_func_end sub_810C368 - - thumb_func_start sub_810C40C -sub_810C40C: @ 810C40C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, r5, 0 - ldr r2, _0810C43C @ =gMain - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0810C440 - bl GetMenuCursorPos - lsls r0, 24 - cmp r0, 0 - beq _0810C4BC - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - bl MoveMenuCursor - b _0810C4BC - .align 2, 0 -_0810C43C: .4byte gMain -_0810C440: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0810C46C - bl GetMenuCursorPos - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0810C468 @ =gUnknown_0203924C - ldrb r1, [r1] - subs r1, 0x1 - cmp r0, r1 - beq _0810C4BC - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - bl MoveMenuCursor - b _0810C4BC - .align 2, 0 -_0810C468: .4byte gUnknown_0203924C -_0810C46C: - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0810C4A8 - movs r0, 0x5 - bl PlaySE - ldr r4, _0810C4A0 @ =gUnknown_083F7EF4 - bl GetMenuCursorPos - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0810C4A4 @ =gUnknown_03000758 - ldr r1, [r1] - adds r1, r0 - ldrb r0, [r1] - lsls r0, 3 - adds r4, 0x4 - adds r0, r4 - ldr r1, [r0] - adds r0, r5, 0 - bl _call_via_r1 - b _0810C4BC - .align 2, 0 -_0810C4A0: .4byte gUnknown_083F7EF4 -_0810C4A4: .4byte gUnknown_03000758 -_0810C4A8: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0810C4BC - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_810C748 -_0810C4BC: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_810C40C - - thumb_func_start sub_810C4C4 -sub_810C4C4: @ 810C4C4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0810C4F8 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0810C4F0 - bl sub_810C2B0 - ldr r0, _0810C4FC @ =gScriptItemId - ldrh r0, [r0] - lsls r0, 3 - ldr r1, _0810C500 @ =gSaveBlock1 + 0x7F8 - adds r0, r1 - ldr r1, _0810C504 @ =sub_810B96C - bl sub_8136130 - adds r0, r4, 0 - bl DestroyTask -_0810C4F0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810C4F8: .4byte gPaletteFade -_0810C4FC: .4byte gScriptItemId -_0810C500: .4byte gSaveBlock1 + 0x7F8 -_0810C504: .4byte sub_810B96C - thumb_func_end sub_810C4C4 - - thumb_func_start sub_810C508 -sub_810C508: @ 810C508 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _0810C538 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0810C53C @ =sub_810C4C4 - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810C538: .4byte gTasks -_0810C53C: .4byte sub_810C4C4 - thumb_func_end sub_810C508 - - thumb_func_start sub_810C540 -sub_810C540: @ 810C540 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r0, _0810C5A0 @ =gWindowConfig_81E6E50 - bl BasicInitMenuWindow - bl HandleDestroyMenuCursors - movs r0, 0x7 - movs r1, 0x4 - movs r2, 0xD - movs r3, 0xB - bl MenuZeroFillWindowRect - ldr r0, _0810C5A4 @ =gStringVar1 - ldr r4, _0810C5A8 @ =gPokeblockNames - ldr r3, _0810C5AC @ =gSaveBlock1 - ldr r2, _0810C5B0 @ =gUnknown_02039248 - ldrb r1, [r2] - ldrb r2, [r2, 0x1] - adds r1, r2 - lsls r1, 3 - adds r1, r3 - movs r2, 0xFF - lsls r2, 3 - adds r1, r2 - ldrb r1, [r1] - lsls r1, 2 - adds r1, r4 - ldr r1, [r1] - bl StringCopy - ldr r4, _0810C5B4 @ =gStringVar4 - ldr r1, _0810C5B8 @ =gContestStatsText_ThrowAwayPrompt - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r2, _0810C5BC @ =sub_810C5EC - adds r0, r5, 0 - adds r1, r4, 0 - movs r3, 0 - bl DisplayItemMessageOnField - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810C5A0: .4byte gWindowConfig_81E6E50 -_0810C5A4: .4byte gStringVar1 -_0810C5A8: .4byte gPokeblockNames -_0810C5AC: .4byte gSaveBlock1 -_0810C5B0: .4byte gUnknown_02039248 -_0810C5B4: .4byte gStringVar4 -_0810C5B8: .4byte gContestStatsText_ThrowAwayPrompt -_0810C5BC: .4byte sub_810C5EC - thumb_func_end sub_810C540 - - thumb_func_start sub_810C5C0 -sub_810C5C0: @ 810C5C0 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - movs r1, 0x1 - bl sub_80F979C - ldr r1, _0810C5E4 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0810C5E8 @ =sub_810C540 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810C5E4: .4byte gTasks -_0810C5E8: .4byte sub_810C540 - thumb_func_end sub_810C5C0 - - thumb_func_start sub_810C5EC -sub_810C5EC: @ 810C5EC - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x7 - movs r1, 0x6 - movs r2, 0x1 - bl DisplayYesNoMenu - ldr r1, _0810C60C @ =gUnknown_083F7F24 - adds r0, r4, 0 - bl DoYesNoFuncWithChoice - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810C60C: .4byte gUnknown_083F7F24 - thumb_func_end sub_810C5EC - - thumb_func_start sub_810C610 -sub_810C610: @ 810C610 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x7 - movs r1, 0x6 - movs r2, 0xD - movs r3, 0xB - bl MenuZeroFillWindowRect - ldr r1, _0810C658 @ =gUnknown_02039248 - ldrb r0, [r1, 0x1] - ldrb r1, [r1] - adds r0, r1 - lsls r0, 24 - lsrs r0, 24 - bl sub_810CA6C - ldr r5, _0810C65C @ =gStringVar4 - ldr r1, _0810C660 @ =gContestStatsText_WasThrownAway - adds r0, r5, 0 - bl StringExpandPlaceholders - ldr r2, _0810C664 @ =sub_810C704 - adds r0, r4, 0 - adds r1, r5, 0 - movs r3, 0 - bl DisplayItemMessageOnField - bl sub_810BC98 - bl sub_810BD08 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810C658: .4byte gUnknown_02039248 -_0810C65C: .4byte gStringVar4 -_0810C660: .4byte gContestStatsText_WasThrownAway -_0810C664: .4byte sub_810C704 - thumb_func_end sub_810C610 - - thumb_func_start sub_810C668 -sub_810C668: @ 810C668 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0 - bl StartVerticalScrollIndicators - movs r0, 0x1 - bl StartVerticalScrollIndicators - ldr r2, _0810C6CC @ =gUnknown_02039248 - ldrb r0, [r2, 0x2] - ldrb r1, [r2, 0x3] - cmp r0, r1 - bls _0810C698 - ldrb r0, [r2, 0x1] - ldrb r1, [r2, 0x3] - adds r0, r1 - ldrb r2, [r2, 0x2] - cmp r0, r2 - beq _0810C698 - movs r0, 0x1 - movs r1, 0 - bl sub_80F979C -_0810C698: - ldr r0, _0810C6D0 @ =gWindowConfig_81E6E50 - bl BasicInitMenuWindow - movs r0, 0x7 - movs r1, 0x6 - movs r2, 0xD - movs r3, 0xB - bl MenuZeroFillWindowRect - movs r0, 0 - movs r1, 0xE - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - ldr r1, _0810C6D4 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0810C6D8 @ =sub_810BF7C - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810C6CC: .4byte gUnknown_02039248 -_0810C6D0: .4byte gWindowConfig_81E6E50 -_0810C6D4: .4byte gTasks -_0810C6D8: .4byte sub_810BF7C - thumb_func_end sub_810C668 - - thumb_func_start sub_810C6DC -sub_810C6DC: @ 810C6DC - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _0810C700 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0810C6F6 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0810C6FC -_0810C6F6: - adds r0, r2, 0 - bl sub_810C668 -_0810C6FC: - pop {r0} - bx r0 - .align 2, 0 -_0810C700: .4byte gMain - thumb_func_end sub_810C6DC - - thumb_func_start sub_810C704 -sub_810C704: @ 810C704 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _0810C738 @ =gWindowConfig_81E6E34 - bl BasicInitMenuWindow - ldr r0, _0810C73C @ =gUnknown_02039248 - ldrb r0, [r0, 0x1] - bl sub_810BC84 - movs r0, 0x1 - movs r1, 0x1 - bl sub_80F979C - ldr r1, _0810C740 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0810C744 @ =sub_810C6DC - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810C738: .4byte gWindowConfig_81E6E34 -_0810C73C: .4byte gUnknown_02039248 -_0810C740: .4byte gTasks -_0810C744: .4byte sub_810C6DC - thumb_func_end sub_810C704 - - thumb_func_start sub_810C748 -sub_810C748: @ 810C748 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - bl StartVerticalScrollIndicators - movs r0, 0x1 - bl StartVerticalScrollIndicators - bl HandleDestroyMenuCursors - movs r0, 0x7 - movs r1, 0x4 - movs r2, 0xD - movs r3, 0xB - bl MenuZeroFillWindowRect - ldr r1, _0810C780 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0810C784 @ =sub_810BF7C - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810C780: .4byte gTasks -_0810C784: .4byte sub_810BF7C - thumb_func_end sub_810C748 - - thumb_func_start sub_810C788 -sub_810C788: @ 810C788 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, _0810C834 @ =gEnemyParty - bl GetNature - lsls r0, 24 - lsrs r0, 24 - ldr r7, _0810C838 @ =gScriptItemId - ldrh r1, [r7] - lsls r1, 3 - ldr r5, _0810C83C @ =gSaveBlock1 + 0x7F8 - adds r1, r5 - bl sub_810CAE4 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, _0810C840 @ =gBattleTextBuff1 - ldr r2, _0810C844 @ =gPokeblockNames - ldr r1, _0810C848 @ =0xfffff808 - adds r5, r1 - ldrh r1, [r7] - lsls r1, 3 - adds r1, r5 - movs r6, 0xFF - lsls r6, 3 - adds r1, r6 - ldrb r1, [r1] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl StringCopy - ldrb r0, [r7] - bl sub_810CA6C - ldrh r0, [r7] - lsls r0, 3 - adds r0, r5 - adds r0, r6 - ldrb r0, [r0] - lsls r0, 8 - strh r0, [r7] - lsls r4, 16 - asrs r4, 16 - cmp r4, 0 - bne _0810C7F4 - adds r0, 0x1 - strh r0, [r7] -_0810C7F4: - cmp r4, 0 - ble _0810C7FE - ldrh r0, [r7] - adds r0, 0x2 - strh r0, [r7] -_0810C7FE: - cmp r4, 0 - bge _0810C808 - ldrh r0, [r7] - adds r0, 0x3 - strh r0, [r7] -_0810C808: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _0810C84C @ =gTasks - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - ldr r1, _0810C850 @ =sub_810C2C8 - str r1, [r0] - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0810C834: .4byte gEnemyParty -_0810C838: .4byte gScriptItemId -_0810C83C: .4byte gSaveBlock1 + 0x7F8 -_0810C840: .4byte gBattleTextBuff1 -_0810C844: .4byte gPokeblockNames -_0810C848: .4byte 0xfffff808 -_0810C84C: .4byte gTasks -_0810C850: .4byte sub_810C2C8 - thumb_func_end sub_810C788 - - thumb_func_start sub_810C854 -sub_810C854: @ 810C854 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r4, _0810C8B8 @ =gScriptItemId - ldrb r0, [r4] - bl SafariZoneActivatePokeblockFeeder - ldr r0, _0810C8BC @ =gStringVar1 - ldr r3, _0810C8C0 @ =gPokeblockNames - ldr r2, _0810C8C4 @ =gSaveBlock1 - ldrh r1, [r4] - lsls r1, 3 - adds r1, r2 - movs r2, 0xFF - lsls r2, 3 - adds r1, r2 - ldrb r1, [r1] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl StringCopy - ldr r1, _0810C8C8 @ =gScriptResult - ldrh r0, [r4] - strh r0, [r1] - lsls r0, 24 - lsrs r0, 24 - bl sub_810CA6C - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _0810C8CC @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _0810C8D0 @ =sub_810C2C8 - str r1, [r0] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810C8B8: .4byte gScriptItemId -_0810C8BC: .4byte gStringVar1 -_0810C8C0: .4byte gPokeblockNames -_0810C8C4: .4byte gSaveBlock1 -_0810C8C8: .4byte gScriptResult -_0810C8CC: .4byte gTasks -_0810C8D0: .4byte sub_810C2C8 - thumb_func_end sub_810C854 - - thumb_func_start sub_810C8D4 -sub_810C8D4: @ 810C8D4 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x1 - ble _0810C8E4 - movs r0, 0 - strh r0, [r4, 0x2E] -_0810C8E4: - movs r0, 0x2E - ldrsh r5, [r4, r0] - cmp r5, 0 - beq _0810C8F2 - cmp r5, 0x1 - beq _0810C918 - b _0810C944 -_0810C8F2: - ldrb r1, [r4, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r4, 0x1] - ldr r0, _0810C914 @ =gSpriteAffineAnimTable_83F7F70 - str r0, [r4, 0x10] - adds r0, r4, 0 - bl InitSpriteAffineAnim - movs r0, 0x1 - strh r0, [r4, 0x2E] - strh r5, [r4, 0x30] - b _0810C944 - .align 2, 0 -_0810C914: .4byte gSpriteAffineAnimTable_83F7F70 -_0810C918: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - movs r2, 0 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB - ble _0810C944 - ldrb r1, [r4, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x1] - strh r2, [r4, 0x2E] - strh r2, [r4, 0x30] - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldr r0, _0810C94C @ =SpriteCallbackDummy - str r0, [r4, 0x1C] -_0810C944: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810C94C: .4byte SpriteCallbackDummy - thumb_func_end sub_810C8D4 - - thumb_func_start ClearPokeblock -ClearPokeblock: @ 810C950 - lsls r0, 24 - ldr r1, _0810C988 @ =gSaveBlock1 - lsrs r0, 21 - adds r0, r1 - movs r2, 0xFF - lsls r2, 3 - adds r1, r0, r2 - movs r2, 0 - strb r2, [r1] - ldr r3, _0810C98C @ =0x000007f9 - adds r1, r0, r3 - strb r2, [r1] - adds r3, 0x1 - adds r1, r0, r3 - strb r2, [r1] - adds r3, 0x1 - adds r1, r0, r3 - strb r2, [r1] - adds r3, 0x1 - adds r1, r0, r3 - strb r2, [r1] - adds r3, 0x1 - adds r1, r0, r3 - strb r2, [r1] - ldr r1, _0810C990 @ =0x000007fe - adds r0, r1 - strb r2, [r0] - bx lr - .align 2, 0 -_0810C988: .4byte gSaveBlock1 -_0810C98C: .4byte 0x000007f9 -_0810C990: .4byte 0x000007fe - thumb_func_end ClearPokeblock - - thumb_func_start ClearPokeblocks -ClearPokeblocks: @ 810C994 - push {r4,lr} - movs r4, 0 -_0810C998: - adds r0, r4, 0 - bl ClearPokeblock - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x27 - bls _0810C998 - pop {r4} - pop {r0} - bx r0 - thumb_func_end ClearPokeblocks - - thumb_func_start sub_810C9B0 -sub_810C9B0: @ 810C9B0 - push {r4-r6,lr} - adds r6, r0, 0 - movs r1, 0x1 - bl sub_810CA9C - lsls r0, 24 - lsrs r5, r0, 24 - movs r1, 0x1 -_0810C9C0: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_810CA9C - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - bcs _0810C9D8 - adds r5, r0, 0 -_0810C9D8: - adds r1, r4, 0 - cmp r1, 0x4 - bls _0810C9C0 - adds r0, r5, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_810C9B0 - - thumb_func_start sub_810C9E8 -sub_810C9E8: @ 810C9E8 - push {lr} - movs r1, 0x6 - bl sub_810CA9C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x63 - bls _0810C9FA - movs r0, 0x63 -_0810C9FA: - pop {r1} - bx r1 - thumb_func_end sub_810C9E8 - - thumb_func_start sub_810CA00 -sub_810CA00: @ 810CA00 - push {lr} - movs r1, 0 - ldr r3, _0810CA1C @ =gSaveBlock1 - movs r2, 0xFF - lsls r2, 3 -_0810CA0A: - lsls r0, r1, 3 - adds r0, r3 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _0810CA20 - lsls r0, r1, 24 - asrs r0, 24 - b _0810CA2E - .align 2, 0 -_0810CA1C: .4byte gSaveBlock1 -_0810CA20: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x27 - bls _0810CA0A - movs r0, 0x1 - negs r0, r0 -_0810CA2E: - pop {r1} - bx r1 - thumb_func_end sub_810CA00 - - thumb_func_start sub_810CA34 -sub_810CA34: @ 810CA34 - push {r4,lr} - adds r4, r0, 0 - bl sub_810CA00 - lsls r0, 24 - asrs r2, r0, 24 - movs r0, 0x1 - negs r0, r0 - cmp r2, r0 - beq _0810CA64 - ldr r0, _0810CA60 @ =gSaveBlock1 - lsls r2, 3 - movs r1, 0xFF - lsls r1, 3 - adds r0, r1 - adds r2, r0 - ldr r0, [r4] - ldr r1, [r4, 0x4] - str r0, [r2] - str r1, [r2, 0x4] - movs r0, 0x1 - b _0810CA66 - .align 2, 0 -_0810CA60: .4byte gSaveBlock1 -_0810CA64: - movs r0, 0 -_0810CA66: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_810CA34 - - thumb_func_start sub_810CA6C -sub_810CA6C: @ 810CA6C - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _0810CA90 @ =gSaveBlock1 - lsls r0, r2, 3 - adds r0, r1 - movs r1, 0xFF - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _0810CA94 - adds r0, r2, 0 - bl ClearPokeblock - movs r0, 0x1 - b _0810CA96 - .align 2, 0 -_0810CA90: .4byte gSaveBlock1 -_0810CA94: - movs r0, 0 -_0810CA96: - pop {r1} - bx r1 - thumb_func_end sub_810CA6C - - thumb_func_start sub_810CA9C -sub_810CA9C: @ 810CA9C - push {lr} - lsls r1, 24 - lsrs r1, 24 - adds r2, r1, 0 - cmp r1, 0 - bne _0810CAAC - ldrb r0, [r0] - b _0810CADE -_0810CAAC: - cmp r1, 0x1 - bne _0810CAB4 - ldrb r0, [r0, 0x1] - b _0810CADE -_0810CAB4: - cmp r1, 0x2 - bne _0810CABC - ldrb r0, [r0, 0x2] - b _0810CADE -_0810CABC: - cmp r1, 0x3 - bne _0810CAC4 - ldrb r0, [r0, 0x3] - b _0810CADE -_0810CAC4: - cmp r1, 0x4 - bne _0810CACC - ldrb r0, [r0, 0x4] - b _0810CADE -_0810CACC: - cmp r1, 0x5 - bne _0810CAD4 - ldrb r0, [r0, 0x5] - b _0810CADE -_0810CAD4: - cmp r2, 0x6 - beq _0810CADC - movs r0, 0 - b _0810CADE -_0810CADC: - ldrb r0, [r0, 0x6] -_0810CADE: - pop {r1} - bx r1 - thumb_func_end sub_810CA9C - - thumb_func_start sub_810CAE4 -sub_810CAE4: @ 810CAE4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - mov r8, r1 - lsls r0, 24 - lsrs r0, 24 - movs r6, 0 - movs r4, 0 - ldr r1, _0810CB40 @ =gUnknown_083F7E28 - mov r9, r1 - lsls r1, r0, 2 - adds r7, r1, r0 -_0810CAFE: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - mov r0, r8 - adds r1, r5, 0 - bl sub_810CA9C - lsls r0, 16 - asrs r1, r0, 16 - cmp r1, 0 - ble _0810CB2A - adds r0, r7, r4 - add r0, r9 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - muls r1, r0 - lsls r0, r6, 16 - asrs r0, 16 - adds r0, r1 - lsls r0, 16 - lsrs r6, r0, 16 -_0810CB2A: - adds r4, r5, 0 - cmp r4, 0x4 - bls _0810CAFE - lsls r0, r6, 16 - asrs r0, 16 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0810CB40: .4byte gUnknown_083F7E28 - thumb_func_end sub_810CAE4 - - thumb_func_start sub_810CB44 -sub_810CB44: @ 810CB44 - push {r4,lr} - adds r4, r1, 0 - movs r1, 0 - bl sub_810CA9C - lsls r0, 24 - ldr r1, _0810CB64 @ =gPokeblockNames - lsrs r0, 22 - adds r0, r1 - ldr r1, [r0] - adds r0, r4, 0 - bl StringCopy - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810CB64: .4byte gPokeblockNames - thumb_func_end sub_810CB44 - - thumb_func_start sub_810CB68 -sub_810CB68: @ 810CB68 - push {r4-r7,lr} - adds r6, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - ldr r7, _0810CB98 @ =gPokeblockNames -_0810CB74: - lsls r1, r4, 3 - ldr r0, _0810CB9C @ =gUnknown_083F7F9C - adds r1, r0 - adds r0, r5, 0 - bl sub_810CAE4 - lsls r0, 16 - cmp r0, 0 - ble _0810CBA0 - adds r0, r4, 0x1 - lsls r0, 2 - adds r0, r7 - ldr r1, [r0] - adds r0, r6, 0 - bl StringCopy - movs r0, 0x1 - b _0810CBAC - .align 2, 0 -_0810CB98: .4byte gPokeblockNames -_0810CB9C: .4byte gUnknown_083F7F9C -_0810CBA0: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bls _0810CB74 - movs r0, 0 -_0810CBAC: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_810CB68 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/rotating_gate.s b/asm/rotating_gate.s deleted file mode 100644 index a553802e8..000000000 --- a/asm/rotating_gate.s +++ /dev/null @@ -1,1085 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start GetCurrentMapRotatingGatePuzzleType -GetCurrentMapRotatingGatePuzzleType: @ 80C799C - push {lr} - ldr r0, _080C79B0 @ =gSaveBlock1 - ldrh r1, [r0, 0x4] - movs r0, 0x86 - lsls r0, 1 - cmp r1, r0 - bne _080C79B4 - movs r0, 0x1 - b _080C79C6 - .align 2, 0 -_080C79B0: .4byte gSaveBlock1 -_080C79B4: - ldr r0, _080C79C0 @ =0x0000081d - cmp r1, r0 - beq _080C79C4 - movs r0, 0 - b _080C79C6 - .align 2, 0 -_080C79C0: .4byte 0x0000081d -_080C79C4: - movs r0, 0x2 -_080C79C6: - pop {r1} - bx r1 - thumb_func_end GetCurrentMapRotatingGatePuzzleType - - thumb_func_start sub_80C79CC -sub_80C79CC: @ 80C79CC - push {r4-r6,lr} - movs r0, 0x80 - lsls r0, 7 - bl GetVarPointer - adds r5, r0, 0 - movs r3, 0 - ldr r4, _080C7A00 @ =gUnknown_02038804 - ldrb r0, [r4] - cmp r3, r0 - bge _080C79F8 - ldr r6, _080C7A04 @ =gUnknown_02038800 -_080C79E4: - adds r2, r5, r3 - ldr r1, [r6] - lsls r0, r3, 3 - adds r0, r1 - ldrb r0, [r0, 0x5] - strb r0, [r2] - adds r3, 0x1 - ldrb r0, [r4] - cmp r3, r0 - blt _080C79E4 -_080C79F8: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080C7A00: .4byte gUnknown_02038804 -_080C7A04: .4byte gUnknown_02038800 - thumb_func_end sub_80C79CC - - thumb_func_start sub_80C7A08 -sub_80C7A08: @ 80C7A08 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x80 - lsls r0, 7 - bl GetVarPointer - adds r0, r4 - ldrb r0, [r0] - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80C7A08 - - thumb_func_start sub_80C7A24 -sub_80C7A24: @ 80C7A24 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - movs r0, 0x80 - lsls r0, 7 - bl GetVarPointer - adds r0, r4 - strb r5, [r0] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80C7A24 - - thumb_func_start sub_80C7A44 -sub_80C7A44: @ 80C7A44 - push {r4,r5,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - bl sub_80C7A08 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r4, 0x1 - bne _080C7A68 - cmp r1, 0 - beq _080C7A64 - subs r0, r1, 0x1 - lsls r0, 24 - b _080C7A72 -_080C7A64: - movs r1, 0x3 - b _080C7A74 -_080C7A68: - adds r1, 0x1 - lsls r1, 24 - movs r0, 0xC0 - lsls r0, 18 - ands r0, r1 -_080C7A72: - lsrs r1, r0, 24 -_080C7A74: - adds r0, r5, 0 - bl sub_80C7A24 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80C7A44 - - thumb_func_start sub_80C7A80 -sub_80C7A80: @ 80C7A80 - push {lr} - bl GetCurrentMapRotatingGatePuzzleType - cmp r0, 0x1 - beq _080C7A94 - cmp r0, 0x1 - ble _080C7AC8 - cmp r0, 0x2 - beq _080C7AAC - b _080C7AC8 -_080C7A94: - ldr r1, _080C7AA0 @ =gUnknown_02038800 - ldr r0, _080C7AA4 @ =gUnknown_083D2964 - str r0, [r1] - ldr r1, _080C7AA8 @ =gUnknown_02038804 - movs r0, 0x7 - b _080C7AB6 - .align 2, 0 -_080C7AA0: .4byte gUnknown_02038800 -_080C7AA4: .4byte gUnknown_083D2964 -_080C7AA8: .4byte gUnknown_02038804 -_080C7AAC: - ldr r1, _080C7ACC @ =gUnknown_02038800 - ldr r0, _080C7AD0 @ =gUnknown_083D299C - str r0, [r1] - ldr r1, _080C7AD4 @ =gUnknown_02038804 - movs r0, 0xE -_080C7AB6: - strb r0, [r1] - movs r1, 0 - ldr r3, _080C7AD8 @ =gUnknown_020387F0 - movs r2, 0x40 -_080C7ABE: - adds r0, r1, r3 - strb r2, [r0] - adds r1, 0x1 - cmp r1, 0xD - bls _080C7ABE -_080C7AC8: - pop {r0} - bx r0 - .align 2, 0 -_080C7ACC: .4byte gUnknown_02038800 -_080C7AD0: .4byte gUnknown_083D299C -_080C7AD4: .4byte gUnknown_02038804 -_080C7AD8: .4byte gUnknown_020387F0 - thumb_func_end sub_80C7A80 - - thumb_func_start sub_80C7ADC -sub_80C7ADC: @ 80C7ADC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp] - lsls r1, 16 - lsrs r1, 16 - mov r10, r1 - ldr r2, _080C7B9C @ =gSaveBlock1 - ldrh r1, [r2] - subs r0, r1, 0x2 - lsls r0, 16 - lsrs r3, r0, 16 - adds r1, 0x11 - lsls r1, 16 - lsrs r1, 16 - mov r9, r1 - ldrh r1, [r2, 0x2] - subs r0, r1, 0x2 - lsls r0, 16 - lsrs r2, r0, 16 - adds r1, 0xE - lsls r1, 16 - lsrs r1, 16 - mov r8, r1 - movs r5, 0 - ldr r0, _080C7BA0 @ =gUnknown_02038804 - ldrb r0, [r0] - cmp r5, r0 - bcs _080C7B8C - lsls r0, r2, 16 - asrs r7, r0, 16 - lsls r0, r3, 16 - asrs r6, r0, 16 -_080C7B28: - ldr r0, _080C7BA4 @ =gUnknown_02038800 - ldr r0, [r0] - lsls r1, r5, 3 - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x7 - lsls r0, 16 - lsrs r2, r0, 16 - ldrh r0, [r1, 0x2] - adds r0, 0x7 - lsls r0, 16 - asrs r1, r0, 16 - cmp r7, r1 - bgt _080C7B7E - mov r3, r8 - lsls r0, r3, 16 - asrs r0, 16 - cmp r0, r1 - blt _080C7B7E - lsls r0, r2, 16 - asrs r1, r0, 16 - cmp r6, r1 - bgt _080C7B7E - mov r2, r9 - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, r1 - blt _080C7B7E - ldr r0, _080C7BA8 @ =gUnknown_020387F0 - adds r4, r5, r0 - ldrb r0, [r4] - cmp r0, 0x40 - bne _080C7B7E - ldr r3, [sp] - lsls r1, r3, 16 - mov r0, r10 - lsls r2, r0, 16 - adds r0, r5, 0 - asrs r1, 16 - asrs r2, 16 - bl sub_80C7BAC - strb r0, [r4] -_080C7B7E: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _080C7BA0 @ =gUnknown_02038804 - ldrb r0, [r0] - cmp r5, r0 - bcc _080C7B28 -_080C7B8C: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C7B9C: .4byte gSaveBlock1 -_080C7BA0: .4byte gUnknown_02038804 -_080C7BA4: .4byte gUnknown_02038800 -_080C7BA8: .4byte gUnknown_020387F0 - thumb_func_end sub_80C7ADC - - thumb_func_start sub_80C7BAC -sub_80C7BAC: @ 80C7BAC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x18 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 16 - lsrs r7, r1, 16 - lsls r2, 16 - lsrs r2, 16 - mov r8, r2 - ldr r0, _080C7BDC @ =gUnknown_02038800 - lsls r1, r6, 3 - ldr r0, [r0] - adds r4, r0, r1 - ldrb r0, [r4, 0x4] - cmp r0, 0 - beq _080C7BD4 - cmp r0, 0x4 - bne _080C7BE4 -_080C7BD4: - mov r1, sp - ldr r0, _080C7BE0 @ =gSpriteTemplate_83D60A4 - b _080C7BE8 - .align 2, 0 -_080C7BDC: .4byte gUnknown_02038800 -_080C7BE0: .4byte gSpriteTemplate_83D60A4 -_080C7BE4: - mov r1, sp - ldr r0, _080C7C7C @ =gSpriteTemplate_83D608C -_080C7BE8: - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - mov r2, sp - ldrb r0, [r4, 0x4] - movs r3, 0x98 - lsls r3, 5 - adds r1, r3, 0 - adds r0, r1 - strh r0, [r2] - mov r0, sp - movs r1, 0 - movs r2, 0 - movs r3, 0x94 - bl CreateSprite - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x40 - beq _080C7C84 - ldrh r0, [r4] - adds r0, 0x7 - ldrh r1, [r4, 0x2] - adds r1, 0x7 - lsls r4, r5, 4 - adds r4, r5 - lsls r4, 2 - ldr r2, _080C7C80 @ =gSprites - adds r4, r2 - strh r6, [r4, 0x2E] - movs r2, 0x3E - adds r2, r4 - mov r12, r2 - ldrb r2, [r2] - movs r3, 0x2 - orrs r2, r3 - mov r3, r12 - strb r2, [r3] - lsls r0, 16 - asrs r0, 16 - lsls r2, r7, 16 - asrs r2, 16 - adds r0, r2 - lsls r0, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - mov r3, r8 - lsls r2, r3, 16 - asrs r2, 16 - adds r1, r2 - lsls r1, 16 - asrs r1, 16 - adds r2, r4, 0 - adds r2, 0x20 - adds r3, r4, 0 - adds r3, 0x22 - bl sub_8060388 - adds r0, r4, 0 - bl sub_80C7D14 - adds r0, r6, 0 - bl sub_80C7A08 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAffineAnim - adds r0, r5, 0 - b _080C7C86 - .align 2, 0 -_080C7C7C: .4byte gSpriteTemplate_83D608C -_080C7C80: .4byte gSprites -_080C7C84: - movs r0, 0x40 -_080C7C86: - add sp, 0x18 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80C7BAC - - thumb_func_start sub_80C7C94 -sub_80C7C94: @ 80C7C94 - push {r4-r7,lr} - adds r6, r0, 0 - ldrh r0, [r6, 0x30] - lsls r0, 24 - lsrs r5, r0, 24 - ldrh r0, [r6, 0x32] - lsls r0, 24 - lsrs r4, r0, 24 - adds r7, r4, 0 - adds r0, r6, 0 - bl sub_80C7D14 - cmp r5, 0x1 - bne _080C7CDA - adds r0, r4, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - bl GetPlayerSpeed - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - beq _080C7CCA - adds r0, r4, 0 - adds r0, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 -_080C7CCA: - movs r0, 0x30 - bl PlaySE - adds r0, r6, 0 - adds r1, r4, 0 - bl StartSpriteAffineAnim - b _080C7D08 -_080C7CDA: - cmp r5, 0x2 - bne _080C7D08 - adds r0, r7, 0 - adds r0, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - bl GetPlayerSpeed - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - beq _080C7CFA - adds r0, r4, 0 - adds r0, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 -_080C7CFA: - movs r0, 0x30 - bl PlaySE - adds r0, r6, 0 - adds r1, r4, 0 - bl StartSpriteAffineAnim -_080C7D08: - movs r0, 0 - strh r0, [r6, 0x30] - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80C7C94 - - thumb_func_start sub_80C7D14 -sub_80C7D14: @ 80C7D14 - push {r4-r6,lr} - mov r12, r0 - mov r4, r12 - adds r4, 0x3E - ldrb r0, [r4] - movs r5, 0x5 - negs r5, r5 - ands r5, r0 - strb r5, [r4] - mov r0, r12 - ldrh r1, [r0, 0x24] - ldrh r2, [r0, 0x20] - adds r1, r2 - adds r0, 0x28 - movs r2, 0 - ldrsb r2, [r0, r2] - ldr r0, _080C7DA8 @ =gSpriteCoordOffsetX - adds r2, r1 - ldrh r0, [r0] - adds r2, r0 - lsls r2, 16 - mov r3, r12 - ldrh r1, [r3, 0x26] - ldrh r0, [r3, 0x22] - adds r1, r0 - mov r0, r12 - adds r0, 0x29 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - ldr r3, _080C7DAC @ =gSpriteCoordOffsetY - adds r0, r1 - ldrh r3, [r3] - adds r0, r3 - lsls r0, 16 - movs r3, 0x80 - lsls r3, 15 - adds r1, r2, r3 - lsrs r1, 16 - lsrs r6, r0, 16 - adds r0, r3 - lsrs r3, r0, 16 - asrs r2, 16 - cmp r2, 0xFF - bgt _080C7D7A - lsls r0, r1, 16 - asrs r0, 16 - movs r1, 0x10 - negs r1, r1 - cmp r0, r1 - bge _080C7D82 -_080C7D7A: - movs r1, 0x4 - adds r0, r5, 0 - orrs r0, r1 - strb r0, [r4] -_080C7D82: - lsls r0, r6, 16 - asrs r0, 16 - cmp r0, 0xAF - bgt _080C7D96 - lsls r0, r3, 16 - asrs r0, 16 - movs r1, 0x10 - negs r1, r1 - cmp r0, r1 - bge _080C7DA2 -_080C7D96: - mov r0, r12 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_080C7DA2: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080C7DA8: .4byte gSpriteCoordOffsetX -_080C7DAC: .4byte gSpriteCoordOffsetY - thumb_func_end sub_80C7D14 - - thumb_func_start LoadRotatingGatePics -LoadRotatingGatePics: @ 80C7DB0 - push {lr} - ldr r0, _080C7DBC @ =gRotatingGatesGraphicsTable - bl LoadSpriteSheets - pop {r0} - bx r0 - .align 2, 0 -_080C7DBC: .4byte gRotatingGatesGraphicsTable - thumb_func_end LoadRotatingGatePics - - thumb_func_start sub_80C7DC0 -sub_80C7DC0: @ 80C7DC0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r2, _080C7DF4 @ =gSaveBlock1 - ldrh r1, [r2] - subs r0, r1, 0x2 - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - adds r1, 0x11 - lsls r1, 16 - lsrs r1, 16 - mov r9, r1 - ldrh r1, [r2, 0x2] - subs r0, r1, 0x2 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - adds r1, 0xE - lsls r1, 16 - lsrs r7, r1, 16 - movs r6, 0 - b _080C7E66 - .align 2, 0 -_080C7DF4: .4byte gSaveBlock1 -_080C7DF8: - ldr r0, _080C7E7C @ =gUnknown_02038800 - ldr r0, [r0] - lsls r1, r6, 3 - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x7 - lsls r0, 16 - lsrs r2, r0, 16 - ldrh r0, [r1, 0x2] - adds r0, 0x7 - lsls r0, 16 - lsrs r3, r0, 16 - ldr r0, _080C7E80 @ =gUnknown_020387F0 - adds r0, r6, r0 - ldrb r0, [r0] - cmp r0, 0x40 - beq _080C7E64 - lsls r0, r2, 16 - mov r2, r10 - lsls r1, r2, 16 - asrs r2, r0, 16 - cmp r0, r1 - blt _080C7E44 - mov r1, r9 - lsls r0, r1, 16 - asrs r0, 16 - cmp r2, r0 - bgt _080C7E44 - lsls r0, r3, 16 - mov r2, r8 - lsls r1, r2, 16 - asrs r2, r0, 16 - cmp r0, r1 - blt _080C7E44 - lsls r0, r7, 16 - asrs r0, 16 - cmp r2, r0 - ble _080C7E64 -_080C7E44: - ldr r0, _080C7E80 @ =gUnknown_020387F0 - adds r5, r6, r0 - ldrb r0, [r5] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _080C7E84 @ =gSprites - adds r4, r0 - adds r0, r4, 0 - bl FreeSpriteOamMatrix - adds r0, r4, 0 - bl DestroySprite - movs r0, 0x40 - strb r0, [r5] -_080C7E64: - adds r6, 0x1 -_080C7E66: - ldr r0, _080C7E88 @ =gUnknown_02038804 - ldrb r0, [r0] - cmp r6, r0 - blt _080C7DF8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C7E7C: .4byte gUnknown_02038800 -_080C7E80: .4byte gUnknown_020387F0 -_080C7E84: .4byte gSprites -_080C7E88: .4byte gUnknown_02038804 - thumb_func_end sub_80C7DC0 - - thumb_func_start sub_80C7E8C -sub_80C7E8C: @ 80C7E8C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - lsls r0, 24 - lsrs r4, r0, 24 - cmp r1, 0x1 - bne _080C7EAC - ldr r0, _080C7EA8 @ =gUnknown_083D611C - mov r10, r0 - b _080C7EB8 - .align 2, 0 -_080C7EA8: .4byte gUnknown_083D611C -_080C7EAC: - cmp r1, 0x2 - beq _080C7EB4 -_080C7EB0: - movs r0, 0 - b _080C7F48 -_080C7EB4: - ldr r1, _080C7F58 @ =gUnknown_083D60FC - mov r10, r1 -_080C7EB8: - adds r0, r4, 0 - bl sub_80C7A08 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - ldr r0, _080C7F5C @ =gUnknown_02038800 - ldr r1, [r0] - lsls r0, r4, 3 - adds r0, r1 - ldrb r2, [r0, 0x4] - ldrh r1, [r0] - adds r1, 0x7 - ldrh r0, [r0, 0x2] - adds r0, 0x7 - movs r3, 0 - lsls r2, 3 - str r2, [sp, 0x4] - lsls r1, 16 - asrs r1, 16 - mov r9, r1 - lsls r0, 16 - asrs r0, 16 - mov r8, r0 -_080C7EE8: - movs r6, 0 - ldr r2, [sp] - adds r7, r2, r3 - lsls r0, r3, 1 - adds r5, r7, 0 - ldr r1, [sp, 0x4] - adds r0, r1 - ldr r2, _080C7F60 @ =gUnknown_083D613C - adds r4, r0, r2 -_080C7EFA: - adds r0, r5, 0 - cmp r5, 0 - bge _080C7F02 - adds r0, r7, 0x3 -_080C7F02: - asrs r0, 2 - lsls r0, 2 - subs r0, r5, r0 - lsls r0, 1 - adds r0, r6 - lsls r0, 24 - lsrs r1, r0, 24 - ldrb r0, [r4] - cmp r0, 0 - beq _080C7F38 - lsls r1, 2 - add r1, r10 - movs r0, 0 - ldrsb r0, [r1, r0] - add r0, r9 - ldrb r1, [r1, 0x1] - lsls r1, 24 - asrs r1, 24 - add r1, r8 - str r3, [sp, 0x8] - bl MapGridIsImpassableAt - lsls r0, 24 - lsrs r0, 24 - ldr r3, [sp, 0x8] - cmp r0, 0x1 - beq _080C7EB0 -_080C7F38: - adds r4, 0x1 - adds r6, 0x1 - cmp r6, 0x1 - ble _080C7EFA - adds r3, 0x1 - cmp r3, 0x3 - ble _080C7EE8 - movs r0, 0x1 -_080C7F48: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080C7F58: .4byte gUnknown_083D60FC -_080C7F5C: .4byte gUnknown_02038800 -_080C7F60: .4byte gUnknown_083D613C - thumb_func_end sub_80C7E8C - - thumb_func_start sub_80C7F64 -sub_80C7F64: @ 80C7F64 - push {r4-r6,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - lsls r4, 24 - lsrs r5, r4, 24 - lsrs r4, 25 - movs r0, 0x1 - ands r5, r0 - adds r0, r6, 0 - bl sub_80C7A08 - subs r4, r0 - adds r1, r4, 0x4 - adds r0, r1, 0 - cmp r1, 0 - bge _080C7F8A - adds r0, r4, 0x7 -_080C7F8A: - asrs r0, 2 - lsls r0, 2 - subs r0, r1, r0 - ldr r1, _080C7FB0 @ =gUnknown_02038800 - ldr r2, [r1] - lsls r1, r6, 3 - adds r1, r2 - ldrb r1, [r1, 0x4] - ldr r2, _080C7FB4 @ =gUnknown_083D613C - lsls r0, 24 - asrs r0, 23 - adds r0, r5 - lsls r1, 3 - adds r0, r1 - adds r0, r2 - ldrb r0, [r0] - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080C7FB0: .4byte gUnknown_02038800 -_080C7FB4: .4byte gUnknown_083D613C - thumb_func_end sub_80C7F64 - - thumb_func_start sub_80C7FB8 -sub_80C7FB8: @ 80C7FB8 - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r0, _080C7FE4 @ =gUnknown_020387F0 - adds r2, r3, r0 - ldrb r0, [r2] - cmp r0, 0x40 - beq _080C7FDC - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _080C7FE8 @ =gSprites - adds r4, r0 - strh r1, [r4, 0x30] - adds r0, r3, 0 - bl sub_80C7A08 - strh r0, [r4, 0x32] -_080C7FDC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C7FE4: .4byte gUnknown_020387F0 -_080C7FE8: .4byte gSprites - thumb_func_end sub_80C7FB8 - - thumb_func_start sub_80C7FEC -sub_80C7FEC: @ 80C7FEC - push {lr} - lsls r0, 24 - lsrs r0, 24 - adds r3, r0, 0 - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r2, 16 - cmp r0, 0x2 - bne _080C8008 - ldr r3, _080C8004 @ =gUnknown_083D60BC - b _080C802A - .align 2, 0 -_080C8004: .4byte gUnknown_083D60BC -_080C8008: - cmp r0, 0x1 - bne _080C8014 - ldr r3, _080C8010 @ =gUnknown_083D60CC - b _080C802A - .align 2, 0 -_080C8010: .4byte gUnknown_083D60CC -_080C8014: - cmp r0, 0x3 - bne _080C8020 - ldr r3, _080C801C @ =gUnknown_083D60DC - b _080C802A - .align 2, 0 -_080C801C: .4byte gUnknown_083D60DC -_080C8020: - cmp r3, 0x4 - beq _080C8028 - movs r0, 0xFF - b _080C8038 -_080C8028: - ldr r3, _080C803C @ =gUnknown_083D60EC -_080C802A: - lsls r0, r2, 16 - lsls r1, 16 - asrs r1, 16 - asrs r0, 14 - adds r0, r1 - adds r0, r3, r0 - ldrb r0, [r0] -_080C8038: - pop {r1} - bx r1 - .align 2, 0 -_080C803C: .4byte gUnknown_083D60EC - thumb_func_end sub_80C7FEC - - thumb_func_start sub_80C8040 -sub_80C8040: @ 80C8040 - push {lr} - bl GetCurrentMapRotatingGatePuzzleType - cmp r0, 0 - beq _080C8052 - bl sub_80C7A80 - bl sub_80C79CC -_080C8052: - pop {r0} - bx r0 - thumb_func_end sub_80C8040 - - thumb_func_start RotatingGatePuzzleCameraUpdate -RotatingGatePuzzleCameraUpdate: @ 80C8058 - push {r4,r5,lr} - lsls r0, 16 - lsrs r4, r0, 16 - lsls r1, 16 - lsrs r5, r1, 16 - bl GetCurrentMapRotatingGatePuzzleType - cmp r0, 0 - beq _080C807A - lsls r0, r4, 16 - asrs r0, 16 - lsls r1, r5, 16 - asrs r1, 16 - bl sub_80C7ADC - bl sub_80C7DC0 -_080C807A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end RotatingGatePuzzleCameraUpdate - - thumb_func_start sub_80C8080 -sub_80C8080: @ 80C8080 - push {lr} - bl GetCurrentMapRotatingGatePuzzleType - cmp r0, 0 - beq _080C809A - bl LoadRotatingGatePics - bl sub_80C7A80 - movs r0, 0 - movs r1, 0 - bl sub_80C7ADC -_080C809A: - pop {r0} - bx r0 - thumb_func_end sub_80C8080 - - thumb_func_start CheckForRotatingGatePuzzleCollision -CheckForRotatingGatePuzzleCollision: @ 80C80A0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r1, 16 - lsrs r4, r1, 16 - lsls r2, 16 - lsrs r2, 16 - mov r8, r2 - bl GetCurrentMapRotatingGatePuzzleType - cmp r0, 0 - bne _080C80D4 - b _080C8172 -_080C80C2: - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80C7FB8 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80C7A44 - b _080C8172 -_080C80D4: - movs r6, 0 - ldr r0, _080C8160 @ =gUnknown_02038804 - ldrb r0, [r0] - cmp r6, r0 - bge _080C8172 - lsls r0, r4, 16 - asrs r7, r0, 16 -_080C80E2: - ldr r0, _080C8164 @ =gUnknown_02038800 - ldr r1, [r0] - lsls r0, r6, 3 - adds r0, r1 - ldrh r1, [r0] - adds r1, 0x7 - ldrh r0, [r0, 0x2] - adds r0, 0x7 - lsls r0, 16 - lsrs r2, r0, 16 - lsls r1, 16 - asrs r4, r1, 16 - subs r0, r4, 0x2 - cmp r0, r7 - bgt _080C8168 - adds r0, r4, 0x1 - cmp r7, r0 - bgt _080C8168 - lsls r0, r2, 16 - asrs r3, r0, 16 - subs r1, r3, 0x2 - mov r2, r8 - lsls r0, r2, 16 - asrs r2, r0, 16 - cmp r1, r2 - bgt _080C8168 - adds r0, r3, 0x1 - cmp r2, r0 - bgt _080C8168 - subs r1, r7, r4 - adds r1, 0x2 - subs r2, r3 - adds r2, 0x2 - lsls r1, 16 - asrs r1, 16 - lsls r2, 16 - asrs r2, 16 - mov r0, r9 - bl sub_80C7FEC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _080C8168 - lsrs r5, r0, 4 - movs r1, 0xF - ands r1, r0 - lsls r0, r6, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_80C7F64 - cmp r0, 0 - beq _080C8168 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80C7E8C - cmp r0, 0 - bne _080C80C2 - movs r0, 0x1 - b _080C8174 - .align 2, 0 -_080C8160: .4byte gUnknown_02038804 -_080C8164: .4byte gUnknown_02038800 -_080C8168: - adds r6, 0x1 - ldr r0, _080C8180 @ =gUnknown_02038804 - ldrb r0, [r0] - cmp r6, r0 - blt _080C80E2 -_080C8172: - movs r0, 0 -_080C8174: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080C8180: .4byte gUnknown_02038804 - thumb_func_end CheckForRotatingGatePuzzleCollision - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/sound_check_menu.s b/asm/sound_check_menu.s deleted file mode 100644 index b47229d2b..000000000 --- a/asm/sound_check_menu.s +++ /dev/null @@ -1,2444 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_80BA0A8 -sub_80BA0A8: @ 80BA0A8 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_80BA0A8 - - thumb_func_start sub_80BA0C0 -sub_80BA0C0: @ 80BA0C0 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - ldr r0, _080BA0E8 @ =gUnknown_020387B0 - ldrb r0, [r0] - cmp r0, 0 - beq _080BA0E2 - bl m4aSoundMain - bl m4aSoundMain - bl m4aSoundMain -_080BA0E2: - pop {r0} - bx r0 - .align 2, 0 -_080BA0E8: .4byte gUnknown_020387B0 - thumb_func_end sub_80BA0C0 - - thumb_func_start unref_sub_80BA0EC -unref_sub_80BA0EC: @ 80BA0EC - push {r4-r6,lr} - sub sp, 0xC - movs r0, 0 - bl SetVBlankCallback - movs r6, 0x80 - lsls r6, 19 - movs r5, 0 - strh r5, [r6] - ldr r0, _080BA20C @ =REG_BG2CNT - strh r5, [r0] - subs r0, 0x2 - strh r5, [r0] - subs r0, 0x2 - strh r5, [r0] - adds r0, 0x10 - strh r5, [r0] - adds r0, 0x2 - strh r5, [r0] - subs r0, 0x6 - strh r5, [r0] - adds r0, 0x2 - strh r5, [r0] - subs r0, 0x6 - strh r5, [r0] - adds r0, 0x2 - strh r5, [r0] - add r0, sp, 0x4 - strh r5, [r0] - ldr r1, _080BA210 @ =0x040000d4 - str r0, [r1] - movs r0, 0xC0 - lsls r0, 19 - str r0, [r1, 0x4] - ldr r0, _080BA214 @ =0x8100c000 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r4, 0 - str r4, [sp, 0x8] - add r0, sp, 0x8 - str r0, [r1] - movs r0, 0xE0 - lsls r0, 19 - str r0, [r1, 0x4] - ldr r0, _080BA218 @ =0x85000100 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - add r0, sp, 0x4 - strh r4, [r0] - str r0, [r1] - movs r0, 0xA0 - lsls r0, 19 - str r0, [r1, 0x4] - ldr r0, _080BA21C @ =0x81000200 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - bl ResetPaletteFade - bl ResetTasks - bl ResetSpriteData - ldr r0, _080BA220 @ =gWindowConfig_81E6C3C - bl SetUpWindowConfig - ldr r0, _080BA224 @ =gWindowConfig_81E6CE4 - bl InitMenuWindow - movs r0, 0x1 - negs r0, r0 - str r4, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, _080BA228 @ =REG_WIN0H - strh r4, [r0] - adds r0, 0x4 - strh r4, [r0] - subs r0, 0x2 - strh r4, [r0] - adds r0, 0x4 - strh r4, [r0] - ldr r1, _080BA22C @ =REG_WININ - ldr r2, _080BA230 @ =0x00001111 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x31 - strh r0, [r1] - adds r1, 0x6 - movs r0, 0xE1 - strh r0, [r1] - ldr r0, _080BA234 @ =REG_BLDALPHA - strh r4, [r0] - adds r1, 0x4 - movs r0, 0x7 - strh r0, [r1] - ldr r1, _080BA238 @ =0x04000200 - movs r2, 0x1 - strh r2, [r1] - ldrh r0, [r1] - orrs r0, r2 - strh r0, [r1] - ldr r2, _080BA23C @ =REG_DISPSTAT - ldrh r0, [r2] - movs r1, 0x8 - orrs r0, r1 - strh r0, [r2] - ldr r0, _080BA240 @ =sub_80BA0C0 - bl SetVBlankCallback - ldr r0, _080BA244 @ =sub_80BA0A8 - bl SetMainCallback2 - ldr r1, _080BA248 @ =0x00007140 - adds r0, r1, 0 - strh r0, [r6] - ldr r0, _080BA24C @ =sub_80BA258 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080BA250 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x8] - strh r4, [r1, 0xA] - strh r4, [r1, 0xC] - strh r4, [r1, 0xE] - ldr r0, _080BA254 @ =gUnknown_020387B0 - strb r5, [r0] - strh r4, [r1, 0xE] - bl m4aSoundInit - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080BA20C: .4byte REG_BG2CNT -_080BA210: .4byte 0x040000d4 -_080BA214: .4byte 0x8100c000 -_080BA218: .4byte 0x85000100 -_080BA21C: .4byte 0x81000200 -_080BA220: .4byte gWindowConfig_81E6C3C -_080BA224: .4byte gWindowConfig_81E6CE4 -_080BA228: .4byte REG_WIN0H -_080BA22C: .4byte REG_WININ -_080BA230: .4byte 0x00001111 -_080BA234: .4byte REG_BLDALPHA -_080BA238: .4byte 0x04000200 -_080BA23C: .4byte REG_DISPSTAT -_080BA240: .4byte sub_80BA0C0 -_080BA244: .4byte sub_80BA0A8 -_080BA248: .4byte 0x00007140 -_080BA24C: .4byte sub_80BA258 -_080BA250: .4byte gTasks -_080BA254: .4byte gUnknown_020387B0 - thumb_func_end unref_sub_80BA0EC - - thumb_func_start sub_80BA258 -sub_80BA258: @ 80BA258 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x40 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r1, _080BA354 @ =gDebugText_SoundCheckJap - mov r0, sp - movs r2, 0x9 - bl memcpy - add r7, sp, 0xC - ldr r1, _080BA358 @ =gDebugText_BGM - adds r0, r7, 0 - movs r2, 0x4 - bl memcpy - add r0, sp, 0x10 - mov r8, r0 - ldr r1, _080BA35C @ =gDebugText_SE - movs r2, 0x4 - bl memcpy - add r5, sp, 0x14 - ldr r1, _080BA360 @ =gUnknown_083D02D9 - adds r0, r5, 0 - movs r2, 0xD - bl memcpy - add r4, sp, 0x24 - ldr r1, _080BA364 @ =gDebugText_UpDown - adds r0, r4, 0 - movs r2, 0xC - bl memcpy - add r6, sp, 0x30 - ldr r1, _080BA368 @ =gDebugText_DriverTest - adds r0, r6, 0 - movs r2, 0xE - bl memcpy - ldr r0, _080BA36C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080BA344 - movs r0, 0x2 - movs r1, 0 - movs r2, 0x1B - movs r3, 0x3 - bl MenuDrawTextWindow - movs r0, 0x2 - movs r1, 0x5 - movs r2, 0x1B - movs r3, 0xA - bl MenuDrawTextWindow - movs r0, 0x2 - movs r1, 0xC - movs r2, 0x1B - movs r3, 0x11 - bl MenuDrawTextWindow - mov r0, sp - movs r1, 0x4 - movs r2, 0x1 - bl MenuPrint - adds r0, r5, 0 - movs r1, 0xE - movs r2, 0x1 - bl MenuPrint - adds r0, r7, 0 - movs r1, 0x4 - movs r2, 0x6 - bl MenuPrint - adds r0, r4, 0 - movs r1, 0xE - movs r2, 0x6 - bl MenuPrint - mov r0, r8 - movs r1, 0x4 - movs r2, 0xD - bl MenuPrint - adds r0, r4, 0 - movs r1, 0xE - movs r2, 0xD - bl MenuPrint - adds r0, r6, 0 - movs r1, 0xE - movs r2, 0x12 - bl MenuPrint - ldr r1, _080BA370 @ =gTasks - mov r2, r9 - lsls r0, r2, 2 - add r0, r9 - lsls r0, 3 - adds r0, r1 - ldr r1, _080BA374 @ =sub_80BA384 - str r1, [r0] - ldr r1, _080BA378 @ =REG_WIN0H - ldr r2, _080BA37C @ =0x000011df - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x4 - ldr r2, _080BA380 @ =0x0000011f - adds r0, r2, 0 - strh r0, [r1] -_080BA344: - add sp, 0x40 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080BA354: .4byte gDebugText_SoundCheckJap -_080BA358: .4byte gDebugText_BGM -_080BA35C: .4byte gDebugText_SE -_080BA360: .4byte gUnknown_083D02D9 -_080BA364: .4byte gDebugText_UpDown -_080BA368: .4byte gDebugText_DriverTest -_080BA36C: .4byte gPaletteFade -_080BA370: .4byte gTasks -_080BA374: .4byte sub_80BA384 -_080BA378: .4byte REG_WIN0H -_080BA37C: .4byte 0x000011df -_080BA380: .4byte 0x0000011f - thumb_func_end sub_80BA258 - - thumb_func_start sub_80BA384 -sub_80BA384: @ 80BA384 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080BA3EC @ =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - ldrb r0, [r4, 0x8] - bl sub_80BA6B8 - ldr r1, _080BA3F0 @ =0x0000015d - adds r0, r1, 0 - ldrh r2, [r4, 0xA] - adds r0, r2 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x7 - movs r2, 0x8 - bl sub_80BA700 - ldr r1, _080BA3F4 @ =gBGMNames - movs r2, 0xA - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0xB - movs r2, 0x8 - bl sub_80BA79C - ldrh r0, [r4, 0xC] - movs r1, 0x7 - movs r2, 0xF - bl sub_80BA700 - ldr r1, _080BA3F8 @ =gSENames - movs r2, 0xC - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0xB - movs r2, 0xF - bl sub_80BA79C - ldr r0, _080BA3FC @ =sub_80BA65C - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080BA3EC: .4byte gTasks -_080BA3F0: .4byte 0x0000015d -_080BA3F4: .4byte gBGMNames -_080BA3F8: .4byte gSENames -_080BA3FC: .4byte sub_80BA65C - thumb_func_end sub_80BA384 - - thumb_func_start sub_80BA400 -sub_80BA400: @ 80BA400 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r2, _080BA428 @ =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _080BA434 - ldr r0, _080BA42C @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _080BA430 @ =sub_80BA800 - str r0, [r1] - b _080BA64C - .align 2, 0 -_080BA428: .4byte gMain -_080BA42C: .4byte gTasks -_080BA430: .4byte sub_80BA800 -_080BA434: - movs r0, 0x80 - lsls r0, 2 - ands r0, r1 - cmp r0, 0 - beq _080BA458 - ldr r0, _080BA450 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _080BA454 @ =sub_80BAF84 - str r0, [r1] - b _080BA64C - .align 2, 0 -_080BA450: .4byte gTasks -_080BA454: .4byte sub_80BAF84 -_080BA458: - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080BA478 - ldr r0, _080BA470 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _080BA474 @ =sub_80BB25C - str r0, [r1] - b _080BA64C - .align 2, 0 -_080BA470: .4byte gTasks -_080BA474: .4byte sub_80BB25C -_080BA478: - movs r6, 0x1 - movs r5, 0x1 - ands r5, r1 - cmp r5, 0 - beq _080BA538 - ldr r0, _080BA4AC @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r5, r1, r0 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _080BA4D0 - movs r2, 0x10 - ldrsh r0, [r5, r2] - cmp r0, 0 - beq _080BA4BA - movs r3, 0xC - ldrsh r4, [r5, r3] - cmp r4, 0 - beq _080BA4B0 - ldrh r0, [r5, 0x10] - bl m4aSongNumStop - b _080BA4C4 - .align 2, 0 -_080BA4AC: .4byte gTasks -_080BA4B0: - ldrh r0, [r5, 0x10] - bl m4aSongNumStop - strh r4, [r5, 0x10] - b _080BA64C -_080BA4BA: - movs r4, 0xC - ldrsh r0, [r5, r4] - cmp r0, 0 - bne _080BA4C4 - b _080BA64C -_080BA4C4: - ldrh r0, [r5, 0xC] - bl m4aSongNumStart - ldrh r0, [r5, 0xC] - strh r0, [r5, 0x10] - b _080BA64C -_080BA4D0: - ldrh r1, [r5, 0xE] - movs r2, 0xE - ldrsh r0, [r5, r2] - cmp r0, 0 - beq _080BA514 - movs r3, 0xA - ldrsh r4, [r5, r3] - cmp r4, 0 - beq _080BA500 - ldr r0, _080BA4FC @ =0x0000015d - adds r4, r0, 0 - adds r0, r1, r4 - lsls r0, 16 - lsrs r0, 16 - bl m4aSongNumStop - ldrh r1, [r5, 0xA] - adds r4, r1 - lsls r4, 16 - lsrs r4, 16 - adds r0, r4, 0 - b _080BA528 - .align 2, 0 -_080BA4FC: .4byte 0x0000015d -_080BA500: - ldr r2, _080BA510 @ =0x0000015d - adds r0, r1, r2 - lsls r0, 16 - lsrs r0, 16 - bl m4aSongNumStop - strh r4, [r5, 0xE] - b _080BA64C - .align 2, 0 -_080BA510: .4byte 0x0000015d -_080BA514: - ldrh r1, [r5, 0xA] - movs r3, 0xA - ldrsh r0, [r5, r3] - cmp r0, 0 - bne _080BA520 - b _080BA64C -_080BA520: - ldr r4, _080BA534 @ =0x0000015d - adds r0, r1, r4 - lsls r0, 16 - lsrs r0, 16 -_080BA528: - bl m4aSongNumStart - ldrh r0, [r5, 0xA] - strh r0, [r5, 0xE] - b _080BA64C - .align 2, 0 -_080BA534: .4byte 0x0000015d -_080BA538: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080BA570 - movs r0, 0x5 - bl m4aSongNumStart - movs r0, 0x1 - negs r0, r0 - str r5, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _080BA568 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080BA56C @ =sub_80BA68C - str r1, [r0] - b _080BA64C - .align 2, 0 -_080BA568: .4byte gTasks -_080BA56C: .4byte sub_80BA68C -_080BA570: - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - bne _080BA582 - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080BA59C -_080BA582: - ldr r0, _080BA598 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - eors r0, r6 - strh r0, [r1, 0x8] -_080BA592: - movs r0, 0x1 - b _080BA64E - .align 2, 0 -_080BA598: .4byte gTasks -_080BA59C: - movs r0, 0x10 - ands r0, r1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0 - beq _080BA5EA - ldr r0, _080BA5CC @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _080BA5D6 - ldrh r2, [r1, 0xC] - movs r3, 0xC - ldrsh r0, [r1, r3] - cmp r0, 0 - ble _080BA5D0 - subs r0, r2, 0x1 - strh r0, [r1, 0xC] - b _080BA592 - .align 2, 0 -_080BA5CC: .4byte gTasks -_080BA5D0: - movs r0, 0xF7 - strh r0, [r1, 0xC] - b _080BA592 -_080BA5D6: - ldrh r2, [r1, 0xA] - movs r4, 0xA - ldrsh r0, [r1, r4] - cmp r0, 0 - ble _080BA5E4 - subs r0, r2, 0x1 - b _080BA5E6 -_080BA5E4: - movs r0, 0x75 -_080BA5E6: - strh r0, [r1, 0xA] - b _080BA592 -_080BA5EA: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080BA630 - ldr r1, _080BA614 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r1 - movs r0, 0x8 - ldrsh r2, [r1, r0] - cmp r2, 0 - beq _080BA61C - ldrh r2, [r1, 0xC] - movs r4, 0xC - ldrsh r0, [r1, r4] - cmp r0, 0xF6 - bgt _080BA618 - adds r0, r2, 0x1 - strh r0, [r1, 0xC] - b _080BA592 - .align 2, 0 -_080BA614: .4byte gTasks -_080BA618: - strh r3, [r1, 0xC] - b _080BA592 -_080BA61C: - ldrh r3, [r1, 0xA] - movs r4, 0xA - ldrsh r0, [r1, r4] - cmp r0, 0x74 - bgt _080BA62C - adds r0, r3, 0x1 - strh r0, [r1, 0xA] - b _080BA592 -_080BA62C: - strh r2, [r1, 0xA] - b _080BA592 -_080BA630: - ldrh r1, [r2, 0x2C] - movs r0, 0x4 - ands r0, r1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - beq _080BA648 - ldr r0, _080BA644 @ =gUnknown_020387B0 - strb r6, [r0] - b _080BA64C - .align 2, 0 -_080BA644: .4byte gUnknown_020387B0 -_080BA648: - ldr r0, _080BA658 @ =gUnknown_020387B0 - strb r1, [r0] -_080BA64C: - movs r0, 0 -_080BA64E: - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080BA658: .4byte gUnknown_020387B0 - thumb_func_end sub_80BA400 - - thumb_func_start sub_80BA65C -sub_80BA65C: @ 80BA65C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_80BA400 - lsls r0, 24 - cmp r0, 0 - beq _080BA67C - ldr r0, _080BA684 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _080BA688 @ =sub_80BA384 - str r0, [r1] -_080BA67C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080BA684: .4byte gTasks -_080BA688: .4byte sub_80BA384 - thumb_func_end sub_80BA65C - - thumb_func_start sub_80BA68C -sub_80BA68C: @ 80BA68C - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _080BA6B0 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080BA6AA - adds r0, r2, 0 - bl DestroyTask - ldr r0, _080BA6B4 @ =CB2_InitTitleScreen - bl SetMainCallback2 -_080BA6AA: - pop {r0} - bx r0 - .align 2, 0 -_080BA6B0: .4byte gPaletteFade -_080BA6B4: .4byte CB2_InitTitleScreen - thumb_func_end sub_80BA68C - - thumb_func_start sub_80BA6B8 -sub_80BA6B8: @ 80BA6B8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _080BA6C6 - cmp r0, 0x1 - beq _080BA6E0 -_080BA6C6: - ldr r1, _080BA6D4 @ =REG_WIN1H - ldr r2, _080BA6D8 @ =0x000011df - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x4 - ldr r2, _080BA6DC @ =0x00002957 - b _080BA6EC - .align 2, 0 -_080BA6D4: .4byte REG_WIN1H -_080BA6D8: .4byte 0x000011df -_080BA6DC: .4byte 0x00002957 -_080BA6E0: - ldr r1, _080BA6F4 @ =REG_WIN1H - ldr r2, _080BA6F8 @ =0x000011df - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x4 - ldr r2, _080BA6FC @ =0x0000618f -_080BA6EC: - adds r0, r2, 0 - strh r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_080BA6F4: .4byte REG_WIN1H -_080BA6F8: .4byte 0x000011df -_080BA6FC: .4byte 0x0000618f - thumb_func_end sub_80BA6B8 - - thumb_func_start sub_80BA700 -sub_80BA700: @ 80BA700 - push {r4-r7,lr} - sub sp, 0x8 - lsls r0, 16 - lsrs r5, r0, 16 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r2, 16 - lsrs r7, r2, 16 - movs r1, 0 - movs r2, 0 -_080BA714: - mov r3, sp - adds r0, r3, r1 - strb r2, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x2 - bls _080BA714 - mov r1, sp - movs r0, 0xB0 - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - movs r4, 0 - adds r0, r5, 0 - movs r1, 0x64 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _080BA748 - mov r1, sp - adds r0, 0xA1 - strb r0, [r1] - movs r4, 0x1 -_080BA748: - adds r0, r5, 0 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080BA766 - cmp r4, 0 - beq _080BA76C -_080BA766: - mov r1, sp - adds r0, 0xA1 - strb r0, [r1, 0x1] -_080BA76C: - mov r4, sp - adds r0, r5, 0 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - adds r0, 0xA1 - strb r0, [r4, 0x2] - lsls r1, r6, 24 - lsrs r1, 24 - lsls r2, r7, 24 - lsrs r2, 24 - mov r0, sp - bl MenuPrint - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80BA700 - - thumb_func_start sub_80BA79C -sub_80BA79C: @ 80BA79C - push {r4-r6,lr} - sub sp, 0xC - adds r4, r0, 0 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r2, 16 - lsrs r5, r2, 16 - movs r3, 0 - movs r1, 0 -_080BA7AE: - mov r2, sp - adds r0, r2, r3 - strb r1, [r0] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0xA - bls _080BA7AE - mov r0, sp - movs r1, 0xFF - strb r1, [r0, 0xA] - movs r3, 0 - ldrb r0, [r4] - lsls r2, r6, 24 - lsls r5, 24 - cmp r0, 0xFF - beq _080BA7EC -_080BA7D0: - mov r0, sp - adds r1, r0, r3 - adds r0, r4, r3 - ldrb r0, [r0] - strb r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - adds r0, r4, r3 - ldrb r0, [r0] - cmp r0, 0xFF - beq _080BA7EC - cmp r3, 0x9 - bls _080BA7D0 -_080BA7EC: - lsrs r1, r2, 24 - lsrs r2, r5, 24 - mov r0, sp - bl MenuPrint - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80BA79C - - thumb_func_start sub_80BA800 -sub_80BA800: @ 80BA800 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xCC - lsls r0, 24 - str r0, [sp, 0xB0] - lsrs r2, r0, 24 - str r2, [sp, 0xAC] - ldr r1, _080BA9E8 @ =gUnknown_083D0312 - mov r0, sp - movs r2, 0xA - bl memcpy - mov r0, sp - adds r0, 0xC - str r0, [sp, 0xB4] - ldr r1, _080BA9EC @ =gUnknown_083D031C - movs r2, 0xB - bl memcpy - mov r2, sp - adds r2, 0x18 - str r2, [sp, 0xB8] - ldr r1, _080BA9F0 @ =gDebugText_Voice - adds r0, r2, 0 - movs r2, 0xA - bl memcpy - mov r0, sp - adds r0, 0x24 - str r0, [sp, 0xBC] - ldr r1, _080BA9F4 @ =gDebugText_Volume - movs r2, 0xA - bl memcpy - mov r2, sp - adds r2, 0x30 - str r2, [sp, 0xC0] - ldr r1, _080BA9F8 @ =gDebugText_Panpot - adds r0, r2, 0 - movs r2, 0xA - bl memcpy - mov r0, sp - adds r0, 0x3C - str r0, [sp, 0xC4] - ldr r1, _080BA9FC @ =gDebugText_Pitch - movs r2, 0xA - bl memcpy - mov r2, sp - adds r2, 0x48 - str r2, [sp, 0xC8] - ldr r1, _080BAA00 @ =gDebugText_Length - adds r0, r2, 0 - movs r2, 0xA - bl memcpy - add r4, sp, 0x54 - ldr r1, _080BAA04 @ =gDebugText_Release - adds r0, r4, 0 - movs r2, 0xA - bl memcpy - add r7, sp, 0x60 - ldr r1, _080BAA08 @ =gDebugText_Progress - adds r0, r7, 0 - movs r2, 0xA - bl memcpy - add r0, sp, 0x6C - mov r10, r0 - ldr r1, _080BAA0C @ =gDebugText_Chorus - movs r2, 0xA - bl memcpy - add r2, sp, 0x78 - mov r9, r2 - ldr r1, _080BAA10 @ =gDebugText_Priority - mov r0, r9 - movs r2, 0xA - bl memcpy - add r0, sp, 0x84 - mov r8, r0 - ldr r1, _080BAA14 @ =gUnknown_083D0381 - movs r2, 0x9 - bl memcpy - add r6, sp, 0x90 - ldr r1, _080BAA18 @ =gUnknown_083D038A - adds r0, r6, 0 - movs r2, 0x9 - bl memcpy - add r5, sp, 0x9C - ldr r1, _080BAA1C @ =gUnknown_083D0393 - adds r0, r5, 0 - movs r2, 0x9 - bl memcpy - movs r1, 0x80 - lsls r1, 19 - movs r2, 0xC5 - lsls r2, 6 - adds r0, r2, 0 - strh r0, [r1] - movs r0, 0 - movs r1, 0 - movs r2, 0x1D - movs r3, 0x13 - bl MenuDrawTextWindow - mov r0, sp - movs r1, 0x13 - movs r2, 0x4 - bl MenuPrint - ldr r0, [sp, 0xB4] - movs r1, 0x13 - movs r2, 0x2 - bl MenuPrint - ldr r0, [sp, 0xB8] - movs r1, 0x2 - movs r2, 0x1 - bl MenuPrint - ldr r0, [sp, 0xBC] - movs r1, 0x2 - movs r2, 0x3 - bl MenuPrint - ldr r0, [sp, 0xC0] - movs r1, 0x2 - movs r2, 0x5 - bl MenuPrint - ldr r0, [sp, 0xC4] - movs r1, 0x2 - movs r2, 0x7 - bl MenuPrint - ldr r0, [sp, 0xC8] - movs r1, 0x2 - movs r2, 0x9 - bl MenuPrint - adds r0, r4, 0 - movs r1, 0x2 - movs r2, 0xB - bl MenuPrint - adds r0, r7, 0 - movs r1, 0x2 - movs r2, 0xD - bl MenuPrint - mov r0, r10 - movs r1, 0x2 - movs r2, 0xF - bl MenuPrint - mov r0, r9 - movs r1, 0x2 - movs r2, 0x11 - bl MenuPrint - mov r0, r8 - movs r1, 0x13 - movs r2, 0x10 - bl MenuPrint - adds r0, r6, 0 - movs r1, 0x13 - movs r2, 0xE - bl MenuPrint - adds r0, r5, 0 - movs r1, 0x13 - movs r2, 0xC - bl MenuPrint - ldr r1, _080BAA20 @ =REG_WIN0H - movs r0, 0xF0 - strh r0, [r1] - adds r1, 0x4 - movs r0, 0xA0 - strh r0, [r1] - ldr r0, _080BAA24 @ =gUnknown_020387B3 - movs r1, 0 - strb r1, [r0] - ldr r0, _080BAA28 @ =gUnknown_020387B1 - strb r1, [r0] - ldr r0, _080BAA2C @ =gUnknown_020387B2 - strb r1, [r0] - ldr r0, _080BAA30 @ =gUnknown_03005D30 - movs r2, 0 - str r2, [r0] - ldr r0, _080BAA34 @ =gUnknown_020387D8 - strb r2, [r0] - ldr r1, _080BAA38 @ =gUnknown_020387D9 - movs r0, 0x1 - strb r0, [r1] - ldr r0, _080BAA3C @ =gUnknown_020387B4 - str r2, [r0] - movs r1, 0x78 - str r1, [r0, 0x4] - str r2, [r0, 0x8] - movs r1, 0xF0 - lsls r1, 6 - str r1, [r0, 0xC] - movs r1, 0xB4 - str r1, [r0, 0x10] - str r2, [r0, 0x18] - str r2, [r0, 0x14] - str r2, [r0, 0x1C] - movs r1, 0x2 - str r1, [r0, 0x20] - bl sub_80BAD5C - movs r0, 0 - movs r1, 0 - bl sub_80BAE10 - ldr r1, _080BAA40 @ =gTasks - ldr r2, [sp, 0xAC] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r1 - ldr r1, _080BAA44 @ =sub_80BAA48 - str r1, [r0] - add sp, 0xCC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080BA9E8: .4byte gUnknown_083D0312 -_080BA9EC: .4byte gUnknown_083D031C -_080BA9F0: .4byte gDebugText_Voice -_080BA9F4: .4byte gDebugText_Volume -_080BA9F8: .4byte gDebugText_Panpot -_080BA9FC: .4byte gDebugText_Pitch -_080BAA00: .4byte gDebugText_Length -_080BAA04: .4byte gDebugText_Release -_080BAA08: .4byte gDebugText_Progress -_080BAA0C: .4byte gDebugText_Chorus -_080BAA10: .4byte gDebugText_Priority -_080BAA14: .4byte gUnknown_083D0381 -_080BAA18: .4byte gUnknown_083D038A -_080BAA1C: .4byte gUnknown_083D0393 -_080BAA20: .4byte REG_WIN0H -_080BAA24: .4byte gUnknown_020387B3 -_080BAA28: .4byte gUnknown_020387B1 -_080BAA2C: .4byte gUnknown_020387B2 -_080BAA30: .4byte gUnknown_03005D30 -_080BAA34: .4byte gUnknown_020387D8 -_080BAA38: .4byte gUnknown_020387D9 -_080BAA3C: .4byte gUnknown_020387B4 -_080BAA40: .4byte gTasks -_080BAA44: .4byte sub_80BAA48 - thumb_func_end sub_80BA800 - - thumb_func_start sub_80BAA48 -sub_80BAA48: @ 80BAA48 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _080BAA90 @ =gMain - ldrh r2, [r1, 0x2E] - movs r0, 0x2 - ands r0, r2 - cmp r0, 0 - beq _080BAAA8 - movs r1, 0x80 - lsls r1, 19 - ldr r2, _080BAA94 @ =0x00007140 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x40 - ldr r2, _080BAA98 @ =0x000011df - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x4 - ldr r2, _080BAA9C @ =0x0000011f - adds r0, r2, 0 - strh r0, [r1] - movs r0, 0 - movs r1, 0 - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - ldr r1, _080BAAA0 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080BAAA4 @ =sub_80BA258 - str r1, [r0] - b _080BACC6 - .align 2, 0 -_080BAA90: .4byte gMain -_080BAA94: .4byte 0x00007140 -_080BAA98: .4byte 0x000011df -_080BAA9C: .4byte 0x0000011f -_080BAAA0: .4byte gTasks -_080BAAA4: .4byte sub_80BA258 -_080BAAA8: - ldrh r1, [r1, 0x30] - movs r0, 0x40 - ands r0, r1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0 - beq _080BAAD0 - ldr r1, _080BAACC @ =gUnknown_020387B3 - ldrb r2, [r1] - subs r0, r2, 0x1 - strb r0, [r1] - lsls r0, 24 - cmp r0, 0 - bge _080BAAEA - movs r0, 0x8 - strb r0, [r1] - b _080BAAEA - .align 2, 0 -_080BAACC: .4byte gUnknown_020387B3 -_080BAAD0: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080BAAF8 - ldr r1, _080BAAF4 @ =gUnknown_020387B3 - ldrb r2, [r1] - adds r0, r2, 0x1 - strb r0, [r1] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x8 - ble _080BAAEA - strb r3, [r1] -_080BAAEA: - ldrb r1, [r1] - adds r0, r2, 0 - bl sub_80BAE10 - b _080BACC6 - .align 2, 0 -_080BAAF4: .4byte gUnknown_020387B3 -_080BAAF8: - movs r0, 0x8 - ands r0, r2 - cmp r0, 0 - beq _080BAB14 - ldr r0, _080BAB10 @ =gUnknown_020387D8 - ldrb r1, [r0] - movs r2, 0x1 - eors r1, r2 - strb r1, [r0] - bl sub_80BAD5C - b _080BACC6 - .align 2, 0 -_080BAB10: .4byte gUnknown_020387D8 -_080BAB14: - movs r0, 0x4 - ands r0, r2 - cmp r0, 0 - beq _080BAB38 - ldr r4, _080BAB34 @ =gUnknown_020387D9 - ldrb r0, [r4] - movs r1, 0x1 - eors r0, r1 - strb r0, [r4] - bl sub_80BAD5C - ldrb r0, [r4] - bl SetPokemonCryStereo - b _080BACC6 - .align 2, 0 -_080BAB34: .4byte gUnknown_020387D9 -_080BAB38: - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _080BAB46 - movs r0, 0xA - b _080BAB6E -_080BAB46: - movs r0, 0x80 - lsls r0, 2 - ands r0, r1 - cmp r0, 0 - beq _080BAB56 - movs r0, 0xA - negs r0, r0 - b _080BAB6E -_080BAB56: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080BAB64 - movs r0, 0x1 - negs r0, r0 - b _080BAB6E -_080BAB64: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080BAB78 - movs r0, 0x1 -_080BAB6E: - bl sub_80BACDC - bl sub_80BAD5C - b _080BACC6 -_080BAB78: - movs r0, 0x1 - ands r0, r2 - cmp r0, 0 - bne _080BAB82 - b _080BACA2 -_080BAB82: - ldr r4, _080BABE4 @ =gUnknown_020387B4 - ldrb r0, [r4, 0x4] - bl SetPokemonCryVolume - movs r0, 0x8 - ldrsb r0, [r4, r0] - bl SetPokemonCryPanpot - movs r1, 0xC - ldrsh r0, [r4, r1] - bl SetPokemonCryPitch - ldrh r0, [r4, 0x10] - bl SetPokemonCryLength - ldr r0, [r4, 0x18] - bl SetPokemonCryProgress - ldrb r0, [r4, 0x14] - bl SetPokemonCryRelease - movs r0, 0x1C - ldrsb r0, [r4, r0] - bl SetPokemonCryChorus - ldr r0, [r4, 0x20] - lsls r0, 24 - lsrs r0, 24 - bl SetPokemonCryPriority - ldr r4, [r4] - adds r0, r4, 0 - cmp r4, 0 - bge _080BABC8 - adds r0, 0x7F -_080BABC8: - asrs r2, r0, 7 - lsls r0, r2, 7 - subs r0, r4, r0 - lsls r0, 24 - lsrs r1, r0, 24 - lsls r0, r2, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080BAC1C - cmp r0, 0x1 - bgt _080BABE8 - cmp r0, 0 - beq _080BABF2 - b _080BACA2 - .align 2, 0 -_080BABE4: .4byte gUnknown_020387B4 -_080BABE8: - cmp r0, 0x2 - beq _080BAC48 - cmp r0, 0x3 - beq _080BAC74 - b _080BACA2 -_080BABF2: - ldr r0, _080BAC04 @ =gUnknown_020387D8 - ldrb r0, [r0] - cmp r0, 0 - beq _080BAC0C - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, _080BAC08 @ =voicegroup_84537C0 - b _080BAC98 - .align 2, 0 -_080BAC04: .4byte gUnknown_020387D8 -_080BAC08: .4byte voicegroup_84537C0 -_080BAC0C: - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, _080BAC18 @ =voicegroup_8452590 - b _080BAC98 - .align 2, 0 -_080BAC18: .4byte voicegroup_8452590 -_080BAC1C: - ldr r0, _080BAC30 @ =gUnknown_020387D8 - ldrb r0, [r0] - cmp r0, 0 - beq _080BAC38 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, _080BAC34 @ =voicegroup_8453DC0 - b _080BAC98 - .align 2, 0 -_080BAC30: .4byte gUnknown_020387D8 -_080BAC34: .4byte voicegroup_8453DC0 -_080BAC38: - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, _080BAC44 @ =voicegroup_8452B90 - b _080BAC98 - .align 2, 0 -_080BAC44: .4byte voicegroup_8452B90 -_080BAC48: - ldr r0, _080BAC5C @ =gUnknown_020387D8 - ldrb r0, [r0] - cmp r0, 0 - beq _080BAC64 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, _080BAC60 @ =voicegroup_84543C0 - b _080BAC98 - .align 2, 0 -_080BAC5C: .4byte gUnknown_020387D8 -_080BAC60: .4byte voicegroup_84543C0 -_080BAC64: - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, _080BAC70 @ =voicegroup_8453190 - b _080BAC98 - .align 2, 0 -_080BAC70: .4byte voicegroup_8453190 -_080BAC74: - ldr r0, _080BAC88 @ =gUnknown_020387D8 - ldrb r0, [r0] - cmp r0, 0 - beq _080BAC90 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, _080BAC8C @ =voicegroup_84549C0 - b _080BAC98 - .align 2, 0 -_080BAC88: .4byte gUnknown_020387D8 -_080BAC8C: .4byte voicegroup_84549C0 -_080BAC90: - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, _080BACCC @ =voicegroup_8453790 -_080BAC98: - adds r0, r1 - bl SetPokemonCryTone - ldr r1, _080BACD0 @ =gUnknown_03005D30 - str r0, [r1] -_080BACA2: - ldr r0, _080BACD0 @ =gUnknown_03005D30 - ldr r0, [r0] - cmp r0, 0 - beq _080BACC6 - ldr r5, _080BACD4 @ =gUnknown_020387B1 - bl IsPokemonCryPlaying - strb r0, [r5] - ldr r4, _080BACD8 @ =gUnknown_020387B2 - lsls r0, 24 - lsrs r0, 24 - ldrb r2, [r4] - cmp r0, r2 - beq _080BACC2 - bl sub_80BAD5C -_080BACC2: - ldrb r0, [r5] - strb r0, [r4] -_080BACC6: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080BACCC: .4byte voicegroup_8453790 -_080BACD0: .4byte gUnknown_03005D30 -_080BACD4: .4byte gUnknown_020387B1 -_080BACD8: .4byte gUnknown_020387B2 - thumb_func_end sub_80BAA48 - - thumb_func_start sub_80BACDC -sub_80BACDC: @ 80BACDC - push {r4-r6,lr} - sub sp, 0x40 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _080BAD50 @ =gUnknown_083D039C - mov r0, sp - movs r2, 0x40 - bl memcpy - ldr r6, _080BAD54 @ =gUnknown_020387B4 - ldr r5, _080BAD58 @ =gUnknown_020387B3 - movs r1, 0 - ldrsb r1, [r5, r1] - lsls r1, 2 - adds r1, r6 - lsls r4, 24 - asrs r4, 24 - ldr r0, [r1] - adds r0, r4 - str r0, [r1] - movs r2, 0 - ldrsb r2, [r5, r2] - lsls r0, r2, 2 - adds r3, r0, r6 - lsls r0, r2, 1 - adds r0, 0x1 - lsls r0, 2 - add r0, sp - ldr r1, [r3] - ldr r0, [r0] - cmp r1, r0 - ble _080BAD26 - lsls r0, r2, 3 - add r0, sp - ldr r0, [r0] - str r0, [r3] -_080BAD26: - movs r2, 0 - ldrsb r2, [r5, r2] - lsls r0, r2, 2 - adds r3, r0, r6 - lsls r0, r2, 3 - add r0, sp - ldr r1, [r3] - ldr r0, [r0] - cmp r1, r0 - bge _080BAD46 - lsls r0, r2, 1 - adds r0, 0x1 - lsls r0, 2 - add r0, sp - ldr r0, [r0] - str r0, [r3] -_080BAD46: - add sp, 0x40 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080BAD50: .4byte gUnknown_083D039C -_080BAD54: .4byte gUnknown_020387B4 -_080BAD58: .4byte gUnknown_020387B3 - thumb_func_end sub_80BACDC - - thumb_func_start sub_80BAD5C -sub_80BAD5C: @ 80BAD5C - push {r4,lr} - ldr r4, _080BAE00 @ =gUnknown_020387B4 - ldr r0, [r4] - adds r0, 0x1 - movs r1, 0xB - movs r2, 0x1 - movs r3, 0x5 - bl sub_80BAE78 - ldr r0, [r4, 0x4] - movs r1, 0xB - movs r2, 0x3 - movs r3, 0x5 - bl sub_80BAE78 - ldr r0, [r4, 0x8] - movs r1, 0xB - movs r2, 0x5 - movs r3, 0x5 - bl sub_80BAE78 - ldr r0, [r4, 0xC] - movs r1, 0xB - movs r2, 0x7 - movs r3, 0x5 - bl sub_80BAE78 - ldr r0, [r4, 0x10] - movs r1, 0xB - movs r2, 0x9 - movs r3, 0x5 - bl sub_80BAE78 - ldr r0, [r4, 0x14] - movs r1, 0xB - movs r2, 0xB - movs r3, 0x5 - bl sub_80BAE78 - ldr r0, [r4, 0x18] - movs r1, 0xB - movs r2, 0xD - movs r3, 0x5 - bl sub_80BAE78 - ldr r0, [r4, 0x1C] - movs r1, 0xB - movs r2, 0xF - movs r3, 0x5 - bl sub_80BAE78 - ldr r0, [r4, 0x20] - movs r1, 0xB - movs r2, 0x11 - movs r3, 0x5 - bl sub_80BAE78 - ldr r0, _080BAE04 @ =gUnknown_020387B1 - ldrb r0, [r0] - movs r1, 0x1B - movs r2, 0x10 - movs r3, 0x1 - bl sub_80BAE78 - ldr r0, _080BAE08 @ =gUnknown_020387D8 - ldrb r0, [r0] - movs r1, 0x1B - movs r2, 0xE - movs r3, 0x1 - bl sub_80BAE78 - ldr r0, _080BAE0C @ =gUnknown_020387D9 - ldrb r0, [r0] - movs r1, 0x1B - movs r2, 0xC - movs r3, 0x1 - bl sub_80BAE78 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080BAE00: .4byte gUnknown_020387B4 -_080BAE04: .4byte gUnknown_020387B1 -_080BAE08: .4byte gUnknown_020387D8 -_080BAE0C: .4byte gUnknown_020387D9 - thumb_func_end sub_80BAD5C - - thumb_func_start sub_80BAE10 -sub_80BAE10: @ 80BAE10 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x8 - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - ldr r1, _080BAE6C @ =gUnknown_083D03DC - mov r0, sp - movs r2, 0x2 - bl memcpy - add r0, sp, 0x4 - mov r8, r0 - ldr r1, _080BAE70 @ =gUnknown_083D03DE - movs r2, 0x2 - bl memcpy - ldr r6, _080BAE74 @ =gUnknown_083D0300 - lsls r4, 1 - adds r0, r4, r6 - ldrb r1, [r0] - adds r4, 0x1 - adds r4, r6 - ldrb r2, [r4] - mov r0, r8 - bl MenuPrint - lsls r5, 1 - adds r0, r5, r6 - ldrb r1, [r0] - adds r5, 0x1 - adds r5, r6 - ldrb r2, [r5] - mov r0, sp - bl MenuPrint - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080BAE6C: .4byte gUnknown_083D03DC -_080BAE70: .4byte gUnknown_083D03DE -_080BAE74: .4byte gUnknown_083D0300 - thumb_func_end sub_80BAE10 - - thumb_func_start sub_80BAE78 -sub_80BAE78: @ 80BAE78 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x2C - mov r8, r0 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r2, 16 - lsrs r2, 16 - lsls r3, 24 - lsrs r7, r3, 24 - mov r1, sp - ldr r0, _080BAF80 @ =gUnknown_083D03E0 - ldm r0!, {r3-r5} - stm r1!, {r3-r5} - ldm r0!, {r3-r5} - stm r1!, {r3-r5} - movs r5, 0 - add r0, sp, 0x18 - mov r9, r0 - cmp r5, r7 - bgt _080BAEC0 - mov r4, r9 - movs r3, 0 -_080BAEAC: - lsls r0, r5, 24 - asrs r0, 24 - adds r1, r4, r0 - strb r3, [r1] - adds r0, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - asrs r0, 24 - cmp r0, r7 - ble _080BAEAC -_080BAEC0: - adds r0, r7, 0x1 - add r0, r9 - movs r1, 0xFF - strb r1, [r0] - movs r1, 0 - mov r3, r8 - cmp r3, 0 - bge _080BAED6 - negs r3, r3 - mov r8, r3 - movs r1, 0x1 -_080BAED6: - movs r4, 0 - mov r10, r4 - cmp r7, 0x1 - bne _080BAEE2 - movs r5, 0x1 - mov r10, r5 -_080BAEE2: - subs r0, r7, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 24 - lsls r6, 24 - str r6, [sp, 0x24] - lsls r2, 24 - str r2, [sp, 0x28] - cmp r0, 0 - blt _080BAF62 - str r1, [sp, 0x20] -_080BAEF8: - asrs r6, r0, 24 - lsls r0, r6, 2 - add r0, sp - ldr r1, [r0] - mov r0, r8 - bl __divsi3 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r0, 0 - bne _080BAF1A - mov r0, r10 - cmp r0, 0 - bne _080BAF1A - lsls r4, r5, 24 - cmp r6, 0 - bne _080BAF46 -_080BAF1A: - lsls r4, r5, 24 - ldr r3, [sp, 0x20] - cmp r3, 0 - beq _080BAF34 - mov r5, r10 - cmp r5, 0 - bne _080BAF34 - asrs r0, r4, 24 - subs r0, r7, r0 - subs r0, 0x1 - add r0, r9 - movs r1, 0xAE - strb r1, [r0] -_080BAF34: - asrs r1, r4, 24 - subs r1, r7, r1 - add r1, r9 - lsls r0, r2, 24 - asrs r0, 24 - subs r0, 0x5F - strb r0, [r1] - movs r0, 0x1 - mov r10, r0 -_080BAF46: - asrs r4, 24 - lsls r0, r4, 2 - add r0, sp - ldr r1, [r0] - mov r0, r8 - bl __modsi3 - mov r8, r0 - subs r4, 0x1 - lsls r4, 24 - lsrs r5, r4, 24 - lsls r0, r5, 24 - cmp r0, 0 - bge _080BAEF8 -_080BAF62: - ldr r3, [sp, 0x24] - lsrs r1, r3, 24 - ldr r4, [sp, 0x28] - lsrs r2, r4, 24 - mov r0, r9 - bl MenuPrint - 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 -_080BAF80: .4byte gUnknown_083D03E0 - thumb_func_end sub_80BAE78 - - thumb_func_start sub_80BAF84 -sub_80BAF84: @ 80BAF84 - push {r4-r6,lr} - sub sp, 0x14 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _080BB01C @ =gOtherText_SE - mov r0, sp - movs r2, 0x3 - bl memcpy - add r6, sp, 0x4 - ldr r1, _080BB020 @ =gOtherText_Pan - adds r0, r6, 0 - movs r2, 0x4 - bl memcpy - add r5, sp, 0x8 - ldr r1, _080BB024 @ =gUnknown_083D0381 - adds r0, r5, 0 - movs r2, 0x9 - bl memcpy - movs r1, 0x80 - lsls r1, 19 - movs r2, 0xC5 - lsls r2, 6 - adds r0, r2, 0 - strh r0, [r1] - movs r0, 0 - movs r1, 0 - movs r2, 0x1D - movs r3, 0x13 - bl MenuDrawTextWindow - mov r0, sp - movs r1, 0x3 - movs r2, 0x2 - bl MenuPrint - adds r0, r6, 0 - movs r1, 0x3 - movs r2, 0x4 - bl MenuPrint - adds r0, r5, 0 - movs r1, 0x3 - movs r2, 0x8 - bl MenuPrint - ldr r1, _080BB028 @ =REG_WIN0H - movs r0, 0xF0 - strh r0, [r1] - adds r1, 0x4 - movs r0, 0xA0 - strh r0, [r1] - ldr r1, _080BB02C @ =gUnknown_020387B4 - movs r0, 0x1 - str r0, [r1] - movs r0, 0 - str r0, [r1, 0x8] - str r0, [r1, 0x1C] - str r0, [r1, 0x18] - str r0, [r1, 0x14] - bl sub_80BB1D4 - ldr r1, _080BB030 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080BB034 @ =sub_80BB038 - str r1, [r0] - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080BB01C: .4byte gOtherText_SE -_080BB020: .4byte gOtherText_Pan -_080BB024: .4byte gUnknown_083D0381 -_080BB028: .4byte REG_WIN0H -_080BB02C: .4byte gUnknown_020387B4 -_080BB030: .4byte gTasks -_080BB034: .4byte sub_80BB038 - thumb_func_end sub_80BAF84 - - thumb_func_start sub_80BB038 -sub_80BB038: @ 80BB038 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - bl sub_80BB1D4 - ldr r2, _080BB058 @ =gUnknown_020387B4 - ldr r0, [r2, 0x18] - cmp r0, 0 - beq _080BB0A2 - ldr r0, [r2, 0x14] - cmp r0, 0 - beq _080BB05C - subs r0, 0x1 - str r0, [r2, 0x14] - b _080BB0A2 - .align 2, 0 -_080BB058: .4byte gUnknown_020387B4 -_080BB05C: - ldr r0, _080BB088 @ =gUnknown_083D03F8 - ldr r1, [r2, 0x8] - adds r1, r0 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - movs r0, 0x80 - negs r0, r0 - cmp r1, r0 - beq _080BB08C - cmp r1, 0x7F - bne _080BB0A2 - ldr r0, [r2, 0x1C] - adds r0, 0x2 - str r0, [r2, 0x1C] - cmp r0, 0x3E - bgt _080BB0A2 - lsls r0, 24 - asrs r0, 24 - bl SE12PanpotControl - b _080BB0A2 - .align 2, 0 -_080BB088: .4byte gUnknown_083D03F8 -_080BB08C: - ldr r0, [r2, 0x1C] - subs r1, r0, 0x2 - str r1, [r2, 0x1C] - movs r0, 0x40 - negs r0, r0 - cmp r1, r0 - ble _080BB0A2 - lsls r0, r1, 24 - asrs r0, 24 - bl SE12PanpotControl -_080BB0A2: - ldr r1, _080BB0EC @ =gMain - ldrh r3, [r1, 0x2E] - movs r0, 0x2 - ands r0, r3 - lsls r0, 16 - lsrs r4, r0, 16 - adds r7, r1, 0 - cmp r4, 0 - beq _080BB104 - movs r1, 0x80 - lsls r1, 19 - ldr r2, _080BB0F0 @ =0x00007140 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x40 - ldr r2, _080BB0F4 @ =0x000011df - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x4 - ldr r2, _080BB0F8 @ =0x0000011f - adds r0, r2, 0 - strh r0, [r1] - movs r0, 0 - movs r1, 0 - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - ldr r1, _080BB0FC @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _080BB100 @ =sub_80BA258 - str r1, [r0] - b _080BB1C8 - .align 2, 0 -_080BB0EC: .4byte gMain -_080BB0F0: .4byte 0x00007140 -_080BB0F4: .4byte 0x000011df -_080BB0F8: .4byte 0x0000011f -_080BB0FC: .4byte gTasks -_080BB100: .4byte sub_80BA258 -_080BB104: - movs r6, 0x1 - adds r2, r6, 0 - ands r2, r3 - cmp r2, 0 - beq _080BB15E - ldr r0, _080BB138 @ =gUnknown_083D03F8 - ldr r5, _080BB13C @ =gUnknown_020387B4 - ldr r1, [r5, 0x8] - adds r1, r0 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - movs r0, 0x80 - negs r0, r0 - cmp r1, r0 - beq _080BB140 - cmp r1, 0x7F - bne _080BB154 - ldrh r0, [r5] - movs r4, 0x40 - negs r4, r4 - adds r1, r4, 0 - bl PlaySE12WithPanning - str r4, [r5, 0x1C] - b _080BB14C - .align 2, 0 -_080BB138: .4byte gUnknown_083D03F8 -_080BB13C: .4byte gUnknown_020387B4 -_080BB140: - ldrh r0, [r5] - movs r1, 0x3F - bl PlaySE12WithPanning - movs r0, 0x3F - str r0, [r5, 0x1C] -_080BB14C: - str r6, [r5, 0x18] - movs r0, 0x1E - str r0, [r5, 0x14] - b _080BB1C8 -_080BB154: - ldrh r0, [r5] - bl PlaySE12WithPanning - str r4, [r5, 0x18] - b _080BB1C8 -_080BB15E: - movs r0, 0x80 - lsls r0, 2 - ands r0, r3 - cmp r0, 0 - beq _080BB176 - ldr r1, _080BB1AC @ =gUnknown_020387B4 - ldr r0, [r1, 0x8] - adds r0, 0x1 - str r0, [r1, 0x8] - cmp r0, 0x4 - ble _080BB176 - str r2, [r1, 0x8] -_080BB176: - ldrh r1, [r7, 0x2E] - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _080BB192 - ldr r1, _080BB1AC @ =gUnknown_020387B4 - ldr r0, [r1, 0x8] - subs r0, 0x1 - str r0, [r1, 0x8] - cmp r0, 0 - bge _080BB192 - movs r0, 0x4 - str r0, [r1, 0x8] -_080BB192: - ldrh r1, [r7, 0x30] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080BB1B0 - ldr r1, _080BB1AC @ =gUnknown_020387B4 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0xF7 - ble _080BB1C8 - movs r0, 0 - b _080BB1C6 - .align 2, 0 -_080BB1AC: .4byte gUnknown_020387B4 -_080BB1B0: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080BB1C8 - ldr r1, _080BB1D0 @ =gUnknown_020387B4 - ldr r0, [r1] - subs r0, 0x1 - str r0, [r1] - cmp r0, 0 - bge _080BB1C8 - movs r0, 0xF7 -_080BB1C6: - str r0, [r1] -_080BB1C8: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080BB1D0: .4byte gUnknown_020387B4 - thumb_func_end sub_80BB038 - - thumb_func_start sub_80BB1D4 -sub_80BB1D4: @ 80BB1D4 - push {r4,r5,lr} - sub sp, 0x10 - ldr r1, _080BB218 @ =gOtherText_LR - mov r0, sp - movs r2, 0x5 - bl memcpy - add r5, sp, 0x8 - ldr r1, _080BB21C @ =gOtherText_RL - adds r0, r5, 0 - movs r2, 0x5 - bl memcpy - ldr r4, _080BB220 @ =gUnknown_020387B4 - ldr r0, [r4] - movs r1, 0x7 - movs r2, 0x2 - movs r3, 0x3 - bl sub_80BAE78 - ldr r1, _080BB224 @ =gUnknown_083D03F8 - ldr r0, [r4, 0x8] - adds r0, r1 - movs r1, 0 - ldrsb r1, [r0, r1] - movs r0, 0x80 - negs r0, r0 - cmp r1, r0 - beq _080BB228 - cmp r1, 0x7F - bne _080BB234 - mov r0, sp - b _080BB22A - .align 2, 0 -_080BB218: .4byte gOtherText_LR -_080BB21C: .4byte gOtherText_RL -_080BB220: .4byte gUnknown_020387B4 -_080BB224: .4byte gUnknown_083D03F8 -_080BB228: - adds r0, r5, 0 -_080BB22A: - movs r1, 0x7 - movs r2, 0x4 - bl MenuPrint - b _080BB240 -_080BB234: - adds r0, r1, 0 - movs r1, 0x7 - movs r2, 0x4 - movs r3, 0x3 - bl sub_80BAE78 -_080BB240: - bl IsSEPlaying - lsls r0, 24 - lsrs r0, 24 - movs r1, 0xC - movs r2, 0x8 - movs r3, 0x1 - bl sub_80BAE78 - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80BB1D4 - - thumb_func_start sub_80BB25C -sub_80BB25C: @ 80BB25C - push {r4-r6,lr} - sub sp, 0x14 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _080BB374 @ =gWindowConfig_81E6C3C - bl SetUpWindowConfig - ldr r0, _080BB378 @ =gWindowConfig_81E6CE4 - bl InitMenuWindow - ldr r1, _080BB37C @ =gUnknown_03005D34 - movs r0, 0x1 - strh r0, [r1] - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r1, _080BB380 @ =0xffff0000 - ldr r0, [sp, 0x4] - ands r0, r1 - movs r1, 0x80 - lsls r1, 6 - orrs r0, r1 - ldr r1, _080BB384 @ =0xff00ffff - ands r0, r1 - movs r1, 0xE8 - lsls r1, 13 - orrs r0, r1 - ldr r1, _080BB388 @ =0x00ffffff - ands r0, r1 - movs r1, 0xC0 - lsls r1, 20 - orrs r0, r1 - str r0, [sp, 0x4] - ldr r1, _080BB38C @ =0xffff00ff - ldr r0, [sp, 0x8] - ands r0, r1 - movs r1, 0xF0 - lsls r1, 5 - orrs r0, r1 - ldr r1, _080BB390 @ =0xffffff00 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - str r0, [sp, 0x8] - movs r1, 0 - ldr r0, _080BB394 @ =gUnknown_03005E98 - strb r1, [r0] - add r4, sp, 0xC -_080BB2BE: - add r0, sp, 0x4 - movs r1, 0x3 - bl sub_8119E3C - lsls r0, 24 - cmp r0, 0 - beq _080BB2BE - ldr r1, _080BB380 @ =0xffff0000 - ldr r0, [sp, 0xC] - ands r0, r1 - ldr r1, _080BB384 @ =0xff00ffff - ands r0, r1 - movs r1, 0xF0 - lsls r1, 12 - orrs r0, r1 - ldr r1, _080BB388 @ =0x00ffffff - ands r0, r1 - movs r1, 0xD0 - lsls r1, 20 - orrs r0, r1 - str r0, [sp, 0xC] - ldr r1, _080BB390 @ =0xffffff00 - ldr r0, [r4, 0x4] - ands r0, r1 - movs r1, 0xC - orrs r0, r1 - ldr r1, _080BB38C @ =0xffff00ff - ands r0, r1 - movs r1, 0xC0 - lsls r1, 4 - orrs r0, r1 - str r0, [r4, 0x4] - movs r1, 0 - ldr r0, _080BB394 @ =gUnknown_03005E98 - strb r1, [r0] - lsls r5, r6, 2 -_080BB306: - adds r0, r4, 0 - movs r1, 0x2 - bl ShowPokedexCryScreen - lsls r0, 24 - cmp r0, 0 - beq _080BB306 - movs r0, 0 - movs r1, 0x10 - movs r2, 0x5 - movs r3, 0x13 - bl MenuDrawTextWindow - bl sub_80BB494 - movs r0, 0x1 - negs r0, r0 - movs r4, 0 - str r4, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, _080BB398 @ =REG_BG2HOFS - strh r4, [r0] - adds r0, 0x2 - strh r4, [r0] - ldr r1, _080BB39C @ =REG_BG2CNT - ldr r2, _080BB3A0 @ =0x00000f01 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - ldr r2, _080BB3A4 @ =0x00001d03 - adds r0, r2, 0 - strh r0, [r1] - subs r1, 0xE - adds r2, 0x3D - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _080BB3A8 @ =gMPlay_BGM - movs r1, 0x2 - bl m4aMPlayFadeOutTemporarily - ldr r1, _080BB3AC @ =gTasks - adds r0, r5, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _080BB3B0 @ =sub_80BB3B4 - str r1, [r0] - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080BB374: .4byte gWindowConfig_81E6C3C -_080BB378: .4byte gWindowConfig_81E6CE4 -_080BB37C: .4byte gUnknown_03005D34 -_080BB380: .4byte 0xffff0000 -_080BB384: .4byte 0xff00ffff -_080BB388: .4byte 0x00ffffff -_080BB38C: .4byte 0xffff00ff -_080BB390: .4byte 0xffffff00 -_080BB394: .4byte gUnknown_03005E98 -_080BB398: .4byte REG_BG2HOFS -_080BB39C: .4byte REG_BG2CNT -_080BB3A0: .4byte 0x00000f01 -_080BB3A4: .4byte 0x00001d03 -_080BB3A8: .4byte gMPlay_BGM -_080BB3AC: .4byte gTasks -_080BB3B0: .4byte sub_80BB3B4 - thumb_func_end sub_80BB25C - - thumb_func_start sub_80BB3B4 -sub_80BB3B4: @ 80BB3B4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r0, 0x3 - bl sub_8119F88 - ldr r4, _080BB478 @ =gMain - ldrh r1, [r4, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080BB3D4 - ldr r0, _080BB47C @ =gUnknown_03005D34 - ldrh r0, [r0] - bl sub_811A050 -_080BB3D4: - ldrh r1, [r4, 0x2E] - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _080BB3E4 - bl StopCryAndClearCrySongs -_080BB3E4: - ldrh r1, [r4, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080BB408 - ldr r1, _080BB47C @ =gUnknown_03005D34 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - lsls r0, 16 - cmp r0, 0 - bne _080BB404 - movs r2, 0xC0 - lsls r2, 1 - adds r0, r2, 0 - strh r0, [r1] -_080BB404: - bl sub_80BB494 -_080BB408: - ldr r0, _080BB478 @ =gMain - ldrh r1, [r0, 0x30] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080BB42E - ldr r2, _080BB47C @ =gUnknown_03005D34 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - lsls r0, 16 - movs r1, 0xC0 - lsls r1, 17 - cmp r0, r1 - bls _080BB42A - movs r0, 0x1 - strh r0, [r2] -_080BB42A: - bl sub_80BB494 -_080BB42E: - ldr r0, _080BB478 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080BB472 - movs r1, 0x80 - lsls r1, 19 - ldr r2, _080BB480 @ =0x00007140 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x40 - ldr r2, _080BB484 @ =0x000011df - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x4 - ldr r2, _080BB488 @ =0x0000011f - adds r0, r2, 0 - strh r0, [r1] - movs r0, 0 - movs r1, 0 - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - ldr r1, _080BB48C @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _080BB490 @ =sub_80BA258 - str r1, [r0] - bl DestroyCryMeterNeedleSprite -_080BB472: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080BB478: .4byte gMain -_080BB47C: .4byte gUnknown_03005D34 -_080BB480: .4byte 0x00007140 -_080BB484: .4byte 0x000011df -_080BB488: .4byte 0x0000011f -_080BB48C: .4byte gTasks -_080BB490: .4byte sub_80BA258 - thumb_func_end sub_80BB3B4 - - thumb_func_start sub_80BB494 -sub_80BB494: @ 80BB494 - push {lr} - ldr r0, _080BB4A8 @ =gUnknown_03005D34 - ldrh r0, [r0] - movs r1, 0x1 - movs r2, 0x11 - movs r3, 0x3 - bl sub_80BAE78 - pop {r0} - bx r0 - .align 2, 0 -_080BB4A8: .4byte gUnknown_03005D34 - thumb_func_end sub_80BB494 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/use_pokeblock.s b/asm/use_pokeblock.s deleted file mode 100644 index a9913b6d0..000000000 --- a/asm/use_pokeblock.s +++ /dev/null @@ -1,2113 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_8136130 -sub_8136130: @ 8136130 - push {r4,r5,lr} - ldr r4, _0813615C @ =gUnknown_02039304 - ldr r2, _08136160 @ =gUnknown_083DFEC4 - ldr r3, [r2] - ldr r5, _08136164 @ =0x0000d164 - adds r2, r3, r5 - str r2, [r4] - str r0, [r2, 0x8] - str r1, [r2, 0x4] - ldr r0, _08136168 @ =0x0000d162 - adds r3, r0 - movs r0, 0x2 - strb r0, [r3] - ldr r0, _0813616C @ =sub_8136294 - bl launch_c3_walk_stairs_and_run_once - ldr r0, _08136170 @ =sub_8136244 - bl SetMainCallback2 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0813615C: .4byte gUnknown_02039304 -_08136160: .4byte gUnknown_083DFEC4 -_08136164: .4byte 0x0000d164 -_08136168: .4byte 0x0000d162 -_0813616C: .4byte sub_8136294 -_08136170: .4byte sub_8136244 - thumb_func_end sub_8136130 - - thumb_func_start sub_8136174 -sub_8136174: @ 8136174 - push {r4,r5,lr} - ldr r5, _081361C4 @ =gUnknown_02039304 - ldr r1, [r5] - ldr r0, _081361C8 @ =gUnknown_0203930C - ldr r0, [r0] - str r0, [r1, 0x8] - ldr r0, _081361CC @ =gUnknown_02039308 - ldr r0, [r0] - str r0, [r1, 0x4] - ldr r4, _081361D0 @ =gUnknown_02039310 - ldrb r0, [r4] - bl sub_81370E4 - strb r0, [r4] - ldr r5, [r5] - movs r1, 0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _0813619E - movs r1, 0x1 -_0813619E: - adds r0, r5, 0 - adds r0, 0x56 - strb r1, [r0] - ldr r0, _081361D4 @ =gUnknown_083DFEC4 - ldr r0, [r0] - ldr r1, _081361D8 @ =0x0000d162 - adds r0, r1 - movs r1, 0x2 - strb r1, [r0] - ldr r0, _081361DC @ =sub_8136294 - bl launch_c3_walk_stairs_and_run_once - ldr r0, _081361E0 @ =sub_81361E4 - bl SetMainCallback2 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081361C4: .4byte gUnknown_02039304 -_081361C8: .4byte gUnknown_0203930C -_081361CC: .4byte gUnknown_02039308 -_081361D0: .4byte gUnknown_02039310 -_081361D4: .4byte gUnknown_083DFEC4 -_081361D8: .4byte 0x0000d162 -_081361DC: .4byte sub_8136294 -_081361E0: .4byte sub_81361E4 - thumb_func_end sub_8136174 - - thumb_func_start sub_81361E4 -sub_81361E4: @ 81361E4 - push {r4,lr} - ldr r4, _08136220 @ =gUnknown_02039304 - ldr r0, [r4] - ldr r0, [r0] - bl _call_via_r0 - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - ldr r4, [r4] - ldr r1, [r4] - ldr r0, _08136224 @ =sub_81365C8 - cmp r1, r0 - bne _0813621A - movs r0, 0x80 - lsls r0, 19 - movs r1, 0 - strh r1, [r0] - adds r0, r4, 0 - adds r0, 0x50 - strb r1, [r0] - ldr r0, _08136228 @ =sub_813622C - bl SetMainCallback2 -_0813621A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08136220: .4byte gUnknown_02039304 -_08136224: .4byte sub_81365C8 -_08136228: .4byte sub_813622C - thumb_func_end sub_81361E4 - - thumb_func_start sub_813622C -sub_813622C: @ 813622C - push {lr} - bl sub_81368A4 - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_813622C - - thumb_func_start sub_8136244 -sub_8136244: @ 8136244 - push {lr} - ldr r0, _08136260 @ =gUnknown_02039304 - ldr r0, [r0] - ldr r0, [r0] - bl _call_via_r0 - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - .align 2, 0 -_08136260: .4byte gUnknown_02039304 - thumb_func_end sub_8136244 - - thumb_func_start sub_8136264 -sub_8136264: @ 8136264 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - movs r0, 0x6 - bl sub_80F5CDC - bl sub_8089668 - pop {r0} - bx r0 - thumb_func_end sub_8136264 - - thumb_func_start launch_c3_walk_stairs_and_run_once -launch_c3_walk_stairs_and_run_once: @ 8136280 - ldr r1, _08136290 @ =gUnknown_02039304 - ldr r1, [r1] - str r0, [r1] - adds r1, 0x50 - movs r0, 0 - strb r0, [r1] - bx lr - .align 2, 0 -_08136290: .4byte gUnknown_02039304 - thumb_func_end launch_c3_walk_stairs_and_run_once - - thumb_func_start sub_8136294 -sub_8136294: @ 8136294 - push {r4,r5,lr} - sub sp, 0x4 - ldr r1, _081362B4 @ =gUnknown_02039304 - ldr r0, [r1] - adds r0, 0x50 - ldrb r0, [r0] - adds r3, r1, 0 - cmp r0, 0x16 - bls _081362A8 - b _0813657A -_081362A8: - lsls r0, 2 - ldr r1, _081362B8 @ =_081362BC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081362B4: .4byte gUnknown_02039304 -_081362B8: .4byte _081362BC - .align 2, 0 -_081362BC: - .4byte _08136318 - .4byte _08136354 - .4byte _0813635E - .4byte _08136366 - .4byte _08136374 - .4byte _08136380 - .4byte _0813638C - .4byte _081363B8 - .4byte _081363C8 - .4byte _081363DC - .4byte _081363EE - .4byte _08136404 - .4byte _08136448 - .4byte _08136464 - .4byte _08136488 - .4byte _08136494 - .4byte _0813649A - .4byte _081364D8 - .4byte _081364FC - .4byte _08136508 - .4byte _08136520 - .4byte _08136538 - .4byte _0813656C -_08136318: - bl is_c1_link_related_active - ldr r1, _08136344 @ =gUnknown_083DFEC4 - ldr r1, [r1] - ldr r2, _08136348 @ =0x00006dac - adds r1, r2 - strb r0, [r1] - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _08136330 - b _0813657A -_08136330: - ldr r4, _0813634C @ =gUnknown_02039304 - ldr r0, [r4] - adds r0, 0x55 - strb r1, [r0] - ldr r0, _08136350 @ =sub_81365A0 - bl launch_c3_walk_stairs_and_run_once - ldr r1, [r4] - b _08136528 - .align 2, 0 -_08136344: .4byte gUnknown_083DFEC4 -_08136348: .4byte 0x00006dac -_0813634C: .4byte gUnknown_02039304 -_08136350: .4byte sub_81365A0 -_08136354: - bl ResetSpriteData - bl FreeAllSpritePalettes - b _08136524 -_0813635E: - movs r0, 0 - bl SetVBlankCallback - b _08136524 -_08136366: - ldr r0, _08136370 @ =gWindowConfig_81E7080 - bl SetUpWindowConfig - b _08136524 - .align 2, 0 -_08136370: .4byte gWindowConfig_81E7080 -_08136374: - ldr r0, _0813637C @ =gWindowConfig_81E7080 - bl MultistepInitMenuWindowBegin - b _08136524 - .align 2, 0 -_0813637C: .4byte gWindowConfig_81E7080 -_08136380: - bl MultistepInitMenuWindowContinue - cmp r0, 0 - bne _0813638A - b _0813657A -_0813638A: - b _08136524 -_0813638C: - ldr r0, _081363AC @ =gUnknown_083DFEC4 - ldr r1, [r0] - ldr r4, _081363B0 @ =0x000076aa - adds r0, r1, r4 - movs r2, 0 - strb r2, [r0] - ldr r4, _081363B4 @ =0x000087e0 - adds r0, r1, r4 - str r2, [r0] - movs r0, 0xC3 - lsls r0, 2 - adds r1, r0 - movs r0, 0x20 - strh r0, [r1] - ldr r1, [r3] - b _08136528 - .align 2, 0 -_081363AC: .4byte gUnknown_083DFEC4 -_081363B0: .4byte 0x000076aa -_081363B4: .4byte 0x000087e0 -_081363B8: - bl sub_80F2688 - ldr r0, _081363D8 @ =gUnknown_02039304 - ldr r1, [r0] - adds r1, 0x50 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_081363C8: - bl sub_80F26BC - lsls r0, 24 - cmp r0, 0 - beq _081363D4 - b _0813657A -_081363D4: - b _08136524 - .align 2, 0 -_081363D8: .4byte gUnknown_02039304 -_081363DC: - movs r0, 0x1 - bl sub_80F2C80 - ldr r0, _08136400 @ =gUnknown_02039304 - ldr r1, [r0] - adds r1, 0x50 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_081363EE: - movs r0, 0x1 - bl sub_80F2CBC - lsls r0, 24 - cmp r0, 0 - beq _081363FC - b _0813657A -_081363FC: - b _08136524 - .align 2, 0 -_08136400: .4byte gUnknown_02039304 -_08136404: - ldr r1, _08136434 @ =gKeyRepeatStartDelay - movs r0, 0x14 - strh r0, [r1] - bl CalculatePlayerPartyCount - ldr r1, _08136438 @ =gUnknown_083DFEC4 - ldr r4, [r1] - ldr r2, _0813643C @ =0x00008828 - adds r1, r4, r2 - movs r5, 0 - strb r0, [r1] - ldr r1, _08136440 @ =0x00009344 - adds r0, r4, r1 - strb r5, [r0] - subs r2, 0xC0 - adds r0, r4, r2 - str r5, [r0] - bl sub_80F4BD0 - ldr r0, _08136444 @ =0x0000d160 - adds r4, r0 - strh r5, [r4] - b _08136524 - .align 2, 0 -_08136434: .4byte gKeyRepeatStartDelay -_08136438: .4byte gUnknown_083DFEC4 -_0813643C: .4byte 0x00008828 -_08136440: .4byte 0x00009344 -_08136444: .4byte 0x0000d160 -_08136448: - bl sub_80F1778 - lsls r0, 24 - cmp r0, 0 - beq _08136454 - b _0813657A -_08136454: - ldr r0, _08136460 @ =REG_BG2VOFS - movs r1, 0x6 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - b _08136524 - .align 2, 0 -_08136460: .4byte REG_BG2VOFS -_08136464: - movs r0, 0 - bl sub_80F2E18 - ldr r0, _0813647C @ =gUnknown_083DFEC4 - ldr r0, [r0] - ldr r1, _08136480 @ =0x00008768 - adds r0, r1 - ldr r1, [r0] - ldr r0, _08136484 @ =0x0000ffd8 - strh r0, [r1, 0x26] - b _08136524 - .align 2, 0 -_0813647C: .4byte gUnknown_083DFEC4 -_08136480: .4byte 0x00008768 -_08136484: .4byte 0x0000ffd8 -_08136488: - bl sub_80F170C - lsls r0, 24 - cmp r0, 0 - bne _0813657A - b _08136524 -_08136494: - bl sub_80F33A8 - b _08136524 -_0813649A: - ldr r1, _081364C4 @ =0x0600f800 - movs r2, 0 - str r2, [sp] - ldr r0, _081364C8 @ =0x040000d4 - mov r4, sp - str r4, [r0] - str r1, [r0, 0x4] - ldr r1, _081364CC @ =0x85000200 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - ldr r0, _081364D0 @ =REG_BG1VOFS - strh r2, [r0] - subs r0, 0x2 - strh r2, [r0] - ldr r1, _081364D4 @ =REG_BG1CNT - movs r2, 0xF8 - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, [r3] - b _08136528 - .align 2, 0 -_081364C4: .4byte 0x0600f800 -_081364C8: .4byte 0x040000d4 -_081364CC: .4byte 0x85000200 -_081364D0: .4byte REG_BG1VOFS -_081364D4: .4byte REG_BG1CNT -_081364D8: - ldr r0, _081364F0 @ =gUnknown_083DFEC4 - ldr r1, [r0] - ldr r4, _081364F4 @ =0x00008ff0 - adds r0, r1, r4 - ldr r2, _081364F8 @ =0x00009004 - adds r1, r2 - bl sub_80F567C - bl sub_80F5B38 - b _08136524 - .align 2, 0 -_081364F0: .4byte gUnknown_083DFEC4 -_081364F4: .4byte 0x00008ff0 -_081364F8: .4byte 0x00009004 -_081364FC: - bl sub_80F5B50 - lsls r0, 24 - cmp r0, 0 - bne _0813657A - b _08136524 -_08136508: - ldr r0, _08136518 @ =gUnknown_083DFEC4 - ldr r0, [r0] - ldr r4, _0813651C @ =0x00009004 - adds r0, r4 - bl sub_80F556C - b _08136524 - .align 2, 0 -_08136518: .4byte gUnknown_083DFEC4 -_0813651C: .4byte 0x00009004 -_08136520: - bl sub_80F1934 -_08136524: - ldr r0, _08136534 @ =gUnknown_02039304 - ldr r1, [r0] -_08136528: - adds r1, 0x50 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0813657A - .align 2, 0 -_08136534: .4byte gUnknown_02039304 -_08136538: - ldr r1, _08136584 @ =REG_WIN0H - movs r0, 0xF0 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x9B - strh r0, [r1] - ldr r0, _08136588 @ =REG_WIN0V - ldr r2, _0813658C @ =0x00003273 - adds r1, r2, 0 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - ldr r1, _08136590 @ =REG_WININ - ldr r4, _08136594 @ =0x00003f3f - adds r0, r4, 0 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x1B - strh r0, [r1] - subs r1, 0x38 - movs r0, 0x28 - strh r0, [r1] - subs r1, 0x12 - ldr r2, _08136598 @ =0x00007f40 - adds r0, r2, 0 - strh r0, [r1] -_0813656C: - ldr r0, [r3] - adds r0, 0x55 - movs r1, 0x1 - strb r1, [r0] - ldr r0, _0813659C @ =sub_81365C8 - bl launch_c3_walk_stairs_and_run_once -_0813657A: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08136584: .4byte REG_WIN0H -_08136588: .4byte REG_WIN0V -_0813658C: .4byte 0x00003273 -_08136590: .4byte REG_WININ -_08136594: .4byte 0x00003f3f -_08136598: .4byte 0x00007f40 -_0813659C: .4byte sub_81365C8 - thumb_func_end sub_8136294 - - thumb_func_start sub_81365A0 -sub_81365A0: @ 81365A0 - push {r4,lr} - ldr r1, _081365C4 @ =gUnknown_02039304 - ldr r0, [r1] - adds r0, 0x55 - ldrb r0, [r0] - cmp r0, 0 - bne _081365BE - adds r4, r1, 0 -_081365B0: - bl sub_8136294 - ldr r0, [r4] - adds r0, 0x55 - ldrb r0, [r0] - cmp r0, 0 - beq _081365B0 -_081365BE: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081365C4: .4byte gUnknown_02039304 - thumb_func_end sub_81365A0 - - thumb_func_start sub_81365C8 -sub_81365C8: @ 81365C8 - push {r4,lr} - sub sp, 0x4 - ldr r4, _081365E0 @ =gUnknown_02039304 - ldr r0, [r4] - adds r0, 0x50 - ldrb r1, [r0] - cmp r1, 0 - beq _081365E4 - cmp r1, 0x1 - beq _0813660C - b _08136626 - .align 2, 0 -_081365E0: .4byte gUnknown_02039304 -_081365E4: - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, _08136608 @ =sub_8136264 - bl SetVBlankCallback - ldr r1, [r4] - adds r1, 0x50 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08136626 - .align 2, 0 -_08136608: .4byte sub_8136264 -_0813660C: - ldr r0, _08136630 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08136626 - bl sub_80F3C94 - bl sub_80F3D00 - ldr r0, _08136634 @ =sub_8136638 - bl launch_c3_walk_stairs_and_run_once -_08136626: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08136630: .4byte gPaletteFade -_08136634: .4byte sub_8136638 - thumb_func_end sub_81365C8 - - thumb_func_start sub_8136638 -sub_8136638: @ 8136638 - push {r4,lr} - ldr r0, _08136654 @ =gUnknown_02039304 - ldr r0, [r0] - adds r0, 0x50 - ldrb r0, [r0] - cmp r0, 0x7 - bls _08136648 - b _081367FA -_08136648: - lsls r0, 2 - ldr r1, _08136658 @ =_0813665C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08136654: .4byte gUnknown_02039304 -_08136658: .4byte _0813665C - .align 2, 0 -_0813665C: - .4byte _0813667C - .4byte _08136748 - .4byte _08136754 - .4byte _08136774 - .4byte _081367FA - .4byte _08136780 - .4byte _08136798 - .4byte _081367E0 -_0813667C: - ldr r2, _081366A4 @ =gMain - ldrh r1, [r2, 0x2C] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _081366AC - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - bl sub_80F5060 - bl move_anim_execute - ldr r0, _081366A8 @ =gUnknown_02039304 - ldr r0, [r0] - adds r0, 0x50 - movs r1, 0x1 - b _081367F8 - .align 2, 0 -_081366A4: .4byte gMain -_081366A8: .4byte gUnknown_02039304 -_081366AC: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081366D4 - movs r0, 0x5 - bl PlaySE - movs r0, 0 - bl sub_80F5060 - bl move_anim_execute - ldr r0, _081366D0 @ =gUnknown_02039304 - ldr r0, [r0] - adds r0, 0x50 - movs r1, 0x1 - b _081367F8 - .align 2, 0 -_081366D0: .4byte gUnknown_02039304 -_081366D4: - ldrh r1, [r2, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081366F4 - movs r0, 0x5 - bl PlaySE - ldr r0, _081366F0 @ =gUnknown_02039304 - ldr r0, [r0] - adds r0, 0x50 - movs r1, 0x3 - b _081367F8 - .align 2, 0 -_081366F0: .4byte gUnknown_02039304 -_081366F4: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _081366FE - b _081367FA -_081366FE: - movs r0, 0x5 - bl PlaySE - ldr r0, _08136728 @ =gUnknown_083DFEC4 - ldr r0, [r0] - ldr r2, _0813672C @ =0x000087dc - adds r1, r0, r2 - movs r2, 0 - ldrsh r1, [r1, r2] - ldr r2, _08136730 @ =0x000087da - adds r0, r2 - movs r2, 0 - ldrsh r0, [r0, r2] - subs r0, 0x1 - cmp r1, r0 - bne _08136738 - ldr r0, _08136734 @ =gUnknown_02039304 - ldr r0, [r0] - adds r0, 0x50 - movs r1, 0x3 - b _081367F8 - .align 2, 0 -_08136728: .4byte gUnknown_083DFEC4 -_0813672C: .4byte 0x000087dc -_08136730: .4byte 0x000087da -_08136734: .4byte gUnknown_02039304 -_08136738: - ldr r0, _08136744 @ =gUnknown_02039304 - ldr r0, [r0] - adds r0, 0x50 - movs r1, 0x5 - b _081367F8 - .align 2, 0 -_08136744: .4byte gUnknown_02039304 -_08136748: - bl gpu_sync_bg_show - lsls r0, 24 - cmp r0, 0 - bne _081367FA - b _08136784 -_08136754: - bl sub_8055870 - adds r4, r0, 0 - cmp r4, 0 - bne _081367FA - bl sub_80F1934 - bl sub_80F3D00 - ldr r0, _08136770 @ =gUnknown_02039304 - ldr r0, [r0] - adds r0, 0x50 - strb r4, [r0] - b _081367FA - .align 2, 0 -_08136770: .4byte gUnknown_02039304 -_08136774: - ldr r0, _0813677C @ =sub_8136B44 - bl launch_c3_walk_stairs_and_run_once - b _081367FA - .align 2, 0 -_0813677C: .4byte sub_8136B44 -_08136780: - bl sub_8136BB8 -_08136784: - ldr r0, _08136794 @ =gUnknown_02039304 - ldr r1, [r0] - adds r1, 0x50 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _081367FA - .align 2, 0 -_08136794: .4byte gUnknown_02039304 -_08136798: - bl sub_8136C40 - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _081367B8 - cmp r1, 0 - bgt _081367B2 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _081367F0 - b _081367FA -_081367B2: - cmp r1, 0x1 - bne _081367FA - b _081367F0 -_081367B8: - bl sub_8137058 - lsls r0, 24 - cmp r0, 0 - beq _081367D4 - bl sub_8136D60 - ldr r0, _081367D0 @ =gUnknown_02039304 - ldr r0, [r0] - adds r0, 0x50 - movs r1, 0x7 - b _081367F8 - .align 2, 0 -_081367D0: .4byte gUnknown_02039304 -_081367D4: - ldr r0, _081367DC @ =sub_8136808 - bl launch_c3_walk_stairs_and_run_once - b _081367FA - .align 2, 0 -_081367DC: .4byte sub_8136808 -_081367E0: - ldr r0, _08136800 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _081367FA - bl sub_8136D8C -_081367F0: - ldr r0, _08136804 @ =gUnknown_02039304 - ldr r0, [r0] - adds r0, 0x50 - movs r1, 0 -_081367F8: - strb r1, [r0] -_081367FA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08136800: .4byte gMain -_08136804: .4byte gUnknown_02039304 - thumb_func_end sub_8136638 - - thumb_func_start sub_8136808 -sub_8136808: @ 8136808 - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, _08136820 @ =gUnknown_02039304 - ldr r0, [r5] - adds r0, 0x50 - ldrb r4, [r0] - cmp r4, 0 - beq _08136824 - cmp r4, 0x1 - beq _08136874 - b _0813688C - .align 2, 0 -_08136820: .4byte gUnknown_02039304 -_08136824: - ldr r0, _08136860 @ =gUnknown_083DFEC4 - ldr r0, [r0] - ldr r1, _08136864 @ =0x000087dc - adds r0, r1 - ldrb r0, [r0] - bl sub_81370A4 - ldr r1, _08136868 @ =gUnknown_02039310 - strb r0, [r1] - ldr r1, _0813686C @ =gUnknown_02039308 - ldr r2, [r5] - ldr r0, [r2, 0x4] - str r0, [r1] - ldr r1, _08136870 @ =gUnknown_0203930C - ldr r0, [r2, 0x8] - str r0, [r1] - movs r0, 0x1 - negs r0, r0 - str r4, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, [r5] - adds r1, 0x50 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0813688C - .align 2, 0 -_08136860: .4byte gUnknown_083DFEC4 -_08136864: .4byte 0x000087dc -_08136868: .4byte gUnknown_02039310 -_0813686C: .4byte gUnknown_02039308 -_08136870: .4byte gUnknown_0203930C -_08136874: - ldr r0, _08136894 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0813688C - ldr r0, _08136898 @ =gMain - ldr r1, _0813689C @ =sub_8136174 - str r1, [r0, 0x8] - ldr r0, _081368A0 @ =sub_8147ADC - bl SetMainCallback2 -_0813688C: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08136894: .4byte gPaletteFade -_08136898: .4byte gMain -_0813689C: .4byte sub_8136174 -_081368A0: .4byte sub_8147ADC - thumb_func_end sub_8136808 - - thumb_func_start sub_81368A4 -sub_81368A4: @ 81368A4 - push {r4,lr} - sub sp, 0x4 - ldr r1, _081368C4 @ =gUnknown_02039304 - ldr r0, [r1] - adds r0, 0x50 - ldrb r0, [r0] - adds r4, r1, 0 - cmp r0, 0x6 - bls _081368B8 - b _081369B8 -_081368B8: - lsls r0, 2 - ldr r1, _081368C8 @ =_081368CC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081368C4: .4byte gUnknown_02039304 -_081368C8: .4byte _081368CC - .align 2, 0 -_081368CC: - .4byte _081368E8 - .4byte _08136922 - .4byte _0813692E - .4byte _0813694C - .4byte _0813695A - .4byte _0813696C - .4byte _08136998 -_081368E8: - ldr r0, _0813690C @ =gUnknown_083DFEC4 - ldr r0, [r0] - ldr r1, _08136910 @ =0x000087dc - adds r0, r1 - movs r2, 0 - ldrsh r1, [r0, r2] - ldr r0, _08136914 @ =gUnknown_02039310 - ldrb r0, [r0] - cmp r1, r0 - beq _08136918 - ldr r0, [r4] - adds r0, 0x56 - ldrb r0, [r0] - bl sub_80F5060 - ldr r1, [r4] - b _08136986 - .align 2, 0 -_0813690C: .4byte gUnknown_083DFEC4 -_08136910: .4byte 0x000087dc -_08136914: .4byte gUnknown_02039310 -_08136918: - ldr r0, [r4] - adds r0, 0x50 - movs r1, 0x3 - strb r1, [r0] - b _081369B8 -_08136922: - bl gpu_sync_bg_show - lsls r0, 24 - cmp r0, 0 - bne _081369B8 - b _08136982 -_0813692E: - bl sub_8055870 - adds r4, r0, 0 - cmp r4, 0 - bne _081369B8 - bl sub_80F1934 - ldr r0, _08136948 @ =gUnknown_02039304 - ldr r0, [r0] - adds r0, 0x50 - strb r4, [r0] - b _081369B8 - .align 2, 0 -_08136948: .4byte gUnknown_02039304 -_0813694C: - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - b _08136982 -_0813695A: - movs r1, 0x80 - lsls r1, 19 - ldr r2, _08136968 @ =0x00007f40 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, [r4] - b _08136986 - .align 2, 0 -_08136968: .4byte 0x00007f40 -_0813696C: - ldr r0, _08136990 @ =sub_8136264 - bl SetVBlankCallback - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade -_08136982: - ldr r0, _08136994 @ =gUnknown_02039304 - ldr r1, [r0] -_08136986: - adds r1, 0x50 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _081369B8 - .align 2, 0 -_08136990: .4byte sub_8136264 -_08136994: .4byte gUnknown_02039304 -_08136998: - ldr r0, _081369C0 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081369B8 - bl sub_80F3C94 - bl sub_80F3D00 - ldr r0, _081369C4 @ =sub_81369CC - bl launch_c3_walk_stairs_and_run_once - ldr r0, _081369C8 @ =sub_8136244 - bl SetMainCallback2 -_081369B8: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081369C0: .4byte gPaletteFade -_081369C4: .4byte sub_81369CC -_081369C8: .4byte sub_8136244 - thumb_func_end sub_81368A4 - - thumb_func_start sub_81369CC -sub_81369CC: @ 81369CC - push {r4-r6,lr} - ldr r1, _081369E8 @ =gUnknown_02039304 - ldr r0, [r1] - adds r0, 0x50 - ldrb r0, [r0] - adds r4, r1, 0 - cmp r0, 0x5 - bls _081369DE - b _08136B32 -_081369DE: - lsls r0, 2 - ldr r1, _081369EC @ =_081369F0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081369E8: .4byte gUnknown_02039304 -_081369EC: .4byte _081369F0 - .align 2, 0 -_081369F0: - .4byte _08136A08 - .4byte _08136A48 - .4byte _08136A5C - .4byte _08136AAC - .4byte _08136AEC - .4byte _08136B0E -_08136A08: - ldr r3, [r4] - ldr r2, _08136A38 @ =gPlayerParty - str r2, [r3, 0xC] - ldr r0, _08136A3C @ =gUnknown_083DFEC4 - ldr r1, [r0] - ldr r5, _08136A40 @ =0x000087dc - adds r0, r1, r5 - movs r5, 0 - ldrsh r0, [r0, r5] - lsls r0, 2 - adds r1, r0 - ldr r0, _08136A44 @ =0x0000893e - adds r1, r0 - ldrb r0, [r1] - lsls r0, 27 - lsrs r0, 27 - movs r1, 0x64 - muls r0, r1 - adds r0, r2 - str r0, [r3, 0xC] - bl move_anim_execute - b _08136B02 - .align 2, 0 -_08136A38: .4byte gPlayerParty -_08136A3C: .4byte gUnknown_083DFEC4 -_08136A40: .4byte 0x000087dc -_08136A44: .4byte 0x0000893e -_08136A48: - ldr r0, _08136A58 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _08136B32 - b _08136B02 - .align 2, 0 -_08136A58: .4byte gMain -_08136A5C: - bl sub_8136EF0 - ldr r6, _08136A98 @ =gUnknown_02039304 - ldr r0, [r6] - adds r0, 0x5C - ldr r1, _08136A9C @ =gUnknown_083DFEC4 - ldr r4, [r1] - ldr r1, _08136AA0 @ =0x00009040 - adds r5, r4, r1 - adds r1, r5, 0 - bl sub_80F567C - ldr r1, _08136AA4 @ =0x00008fe9 - adds r0, r4, r1 - movs r1, 0 - ldrsb r1, [r0, r1] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - ldr r1, _08136AA8 @ =0x00009004 - adds r0, r1 - adds r4, r0 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80F5550 - bl sub_8137138 - ldr r1, [r6] - b _08136B04 - .align 2, 0 -_08136A98: .4byte gUnknown_02039304 -_08136A9C: .4byte gUnknown_083DFEC4 -_08136AA0: .4byte 0x00009040 -_08136AA4: .4byte 0x00008fe9 -_08136AA8: .4byte 0x00009004 -_08136AAC: - bl sub_80F555C - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _08136B32 - ldr r0, _08136AE0 @ =gUnknown_083DFEC4 - ldr r0, [r0] - ldr r5, _08136AE4 @ =0x000087dc - adds r0, r5 - ldrb r0, [r0] - bl sub_81370A4 - lsls r0, 24 - lsrs r0, 24 - bl sub_80F7224 - bl sub_80F3D00 - ldr r1, _08136AE8 @ =gUnknown_02039304 - ldr r0, [r1] - adds r0, 0x52 - strb r4, [r0] - ldr r1, [r1] - b _08136B04 - .align 2, 0 -_08136AE0: .4byte gUnknown_083DFEC4 -_08136AE4: .4byte 0x000087dc -_08136AE8: .4byte gUnknown_02039304 -_08136AEC: - ldr r1, [r4] - adds r1, 0x52 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x10 - bls _08136B32 - bl sub_8136C6C -_08136B02: - ldr r1, [r4] -_08136B04: - adds r1, 0x50 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08136B32 -_08136B0E: - ldr r0, _08136B38 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _08136B32 - bl sub_8136D00 - lsls r0, 24 - cmp r0, 0 - bne _08136B32 - ldr r0, _08136B3C @ =gScriptItemId - ldrb r0, [r0] - bl sub_810CA6C - ldr r0, _08136B40 @ =sub_8136B44 - bl launch_c3_walk_stairs_and_run_once -_08136B32: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08136B38: .4byte gMain -_08136B3C: .4byte gScriptItemId -_08136B40: .4byte sub_8136B44 - thumb_func_end sub_81369CC - - thumb_func_start sub_8136B44 -sub_8136B44: @ 8136B44 - push {r4,lr} - sub sp, 0x4 - ldr r4, _08136B60 @ =gUnknown_02039304 - ldr r0, [r4] - adds r2, r0, 0 - adds r2, 0x50 - ldrb r1, [r2] - cmp r1, 0x1 - beq _08136B80 - cmp r1, 0x1 - bgt _08136B64 - cmp r1, 0 - beq _08136B6E - b _08136BAE - .align 2, 0 -_08136B60: .4byte gUnknown_02039304 -_08136B64: - cmp r1, 0x2 - beq _08136B98 - cmp r1, 0x3 - beq _08136BA8 - b _08136BAE -_08136B6E: - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _08136B9C -_08136B80: - ldr r0, _08136B94 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08136BAE - movs r0, 0x2 - strb r0, [r2] - b _08136BAE - .align 2, 0 -_08136B94: .4byte gPaletteFade -_08136B98: - bl sub_80F5BDC -_08136B9C: - ldr r1, [r4] - adds r1, 0x50 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08136BAE -_08136BA8: - ldr r0, [r0, 0x4] - bl SetMainCallback2 -_08136BAE: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8136B44 - - thumb_func_start sub_8136BB8 -sub_8136BB8: @ 8136BB8 - push {r4,lr} - ldr r0, _08136C28 @ =gUnknown_083DFEC4 - ldr r0, [r0] - ldr r1, _08136C2C @ =0x000087dc - adds r0, r1 - ldrb r0, [r0] - bl sub_81370A4 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _08136C30 @ =gPlayerParty - adds r0, r1 - ldr r4, _08136C34 @ =gUnknown_02039304 - ldr r2, [r4] - adds r2, 0x10 - movs r1, 0x2 - bl GetMonData - ldr r0, [r4] - adds r0, 0x10 - bl StringGetEnd10 - ldr r0, [r4] - adds r0, 0x10 - ldr r1, _08136C38 @ =gOtherText_GetsAPokeBlock - bl StringAppend - ldr r0, _08136C3C @ =gWindowConfig_81E709C - bl BasicInitMenuWindow - movs r0, 0 - movs r1, 0x10 - movs r2, 0x1D - movs r3, 0x13 - bl MenuDrawTextWindow - ldr r0, [r4] - adds r0, 0x10 - movs r1, 0x1 - movs r2, 0x11 - bl MenuPrint - movs r0, 0x17 - movs r1, 0xA - movs r2, 0x1 - bl DisplayYesNoMenu - movs r0, 0 - bl MoveMenuCursor - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08136C28: .4byte gUnknown_083DFEC4 -_08136C2C: .4byte 0x000087dc -_08136C30: .4byte gPlayerParty -_08136C34: .4byte gUnknown_02039304 -_08136C38: .4byte gOtherText_GetsAPokeBlock -_08136C3C: .4byte gWindowConfig_81E709C - thumb_func_end sub_8136BB8 - - thumb_func_start sub_8136C40 -sub_8136C40: @ 8136C40 - push {r4,lr} - bl ProcessMenuInputNoWrap - lsls r0, 24 - asrs r4, r0, 24 - movs r1, 0x80 - lsls r1, 17 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x2 - bhi _08136C60 - bl MenuZeroFillScreen - ldr r0, _08136C68 @ =gWindowConfig_81E7080 - bl BasicInitMenuWindow -_08136C60: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08136C68: .4byte gWindowConfig_81E7080 - thumb_func_end sub_8136C40 - - thumb_func_start sub_8136C6C -sub_8136C6C: @ 8136C6C - push {lr} - ldr r0, _08136C8C @ =gWindowConfig_81E709C - bl BasicInitMenuWindow - movs r0, 0 - movs r1, 0x10 - movs r2, 0x1D - movs r3, 0x13 - bl MenuDrawTextWindow - ldr r3, _08136C90 @ =gUnknown_02039304 - ldr r0, [r3] - adds r0, 0x53 - movs r1, 0 - b _08136C9C - .align 2, 0 -_08136C8C: .4byte gWindowConfig_81E709C -_08136C90: .4byte gUnknown_02039304 -_08136C94: - ldr r0, [r3] - adds r0, 0x53 - ldrb r1, [r0] - adds r1, 0x1 -_08136C9C: - strb r1, [r0] - ldr r2, [r3] - adds r1, r2, 0 - adds r1, 0x53 - ldrb r0, [r1] - cmp r0, 0x4 - bhi _08136CDC - adds r0, r2, 0 - adds r0, 0x61 - ldrb r1, [r1] - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _08136C94 - ldr r0, _08136CD8 @ =gUnknown_02039304 - ldr r2, [r0] - adds r1, r2, 0 - adds r1, 0x53 - ldrb r0, [r1] - cmp r0, 0x4 - bhi _08136CDC - adds r0, r2, 0 - adds r0, 0x10 - ldrb r1, [r1] - adds r2, 0x61 - adds r2, r1 - ldrb r2, [r2] - bl sub_8136DC0 - b _08136CEE - .align 2, 0 -_08136CD8: .4byte gUnknown_02039304 -_08136CDC: - ldr r0, _08136CFC @ =gUnknown_02039304 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x10 - adds r1, 0x53 - ldrb r1, [r1] - movs r2, 0 - bl sub_8136DC0 -_08136CEE: - ldr r0, _08136CFC @ =gUnknown_02039304 - ldr r0, [r0] - adds r0, 0x10 - bl sub_8136DA0 - pop {r0} - bx r0 - .align 2, 0 -_08136CFC: .4byte gUnknown_02039304 - thumb_func_end sub_8136C6C - - thumb_func_start sub_8136D00 -sub_8136D00: @ 8136D00 - push {r4,r5,lr} - ldr r4, _08136D30 @ =gUnknown_02039304 - adds r3, r4, 0 - movs r5, 0x5 -_08136D08: - ldr r0, [r3] - adds r0, 0x53 - ldrb r1, [r0] - adds r1, 0x1 - strb r1, [r0] - ldr r2, [r3] - adds r1, r2, 0 - adds r1, 0x53 - ldrb r0, [r1] - cmp r0, 0x4 - bhi _08136D34 - adds r0, r2, 0 - adds r0, 0x61 - ldrb r1, [r1] - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _08136D3A - b _08136D08 - .align 2, 0 -_08136D30: .4byte gUnknown_02039304 -_08136D34: - strb r5, [r1] - movs r0, 0 - b _08136D5A -_08136D3A: - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x10 - adds r1, r2, 0 - adds r1, 0x53 - ldrb r1, [r1] - adds r2, 0x61 - adds r2, r1 - ldrb r2, [r2] - bl sub_8136DC0 - ldr r0, [r4] - adds r0, 0x10 - bl sub_8136DA0 - movs r0, 0x1 -_08136D5A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8136D00 - - thumb_func_start sub_8136D60 -sub_8136D60: @ 8136D60 - push {lr} - ldr r0, _08136D84 @ =gWindowConfig_81E709C - bl BasicInitMenuWindow - movs r0, 0 - movs r1, 0x10 - movs r2, 0x1D - movs r3, 0x13 - bl MenuDrawTextWindow - ldr r0, _08136D88 @ =gOtherText_WontEat - movs r1, 0x1 - movs r2, 0x11 - bl MenuPrint - pop {r0} - bx r0 - .align 2, 0 -_08136D84: .4byte gWindowConfig_81E709C -_08136D88: .4byte gOtherText_WontEat - thumb_func_end sub_8136D60 - - thumb_func_start sub_8136D8C -sub_8136D8C: @ 8136D8C - push {lr} - bl MenuZeroFillScreen - ldr r0, _08136D9C @ =gWindowConfig_81E7080 - bl BasicInitMenuWindow - pop {r0} - bx r0 - .align 2, 0 -_08136D9C: .4byte gWindowConfig_81E7080 - thumb_func_end sub_8136D8C - - thumb_func_start sub_8136DA0 -sub_8136DA0: @ 8136DA0 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0 - movs r1, 0x10 - movs r2, 0x1D - movs r3, 0x13 - bl MenuDrawTextWindow - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0x11 - bl MenuPrint - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8136DA0 - - thumb_func_start sub_8136DC0 -sub_8136DC0: @ 8136DC0 - push {r4,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r3, r1, 24 - lsls r2, 16 - lsrs r0, r2, 16 - asrs r2, 16 - cmp r2, 0 - beq _08136DFC - cmp r2, 0 - ble _08136DD8 - movs r0, 0 -_08136DD8: - lsls r0, 16 - ldr r1, _08136DF4 @ =gUnknown_08406134 - lsls r0, r3, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r4, 0 - bl StringCopy - ldr r1, _08136DF8 @ =gOtherText_WasEnhanced - adds r0, r4, 0 - bl StringAppend - b _08136E04 - .align 2, 0 -_08136DF4: .4byte gUnknown_08406134 -_08136DF8: .4byte gOtherText_WasEnhanced -_08136DFC: - ldr r1, _08136E0C @ =gOtherText_NothingChanged - adds r0, r4, 0 - bl StringCopy -_08136E04: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08136E0C: .4byte gOtherText_NothingChanged - thumb_func_end sub_8136DC0 - - thumb_func_start sub_8136E10 -sub_8136E10: @ 8136E10 - push {r4-r7,lr} - adds r6, r0, 0 - adds r5, r1, 0 - movs r4, 0 - ldr r7, _08136E3C @ =gUnknown_08406118 -_08136E1A: - lsls r0, r4, 2 - adds r0, r7 - ldr r1, [r0] - adds r0, r6, 0 - bl GetMonData - adds r1, r5, r4 - strb r0, [r1] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x4 - bls _08136E1A - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08136E3C: .4byte gUnknown_08406118 - thumb_func_end sub_8136E10 - - thumb_func_start sub_8136E40 -sub_8136E40: @ 8136E40 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - mov r8, r0 - adds r5, r1, 0 - adds r0, r5, 0 - movs r1, 0x30 - bl GetMonData - cmp r0, 0xFF - beq _08136EDC - mov r0, r8 - adds r1, r5, 0 - bl sub_8136F74 - movs r4, 0 - mov r7, sp -_08136E64: - ldr r1, _08136EE8 @ =gUnknown_08406118 - lsls r0, r4, 2 - adds r0, r1 - ldr r6, [r0] - adds r0, r5, 0 - adds r1, r6, 0 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - strb r0, [r7] - ldr r1, _08136EEC @ =gUnknown_02039304 - ldr r1, [r1] - lsls r2, r4, 1 - adds r1, 0x66 - adds r1, r2 - ldrh r1, [r1] - adds r0, r1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r0, 0 - bge _08136E92 - movs r1, 0 -_08136E92: - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _08136E9C - movs r1, 0xFF -_08136E9C: - strb r1, [r7] - adds r0, r5, 0 - adds r1, r6, 0 - mov r2, sp - bl SetMonData - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x4 - bls _08136E64 - adds r0, r5, 0 - movs r1, 0x30 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - mov r2, r8 - ldrb r2, [r2, 0x6] - adds r1, r0, r2 - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _08136ECE - movs r1, 0xFF -_08136ECE: - mov r0, sp - strb r1, [r0] - adds r0, r5, 0 - movs r1, 0x30 - mov r2, sp - bl SetMonData -_08136EDC: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08136EE8: .4byte gUnknown_08406118 -_08136EEC: .4byte gUnknown_02039304 - thumb_func_end sub_8136E40 - - thumb_func_start sub_8136EF0 -sub_8136EF0: @ 8136EF0 - push {r4,r5,lr} - ldr r5, _08136F60 @ =gPlayerParty - ldr r0, _08136F64 @ =gUnknown_083DFEC4 - ldr r1, [r0] - ldr r2, _08136F68 @ =0x000087dc - adds r0, r1, r2 - movs r2, 0 - ldrsh r0, [r0, r2] - lsls r0, 2 - adds r1, r0 - ldr r0, _08136F6C @ =0x0000893e - adds r1, r0 - ldrb r0, [r1] - lsls r0, 27 - lsrs r0, 27 - movs r1, 0x64 - muls r0, r1 - adds r5, r0, r5 - ldr r4, _08136F70 @ =gUnknown_02039304 - ldr r1, [r4] - adds r1, 0x57 - adds r0, r5, 0 - bl sub_8136E10 - ldr r0, [r4] - ldr r0, [r0, 0x8] - adds r1, r5, 0 - bl sub_8136E40 - ldr r1, [r4] - adds r1, 0x5C - adds r0, r5, 0 - bl sub_8136E10 - movs r3, 0 -_08136F36: - ldr r0, [r4] - adds r2, r0, 0 - adds r2, 0x61 - adds r2, r3 - adds r1, r0, 0 - adds r1, 0x5C - adds r1, r3 - adds r0, 0x57 - adds r0, r3 - ldrb r1, [r1] - ldrb r0, [r0] - subs r1, r0 - strb r1, [r2] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x4 - bls _08136F36 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08136F60: .4byte gPlayerParty -_08136F64: .4byte gUnknown_083DFEC4 -_08136F68: .4byte 0x000087dc -_08136F6C: .4byte 0x0000893e -_08136F70: .4byte gUnknown_02039304 - thumb_func_end sub_8136EF0 - - thumb_func_start sub_8136F74 -sub_8136F74: @ 8136F74 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r10, r1 - ldr r1, _08136FBC @ =gUnknown_02039304 - ldr r3, [r1] - ldrb r1, [r0, 0x1] - adds r2, r3, 0 - adds r2, 0x66 - strh r1, [r2] - ldrb r2, [r0, 0x5] - adds r1, r3, 0 - adds r1, 0x68 - strh r2, [r1] - ldrb r1, [r0, 0x4] - adds r2, r3, 0 - adds r2, 0x6A - strh r1, [r2] - ldrb r2, [r0, 0x3] - adds r1, r3, 0 - adds r1, 0x6C - strh r2, [r1] - ldrb r1, [r0, 0x2] - adds r0, r3, 0 - adds r0, 0x6E - strh r1, [r0] - ldr r0, _08136FC0 @ =gUnknown_02039312 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - ble _08136FC4 - movs r0, 0x1 - b _08136FCA - .align 2, 0 -_08136FBC: .4byte gUnknown_02039304 -_08136FC0: .4byte gUnknown_02039312 -_08136FC4: - cmp r0, 0 - bge _08137040 - movs r0, 0xFF -_08136FCA: - movs r2, 0 - lsls r0, 24 - mov r9, r0 - ldr r0, _08137050 @ =gUnknown_02039304 - mov r8, r0 -_08136FD4: - mov r0, r8 - ldr r1, [r0] - lsls r0, r2, 24 - asrs r6, r0, 24 - lsls r7, r6, 1 - adds r1, 0x66 - adds r1, r7 - movs r2, 0 - ldrsh r4, [r1, r2] - adds r0, r4, 0 - movs r1, 0xA - bl __divsi3 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r4, 0 - movs r1, 0xA - bl __modsi3 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _0813700C - lsls r0, r5, 24 - movs r1, 0x80 - lsls r1, 17 - adds r0, r1 - lsrs r5, r0, 24 -_0813700C: - ldr r0, _08137054 @ =gUnknown_0840612C - adds r0, r6, r0 - ldrb r1, [r0] - mov r0, r10 - bl sub_8040A54 - lsls r0, 24 - asrs r2, r0, 24 - cmp r0, r9 - bne _08137034 - mov r1, r8 - ldr r0, [r1] - adds r0, 0x66 - adds r0, r7 - lsls r1, r5, 24 - asrs r1, 24 - muls r1, r2 - ldrh r2, [r0] - adds r1, r2 - strh r1, [r0] -_08137034: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - asrs r0, 24 - cmp r0, 0x4 - ble _08136FD4 -_08137040: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08137050: .4byte gUnknown_02039304 -_08137054: .4byte gUnknown_0840612C - thumb_func_end sub_8136F74 - - thumb_func_start sub_8137058 -sub_8137058: @ 8137058 - push {lr} - ldr r0, _0813708C @ =gPlayerParty - ldr r1, _08137090 @ =gUnknown_083DFEC4 - ldr r2, [r1] - ldr r3, _08137094 @ =0x000087dc - adds r1, r2, r3 - movs r3, 0 - ldrsh r1, [r1, r3] - lsls r1, 2 - adds r2, r1 - ldr r1, _08137098 @ =0x0000893e - adds r2, r1 - ldrb r1, [r2] - lsls r1, 27 - lsrs r1, 27 - movs r2, 0x64 - muls r1, r2 - adds r0, r1, r0 - movs r1, 0x30 - bl GetMonData - cmp r0, 0xFF - beq _0813709C - movs r0, 0 - b _0813709E - .align 2, 0 -_0813708C: .4byte gPlayerParty -_08137090: .4byte gUnknown_083DFEC4 -_08137094: .4byte 0x000087dc -_08137098: .4byte 0x0000893e -_0813709C: - movs r0, 0x1 -_0813709E: - pop {r1} - bx r1 - thumb_func_end sub_8137058 - - thumb_func_start sub_81370A4 -sub_81370A4: @ 81370A4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 -_081370AC: - movs r0, 0x64 - muls r0, r4 - ldr r1, _081370C8 @ =gPlayerParty - adds r0, r1 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _081370D2 - cmp r5, 0 - bne _081370CC - adds r0, r4, 0 - b _081370DE - .align 2, 0 -_081370C8: .4byte gPlayerParty -_081370CC: - subs r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_081370D2: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _081370AC - movs r0, 0 -_081370DE: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81370A4 - - thumb_func_start sub_81370E4 -sub_81370E4: @ 81370E4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - movs r6, 0 - cmp r6, r5 - bcs _08137114 -_081370F2: - movs r0, 0x64 - muls r0, r4 - ldr r1, _08137120 @ =gPlayerParty - adds r0, r1 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - beq _0813710A - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_0813710A: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _081370F2 -_08137114: - subs r0, r5, r6 - lsls r0, 24 - lsrs r0, 24 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08137120: .4byte gPlayerParty - thumb_func_end sub_81370E4 - - thumb_func_start sub_8137124 -sub_8137124: @ 8137124 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_81370A4 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_8137124 - - thumb_func_start sub_8137138 -sub_8137138: @ 8137138 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, _081371C0 @ =gSpriteSheet_ConditionUpDown - bl LoadSpriteSheet - ldr r0, _081371C4 @ =gSpritePalette_ConditionUpDown - bl LoadSpritePalette - ldr r2, _081371C8 @ =gUnknown_02039304 - ldr r0, [r2] - adds r0, 0x54 - movs r1, 0 - strb r1, [r0] - movs r4, 0 - adds r5, r2, 0 - ldr r6, _081371CC @ =gUnknown_08406158 - adds r0, r6, 0x2 - mov r8, r0 - ldr r7, _081371D0 @ =gSprites + 0x1C -_08137160: - ldr r0, [r5] - adds r0, 0x61 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - beq _081371AC - lsls r2, r4, 2 - adds r0, r2, r6 - movs r3, 0 - ldrsh r1, [r0, r3] - add r2, r8 - movs r0, 0 - ldrsh r2, [r2, r0] - ldr r0, _081371D4 @ =gSpriteTemplate_840618C - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _081371AC - ldr r0, [r5] - adds r0, 0x61 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - beq _081371A2 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldr r1, _081371D8 @ =sub_81371DC - str r1, [r0] -_081371A2: - ldr r1, [r5] - adds r1, 0x54 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_081371AC: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x4 - bls _08137160 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081371C0: .4byte gSpriteSheet_ConditionUpDown -_081371C4: .4byte gSpritePalette_ConditionUpDown -_081371C8: .4byte gUnknown_02039304 -_081371CC: .4byte gUnknown_08406158 -_081371D0: .4byte gSprites + 0x1C -_081371D4: .4byte gSpriteTemplate_840618C -_081371D8: .4byte sub_81371DC - thumb_func_end sub_8137138 - - thumb_func_start sub_81371DC -sub_81371DC: @ 81371DC - push {lr} - adds r1, r0, 0 - movs r2, 0x2E - ldrsh r0, [r1, r2] - cmp r0, 0x5 - bgt _081371EE - ldrh r0, [r1, 0x26] - subs r0, 0x2 - b _081371F6 -_081371EE: - cmp r0, 0xB - bgt _081371F8 - ldrh r0, [r1, 0x26] - adds r0, 0x2 -_081371F6: - strh r0, [r1, 0x26] -_081371F8: - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3C - ble _08137218 - adds r0, r1, 0 - bl DestroySprite - ldr r0, _0813721C @ =gUnknown_02039304 - ldr r1, [r0] - adds r1, 0x54 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] -_08137218: - pop {r0} - bx r0 - .align 2, 0 -_0813721C: .4byte gUnknown_02039304 - thumb_func_end sub_81371DC - - .align 2, 0 @ Don't pad with nop. diff --git a/data/data2.s b/data/data2.s deleted file mode 100644 index 00ef5c26e..000000000 --- a/data/data2.s +++ /dev/null @@ -1,1804 +0,0 @@ -@ the second big chunk of data - - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 -gSpriteImageTable_81E7A10:: @ 81E7A10 - obj_frame_tiles 0x2008000, 0x800 - obj_frame_tiles 0x2008800, 0x800 - obj_frame_tiles 0x2009000, 0x800 - obj_frame_tiles 0x2009800, 0x800 - - .align 2 -gSpriteImageTable_81E7A30:: @ 81E7A30 - obj_frame_tiles 0x200A000, 0x800 - obj_frame_tiles 0x200A800, 0x800 - obj_frame_tiles 0x200B000, 0x800 - obj_frame_tiles 0x200B800, 0x800 - - .align 2 -gSpriteImageTable_81E7A50:: @ 81E7A50 - obj_frame_tiles 0x200C000, 0x800 - obj_frame_tiles 0x200C800, 0x800 - obj_frame_tiles 0x200D000, 0x800 - obj_frame_tiles 0x200D800, 0x800 - - .align 2 -gSpriteImageTable_81E7A70:: @ 81E7A70 - obj_frame_tiles 0x200E000, 0x800 - obj_frame_tiles 0x200E800, 0x800 - obj_frame_tiles 0x200F000, 0x800 - obj_frame_tiles 0x200F800, 0x800 - - .align 2 -gSpriteAnim_81E7A90:: @ 81E7A90 - obj_image_anim_frame 0, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_81E7A98:: @ 81E7A98 - obj_image_anim_frame 3, 0 - obj_image_anim_end - - .align 2 -gSpriteAffineAnim_81E7AA0:: @ 81E7AA0 - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_81E7AB0:: @ 81E7AB0 - obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_81E7AC0:: @ 81E7AC0 - obj_rot_scal_anim_frame 0x28, 0x28, 0, 0 - obj_rot_scal_anim_frame 0x12, 0x12, 0, 12 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_81E7AD8:: @ 81E7AD8 - obj_rot_scal_anim_frame 0xFFFE, 0xFFFE, 0, 18 - obj_rot_scal_anim_frame 0xFFF0, 0xFFF0, 0, 15 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_81E7AF0:: @ 81E7AF0 - obj_rot_scal_anim_frame 0xA0, 0x100, 0, 0 - obj_rot_scal_anim_frame 0x4, 0x0, 0, 8 - obj_rot_scal_anim_frame 0xFFFC, 0x0, 0, 8 - obj_rot_scal_anim_jump 1 - - .align 2 -gSpriteAffineAnim_81E7B10:: @ 81E7B10 - obj_rot_scal_anim_frame 0x2, 0x2, 0, 20 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_81E7B20:: @ 81E7B20 - obj_rot_scal_anim_frame 0xFFFE, 0xFFFE, 0, 20 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_81E7B30:: @ 81E7B30 - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_frame 0xFFF0, 0xFFF0, 0, 9 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_81E7B48:: @ 81E7B48 - obj_rot_scal_anim_frame 0x4, 0x4, 0, 63 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_81E7B58:: @ 81E7B58 - obj_rot_scal_anim_frame 0x0, 0x0, -3, 5 - obj_rot_scal_anim_frame 0x0, 0x0, 3, 5 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_81E7B70:: @ 81E7B70 - .4byte gSpriteAffineAnim_81E7AA0 - .4byte gSpriteAffineAnim_81E7AC0 - .4byte gSpriteAffineAnim_81E7AD8 - .4byte gSpriteAffineAnim_81E7AF0 - .4byte gSpriteAffineAnim_81E7B10 - .4byte gSpriteAffineAnim_81E7B20 - .4byte gSpriteAffineAnim_81E7B48 - .4byte gSpriteAffineAnim_81E7B58 - .4byte gSpriteAffineAnim_81E7B30 - - .align 2 -gSpriteAffineAnim_81E7B94:: @ 81E7B94 - obj_rot_scal_anim_frame 0xFFFC, 0xFFFC, 4, 63 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_81E7BA4:: @ 81E7BA4 - obj_rot_scal_anim_frame 0x0, 0x0, 3, 5 - obj_rot_scal_anim_frame 0x0, 0x0, -3, 5 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_81E7BBC:: @ 81E7BBC - obj_rot_scal_anim_frame 0x0, 0x0, -5, 20 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 20 - obj_rot_scal_anim_frame 0x0, 0x0, 5, 20 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_81E7BDC:: @ 81E7BDC - obj_rot_scal_anim_frame 0x0, 0x0, 9, 110 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_81E7BEC:: @ 81E7BEC - .4byte gSpriteAffineAnim_81E7AA0 - .4byte gSpriteAffineAnim_81E7AC0 - .4byte gSpriteAffineAnim_81E7AD8 - .4byte gSpriteAffineAnim_81E7AF0 - .4byte gSpriteAffineAnim_81E7B10 - .4byte gSpriteAffineAnim_81E7B20 - .4byte gSpriteAffineAnim_81E7B94 - .4byte gSpriteAffineAnim_81E7BA4 - .4byte gSpriteAffineAnim_81E7BBC - .4byte gSpriteAffineAnim_81E7B30 - .4byte gSpriteAffineAnim_81E7BDC - - .align 2 -gSpriteAffineAnimTable_81E7C18:: @ 81E7C18 - .4byte gSpriteAffineAnim_81E7AB0 - .4byte gSpriteAffineAnim_81E7AC0 - .4byte gSpriteAffineAnim_81E7AD8 - .4byte gSpriteAffineAnim_81E7AF0 - .4byte gSpriteAffineAnim_81E7B10 - .4byte gSpriteAffineAnim_81E7B20 - .4byte gSpriteAffineAnim_81E7B94 - .4byte gSpriteAffineAnim_81E7BA4 - .4byte gSpriteAffineAnim_81E7BBC - .4byte gSpriteAffineAnim_81E7B30 - .4byte gSpriteAffineAnim_81E7BDC - - .align 2 -gSpriteAnim_81E7C44:: @ 81E7C44 - obj_image_anim_frame 0, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_81E7C4C:: @ 81E7C4C - obj_image_anim_frame 1, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_81E7C54:: @ 81E7C54 - obj_image_anim_frame 2, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_81E7C5C:: @ 81E7C5C - obj_image_anim_frame 3, 0 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_81E7C64:: @ 81E7C64 - .4byte gSpriteAnim_81E7C44 - .4byte gSpriteAnim_81E7C4C - .4byte gSpriteAnim_81E7C54 - .4byte gSpriteAnim_81E7C5C - -@ 81E7C74 - .include "data/graphics/pokemon/front_pic_coords.inc" - -@ 81E8354 - .include "data/graphics/pokemon/front_pic_table.inc" - -@ 81E9114 - .include "data/graphics/pokemon/back_pic_coords.inc" - -@ 81E97F4 - .include "data/graphics/pokemon/back_pic_table.inc" - -@ 81EA5B4 - .include "data/graphics/pokemon/palette_table.inc" - -@ 81EB374 - .include "data/graphics/pokemon/shiny_palette_table.inc" - - .align 2 -gSpriteAnim_81EC134:: @ 81EC134 - obj_image_anim_frame 0, 7 - obj_image_anim_end - - .align 2 -gSpriteAnim_81EC13C:: @ 81EC13C - obj_image_anim_frame 0, 2 - obj_image_anim_end - - .align 2 -gSpriteAnim_81EC144:: @ 81EC144 - obj_image_anim_frame 0, 2 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_81EC14C:: @ 81EC14C - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC150:: @ 81EC150 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC154:: @ 81EC154 - .4byte gSpriteAnim_81E7A90 - .4byte gSpriteAnim_81EC134 - - .align 2 -gSpriteAnimTable_81EC15C:: @ 81EC15C - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC160:: @ 81EC160 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC164:: @ 81EC164 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC168:: @ 81EC168 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC16C:: @ 81EC16C - .4byte gSpriteAnim_81E7A90 - .4byte gSpriteAnim_81EC13C - - .align 2 -gSpriteAnimTable_81EC174:: @ 81EC174 - .4byte gSpriteAnim_81E7A90 - .4byte gSpriteAnim_81EC144 - - .align 2 -gSpriteAnimTable_81EC17C:: @ 81EC17C - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC180:: @ 81EC180 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC184:: @ 81EC184 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC188:: @ 81EC188 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC18C:: @ 81EC18C - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC190:: @ 81EC190 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC194:: @ 81EC194 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC198:: @ 81EC198 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC19C:: @ 81EC19C - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC1A0:: @ 81EC1A0 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC1A4:: @ 81EC1A4 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC1A8:: @ 81EC1A8 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC1AC:: @ 81EC1AC - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC1B0:: @ 81EC1B0 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC1B4:: @ 81EC1B4 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC1B8:: @ 81EC1B8 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC1BC:: @ 81EC1BC - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC1C0:: @ 81EC1C0 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC1C4:: @ 81EC1C4 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC1C8:: @ 81EC1C8 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC1CC:: @ 81EC1CC - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC1D0:: @ 81EC1D0 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC1D4:: @ 81EC1D4 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC1D8:: @ 81EC1D8 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC1DC:: @ 81EC1DC - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC1E0:: @ 81EC1E0 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC1E4:: @ 81EC1E4 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC1E8:: @ 81EC1E8 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC1EC:: @ 81EC1EC - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC1F0:: @ 81EC1F0 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC1F4:: @ 81EC1F4 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC1F8:: @ 81EC1F8 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC1FC:: @ 81EC1FC - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC200:: @ 81EC200 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC204:: @ 81EC204 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC208:: @ 81EC208 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC20C:: @ 81EC20C - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC210:: @ 81EC210 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC214:: @ 81EC214 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC218:: @ 81EC218 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC21C:: @ 81EC21C - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC220:: @ 81EC220 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC224:: @ 81EC224 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC228:: @ 81EC228 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC22C:: @ 81EC22C - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC230:: @ 81EC230 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC234:: @ 81EC234 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC238:: @ 81EC238 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC23C:: @ 81EC23C - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC240:: @ 81EC240 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC244:: @ 81EC244 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC248:: @ 81EC248 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC24C:: @ 81EC24C - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC250:: @ 81EC250 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC254:: @ 81EC254 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC258:: @ 81EC258 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC25C:: @ 81EC25C - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC260:: @ 81EC260 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC264:: @ 81EC264 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC268:: @ 81EC268 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC26C:: @ 81EC26C - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC270:: @ 81EC270 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC274:: @ 81EC274 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC278:: @ 81EC278 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC27C:: @ 81EC27C - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC280:: @ 81EC280 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC284:: @ 81EC284 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC288:: @ 81EC288 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC28C:: @ 81EC28C - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC290:: @ 81EC290 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC294:: @ 81EC294 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC298:: @ 81EC298 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC29C:: @ 81EC29C - .4byte gSpriteAnim_81E7A90 - - .align 2 -gSpriteAnimTable_81EC2A0:: @ 81EC2A0 - .4byte gSpriteAnim_81E7A90 - - .align 2 -gUnknown_081EC2A4:: @ 81EC2A4 - .4byte gSpriteAnimTable_81EC14C - .4byte gSpriteAnimTable_81EC150 - .4byte gSpriteAnimTable_81EC154 - .4byte gSpriteAnimTable_81EC15C - .4byte gSpriteAnimTable_81EC160 - .4byte gSpriteAnimTable_81EC164 - .4byte gSpriteAnimTable_81EC168 - .4byte gSpriteAnimTable_81EC16C - .4byte gSpriteAnimTable_81EC174 - .4byte gSpriteAnimTable_81EC17C - .4byte gSpriteAnimTable_81EC180 - .4byte gSpriteAnimTable_81EC184 - .4byte gSpriteAnimTable_81EC188 - .4byte gSpriteAnimTable_81EC18C - .4byte gSpriteAnimTable_81EC190 - .4byte gSpriteAnimTable_81EC194 - .4byte gSpriteAnimTable_81EC198 - .4byte gSpriteAnimTable_81EC19C - .4byte gSpriteAnimTable_81EC1A0 - .4byte gSpriteAnimTable_81EC1A4 - .4byte gSpriteAnimTable_81EC1A8 - .4byte gSpriteAnimTable_81EC1AC - .4byte gSpriteAnimTable_81EC1B0 - .4byte gSpriteAnimTable_81EC1B4 - .4byte gSpriteAnimTable_81EC1B8 - .4byte gSpriteAnimTable_81EC1BC - .4byte gSpriteAnimTable_81EC1C0 - .4byte gSpriteAnimTable_81EC1C4 - .4byte gSpriteAnimTable_81EC1C8 - .4byte gSpriteAnimTable_81EC1CC - .4byte gSpriteAnimTable_81EC1D0 - .4byte gSpriteAnimTable_81EC1D4 - .4byte gSpriteAnimTable_81EC1D8 - .4byte gSpriteAnimTable_81EC1DC - .4byte gSpriteAnimTable_81EC1E0 - .4byte gSpriteAnimTable_81EC1E4 - .4byte gSpriteAnimTable_81EC1E8 - .4byte gSpriteAnimTable_81EC1EC - .4byte gSpriteAnimTable_81EC1F0 - .4byte gSpriteAnimTable_81EC1F4 - .4byte gSpriteAnimTable_81EC1F8 - .4byte gSpriteAnimTable_81EC1FC - .4byte gSpriteAnimTable_81EC200 - .4byte gSpriteAnimTable_81EC204 - .4byte gSpriteAnimTable_81EC208 - .4byte gSpriteAnimTable_81EC20C - .4byte gSpriteAnimTable_81EC210 - .4byte gSpriteAnimTable_81EC214 - .4byte gSpriteAnimTable_81EC218 - .4byte gSpriteAnimTable_81EC21C - .4byte gSpriteAnimTable_81EC220 - .4byte gSpriteAnimTable_81EC224 - .4byte gSpriteAnimTable_81EC228 - .4byte gSpriteAnimTable_81EC22C - .4byte gSpriteAnimTable_81EC230 - .4byte gSpriteAnimTable_81EC234 - .4byte gSpriteAnimTable_81EC238 - .4byte gSpriteAnimTable_81EC23C - .4byte gSpriteAnimTable_81EC240 - .4byte gSpriteAnimTable_81EC244 - .4byte gSpriteAnimTable_81EC248 - .4byte gSpriteAnimTable_81EC24C - .4byte gSpriteAnimTable_81EC250 - .4byte gSpriteAnimTable_81EC254 - .4byte gSpriteAnimTable_81EC258 - .4byte gSpriteAnimTable_81EC25C - .4byte gSpriteAnimTable_81EC260 - .4byte gSpriteAnimTable_81EC264 - .4byte gSpriteAnimTable_81EC268 - .4byte gSpriteAnimTable_81EC26C - .4byte gSpriteAnimTable_81EC270 - .4byte gSpriteAnimTable_81EC274 - .4byte gSpriteAnimTable_81EC278 - .4byte gSpriteAnimTable_81EC27C - .4byte gSpriteAnimTable_81EC280 - .4byte gSpriteAnimTable_81EC284 - .4byte gSpriteAnimTable_81EC288 - .4byte gSpriteAnimTable_81EC28C - .4byte gSpriteAnimTable_81EC290 - .4byte gSpriteAnimTable_81EC294 - .4byte gSpriteAnimTable_81EC298 - .4byte gSpriteAnimTable_81EC29C - .4byte gSpriteAnimTable_81EC2A0 - -@ 81EC3F0 - .include "data/graphics/trainers/front_pic_coords.inc" - -@ 81EC53C - .include "data/graphics/trainers/front_pic_table.inc" - -@ 81EC7D4 - .include "data/graphics/trainers/front_pic_palette_table.inc" - - .align 2 -gSpriteAnim_81ECA6C:: @ 81ECA6C - obj_image_anim_frame 0, 24 - obj_image_anim_frame 1, 9 - obj_image_anim_frame 2, 24 - obj_image_anim_frame 0, 9 - obj_image_anim_frame 3, 50 - obj_image_anim_end - - .align 2 -gSpriteAnim_81ECA84:: @ 81ECA84 - obj_image_anim_frame 0, 24 - obj_image_anim_frame 1, 9 - obj_image_anim_frame 2, 24 - obj_image_anim_frame 0, 9 - obj_image_anim_frame 3, 50 - obj_image_anim_end - - .align 2 -gSpriteAnim_81ECA9C:: @ 81ECA9C - obj_image_anim_frame 0, 24 - obj_image_anim_frame 1, 9 - obj_image_anim_frame 2, 24 - obj_image_anim_frame 0, 9 - obj_image_anim_frame 3, 50 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_81ECAB4:: @ 81ECAB4 - .4byte gSpriteAnim_81E7A98 - .4byte gSpriteAnim_81ECA6C - - .align 2 -gSpriteAnimTable_81ECABC:: @ 81ECABC - .4byte gSpriteAnim_81E7A98 - .4byte gSpriteAnim_81ECA84 - - .align 2 -gSpriteAnimTable_81ECAC4:: @ 81ECAC4 - .4byte gSpriteAnim_81E7A98 - .4byte gSpriteAnim_81ECA9C - - .align 2 -gUnknown_081ECACC:: @ 81ECACC - .4byte gSpriteAnimTable_81ECAB4 - .4byte gSpriteAnimTable_81ECABC - .4byte gSpriteAnimTable_81ECAC4 - -@ 81ECAD8 - .include "data/graphics/trainers/back_pic_coords.inc" - -@ 81ECAE4 - .include "data/graphics/trainers/back_pic_table.inc" - -@ 81ECAFC - .include "data/graphics/trainers/back_pic_palette_table.inc" - -@ 81ECB14 - .include "data/enemy_mon_elevation.inc" - -@ 81ECCB0 - .include "data/trainer_parties.inc" - -@ 81F0208 - .include "data/text/trainer_class_names.inc" - -@ 81F04FC - .include "data/trainers.inc" - -@ 81F716C - .include "data/text/species_names.inc" - -@ 81F8320 - .include "data/text/move_names.inc" - - .align 2 -@ 81F9528 - .4byte 0x101 @ unknown data - - .align 2 -gOamData_81F952C:: @ 81F952C - .2byte 0x0300 - .2byte 0xC000 - .2byte 0x0000 - - .align 2 -gOamData_81F9534:: @ 81F9534 - .2byte 0x0300 - .2byte 0xC000 - .2byte 0x0040 - - .align 2 -gSpriteAffineAnim_81F953C:: @ 81F953C - obj_rot_scal_anim_frame 0x80, 0x80, 0, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_81F954C:: @ 81F954C - obj_rot_scal_anim_frame 0x80, 0x80, 0, 0 - obj_rot_scal_anim_frame 0x18, 0x18, 0, -128 - obj_rot_scal_anim_frame 0x18, 0x18, 0, -128 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_81F956C:: @ 81F956C - .4byte gSpriteAffineAnim_81F953C - .4byte gSpriteAffineAnim_81F954C - - .align 2 -gSpriteTemplate_81F9574:: @ 81F9574 - spr_template 10000, 10000, gOamData_81F952C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_81F956C, nullsub_36 - - .align 2 -gSpriteTemplate_81F958C:: @ 81F958C - spr_template 10000, 10000, gOamData_81F9534, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_81F956C, nullsub_36 - - .align 2 -gUnknown_081F95A4:: @ 81F95A4 - obj_tiles gUnknown_08E5DC2C, 4096, 0x2710 - - .align 2 -gBattleTerrainTable:: @ 81F95AC - @ tall_grass - .4byte gBattleTerrainTiles_TallGrass - .4byte gBattleTerrainTilemap_TallGrass - .4byte gBattleTerrainAnimTiles_TallGrass - .4byte gBattleTerrainAnimTilemap_TallGrass - .4byte gBattleTerrainPalette_TallGrass - - @ long_grass - .4byte gBattleTerrainTiles_LongGrass - .4byte gBattleTerrainTilemap_LongGrass - .4byte gBattleTerrainAnimTiles_LongGrass - .4byte gBattleTerrainAnimTilemap_LongGrass - .4byte gBattleTerrainPalette_LongGrass - - @ sand - .4byte gBattleTerrainTiles_Sand - .4byte gBattleTerrainTilemap_Sand - .4byte gBattleTerrainAnimTiles_Sand - .4byte gBattleTerrainAnimTilemap_Sand - .4byte gBattleTerrainPalette_Sand - - @ underwater - .4byte gBattleTerrainTiles_Underwater - .4byte gBattleTerrainTilemap_Underwater - .4byte gBattleTerrainAnimTiles_Underwater - .4byte gBattleTerrainAnimTilemap_Underwater - .4byte gBattleTerrainPalette_Underwater - - @ water - .4byte gBattleTerrainTiles_Water - .4byte gBattleTerrainTilemap_Water - .4byte gBattleTerrainAnimTiles_Water - .4byte gBattleTerrainAnimTilemap_Water - .4byte gBattleTerrainPalette_Water - - @ pond_water - .4byte gBattleTerrainTiles_PondWater - .4byte gBattleTerrainTilemap_PondWater - .4byte gBattleTerrainAnimTiles_PondWater - .4byte gBattleTerrainAnimTilemap_PondWater - .4byte gBattleTerrainPalette_PondWater - - @ rock - .4byte gBattleTerrainTiles_Rock - .4byte gBattleTerrainTilemap_Rock - .4byte gBattleTerrainAnimTiles_Rock - .4byte gBattleTerrainAnimTilemap_Rock - .4byte gBattleTerrainPalette_Rock - - @ cave - .4byte gBattleTerrainTiles_Cave - .4byte gBattleTerrainTilemap_Cave - .4byte gBattleTerrainAnimTiles_Cave - .4byte gBattleTerrainAnimTilemap_Cave - .4byte gBattleTerrainPalette_Cave - - @ building - .4byte gBattleTerrainTiles_Building - .4byte gBattleTerrainTilemap_Building - .4byte gBattleTerrainAnimTiles_Building - .4byte gBattleTerrainAnimTilemap_Building - .4byte gBattleTerrainPalette_Building - - @ plain - .4byte gBattleTerrainTiles_Building - .4byte gBattleTerrainTilemap_Building - .4byte gBattleTerrainAnimTiles_Building - .4byte gBattleTerrainAnimTilemap_Building - .4byte gBattleTerrainPalette_Plain - - .align 2 -gUnknown_081F9674:: @ 81F9674 - .4byte REG_BG3HOFS - .4byte ((DMA_ENABLE | DMA_START_HBLANK | DMA_REPEAT | DMA_DEST_RELOAD) << 16) | 1 - .4byte 1 - - .align 2 -gUnknown_081F9680:: @ 81F9680 - .4byte gUnknown_030041D0 - .2byte 0x20 - .byte 0x13 - .byte 0x10 - .4byte BG_VRAM + 0xE104 - - .4byte gUnknown_03004250 - .2byte 0x40 - .byte 0x13 - .byte 0x10 - .4byte BG_VRAM + 0xF104 - - .4byte gUnknown_030041D0 - .2byte 0x60 - .byte 0x13 - .byte 0x30 - .4byte BG_VRAM + 0xE204 - - .4byte gUnknown_03004250 - .2byte 0x80 - .byte 0x13 - .byte 0x30 - .4byte BG_VRAM + 0xF204 - - .4byte gUnknown_030041D0 - .2byte 0x20 - .byte 0x13 - .byte 0x18 - .4byte BG_VRAM + 0xE1C4 - - .4byte gUnknown_03004250 - .2byte 0x40 - .byte 0x13 - .byte 0x18 - .4byte BG_VRAM + 0xF1C4 - -gUnknown_081F96C8:: @ 81F96C8 - .string "ヌケニン$" @ "Nukenin" (Shedinja) - - .align 2 -gSpriteTemplate_81F96D0:: @ 81F96D0 - spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_800F828 - - .align 2 -gOamData_81F96E8:: @ 81F96E8 - .2byte 0x0100 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gOamData_81F96F0:: @ 81F96F0 - .2byte 0x0100 - .2byte 0xC000 - .2byte 0x2800 - - .align 2 -gSpriteAnim_81F96F8:: @ 81F96F8 - obj_image_anim_frame 0, 5 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_81F9700:: @ 81F9700 - .4byte gSpriteAnim_81F96F8 - - .align 2 -gSpriteAffineAnim_81F9704:: @ 81F9704 - obj_rot_scal_anim_frame 0xFFF0, 0x0, 0, 4 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 60 - obj_rot_scal_anim_jump 1 - - .align 2 -gSpriteAffineAnimTable_81F971C:: @ 81F971C - .4byte gSpriteAffineAnim_81F9704 - -@ 81F9720 - .include "data/type_effectiveness.inc" - -@ 81F9870 - .include "data/text/type_names.inc" - -@ 81F98F0 - .include "data/trainer_money.inc" - -@ 81F99CC - .include "data/text/ability_descriptions.inc" - -@ 81FA248 - .include "data/text/ability_names.inc" - - .align 2 -gUnknown_081FA640:: @ 81FA640 - .4byte sub_8013FE8 - .4byte sub_80147A0 - .4byte sub_80146F4 - .4byte sub_8014BF4 - .4byte sub_8014D50 - .4byte sub_8014D98 - .4byte sub_8014DF8 - .4byte sub_8014EBC - .4byte bs8_exit_by_flight - .4byte sub_8014FBC - .4byte sub_801B594 - .4byte bsB_exit_by_move - .4byte bsC_8016D70 - .4byte sub_8015060 - - .align 2 -gUnknown_081FA678:: @ 81FA678 - .4byte bc_8013B1C - .4byte sub_8013998 - .4byte sub_8013B64 - .4byte sub_8013B64 - .4byte sub_8013BDC - .4byte sub_8013C9C - .4byte sub_8013C48 - .4byte sub_8013C9C - .4byte sub_8013C9C - -gStatusConditionString_PoisonJpn:: @ 81FA69C - .string "どく$$$$$$" - -gStatusConditionString_SleepJpn:: @ 81FA6A4 - .string "ねむり$$$$$" - -gStatusConditionString_ParalysisJpn:: @ 81FA6AC - .string "まひ$$$$$$" - -gStatusConditionString_BurnJpn:: @ 81FA6B4 - .string "やけど$$$$$" - -gStatusConditionString_IceJpn:: @ 81FA6BC - .string "こおり$$$$$" - -gStatusConditionString_ConfusionJpn:: @ 81FA6C4 - .string "こんらん$$$$" - -gStatusConditionString_LoveJpn:: @ 81FA6CC - .string "メロメロ$$$$" - - .align 2 -gUnknown_081FA6D4:: @ 81FA6D4 - .4byte gStatusConditionString_PoisonJpn, BattleText_PoisonStatus - .4byte gStatusConditionString_SleepJpn, BattleText_Sleep - .4byte gStatusConditionString_ParalysisJpn, BattleText_Paralysis - .4byte gStatusConditionString_BurnJpn, BattleText_Burn - .4byte gStatusConditionString_IceJpn, BattleText_IceStatus - .4byte gStatusConditionString_ConfusionJpn, BattleText_Confusion - .4byte gStatusConditionString_LoveJpn, BattleText_Love - -gUnknown_081FA70C:: @ 81FA70C - .byte 0, 0, 0 - .byte 3, 5, 0 - .byte 2, 3, 0 - .byte 1, 2, 0 - .byte 1, 1, 0 - -gUnknown_081FA71B:: @ 81FA71B - .byte 4, 3, 2, 1 - -gUnknown_081FA71F:: @ 81FA71F - .byte 4, 4, 4, 4 - - .align 1 -gUnknown_081FA724:: @ 81FA724 - .2byte 0x2D - .2byte 0x2E - .2byte 0x2F - .2byte 0x30 - .2byte 0x67 - .2byte 0xAD - .2byte 0xFD - .2byte 0x13F - .2byte 0x140 - .2byte 0x130 - .2byte 0xFFFF - - .align 2 -gBattleScriptingCommandsTable:: @ 81FA73C - .4byte atk00_attackcanceler - .4byte atk01_accuracycheck - .4byte atk02_attackstring - .4byte atk03_ppreduce - .4byte atk04_critcalc - .4byte atk05_damagecalc1 - .4byte atk06_typecalc - .4byte atk07_dmg_adjustment - .4byte atk08_dmg_adjustment2 - .4byte atk09_attackanimation - .4byte atk0A_waitanimation - .4byte atk0B_healthbarupdate - .4byte atk0C_datahpupdate - .4byte atk0D_critmessage - .4byte atk0E_effectiveness_sound - .4byte atk0F_resultmessage - .4byte atk10_printstring - .4byte atk11_printstring_playeronly - .4byte atk12_waitmessage - .4byte atk13_printfromtable - .4byte atk14_printfromtable_playeronly - .4byte atk15_seteffectwithchancetarget - .4byte atk16_seteffectprimary - .4byte atk17_seteffectsecondary - .4byte atk18_status_effect_clear - .4byte atk19_faint_pokemon - .4byte atk1A_faint_animation - .4byte atk1B_faint_effects_clear - .4byte atk1C_jumpifstatus - .4byte atk1D_jumpifstatus2 - .4byte atk1E_jumpifability - .4byte atk1F_jumpifsideaffecting - .4byte atk20_jumpifstat - .4byte atk21_jumpifstatus3 - .4byte atk22_jumpiftype - .4byte atk23_getexp - .4byte atk24 - .4byte atk25_move_values_cleanup - .4byte atk26_set_multihit - .4byte atk27_decrement_multihit - .4byte atk28_goto - .4byte atk29_jumpifbyte - .4byte atk2A_jumpifhalfword - .4byte atk2B_jumpifword - .4byte atk2C_jumpifarrayequal - .4byte atk2D_jumpifarraynotequal - .4byte atk2E_setbyte - .4byte atk2F_addbyte - .4byte atk30_subbyte - .4byte atk31_copyarray - .4byte atk32_copyarray_withindex - .4byte atk33_orbyte - .4byte atk34_orhalfword - .4byte atk35_orword - .4byte atk36_bicbyte - .4byte atk37_bichalfword - .4byte atk38_bicword - .4byte atk39_pause - .4byte atk3A_waitstate - .4byte atk3B_healthbar_update - .4byte atk3C_return - .4byte atk3D_end - .4byte atk3E_end2 - .4byte atk3F_end3 - .4byte atk40_jump_if_move_affected_by_protect - .4byte atk41_call - .4byte atk42_jumpiftype2 - .4byte atk43_jumpifabilitypresent - .4byte atk44 - .4byte atk45_playanimation - .4byte atk46_playanimation2 - .4byte atk47_setgraphicalstatchangevalues_setgraphicalstatchangevalues_setgraphicalstatchangevalues - .4byte atk48_playstatchangeanimation - .4byte sub_80217F8 - .4byte atk4A_damageflags - .4byte atk4B_cmd4b - .4byte atk4C_switch1 - .4byte sub_80225F0 - .4byte sub_8022784 - .4byte sub_8022830 - .4byte atk50_openpartyscreen - .4byte sub_802331C - .4byte sub_8023524 - .4byte sub_80237CC - .4byte atk54_802511C - .4byte sub_8023848 - .4byte atk56_8025194 - .4byte atk57_80251C4_flee - .4byte atk58_cmd58 - .4byte atk59_8025230 - .4byte sub_8023AF8 - .4byte atk5B_80256E0 - .4byte atk5C_cmd5c - .4byte sub_8024014 - .4byte atk5E_8025A70 - .4byte atk5F_8025B24 - .4byte atk60_cmd60 - .4byte atk61_8025BA4 - .4byte atk62_08025C6C - .4byte atk63_jumptoattack - .4byte atk64_statusanimation - .4byte atk65_8025D90 - .4byte atk66_8025E38 - .4byte atk67_8025ECC - .4byte sub_80246A0 - .4byte atk69_8025FE0 - .4byte atk6A_stash_item_for_side - .4byte sub_80248C0 - .4byte sub_80248FC - .4byte sub_8024C4C - .4byte atk6E_state0_side_becomes_attacker - .4byte atk6F_8026810 - .4byte atk70_record_ability_usage_of_side - .4byte atk71_80268A0 - .4byte atk72_flee - .4byte atk73_cmd73 - .4byte atk74_hp_tresholds_2 - .4byte atk75_8026A58 - .4byte sub_8024F40 - .4byte atk77_setprotect - .4byte atk78_faintifabilitynotdamp - .4byte atk79_setuserhptozero - .4byte sub_80253E8 - .4byte sub_802548C - .4byte sub_8025508 - .4byte sub_80256D0 - .4byte atk7E_setreflect - .4byte sub_80257DC - .4byte atk80_manipulatedamage - .4byte atk81_setrest - .4byte atk82_jumpifnotfirstturn - .4byte sub_8025A34 - .4byte sub_8025AE0 - .4byte sub_8025B5C - .4byte atk86_stockpiletobasedamage - .4byte sub_8025D00 - .4byte atk88_negativedamage - .4byte atk89_statbuffchange - .4byte atk8A_normalisebuffs - .4byte atk8B_setbide - .4byte atk8C_confuseifrepeatingattackends - .4byte atk8D_setloopcounter - .4byte sub_8026468 - .4byte sub_8026590 - .4byte sub_802688C - .4byte atk91_givemoney - .4byte atk92_setlightscreen - .4byte sub_8026B78 - .4byte atk94_gethalfcurrentenemyhp - .4byte sub_8026E94 - .4byte sub_8026EEC - .4byte sub_8027064 - .4byte sub_8027238 - .4byte sub_8027348 - .4byte atk9A_setincreasedcriticalchance - .4byte atk9B_transformdataexecution - .4byte sub_80275D8 - .4byte atk9D_copyattack - .4byte sub_80278B8 - .4byte sub_8027960 - .4byte atkA0_psywavedamageeffect - .4byte atkA1_counterdamagecalculator - .4byte atkA2_mirrorcoatdamagecalculator - .4byte atkA3_disablelastusedattack - .4byte atkA4_setencore - .4byte sub_8027E4C - .4byte sub_8027F44 - .4byte atkA7_setalwayshitflag - .4byte atkA8_copymovepermanently - .4byte sub_8028420 - .4byte sub_8028558 - .4byte atkAB_802A458 - .4byte atkAC_remaininghptopower - .4byte sub_8028668 - .4byte sub_8028858 - .4byte sub_8028AD4 - .4byte sub_8028B70 - .4byte sub_8028BFC - .4byte atkB2_setperishsong - .4byte atkB3_rolloutdamagecalculation - .4byte atkB4_jumpifconfusedandattackmaxed - .4byte sub_8028EC8 - .4byte atkB6_happinesstodamagecalculation - .4byte atkB7_presentdamagecalculation - .4byte sub_80290BC - .4byte atkB9_magnitudedamagecalculation - .4byte sub_8029270 - .4byte sub_80293E8 - .4byte atkBC_maxattackhalvehp - .4byte atkBD_copyfoestats - .4byte atkBE_breakfree - .4byte sub_802964C - .4byte atkC0_recoverbasedonsunlight - .4byte sub_8029784 - .4byte atkC2_selectnexttarget - .4byte atkC3_setfutureattack - .4byte atkC4_802B910 - .4byte atkC5_hidepreattack - .4byte atkC6_unhidepostattack - .4byte atkC7_setminimize - .4byte sub_8029DAC - .4byte atkC9_jumpifattackandspecialattackcannotfall - .4byte atkCA_setforcedtarget - .4byte atkCB_setcharge - .4byte atkCC_callterrainattack - .4byte atkCD_cureifburnedparalysedorpoisoned - .4byte atkCE_settorment - .4byte atkCF_jumpifnodamage - .4byte atkD0_settaunt - .4byte sub_802A170 - .4byte sub_802A218 - .4byte sub_802A4B0 - .4byte atkD4_802C408 - .4byte sub_802A5FC - .4byte atkD6_doubledamagedealtifdamaged - .4byte sub_802A6BC - .4byte atkD8_setdamagetohealthdifference - .4byte atkD9_scaledamagebyhealthratio - .4byte atkDA_abilityswap - .4byte atkDB_imprisoneffect - .4byte atkDC_setgrudge - .4byte atkDD_weightdamagecalculation - .4byte atkDE_asistattackselect - .4byte atkDF_setmagiccoat - .4byte atkE0_setstealstatchange - .4byte atkE1_802CBE4 - .4byte sub_802ADD8 - .4byte atkE3_jumpiffainted - .4byte sub_802AEB0 - .4byte sub_802AF68 - .4byte atkE6_castform_transform - .4byte atkE7_castform_switch - .4byte atkE8_settypebasedhalvers - .4byte sub_802B1C0 - .4byte atkEA_recycleitem - .4byte atkEB_settypetoterrain - .4byte sub_802B3E0 - .4byte sub_802B4B4 - .4byte sub_802B51C - .4byte sub_802B5B8 - .4byte sub_802B960 - .4byte sub_802B9E0 - .4byte sub_802BA90 - .4byte atkF3_receive_new_pokemon_maybe - .4byte sub_802BEF0 - .4byte sub_802BF20 - .4byte sub_802BF48 - .4byte sub_802BF54 - - .align 2 -gAccuracyStageRatios:: @ 81FAB1C - .byte 33, 100, 0, 0 @ -6 - .byte 36, 100, 0, 0 @ -5 - .byte 43, 100, 0, 0 @ -4 - .byte 50, 100, 0, 0 @ -3 - .byte 60, 100, 0, 0 @ -2 - .byte 75, 100, 0, 0 @ -1 - .byte 1, 1, 0, 0 @ 0 - .byte 133, 100, 0, 0 @ +1 - .byte 166, 100, 0, 0 @ +2 - .byte 2, 1, 0, 0 @ +3 - .byte 233, 100, 0, 0 @ +4 - .byte 133, 50, 0, 0 @ +5 - .byte 3, 1, 0, 0 @ +6 - -@ The chance is 1/N for each stage. - .align 1 -gCriticalHitChance:: @ 81FAB50 - .2byte 16 @ +0 - .2byte 8 @ +1 - .2byte 4 @ +2 - .2byte 3 @ +3 - .2byte 2 @ +4 - - .align 2 -gStatusFlagsForMoveEffects:: @ 81FAB5C - .4byte 0x00000000 - .4byte 0x00000007 - .4byte 0x00000008 - .4byte 0x00000010 - .4byte 0x00000020 - .4byte 0x00000040 - .4byte 0x00000080 - .4byte 0x00000007 - .4byte 0x00000008 - .4byte 0x00000000 - .4byte 0x00000070 - .4byte 0x00000000 - .4byte 0x00001000 - .4byte 0x0000E000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00400000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x04000000 - .4byte 0x08000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000C00 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - .4byte 0x00000000 - - .align 2 -gMoveEffectBS_Ptrs:: @ 81FAC4C - .4byte BattleScript_1D963E - .4byte BattleScript_1D963E - .4byte BattleScript_1D965A - .4byte BattleScript_1D9669 - .4byte BattleScript_1D9678 - .4byte BattleScript_1D9687 - .4byte BattleScript_1D969D - .4byte BattleScript_1D96BA - .4byte BattleScript_1D963E - .4byte BattleScript_1D963E - .4byte BattleScript_1D9696 - .4byte BattleScript_1D96AA - .4byte BattleScript_1D963E - .4byte BattleScript_1D96B1 - .4byte BattleScript_1D96C8 - .4byte BattleScript_1D963E - .4byte BattleScript_1D963E - .4byte BattleScript_1D963E - .4byte BattleScript_1D963E - .4byte BattleScript_1D963E - .4byte BattleScript_1D963E - .4byte BattleScript_1D963E - .4byte BattleScript_1D963E - .4byte BattleScript_1D963E - .4byte BattleScript_1D963E - .4byte BattleScript_1D963E - .4byte BattleScript_1D963E - .4byte BattleScript_1D963E - .4byte BattleScript_1D963E - .4byte BattleScript_1D963E - .4byte BattleScript_1D963E - .4byte BattleScript_1D963E - .4byte BattleScript_1D963E - .4byte BattleScript_1D963E - .4byte BattleScript_1D963E - .4byte BattleScript_1D963E - .4byte BattleScript_1D963E - .4byte BattleScript_1D963E - .4byte BattleScript_1D96C8 - -@ unreferenced bit masks - .byte 0x00, 0x01, 0x03, 0x07, 0x0F, 0x1F, 0x3F - -gLevelUpStatBoxStats:: @ 81FACEF - .byte 0x3A @ HP - .byte 0x3E @ Sp. Attack - .byte 0x3B @ Attack - .byte 0x3F @ Sp. Defense - .byte 0x3C @ Defense - .byte 0x3D @ Speed - - .align 1 -gProtectSuccessRates:: @ 81FACF6 - .2byte 0xFFFF, 0x7FFF, 0x3FFF, 0x1FFF - - .align 1 -gUnknown_081FACFE:: @ 81FACFE - .2byte MOVE_METRONOME - .2byte MOVE_STRUGGLE - .2byte MOVE_SKETCH - .2byte MOVE_MIMIC - .2byte 0xFFFE - .2byte MOVE_COUNTER - .2byte MOVE_MIRROR_COAT - .2byte MOVE_PROTECT - .2byte MOVE_DETECT - .2byte MOVE_ENDURE - .2byte MOVE_DESTINY_BOND - .2byte MOVE_SLEEP_TALK - .2byte MOVE_THIEF - .2byte MOVE_FOLLOW_ME - .2byte MOVE_SNATCH - .2byte MOVE_HELPING_HAND - .2byte MOVE_COVET - .2byte MOVE_TRICK - .2byte MOVE_FOCUS_PUNCH - .2byte 0xFFFF - -gUnknown_081FAD26:: @ 81FAD26 - .byte 1, 200 - .byte 4, 150 - .byte 9, 100 - .byte 16, 80 - .byte 32, 40 - .byte 48, 20 - - .align 1 -gNaturePowerMoves:: @ 81FAD32 - .2byte MOVE_STUN_SPORE - .2byte MOVE_RAZOR_LEAF - .2byte MOVE_EARTHQUAKE - .2byte MOVE_HYDRO_PUMP - .2byte MOVE_SURF - .2byte MOVE_BUBBLE_BEAM - .2byte MOVE_ROCK_SLIDE - .2byte MOVE_SHADOW_BALL - .2byte MOVE_SWIFT - .2byte MOVE_SWIFT - -@ weight-based damage table for Low Kick -@ format: min. weight (hectograms), base power - - .align 1 -gWeightDamage:: @ 81FAD46 - .2byte 100, 20 - .2byte 250, 40 - .2byte 500, 60 - .2byte 1000, 80 - .2byte 2000, 100 - .2byte -1, -1 - - .align 1 -gPickupItems:: @ 81FAD5E - .2byte ITEM_SUPER_POTION, 30 - .2byte ITEM_FULL_HEAL, 40 - .2byte ITEM_ULTRA_BALL, 50 - .2byte ITEM_RARE_CANDY, 60 - .2byte ITEM_FULL_RESTORE, 70 - .2byte ITEM_REVIVE, 80 - .2byte ITEM_NUGGET, 90 - .2byte ITEM_PROTEIN, 95 - .2byte ITEM_PP_UP, 99 - .2byte ITEM_KINGS_ROCK, 1 - -gTerrainToType:: @ 81FAD86 - .byte TYPE_GRASS @ tall grass - .byte TYPE_GRASS @ long grass - .byte TYPE_GROUND @ sand - .byte TYPE_WATER @ underwater - .byte TYPE_WATER @ water - .byte TYPE_WATER @ pond water - .byte TYPE_ROCK @ rock - .byte TYPE_ROCK @ cave - .byte TYPE_NORMAL @ building - .byte TYPE_NORMAL @ plain - -gBallCatchBonuses:: @ 81FAD90 - .byte 20 @ Ultra Ball - .byte 15 @ Great Ball - .byte 10 @ Poké Ball - .byte 15 @ Safari Ball - - .string "ターン$" @ "turn" - - .align 2 -gPlayerBufferCommands:: @ 81FAD98 - .4byte PlayerHandleGetAttributes - .4byte sub_802ECF0 - .4byte PlayerHandleSetAttributes - .4byte sub_802F7CC - .4byte PlayerHandleLoadPokeSprite - .4byte PlayerHandleSendOutPoke - .4byte PlayerHandleReturnPokeToBall - .4byte PlayerHandleTrainerThrow - .4byte PlayerHandleTrainerSlide - .4byte PlayerHandleTrainerSlideBack - .4byte sub_802FE7C - .4byte sub_802FF60 - .4byte sub_802FF80 - .4byte PlayerHandleBallThrow - .4byte PlayerHandlePuase - .4byte PlayerHandleMoveAnimation - .4byte PlayerHandlePrintString - .4byte PlayerHandlePrintStringPlayerOnly - .4byte sub_803037C - .4byte nullsub_42 - .4byte sub_8030468 - .4byte PlayerHandleOpenBag - .4byte sub_8030594 - .4byte sub_8030674 - .4byte PlayerHandleHealthBarUpdate - .4byte PlayerHandleExpBarUpdate - .4byte PlayerHandleStatusIconUpdate - .4byte PlayerHandleStatusAnimation - .4byte PlayerHandleStatusXor - .4byte sub_803097C - .4byte PlayerHandleDMATransfer - .4byte sub_8030A3C - .4byte sub_8030A6C - .4byte sub_8030A78 - .4byte sub_8030A8C - .4byte sub_8030AA0 - .4byte sub_8030AB4 - .4byte sub_8030AC8 - .4byte sub_8030AE4 - .4byte sub_8030B1C - .4byte sub_8030B34 - .4byte PlayerHandleHitAnimation - .4byte sub_8030BCC - .4byte PlayerHandleEffectivenessSound - .4byte sub_8030C1C - .4byte PlayerHandleFaintingCry - .4byte PlayerHandleIntroSlide - .4byte PlayerHandleTrainerBallThrow - .4byte sub_8030FAC - .4byte sub_80310A4 - .4byte sub_80310F0 - .4byte PlayerHandleSpriteInvisibility - .4byte PlayerHandleBattleAnimation - .4byte PlayerHandleLinkStandbyMsg - .4byte PlayerHandleResetActionMoveSelection - .4byte sub_80312A0 - .4byte nullsub_43 - -gUnknown_081FAE7C:: @ 81FAE7C - .byte 0, 2, 3, 1 - -gUnknown_081FAE80:: @ 81FAE80 - .string "{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW WHITE LIGHT_BLUE WHITE2}$" - -gUnknown_081FAE89:: @ 81FAE89 - .byte 8, 120 - .byte 88, 120 - .byte 8, 136 - .byte 88, 136 - -gUnknown_081FAE91:: @ 81FAE91 - .byte 144, 120 - .byte 190, 120 - .byte 144, 136 - .byte 190, 136 - .byte 72, 72 - .byte 32, 90 - .byte 80, 80 - .byte 80, 88 - - .align 2 -gUnknown_081FAEA4:: @ 81FAEA4 - obj_tiles gSmokescreenImpactTiles, 0x180, 55019 - - .align 2 -gUnknown_081FAEAC:: @ 81FAEAC - obj_pal gSmokescreenImpactPalette, 55019 - - .align 2 -gOamData_81FAEB4:: @ 81FAEB4 - .2byte 0x0000 - .2byte 0x4000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_81FAEBC:: @ 81FAEBC - obj_image_anim_frame 0, 4 - obj_image_anim_frame 4, 4 - obj_image_anim_frame 8, 4 - obj_image_anim_end - - .align 2 -gSpriteAnim_81FAECC:: @ 81FAECC - obj_image_anim_frame 0, 4, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 4, 4, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 8, 4, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_81FAEDC:: @ 81FAEDC - obj_image_anim_frame 0, 4, OBJ_IMAGE_ANIM_V_FLIP - obj_image_anim_frame 4, 4, OBJ_IMAGE_ANIM_V_FLIP - obj_image_anim_frame 8, 4, OBJ_IMAGE_ANIM_V_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_81FAEEC:: @ 81FAEEC - obj_image_anim_frame 0, 4, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 4, 4, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 8, 4, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnimTable_81FAEFC:: @ 81FAEFC - .4byte gSpriteAnim_81FAEBC - .4byte gSpriteAnim_81FAECC - .4byte gSpriteAnim_81FAEDC - .4byte gSpriteAnim_81FAEEC - - .align 2 -gSpriteTemplate_81FAF0C:: @ 81FAF0C - spr_template 55019, 55019, gOamData_81FAEB4, gSpriteAnimTable_81FAEFC, NULL, gDummySpriteAffineAnimTable, sub_80463CC - - .align 2 -gUnknown_081FAF24:: @ 81FAF24 - obj_tiles gEnemyMonShadow_Gfx, 128, 0xD759 - - .align 2 -gOamData_81FAF2C:: @ 81FAF2C - .2byte 0x4000 - .2byte 0x4000 - .2byte 0x0C00 - - .align 2 -gSpriteTemplate_81FAF34:: @ 81FAF34 - spr_template 55129, 55039, gOamData_81FAF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8032978 - - .align 2 -gUnknown_081FAF4C:: @ 81FAF4C - .4byte 0x02008000 - .4byte 0x0200a000 - .4byte 0x0200c000 - .4byte 0x0200e000 - - .align 2 -gOpponentBufferCommands:: @ 81FAF5C - .4byte OpponentHandleGetAttributes - .4byte dp01t_01_2_read_pokmon_data_slice - .4byte OpponentHandleSetAttributes - .4byte sub_8034744 - .4byte OpponentHandleLoadPokeSprite - .4byte OpponentHandleSendOutPoke - .4byte OpponentHandleReturnPokeToBall - .4byte OpponentHandleTrainerThrow - .4byte OpponentHandleTrainerSlide - .4byte OpponentHandleTrainerSlideBack - .4byte sub_8035030 - .4byte sub_80350D4 - .4byte sub_80350E0 - .4byte OpponentHandleBallThrow - .4byte OpponentHandlePause - .4byte OpponentHandleMoveAnimation - .4byte OpponentHandlePrintString - .4byte OpponentHandlePrintStringPlayerOnly - .4byte sub_803540C - .4byte sub_803541C - .4byte sub_8035428 - .4byte sub_8035590 - .4byte sub_80355C0 - .4byte sub_80356C0 - .4byte OpponentHandleHealthBarUpdate - .4byte OpponentHandleExpBarUpdate - .4byte OpponentHandleStatusIconUpdate - .4byte OpponentHandleStatusAnimation - .4byte OpponentHandleStatusXor - .4byte sub_80358B0 - .4byte OpponentHandleDMATransfer - .4byte sub_80358C8 - .4byte sub_80358D4 - .4byte sub_80358E0 - .4byte sub_80358EC - .4byte sub_80358F8 - .4byte sub_8035904 - .4byte sub_8035910 - .4byte sub_803592C - .4byte sub_8035964 - .4byte sub_803597C - .4byte OpponentHandleHitAnimation - .4byte sub_8035A14 - .4byte OpponentHandleEffectivenessSound - .4byte sub_8035A64 - .4byte OpponentHandleFaintingCry - .4byte dp01t_2E_7_battle_intro - .4byte sub_8035B04 - .4byte dp01t_30_7_0803D67C - .4byte sub_8035E6C - .4byte sub_8035EB8 - .4byte OpponentHandleSpriteInvisibility - .4byte OpponentHandleBattleAnimation - .4byte OpponentHandleLinkStandbyMsg - .4byte OpponentHandleResetActionMoveSelection - .4byte sub_8035FA4 - .4byte nullsub_46 - -@ unreferenced unknown values - .byte 0xB0, 0xB0, 0xC8, 0x98, 0x28, 0x28, 0x28, 0x20 - - .align 2 -gLinkOpponentBufferCommands:: @ 81FB048 - .4byte LinkOpponentHandleGetAttributes - .4byte sub_803889C - .4byte sub_80388A8 - .4byte sub_8039220 - .4byte sub_8039294 - .4byte sub_80393E4 - .4byte sub_80395B4 - .4byte sub_80396D0 - .4byte sub_80398A4 - .4byte sub_80398B0 - .4byte sub_803995C - .4byte sub_8039A00 - .4byte sub_8039A0C - .4byte sub_8039A18 - .4byte sub_8039A24 - .4byte sub_8039A30 - .4byte sub_8039CC8 - .4byte sub_8039D2C - .4byte sub_8039D38 - .4byte sub_8039D44 - .4byte sub_8039D50 - .4byte sub_8039D5C - .4byte sub_8039D68 - .4byte sub_8039D74 - .4byte sub_8039D80 - .4byte sub_8039E70 - .4byte sub_8039E7C - .4byte sub_8039EF0 - .4byte sub_8039F58 - .4byte sub_8039F64 - .4byte sub_8039F70 - .4byte sub_8039F7C - .4byte sub_8039F88 - .4byte sub_8039F94 - .4byte sub_8039FA0 - .4byte sub_8039FAC - .4byte sub_8039FB8 - .4byte sub_8039FC4 - .4byte sub_8039FE0 - .4byte sub_803A018 - .4byte sub_803A030 - .4byte dp01t_29_4_blink - .4byte sub_803A0C8 - .4byte sub_803A0D4 - .4byte sub_803A118 - .4byte sub_803A148 - .4byte dp01t_2E_4_battle_intro - .4byte sub_803A1B8 - .4byte sub_803A3DC - .4byte sub_803A520 - .4byte sub_803A56C - .4byte sub_803A578 - .4byte bx_exec_buffer_A_ch0_tbl4 - .4byte sub_803A640 - .4byte sub_803A64C - .4byte sub_803A658 - .4byte nullsub_48 - -@ 81FB12C - .include "data/battle_moves.inc" - - .align 2 -gUnknown_081FC1D0:: @ 81FC1D0 - .2byte 0x34, 0x10, 0x101 - .space 2 - - .2byte -1, -1, -1 - .space 2 diff --git a/data/field_tasks.s b/data/field_tasks.s deleted file mode 100644 index 122e089e6..000000000 --- a/data/field_tasks.s +++ /dev/null @@ -1,66 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 -gUnknown_08376364:: @ 8376364 - .4byte DummyPerStepCallback - .4byte PerStepCallback_8069F64 - .4byte PerStepCallback_8069AA0 - .4byte PerStepCallback_8069864 - .4byte PerStepCallback_8069DD4 - .4byte EndTruckSequence - .4byte sub_80BCF1C - .4byte PerStepCallback_806A07C - -gUnknown_08376384:: @ 8376384 - .byte 0, 0,0x59, 2, 0, 1,0x61, 2 - .byte 0, -1,0x59, 2, 0, 0,0x61, 2 - .byte 0, 0,0x52, 2, 1, 0,0x53, 2 - .byte -1, 0,0x52, 2, 0, 0,0x53, 2 - -gUnknown_083763A4:: @ 83763A4 - .byte 0, 0,0x5A, 2, 0, 1,0x62, 2 - .byte 0, -1,0x5A, 2, 0, 0,0x62, 2 - .byte 0, 0,0x54, 2, 1, 0,0x55, 2 - .byte -1, 0,0x54, 2, 0, 0,0x55, 2 - -gUnknown_083763C4:: @ 83763C4 - .byte 0, 0,0x58, 2, 0, 1,0x60, 2 - .byte 0, -1,0x58, 2, 0, 0,0x60, 2 - .byte 0, 0,0x50, 2, 1, 0,0x51, 2 - .byte -1, 0,0x50, 2, 0, 0,0x51, 2 - - .align 1 -gUnknown_083763E4:: @ 83763E4 - .2byte 0 - .2byte 0 - .2byte 0 - .2byte 0 - .2byte 0 - .2byte 0 - .2byte 0x4001 - .2byte 0x4002 - .2byte 0x4003 - .2byte 0x4004 - .2byte 0 - .2byte 0 - .2byte 0x4005 - .2byte 0x4006 - .2byte 0x4007 - .2byte 0 - .2byte 0 - .2byte 0x4008 - .2byte 0x4009 - .2byte 0x400A - .2byte 0 - .2byte 0 - .2byte 0 - .2byte 0 - .2byte 0 - .2byte 0 - - .align 1 -gUnknown_08376418:: @ 8376418 - .2byte 0xE8, 0xEB, 0xEA, 0xE9 diff --git a/data/graphics/berries/graphics_table.inc b/data/graphics/berries/graphics_table.inc deleted file mode 100644 index 78af1c48b..000000000 --- a/data/graphics/berries/graphics_table.inc +++ /dev/null @@ -1,45 +0,0 @@ - .align 2 -gBerryGraphicsTable:: @ 83C1E1C - .4byte gBerryPic_Cheri, gBerryPalette_Cheri - .4byte gBerryPic_Chesto, gBerryPalette_Chesto - .4byte gBerryPic_Pecha, gBerryPalette_Pecha - .4byte gBerryPic_Rawst, gBerryPalette_Rawst - .4byte gBerryPic_Aspear, gBerryPalette_Aspear - .4byte gBerryPic_Leppa, gBerryPalette_Leppa - .4byte gBerryPic_Oran, gBerryPalette_Oran - .4byte gBerryPic_Persim, gBerryPalette_Persim - .4byte gBerryPic_Lum, gBerryPalette_Lum - .4byte gBerryPic_Sitrus, gBerryPalette_Sitrus - .4byte gBerryPic_Figy, gBerryPalette_Figy - .4byte gBerryPic_Wiki, gBerryPalette_Wiki - .4byte gBerryPic_Mago, gBerryPalette_Mago - .4byte gBerryPic_Aguav, gBerryPalette_Aguav - .4byte gBerryPic_Iapapa, gBerryPalette_Iapapa - .4byte gBerryPic_Razz, gBerryPalette_Razz - .4byte gBerryPic_Bluk, gBerryPalette_Bluk - .4byte gBerryPic_Nanab, gBerryPalette_Nanab - .4byte gBerryPic_Wepear, gBerryPalette_Wepear - .4byte gBerryPic_Pinap, gBerryPalette_Pinap - .4byte gBerryPic_Pomeg, gBerryPalette_Pomeg - .4byte gBerryPic_Kelpsy, gBerryPalette_Kelpsy - .4byte gBerryPic_Qualot, gBerryPalette_Qualot - .4byte gBerryPic_Hondew, gBerryPalette_Hondew - .4byte gBerryPic_Grepa, gBerryPalette_Grepa - .4byte gBerryPic_Tamato, gBerryPalette_Tamato - .4byte gBerryPic_Cornn, gBerryPalette_Cornn - .4byte gBerryPic_Magost, gBerryPalette_Magost - .4byte gBerryPic_Rabuta, gBerryPalette_Rabuta - .4byte gBerryPic_Nomel, gBerryPalette_Nomel - .4byte gBerryPic_Spelon, gBerryPalette_Spelon - .4byte gBerryPic_Pamtre, gBerryPalette_Pamtre - .4byte gBerryPic_Watmel, gBerryPalette_Watmel - .4byte gBerryPic_Durin, gBerryPalette_Durin - .4byte gBerryPic_Belue, gBerryPalette_Belue - .4byte gBerryPic_Liechi, gBerryPalette_Liechi - .4byte gBerryPic_Ganlon, gBerryPalette_Ganlon - .4byte gBerryPic_Salac, gBerryPalette_Salac - .4byte gBerryPic_Petaya, gBerryPalette_Petaya - .4byte gBerryPic_Apicot, gBerryPalette_Apicot - .4byte gBerryPic_Lansat, gBerryPalette_Lansat - .4byte gBerryPic_Starf, gBerryPalette_Starf - .4byte gBerryPic_Enigma, gBerryPalette_Enigma diff --git a/data/item_menu.s b/data/item_menu.s deleted file mode 100644 index f66961b46..000000000 --- a/data/item_menu.s +++ /dev/null @@ -1,289 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - -@ pointer to items, capacity - .align 2 -gBagPockets:: @ 83C1618 - .4byte gSaveBlock1 + 0x560, 20 @ Items - .4byte gSaveBlock1 + 0x600, 16 @ Poké Balls - .4byte gSaveBlock1 + 0x640, 64 @ TMs & HMs - .4byte gSaveBlock1 + 0x740, 46 @ Berries - .4byte gSaveBlock1 + 0x5B0, 20 @ Key Items - - .align 2 -gUnknown_083C1640:: @ 83C1640 - .4byte OtherText_Use, sub_80A5B78 - .4byte OtherText_Toss, sub_80A5F14 - .4byte gOtherText_CancelNoTerminator, sub_80A5F80 - .4byte OtherText_Register, sub_80A5FAC - .4byte OtherText_Use, ItemMenu_UseInBattle - .4byte gOtherText_CancelNoTerminator, sub_80A7124 - .4byte OtherText_Give2, ItemMenu_Give - .4byte OtherText_CheckTag, sub_80A6178 - .4byte gOtherText_CancelWithTerminator, 0x0 - .4byte OtherText_Confirm, sub_80A69E0 - -@ 6-byte entries; format of entry is unknown -gUnknown_083C1690:: @ 83C1690 - .byte 0, 1, 6, 2, 0, 0 - .byte 6, 1, 8, 2, 0, 0 - .byte 0, 8, 6, 2, 0, 0 - .byte 7, 0, 1, 8, 6, 2 - .byte 0, 8, 3, 2, 0, 0 - -gUnknown_083C16AE:: @ 83C16AE - .byte 6, 2 - .byte 6, 2 - .byte 6, 2 - .byte 6, 2 - .byte 2, 0 - -gUnknown_083C16B8:: @ 83C16B8 - .byte 7, 9, 8, 2 - - .align 2 -gUnknown_083C16BC:: @ 83C16BC - .4byte sub_80A59D0 - .4byte sub_80A599C - .4byte sub_80A7024 - .4byte sub_80A70D8 - .4byte sub_80A6214 - .4byte sub_80A61EC - .4byte sub_80A6354 - .4byte sub_80A631C - .4byte sub_80A6918 - .4byte sub_80A68F0 - .4byte sub_80A59D0 - .4byte sub_80A69B8 - .4byte sub_80A6C6C - .4byte sub_80A6A4C - - .align 2 -gUnknown_083C16F4:: @ 83C16F4 - .4byte sub_80A5E60 - .4byte sub_80A5E90 - - .align 2 -gUnknown_083C16FC:: @ 83C16FC - .4byte sub_80A65AC - .4byte sub_80A6618 - - .align 1 -gUnknown_083C1704:: @ 83C1704 - .2byte 0x41EE, 0x7FFF - -gUnknown_083C1708:: @ 83C1708 - .byte 4, 5 - -gUnknown_083C170A:: @ 83C170A - .byte 5, 0 - - .align 2 -gPalette_83C170C:: @ 83C170C - .incbin "graphics/unknown/83C170C.gbapal" - - .align 2 -gSpriteImage_83C172C:: @ 83C172C - .incbin "graphics/unknown_sprites/83C172C.4bpp" - - .align 2 - .incbin "graphics/unused/cherry.4bpp" - - .align 2 - .incbin "graphics/unused/cherry.gbapal" - - .align 2 -gOamData_83C1C4C:: @ 83C1C4C - .2byte 0x0000 - .2byte 0xC000 - .2byte 0x7800 - - .align 2 -gSpriteAnim_83C1C54:: @ 83C1C54 - obj_image_anim_frame 0, 4 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C1C5C:: @ 83C1C5C - obj_image_anim_frame 64, 4 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C1C64:: @ 83C1C64 - obj_image_anim_frame 128, 4 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C1C6C:: @ 83C1C6C - obj_image_anim_frame 192, 4 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C1C74:: @ 83C1C74 - obj_image_anim_frame 256, 4 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C1C7C:: @ 83C1C7C - obj_image_anim_frame 320, 4 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83C1C84:: @ 83C1C84 - .4byte gSpriteAnim_83C1C54 - .4byte gSpriteAnim_83C1C5C - .4byte gSpriteAnim_83C1C6C - .4byte gSpriteAnim_83C1C74 - .4byte gSpriteAnim_83C1C7C - .4byte gSpriteAnim_83C1C64 - - .align 2 -gSpriteAffineAnim_83C1C9C:: @ 83C1C9C - obj_rot_scal_anim_frame 0x0, 0x0, -2, 2 - obj_rot_scal_anim_frame 0x0, 0x0, 2, 4 - obj_rot_scal_anim_frame 0x0, 0x0, -2, 4 - obj_rot_scal_anim_frame 0x0, 0x0, 2, 2 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83C1CC4:: @ 83C1CC4 - .4byte gSpriteAffineAnim_83C1C9C - - .align 2 -gUnknown_083C1CC8:: @ 83C1CC8 - obj_tiles gBagMaleTiles, 0x3000, 30000 - - .align 2 -gUnknown_083C1CD0:: @ 83C1CD0 - obj_tiles gBagFemaleTiles, 0x3000, 30000 - - .align 2 -gUnknown_083C1CD8:: @ 83C1CD8 - obj_pal gBagPalette, 30000 - - .align 2 -gSpriteTemplate_83C1CE0:: @ 83C1CE0 - spr_template 30000, 30000, gOamData_83C1C4C, gSpriteAnimTable_83C1C84, NULL, gSpriteAffineAnimTable_83C1CC4, sub_80A7998 - - .align 2 -gOamData_83C1CF8:: @ 83C1CF8 - .2byte 0x0000 - .2byte 0x4800 - .2byte 0x8800 - - .align 2 -gSpriteAffineAnim_83C1D00:: @ 83C1D00 - obj_rot_scal_anim_frame 0x0, 0x0, 8, 32 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83C1D10:: @ 83C1D10 - obj_rot_scal_anim_frame 0x0, 0x0, -8, 32 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83C1D20:: @ 83C1D20 - .4byte gSpriteAffineAnim_83C1D00 - .4byte gSpriteAffineAnim_83C1D10 - - .align 2 -gSpriteImageTable_83C1D28:: @ 83C1D28 - obj_frame_tiles gSpriteImage_83C172C, 0x80 - - .align 2 -gUnknown_083C1D30:: @ 83C1D30 - obj_pal gPalette_83C170C, 8 - - .align 2 -gSpriteTemplate_83C1D38:: @ 83C1D38 - spr_template 0xFFFF, 8, gOamData_83C1CF8, gSpriteAnimTable_83C1C84, gSpriteImageTable_83C1D28, gSpriteAffineAnimTable_83C1D20, sub_80A7B28 - - .align 2 -gOamData_83C1D50:: @ 83C1D50 - .2byte 0x0000 - .2byte 0xC000 - .2byte 0x7400 - - .align 2 -gOamData_83C1D58:: @ 83C1D58 - .2byte 0x0300 - .2byte 0xC000 - .2byte 0x7000 - - .align 2 -gSpriteAnim_83C1D60:: @ 83C1D60 - obj_image_anim_frame 0, 0 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83C1D68:: @ 83C1D68 - .4byte gSpriteAnim_83C1D60 - - .align 2 -gSpriteImageTable_83C1D6C:: @ 83C1D6C - obj_frame_tiles 0x02000000, 0x800 - - .align 2 -gSpriteTemplate_83C1D74:: @ 83C1D74 - spr_template 0xFFFF, 30020, gOamData_83C1D50, gSpriteAnimTable_83C1D68, gSpriteImageTable_83C1D6C, gDummySpriteAffineAnimTable, sub_80A7DC4 - - .align 2 -gSpriteAffineAnim_83C1D8C:: @ 83C1D8C - obj_rot_scal_anim_frame 0xFFFF, 0xFFFF, -3, 96 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 16 - obj_rot_scal_anim_frame 0xFFFE, 0xFFFE, -1, 64 - obj_rot_scal_anim_frame 0xFFF8, 0x0, 0, 16 - obj_rot_scal_anim_frame 0x0, 0xFFF8, 0, 16 - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnim_83C1DC4:: @ 83C1DC4 - obj_rot_scal_anim_frame 0xFFFF, 0xFFFF, 3, 96 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 16 - obj_rot_scal_anim_frame 0xFFFE, 0xFFFE, 1, 64 - obj_rot_scal_anim_frame 0xFFF8, 0x0, 0, 16 - obj_rot_scal_anim_frame 0x0, 0xFFF8, 0, 16 - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnimTable_83C1DFC:: @ 83C1DFC - .4byte gSpriteAffineAnim_83C1D8C - .4byte gSpriteAffineAnim_83C1DC4 - - .align 2 -gSpriteTemplate_83C1E04:: @ 83C1E04 - spr_template 0xFFFF, 30020, gOamData_83C1D58, gSpriteAnimTable_83C1D68, gSpriteImageTable_83C1D6C, gSpriteAffineAnimTable_83C1DFC, SpriteCallbackDummy - -@ 83C1E1C - .include "data/graphics/berries/graphics_table.inc" - - .align 2 -gUnknown_083C1F74:: @ 83C1F74 - obj_tiles gBerryCheckCircle_Gfx, 2048, 0x2710 - - .align 2 -gUnknown_083C1F7C:: @ 83C1F7C - obj_pal gBerryCheck_Pal, 0x2710 - - .align 2 -gOamData_83C1F84:: @ 83C1F84 - .2byte 0x0000 - .2byte 0x8000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_83C1F8C:: @ 83C1F8C - obj_image_anim_frame 0, 0 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83C1F94:: @ 83C1F94 - .4byte gSpriteAnim_83C1F8C - - .align 2 -gSpriteTemplate_83C1F98:: @ 83C1F98 - spr_template 10000, 10000, gOamData_83C1F84, gSpriteAnimTable_83C1F94, NULL, gDummySpriteAffineAnimTable, sub_80A7DC4 diff --git a/data/pokeblock.s b/data/pokeblock.s deleted file mode 100644 index 6d0b1890d..000000000 --- a/data/pokeblock.s +++ /dev/null @@ -1,125 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - -gUnknown_083F7E28:: @ 83F7E28 - .byte 0, 0, 0, 0, 0 - .byte 1, 0, 0, 0, -1 - .byte 1, 0, -1, 0, 0 - .byte 1, -1, 0, 0, 0 - .byte 1, 0, 0, -1, 0 - .byte -1, 0, 0, 0, 1 - .byte 0, 0, 0, 0, 0 - .byte 0, 0, -1, 0, 1 - .byte 0, -1, 0, 0, 1 - .byte 0, 0, 0, -1, 1 - .byte -1, 0, 1, 0, 0 - .byte 0, 0, 1, 0, -1 - .byte 0, 0, 0, 0, 0 - .byte 0, -1, 1, 0, 0 - .byte 0, 0, 1, -1, 0 - .byte -1, 1, 0, 0, 0 - .byte 0, 1, 0, 0, -1 - .byte 0, 1, -1, 0, 0 - .byte 0, 0, 0, 0, 0 - .byte 0, 1, 0, -1, 0 - .byte -1, 0, 0, 1, 0 - .byte 0, 0, 0, 1, -1 - .byte 0, 0, -1, 1, 0 - .byte 0, -1, 0, 1, 0 - .byte 0, 0, 0, 0, 0 - - .align 2 -gUnknown_083F7EA8:: @ 83F7EA8 - .4byte sub_80A5B40, c2_exit_to_overworld_2_switch - .4byte sub_802E424, c2_exit_to_overworld_2_switch - - .align 2 -gPokeblockNames:: @ 83F7EB8 - .4byte NULL - .4byte ContestStatsText_RedPokeBlock - .4byte ContestStatsText_BluePokeBlock - .4byte ContestStatsText_PinkPokeBlock - .4byte ContestStatsText_GreenPokeBlock - .4byte ContestStatsText_YellowPokeBlock - .4byte ContestStatsText_PurplePokeBlock - .4byte ContestStatsText_IndigoPokeBlock - .4byte ContestStatsText_BrownPokeBlock - .4byte ContestStatsText_LiteBluePokeBlock - .4byte ContestStatsText_OlivePokeBlock - .4byte ContestStatsText_GrayPokeBlock - .4byte ContestStatsText_BlackPokeBlock - .4byte ContestStatsText_WhitePokeBlock - .4byte ContestStatsText_GoldPokeBlock - - .align 2 -gUnknown_083F7EF4:: @ 83F7EF4 - .4byte OtherText_Use, sub_810C508 - .4byte OtherText_Toss, sub_810C5C0 - .4byte gOtherText_CancelNoTerminator, sub_810C748 - .4byte OtherText_Use, sub_810C788 - .4byte OtherText_Use, sub_810C854 - -gUnknown_083F7F1C:: @ 83F7F1C - .byte 0, 1, 2 - -gUnknown_083F7F1F:: @ 83F7F1F - .byte 3, 2 - -gUnknown_083F7F21:: @ 83F7F21 - .byte 4, 2 - - .align 2 -gUnknown_083F7F24:: @ 83F7F24 - .4byte sub_810C610 - .4byte sub_810C668 - -@ unreferenced - .byte 0x16, 0x17, 0x18, 0x21, 0x2F - - .align 2 -gOamData_83F7F34:: @ 83F7F34 - .2byte 0x0000 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gSpriteAnim_83F7F3C:: @ 83F7F3C - obj_image_anim_frame 0, 0 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83F7F44:: @ 83F7F44 - .4byte gSpriteAnim_83F7F3C - - .align 2 -gSpriteAffineAnim_83F7F48:: @ 83F7F48 - obj_rot_scal_anim_frame 0x0, 0x0, -2, 2 - obj_rot_scal_anim_frame 0x0, 0x0, 2, 4 - obj_rot_scal_anim_frame 0x0, 0x0, -2, 4 - obj_rot_scal_anim_frame 0x0, 0x0, 2, 2 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83F7F70:: @ 83F7F70 - .4byte gSpriteAffineAnim_83F7F48 - - .align 2 -gUnknown_083F7F74:: @ 83F7F74 - obj_tiles gMenuPokeblockDevice_Gfx, 2048, 0x39d0 - - .align 2 -gUnknown_083F7F7C:: @ 83F7F7C - obj_pal gMenuPokeblockDevice_Pal, 0x39d0 - - .align 2 -gSpriteTemplate_83F7F84:: @ 83F7F84 - spr_template 14800, 14800, gOamData_83F7F34, gSpriteAnimTable_83F7F44, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_083F7F9C:: @ 83F7F9C - .byte 1, 20, 0, 0, 0, 0, 20, 0 - .byte 2, 0, 20, 0, 0, 0, 20, 0 - .byte 3, 0, 0, 20, 0, 0, 20, 0 - .byte 4, 0, 0, 0, 20, 0, 20, 0 - .byte 5, 0, 0, 0, 0, 20, 20, 0 diff --git a/data/rotating_gate.s b/data/rotating_gate.s deleted file mode 100644 index 06cc64e51..000000000 --- a/data/rotating_gate.s +++ /dev/null @@ -1,311 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 -gUnknown_083D2964:: @ 83D2964 - .byte 12, 0, 5, 0, 3, 0, 0, 0 - .byte 14, 0, 7, 0, 3, 3, 0, 0 - .byte 16, 0, 4, 0, 5, 1, 0, 0 - .byte 15, 0, 14, 0, 1, 0, 0, 0 - .byte 18, 0, 13, 0, 4, 2, 0, 0 - .byte 8, 0, 20, 0, 4, 2, 0, 0 - .byte 16, 0, 20, 0, 7, 1, 0, 0 - - .align 2 -gUnknown_083D299C:: @ 83D299C - .byte 13, 0, 3, 0, 4, 3, 0, 0 - .byte 12, 0, 6, 0, 4, 2, 0, 0 - .byte 3, 0, 6, 0, 4, 2, 0, 0 - .byte 3, 0, 9, 0, 5, 3, 0, 0 - .byte 8, 0, 8, 0, 0, 1, 0, 0 - .byte 2, 0, 12, 0, 6, 2, 0, 0 - .byte 9, 0, 13, 0, 1, 0, 0, 0 - .byte 3, 0, 14, 0, 2, 1, 0, 0 - .byte 9, 0, 15, 0, 3, 2, 0, 0 - .byte 3, 0, 18, 0, 5, 2, 0, 0 - .byte 2, 0, 19, 0, 4, 0, 0, 0 - .byte 5, 0, 21, 0, 0, 0, 0, 0 - .byte 9, 0, 19, 0, 3, 3, 0, 0 - .byte 12, 0, 20, 0, 4, 1, 0, 0 - - .align 2 -RotatingGateTiles_1: @ 83D2A0C - .incbin "graphics/rotating_gates/1.4bpp" - - .align 2 -RotatingGateTiles_2: @ 83D320C - .incbin "graphics/rotating_gates/2.4bpp" - - .align 2 -RotatingGateTiles_3: @ 83D3A0C - .incbin "graphics/rotating_gates/3.4bpp" - - .align 2 -RotatingGateTiles_5: @ 83D420C - .incbin "graphics/rotating_gates/5.4bpp" - - .align 2 -RotatingGateTiles_6: @ 83D4A0C - .incbin "graphics/rotating_gates/6.4bpp" - - .align 2 -RotatingGateTiles_7: @ 83D520C - .incbin "graphics/rotating_gates/7.4bpp" - - .align 2 -RotatingGateTiles_0: @ 83D5A0C - .incbin "graphics/rotating_gates/0.4bpp" - - .align 2 -RotatingGateTiles_4: @ 83D5C0C - .incbin "graphics/rotating_gates/4.4bpp" - - .align 2 -gOamData_83D5E0C:: @ 83D5E0C - .2byte 0x0100 - .2byte 0xC000 - .2byte 0x5800 - - .align 2 -gOamData_83D5E14:: @ 83D5E14 - .2byte 0x0100 - .2byte 0x8000 - .2byte 0x5800 - - .align 2 -gRotatingGatesGraphicsTable:: @ 83D5E1C - obj_tiles RotatingGateTiles_0, 0x200, 0x1300 - obj_tiles RotatingGateTiles_1, 0x800, 0x1301 - obj_tiles RotatingGateTiles_2, 0x800, 0x1302 - obj_tiles RotatingGateTiles_3, 0x800, 0x1303 - obj_tiles RotatingGateTiles_4, 0x200, 0x1304 - obj_tiles RotatingGateTiles_5, 0x800, 0x1305 - obj_tiles RotatingGateTiles_6, 0x800, 0x1306 - obj_tiles RotatingGateTiles_7, 0x800, 0x1307 - null_obj_tiles - - .align 2 -gSpriteAnim_83D5E64:: @ 83D5E64 - obj_image_anim_frame 0, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D5E6C:: @ 83D5E6C - obj_image_anim_frame 0, 0 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D5E74:: @ 83D5E74 - .4byte gSpriteAnim_83D5E64 - - .align 2 -gSpriteAnimTable_83D5E78:: @ 83D5E78 - .4byte gSpriteAnim_83D5E6C - - .align 2 -gSpriteAffineAnim_83D5E7C:: @ 83D5E7C - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnim_83D5E8C:: @ 83D5E8C - obj_rot_scal_anim_frame 0x100, 0x100, -64, 0 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnim_83D5E9C:: @ 83D5E9C - obj_rot_scal_anim_frame 0x100, 0x100, -128, 0 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnim_83D5EAC:: @ 83D5EAC - obj_rot_scal_anim_frame 0x100, 0x100, 64, 0 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnim_83D5EBC:: @ 83D5EBC - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_frame 0x0, 0x0, -4, 16 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D5ED4:: @ 83D5ED4 - obj_rot_scal_anim_frame 0x100, 0x100, -64, 0 - obj_rot_scal_anim_frame 0x0, 0x0, -4, 16 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D5EEC:: @ 83D5EEC - obj_rot_scal_anim_frame 0x100, 0x100, -128, 0 - obj_rot_scal_anim_frame 0x0, 0x0, -4, 16 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D5F04:: @ 83D5F04 - obj_rot_scal_anim_frame 0x100, 0x100, 64, 0 - obj_rot_scal_anim_frame 0x0, 0x0, -4, 16 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D5F1C:: @ 83D5F1C - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_frame 0x0, 0x0, 4, 16 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D5F34:: @ 83D5F34 - obj_rot_scal_anim_frame 0x100, 0x100, 64, 0 - obj_rot_scal_anim_frame 0x0, 0x0, 4, 16 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D5F4C:: @ 83D5F4C - obj_rot_scal_anim_frame 0x100, 0x100, -128, 0 - obj_rot_scal_anim_frame 0x0, 0x0, 4, 16 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D5F64:: @ 83D5F64 - obj_rot_scal_anim_frame 0x100, 0x100, -64, 0 - obj_rot_scal_anim_frame 0x0, 0x0, 4, 16 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D5F7C:: @ 83D5F7C - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_frame 0x0, 0x0, -8, 8 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D5F94:: @ 83D5F94 - obj_rot_scal_anim_frame 0x100, 0x100, -64, 0 - obj_rot_scal_anim_frame 0x0, 0x0, -8, 8 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D5FAC:: @ 83D5FAC - obj_rot_scal_anim_frame 0x100, 0x100, -128, 0 - obj_rot_scal_anim_frame 0x0, 0x0, -8, 8 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D5FC4:: @ 83D5FC4 - obj_rot_scal_anim_frame 0x100, 0x100, 64, 0 - obj_rot_scal_anim_frame 0x0, 0x0, -8, 8 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D5FDC:: @ 83D5FDC - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_frame 0x0, 0x0, 8, 8 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D5FF4:: @ 83D5FF4 - obj_rot_scal_anim_frame 0x100, 0x100, 64, 0 - obj_rot_scal_anim_frame 0x0, 0x0, 8, 8 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D600C:: @ 83D600C - obj_rot_scal_anim_frame 0x100, 0x100, -128, 0 - obj_rot_scal_anim_frame 0x0, 0x0, 8, 8 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D6024:: @ 83D6024 - obj_rot_scal_anim_frame 0x100, 0x100, -64, 0 - obj_rot_scal_anim_frame 0x0, 0x0, 8, 8 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83D603C:: @ 83D603C - .4byte gSpriteAffineAnim_83D5E7C - .4byte gSpriteAffineAnim_83D5E8C - .4byte gSpriteAffineAnim_83D5E9C - .4byte gSpriteAffineAnim_83D5EAC - .4byte gSpriteAffineAnim_83D5F1C - .4byte gSpriteAffineAnim_83D5F64 - .4byte gSpriteAffineAnim_83D5F4C - .4byte gSpriteAffineAnim_83D5F34 - .4byte gSpriteAffineAnim_83D5EBC - .4byte gSpriteAffineAnim_83D5ED4 - .4byte gSpriteAffineAnim_83D5EEC - .4byte gSpriteAffineAnim_83D5F04 - .4byte gSpriteAffineAnim_83D5FDC - .4byte gSpriteAffineAnim_83D6024 - .4byte gSpriteAffineAnim_83D600C - .4byte gSpriteAffineAnim_83D5FF4 - .4byte gSpriteAffineAnim_83D5F7C - .4byte gSpriteAffineAnim_83D5F94 - .4byte gSpriteAffineAnim_83D5FAC - .4byte gSpriteAffineAnim_83D5FC4 - - .align 2 -gSpriteTemplate_83D608C:: @ 83D608C - spr_template 4864, 0xFFFF, gOamData_83D5E0C, gSpriteAnimTable_83D5E74, NULL, gSpriteAffineAnimTable_83D603C, sub_80C7C94 - - .align 2 -gSpriteTemplate_83D60A4:: @ 83D60A4 - spr_template 4864, 0xFFFF, gOamData_83D5E14, gSpriteAnimTable_83D5E78, NULL, gSpriteAffineAnimTable_83D603C, sub_80C7C94 - -gUnknown_083D60BC:: @ 83D60BC - .byte 255, 255, 255, 255 - .byte 39, 38, 18, 19 - .byte 255, 255, 255, 255 - .byte 255, 255, 255, 255 - -gUnknown_083D60CC:: @ 83D60CC - .byte 255, 255, 255, 255 - .byte 255, 255, 255, 255 - .byte 23, 22, 34, 35 - .byte 255, 255, 255, 255 - -gUnknown_083D60DC:: @ 83D60DC - .byte 255, 17, 255, 255 - .byte 255, 16, 255, 255 - .byte 255, 36, 255, 255 - .byte 255, 37, 255, 255 - -gUnknown_083D60EC:: @ 83D60EC - .byte 255, 255, 33, 255 - .byte 255, 255, 32, 255 - .byte 255, 255, 20, 255 - .byte 255, 255, 21, 255 - -gUnknown_083D60FC:: @ 83D60FC - .byte 0, -1, 0, 0 - .byte 1, -2, 0, 0 - .byte 0, 0, 0, 0 - .byte 1, 0, 0, 0 - .byte -1, 0, 0, 0 - .byte -1, 1, 0, 0 - .byte -1, -1, 0, 0 - .byte -2, -1, 0, 0 - -gUnknown_083D611C:: @ 83D611C - .byte -1, -1, 0, 0 - .byte -1, -2, 0, 0 - .byte 0, -1, 0, 0 - .byte 1, -1, 0, 0 - .byte 0, 0, 0, 0 - .byte 0, 1, 0, 0 - .byte -1, 0, 0, 0 - .byte -2, 0, 0, 0 - - .align 2 -gUnknown_083D613C:: @ 83D613C - .byte 1, 0, 1, 0, 0, 0, 0, 0 - .byte 1, 1, 1, 0, 0, 0, 0, 0 - .byte 1, 0, 1, 1, 0, 0, 0, 0 - .byte 1, 1, 1, 1, 0, 0, 0, 0 - .byte 1, 0, 1, 0, 1, 0, 0, 0 - .byte 1, 1, 1, 0, 1, 0, 0, 0 - .byte 1, 0, 1, 1, 1, 0, 0, 0 - .byte 1, 0, 1, 0, 1, 1, 0, 0 - .byte 1, 1, 1, 1, 1, 0, 0, 0 - .byte 1, 1, 1, 0, 1, 1, 0, 0 - .byte 1, 0, 1, 1, 1, 1, 0, 0 - .byte 1, 1, 1, 1, 1, 1, 0, 0 diff --git a/data/sound_check_menu.s b/data/sound_check_menu.s deleted file mode 100644 index a91f55d04..000000000 --- a/data/sound_check_menu.s +++ /dev/null @@ -1,121 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 @ object file boundary? - -gDebugText_SoundCheckJap:: @ 83D02C8 - .string "サウンドチェック$" @ Sound Check - -gDebugText_BGM:: @ 83D02D1 - .string "BGM$" - -gDebugText_SE:: @ 83D02D5 - .string "SE $" - -gUnknown_083D02D9:: @ 83D02D9 - .string "A‥さいせい B‥おわり$" - -gDebugText_UpDown:: @ 83D02E6 - .string "L‥UP R‥DOWN$" - -gDebugText_DriverTest:: @ 83D02F2 - .string "R‥DRIVER-TEST$" - -gUnknown_083D0300:: @ 83D0300 - .byte 1, 1 - .byte 1, 3 - .byte 1, 5 - .byte 1, 7 - .byte 1, 9 - .byte 1, 11 - .byte 1, 13 - .byte 1, 15 - .byte 1, 17 - -gUnknown_083D0312:: @ 83D0312 - .string "Bぼたんで もどる$" - -gUnknown_083D031C:: @ 83D031C - .string "Aぼたんで さいせい$" - -gDebugText_Voice:: @ 83D0327 - .string "VOICE‥‥‥‥$" - -gDebugText_Volume:: @ 83D0331 - .string "VOLUME‥‥‥$" - -gDebugText_Panpot:: @ 83D033B - .string "PANPOT‥‥‥$" - -gDebugText_Pitch:: @ 83D0345 - .string "PITCH‥‥‥‥$" - -gDebugText_Length:: @ 83D034F - .string "LENGTH‥‥‥$" - -gDebugText_Release:: @ 83D0359 - .string "RELEASE‥‥$" - -gDebugText_Progress:: @ 83D0363 - .string "PROGRESS‥$" - -gDebugText_Chorus:: @ 83D036D - .string "CHORUS‥‥‥$" - -gDebugText_Priority:: @ 83D0377 - .string "PRIORITY‥$" - -gUnknown_083D0381:: @ 83D0381 - .string "さいせいちゆう‥$" @ 再生中 (playing) - -gUnknown_083D038A:: @ 83D038A - .string "はんてん‥‥‥‥$" @ 反転 (reverse) - -gUnknown_083D0393:: @ 83D0393 - .string "すてれお‥‥‥‥$" @ stereo - - .align 2 -gUnknown_083D039C:: @ 83D039C - .4byte 0, 387 - .4byte 0, 127 - .4byte -127, 127 - .4byte -128, 32639 - .4byte 0, 65535 - .4byte 0, 255 - .4byte 0, 65535 - .4byte -64, 63 - -gUnknown_083D03DC:: @ 83D03DC - .string "▶$" - -gUnknown_083D03DE:: @ 83D03DE - .string " $" - - .align 2 -gUnknown_083D03E0:: @ 83D03E0 - .4byte 1 - .4byte 10 - .4byte 100 - .4byte 1000 - .4byte 10000 - .4byte 100000 - -gUnknown_083D03F8:: @ 83D03F8 - .byte 0x3F, 0x00, 0xC0, 0x7F, 0x80 @ stereo panning - -gOtherText_SE:: @ 83D03FD - .string "SE$" - -gOtherText_Pan:: @ 83D0400 - .string "PAN$" - -gOtherText_LR:: @ 83D0404 - .string " LR$" - -gOtherText_RL:: @ 83D0409 - .string " RL$" - -@ 83D040E - .include "data/text/song_names.inc" diff --git a/data/text/song_names.inc b/data/text/song_names.inc deleted file mode 100644 index 29fad36e1..000000000 --- a/data/text/song_names.inc +++ /dev/null @@ -1,1105 +0,0 @@ -BGMName_STOP: - .string "STOP$" -BGMName_TETSUJI: - .string "TETSUJI$" -BGMName_FIELD13: - .string "FIELD13$" -BGMName_KACHI22: - .string "KACHI22$" -BGMName_KACHI2: - .string "KACHI2$" -BGMName_KACHI3: - .string "KACHI3$" -BGMName_KACHI5: - .string "KACHI5$" -BGMName_PCC: - .string "PCC$" -BGMName_NIBI: - .string "NIBI$" -BGMName_SUIKUN: - .string "SUIKUN$" -BGMName_DOORO1: - .string "DOORO1$" -BGMName_DOORO_X1: - .string "DOORO-X1$" -BGMName_DOORO_X3: - .string "DOORO-X3$" -BGMName_MACHI_S2: - .string "MACHI-S2$" -BGMName_MACHI_S4: - .string "MACHI-S4$" -BGMName_GIM: - .string "GIM$" -BGMName_NAMINORI: - .string "NAMINORI$" -BGMName_DAN01: - .string "DAN01$" -BGMName_FANFA1: - .string "FANFA1$" -BGMName_ME_ASA: - .string "ME-ASA$" -BGMName_ME_BACHI: - .string "ME-BACHI$" -BGMName_FANFA4: - .string "FANFA4$" -BGMName_FANFA5: - .string "FANFA5$" -BGMName_ME_WAZA: - .string "ME-WAZA$" -BGMName_BIJYUTU: - .string "BIJYUTU$" -BGMName_DOORO_X4: - .string "DOORO-X4$" -BGMName_FUNE_KAN: - .string "FUNE-KAN$" -BGMName_ME_SHINKA: - .string "ME-SHINKA$" -BGMName_SHINKA: - .string "SHINKA$" -BGMName_ME_WASURE: - .string "ME-WASURE$" -BGMName_SYOUJOEYE: - .string "SYOUJOEYE$" -BGMName_BOYEYE: - .string "BOYEYE$" -BGMName_DAN02: - .string "DAN02$" -BGMName_MACHI_S3: - .string "MACHI-S3$" -BGMName_ODAMAKI: - .string "ODAMAKI$" -BGMName_B_TOWER: - .string "B-TOWER$" -BGMName_SWIMEYE: - .string "SWIMEYE$" -BGMName_DAN03: - .string "DAN03$" -BGMName_ME_KINOMI: - .string "ME-KINOMI$" -BGMName_ME_TAMA: - .string "ME-TAMA$" -BGMName_ME_B_BIG: - .string "ME-B-BIG$" -BGMName_ME_B_SMALL: - .string "ME-B-SMALL$" -BGMName_ME_ZANNEN: - .string "ME-ZANNEN$" -BGMName_BD_TIME: - .string "BD-TIME$" -BGMName_TEST1: - .string "TEST1$" -BGMName_TEST2: - .string "TEST2$" -BGMName_TEST3: - .string "TEST3$" -BGMName_TEST4: - .string "TEST4$" -BGMName_TEST: - .string "TEST$" -BGMName_GOMACHI0: - .string "GOMACHI0$" -BGMName_GOTOWN: - .string "GOTOWN$" -BGMName_POKECEN: - .string "POKECEN$" -BGMName_NEXTROAD: - .string "NEXTROAD$" -BGMName_GRANROAD: - .string "GRANROAD$" -BGMName_CYCLING: - .string "CYCLING$" -BGMName_FRIENDLY: - .string "FRIENDLY$" -BGMName_MISHIRO: - .string "MISHIRO$" -BGMName_TOZAN: - .string "TOZAN$" -BGMName_GIRLEYE: - .string "GIRLEYE$" -BGMName_MINAMO: - .string "MINAMO$" -BGMName_ASHROAD: - .string "ASHROAD$" -BGMName_EVENT0: - .string "EVENT0$" -BGMName_DEEPDEEP: - .string "DEEPDEEP$" -BGMName_KACHI1: - .string "KACHI1$" -BGMName_TITLE3: - .string "TITLE3$" -BGMName_DEMO1: - .string "DEMO1$" -BGMName_GIRL_SUP: - .string "GIRL-SUP$" -BGMName_HAGESHII: - .string "HAGESHII$" -BGMName_KAKKOII: - .string "KAKKOII$" -BGMName_KAZANBAI: - .string "KAZANBAI$" -BGMName_AQA_0: - .string "AQA-0$" -BGMName_TSURETEK: - .string "TSURETEK$" -BGMName_BOY_SUP: - .string "BOY-SUP$" -BGMName_RAINBOW: - .string "RAINBOW$" -BGMName_AYASII: - .string "AYASII$" -BGMName_KACHI4: - .string "KACHI4$" -BGMName_ROPEWAY: - .string "ROPEWAY$" -BGMName_CASINO: - .string "CASINO$" -BGMName_HIGHTOWN: - .string "HIGHTOWN$" -BGMName_SAFARI: - .string "SAFARI$" -BGMName_C_ROAD: - .string "C-ROAD$" -BGMName_AJITO: - .string "AJITO$" -BGMName_M_BOAT: - .string "M-BOAT$" -BGMName_M_DUNGON: - .string "M-DUNGON$" -BGMName_FINECITY: - .string "FINECITY$" -BGMName_MACHUPI: - .string "MACHUPI$" -BGMName_P_SCHOOL: - .string "P-SCHOOL$" -BGMName_DENDOU: - .string "DENDOU$" -BGMName_TONEKUSA: - .string "TONEKUSA$" -BGMName_MABOROSI: - .string "MABOROSI$" -BGMName_CON_FAN: - .string "CON-FAN$" -BGMName_CONTEST0: - .string "CONTEST0$" -BGMName_MGM0: - .string "MGM0$" -BGMName_T_BATTLE: - .string "T-BATTLE$" -BGMName_OOAME: - .string "OOAME$" -BGMName_HIDERI: - .string "HIDERI$" -BGMName_RUNECITY: - .string "RUNECITY$" -BGMName_CON_K: - .string "CON-K$" -BGMName_EIKOU_R: - .string "EIKOU-R$" -BGMName_KARAKURI: - .string "KARAKURI$" -BGMName_HUTAGO: - .string "HUTAGO$" -BGMName_SITENNOU: - .string "SITENNOU$" -BGMName_YAMA_EYE: - .string "YAMA-EYE$" -BGMName_CONLOBBY: - .string "CONLOBBY$" -BGMName_INTER_V: - .string "INTER-V$" -BGMName_DAIGO: - .string "DAIGO$" -BGMName_THANKFOR: - .string "THANKFOR$" -BGMName_END: - .string "END$" -BGMName_BATTLE27: - .string "BATTLE27$" -BGMName_BATTLE31: - .string "BATTLE31$" -BGMName_BATTLE20: - .string "BATTLE20$" -BGMName_BATTLE32: - .string "BATTLE32$" -BGMName_BATTLE33: - .string "BATTLE33$" -BGMName_BATTLE36: - .string "BATTLE36$" -BGMName_BATTLE34: - .string "BATTLE34$" -BGMName_BATTLE35: - .string "BATTLE35$" -BGMName_BATTLE38: - .string "BATTLE38$" -BGMName_BATTLE30: - .string "BATTLE30$" - - .align 2 -gBGMNames:: @ 83D07AC - .word BGMName_STOP - .word BGMName_TETSUJI - .word BGMName_FIELD13 - .word BGMName_KACHI22 - .word BGMName_KACHI2 - .word BGMName_KACHI3 - .word BGMName_KACHI5 - .word BGMName_PCC - .word BGMName_NIBI - .word BGMName_SUIKUN - .word BGMName_DOORO1 - .word BGMName_DOORO_X1 - .word BGMName_DOORO_X3 - .word BGMName_MACHI_S2 - .word BGMName_MACHI_S4 - .word BGMName_GIM - .word BGMName_NAMINORI - .word BGMName_DAN01 - .word BGMName_FANFA1 - .word BGMName_ME_ASA - .word BGMName_ME_BACHI - .word BGMName_FANFA4 - .word BGMName_FANFA5 - .word BGMName_ME_WAZA - .word BGMName_BIJYUTU - .word BGMName_DOORO_X4 - .word BGMName_FUNE_KAN - .word BGMName_ME_SHINKA - .word BGMName_SHINKA - .word BGMName_ME_WASURE - .word BGMName_SYOUJOEYE - .word BGMName_BOYEYE - .word BGMName_DAN02 - .word BGMName_MACHI_S3 - .word BGMName_ODAMAKI - .word BGMName_B_TOWER - .word BGMName_SWIMEYE - .word BGMName_DAN03 - .word BGMName_ME_KINOMI - .word BGMName_ME_TAMA - .word BGMName_ME_B_BIG - .word BGMName_ME_B_SMALL - .word BGMName_ME_ZANNEN - .word BGMName_BD_TIME - .word BGMName_TEST1 - .word BGMName_TEST2 - .word BGMName_TEST3 - .word BGMName_TEST4 - .word BGMName_TEST - .word BGMName_GOMACHI0 - .word BGMName_GOTOWN - .word BGMName_POKECEN - .word BGMName_NEXTROAD - .word BGMName_GRANROAD - .word BGMName_CYCLING - .word BGMName_FRIENDLY - .word BGMName_MISHIRO - .word BGMName_TOZAN - .word BGMName_GIRLEYE - .word BGMName_MINAMO - .word BGMName_ASHROAD - .word BGMName_EVENT0 - .word BGMName_DEEPDEEP - .word BGMName_KACHI1 - .word BGMName_TITLE3 - .word BGMName_DEMO1 - .word BGMName_GIRL_SUP - .word BGMName_HAGESHII - .word BGMName_KAKKOII - .word BGMName_KAZANBAI - .word BGMName_AQA_0 - .word BGMName_TSURETEK - .word BGMName_BOY_SUP - .word BGMName_RAINBOW - .word BGMName_AYASII - .word BGMName_KACHI4 - .word BGMName_ROPEWAY - .word BGMName_CASINO - .word BGMName_HIGHTOWN - .word BGMName_SAFARI - .word BGMName_C_ROAD - .word BGMName_AJITO - .word BGMName_M_BOAT - .word BGMName_M_DUNGON - .word BGMName_FINECITY - .word BGMName_MACHUPI - .word BGMName_P_SCHOOL - .word BGMName_DENDOU - .word BGMName_TONEKUSA - .word BGMName_MABOROSI - .word BGMName_CON_FAN - .word BGMName_CONTEST0 - .word BGMName_MGM0 - .word BGMName_T_BATTLE - .word BGMName_OOAME - .word BGMName_HIDERI - .word BGMName_RUNECITY - .word BGMName_CON_K - .word BGMName_EIKOU_R - .word BGMName_KARAKURI - .word BGMName_HUTAGO - .word BGMName_SITENNOU - .word BGMName_YAMA_EYE - .word BGMName_CONLOBBY - .word BGMName_INTER_V - .word BGMName_DAIGO - .word BGMName_THANKFOR - .word BGMName_END - .word BGMName_BATTLE27 - .word BGMName_BATTLE31 - .word BGMName_BATTLE20 - .word BGMName_BATTLE32 - .word BGMName_BATTLE33 - .word BGMName_BATTLE36 - .word BGMName_BATTLE34 - .word BGMName_BATTLE35 - .word BGMName_BATTLE38 - .word BGMName_BATTLE30 - -SEName_STOP: - .string "STOP$" -SEName_KAIFUKU: - .string "KAIFUKU$" -SEName_PC_LOGON: - .string "PC-LOGON$" -SEName_PC_OFF: - .string "PC-OFF$" -SEName_PC_ON: - .string "PC-ON$" -SEName_SELECT: - .string "SELECT$" -SEName_WIN_OPEN: - .string "WIN-OPEN$" -SEName_WALL_HIT: - .string "WALL-HIT$" -SEName_DOOR: - .string "DOOR$" -SEName_KAIDAN: - .string "KAIDAN$" -SEName_DANSA: - .string "DANSA$" -SEName_JITENSYA: - .string "JITENSYA$" -SEName_KOUKA_L: - .string "KOUKA-L$" -SEName_KOUKA_M: - .string "KOUKA-M$" -SEName_KOUKA_H: - .string "KOUKA-H$" -SEName_BOWA2: - .string "BOWA2$" -SEName_POKE_DEAD: - .string "POKE-DEAD$" -SEName_NIGERU: - .string "NIGERU$" -SEName_JIDO_DOA: - .string "JIDO-DOA$" -SEName_NAMINORI: - .string "NAMINORI$" -SEName_BAN: - .string "BAN$" -SEName_PIN: - .string "PIN$" -SEName_BOO: - .string "BOO$" -SEName_BOWA: - .string "BOWA$" -SEName_JYUNI: - .string "JYUNI$" -SEName_A: - .string "A$" -SEName_I: - .string "I$" -SEName_U: - .string "U$" -SEName_E: - .string "E$" -SEName_O: - .string "O$" -SEName_N: - .string "N$" -SEName_SEIKAI: - .string "SEIKAI$" -SEName_HAZURE: - .string "HAZURE$" -SEName_EXP: - .string "EXP$" -SEName_JITE_PYOKO: - .string "JITE-PYOKO$" -SEName_MU_PACHI: - .string "MU-PACHI$" -SEName_TK_KASYA: - .string "TK-KASYA$" -SEName_FU_ZAKU: - .string "FU-ZAKU$" -SEName_FU_ZAKU2: - .string "FU-ZAKU2$" -SEName_FU_ZUZUZU: - .string "FU-ZUZUZU$" -SEName_RU_GASHIN: - .string "RU-GASHIN$" -SEName_RU_GASYAN: - .string "RU-GASYAN$" -SEName_RU_BARI: - .string "RU-BARI$" -SEName_RU_HYUU: - .string "RU-HYUU$" -SEName_KI_GASYAN: - .string "KI-GASYAN$" -SEName_TK_WARPIN: - .string "TK-WARPIN$" -SEName_TK_WARPOUT: - .string "TK-WARPOUT$" -SEName_TU_SAA: - .string "TU-SAA$" -SEName_HI_TURUN: - .string "HI-TURUN$" -SEName_TRACK_MOVE: - .string "TRACK-MOVE$" -SEName_TRACK_STOP: - .string "TRACK-STOP$" -SEName_TRACK_HAIK: - .string "TRACK-HAIK$" -SEName_TRACK_DOOR: - .string "TRACK-DOOR$" -SEName_MOTER: - .string "MOTER$" -SEName_CARD: - .string "CARD$" -SEName_SAVE: - .string "SAVE$" -SEName_KON: - .string "KON$" -SEName_KON2: - .string "KON2$" -SEName_KON3: - .string "KON3$" -SEName_KON4: - .string "KON4$" -SEName_SUIKOMU: - .string "SUIKOMU$" -SEName_NAGERU: - .string "NAGERU$" -SEName_TOY_C: - .string "TOY-C$" -SEName_TOY_D: - .string "TOY-D$" -SEName_TOY_E: - .string "TOY-E$" -SEName_TOY_F: - .string "TOY-F$" -SEName_TOY_G: - .string "TOY-G$" -SEName_TOY_A: - .string "TOY-A$" -SEName_TOY_B: - .string "TOY-B$" -SEName_TOY_C1: - .string "TOY-C1$" -SEName_MIZU: - .string "MIZU$" -SEName_HASHI: - .string "HASHI$" -SEName_DAUGI: - .string "DAUGI$" -SEName_PINPON: - .string "PINPON$" -SEName_FUUSEN1: - .string "FUUSEN1$" -SEName_FUUSEN2: - .string "FUUSEN2$" -SEName_FUUSEN3: - .string "FUUSEN3$" -SEName_TOY_KABE: - .string "TOY-KABE$" -SEName_TOY_DANGO: - .string "TOY-DANGO$" -SEName_DOKU: - .string "DOKU$" -SEName_ESUKA: - .string "ESUKA$" -SEName_T_AME: - .string "T-AME$" -SEName_T_AME_E: - .string "T-AME-E$" -SEName_T_OOAME: - .string "T-OOAME$" -SEName_T_OOAME_E: - .string "T-OOAME-E$" -SEName_T_KOAME: - .string "T-KOAME$" -SEName_T_KOAME_E: - .string "T-KOAME-E$" -SEName_T_KAMI: - .string "T-KAMI$" -SEName_T_KAMI2: - .string "T-KAMI2$" -SEName_ELEBETA: - .string "ELEBETA$" -SEName_HINSI: - .string "HINSI$" -SEName_EXPMAX: - .string "EXPMAX$" -SEName_TAMAKORO: - .string "TAMAKORO$" -SEName_TAMAKORO_E: - .string "TAMAKORO-E$" -SEName_BASABASA: - .string "BASABASA$" -SEName_REGI: - .string "REGI$" -SEName_C_GAJI: - .string "C-GAJI$" -SEName_C_MAKU_U: - .string "C-MAKU-U$" -SEName_C_MAKU_D: - .string "C-MAKU-D$" -SEName_C_PASI: - .string "C-PASI$" -SEName_C_SYU: - .string "C-SYU$" -SEName_C_PIKON: - .string "C-PIKON$" -SEName_REAPOKE: - .string "REAPOKE$" -SEName_OP_BASYU: - .string "OP-BASYU$" -SEName_BT_START: - .string "BT-START$" -SEName_DENDOU: - .string "DENDOU$" -SEName_JIHANKI: - .string "JIHANKI$" -SEName_TAMA: - .string "TAMA$" -SEName_Z_SCROLL: - .string "Z-SCROLL$" -SEName_Z_PAGE: - .string "Z-PAGE$" -SEName_PN_ON: - .string "PN-ON$" -SEName_PN_OFF: - .string "PN-OFF$" -SEName_Z_SEARCH: - .string "Z-SEARCH$" -SEName_TAMAGO: - .string "TAMAGO$" -SEName_TB_START: - .string "TB-START$" -SEName_TB_KON: - .string "TB-KON$" -SEName_TB_KARA: - .string "TB-KARA$" -SEName_BIDORO: - .string "BIDORO$" -SEName_W085: - .string "W085$" -SEName_W085B: - .string "W085B$" -SEName_W231: - .string "W231$" -SEName_W171: - .string "W171$" -SEName_W233: - .string "W233$" -SEName_W233B: - .string "W233B$" -SEName_W145: - .string "W145$" -SEName_W145B: - .string "W145B$" -SEName_W145C: - .string "W145C$" -SEName_W240: - .string "W240$" -SEName_W015: - .string "W015$" -SEName_W081: - .string "W081$" -SEName_W081B: - .string "W081B$" -SEName_W088: - .string "W088$" -SEName_W016: - .string "W016$" -SEName_W016B: - .string "W016B$" -SEName_W003: - .string "W003$" -SEName_W104: - .string "W104$" -SEName_W013: - .string "W013$" -SEName_W196: - .string "W196$" -SEName_W086: - .string "W086$" -SEName_W004: - .string "W004$" -SEName_W025: - .string "W025$" -SEName_W025B: - .string "W025B$" -SEName_W152: - .string "W152$" -SEName_W026: - .string "W026$" -SEName_W172: - .string "W172$" -SEName_W172B: - .string "W172B$" -SEName_W053: - .string "W053$" -SEName_W007: - .string "W007$" -SEName_W092: - .string "W092$" -SEName_W221: - .string "W221$" -SEName_W221B: - .string "W221B$" -SEName_W052: - .string "W052$" -SEName_W036: - .string "W036$" -SEName_W059: - .string "W059$" -SEName_W059B: - .string "W059B$" -SEName_W010: - .string "W010$" -SEName_W011: - .string "W011$" -SEName_W017: - .string "W017$" -SEName_W019: - .string "W019$" -SEName_W028: - .string "W028$" -SEName_W013B: - .string "W013B$" -SEName_W044: - .string "W044$" -SEName_W029: - .string "W029$" -SEName_W057: - .string "W057$" -SEName_W056: - .string "W056$" -SEName_W250: - .string "W250$" -SEName_W030: - .string "W030$" -SEName_W039: - .string "W039$" -SEName_W054: - .string "W054$" -SEName_W077: - .string "W077$" -SEName_W020: - .string "W020$" -SEName_W082: - .string "W082$" -SEName_W047: - .string "W047$" -SEName_W195: - .string "W195$" -SEName_W006: - .string "W006$" -SEName_W091: - .string "W091$" -SEName_W146: - .string "W146$" -SEName_W120: - .string "W120$" -SEName_W153: - .string "W153$" -SEName_W071B: - .string "W071B$" -SEName_W071: - .string "W071$" -SEName_W103: - .string "W103$" -SEName_W062: - .string "W062$" -SEName_W062B: - .string "W062B$" -SEName_W048: - .string "W048$" -SEName_W187: - .string "W187$" -SEName_W118: - .string "W118$" -SEName_W155: - .string "W155$" -SEName_W122: - .string "W122$" -SEName_W060: - .string "W060$" -SEName_W185: - .string "W185$" -SEName_W014: - .string "W014$" -SEName_W043: - .string "W043$" -SEName_W207: - .string "W207$" -SEName_W207B: - .string "W207B$" -SEName_W215: - .string "W215$" -SEName_W109: - .string "W109$" -SEName_W173: - .string "W173$" -SEName_W280: - .string "W280$" -SEName_W202: - .string "W202$" -SEName_W060B: - .string "W060B$" -SEName_W076: - .string "W076$" -SEName_W080: - .string "W080$" -SEName_W100: - .string "W100$" -SEName_W107: - .string "W107$" -SEName_W166: - .string "W166$" -SEName_W129: - .string "W129$" -SEName_W115: - .string "W115$" -SEName_W112: - .string "W112$" -SEName_W197: - .string "W197$" -SEName_W199: - .string "W199$" -SEName_W236: - .string "W236$" -SEName_W204: - .string "W204$" -SEName_W268: - .string "W268$" -SEName_W070: - .string "W070$" -SEName_W063: - .string "W063$" -SEName_W127: - .string "W127$" -SEName_W179: - .string "W179$" -SEName_W151: - .string "W151$" -SEName_W201: - .string "W201$" -SEName_W161: - .string "W161$" -SEName_W161B: - .string "W161B$" -SEName_W227: - .string "W227$" -SEName_W227B: - .string "W227B$" -SEName_W226: - .string "W226$" -SEName_W208: - .string "W208$" -SEName_W213: - .string "W213$" -SEName_W213B: - .string "W213B$" -SEName_W234: - .string "W234$" -SEName_W260: - .string "W260$" -SEName_W328: - .string "W328$" -SEName_W320: - .string "W320$" -SEName_W255: - .string "W255$" -SEName_W291: - .string "W291$" -SEName_W089: - .string "W089$" -SEName_W239: - .string "W239$" -SEName_W230: - .string "W230$" -SEName_W281: - .string "W281$" -SEName_W327: - .string "W327$" -SEName_W287: - .string "W287$" -SEName_W257: - .string "W257$" -SEName_W253: - .string "W253$" -SEName_W258: - .string "W258$" -SEName_W322: - .string "W322$" -SEName_W298: - .string "W298$" -SEName_W287B: - .string "W287B$" -SEName_W114: - .string "W114$" -SEName_W063B: - .string "W063B$" - - .align 2 -gSENames:: @ 83D0F78 - .word SEName_STOP - .word SEName_KAIFUKU - .word SEName_PC_LOGON - .word SEName_PC_OFF - .word SEName_PC_ON - .word SEName_SELECT - .word SEName_WIN_OPEN - .word SEName_WALL_HIT - .word SEName_DOOR - .word SEName_KAIDAN - .word SEName_DANSA - .word SEName_JITENSYA - .word SEName_KOUKA_L - .word SEName_KOUKA_M - .word SEName_KOUKA_H - .word SEName_BOWA2 - .word SEName_POKE_DEAD - .word SEName_NIGERU - .word SEName_JIDO_DOA - .word SEName_NAMINORI - .word SEName_BAN - .word SEName_PIN - .word SEName_BOO - .word SEName_BOWA - .word SEName_JYUNI - .word SEName_A - .word SEName_I - .word SEName_U - .word SEName_E - .word SEName_O - .word SEName_N - .word SEName_SEIKAI - .word SEName_HAZURE - .word SEName_EXP - .word SEName_JITE_PYOKO - .word SEName_MU_PACHI - .word SEName_TK_KASYA - .word SEName_FU_ZAKU - .word SEName_FU_ZAKU2 - .word SEName_FU_ZUZUZU - .word SEName_RU_GASHIN - .word SEName_RU_GASYAN - .word SEName_RU_BARI - .word SEName_RU_HYUU - .word SEName_KI_GASYAN - .word SEName_TK_WARPIN - .word SEName_TK_WARPOUT - .word SEName_TU_SAA - .word SEName_HI_TURUN - .word SEName_TRACK_MOVE - .word SEName_TRACK_STOP - .word SEName_TRACK_HAIK - .word SEName_TRACK_DOOR - .word SEName_MOTER - .word SEName_CARD - .word SEName_SAVE - .word SEName_KON - .word SEName_KON2 - .word SEName_KON3 - .word SEName_KON4 - .word SEName_SUIKOMU - .word SEName_NAGERU - .word SEName_TOY_C - .word SEName_TOY_D - .word SEName_TOY_E - .word SEName_TOY_F - .word SEName_TOY_G - .word SEName_TOY_A - .word SEName_TOY_B - .word SEName_TOY_C1 - .word SEName_MIZU - .word SEName_HASHI - .word SEName_DAUGI - .word SEName_PINPON - .word SEName_FUUSEN1 - .word SEName_FUUSEN2 - .word SEName_FUUSEN3 - .word SEName_TOY_KABE - .word SEName_TOY_DANGO - .word SEName_DOKU - .word SEName_ESUKA - .word SEName_T_AME - .word SEName_T_AME_E - .word SEName_T_OOAME - .word SEName_T_OOAME_E - .word SEName_T_KOAME - .word SEName_T_KOAME_E - .word SEName_T_KAMI - .word SEName_T_KAMI2 - .word SEName_ELEBETA - .word SEName_HINSI - .word SEName_EXPMAX - .word SEName_TAMAKORO - .word SEName_TAMAKORO_E - .word SEName_BASABASA - .word SEName_REGI - .word SEName_C_GAJI - .word SEName_C_MAKU_U - .word SEName_C_MAKU_D - .word SEName_C_PASI - .word SEName_C_SYU - .word SEName_C_PIKON - .word SEName_REAPOKE - .word SEName_OP_BASYU - .word SEName_BT_START - .word SEName_DENDOU - .word SEName_JIHANKI - .word SEName_TAMA - .word SEName_Z_SCROLL - .word SEName_Z_PAGE - .word SEName_PN_ON - .word SEName_PN_OFF - .word SEName_Z_SEARCH - .word SEName_TAMAGO - .word SEName_TB_START - .word SEName_TB_KON - .word SEName_TB_KARA - .word SEName_BIDORO - .word SEName_W085 - .word SEName_W085B - .word SEName_W231 - .word SEName_W171 - .word SEName_W233 - .word SEName_W233B - .word SEName_W145 - .word SEName_W145B - .word SEName_W145C - .word SEName_W240 - .word SEName_W015 - .word SEName_W081 - .word SEName_W081B - .word SEName_W088 - .word SEName_W016 - .word SEName_W016B - .word SEName_W003 - .word SEName_W104 - .word SEName_W013 - .word SEName_W196 - .word SEName_W086 - .word SEName_W004 - .word SEName_W025 - .word SEName_W025B - .word SEName_W152 - .word SEName_W026 - .word SEName_W172 - .word SEName_W172B - .word SEName_W053 - .word SEName_W007 - .word SEName_W092 - .word SEName_W221 - .word SEName_W221B - .word SEName_W052 - .word SEName_W036 - .word SEName_W059 - .word SEName_W059B - .word SEName_W010 - .word SEName_W011 - .word SEName_W017 - .word SEName_W019 - .word SEName_W028 - .word SEName_W013B - .word SEName_W044 - .word SEName_W029 - .word SEName_W057 - .word SEName_W056 - .word SEName_W250 - .word SEName_W030 - .word SEName_W039 - .word SEName_W054 - .word SEName_W077 - .word SEName_W020 - .word SEName_W082 - .word SEName_W047 - .word SEName_W195 - .word SEName_W006 - .word SEName_W091 - .word SEName_W146 - .word SEName_W120 - .word SEName_W153 - .word SEName_W071B - .word SEName_W071 - .word SEName_W103 - .word SEName_W062 - .word SEName_W062B - .word SEName_W048 - .word SEName_W187 - .word SEName_W118 - .word SEName_W155 - .word SEName_W122 - .word SEName_W060 - .word SEName_W185 - .word SEName_W014 - .word SEName_W043 - .word SEName_W207 - .word SEName_W207B - .word SEName_W215 - .word SEName_W109 - .word SEName_W173 - .word SEName_W280 - .word SEName_W202 - .word SEName_W060B - .word SEName_W076 - .word SEName_W080 - .word SEName_W100 - .word SEName_W107 - .word SEName_W166 - .word SEName_W129 - .word SEName_W115 - .word SEName_W112 - .word SEName_W197 - .word SEName_W199 - .word SEName_W236 - .word SEName_W204 - .word SEName_W268 - .word SEName_W070 - .word SEName_W063 - .word SEName_W127 - .word SEName_W179 - .word SEName_W151 - .word SEName_W201 - .word SEName_W161 - .word SEName_W161B - .word SEName_W227 - .word SEName_W227B - .word SEName_W226 - .word SEName_W208 - .word SEName_W213 - .word SEName_W213B - .word SEName_W234 - .word SEName_W260 - .word SEName_W328 - .word SEName_W320 - .word SEName_W255 - .word SEName_W291 - .word SEName_W089 - .word SEName_W239 - .word SEName_W230 - .word SEName_W281 - .word SEName_W327 - .word SEName_W287 - .word SEName_W257 - .word SEName_W253 - .word SEName_W258 - .word SEName_W322 - .word SEName_W298 - .word SEName_W287B - .word SEName_W114 - .word SEName_W063B diff --git a/data/use_pokeblock.s b/data/use_pokeblock.s deleted file mode 100644 index 2eabe9ce3..000000000 --- a/data/use_pokeblock.s +++ /dev/null @@ -1,73 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - -.ifndef GERMAN - .align 2 -ConditionUpDownPalette: - .incbin "graphics/misc/condition_up_down.gbapal" - - .align 2 -ConditionUpDownTiles: - .incbin "graphics/misc/condition_up_down.4bpp" -.endif - -gUnknown_08406118:: @ 8406118 - .4byte 22 @ MON_DATA_COOL - .4byte 47 @ MON_DATA_TOUGH - .4byte 33 @ MON_DATA_SMART - .4byte 24 @ MON_DATA_CUTE - .4byte 23 @ MON_DATA_BEAUTY - - .align 2 -gUnknown_0840612C:: @ 840612C - obj_pal 0x02030400, 0x0001 - - .align 2 -gUnknown_08406134:: @ 8406134 - .4byte OtherText_Coolness - .4byte OtherText_Toughness - .4byte OtherText_Smartness - .4byte OtherText_Cuteness - .4byte OtherText_Beauty - - .align 2 -gSpriteSheet_ConditionUpDown:: @ 8406148 - obj_tiles ConditionUpDownTiles, 0x200, 0 - - .align 2 -gSpritePalette_ConditionUpDown:: @ 8406150 - obj_pal ConditionUpDownPalette, 0 - -gUnknown_08406158:: @ 8406158 - .2byte 156, 30 - .2byte 117, 53 - .2byte 117, 112 - .2byte 197, 112 - .2byte 197, 53 - - .align 2 -gOamData_840616C:: @ 840616C - .2byte 0x4000 - .2byte 0x8000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_8406174:: @ 8406174 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_840617C:: @ 840617C - obj_image_anim_frame 8, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_8406184:: @ 8406184 - .4byte gSpriteAnim_8406174 - .4byte gSpriteAnim_840617C - - .align 2 -gSpriteTemplate_840618C:: @ 840618C - spr_template 0, 0, gOamData_840616C, gSpriteAnimTable_8406184, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy diff --git a/graphics-de/unused/old_charmap.png b/graphics-de/unused/old_charmap.png Binary files differindex 72ceffbf9..72ceffbf9 100755..100644 --- a/graphics-de/unused/old_charmap.png +++ b/graphics-de/unused/old_charmap.png diff --git a/graphics/battle_anims/backgrounds/attract.bin b/graphics/battle_anims/backgrounds/attract.bin Binary files differindex b06f46479..b06f46479 100755..100644 --- a/graphics/battle_anims/backgrounds/attract.bin +++ b/graphics/battle_anims/backgrounds/attract.bin diff --git a/graphics/battle_anims/backgrounds/attract.pal b/graphics/battle_anims/backgrounds/attract.pal index a3a183566..a3a183566 100755..100644 --- a/graphics/battle_anims/backgrounds/attract.pal +++ b/graphics/battle_anims/backgrounds/attract.pal diff --git a/graphics/battle_anims/backgrounds/attract.png b/graphics/battle_anims/backgrounds/attract.png Binary files differindex c5bba0f89..c5bba0f89 100755..100644 --- a/graphics/battle_anims/backgrounds/attract.png +++ b/graphics/battle_anims/backgrounds/attract.png diff --git a/graphics/battle_anims/backgrounds/sandstorm_brew.bin b/graphics/battle_anims/backgrounds/sandstorm_brew.bin Binary files differindex 64e6d8584..64e6d8584 100755..100644 --- a/graphics/battle_anims/backgrounds/sandstorm_brew.bin +++ b/graphics/battle_anims/backgrounds/sandstorm_brew.bin diff --git a/graphics/battle_anims/backgrounds/sandstorm_brew.png b/graphics/battle_anims/backgrounds/sandstorm_brew.png Binary files differindex 87d5d41ea..87d5d41ea 100755..100644 --- a/graphics/battle_anims/backgrounds/sandstorm_brew.png +++ b/graphics/battle_anims/backgrounds/sandstorm_brew.png diff --git a/graphics/battle_anims/backgrounds/scary_face.pal b/graphics/battle_anims/backgrounds/scary_face.pal index 580360ac0..580360ac0 100755..100644 --- a/graphics/battle_anims/backgrounds/scary_face.pal +++ b/graphics/battle_anims/backgrounds/scary_face.pal diff --git a/graphics/battle_anims/backgrounds/scary_face.png b/graphics/battle_anims/backgrounds/scary_face.png Binary files differindex a395485cf..a395485cf 100755..100644 --- a/graphics/battle_anims/backgrounds/scary_face.png +++ b/graphics/battle_anims/backgrounds/scary_face.png diff --git a/graphics/battle_anims/backgrounds/scary_face_contest.bin b/graphics/battle_anims/backgrounds/scary_face_contest.bin Binary files differindex e2d1e3a99..e2d1e3a99 100755..100644 --- a/graphics/battle_anims/backgrounds/scary_face_contest.bin +++ b/graphics/battle_anims/backgrounds/scary_face_contest.bin diff --git a/graphics/battle_anims/backgrounds/scary_face_opponent.bin b/graphics/battle_anims/backgrounds/scary_face_opponent.bin Binary files differindex dfaaf5f2f..dfaaf5f2f 100755..100644 --- a/graphics/battle_anims/backgrounds/scary_face_opponent.bin +++ b/graphics/battle_anims/backgrounds/scary_face_opponent.bin diff --git a/graphics/battle_anims/backgrounds/scary_face_player.bin b/graphics/battle_anims/backgrounds/scary_face_player.bin Binary files differindex 690305126..690305126 100755..100644 --- a/graphics/battle_anims/backgrounds/scary_face_player.bin +++ b/graphics/battle_anims/backgrounds/scary_face_player.bin diff --git a/graphics/battle_anims/backgrounds/water.pal b/graphics/battle_anims/backgrounds/water.pal index ee7a7b6e2..ee7a7b6e2 100755..100644 --- a/graphics/battle_anims/backgrounds/water.pal +++ b/graphics/battle_anims/backgrounds/water.pal diff --git a/graphics/battle_anims/backgrounds/water.png b/graphics/battle_anims/backgrounds/water.png Binary files differindex 7740f99f8..7740f99f8 100755..100644 --- a/graphics/battle_anims/backgrounds/water.png +++ b/graphics/battle_anims/backgrounds/water.png diff --git a/graphics/battle_anims/masks/cure_bubbles.bin b/graphics/battle_anims/masks/cure_bubbles.bin Binary files differindex fa2f572b6..fa2f572b6 100755..100644 --- a/graphics/battle_anims/masks/cure_bubbles.bin +++ b/graphics/battle_anims/masks/cure_bubbles.bin diff --git a/graphics/battle_anims/masks/cure_bubbles.pal b/graphics/battle_anims/masks/cure_bubbles.pal index 2868f2479..2868f2479 100755..100644 --- a/graphics/battle_anims/masks/cure_bubbles.pal +++ b/graphics/battle_anims/masks/cure_bubbles.pal diff --git a/graphics/battle_anims/masks/cure_bubbles.png b/graphics/battle_anims/masks/cure_bubbles.png Binary files differindex aa7f7b1f2..aa7f7b1f2 100755..100644 --- a/graphics/battle_anims/masks/cure_bubbles.png +++ b/graphics/battle_anims/masks/cure_bubbles.png diff --git a/graphics/battle_anims/masks/curse.bin b/graphics/battle_anims/masks/curse.bin Binary files differindex 1e9623948..1e9623948 100755..100644 --- a/graphics/battle_anims/masks/curse.bin +++ b/graphics/battle_anims/masks/curse.bin diff --git a/graphics/battle_anims/masks/curse.png b/graphics/battle_anims/masks/curse.png Binary files differindex 03979ee8d..03979ee8d 100755..100644 --- a/graphics/battle_anims/masks/curse.png +++ b/graphics/battle_anims/masks/curse.png diff --git a/graphics/battle_anims/masks/metal_shine.bin b/graphics/battle_anims/masks/metal_shine.bin Binary files differindex fed60df36..fed60df36 100755..100644 --- a/graphics/battle_anims/masks/metal_shine.bin +++ b/graphics/battle_anims/masks/metal_shine.bin diff --git a/graphics/battle_anims/masks/metal_shine.pal b/graphics/battle_anims/masks/metal_shine.pal index 019a17c3f..019a17c3f 100755..100644 --- a/graphics/battle_anims/masks/metal_shine.pal +++ b/graphics/battle_anims/masks/metal_shine.pal diff --git a/graphics/battle_anims/masks/metal_shine.png b/graphics/battle_anims/masks/metal_shine.png Binary files differindex a9c5a952c..a9c5a952c 100755..100644 --- a/graphics/battle_anims/masks/metal_shine.png +++ b/graphics/battle_anims/masks/metal_shine.png diff --git a/graphics/battle_anims/masks/morning_sun.bin b/graphics/battle_anims/masks/morning_sun.bin Binary files differindex cfa7b8069..cfa7b8069 100755..100644 --- a/graphics/battle_anims/masks/morning_sun.bin +++ b/graphics/battle_anims/masks/morning_sun.bin diff --git a/graphics/battle_anims/masks/morning_sun.pal b/graphics/battle_anims/masks/morning_sun.pal index 08249a43c..08249a43c 100755..100644 --- a/graphics/battle_anims/masks/morning_sun.pal +++ b/graphics/battle_anims/masks/morning_sun.pal diff --git a/graphics/battle_anims/masks/morning_sun.png b/graphics/battle_anims/masks/morning_sun.png Binary files differindex c10b02782..c10b02782 100755..100644 --- a/graphics/battle_anims/masks/morning_sun.png +++ b/graphics/battle_anims/masks/morning_sun.png diff --git a/graphics/battle_anims/masks/stat.png b/graphics/battle_anims/masks/stat.png Binary files differindex 0a6014ccd..0a6014ccd 100755..100644 --- a/graphics/battle_anims/masks/stat.png +++ b/graphics/battle_anims/masks/stat.png diff --git a/graphics/battle_anims/masks/stat1.pal b/graphics/battle_anims/masks/stat1.pal index d4128a31f..d4128a31f 100755..100644 --- a/graphics/battle_anims/masks/stat1.pal +++ b/graphics/battle_anims/masks/stat1.pal diff --git a/graphics/battle_anims/masks/stat2.pal b/graphics/battle_anims/masks/stat2.pal index 434b06e8d..434b06e8d 100755..100644 --- a/graphics/battle_anims/masks/stat2.pal +++ b/graphics/battle_anims/masks/stat2.pal diff --git a/graphics/battle_anims/masks/stat3.pal b/graphics/battle_anims/masks/stat3.pal index 784e5c640..784e5c640 100755..100644 --- a/graphics/battle_anims/masks/stat3.pal +++ b/graphics/battle_anims/masks/stat3.pal diff --git a/graphics/battle_anims/masks/stat4.pal b/graphics/battle_anims/masks/stat4.pal index 2868f2479..2868f2479 100755..100644 --- a/graphics/battle_anims/masks/stat4.pal +++ b/graphics/battle_anims/masks/stat4.pal diff --git a/graphics/battle_anims/masks/stat5.pal b/graphics/battle_anims/masks/stat5.pal index 4991b1bd7..4991b1bd7 100755..100644 --- a/graphics/battle_anims/masks/stat5.pal +++ b/graphics/battle_anims/masks/stat5.pal diff --git a/graphics/battle_anims/masks/stat6.pal b/graphics/battle_anims/masks/stat6.pal index f647ff4b3..f647ff4b3 100755..100644 --- a/graphics/battle_anims/masks/stat6.pal +++ b/graphics/battle_anims/masks/stat6.pal diff --git a/graphics/battle_anims/masks/stat_tilemap_1.bin b/graphics/battle_anims/masks/stat_tilemap_1.bin Binary files differindex 1b65e515a..1b65e515a 100755..100644 --- a/graphics/battle_anims/masks/stat_tilemap_1.bin +++ b/graphics/battle_anims/masks/stat_tilemap_1.bin diff --git a/graphics/battle_anims/masks/stat_tilemap_2.bin b/graphics/battle_anims/masks/stat_tilemap_2.bin index eb336cb74..eb336cb74 100755..100644 --- a/graphics/battle_anims/masks/stat_tilemap_2.bin +++ b/graphics/battle_anims/masks/stat_tilemap_2.bin diff --git a/graphics/battle_anims/masks/unknown_D2EDFC.bin b/graphics/battle_anims/masks/unknown_D2EDFC.bin Binary files differindex 712c1ee12..712c1ee12 100755..100644 --- a/graphics/battle_anims/masks/unknown_D2EDFC.bin +++ b/graphics/battle_anims/masks/unknown_D2EDFC.bin diff --git a/graphics/battle_anims/masks/unknown_D2EDFC.png b/graphics/battle_anims/masks/unknown_D2EDFC.png Binary files differindex d0b372cbb..d0b372cbb 100755..100644 --- a/graphics/battle_anims/masks/unknown_D2EDFC.png +++ b/graphics/battle_anims/masks/unknown_D2EDFC.png diff --git a/graphics/battle_anims/sprites/substitute.bin b/graphics/battle_anims/sprites/substitute.bin Binary files differindex d30c07d4e..d30c07d4e 100755..100644 --- a/graphics/battle_anims/sprites/substitute.bin +++ b/graphics/battle_anims/sprites/substitute.bin diff --git a/graphics/battle_anims/sprites/substitute.pal b/graphics/battle_anims/sprites/substitute.pal index 8b6e458a1..8b6e458a1 100755..100644 --- a/graphics/battle_anims/sprites/substitute.pal +++ b/graphics/battle_anims/sprites/substitute.pal diff --git a/graphics/battle_anims/sprites/substitute.png b/graphics/battle_anims/sprites/substitute.png Binary files differindex 0b6dea850..0b6dea850 100755..100644 --- a/graphics/battle_anims/sprites/substitute.png +++ b/graphics/battle_anims/sprites/substitute.png diff --git a/graphics/battle_interface/ball_display.png b/graphics/battle_interface/ball_display.png Binary files differindex 0c49d7ac4..0c49d7ac4 100755..100644 --- a/graphics/battle_interface/ball_display.png +++ b/graphics/battle_interface/ball_display.png diff --git a/graphics/battle_interface/ball_display_unused_extra.png b/graphics/battle_interface/ball_display_unused_extra.png Binary files differindex 5473d53df..5473d53df 100755..100644 --- a/graphics/battle_interface/ball_display_unused_extra.png +++ b/graphics/battle_interface/ball_display_unused_extra.png diff --git a/graphics/battle_interface/bar.png b/graphics/battle_interface/bar.png Binary files differindex b947a7803..b947a7803 100755..100644 --- a/graphics/battle_interface/bar.png +++ b/graphics/battle_interface/bar.png diff --git a/graphics/battle_interface/enemy_mon_shadow.png b/graphics/battle_interface/enemy_mon_shadow.png Binary files differindex 3db333a92..3db333a92 100755..100644 --- a/graphics/battle_interface/enemy_mon_shadow.png +++ b/graphics/battle_interface/enemy_mon_shadow.png diff --git a/graphics/battle_interface/expbar.png b/graphics/battle_interface/expbar.png Binary files differindex b54dbe600..b54dbe600 100755..100644 --- a/graphics/battle_interface/expbar.png +++ b/graphics/battle_interface/expbar.png diff --git a/graphics/battle_interface/hpbar.pal b/graphics/battle_interface/hpbar.pal index ea646bb82..ea646bb82 100755..100644 --- a/graphics/battle_interface/hpbar.pal +++ b/graphics/battle_interface/hpbar.pal diff --git a/graphics/battle_interface/hpbar.png b/graphics/battle_interface/hpbar.png Binary files differindex f3a0314e4..f3a0314e4 100755..100644 --- a/graphics/battle_interface/hpbar.png +++ b/graphics/battle_interface/hpbar.png diff --git a/graphics/battle_interface/hpbar_anim.png b/graphics/battle_interface/hpbar_anim.png Binary files differindex 9e7564234..9e7564234 100755..100644 --- a/graphics/battle_interface/hpbar_anim.png +++ b/graphics/battle_interface/hpbar_anim.png diff --git a/graphics/battle_interface/misc.png b/graphics/battle_interface/misc.png Binary files differindex 6456ebe5c..6456ebe5c 100755..100644 --- a/graphics/battle_interface/misc.png +++ b/graphics/battle_interface/misc.png diff --git a/graphics/battle_interface/misc_frameend.png b/graphics/battle_interface/misc_frameend.png Binary files differindex 630f44242..630f44242 100755..100644 --- a/graphics/battle_interface/misc_frameend.png +++ b/graphics/battle_interface/misc_frameend.png diff --git a/graphics/battle_interface/status2.png b/graphics/battle_interface/status2.png Binary files differindex 97a344ae3..97a344ae3 100755..100644 --- a/graphics/battle_interface/status2.png +++ b/graphics/battle_interface/status2.png diff --git a/graphics/battle_interface/status3.png b/graphics/battle_interface/status3.png Binary files differindex 3e5989d05..3e5989d05 100755..100644 --- a/graphics/battle_interface/status3.png +++ b/graphics/battle_interface/status3.png diff --git a/graphics/battle_interface/status4.png b/graphics/battle_interface/status4.png Binary files differindex d9769ad28..d9769ad28 100755..100644 --- a/graphics/battle_interface/status4.png +++ b/graphics/battle_interface/status4.png diff --git a/graphics/battle_interface/status_brn.png b/graphics/battle_interface/status_brn.png Binary files differindex 0de1e3ad2..0de1e3ad2 100755..100644 --- a/graphics/battle_interface/status_brn.png +++ b/graphics/battle_interface/status_brn.png diff --git a/graphics/battle_interface/status_frz.png b/graphics/battle_interface/status_frz.png Binary files differindex 3e1d534b5..3e1d534b5 100755..100644 --- a/graphics/battle_interface/status_frz.png +++ b/graphics/battle_interface/status_frz.png diff --git a/graphics/battle_interface/status_par.png b/graphics/battle_interface/status_par.png Binary files differindex 177d4eb5b..177d4eb5b 100755..100644 --- a/graphics/battle_interface/status_par.png +++ b/graphics/battle_interface/status_par.png diff --git a/graphics/battle_interface/status_psn.png b/graphics/battle_interface/status_psn.png Binary files differindex 95869e572..95869e572 100755..100644 --- a/graphics/battle_interface/status_psn.png +++ b/graphics/battle_interface/status_psn.png diff --git a/graphics/battle_interface/status_slp.png b/graphics/battle_interface/status_slp.png Binary files differindex b0eb5a250..b0eb5a250 100755..100644 --- a/graphics/battle_interface/status_slp.png +++ b/graphics/battle_interface/status_slp.png diff --git a/graphics/battle_interface/window.pal b/graphics/battle_interface/window.pal index bc8e8f2bc..bc8e8f2bc 100755..100644 --- a/graphics/battle_interface/window.pal +++ b/graphics/battle_interface/window.pal diff --git a/graphics/battle_interface/window.png b/graphics/battle_interface/window.png Binary files differindex 2117967ec..2117967ec 100755..100644 --- a/graphics/battle_interface/window.png +++ b/graphics/battle_interface/window.png diff --git a/graphics/battle_interface/window2.png b/graphics/battle_interface/window2.png Binary files differindex ac084b2e5..ac084b2e5 100755..100644 --- a/graphics/battle_interface/window2.png +++ b/graphics/battle_interface/window2.png diff --git a/graphics/battle_interface/window3.png b/graphics/battle_interface/window3.png Binary files differindex f45e2f714..f45e2f714 100755..100644 --- a/graphics/battle_interface/window3.png +++ b/graphics/battle_interface/window3.png diff --git a/graphics/battle_interface/window4.png b/graphics/battle_interface/window4.png Binary files differindex a366186cf..a366186cf 100755..100644 --- a/graphics/battle_interface/window4.png +++ b/graphics/battle_interface/window4.png diff --git a/graphics/battle_interface/window5.png b/graphics/battle_interface/window5.png Binary files differindex e48f380a4..e48f380a4 100755..100644 --- a/graphics/battle_interface/window5.png +++ b/graphics/battle_interface/window5.png diff --git a/graphics/battle_terrain/building/palette2.pal b/graphics/battle_terrain/building/palette2.pal index 3ca2e0b0c..3ca2e0b0c 100755..100644 --- a/graphics/battle_terrain/building/palette2.pal +++ b/graphics/battle_terrain/building/palette2.pal diff --git a/graphics/battle_terrain/building/palette3.pal b/graphics/battle_terrain/building/palette3.pal index cebf5e687..cebf5e687 100755..100644 --- a/graphics/battle_terrain/building/palette3.pal +++ b/graphics/battle_terrain/building/palette3.pal diff --git a/graphics/battle_terrain/cave/groudon.pal b/graphics/battle_terrain/cave/groudon.pal index 73021c957..73021c957 100755..100644 --- a/graphics/battle_terrain/cave/groudon.pal +++ b/graphics/battle_terrain/cave/groudon.pal diff --git a/graphics/battle_terrain/stadium/battle_tower.pal b/graphics/battle_terrain/stadium/battle_tower.pal index 10a842bcc..10a842bcc 100755..100644 --- a/graphics/battle_terrain/stadium/battle_tower.pal +++ b/graphics/battle_terrain/stadium/battle_tower.pal diff --git a/graphics/battle_terrain/stadium/map.bin b/graphics/battle_terrain/stadium/map.bin Binary files differindex d7bee6035..d7bee6035 100755..100644 --- a/graphics/battle_terrain/stadium/map.bin +++ b/graphics/battle_terrain/stadium/map.bin diff --git a/graphics/battle_terrain/stadium/palette1.pal b/graphics/battle_terrain/stadium/palette1.pal index 8252e3c5e..8252e3c5e 100755..100644 --- a/graphics/battle_terrain/stadium/palette1.pal +++ b/graphics/battle_terrain/stadium/palette1.pal diff --git a/graphics/battle_terrain/stadium/palette2.pal b/graphics/battle_terrain/stadium/palette2.pal index 48b2d851b..48b2d851b 100755..100644 --- a/graphics/battle_terrain/stadium/palette2.pal +++ b/graphics/battle_terrain/stadium/palette2.pal diff --git a/graphics/battle_terrain/stadium/palette3.pal b/graphics/battle_terrain/stadium/palette3.pal index 10c5b50d6..10c5b50d6 100755..100644 --- a/graphics/battle_terrain/stadium/palette3.pal +++ b/graphics/battle_terrain/stadium/palette3.pal diff --git a/graphics/battle_terrain/stadium/palette4.pal b/graphics/battle_terrain/stadium/palette4.pal index 201de5471..201de5471 100755..100644 --- a/graphics/battle_terrain/stadium/palette4.pal +++ b/graphics/battle_terrain/stadium/palette4.pal diff --git a/graphics/battle_terrain/stadium/palette5.pal b/graphics/battle_terrain/stadium/palette5.pal index 16f50d89b..16f50d89b 100755..100644 --- a/graphics/battle_terrain/stadium/palette5.pal +++ b/graphics/battle_terrain/stadium/palette5.pal diff --git a/graphics/battle_terrain/stadium/palette6.pal b/graphics/battle_terrain/stadium/palette6.pal index 118a6a3bb..118a6a3bb 100755..100644 --- a/graphics/battle_terrain/stadium/palette6.pal +++ b/graphics/battle_terrain/stadium/palette6.pal diff --git a/graphics/battle_terrain/stadium/palette7.pal b/graphics/battle_terrain/stadium/palette7.pal index b0c050be5..b0c050be5 100755..100644 --- a/graphics/battle_terrain/stadium/palette7.pal +++ b/graphics/battle_terrain/stadium/palette7.pal diff --git a/graphics/battle_terrain/stadium/tiles.png b/graphics/battle_terrain/stadium/tiles.png Binary files differindex ece531ec0..ece531ec0 100755..100644 --- a/graphics/battle_terrain/stadium/tiles.png +++ b/graphics/battle_terrain/stadium/tiles.png diff --git a/graphics/battle_terrain/water/kyogre.pal b/graphics/battle_terrain/water/kyogre.pal index eaa19730f..eaa19730f 100755..100644 --- a/graphics/battle_terrain/water/kyogre.pal +++ b/graphics/battle_terrain/water/kyogre.pal diff --git a/graphics/battle_transitions/vs.png b/graphics/battle_transitions/vs.png Binary files differindex a1badcb02..a1badcb02 100755..100644 --- a/graphics/battle_transitions/vs.png +++ b/graphics/battle_transitions/vs.png diff --git a/graphics/battle_transitions/vs_frame.bin b/graphics/battle_transitions/vs_frame.bin Binary files differindex 2ad153964..2ad153964 100755..100644 --- a/graphics/battle_transitions/vs_frame.bin +++ b/graphics/battle_transitions/vs_frame.bin diff --git a/graphics/battle_transitions/vs_frame.pal b/graphics/battle_transitions/vs_frame.pal index 104afd395..104afd395 100755..100644 --- a/graphics/battle_transitions/vs_frame.pal +++ b/graphics/battle_transitions/vs_frame.pal diff --git a/graphics/battle_transitions/vs_frame.png b/graphics/battle_transitions/vs_frame.png Binary files differindex 0b38c8960..0b38c8960 100755..100644 --- a/graphics/battle_transitions/vs_frame.png +++ b/graphics/battle_transitions/vs_frame.png diff --git a/graphics/birch_speech/birch.pal b/graphics/birch_speech/birch.pal index b89a5861a..b89a5861a 100755..100644 --- a/graphics/birch_speech/birch.pal +++ b/graphics/birch_speech/birch.pal diff --git a/graphics/birch_speech/birch.png b/graphics/birch_speech/birch.png Binary files differindex b34ae7436..b34ae7436 100755..100644 --- a/graphics/birch_speech/birch.png +++ b/graphics/birch_speech/birch.png diff --git a/graphics/birch_speech/shadow.png b/graphics/birch_speech/shadow.png Binary files differindex 778b75797..778b75797 100755..100644 --- a/graphics/birch_speech/shadow.png +++ b/graphics/birch_speech/shadow.png diff --git a/graphics/contest/applause.png b/graphics/contest/applause.png Binary files differindex 32b1748a0..32b1748a0 100755..100644 --- a/graphics/contest/applause.png +++ b/graphics/contest/applause.png diff --git a/graphics/contest/applause_meter.png b/graphics/contest/applause_meter.png Binary files differindex 8a4fce8c0..8a4fce8c0 100755..100644 --- a/graphics/contest/applause_meter.png +++ b/graphics/contest/applause_meter.png diff --git a/graphics/contest/audience.png b/graphics/contest/audience.png Binary files differindex 59f8d0add..59f8d0add 100755..100644 --- a/graphics/contest/audience.png +++ b/graphics/contest/audience.png diff --git a/graphics/contest/faces.png b/graphics/contest/faces.png Binary files differindex bba47a91d..bba47a91d 100755..100644 --- a/graphics/contest/faces.png +++ b/graphics/contest/faces.png diff --git a/graphics/contest/heart.png b/graphics/contest/heart.png Binary files differindex bd1ede8fc..bd1ede8fc 100755..100644 --- a/graphics/contest/heart.png +++ b/graphics/contest/heart.png diff --git a/graphics/contest/judge.pal b/graphics/contest/judge.pal index e62f2abd3..e62f2abd3 100755..100644 --- a/graphics/contest/judge.pal +++ b/graphics/contest/judge.pal diff --git a/graphics/contest/judge.png b/graphics/contest/judge.png Binary files differindex c4dcf520b..c4dcf520b 100755..100644 --- a/graphics/contest/judge.png +++ b/graphics/contest/judge.png diff --git a/graphics/contest/judge_symbols.pal b/graphics/contest/judge_symbols.pal index 3eeaa1128..3eeaa1128 100755..100644 --- a/graphics/contest/judge_symbols.pal +++ b/graphics/contest/judge_symbols.pal diff --git a/graphics/contest/judge_symbols.png b/graphics/contest/judge_symbols.png Binary files differindex 7669fb88b..7669fb88b 100755..100644 --- a/graphics/contest/judge_symbols.png +++ b/graphics/contest/judge_symbols.png diff --git a/graphics/contest/misc.png b/graphics/contest/misc.png Binary files differindex 536924daf..536924daf 100755..100644 --- a/graphics/contest/misc.png +++ b/graphics/contest/misc.png diff --git a/graphics/contest/misc_2.pal b/graphics/contest/misc_2.pal index 869aef9e1..869aef9e1 100755..100644 --- a/graphics/contest/misc_2.pal +++ b/graphics/contest/misc_2.pal diff --git a/graphics/contest/misc_2.png b/graphics/contest/misc_2.png Binary files differindex 44a4a8295..44a4a8295 100755..100644 --- a/graphics/contest/misc_2.png +++ b/graphics/contest/misc_2.png diff --git a/graphics/contest/misc_2_tilemap_1.bin b/graphics/contest/misc_2_tilemap_1.bin Binary files differindex 197e88cee..197e88cee 100755..100644 --- a/graphics/contest/misc_2_tilemap_1.bin +++ b/graphics/contest/misc_2_tilemap_1.bin diff --git a/graphics/contest/misc_2_tilemap_2.bin b/graphics/contest/misc_2_tilemap_2.bin Binary files differindex b31126836..b31126836 100755..100644 --- a/graphics/contest/misc_2_tilemap_2.bin +++ b/graphics/contest/misc_2_tilemap_2.bin diff --git a/graphics/contest/misc_2_tilemap_3.bin b/graphics/contest/misc_2_tilemap_3.bin index 5055ab79e..5055ab79e 100755..100644 --- a/graphics/contest/misc_2_tilemap_3.bin +++ b/graphics/contest/misc_2_tilemap_3.bin diff --git a/graphics/contest/nextturn.pal b/graphics/contest/nextturn.pal index 05991c79e..05991c79e 100755..100644 --- a/graphics/contest/nextturn.pal +++ b/graphics/contest/nextturn.pal diff --git a/graphics/contest/nextturn.png b/graphics/contest/nextturn.png Binary files differindex 747c4b5a7..747c4b5a7 100755..100644 --- a/graphics/contest/nextturn.png +++ b/graphics/contest/nextturn.png diff --git a/graphics/contest/nextturn_numbers.png b/graphics/contest/nextturn_numbers.png Binary files differindex 4386f822d..4386f822d 100755..100644 --- a/graphics/contest/nextturn_numbers.png +++ b/graphics/contest/nextturn_numbers.png diff --git a/graphics/contest/nextturn_random.png b/graphics/contest/nextturn_random.png Binary files differindex b92003823..b92003823 100755..100644 --- a/graphics/contest/nextturn_random.png +++ b/graphics/contest/nextturn_random.png diff --git a/graphics/interface/bag_screen.png b/graphics/interface/bag_screen.png Binary files differindex 86b824bce..86b824bce 100755..100644 --- a/graphics/interface/bag_screen.png +++ b/graphics/interface/bag_screen.png diff --git a/graphics/interface/bag_screen_female.pal b/graphics/interface/bag_screen_female.pal index d5d99e115..d5d99e115 100755..100644 --- a/graphics/interface/bag_screen_female.pal +++ b/graphics/interface/bag_screen_female.pal diff --git a/graphics/interface/bag_screen_male.pal b/graphics/interface/bag_screen_male.pal index 49c4879bd..49c4879bd 100755..100644 --- a/graphics/interface/bag_screen_male.pal +++ b/graphics/interface/bag_screen_male.pal diff --git a/graphics/interface/ball/dive.pal b/graphics/interface/ball/dive.pal index 1bd07d69d..1bd07d69d 100755..100644 --- a/graphics/interface/ball/dive.pal +++ b/graphics/interface/ball/dive.pal diff --git a/graphics/interface/ball/dive.png b/graphics/interface/ball/dive.png Binary files differindex 5be9b1ed6..5be9b1ed6 100755..100644 --- a/graphics/interface/ball/dive.png +++ b/graphics/interface/ball/dive.png diff --git a/graphics/interface/ball/great.pal b/graphics/interface/ball/great.pal index f19aa5e4a..f19aa5e4a 100755..100644 --- a/graphics/interface/ball/great.pal +++ b/graphics/interface/ball/great.pal diff --git a/graphics/interface/ball/great.png b/graphics/interface/ball/great.png Binary files differindex 0c054d7d3..0c054d7d3 100755..100644 --- a/graphics/interface/ball/great.png +++ b/graphics/interface/ball/great.png diff --git a/graphics/interface/ball/luxury.pal b/graphics/interface/ball/luxury.pal index a49399d01..a49399d01 100755..100644 --- a/graphics/interface/ball/luxury.pal +++ b/graphics/interface/ball/luxury.pal diff --git a/graphics/interface/ball/luxury.png b/graphics/interface/ball/luxury.png Binary files differindex 8056416b2..8056416b2 100755..100644 --- a/graphics/interface/ball/luxury.png +++ b/graphics/interface/ball/luxury.png diff --git a/graphics/interface/ball/master.pal b/graphics/interface/ball/master.pal index 72247849b..72247849b 100755..100644 --- a/graphics/interface/ball/master.pal +++ b/graphics/interface/ball/master.pal diff --git a/graphics/interface/ball/master.png b/graphics/interface/ball/master.png Binary files differindex 9787a8896..9787a8896 100755..100644 --- a/graphics/interface/ball/master.png +++ b/graphics/interface/ball/master.png diff --git a/graphics/interface/ball/nest.pal b/graphics/interface/ball/nest.pal index 4bee9fa12..4bee9fa12 100755..100644 --- a/graphics/interface/ball/nest.pal +++ b/graphics/interface/ball/nest.pal diff --git a/graphics/interface/ball/nest.png b/graphics/interface/ball/nest.png Binary files differindex a2fa81c1e..a2fa81c1e 100755..100644 --- a/graphics/interface/ball/nest.png +++ b/graphics/interface/ball/nest.png diff --git a/graphics/interface/ball/net.pal b/graphics/interface/ball/net.pal index dc5abb94d..dc5abb94d 100755..100644 --- a/graphics/interface/ball/net.pal +++ b/graphics/interface/ball/net.pal diff --git a/graphics/interface/ball/net.png b/graphics/interface/ball/net.png Binary files differindex 6fef48101..6fef48101 100755..100644 --- a/graphics/interface/ball/net.png +++ b/graphics/interface/ball/net.png diff --git a/graphics/interface/ball/poke.pal b/graphics/interface/ball/poke.pal index 0e6b2fb5c..0e6b2fb5c 100755..100644 --- a/graphics/interface/ball/poke.pal +++ b/graphics/interface/ball/poke.pal diff --git a/graphics/interface/ball/poke.png b/graphics/interface/ball/poke.png Binary files differindex 1e4aba669..1e4aba669 100755..100644 --- a/graphics/interface/ball/poke.png +++ b/graphics/interface/ball/poke.png diff --git a/graphics/interface/ball/premier.pal b/graphics/interface/ball/premier.pal index 0e6b2fb5c..0e6b2fb5c 100755..100644 --- a/graphics/interface/ball/premier.pal +++ b/graphics/interface/ball/premier.pal diff --git a/graphics/interface/ball/premier.png b/graphics/interface/ball/premier.png Binary files differindex f5aaadbaf..f5aaadbaf 100755..100644 --- a/graphics/interface/ball/premier.png +++ b/graphics/interface/ball/premier.png diff --git a/graphics/interface/ball/repeat.pal b/graphics/interface/ball/repeat.pal index c3689e13f..c3689e13f 100755..100644 --- a/graphics/interface/ball/repeat.pal +++ b/graphics/interface/ball/repeat.pal diff --git a/graphics/interface/ball/repeat.png b/graphics/interface/ball/repeat.png Binary files differindex 5abe789a2..5abe789a2 100755..100644 --- a/graphics/interface/ball/repeat.png +++ b/graphics/interface/ball/repeat.png diff --git a/graphics/interface/ball/safari.pal b/graphics/interface/ball/safari.pal index bbe4d76f3..bbe4d76f3 100755..100644 --- a/graphics/interface/ball/safari.pal +++ b/graphics/interface/ball/safari.pal diff --git a/graphics/interface/ball/safari.png b/graphics/interface/ball/safari.png Binary files differindex 0dd49aef9..0dd49aef9 100755..100644 --- a/graphics/interface/ball/safari.png +++ b/graphics/interface/ball/safari.png diff --git a/graphics/interface/ball/timer.pal b/graphics/interface/ball/timer.pal index e0c23569e..e0c23569e 100755..100644 --- a/graphics/interface/ball/timer.pal +++ b/graphics/interface/ball/timer.pal diff --git a/graphics/interface/ball/timer.png b/graphics/interface/ball/timer.png Binary files differindex 2b63f6795..2b63f6795 100755..100644 --- a/graphics/interface/ball/timer.png +++ b/graphics/interface/ball/timer.png diff --git a/graphics/interface/ball/ultra.pal b/graphics/interface/ball/ultra.pal index 3b7021097..3b7021097 100755..100644 --- a/graphics/interface/ball/ultra.pal +++ b/graphics/interface/ball/ultra.pal diff --git a/graphics/interface/ball/ultra.png b/graphics/interface/ball/ultra.png Binary files differindex edae9a9f1..edae9a9f1 100755..100644 --- a/graphics/interface/ball/ultra.png +++ b/graphics/interface/ball/ultra.png diff --git a/graphics/interface/ball_open.png b/graphics/interface/ball_open.png Binary files differindex 1030f4942..1030f4942 100755..100644 --- a/graphics/interface/ball_open.png +++ b/graphics/interface/ball_open.png diff --git a/graphics/interface/blank.pal b/graphics/interface/blank.pal index 9757f2e57..9757f2e57 100755..100644 --- a/graphics/interface/blank.pal +++ b/graphics/interface/blank.pal diff --git a/graphics/interface/blank.png b/graphics/interface/blank.png Binary files differindex 3a4ba289c..3a4ba289c 100755..100644 --- a/graphics/interface/blank.png +++ b/graphics/interface/blank.png diff --git a/graphics/interface/check_berry.pal b/graphics/interface/check_berry.pal index f4f6cb4e3..f4f6cb4e3 100755..100644 --- a/graphics/interface/check_berry.pal +++ b/graphics/interface/check_berry.pal diff --git a/graphics/interface/check_berry.png b/graphics/interface/check_berry.png Binary files differindex 8a4ea695a..8a4ea695a 100755..100644 --- a/graphics/interface/check_berry.png +++ b/graphics/interface/check_berry.png diff --git a/graphics/interface/check_berry_circle.png b/graphics/interface/check_berry_circle.png Binary files differindex 38f2ae26b..38f2ae26b 100755..100644 --- a/graphics/interface/check_berry_circle.png +++ b/graphics/interface/check_berry_circle.png diff --git a/graphics/interface/hold_icons.pal b/graphics/interface/hold_icons.pal index e31d717c9..e31d717c9 100755..100644 --- a/graphics/interface/hold_icons.pal +++ b/graphics/interface/hold_icons.pal diff --git a/graphics/interface/hold_icons.png b/graphics/interface/hold_icons.png Binary files differindex 53eeedde3..53eeedde3 100755..100644 --- a/graphics/interface/hold_icons.png +++ b/graphics/interface/hold_icons.png diff --git a/graphics/interface/hpbar_anim.png b/graphics/interface/hpbar_anim.png Binary files differindex d4e79fdae..d4e79fdae 100755..100644 --- a/graphics/interface/hpbar_anim.png +++ b/graphics/interface/hpbar_anim.png diff --git a/graphics/interface/mart_frame.bin b/graphics/interface/mart_frame.bin Binary files differindex e9bc3eaa7..e9bc3eaa7 100755..100644 --- a/graphics/interface/mart_frame.bin +++ b/graphics/interface/mart_frame.bin diff --git a/graphics/interface/mart_frame.png b/graphics/interface/mart_frame.png Binary files differindex a776e789a..a776e789a 100755..100644 --- a/graphics/interface/mart_frame.png +++ b/graphics/interface/mart_frame.png diff --git a/graphics/interface/menu.pal b/graphics/interface/menu.pal index 80a6cefcd..80a6cefcd 100755..100644 --- a/graphics/interface/menu.pal +++ b/graphics/interface/menu.pal diff --git a/graphics/interface/menu.png b/graphics/interface/menu.png Binary files differindex e82b78ff3..e82b78ff3 100755..100644 --- a/graphics/interface/menu.png +++ b/graphics/interface/menu.png diff --git a/graphics/interface/menu_0.pal b/graphics/interface/menu_0.pal index 67e1af896..67e1af896 100755..100644 --- a/graphics/interface/menu_0.pal +++ b/graphics/interface/menu_0.pal diff --git a/graphics/interface/menu_1.pal b/graphics/interface/menu_1.pal index 3adc73766..3adc73766 100755..100644 --- a/graphics/interface/menu_1.pal +++ b/graphics/interface/menu_1.pal diff --git a/graphics/interface/money.pal b/graphics/interface/money.pal index 3fa8d8cff..3fa8d8cff 100755..100644 --- a/graphics/interface/money.pal +++ b/graphics/interface/money.pal diff --git a/graphics/interface/money.png b/graphics/interface/money.png Binary files differindex 5ad533dbf..5ad533dbf 100755..100644 --- a/graphics/interface/money.png +++ b/graphics/interface/money.png diff --git a/graphics/interface/numbers1.png b/graphics/interface/numbers1.png Binary files differindex f15757958..f15757958 100755..100644 --- a/graphics/interface/numbers1.png +++ b/graphics/interface/numbers1.png diff --git a/graphics/interface/numbers2.png b/graphics/interface/numbers2.png Binary files differindex 4ddf364bf..4ddf364bf 100755..100644 --- a/graphics/interface/numbers2.png +++ b/graphics/interface/numbers2.png diff --git a/graphics/interface/party_menu_hpbar.png b/graphics/interface/party_menu_hpbar.png Binary files differindex 5860ada9b..5860ada9b 100755..100644 --- a/graphics/interface/party_menu_hpbar.png +++ b/graphics/interface/party_menu_hpbar.png diff --git a/graphics/interface/party_menu_misc.bin b/graphics/interface/party_menu_misc.bin Binary files differindex 3b3bcc57a..3b3bcc57a 100755..100644 --- a/graphics/interface/party_menu_misc.bin +++ b/graphics/interface/party_menu_misc.bin diff --git a/graphics/interface/party_menu_misc.pal b/graphics/interface/party_menu_misc.pal index 4bc706a6b..4bc706a6b 100755..100644 --- a/graphics/interface/party_menu_misc.pal +++ b/graphics/interface/party_menu_misc.pal diff --git a/graphics/interface/party_menu_misc.png b/graphics/interface/party_menu_misc.png Binary files differindex 6ca98493b..6ca98493b 100755..100644 --- a/graphics/interface/party_menu_misc.png +++ b/graphics/interface/party_menu_misc.png diff --git a/graphics/interface/party_menu_ordertext.png b/graphics/interface/party_menu_ordertext.png Binary files differindex 003af36d0..003af36d0 100755..100644 --- a/graphics/interface/party_menu_ordertext.png +++ b/graphics/interface/party_menu_ordertext.png diff --git a/graphics/interface/pokeblock.bin b/graphics/interface/pokeblock.bin Binary files differindex 232df0fdb..232df0fdb 100755..100644 --- a/graphics/interface/pokeblock.bin +++ b/graphics/interface/pokeblock.bin diff --git a/graphics/interface/pokeblock_case_frame.pal b/graphics/interface/pokeblock_case_frame.pal index ef58ae778..ef58ae778 100755..100644 --- a/graphics/interface/pokeblock_case_frame.pal +++ b/graphics/interface/pokeblock_case_frame.pal diff --git a/graphics/interface/pokeblock_case_frame.png b/graphics/interface/pokeblock_case_frame.png Binary files differindex 646636365..646636365 100755..100644 --- a/graphics/interface/pokeblock_case_frame.png +++ b/graphics/interface/pokeblock_case_frame.png diff --git a/graphics/interface/pokeblock_device.pal b/graphics/interface/pokeblock_device.pal index a491b61af..a491b61af 100755..100644 --- a/graphics/interface/pokeblock_device.pal +++ b/graphics/interface/pokeblock_device.pal diff --git a/graphics/interface/pokeblock_device.png b/graphics/interface/pokeblock_device.png Binary files differindex 65b29a8b3..65b29a8b3 100755..100644 --- a/graphics/interface/pokeblock_device.png +++ b/graphics/interface/pokeblock_device.png diff --git a/graphics/interface/status_icons.pal b/graphics/interface/status_icons.pal index 718f5bb77..718f5bb77 100755..100644 --- a/graphics/interface/status_icons.pal +++ b/graphics/interface/status_icons.pal diff --git a/graphics/interface/status_icons.png b/graphics/interface/status_icons.png Binary files differindex f319d5566..f319d5566 100755..100644 --- a/graphics/interface/status_icons.png +++ b/graphics/interface/status_icons.png diff --git a/graphics/interface/status_screen.pal b/graphics/interface/status_screen.pal index 61cd08f0c..61cd08f0c 100755..100644 --- a/graphics/interface/status_screen.pal +++ b/graphics/interface/status_screen.pal diff --git a/graphics/interface/status_screen.png b/graphics/interface/status_screen.png Binary files differindex 3024a035c..3024a035c 100755..100644 --- a/graphics/interface/status_screen.png +++ b/graphics/interface/status_screen.png diff --git a/graphics/interface/summary_frames.pal b/graphics/interface/summary_frames.pal index d46aa6c8f..d46aa6c8f 100755..100644 --- a/graphics/interface/summary_frames.pal +++ b/graphics/interface/summary_frames.pal diff --git a/graphics/interface/summary_frames.png b/graphics/interface/summary_frames.png Binary files differindex d3c9a2c08..d3c9a2c08 100755..100644 --- a/graphics/interface/summary_frames.png +++ b/graphics/interface/summary_frames.png diff --git a/graphics/intro/intro1_bg.png b/graphics/intro/intro1_bg.png Binary files differindex 14b3cb5ec..14b3cb5ec 100755..100644 --- a/graphics/intro/intro1_bg.png +++ b/graphics/intro/intro1_bg.png diff --git a/graphics/intro/intro1_bgpal1.pal b/graphics/intro/intro1_bgpal1.pal index 3617c25a8..3617c25a8 100755..100644 --- a/graphics/intro/intro1_bgpal1.pal +++ b/graphics/intro/intro1_bgpal1.pal diff --git a/graphics/intro/intro1_bgpal10.pal b/graphics/intro/intro1_bgpal10.pal index 4b0812f09..4b0812f09 100755..100644 --- a/graphics/intro/intro1_bgpal10.pal +++ b/graphics/intro/intro1_bgpal10.pal diff --git a/graphics/intro/intro1_bgpal11.pal b/graphics/intro/intro1_bgpal11.pal index 4b0812f09..4b0812f09 100755..100644 --- a/graphics/intro/intro1_bgpal11.pal +++ b/graphics/intro/intro1_bgpal11.pal diff --git a/graphics/intro/intro1_bgpal12.pal b/graphics/intro/intro1_bgpal12.pal index 4b0812f09..4b0812f09 100755..100644 --- a/graphics/intro/intro1_bgpal12.pal +++ b/graphics/intro/intro1_bgpal12.pal diff --git a/graphics/intro/intro1_bgpal13.pal b/graphics/intro/intro1_bgpal13.pal index 4b0812f09..4b0812f09 100755..100644 --- a/graphics/intro/intro1_bgpal13.pal +++ b/graphics/intro/intro1_bgpal13.pal diff --git a/graphics/intro/intro1_bgpal14.pal b/graphics/intro/intro1_bgpal14.pal index 4b0812f09..4b0812f09 100755..100644 --- a/graphics/intro/intro1_bgpal14.pal +++ b/graphics/intro/intro1_bgpal14.pal diff --git a/graphics/intro/intro1_bgpal15.pal b/graphics/intro/intro1_bgpal15.pal index 4b0812f09..4b0812f09 100755..100644 --- a/graphics/intro/intro1_bgpal15.pal +++ b/graphics/intro/intro1_bgpal15.pal diff --git a/graphics/intro/intro1_bgpal16.pal b/graphics/intro/intro1_bgpal16.pal index 4b0812f09..4b0812f09 100755..100644 --- a/graphics/intro/intro1_bgpal16.pal +++ b/graphics/intro/intro1_bgpal16.pal diff --git a/graphics/intro/intro1_bgpal2.pal b/graphics/intro/intro1_bgpal2.pal index 3617c25a8..3617c25a8 100755..100644 --- a/graphics/intro/intro1_bgpal2.pal +++ b/graphics/intro/intro1_bgpal2.pal diff --git a/graphics/intro/intro1_bgpal3.pal b/graphics/intro/intro1_bgpal3.pal index 8a1fb05a5..8a1fb05a5 100755..100644 --- a/graphics/intro/intro1_bgpal3.pal +++ b/graphics/intro/intro1_bgpal3.pal diff --git a/graphics/intro/intro1_bgpal4.pal b/graphics/intro/intro1_bgpal4.pal index 9761c8fac..9761c8fac 100755..100644 --- a/graphics/intro/intro1_bgpal4.pal +++ b/graphics/intro/intro1_bgpal4.pal diff --git a/graphics/intro/intro1_bgpal5.pal b/graphics/intro/intro1_bgpal5.pal index 3617c25a8..3617c25a8 100755..100644 --- a/graphics/intro/intro1_bgpal5.pal +++ b/graphics/intro/intro1_bgpal5.pal diff --git a/graphics/intro/intro1_bgpal6.pal b/graphics/intro/intro1_bgpal6.pal index c242494ac..c242494ac 100755..100644 --- a/graphics/intro/intro1_bgpal6.pal +++ b/graphics/intro/intro1_bgpal6.pal diff --git a/graphics/intro/intro1_bgpal7.pal b/graphics/intro/intro1_bgpal7.pal index 4b0812f09..4b0812f09 100755..100644 --- a/graphics/intro/intro1_bgpal7.pal +++ b/graphics/intro/intro1_bgpal7.pal diff --git a/graphics/intro/intro1_bgpal8.pal b/graphics/intro/intro1_bgpal8.pal index aef9152e4..aef9152e4 100755..100644 --- a/graphics/intro/intro1_bgpal8.pal +++ b/graphics/intro/intro1_bgpal8.pal diff --git a/graphics/intro/intro1_bgpal9.pal b/graphics/intro/intro1_bgpal9.pal index 4b0812f09..4b0812f09 100755..100644 --- a/graphics/intro/intro1_bgpal9.pal +++ b/graphics/intro/intro1_bgpal9.pal diff --git a/graphics/intro/intro1_eon.pal b/graphics/intro/intro1_eon.pal index dcfc242a5..dcfc242a5 100755..100644 --- a/graphics/intro/intro1_eon.pal +++ b/graphics/intro/intro1_eon.pal diff --git a/graphics/intro/intro1_eon.png b/graphics/intro/intro1_eon.png Binary files differindex cf8eedc08..cf8eedc08 100755..100644 --- a/graphics/intro/intro1_eon.png +++ b/graphics/intro/intro1_eon.png diff --git a/graphics/intro/intro1_gamefreak.pal b/graphics/intro/intro1_gamefreak.pal index aef9152e4..aef9152e4 100755..100644 --- a/graphics/intro/intro1_gamefreak.pal +++ b/graphics/intro/intro1_gamefreak.pal diff --git a/graphics/intro/intro1_gamefreak.png b/graphics/intro/intro1_gamefreak.png Binary files differindex fe734a591..fe734a591 100755..100644 --- a/graphics/intro/intro1_gamefreak.png +++ b/graphics/intro/intro1_gamefreak.png diff --git a/graphics/intro/intro1_leaves.png b/graphics/intro/intro1_leaves.png Binary files differindex 38c442b24..38c442b24 100755..100644 --- a/graphics/intro/intro1_leaves.png +++ b/graphics/intro/intro1_leaves.png diff --git a/graphics/intro/intro1_waterdrops.png b/graphics/intro/intro1_waterdrops.png Binary files differindex 13dd3e216..13dd3e216 100755..100644 --- a/graphics/intro/intro1_waterdrops.png +++ b/graphics/intro/intro1_waterdrops.png diff --git a/graphics/intro/intro2_bgclouds.pal b/graphics/intro/intro2_bgclouds.pal index 6b312a16c..6b312a16c 100755..100644 --- a/graphics/intro/intro2_bgclouds.pal +++ b/graphics/intro/intro2_bgclouds.pal diff --git a/graphics/intro/intro2_bgclouds.png b/graphics/intro/intro2_bgclouds.png Binary files differindex 7ba3d78f4..7ba3d78f4 100755..100644 --- a/graphics/intro/intro2_bgclouds.png +++ b/graphics/intro/intro2_bgclouds.png diff --git a/graphics/intro/intro2_bgclouds2.png b/graphics/intro/intro2_bgclouds2.png Binary files differindex 933332fdd..933332fdd 100755..100644 --- a/graphics/intro/intro2_bgclouds2.png +++ b/graphics/intro/intro2_bgclouds2.png diff --git a/graphics/intro/intro2_bgnight.pal b/graphics/intro/intro2_bgnight.pal index 765aad45a..765aad45a 100755..100644 --- a/graphics/intro/intro2_bgnight.pal +++ b/graphics/intro/intro2_bgnight.pal diff --git a/graphics/intro/intro2_bgnight.png b/graphics/intro/intro2_bgnight.png Binary files differindex cb95bb04f..cb95bb04f 100755..100644 --- a/graphics/intro/intro2_bgnight.png +++ b/graphics/intro/intro2_bgnight.png diff --git a/graphics/intro/intro2_bgtrees.pal b/graphics/intro/intro2_bgtrees.pal index 5c506481a..5c506481a 100755..100644 --- a/graphics/intro/intro2_bgtrees.pal +++ b/graphics/intro/intro2_bgtrees.pal diff --git a/graphics/intro/intro2_bgtrees.png b/graphics/intro/intro2_bgtrees.png Binary files differindex e6d163579..e6d163579 100755..100644 --- a/graphics/intro/intro2_bgtrees.png +++ b/graphics/intro/intro2_bgtrees.png diff --git a/graphics/intro/intro2_bgtreessmall.png b/graphics/intro/intro2_bgtreessmall.png Binary files differindex 33a7213b8..33a7213b8 100755..100644 --- a/graphics/intro/intro2_bgtreessmall.png +++ b/graphics/intro/intro2_bgtreessmall.png diff --git a/graphics/intro/intro2_bicycle.png b/graphics/intro/intro2_bicycle.png Binary files differindex 49af395bd..49af395bd 100755..100644 --- a/graphics/intro/intro2_bicycle.png +++ b/graphics/intro/intro2_bicycle.png diff --git a/graphics/intro/intro2_brendan.pal b/graphics/intro/intro2_brendan.pal index 5a8f9efcc..5a8f9efcc 100755..100644 --- a/graphics/intro/intro2_brendan.pal +++ b/graphics/intro/intro2_brendan.pal diff --git a/graphics/intro/intro2_brendan.png b/graphics/intro/intro2_brendan.png Binary files differindex d09913663..d09913663 100755..100644 --- a/graphics/intro/intro2_brendan.png +++ b/graphics/intro/intro2_brendan.png diff --git a/graphics/intro/intro2_grass.pal b/graphics/intro/intro2_grass.pal index 389977abf..389977abf 100755..100644 --- a/graphics/intro/intro2_grass.pal +++ b/graphics/intro/intro2_grass.pal diff --git a/graphics/intro/intro2_grass.png b/graphics/intro/intro2_grass.png Binary files differindex e573ca45e..e573ca45e 100755..100644 --- a/graphics/intro/intro2_grass.png +++ b/graphics/intro/intro2_grass.png diff --git a/graphics/intro/intro2_latias.pal b/graphics/intro/intro2_latias.pal index 0af96be29..0af96be29 100755..100644 --- a/graphics/intro/intro2_latias.pal +++ b/graphics/intro/intro2_latias.pal diff --git a/graphics/intro/intro2_latias.png b/graphics/intro/intro2_latias.png Binary files differindex 5623895ce..5623895ce 100755..100644 --- a/graphics/intro/intro2_latias.png +++ b/graphics/intro/intro2_latias.png diff --git a/graphics/intro/intro2_latios.pal b/graphics/intro/intro2_latios.pal index bb51c0a7d..bb51c0a7d 100755..100644 --- a/graphics/intro/intro2_latios.pal +++ b/graphics/intro/intro2_latios.pal diff --git a/graphics/intro/intro2_latios.png b/graphics/intro/intro2_latios.png Binary files differindex 439e26fe6..439e26fe6 100755..100644 --- a/graphics/intro/intro2_latios.png +++ b/graphics/intro/intro2_latios.png diff --git a/graphics/intro/intro2_may.pal b/graphics/intro/intro2_may.pal index 4d15e827b..4d15e827b 100755..100644 --- a/graphics/intro/intro2_may.pal +++ b/graphics/intro/intro2_may.pal diff --git a/graphics/intro/intro2_may.png b/graphics/intro/intro2_may.png Binary files differindex bad682bbb..bad682bbb 100755..100644 --- a/graphics/intro/intro2_may.png +++ b/graphics/intro/intro2_may.png diff --git a/graphics/intro/intro3_attackgfx.png b/graphics/intro/intro3_attackgfx.png Binary files differindex 0ab052e36..0ab052e36 100755..100644 --- a/graphics/intro/intro3_attackgfx.png +++ b/graphics/intro/intro3_attackgfx.png diff --git a/graphics/intro/intro3_explosion.png b/graphics/intro/intro3_explosion.png Binary files differindex 1b687e53d..1b687e53d 100755..100644 --- a/graphics/intro/intro3_explosion.png +++ b/graphics/intro/intro3_explosion.png diff --git a/graphics/intro/intro3_misc1.pal b/graphics/intro/intro3_misc1.pal index a34bebc24..a34bebc24 100755..100644 --- a/graphics/intro/intro3_misc1.pal +++ b/graphics/intro/intro3_misc1.pal diff --git a/graphics/intro/intro3_misc2.pal b/graphics/intro/intro3_misc2.pal index 3c985dc07..3c985dc07 100755..100644 --- a/graphics/intro/intro3_misc2.pal +++ b/graphics/intro/intro3_misc2.pal diff --git a/graphics/intro/intro3_pokeball.pal b/graphics/intro/intro3_pokeball.pal index d520a5e82..d520a5e82 100755..100644 --- a/graphics/intro/intro3_pokeball.pal +++ b/graphics/intro/intro3_pokeball.pal diff --git a/graphics/intro/intro3_pokeball.png b/graphics/intro/intro3_pokeball.png Binary files differindex 4af0187f8..4af0187f8 100755..100644 --- a/graphics/intro/intro3_pokeball.png +++ b/graphics/intro/intro3_pokeball.png diff --git a/graphics/intro/intro3_star.png b/graphics/intro/intro3_star.png Binary files differindex fb9368c34..fb9368c34 100755..100644 --- a/graphics/intro/intro3_star.png +++ b/graphics/intro/intro3_star.png diff --git a/graphics/misc/birch_bag.pal b/graphics/misc/birch_bag.pal index ca609b98d..ca609b98d 100755..100644 --- a/graphics/misc/birch_bag.pal +++ b/graphics/misc/birch_bag.pal diff --git a/graphics/misc/birch_bag.png b/graphics/misc/birch_bag.png Binary files differindex 86bfbbbc0..86bfbbbc0 100755..100644 --- a/graphics/misc/birch_bag.png +++ b/graphics/misc/birch_bag.png diff --git a/graphics/misc/birch_ballarrow.pal b/graphics/misc/birch_ballarrow.pal index 12f7e8075..12f7e8075 100755..100644 --- a/graphics/misc/birch_ballarrow.pal +++ b/graphics/misc/birch_ballarrow.pal diff --git a/graphics/misc/birch_ballarrow.png b/graphics/misc/birch_ballarrow.png Binary files differindex d2f0a3d97..d2f0a3d97 100755..100644 --- a/graphics/misc/birch_ballarrow.png +++ b/graphics/misc/birch_ballarrow.png diff --git a/graphics/misc/birch_circle.pal b/graphics/misc/birch_circle.pal index 52239fbc3..52239fbc3 100755..100644 --- a/graphics/misc/birch_circle.pal +++ b/graphics/misc/birch_circle.pal diff --git a/graphics/misc/birch_circle.png b/graphics/misc/birch_circle.png Binary files differindex 3501dfec4..3501dfec4 100755..100644 --- a/graphics/misc/birch_circle.png +++ b/graphics/misc/birch_circle.png diff --git a/graphics/misc/birch_grass.pal b/graphics/misc/birch_grass.pal index 9a87ec0d5..9a87ec0d5 100755..100644 --- a/graphics/misc/birch_grass.pal +++ b/graphics/misc/birch_grass.pal diff --git a/graphics/misc/birch_grass.png b/graphics/misc/birch_grass.png Binary files differindex 838fa5f4c..838fa5f4c 100755..100644 --- a/graphics/misc/birch_grass.png +++ b/graphics/misc/birch_grass.png diff --git a/graphics/misc/cable_car.pal b/graphics/misc/cable_car.pal index 64985f6da..64985f6da 100755..100644 --- a/graphics/misc/cable_car.pal +++ b/graphics/misc/cable_car.pal diff --git a/graphics/misc/cable_car.png b/graphics/misc/cable_car.png Binary files differindex 67f581fb9..67f581fb9 100755..100644 --- a/graphics/misc/cable_car.png +++ b/graphics/misc/cable_car.png diff --git a/graphics/misc/cable_car_bg.pal b/graphics/misc/cable_car_bg.pal index d543b4cce..d543b4cce 100755..100644 --- a/graphics/misc/cable_car_bg.pal +++ b/graphics/misc/cable_car_bg.pal diff --git a/graphics/misc/cable_car_bg.png b/graphics/misc/cable_car_bg.png Binary files differindex f268ea990..f268ea990 100755..100644 --- a/graphics/misc/cable_car_bg.png +++ b/graphics/misc/cable_car_bg.png diff --git a/graphics/misc/cable_car_cord.png b/graphics/misc/cable_car_cord.png Binary files differindex b8176d3ca..b8176d3ca 100755..100644 --- a/graphics/misc/cable_car_cord.png +++ b/graphics/misc/cable_car_cord.png diff --git a/graphics/misc/cable_car_door.png b/graphics/misc/cable_car_door.png Binary files differindex a61b3f504..a61b3f504 100755..100644 --- a/graphics/misc/cable_car_door.png +++ b/graphics/misc/cable_car_door.png diff --git a/graphics/misc/clock1.pal b/graphics/misc/clock1.pal index 1582ebfd2..1582ebfd2 100755..100644 --- a/graphics/misc/clock1.pal +++ b/graphics/misc/clock1.pal diff --git a/graphics/misc/clock2.pal b/graphics/misc/clock2.pal index a7909e2e0..a7909e2e0 100755..100644 --- a/graphics/misc/clock2.pal +++ b/graphics/misc/clock2.pal diff --git a/graphics/misc/clock_ampm.png b/graphics/misc/clock_ampm.png Binary files differindex b0d596293..b0d596293 100755..100644 --- a/graphics/misc/clock_ampm.png +++ b/graphics/misc/clock_ampm.png diff --git a/graphics/misc/clock_hands.png b/graphics/misc/clock_hands.png Binary files differindex 016625770..016625770 100755..100644 --- a/graphics/misc/clock_hands.png +++ b/graphics/misc/clock_hands.png diff --git a/graphics/misc/clock_small.pal b/graphics/misc/clock_small.pal index 3398fcbe3..3398fcbe3 100755..100644 --- a/graphics/misc/clock_small.pal +++ b/graphics/misc/clock_small.pal diff --git a/graphics/misc/clock_small.png b/graphics/misc/clock_small.png Binary files differindex 6b9f6c1f7..6b9f6c1f7 100755..100644 --- a/graphics/misc/clock_small.png +++ b/graphics/misc/clock_small.png diff --git a/graphics/misc/confetti.pal b/graphics/misc/confetti.pal index f2494e508..f2494e508 100755..100644 --- a/graphics/misc/confetti.pal +++ b/graphics/misc/confetti.pal diff --git a/graphics/misc/confetti.png b/graphics/misc/confetti.png Binary files differindex ef8b921d8..ef8b921d8 100755..100644 --- a/graphics/misc/confetti.png +++ b/graphics/misc/confetti.png diff --git a/graphics/misc/diploma.png b/graphics/misc/diploma.png Binary files differindex d9607dce6..d9607dce6 100755..100644 --- a/graphics/misc/diploma.png +++ b/graphics/misc/diploma.png diff --git a/graphics/misc/diploma_national.pal b/graphics/misc/diploma_national.pal index 03c37bf22..03c37bf22 100755..100644 --- a/graphics/misc/diploma_national.pal +++ b/graphics/misc/diploma_national.pal diff --git a/graphics/misc/egg_hatch.png b/graphics/misc/egg_hatch.png Binary files differindex abea3122f..abea3122f 100755..100644 --- a/graphics/misc/egg_hatch.png +++ b/graphics/misc/egg_hatch.png diff --git a/graphics/misc/egg_shard.png b/graphics/misc/egg_shard.png Binary files differindex d404445b8..d404445b8 100755..100644 --- a/graphics/misc/egg_shard.png +++ b/graphics/misc/egg_shard.png diff --git a/graphics/misc/evo_sparkle.pal b/graphics/misc/evo_sparkle.pal index 7ccbffd1d..7ccbffd1d 100755..100644 --- a/graphics/misc/evo_sparkle.pal +++ b/graphics/misc/evo_sparkle.pal diff --git a/graphics/misc/evo_sparkle.png b/graphics/misc/evo_sparkle.png Binary files differindex ac6172602..ac6172602 100755..100644 --- a/graphics/misc/evo_sparkle.png +++ b/graphics/misc/evo_sparkle.png diff --git a/graphics/misc/interview_frame.pal b/graphics/misc/interview_frame.pal index 7d6c36d2b..7d6c36d2b 100755..100644 --- a/graphics/misc/interview_frame.pal +++ b/graphics/misc/interview_frame.pal diff --git a/graphics/misc/interview_frame.png b/graphics/misc/interview_frame.png Binary files differindex 63470e729..63470e729 100755..100644 --- a/graphics/misc/interview_frame.png +++ b/graphics/misc/interview_frame.png diff --git a/graphics/misc/ribbons_beauty.pal b/graphics/misc/ribbons_beauty.pal index 78dcdf6f0..78dcdf6f0 100755..100644 --- a/graphics/misc/ribbons_beauty.pal +++ b/graphics/misc/ribbons_beauty.pal diff --git a/graphics/misc/ribbons_cool.pal b/graphics/misc/ribbons_cool.pal index ae6725c65..ae6725c65 100755..100644 --- a/graphics/misc/ribbons_cool.pal +++ b/graphics/misc/ribbons_cool.pal diff --git a/graphics/misc/ribbons_cute.pal b/graphics/misc/ribbons_cute.pal index 7deb2fd4d..7deb2fd4d 100755..100644 --- a/graphics/misc/ribbons_cute.pal +++ b/graphics/misc/ribbons_cute.pal diff --git a/graphics/misc/ribbons_full.png b/graphics/misc/ribbons_full.png Binary files differindex aeaecc5e5..aeaecc5e5 100755..100644 --- a/graphics/misc/ribbons_full.png +++ b/graphics/misc/ribbons_full.png diff --git a/graphics/misc/ribbons_half.pal b/graphics/misc/ribbons_half.pal index ad0de0547..ad0de0547 100755..100644 --- a/graphics/misc/ribbons_half.pal +++ b/graphics/misc/ribbons_half.pal diff --git a/graphics/misc/ribbons_half.png b/graphics/misc/ribbons_half.png Binary files differindex 095891feb..095891feb 100755..100644 --- a/graphics/misc/ribbons_half.png +++ b/graphics/misc/ribbons_half.png diff --git a/graphics/misc/ribbons_smart.pal b/graphics/misc/ribbons_smart.pal index 3321186ed..3321186ed 100755..100644 --- a/graphics/misc/ribbons_smart.pal +++ b/graphics/misc/ribbons_smart.pal diff --git a/graphics/misc/ribbons_tough.pal b/graphics/misc/ribbons_tough.pal index 0a01d552f..0a01d552f 100755..100644 --- a/graphics/misc/ribbons_tough.pal +++ b/graphics/misc/ribbons_tough.pal diff --git a/graphics/naming_screen/menu.png b/graphics/naming_screen/menu.png Binary files differindex aae121e3e..aae121e3e 100755..100644 --- a/graphics/naming_screen/menu.png +++ b/graphics/naming_screen/menu.png diff --git a/graphics/pokedex/area_glow.pal b/graphics/pokedex/area_glow.pal index 0b9ac5a6d..0b9ac5a6d 100755..100644 --- a/graphics/pokedex/area_glow.pal +++ b/graphics/pokedex/area_glow.pal diff --git a/graphics/pokedex/area_glow.png b/graphics/pokedex/area_glow.png Binary files differindex 039e932a8..039e932a8 100755..100644 --- a/graphics/pokedex/area_glow.png +++ b/graphics/pokedex/area_glow.png diff --git a/graphics/pokedex/arrows.pal b/graphics/pokedex/arrows.pal index 256cee631..256cee631 100755..100644 --- a/graphics/pokedex/arrows.pal +++ b/graphics/pokedex/arrows.pal diff --git a/graphics/pokedex/arrows.png b/graphics/pokedex/arrows.png Binary files differindex 2abf39366..2abf39366 100755..100644 --- a/graphics/pokedex/arrows.png +++ b/graphics/pokedex/arrows.png diff --git a/graphics/pokedex/cry_meter.pal b/graphics/pokedex/cry_meter.pal index 224f3d983..224f3d983 100755..100644 --- a/graphics/pokedex/cry_meter.pal +++ b/graphics/pokedex/cry_meter.pal diff --git a/graphics/pokedex/cry_meter.png b/graphics/pokedex/cry_meter.png Binary files differindex ec6b0ed43..ec6b0ed43 100755..100644 --- a/graphics/pokedex/cry_meter.png +++ b/graphics/pokedex/cry_meter.png diff --git a/graphics/pokedex/menu.png b/graphics/pokedex/menu.png Binary files differindex dd8ab63a7..dd8ab63a7 100755..100644 --- a/graphics/pokedex/menu.png +++ b/graphics/pokedex/menu.png diff --git a/graphics/pokedex/menu1.pal b/graphics/pokedex/menu1.pal index 9850d59b0..9850d59b0 100755..100644 --- a/graphics/pokedex/menu1.pal +++ b/graphics/pokedex/menu1.pal diff --git a/graphics/pokedex/menu2.pal b/graphics/pokedex/menu2.pal index da71fe5ba..da71fe5ba 100755..100644 --- a/graphics/pokedex/menu2.pal +++ b/graphics/pokedex/menu2.pal diff --git a/graphics/pokedex/menu2.png b/graphics/pokedex/menu2.png Binary files differindex 27de53df0..27de53df0 100755..100644 --- a/graphics/pokedex/menu2.png +++ b/graphics/pokedex/menu2.png diff --git a/graphics/pokedex/menu3.pal b/graphics/pokedex/menu3.pal index 101b62b41..101b62b41 100755..100644 --- a/graphics/pokedex/menu3.pal +++ b/graphics/pokedex/menu3.pal diff --git a/graphics/pokedex/menu_search.png b/graphics/pokedex/menu_search.png Binary files differindex d1c4ae466..d1c4ae466 100755..100644 --- a/graphics/pokedex/menu_search.png +++ b/graphics/pokedex/menu_search.png diff --git a/graphics/pokedex/noball.png b/graphics/pokedex/noball.png Binary files differindex 40acfbd7d..40acfbd7d 100755..100644 --- a/graphics/pokedex/noball.png +++ b/graphics/pokedex/noball.png diff --git a/graphics/pokemon_storage/arrow.pal b/graphics/pokemon_storage/arrow.pal index 527c10ba2..527c10ba2 100755..100644 --- a/graphics/pokemon_storage/arrow.pal +++ b/graphics/pokemon_storage/arrow.pal diff --git a/graphics/pokemon_storage/arrow.png b/graphics/pokemon_storage/arrow.png Binary files differindex 53aae9e51..53aae9e51 100755..100644 --- a/graphics/pokemon_storage/arrow.png +++ b/graphics/pokemon_storage/arrow.png diff --git a/graphics/pokemon_storage/beach.bin b/graphics/pokemon_storage/beach.bin Binary files differindex aa2a97d94..aa2a97d94 100755..100644 --- a/graphics/pokemon_storage/beach.bin +++ b/graphics/pokemon_storage/beach.bin diff --git a/graphics/pokemon_storage/beach_bg.pal b/graphics/pokemon_storage/beach_bg.pal index b7cb930c4..b7cb930c4 100755..100644 --- a/graphics/pokemon_storage/beach_bg.pal +++ b/graphics/pokemon_storage/beach_bg.pal diff --git a/graphics/pokemon_storage/beach_bg.png b/graphics/pokemon_storage/beach_bg.png Binary files differindex e90325251..e90325251 100755..100644 --- a/graphics/pokemon_storage/beach_bg.png +++ b/graphics/pokemon_storage/beach_bg.png diff --git a/graphics/pokemon_storage/beach_frame.pal b/graphics/pokemon_storage/beach_frame.pal index 360d77bde..360d77bde 100755..100644 --- a/graphics/pokemon_storage/beach_frame.pal +++ b/graphics/pokemon_storage/beach_frame.pal diff --git a/graphics/pokemon_storage/beach_frame.png b/graphics/pokemon_storage/beach_frame.png Binary files differindex c2b17f4d5..c2b17f4d5 100755..100644 --- a/graphics/pokemon_storage/beach_frame.png +++ b/graphics/pokemon_storage/beach_frame.png diff --git a/graphics/pokemon_storage/box_bg1.pal b/graphics/pokemon_storage/box_bg1.pal index 52ac12110..52ac12110 100755..100644 --- a/graphics/pokemon_storage/box_bg1.pal +++ b/graphics/pokemon_storage/box_bg1.pal diff --git a/graphics/pokemon_storage/box_bg2.pal b/graphics/pokemon_storage/box_bg2.pal index 4b0812f09..4b0812f09 100755..100644 --- a/graphics/pokemon_storage/box_bg2.pal +++ b/graphics/pokemon_storage/box_bg2.pal diff --git a/graphics/pokemon_storage/box_bg3.pal b/graphics/pokemon_storage/box_bg3.pal index 87eb83684..87eb83684 100755..100644 --- a/graphics/pokemon_storage/box_bg3.pal +++ b/graphics/pokemon_storage/box_bg3.pal diff --git a/graphics/pokemon_storage/box_bg4.pal b/graphics/pokemon_storage/box_bg4.pal index a15c0ba56..a15c0ba56 100755..100644 --- a/graphics/pokemon_storage/box_bg4.pal +++ b/graphics/pokemon_storage/box_bg4.pal diff --git a/graphics/pokemon_storage/cave.bin b/graphics/pokemon_storage/cave.bin Binary files differindex e8cec86f6..e8cec86f6 100755..100644 --- a/graphics/pokemon_storage/cave.bin +++ b/graphics/pokemon_storage/cave.bin diff --git a/graphics/pokemon_storage/cave_bg.pal b/graphics/pokemon_storage/cave_bg.pal index 6b783cdd5..6b783cdd5 100755..100644 --- a/graphics/pokemon_storage/cave_bg.pal +++ b/graphics/pokemon_storage/cave_bg.pal diff --git a/graphics/pokemon_storage/cave_bg.png b/graphics/pokemon_storage/cave_bg.png Binary files differindex 6a4a7ae7a..6a4a7ae7a 100755..100644 --- a/graphics/pokemon_storage/cave_bg.png +++ b/graphics/pokemon_storage/cave_bg.png diff --git a/graphics/pokemon_storage/cave_frame.pal b/graphics/pokemon_storage/cave_frame.pal index f6e731395..f6e731395 100755..100644 --- a/graphics/pokemon_storage/cave_frame.pal +++ b/graphics/pokemon_storage/cave_frame.pal diff --git a/graphics/pokemon_storage/cave_frame.png b/graphics/pokemon_storage/cave_frame.png Binary files differindex 484e6dd06..484e6dd06 100755..100644 --- a/graphics/pokemon_storage/cave_frame.png +++ b/graphics/pokemon_storage/cave_frame.png diff --git a/graphics/pokemon_storage/city.bin b/graphics/pokemon_storage/city.bin Binary files differindex 8274f44a4..8274f44a4 100755..100644 --- a/graphics/pokemon_storage/city.bin +++ b/graphics/pokemon_storage/city.bin diff --git a/graphics/pokemon_storage/city_bg.pal b/graphics/pokemon_storage/city_bg.pal index ba67b3414..ba67b3414 100755..100644 --- a/graphics/pokemon_storage/city_bg.pal +++ b/graphics/pokemon_storage/city_bg.pal diff --git a/graphics/pokemon_storage/city_bg.png b/graphics/pokemon_storage/city_bg.png Binary files differindex 3e9ee0168..3e9ee0168 100755..100644 --- a/graphics/pokemon_storage/city_bg.png +++ b/graphics/pokemon_storage/city_bg.png diff --git a/graphics/pokemon_storage/city_frame.pal b/graphics/pokemon_storage/city_frame.pal index a5387638a..a5387638a 100755..100644 --- a/graphics/pokemon_storage/city_frame.pal +++ b/graphics/pokemon_storage/city_frame.pal diff --git a/graphics/pokemon_storage/city_frame.png b/graphics/pokemon_storage/city_frame.png Binary files differindex 5464bc160..5464bc160 100755..100644 --- a/graphics/pokemon_storage/city_frame.png +++ b/graphics/pokemon_storage/city_frame.png diff --git a/graphics/pokemon_storage/crag.bin b/graphics/pokemon_storage/crag.bin Binary files differindex ce256ff37..ce256ff37 100755..100644 --- a/graphics/pokemon_storage/crag.bin +++ b/graphics/pokemon_storage/crag.bin diff --git a/graphics/pokemon_storage/crag_bg.pal b/graphics/pokemon_storage/crag_bg.pal index f72b27d13..f72b27d13 100755..100644 --- a/graphics/pokemon_storage/crag_bg.pal +++ b/graphics/pokemon_storage/crag_bg.pal diff --git a/graphics/pokemon_storage/crag_bg.png b/graphics/pokemon_storage/crag_bg.png Binary files differindex 6eea4e118..6eea4e118 100755..100644 --- a/graphics/pokemon_storage/crag_bg.png +++ b/graphics/pokemon_storage/crag_bg.png diff --git a/graphics/pokemon_storage/crag_frame.pal b/graphics/pokemon_storage/crag_frame.pal index c4f85c644..c4f85c644 100755..100644 --- a/graphics/pokemon_storage/crag_frame.pal +++ b/graphics/pokemon_storage/crag_frame.pal diff --git a/graphics/pokemon_storage/crag_frame.png b/graphics/pokemon_storage/crag_frame.png Binary files differindex 9d5d9cab9..9d5d9cab9 100755..100644 --- a/graphics/pokemon_storage/crag_frame.png +++ b/graphics/pokemon_storage/crag_frame.png diff --git a/graphics/pokemon_storage/desert.bin b/graphics/pokemon_storage/desert.bin Binary files differindex 75207eaf5..75207eaf5 100755..100644 --- a/graphics/pokemon_storage/desert.bin +++ b/graphics/pokemon_storage/desert.bin diff --git a/graphics/pokemon_storage/desert_bg.pal b/graphics/pokemon_storage/desert_bg.pal index c5ca027d2..c5ca027d2 100755..100644 --- a/graphics/pokemon_storage/desert_bg.pal +++ b/graphics/pokemon_storage/desert_bg.pal diff --git a/graphics/pokemon_storage/desert_bg.png b/graphics/pokemon_storage/desert_bg.png Binary files differindex 04d467025..04d467025 100755..100644 --- a/graphics/pokemon_storage/desert_bg.png +++ b/graphics/pokemon_storage/desert_bg.png diff --git a/graphics/pokemon_storage/desert_frame.pal b/graphics/pokemon_storage/desert_frame.pal index 4cf04f8ae..4cf04f8ae 100755..100644 --- a/graphics/pokemon_storage/desert_frame.pal +++ b/graphics/pokemon_storage/desert_frame.pal diff --git a/graphics/pokemon_storage/desert_frame.png b/graphics/pokemon_storage/desert_frame.png Binary files differindex e19e9eee8..e19e9eee8 100755..100644 --- a/graphics/pokemon_storage/desert_frame.png +++ b/graphics/pokemon_storage/desert_frame.png diff --git a/graphics/pokemon_storage/forest.bin b/graphics/pokemon_storage/forest.bin Binary files differindex 005155f6c..005155f6c 100755..100644 --- a/graphics/pokemon_storage/forest.bin +++ b/graphics/pokemon_storage/forest.bin diff --git a/graphics/pokemon_storage/forest_bg.pal b/graphics/pokemon_storage/forest_bg.pal index 946becabb..946becabb 100755..100644 --- a/graphics/pokemon_storage/forest_bg.pal +++ b/graphics/pokemon_storage/forest_bg.pal diff --git a/graphics/pokemon_storage/forest_bg.png b/graphics/pokemon_storage/forest_bg.png Binary files differindex 51bd24528..51bd24528 100755..100644 --- a/graphics/pokemon_storage/forest_bg.png +++ b/graphics/pokemon_storage/forest_bg.png diff --git a/graphics/pokemon_storage/forest_frame.pal b/graphics/pokemon_storage/forest_frame.pal index 1b4166087..1b4166087 100755..100644 --- a/graphics/pokemon_storage/forest_frame.pal +++ b/graphics/pokemon_storage/forest_frame.pal diff --git a/graphics/pokemon_storage/forest_frame.png b/graphics/pokemon_storage/forest_frame.png Binary files differindex b9039c5f0..b9039c5f0 100755..100644 --- a/graphics/pokemon_storage/forest_frame.png +++ b/graphics/pokemon_storage/forest_frame.png diff --git a/graphics/pokemon_storage/machine.bin b/graphics/pokemon_storage/machine.bin Binary files differindex 981638225..981638225 100755..100644 --- a/graphics/pokemon_storage/machine.bin +++ b/graphics/pokemon_storage/machine.bin diff --git a/graphics/pokemon_storage/machine_bg.pal b/graphics/pokemon_storage/machine_bg.pal index 4f75effd5..4f75effd5 100755..100644 --- a/graphics/pokemon_storage/machine_bg.pal +++ b/graphics/pokemon_storage/machine_bg.pal diff --git a/graphics/pokemon_storage/machine_bg.png b/graphics/pokemon_storage/machine_bg.png Binary files differindex d3f84167c..d3f84167c 100755..100644 --- a/graphics/pokemon_storage/machine_bg.png +++ b/graphics/pokemon_storage/machine_bg.png diff --git a/graphics/pokemon_storage/machine_frame.pal b/graphics/pokemon_storage/machine_frame.pal index aa74af16f..aa74af16f 100755..100644 --- a/graphics/pokemon_storage/machine_frame.pal +++ b/graphics/pokemon_storage/machine_frame.pal diff --git a/graphics/pokemon_storage/machine_frame.png b/graphics/pokemon_storage/machine_frame.png Binary files differindex 0e2bdde13..0e2bdde13 100755..100644 --- a/graphics/pokemon_storage/machine_frame.png +++ b/graphics/pokemon_storage/machine_frame.png diff --git a/graphics/pokemon_storage/plain.bin b/graphics/pokemon_storage/plain.bin Binary files differindex b9ab5e535..b9ab5e535 100755..100644 --- a/graphics/pokemon_storage/plain.bin +++ b/graphics/pokemon_storage/plain.bin diff --git a/graphics/pokemon_storage/plain_bg.pal b/graphics/pokemon_storage/plain_bg.pal index 74e28306b..74e28306b 100755..100644 --- a/graphics/pokemon_storage/plain_bg.pal +++ b/graphics/pokemon_storage/plain_bg.pal diff --git a/graphics/pokemon_storage/plain_bg.png b/graphics/pokemon_storage/plain_bg.png Binary files differindex 0b6dce460..0b6dce460 100755..100644 --- a/graphics/pokemon_storage/plain_bg.png +++ b/graphics/pokemon_storage/plain_bg.png diff --git a/graphics/pokemon_storage/plain_frame.pal b/graphics/pokemon_storage/plain_frame.pal index b68d724cd..b68d724cd 100755..100644 --- a/graphics/pokemon_storage/plain_frame.pal +++ b/graphics/pokemon_storage/plain_frame.pal diff --git a/graphics/pokemon_storage/plain_frame.png b/graphics/pokemon_storage/plain_frame.png Binary files differindex eedd67aad..eedd67aad 100755..100644 --- a/graphics/pokemon_storage/plain_frame.png +++ b/graphics/pokemon_storage/plain_frame.png diff --git a/graphics/pokemon_storage/pokecenter.bin b/graphics/pokemon_storage/pokecenter.bin Binary files differindex 6c5924c37..6c5924c37 100755..100644 --- a/graphics/pokemon_storage/pokecenter.bin +++ b/graphics/pokemon_storage/pokecenter.bin diff --git a/graphics/pokemon_storage/pokecenter_bg.pal b/graphics/pokemon_storage/pokecenter_bg.pal index b029c1741..b029c1741 100755..100644 --- a/graphics/pokemon_storage/pokecenter_bg.pal +++ b/graphics/pokemon_storage/pokecenter_bg.pal diff --git a/graphics/pokemon_storage/pokecenter_bg.png b/graphics/pokemon_storage/pokecenter_bg.png Binary files differindex 94834b69e..94834b69e 100755..100644 --- a/graphics/pokemon_storage/pokecenter_bg.png +++ b/graphics/pokemon_storage/pokecenter_bg.png diff --git a/graphics/pokemon_storage/pokecenter_frame.pal b/graphics/pokemon_storage/pokecenter_frame.pal index 4a8074805..4a8074805 100755..100644 --- a/graphics/pokemon_storage/pokecenter_frame.pal +++ b/graphics/pokemon_storage/pokecenter_frame.pal diff --git a/graphics/pokemon_storage/pokecenter_frame.png b/graphics/pokemon_storage/pokecenter_frame.png Binary files differindex 99ef4a680..99ef4a680 100755..100644 --- a/graphics/pokemon_storage/pokecenter_frame.png +++ b/graphics/pokemon_storage/pokecenter_frame.png diff --git a/graphics/pokemon_storage/polkadot.bin b/graphics/pokemon_storage/polkadot.bin Binary files differindex 8477f680c..8477f680c 100755..100644 --- a/graphics/pokemon_storage/polkadot.bin +++ b/graphics/pokemon_storage/polkadot.bin diff --git a/graphics/pokemon_storage/polkadot_bg.pal b/graphics/pokemon_storage/polkadot_bg.pal index b7bf06f47..b7bf06f47 100755..100644 --- a/graphics/pokemon_storage/polkadot_bg.pal +++ b/graphics/pokemon_storage/polkadot_bg.pal diff --git a/graphics/pokemon_storage/polkadot_bg.png b/graphics/pokemon_storage/polkadot_bg.png Binary files differindex 16bf0be88..16bf0be88 100755..100644 --- a/graphics/pokemon_storage/polkadot_bg.png +++ b/graphics/pokemon_storage/polkadot_bg.png diff --git a/graphics/pokemon_storage/polkadot_frame.pal b/graphics/pokemon_storage/polkadot_frame.pal index d90a6f0b2..d90a6f0b2 100755..100644 --- a/graphics/pokemon_storage/polkadot_frame.pal +++ b/graphics/pokemon_storage/polkadot_frame.pal diff --git a/graphics/pokemon_storage/polkadot_frame.png b/graphics/pokemon_storage/polkadot_frame.png Binary files differindex 41477d9ff..41477d9ff 100755..100644 --- a/graphics/pokemon_storage/polkadot_frame.png +++ b/graphics/pokemon_storage/polkadot_frame.png diff --git a/graphics/pokemon_storage/river.bin b/graphics/pokemon_storage/river.bin Binary files differindex ff2736df7..ff2736df7 100755..100644 --- a/graphics/pokemon_storage/river.bin +++ b/graphics/pokemon_storage/river.bin diff --git a/graphics/pokemon_storage/river_bg.pal b/graphics/pokemon_storage/river_bg.pal index 09d45090a..09d45090a 100755..100644 --- a/graphics/pokemon_storage/river_bg.pal +++ b/graphics/pokemon_storage/river_bg.pal diff --git a/graphics/pokemon_storage/river_bg.png b/graphics/pokemon_storage/river_bg.png Binary files differindex 085640004..085640004 100755..100644 --- a/graphics/pokemon_storage/river_bg.png +++ b/graphics/pokemon_storage/river_bg.png diff --git a/graphics/pokemon_storage/river_frame.pal b/graphics/pokemon_storage/river_frame.pal index 9fcc4cbca..9fcc4cbca 100755..100644 --- a/graphics/pokemon_storage/river_frame.pal +++ b/graphics/pokemon_storage/river_frame.pal diff --git a/graphics/pokemon_storage/river_frame.png b/graphics/pokemon_storage/river_frame.png Binary files differindex c4adcd23c..c4adcd23c 100755..100644 --- a/graphics/pokemon_storage/river_frame.png +++ b/graphics/pokemon_storage/river_frame.png diff --git a/graphics/pokemon_storage/savanna.bin b/graphics/pokemon_storage/savanna.bin Binary files differindex 4d166b7a9..4d166b7a9 100755..100644 --- a/graphics/pokemon_storage/savanna.bin +++ b/graphics/pokemon_storage/savanna.bin diff --git a/graphics/pokemon_storage/savanna_bg.pal b/graphics/pokemon_storage/savanna_bg.pal index d80816c35..d80816c35 100755..100644 --- a/graphics/pokemon_storage/savanna_bg.pal +++ b/graphics/pokemon_storage/savanna_bg.pal diff --git a/graphics/pokemon_storage/savanna_bg.png b/graphics/pokemon_storage/savanna_bg.png Binary files differindex 4bc6b14e3..4bc6b14e3 100755..100644 --- a/graphics/pokemon_storage/savanna_bg.png +++ b/graphics/pokemon_storage/savanna_bg.png diff --git a/graphics/pokemon_storage/savanna_frame.pal b/graphics/pokemon_storage/savanna_frame.pal index 1c1742cc2..1c1742cc2 100755..100644 --- a/graphics/pokemon_storage/savanna_frame.pal +++ b/graphics/pokemon_storage/savanna_frame.pal diff --git a/graphics/pokemon_storage/savanna_frame.png b/graphics/pokemon_storage/savanna_frame.png Binary files differindex 63897d514..63897d514 100755..100644 --- a/graphics/pokemon_storage/savanna_frame.png +++ b/graphics/pokemon_storage/savanna_frame.png diff --git a/graphics/pokemon_storage/seafloor.bin b/graphics/pokemon_storage/seafloor.bin Binary files differindex c6be345de..c6be345de 100755..100644 --- a/graphics/pokemon_storage/seafloor.bin +++ b/graphics/pokemon_storage/seafloor.bin diff --git a/graphics/pokemon_storage/seafloor_bg.pal b/graphics/pokemon_storage/seafloor_bg.pal index 43b2eecab..43b2eecab 100755..100644 --- a/graphics/pokemon_storage/seafloor_bg.pal +++ b/graphics/pokemon_storage/seafloor_bg.pal diff --git a/graphics/pokemon_storage/seafloor_bg.png b/graphics/pokemon_storage/seafloor_bg.png Binary files differindex 8f53e7dc2..8f53e7dc2 100755..100644 --- a/graphics/pokemon_storage/seafloor_bg.png +++ b/graphics/pokemon_storage/seafloor_bg.png diff --git a/graphics/pokemon_storage/seafloor_frame.pal b/graphics/pokemon_storage/seafloor_frame.pal index 79c7650b4..79c7650b4 100755..100644 --- a/graphics/pokemon_storage/seafloor_frame.pal +++ b/graphics/pokemon_storage/seafloor_frame.pal diff --git a/graphics/pokemon_storage/seafloor_frame.png b/graphics/pokemon_storage/seafloor_frame.png Binary files differindex 3f2d5f713..3f2d5f713 100755..100644 --- a/graphics/pokemon_storage/seafloor_frame.png +++ b/graphics/pokemon_storage/seafloor_frame.png diff --git a/graphics/pokemon_storage/sky.bin b/graphics/pokemon_storage/sky.bin Binary files differindex e2c553b2a..e2c553b2a 100755..100644 --- a/graphics/pokemon_storage/sky.bin +++ b/graphics/pokemon_storage/sky.bin diff --git a/graphics/pokemon_storage/sky_bg.pal b/graphics/pokemon_storage/sky_bg.pal index 3d722ed6d..3d722ed6d 100755..100644 --- a/graphics/pokemon_storage/sky_bg.pal +++ b/graphics/pokemon_storage/sky_bg.pal diff --git a/graphics/pokemon_storage/sky_bg.png b/graphics/pokemon_storage/sky_bg.png Binary files differindex 560e406e1..560e406e1 100755..100644 --- a/graphics/pokemon_storage/sky_bg.png +++ b/graphics/pokemon_storage/sky_bg.png diff --git a/graphics/pokemon_storage/sky_frame.pal b/graphics/pokemon_storage/sky_frame.pal index 951f59ecf..951f59ecf 100755..100644 --- a/graphics/pokemon_storage/sky_frame.pal +++ b/graphics/pokemon_storage/sky_frame.pal diff --git a/graphics/pokemon_storage/sky_frame.png b/graphics/pokemon_storage/sky_frame.png Binary files differindex 85b1f75b0..85b1f75b0 100755..100644 --- a/graphics/pokemon_storage/sky_frame.png +++ b/graphics/pokemon_storage/sky_frame.png diff --git a/graphics/pokemon_storage/snow.bin b/graphics/pokemon_storage/snow.bin Binary files differindex 3e8253ade..3e8253ade 100755..100644 --- a/graphics/pokemon_storage/snow.bin +++ b/graphics/pokemon_storage/snow.bin diff --git a/graphics/pokemon_storage/snow_bg.pal b/graphics/pokemon_storage/snow_bg.pal index 01e46d027..01e46d027 100755..100644 --- a/graphics/pokemon_storage/snow_bg.pal +++ b/graphics/pokemon_storage/snow_bg.pal diff --git a/graphics/pokemon_storage/snow_bg.png b/graphics/pokemon_storage/snow_bg.png Binary files differindex 4415750c4..4415750c4 100755..100644 --- a/graphics/pokemon_storage/snow_bg.png +++ b/graphics/pokemon_storage/snow_bg.png diff --git a/graphics/pokemon_storage/snow_frame.pal b/graphics/pokemon_storage/snow_frame.pal index 437ccb934..437ccb934 100755..100644 --- a/graphics/pokemon_storage/snow_frame.pal +++ b/graphics/pokemon_storage/snow_frame.pal diff --git a/graphics/pokemon_storage/snow_frame.png b/graphics/pokemon_storage/snow_frame.png Binary files differindex 8ac1ae138..8ac1ae138 100755..100644 --- a/graphics/pokemon_storage/snow_frame.png +++ b/graphics/pokemon_storage/snow_frame.png diff --git a/graphics/pokemon_storage/volcano.bin b/graphics/pokemon_storage/volcano.bin Binary files differindex 5d7102e09..5d7102e09 100755..100644 --- a/graphics/pokemon_storage/volcano.bin +++ b/graphics/pokemon_storage/volcano.bin diff --git a/graphics/pokemon_storage/volcano_bg.pal b/graphics/pokemon_storage/volcano_bg.pal index 8ea563b6e..8ea563b6e 100755..100644 --- a/graphics/pokemon_storage/volcano_bg.pal +++ b/graphics/pokemon_storage/volcano_bg.pal diff --git a/graphics/pokemon_storage/volcano_bg.png b/graphics/pokemon_storage/volcano_bg.png Binary files differindex 8561696b7..8561696b7 100755..100644 --- a/graphics/pokemon_storage/volcano_bg.png +++ b/graphics/pokemon_storage/volcano_bg.png diff --git a/graphics/pokemon_storage/volcano_frame.pal b/graphics/pokemon_storage/volcano_frame.pal index 0378aff29..0378aff29 100755..100644 --- a/graphics/pokemon_storage/volcano_frame.pal +++ b/graphics/pokemon_storage/volcano_frame.pal diff --git a/graphics/pokemon_storage/volcano_frame.png b/graphics/pokemon_storage/volcano_frame.png Binary files differindex 4480c6c24..4480c6c24 100755..100644 --- a/graphics/pokemon_storage/volcano_frame.png +++ b/graphics/pokemon_storage/volcano_frame.png diff --git a/graphics/pokenav/cursor.pal b/graphics/pokenav/cursor.pal index b35568acf..b35568acf 100755..100644 --- a/graphics/pokenav/cursor.pal +++ b/graphics/pokenav/cursor.pal diff --git a/graphics/pokenav/cursor_large.png b/graphics/pokenav/cursor_large.png Binary files differindex eeda68a0e..eeda68a0e 100755..100644 --- a/graphics/pokenav/cursor_large.png +++ b/graphics/pokenav/cursor_large.png diff --git a/graphics/pokenav/cursor_small.png b/graphics/pokenav/cursor_small.png Binary files differindex 031e7ed16..031e7ed16 100755..100644 --- a/graphics/pokenav/cursor_small.png +++ b/graphics/pokenav/cursor_small.png diff --git a/graphics/pokenav/icon.pal b/graphics/pokenav/icon.pal index 6130754f4..6130754f4 100755..100644 --- a/graphics/pokenav/icon.pal +++ b/graphics/pokenav/icon.pal diff --git a/graphics/pokenav/icon.png b/graphics/pokenav/icon.png Binary files differindex 083f32272..083f32272 100755..100644 --- a/graphics/pokenav/icon.png +++ b/graphics/pokenav/icon.png diff --git a/graphics/pokenav/map_frame.pal b/graphics/pokenav/map_frame.pal index d460cfe4e..d460cfe4e 100755..100644 --- a/graphics/pokenav/map_frame.pal +++ b/graphics/pokenav/map_frame.pal diff --git a/graphics/pokenav/map_frame.png b/graphics/pokenav/map_frame.png Binary files differindex f64171746..f64171746 100755..100644 --- a/graphics/pokenav/map_frame.png +++ b/graphics/pokenav/map_frame.png diff --git a/graphics/pokenav/map_misc.pal b/graphics/pokenav/map_misc.pal index c0f2cc4e9..c0f2cc4e9 100755..100644 --- a/graphics/pokenav/map_misc.pal +++ b/graphics/pokenav/map_misc.pal diff --git a/graphics/pokenav/map_misc.png b/graphics/pokenav/map_misc.png Binary files differindex 7a997afc5..7a997afc5 100755..100644 --- a/graphics/pokenav/map_misc.png +++ b/graphics/pokenav/map_misc.png diff --git a/graphics/pokenav/map_squares.pal b/graphics/pokenav/map_squares.pal index 7325e7fb8..7325e7fb8 100755..100644 --- a/graphics/pokenav/map_squares.pal +++ b/graphics/pokenav/map_squares.pal diff --git a/graphics/pokenav/region_map.pal b/graphics/pokenav/region_map.pal index 4fca67ade..4fca67ade 100755..100644 --- a/graphics/pokenav/region_map.pal +++ b/graphics/pokenav/region_map.pal diff --git a/graphics/pokenav/region_map.png b/graphics/pokenav/region_map.png Binary files differindex 08df6eb29..08df6eb29 100755..100644 --- a/graphics/pokenav/region_map.png +++ b/graphics/pokenav/region_map.png diff --git a/graphics/pokenav/trainereyes_misc.png b/graphics/pokenav/trainereyes_misc.png Binary files differindex 63c641ee1..63c641ee1 100755..100644 --- a/graphics/pokenav/trainereyes_misc.png +++ b/graphics/pokenav/trainereyes_misc.png diff --git a/graphics/pokenav/trainereyes_misc_pal.bin b/graphics/pokenav/trainereyes_misc_pal.bin Binary files differindex 4d681dd27..4d681dd27 100755..100644 --- a/graphics/pokenav/trainereyes_misc_pal.bin +++ b/graphics/pokenav/trainereyes_misc_pal.bin diff --git a/graphics/roulette/azurill.pal b/graphics/roulette/azurill.pal index 2d6c464e3..2d6c464e3 100755..100644 --- a/graphics/roulette/azurill.pal +++ b/graphics/roulette/azurill.pal diff --git a/graphics/roulette/azurill.png b/graphics/roulette/azurill.png Binary files differindex b99bc1a33..b99bc1a33 100755..100644 --- a/graphics/roulette/azurill.png +++ b/graphics/roulette/azurill.png diff --git a/graphics/roulette/ball.pal b/graphics/roulette/ball.pal index f72217a9b..f72217a9b 100755..100644 --- a/graphics/roulette/ball.pal +++ b/graphics/roulette/ball.pal diff --git a/graphics/roulette/ball.png b/graphics/roulette/ball.png Binary files differindex 2352e9be5..2352e9be5 100755..100644 --- a/graphics/roulette/ball.png +++ b/graphics/roulette/ball.png diff --git a/graphics/roulette/ball_counter.pal b/graphics/roulette/ball_counter.pal index e76199ced..e76199ced 100755..100644 --- a/graphics/roulette/ball_counter.pal +++ b/graphics/roulette/ball_counter.pal diff --git a/graphics/roulette/ball_counter.png b/graphics/roulette/ball_counter.png Binary files differindex 30c88b894..30c88b894 100755..100644 --- a/graphics/roulette/ball_counter.png +++ b/graphics/roulette/ball_counter.png diff --git a/graphics/roulette/center.png b/graphics/roulette/center.png Binary files differindex 0653b0e97..0653b0e97 100755..100644 --- a/graphics/roulette/center.png +++ b/graphics/roulette/center.png diff --git a/graphics/roulette/cursor.pal b/graphics/roulette/cursor.pal index f5ff00341..f5ff00341 100755..100644 --- a/graphics/roulette/cursor.pal +++ b/graphics/roulette/cursor.pal diff --git a/graphics/roulette/cursor.png b/graphics/roulette/cursor.png Binary files differindex 962ebb2c7..962ebb2c7 100755..100644 --- a/graphics/roulette/cursor.png +++ b/graphics/roulette/cursor.png diff --git a/graphics/roulette/makuhita.pal b/graphics/roulette/makuhita.pal index 35a9a5307..35a9a5307 100755..100644 --- a/graphics/roulette/makuhita.pal +++ b/graphics/roulette/makuhita.pal diff --git a/graphics/roulette/makuhita.png b/graphics/roulette/makuhita.png Binary files differindex 756157496..756157496 100755..100644 --- a/graphics/roulette/makuhita.png +++ b/graphics/roulette/makuhita.png diff --git a/graphics/roulette/poke_icons.pal b/graphics/roulette/poke_icons.pal index f2d21a7e5..f2d21a7e5 100755..100644 --- a/graphics/roulette/poke_icons.pal +++ b/graphics/roulette/poke_icons.pal diff --git a/graphics/roulette/poke_icons.png b/graphics/roulette/poke_icons.png Binary files differindex 91a2f301f..91a2f301f 100755..100644 --- a/graphics/roulette/poke_icons.png +++ b/graphics/roulette/poke_icons.png diff --git a/graphics/roulette/shadow.pal b/graphics/roulette/shadow.pal index 2ac26b064..2ac26b064 100755..100644 --- a/graphics/roulette/shadow.pal +++ b/graphics/roulette/shadow.pal diff --git a/graphics/roulette/shadow.png b/graphics/roulette/shadow.png Binary files differindex d3793b1c8..d3793b1c8 100755..100644 --- a/graphics/roulette/shadow.png +++ b/graphics/roulette/shadow.png diff --git a/graphics/roulette/shroomish.pal b/graphics/roulette/shroomish.pal index 3a1fbff02..3a1fbff02 100755..100644 --- a/graphics/roulette/shroomish.pal +++ b/graphics/roulette/shroomish.pal diff --git a/graphics/roulette/shroomish.png b/graphics/roulette/shroomish.png Binary files differindex 12ee2a870..12ee2a870 100755..100644 --- a/graphics/roulette/shroomish.png +++ b/graphics/roulette/shroomish.png diff --git a/graphics/roulette/skitty.pal b/graphics/roulette/skitty.pal index cdfca277d..cdfca277d 100755..100644 --- a/graphics/roulette/skitty.pal +++ b/graphics/roulette/skitty.pal diff --git a/graphics/roulette/skitty.png b/graphics/roulette/skitty.png Binary files differindex a1d6f1ab5..a1d6f1ab5 100755..100644 --- a/graphics/roulette/skitty.png +++ b/graphics/roulette/skitty.png diff --git a/graphics/roulette/tailow.pal b/graphics/roulette/tailow.pal index 00b5a7054..00b5a7054 100755..100644 --- a/graphics/roulette/tailow.pal +++ b/graphics/roulette/tailow.pal diff --git a/graphics/roulette/tailow.png b/graphics/roulette/tailow.png Binary files differindex acd2fc4ba..acd2fc4ba 100755..100644 --- a/graphics/roulette/tailow.png +++ b/graphics/roulette/tailow.png diff --git a/graphics/roulette/wynaut.pal b/graphics/roulette/wynaut.pal index 5eef080f8..5eef080f8 100755..100644 --- a/graphics/roulette/wynaut.pal +++ b/graphics/roulette/wynaut.pal diff --git a/graphics/roulette/wynaut.png b/graphics/roulette/wynaut.png Binary files differindex 8ba7d3c0f..8ba7d3c0f 100755..100644 --- a/graphics/roulette/wynaut.png +++ b/graphics/roulette/wynaut.png diff --git a/graphics/slot_machine/numbers/0.png b/graphics/slot_machine/numbers/0.png Binary files differindex 07c668eea..07c668eea 100755..100644 --- a/graphics/slot_machine/numbers/0.png +++ b/graphics/slot_machine/numbers/0.png diff --git a/graphics/slot_machine/numbers/1.png b/graphics/slot_machine/numbers/1.png Binary files differindex 0aa67e201..0aa67e201 100755..100644 --- a/graphics/slot_machine/numbers/1.png +++ b/graphics/slot_machine/numbers/1.png diff --git a/graphics/slot_machine/numbers/2.png b/graphics/slot_machine/numbers/2.png Binary files differindex 0ff2a0265..0ff2a0265 100755..100644 --- a/graphics/slot_machine/numbers/2.png +++ b/graphics/slot_machine/numbers/2.png diff --git a/graphics/slot_machine/numbers/3.png b/graphics/slot_machine/numbers/3.png Binary files differindex ea5f1e496..ea5f1e496 100755..100644 --- a/graphics/slot_machine/numbers/3.png +++ b/graphics/slot_machine/numbers/3.png diff --git a/graphics/slot_machine/numbers/4.png b/graphics/slot_machine/numbers/4.png Binary files differindex d5353c752..d5353c752 100755..100644 --- a/graphics/slot_machine/numbers/4.png +++ b/graphics/slot_machine/numbers/4.png diff --git a/graphics/slot_machine/numbers/5.png b/graphics/slot_machine/numbers/5.png Binary files differindex 121a7b3c9..121a7b3c9 100755..100644 --- a/graphics/slot_machine/numbers/5.png +++ b/graphics/slot_machine/numbers/5.png diff --git a/graphics/slot_machine/numbers/6.png b/graphics/slot_machine/numbers/6.png Binary files differindex 95a9ae0ff..95a9ae0ff 100755..100644 --- a/graphics/slot_machine/numbers/6.png +++ b/graphics/slot_machine/numbers/6.png diff --git a/graphics/slot_machine/numbers/7.png b/graphics/slot_machine/numbers/7.png Binary files differindex 1b8b77b2a..1b8b77b2a 100755..100644 --- a/graphics/slot_machine/numbers/7.png +++ b/graphics/slot_machine/numbers/7.png diff --git a/graphics/slot_machine/numbers/8.png b/graphics/slot_machine/numbers/8.png Binary files differindex 17fe7938f..17fe7938f 100755..100644 --- a/graphics/slot_machine/numbers/8.png +++ b/graphics/slot_machine/numbers/8.png diff --git a/graphics/slot_machine/numbers/9.png b/graphics/slot_machine/numbers/9.png Binary files differindex f684e0be7..f684e0be7 100755..100644 --- a/graphics/slot_machine/numbers/9.png +++ b/graphics/slot_machine/numbers/9.png diff --git a/graphics/slot_machine/reel_machine.png b/graphics/slot_machine/reel_machine.png Binary files differindex 4f0ae169d..4f0ae169d 100755..100644 --- a/graphics/slot_machine/reel_machine.png +++ b/graphics/slot_machine/reel_machine.png diff --git a/graphics/slot_machine/reel_pikachu.png b/graphics/slot_machine/reel_pikachu.png Binary files differindex 29b004c84..29b004c84 100755..100644 --- a/graphics/slot_machine/reel_pikachu.png +++ b/graphics/slot_machine/reel_pikachu.png diff --git a/graphics/slot_machine/reel_symbols/1.png b/graphics/slot_machine/reel_symbols/1.png Binary files differindex 73e9d3345..73e9d3345 100755..100644 --- a/graphics/slot_machine/reel_symbols/1.png +++ b/graphics/slot_machine/reel_symbols/1.png diff --git a/graphics/slot_machine/reel_symbols/2.png b/graphics/slot_machine/reel_symbols/2.png Binary files differindex 866f4cead..866f4cead 100755..100644 --- a/graphics/slot_machine/reel_symbols/2.png +++ b/graphics/slot_machine/reel_symbols/2.png diff --git a/graphics/slot_machine/reel_symbols/3.png b/graphics/slot_machine/reel_symbols/3.png Binary files differindex 9641dc4c5..9641dc4c5 100755..100644 --- a/graphics/slot_machine/reel_symbols/3.png +++ b/graphics/slot_machine/reel_symbols/3.png diff --git a/graphics/slot_machine/reel_symbols/4.png b/graphics/slot_machine/reel_symbols/4.png Binary files differindex b3319e0e4..b3319e0e4 100755..100644 --- a/graphics/slot_machine/reel_symbols/4.png +++ b/graphics/slot_machine/reel_symbols/4.png diff --git a/graphics/slot_machine/reel_symbols/5.png b/graphics/slot_machine/reel_symbols/5.png Binary files differindex 16ae0f318..16ae0f318 100755..100644 --- a/graphics/slot_machine/reel_symbols/5.png +++ b/graphics/slot_machine/reel_symbols/5.png diff --git a/graphics/slot_machine/reel_symbols/6.png b/graphics/slot_machine/reel_symbols/6.png Binary files differindex 3d170585f..3d170585f 100755..100644 --- a/graphics/slot_machine/reel_symbols/6.png +++ b/graphics/slot_machine/reel_symbols/6.png diff --git a/graphics/slot_machine/reel_symbols/7.png b/graphics/slot_machine/reel_symbols/7.png Binary files differindex e6535b380..e6535b380 100755..100644 --- a/graphics/slot_machine/reel_symbols/7.png +++ b/graphics/slot_machine/reel_symbols/7.png diff --git a/graphics/slot_machine/spr0.pal b/graphics/slot_machine/spr0.pal index 98665e9c4..98665e9c4 100755..100644 --- a/graphics/slot_machine/spr0.pal +++ b/graphics/slot_machine/spr0.pal diff --git a/graphics/slot_machine/spr1.pal b/graphics/slot_machine/spr1.pal index 393528400..393528400 100755..100644 --- a/graphics/slot_machine/spr1.pal +++ b/graphics/slot_machine/spr1.pal diff --git a/graphics/slot_machine/spr2_ruby.pal b/graphics/slot_machine/spr2_ruby.pal index e669c2c27..e669c2c27 100755..100644 --- a/graphics/slot_machine/spr2_ruby.pal +++ b/graphics/slot_machine/spr2_ruby.pal diff --git a/graphics/slot_machine/spr3_ruby.pal b/graphics/slot_machine/spr3_ruby.pal index a4966f50c..a4966f50c 100755..100644 --- a/graphics/slot_machine/spr3_ruby.pal +++ b/graphics/slot_machine/spr3_ruby.pal diff --git a/graphics/slot_machine/spr4.pal b/graphics/slot_machine/spr4.pal index c1617d073..c1617d073 100755..100644 --- a/graphics/slot_machine/spr4.pal +++ b/graphics/slot_machine/spr4.pal diff --git a/graphics/slot_machine/spr5.pal b/graphics/slot_machine/spr5.pal index 61f60fb8a..61f60fb8a 100755..100644 --- a/graphics/slot_machine/spr5.pal +++ b/graphics/slot_machine/spr5.pal diff --git a/graphics/slot_machine/spr6.pal b/graphics/slot_machine/spr6.pal index 4f74a3079..4f74a3079 100755..100644 --- a/graphics/slot_machine/spr6.pal +++ b/graphics/slot_machine/spr6.pal diff --git a/graphics/title_screen/groudon.png b/graphics/title_screen/groudon.png Binary files differindex 6e4b5cc20..6e4b5cc20 100755..100644 --- a/graphics/title_screen/groudon.png +++ b/graphics/title_screen/groudon.png diff --git a/graphics/title_screen/groudon_dark.pal b/graphics/title_screen/groudon_dark.pal index 12f8dc3f2..12f8dc3f2 100755..100644 --- a/graphics/title_screen/groudon_dark.pal +++ b/graphics/title_screen/groudon_dark.pal diff --git a/graphics/title_screen/groudon_glow.pal b/graphics/title_screen/groudon_glow.pal index 43f83d357..43f83d357 100755..100644 --- a/graphics/title_screen/groudon_glow.pal +++ b/graphics/title_screen/groudon_glow.pal diff --git a/graphics/title_screen/kyogre.png b/graphics/title_screen/kyogre.png Binary files differindex 81dc829c8..81dc829c8 100755..100644 --- a/graphics/title_screen/kyogre.png +++ b/graphics/title_screen/kyogre.png diff --git a/graphics/title_screen/kyogre_dark.pal b/graphics/title_screen/kyogre_dark.pal index 05e7c5270..05e7c5270 100755..100644 --- a/graphics/title_screen/kyogre_dark.pal +++ b/graphics/title_screen/kyogre_dark.pal diff --git a/graphics/title_screen/kyogre_glow.pal b/graphics/title_screen/kyogre_glow.pal index 85c483666..85c483666 100755..100644 --- a/graphics/title_screen/kyogre_glow.pal +++ b/graphics/title_screen/kyogre_glow.pal diff --git a/graphics/title_screen/logo_ruby.pal b/graphics/title_screen/logo_ruby.pal index ea9820a4a..ea9820a4a 100755..100644 --- a/graphics/title_screen/logo_ruby.pal +++ b/graphics/title_screen/logo_ruby.pal diff --git a/graphics/title_screen/logo_sapphire.pal b/graphics/title_screen/logo_sapphire.pal index e733c6d2c..e733c6d2c 100755..100644 --- a/graphics/title_screen/logo_sapphire.pal +++ b/graphics/title_screen/logo_sapphire.pal diff --git a/graphics/title_screen/pokemon_ruby.png b/graphics/title_screen/pokemon_ruby.png Binary files differindex 7d141ad67..7d141ad67 100755..100644 --- a/graphics/title_screen/pokemon_ruby.png +++ b/graphics/title_screen/pokemon_ruby.png diff --git a/graphics/title_screen/pokemon_sapphire.png b/graphics/title_screen/pokemon_sapphire.png Binary files differindex 9363289df..9363289df 100755..100644 --- a/graphics/title_screen/pokemon_sapphire.png +++ b/graphics/title_screen/pokemon_sapphire.png diff --git a/graphics/title_screen/rubyversion.png b/graphics/title_screen/rubyversion.png Binary files differindex d12eb7bfa..d12eb7bfa 100755..100644 --- a/graphics/title_screen/rubyversion.png +++ b/graphics/title_screen/rubyversion.png diff --git a/graphics/title_screen/sapphireversion.png b/graphics/title_screen/sapphireversion.png Binary files differindex 53b494d5e..53b494d5e 100755..100644 --- a/graphics/title_screen/sapphireversion.png +++ b/graphics/title_screen/sapphireversion.png diff --git a/graphics/trade/cable_end.png b/graphics/trade/cable_end.png Binary files differindex 1d7828a00..1d7828a00 100755..100644 --- a/graphics/trade/cable_end.png +++ b/graphics/trade/cable_end.png diff --git a/graphics/trade/gba.pal b/graphics/trade/gba.pal index 64a442293..64a442293 100755..100644 --- a/graphics/trade/gba.pal +++ b/graphics/trade/gba.pal diff --git a/graphics/trade/gba.png b/graphics/trade/gba.png Binary files differindex 61ce32b4f..61ce32b4f 100755..100644 --- a/graphics/trade/gba.png +++ b/graphics/trade/gba.png diff --git a/graphics/trade/gba_screen.png b/graphics/trade/gba_screen.png Binary files differindex 4220e5e0d..4220e5e0d 100755..100644 --- a/graphics/trade/gba_screen.png +++ b/graphics/trade/gba_screen.png diff --git a/graphics/trade/glow1.png b/graphics/trade/glow1.png Binary files differindex e223d97ce..e223d97ce 100755..100644 --- a/graphics/trade/glow1.png +++ b/graphics/trade/glow1.png diff --git a/graphics/trade/glow2.png b/graphics/trade/glow2.png Binary files differindex e7729bc84..e7729bc84 100755..100644 --- a/graphics/trade/glow2.png +++ b/graphics/trade/glow2.png diff --git a/graphics/trade/misc.pal b/graphics/trade/misc.pal index 32fafddfc..32fafddfc 100755..100644 --- a/graphics/trade/misc.pal +++ b/graphics/trade/misc.pal diff --git a/graphics/trade/shadow.pal b/graphics/trade/shadow.pal index a4bec6478..a4bec6478 100755..100644 --- a/graphics/trade/shadow.pal +++ b/graphics/trade/shadow.pal diff --git a/graphics/trade/shadow.png b/graphics/trade/shadow.png Binary files differindex 109979f90..109979f90 100755..100644 --- a/graphics/trade/shadow.png +++ b/graphics/trade/shadow.png diff --git a/graphics/types/bug.png b/graphics/types/bug.png Binary files differindex c11629b21..c11629b21 100755..100644 --- a/graphics/types/bug.png +++ b/graphics/types/bug.png diff --git a/graphics/types/contest_beauty.png b/graphics/types/contest_beauty.png Binary files differindex b52fe3ca4..b52fe3ca4 100755..100644 --- a/graphics/types/contest_beauty.png +++ b/graphics/types/contest_beauty.png diff --git a/graphics/types/contest_cool.png b/graphics/types/contest_cool.png Binary files differindex 813e91f80..813e91f80 100755..100644 --- a/graphics/types/contest_cool.png +++ b/graphics/types/contest_cool.png diff --git a/graphics/types/contest_cute.png b/graphics/types/contest_cute.png Binary files differindex ece852a9d..ece852a9d 100755..100644 --- a/graphics/types/contest_cute.png +++ b/graphics/types/contest_cute.png diff --git a/graphics/types/contest_smart.png b/graphics/types/contest_smart.png Binary files differindex 8e0d903f1..8e0d903f1 100755..100644 --- a/graphics/types/contest_smart.png +++ b/graphics/types/contest_smart.png diff --git a/graphics/types/contest_tough.png b/graphics/types/contest_tough.png Binary files differindex a76e9cba4..a76e9cba4 100755..100644 --- a/graphics/types/contest_tough.png +++ b/graphics/types/contest_tough.png diff --git a/graphics/types/dark.png b/graphics/types/dark.png Binary files differindex 3380297da..3380297da 100755..100644 --- a/graphics/types/dark.png +++ b/graphics/types/dark.png diff --git a/graphics/types/dragon.png b/graphics/types/dragon.png Binary files differindex 908073260..908073260 100755..100644 --- a/graphics/types/dragon.png +++ b/graphics/types/dragon.png diff --git a/graphics/types/electric.png b/graphics/types/electric.png Binary files differindex 84db710b6..84db710b6 100755..100644 --- a/graphics/types/electric.png +++ b/graphics/types/electric.png diff --git a/graphics/types/fight.png b/graphics/types/fight.png Binary files differindex 6431c9bba..6431c9bba 100755..100644 --- a/graphics/types/fight.png +++ b/graphics/types/fight.png diff --git a/graphics/types/fire.png b/graphics/types/fire.png Binary files differindex f6db950c8..f6db950c8 100755..100644 --- a/graphics/types/fire.png +++ b/graphics/types/fire.png diff --git a/graphics/types/flying.png b/graphics/types/flying.png Binary files differindex 144d0010b..144d0010b 100755..100644 --- a/graphics/types/flying.png +++ b/graphics/types/flying.png diff --git a/graphics/types/ghost.png b/graphics/types/ghost.png Binary files differindex 5820fe93a..5820fe93a 100755..100644 --- a/graphics/types/ghost.png +++ b/graphics/types/ghost.png diff --git a/graphics/types/grass.png b/graphics/types/grass.png Binary files differindex 6d3e870ca..6d3e870ca 100755..100644 --- a/graphics/types/grass.png +++ b/graphics/types/grass.png diff --git a/graphics/types/ground.png b/graphics/types/ground.png Binary files differindex 2872b1367..2872b1367 100755..100644 --- a/graphics/types/ground.png +++ b/graphics/types/ground.png diff --git a/graphics/types/ice.png b/graphics/types/ice.png Binary files differindex a611d1f4a..a611d1f4a 100755..100644 --- a/graphics/types/ice.png +++ b/graphics/types/ice.png diff --git a/graphics/types/move_types_1.pal b/graphics/types/move_types_1.pal index 951aa69cb..951aa69cb 100755..100644 --- a/graphics/types/move_types_1.pal +++ b/graphics/types/move_types_1.pal diff --git a/graphics/types/move_types_2.pal b/graphics/types/move_types_2.pal index 08dcea47c..08dcea47c 100755..100644 --- a/graphics/types/move_types_2.pal +++ b/graphics/types/move_types_2.pal diff --git a/graphics/types/move_types_3.pal b/graphics/types/move_types_3.pal index 4db37235b..4db37235b 100755..100644 --- a/graphics/types/move_types_3.pal +++ b/graphics/types/move_types_3.pal diff --git a/graphics/types/mystery.png b/graphics/types/mystery.png Binary files differindex a2ea01d55..a2ea01d55 100755..100644 --- a/graphics/types/mystery.png +++ b/graphics/types/mystery.png diff --git a/graphics/types/normal.png b/graphics/types/normal.png Binary files differindex 608a1f9c9..608a1f9c9 100755..100644 --- a/graphics/types/normal.png +++ b/graphics/types/normal.png diff --git a/graphics/types/poison.png b/graphics/types/poison.png Binary files differindex 2fab1ad53..2fab1ad53 100755..100644 --- a/graphics/types/poison.png +++ b/graphics/types/poison.png diff --git a/graphics/types/psychic.png b/graphics/types/psychic.png Binary files differindex 98f70406e..98f70406e 100755..100644 --- a/graphics/types/psychic.png +++ b/graphics/types/psychic.png diff --git a/graphics/types/rock.png b/graphics/types/rock.png Binary files differindex e95b2a8ef..e95b2a8ef 100755..100644 --- a/graphics/types/rock.png +++ b/graphics/types/rock.png diff --git a/graphics/types/steel.png b/graphics/types/steel.png Binary files differindex b952031fd..b952031fd 100755..100644 --- a/graphics/types/steel.png +++ b/graphics/types/steel.png diff --git a/graphics/types/water.png b/graphics/types/water.png Binary files differindex 19ae3ebe3..19ae3ebe3 100755..100644 --- a/graphics/types/water.png +++ b/graphics/types/water.png diff --git a/graphics/unknown/ball.pal b/graphics/unknown/ball.pal index b4e7ac7ca..b4e7ac7ca 100755..100644 --- a/graphics/unknown/ball.pal +++ b/graphics/unknown/ball.pal diff --git a/graphics/unknown/ball.png b/graphics/unknown/ball.png Binary files differindex 9932b916d..9932b916d 100755..100644 --- a/graphics/unknown/ball.png +++ b/graphics/unknown/ball.png diff --git a/graphics/unknown/unknown_3E3BE0.png b/graphics/unknown/unknown_3E3BE0.png Binary files differindex 98c067833..98c067833 100755..100644 --- a/graphics/unknown/unknown_3E3BE0.png +++ b/graphics/unknown/unknown_3E3BE0.png diff --git a/graphics/unknown/unknown_D04388.png b/graphics/unknown/unknown_D04388.png Binary files differindex 0b2ae80f9..0b2ae80f9 100755..100644 --- a/graphics/unknown/unknown_D04388.png +++ b/graphics/unknown/unknown_D04388.png diff --git a/graphics/unknown/unknown_D07B68.pal b/graphics/unknown/unknown_D07B68.pal index ca77648e6..ca77648e6 100755..100644 --- a/graphics/unknown/unknown_D07B68.pal +++ b/graphics/unknown/unknown_D07B68.pal diff --git a/graphics/unknown/unknown_D07B68.png b/graphics/unknown/unknown_D07B68.png Binary files differindex d36afa64d..d36afa64d 100755..100644 --- a/graphics/unknown/unknown_D07B68.png +++ b/graphics/unknown/unknown_D07B68.png diff --git a/graphics/unknown/unknown_D07B68_2.pal b/graphics/unknown/unknown_D07B68_2.pal index 44f4b55d6..44f4b55d6 100755..100644 --- a/graphics/unknown/unknown_D07B68_2.pal +++ b/graphics/unknown/unknown_D07B68_2.pal diff --git a/graphics/unknown/unknown_D0CFAC.bin b/graphics/unknown/unknown_D0CFAC.bin Binary files differindex 4b6b2b106..4b6b2b106 100755..100644 --- a/graphics/unknown/unknown_D0CFAC.bin +++ b/graphics/unknown/unknown_D0CFAC.bin diff --git a/graphics/unknown/unknown_D0CFD0.bin b/graphics/unknown/unknown_D0CFD0.bin Binary files differindex 25fc33a73..25fc33a73 100755..100644 --- a/graphics/unknown/unknown_D0CFD0.bin +++ b/graphics/unknown/unknown_D0CFD0.bin diff --git a/graphics/unknown/unknown_D0CFF4.bin b/graphics/unknown/unknown_D0CFF4.bin Binary files differindex 5b81e0216..5b81e0216 100755..100644 --- a/graphics/unknown/unknown_D0CFF4.bin +++ b/graphics/unknown/unknown_D0CFF4.bin diff --git a/graphics/unknown/unknown_D0D070.bin b/graphics/unknown/unknown_D0D070.bin Binary files differindex 15379a9ce..15379a9ce 100755..100644 --- a/graphics/unknown/unknown_D0D070.bin +++ b/graphics/unknown/unknown_D0D070.bin diff --git a/graphics/unknown/unknown_D0D2B4.bin b/graphics/unknown/unknown_D0D2B4.bin Binary files differindex d42729b58..d42729b58 100755..100644 --- a/graphics/unknown/unknown_D0D2B4.bin +++ b/graphics/unknown/unknown_D0D2B4.bin diff --git a/graphics/unknown/unknown_D12FEC.png b/graphics/unknown/unknown_D12FEC.png Binary files differindex 96c49a992..96c49a992 100755..100644 --- a/graphics/unknown/unknown_D12FEC.png +++ b/graphics/unknown/unknown_D12FEC.png diff --git a/graphics/unknown/unknown_D1300C.png b/graphics/unknown/unknown_D1300C.png Binary files differindex 0c077dd0b..0c077dd0b 100755..100644 --- a/graphics/unknown/unknown_D1300C.png +++ b/graphics/unknown/unknown_D1300C.png diff --git a/graphics/unknown/unknown_D15D64.bin b/graphics/unknown/unknown_D15D64.bin Binary files differindex 40de9e529..40de9e529 100755..100644 --- a/graphics/unknown/unknown_D15D64.bin +++ b/graphics/unknown/unknown_D15D64.bin diff --git a/graphics/unknown/unknown_D17424.bin b/graphics/unknown/unknown_D17424.bin Binary files differindex ce20ff15a..ce20ff15a 100755..100644 --- a/graphics/unknown/unknown_D17424.bin +++ b/graphics/unknown/unknown_D17424.bin diff --git a/graphics/unknown/unknown_D176CC.bin b/graphics/unknown/unknown_D176CC.bin Binary files differindex b2567ca7c..b2567ca7c 100755..100644 --- a/graphics/unknown/unknown_D176CC.bin +++ b/graphics/unknown/unknown_D176CC.bin diff --git a/graphics/unknown/unknown_D177D8.bin b/graphics/unknown/unknown_D177D8.bin Binary files differindex e8a506838..e8a506838 100755..100644 --- a/graphics/unknown/unknown_D177D8.bin +++ b/graphics/unknown/unknown_D177D8.bin diff --git a/graphics/unknown/unknown_D17C3C.bin b/graphics/unknown/unknown_D17C3C.bin Binary files differindex 77e35348a..77e35348a 100755..100644 --- a/graphics/unknown/unknown_D17C3C.bin +++ b/graphics/unknown/unknown_D17C3C.bin diff --git a/graphics/unknown/unknown_D1C060.bin b/graphics/unknown/unknown_D1C060.bin Binary files differindex e4776cba4..e4776cba4 100755..100644 --- a/graphics/unknown/unknown_D1C060.bin +++ b/graphics/unknown/unknown_D1C060.bin diff --git a/graphics/unknown/unknown_D1C060.pal b/graphics/unknown/unknown_D1C060.pal index 0b2590f44..0b2590f44 100755..100644 --- a/graphics/unknown/unknown_D1C060.pal +++ b/graphics/unknown/unknown_D1C060.pal diff --git a/graphics/unknown/unknown_D1C060.png b/graphics/unknown/unknown_D1C060.png Binary files differindex 2371241d7..2371241d7 100755..100644 --- a/graphics/unknown/unknown_D1C060.png +++ b/graphics/unknown/unknown_D1C060.png diff --git a/graphics/unknown/unknown_E6BC04.bin b/graphics/unknown/unknown_E6BC04.bin Binary files differindex 91230cb01..91230cb01 100755..100644 --- a/graphics/unknown/unknown_E6BC04.bin +++ b/graphics/unknown/unknown_E6BC04.bin diff --git a/graphics/unknown/unknown_E70968.bin b/graphics/unknown/unknown_E70968.bin Binary files differindex d48de1d6f..d48de1d6f 100755..100644 --- a/graphics/unknown/unknown_E70968.bin +++ b/graphics/unknown/unknown_E70968.bin diff --git a/graphics/unknown/unknown_E70C38.bin b/graphics/unknown/unknown_E70C38.bin index 6a6f7c049..6a6f7c049 100755..100644 --- a/graphics/unknown/unknown_E70C38.bin +++ b/graphics/unknown/unknown_E70C38.bin diff --git a/graphics/unknown/unknown_E70F0C.bin b/graphics/unknown/unknown_E70F0C.bin index 6312b8645..6312b8645 100755..100644 --- a/graphics/unknown/unknown_E70F0C.bin +++ b/graphics/unknown/unknown_E70F0C.bin diff --git a/graphics/unknown/unknown_E8096C.png b/graphics/unknown/unknown_E8096C.png Binary files differindex 92fe2da3a..92fe2da3a 100755..100644 --- a/graphics/unknown/unknown_E8096C.png +++ b/graphics/unknown/unknown_E8096C.png diff --git a/graphics/unknown/unknown_E953D0.bin b/graphics/unknown/unknown_E953D0.bin Binary files differindex 1c4ec2567..1c4ec2567 100755..100644 --- a/graphics/unknown/unknown_E953D0.bin +++ b/graphics/unknown/unknown_E953D0.bin diff --git a/graphics/unknown/unknown_E966B8.pal b/graphics/unknown/unknown_E966B8.pal index c4fbe6b86..c4fbe6b86 100755..100644 --- a/graphics/unknown/unknown_E966B8.pal +++ b/graphics/unknown/unknown_E966B8.pal diff --git a/graphics/unknown/unknown_E96738.bin b/graphics/unknown/unknown_E96738.bin Binary files differindex 154db8924..154db8924 100755..100644 --- a/graphics/unknown/unknown_E96738.bin +++ b/graphics/unknown/unknown_E96738.bin diff --git a/graphics/unknown/unknown_E96D2C.bin b/graphics/unknown/unknown_E96D2C.bin Binary files differindex 83bf29bec..83bf29bec 100755..100644 --- a/graphics/unknown/unknown_E96D2C.bin +++ b/graphics/unknown/unknown_E96D2C.bin diff --git a/graphics/unknown/unknown_E997E8.pal b/graphics/unknown/unknown_E997E8.pal index 34ce0e2a5..34ce0e2a5 100755..100644 --- a/graphics/unknown/unknown_E997E8.pal +++ b/graphics/unknown/unknown_E997E8.pal diff --git a/graphics/unknown/unknown_E99FB0.bin b/graphics/unknown/unknown_E99FB0.bin Binary files differindex 4ad21c463..4ad21c463 100755..100644 --- a/graphics/unknown/unknown_E99FB0.bin +++ b/graphics/unknown/unknown_E99FB0.bin diff --git a/graphics/unknown/unknown_E9AB40.pal b/graphics/unknown/unknown_E9AB40.pal index 086bdf503..086bdf503 100755..100644 --- a/graphics/unknown/unknown_E9AB40.pal +++ b/graphics/unknown/unknown_E9AB40.pal diff --git a/graphics/unknown/unknown_E9AB60.bin b/graphics/unknown/unknown_E9AB60.bin Binary files differindex 713dadb65..713dadb65 100755..100644 --- a/graphics/unknown/unknown_E9AB60.bin +++ b/graphics/unknown/unknown_E9AB60.bin diff --git a/graphics/unknown/unknown_E9C6DC.bin b/graphics/unknown/unknown_E9C6DC.bin Binary files differindex a9d1e28fb..a9d1e28fb 100755..100644 --- a/graphics/unknown/unknown_E9C6DC.bin +++ b/graphics/unknown/unknown_E9C6DC.bin diff --git a/graphics/unknown/unknown_E9F7E4.bin b/graphics/unknown/unknown_E9F7E4.bin Binary files differindex 0e6b7e775..0e6b7e775 100755..100644 --- a/graphics/unknown/unknown_E9F7E4.bin +++ b/graphics/unknown/unknown_E9F7E4.bin diff --git a/graphics/unknown/unknown_E9F988.pal b/graphics/unknown/unknown_E9F988.pal index 17cd7b267..17cd7b267 100755..100644 --- a/graphics/unknown/unknown_E9F988.pal +++ b/graphics/unknown/unknown_E9F988.pal diff --git a/graphics/unknown/unknown_E9F9E8.pal b/graphics/unknown/unknown_E9F9E8.pal index 6a3616159..6a3616159 100755..100644 --- a/graphics/unknown/unknown_E9F9E8.pal +++ b/graphics/unknown/unknown_E9F9E8.pal diff --git a/graphics/unknown/unknown_E9FBA0.bin b/graphics/unknown/unknown_E9FBA0.bin Binary files differindex 74a7dc73a..74a7dc73a 100755..100644 --- a/graphics/unknown/unknown_E9FBA0.bin +++ b/graphics/unknown/unknown_E9FBA0.bin diff --git a/graphics/unknown/unknown_E9FC64.bin b/graphics/unknown/unknown_E9FC64.bin Binary files differindex 0864924dc..0864924dc 100755..100644 --- a/graphics/unknown/unknown_E9FC64.bin +++ b/graphics/unknown/unknown_E9FC64.bin diff --git a/graphics/unknown/unknown_E9FEB4.bin b/graphics/unknown/unknown_E9FEB4.bin Binary files differindex 75581f46e..75581f46e 100755..100644 --- a/graphics/unknown/unknown_E9FEB4.bin +++ b/graphics/unknown/unknown_E9FEB4.bin diff --git a/graphics/unknown/unknown_E9FF58.bin b/graphics/unknown/unknown_E9FF58.bin Binary files differindex d9dc0b3b8..d9dc0b3b8 100755..100644 --- a/graphics/unknown/unknown_E9FF58.bin +++ b/graphics/unknown/unknown_E9FF58.bin diff --git a/graphics/unused/basic_frame.bin b/graphics/unused/basic_frame.bin Binary files differindex 8e83eb9f5..8e83eb9f5 100755..100644 --- a/graphics/unused/basic_frame.bin +++ b/graphics/unused/basic_frame.bin diff --git a/graphics/unused/basic_frame.pal b/graphics/unused/basic_frame.pal index 70ff9b632..70ff9b632 100755..100644 --- a/graphics/unused/basic_frame.pal +++ b/graphics/unused/basic_frame.pal diff --git a/graphics/unused/basic_frame.png b/graphics/unused/basic_frame.png Binary files differindex 132671581..132671581 100755..100644 --- a/graphics/unused/basic_frame.png +++ b/graphics/unused/basic_frame.png diff --git a/graphics/unused/battle_anim_023.pal b/graphics/unused/battle_anim_023.pal index 8e6e6e902..8e6e6e902 100755..100644 --- a/graphics/unused/battle_anim_023.pal +++ b/graphics/unused/battle_anim_023.pal diff --git a/graphics/unused/blank_frame.bin b/graphics/unused/blank_frame.bin Binary files differindex e9784eb4c..e9784eb4c 100755..100644 --- a/graphics/unused/blank_frame.bin +++ b/graphics/unused/blank_frame.bin diff --git a/graphics/unused/blue_frame.bin b/graphics/unused/blue_frame.bin Binary files differindex d5c3b6600..d5c3b6600 100755..100644 --- a/graphics/unused/blue_frame.bin +++ b/graphics/unused/blue_frame.bin diff --git a/graphics/unused/color_frames.pal b/graphics/unused/color_frames.pal index 56bf2a29c..56bf2a29c 100755..100644 --- a/graphics/unused/color_frames.pal +++ b/graphics/unused/color_frames.pal diff --git a/graphics/unused/color_frames.png b/graphics/unused/color_frames.png Binary files differindex 9270879eb..9270879eb 100755..100644 --- a/graphics/unused/color_frames.png +++ b/graphics/unused/color_frames.png diff --git a/graphics/unused/goosuto.bin b/graphics/unused/goosuto.bin Binary files differindex 8e5329157..8e5329157 100755..100644 --- a/graphics/unused/goosuto.bin +++ b/graphics/unused/goosuto.bin diff --git a/graphics/unused/goosuto.pal b/graphics/unused/goosuto.pal index 4315453b8..4315453b8 100755..100644 --- a/graphics/unused/goosuto.pal +++ b/graphics/unused/goosuto.pal diff --git a/graphics/unused/goosuto.png b/graphics/unused/goosuto.png Binary files differindex 257a25c71..257a25c71 100755..100644 --- a/graphics/unused/goosuto.png +++ b/graphics/unused/goosuto.png diff --git a/graphics/unused/green_frame.bin b/graphics/unused/green_frame.bin Binary files differindex b381235d9..b381235d9 100755..100644 --- a/graphics/unused/green_frame.bin +++ b/graphics/unused/green_frame.bin diff --git a/graphics/unused/line_sketch.pal b/graphics/unused/line_sketch.pal index dc1d51763..dc1d51763 100755..100644 --- a/graphics/unused/line_sketch.pal +++ b/graphics/unused/line_sketch.pal diff --git a/graphics/unused/line_sketch.png b/graphics/unused/line_sketch.png Binary files differindex fdfc8d771..fdfc8d771 100755..100644 --- a/graphics/unused/line_sketch.png +++ b/graphics/unused/line_sketch.png diff --git a/graphics/unused/line_sketch_2.bin b/graphics/unused/line_sketch_2.bin Binary files differindex e68d116a3..e68d116a3 100755..100644 --- a/graphics/unused/line_sketch_2.bin +++ b/graphics/unused/line_sketch_2.bin diff --git a/graphics/unused/line_sketch_2.png b/graphics/unused/line_sketch_2.png Binary files differindex cb70b3d83..cb70b3d83 100755..100644 --- a/graphics/unused/line_sketch_2.png +++ b/graphics/unused/line_sketch_2.png diff --git a/graphics/unused/metronome_hand_small.png b/graphics/unused/metronome_hand_small.png Binary files differindex bd6cc8530..bd6cc8530 100755..100644 --- a/graphics/unused/metronome_hand_small.png +++ b/graphics/unused/metronome_hand_small.png diff --git a/graphics/unused/music_notes.png b/graphics/unused/music_notes.png Binary files differindex af89e55a0..af89e55a0 100755..100644 --- a/graphics/unused/music_notes.png +++ b/graphics/unused/music_notes.png diff --git a/graphics/unused/numbers.pal b/graphics/unused/numbers.pal index 3955aa77a..3955aa77a 100755..100644 --- a/graphics/unused/numbers.pal +++ b/graphics/unused/numbers.pal diff --git a/graphics/unused/numbers.png b/graphics/unused/numbers.png Binary files differindex 2c816c426..2c816c426 100755..100644 --- a/graphics/unused/numbers.png +++ b/graphics/unused/numbers.png diff --git a/graphics/unused/old_battle_interface_1.png b/graphics/unused/old_battle_interface_1.png Binary files differindex 0b2fe5eb7..0b2fe5eb7 100755..100644 --- a/graphics/unused/old_battle_interface_1.png +++ b/graphics/unused/old_battle_interface_1.png diff --git a/graphics/unused/old_battle_interface_2.png b/graphics/unused/old_battle_interface_2.png Binary files differindex 04229ccda..04229ccda 100755..100644 --- a/graphics/unused/old_battle_interface_2.png +++ b/graphics/unused/old_battle_interface_2.png diff --git a/graphics/unused/old_battle_interface_3.png b/graphics/unused/old_battle_interface_3.png Binary files differindex 428c7765d..428c7765d 100755..100644 --- a/graphics/unused/old_battle_interface_3.png +++ b/graphics/unused/old_battle_interface_3.png diff --git a/graphics/unused/old_battle_interface_tilemap.bin b/graphics/unused/old_battle_interface_tilemap.bin Binary files differindex aae3307e7..aae3307e7 100755..100644 --- a/graphics/unused/old_battle_interface_tilemap.bin +++ b/graphics/unused/old_battle_interface_tilemap.bin diff --git a/graphics/unused/old_beatup.pal b/graphics/unused/old_beatup.pal index 31c43515e..31c43515e 100755..100644 --- a/graphics/unused/old_beatup.pal +++ b/graphics/unused/old_beatup.pal diff --git a/graphics/unused/old_beatup.png b/graphics/unused/old_beatup.png Binary files differindex e2a0561e2..e2a0561e2 100755..100644 --- a/graphics/unused/old_beatup.png +++ b/graphics/unused/old_beatup.png diff --git a/graphics/unused/old_bulbasaur.png b/graphics/unused/old_bulbasaur.png Binary files differindex 729ebe789..729ebe789 100755..100644 --- a/graphics/unused/old_bulbasaur.png +++ b/graphics/unused/old_bulbasaur.png diff --git a/graphics/unused/old_bulbasaur2.png b/graphics/unused/old_bulbasaur2.png Binary files differindex f374e5a9f..f374e5a9f 100755..100644 --- a/graphics/unused/old_bulbasaur2.png +++ b/graphics/unused/old_bulbasaur2.png diff --git a/graphics/unused/old_charizard.png b/graphics/unused/old_charizard.png Binary files differindex e1470aada..e1470aada 100755..100644 --- a/graphics/unused/old_charizard.png +++ b/graphics/unused/old_charizard.png diff --git a/graphics/unused/old_charmap.bin b/graphics/unused/old_charmap.bin Binary files differindex aa15ea36e..aa15ea36e 100755..100644 --- a/graphics/unused/old_charmap.bin +++ b/graphics/unused/old_charmap.bin diff --git a/graphics/unused/old_charmap.pal b/graphics/unused/old_charmap.pal index cbcd5de4d..cbcd5de4d 100755..100644 --- a/graphics/unused/old_charmap.pal +++ b/graphics/unused/old_charmap.pal diff --git a/graphics/unused/old_charmap.png b/graphics/unused/old_charmap.png Binary files differindex b5ea6e803..b5ea6e803 100755..100644 --- a/graphics/unused/old_charmap.png +++ b/graphics/unused/old_charmap.png diff --git a/graphics/unused/old_contest.bin b/graphics/unused/old_contest.bin Binary files differindex da6f4652e..da6f4652e 100755..100644 --- a/graphics/unused/old_contest.bin +++ b/graphics/unused/old_contest.bin diff --git a/graphics/unused/old_contest.pal b/graphics/unused/old_contest.pal index 69fde2000..69fde2000 100755..100644 --- a/graphics/unused/old_contest.pal +++ b/graphics/unused/old_contest.pal diff --git a/graphics/unused/old_contest_2.bin b/graphics/unused/old_contest_2.bin Binary files differindex 06836cc19..06836cc19 100755..100644 --- a/graphics/unused/old_contest_2.bin +++ b/graphics/unused/old_contest_2.bin diff --git a/graphics/unused/old_contest_2.pal b/graphics/unused/old_contest_2.pal index 3fb174790..3fb174790 100755..100644 --- a/graphics/unused/old_contest_2.pal +++ b/graphics/unused/old_contest_2.pal diff --git a/graphics/unused/old_contest_2_1.png b/graphics/unused/old_contest_2_1.png Binary files differindex 67b81de2d..67b81de2d 100755..100644 --- a/graphics/unused/old_contest_2_1.png +++ b/graphics/unused/old_contest_2_1.png diff --git a/graphics/unused/old_contest_2_2.png b/graphics/unused/old_contest_2_2.png Binary files differindex a33a8c324..a33a8c324 100755..100644 --- a/graphics/unused/old_contest_2_2.png +++ b/graphics/unused/old_contest_2_2.png diff --git a/graphics/unused/old_contest_classes.png b/graphics/unused/old_contest_classes.png Binary files differindex c2e7b5e29..c2e7b5e29 100755..100644 --- a/graphics/unused/old_contest_classes.png +++ b/graphics/unused/old_contest_classes.png diff --git a/graphics/unused/old_contest_floor.png b/graphics/unused/old_contest_floor.png Binary files differindex 94877b921..94877b921 100755..100644 --- a/graphics/unused/old_contest_floor.png +++ b/graphics/unused/old_contest_floor.png diff --git a/graphics/unused/old_contest_frame_1.png b/graphics/unused/old_contest_frame_1.png Binary files differindex 28eaae905..28eaae905 100755..100644 --- a/graphics/unused/old_contest_frame_1.png +++ b/graphics/unused/old_contest_frame_1.png diff --git a/graphics/unused/old_contest_frame_2.png b/graphics/unused/old_contest_frame_2.png Binary files differindex c8b20408c..c8b20408c 100755..100644 --- a/graphics/unused/old_contest_frame_2.png +++ b/graphics/unused/old_contest_frame_2.png diff --git a/graphics/unused/old_contest_meter.png b/graphics/unused/old_contest_meter.png Binary files differindex 606208b1f..606208b1f 100755..100644 --- a/graphics/unused/old_contest_meter.png +++ b/graphics/unused/old_contest_meter.png diff --git a/graphics/unused/old_contest_numbers.png b/graphics/unused/old_contest_numbers.png Binary files differindex 98c145976..98c145976 100755..100644 --- a/graphics/unused/old_contest_numbers.png +++ b/graphics/unused/old_contest_numbers.png diff --git a/graphics/unused/old_contest_symbols.png b/graphics/unused/old_contest_symbols.png Binary files differindex 87cac733e..87cac733e 100755..100644 --- a/graphics/unused/old_contest_symbols.png +++ b/graphics/unused/old_contest_symbols.png diff --git a/graphics/unused/old_pal1.pal b/graphics/unused/old_pal1.pal index 1e2ef9083..1e2ef9083 100755..100644 --- a/graphics/unused/old_pal1.pal +++ b/graphics/unused/old_pal1.pal diff --git a/graphics/unused/old_pal2.pal b/graphics/unused/old_pal2.pal index 3c5e6ad7f..3c5e6ad7f 100755..100644 --- a/graphics/unused/old_pal2.pal +++ b/graphics/unused/old_pal2.pal diff --git a/graphics/unused/old_pal3.pal b/graphics/unused/old_pal3.pal index d07e21019..d07e21019 100755..100644 --- a/graphics/unused/old_pal3.pal +++ b/graphics/unused/old_pal3.pal diff --git a/graphics/unused/old_pal4.pal b/graphics/unused/old_pal4.pal index 60b814f75..60b814f75 100755..100644 --- a/graphics/unused/old_pal4.pal +++ b/graphics/unused/old_pal4.pal diff --git a/graphics/unused/old_pal5.pal b/graphics/unused/old_pal5.pal index b6f481d46..b6f481d46 100755..100644 --- a/graphics/unused/old_pal5.pal +++ b/graphics/unused/old_pal5.pal diff --git a/graphics/unused/old_pal6.pal b/graphics/unused/old_pal6.pal index 6d91e9918..6d91e9918 100755..100644 --- a/graphics/unused/old_pal6.pal +++ b/graphics/unused/old_pal6.pal diff --git a/graphics/unused/old_pal7.pal b/graphics/unused/old_pal7.pal index d380bc65d..d380bc65d 100755..100644 --- a/graphics/unused/old_pal7.pal +++ b/graphics/unused/old_pal7.pal diff --git a/graphics/unused/red_frame.bin b/graphics/unused/red_frame.bin Binary files differindex 5090b1b84..5090b1b84 100755..100644 --- a/graphics/unused/red_frame.bin +++ b/graphics/unused/red_frame.bin diff --git a/graphics/unused/shadow.pal b/graphics/unused/shadow.pal index 72d9b7406..72d9b7406 100755..100644 --- a/graphics/unused/shadow.pal +++ b/graphics/unused/shadow.pal diff --git a/graphics/unused/shadow.png b/graphics/unused/shadow.png Binary files differindex 7d090ad3d..7d090ad3d 100755..100644 --- a/graphics/unused/shadow.png +++ b/graphics/unused/shadow.png diff --git a/graphics/unused/water_splash.bin b/graphics/unused/water_splash.bin Binary files differindex 059347fa7..059347fa7 100755..100644 --- a/graphics/unused/water_splash.bin +++ b/graphics/unused/water_splash.bin diff --git a/graphics/unused/water_splash.pal b/graphics/unused/water_splash.pal index ada1391df..ada1391df 100755..100644 --- a/graphics/unused/water_splash.pal +++ b/graphics/unused/water_splash.pal diff --git a/graphics/unused/water_splash.png b/graphics/unused/water_splash.png Binary files differindex a8439a050..a8439a050 100755..100644 --- a/graphics/unused/water_splash.png +++ b/graphics/unused/water_splash.png diff --git a/graphics/unused/yellow_frame.bin b/graphics/unused/yellow_frame.bin Binary files differindex 30ba3ed01..30ba3ed01 100755..100644 --- a/graphics/unused/yellow_frame.bin +++ b/graphics/unused/yellow_frame.bin diff --git a/graphics/weather/fog1.bin b/graphics/weather/fog1.bin Binary files differindex 1f9d53f95..1f9d53f95 100755..100644 --- a/graphics/weather/fog1.bin +++ b/graphics/weather/fog1.bin diff --git a/include/battle.h b/include/battle.h index bd3aa4225..c57c9c238 100644..100755 --- a/include/battle.h +++ b/include/battle.h @@ -604,6 +604,8 @@ void dp01_build_cmdbuf_x37_a(u8 a, u8 b); //0x37 void MarkBufferBankForExecution(u8 bank); +extern u8 gBattleTextBuff1[]; + // asm/battle_1.o void sub_800D6D4(); void sub_800D74C(); diff --git a/include/battle_setup.h b/include/battle_setup.h index e88aefe6d..c8c463f6d 100644 --- a/include/battle_setup.h +++ b/include/battle_setup.h @@ -87,7 +87,7 @@ bool32 battle_exit_is_player_defeat(u32 a1); //void sub_80822BC(void); //void TrainerBattleLoadArgs(const struct TrainerBattleSpec *specs, u8 *data); //void battle_80801F0(void); -u8 *TrainerBattleConfigure(u8 *data); +u8 *TrainerBattleConfigure(const u8 *data); void TrainerWantsBattle(u8, u8 *); bool32 GetTrainerFlagFromScriptPointer(u8 *data); //void sub_8082524(void); diff --git a/include/data/field_map_obj/anim_func_ptrs.h b/include/data/field_map_obj/anim_func_ptrs.h index 63575727d..63575727d 100755..100644 --- a/include/data/field_map_obj/anim_func_ptrs.h +++ b/include/data/field_map_obj/anim_func_ptrs.h diff --git a/include/data/field_map_obj/base_oam.h b/include/data/field_map_obj/base_oam.h index 8595f97e7..8595f97e7 100755..100644 --- a/include/data/field_map_obj/base_oam.h +++ b/include/data/field_map_obj/base_oam.h diff --git a/include/data/field_map_obj/berry_tree_graphics_tables.h b/include/data/field_map_obj/berry_tree_graphics_tables.h index 53a0fd482..53a0fd482 100755..100644 --- a/include/data/field_map_obj/berry_tree_graphics_tables.h +++ b/include/data/field_map_obj/berry_tree_graphics_tables.h diff --git a/include/data/field_map_obj/callback_subroutine_pointers.h b/include/data/field_map_obj/callback_subroutine_pointers.h index d24a47184..d24a47184 100755..100644 --- a/include/data/field_map_obj/callback_subroutine_pointers.h +++ b/include/data/field_map_obj/callback_subroutine_pointers.h diff --git a/include/data/field_map_obj/field_effect_object_template_pointers.h b/include/data/field_map_obj/field_effect_object_template_pointers.h index 8e19747ce..8e19747ce 100755..100644 --- a/include/data/field_map_obj/field_effect_object_template_pointers.h +++ b/include/data/field_map_obj/field_effect_object_template_pointers.h diff --git a/include/data/field_map_obj/field_effect_objects.h b/include/data/field_map_obj/field_effect_objects.h index dc8a38542..dc8a38542 100755..100644 --- a/include/data/field_map_obj/field_effect_objects.h +++ b/include/data/field_map_obj/field_effect_objects.h diff --git a/include/data/field_map_obj/map_object_anims.h b/include/data/field_map_obj/map_object_anims.h index 0d6e299ee..0d6e299ee 100755..100644 --- a/include/data/field_map_obj/map_object_anims.h +++ b/include/data/field_map_obj/map_object_anims.h diff --git a/include/data/field_map_obj/map_object_graphics_info.h b/include/data/field_map_obj/map_object_graphics_info.h index 818c5b90c..818c5b90c 100755..100644 --- a/include/data/field_map_obj/map_object_graphics_info.h +++ b/include/data/field_map_obj/map_object_graphics_info.h diff --git a/include/data/field_map_obj/map_object_graphics_info_pointers.h b/include/data/field_map_obj/map_object_graphics_info_pointers.h index c36827709..c36827709 100755..100644 --- a/include/data/field_map_obj/map_object_graphics_info_pointers.h +++ b/include/data/field_map_obj/map_object_graphics_info_pointers.h diff --git a/include/data/field_map_obj/map_object_pic_tables.h b/include/data/field_map_obj/map_object_pic_tables.h index 37d579512..37d579512 100755..100644 --- a/include/data/field_map_obj/map_object_pic_tables.h +++ b/include/data/field_map_obj/map_object_pic_tables.h diff --git a/include/data/field_map_obj/map_object_subsprites.h b/include/data/field_map_obj/map_object_subsprites.h index f928db88a..f928db88a 100755..100644 --- a/include/data/field_map_obj/map_object_subsprites.h +++ b/include/data/field_map_obj/map_object_subsprites.h diff --git a/include/decoration.h b/include/decoration.h index 7a6d8ef5a..7a6d8ef5a 100644..100755 --- a/include/decoration.h +++ b/include/decoration.h diff --git a/include/field_effect_helpers.h b/include/field_effect_helpers.h index a1dd53a2b..a1dd53a2b 100755..100644 --- a/include/field_effect_helpers.h +++ b/include/field_effect_helpers.h diff --git a/include/field_map_obj.h b/include/field_map_obj.h index 6595a51ca..6595a51ca 100755..100644 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h diff --git a/include/global.h b/include/global.h index 0f5bcde6d..4d20ea4fc 100644 --- a/include/global.h +++ b/include/global.h @@ -115,11 +115,6 @@ enum BAG_KEYITEMS }; -struct TextStruct -{ - const u8 *text; -}; - struct Coords16 { s16 x; diff --git a/include/graphics.h b/include/graphics.h index 36b11fd0a..fb9781147 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -2435,12 +2435,118 @@ extern const u8 gMonFrontPic_UnownQuestionMark[]; extern const u8 gMonBackPic_UnownQuestionMark[]; extern const u8 gMonIcon_UnownQuestionMark[]; -// src/pokeblock.c +// data/graphics.s +extern const u8 gBagMaleTiles[]; +extern const u8 gBagFemaleTiles[]; +extern const u8 gBagPalette[]; +extern const u8 gBagScreen_Gfx[]; +extern const u8 gBagScreenMale_Pal[]; +extern const u8 gBagScreenFemale_Pal[]; +extern const u16 gUnknown_08E77004[]; +extern const u8 gBuyMenuFrame_Gfx[]; +extern const u8 gMenuMoneyPal[]; +extern const u8 gBuyMenuFrame_Tilemap[]; +extern const u8 gMenuMoneyGfx[]; extern const u8 gMenuPokeblock_Gfx[]; -extern const u8 gMenuPokeblock_Tilemap[]; extern const u8 gMenuPokeblock_Pal[]; - extern const u8 gMenuPokeblockDevice_Gfx[]; extern const u8 gMenuPokeblockDevice_Pal[]; +extern const u8 gMenuPokeblock_Tilemap[]; + +extern const u8 gBerryCheck_Gfx[]; +extern const u8 gBerryCheck_Pal[]; +extern const u8 gUnknown_08E788E4[]; +extern const u8 gUnknown_08E78A84[]; +extern const u8 gBerryCheckCircle_Gfx[]; + +// data/graphics/berries/graphics.inc +extern const u8 gBerryPic_Cheri[]; +extern const u8 gBerryPic_Oran[]; +extern const u8 gBerryPic_Pecha[]; +extern const u8 gBerryPic_Rawst[]; +extern const u8 gBerryPic_Aspear[]; +extern const u8 gBerryPic_Leppa[]; +extern const u8 gBerryPic_Chesto[]; +extern const u8 gBerryPic_Persim[]; +extern const u8 gBerryPic_Lum[]; +extern const u8 gBerryPic_Sitrus[]; +extern const u8 gBerryPic_Figy[]; +extern const u8 gBerryPic_Wiki[]; +extern const u8 gBerryPic_Mago[]; +extern const u8 gBerryPic_Aguav[]; +extern const u8 gBerryPic_Iapapa[]; +extern const u8 gBerryPic_Razz[]; +extern const u8 gBerryPic_Bluk[]; +extern const u8 gBerryPic_Nanab[]; +extern const u8 gBerryPic_Wepear[]; +extern const u8 gBerryPic_Pinap[]; +extern const u8 gBerryPic_Pomeg[]; +extern const u8 gBerryPic_Kelpsy[]; +extern const u8 gBerryPic_Qualot[]; +extern const u8 gBerryPic_Hondew[]; +extern const u8 gBerryPic_Grepa[]; +extern const u8 gBerryPic_Tamato[]; +extern const u8 gBerryPic_Cornn[]; +extern const u8 gBerryPic_Magost[]; +extern const u8 gBerryPic_Rabuta[]; +extern const u8 gBerryPic_Nomel[]; +extern const u8 gBerryPic_Spelon[]; +extern const u8 gBerryPic_Pamtre[]; +extern const u8 gBerryPic_Watmel[]; +extern const u8 gBerryPic_Durin[]; +extern const u8 gBerryPic_Belue[]; +extern const u8 gBerryPic_Liechi[]; +extern const u8 gBerryPic_Ganlon[]; +extern const u8 gBerryPic_Salac[]; +extern const u8 gBerryPic_Petaya[]; +extern const u8 gBerryPic_Apicot[]; +extern const u8 gBerryPic_Lansat[]; +extern const u8 gBerryPic_Starf[]; +extern const u8 gBerryPic_Enigma[]; +extern const u8 gBerryPalette_Cheri[]; +extern const u8 gBerryPalette_Oran[]; +extern const u8 gBerryPalette_Pecha[]; +extern const u8 gBerryPalette_Rawst[]; +extern const u8 gBerryPalette_Aspear[]; +extern const u8 gBerryPalette_Leppa[]; +extern const u8 gBerryPalette_Chesto[]; +extern const u8 gBerryPalette_Persim[]; +extern const u8 gBerryPalette_Lum[]; +extern const u8 gBerryPalette_Sitrus[]; +extern const u8 gBerryPalette_Figy[]; +extern const u8 gBerryPalette_Wiki[]; +extern const u8 gBerryPalette_Mago[]; +extern const u8 gBerryPalette_Aguav[]; +extern const u8 gBerryPalette_Iapapa[]; +extern const u8 gBerryPalette_Razz[]; +extern const u8 gBerryPalette_Bluk[]; +extern const u8 gBerryPalette_Nanab[]; +extern const u8 gBerryPalette_Wepear[]; +extern const u8 gBerryPalette_Pinap[]; +extern const u8 gBerryPalette_Pomeg[]; +extern const u8 gBerryPalette_Kelpsy[]; +extern const u8 gBerryPalette_Qualot[]; +extern const u8 gBerryPalette_Hondew[]; +extern const u8 gBerryPalette_Grepa[]; +extern const u8 gBerryPalette_Tamato[]; +extern const u8 gBerryPalette_Cornn[]; +extern const u8 gBerryPalette_Magost[]; +extern const u8 gBerryPalette_Rabuta[]; +extern const u8 gBerryPalette_Nomel[]; +extern const u8 gBerryPalette_Spelon[]; +extern const u8 gBerryPalette_Pamtre[]; +extern const u8 gBerryPalette_Watmel[]; +extern const u8 gBerryPalette_Durin[]; +extern const u8 gBerryPalette_Belue[]; +extern const u8 gBerryPalette_Liechi[]; +extern const u8 gBerryPalette_Ganlon[]; +extern const u8 gBerryPalette_Salac[]; +extern const u8 gBerryPalette_Petaya[]; +extern const u8 gBerryPalette_Apicot[]; +extern const u8 gBerryPalette_Lansat[]; +extern const u8 gBerryPalette_Starf[]; +extern const u8 gBerryPalette_Enigma[]; + +extern const u8 gUnknown_08E96EC8[]; #endif // GUARD_GRAPHICS_H diff --git a/include/item.h b/include/item.h index 47af11940..80a460caa 100644 --- a/include/item.h +++ b/include/item.h @@ -22,6 +22,16 @@ struct Item u8 secondaryId; }; +struct BagPocket +{ + struct ItemSlot *itemSlots; + u8 capacity; +}; + +#define NUM_BAG_POCKETS 5 + +extern const struct BagPocket gBagPockets[NUM_BAG_POCKETS]; + void CopyItemName(u16 itemId, u8 *string); bool8 IsBagPocketNonEmpty(u8 pocket); bool8 CheckBagHasItem(u16 itemId, u16 count); @@ -41,7 +51,7 @@ u16 ItemId_GetPrice(u16 itemId); u8 ItemId_GetHoldEffect(u16 itemId); u8 ItemId_GetHoldEffectParam(u16 itemId); u8 *ItemId_GetDescription(u16 itemId); -bool8 ItemId_CopyDescription(u8 *a, u32 itemId, u32 c); +bool32 ItemId_CopyDescription(u8 *a, u32 itemId, u32 c); u8 ItemId_GetImportance(u16 itemId); u8 ItemId_GetUnknownValue(u16 itemId); u8 ItemId_GetPocket(u16 itemId); diff --git a/include/item_menu.h b/include/item_menu.h index 301836ac8..6950ed0ff 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -3,12 +3,12 @@ #include "string_util.h" -void sub_80A3684(void); +void ResetBagScrollPositions(void); void ClearBag(void); void sub_80A3E0C(void); -void sub_80A3FA0(u16 *, u32, u32, u32, u32, u32); +void sub_80A3FA0(u16 *a, u8 b, u8 c, u8 d, u8 e, u16 f); void sub_80A4164(u8 *, u16, enum StringConvertMode, u8); -void sub_80A418C(u16, enum StringConvertMode, int, int, int); +void sub_80A418C(u16 a, enum StringConvertMode b, u8 c, u8 d, u8 e); void sub_80A53F8(void); void HandleItemMenuPaletteFade(u8); void sub_80A5B40(void); @@ -19,11 +19,11 @@ void sub_80A5D04(void); void sub_80A6300(void); void sub_80A68CC(); void sub_80A6A30(void); -int sub_80A6D1C(void); +bool32 sub_80A6D1C(void); void sub_80A6DCC(void); void sub_80A7094(u8); -u8 sub_80A7D8C(u8 berry, int i, int i1); +u8 CreateBerrySprite(u8, s16, s16); void sub_80A7DD4(void); -u8 sub_80A7E5C(u8); +u8 sub_80A7E5C(s16); #endif // GUARD_ITEM_MENU_H diff --git a/include/items.h b/include/items.h index f3c506b43..69515f18e 100644 --- a/include/items.h +++ b/include/items.h @@ -1,7 +1,8 @@ #ifndef GUARD_ITEMS_H #define GUARD_ITEMS_H -enum { +enum +{ ITEM_NONE, // 0x000 ITEM_MASTER_BALL, // 0x001 ITEM_ULTRA_BALL, // 0x002 diff --git a/include/link.h b/include/link.h index f80f2bc58..367add625 100644 --- a/include/link.h +++ b/include/link.h @@ -144,6 +144,7 @@ extern u8 deUnkValue2; extern struct LinkPlayer gLinkPlayers[]; extern u16 word_3002910[]; extern bool8 gReceivedRemoteLinkPlayers; +extern bool8 gLinkOpen; void Task_DestroySelf(u8); void sub_8007270(u8); diff --git a/include/menu.h b/include/menu.h index 9b48ab79b..9b48ab79b 100644..100755 --- a/include/menu.h +++ b/include/menu.h diff --git a/include/menu_helpers.h b/include/menu_helpers.h index 1df5053e7..1df5053e7 100644..100755 --- a/include/menu_helpers.h +++ b/include/menu_helpers.h diff --git a/include/pokenav.h b/include/pokenav.h index 70cc4135f..70cc4135f 100644..100755 --- a/include/pokenav.h +++ b/include/pokenav.h diff --git a/include/script.h b/include/script.h index 5577fcb01..e35ec7608 100644 --- a/include/script.h +++ b/include/script.h @@ -12,8 +12,8 @@ struct ScriptContext u8 mode; u8 comparisonResult; u8 (*nativePtr)(void); - u8 *scriptPtr; - u8 *stack[20]; + const u8 *scriptPtr; + const u8 *stack[20]; ScrCmdFunc *cmdTable; ScrCmdFunc *cmdTableEnd; u32 data[4]; @@ -22,12 +22,12 @@ struct ScriptContext #define ScriptReadByte(ctx) (*(ctx->scriptPtr++)) void InitScriptContext(struct ScriptContext *ctx, void *cmdTable, void *cmdTableEnd); -u8 SetupBytecodeScript(struct ScriptContext *ctx, void *ptr); +u8 SetupBytecodeScript(struct ScriptContext *ctx, const u8 *ptr); void SetupNativeScript(struct ScriptContext *ctx, void *ptr); void StopScript(struct ScriptContext *ctx); u8 RunScript(struct ScriptContext *ctx); -u8 ScriptPush(struct ScriptContext *ctx, u8 *ptr); -u8 *ScriptPop(struct ScriptContext *ctx); +u8 ScriptPush(struct ScriptContext *ctx, const u8 *ptr); +const u8 *ScriptPop(struct ScriptContext *ctx); void ScriptJump(struct ScriptContext *ctx, u8 *ptr); void ScriptCall(struct ScriptContext *ctx, u8 *ptr); void ScriptReturn(struct ScriptContext *ctx); @@ -38,10 +38,10 @@ void ScriptContext2_Disable(void); bool8 ScriptContext2_IsEnabled(void); void ScriptContext1_Init(void); bool8 ScriptContext2_RunScript(void); -void ScriptContext1_SetupScript(u8 *ptr); +void ScriptContext1_SetupScript(const u8 *ptr); void ScriptContext1_Stop(void); void EnableBothScriptContexts(void); -void ScriptContext2_RunNewScript(u8 *ptr); +void ScriptContext2_RunNewScript(const u8 *ptr); u8 *mapheader_get_tagged_pointer(u8 tag); void mapheader_run_script_by_tag(u8 tag); u8 *mapheader_get_first_match_from_tagged_ptr_list(u8 tag); diff --git a/include/script_menu.h b/include/script_menu.h index 458aad13d..cc5c442ec 100644 --- a/include/script_menu.h +++ b/include/script_menu.h @@ -7,7 +7,7 @@ struct MultichoiceListStruct u8 count; }; -extern const struct TextStruct gUnknown_083CE048[]; +extern const u8 *const gUnknown_083CE048[]; bool8 sub_80B5054(u8 left, u8 top, u8 var3, u8 var4); bool8 sub_80B50B0(u8 left, u8 top, u8 var3, u8 var4, u8 var5); diff --git a/include/songs.h b/include/songs.h index a813cc785..8cf7ee5e9 100644 --- a/include/songs.h +++ b/include/songs.h @@ -94,11 +94,11 @@ enum SE_T_KAMI2, SE_ELEBETA, /*0x5A*/ SE_HINSI, - SE_EXPMAX, - SE_TAMAKORO, - SE_TAMAKORO_E, - SE_BASABASA, - SE_REGI, + /*0x5B*/ SE_EXPMAX, + /*0x5C*/ SE_TAMAKORO, + /*0x5D*/ SE_TAMAKORO_E, + /*0x5E*/ SE_BASABASA, + /*0x5F*/ SE_REGI, SE_C_GAJI, SE_C_MAKU_U, SE_C_MAKU_D, diff --git a/include/sprite.h b/include/sprite.h index a65e71bd9..733231eb5 100644 --- a/include/sprite.h +++ b/include/sprite.h @@ -19,7 +19,7 @@ struct CompressedSpriteSheet struct SpriteFrameImage { - u8 *data; + const u8 *data; u16 size; }; diff --git a/include/strings.h b/include/strings.h index 89a78e478..fe9cfc6ba 100644..100755 --- a/include/strings.h +++ b/include/strings.h @@ -188,7 +188,7 @@ extern const u8 OtherText_TheField[]; extern const u8 OtherText_TheField2[]; extern const u8 OtherText_ThePC[]; -extern const struct TextStruct gUnknown_0840E740[]; +extern const u8 *const gUnknown_0840E740[7]; extern const u8 gOtherText_ReturnTo[]; extern const u8 gOtherText_WhatWillYouDo2[]; diff --git a/include/text.h b/include/text.h index cf413644b..e9e8eb8c2 100644 --- a/include/text.h +++ b/include/text.h @@ -9,8 +9,9 @@ #define CHAR_ELLIPSIS 0xB0 #define CHAR_MALE 0xB5 #define CHAR_FEMALE 0xB6 -#define CHAR_COMMA 0xB8 #define CHAR_CURRENCY 0xB7 +#define CHAR_COMMA 0xB8 +#define CHAR_MULT_SIGN 0xB9 #define CHAR_SLASH 0xBA #define CHAR_A 0xBB #define CHAR_B 0xBC diff --git a/ld_script.txt b/ld_script.txt index 4a4b82679..764f9379d 100755..100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -155,7 +155,7 @@ SECTIONS { src/fldeff_cut.o(.text); src/mail_data.o(.text); src/map_name_popup.o(.text); - asm/item_menu.o(.text); + src/item_menu.o(.text); src/battle_anim_80A7E7C.o(.text); src/item.o(.text); src/matsuda_debug_menu.o(.text); @@ -398,7 +398,7 @@ SECTIONS { data/pokemon_icon.o(.rodata); data/pokemon_summary_screen.o(.rodata); data/fldeff_cut.o(.rodata); - data/item_menu.o(.rodata); + src/item_menu.o(.rodata); data/battle_anim_80A7E7C.o(.rodata); data/item.o(.rodata); data/matsuda_debug_menu.o(.rodata); diff --git a/src/battle_setup.c b/src/battle_setup.c index adcbe8eaa..04674e739 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -845,17 +845,17 @@ void HandleFirstBattleEnd(void) SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music); } -u32 TrainerBattleLoadArg32(u8 *ptr) +u32 TrainerBattleLoadArg32(const u8 *ptr) { return ptr[0] | (ptr[1] << 8) | (ptr[2] << 16) | (ptr[3] << 24); } -u16 TrainerBattleLoadArg16(u8 *ptr) +u16 TrainerBattleLoadArg16(const u8 *ptr) { return ptr[0] | (ptr[1] << 8); } -u8 TrainerBattleLoadArg8(u8 *ptr) +u8 TrainerBattleLoadArg8(const u8 *ptr) { return ptr[0]; } @@ -867,16 +867,16 @@ u16 trainerflag_opponent(void) bool32 battle_exit_is_player_defeat(u32 a1) { - switch (a1 - 1) + switch (a1) { - case 1: case 2: - return TRUE; - case 0: case 3: + return TRUE; + case 1: case 4: case 5: case 6: + case 7: return FALSE; } return FALSE; @@ -895,7 +895,7 @@ void sub_80822BC(void) gTrainerBattleEndScript = 0; } -void TrainerBattleLoadArgs(const struct TrainerBattleSpec *specs, u8 *data) +void TrainerBattleLoadArgs(const struct TrainerBattleSpec *specs, const u8 *data) { while (1) { @@ -923,7 +923,7 @@ void TrainerBattleLoadArgs(const struct TrainerBattleSpec *specs, u8 *data) *(u32 *)specs->ptr = 0; break; case 6: - *(u8 **)specs->ptr = data; + *(const u8 **)specs->ptr = data; return; } specs++; @@ -939,7 +939,7 @@ void battle_80801F0(void) } } -u8 *TrainerBattleConfigure(u8 *data) +u8 *TrainerBattleConfigure(const u8 *data) { sub_80822BC(); gTrainerBattleMode = TrainerBattleLoadArg8(data); diff --git a/src/berry_tag_screen.c b/src/berry_tag_screen.c index 0e81e4fec..2d8ff2236 100644 --- a/src/berry_tag_screen.c +++ b/src/berry_tag_screen.c @@ -131,7 +131,7 @@ static bool8 sub_8146058(void) break; case 8: berry = gScriptItemId + OFFSET_7B; - gUnknown_0203932C = sub_80A7D8C(berry, 56, 64); + gUnknown_0203932C = CreateBerrySprite(berry, 56, 64); gMain.state += 1; break; case 9: @@ -374,7 +374,7 @@ static void sub_81466E8(u8 taskId, s8 direction) lsls r0, 3\n\ ldr r1, _08146748 @ =gTasks + 0x8\n\ adds r6, r0, r1\n\ - ldr r4, _0814674C @ =gUnknown_03005D10\n\ + ldr r4, _0814674C @ =gBagPocketScrollStates\n\ movs r0, 0xC\n\ adds r0, r4\n\ mov r8, r0\n\ @@ -412,7 +412,7 @@ _08146728:\n\ b _08146766\n\ .align 2, 0\n\ _08146748: .4byte gTasks + 0x8\n\ -_0814674C: .4byte gUnknown_03005D10\n\ +_0814674C: .4byte gBagPocketScrollStates\n\ _08146750:\n\ mov r4, r8\n\ ldrb r0, [r4, 0x2]\n\ @@ -487,7 +487,7 @@ static void sub_8146810(s8 berry) asrs r1, r0, 24\n\ cmp r1, 0\n\ ble _08146848\n\ - ldr r0, _08146840 @ =gUnknown_03005D10\n\ + ldr r0, _08146840 @ =gBagPocketScrollStates\n\ adds r4, r0, 0\n\ adds r4, 0xC\n\ ldrb r2, [r0, 0xC]\n\ @@ -504,12 +504,12 @@ static void sub_8146810(s8 berry) movs r0, 0x7\n\ b _0814686E\n\ .align 2, 0\n\ -_08146840: .4byte gUnknown_03005D10\n\ +_08146840: .4byte gBagPocketScrollStates\n\ _08146844:\n\ adds r0, r2, r3\n\ b _0814686E\n\ _08146848:\n\ - ldr r0, _08146868 @ =gUnknown_03005D10\n\ + ldr r0, _08146868 @ =gBagPocketScrollStates\n\ adds r5, r0, 0\n\ adds r5, 0xC\n\ ldrb r2, [r0, 0xC]\n\ @@ -525,7 +525,7 @@ _08146848:\n\ strb r1, [r6, 0xC]\n\ b _08146870\n\ .align 2, 0\n\ -_08146868: .4byte gUnknown_03005D10\n\ +_08146868: .4byte gBagPocketScrollStates\n\ _0814686C:\n\ adds r0, r2, r4\n\ _0814686E:\n\ @@ -538,7 +538,7 @@ _08146870:\n\ ldrb r1, [r0, 0x1]\n\ ldrb r0, [r0]\n\ adds r1, r0\n\ - ldr r0, _081468B0 @ =gUnknown_03005D24\n\ + ldr r0, _081468B0 @ =gCurrentBagPocketItemSlots\n\ ldr r0, [r0]\n\ lsls r1, 2\n\ adds r1, r0\n\ @@ -559,7 +559,7 @@ _08146870:\n\ bx r0\n\ .align 2, 0\n\ _081468AC: .4byte gScriptItemId\n\ -_081468B0: .4byte gUnknown_03005D24\n\ +_081468B0: .4byte gCurrentBagPocketItemSlots\n\ _081468B4: .4byte gUnknown_0203932C\n\ _081468B8: .4byte gSprites\n\ .syntax divided\n"); @@ -571,7 +571,7 @@ static void sub_81468BC(void) sub_81464E4(); // center of berry sprite - gUnknown_0203932C = sub_80A7D8C(gScriptItemId + OFFSET_7B, 56, 64); + gUnknown_0203932C = CreateBerrySprite(gScriptItemId + OFFSET_7B, 56, 64); sub_8146600(gScriptItemId + OFFSET_7B); } diff --git a/src/decoration.c b/src/decoration.c index e829cb072..e829cb072 100644..100755 --- a/src/decoration.c +++ b/src/decoration.c diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c index 2d8140be5..a4f52f4b9 100644 --- a/src/field_control_avatar.c +++ b/src/field_control_avatar.c @@ -206,7 +206,7 @@ int sub_8068024(struct FieldInput *input) sub_8071310(); return TRUE; } - if (input->pressedSelectButton && sub_80A6D1C() == 1) + if (input->pressedSelectButton && sub_80A6D1C() == TRUE) return TRUE; return FALSE; } diff --git a/src/field_map_obj.c b/src/field_map_obj.c index d94c97ff3..d94c97ff3 100755..100644 --- a/src/field_map_obj.c +++ b/src/field_map_obj.c diff --git a/src/field_map_obj_helpers.c b/src/field_map_obj_helpers.c index 17584c96a..46784cff3 100755..100644 --- a/src/field_map_obj_helpers.c +++ b/src/field_map_obj_helpers.c @@ -34,7 +34,7 @@ bool8 FreezeMapObject(struct MapObject *mapObject) } } -void FreezeMapObjects() +void FreezeMapObjects(void) { u8 i; for (i = 0; i < 16; i++) diff --git a/src/item.c b/src/item.c index 2eb013490..22ac6e7cd 100644 --- a/src/item.c +++ b/src/item.c @@ -8,14 +8,6 @@ extern u8 gUnknown_02038560; extern struct Item gItems[]; -struct BagPocket -{ - struct ItemSlot *itemSlots; - u8 capacity; -}; - -extern struct BagPocket gBagPockets[5]; - enum { ITEMS_POCKET, @@ -137,6 +129,9 @@ bool8 CheckBagHasSpace(u16 itemId, u16 count) return TRUE; } +// This function matches if gBagPockets is declared non-const, +// but it should be fixed anyway. +#ifdef NONMATCHING bool8 AddBagItem(u16 itemId, u16 count) { u8 i; @@ -201,6 +196,158 @@ bool8 AddBagItem(u16 itemId, u16 count) memcpy(gBagPockets[pocket].itemSlots, newItems, gBagPockets[pocket].capacity * sizeof(struct ItemSlot)); return TRUE; } +#else +__attribute__((naked)) +bool8 AddBagItem(u16 itemId, u16 count) +{ + asm(".syntax unified\n\ + push {r4-r7,lr}\n\ + mov r7, r9\n\ + mov r6, r8\n\ + push {r6,r7}\n\ + sub sp, 0x100\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + mov r8, r0\n\ + lsls r1, 16\n\ + lsrs r4, r1, 16\n\ + bl ItemId_GetPocket\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + beq _080A9510\n\ + mov r0, r8\n\ + bl ItemId_GetPocket\n\ + subs r0, 0x1\n\ + lsls r0, 24\n\ + lsrs r6, r0, 24\n\ + ldr r1, _080A94F8 @ =gBagPockets\n\ + lsls r0, r6, 3\n\ + adds r5, r0, r1\n\ + ldr r1, [r5]\n\ + ldrb r2, [r5, 0x4]\n\ + lsls r2, 2\n\ + mov r0, sp\n\ + bl memcpy\n\ + ldr r7, _080A94FC @ =0x000003e7\n\ + cmp r6, 0x3\n\ + beq _080A9468\n\ + movs r7, 0x63\n\ +_080A9468:\n\ + movs r1, 0\n\ + ldrb r0, [r5, 0x4]\n\ + cmp r1, r0\n\ + bcs _080A94B2\n\ + subs r0, r6, 0x2\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + mov r12, r0\n\ +_080A9478:\n\ + lsls r0, r1, 2\n\ + mov r2, sp\n\ + adds r3, r2, r0\n\ + ldrh r0, [r3]\n\ + cmp r0, r8\n\ + bne _080A94A6\n\ + ldrh r2, [r3, 0x2]\n\ + adds r0, r2, r4\n\ + cmp r0, r7\n\ + ble _080A9500\n\ + mov r0, r12\n\ + cmp r0, 0x1\n\ + bls _080A9510\n\ + subs r0, r7, r2\n\ + subs r0, r4, r0\n\ + lsls r0, 16\n\ + lsrs r4, r0, 16\n\ + strh r7, [r3, 0x2]\n\ + ldr r2, _080A94F8 @ =gBagPockets\n\ + mov r9, r2\n\ + lsls r3, r6, 3\n\ + cmp r4, 0\n\ + beq _080A9516\n\ +_080A94A6:\n\ + adds r0, r1, 0x1\n\ + lsls r0, 24\n\ + lsrs r1, r0, 24\n\ + ldrb r0, [r5, 0x4]\n\ + cmp r1, r0\n\ + bcc _080A9478\n\ +_080A94B2:\n\ + ldr r2, _080A94F8 @ =gBagPockets\n\ + mov r9, r2\n\ + lsls r3, r6, 3\n\ + cmp r4, 0\n\ + beq _080A9516\n\ + movs r1, 0\n\ + adds r0, r3, r2\n\ + ldrb r0, [r0, 0x4]\n\ + cmp r1, r0\n\ + bcs _080A94F2\n\ + mov r6, r9\n\ + adds r5, r3, r6\n\ +_080A94CA:\n\ + lsls r0, r1, 2\n\ + mov r6, sp\n\ + adds r2, r6, r0\n\ + ldrh r0, [r2]\n\ + cmp r0, 0\n\ + bne _080A94E6\n\ + mov r0, r8\n\ + strh r0, [r2]\n\ + cmp r4, r7\n\ + bls _080A9514\n\ + subs r0, r4, r7\n\ + lsls r0, 16\n\ + lsrs r4, r0, 16\n\ + strh r7, [r2, 0x2]\n\ +_080A94E6:\n\ + adds r0, r1, 0x1\n\ + lsls r0, 24\n\ + lsrs r1, r0, 24\n\ + ldrb r2, [r5, 0x4]\n\ + cmp r1, r2\n\ + bcc _080A94CA\n\ +_080A94F2:\n\ + cmp r4, 0\n\ + beq _080A9516\n\ + b _080A9510\n\ + .align 2, 0\n\ +_080A94F8: .4byte gBagPockets\n\ +_080A94FC: .4byte 0x000003e7\n\ +_080A9500:\n\ + strh r0, [r3, 0x2]\n\ + ldr r0, _080A950C @ =gBagPockets\n\ + lsls r1, r6, 3\n\ + adds r1, r0\n\ + b _080A951A\n\ + .align 2, 0\n\ +_080A950C: .4byte gBagPockets\n\ +_080A9510:\n\ + movs r0, 0\n\ + b _080A9528\n\ +_080A9514:\n\ + strh r4, [r2, 0x2]\n\ +_080A9516:\n\ + mov r6, r9\n\ + adds r1, r3, r6\n\ +_080A951A:\n\ + ldr r0, [r1]\n\ + ldrb r2, [r1, 0x4]\n\ + lsls r2, 2\n\ + mov r1, sp\n\ + bl memcpy\n\ + movs r0, 0x1\n\ +_080A9528:\n\ + add sp, 0x100\n\ + pop {r3,r4}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + pop {r4-r7}\n\ + pop {r1}\n\ + bx r1\n\ + .syntax divided\n"); +} +#endif bool8 RemoveBagItem(u16 itemId, u16 count) { @@ -440,7 +587,7 @@ u8 *ItemId_GetDescription(u16 itemId) return gItems[SanitizeItemId(itemId)].description; } -bool8 ItemId_CopyDescription(u8 *a, u32 itemId, u32 c) +bool32 ItemId_CopyDescription(u8 *a, u32 itemId, u32 c) { u32 r5 = c + 1; u8 *description = gItems[SanitizeItemId(itemId)].description; diff --git a/src/item_menu.c b/src/item_menu.c new file mode 100644 index 000000000..350ba3db4 --- /dev/null +++ b/src/item_menu.c @@ -0,0 +1,4583 @@ +#include "global.h" +#include "berry.h" +#include "berry_tag_screen.h" +#include "data2.h" +#include "decompress.h" +#include "field_effect.h" +#include "field_map_obj_helpers.h" +#include "field_player_avatar.h" +#include "graphics.h" +#include "item.h" +#include "items.h" +#include "item_menu.h" +#include "item_use.h" +#include "link.h" +#include "mail_data.h" +#include "main.h" +#include "map_name_popup.h" +#include "menu.h" +#include "menu_cursor.h" +#include "menu_helpers.h" +#include "money.h" +#include "palette.h" +#include "party_menu.h" +#include "player_pc.h" +#include "pokemon_menu.h" +#include "rom4.h" +#include "script.h" +#include "songs.h" +#include "sound.h" +#include "sprite.h" +#include "strings.h" +#include "strings2.h" +#include "string_util.h" +#include "task.h" +#include "text.h" +#include "unknown_task.h" + +// External stuff +extern u8 ewram[]; +extern void gpu_pal_allocator_reset__manage_upper_four(void); +extern void sub_80F9020(void); +extern void sub_80F9988(); +extern void sub_809D104(u16 *, u16, u16, const u8 *, u16, u16, u16, u16); +extern void PauseVerticalScrollIndicator(); +extern u8 sub_80F9284(void); +extern void sub_808B5B4(); +extern u8 sub_80F92F4(); +extern void sub_80C9C7C(u8); +extern void pal_fill_black(void); +extern bool8 sub_807D770(void); +extern u8 sub_80F931C(); +extern void sub_808A3F8(u8); +extern void sub_80B3050(void); +extern void sub_80546B8(u8); +extern void sub_804E990(u8); +extern void sub_802E424(u8); +extern void sub_8064E2C(void); + +struct PocketScrollState +{ + u8 cursorPos; + u8 scrollTop; + u8 numSlots; + u8 cursorMax; +}; + +struct UnknownStruct2 +{ + u8 unk0; + u8 textLine; + u8 unk2; +}; + +struct UnknownStruct3 +{ + u8 unk0; + u8 unk1; + u8 unk2; +}; + +struct UnknownStruct4 +{ + u8 unk0; + u8 unk1; + u16 unk2; + const u8 *unk4; + TaskFunc unk8; +}; + +struct UnknownStruct5 +{ + u8 unk0; + u8 unk1; + u8 unk2; + u8 unk3; +}; + +struct UnknownStruct6 +{ + u8 unk0; +}; + +enum +{ + BAG_POCKET_ITEMS, // 0 + BAG_POCKET_POKE_BALLS, // 1 + BAG_POCKET_TMs_HMs, // 2 + BAG_POCKET_BERRIES, // 3 + BAG_POCKET_KEY_ITEMS, // 4 +}; + +enum +{ + RETURN_TO_FIELD_0, + RETURN_TO_BATTLE, + RETURN_TO_PKMN_LIST, + RETURN_TO_SHOP, + RETURN_TO_FIELD_4, + RETURN_TO_FIELD_5, + RETURN_TO_PC, + RETURN_TO_WALLY_BATTLE, +}; + +enum +{ + ITEM_ACTION_USE_0, // 0 + ITEM_ACTION_TOSS, // 1 + ITEM_ACTION_CANCEL_2, // 2 + ITEM_ACTION_REGISTER, // 3 + ITEM_ACTION_USE_4, // 4 + ITEM_ACTION_CANCEL_5, // 5 + ITEM_ACTION_GIVE, // 6 + ITEM_ACTION_CHECK_TAG, // 7 + ITEM_ACTION_NONE, // 8 + ITEM_ACTION_CONFIRM, // 9 +}; + +// ewram +EWRAM_DATA static struct UnknownStruct2 gUnknown_0203853C = {0}; +EWRAM_DATA static struct UnknownStruct3 gUnknown_02038540 = {0}; +EWRAM_DATA static struct UnknownStruct4 gUnknown_02038544 = {0}; +EWRAM_DATA static struct UnknownStruct5 gUnknown_02038550 = {0}; +EWRAM_DATA static struct UnknownStruct6 gUnknown_02038554 = {0}; // There are 3 bytes of padding after this, so I assume it's a struct +EWRAM_DATA static u8 gUnknown_02038558 = 0; +EWRAM_DATA static s8 sCurrentBagPocket = 0; +EWRAM_DATA static u8 gUnknown_0203855A = 0; +EWRAM_DATA static s8 gUnknown_0203855B = 0; +EWRAM_DATA static s8 gUnknown_0203855C = 0; +EWRAM_DATA u16 gScriptItemId = 0; +EWRAM_DATA u8 gUnknown_02038560 = 0; +EWRAM_DATA u8 gUnknown_02038561 = 0; +EWRAM_DATA static u8 gUnknown_02038562 = 0; +EWRAM_DATA static u8 gUnknown_02038563 = 0; +EWRAM_DATA static u8 gUnknown_02038564 = 0; +EWRAM_DATA static u8 sPokeballSpriteId ALIGNED(4) = 0; // HACK: why is there a space before this variable? + +// bss +static u8 sPopupMenuSelection; +static u8 sReturnLocation; +static const u8 *sPopupMenuActionList; + +// common +void (*gUnknown_03005D00)(u8) = NULL; +extern u16 gUnknown_030041B4; +extern struct PocketScrollState gBagPocketScrollStates[]; +extern struct ItemSlot *gCurrentBagPocketItemSlots; // selected pocket item slots +extern const u8 Event_NoRegisteredItem[]; + +#define ewramBerryPic (ewram + 0) +#define ewramBerryPicTemp (ewram + 0x1000) +#define ewramSavedItemsPocket ((struct ItemSlot *)(ewram + 0x1E000)) // saved items pocket (for Wally battle) +#define ewramSavedPokeballsPocket ((struct ItemSlot *)(ewram + 0x1F000)) // saved Pokeballs pocket (for Wally battle) +#define ewramBagSetupStep (ewram[0x1FFFF]) + +extern const struct CompressedSpriteSheet sMaleBagSpriteSheet; +extern const struct CompressedSpriteSheet sFemaleBagSpriteSheet; +extern const struct CompressedSpritePalette sBagSpritePalette; + +const struct BagPocket gBagPockets[NUM_BAG_POCKETS] = +{ + {gSaveBlock1.bagPocket_Items, 20}, + {gSaveBlock1.bagPocket_PokeBalls, 16}, + {gSaveBlock1.bagPocket_TMHM, 64}, + {gSaveBlock1.bagPocket_Berries, 46}, + {gSaveBlock1.bagPocket_KeyItems, 20}, +}; + +static void HandlePopupMenuAction_UseOnField(u8); +static void HandlePopupMenuAction_Toss(u8); +static void sub_80A5F80(u8); +static void HandlePopupMenuAction_Register(u8); +static void HandlePopupMenuAction_UseInBattle(u8); +static void sub_80A7124(u8); +static void HandlePopupMenuAction_Give(u8); +static void HandlePopupMenuAction_CheckTag(u8); +static void HandlePopupMenuAction_Confirm(u8); + +static const struct MenuAction2 sItemPopupMenuActions[] = +{ + {OtherText_Use, HandlePopupMenuAction_UseOnField}, + {OtherText_Toss, HandlePopupMenuAction_Toss}, + {gOtherText_CancelNoTerminator, sub_80A5F80}, + {OtherText_Register, HandlePopupMenuAction_Register}, + {OtherText_Use, HandlePopupMenuAction_UseInBattle}, + {gOtherText_CancelNoTerminator, sub_80A7124}, + {OtherText_Give2, HandlePopupMenuAction_Give}, + {OtherText_CheckTag, HandlePopupMenuAction_CheckTag}, + {gOtherText_CancelWithTerminator, NULL}, + {OtherText_Confirm, HandlePopupMenuAction_Confirm}, +}; + +static const u8 sItemPopupMenuChoicesTable[][6] = +{ + [BAG_POCKET_ITEMS] = + { + ITEM_ACTION_USE_0, + ITEM_ACTION_TOSS, + ITEM_ACTION_GIVE, + ITEM_ACTION_CANCEL_2, + }, + + [BAG_POCKET_POKE_BALLS] = + { + ITEM_ACTION_GIVE, + ITEM_ACTION_TOSS, + ITEM_ACTION_NONE, + ITEM_ACTION_CANCEL_2, + }, + + [BAG_POCKET_TMs_HMs] = + { + ITEM_ACTION_USE_0, + ITEM_ACTION_NONE, + ITEM_ACTION_GIVE, + ITEM_ACTION_CANCEL_2, + }, + + [BAG_POCKET_BERRIES] = + { + ITEM_ACTION_CHECK_TAG, + ITEM_ACTION_USE_0, + ITEM_ACTION_TOSS, + ITEM_ACTION_NONE, + ITEM_ACTION_GIVE, + ITEM_ACTION_CANCEL_2 + }, + + [BAG_POCKET_KEY_ITEMS] = + { + ITEM_ACTION_USE_0, + ITEM_ACTION_NONE, + ITEM_ACTION_REGISTER, + ITEM_ACTION_CANCEL_2, + }, +}; + +const u8 gUnknown_083C16AE[][2] = +{ + {6, 2}, + {6, 2}, + {6, 2}, + {6, 2}, + {2, 0}, +}; + +const u8 gUnknown_083C16B8[] = {7, 9, 8, 2}; + +static void OnItemSelect_Field05(u8); +static void OnBagClose_Field0(u8); +static void OnBagClose_PkmnList(u8); +static void OnItemSelect_PkmnList(u8); +static void OnBagClose_Shop(u8); +static void OnItemSelect_Shop(u8); +static void OnBagClose_Field4(u8); +static void OnItemSelect_Field4(u8); +static void OnBagClose_Field5(u8); +static void OnBagClose_PC(u8); +static void OnItemSelect_PC(u8); +static void OnItemSelect_Battle(u8); +static void OnBagClose_Battle(u8); + +static const struct {TaskFunc onItemSelect; TaskFunc onBagClose;} gUnknown_083C16BC[] = +{ + [RETURN_TO_FIELD_0] = {OnItemSelect_Field05, OnBagClose_Field0}, + [RETURN_TO_BATTLE] = {OnItemSelect_Battle, OnBagClose_Battle}, + [RETURN_TO_PKMN_LIST] = {OnItemSelect_PkmnList, OnBagClose_PkmnList}, + [RETURN_TO_SHOP] = {OnItemSelect_Shop, OnBagClose_Shop}, + [RETURN_TO_FIELD_4] = {OnItemSelect_Field4, OnBagClose_Field4}, + [RETURN_TO_FIELD_5] = {OnItemSelect_Field05, OnBagClose_Field5}, + [RETURN_TO_PC] = {OnItemSelect_PC, OnBagClose_PC}, +}; + +static void sub_80A5E60(u8); +static void sub_80A5E90(u8); + +static const struct YesNoFuncTable gUnknown_083C16F4 = {sub_80A5E60, sub_80A5E90}; + +static void sub_80A65AC(u8); +static void sub_80A6618(u8); + +const struct YesNoFuncTable gUnknown_083C16FC = {sub_80A65AC, sub_80A6618}; + +void sub_80A34E8(void); +static bool8 LoadBagGraphicsMultistep(void); +static void sub_80A362C(void); +static void sub_80A3740(void); +static void sub_80A396C(u16 *, u8, u8, u8); +static void sub_80A39B8(u16 *, u8); +static void sub_80A39E4(u16 *, u8, u8, s8); +static void DrawPocketIndicatorDots(u16 *, u8); +static void SortItemSlots(struct BagPocket); +static void UpdateAllBagPockets(void); +static void sub_80A3D24(u8); +static void sub_80A3D40(void); +static void RemoveSelectIconFromRegisteredItem(void); +static void sub_80A48E8(u16, int, int); +static void ItemListMenu_InitDescription(s16); +static void ItemListMenu_ChangeDescription(s16, int); +static void sub_80A4F68(u8); +static void sub_80A50C8(u8); +static void sub_80A5AE4(u8); +static void sub_80A5BF8(u8); +static void Task_CallItemUseOnFieldCallback(u8); +static void sub_80A6444(u8); +static void sub_80A648C(u8); +static void Task_BuyHowManyDialogueHandleInput(u8); +static void BuyMenuPrintItemQuantityAndPrice(u8); +static void BuyMenuDisplayMessage(u16, u16); +static void sub_80A683C(void); +static void sub_80A6870(u16, u8); +static void sub_80A699C(void); +static void sub_80A7230(u8); +static void ItemListMenu_InitMenu(void); +static void sub_80A73C0(void); +static void sub_80A73F0(void); +static void sub_80A73FC(void); +static void sub_80A740C(void); +static void sub_80A7420(void); +static void sub_80A751C(void); +static void sub_80A7528(u8); +static void sub_80A7590(void); +static void sub_80A75E4(void); +static void sub_80A7630(void); +static void sub_80A763C(void); +static void sub_80A76A0(void); +static void sub_80A770C(void); +static void DisplayCannotUseItemMessage(int, const u8 *, TaskFunc, int); +static void sub_80A7768(void); +static void sub_80A7828(void); +static void sub_80A7834(int, int); +static bool32 sub_80A78A0(void); +static void sub_80A78B8(void); +static bool32 sub_80A78C4(void); +static void sub_80A78E8(void); +static int sub_80A78F4(void); +static void sub_80A7918(void); +static int sub_80A7924(void); +static int sub_80A7958(void); +static void sub_80A7970(void); +static void sub_80A797C(void); +static int sub_80A7988(void); +static void sub_80A79B4(struct Sprite *); +static void sub_80A79EC(struct Sprite *); +static void sub_80A7A94(struct Sprite *); +static void sub_80A7AE4(struct Sprite *); +static void CreateBagSprite(void); +static void sub_80A7B6C(struct Sprite *); +static void CreateBagPokeballSprite(u8); +static void sub_80A7C64(void); + +static void sub_80A3118(void) +{ + AnimateSprites(); + BuildOamBuffer(); + RunTasks(); + sub_80A740C(); + UpdatePaletteFade(); +} + +static void sub_80A3134(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); + + { + const void *src = gBGTilemapBuffers[1]; + void *dst = (void *)(VRAM + 0x2000); + + DmaCopy16(3, src, dst, 0x800); + } + + { + const void *src = gBGTilemapBuffers[2]; + void *dst = (void *)(VRAM + 0x6000); + + DmaCopy16(3, src, dst, 0x800); + } +} + +static bool8 SetupBagMultistep(void) +{ + u32 index; + u16 savedIme; + + switch (gMain.state) + { + case 0: + sub_80F9438(); + sub_80A34E8(); + gMain.state++; + break; + case 1: + remove_some_task(); + gMain.state++; + break; + case 2: + gpu_pal_allocator_reset__manage_upper_four(); + gMain.state++; + break; + case 3: + sub_80F9020(); + ewramBagSetupStep = 0; + gMain.state++; + break; + case 4: + ResetPaletteFade(); + gPaletteFade.bufferTransferDisabled = TRUE; + gMain.state++; + break; + case 5: + ResetSpriteData(); + gMain.state++; + break; + case 6: + if (LoadBagGraphicsMultistep() == FALSE) + break; + gMain.state++; + break; + case 7: + SetUpWindowConfig(&gWindowConfig_81E6DFC); + gMain.state++; + break; + case 8: + MultistepInitMenuWindowBegin(&gWindowConfig_81E6DFC); + gMain.state++; + break; + case 9: + if (!MultistepInitMenuWindowContinue()) + break; + gMain.state++; + break; + case 10: + sub_80F944C(); + LoadScrollIndicatorPalette(); + CreateVerticalScrollIndicators(0, 172, 12); + CreateVerticalScrollIndicators(1, 172, 148); + CreateVerticalScrollIndicators(2, 28, 88); + CreateVerticalScrollIndicators(3, 100, 88); + sub_80F9988(0, 2); + sub_80F9988(1, 2); + sub_80F9988(2, 2); + sub_80F9988(3, 2); + if (sReturnLocation == RETURN_TO_FIELD_4 || sReturnLocation == RETURN_TO_FIELD_5) + { + sub_80F979C(2, 1); + sub_80F979C(3, 1); + } + gMain.state++; + break; + case 11: + gUnknown_0203855A = 16; + sub_80A39B8(gBGTilemapBuffers[2], sCurrentBagPocket + 1); + DrawPocketIndicatorDots(gBGTilemapBuffers[2], sCurrentBagPocket); + UpdateAllBagPockets(); + SortItemSlots(gBagPockets[2]); + SortItemSlots(gBagPockets[3]); + sub_80A3D40(); + gCurrentBagPocketItemSlots = gBagPockets[sCurrentBagPocket].itemSlots; + sub_80A362C(); + gMain.state++; + break; + case 12: + sub_80A48E8(0xFFFF, 0, 7); + index = gBagPocketScrollStates[sCurrentBagPocket].scrollTop + gBagPocketScrollStates[sCurrentBagPocket].cursorPos; + ItemListMenu_InitDescription(gCurrentBagPocketItemSlots[index].itemId); + ItemListMenu_InitMenu(); + gUnknown_0203855B = sCurrentBagPocket + 1; + gUnknown_0203855C = 0; + gMain.state++; + break; + case 13: + CreateBagSprite(); + CreateBagPokeballSprite(0); + sub_80A3740(); + gMain.state++; + break; + case 14: + savedIme = REG_IME; + REG_IME = 0; + REG_IE |= INTR_FLAG_VBLANK; + REG_IME = savedIme; + REG_DISPSTAT |= DISPSTAT_VBLANK_INTR; + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + gPaletteFade.bufferTransferDisabled = FALSE; + gMain.state++; + break; + case 15: + if (sub_8055870() == TRUE) + break; + gMain.state++; + break; + case 16: + SetVBlankCallback(sub_80A3134); + SetMainCallback2(sub_80A3118); + sub_80A751C(); + sub_80A7630(); + sub_80A770C(); + sub_80A7828(); + sub_80A78B8(); + return TRUE; + } + return FALSE; +} + +static bool8 sub_80A34B4(void) +{ + while (1) + { + if (SetupBagMultistep() == TRUE) + { + sPopupMenuSelection = 0; + ResetTasks(); + return TRUE; + } + if (sub_80F9344() == TRUE) + break; + } + return FALSE; +} + + +void sub_80A34E8(void) +{ + sub_80F9368(); + REG_BG2CNT = BGCNT_PRIORITY(2) | BGCNT_CHARBASE(1) | BGCNT_SCREENBASE(12) | BGCNT_16COLOR | BGCNT_TXT256x256; + REG_BG1CNT = BGCNT_PRIORITY(1) | BGCNT_CHARBASE(1) | BGCNT_SCREENBASE(4) | BGCNT_16COLOR | BGCNT_TXT256x256; + REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_BG1_ON | DISPCNT_BG2_ON | DISPCNT_OBJ_ON; + REG_BLDCNT = 0; +} + +static bool8 LoadBagGraphicsMultistep(void) +{ + switch (ewramBagSetupStep) + { + case 0: + LZDecompressVram(gBagScreen_Gfx, (void *)(VRAM + 0x4000)); + ewramBagSetupStep++; + break; + case 1: + CpuCopy16(gUnknown_08E77004, gBGTilemapBuffers[2], 0x800); + ewramBagSetupStep++; + break; + case 2: + if (gSaveBlock2.playerGender == MALE || sReturnLocation == RETURN_TO_WALLY_BATTLE) + LoadCompressedPalette(gBagScreenMale_Pal, 0, 64); + else + LoadCompressedPalette(gBagScreenFemale_Pal, 0, 64); + ewramBagSetupStep++; + break; + case 3: + if (gSaveBlock2.playerGender == MALE || sReturnLocation == RETURN_TO_WALLY_BATTLE) + LoadCompressedObjectPic(&sMaleBagSpriteSheet); + else + LoadCompressedObjectPic(&sFemaleBagSpriteSheet); + ewramBagSetupStep++; + break; + case 4: + LoadCompressedObjectPalette(&sBagSpritePalette); + ewramBagSetupStep = 0; + return TRUE; + } + return FALSE; +} + +static void sub_80A362C(void) +{ + u8 i; + + for (i = 0; i < 5; i++) + { + u8 r3; + + if (sReturnLocation == RETURN_TO_FIELD_5) + r3 = gBagPocketScrollStates[i].numSlots - 1; + else + r3 = gBagPocketScrollStates[i].numSlots; + + if (gBagPocketScrollStates[i].scrollTop != 0) + { + if (gBagPocketScrollStates[i].scrollTop + gBagPocketScrollStates[i].cursorMax > r3) + gBagPocketScrollStates[i].scrollTop = r3 - gBagPocketScrollStates[i].cursorMax; + } + else + { + if (gBagPocketScrollStates[i].cursorPos > r3) + gBagPocketScrollStates[i].cursorPos = r3; + } + } +} + +void ResetBagScrollPositions(void) +{ + u16 i; + + for (i = 0; i < NUM_BAG_POCKETS; i++) + { + gBagPocketScrollStates[i].cursorPos = 0; + gBagPocketScrollStates[i].scrollTop = 0; + gBagPocketScrollStates[i].numSlots = 0; + gBagPocketScrollStates[i].cursorMax = 0; + } + sCurrentBagPocket = 0; +} + +static void sub_80A36B8(u16 *a, u8 b, u8 c, u8 d, u8 e) +{ + u16 i; + u16 j; + + for (i = c; i <= c + e; i++) + { + for (j = b; j <= b + d; j++) + { + u32 index = j + i * 32; + + a[index] = 0; + } + } +} + +void ClearBag(void) +{ + u16 i; + + for (i = 0; i < NUM_BAG_POCKETS; i++) + ClearItemSlots(gBagPockets[i].itemSlots, gBagPockets[i].capacity); + ResetBagScrollPositions(); +} + +static void sub_80A3740(void) +{ + const u16 colors[2] = {RGB(14, 15, 16), RGB_WHITE}; + + LoadPalette(&colors[1], 0xD1, sizeof(colors[1])); + LoadPalette(&colors[0], 0xD8, sizeof(colors[0])); +} + +static void sub_80A3770(void) +{ + if (sReturnLocation == RETURN_TO_FIELD_0) + { + sPopupMenuActionList = sItemPopupMenuChoicesTable[sCurrentBagPocket]; + if (sCurrentBagPocket != BAG_POCKET_BERRIES) + gUnknown_02038564 = 4; + else + gUnknown_02038564 = 6; + } +} + +static void sub_80A37C0(u8 taskId) +{ + gTasks[taskId].func = sub_80A50C8; + StartVerticalScrollIndicators(0); + StartVerticalScrollIndicators(1); + StartVerticalScrollIndicators(2); + StartVerticalScrollIndicators(3); +} + +static void sub_80A37F8(u8 taskId) +{ + u8 r5 = gUnknown_0203855A; + + if (r5 < 16) + { + gUnknown_0203855A++; + sub_80A396C(gBGTilemapBuffers[2], r5, gUnknown_0203855A, 0x4F); + sub_80A39E4(gBGTilemapBuffers[2], sCurrentBagPocket + 1, gUnknown_0203855A / 2, gTasks[taskId].data[5]); + gUnknown_02038558 = 1; + sub_80A48E8(taskId, r5 / 2, gUnknown_0203855A / 2 - 1); + gUnknown_02038558 = 0; + return; + } + + if (gLinkOpen == TRUE) + { + u32 index = gBagPocketScrollStates[sCurrentBagPocket].scrollTop + gBagPocketScrollStates[sCurrentBagPocket].cursorPos; + + ItemListMenu_ChangeDescription(gCurrentBagPocketItemSlots[index].itemId, gUnknown_02038562); + gUnknown_02038562++; + } + else + { + while (gUnknown_02038562 < 3) + { + u32 index = gBagPocketScrollStates[sCurrentBagPocket].scrollTop + gBagPocketScrollStates[sCurrentBagPocket].cursorPos; + + ItemListMenu_ChangeDescription(gCurrentBagPocketItemSlots[index].itemId, gUnknown_02038562); + gUnknown_02038562++; + } + } + if (gUnknown_02038562 == 3) + { + gUnknown_0203855A = 16; + gUnknown_0203855B = sCurrentBagPocket + 1; + sub_80A37C0(FindTaskIdByFunc(sub_80A4F68)); + DestroyTask(taskId); + ItemListMenu_InitMenu(); + sub_80F979C(2, 0); + sub_80F979C(3, 0); + } +} + +static void sub_80A3954(u16 *a) +{ + CpuCopy16(gUnknown_08E77004, a, 0x800); +} + +static void sub_80A396C(u16 *a, u8 b, u8 c, u8 d) +{ + u16 *dst = a + 14 + (b + 2) * 32; + u16 i; + + while (c > b++) + { + for (i = 0; i < 15; i++) + dst[i] = d; + dst += 32; + } +} + +static void sub_80A39B8(u16 *a, u8 b) +{ + u8 var = b * 2; + + sub_809D104(a, 4, 10, gUnknown_08E96EC8, 0, var, 8, 2); +} + +static void sub_80A39E4(u16 *a, u8 b, u8 c, s8 d) +{ + u16 r2 = b * 2; + u16 r7; + + if (d == -1) + { + r7 = (b + 1) * 2; + if (b == 5) + r7 = 2; + + sub_809D104(a, 4, 10, gUnknown_08E96EC8, 8 - c, r2, c, 2); + sub_809D104(a, c + 4, 10, gUnknown_08E96EC8, 0, r7, 8 - c, 2); + } + else if (d == 1) + { + r7 = (b - 1) * 2; + if (b == 1) + r7 = 10; + + sub_809D104(a, 4, 10, gUnknown_08E96EC8, c, r7, 8 - c, 2); + sub_809D104(a, 12 - c, 10, gUnknown_08E96EC8, 0, r2, c, 2); + } +} + +// Draws dots under the bag sprite, showing which pocket is selected +static void DrawPocketIndicatorDots(u16 *tileMapBuffer, u8 selectedPocket) +{ + u8 i; + + for (i = 0; i < NUM_BAG_POCKETS; i++) + { + if (i == selectedPocket) + tileMapBuffer[0x125 + i] = 0x107D; + else + tileMapBuffer[0x125 + i] = 0x107C; + } +} + +static void ChangePocket(u16 *tileMapBuffer, s8 delta) +{ + u8 taskId; + + sCurrentBagPocket += delta; + // Wrap around + if (sCurrentBagPocket >= NUM_BAG_POCKETS) + sCurrentBagPocket = 0; + if (sCurrentBagPocket < 0) + sCurrentBagPocket = NUM_BAG_POCKETS - 1; + + sub_80A76A0(); + sub_80A7590(); + gCurrentBagPocketItemSlots = gBagPockets[sCurrentBagPocket].itemSlots; + sub_80A3D24(sCurrentBagPocket); + gUnknown_0203855A = 0; + sub_80A3954(tileMapBuffer); + sub_80A396C(tileMapBuffer, 0, 16, 3); + sub_80A39B8(tileMapBuffer, 0); + gUnknown_0203855B = 6; + gUnknown_02038562 = 0; + taskId = FindTaskIdByFunc(sub_80A37F8); + if (taskId == 0xFF) + taskId = CreateTask(sub_80A37F8, 8); + gTasks[taskId].data[5] = delta; +} + +static void SwapItemSlots(struct ItemSlot *a, struct ItemSlot *b) +{ + struct ItemSlot temp = *a; + + *a = *b; + *b = temp; +} + +static void RemoveEmptyItemSlots(struct BagPocket pocket) +{ + u16 i; + u16 j; + + for (i = 0; i < pocket.capacity - 1; i++) + { + for (j = i + 1; j < pocket.capacity; j++) + { + if (pocket.itemSlots[i].quantity == 0) + SwapItemSlots(&pocket.itemSlots[i], &pocket.itemSlots[j]); + } + } +} + +static void SortItemSlots(struct BagPocket pocket) +{ + u16 i; + u16 j; + + for (i = 0; i < pocket.capacity; i++) + { + for (j = i + 1; j < pocket.capacity; j++) + { + if (pocket.itemSlots[i].quantity != 0 && pocket.itemSlots[j].quantity != 0 + && pocket.itemSlots[i].itemId > pocket.itemSlots[j].itemId) + SwapItemSlots(&pocket.itemSlots[i], &pocket.itemSlots[j]); + } + } +} + +static void UpdateBagPocket(u8 pocketNum) +{ + u16 i; + + gBagPocketScrollStates[pocketNum].numSlots = 0; + for (i = 0; i < gBagPockets[pocketNum].capacity; i++) + { + if (gBagPockets[pocketNum].itemSlots[i].quantity != 0) + gBagPocketScrollStates[pocketNum].numSlots++; + } + RemoveEmptyItemSlots(gBagPockets[pocketNum]); +} + +static void UpdateAllBagPockets(void) +{ + u8 i; + + for (i = 0; i < NUM_BAG_POCKETS; i++) + UpdateBagPocket(i); +} + +static void sub_80A3D24(u8 pocketNum) +{ + if (gBagPocketScrollStates[pocketNum].numSlots >= 7) + gBagPocketScrollStates[pocketNum].cursorMax = 7; + else + gBagPocketScrollStates[pocketNum].cursorMax = gBagPocketScrollStates[pocketNum].numSlots; +} + +static void sub_80A3D40(void) +{ + u8 i; + + for (i = 0; i < NUM_BAG_POCKETS; i++) + sub_80A3D24(i); +} + +static void sub_80A3D5C(u8 taskId) +{ + u32 index = gBagPocketScrollStates[sCurrentBagPocket].scrollTop + gBagPocketScrollStates[sCurrentBagPocket].cursorPos; + + gCurrentBagPocketItemSlots[index].quantity -= gTasks[taskId].data[1]; + if (gCurrentBagPocketItemSlots[index].quantity == 0) // item slot will be removed if the quantity is zero + { + // Un-register the item if registered + if (gSaveBlock1.registeredItem == gCurrentBagPocketItemSlots[index].itemId) + { + RemoveSelectIconFromRegisteredItem(); + gSaveBlock1.registeredItem = ITEM_NONE; + } + + gCurrentBagPocketItemSlots[index].itemId = ITEM_NONE; + if (gBagPocketScrollStates[sCurrentBagPocket].scrollTop + 7 == gBagPocketScrollStates[sCurrentBagPocket].numSlots + && gBagPocketScrollStates[sCurrentBagPocket].scrollTop != 0) + gBagPocketScrollStates[sCurrentBagPocket].scrollTop--; + UpdateBagPocket(sCurrentBagPocket); + } + sub_80A3D24(sCurrentBagPocket); +} + +void sub_80A3E0C(void) +{ + u32 index = gBagPocketScrollStates[sCurrentBagPocket].scrollTop + gBagPocketScrollStates[sCurrentBagPocket].cursorPos; + + if (gCurrentBagPocketItemSlots[index].quantity == 0) + { + gCurrentBagPocketItemSlots[index].itemId = 0; + if (gBagPocketScrollStates[sCurrentBagPocket].scrollTop + 7 == gBagPocketScrollStates[sCurrentBagPocket].numSlots + && gBagPocketScrollStates[sCurrentBagPocket].scrollTop != 0) + gBagPocketScrollStates[sCurrentBagPocket].scrollTop--; + UpdateBagPocket(sCurrentBagPocket); + } + sub_80A3D24(sCurrentBagPocket); +} + +static void nullsub_16(void) +{ +} + +static void sub_80A3E70(u8 a, u8 b) +{ + struct ItemSlot temp = gCurrentBagPocketItemSlots[a]; + + gCurrentBagPocketItemSlots[a] = gCurrentBagPocketItemSlots[b]; + gCurrentBagPocketItemSlots[b] = temp; +} + +static void sub_80A3E90(u8 taskId) +{ + PlaySE(SE_SELECT); + nullsub_16(); + sub_80A3E70( + gTasks[taskId].data[10] - 1, + gBagPocketScrollStates[sCurrentBagPocket].cursorPos + gBagPocketScrollStates[sCurrentBagPocket].scrollTop); + gTasks[taskId].data[10] = 0; + sub_80A763C(); + sub_80A7528(0); + ItemListMenu_InitMenu(); +} + +static void sub_80A3EF4(u8 taskId) +{ + u8 r2; + + PlaySE(SE_SELECT); + nullsub_16(); + r2 = gTasks[taskId].data[10] - gBagPocketScrollStates[sCurrentBagPocket].scrollTop - 1; + gTasks[taskId].data[10] = 0; + if (r2 < 8) + sub_80A48E8(taskId, r2, r2); + sub_80A7528(0); +} + +static void sub_80A3F50(u8 taskId) +{ + gTasks[taskId].data[10] = gBagPocketScrollStates[sCurrentBagPocket].scrollTop + gBagPocketScrollStates[sCurrentBagPocket].cursorPos + 1; + sub_80A48E8(taskId, gBagPocketScrollStates[sCurrentBagPocket].cursorPos, gBagPocketScrollStates[sCurrentBagPocket].cursorPos); + sub_80A7528(1); +} + +void sub_80A3FA0(u16 *a, u8 b, u8 c, u8 d, u8 e, u16 f) +{ + s16 i; + s16 j; + + for (i = c; i < c + e; i++) + { + for (j = b; j < b + d; j++) + { + u32 index = j + i * 32; + + a[index] = f; + } + } +} + +static void sub_80A4008(u16 *a, u8 b, u8 c, u8 d, u8 e) +{ + sub_80A3FA0(a, b, c, d, e, 1); +} + +static void DrawSelectIcon(u32 itemPos) +{ + u16 *ptr1 = gBGTilemapBuffers[2] + 0x5A; + + ptr1 += itemPos * 64; + ptr1[0] = 0x5A; + ptr1[1] = 0x5B; + ptr1[2] = 0x5C; + ptr1[32] = 0x6A; + ptr1[33] = 0x6B; + ptr1[34] = 0x6C; +} + +static void MoveSelectIcon(u8 itemPos) +{ + u16 i; + u16 *ptr; + + ptr = gBGTilemapBuffers[2] + 0x5A; + for (i = 0; i < 16; i++) + { + ptr[0] = 0x4F; + ptr[1] = 0x4F; + ptr[2] = 0x4F; + ptr += 32; + } + + ptr = gBGTilemapBuffers[2] + 0x5A + itemPos * 64; + ptr[0] = 0x5A; + ptr[1] = 0x5B; + ptr[2] = 0x5C; + ptr[32] = 0x6A; + ptr[33] = 0x6B; + ptr[34] = 0x6C; +} + +static void EraseSelectIcon(u8 itemPos) +{ + u16 *ptr = gBGTilemapBuffers[2] + 0x5A; + + ptr += itemPos * 64; + ptr[0] = 0x4F; + ptr[1] = 0x4F; + ptr[2] = 0x4F; + ptr[32] = 0x4F; + ptr[33] = 0x4F; + ptr[34] = 0x4F; +} + +static void RemoveSelectIconFromRegisteredItem(void) +{ + u8 i; + + for (i = 0; i < 8; i++) + { + if (gBagPocketScrollStates[sCurrentBagPocket].scrollTop + i == gBagPocketScrollStates[sCurrentBagPocket].numSlots) + break; + if (gCurrentBagPocketItemSlots[gBagPocketScrollStates[sCurrentBagPocket].scrollTop + i].itemId == gSaveBlock1.registeredItem) + { + EraseSelectIcon(i); + break; + } + } +} + +static void AddSelectIconToRegisteredItem(void) +{ + RemoveSelectIconFromRegisteredItem(); + MoveSelectIcon(gBagPocketScrollStates[sCurrentBagPocket].cursorPos); +} + +void sub_80A4164(u8 *dest, u16 value, enum StringConvertMode mode, u8 digits) +{ + *dest++ = CHAR_MULT_SIGN; + dest[0] = EXT_CTRL_CODE_BEGIN; + dest[1] = 0x14; + dest[2] = 6; + dest += 3; + ConvertIntToDecimalStringN(dest, value, mode, digits); +} + +void sub_80A418C(u16 value, enum StringConvertMode mode, u8 c, u8 d, u8 digits) +{ + sub_80A4164(gStringVar1, value, mode, digits); + MenuPrint(gStringVar1, c, d); +} + +static void sub_80A41D4(u8 taskId) +{ + sub_80A763C(); +} + +static void sub_80A41E0(u8 *a, u16 b, const u8 *c, u16 d, u8 e) +{ + a[0] = EXT_CTRL_CODE_BEGIN; + a[1] = 0x13; + a[2] = 8; + a += 3; + a = ConvertIntToDecimalStringN(a, b, STR_CONV_MODE_LEADING_ZEROS, 2); + a[0] = EXT_CTRL_CODE_BEGIN; + a[1] = 0x13; + a[2] = 0x18; + a += 3; + a = sub_8072C74(a, c, 0x78 - (e + 1) * 6, 0); + *a++ = CHAR_MULT_SIGN; + sub_8072C14(a, d, 0x78, 1); +} + +static u8 *sub_80A425C(u8 taskId, u8 *text, u8 c) +{ + if (gTasks[taskId].data[10] - gBagPocketScrollStates[sCurrentBagPocket].scrollTop - 1 == c) + { + text[0] = EXT_CTRL_CODE_BEGIN; + text[1] = 1; + text[2] = 2; + text += 3; + } + return text; +} + +static bool8 sub_80A42B0(u8 itemPos, int b) +{ + u8 r5; + u16 *ptr; + struct UnknownStruct3 *r8 = &gUnknown_02038540; + + if (gBagPocketScrollStates[sCurrentBagPocket].scrollTop + itemPos > gBagPocketScrollStates[sCurrentBagPocket].numSlots) + return TRUE; + if (gBagPocketScrollStates[sCurrentBagPocket].scrollTop + itemPos == gBagPocketScrollStates[sCurrentBagPocket].numSlots) + { + if (sReturnLocation == RETURN_TO_FIELD_5) + return TRUE; + r5 = itemPos * 2 + 2; + sub_8072C74(gStringVar1, gOtherText_CloseBag, 0x78, 0); + MenuPrint(gStringVar1, 14, r5); + ptr = gBGTilemapBuffers[2] + 14 + r5 * 32; + ptr[0] = 0x4F; + ptr[1] = 0x4F; + ptr[32] = 0x4F; + ptr[33] = 0x4F; + if (itemPos == 7) + return TRUE; + if ((b == 1 && r8->unk2 != 0) || b == 2) + MenuFillWindowRectWithBlankTile(14, r5 + 2, 29, 13); + else + MenuFillWindowRectWithBlankTile(14, r5 + 2, 29, 17); + return TRUE; + } + return FALSE; +} + +static void sub_80A4380(u16 a, int b, int c, int d) +{ + u8 i; + + for (i = b; i <= c; i++) + { + u8 r4; + u8 r5; + u8 *text; + + if (sub_80A42B0(i, d) == TRUE) + break; + r4 = gBagPocketScrollStates[sCurrentBagPocket].scrollTop + i; + r5 = i * 2 + 2; + text = gStringVar1; + text = sub_80A425C(a, text, i); + text = sub_8072C74(text, ItemId_GetItem(gCurrentBagPocketItemSlots[r4].itemId)->name, 0x66, 0); + *text++ = CHAR_MULT_SIGN; + sub_8072C14(text, gCurrentBagPocketItemSlots[r4].quantity, 0x78, 1); + MenuPrint(gStringVar1, 14, r5); + } +} + +static void sub_80A444C(u16 a, int b, int c, int d) +{ + u8 i; + + for (i = b; i <= c; i++) + { + u8 r4; + u8 r5; + u8 *text; + + if (sub_80A42B0(i, d) == TRUE) + break; + r4 = gBagPocketScrollStates[sCurrentBagPocket].scrollTop + i; + r5 = i * 2 + 2; + text = gStringVar1; + text = sub_80A425C(a, text, i); +#if ENGLISH + sub_8072C74(text, ItemId_GetItem(gCurrentBagPocketItemSlots[r4].itemId)->name, 0x60, 0); +#else + sub_8072C74(text, ItemId_GetItem(gCurrentBagPocketItemSlots[r4].itemId)->name, 0x63, 0); +#endif + MenuPrint(gStringVar1, 14, r5); + if (gUnknown_02038558 != 0) + { + if (gCurrentBagPocketItemSlots[r4].itemId == gSaveBlock1.registeredItem) + DrawSelectIcon(i); + } + else + { + if (gCurrentBagPocketItemSlots[r4].itemId == gSaveBlock1.registeredItem) + MoveSelectIcon(i); + else + EraseSelectIcon(i); + } + } +} + +// more gBGTilemapBuffers shenanigans +#ifdef NONMATCHING +static void sub_80A4548(u16 a, int b, int c, int d) +{ + u8 i; + + for (i = b; i <= c; i++) + { + u8 r4; + u8 sp10; + u32 r5; + u8 *text; + + if (sub_80A42B0(i, d) == TRUE) + break; + r4 = gBagPocketScrollStates[sCurrentBagPocket].scrollTop + i; + sp10 = i * 2 + 2; + r5 = sp10 * 32 + 14; + text = gStringVar1; + text = sub_80A425C(a, text, i); + if (gCurrentBagPocketItemSlots[r4].itemId < 0x153) + { + const u8 *r2; + + gBGTilemapBuffers[2][r5 + 0] = 0x59; + gBGTilemapBuffers[2][r5 + 1] = 0x4F; + gBGTilemapBuffers[2][r5 + 32] = 0x69; + gBGTilemapBuffers[2][r5 + 33] = 0x4F; + r2 = gMoveNames[ItemIdToBattleMoveId(gCurrentBagPocketItemSlots[r4].itemId)]; + sub_80A41E0(text, gCurrentBagPocketItemSlots[r4].itemId - 288, r2, gCurrentBagPocketItemSlots[r4].quantity, 2); + } + else + { + const u8 *moveName; + + gBGTilemapBuffers[2][r5 + 0] = 0x105D; + gBGTilemapBuffers[2][r5 + 1] = 0x105E; + gBGTilemapBuffers[2][r5 + 32] = 0x106D; + gBGTilemapBuffers[2][r5 + 33] = 0x106E; + text[0] = EXT_CTRL_CODE_BEGIN; + text[1] = 0x13; + text[2] = 0x11; + text += 3; + text = ConvertIntToDecimalString(text, gCurrentBagPocketItemSlots[r4].itemId); + text[0] = EXT_CTRL_CODE_BEGIN; + text[1] = 0x13; + text[2] = 0x18; + text += 3; + moveName = gMoveNames[ItemIdToBattleMoveId(gCurrentBagPocketItemSlots[r4].itemId)]; + sub_8072C74(text, moveName, 0x78, 0); + } + MenuPrint(gStringVar1, 14, sp10); + } +} +#else +__attribute__((naked)) +static void sub_80A4548(u16 a, int b, int c, int d) +{ + asm(".syntax unified\n\ + push {r4-r7,lr}\n\ + mov r7, r10\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5-r7}\n\ + sub sp, 0x14\n\ + str r2, [sp, 0x8]\n\ + str r3, [sp, 0xC]\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + str r0, [sp, 0x4]\n\ + lsls r1, 24\n\ + lsrs r1, 24\n\ + mov r8, r1\n\ + ldr r0, _080A456C @ =gBGTilemapBuffers + 0x1000\n\ + mov r9, r0\n\ + b _080A46C2\n\ + .align 2, 0\n\ +_080A456C: .4byte gBGTilemapBuffers + 0x1000\n\ +_080A4570:\n\ + ldr r1, _080A461C @ =gBagPocketScrollStates\n\ + ldr r0, _080A4620 @ =sCurrentBagPocket\n\ + ldrb r0, [r0]\n\ + lsls r0, 24\n\ + asrs r0, 24\n\ + lsls r0, 2\n\ + adds r0, r1\n\ + ldrb r4, [r0, 0x1]\n\ + add r4, r8\n\ + lsls r4, 24\n\ + lsrs r4, 24\n\ + mov r1, r8\n\ + lsls r0, r1, 25\n\ + movs r3, 0x80\n\ + lsls r3, 18\n\ + adds r0, r3\n\ + lsrs r0, 24\n\ + str r0, [sp, 0x10]\n\ + lsls r0, 5\n\ + adds r0, 0xE\n\ + adds r5, r0, 0\n\ + ldr r6, _080A4624 @ =gStringVar1\n\ + ldr r1, [sp, 0x4]\n\ + lsls r0, r1, 24\n\ + lsrs r0, 24\n\ + adds r1, r6, 0\n\ + mov r2, r8\n\ + bl sub_80A425C\n\ + adds r6, r0, 0\n\ + ldr r3, _080A4628 @ =gCurrentBagPocketItemSlots\n\ + mov r10, r3\n\ + ldr r0, [r3]\n\ + lsls r7, r4, 2\n\ + adds r3, r7, r0\n\ + ldrh r1, [r3]\n\ + movs r0, 0xA9\n\ + lsls r0, 1\n\ + cmp r1, r0\n\ + bhi _080A4634\n\ + lsls r0, r5, 1\n\ + add r0, r9\n\ + movs r1, 0x59\n\ + strh r1, [r0]\n\ + adds r0, r5, 0x1\n\ + lsls r0, 1\n\ + add r0, r9\n\ + movs r2, 0x4F\n\ + strh r2, [r0]\n\ + adds r0, r5, 0\n\ + adds r0, 0x20\n\ + lsls r0, 1\n\ + add r0, r9\n\ + movs r1, 0x69\n\ + strh r1, [r0]\n\ + adds r0, r5, 0\n\ + adds r0, 0x21\n\ + lsls r0, 1\n\ + add r0, r9\n\ + strh r2, [r0]\n\ + ldrh r0, [r3]\n\ + bl ItemIdToBattleMoveId\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + movs r1, 0xD\n\ + adds r2, r0, 0\n\ + muls r2, r1\n\ + ldr r0, _080A462C @ =gMoveNames\n\ + adds r2, r0\n\ + mov r1, r10\n\ + ldr r0, [r1]\n\ + adds r0, r7, r0\n\ + ldr r3, _080A4630 @ =0xfffffee0\n\ + adds r1, r3, 0\n\ + ldrh r3, [r0]\n\ + adds r1, r3\n\ + lsls r1, 16\n\ + lsrs r1, 16\n\ + ldrh r3, [r0, 0x2]\n\ + movs r0, 0x2\n\ + str r0, [sp]\n\ + adds r0, r6, 0\n\ + bl sub_80A41E0\n\ + b _080A46AE\n\ + .align 2, 0\n\ +_080A461C: .4byte gBagPocketScrollStates\n\ +_080A4620: .4byte sCurrentBagPocket\n\ +_080A4624: .4byte gStringVar1\n\ +_080A4628: .4byte gCurrentBagPocketItemSlots\n\ +_080A462C: .4byte gMoveNames\n\ +_080A4630: .4byte 0xfffffee0\n\ +_080A4634:\n\ + lsls r0, r5, 1\n\ + add r0, r9\n\ + ldr r1, _080A46EC @ =0x0000105d\n\ + strh r1, [r0]\n\ + adds r0, r5, 0x1\n\ + lsls r0, 1\n\ + add r0, r9\n\ + adds r1, 0x1\n\ + strh r1, [r0]\n\ + adds r0, r5, 0\n\ + adds r0, 0x20\n\ + lsls r0, 1\n\ + add r0, r9\n\ + adds r1, 0xF\n\ + strh r1, [r0]\n\ + adds r0, r5, 0\n\ + adds r0, 0x21\n\ + lsls r0, 1\n\ + add r0, r9\n\ + adds r1, 0x1\n\ + strh r1, [r0]\n\ + movs r0, 0xFC\n\ + strb r0, [r6]\n\ + movs r4, 0x13\n\ + strb r4, [r6, 0x1]\n\ + movs r0, 0x11\n\ + strb r0, [r6, 0x2]\n\ + adds r6, 0x3\n\ + mov r1, r10\n\ + ldr r0, [r1]\n\ + adds r0, r7, r0\n\ + ldrh r1, [r0]\n\ + ldr r3, _080A46F0 @ =0xfffffeae\n\ + adds r1, r3\n\ + adds r0, r6, 0\n\ + bl ConvertIntToDecimalString\n\ + adds r6, r0, 0\n\ + movs r0, 0xFC\n\ + strb r0, [r6]\n\ + strb r4, [r6, 0x1]\n\ + movs r0, 0x18\n\ + strb r0, [r6, 0x2]\n\ + adds r6, 0x3\n\ + mov r1, r10\n\ + ldr r0, [r1]\n\ + adds r0, r7, r0\n\ + ldrh r0, [r0]\n\ + bl ItemIdToBattleMoveId\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + movs r1, 0xD\n\ + muls r1, r0\n\ + ldr r0, _080A46F4 @ =gMoveNames\n\ + adds r1, r0\n\ + adds r0, r6, 0\n\ + movs r2, 0x78\n\ + movs r3, 0\n\ + bl sub_8072C74\n\ +_080A46AE:\n\ + ldr r0, _080A46F8 @ =gStringVar1\n\ + movs r1, 0xE\n\ + ldr r2, [sp, 0x10]\n\ + bl MenuPrint\n\ + mov r0, r8\n\ + adds r0, 0x1\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + mov r8, r0\n\ +_080A46C2:\n\ + ldr r3, [sp, 0x8]\n\ + cmp r8, r3\n\ + bgt _080A46DA\n\ + mov r0, r8\n\ + ldr r1, [sp, 0xC]\n\ + bl sub_80A42B0\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + cmp r0, 0x1\n\ + beq _080A46DA\n\ + b _080A4570\n\ +_080A46DA:\n\ + add sp, 0x14\n\ + pop {r3-r5}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + mov r10, r5\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .align 2, 0\n\ +_080A46EC: .4byte 0x0000105d\n\ +_080A46F0: .4byte 0xfffffeae\n\ +_080A46F4: .4byte gMoveNames\n\ +_080A46F8: .4byte gStringVar1\n\ + .syntax divided\n"); +} +#endif + +static void sub_80A46FC(u16 a, int b, int c, int d) +{ + u8 i; + + for (i = b; i <= c; i++) + { + u8 r4; + u8 r5; + u8 *text; + register int var asm("r0"); + + if (sub_80A42B0(i, d) == TRUE) + break; + r4 = gBagPocketScrollStates[sCurrentBagPocket].scrollTop + i; + r5 = i * 2 + 2; + + var = 14 + r5 * 32; + gBGTilemapBuffers[2][var] = 0x59; + var += 32; + gBGTilemapBuffers[2][var] = 0x69; + + text = gStringVar1; + text = sub_80A425C(a, text, i); + CopyItemName(gCurrentBagPocketItemSlots[r4].itemId, gStringVar2); + sub_80A41E0(text, gCurrentBagPocketItemSlots[r4].itemId - 0x84, gStringVar2, gCurrentBagPocketItemSlots[r4].quantity, 3); + MenuPrint(gStringVar1, 14, r5); + } +} + +static void sub_80A47E8(u16 a, int b, int c, int d) +{ + switch (sCurrentBagPocket) + { + case BAG_POCKET_ITEMS: + case BAG_POCKET_POKE_BALLS: + sub_80A4380(a, b, c, d); + break; + case BAG_POCKET_KEY_ITEMS: + sub_80A444C(a, b, c, d); + break; + case BAG_POCKET_TMs_HMs: + sub_80A4548(a, b, c, d); + break; + case BAG_POCKET_BERRIES: + sub_80A46FC(a, b, c, d); + break; + } + if (gBagPocketScrollStates[sCurrentBagPocket].scrollTop != 0) + sub_80F979C(0, 0); + else + sub_80F979C(0, 1); + if ((sReturnLocation != RETURN_TO_FIELD_5 && gBagPocketScrollStates[sCurrentBagPocket].scrollTop + 8 < gBagPocketScrollStates[sCurrentBagPocket].numSlots + 1) + || (sReturnLocation == RETURN_TO_FIELD_5 && gBagPocketScrollStates[sCurrentBagPocket].scrollTop + 8 < gBagPocketScrollStates[sCurrentBagPocket].numSlots)) + sub_80F979C(1, 0); + else + sub_80F979C(1, 1); +} + +static void sub_80A48E8(u16 taskId, int b, int c) +{ + sub_80A47E8(taskId, b, c, 0); +} + +static void sub_80A48F8(u16 taskId) +{ + sub_80A47E8(taskId, 0, 5, 2); +} + +static void ItemListMenu_InitDescription(s16 itemId) +{ + u8 r5; + + if (gBagPocketScrollStates[sCurrentBagPocket].scrollTop + gBagPocketScrollStates[sCurrentBagPocket].cursorPos == gBagPocketScrollStates[sCurrentBagPocket].numSlots) + { + r5 = sub_8072A18(gOtherText_ReturnTo, 4, 0x68, 0x68, 1); + r5 += sub_8072A18(gUnknown_0840E740[sReturnLocation], 4, 0x78, 0x68, 1); + } + else + { + r5 = sub_8072A18(ItemId_GetDescription(itemId), 4, 0x68, 0x68, 1); + } + + if (r5 < 3) + MenuZeroFillWindowRect(0, 13 + r5 * 2, 13, 20); +} + +static void ItemListMenu_ChangeDescription(s16 itemId, int b) +{ + u8 description[100]; + + if (gBagPocketScrollStates[sCurrentBagPocket].scrollTop + gBagPocketScrollStates[sCurrentBagPocket].cursorPos == gBagPocketScrollStates[sCurrentBagPocket].numSlots) + { + if (b == 0) + { + MenuZeroFillWindowRect(0, 13, 13, 20); + MenuPrint_PixelCoords(gOtherText_ReturnTo, 4, 0x68, 0); + } + else if (b == 1) + { + MenuPrint_PixelCoords(gUnknown_0840E740[sReturnLocation], 4, 0x78, 0); + } + } + else + { + if (b == 0) + MenuZeroFillWindowRect(0, 13, 13, 20); + if (ItemId_CopyDescription(description, itemId, b)) + MenuPrint_PixelCoords(description, 4, 104 + b * 16, 0); + } +} + +static bool32 CopyTextLine(u8 *destination, const u8 *source, u32 c) +{ + u32 r4 = c + 1; + const u8 *src = source; + u8 *dst = destination; + + while (1) + { + if (*src == CHAR_NEWLINE || *src == EOS) + { + r4--; + if (r4 == 0) + { + *dst = EOS; + return TRUE; + } + if (*src == EOS) + return FALSE; + // got a new line - reset dst pointer + dst = destination; + src++; + } + else + { + *dst++ = *src++; + } + } +} + +static void sub_80A4A98(const u8 *text, u32 line) +{ + u8 buffer[100]; + + if (line == 0) + MenuZeroFillWindowRect(0, 13, 13, 20); + if (CopyTextLine(buffer, text, line)) + MenuPrint_PixelCoords(buffer, 4, 104 + line * 16, 0); +} + +static void sub_80A4ADC(u8 taskId) +{ + if (gTasks[taskId].data[10] == 0) + sub_80A7528(0); + PlaySE(SE_SELECT); + gUnknown_0203855C = 1; +} + +static void sub_80A4B14(s8 a, u8 b) +{ + gBagPocketScrollStates[sCurrentBagPocket].scrollTop += a; + MoveMenuCursor(0); + sub_80A73C0(); + sub_80A763C(); + sub_80A4ADC(b); +} + +static void sub_80A4B58(s8 delta, u8 b) +{ + gBagPocketScrollStates[sCurrentBagPocket].cursorPos = MoveMenuCursor(delta); + sub_80A73C0(); + sub_80A4ADC(b); +} + +static const u8 *sub_80A4B90(u16 itemId) +{ + if (TestPlayerAvatarFlags(6)) + { + if (itemId == ITEM_MACH_BIKE || itemId == ITEM_ACRO_BIKE) + return gOtherText_Walk; + } + if (ItemIsMail(itemId) == TRUE) + return gOtherText_Check; + return sItemPopupMenuActions[sPopupMenuActionList[0]].text; +} + +static void sub_80A4BF0(u16 *a) +{ + u8 i; + + if (gUnknown_02038564 == 4) + { + MenuDrawTextWindow(0, 7, 13, 12); + sub_80A4008(a, 1, 8, 12, 4); + if (sub_80F9344() == TRUE && sReturnLocation == RETURN_TO_FIELD_5) + { + sub_80A7834(1, 0); + } + else + { + for (i = 0; i < gUnknown_02038564; i++) + { + const u8 *text; + + if (i == 0) + text = sub_80A4B90(gScriptItemId); + else + text = sItemPopupMenuActions[sPopupMenuActionList[i]].text; + MenuPrint(text, 1 + (i / 2) * 6, 8 + (i % 2) * 2); + } + } + if (sReturnLocation == RETURN_TO_FIELD_5) + InitMenu(0, 1, 8, gUnknown_02038564, sPopupMenuSelection, 1); + else + InitMenu(0, 1, 8, gUnknown_02038564, 0, 1); + sub_8072DCC(0x2F); + } + else + { + MenuDrawTextWindow(0, 5, 13, 12); + sub_80A4008(a, 1, 6, 12, 6); + for (i = 0; i < gUnknown_02038564; i++) + MenuPrint(sItemPopupMenuActions[sPopupMenuActionList[i]].text, 1 + (i / 3) * 6, 6 + (i % 3) * 2); + InitMenu(0, 1, 6, gUnknown_02038564, 0, 1); + sub_8072DCC(0x2F); + } + sub_80A7528(2); +} + +static void sub_80A4DA4(u16 *a) +{ + sub_80A73FC(); + sub_80A36B8(a, 0, 6, 13, 6); + MenuZeroFillWindowRect(0, 5, 13, 12); + sub_80A7590(); +} + +static void sub_80A4DD8(u8 taskId, u8 b, u8 c, u8 d, u8 e, u8 digits) +{ + gTasks[taskId].data[1] = 1; + gTasks[taskId].data[2] = b + 2; + gTasks[taskId].data[3] = c + 1; + MenuDrawTextWindow(b, c, b + d, c + e); + sub_80A4008(gBGTilemapBuffers[1], b + 1, c + 1, d - 1, e - 1); + sub_80A418C(1, 1, b + 2, c + 1, digits); +} + +static void sub_80A4E8C(s8 delta, u8 b) +{ + PlaySE(SE_SELECT); + sub_80F979C(0, 1); + sub_80F979C(1, 1); + sub_80F979C(2, 1); + sub_80F979C(3, 1); + PauseVerticalScrollIndicator(0); + PauseVerticalScrollIndicator(1); + PauseVerticalScrollIndicator(2); + PauseVerticalScrollIndicator(3); + ChangePocket(gBGTilemapBuffers[2], delta); + DrawPocketIndicatorDots(gBGTilemapBuffers[2], sCurrentBagPocket); + sub_80A3770(); + sub_80A7C64(); + CreateBagPokeballSprite(b); +} + +static bool8 sub_80A4F0C(void) +{ + if (sReturnLocation == RETURN_TO_FIELD_5 || sReturnLocation == RETURN_TO_FIELD_4) + return FALSE; + if (gMain.newKeys == DPAD_RIGHT || sub_80F9284() == 2) + { + sub_80A4E8C(1, 2); + return TRUE; + } + if (gMain.newKeys == DPAD_LEFT || sub_80F9284() == 1) + { + sub_80A4E8C(-1, 1); + return TRUE; + } + return FALSE; +} + +static void sub_80A4F68(u8 taskId) +{ + sub_80A4F0C(); +} + +static bool8 sub_80A4F74(u8 a) +{ + bool8 retVal = FALSE; + + if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_UP) + { + if (gBagPocketScrollStates[sCurrentBagPocket].cursorPos != 0) + sub_80A4B58(-1, a); + else if (gBagPocketScrollStates[sCurrentBagPocket].scrollTop != 0) + sub_80A4B14(-1, a); + if (gLinkOpen == TRUE && gMain.keyRepeatCounter == 5) + gMain.keyRepeatCounter = 11; + retVal = TRUE; + } + else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_DOWN) + { + if (sReturnLocation != RETURN_TO_FIELD_5) + { + if (gBagPocketScrollStates[sCurrentBagPocket].cursorPos == gBagPocketScrollStates[sCurrentBagPocket].cursorMax) + { + if (gBagPocketScrollStates[sCurrentBagPocket].scrollTop + gBagPocketScrollStates[sCurrentBagPocket].cursorPos != gBagPocketScrollStates[sCurrentBagPocket].numSlots) + sub_80A4B14(1, a); + } + else + { + sub_80A4B58(1, a); + } + } + else + { + if (gBagPocketScrollStates[sCurrentBagPocket].scrollTop + gBagPocketScrollStates[sCurrentBagPocket].cursorPos != gBagPocketScrollStates[sCurrentBagPocket].numSlots - 1) + { + if (gBagPocketScrollStates[sCurrentBagPocket].cursorPos != gBagPocketScrollStates[sCurrentBagPocket].cursorMax) + sub_80A4B58(1, a); + else + sub_80A4B14(1, a); + } + } + retVal = TRUE; + if (gLinkOpen == TRUE && gMain.keyRepeatCounter == 5) + gMain.keyRepeatCounter = 11; + } + else + { + if (gTasks[a].data[10] == 0 && sub_80A4F0C() == TRUE) + { + sub_80A73F0(); + gTasks[a].func = sub_80A4F68; + retVal = TRUE; + } + else + { + sub_80A73C0(); + } + } + return retVal; +} + +static void sub_80A50C8(u8 taskId) +{ + s16 *r5 = gTasks[taskId].data; + + if (!gPaletteFade.active) + { + if (sub_80A4F74(taskId) == TRUE) + { + sub_808B5B4(taskId); + return; + } + + if ((gMain.newKeys & SELECT_BUTTON) + && !(sCurrentBagPocket == BAG_POCKET_BERRIES || sCurrentBagPocket == BAG_POCKET_TMs_HMs) + && (sReturnLocation == RETURN_TO_FIELD_0 || sReturnLocation == RETURN_TO_BATTLE)) + { + if (r5[10] == 0) + { + if (gBagPocketScrollStates[sCurrentBagPocket].scrollTop + gBagPocketScrollStates[sCurrentBagPocket].cursorPos != gBagPocketScrollStates[sCurrentBagPocket].numSlots) + { + PlaySE(SE_SELECT); + sub_80A3F50(taskId); + } + sub_808B5B4(taskId); + } + else + { + if (gBagPocketScrollStates[sCurrentBagPocket].scrollTop + gBagPocketScrollStates[sCurrentBagPocket].cursorPos != gBagPocketScrollStates[sCurrentBagPocket].numSlots) + { + PlaySE(SE_SELECT); + sub_80A3E90(taskId); + } + else + { + sub_80A3EF4(taskId); + } + sub_808B5B4(taskId); + } + return; + } + + if (gMain.newKeys & A_BUTTON) + { + if (gBagPocketScrollStates[sCurrentBagPocket].scrollTop + gBagPocketScrollStates[sCurrentBagPocket].cursorPos == gBagPocketScrollStates[sCurrentBagPocket].numSlots) + { + if (r5[10] == 0) + { + gScriptItemId = 0; + gUnknown_083C16BC[sReturnLocation].onBagClose(taskId); + } + else + { + sub_80A3EF4(taskId); + } + sub_808B5B4(taskId); + } + else + { + if (r5[10] == 0) + { + PlaySE(SE_SELECT); + gUnknown_02038560 = gBagPocketScrollStates[sCurrentBagPocket].scrollTop + gBagPocketScrollStates[sCurrentBagPocket].cursorPos; + gScriptItemId = gCurrentBagPocketItemSlots[gUnknown_02038560].itemId; + gUnknown_083C16BC[sReturnLocation].onItemSelect(taskId); + sub_80F98A4(0); + sub_80F98A4(1); + sub_80F98A4(2); + sub_80F98A4(3); + sub_80A797C(); + } + else + { + sub_80A3E90(taskId); + } + sub_808B5B4(taskId); + } + return; + } + + if (gMain.newKeys & B_BUTTON) + { + if (r5[10] == 0) + { + if (sReturnLocation != RETURN_TO_FIELD_5) + { + gScriptItemId = 0; + gUnknown_083C16BC[sReturnLocation].onBagClose(taskId); + } + } + else + { + sub_80A3EF4(taskId); + } + sub_808B5B4(taskId); + return; + } + } +} + +bool8 sub_80A52C4(u8 taskId, u16 b) +{ + s16 *taskData = gTasks[taskId].data; + + if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_UP) + { + if (taskData[1] != b) + taskData[1]++; + else + taskData[1] = 1; + return TRUE; + } + + if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_DOWN) + { + if (taskData[1] != 1) + taskData[1]--; + else + taskData[1] = b; + return TRUE; + } + + if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_RIGHT) + { + if (taskData[1] + 10 < b) + taskData[1] += 10; + else + taskData[1] = b; + return TRUE; + } + + if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_LEFT) + { + if (taskData[1] > 10) + taskData[1] -= 10; + else + taskData[1] = 1; + return TRUE; + } + + return FALSE; +} + +static bool8 sub_80A5350(u8 taskId) +{ + s16 *taskData = gTasks[taskId].data; + + if (sub_80A52C4(taskId, gCurrentBagPocketItemSlots[gUnknown_02038560].quantity) == TRUE) + { + // if (sCurrentBagPocket == BAG_POCKET_BERRIES) Can't get it to match this way + if (sCurrentBagPocket + 1 == BAG_POCKET_BERRIES + 1) + sub_80A418C(taskData[1], 1, taskData[2], taskData[3], 3); + else + sub_80A418C(taskData[1], 1, taskData[2], taskData[3], 2); + return TRUE; + } + return FALSE; +} + +static void sub_80A53CC(void) +{ + if (sub_80A34B4() == TRUE) + { + sub_80A3770(); + gUnknown_02038563 = CreateTask(sub_80A50C8, 0); + } +} + +void sub_80A53F8(void) +{ + sReturnLocation = RETURN_TO_FIELD_0; + SetMainCallback2(sub_80A53CC); +} + +#ifdef NONMATCHING +static void sub_80A5414(u8 taskId) +{ + TaskFunc r5 = NULL; + + if (sub_80A78A0() != 0) + { + if ((gMain.newAndRepeatedKeys & DPAD_ANY) == 0x40) + { + if ((sPopupMenuSelection & 1) && sPopupMenuActionList[sPopupMenuSelection - 1] == 8) + { + PlaySE(SE_SELECT); + sPopupMenuSelection = MoveMenuCursor3(-1); + } + } + //_080A546C + else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == 0x80) + { + if (!(sPopupMenuSelection & 1) && sPopupMenuActionList[sPopupMenuSelection + 1] != 8) + { + PlaySE(SE_SELECT); + sPopupMenuSelection = MoveMenuCursor3(1); + } + } + //_080A549C + else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == 0x20) + { + if (sPopupMenuSelection > 1 && sPopupMenuActionList[sPopupMenuSelection - 2] != 8) + { + PlaySE(SE_SELECT); + sPopupMenuSelection = MoveMenuCursor3(-2); + } + } + //_080A54CC + else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == 0x10) + { + if (sPopupMenuSelection <= 1 && sPopupMenuActionList[sPopupMenuSelection + 2] != 8) + { + PlaySE(SE_SELECT); + sPopupMenuSelection = MoveMenuCursor3(2); + } + } + //_080A5500 + else if (!(gMain.newKeys & A_BUTTON)) + { + if (gMain.newKeys & B_BUTTON) + { + gTasks[taskId].data[10] = 0; + sub_80A48E8(taskId, gBagPocketScrollStates[sCurrentBagPocket].cursorPos, gBagPocketScrollStates[sCurrentBagPocket].cursorPos); + sub_80A4DA4(gBGTilemapBuffers[1]); + r5 = sItemPopupMenuActions[sPopupMenuActionList[3]].func; + r5(taskId); + } + } + else + { + //_080A5590 + gTasks[taskId].data[10] = 0; + sub_80A4DA4(gBGTilemapBuffers[1]); + r5 = sItemPopupMenuActions[sPopupMenuActionList[sPopupMenuSelection]].func; + r5(taskId); + } + } + //_080A5552 + if (r5 == NULL) + { + if (sReturnLocation == RETURN_TO_FIELD_5) + { + if (sPopupMenuSelection == 0) + { + sub_8072DDC(12); + return; + } + //_080A55D4 + //else + //{ + if (sPopupMenuSelection == 0 || sPopupMenuSelection == 1) + sub_8072DCC(0x2F); + else + sub_8072DCC(0x30); + //} + } + //_080A55E0 + else + { + if (sPopupMenuSelection == 0 || sPopupMenuSelection == 1) + sub_8072DCC(0x2F); + else + sub_8072DCC(0x30); + } + } +} +#else +__attribute__((naked)) +static void sub_80A5414(u8 taskId) +{ + asm(".syntax unified\n\ + push {r4,r5,lr}\n\ + lsls r0, 24\n\ + lsrs r4, r0, 24\n\ + movs r5, 0\n\ + bl sub_80A78A0\n\ + cmp r0, 0\n\ + bne _080A5426\n\ + b _080A5552\n\ +_080A5426:\n\ + ldr r2, _080A5460 @ =gMain\n\ + ldrh r0, [r2, 0x30]\n\ + movs r1, 0xF0\n\ + ands r1, r0\n\ + cmp r1, 0x40\n\ + bne _080A546C\n\ + ldr r4, _080A5464 @ =sPopupMenuSelection\n\ + ldrb r1, [r4]\n\ + movs r0, 0x1\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + bne _080A5440\n\ + b _080A5552\n\ +_080A5440:\n\ + ldrb r1, [r4]\n\ + ldr r0, _080A5468 @ =sPopupMenuActionList\n\ + ldr r0, [r0]\n\ + adds r1, r0\n\ + subs r1, 0x1\n\ + ldrb r0, [r1]\n\ + cmp r0, 0x8\n\ + bne _080A5452\n\ + b _080A5552\n\ +_080A5452:\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + movs r0, 0x1\n\ + negs r0, r0\n\ + b _080A54EE\n\ + .align 2, 0\n\ +_080A5460: .4byte gMain\n\ +_080A5464: .4byte sPopupMenuSelection\n\ +_080A5468: .4byte sPopupMenuActionList\n\ +_080A546C:\n\ + cmp r1, 0x80\n\ + bne _080A549C\n\ + ldr r4, _080A5494 @ =sPopupMenuSelection\n\ + ldrb r1, [r4]\n\ + movs r0, 0x1\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + bne _080A5552\n\ + ldrb r1, [r4]\n\ + ldr r0, _080A5498 @ =sPopupMenuActionList\n\ + ldr r0, [r0]\n\ + adds r1, r0\n\ + ldrb r0, [r1, 0x1]\n\ + cmp r0, 0x8\n\ + beq _080A5552\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + movs r0, 0x1\n\ + b _080A54EE\n\ + .align 2, 0\n\ +_080A5494: .4byte sPopupMenuSelection\n\ +_080A5498: .4byte sPopupMenuActionList\n\ +_080A549C:\n\ + cmp r1, 0x20\n\ + bne _080A54CC\n\ + ldr r4, _080A54C4 @ =sPopupMenuSelection\n\ + ldrb r0, [r4]\n\ + cmp r0, 0x1\n\ + bls _080A5552\n\ + adds r1, r0, 0\n\ + ldr r0, _080A54C8 @ =sPopupMenuActionList\n\ + ldr r0, [r0]\n\ + adds r1, r0\n\ + subs r1, 0x2\n\ + ldrb r0, [r1]\n\ + cmp r0, 0x8\n\ + beq _080A5552\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + movs r0, 0x2\n\ + negs r0, r0\n\ + b _080A54EE\n\ + .align 2, 0\n\ +_080A54C4: .4byte sPopupMenuSelection\n\ +_080A54C8: .4byte sPopupMenuActionList\n\ +_080A54CC:\n\ + cmp r1, 0x10\n\ + bne _080A5500\n\ + ldr r4, _080A54F8 @ =sPopupMenuSelection\n\ + ldrb r0, [r4]\n\ + cmp r0, 0x1\n\ + bhi _080A5552\n\ + adds r1, r0, 0\n\ + ldr r0, _080A54FC @ =sPopupMenuActionList\n\ + ldr r0, [r0]\n\ + adds r1, r0\n\ + ldrb r0, [r1, 0x2]\n\ + cmp r0, 0x8\n\ + beq _080A5552\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + movs r0, 0x2\n\ +_080A54EE:\n\ + bl MoveMenuCursor3\n\ + strb r0, [r4]\n\ + b _080A5552\n\ + .align 2, 0\n\ +_080A54F8: .4byte sPopupMenuSelection\n\ +_080A54FC: .4byte sPopupMenuActionList\n\ +_080A5500:\n\ + ldrh r1, [r2, 0x2E]\n\ + movs r0, 0x1\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + bne _080A5590\n\ + movs r0, 0x2\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _080A5552\n\ + ldr r1, _080A5570 @ =gTasks\n\ + lsls r0, r4, 2\n\ + adds r0, r4\n\ + lsls r0, 3\n\ + adds r0, r1\n\ + strh r5, [r0, 0x1C]\n\ + ldr r1, _080A5574 @ =gBagPocketScrollStates\n\ + ldr r0, _080A5578 @ =sCurrentBagPocket\n\ + ldrb r0, [r0]\n\ + lsls r0, 24\n\ + asrs r0, 24\n\ + lsls r0, 2\n\ + adds r0, r1\n\ + ldrb r2, [r0]\n\ + adds r0, r4, 0\n\ + adds r1, r2, 0\n\ + bl sub_80A48E8\n\ + ldr r0, _080A557C @ =gBGTilemapBuffers + 0x800\n\ + bl sub_80A4DA4\n\ + ldr r1, _080A5580 @ =sItemPopupMenuActions\n\ + ldr r0, _080A5584 @ =sPopupMenuActionList\n\ + ldr r0, [r0]\n\ + ldrb r0, [r0, 0x3]\n\ + lsls r0, 3\n\ + adds r1, 0x4\n\ + adds r0, r1\n\ + ldr r5, [r0]\n\ + adds r0, r4, 0\n\ + bl _call_via_r5\n\ +_080A5552:\n\ + cmp r5, 0\n\ + bne _080A55FA\n\ + ldr r0, _080A5588 @ =sReturnLocation\n\ + ldrb r0, [r0]\n\ + cmp r0, 0x5\n\ + bne _080A55E0\n\ + ldr r0, _080A558C @ =sPopupMenuSelection\n\ + ldrb r0, [r0]\n\ + cmp r0, 0\n\ + bne _080A55D4\n\ + movs r0, 0xC\n\ + bl sub_8072DDC\n\ + b _080A55FA\n\ + .align 2, 0\n\ +_080A5570: .4byte gTasks\n\ +_080A5574: .4byte gBagPocketScrollStates\n\ +_080A5578: .4byte sCurrentBagPocket\n\ +_080A557C: .4byte gBGTilemapBuffers + 0x800\n\ +_080A5580: .4byte sItemPopupMenuActions\n\ +_080A5584: .4byte sPopupMenuActionList\n\ +_080A5588: .4byte sReturnLocation\n\ +_080A558C: .4byte sPopupMenuSelection\n\ +_080A5590:\n\ + ldr r1, _080A55C0 @ =gTasks\n\ + lsls r0, r4, 2\n\ + adds r0, r4\n\ + lsls r0, 3\n\ + adds r0, r1\n\ + strh r5, [r0, 0x1C]\n\ + ldr r0, _080A55C4 @ =gBGTilemapBuffers + 0x800\n\ + bl sub_80A4DA4\n\ + ldr r1, _080A55C8 @ =sItemPopupMenuActions\n\ + ldr r0, _080A55CC @ =sPopupMenuSelection\n\ + ldrb r2, [r0]\n\ + ldr r0, _080A55D0 @ =sPopupMenuActionList\n\ + ldr r0, [r0]\n\ + adds r0, r2\n\ + ldrb r0, [r0]\n\ + lsls r0, 3\n\ + adds r1, 0x4\n\ + adds r0, r1\n\ + ldr r5, [r0]\n\ + adds r0, r4, 0\n\ + bl _call_via_r5\n\ + b _080A5552\n\ + .align 2, 0\n\ +_080A55C0: .4byte gTasks\n\ +_080A55C4: .4byte gBGTilemapBuffers + 0x800\n\ +_080A55C8: .4byte sItemPopupMenuActions\n\ +_080A55CC: .4byte sPopupMenuSelection\n\ +_080A55D0: .4byte sPopupMenuActionList\n\ +_080A55D4:\n\ + cmp r0, 0x1\n\ + bls _080A55E8\n\ + movs r0, 0x30\n\ + bl sub_8072DCC\n\ + b _080A55FA\n\ +_080A55E0:\n\ + ldr r0, _080A55F0 @ =sPopupMenuSelection\n\ + ldrb r0, [r0]\n\ + cmp r0, 0x1\n\ + bhi _080A55F4\n\ +_080A55E8:\n\ + movs r0, 0x2F\n\ + bl sub_8072DCC\n\ + b _080A55FA\n\ + .align 2, 0\n\ +_080A55F0: .4byte sPopupMenuSelection\n\ +_080A55F4:\n\ + movs r0, 0x30\n\ + bl sub_8072DCC\n\ +_080A55FA:\n\ + pop {r4,r5}\n\ + pop {r0}\n\ + bx r0\n\ + .syntax divided\n"); +} +#endif + +__attribute__((naked)) +static void sub_80A5600(u8 taskId) +{ + asm(".syntax unified\n\ + push {r4,r5,lr}\n\ + lsls r0, 24\n\ + lsrs r4, r0, 24\n\ + movs r5, 0\n\ + ldr r2, _080A563C @ =gMain\n\ + ldrh r0, [r2, 0x30]\n\ + movs r1, 0xF0\n\ + ands r1, r0\n\ + cmp r1, 0x40\n\ + bne _080A5648\n\ + ldr r4, _080A5640 @ =sPopupMenuSelection\n\ + ldrb r0, [r4]\n\ + cmp r0, 0\n\ + bne _080A561E\n\ + b _080A5736\n\ +_080A561E:\n\ + adds r1, r0, 0\n\ + ldr r0, _080A5644 @ =sPopupMenuActionList\n\ + ldr r0, [r0]\n\ + adds r1, r0\n\ + subs r1, 0x1\n\ + ldrb r0, [r1]\n\ + cmp r0, 0x8\n\ + bne _080A5630\n\ + b _080A5736\n\ +_080A5630:\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + movs r0, 0x1\n\ + negs r0, r0\n\ + b _080A56D2\n\ + .align 2, 0\n\ +_080A563C: .4byte gMain\n\ +_080A5640: .4byte sPopupMenuSelection\n\ +_080A5644: .4byte sPopupMenuActionList\n\ +_080A5648:\n\ + cmp r1, 0x80\n\ + bne _080A5680\n\ + ldr r4, _080A5674 @ =sPopupMenuSelection\n\ + ldrb r1, [r4]\n\ + ldr r0, _080A5678 @ =gUnknown_02038564\n\ + ldrb r0, [r0]\n\ + subs r0, 0x1\n\ + cmp r1, r0\n\ + beq _080A5736\n\ + cmp r1, 0x2\n\ + beq _080A5736\n\ + ldr r0, _080A567C @ =sPopupMenuActionList\n\ + ldr r0, [r0]\n\ + adds r0, r1, r0\n\ + ldrb r0, [r0, 0x1]\n\ + cmp r0, 0x8\n\ + beq _080A5736\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + movs r0, 0x1\n\ + b _080A56D2\n\ + .align 2, 0\n\ +_080A5674: .4byte sPopupMenuSelection\n\ +_080A5678: .4byte gUnknown_02038564\n\ +_080A567C: .4byte sPopupMenuActionList\n\ +_080A5680:\n\ + cmp r1, 0x20\n\ + bne _080A56B0\n\ + ldr r4, _080A56A8 @ =sPopupMenuSelection\n\ + ldrb r0, [r4]\n\ + cmp r0, 0x2\n\ + bls _080A5736\n\ + adds r1, r0, 0\n\ + ldr r0, _080A56AC @ =sPopupMenuActionList\n\ + ldr r0, [r0]\n\ + adds r1, r0\n\ + subs r1, 0x3\n\ + ldrb r0, [r1]\n\ + cmp r0, 0x8\n\ + beq _080A5736\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + movs r0, 0x3\n\ + negs r0, r0\n\ + b _080A56D2\n\ + .align 2, 0\n\ +_080A56A8: .4byte sPopupMenuSelection\n\ +_080A56AC: .4byte sPopupMenuActionList\n\ +_080A56B0:\n\ + cmp r1, 0x10\n\ + bne _080A56E4\n\ + ldr r4, _080A56DC @ =sPopupMenuSelection\n\ + ldrb r0, [r4]\n\ + cmp r0, 0x2\n\ + bhi _080A5736\n\ + adds r1, r0, 0\n\ + ldr r0, _080A56E0 @ =sPopupMenuActionList\n\ + ldr r0, [r0]\n\ + adds r1, r0\n\ + ldrb r0, [r1, 0x3]\n\ + cmp r0, 0x8\n\ + beq _080A5736\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + movs r0, 0x3\n\ +_080A56D2:\n\ + bl MoveMenuCursor3\n\ + strb r0, [r4]\n\ + b _080A5736\n\ + .align 2, 0\n\ +_080A56DC: .4byte sPopupMenuSelection\n\ +_080A56E0: .4byte sPopupMenuActionList\n\ +_080A56E4:\n\ + ldrh r1, [r2, 0x2E]\n\ + movs r0, 0x1\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + bne _080A5768\n\ + movs r0, 0x2\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _080A5736\n\ + ldr r1, _080A574C @ =gTasks\n\ + lsls r0, r4, 2\n\ + adds r0, r4\n\ + lsls r0, 3\n\ + adds r0, r1\n\ + strh r5, [r0, 0x1C]\n\ + ldr r1, _080A5750 @ =gBagPocketScrollStates\n\ + ldr r0, _080A5754 @ =sCurrentBagPocket\n\ + ldrb r0, [r0]\n\ + lsls r0, 24\n\ + asrs r0, 24\n\ + lsls r0, 2\n\ + adds r0, r1\n\ + ldrb r2, [r0]\n\ + adds r0, r4, 0\n\ + adds r1, r2, 0\n\ + bl sub_80A48E8\n\ + ldr r0, _080A5758 @ =gBGTilemapBuffers + 0x800\n\ + bl sub_80A4DA4\n\ + ldr r1, _080A575C @ =sItemPopupMenuActions\n\ + ldr r0, _080A5760 @ =sPopupMenuActionList\n\ + ldr r0, [r0]\n\ + ldrb r0, [r0, 0x5]\n\ + lsls r0, 3\n\ + adds r1, 0x4\n\ + adds r0, r1\n\ + ldr r5, [r0]\n\ + adds r0, r4, 0\n\ + bl _call_via_r5\n\ +_080A5736:\n\ + cmp r5, 0\n\ + bne _080A57BE\n\ + ldr r0, _080A5764 @ =sPopupMenuSelection\n\ + ldrb r0, [r0]\n\ + cmp r0, 0\n\ + bne _080A57AC\n\ + movs r0, 0xC\n\ + bl sub_8072DDC\n\ + b _080A57BE\n\ + .align 2, 0\n\ +_080A574C: .4byte gTasks\n\ +_080A5750: .4byte gBagPocketScrollStates\n\ +_080A5754: .4byte sCurrentBagPocket\n\ +_080A5758: .4byte gBGTilemapBuffers + 0x800\n\ +_080A575C: .4byte sItemPopupMenuActions\n\ +_080A5760: .4byte sPopupMenuActionList\n\ +_080A5764: .4byte sPopupMenuSelection\n\ +_080A5768:\n\ + ldr r1, _080A5798 @ =gTasks\n\ + lsls r0, r4, 2\n\ + adds r0, r4\n\ + lsls r0, 3\n\ + adds r0, r1\n\ + strh r5, [r0, 0x1C]\n\ + ldr r0, _080A579C @ =gBGTilemapBuffers + 0x800\n\ + bl sub_80A4DA4\n\ + ldr r1, _080A57A0 @ =sItemPopupMenuActions\n\ + ldr r0, _080A57A4 @ =sPopupMenuSelection\n\ + ldrb r2, [r0]\n\ + ldr r0, _080A57A8 @ =sPopupMenuActionList\n\ + ldr r0, [r0]\n\ + adds r0, r2\n\ + ldrb r0, [r0]\n\ + lsls r0, 3\n\ + adds r1, 0x4\n\ + adds r0, r1\n\ + ldr r5, [r0]\n\ + adds r0, r4, 0\n\ + bl _call_via_r5\n\ + b _080A5736\n\ + .align 2, 0\n\ +_080A5798: .4byte gTasks\n\ +_080A579C: .4byte gBGTilemapBuffers + 0x800\n\ +_080A57A0: .4byte sItemPopupMenuActions\n\ +_080A57A4: .4byte sPopupMenuSelection\n\ +_080A57A8: .4byte sPopupMenuActionList\n\ +_080A57AC:\n\ + cmp r0, 0x2\n\ + bhi _080A57B8\n\ + movs r0, 0x2F\n\ + bl sub_8072DCC\n\ + b _080A57BE\n\ +_080A57B8:\n\ + movs r0, 0x30\n\ + bl sub_8072DCC\n\ +_080A57BE:\n\ + pop {r4,r5}\n\ + pop {r0}\n\ + bx r0\n\ + .syntax divided\n"); +} + +static void sub_80A57C4(void) +{ + u8 r5; + + sPopupMenuActionList = gUnknown_083C16AE[sCurrentBagPocket]; + if (sCurrentBagPocket == BAG_POCKET_KEY_ITEMS) + { + gUnknown_02038564 = 1; + r5 = 9; + } + else if (sub_80F92F4(gScriptItemId) == 0) + { + sPopupMenuActionList = gUnknown_083C16AE[4]; + gUnknown_02038564 = 1; + r5 = 9; + } + else + { + gUnknown_02038564 = 2; + r5 = 7; + } + sub_80A4008(gBGTilemapBuffers[1], 7, r5 + 1, 6, gUnknown_02038564 * 2); + MenuDrawTextWindow(6, r5, 13, gUnknown_02038564 * 2 + 1 + r5); + sub_80A7834(0, r5); + InitMenu(0, 7, r5 + 1, gUnknown_02038564, 0, 6); +} + +static void sub_80A5888(u8 taskId) +{ + if (sub_80A78A0() != 0) + { + if (gMain.newAndRepeatedKeys & DPAD_UP) + { + if (sPopupMenuSelection != 0) + { + PlaySE(SE_SELECT); + sPopupMenuSelection = MoveMenuCursor(-1); + } + } + else if (gMain.newAndRepeatedKeys & DPAD_DOWN) + { + if (sPopupMenuSelection != gUnknown_02038564 - 1) + { + PlaySE(SE_SELECT); + sPopupMenuSelection = MoveMenuCursor(1); + } + } + else if (gMain.newKeys & A_BUTTON) + { + gTasks[taskId].data[10] = 0; + sub_80A48E8(taskId, gBagPocketScrollStates[sCurrentBagPocket].cursorPos, gBagPocketScrollStates[sCurrentBagPocket].cursorPos); + sub_80A4DA4(gBGTilemapBuffers[1]); + sItemPopupMenuActions[sPopupMenuActionList[sPopupMenuSelection]].func(taskId); + } + else if (gMain.newKeys & B_BUTTON) + { + gTasks[taskId].data[10] = 0; + sub_80A4DA4(gBGTilemapBuffers[1]); + sItemPopupMenuActions[2].func(taskId); + } + } +} + +static void OnBagClose_Field0(u8 taskId) +{ + gTasks[taskId].data[8] = (u32)sub_805469C >> 16; + gTasks[taskId].data[9] = (u32)sub_805469C; + gLastFieldPokeMenuOpened = 0; + sub_80A5AE4(taskId); +} + +static void OnItemSelect_Field05(u8 taskId) +{ + sPopupMenuSelection = 0; + if (sReturnLocation == RETURN_TO_FIELD_5) + sPopupMenuSelection = 1; + gTasks[taskId].data[10] = gBagPocketScrollStates[sCurrentBagPocket].scrollTop + gBagPocketScrollStates[sCurrentBagPocket].cursorPos + 1; + sub_80A48E8(taskId, gBagPocketScrollStates[sCurrentBagPocket].cursorPos, gBagPocketScrollStates[sCurrentBagPocket].cursorPos); + sub_80A73FC(); + if (sub_80F9344() == TRUE && sReturnLocation != RETURN_TO_FIELD_5) + { + sub_80A57C4(); + gTasks[taskId].func = sub_80A5888; + } + else + { + sub_80A4BF0(gBGTilemapBuffers[1]); + if (sCurrentBagPocket != BAG_POCKET_BERRIES || sReturnLocation == RETURN_TO_FIELD_5) + gTasks[taskId].func = sub_80A5414; + else + gTasks[taskId].func = sub_80A5600; + } +} + +static void sub_80A5AAC(u8 taskId) +{ + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + gTasks[taskId].func = HandleItemMenuPaletteFade; +} + +static void sub_80A5AE4(u8 taskId) +{ + PlaySE(SE_SELECT); + sub_80A5AAC(taskId); +} + +void HandleItemMenuPaletteFade(u8 taskId) +{ + s16 *taskData = gTasks[taskId].data; + + if (!gPaletteFade.active) + { + MainCallback cb = (MainCallback)((u16)taskData[8] << 16 | (u16)taskData[9]); + + SetMainCallback2(cb); + gpu_pal_allocator_reset__manage_upper_four(); + DestroyTask(taskId); + } +} + +void sub_80A5B40(void) +{ + while (1) + { + if (SetupBagMultistep() == TRUE) + { + ResetTasks(); + gUnknown_02038563 = CreateTask(sub_80A50C8, 0); + break; + } + if (sub_80F9344() == TRUE) + break; + } +} + +static void HandlePopupMenuAction_UseOnField(u8 taskId) +{ + if (ItemId_GetFieldFunc(gScriptItemId) != NULL) + { + PlaySE(SE_SELECT); + if (CalculatePlayerPartyCount() == 0 && ItemId_GetType(gScriptItemId) == 1) + { + sub_80A5BF8(taskId); + } + else + { + gTasks[taskId].data[2] = 0; + if (sCurrentBagPocket != BAG_POCKET_BERRIES) + ItemId_GetFieldFunc(gScriptItemId)(taskId); + else + sub_80C9C7C(taskId); + } + } +} + +static void sub_80A5BF8(u8 taskId) +{ + sub_80A73FC(); + sub_80A7590(); + DisplayCannotUseItemMessage(taskId, gOtherText_NoPokemon, CleanUpItemMenuMessage, 1); +} + +static void sub_80A5C24(u8 taskId) +{ + sub_80A7528(0); + sub_80A41D4(taskId); + ItemListMenu_InitMenu(); + sub_80A37C0(taskId); +} + +void CleanUpItemMenuMessage(u8 taskId) +{ + sub_80A36B8(gBGTilemapBuffers[1], 0, 0, 31, 31); + MenuZeroFillWindowRect(7, 7, 13, 12); + MenuZeroFillWindowRect(0, 14, 29, 19); + gTasks[taskId].func = sub_80A5C24; +} + +void CleanUpOverworldMessage(u8 taskId) +{ + MenuZeroFillWindowRect(0, 13, 29, 19); + DestroyTask(taskId); + sub_8064E2C(); + ScriptContext2_Disable(); +} + +void ExecuteItemUseFromBlackPalette(void) +{ + pal_fill_black(); + CreateTask(Task_CallItemUseOnFieldCallback, 8); +} + +static void Task_CallItemUseOnFieldCallback(u8 taskId) +{ + if (sub_807D770() == TRUE) + gUnknown_03005D00(taskId); +} + +void sub_80A5D04(void) +{ + while (1) + { + if (SetupBagMultistep() == TRUE) + { + gUnknown_02038563 = CreateTask(sub_80A50C8, 0); + break; + } + if (sub_80F9344() == TRUE) + break; + } +} + +static void sub_80A5D38(u8 taskId) +{ + gTasks[taskId].data[1] = 0; + sub_80A4DA4(gBGTilemapBuffers[1]); + sub_80A7528(0); + sub_80A41D4(taskId); + ItemListMenu_InitMenu(); + sub_80A37C0(taskId); +} + +static void sub_80A5D78(void) +{ + sub_80A4008(gBGTilemapBuffers[1], 8, 8, 5, 4); + DisplayYesNoMenu(7, 7, 1); +} + +static void sub_80A5DA0(u16 itemId, u16 quantity) +{ + CopyItemName(itemId, gStringVar1); + if (quantity >= 100) + ConvertIntToDecimalStringN(gStringVar2, quantity, STR_CONV_MODE_LEFT_ALIGN, 3); + else + ConvertIntToDecimalStringN(gStringVar2, quantity, STR_CONV_MODE_LEFT_ALIGN, 2); + sub_80A4DA4(gBGTilemapBuffers[1]); + sub_80A7528(5); + sub_80A5D78(); +} + +static void sub_80A5DF8(void) +{ + sub_80A4DA4(gBGTilemapBuffers[1]); + MenuZeroFillWindowRect(7, 6, 11, 13); + sub_80A7528(4); +} + +static void sub_80A5E1C(u8 taskId) +{ + if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON)) + { + gTasks[taskId].data[10] = 0; + sub_80A41D4(taskId); + sub_80A5D38(taskId); + } +} + +static void sub_80A5E60(u8 taskId) +{ + sub_80A5DF8(); + sub_80A3D5C(taskId); + gTasks[taskId].func = sub_80A5E1C; +} + +static void sub_80A5E90(u8 taskId) +{ + sub_80A5D38(taskId); +} + +static void sub_80A5EA0(u8 taskId) +{ + if (sub_80A5350(taskId) == TRUE) + return; + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + sub_80A5DA0(gScriptItemId, gTasks[taskId].data[1]); + DoYesNoFuncWithChoice(taskId, &gUnknown_083C16F4); + } + else if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + sub_80A5D38(taskId); + } +} + +static void HandlePopupMenuAction_Toss(u8 taskId) +{ + PlaySE(SE_SELECT); + gTasks[taskId].func = sub_80A5EA0; + sub_80A7528(3); + // if (sCurrentBagPocket == BAG_POCKET_BERRIES) Can't get it to match this way + if (sCurrentBagPocket + 1 == BAG_POCKET_BERRIES + 1) + sub_80A4DD8(taskId, 6, 9, 7, 3, 3); + else + sub_80A4DD8(taskId, 7, 9, 6, 3, 2); +} + +static void sub_80A5F80(u8 taskId) +{ + PlaySE(SE_SELECT); + sub_80A7528(0); + sub_80A41D4(taskId); + ItemListMenu_InitMenu(); + sub_80A37C0(taskId); +} + +static void HandlePopupMenuAction_Register(u8 taskId) +{ + PlaySE(SE_SELECT); + if (gSaveBlock1.registeredItem == gScriptItemId) + { + // Un-register the registered item + RemoveSelectIconFromRegisteredItem(); + gSaveBlock1.registeredItem = 0; + } + else + { + AddSelectIconToRegisteredItem(); + gSaveBlock1.registeredItem = gScriptItemId; + } + sub_80A7528(0); + sub_80A41D4(taskId); + ItemListMenu_InitMenu(); + sub_80A37C0(taskId); +} + +static void sub_80A6000(u8 taskId) +{ + sub_80A7528(0); + sub_80A41D4(taskId); + ItemListMenu_InitMenu(); + sub_80A37C0(taskId); +} + +static void sub_80A6024(u8 taskId) +{ + if (gMain.newKeys & A_BUTTON) + { + sub_80A36B8(gBGTilemapBuffers[1], 0, 0, 31, 31); + MenuZeroFillWindowRect(0, 14, 29, 19); + gTasks[taskId].func = sub_80A6000; + } +} + +static void DisplayCannotBeHeldMessage(u8 taskId) +{ + sub_80A73FC(); + CopyItemName(gScriptItemId, gStringVar1); + StringExpandPlaceholders(gStringVar4, gOtherText_CantBeHeld); + sub_80A7590(); + DisplayCannotUseItemMessage(taskId, gStringVar4, sub_80A6024, 1); +} + +static void HandlePopupMenuAction_Give(u8 taskId) +{ + PlaySE(SE_SELECT); + if (sub_80F931C(gScriptItemId) == 0) + { + sub_80A73FC(); + sub_80A7590(); + DisplayCannotUseItemMessage(taskId, gOtherText_CantWriteMail, sub_80A6024, 1); + } + else if (ItemId_GetImportance(gScriptItemId) == 0) + { + if (CalculatePlayerPartyCount() == 0) + { + sub_80A5BF8(taskId); + } + else + { + gTasks[taskId].data[8] = (u32)sub_808B020 >> 16; + gTasks[taskId].data[9] = (u32)sub_808B020; + gTasks[taskId].func = HandleItemMenuPaletteFade; + gUnknown_02038561 = 1; + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + } + } + else + { + DisplayCannotBeHeldMessage(taskId); + } +} + +static void HandlePopupMenuAction_CheckTag(u8 taskId) +{ + sub_80A5AE4(taskId); + gTasks[taskId].data[8] = (u32)BerryTagScreen_814625C >> 16; + gTasks[taskId].data[9] = (u32)BerryTagScreen_814625C; +} + +static void sub_80A61A8(void) +{ + if (sub_80A34B4() == TRUE) + gUnknown_02038563 = CreateTask(sub_80A50C8, 0); +} + +void sub_80A61D0(void) +{ + sReturnLocation = RETURN_TO_PKMN_LIST; + SetMainCallback2(sub_80A61A8); +} + +static void OnBagClose_PkmnList(u8 taskId) +{ + gTasks[taskId].data[8] = (u32)sub_808A3F8 >> 16; + gTasks[taskId].data[9] = (u32)sub_808A3F8; + sub_80A5AE4(taskId); +} + +static void OnItemSelect_PkmnList(u8 taskId) +{ + u8 r6 = sCurrentBagPocket + 1; + + if (sub_80F931C(gScriptItemId) == 0) + { + sub_80A73FC(); + sub_80A7590(); + DisplayCannotUseItemMessage(taskId, gOtherText_CantWriteMail, sub_80A6024, 1); + } + else if (sub_80F92F4(gScriptItemId) == 0) + { + sub_80A73FC(); + CopyItemName(gScriptItemId, gStringVar1); + StringExpandPlaceholders(gStringVar4, gOtherText_CantBeHeldHere); + sub_80A7590(); + DisplayCannotUseItemMessage(taskId, gStringVar4, sub_80A6024, 1); + } + else if (r6 != 5 && ItemId_GetImportance(gScriptItemId) == 0) + { + gTasks[taskId].data[8] = (u32)sub_808A3F8 >> 16; + gTasks[taskId].data[9] = (u32)sub_808A3F8; + sub_80A5AAC(taskId); + } + else + { + DisplayCannotBeHeldMessage(taskId); + } +} + +static void sub_80A62D8(void) +{ + if (sub_80A34B4() == TRUE) + gUnknown_02038563 = CreateTask(sub_80A50C8, 0); +} + +void sub_80A6300(void) +{ + sReturnLocation = RETURN_TO_SHOP; + SetMainCallback2(sub_80A62D8); +} + +static void OnBagClose_Shop(u8 taskId) +{ + gFieldCallback = sub_80B3050; + gTasks[taskId].data[8] = (u32)c2_exit_to_overworld_2_switch >> 16; + gTasks[taskId].data[9] = (u32)c2_exit_to_overworld_2_switch; + sub_80A5AE4(taskId); +} + +static void OnItemSelect_Shop(u8 taskId) +{ + sub_80A7590(); + gTasks[taskId].data[10] = gBagPocketScrollStates[sCurrentBagPocket].scrollTop + gBagPocketScrollStates[sCurrentBagPocket].cursorPos + 1; + sub_80A48E8(taskId, gBagPocketScrollStates[sCurrentBagPocket].cursorPos, gBagPocketScrollStates[sCurrentBagPocket].cursorPos); + sub_80A73FC(); + CopyItemName(gScriptItemId, gStringVar2); + if (ItemId_GetPrice(gScriptItemId) == 0) + { + StringExpandPlaceholders(gStringVar4, gOtherText_CantBuyThat); + DisplayCannotUseItemMessage(taskId, gStringVar4, sub_80A6444, 1); + } + else + { + StringExpandPlaceholders(gStringVar4, gOtherText_HowManyToSell); + DisplayCannotUseItemMessage(taskId, gStringVar4, sub_80A648C, 1); + } +} + +static void sub_80A640C(u8 taskId) +{ + gTasks[taskId].data[10] = 0; + sub_80A7528(0); + sub_80A41D4(taskId); + ItemListMenu_InitMenu(); + sub_80A37C0(taskId); +} + +static void sub_80A6444(u8 taskId) +{ + sub_80A36B8(gBGTilemapBuffers[1], 0, 0, 31, 31); + MenuZeroFillWindowRect(0, 14, 29, 19); + gTasks[taskId].func = sub_80A640C; +} + +static void sub_80A648C(u8 taskId) +{ + gTasks[taskId].func = Task_BuyHowManyDialogueHandleInput; + sub_80A4008(gBGTilemapBuffers[1], 1, 11, 12, 2); + MenuDrawTextWindow(0, 10, 13, 13); + gTasks[taskId].data[1] = 1; + gTasks[taskId].data[2] = 1; + gTasks[taskId].data[3] = 11; + // if (sCurrentBagPocket == BAG_POCKET_BERRIES) Can't get it to match this way + if (sCurrentBagPocket + 1 == BAG_POCKET_BERRIES + 1) + sub_80A418C(1, 1, 1, 11, 3); + else + sub_80A418C(1, 1, 1, 11, 2); + BuyMenuDisplayMessage(gScriptItemId, 1); + sub_80A683C(); +} + +static void sub_80A6520(u8 taskId) +{ + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + BuyMenuPrintItemQuantityAndPrice(taskId); + } +} + +static void sub_80A6548(u8 taskId) +{ + sub_80A48F8(taskId); + gTasks[taskId].func = sub_80A6520; +} + +static void sub_80A6574(u8 taskId) +{ + PlaySE(SE_REGI); + sub_80A6870(gScriptItemId, gTasks[taskId].data[1]); + gTasks[taskId].func = sub_80A6548; +} + +static void sub_80A65AC(u8 taskId) +{ + MenuZeroFillWindowRect(7, 6, 13, 12); + sub_80A36B8(gBGTilemapBuffers[1], 7, 6, 6, 6); + CopyItemName(gScriptItemId, gStringVar2); + StringExpandPlaceholders(gStringVar4, gOtherText_SoldItem); + DisplayCannotUseItemMessage(taskId, gStringVar4, sub_80A6574, 1); + sub_80A3D5C(taskId); +} + +static void sub_80A6618(u8 taskId) +{ + MenuZeroFillWindowRect(7, 6, 13, 12); + sub_80A36B8(gBGTilemapBuffers[1], 7, 6, 6, 6); + BuyMenuPrintItemQuantityAndPrice(taskId); +} + +static void sub_80A6650(u8 taskId) +{ + sub_80A5D78(); + DoYesNoFuncWithChoice(taskId, &gUnknown_083C16FC); +} + +static void Task_BuyHowManyDialogueHandleInput(u8 taskId) +{ + if (sub_80A5350(taskId) == TRUE) + { + MenuZeroFillWindowRect(6, 11, 12, 11); + BuyMenuDisplayMessage(gScriptItemId, gTasks[taskId].data[1]); + } + else if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + MenuZeroFillWindowRect(0, 10, 13, 13); + sub_80A36B8(gBGTilemapBuffers[1], 0, 10, 13, 3); + ConvertIntToDecimalStringN(gStringVar1, ItemId_GetPrice(gScriptItemId) / 2 * gTasks[taskId].data[1], STR_CONV_MODE_LEFT_ALIGN, 6); + StringExpandPlaceholders(gStringVar4, gOtherText_CanPay); + DisplayCannotUseItemMessage(taskId, gStringVar4, sub_80A6650, 1); + } + else if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + BuyMenuPrintItemQuantityAndPrice(taskId); + } +} + +static void sub_80A6760(u8 taskId) +{ + gTasks[taskId].data[10] = 0; + sub_80A7528(0); + sub_80A41D4(taskId); + ItemListMenu_InitMenu(); + sub_80A37C0(taskId); +} + +static void BuyMenuPrintItemQuantityAndPrice(u8 taskId) +{ + sub_80A36B8(gBGTilemapBuffers[1], 0, 0, 31, 31); + RemoveMoneyLabelObject(0, 0); + MenuZeroFillWindowRect(0, 4, 13, 13); + MenuZeroFillWindowRect(0, 14, 29, 19); + gTasks[taskId].func = sub_80A6760; +} + +static void BuyMenuDisplayMessage(u16 itemId, u16 quantity) +{ + sub_80B7A94(ItemId_GetPrice(itemId) / 2 * quantity, 6, 6, 11); + ConvertIntToDecimalStringN(gStringVar1, ItemId_GetPrice(itemId) / 2 * quantity, STR_CONV_MODE_LEFT_ALIGN, 6); +} + +static void sub_80A683C(void) +{ + sub_80B7C14(gSaveBlock1.money, 0, 0); + sub_80A4008(gBGTilemapBuffers[1], 1, 1, 12, 2); +} + +static void sub_80A6870(u16 itemId, u8 quantity) +{ + sub_80B79B8(&gSaveBlock1.money, ItemId_GetPrice(itemId) / 2 * quantity); + sub_80B7BEC(gSaveBlock1.money, 0, 0); +} + +static void sub_80A68A4(void) +{ + if (sub_80A34B4() == TRUE) + gUnknown_02038563 = CreateTask(sub_80A50C8, 0); +} + +void sub_80A68CC(void) +{ + sCurrentBagPocket = BAG_POCKET_BERRIES; + sReturnLocation = RETURN_TO_FIELD_4; + SetMainCallback2(sub_80A68A4); +} + +static void OnBagClose_Field4(u8 taskId) +{ + gTasks[taskId].data[8] = (u32)sub_80546B8 >> 16; + gTasks[taskId].data[9] = (u32)sub_80546B8; + sub_80A5AE4(taskId); +} + +static void OnItemSelect_Field4(u8 taskId) +{ + gTasks[taskId].data[8] = (u32)sub_80546B8 >> 16; + gTasks[taskId].data[9] = (u32)sub_80546B8; + sub_80A5AAC(taskId); +} + +static void sub_80A6940(void) +{ + while (1) + { + if (SetupBagMultistep() == TRUE) + { + gUnknown_02038563 = CreateTask(sub_80A50C8, 0); + sub_80A699C(); + break; + } + if (sub_80F9344() == TRUE) + break; + } +} + +void sub_80A6978(void) +{ + sCurrentBagPocket = BAG_POCKET_BERRIES; + sReturnLocation = RETURN_TO_FIELD_5; + SetMainCallback2(sub_80A6940); +} + +static void sub_80A699C(void) +{ + sPopupMenuActionList = gUnknown_083C16B8; + gUnknown_02038564 = 4; +} + +static void OnBagClose_Field5(u8 taskId) +{ + gTasks[taskId].data[8] = (u32)sub_804E990 >> 16; + gTasks[taskId].data[9] = (u32)sub_804E990; + sub_80A5AE4(taskId); +} + +static void HandlePopupMenuAction_Confirm(u8 taskId) +{ + gTasks[taskId].data[8] = (u32)sub_804E990 >> 16; + gTasks[taskId].data[9] = (u32)sub_804E990; + sub_80A5AAC(taskId); +} + +static void sub_80A6A08(void) +{ + if (sub_80A34B4() == TRUE) + gUnknown_02038563 = CreateTask(sub_80A50C8, 0); +} + +void sub_80A6A30(void) +{ + sReturnLocation = RETURN_TO_PC; + SetMainCallback2(sub_80A6A08); +} + +static void OnBagClose_PC(u8 taskId) +{ + gFieldCallback = ItemStorage_ReturnToMenuAfterDeposit; + gTasks[taskId].data[8] = (u32)c2_exit_to_overworld_2_switch >> 16; + gTasks[taskId].data[9] = (u32)c2_exit_to_overworld_2_switch; + sub_80A5AE4(taskId); +} + +static void sub_80A6A84(u8 taskId) +{ + s16 *taskData = gTasks[taskId].data; + + sub_80A4DA4(gBGTilemapBuffers[1]); + CopyItemName(gScriptItemId, gStringVar1); + ConvertIntToDecimalStringN(gStringVar2, taskData[1], STR_CONV_MODE_LEFT_ALIGN, 3); + MenuZeroFillWindowRect(7, 6, 11, 13); + sub_80A7528(7); + sub_80A3D5C(taskId); + gTasks[taskId].func = sub_80A5E1C; +} + +static void sub_80A6B00(u8 taskId) +{ + if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON)) + { + gTasks[taskId].data[10] = 0; + sub_80A48E8(taskId, gBagPocketScrollStates[sCurrentBagPocket].cursorPos, gBagPocketScrollStates[sCurrentBagPocket].cursorPos); + PlaySE(SE_SELECT); + sub_80A5D38(taskId); + } +} + +static void sub_80A6B64(u8 taskId) +{ + s16 *taskData = gTasks[taskId].data; + + if (ItemId_GetImportance(gScriptItemId) == 2) + { + gTasks[taskId].func = sub_80A6B00; + sub_80A7528(9); + } + else + { + if (AddPCItem(gScriptItemId, taskData[1]) == TRUE) + { + sub_80A6A84(taskId); + } + else + { + gTasks[taskId].func = sub_80A6B00; + sub_80A7528(8); + } + } +} + +static void sub_80A6BE0(u8 taskId) +{ + if (sub_80A5350(taskId) == TRUE) + return; + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + sub_80A4DA4(gBGTilemapBuffers[1]); + sub_80A6B64(taskId); + } + else if (gMain.newKeys & B_BUTTON) + { + gTasks[taskId].data[10] = 0; + sub_80A48E8(taskId, gBagPocketScrollStates[sCurrentBagPocket].cursorPos, gBagPocketScrollStates[sCurrentBagPocket].cursorPos); + PlaySE(SE_SELECT); + sub_80A5D38(taskId); + } +} + +static void OnItemSelect_PC(u8 taskId) +{ + gTasks[taskId].data[10] = gBagPocketScrollStates[sCurrentBagPocket].scrollTop + gBagPocketScrollStates[sCurrentBagPocket].cursorPos + 1; + sub_80A48E8(taskId, gBagPocketScrollStates[sCurrentBagPocket].cursorPos, gBagPocketScrollStates[sCurrentBagPocket].cursorPos); + sub_80A73FC(); + PlaySE(SE_SELECT); + sub_80A7590(); + if (sCurrentBagPocket != BAG_POCKET_KEY_ITEMS) + { + gTasks[taskId].func = sub_80A6BE0; + sub_80A7528(6); + // if (sCurrentBagPocket == BAG_POCKET_BERRIES) Can't get it to match this way + if (sCurrentBagPocket + 1 == BAG_POCKET_BERRIES + 1) + sub_80A4DD8(taskId, 6, 9, 7, 3, 3); + else + sub_80A4DD8(taskId, 7, 9, 6, 3, 2); + } + else + { + gTasks[taskId].data[1] = 1; + sub_80A6B64(taskId); + } +} + +bool32 sub_80A6D1C(void) +{ + HideMapNamePopup(); + if (gSaveBlock1.registeredItem != 0) + { + if (CheckBagHasItem(gSaveBlock1.registeredItem, 1) == TRUE) + { + u8 taskId; + + ScriptContext2_Enable(); + FreezeMapObjects(); + sub_80594C0(); + sub_80597F4(); + gScriptItemId = gSaveBlock1.registeredItem; + taskId = CreateTask(ItemId_GetFieldFunc(gSaveBlock1.registeredItem), 8); + gTasks[taskId].data[2] = 1; + return TRUE; + } + gSaveBlock1.registeredItem = 0; + } + ScriptContext1_SetupScript(Event_NoRegisteredItem); + return TRUE; +} + +static void sub_80A6D98(void) +{ + while (1) + { + if (SetupBagMultistep() == TRUE) + { + gUnknown_02038563 = CreateTask(sub_80A50C8, 0); + break; + } + if (sub_80F9344() == TRUE) + break; + } +} + +void sub_80A6DCC(void) +{ + sPopupMenuSelection = 0; + sReturnLocation = RETURN_TO_BATTLE; + SetMainCallback2(sub_80A6D98); +} + +static void sub_80A6DF0(u16 *a) +{ + u8 r6 = (gUnknown_02038564 - 1) * 2; + + MenuDrawTextWindow(7, 9 - r6, 13, 12); + sub_80A4008(a, 8, 10 - r6, 5, r6 + 2); + if (gUnknown_02038564 == 1) + { + MenuPrint(sItemPopupMenuActions[sPopupMenuActionList[0]].text, 8, 10); + } + else + { + MenuPrint(sItemPopupMenuActions[sPopupMenuActionList[0]].text, 8, 8); + MenuPrint(sItemPopupMenuActions[sPopupMenuActionList[1]].text, 8, 10); + } + InitMenu(0, 8, 10 - r6, gUnknown_02038564, 0, 5); + sub_80A7528(2); +} + +static void sub_80A6EB8(u8 taskId) +{ + if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_UP) + { + if (sPopupMenuSelection == 1) + { + PlaySE(SE_SELECT); + sPopupMenuSelection = MoveMenuCursor(-1); + } + } + else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_DOWN) + { + if (sPopupMenuSelection + 1 < gUnknown_02038564) + { + PlaySE(SE_SELECT); + sPopupMenuSelection = MoveMenuCursor(1); + } + } + else if (gMain.newKeys & A_BUTTON) + { + gTasks[taskId].data[10] = 0; + sub_80A48E8(taskId, gBagPocketScrollStates[sCurrentBagPocket].cursorPos, gBagPocketScrollStates[sCurrentBagPocket].cursorPos); + sub_80A4DA4(gBGTilemapBuffers[1]); + sItemPopupMenuActions[sPopupMenuActionList[sPopupMenuSelection]].func(taskId); + } + else if (gMain.newKeys & B_BUTTON) + { + gTasks[taskId].data[10] = 0; + sub_80A48E8(taskId, gBagPocketScrollStates[sCurrentBagPocket].cursorPos, gBagPocketScrollStates[sCurrentBagPocket].cursorPos); + sub_80A4DA4(gBGTilemapBuffers[1]); + sItemPopupMenuActions[5].func(taskId); + } +} + +static const u8 gUnknown_083C1708[] = {4, 5}; +static const u8 gUnknown_083C170A[] = {5, 0}; + +static void sub_80A6FDC(void) +{ + if (ItemId_GetBattleUsage(gScriptItemId) != 0) + { + sPopupMenuActionList = gUnknown_083C1708; + gUnknown_02038564 = 2; + } + else + { + sPopupMenuActionList = gUnknown_083C170A; + gUnknown_02038564 = 1; + } +} + +static void OnItemSelect_Battle(u8 taskId) +{ + sPopupMenuSelection = 0; + sub_80A6FDC(); + gTasks[taskId].data[10] = gBagPocketScrollStates[sCurrentBagPocket].scrollTop + gBagPocketScrollStates[sCurrentBagPocket].cursorPos + 1; + sub_80A48E8(taskId, gBagPocketScrollStates[sCurrentBagPocket].cursorPos, gBagPocketScrollStates[sCurrentBagPocket].cursorPos); + sub_80A73FC(); + sub_80A6DF0(gBGTilemapBuffers[1]); + gTasks[taskId].func = sub_80A6EB8; +} + +void sub_80A7094(u8 taskId) +{ + gTasks[taskId].data[8] = (u32)sub_802E424 >> 16; + gTasks[taskId].data[9] = (u32)sub_802E424; + gTasks[taskId].func = HandleItemMenuPaletteFade; + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); +} + +static void OnBagClose_Battle(u8 taskId) +{ + PlaySE(SE_SELECT); + sub_80A7094(taskId); +} + +static void HandlePopupMenuAction_UseInBattle(u8 taskId) +{ + if (ItemId_GetBattleFunc(gScriptItemId) != NULL) + { + PlaySE(SE_SELECT); + ItemId_GetBattleFunc(gScriptItemId)(taskId); + } +} + +static void sub_80A7124(u8 taskId) +{ + PlaySE(SE_SELECT); + sub_80A7528(0); + sub_80A41D4(taskId); + ItemListMenu_InitMenu(); + sub_80A37C0(taskId); +} + +static void sub_80A7150(void) +{ + while (1) + { + if (SetupBagMultistep() == TRUE) + { + gUnknown_02038563 = CreateTask(sub_80A7230, 0); + gTasks[gUnknown_02038563].data[15] = 0; + break; + } + if (sub_80F9344() == TRUE) + break; + } +} + +void PrepareBagForWallyTutorial(void) +{ + u8 i; + + sPopupMenuSelection = 0; + sCurrentBagPocket = BAG_POCKET_ITEMS; + for (i = 0; i < 5; i++) + { + gBagPocketScrollStates[i].cursorPos = 0; + gBagPocketScrollStates[i].scrollTop = 0; + } + + // Save player's items + memcpy(ewramSavedItemsPocket, gSaveBlock1.bagPocket_Items, sizeof(gSaveBlock1.bagPocket_Items)); + memcpy(ewramSavedPokeballsPocket, gSaveBlock1.bagPocket_PokeBalls, sizeof(gSaveBlock1.bagPocket_PokeBalls)); + + // Add Wally's items to the bag + ClearItemSlots(gSaveBlock1.bagPocket_Items, ARRAY_COUNT(gSaveBlock1.bagPocket_Items)); + ClearItemSlots(gSaveBlock1.bagPocket_PokeBalls, ARRAY_COUNT(gSaveBlock1.bagPocket_PokeBalls)); + AddBagItem(ITEM_POTION, 1); + AddBagItem(ITEM_POKE_BALL, 1); + + sReturnLocation = RETURN_TO_WALLY_BATTLE; + SetMainCallback2(sub_80A7150); +} + +static void sub_80A7230(u8 taskId) +{ + s16 *taskData = gTasks[taskId].data; + + switch (taskData[15]) + { + case 102: + PlaySE(SE_SELECT); + sub_80A4E8C(1, 2); + break; + case 204: + PlaySE(SE_SELECT); + sub_80F98A4(2); + sub_80F98A4(3); + gScriptItemId = ITEM_POKE_BALL; + sPopupMenuActionList = gUnknown_083C1708; + gUnknown_02038564 = 2; + gTasks[taskId].data[10] = gBagPocketScrollStates[sCurrentBagPocket].scrollTop + gBagPocketScrollStates[sCurrentBagPocket].cursorPos + 1; + sub_80A48E8(taskId, gBagPocketScrollStates[sCurrentBagPocket].cursorPos, gBagPocketScrollStates[sCurrentBagPocket].cursorPos); + sub_80A73FC(); + sub_80A6DF0(gBGTilemapBuffers[1]); + break; + case 306: + PlaySE(SE_SELECT); + sub_80A4DA4(gBGTilemapBuffers[1]); + + // Restore player's items + memcpy(gSaveBlock1.bagPocket_Items, ewramSavedItemsPocket, sizeof(gSaveBlock1.bagPocket_Items)); + memcpy(gSaveBlock1.bagPocket_PokeBalls, ewramSavedPokeballsPocket, sizeof(gSaveBlock1.bagPocket_PokeBalls)); + + taskData[8] = (u32)sub_802E424 >> 16; + taskData[9] = (u32)sub_802E424; + gTasks[taskId].func = HandleItemMenuPaletteFade; + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + return; + } + taskData[15]++; +} + +static void ItemListMenu_InitMenu(void) +{ + InitMenu(0, 14, 2, gBagPocketScrollStates[sCurrentBagPocket].cursorMax + 1, gBagPocketScrollStates[sCurrentBagPocket].cursorPos, 0); + CreateBlendedOutlineCursor(16, 0xFFFF, 12, 0x2D9F, 15); + sub_80A73C0(); +} + +static void sub_80A73C0(void) +{ + sub_814AD7C(0x70, gBagPocketScrollStates[sCurrentBagPocket].cursorPos * 16 + 16); +} + +static void sub_80A73F0(void) +{ + sub_814ADC8(); +} + +static void sub_80A73FC(void) +{ + HandleDestroyMenuCursors(); + sub_814AD44(); +} + +static void sub_80A740C(void) +{ + sub_80A75E4(); + sub_80A7768(); + sub_80A7420(); +} + +static void sub_80A7420(void) +{ + struct UnknownStruct2 *unkStruct = &gUnknown_0203853C; + int index; + + switch (unkStruct->unk0) + { + case 3: + unkStruct->unk0 = 2; + break; + case 2: + switch (unkStruct->unk2) + { + case 0: + index = gBagPocketScrollStates[sCurrentBagPocket].scrollTop + gBagPocketScrollStates[sCurrentBagPocket].cursorPos; + ItemListMenu_ChangeDescription(gCurrentBagPocketItemSlots[index].itemId, unkStruct->textLine); + break; + case 1: + sub_80A4A98(gOtherText_SwitchWhichItem, unkStruct->textLine); + break; + case 2: + sub_80A4A98(gOtherText_WhatWillYouDo2, unkStruct->textLine); + break; + case 3: + sub_80A4A98(gOtherText_HowManyToToss, unkStruct->textLine); + break; + case 4: + sub_80A4A98(gOtherText_ThrewAwayItem, unkStruct->textLine); + break; + case 5: + sub_80A4A98(gOtherText_OkayToThrowAwayPrompt, unkStruct->textLine); + break; + case 6: + sub_80A4A98(gOtherText_HowManyToDeposit, unkStruct->textLine); + break; + case 7: + sub_80A4A98(gOtherText_DepositedItems, unkStruct->textLine); + break; + case 8: + sub_80A4A98(gOtherText_NoRoomForItems, unkStruct->textLine); + break; + case 9: + sub_80A4A98(gOtherText_CantStoreSomeoneItem, unkStruct->textLine); + break; + } + unkStruct->textLine++; + if (unkStruct->textLine == 3) + { + unkStruct->unk0 = 0; + sub_80A7918(); + } + break; + } +} + +static void sub_80A751C(void) +{ + gUnknown_0203853C.unk0 = 0; +} + +static void sub_80A7528(u8 a) +{ + gUnknown_0203853C.textLine = 0; + gUnknown_0203853C.unk2 = a; + switch (sub_80A78F4()) + { + case 0: + gUnknown_0203853C.unk0 = 2; + while (gUnknown_0203853C.unk0 != 0) + sub_80A7420(); + break; + case 1: + gUnknown_0203853C.unk0 = 3; + break; + case 2: + gUnknown_0203853C.unk0 = 1; + break; + } +} + +static void sub_80A756C(void) +{ + if (gUnknown_0203853C.unk0 == 2 || gUnknown_0203853C.unk0 == 3) + sub_80A7918(); + gUnknown_0203853C.unk0 = 0; +} + +static void sub_80A7590(void) +{ + MenuZeroFillWindowRect(0, 13, 13, 20); + sub_80A756C(); +} + +static void sub_80A75A8(void) +{ + if (gUnknown_0203853C.unk0 == 2 || gUnknown_0203853C.unk0 == 3) + gUnknown_0203853C.unk0 = 1; +} + +static void sub_80A75C4(void) +{ + switch (gUnknown_0203853C.unk0) + { + case 1: + gUnknown_0203853C.unk0 = 3; + break; + case 0: + sub_80A7918(); + break; + } +} + +static void sub_80A75E4(void) +{ + if (gUnknown_02038540.unk0 == 1 && sub_80A7988() == 0) + { + int r1; + + sub_80A47E8(gUnknown_02038563, gUnknown_02038540.unk1, gUnknown_02038540.unk1, 1); + gUnknown_02038540.unk1++; + if (gUnknown_02038540.unk2 != 0) + r1 = 5; + else + r1 = 7; + if (r1 < gUnknown_02038540.unk1) + { + gUnknown_02038540.unk0 = 0; + sub_80A78E8(); + } + } +} + +static void sub_80A7630(void) +{ + gUnknown_02038540.unk0 = 0; +} + +static void sub_80A763C(void) +{ + struct UnknownStruct3 *r4 = &gUnknown_02038540; + + switch (sub_80A78C4()) + { + case FALSE: + sub_80A48E8(gUnknown_02038563, 0, 7); + break; + case TRUE: + r4->unk0 = 1; + r4->unk1 = 0; + r4->unk2 = 0; + break; + } +} + +static void sub_80A7678(void) +{ + if (gUnknown_02038540.unk0 == 1) + sub_80A78E8(); + gUnknown_02038540.unk0 = 0; +} + +static void sub_80A7694(void) +{ + gUnknown_02038540.unk2 = 1; +} + +static void sub_80A76A0(void) +{ + MenuZeroFillWindowRect(14, 2, 29, 18); + sub_80A7678(); +} + +static bool32 sub_80A76B8(void) +{ + struct UnknownStruct3 *s = &gUnknown_02038540; + + return (s->unk0 == 0); +} + +static bool32 sub_80A76D0(void) +{ + struct UnknownStruct3 *s = &gUnknown_02038540; + + return (s->unk1 > 5); +} + +static void sub_80A76E8(void) +{ + if (gUnknown_02038544.unk0 == 1) + { + DisplayItemMessageOnField( + gUnknown_02038544.unk1, + gUnknown_02038544.unk4, + gUnknown_02038544.unk8, + gUnknown_02038544.unk2); + gUnknown_02038544.unk0 = 0; + } +} + +static void sub_80A770C(void) +{ + gUnknown_02038544.unk0 = 0; +} + +static void DisplayCannotUseItemMessage(int a, const u8 *b, TaskFunc func, int d) +{ + struct UnknownStruct4 *r4 = &gUnknown_02038544; + + switch (sub_80A7924()) + { + case 0: + DisplayItemMessageOnField(a, b, func, d); + break; + case 2: + r4->unk0 = 1; + r4->unk1 = a; + r4->unk4 = b; + r4->unk8 = func; + r4->unk2 = d; + break; + } +} + +static void sub_80A7768(void) +{ + struct UnknownStruct5 *r4 = &gUnknown_02038550; + + if (r4->unk0 == 2) + { + if (r4->unk1 != 0) + { + if (r4->unk2 != 1) + { + const u8 *text = sItemPopupMenuActions[sPopupMenuActionList[r4->unk1 - 1]].text; + int var = r4->unk1 - 1; + + MenuPrint(text, 7, var * 2 + 1 + r4->unk3); + } + else + { + const u8 *text; + int var; + + if (r4->unk1 == 1) + text = sub_80A4B90(gScriptItemId); + else + text = sItemPopupMenuActions[sPopupMenuActionList[r4->unk1 - 1]].text; + var = r4->unk1 - 1; + MenuPrint(text, (var >> 1) * 6 + 1, (var & 1) * 2 + 8); + } + if (r4->unk1 == gUnknown_02038564) + { + r4->unk0 = 0; + sub_80A7970(); + } + } + r4->unk1++; + } +} + +static void sub_80A7828(void) +{ + gUnknown_02038550.unk0 = 0; +} + +static void sub_80A7834(int a, int b) +{ + struct UnknownStruct5 *r4 = &gUnknown_02038550; + + switch (sub_80A7958()) + { + case 1: + r4->unk0 = 2; + r4->unk1 = 0; + r4->unk2 = a; + r4->unk3 = b; + break; + case 2: + r4->unk0 = 1; + r4->unk1 = 0; + r4->unk2 = a; + r4->unk3 = b; + break; + } +} + +static void sub_80A7868(void) +{ + if (gUnknown_02038550.unk0 == 2) + gUnknown_02038550.unk0 = 1; +} + +static void sub_80A7880(void) +{ + switch (gUnknown_02038550.unk0) + { + case 1: + gUnknown_02038550.unk0 = 2; + break; + case 0: + sub_80A7970(); + break; + } +} + +static bool32 sub_80A78A0(void) +{ + struct UnknownStruct5 *r0 = &gUnknown_02038550; + + return (r0->unk0 == 0); +} + +static void sub_80A78B8(void) +{ + gUnknown_02038554.unk0 = 0; +} + +static bool32 sub_80A78C4(void) +{ + bool32 retVal; + + if (gLinkOpen == TRUE) + { + sub_80A7868(); + sub_80A75A8(); + retVal = TRUE; + } + else + { + retVal = FALSE; + } + return retVal; +} + +static void sub_80A78E8(void) +{ + sub_80A7880(); +} + +static int sub_80A78F4(void) +{ + int retVal; + + if (gLinkOpen == TRUE) + { + if (sub_80A76B8() != 0) + retVal = 1; + else + retVal = 2; + } + else + { + retVal = 0; + } + return retVal; +} + +static void sub_80A7918(void) +{ + sub_80A76E8(); +} + +static int sub_80A7924(void) +{ + if (gLinkOpen == TRUE && sub_80A76B8() == 0) + { + if (sub_80A76D0() != 0) + { + sub_80A7678(); + return 0; + } + } + else + { + return 0; + } + sub_80A7694(); + return 2; +} + +static int sub_80A7958(void) +{ + if (sub_80A76B8() == 0) + return 2; + sub_80A75A8(); + return 1; +} + +static void sub_80A7970(void) +{ + sub_80A75C4(); +} + +static void sub_80A797C(void) +{ + gUnknown_02038554.unk0 = 1; +} + +static int sub_80A7988(void) +{ + int val = gUnknown_02038554.unk0; + + gUnknown_02038554.unk0 = 0; + return val; +} + +static const u16 gPalette_83C170C[] = INCBIN_U16("graphics/unknown/83C170C.gbapal"); +static const u8 gSpriteImage_83C172C[] = INCBIN_U8("graphics/unknown_sprites/83C172C.4bpp"); + +const u8 gSpriteImage_UnusedCherry[] = INCBIN_U8("graphics/unused/cherry.4bpp"); +const u16 gSpritePalette_UnusedCherry[] = INCBIN_U16("graphics/unused/cherry.gbapal"); + +//------------------------------------------------------------------------------ +// Bag Sprite +//------------------------------------------------------------------------------ + +static const struct OamData sBagSpriteOamData = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 3, + .tileNum = 0, + .priority = 2, + .paletteNum = 7, + .affineParam = 0, +}; + +static const union AnimCmd sBagSpriteAnimSeq0[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_END, +}; + +static const union AnimCmd sBagSpriteAnimSeq1[] = +{ + ANIMCMD_FRAME(64, 4), + ANIMCMD_END, +}; + +static const union AnimCmd sBagSpriteAnimSeq5[] = +{ + ANIMCMD_FRAME(128, 4), + ANIMCMD_END, +}; + +static const union AnimCmd sBagSpriteAnimSeq2[] = +{ + ANIMCMD_FRAME(192, 4), + ANIMCMD_END, +}; + +static const union AnimCmd sBagSpriteAnimSeq3[] = +{ + ANIMCMD_FRAME(256, 4), + ANIMCMD_END, +}; + +static const union AnimCmd sBagSpriteAnimSeq4[] = +{ + ANIMCMD_FRAME(320, 4), + ANIMCMD_END, +}; + +static const union AnimCmd *const sBagSpriteAnimTable[] = +{ + sBagSpriteAnimSeq0, + sBagSpriteAnimSeq1, + sBagSpriteAnimSeq2, + sBagSpriteAnimSeq3, + sBagSpriteAnimSeq4, + sBagSpriteAnimSeq5, +}; + +static const union AffineAnimCmd sBagSpriteAffineAnimSeq[] = +{ + AFFINEANIMCMD_FRAME(0, 0, -2, 2), + AFFINEANIMCMD_FRAME(0, 0, 2, 4), + AFFINEANIMCMD_FRAME(0, 0, -2, 4), + AFFINEANIMCMD_FRAME(0, 0, 2, 2), + AFFINEANIMCMD_END, +}; + +static const union AffineAnimCmd *const sBagSpriteAffineAnimTable[] = +{ + sBagSpriteAffineAnimSeq, +}; + +static const struct CompressedSpriteSheet sMaleBagSpriteSheet = {gBagMaleTiles, 0x3000, 30000}; +static const struct CompressedSpriteSheet sFemaleBagSpriteSheet = {gBagFemaleTiles, 0x3000, 30000}; +static const struct CompressedSpritePalette sBagSpritePalette = {gBagPalette, 30000}; + +static void sub_80A7998(struct Sprite *sprite) +{ + sprite->animNum = 0; + sprite->data0 = 0; + sprite->data1 = 0; + sprite->data2 = 0; + sprite->data3 = 0; + sprite->data4 = 0; + sprite->callback = sub_80A79B4; +} + +static void sub_80A79B4(struct Sprite *sprite) +{ + if (gUnknown_0203855B != -1) + sub_80A79EC(sprite); + if (gUnknown_0203855C != 0) + sub_80A7A94(sprite); +} + +static void sub_80A79EC(struct Sprite *sprite) +{ + switch (sprite->data3) + { + case 0: + if (gUnknown_0203855B != 6) + { + sprite->animBeginning = TRUE; + sprite->animNum = gUnknown_0203855B; + gUnknown_0203855B = -1; + } + else + { + sprite->animBeginning = TRUE; + sprite->animNum = 0; + sprite->pos1.y -= 4; + sprite->data0 = 4; + sprite->data3 = 1; + sub_80A7AE4(sprite); + } + break; + case 1: + if (sprite->data0 != 0) + { + if (sprite->data1 != 0) + { + sprite->pos1.y++; + sprite->data0--; + } + sprite->data1 = (sprite->data1 + 1) & 1; + } + else + { + gUnknown_0203855B = -1; + sprite->data1 = 0; + sprite->data3 = 0; + } + break; + } +} + +static void sub_80A7A94(struct Sprite *sprite) +{ + switch (sprite->data4) + { + case 0: + sprite->oam.affineMode = 1; + sprite->affineAnims = sBagSpriteAffineAnimTable; + InitSpriteAffineAnim(sprite); + sprite->data4 = 1; + break; + case 1: + sprite->data2++; + if (sprite->data2 == 12) + sub_80A7AE4(sprite); + break; + } +} + +static void sub_80A7AE4(struct Sprite *sprite) +{ + gUnknown_0203855C = 0; + sprite->oam.affineMode = 0; + sprite->data2 = 0; + sprite->data4 = 0; + FreeOamMatrix(sprite->oam.matrixNum); +} + +static const struct SpriteTemplate sBagSpriteTemplate = +{ + .tileTag = 30000, + .paletteTag = 30000, + .oam = &sBagSpriteOamData, + .anims = sBagSpriteAnimTable, + .images = NULL, + .affineAnims = sBagSpriteAffineAnimTable, + .callback = sub_80A7998, +}; + +static void CreateBagSprite(void) +{ + CreateSprite(&sBagSpriteTemplate, 58, 40, 0); +} + +//------------------------------------------------------------------------------ +// Pokeball Sprite +//------------------------------------------------------------------------------ + +static const struct OamData gOamData_83C1CF8 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 4, + .size = 1, + .tileNum = 0, + .priority = 2, + .paletteNum = 8, + .affineParam = 0, +}; + +static const union AffineAnimCmd gSpriteAffineAnim_83C1D00[] = +{ + AFFINEANIMCMD_FRAME(0, 0, 8, 32), + AFFINEANIMCMD_END, +}; + +static const union AffineAnimCmd gSpriteAffineAnim_83C1D10[] = +{ + AFFINEANIMCMD_FRAME(0, 0, -8, 32), + AFFINEANIMCMD_END, +}; + +static const union AffineAnimCmd *const gSpriteAffineAnimTable_83C1D20[] = +{ + gSpriteAffineAnim_83C1D00, + gSpriteAffineAnim_83C1D10, +}; + +static const struct SpriteFrameImage gSpriteImageTable_83C1D28[] = +{ + {gSpriteImage_83C172C, sizeof(gSpriteImage_83C172C)}, +}; + +static const struct SpritePalette sPokeballSpritePalette = {gPalette_83C170C, 8}; + +static void sub_80A7B28(struct Sprite *sprite) +{ + sprite->data3 = 0; + sprite->data0 = 0; + sub_80A7B6C(sprite); + sprite->callback = sub_80A7B6C; +} + +static void sub_80A7B48(struct Sprite *sprite) +{ + sprite->centerToCornerVecX = sprite->data5 - ((sprite->data0 + 1) & 1); + sprite->centerToCornerVecY = sprite->data6 - ((sprite->data0 + 1) & 1); +} + +static void sub_80A7B6C(struct Sprite *sprite) +{ + if (sprite->data7 != 0) + { + switch (sprite->data3) + { + case 0: + sprite->oam.affineMode = 1; + if (sprite->data7 == 1) + sprite->affineAnims = gSpriteAffineAnimTable_83C1D20; + else + sprite->affineAnims = gSpriteAffineAnimTable_83C1D20 + 1; + InitSpriteAffineAnim(sprite); + sprite->data3 = 1; + sprite->data5 = sprite->centerToCornerVecX; + sprite->data6 = sprite->centerToCornerVecY; + sub_80A7B48(sprite); + break; + case 1: + sprite->data0++; + sub_80A7B48(sprite); + if (sprite->data0 == 32) + { + sprite->data0 = 0; + sprite->data3 = 0; + sprite->centerToCornerVecX = sprite->data5; + sprite->centerToCornerVecY = sprite->data6; + FreeOamMatrix(sprite->oam.matrixNum); + sprite->oam.affineMode = 0; + sprite->callback = SpriteCallbackDummy; + } + break; + } + } +} + +static const struct SpriteTemplate sPokeballSpriteTemplate = +{ + .tileTag = 0xFFFF, + .paletteTag = 8, + .oam = &gOamData_83C1CF8, + .anims = sBagSpriteAnimTable, + .images = gSpriteImageTable_83C1D28, + .affineAnims = gSpriteAffineAnimTable_83C1D20, + .callback = sub_80A7B28, +}; + +static void CreateBagPokeballSprite(u8 a) +{ + LoadSpritePalette(&sPokeballSpritePalette); + sPokeballSpriteId = CreateSprite(&sPokeballSpriteTemplate, 16, 88, 0); + gSprites[sPokeballSpriteId].data7 = a; +} + +static void sub_80A7C64(void) +{ + FreeSpritePaletteByTag(8); + FreeOamMatrix(gSprites[sPokeballSpriteId].oam.matrixNum); + DestroySprite(&gSprites[sPokeballSpriteId]); +} + +static const struct OamData sBerrySpriteOamData = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 3, + .tileNum = 0, + .priority = 1, + .paletteNum = 7, + .affineParam = 0, +}; + +static const struct OamData gOamData_83C1D58 = +{ + .y = 0, + .affineMode = 3, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 3, + .tileNum = 0, + .priority = 0, + .paletteNum = 7, + .affineParam = 0, +}; + +static const union AnimCmd sBerrySpriteAnimSeq[] = +{ + ANIMCMD_FRAME(0, 0), + ANIMCMD_END, +}; + +static const union AnimCmd *const sBerrySpriteAnimTable[] = +{ + sBerrySpriteAnimSeq, +}; + +static const struct SpriteFrameImage sBerrySpriteImageTable[] = +{ + {ewramBerryPic, 0x800}, +}; + +static void SpriteCB_BerrySprite(struct Sprite *); +static const struct SpriteTemplate sBerrySpriteTemplate = +{ + .tileTag = 0xFFFF, + .paletteTag = 30020, + .oam = &sBerrySpriteOamData, + .anims = sBerrySpriteAnimTable, + .images = sBerrySpriteImageTable, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_BerrySprite, +}; + +static const union AffineAnimCmd gSpriteAffineAnim_83C1D8C[] = +{ + AFFINEANIMCMD_FRAME(-1, -1, -3, 96), + AFFINEANIMCMD_FRAME(0, 0, 0, 16), + AFFINEANIMCMD_FRAME(-2, -2, -1, 64), + AFFINEANIMCMD_FRAME(-8, 0, 0, 16), + AFFINEANIMCMD_FRAME(0, -8, 0, 16), + AFFINEANIMCMD_FRAME(256, 256, 0, 0), + AFFINEANIMCMD_JUMP(0), +}; + +static const union AffineAnimCmd gSpriteAffineAnim_83C1DC4[] = +{ + AFFINEANIMCMD_FRAME(-1, -1, 3, 96), + AFFINEANIMCMD_FRAME(0, 0, 0, 16), + AFFINEANIMCMD_FRAME(-2, -2, 1, 64), + AFFINEANIMCMD_FRAME(-8, 0, 0, 16), + AFFINEANIMCMD_FRAME(0, -8, 0, 16), + AFFINEANIMCMD_FRAME(256, 256, 0, 0), + AFFINEANIMCMD_JUMP(0), +}; + +static const union AffineAnimCmd *const gSpriteAffineAnimTable_83C1DFC[] = +{ + gSpriteAffineAnim_83C1D8C, + gSpriteAffineAnim_83C1DC4, +}; + +static const struct SpriteTemplate gSpriteTemplate_83C1E04 = +{ + .tileTag = 0xFFFF, + .paletteTag = 30020, + .oam = &gOamData_83C1D58, + .anims = sBerrySpriteAnimTable, + .images = sBerrySpriteImageTable, + .affineAnims = gSpriteAffineAnimTable_83C1DFC, + .callback = SpriteCallbackDummy, +}; + +static const struct {const u8 *lzPic; const u8 *lzPalette;} sBerryGraphicsTable[] = +{ + {gBerryPic_Cheri, gBerryPalette_Cheri}, + {gBerryPic_Chesto, gBerryPalette_Chesto}, + {gBerryPic_Pecha, gBerryPalette_Pecha}, + {gBerryPic_Rawst, gBerryPalette_Rawst}, + {gBerryPic_Aspear, gBerryPalette_Aspear}, + {gBerryPic_Leppa, gBerryPalette_Leppa}, + {gBerryPic_Oran, gBerryPalette_Oran}, + {gBerryPic_Persim, gBerryPalette_Persim}, + {gBerryPic_Lum, gBerryPalette_Lum}, + {gBerryPic_Sitrus, gBerryPalette_Sitrus}, + {gBerryPic_Figy, gBerryPalette_Figy}, + {gBerryPic_Wiki, gBerryPalette_Wiki}, + {gBerryPic_Mago, gBerryPalette_Mago}, + {gBerryPic_Aguav, gBerryPalette_Aguav}, + {gBerryPic_Iapapa, gBerryPalette_Iapapa}, + {gBerryPic_Razz, gBerryPalette_Razz}, + {gBerryPic_Bluk, gBerryPalette_Bluk}, + {gBerryPic_Nanab, gBerryPalette_Nanab}, + {gBerryPic_Wepear, gBerryPalette_Wepear}, + {gBerryPic_Pinap, gBerryPalette_Pinap}, + {gBerryPic_Pomeg, gBerryPalette_Pomeg}, + {gBerryPic_Kelpsy, gBerryPalette_Kelpsy}, + {gBerryPic_Qualot, gBerryPalette_Qualot}, + {gBerryPic_Hondew, gBerryPalette_Hondew}, + {gBerryPic_Grepa, gBerryPalette_Grepa}, + {gBerryPic_Tamato, gBerryPalette_Tamato}, + {gBerryPic_Cornn, gBerryPalette_Cornn}, + {gBerryPic_Magost, gBerryPalette_Magost}, + {gBerryPic_Rabuta, gBerryPalette_Rabuta}, + {gBerryPic_Nomel, gBerryPalette_Nomel}, + {gBerryPic_Spelon, gBerryPalette_Spelon}, + {gBerryPic_Pamtre, gBerryPalette_Pamtre}, + {gBerryPic_Watmel, gBerryPalette_Watmel}, + {gBerryPic_Durin, gBerryPalette_Durin}, + {gBerryPic_Belue, gBerryPalette_Belue}, + {gBerryPic_Liechi, gBerryPalette_Liechi}, + {gBerryPic_Ganlon, gBerryPalette_Ganlon}, + {gBerryPic_Salac, gBerryPalette_Salac}, + {gBerryPic_Petaya, gBerryPalette_Petaya}, + {gBerryPic_Apicot, gBerryPalette_Apicot}, + {gBerryPic_Lansat, gBerryPalette_Lansat}, + {gBerryPic_Starf, gBerryPalette_Starf}, + {gBerryPic_Enigma, gBerryPalette_Enigma}, +}; + +static void DrawBerryPic(const u8 *src, u8 *dst) +{ + u8 i; + u8 j; + + memset(dst, 0, 0x800); + dst += 0x100; + for (i = 0; i < 6; i++) + { + dst += 32; + for (j = 0; j < 6; j++) + { + memcpy(dst, src, 32); + dst += 32; + src += 32; + } + if (i != 5) + dst += 32; + } +} + +static void LoadBerryPic(u8 berryId) +{ + struct SpritePalette spritePal; + + if (berryId == 0x2A && IsEnigmaBerryValid() == TRUE) + { + DrawBerryPic(gSaveBlock1.enigmaBerry.pic, ewramBerryPic); + spritePal.data = gSaveBlock1.enigmaBerry.palette; + spritePal.tag = 0x7544; + LoadSpritePalette(&spritePal); + } + else + { + spritePal.data = (u16 *)sBerryGraphicsTable[berryId].lzPalette; + spritePal.tag = 0x7544; + LoadCompressedObjectPalette((struct CompressedSpritePalette *)&spritePal); + sub_800D238(sBerryGraphicsTable[berryId].lzPic, ewramBerryPicTemp); + DrawBerryPic(ewramBerryPicTemp, ewramBerryPic); + } +} + +u8 CreateBerrySprite(u8 berryId, s16 x, s16 y) +{ + LoadBerryPic(berryId); + return CreateSprite(&sBerrySpriteTemplate, x, y, 0); +} + +static void SpriteCB_BerrySprite(struct Sprite *sprite) +{ + sprite->pos2.y = -gUnknown_030041B4; +} + +void sub_80A7DD4(void) +{ + FreeSpritePaletteByTag(0x7544); + FreeSpritePaletteByTag(8); +} + +u8 sub_80A7DEC(u8 berryId, u8 x, u8 y, bool8 animate) +{ + u8 spriteId; + + FreeSpritePaletteByTag(0x7544); + LoadBerryPic(berryId); + spriteId = CreateSprite(&gSpriteTemplate_83C1E04, x, y, 0); + if (animate == TRUE) + StartSpriteAffineAnim(&gSprites[spriteId], 1); + return spriteId; +} + +const struct CompressedSpriteSheet gUnknown_083C1F74 = {gBerryCheckCircle_Gfx, 2048, 0x2710}; + +const struct CompressedSpritePalette gUnknown_083C1F7C = {gBerryCheck_Pal, 0x2710}; + +static const struct OamData gOamData_83C1F84 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 2, + .tileNum = 0, + .priority = 1, + .paletteNum = 0, + .affineParam = 0, +}; + +static const union AnimCmd gSpriteAnim_83C1F8C[] = +{ + ANIMCMD_FRAME(0, 0), + ANIMCMD_END, +}; + +static const union AnimCmd *const gSpriteAnimTable_83C1F94[] = +{ + gSpriteAnim_83C1F8C, +}; + +static const struct SpriteTemplate gSpriteTemplate_83C1F98 = +{ + .tileTag = 10000, + .paletteTag = 10000, + .oam = &gOamData_83C1F84, + .anims = gSpriteAnimTable_83C1F94, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_BerrySprite, +}; + +u8 sub_80A7E5C(s16 x) +{ + return CreateSprite(&gSpriteTemplate_83C1F98, x, 99, 0); +} diff --git a/src/item_use.c b/src/item_use.c index b906f91ad..1750c1584 100644 --- a/src/item_use.c +++ b/src/item_use.c @@ -55,7 +55,7 @@ extern u16 gBattleTypeFlags; static const u8 gSSTidalBetaString[] = _("この チケットで ふねに のりほうだい\nはやく のってみたいな"); static const u8 gSSTidalBetaString2[] = _("この チケットで ふねに のりほうだい\nはやく のってみたいな"); -static const struct TextStruct gUnknown_083D61DC[2] = +static const u8 *const gUnknown_083D61DC[2] = { gSSTidalBetaString, gSSTidalBetaString2, @@ -768,11 +768,11 @@ void ItemUseOutOfBattle_SSTicket(u8 taskId) if(gTasks[taskId].data[2] == 0) { MenuZeroFillWindowRect(0, 0xD, 0xD, 0x14); - DisplayItemMessageOnField(taskId, (u8 *)gUnknown_083D61DC[ItemId_GetSecondaryId(gScriptItemId)].text, sub_80C9BB8, 1); + DisplayItemMessageOnField(taskId, gUnknown_083D61DC[ItemId_GetSecondaryId(gScriptItemId)], sub_80C9BB8, 1); } else { - DisplayItemMessageOnField(taskId, (u8 *)gUnknown_083D61DC[ItemId_GetSecondaryId(gScriptItemId)].text, sub_80C9BD8, 0); + DisplayItemMessageOnField(taskId, gUnknown_083D61DC[ItemId_GetSecondaryId(gScriptItemId)], sub_80C9BD8, 0); } } diff --git a/src/new_game.c b/src/new_game.c index 33aacd10a..4b6ea1dd2 100644 --- a/src/new_game.c +++ b/src/new_game.c @@ -114,7 +114,7 @@ void sub_8052E4C(void) sub_808C0A0(); ZeroPlayerPartyMons(); ZeroEnemyPartyMons(); - sub_80A3684(); + ResetBagScrollPositions(); } void NewGameInitData(void) diff --git a/src/player_pc.c b/src/player_pc.c index 38e01b92e..b432f260e 100644 --- a/src/player_pc.c +++ b/src/player_pc.c @@ -30,9 +30,6 @@ extern void LoadScrollIndicatorPalette(void); extern void ClearMailStruct(struct MailStruct *); extern u8 sub_807D770(void); extern void sub_808B020(void); -extern void sub_80A4164(u8 *, u16, enum StringConvertMode, u8); -extern void sub_80A418C(u16, enum StringConvertMode, int, int, int); -extern void sub_80A6A30(void); extern void sub_80F944C(void); extern u8 *gPcItemMenuOptionOrder; @@ -100,7 +97,7 @@ static void Mailbox_MoveToBag(u8); static void Mailbox_Give(u8); static void Mailbox_Cancel(u8); -static const struct TextStruct gPCText_OptionDescList[] = +static const u8 *const gPCText_OptionDescList[] = { PCText_TakeOutItems, PCText_StoreItems, @@ -319,7 +316,7 @@ static void InitItemStorageMenu(u8 var) MenuDrawTextWindow(0, 0, 11, 9); PrintMenuItems(1, 1, 4, (struct MenuAction *)gPCText_ItemPCOptionsText); InitMenu(0, 1, 1, 4, var, 10); - ItemStorageMenuPrint(gPCText_OptionDescList[var].text); + ItemStorageMenuPrint(gPCText_OptionDescList[var]); } static void ItemStorageMenuPrint(const u8 *textPtr) @@ -334,13 +331,13 @@ static void ItemStorageMenuProcessInput(u8 var) { PlaySE(SE_SELECT); MoveMenuCursor(-1); - ItemStorageMenuPrint(gPCText_OptionDescList[GetMenuCursorPos()].text); + ItemStorageMenuPrint(gPCText_OptionDescList[GetMenuCursorPos()]); } else if (gMain.newAndRepeatedKeys & DPAD_DOWN) { PlaySE(SE_SELECT); MoveMenuCursor(1); - ItemStorageMenuPrint(gPCText_OptionDescList[GetMenuCursorPos()].text); + ItemStorageMenuPrint(gPCText_OptionDescList[GetMenuCursorPos()]); } else if (gMain.newKeys & A_BUTTON) { diff --git a/src/scrcmd.c b/src/scrcmd.c index a394f2a55..45552f2fa 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -1416,7 +1416,7 @@ bool8 ScrCmd_bufferstd(struct ScriptContext *ctx) { u8 stringVarIndex = ScriptReadByte(ctx); u16 index = VarGet(ScriptReadHalfword(ctx)); - StringCopy(sScriptStringVars[stringVarIndex], gUnknown_083CE048[index].text); + StringCopy(sScriptStringVars[stringVarIndex], gUnknown_083CE048[index]); return FALSE; } diff --git a/src/script.c b/src/script.c index 488a67de1..c27eb22fe 100644 --- a/src/script.c +++ b/src/script.c @@ -34,7 +34,7 @@ void InitScriptContext(struct ScriptContext *ctx, void *cmdTable, void *cmdTable ctx->stack[i] = 0; } -u8 SetupBytecodeScript(struct ScriptContext *ctx, void *ptr) +u8 SetupBytecodeScript(struct ScriptContext *ctx, const u8 *ptr) { ctx->scriptPtr = ptr; ctx->mode = 1; @@ -106,7 +106,7 @@ u8 RunScript(struct ScriptContext *ctx) return 1; } -u8 ScriptPush(struct ScriptContext *ctx, u8 *ptr) +u8 ScriptPush(struct ScriptContext *ctx, const u8 *ptr) { if (ctx->stackDepth + 1 >= 20) { @@ -120,7 +120,7 @@ u8 ScriptPush(struct ScriptContext *ctx, u8 *ptr) } } -u8 *ScriptPop(struct ScriptContext *ctx) +const u8 *ScriptPop(struct ScriptContext *ctx) { if (ctx->stackDepth == 0) return NULL; @@ -202,7 +202,7 @@ bool8 ScriptContext2_RunScript(void) return 1; } -void ScriptContext1_SetupScript(u8 *ptr) +void ScriptContext1_SetupScript(const u8 *ptr) { InitScriptContext(&sScriptContext1, gScriptCmdTable, gScriptCmdTableEnd); SetupBytecodeScript(&sScriptContext1, ptr); @@ -221,7 +221,7 @@ void EnableBothScriptContexts() ScriptContext2_Enable(); } -void ScriptContext2_RunNewScript(u8 *ptr) +void ScriptContext2_RunNewScript(const u8 *ptr) { InitScriptContext(&sScriptContext2, &gScriptCmdTable, &gScriptCmdTableEnd); SetupBytecodeScript(&sScriptContext2, ptr); diff --git a/src/script_menu.c b/src/script_menu.c index e1ad3f467..f4ac55fb9 100644 --- a/src/script_menu.c +++ b/src/script_menu.c @@ -547,7 +547,7 @@ const struct MultichoiceListStruct gMultichoiceLists[] = {(struct MenuAction *)MultichoiceList_72, 5} }; -const struct TextStruct gUnknown_083CE048[] = +const u8 *const gUnknown_083CE048[] = { OtherText_Cool2, OtherText_Beauty3, diff --git a/src/strings.c b/src/strings.c index be1bd94c7..219c5bec1 100644 --- a/src/strings.c +++ b/src/strings.c @@ -197,7 +197,7 @@ const u8 OtherText_TheField[] = _("the field."); const u8 OtherText_TheField2[] = _("the field."); const u8 OtherText_ThePC[] = _("the PC."); -const struct TextStruct gUnknown_0840E740[7] = +const u8 *const gUnknown_0840E740[7] = { OtherText_TheField3, OtherText_TheBattle, @@ -1120,7 +1120,7 @@ const u8 OtherText_TheField[] = _("zum Hauptmenü."); const u8 OtherText_TheField2[] = _("zum Hauptmenü."); const u8 OtherText_ThePC[] = _("zum PC."); -const struct TextStruct gUnknown_0840E740[7] = +const u8 *const gUnknown_0840E740[7] = { OtherText_TheField3, OtherText_TheBattle, @@ -1470,16 +1470,16 @@ void sub_80BEF10(u8 strvaridx, u8 rank) switch (rank) { case NORMAL_RANK: - StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[NORMAL_RANK + 5].text); + StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[NORMAL_RANK + 5]); break; case SUPER_RANK: - StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[SUPER_RANK + 5].text); + StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[SUPER_RANK + 5]); break; case HYPER_RANK: - StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[HYPER_RANK + 5].text); + StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[HYPER_RANK + 5]); break; case MASTER_RANK: - StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[MASTER_RANK + 5].text); + StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[MASTER_RANK + 5]); break; } } @@ -1489,19 +1489,19 @@ void CopyContestCategoryToStringVar(u8 strvaridx, u8 category) switch (category) { case CONTEST_COOL: - StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[CONTEST_COOL].text); + StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[CONTEST_COOL]); break; case CONTEST_BEAUTY: - StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[CONTEST_BEAUTY].text); + StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[CONTEST_BEAUTY]); break; case CONTEST_CUTE: - StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[CONTEST_CUTE].text); + StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[CONTEST_CUTE]); break; case CONTEST_SMART: - StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[CONTEST_SMART].text); + StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[CONTEST_SMART]); break; case CONTEST_TOUGH: - StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[CONTEST_TOUGH].text); + StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[CONTEST_TOUGH]); break; } } diff --git a/sym_bss.txt b/sym_bss.txt index 315bad6bb..99dcd1392 100644 --- a/sym_bss.txt +++ b/sym_bss.txt @@ -93,15 +93,7 @@ gUnknown_030006DC: @ 30006DC .space 0x4 .include "src/field_effect.o" - -gUnknown_03000700: @ 3000700 - .space 0x1 - -gUnknown_03000701: @ 3000701 - .space 0x3 - -gUnknown_03000704: @ 3000704 - .space 0x4 + .include "src/item_menu.o" gUnknown_03000708: @ 3000708 .space 0x10 diff --git a/sym_common.txt b/sym_common.txt index dfd114c8c..dc1e62f13 100644 --- a/sym_common.txt +++ b/sym_common.txt @@ -234,10 +234,10 @@ gUnknown_03005CF0: @ 3005CF0 gUnknown_03005D00: @ 3005D00 .space 0x10 -gUnknown_03005D10: @ 3005D10 +gBagPocketScrollStates: @ 3005D10 .space 0x14 -gUnknown_03005D24: @ 3005D24 +gCurrentBagPocketItemSlots: @ 3005D24 .space 0x4 gUnknown_03005D28: @ 3005D28 diff --git a/sym_ewram.txt b/sym_ewram.txt index 435ce33bb..14d328e35 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -605,59 +605,9 @@ gUnknown_020384F8: @ 20384F8 .space 0x40 .include "src/map_name_popup.o" + .include "src/item_menu.o" - .align 2 -gUnknown_0203853C: @ 203853C - .space 0x4 - -gUnknown_02038540: @ 2038540 - .space 0x4 - -gUnknown_02038544: @ 2038544 - .space 0xC - -gUnknown_02038550: @ 2038550 - .space 0x4 - -gUnknown_02038554: @ 2038554 - .space 0x4 - -gUnknown_02038558: @ 2038558 - .space 0x1 - -gUnknown_02038559: @ 2038559 - .space 0x1 - -gUnknown_0203855A: @ 203855A - .space 0x1 - -gUnknown_0203855B: @ 203855B - .space 0x1 - -gUnknown_0203855C: @ 203855C - .space 0x2 - -gScriptItemId: @ 203855E - .space 0x2 - -gUnknown_02038560: @ 2038560 - .space 0x1 - -gUnknown_02038561: @ 2038561 - .space 0x1 - -gUnknown_02038562: @ 2038562 - .space 0x1 - -gUnknown_02038563: @ 2038563 - .space 0x1 - -gUnknown_02038564: @ 2038564 - .space 0x4 - -gUnknown_02038568: @ 2038568 - .space 0x4 - + .align 2 gUnknown_0203856C: @ 203856C .space 0x4 diff --git a/tools/aif2pcm/Makefile b/tools/aif2pcm/Makefile index 611c0e2df..967930c59 100644 --- a/tools/aif2pcm/Makefile +++ b/tools/aif2pcm/Makefile @@ -1,6 +1,6 @@ CC = gcc -CFLAGS = -Wall -Wextra -Wno-switch -std=c11 -O2 -s +CFLAGS = -Wall -Wextra -Wno-switch -Werror -std=c11 -O2 -s LIBS = -lm diff --git a/tools/bin2c/Makefile b/tools/bin2c/Makefile index bd5f60490..4cc23a25a 100644 --- a/tools/bin2c/Makefile +++ b/tools/bin2c/Makefile @@ -1,6 +1,6 @@ CC = gcc -CFLAGS = -Wall -Wextra -std=c11 -O2 -s +CFLAGS = -Wall -Wextra -Werror -std=c11 -O2 -s .PHONY: clean diff --git a/tools/gbagfx/Makefile b/tools/gbagfx/Makefile index 9a5dee1cc..d791dabb5 100644 --- a/tools/gbagfx/Makefile +++ b/tools/gbagfx/Makefile @@ -1,6 +1,6 @@ CC = gcc -CFLAGS = -Wall -Wextra -std=c11 -O2 -s -DPNG_SKIP_SETJMP_CHECK +CFLAGS = -Wall -Wextra -Werror -std=c11 -O2 -s -DPNG_SKIP_SETJMP_CHECK LIBS = -lpng -lz diff --git a/tools/gbagfx/main.c b/tools/gbagfx/main.c index 0624201df..37d3441fe 100644 --- a/tools/gbagfx/main.c +++ b/tools/gbagfx/main.c @@ -59,8 +59,7 @@ void HandleGbaToPngCommand(char *inputPath, char *outputPath, int argc, char **a { char *inputFileExtension = GetFileExtension(inputPath); int bitDepth = inputFileExtension[0] - '0'; - char *paletteFilePath; - bool hasPalette = false; + char *paletteFilePath = NULL; bool hasTransparency = false; int width = 1; @@ -76,8 +75,6 @@ void HandleGbaToPngCommand(char *inputPath, char *outputPath, int argc, char **a i++; paletteFilePath = argv[i]; - - hasPalette = true; } else if (strcmp(option, "-object") == 0) { @@ -102,7 +99,7 @@ void HandleGbaToPngCommand(char *inputPath, char *outputPath, int argc, char **a } } - ConvertGbaToPng(inputPath, outputPath, width, bitDepth, hasPalette ? paletteFilePath : NULL, hasTransparency); + ConvertGbaToPng(inputPath, outputPath, width, bitDepth, paletteFilePath, hasTransparency); } void HandlePngToGbaCommand(char *inputPath, char *outputPath, int argc, char **argv) diff --git a/tools/mid2agb/Makefile b/tools/mid2agb/Makefile index accd81882..f27f2cad4 100644 --- a/tools/mid2agb/Makefile +++ b/tools/mid2agb/Makefile @@ -1,6 +1,6 @@ CXX := g++ -CXXFLAGS := -std=c++11 -O2 -s -Wall -Wno-switch +CXXFLAGS := -std=c++11 -O2 -s -Wall -Wno-switch -Werror SRCS := agb.cpp error.cpp main.cpp midi.cpp tables.cpp diff --git a/tools/preproc/Makefile b/tools/preproc/Makefile index 1f4c58e21..ec4a5f365 100644 --- a/tools/preproc/Makefile +++ b/tools/preproc/Makefile @@ -1,6 +1,6 @@ CXX := g++ -CXXFLAGS := -std=c++11 -O2 -s -Wall -Wno-switch +CXXFLAGS := -std=c++11 -O2 -s -Wall -Wno-switch -Werror SRCS := asm_file.cpp c_file.cpp charmap.cpp preproc.cpp string_parser.cpp \ utf8.cpp diff --git a/tools/ramscrgen/Makefile b/tools/ramscrgen/Makefile index 6c4ca28b6..cc6d458ba 100644 --- a/tools/ramscrgen/Makefile +++ b/tools/ramscrgen/Makefile @@ -1,6 +1,6 @@ CXX := g++ -CXXFLAGS := -std=c++11 -O2 -s -Wall -Wno-switch +CXXFLAGS := -std=c++11 -O2 -s -Wall -Wno-switch -Werror SRCS := main.cpp sym_file.cpp elf.cpp diff --git a/tools/rsfont/Makefile b/tools/rsfont/Makefile index 544954bfc..a78beca50 100644 --- a/tools/rsfont/Makefile +++ b/tools/rsfont/Makefile @@ -1,6 +1,6 @@ CC = gcc -CFLAGS = -Wall -Wextra -std=c11 -O2 -s -DPNG_SKIP_SETJMP_CHECK +CFLAGS = -Wall -Wextra -Werror -std=c11 -O2 -s -DPNG_SKIP_SETJMP_CHECK LIBS = -lpng -lz diff --git a/tools/scaninc/Makefile b/tools/scaninc/Makefile index d33dee6d2..3e1c031a8 100644 --- a/tools/scaninc/Makefile +++ b/tools/scaninc/Makefile @@ -1,6 +1,6 @@ CXX = g++ -CXXFLAGS = -Wall -std=c++11 -O2 -s +CXXFLAGS = -Wall -Werror -std=c++11 -O2 -s SRCS = scaninc.cpp c_file.cpp asm_file.cpp |