diff options
author | ProjectRevoTPP <projectrevotpp@hotmail.com> | 2018-10-08 18:51:14 -0400 |
---|---|---|
committer | ProjectRevoTPP <projectrevotpp@hotmail.com> | 2018-10-08 18:51:14 -0400 |
commit | 967b4e6612eb7f81dfe44989c2e2c79000c7d6f3 (patch) | |
tree | def9e67fe788da2963c41585c309b61eb109247d /asm | |
parent | 02fb51cbe7f6016d23d01d58dcbe8f4b3786bc5e (diff) | |
parent | 10fff9c6f2d29899952d1751d3de827e7e98bb60 (diff) |
merge and nonmatching PokemonUseItemEffects2
Diffstat (limited to 'asm')
-rw-r--r-- | asm/menews_jisan.s | 326 | ||||
-rw-r--r-- | asm/pokemon_3.s | 997 |
2 files changed, 0 insertions, 1323 deletions
diff --git a/asm/menews_jisan.s b/asm/menews_jisan.s deleted file mode 100644 index abd5e44f4..000000000 --- a/asm/menews_jisan.s +++ /dev/null @@ -1,326 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8146C30 -sub_8146C30: @ 8146C30 - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_8143D94 - adds r5, r0, 0 - movs r0, 0x3 - adds r1, r4, 0 - ands r1, r0 - ldrb r2, [r5] - movs r0, 0x4 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5] - cmp r4, 0x2 - bhi _08146C56 - cmp r4, 0x1 - bcs _08146C5C - b _08146C80 -_08146C56: - cmp r4, 0x3 - beq _08146C6E - b _08146C80 -_08146C5C: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xF - bl __umodsi3 - adds r0, 0x10 - b _08146C7E -_08146C6E: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xF - bl __umodsi3 - adds r0, 0x1 -_08146C7E: - strb r0, [r5, 0x1] -_08146C80: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8146C30 - - thumb_func_start sub_8146C88 -sub_8146C88: @ 8146C88 - push {lr} - bl sub_8143D94 - movs r1, 0 - strb r1, [r0] - strb r1, [r0, 0x1] - ldr r0, _08146CA0 @ =0x00004028 - bl VarSet - pop {r0} - bx r0 - .align 2, 0 -_08146CA0: .4byte 0x00004028 - thumb_func_end sub_8146C88 - - thumb_func_start sub_8146CA4 -sub_8146CA4: @ 8146CA4 - push {r4,lr} - ldr r0, _08146CE0 @ =0x00004028 - bl sub_806E454 - adds r4, r0, 0 - bl sub_8143D94 - adds r2, r0, 0 - ldr r0, [r2] - lsls r0, 24 - lsrs r0, 29 - cmp r0, 0x4 - bls _08146CD8 - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - lsls r0, 16 - ldr r1, _08146CE4 @ =0x01f30000 - cmp r0, r1 - bls _08146CD8 - ldrb r0, [r2] - movs r1, 0x1F - ands r1, r0 - strb r1, [r2] - movs r0, 0 - strh r0, [r4] -_08146CD8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08146CE0: .4byte 0x00004028 -_08146CE4: .4byte 0x01f30000 - thumb_func_end sub_8146CA4 - - thumb_func_start sub_8146CE8 -sub_8146CE8: @ 8146CE8 - push {r4-r6,lr} - ldr r6, _08146D08 @ =gUnknown_20370D0 - bl sub_8143D94 - adds r4, r0, 0 - bl sub_806E2BC - cmp r0, 0 - beq _08146D02 - bl sub_8143E1C - cmp r0, 0 - bne _08146D0C -_08146D02: - movs r0, 0 - b _08146D6E - .align 2, 0 -_08146D08: .4byte gUnknown_20370D0 -_08146D0C: - adds r0, r4, 0 - bl sub_8146E0C - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x6 - bhi _08146D6C - lsls r0, r5, 2 - ldr r1, _08146D24 @ =_08146D28 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08146D24: .4byte _08146D28 - .align 2, 0 -_08146D28: - .4byte _08146D6C - .4byte _08146D44 - .4byte _08146D44 - .4byte _08146D6C - .4byte _08146D4E - .4byte _08146D5E - .4byte _08146D6C -_08146D44: - adds r0, r4, 0 - bl sub_8146D74 - strh r0, [r6] - b _08146D6C -_08146D4E: - adds r0, r4, 0 - bl sub_8146D74 - strh r0, [r6] - adds r0, r4, 0 - bl sub_8146DA0 - b _08146D6C -_08146D5E: - adds r0, r4, 0 - bl sub_8146D74 - strh r0, [r6] - adds r0, r4, 0 - bl sub_8146D94 -_08146D6C: - adds r0, r5, 0 -_08146D6E: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8146CE8 - - thumb_func_start sub_8146D74 -sub_8146D74: @ 8146D74 - push {r4,lr} - ldrb r2, [r0] - movs r1, 0x4 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - ldrb r4, [r0, 0x1] - adds r4, 0x84 - movs r1, 0 - strb r1, [r0, 0x1] - bl sub_8146DD8 - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8146D74 - - thumb_func_start sub_8146D94 -sub_8146D94: @ 8146D94 - ldrb r2, [r0] - movs r1, 0x1D - negs r1, r1 - ands r1, r2 - strb r1, [r0] - bx lr - thumb_func_end sub_8146D94 - - thumb_func_start sub_8146DA0 -sub_8146DA0: @ 8146DA0 - push {r4,lr} - adds r3, r0, 0 - ldr r0, [r3] - lsls r0, 27 - lsrs r0, 29 - adds r0, 0x1 - movs r1, 0x7 - ands r0, r1 - lsls r0, 2 - ldrb r1, [r3] - movs r4, 0x1D - negs r4, r4 - adds r2, r4, 0 - ands r2, r1 - orrs r2, r0 - strb r2, [r3] - ldr r0, [r3] - lsls r0, 27 - lsrs r0, 29 - cmp r0, 0x4 - bls _08146DD2 - ands r2, r4 - movs r0, 0x10 - orrs r2, r0 - strb r2, [r3] -_08146DD2: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8146DA0 - - thumb_func_start sub_8146DD8 -sub_8146DD8: @ 8146DD8 - push {r4,lr} - adds r3, r0, 0 - ldr r0, [r3] - lsls r0, 24 - lsrs r0, 29 - adds r0, 0x1 - lsls r0, 5 - ldrb r1, [r3] - movs r4, 0x1F - adds r2, r4, 0 - ands r2, r1 - orrs r2, r0 - strb r2, [r3] - ldr r0, [r3] - lsls r0, 24 - lsrs r0, 29 - cmp r0, 0x5 - bls _08146E04 - ands r2, r4 - movs r0, 0xA0 - orrs r2, r0 - strb r2, [r3] -_08146E04: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8146DD8 - - thumb_func_start sub_8146E0C -sub_8146E0C: @ 8146E0C - push {lr} - adds r2, r0, 0 - ldrb r1, [r2] - movs r0, 0xE0 - ands r0, r1 - cmp r0, 0xA0 - bne _08146E1E - movs r0, 0x6 - b _08146E66 -_08146E1E: - ldr r1, [r2] - lsls r0, r1, 30 - lsrs r0, 30 - cmp r0, 0x1 - beq _08146E40 - cmp r0, 0x1 - bgt _08146E32 - cmp r0, 0 - beq _08146E3C - b _08146E58 -_08146E32: - cmp r0, 0x2 - beq _08146E44 - cmp r0, 0x3 - beq _08146E48 - b _08146E58 -_08146E3C: - movs r0, 0x3 - b _08146E66 -_08146E40: - movs r0, 0x1 - b _08146E66 -_08146E44: - movs r0, 0x2 - b _08146E66 -_08146E48: - lsls r0, r1, 27 - lsrs r0, 29 - cmp r0, 0x2 - bhi _08146E54 - movs r0, 0x4 - b _08146E66 -_08146E54: - movs r0, 0x5 - b _08146E66 -_08146E58: - ldr r0, _08146E6C @ =gUnknown_8468C5C "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/menews_jisan.c" - ldr r1, _08146E70 @ =0x0000017f - ldr r2, _08146E74 @ =gUnknown_8468C94 "0" - movs r3, 0x1 - bl AGBAssert - movs r0, 0 -_08146E66: - pop {r1} - bx r1 - .align 2, 0 -_08146E6C: .4byte gUnknown_8468C5C -_08146E70: .4byte 0x0000017f -_08146E74: .4byte gUnknown_8468C94 - thumb_func_end sub_8146E0C - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokemon_3.s b/asm/pokemon_3.s index 9d7d4dff0..6df2e64ad 100644 --- a/asm/pokemon_3.s +++ b/asm/pokemon_3.s @@ -5,1003 +5,6 @@ .text - thumb_func_start PokemonUseItemEffects2 -PokemonUseItemEffects2: @ 8042414 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - mov r8, r0 - lsls r1, 16 - lsrs r1, 16 - str r1, [sp] - lsls r2, 24 - lsrs r2, 24 - str r2, [sp, 0x4] - lsls r3, 24 - lsrs r3, 24 - str r3, [sp, 0x8] - movs r0, 0x1 - str r0, [sp, 0x10] - movs r1, 0x6 - mov r10, r1 - movs r2, 0 - str r2, [sp, 0x18] - movs r0, 0x4 - str r0, [sp, 0x1C] - mov r0, r8 - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xAF - beq _08042458 - bl ItemId_GetHoldEffect -_08042458: - ldr r1, _080424B0 @ =gPotentialItemEffectBattler - ldr r0, _080424B4 @ =gBattlerInMenuId - ldrb r2, [r0] - strb r2, [r1] - ldr r0, _080424B8 @ =gMain - ldr r1, _080424BC @ =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _080424F8 - ldr r0, _080424C0 @ =gActiveBattler - strb r2, [r0] - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - negs r1, r0 - orrs r1, r0 - lsrs r1, 31 - str r1, [sp, 0xC] - ldr r0, _080424C4 @ =gBattlersCount - ldr r4, [sp] - subs r4, 0xD - ldrb r0, [r0] - cmp r1, r0 - bge _08042504 - ldr r2, _080424C8 @ =gBattlerPartyIndexes - lsls r0, r1, 1 - adds r0, r2 - ldrh r3, [r0] - ldr r1, [sp, 0x4] - lsls r0, r1, 16 - lsrs r1, r0, 16 - adds r5, r0, 0 - cmp r3, r1 - bne _080424CC - ldr r2, [sp, 0xC] - str r2, [sp, 0x1C] - b _08042504 - .align 2, 0 -_080424B0: .4byte gPotentialItemEffectBattler -_080424B4: .4byte gBattlerInMenuId -_080424B8: .4byte gMain -_080424BC: .4byte 0x00000439 -_080424C0: .4byte gActiveBattler -_080424C4: .4byte gBattlersCount -_080424C8: .4byte gBattlerPartyIndexes -_080424CC: - ldr r0, [sp, 0xC] - adds r0, 0x2 - str r0, [sp, 0xC] - ldr r0, _080424F4 @ =gBattlersCount - ldr r1, [sp, 0xC] - ldrb r0, [r0] - cmp r1, r0 - bge _08042504 - lsls r0, r1, 1 - adds r0, r2 - ldrh r1, [r0] - lsrs r0, r5, 16 - cmp r1, r0 - bne _080424CC - ldr r2, [sp, 0xC] - lsls r0, r2, 24 - lsrs r0, 24 - str r0, [sp, 0x1C] - b _08042504 - .align 2, 0 -_080424F4: .4byte gBattlersCount -_080424F8: - ldr r0, _08042520 @ =gActiveBattler - strb r1, [r0] - movs r0, 0x4 - str r0, [sp, 0x1C] - ldr r4, [sp] - subs r4, 0xD -_08042504: - lsls r0, r4, 16 - lsrs r0, 16 - cmp r0, 0xA5 - bhi _08042578 - ldr r1, _08042524 @ =gItemEffectTable - lsls r0, r4, 2 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - bne _08042528 - ldr r1, [sp] - cmp r1, 0xAF - beq _0804252E - b _08042578 - .align 2, 0 -_08042520: .4byte gActiveBattler -_08042524: .4byte gItemEffectTable -_08042528: - ldr r2, [sp] - cmp r2, 0xAF - bne _0804257C -_0804252E: - ldr r0, _08042550 @ =gMain - ldr r1, _08042554 @ =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08042560 - ldr r0, _08042558 @ =gActiveBattler - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - ldr r1, _0804255C @ =gEnigmaBerries+0x8 - adds r0, r1 - b _0804257C - .align 2, 0 -_08042550: .4byte gMain -_08042554: .4byte 0x00000439 -_08042558: .4byte gActiveBattler -_0804255C: .4byte gEnigmaBerries+0x8 -_08042560: - ldr r0, _0804256C @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, _08042570 @ =0x00003108 - adds r2, r0, r2 - str r2, [sp, 0x14] - b _0804257E - .align 2, 0 -_0804256C: .4byte gSaveBlock1Ptr -_08042570: .4byte 0x00003108 -_08042574: - movs r0, 0 - b _08042BD8 -_08042578: - movs r0, 0x1 - b _08042BD8 -_0804257C: - str r0, [sp, 0x14] -_0804257E: - movs r0, 0 - str r0, [sp, 0xC] -_08042582: - ldr r1, [sp, 0xC] - cmp r1, 0x5 - bls _0804258A - b _08042BCA -_0804258A: - lsls r0, r1, 2 - ldr r1, _08042594 @ =_08042598 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08042594: .4byte _08042598 - .align 2, 0 -_08042598: - .4byte _080425B0 - .4byte _0804264C - .4byte _080426A8 - .4byte _08042708 - .4byte _08042850 - .4byte _08042A6A -_080425B0: - ldr r0, [sp, 0x14] - ldr r1, [sp, 0xC] - adds r2, r0, r1 - ldrb r1, [r2] - movs r0, 0x80 - ands r0, r1 - adds r5, r2, 0 - cmp r0, 0 - beq _080425F4 - ldr r0, _0804263C @ =gMain - ldr r2, _08042640 @ =0x00000439 - adds r0, r2 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080425F4 - ldr r0, [sp, 0x1C] - cmp r0, 0x4 - beq _080425F4 - ldr r1, _08042644 @ =gBattleMons - movs r0, 0x58 - ldr r2, [sp, 0x1C] - muls r0, r2 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0xF0 - lsls r1, 12 - ands r0, r1 - cmp r0, 0 - beq _080425F4 - movs r0, 0 - str r0, [sp, 0x10] -_080425F4: - ldrb r1, [r5] - movs r0, 0x30 - ands r0, r1 - cmp r0, 0 - beq _0804261C - ldr r1, _08042644 @ =gBattleMons - ldr r0, _08042648 @ =gActiveBattler - ldrb r2, [r0] - movs r0, 0x58 - muls r0, r2 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 13 - ands r0, r1 - cmp r0, 0 - bne _0804261C - movs r1, 0 - str r1, [sp, 0x10] -_0804261C: - ldrb r1, [r5] - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - bne _08042628 - b _08042BCA -_08042628: - ldr r2, _08042644 @ =gBattleMons - ldr r0, _08042648 @ =gActiveBattler - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrb r0, [r0, 0x19] - lsls r0, 24 - asrs r0, 24 - b _080426F2 - .align 2, 0 -_0804263C: .4byte gMain -_08042640: .4byte 0x00000439 -_08042644: .4byte gBattleMons -_08042648: .4byte gActiveBattler -_0804264C: - ldr r0, [sp, 0x14] - ldr r1, [sp, 0xC] - adds r2, r0, r1 - ldrb r1, [r2] - movs r0, 0xF0 - ands r0, r1 - adds r5, r2, 0 - cmp r0, 0 - beq _08042678 - ldr r2, _080426A0 @ =gBattleMons - ldr r0, _080426A4 @ =gActiveBattler - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrb r0, [r0, 0x1A] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0xB - bgt _08042678 - movs r2, 0 - str r2, [sp, 0x10] -_08042678: - ldrb r1, [r5] - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - bne _08042684 - b _08042BCA -_08042684: - ldr r2, _080426A0 @ =gBattleMons - ldr r0, _080426A4 @ =gActiveBattler - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrb r0, [r0, 0x1B] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0xB - ble _0804269C - b _08042BCA -_0804269C: - b _08042832 - .align 2, 0 -_080426A0: .4byte gBattleMons -_080426A4: .4byte gActiveBattler -_080426A8: - ldr r1, [sp, 0x14] - ldr r0, [sp, 0xC] - adds r2, r1, r0 - ldrb r1, [r2] - movs r0, 0xF0 - ands r0, r1 - adds r5, r2, 0 - cmp r0, 0 - beq _080426D4 - ldr r2, _08042700 @ =gBattleMons - ldr r0, _08042704 @ =gActiveBattler - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrb r0, [r0, 0x1E] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0xB - bgt _080426D4 - movs r1, 0 - str r1, [sp, 0x10] -_080426D4: - ldrb r1, [r5] - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - bne _080426E0 - b _08042BCA -_080426E0: - ldr r2, _08042700 @ =gBattleMons - ldr r0, _08042704 @ =gActiveBattler - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrb r0, [r0, 0x1C] - lsls r0, 24 - asrs r0, 24 -_080426F2: - cmp r0, 0xB - ble _080426F8 - b _08042BCA -_080426F8: - movs r2, 0 - str r2, [sp, 0x10] - b _08042BCA - .align 2, 0 -_08042700: .4byte gBattleMons -_08042704: .4byte gActiveBattler -_08042708: - ldr r0, [sp, 0x14] - ldr r1, [sp, 0xC] - adds r2, r0, r1 - ldrb r1, [r2] - movs r0, 0x80 - ands r0, r1 - adds r5, r2, 0 - cmp r0, 0 - beq _0804273A - ldr r4, _08042838 @ =gSideTimers - ldr r0, _0804283C @ =gActiveBattler - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r0, [r1, 0x4] - cmp r0, 0 - bne _0804273A - movs r2, 0 - str r2, [sp, 0x10] -_0804273A: - ldrb r1, [r5] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08042756 - mov r0, r8 - movs r1, 0x38 - movs r2, 0 - bl GetMonData - cmp r0, 0x64 - beq _08042756 - movs r0, 0 - str r0, [sp, 0x10] -_08042756: - ldrb r1, [r5] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _08042776 - mov r0, r8 - ldr r1, [sp, 0x4] - movs r2, 0x7 - ldr r3, [sp, 0x1C] - bl sub_8042BE8 - lsls r0, 24 - cmp r0, 0 - beq _08042776 - movs r1, 0 - str r1, [sp, 0x10] -_08042776: - ldrb r1, [r5] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08042796 - ldr r2, _08042840 @ =0x00000f88 - mov r0, r8 - ldr r1, [sp, 0x4] - ldr r3, [sp, 0x1C] - bl sub_8042BE8 - lsls r0, 24 - cmp r0, 0 - beq _08042796 - movs r2, 0 - str r2, [sp, 0x10] -_08042796: - ldrb r1, [r5] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080427B6 - mov r0, r8 - ldr r1, [sp, 0x4] - movs r2, 0x10 - ldr r3, [sp, 0x1C] - bl sub_8042BE8 - lsls r0, 24 - cmp r0, 0 - beq _080427B6 - movs r0, 0 - str r0, [sp, 0x10] -_080427B6: - ldrb r1, [r5] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080427D6 - mov r0, r8 - ldr r1, [sp, 0x4] - movs r2, 0x20 - ldr r3, [sp, 0x1C] - bl sub_8042BE8 - lsls r0, 24 - cmp r0, 0 - beq _080427D6 - movs r1, 0 - str r1, [sp, 0x10] -_080427D6: - ldrb r1, [r5] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080427F6 - mov r0, r8 - ldr r1, [sp, 0x4] - movs r2, 0x40 - ldr r3, [sp, 0x1C] - bl sub_8042BE8 - lsls r0, 24 - cmp r0, 0 - beq _080427F6 - movs r2, 0 - str r2, [sp, 0x10] -_080427F6: - ldrb r1, [r5] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08042802 - b _08042BCA -_08042802: - ldr r0, _08042844 @ =gMain - ldr r1, _08042848 @ =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _08042814 - b _08042BCA -_08042814: - ldr r2, [sp, 0x1C] - cmp r2, 0x4 - bne _0804281C - b _08042BCA -_0804281C: - ldr r1, _0804284C @ =gBattleMons - movs r0, 0x58 - muls r0, r2 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x7 - ands r0, r1 - cmp r0, 0 - bne _08042832 - b _08042BCA -_08042832: - movs r0, 0 - str r0, [sp, 0x10] - b _08042BCA - .align 2, 0 -_08042838: .4byte gSideTimers -_0804283C: .4byte gActiveBattler -_08042840: .4byte 0x00000f88 -_08042844: .4byte gMain -_08042848: .4byte 0x00000439 -_0804284C: .4byte gBattleMons -_08042850: - ldr r1, [sp, 0x14] - ldr r2, [sp, 0xC] - adds r0, r1, r2 - ldrb r7, [r0] - movs r0, 0x20 - ands r0, r7 - cmp r0, 0 - beq _080428B6 - movs r0, 0xDF - ands r7, r0 - mov r0, r8 - movs r1, 0x15 - movs r2, 0 - bl GetMonData - adds r5, r0, 0 - ldr r0, _080428DC @ =gUnknown_825DEA1 - ldr r1, [sp, 0x8] - adds r0, r1, r0 - ldrb r0, [r0] - ands r5, r0 - lsls r0, r1, 1 - lsrs r5, r0 - adds r1, 0xD - mov r0, r8 - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, r8 - movs r1, 0x15 - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - ldr r2, [sp, 0x8] - bl CalculatePPWithBonus - lsls r0, 24 - lsrs r0, 24 - cmp r5, 0x2 - bhi _080428B6 - cmp r0, 0x4 - bls _080428B6 - movs r2, 0 - str r2, [sp, 0x10] -_080428B6: - movs r0, 0 - mov r9, r0 - cmp r7, 0 - bne _080428C0 - b _08042BCA -_080428C0: - movs r0, 0x1 - ands r0, r7 - cmp r0, 0 - bne _080428CA - b _08042A5C -_080428CA: - mov r1, r9 - cmp r1, 0x7 - bls _080428D2 - b _08042A5C -_080428D2: - lsls r0, r1, 2 - ldr r1, _080428E0 @ =_080428E4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080428DC: .4byte gUnknown_825DEA1 -_080428E0: .4byte _080428E4 - .align 2, 0 -_080428E4: - .4byte _08042904 - .4byte _08042904 - .4byte _08042934 - .4byte _08042996 - .4byte _08042A5C - .4byte _08042A5C - .4byte _08042A5C - .4byte _08042A4A -_08042904: - mov r0, r8 - bl GetMonEVCount - lsls r0, 16 - ldr r1, _0804292C @ =0x01fd0000 - cmp r0, r1 - bls _08042914 - b _08042578 -_08042914: - ldr r0, _08042930 @ =sGetMonDataEVConstants - add r0, r9 - ldrb r1, [r0] - mov r0, r8 - movs r2, 0 - bl GetMonData - adds r5, r0, 0 - cmp r5, 0x63 - bls _0804292A - b _08042A5C -_0804292A: - b _08042A3A - .align 2, 0 -_0804292C: .4byte 0x01fd0000 -_08042930: .4byte sGetMonDataEVConstants -_08042934: - movs r0, 0x10 - ands r0, r7 - cmp r0, 0 - beq _08042952 - mov r0, r8 - movs r1, 0x39 - movs r2, 0 - bl GetMonData - cmp r0, 0 - beq _08042968 - mov r0, r10 - adds r0, 0x1 - lsls r0, 24 - b _080429F4 -_08042952: - mov r0, r8 - movs r1, 0x39 - movs r2, 0 - bl GetMonData - cmp r0, 0 - bne _08042968 - mov r0, r10 - adds r0, 0x1 - lsls r0, 24 - b _080429F4 -_08042968: - mov r0, r8 - movs r1, 0x3A - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - mov r0, r8 - movs r1, 0x39 - movs r2, 0 - bl GetMonData - cmp r4, r0 - beq _08042986 - movs r0, 0 - str r0, [sp, 0x10] -_08042986: - mov r0, r10 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - movs r0, 0xEF - ands r7, r0 - b _08042A5C -_08042996: - movs r0, 0x2 - ands r0, r7 - cmp r0, 0 - bne _080429FA - movs r6, 0 - movs r1, 0x1 - add r10, r1 -_080429A4: - adds r1, r6, 0 - adds r1, 0x11 - mov r0, r8 - movs r2, 0 - bl GetMonData - adds r5, r0, 0 - adds r1, r6, 0 - adds r1, 0xD - mov r0, r8 - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, r8 - movs r1, 0x15 - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r2, r6, 24 - lsrs r2, 24 - adds r0, r4, 0 - bl CalculatePPWithBonus - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - beq _080429EA - movs r2, 0 - str r2, [sp, 0x10] -_080429EA: - adds r6, 0x1 - cmp r6, 0x3 - ble _080429A4 - mov r1, r10 - lsls r0, r1, 24 -_080429F4: - lsrs r0, 24 - mov r10, r0 - b _08042A5C -_080429FA: - ldr r1, [sp, 0x8] - adds r1, 0x11 - mov r0, r8 - movs r2, 0 - bl GetMonData - adds r5, r0, 0 - ldr r1, [sp, 0x8] - adds r1, 0xD - mov r0, r8 - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, r8 - movs r1, 0x15 - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - ldr r2, [sp, 0x8] - bl CalculatePPWithBonus - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - beq _08042A5C -_08042A3A: - mov r0, r10 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - movs r2, 0 - str r2, [sp, 0x10] - b _08042A5C -_08042A4A: - mov r0, r8 - movs r1, 0x2 - ldr r2, [sp] - bl GetEvolutionTargetSpecies - lsls r0, 16 - cmp r0, 0 - beq _08042A5C - b _08042574 -_08042A5C: - movs r0, 0x1 - add r9, r0 - lsrs r7, 1 - cmp r7, 0 - beq _08042A68 - b _080428C0 -_08042A68: - b _08042BCA -_08042A6A: - ldr r1, [sp, 0x14] - ldr r2, [sp, 0xC] - adds r0, r1, r2 - ldrb r7, [r0] - movs r0, 0 - mov r9, r0 - cmp r7, 0 - bne _08042A7C - b _08042BCA -_08042A7C: - movs r0, 0x1 - ands r0, r7 - cmp r0, 0 - bne _08042A86 - b _08042BBE -_08042A86: - mov r1, r9 - cmp r1, 0x7 - bls _08042A8E - b _08042BBE -_08042A8E: - lsls r0, r1, 2 - ldr r1, _08042A98 @ =_08042A9C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08042A98: .4byte _08042A9C - .align 2, 0 -_08042A9C: - .4byte _08042ABC - .4byte _08042ABC - .4byte _08042ABC - .4byte _08042ABC - .4byte _08042AF4 - .4byte _08042B4C - .4byte _08042B68 - .4byte _08042B92 -_08042ABC: - mov r0, r8 - bl GetMonEVCount - lsls r0, 16 - ldr r1, _08042AEC @ =0x01fd0000 - cmp r0, r1 - bls _08042ACC - b _08042578 -_08042ACC: - ldr r0, _08042AF0 @ =sGetMonDataEVConstants - mov r1, r9 - adds r1, 0x2 - adds r1, r0 - ldrb r1, [r1] - mov r0, r8 - movs r2, 0 - bl GetMonData - adds r5, r0, 0 - cmp r5, 0x63 - bhi _08042BBE - movs r2, 0 - str r2, [sp, 0x10] - b _08042BB4 - .align 2, 0 -_08042AEC: .4byte 0x01fd0000 -_08042AF0: .4byte sGetMonDataEVConstants -_08042AF4: - mov r0, r8 - movs r1, 0x15 - movs r2, 0 - bl GetMonData - adds r5, r0, 0 - ldr r0, _08042B48 @ =gUnknown_825DEA1 - ldr r1, [sp, 0x8] - adds r0, r1, r0 - ldrb r0, [r0] - ands r5, r0 - lsls r0, r1, 1 - lsrs r5, r0 - adds r1, 0xD - mov r0, r8 - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, r8 - movs r1, 0x15 - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - ldr r2, [sp, 0x8] - bl CalculatePPWithBonus - lsls r0, 24 - lsrs r6, r0, 24 - cmp r5, 0x2 - bhi _08042BBE - cmp r6, 0x4 - ble _08042BBE - movs r2, 0 - str r2, [sp, 0x10] - b _08042BBE - .align 2, 0 -_08042B48: .4byte gUnknown_825DEA1 -_08042B4C: - mov r0, r8 - movs r1, 0x20 - movs r2, 0 - bl GetMonData - cmp r0, 0x63 - bhi _08042BB4 - ldr r0, [sp, 0x10] - cmp r0, 0 - bne _08042BB4 - ldr r1, [sp, 0x18] - cmp r1, 0 - bne _08042BB4 - b _08042BAC -_08042B68: - mov r0, r8 - movs r1, 0x20 - movs r2, 0 - bl GetMonData - cmp r0, 0x63 - bls _08042BB4 - mov r0, r8 - movs r1, 0x20 - movs r2, 0 - bl GetMonData - cmp r0, 0xC7 - bhi _08042BB4 - ldr r2, [sp, 0x10] - cmp r2, 0 - bne _08042BB4 - ldr r0, [sp, 0x18] - cmp r0, 0 - bne _08042BB4 - b _08042BAC -_08042B92: - mov r0, r8 - movs r1, 0x20 - movs r2, 0 - bl GetMonData - cmp r0, 0xC7 - bls _08042BB4 - ldr r1, [sp, 0x10] - cmp r1, 0 - bne _08042BB4 - ldr r2, [sp, 0x18] - cmp r2, 0 - bne _08042BB4 -_08042BAC: - ldr r0, [sp, 0x14] - add r0, r10 - ldrb r0, [r0] - str r0, [sp, 0x18] -_08042BB4: - mov r0, r10 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 -_08042BBE: - movs r0, 0x1 - add r9, r0 - lsrs r7, 1 - cmp r7, 0 - beq _08042BCA - b _08042A7C -_08042BCA: - ldr r1, [sp, 0xC] - adds r1, 0x1 - str r1, [sp, 0xC] - cmp r1, 0x5 - bgt _08042BD6 - b _08042582 -_08042BD6: - ldr r0, [sp, 0x10] -_08042BD8: - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end PokemonUseItemEffects2 - thumb_func_start sub_8042BE8 sub_8042BE8: @ 8042BE8 push {r4,lr} |