diff options
Diffstat (limited to 'asm/script_pokemon_util_80A0058.s')
-rw-r--r-- | asm/script_pokemon_util_80A0058.s | 535 |
1 files changed, 0 insertions, 535 deletions
diff --git a/asm/script_pokemon_util_80A0058.s b/asm/script_pokemon_util_80A0058.s deleted file mode 100644 index 6f451b90a..000000000 --- a/asm/script_pokemon_util_80A0058.s +++ /dev/null @@ -1,535 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sp000_heal_pokemon -sp000_heal_pokemon: @ 80A0058 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - movs r0, 0 - mov r8, r0 - ldr r0, _080A0114 @ =gPlayerPartyCount - ldrb r0, [r0] - cmp r8, r0 - bcs _080A0104 - ldr r1, _080A0118 @ =gPlayerParty - mov r10, r1 - mov r6, sp -_080A0076: - movs r0, 0x64 - mov r4, r8 - muls r4, r0 - add r4, r10 - adds r0, r4, 0 - movs r1, 0x3A - bl GetMonData - lsls r1, r0, 16 - strb r0, [r6] - lsrs r1, 24 - strb r1, [r6, 0x1] - adds r0, r4, 0 - movs r1, 0x39 - mov r2, sp - bl SetMonData - adds r0, r4, 0 - movs r1, 0x15 - bl GetMonData - lsls r0, 24 - lsrs r7, r0, 24 - movs r5, 0 - movs r1, 0x1 - add r1, r8 - mov r9, r1 -_080A00AC: - adds r1, r5, 0 - adds r1, 0xD - adds r0, r4, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - adds r1, r7, 0 - adds r2, r5, 0 - bl CalculatePPWithBonus - strb r0, [r6] - adds r1, r5, 0 - adds r1, 0x11 - adds r0, r4, 0 - mov r2, sp - bl SetMonData - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3 - bls _080A00AC - movs r0, 0 - strb r0, [r6] - strb r0, [r6, 0x1] - strb r0, [r6, 0x2] - strb r0, [r6, 0x3] - movs r1, 0x64 - mov r0, r8 - muls r0, r1 - add r0, r10 - movs r1, 0x37 - mov r2, sp - bl SetMonData - mov r1, r9 - lsls r0, r1, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, _080A0114 @ =gPlayerPartyCount - ldrb r0, [r0] - cmp r8, r0 - bcc _080A0076 -_080A0104: - 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 -_080A0114: .4byte gPlayerPartyCount -_080A0118: .4byte gPlayerParty - thumb_func_end sp000_heal_pokemon - - thumb_func_start ScriptGiveMon -ScriptGiveMon: @ 80A011C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x14 - adds r6, r0, 0 - adds r4, r1, 0 - adds r5, r2, 0 - lsls r6, 16 - lsrs r6, 16 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 16 - lsrs r0, r5, 16 - mov r8, r0 - movs r0, 0x64 - bl AllocZeroed - adds r7, r0, 0 - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - str r0, [sp, 0x8] - str r0, [sp, 0xC] - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r4, 0 - movs r3, 0x20 - bl CreateMon - add r0, sp, 0x10 - mov r1, r8 - strb r1, [r0] - lsrs r5, 24 - strb r5, [r0, 0x1] - adds r0, r7, 0 - movs r1, 0xC - add r2, sp, 0x10 - bl SetMonData - adds r0, r7, 0 - bl GiveMonToPlayer - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r6, 0 - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r5, r0, 16 - cmp r4, 0x1 - bgt _080A0196 - cmp r4, 0 - blt _080A0196 - adds r0, r5, 0 - movs r1, 0x2 - bl GetSetPokedexFlag - adds r0, r5, 0 - movs r1, 0x3 - bl GetSetPokedexFlag -_080A0196: - adds r0, r7, 0 - bl Free - adds r0, r4, 0 - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end ScriptGiveMon - - thumb_func_start ScriptGiveEgg -ScriptGiveEgg: @ 80A01AC - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - movs r0, 0x64 - bl AllocZeroed - adds r5, r0, 0 - adds r1, r4, 0 - movs r2, 0x1 - bl CreateEgg - movs r1, 0x1 - mov r0, sp - strb r1, [r0] - adds r0, r5, 0 - movs r1, 0x2D - mov r2, sp - bl SetMonData - adds r0, r5, 0 - bl GiveMonToPlayer - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - bl Free - adds r0, r4, 0 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end ScriptGiveEgg - - thumb_func_start CheckForAlivePartyMons -CheckForAlivePartyMons: @ 80A01F4 - push {lr} - bl GetMonsStateToDoubles - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x1 - beq _080A0210 - cmp r1, 0x1 - bgt _080A020C - cmp r1, 0 - beq _080A0210 - b _080A0214 -_080A020C: - cmp r1, 0x2 - bne _080A0214 -_080A0210: - ldr r0, _080A0218 @ =gSpecialVar_Result - strh r1, [r0] -_080A0214: - pop {r0} - bx r0 - .align 2, 0 -_080A0218: .4byte gSpecialVar_Result - thumb_func_end CheckForAlivePartyMons - - thumb_func_start CheckPartyMonHasHeldItem -CheckPartyMonHasHeldItem: @ 80A021C - push {r4-r7,lr} - lsls r0, 16 - lsrs r6, r0, 16 - movs r5, 0 - movs r7, 0xCE - lsls r7, 1 -_080A0228: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _080A0258 @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - beq _080A025C - cmp r0, r7 - beq _080A025C - adds r0, r4, 0 - movs r1, 0xC - bl GetMonData - cmp r0, r6 - bne _080A025C - movs r0, 0x1 - b _080A0264 - .align 2, 0 -_080A0258: .4byte gPlayerParty -_080A025C: - adds r5, 0x1 - cmp r5, 0x5 - ble _080A0228 - movs r0, 0 -_080A0264: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end CheckPartyMonHasHeldItem - - thumb_func_start GetNameOfEnigmaBerryInPlayerParty -GetNameOfEnigmaBerryInPlayerParty: @ 80A026C - push {r4,lr} - movs r0, 0xAF - bl CheckPartyMonHasHeldItem - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - cmp r4, 0x1 - bne _080A028E - movs r0, 0xAF - bl ItemIdToBerryType - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080A0298 @ =gStringVar1 - bl GetBerryNameByBerryType -_080A028E: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080A0298: .4byte gStringVar1 - thumb_func_end GetNameOfEnigmaBerryInPlayerParty - - thumb_func_start CreateScriptedWildMon -CreateScriptedWildMon: @ 80A029C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x14 - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 24 - lsrs r5, 24 - lsls r7, r2, 16 - lsrs r6, r7, 16 - bl ZeroEnemyPartyMons - ldr r0, _080A02F8 @ =gEnemyParty - mov r8, r0 - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - str r0, [sp, 0x8] - str r0, [sp, 0xC] - mov r0, r8 - adds r1, r4, 0 - adds r2, r5, 0 - movs r3, 0x20 - bl CreateMon - cmp r6, 0 - beq _080A02EA - add r0, sp, 0x10 - strb r6, [r0] - adds r1, r0, 0 - lsrs r0, r7, 24 - strb r0, [r1, 0x1] - mov r0, r8 - movs r1, 0xC - add r2, sp, 0x10 - bl SetMonData -_080A02EA: - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A02F8: .4byte gEnemyParty - thumb_func_end CreateScriptedWildMon - - thumb_func_start ScriptSetMonMoveSlot -ScriptSetMonMoveSlot: @ 80A02FC - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 16 - lsrs r4, r1, 16 - lsls r2, 24 - lsrs r2, 24 - cmp r3, 0x6 - bls _080A0318 - ldr r0, _080A032C @ =gPlayerPartyCount - ldrb r0, [r0] - subs r0, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 -_080A0318: - movs r0, 0x64 - muls r0, r3 - ldr r1, _080A0330 @ =gPlayerParty - adds r0, r1 - adds r1, r4, 0 - bl SetMonMoveSlot - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A032C: .4byte gPlayerPartyCount -_080A0330: .4byte gPlayerParty - thumb_func_end ScriptSetMonMoveSlot - - thumb_func_start sub_80A0334 -sub_80A0334: @ 80A0334 - push {lr} - ldr r1, _080A0348 @ =gMain - ldr r0, _080A034C @ =sub_80A0350 - str r0, [r1, 0x8] - movs r0, 0 - bl InitChooseHalfPartyForBattle - pop {r0} - bx r0 - .align 2, 0 -_080A0348: .4byte gMain -_080A034C: .4byte sub_80A0350 - thumb_func_end sub_80A0334 - - thumb_func_start sub_80A0350 -sub_80A0350: @ 80A0350 - push {lr} - ldr r0, _080A0360 @ =gSelectedOrderFromParty - ldrb r1, [r0] - cmp r1, 0 - bne _080A0368 - ldr r0, _080A0364 @ =gSpecialVar_Result - strh r1, [r0] - b _080A036E - .align 2, 0 -_080A0360: .4byte gSelectedOrderFromParty -_080A0364: .4byte gSpecialVar_Result -_080A0368: - ldr r1, _080A0378 @ =gSpecialVar_Result - movs r0, 0x1 - strh r0, [r1] -_080A036E: - ldr r0, _080A037C @ =CB2_ReturnToFieldContinueScriptPlayMapMusic - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_080A0378: .4byte gSpecialVar_Result -_080A037C: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic - thumb_func_end sub_80A0350 - - thumb_func_start ChooseBattleTowerPlayerParty -ChooseBattleTowerPlayerParty: @ 80A0380 - push {lr} - ldr r1, _080A0394 @ =gMain - ldr r0, _080A0398 @ =sub_80A039C - str r0, [r1, 0x8] - movs r0, 0x1 - bl InitChooseHalfPartyForBattle - pop {r0} - bx r0 - .align 2, 0 -_080A0394: .4byte gMain -_080A0398: .4byte sub_80A039C - thumb_func_end ChooseBattleTowerPlayerParty - - thumb_func_start sub_80A039C -sub_80A039C: @ 80A039C - push {r4,lr} - ldr r0, _080A03B0 @ =gSelectedOrderFromParty - ldrb r4, [r0] - cmp r4, 0 - bne _080A03B8 - bl LoadPlayerParty - ldr r0, _080A03B4 @ =gSpecialVar_Result - strh r4, [r0] - b _080A03C2 - .align 2, 0 -_080A03B0: .4byte gSelectedOrderFromParty -_080A03B4: .4byte gSpecialVar_Result -_080A03B8: - bl ReducePlayerPartyToThree - ldr r1, _080A03D0 @ =gSpecialVar_Result - movs r0, 0x1 - strh r0, [r1] -_080A03C2: - ldr r0, _080A03D4 @ =CB2_ReturnToFieldContinueScriptPlayMapMusic - bl SetMainCallback2 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A03D0: .4byte gSpecialVar_Result -_080A03D4: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic - thumb_func_end sub_80A039C - - thumb_func_start ReducePlayerPartyToThree -ReducePlayerPartyToThree: @ 80A03D8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - movs r0, 0x96 - lsls r0, 1 - bl AllocZeroed - adds r7, r0, 0 - movs r5, 0 - movs r0, 0x64 - mov r8, r0 - ldr r6, _080A0454 @ =gPlayerParty - adds r4, r7, 0 -_080A03F4: - ldr r0, _080A0458 @ =gSelectedOrderFromParty - adds r1, r5, r0 - ldrb r0, [r1] - cmp r0, 0 - beq _080A040E - subs r0, 0x1 - mov r1, r8 - muls r1, r0 - adds r1, r6 - adds r0, r4, 0 - movs r2, 0x64 - bl memcpy -_080A040E: - adds r4, 0x64 - adds r5, 0x1 - cmp r5, 0x2 - ble _080A03F4 - movs r0, 0 - str r0, [sp] - ldr r4, _080A0454 @ =gPlayerParty - ldr r2, _080A045C @ =0x05000096 - mov r0, sp - adds r1, r4, 0 - bl CpuSet - adds r5, r7, 0 - adds r6, r7, 0 - adds r6, 0xC8 -_080A042C: - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x64 - bl memcpy - adds r5, 0x64 - adds r4, 0x64 - cmp r5, r6 - ble _080A042C - bl CalculatePlayerPartyCount - adds r0, r7, 0 - bl Free - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A0454: .4byte gPlayerParty -_080A0458: .4byte gSelectedOrderFromParty -_080A045C: .4byte 0x05000096 - thumb_func_end ReducePlayerPartyToThree - - .align 2, 0 @ Don't pad with nop. |