diff options
137 files changed, 10194 insertions, 18043 deletions
diff --git a/asm/battle_anim_815A0D4.s b/asm/battle_anim_815A0D4.s deleted file mode 100644 index 84f7a7883..000000000 --- a/asm/battle_anim_815A0D4.s +++ /dev/null @@ -1,12488 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_815A0D4 -sub_815A0D4: @ 815A0D4 - push {lr} - adds r2, r0, 0 - ldr r1, =gBattleAnimArgs - ldrh r0, [r1] - ldrh r3, [r2, 0x20] - adds r0, r3 - strh r0, [r2, 0x20] - ldrh r0, [r1, 0x2] - ldrh r3, [r2, 0x22] - adds r0, r3 - strh r0, [r2, 0x22] - movs r3, 0x6 - ldrsh r0, [r1, r3] - cmp r0, 0 - bne _0815A0FC - ldrh r0, [r1, 0x4] - b _0815A100 - .pool -_0815A0FC: - ldrh r0, [r1, 0x4] - negs r0, r0 -_0815A100: - strh r0, [r2, 0x2E] - ldrh r0, [r1, 0x8] - strh r0, [r2, 0x30] - ldr r0, =sub_815A114 - str r0, [r2, 0x1C] - pop {r0} - bx r0 - .pool - thumb_func_end sub_815A0D4 - - thumb_func_start sub_815A114 -sub_815A114: @ 815A114 - push {lr} - adds r3, r0, 0 - movs r1, 0x30 - ldrsh r0, [r3, r1] - cmp r0, 0 - ble _0815A154 - ldrh r1, [r3, 0x32] - lsls r0, r1, 16 - asrs r0, 24 - strh r0, [r3, 0x24] - ldrh r0, [r3, 0x2E] - adds r1, r0 - strh r1, [r3, 0x32] - movs r0, 0x3E - adds r0, r3 - mov r12, r0 - ldrb r2, [r0] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - ldrh r0, [r3, 0x30] - subs r0, 0x1 - strh r0, [r3, 0x30] - b _0815A15A -_0815A154: - adds r0, r3, 0 - bl DestroyAnimSprite -_0815A15A: - pop {r0} - bx r0 - thumb_func_end sub_815A114 - - thumb_func_start sub_815A160 -sub_815A160: @ 815A160 - push {r4-r6,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r6, =gBattleAnimTarget - ldrb r0, [r6] - movs r1, 0x2 - bl GetBattlerSpriteCoord - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 8 - movs r0, 0x80 - lsls r0, 12 - adds r4, r0 - asrs r4, 16 - ldrb r0, [r6] - movs r1, 0x3 - bl GetBattlerSpriteCoord - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 8 - movs r0, 0x80 - lsls r0, 12 - adds r1, r0 - asrs r1, 16 - adds r0, r4, 0 - movs r2, 0 - bl sub_807521C - adds r0, r5, 0 - bl DestroyAnimVisualTask - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815A160 - - thumb_func_start sub_815A1B0 -sub_815A1B0: @ 815A1B0 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x5A - strh r0, [r4, 0x2E] - ldr r0, =WaitAnimForDuration - str r0, [r4, 0x1C] - movs r0, 0x7 - strh r0, [r4, 0x30] - ldr r1, =sub_815A1F4 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - movs r1, 0xFD - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - ldrh r0, [r4, 0x30] - movs r1, 0x10 - subs r1, r0 - lsls r1, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815A1B0 - - thumb_func_start sub_815A1F4 -sub_815A1F4: @ 815A1F4 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x30] - movs r1, 0x10 - subs r1, r0 - lsls r1, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - ldrh r0, [r4, 0x30] - subs r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - cmp r0, 0 - bge _0815A228 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, =sub_815A234 - str r0, [r4, 0x1C] -_0815A228: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815A1F4 - - thumb_func_start sub_815A234 -sub_815A234: @ 815A234 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - adds r0, r4, 0 - bl DestroyAnimSprite - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_815A234 - - thumb_func_start sub_815A254 -sub_815A254: @ 815A254 - push {r4-r7,lr} - sub sp, 0x4 - adds r5, r0, 0 - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - adds r7, r0, 0 - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - adds r0, r5, 0 - movs r1, 0x1 - bl sub_80A6980 - ldrh r0, [r5, 0x20] - subs r0, r7 - lsls r0, 16 - asrs r0, 16 - ldrh r1, [r5, 0x22] - subs r1, r6 - lsls r1, 16 - asrs r1, 16 - bl ArcTan2Neg - lsls r0, 16 - movs r1, 0xC0 - lsls r1, 23 - adds r0, r1 - lsrs r4, r0, 16 - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _0815A2B2 - movs r1, 0x80 - lsls r1, 7 - adds r0, r4, r1 - lsls r0, 16 - lsrs r4, r0, 16 -_0815A2B2: - movs r3, 0x80 - lsls r3, 1 - str r4, [sp] - adds r0, r5, 0 - movs r1, 0 - adds r2, r3, 0 - bl TrySetSpriteRotScale - ldr r0, =gBattleAnimArgs - ldrh r0, [r0, 0x4] - strh r0, [r5, 0x2E] - strh r7, [r5, 0x32] - strh r6, [r5, 0x36] - ldr r0, =StartAnimLinearTranslation - str r0, [r5, 0x1C] - ldr r1, =DestroyAnimSprite - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815A254 - - thumb_func_start sub_815A2F0 -sub_815A2F0: @ 815A2F0 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0xFD - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - movs r1, 0x80 - lsls r1, 5 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x4 - strh r0, [r4, 0x2E] - ldr r0, =sub_815A31C - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815A2F0 - - thumb_func_start sub_815A31C -sub_815A31C: @ 815A31C - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - movs r1, 0x10 - subs r1, r0 - lsls r1, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0x30 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0815A342 - ldrh r0, [r4, 0x2E] - subs r0, 0x1 - b _0815A346 -_0815A342: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 -_0815A346: - strh r0, [r4, 0x2E] - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0xF - beq _0815A354 - cmp r0, 0x4 - bne _0815A35C -_0815A354: - ldrh r0, [r4, 0x30] - movs r1, 0x1 - eors r0, r1 - strh r0, [r4, 0x30] -_0815A35C: - ldrh r0, [r4, 0x32] - adds r1, r0, 0x1 - strh r1, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x46 - ble _0815A3A0 - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - movs r0, 0 - strh r0, [r4, 0x32] - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - subs r2, 0x12 - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - ldr r0, =sub_815A3AC - str r0, [r4, 0x1C] -_0815A3A0: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815A31C - - thumb_func_start sub_815A3AC -sub_815A3AC: @ 815A3AC - push {lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x32] - adds r1, r0, 0x1 - strh r1, [r3, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x9 - ble _0815A3E8 - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - subs r2, 0x12 - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - adds r0, r3, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0815A3E8 - ldr r0, =sub_815A3F0 - str r0, [r3, 0x1C] -_0815A3E8: - pop {r0} - bx r0 - .pool - thumb_func_end sub_815A3AC - - thumb_func_start sub_815A3F0 -sub_815A3F0: @ 815A3F0 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0x6 - bhi _0815A448 - lsls r0, 2 - ldr r1, =_0815A40C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0815A40C: - .4byte _0815A428 - .4byte _0815A428 - .4byte _0815A432 - .4byte _0815A432 - .4byte _0815A440 - .4byte _0815A440 - .4byte _0815A448 -_0815A428: - movs r1, 0 - movs r0, 0x1 - strh r0, [r4, 0x24] - strh r1, [r4, 0x26] - b _0815A450 -_0815A432: - ldr r0, =0x0000ffff - strh r0, [r4, 0x24] - movs r0, 0 - b _0815A44E - .pool -_0815A440: - movs r0, 0 - strh r0, [r4, 0x24] - movs r0, 0x1 - b _0815A44E -_0815A448: - movs r0, 0 - strh r0, [r4, 0x24] - ldr r0, =0x0000ffff -_0815A44E: - strh r0, [r4, 0x26] -_0815A450: - ldrh r0, [r4, 0x34] - adds r0, 0x1 - movs r2, 0 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _0815A462 - strh r2, [r4, 0x34] -_0815A462: - ldrh r0, [r4, 0x36] - adds r1, r0, 0x1 - strh r1, [r4, 0x36] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xF - ble _0815A48C - movs r0, 0x10 - strh r0, [r4, 0x2E] - strh r2, [r4, 0x30] - movs r1, 0xFD - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - ldrh r1, [r4, 0x2E] - movs r0, 0x52 - bl SetGpuReg - ldr r0, =sub_815A49C - str r0, [r4, 0x1C] -_0815A48C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815A3F0 - - thumb_func_start sub_815A49C -sub_815A49C: @ 815A49C - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - movs r1, 0x10 - subs r1, r0 - lsls r1, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - ldrh r0, [r4, 0x30] - adds r1, r0, 0x1 - strh r1, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _0815A4CC - ldrh r0, [r4, 0x2E] - subs r0, 0x1 - movs r1, 0 - strh r0, [r4, 0x2E] - strh r1, [r4, 0x30] -_0815A4CC: - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0815A4E0 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_0815A4E0: - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bge _0815A4FE - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - adds r0, r4, 0 - bl DestroyAnimSprite -_0815A4FE: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_815A49C - - thumb_func_start sub_815A504 -sub_815A504: @ 815A504 - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, =sub_815A52C - str r0, [r1] - ldr r1, =gAnimVisualTaskCount - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] - bx lr - .pool - thumb_func_end sub_815A504 - - thumb_func_start sub_815A52C -sub_815A52C: @ 815A52C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_80A6D94 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r7, =gTasks - lsls r5, r4, 2 - adds r1, r5, r4 - lsls r1, 3 - adds r1, r7 - ldrh r0, [r1, 0x12] - adds r0, 0x1 - strh r0, [r1, 0x12] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bne _0815A59C - ldr r0, =gPlttBufferFaded - lsls r2, r6, 4 - adds r1, r2, 0 - adds r1, 0xB - lsls r1, 1 - adds r1, r0 - ldrh r3, [r1] - mov r8, r3 - movs r3, 0xA - mov r9, r7 - adds r7, r5, 0 - mov r12, r0 - adds r5, r2, 0 - lsls r0, r6, 5 - add r0, r12 - adds r2, r0, 0 - adds r2, 0x14 -_0815A57A: - ldrh r0, [r2] - strh r0, [r1] - subs r2, 0x2 - subs r1, 0x2 - subs r3, 0x1 - cmp r3, 0 - bgt _0815A57A - adds r0, r5, 0x1 - lsls r0, 1 - add r0, r12 - movs r1, 0 - mov r2, r8 - strh r2, [r0] - adds r0, r7, r4 - lsls r0, 3 - add r0, r9 - strh r1, [r0, 0x12] -_0815A59C: - ldr r0, =gBattleAnimArgs - ldrh r1, [r0, 0xE] - ldr r0, =0x0000ffff - cmp r1, r0 - bne _0815A5AC - adds r0, r4, 0 - bl DestroyTask -_0815A5AC: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815A52C - - thumb_func_start sub_815A5C8 -sub_815A5C8: @ 815A5C8 - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, =sub_815A5F0 - str r0, [r1] - ldr r1, =gAnimVisualTaskCount - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] - bx lr - .pool - thumb_func_end sub_815A5C8 - - thumb_func_start sub_815A5F0 -sub_815A5F0: @ 815A5F0 - 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 - bl sub_80A6D94 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r5, =gTasks - mov r0, r8 - lsls r3, r0, 2 - adds r1, r3, r0 - lsls r1, 3 - adds r1, r5 - ldrh r0, [r1, 0x12] - adds r0, 0x1 - strh r0, [r1, 0x12] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bne _0815A692 - ldr r0, =gPlttBufferFaded - lsls r2, r7, 4 - adds r1, r2, 0 - adds r1, 0xB - lsls r1, 1 - adds r1, r0 - ldrh r6, [r1] - movs r4, 0xA - mov r10, r3 - mov r9, r0 - adds r5, r2, 0 - ldr r2, =gPlttBufferUnfaded - mov r12, r2 - lsls r0, r7, 5 - add r0, r9 - adds r3, r0, 0 - adds r3, 0x14 -_0815A644: - ldrh r0, [r3] - strh r0, [r1] - subs r3, 0x2 - subs r1, 0x2 - subs r4, 0x1 - cmp r4, 0 - bgt _0815A644 - adds r0, r5, 0x1 - lsls r0, 1 - add r0, r9 - strh r6, [r0] - adds r1, r5, 0 - adds r1, 0xB - lsls r1, 1 - add r1, r12 - ldrh r6, [r1] - movs r4, 0xA - lsls r0, r7, 5 - add r0, r12 - adds r2, r0, 0 - adds r2, 0x14 -_0815A66E: - ldrh r0, [r2] - strh r0, [r1] - subs r2, 0x2 - subs r1, 0x2 - subs r4, 0x1 - cmp r4, 0 - bgt _0815A66E - adds r0, r5, 0x1 - lsls r0, 1 - add r0, r12 - movs r1, 0 - strh r6, [r0] - mov r0, r10 - add r0, r8 - lsls r0, 3 - ldr r2, =gTasks - adds r0, r2 - strh r1, [r0, 0x12] -_0815A692: - ldr r0, =gBattleAnimArgs - ldrh r1, [r0, 0xE] - ldr r0, =0x0000ffff - cmp r1, r0 - bne _0815A6A2 - mov r0, r8 - bl DestroyTask -_0815A6A2: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815A5F0 - - thumb_func_start sub_815A6C4 -sub_815A6C4: @ 815A6C4 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - movs r1, 0x1 - bl InitAnimSpritePos - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - mov r5, sp - adds r5, 0x2 - movs r1, 0 - mov r2, sp - adds r3, r5, 0 - bl SetAverageBattlerPositions - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _0815A6F8 - ldr r1, =gBattleAnimArgs - ldrh r0, [r1, 0x4] - negs r0, r0 - strh r0, [r1, 0x4] -_0815A6F8: - ldr r1, =gBattleAnimArgs - ldrh r0, [r1, 0x8] - strh r0, [r4, 0x2E] - mov r2, sp - ldrh r0, [r1, 0x4] - ldrh r2, [r2] - adds r0, r2 - strh r0, [r4, 0x32] - ldrh r0, [r1, 0x6] - ldrh r5, [r5] - adds r0, r5 - strh r0, [r4, 0x36] - ldr r0, =0x0000ffce - strh r0, [r4, 0x38] - adds r0, r4, 0 - bl InitAnimArcTranslation - ldr r0, =sub_815A73C - str r0, [r4, 0x1C] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815A6C4 - - thumb_func_start sub_815A73C -sub_815A73C: @ 815A73C - push {r4,lr} - adds r4, r0, 0 - bl TranslateAnimArc - lsls r0, 24 - cmp r0, 0 - beq _0815A75E - movs r1, 0 - movs r0, 0x1E - strh r0, [r4, 0x2E] - strh r1, [r4, 0x30] - ldr r0, =WaitAnimForDuration - str r0, [r4, 0x1C] - ldr r1, =sub_815A76C - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 -_0815A75E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815A73C - - thumb_func_start sub_815A76C -sub_815A76C: @ 815A76C - push {lr} - adds r3, r0, 0 - ldrh r1, [r3, 0x30] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0815A798 - movs r0, 0x3E - adds r0, r3 - mov r12, r0 - ldrb r2, [r0] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] -_0815A798: - ldrh r0, [r3, 0x30] - adds r0, 0x1 - strh r0, [r3, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - bne _0815A7AC - adds r0, r3, 0 - bl DestroyAnimSprite -_0815A7AC: - pop {r0} - bx r0 - thumb_func_end sub_815A76C - - thumb_func_start sub_815A7B0 -sub_815A7B0: @ 815A7B0 - push {r4,r5,lr} - adds r4, r0, 0 - bl SetSpriteCoordsToAnimAttackerCoords - ldr r5, =gBattleAnimArgs - movs r0, 0 - ldrsh r1, [r5, r0] - adds r0, r4, 0 - bl sub_80A6864 - ldrh r0, [r5, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - ldr r0, =RunStoredCallbackWhenAnimEnds - str r0, [r4, 0x1C] - ldr r1, =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815A7B0 - - thumb_func_start sub_815A7EC -sub_815A7EC: @ 815A7EC - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0815A84C - adds r0, r4, 0 - bl SetSpriteCoordsToAnimAttackerCoords - ldr r5, =gBattleAnimArgs - movs r2, 0 - ldrsh r1, [r5, r2] - adds r0, r4, 0 - bl sub_80A6864 - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _0815A840 - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _0815A830 - ldrh r0, [r5, 0x4] - b _0815A846 - .pool -_0815A830: - movs r1, 0x4 - ldrsh r0, [r5, r1] - negs r0, r0 - strh r0, [r4, 0x30] - movs r2, 0x6 - ldrsh r0, [r5, r2] - negs r0, r0 - b _0815A84A -_0815A840: - movs r1, 0x4 - ldrsh r0, [r5, r1] - negs r0, r0 -_0815A846: - strh r0, [r4, 0x30] - ldrh r0, [r5, 0x6] -_0815A84A: - strh r0, [r4, 0x32] -_0815A84C: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - movs r2, 0x2E - ldrsh r1, [r4, r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - movs r3, 0xFF - ldrh r1, [r4, 0x30] - ldrh r2, [r4, 0x34] - adds r1, r2 - strh r1, [r4, 0x34] - ldrh r1, [r4, 0x32] - ldrh r2, [r4, 0x36] - adds r1, r2 - strh r1, [r4, 0x36] - movs r2, 0x34 - ldrsh r1, [r4, r2] - lsrs r2, r1, 31 - adds r1, r2 - asrs r1, 1 - strh r1, [r4, 0x24] - ands r0, r3 - movs r1, 0x5 - bl Sin - movs r2, 0x36 - ldrsh r1, [r4, r2] - lsrs r2, r1, 31 - adds r1, r2 - asrs r1, 1 - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x20] - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xF0 - bls _0815A8A4 - adds r0, r4, 0 - bl DestroyAnimSprite -_0815A8A4: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_815A7EC - - thumb_func_start sub_815A8AC -sub_815A8AC: @ 815A8AC - push {lr} - adds r2, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0815A8C2 - adds r0, r2, 0 - bl DestroyAnimSprite -_0815A8C2: - pop {r0} - bx r0 - thumb_func_end sub_815A8AC - - thumb_func_start AnimTask_IsTargetPlayerSide -AnimTask_IsTargetPlayerSide: @ 815A8C8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0815A8EC - ldr r1, =gBattleAnimArgs - movs r0, 0 - b _0815A8F0 - .pool -_0815A8EC: - ldr r1, =gBattleAnimArgs - movs r0, 0x1 -_0815A8F0: - strh r0, [r1, 0xE] - adds r0, r4, 0 - bl DestroyAnimVisualTask - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end AnimTask_IsTargetPlayerSide - - thumb_func_start AnimTask_IsHealingMove -AnimTask_IsHealingMove: @ 815A904 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gAnimMoveDmg - ldr r0, [r0] - cmp r0, 0 - ble _0815A920 - ldr r1, =gBattleAnimArgs - movs r0, 0 - b _0815A924 - .pool -_0815A920: - ldr r1, =gBattleAnimArgs - movs r0, 0x1 -_0815A924: - strh r0, [r1, 0xE] - adds r0, r2, 0 - bl DestroyAnimVisualTask - pop {r0} - bx r0 - .pool - thumb_func_end AnimTask_IsHealingMove - - thumb_func_start sub_815A934 -sub_815A934: @ 815A934 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r1, =0x00001f3f - movs r0, 0x4A - bl SetGpuReg - movs r1, 0x80 - lsls r1, 8 - movs r0, 0 - bl SetGpuRegBits - ldr r0, =gBattle_WIN0H - movs r1, 0 - strh r1, [r0] - ldr r4, =gBattle_WIN0V - strh r1, [r4] - movs r0, 0x40 - movs r1, 0 - bl SetGpuReg - ldrh r1, [r4] - movs r0, 0x44 - bl SetGpuReg - adds r0, r5, 0 - movs r1, 0 - bl sub_80A6980 - ldrb r1, [r5, 0x1] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x8 - orrs r0, r1 - strb r0, [r5, 0x1] - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, =sub_815A9A0 - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815A934 - - thumb_func_start sub_815A9A0 -sub_815A9A0: @ 815A9A0 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x5 - bhi _0815AA60 - lsls r0, 2 - ldr r1, =_0815A9BC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0815A9BC: - .4byte _0815A9D4 - .4byte _0815A9F2 - .4byte _0815AA12 - .4byte _0815A9F2 - .4byte _0815AA32 - .4byte _0815AA42 -_0815A9D4: - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0815AA60 - b _0815AA3A -_0815A9F2: - ldrh r0, [r4, 0x30] - adds r0, 0x75 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 24 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x15 - bne _0815AA60 - movs r0, 0 - strh r0, [r4, 0x32] - b _0815AA3A -_0815AA12: - ldrh r0, [r4, 0x30] - subs r0, 0x75 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 24 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x29 - bne _0815AA60 - movs r0, 0 - strh r0, [r4, 0x32] - b _0815AA3A -_0815AA32: - adds r0, r4, 0 - movs r1, 0x1 - bl ChangeSpriteAffineAnim -_0815AA3A: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _0815AA60 -_0815AA42: - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0815AA60 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, =sub_815AA6C - str r0, [r4, 0x1C] -_0815AA60: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815A9A0 - - thumb_func_start sub_815AA6C -sub_815AA6C: @ 815AA6C - push {r4,lr} - adds r4, r0, 0 - ldr r1, =0x00003f3f - movs r0, 0x4A - bl SetGpuReg - movs r0, 0 - bl GetGpuReg - adds r1, r0, 0 - movs r2, 0x80 - lsls r2, 8 - adds r0, r2, 0 - eors r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0 - bl SetGpuReg - adds r0, r4, 0 - bl DestroyAnimSprite - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815AA6C - - thumb_func_start sub_815AAA4 -sub_815AAA4: @ 815AAA4 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r6, =gBattleAnimArgs - movs r1, 0x6 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _0815AAD0 - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] -_0815AAD0: - ldrh r0, [r6] - ldrh r2, [r5, 0x20] - adds r0, r2 - movs r3, 0 - strh r0, [r5, 0x20] - ldrh r0, [r6, 0x2] - ldrh r4, [r5, 0x22] - adds r0, r4 - strh r0, [r5, 0x22] - ldrh r2, [r5, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - adds r1, 0x10 - ldr r4, =0x000003ff - adds r0, r4, 0 - ands r1, r0 - ldr r0, =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r5, 0x4] - movs r1, 0x4 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _0815AB2C - ldrb r1, [r5, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r1 - movs r1, 0x10 - orrs r0, r1 - strb r0, [r5, 0x3] - ldr r0, =0x0000fff4 - strh r0, [r5, 0x24] - movs r0, 0x2 - b _0815AB32 - .pool -_0815AB2C: - movs r0, 0xC - strh r0, [r5, 0x24] - ldr r0, =0x0000fffe -_0815AB32: - strh r0, [r5, 0x30] - ldr r1, =gBattleAnimArgs - ldrh r0, [r1, 0x8] - strh r0, [r5, 0x2E] - movs r2, 0x34 - ldrsh r0, [r5, r2] - cmp r0, 0xFF - beq _0815AB46 - ldrh r0, [r1, 0x4] - strh r0, [r5, 0x34] -_0815AB46: - ldr r0, =sub_815AB5C - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815AAA4 - - thumb_func_start sub_815AB5C -sub_815AB5C: @ 815AB5C - push {r4,lr} - adds r4, r0, 0 - ldrh r2, [r4, 0x32] - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0815AB9A - ldrh r0, [r4, 0x30] - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - lsls r0, 16 - cmp r0, 0 - bne _0815ABBA - adds r0, r2, 0x1 - strh r0, [r4, 0x32] - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0815ABBA - movs r0, 0x40 - negs r0, r0 - bl BattleAnimAdjustPanning - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0xDE - bl PlaySE1WithPanning - b _0815ABBA -_0815AB9A: - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x30] - subs r0, r1 - strh r0, [r4, 0x24] - movs r1, 0x24 - ldrsh r0, [r4, r1] - cmp r0, 0 - bge _0815ABAC - negs r0, r0 -_0815ABAC: - cmp r0, 0xC - bne _0815ABBA - ldrh r0, [r4, 0x2E] - subs r0, 0x1 - strh r0, [r4, 0x2E] - subs r0, r2, 0x1 - strh r0, [r4, 0x32] -_0815ABBA: - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0815ABC8 - adds r0, r4, 0 - bl DestroyAnimSprite -_0815ABC8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_815AB5C - - thumb_func_start sub_815ABD0 -sub_815ABD0: @ 815ABD0 - push {lr} - ldrb r2, [r0, 0x1] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0, 0x1] - movs r1, 0xFF - strh r1, [r0, 0x34] - bl sub_815AAA4 - pop {r0} - bx r0 - thumb_func_end sub_815ABD0 - - thumb_func_start sub_815ABEC -sub_815ABEC: @ 815ABEC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _0815AC40 - ldr r1, =0x00001f3f - movs r0, 0x48 - bl SetGpuReg - ldr r1, =gBattle_WIN1H - ldr r2, =0x000098f0 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, =gBattle_WIN1V - movs r0, 0xA0 - strh r0, [r1] - ldr r0, =gBattle_WIN0H - ldrh r1, [r0] - movs r0, 0x42 - bl SetGpuReg - ldr r0, =gBattle_WIN0V - ldrh r1, [r0] - movs r0, 0x46 - bl SetGpuReg - b _0815AC70 - .pool -_0815AC40: - ldr r1, =0x00001f3f - movs r0, 0x48 - bl SetGpuReg - ldr r1, =gBattle_WIN1H - movs r0, 0xF0 - strh r0, [r1] - ldr r4, =gBattle_WIN1V - ldr r1, =0x000078a0 - adds r0, r1, 0 - strh r0, [r4] - movs r0, 0x42 - movs r1, 0xF0 - bl SetGpuReg - ldrh r1, [r4] - movs r0, 0x46 - bl SetGpuReg - movs r1, 0x80 - lsls r1, 7 - movs r0, 0 - bl SetGpuRegBits -_0815AC70: - adds r0, r5, 0 - bl DestroyAnimVisualTask - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815ABEC - - thumb_func_start sub_815AC8C -sub_815AC8C: @ 815AC8C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =0x00003f3f - movs r0, 0x48 - bl SetGpuReg - ldr r0, =gBattle_WIN1H - movs r1, 0 - strh r1, [r0] - ldr r0, =gBattle_WIN1V - strh r1, [r0] - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _0815ACB8 - movs r1, 0x80 - lsls r1, 7 - movs r0, 0 - bl ClearGpuRegBits -_0815ACB8: - adds r0, r4, 0 - bl DestroyAnimVisualTask - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815AC8C - - thumb_func_start sub_815ACD0 -sub_815ACD0: @ 815ACD0 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r6, =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _0815ACEC - ldr r4, =gBattleAnimAttacker - b _0815ACEE - .pool -_0815ACEC: - ldr r4, =gBattleAnimTarget -_0815ACEE: - ldrb r0, [r4] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r6, [r6, 0x2] - adds r0, r6 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldr r2, =gBattleAnimArgs - ldrh r0, [r2, 0x4] - strh r0, [r5, 0x26] - movs r3, 0 - lsls r0, 16 - asrs r0, 16 - ldrh r4, [r2, 0x6] - movs r6, 0x6 - ldrsh r1, [r2, r6] - cmp r0, r1 - ble _0815AD26 - movs r3, 0x1 -_0815AD26: - strh r3, [r5, 0x2E] - movs r0, 0 - strh r0, [r5, 0x30] - ldrh r0, [r2, 0x8] - strh r0, [r5, 0x32] - ldrh r0, [r2, 0xA] - strh r0, [r5, 0x34] - strh r4, [r5, 0x36] - ldr r0, =sub_815AD4C - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815ACD0 - - thumb_func_start sub_815AD4C -sub_815AD4C: @ 815AD4C - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x32] - ldrh r1, [r2, 0x30] - adds r0, r1 - movs r1, 0xFF - ands r0, r1 - strh r0, [r2, 0x30] - ldr r1, =gSineTable - movs r3, 0x30 - ldrsh r0, [r2, r3] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 20 - strh r0, [r2, 0x24] - ldrh r0, [r2, 0x34] - ldrh r3, [r2, 0x26] - adds r1, r0, r3 - strh r1, [r2, 0x26] - movs r3, 0x2E - ldrsh r0, [r2, r3] - cmp r0, 0 - beq _0815AD98 - lsls r0, r1, 16 - asrs r0, 16 - movs r3, 0x36 - ldrsh r1, [r2, r3] - cmp r0, r1 - bge _0815ADAA - adds r0, r2, 0 - bl DestroyAnimSprite - b _0815ADAA - .pool -_0815AD98: - lsls r0, r1, 16 - asrs r0, 16 - movs r3, 0x36 - ldrsh r1, [r2, r3] - cmp r0, r1 - ble _0815ADAA - adds r0, r2, 0 - bl DestroyAnimSprite -_0815ADAA: - pop {r0} - bx r0 - thumb_func_end sub_815AD4C - - thumb_func_start sub_815ADB0 -sub_815ADB0: @ 815ADB0 - push {r4-r7,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r5, r1, r0 - ldr r0, =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _0815ADDC - ldr r4, =gBattleAnimAttacker - b _0815ADDE - .pool -_0815ADDC: - ldr r4, =gBattleAnimTarget -_0815ADDE: - ldrb r0, [r4] - bl GetBattlerYCoordWithElevation - lsls r0, 24 - lsrs r6, r0, 24 - ldrb r0, [r4] - bl sub_80A8364 - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r6, 0 - adds r1, r0, 0 - adds r1, 0x24 - movs r2, 0 - strh r1, [r5, 0x8] - strh r1, [r5, 0xA] - subs r0, 0x21 - strh r0, [r5, 0xC] - cmp r0, 0 - bge _0815AE08 - strh r2, [r5, 0xC] -_0815AE08: - ldrh r0, [r5, 0x8] - strh r0, [r5, 0xE] - movs r0, 0x8 - strh r0, [r5, 0x10] - ldr r1, =gBattleAnimArgs - ldrh r0, [r1, 0x2] - strh r0, [r5, 0x12] - strh r2, [r5, 0x14] - strh r2, [r5, 0x16] - cmp r7, 0x1 - bne _0815AE30 - ldr r0, =gBattle_BG1_X - b _0815AE32 - .pool -_0815AE30: - ldr r0, =gBattle_BG2_X -_0815AE32: - ldrh r2, [r0] - strh r2, [r5, 0x18] - adds r3, r2, 0 - adds r3, 0xF0 - strh r3, [r5, 0x1A] - ldrh r0, [r1, 0x4] - strh r0, [r5, 0x1C] - movs r4, 0x4 - ldrsh r0, [r1, r4] - cmp r0, 0 - bne _0815AE54 - strh r3, [r5, 0x1E] - ldrh r3, [r5, 0x18] - b _0815AE58 - .pool -_0815AE54: - strh r2, [r5, 0x1E] - ldrh r3, [r5, 0x1A] -_0815AE58: - movs r0, 0 - strh r0, [r5, 0x26] - ldrh r1, [r5, 0xC] - lsls r2, r1, 16 - asrs r1, r2, 16 - movs r6, 0xE - ldrsh r0, [r5, r6] - cmp r1, r0 - bgt _0815AE8E - ldr r4, =gScanlineEffectRegBuffers - movs r0, 0xF0 - lsls r0, 3 - adds r0, r4 - mov r12, r0 -_0815AE74: - asrs r2, 16 - lsls r1, r2, 1 - adds r0, r1, r4 - strh r3, [r0] - add r1, r12 - strh r3, [r1] - adds r2, 0x1 - lsls r2, 16 - asrs r1, r2, 16 - movs r6, 0xE - ldrsh r0, [r5, r6] - cmp r1, r0 - ble _0815AE74 -_0815AE8E: - cmp r7, 0x1 - bne _0815AEA0 - ldr r0, =0x04000014 - b _0815AEA2 - .pool -_0815AEA0: - ldr r0, =0x04000018 -_0815AEA2: - str r0, [sp] - ldr r0, =0xa2600001 - str r0, [sp, 0x4] - mov r1, sp - movs r2, 0 - movs r0, 0x1 - strb r0, [r1, 0x8] - mov r0, sp - strb r2, [r0, 0x9] - ldr r0, [sp] - ldr r1, [sp, 0x4] - ldr r2, [sp, 0x8] - bl ScanlineEffect_SetParams - ldr r0, =sub_815AED8 - str r0, [r5] - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815ADB0 - - thumb_func_start sub_815AED8 -sub_815AED8: @ 815AED8 - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - ldrh r0, [r4, 0x8] - ldrh r1, [r4, 0x12] - subs r0, r1 - strh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 16 - ldrh r2, [r4, 0xC] - movs r3, 0xC - ldrsh r1, [r4, r3] - cmp r0, r1 - bge _0815AF00 - strh r2, [r4, 0x8] -_0815AF00: - ldrh r1, [r4, 0x10] - movs r2, 0x10 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _0815AF2C - ldrh r0, [r4, 0xA] - ldrh r1, [r4, 0x12] - subs r0, r1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - ldrh r2, [r4, 0xC] - movs r3, 0xC - ldrsh r1, [r4, r3] - cmp r0, r1 - bge _0815AF30 - strh r2, [r4, 0xA] - movs r0, 0x1 - strh r0, [r4, 0x26] - b _0815AF30 - .pool -_0815AF2C: - subs r0, r1, 0x1 - strh r0, [r4, 0x10] -_0815AF30: - ldrh r0, [r4, 0x14] - adds r0, 0x1 - strh r0, [r4, 0x14] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _0815AF5C - movs r0, 0 - strh r0, [r4, 0x14] - movs r1, 0 - movs r2, 0x16 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _0815AF4E - movs r1, 0x1 -_0815AF4E: - strh r1, [r4, 0x16] - cmp r1, 0 - beq _0815AF58 - ldrh r0, [r4, 0x18] - b _0815AF5A -_0815AF58: - ldrh r0, [r4, 0x1A] -_0815AF5A: - strh r0, [r4, 0x20] -_0815AF5C: - ldrh r1, [r4, 0x8] - lsls r3, r1, 16 - asrs r1, r3, 16 - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r1, r0 - bge _0815AF90 - ldr r5, =gScanlineEffectRegBuffers - movs r0, 0xF0 - lsls r0, 3 - adds r6, r5, r0 -_0815AF72: - asrs r3, 16 - lsls r1, r3, 1 - adds r2, r1, r5 - ldrh r0, [r4, 0x20] - strh r0, [r2] - adds r1, r6 - ldrh r0, [r4, 0x20] - strh r0, [r1] - adds r3, 0x1 - lsls r3, 16 - asrs r1, r3, 16 - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r1, r0 - blt _0815AF72 -_0815AF90: - ldrh r1, [r4, 0xA] - lsls r3, r1, 16 - asrs r1, r3, 16 - movs r2, 0xE - ldrsh r0, [r4, r2] - cmp r1, r0 - bgt _0815AFC4 - ldr r5, =gScanlineEffectRegBuffers - movs r0, 0xF0 - lsls r0, 3 - adds r6, r5, r0 -_0815AFA6: - asrs r3, 16 - lsls r1, r3, 1 - adds r2, r1, r5 - ldrh r0, [r4, 0x1E] - strh r0, [r2] - adds r1, r6 - ldrh r0, [r4, 0x1E] - strh r0, [r1] - adds r3, 0x1 - lsls r3, 16 - asrs r1, r3, 16 - movs r2, 0xE - ldrsh r0, [r4, r2] - cmp r1, r0 - ble _0815AFA6 -_0815AFC4: - movs r3, 0x26 - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _0815AFE0 - movs r1, 0x1C - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0815AFDA - ldr r1, =gScanlineEffect - movs r0, 0x3 - strb r0, [r1, 0x15] -_0815AFDA: - adds r0, r7, 0 - bl DestroyAnimVisualTask -_0815AFE0: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815AED8 - - thumb_func_start sub_815AFF0 -sub_815AFF0: @ 815AFF0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, =gTasks - adds r4, r0 - movs r5, 0 - strh r5, [r4, 0x8] - strh r5, [r4, 0xA] - ldr r6, =gBattleAnimAttacker - ldrb r0, [r6] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0xC] - ldrb r0, [r6] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0xE] - movs r0, 0x20 - strh r0, [r4, 0x10] - ldr r0, =0x0000ffec - strh r0, [r4, 0x12] - strh r5, [r4, 0x14] - movs r0, 0 - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x26] - ldr r0, =sub_815B054 - str r0, [r4] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815AFF0 - - thumb_func_start sub_815B054 -sub_815B054: @ 815B054 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, =gTasks - adds r6, r0, r1 - movs r1, 0x8 - ldrsh r0, [r6, r1] - cmp r0, 0x5 - bls _0815B074 - b _0815B22E -_0815B074: - lsls r0, 2 - ldr r1, =_0815B088 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0815B088: - .4byte _0815B0A0 - .4byte _0815B160 - .4byte _0815B18E - .4byte _0815B1A2 - .4byte _0815B1B8 - .4byte _0815B220 -_0815B0A0: - movs r0, 0xC - ldrsh r2, [r6, r0] - ldrh r1, [r6, 0xA] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0815B0B6 - movs r1, 0x10 - ldrsh r0, [r6, r1] - subs r0, r2, r0 - b _0815B0BC -_0815B0B6: - movs r1, 0x10 - ldrsh r0, [r6, r1] - adds r0, r2, r0 -_0815B0BC: - lsls r0, 16 - lsrs r1, r0, 16 - ldrh r2, [r6, 0x12] - ldrh r0, [r6, 0xE] - adds r2, r0 - ldr r0, =gUnknown_08593114 - lsls r1, 16 - asrs r1, 16 - lsls r2, 16 - asrs r2, 16 - ldrb r4, [r6, 0xA] - movs r3, 0x6 - subs r3, r4 - lsls r3, 24 - lsrs r3, 24 - bl CreateSprite - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x40 - negs r0, r0 - bl BattleAnimAdjustPanning - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0xBA - bl PlaySE12WithPanning - cmp r4, 0x40 - beq _0815B120 - ldr r5, =gSprites - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r3, r1, r5 - ldrh r0, [r6, 0xA] - movs r2, 0x1 - ands r2, r0 - adds r3, 0x3F - ldrb r4, [r3] - movs r0, 0x2 - negs r0, r0 - ands r0, r4 - orrs r0, r2 - strb r0, [r3] - adds r5, 0x1C - adds r1, r5 - ldr r0, =SpriteCallbackDummy - str r0, [r1] -_0815B120: - ldrh r1, [r6, 0xA] - movs r4, 0x1 - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _0815B138 - ldrh r0, [r6, 0x10] - subs r0, 0x6 - strh r0, [r6, 0x10] - ldrh r0, [r6, 0x12] - subs r0, 0x6 - strh r0, [r6, 0x12] -_0815B138: - ldrh r1, [r6, 0x26] - lsls r1, 24 - lsrs r1, 24 - ldr r2, =gUnknown_085CE2A0 - adds r0, r6, 0 - bl PrepareAffineAnimInTaskData - ldrh r0, [r6, 0xA] - adds r0, 0x1 - strh r0, [r6, 0xA] - strh r4, [r6, 0x8] - b _0815B22E - .pool -_0815B160: - adds r0, r6, 0 - bl RunAffineAnimFromTaskData - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _0815B22E - movs r2, 0xA - ldrsh r1, [r6, r2] - cmp r1, 0x6 - bne _0815B180 - movs r0, 0x8 - strh r0, [r6, 0x14] - movs r0, 0x3 - strh r0, [r6, 0x8] - b _0815B22E -_0815B180: - cmp r1, 0x2 - bgt _0815B186 - movs r0, 0xA -_0815B186: - strh r0, [r6, 0x14] - movs r0, 0x2 - strh r0, [r6, 0x8] - b _0815B22E -_0815B18E: - ldrh r0, [r6, 0x14] - movs r2, 0x14 - ldrsh r1, [r6, r2] - cmp r1, 0 - beq _0815B19E - subs r0, 0x1 - strh r0, [r6, 0x14] - b _0815B22E -_0815B19E: - strh r1, [r6, 0x8] - b _0815B22E -_0815B1A2: - ldrh r1, [r6, 0x14] - movs r2, 0x14 - ldrsh r0, [r6, r2] - cmp r0, 0 - beq _0815B1B2 - subs r0, r1, 0x1 - strh r0, [r6, 0x14] - b _0815B22E -_0815B1B2: - movs r0, 0x4 - strh r0, [r6, 0x8] - b _0815B22E -_0815B1B8: - movs r5, 0 - movs r7, 0 - ldr r3, =gSprites - movs r0, 0x1C - adds r0, r3 - mov r8, r0 -_0815B1C4: - lsls r0, r5, 4 - adds r0, r5 - lsls r4, r0, 2 - adds r0, r3, 0 - adds r0, 0x14 - adds r0, r4, r0 - ldr r1, [r0] - ldr r0, =gUnknown_08593114 - cmp r1, r0 - bne _0815B200 - adds r0, r4, r3 - strh r2, [r0, 0x2E] - movs r1, 0x6 - strh r1, [r0, 0x30] - movs r1, 0x2 - str r2, [sp] - str r3, [sp, 0x4] - bl StartSpriteAnim - mov r0, r8 - adds r1, r4, r0 - ldr r0, =sub_815B23C - str r0, [r1] - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - ldr r2, [sp] - ldr r3, [sp, 0x4] - cmp r7, 0x6 - beq _0815B20A -_0815B200: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x3F - bls _0815B1C4 -_0815B20A: - strh r7, [r6, 0x14] - movs r0, 0x5 - strh r0, [r6, 0x8] - b _0815B22E - .pool -_0815B220: - movs r1, 0x14 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _0815B22E - adds r0, r2, 0 - bl DestroyAnimVisualTask -_0815B22E: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_815B054 - - thumb_func_start sub_815B23C -sub_815B23C: @ 815B23C - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0815B270 - ldr r3, =gTasks - movs r0, 0x30 - ldrsh r1, [r4, r0] - lsls r1, 1 - movs r0, 0x2E - ldrsh r2, [r4, r0] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r3, 0x8 - adds r1, r3 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - adds r0, r4, 0 - bl DestroySprite -_0815B270: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815B23C - - thumb_func_start sub_815B27C -sub_815B27C: @ 815B27C - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _0815B290 - adds r0, r5, 0 - movs r1, 0 - bl InitAnimSpritePos -_0815B290: - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x27 - bgt _0815B2C2 - ldrh r0, [r5, 0x2E] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0815B2B4 - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - b _0815B2C0 -_0815B2B4: - adds r2, r5, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 -_0815B2C0: - strb r0, [r2] -_0815B2C2: - movs r2, 0x2E - ldrsh r0, [r5, r2] - cmp r0, 0x1E - ble _0815B2D8 - adds r2, r5, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_0815B2D8: - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0x3D - bne _0815B324 - ldr r1, =DestroyAnimSprite - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - ldrh r0, [r5, 0x24] - ldrh r2, [r5, 0x20] - adds r0, r2 - movs r1, 0 - strh r0, [r5, 0x20] - ldrh r0, [r5, 0x26] - ldrh r2, [r5, 0x22] - adds r0, r2 - strh r0, [r5, 0x22] - strh r1, [r5, 0x24] - strh r1, [r5, 0x26] - movs r0, 0x14 - strh r0, [r5, 0x2E] - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x32] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x36] - ldr r0, =StartAnimLinearTranslation - str r0, [r5, 0x1C] -_0815B324: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815B27C - - thumb_func_start sub_815B338 -sub_815B338: @ 815B338 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0815B35C - cmp r0, 0x1 - beq _0815B37C - b _0815B38E - .pool -_0815B35C: - movs r0, 0 - bl GetAnimBattlerSpriteId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r2, =gUnknown_085CE350 - adds r0, r4, 0 - bl PrepareAffineAnimInTaskData - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0815B38E - .pool -_0815B37C: - adds r0, r4, 0 - bl RunAffineAnimFromTaskData - lsls r0, 24 - cmp r0, 0 - bne _0815B38E - adds r0, r5, 0 - bl DestroyAnimVisualTask -_0815B38E: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_815B338 - - thumb_func_start sub_815B394 -sub_815B394: @ 815B394 - push {r4-r6,lr} - adds r5, r0, 0 - movs r0, 0 - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r6, r0, 24 - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _0815B3F4 - cmp r0, 0x1 - bgt _0815B3B4 - cmp r0, 0 - beq _0815B3BE - b _0815B496 -_0815B3B4: - cmp r0, 0x2 - beq _0815B424 - cmp r0, 0x3 - beq _0815B478 - b _0815B496 -_0815B3BE: - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - adds r0, r6, 0 - movs r1, 0 - bl PrepareBattlerSpriteForRotScale - movs r0, 0x80 - lsls r0, 1 - strh r0, [r5, 0x30] - strh r0, [r5, 0x32] - b _0815B46C - .pool -_0815B3F4: - ldrh r0, [r5, 0x30] - adds r0, 0x60 - strh r0, [r5, 0x30] - ldrh r0, [r5, 0x32] - subs r0, 0x1A - strh r0, [r5, 0x32] - movs r2, 0x30 - ldrsh r1, [r5, r2] - movs r0, 0x32 - ldrsh r2, [r5, r0] - adds r0, r6, 0 - movs r3, 0 - bl SetSpriteRotScale - ldrh r0, [r5, 0x34] - adds r0, 0x1 - strh r0, [r5, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _0815B424 - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] -_0815B424: - ldrh r0, [r5, 0x30] - adds r0, 0x60 - strh r0, [r5, 0x30] - ldrh r0, [r5, 0x32] - adds r0, 0x30 - strh r0, [r5, 0x32] - movs r2, 0x30 - ldrsh r1, [r5, r2] - movs r0, 0x32 - ldrsh r2, [r5, r0] - adds r0, r6, 0 - movs r3, 0 - bl SetSpriteRotScale - ldrh r0, [r5, 0x34] - adds r0, 0x1 - strh r0, [r5, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x9 - bne _0815B496 - movs r0, 0 - strh r0, [r5, 0x34] - ldr r1, =gSprites - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r0, r1 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - adds r0, r6, 0 - bl ResetSpriteRotScale -_0815B46C: - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - b _0815B496 - .pool -_0815B478: - ldrh r0, [r5, 0x26] - subs r0, 0x6 - strh r0, [r5, 0x26] - movs r1, 0x22 - ldrsh r0, [r5, r1] - movs r2, 0x26 - ldrsh r1, [r5, r2] - adds r0, r1 - movs r1, 0x20 - negs r1, r1 - cmp r0, r1 - bge _0815B496 - adds r0, r5, 0 - bl DestroyAnimSprite -_0815B496: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_815B394 - - thumb_func_start sub_815B49C -sub_815B49C: @ 815B49C - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _0815B4BC - ldr r0, =0x0000fff0 - b _0815B4C0 - .pool -_0815B4BC: - movs r0, 0x80 - lsls r0, 1 -_0815B4C0: - strh r0, [r4, 0x20] - movs r0, 0 - strh r0, [r4, 0x22] - ldr r0, =sub_815B4D4 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815B49C - - thumb_func_start sub_815B4D4 -sub_815B4D4: @ 815B4D4 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x48 - strh r0, [r4, 0x2E] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _0815B4F8 - ldrh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 20 - b _0815B500 - .pool -_0815B4F8: - ldrh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 20 - negs r0, r0 -_0815B500: - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x30] - adds r0, 0x10 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 24 - ldrh r1, [r4, 0x26] - adds r5, r0, r1 - strh r5, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - cmp r0, 0 - bne _0815B54C - ldr r0, =gUnknown_085CE3A0 - ldrh r1, [r4, 0x24] - ldrh r2, [r4, 0x20] - adds r1, r2 - lsls r1, 16 - asrs r1, 16 - ldrh r2, [r4, 0x22] - adds r2, r5 - lsls r2, 16 - asrs r2, 16 - adds r3, r4, 0 - adds r3, 0x43 - ldrb r3, [r3] - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - bl CreateSpriteAndAnimate -_0815B54C: - movs r1, 0x20 - ldrsh r0, [r4, r1] - movs r2, 0x24 - ldrsh r1, [r4, r2] - adds r0, r1 - adds r0, 0x20 - movs r1, 0x98 - lsls r1, 1 - cmp r0, r1 - bls _0815B566 - adds r0, r4, 0 - bl DestroyAnimSprite -_0815B566: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815B4D4 - - thumb_func_start sub_815B570 -sub_815B570: @ 815B570 - push {r4,lr} - adds r4, r0, 0 - bl Random2 - movs r1, 0x3 - ands r0, r1 - cmp r0, 0 - bne _0815B58A - ldrh r2, [r4, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - adds r1, 0x4 - b _0815B592 -_0815B58A: - ldrh r2, [r4, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - adds r1, 0x5 -_0815B592: - ldr r3, =0x000003ff - adds r0, r3, 0 - ands r1, r0 - ldr r0, =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r4, 0x4] - bl Random2 - movs r1, 0x7 - ands r0, r1 - adds r1, r0, 0 - cmp r1, 0x3 - ble _0815B5B4 - negs r0, r1 - lsls r0, 24 - lsrs r0, 24 -_0815B5B4: - lsls r0, 24 - asrs r0, 24 - strh r0, [r4, 0x26] - ldr r0, =sub_815B5D0 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815B570 - - thumb_func_start sub_815B5D0 -sub_815B5D0: @ 815B5D0 - push {lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1D - bgt _0815B612 - ldrh r0, [r3, 0x30] - adds r0, 0x1 - strh r0, [r3, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - bne _0815B646 - movs r0, 0x3E - adds r0, r3 - mov r12, r0 - ldrb r2, [r0] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - movs r0, 0 - b _0815B644 -_0815B612: - movs r1, 0x30 - ldrsh r0, [r3, r1] - cmp r0, 0x2 - bne _0815B628 - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_0815B628: - movs r1, 0x30 - ldrsh r0, [r3, r1] - cmp r0, 0x3 - bne _0815B640 - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, =0x0000ffff - strh r0, [r3, 0x30] -_0815B640: - ldrh r0, [r3, 0x30] - adds r0, 0x1 -_0815B644: - strh r0, [r3, 0x30] -_0815B646: - movs r1, 0x2E - ldrsh r0, [r3, r1] - cmp r0, 0x3C - ble _0815B654 - adds r0, r3, 0 - bl DestroySprite -_0815B654: - pop {r0} - bx r0 - .pool - thumb_func_end sub_815B5D0 - - thumb_func_start sub_815B65C -sub_815B65C: @ 815B65C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0815B69C - movs r0, 0 - bl GetAnimBattlerSpriteId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r2, =gUnknown_085CE3B8 - adds r0, r4, 0 - bl PrepareAffineAnimInTaskData - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0815B6AE - .pool -_0815B69C: - adds r0, r4, 0 - bl RunAffineAnimFromTaskData - lsls r0, 24 - cmp r0, 0 - bne _0815B6AE - adds r0, r5, 0 - bl DestroyAnimVisualTask -_0815B6AE: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_815B65C - - thumb_func_start sub_815B6B4 -sub_815B6B4: @ 815B6B4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0815B6F4 - movs r0, 0 - bl GetAnimBattlerSpriteId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r2, =gUnknown_085CE3E0 - adds r0, r4, 0 - bl PrepareAffineAnimInTaskData - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0815B706 - .pool -_0815B6F4: - adds r0, r4, 0 - bl RunAffineAnimFromTaskData - lsls r0, 24 - cmp r0, 0 - bne _0815B706 - adds r0, r5, 0 - bl DestroyAnimVisualTask -_0815B706: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_815B6B4 - - thumb_func_start sub_815B70C -sub_815B70C: @ 815B70C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0815B71E - cmp r0, 0x1 - beq _0815B748 - b _0815B770 -_0815B71E: - adds r0, r4, 0 - movs r1, 0 - bl InitAnimSpritePos - movs r0, 0x90 - lsls r0, 4 - strh r0, [r4, 0x30] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _0815B770 - .pool -_0815B748: - ldrh r2, [r4, 0x30] - lsls r1, r2, 16 - asrs r1, 24 - ldrh r0, [r4, 0x26] - subs r0, r1 - strh r0, [r4, 0x26] - subs r2, 0x60 - strh r2, [r4, 0x30] - movs r2, 0x22 - ldrsh r0, [r4, r2] - movs r2, 0x26 - ldrsh r1, [r4, r2] - adds r0, r1 - movs r2, 0x32 - ldrsh r1, [r4, r2] - cmp r0, r1 - ble _0815B770 - adds r0, r4, 0 - bl DestroyAnimSprite -_0815B770: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_815B70C - - thumb_func_start sub_815B778 -sub_815B778: @ 815B778 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0815B7B8 - movs r0, 0 - bl GetAnimBattlerSpriteId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r2, =gUnknown_085CE430 - adds r0, r4, 0 - bl PrepareAffineAnimInTaskData - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0815B7CA - .pool -_0815B7B8: - adds r0, r4, 0 - bl RunAffineAnimFromTaskData - lsls r0, 24 - cmp r0, 0 - bne _0815B7CA - adds r0, r5, 0 - bl DestroyAnimVisualTask -_0815B7CA: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_815B778 - - thumb_func_start sub_815B7D0 -sub_815B7D0: @ 815B7D0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r1, =gTasks - lsls r0, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r3, r1, 0 - cmp r0, 0x4 - bls _0815B7F6 - b _0815BAFC -_0815B7F6: - lsls r0, 2 - ldr r1, =_0815B808 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0815B808: - .4byte _0815B81C - .4byte _0815B86C - .4byte _0815B8A8 - .4byte _0815BA44 - .4byte _0815BA82 -_0815B81C: - movs r0, 0x4C - movs r1, 0 - bl SetGpuReg - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl sub_80A8364 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0815B844 - movs r0, 0x1 - movs r1, 0x2 - movs r2, 0x1 - bl SetAnimBgAttribute - b _0815B84E - .pool -_0815B844: - movs r0, 0x2 - movs r1, 0x2 - movs r2, 0x1 - bl SetAnimBgAttribute -_0815B84E: - ldr r0, =gTasks - mov r6, r8 - lsls r1, r6, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - ldr r0, =gBattleAnimArgs - ldrh r0, [r0] - strh r0, [r1, 0x1C] - b _0815BA26 - .pool -_0815B86C: - mov r1, r8 - lsls r0, r1, 2 - add r0, r8 - lsls r0, 3 - adds r4, r0, r3 - ldrh r0, [r4, 0xC] - adds r1, r0, 0x1 - strh r1, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bgt _0815B886 - b _0815BAFC -_0815B886: - movs r0, 0 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - ldrh r5, [r4, 0xA] - lsls r1, r5, 4 - orrs r1, r5 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x4C - bl SetGpuReg - cmp r5, 0xF - beq _0815B8A6 - b _0815BAFC -_0815B8A6: - b _0815BA7A -_0815B8A8: - ldr r5, =gBattleAnimAttacker - ldrb r0, [r5] - ldr r1, =gBattleAnimTarget - ldrb r1, [r1] - mov r2, r8 - lsls r4, r2, 2 - adds r2, r4, r2 - lsls r2, 3 - adds r2, r3 - ldrb r2, [r2, 0x1C] - bl HandleSpeciesGfxDataChange - ldrb r1, [r5] - mov r0, sp - bl sub_80A6BFC - bl IsContest - lsls r0, 24 - mov r9, r4 - cmp r0, 0 - beq _0815B8E0 - movs r1, 0 - b _0815B8EA - .pool -_0815B8E0: - ldrb r0, [r5] - bl GetBattlerPosition - lsls r0, 24 - lsrs r1, r0, 24 -_0815B8EA: - ldr r0, =gMonSpritesGfxPtr - ldr r2, [r0] - lsls r0, r1, 2 - adds r2, 0x4 - adds r2, r0 - ldr r1, =gBattleMonForms - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - adds r0, r1 - ldrb r1, [r0] - lsls r1, 11 - ldr r0, [r2] - adds r0, r1 - ldr r1, [sp] - ldr r2, =0x04000200 - bl CpuSet - ldr r1, [sp] - movs r2, 0x80 - lsls r2, 4 - mov r0, sp - ldrh r3, [r0, 0xA] - movs r0, 0x1 - bl LoadBgTiles - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _0815BA1C - ldr r5, =gContestResources - ldr r0, [r5] - ldr r0, [r0, 0x18] - ldrh r0, [r0] - bl IsSpeciesNotUnown - adds r4, r0, 0 - ldr r0, [r5] - ldr r0, [r0, 0x18] - ldrh r0, [r0, 0x2] - bl IsSpeciesNotUnown - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - beq _0815B99C - ldr r6, [sp, 0x4] - movs r5, 0 - movs r0, 0x7 - mov r12, r0 - movs r7, 0 -_0815B950: - movs r4, 0 - adds r3, r7, r6 - mov r1, r12 - lsls r0, r1, 1 - adds r2, r0, r6 -_0815B95A: - ldrh r1, [r3] - ldrh r0, [r2] - strh r0, [r3] - strh r1, [r2] - adds r3, 0x2 - subs r2, 0x2 - adds r4, 0x1 - cmp r4, 0x3 - ble _0815B95A - movs r2, 0x20 - add r12, r2 - adds r7, 0x40 - adds r5, 0x1 - cmp r5, 0x7 - ble _0815B950 - movs r5, 0 - movs r0, 0x80 - lsls r0, 3 - adds r3, r0, 0 -_0815B980: - adds r2, r5, 0x1 - lsls r0, r5, 6 - adds r1, r0, r6 - movs r4, 0x7 -_0815B988: - ldrh r0, [r1] - eors r0, r3 - strh r0, [r1] - adds r1, 0x2 - subs r4, 0x1 - cmp r4, 0 - bge _0815B988 - adds r5, r2, 0 - cmp r5, 0x7 - ble _0815B980 -_0815B99C: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x18] - ldrh r0, [r0, 0x2] - bl IsSpeciesNotUnown - lsls r0, 24 - cmp r0, 0 - beq _0815B9EC - ldr r3, =gSprites - ldr r4, =gBattlerSpriteIds - ldr r2, =gBattleAnimAttacker - ldrb r0, [r2] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r3, 0 - adds r1, 0x10 - adds r0, r1 - ldr r1, =gUnknown_082FF6C0 - b _0815BA06 - .pool -_0815B9EC: - ldr r3, =gSprites - ldr r4, =gBattlerSpriteIds - ldr r2, =gBattleAnimAttacker - ldrb r0, [r2] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r3, 0 - adds r1, 0x10 - adds r0, r1 - ldr r1, =gUnknown_082FF694 -_0815BA06: - str r1, [r0] - ldrb r0, [r2] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0 - bl StartSpriteAffineAnim -_0815BA1C: - ldr r0, =gTasks - mov r1, r9 - add r1, r8 - lsls r1, 3 - adds r1, r0 -_0815BA26: - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _0815BAFC - .pool -_0815BA44: - mov r1, r8 - lsls r0, r1, 2 - add r0, r8 - lsls r0, 3 - adds r4, r0, r3 - ldrh r0, [r4, 0xC] - adds r1, r0, 0x1 - strh r1, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _0815BAFC - movs r0, 0 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0xA] - subs r0, 0x1 - strh r0, [r4, 0xA] - ldrh r5, [r4, 0xA] - lsls r1, r5, 4 - orrs r1, r5 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x4C - bl SetGpuReg - cmp r5, 0 - bne _0815BAFC -_0815BA7A: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0815BAFC -_0815BA82: - movs r0, 0x4C - movs r1, 0 - bl SetGpuReg - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl sub_80A8364 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0815BAAC - movs r0, 0x1 - movs r1, 0x2 - movs r2, 0 - bl SetAnimBgAttribute - b _0815BAB6 - .pool -_0815BAAC: - movs r0, 0x2 - movs r1, 0x2 - movs r2, 0 - bl SetAnimBgAttribute -_0815BAB6: - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _0815BAF6 - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0815BAF6 - ldr r0, =gTasks - mov r2, r8 - lsls r1, r2, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r6, 0x1C - ldrsh r0, [r1, r6] - cmp r0, 0 - bne _0815BAF6 - ldrb r0, [r4] - ldr r1, =gBattleSpritesDataPtr - ldr r1, [r1] - ldr r2, [r1] - lsls r1, r0, 2 - adds r1, r2 - ldrh r1, [r1, 0x2] - bl SetBattlerShadowSpriteCallback -_0815BAF6: - mov r0, r8 - bl DestroyAnimVisualTask -_0815BAFC: - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815B7D0 - - thumb_func_start sub_815BB18 -sub_815BB18: @ 815BB18 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r4, =gBattleAnimArgs - ldr r3, =gSprites - ldr r2, =gBattlerSpriteIds - ldr r1, =gBattleAnimAttacker - ldrb r1, [r1] - adds r1, r2 - ldrb r2, [r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r3 - adds r1, 0x3E - ldrb r1, [r1] - lsls r1, 29 - lsrs r1, 31 - strh r1, [r4, 0xE] - bl DestroyAnimVisualTask - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815BB18 - - thumb_func_start sub_815BB58 -sub_815BB58: @ 815BB58 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - ldr r1, =gBattleAnimTarget - ldrb r1, [r1] - movs r2, 0x1 - bl HandleSpeciesGfxDataChange - adds r0, r4, 0 - bl DestroyAnimVisualTask - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815BB58 - - thumb_func_start sub_815BB84 -sub_815BB84: @ 815BB84 - push {r4,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r2, r1, 0 - cmp r0, 0x4 - bls _0815BBA2 - b _0815BDF2 -_0815BBA2: - lsls r0, 2 - ldr r1, =_0815BBB4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0815BBB4: - .4byte _0815BBC8 - .4byte _0815BCB8 - .4byte _0815BD08 - .4byte _0815BD72 - .4byte _0815BDA6 -_0815BBC8: - ldr r1, =0x00003f42 - movs r0, 0x50 - bl SetGpuReg - movs r1, 0x80 - lsls r1, 5 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl SetAnimBgAttribute - movs r0, 0x1 - movs r1, 0x4 - movs r2, 0x1 - bl SetAnimBgAttribute - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _0815BC02 - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0x1 - bl SetAnimBgAttribute -_0815BC02: - mov r0, sp - bl sub_80A6B30 - ldr r1, =gUnknown_08C2A6EC - mov r0, sp - movs r2, 0 - bl sub_80A6D60 - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _0815BC34 - ldr r1, =gBattle_BG1_X - ldr r3, =0x0000ffc8 - b _0815BC5C - .pool -_0815BC34: - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _0815BC58 - ldr r1, =gBattle_BG1_X - ldr r2, =0x0000ff79 - adds r0, r2, 0 - b _0815BC5E - .pool -_0815BC58: - ldr r1, =gBattle_BG1_X - ldr r3, =0x0000fff6 -_0815BC5C: - adds r0, r3, 0 -_0815BC5E: - strh r0, [r1] - ldr r1, =gBattle_BG1_Y - movs r0, 0 - strh r0, [r1] - mov r0, sp - ldrb r0, [r0, 0x9] - ldr r1, =gUnknown_08C2A634 - mov r2, sp - ldrh r2, [r2, 0xA] - bl sub_80A6CC0 - ldr r0, =gUnknown_08C2A6D4 - mov r1, sp - ldrb r1, [r1, 0x8] - lsls r1, 4 - movs r2, 0x20 - bl LoadCompressedPalette - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =gBattle_BG1_X - ldrh r0, [r0] - strh r0, [r1, 0x1C] - ldr r0, =gBattle_BG1_Y - ldrh r0, [r0] - strh r0, [r1, 0x1E] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - b _0815BD8E - .pool -_0815BCB8: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r4, r0, r2 - ldrh r0, [r4, 0x10] - adds r1, r0, 0x1 - strh r1, [r4, 0x10] - lsls r0, 16 - cmp r0, 0 - bgt _0815BCCE - b _0815BDF2 -_0815BCCE: - movs r0, 0 - strh r0, [r4, 0x10] - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xC - ble _0815BCE4 - movs r0, 0xC - strh r0, [r4, 0xA] -_0815BCE4: - ldrh r0, [r4, 0xA] - movs r1, 0x10 - subs r1, r0 - lsls r1, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0xC - bne _0815BDF2 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0815BDF2 -_0815BD08: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r4, r0, r2 - ldrh r0, [r4, 0xA] - subs r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - cmp r0, 0 - bge _0815BD20 - movs r0, 0 - strh r0, [r4, 0xA] -_0815BD20: - ldrh r0, [r4, 0xA] - movs r1, 0x10 - subs r1, r0 - lsls r1, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _0815BDF2 - ldr r2, =gBattle_BG1_X - ldr r1, =gUnknown_085CE460 - movs r3, 0xC - ldrsh r0, [r4, r3] - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - ldrh r1, [r4, 0x1C] - adds r0, r1 - strh r0, [r2] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bne _0815BD6C - strh r0, [r4, 0x8] - b _0815BDF2 - .pool -_0815BD6C: - movs r0, 0x3 - strh r0, [r4, 0x8] - b _0815BDF2 -_0815BD72: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r2 - ldrh r0, [r1, 0xE] - adds r0, 0x1 - strh r0, [r1, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bne _0815BDF2 - movs r0, 0 - strh r0, [r1, 0xE] - movs r0, 0x1 -_0815BD8E: - strh r0, [r1, 0x8] - movs r0, 0x40 - negs r0, r0 - bl BattleAnimAdjustPanning - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0xE4 - bl PlaySE12WithPanning - b _0815BDF2 -_0815BDA6: - mov r0, sp - bl sub_80A6B30 - mov r0, sp - ldrb r0, [r0, 0x9] - bl sub_80A6C68 - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _0815BDC8 - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0 - bl SetAnimBgAttribute -_0815BDC8: - movs r0, 0x1 - movs r1, 0x4 - movs r2, 0x1 - bl SetAnimBgAttribute - ldr r0, =gBattle_BG1_X - movs r1, 0 - strh r1, [r0] - ldr r0, =gBattle_BG1_Y - strh r1, [r0] - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - adds r0, r4, 0 - bl DestroyAnimVisualTask -_0815BDF2: - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815BB84 - - thumb_func_start sub_815BE04 -sub_815BE04: @ 815BE04 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r7, r0, 0 - bl Random2 - lsls r0, 16 - movs r1, 0xFC - lsls r1, 14 - ands r1, r0 - lsrs r5, r1, 16 - adds r1, r5, 0 - cmp r1, 0x1F - ble _0815BE2E - movs r0, 0x20 - subs r0, r1 - lsls r0, 16 - lsrs r5, r0, 16 -_0815BE2E: - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - adds r0, r5 - strh r0, [r7, 0x20] - ldrb r0, [r4] - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x20 - strh r0, [r7, 0x22] - ldr r1, =gBattleAnimArgs - ldrh r0, [r1] - strh r0, [r7, 0x30] - ldrh r0, [r1, 0x2] - strh r0, [r7, 0x32] - ldr r4, =gUnknown_085CE48C - movs r0, 0x20 - ldrsh r1, [r7, r0] - movs r0, 0x22 - ldrsh r2, [r7, r0] - adds r5, r7, 0 - adds r5, 0x43 - ldrb r3, [r5] - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - bl CreateSprite - mov r9, r0 - mov r1, r9 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - movs r0, 0x20 - ldrsh r1, [r7, r0] - movs r0, 0x22 - ldrsh r2, [r7, r0] - ldrb r3, [r5] - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - bl CreateSprite - mov r8, r0 - mov r1, r8 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - mov r0, r9 - lsls r2, r0, 4 - add r2, r9 - lsls r2, 2 - ldr r1, =gSprites - mov r10, r1 - adds r5, r2, r1 - adds r0, r5, 0 - movs r1, 0x1 - str r2, [sp] - bl StartSpriteAnim - mov r0, r8 - lsls r6, r0, 4 - add r6, r8 - lsls r6, 2 - mov r1, r10 - adds r4, r6, r1 - adds r0, r4, 0 - movs r1, 0x2 - bl StartSpriteAnim - ldr r1, =gBattleAnimArgs - ldrh r0, [r1] - strh r0, [r5, 0x30] - ldrh r0, [r1, 0x2] - strh r0, [r5, 0x32] - ldrh r0, [r1] - strh r0, [r4, 0x30] - ldrh r0, [r1, 0x2] - strh r0, [r4, 0x32] - ldr r0, =0x0000ffff - strh r0, [r5, 0x3C] - movs r0, 0x1 - negs r0, r0 - strh r0, [r4, 0x3C] - adds r5, 0x3E - ldrb r0, [r5] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r5] - adds r4, 0x3E - ldrb r0, [r4] - orrs r0, r1 - strb r0, [r4] - movs r0, 0x1C - add r10, r0 - ldr r2, [sp] - add r2, r10 - ldr r0, =sub_815C050 - str r0, [r2] - add r6, r10 - str r0, [r6] - mov r1, r9 - strh r1, [r7, 0x3A] - mov r0, r8 - strh r0, [r7, 0x3C] - ldr r0, =sub_815BF44 - str r0, [r7, 0x1C] - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815BE04 - - thumb_func_start sub_815BF44 -sub_815BF44: @ 815BF44 - push {lr} - adds r3, r0, 0 - ldrh r2, [r3, 0x32] - ldrh r0, [r3, 0x34] - adds r2, r0 - lsls r0, r2, 16 - asrs r0, 24 - ldrh r1, [r3, 0x26] - subs r1, r0 - strh r1, [r3, 0x26] - movs r0, 0xFF - ands r2, r0 - strh r2, [r3, 0x34] - movs r2, 0x36 - ldrsh r0, [r3, r2] - cmp r0, 0 - bne _0815BF92 - lsls r0, r1, 16 - asrs r0, 16 - movs r1, 0x8 - negs r1, r1 - cmp r0, r1 - bge _0815BF92 - ldr r2, =gSprites - movs r0, 0x3A - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - ldrh r0, [r3, 0x36] - adds r0, 0x1 - strh r0, [r3, 0x36] -_0815BF92: - movs r1, 0x36 - ldrsh r0, [r3, r1] - cmp r0, 0x1 - bne _0815BFC6 - movs r2, 0x26 - ldrsh r1, [r3, r2] - movs r0, 0x10 - negs r0, r0 - cmp r1, r0 - bge _0815BFC6 - ldr r2, =gSprites - movs r0, 0x3C - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - ldrh r0, [r3, 0x36] - adds r0, 0x1 - strh r0, [r3, 0x36] -_0815BFC6: - ldrh r0, [r3, 0x30] - subs r0, 0x1 - strh r0, [r3, 0x30] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _0815BFE8 - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, =sub_815BFF4 - str r0, [r3, 0x1C] -_0815BFE8: - pop {r0} - bx r0 - .pool - thumb_func_end sub_815BF44 - - thumb_func_start sub_815BFF4 -sub_815BFF4: @ 815BFF4 - push {r4-r6,lr} - adds r4, r0, 0 - ldr r5, =gSprites - movs r0, 0x3A - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r3, r0, 2 - adds r6, r5, 0 - adds r6, 0x1C - adds r0, r3, r6 - ldr r2, [r0] - ldr r0, =SpriteCallbackDummy - cmp r2, r0 - bne _0815C040 - movs r1, 0x3C - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldr r0, [r1] - cmp r0, r2 - bne _0815C040 - adds r0, r3, r5 - bl DestroySprite - movs r0, 0x3C - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - bl DestroySprite - adds r0, r4, 0 - bl DestroyAnimSprite -_0815C040: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815BFF4 - - thumb_func_start sub_815C050 -sub_815C050: @ 815C050 - push {lr} - adds r3, r0, 0 - movs r0, 0x3E - adds r0, r3 - mov r12, r0 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _0815C09C - ldrh r2, [r3, 0x32] - ldrh r1, [r3, 0x34] - adds r2, r1 - lsls r1, r2, 16 - asrs r1, 24 - ldrh r0, [r3, 0x26] - subs r0, r1 - strh r0, [r3, 0x26] - movs r0, 0xFF - ands r2, r0 - strh r2, [r3, 0x34] - ldrh r0, [r3, 0x30] - subs r0, 0x1 - strh r0, [r3, 0x30] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _0815C09C - mov r1, r12 - ldrb r0, [r1] - movs r1, 0x4 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - ldr r0, =SpriteCallbackDummy - str r0, [r3, 0x1C] -_0815C09C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_815C050 - - thumb_func_start sub_815C0A4 -sub_815C0A4: @ 815C0A4 - push {r4-r6,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r4, r1, 0 - cmp r0, 0x5 - bls _0815C0C2 - b _0815C396 -_0815C0C2: - lsls r0, 2 - ldr r1, =_0815C0D4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0815C0D4: - .4byte _0815C0EC - .4byte _0815C224 - .4byte _0815C2AC - .4byte _0815C2E2 - .4byte _0815C310 - .4byte _0815C34A -_0815C0EC: - ldr r1, =0x00003f42 - movs r0, 0x50 - bl SetGpuReg - ldr r1, =0x00000d03 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl SetAnimBgAttribute - movs r0, 0x1 - movs r1, 0x4 - movs r2, 0x1 - bl SetAnimBgAttribute - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _0815C124 - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0x1 - bl SetAnimBgAttribute -_0815C124: - mov r0, sp - bl sub_80A6B30 - ldr r1, =gUnknown_08C2A6EC - mov r0, sp - movs r2, 0 - bl sub_80A6D60 - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _0815C15C - ldr r1, =gBattle_BG1_X - ldr r3, =0x0000ffc8 - adds r0, r3, 0 - b _0815C1CA - .pool -_0815C15C: - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerPosition - lsls r0, 24 - lsrs r4, r0, 24 - bl IsDoubleBattle - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0815C1B4 - cmp r4, 0x1 - bne _0815C180 - ldr r1, =gBattle_BG1_X - ldr r2, =0x0000ff65 - adds r0, r2, 0 - strh r0, [r1] -_0815C180: - cmp r4, 0x3 - bne _0815C18C - ldr r1, =gBattle_BG1_X - ldr r3, =0x0000ff8d - adds r0, r3, 0 - strh r0, [r1] -_0815C18C: - cmp r4, 0 - bne _0815C196 - ldr r1, =gBattle_BG1_X - movs r0, 0xE - strh r0, [r1] -_0815C196: - cmp r4, 0x2 - bne _0815C1CC - ldr r1, =gBattle_BG1_X - ldr r2, =0x0000ffec - b _0815C1C8 - .pool -_0815C1B4: - cmp r4, 0x1 - bne _0815C1C0 - ldr r1, =gBattle_BG1_X - ldr r3, =0x0000ff79 - adds r0, r3, 0 - strh r0, [r1] -_0815C1C0: - cmp r4, 0 - bne _0815C1CC - ldr r1, =gBattle_BG1_X - ldr r2, =0x0000fff6 -_0815C1C8: - adds r0, r2, 0 -_0815C1CA: - strh r0, [r1] -_0815C1CC: - ldr r1, =gBattle_BG1_Y - movs r0, 0 - strh r0, [r1] - mov r0, sp - ldrb r0, [r0, 0x9] - ldr r1, =gUnknown_08C2A634 - mov r2, sp - ldrh r2, [r2, 0xA] - bl sub_80A6CC0 - ldr r0, =gUnknown_08C2A6D4 - mov r1, sp - ldrb r1, [r1, 0x8] - lsls r1, 4 - movs r2, 0x20 - bl LoadCompressedPalette - ldr r0, =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldr r0, =gBattle_BG1_X - ldrh r0, [r0] - strh r0, [r1, 0x1C] - ldr r0, =gBattle_BG1_Y - ldrh r0, [r0] - strh r0, [r1, 0x1E] - b _0815C2A4 - .pool -_0815C224: - ldr r1, =gTasks - lsls r4, r6, 2 - adds r0, r4, r6 - lsls r0, 3 - adds r5, r0, r1 - movs r0, 0 - strh r0, [r5, 0xE] - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0815C268 - ldr r2, =gBattle_BG1_X - ldr r1, =gUnknown_085CE4A4 - movs r3, 0xC - ldrsh r0, [r5, r3] - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - ldrh r5, [r5, 0x1C] - adds r0, r5 - b _0815C27A - .pool -_0815C268: - ldr r2, =gBattle_BG1_X - ldr r1, =gUnknown_085CE4A4 - movs r3, 0xC - ldrsh r0, [r5, r3] - adds r0, r1 - movs r1, 0 - ldrsb r1, [r0, r1] - ldrh r0, [r5, 0x1C] - subs r0, r1 -_0815C27A: - strh r0, [r2] - ldr r0, =gTasks - adds r1, r4, r6 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0xC] - adds r0, 0x1 - strh r0, [r1, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _0815C2A4 - strh r0, [r1, 0x8] - b _0815C396 - .pool -_0815C2A4: - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _0815C396 -_0815C2AC: - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r4, r0, r4 - ldrh r0, [r4, 0xA] - subs r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bgt _0815C2C6 - movs r0, 0x5 - strh r0, [r4, 0xA] -_0815C2C6: - ldrh r1, [r4, 0xA] - lsls r1, 8 - movs r0, 0x3 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0x5 - bne _0815C396 - b _0815C302 -_0815C2E2: - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r4, r0, r4 - ldrh r1, [r4, 0xE] - adds r1, 0x1 - strh r1, [r4, 0xE] - lsls r1, 16 - asrs r1, 16 - ldr r2, =gUnknown_085CE4A8 - movs r3, 0xC - ldrsh r0, [r4, r3] - adds r0, r2 - ldrb r0, [r0] - cmp r1, r0 - ble _0815C396 -_0815C302: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0815C396 - .pool -_0815C310: - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r4, r0, r4 - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xD - ble _0815C32A - movs r0, 0xD - strh r0, [r4, 0xA] -_0815C32A: - ldrh r1, [r4, 0xA] - lsls r1, 8 - movs r0, 0x3 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0xD - bne _0815C396 - movs r0, 0x1 - strh r0, [r4, 0x8] - b _0815C396 -_0815C34A: - mov r0, sp - bl sub_80A6B30 - mov r0, sp - ldrb r0, [r0, 0x9] - bl sub_80A6C68 - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _0815C36C - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0 - bl SetAnimBgAttribute -_0815C36C: - movs r0, 0x1 - movs r1, 0x4 - movs r2, 0x1 - bl SetAnimBgAttribute - ldr r0, =gBattle_BG1_X - movs r1, 0 - strh r1, [r0] - ldr r0, =gBattle_BG1_Y - strh r1, [r0] - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - adds r0, r6, 0 - bl DestroyAnimVisualTask -_0815C396: - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815C0A4 - - thumb_func_start sub_815C3A8 -sub_815C3A8: @ 815C3A8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0815C3E8 - movs r0, 0 - bl GetAnimBattlerSpriteId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r2, =gUnknown_085CE4B0 - adds r0, r4, 0 - bl PrepareAffineAnimInTaskData - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0815C3FA - .pool -_0815C3E8: - adds r0, r4, 0 - bl RunAffineAnimFromTaskData - lsls r0, 24 - cmp r0, 0 - bne _0815C3FA - adds r0, r5, 0 - bl DestroyAnimVisualTask -_0815C3FA: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_815C3A8 - - thumb_func_start sub_815C400 -sub_815C400: @ 815C400 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - movs r2, 0x2E - ldrsh r1, [r4, r2] - cmp r1, 0 - bne _0815C41E - adds r0, r4, 0 - movs r1, 0 - bl InitAnimSpritePos - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _0815C472 -_0815C41E: - adds r0, 0x1 - strh r0, [r4, 0x2E] - cmp r1, 0x14 - ble _0815C472 - ldrh r0, [r4, 0x30] - adds r0, 0xA0 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x32] - adds r0, 0x80 - strh r0, [r4, 0x32] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _0815C450 - ldrh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 24 - negs r0, r0 - b _0815C456 - .pool -_0815C450: - ldrh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 24 -_0815C456: - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 24 - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x40 - ble _0815C472 - adds r0, r4, 0 - bl DestroyAnimSprite -_0815C472: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_815C400 - - thumb_func_start sub_815C478 -sub_815C478: @ 815C478 - push {r4,r5,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - ldr r5, =gBattleAnimArgs - movs r1, 0x2 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _0815C4A4 - adds r0, r2, 0 - bl DestroyAnimVisualTask - b _0815C538 - .pool -_0815C4A4: - movs r1, 0x4 - ldrsh r0, [r5, r1] - cmp r0, 0 - bge _0815C4B0 - movs r0, 0 - strh r0, [r5, 0x4] -_0815C4B0: - movs r1, 0x4 - ldrsh r0, [r5, r1] - cmp r0, 0x2 - ble _0815C4BC - movs r0, 0x2 - strh r0, [r5, 0x4] -_0815C4BC: - movs r0, 0 - strh r0, [r4, 0x8] - strh r0, [r4, 0xA] - strh r0, [r4, 0xC] - movs r0, 0x4 - ldrsh r1, [r5, r0] - lsls r1, 1 - movs r0, 0x8 - subs r0, r1 - strh r0, [r4, 0xE] - movs r1, 0x4 - ldrsh r0, [r5, r1] - lsls r0, 7 - movs r1, 0x80 - lsls r1, 1 - adds r0, r1 - strh r0, [r4, 0x10] - ldrh r0, [r5, 0x4] - adds r0, 0x2 - strh r0, [r4, 0x12] - ldrh r0, [r5, 0x2] - subs r0, 0x1 - strh r0, [r4, 0x14] - ldrb r0, [r5] - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x26] - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _0815C508 - ldr r0, =gBattleAnimAttacker - b _0815C50A - .pool -_0815C508: - ldr r0, =gBattleAnimTarget -_0815C50A: - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0815C528 - movs r1, 0x10 - ldrsh r0, [r4, r1] - negs r0, r0 - strh r0, [r4, 0x10] - movs r1, 0x12 - ldrsh r0, [r4, r1] - negs r0, r0 - strh r0, [r4, 0x12] -_0815C528: - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl PrepareBattlerSpriteForRotScale - ldr r0, =sub_815C548 - str r0, [r4] -_0815C538: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815C478 - - thumb_func_start sub_815C548 -sub_815C548: @ 815C548 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r0, 0x8 - ldrsh r6, [r4, r0] - cmp r6, 0x1 - beq _0815C5D0 - cmp r6, 0x1 - bgt _0815C570 - cmp r6, 0 - beq _0815C57C - b _0815C6A8 - .pool -_0815C570: - cmp r6, 0x2 - beq _0815C628 - cmp r6, 0x3 - bne _0815C57A - b _0815C698 -_0815C57A: - b _0815C6A8 -_0815C57C: - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r4, 0x12] - ldrh r2, [r0, 0x24] - adds r1, r2 - strh r1, [r0, 0x24] - ldrh r0, [r4, 0xC] - ldrh r1, [r4, 0x10] - subs r0, r1 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0xC] - adds r1, r2, 0 - bl SetSpriteRotScale - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl SetBattlerSpriteYOffsetFromRotation - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - movs r2, 0xE - ldrsh r1, [r4, r2] - cmp r0, r1 - blt _0815C6A8 - strh r6, [r4, 0xA] - b _0815C690 - .pool -_0815C5D0: - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x24] - ldrh r2, [r4, 0x12] - subs r1, r2 - strh r1, [r0, 0x24] - ldrh r0, [r4, 0x10] - ldrh r1, [r4, 0xC] - adds r0, r1 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0xC] - adds r1, r2, 0 - bl SetSpriteRotScale - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl SetBattlerSpriteYOffsetFromRotation - ldrh r1, [r4, 0xA] - adds r1, 0x1 - strh r1, [r4, 0xA] - lsls r1, 16 - asrs r1, 16 - movs r2, 0xE - ldrsh r0, [r4, r2] - lsls r0, 1 - cmp r1, r0 - blt _0815C6A8 - movs r0, 0 - strh r0, [r4, 0xA] - b _0815C690 - .pool -_0815C628: - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r4, 0x12] - ldrh r2, [r0, 0x24] - adds r1, r2 - movs r5, 0 - strh r1, [r0, 0x24] - ldrh r0, [r4, 0xC] - ldrh r1, [r4, 0x10] - subs r0, r1 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0xC] - adds r1, r2, 0 - bl SetSpriteRotScale - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl SetBattlerSpriteYOffsetFromRotation - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - movs r2, 0xE - ldrsh r1, [r4, r2] - cmp r0, r1 - blt _0815C6A8 - ldrh r1, [r4, 0x14] - movs r2, 0x14 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _0815C690 - subs r0, r1, 0x1 - strh r0, [r4, 0x14] - strh r5, [r4, 0xA] - strh r5, [r4, 0x8] - b _0815C6A8 - .pool -_0815C690: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0815C6A8 -_0815C698: - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl ResetSpriteRotScale - adds r0, r5, 0 - bl DestroyAnimVisualTask -_0815C6A8: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_815C548 - - thumb_func_start sub_815C6B0 -sub_815C6B0: @ 815C6B0 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _0815C6D4 - strh r0, [r4, 0x20] - ldr r1, =gBattleAnimArgs - ldrh r0, [r1] - b _0815C6DE - .pool -_0815C6D4: - movs r0, 0xF0 - strh r0, [r4, 0x20] - ldr r1, =gBattleAnimArgs - ldrh r0, [r1] - subs r0, 0x1E -_0815C6DE: - strh r0, [r4, 0x22] - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x32] - ldrb r1, [r1, 0x2] - adds r0, r4, 0 - bl StartSpriteAnim - ldr r0, =sub_815C700 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815C6B0 - - thumb_func_start sub_815C700 -sub_815C700: @ 815C700 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x3 - strh r0, [r4, 0x2E] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _0815C744 - ldrh r1, [r4, 0x20] - adds r1, 0x5 - strh r1, [r4, 0x20] - ldrh r0, [r4, 0x22] - subs r0, 0x1 - strh r0, [r4, 0x22] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0xF0 - ble _0815C732 - adds r0, r4, 0 - bl DestroyAnimSprite -_0815C732: - ldrh r1, [r4, 0x2E] - movs r0, 0xFF - ands r0, r1 - movs r1, 0x10 - bl Sin - b _0815C768 - .pool -_0815C744: - ldrh r1, [r4, 0x20] - subs r1, 0x5 - strh r1, [r4, 0x20] - ldrh r0, [r4, 0x22] - adds r0, 0x1 - strh r0, [r4, 0x22] - lsls r1, 16 - cmp r1, 0 - bge _0815C75C - adds r0, r4, 0 - bl DestroyAnimSprite -_0815C75C: - ldrh r1, [r4, 0x2E] - movs r0, 0xFF - ands r0, r1 - movs r1, 0x10 - bl Cos -_0815C768: - strh r0, [r4, 0x26] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_815C700 - - thumb_func_start sub_815C770 -sub_815C770: @ 815C770 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, =gTasks - adds r4, r0 - movs r0, 0 - strh r0, [r4, 0x8] - strh r0, [r4, 0xA] - strh r0, [r4, 0xC] - strh r0, [r4, 0xE] - movs r0, 0x20 - strh r0, [r4, 0x20] - movs r0, 0x40 - strh r0, [r4, 0x22] - movs r0, 0x80 - lsls r0, 4 - strh r0, [r4, 0x24] - ldr r0, =gBattleAnimArgs - ldrb r0, [r0] - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x26] - movs r1, 0 - bl PrepareBattlerSpriteForRotScale - ldr r0, =sub_815C7C4 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815C770 - - thumb_func_start sub_815C7C4 -sub_815C7C4: @ 815C7C4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks - adds r7, r0, r1 - movs r1, 0x8 - ldrsh r0, [r7, r1] - mov r8, r0 - cmp r0, 0x1 - beq _0815C860 - cmp r0, 0x1 - bgt _0815C7F4 - cmp r0, 0 - beq _0815C7FC - b _0815C8DA - .pool -_0815C7F4: - mov r2, r8 - cmp r2, 0x2 - beq _0815C8C8 - b _0815C8DA -_0815C7FC: - movs r3, 0x80 - lsls r3, 2 - adds r0, r3, 0 - ldrh r1, [r7, 0xC] - adds r2, r0, r1 - strh r2, [r7, 0xC] - lsls r0, r2, 16 - asrs r0, 16 - ldrh r3, [r7, 0x24] - mov r8, r3 - movs r3, 0x24 - ldrsh r1, [r7, r3] - cmp r0, r1 - blt _0815C8DA - mov r0, r8 - subs r5, r0, r2 - lsls r5, 16 - asrs r5, 16 - adds r6, r1, 0 - lsls r6, 1 - adds r0, r5, 0 - adds r1, r6, 0 - bl __divsi3 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - adds r1, r6, 0 - bl __modsi3 - lsls r0, 16 - lsrs r0, 16 - lsls r4, 16 - asrs r4, 16 - movs r1, 0x1 - ands r4, r1 - cmp r4, 0 - bne _0815C854 - lsls r0, 16 - asrs r0, 16 - mov r2, r8 - subs r0, r2, r0 - b _0815C8B2 -_0815C854: - lsls r0, 16 - asrs r0, 16 - mov r3, r8 - subs r0, r3 - strh r0, [r7, 0xC] - b _0815C8DA -_0815C860: - ldr r1, =0xfffffe00 - adds r0, r1, 0 - ldrh r2, [r7, 0xC] - adds r1, r0, r2 - strh r1, [r7, 0xC] - movs r3, 0xC - ldrsh r0, [r7, r3] - movs r2, 0x24 - ldrsh r6, [r7, r2] - cmn r0, r6 - bgt _0815C8DA - ldrh r3, [r7, 0x24] - mov r9, r3 - mov r0, r9 - subs r4, r0, r1 - lsls r4, 16 - asrs r4, 16 - lsls r6, 1 - adds r0, r4, 0 - adds r1, r6, 0 - bl __divsi3 - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r4, 0 - adds r1, r6, 0 - bl __modsi3 - lsls r0, 16 - lsrs r2, r0, 16 - mov r1, r8 - ands r1, r5 - lsls r0, r1, 16 - asrs r1, r0, 16 - cmp r1, 0 - bne _0815C8BC - lsls r0, r2, 16 - asrs r0, 16 - mov r2, r9 - subs r0, r2 -_0815C8B2: - strh r0, [r7, 0xC] - strh r1, [r7, 0x8] - b _0815C8DA - .pool -_0815C8BC: - lsls r0, r2, 16 - asrs r0, 16 - mov r3, r9 - subs r0, r3, r0 - strh r0, [r7, 0xC] - b _0815C8DA -_0815C8C8: - ldrh r0, [r7, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl ResetSpriteRotScale - adds r0, r4, 0 - bl DestroyAnimVisualTask - b _0815C950 -_0815C8DA: - ldrh r0, [r7, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r7, 0xC] - adds r1, r2, 0 - bl SetSpriteRotScale - ldrh r0, [r7, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl SetBattlerSpriteYOffsetFromRotation - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r7, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - movs r2, 0xC - ldrsh r0, [r7, r2] - cmp r0, 0 - bge _0815C90E - adds r0, 0x3F -_0815C90E: - asrs r0, 6 - negs r0, r0 - strh r0, [r1, 0x24] - ldrh r0, [r7, 0xA] - adds r0, 0x1 - strh r0, [r7, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - ble _0815C950 - ldrh r1, [r7, 0x20] - movs r3, 0x20 - ldrsh r0, [r7, r3] - cmp r0, 0 - beq _0815C94C - subs r0, r1, 0x1 - strh r0, [r7, 0x20] - ldrh r0, [r7, 0x24] - ldrh r1, [r7, 0x22] - subs r0, r1 - strh r0, [r7, 0x24] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xF - bgt _0815C950 - movs r0, 0x10 - strh r0, [r7, 0x24] - b _0815C950 - .pool -_0815C94C: - movs r0, 0x2 - strh r0, [r7, 0x8] -_0815C950: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_815C7C4 - - thumb_func_start sub_815C95C -sub_815C95C: @ 815C95C - push {r4-r6,lr} - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _0815C9BC - ldr r6, =gBattleAnimArgs - movs r2, 0x4 - ldrsh r0, [r6, r2] - cmp r0, 0 - bne _0815C990 - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] -_0815C990: - ldrh r0, [r6] - ldrh r1, [r5, 0x20] - adds r0, r1 - strh r0, [r5, 0x20] - ldrh r1, [r6, 0x2] - ldrh r2, [r5, 0x22] - adds r0, r1, r2 - strh r0, [r5, 0x22] - movs r0, 0x80 - strh r0, [r5, 0x30] - movs r0, 0xC0 - lsls r0, 2 - strh r0, [r5, 0x32] - strh r1, [r5, 0x34] - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - b _0815CA1A - .pool -_0815C9BC: - ldrh r1, [r5, 0x30] - lsls r0, r1, 16 - asrs r0, 24 - strh r0, [r5, 0x24] - ldrh r0, [r5, 0x32] - lsls r0, 16 - asrs r0, 24 - ldrh r2, [r5, 0x26] - adds r0, r2 - strh r0, [r5, 0x26] - movs r2, 0x36 - ldrsh r0, [r5, r2] - adds r4, r1, 0 - cmp r0, 0 - bne _0815C9FA - movs r0, 0x26 - ldrsh r1, [r5, r0] - movs r2, 0x34 - ldrsh r0, [r5, r2] - cmn r1, r0 - ble _0815C9FA - movs r0, 0x1 - strh r0, [r5, 0x36] - movs r1, 0x32 - ldrsh r0, [r5, r1] - negs r0, r0 - movs r1, 0x3 - bl __divsi3 - lsls r0, 1 - strh r0, [r5, 0x32] -_0815C9FA: - adds r0, r4, 0 - adds r0, 0xC0 - strh r0, [r5, 0x30] - ldrh r0, [r5, 0x32] - adds r0, 0x80 - strh r0, [r5, 0x32] - adds r0, r5, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0815CA1A - adds r0, r5, 0 - bl DestroyAnimSprite -_0815CA1A: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_815C95C - - thumb_func_start sub_815CA20 -sub_815CA20: @ 815CA20 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - adds r7, r0, 0 - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r2, r0, r1 - movs r1, 0x8 - ldrsh r0, [r2, r1] - cmp r0, 0 - bne _0815CB2C - ldr r0, =gBattleAnimArgs - movs r3, 0 - ldrsh r1, [r0, r3] - mov r8, r0 - cmp r1, 0 - bne _0815CA5C - ldr r0, =gBattleAnimAttacker - b _0815CA5E - .pool -_0815CA5C: - ldr r0, =gBattleAnimTarget -_0815CA5E: - ldrb r0, [r0] - strh r0, [r2, 0x1E] - mov r1, r8 - ldrb r0, [r1] - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gTasks - lsls r4, r7, 2 - adds r0, r4, r7 - lsls r0, 3 - adds r6, r0, r1 - strh r5, [r6, 0x1C] - adds r0, r5, 0 - movs r1, 0 - bl PrepareBattlerSpriteForRotScale - mov r2, r8 - movs r3, 0x2 - ldrsh r0, [r2, r3] - cmp r0, 0x1 - beq _0815CAC0 - cmp r0, 0x1 - bgt _0815CAA0 - cmp r0, 0 - beq _0815CAA8 - lsls r2, r5, 4 - b _0815CB08 - .pool -_0815CAA0: - cmp r0, 0x2 - beq _0815CACA - lsls r2, r5, 4 - b _0815CB08 -_0815CAA8: - movs r2, 0xA0 - lsls r2, 1 - adds r0, r5, 0 - movs r1, 0xE0 - movs r3, 0 - bl SetSpriteRotScale - adds r0, r5, 0 - bl SetBattlerSpriteYOffsetFromYScale - lsls r2, r5, 4 - b _0815CB08 -_0815CAC0: - movs r2, 0x98 - lsls r2, 1 - movs r3, 0xF0 - lsls r3, 4 - b _0815CAD2 -_0815CACA: - movs r2, 0x98 - lsls r2, 1 - movs r3, 0xF1 - lsls r3, 8 -_0815CAD2: - adds r0, r5, 0 - movs r1, 0xD0 - bl SetSpriteRotScale - adds r0, r5, 0 - bl SetBattlerSpriteYOffsetFromYScale - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _0815CAF8 - ldrb r0, [r6, 0x1E] - bl GetBattlerSide - lsls r0, 24 - lsls r2, r5, 4 - cmp r0, 0 - bne _0815CB08 -_0815CAF8: - ldr r0, =gSprites - lsls r2, r5, 4 - adds r1, r2, r5 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r1, 0x26] - adds r0, 0x10 - strh r0, [r1, 0x26] -_0815CB08: - ldr r1, =gSprites - adds r0, r2, r5 - lsls r0, 2 - adds r0, r1 - movs r1, 0x2 - strh r1, [r0, 0x24] - ldr r0, =gTasks - adds r1, r4, r7 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _0815CB78 - .pool -_0815CB2C: - ldrb r5, [r2, 0x1C] - ldrh r0, [r2, 0xC] - adds r0, 0x1 - movs r4, 0 - strh r0, [r2, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - bne _0815CB50 - strh r4, [r2, 0xC] - ldr r0, =gSprites - lsls r1, r5, 4 - adds r1, r5 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r1, 0x24] - negs r0, r0 - strh r0, [r1, 0x24] -_0815CB50: - ldrh r0, [r2, 0xA] - adds r0, 0x1 - strh r0, [r2, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xD - bne _0815CB78 - adds r0, r5, 0 - bl ResetSpriteRotScale - ldr r1, =gSprites - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r0, r1 - strh r4, [r0, 0x24] - strh r4, [r0, 0x26] - adds r0, r7, 0 - bl DestroyAnimVisualTask -_0815CB78: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815CA20 - - thumb_func_start sub_815CB88 -sub_815CB88: @ 815CB88 - push {r4,r5,lr} - adds r4, r0, 0 - bl Random2 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xC - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - ldrh r2, [r4, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - adds r1, r0 - ldr r3, =0x000003ff - adds r0, r3, 0 - ands r1, r0 - ldr r0, =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r4, 0x4] - bl Random2 - ldr r5, =0x000001ff - ands r5, r0 - bl Random2 - movs r1, 0xFF - ands r1, r0 - movs r0, 0x1 - ands r0, r5 - cmp r0, 0 - beq _0815CBE0 - movs r2, 0xBC - lsls r2, 3 - adds r0, r5, r2 - b _0815CBE8 - .pool -_0815CBE0: - movs r3, 0xBC - lsls r3, 3 - adds r0, r3, 0 - subs r0, r5 -_0815CBE8: - strh r0, [r4, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0815CBFA - movs r2, 0x90 - lsls r2, 3 - adds r0, r1, r2 - b _0815CC02 -_0815CBFA: - movs r3, 0x90 - lsls r3, 3 - adds r0, r3, 0 - subs r0, r1 -_0815CC02: - strh r0, [r4, 0x30] - ldr r0, =gBattleAnimArgs - ldrh r0, [r0] - strh r0, [r4, 0x32] - lsls r0, 16 - cmp r0, 0 - bne _0815CC1C - ldr r0, =0x0000fff8 - b _0815CC1E - .pool -_0815CC1C: - movs r0, 0xF8 -_0815CC1E: - strh r0, [r4, 0x20] - movs r0, 0x68 - strh r0, [r4, 0x22] - ldr r0, =sub_815CC34 - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815CB88 - - thumb_func_start sub_815CC34 -sub_815CC34: @ 815CC34 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0815CC4C - ldrh r3, [r4, 0x2E] - lsls r0, r3, 16 - asrs r0, 24 - ldrh r1, [r4, 0x24] - adds r0, r1 - b _0815CC56 -_0815CC4C: - ldrh r3, [r4, 0x2E] - lsls r1, r3, 16 - asrs r1, 24 - ldrh r0, [r4, 0x24] - subs r0, r1 -_0815CC56: - strh r0, [r4, 0x24] - ldrh r2, [r4, 0x30] - lsls r1, r2, 16 - asrs r1, 24 - ldrh r0, [r4, 0x26] - subs r0, r1 - strh r0, [r4, 0x26] - adds r0, r3, 0 - subs r0, 0x16 - strh r0, [r4, 0x2E] - adds r1, r2, 0 - subs r1, 0x30 - strh r1, [r4, 0x30] - lsls r0, 16 - cmp r0, 0 - bge _0815CC7A - movs r0, 0 - strh r0, [r4, 0x2E] -_0815CC7A: - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1F - bne _0815CC8E - adds r0, r4, 0 - bl DestroyAnimSprite -_0815CC8E: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_815CC34 - - thumb_func_start sub_815CC94 -sub_815CC94: @ 815CC94 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r1, =0x00001f3f - movs r0, 0x4A - bl SetGpuReg - movs r1, 0x80 - lsls r1, 8 - movs r0, 0 - bl SetGpuRegBits - ldr r0, =gBattle_WIN0H - movs r1, 0 - strh r1, [r0] - ldr r4, =gBattle_WIN0V - strh r1, [r4] - movs r0, 0x40 - movs r1, 0 - bl SetGpuReg - ldrh r1, [r4] - movs r0, 0x44 - bl SetGpuReg - ldr r0, =gBattleAnimArgs - ldrh r0, [r0, 0x4] - strh r0, [r5, 0x2E] - adds r0, r5, 0 - movs r1, 0 - bl sub_80A6980 - ldrb r1, [r5, 0x1] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x8 - orrs r0, r1 - strb r0, [r5, 0x1] - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, =sub_815CD0C - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815CC94 - - thumb_func_start sub_815CD0C -sub_815CD0C: @ 815CD0C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x30 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0815CD4A - cmp r0, 0x1 - bgt _0815CD22 - cmp r0, 0 - beq _0815CD2C - b _0815CDAA -_0815CD22: - cmp r0, 0x2 - beq _0815CD60 - cmp r0, 0x3 - beq _0815CD82 - b _0815CDAA -_0815CD2C: - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0815CDAA - b _0815CD7A -_0815CD4A: - ldrh r0, [r4, 0x2E] - subs r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - cmp r0, 0 - bne _0815CDAA - adds r0, r4, 0 - movs r1, 0x1 - bl ChangeSpriteAffineAnim - b _0815CD7A -_0815CD60: - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0815CDAA - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_0815CD7A: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - b _0815CDAA -_0815CD82: - ldr r1, =0x00003f3f - movs r0, 0x4A - bl SetGpuReg - movs r0, 0 - bl GetGpuReg - adds r1, r0, 0 - movs r2, 0x80 - lsls r2, 8 - adds r0, r2, 0 - eors r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0 - bl SetGpuReg - adds r0, r4, 0 - bl DestroyAnimSprite -_0815CDAA: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815CD0C - - thumb_func_start sub_815CDB4 -sub_815CDB4: @ 815CDB4 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, =gBattleAnimAttacker - ldrb r0, [r5] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x20] - ldrb r0, [r5] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x22] - ldr r1, =gBattleAnimArgs - ldrh r0, [r1] - strh r0, [r4, 0x2E] - ldrh r0, [r1, 0x2] - strh r0, [r4, 0x30] - ldr r1, =sub_815CDFC - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815CDB4 - - thumb_func_start sub_815CDFC -sub_815CDFC: @ 815CDFC - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x30 - ldrsh r0, [r4, r1] - ldrh r1, [r4, 0x32] - lsls r1, 16 - asrs r1, 24 - bl Sin - strh r0, [r4, 0x24] - movs r2, 0x30 - ldrsh r0, [r4, r2] - ldrh r1, [r4, 0x34] - lsls r1, 16 - asrs r1, 24 - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x30] - adds r0, 0x9 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x30] - lsls r1, r0, 16 - cmp r0, 0x3F - bls _0815CE36 - asrs r0, r1, 16 - cmp r0, 0xC3 - ble _0815CE48 -_0815CE36: - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSpriteSubpriority - subs r0, 0x1 - b _0815CE52 - .pool -_0815CE48: - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSpriteSubpriority - adds r0, 0x1 -_0815CE52: - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - movs r3, 0x38 - ldrsh r2, [r4, r3] - cmp r2, 0 - bne _0815CE98 - movs r1, 0x80 - lsls r1, 3 - adds r0, r1, 0 - ldrh r3, [r4, 0x32] - adds r0, r3 - strh r0, [r4, 0x32] - movs r1, 0x80 - lsls r1, 1 - adds r0, r1, 0 - ldrh r3, [r4, 0x34] - adds r0, r3 - strh r0, [r4, 0x34] - ldrh r0, [r4, 0x36] - adds r0, 0x1 - strh r0, [r4, 0x36] - lsls r0, 16 - asrs r0, 16 - movs r3, 0x2E - ldrsh r1, [r4, r3] - cmp r0, r1 - bne _0815CEC8 - strh r2, [r4, 0x36] - movs r0, 0x1 - strh r0, [r4, 0x38] - b _0815CEC8 - .pool -_0815CE98: - cmp r2, 0x1 - bne _0815CEC8 - ldr r1, =0xfffffc00 - adds r0, r1, 0 - ldrh r2, [r4, 0x32] - adds r0, r2 - strh r0, [r4, 0x32] - ldr r3, =0xffffff00 - adds r0, r3, 0 - ldrh r1, [r4, 0x34] - adds r0, r1 - strh r0, [r4, 0x34] - ldrh r0, [r4, 0x36] - adds r0, 0x1 - strh r0, [r4, 0x36] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x2E - ldrsh r1, [r4, r2] - cmp r0, r1 - bne _0815CEC8 - adds r0, r4, 0 - bl DestroyAnimSprite -_0815CEC8: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815CDFC - - thumb_func_start sub_815CED8 -sub_815CED8: @ 815CED8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x18] - movs r0, 0 - bl GetAnimBattlerSpriteId - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _0815CF18 - movs r0, 0x1 - str r0, [sp, 0x1C] - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x18] - ldr r1, [r0, 0x10] - mov r9, r1 - ldr r2, [r0, 0xC] - mov r8, r2 - ldrh r6, [r0, 0x2] - movs r3, 0x14 - b _0815D058 - .pool -_0815CF18: - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _0815CFC4 - movs r0, 0 - str r0, [sp, 0x1C] - ldr r6, =gBattlerPartyIndexes - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - lsls r0, 1 - adds r0, r6 - ldrh r0, [r0] - movs r5, 0x64 - muls r0, r5 - ldr r7, =gPlayerParty - adds r0, r7 - movs r1, 0 - bl GetMonData - mov r9, r0 - ldrb r0, [r4] - lsls r0, 1 - adds r0, r6 - ldrh r0, [r0] - muls r0, r5 - adds r0, r7 - movs r1, 0x1 - bl GetMonData - mov r8, r0 - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldrb r2, [r4] - ldr r1, [r0] - lsls r0, r2, 2 - adds r1, r0, r1 - ldrh r0, [r1, 0x2] - cmp r0, 0 - bne _0815CFBC - adds r0, r2, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _0815CF9C - ldrb r0, [r4] - lsls r0, 1 - adds r0, r6 - ldrh r0, [r0] - muls r0, r5 - adds r0, r7 - b _0815CFAA - .pool -_0815CF9C: - ldrb r0, [r4] - lsls r0, 1 - adds r0, r6 - ldrh r0, [r0] - muls r0, r5 - ldr r1, =gEnemyParty - adds r0, r1 -_0815CFAA: - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r6, r0, 16 - b _0815CFBE - .pool -_0815CFBC: - ldrh r6, [r1, 0x2] -_0815CFBE: - movs r1, 0x14 - mov r10, r1 - b _0815D05A -_0815CFC4: - movs r2, 0x1 - str r2, [sp, 0x1C] - ldr r6, =gBattlerPartyIndexes - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - lsls r0, 1 - adds r0, r6 - ldrh r0, [r0] - movs r5, 0x64 - muls r0, r5 - ldr r7, =gEnemyParty - adds r0, r7 - movs r1, 0 - bl GetMonData - mov r9, r0 - ldrb r0, [r4] - lsls r0, 1 - adds r0, r6 - ldrh r0, [r0] - muls r0, r5 - adds r0, r7 - movs r1, 0x1 - bl GetMonData - mov r8, r0 - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldrb r2, [r4] - ldr r1, [r0] - lsls r0, r2, 2 - adds r1, r0, r1 - ldrh r0, [r1, 0x2] - cmp r0, 0 - bne _0815D054 - adds r0, r2, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _0815D03C - ldrb r0, [r4] - lsls r0, 1 - adds r0, r6 - ldrh r0, [r0] - muls r0, r5 - ldr r1, =gPlayerParty - adds r0, r1 - b _0815D048 - .pool -_0815D03C: - ldrb r0, [r4] - lsls r0, 1 - adds r0, r6 - ldrh r0, [r0] - muls r0, r5 - adds r0, r7 -_0815D048: - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r6, r0, 16 - b _0815D056 -_0815D054: - ldrh r6, [r1, 0x2] -_0815D056: - ldr r3, =0x0000ffec -_0815D058: - mov r10, r3 -_0815D05A: - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl sub_80A8328 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r5, =gBattleAnimAttacker - ldrb r0, [r5] - movs r1, 0 - bl GetBattlerSpriteCoord - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldrb r0, [r5] - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - mov r2, r10 - lsls r1, r2, 16 - asrs r1, 16 - adds r4, r1 - lsls r4, 16 - asrs r4, 16 - lsrs r0, 24 - str r0, [sp] - movs r0, 0x5 - str r0, [sp, 0x4] - mov r3, r9 - str r3, [sp, 0x8] - mov r0, r8 - str r0, [sp, 0xC] - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - str r0, [sp, 0x10] - movs r0, 0x1 - str r0, [sp, 0x14] - adds r0, r6, 0 - ldr r1, [sp, 0x1C] - movs r2, 0 - adds r3, r4, 0 - bl sub_80A8394 - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - ldr r0, =gSprites - lsls r5, r6, 4 - adds r5, r6 - lsls r5, 2 - adds r5, r0 - movs r0, 0x3 - ands r7, r0 - lsls r7, 2 - mov r8, r7 - ldrb r0, [r5, 0x5] - movs r4, 0xD - negs r4, r4 - adds r1, r4, 0 - ands r1, r0 - mov r2, r8 - orrs r1, r2 - strb r1, [r5, 0x5] - ldrb r2, [r5, 0x1] - adds r0, r4, 0 - ands r0, r2 - movs r2, 0x4 - orrs r0, r2 - strb r0, [r5, 0x1] - ldr r0, =0x00007fff - lsrs r1, 4 - lsls r1, 4 - movs r3, 0x80 - lsls r3, 1 - adds r2, r3, 0 - orrs r1, r2 - movs r2, 0x20 - bl FillPalette - ldrb r0, [r5, 0x5] - ands r4, r0 - mov r0, r8 - orrs r4, r0 - strb r4, [r5, 0x5] - movs r1, 0xFD - lsls r1, 6 - movs r0, 0x50 - bl SetGpuReg - ldr r0, =gTasks - ldr r1, [sp, 0x18] - lsls r4, r1, 2 - adds r4, r1 - lsls r4, 3 - adds r4, r0 - ldrh r0, [r4, 0xA] - movs r1, 0x10 - subs r1, r0 - lsls r1, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - strh r6, [r4, 0x8] - ldr r0, =sub_815D160 - str r0, [r4] - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815CED8 - - thumb_func_start sub_815D160 -sub_815D160: @ 815D160 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r0, [r4, 0x1C] - adds r1, r0, 0x1 - strh r1, [r4, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _0815D1AE - movs r0, 0 - strh r0, [r4, 0x1C] - ldrh r1, [r4, 0xA] - adds r1, 0x1 - strh r1, [r4, 0xA] - movs r0, 0x10 - subs r0, r1 - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0xA - bne _0815D1AE - movs r0, 0x80 - lsls r0, 1 - strh r0, [r4, 0x1C] - strh r0, [r4, 0x1E] - ldr r0, =sub_815D1BC - str r0, [r4] -_0815D1AE: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815D160 - - thumb_func_start sub_815D1BC -sub_815D1BC: @ 815D1BC - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r5, r1, r2 - ldrb r2, [r5, 0x8] - ldrh r0, [r5, 0x1C] - subs r0, 0x10 - movs r4, 0 - strh r0, [r5, 0x1C] - ldrh r0, [r5, 0x1E] - adds r0, 0x80 - strh r0, [r5, 0x1E] - ldr r1, =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r6, r0, r1 - ldrb r2, [r6, 0x1] - lsls r1, r2, 30 - lsrs r1, 30 - movs r0, 0x2 - orrs r1, r0 - subs r0, 0x6 - ands r0, r2 - orrs r0, r1 - strb r0, [r6, 0x1] - movs r0, 0x1C - ldrsh r2, [r5, r0] - movs r0, 0x1E - ldrsh r3, [r5, r0] - str r4, [sp] - adds r0, r6, 0 - movs r1, 0x1 - bl TrySetSpriteRotScale - ldrh r0, [r5, 0x20] - adds r0, 0x1 - strh r0, [r5, 0x20] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x9 - bne _0815D22A - adds r0, r6, 0 - bl sub_80A749C - adds r0, r6, 0 - bl sub_80A8610 - ldr r0, =sub_80A6814 - str r0, [r5] -_0815D22A: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815D1BC - - thumb_func_start sub_815D240 -sub_815D240: @ 815D240 - push {r4-r7,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r4, r1, r0 - ldr r0, =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _0815D26C - ldr r0, =gBattleAnimAttacker - b _0815D26E - .pool -_0815D26C: - ldr r0, =gBattleAnimTarget -_0815D26E: - ldrb r5, [r0] - movs r6, 0 - strh r6, [r4, 0x8] - strh r6, [r4, 0xA] - strh r6, [r4, 0xC] - movs r0, 0x10 - strh r0, [r4, 0xE] - strh r6, [r4, 0x10] - strh r5, [r4, 0x12] - movs r0, 0x20 - strh r0, [r4, 0x14] - strh r6, [r4, 0x16] - movs r0, 0x18 - strh r0, [r4, 0x18] - adds r0, r5, 0 - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0815D2A0 - movs r1, 0x18 - ldrsh r0, [r4, r1] - negs r0, r0 - strh r0, [r4, 0x18] -_0815D2A0: - adds r0, r5, 0 - bl GetBattlerYCoordWithElevation - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x22 - strh r0, [r4, 0x22] - cmp r0, 0 - bge _0815D2B4 - strh r6, [r4, 0x22] -_0815D2B4: - ldrh r0, [r4, 0x22] - adds r0, 0x42 - strh r0, [r4, 0x24] - ldr r0, =gBattleAnimArgs - ldrb r0, [r0] - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x26] - adds r0, r5, 0 - bl sub_80A8364 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0815D304 - ldr r0, =0x04000014 - str r0, [sp] - ldr r1, =0x00003f42 - movs r0, 0x50 - bl SetGpuReg - ldr r0, =gBattle_BG1_X - ldrh r5, [r0] - ldr r0, =gBattle_BG1_Y - b _0815D316 - .pool -_0815D304: - ldr r0, =0x04000018 - str r0, [sp] - ldr r1, =0x00003f44 - movs r0, 0x50 - bl SetGpuReg - ldr r0, =gBattle_BG2_X - ldrh r5, [r0] - ldr r0, =gBattle_BG2_Y -_0815D316: - ldrh r3, [r0] - movs r7, 0 - movs r2, 0 - ldr r6, =gScanlineEffectRegBuffers - movs r0, 0xF0 - lsls r0, 3 - adds r0, r6 - mov r12, r0 -_0815D326: - lsls r2, 16 - asrs r2, 16 - lsls r1, r2, 1 - adds r0, r1, r6 - strh r5, [r0] - add r1, r12 - strh r5, [r1] - adds r0, r2, 0x1 - lsls r0, 1 - adds r1, r0, r6 - strh r3, [r1] - add r0, r12 - strh r3, [r0] - lsls r0, r7, 16 - movs r1, 0x80 - lsls r1, 9 - adds r0, r1 - adds r2, 0x2 - lsls r2, 16 - lsrs r2, 16 - lsrs r7, r0, 16 - asrs r0, 16 - cmp r0, 0x9F - ble _0815D326 - ldr r0, =0xa6600001 - str r0, [sp, 0x4] - mov r1, sp - movs r2, 0 - movs r0, 0x1 - strb r0, [r1, 0x8] - mov r0, sp - strb r2, [r0, 0x9] - ldr r0, [sp] - ldr r1, [sp, 0x4] - ldr r2, [sp, 0x8] - bl ScanlineEffect_SetParams - ldr r0, =sub_815D398 - str r0, [r4] - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815D240 - - thumb_func_start sub_815D398 -sub_815D398: @ 815D398 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks - adds r6, r0, r1 - ldrb r0, [r6, 0x12] - bl sub_80A8364 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0815D3D8 - ldr r0, =gBattle_BG1_X - ldrh r0, [r0] - str r0, [sp, 0x4] - ldr r0, =gBattle_BG1_Y - b _0815D3E0 - .pool -_0815D3D8: - ldr r0, =gBattle_BG2_X - ldrh r0, [r0] - str r0, [sp, 0x4] - ldr r0, =gBattle_BG2_Y -_0815D3E0: - ldrh r0, [r0] - str r0, [sp, 0x8] - movs r1, 0x8 - ldrsh r0, [r6, r1] - cmp r0, 0x1 - bne _0815D3EE - b _0815D5CC -_0815D3EE: - cmp r0, 0x1 - bgt _0815D400 - cmp r0, 0 - beq _0815D40E - b _0815D63C - .pool -_0815D400: - cmp r0, 0x2 - bne _0815D406 - b _0815D5EC -_0815D406: - cmp r0, 0x3 - bne _0815D40C - b _0815D636 -_0815D40C: - b _0815D63C -_0815D40E: - movs r2, 0x24 - ldrsh r0, [r6, r2] - lsls r0, 17 - lsrs r5, r0, 16 - movs r3, 0 - str r3, [sp] - mov r9, r3 - movs r4, 0 - ldrh r0, [r6, 0xA] - adds r0, 0x2 - movs r1, 0xFF - ands r0, r1 - strh r0, [r6, 0xA] - ldrh r7, [r6, 0xA] - mov r8, r7 - movs r0, 0x14 - ldrsh r1, [r6, r0] - movs r0, 0xFC - lsls r0, 3 - bl __divsi3 - strh r0, [r6, 0x1A] - movs r1, 0x16 - ldrsh r0, [r6, r1] - lsls r0, 1 - movs r2, 0x1A - ldrsh r1, [r6, r2] - bl __divsi3 - negs r0, r0 - strh r0, [r6, 0x1C] - ldrh r0, [r6, 0x16] - strh r0, [r6, 0x1E] - lsls r0, 16 - asrs r0, 21 - lsls r0, 16 - lsrs r7, r0, 16 - strh r7, [r6, 0x20] - ldrh r2, [r6, 0x24] - lsls r3, r2, 16 - mov r12, r3 - asrs r1, r3, 16 - movs r3, 0x22 - ldrsh r0, [r6, r3] - cmp r1, r0 - ble _0815D52E - ldr r0, =gScanlineEffect - mov r10, r0 - ldr r1, [sp, 0x4] - lsls r0, r1, 16 - asrs r0, 16 - str r0, [sp, 0x10] - ldr r2, [sp, 0x8] - lsls r0, r2, 16 - asrs r0, 16 - str r0, [sp, 0xC] -_0815D47E: - lsls r5, 16 - asrs r5, 16 - adds r2, r5, 0x1 - lsls r2, 1 - mov r3, r10 - ldrb r1, [r3, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - ldr r0, =gScanlineEffectRegBuffers - adds r2, r0 - lsls r4, 16 - asrs r4, 16 - mov r1, r9 - lsls r0, r1, 16 - asrs r0, 16 - subs r0, r4, r0 - ldr r3, [sp, 0xC] - adds r0, r3, r0 - strh r0, [r2] - lsls r3, r5, 1 - mov r0, r10 - ldrb r1, [r0, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r3, r0 - ldr r1, =gScanlineEffectRegBuffers - adds r3, r1 - lsls r1, r7, 16 - asrs r1, 16 - ldr r2, [sp, 0x10] - adds r1, r2, r1 - mov r7, r8 - lsls r2, r7, 16 - asrs r2, 16 - lsls r0, r2, 1 - ldr r7, =gSineTable - adds r0, r7 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 21 - adds r1, r0 - strh r1, [r3] - adds r2, 0xA - mov r8, r2 - movs r0, 0xFF - mov r1, r8 - ands r1, r0 - mov r8, r1 - ldrh r0, [r6, 0x1C] - ldrh r2, [r6, 0x1E] - adds r0, r2 - strh r0, [r6, 0x1E] - lsls r0, 16 - asrs r0, 21 - lsls r0, 16 - lsrs r7, r0, 16 - strh r7, [r6, 0x20] - adds r4, 0x1 - lsls r4, 16 - lsrs r4, 16 - subs r5, 0x2 - lsls r5, 16 - lsrs r5, 16 - ldr r3, [sp] - lsls r0, r3, 16 - asrs r0, 16 - ldrh r1, [r6, 0x14] - adds r0, r1 - lsls r0, 16 - lsrs r2, r0, 16 - str r2, [sp] - asrs r0, 21 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - ldr r0, =0xffff0000 - add r0, r12 - lsrs r2, r0, 16 - lsls r3, r2, 16 - mov r12, r3 - asrs r1, r3, 16 - movs r3, 0x22 - ldrsh r0, [r6, r3] - cmp r1, r0 - bgt _0815D47E -_0815D52E: - lsls r1, r2, 17 - cmp r1, 0 - blt _0815D55A - ldr r4, =gScanlineEffectRegBuffers - ldr r7, [sp, 0x4] - lsls r0, r7, 16 - asrs r0, 16 - adds r3, r0, 0 - adds r3, 0xF0 - movs r0, 0xF0 - lsls r0, 3 - adds r5, r4, r0 -_0815D546: - asrs r2, r1, 16 - lsls r1, r2, 1 - adds r0, r1, r4 - strh r3, [r0] - adds r1, r5 - strh r3, [r1] - subs r2, 0x2 - lsls r1, r2, 16 - cmp r1, 0 - bge _0815D546 -_0815D55A: - ldrh r0, [r6, 0x14] - adds r0, 0x1 - strh r0, [r6, 0x14] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3F - ble _0815D5C2 - movs r0, 0x40 - strh r0, [r6, 0x14] - ldrh r0, [r6, 0xC] - adds r0, 0x1 - strh r0, [r6, 0xC] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0815D594 - ldrh r0, [r6, 0xE] - subs r0, 0x1 - strh r0, [r6, 0xE] - b _0815D59A - .pool -_0815D594: - ldrh r0, [r6, 0x10] - adds r0, 0x1 - strh r0, [r6, 0x10] -_0815D59A: - ldrh r1, [r6, 0x10] - lsls r1, 8 - ldrh r0, [r6, 0xE] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r2, 0xE - ldrsh r1, [r6, r2] - cmp r1, 0 - bne _0815D63C - movs r3, 0x10 - ldrsh r0, [r6, r3] - cmp r0, 0x10 - bne _0815D63C - strh r1, [r6, 0xC] - strh r1, [r6, 0xE] - b _0815D62E -_0815D5C2: - ldrh r0, [r6, 0x18] - ldrh r7, [r6, 0x16] - adds r0, r7 - strh r0, [r6, 0x16] - b _0815D63C -_0815D5CC: - ldrh r0, [r6, 0xC] - adds r0, 0x1 - strh r0, [r6, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xC - ble _0815D63C - ldr r1, =gScanlineEffect - movs r0, 0x3 - strb r0, [r1, 0x15] - movs r0, 0 - strh r0, [r6, 0xC] - b _0815D62E - .pool -_0815D5EC: - ldrh r0, [r6, 0xC] - adds r0, 0x1 - strh r0, [r6, 0xC] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0815D602 - ldrh r0, [r6, 0xE] - adds r0, 0x1 - strh r0, [r6, 0xE] - b _0815D608 -_0815D602: - ldrh r0, [r6, 0x10] - subs r0, 0x1 - strh r0, [r6, 0x10] -_0815D608: - ldrh r1, [r6, 0x10] - lsls r1, 8 - ldrh r0, [r6, 0xE] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0xE - ldrsh r0, [r6, r1] - cmp r0, 0x10 - bne _0815D63C - movs r2, 0x10 - ldrsh r0, [r6, r2] - cmp r0, 0 - bne _0815D63C - strh r0, [r6, 0xC] - strh r0, [r6, 0xE] -_0815D62E: - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] - b _0815D63C -_0815D636: - adds r0, r4, 0 - bl DestroyAnimVisualTask -_0815D63C: - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_815D398 - - thumb_func_start sub_815D64C -sub_815D64C: @ 815D64C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, =gTasks - adds r4, r0 - movs r0, 0 - strh r0, [r4, 0x8] - ldr r0, =gBattleAnimArgs - ldrb r0, [r0] - bl GetAnimBattlerSpriteId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - strh r1, [r4, 0x26] - ldr r2, =gUnknown_085CE5F0 - adds r0, r4, 0 - bl PrepareAffineAnimInTaskData - ldr r0, =sub_815D694 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815D64C - - thumb_func_start sub_815D694 -sub_815D694: @ 815D694 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r2, =gTasks - adds r3, r0, r2 - ldrh r0, [r3, 0x8] - adds r1, r0, 0x1 - movs r5, 0 - strh r1, [r3, 0x8] - subs r0, 0x14 - lsls r0, 16 - lsrs r0, 16 - adds r6, r2, 0 - cmp r0, 0x16 - bhi _0815D6F8 - ldrh r0, [r3, 0xA] - adds r0, 0x1 - strh r0, [r3, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _0815D708 - strh r5, [r3, 0xA] - ldrh r0, [r3, 0xC] - adds r0, 0x1 - strh r0, [r3, 0xC] - movs r5, 0x1 - ands r0, r5 - cmp r0, 0 - bne _0815D6F8 - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, =0x0000ffff - strh r1, [r0, 0x24] - b _0815D708 - .pool -_0815D6F8: - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r5, [r0, 0x24] -_0815D708: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r6 - bl RunAffineAnimFromTaskData - lsls r0, 24 - cmp r0, 0 - bne _0815D720 - adds r0, r4, 0 - bl DestroyAnimVisualTask -_0815D720: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815D694 - - thumb_func_start sub_815D72C -sub_815D72C: @ 815D72C - push {r4-r6,lr} - mov r6, r8 - push {r6} - mov r8, r0 - adds r5, r2, 0 - adds r0, r3, 0 - ldr r4, [sp, 0x14] - ldr r6, [sp, 0x18] - lsls r1, 16 - lsrs r1, 16 - lsls r5, 16 - lsrs r5, 16 - lsls r4, 16 - lsrs r4, 16 - lsls r6, 16 - lsrs r6, 16 - mov r2, r8 - strh r1, [r2, 0x20] - strh r5, [r2, 0x22] - lsls r1, 16 - asrs r1, 16 - lsls r2, r1, 4 - mov r3, r8 - strh r2, [r3, 0x36] - lsls r5, 16 - asrs r5, 16 - lsls r2, r5, 4 - strh r2, [r3, 0x38] - lsls r0, 16 - asrs r0, 16 - subs r0, r1 - lsls r0, 4 - adds r1, r6, 0 - bl __divsi3 - mov r1, r8 - strh r0, [r1, 0x3A] - lsls r4, 16 - asrs r4, 16 - subs r4, r5 - lsls r4, 4 - adds r0, r4, 0 - adds r1, r6, 0 - bl __divsi3 - mov r2, r8 - strh r0, [r2, 0x3C] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_815D72C - - thumb_func_start sub_815D794 -sub_815D794: @ 815D794 - ldrh r1, [r0, 0x3A] - ldrh r2, [r0, 0x36] - adds r1, r2 - strh r1, [r0, 0x36] - ldrh r2, [r0, 0x3C] - ldrh r3, [r0, 0x38] - adds r2, r3 - strh r2, [r0, 0x38] - lsls r1, 16 - asrs r1, 20 - strh r1, [r0, 0x20] - lsls r2, 16 - asrs r2, 20 - strh r2, [r0, 0x22] - bx lr - thumb_func_end sub_815D794 - - thumb_func_start sub_815D7B4 -sub_815D7B4: @ 815D7B4 - push {r4-r6,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldrh r6, [r4, 0x20] - ldrh r5, [r4, 0x22] - bl SetSpriteCoordsToAnimAttackerCoords - ldr r0, =gBattleAnimArgs - ldrb r1, [r0] - adds r0, r4, 0 - bl StartSpriteAffineAnim - movs r0, 0x20 - ldrsh r1, [r4, r0] - movs r0, 0x22 - ldrsh r2, [r4, r0] - lsls r6, 16 - asrs r6, 16 - lsls r5, 16 - asrs r5, 16 - str r5, [sp] - movs r0, 0x40 - str r0, [sp, 0x4] - adds r0, r4, 0 - adds r3, r6, 0 - bl sub_815D72C - movs r0, 0 - strh r0, [r4, 0x2E] - ldr r0, =sub_815D804 - str r0, [r4, 0x1C] - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815D7B4 - - thumb_func_start sub_815D804 -sub_815D804: @ 815D804 - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - movs r0, 0x2E - ldrsh r4, [r5, r0] - lsls r4, 3 - movs r0, 0xFF - ands r4, r0 - adds r0, r5, 0 - bl sub_815D794 - adds r0, r4, 0 - movs r1, 0x8 - bl Sin - strh r0, [r5, 0x26] - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0x3A - ble _0815D86A - ldrh r0, [r5, 0x30] - adds r0, 0x1 - strh r0, [r5, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _0815D86A - movs r0, 0 - strh r0, [r5, 0x30] - ldrh r1, [r5, 0x32] - adds r1, 0x1 - strh r1, [r5, 0x32] - movs r0, 0x1 - ands r1, r0 - adds r3, r5, 0 - adds r3, 0x3E - lsls r1, 2 - ldrb r2, [r3] - subs r0, 0x6 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - movs r1, 0x32 - ldrsh r0, [r5, r1] - cmp r0, 0x3 - ble _0815D86A - adds r0, r5, 0 - bl DestroySpriteAndMatrix -_0815D86A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_815D804 - - thumb_func_start sub_815D870 -sub_815D870: @ 815D870 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r6, =gBattleAnimArgs - ldrh r0, [r6, 0x6] - strh r0, [r5, 0x2E] - ldrb r1, [r6] - adds r0, r5, 0 - bl StartSpriteAffineAnim - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _0815D896 - ldrh r0, [r6, 0x2] - negs r0, r0 - strh r0, [r6, 0x2] -_0815D896: - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r6, 0x2] - adds r0, r1 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r6, [r6, 0x4] - adds r0, r6 - strh r0, [r5, 0x22] - ldr r0, =sub_810E2C8 - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815D870 - - thumb_func_start sub_815D8D8 -sub_815D8D8: @ 815D8D8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r5, r0, 24 - movs r7, 0 - ldr r2, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r3, r0, r2 - ldrh r0, [r3, 0x8] - subs r0, 0x1 - strh r0, [r3, 0x8] - movs r1, 0x14 - ldrsh r0, [r3, r1] - movs r1, 0x80 - lsls r1, 8 - ands r0, r1 - mov r8, r2 - cmp r0, 0 - beq _0815D95A - ldrh r0, [r3, 0xA] - subs r0, 0x1 - strh r0, [r3, 0xA] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _0815D95A - movs r2, 0x1A - ldrsh r0, [r3, r2] - cmp r0, 0 - bne _0815D92C - ldrh r0, [r3, 0x10] - strh r0, [r3, 0x1A] - negs r0, r0 - strh r0, [r3, 0x10] - b _0815D92E - .pool -_0815D92C: - strh r7, [r3, 0x1A] -_0815D92E: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - mov r2, r8 - adds r1, r0, r2 - movs r2, 0x1C - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _0815D94A - ldrh r0, [r1, 0x12] - strh r0, [r1, 0x1C] - negs r0, r0 - strh r0, [r1, 0x12] - b _0815D94E -_0815D94A: - movs r0, 0 - strh r0, [r1, 0x1C] -_0815D94E: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - add r0, r8 - ldrh r1, [r0, 0x22] - strh r1, [r0, 0xA] -_0815D95A: - lsls r2, r5, 2 - adds r0, r2, r5 - lsls r0, 3 - mov r1, r8 - adds r4, r0, r1 - ldrh r6, [r4, 0x16] - ldrh r7, [r4, 0x18] - movs r1, 0xC - ldrsh r0, [r4, r1] - movs r1, 0x80 - lsls r1, 8 - ands r0, r1 - mov r12, r2 - cmp r0, 0 - beq _0815D998 - ldr r3, =gSprites - movs r2, 0x26 - ldrsh r0, [r4, r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - lsrs r2, r6, 8 - ldrh r0, [r4, 0x1A] - subs r0, r2 - strh r0, [r1, 0x24] - adds r2, r3, 0 - b _0815D9AE - .pool -_0815D998: - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - lsrs r1, r6, 8 - ldrh r4, [r4, 0x1A] - adds r1, r4 - strh r1, [r0, 0x24] -_0815D9AE: - mov r1, r12 - adds r0, r1, r5 - lsls r0, 3 - mov r1, r8 - adds r4, r0, r1 - movs r1, 0xE - ldrsh r0, [r4, r1] - movs r1, 0x80 - lsls r1, 8 - ands r0, r1 - cmp r0, 0 - beq _0815D9E0 - movs r1, 0x26 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - lsrs r2, r7, 8 - ldrh r0, [r4, 0x1C] - subs r0, r2 - b _0815D9F2 - .pool -_0815D9E0: - movs r1, 0x26 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - lsrs r0, r7, 8 - ldrh r4, [r4, 0x1C] - adds r0, r4 -_0815D9F2: - strh r0, [r1, 0x26] - mov r2, r12 - adds r0, r2, r5 - lsls r0, 3 - add r0, r8 - movs r1, 0x8 - ldrsh r0, [r0, r1] - cmp r0, 0 - bgt _0815DA12 - adds r0, r5, 0 - bl DestroyTask - ldr r1, =gAnimVisualTaskCount - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] -_0815DA12: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815D8D8 - - thumb_func_start sub_815DA20 -sub_815DA20: @ 815DA20 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r6, r0, 24 - movs r7, 0 - ldr r2, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r3, r0, r2 - ldrh r0, [r3, 0x8] - subs r0, 0x1 - strh r0, [r3, 0x8] - movs r1, 0x14 - ldrsh r0, [r3, r1] - movs r1, 0x80 - lsls r1, 8 - ands r0, r1 - mov r8, r2 - cmp r0, 0 - beq _0815DAA6 - ldrh r0, [r3, 0xA] - subs r0, 0x1 - strh r0, [r3, 0xA] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _0815DAA6 - movs r2, 0x1A - ldrsh r0, [r3, r2] - cmp r0, 0 - bne _0815DA78 - ldrh r0, [r3, 0x10] - strh r0, [r3, 0x1A] - negs r0, r0 - strh r0, [r3, 0x10] - b _0815DA7A - .pool -_0815DA78: - strh r7, [r3, 0x1A] -_0815DA7A: - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - mov r2, r8 - adds r1, r0, r2 - movs r2, 0x1C - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _0815DA96 - ldrh r0, [r1, 0x12] - strh r0, [r1, 0x1C] - negs r0, r0 - strh r0, [r1, 0x12] - b _0815DA9A -_0815DA96: - movs r0, 0 - strh r0, [r1, 0x1C] -_0815DA9A: - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - add r0, r8 - ldrh r1, [r0, 0x22] - strh r1, [r0, 0xA] -_0815DAA6: - lsls r3, r6, 2 - adds r0, r3, r6 - lsls r0, 3 - mov r1, r8 - adds r4, r0, r1 - ldrh r2, [r4, 0xC] - ldr r1, =0x00007fff - adds r0, r1, 0 - ands r0, r2 - ldrh r2, [r4, 0x16] - adds r0, r2 - lsls r5, r0, 16 - lsrs r0, r5, 16 - mov r9, r0 - ldrh r0, [r4, 0xE] - ands r1, r0 - ldrh r2, [r4, 0x18] - adds r1, r2 - lsls r1, 16 - lsrs r7, r1, 16 - movs r1, 0xC - ldrsh r0, [r4, r1] - movs r1, 0x80 - lsls r1, 8 - ands r0, r1 - mov r12, r3 - cmp r0, 0 - beq _0815DB00 - ldr r3, =gSprites - movs r2, 0x26 - ldrsh r0, [r4, r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - lsrs r2, r5, 24 - ldrh r0, [r4, 0x1A] - subs r0, r2 - strh r0, [r1, 0x24] - adds r2, r3, 0 - b _0815DB16 - .pool -_0815DB00: - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - lsrs r1, r5, 24 - ldrh r4, [r4, 0x1A] - adds r1, r4 - strh r1, [r0, 0x24] -_0815DB16: - mov r1, r12 - adds r0, r1, r6 - lsls r0, 3 - mov r1, r8 - adds r4, r0, r1 - movs r1, 0xE - ldrsh r0, [r4, r1] - movs r1, 0x80 - lsls r1, 8 - ands r0, r1 - cmp r0, 0 - beq _0815DB48 - movs r1, 0x26 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - lsrs r2, r7, 8 - ldrh r0, [r4, 0x1C] - subs r0, r2 - b _0815DB5A - .pool -_0815DB48: - movs r1, 0x26 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - lsrs r0, r7, 8 - ldrh r4, [r4, 0x1C] - adds r0, r4 -_0815DB5A: - strh r0, [r1, 0x26] - mov r2, r12 - adds r0, r2, r6 - lsls r0, 3 - mov r1, r8 - adds r2, r0, r1 - mov r0, r9 - strh r0, [r2, 0x16] - strh r7, [r2, 0x18] - movs r1, 0x8 - ldrsh r0, [r2, r1] - cmp r0, 0 - bgt _0815DB80 - movs r0, 0x1E - strh r0, [r2, 0x8] - movs r0, 0 - strh r0, [r2, 0x22] - ldr r0, =sub_815D8D8 - str r0, [r2] -_0815DB80: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815DA20 - - thumb_func_start sub_815DB90 -sub_815DB90: @ 815DB90 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =gTasks - mov r8, r0 - lsls r7, r6, 2 - adds r0, r7, r6 - lsls r0, 3 - mov r1, r8 - adds r4, r0, r1 - ldr r1, =gBattlerSpriteIds - ldr r2, =gBattleAnimAttacker - ldrb r0, [r2] - adds r0, r1 - ldrb r0, [r0] - strh r0, [r4, 0x26] - ldr r5, =gBattleAnimArgs - ldrh r0, [r5] - strh r0, [r4, 0x24] - ldrh r0, [r5] - strh r0, [r4, 0x8] - ldrh r0, [r5, 0xC] - strh r0, [r4, 0x22] - movs r3, 0x6 - ldrsh r0, [r5, r3] - cmp r0, 0 - beq _0815DBD4 - ldrh r0, [r4, 0x14] - ldr r3, =0xffff8000 - adds r1, r3, 0 - orrs r0, r1 - strh r0, [r4, 0x14] -_0815DBD4: - ldrb r0, [r2] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _0815DC04 - ldrh r0, [r5, 0x2] - strh r0, [r4, 0xC] - ldrh r0, [r5, 0x4] - strh r0, [r4, 0xE] - mov r3, r8 - adds r4, r7, 0 - b _0815DC74 - .pool -_0815DC04: - movs r7, 0x2 - ldrsh r0, [r5, r7] - movs r1, 0x80 - lsls r1, 8 - ands r0, r1 - cmp r0, 0 - beq _0815DC20 - ldrh r1, [r5, 0x2] - ldr r0, =0x00007fff - ands r0, r1 - b _0815DC28 - .pool -_0815DC20: - ldrh r0, [r5, 0x2] - ldr r2, =0xffff8000 - adds r1, r2, 0 - orrs r0, r1 -_0815DC28: - strh r0, [r4, 0xC] - ldr r0, =gBattleAnimArgs - movs r3, 0x4 - ldrsh r1, [r0, r3] - movs r2, 0x80 - lsls r2, 8 - ands r1, r2 - adds r5, r0, 0 - cmp r1, 0 - beq _0815DC60 - ldr r3, =gTasks - lsls r4, r6, 2 - adds r1, r4, r6 - lsls r1, 3 - adds r1, r3 - ldrh r2, [r5, 0x4] - ldr r0, =0x00007fff - ands r0, r2 - b _0815DC72 - .pool -_0815DC60: - ldr r3, =gTasks - lsls r4, r6, 2 - adds r1, r4, r6 - lsls r1, 3 - adds r1, r3 - ldrh r2, [r5, 0x4] - ldr r7, =0xffff8000 - adds r0, r7, 0 - orrs r0, r2 -_0815DC72: - strh r0, [r1, 0xE] -_0815DC74: - adds r0, r4, r6 - lsls r0, 3 - adds r0, r3 - movs r1, 0 - strh r1, [r0, 0x18] - strh r1, [r0, 0x16] - ldrh r1, [r5, 0x8] - strh r1, [r0, 0x10] - ldrh r1, [r5, 0xA] - strh r1, [r0, 0x12] - ldr r1, =sub_815DA20 - str r1, [r0] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815DB90 - - thumb_func_start sub_815DCA4 -sub_815DCA4: @ 815DCA4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, =gTasks - adds r5, r0, r1 - ldr r4, =gBattleAnimArgs - movs r1, 0x2 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0815DCC4 - adds r0, r2, 0 - bl DestroyAnimVisualTask -_0815DCC4: - movs r0, 0 - strh r0, [r5, 0x8] - strh r0, [r5, 0xA] - strh r0, [r5, 0xC] - ldrh r0, [r4, 0x2] - strh r0, [r5, 0xE] - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0815DCE8 - ldr r0, =gBattleAnimAttacker - b _0815DCEA - .pool -_0815DCE8: - ldr r0, =gBattleAnimTarget -_0815DCEA: - ldrb r4, [r0] - adds r0, r4, 0 - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x10] - adds r0, r4, 0 - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x12] - adds r0, r4, 0 - bl GetBattlerSpriteSubpriority - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x14] - ldr r0, =gBattleAnimArgs - ldrb r0, [r0] - bl GetAnimBattlerSpriteId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - strh r1, [r5, 0x26] - ldr r2, =gUnknown_085CE74C - adds r0, r5, 0 - bl PrepareAffineAnimInTaskData - ldr r0, =sub_815DD48 - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815DCA4 - - thumb_func_start sub_815DD48 -sub_815DD48: @ 815DD48 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0815DD6C - cmp r0, 0x1 - beq _0815DDCC - b _0815DDDA - .pool -_0815DD6C: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x6 - bne _0815DD82 - adds r0, r5, 0 - movs r1, 0x1 - bl sub_815DDE0 -_0815DD82: - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0x12 - bne _0815DD92 - adds r0, r5, 0 - movs r1, 0 - bl sub_815DDE0 -_0815DD92: - adds r0, r4, 0 - bl RunAffineAnimFromTaskData - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _0815DDDA - ldrh r0, [r4, 0xE] - subs r0, 0x1 - strh r0, [r4, 0xE] - lsls r0, 16 - cmp r0, 0 - bne _0815DDB4 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0815DDDA -_0815DDB4: - strh r1, [r4, 0xA] - ldrh r1, [r4, 0x26] - lsls r1, 24 - lsrs r1, 24 - ldr r2, =gUnknown_085CE74C - adds r0, r4, 0 - bl PrepareAffineAnimInTaskData - b _0815DDDA - .pool -_0815DDCC: - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0815DDDA - adds r0, r5, 0 - bl DestroyAnimVisualTask -_0815DDDA: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_815DD48 - - thumb_func_start sub_815DDE0 -sub_815DDE0: @ 815DDE0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r2, =gTasks - adds r4, r0, r2 - cmp r1, 0 - bne _0815DE08 - movs r1, 0x12 - movs r3, 0xEC - b _0815DE0C - .pool -_0815DE08: - movs r1, 0x1E - movs r3, 0x14 -_0815DE0C: - mov r2, sp - ldrh r0, [r4, 0x10] - subs r0, r1 - strh r0, [r2] - ldrh r0, [r4, 0x10] - subs r0, r1 - subs r0, 0x4 - strh r0, [r2, 0x2] - ldrh r0, [r4, 0x10] - adds r0, r1 - strh r0, [r2, 0x4] - ldrh r0, [r4, 0x10] - adds r0, r1 - adds r0, 0x4 - strh r0, [r2, 0x6] - add r2, sp, 0x8 - lsls r1, r3, 24 - asrs r1, 24 - ldrh r0, [r4, 0x12] - adds r0, r1 - strh r0, [r2] - ldrh r0, [r4, 0x12] - adds r0, r1 - adds r0, 0x6 - strh r0, [r2, 0x2] - movs r5, 0 - mov r8, r2 - ldr r7, =gSprites -_0815DE44: - lsls r0, r5, 1 - add r0, sp - movs r2, 0 - ldrsh r1, [r0, r2] - movs r0, 0x1 - ands r0, r5 - lsls r0, 1 - add r0, r8 - movs r3, 0 - ldrsh r2, [r0, r3] - ldrb r3, [r4, 0x14] - subs r3, 0x5 - lsls r3, 24 - lsrs r3, 24 - ldr r0, =gUnknown_085CE76C - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _0815DE98 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r7 - movs r0, 0 - strh r0, [r1, 0x2E] - movs r0, 0x2 - cmp r5, 0x1 - bhi _0815DE86 - movs r2, 0x2 - negs r2, r2 - adds r0, r2, 0 -_0815DE86: - strh r0, [r1, 0x30] - ldr r0, =0x0000ffff - strh r0, [r1, 0x32] - strh r6, [r1, 0x34] - movs r0, 0x2 - strh r0, [r1, 0x36] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] -_0815DE98: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3 - bls _0815DE44 - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815DDE0 - - thumb_func_start sub_815DEBC -sub_815DEBC: @ 815DEBC - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x30] - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x32] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x6 - ble _0815DF02 - ldr r3, =gTasks - movs r0, 0x36 - ldrsh r1, [r4, r0] - lsls r1, 1 - movs r0, 0x34 - ldrsh r2, [r4, r0] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r3, 0x8 - adds r1, r3 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - adds r0, r4, 0 - bl DestroySprite -_0815DF02: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815DEBC - - thumb_func_start sub_815DF0C -sub_815DF0C: @ 815DF0C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - movs r0, 0 - strh r0, [r4, 0x8] - ldr r1, =gBattleAnimArgs - ldrh r0, [r1, 0x2] - strh r0, [r4, 0xA] - ldrb r0, [r1] - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - adds r0, r1 - strh r0, [r4, 0xC] - ldr r0, =sub_815DF64 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815DF0C - - thumb_func_start sub_815DF64 -sub_815DF64: @ 815DF64 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0815DFB4 - ldrh r0, [r4, 0xC] - ldr r2, =gUnknown_085CE784 - movs r3, 0x8 - ldrsh r1, [r4, r3] - lsls r1, 1 - adds r1, r2 - ldrh r3, [r1] - movs r1, 0x10 - movs r2, 0x8 - bl BlendPalette - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x17 - ble _0815DFA4 - movs r0, 0 - strh r0, [r4, 0x8] -_0815DFA4: - ldrh r0, [r4, 0xA] - subs r0, 0x1 - strh r0, [r4, 0xA] - b _0815DFC6 - .pool -_0815DFB4: - ldrh r0, [r4, 0xC] - movs r1, 0x10 - movs r2, 0 - movs r3, 0 - bl BlendPalette - adds r0, r5, 0 - bl DestroyAnimVisualTask -_0815DFC6: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_815DF64 - - thumb_func_start sub_815DFCC -sub_815DFCC: @ 815DFCC - push {lr} - sub sp, 0x1C - lsls r0, 24 - lsrs r0, 24 - movs r2, 0xD0 - lsls r2, 1 - ldr r1, =gBattleAnimAttacker - ldrb r3, [r1] - ldr r1, =gBattleAnimArgs - ldrb r1, [r1] - str r1, [sp] - movs r1, 0xA - str r1, [sp, 0x4] - movs r1, 0x2 - str r1, [sp, 0x8] - movs r1, 0x1E - str r1, [sp, 0xC] - ldr r1, =gUnknown_08C2DC68 - str r1, [sp, 0x10] - ldr r1, =gUnknown_08C2DDC4 - str r1, [sp, 0x14] - ldr r1, =gUnknown_08C2DDA4 - str r1, [sp, 0x18] - movs r1, 0 - bl sub_8117854 - add sp, 0x1C - pop {r0} - bx r0 - .pool - thumb_func_end sub_815DFCC - - thumb_func_start sub_815E01C -sub_815E01C: @ 815E01C - push {r4-r6,lr} - adds r5, r0, 0 - ldr r6, =gBattleAnimAttacker - ldrb r0, [r6] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0815E038 - ldr r1, =gBattleAnimArgs - ldrh r0, [r1] - negs r0, r0 - strh r0, [r1] -_0815E038: - ldrb r0, [r6] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - ldr r4, =gBattleAnimArgs - lsrs r0, 24 - ldrh r1, [r4] - adds r0, r1 - strh r0, [r5, 0x20] - ldrb r0, [r6] - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x2] - adds r0, r1 - strh r0, [r5, 0x22] - movs r1, 0x4 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0815E080 - movs r0, 0xA0 - lsls r0, 2 - strh r0, [r5, 0x2E] - ldr r0, =0x0000fd80 - strh r0, [r5, 0x30] - b _0815E0A8 - .pool -_0815E080: - cmp r0, 0x1 - bne _0815E09A - adds r2, r5, 0 - adds r2, 0x3F - ldrb r0, [r2] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] - movs r0, 0xA0 - lsls r0, 2 - strh r0, [r5, 0x2E] - strh r0, [r5, 0x30] - b _0815E0A8 -_0815E09A: - adds r0, r5, 0 - movs r1, 0x1 - bl StartSpriteAnim - movs r0, 0xA0 - lsls r0, 2 - strh r0, [r5, 0x2E] -_0815E0A8: - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _0815E0C8 - ldrh r0, [r5, 0x2E] - negs r0, r0 - strh r0, [r5, 0x2E] - adds r2, r5, 0 - adds r2, 0x3F - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] -_0815E0C8: - ldr r0, =sub_815E0DC - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815E01C - - thumb_func_start sub_815E0DC -sub_815E0DC: @ 815E0DC - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x2E] - ldrh r1, [r2, 0x3A] - adds r0, r1 - strh r0, [r2, 0x3A] - ldrh r1, [r2, 0x30] - ldrh r3, [r2, 0x3C] - adds r1, r3 - strh r1, [r2, 0x3C] - lsls r0, 16 - asrs r0, 24 - strh r0, [r2, 0x24] - lsls r1, 16 - asrs r1, 24 - strh r1, [r2, 0x26] - ldrh r0, [r2, 0x38] - adds r0, 0x1 - strh r0, [r2, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xE - bne _0815E110 - adds r0, r2, 0 - bl DestroyAnimSprite -_0815E110: - pop {r0} - bx r0 - thumb_func_end sub_815E0DC - - thumb_func_start sub_815E114 -sub_815E114: @ 815E114 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r6, r1, r0 - bl IsContest - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _0815E144 - movs r0, 0x8 - strh r0, [r6, 0x12] - movs r0, 0x3 - strh r0, [r6, 0x14] - movs r0, 0x1 - strh r0, [r6, 0x16] - b _0815E14E - .pool -_0815E144: - movs r0, 0xC - strh r0, [r6, 0x12] - movs r0, 0x3 - strh r0, [r6, 0x14] - strh r1, [r6, 0x16] -_0815E14E: - ldr r5, =gBattleAnimAttacker - ldrb r0, [r5] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _0815E188 - ldrb r0, [r5] - movs r1, 0x2 - bl GetBattlerSpriteCoord - adds r4, r0, 0 - ldrb r0, [r5] - movs r1, 0 - bl sub_80A861C - lsls r4, 24 - lsrs r4, 24 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _0815E17C - adds r0, 0x3 -_0815E17C: - asrs r0, 2 - adds r0, r4, r0 - b _0815E1AC - .pool -_0815E188: - ldrb r0, [r5] - movs r1, 0x2 - bl GetBattlerSpriteCoord - adds r4, r0, 0 - ldrb r0, [r5] - movs r1, 0 - bl sub_80A861C - lsls r4, 24 - lsrs r4, 24 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _0815E1A8 - adds r0, 0x3 -_0815E1A8: - asrs r0, 2 - subs r0, r4, r0 -_0815E1AC: - strh r0, [r6, 0x1E] - ldr r5, =gBattleAnimAttacker - ldrb r0, [r5] - movs r1, 0x3 - bl GetBattlerSpriteCoord - adds r4, r0, 0 - ldrb r0, [r5] - movs r1, 0 - bl sub_80A861C - lsls r4, 24 - lsrs r4, 24 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _0815E1D0 - adds r0, 0x3 -_0815E1D0: - asrs r0, 2 - subs r0, r4, r0 - strh r0, [r6, 0x20] - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x22] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x24] - ldr r0, =sub_815E20C - str r0, [r6] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815E114 - - thumb_func_start sub_815E20C -sub_815E20C: @ 815E20C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, =gTasks - adds r5, r0, r1 - movs r0, 0x8 - ldrsh r1, [r5, r0] - cmp r1, 0 - beq _0815E238 - cmp r1, 0x1 - bne _0815E230 - b _0815E330 -_0815E230: - b _0815E33E - .pool -_0815E238: - ldrh r0, [r5, 0xA] - adds r0, 0x1 - strh r0, [r5, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _0815E33E - strh r1, [r5, 0xA] - movs r1, 0x1E - ldrsh r0, [r5, r1] - movs r2, 0x20 - ldrsh r1, [r5, r2] - movs r3, 0x22 - ldrsh r2, [r5, r3] - movs r4, 0x24 - ldrsh r3, [r5, r4] - ldrb r4, [r5, 0x12] - str r4, [sp] - ldrb r4, [r5, 0xC] - str r4, [sp, 0x4] - add r4, sp, 0x10 - str r4, [sp, 0x8] - adds r4, 0x2 - str r4, [sp, 0xC] - bl sub_815E34C - movs r6, 0 - mov r8, r4 - ldr r4, =gSprites -_0815E272: - add r0, sp, 0x10 - movs r2, 0 - ldrsh r1, [r0, r2] - mov r3, r8 - movs r0, 0 - ldrsh r2, [r3, r0] - ldr r0, =gUnknown_085CE7EC - movs r3, 0x23 - bl CreateSprite - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x40 - beq _0815E306 - movs r1, 0x16 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _0815E2C6 - cmp r6, 0 - bne _0815E2B4 - lsls r2, r3, 4 - adds r1, r2, r3 - lsls r1, 2 - adds r1, r4 - ldrh r0, [r5, 0x14] - negs r0, r0 - strh r0, [r1, 0x26] - strh r0, [r1, 0x24] - b _0815E2EE - .pool -_0815E2B4: - lsls r2, r3, 4 - adds r1, r2, r3 - lsls r1, 2 - adds r1, r4 - ldrh r0, [r5, 0x14] - strh r0, [r1, 0x26] - ldrh r0, [r5, 0x14] - strh r0, [r1, 0x24] - b _0815E2EE -_0815E2C6: - cmp r6, 0 - bne _0815E2DC - lsls r2, r3, 4 - adds r1, r2, r3 - lsls r1, 2 - adds r1, r4 - ldrh r0, [r5, 0x14] - negs r0, r0 - strh r0, [r1, 0x24] - ldrh r0, [r5, 0x14] - b _0815E2EC -_0815E2DC: - lsls r2, r3, 4 - adds r1, r2, r3 - lsls r1, 2 - adds r1, r4 - ldrh r0, [r5, 0x14] - strh r0, [r1, 0x24] - ldrh r0, [r5, 0x14] - negs r0, r0 -_0815E2EC: - strh r0, [r1, 0x26] -_0815E2EE: - ldr r1, =gSprites - adds r0, r2, r3 - lsls r0, 2 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x2E] - strh r7, [r0, 0x30] - movs r1, 0xA - strh r1, [r0, 0x32] - ldrh r0, [r5, 0x1C] - adds r0, 0x1 - strh r0, [r5, 0x1C] -_0815E306: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x1 - bls _0815E272 - ldrh r2, [r5, 0xC] - movs r3, 0xC - ldrsh r1, [r5, r3] - movs r4, 0x12 - ldrsh r0, [r5, r4] - cmp r1, r0 - bne _0815E324 - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_0815E324: - adds r0, r2, 0x1 - strh r0, [r5, 0xC] - b _0815E33E - .pool -_0815E330: - movs r1, 0x1C - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _0815E33E - adds r0, r7, 0 - bl DestroyAnimVisualTask -_0815E33E: - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_815E20C - - thumb_func_start sub_815E34C -sub_815E34C: @ 815E34C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - ldr r4, [sp, 0x28] - ldr r5, [sp, 0x2C] - ldr r6, [sp, 0x30] - mov r9, r6 - ldr r6, [sp, 0x34] - mov r10, r6 - lsls r0, 16 - lsrs r0, 16 - mov r12, r0 - lsls r1, 16 - lsrs r1, 16 - str r1, [sp] - lsls r2, 16 - lsrs r2, 16 - adds r7, r2, 0 - lsls r3, 16 - lsrs r3, 16 - str r3, [sp, 0x4] - lsls r4, 24 - lsrs r6, r4, 24 - lsls r5, 24 - lsrs r5, 24 - mov r8, r5 - cmp r5, 0 - bne _0815E394 - mov r2, r9 - strh r0, [r2] - mov r6, r10 - strh r1, [r6] - b _0815E3F2 -_0815E394: - cmp r5, r6 - bcc _0815E3A2 - mov r0, r9 - strh r2, [r0] - mov r1, r10 - strh r3, [r1] - b _0815E3F2 -_0815E3A2: - subs r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - mov r2, r12 - lsls r1, r2, 16 - asrs r1, 16 - lsls r5, r1, 8 - lsls r0, r7, 16 - asrs r0, 16 - subs r0, r1 - lsls r0, 8 - adds r1, r6, 0 - bl __divsi3 - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - adds r5, r0 - ldr r2, [sp] - lsls r1, r2, 16 - asrs r1, 16 - lsls r4, r1, 8 - ldr r2, [sp, 0x4] - lsls r0, r2, 16 - asrs r0, 16 - subs r0, r1 - lsls r0, 8 - adds r1, r6, 0 - bl __divsi3 - mov r6, r8 - muls r6, r0 - adds r0, r6, 0 - adds r4, r0 - asrs r5, 8 - mov r0, r9 - strh r5, [r0] - asrs r4, 8 - mov r1, r10 - strh r4, [r1] -_0815E3F2: - 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_815E34C - - thumb_func_start sub_815E404 -sub_815E404: @ 815E404 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x24 - ble _0815E43A - ldr r3, =gTasks - movs r0, 0x32 - ldrsh r1, [r4, r0] - lsls r1, 1 - movs r0, 0x30 - ldrsh r2, [r4, r0] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r3, 0x8 - adds r1, r3 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - adds r0, r4, 0 - bl DestroySprite -_0815E43A: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815E404 - - thumb_func_start sub_815E444 -sub_815E444: @ 815E444 - push {r4,lr} - adds r4, r0, 0 - ldr r1, =gBattleAnimArgs - ldrh r0, [r1] - strh r0, [r4, 0x20] - ldrh r0, [r1, 0x2] - strh r0, [r4, 0x22] - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x32] - ldrh r0, [r1, 0x6] - strh r0, [r4, 0x36] - ldrh r0, [r1, 0x8] - strh r0, [r4, 0x2E] - ldr r1, =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, =sub_80A70C0 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815E444 - - thumb_func_start sub_815E47C -sub_815E47C: @ 815E47C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r0, 2 - add r0, r9 - lsls r0, 3 - ldr r1, =gTasks - adds r7, r0, r1 - ldr r0, =gBattleAnimAttacker - mov r10, r0 - ldrb r0, [r0] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r7, 0x1E] - mov r1, r10 - ldrb r0, [r1] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r7, 0x20] - ldr r0, =gBattleAnimTarget - mov r8, r0 - ldrb r0, [r0] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r7, 0x22] - mov r1, r8 - ldrb r0, [r1] - movs r1, 0x3 - bl GetBattlerSpriteCoord - adds r4, r0, 0 - mov r1, r8 - ldrb r0, [r1] - movs r1, 0 - bl sub_80A861C - lsls r4, 24 - lsrs r4, 24 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _0815E4EE - adds r0, 0x3 -_0815E4EE: - asrs r0, 2 - adds r0, r4, r0 - strh r0, [r7, 0x24] - ldr r4, =gUnknown_085CE84C - movs r0, 0x1E - ldrsh r5, [r7, r0] - movs r1, 0x20 - ldrsh r6, [r7, r1] - mov r1, r8 - ldrb r0, [r1] - bl GetBattlerSpriteSubpriority - adds r3, r0, 0 - subs r3, 0x5 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r7, 0x26] - cmp r0, 0x40 - beq _0815E5B8 - ldr r4, =gSprites - movs r0, 0x26 - ldrsh r1, [r7, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x10 - strh r1, [r0, 0x2E] - movs r0, 0x26 - ldrsh r1, [r7, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r7, 0x22] - strh r1, [r0, 0x32] - movs r0, 0x26 - ldrsh r1, [r7, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r7, 0x24] - strh r1, [r0, 0x36] - movs r0, 0x26 - ldrsh r1, [r7, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, =0x0000ffe0 - strh r1, [r0, 0x38] - movs r0, 0x26 - ldrsh r1, [r7, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl InitAnimArcTranslation - mov r1, r10 - ldrb r0, [r1] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0815E596 - movs r0, 0x26 - ldrsh r1, [r7, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x1 - bl StartSpriteAffineAnim -_0815E596: - ldr r0, =sub_815E5CC - str r0, [r7] - b _0815E5BE - .pool -_0815E5B8: - mov r0, r9 - bl DestroyAnimVisualTask -_0815E5BE: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_815E47C - - thumb_func_start sub_815E5CC -sub_815E5CC: @ 815E5CC - push {r4,r5,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r0, 0x8 - ldrsh r1, [r4, r0] - cmp r1, 0x1 - beq _0815E634 - cmp r1, 0x1 - bgt _0815E5F4 - cmp r1, 0 - beq _0815E5FE - b _0815E6D2 - .pool -_0815E5F4: - cmp r1, 0x2 - beq _0815E658 - cmp r1, 0x3 - beq _0815E6CC - b _0815E6D2 -_0815E5FE: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _0815E6D2 - strh r1, [r4, 0xA] - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl TranslateAnimArc - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _0815E6D2 - b _0815E6BE - .pool -_0815E634: - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl TranslateAnimArc - lsls r0, 24 - cmp r0, 0 - beq _0815E6D2 - movs r0, 0 - strh r0, [r4, 0xA] - strh r0, [r4, 0xC] - b _0815E6BE - .pool -_0815E658: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _0815E6D2 - movs r0, 0 - strh r0, [r4, 0xA] - ldrh r2, [r4, 0xC] - adds r2, 0x1 - strh r2, [r4, 0xC] - ldr r5, =gSprites - movs r1, 0x26 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - movs r0, 0x1 - ands r2, r0 - adds r1, 0x3E - lsls r2, 2 - ldrb r3, [r1] - subs r0, 0x6 - ands r0, r3 - orrs r0, r2 - strb r0, [r1] - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0x10 - bne _0815E6D2 - movs r0, 0x26 - ldrsh r1, [r4, r0] - 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 - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - bl DestroySprite -_0815E6BE: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0815E6D2 - .pool -_0815E6CC: - adds r0, r2, 0 - bl DestroyAnimVisualTask -_0815E6D2: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_815E5CC - - thumb_func_start sub_815E6D8 -sub_815E6D8: @ 815E6D8 - push {r4-r6,lr} - adds r4, r0, 0 - ldr r0, =gBattleAnimArgs - movs r2, 0 - ldrsh r1, [r0, r2] - adds r6, r0, 0 - cmp r1, 0 - bne _0815E6F4 - ldr r0, =gBattleAnimAttacker - b _0815E6F6 - .pool -_0815E6F4: - ldr r0, =gBattleAnimTarget -_0815E6F6: - ldrb r5, [r0] - ldrh r2, [r4, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - adds r1, 0x10 - ldr r3, =0x000003ff - adds r0, r3, 0 - ands r1, r0 - ldr r0, =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r4, 0x4] - adds r1, r6, 0 - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x3A] - movs r2, 0x2 - ldrsh r0, [r1, r2] - movs r1, 0x1 - cmp r0, 0 - bne _0815E724 - movs r3, 0x1 - negs r3, r3 - adds r1, r3, 0 -_0815E724: - strh r1, [r4, 0x3C] - adds r0, r5, 0 - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x22] - movs r1, 0x2 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _0815E768 - ldrb r2, [r4, 0x3] - lsls r1, r2, 26 - lsrs r1, 27 - movs r0, 0x8 - orrs r1, r0 - lsls r1, 1 - subs r0, 0x47 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x3] - adds r0, r5, 0 - movs r1, 0x4 - bl sub_80A861C - subs r0, 0x8 - b _0815E772 - .pool -_0815E768: - adds r0, r5, 0 - movs r1, 0x5 - bl sub_80A861C - adds r0, 0x8 -_0815E772: - strh r0, [r4, 0x20] - ldr r0, =sub_815E784 - str r0, [r4, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815E6D8 - - thumb_func_start sub_815E784 -sub_815E784: @ 815E784 - push {lr} - adds r2, r0, 0 - movs r0, 0x2E - ldrsh r1, [r2, r0] - cmp r1, 0x1 - beq _0815E7CC - cmp r1, 0x1 - bgt _0815E79A - cmp r1, 0 - beq _0815E7A4 - b _0815E83C -_0815E79A: - cmp r1, 0x2 - beq _0815E7DC - cmp r1, 0x3 - beq _0815E802 - b _0815E83C -_0815E7A4: - ldrh r0, [r2, 0x30] - adds r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _0815E83C - strh r1, [r2, 0x30] - ldrh r0, [r2, 0x3C] - ldrh r1, [r2, 0x24] - adds r0, r1 - strh r0, [r2, 0x24] - ldrh r0, [r2, 0x32] - adds r0, 0x1 - strh r0, [r2, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xC - bne _0815E83C - b _0815E7FA -_0815E7CC: - ldrh r0, [r2, 0x30] - adds r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - bne _0815E83C - b _0815E7F6 -_0815E7DC: - movs r0, 0x3C - ldrsh r1, [r2, r0] - lsls r1, 2 - ldrh r0, [r2, 0x24] - subs r0, r1 - strh r0, [r2, 0x24] - ldrh r0, [r2, 0x30] - adds r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x6 - bne _0815E83C -_0815E7F6: - movs r0, 0 - strh r0, [r2, 0x30] -_0815E7FA: - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - b _0815E83C -_0815E802: - movs r0, 0x3C - ldrsh r1, [r2, r0] - lsls r0, r1, 1 - adds r0, r1 - ldrh r1, [r2, 0x24] - adds r0, r1 - strh r0, [r2, 0x24] - ldrh r0, [r2, 0x30] - adds r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - bne _0815E83C - ldrh r0, [r2, 0x3A] - subs r0, 0x1 - strh r0, [r2, 0x3A] - lsls r0, 16 - cmp r0, 0 - beq _0815E836 - movs r0, 0 - strh r0, [r2, 0x30] - ldrh r0, [r2, 0x2E] - subs r0, 0x1 - strh r0, [r2, 0x2E] - b _0815E83C -_0815E836: - adds r0, r2, 0 - bl DestroyAnimSprite -_0815E83C: - pop {r0} - bx r0 - thumb_func_end sub_815E784 - - thumb_func_start sub_815E840 -sub_815E840: @ 815E840 - push {r4,lr} - lsls r0, 24 - lsrs r1, r0, 24 - ldr r2, =gBattleAnimArgs - movs r3, 0 - ldrsh r0, [r2, r3] - cmp r0, 0 - bne _0815E85C - adds r0, r1, 0 - bl DestroyAnimVisualTask - b _0815E884 - .pool -_0815E85C: - ldr r0, =gTasks - lsls r4, r1, 2 - adds r4, r1 - lsls r4, 3 - adds r4, r0 - ldrh r0, [r2, 0x2] - strh r0, [r4, 0x8] - ldrb r0, [r2] - bl GetAnimBattlerSpriteId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - strh r1, [r4, 0x26] - ldr r2, =gUnknown_085CE87C - adds r0, r4, 0 - bl PrepareAffineAnimInTaskData - ldr r0, =sub_815E898 - str r0, [r4] -_0815E884: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815E840 - - thumb_func_start sub_815E898 -sub_815E898: @ 815E898 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _0815E8F2 - movs r0, 0 - strh r0, [r4, 0xA] - ldrh r1, [r4, 0xC] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0815E8E0 - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x2 - b _0815E8F0 - .pool -_0815E8E0: - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, =0x0000fffe -_0815E8F0: - strh r1, [r0, 0x24] -_0815E8F2: - adds r0, r4, 0 - bl RunAffineAnimFromTaskData - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _0815E94E - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r5, [r0, 0x24] - ldrh r0, [r4, 0x8] - subs r0, 0x1 - strh r0, [r4, 0x8] - lsls r0, 16 - cmp r0, 0 - beq _0815E948 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, =gTasks - adds r0, r1 - ldrh r1, [r0, 0x26] - lsls r1, 24 - lsrs r1, 24 - ldr r2, =gUnknown_085CE87C - bl PrepareAffineAnimInTaskData - strh r5, [r4, 0xA] - strh r5, [r4, 0xC] - b _0815E94E - .pool -_0815E948: - adds r0, r6, 0 - bl DestroyAnimVisualTask -_0815E94E: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_815E898 - - thumb_func_start sub_815E954 -sub_815E954: @ 815E954 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _0815E970 - ldr r4, =gBattleAnimAttacker - b _0815E972 - .pool -_0815E970: - ldr r4, =gBattleAnimTarget -_0815E972: - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x2 - bl sub_80A861C - strh r0, [r5, 0x22] - movs r1, 0x22 - ldrsh r0, [r5, r1] - cmp r0, 0x7 - bgt _0815E996 - movs r0, 0x8 - strh r0, [r5, 0x22] -_0815E996: - movs r2, 0 - strh r2, [r5, 0x2E] - ldr r1, =gBattleAnimArgs - ldrh r0, [r1, 0x2] - strh r0, [r5, 0x30] - strh r2, [r5, 0x32] - ldrh r0, [r1, 0x4] - strh r0, [r5, 0x34] - ldr r0, =sub_815E9BC - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815E954 - - thumb_func_start sub_815E9BC -sub_815E9BC: @ 815E9BC - push {lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x30 - ldrsh r1, [r3, r2] - cmp r0, r1 - blt _0815EA10 - movs r0, 0 - strh r0, [r3, 0x2E] - ldrh r1, [r3, 0x32] - adds r1, 0x1 - movs r0, 0x1 - ands r1, r0 - strh r1, [r3, 0x32] - movs r0, 0x3E - adds r0, r3 - mov r12, r0 - lsls r1, 2 - ldrb r2, [r0] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - movs r2, 0x32 - ldrsh r0, [r3, r2] - cmp r0, 0 - beq _0815EA10 - ldrh r0, [r3, 0x34] - subs r0, 0x1 - strh r0, [r3, 0x34] - lsls r0, 16 - cmp r0, 0 - bne _0815EA10 - adds r0, r3, 0 - bl DestroyAnimSprite -_0815EA10: - pop {r0} - bx r0 - thumb_func_end sub_815E9BC - - thumb_func_start sub_815EA14 -sub_815EA14: @ 815EA14 - push {lr} - adds r3, r0, 0 - ldr r0, =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _0815EA44 - ldrb r2, [r3, 0x3] - lsls r1, r2, 26 - lsrs r1, 27 - movs r0, 0x8 - orrs r1, r0 - lsls r1, 1 - subs r0, 0x47 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x3] - movs r0, 0x64 - strh r0, [r3, 0x20] - movs r0, 0x1 - b _0815EA4A - .pool -_0815EA44: - movs r0, 0x8C - strh r0, [r3, 0x20] - ldr r0, =0x0000ffff -_0815EA4A: - strh r0, [r3, 0x3C] - movs r0, 0x38 - strh r0, [r3, 0x22] - ldr r0, =sub_815EA60 - str r0, [r3, 0x1C] - pop {r0} - bx r0 - .pool - thumb_func_end sub_815EA14 - - thumb_func_start sub_815EA60 -sub_815EA60: @ 815EA60 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x8 - bls _0815EA6E - b _0815EC40 -_0815EA6E: - lsls r0, 2 - ldr r1, =_0815EA7C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0815EA7C: - .4byte _0815EAA0 - .4byte _0815EAD2 - .4byte _0815EAE4 - .4byte _0815EB24 - .4byte _0815EB36 - .4byte _0815EB74 - .4byte _0815EBD8 - .4byte _0815EBF8 - .4byte _0815EC1E -_0815EAA0: - movs r3, 0x3C - ldrsh r0, [r4, r3] - lsls r0, 1 - ldrh r1, [r4, 0x22] - subs r1, r0 - strh r1, [r4, 0x22] - ldrh r2, [r4, 0x30] - movs r0, 0x1 - ands r0, r2 - cmp r0, 0 - beq _0815EAC2 - movs r0, 0x3C - ldrsh r1, [r4, r0] - lsls r1, 1 - ldrh r0, [r4, 0x20] - subs r0, r1 - strh r0, [r4, 0x20] -_0815EAC2: - adds r0, r2, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x9 - beq _0815EAD0 - b _0815EC40 -_0815EAD0: - b _0815EC12 -_0815EAD2: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - beq _0815EAE2 - b _0815EC40 -_0815EAE2: - b _0815EC12 -_0815EAE4: - ldrh r2, [r4, 0x30] - adds r2, 0x1 - strh r2, [r4, 0x30] - movs r3, 0x3C - ldrsh r1, [r4, r3] - lsls r0, r1, 1 - adds r0, r1 - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - ldr r3, =gSineTable - movs r0, 0x30 - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 19 - ldrh r1, [r4, 0x3C] - muls r0, r1 - strh r0, [r4, 0x24] - lsls r2, 16 - asrs r2, 16 - cmp r2, 0xC - beq _0815EB1C - b _0815EC40 -_0815EB1C: - b _0815EC12 - .pool -_0815EB24: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - beq _0815EB34 - b _0815EC40 -_0815EB34: - b _0815EC12 -_0815EB36: - ldrh r2, [r4, 0x30] - adds r2, 0x1 - strh r2, [r4, 0x30] - movs r1, 0x3C - ldrsh r0, [r4, r1] - lsls r1, r0, 1 - adds r1, r0 - ldrh r0, [r4, 0x22] - subs r0, r1 - strh r0, [r4, 0x22] - ldr r3, =gSineTable - movs r0, 0x30 - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 19 - ldrh r1, [r4, 0x3C] - muls r0, r1 - strh r0, [r4, 0x24] - lsls r2, 16 - asrs r2, 16 - cmp r2, 0xC - bne _0815EC40 - b _0815EC16 - .pool -_0815EB74: - ldrh r2, [r4, 0x30] - adds r2, 0x1 - strh r2, [r4, 0x30] - movs r3, 0x3C - ldrsh r1, [r4, r3] - lsls r0, r1, 1 - adds r0, r1 - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - ldr r3, =gSineTable - movs r0, 0x30 - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 19 - ldrh r1, [r4, 0x3C] - muls r0, r1 - strh r0, [r4, 0x24] - lsls r2, 16 - asrs r2, 16 - cmp r2, 0xF - bne _0815EBC0 - ldrh r2, [r4, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - adds r1, 0x10 - ldr r3, =0x000003ff - adds r0, r3, 0 - ands r1, r0 - ldr r0, =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r4, 0x4] -_0815EBC0: - movs r1, 0x30 - ldrsh r0, [r4, r1] - cmp r0, 0x12 - bne _0815EC40 - b _0815EC12 - .pool -_0815EBD8: - movs r3, 0x3C - ldrsh r0, [r4, r3] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 1 - ldrh r0, [r4, 0x20] - adds r1, r0 - strh r1, [r4, 0x20] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x9 - bne _0815EC40 - b _0815EC12 -_0815EBF8: - movs r1, 0x3C - ldrsh r0, [r4, r1] - lsls r0, 1 - ldrh r3, [r4, 0x20] - adds r0, r3 - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bne _0815EC40 -_0815EC12: - movs r0, 0 - strh r0, [r4, 0x30] -_0815EC16: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _0815EC40 -_0815EC1E: - movs r1, 0x3C - ldrsh r0, [r4, r1] - lsls r1, r0, 1 - adds r1, r0 - ldrh r0, [r4, 0x20] - subs r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _0815EC40 - adds r0, r4, 0 - bl DestroyAnimSprite -_0815EC40: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_815EA60 - - thumb_func_start sub_815EC48 -sub_815EC48: @ 815EC48 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r6, r1, r0 - movs r0, 0 - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x26] - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _0815ECD0 - bl IsDoubleBattle - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x1 - bne _0815ECB4 - ldr r5, =gBattleAnimAttacker - ldrb r0, [r5] - movs r1, 0 - bl GetBattlerSpriteCoord - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldrb r1, [r5] - movs r0, 0x2 - eors r0, r1 - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - ble _0815ECAC - strh r7, [r6, 0x24] - b _0815ECD4 - .pool -_0815ECAC: - ldr r0, =0x0000ffff - b _0815ECD2 - .pool -_0815ECB4: - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _0815ECD0 - ldr r0, =0x0000ffff - b _0815ECD2 - .pool -_0815ECD0: - movs r0, 0x1 -_0815ECD2: - strh r0, [r6, 0x24] -_0815ECD4: - ldr r0, =sub_815ECE4 - str r0, [r6] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815EC48 - - thumb_func_start sub_815ECE4 -sub_815ECE4: @ 815ECE4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks - adds r3, r0, r1 - movs r1, 0x8 - ldrsh r0, [r3, r1] - cmp r0, 0x8 - bls _0815ECFE - b _0815EE78 -_0815ECFE: - lsls r0, 2 - ldr r1, =_0815ED10 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0815ED10: - .4byte _0815ED34 - .4byte _0815ED46 - .4byte _0815ED78 - .4byte _0815EDA8 - .4byte _0815EDCE - .4byte _0815EDF8 - .4byte _0815EE08 - .4byte _0815EE28 - .4byte _0815EE60 -_0815ED34: - ldrh r0, [r3, 0xA] - adds r0, 0x1 - strh r0, [r3, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xD - beq _0815ED44 - b _0815EE78 -_0815ED44: - b _0815EE50 -_0815ED46: - ldr r2, =gSprites - movs r1, 0x26 - ldrsh r0, [r3, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r2, 0x24 - ldrsh r0, [r3, r2] - lsls r2, r0, 1 - adds r2, r0 - ldrh r0, [r1, 0x24] - subs r0, r2 - strh r0, [r1, 0x24] - ldrh r0, [r3, 0xA] - adds r0, 0x1 - strh r0, [r3, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x6 - beq _0815ED72 - b _0815EE78 -_0815ED72: - b _0815EE50 - .pool -_0815ED78: - ldr r2, =gSprites - movs r1, 0x26 - ldrsh r0, [r3, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x24 - ldrsh r2, [r3, r0] - lsls r0, r2, 1 - adds r0, r2 - ldrh r2, [r1, 0x24] - adds r0, r2 - strh r0, [r1, 0x24] - ldrh r0, [r3, 0xA] - adds r0, 0x1 - strh r0, [r3, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x6 - bne _0815EE78 - b _0815EE50 - .pool -_0815EDA8: - ldrh r0, [r3, 0xA] - adds r0, 0x1 - strh r0, [r3, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - bne _0815EE78 - movs r0, 0 - strh r0, [r3, 0xA] - ldrh r1, [r3, 0xC] - movs r2, 0xC - ldrsh r0, [r3, r2] - cmp r0, 0 - bne _0815EE54 - adds r0, r1, 0x1 - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0x8] - b _0815EE78 -_0815EDCE: - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r3, 0x24] - ldrh r2, [r0, 0x24] - adds r1, r2 - strh r1, [r0, 0x24] - ldrh r0, [r3, 0xA] - adds r0, 0x1 - strh r0, [r3, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - bne _0815EE78 - b _0815EE50 - .pool -_0815EDF8: - ldrh r0, [r3, 0xA] - adds r0, 0x1 - strh r0, [r3, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x6 - bne _0815EE78 - b _0815EE50 -_0815EE08: - ldr r2, =gSprites - movs r1, 0x26 - ldrsh r0, [r3, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x24 - ldrsh r2, [r3, r0] - lsls r2, 2 - ldrh r0, [r1, 0x24] - subs r0, r2 - b _0815EE40 - .pool -_0815EE28: - ldr r2, =gSprites - movs r1, 0x26 - ldrsh r0, [r3, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r2, 0x24 - ldrsh r0, [r3, r2] - lsls r0, 2 - ldrh r2, [r1, 0x24] - adds r0, r2 -_0815EE40: - strh r0, [r1, 0x24] - ldrh r0, [r3, 0xA] - adds r0, 0x1 - strh r0, [r3, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _0815EE78 -_0815EE50: - movs r0, 0 - strh r0, [r3, 0xA] -_0815EE54: - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] - b _0815EE78 - .pool -_0815EE60: - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strh r1, [r0, 0x24] - adds r0, r4, 0 - bl DestroyAnimVisualTask -_0815EE78: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815ECE4 - - thumb_func_start sub_815EE84 -sub_815EE84: @ 815EE84 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _0815EEA8 - adds r0, r4, 0 - movs r1, 0x1 - bl InitAnimSpritePos - ldr r0, =gBattleAnimAttacker - b _0815EEAA - .pool -_0815EEA8: - ldr r0, =gBattleAnimTarget -_0815EEAA: - ldrb r0, [r0] - strh r0, [r4, 0x3C] - ldrh r0, [r4, 0x3C] - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0815EECE - ldrb r0, [r4, 0x3] - movs r1, 0x3F - negs r1, r1 - ands r1, r0 - movs r0, 0x10 - orrs r1, r0 - strb r1, [r4, 0x3] -_0815EECE: - ldrh r0, [r4, 0x3C] - lsls r0, 24 - lsrs r0, 24 - bl sub_80A8328 - movs r2, 0x3 - ands r2, r0 - lsls r2, 2 - ldrb r3, [r4, 0x5] - movs r1, 0xD - negs r1, r1 - adds r0, r1, 0 - ands r0, r3 - orrs r0, r2 - strb r0, [r4, 0x5] - ldrb r0, [r4, 0x1] - ands r1, r0 - movs r0, 0x4 - orrs r1, r0 - strb r1, [r4, 0x1] - ldr r0, =sub_815EF08 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815EE84 - - thumb_func_start sub_815EF08 -sub_815EF08: @ 815EF08 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x38 - ldrsh r0, [r4, r1] - cmp r0, 0x4 - bls _0815EF16 - b _0815F106 -_0815EF16: - lsls r0, 2 - ldr r1, =_0815EF24 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0815EF24: - .4byte _0815EF38 - .4byte _0815F038 - .4byte _0815F0A0 - .4byte _0815F0B4 - .4byte _0815F100 -_0815EF38: - movs r2, 0x3A - ldrsh r0, [r4, r2] - cmp r0, 0x5 - bhi _0815EF68 - lsls r0, 2 - ldr r1, =_0815EF50 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0815EF50: - .4byte _0815EF6C - .4byte _0815EF88 - .4byte _0815EFAA - .4byte _0815EFC6 - .4byte _0815EF6C - .4byte _0815EFEC -_0815EF68: - movs r0, 0 - strh r0, [r4, 0x3A] -_0815EF6C: - ldrh r0, [r4, 0x3C] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x5 - bl sub_80A861C - subs r0, 0x4 - lsls r0, 16 - lsrs r5, r0, 16 - ldrh r0, [r4, 0x3C] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3 - b _0815EFE0 -_0815EF88: - ldrh r0, [r4, 0x3C] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x5 - bl sub_80A861C - subs r0, 0x4 - lsls r0, 16 - lsrs r5, r0, 16 - ldrh r0, [r4, 0x3C] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl sub_80A861C - adds r0, 0x4 - b _0815EFE6 -_0815EFAA: - ldrh r0, [r4, 0x3C] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x4 - bl sub_80A861C - adds r0, 0x4 - lsls r0, 16 - lsrs r5, r0, 16 - ldrh r0, [r4, 0x3C] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3 - b _0815EFE0 -_0815EFC6: - ldrh r0, [r4, 0x3C] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x4 - bl sub_80A861C - adds r0, 0x4 - lsls r0, 16 - lsrs r5, r0, 16 - ldrh r0, [r4, 0x3C] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 -_0815EFE0: - bl sub_80A861C - subs r0, 0x4 -_0815EFE6: - lsls r0, 16 - lsrs r1, r0, 16 - b _0815F00C -_0815EFEC: - ldrh r0, [r4, 0x3C] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r5, r0, 24 - ldrh r0, [r4, 0x3C] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r1, r0, 24 -_0815F00C: - movs r2, 0x3A - ldrsh r0, [r4, r2] - cmp r0, 0x4 - bne _0815F018 - movs r0, 0x18 - b _0815F022 -_0815F018: - cmp r0, 0x5 - bne _0815F020 - movs r0, 0x6 - b _0815F022 -_0815F020: - movs r0, 0xC -_0815F022: - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x20] - strh r0, [r4, 0x30] - strh r5, [r4, 0x32] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - strh r1, [r4, 0x36] - adds r0, r4, 0 - bl InitAnimLinearTranslation - b _0815F0F8 -_0815F038: - adds r0, r4, 0 - bl TranslateAnimLinear - lsls r0, 24 - cmp r0, 0 - beq _0815F106 - movs r1, 0x3A - ldrsh r0, [r4, r1] - cmp r0, 0x4 - beq _0815F070 - cmp r0, 0x5 - beq _0815F090 - ldrh r0, [r4, 0x24] - ldrh r2, [r4, 0x20] - adds r0, r2 - movs r1, 0 - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x26] - ldrh r2, [r4, 0x22] - adds r0, r2 - strh r0, [r4, 0x22] - strh r1, [r4, 0x26] - strh r1, [r4, 0x24] - strh r1, [r4, 0x2E] - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - b _0815F088 -_0815F070: - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x20] - adds r0, r1 - movs r1, 0 - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x26] - ldrh r2, [r4, 0x22] - adds r0, r2 - strh r0, [r4, 0x22] - strh r1, [r4, 0x26] - strh r1, [r4, 0x24] - strh r1, [r4, 0x38] -_0815F088: - ldrh r0, [r4, 0x3A] - adds r0, 0x1 - strh r0, [r4, 0x3A] - b _0815F106 -_0815F090: - movs r0, 0 - strh r0, [r4, 0x2E] - movs r1, 0x10 - strh r1, [r4, 0x30] - strh r0, [r4, 0x32] - movs r0, 0x3 - strh r0, [r4, 0x38] - b _0815F106 -_0815F0A0: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bne _0815F106 - movs r0, 0 - strh r0, [r4, 0x38] - b _0815F106 -_0815F0B4: - ldrh r1, [r4, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0815F0C6 - ldrh r0, [r4, 0x30] - subs r0, 0x1 - strh r0, [r4, 0x30] - b _0815F0CC -_0815F0C6: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] -_0815F0CC: - ldrh r1, [r4, 0x32] - lsls r1, 8 - ldrh r0, [r4, 0x30] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x20 - bne _0815F106 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_0815F0F8: - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - b _0815F106 -_0815F100: - adds r0, r4, 0 - bl DestroyAnimSprite -_0815F106: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_815EF08 - - thumb_func_start sub_815F10C -sub_815F10C: @ 815F10C - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - movs r2, 0x2E - ldrsh r1, [r4, r2] - subs r0, r1 - movs r2, 0x38 - ldrsh r1, [r4, r2] - muls r0, r1 - movs r2, 0x36 - ldrsh r1, [r4, r2] - bl __divsi3 - adds r5, r0, 0 - strh r5, [r4, 0x24] - movs r1, 0x34 - ldrsh r0, [r4, r1] - movs r2, 0x30 - ldrsh r1, [r4, r2] - subs r0, r1 - movs r2, 0x38 - ldrsh r1, [r4, r2] - muls r0, r1 - movs r2, 0x36 - ldrsh r1, [r4, r2] - bl __divsi3 - adds r3, r0, 0 - strh r3, [r4, 0x26] - ldrh r1, [r4, 0x38] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0815F16A - ldr r0, =gUnknown_085CE3A0 - ldrh r1, [r4, 0x20] - adds r1, r5 - lsls r1, 16 - asrs r1, 16 - ldrh r2, [r4, 0x22] - adds r2, r3 - lsls r2, 16 - asrs r2, 16 - movs r3, 0x5 - bl CreateSprite -_0815F16A: - movs r0, 0x38 - ldrsh r1, [r4, r0] - movs r2, 0x36 - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _0815F17C - adds r0, r4, 0 - bl DestroyAnimSprite -_0815F17C: - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815F10C - - thumb_func_start sub_815F18C -sub_815F18C: @ 815F18C - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _0815F1B8 - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _0815F1D0 -_0815F1B8: - ldr r2, =gBattleAnimArgs - ldrh r1, [r5, 0x20] - ldrh r0, [r2] - subs r0, r1, r0 - strh r0, [r5, 0x2E] - ldrh r0, [r2, 0x4] - subs r1, r0 - b _0815F1DE - .pool -_0815F1D0: - ldr r2, =gBattleAnimArgs - ldrh r1, [r5, 0x20] - ldrh r0, [r2] - adds r0, r1, r0 - strh r0, [r5, 0x2E] - ldrh r0, [r2, 0x4] - adds r1, r0 -_0815F1DE: - strh r1, [r5, 0x32] - adds r3, r2, 0 - ldrh r1, [r5, 0x22] - ldrh r2, [r3, 0x2] - adds r2, r1, r2 - strh r2, [r5, 0x30] - ldrh r0, [r3, 0x6] - adds r1, r0 - strh r1, [r5, 0x34] - ldrh r0, [r3, 0x8] - strh r0, [r5, 0x36] - ldrh r0, [r5, 0x2E] - strh r0, [r5, 0x20] - strh r2, [r5, 0x22] - ldr r0, =sub_815F10C - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815F18C - - thumb_func_start AnimTask_MonToSubstitute -AnimTask_MonToSubstitute: @ 815F20C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r6, r0, 24 - movs r0, 0 - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r5, r0, 24 - adds r2, r5, 0 - ldr r0, =gTasks - mov r9, r0 - lsls r7, r6, 2 - adds r0, r7, r6 - lsls r0, 3 - mov r8, r0 - mov r4, r8 - add r4, r9 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0815F254 - adds r0, r5, 0 - movs r1, 0 - bl PrepareBattlerSpriteForRotScale - movs r0, 0x80 - lsls r0, 1 - strh r0, [r4, 0xA] - strh r0, [r4, 0xC] - b _0815F2A0 - .pool -_0815F254: - cmp r0, 0x1 - bne _0815F2AC - ldrh r0, [r4, 0xA] - adds r0, 0x60 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xC] - subs r0, 0xD - strh r0, [r4, 0xC] - movs r2, 0xA - ldrsh r1, [r4, r2] - movs r0, 0xC - ldrsh r2, [r4, r0] - adds r0, r5, 0 - movs r3, 0 - bl SetSpriteRotScale - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x9 - bne _0815F310 - movs r0, 0 - strh r0, [r4, 0xE] - adds r0, r5, 0 - bl ResetSpriteRotScale - ldr r1, =gSprites - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r0, r1 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_0815F2A0: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0815F310 - .pool -_0815F2AC: - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0 - bl LoadBattleMonGfxAndAnimate - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _0815F2EE - ldr r3, =gSprites - ldr r2, =gBattlerSpriteIds - ldrb r0, [r4] - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r3, 0 - adds r1, 0x10 - adds r0, r1 - ldr r1, =gUnknown_082FF6C0 - str r1, [r0] - ldrb r0, [r4] - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0 - bl StartSpriteAffineAnim -_0815F2EE: - mov r4, r9 - adds r3, r7, 0 - ldr r5, =sub_815F330 - movs r1, 0xF - mov r2, r8 - adds r0, r4, r2 - adds r0, 0x26 - movs r2, 0 -_0815F2FE: - strh r2, [r0] - subs r0, 0x2 - subs r1, 0x1 - cmp r1, 0 - bge _0815F2FE - adds r0, r3, r6 - lsls r0, 3 - adds r0, r4 - str r5, [r0] -_0815F310: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end AnimTask_MonToSubstitute - - thumb_func_start sub_815F330 -sub_815F330: @ 815F330 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - movs r0, 0 - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r3, r0, 24 - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r4, r0, r1 - movs r0, 0x8 - ldrsh r5, [r4, r0] - cmp r5, 0x1 - beq _0815F394 - cmp r5, 0x1 - bgt _0815F360 - cmp r5, 0 - beq _0815F36A - b _0815F482 - .pool -_0815F360: - cmp r5, 0x2 - beq _0815F400 - cmp r5, 0x3 - beq _0815F43C - b _0815F482 -_0815F36A: - ldr r0, =gSprites - lsls r1, r3, 4 - adds r1, r3 - lsls r1, 2 - adds r1, r0 - ldr r0, =0x0000ff38 - strh r0, [r1, 0x26] - movs r0, 0xC8 - strh r0, [r1, 0x24] - adds r1, 0x3E - ldrb r2, [r1] - subs r0, 0xCD - ands r0, r2 - strb r0, [r1] - strh r5, [r4, 0x1C] - b _0815F42E - .pool -_0815F394: - ldrh r1, [r4, 0x1C] - adds r1, 0x70 - movs r5, 0 - strh r1, [r4, 0x1C] - ldr r2, =gSprites - lsls r0, r3, 4 - adds r0, r3 - lsls r0, 2 - adds r2, r0, r2 - lsls r1, 16 - asrs r1, 24 - ldrh r3, [r2, 0x26] - adds r1, r3 - strh r1, [r2, 0x26] - movs r1, 0x22 - ldrsh r0, [r2, r1] - movs r3, 0x26 - ldrsh r1, [r2, r3] - adds r0, r1 - movs r1, 0x20 - negs r1, r1 - cmp r0, r1 - blt _0815F3C4 - strh r5, [r2, 0x24] -_0815F3C4: - movs r1, 0x26 - ldrsh r0, [r2, r1] - cmp r0, 0 - ble _0815F3CE - strh r5, [r2, 0x26] -_0815F3CE: - movs r3, 0x26 - ldrsh r0, [r2, r3] - cmp r0, 0 - bne _0815F482 - movs r0, 0x40 - negs r0, r0 - bl BattleAnimAdjustPanning - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0x7D - bl PlaySE12WithPanning - ldr r1, =0xfffff800 - adds r0, r1, 0 - ldrh r2, [r4, 0x1C] - adds r0, r2 - strh r0, [r4, 0x1C] - b _0815F42E - .pool -_0815F400: - ldrh r0, [r4, 0x1C] - subs r0, 0x70 - strh r0, [r4, 0x1C] - lsls r0, 16 - cmp r0, 0 - bge _0815F410 - movs r0, 0 - strh r0, [r4, 0x1C] -_0815F410: - ldr r0, =gSprites - lsls r1, r3, 4 - adds r1, r3 - lsls r1, 2 - adds r1, r0 - ldrh r2, [r4, 0x1C] - lsls r2, 16 - asrs r2, 24 - ldrh r0, [r1, 0x26] - subs r0, r2 - strh r0, [r1, 0x26] - movs r3, 0x1C - ldrsh r0, [r4, r3] - cmp r0, 0 - bne _0815F482 -_0815F42E: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0815F482 - .pool -_0815F43C: - ldrh r0, [r4, 0x1C] - adds r0, 0x70 - strh r0, [r4, 0x1C] - ldr r2, =gSprites - lsls r1, r3, 4 - adds r1, r3 - lsls r1, 2 - adds r1, r2 - lsls r0, 16 - asrs r0, 24 - ldrh r2, [r1, 0x26] - adds r0, r2 - strh r0, [r1, 0x26] - lsls r0, 16 - cmp r0, 0 - ble _0815F460 - movs r0, 0 - strh r0, [r1, 0x26] -_0815F460: - movs r3, 0x26 - ldrsh r0, [r1, r3] - cmp r0, 0 - bne _0815F482 - movs r0, 0x40 - negs r0, r0 - bl BattleAnimAdjustPanning - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0x7D - bl PlaySE12WithPanning - adds r0, r6, 0 - bl DestroyAnimVisualTask -_0815F482: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815F330 - - thumb_func_start sub_815F48C -sub_815F48C: @ 815F48C - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _0815F4B8 - ldrb r0, [r4] - bl GetBattlerSpriteSubpriority - subs r0, 0x2 - adds r1, r5, 0 - adds r1, 0x43 - strb r0, [r1] - ldr r4, =0x0000ff70 - b _0815F4C8 - .pool -_0815F4B8: - ldrb r0, [r4] - bl GetBattlerSpriteSubpriority - adds r0, 0x2 - adds r1, r5, 0 - adds r1, 0x43 - strb r0, [r1] - ldr r4, =0x0000ffa0 -_0815F4C8: - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - strh r4, [r5, 0x26] - ldr r0, =sub_815F4F0 - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815F48C - - thumb_func_start sub_815F4F0 -sub_815F4F0: @ 815F4F0 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x4 - bls _0815F4FE - b _0815F61A -_0815F4FE: - lsls r0, 2 - ldr r1, =_0815F50C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0815F50C: - .4byte _0815F520 - .4byte _0815F544 - .4byte _0815F584 - .4byte _0815F5B4 - .4byte _0815F5E0 -_0815F520: - ldrh r0, [r4, 0x26] - adds r0, 0xA - strh r0, [r4, 0x26] - lsls r0, 16 - cmp r0, 0 - blt _0815F61A - movs r0, 0x3F - bl BattleAnimAdjustPanning - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0xCD - bl PlaySE12WithPanning - movs r0, 0 - strh r0, [r4, 0x26] - b _0815F5D8 -_0815F544: - ldrh r1, [r4, 0x30] - adds r1, 0x4 - movs r5, 0 - strh r1, [r4, 0x30] - ldr r2, =gSineTable - movs r3, 0x30 - ldrsh r0, [r4, r3] - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 19 - negs r0, r0 - strh r0, [r4, 0x26] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x7F - ble _0815F61A - movs r0, 0x3F - bl BattleAnimAdjustPanning - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0xCD - bl PlaySE12WithPanning - strh r5, [r4, 0x30] - strh r5, [r4, 0x26] - b _0815F5D8 - .pool -_0815F584: - ldrh r1, [r4, 0x30] - adds r1, 0x6 - movs r3, 0 - strh r1, [r4, 0x30] - ldr r2, =gSineTable - movs r5, 0x30 - ldrsh r0, [r4, r5] - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 20 - negs r0, r0 - strh r0, [r4, 0x26] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x7F - ble _0815F61A - strh r3, [r4, 0x30] - strh r3, [r4, 0x26] - b _0815F5D8 - .pool -_0815F5B4: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - ble _0815F61A - movs r0, 0x3F - bl BattleAnimAdjustPanning - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0xC0 - bl PlaySE12WithPanning - movs r0, 0 - strh r0, [r4, 0x30] -_0815F5D8: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _0815F61A -_0815F5E0: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - ble _0815F61A - movs r0, 0 - strh r0, [r4, 0x30] - ldrh r1, [r4, 0x32] - adds r1, 0x1 - strh r1, [r4, 0x32] - movs r0, 0x1 - ands r1, r0 - adds r3, r4, 0 - adds r3, 0x3E - lsls r1, 2 - ldrb r2, [r3] - subs r0, 0x6 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0x7 - bne _0815F61A - adds r0, r4, 0 - bl DestroyAnimSprite -_0815F61A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_815F4F0 - - thumb_func_start sub_815F620 -sub_815F620: @ 815F620 - 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 - bl IsContest - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0 - bne _0815F66E - movs r0, 0x1 - bl CloneBattlerSpriteWithBlend - lsls r0, 16 - lsrs r1, r0, 16 - mov r10, r1 - asrs r6, r0, 16 - cmp r6, 0 - blt _0815F66E - movs r0, 0x1 - bl CloneBattlerSpriteWithBlend - lsls r0, 16 - lsrs r1, r0, 16 - mov r9, r1 - asrs r1, r0, 16 - cmp r1, 0 - bge _0815F67C - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl obj_delete_but_dont_free_vram -_0815F66E: - mov r0, r8 - bl DestroyAnimVisualTask - b _0815F780 - .pool -_0815F67C: - ldr r4, =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r5, r0, r4 - ldrh r0, [r5, 0x24] - adds r0, 0x18 - strh r0, [r5, 0x24] - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r6, r0, r4 - ldrh r0, [r6, 0x24] - subs r0, 0x18 - strh r0, [r6, 0x24] - strh r7, [r5, 0x2E] - strh r7, [r6, 0x2E] - strh r7, [r5, 0x30] - strh r7, [r6, 0x30] - strh r7, [r5, 0x32] - strh r7, [r6, 0x32] - movs r0, 0x10 - strh r0, [r5, 0x34] - ldr r0, =0x0000fff0 - strh r0, [r6, 0x34] - strh r7, [r5, 0x36] - movs r0, 0x80 - strh r0, [r6, 0x36] - movs r0, 0x18 - strh r0, [r5, 0x38] - strh r0, [r6, 0x38] - mov r0, r8 - strh r0, [r5, 0x3A] - strh r0, [r6, 0x3A] - strh r7, [r5, 0x3C] - strh r7, [r6, 0x3C] - ldr r2, =gTasks - mov r1, r8 - lsls r3, r1, 2 - adds r0, r3, r1 - lsls r0, 3 - adds r0, r2 - movs r1, 0x2 - strh r1, [r0, 0x8] - ldr r0, =gBattleSpritesDataPtr - ldr r1, [r0] - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - ldr r1, [r1] - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - adds r7, r4, 0 - mov r12, r3 - cmp r0, 0 - bne _0815F720 - adds r2, r5, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r2, r6, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - b _0815F736 - .pool -_0815F720: - adds r1, r5, 0 - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - adds r1, r6, 0 - adds r1, 0x3E - ldrb r0, [r1] - orrs r0, r2 - strb r0, [r1] -_0815F736: - mov r1, r9 - lsls r0, r1, 16 - asrs r0, 16 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r4, r2, r7 - ldrb r1, [r4, 0x1] - movs r3, 0xD - negs r3, r3 - adds r0, r3, 0 - ands r0, r1 - strb r0, [r4, 0x1] - mov r1, r10 - lsls r0, r1, 16 - asrs r0, 16 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r4, r1, r7 - ldrb r0, [r4, 0x1] - ands r3, r0 - strb r3, [r4, 0x1] - adds r3, r7, 0 - adds r3, 0x1C - adds r2, r3 - ldr r0, =sub_815F7C4 - str r0, [r2] - adds r1, r3 - str r0, [r1] - mov r0, r12 - add r0, r8 - lsls r0, 3 - ldr r1, =gTasks - adds r0, r1 - ldr r1, =sub_815F79C - str r1, [r0] -_0815F780: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815F620 - - thumb_func_start sub_815F79C -sub_815F79C: @ 815F79C - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r1 - movs r1, 0x8 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _0815F7BA - adds r0, r2, 0 - bl DestroyAnimVisualTask -_0815F7BA: - pop {r0} - bx r0 - .pool - thumb_func_end sub_815F79C - - thumb_func_start sub_815F7C4 -sub_815F7C4: @ 815F7C4 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _0815F80E - movs r0, 0 - strh r0, [r4, 0x30] - ldr r0, =gBattleSpritesDataPtr - ldr r1, [r0] - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - ldr r1, [r1] - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0815F80E - adds r3, r4, 0 - adds r3, 0x3E - ldrb r2, [r3] - lsls r1, r2, 29 - lsrs r1, 31 - movs r0, 0x1 - eors r1, r0 - ands r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] -_0815F80E: - ldrh r0, [r4, 0x34] - ldrh r1, [r4, 0x36] - adds r0, r1 - movs r5, 0 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x36] - movs r2, 0x36 - ldrsh r0, [r4, r2] - movs r2, 0x38 - ldrsh r1, [r4, r2] - bl Cos - strh r0, [r4, 0x24] - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0815F840 - cmp r0, 0x1 - beq _0815F858 - b _0815F896 - .pool -_0815F840: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3C - bne _0815F896 - strh r5, [r4, 0x32] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _0815F896 -_0815F858: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - cmp r0, 0 - ble _0815F896 - strh r5, [r4, 0x32] - ldrh r0, [r4, 0x38] - subs r0, 0x2 - strh r0, [r4, 0x38] - lsls r0, 16 - cmp r0, 0 - bge _0815F896 - ldr r3, =gTasks - movs r2, 0x3C - ldrsh r1, [r4, r2] - lsls r1, 1 - movs r0, 0x3A - ldrsh r2, [r4, r0] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r3, 0x8 - adds r1, r3 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - adds r0, r4, 0 - bl obj_delete_but_dont_free_vram -_0815F896: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815F7C4 - - thumb_func_start AnimTask_GetReturnPowerLevel -AnimTask_GetReturnPowerLevel: @ 815F8A0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r3, =gBattleAnimArgs - movs r2, 0 - strh r2, [r3, 0xE] - ldr r1, =gAnimFriendship - ldrb r0, [r1] - ldrb r1, [r1] - adds r0, r1, 0 - subs r0, 0x3D - lsls r0, 24 - lsrs r0, 24 - adds r2, r1, 0 - cmp r0, 0x1E - bhi _0815F8C4 - movs r0, 0x1 - strh r0, [r3, 0xE] -_0815F8C4: - adds r0, r2, 0 - subs r0, 0x5C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x6C - bhi _0815F8D4 - movs r0, 0x2 - strh r0, [r3, 0xE] -_0815F8D4: - lsls r0, r1, 24 - lsrs r0, 24 - cmp r0, 0xC8 - bls _0815F8E0 - movs r0, 0x3 - strh r0, [r3, 0xE] -_0815F8E0: - adds r0, r4, 0 - bl DestroyAnimVisualTask - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end AnimTask_GetReturnPowerLevel - - thumb_func_start sub_815F8F4 -sub_815F8F4: @ 815F8F4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r1, =gTasks - lsls r0, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x8 - ldrsh r0, [r0, r1] - cmp r0, 0x4 - bls _0815F91A - b _0815FE68 -_0815F91A: - lsls r0, 2 - ldr r1, =_0815F92C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0815F92C: - .4byte _0815F940 - .4byte _0815F9F4 - .4byte _0815FBE8 - .4byte _0815FD08 - .4byte _0815FD8C -_0815F940: - movs r0, 0 - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, =gTasks - mov r2, r8 - lsls r4, r2, 2 - adds r0, r4, r2 - lsls r0, 3 - adds r6, r0, r1 - movs r3, 0x80 - lsls r3, 4 - adds r0, r3, 0 - ldrh r1, [r6, 0xA] - adds r0, r1 - strh r0, [r6, 0xA] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - mov r9, r4 - cmp r0, 0 - bne _0815F998 - ldr r2, =gSprites - lsls r3, r7, 4 - adds r1, r3, r7 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r6, 0xA] - lsls r0, 16 - asrs r0, 24 - ldrh r4, [r1, 0x24] - adds r0, r4 - strh r0, [r1, 0x24] - b _0815F9B2 - .pool -_0815F998: - ldr r3, =gSprites - lsls r4, r7, 4 - adds r2, r4, r7 - lsls r2, 2 - adds r2, r3 - ldrh r1, [r6, 0xA] - lsls r1, 16 - asrs r1, 24 - ldrh r0, [r2, 0x24] - subs r0, r1 - strh r0, [r2, 0x24] - adds r2, r3, 0 - adds r3, r4, 0 -_0815F9B2: - ldr r1, =gTasks - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r4, r0, r1 - ldrb r0, [r4, 0xA] - strh r0, [r4, 0xA] - adds r1, r3, r7 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r1, 0x24] - ldrh r1, [r1, 0x20] - adds r0, r1 - lsls r0, 16 - movs r1, 0x80 - lsls r1, 14 - adds r0, r1 - movs r1, 0x98 - lsls r1, 17 - cmp r0, r1 - bhi _0815F9DE - b _0815FE68 -_0815F9DE: - movs r0, 0 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0815FE68 - .pool -_0815F9F4: - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _0815FA28 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x18] - ldr r2, [r0, 0x8] - mov r10, r2 - ldr r3, [r0, 0xC] - mov r9, r3 - ldrh r6, [r0] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSpriteSubpriority - lsls r0, 24 - lsrs r4, r0, 24 - movs r7, 0 - b _0815FB4E - .pool -_0815FA28: - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _0815FAC8 - ldr r7, =gBattlerPartyIndexes - ldrb r0, [r4] - lsls r0, 1 - adds r0, r7 - ldrh r0, [r0] - movs r6, 0x64 - muls r0, r6 - ldr r5, =gPlayerParty - adds r0, r5 - movs r1, 0 - bl GetMonData - mov r10, r0 - ldrb r0, [r4] - lsls r0, 1 - adds r0, r7 - ldrh r0, [r0] - muls r0, r6 - adds r0, r5 - movs r1, 0x1 - bl GetMonData - mov r9, r0 - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldrb r2, [r4] - ldr r1, [r0] - lsls r0, r2, 2 - adds r1, r0, r1 - ldrh r0, [r1, 0x2] - cmp r0, 0 - bne _0815FA9C - lsls r0, r2, 1 - adds r0, r7 - ldrh r0, [r0] - muls r0, r6 - adds r0, r5 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r6, r0, 16 - b _0815FA9E - .pool -_0815FA9C: - ldrh r6, [r1, 0x2] -_0815FA9E: - movs r0, 0x1 - bl GetAnimBattlerSpriteId - ldr r2, =gSprites - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - adds r1, 0x43 - ldrb r0, [r1] - adds r0, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - movs r7, 0 - movs r5, 0x88 - lsls r5, 1 - b _0815FB50 - .pool -_0815FAC8: - ldr r7, =gBattlerPartyIndexes - ldrb r0, [r4] - lsls r0, 1 - adds r0, r7 - ldrh r0, [r0] - movs r6, 0x64 - muls r0, r6 - ldr r5, =gEnemyParty - adds r0, r5 - movs r1, 0 - bl GetMonData - mov r10, r0 - ldrb r0, [r4] - lsls r0, 1 - adds r0, r7 - ldrh r0, [r0] - muls r0, r6 - adds r0, r5 - movs r1, 0x1 - bl GetMonData - mov r9, r0 - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldrb r2, [r4] - ldr r1, [r0] - lsls r0, r2, 2 - adds r1, r0, r1 - ldrh r0, [r1, 0x2] - cmp r0, 0 - bne _0815FB2C - lsls r0, r2, 1 - adds r0, r7 - ldrh r0, [r0] - muls r0, r6 - adds r0, r5 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r6, r0, 16 - b _0815FB2E - .pool -_0815FB2C: - ldrh r6, [r1, 0x2] -_0815FB2E: - movs r0, 0x1 - bl GetAnimBattlerSpriteId - ldr r2, =gSprites - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - adds r1, 0x43 - ldrb r0, [r1] - subs r0, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - movs r7, 0x1 -_0815FB4E: - ldr r5, =0x0000ffe0 -_0815FB50: - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - lsls r3, r5, 16 - asrs r3, 16 - str r0, [sp] - str r4, [sp, 0x4] - mov r4, r10 - str r4, [sp, 0x8] - mov r0, r9 - str r0, [sp, 0xC] - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - str r0, [sp, 0x10] - movs r0, 0 - str r0, [sp, 0x14] - adds r0, r6, 0 - adds r1, r7, 0 - movs r2, 0 - bl sub_80A8394 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gBattleSpritesDataPtr - ldr r1, [r0] - ldrb r0, [r4] - ldr r1, [r1] - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0, 0x2] - cmp r0, 0 - beq _0815FBBA - ldr r1, =gSprites - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - orrs r0, r1 - ldr r3, =0x00007fff - movs r1, 0x10 - movs r2, 0x6 - bl BlendPalette -_0815FBBA: - ldr r0, =gTasks - mov r3, r8 - lsls r1, r3, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - strh r5, [r1, 0x26] - b _0815FD7E - .pool -_0815FBE8: - ldr r1, =gTasks - mov r0, r8 - lsls r4, r0, 2 - adds r0, r4, r0 - lsls r0, 3 - adds r6, r0, r1 - ldrh r0, [r6, 0x26] - lsls r0, 24 - lsrs r5, r0, 24 - movs r1, 0x80 - lsls r1, 4 - adds r0, r1, 0 - ldrh r2, [r6, 0xA] - adds r0, r2 - strh r0, [r6, 0xA] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - mov r9, r4 - cmp r0, 0 - bne _0815FC40 - ldr r3, =gSprites - lsls r4, r5, 4 - adds r2, r4, r5 - lsls r2, 2 - adds r2, r3 - ldrh r1, [r6, 0xA] - lsls r1, 16 - asrs r1, 24 - ldrh r0, [r2, 0x24] - subs r0, r1 - strh r0, [r2, 0x24] - adds r2, r3, 0 - adds r3, r4, 0 - b _0815FC56 - .pool -_0815FC40: - ldr r2, =gSprites - lsls r3, r5, 4 - adds r1, r3, r5 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r6, 0xA] - lsls r0, 16 - asrs r0, 24 - ldrh r4, [r1, 0x24] - adds r0, r4 - strh r0, [r1, 0x24] -_0815FC56: - ldr r1, =gTasks - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r6, r0, r1 - ldrb r0, [r6, 0xA] - strh r0, [r6, 0xA] - adds r1, r3, r5 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r1, 0x24] - ldrh r1, [r1, 0x20] - adds r0, r1 - lsls r0, 16 - lsrs r5, r0, 16 - movs r1, 0x24 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _0815FCD6 - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _0815FCB4 - lsls r4, r5, 16 - asrs r4, 16 - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bge _0815FCD6 - b _0815FCCA - .pool -_0815FCB4: - lsls r4, r5, 16 - asrs r4, 16 - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - ble _0815FCD6 -_0815FCCA: - ldrh r0, [r6, 0x24] - adds r0, 0x1 - strh r0, [r6, 0x24] - ldr r1, =gBattleAnimArgs - ldr r0, =0x0000ffff - strh r0, [r1, 0xE] -_0815FCD6: - lsls r0, r5, 16 - movs r2, 0x80 - lsls r2, 14 - adds r0, r2 - movs r1, 0x98 - lsls r1, 17 - cmp r0, r1 - bhi _0815FCE8 - b _0815FE68 -_0815FCE8: - ldr r0, =gTasks - mov r1, r9 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0 - strh r0, [r1, 0xA] - b _0815FD7E - .pool -_0815FD08: - movs r0, 0 - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, =gTasks - mov r3, r8 - lsls r4, r3, 2 - adds r0, r4, r3 - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x26] - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - ldr r5, =gSprites - adds r0, r5 - bl sub_80A8610 - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - mov r9, r4 - cmp r0, 0 - bne _0815FD60 - lsls r1, r7, 4 - adds r1, r7 - lsls r1, 2 - adds r1, r5 - ldrh r0, [r1, 0x20] - negs r0, r0 - subs r0, 0x20 - strh r0, [r1, 0x24] - b _0815FD74 - .pool -_0815FD60: - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - adds r0, r5 - ldrh r2, [r0, 0x20] - movs r4, 0x88 - lsls r4, 1 - adds r1, r4, 0 - subs r1, r2 - strh r1, [r0, 0x24] -_0815FD74: - ldr r0, =gTasks - mov r1, r9 - add r1, r8 - lsls r1, 3 - adds r1, r0 -_0815FD7E: - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _0815FE68 - .pool -_0815FD8C: - movs r0, 0 - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, =gTasks - mov r0, r8 - lsls r4, r0, 2 - adds r0, r4, r0 - lsls r0, 3 - adds r2, r0, r1 - movs r1, 0x80 - lsls r1, 4 - adds r0, r1, 0 - ldrh r3, [r2, 0xA] - adds r0, r3 - strh r0, [r2, 0xA] - ldr r0, =gBattleAnimAttacker - mov r10, r0 - ldrb r0, [r0] - str r2, [sp, 0x18] - bl GetBattlerSide - lsls r0, 24 - mov r9, r4 - ldr r2, [sp, 0x18] - cmp r0, 0 - bne _0815FE0C - ldr r1, =gSprites - lsls r5, r7, 4 - adds r0, r5, r7 - lsls r0, 2 - adds r6, r0, r1 - ldrh r0, [r2, 0xA] - lsls r0, 16 - asrs r0, 24 - ldrh r1, [r6, 0x24] - adds r0, r1 - strh r0, [r6, 0x24] - movs r2, 0x24 - ldrsh r4, [r6, r2] - movs r3, 0x20 - ldrsh r0, [r6, r3] - adds r4, r0 - mov r1, r10 - ldrb r0, [r1] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - adds r3, r5, 0 - cmp r4, r0 - blt _0815FE44 - movs r2, 0 - strh r2, [r6, 0x24] - b _0815FE44 - .pool -_0815FE0C: - ldr r1, =gSprites - lsls r5, r7, 4 - adds r0, r5, r7 - lsls r0, 2 - adds r6, r0, r1 - ldrh r1, [r2, 0xA] - lsls r1, 16 - asrs r1, 24 - ldrh r0, [r6, 0x24] - subs r0, r1 - strh r0, [r6, 0x24] - movs r3, 0x24 - ldrsh r4, [r6, r3] - movs r1, 0x20 - ldrsh r0, [r6, r1] - adds r4, r0 - mov r2, r10 - ldrb r0, [r2] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - adds r3, r5, 0 - cmp r4, r0 - bgt _0815FE44 - movs r4, 0 - strh r4, [r6, 0x24] -_0815FE44: - ldr r1, =gTasks - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r0, r1 - ldrb r1, [r0, 0xA] - strh r1, [r0, 0xA] - ldr r1, =gSprites - adds r0, r3, r7 - lsls r0, 2 - adds r0, r1 - movs r1, 0x24 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _0815FE68 - mov r0, r8 - bl DestroyAnimVisualTask -_0815FE68: - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815F8F4 - - thumb_func_start sub_815FE80 -sub_815FE80: @ 815FE80 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0815FE92 - cmp r0, 0x1 - beq _0815FF3A - b _0815FFBC -_0815FE92: - ldr r0, =gBattleAnimArgs - movs r2, 0xE - ldrsh r1, [r0, r2] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _0815FF2C - movs r0, 0x3F - bl BattleAnimAdjustPanning - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0x7A - bl PlaySE12WithPanning - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x10 - strh r0, [r4, 0x22] - ldr r0, =0x0000ffe0 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x3C] - adds r0, 0x1 - strh r0, [r4, 0x3C] - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0815FFBC - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _0815FFBC - movs r0, 0x1 - bl GetAnimBattlerSpriteId - ldr r2, =gSprites - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - adds r1, 0x43 - ldrb r0, [r1] - subs r0, 0x1 - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - b _0815FFBC - .pool -_0815FF2C: - adds r0, r4, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - b _0815FFBC -_0815FF3A: - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r2, 0x2E - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x26] - ldrh r2, [r4, 0x30] - adds r0, r2, 0x5 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7F - ble _0815FF6E - movs r1, 0x2E - ldrsh r0, [r4, r1] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] - adds r0, r2, 0 - subs r0, 0x7A - strh r0, [r4, 0x30] -_0815FF6E: - movs r2, 0x80 - lsls r2, 1 - adds r0, r2, 0 - ldrh r1, [r4, 0x32] - adds r0, r1 - strh r0, [r4, 0x32] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _0815FF9C - ldrh r2, [r4, 0x32] - lsls r1, r2, 16 - asrs r1, 24 - ldrh r0, [r4, 0x24] - subs r0, r1 - strh r0, [r4, 0x24] - adds r1, r2, 0 - b _0815FFA8 - .pool -_0815FF9C: - ldrh r1, [r4, 0x32] - lsls r0, r1, 16 - asrs r0, 24 - ldrh r2, [r4, 0x24] - adds r0, r2 - strh r0, [r4, 0x24] -_0815FFA8: - movs r0, 0xFF - ands r0, r1 - strh r0, [r4, 0x32] - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0x2 - bne _0815FFBC - adds r0, r4, 0 - bl DestroyAnimSprite -_0815FFBC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_815FE80 - - thumb_func_start sub_815FFC4 -sub_815FFC4: @ 815FFC4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r2, 0x26 - ldrsh r0, [r0, r2] - adds r3, r1, 0 - cmp r0, 0x4 - bls _0815FFE0 - b _08160132 -_0815FFE0: - lsls r0, 2 - ldr r1, =_0815FFF4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0815FFF4: - .4byte _08160008 - .4byte _08160058 - .4byte _081600B4 - .4byte _081600CC - .4byte _08160132 -_08160008: - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - adds r2, r0, 0 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r1 - movs r0, 0x6 - strh r0, [r1, 0x8] - cmp r5, r2 - ble _0816003E - negs r0, r0 - strh r0, [r1, 0x8] -_0816003E: - strh r5, [r1, 0xA] - strh r2, [r1, 0xC] - ldrh r0, [r1, 0x26] - adds r0, 0x1 - strh r0, [r1, 0x26] - b _08160150 - .pool -_08160058: - ldr r1, =gBattlerSpriteIds - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - adds r0, r1 - ldrb r2, [r0] - ldr r1, =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r1, r0, r1 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r2, r0, r3 - ldrh r0, [r2, 0x8] - ldrh r3, [r1, 0x24] - adds r0, r3 - strh r0, [r1, 0x24] - movs r3, 0x8 - ldrsh r0, [r2, r3] - cmp r0, 0 - ble _081600A0 - movs r3, 0x20 - ldrsh r0, [r1, r3] - movs r3, 0x24 - ldrsh r1, [r1, r3] - adds r0, r1 - movs r3, 0xC - ldrsh r1, [r2, r3] - b _08160126 - .pool -_081600A0: - movs r3, 0x20 - ldrsh r0, [r1, r3] - movs r3, 0x24 - ldrsh r1, [r1, r3] - adds r0, r1 - movs r3, 0xC - ldrsh r1, [r2, r3] - cmp r0, r1 - bgt _08160150 - b _0816012A -_081600B4: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r3 - movs r2, 0x8 - ldrsh r1, [r0, r2] - negs r1, r1 - strh r1, [r0, 0x8] - ldrh r1, [r0, 0x26] - adds r1, 0x1 - strh r1, [r0, 0x26] - b _08160150 -_081600CC: - ldr r1, =gBattlerSpriteIds - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - adds r0, r1 - ldrb r2, [r0] - ldr r1, =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r1, r0, r1 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r2, r0, r3 - ldrh r0, [r2, 0x8] - ldrh r3, [r1, 0x24] - adds r0, r3 - strh r0, [r1, 0x24] - movs r3, 0x8 - ldrsh r0, [r2, r3] - cmp r0, 0 - bge _08160118 - movs r3, 0x20 - ldrsh r0, [r1, r3] - movs r3, 0x24 - ldrsh r1, [r1, r3] - adds r0, r1 - movs r3, 0xA - ldrsh r1, [r2, r3] - cmp r0, r1 - bgt _08160150 - b _0816012A - .pool -_08160118: - movs r3, 0x20 - ldrsh r0, [r1, r3] - movs r3, 0x24 - ldrsh r1, [r1, r3] - adds r0, r1 - movs r3, 0xA - ldrsh r1, [r2, r3] -_08160126: - cmp r0, r1 - blt _08160150 -_0816012A: - ldrh r0, [r2, 0x26] - adds r0, 0x1 - strh r0, [r2, 0x26] - b _08160150 -_08160132: - ldr r1, =gBattlerSpriteIds - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - adds r0, r1 - ldrb r2, [r0] - ldr r1, =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x24] - adds r0, r4, 0 - bl DestroyAnimVisualTask -_08160150: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815FFC4 - - thumb_func_start sub_8160164 -sub_8160164: @ 8160164 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r4, r1, r0 - movs r0, 0 - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r0, 24 - movs r5, 0 - strh r0, [r4, 0xE] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - movs r2, 0x1 - negs r2, r2 - adds r1, r2, 0 - cmp r0, 0 - bne _08160198 - movs r1, 0x1 -_08160198: - strh r1, [r4, 0x10] - ldr r2, =gSprites - movs r0, 0xE - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x22] - strh r0, [r4, 0x14] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x20] - strh r0, [r4, 0x12] - strh r5, [r4, 0x1A] - strh r5, [r4, 0x1E] - movs r0, 0x1 - strh r0, [r4, 0x1C] - strh r5, [r4, 0x20] - ldr r0, =sub_81601DC - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8160164 - - thumb_func_start sub_81601DC -sub_81601DC: @ 81601DC - push {r4-r6,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _08160284 - cmp r0, 0x1 - bgt _08160204 - cmp r0, 0 - beq _0816020A - b _081602DA - .pool -_08160204: - cmp r0, 0x2 - beq _081602D4 - b _081602DA -_0816020A: - ldrh r0, [r4, 0x1E] - adds r0, 0x8 - movs r2, 0xFF - ands r0, r2 - strh r0, [r4, 0x1E] - ldr r5, =gSprites - movs r6, 0xE - ldrsh r0, [r4, r6] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - ldr r3, =gSineTable - movs r6, 0x1E - ldrsh r0, [r4, r6] - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 21 - strh r0, [r1, 0x24] - ldrh r0, [r4, 0x1A] - adds r0, 0x2 - ands r0, r2 - strh r0, [r4, 0x1A] - movs r1, 0xE - ldrsh r0, [r4, r1] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r5 - movs r6, 0x1A - ldrsh r0, [r4, r6] - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 19 - ldrh r1, [r4, 0x10] - muls r0, r1 - ldrh r1, [r4, 0x12] - adds r0, r1 - strh r0, [r2, 0x20] - movs r6, 0x1A - ldrsh r0, [r4, r6] - cmp r0, 0 - bne _081602DA - movs r0, 0xE - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrh r1, [r4, 0x12] - strh r1, [r0, 0x20] - b _081602C4 - .pool -_08160284: - ldrh r0, [r4, 0x1E] - adds r0, 0x8 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x1E] - ldr r3, =gSprites - movs r1, 0xE - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldr r2, =gSineTable - movs r5, 0x1E - ldrsh r0, [r4, r5] - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 21 - strh r0, [r1, 0x24] - movs r6, 0x1E - ldrsh r2, [r4, r6] - cmp r2, 0 - bne _081602DA - movs r1, 0xE - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - strh r2, [r1, 0x24] -_081602C4: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _081602DA - .pool -_081602D4: - adds r0, r2, 0 - bl DestroyAnimVisualTask -_081602DA: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81601DC - - thumb_func_start sub_81602E0 -sub_81602E0: @ 81602E0 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - ldrh r0, [r4, 0x2E] - ldrh r1, [r4, 0x30] - adds r0, r1 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x30] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x14 - bl Cos - strh r0, [r4, 0x24] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x14 - bl Sin - strh r0, [r4, 0x26] - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08160326 - adds r0, r4, 0 - bl DestroyAnimSprite -_08160326: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81602E0 - - thumb_func_start sub_8160338 -sub_8160338: @ 8160338 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _0816037C - ldr r2, =gBattleAnimArgs - ldrh r0, [r4, 0x20] - ldrh r1, [r2] - subs r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r2, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - ldr r0, =0x0000fff5 - strh r0, [r4, 0x2E] - movs r0, 0xC0 - strh r0, [r4, 0x30] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - b _08160396 - .pool -_0816037C: - movs r0, 0xB - strh r0, [r4, 0x2E] - movs r0, 0xC0 - strh r0, [r4, 0x30] - ldr r1, =gBattleAnimArgs - ldrh r0, [r1] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] - ldrh r0, [r1, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] -_08160396: - ldr r0, =sub_81602E0 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8160338 - - thumb_func_start sub_81603A8 -sub_81603A8: @ 81603A8 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x2 - bl sub_80A861C - strh r0, [r5, 0x22] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xF - bgt _081603D2 - movs r0, 0x10 - strh r0, [r5, 0x22] -_081603D2: - movs r0, 0 - strh r0, [r5, 0x3A] - movs r1, 0x10 - strh r1, [r5, 0x3C] - ldr r0, =sub_81603F4 - str r0, [r5, 0x1C] - lsls r1, 8 - movs r0, 0x52 - bl SetGpuReg - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81603A8 - - thumb_func_start sub_81603F4 -sub_81603F4: @ 81603F4 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r1, [r4, r0] - cmp r1, 0x1 - beq _0816046C - cmp r1, 0x1 - bgt _0816040A - cmp r1, 0 - beq _08160414 - b _081604E8 -_0816040A: - cmp r1, 0x2 - beq _08160482 - cmp r1, 0x3 - beq _081604E2 - b _081604E8 -_08160414: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _081604E8 - strh r1, [r4, 0x2E] - ldrh r1, [r4, 0x30] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0816043E - ldrh r2, [r4, 0x3A] - movs r3, 0x3A - ldrsh r0, [r4, r3] - cmp r0, 0xF - bgt _0816044C - adds r0, r2, 0x1 - strh r0, [r4, 0x3A] - b _0816044C -_0816043E: - ldrh r2, [r4, 0x3C] - movs r3, 0x3C - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _0816044C - subs r0, r2, 0x1 - strh r0, [r4, 0x3C] -_0816044C: - adds r0, r1, 0x1 - strh r0, [r4, 0x30] - ldrh r1, [r4, 0x3C] - lsls r1, 8 - ldrh r0, [r4, 0x3A] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _081604E8 - b _081604DA -_0816046C: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - movs r1, 0 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - bne _081604E8 - strh r1, [r4, 0x2E] - strh r1, [r4, 0x30] - b _081604DA -_08160482: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _081604E8 - movs r0, 0 - strh r0, [r4, 0x2E] - ldrh r1, [r4, 0x30] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _081604AE - ldrh r2, [r4, 0x3A] - movs r3, 0x3A - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _081604BC - subs r0, r2, 0x1 - strh r0, [r4, 0x3A] - b _081604BC -_081604AE: - ldrh r2, [r4, 0x3C] - movs r3, 0x3C - ldrsh r0, [r4, r3] - cmp r0, 0xF - bgt _081604BC - adds r0, r2, 0x1 - strh r0, [r4, 0x3C] -_081604BC: - adds r0, r1, 0x1 - strh r0, [r4, 0x30] - ldrh r1, [r4, 0x3C] - lsls r1, 8 - ldrh r0, [r4, 0x3A] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0x10 - bne _081604E8 -_081604DA: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - b _081604E8 -_081604E2: - adds r0, r4, 0 - bl DestroySpriteAndMatrix -_081604E8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81603F4 - - thumb_func_start AnimTask_GetWeather -AnimTask_GetWeather: @ 81604F0 - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r2, =gBattleAnimArgs - movs r0, 0 - strh r0, [r2, 0xE] - ldr r0, =gWeatherMoveAnim - ldrh r1, [r0] - movs r0, 0x60 - ands r0, r1 - cmp r0, 0 - beq _08160514 - movs r0, 0x1 - b _08160536 - .pool -_08160514: - movs r0, 0x7 - ands r0, r1 - cmp r0, 0 - beq _08160520 - movs r0, 0x2 - b _08160536 -_08160520: - movs r0, 0x18 - ands r0, r1 - cmp r0, 0 - beq _0816052C - movs r0, 0x3 - b _08160536 -_0816052C: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08160538 - movs r0, 0x4 -_08160536: - strh r0, [r2, 0xE] -_08160538: - adds r0, r3, 0 - bl DestroyAnimVisualTask - pop {r0} - bx r0 - thumb_func_end AnimTask_GetWeather - - thumb_func_start sub_8160544 -sub_8160544: @ 8160544 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, =gTasks - adds r4, r0 - movs r0, 0 - strh r0, [r4, 0x8] - ldr r0, =gBattleAnimArgs - ldrb r0, [r0] - bl GetAnimBattlerSpriteId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - strh r1, [r4, 0x26] - ldr r2, =gUnknown_085CE9C8 - adds r0, r4, 0 - bl PrepareAffineAnimInTaskData - ldr r0, =sub_816058C - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8160544 - - thumb_func_start sub_816058C -sub_816058C: @ 816058C - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r2, =gTasks - adds r3, r0, r2 - ldrh r0, [r3, 0x8] - adds r1, r0, 0x1 - movs r5, 0 - strh r1, [r3, 0x8] - subs r0, 0x10 - lsls r0, 16 - lsrs r0, 16 - adds r6, r2, 0 - cmp r0, 0x16 - bhi _081605F0 - ldrh r0, [r3, 0xA] - adds r0, 0x1 - strh r0, [r3, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _08160600 - strh r5, [r3, 0xA] - ldrh r0, [r3, 0xC] - adds r0, 0x1 - strh r0, [r3, 0xC] - movs r5, 0x1 - ands r0, r5 - cmp r0, 0 - bne _081605F0 - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, =0x0000ffff - strh r1, [r0, 0x24] - b _08160600 - .pool -_081605F0: - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r5, [r0, 0x24] -_08160600: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r6 - bl RunAffineAnimFromTaskData - lsls r0, 24 - cmp r0, 0 - bne _08160618 - adds r0, r4, 0 - bl DestroyAnimVisualTask -_08160618: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816058C - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_anim_effects_3.s b/asm/battle_anim_effects_3.s new file mode 100644 index 000000000..4b9466786 --- /dev/null +++ b/asm/battle_anim_effects_3.s @@ -0,0 +1,1632 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start AnimTask_GetReturnPowerLevel +AnimTask_GetReturnPowerLevel: @ 815F8A0 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r3, =gBattleAnimArgs + movs r2, 0 + strh r2, [r3, 0xE] + ldr r1, =gAnimFriendship + ldrb r0, [r1] + ldrb r1, [r1] + adds r0, r1, 0 + subs r0, 0x3D + lsls r0, 24 + lsrs r0, 24 + adds r2, r1, 0 + cmp r0, 0x1E + bhi _0815F8C4 + movs r0, 0x1 + strh r0, [r3, 0xE] +_0815F8C4: + adds r0, r2, 0 + subs r0, 0x5C + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x6C + bhi _0815F8D4 + movs r0, 0x2 + strh r0, [r3, 0xE] +_0815F8D4: + lsls r0, r1, 24 + lsrs r0, 24 + cmp r0, 0xC8 + bls _0815F8E0 + movs r0, 0x3 + strh r0, [r3, 0xE] +_0815F8E0: + adds r0, r4, 0 + bl DestroyAnimVisualTask + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end AnimTask_GetReturnPowerLevel + + thumb_func_start sub_815F8F4 +sub_815F8F4: @ 815F8F4 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x1C + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + ldr r1, =gTasks + lsls r0, 2 + add r0, r8 + lsls r0, 3 + adds r0, r1 + movs r1, 0x8 + ldrsh r0, [r0, r1] + cmp r0, 0x4 + bls _0815F91A + b _0815FE68 +_0815F91A: + lsls r0, 2 + ldr r1, =_0815F92C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_0815F92C: + .4byte _0815F940 + .4byte _0815F9F4 + .4byte _0815FBE8 + .4byte _0815FD08 + .4byte _0815FD8C +_0815F940: + movs r0, 0 + bl GetAnimBattlerSpriteId + lsls r0, 24 + lsrs r7, r0, 24 + ldr r1, =gTasks + mov r2, r8 + lsls r4, r2, 2 + adds r0, r4, r2 + lsls r0, 3 + adds r6, r0, r1 + movs r3, 0x80 + lsls r3, 4 + adds r0, r3, 0 + ldrh r1, [r6, 0xA] + adds r0, r1 + strh r0, [r6, 0xA] + ldr r0, =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + mov r9, r4 + cmp r0, 0 + bne _0815F998 + ldr r2, =gSprites + lsls r3, r7, 4 + adds r1, r3, r7 + lsls r1, 2 + adds r1, r2 + ldrh r0, [r6, 0xA] + lsls r0, 16 + asrs r0, 24 + ldrh r4, [r1, 0x24] + adds r0, r4 + strh r0, [r1, 0x24] + b _0815F9B2 + .pool +_0815F998: + ldr r3, =gSprites + lsls r4, r7, 4 + adds r2, r4, r7 + lsls r2, 2 + adds r2, r3 + ldrh r1, [r6, 0xA] + lsls r1, 16 + asrs r1, 24 + ldrh r0, [r2, 0x24] + subs r0, r1 + strh r0, [r2, 0x24] + adds r2, r3, 0 + adds r3, r4, 0 +_0815F9B2: + ldr r1, =gTasks + mov r0, r9 + add r0, r8 + lsls r0, 3 + adds r4, r0, r1 + ldrb r0, [r4, 0xA] + strh r0, [r4, 0xA] + adds r1, r3, r7 + lsls r1, 2 + adds r1, r2 + ldrh r0, [r1, 0x24] + ldrh r1, [r1, 0x20] + adds r0, r1 + lsls r0, 16 + movs r1, 0x80 + lsls r1, 14 + adds r0, r1 + movs r1, 0x98 + lsls r1, 17 + cmp r0, r1 + bhi _0815F9DE + b _0815FE68 +_0815F9DE: + movs r0, 0 + strh r0, [r4, 0xA] + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + b _0815FE68 + .pool +_0815F9F4: + bl IsContest + lsls r0, 24 + cmp r0, 0 + beq _0815FA28 + ldr r0, =gContestResources + ldr r0, [r0] + ldr r0, [r0, 0x18] + ldr r2, [r0, 0x8] + mov r10, r2 + ldr r3, [r0, 0xC] + mov r9, r3 + ldrh r6, [r0] + ldr r0, =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSpriteSubpriority + lsls r0, 24 + lsrs r4, r0, 24 + movs r7, 0 + b _0815FB4E + .pool +_0815FA28: + ldr r4, =gBattleAnimAttacker + ldrb r0, [r4] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _0815FAC8 + ldr r7, =gBattlerPartyIndexes + ldrb r0, [r4] + lsls r0, 1 + adds r0, r7 + ldrh r0, [r0] + movs r6, 0x64 + muls r0, r6 + ldr r5, =gPlayerParty + adds r0, r5 + movs r1, 0 + bl GetMonData + mov r10, r0 + ldrb r0, [r4] + lsls r0, 1 + adds r0, r7 + ldrh r0, [r0] + muls r0, r6 + adds r0, r5 + movs r1, 0x1 + bl GetMonData + mov r9, r0 + ldr r0, =gBattleSpritesDataPtr + ldr r0, [r0] + ldrb r2, [r4] + ldr r1, [r0] + lsls r0, r2, 2 + adds r1, r0, r1 + ldrh r0, [r1, 0x2] + cmp r0, 0 + bne _0815FA9C + lsls r0, r2, 1 + adds r0, r7 + ldrh r0, [r0] + muls r0, r6 + adds r0, r5 + movs r1, 0xB + bl GetMonData + lsls r0, 16 + lsrs r6, r0, 16 + b _0815FA9E + .pool +_0815FA9C: + ldrh r6, [r1, 0x2] +_0815FA9E: + movs r0, 0x1 + bl GetAnimBattlerSpriteId + ldr r2, =gSprites + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + adds r1, 0x43 + ldrb r0, [r1] + adds r0, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + movs r7, 0 + movs r5, 0x88 + lsls r5, 1 + b _0815FB50 + .pool +_0815FAC8: + ldr r7, =gBattlerPartyIndexes + ldrb r0, [r4] + lsls r0, 1 + adds r0, r7 + ldrh r0, [r0] + movs r6, 0x64 + muls r0, r6 + ldr r5, =gEnemyParty + adds r0, r5 + movs r1, 0 + bl GetMonData + mov r10, r0 + ldrb r0, [r4] + lsls r0, 1 + adds r0, r7 + ldrh r0, [r0] + muls r0, r6 + adds r0, r5 + movs r1, 0x1 + bl GetMonData + mov r9, r0 + ldr r0, =gBattleSpritesDataPtr + ldr r0, [r0] + ldrb r2, [r4] + ldr r1, [r0] + lsls r0, r2, 2 + adds r1, r0, r1 + ldrh r0, [r1, 0x2] + cmp r0, 0 + bne _0815FB2C + lsls r0, r2, 1 + adds r0, r7 + ldrh r0, [r0] + muls r0, r6 + adds r0, r5 + movs r1, 0xB + bl GetMonData + lsls r0, 16 + lsrs r6, r0, 16 + b _0815FB2E + .pool +_0815FB2C: + ldrh r6, [r1, 0x2] +_0815FB2E: + movs r0, 0x1 + bl GetAnimBattlerSpriteId + ldr r2, =gSprites + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + adds r1, 0x43 + ldrb r0, [r1] + subs r0, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + movs r7, 0x1 +_0815FB4E: + ldr r5, =0x0000ffe0 +_0815FB50: + ldr r0, =gBattleAnimTarget + ldrb r0, [r0] + movs r1, 0x1 + bl GetBattlerSpriteCoord + lsls r0, 24 + lsrs r0, 24 + lsls r3, r5, 16 + asrs r3, 16 + str r0, [sp] + str r4, [sp, 0x4] + mov r4, r10 + str r4, [sp, 0x8] + mov r0, r9 + str r0, [sp, 0xC] + ldr r4, =gBattleAnimAttacker + ldrb r0, [r4] + str r0, [sp, 0x10] + movs r0, 0 + str r0, [sp, 0x14] + adds r0, r6, 0 + adds r1, r7, 0 + movs r2, 0 + bl sub_80A8394 + lsls r0, 24 + lsrs r5, r0, 24 + ldr r0, =gBattleSpritesDataPtr + ldr r1, [r0] + ldrb r0, [r4] + ldr r1, [r1] + lsls r0, 2 + adds r0, r1 + ldrh r0, [r0, 0x2] + cmp r0, 0 + beq _0815FBBA + ldr r1, =gSprites + lsls r0, r5, 4 + adds r0, r5 + lsls r0, 2 + adds r0, r1 + ldrb r0, [r0, 0x5] + lsrs r0, 4 + lsls r0, 4 + movs r2, 0x80 + lsls r2, 1 + adds r1, r2, 0 + orrs r0, r1 + ldr r3, =0x00007fff + movs r1, 0x10 + movs r2, 0x6 + bl BlendPalette +_0815FBBA: + ldr r0, =gTasks + mov r3, r8 + lsls r1, r3, 2 + add r1, r8 + lsls r1, 3 + adds r1, r0 + strh r5, [r1, 0x26] + b _0815FD7E + .pool +_0815FBE8: + ldr r1, =gTasks + mov r0, r8 + lsls r4, r0, 2 + adds r0, r4, r0 + lsls r0, 3 + adds r6, r0, r1 + ldrh r0, [r6, 0x26] + lsls r0, 24 + lsrs r5, r0, 24 + movs r1, 0x80 + lsls r1, 4 + adds r0, r1, 0 + ldrh r2, [r6, 0xA] + adds r0, r2 + strh r0, [r6, 0xA] + ldr r0, =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + mov r9, r4 + cmp r0, 0 + bne _0815FC40 + ldr r3, =gSprites + lsls r4, r5, 4 + adds r2, r4, r5 + lsls r2, 2 + adds r2, r3 + ldrh r1, [r6, 0xA] + lsls r1, 16 + asrs r1, 24 + ldrh r0, [r2, 0x24] + subs r0, r1 + strh r0, [r2, 0x24] + adds r2, r3, 0 + adds r3, r4, 0 + b _0815FC56 + .pool +_0815FC40: + ldr r2, =gSprites + lsls r3, r5, 4 + adds r1, r3, r5 + lsls r1, 2 + adds r1, r2 + ldrh r0, [r6, 0xA] + lsls r0, 16 + asrs r0, 24 + ldrh r4, [r1, 0x24] + adds r0, r4 + strh r0, [r1, 0x24] +_0815FC56: + ldr r1, =gTasks + mov r0, r9 + add r0, r8 + lsls r0, 3 + adds r6, r0, r1 + ldrb r0, [r6, 0xA] + strh r0, [r6, 0xA] + adds r1, r3, r5 + lsls r1, 2 + adds r1, r2 + ldrh r0, [r1, 0x24] + ldrh r1, [r1, 0x20] + adds r0, r1 + lsls r0, 16 + lsrs r5, r0, 16 + movs r1, 0x24 + ldrsh r0, [r6, r1] + cmp r0, 0 + bne _0815FCD6 + ldr r0, =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _0815FCB4 + lsls r4, r5, 16 + asrs r4, 16 + ldr r0, =gBattleAnimTarget + ldrb r0, [r0] + movs r1, 0 + bl GetBattlerSpriteCoord + lsls r0, 24 + lsrs r0, 24 + cmp r4, r0 + bge _0815FCD6 + b _0815FCCA + .pool +_0815FCB4: + lsls r4, r5, 16 + asrs r4, 16 + ldr r0, =gBattleAnimTarget + ldrb r0, [r0] + movs r1, 0 + bl GetBattlerSpriteCoord + lsls r0, 24 + lsrs r0, 24 + cmp r4, r0 + ble _0815FCD6 +_0815FCCA: + ldrh r0, [r6, 0x24] + adds r0, 0x1 + strh r0, [r6, 0x24] + ldr r1, =gBattleAnimArgs + ldr r0, =0x0000ffff + strh r0, [r1, 0xE] +_0815FCD6: + lsls r0, r5, 16 + movs r2, 0x80 + lsls r2, 14 + adds r0, r2 + movs r1, 0x98 + lsls r1, 17 + cmp r0, r1 + bhi _0815FCE8 + b _0815FE68 +_0815FCE8: + ldr r0, =gTasks + mov r1, r9 + add r1, r8 + lsls r1, 3 + adds r1, r0 + movs r0, 0 + strh r0, [r1, 0xA] + b _0815FD7E + .pool +_0815FD08: + movs r0, 0 + bl GetAnimBattlerSpriteId + lsls r0, 24 + lsrs r7, r0, 24 + ldr r1, =gTasks + mov r3, r8 + lsls r4, r3, 2 + adds r0, r4, r3 + lsls r0, 3 + adds r0, r1 + ldrh r0, [r0, 0x26] + lsls r0, 24 + lsrs r5, r0, 24 + lsls r0, r5, 4 + adds r0, r5 + lsls r0, 2 + ldr r5, =gSprites + adds r0, r5 + bl sub_80A8610 + ldr r0, =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + mov r9, r4 + cmp r0, 0 + bne _0815FD60 + lsls r1, r7, 4 + adds r1, r7 + lsls r1, 2 + adds r1, r5 + ldrh r0, [r1, 0x20] + negs r0, r0 + subs r0, 0x20 + strh r0, [r1, 0x24] + b _0815FD74 + .pool +_0815FD60: + lsls r0, r7, 4 + adds r0, r7 + lsls r0, 2 + adds r0, r5 + ldrh r2, [r0, 0x20] + movs r4, 0x88 + lsls r4, 1 + adds r1, r4, 0 + subs r1, r2 + strh r1, [r0, 0x24] +_0815FD74: + ldr r0, =gTasks + mov r1, r9 + add r1, r8 + lsls r1, 3 + adds r1, r0 +_0815FD7E: + ldrh r0, [r1, 0x8] + adds r0, 0x1 + strh r0, [r1, 0x8] + b _0815FE68 + .pool +_0815FD8C: + movs r0, 0 + bl GetAnimBattlerSpriteId + lsls r0, 24 + lsrs r7, r0, 24 + ldr r1, =gTasks + mov r0, r8 + lsls r4, r0, 2 + adds r0, r4, r0 + lsls r0, 3 + adds r2, r0, r1 + movs r1, 0x80 + lsls r1, 4 + adds r0, r1, 0 + ldrh r3, [r2, 0xA] + adds r0, r3 + strh r0, [r2, 0xA] + ldr r0, =gBattleAnimAttacker + mov r10, r0 + ldrb r0, [r0] + str r2, [sp, 0x18] + bl GetBattlerSide + lsls r0, 24 + mov r9, r4 + ldr r2, [sp, 0x18] + cmp r0, 0 + bne _0815FE0C + ldr r1, =gSprites + lsls r5, r7, 4 + adds r0, r5, r7 + lsls r0, 2 + adds r6, r0, r1 + ldrh r0, [r2, 0xA] + lsls r0, 16 + asrs r0, 24 + ldrh r1, [r6, 0x24] + adds r0, r1 + strh r0, [r6, 0x24] + movs r2, 0x24 + ldrsh r4, [r6, r2] + movs r3, 0x20 + ldrsh r0, [r6, r3] + adds r4, r0 + mov r1, r10 + ldrb r0, [r1] + movs r1, 0 + bl GetBattlerSpriteCoord + lsls r0, 24 + lsrs r0, 24 + adds r3, r5, 0 + cmp r4, r0 + blt _0815FE44 + movs r2, 0 + strh r2, [r6, 0x24] + b _0815FE44 + .pool +_0815FE0C: + ldr r1, =gSprites + lsls r5, r7, 4 + adds r0, r5, r7 + lsls r0, 2 + adds r6, r0, r1 + ldrh r1, [r2, 0xA] + lsls r1, 16 + asrs r1, 24 + ldrh r0, [r6, 0x24] + subs r0, r1 + strh r0, [r6, 0x24] + movs r3, 0x24 + ldrsh r4, [r6, r3] + movs r1, 0x20 + ldrsh r0, [r6, r1] + adds r4, r0 + mov r2, r10 + ldrb r0, [r2] + movs r1, 0 + bl GetBattlerSpriteCoord + lsls r0, 24 + lsrs r0, 24 + adds r3, r5, 0 + cmp r4, r0 + bgt _0815FE44 + movs r4, 0 + strh r4, [r6, 0x24] +_0815FE44: + ldr r1, =gTasks + mov r0, r9 + add r0, r8 + lsls r0, 3 + adds r0, r1 + ldrb r1, [r0, 0xA] + strh r1, [r0, 0xA] + ldr r1, =gSprites + adds r0, r3, r7 + lsls r0, 2 + adds r0, r1 + movs r1, 0x24 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _0815FE68 + mov r0, r8 + bl DestroyAnimVisualTask +_0815FE68: + add sp, 0x1C + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_815F8F4 + + thumb_func_start sub_815FE80 +sub_815FE80: @ 815FE80 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x3C + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _0815FE92 + cmp r0, 0x1 + beq _0815FF3A + b _0815FFBC +_0815FE92: + ldr r0, =gBattleAnimArgs + movs r2, 0xE + ldrsh r1, [r0, r2] + movs r0, 0x1 + negs r0, r0 + cmp r1, r0 + bne _0815FF2C + movs r0, 0x3F + bl BattleAnimAdjustPanning + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 24 + movs r0, 0x7A + bl PlaySE12WithPanning + ldr r0, =gBattleAnimTarget + ldrb r0, [r0] + movs r1, 0x1 + bl GetBattlerSpriteCoord + lsls r0, 24 + lsrs r0, 24 + adds r0, 0x10 + strh r0, [r4, 0x22] + ldr r0, =0x0000ffe0 + strh r0, [r4, 0x2E] + ldrh r0, [r4, 0x3C] + adds r0, 0x1 + strh r0, [r4, 0x3C] + adds r2, r4, 0 + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + ldr r0, =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0815FFBC + bl IsContest + lsls r0, 24 + cmp r0, 0 + bne _0815FFBC + movs r0, 0x1 + bl GetAnimBattlerSpriteId + ldr r2, =gSprites + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + adds r1, 0x43 + ldrb r0, [r1] + subs r0, 0x1 + adds r1, r4, 0 + adds r1, 0x43 + strb r0, [r1] + b _0815FFBC + .pool +_0815FF2C: + adds r0, r4, 0 + adds r0, 0x3E + ldrb r1, [r0] + movs r2, 0x4 + orrs r1, r2 + strb r1, [r0] + b _0815FFBC +_0815FF3A: + movs r1, 0x30 + ldrsh r0, [r4, r1] + movs r2, 0x2E + ldrsh r1, [r4, r2] + bl Sin + strh r0, [r4, 0x26] + ldrh r2, [r4, 0x30] + adds r0, r2, 0x5 + strh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x7F + ble _0815FF6E + movs r1, 0x2E + ldrsh r0, [r4, r1] + lsrs r1, r0, 31 + adds r0, r1 + asrs r0, 1 + strh r0, [r4, 0x2E] + ldrh r0, [r4, 0x34] + adds r0, 0x1 + strh r0, [r4, 0x34] + adds r0, r2, 0 + subs r0, 0x7A + strh r0, [r4, 0x30] +_0815FF6E: + movs r2, 0x80 + lsls r2, 1 + adds r0, r2, 0 + ldrh r1, [r4, 0x32] + adds r0, r1 + strh r0, [r4, 0x32] + ldr r0, =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _0815FF9C + ldrh r2, [r4, 0x32] + lsls r1, r2, 16 + asrs r1, 24 + ldrh r0, [r4, 0x24] + subs r0, r1 + strh r0, [r4, 0x24] + adds r1, r2, 0 + b _0815FFA8 + .pool +_0815FF9C: + ldrh r1, [r4, 0x32] + lsls r0, r1, 16 + asrs r0, 24 + ldrh r2, [r4, 0x24] + adds r0, r2 + strh r0, [r4, 0x24] +_0815FFA8: + movs r0, 0xFF + ands r0, r1 + strh r0, [r4, 0x32] + movs r1, 0x34 + ldrsh r0, [r4, r1] + cmp r0, 0x2 + bne _0815FFBC + adds r0, r4, 0 + bl DestroyAnimSprite +_0815FFBC: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_815FE80 + + thumb_func_start sub_815FFC4 +sub_815FFC4: @ 815FFC4 + push {r4,r5,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r1, =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + movs r2, 0x26 + ldrsh r0, [r0, r2] + adds r3, r1, 0 + cmp r0, 0x4 + bls _0815FFE0 + b _08160132 +_0815FFE0: + lsls r0, 2 + ldr r1, =_0815FFF4 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_0815FFF4: + .4byte _08160008 + .4byte _08160058 + .4byte _081600B4 + .4byte _081600CC + .4byte _08160132 +_08160008: + ldr r0, =gBattleAnimAttacker + ldrb r0, [r0] + movs r1, 0 + bl GetBattlerSpriteCoord + lsls r0, 24 + lsrs r0, 24 + adds r5, r0, 0 + ldr r0, =gBattleAnimTarget + ldrb r0, [r0] + movs r1, 0 + bl GetBattlerSpriteCoord + lsls r0, 24 + lsrs r0, 24 + adds r2, r0, 0 + ldr r1, =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r1, r0, r1 + movs r0, 0x6 + strh r0, [r1, 0x8] + cmp r5, r2 + ble _0816003E + negs r0, r0 + strh r0, [r1, 0x8] +_0816003E: + strh r5, [r1, 0xA] + strh r2, [r1, 0xC] + ldrh r0, [r1, 0x26] + adds r0, 0x1 + strh r0, [r1, 0x26] + b _08160150 + .pool +_08160058: + ldr r1, =gBattlerSpriteIds + ldr r0, =gBattleAnimAttacker + ldrb r0, [r0] + adds r0, r1 + ldrb r2, [r0] + ldr r1, =gSprites + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r1, r0, r1 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r2, r0, r3 + ldrh r0, [r2, 0x8] + ldrh r3, [r1, 0x24] + adds r0, r3 + strh r0, [r1, 0x24] + movs r3, 0x8 + ldrsh r0, [r2, r3] + cmp r0, 0 + ble _081600A0 + movs r3, 0x20 + ldrsh r0, [r1, r3] + movs r3, 0x24 + ldrsh r1, [r1, r3] + adds r0, r1 + movs r3, 0xC + ldrsh r1, [r2, r3] + b _08160126 + .pool +_081600A0: + movs r3, 0x20 + ldrsh r0, [r1, r3] + movs r3, 0x24 + ldrsh r1, [r1, r3] + adds r0, r1 + movs r3, 0xC + ldrsh r1, [r2, r3] + cmp r0, r1 + bgt _08160150 + b _0816012A +_081600B4: + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r3 + movs r2, 0x8 + ldrsh r1, [r0, r2] + negs r1, r1 + strh r1, [r0, 0x8] + ldrh r1, [r0, 0x26] + adds r1, 0x1 + strh r1, [r0, 0x26] + b _08160150 +_081600CC: + ldr r1, =gBattlerSpriteIds + ldr r0, =gBattleAnimAttacker + ldrb r0, [r0] + adds r0, r1 + ldrb r2, [r0] + ldr r1, =gSprites + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r1, r0, r1 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r2, r0, r3 + ldrh r0, [r2, 0x8] + ldrh r3, [r1, 0x24] + adds r0, r3 + strh r0, [r1, 0x24] + movs r3, 0x8 + ldrsh r0, [r2, r3] + cmp r0, 0 + bge _08160118 + movs r3, 0x20 + ldrsh r0, [r1, r3] + movs r3, 0x24 + ldrsh r1, [r1, r3] + adds r0, r1 + movs r3, 0xA + ldrsh r1, [r2, r3] + cmp r0, r1 + bgt _08160150 + b _0816012A + .pool +_08160118: + movs r3, 0x20 + ldrsh r0, [r1, r3] + movs r3, 0x24 + ldrsh r1, [r1, r3] + adds r0, r1 + movs r3, 0xA + ldrsh r1, [r2, r3] +_08160126: + cmp r0, r1 + blt _08160150 +_0816012A: + ldrh r0, [r2, 0x26] + adds r0, 0x1 + strh r0, [r2, 0x26] + b _08160150 +_08160132: + ldr r1, =gBattlerSpriteIds + ldr r0, =gBattleAnimAttacker + ldrb r0, [r0] + adds r0, r1 + ldrb r2, [r0] + ldr r1, =gSprites + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r0, r1 + movs r1, 0 + strh r1, [r0, 0x24] + adds r0, r4, 0 + bl DestroyAnimVisualTask +_08160150: + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_815FFC4 + + thumb_func_start sub_8160164 +sub_8160164: @ 8160164 + push {r4,r5,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, =gTasks + adds r4, r1, r0 + movs r0, 0 + bl GetAnimBattlerSpriteId + lsls r0, 24 + lsrs r0, 24 + movs r5, 0 + strh r0, [r4, 0xE] + ldr r0, =gBattleAnimAttacker + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + movs r2, 0x1 + negs r2, r2 + adds r1, r2, 0 + cmp r0, 0 + bne _08160198 + movs r1, 0x1 +_08160198: + strh r1, [r4, 0x10] + ldr r2, =gSprites + movs r0, 0xE + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r0, [r0, 0x22] + strh r0, [r4, 0x14] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r0, [r0, 0x20] + strh r0, [r4, 0x12] + strh r5, [r4, 0x1A] + strh r5, [r4, 0x1E] + movs r0, 0x1 + strh r0, [r4, 0x1C] + strh r5, [r4, 0x20] + ldr r0, =sub_81601DC + str r0, [r4] + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8160164 + + thumb_func_start sub_81601DC +sub_81601DC: @ 81601DC + push {r4-r6,lr} + lsls r0, 24 + lsrs r2, r0, 24 + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + ldr r1, =gTasks + adds r4, r0, r1 + movs r1, 0x8 + ldrsh r0, [r4, r1] + cmp r0, 0x1 + beq _08160284 + cmp r0, 0x1 + bgt _08160204 + cmp r0, 0 + beq _0816020A + b _081602DA + .pool +_08160204: + cmp r0, 0x2 + beq _081602D4 + b _081602DA +_0816020A: + ldrh r0, [r4, 0x1E] + adds r0, 0x8 + movs r2, 0xFF + ands r0, r2 + strh r0, [r4, 0x1E] + ldr r5, =gSprites + movs r6, 0xE + ldrsh r0, [r4, r6] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r5 + ldr r3, =gSineTable + movs r6, 0x1E + ldrsh r0, [r4, r6] + lsls r0, 1 + adds r0, r3 + ldrh r0, [r0] + lsls r0, 16 + asrs r0, 21 + strh r0, [r1, 0x24] + ldrh r0, [r4, 0x1A] + adds r0, 0x2 + ands r0, r2 + strh r0, [r4, 0x1A] + movs r1, 0xE + ldrsh r0, [r4, r1] + lsls r2, r0, 4 + adds r2, r0 + lsls r2, 2 + adds r2, r5 + movs r6, 0x1A + ldrsh r0, [r4, r6] + lsls r0, 1 + adds r0, r3 + ldrh r0, [r0] + lsls r0, 16 + asrs r0, 19 + ldrh r1, [r4, 0x10] + muls r0, r1 + ldrh r1, [r4, 0x12] + adds r0, r1 + strh r0, [r2, 0x20] + movs r6, 0x1A + ldrsh r0, [r4, r6] + cmp r0, 0 + bne _081602DA + movs r0, 0xE + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + ldrh r1, [r4, 0x12] + strh r1, [r0, 0x20] + b _081602C4 + .pool +_08160284: + ldrh r0, [r4, 0x1E] + adds r0, 0x8 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x1E] + ldr r3, =gSprites + movs r1, 0xE + ldrsh r0, [r4, r1] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r3 + ldr r2, =gSineTable + movs r5, 0x1E + ldrsh r0, [r4, r5] + lsls r0, 1 + adds r0, r2 + ldrh r0, [r0] + lsls r0, 16 + asrs r0, 21 + strh r0, [r1, 0x24] + movs r6, 0x1E + ldrsh r2, [r4, r6] + cmp r2, 0 + bne _081602DA + movs r1, 0xE + ldrsh r0, [r4, r1] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r3 + strh r2, [r1, 0x24] +_081602C4: + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + b _081602DA + .pool +_081602D4: + adds r0, r2, 0 + bl DestroyAnimVisualTask +_081602DA: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_81601DC + + thumb_func_start sub_81602E0 +sub_81602E0: @ 81602E0 + push {r4,lr} + adds r4, r0, 0 + ldr r0, =gBattleAnimTarget + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + ldrh r0, [r4, 0x2E] + ldrh r1, [r4, 0x30] + adds r0, r1 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x30] + movs r1, 0x30 + ldrsh r0, [r4, r1] + movs r1, 0x14 + bl Cos + strh r0, [r4, 0x24] + movs r1, 0x30 + ldrsh r0, [r4, r1] + movs r1, 0x14 + bl Sin + strh r0, [r4, 0x26] + adds r0, r4, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _08160326 + adds r0, r4, 0 + bl DestroyAnimSprite +_08160326: + ldrh r0, [r4, 0x32] + adds r0, 0x1 + strh r0, [r4, 0x32] + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81602E0 + + thumb_func_start sub_8160338 +sub_8160338: @ 8160338 + push {r4,lr} + adds r4, r0, 0 + ldr r0, =gBattleAnimTarget + ldrb r0, [r0] + bl GetBattlerSide + lsls r0, 24 + cmp r0, 0 + bne _0816037C + ldr r2, =gBattleAnimArgs + ldrh r0, [r4, 0x20] + ldrh r1, [r2] + subs r0, r1 + strh r0, [r4, 0x20] + ldrh r0, [r2, 0x2] + ldrh r1, [r4, 0x22] + adds r0, r1 + strh r0, [r4, 0x22] + ldr r0, =0x0000fff5 + strh r0, [r4, 0x2E] + movs r0, 0xC0 + strh r0, [r4, 0x30] + adds r0, r4, 0 + movs r1, 0x1 + bl StartSpriteAffineAnim + b _08160396 + .pool +_0816037C: + movs r0, 0xB + strh r0, [r4, 0x2E] + movs r0, 0xC0 + strh r0, [r4, 0x30] + ldr r1, =gBattleAnimArgs + ldrh r0, [r1] + ldrh r2, [r4, 0x20] + adds r0, r2 + strh r0, [r4, 0x20] + ldrh r0, [r1, 0x2] + ldrh r1, [r4, 0x22] + adds r0, r1 + strh r0, [r4, 0x22] +_08160396: + ldr r0, =sub_81602E0 + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8160338 + + thumb_func_start sub_81603A8 +sub_81603A8: @ 81603A8 + push {r4,r5,lr} + adds r5, r0, 0 + ldr r4, =gBattleAnimAttacker + ldrb r0, [r4] + movs r1, 0x2 + bl GetBattlerSpriteCoord + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x20] + ldrb r0, [r4] + movs r1, 0x2 + bl sub_80A861C + strh r0, [r5, 0x22] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xF + bgt _081603D2 + movs r0, 0x10 + strh r0, [r5, 0x22] +_081603D2: + movs r0, 0 + strh r0, [r5, 0x3A] + movs r1, 0x10 + strh r1, [r5, 0x3C] + ldr r0, =sub_81603F4 + str r0, [r5, 0x1C] + lsls r1, 8 + movs r0, 0x52 + bl SetGpuReg + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81603A8 + + thumb_func_start sub_81603F4 +sub_81603F4: @ 81603F4 + push {r4,lr} + adds r4, r0, 0 + movs r0, 0x32 + ldrsh r1, [r4, r0] + cmp r1, 0x1 + beq _0816046C + cmp r1, 0x1 + bgt _0816040A + cmp r1, 0 + beq _08160414 + b _081604E8 +_0816040A: + cmp r1, 0x2 + beq _08160482 + cmp r1, 0x3 + beq _081604E2 + b _081604E8 +_08160414: + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _081604E8 + strh r1, [r4, 0x2E] + ldrh r1, [r4, 0x30] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + bne _0816043E + ldrh r2, [r4, 0x3A] + movs r3, 0x3A + ldrsh r0, [r4, r3] + cmp r0, 0xF + bgt _0816044C + adds r0, r2, 0x1 + strh r0, [r4, 0x3A] + b _0816044C +_0816043E: + ldrh r2, [r4, 0x3C] + movs r3, 0x3C + ldrsh r0, [r4, r3] + cmp r0, 0 + beq _0816044C + subs r0, r2, 0x1 + strh r0, [r4, 0x3C] +_0816044C: + adds r0, r1, 0x1 + strh r0, [r4, 0x30] + ldrh r1, [r4, 0x3C] + lsls r1, 8 + ldrh r0, [r4, 0x3A] + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r1, 0x3C + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _081604E8 + b _081604DA +_0816046C: + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + movs r1, 0 + strh r0, [r4, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xA + bne _081604E8 + strh r1, [r4, 0x2E] + strh r1, [r4, 0x30] + b _081604DA +_08160482: + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _081604E8 + movs r0, 0 + strh r0, [r4, 0x2E] + ldrh r1, [r4, 0x30] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + bne _081604AE + ldrh r2, [r4, 0x3A] + movs r3, 0x3A + ldrsh r0, [r4, r3] + cmp r0, 0 + beq _081604BC + subs r0, r2, 0x1 + strh r0, [r4, 0x3A] + b _081604BC +_081604AE: + ldrh r2, [r4, 0x3C] + movs r3, 0x3C + ldrsh r0, [r4, r3] + cmp r0, 0xF + bgt _081604BC + adds r0, r2, 0x1 + strh r0, [r4, 0x3C] +_081604BC: + adds r0, r1, 0x1 + strh r0, [r4, 0x30] + ldrh r1, [r4, 0x3C] + lsls r1, 8 + ldrh r0, [r4, 0x3A] + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + movs r1, 0x3C + ldrsh r0, [r4, r1] + cmp r0, 0x10 + bne _081604E8 +_081604DA: + ldrh r0, [r4, 0x32] + adds r0, 0x1 + strh r0, [r4, 0x32] + b _081604E8 +_081604E2: + adds r0, r4, 0 + bl DestroySpriteAndMatrix +_081604E8: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_81603F4 + + thumb_func_start AnimTask_GetWeather +AnimTask_GetWeather: @ 81604F0 + push {lr} + lsls r0, 24 + lsrs r3, r0, 24 + ldr r2, =gBattleAnimArgs + movs r0, 0 + strh r0, [r2, 0xE] + ldr r0, =gWeatherMoveAnim + ldrh r1, [r0] + movs r0, 0x60 + ands r0, r1 + cmp r0, 0 + beq _08160514 + movs r0, 0x1 + b _08160536 + .pool +_08160514: + movs r0, 0x7 + ands r0, r1 + cmp r0, 0 + beq _08160520 + movs r0, 0x2 + b _08160536 +_08160520: + movs r0, 0x18 + ands r0, r1 + cmp r0, 0 + beq _0816052C + movs r0, 0x3 + b _08160536 +_0816052C: + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _08160538 + movs r0, 0x4 +_08160536: + strh r0, [r2, 0xE] +_08160538: + adds r0, r3, 0 + bl DestroyAnimVisualTask + pop {r0} + bx r0 + thumb_func_end AnimTask_GetWeather + + thumb_func_start sub_8160544 +sub_8160544: @ 8160544 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r4, r0, 2 + adds r4, r0 + lsls r4, 3 + ldr r0, =gTasks + adds r4, r0 + movs r0, 0 + strh r0, [r4, 0x8] + ldr r0, =gBattleAnimArgs + ldrb r0, [r0] + bl GetAnimBattlerSpriteId + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + strh r1, [r4, 0x26] + ldr r2, =gUnknown_085CE9C8 + adds r0, r4, 0 + bl PrepareAffineAnimInTaskData + ldr r0, =sub_816058C + str r0, [r4] + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8160544 + + thumb_func_start sub_816058C +sub_816058C: @ 816058C + push {r4-r6,lr} + lsls r0, 24 + lsrs r4, r0, 24 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + ldr r2, =gTasks + adds r3, r0, r2 + ldrh r0, [r3, 0x8] + adds r1, r0, 0x1 + movs r5, 0 + strh r1, [r3, 0x8] + subs r0, 0x10 + lsls r0, 16 + lsrs r0, 16 + adds r6, r2, 0 + cmp r0, 0x16 + bhi _081605F0 + ldrh r0, [r3, 0xA] + adds r0, 0x1 + strh r0, [r3, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x2 + ble _08160600 + strh r5, [r3, 0xA] + ldrh r0, [r3, 0xC] + adds r0, 0x1 + strh r0, [r3, 0xC] + movs r5, 0x1 + ands r0, r5 + cmp r0, 0 + bne _081605F0 + ldr r2, =gSprites + movs r0, 0x26 + ldrsh r1, [r3, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldr r1, =0x0000ffff + strh r1, [r0, 0x24] + b _08160600 + .pool +_081605F0: + ldr r2, =gSprites + movs r0, 0x26 + ldrsh r1, [r3, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + strh r5, [r0, 0x24] +_08160600: + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r6 + bl RunAffineAnimFromTaskData + lsls r0, 24 + cmp r0, 0 + bne _08160618 + adds r0, r4, 0 + bl DestroyAnimVisualTask +_08160618: + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_816058C + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/macros/map.inc b/asm/macros/map.inc index 9a028b2e5..94caeb697 100644 --- a/asm/macros/map.inc +++ b/asm/macros/map.inc @@ -14,7 +14,7 @@ .4byte \address .endm - .macro object_event index, gfx, replacement, x, y, elevation, movement_type, x_radius, y_radius, trainer_type, sight_radius_tree_etc, script, event_flag + .macro object_event index:req, gfx:req, replacement:req, x:req, y:req, elevation:req, movement_type:req, x_radius:req, y_radius:req, trainer_type:req, sight_radius_tree_etc:req, script:req, event_flag:req .byte \index, \gfx, \replacement, 0 .2byte \x .2byte \y diff --git a/asm/water.s b/asm/water.s deleted file mode 100644 index 693aceddd..000000000 --- a/asm/water.s +++ /dev/null @@ -1,3607 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start AnimTask_CreateRaindrops -AnimTask_CreateRaindrops: @ 8107188 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r5, r0, r1 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _081071B0 - ldr r1, =gBattleAnimArgs - ldrh r0, [r1] - strh r0, [r5, 0xA] - ldrh r0, [r1, 0x2] - strh r0, [r5, 0xC] - ldrh r0, [r1, 0x4] - strh r0, [r5, 0xE] -_081071B0: - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r2, 0x8 - ldrsh r0, [r5, r2] - movs r2, 0xC - ldrsh r1, [r5, r2] - bl __modsi3 - cmp r0, 0x1 - bne _081071F8 - bl Random2 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xF0 - bl __umodsi3 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl Random2 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x50 - bl __umodsi3 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - ldr r0, =gUnknown_08595020 - adds r1, r4, 0 - movs r3, 0x4 - bl CreateSprite -_081071F8: - movs r0, 0x8 - ldrsh r1, [r5, r0] - movs r2, 0xE - ldrsh r0, [r5, r2] - cmp r1, r0 - bne _0810720A - adds r0, r6, 0 - bl DestroyAnimVisualTask -_0810720A: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end AnimTask_CreateRaindrops - - thumb_func_start sub_810721C -sub_810721C: @ 810721C - ldr r1, =sub_8107228 - str r1, [r0, 0x1C] - bx lr - .pool - thumb_func_end sub_810721C - - thumb_func_start sub_8107228 -sub_8107228: @ 8107228 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xD - bgt _08107246 - ldrh r0, [r2, 0x24] - adds r0, 0x1 - strh r0, [r2, 0x24] - ldrh r0, [r2, 0x26] - adds r0, 0x4 - strh r0, [r2, 0x26] -_08107246: - adds r0, r2, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0810725A - adds r0, r2, 0 - bl DestroySprite -_0810725A: - pop {r0} - bx r0 - thumb_func_end sub_8107228 - - thumb_func_start sub_8107260 -sub_8107260: @ 8107260 - push {r4-r6,lr} - adds r6, r0, 0 - ldr r5, =gBattleAnimAttacker - ldrb r0, [r5] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08107290 - ldrb r0, [r5] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldr r4, =gBattleAnimArgs - ldrh r1, [r4] - subs r0, r1 - b _081072A2 - .pool -_08107290: - ldrb r0, [r5] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - ldr r4, =gBattleAnimArgs - lsrs r0, 24 - ldrh r1, [r4] - adds r0, r1 -_081072A2: - strh r0, [r6, 0x20] - ldrb r0, [r5] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r4, [r4, 0x2] - adds r0, r4 - strh r0, [r6, 0x22] - adds r2, r6, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _081072D8 - ldr r1, =gBattleAnimArgs - ldrh r0, [r1, 0x4] - negs r0, r0 - strh r0, [r1, 0x4] -_081072D8: - ldr r5, =gBattleAnimArgs - ldrh r0, [r5, 0xC] - strh r0, [r6, 0x2E] - ldrh r0, [r6, 0x20] - strh r0, [r6, 0x30] - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x32] - ldrh r0, [r6, 0x22] - strh r0, [r6, 0x34] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x36] - adds r0, r6, 0 - bl InitAnimLinearTranslation - ldr r0, =SpriteCallbackDummy - bl CreateInvisibleSpriteWithCallback - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - strh r4, [r6, 0x38] - ldrb r0, [r5, 0x8] - movs r2, 0x4 - ldrsh r1, [r5, r2] - bl Sin - ldrh r1, [r6, 0x20] - subs r1, r0 - strh r1, [r6, 0x20] - ldrb r0, [r5, 0x8] - movs r2, 0x6 - ldrsh r1, [r5, r2] - bl Cos - ldrh r1, [r6, 0x22] - subs r1, r0 - strh r1, [r6, 0x22] - ldr r0, =gSprites - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r5, 0x4] - strh r0, [r1, 0x2E] - ldrh r0, [r5, 0x6] - strh r0, [r1, 0x30] - ldrh r0, [r5, 0xA] - strh r0, [r1, 0x32] - ldrb r0, [r5, 0x8] - lsls r0, 8 - strh r0, [r1, 0x34] - ldrh r0, [r5, 0xC] - strh r0, [r1, 0x36] - ldr r1, =sub_8107380 - str r1, [r6, 0x1C] - adds r0, r6, 0 - bl _call_via_r1 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8107260 - - thumb_func_start sub_8107380 -sub_8107380: @ 8107380 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r5, r0, 0 - ldrh r1, [r5, 0x38] - lsls r1, 24 - lsrs r1, 24 - ldr r2, =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r7, r0, r2 - ldrh r4, [r7, 0x36] - lsls r4, 24 - lsrs r4, 24 - ldrh r0, [r7, 0x34] - mov r8, r0 - movs r0, 0x1 - strh r0, [r5, 0x2E] - adds r0, r5, 0 - bl TranslateAnimLinear - mov r1, r8 - lsrs r6, r1, 8 - movs r0, 0x2E - ldrsh r1, [r7, r0] - adds r0, r6, 0 - bl Sin - ldrh r1, [r5, 0x24] - adds r0, r1 - strh r0, [r5, 0x24] - movs r0, 0x30 - ldrsh r1, [r7, r0] - adds r0, r6, 0 - bl Cos - ldrh r1, [r5, 0x26] - adds r0, r1 - strh r0, [r5, 0x26] - ldrh r0, [r7, 0x32] - mov r1, r8 - adds r1, r0 - strh r1, [r7, 0x34] - subs r4, 0x1 - lsls r4, 24 - lsrs r4, 24 - cmp r4, 0 - beq _081073EC - strh r4, [r7, 0x36] - b _081073F6 - .pool -_081073EC: - ldr r0, =sub_8107408 - str r0, [r5, 0x1C] - adds r0, r7, 0 - bl DestroySprite -_081073F6: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8107380 - - thumb_func_start sub_8107408 -sub_8107408: @ 8107408 - push {lr} - adds r3, r0, 0 - adds r3, 0x2C - ldrb r2, [r3] - movs r1, 0x41 - negs r1, r1 - ands r1, r2 - strb r1, [r3] - ldr r1, =RunStoredCallbackWhenAnimEnds - str r1, [r0, 0x1C] - ldr r1, =sub_8107430 - bl StoreSpriteCallbackInData6 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8107408 - - thumb_func_start sub_8107430 -sub_8107430: @ 8107430 - push {lr} - movs r1, 0xA - strh r1, [r0, 0x2E] - ldr r1, =WaitAnimForDuration - str r1, [r0, 0x1C] - ldr r1, =DestroySpriteAndMatrix - bl StoreSpriteCallbackInData6 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8107430 - - thumb_func_start sub_810744C -sub_810744C: @ 810744C - push {r4-r7,lr} - adds r5, r0, 0 - movs r1, 0x1 - bl InitAnimSpritePos - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _0810747C - ldr r1, =gBattleAnimArgs - ldrh r0, [r1, 0x4] - negs r0, r0 - lsls r0, 16 - lsrs r6, r0, 16 - adds r7, r1, 0 - b _08107482 - .pool -_0810747C: - ldr r0, =gBattleAnimArgs - ldrh r6, [r0, 0x4] - adds r7, r0, 0 -_08107482: - ldrh r0, [r7, 0x8] - strh r0, [r5, 0x2E] - ldrh r0, [r5, 0x20] - strh r0, [r5, 0x30] - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - adds r0, r6 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x22] - strh r0, [r5, 0x34] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r7, [r7, 0x6] - adds r0, r7 - strh r0, [r5, 0x36] - adds r0, r5, 0 - bl InitAnimLinearTranslation - ldr r0, =sub_81074E4 - str r0, [r5, 0x1C] - adds r2, r5, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - ldr r1, [r5, 0x1C] - adds r0, r5, 0 - bl _call_via_r1 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810744C - - thumb_func_start sub_81074E4 -sub_81074E4: @ 81074E4 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gBattleAnimArgs - ldrh r1, [r0, 0xE] - ldr r0, =0x0000ffff - cmp r1, r0 - bne _08107506 - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAnim - adds r2, r4, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] -_08107506: - adds r0, r4, 0 - bl TranslateAnimLinear - lsls r0, 24 - cmp r0, 0 - beq _08107518 - adds r0, r4, 0 - bl DestroyAnimSprite -_08107518: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81074E4 - - thumb_func_start sub_8107528 -sub_8107528: @ 8107528 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - ldr r0, =gBattleAnimArgs - ldrh r0, [r0] - strh r0, [r4, 0x8] - ldr r0, =0x0000279c - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 20 - movs r1, 0x80 - lsls r1, 1 - adds r0, r1 - strh r0, [r4, 0xC] - ldr r0, =sub_810756C - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8107528 - - thumb_func_start sub_810756C -sub_810756C: @ 810756C - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r2, r0, r1 - ldrh r0, [r2, 0x1C] - adds r0, 0x1 - strh r0, [r2, 0x1C] - lsls r0, 16 - asrs r0, 16 - mov r12, r1 - cmp r0, 0x3 - bne _081075BE - movs r0, 0 - strh r0, [r2, 0x1C] - ldrh r0, [r2, 0xC] - adds r0, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r1, =gPlttBufferFaded - lsls r0, r5, 1 - adds r0, r1 - ldrh r6, [r0] - adds r7, r1, 0 - adds r3, r0, 0x2 - movs r1, 0x6 - adds r2, r0, 0 -_081075A8: - ldrh r0, [r3] - strh r0, [r2] - adds r3, 0x2 - adds r2, 0x2 - subs r1, 0x1 - cmp r1, 0 - bge _081075A8 - adds r0, r5, 0x7 - lsls r0, 1 - adds r0, r7 - strh r6, [r0] -_081075BE: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - add r0, r12 - ldrh r1, [r0, 0x1E] - adds r1, 0x1 - strh r1, [r0, 0x1E] - lsls r1, 16 - asrs r1, 16 - movs r2, 0x8 - ldrsh r0, [r0, r2] - cmp r1, r0 - bne _081075DE - adds r0, r4, 0 - bl DestroyAnimVisualTask -_081075DE: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810756C - - thumb_func_start sub_81075EC -sub_81075EC: @ 81075EC - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x1 - bl InitAnimSpritePos - movs r0, 0x1E - strh r0, [r5, 0x2E] - ldrh r0, [r5, 0x20] - strh r0, [r5, 0x30] - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x22] - strh r0, [r5, 0x34] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x36] - adds r0, r5, 0 - bl InitAnimLinearTranslation - movs r0, 0x2E - ldrsh r1, [r5, r0] - movs r0, 0xD2 - lsls r0, 8 - bl __divsi3 - strh r0, [r5, 0x38] - ldr r0, =gBattleAnimArgs - ldrh r2, [r0, 0x6] - strh r2, [r5, 0x3C] - ldrh r1, [r0, 0xE] - movs r3, 0xE - ldrsh r0, [r0, r3] - cmp r0, 0x7F - ble _0810765C - adds r0, r1, 0 - subs r0, 0x7F - lsls r0, 8 - strh r0, [r5, 0x3A] - negs r0, r2 - strh r0, [r5, 0x3C] - b _08107660 - .pool -_0810765C: - lsls r0, r1, 8 - strh r0, [r5, 0x3A] -_08107660: - ldr r1, =sub_8107674 - str r1, [r5, 0x1C] - adds r0, r5, 0 - bl _call_via_r1 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81075EC - - thumb_func_start sub_8107674 -sub_8107674: @ 8107674 - push {r4,lr} - adds r4, r0, 0 - bl TranslateAnimLinear - lsls r0, 24 - cmp r0, 0 - beq _08107688 - adds r0, r4, 0 - bl DestroyAnimSprite -_08107688: - ldrh r0, [r4, 0x3A] - lsls r0, 16 - asrs r0, 24 - movs r2, 0x3C - ldrsh r1, [r4, r2] - bl Sin - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - movs r2, 0x3A - ldrsh r0, [r4, r2] - movs r2, 0x38 - ldrsh r1, [r4, r2] - adds r0, r1 - asrs r0, 8 - cmp r0, 0x7F - ble _081076B8 - movs r0, 0 - strh r0, [r4, 0x3A] - ldrh r0, [r4, 0x3C] - negs r0, r0 - strh r0, [r4, 0x3C] - b _081076C0 -_081076B8: - ldrh r0, [r4, 0x38] - ldrh r1, [r4, 0x3A] - adds r0, r1 - strh r0, [r4, 0x3A] -_081076C0: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8107674 - - thumb_func_start sub_81076C8 -sub_81076C8: @ 81076C8 - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r3, =gBattleAnimArgs - ldrh r0, [r3] - movs r2, 0 - strh r0, [r1, 0x8] - strh r2, [r3, 0xE] - ldr r0, =sub_81076F4 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_81076C8 - - thumb_func_start sub_81076F4 -sub_81076F4: @ 81076F4 - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r2, =gBattleAnimArgs - ldrh r0, [r2, 0xE] - adds r0, 0x3 - movs r1, 0xFF - ands r0, r1 - strh r0, [r2, 0xE] - ldr r1, =gTasks - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x8] - subs r1, 0x1 - strh r1, [r0, 0x8] - lsls r1, 16 - cmp r1, 0 - bne _08107722 - adds r0, r3, 0 - bl DestroyAnimVisualTask -_08107722: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81076F4 - - thumb_func_start sub_8107730 -sub_8107730: @ 8107730 - push {r4-r7,lr} - adds r4, r0, 0 - ldr r7, =gBattleAnimAttacker - ldrb r0, [r7] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x20] - ldrb r0, [r7] - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x22] - ldr r6, =0x0000fff6 - strh r6, [r4, 0x26] - ldrb r0, [r7] - bl GetBattlerSpriteSubpriority - lsls r0, 24 - lsrs r5, r0, 24 - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _0810778A - ldrb r0, [r7] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08107784 - movs r0, 0xA - strh r0, [r4, 0x24] - b _0810778C - .pool -_08107784: - strh r6, [r4, 0x24] - subs r0, r5, 0x2 - b _0810778E -_0810778A: - strh r6, [r4, 0x24] -_0810778C: - adds r0, r5, 0x2 -_0810778E: - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - ldr r0, =sub_81077A4 - str r0, [r4, 0x1C] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8107730 - - thumb_func_start sub_81077A4 -sub_81077A4: @ 81077A4 - push {lr} - adds r2, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _081077BA - adds r0, r2, 0 - bl DestroyAnimSprite -_081077BA: - pop {r0} - bx r0 - thumb_func_end sub_81077A4 - - thumb_func_start sub_81077C0 -sub_81077C0: @ 81077C0 - push {r4-r7,lr} - adds r6, r0, 0 - ldr r5, =gBattleAnimAttacker - ldrb r0, [r5] - bl GetBattlerSide - adds r4, r0, 0 - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bne _0810780A - ldr r4, =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r4, r1] - negs r0, r0 - strh r0, [r4] - ldrb r0, [r5] - bl GetBattlerPosition - lsls r0, 24 - cmp r0, 0 - beq _08107802 - ldrb r0, [r5] - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0810780A -_08107802: - movs r1, 0 - ldrsh r0, [r4, r1] - negs r0, r0 - strh r0, [r4] -_0810780A: - ldr r5, =gBattleAnimArgs - movs r1, 0xA - ldrsh r0, [r5, r1] - movs r1, 0xFF - lsls r1, 8 - ands r0, r1 - movs r1, 0 - cmp r0, 0 - bne _0810781E - movs r1, 0x1 -_0810781E: - ldrb r0, [r5, 0xA] - movs r7, 0x1 - cmp r0, 0 - bne _08107828 - movs r7, 0x3 -_08107828: - adds r0, r6, 0 - bl InitAnimSpritePos - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08107842 - ldrh r0, [r5, 0x4] - negs r0, r0 - strh r0, [r5, 0x4] -_08107842: - ldrh r0, [r5, 0x8] - strh r0, [r6, 0x2E] - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r5, 0x4] - adds r0, r1 - strh r0, [r6, 0x32] - ldrb r0, [r4] - adds r1, r7, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r5, [r5, 0x6] - adds r0, r5 - strh r0, [r6, 0x36] - ldr r0, =StartAnimLinearTranslation - str r0, [r6, 0x1C] - ldr r1, =DestroyAnimSprite - adds r0, r6, 0 - bl StoreSpriteCallbackInData6 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81077C0 - - thumb_func_start sub_8107894 -sub_8107894: @ 8107894 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl sub_80A6980 - ldr r0, =gBattleAnimArgs - ldrh r1, [r0, 0x8] - strh r1, [r4, 0x2E] - ldrh r0, [r0, 0x4] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x22] - adds r1, r0 - strh r1, [r4, 0x36] - ldr r0, =StartAnimLinearTranslation - str r0, [r4, 0x1C] - ldr r1, =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8107894 - - thumb_func_start sub_81078D0 -sub_81078D0: @ 81078D0 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gBattleAnimArgs - movs r1, 0x6 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _081078EC - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80A6980 - b _081078F4 - .pool -_081078EC: - adds r0, r4, 0 - movs r1, 0x1 - bl InitAnimSpritePos -_081078F4: - ldr r0, =gBattleAnimArgs - ldrh r0, [r0, 0x4] - strh r0, [r4, 0x3C] - ldr r0, =sub_810790C - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81078D0 - - thumb_func_start sub_810790C -sub_810790C: @ 810790C - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0xB - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x2E] - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r1, 0x4 - bl Sin - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x30] - adds r0, 0x30 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 24 - negs r0, r0 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x3C] - subs r0, 0x1 - strh r0, [r4, 0x3C] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _0810794C - adds r0, r4, 0 - bl DestroyAnimSprite -_0810794C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_810790C - - thumb_func_start AnimTask_CreateSurfWave -AnimTask_CreateSurfWave: @ 8107954 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldr r1, =0x00003f42 - movs r0, 0x50 - bl SetGpuReg - movs r1, 0x80 - lsls r1, 5 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x1 - movs r1, 0x4 - movs r2, 0x1 - bl SetAnimBgAttribute - movs r0, 0x1 - movs r1, 0 - movs r2, 0x1 - bl SetAnimBgAttribute - mov r0, sp - bl sub_80A6B30 - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _081079E0 - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0x1 - bl SetAnimBgAttribute - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081079D0 - mov r0, sp - ldrb r0, [r0, 0x9] - ldr r1, =gUnknown_08D95E00 - bl sub_80A6D48 - b _081079EA - .pool -_081079D0: - mov r0, sp - ldrb r0, [r0, 0x9] - ldr r1, =gUnknown_08D960D0 - bl sub_80A6D48 - b _081079EA - .pool -_081079E0: - ldr r1, =gUnknown_08D963A4 - mov r0, sp - movs r2, 0x1 - bl sub_80A6D60 -_081079EA: - mov r0, sp - ldrb r0, [r0, 0x9] - ldr r1, =gBattleAnimBackgroundImage_Surf - mov r2, sp - ldrh r2, [r2, 0xA] - bl sub_80A6CC0 - ldr r0, =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08107A24 - ldr r0, =gBattleAnimBackgroundPalette_Surf - mov r1, sp - ldrb r1, [r1, 0x8] - lsls r1, 4 - movs r2, 0x20 - bl LoadCompressedPalette - b _08107A32 - .pool -_08107A24: - ldr r0, =gBattleAnimBackgroundImageMuddyWater_Pal - mov r1, sp - ldrb r1, [r1, 0x8] - lsls r1, 4 - movs r2, 0x20 - bl LoadCompressedPalette -_08107A32: - ldr r0, =sub_8107D58 - ldr r4, =gTasks - mov r2, r10 - lsls r5, r2, 2 - adds r1, r5, r2 - lsls r1, 3 - adds r6, r1, r4 - ldrb r1, [r6, 0x7] - adds r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r0, 0 - mov r9, r0 - mov r1, r8 - strh r1, [r6, 0x26] - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r7, r0, r4 - mov r0, r9 - strh r0, [r7, 0x8] - movs r0, 0x80 - lsls r0, 5 - strh r0, [r7, 0xA] - strh r0, [r7, 0xC] - bl IsContest - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - beq _08107AB4 - ldr r1, =0x0000ffb0 - adds r0, r1, 0 - ldr r2, =gBattle_BG1_X - strh r0, [r2] - adds r1, 0x20 - adds r0, r1, 0 - ldr r2, =gBattle_BG1_Y - strh r0, [r2] - movs r0, 0x2 - strh r0, [r6, 0x8] - movs r0, 0x1 - strh r0, [r6, 0xA] - mov r0, r9 - strh r0, [r7, 0xE] - b _08107B0E - .pool -_08107AB4: - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x1 - bne _08107AF8 - ldr r2, =0x0000ff20 - adds r0, r2, 0 - ldr r2, =gBattle_BG1_X - strh r0, [r2] - movs r2, 0x80 - lsls r2, 1 - adds r0, r2, 0 - ldr r2, =gBattle_BG1_Y - strh r0, [r2] - movs r0, 0x2 - strh r0, [r6, 0x8] - ldr r0, =0x0000ffff - strh r0, [r6, 0xA] - strh r1, [r7, 0xE] - b _08107B0E - .pool -_08107AF8: - ldr r0, =gBattle_BG1_X - strh r4, [r0] - ldr r1, =0x0000ffd0 - adds r0, r1, 0 - ldr r2, =gBattle_BG1_Y - strh r0, [r2] - ldr r0, =0x0000fffe - strh r0, [r6, 0x8] - movs r0, 0x1 - strh r0, [r6, 0xA] - strh r4, [r7, 0xE] -_08107B0E: - ldr r0, =gBattle_BG1_X - ldrh r1, [r0] - movs r0, 0x14 - bl SetGpuReg - ldr r2, =gBattle_BG1_Y - ldrh r1, [r2] - movs r0, 0x16 - bl SetGpuReg - ldr r1, =gTasks - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r1, r0, r1 - movs r2, 0xE - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _08107B54 - movs r0, 0x30 - strh r0, [r1, 0x10] - movs r0, 0x70 - b _08107B58 - .pool -_08107B54: - movs r0, 0 - strh r0, [r1, 0x10] -_08107B58: - strh r0, [r1, 0x12] - ldr r1, =gTasks - mov r2, r10 - adds r0, r5, r2 - lsls r0, 3 - adds r0, r1 - movs r1, 0x1 - strh r1, [r0, 0x14] - ldr r1, =sub_8107B84 - str r1, [r0] - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end AnimTask_CreateSurfWave - - thumb_func_start sub_8107B84 -sub_8107B84: @ 8107B84 - push {r4-r7,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gBattle_BG1_X - ldr r2, =gBattle_BG1_Y - ldr r0, =gTasks - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r0 - ldrh r0, [r4, 0x8] - ldrh r3, [r1] - adds r0, r3 - strh r0, [r1] - ldrh r0, [r4, 0xA] - ldrh r1, [r2] - adds r0, r1 - strh r0, [r2] - mov r0, sp - bl sub_80A6B30 - ldrh r0, [r4, 0xA] - ldrh r3, [r4, 0xC] - adds r0, r3 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x12] - adds r0, 0x1 - strh r0, [r4, 0x12] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bne _08107C18 - ldr r1, =gPlttBufferFaded - mov r0, sp - ldrb r0, [r0, 0x8] - lsls r0, 4 - adds r0, 0x7 - lsls r0, 1 - adds r0, r1 - ldrh r6, [r0] - movs r2, 0x6 - adds r7, r1, 0 - adds r3, r7, 0 - mov r4, sp -_08107BDE: - ldrb r0, [r4, 0x8] - lsls r0, 4 - adds r1, r2, 0x1 - adds r0, r1 - lsls r1, r0, 1 - adds r1, r3 - subs r0, 0x1 - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - strh r0, [r1] - subs r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - bne _08107BDE - mov r0, sp - ldrb r0, [r0, 0x8] - lsls r0, 4 - adds r0, 0x1 - lsls r0, 1 - adds r0, r7 - strh r6, [r0] - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - strh r2, [r0, 0x12] -_08107C18: - ldr r1, =gTasks - lsls r2, r5, 2 - adds r0, r2, r5 - lsls r0, 3 - adds r3, r0, r1 - ldrh r0, [r3, 0x14] - adds r0, 0x1 - strh r0, [r3, 0x14] - lsls r0, 16 - asrs r0, 16 - adds r4, r1, 0 - adds r6, r2, 0 - cmp r0, 0x1 - ble _08107C86 - movs r0, 0 - strh r0, [r3, 0x14] - ldrh r0, [r3, 0xE] - adds r2, r0, 0x1 - strh r2, [r3, 0xE] - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0xD - bgt _08107C62 - movs r1, 0x26 - ldrsh r0, [r3, r1] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r4 - movs r0, 0x10 - subs r0, r2 - lsls r0, 8 - orrs r2, r0 - strh r2, [r1, 0xA] - ldrh r0, [r3, 0x10] - adds r0, 0x1 - strh r0, [r3, 0x10] -_08107C62: - movs r1, 0xE - ldrsh r0, [r3, r1] - cmp r0, 0x36 - ble _08107C86 - ldrh r2, [r3, 0x10] - subs r2, 0x1 - strh r2, [r3, 0x10] - movs r1, 0x26 - ldrsh r0, [r3, r1] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r4 - movs r0, 0x10 - subs r0, r2 - lsls r0, 8 - orrs r2, r0 - strh r2, [r1, 0xA] -_08107C86: - adds r0, r6, r5 - lsls r0, 3 - adds r2, r0, r4 - movs r3, 0x26 - ldrsh r1, [r2, r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - ldrh r0, [r0, 0xA] - movs r3, 0x1F - ands r3, r0 - cmp r3, 0 - bne _08107CA8 - strh r3, [r2, 0x8] - ldr r0, =sub_8107CC4 - str r0, [r2] -_08107CA8: - add sp, 0x10 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8107B84 - - thumb_func_start sub_8107CC4 -sub_8107CC4: @ 8107CC4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r7, =gBattle_BG1_X - ldr r0, =gBattle_BG1_Y - mov r8, r0 - ldr r6, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r6 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08107D08 - movs r0, 0x1 - bl sub_80A6C68 - movs r0, 0x2 - bl sub_80A6C68 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _08107D4A - .pool -_08107D08: - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _08107D1C - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0 - bl SetAnimBgAttribute -_08107D1C: - movs r0, 0 - strh r0, [r7] - mov r1, r8 - strh r0, [r1] - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r6 - ldr r1, =0x0000ffff - strh r1, [r0, 0x26] - adds r0, r5, 0 - bl DestroyAnimVisualTask -_08107D4A: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8107CC4 - - thumb_func_start sub_8107D58 -sub_8107D58: @ 8107D58 - push {r4-r7,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - bne _08107D74 - b _08107EAC -_08107D74: - cmp r0, 0x1 - bgt _08107D84 - cmp r0, 0 - beq _08107D8C - b _08108022 - .pool -_08107D84: - cmp r0, 0x2 - bne _08107D8A - b _08107F78 -_08107D8A: - b _08108022 -_08107D8C: - movs r3, 0 - movs r2, 0x10 - ldrsh r0, [r4, r2] - ldr r1, =gScanlineEffectRegBuffers - mov r12, r1 - cmp r3, r0 - bge _08107DCA - mov r7, r12 - movs r5, 0xF0 - lsls r5, 3 - add r5, r12 - ldr r6, =0x0000ffff -_08107DA4: - lsls r2, r3, 16 - asrs r2, 16 - lsls r1, r2, 1 - adds r3, r1, r7 - adds r1, r5 - ldrh r0, [r4, 0xC] - strh r0, [r1] - ldrh r1, [r4, 0xC] - adds r0, r6, 0 - ands r0, r1 - strh r0, [r3] - adds r2, 0x1 - lsls r2, 16 - lsrs r3, r2, 16 - asrs r2, 16 - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r2, r0 - blt _08107DA4 -_08107DCA: - ldrh r3, [r4, 0x10] - lsls r2, r3, 16 - asrs r1, r2, 16 - movs r3, 0x12 - ldrsh r0, [r4, r3] - cmp r1, r0 - bge _08107E04 - ldr r5, =gScanlineEffectRegBuffers - movs r0, 0xF0 - lsls r0, 3 - adds r6, r5, r0 - ldr r7, =0x0000ffff -_08107DE2: - asrs r2, 16 - lsls r1, r2, 1 - adds r3, r1, r5 - adds r1, r6 - ldrh r0, [r4, 0xA] - strh r0, [r1] - ldrh r1, [r4, 0xA] - adds r0, r7, 0 - ands r0, r1 - strh r0, [r3] - adds r2, 0x1 - lsls r2, 16 - asrs r1, r2, 16 - movs r3, 0x12 - ldrsh r0, [r4, r3] - cmp r1, r0 - blt _08107DE2 -_08107E04: - ldrh r3, [r4, 0x12] - lsls r2, r3, 16 - asrs r0, r2, 16 - cmp r0, 0x9F - bgt _08107E3A - ldr r5, =gScanlineEffectRegBuffers - movs r0, 0xF0 - lsls r0, 3 - adds r6, r5, r0 - ldr r7, =0x0000ffff -_08107E18: - asrs r2, 16 - lsls r1, r2, 1 - adds r3, r1, r5 - adds r1, r6 - ldrh r0, [r4, 0xC] - strh r0, [r1] - ldrh r1, [r4, 0xC] - adds r0, r7, 0 - ands r0, r1 - strh r0, [r3] - adds r2, 0x1 - lsls r2, 16 - lsrs r3, r2, 16 - lsls r2, r3, 16 - asrs r0, r2, 16 - cmp r0, 0x9F - ble _08107E18 -_08107E3A: - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08107E64 - lsls r0, r3, 16 - asrs r0, 15 - mov r3, r12 - adds r2, r0, r3 - movs r1, 0xF0 - lsls r1, 3 - add r1, r12 - adds r0, r1 - ldrh r1, [r4, 0xA] - strh r1, [r0] - ldrh r0, [r4, 0xA] - b _08107E7A - .pool -_08107E64: - lsls r0, r3, 16 - asrs r0, 15 - mov r1, r12 - adds r2, r0, r1 - movs r1, 0xF0 - lsls r1, 3 - add r1, r12 - adds r0, r1 - ldrh r1, [r4, 0xC] - strh r1, [r0] - ldrh r0, [r4, 0xC] -_08107E7A: - strh r0, [r2] - ldr r0, =0x04000052 - str r0, [sp] - ldr r0, =0xa2600001 - str r0, [sp, 0x4] - mov r1, sp - movs r2, 0 - movs r0, 0x1 - strb r0, [r1, 0x8] - mov r0, sp - strb r2, [r0, 0x9] - ldr r0, [sp] - ldr r1, [sp, 0x4] - ldr r2, [sp, 0x8] - bl ScanlineEffect_SetParams - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _08108022 - .pool -_08107EAC: - movs r2, 0xE - ldrsh r1, [r4, r2] - cmp r1, 0 - bne _08107EC4 - ldrh r0, [r4, 0x10] - subs r0, 0x1 - strh r0, [r4, 0x10] - lsls r0, 16 - cmp r0, 0 - bgt _08107ED8 - strh r1, [r4, 0x10] - b _08107ED2 -_08107EC4: - ldrh r0, [r4, 0x12] - adds r0, 0x1 - strh r0, [r4, 0x12] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x6F - ble _08107ED8 -_08107ED2: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_08107ED8: - movs r3, 0 - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r3, r0 - bge _08107F0C - ldr r6, =gScanlineEffectRegBuffers - ldr r5, =gScanlineEffect -_08107EE6: - lsls r1, r3, 16 - asrs r1, 16 - lsls r3, r1, 1 - ldrb r2, [r5, 0x14] - lsls r0, r2, 4 - subs r0, r2 - lsls r0, 7 - adds r3, r0 - adds r3, r6 - ldrh r0, [r4, 0xC] - strh r0, [r3] - adds r1, 0x1 - lsls r1, 16 - lsrs r3, r1, 16 - asrs r1, 16 - movs r2, 0x10 - ldrsh r0, [r4, r2] - cmp r1, r0 - blt _08107EE6 -_08107F0C: - ldrh r3, [r4, 0x10] - lsls r2, r3, 16 - asrs r1, r2, 16 - movs r3, 0x12 - ldrsh r0, [r4, r3] - cmp r1, r0 - bge _08107F40 - ldr r6, =gScanlineEffectRegBuffers - ldr r5, =gScanlineEffect -_08107F1E: - asrs r3, r2, 16 - lsls r2, r3, 1 - ldrb r1, [r5, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - adds r2, r6 - ldrh r0, [r4, 0xA] - strh r0, [r2] - adds r3, 0x1 - lsls r2, r3, 16 - asrs r1, r2, 16 - movs r3, 0x12 - ldrsh r0, [r4, r3] - cmp r1, r0 - blt _08107F1E -_08107F40: - ldrh r3, [r4, 0x12] - lsls r1, r3, 16 - asrs r0, r1, 16 - cmp r0, 0x9F - bgt _08108022 - ldr r6, =gScanlineEffectRegBuffers - ldr r5, =gScanlineEffect -_08107F4E: - asrs r3, r1, 16 - lsls r2, r3, 1 - ldrb r1, [r5, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - adds r2, r6 - ldrh r0, [r4, 0xC] - strh r0, [r2] - adds r3, 0x1 - lsls r1, r3, 16 - asrs r0, r1, 16 - cmp r0, 0x9F - ble _08107F4E - b _08108022 - .pool -_08107F78: - movs r3, 0 - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r3, r0 - bge _08107FAC - ldr r6, =gScanlineEffectRegBuffers - ldr r5, =gScanlineEffect -_08107F86: - lsls r1, r3, 16 - asrs r1, 16 - lsls r3, r1, 1 - ldrb r2, [r5, 0x14] - lsls r0, r2, 4 - subs r0, r2 - lsls r0, 7 - adds r3, r0 - adds r3, r6 - ldrh r0, [r4, 0xC] - strh r0, [r3] - adds r1, 0x1 - lsls r1, 16 - lsrs r3, r1, 16 - asrs r1, 16 - movs r2, 0x10 - ldrsh r0, [r4, r2] - cmp r1, r0 - blt _08107F86 -_08107FAC: - ldrh r3, [r4, 0x10] - lsls r2, r3, 16 - asrs r1, r2, 16 - movs r3, 0x12 - ldrsh r0, [r4, r3] - cmp r1, r0 - bge _08107FE0 - ldr r6, =gScanlineEffectRegBuffers - ldr r5, =gScanlineEffect -_08107FBE: - asrs r3, r2, 16 - lsls r2, r3, 1 - ldrb r1, [r5, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - adds r2, r6 - ldrh r0, [r4, 0xA] - strh r0, [r2] - adds r3, 0x1 - lsls r2, r3, 16 - asrs r1, r2, 16 - movs r3, 0x12 - ldrsh r0, [r4, r3] - cmp r1, r0 - blt _08107FBE -_08107FE0: - ldrh r3, [r4, 0x12] - lsls r1, r3, 16 - asrs r0, r1, 16 - cmp r0, 0x9F - bgt _0810800C - ldr r6, =gScanlineEffectRegBuffers - ldr r5, =gScanlineEffect -_08107FEE: - asrs r3, r1, 16 - lsls r2, r3, 1 - ldrb r1, [r5, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - adds r2, r6 - ldrh r0, [r4, 0xC] - strh r0, [r2] - adds r3, 0x1 - lsls r1, r3, 16 - asrs r0, r1, 16 - cmp r0, 0x9F - ble _08107FEE -_0810800C: - movs r0, 0x26 - ldrsh r1, [r4, r0] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _08108022 - bl ScanlineEffect_Stop - adds r0, r7, 0 - bl DestroyTask -_08108022: - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8107D58 - - thumb_func_start sub_8108034 -sub_8108034: @ 8108034 - push {r4-r6,lr} - adds r4, r0, 0 - ldrh r2, [r4, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - adds r1, 0x8 - ldr r3, =0x000003ff - adds r0, r3, 0 - ands r1, r0 - ldr r0, =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r4, 0x4] - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80A6980 - bl Random2 - movs r5, 0xFF - ands r5, r0 - movs r0, 0x80 - lsls r0, 1 - adds r6, r0, 0 - orrs r5, r6 - bl Random2 - ldr r1, =0x000001ff - ands r1, r0 - adds r0, r1, 0 - cmp r0, 0xFF - ble _0810807A - subs r0, r6, r0 - lsls r0, 16 - lsrs r1, r0, 16 -_0810807A: - strh r5, [r4, 0x30] - strh r1, [r4, 0x32] - ldr r0, =sub_8108098 - str r0, [r4, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8108034 - - thumb_func_start sub_8108098 -sub_8108098: @ 8108098 - push {r4,lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x30] - ldrh r1, [r2, 0x34] - adds r3, r0, r1 - strh r3, [r2, 0x34] - ldrh r1, [r2, 0x32] - ldrh r4, [r2, 0x36] - adds r1, r4 - strh r1, [r2, 0x36] - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - beq _081080BC - lsls r0, r3, 16 - asrs r0, 24 - negs r0, r0 - b _081080C0 -_081080BC: - lsls r0, r3, 16 - asrs r0, 24 -_081080C0: - strh r0, [r2, 0x24] - ldrh r0, [r2, 0x36] - lsls r0, 16 - asrs r0, 24 - strh r0, [r2, 0x26] - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x15 - bne _081080DE - adds r0, r2, 0 - bl DestroyAnimSprite -_081080DE: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8108098 - - thumb_func_start sub_81080E4 -sub_81080E4: @ 81080E4 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, =gTasks - adds r4, r0 - movs r0, 0 - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x26] - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x22] - strh r0, [r4, 0x12] - bl sub_8108384 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl PrepareBattlerSpriteForRotScale - ldr r0, =sub_8108140 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81080E4 - - thumb_func_start sub_8108140 -sub_8108140: @ 8108140 - push {r4-r6,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x7 - bls _0810815C - b _0810837A -_0810815C: - lsls r0, 2 - ldr r1, =_08108170 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08108170: - .4byte _08108190 - .4byte _081081B6 - .4byte _08108248 - .4byte _0810827E - .4byte _08108292 - .4byte _081082A0 - .4byte _08108320 - .4byte _0810836C -_08108190: - ldrh r1, [r4, 0x26] - lsls r1, 24 - lsrs r1, 24 - movs r3, 0x80 - lsls r3, 1 - movs r0, 0xE0 - str r0, [sp] - movs r0, 0x80 - lsls r0, 2 - str r0, [sp, 0x4] - movs r0, 0x20 - str r0, [sp, 0x8] - adds r0, r4, 0 - adds r2, r3, 0 - bl sub_80A805C - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_081081B6: - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _08108212 - movs r0, 0 - strh r0, [r4, 0xE] - ldrh r0, [r4, 0x10] - adds r0, 0x1 - strh r0, [r4, 0x10] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08108200 - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x3 - strh r1, [r0, 0x24] - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x22] - adds r1, 0x1 - strh r1, [r0, 0x22] - b _08108212 - .pool -_08108200: - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, =0x0000fffd - strh r1, [r0, 0x24] -_08108212: - adds r0, r4, 0 - bl sub_80A80C8 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - beq _08108222 - b _0810837A -_08108222: - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl SetBattlerSpriteYOffsetFromYScale - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r5, [r0, 0x24] - strh r5, [r4, 0xE] - b _0810835C - .pool -_08108248: - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bgt _08108258 - b _0810837A -_08108258: - ldrh r1, [r4, 0x26] - lsls r1, 24 - lsrs r1, 24 - movs r3, 0x80 - lsls r3, 2 - movs r0, 0xC0 - lsls r0, 1 - str r0, [sp] - movs r0, 0xE0 - str r0, [sp, 0x4] - movs r0, 0x8 - str r0, [sp, 0x8] - adds r0, r4, 0 - movs r2, 0xE0 - bl sub_80A805C - movs r0, 0 - strh r0, [r4, 0xE] - b _0810835E -_0810827E: - adds r0, r4, 0 - bl sub_80A80C8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _0810837A - strh r0, [r4, 0xE] - strh r0, [r4, 0x10] - b _0810835E -_08108292: - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_8108408 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_081082A0: - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _0810837A - movs r0, 0 - strh r0, [r4, 0xE] - ldrh r0, [r4, 0x10] - adds r0, 0x1 - strh r0, [r4, 0x10] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081082D8 - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x26] - adds r1, 0x2 - b _081082EA - .pool -_081082D8: - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x26] - subs r1, 0x2 -_081082EA: - strh r1, [r0, 0x26] - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r0, 0xA - bne _0810837A - ldrh r1, [r4, 0x26] - lsls r1, 24 - lsrs r1, 24 - movs r2, 0xC0 - lsls r2, 1 - movs r0, 0x80 - lsls r0, 1 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0x8 - str r0, [sp, 0x8] - adds r0, r4, 0 - movs r3, 0xE0 - bl sub_80A805C - movs r0, 0 - strh r0, [r4, 0xE] - strh r0, [r4, 0x10] - b _0810835E - .pool -_08108320: - ldr r6, =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrh r1, [r0, 0x22] - subs r1, 0x1 - strh r1, [r0, 0x22] - adds r0, r4, 0 - bl sub_80A80C8 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _0810837A - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl ResetSpriteRotScale - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrh r1, [r4, 0x12] - strh r1, [r0, 0x22] -_0810835C: - strh r5, [r4, 0x10] -_0810835E: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0810837A - .pool -_0810836C: - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0810837A - adds r0, r2, 0 - bl DestroyAnimVisualTask -_0810837A: - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8108140 - - thumb_func_start sub_8108384 -sub_8108384: @ 8108384 - push {r4,r5,lr} - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _081083B8 - ldr r1, =gBattlerPartyIndexes - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - b _081083C8 - .pool -_081083B4: - adds r0, r2, 0 - b _081083FA -_081083B8: - ldr r1, =gBattlerPartyIndexes - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, =gEnemyParty -_081083C8: - adds r5, r1, r0 - adds r0, r5, 0 - movs r1, 0x3A - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - adds r0, r5, 0 - movs r1, 0x39 - bl GetMonData - lsls r0, 16 - lsrs r3, r0, 16 - lsrs r4, 18 - movs r2, 0 -_081083E6: - adds r1, r2, 0x1 - adds r0, r4, 0 - muls r0, r1 - cmp r3, r0 - blt _081083B4 - lsls r0, r1, 24 - lsrs r2, r0, 24 - cmp r2, 0x2 - bls _081083E6 - movs r0, 0x3 -_081083FA: - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8108384 - - thumb_func_start sub_8108408 -sub_8108408: @ 8108408 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - adds r7, r0, 0 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp] - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r6, r0, 24 - movs r5, 0xAC - ldrb r0, [r4] - bl GetBattlerSpriteSubpriority - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x8] - ldrh r1, [r7, 0xA] - movs r0, 0x4 - subs r0, r1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r0, 0 - bgt _08108458 - movs r1, 0x1 -_08108458: - movs r0, 0 - str r0, [sp, 0x4] - lsls r0, r1, 16 - mov r10, r8 - mov r9, r6 - mov r1, r10 - lsls r1, 4 - str r1, [sp, 0xC] - mov r1, r9 - lsls r1, 4 - str r1, [sp, 0x10] - asrs r0, 16 - mov r8, r0 -_08108472: - ldr r0, =gUnknown_08595268 - mov r1, r10 - mov r2, r9 - ldr r3, [sp, 0x8] - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - lsls r6, r5, 16 - cmp r2, 0x40 - beq _081084DA - ldr r1, =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r5, r0, r1 - mov r0, sp - ldrh r0, [r0, 0x4] - strh r0, [r5, 0x30] - mov r1, sp - ldrh r1, [r1, 0xC] - strh r1, [r5, 0x32] - mov r0, sp - ldrh r0, [r0, 0x10] - strh r0, [r5, 0x34] - asrs r4, r6, 16 - adds r0, r4, 0 - movs r1, 0x40 - bl Cos - strh r0, [r5, 0x36] - adds r0, r4, 0 - movs r1, 0x40 - bl Sin - strh r0, [r5, 0x38] - mov r1, sp - ldrh r1, [r1] - strh r1, [r5, 0x3A] - movs r0, 0x2 - strh r0, [r5, 0x3C] - ldrh r1, [r7, 0xC] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081084D4 - adds r0, r5, 0 - bl sub_810851C -_081084D4: - ldrh r0, [r7, 0xC] - adds r0, 0x1 - strh r0, [r7, 0xC] -_081084DA: - mov r1, r8 - lsls r0, r1, 1 - asrs r1, r6, 16 - adds r1, r0 - lsls r1, 16 - movs r0, 0xFF - lsls r0, 16 - ands r0, r1 - lsrs r5, r0, 16 - ldr r1, [sp, 0x4] - lsls r0, r1, 16 - asrs r0, 16 - add r0, r8 - lsls r0, 16 - lsrs r1, r0, 16 - str r1, [sp, 0x4] - asrs r0, 16 - cmp r0, 0x13 - ble _08108472 - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8108408 - - thumb_func_start sub_810851C -sub_810851C: @ 810851C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0810852E - cmp r0, 0x1 - beq _08108564 - b _081085BE -_0810852E: - movs r2, 0x30 - ldrsh r0, [r4, r2] - movs r1, 0x6 - bl __modsi3 - lsls r0, 16 - asrs r0, 16 - lsls r1, r0, 1 - adds r1, r0 - ldrh r0, [r4, 0x36] - adds r1, r0 - strh r1, [r4, 0x36] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - asrs r0, 16 - lsls r1, r0, 1 - adds r1, r0 - ldrh r2, [r4, 0x38] - adds r1, r2 - strh r1, [r4, 0x38] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] -_08108564: - ldrh r0, [r4, 0x36] - ldrh r1, [r4, 0x32] - adds r0, r1 - strh r0, [r4, 0x32] - ldrh r1, [r4, 0x38] - ldrh r2, [r4, 0x34] - adds r1, r2 - strh r1, [r4, 0x34] - lsls r0, 16 - asrs r0, 20 - strh r0, [r4, 0x20] - lsls r1, 16 - asrs r2, r1, 20 - strh r2, [r4, 0x22] - adds r0, 0x8 - lsls r0, 16 - movs r1, 0x80 - lsls r1, 17 - cmp r0, r1 - bhi _0810859A - adds r1, r2, 0 - movs r0, 0x8 - negs r0, r0 - cmp r1, r0 - blt _0810859A - cmp r1, 0x78 - ble _081085BE -_0810859A: - ldr r3, =gTasks - movs r0, 0x3C - ldrsh r1, [r4, r0] - lsls r1, 1 - movs r0, 0x3A - ldrsh r2, [r4, r0] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r3, 0x8 - adds r1, r3 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - adds r0, r4, 0 - bl DestroySprite -_081085BE: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810851C - - thumb_func_start sub_81085C8 -sub_81085C8: @ 81085C8 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r4, r1, r0 - bl sub_8108384 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0xA] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08108600 - movs r0, 0x88 - strh r0, [r4, 0x10] - movs r0, 0x28 - b _08108606 - .pool -_08108600: - movs r0, 0x10 - strh r0, [r4, 0x10] - movs r0, 0x50 -_08108606: - strh r0, [r4, 0x14] - movs r0, 0x62 - strh r0, [r4, 0x12] - ldrh r0, [r4, 0x10] - adds r0, 0x31 - strh r0, [r4, 0x16] - movs r0, 0xA - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - adds r0, 0x5 - strh r0, [r4, 0x20] - ldr r0, =sub_810862C - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81085C8 - - thumb_func_start sub_810862C -sub_810862C: @ 810862C - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r1, r0, 24 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r7, =gTasks - adds r4, r0, r7 - movs r0, 0x8 - ldrsh r2, [r4, r0] - cmp r2, 0 - beq _08108654 - cmp r2, 0x1 - beq _08108704 - b _08108712 - .pool -_08108654: - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _0810866A - strh r2, [r4, 0xC] - adds r0, r4, 0 - bl sub_810871C -_0810866A: - movs r1, 0x1C - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _081086E4 - movs r2, 0x22 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _081086E4 - ldr r5, =gBattleAnimArgs - movs r1, 0x1 - mov r8, r1 - mov r2, r8 - strh r2, [r5] - strh r0, [r5, 0x2] - movs r0, 0xC - strh r0, [r5, 0x4] - ldr r6, =sub_81152DC - adds r0, r6, 0 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - beq _081086B4 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r7 - ldr r1, [r0] - adds r0, r2, 0 - bl _call_via_r1 - ldr r1, =gAnimVisualTaskCount - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_081086B4: - movs r0, 0x3 - strh r0, [r5] - adds r0, r6, 0 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - beq _081086E0 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r7 - ldr r1, [r0] - adds r0, r2, 0 - bl _call_via_r1 - ldr r1, =gAnimVisualTaskCount - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_081086E0: - mov r0, r8 - strh r0, [r4, 0x22] -_081086E4: - movs r2, 0x1E - ldrsh r1, [r4, r2] - movs r2, 0x20 - ldrsh r0, [r4, r2] - cmp r1, r0 - blt _08108712 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _08108712 - .pool -_08108704: - movs r2, 0x1A - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _08108712 - adds r0, r1, 0 - bl DestroyAnimVisualTask -_08108712: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_810862C - - thumb_func_start sub_810871C -sub_810871C: @ 810871C - push {r4-r6,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r6, r1, 24 - ldr r1, =gSineTable - movs r2, 0x18 - ldrsh r0, [r4, r2] - lsls r0, 1 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - adds r0, 0x3 - asrs r0, 4 - ldrh r2, [r4, 0x14] - adds r0, r2 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, =gUnknown_08595268 - movs r2, 0x16 - ldrsh r1, [r4, r2] - movs r2, 0 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _08108776 - ldr r3, =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r3, 0 - adds r1, 0x1C - adds r1, r0, r1 - ldr r2, =sub_81087C0 - str r2, [r1] - adds r0, r3 - strh r5, [r0, 0x38] - strh r6, [r0, 0x3A] - movs r1, 0x9 - strh r1, [r0, 0x3C] - ldrh r0, [r4, 0x1A] - adds r0, 0x1 - strh r0, [r4, 0x1A] -_08108776: - ldrh r0, [r4, 0x1E] - adds r0, 0x1 - strh r0, [r4, 0x1E] - ldrh r0, [r4, 0x18] - adds r0, 0x27 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x18] - movs r0, 0x16 - ldrsh r1, [r4, r0] - ldr r0, =0x41c64e6d - muls r0, r1 - ldr r1, =0x00003039 - adds r0, r1 - movs r2, 0x12 - ldrsh r1, [r4, r2] - bl __modsi3 - ldrh r1, [r4, 0x10] - adds r1, r0 - strh r1, [r4, 0x16] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810871C - - thumb_func_start sub_81087C0 -sub_81087C0: @ 81087C0 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _08108856 - ldrh r0, [r5, 0x22] - adds r0, 0x8 - strh r0, [r5, 0x22] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x38 - ldrsh r1, [r5, r2] - cmp r0, r1 - blt _08108856 - ldr r2, =gTasks - movs r3, 0x3A - ldrsh r1, [r5, r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r1, 0x1 - strh r1, [r0, 0x1C] - ldr r0, =gUnknown_08597388 - movs r2, 0x20 - ldrsh r1, [r5, r2] - movs r3, 0x22 - ldrsh r2, [r5, r3] - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x30] - cmp r0, 0x40 - beq _08108850 - movs r0, 0x30 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, =gSprites - adds r0, r4 - movs r1, 0x3 - bl StartSpriteAffineAnim - movs r2, 0x30 - ldrsh r1, [r5, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r5, 0x3A] - strh r1, [r0, 0x3A] - movs r3, 0x30 - ldrsh r1, [r5, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r5, 0x3C] - strh r1, [r0, 0x3C] - movs r0, 0x30 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, 0x1C - adds r0, r4 - ldr r1, =sub_810886C - str r1, [r0] -_08108850: - adds r0, r5, 0 - bl DestroySprite -_08108856: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81087C0 - - thumb_func_start sub_810886C -sub_810886C: @ 810886C - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _081088D8 - movs r0, 0 - strh r0, [r4, 0x30] - adds r3, r4, 0 - adds r3, 0x3E - ldrb r2, [r3] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xC - bne _081088D8 - ldr r3, =gTasks - movs r0, 0x3C - ldrsh r1, [r4, r0] - lsls r1, 1 - movs r0, 0x3A - ldrsh r2, [r4, r0] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r3, 0x8 - adds r1, r3 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - adds r0, r4, 0 - bl DestroySprite -_081088D8: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810886C - - thumb_func_start sub_81088E4 -sub_81088E4: @ 81088E4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r5, r1, r0 - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - movs r6, 0 - strh r0, [r5, 0xE] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x10] - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - movs r2, 0x1 - negs r2, r2 - adds r1, r2, 0 - cmp r0, 0 - bne _08108928 - movs r1, 0x1 -_08108928: - strh r1, [r5, 0x16] - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _0810893C - movs r1, 0x16 - ldrsh r0, [r5, r1] - negs r0, r0 - strh r0, [r5, 0x16] -_0810893C: - movs r2, 0x16 - ldrsh r0, [r5, r2] - lsls r0, 3 - ldrh r1, [r5, 0xE] - adds r0, r1 - strh r0, [r5, 0x12] - movs r2, 0x16 - ldrsh r1, [r5, r2] - lsls r1, 3 - ldrh r0, [r5, 0x10] - subs r0, r1 - strh r0, [r5, 0x14] - ldr r0, =0x0000ffe0 - strh r0, [r5, 0x1A] - strh r6, [r5, 0xA] - strh r6, [r5, 0x8] - ldr r0, =sub_8108978 - str r0, [r5] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81088E4 - - thumb_func_start sub_8108978 -sub_8108978: @ 8108978 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x6 - bls _08108992 - b _08108AB2 -_08108992: - lsls r0, 2 - ldr r1, =_081089A4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081089A4: - .4byte _081089C0 - .4byte _081089D0 - .4byte _081089EA - .4byte _08108A2C - .4byte _08108A4E - .4byte _08108A7C - .4byte _08108AA2 -_081089C0: - adds r0, r4, 0 - bl sub_8108AC0 - movs r1, 0x1C - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _08108AB8 - b _08108AAA -_081089D0: - adds r0, r4, 0 - bl sub_8108AC0 - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - ble _08108AB8 - movs r0, 0 - strh r0, [r4, 0xA] - b _08108AAA -_081089EA: - adds r0, r4, 0 - bl sub_8108AC0 - movs r1, 0x16 - ldrsh r0, [r4, r1] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 1 - ldrh r0, [r4, 0x12] - adds r1, r0 - movs r2, 0 - strh r1, [r4, 0x12] - adds r1, 0x10 - lsls r1, 16 - movs r0, 0x88 - lsls r0, 17 - cmp r1, r0 - bls _08108AB8 - ldrh r0, [r4, 0x20] - adds r0, 0x1 - strh r0, [r4, 0x20] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _08108A28 - movs r0, 0x1 - strh r0, [r4, 0x22] - movs r0, 0x6 - strh r0, [r4, 0x8] - strh r2, [r4, 0xA] - b _08108AB8 -_08108A28: - strh r2, [r4, 0xA] - b _08108AAA -_08108A2C: - adds r0, r4, 0 - bl sub_8108AC0 - movs r0, 0x16 - ldrsh r1, [r4, r0] - lsls r1, 1 - ldrh r0, [r4, 0x14] - subs r0, r1 - strh r0, [r4, 0x14] - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _08108AB8 - b _08108AAA -_08108A4E: - adds r0, r4, 0 - bl sub_8108AC0 - movs r1, 0x16 - ldrsh r0, [r4, r1] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 1 - ldrh r0, [r4, 0x12] - subs r0, r1 - strh r0, [r4, 0x12] - adds r0, 0x10 - lsls r0, 16 - movs r1, 0x88 - lsls r1, 17 - cmp r0, r1 - bls _08108AB8 - ldrh r0, [r4, 0x20] - adds r0, 0x1 - strh r0, [r4, 0x20] - movs r0, 0 - strh r0, [r4, 0xA] - b _08108AAA -_08108A7C: - adds r0, r4, 0 - bl sub_8108AC0 - movs r0, 0x16 - ldrsh r1, [r4, r0] - lsls r1, 1 - ldrh r0, [r4, 0x14] - subs r0, r1 - strh r0, [r4, 0x14] - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _08108AB8 - movs r0, 0x2 - strh r0, [r4, 0x8] - b _08108AB8 -_08108AA2: - movs r1, 0x18 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08108AB8 -_08108AAA: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _08108AB8 -_08108AB2: - adds r0, r2, 0 - bl DestroyAnimVisualTask -_08108AB8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8108978 - - thumb_func_start sub_8108AC0 -sub_8108AC0: @ 8108AC0 - push {r4-r6,lr} - adds r6, r0, 0 - ldrh r0, [r6, 0xC] - adds r0, 0x1 - strh r0, [r6, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _08108B1A - movs r0, 0 - strh r0, [r6, 0xC] - ldr r0, =gUnknown_08595268 - movs r2, 0xE - ldrsh r1, [r6, r2] - movs r3, 0x10 - ldrsh r2, [r6, r3] - movs r3, 0xA - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _08108B1A - ldr r5, =gSprites - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - adds r0, r4, r5 - movs r1, 0x10 - strh r1, [r0, 0x2E] - ldrh r1, [r6, 0x12] - strh r1, [r0, 0x32] - ldrh r1, [r6, 0x14] - strh r1, [r0, 0x36] - ldrh r1, [r6, 0x1A] - strh r1, [r0, 0x38] - bl InitAnimArcTranslation - adds r5, 0x1C - adds r4, r5 - ldr r0, =sub_8108B2C - str r0, [r4] - ldrh r0, [r6, 0x18] - adds r0, 0x1 - strh r0, [r6, 0x18] -_08108B1A: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8108AC0 - - thumb_func_start sub_8108B2C -sub_8108B2C: @ 8108B2C - push {r4-r6,lr} - adds r6, r0, 0 - bl TranslateAnimArc - lsls r0, 24 - cmp r0, 0 - beq _08108B86 - ldrh r0, [r6, 0x24] - ldrh r1, [r6, 0x20] - adds r0, r1 - strh r0, [r6, 0x20] - ldrh r0, [r6, 0x26] - ldrh r1, [r6, 0x22] - adds r0, r1 - strh r0, [r6, 0x22] - movs r0, 0x6 - strh r0, [r6, 0x2E] - bl Random2 - movs r4, 0x1F - adds r1, r4, 0 - ands r1, r0 - ldr r5, =0x0000fff0 - adds r1, r5 - ldrh r0, [r6, 0x20] - adds r1, r0 - strh r1, [r6, 0x32] - bl Random2 - ands r4, r0 - adds r4, r5 - ldrh r1, [r6, 0x22] - adds r4, r1 - strh r4, [r6, 0x36] - bl Random2 - movs r1, 0x7 - ands r1, r0 - mvns r1, r1 - strh r1, [r6, 0x38] - adds r0, r6, 0 - bl InitAnimArcTranslation - ldr r0, =sub_8108B94 - str r0, [r6, 0x1C] -_08108B86: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8108B2C - - thumb_func_start sub_8108B94 -sub_8108B94: @ 8108B94 - push {r4-r6,lr} - adds r5, r0, 0 - bl TranslateAnimArc - lsls r0, 24 - cmp r0, 0 - beq _08108BD0 - movs r4, 0 - ldr r6, =gTasks -_08108BA6: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r2, r0, r6 - ldr r1, [r2] - ldr r0, =sub_8108978 - cmp r1, r0 - bne _08108BC6 - movs r0, 0x1 - strh r0, [r2, 0x1C] - ldrh r0, [r2, 0x18] - subs r0, 0x1 - strh r0, [r2, 0x18] - adds r0, r5, 0 - bl DestroySprite -_08108BC6: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0xF - bls _08108BA6 -_08108BD0: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8108B94 - - thumb_func_start sub_8108BE0 -sub_8108BE0: @ 8108BE0 - ldr r2, =gBattleAnimArgs - ldrh r1, [r2] - strh r1, [r0, 0x20] - ldrh r1, [r2, 0x2] - strh r1, [r0, 0x22] - ldrh r1, [r2, 0x4] - strh r1, [r0, 0x2E] - ldrh r1, [r2, 0x6] - strh r1, [r0, 0x30] - ldrh r1, [r2, 0x8] - strh r1, [r0, 0x32] - ldrh r1, [r2, 0xA] - strh r1, [r0, 0x34] - ldr r1, =sub_8108C08 - str r1, [r0, 0x1C] - bx lr - .pool - thumb_func_end sub_8108BE0 - - thumb_func_start sub_8108C08 -sub_8108C08: @ 8108C08 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x36] - ldrh r1, [r4, 0x2E] - subs r0, r1 - strh r0, [r4, 0x36] - movs r1, 0x36 - ldrsh r0, [r4, r1] - movs r1, 0xA - bl __divsi3 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x30] - ldrh r2, [r4, 0x38] - adds r0, r2 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x38] - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r2, 0x32 - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x34] - subs r0, 0x1 - strh r0, [r4, 0x34] - lsls r0, 16 - cmp r0, 0 - bne _08108C4C - adds r0, r4, 0 - bl DestroyAnimSprite -_08108C4C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8108C08 - - thumb_func_start sub_8108C54 -sub_8108C54: @ 8108C54 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x30] - ldrh r1, [r4, 0x34] - adds r0, r1 - strh r0, [r4, 0x34] - ldrh r1, [r4, 0x32] - ldrh r2, [r4, 0x36] - adds r1, r2 - strh r1, [r4, 0x36] - lsls r0, 16 - asrs r0, 23 - strh r0, [r4, 0x24] - lsls r1, 16 - asrs r1, 23 - strh r1, [r4, 0x26] - ldrh r0, [r4, 0x2E] - subs r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - cmp r0, 0 - bne _08108C8C - adds r0, r4, 0 - bl FreeSpriteOamMatrix - adds r0, r4, 0 - bl DestroySprite -_08108C8C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8108C54 - - thumb_func_start sub_8108C94 -sub_8108C94: @ 8108C94 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl InitAnimSpritePos - ldr r5, =gBattleAnimTarget - ldrb r0, [r5] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x30] - ldrb r0, [r5] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldr r1, =gBattleAnimArgs - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x34] - ldrh r0, [r1, 0x6] - strh r0, [r4, 0x36] - ldr r0, =sub_8108CDC - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8108C94 - - thumb_func_start sub_8108CDC -sub_8108CDC: @ 8108CDC - push {r4-r6,lr} - adds r4, r0, 0 - movs r0, 0x30 - ldrsh r1, [r4, r0] - movs r2, 0x20 - ldrsh r0, [r4, r2] - subs r6, r1, r0 - movs r0, 0x32 - ldrsh r1, [r4, r0] - movs r2, 0x22 - ldrsh r0, [r4, r2] - subs r5, r1, r0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - muls r0, r6 - movs r2, 0x34 - ldrsh r1, [r4, r2] - bl __divsi3 - strh r0, [r4, 0x24] - movs r1, 0x2E - ldrsh r0, [r4, r1] - muls r0, r5 - movs r2, 0x34 - ldrsh r1, [r4, r2] - bl __divsi3 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x36 - ldrsh r1, [r4, r2] - cmp r0, r1 - bne _08108D34 - movs r0, 0 - strh r0, [r4, 0x38] - adds r0, r4, 0 - adds r1, r6, 0 - adds r2, r5, 0 - bl sub_8108D54 -_08108D34: - movs r0, 0x34 - ldrsh r1, [r4, r0] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _08108D46 - adds r0, r4, 0 - bl DestroyAnimSprite -_08108D46: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8108CDC - - thumb_func_start sub_8108D54 -sub_8108D54: @ 8108D54 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - adds r4, r1, 0 - adds r5, r2, 0 - movs r2, 0x2E - ldrsh r1, [r0, r2] - lsrs r2, r1, 31 - adds r1, r2 - lsls r1, 15 - lsrs r1, 16 - str r1, [sp] - ldrh r1, [r0, 0x24] - ldrh r3, [r0, 0x20] - adds r1, r3 - lsls r1, 16 - lsrs r1, 16 - mov r8, r1 - ldrh r1, [r0, 0x26] - ldrh r0, [r0, 0x22] - adds r1, r0 - lsls r1, 16 - lsrs r1, 16 - mov r10, r1 - bl Random2 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - adds r0, r5, r0 - subs r0, 0x5 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - bl Random2 - negs r4, r4 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - adds r4, r0 - subs r4, 0x5 - lsls r4, 16 - lsrs r7, r4, 16 - movs r6, 0 - mov r0, r8 - lsls r0, 16 - mov r8, r0 - mov r1, r10 - lsls r1, 16 - str r1, [sp, 0xC] - ldr r2, [sp] - lsls r2, 16 - str r2, [sp, 0x10] - asrs r1, 16 - lsls r0, r7, 16 - asrs r5, r0, 16 - str r0, [sp, 0x14] - negs r3, r5 - str r3, [sp, 0x4] - asrs r0, r2, 16 - adds r1, r0 - lsls r1, 16 - mov r10, r1 -_08108DE2: - ldr r0, =gUnknown_08595310 - mov r2, r8 - asrs r1, r2, 16 - mov r3, r10 - asrs r2, r3, 16 - movs r3, 0x82 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r4, r0, r1 - movs r0, 0x14 - strh r0, [r4, 0x2E] - mov r0, r9 - strh r0, [r4, 0x30] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSpriteSubpriority - subs r0, 0x1 - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - cmp r5, 0 - bge _08108E30 - mov r1, sp - ldrh r1, [r1, 0x4] - strh r1, [r4, 0x32] - b _08108E32 - .pool -_08108E30: - strh r7, [r4, 0x32] -_08108E32: - lsls r0, r6, 16 - movs r2, 0x80 - lsls r2, 9 - adds r0, r2 - lsrs r6, r0, 16 - cmp r0, 0 - ble _08108DE2 - movs r6, 0 - ldr r3, [sp, 0xC] - asrs r1, r3, 16 - ldr r0, [sp, 0x14] - asrs r5, r0, 16 - negs r2, r5 - str r2, [sp, 0x8] - ldr r3, [sp, 0x10] - asrs r0, r3, 16 - subs r1, r0 - lsls r1, 16 - mov r10, r1 -_08108E58: - ldr r0, =gUnknown_08595310 - mov r2, r8 - asrs r1, r2, 16 - mov r3, r10 - asrs r2, r3, 16 - movs r3, 0x82 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r4, r0, r1 - movs r0, 0x14 - strh r0, [r4, 0x2E] - mov r0, r9 - strh r0, [r4, 0x30] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSpriteSubpriority - subs r0, 0x1 - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - cmp r5, 0 - ble _08108EA8 - mov r1, sp - ldrh r1, [r1, 0x8] - strh r1, [r4, 0x32] - b _08108EAA - .pool -_08108EA8: - strh r7, [r4, 0x32] -_08108EAA: - lsls r0, r6, 16 - movs r2, 0x80 - lsls r2, 9 - adds r0, r2 - lsrs r6, r0, 16 - cmp r0, 0 - ble _08108E58 - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8108D54 - - .align 2, 0 diff --git a/data/battle_anim_815A0D4.s b/data/battle_anim_815A0D4.s deleted file mode 100644 index 208436f4c..000000000 --- a/data/battle_anim_815A0D4.s +++ /dev/null @@ -1,510 +0,0 @@ -#include "constants/battle_anim.h" - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 -gUnknown_085CE004:: @ 85CE004 - .2byte 0x0000, 0x0004, 0x0010, 0x0004 - .2byte 0x0020, 0x0004, 0x0030, 0x0004 - .2byte 0x0040, 0x0004, 0xffff, 0x0000 - - .align 2 -gUnknown_085CE01C:: @ 85CE01C - .4byte gUnknown_085CE004 - - .align 2 -gUnknown_085CE020:: @ 85CE020 - spr_template ANIM_TAG_SCRATCH, ANIM_TAG_SCRATCH, gUnknown_08524A34, gUnknown_085CE01C, NULL, gDummySpriteAffineAnimTable, sub_80A77C8 - - .align 2 -gUnknown_085CE038:: @ 85CE038 - spr_template ANIM_TAG_BLACK_SMOKE, ANIM_TAG_BLACK_SMOKE, gUnknown_08524934, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815A0D4 - - .align 2 -gUnknown_085CE050:: @ 85CE050 - spr_template ANIM_TAG_BLACK_BALL, ANIM_TAG_BLACK_BALL, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A78AC - - .align 2 -gUnknown_085CE068:: @ 85CE068 - .2byte 0x0000, 0x0028, 0x0010, 0x0008 - .2byte 0x0020, 0x0028, 0xffff, 0x0000 - - .align 2 -gUnknown_085CE078:: @ 85CE078 - .4byte gUnknown_085CE068 - - .align 2 -gUnknown_085CE07C:: @ 85CE07C - spr_template ANIM_TAG_OPENING_EYE, ANIM_TAG_OPENING_EYE, gUnknown_08524914, gUnknown_085CE078, NULL, gDummySpriteAffineAnimTable, sub_80A77C8 - - .align 2 -gUnknown_085CE094:: - spr_template ANIM_TAG_ROUND_WHITE_HALO, ANIM_TAG_ROUND_WHITE_HALO, gUnknown_08524A3C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815A1B0 - - .align 2 -gUnknown_085CE0AC:: - spr_template ANIM_TAG_TEAL_ALERT, ANIM_TAG_TEAL_ALERT, gUnknown_08524974, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815A254 - - .align 2 -gUnknown_085CE0C4:: @ 85CE0C4 - .2byte 0x0180, 0x0180, 0x0000, 0x0000 - .2byte 0xffe0, 0x0018, 0x0500, 0x0000 - .2byte 0x0018, 0xffe0, 0x0500, 0x0000 - .2byte 0x7ffe, 0x0001, 0x0000, 0x0000 - - .align 2 -gUnknown_085CE0E4:: @ 85CE0E4 - .2byte 0x0030, 0x0030, 0x0000, 0x0000 - .2byte 0x0020, 0x0020, 0x0600, 0x0000 - .2byte 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085CE0FC:: @ 85CE0FC - .4byte gUnknown_085CE0C4 - .4byte gUnknown_085CE0E4 - - .align 2 -gUnknown_085CE104:: @ 85CE104 - spr_template ANIM_TAG_EYE, ANIM_TAG_EYE, gUnknown_08524AFC, gDummySpriteAnimTable, NULL, gUnknown_085CE0FC, sub_815A2F0 - - .align 2 -gUnknown_085CE11C:: @ 85CE11C - spr_template ANIM_TAG_SPIKES, ANIM_TAG_SPIKES, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815A6C4 - - .align 2 -gUnknown_085CE134:: @ 85CE134 - .2byte 0x0000, 0x0003, 0x0010, 0x0003 - .2byte 0x0020, 0x0003, 0x0030, 0x0003 - .2byte 0x0040, 0x0003, 0xffff, 0x0000 - - .align 2 -gUnknown_085CE14C:: @ 85CE14C - .4byte gUnknown_085CE134 - - .align 2 -gUnknown_085CE150:: @ 85CE150 - spr_template ANIM_TAG_LEER, ANIM_TAG_LEER, gUnknown_08524914, gUnknown_085CE14C, NULL, gDummySpriteAffineAnimTable, sub_815A7B0 - - .align 2 -gUnknown_085CE168:: @ 85CE168 - .2byte 0x0000, 0x0003, 0xffff, 0x0000 - - .align 2 -gUnknown_085CE170:: @ 85CE170 - .4byte gUnknown_085CE168 - - .align 2 -gUnknown_085CE174:: @ 85CE174 - .2byte 0xfff9, 0xfff9, 0x10fd, 0x0000 - .2byte 0x0007, 0x0007, 0x1003, 0x0000 - .2byte 0x7ffe, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085CE18C:: @ 85CE18C - .4byte gUnknown_085CE174 - - .align 2 -gUnknown_085CE190:: @ 85CE190 - spr_template ANIM_TAG_LETTER_Z, ANIM_TAG_LETTER_Z, gUnknown_08524974, gUnknown_085CE170, NULL, gUnknown_085CE18C, sub_815A7EC - - .align 2 -gUnknown_085CE1A8:: @ 85CE1A8 - .2byte 0x0000, 0x0008, 0x0010, 0x0010, 0x0020, 0x0004, 0x0030, 0x0004, 0xffff, 0x0000 - - .align 2 -gUnknown_085CE1BC:: @ 85CE1BC - .4byte gUnknown_085CE1A8 - - .align 2 -gUnknown_085CE1C0:: @ 85CE1C0 - .2byte 0x0200, 0x0200, 0x0000, 0x0000 - .2byte 0xffe0, 0xffe0, 0x0800, 0x0000 - .2byte 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085CE1D8:: @ 85CE1D8 - .4byte gUnknown_085CE1C0 - - .align 2 -gUnknown_085CE1DC:: @ 85CE1DC - spr_template ANIM_TAG_FANG_ATTACK, ANIM_TAG_FANG_ATTACK, gUnknown_085249D4, gUnknown_085CE1BC, NULL, gUnknown_085CE1D8, sub_815A8AC - - .align 2 -gUnknown_085CE1F4:: @ 85CE1F4 - .2byte 0x0000, 0x0180, 0x0000, 0x0000 - .2byte 0x0010, 0x0000, 0x1400, 0x0000 - .2byte 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085CE20C:: @ 85CE20C - .2byte 0x0140, 0x0180, 0x0000, 0x0000 - .2byte 0xfff0, 0x0000, 0x1300, 0x0000 - .2byte 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085CE224:: @ 85CE224 - .4byte gUnknown_085CE1F4 - .4byte gUnknown_085CE20C - - .align 2 -gUnknown_085CE22C:: @ 85CE22C - spr_template ANIM_TAG_SPOTLIGHT, ANIM_TAG_SPOTLIGHT, gUnknown_085249DC, gDummySpriteAnimTable, NULL, gUnknown_085CE224, sub_815A934 - - .align 2 -gUnknown_085CE244:: - spr_template ANIM_TAG_TAG_HAND, ANIM_TAG_TAG_HAND, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815AAA4 - - .align 2 -gUnknown_085CE25C:: - spr_template ANIM_TAG_TAG_HAND, ANIM_TAG_TAG_HAND, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815ABD0 - - .align 2 -gUnknown_085CE274:: @ 85CE274 - .2byte 0x0000, 0x0002, 0x0008, 0x0002 - .2byte 0x0010, 0x0002, 0xfffe, 0x0000 - - .align 2 -gUnknown_085CE284:: @ 85CE284 - .4byte gUnknown_085CE274 - - .align 2 -gUnknown_085CE288:: @ 85CE288 - spr_template ANIM_TAG_RAPID_SPIN, ANIM_TAG_RAPID_SPIN, gUnknown_08524934, gUnknown_085CE284, NULL, gDummySpriteAffineAnimTable, sub_815ACD0 - - .align 2 -gUnknown_085CE2A0:: @ 85CE2A0 - .2byte 0xfff4, 0x0008, 0x0400, 0x0000, 0x0014, 0xffec, 0x0400, 0x0000, 0xfff8, 0x000c, 0x0400, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085CE2C0:: @ 85CE2C0 - .2byte 0x0000, 0x0008, 0xffff, 0x0000 - - .align 2 -gUnknown_085CE2C8:: @ 85CE2C8 - .4byte gUnknown_085CE2C0 - - .align 2 -gUnknown_085CE2CC:: @ 85CE2CC - .2byte 0x0000, 0x0000, 0x2805, 0x0000, 0x0000, 0x0000, 0x0a0a, 0x0000, 0x0000, 0x0000, 0x0a0f, 0x0000, 0x0000, 0x0000, 0x2814, 0x0000 - .2byte 0x7ffe, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085CE2F4:: @ 85CE2F4 - .4byte gUnknown_085CE2CC - - .align 2 -gUnknown_085CE2F8:: @ 85CE2F8 - spr_template ANIM_TAG_TRI_FORCE_TRIANGLE, ANIM_TAG_TRI_FORCE_TRIANGLE, gUnknown_085249DC, gUnknown_085CE2C8, NULL, gUnknown_085CE2F4, sub_815B27C - - .align 2 -gUnknown_085CE310:: @ 85CE310 - .2byte 0x0000, 0x0003, 0x0010, 0x0003, 0x0020, 0x0003, 0x0030, 0x0003, 0x0020, 0x0043, 0x0010, 0x0043, 0x0000, 0x0043, 0xfffd, 0x0001 - .2byte 0xffff, 0x0000 - - .align 2 -gUnknown_085CE334:: @ 85CE334 - .4byte gUnknown_085CE310 - - .align 2 -gUnknown_085CE338:: @ 85CE338 - spr_template ANIM_TAG_ECLIPSING_ORB, ANIM_TAG_ECLIPSING_ORB, gUnknown_08524914, gUnknown_085CE334, NULL, gDummySpriteAffineAnimTable, sub_80A77C8 - - .align 2 -gUnknown_085CE350:: @ 85CE350 - .2byte 0xfff4, 0x0014, 0x0800, 0x0000, 0x000c, 0xffec, 0x0800, 0x0000, 0x7ffd, 0x0002, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085CE370:: @ 85CE370 - spr_template ANIM_TAG_POKEBALL, ANIM_TAG_POKEBALL, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815B394 - - .align 2 -gUnknown_085CE388:: @ 85CE388 - spr_template ANIM_TAG_GOLD_STARS, ANIM_TAG_GOLD_STARS, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815B49C - - .align 2 -gUnknown_085CE3A0:: @ 85CE3A0 - spr_template ANIM_TAG_GOLD_STARS, ANIM_TAG_GOLD_STARS, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815B570 - - .align 2 -gUnknown_085CE3B8:: @ 85CE3B8 - .2byte 0x0008, 0xfff8, 0x0c00, 0x0000, 0xfff0, 0x0010, 0x0c00, 0x0000, 0x0008, 0xfff8, 0x0c00, 0x0000, 0x7ffd, 0x0001, 0x0000, 0x0000 - .2byte 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085CE3E0:: @ 85CE3E0 - .2byte 0x0000, 0x0006, 0x1400, 0x0000, 0x0000, 0x0000, 0x1400, 0x0000, 0x0000, 0xffee, 0x0600, 0x0000, 0xffee, 0xffee, 0x0300, 0x0000 - .2byte 0x0000, 0x0000, 0x0f00, 0x0000, 0x0004, 0x0004, 0x0d00, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085CE418:: @ 85CE418 - spr_template ANIM_TAG_BLUE_ORB, ANIM_TAG_BLUE_ORB, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815B70C - - .align 2 -gUnknown_085CE430:: @ 85CE430 - .2byte 0x0000, 0x0006, 0x1400, 0x0000, 0x0000, 0x0000, 0x1400, 0x0000, 0x0007, 0xffe2, 0x0600, 0x0000, 0x0000, 0x0000, 0x1400, 0x0000 - .2byte 0xfffe, 0x0003, 0x1400, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085CE460:: @ 85CE460 - .byte 0xe8, 0x18, 0xfc, 0x00 - - .align 2 -gUnknown_085CE464:: @ 85CE464 - .2byte 0x0000, 0x0006, 0x0004, 0x0006, 0xfffe, 0x0000 - - .align 2 -gUnknown_085CE470:: @ 85CE470 - .2byte 0x0008, 0x0006, 0xffff, 0x0000 - - .align 2 -gUnknown_085CE478:: @ 85CE478 - .2byte 0x000c, 0x0006, 0xffff, 0x0000 - - .align 2 -gUnknown_085CE480:: @ 85CE480 - .4byte gUnknown_085CE464 - .4byte gUnknown_085CE470 - .4byte gUnknown_085CE478 - - .align 2 -gUnknown_085CE48C:: @ 85CE48C - spr_template ANIM_TAG_GREEN_STAR, ANIM_TAG_GREEN_STAR, gUnknown_0852490C, gUnknown_085CE480, NULL, gDummySpriteAffineAnimTable, sub_815BE04 - - .align 2 -gUnknown_085CE4A4:: @ 85CE4A4 - .byte 0x78, 0x50, 0x28, 0x00 - - .align 2 -gUnknown_085CE4A8:: @ 85CE4A8 - .2byte 0x0000, 0x0000, 0x0032, 0x0000 - - .align 2 -gUnknown_085CE4B0:: @ 85CE4B0 - .2byte 0x0000, 0xfff1, 0x0700, 0x0000, 0x0000, 0x000f, 0x0700, 0x0000, 0x7ffd, 0x0002, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085CE4D0:: @ 85CE4D0 - spr_template ANIM_TAG_ANGER, ANIM_TAG_ANGER, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815C400 - - .align 2 -gUnknown_085CE4E8:: @ 85CE4E8 - .2byte 0x0000, 0x0008, 0x0001, 0x0008, 0x0002, 0x0008, 0x0003, 0x0008, 0x0003, 0x0088, 0x0002, 0x0088, 0x0000, 0x0088, 0x0001, 0x0088 - .2byte 0xfffe, 0x0000 - - .align 2 -gUnknown_085CE50C:: @ 85CE50C - .2byte 0x0000, 0x0048, 0x0001, 0x0048, 0x0002, 0x0048, 0x0003, 0x0048, 0x0003, 0x00c8, 0x0002, 0x00c8, 0x0000, 0x00c8, 0x0001, 0x00c8 - .2byte 0xfffe, 0x0000 - - .align 2 -gUnknown_085CE530:: @ 85CE530 - .2byte 0x0000, 0x0008, 0xffff, 0x0000 - - .align 2 -gUnknown_085CE538:: @ 85CE538 - .4byte gUnknown_085CE4E8 - .4byte gUnknown_085CE50C - .4byte gUnknown_085CE530 - - .align 2 -gUnknown_085CE544:: @ 85CE544 - spr_template ANIM_TAG_PINK_PETAL, ANIM_TAG_PINK_PETAL, gUnknown_08524904, gUnknown_085CE538, NULL, gDummySpriteAffineAnimTable, sub_815C6B0 - - .align 2 -gUnknown_085CE55C:: @ 85CE55C - .byte 0x0c, 0x18, 0x10, 0x16, 0x13, 0x13, 0x15, 0x10, 0x17, 0x0c, 0x16, 0x07, 0x13, 0x04, 0x10, 0x01, 0x0b, 0x00, 0x06, 0x01, 0x04, 0x04, 0x01, 0x07, 0x00, 0x0c, 0x02, 0x11, 0x04, 0x13, 0x08, 0x16 - - .align 2 -gUnknown_085CE57C:: @ 85CE57C - .2byte 0x0000, 0x0005, 0x0004, 0x0009, 0x0008, 0x0005, 0xffff, 0x0000 - - .align 2 -gUnknown_085CE58C:: @ 85CE58C - .4byte gUnknown_085CE57C - - .align 2 -gUnknown_085CE590:: @ 85CE590 - spr_template ANIM_TAG_PAIN_SPLIT, ANIM_TAG_PAIN_SPLIT, gUnknown_0852490C, gUnknown_085CE58C, NULL, gDummySpriteAffineAnimTable, sub_815C95C -gUnknown_085CE5A8:: - spr_template ANIM_TAG_CONFETTI, ANIM_TAG_CONFETTI, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815CB88 -gUnknown_085CE5C0:: - spr_template ANIM_TAG_SPOTLIGHT, ANIM_TAG_SPOTLIGHT, gUnknown_085249DC, gDummySpriteAnimTable, NULL, gUnknown_085CE224, sub_815CC94 -gBattleAnimSpriteTemplate_85CE5D8:: - spr_template ANIM_TAG_BLUE_ORB, ANIM_TAG_BLUE_ORB, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815CDB4 - - .align 2 -gUnknown_085CE5F0:: @ 85CE5F0 - .2byte 0x0010, 0x0000, 0x0400, 0x0000, 0x0000, 0xfffd, 0x1000, 0x0000, 0x0004, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x1800, 0x0000 - .2byte 0xfffb, 0x0003, 0x1000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085CE620:: @ 85CE620 - .2byte 0x0080, 0x0080, 0x0000, 0x0000, 0xfff8, 0xfff8, 0x0800, 0x0000, 0x0008, 0x0008, 0x0800, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085CE640:: @ 85CE640 - .2byte 0x00c0, 0x00c0, 0x0000, 0x0000, 0x0008, 0x0008, 0x0800, 0x0000, 0xfff8, 0xfff8, 0x0800, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085CE660:: @ 85CE660 - .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x0008, 0x0008, 0x0800, 0x0000, 0xfff8, 0xfff8, 0x0800, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085CE680:: @ 85CE680 - .4byte gUnknown_085CE620 - .4byte gUnknown_085CE640 - .4byte gUnknown_085CE660 - - .align 2 -gUnknown_085CE68C:: @ 85CE68C - spr_template ANIM_TAG_PINK_CLOUD, ANIM_TAG_PINK_CLOUD, gUnknown_08524974, gDummySpriteAnimTable, NULL, gUnknown_085CE680, sub_815D7B4 - - .align 2 -gUnknown_085CE6A4:: @ 85CE6A4 - .2byte 0x0080, 0x0080, 0x0000, 0x0000, 0xfffc, 0xfffa, 0x1000, 0x0000, 0x0004, 0x0006, 0x1000, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085CE6C4:: @ 85CE6C4 - .2byte 0x00c0, 0x00c0, 0x0000, 0x0000, 0x0004, 0x0006, 0x1000, 0x0000, 0xfffc, 0xfffa, 0x1000, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085CE6E4:: @ 85CE6E4 - .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x0004, 0x0006, 0x1000, 0x0000, 0xfffc, 0xfffa, 0x1000, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085CE704:: @ 85CE704 - .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x0008, 0x000a, 0x1e00, 0x0000, 0xfff8, 0xfff6, 0x1000, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085CE724:: @ 85CE724 - .4byte gUnknown_085CE6A4 - .4byte gUnknown_085CE6C4 - .4byte gUnknown_085CE6E4 - .4byte gUnknown_085CE704 - - .align 2 -gUnknown_085CE734:: @ 85CE734 - spr_template ANIM_TAG_PINK_CLOUD, ANIM_TAG_PINK_CLOUD, gUnknown_085249D4, gDummySpriteAnimTable, NULL, gUnknown_085CE724, sub_815D870 - - .align 2 -gUnknown_085CE74C:: @ 85CE74C - .2byte 0xfff0, 0x0010, 0x0600, 0x0000, 0x0010, 0xfff0, 0x0c00, 0x0000, 0xfff0, 0x0010, 0x0600, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085CE76C:: @ 85CE76C - spr_template ANIM_TAG_SWEAT_DROP, ANIM_TAG_SWEAT_DROP, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815DEBC - - .align 2 -gUnknown_085CE784:: @ 85CE784 - .byte 0x3c, 0x07, 0xbc, 0x16, 0x5b, 0x22, 0xdb, 0x2d, 0x5a, 0x3d, 0xfa, 0x48, 0x79, 0x54, 0x19, 0x64, 0x19, 0x5c, 0x19, 0x50, 0x19, 0x40, 0x19, 0x34, 0x1a, 0x28, 0x1a, 0x18, 0x1a, 0x0c, 0x1b, 0x00 - .byte 0x3b, 0x00, 0xbb, 0x00, 0x3b, 0x01, 0x9b, 0x01, 0x1c, 0x02, 0x7c, 0x02, 0xfc, 0x02, 0x7d, 0x03 - - .align 2 -gUnknown_085CE7B4:: @ 85CE7B4 - .2byte 0x0000, 0x0003, 0x0010, 0x0003, 0xfffe, 0x0000 - - .align 2 -gUnknown_085CE7C0:: @ 85CE7C0 - .2byte 0x0020, 0x0003, 0x0030, 0x0003, 0xfffe, 0x0000 - - .align 2 -gUnknown_085CE7CC:: @ 85CE7CC - .4byte gUnknown_085CE7B4 - .4byte gUnknown_085CE7C0 - - .align 2 -gUnknown_085CE7D4:: @ 85CE7D4 - spr_template ANIM_TAG_NOISE_LINE, ANIM_TAG_NOISE_LINE, gUnknown_08524914, gUnknown_085CE7CC, NULL, gDummySpriteAffineAnimTable, sub_815E01C - - .align 2 -gUnknown_085CE7EC:: @ 85CE7EC - spr_template ANIM_TAG_SMALL_RED_EYE, ANIM_TAG_SMALL_RED_EYE, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815E404 -gUnknown_085CE804:: - spr_template ANIM_TAG_PAW_PRINT, ANIM_TAG_PAW_PRINT, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815E444 - - .align 2 -gUnknown_085CE81C:: @ 85CE81C - .2byte 0x0000, 0x0000, 0x18fc, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085CE82C:: @ 85CE82C - .2byte 0x0100, 0x0100, 0x00c0, 0x0000, 0x0000, 0x0000, 0x1804, 0x0000 - .2byte 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085CE844:: @ 85CE844 - .4byte gUnknown_085CE81C - .4byte gUnknown_085CE82C - - .align 2 -gUnknown_085CE84C:: @ 85CE84C - spr_template ANIM_TAG_RED_BALL, ANIM_TAG_RED_BALL, gUnknown_08524974, gDummySpriteAnimTable, NULL, gUnknown_085CE844, SpriteCallbackDummy - - .align 2 -gUnknown_085CE864:: - spr_template ANIM_TAG_TAG_HAND, ANIM_TAG_TAG_HAND, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815E6D8 - - .align 2 -gUnknown_085CE87C:: @ 85CE87C - .2byte 0x0000, 0xfff0, 0x0600, 0x0000, 0x0000, 0x0010, 0x0600, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085CE894:: @ 85CE894 - spr_template ANIM_TAG_SMELLINGSALT_EFFECT, ANIM_TAG_SMELLINGSALT_EFFECT, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815E954 -gUnknown_085CE8AC:: - spr_template ANIM_TAG_TAG_HAND, ANIM_TAG_TAG_HAND, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815EA14 -gUnknown_085CE8C4:: - spr_template ANIM_TAG_MAGNIFYING_GLASS, ANIM_TAG_MAGNIFYING_GLASS, gUnknown_08524A34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815EE84 -gUnknown_085CE8DC:: - spr_template ANIM_TAG_GOLD_STARS, ANIM_TAG_GOLD_STARS, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815F18C -gUnknown_085CE8F4:: - spr_template ANIM_TAG_GOLD_STARS, ANIM_TAG_GOLD_STARS, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81061C4 -gUnknown_085CE90C:: - spr_template ANIM_TAG_X_SIGN, ANIM_TAG_X_SIGN, gUnknown_0852491C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815F48C -gUnknown_085CE924:: - spr_template ANIM_TAG_ITEM_BAG, ANIM_TAG_ITEM_BAG, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815FE80 - - .align 2 -gUnknown_085CE93C:: @ 85CE93C - .2byte 0x0000, 0x0004, 0x0040, 0x0004, 0xffff, 0x0000 - - .align 2 -gUnknown_085CE948:: @ 85CE948 - .4byte gUnknown_085CE93C - - .align 2 -gUnknown_085CE94C:: @ 85CE94C - .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x08fc, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085CE964:: @ 85CE964 - .2byte 0xff00, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0804, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085CE97C:: @ 85CE97C - .4byte gUnknown_085CE94C - .4byte gUnknown_085CE964 - - .align 2 -gUnknown_085CE984:: @ 85CE984 - spr_template ANIM_TAG_SLAM_HIT_2, ANIM_TAG_SLAM_HIT_2, gUnknown_0852497C, gUnknown_085CE948, NULL, gUnknown_085CE97C, sub_8160338 - - .align 2 -gUnknown_085CE99C:: @ 85CE99C - .2byte 0x0000, 0x0000, 0x40fc, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085CE9AC:: @ 85CE9AC - .4byte gUnknown_085CE99C - - .align 2 -gUnknown_085CE9B0:: @ 85CE9B0 - spr_template ANIM_TAG_RECYCLE, ANIM_TAG_RECYCLE, gUnknown_08524A9C, gDummySpriteAnimTable, NULL, gUnknown_085CE9AC, sub_81603A8 - - .align 2 -gUnknown_085CE9C8:: @ 85CE9C8 - .2byte 0x0000, 0x0010, 0x0400, 0x0000, 0xfffe, 0x0000, 0x0800, 0x0000, 0x0000, 0x0004, 0x0400, 0x0000, 0x0000, 0x0000, 0x1800, 0x0000 - .2byte 0x0001, 0xfffb, 0x1000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - diff --git a/data/event_scripts.s b/data/event_scripts.s index 5bd8825ad..c38b69d8b 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -1,5 +1,6 @@ #include "constants/battle_frontier.h" #include "constants/battle_setup.h" +#include "constants/event_objects.h" #include "constants/field_effects.h" #include "constants/flags.h" #include "constants/items.h" @@ -847,9 +848,9 @@ VerdanturfTown_BattleTentLobby_EventScript_27134F:: @ 827134F EventScript_271354:: @ 8271354 cmdD8 cmdD9 - + .include "data/scripts/trainer_battle.inc" - + Std_MsgboxAutoclose:: @ 8271494 message 0x0 waitmessage @@ -2234,11 +2235,11 @@ RusturfTunnel_EventScript_272216:: @ 8272216 EventScript_27222B:: @ 827222B delay 30 - applymovement 255, PetalburgCity_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_2725A6 waitmovement 0 showobjectat 255, MAP_PETALBURG_CITY delay 30 - applymovement 255, Movement_27224E + applymovement EVENT_OBJ_ID_PLAYER, Movement_27224E waitmovement 0 delay 30 return @@ -2454,7 +2455,7 @@ EverGrandeCity_DrakesRoom_EventScript_2723F8:: @ 82723F8 EverGrandeCity_GlaciasRoom_EventScript_2723F8:: @ 82723F8 EverGrandeCity_PhoebesRoom_EventScript_2723F8:: @ 82723F8 EverGrandeCity_SidneysRoom_EventScript_2723F8:: @ 82723F8 - applymovement 255, EverGrandeCity_SidneysRoom_Movement_2725C6 + applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_SidneysRoom_Movement_2725C6 waitmovement 0 playse SE_DOOR setmetatile 6, 1, 836, 0 @@ -2476,7 +2477,7 @@ EverGrandeCity_DrakesRoom_EventScript_272475:: @ 8272475 EverGrandeCity_GlaciasRoom_EventScript_272475:: @ 8272475 EverGrandeCity_PhoebesRoom_EventScript_272475:: @ 8272475 EverGrandeCity_SidneysRoom_EventScript_272475:: @ 8272475 - applymovement 255, EverGrandeCity_SidneysRoom_Movement_2725BA + applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_SidneysRoom_Movement_2725BA waitmovement 0 playse SE_TRACK_DOOR setmetatile 5, 12, 518, 1 @@ -4245,7 +4246,7 @@ gUnknown_0827EE07:: @ 27EE07 gUnknown_0827EE09:: @ 27EE09 .string "8$" - + .include "data/scripts/tv.inc" .include "data/text/tv.inc" @@ -4778,7 +4779,7 @@ MtPyre_2F_MapScript1_2A8331: @ 82A8331 EventScript_FallDownHole:: @ 82A8337 lockall delay 20 - applymovement 255, GraniteCave_B1F_Movement_2A8369 + applymovement EVENT_OBJ_ID_PLAYER, GraniteCave_B1F_Movement_2A8369 waitmovement 0 playse SE_RU_HYUU delay 60 @@ -4789,7 +4790,7 @@ EventScript_FallDownHole:: @ 82A8337 gUnknown_082A8350:: @ 82A8350 lockall delay 20 - applymovement 255, GraniteCave_B1F_Movement_2A8369 + applymovement EVENT_OBJ_ID_PLAYER, GraniteCave_B1F_Movement_2A8369 waitmovement 0 playse SE_RU_HYUU delay 60 @@ -9079,7 +9080,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F6F:: @ 82C3F6F end BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030:: @ 82C4030 - applymovement 255, BattleFrontier_BattlePikeThreePathRoom_Movement_2C427A + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeThreePathRoom_Movement_2C427A waitmovement 0 call BattleFrontier_BattlePikeThreePathRoom_EventScript_25BB49 warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM1, 255, 4, 7 @@ -9087,7 +9088,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030:: @ 82C4030 end BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4049:: @ 82C4049 - applymovement 255, BattleFrontier_BattlePikeThreePathRoom_Movement_2C427A + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeThreePathRoom_Movement_2C427A waitmovement 0 call BattleFrontier_BattlePikeThreePathRoom_EventScript_25BB49 warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM3, 255, 4, 19 @@ -9168,7 +9169,7 @@ BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4136:: @ 82C4136 BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4144:: @ 82C4144 BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4144:: @ 82C4144 - applymovement 255, BattleFrontier_BattlePikeRandomRoom1_Movement_2C427A + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRandomRoom1_Movement_2C427A waitmovement 0 call BattleFrontier_BattlePikeRandomRoom1_EventScript_25BB49 warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM2, 255, 2, 7 @@ -9176,7 +9177,7 @@ BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4144:: @ 82C4144 BattleFrontier_BattlePikeRandomRoom1_EventScript_2C415C:: @ 82C415C BattleFrontier_BattlePikeRandomRoom3_EventScript_2C415C:: @ 82C415C - applymovement 255, BattleFrontier_BattlePikeRandomRoom1_Movement_2C427A + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRandomRoom1_Movement_2C427A waitmovement 0 call BattleFrontier_BattlePikeRandomRoom1_EventScript_25BB49 warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM, 255, 6, 10 diff --git a/data/maps/BattleFrontier_BattleArenaBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleArenaBattleRoom/scripts.inc index 75ac9a4ec..660e13947 100644 --- a/data/maps/BattleFrontier_BattleArenaBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleArenaBattleRoom/scripts.inc @@ -536,7 +536,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_257C16:: @ 8257C16 hideobjectat 8, MAP_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM removeobject 7 call BattleFrontier_BattleArenaBattleRoom_EventScript_24BCDC - applymovement 255, BattleFrontier_BattleArenaBattleRoom_Movement_24C773 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaBattleRoom_Movement_24C773 setvar VAR_TEMP_1, 1 end diff --git a/data/maps/BattleFrontier_BattleArenaCorridor/scripts.inc b/data/maps/BattleFrontier_BattleArenaCorridor/scripts.inc index 5ffb5de3d..f83f6f339 100644 --- a/data/maps/BattleFrontier_BattleArenaCorridor/scripts.inc +++ b/data/maps/BattleFrontier_BattleArenaCorridor/scripts.inc @@ -10,14 +10,14 @@ BattleFrontier_BattleArenaCorridor_EventScript_2573C9:: @ 82573C9 delay 16 setvar VAR_TEMP_0, 1 applymovement 1, BattleFrontier_BattleArenaCorridor_Movement_25742F - applymovement 255, BattleFrontier_BattleArenaCorridor_Movement_257417 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaCorridor_Movement_257417 waitmovement 0 applymovement 1, BattleFrontier_BattleArenaCorridor_Movement_257444 waitmovement 0 msgbox BattleFrontier_BattleArenaCorridor_Text_257449, MSGBOX_SIGN applymovement 1, BattleFrontier_BattleArenaCorridor_Movement_257446 waitmovement 0 - applymovement 255, BattleFrontier_BattleArenaCorridor_Movement_25742C + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaCorridor_Movement_25742C waitmovement 0 setvar VAR_0x8006, 0 warp MAP_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM, 255, 7, 5 diff --git a/data/maps/BattleFrontier_BattleArenaLobby/scripts.inc b/data/maps/BattleFrontier_BattleArenaLobby/scripts.inc index 36f864c14..79044d471 100644 --- a/data/maps/BattleFrontier_BattleArenaLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattleArenaLobby/scripts.inc @@ -259,12 +259,12 @@ BattleFrontier_BattleArenaLobby_EventScript_256003:: @ 8256003 BattleFrontier_BattleArenaLobby_EventScript_256005:: @ 8256005 applymovement 1, BattleFrontier_BattleArenaLobby_Movement_256034 - applymovement 255, BattleFrontier_BattleArenaLobby_Movement_256041 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaLobby_Movement_256041 waitmovement 0 opendoor 2, 2 waitdooranim applymovement 1, BattleFrontier_BattleArenaLobby_Movement_25603E - applymovement 255, BattleFrontier_BattleArenaLobby_Movement_25604C + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaLobby_Movement_25604C waitmovement 0 closedoor 2, 2 waitdooranim @@ -308,12 +308,12 @@ BattleFrontier_BattleArenaLobby_Movement_25604C: @ 825604C BattleFrontier_BattleArenaLobby_EventScript_256050:: @ 8256050 applymovement 1, BattleFrontier_BattleArenaLobby_Movement_25607F - applymovement 255, BattleFrontier_BattleArenaLobby_Movement_256088 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaLobby_Movement_256088 waitmovement 0 opendoor 11, 2 waitdooranim applymovement 1, BattleFrontier_BattleArenaLobby_Movement_25603E - applymovement 255, BattleFrontier_BattleArenaLobby_Movement_25604C + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaLobby_Movement_25604C waitmovement 0 closedoor 11, 2 waitdooranim diff --git a/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc index 2d147e426..9b4c045d8 100644 --- a/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc @@ -551,7 +551,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C48B:: @ 824C48B call BattleFrontier_BattleDomeBattleRoom_EventScript_24C502 call BattleFrontier_BattleDomeBattleRoom_EventScript_24BCDC setvar VAR_TEMP_1, 1 - applymovement 255, BattleFrontier_BattleDomeBattleRoom_Movement_24C773 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeBattleRoom_Movement_24C773 setvar VAR_0x8004, 1 setvar VAR_0x8005, 2 special CallFrontierUtilFunc diff --git a/data/maps/BattleFrontier_BattleDomeCorridor/scripts.inc b/data/maps/BattleFrontier_BattleDomeCorridor/scripts.inc index a4c0dafc4..f69e7b633 100644 --- a/data/maps/BattleFrontier_BattleDomeCorridor/scripts.inc +++ b/data/maps/BattleFrontier_BattleDomeCorridor/scripts.inc @@ -15,12 +15,12 @@ BattleFrontier_BattleDomeCorridor_EventScript_24B10E:: @ 824B10E compare VAR_RESULT, 1 goto_eq BattleFrontier_BattleDomeCorridor_EventScript_24B161 applymovement 1, BattleFrontier_BattleDomeCorridor_Movement_24B1B2 - applymovement 255, BattleFrontier_BattleDomeCorridor_Movement_24B1A1 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeCorridor_Movement_24B1A1 waitmovement 0 opendoor 13, 3 waitdooranim applymovement 1, BattleFrontier_BattleDomeCorridor_Movement_24B1BE - applymovement 255, BattleFrontier_BattleDomeCorridor_Movement_24B1AE + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeCorridor_Movement_24B1AE waitmovement 0 closedoor 13, 3 waitdooranim @@ -28,12 +28,12 @@ BattleFrontier_BattleDomeCorridor_EventScript_24B10E:: @ 824B10E BattleFrontier_BattleDomeCorridor_EventScript_24B161:: @ 824B161 applymovement 1, BattleFrontier_BattleDomeCorridor_Movement_24B1D6 - applymovement 255, BattleFrontier_BattleDomeCorridor_Movement_24B1C1 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeCorridor_Movement_24B1C1 waitmovement 0 opendoor 37, 3 waitdooranim applymovement 1, BattleFrontier_BattleDomeCorridor_Movement_24B1E6 - applymovement 255, BattleFrontier_BattleDomeCorridor_Movement_24B1D2 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeCorridor_Movement_24B1D2 waitmovement 0 closedoor 37, 3 waitdooranim diff --git a/data/maps/BattleFrontier_BattleDomeLobby/scripts.inc b/data/maps/BattleFrontier_BattleDomeLobby/scripts.inc index a4a719090..9e906433a 100644 --- a/data/maps/BattleFrontier_BattleDomeLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattleDomeLobby/scripts.inc @@ -313,7 +313,7 @@ BattleFrontier_BattleDomeLobby_EventScript_249C6E:: @ 8249C6E call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249CDD compare VAR_FRONTIER_BATTLE_MODE, 1 call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249CE5 - applymovement 255, BattleFrontier_BattleDomeLobby_Movement_249D45 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeLobby_Movement_249D45 waitmovement 0 compare VAR_FRONTIER_BATTLE_MODE, 0 call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D2D @@ -324,7 +324,7 @@ BattleFrontier_BattleDomeLobby_EventScript_249C6E:: @ 8249C6E call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249CED compare VAR_FRONTIER_BATTLE_MODE, 1 call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249CF5 - applymovement 255, BattleFrontier_BattleDomeLobby_Movement_249D4E + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeLobby_Movement_249D4E waitmovement 0 compare VAR_FRONTIER_BATTLE_MODE, 0 call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D39 diff --git a/data/maps/BattleFrontier_BattleDomePreBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleDomePreBattleRoom/scripts.inc index 28d634162..8e4a8c944 100644 --- a/data/maps/BattleFrontier_BattleDomePreBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleDomePreBattleRoom/scripts.inc @@ -24,7 +24,7 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B222:: @ 824B222 setvar VAR_0x8006, 1 special CallFrontierUtilFunc setvar VAR_TEMP_0, 1 - applymovement 255, BattleFrontier_BattleDomePreBattleRoom_Movement_24B652 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomePreBattleRoom_Movement_24B652 waitmovement 0 lockall @@ -171,11 +171,11 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B46D:: @ 824B46D closemessage applymovement 1, BattleFrontier_BattleDomePreBattleRoom_Movement_24B64F waitmovement 0 - applymovement 255, BattleFrontier_BattleDomePreBattleRoom_Movement_24B657 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomePreBattleRoom_Movement_24B657 waitmovement 0 opendoor 5, 1 waitdooranim - applymovement 255, BattleFrontier_BattleDomePreBattleRoom_Movement_24B659 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomePreBattleRoom_Movement_24B659 waitmovement 0 closedoor 5, 1 waitdooranim diff --git a/data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc index ab3ea4d7c..4298f7579 100644 --- a/data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc @@ -55,7 +55,7 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE3B:: @ 825AE3B closemessage applymovement 2, BattleFrontier_BattleFactoryBattleRoom_Movement_25B18B applymovement 8, BattleFrontier_BattleFactoryBattleRoom_Movement_25B17B - applymovement 255, BattleFrontier_BattleFactoryBattleRoom_Movement_25B17B + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleFactoryBattleRoom_Movement_25B17B waitmovement 0 call BattleFrontier_BattleFactoryBattleRoom_EventScript_25B1B4 goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25AEA7 @@ -65,7 +65,7 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE67:: @ 825AE67 compare VAR_TEMP_F, 0 goto_if 5, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE3B applymovement 8, BattleFrontier_BattleFactoryBattleRoom_Movement_25B17B - applymovement 255, BattleFrontier_BattleFactoryBattleRoom_Movement_25B17B + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleFactoryBattleRoom_Movement_25B17B waitmovement 0 call BattleFrontier_BattleFactoryBattleRoom_EventScript_25B1B4 setvar VAR_0x8004, 11 diff --git a/data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc b/data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc index b387fc048..ab6e3ee84 100644 --- a/data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc @@ -223,7 +223,7 @@ BattleFrontier_BattleFactoryLobby_EventScript_25871A:: @ 825871A compare VAR_FRONTIER_BATTLE_MODE, 1 call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_258762 applymovement VAR_LAST_TALKED, BattleFrontier_BattleFactoryLobby_Movement_2587A7 - applymovement 255, BattleFrontier_BattleFactoryLobby_Movement_2587AC + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleFactoryLobby_Movement_2587AC waitmovement 0 warp MAP_BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM, 255, 8, 13 setvar VAR_TEMP_0, 0 diff --git a/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/scripts.inc index a212ce38f..683b633ff 100644 --- a/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/scripts.inc @@ -27,7 +27,7 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259AF9:: @ 8259AF9 goto_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259BA5 setvar VAR_TEMP_0, 1 applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1AC - applymovement 255, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A19A + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A19A waitmovement 0 compare VAR_0x8006, 2 goto_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E69 @@ -448,12 +448,12 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A146:: @ 825A146 BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A17C:: @ 825A17C applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1B3 - applymovement 255, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1A0 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1A0 return BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A18B:: @ 825A18B applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1B9 - applymovement 255, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1A6 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1A6 return BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A19A: @ 825A19A diff --git a/data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc index ccada959e..c377d9580 100644 --- a/data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc @@ -357,7 +357,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE3E:: @ 824FE3E hideobjectat 1, MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM call BattleFrontier_BattlePalaceBattleRoom_EventScript_24F833 setvar VAR_TEMP_1, 1 - applymovement 255, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE90 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE90 removeobject 2 applymovement 4, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE90 applymovement 5, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE90 diff --git a/data/maps/BattleFrontier_BattlePalaceCorridor/scripts.inc b/data/maps/BattleFrontier_BattlePalaceCorridor/scripts.inc index 199a67fa6..98c6f8092 100644 --- a/data/maps/BattleFrontier_BattlePalaceCorridor/scripts.inc +++ b/data/maps/BattleFrontier_BattlePalaceCorridor/scripts.inc @@ -9,7 +9,7 @@ BattleFrontier_BattlePalaceCorridor_MapScript2_24F4A9: @ 824F4A9 BattleFrontier_BattlePalaceCorridor_EventScript_24F4B3:: @ 824F4B3 delay 16 applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_24F5B8 - applymovement 255, BattleFrontier_BattlePalaceCorridor_Movement_24F5B8 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_24F5B8 waitmovement 0 lockall setvar VAR_0x8004, 3 @@ -31,12 +31,12 @@ BattleFrontier_BattlePalaceCorridor_EventScript_24F4B3:: @ 824F4B3 compare VAR_RESULT, 1 goto_eq BattleFrontier_BattlePalaceCorridor_EventScript_24F553 applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_24F5BD - applymovement 255, BattleFrontier_BattlePalaceCorridor_Movement_24F5C4 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_24F5C4 waitmovement 0 opendoor 6, 3 waitdooranim applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_24F5DA - applymovement 255, BattleFrontier_BattlePalaceCorridor_Movement_24F5D9 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_24F5D9 waitmovement 0 closedoor 6, 3 waitdooranim @@ -44,12 +44,12 @@ BattleFrontier_BattlePalaceCorridor_EventScript_24F4B3:: @ 824F4B3 BattleFrontier_BattlePalaceCorridor_EventScript_24F553:: @ 824F553 applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_24F5CB - applymovement 255, BattleFrontier_BattlePalaceCorridor_Movement_24F5D2 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_24F5D2 waitmovement 0 opendoor 10, 3 waitdooranim applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_24F5DA - applymovement 255, BattleFrontier_BattlePalaceCorridor_Movement_24F5D9 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_24F5D9 waitmovement 0 closedoor 10, 3 waitdooranim diff --git a/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc b/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc index c81331ddc..223dbc45a 100644 --- a/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc @@ -303,7 +303,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24DBBC:: @ 824DBBC compare VAR_FRONTIER_BATTLE_MODE, 1 call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DC29 applymovement VAR_LAST_TALKED, BattleFrontier_BattlePalaceLobby_Movement_24DC47 - applymovement 255, BattleFrontier_BattlePalaceLobby_Movement_24DC47 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceLobby_Movement_24DC47 waitmovement 0 compare VAR_FRONTIER_BATTLE_MODE, 0 call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DC2F @@ -311,7 +311,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24DBBC:: @ 824DBBC call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DC35 waitdooranim applymovement VAR_LAST_TALKED, BattleFrontier_BattlePalaceLobby_Movement_24DC49 - applymovement 255, BattleFrontier_BattlePalaceLobby_Movement_24DC4C + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceLobby_Movement_24DC4C waitmovement 0 compare VAR_FRONTIER_BATTLE_MODE, 0 call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DC3B diff --git a/data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc b/data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc index 0a0df3636..7793fcbc2 100644 --- a/data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc +++ b/data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc @@ -18,14 +18,14 @@ BattleFrontier_BattlePikeCorridor_EventScript_25C786:: @ 825C786 setvar VAR_0x8004, 24 setvar VAR_0x8005, 1 special CallBattlePikeFunction - applymovement 255, BattleFrontier_BattlePikeCorridor_Movement_25C80B + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeCorridor_Movement_25C80B applymovement 1, BattleFrontier_BattlePikeCorridor_Movement_25C812 waitmovement 0 lockall msgbox BattleFrontier_BattlePikeCorridor_Text_25C817, MSGBOX_DEFAULT closemessage releaseall - applymovement 255, BattleFrontier_BattlePikeCorridor_Movement_25C80E + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeCorridor_Movement_25C80E waitmovement 0 setvar VAR_0x8004, 2 setvar VAR_0x8005, 0 diff --git a/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc b/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc index e4f3e1a6e..82ff5b3ae 100644 --- a/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc @@ -263,7 +263,7 @@ BattleFrontier_BattlePikeLobby_EventScript_25BA80:: @ 825BA80 BattleFrontier_BattlePikeLobby_EventScript_25BA94:: @ 825BA94 applymovement 1, BattleFrontier_BattlePikeLobby_Movement_25BAA7 - applymovement 255, BattleFrontier_BattlePikeLobby_Movement_25BAA6 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeLobby_Movement_25BAA6 waitmovement 0 return diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom1/scripts.inc b/data/maps/BattleFrontier_BattlePikeRandomRoom1/scripts.inc index 79a10880a..eea909b9c 100644 --- a/data/maps/BattleFrontier_BattlePikeRandomRoom1/scripts.inc +++ b/data/maps/BattleFrontier_BattlePikeRandomRoom1/scripts.inc @@ -112,8 +112,8 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D2BF:: @ 825D2BF BattleFrontier_BattlePikeRandomRoom1_EventScript_25D2FB:: @ 825D2FB msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E311, MSGBOX_DEFAULT closemessage - special SpawnScriptEventObject - applymovement 127, BattleFrontier_BattlePikeRandomRoom1_Movement_25D9B0 + special SpawnCameraObject + applymovement EVENT_OBJ_ID_CAMERA, BattleFrontier_BattlePikeRandomRoom1_Movement_25D9B0 applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7E2 waitmovement 0 playse 267 @@ -215,7 +215,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D460:: @ 825D460 BattleFrontier_BattlePikeRandomRoom1_EventScript_25D49D:: @ 825D49D applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7EA waitmovement 0 - applymovement 255, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7DC + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7DC waitmovement 0 setvar VAR_0x8004, 1 setvar VAR_0x8005, 1 @@ -277,7 +277,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D53E:: @ 825D53E applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7C8 applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7CA waitmovement 0 - applymovement 255, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BB + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BB waitmovement 0 setvar VAR_0x8004, 21 setvar VAR_0x8005, 0 @@ -285,7 +285,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D53E:: @ 825D53E msgbox gStringVar4, MSGBOX_DEFAULT closemessage delay 16 - applymovement 255, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BD + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BD waitmovement 0 setvar VAR_0x8004, 21 setvar VAR_0x8005, 1 @@ -302,13 +302,13 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D53E:: @ 825D53E end BattleFrontier_BattlePikeRandomRoom1_EventScript_25D5DC:: @ 825D5DC - applymovement 255, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BD + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BD waitmovement 0 applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7CC waitmovement 0 applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7D4 waitmovement 0 - applymovement 255, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BF + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BF waitmovement 0 end @@ -431,7 +431,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D774:: @ 825D774 BattleFrontier_BattlePikeRandomRoom1_EventScript_25D77B:: @ 825D77B closemessage - applymovement 255, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7DC + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7DC waitmovement 0 setvar VAR_0x8004, SPECIAL_BATTLE_PIKE_SINGLE setvar VAR_0x8005, 0 diff --git a/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc b/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc index d890b2d06..c2c32e0b1 100644 --- a/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc @@ -434,7 +434,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_250D42:: @ 8250D42 BattleFrontier_BattlePyramidLobby_EventScript_250D56:: @ 8250D56 applymovement 1, BattleFrontier_BattlePyramidLobby_Movement_250DC4 - applymovement 255, BattleFrontier_BattlePyramidLobby_Movement_250DCD + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePyramidLobby_Movement_250DCD waitmovement 0 msgbox BattleFrontier_BattlePyramidLobby_Text_251569, MSGBOX_DEFAULT setvar VAR_0x8004, 1 @@ -457,7 +457,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_250D9C:: @ 8250D9C closemessage applymovement 1, BattleFrontier_BattlePyramidLobby_Movement_250DD5 waitmovement 0 - applymovement 255, BattleFrontier_BattlePyramidLobby_Movement_250DD8 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePyramidLobby_Movement_250DD8 waitmovement 0 return diff --git a/data/maps/BattleFrontier_BattlePyramidTop/scripts.inc b/data/maps/BattleFrontier_BattlePyramidTop/scripts.inc index d7a1a3c3b..a3a004d6b 100644 --- a/data/maps/BattleFrontier_BattlePyramidTop/scripts.inc +++ b/data/maps/BattleFrontier_BattlePyramidTop/scripts.inc @@ -96,7 +96,7 @@ BattleFrontier_BattlePyramidTop_EventScript_2551D0:: @ 82551D0 closemessage applymovement 1, BattleFrontier_BattlePyramidTop_Movement_2553FD waitmovement 0 - applymovement 255, BattleFrontier_BattlePyramidTop_Movement_255403 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePyramidTop_Movement_255403 waitmovement 0 applymovement 1, BattleFrontier_BattlePyramidTop_Movement_255400 waitmovement 0 @@ -138,8 +138,8 @@ BattleFrontier_BattlePyramidTop_EventScript_255256:: @ 8255256 special CallFrontierUtilFunc compare VAR_RESULT, 0 goto_if 5, BattleFrontier_BattlePyramidTop_EventScript_2552D0 - special SpawnScriptEventObject - applymovement 127, BattleFrontier_BattlePyramidTop_Movement_25540C + special SpawnCameraObject + applymovement EVENT_OBJ_ID_CAMERA, BattleFrontier_BattlePyramidTop_Movement_25540C waitmovement 0 msgbox BattleFrontier_BattlePyramidTop_Text_255669, MSGBOX_DEFAULT closemessage @@ -185,8 +185,8 @@ BattleFrontier_BattlePyramidTop_EventScript_255335:: @ 8255335 special CallFrontierUtilFunc compare VAR_RESULT, 0 goto_if 5, BattleFrontier_BattlePyramidTop_EventScript_255388 - special SpawnScriptEventObject - applymovement 127, BattleFrontier_BattlePyramidTop_Movement_25540C + special SpawnCameraObject + applymovement EVENT_OBJ_ID_CAMERA, BattleFrontier_BattlePyramidTop_Movement_25540C waitmovement 0 msgbox BattleFrontier_BattlePyramidTop_Text_255951, MSGBOX_DEFAULT closemessage diff --git a/data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc index 83b78d40e..d8e3d3ce6 100644 --- a/data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc @@ -18,7 +18,7 @@ BattleFrontier_BattleTowerBattleRoom_MapScript2_241B62: @ 8241B62 BattleFrontier_BattleTowerBattleRoom_EventScript_241B6C:: @ 8241B6C setvar VAR_TEMP_0, 1 - applymovement 255, BattleFrontier_BattleTowerBattleRoom_Movement_242179 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_242179 waitmovement 0 setvar VAR_0x8004, 1 setvar VAR_0x8005, 2 @@ -27,7 +27,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_241B6C:: @ 8241B6C goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241BC3 applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_24218D waitmovement 0 - applymovement 255, BattleFrontier_BattleTowerBattleRoom_Movement_24217E + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_24217E waitmovement 0 setvar VAR_TEMP_2, 1 setvar VAR_0x8004, 2 @@ -79,7 +79,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_241C2F:: @ 8241C2F call_if 5, BattleFrontier_BattleTowerBattleRoom_EventScript_241EC3 applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_24218D waitmovement 0 - applymovement 255, BattleFrontier_BattleTowerBattleRoom_Movement_24217E + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_24217E waitmovement 0 msgbox BattleFrontier_BattleTowerBattleRoom_Text_242217, MSGBOX_DEFAULT playfanfare MUS_ME_ASA @@ -146,7 +146,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_241DAA:: @ 8241DAA BattleFrontier_BattleTowerBattleRoom_EventScript_241DDC:: @ 8241DDC closemessage - applymovement 255, BattleFrontier_BattleTowerBattleRoom_Movement_242180 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_242180 waitmovement 0 applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_242192 waitmovement 0 @@ -275,7 +275,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_241F79:: @ 8241F79 BattleFrontier_BattleTowerBattleRoom_EventScript_241FAF:: @ 8241FAF call BattleFrontier_BattleTowerBattleRoom_EventScript_242170 closemessage - applymovement 255, BattleFrontier_BattleTowerBattleRoom_Movement_242180 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_242180 waitmovement 0 applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_242192 waitmovement 0 diff --git a/data/maps/BattleFrontier_BattleTowerCorridor/scripts.inc b/data/maps/BattleFrontier_BattleTowerCorridor/scripts.inc index 9ff6bbc59..b0a9624f8 100644 --- a/data/maps/BattleFrontier_BattleTowerCorridor/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerCorridor/scripts.inc @@ -24,13 +24,13 @@ BattleFrontier_BattleTowerCorridor_EventScript_241AF0:: @ 8241AF0 compare VAR_0x8006, 1 goto_eq BattleFrontier_BattleTowerCorridor_EventScript_241B16 applymovement 1, BattleFrontier_BattleTowerCorridor_Movement_241B3A - applymovement 255, BattleFrontier_BattleTowerCorridor_Movement_241B39 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerCorridor_Movement_241B39 waitmovement 0 goto BattleFrontier_BattleTowerCorridor_EventScript_241B27 BattleFrontier_BattleTowerCorridor_EventScript_241B16:: @ 8241B16 applymovement 1, BattleFrontier_BattleTowerCorridor_Movement_241B37 - applymovement 255, BattleFrontier_BattleTowerCorridor_Movement_241B36 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerCorridor_Movement_241B36 waitmovement 0 BattleFrontier_BattleTowerCorridor_EventScript_241B27:: @ 8241B27 diff --git a/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc b/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc index 968d45772..aa0fa97ff 100644 --- a/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc @@ -10,7 +10,7 @@ BattleFrontier_BattleTowerElevator_MapScript2_2419E6: @ 82419E6 BattleFrontier_BattleTowerElevator_EventScript_2419F0:: @ 82419F0 setvar VAR_TEMP_0, 1 applymovement 1, BattleFrontier_BattleTowerElevator_Movement_241A86 - applymovement 255, BattleFrontier_BattleTowerElevator_Movement_241A8A + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerElevator_Movement_241A8A waitmovement 0 special sub_813A080 waitse @@ -18,7 +18,7 @@ BattleFrontier_BattleTowerElevator_EventScript_2419F0:: @ 82419F0 waitstate delay 48 applymovement 1, BattleFrontier_BattleTowerElevator_Movement_241A8E - applymovement 255, BattleFrontier_BattleTowerElevator_Movement_241A92 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerElevator_Movement_241A92 waitmovement 0 call BattleFrontier_BattleTowerElevator_EventScript_241A28 end diff --git a/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc b/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc index 0911ea5f2..ec649dd9f 100644 --- a/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc @@ -769,12 +769,12 @@ BattleFrontier_BattleTowerLobby_EventScript_23F15B:: @ 823F15B call BattleFrontier_BattleTowerLobby_EventScript_23F1E8 call BattleFrontier_BattleTowerLobby_EventScript_23F22D applymovement VAR_LAST_TALKED, BattleFrontier_BattleTowerLobby_Movement_23F195 - applymovement 255, BattleFrontier_BattleTowerLobby_Movement_23F195 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerLobby_Movement_23F195 waitmovement 0 opendoor VAR_0x8004, 1 waitdooranim applymovement VAR_LAST_TALKED, BattleFrontier_BattleTowerLobby_Movement_23F199 - applymovement 255, BattleFrontier_BattleTowerLobby_Movement_23F19C + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerLobby_Movement_23F19C waitmovement 0 closedoor VAR_0x8004, 1 waitdooranim diff --git a/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc index b0c35a7fc..03bb7be63 100644 --- a/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc @@ -60,12 +60,12 @@ BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E35:: @ 8243E35 BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E41:: @ 8243E41 lockall - applymovement 255, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243E75 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243E75 waitmovement 0 applymovement 1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243E77 waitmovement 0 moveobjectoffscreen 1 - applymovement 255, BattleFrontier_BattleTowerMultiBattleRoom_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerMultiBattleRoom_Movement_2725A6 waitmovement 0 msgbox BattleFrontier_BattleTowerMultiBattleRoom_Text_244056, MSGBOX_DEFAULT special HealPlayerParty @@ -119,19 +119,19 @@ BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243EB5:: @ 8243EB5 BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243EE4:: @ 8243EE4 applymovement 1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F26 - applymovement 255, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F1A + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F1A waitmovement 0 return BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243EF6: @ 8243EF6 applymovement 1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F26 - applymovement 255, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F1E + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F1E waitmovement 0 return BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F08: @ 8243F08 applymovement 1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F26 - applymovement 255, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F22 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F22 waitmovement 0 return diff --git a/data/maps/BattleFrontier_ReceptionGate/scripts.inc b/data/maps/BattleFrontier_ReceptionGate/scripts.inc index 30f3a10d5..5ed97bd60 100644 --- a/data/maps/BattleFrontier_ReceptionGate/scripts.inc +++ b/data/maps/BattleFrontier_ReceptionGate/scripts.inc @@ -21,7 +21,7 @@ BattleFrontier_ReceptionGate_EventScript_2661F3:: @ 82661F3 waitmovement 0 msgbox BattleFrontier_ReceptionGate_Text_266580, MSGBOX_DEFAULT closemessage - applymovement 255, BattleFrontier_ReceptionGate_Movement_2662D2 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_ReceptionGate_Movement_2662D2 waitmovement 0 goto BattleFrontier_ReceptionGate_EventScript_266229 end @@ -40,18 +40,18 @@ BattleFrontier_ReceptionGate_EventScript_266229:: @ 8266229 closemessage applymovement 1, BattleFrontier_ReceptionGate_Movement_2725A6 applymovement 2, BattleFrontier_ReceptionGate_Movement_2725A6 - applymovement 255, BattleFrontier_ReceptionGate_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_ReceptionGate_Movement_2725A6 waitmovement 0 playse SE_PIN applymovement 1, BattleFrontier_ReceptionGate_Movement_272598 applymovement 2, BattleFrontier_ReceptionGate_Movement_272598 - applymovement 255, BattleFrontier_ReceptionGate_Movement_272598 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_ReceptionGate_Movement_272598 waitmovement 0 msgbox BattleFrontier_ReceptionGate_Text_266733, MSGBOX_DEFAULT closemessage applymovement 1, BattleFrontier_ReceptionGate_Movement_2662F0 applymovement 2, BattleFrontier_ReceptionGate_Movement_2662F6 - applymovement 255, BattleFrontier_ReceptionGate_Movement_2662D7 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_ReceptionGate_Movement_2662D7 applymovement 4, BattleFrontier_ReceptionGate_Movement_2662E0 waitmovement 0 msgbox BattleFrontier_ReceptionGate_Text_266764, MSGBOX_DEFAULT diff --git a/data/maps/DewfordTown/scripts.inc b/data/maps/DewfordTown/scripts.inc index 41abdcede..66e2bb9f9 100644 --- a/data/maps/DewfordTown/scripts.inc +++ b/data/maps/DewfordTown/scripts.inc @@ -123,16 +123,16 @@ DewfordTown_EventScript_1E9660:: @ 81E9660 applymovement 2, DewfordTown_Movement_1E991D waitmovement 0 removeobject 2 - applymovement 255, DewfordTown_Movement_1E9911 + applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Movement_1E9911 waitmovement 0 hideobjectat 255, MAP_DEWFORD_TOWN call DewfordTown_EventScript_2720A0 applymovement 4, DewfordTown_Movement_1E97A2 - applymovement 255, DewfordTown_Movement_1E97A2 + applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Movement_1E97A2 waitmovement 0 showobjectat 255, MAP_ROUTE104 call DewfordTown_EventScript_2720A8 - applymovement 255, DewfordTown_Movement_1E9914 + applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Movement_1E9914 waitmovement 0 showobjectat 255, MAP_ROUTE104 clearflag FLAG_HIDE_BRINEYS_HOUSE_MR_BRINEY @@ -155,16 +155,16 @@ DewfordTown_EventScript_1E96E7:: @ 81E96E7 applymovement 2, DewfordTown_Movement_1E991D waitmovement 0 removeobject 2 - applymovement 255, DewfordTown_Movement_1E9911 + applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Movement_1E9911 waitmovement 0 hideobjectat 255, MAP_DEWFORD_TOWN call DewfordTown_EventScript_2720A0 applymovement 4, DewfordTown_Movement_1E9865 - applymovement 255, DewfordTown_Movement_1E9865 + applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Movement_1E9865 waitmovement 0 call DewfordTown_EventScript_2720A8 showobjectat 255, MAP_ROUTE109 - applymovement 255, DewfordTown_Movement_1E9918 + applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Movement_1E9918 waitmovement 0 setobjectxyperm 2, 21, 26 addobject 2 diff --git a/data/maps/DewfordTown_Hall/scripts.inc b/data/maps/DewfordTown_Hall/scripts.inc index bec9826f3..3a75fca12 100644 --- a/data/maps/DewfordTown_Hall/scripts.inc +++ b/data/maps/DewfordTown_Hall/scripts.inc @@ -200,7 +200,7 @@ DewfordTown_Hall_EventScript_1FD73A:: @ 81FD73A DewfordTown_Hall_EventScript_1FD75B:: @ 81FD75B compare VAR_FACING, 4 goto_eq DewfordTown_Hall_EventScript_1FD739 - applymovement 255, DewfordTown_Hall_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Hall_Movement_2725A8 waitmovement 0 return @@ -224,19 +224,19 @@ DewfordTown_Hall_EventScript_1FD793:: @ 81FD793 return DewfordTown_Hall_EventScript_1FD7AA:: @ 81FD7AA - applymovement 255, DewfordTown_Hall_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Hall_Movement_2725A6 waitmovement 0 return DewfordTown_Hall_EventScript_1FD7B5:: @ 81FD7B5 - applymovement 255, DewfordTown_Hall_Movement_2725AA + applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Hall_Movement_2725AA waitmovement 0 return DewfordTown_Hall_EventScript_1FD7C0:: @ 81FD7C0 compare VAR_FACING, 3 goto_eq DewfordTown_Hall_EventScript_1FD739 - applymovement 255, DewfordTown_Hall_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Hall_Movement_2725A4 waitmovement 0 return diff --git a/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc b/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc index 250a3012b..4b51399eb 100644 --- a/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc +++ b/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc @@ -22,10 +22,10 @@ EverGrandeCity_ChampionsRoom_MapScript2_228A14: @ 8228A14 EverGrandeCity_ChampionsRoom_EventScript_228A1E:: @ 8228A1E lockall - applymovement 255, EverGrandeCity_ChampionsRoom_Movement_2725C1 + applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_2725C1 waitmovement 0 delay 40 - applymovement 255, EverGrandeCity_ChampionsRoom_Movement_228A42 + applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_228A42 waitmovement 0 setvar VAR_TEMP_1, 1 goto EverGrandeCity_ChampionsRoom_EventScript_228A45 @@ -105,7 +105,7 @@ EverGrandeCity_ChampionsRoom_EventScript_228B30:: @ 8228B30 addobject 3 applymovement 3, EverGrandeCity_ChampionsRoom_Movement_228C43 waitmovement 0 - applymovement 255, EverGrandeCity_ChampionsRoom_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_2725A8 waitmovement 0 msgbox EverGrandeCity_ChampionsRoom_Text_2291E6, MSGBOX_DEFAULT call EverGrandeCity_ChampionsRoom_EventScript_272184 @@ -119,12 +119,12 @@ EverGrandeCity_ChampionsRoom_EventScript_228B30:: @ 8228B30 closemessage delay 30 applymovement 1, EverGrandeCity_ChampionsRoom_Movement_228C3B - applymovement 255, EverGrandeCity_ChampionsRoom_Movement_228C1D + applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_228C1D applymovement 3, EverGrandeCity_ChampionsRoom_Movement_2725A6 applymovement 2, EverGrandeCity_ChampionsRoom_Movement_228C38 waitmovement 0 delay 20 - applymovement 255, EverGrandeCity_ChampionsRoom_Movement_2725AA + applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_2725AA waitmovement 0 msgbox EverGrandeCity_ChampionsRoom_Text_2293EB, MSGBOX_DEFAULT checkplayergender @@ -134,7 +134,7 @@ EverGrandeCity_ChampionsRoom_EventScript_228B30:: @ 8228B30 call_if 1, EverGrandeCity_ChampionsRoom_EventScript_228BF4 closemessage applymovement 1, EverGrandeCity_ChampionsRoom_Movement_228C3F - applymovement 255, EverGrandeCity_ChampionsRoom_Movement_228C20 + applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_228C20 waitmovement 0 setflag FLAG_HIDE_PETALBURG_GYM_GREETER warp MAP_EVER_GRANDE_CITY_HALL_OF_FAME, 255, 7, 16 @@ -153,7 +153,7 @@ EverGrandeCity_ChampionsRoom_EventScript_228BF4:: @ 8228BF4 EverGrandeCity_ChampionsRoom_EventScript_228BFD:: @ 8228BFD applymovement 2, EverGrandeCity_ChampionsRoom_Movement_228C26 waitmovement 0 - applymovement 255, EverGrandeCity_ChampionsRoom_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_2725A4 waitmovement 0 return diff --git a/data/maps/EverGrandeCity_HallOfFame/scripts.inc b/data/maps/EverGrandeCity_HallOfFame/scripts.inc index 2a871e18f..5fd0ff139 100644 --- a/data/maps/EverGrandeCity_HallOfFame/scripts.inc +++ b/data/maps/EverGrandeCity_HallOfFame/scripts.inc @@ -18,24 +18,24 @@ EverGrandeCity_HallOfFame_MapScript2_229846: @ 8229846 EverGrandeCity_HallOfFame_EventScript_229850:: @ 8229850 lockall applymovement 1, EverGrandeCity_HallOfFame_Movement_229901 - applymovement 255, EverGrandeCity_HallOfFame_Movement_229901 + applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_HallOfFame_Movement_229901 waitmovement 0 applymovement 1, EverGrandeCity_HallOfFame_Movement_2725A8 - applymovement 255, EverGrandeCity_HallOfFame_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_HallOfFame_Movement_2725A4 waitmovement 0 msgbox EverGrandeCity_HallOfFame_Text_22990E, MSGBOX_DEFAULT closemessage applymovement 1, EverGrandeCity_HallOfFame_Movement_229908 - applymovement 255, EverGrandeCity_HallOfFame_Movement_229908 + applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_HallOfFame_Movement_229908 waitmovement 0 delay 20 applymovement 1, EverGrandeCity_HallOfFame_Movement_2725A8 - applymovement 255, EverGrandeCity_HallOfFame_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_HallOfFame_Movement_2725A4 waitmovement 0 msgbox EverGrandeCity_HallOfFame_Text_2299A3, MSGBOX_DEFAULT closemessage applymovement 1, EverGrandeCity_HallOfFame_Movement_2725A6 - applymovement 255, EverGrandeCity_HallOfFame_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_HallOfFame_Movement_2725A6 waitmovement 0 delay 20 dofieldeffect 62 diff --git a/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc b/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc index 0f3f6c33e..bc27878ab 100644 --- a/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc +++ b/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc @@ -77,12 +77,12 @@ EverGrandeCity_PokemonLeague_1F_EventScript_229636:: @ 8229636 end EverGrandeCity_PokemonLeague_1F_EventScript_229698:: @ 8229698 - applymovement 255, EverGrandeCity_PokemonLeague_1F_Movement_2296DA + applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_PokemonLeague_1F_Movement_2296DA waitmovement 0 return EverGrandeCity_PokemonLeague_1F_EventScript_2296A3:: @ 82296A3 - applymovement 255, EverGrandeCity_PokemonLeague_1F_Movement_2296DE + applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_PokemonLeague_1F_Movement_2296DE waitmovement 0 return diff --git a/data/maps/FallarborTown_BattleTentCorridor/scripts.inc b/data/maps/FallarborTown_BattleTentCorridor/scripts.inc index d21216208..f3d0a924e 100644 --- a/data/maps/FallarborTown_BattleTentCorridor/scripts.inc +++ b/data/maps/FallarborTown_BattleTentCorridor/scripts.inc @@ -10,12 +10,12 @@ FallarborTown_BattleTentCorridor_EventScript_2006B7:: @ 82006B7 lockall setvar VAR_TEMP_0, 1 applymovement 1, FallarborTown_BattleTentCorridor_Movement_2006FB - applymovement 255, FallarborTown_BattleTentCorridor_Movement_2006FB + applymovement EVENT_OBJ_ID_PLAYER, FallarborTown_BattleTentCorridor_Movement_2006FB waitmovement 0 opendoor 2, 1 waitdooranim applymovement 1, FallarborTown_BattleTentCorridor_Movement_200701 - applymovement 255, FallarborTown_BattleTentCorridor_Movement_200700 + applymovement EVENT_OBJ_ID_PLAYER, FallarborTown_BattleTentCorridor_Movement_200700 waitmovement 0 closedoor 2, 1 waitdooranim diff --git a/data/maps/FallarborTown_BattleTentLobby/scripts.inc b/data/maps/FallarborTown_BattleTentLobby/scripts.inc index aed9aa93f..abe8a9202 100644 --- a/data/maps/FallarborTown_BattleTentLobby/scripts.inc +++ b/data/maps/FallarborTown_BattleTentLobby/scripts.inc @@ -245,12 +245,12 @@ FallarborTown_BattleTentLobby_EventScript_2001CD:: @ 82001CD FallarborTown_BattleTentLobby_EventScript_2001CF:: @ 82001CF applymovement 1, FallarborTown_BattleTentLobby_Movement_2001FE - applymovement 255, FallarborTown_BattleTentLobby_Movement_200205 + applymovement EVENT_OBJ_ID_PLAYER, FallarborTown_BattleTentLobby_Movement_200205 waitmovement 0 opendoor 6, 1 waitdooranim applymovement 1, FallarborTown_BattleTentLobby_Movement_200202 - applymovement 255, FallarborTown_BattleTentLobby_Movement_200209 + applymovement EVENT_OBJ_ID_PLAYER, FallarborTown_BattleTentLobby_Movement_200209 waitmovement 0 closedoor 6, 1 waitdooranim diff --git a/data/maps/GraniteCave_StevensRoom/scripts.inc b/data/maps/GraniteCave_StevensRoom/scripts.inc index da0668bac..ff594021a 100644 --- a/data/maps/GraniteCave_StevensRoom/scripts.inc +++ b/data/maps/GraniteCave_StevensRoom/scripts.inc @@ -42,13 +42,13 @@ GraniteCave_StevensRoom_EventScript_22DD0D:: @ 822DD0D return GraniteCave_StevensRoom_EventScript_22DD18:: @ 822DD18 - applymovement 255, GraniteCave_StevensRoom_Movement_22DD4C + applymovement EVENT_OBJ_ID_PLAYER, GraniteCave_StevensRoom_Movement_22DD4C applymovement 1, GraniteCave_StevensRoom_Movement_22DD45 waitmovement 0 return GraniteCave_StevensRoom_EventScript_22DD2A:: @ 822DD2A - applymovement 255, GraniteCave_StevensRoom_Movement_22DD4C + applymovement EVENT_OBJ_ID_PLAYER, GraniteCave_StevensRoom_Movement_22DD4C applymovement 1, GraniteCave_StevensRoom_Movement_22DD51 waitmovement 0 return diff --git a/data/maps/LavaridgeTown/scripts.inc b/data/maps/LavaridgeTown/scripts.inc index a42703900..9d2a8b6dc 100644 --- a/data/maps/LavaridgeTown/scripts.inc +++ b/data/maps/LavaridgeTown/scripts.inc @@ -136,7 +136,7 @@ LavaridgeTown_EventScript_1EA65C:: @ 81EA65C waitmovement 0 applymovement 8, LavaridgeTown_Movement_27259A waitmovement 0 - applymovement 255, LavaridgeTown_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, LavaridgeTown_Movement_2725A8 waitmovement 0 return @@ -151,7 +151,7 @@ LavaridgeTown_EventScript_1EA6AC:: @ 81EA6AC return LavaridgeTown_EventScript_1EA6B7:: @ 81EA6B7 - applymovement 255, LavaridgeTown_Movement_1EA6DF + applymovement EVENT_OBJ_ID_PLAYER, LavaridgeTown_Movement_1EA6DF applymovement 7, LavaridgeTown_Movement_1EA6E3 waitmovement 0 return diff --git a/data/maps/LilycoveCity_ContestLobby/scripts.inc b/data/maps/LilycoveCity_ContestLobby/scripts.inc index a849925bd..b172dfd7a 100644 --- a/data/maps/LilycoveCity_ContestLobby/scripts.inc +++ b/data/maps/LilycoveCity_ContestLobby/scripts.inc @@ -37,7 +37,7 @@ LilycoveCity_ContestLobby_EventScript_21A264:: @ 821A264 addobject 4 applymovement 4, LilycoveCity_ContestLobby_Movement_21A407 waitmovement 4 - applymovement 255, LilycoveCity_ContestLobby_Movement_21A418 + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_ContestLobby_Movement_21A418 waitmovement 0 msgbox LilycoveCity_ContestLobby_Text_21ADB9, MSGBOX_DEFAULT lockall @@ -212,7 +212,7 @@ LilycoveCity_ContestLobby_EventScript_21A436:: @ 821A436 addobject 11 applymovement 11, LilycoveCity_ContestLobby_Movement_21A533 waitmovement 11 - applymovement 255, LilycoveCity_ContestLobby_Movement_21A545 + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_ContestLobby_Movement_21A545 waitmovement 0 msgbox LilycoveCity_ContestLobby_Text_21ADB9, MSGBOX_DEFAULT lockall @@ -422,12 +422,12 @@ LilycoveCity_ContestLobby_EventScript_21A670:: @ 821A670 delay 20 applymovement 1, LilycoveCity_ContestLobby_Movement_21A706 waitmovement 0 - applymovement 255, LilycoveCity_ContestLobby_Movement_21A6F2 + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_ContestLobby_Movement_21A6F2 waitmovement 0 msgbox LilycoveCity_ContestLobby_Text_27B653, MSGBOX_DEFAULT closemessage applymovement 1, LilycoveCity_ContestLobby_Movement_21A6FD - applymovement 255, LilycoveCity_ContestLobby_Movement_21A6E8 + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_ContestLobby_Movement_21A6E8 waitmovement 0 releaseall return @@ -945,7 +945,7 @@ LilycoveCity_ContestLobby_EventScript_21AC49:: @ 821AC49 delay 20 applymovement 2, LilycoveCity_ContestLobby_Movement_21ACEF waitmovement 0 - applymovement 255, LilycoveCity_ContestLobby_Movement_21ACDB + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_ContestLobby_Movement_21ACDB waitmovement 0 messageautoscroll LilycoveCity_ContestLobby_Text_27B653 waitmessage @@ -953,7 +953,7 @@ LilycoveCity_ContestLobby_EventScript_21AC49:: @ 821AC49 closemessage call LilycoveCity_ContestLobby_EventScript_27AD92 applymovement 2, LilycoveCity_ContestLobby_Movement_21ACE5 - applymovement 255, LilycoveCity_ContestLobby_Movement_21ACD0 + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_ContestLobby_Movement_21ACD0 waitmovement 0 release return diff --git a/data/maps/LilycoveCity_CoveLilyMotel_1F/scripts.inc b/data/maps/LilycoveCity_CoveLilyMotel_1F/scripts.inc index 18ef70cfd..35ab3aa8e 100644 --- a/data/maps/LilycoveCity_CoveLilyMotel_1F/scripts.inc +++ b/data/maps/LilycoveCity_CoveLilyMotel_1F/scripts.inc @@ -46,11 +46,11 @@ LilycoveCity_CoveLilyMotel_1F_EventScript_218211:: @ 8218211 waitmovement 0 applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_27259A waitmovement 0 - applymovement 255, LilycoveCity_CoveLilyMotel_1F_Movement_2725AA + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_CoveLilyMotel_1F_Movement_2725AA waitmovement 0 msgbox LilycoveCity_CoveLilyMotel_1F_Text_21839B, MSGBOX_DEFAULT closemessage - applymovement 255, LilycoveCity_CoveLilyMotel_1F_Movement_218259 + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_CoveLilyMotel_1F_Movement_218259 applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_21825E waitmovement 0 applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_218260 diff --git a/data/maps/LilycoveCity_Harbor/scripts.inc b/data/maps/LilycoveCity_Harbor/scripts.inc index 67ef01e09..7beb75988 100644 --- a/data/maps/LilycoveCity_Harbor/scripts.inc +++ b/data/maps/LilycoveCity_Harbor/scripts.inc @@ -439,12 +439,12 @@ LilycoveCity_Harbor_EventScript_21E5CC:: @ 821E5CC return LilycoveCity_Harbor_EventScript_21E610:: @ 821E610 - applymovement 255, LilycoveCity_Harbor_Movement_21E630 + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_Harbor_Movement_21E630 waitmovement 0 return LilycoveCity_Harbor_EventScript_21E61B:: @ 821E61B - applymovement 255, LilycoveCity_Harbor_Movement_21E633 + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_Harbor_Movement_21E633 waitmovement 0 return @@ -525,14 +525,14 @@ LilycoveCity_Harbor_EventScript_21E696:: @ 821E696 LilycoveCity_Harbor_EventScript_21E6A1:: @ 821E6A1 applymovement 5, LilycoveCity_Harbor_Movement_21E6D3 - applymovement 255, LilycoveCity_Harbor_Movement_21E6D7 + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_Harbor_Movement_21E6D7 applymovement 4, LilycoveCity_Harbor_Movement_21E6DC waitmovement 0 return LilycoveCity_Harbor_EventScript_21E6BA:: @ 821E6BA applymovement 5, LilycoveCity_Harbor_Movement_21E6D3 - applymovement 255, LilycoveCity_Harbor_Movement_21E6E4 + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_Harbor_Movement_21E6E4 applymovement 4, LilycoveCity_Harbor_Movement_21E6EA waitmovement 0 return diff --git a/data/maps/LilycoveCity_LilycoveMuseum_1F/scripts.inc b/data/maps/LilycoveCity_LilycoveMuseum_1F/scripts.inc index f56102a99..54ba63fb0 100644 --- a/data/maps/LilycoveCity_LilycoveMuseum_1F/scripts.inc +++ b/data/maps/LilycoveCity_LilycoveMuseum_1F/scripts.inc @@ -47,7 +47,7 @@ LilycoveCity_LilycoveMuseum_1F_EventScript_218D1E:: @ 8218D1E LilycoveCity_LilycoveMuseum_1F_EventScript_218D5A:: @ 8218D5A lockall - applymovement 255, LilycoveCity_LilycoveMuseum_1F_Movement_218DA1 + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_LilycoveMuseum_1F_Movement_218DA1 waitmovement 0 warp MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F, 255, 11, 8 waitstate @@ -55,7 +55,7 @@ LilycoveCity_LilycoveMuseum_1F_EventScript_218D5A:: @ 8218D5A LilycoveCity_LilycoveMuseum_1F_EventScript_218D6F:: @ 8218D6F lockall - applymovement 255, LilycoveCity_LilycoveMuseum_1F_Movement_218D9B + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_LilycoveMuseum_1F_Movement_218D9B waitmovement 0 warp MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F, 255, 11, 8 waitstate @@ -63,7 +63,7 @@ LilycoveCity_LilycoveMuseum_1F_EventScript_218D6F:: @ 8218D6F LilycoveCity_LilycoveMuseum_1F_EventScript_218D84:: @ 8218D84 lockall - applymovement 255, LilycoveCity_LilycoveMuseum_1F_Movement_218D9E + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_LilycoveMuseum_1F_Movement_218D9E waitmovement 0 warp MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F, 255, 11, 8 waitstate diff --git a/data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc b/data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc index 5f2b64aec..e2bda1ab5 100644 --- a/data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc +++ b/data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc @@ -68,17 +68,17 @@ LilycoveCity_LilycoveMuseum_2F_MapScript2_2197FE: @ 82197FE LilycoveCity_LilycoveMuseum_2F_EventScript_219808:: @ 8219808 lockall applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_27259E - applymovement 255, LilycoveCity_LilycoveMuseum_2F_Movement_219861 + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_LilycoveMuseum_2F_Movement_219861 waitmovement 0 msgbox LilycoveCity_LilycoveMuseum_2F_Text_2199EB, MSGBOX_SIGN applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_219863 waitmovement 0 - applymovement 255, LilycoveCity_LilycoveMuseum_2F_Movement_219863 + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_LilycoveMuseum_2F_Movement_219863 waitmovement 0 msgbox LilycoveCity_LilycoveMuseum_2F_Text_219A0D, MSGBOX_SIGN applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_27259E waitmovement 0 - applymovement 255, LilycoveCity_LilycoveMuseum_2F_Movement_219861 + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_LilycoveMuseum_2F_Movement_219861 waitmovement 0 msgbox LilycoveCity_LilycoveMuseum_2F_Text_219BC4, MSGBOX_SIGN copyvar VAR_0x4094, 0x1 diff --git a/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc b/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc index d4c0f4cea..54df8e81a 100644 --- a/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc +++ b/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc @@ -15,12 +15,12 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21C79A:: @ 821C79A applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_21C7FD applymovement 2, LilycoveCity_PokemonTrainerFanClub_Movement_21C7F5 waitmovement 0 - applymovement 255, LilycoveCity_PokemonTrainerFanClub_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_PokemonTrainerFanClub_Movement_2725A8 waitmovement 0 msgbox LilycoveCity_PokemonTrainerFanClub_Text_21CF12, MSGBOX_DEFAULT applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_21C804 waitmovement 0 - applymovement 255, LilycoveCity_PokemonTrainerFanClub_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_PokemonTrainerFanClub_Movement_2725A4 waitmovement 0 applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_21C807 waitmovement 0 diff --git a/data/maps/LittlerootTown/scripts.inc b/data/maps/LittlerootTown/scripts.inc index 660a3984d..8e70af98b 100644 --- a/data/maps/LittlerootTown/scripts.inc +++ b/data/maps/LittlerootTown/scripts.inc @@ -114,7 +114,7 @@ LittlerootTown_EventScript_1E7EF9:: @ 81E7EF9 LittlerootTown_EventScript_1E7F17:: @ 81E7F17 delay 15 playse SE_DANSA - applymovement 255, LittlerootTown_Movement_1E7FAC + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_1E7FAC waitmovement 0 opendoor VAR_0x8004, VAR_0x8005 waitdooranim @@ -129,12 +129,12 @@ LittlerootTown_EventScript_1E7F17:: @ 81E7F17 msgbox LittlerootTown_Text_1E86BC, MSGBOX_DEFAULT closemessage applymovement 4, LittlerootTown_Movement_1E7F9D - applymovement 255, LittlerootTown_Movement_1E7FA4 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_1E7FA4 waitmovement 0 opendoor VAR_0x8004, VAR_0x8005 waitdooranim applymovement 4, LittlerootTown_Movement_1E7FA1 - applymovement 255, LittlerootTown_Movement_1E7FA9 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_1E7FA9 waitmovement 0 setflag FLAG_HIDE_LITTLEROOT_TOWN_MOM_OUTSIDE setvar VAR_0x4092, 3 @@ -280,7 +280,7 @@ LittlerootTown_EventScript_1E80AD:: @ 81E80AD msgbox LittlerootTown_Text_1E8BB8, MSGBOX_DEFAULT closemessage applymovement 1, LittlerootTown_Movement_1E80DF - applymovement 255, LittlerootTown_Movement_1E80EB + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_1E80EB waitmovement 0 msgbox LittlerootTown_Text_1E8C07, MSGBOX_DEFAULT closemessage @@ -362,7 +362,7 @@ LittlerootTown_EventScript_1E811F:: @ 81E811F lockall applymovement 1, LittlerootTown_Movement_2725A8 waitmovement 0 - applymovement 255, LittlerootTown_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_2725A4 waitmovement 0 special GetPlayerBigGuyGirlString msgbox LittlerootTown_Text_1E8C3A, MSGBOX_DEFAULT @@ -533,70 +533,70 @@ LittlerootTown_EventScript_1E82F0:: @ 81E82F0 return LittlerootTown_EventScript_1E8333:: @ 81E8333 - applymovement 255, LittlerootTown_Movement_2725AA + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_2725AA waitmovement 0 applymovement 4, LittlerootTown_Movement_1E85D1 waitmovement 0 return LittlerootTown_EventScript_1E8348:: @ 81E8348 - applymovement 255, LittlerootTown_Movement_2725AA + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_2725AA waitmovement 0 applymovement 4, LittlerootTown_Movement_1E85D8 waitmovement 0 return LittlerootTown_EventScript_1E835D:: @ 81E835D - applymovement 255, LittlerootTown_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_2725A4 waitmovement 0 applymovement 4, LittlerootTown_Movement_1E85DF waitmovement 0 return LittlerootTown_EventScript_1E8372:: @ 81E8372 - applymovement 255, LittlerootTown_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_2725A4 waitmovement 0 applymovement 4, LittlerootTown_Movement_1E85E4 waitmovement 0 return LittlerootTown_EventScript_1E8387:: @ 81E8387 - applymovement 255, LittlerootTown_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_2725A4 waitmovement 0 applymovement 4, LittlerootTown_Movement_1E85EA waitmovement 0 return LittlerootTown_EventScript_1E839C:: @ 81E839C - applymovement 255, LittlerootTown_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_2725A4 waitmovement 0 applymovement 4, LittlerootTown_Movement_1E85ED waitmovement 0 return LittlerootTown_EventScript_1E83B1:: @ 81E83B1 - applymovement 255, LittlerootTown_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_2725A8 waitmovement 0 applymovement 4, LittlerootTown_Movement_1E85F1 waitmovement 0 return LittlerootTown_EventScript_1E83C6:: @ 81E83C6 - applymovement 255, LittlerootTown_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_2725A8 waitmovement 0 applymovement 4, LittlerootTown_Movement_1E85F5 waitmovement 0 return LittlerootTown_EventScript_1E83DB:: @ 81E83DB - applymovement 255, LittlerootTown_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_2725A8 waitmovement 0 applymovement 4, LittlerootTown_Movement_1E85F8 waitmovement 0 return LittlerootTown_EventScript_1E83F0:: @ 81E83F0 - applymovement 255, LittlerootTown_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_2725A8 waitmovement 0 applymovement 4, LittlerootTown_Movement_1E85FE waitmovement 0 diff --git a/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc b/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc index 4413a80d5..363579e6e 100644 --- a/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc +++ b/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc @@ -62,7 +62,7 @@ LittlerootTown_BrendansHouse_1F_EventScript_1F7814:: @ 81F7814 lockall msgbox LittlerootTown_BrendansHouse_1F_Text_1F7B67, MSGBOX_DEFAULT closemessage - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1F783A + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_1F783A applymovement 1, LittlerootTown_BrendansHouse_1F_Movement_1F783A waitmovement 0 warp MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F, 255, 7, 1 @@ -95,7 +95,7 @@ LittlerootTown_BrendansHouse_1F_EventScript_1F785E:: @ 81F785E waitmovement 0 applymovement 4, LittlerootTown_BrendansHouse_1F_Movement_27259A waitmovement 0 - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_2725A4 applymovement 4, LittlerootTown_BrendansHouse_1F_Movement_1F789C waitmovement 0 special GetRivalSonDaughterString @@ -182,7 +182,7 @@ LittlerootTown_BrendansHouse_1F_EventScript_1F78E2:: @ 81F78E2 end LittlerootTown_BrendansHouse_1F_EventScript_1F7981:: @ 81F7981 - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725AA + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_2725AA waitmovement 0 return @@ -228,19 +228,19 @@ LittlerootTown_BrendansHouse_1F_Movement_1F79B9: @ 81F79B9 step_end LittlerootTown_BrendansHouse_1F_EventScript_1F79C1:: @ 81F79C1 - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1F79F7 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_1F79F7 applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_1F7A06 waitmovement 0 return LittlerootTown_BrendansHouse_1F_EventScript_1F79D3:: @ 81F79D3 - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1F79FB + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_1F79FB applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_1F7A0C waitmovement 0 return LittlerootTown_BrendansHouse_1F_EventScript_1F79E5:: @ 81F79E5 - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1F7A02 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_1F7A02 applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_1F7A16 waitmovement 0 return diff --git a/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc b/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc index 2ebc9b900..d0063a0e3 100644 --- a/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc +++ b/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc @@ -94,11 +94,11 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F8497:: @ 81F8497 LittlerootTown_BrendansHouse_2F_EventScript_1F8507:: @ 81F8507 applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85C0 waitmovement 0 - applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_2F_Movement_2725A8 waitmovement 0 msgbox LittlerootTown_BrendansHouse_2F_Text_1F97B4, MSGBOX_DEFAULT closemessage - applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_1F85CF + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_2F_Movement_1F85CF applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85C6 waitmovement 0 return @@ -106,11 +106,11 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F8507:: @ 81F8507 LittlerootTown_BrendansHouse_2F_EventScript_1F8536:: @ 81F8536 applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85D7 waitmovement 0 - applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_2F_Movement_2725A8 waitmovement 0 msgbox LittlerootTown_BrendansHouse_2F_Text_1F97B4, MSGBOX_DEFAULT closemessage - applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_1F85E2 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_2F_Movement_1F85E2 applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85DB waitmovement 0 return @@ -118,11 +118,11 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F8536:: @ 81F8536 LittlerootTown_BrendansHouse_2F_EventScript_1F8565:: @ 81F8565 applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85E8 waitmovement 0 - applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_2F_Movement_2725A8 waitmovement 0 msgbox LittlerootTown_BrendansHouse_2F_Text_1F97B4, MSGBOX_DEFAULT closemessage - applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_1F85F6 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_2F_Movement_1F85F6 applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85ED waitmovement 0 return @@ -130,7 +130,7 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F8565:: @ 81F8565 LittlerootTown_BrendansHouse_2F_EventScript_1F8594:: @ 81F8594 applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85FD waitmovement 0 - applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_2F_Movement_2725A6 waitmovement 0 msgbox LittlerootTown_BrendansHouse_2F_Text_1F97B4, MSGBOX_DEFAULT closemessage diff --git a/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc b/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc index 824c4d930..a974ce5cb 100644 --- a/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc +++ b/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc @@ -62,7 +62,7 @@ LittlerootTown_MaysHouse_1F_EventScript_1F8964:: @ 81F8964 lockall msgbox LittlerootTown_MaysHouse_1F_Text_1F7B67, MSGBOX_DEFAULT closemessage - applymovement 255, LittlerootTown_MaysHouse_1F_Movement_1F898A + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_1F898A applymovement 1, LittlerootTown_MaysHouse_1F_Movement_1F898A waitmovement 0 warp MAP_LITTLEROOT_TOWN_MAYS_HOUSE_2F, 255, 1, 1 @@ -95,7 +95,7 @@ LittlerootTown_MaysHouse_1F_EventScript_1F89AE:: @ 81F89AE waitmovement 0 applymovement 4, LittlerootTown_MaysHouse_1F_Movement_27259A waitmovement 0 - applymovement 255, LittlerootTown_MaysHouse_1F_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_2725A8 applymovement 4, LittlerootTown_MaysHouse_1F_Movement_1F89EC waitmovement 0 special GetRivalSonDaughterString @@ -221,7 +221,7 @@ LittlerootTown_MaysHouse_1F_EventScript_1F8A8B:: @ 81F8A8B end LittlerootTown_MaysHouse_1F_EventScript_1F8B2A:: @ 81F8B2A - applymovement 255, LittlerootTown_MaysHouse_1F_Movement_2725AA + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_2725AA waitmovement 0 return @@ -267,19 +267,19 @@ LittlerootTown_MaysHouse_1F_Movement_1F8B62: @ 81F8B62 step_end LittlerootTown_MaysHouse_1F_EventScript_1F8B6A:: @ 81F8B6A - applymovement 255, LittlerootTown_MaysHouse_1F_Movement_1F8BA0 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_1F8BA0 applymovement 7, LittlerootTown_MaysHouse_1F_Movement_1F8BAF waitmovement 0 return LittlerootTown_MaysHouse_1F_EventScript_1F8B7C:: @ 81F8B7C - applymovement 255, LittlerootTown_MaysHouse_1F_Movement_1F8BA4 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_1F8BA4 applymovement 7, LittlerootTown_MaysHouse_1F_Movement_1F8BB5 waitmovement 0 return LittlerootTown_MaysHouse_1F_EventScript_1F8B8E:: @ 81F8B8E - applymovement 255, LittlerootTown_MaysHouse_1F_Movement_1F8BAB + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_1F8BAB applymovement 7, LittlerootTown_MaysHouse_1F_Movement_1F8BBF waitmovement 0 return diff --git a/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc b/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc index 8a2ec10ac..ba3233853 100644 --- a/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc +++ b/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc @@ -95,11 +95,11 @@ LittlerootTown_MaysHouse_2F_EventScript_1F934A:: @ 81F934A LittlerootTown_MaysHouse_2F_EventScript_1F93BA:: @ 81F93BA applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F9473 waitmovement 0 - applymovement 255, LittlerootTown_MaysHouse_2F_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_2F_Movement_2725A4 waitmovement 0 msgbox LittlerootTown_MaysHouse_2F_Text_1F959C, MSGBOX_DEFAULT closemessage - applymovement 255, LittlerootTown_MaysHouse_2F_Movement_1F9483 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_2F_Movement_1F9483 applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F9479 waitmovement 0 return @@ -107,11 +107,11 @@ LittlerootTown_MaysHouse_2F_EventScript_1F93BA:: @ 81F93BA LittlerootTown_MaysHouse_2F_EventScript_1F93E9:: @ 81F93E9 applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F948B waitmovement 0 - applymovement 255, LittlerootTown_MaysHouse_2F_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_2F_Movement_2725A4 waitmovement 0 msgbox LittlerootTown_MaysHouse_2F_Text_1F959C, MSGBOX_DEFAULT closemessage - applymovement 255, LittlerootTown_MaysHouse_2F_Movement_1F9497 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_2F_Movement_1F9497 applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F948F waitmovement 0 return @@ -119,7 +119,7 @@ LittlerootTown_MaysHouse_2F_EventScript_1F93E9:: @ 81F93E9 LittlerootTown_MaysHouse_2F_EventScript_1F9418:: @ 81F9418 applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F949D waitmovement 0 - applymovement 255, LittlerootTown_MaysHouse_2F_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_2F_Movement_2725A6 waitmovement 0 msgbox LittlerootTown_MaysHouse_2F_Text_1F959C, MSGBOX_DEFAULT closemessage @@ -130,11 +130,11 @@ LittlerootTown_MaysHouse_2F_EventScript_1F9418:: @ 81F9418 LittlerootTown_MaysHouse_2F_EventScript_1F9440:: @ 81F9440 applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F94AD waitmovement 0 - applymovement 255, LittlerootTown_MaysHouse_2F_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_2F_Movement_2725A4 waitmovement 0 msgbox LittlerootTown_MaysHouse_2F_Text_1F959C, MSGBOX_DEFAULT closemessage - applymovement 255, LittlerootTown_MaysHouse_2F_Movement_1F94BB + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_2F_Movement_1F94BB applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F94B2 waitmovement 0 return diff --git a/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc b/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc index ec6cd9738..829062a73 100644 --- a/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc +++ b/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc @@ -136,7 +136,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1F9E48:: @ 81F9E48 LittlerootTown_ProfessorBirchsLab_EventScript_1F9E67:: @ 81F9E67 lockall - applymovement 255, LittlerootTown_ProfessorBirchsLab_Movement_1F9E78 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_ProfessorBirchsLab_Movement_1F9E78 waitmovement 0 goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA2F8 end @@ -168,7 +168,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1F9E80:: @ 81F9E80 playse SE_TK_KASYA delay 20 applymovement 3, LittlerootTown_ProfessorBirchsLab_Movement_2725A8 - applymovement 255, LittlerootTown_ProfessorBirchsLab_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_ProfessorBirchsLab_Movement_2725A4 waitmovement 0 checkplayergender compare VAR_RESULT, 0 @@ -181,7 +181,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1F9E80:: @ 81F9E80 applymovement 2, LittlerootTown_ProfessorBirchsLab_Movement_1F9F58 waitmovement 0 applymovement 3, LittlerootTown_ProfessorBirchsLab_Movement_2725A6 - applymovement 255, LittlerootTown_ProfessorBirchsLab_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_ProfessorBirchsLab_Movement_2725A6 waitmovement 0 msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB419, MSGBOX_DEFAULT playfanfare MUS_FANFA4 @@ -244,7 +244,7 @@ LittlerootTown_ProfessorBirchsLab_Movement_1F9F58: @ 81F9F58 LittlerootTown_ProfessorBirchsLab_EventScript_1F9F62:: @ 81F9F62 lockall - applymovement 255, LittlerootTown_ProfessorBirchsLab_Movement_1F9F7C + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_ProfessorBirchsLab_Movement_1F9F7C waitmovement 0 msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB5F9, MSGBOX_DEFAULT setvar VAR_0x40D3, 5 @@ -534,7 +534,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA2F8:: @ 81FA2F8 closemessage applymovement 3, LittlerootTown_ProfessorBirchsLab_Movement_1FA3E0 waitmovement 0 - applymovement 255, LittlerootTown_ProfessorBirchsLab_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_ProfessorBirchsLab_Movement_2725A8 waitmovement 0 checkplayergender compare VAR_RESULT, 0 diff --git a/data/maps/MagmaHideout_4F/scripts.inc b/data/maps/MagmaHideout_4F/scripts.inc index 714983999..818b11da7 100644 --- a/data/maps/MagmaHideout_4F/scripts.inc +++ b/data/maps/MagmaHideout_4F/scripts.inc @@ -18,7 +18,7 @@ MagmaHideout_4F_EventScript_23A560:: @ 823A560 playfanfare MUS_ME_TAMA playse SE_TAMA special sub_80B0534 - applymovement 255, MagmaHideout_4F_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, MagmaHideout_4F_Movement_2725A6 waitmovement 0 delay 150 removeobject 7 @@ -50,7 +50,7 @@ MagmaHideout_4F_EventScript_23A560:: @ 823A560 waitmovement 0 msgbox MagmaHideout_4F_Text_23AADA, MSGBOX_DEFAULT closemessage - applymovement 255, MagmaHideout_4F_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, MagmaHideout_4F_Movement_2725A8 waitmovement 0 delay 30 applymovement 6, MagmaHideout_4F_Movement_27259E diff --git a/data/maps/MarineCave_End/scripts.inc b/data/maps/MarineCave_End/scripts.inc index f61620c29..68e27fa58 100644 --- a/data/maps/MarineCave_End/scripts.inc +++ b/data/maps/MarineCave_End/scripts.inc @@ -27,7 +27,7 @@ MarineCave_End_EventScript_23B012:: @ 823B012 MarineCave_End_EventScript_23B01B:: @ 823B01B lockall - applymovement 255, MarineCave_End_Movement_2725B2 + applymovement EVENT_OBJ_ID_PLAYER, MarineCave_End_Movement_2725B2 waitmovement 0 applymovement 1, MarineCave_End_Movement_23B09D waitmovement 0 diff --git a/data/maps/MauvilleCity/scripts.inc b/data/maps/MauvilleCity/scripts.inc index 17ace6e10..e0835a87d 100644 --- a/data/maps/MauvilleCity/scripts.inc +++ b/data/maps/MauvilleCity/scripts.inc @@ -118,19 +118,19 @@ MauvilleCity_EventScript_1DF4AD:: @ 81DF4AD end MauvilleCity_EventScript_1DF4E0:: @ 81DF4E0 - applymovement 255, MauvilleCity_Movement_1DF6DF + applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_1DF6DF applymovement 6, MauvilleCity_Movement_1DF6A8 applymovement 7, MauvilleCity_Movement_1DF6E2 waitmovement 0 applymovement 6, MauvilleCity_Movement_2725A8 waitmovement 0 delay 30 - applymovement 255, MauvilleCity_Movement_1DF6EE + applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_1DF6EE applymovement 7, MauvilleCity_Movement_1DF6F3 waitmovement 0 msgbox MauvilleCity_Text_1DFD34, MSGBOX_DEFAULT closemessage - applymovement 255, MauvilleCity_Movement_1DF6CC + applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_1DF6CC applymovement 7, MauvilleCity_Movement_1DF6FA applymovement 6, MauvilleCity_Movement_1DF6B4 waitmovement 0 @@ -138,7 +138,7 @@ MauvilleCity_EventScript_1DF4E0:: @ 81DF4E0 end MauvilleCity_EventScript_1DF53D:: @ 81DF53D - applymovement 255, MauvilleCity_Movement_1DF6DC + applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_1DF6DC applymovement 6, MauvilleCity_Movement_1DF6AE applymovement 7, MauvilleCity_Movement_1DF6E8 waitmovement 0 @@ -149,7 +149,7 @@ MauvilleCity_EventScript_1DF53D:: @ 81DF53D waitmovement 0 msgbox MauvilleCity_Text_1DFD34, MSGBOX_DEFAULT closemessage - applymovement 255, MauvilleCity_Movement_1DF6D0 + applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_1DF6D0 applymovement 7, MauvilleCity_Movement_1DF703 applymovement 6, MauvilleCity_Movement_1DF6C0 waitmovement 0 @@ -168,7 +168,7 @@ MauvilleCity_EventScript_1DF593:: @ 81DF593 call_if 1, MauvilleCity_EventScript_1DF5F3 compare VAR_FACING, 4 call_if 1, MauvilleCity_EventScript_1DF601 - applymovement 255, MauvilleCity_Movement_2725AA + applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_2725AA waitmovement 0 msgbox MauvilleCity_Text_1DFED5, MSGBOX_DEFAULT closemessage @@ -195,13 +195,13 @@ MauvilleCity_EventScript_1DF601:: @ 81DF601 return MauvilleCity_EventScript_1DF616:: @ 81DF616 - applymovement 255, MauvilleCity_Movement_1DF6D5 + applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_1DF6D5 applymovement 11, MauvilleCity_Movement_1DF725 waitmovement 0 return MauvilleCity_EventScript_1DF628:: @ 81DF628 - applymovement 255, MauvilleCity_Movement_1DF6D8 + applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_1DF6D8 applymovement 11, MauvilleCity_Movement_1DF72F waitmovement 0 return diff --git a/data/maps/MeteorFalls_1F_1R/scripts.inc b/data/maps/MeteorFalls_1F_1R/scripts.inc index 23afa4845..4867ad44f 100644 --- a/data/maps/MeteorFalls_1F_1R/scripts.inc +++ b/data/maps/MeteorFalls_1F_1R/scripts.inc @@ -17,7 +17,7 @@ MeteorFalls_1F_1R_EventScript_22BD3A:: @ 822BD3A MeteorFalls_1F_1R_EventScript_22BD5F:: @ 822BD5F lockall playbgm MUS_MGM0, 0 - applymovement 255, MeteorFalls_1F_1R_Movement_2725B0 + applymovement EVENT_OBJ_ID_PLAYER, MeteorFalls_1F_1R_Movement_2725B0 waitmovement 0 delay 30 applymovement 5, MeteorFalls_1F_1R_Movement_2725B4 @@ -38,7 +38,7 @@ MeteorFalls_1F_1R_EventScript_22BD5F:: @ 822BD5F waitmovement 0 msgbox MeteorFalls_1F_1R_Text_22BFE4, MSGBOX_DEFAULT closemessage - applymovement 255, MeteorFalls_1F_1R_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, MeteorFalls_1F_1R_Movement_2725A4 applymovement 5, MeteorFalls_1F_1R_Movement_2725A4 applymovement 6, MeteorFalls_1F_1R_Movement_2725A4 waitmovement 0 @@ -55,7 +55,7 @@ MeteorFalls_1F_1R_EventScript_22BD5F:: @ 822BD5F waitmovement 0 msgbox MeteorFalls_1F_1R_Text_22C04E, MSGBOX_DEFAULT closemessage - applymovement 255, MeteorFalls_1F_1R_Movement_22BF1D + applymovement EVENT_OBJ_ID_PLAYER, MeteorFalls_1F_1R_Movement_22BF1D applymovement 5, MeteorFalls_1F_1R_Movement_22BEC4 applymovement 6, MeteorFalls_1F_1R_Movement_22BECE waitmovement 0 diff --git a/data/maps/MossdeepCity/scripts.inc b/data/maps/MossdeepCity/scripts.inc index fe037074f..a4a87e3e7 100644 --- a/data/maps/MossdeepCity/scripts.inc +++ b/data/maps/MossdeepCity/scripts.inc @@ -269,13 +269,13 @@ MossdeepCity_EventScript_1E4C85:: @ 81E4C85 end MossdeepCity_EventScript_1E4CB0:: @ 81E4CB0 - applymovement 255, MossdeepCity_Movement_1E4CD4 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Movement_1E4CD4 applymovement 16, MossdeepCity_Movement_1E4CD8 waitmovement 0 return MossdeepCity_EventScript_1E4CC2:: @ 81E4CC2 - applymovement 255, MossdeepCity_Movement_1E4CD4 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Movement_1E4CD4 applymovement 16, MossdeepCity_Movement_1E4CE2 waitmovement 0 return diff --git a/data/maps/MossdeepCity_Gym/scripts.inc b/data/maps/MossdeepCity_Gym/scripts.inc index f42b3f4e4..dd9ebf951 100644 --- a/data/maps/MossdeepCity_Gym/scripts.inc +++ b/data/maps/MossdeepCity_Gym/scripts.inc @@ -118,7 +118,7 @@ MossdeepCity_Gym_EventScript_220999:: @ 8220999 checkflag FLAG_0x064 goto_eq MossdeepCity_Gym_EventScript_2209D0 setflag FLAG_0x064 - applymovement 255, MossdeepCity_Gym_Movement_220C30 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30 waitmovement 0 setmetatile 5, 5, 516, 0 setmetatile 2, 7, 569, 1 @@ -133,7 +133,7 @@ MossdeepCity_Gym_EventScript_2209C8:: @ 82209C8 MossdeepCity_Gym_EventScript_2209D0:: @ 82209D0 clearflag FLAG_0x064 - applymovement 255, MossdeepCity_Gym_Movement_220C30 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30 waitmovement 0 setmetatile 5, 5, 524, 0 setmetatile 2, 7, 568, 1 @@ -145,7 +145,7 @@ MossdeepCity_Gym_EventScript_2209F5:: @ 82209F5 checkflag FLAG_0x065 goto_eq MossdeepCity_Gym_EventScript_220A24 setflag FLAG_0x065 - applymovement 255, MossdeepCity_Gym_Movement_220C30 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30 waitmovement 0 setmetatile 8, 14, 516, 0 setmetatile 8, 10, 569, 1 @@ -154,7 +154,7 @@ MossdeepCity_Gym_EventScript_2209F5:: @ 82209F5 MossdeepCity_Gym_EventScript_220A24:: @ 8220A24 clearflag FLAG_0x065 - applymovement 255, MossdeepCity_Gym_Movement_220C30 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30 waitmovement 0 setmetatile 8, 14, 517, 0 setmetatile 8, 10, 568, 1 @@ -166,7 +166,7 @@ MossdeepCity_Gym_EventScript_220A49:: @ 8220A49 checkflag FLAG_0x066 goto_eq MossdeepCity_Gym_EventScript_220A78 setflag FLAG_0x066 - applymovement 255, MossdeepCity_Gym_Movement_220C30 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30 waitmovement 0 setmetatile 15, 17, 524, 0 setmetatile 17, 15, 569, 1 @@ -175,7 +175,7 @@ MossdeepCity_Gym_EventScript_220A49:: @ 8220A49 MossdeepCity_Gym_EventScript_220A78:: @ 8220A78 clearflag FLAG_0x066 - applymovement 255, MossdeepCity_Gym_Movement_220C30 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30 waitmovement 0 setmetatile 15, 17, 516, 0 setmetatile 17, 15, 568, 1 @@ -187,7 +187,7 @@ MossdeepCity_Gym_EventScript_220A9D:: @ 8220A9D checkflag FLAG_0x067 goto_eq MossdeepCity_Gym_EventScript_220ACC setflag FLAG_0x067 - applymovement 255, MossdeepCity_Gym_Movement_220C30 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30 waitmovement 0 setmetatile 1, 23, 525, 0 setmetatile 5, 24, 569, 1 @@ -196,7 +196,7 @@ MossdeepCity_Gym_EventScript_220A9D:: @ 8220A9D MossdeepCity_Gym_EventScript_220ACC:: @ 8220ACC clearflag FLAG_0x067 - applymovement 255, MossdeepCity_Gym_Movement_220C30 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30 waitmovement 0 setmetatile 1, 23, 516, 0 setmetatile 5, 24, 568, 1 diff --git a/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc b/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc index 3c31ec06c..96bc41e07 100644 --- a/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc +++ b/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc @@ -32,16 +32,16 @@ MossdeepCity_SpaceCenter_2F_MapScript2_223DB5: @ 8223DB5 MossdeepCity_SpaceCenter_2F_EventScript_223DBF:: @ 8223DBF playse SE_PIN - applymovement 255, MossdeepCity_SpaceCenter_2F_Movement_272598 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_SpaceCenter_2F_Movement_272598 waitmovement 0 - applymovement 255, MossdeepCity_SpaceCenter_2F_Movement_27259A + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_SpaceCenter_2F_Movement_27259A waitmovement 0 msgbox MossdeepCity_SpaceCenter_2F_Text_2243A4, MSGBOX_YESNO compare VAR_RESULT, 1 goto_eq MossdeepCity_SpaceCenter_2F_EventScript_223E09 msgbox MossdeepCity_SpaceCenter_2F_Text_2243FE, MSGBOX_DEFAULT closemessage - applymovement 255, MossdeepCity_SpaceCenter_2F_Movement_223E07 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_SpaceCenter_2F_Movement_223E07 waitmovement 0 warp MAP_MOSSDEEP_CITY_SPACE_CENTER_1F, 255, 13, 1 waitstate @@ -57,13 +57,13 @@ MossdeepCity_SpaceCenter_2F_EventScript_223E09:: @ 8223E09 trainerbattle_no_intro TRAINER_GRUNT_34, MossdeepCity_SpaceCenter_2F_Text_224461 applymovement 6, MossdeepCity_SpaceCenter_2F_Movement_223E85 waitmovement 0 - applymovement 255, MossdeepCity_SpaceCenter_2F_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_SpaceCenter_2F_Movement_2725A4 waitmovement 0 msgbox MossdeepCity_SpaceCenter_2F_Text_22446E, MSGBOX_DEFAULT trainerbattle_no_intro TRAINER_GRUNT_35, MossdeepCity_SpaceCenter_2F_Text_224499 applymovement 5, MossdeepCity_SpaceCenter_2F_Movement_223E81 waitmovement 0 - applymovement 255, MossdeepCity_SpaceCenter_2F_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_SpaceCenter_2F_Movement_2725A8 waitmovement 0 msgbox MossdeepCity_SpaceCenter_2F_Text_2244AB, MSGBOX_DEFAULT trainerbattle_no_intro TRAINER_GRUNT_36, MossdeepCity_SpaceCenter_2F_Text_2244F1 diff --git a/data/maps/MtChimney/scripts.inc b/data/maps/MtChimney/scripts.inc index 88df5692e..ee89519bc 100644 --- a/data/maps/MtChimney/scripts.inc +++ b/data/maps/MtChimney/scripts.inc @@ -62,7 +62,7 @@ MtChimney_EventScript_22EE0B:: @ 822EE0B call_if 1, MtChimney_EventScript_22EEC7 compare VAR_FACING, 2 call_if 1, MtChimney_EventScript_22EED2 - applymovement 255, MtChimney_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, MtChimney_Movement_2725A4 waitmovement 0 msgbox MtChimney_Text_22FC3D, MSGBOX_DEFAULT closemessage diff --git a/data/maps/MtChimney_CableCarStation/scripts.inc b/data/maps/MtChimney_CableCarStation/scripts.inc index 89fc9fd38..664f75935 100644 --- a/data/maps/MtChimney_CableCarStation/scripts.inc +++ b/data/maps/MtChimney_CableCarStation/scripts.inc @@ -19,7 +19,7 @@ MtChimney_CableCarStation_MapScript2_22AC1D: @ 822AC1D MtChimney_CableCarStation_EventScript_22AC27:: @ 822AC27 lockall - applymovement 255, MtChimney_CableCarStation_Movement_22ACB4 + applymovement EVENT_OBJ_ID_PLAYER, MtChimney_CableCarStation_Movement_22ACB4 applymovement 1, MtChimney_CableCarStation_Movement_22ACAA waitmovement 0 setvar VAR_0x40A3, 0 @@ -42,7 +42,7 @@ MtChimney_CableCarStation_EventScript_22AC6C:: @ 822AC6C msgbox MtChimney_CableCarStation_Text_22ACF8, MSGBOX_DEFAULT closemessage applymovement 1, MtChimney_CableCarStation_Movement_22ACA5 - applymovement 255, MtChimney_CableCarStation_Movement_22ACAF + applymovement EVENT_OBJ_ID_PLAYER, MtChimney_CableCarStation_Movement_22ACAF waitmovement 0 setvar VAR_0x8004, 1 setvar VAR_0x40A3, 2 diff --git a/data/maps/MtPyre_Summit/scripts.inc b/data/maps/MtPyre_Summit/scripts.inc index 13caaab1e..3e19bc95a 100644 --- a/data/maps/MtPyre_Summit/scripts.inc +++ b/data/maps/MtPyre_Summit/scripts.inc @@ -32,7 +32,7 @@ MtPyre_Summit_EventScript_232030:: @ 8232030 MtPyre_Summit_EventScript_23203C:: @ 823203C playbgm MUS_AQA_0, 0 - applymovement 255, MtPyre_Summit_Movement_2725B2 + applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2725B2 waitmovement 0 applymovement 2, MtPyre_Summit_Movement_2725AA waitmovement 0 @@ -86,7 +86,7 @@ MtPyre_Summit_EventScript_2320EC:: @ 82320EC MtPyre_Summit_EventScript_2320F7:: @ 82320F7 applymovement 3, MtPyre_Summit_Movement_23212C waitmovement 0 - applymovement 255, MtPyre_Summit_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2725A8 waitmovement 0 return @@ -98,7 +98,7 @@ MtPyre_Summit_EventScript_23210C:: @ 823210C MtPyre_Summit_EventScript_232117:: @ 8232117 applymovement 3, MtPyre_Summit_Movement_232132 waitmovement 0 - applymovement 255, MtPyre_Summit_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2725A4 waitmovement 0 return @@ -210,7 +210,7 @@ MtPyre_Summit_EventScript_232204:: @ 8232204 end MtPyre_Summit_EventScript_232210:: @ 8232210 - applymovement 255, MtPyre_Summit_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2725A6 waitmovement 0 delay 60 compare VAR_0x8008, 0 @@ -250,49 +250,49 @@ MtPyre_Summit_EventScript_232210:: @ 8232210 end MtPyre_Summit_EventScript_2322C4:: @ 82322C4 - applymovement 255, MtPyre_Summit_Movement_2323C4 + applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323C4 applymovement 2, MtPyre_Summit_Movement_2323B6 applymovement 8, MtPyre_Summit_Movement_2323BD waitmovement 0 return MtPyre_Summit_EventScript_2322DD:: @ 82322DD - applymovement 255, MtPyre_Summit_Movement_2323CB + applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323CB applymovement 2, MtPyre_Summit_Movement_2323B6 applymovement 8, MtPyre_Summit_Movement_2323BD waitmovement 0 return MtPyre_Summit_EventScript_2322F6:: @ 82322F6 - applymovement 255, MtPyre_Summit_Movement_2323D2 + applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323D2 applymovement 2, MtPyre_Summit_Movement_2323B6 applymovement 8, MtPyre_Summit_Movement_2323BD waitmovement 0 return MtPyre_Summit_EventScript_23230F:: @ 823230F - applymovement 255, MtPyre_Summit_Movement_2323AE + applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323AE applymovement 2, MtPyre_Summit_Movement_2323E7 applymovement 8, MtPyre_Summit_Movement_2323D8 waitmovement 0 return MtPyre_Summit_EventScript_232328:: @ 8232328 - applymovement 255, MtPyre_Summit_Movement_2323B2 + applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323B2 applymovement 2, MtPyre_Summit_Movement_2323E7 applymovement 8, MtPyre_Summit_Movement_2323DD waitmovement 0 return MtPyre_Summit_EventScript_232341:: @ 8232341 - applymovement 255, MtPyre_Summit_Movement_2323B2 + applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323B2 applymovement 2, MtPyre_Summit_Movement_2323E7 applymovement 8, MtPyre_Summit_Movement_2323E2 waitmovement 0 return MtPyre_Summit_EventScript_23235A:: @ 823235A - applymovement 255, MtPyre_Summit_Movement_2323EA + applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323EA applymovement 8, MtPyre_Summit_Movement_2323ED waitmovement 0 applymovement 2, MtPyre_Summit_Movement_2725A8 @@ -300,7 +300,7 @@ MtPyre_Summit_EventScript_23235A:: @ 823235A return MtPyre_Summit_EventScript_232376:: @ 8232376 - applymovement 255, MtPyre_Summit_Movement_2323EA + applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323EA applymovement 8, MtPyre_Summit_Movement_2323F3 waitmovement 0 applymovement 2, MtPyre_Summit_Movement_2725A8 @@ -308,7 +308,7 @@ MtPyre_Summit_EventScript_232376:: @ 8232376 return MtPyre_Summit_EventScript_232392:: @ 8232392 - applymovement 255, MtPyre_Summit_Movement_2323EA + applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323EA applymovement 8, MtPyre_Summit_Movement_2323F8 waitmovement 0 applymovement 2, MtPyre_Summit_Movement_2725A8 diff --git a/data/maps/NavelRock_Top/scripts.inc b/data/maps/NavelRock_Top/scripts.inc index 8ae17cb37..f2b107947 100644 --- a/data/maps/NavelRock_Top/scripts.inc +++ b/data/maps/NavelRock_Top/scripts.inc @@ -38,12 +38,12 @@ NavelRock_Top_EventScript_26915B:: @ 826915B NavelRock_Top_EventScript_26916F:: @ 826916F lockall setvar VAR_TEMP_1, 1 - special SpawnScriptEventObject + special SpawnCameraObject setvar VAR_0x8004, 3 setvar VAR_0x8005, 35 special sub_813B80C applymovement 1, NavelRock_Top_Movement_269243 - applymovement 127, NavelRock_Top_Movement_269230 + applymovement EVENT_OBJ_ID_CAMERA, NavelRock_Top_Movement_269230 waitmovement 0 delay 50 setweather 0 @@ -56,10 +56,10 @@ NavelRock_Top_EventScript_26916F:: @ 826916F setvar VAR_0x8004, 3 setvar VAR_0x8005, 35 special sub_813B80C - applymovement 127, NavelRock_Top_Movement_269234 + applymovement EVENT_OBJ_ID_CAMERA, NavelRock_Top_Movement_269234 applymovement 1, NavelRock_Top_Movement_26923A waitmovement 0 - special RemoveScriptEventObject + special RemoveCameraObject setvar VAR_0x8004, 250 setvar VAR_0x8005, 70 setvar VAR_0x8006, 0 diff --git a/data/maps/NewMauville_Entrance/scripts.inc b/data/maps/NewMauville_Entrance/scripts.inc index 714a20b6b..9efc423db 100644 --- a/data/maps/NewMauville_Entrance/scripts.inc +++ b/data/maps/NewMauville_Entrance/scripts.inc @@ -23,7 +23,7 @@ NewMauville_Entrance_MapScript1_2372FB: @ 82372FB NewMauville_Entrance_EventScript_2372FF:: @ 82372FF lockall - applymovement 255, NewMauville_Entrance_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, NewMauville_Entrance_Movement_2725A6 waitmovement 0 msgbox NewMauville_Entrance_Text_237382, MSGBOX_DEFAULT checkitem ITEM_BASEMENT_KEY, 1 diff --git a/data/maps/OldaleTown/scripts.inc b/data/maps/OldaleTown/scripts.inc index d2e808116..80867cca6 100644 --- a/data/maps/OldaleTown/scripts.inc +++ b/data/maps/OldaleTown/scripts.inc @@ -54,20 +54,20 @@ OldaleTown_EventScript_1E8EFC:: @ 81E8EFC OldaleTown_EventScript_1E8F47:: @ 81E8F47 applymovement 2, OldaleTown_Movement_1E8FD7 - applymovement 255, OldaleTown_Movement_1E9001 + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_Movement_1E9001 waitmovement 0 goto OldaleTown_EventScript_1E8F8C end OldaleTown_EventScript_1E8F5E:: @ 81E8F5E applymovement 2, OldaleTown_Movement_1E8FE2 - applymovement 255, OldaleTown_Movement_1E900B + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_Movement_1E900B waitmovement 0 goto OldaleTown_EventScript_1E8F8C end OldaleTown_EventScript_1E8F75:: @ 81E8F75 - applymovement 255, OldaleTown_Movement_1E8FF9 + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_Movement_1E8FF9 applymovement 2, OldaleTown_Movement_1E8FCE waitmovement 0 goto OldaleTown_EventScript_1E8F8C @@ -206,7 +206,7 @@ OldaleTown_EventScript_1E901F:: @ 81E901F OldaleTown_EventScript_1E903F:: @ 81E903F lockall - applymovement 255, OldaleTown_Movement_1E9182 + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_Movement_1E9182 applymovement 3, OldaleTown_Movement_1E9185 waitmovement 0 msgbox OldaleTown_Text_1E9313, MSGBOX_DEFAULT @@ -233,7 +233,7 @@ OldaleTown_EventScript_1E9086:: @ 81E9086 lockall applymovement 4, OldaleTown_Movement_1E9170 waitmovement 0 - applymovement 255, OldaleTown_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_Movement_2725A8 waitmovement 0 setvar VAR_0x8009, 1 goto OldaleTown_EventScript_1E90E6 @@ -243,7 +243,7 @@ OldaleTown_EventScript_1E90A6:: @ 81E90A6 lockall applymovement 4, OldaleTown_Movement_1E9173 waitmovement 0 - applymovement 255, OldaleTown_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_Movement_2725A8 waitmovement 0 setvar VAR_0x8009, 1 goto OldaleTown_EventScript_1E90E6 @@ -253,7 +253,7 @@ OldaleTown_EventScript_1E90C6:: @ 81E90C6 lockall applymovement 4, OldaleTown_Movement_1E9175 waitmovement 0 - applymovement 255, OldaleTown_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_Movement_2725A8 waitmovement 0 setvar VAR_0x8009, 1 goto OldaleTown_EventScript_1E90E6 @@ -299,7 +299,7 @@ OldaleTown_EventScript_1E9148:: @ 81E9148 return OldaleTown_EventScript_1E915E:: @ 81E915E - applymovement 255, OldaleTown_Movement_1E917E + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_Movement_1E917E applymovement 4, OldaleTown_Movement_1E9177 waitmovement 0 return diff --git a/data/maps/PetalburgCity/scripts.inc b/data/maps/PetalburgCity/scripts.inc index bdffb6814..beee8d57e 100644 --- a/data/maps/PetalburgCity/scripts.inc +++ b/data/maps/PetalburgCity/scripts.inc @@ -33,7 +33,7 @@ PetalburgCity_EventScript_1DC32E:: @ 81DC32E special SavePlayerParty special PutZigzagoonInPlayerParty applymovement 2, PetalburgCity_Movement_1DC451 - applymovement 255, PetalburgCity_Movement_1DC430 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC430 waitmovement 0 msgbox PetalburgCity_Text_1EC1F8, MSGBOX_DEFAULT special StartWallyTutorialBattle @@ -58,14 +58,14 @@ PetalburgCity_EventScript_1DC390:: @ 81DC390 lockall setflag FLAG_SPECIAL_FLAG_0x4000 applymovement 5, PetalburgCity_Movement_1DC41B - applymovement 255, PetalburgCity_Movement_1DC406 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC406 waitmovement 0 setvar VAR_0x8004, 7 setvar VAR_0x8005, 5 opendoor VAR_0x8004, VAR_0x8005 waitdooranim applymovement 5, PetalburgCity_Movement_1DC42D - applymovement 255, PetalburgCity_Movement_1DC418 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC418 waitmovement 0 setflag FLAG_HIDE_PETALBURG_CITY_WALLYS_UNCLE hideobjectat 255, MAP_PETALBURG_CITY @@ -286,7 +286,7 @@ PetalburgCity_EventScript_1DC4CA:: @ 81DC4CA call_if 1, PetalburgCity_EventScript_1DC5FF msgbox PetalburgCity_Text_1DC91B, MSGBOX_DEFAULT applymovement 8, PetalburgCity_Movement_2725A8 - applymovement 255, PetalburgCity_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_2725A8 waitmovement 0 msgbox PetalburgCity_Text_1DC93E, MSGBOX_DEFAULT closemessage @@ -299,7 +299,7 @@ PetalburgCity_EventScript_1DC4CA:: @ 81DC4CA PetalburgCity_EventScript_1DC57F:: @ 81DC57F applymovement 8, PetalburgCity_Movement_1DC615 waitmovement 0 - applymovement 255, PetalburgCity_Movement_2725AA + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_2725AA waitmovement 0 return @@ -311,38 +311,38 @@ PetalburgCity_EventScript_1DC594:: @ 81DC594 PetalburgCity_EventScript_1DC59F:: @ 81DC59F applymovement 8, PetalburgCity_Movement_1DC61D waitmovement 0 - applymovement 255, PetalburgCity_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_2725A6 waitmovement 0 return PetalburgCity_EventScript_1DC5B4:: @ 81DC5B4 applymovement 8, PetalburgCity_Movement_1DC622 waitmovement 0 - applymovement 255, PetalburgCity_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_2725A6 waitmovement 0 return PetalburgCity_EventScript_1DC5C9:: @ 81DC5C9 applymovement 8, PetalburgCity_Movement_1DC628 - applymovement 255, PetalburgCity_Movement_1DC665 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC665 waitmovement 0 return PetalburgCity_EventScript_1DC5DB:: @ 81DC5DB applymovement 8, PetalburgCity_Movement_1DC633 - applymovement 255, PetalburgCity_Movement_1DC66F + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC66F waitmovement 0 return PetalburgCity_EventScript_1DC5ED:: @ 81DC5ED applymovement 8, PetalburgCity_Movement_1DC641 - applymovement 255, PetalburgCity_Movement_1DC67C + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC67C waitmovement 0 return PetalburgCity_EventScript_1DC5FF:: @ 81DC5FF applymovement 8, PetalburgCity_Movement_1DC64C - applymovement 255, PetalburgCity_Movement_1DC686 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC686 waitmovement 0 return @@ -544,7 +544,7 @@ PetalburgCity_EventScript_1DC6E9:: @ 81DC6E9 waitmovement 0 applymovement 9, PetalburgCity_Movement_1DC7DB waitmovement 0 - applymovement 255, PetalburgCity_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_2725A8 waitmovement 0 setvar VAR_0x40D1, 1 msgbox PetalburgCity_Text_1DCB31, MSGBOX_DEFAULT @@ -573,25 +573,25 @@ PetalburgCity_EventScript_1DC6E9:: @ 81DC6E9 end PetalburgCity_EventScript_1DC78E:: @ 81DC78E - applymovement 255, PetalburgCity_Movement_1DC7EE + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC7EE applymovement 9, PetalburgCity_Movement_1DC7E0 waitmovement 0 return PetalburgCity_EventScript_1DC7A0:: @ 81DC7A0 - applymovement 255, PetalburgCity_Movement_1DC802 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC802 applymovement 9, PetalburgCity_Movement_1DC7F5 waitmovement 0 return PetalburgCity_EventScript_1DC7B2:: @ 81DC7B2 - applymovement 255, PetalburgCity_Movement_1DC815 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC815 applymovement 9, PetalburgCity_Movement_1DC808 waitmovement 0 return PetalburgCity_EventScript_1DC7C4:: @ 81DC7C4 - applymovement 255, PetalburgCity_Movement_1DC828 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC828 applymovement 9, PetalburgCity_Movement_1DC81B waitmovement 0 return diff --git a/data/maps/PetalburgCity_Gym/scripts.inc b/data/maps/PetalburgCity_Gym/scripts.inc index 6a58c20f7..9b0f4bcb5 100644 --- a/data/maps/PetalburgCity_Gym/scripts.inc +++ b/data/maps/PetalburgCity_Gym/scripts.inc @@ -91,14 +91,14 @@ PetalburgCity_Gym_EventScript_2049A4:: @ 82049A4 msgbox PetalburgCity_Gym_Text_205B32, MSGBOX_DEFAULT msgbox PetalburgCity_Gym_Text_205B4C, MSGBOX_DEFAULT closemessage - applymovement 255, PetalburgCity_Gym_Movement_2725AA + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2725AA applymovement 10, PetalburgCity_Gym_Movement_2049EC waitmovement 0 playse SE_KAIDAN removeobject 10 setflag FLAG_HIDE_PETALBURG_CITY_WALLY delay 30 - applymovement 255, PetalburgCity_Gym_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2725A6 waitmovement 0 msgbox PetalburgCity_Gym_Text_205C40, MSGBOX_DEFAULT setvar VAR_0x4085, 2 @@ -238,13 +238,13 @@ PetalburgCity_Gym_EventScript_204C43:: @ 8204C43 applymovement 10, PetalburgCity_Gym_Movement_2050E1 waitmovement 0 applymovement 1, PetalburgCity_Gym_Movement_2725A8 - applymovement 255, PetalburgCity_Gym_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2725A8 waitmovement 0 return PetalburgCity_Gym_EventScript_204C5F:: @ 8204C5F applymovement 1, PetalburgCity_Gym_Movement_2725AA - applymovement 255, PetalburgCity_Gym_Movement_2725AA + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2725AA applymovement 10, PetalburgCity_Gym_Movement_2050EB waitmovement 0 return @@ -252,25 +252,25 @@ PetalburgCity_Gym_EventScript_204C5F:: @ 8204C5F PetalburgCity_Gym_EventScript_204C78:: @ 8204C78 applymovement 1, PetalburgCity_Gym_Movement_2725AA applymovement 10, PetalburgCity_Gym_Movement_205102 - applymovement 255, PetalburgCity_Gym_Movement_205111 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_205111 waitmovement 0 return PetalburgCity_Gym_EventScript_204C91:: @ 8204C91 applymovement 10, PetalburgCity_Gym_Movement_2050F2 - applymovement 255, PetalburgCity_Gym_Movement_205109 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_205109 waitmovement 0 return PetalburgCity_Gym_EventScript_204CA3:: @ 8204CA3 applymovement 10, PetalburgCity_Gym_Movement_205102 - applymovement 255, PetalburgCity_Gym_Movement_20511B + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_20511B waitmovement 0 return PetalburgCity_Gym_EventScript_204CB5:: @ 8204CB5 applymovement 10, PetalburgCity_Gym_Movement_2050FA - applymovement 255, PetalburgCity_Gym_Movement_205123 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_205123 waitmovement 0 return @@ -281,19 +281,19 @@ PetalburgCity_Gym_EventScript_204CC7:: @ 8204CC7 PetalburgCity_Gym_EventScript_204CD2:: @ 8204CD2 applymovement 1, PetalburgCity_Gym_Movement_2725AA - applymovement 255, PetalburgCity_Gym_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2725A6 waitmovement 0 return PetalburgCity_Gym_EventScript_204CE4:: @ 8204CE4 applymovement 1, PetalburgCity_Gym_Movement_2725A8 - applymovement 255, PetalburgCity_Gym_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2725A4 waitmovement 0 return PetalburgCity_Gym_EventScript_204CF6:: @ 8204CF6 applymovement 1, PetalburgCity_Gym_Movement_2725A4 - applymovement 255, PetalburgCity_Gym_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2725A8 waitmovement 0 return @@ -524,7 +524,7 @@ PetalburgCity_Gym_EventScript_204FE2:: @ 8204FE2 PetalburgCity_Gym_EventScript_204FED:: @ 8204FED applymovement 11, PetalburgCity_Gym_Movement_2050C3 waitmovement 0 - applymovement 255, PetalburgCity_Gym_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2725A4 applymovement 1, PetalburgCity_Gym_Movement_2725A4 waitmovement 0 return @@ -532,7 +532,7 @@ PetalburgCity_Gym_EventScript_204FED:: @ 8204FED PetalburgCity_Gym_EventScript_205009:: @ 8205009 applymovement 11, PetalburgCity_Gym_Movement_2050CA waitmovement 0 - applymovement 255, PetalburgCity_Gym_Movement_2725AA + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2725AA applymovement 1, PetalburgCity_Gym_Movement_2725AA waitmovement 0 return @@ -540,7 +540,7 @@ PetalburgCity_Gym_EventScript_205009:: @ 8205009 PetalburgCity_Gym_EventScript_205025:: @ 8205025 applymovement 11, PetalburgCity_Gym_Movement_2050D0 waitmovement 0 - applymovement 255, PetalburgCity_Gym_Movement_2725AA + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2725AA applymovement 1, PetalburgCity_Gym_Movement_2725AA waitmovement 0 return @@ -548,19 +548,19 @@ PetalburgCity_Gym_EventScript_205025:: @ 8205025 PetalburgCity_Gym_EventScript_205041:: @ 8205041 applymovement 11, PetalburgCity_Gym_Movement_20507E applymovement 1, PetalburgCity_Gym_Movement_2725AA - applymovement 255, PetalburgCity_Gym_Movement_2050A1 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2050A1 waitmovement 0 return PetalburgCity_Gym_EventScript_20505A:: @ 820505A applymovement 11, PetalburgCity_Gym_Movement_205089 - applymovement 255, PetalburgCity_Gym_Movement_2050A9 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2050A9 waitmovement 0 return PetalburgCity_Gym_EventScript_20506C:: @ 820506C applymovement 11, PetalburgCity_Gym_Movement_205094 - applymovement 255, PetalburgCity_Gym_Movement_2050B1 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2050B1 waitmovement 0 return diff --git a/data/maps/PetalburgWoods/scripts.inc b/data/maps/PetalburgWoods/scripts.inc index 387955f73..7dab2747b 100644 --- a/data/maps/PetalburgWoods/scripts.inc +++ b/data/maps/PetalburgWoods/scripts.inc @@ -30,7 +30,7 @@ PetalburgWoods_EventScript_22DFD7:: @ 822DFD7 applymovement 3, PetalburgWoods_Movement_22E1F9 waitmovement 0 call PetalburgWoods_EventScript_22E138 - applymovement 255, PetalburgWoods_Movement_22E1E0 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgWoods_Movement_22E1E0 applymovement 4, PetalburgWoods_Movement_22E1C2 waitmovement 0 goto PetalburgWoods_EventScript_22E1A7 @@ -41,7 +41,7 @@ PetalburgWoods_EventScript_22E079:: @ 822E079 call PetalburgWoods_EventScript_22E124 applymovement 4, PetalburgWoods_Movement_22E1D0 waitmovement 0 - applymovement 255, PetalburgWoods_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgWoods_Movement_2725A4 waitmovement 0 msgbox PetalburgWoods_Text_22E34F, MSGBOX_DEFAULT closemessage @@ -59,14 +59,14 @@ PetalburgWoods_EventScript_22E079:: @ 822E079 applymovement 4, PetalburgWoods_Movement_22E1EA waitmovement 0 msgbox PetalburgWoods_Text_22E457, MSGBOX_DEFAULT - applymovement 255, PetalburgWoods_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgWoods_Movement_2725A6 waitmovement 0 msgbox PetalburgWoods_Text_22E4A5, MSGBOX_DEFAULT trainerbattle_no_intro TRAINER_GRUNT_8, PetalburgWoods_Text_22E542 applymovement 3, PetalburgWoods_Movement_22E1F9 waitmovement 0 call PetalburgWoods_EventScript_22E138 - applymovement 255, PetalburgWoods_Movement_22E1E0 + applymovement EVENT_OBJ_ID_PLAYER, PetalburgWoods_Movement_22E1E0 applymovement 4, PetalburgWoods_Movement_22E1D7 waitmovement 0 goto PetalburgWoods_EventScript_22E1A7 @@ -85,7 +85,7 @@ PetalburgWoods_EventScript_22E138:: @ 822E138 applymovement 3, PetalburgWoods_Movement_22E1FD waitmovement 0 removeobject 3 - applymovement 255, PetalburgWoods_Movement_2725AA + applymovement EVENT_OBJ_ID_PLAYER, PetalburgWoods_Movement_2725AA waitmovement 0 msgbox PetalburgWoods_Text_22E63D, MSGBOX_DEFAULT giveitem_std ITEM_GREAT_BALL diff --git a/data/maps/Route101/scripts.inc b/data/maps/Route101/scripts.inc index f724914ba..eaf9d7118 100644 --- a/data/maps/Route101/scripts.inc +++ b/data/maps/Route101/scripts.inc @@ -23,7 +23,7 @@ Route101_EventScript_1EBCDE:: @ 81EBCDE closemessage setobjectxy 2, 0, 15 setobjectxy 4, 0, 16 - applymovement 255, Route101_Movement_1EBDC2 + applymovement EVENT_OBJ_ID_PLAYER, Route101_Movement_1EBDC2 applymovement 2, Route101_Movement_1EBDE7 applymovement 4, Route101_Movement_1EBDB5 waitmovement 0 @@ -45,7 +45,7 @@ Route101_EventScript_1EBD4E:: @ 81EBD4E lockall msgbox Route101_Text_1EBEDF, MSGBOX_DEFAULT closemessage - applymovement 255, Route101_Movement_1EBD90 + applymovement EVENT_OBJ_ID_PLAYER, Route101_Movement_1EBD90 waitmovement 0 releaseall end @@ -54,7 +54,7 @@ Route101_EventScript_1EBD64:: @ 81EBD64 lockall msgbox Route101_Text_1EBEDF, MSGBOX_DEFAULT closemessage - applymovement 255, Route101_Movement_1EBD92 + applymovement EVENT_OBJ_ID_PLAYER, Route101_Movement_1EBD92 waitmovement 0 releaseall end @@ -63,7 +63,7 @@ Route101_EventScript_1EBD7A:: @ 81EBD7A lockall msgbox Route101_Text_1EBEDF, MSGBOX_DEFAULT closemessage - applymovement 255, Route101_Movement_1EBD94 + applymovement EVENT_OBJ_ID_PLAYER, Route101_Movement_1EBD94 waitmovement 0 releaseall end @@ -223,7 +223,7 @@ Route101_EventScript_1EBE16:: @ 81EBE16 fadescreen 1 removeobject 4 setobjectxy 255, 6, 13 - applymovement 255, Route101_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, Route101_Movement_2725A4 waitmovement 0 special ChooseStarter waitstate diff --git a/data/maps/Route103/scripts.inc b/data/maps/Route103/scripts.inc index e79ddd041..e2b60e800 100644 --- a/data/maps/Route103/scripts.inc +++ b/data/maps/Route103/scripts.inc @@ -111,7 +111,7 @@ Route103_EventScript_1EC50A:: @ 81EC50A end Route103_EventScript_1EC53D:: @ 81EC53D - applymovement 255, Route103_Movement_1EC5C8 + applymovement EVENT_OBJ_ID_PLAYER, Route103_Movement_1EC5C8 applymovement 2, Route103_Movement_1EC5BE waitmovement 0 playse SE_DANSA @@ -121,7 +121,7 @@ Route103_EventScript_1EC53D:: @ 81EC53D end Route103_EventScript_1EC561:: @ 81EC561 - applymovement 255, Route103_Movement_1EC5D6 + applymovement EVENT_OBJ_ID_PLAYER, Route103_Movement_1EC5D6 applymovement 2, Route103_Movement_1EC5CE waitmovement 0 playse SE_DANSA diff --git a/data/maps/Route104/scripts.inc b/data/maps/Route104/scripts.inc index 1d591793d..c6f019edb 100644 --- a/data/maps/Route104/scripts.inc +++ b/data/maps/Route104/scripts.inc @@ -55,12 +55,12 @@ Route104_EventScript_1ECCB3:: @ 81ECCB3 setflag FLAG_HIDE_RUSBORO_CITY_RIVAL setvar VAR_0x405A, 8 setvar VAR_0x4063, 2 - applymovement 255, Route104_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_2725A6 waitmovement 0 delay 10 addobject 34 clearflag FLAG_HIDE_ROUTE_104_RIVAL - applymovement 255, Route104_Movement_1ECF86 + applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ECF86 waitmovement 0 applymovement 34, Route104_Movement_1ECF8A waitmovement 0 @@ -113,7 +113,7 @@ Route104_EventScript_1ECD4B:: @ 81ECD4B closemessage delay 30 setflag FLAG_0x0FD - applymovement 255, Route104_Movement_1ECDCD + applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ECDCD applymovement 34, Route104_Movement_1ECDC8 msgbox Route104_Text_1EDCB1, MSGBOX_DEFAULT closemessage @@ -204,7 +204,7 @@ Route104_EventScript_1ECE6F:: @ 81ECE6F closemessage delay 30 setflag FLAG_0x0FD - applymovement 255, Route104_Movement_1ECDCD + applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ECDCD applymovement 34, Route104_Movement_1ECDC8 msgbox Route104_Text_1EDFC6, MSGBOX_DEFAULT closemessage @@ -372,7 +372,7 @@ Route104_EventScript_1ED099:: @ 81ED099 applymovement 8, Route104_Movement_1ED359 waitmovement 0 removeobject 8 - applymovement 255, Route104_Movement_1ED34F + applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ED34F waitmovement 0 hideobjectat 255, MAP_ROUTE104 call Route104_EventScript_2720A0 @@ -384,13 +384,13 @@ Route104_EventScript_1ED099:: @ 81ED099 Route104_EventScript_1ED0D9:: @ 81ED0D9 applymovement 7, Route104_Movement_1ED28C - applymovement 255, Route104_Movement_1ED28C + applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ED28C waitmovement 0 goto Route104_EventScript_1ED139 Route104_EventScript_1ED0EF:: @ 81ED0EF applymovement 7, Route104_Movement_1ED1C8 - applymovement 255, Route104_Movement_1ED1C8 + applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ED1C8 waitmovement 0 pokenavcall Route104_Text_1EE336 waitmessage @@ -401,7 +401,7 @@ Route104_EventScript_1ED0EF:: @ 81ED0EF closemessage delay 30 setflag FLAG_0x132 - applymovement 255, Route104_Movement_1ED22A + applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ED22A applymovement 7, Route104_Movement_1ED22A, MAP_ROUTE104 waitmovement 7, MAP_ROUTE104 waitmovement 0 @@ -409,11 +409,11 @@ Route104_EventScript_1ED0EF:: @ 81ED0EF Route104_EventScript_1ED139:: @ 81ED139 delay 50 - applymovement 255, Route104_Movement_1ED353 + applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ED353 waitmovement 0 call Route104_EventScript_2720A8 showobjectat 255, MAP_DEWFORD_TOWN - applymovement 255, Route104_Movement_1ED355 + applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ED355 waitmovement 0 setobjectxyperm 2, 12, 8 addobject 2 diff --git a/data/maps/Route109/scripts.inc b/data/maps/Route109/scripts.inc index 52f6437ae..51430fd91 100644 --- a/data/maps/Route109/scripts.inc +++ b/data/maps/Route109/scripts.inc @@ -15,19 +15,19 @@ Route109_EventScript_1EE760:: @ 81EE760 end Route109_EventScript_1EE7A5:: @ 81EE7A5 - applymovement 255, Route109_Movement_1EE8FD + applymovement EVENT_OBJ_ID_PLAYER, Route109_Movement_1EE8FD waitmovement 0 goto Route109_EventScript_1EE7D5 end Route109_EventScript_1EE7B5:: @ 81EE7B5 - applymovement 255, Route109_Movement_1EE905 + applymovement EVENT_OBJ_ID_PLAYER, Route109_Movement_1EE905 waitmovement 0 goto Route109_EventScript_1EE7D5 end Route109_EventScript_1EE7C5:: @ 81EE7C5 - applymovement 255, Route109_Movement_1EE908 + applymovement EVENT_OBJ_ID_PLAYER, Route109_Movement_1EE908 waitmovement 0 goto Route109_EventScript_1EE7D5 end @@ -36,12 +36,12 @@ Route109_EventScript_1EE7D5:: @ 81EE7D5 hideobjectat 255, MAP_ROUTE109 call Route109_EventScript_2720A0 applymovement 1, Route109_Movement_1EE84F - applymovement 255, Route109_Movement_1EE84F + applymovement EVENT_OBJ_ID_PLAYER, Route109_Movement_1EE84F waitmovement 0 delay 50 call Route109_EventScript_2720A8 showobjectat 255, MAP_DEWFORD_TOWN - applymovement 255, Route109_Movement_1EE900 + applymovement EVENT_OBJ_ID_PLAYER, Route109_Movement_1EE900 waitmovement 0 addobject 4 clearflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN diff --git a/data/maps/Route110_SeasideCyclingRoadNorthEntrance/scripts.inc b/data/maps/Route110_SeasideCyclingRoadNorthEntrance/scripts.inc index ee859748f..a1c3383a4 100644 --- a/data/maps/Route110_SeasideCyclingRoadNorthEntrance/scripts.inc +++ b/data/maps/Route110_SeasideCyclingRoadNorthEntrance/scripts.inc @@ -21,7 +21,7 @@ Route110_SeasideCyclingRoadNorthEntrance_EventScript_26EA84:: @ 826EA84 Route110_SeasideCyclingRoadNorthEntrance_EventScript_26EA9F:: @ 826EA9F msgbox Route110_SeasideCyclingRoadNorthEntrance_Text_26EB48, MSGBOX_DEFAULT closemessage - applymovement 255, Route110_SeasideCyclingRoadNorthEntrance_Movement_26EAB4 + applymovement EVENT_OBJ_ID_PLAYER, Route110_SeasideCyclingRoadNorthEntrance_Movement_26EAB4 waitmovement 0 releaseall end diff --git a/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc b/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc index 9bd6c845e..4e78df507 100644 --- a/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc +++ b/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc @@ -39,7 +39,7 @@ Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBF6:: @ 826EBF6 Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBFC:: @ 826EBFC msgbox Route110_SeasideCyclingRoadSouthEntrance_Text_26ECAA, MSGBOX_DEFAULT closemessage - applymovement 255, Route110_SeasideCyclingRoadSouthEntrance_Movement_26EC11 + applymovement EVENT_OBJ_ID_PLAYER, Route110_SeasideCyclingRoadSouthEntrance_Movement_26EC11 waitmovement 0 releaseall end diff --git a/data/maps/Route110_TrickHouseEnd/scripts.inc b/data/maps/Route110_TrickHouseEnd/scripts.inc index 892d9e65f..6f1adef4f 100644 --- a/data/maps/Route110_TrickHouseEnd/scripts.inc +++ b/data/maps/Route110_TrickHouseEnd/scripts.inc @@ -241,11 +241,11 @@ Route110_TrickHouseEnd_EventScript_26B041:: @ 826B041 applymovement 1, Route110_TrickHouseEnd_Movement_26B08B waitmovement 0 playse SE_W153 - applymovement 255, Route110_TrickHouseEnd_Movement_2725AA + applymovement EVENT_OBJ_ID_PLAYER, Route110_TrickHouseEnd_Movement_2725AA waitmovement 0 msgbox Route110_TrickHouseEnd_Text_26B8BD, MSGBOX_DEFAULT closemessage - applymovement 255, Route110_TrickHouseEnd_Movement_26B089 + applymovement EVENT_OBJ_ID_PLAYER, Route110_TrickHouseEnd_Movement_26B089 waitmovement 0 delay 4 turnobject 1, 4 diff --git a/data/maps/Route110_TrickHouseEntrance/scripts.inc b/data/maps/Route110_TrickHouseEntrance/scripts.inc index 22750f536..c4f30dedb 100644 --- a/data/maps/Route110_TrickHouseEntrance/scripts.inc +++ b/data/maps/Route110_TrickHouseEntrance/scripts.inc @@ -243,9 +243,9 @@ Route110_TrickHouseEntrance_EventScript_269D3B:: @ 8269D3B Route110_TrickHouseEntrance_EventScript_269D6E:: @ 8269D6E playse SE_PIN - applymovement 255, Route110_TrickHouseEntrance_Movement_272598 + applymovement EVENT_OBJ_ID_PLAYER, Route110_TrickHouseEntrance_Movement_272598 waitmovement 0 - applymovement 255, Route110_TrickHouseEntrance_Movement_27259A + applymovement EVENT_OBJ_ID_PLAYER, Route110_TrickHouseEntrance_Movement_27259A waitmovement 0 compare VAR_0x4044, 0 call_if 1, Route110_TrickHouseEntrance_EventScript_269DEE @@ -513,9 +513,9 @@ Route110_TrickHouseEntrance_EventScript_26A126:: @ 826A126 setmetatile 5, 1, 537, 0 special DrawWholeMapView delay 20 - applymovement 255, Route110_TrickHouseEntrance_Movement_2725C9 + applymovement EVENT_OBJ_ID_PLAYER, Route110_TrickHouseEntrance_Movement_2725C9 waitmovement 0 - applymovement 255, Route110_TrickHouseEntrance_Movement_26A1A7 + applymovement EVENT_OBJ_ID_PLAYER, Route110_TrickHouseEntrance_Movement_26A1A7 waitmovement 0 switch VAR_0x4044 case 0, Route110_TrickHouseEntrance_EventScript_26A1A9 diff --git a/data/maps/Route111/scripts.inc b/data/maps/Route111/scripts.inc index 2be579ab6..8d5de281b 100644 --- a/data/maps/Route111/scripts.inc +++ b/data/maps/Route111/scripts.inc @@ -227,22 +227,22 @@ Route111_EventScript_1F0F45:: @ 81F0F45 end Route111_EventScript_1F0F7C:: @ 81F0F7C - applymovement 255, Route111_Movement_1F0FA8 + applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_1F0FA8 waitmovement 0 return Route111_EventScript_1F0F87:: @ 81F0F87 - applymovement 255, Route111_Movement_1F0FAA + applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_1F0FAA waitmovement 0 return Route111_EventScript_1F0F92:: @ 81F0F92 - applymovement 255, Route111_Movement_1F0FAC + applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_1F0FAC waitmovement 0 return Route111_EventScript_1F0F9D:: @ 81F0F9D - applymovement 255, Route111_Movement_1F0FAE + applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_1F0FAE waitmovement 0 return @@ -298,7 +298,7 @@ Route111_EventScript_1F0FE7:: @ 81F0FE7 waitmovement 0 removeobject 1 call Route111_EventScript_1F1143 - applymovement 255, Route111_Movement_1F114F + applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_1F114F waitmovement 0 call Route111_EventScript_1F113C addobject 2 @@ -316,7 +316,7 @@ Route111_EventScript_1F0FE7:: @ 81F0FE7 waitmovement 0 removeobject 2 call Route111_EventScript_1F1143 - applymovement 255, Route111_Movement_1F114F + applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_1F114F waitmovement 0 call Route111_EventScript_1F113C addobject 3 @@ -334,7 +334,7 @@ Route111_EventScript_1F0FE7:: @ 81F0FE7 waitmovement 0 removeobject 3 call Route111_EventScript_1F1143 - applymovement 255, Route111_Movement_1F114F + applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_1F114F waitmovement 0 call Route111_EventScript_1F113C addobject 4 diff --git a/data/maps/Route112_CableCarStation/scripts.inc b/data/maps/Route112_CableCarStation/scripts.inc index a7d3e8c7a..5873b2d53 100644 --- a/data/maps/Route112_CableCarStation/scripts.inc +++ b/data/maps/Route112_CableCarStation/scripts.inc @@ -20,7 +20,7 @@ Route112_CableCarStation_MapScript2_22AAE9: @ 822AAE9 Route112_CableCarStation_EventScript_22AAF3:: @ 822AAF3 lockall - applymovement 255, Route112_CableCarStation_Movement_22AB80 + applymovement EVENT_OBJ_ID_PLAYER, Route112_CableCarStation_Movement_22AB80 applymovement 1, Route112_CableCarStation_Movement_22AB76 waitmovement 0 setvar VAR_0x40A3, 0 @@ -43,7 +43,7 @@ Route112_CableCarStation_EventScript_22AB38:: @ 822AB38 msgbox Route112_CableCarStation_Text_22ABC2, MSGBOX_DEFAULT closemessage applymovement 1, Route112_CableCarStation_Movement_22AB71 - applymovement 255, Route112_CableCarStation_Movement_22AB7B + applymovement EVENT_OBJ_ID_PLAYER, Route112_CableCarStation_Movement_22AB7B waitmovement 0 setvar VAR_0x8004, 0 setvar VAR_0x40A3, 1 diff --git a/data/maps/Route114_FossilManiacsTunnel/scripts.inc b/data/maps/Route114_FossilManiacsTunnel/scripts.inc index 7b2a91810..1159128cc 100644 --- a/data/maps/Route114_FossilManiacsTunnel/scripts.inc +++ b/data/maps/Route114_FossilManiacsTunnel/scripts.inc @@ -26,7 +26,7 @@ Route114_FossilManiacsTunnel_EventScript_22AF53:: @ 822AF53 Route114_FossilManiacsTunnel_EventScript_22AF66:: @ 822AF66 lockall applymovement 1, Route114_FossilManiacsTunnel_Movement_2725A6 - applymovement 255, Route114_FossilManiacsTunnel_Movement_2725AA + applymovement EVENT_OBJ_ID_PLAYER, Route114_FossilManiacsTunnel_Movement_2725AA waitmovement 0 msgbox Route114_FossilManiacsTunnel_Text_22B1F7, MSGBOX_DEFAULT setvar VAR_0x40CC, 2 diff --git a/data/maps/Route116/scripts.inc b/data/maps/Route116/scripts.inc index 2ad7ea58b..ab8377b1c 100644 --- a/data/maps/Route116/scripts.inc +++ b/data/maps/Route116/scripts.inc @@ -156,7 +156,7 @@ Route116_EventScript_1F2D84:: @ 81F2D84 Route116_EventScript_1F2D95:: @ 81F2D95 lockall applymovement 11, Route116_Movement_2725A8 - applymovement 255, Route116_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, Route116_Movement_2725A4 waitmovement 0 msgbox Route116_Text_1F309D, MSGBOX_DEFAULT setvar VAR_0x406F, 2 diff --git a/data/maps/Route118/scripts.inc b/data/maps/Route118/scripts.inc index 8d1cf48e4..e7aac8ac8 100644 --- a/data/maps/Route118/scripts.inc +++ b/data/maps/Route118/scripts.inc @@ -70,7 +70,7 @@ Route118_EventScript_1F3E85:: @ 81F3E85 Route118_EventScript_1F3E8E:: @ 81F3E8E lockall setvar VAR_0x8008, 0 - applymovement 255, Route118_Movement_2725B2 + applymovement EVENT_OBJ_ID_PLAYER, Route118_Movement_2725B2 waitmovement 0 applymovement 19, Route118_Movement_1F3F61 waitmovement 0 @@ -80,7 +80,7 @@ Route118_EventScript_1F3E8E:: @ 81F3E8E Route118_EventScript_1F3EAE:: @ 81F3EAE lockall setvar VAR_0x8008, 1 - applymovement 255, Route118_Movement_2725B2 + applymovement EVENT_OBJ_ID_PLAYER, Route118_Movement_2725B2 waitmovement 0 goto Route118_EventScript_1F3EE4 end @@ -88,7 +88,7 @@ Route118_EventScript_1F3EAE:: @ 81F3EAE Route118_EventScript_1F3EC4:: @ 81F3EC4 lockall setvar VAR_0x8008, 2 - applymovement 255, Route118_Movement_2725B2 + applymovement EVENT_OBJ_ID_PLAYER, Route118_Movement_2725B2 waitmovement 0 applymovement 19, Route118_Movement_1F3F63 waitmovement 0 @@ -114,19 +114,19 @@ Route118_EventScript_1F3EE4:: @ 81F3EE4 end Route118_EventScript_1F3F28:: @ 81F3F28 - applymovement 255, Route118_Movement_1F3F5E + applymovement EVENT_OBJ_ID_PLAYER, Route118_Movement_1F3F5E applymovement 19, Route118_Movement_1F3F69 waitmovement 0 return Route118_EventScript_1F3F3A:: @ 81F3F3A - applymovement 255, Route118_Movement_1F3F5E + applymovement EVENT_OBJ_ID_PLAYER, Route118_Movement_1F3F5E applymovement 19, Route118_Movement_1F3F74 waitmovement 0 return Route118_EventScript_1F3F4C:: @ 81F3F4C - applymovement 255, Route118_Movement_1F3F5E + applymovement EVENT_OBJ_ID_PLAYER, Route118_Movement_1F3F5E applymovement 19, Route118_Movement_1F3F7E waitmovement 0 return diff --git a/data/maps/Route119/scripts.inc b/data/maps/Route119/scripts.inc index fd1d127d1..544330f9a 100644 --- a/data/maps/Route119/scripts.inc +++ b/data/maps/Route119/scripts.inc @@ -52,7 +52,7 @@ Route119_EventScript_1F4488:: @ 81F4488 call_if 1, Route119_EventScript_1F46C6 compare VAR_TEMP_1, 2 call_if 1, Route119_EventScript_1F46D1 - applymovement 255, Route119_Movement_2725AA + applymovement EVENT_OBJ_ID_PLAYER, Route119_Movement_2725AA waitmovement 0 delay 30 compare VAR_TEMP_1, 1 @@ -208,13 +208,13 @@ Route119_EventScript_1F46D1:: @ 81F46D1 return Route119_EventScript_1F46DC:: @ 81F46DC - applymovement 255, Route119_Movement_1F471E + applymovement EVENT_OBJ_ID_PLAYER, Route119_Movement_1F471E applymovement 25, Route119_Movement_1F473D waitmovement 0 return Route119_EventScript_1F46EE:: @ 81F46EE - applymovement 255, Route119_Movement_1F4723 + applymovement EVENT_OBJ_ID_PLAYER, Route119_Movement_1F4723 applymovement 25, Route119_Movement_1F4747 waitmovement 0 return diff --git a/data/maps/Route119_WeatherInstitute_2F/scripts.inc b/data/maps/Route119_WeatherInstitute_2F/scripts.inc index 35dd538df..1feda2f60 100644 --- a/data/maps/Route119_WeatherInstitute_2F/scripts.inc +++ b/data/maps/Route119_WeatherInstitute_2F/scripts.inc @@ -51,7 +51,7 @@ Route119_WeatherInstitute_2F_EventScript_26FFC8:: @ 826FFC8 closemessage addobject 7 applymovement 7, Route119_WeatherInstitute_2F_Movement_270170 - applymovement 255, Route119_WeatherInstitute_2F_Movement_27017C + applymovement EVENT_OBJ_ID_PLAYER, Route119_WeatherInstitute_2F_Movement_27017C waitmovement 0 msgbox Route119_WeatherInstitute_2F_Text_270568, MSGBOX_DEFAULT closemessage @@ -73,7 +73,7 @@ Route119_WeatherInstitute_2F_EventScript_26FFC8:: @ 826FFC8 removeobject 3 removeobject 8 removeobject 7 - applymovement 255, Route119_WeatherInstitute_2F_Movement_270184 + applymovement EVENT_OBJ_ID_PLAYER, Route119_WeatherInstitute_2F_Movement_270184 waitmovement 0 fadescreen 0 applymovement 5, Route119_WeatherInstitute_2F_Movement_270187 diff --git a/data/maps/Route120/scripts.inc b/data/maps/Route120/scripts.inc index ba16b1a2f..1eed96ece 100644 --- a/data/maps/Route120/scripts.inc +++ b/data/maps/Route120/scripts.inc @@ -240,7 +240,7 @@ Route120_EventScript_1F571C:: @ 81F571C Route120_EventScript_1F572C:: @ 81F572C applymovement 31, Route120_Movement_2725AA - applymovement 255, Route120_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, Route120_Movement_2725A6 waitmovement 0 msgbox Route120_Text_1F5BAF, MSGBOX_DEFAULT giveitem_std ITEM_DEVON_SCOPE @@ -264,12 +264,12 @@ Route120_EventScript_1F572C:: @ 81F572C end Route120_EventScript_1F57A3:: @ 81F57A3 - applymovement 255, Route120_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, Route120_Movement_2725A4 waitmovement 0 return Route120_EventScript_1F57AE:: @ 81F57AE - applymovement 255, Route120_Movement_1F57B9 + applymovement EVENT_OBJ_ID_PLAYER, Route120_Movement_1F57B9 waitmovement 0 return diff --git a/data/maps/Route121_SafariZoneEntrance/scripts.inc b/data/maps/Route121_SafariZoneEntrance/scripts.inc index 12fa8112e..dcc427b0d 100644 --- a/data/maps/Route121_SafariZoneEntrance/scripts.inc +++ b/data/maps/Route121_SafariZoneEntrance/scripts.inc @@ -8,7 +8,7 @@ Route121_SafariZoneEntrance_MapScript2_22BBC1: @ 822BBC1 Route121_SafariZoneEntrance_EventScript_22BBCB:: @ 822BBCB lockall - applymovement 255, Route121_SafariZoneEntrance_Movement_22BBDD + applymovement EVENT_OBJ_ID_PLAYER, Route121_SafariZoneEntrance_Movement_22BBDD waitmovement 0 setvar VAR_0x40A4, 0 releaseall @@ -46,7 +46,7 @@ Route121_SafariZoneEntrance_EventScript_22BC0E:: @ 822BC0E Route121_SafariZoneEntrance_EventScript_22BC18:: @ 822BC18 lockall - applymovement 255, Route121_SafariZoneEntrance_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, Route121_SafariZoneEntrance_Movement_2725A6 waitmovement 0 showmoneybox 0, 0, 0 msgbox Route121_SafariZoneEntrance_Text_2A4F74, MSGBOX_YESNO @@ -78,7 +78,7 @@ Route121_SafariZoneEntrance_EventScript_22BC48:: @ 822BC48 hidemoneybox nop nop - applymovement 255, Route121_SafariZoneEntrance_Movement_22BD18 + applymovement EVENT_OBJ_ID_PLAYER, Route121_SafariZoneEntrance_Movement_22BD18 waitmovement 0 special EnterSafariMode setvar VAR_0x40A4, 2 @@ -116,7 +116,7 @@ Route121_SafariZoneEntrance_EventScript_22BD06:: @ 822BD06 hidemoneybox nop nop - applymovement 255, Route121_SafariZoneEntrance_Movement_22BD16 + applymovement EVENT_OBJ_ID_PLAYER, Route121_SafariZoneEntrance_Movement_22BD16 waitmovement 0 releaseall end diff --git a/data/maps/Route128/scripts.inc b/data/maps/Route128/scripts.inc index 2443051f5..b593528ab 100644 --- a/data/maps/Route128/scripts.inc +++ b/data/maps/Route128/scripts.inc @@ -31,12 +31,12 @@ Route128_EventScript_1F6B57:: @ 81F6B57 closemessage applymovement 5, Route128_Movement_1F6CBB waitmovement 0 - applymovement 255, Route128_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, Route128_Movement_2725A6 waitmovement 0 msgbox Route128_Text_1F6F1E, MSGBOX_DEFAULT closemessage applymovement 4, Route128_Movement_1F6C96 - applymovement 255, Route128_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, Route128_Movement_2725A4 applymovement 5, Route128_Movement_1F6CA8 waitmovement 0 msgbox Route128_Text_1F704F, MSGBOX_DEFAULT @@ -54,12 +54,12 @@ Route128_EventScript_1F6B57:: @ 81F6B57 addobject 3 applymovement 3, Route128_Movement_1F6C87 waitmovement 0 - applymovement 255, Route128_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, Route128_Movement_2725A8 waitmovement 0 msgbox Route128_Text_1F70C9, MSGBOX_DEFAULT closemessage applymovement 3, Route128_Movement_1F6C85 - applymovement 255, Route128_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, Route128_Movement_2725A6 waitmovement 0 msgbox Route128_Text_1F70EA, MSGBOX_DEFAULT applymovement 3, Route128_Movement_2725AA diff --git a/data/maps/RustboroCity/scripts.inc b/data/maps/RustboroCity/scripts.inc index 147c51177..26b1357a5 100644 --- a/data/maps/RustboroCity/scripts.inc +++ b/data/maps/RustboroCity/scripts.inc @@ -34,7 +34,7 @@ RustboroCity_MapScript2_1E070B: @ 81E070B RustboroCity_EventScript_1E0715:: @ 81E0715 lockall setvar VAR_0x4063, 1 - applymovement 255, RustboroCity_Movement_1E0850 + applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_1E0850 waitmovement 0 playse SE_KAIDAN delay 10 @@ -46,7 +46,7 @@ RustboroCity_EventScript_1E0715:: @ 81E0715 waitmovement 0 applymovement 15, RustboroCity_Movement_27259A waitmovement 0 - applymovement 255, RustboroCity_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725A6 waitmovement 0 applymovement 15, RustboroCity_Movement_1E084E waitmovement 0 @@ -347,7 +347,7 @@ RustboroCity_EventScript_1E0A6E:: @ 81E0A6E RustboroCity_EventScript_1E0A79:: @ 81E0A79 applymovement 9, RustboroCity_Movement_1E0AD5 waitmovement 0 - applymovement 255, RustboroCity_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725A6 waitmovement 0 return @@ -511,7 +511,7 @@ RustboroCity_EventScript_1E0B6F:: @ 81E0B6F waitmovement 0 applymovement 9, RustboroCity_Movement_27259A waitmovement 0 - applymovement 255, RustboroCity_Movement_2725AA + applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725AA waitmovement 0 return @@ -523,7 +523,7 @@ RustboroCity_EventScript_1E0B9B:: @ 81E0B9B waitmovement 0 applymovement 9, RustboroCity_Movement_27259A waitmovement 0 - applymovement 255, RustboroCity_Movement_2725AC + applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725AC waitmovement 0 return @@ -535,7 +535,7 @@ RustboroCity_EventScript_1E0BC7:: @ 81E0BC7 waitmovement 0 applymovement 9, RustboroCity_Movement_27259A waitmovement 0 - applymovement 255, RustboroCity_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725A6 waitmovement 0 return @@ -549,7 +549,7 @@ RustboroCity_EventScript_1E0BF3:: @ 81E0BF3 waitmovement 0 applymovement 9, RustboroCity_Movement_1E0C29 waitmovement 0 - applymovement 255, RustboroCity_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725A6 waitmovement 0 return @@ -619,7 +619,7 @@ RustboroCity_EventScript_1E0CDC:: @ 81E0CDC waitmovement 0 applymovement 9, RustboroCity_Movement_27259A waitmovement 0 - applymovement 255, RustboroCity_Movement_2725AA + applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725AA waitmovement 0 return @@ -631,7 +631,7 @@ RustboroCity_EventScript_1E0D08:: @ 81E0D08 waitmovement 0 applymovement 9, RustboroCity_Movement_27259A waitmovement 0 - applymovement 255, RustboroCity_Movement_2725AE + applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725AE waitmovement 0 return @@ -643,7 +643,7 @@ RustboroCity_EventScript_1E0D34:: @ 81E0D34 waitmovement 0 applymovement 9, RustboroCity_Movement_27259A waitmovement 0 - applymovement 255, RustboroCity_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725A6 waitmovement 0 return @@ -657,7 +657,7 @@ RustboroCity_EventScript_1E0D60:: @ 81E0D60 waitmovement 0 applymovement 9, RustboroCity_Movement_1E0C29 waitmovement 0 - applymovement 255, RustboroCity_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725A6 waitmovement 0 return @@ -708,7 +708,7 @@ RustboroCity_EventScript_1E0DF3:: @ 81E0DF3 waitmovement 0 applymovement 14, RustboroCity_Movement_1E120E waitmovement 0 - applymovement 255, RustboroCity_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725A6 waitmovement 0 goto RustboroCity_EventScript_1E0FF3 @@ -724,7 +724,7 @@ RustboroCity_EventScript_1E0E33:: @ 81E0E33 waitmovement 0 applymovement 14, RustboroCity_Movement_1E1215 waitmovement 0 - applymovement 255, RustboroCity_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725A6 waitmovement 0 goto RustboroCity_EventScript_1E0FF3 @@ -740,7 +740,7 @@ RustboroCity_EventScript_1E0E73:: @ 81E0E73 waitmovement 0 applymovement 14, RustboroCity_Movement_1E121B waitmovement 0 - applymovement 255, RustboroCity_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725A6 waitmovement 0 goto RustboroCity_EventScript_1E0FF3 @@ -756,7 +756,7 @@ RustboroCity_EventScript_1E0EB3:: @ 81E0EB3 waitmovement 0 applymovement 14, RustboroCity_Movement_1E1220 waitmovement 0 - applymovement 255, RustboroCity_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725A6 waitmovement 0 goto RustboroCity_EventScript_1E0FF3 @@ -772,7 +772,7 @@ RustboroCity_EventScript_1E0EF3:: @ 81E0EF3 waitmovement 0 applymovement 14, RustboroCity_Movement_1E1224 waitmovement 0 - applymovement 255, RustboroCity_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725A6 waitmovement 0 goto RustboroCity_EventScript_1E0FF3 @@ -788,7 +788,7 @@ RustboroCity_EventScript_1E0F33:: @ 81E0F33 waitmovement 0 applymovement 14, RustboroCity_Movement_1E1227 waitmovement 0 - applymovement 255, RustboroCity_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725A6 waitmovement 0 goto RustboroCity_EventScript_1E0FF3 @@ -804,7 +804,7 @@ RustboroCity_EventScript_1E0F73:: @ 81E0F73 waitmovement 0 applymovement 14, RustboroCity_Movement_1E122B waitmovement 0 - applymovement 255, RustboroCity_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725A6 waitmovement 0 goto RustboroCity_EventScript_1E0FF3 @@ -820,7 +820,7 @@ RustboroCity_EventScript_1E0FB3:: @ 81E0FB3 waitmovement 0 applymovement 14, RustboroCity_Movement_1E1230 waitmovement 0 - applymovement 255, RustboroCity_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725A6 waitmovement 0 goto RustboroCity_EventScript_1E0FF3 diff --git a/data/maps/RustboroCity_DevonCorp_3F/scripts.inc b/data/maps/RustboroCity_DevonCorp_3F/scripts.inc index dc170677a..ce5a555ef 100644 --- a/data/maps/RustboroCity_DevonCorp_3F/scripts.inc +++ b/data/maps/RustboroCity_DevonCorp_3F/scripts.inc @@ -39,13 +39,13 @@ RustboroCity_DevonCorp_3F_EventScript_21246E:: @ 821246E closemessage playbgm MUS_TSURETEK, 0 applymovement 2, RustboroCity_DevonCorp_3F_Movement_212534 - applymovement 255, RustboroCity_DevonCorp_3F_Movement_212558 + applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_DevonCorp_3F_Movement_212558 waitmovement 0 msgbox RustboroCity_DevonCorp_3F_Text_212E2F, MSGBOX_DEFAULT closemessage fadedefaultbgm applymovement 2, RustboroCity_DevonCorp_3F_Movement_212543 - applymovement 255, RustboroCity_DevonCorp_3F_Movement_212566 + applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_DevonCorp_3F_Movement_212566 waitmovement 0 msgbox RustboroCity_DevonCorp_3F_Text_212609, MSGBOX_DEFAULT giveitem_std ITEM_LETTER diff --git a/data/maps/RusturfTunnel/scripts.inc b/data/maps/RusturfTunnel/scripts.inc index 1eaaba66c..48dcaffc9 100644 --- a/data/maps/RusturfTunnel/scripts.inc +++ b/data/maps/RusturfTunnel/scripts.inc @@ -86,13 +86,13 @@ RusturfTunnel_EventScript_22CEAE:: @ 822CEAE end RusturfTunnel_EventScript_22CF5D:: @ 822CF5D - applymovement 255, RusturfTunnel_Movement_22D042 + applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_22D042 applymovement 1, RusturfTunnel_Movement_22D067 waitmovement 0 return RusturfTunnel_EventScript_22CF6F:: @ 822CF6F - applymovement 255, RusturfTunnel_Movement_22D045 + applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_22D045 applymovement 1, RusturfTunnel_Movement_22D06C waitmovement 0 applymovement 10, RusturfTunnel_Movement_2725AA @@ -100,7 +100,7 @@ RusturfTunnel_EventScript_22CF6F:: @ 822CF6F return RusturfTunnel_EventScript_22CF8B:: @ 822CF8B - applymovement 255, RusturfTunnel_Movement_22D045 + applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_22D045 applymovement 1, RusturfTunnel_Movement_22D06C waitmovement 0 applymovement 10, RusturfTunnel_Movement_2725AA @@ -110,7 +110,7 @@ RusturfTunnel_EventScript_22CF8B:: @ 822CF8B RusturfTunnel_EventScript_22CFA7:: @ 822CFA7 applymovement 1, RusturfTunnel_Movement_2725A6 waitmovement 0 - applymovement 255, RusturfTunnel_Movement_2725AA + applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_2725AA waitmovement 0 return @@ -135,7 +135,7 @@ RusturfTunnel_EventScript_22CFD4:: @ 822CFD4 return RusturfTunnel_EventScript_22CFE6:: @ 822CFE6 - applymovement 255, RusturfTunnel_Movement_22D02F + applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_22D02F applymovement 10, RusturfTunnel_Movement_22D023 applymovement 1, RusturfTunnel_Movement_22D058 waitmovement 0 @@ -317,7 +317,7 @@ RusturfTunnel_EventScript_22D0C2:: @ 822D0C2 msgbox RusturfTunnel_Text_22D2E1, MSGBOX_DEFAULT giveitem_std ITEM_DEVON_GOODS closemessage - applymovement 255, RusturfTunnel_Movement_22D178 + applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_22D178 applymovement 6, RusturfTunnel_Movement_22D181 waitmovement 0 removeobject 6 @@ -325,7 +325,7 @@ RusturfTunnel_EventScript_22D0C2:: @ 822D0C2 addobject 5 applymovement 5, RusturfTunnel_Movement_22D18B waitmovement 0 - applymovement 255, RusturfTunnel_Movement_22D17E + applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_22D17E applymovement 5, RusturfTunnel_Movement_22D1A4 waitmovement 0 msgbox RusturfTunnel_Text_22D395, MSGBOX_DEFAULT @@ -338,7 +338,7 @@ RusturfTunnel_EventScript_22D0C2:: @ 822D0C2 waitbuttonpress waitmoncry closemessage - applymovement 255, RusturfTunnel_Movement_22D19F + applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_22D19F applymovement 5, RusturfTunnel_Movement_22D193 applymovement 7, RusturfTunnel_Movement_22D1A7 waitmovement 0 diff --git a/data/maps/SSTidalCorridor/scripts.inc b/data/maps/SSTidalCorridor/scripts.inc index 15b0ba8e1..f844986c6 100644 --- a/data/maps/SSTidalCorridor/scripts.inc +++ b/data/maps/SSTidalCorridor/scripts.inc @@ -204,11 +204,11 @@ SSTidalCorridor_EventScript_23C219:: @ 823C219 lockall applymovement 5, SSTidalCorridor_Movement_23C26D waitmovement 0 - applymovement 255, SSTidalCorridor_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, SSTidalCorridor_Movement_2725A8 waitmovement 0 msgbox SSTidalCorridor_Text_23C28F, MSGBOX_DEFAULT closemessage - applymovement 255, SSTidalCorridor_Movement_23C27D + applymovement EVENT_OBJ_ID_PLAYER, SSTidalCorridor_Movement_23C27D applymovement 1, SSTidalCorridor_Movement_23C284 applymovement 5, SSTidalCorridor_Movement_23C275 waitmovement 0 diff --git a/data/maps/SafariZone_South/scripts.inc b/data/maps/SafariZone_South/scripts.inc index 6579b6571..8e9a20ad6 100644 --- a/data/maps/SafariZone_South/scripts.inc +++ b/data/maps/SafariZone_South/scripts.inc @@ -9,7 +9,7 @@ SafariZone_South_MapScript2_23D284: @ 823D284 SafariZone_South_EventScript_23D28E:: @ 823D28E lockall - applymovement 255, SafariZone_South_Movement_23D2C5 + applymovement EVENT_OBJ_ID_PLAYER, SafariZone_South_Movement_23D2C5 waitmovement 0 applymovement 1, SafariZone_South_Movement_23D2C7 waitmovement 0 @@ -77,7 +77,7 @@ SafariZone_South_EventScript_23D31A:: @ 823D31A SafariZone_South_EventScript_23D33F:: @ 823D33F applymovement 1, SafariZone_South_Movement_23D38A waitmovement 0 - applymovement 255, SafariZone_South_Movement_23D385 + applymovement EVENT_OBJ_ID_PLAYER, SafariZone_South_Movement_23D385 waitmovement 0 goto SafariZone_South_EventScript_23D373 end @@ -85,7 +85,7 @@ SafariZone_South_EventScript_23D33F:: @ 823D33F SafariZone_South_EventScript_23D359:: @ 823D359 applymovement 1, SafariZone_South_Movement_23D38D waitmovement 0 - applymovement 255, SafariZone_South_Movement_23D387 + applymovement EVENT_OBJ_ID_PLAYER, SafariZone_South_Movement_23D387 waitmovement 0 goto SafariZone_South_EventScript_23D373 end diff --git a/data/maps/SeafloorCavern_Room9/scripts.inc b/data/maps/SeafloorCavern_Room9/scripts.inc index 9406fcb6c..951f967a3 100644 --- a/data/maps/SeafloorCavern_Room9/scripts.inc +++ b/data/maps/SeafloorCavern_Room9/scripts.inc @@ -7,15 +7,15 @@ SeafloorCavern_Room9_EventScript_234DC9:: @ 8234DC9 setvar VAR_0x8005, 3 setvar VAR_0x8006, 4 setvar VAR_0x8007, 5 - applymovement 255, SeafloorCavern_Room9_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, SeafloorCavern_Room9_Movement_2725A6 waitmovement 0 - applymovement 255, SeafloorCavern_Room9_Movement_23505C + applymovement EVENT_OBJ_ID_PLAYER, SeafloorCavern_Room9_Movement_23505C waitmovement 0 playbgm MUS_AQA_0, 0 msgbox SeafloorCavern_Room9_Text_23505F, MSGBOX_DEFAULT closemessage addobject VAR_0x8004 - applymovement 255, SeafloorCavern_Room9_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, SeafloorCavern_Room9_Movement_2725A4 waitmovement 0 applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_23502A waitmovement 0 @@ -48,7 +48,7 @@ SeafloorCavern_Room9_EventScript_234DC9:: @ 8234DC9 playse SE_TAMA special sub_80B0534 applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_2725A6 - applymovement 255, SeafloorCavern_Room9_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, SeafloorCavern_Room9_Movement_2725A6 waitmovement 0 delay 150 removeobject 7 @@ -82,7 +82,7 @@ SeafloorCavern_Room9_EventScript_234DC9:: @ 8234DC9 setvar VAR_0x8007, 5 msgbox SeafloorCavern_Room9_Text_2352A7, MSGBOX_DEFAULT playse SE_PC_LOGIN - applymovement 255, SeafloorCavern_Room9_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, SeafloorCavern_Room9_Movement_2725A4 waitmovement 0 msgbox SeafloorCavern_Room9_Text_2352F6, MSGBOX_DEFAULT closemessage diff --git a/data/maps/SkyPillar_Outside/scripts.inc b/data/maps/SkyPillar_Outside/scripts.inc index 1b2a1e4c9..95f229bcf 100644 --- a/data/maps/SkyPillar_Outside/scripts.inc +++ b/data/maps/SkyPillar_Outside/scripts.inc @@ -38,7 +38,7 @@ SkyPillar_Outside_EventScript_239304:: @ 8239304 lockall applymovement 1, SkyPillar_Outside_Movement_2393D3 waitmovement 0 - applymovement 255, SkyPillar_Outside_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, SkyPillar_Outside_Movement_2725A4 waitmovement 0 msgbox SkyPillar_Outside_Text_239416, MSGBOX_DEFAULT closemessage @@ -52,7 +52,7 @@ SkyPillar_Outside_EventScript_239304:: @ 8239304 delay 40 msgbox SkyPillar_Outside_Text_2394BC, MSGBOX_DEFAULT closemessage - applymovement 255, SkyPillar_Outside_Movement_2393EB + applymovement EVENT_OBJ_ID_PLAYER, SkyPillar_Outside_Movement_2393EB applymovement 1, SkyPillar_Outside_Movement_2393DE waitmovement 0 setvar VAR_0x8004, 1 diff --git a/data/maps/SkyPillar_Top/scripts.inc b/data/maps/SkyPillar_Top/scripts.inc index ef0419cdb..2b734e5b0 100644 --- a/data/maps/SkyPillar_Top/scripts.inc +++ b/data/maps/SkyPillar_Top/scripts.inc @@ -96,12 +96,12 @@ SkyPillar_Top_EventScript_239785:: @ 8239785 SkyPillar_Top_EventScript_23979A:: @ 823979A lockall fadeoutbgm 1 - applymovement 255, SkyPillar_Top_Movement_2725B2 + applymovement EVENT_OBJ_ID_PLAYER, SkyPillar_Top_Movement_2725B2 waitmovement 0 - special SpawnScriptEventObject - applymovement 127, SkyPillar_Top_Movement_239858 + special SpawnCameraObject + applymovement EVENT_OBJ_ID_CAMERA, SkyPillar_Top_Movement_239858 waitmovement 0 - special RemoveScriptEventObject + special RemoveCameraObject applymovement 1, SkyPillar_Top_Movement_23983A waitmovement 0 waitse @@ -128,10 +128,10 @@ SkyPillar_Top_EventScript_23979A:: @ 823979A closemessage delay 20 fadeinbgm 1 - special SpawnScriptEventObject - applymovement 127, SkyPillar_Top_Movement_23985C + special SpawnCameraObject + applymovement EVENT_OBJ_ID_CAMERA, SkyPillar_Top_Movement_23985C waitmovement 0 - special RemoveScriptEventObject + special RemoveCameraObject setvar VAR_0x405E, 5 setvar VAR_0x40CA, 1 setvar VAR_0x40D7, 1 diff --git a/data/maps/SlateportCity/scripts.inc b/data/maps/SlateportCity/scripts.inc index dc3a81650..f8e1dc454 100644 --- a/data/maps/SlateportCity/scripts.inc +++ b/data/maps/SlateportCity/scripts.inc @@ -56,7 +56,7 @@ SlateportCity_MapScript2_1DCD12: @ 81DCD12 SlateportCity_EventScript_1DCD1C:: @ 81DCD1C lockall addobject 35 - applymovement 255, SlateportCity_Movement_1DCDA8 + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Movement_1DCDA8 applymovement 35, SlateportCity_Movement_1DCDAC waitmovement 0 msgbox SlateportCity_Text_1DF032, MSGBOX_DEFAULT @@ -576,7 +576,7 @@ SlateportCity_EventScript_1DD1F8:: @ 81DD1F8 waitmovement 0 delay 25 applymovement 11, SlateportCity_Movement_1DD33C - applymovement 255, SlateportCity_Movement_1DD34A + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Movement_1DD34A applymovement 10, SlateportCity_Movement_1DD319 applymovement 9, SlateportCity_Movement_1DD326 waitmovement 0 @@ -608,7 +608,7 @@ SlateportCity_EventScript_1DD1F8:: @ 81DD1F8 msgbox SlateportCity_Text_1DE8A0, MSGBOX_DEFAULT closemessage applymovement 11, SlateportCity_Movement_1DD337 - applymovement 255, SlateportCity_Movement_1DD344 + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Movement_1DD344 waitmovement 0 removeobject 11 clearflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_CAPTAIN_STERN @@ -892,19 +892,19 @@ SlateportCity_EventScript_1DD5CE:: @ 81DD5CE SlateportCity_EventScript_1DD5DC:: @ 81DD5DC lockall - applymovement 255, SlateportCity_Movement_2725B2 + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Movement_2725B2 waitmovement 0 opendoor 10, 12 waitdooranim addobject 35 - applymovement 255, SlateportCity_Movement_1DD630 + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Movement_1DD630 applymovement 35, SlateportCity_Movement_1DD637 waitmovement 0 closedoor 10, 12 waitdooranim msgbox SlateportCity_Text_1DF28C, MSGBOX_DEFAULT closemessage - applymovement 255, SlateportCity_Movement_1DD634 + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Movement_1DD634 applymovement 35, SlateportCity_Movement_1DD63A waitmovement 0 removeobject 35 diff --git a/data/maps/SlateportCity_BattleTentCorridor/scripts.inc b/data/maps/SlateportCity_BattleTentCorridor/scripts.inc index 7eb935bf1..49a7180cb 100644 --- a/data/maps/SlateportCity_BattleTentCorridor/scripts.inc +++ b/data/maps/SlateportCity_BattleTentCorridor/scripts.inc @@ -27,7 +27,7 @@ SlateportCity_BattleTentCorridor_EventScript_208E65:: @ 8208E65 goto_eq SlateportCity_BattleTentCorridor_EventScript_208EEE setvar VAR_TEMP_0, 1 applymovement 1, SlateportCity_BattleTentCorridor_Movement_209062 - applymovement 255, SlateportCity_BattleTentCorridor_Movement_209059 + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_BattleTentCorridor_Movement_209059 waitmovement 0 compare VAR_0x8006, 2 goto_eq SlateportCity_BattleTentCorridor_EventScript_209044 @@ -49,7 +49,7 @@ SlateportCity_BattleTentCorridor_EventScript_208EB4:: @ 8208EB4 opendoor 2, 1 waitdooranim applymovement 1, SlateportCity_BattleTentCorridor_Movement_209068 - applymovement 255, SlateportCity_BattleTentCorridor_Movement_20905E + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_BattleTentCorridor_Movement_20905E waitmovement 0 closedoor 2, 1 waitdooranim diff --git a/data/maps/SlateportCity_BattleTentLobby/scripts.inc b/data/maps/SlateportCity_BattleTentLobby/scripts.inc index 8e5c81e12..84349a97f 100644 --- a/data/maps/SlateportCity_BattleTentLobby/scripts.inc +++ b/data/maps/SlateportCity_BattleTentLobby/scripts.inc @@ -182,12 +182,12 @@ SlateportCity_BattleTentLobby_EventScript_2089AC:: @ 82089AC SlateportCity_BattleTentLobby_EventScript_2089C9:: @ 82089C9 applymovement 1, SlateportCity_BattleTentLobby_Movement_2089F8 - applymovement 255, SlateportCity_BattleTentLobby_Movement_2089FF + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_BattleTentLobby_Movement_2089FF waitmovement 0 opendoor 6, 1 waitdooranim applymovement 1, SlateportCity_BattleTentLobby_Movement_2089FC - applymovement 255, SlateportCity_BattleTentLobby_Movement_208A03 + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_BattleTentLobby_Movement_208A03 waitmovement 0 closedoor 6, 1 waitdooranim diff --git a/data/maps/SlateportCity_Harbor/scripts.inc b/data/maps/SlateportCity_Harbor/scripts.inc index efc0ff565..60b78542a 100644 --- a/data/maps/SlateportCity_Harbor/scripts.inc +++ b/data/maps/SlateportCity_Harbor/scripts.inc @@ -43,7 +43,7 @@ SlateportCity_Harbor_EventScript_20C9D3:: @ 820C9D3 SlateportCity_Harbor_EventScript_20C9DF:: @ 820C9DF lockall setvar VAR_0x8008, 3 - applymovement 255, SlateportCity_Harbor_Movement_20CAEF + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Harbor_Movement_20CAEF waitmovement 0 goto SlateportCity_Harbor_EventScript_20C9F5 end @@ -52,7 +52,7 @@ SlateportCity_Harbor_EventScript_20C9F5:: @ 820C9F5 applymovement 7, SlateportCity_Harbor_Movement_2725AA waitmovement 0 applymovement 6, SlateportCity_Harbor_Movement_2725AA - applymovement 255, SlateportCity_Harbor_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Harbor_Movement_2725A6 waitmovement 0 msgbox SlateportCity_Harbor_Text_20D291, MSGBOX_DEFAULT closemessage @@ -86,21 +86,21 @@ SlateportCity_Harbor_EventScript_20C9F5:: @ 820C9F5 SlateportCity_Harbor_EventScript_20CA89:: @ 820CA89 applymovement 4, SlateportCity_Harbor_Movement_20CAE0 waitmovement 0 - applymovement 255, SlateportCity_Harbor_Movement_2725AA + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Harbor_Movement_2725AA waitmovement 0 return SlateportCity_Harbor_EventScript_20CA9E:: @ 820CA9E applymovement 4, SlateportCity_Harbor_Movement_20CAE6 waitmovement 0 - applymovement 255, SlateportCity_Harbor_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Harbor_Movement_2725A8 waitmovement 0 return SlateportCity_Harbor_EventScript_20CAB3:: @ 820CAB3 applymovement 4, SlateportCity_Harbor_Movement_20CAEB waitmovement 0 - applymovement 255, SlateportCity_Harbor_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Harbor_Movement_2725A8 waitmovement 0 return @@ -249,12 +249,12 @@ SlateportCity_Harbor_EventScript_20CC2D:: @ 820CC2D end SlateportCity_Harbor_EventScript_20CC37:: @ 820CC37 - applymovement 255, SlateportCity_Harbor_Movement_20CC4D + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Harbor_Movement_20CC4D waitmovement 0 return SlateportCity_Harbor_EventScript_20CC42:: @ 820CC42 - applymovement 255, SlateportCity_Harbor_Movement_20CC50 + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Harbor_Movement_20CC50 waitmovement 0 return diff --git a/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc b/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc index 3c777b184..ceca80c47 100644 --- a/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc +++ b/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc @@ -7,14 +7,14 @@ SlateportCity_OceanicMuseum_1F_EventScript_20AD96:: @ 820AD96 SlateportCity_OceanicMuseum_1F_EventScript_20AD9F:: @ 820AD9F lockall - applymovement 255, SlateportCity_OceanicMuseum_1F_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_1F_Movement_2725A4 waitmovement 0 goto SlateportCity_OceanicMuseum_1F_EventScript_20ADC1 end SlateportCity_OceanicMuseum_1F_EventScript_20ADB0:: @ 820ADB0 lockall - applymovement 255, SlateportCity_OceanicMuseum_1F_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_1F_Movement_2725A8 waitmovement 0 goto SlateportCity_OceanicMuseum_1F_EventScript_20ADC1 end @@ -28,7 +28,7 @@ SlateportCity_OceanicMuseum_1F_EventScript_20ADC1:: @ 820ADC1 hidemoneybox nop nop - applymovement 255, SlateportCity_OceanicMuseum_1F_Movement_20AE4B + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_1F_Movement_20AE4B waitmovement 0 releaseall end @@ -57,7 +57,7 @@ SlateportCity_OceanicMuseum_1F_EventScript_20AE18:: @ 820AE18 hidemoneybox nop nop - applymovement 255, SlateportCity_OceanicMuseum_1F_Movement_20AE4B + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_1F_Movement_20AE4B waitmovement 0 releaseall end @@ -178,7 +178,7 @@ SlateportCity_OceanicMuseum_1F_EventScript_20AEF8:: @ 820AEF8 end SlateportCity_OceanicMuseum_1F_EventScript_20AF6C:: @ 820AF6C - applymovement 255, SlateportCity_OceanicMuseum_1F_Movement_20AFBF + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_1F_Movement_20AFBF applymovement 13, SlateportCity_OceanicMuseum_1F_Movement_20AFCE waitmovement 0 goto SlateportCity_OceanicMuseum_1F_EventScript_20AFAA @@ -191,7 +191,7 @@ SlateportCity_OceanicMuseum_1F_EventScript_20AF83:: @ 820AF83 end SlateportCity_OceanicMuseum_1F_EventScript_20AF93:: @ 820AF93 - applymovement 255, SlateportCity_OceanicMuseum_1F_Movement_20AFC4 + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_1F_Movement_20AFC4 applymovement 13, SlateportCity_OceanicMuseum_1F_Movement_20AFC7 waitmovement 0 goto SlateportCity_OceanicMuseum_1F_EventScript_20AFAA diff --git a/data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc b/data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc index 040a76396..016b21f14 100644 --- a/data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc +++ b/data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc @@ -68,7 +68,7 @@ SlateportCity_OceanicMuseum_2F_EventScript_20BB00:: @ 820BB00 fadescreen 0 delay 30 setflag FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_AQUA_GRUNTS - applymovement 255, SlateportCity_OceanicMuseum_2F_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_2F_Movement_2725A8 waitmovement 0 msgbox SlateportCity_OceanicMuseum_2F_Text_20C2BE, MSGBOX_DEFAULT setvar VAR_0x8004, 269 @@ -96,7 +96,7 @@ SlateportCity_OceanicMuseum_2F_EventScript_20BC8C:: @ 820BC8C return SlateportCity_OceanicMuseum_2F_EventScript_20BC92:: @ 820BC92 - applymovement 255, SlateportCity_OceanicMuseum_2F_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_2F_Movement_2725A4 waitmovement 0 return @@ -106,12 +106,12 @@ SlateportCity_OceanicMuseum_2F_EventScript_20BC9D:: @ 820BC9D return SlateportCity_OceanicMuseum_2F_EventScript_20BCA8:: @ 820BCA8 - applymovement 255, SlateportCity_OceanicMuseum_2F_Movement_20BCBE + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_2F_Movement_20BCBE waitmovement 0 return SlateportCity_OceanicMuseum_2F_EventScript_20BCB3:: @ 820BCB3 - applymovement 255, SlateportCity_OceanicMuseum_2F_Movement_20BCC2 + applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_2F_Movement_20BCC2 waitmovement 0 return diff --git a/data/maps/SootopolisCity/scripts.inc b/data/maps/SootopolisCity/scripts.inc index de6ca59db..1b16ba339 100644 --- a/data/maps/SootopolisCity/scripts.inc +++ b/data/maps/SootopolisCity/scripts.inc @@ -212,10 +212,10 @@ SootopolisCity_EventScript_1E5926:: @ 81E5926 SootopolisCity_EventScript_1E5946:: @ 81E5946 delay 60 - special SpawnScriptEventObject - applymovement 127, SootopolisCity_Movement_1E5A68 + special SpawnCameraObject + applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_1E5A68 waitmovement 0 - special RemoveScriptEventObject + special RemoveCameraObject delay 60 fadescreenspeed 1, 8 setweather 15 @@ -269,12 +269,12 @@ SootopolisCity_EventScript_1E5946:: @ 81E5946 applymovement 10, SootopolisCity_Movement_1E5BCF applymovement 9, SootopolisCity_Movement_1E5BF0 waitmovement 0 - special SpawnScriptEventObject + special SpawnCameraObject applymovement 10, SootopolisCity_Movement_1E5BD6 applymovement 9, SootopolisCity_Movement_1E5BF7 - applymovement 127, SootopolisCity_Movement_1E5A75 + applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_1E5A75 waitmovement 0 - special RemoveScriptEventObject + special RemoveCameraObject setvar VAR_0x405E, 2 clearflag FLAG_SPECIAL_FLAG_0x4000 releaseall @@ -312,10 +312,10 @@ SootopolisCity_Movement_1E5A75: @ 81E5A75 SootopolisCity_EventScript_1E5A82:: @ 81E5A82 delay 60 - special SpawnScriptEventObject - applymovement 127, SootopolisCity_Movement_1E5BA4 + special SpawnCameraObject + applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_1E5BA4 waitmovement 0 - special RemoveScriptEventObject + special RemoveCameraObject delay 60 fadescreenspeed 1, 8 setweather 15 @@ -369,12 +369,12 @@ SootopolisCity_EventScript_1E5A82:: @ 81E5A82 applymovement 10, SootopolisCity_Movement_1E5BCF applymovement 9, SootopolisCity_Movement_1E5BF0 waitmovement 0 - special SpawnScriptEventObject + special SpawnCameraObject applymovement 10, SootopolisCity_Movement_1E5BD6 applymovement 9, SootopolisCity_Movement_1E5BF7 - applymovement 127, SootopolisCity_Movement_1E5BAE + applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_1E5BAE waitmovement 0 - special RemoveScriptEventObject + special RemoveCameraObject setvar VAR_0x405E, 2 clearflag FLAG_SPECIAL_FLAG_0x4000 releaseall @@ -502,10 +502,10 @@ SootopolisCity_EventScript_1E5BFE:: @ 81E5BFE SootopolisCity_EventScript_1E5C1E:: @ 81E5C1E delay 60 - special SpawnScriptEventObject - applymovement 127, SootopolisCity_Movement_1E5A68 + special SpawnCameraObject + applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_1E5A68 waitmovement 0 - special RemoveScriptEventObject + special RemoveCameraObject delay 60 fadescreenspeed 1, 8 call SootopolisCity_EventScript_1E5D82 @@ -516,8 +516,8 @@ SootopolisCity_EventScript_1E5C1E:: @ 81E5C1E special sub_813B7D8 waitstate playse SE_T_KAMI - special SpawnScriptEventObject - applymovement 127, SootopolisCity_Movement_1E5E63 + special SpawnCameraObject + applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_1E5E63 waitmovement 0 waitse playmoncry SPECIES_RAYQUAZA, 2 @@ -555,10 +555,10 @@ SootopolisCity_EventScript_1E5C1E:: @ 81E5C1E SootopolisCity_EventScript_1E5CCE:: @ 81E5CCE delay 60 - special SpawnScriptEventObject - applymovement 127, SootopolisCity_Movement_1E5BA4 + special SpawnCameraObject + applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_1E5BA4 waitmovement 0 - special RemoveScriptEventObject + special RemoveCameraObject delay 60 fadescreenspeed 1, 8 call SootopolisCity_EventScript_1E5D82 @@ -568,9 +568,9 @@ SootopolisCity_EventScript_1E5CCE:: @ 81E5CCE setvar VAR_0x8004, 1 special sub_813B7D8 waitstate - special SpawnScriptEventObject - applymovement 127, SootopolisCity_Movement_1E5E63 - applymovement 255, SootopolisCity_Movement_1E5E68 + special SpawnCameraObject + applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_1E5E63 + applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Movement_1E5E68 waitmovement 0 waitse playmoncry SPECIES_RAYQUAZA, 2 @@ -974,18 +974,18 @@ SootopolisCity_EventScript_1E61CC:: @ 81E61CC msgbox SootopolisCity_Text_1E7737, MSGBOX_DEFAULT closemessage applymovement 7, SootopolisCity_Movement_1E62D4 - applymovement 255, SootopolisCity_Movement_1E630E + applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Movement_1E630E waitmovement 0 delay 120 applymovement 1, SootopolisCity_Movement_1E6341 waitmovement 0 applymovement 7, SootopolisCity_Movement_1E6344 - applymovement 255, SootopolisCity_Movement_1E634F + applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Movement_1E634F waitmovement 0 msgbox SootopolisCity_Text_1E77F0, MSGBOX_DEFAULT closemessage setflag FLAG_0x133 - applymovement 255, SootopolisCity_Movement_1E635A + applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Movement_1E635A waitmovement 0 warp MAP_CAVE_OF_ORIGIN_ENTRANCE, 255, 9, 20 waitstate @@ -993,13 +993,13 @@ SootopolisCity_EventScript_1E61CC:: @ 81E61CC SootopolisCity_EventScript_1E6243:: @ 81E6243 applymovement 7, SootopolisCity_Movement_1E6267 - applymovement 255, SootopolisCity_Movement_1E628C + applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Movement_1E628C waitmovement 0 return SootopolisCity_EventScript_1E6255:: @ 81E6255 applymovement 7, SootopolisCity_Movement_1E6267 - applymovement 255, SootopolisCity_Movement_1E62B0 + applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Movement_1E62B0 waitmovement 0 return diff --git a/data/maps/SootopolisCity_Gym_1F/scripts.inc b/data/maps/SootopolisCity_Gym_1F/scripts.inc index 570f936b5..844b3c8b3 100644 --- a/data/maps/SootopolisCity_Gym_1F/scripts.inc +++ b/data/maps/SootopolisCity_Gym_1F/scripts.inc @@ -73,7 +73,7 @@ SootopolisCity_Gym_1F_EventScript_224F15:: @ 8224F15 SootopolisCity_Gym_1F_EventScript_224F29:: @ 8224F29 lockall delay 20 - applymovement 255, SootopolisCity_Gym_1F_Movement_224F42 + applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Gym_1F_Movement_224F42 waitmovement 0 playse SE_RU_HYUU delay 60 diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc b/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc index a2073d3f7..fafcaa05d 100644 --- a/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc +++ b/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc @@ -32,12 +32,12 @@ SootopolisCity_MysteryEventsHouse_1F_MapScript2_22799D: @ 822799D SootopolisCity_MysteryEventsHouse_1F_EventScript_2279B7:: @ 82279B7 lockall - applymovement 255, SootopolisCity_MysteryEventsHouse_1F_Movement_227A1F + applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_MysteryEventsHouse_1F_Movement_227A1F waitmovement 0 applymovement 1, SootopolisCity_MysteryEventsHouse_1F_Movement_227A21 waitmovement 0 moveobjectoffscreen 1 - applymovement 255, SootopolisCity_MysteryEventsHouse_1F_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_MysteryEventsHouse_1F_Movement_2725A6 waitmovement 0 compare VAR_0x40C0, 1 call_if 1, SootopolisCity_MysteryEventsHouse_1F_EventScript_227A04 @@ -135,19 +135,19 @@ SootopolisCity_MysteryEventsHouse_1F_EventScript_227AEF:: @ 8227AEF SootopolisCity_MysteryEventsHouse_1F_EventScript_227AFE:: @ 8227AFE applymovement VAR_LAST_TALKED, SootopolisCity_MysteryEventsHouse_1F_Movement_227B40 - applymovement 255, SootopolisCity_MysteryEventsHouse_1F_Movement_227B34 + applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_MysteryEventsHouse_1F_Movement_227B34 waitmovement 0 return SootopolisCity_MysteryEventsHouse_1F_EventScript_227B10:: @ 8227B10 applymovement VAR_LAST_TALKED, SootopolisCity_MysteryEventsHouse_1F_Movement_227B43 - applymovement 255, SootopolisCity_MysteryEventsHouse_1F_Movement_227B38 + applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_MysteryEventsHouse_1F_Movement_227B38 waitmovement 0 return SootopolisCity_MysteryEventsHouse_1F_EventScript_227B22:: @ 8227B22 applymovement VAR_LAST_TALKED, SootopolisCity_MysteryEventsHouse_1F_Movement_227B40 - applymovement 255, SootopolisCity_MysteryEventsHouse_1F_Movement_227B3C + applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_MysteryEventsHouse_1F_Movement_227B3C waitmovement 0 return diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_B1F/scripts.inc b/data/maps/SootopolisCity_MysteryEventsHouse_B1F/scripts.inc index 9a6b4b1b3..452f2e15c 100644 --- a/data/maps/SootopolisCity_MysteryEventsHouse_B1F/scripts.inc +++ b/data/maps/SootopolisCity_MysteryEventsHouse_B1F/scripts.inc @@ -13,7 +13,7 @@ SootopolisCity_MysteryEventsHouse_B1F_MapScript2_227E5E: @ 8227E5E SootopolisCity_MysteryEventsHouse_B1F_EventScript_227E68:: @ 8227E68 lockall - applymovement 255, SootopolisCity_MysteryEventsHouse_B1F_Movement_227EF3 + applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_MysteryEventsHouse_B1F_Movement_227EF3 waitmovement 0 special CopyEReaderTrainerGreeting msgbox gStringVar4, MSGBOX_DEFAULT @@ -30,7 +30,7 @@ SootopolisCity_MysteryEventsHouse_B1F_EventScript_227E68:: @ 8227E68 call_if 1, SootopolisCity_MysteryEventsHouse_B1F_EventScript_227EE8 closemessage special HealPlayerParty - applymovement 255, SootopolisCity_MysteryEventsHouse_B1F_Movement_227EF9 + applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_MysteryEventsHouse_B1F_Movement_227EF9 waitmovement 0 special LoadPlayerParty setvar VAR_TEMP_1, 1 diff --git a/data/maps/SouthernIsland_Exterior/scripts.inc b/data/maps/SouthernIsland_Exterior/scripts.inc index 12d27a61f..d041c3ea3 100644 --- a/data/maps/SouthernIsland_Exterior/scripts.inc +++ b/data/maps/SouthernIsland_Exterior/scripts.inc @@ -31,12 +31,12 @@ SouthernIsland_Exterior_EventScript_242A17:: @ 8242A17 end BattleFrontier_OutsideWest_EventScript_242A21:: @ 8242A21 - applymovement 255, BattleFrontier_OutsideWest_Movement_242A37 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_OutsideWest_Movement_242A37 waitmovement 0 return BattleFrontier_OutsideWest_EventScript_242A2C:: @ 8242A2C - applymovement 255, BattleFrontier_OutsideWest_Movement_242A39 + applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_OutsideWest_Movement_242A39 waitmovement 0 return diff --git a/data/maps/SouthernIsland_Interior/scripts.inc b/data/maps/SouthernIsland_Interior/scripts.inc index b21fdecab..ff1425196 100644 --- a/data/maps/SouthernIsland_Interior/scripts.inc +++ b/data/maps/SouthernIsland_Interior/scripts.inc @@ -66,8 +66,8 @@ SouthernIsland_Interior_EventScript_242AD0:: @ 8242AD0 goto_if 0, SouthernIsland_Interior_EventScript_242B9A setflag FLAG_0x0CE setflag FLAG_TEMP_2 - special SpawnScriptEventObject - applymovement 127, SouthernIsland_Interior_Movement_242BCA + special SpawnCameraObject + applymovement EVENT_OBJ_ID_CAMERA, SouthernIsland_Interior_Movement_242BCA waitmovement 0 delay 50 waitse @@ -76,11 +76,11 @@ SouthernIsland_Interior_EventScript_242AD0:: @ 8242AD0 waitmoncry addobject 2 delay 30 - applymovement 127, SouthernIsland_Interior_Movement_242BCE + applymovement EVENT_OBJ_ID_CAMERA, SouthernIsland_Interior_Movement_242BCE applymovement 2, SouthernIsland_Interior_Movement_242BDA waitmovement 0 delay 50 - special RemoveScriptEventObject + special RemoveCameraObject setvar VAR_LAST_TALKED, 2 compare VAR_0x40D5, 0 call_if 1, SouthernIsland_Interior_EventScript_242BA4 diff --git a/data/maps/TerraCave_End/scripts.inc b/data/maps/TerraCave_End/scripts.inc index b23cc23f1..4e5580719 100644 --- a/data/maps/TerraCave_End/scripts.inc +++ b/data/maps/TerraCave_End/scripts.inc @@ -27,7 +27,7 @@ TerraCave_End_EventScript_23B0E3:: @ 823B0E3 TerraCave_End_EventScript_23B0EC:: @ 823B0EC lockall - applymovement 255, TerraCave_End_Movement_2725B2 + applymovement EVENT_OBJ_ID_PLAYER, TerraCave_End_Movement_2725B2 waitmovement 0 applymovement 1, TerraCave_End_Movement_23B16E waitmovement 0 diff --git a/data/maps/TrainerHill_Elevator/scripts.inc b/data/maps/TrainerHill_Elevator/scripts.inc index e9117efe2..c4e3afbdb 100644 --- a/data/maps/TrainerHill_Elevator/scripts.inc +++ b/data/maps/TrainerHill_Elevator/scripts.inc @@ -10,7 +10,7 @@ TrainerHill_Elevator_EventScript_26935F:: @ 826935F end TrainerHill_Elevator_EventScript_269360:: @ 8269360 - applymovement 255, TrainerHill_Elevator_Movement_2693EB + applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Elevator_Movement_2693EB waitmovement 0 releaseall warp MAP_TRAINER_HILL_ROOF, 255, 15, 5 @@ -18,7 +18,7 @@ TrainerHill_Elevator_EventScript_269360:: @ 8269360 end TrainerHill_Elevator_EventScript_269375:: @ 8269375 - applymovement 255, TrainerHill_Elevator_Movement_2693E4 + applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Elevator_Movement_2693E4 waitmovement 0 applymovement 1, TrainerHill_Elevator_Movement_2693EE waitmovement 0 @@ -29,11 +29,11 @@ TrainerHill_Elevator_EventScript_269375:: @ 8269375 releaseall applymovement 1, TrainerHill_Elevator_Movement_2693F0 waitmovement 0 - applymovement 255, TrainerHill_Elevator_Movement_2693DF + applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Elevator_Movement_2693DF waitmovement 0 call TrainerHill_Elevator_EventScript_2693D9 delay 25 - applymovement 255, TrainerHill_Elevator_Movement_2693E7 + applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Elevator_Movement_2693E7 waitmovement 0 warp MAP_TRAINER_HILL_ENTRANCE, 255, 17, 8 waitstate diff --git a/data/maps/TrainerHill_Entrance/scripts.inc b/data/maps/TrainerHill_Entrance/scripts.inc index c75c22be2..d86caad9c 100644 --- a/data/maps/TrainerHill_Entrance/scripts.inc +++ b/data/maps/TrainerHill_Entrance/scripts.inc @@ -23,7 +23,7 @@ TrainerHill_Entrance_MapScript1_2680D0: @ 82680D0 compare VAR_RESULT, 0 goto_eq TrainerHill_Entrance_EventScript_2680FF setobjectxy 255, 9, 6 - applymovement 255, TrainerHill_Entrance_Movement_26837F + applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_26837F end TrainerHill_Entrance_EventScript_2680FF:: @ 82680FF @@ -31,7 +31,7 @@ TrainerHill_Entrance_EventScript_2680FF:: @ 82680FF special sp194_trainer_tower compare VAR_RESULT, 1 goto_eq TrainerHill_Entrance_EventScript_26811A - applymovement 255, TrainerHill_Entrance_Movement_26837F + applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_26837F end TrainerHill_Entrance_EventScript_26811A:: @ 826811A @@ -62,7 +62,7 @@ TrainerHill_Entrance_MapScript2_26813E: @ 826813E TrainerHill_Entrance_EventScript_268160:: @ 8268160 lockall - applymovement 255, TrainerHill_Entrance_Movement_268385 + applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_268385 waitmovement 0 setmetatile 17, 10, 820, 1 special DrawWholeMapView @@ -83,18 +83,18 @@ TrainerHill_Entrance_EventScript_268182:: @ 8268182 TrainerHill_Entrance_EventScript_2681B5:: @ 82681B5 lockall - applymovement 255, TrainerHill_Entrance_Movement_26837F + applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_26837F msgbox TrainerHill_Entrance_Text_268689, MSGBOX_DEFAULT goto TrainerHill_Entrance_EventScript_2681DA TrainerHill_Entrance_EventScript_2681CA:: @ 82681CA lockall - applymovement 255, TrainerHill_Entrance_Movement_26837F + applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_26837F msgbox TrainerHill_Entrance_Text_268712, MSGBOX_DEFAULT TrainerHill_Entrance_EventScript_2681DA:: @ 82681DA closemessage - applymovement 255, TrainerHill_Entrance_Movement_268381 + applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_268381 waitmovement 0 setvar VAR_0x40D6, 0 special HealPlayerParty @@ -130,7 +130,7 @@ TrainerHill_Entrance_EventScript_268227:: @ 8268227 TrainerHill_Entrance_EventScript_268229:: @ 8268229 lockall - applymovement 255, TrainerHill_Entrance_Movement_26837F + applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_26837F checkflag FLAG_SYS_GAME_CLEAR goto_if 0, TrainerHill_Entrance_EventScript_26836A msgbox TrainerHill_Entrance_Text_2684C6, MSGBOX_DEFAULT @@ -185,7 +185,7 @@ TrainerHill_Entrance_EventScript_268314:: @ 8268314 setvar VAR_TEMP_5, 0 msgbox TrainerHill_Entrance_Text_26866F, MSGBOX_DEFAULT closemessage - applymovement 255, TrainerHill_Entrance_Movement_268381 + applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_268381 waitmovement 0 releaseall end @@ -211,7 +211,7 @@ TrainerHill_Entrance_EventScript_26835C:: @ 826835C TrainerHill_Entrance_EventScript_26836A:: @ 826836A msgbox TrainerHill_Entrance_Text_268430, MSGBOX_DEFAULT closemessage - applymovement 255, TrainerHill_Entrance_Movement_268381 + applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_268381 waitmovement 0 releaseall end diff --git a/data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc b/data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc index 93b7802be..5e07864e4 100644 --- a/data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc +++ b/data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc @@ -157,7 +157,7 @@ VerdanturfTown_BattleTentBattleRoom_EventScript_20254B:: @ 820254B hideobjectat 1, MAP_VERDANTURF_TOWN_BATTLE_TENT_BATTLE_ROOM call VerdanturfTown_BattleTentBattleRoom_EventScript_202310 setvar VAR_TEMP_1, 1 - applymovement 255, VerdanturfTown_BattleTentBattleRoom_Movement_202573 + applymovement EVENT_OBJ_ID_PLAYER, VerdanturfTown_BattleTentBattleRoom_Movement_202573 removeobject 2 end diff --git a/data/maps/VerdanturfTown_BattleTentCorridor/scripts.inc b/data/maps/VerdanturfTown_BattleTentCorridor/scripts.inc index ef577c7f1..e5d7e45e9 100644 --- a/data/maps/VerdanturfTown_BattleTentCorridor/scripts.inc +++ b/data/maps/VerdanturfTown_BattleTentCorridor/scripts.inc @@ -10,12 +10,12 @@ VerdanturfTown_BattleTentCorridor_EventScript_20209A:: @ 820209A lockall setvar VAR_TEMP_0, 1 applymovement 1, VerdanturfTown_BattleTentCorridor_Movement_2020DE - applymovement 255, VerdanturfTown_BattleTentCorridor_Movement_2020DE + applymovement EVENT_OBJ_ID_PLAYER, VerdanturfTown_BattleTentCorridor_Movement_2020DE waitmovement 0 opendoor 2, 1 waitdooranim applymovement 1, VerdanturfTown_BattleTentCorridor_Movement_2020E4 - applymovement 255, VerdanturfTown_BattleTentCorridor_Movement_2020E3 + applymovement EVENT_OBJ_ID_PLAYER, VerdanturfTown_BattleTentCorridor_Movement_2020E3 waitmovement 0 closedoor 2, 1 waitdooranim diff --git a/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc b/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc index ec7ecfb1a..81726eda9 100644 --- a/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc +++ b/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc @@ -246,12 +246,12 @@ VerdanturfTown_BattleTentLobby_EventScript_201A3F:: @ 8201A3F VerdanturfTown_BattleTentLobby_EventScript_201A41:: @ 8201A41 applymovement 1, VerdanturfTown_BattleTentLobby_Movement_201A70 - applymovement 255, VerdanturfTown_BattleTentLobby_Movement_201A70 + applymovement EVENT_OBJ_ID_PLAYER, VerdanturfTown_BattleTentLobby_Movement_201A70 waitmovement 0 opendoor 6, 1 waitdooranim applymovement 1, VerdanturfTown_BattleTentLobby_Movement_201A74 - applymovement 255, VerdanturfTown_BattleTentLobby_Movement_201A77 + applymovement EVENT_OBJ_ID_PLAYER, VerdanturfTown_BattleTentLobby_Movement_201A77 waitmovement 0 closedoor 6, 1 waitdooranim diff --git a/data/maps/VictoryRoad_1F/scripts.inc b/data/maps/VictoryRoad_1F/scripts.inc index 5b3dabbc9..45f6d9d78 100644 --- a/data/maps/VictoryRoad_1F/scripts.inc +++ b/data/maps/VictoryRoad_1F/scripts.inc @@ -38,7 +38,7 @@ VictoryRoad_1F_EventScript_235DC8:: @ 8235DC8 end VictoryRoad_1F_EventScript_235DE1:: @ 8235DE1 - applymovement 255, VictoryRoad_1F_Movement_2725AA + applymovement EVENT_OBJ_ID_PLAYER, VictoryRoad_1F_Movement_2725AA waitmovement 0 msgbox VictoryRoad_1F_Text_235EE6, MSGBOX_DEFAULT trainerbattle_no_intro TRAINER_WALLY_1, VictoryRoad_1F_Text_235FFC diff --git a/data/scripts/cable_club.inc b/data/scripts/cable_club.inc index f77017830..44116d088 100644 --- a/data/scripts/cable_club.inc +++ b/data/scripts/cable_club.inc @@ -237,7 +237,7 @@ OldaleTown_PokemonCenter_2F_EventScript_276CB5:: @ 8276CB5 goto_eq OldaleTown_PokemonCenter_2F_EventScript_276DD5 applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_27734D waitmovement 0 - applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27734F + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27734F waitmovement 0 applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_277349 waitmovement 0 @@ -258,7 +258,7 @@ OldaleTown_PokemonCenter_2F_EventScript_276CFF:: @ 8276CFF setvar VAR_0x4087, 0 compare VAR_0x8007, 0 goto_eq OldaleTown_PokemonCenter_2F_EventScript_276DD5 - applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27735E + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27735E waitmovement 0 applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_27734D waitmovement 0 @@ -278,7 +278,7 @@ OldaleTown_PokemonCenter_2F_EventScript_276D2C:: @ 8276D2C OldaleTown_PokemonCenter_2F_EventScript_276D44:: @ 8276D44 special CloseLink setvar VAR_0x4087, 0 - applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27734F + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27734F waitmovement 0 compare VAR_0x8007, 0 goto_eq OldaleTown_PokemonCenter_2F_EventScript_276D6B @@ -302,7 +302,7 @@ OldaleTown_PokemonCenter_2F_EventScript_276D84:: @ 8276D84 setvar VAR_0x4087, 0 compare VAR_0x8007, 0 goto_eq OldaleTown_PokemonCenter_2F_EventScript_276DD5 - applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27735E + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27735E waitmovement 0 applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_27734D waitmovement 0 @@ -316,24 +316,24 @@ OldaleTown_PokemonCenter_2F_EventScript_276DAE:: @ 8276DAE delay 60 message OldaleTown_PokemonCenter_2F_Text_27854C waitmessage - applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27734F + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27734F waitmovement 0 applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_277349 waitmovement 0 return OldaleTown_PokemonCenter_2F_EventScript_276DD5:: @ 8276DD5 - applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27734F + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27734F waitmovement 0 return OldaleTown_PokemonCenter_2F_EventScript_276DE0:: @ 8276DE0 lockall - applymovement 255, OldaleTown_PokemonCenter_2F_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_2725A6 waitmovement 0 msgbox OldaleTown_PokemonCenter_2F_Text_27964A, MSGBOX_DEFAULT closemessage - applymovement 255, OldaleTown_PokemonCenter_2F_Movement_276E10 + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_276E10 waitmovement 0 delay 30 msgbox OldaleTown_PokemonCenter_2F_Text_279718, MSGBOX_DEFAULT @@ -462,11 +462,11 @@ OldaleTown_PokemonCenter_2F_EventScript_276FBD:: @ 8276FBD applymovement VAR_LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_27734D waitmovement 0 closemessage - applymovement 255, OldaleTown_PokemonCenter_2F_Movement_277356 + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_277356 waitmovement 0 opendoor 9, 1 waitdooranim - applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27735A + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27735A waitmovement 0 hideobjectat 255, MAP_PETALBURG_CITY closedoor 9, 1 @@ -481,7 +481,7 @@ OldaleTown_PokemonCenter_2F_EventScript_276FBD:: @ 8276FBD end OldaleTown_PokemonCenter_2F_EventScript_27702B:: @ 827702B - applymovement 255, Movement_277352 + applymovement EVENT_OBJ_ID_PLAYER, Movement_277352 waitmovement 0 return @@ -566,11 +566,11 @@ OldaleTown_PokemonCenter_2F_EventScript_27713A:: @ 827713A applymovement VAR_LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_27734D waitmovement 0 closemessage - applymovement 255, OldaleTown_PokemonCenter_2F_Movement_277356 + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_277356 waitmovement 0 opendoor 9, 1 waitdooranim - applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27735A + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27735A waitmovement 0 hideobjectat 255, MAP_PETALBURG_CITY closedoor 9, 1 @@ -641,11 +641,11 @@ OldaleTown_PokemonCenter_2F_EventScript_27724C:: @ 827724C applymovement VAR_LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_27734D waitmovement 0 closemessage - applymovement 255, OldaleTown_PokemonCenter_2F_Movement_277356 + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_277356 waitmovement 0 opendoor 9, 1 waitdooranim - applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27735A + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27735A waitmovement 0 hideobjectat 255, MAP_PETALBURG_CITY closedoor 9, 1 @@ -1040,11 +1040,11 @@ OldaleTown_PokemonCenter_2F_EventScript_27759F:: @ 827759F delay 60 applymovement VAR_LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_27734D waitmovement 0 - applymovement 255, OldaleTown_PokemonCenter_2F_Movement_277356 + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_277356 waitmovement 0 opendoor 5, 1 waitdooranim - applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27735A + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27735A waitmovement 0 hideobjectat 255, MAP_PETALBURG_CITY closedoor 5, 1 @@ -1379,11 +1379,11 @@ OldaleTown_PokemonCenter_2F_EventScript_277B3A:: @ 8277B3A applymovement VAR_LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_27734D waitmovement 0 closemessage - applymovement 255, OldaleTown_PokemonCenter_2F_Movement_277356 + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_277356 waitmovement 0 opendoor 9, 1 waitdooranim - applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27735A + applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27735A waitmovement 0 hideobjectat 255, MAP_PETALBURG_CITY closedoor 9, 1 @@ -1593,7 +1593,7 @@ MossdeepCity_GameCorner_1F_EventScript_277E0E:: @ 8277E0E applymovement VAR_LAST_TALKED, MossdeepCity_GameCorner_1F_Movement_27734D waitmovement 0 closemessage - applymovement 255, MossdeepCity_GameCorner_1F_Movement_277360 + applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_GameCorner_1F_Movement_277360 waitmovement 0 hideobjectat 255, MAP_PETALBURG_CITY release diff --git a/data/scripts/players_house.inc b/data/scripts/players_house.inc index 81ea87871..f22468500 100644 --- a/data/scripts/players_house.inc +++ b/data/scripts/players_house.inc @@ -15,19 +15,19 @@ LittlerootTown_MaysHouse_1F_EventScript_292704:: @ 8292704 msgbox LittlerootTown_BrendansHouse_1F_Text_1F7A46, MSGBOX_DEFAULT closemessage setvar VAR_0x4092, 4 - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292763 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292763 applymovement VAR_0x8004, LittlerootTown_BrendansHouse_1F_Movement_2725A6 waitmovement 0 releaseall end LittlerootTown_BrendansHouse_1F_EventScript_29274D:: @ 829274D - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_2725A8 waitmovement 0 return LittlerootTown_BrendansHouse_1F_EventScript_292758:: @ 8292758 - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_2725A4 waitmovement 0 return @@ -40,7 +40,7 @@ LittlerootTown_MaysHouse_1F_EventScript_292765:: @ 8292765 msgbox LittlerootTown_BrendansHouse_1F_Text_1F7B24, MSGBOX_DEFAULT closemessage applymovement VAR_0x8004, LittlerootTown_BrendansHouse_1F_Movement_2725A6 - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292AF0 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292AF0 waitmovement 0 releaseall end @@ -83,7 +83,7 @@ LittlerootTown_BrendansHouse_2F_EventScript_2927DF:: @ 82927DF addobject VAR_0x8008 applymovement VAR_0x8008, LittlerootTown_BrendansHouse_2F_Movement_292850 waitmovement 0 - applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_2F_Movement_2725A8 waitmovement 0 msgbox LittlerootTown_BrendansHouse_2F_Text_1F869A, MSGBOX_DEFAULT closemessage @@ -96,7 +96,7 @@ LittlerootTown_BrendansHouse_2F_EventScript_29280F:: @ 829280F addobject VAR_0x8008 applymovement VAR_0x8008, LittlerootTown_BrendansHouse_2F_Movement_29285B waitmovement 0 - applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_2F_Movement_2725A4 waitmovement 0 msgbox LittlerootTown_BrendansHouse_2F_Text_1F869A, MSGBOX_DEFAULT closemessage @@ -158,17 +158,17 @@ LittlerootTown_BrendansHouse_1F_EventScript_29286D:: @ 829286D applymovement VAR_0x8005, LittlerootTown_BrendansHouse_1F_Movement_2725A8 waitmovement 0 call LittlerootTown_BrendansHouse_1F_EventScript_29294B - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292AE0 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292AE0 waitmovement 0 playbgm MUS_INTER_V, 0 msgbox LittlerootTown_BrendansHouse_1F_Text_1F7BBC, MSGBOX_DEFAULT closemessage applymovement VAR_0x8005, LittlerootTown_BrendansHouse_1F_Movement_2929B7 waitmovement 0 - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292AE6 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292AE6 waitmovement 0 call LittlerootTown_BrendansHouse_1F_EventScript_29296C - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_2725A4 waitmovement 0 msgbox LittlerootTown_BrendansHouse_1F_Text_1F7BF1, MSGBOX_DEFAULT msgbox LittlerootTown_BrendansHouse_1F_Text_1F7C35, MSGBOX_DEFAULT @@ -183,17 +183,17 @@ LittlerootTown_MaysHouse_1F_EventScript_2928DC:: @ 82928DC applymovement VAR_0x8005, LittlerootTown_MaysHouse_1F_Movement_2725A4 waitmovement 0 call LittlerootTown_MaysHouse_1F_EventScript_29294B - applymovement 255, LittlerootTown_MaysHouse_1F_Movement_292AE8 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_292AE8 waitmovement 0 playbgm MUS_INTER_V, 0 msgbox LittlerootTown_MaysHouse_1F_Text_1F7BBC, MSGBOX_DEFAULT closemessage applymovement VAR_0x8005, LittlerootTown_MaysHouse_1F_Movement_2929BA waitmovement 0 - applymovement 255, LittlerootTown_MaysHouse_1F_Movement_292AEE + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_292AEE waitmovement 0 call LittlerootTown_MaysHouse_1F_EventScript_29296C - applymovement 255, LittlerootTown_MaysHouse_1F_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_2725A8 waitmovement 0 msgbox LittlerootTown_MaysHouse_1F_Text_1F7BF1, MSGBOX_DEFAULT msgbox LittlerootTown_MaysHouse_1F_Text_1F7C35, MSGBOX_DEFAULT @@ -217,7 +217,7 @@ LittlerootTown_MaysHouse_1F_EventScript_29294B:: @ 829294B LittlerootTown_BrendansHouse_1F_EventScript_29296C:: @ 829296C LittlerootTown_MaysHouse_1F_EventScript_29296C:: @ 829296C - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A6 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_2725A6 waitmovement 0 msgbox LittlerootTown_BrendansHouse_1F_Text_1F7EC6, MSGBOX_DEFAULT fadedefaultbgm @@ -565,38 +565,38 @@ LittlerootTown_BrendansHouse_1F_EventScript_292CC1:: @ 8292CC1 return LittlerootTown_BrendansHouse_1F_EventScript_292CD6:: @ 8292CD6 - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292DCC + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292DCC applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_292DCC applymovement VAR_0x8009, LittlerootTown_BrendansHouse_1F_Movement_292DBC waitmovement 0 return LittlerootTown_BrendansHouse_1F_EventScript_292CEF:: @ 8292CEF - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292DCC + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292DCC applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_292DCC applymovement VAR_0x8009, LittlerootTown_BrendansHouse_1F_Movement_292DC1 waitmovement 0 return LittlerootTown_BrendansHouse_1F_EventScript_292D08:: @ 8292D08 - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292DC6 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292DC6 waitmovement 0 return LittlerootTown_BrendansHouse_1F_EventScript_292D13:: @ 8292D13 - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292DD1 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292DD1 waitmovement 0 return LittlerootTown_BrendansHouse_1F_EventScript_292D1E:: @ 8292D1E - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292DD7 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292DD7 waitmovement 0 applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_2725A4 waitmovement 0 return LittlerootTown_BrendansHouse_1F_EventScript_292D33:: @ 8292D33 - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292DDE + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292DDE waitmovement 0 applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_2725A8 waitmovement 0 @@ -605,14 +605,14 @@ LittlerootTown_BrendansHouse_1F_EventScript_292D33:: @ 8292D33 LittlerootTown_BrendansHouse_1F_EventScript_292D48:: @ 8292D48 applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_292999 waitmovement 0 - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_2725A4 waitmovement 0 return LittlerootTown_BrendansHouse_1F_EventScript_292D5D:: @ 8292D5D applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_29299B waitmovement 0 - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_2725A8 waitmovement 0 return @@ -629,14 +629,14 @@ LittlerootTown_BrendansHouse_1F_EventScript_292D7D:: @ 8292D7D LittlerootTown_BrendansHouse_1F_EventScript_292D88:: @ 8292D88 applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_2929AF waitmovement 0 - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A8 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_2725A8 waitmovement 0 return LittlerootTown_BrendansHouse_1F_EventScript_292D9D:: @ 8292D9D applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_2929B3 waitmovement 0 - applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A4 + applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_2725A4 waitmovement 0 return diff --git a/data/scripts/secret_base.inc b/data/scripts/secret_base.inc index 35a2731a7..b3f567d0a 100644 --- a/data/scripts/secret_base.inc +++ b/data/scripts/secret_base.inc @@ -442,7 +442,7 @@ EventScript_275B5B:: @ 8275B5B end SecretBase_RedCave1_EventScript_275B81:: @ 8275B81 - applymovement 255, SecretBase_RedCave1_Movement_275BB4 + applymovement EVENT_OBJ_ID_PLAYER, SecretBase_RedCave1_Movement_275BB4 waitmovement 0 setvar VAR_0x4097, 1 msgbox SecretBase_RedCave1_Text_23B759, MSGBOX_YESNO diff --git a/data/specials.inc b/data/specials.inc index 8ee70c306..495a5a980 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -286,8 +286,8 @@ gSpecials:: @ 81DBA64 def_special GameClear def_special ShakeScreenInElevator def_special nullsub_55 - def_special SpawnScriptEventObject - def_special RemoveScriptEventObject + def_special SpawnCameraObject + def_special RemoveCameraObject def_special GetPokeblockNameByMonNature def_special GetSecretBaseNearbyMapName def_special CheckRelicanthWailord diff --git a/graphics/unknown/unknown_85CE55C.pal b/graphics/unknown/unknown_85CE55C.pal new file mode 100755 index 000000000..1d83a2018 --- /dev/null +++ b/graphics/unknown/unknown_85CE55C.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 0 49 +131 131 41 +156 197 32 +172 0 32 +189 0 24 +180 197 8 +156 0 8 +131 65 0 +90 0 0 +49 65 0 +32 0 8 +8 197 8 +0 0 24 +16 65 32 +32 197 32 +65 131 41 diff --git a/include/battle_anim.h b/include/battle_anim.h index cdeb60e69..5b62e594b 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -144,6 +144,11 @@ void SetGreyscaleOrOriginalPalette(u16 a1, bool8 a2); void PrepareAffineAnimInTaskData(struct Task *task, u8 spriteId, const union AffineAnimCmd *affineAnimCmds); bool8 RunAffineAnimFromTaskData(struct Task *task); void sub_80A78AC(struct Sprite *sprite); +void sub_80A6BFC(struct UnknownAnimStruct2 *unk, u8 unused); +u8 sub_80A8394(u16 species, bool8 isBackpic, u8 a3, s16 x, s16 y, u8 subpriority, u32 personality, u32 trainerId, u32 battlerId, u32 a10); +void sub_80A749C(struct Sprite *sprite); +void sub_80A6814(u8 taskId); +void sub_80A8610(struct Sprite *sprite); enum { @@ -178,6 +183,9 @@ u8 GetSubstituteSpriteDefault_Y(u8 battlerId); #define STAT_ANIM_MULTIPLE_MINUS2 58 void LaunchStatusAnimation(u8 battlerId, u8 statusAnimId); +// ground.c +void sub_81152DC(u8 taskId); + // battle_anim_8170478.s u8 ItemIdToBallId(u16 itemId); u8 AnimateBallOpenParticles(u8 x, u8 y, u8 priority, u8 subpriority, u8 ballId); @@ -185,6 +193,7 @@ u8 LaunchBallFadeMonTask(bool8 unFadeLater, u8 battlerId, u32 selectedPalettes, // battle_anim_utility_funcs.s void sub_8116EB4(u8); +void sub_8117854(u8 taskId, int unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5, u8 arg6, u8 arg7, const u8 *arg8, const u8 *arg9, const u16 *palette); u32 UnpackSelectedBattleAnimPalettes(s16); diff --git a/include/constants/event_objects.h b/include/constants/event_objects.h index 4967c814d..7a97c4caf 100644 --- a/include/constants/event_objects.h +++ b/include/constants/event_objects.h @@ -260,4 +260,7 @@ #define TRACKS_FOOT 1 #define TRACKS_BIKE_TIRE 2 +#define EVENT_OBJ_ID_PLAYER 0xFF +#define EVENT_OBJ_ID_CAMERA 0x7F + #endif // GUARD_CONSTANTS_EVENT_OBJECTS_H diff --git a/include/graphics.h b/include/graphics.h index 9150da83a..d7bdf096e 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -4159,6 +4159,8 @@ extern const u32 gBattleAnimSpriteSheet_050[]; extern const u32 gBattleAnimSpriteSheet_051[]; extern const u32 gBattleAnimSpriteSheet_052[]; extern const u32 gBattleAnimSpriteSheet_053[]; +extern const u32 gUnknown_08C2EA50[]; +extern const u32 gUnknown_08C2EA9C[]; extern const u32 gBattleAnimSpriteSheet_054[]; extern const u32 gBattleAnimSpriteSheet_055[]; extern const u32 gBattleAnimSpriteSheet_056[]; @@ -4624,6 +4626,9 @@ extern const u32 gBattleAnimSpritePalette_241[]; extern const u32 gBattleAnimSpritePalette_242[]; extern const u32 gBattleAnimSpritePalette_243[]; extern const u32 gBattleAnimSpritePalette_244[]; +extern const u8 gUnknown_08C2DC68[]; +extern const u16 gUnknown_08C2DDA4[]; +extern const u8 gUnknown_08C2DDC4[]; extern const u32 gBattleAnimSpritePalette_245[]; extern const u32 gBattleAnimSpritePalette_248[]; extern const u32 gBattleAnimSpritePalette_249[]; @@ -4702,6 +4707,9 @@ extern const u32 gBattleAnimBackgroundTilemap_07[]; extern const u32 gBattleAnimBackgroundTilemap_08[]; extern const u32 gBattleAnimBackgroundTilemap_09[]; extern const u32 gBattleAnimBackgroundTilemap_10[]; +extern const u32 gUnknown_08C2A634[]; +extern const u32 gUnknown_08C2A6D4[]; +extern const u32 gUnknown_08C2A6EC[]; extern const u32 gBattleAnimBackgroundTilemap_11[]; extern const u32 gBattleAnimBackgroundTilemap_12[]; extern const u32 gBattleAnimBackgroundTilemap_13[]; @@ -4733,6 +4741,13 @@ extern const u32 gUnknown_08C16FA8[]; extern const u32 gUnknown_08C16E90[]; extern const u32 gUnknown_08C17170[]; +extern const u32 gUnknown_08D95E00[]; +extern const u32 gUnknown_08D960D0[]; +extern const u32 gUnknown_08D963A4[]; +extern const u32 gBattleAnimBackgroundImage_Surf[]; +extern const u32 gBattleAnimBackgroundPalette_Surf[]; +extern const u32 gBattleAnimBackgroundImageMuddyWater_Pal[]; + // Berry blender extern const u32 gBerryBlenderArrowTiles[]; extern const u32 gBerryBlenderStartTiles[]; @@ -4762,9 +4777,4 @@ extern const u32 gCableCarDoor_Gfx[]; extern const u32 gCableCarCord_Gfx[]; extern const u16 gCableCar_Pal[]; -// Battle Anim -extern const u32 gUnknown_08C2DDA4[]; -extern const u32 gUnknown_08C2EA50[]; -extern const u32 gUnknown_08C2EA9C[]; - #endif //GUARD_GRAPHICS_H diff --git a/include/scanline_effect.h b/include/scanline_effect.h index eb837e7e2..5bd8b5546 100644 --- a/include/scanline_effect.h +++ b/include/scanline_effect.h @@ -3,6 +3,7 @@ // DMA control value to transfer a single 16-bit value at HBlank #define SCANLINE_EFFECT_DMACNT_16BIT (((DMA_ENABLE | DMA_START_HBLANK | DMA_REPEAT | DMA_SRC_INC | DMA_DEST_INC | DMA_16BIT | DMA_DEST_RELOAD) << 16) | 1) +#define SCANLINE_EFFECT_DMACNT_32BIT (((DMA_ENABLE | DMA_START_HBLANK | DMA_REPEAT | DMA_SRC_INC | DMA_DEST_INC | DMA_32BIT | DMA_DEST_RELOAD) << 16) | 1) #define SCANLINE_EFFECT_REG_BG0HOFS (REG_ADDR_BG0HOFS - REG_ADDR_BG0HOFS) #define SCANLINE_EFFECT_REG_BG0VOFS (REG_ADDR_BG0VOFS - REG_ADDR_BG0HOFS) diff --git a/ld_script.txt b/ld_script.txt index 27eed1699..453c68a65 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -159,7 +159,7 @@ SECTIONS { src/item_use.o(.text); src/battle_anim_effects_1.o(.text); src/battle_anim_effects_2.o(.text); - asm/water.o(.text); + src/water.o(.text); src/fire.o(.text); src/electric.o(.text); asm/ice.o(.text); @@ -224,7 +224,8 @@ SECTIONS { src/battle_anim_sound_tasks.o(.text); src/battle_controller_safari.o(.text); src/fldeff_sweetscent.o(.text); - asm/battle_anim_815A0D4.o(.text); + src/battle_anim_effects_3.o(.text); + asm/battle_anim_effects_3.o(.text); src/learn_move.o(.text); src/fldeff_softboiled.o(.text); src/decoration_inventory.o(.text); @@ -538,7 +539,7 @@ SECTIONS { data/field_effect_helpers.o(.rodata); src/contest_ai.o(.rodata); src/battle_controller_safari.o(.rodata); - data/battle_anim_815A0D4.o(.rodata); + src/battle_anim_effects_3.o(.rodata); src/learn_move.o(.rodata); src/roamer.o(.rodata); src/battle_tower.o(.rodata); diff --git a/src/battle_anim_80A5C6C.c b/src/battle_anim_80A5C6C.c index 28196a345..15a4d2b63 100644 --- a/src/battle_anim_80A5C6C.c +++ b/src/battle_anim_80A5C6C.c @@ -906,7 +906,7 @@ void sub_80A6B90(struct UnknownAnimStruct2 *unk, u32 arg1) } } -void sub_80A6BFC(struct UnknownAnimStruct2 *unk) +void sub_80A6BFC(struct UnknownAnimStruct2 *unk, u8 unused) { unk->bgTiles = gUnknown_0202305C; unk->unk4 = (u16 *)gUnknown_02023060; diff --git a/src/battle_anim_effects_3.c b/src/battle_anim_effects_3.c new file mode 100755 index 000000000..5f65cb31f --- /dev/null +++ b/src/battle_anim_effects_3.c @@ -0,0 +1,4889 @@ +#include "global.h" +#include "alloc.h" +#include "battle.h" +#include "battle_anim.h" +#include "bg.h" +#include "contest.h" +#include "data2.h" +#include "decompress.h" +#include "dma3.h" +#include "gpu_regs.h" +#include "graphics.h" +#include "palette.h" +#include "pokemon_icon.h" +#include "random.h" +#include "scanline_effect.h" +#include "sound.h" +#include "sprite.h" +#include "task.h" +#include "trig.h" +#include "util.h" +#include "constants/battle_anim.h" +#include "constants/rgb.h" +#include "constants/songs.h" +#include "constants/species.h" + +extern u8 sub_807521C(s16 x, s16 y, u8 a3); +extern void sub_810E2C8(struct Sprite *); + +extern const struct SpriteTemplate gUnknown_08593114; +extern const union AffineAnimCmd *const gUnknown_082FF6C0[]; +extern const union AffineAnimCmd *const gUnknown_082FF694[]; + +void sub_815A0D4(struct Sprite *); +void sub_815A1B0(struct Sprite *); +void sub_815A254(struct Sprite *); +void sub_815A2F0(struct Sprite *); +void sub_815A6C4(struct Sprite *); +void sub_815A7B0(struct Sprite *); +void sub_815A7EC(struct Sprite *); +void sub_815A8AC(struct Sprite *); +void sub_815A934(struct Sprite *); +void sub_815AAA4(struct Sprite *); +void sub_815ABD0(struct Sprite *); +void sub_815ACD0(struct Sprite *); +void sub_815B27C(struct Sprite *); +void sub_815B394(struct Sprite *); +void sub_815B49C(struct Sprite *); +void sub_815B570(struct Sprite *); +void sub_815B70C(struct Sprite *); +void sub_815BE04(struct Sprite *); +void sub_815C400(struct Sprite *); +void sub_815C6B0(struct Sprite *); +void sub_815C95C(struct Sprite *); +void sub_815CB88(struct Sprite *); +void sub_815CC94(struct Sprite *); +void sub_815CDB4(struct Sprite *); +void sub_815D7B4(struct Sprite *); +void sub_815D870(struct Sprite *); +void sub_815DEBC(struct Sprite *); +void sub_815E01C(struct Sprite *); +void sub_815E404(struct Sprite *); +void sub_815E444(struct Sprite *); +void sub_815E6D8(struct Sprite *); +void sub_815E954(struct Sprite *); +void sub_815EA14(struct Sprite *); +void sub_815EE84(struct Sprite *); +void sub_815F18C(struct Sprite *); +void sub_815F48C(struct Sprite *); +void sub_815FE80(struct Sprite *); +void sub_81061C4(struct Sprite *); +void sub_8160338(struct Sprite *); +void sub_81603A8(struct Sprite *); +static void sub_815A114(struct Sprite *); +static void sub_815A1F4(struct Sprite *); +static void sub_815A234(struct Sprite *); +static void sub_815A31C(struct Sprite *); +static void sub_815A3AC(struct Sprite *); +static void sub_815A3F0(struct Sprite *); +static void sub_815A49C(struct Sprite *); +static void sub_815A52C(u8); +static void sub_815A5F0(u8); +static void sub_815A73C(struct Sprite *); +static void sub_815A76C(struct Sprite *); +static void sub_815A9A0(struct Sprite *); +static void sub_815AA6C(struct Sprite *); +static void sub_815AB5C(struct Sprite *); +static void sub_815AD4C(struct Sprite *); +static void sub_815AED8(u8); +static void sub_815B054(u8); +static void sub_815B23C(struct Sprite *); +static void sub_815B4D4(struct Sprite *); +static void sub_815B5D0(struct Sprite *); +static void sub_815BF44(struct Sprite *); +static void sub_815BFF4(struct Sprite *); +static void sub_815C050(struct Sprite *); +static void sub_815C548(u8); +static void sub_815C700(struct Sprite *); +static void sub_815C7C4(u8); +static void sub_815CC34(struct Sprite *); +static void sub_815CD0C(struct Sprite *); +static void sub_815CDFC(struct Sprite *); +static void sub_815D1BC(u8); +static void sub_815D398(u8); +static void sub_815D694(u8); +static void sub_815D804(struct Sprite *); +static void sub_815DD48(u8); +static void sub_815DDE0(u8, bool8); +static void sub_815DF64(u8); +static void sub_815E0DC(struct Sprite *); +static void sub_815E20C(u8); +static void sub_815E34C(s16, s16, s16, s16, u8, u8, s16 *, s16 *); +static void sub_815E5CC(u8); +static void sub_815E784(struct Sprite *); +static void sub_815E898(u8); +static void sub_815E9BC(struct Sprite *); +static void sub_815EA60(struct Sprite *); +static void sub_815ECE4(u8); +static void sub_815EF08(struct Sprite *); +static void sub_815F330(u8); +static void sub_815F4F0(struct Sprite *); +static void sub_815F79C(u8); +static void sub_815F7C4(struct Sprite *); + +const union AnimCmd gUnknown_085CE004[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(16, 4), + ANIMCMD_FRAME(32, 4), + ANIMCMD_FRAME(48, 4), + ANIMCMD_FRAME(64, 4), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_085CE01C[] = +{ + gUnknown_085CE004, +}; + +const struct SpriteTemplate gUnknown_085CE020 = +{ + .tileTag = ANIM_TAG_SCRATCH, + .paletteTag = ANIM_TAG_SCRATCH, + .oam = &gUnknown_08524A34, + .anims = gUnknown_085CE01C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80A77C8, +}; + +const struct SpriteTemplate gUnknown_085CE038 = +{ + .tileTag = ANIM_TAG_BLACK_SMOKE, + .paletteTag = ANIM_TAG_BLACK_SMOKE, + .oam = &gUnknown_08524934, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_815A0D4, +}; + +const struct SpriteTemplate gUnknown_085CE050 = +{ + .tileTag = ANIM_TAG_BLACK_BALL, + .paletteTag = ANIM_TAG_BLACK_BALL, + .oam = &gUnknown_08524904, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80A78AC, +}; + +const union AnimCmd gUnknown_085CE068[] = +{ + ANIMCMD_FRAME(0, 40), + ANIMCMD_FRAME(16, 8), + ANIMCMD_FRAME(32, 40), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_085CE078[] = +{ + gUnknown_085CE068, +}; + +const struct SpriteTemplate gUnknown_085CE07C = +{ + .tileTag = ANIM_TAG_OPENING_EYE, + .paletteTag = ANIM_TAG_OPENING_EYE, + .oam = &gUnknown_08524914, + .anims = gUnknown_085CE078, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80A77C8, +}; + +const struct SpriteTemplate gUnknown_085CE094 = +{ + .tileTag = ANIM_TAG_ROUND_WHITE_HALO, + .paletteTag = ANIM_TAG_ROUND_WHITE_HALO, + .oam = &gUnknown_08524A3C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_815A1B0, +}; + +const struct SpriteTemplate gUnknown_085CE0AC = +{ + .tileTag = ANIM_TAG_TEAL_ALERT, + .paletteTag = ANIM_TAG_TEAL_ALERT, + .oam = &gUnknown_08524974, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_815A254, +}; + +const union AffineAnimCmd gUnknown_085CE0C4[] = +{ + AFFINEANIMCMD_FRAME(0x180, 0x180, 0, 0), + AFFINEANIMCMD_FRAME(-0x20, 0x18, 0, 5), + AFFINEANIMCMD_FRAME(0x18, -0x20, 0, 5), + AFFINEANIMCMD_JUMP(1), +}; + +const union AffineAnimCmd gUnknown_085CE0E4[] = +{ + AFFINEANIMCMD_FRAME(0x30, 0x30, 0, 0), + AFFINEANIMCMD_FRAME(0x20, 0x20, 0, 6), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_085CE0FC[] = +{ + gUnknown_085CE0C4, + gUnknown_085CE0E4, +}; + +const struct SpriteTemplate gUnknown_085CE104 = +{ + .tileTag = ANIM_TAG_EYE, + .paletteTag = ANIM_TAG_EYE, + .oam = &gUnknown_08524AFC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_085CE0FC, + .callback = sub_815A2F0, +}; + +const struct SpriteTemplate gUnknown_085CE11C = +{ + .tileTag = ANIM_TAG_SPIKES, + .paletteTag = ANIM_TAG_SPIKES, + .oam = &gUnknown_0852490C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_815A6C4, +}; + +const union AnimCmd gUnknown_085CE134[] = +{ + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(16, 3), + ANIMCMD_FRAME(32, 3), + ANIMCMD_FRAME(48, 3), + ANIMCMD_FRAME(64, 3), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_085CE14C[] = +{ + gUnknown_085CE134, +}; + +const struct SpriteTemplate gUnknown_085CE150 = +{ + .tileTag = ANIM_TAG_LEER, + .paletteTag = ANIM_TAG_LEER, + .oam = &gUnknown_08524914, + .anims = gUnknown_085CE14C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_815A7B0, +}; + +const union AnimCmd gUnknown_085CE168[] = +{ + ANIMCMD_FRAME(0, 3), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_085CE170[] = +{ + gUnknown_085CE168, +}; + +const union AffineAnimCmd gUnknown_085CE174[] = +{ + AFFINEANIMCMD_FRAME(-7, -7, -3, 16), + AFFINEANIMCMD_FRAME(7, 7, 3, 16), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd *const gUnknown_085CE18C[] = +{ + gUnknown_085CE174, +}; + +const struct SpriteTemplate gUnknown_085CE190 = +{ + .tileTag = ANIM_TAG_LETTER_Z, + .paletteTag = ANIM_TAG_LETTER_Z, + .oam = &gUnknown_08524974, + .anims = gUnknown_085CE170, + .images = NULL, + .affineAnims = gUnknown_085CE18C, + .callback = sub_815A7EC, +}; + +const union AnimCmd gUnknown_085CE1A8[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(16, 16), + ANIMCMD_FRAME(32, 4), + ANIMCMD_FRAME(48, 4), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_085CE1BC[] = +{ + gUnknown_085CE1A8, +}; + +const union AffineAnimCmd gUnknown_085CE1C0[] = +{ + AFFINEANIMCMD_FRAME(0x200, 0x200, 0, 0), + AFFINEANIMCMD_FRAME(-0x20, -0x20, 0, 8), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_085CE1D8[] = +{ + gUnknown_085CE1C0, +}; + +const struct SpriteTemplate gUnknown_085CE1DC = +{ + .tileTag = ANIM_TAG_FANG_ATTACK, + .paletteTag = ANIM_TAG_FANG_ATTACK, + .oam = &gUnknown_085249D4, + .anims = gUnknown_085CE1BC, + .images = NULL, + .affineAnims = gUnknown_085CE1D8, + .callback = sub_815A8AC, +}; + +const union AffineAnimCmd gUnknown_085CE1F4[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x180, 0, 0), + AFFINEANIMCMD_FRAME(0x10, 0x0, 0, 20), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_085CE20C[] = +{ + AFFINEANIMCMD_FRAME(0x140, 0x180, 0, 0), + AFFINEANIMCMD_FRAME(-0x10, 0x0, 0, 19), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_085CE224[] = +{ + gUnknown_085CE1F4, + gUnknown_085CE20C, +}; + +const struct SpriteTemplate gUnknown_085CE22C = +{ + .tileTag = ANIM_TAG_SPOTLIGHT, + .paletteTag = ANIM_TAG_SPOTLIGHT, + .oam = &gUnknown_085249DC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_085CE224, + .callback = sub_815A934, +}; + +const struct SpriteTemplate gUnknown_085CE244 = +{ + .tileTag = ANIM_TAG_TAG_HAND, + .paletteTag = ANIM_TAG_TAG_HAND, + .oam = &gUnknown_08524914, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_815AAA4, +}; + +const struct SpriteTemplate gUnknown_085CE25C = +{ + .tileTag = ANIM_TAG_TAG_HAND, + .paletteTag = ANIM_TAG_TAG_HAND, + .oam = &gUnknown_08524914, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_815ABD0, +}; + +const union AnimCmd gUnknown_085CE274[] = +{ + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(8, 2), + ANIMCMD_FRAME(16, 2), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gUnknown_085CE284[] = +{ + gUnknown_085CE274, +}; + +const struct SpriteTemplate gUnknown_085CE288 = +{ + .tileTag = ANIM_TAG_RAPID_SPIN, + .paletteTag = ANIM_TAG_RAPID_SPIN, + .oam = &gUnknown_08524934, + .anims = gUnknown_085CE284, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_815ACD0, +}; + +const union AffineAnimCmd gUnknown_085CE2A0[] = +{ + AFFINEANIMCMD_FRAME(-12, 8, 0, 4), + AFFINEANIMCMD_FRAME(20, -20, 0, 4), + AFFINEANIMCMD_FRAME(-8, 12, 0, 4), + AFFINEANIMCMD_END, +}; + +const union AnimCmd gUnknown_085CE2C0[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_085CE2C8[] = +{ + gUnknown_085CE2C0, +}; + +const union AffineAnimCmd gUnknown_085CE2CC[] = +{ + AFFINEANIMCMD_FRAME(0, 0, 5, 40), + AFFINEANIMCMD_FRAME(0, 0, 10, 10), + AFFINEANIMCMD_FRAME(0, 0, 15, 10), + AFFINEANIMCMD_FRAME(0, 0, 20, 40), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd *const gUnknown_085CE2F4[] = +{ + gUnknown_085CE2CC, +}; + +const struct SpriteTemplate gUnknown_085CE2F8 = +{ + .tileTag = ANIM_TAG_TRI_FORCE_TRIANGLE, + .paletteTag = ANIM_TAG_TRI_FORCE_TRIANGLE, + .oam = &gUnknown_085249DC, + .anims = gUnknown_085CE2C8, + .images = NULL, + .affineAnims = gUnknown_085CE2F4, + .callback = sub_815B27C, +}; + +const union AnimCmd gUnknown_085CE310[] = +{ + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(16, 3), + ANIMCMD_FRAME(32, 3), + ANIMCMD_FRAME(48, 3), + ANIMCMD_FRAME(32, 3, .hFlip = TRUE), + ANIMCMD_FRAME(16, 3, .hFlip = TRUE), + ANIMCMD_FRAME(0, 3, .hFlip = TRUE), + ANIMCMD_LOOP(1), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_085CE334[] = +{ + gUnknown_085CE310, +}; + +const struct SpriteTemplate gUnknown_085CE338 = +{ + .tileTag = ANIM_TAG_ECLIPSING_ORB, + .paletteTag = ANIM_TAG_ECLIPSING_ORB, + .oam = &gUnknown_08524914, + .anims = gUnknown_085CE334, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80A77C8, +}; + +const union AffineAnimCmd gUnknown_085CE350[] = +{ + AFFINEANIMCMD_FRAME(-12, 20, 0, 8), + AFFINEANIMCMD_FRAME(12, -20, 0, 8), + AFFINEANIMCMD_LOOP(2), + AFFINEANIMCMD_END, +}; + +const struct SpriteTemplate gUnknown_085CE370 = +{ + .tileTag = ANIM_TAG_POKEBALL, + .paletteTag = ANIM_TAG_POKEBALL, + .oam = &gUnknown_0852490C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_815B394, +}; + +const struct SpriteTemplate gUnknown_085CE388 = +{ + .tileTag = ANIM_TAG_GOLD_STARS, + .paletteTag = ANIM_TAG_GOLD_STARS, + .oam = &gUnknown_0852490C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_815B49C, +}; + +const struct SpriteTemplate gUnknown_085CE3A0 = +{ + .tileTag = ANIM_TAG_GOLD_STARS, + .paletteTag = ANIM_TAG_GOLD_STARS, + .oam = &gUnknown_08524904, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_815B570, +}; + +const union AffineAnimCmd gUnknown_085CE3B8[] = +{ + AFFINEANIMCMD_FRAME(8, -8, 0, 12), + AFFINEANIMCMD_FRAME(-16, 16, 0, 12), + AFFINEANIMCMD_FRAME(8, -8, 0, 12), + AFFINEANIMCMD_LOOP(1), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_085CE3E0[] = +{ + AFFINEANIMCMD_FRAME(0, 6, 0, 20), + AFFINEANIMCMD_FRAME(0, 0, 0, 20), + AFFINEANIMCMD_FRAME(0, -18, 0, 6), + AFFINEANIMCMD_FRAME(-18, -18, 0, 3), + AFFINEANIMCMD_FRAME(0, 0, 0, 15), + AFFINEANIMCMD_FRAME(4, 4, 0, 13), + AFFINEANIMCMD_END, +}; + +const struct SpriteTemplate gUnknown_085CE418 = +{ + .tileTag = ANIM_TAG_BLUE_ORB, + .paletteTag = ANIM_TAG_BLUE_ORB, + .oam = &gUnknown_08524904, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_815B70C, +}; + +const union AffineAnimCmd gUnknown_085CE430[] = +{ + AFFINEANIMCMD_FRAME(0, 6, 0, 20), + AFFINEANIMCMD_FRAME(0, 0, 0, 20), + AFFINEANIMCMD_FRAME(7, -30, 0, 6), + AFFINEANIMCMD_FRAME(0, 0, 0, 20), + AFFINEANIMCMD_FRAME(-2, 3, 0, 20), + AFFINEANIMCMD_END, +}; + +const s8 gUnknown_085CE460[] = +{ + 0xE8, + 0x18, + 0xFC, + 0x00, +}; + +const union AnimCmd gUnknown_085CE464[] = +{ + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(4, 6), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gUnknown_085CE470[] = +{ + ANIMCMD_FRAME(8, 6), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_085CE478[] = +{ + ANIMCMD_FRAME(12, 6), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_085CE480[] = +{ + gUnknown_085CE464, + gUnknown_085CE470, + gUnknown_085CE478, +}; + +const struct SpriteTemplate gUnknown_085CE48C = +{ + .tileTag = ANIM_TAG_GREEN_STAR, + .paletteTag = ANIM_TAG_GREEN_STAR, + .oam = &gUnknown_0852490C, + .anims = gUnknown_085CE480, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_815BE04, +}; + +const s8 gUnknown_085CE4A4[] = +{ + 0x78, + 0x50, + 0x28, + 0x00, +}; + +const u8 gUnknown_085CE4A8[] = +{ + 0, + 0, + 0, + 0, + 50, +}; + +const union AffineAnimCmd gUnknown_085CE4B0[] = +{ + AFFINEANIMCMD_FRAME(0, -15, 0, 7), + AFFINEANIMCMD_FRAME(0, 15, 0, 7), + AFFINEANIMCMD_LOOP(2), + AFFINEANIMCMD_END, +}; + +const struct SpriteTemplate gUnknown_085CE4D0 = +{ + .tileTag = ANIM_TAG_ANGER, + .paletteTag = ANIM_TAG_ANGER, + .oam = &gUnknown_0852490C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_815C400, +}; + +const union AnimCmd gUnknown_085CE4E8[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(3, 8), + ANIMCMD_FRAME(3, 8, .vFlip = TRUE), + ANIMCMD_FRAME(2, 8, .vFlip = TRUE), + ANIMCMD_FRAME(0, 8, .vFlip = TRUE), + ANIMCMD_FRAME(1, 8, .vFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gUnknown_085CE50C[] = +{ + ANIMCMD_FRAME(0, 8, .hFlip = TRUE), + ANIMCMD_FRAME(1, 8, .hFlip = TRUE), + ANIMCMD_FRAME(2, 8, .hFlip = TRUE), + ANIMCMD_FRAME(3, 8, .hFlip = TRUE), + ANIMCMD_FRAME(3, 8, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(2, 8, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(0, 8, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(1, 8, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gUnknown_085CE530[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_085CE538[] = +{ + gUnknown_085CE4E8, + gUnknown_085CE50C, + gUnknown_085CE530, +}; + +const struct SpriteTemplate gUnknown_085CE544 = +{ + .tileTag = ANIM_TAG_PINK_PETAL, + .paletteTag = ANIM_TAG_PINK_PETAL, + .oam = &gUnknown_08524904, + .anims = gUnknown_085CE538, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_815C6B0, +}; + +const u16 gUnknown_085CE55C[] = INCBIN_U16("graphics/unknown/unknown_85CE55C.gbapal"); + +const union AnimCmd gUnknown_085CE57C[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(4, 9), + ANIMCMD_FRAME(8, 5), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_085CE58C[] = +{ + gUnknown_085CE57C, +}; + +const struct SpriteTemplate gUnknown_085CE590 = +{ + .tileTag = ANIM_TAG_PAIN_SPLIT, + .paletteTag = ANIM_TAG_PAIN_SPLIT, + .oam = &gUnknown_0852490C, + .anims = gUnknown_085CE58C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_815C95C, +}; + +const struct SpriteTemplate gUnknown_085CE5A8 = +{ + .tileTag = ANIM_TAG_CONFETTI, + .paletteTag = ANIM_TAG_CONFETTI, + .oam = &gUnknown_08524904, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_815CB88, +}; + +const struct SpriteTemplate gUnknown_085CE5C0 = +{ + .tileTag = ANIM_TAG_SPOTLIGHT, + .paletteTag = ANIM_TAG_SPOTLIGHT, + .oam = &gUnknown_085249DC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_085CE224, + .callback = sub_815CC94, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_85CE5D8 = +{ + .tileTag = ANIM_TAG_BLUE_ORB, + .paletteTag = ANIM_TAG_BLUE_ORB, + .oam = &gUnknown_08524904, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_815CDB4, +}; + +const union AffineAnimCmd gUnknown_085CE5F0[] = +{ + AFFINEANIMCMD_FRAME(16, 0, 0, 4), + AFFINEANIMCMD_FRAME(0, -3, 0, 16), + AFFINEANIMCMD_FRAME(4, 0, 0, 4), + AFFINEANIMCMD_FRAME(0, 0, 0, 24), + AFFINEANIMCMD_FRAME(-5, 3, 0, 16), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_085CE620[] = +{ + AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0), + AFFINEANIMCMD_FRAME(-8, -8, 0, 8), + AFFINEANIMCMD_FRAME(8, 8, 0, 8), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd gUnknown_085CE640[] = +{ + AFFINEANIMCMD_FRAME(0xC0, 0xC0, 0, 0), + AFFINEANIMCMD_FRAME(8, 8, 0, 8), + AFFINEANIMCMD_FRAME(-8, -8, 0, 8), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd gUnknown_085CE660[] = +{ + AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(8, 8, 0, 8), + AFFINEANIMCMD_FRAME(-8, -8, 0, 8), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd *const gUnknown_085CE680[] = +{ + gUnknown_085CE620, + gUnknown_085CE640, + gUnknown_085CE660, +}; + +const struct SpriteTemplate gUnknown_085CE68C = +{ + .tileTag = ANIM_TAG_PINK_CLOUD, + .paletteTag = ANIM_TAG_PINK_CLOUD, + .oam = &gUnknown_08524974, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_085CE680, + .callback = sub_815D7B4, +}; + +const union AffineAnimCmd gUnknown_085CE6A4[] = +{ + AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0), + AFFINEANIMCMD_FRAME(-4, -6, 0, 16), + AFFINEANIMCMD_FRAME(4, 6, 0, 16), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd gUnknown_085CE6C4[] = +{ + AFFINEANIMCMD_FRAME(0xC0, 0xC0, 0, 0), + AFFINEANIMCMD_FRAME(4, 6, 0, 16), + AFFINEANIMCMD_FRAME(-4, -6, 0, 16), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd gUnknown_085CE6E4[] = +{ + AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(4, 6, 0, 16), + AFFINEANIMCMD_FRAME(-4, -6, 0, 16), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd gUnknown_085CE704[] = +{ + AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(8, 10, 0, 30), + AFFINEANIMCMD_FRAME(-8, -10, 0, 16), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd *const gUnknown_085CE724[] = +{ + gUnknown_085CE6A4, + gUnknown_085CE6C4, + gUnknown_085CE6E4, + gUnknown_085CE704, +}; + +const struct SpriteTemplate gUnknown_085CE734 = +{ + .tileTag = ANIM_TAG_PINK_CLOUD, + .paletteTag = ANIM_TAG_PINK_CLOUD, + .oam = &gUnknown_085249D4, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_085CE724, + .callback = sub_815D870, +}; + +const union AffineAnimCmd gUnknown_085CE74C[] = +{ + AFFINEANIMCMD_FRAME(-16, 16, 0, 6), + AFFINEANIMCMD_FRAME(16, -16, 0, 12), + AFFINEANIMCMD_FRAME(-16, 16, 0, 6), + AFFINEANIMCMD_END, +}; + +const struct SpriteTemplate gUnknown_085CE76C = +{ + .tileTag = ANIM_TAG_SWEAT_DROP, + .paletteTag = ANIM_TAG_SWEAT_DROP, + .oam = &gUnknown_08524904, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_815DEBC, +}; + +const u16 gUnknown_085CE784[] = INCBIN_U16("graphics/battle_anims/sprites/effect.gbapal"); + +const union AnimCmd gUnknown_085CE7B4[] = +{ + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(16, 3), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gUnknown_085CE7C0[] = +{ + ANIMCMD_FRAME(32, 3), + ANIMCMD_FRAME(48, 3), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gUnknown_085CE7CC[] = +{ + gUnknown_085CE7B4, + gUnknown_085CE7C0, +}; + +const struct SpriteTemplate gUnknown_085CE7D4 = +{ + .tileTag = ANIM_TAG_NOISE_LINE, + .paletteTag = ANIM_TAG_NOISE_LINE, + .oam = &gUnknown_08524914, + .anims = gUnknown_085CE7CC, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_815E01C, +}; + +const struct SpriteTemplate gUnknown_085CE7EC = +{ + .tileTag = ANIM_TAG_SMALL_RED_EYE, + .paletteTag = ANIM_TAG_SMALL_RED_EYE, + .oam = &gUnknown_08524904, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_815E404, +}; + +const struct SpriteTemplate gUnknown_085CE804 = +{ + .tileTag = ANIM_TAG_PAW_PRINT, + .paletteTag = ANIM_TAG_PAW_PRINT, + .oam = &gUnknown_08524914, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_815E444, +}; + +const union AffineAnimCmd gUnknown_085CE81C[] = +{ + AFFINEANIMCMD_FRAME(0, 0, -4, 24), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_085CE82C[] = +{ + AFFINEANIMCMD_FRAME(0x100, 0x100, -64, 0), + AFFINEANIMCMD_FRAME(0, 0, 4, 24), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_085CE844[] = +{ + gUnknown_085CE81C, + gUnknown_085CE82C, +}; + +const struct SpriteTemplate gUnknown_085CE84C = +{ + .tileTag = ANIM_TAG_RED_BALL, + .paletteTag = ANIM_TAG_RED_BALL, + .oam = &gUnknown_08524974, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_085CE844, + .callback = SpriteCallbackDummy, +}; + +const struct SpriteTemplate gUnknown_085CE864 = +{ + .tileTag = ANIM_TAG_TAG_HAND, + .paletteTag = ANIM_TAG_TAG_HAND, + .oam = &gUnknown_08524914, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_815E6D8, +}; + +const union AffineAnimCmd gUnknown_085CE87C[] = +{ + AFFINEANIMCMD_FRAME(0, -16, 0, 6), + AFFINEANIMCMD_FRAME(0, 16, 0, 6), + AFFINEANIMCMD_END, +}; + +const struct SpriteTemplate gUnknown_085CE894 = +{ + .tileTag = ANIM_TAG_SMELLINGSALT_EFFECT, + .paletteTag = ANIM_TAG_SMELLINGSALT_EFFECT, + .oam = &gUnknown_08524914, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_815E954, +}; + +const struct SpriteTemplate gUnknown_085CE8AC = +{ + .tileTag = ANIM_TAG_TAG_HAND, + .paletteTag = ANIM_TAG_TAG_HAND, + .oam = &gUnknown_08524914, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_815EA14, +}; + +const struct SpriteTemplate gUnknown_085CE8C4 = +{ + .tileTag = ANIM_TAG_MAGNIFYING_GLASS, + .paletteTag = ANIM_TAG_MAGNIFYING_GLASS, + .oam = &gUnknown_08524A34, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_815EE84, +}; + +const struct SpriteTemplate gUnknown_085CE8DC = +{ + .tileTag = ANIM_TAG_GOLD_STARS, + .paletteTag = ANIM_TAG_GOLD_STARS, + .oam = &gUnknown_0852490C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_815F18C, +}; + +const struct SpriteTemplate gUnknown_085CE8F4 = +{ + .tileTag = ANIM_TAG_GOLD_STARS, + .paletteTag = ANIM_TAG_GOLD_STARS, + .oam = &gUnknown_0852490C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_81061C4, +}; + +const struct SpriteTemplate gUnknown_085CE90C = +{ + .tileTag = ANIM_TAG_X_SIGN, + .paletteTag = ANIM_TAG_X_SIGN, + .oam = &gUnknown_0852491C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_815F48C, +}; + +const struct SpriteTemplate gUnknown_085CE924 = +{ + .tileTag = ANIM_TAG_ITEM_BAG, + .paletteTag = ANIM_TAG_ITEM_BAG, + .oam = &gUnknown_08524914, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_815FE80, +}; + +const union AnimCmd gUnknown_085CE93C[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(64, 4), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_085CE948[] = +{ + gUnknown_085CE93C, +}; + +const union AffineAnimCmd gUnknown_085CE94C[] = +{ + AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(0, 0, -4, 8), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_085CE964[] = +{ + AFFINEANIMCMD_FRAME(-0x100, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(0, 0, 4, 8), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_085CE97C[] = +{ + gUnknown_085CE94C, + gUnknown_085CE964, +}; + +const struct SpriteTemplate gUnknown_085CE984 = +{ + .tileTag = ANIM_TAG_SLAM_HIT_2, + .paletteTag = ANIM_TAG_SLAM_HIT_2, + .oam = &gUnknown_0852497C, + .anims = gUnknown_085CE948, + .images = NULL, + .affineAnims = gUnknown_085CE97C, + .callback = sub_8160338, +}; + +const union AffineAnimCmd gUnknown_085CE99C[] = +{ + AFFINEANIMCMD_FRAME(0, 0, -4, 64), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd *const gUnknown_085CE9AC[] = +{ + gUnknown_085CE99C, +}; + +const struct SpriteTemplate gUnknown_085CE9B0 = +{ + .tileTag = ANIM_TAG_RECYCLE, + .paletteTag = ANIM_TAG_RECYCLE, + .oam = &gUnknown_08524A9C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_085CE9AC, + .callback = sub_81603A8, +}; + +const union AffineAnimCmd gUnknown_085CE9C8[] = +{ + AFFINEANIMCMD_FRAME(0, 16, 0, 4), + AFFINEANIMCMD_FRAME(-2, 0, 0, 8), + AFFINEANIMCMD_FRAME(0, 4, 0, 4), + AFFINEANIMCMD_FRAME(0, 0, 0, 24), + AFFINEANIMCMD_FRAME(1, -5, 0, 16), + AFFINEANIMCMD_END, +}; + +void sub_815A0D4(struct Sprite *sprite) +{ + sprite->pos1.x += gBattleAnimArgs[0]; + sprite->pos1.y += gBattleAnimArgs[1]; + + if (!gBattleAnimArgs[3]) + sprite->data[0] = gBattleAnimArgs[2]; + else + sprite->data[0] = -gBattleAnimArgs[2]; + + sprite->data[1] = gBattleAnimArgs[4]; + sprite->callback = sub_815A114; +} + +static void sub_815A114(struct Sprite *sprite) +{ + if (sprite->data[1] > 0) + { + sprite->pos2.x = sprite->data[2] >> 8; + sprite->data[2] += sprite->data[0]; + sprite->invisible ^= 1; + sprite->data[1]--; + } + else + { + DestroyAnimSprite(sprite); + } +} + +void sub_815A160(u8 taskId) +{ + sub_807521C( + GetBattlerSpriteCoord(gBattleAnimTarget, 2) + 8, + GetBattlerSpriteCoord(gBattleAnimTarget, 3) + 8, + 0); + DestroyAnimVisualTask(taskId); +} + +void sub_815A1B0(struct Sprite *sprite) +{ + sprite->data[0] = 90; + sprite->callback = WaitAnimForDuration; + sprite->data[1] = 7; + StoreSpriteCallbackInData6(sprite, sub_815A1F4); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[1], 16 - sprite->data[1])); +} + +static void sub_815A1F4(struct Sprite *sprite) +{ + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[1], 16 - sprite->data[1])); + if (--sprite->data[1] < 0) + { + sprite->invisible = 1; + sprite->callback = sub_815A234; + } +} + +static void sub_815A234(struct Sprite *sprite) +{ + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BLDALPHA, 0); + DestroyAnimSprite(sprite); +} + +void sub_815A254(struct Sprite *sprite) +{ + u16 rotation; + u8 x = GetBattlerSpriteCoord(gBattleAnimTarget, 2); + u8 y = GetBattlerSpriteCoord(gBattleAnimTarget, 3); + + sub_80A6980(sprite, TRUE); + + rotation = ArcTan2Neg(sprite->pos1.x - x, sprite->pos1.y - y); + rotation += 0x6000; + if (IsContest()) + rotation += 0x4000; + + TrySetSpriteRotScale(sprite, FALSE, 0x100, 0x100, rotation); + + sprite->data[0] = gBattleAnimArgs[2]; + sprite->data[2] = x; + sprite->data[4] = y; + sprite->callback = StartAnimLinearTranslation; + StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); +} + +void sub_815A2F0(struct Sprite *sprite) +{ + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16)); + sprite->data[0] = 4; + sprite->callback = sub_815A31C; +} + +static void sub_815A31C(struct Sprite *sprite) +{ + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[0], 16 - sprite->data[0])); + + if (sprite->data[1]) + sprite->data[0]--; + else + sprite->data[0]++; + + if (sprite->data[0] == 15 || sprite->data[0] == 4) + sprite->data[1] ^= 1; + + if (sprite->data[2]++ > 70) + { + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BLDALPHA, 0); + StartSpriteAffineAnim(sprite, 1); + sprite->data[2] = 0; + sprite->invisible = 1; + sprite->affineAnimPaused = 1; + sprite->callback = sub_815A3AC; + } +} + +static void sub_815A3AC(struct Sprite *sprite) +{ + if (sprite->data[2]++ > 9) + { + sprite->invisible = 0; + sprite->affineAnimPaused = 0; + if (sprite->affineAnimEnded) + sprite->callback = sub_815A3F0; + } +} + +static void sub_815A3F0(struct Sprite *sprite) +{ + switch (sprite->data[3]) + { + case 0: + case 1: + sprite->pos2.x = 1; + sprite->pos2.y = 0; + break; + case 2: + case 3: + sprite->pos2.x = -1; + sprite->pos2.y = 0; + break; + case 4: + case 5: + sprite->pos2.x = 0; + sprite->pos2.y = 1; + break; + case 6: + default: + sprite->pos2.x = 0; + sprite->pos2.y = -1; + break; + } + + if (++sprite->data[3] > 7) + sprite->data[3] = 0; + + if (sprite->data[4]++ > 15) + { + sprite->data[0] = 16; + sprite->data[1] = 0; + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[0], 0)); + sprite->callback = sub_815A49C; + } +} + +static void sub_815A49C(struct Sprite *sprite) +{ + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[0], 16 - sprite->data[0])); + + if (sprite->data[1]++ > 1) + { + sprite->data[0]--; + sprite->data[1] = 0; + } + + if (sprite->data[0] == 0) + sprite->invisible = 1; + + if (sprite->data[0] < 0) + { + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BLDALPHA, 0); + DestroyAnimSprite(sprite); + } +} + +void sub_815A504(u8 taskId) +{ + gTasks[taskId].func = sub_815A52C; + gAnimVisualTaskCount--; +} + +static void sub_815A52C(u8 taskId) +{ + int i; + u16 lastColor; + u8 paletteIndex = sub_80A6D94(); + + if (++gTasks[taskId].data[5] == 4) + { + lastColor = gPlttBufferFaded[paletteIndex * 16 + 11]; + for (i = 10; i > 0; i--) + gPlttBufferFaded[paletteIndex * 16 + i + 1] = gPlttBufferFaded[paletteIndex * 16 + i]; + + gPlttBufferFaded[paletteIndex * 16 + 1] = lastColor; + gTasks[taskId].data[5] = 0; + } + + if ((u16)gBattleAnimArgs[7] == 0xFFFF) + DestroyTask(taskId); +} + +void sub_815A5C8(u8 taskId) +{ + gTasks[taskId].func = sub_815A5F0; + gAnimVisualTaskCount--; +} + +static void sub_815A5F0(u8 taskId) +{ + int i; + u16 lastColor; + u8 paletteIndex = sub_80A6D94(); + + if (++gTasks[taskId].data[5] == 4) + { + lastColor = gPlttBufferFaded[paletteIndex * 16 + 11]; + for (i = 10; i > 0; i--) + gPlttBufferFaded[paletteIndex * 16 + i + 1] = gPlttBufferFaded[paletteIndex * 16 + i]; + gPlttBufferFaded[paletteIndex * 16 + 1] = lastColor; + + lastColor = gPlttBufferUnfaded[paletteIndex * 16 + 11]; + for (i = 10; i > 0; i--) + gPlttBufferUnfaded[paletteIndex * 16 + i + 1] = gPlttBufferUnfaded[paletteIndex * 16 + i]; + gPlttBufferUnfaded[paletteIndex * 16 + 1] = lastColor; + + gTasks[taskId].data[5] = 0; + } + + if ((u16)gBattleAnimArgs[7] == 0xFFFF) + DestroyTask(taskId); +} + +void sub_815A6C4(struct Sprite *sprite) +{ + u16 x; + u16 y; + + InitAnimSpritePos(sprite, TRUE); + SetAverageBattlerPositions(gBattleAnimTarget, FALSE, &x, &y); + + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) + gBattleAnimArgs[2] = -gBattleAnimArgs[2]; + + sprite->data[0] = gBattleAnimArgs[4]; + sprite->data[2] = x + gBattleAnimArgs[2]; + sprite->data[4] = y + gBattleAnimArgs[3]; + sprite->data[5] = -50; + + InitAnimArcTranslation(sprite); + sprite->callback = sub_815A73C; +} + +static void sub_815A73C(struct Sprite *sprite) +{ + if (TranslateAnimArc(sprite)) + { + sprite->data[0] = 30; + sprite->data[1] = 0; + sprite->callback = WaitAnimForDuration; + StoreSpriteCallbackInData6(sprite, sub_815A76C); + } +} + +static void sub_815A76C(struct Sprite *sprite) +{ + if (sprite->data[1] & 1) + sprite->invisible ^= 1; + + if (++sprite->data[1] == 16) + DestroyAnimSprite(sprite); +} + +void sub_815A7B0(struct Sprite *sprite) +{ + SetSpriteCoordsToAnimAttackerCoords(sprite); + sub_80A6864(sprite, gBattleAnimArgs[0]); + sprite->pos1.y += gBattleAnimArgs[1]; + sprite->callback = RunStoredCallbackWhenAnimEnds; + StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); +} + +// This is likely fakematching due to some strange type casting behavior. +void sub_815A7EC(struct Sprite *sprite) +{ + int var0; + int var1; + if (sprite->data[0] == 0) + { + SetSpriteCoordsToAnimAttackerCoords(sprite); + sub_80A6864(sprite, gBattleAnimArgs[0]); + if (!IsContest()) + { + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) + { + sprite->data[1] = gBattleAnimArgs[2]; + sprite->data[2] = gBattleAnimArgs[3]; + } + else + { + var1 = -gBattleAnimArgs[2]; + sprite->data[1] = var1; + var1 = -gBattleAnimArgs[3]; + sprite->data[2] = var1; + } + } + else + { + var1 = -gBattleAnimArgs[2]; + sprite->data[1] = var1; + sprite->data[2] = gBattleAnimArgs[3]; + } + } + + sprite->data[0]++; + var0 = (sprite->data[0] * 20) & 0xFF; + sprite->data[3] += sprite->data[1]; + sprite->data[4] += sprite->data[2]; + sprite->pos2.x = (sprite->data[3] + (s32)((u32)sprite->data[3] >> 31)) >> 1; + sprite->pos2.y = Sin(var0 & 0xFF, 5) + ((s32)(sprite->data[4] + ((u32)sprite->data[4] >> 31)) >> 1); + + if ((u16)(sprite->pos1.x + sprite->pos2.x) > 240) + DestroyAnimSprite(sprite); +} + +void sub_815A8AC(struct Sprite *sprite) +{ + if (sprite->animEnded) + DestroyAnimSprite(sprite); +} + +void AnimTask_IsTargetPlayerSide(u8 taskId) +{ + if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_OPPONENT) + gBattleAnimArgs[7] = 0; + else + gBattleAnimArgs[7] = 1; + + DestroyAnimVisualTask(taskId); +} + +void AnimTask_IsHealingMove(u8 taskId) +{ + if (gAnimMoveDmg > 0) + gBattleAnimArgs[7] = 0; + else + gBattleAnimArgs[7] = 1; + + DestroyAnimVisualTask(taskId); +} + +void sub_815A934(struct Sprite *sprite) +{ + SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR | WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ); + SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_OBJWIN_ON); + gBattle_WIN0H = 0; + gBattle_WIN0V = 0; + SetGpuReg(REG_OFFSET_WIN0H, gBattle_WIN0H); + SetGpuReg(REG_OFFSET_WIN0V, gBattle_WIN0V); + + sub_80A6980(sprite, FALSE); + + sprite->oam.objMode = ST_OAM_OBJ_WINDOW; + sprite->invisible = 1; + sprite->callback = sub_815A9A0; +} + +static void sub_815A9A0(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { + case 0: + sprite->invisible = 0; + if (sprite->affineAnimEnded) + sprite->data[0]++; + break; + case 1: + case 3: + sprite->data[1] += 117; + sprite->pos2.x = sprite->data[1] >> 8; + if (++sprite->data[2] == 21) + { + sprite->data[2] = 0; + sprite->data[0]++; + } + break; + case 2: + sprite->data[1] -= 117; + sprite->pos2.x = sprite->data[1] >> 8; + if (++sprite->data[2] == 41) + { + sprite->data[2] = 0; + sprite->data[0]++; + } + break; + case 4: + ChangeSpriteAffineAnim(sprite, 1); + sprite->data[0]++; + break; + case 5: + if (sprite->affineAnimEnded) + { + sprite->invisible = 1; + sprite->callback = sub_815AA6C; + } + break; + } +} + +static void sub_815AA6C(struct Sprite *sprite) +{ + SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR | WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR); + SetGpuReg(REG_OFFSET_DISPCNT, GetGpuReg(REG_OFFSET_DISPCNT) ^ DISPCNT_OBJWIN_ON); + DestroyAnimSprite(sprite); +} + +void sub_815AAA4(struct Sprite *sprite) +{ + if (gBattleAnimArgs[3] == 0) + { + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0); + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1); + } + + sprite->pos1.x += gBattleAnimArgs[0]; + sprite->pos1.y += gBattleAnimArgs[1]; + sprite->oam.tileNum += 16; + + if (gBattleAnimArgs[2] == 0) + { + sprite->oam.matrixNum = 8; + sprite->pos2.x = -12; + sprite->data[1] = 2; + } + else + { + sprite->pos2.x = 12; + sprite->data[1] = -2; + } + + sprite->data[0] = gBattleAnimArgs[4]; + + if (sprite->data[3] != 255) + sprite->data[3] = gBattleAnimArgs[2]; + + sprite->callback = sub_815AB5C; +} + +static void sub_815AB5C(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + sprite->pos2.x += sprite->data[1]; + if (sprite->pos2.x == 0) + { + sprite->data[2]++; + if (sprite->data[3] == 0) + { + PlaySE1WithPanning(SE_W227, BattleAnimAdjustPanning(-64)); + } + } + } + else + { + sprite->pos2.x -= sprite->data[1]; + if (abs(sprite->pos2.x) == 12) + { + sprite->data[0]--; + sprite->data[2]--; + } + + } + + if (sprite->data[0] == 0) + DestroyAnimSprite(sprite); +} + +void sub_815ABD0(struct Sprite *sprite) +{ + sprite->oam.objMode = ST_OAM_OBJ_WINDOW; + sprite->data[3] = 255; + sub_815AAA4(sprite); +} + +void sub_815ABEC(u8 taskId) +{ + if (IsContest()) + { + SetGpuReg(REG_OFFSET_WININ, 0x1F3F); + gBattle_WIN1H = 0x98F0; + gBattle_WIN1V = 0x00A0; + SetGpuReg(REG_OFFSET_WIN1H, gBattle_WIN0H); + SetGpuReg(REG_OFFSET_WIN1V, gBattle_WIN0V); + } + else + { + SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ); + gBattle_WIN1H = 0x00F0; + gBattle_WIN1V = 0x78A0; + SetGpuReg(REG_OFFSET_WIN1H, 0x00F0); + SetGpuReg(REG_OFFSET_WIN1V, gBattle_WIN1V); + SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN1_ON); + } + + DestroyAnimVisualTask(taskId); +} + +void sub_815AC8C(u8 taskId) +{ + SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR); + gBattle_WIN1H = 0; + gBattle_WIN1V = 0; + if (!IsContest()) + ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN1_ON); + + DestroyAnimVisualTask(taskId); +} + +void sub_815ACD0(struct Sprite *sprite) +{ + int var0; + if (gBattleAnimArgs[0] == 0) + { + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0) + gBattleAnimArgs[1]; + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1); + } + else + { + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 0) + gBattleAnimArgs[1]; + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 1); + } + + sprite->pos2.y = gBattleAnimArgs[2]; + var0 = 0; + if (sprite->pos2.y > gBattleAnimArgs[3]) + var0 = 1; + + sprite->data[0] = var0; + sprite->data[1] = 0; + sprite->data[2] = gBattleAnimArgs[4]; + sprite->data[3] = gBattleAnimArgs[5]; + sprite->data[4] = gBattleAnimArgs[3]; + sprite->callback = sub_815AD4C; +} + +static void sub_815AD4C(struct Sprite *sprite) +{ + sprite->data[1] = (sprite->data[1] + sprite->data[2]) & 0xFF; + sprite->pos2.x = gSineTable[sprite->data[1]] >> 4; + sprite->pos2.y += sprite->data[3]; + + if (sprite->data[0]) + { + if (sprite->pos2.y < sprite->data[4]) + DestroyAnimSprite(sprite); + } + else + { + if (sprite->pos2.y > sprite->data[4]) + DestroyAnimSprite(sprite); + } +} + +void sub_815ADB0(u8 taskId) +{ + s16 var0; + u8 toBG2; + s16 var2; + int var3; + int var4; + s16 i; + struct ScanlineEffectParams scanlineParams; + struct Task *task = &gTasks[taskId]; + + if (!gBattleAnimArgs[0]) + { + var0 = GetBattlerYCoordWithElevation(gBattleAnimAttacker); + toBG2 = sub_80A8364(gBattleAnimAttacker); + } + else + { + var0 = GetBattlerYCoordWithElevation(gBattleAnimTarget); + toBG2 = sub_80A8364(gBattleAnimTarget); + } + + task->data[0] = var0 + 36; + task->data[1] = task->data[0]; + task->data[2] = var0 - 33; + if (task->data[2] < 0) + task->data[2] = 0; + + task->data[3] = task->data[0]; + task->data[4] = 8; + task->data[5] = gBattleAnimArgs[1]; + task->data[6] = 0; + task->data[7] = 0; + + if (toBG2 == 1) + { + var3 = gBattle_BG1_X; + task->data[8] = var3; + var4 = var3 + 240; + } + else + { + var3 = gBattle_BG2_X; + task->data[8] = var3; + var4 = var3 + 240; + } + + task->data[9] = var4; + task->data[10] = gBattleAnimArgs[2]; + + if (!gBattleAnimArgs[2]) + { + task->data[11] = var4; + var2 = task->data[8]; + } + else + { + task->data[11] = var3; + var2 = task->data[9]; + } + + task->data[15] = 0; + + i = task->data[2]; + while (i <= task->data[3]) + { + gScanlineEffectRegBuffers[0][i] = var2; + gScanlineEffectRegBuffers[1][i] = var2; + i++; + } + + if (toBG2 == 1) + scanlineParams.dmaDest = ®_BG1HOFS; + else + scanlineParams.dmaDest = ®_BG2HOFS; + + scanlineParams.dmaControl = SCANLINE_EFFECT_DMACNT_16BIT; + scanlineParams.initState = 1; + scanlineParams.unused9 = 0; + ScanlineEffect_SetParams(scanlineParams); + + task->func = sub_815AED8; +} + +static void sub_815AED8(u8 taskId) +{ + s16 i; + struct Task *task = &gTasks[taskId]; + + task->data[0] -= task->data[5]; + if (task->data[0] < task->data[2]) + task->data[0] = task->data[2]; + + if (task->data[4] == 0) + { + task->data[1] -= task->data[5]; + if (task->data[1] < task->data[2]) + { + task->data[1] = task->data[2]; + task->data[15] = 1; + } + } + else + { + task->data[4]--; + } + + if (++task->data[6] > 1) + { + task->data[6] = 0; + task->data[7] = task->data[7] == 0 ? 1 : 0; + + if (task->data[7]) + task->data[12] = task->data[8]; + else + task->data[12] = task->data[9]; + } + + i = task->data[0]; + while (i < task->data[1]) + { + gScanlineEffectRegBuffers[0][i] = task->data[12]; + gScanlineEffectRegBuffers[1][i] = task->data[12]; + i++; + } + + i = task->data[1]; + while (i <= task->data[3]) + { + gScanlineEffectRegBuffers[0][i] = task->data[11]; + gScanlineEffectRegBuffers[1][i] = task->data[11]; + i++; + } + + if (task->data[15]) + { + if (task->data[10]) + gScanlineEffect.state = 3; + + DestroyAnimVisualTask(taskId); + } +} + +void sub_815AFF0(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + task->data[0] = 0; + task->data[1] = 0; + task->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); + task->data[3] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); + task->data[4] = 32; + task->data[5] = -20; + task->data[6] = 0; + task->data[15] = GetAnimBattlerSpriteId(ANIM_ATTACKER); + task->func = sub_815B054; +} + +static void sub_815B054(u8 taskId) +{ + int var0, var1; + s16 x, y; + u16 i, j; + u8 spriteId; + struct Task *task = &gTasks[taskId]; + + switch (task->data[0]) + { + case 0: + var0 = task->data[2]; + if (task->data[1] & 1) + { + var1 = task->data[4]; + x = var0 - var1; + } + else + { + var1 = task->data[4]; + x = var0 + var1; + } + + y = task->data[3] + task->data[5]; + spriteId = CreateSprite(&gUnknown_08593114, x, y, 6 - task->data[1]); + PlaySE12WithPanning(SE_W118, BattleAnimAdjustPanning(-64)); + + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].hFlip = task->data[1] & 1; + gSprites[spriteId].callback = SpriteCallbackDummy; + } + + if (task->data[1] & 1) + { + task->data[4] -= 6; + task->data[5] -= 6; + } + + PrepareAffineAnimInTaskData(task, task->data[15], gUnknown_085CE2A0); + task->data[1]++; + task->data[0] = 1; + break; + case 1: + if (!RunAffineAnimFromTaskData(task)) + { + if (task->data[1] == 6) + { + task->data[6] = 8; + task->data[0] = 3; + } + else + { + if (task->data[1] <= 2) + task->data[6] = 10; + else + task->data[6] = 0; + + task->data[0] = 2; + } + } + break; + case 2: + if (task->data[6] != 0) + task->data[6]--; + else + task->data[0] = 0; + break; + case 3: + if (task->data[6] != 0) + task->data[6]--; + else + task->data[0] = 4; + break; + case 4: + for (i = 0, j = 0; i < MAX_SPRITES; i++) + { + if (gSprites[i].template == &gUnknown_08593114) + { + gSprites[i].data[0] = taskId; + gSprites[i].data[1] = 6; + StartSpriteAnim(&gSprites[i], 2); + gSprites[i].callback = sub_815B23C; + + if (++j == 6) + break; + } + } + + task->data[6] = j; + task->data[0] = 5; + break; + case 5: + if (task->data[6] == 0) + DestroyAnimVisualTask(taskId); + break; + } +} + +static void sub_815B23C(struct Sprite *sprite) +{ + if (sprite->animEnded) + { + gTasks[sprite->data[0]].data[sprite->data[1]]--; + DestroySprite(sprite); + } +} + +void sub_815B27C(struct Sprite *sprite) +{ + if (sprite->data[0] == 0) + InitAnimSpritePos(sprite, FALSE); + + if (++sprite->data[0] < 40) + { + u16 var = sprite->data[0]; + if ((var & 1) == 0) + sprite->invisible = 1; + else + sprite->invisible = 0; + } + + if (sprite->data[0] > 30) + sprite->invisible = 0; + + if (sprite->data[0] == 61) + { + StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); + sprite->pos1.x += sprite->pos2.x; + sprite->pos1.y += sprite->pos2.y; + sprite->pos2.x = 0; + sprite->pos2.y = 0; + sprite->data[0] = 20; + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2); + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3); + sprite->callback = StartAnimLinearTranslation; + } +} + +void sub_815B338(u8 taskId) +{ + switch (gTasks[taskId].data[0]) + { + case 0: + PrepareAffineAnimInTaskData(&gTasks[taskId], GetAnimBattlerSpriteId(ANIM_ATTACKER), gUnknown_085CE350); + gTasks[taskId].data[0]++; + break; + case 1: + if (!RunAffineAnimFromTaskData(&gTasks[taskId])) + DestroyAnimVisualTask(taskId); + break; + } +} + +void sub_815B394(struct Sprite *sprite) +{ + u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); + + switch (sprite->data[0]) + { + case 0: + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); + PrepareBattlerSpriteForRotScale(spriteId, ST_OAM_OBJ_NORMAL); + sprite->data[1] = 256; + sprite->data[2] = 256; + sprite->data[0]++; + break; + case 1: + sprite->data[1] += 96; + sprite->data[2] -= 26; + SetSpriteRotScale(spriteId, sprite->data[1], sprite->data[2], 0); + + if (++sprite->data[3] == 5) + sprite->data[0]++; + // fall through + case 2: + sprite->data[1] += 96; + sprite->data[2] += 48; + SetSpriteRotScale(spriteId, sprite->data[1], sprite->data[2], 0); + + if (++sprite->data[3] == 9) + { + sprite->data[3] = 0; + gSprites[spriteId].invisible = 1; + ResetSpriteRotScale(spriteId); + sprite->data[0]++; + } + break; + case 3: + sprite->pos2.y -= 6; + if (sprite->pos1.y + sprite->pos2.y < -32) + DestroyAnimSprite(sprite); + break; + } +} + +void sub_815B49C(struct Sprite *sprite) +{ + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) + sprite->pos1.x = -16; + else + sprite->pos1.x = 256; + + sprite->pos1.y = 0; + sprite->callback = sub_815B4D4; +} + +static void sub_815B4D4(struct Sprite *sprite) +{ + u32 newX; + + sprite->data[0] += 72; + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) + sprite->pos2.x = sprite->data[0] >> 4; + else + sprite->pos2.x = -(sprite->data[0] >> 4); + + sprite->data[1] += 16; + sprite->pos2.y += sprite->data[1] >> 8; + + if (++sprite->data[2] % 3 == 0) + { + CreateSpriteAndAnimate( + &gUnknown_085CE3A0, + sprite->pos1.x + sprite->pos2.x, + sprite->pos1.y + sprite->pos2.y, + sprite->subpriority + 1); + } + + newX = sprite->pos1.x + sprite->pos2.x + 32; + if (newX > 304) + DestroyAnimSprite(sprite); +} + +void sub_815B570(struct Sprite *sprite) +{ + u8 rand; + s8 y; + + rand = Random2() & 3; + if (rand == 0) + sprite->oam.tileNum += 4; + else + sprite->oam.tileNum += 5; + + y = Random2() & 7; + if (y > 3) + y = -y; + + sprite->pos2.y = y; + sprite->callback = sub_815B5D0; +} + +static void sub_815B5D0(struct Sprite *sprite) +{ + if (++sprite->data[0] < 30) + { + if (++sprite->data[1] == 2) + { + sprite->invisible ^= 1; + sprite->data[1] = 0; + } + } + else + { + if (sprite->data[1] == 2) + sprite->invisible = 0; + + if (sprite->data[1] == 3) + { + sprite->invisible = 1; + sprite->data[1] = -1; + } + + sprite->data[1]++; + } + + if (sprite->data[0] > 60) + DestroySprite(sprite); +} + +void sub_815B65C(u8 taskId) +{ + if (!gTasks[taskId].data[0]) + { + PrepareAffineAnimInTaskData(&gTasks[taskId], GetAnimBattlerSpriteId(ANIM_ATTACKER), gUnknown_085CE3B8); + gTasks[taskId].data[0]++; + } + else + { + if (!RunAffineAnimFromTaskData(&gTasks[taskId])) + DestroyAnimVisualTask(taskId); + } +} + +void sub_815B6B4(u8 taskId) +{ + if (!gTasks[taskId].data[0]) + { + PrepareAffineAnimInTaskData(&gTasks[taskId], GetAnimBattlerSpriteId(ANIM_ATTACKER), gUnknown_085CE3E0); + gTasks[taskId].data[0]++; + } + else + { + if (!RunAffineAnimFromTaskData(&gTasks[taskId])) + DestroyAnimVisualTask(taskId); + } +} + +void sub_815B70C(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { + case 0: + InitAnimSpritePos(sprite, FALSE); + sprite->data[1] = 0x900; + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); + sprite->data[0]++; + break; + case 1: + sprite->pos2.y -= sprite->data[1] >> 8; + sprite->data[1] -= 96; + if (sprite->pos1.y + sprite->pos2.y > sprite->data[2]) + DestroyAnimSprite(sprite); + break; + } +} + +void sub_815B778(u8 taskId) +{ + if (!gTasks[taskId].data[0]) + { + PrepareAffineAnimInTaskData(&gTasks[taskId], GetAnimBattlerSpriteId(ANIM_ATTACKER), gUnknown_085CE430); + gTasks[taskId].data[0]++; + } + else + { + if (!RunAffineAnimFromTaskData(&gTasks[taskId])) + DestroyAnimVisualTask(taskId); + } +} + +void sub_815B7D0(u8 taskId) +{ + int i, j; + u8 position; + struct UnknownAnimStruct2 unknownStruct; + u8 *dest; + u8 *src; + u16 *unk4; + u16 stretch; + + switch (gTasks[taskId].data[0]) + { + case 0: + SetGpuReg(REG_OFFSET_MOSAIC, 0); + if (sub_80A8364(gBattleAnimAttacker) == 1) + SetAnimBgAttribute(1, BG_ANIM_MOSAIC, 1); + else + SetAnimBgAttribute(2, BG_ANIM_MOSAIC, 1); + + gTasks[taskId].data[10] = gBattleAnimArgs[0]; + gTasks[taskId].data[0]++; + break; + case 1: + if (gTasks[taskId].data[2]++ > 1) + { + gTasks[taskId].data[2] = 0; + gTasks[taskId].data[1]++; + stretch = gTasks[taskId].data[1]; + SetGpuReg(REG_OFFSET_MOSAIC, (stretch << 4) | stretch); + if (stretch == 15) + gTasks[taskId].data[0]++; + } + break; + case 2: + HandleSpeciesGfxDataChange(gBattleAnimAttacker, gBattleAnimTarget, gTasks[taskId].data[10]); + sub_80A6BFC(&unknownStruct, gBattleAnimAttacker); + + if (IsContest()) + position = 0; + else + position = GetBattlerPosition(gBattleAnimAttacker); + + src = gMonSpritesGfxPtr->sprites[position] + (gBattleMonForms[gBattleAnimAttacker] << 11); + dest = unknownStruct.bgTiles; + CpuCopy32(src, dest, 0x800); + LoadBgTiles(1, unknownStruct.bgTiles, 0x800, unknownStruct.tilesOffset); + if (IsContest()) + { + if (IsSpeciesNotUnown(gContestResources->field_18->species) != IsSpeciesNotUnown(gContestResources->field_18->unk2)) + { + unk4 = (u16 *)unknownStruct.unk4; + for (i = 0; i < 8; i++) + { + for (j = 0; j < 4; j++) + { + u16 temp = unk4[j + i * 0x20]; + unk4[j + i * 0x20] = unk4[(7 - j) + i * 0x20]; + unk4[(7 - j) + i * 0x20] = temp; + } + } + + for (i = 0; i < 8; i++) + { + for (j = 0; j < 8; j++) + { + unk4[j + i * 0x20] ^= 0x400; + } + } + } + + if (IsSpeciesNotUnown(gContestResources->field_18->unk2)) + gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].affineAnims = gUnknown_082FF6C0; + else + gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].affineAnims = gUnknown_082FF694; + + StartSpriteAffineAnim(&gSprites[gBattlerSpriteIds[gBattleAnimAttacker]], 0); + } + + gTasks[taskId].data[0]++; + break; + case 3: + if (gTasks[taskId].data[2]++ > 1) + { + gTasks[taskId].data[2] = 0; + gTasks[taskId].data[1]--; + stretch = gTasks[taskId].data[1]; + SetGpuReg(REG_OFFSET_MOSAIC, (stretch << 4) | stretch); + + if (stretch == 0) + gTasks[taskId].data[0]++; + } + break; + case 4: + SetGpuReg(REG_OFFSET_MOSAIC, 0); + if (sub_80A8364(gBattleAnimAttacker) == 1) + SetAnimBgAttribute(1, BG_ANIM_MOSAIC, 0); + else + SetAnimBgAttribute(2, BG_ANIM_MOSAIC, 0); + + if (!IsContest()) + { + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT) + { + if (gTasks[taskId].data[10] == 0) + SetBattlerShadowSpriteCallback(gBattleAnimAttacker, gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies); + } + } + + DestroyAnimVisualTask(taskId); + break; + } +} + +void sub_815BB18(u8 taskId) +{ + gBattleAnimArgs[7] = gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].invisible; + DestroyAnimVisualTask(taskId); +} + +void sub_815BB58(u8 taskId) +{ + HandleSpeciesGfxDataChange(gBattleAnimAttacker, gBattleAnimTarget, TRUE); + DestroyAnimVisualTask(taskId); +} + +void sub_815BB84(u8 taskId) +{ + struct UnknownAnimStruct2 unknownStruct; + + switch (gTasks[taskId].data[0]) + { + case 0: + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_BG1); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16)); + SetAnimBgAttribute(1, BG_ANIM_SCREEN_SIZE, 0); + SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1); + if (!IsContest()) + SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 1); + + sub_80A6B30(&unknownStruct); + sub_80A6D60(&unknownStruct, &gUnknown_08C2A6EC, 0); + if (IsContest()) + { + gBattle_BG1_X = -56; + gBattle_BG1_Y = 0; + } + else + { + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) + gBattle_BG1_X = -135; + else + gBattle_BG1_X = -10; + + gBattle_BG1_Y = 0; + } + + sub_80A6CC0(unknownStruct.bgId, &gUnknown_08C2A634, unknownStruct.tilesOffset); + LoadCompressedPalette(&gUnknown_08C2A6D4, unknownStruct.unk8 << 4, 32); + + gTasks[taskId].data[10] = gBattle_BG1_X; + gTasks[taskId].data[11] = gBattle_BG1_Y; + + gTasks[taskId].data[0]++; + PlaySE12WithPanning(SE_W234, BattleAnimAdjustPanning(-64)); + break; + case 1: + if (gTasks[taskId].data[4]++ > 0) + { + gTasks[taskId].data[4] = 0; + if (++gTasks[taskId].data[1] > 12) + gTasks[taskId].data[1] = 12; + + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[1], 16 - gTasks[taskId].data[1])); + + if (gTasks[taskId].data[1] == 12) + gTasks[taskId].data[0]++; + } + break; + case 2: + if (--gTasks[taskId].data[1] < 0) + gTasks[taskId].data[1] = 0; + + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[1], 16 - gTasks[taskId].data[1])); + + if (!gTasks[taskId].data[1]) + { + gBattle_BG1_X = gUnknown_085CE460[gTasks[taskId].data[2]] + gTasks[taskId].data[10]; + if (++gTasks[taskId].data[2] == 4) + gTasks[taskId].data[0] = 4; + else + gTasks[taskId].data[0] = 3; + } + break; + case 3: + if (++gTasks[taskId].data[3] == 4) + { + gTasks[taskId].data[3] = 0; + gTasks[taskId].data[0] = 1; + PlaySE12WithPanning(SE_W234, BattleAnimAdjustPanning(-64)); + } + break; + case 4: + sub_80A6B30(&unknownStruct); + sub_80A6C68(unknownStruct.bgId); + if (!IsContest()) + SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 0); + + SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1); + gBattle_BG1_X = 0; + gBattle_BG1_Y = 0; + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BLDALPHA, 0); + DestroyAnimVisualTask(taskId); + break; + } +} + +void sub_815BE04(struct Sprite *sprite) +{ + s16 xOffset; + u8 spriteId1; + u8 spriteId2; + + xOffset = Random2(); + xOffset &= 0x3F; + if (xOffset > 31) + xOffset = 32 - xOffset; + + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0) + xOffset; + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + 32; + sprite->data[1] = gBattleAnimArgs[0]; + sprite->data[2] = gBattleAnimArgs[1]; + + spriteId1 = CreateSprite(&gUnknown_085CE48C, sprite->pos1.x, sprite->pos1.y, sprite->subpriority + 1); + spriteId2 = CreateSprite(&gUnknown_085CE48C, sprite->pos1.x, sprite->pos1.y, sprite->subpriority + 1); + StartSpriteAnim(&gSprites[spriteId1], 1); + StartSpriteAnim(&gSprites[spriteId2], 2); + + gSprites[spriteId1].data[1] = gBattleAnimArgs[0]; + gSprites[spriteId1].data[2] = gBattleAnimArgs[1]; + gSprites[spriteId2].data[1] = gBattleAnimArgs[0]; + gSprites[spriteId2].data[2] = gBattleAnimArgs[1]; + gSprites[spriteId1].data[7] = -1; + gSprites[spriteId2].data[7] = -1; + gSprites[spriteId1].invisible = 1; + gSprites[spriteId2].invisible = 1; + gSprites[spriteId1].callback = sub_815C050; + gSprites[spriteId2].callback = sub_815C050; + + sprite->data[6] = spriteId1; + sprite->data[7] = spriteId2; + sprite->callback = sub_815BF44; +} + +static void sub_815BF44(struct Sprite *sprite) +{ + int var0; + s8 var1; + + var0 = (u16)sprite->data[2] + (u16)sprite->data[3]; + var1 = var0 >> 8; + sprite->pos2.y -= var1; + sprite->data[3] = var0 & 0xFF; + if (sprite->data[4] == 0 && sprite->pos2.y < -8) + { + gSprites[sprite->data[6]].invisible = 0; + sprite->data[4]++; + } + + if (sprite->data[4] == 1 && sprite->pos2.y < -16) + { + gSprites[sprite->data[7]].invisible = 0; + sprite->data[4]++; + } + + if (--sprite->data[1] == -1) + { + sprite->invisible = 1; + sprite->callback = sub_815BFF4; + } +} + +static void sub_815BFF4(struct Sprite *sprite) +{ + if (gSprites[sprite->data[6]].callback == SpriteCallbackDummy + && gSprites[sprite->data[7]].callback == SpriteCallbackDummy) + { + DestroySprite(&gSprites[sprite->data[6]]); + DestroySprite(&gSprites[sprite->data[7]]); + DestroyAnimSprite(sprite); + } +} + +static void sub_815C050(struct Sprite *sprite) +{ + u16 d2; + register u16 d3 asm("r1"); + int var0; + s8 var1; + + if (!sprite->invisible) + { + d2 = sprite->data[2]; + d3 = sprite->data[3]; + var0 = d2 + d3; + var1 = var0 >> 8; + sprite->pos2.y -= var1; + sprite->data[3] = var0 & 0xFF; + if (--sprite->data[1] == -1) + { + sprite->invisible = 1; + sprite->callback = SpriteCallbackDummy; + } + } +} + +void sub_815C0A4(u8 taskId) +{ + struct UnknownAnimStruct2 unknownStruct; + + switch (gTasks[taskId].data[0]) + { + case 0: + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_BG1); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(3, 13)); + SetAnimBgAttribute(1, BG_ANIM_SCREEN_SIZE, 0); + SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1); + if (!IsContest()) + SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 1); + + sub_80A6B30(&unknownStruct); + sub_80A6D60(&unknownStruct, &gUnknown_08C2A6EC, 0); + if (IsContest()) + { + gBattle_BG1_X = -56; + gBattle_BG1_Y = 0; + } + else + { + u8 position = GetBattlerPosition(gBattleAnimTarget); + if (IsDoubleBattle() == TRUE) + { + if (position == B_POSITION_OPPONENT_LEFT) + gBattle_BG1_X = -155; + if (position == B_POSITION_OPPONENT_RIGHT) + gBattle_BG1_X = -115; + if (position == B_POSITION_PLAYER_LEFT) + gBattle_BG1_X = 14; + if (position == B_POSITION_PLAYER_RIGHT) + gBattle_BG1_X = -20; + } + else + { + if (position == B_POSITION_OPPONENT_LEFT) + gBattle_BG1_X = -135; + if (position == B_POSITION_PLAYER_LEFT) + gBattle_BG1_X = -10; + } + + gBattle_BG1_Y = 0; + } + + sub_80A6CC0(unknownStruct.bgId, &gUnknown_08C2A634, unknownStruct.tilesOffset); + LoadCompressedPalette(&gUnknown_08C2A6D4, unknownStruct.unk8 << 4, 32); + gTasks[taskId].data[10] = gBattle_BG1_X; + gTasks[taskId].data[11] = gBattle_BG1_Y; + gTasks[taskId].data[0]++; + break; + case 1: + gTasks[taskId].data[3] = 0; + if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_OPPONENT) + gBattle_BG1_X = gTasks[taskId].data[10] + gUnknown_085CE4A4[gTasks[taskId].data[2]]; + else + gBattle_BG1_X = gTasks[taskId].data[10] - gUnknown_085CE4A4[gTasks[taskId].data[2]]; + + if (++gTasks[taskId].data[2] == 5) + gTasks[taskId].data[0] = 5; + else + gTasks[taskId].data[0]++; + break; + case 2: + if (--gTasks[taskId].data[1] <= 4) + gTasks[taskId].data[1] = 5; + + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(3, gTasks[taskId].data[1])); + if (gTasks[taskId].data[1] == 5) + gTasks[taskId].data[0]++; + break; + case 3: + if (++gTasks[taskId].data[3] > gUnknown_085CE4A8[gTasks[taskId].data[2]]) + gTasks[taskId].data[0]++; + break; + case 4: + if (++gTasks[taskId].data[1] > 13) + gTasks[taskId].data[1] = 13; + + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(3, gTasks[taskId].data[1])); + if (gTasks[taskId].data[1] == 13) + gTasks[taskId].data[0] = 1; + break; + case 5: + sub_80A6B30(&unknownStruct); + sub_80A6C68(unknownStruct.bgId); + if (!IsContest()) + SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 0); + + SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1); + gBattle_BG1_X = 0; + gBattle_BG1_Y = 0; + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BLDALPHA, 0); + DestroyAnimVisualTask(taskId); + break; + } +} + +void sub_815C3A8(u8 taskId) +{ + if (gTasks[taskId].data[0] == 0) + { + PrepareAffineAnimInTaskData(&gTasks[taskId], GetAnimBattlerSpriteId(0), gUnknown_085CE4B0); + gTasks[taskId].data[0]++; + } + else + { + if (!RunAffineAnimFromTaskData(&gTasks[taskId])) + DestroyAnimVisualTask(taskId); + } +} + +void sub_815C400(struct Sprite *sprite) +{ + if (sprite->data[0] == 0) + { + InitAnimSpritePos(sprite, 0); + sprite->data[0]++; + } + else if (sprite->data[0]++ > 20) + { + sprite->data[1] += 160; + sprite->data[2] += 128; + + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) + sprite->pos2.x = -(sprite->data[1] >> 8); + else + sprite->pos2.x = sprite->data[1] >> 8; + + sprite->pos2.y += sprite->data[2] >> 8; + if (sprite->pos2.y > 64) + DestroyAnimSprite(sprite); + } +} + +void sub_815C478(u8 taskId) +{ + u8 side; + struct Task *task = &gTasks[taskId]; + + if (!gBattleAnimArgs[1]) + { + DestroyAnimVisualTask(taskId); + return; + } + + if (gBattleAnimArgs[2] < 0) + gBattleAnimArgs[2] = 0; + if (gBattleAnimArgs[2] > 2) + gBattleAnimArgs[2] = 2; + + task->data[0] = 0; + task->data[1] = 0; + task->data[2] = 0; + task->data[3] = 8 - (2 * gBattleAnimArgs[2]); + task->data[4] = 0x100 + (gBattleAnimArgs[2] * 128); + task->data[5] = gBattleAnimArgs[2] + 2; + task->data[6] = gBattleAnimArgs[1] - 1; + task->data[15] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); + + if (!gBattleAnimArgs[0]) + side = GetBattlerSide(gBattleAnimAttacker); + else + side = GetBattlerSide(gBattleAnimTarget); + + if (side == B_SIDE_OPPONENT) + { + task->data[4] *= -1; + task->data[5] *= -1; + } + + PrepareBattlerSpriteForRotScale(task->data[15], ST_OAM_OBJ_NORMAL); + task->func = sub_815C548; +} + +static void sub_815C548(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + switch (task->data[0]) + { + case 0: + gSprites[task->data[15]].pos2.x += task->data[5]; + task->data[2] -= task->data[4]; + SetSpriteRotScale(task->data[15], 0x100, 0x100, task->data[2]); + SetBattlerSpriteYOffsetFromRotation(task->data[15]); + if (++task->data[1] >= task->data[3]) + { + task->data[1] = 0; + task->data[0]++; + } + break; + case 1: + gSprites[task->data[15]].pos2.x -= task->data[5]; + task->data[2] += task->data[4]; + SetSpriteRotScale(task->data[15], 0x100, 0x100, task->data[2]); + SetBattlerSpriteYOffsetFromRotation(task->data[15]); + if (++task->data[1] >= task->data[3] * 2) + { + task->data[1] = 0; + task->data[0]++; + } + break; + case 2: + gSprites[task->data[15]].pos2.x += task->data[5]; + task->data[2] -= task->data[4]; + SetSpriteRotScale(task->data[15], 0x100, 0x100, task->data[2]); + SetBattlerSpriteYOffsetFromRotation(task->data[15]); + if (++task->data[1] >= task->data[3]) + { + if (task->data[6]) + { + task->data[6]--; + task->data[1] = 0; + task->data[0] = 0; + } + else + { + task->data[0]++; + } + } + break; + case 3: + ResetSpriteRotScale(task->data[15]); + DestroyAnimVisualTask(taskId); + break; + } +} + +void sub_815C6B0(struct Sprite *sprite) +{ + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) + { + sprite->pos1.x = 0; + sprite->pos1.y = gBattleAnimArgs[0]; + } + else + { + sprite->pos1.x = 240; + sprite->pos1.y = gBattleAnimArgs[0] - 30; + } + + sprite->data[2] = gBattleAnimArgs[2]; + StartSpriteAnim(sprite, gBattleAnimArgs[1]); + sprite->callback = sub_815C700; +} + +static void sub_815C700(struct Sprite *sprite) +{ + sprite->data[0] += 3; + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) + { + sprite->pos1.x += 5; + sprite->pos1.y -= 1; + + if (sprite->pos1.x > 240) + DestroyAnimSprite(sprite); + + sprite->pos2.y = Sin(sprite->data[0] & 0xFF, 16); + } + else + { + sprite->pos1.x -= 5; + sprite->pos1.y += 1; + + if (sprite->pos1.x < 0) + DestroyAnimSprite(sprite); + + sprite->pos2.y = Cos(sprite->data[0] & 0xFF, 16); + } +} + +void sub_815C770(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + task->data[0] = 0; + task->data[1] = 0; + task->data[2] = 0; + task->data[3] = 0; + task->data[12] = 0x20; + task->data[13] = 0x40; + task->data[14] = 0x800; + task->data[15] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); + + PrepareBattlerSpriteForRotScale(task->data[15], ST_OAM_OBJ_NORMAL); + task->func = sub_815C7C4; +} + +static void sub_815C7C4(u8 taskId) +{ + int temp; + struct Task *task = &gTasks[taskId]; + + switch (task->data[0]) + { + case 0: + task->data[2] += 0x200; + if (task->data[2] >= task->data[14]) + { + s16 diff = task->data[14] - task->data[2]; + s16 div = diff / (task->data[14] * 2); + s16 mod = diff % (task->data[14] * 2); + + if ((div & 1) == 0) + { + task->data[2] = task->data[14] - mod; + task->data[0] = 1; + } + else + { + task->data[2] = mod - task->data[14]; + } + } + break; + case 1: + task->data[2] -= 0x200; + if (task->data[2] <= -task->data[14]) + { + s16 diff = task->data[14] - task->data[2]; + s16 div = diff / (task->data[14] * 2); + s16 mod = diff % (task->data[14] * 2); + + if ((1 & div) == 0) + { + task->data[2] = mod - task->data[14]; + task->data[0] = 0; + } + else + { + task->data[2] = task->data[14] - mod; + } + } + break; + case 2: + ResetSpriteRotScale(task->data[15]); + DestroyAnimVisualTask(taskId); + return; + } + + SetSpriteRotScale(task->data[15], 0x100, 0x100, task->data[2]); + SetBattlerSpriteYOffsetFromRotation(task->data[15]); + gSprites[task->data[15]].pos2.x = -(((temp = task->data[2]) >= 0 ? task->data[2] : temp + 63) >> 6); + + if (++task->data[1] > 8) + { + if (task->data[12]) + { + task->data[12]--; + task->data[14] -= task->data[13]; + if (task->data[14] < 16) + task->data[14] = 16; + } + else + { + task->data[0] = 2; + } + } +} + +void sub_815C95C(struct Sprite *sprite) +{ + if (!sprite->data[0]) + { + if (!gBattleAnimArgs[2]) + { + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); + } + + sprite->pos1.x += gBattleAnimArgs[0]; + sprite->pos1.y += gBattleAnimArgs[1]; + sprite->data[1] = 0x80; + sprite->data[2] = 0x300; + sprite->data[3] = gBattleAnimArgs[1]; + sprite->data[0]++; + } + else + { + sprite->pos2.x = sprite->data[1] >> 8; + sprite->pos2.y += sprite->data[2] >> 8; + if (sprite->data[4] == 0 && sprite->pos2.y > -sprite->data[3]) + { + sprite->data[4] = 1; + sprite->data[2] = (-sprite->data[2] / 3) * 2; + } + + sprite->data[1] += 192; + sprite->data[2] += 128; + if (sprite->animEnded) + DestroyAnimSprite(sprite); + } +} + +void sub_815CA20(u8 taskId) +{ + u8 spriteId; + + if (gTasks[taskId].data[0] == 0) + { + if (gBattleAnimArgs[0] == 0) + gTasks[taskId].data[11] = gBattleAnimAttacker; + else + gTasks[taskId].data[11] = gBattleAnimTarget; + + spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); + gTasks[taskId].data[10] = spriteId; + PrepareBattlerSpriteForRotScale(spriteId, ST_OAM_OBJ_NORMAL); + + switch (gBattleAnimArgs[1]) + { + case 0: + SetSpriteRotScale(spriteId, 0xE0, 0x140, 0); + SetBattlerSpriteYOffsetFromYScale(spriteId); + break; + case 1: + SetSpriteRotScale(spriteId, 0xD0, 0x130, 0xF00); + SetBattlerSpriteYOffsetFromYScale(spriteId); + if (IsContest() || GetBattlerSide(gTasks[taskId].data[11]) == B_SIDE_PLAYER) + gSprites[spriteId].pos2.y += 16; + break; + case 2: + SetSpriteRotScale(spriteId, 0xD0, 0x130, 0xF100); + SetBattlerSpriteYOffsetFromYScale(spriteId); + if (IsContest() || GetBattlerSide(gTasks[taskId].data[11]) == B_SIDE_PLAYER) + gSprites[spriteId].pos2.y += 16; + break; + } + + gSprites[spriteId].pos2.x = 2; + gTasks[taskId].data[0]++; + } + else + { + spriteId = gTasks[taskId].data[10]; + if (++gTasks[taskId].data[2] == 3) + { + gTasks[taskId].data[2] = 0; + gSprites[spriteId].pos2.x = -gSprites[spriteId].pos2.x; + } + + if (++gTasks[taskId].data[1] == 13) + { + ResetSpriteRotScale(spriteId); + gSprites[spriteId].pos2.x = 0; + gSprites[spriteId].pos2.y = 0; + DestroyAnimVisualTask(taskId); + } + } +} + +void sub_815CB88(struct Sprite *sprite) +{ + u8 tileOffset; + int rand1; + int rand2; + + tileOffset = Random2() % 12; + sprite->oam.tileNum += tileOffset; + rand1 = Random2() & 0x1FF; + rand2 = Random2() & 0xFF; + + if (rand1 & 1) + sprite->data[0] = 0x5E0 + rand1; + else + sprite->data[0] = 0x5E0 - rand1; + + if (rand2 & 1) + sprite->data[1] = 0x480 + rand2; + else + sprite->data[1] = 0x480 - rand2; + + sprite->data[2] = gBattleAnimArgs[0]; + if (sprite->data[2] == 0) + sprite->pos1.x = -8; + else + sprite->pos1.x = 248; + + sprite->pos1.y = 104; + sprite->callback = sub_815CC34; +} + +static void sub_815CC34(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + sprite->pos2.x += sprite->data[0] >> 8; + sprite->pos2.y -= sprite->data[1] >> 8; + } + else + { + sprite->pos2.x -= sprite->data[0] >> 8; + sprite->pos2.y -= sprite->data[1] >> 8; + } + + sprite->data[0] -= 22; + sprite->data[1] -= 48; + if (sprite->data[0] < 0) + sprite->data[0] = 0; + + if (++sprite->data[3] == 31) + DestroyAnimSprite(sprite); +} + +void sub_815CC94(struct Sprite *sprite) +{ + SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR | WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ); + SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_OBJWIN_ON); + gBattle_WIN0H = 0; + gBattle_WIN0V = 0; + SetGpuReg(REG_OFFSET_WIN0H, gBattle_WIN0H); + SetGpuReg(REG_OFFSET_WIN0V, gBattle_WIN0V); + + sprite->data[0] = gBattleAnimArgs[2]; + sub_80A6980(sprite, FALSE); + sprite->oam.objMode = ST_OAM_OBJ_WINDOW; + sprite->invisible = 1; + sprite->callback = sub_815CD0C; +} + +static void sub_815CD0C(struct Sprite *sprite) +{ + switch (sprite->data[1]) + { + case 0: + sprite->invisible = 0; + if (sprite->affineAnimEnded) + sprite->data[1]++; + break; + case 1: + if (--sprite->data[0] == 0) + { + ChangeSpriteAffineAnim(sprite, 1); + sprite->data[1]++; + } + break; + case 2: + if (sprite->affineAnimEnded) + { + sprite->invisible = 1; + sprite->data[1]++; + } + break; + case 3: + SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR | WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR); + SetGpuReg(REG_OFFSET_DISPCNT, GetGpuReg(REG_OFFSET_DISPCNT) ^ DISPCNT_OBJWIN_ON); + DestroyAnimSprite(sprite); + break; + } +} + +void sub_815CDB4(struct Sprite *sprite) +{ + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); + sprite->data[0] = gBattleAnimArgs[0]; + sprite->data[1] = gBattleAnimArgs[1]; + sprite->callback = sub_815CDFC; + sprite->callback(sprite); +} + +static void sub_815CDFC(struct Sprite *sprite) +{ + sprite->pos2.x = Sin(sprite->data[1], sprite->data[2] >> 8); + sprite->pos2.y = Cos(sprite->data[1], sprite->data[3] >> 8); + sprite->data[1] = (sprite->data[1] + 9) & 0xFF; + + if ((u16)sprite->data[1] < 64 || sprite->data[1] > 195) + sprite->subpriority = GetBattlerSpriteSubpriority(gBattleAnimAttacker) - 1; + else + sprite->subpriority = GetBattlerSpriteSubpriority(gBattleAnimAttacker) + 1; + + if (!sprite->data[5]) + { + sprite->data[2] += 0x400; + sprite->data[3] += 0x100; + sprite->data[4]++; + if (sprite->data[4] == sprite->data[0]) + { + sprite->data[4] = 0; + sprite->data[5] = 1; + } + } + else if (sprite->data[5] == 1) + { + sprite->data[2] -= 0x400; + sprite->data[3] -= 0x100; + sprite->data[4]++; + if (sprite->data[4] == sprite->data[0]) + DestroyAnimSprite(sprite); + } +} + + + +extern void sub_815D160(u8); + +void sub_815CED8(u8 taskId) +{ + u8 isBackPic; + u32 personality; + u32 otId; + u16 species; + s16 xOffset; + u32 priority; + u8 spriteId; + s16 coord1, coord2; + + GetAnimBattlerSpriteId(ANIM_ATTACKER); + if (IsContest()) + { + isBackPic = 1; + personality = gContestResources->field_18->unk10; + otId = gContestResources->field_18->unkC; + species = gContestResources->field_18->unk2; + xOffset = 20; + priority = sub_80A8328(gBattleAnimAttacker); + } + else + { + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) + { + isBackPic = 0; + personality = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimTarget]], MON_DATA_PERSONALITY); + otId = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimTarget]], MON_DATA_OT_ID); + if (gBattleSpritesDataPtr->battlerData[gBattleAnimTarget].transformSpecies == SPECIES_NONE) + { + if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER) + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimTarget]], MON_DATA_SPECIES); + else + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimTarget]], MON_DATA_SPECIES); + } + else + { + species = gBattleSpritesDataPtr->battlerData[gBattleAnimTarget].transformSpecies; + } + + xOffset = 20; + priority = sub_80A8328(gBattleAnimAttacker); + } + else + { + isBackPic = 1; + personality = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimTarget]], MON_DATA_PERSONALITY); + otId = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimTarget]], MON_DATA_OT_ID); + if (gBattleSpritesDataPtr->battlerData[gBattleAnimTarget].transformSpecies == SPECIES_NONE) + { + if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER) + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimTarget]], MON_DATA_SPECIES); + else + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimTarget]], MON_DATA_SPECIES); + } + else + { + species = gBattleSpritesDataPtr->battlerData[gBattleAnimTarget].transformSpecies; + } + + xOffset = -20; + priority = sub_80A8328(gBattleAnimAttacker); + } + } + + coord1 = GetBattlerSpriteCoord(gBattleAnimAttacker, 0); + coord2 = GetBattlerSpriteCoord(gBattleAnimAttacker, 1); + spriteId = sub_80A8394(species, isBackPic, 0, coord1 + xOffset, coord2, 5, personality, otId, gBattleAnimTarget, 1); + + gSprites[spriteId].oam.priority = priority; + gSprites[spriteId].oam.objMode = ST_OAM_OBJ_BLEND; + FillPalette(RGB(31, 31, 31), (gSprites[spriteId].oam.paletteNum << 4) + 0x100, 32); + gSprites[spriteId].oam.priority = priority; + SetGpuReg(REG_OFFSET_BLDCNT, 0x3F40); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[1], 16 - gTasks[taskId].data[1])); + + gTasks[taskId].data[0] = spriteId; + gTasks[taskId].func = sub_815D160; +} + +void sub_815D160(u8 taskId) +{ + if (gTasks[taskId].data[10]++ > 1) + { + gTasks[taskId].data[10] = 0; + gTasks[taskId].data[1]++; + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[1], 16 - gTasks[taskId].data[1])); + if (gTasks[taskId].data[1] == 10) + { + gTasks[taskId].data[10] = 256; + gTasks[taskId].data[11] = 256; + gTasks[taskId].func = sub_815D1BC; + } + } +} + +static void sub_815D1BC(u8 taskId) +{ + u8 spriteId = gTasks[taskId].data[0]; + gTasks[taskId].data[10] -= 16; + gTasks[taskId].data[11] += 128; + gSprites[spriteId].oam.affineMode |= ST_OAM_AFFINE_DOUBLE_MASK; + TrySetSpriteRotScale(&gSprites[spriteId], TRUE, gTasks[taskId].data[10], gTasks[taskId].data[11], 0); + if (++gTasks[taskId].data[12] == 9) + { + sub_80A749C(&gSprites[spriteId]); + sub_80A8610(&gSprites[spriteId]); + gTasks[taskId].func = sub_80A6814; + } +} + +void sub_815D240(u8 taskId) +{ + u8 battler; + u16 bgX, bgY; + s16 y, i; + struct ScanlineEffectParams scanlineParams; + struct Task *task = &gTasks[taskId]; + + if (gBattleAnimArgs[0] == 0) + battler = gBattleAnimAttacker; + else + battler = gBattleAnimTarget; + + task->data[0] = 0; + task->data[1] = 0; + task->data[2] = 0; + task->data[3] = 16; + task->data[4] = 0; + task->data[5] = battler; + task->data[6] = 32; + task->data[7] = 0; + task->data[8] = 24; + + if (GetBattlerSide(battler) == B_SIDE_OPPONENT) + task->data[8] *= -1; + + task->data[13] = GetBattlerYCoordWithElevation(battler) - 34; + if (task->data[13] < 0) + task->data[13] = 0; + + task->data[14] = task->data[13] + 66; + task->data[15] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); + if (sub_80A8364(battler) == 1) + { + scanlineParams.dmaDest = ®_BG1HOFS; + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_BG1); + bgX = gBattle_BG1_X; + bgY = gBattle_BG1_Y; + } + else + { + scanlineParams.dmaDest = ®_BG2HOFS; + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_BG2); + bgX = gBattle_BG2_X; + bgY = gBattle_BG2_Y; + } + + for (y = 0, i = 0; y < 160; y++, i += 2) + { + gScanlineEffectRegBuffers[0][i] = bgX; + gScanlineEffectRegBuffers[1][i] = bgX; + gScanlineEffectRegBuffers[0][i + 1] = bgY; + gScanlineEffectRegBuffers[1][i + 1] = bgY; + } + + scanlineParams.dmaControl = SCANLINE_EFFECT_DMACNT_32BIT; + scanlineParams.initState = 1; + scanlineParams.unused9 = 0; + ScanlineEffect_SetParams(scanlineParams); + task->func = sub_815D398; +} + +static void sub_815D398(u8 taskId) +{ + struct Task *task; + s16 var1; + s16 var2; + s16 bgX, bgY; + s16 offset; + s16 var0; + s16 i; + s16 sineIndex; + s16 var3; + + task = &gTasks[taskId]; + if (sub_80A8364(task->data[5]) == 1) + { + bgX = gBattle_BG1_X; + bgY = gBattle_BG1_Y; + } + else + { + bgX = gBattle_BG2_X; + bgY = gBattle_BG2_Y; + } + + switch (task->data[0]) + { + case 0: + offset = task->data[14] * 2; + var1 = 0; + var2 = 0; + i = 0; + task->data[1] = (task->data[1] + 2) & 0xFF; + sineIndex = task->data[1]; + task->data[9] = 0x7E0 / task->data[6]; + task->data[10] = -((task->data[7] * 2) / task->data[9]); + task->data[11] = task->data[7]; + var3 = task->data[11] >> 5; + task->data[12] = var3; + var0 = task->data[14]; + while (var0 > task->data[13]) + { + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][offset + 1] = (i - var2) + bgY; + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][offset] = bgX + var3 + (gSineTable[sineIndex] >> 5); + sineIndex = (sineIndex + 10) & 0xFF; + task->data[11] += task->data[10]; + var3 = task->data[11] >> 5; + task->data[12] = var3; + + i++; + offset -= 2; + var1 += task->data[6]; + var2 = var1 >> 5; + var0--; + } + + var0 *= 2; + while (var0 >= 0) + { + gScanlineEffectRegBuffers[0][var0] = bgX + 240; + gScanlineEffectRegBuffers[1][var0] = bgX + 240; + var0 -= 2; + } + + if (++task->data[6] > 63) + { + task->data[6] = 64; + task->data[2]++; + if (task->data[2] & 1) + task->data[3]--; + else + task->data[4]++; + + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(task->data[3], task->data[4])); + if (task->data[3] == 0 && task->data[4] == 16) + { + task->data[2] = 0; + task->data[3] = 0; + task->data[0]++; + } + } + else + { + task->data[7] += task->data[8]; + } + break; + case 1: + if (++task->data[2] > 12) + { + gScanlineEffect.state = 3; + task->data[2] = 0; + task->data[0]++; + } + break; + case 2: + task->data[2]++; + if (task->data[2] & 1) + task->data[3]++; + else + task->data[4]--; + + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(task->data[3], task->data[4])); + if (task->data[3] == 16 && task->data[4] == 0) + { + task->data[2] = 0; + task->data[3] = 0; + task->data[0]++; + } + break; + case 3: + DestroyAnimVisualTask(taskId); + break; + } +} + +void sub_815D64C(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + task->data[0] = 0; + task->data[15] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); + PrepareAffineAnimInTaskData(&gTasks[taskId], task->data[15], gUnknown_085CE5F0); + task->func = sub_815D694; +} + +static void sub_815D694(u8 taskId) +{ + u16 var0; + + struct Task *task = &gTasks[taskId]; + var0 = task->data[0]; + task->data[0]++; + var0 -= 20; + if (var0 < 23) + { + if (++task->data[1] > 1) + { + task->data[1] = 0; + task->data[2]++; + if (task->data[2] & 1) + gSprites[task->data[15]].pos2.x = 1; + else + gSprites[task->data[15]].pos2.x = -1; + } + } + else + { + gSprites[task->data[15]].pos2.x = 0; + } + + if (!RunAffineAnimFromTaskData(&gTasks[taskId])) + DestroyAnimVisualTask(taskId); +} + +void sub_815D72C(struct Sprite *sprite, s16 b, s16 c, s16 d, s16 e, u16 f) +{ + sprite->pos1.x = b; + sprite->pos1.y = c; + sprite->data[4] = b << 4; + sprite->data[5] = c << 4; + sprite->data[6] = ((d - b) << 4) / f; + sprite->data[7] = ((e - c) << 4) / f; +} + +void sub_815D794(struct Sprite *sprite) +{ + sprite->data[4] += sprite->data[6]; + sprite->data[5] += sprite->data[7]; + sprite->pos1.x = sprite->data[4] >> 4; + sprite->pos1.y = sprite->data[5] >> 4; +} + +void sub_815D7B4(struct Sprite *sprite) +{ + s16 x = sprite->pos1.x; + s16 y = sprite->pos1.y; + + SetSpriteCoordsToAnimAttackerCoords(sprite); + StartSpriteAffineAnim(sprite, gBattleAnimArgs[0]); + sub_815D72C(sprite, sprite->pos1.x, sprite->pos1.y, x, y, 64); + sprite->data[0] = 0; + sprite->callback = sub_815D804; +} + +static void sub_815D804(struct Sprite *sprite) +{ + int index; + + sprite->data[0]++; + index = (sprite->data[0] * 8) & 0xFF; + sub_815D794(sprite); + sprite->pos2.y = Sin(index, 8); + if (sprite->data[0] > 58) + { + if (++sprite->data[1] > 1) + { + sprite->data[1] = 0; + sprite->data[2]++; + sprite->invisible = sprite->data[2] & 1; + if (sprite->data[2] > 3) + DestroySpriteAndMatrix(sprite); + } + } +} + +void sub_815D870(struct Sprite *sprite) +{ + sprite->data[0] = gBattleAnimArgs[3]; + StartSpriteAffineAnim(sprite, gBattleAnimArgs[0]); + if (GetBattlerSide(gBattleAnimTarget) != B_SIDE_PLAYER) + gBattleAnimArgs[1] = -gBattleAnimArgs[1]; + + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[1]; + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[2]; + sprite->callback = sub_810E2C8; +} + +static void sub_815D8D8(u8 taskId) +{ + u16 var0 = 0; + u16 var1 = 0; + + gTasks[taskId].data[0]--; + if ((gTasks[taskId].data[6] & 0x8000) && (--gTasks[taskId].data[1] == -1)) + { + if (gTasks[taskId].data[9] == 0) + { + gTasks[taskId].data[9] = gTasks[taskId].data[4]; + gTasks[taskId].data[4] = -gTasks[taskId].data[4]; + } + else + { + gTasks[taskId].data[9] = 0; + } + + if (gTasks[taskId].data[10] == 0) + { + gTasks[taskId].data[10] = gTasks[taskId].data[5]; + gTasks[taskId].data[5] = -gTasks[taskId].data[5]; + } + else + { + gTasks[taskId].data[10] = 0; + } + + gTasks[taskId].data[1] = gTasks[taskId].data[13]; + } + + var0 = gTasks[taskId].data[7]; + var1 = gTasks[taskId].data[8]; + if (gTasks[taskId].data[2] & 0x8000) + gSprites[gTasks[taskId].data[15]].pos2.x = gTasks[taskId].data[9] - (var0 >> 8); + else + gSprites[gTasks[taskId].data[15]].pos2.x = gTasks[taskId].data[9] + (var0 >> 8); + + if (gTasks[taskId].data[3] & 0x8000) + gSprites[gTasks[taskId].data[15]].pos2.y = gTasks[taskId].data[10] - (var1 >> 8); + else + gSprites[gTasks[taskId].data[15]].pos2.y = gTasks[taskId].data[10] + (var1 >> 8); + + if (gTasks[taskId].data[0] < 1) + { + DestroyTask(taskId); + gAnimVisualTaskCount--; + } +} + +static void sub_815DA20(u8 taskId) +{ + u16 var0 = 0; + u16 var1 = 0; + + gTasks[taskId].data[0]--; + if ((gTasks[taskId].data[6] & 0x8000) && (--gTasks[taskId].data[1] == -1)) + { + if (gTasks[taskId].data[9] == 0) + { + gTasks[taskId].data[9] = gTasks[taskId].data[4]; + gTasks[taskId].data[4] = -gTasks[taskId].data[4]; + } + else + { + gTasks[taskId].data[9] = var0; + } + + if (gTasks[taskId].data[10] == 0) + { + gTasks[taskId].data[10] = gTasks[taskId].data[5]; + gTasks[taskId].data[5] = -gTasks[taskId].data[5]; + } + else + { + gTasks[taskId].data[10] = 0; + } + + gTasks[taskId].data[1] = gTasks[taskId].data[13]; + } + + var0 = (gTasks[taskId].data[2] & 0x7FFF) + gTasks[taskId].data[7]; + var1 = (gTasks[taskId].data[3] & 0x7FFF) + gTasks[taskId].data[8]; + if (gTasks[taskId].data[2] & 0x8000) + gSprites[gTasks[taskId].data[15]].pos2.x = gTasks[taskId].data[9] - (var0 >> 8); + else + gSprites[gTasks[taskId].data[15]].pos2.x = gTasks[taskId].data[9] + (var0 >> 8); + + if (gTasks[taskId].data[3] & 0x8000) + gSprites[gTasks[taskId].data[15]].pos2.y = gTasks[taskId].data[10] - (var1 >> 8); + else + gSprites[gTasks[taskId].data[15]].pos2.y = gTasks[taskId].data[10] + (var1 >> 8); + + gTasks[taskId].data[7] = var0; + gTasks[taskId].data[8] = var1; + if (gTasks[taskId].data[0] < 1) + { + gTasks[taskId].data[0] = 30; + gTasks[taskId].data[13] = 0; + gTasks[taskId].func = sub_815D8D8; + } +} + +void sub_815DB90(u8 taskId) +{ + gTasks[taskId].data[15] = gBattlerSpriteIds[gBattleAnimAttacker]; + gTasks[taskId].data[14] = gBattleAnimArgs[0]; + gTasks[taskId].data[0] = gBattleAnimArgs[0]; + gTasks[taskId].data[13] = gBattleAnimArgs[6]; + if (gBattleAnimArgs[3]) + gTasks[taskId].data[6] = gTasks[taskId].data[6] | -0x8000; + + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) + { + gTasks[taskId].data[2] = gBattleAnimArgs[1]; + gTasks[taskId].data[3] = gBattleAnimArgs[2]; + } + else + { + if (gBattleAnimArgs[1] & 0x8000) + gTasks[taskId].data[2] = gBattleAnimArgs[1] & 0x7FFF; + else + gTasks[taskId].data[2] = gBattleAnimArgs[1] | -0x8000; + + if (gBattleAnimArgs[2] & 0x8000) + gTasks[taskId].data[3] = gBattleAnimArgs[2] & 0x7FFF; + else + gTasks[taskId].data[3] = gBattleAnimArgs[2] | -0x8000; + } + + gTasks[taskId].data[8] = 0; + gTasks[taskId].data[7] = 0; + gTasks[taskId].data[4] = gBattleAnimArgs[4]; + gTasks[taskId].data[5] = gBattleAnimArgs[5]; + gTasks[taskId].func = sub_815DA20; +} + +void sub_815DCA4(u8 taskId) +{ + u8 battler; + struct Task *task = &gTasks[taskId]; + + if (!gBattleAnimArgs[1]) + DestroyAnimVisualTask(taskId); + + task->data[0] = 0; + task->data[1] = 0; + task->data[2] = 0; + task->data[3] = gBattleAnimArgs[1]; + if (gBattleAnimArgs[0] == 0) + battler = gBattleAnimAttacker; + else + battler = gBattleAnimTarget; + + task->data[4] = GetBattlerSpriteCoord(battler, 0); + task->data[5] = GetBattlerSpriteCoord(battler, 1); + task->data[6] = GetBattlerSpriteSubpriority(battler); + task->data[15] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); + PrepareAffineAnimInTaskData(task, task->data[15], gUnknown_085CE74C); + task->func = sub_815DD48; +} + +static void sub_815DD48(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + switch (task->data[0]) + { + case 0: + if (++task->data[1] == 6) + sub_815DDE0(taskId, TRUE); + + if (task->data[1] == 18) + sub_815DDE0(taskId, FALSE); + + if (!RunAffineAnimFromTaskData(task)) + { + if (--task->data[3] == 0) + { + task->data[0]++; + } + else + { + task->data[1] = 0; + PrepareAffineAnimInTaskData(task, task->data[15], gUnknown_085CE74C); + } + } + break; + case 1: + if (task->data[2] == 0) + DestroyAnimVisualTask(taskId); + break; + } +} + +static void sub_815DDE0(u8 taskId, bool8 arg1) +{ + u8 i; + s8 xOffset, yOffset; + struct Task *task; + s16 xCoords[4]; + s16 yCoords[2]; + + task = &gTasks[taskId]; + if (!arg1) + { + xOffset = 18; + yOffset = -20; + } + else + { + xOffset = 30; + yOffset = 20; + } + + xCoords[0] = task->data[4] - xOffset; + xCoords[1] = task->data[4] - xOffset - 4; + xCoords[2] = task->data[4] + xOffset; + xCoords[3] = task->data[4] + xOffset + 4; + yCoords[0] = task->data[5] + yOffset; + yCoords[1] = task->data[5] + yOffset + 6; + + for (i = 0; i < 4; i++) + { + u8 spriteId = CreateSprite(&gUnknown_085CE76C, xCoords[i], yCoords[i & 1], task->data[6] - 5); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].data[0] = 0; + gSprites[spriteId].data[1] = i < 2 ? -2 : 2; + gSprites[spriteId].data[2] = -1; + gSprites[spriteId].data[3] = taskId; + gSprites[spriteId].data[4] = 2; + task->data[2]++; + } + } +} + +void sub_815DEBC(struct Sprite *sprite) +{ + sprite->pos1.x += sprite->data[1]; + sprite->pos1.y += sprite->data[2]; + if (++sprite->data[0] > 6) + { + gTasks[sprite->data[3]].data[sprite->data[4]]--; + DestroySprite(sprite); + } +} + +void sub_815DF0C(u8 taskId) +{ + u8 spriteId; + + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[1] = gBattleAnimArgs[1]; + spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); + gTasks[taskId].data[2] = 0x100 + gSprites[spriteId].oam.paletteNum * 16; + gTasks[taskId].func = sub_815DF64; +} + +static void sub_815DF64(u8 taskId) +{ + if (gTasks[taskId].data[1]) + { + BlendPalette(gTasks[taskId].data[2], 16, 8, gUnknown_085CE784[gTasks[taskId].data[0]]); + if (++gTasks[taskId].data[0] > 23) + gTasks[taskId].data[0] = 0; + + gTasks[taskId].data[1]--; + } + else + { + BlendPalette(gTasks[taskId].data[2], 16, 0, RGB(0, 0, 0)); + DestroyAnimVisualTask(taskId); + } +} + +void sub_815DFCC(u8 taskId) +{ + sub_8117854( + taskId, + 0, + 0x1A0, + gBattleAnimAttacker, + gBattleAnimArgs[0], + 10, + 2, + 30, + gUnknown_08C2DC68, + gUnknown_08C2DDC4, + gUnknown_08C2DDA4); +} + +void sub_815E01C(struct Sprite *sprite) +{ + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT) + gBattleAnimArgs[0] = -gBattleAnimArgs[0]; + + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0) + gBattleAnimArgs[0]; + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + gBattleAnimArgs[1]; + if (gBattleAnimArgs[2] == 0) + { + sprite->data[0] = 640; + sprite->data[1] = -640; + } + else if (gBattleAnimArgs[2] == 1) + { + sprite->vFlip = 1; + sprite->data[0] = 640; + sprite->data[1] = 640; + } + else + { + StartSpriteAnim(sprite, 1); + sprite->data[0] = 640; + } + + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) + { + sprite->data[0] = -sprite->data[0]; + sprite->hFlip = 1; + } + + sprite->callback = sub_815E0DC; +} + +static void sub_815E0DC(struct Sprite *sprite) +{ + sprite->data[6] += sprite->data[0]; + sprite->data[7] += sprite->data[1]; + sprite->pos2.x = sprite->data[6] >> 8; + sprite->pos2.y = sprite->data[7] >> 8; + if (++sprite->data[5] == 14) + DestroyAnimSprite(sprite); +} + +void sub_815E114(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + if (IsContest()) + { + task->data[5] = 8; + task->data[6] = 3; + task->data[7] = 1; + } + else + { + task->data[5] = 12; + task->data[6] = 3; + task->data[7] = 0; + } + + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) + task->data[11] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + sub_80A861C(gBattleAnimAttacker, 0) / 4; + else + task->data[11] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) - sub_80A861C(gBattleAnimAttacker, 0) / 4; + + task->data[12] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) - sub_80A861C(gBattleAnimAttacker, 0) / 4; + task->data[13] = GetBattlerSpriteCoord(gBattleAnimTarget, 2); + task->data[14] = GetBattlerSpriteCoord(gBattleAnimTarget, 3); + task->func = sub_815E20C; +} + +static void sub_815E20C(u8 taskId) +{ + u8 i; + s16 x, y; + struct Task *task = &gTasks[taskId]; + + switch (task->data[0]) + { + case 0: + if (++task->data[1] > 3) + { + task->data[1] = 0; + sub_815E34C( + task->data[11], + task->data[12], + task->data[13], + task->data[14], + task->data[5], + task->data[2], + &x, + &y); + + for (i = 0; i < 2; i++) + { + u8 spriteId = CreateSprite(&gUnknown_085CE7EC, x, y, 35); + if (spriteId != MAX_SPRITES) + { + if (task->data[7] == 0) + { + if (i == 0) + gSprites[spriteId].pos2.x = gSprites[spriteId].pos2.y = -task->data[6]; + else + gSprites[spriteId].pos2.x = gSprites[spriteId].pos2.y = task->data[6]; + } + else + { + if (i == 0) + { + gSprites[spriteId].pos2.x = -task->data[6]; + gSprites[spriteId].pos2.y = task->data[6]; + } + else + { + gSprites[spriteId].pos2.x = task->data[6]; + gSprites[spriteId].pos2.y = -task->data[6]; + } + } + + gSprites[spriteId].data[0] = 0; + gSprites[spriteId].data[1] = taskId; + gSprites[spriteId].data[2] = 10; + task->data[10]++; + } + } + + if (task->data[2] == task->data[5]) + task->data[0]++; + + task->data[2]++; + } + break; + case 1: + if (task->data[10] == 0) + DestroyAnimVisualTask(taskId); + break; + } +} + +static void sub_815E34C(s16 arg0, s16 arg1, s16 arg2, s16 arg3, u8 arg4, u8 arg5, s16 *x, s16 *y) +{ + int x2; + int y2; + + if (arg5 == 0) + { + *x = arg0; + *y = arg1; + return; + } + + if (arg5 >= arg4) + { + *x = arg2; + *y = arg3; + return; + } + + arg4--; + x2 = (arg0 << 8) + arg5 * (((arg2 - arg0) << 8) / arg4); + y2 = (arg1 << 8) + arg5 * (((arg3 - arg1) << 8) / arg4); + *x = x2 >> 8; + *y = y2 >> 8; +} + +void sub_815E404(struct Sprite *sprite) +{ + if (++sprite->data[0] > 36) + { + gTasks[sprite->data[1]].data[sprite->data[2]]--; + DestroySprite(sprite); + } +} + +void sub_815E444(struct Sprite *sprite) +{ + sprite->pos1.x = gBattleAnimArgs[0]; + sprite->pos1.y = gBattleAnimArgs[1]; + sprite->data[2] = gBattleAnimArgs[2]; + sprite->data[4] = gBattleAnimArgs[3]; + sprite->data[0] = gBattleAnimArgs[4]; + StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); + sprite->callback = sub_80A70C0; +} + +void sub_815E47C(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + task->data[11] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); + task->data[12] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); + task->data[13] = GetBattlerSpriteCoord(gBattleAnimTarget, 2); + task->data[14] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + sub_80A861C(gBattleAnimTarget, 0) / 4; + task->data[15] = CreateSprite(&gUnknown_085CE84C, task->data[11], task->data[12], GetBattlerSpriteSubpriority(gBattleAnimTarget) - 5); + if (task->data[15] != MAX_SPRITES) + { + gSprites[task->data[15]].data[0] = 16; + gSprites[task->data[15]].data[2] = task->data[13]; + gSprites[task->data[15]].data[4] = task->data[14]; + gSprites[task->data[15]].data[5] = -32; + InitAnimArcTranslation(&gSprites[task->data[15]]); + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT) + StartSpriteAffineAnim(&gSprites[task->data[15]], 1); + + task->func = sub_815E5CC; + } + else + { + DestroyAnimVisualTask(taskId); + } +} + +static void sub_815E5CC(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + switch (task->data[0]) + { + case 0: + if (++task->data[1] > 1) + { + task->data[1] = 0; + TranslateAnimArc(&gSprites[task->data[15]]); + if (++task->data[2] > 7) + task->data[0]++; + } + break; + case 1: + if (TranslateAnimArc(&gSprites[task->data[15]])) + { + task->data[1] = 0; + task->data[2] = 0; + task->data[0]++; + } + break; + case 2: + if (++task->data[1] > 1) + { + task->data[1] = 0; + task->data[2]++; + gSprites[task->data[15]].invisible = task->data[2] & 1; + if (task->data[2] == 16) + { + FreeOamMatrix(gSprites[task->data[15]].oam.matrixNum); + DestroySprite(&gSprites[task->data[15]]); + task->data[0]++; + } + } + break; + case 3: + DestroyAnimVisualTask(taskId); + break; + } +} + +void sub_815E6D8(struct Sprite *sprite) +{ + u8 battler; + + if (gBattleAnimArgs[0] == 0) + battler = gBattleAnimAttacker; + else + battler = gBattleAnimTarget; + + sprite->oam.tileNum += 16; + sprite->data[6] = gBattleAnimArgs[2]; + sprite->data[7] = gBattleAnimArgs[1] == 0 ? -1 : 1; + sprite->pos1.y = GetBattlerSpriteCoord(battler, 3); + if (gBattleAnimArgs[1] == 0) + { + sprite->oam.matrixNum |= 0x8; + sprite->pos1.x = sub_80A861C(battler, 4) - 8; + } + else + { + sprite->pos1.x = sub_80A861C(battler, 5) + 8; + } + + sprite->callback = sub_815E784; +} + +static void sub_815E784(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { + case 0: + if (++sprite->data[1] > 1) + { + sprite->data[1] = 0; + sprite->pos2.x += sprite->data[7]; + if (++sprite->data[2] == 12) + sprite->data[0]++; + } + break; + case 1: + if (++sprite->data[1] == 8) + { + sprite->data[1] = 0; + sprite->data[0]++; + } + break; + case 2: + sprite->pos2.x -= sprite->data[7] * 4; + if (++sprite->data[1] == 6) + { + sprite->data[1] = 0; + sprite->data[0]++; + } + break; + case 3: + sprite->pos2.x += sprite->data[7] * 3; + if (++sprite->data[1] == 8) + { + if (--sprite->data[6]) + { + sprite->data[1] = 0; + sprite->data[0]--; + } + else + { + DestroyAnimSprite(sprite); + } + } + break; + } +} + +void sub_815E840(u8 taskId) +{ + if (gBattleAnimArgs[0] == 0) + { + DestroyAnimVisualTask(taskId); + } + else + { + gTasks[taskId].data[0] = gBattleAnimArgs[1]; + gTasks[taskId].data[15] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); + PrepareAffineAnimInTaskData(&gTasks[taskId], gTasks[taskId].data[15], gUnknown_085CE87C); + gTasks[taskId].func = sub_815E898; + } +} + +static void sub_815E898(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + if (++task->data[1] > 1) + { + task->data[1] = 0; + if (!(task->data[2] & 1)) + gSprites[task->data[15]].pos2.x = 2; + else + gSprites[task->data[15]].pos2.x = -2; + } + + if (!RunAffineAnimFromTaskData(task)) + { + gSprites[task->data[15]].pos2.x = 0; + if (--task->data[0]) + { + PrepareAffineAnimInTaskData(&gTasks[taskId], gTasks[taskId].data[15], gUnknown_085CE87C); + task->data[1] = 0; + task->data[2] = 0; + } + else + { + DestroyAnimVisualTask(taskId); + } + } +} + +void sub_815E954(struct Sprite *sprite) +{ + if (gBattleAnimArgs[0] == 0) + { + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); + sprite->pos1.y = sub_80A861C(gBattleAnimAttacker, 2); + } + else + { + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2); + sprite->pos1.y = sub_80A861C(gBattleAnimTarget, 2); + } + + if (sprite->pos1.y < 8) + sprite->pos1.y = 8; + + sprite->data[0] = 0; + sprite->data[1] = gBattleAnimArgs[1]; + sprite->data[2] = 0; + sprite->data[3] = gBattleAnimArgs[2]; + sprite->callback = sub_815E9BC; +} + +static void sub_815E9BC(struct Sprite *sprite) +{ + if (++sprite->data[0] >= sprite->data[1]) + { + sprite->data[0] = 0; + sprite->data[2] = (sprite->data[2] + 1) & 1; + sprite->invisible = sprite->data[2]; + if (sprite->data[2] && --sprite->data[3] == 0) + DestroyAnimSprite(sprite); + } +} + +void sub_815EA14(struct Sprite *sprite) +{ + if (gBattleAnimArgs[0] == 0) + { + sprite->oam.matrixNum |= 0x8; + sprite->pos1.x = 100; + sprite->data[7] = 1; + } + else + { + sprite->pos1.x = 140; + sprite->data[7] = -1; + } + + sprite->pos1.y = 56; + sprite->callback = sub_815EA60; +} + +static void sub_815EA60(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { + case 0: + sprite->pos1.y -= sprite->data[7] * 2; + if (sprite->data[1] & 1) + sprite->pos1.x -= sprite->data[7] * 2; + + if (++sprite->data[1] == 9) + { + sprite->data[1] = 0; + sprite->data[0]++; + } + break; + case 1: + if (++sprite->data[1] == 4) + { + sprite->data[1] = 0; + sprite->data[0]++; + } + break; + case 2: + sprite->data[1]++; + sprite->pos1.y += sprite->data[7] * 3; + sprite->pos2.x = sprite->data[7] * (gSineTable[sprite->data[1] * 10] >> 3); + if (sprite->data[1] == 12) + { + sprite->data[1] = 0; + sprite->data[0]++; + } + break; + case 3: + if (++sprite->data[1] == 2) + { + sprite->data[1] = 0; + sprite->data[0]++; + } + break; + case 4: + sprite->data[1]++; + sprite->pos1.y -= sprite->data[7] * 3; + sprite->pos2.x = sprite->data[7] * (gSineTable[sprite->data[1] * 10] >> 3); + if (sprite->data[1] == 12) + sprite->data[0]++; + break; + case 5: + sprite->data[1]++; + sprite->pos1.y += sprite->data[7] * 3; + sprite->pos2.x = sprite->data[7] * (gSineTable[sprite->data[1] * 10] >> 3); + if (sprite->data[1] == 15) + sprite->oam.tileNum += 16; + + if (sprite->data[1] == 18) + { + sprite->data[1] = 0; + sprite->data[0]++; + } + break; + case 6: + sprite->pos1.x += sprite->data[7] * 6; + if (++sprite->data[1] == 9) + { + sprite->data[1] = 0; + sprite->data[0]++; + } + break; + case 7: + sprite->pos1.x += sprite->data[7] * 2; + if (++sprite->data[1] == 1) + { + sprite->data[1] = 0; + sprite->data[0]++; + } + break; + case 8: + sprite->pos1.x -= sprite->data[7] * 3; + if (++sprite->data[1] == 5) + DestroyAnimSprite(sprite); + break; + } +} + +void sub_815EC48(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + task->data[15] = GetAnimBattlerSpriteId(ANIM_ATTACKER); + if (!IsContest()) + { + if (IsDoubleBattle() == TRUE) + { + int x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0); + int y = GetBattlerSpriteCoord(BATTLE_PARTNER(gBattleAnimAttacker), 0); + if (x > y) + task->data[14] = 1; + else + task->data[14] = -1; + } + else + { + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) + task->data[14] = -1; + else + task->data[14] = 1; + } + } + else + { + task->data[14] = 1; + } + + task->func = sub_815ECE4; +} + +static void sub_815ECE4(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + switch (task->data[0]) + { + case 0: + if (++task->data[1] == 13) + { + task->data[1] = 0; + task->data[0]++; + } + break; + case 1: + gSprites[task->data[15]].pos2.x -= task->data[14] * 3; + if (++task->data[1] == 6) + { + task->data[1] = 0; + task->data[0]++; + } + break; + case 2: + gSprites[task->data[15]].pos2.x += task->data[14] * 3; + if (++task->data[1] == 6) + { + task->data[1] = 0; + task->data[0]++; + } + break; + case 3: + if (++task->data[1] == 2) + { + task->data[1] = 0; + if (task->data[2] == 0) + { + task->data[2]++; + task->data[0] = 1; + } + else + { + task->data[0]++; + } + } + break; + case 4: + gSprites[task->data[15]].pos2.x += task->data[14]; + if (++task->data[1] == 3) + { + task->data[1] = 0; + task->data[0]++; + } + break; + case 5: + if (++task->data[1] == 6) + { + task->data[1] = 0; + task->data[0]++; + } + break; + case 6: + gSprites[task->data[15]].pos2.x -= task->data[14] * 4; + if (++task->data[1] == 5) + { + task->data[1] = 0; + task->data[0]++; + } + break; + case 7: + gSprites[task->data[15]].pos2.x += task->data[14] * 4; + if (++task->data[1] == 5) + { + task->data[1] = 0; + task->data[0]++; + } + break; + case 8: + gSprites[task->data[15]].pos2.x = 0; + DestroyAnimVisualTask(taskId); + break; + } +} + +void sub_815EE84(struct Sprite *sprite) +{ + if (gBattleAnimArgs[0] == 0) + { + InitAnimSpritePos(sprite, TRUE); + sprite->data[7] = gBattleAnimAttacker; + } + else + { + sprite->data[7] = gBattleAnimTarget; + } + + if (GetBattlerSide(sprite->data[7]) == B_SIDE_OPPONENT) + sprite->oam.matrixNum = 8; + + sprite->oam.priority = sub_80A8328(sprite->data[7]); + sprite->oam.objMode = ST_OAM_OBJ_BLEND; + sprite->callback = sub_815EF08; +} + +static void sub_815EF08(struct Sprite *sprite) +{ + u16 x, y; + + switch (sprite->data[5]) + { + case 0: + switch (sprite->data[6]) + { + default: + sprite->data[6] = 0; + case 0: + case 4: + x = sub_80A861C(sprite->data[7], 5) - 4; + y = sub_80A861C(sprite->data[7], 3) - 4; + break; + case 1: + x = sub_80A861C(sprite->data[7], 5) - 4; + y = sub_80A861C(sprite->data[7], 2) + 4; + break; + case 2: + x = sub_80A861C(sprite->data[7], 4) + 4; + y = sub_80A861C(sprite->data[7], 3) - 4; + break; + case 3: + x = sub_80A861C(sprite->data[7], 4) + 4; + y = sub_80A861C(sprite->data[7], 2) - 4; + break; + case 5: + x = GetBattlerSpriteCoord(sprite->data[7], 2); + y = GetBattlerSpriteCoord(sprite->data[7], 3); + break; + } + + if (sprite->data[6] == 4) + sprite->data[0] = 24; + else if (sprite->data[6] == 5) + sprite->data[0] = 6; + else + sprite->data[0] = 12; + + sprite->data[1] = sprite->pos1.x; + sprite->data[2] = x; + sprite->data[3] = sprite->pos1.y; + sprite->data[4] = y; + InitAnimLinearTranslation(sprite); + sprite->data[5]++; + break; + case 1: + if (TranslateAnimLinear(sprite)) + { + switch (sprite->data[6]) + { + default: + sprite->pos1.x += sprite->pos2.x; + sprite->pos1.y += sprite->pos2.y; + sprite->pos2.y = 0; + sprite->pos2.x = 0; + sprite->data[0] = 0; + sprite->data[5]++; + sprite->data[6]++; + break; + case 4: + sprite->pos1.x += sprite->pos2.x; + sprite->pos1.y += sprite->pos2.y; + sprite->pos2.y = 0; + sprite->pos2.x = 0; + sprite->data[5] = 0; + sprite->data[6]++; + break; + case 5: + sprite->data[0] = 0; + sprite->data[1] = 16; + sprite->data[2] = 0; + sprite->data[5] = 3; + break; + } + } + break; + case 2: + if (++sprite->data[0] == 4) + sprite->data[5] = 0; + break; + case 3: + if (!(sprite->data[0] & 1)) + sprite->data[1]--; + else + sprite->data[2]++; + + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[1], sprite->data[2])); + if (++sprite->data[0] == 32) + { + sprite->invisible = 1; + sprite->data[5]++; + } + break; + case 4: + DestroyAnimSprite(sprite); + break; + } +} + +static void sub_815F10C(struct Sprite *sprite) +{ + sprite->pos2.x = ((sprite->data[2] - sprite->data[0]) * sprite->data[5]) / sprite->data[4]; + sprite->pos2.y = ((sprite->data[3] - sprite->data[1]) * sprite->data[5]) / sprite->data[4]; + if (!(sprite->data[5] & 1)) + { + CreateSprite( + &gUnknown_085CE3A0, + sprite->pos1.x + sprite->pos2.x, + sprite->pos1.y + sprite->pos2.y, 5); + } + + if (sprite->data[5] == sprite->data[4]) + DestroyAnimSprite(sprite); + + sprite->data[5]++; +} + +void sub_815F18C(struct Sprite *sprite) +{ + GetBattlerSpriteCoord(gBattleAnimTarget, 2); // unused local variable + GetBattlerSpriteCoord(gBattleAnimTarget, 3); // unused local variable + + if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER || IsContest()) + { + sprite->data[0] = sprite->pos1.x - gBattleAnimArgs[0]; + sprite->data[2] = sprite->pos1.x - gBattleAnimArgs[2]; + } + else + { + sprite->data[0] = sprite->pos1.x + gBattleAnimArgs[0]; + sprite->data[2] = sprite->pos1.x + gBattleAnimArgs[2]; + } + + sprite->data[1] = sprite->pos1.y + gBattleAnimArgs[1]; + sprite->data[3] = sprite->pos1.y + gBattleAnimArgs[3]; + sprite->data[4] = gBattleAnimArgs[4]; + sprite->pos1.x = sprite->data[0]; + sprite->pos1.y = sprite->data[1]; + sprite->callback = sub_815F10C; +} + +void AnimTask_MonToSubstitute(u8 taskId) +{ + int i; + u8 spriteId = GetAnimBattlerSpriteId(0); + + if (gTasks[taskId].data[0] == 0) + { + PrepareBattlerSpriteForRotScale(spriteId, FALSE); + gTasks[taskId].data[1] = 0x100; + gTasks[taskId].data[2] = 0x100; + gTasks[taskId].data[0]++; + } + else if (gTasks[taskId].data[0] == 1) + { + gTasks[taskId].data[1] += 0x60; + gTasks[taskId].data[2] -= 0xD; + SetSpriteRotScale(spriteId, gTasks[taskId].data[1], gTasks[taskId].data[2], 0); + if (++gTasks[taskId].data[3] == 9) + { + gTasks[taskId].data[3] = 0; + ResetSpriteRotScale(spriteId); + gSprites[spriteId].invisible = 1; + gTasks[taskId].data[0]++; + } + } + else + { + LoadBattleMonGfxAndAnimate(gBattleAnimAttacker, 0, spriteId); + if (IsContest()) + { + gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].affineAnims = gUnknown_082FF6C0; + StartSpriteAffineAnim(&gSprites[gBattlerSpriteIds[gBattleAnimAttacker]], 0); + } + + for (i = 0; i < 16; i++) + gTasks[taskId].data[i] = 0; + + gTasks[taskId].func = sub_815F330; + } +} + +static void sub_815F330(u8 taskId) +{ + u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); + + switch (gTasks[taskId].data[0]) + { + case 0: + gSprites[spriteId].pos2.y = -200; + gSprites[spriteId].pos2.x = 200; + gSprites[spriteId].invisible = 0; + gTasks[taskId].data[10] = 0; + gTasks[taskId].data[0]++; + break; + case 1: + gTasks[taskId].data[10] += 112; + gSprites[spriteId].pos2.y += gTasks[taskId].data[10] >> 8; + if (gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y >= -32) + gSprites[spriteId].pos2.x = 0; + + if (gSprites[spriteId].pos2.y > 0) + gSprites[spriteId].pos2.y = 0; + + if (gSprites[spriteId].pos2.y == 0) + { + PlaySE12WithPanning(SE_W145B, BattleAnimAdjustPanning(-64)); + gTasks[taskId].data[10] -= 0x800; + gTasks[taskId].data[0]++; + } + break; + case 2: + gTasks[taskId].data[10] -= 112; + if (gTasks[taskId].data[10] < 0) + gTasks[taskId].data[10] = 0; + + gSprites[spriteId].pos2.y -= gTasks[taskId].data[10] >> 8; + if (gTasks[taskId].data[10] == 0) + gTasks[taskId].data[0]++; + break; + case 3: + gTasks[taskId].data[10] += 112; + gSprites[spriteId].pos2.y += gTasks[taskId].data[10] >> 8; + if (gSprites[spriteId].pos2.y > 0) + gSprites[spriteId].pos2.y = 0; + + if (gSprites[spriteId].pos2.y == 0) + { + PlaySE12WithPanning(SE_W145B, BattleAnimAdjustPanning(-64)); + DestroyAnimVisualTask(taskId); + } + break; + } +} + +void sub_815F48C(struct Sprite *sprite) +{ + s16 y2; + + if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER) + { + sprite->subpriority = GetBattlerSpriteSubpriority(gBattleAnimTarget) - 2; + y2 = -144; + } + else + { + sprite->subpriority = GetBattlerSpriteSubpriority(gBattleAnimTarget) + 2; + y2 = -96; + } + + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3); + sprite->pos2.y = y2; + sprite->callback = sub_815F4F0; +} + +static void sub_815F4F0(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { + case 0: + sprite->pos2.y += 10; + if (sprite->pos2.y >= 0) + { + PlaySE12WithPanning(SE_W166, BattleAnimAdjustPanning(63)); + sprite->pos2.y = 0; + sprite->data[0]++; + } + break; + case 1: + sprite->data[1] += 4; + sprite->pos2.y = -(gSineTable[sprite->data[1]] >> 3); + if (sprite->data[1] > 127) + { + PlaySE12WithPanning(SE_W166, BattleAnimAdjustPanning(63)); + sprite->data[1] = 0; + sprite->pos2.y = 0; + sprite->data[0]++; + } + break; + case 2: + sprite->data[1] += 6; + sprite->pos2.y = -(gSineTable[sprite->data[1]] >> 4); + if (sprite->data[1] > 127) + { + sprite->data[1] = 0; + sprite->pos2.y = 0; + sprite->data[0]++; + } + break; + case 3: + if (++sprite->data[1] > 8) + { + PlaySE12WithPanning(SE_W043, BattleAnimAdjustPanning(63)); + sprite->data[1] = 0; + sprite->data[0]++; + } + break; + case 4: + if (++sprite->data[1] > 8) + { + sprite->data[1] = 0; + sprite->data[2]++; + sprite->invisible = sprite->data[2] & 1; + if (sprite->data[2] == 7) + DestroyAnimSprite(sprite); + } + break; + } +} + +void sub_815F620(u8 taskId) +{ + s16 spriteId1, spriteId2; + + if (IsContest()) + { + DestroyAnimVisualTask(taskId); + return; + } + + spriteId1 = CloneBattlerSpriteWithBlend(ANIM_TARGET); + if (spriteId1 < 0) + { + DestroyAnimVisualTask(taskId); + return; + } + + spriteId2 = CloneBattlerSpriteWithBlend(ANIM_TARGET); + if (spriteId2 < 0) + { + obj_delete_but_dont_free_vram(&gSprites[spriteId1]); + DestroyAnimVisualTask(taskId); + return; + } + + gSprites[spriteId2].pos2.x += 24; + gSprites[spriteId1].pos2.x -= 24; + gSprites[spriteId2].data[0] = 0; + gSprites[spriteId1].data[0] = 0; + gSprites[spriteId2].data[1] = 0; + gSprites[spriteId1].data[1] = 0; + gSprites[spriteId2].data[2] = 0; + gSprites[spriteId1].data[2] = 0; + gSprites[spriteId2].data[3] = 16; + gSprites[spriteId1].data[3] = -16; + gSprites[spriteId2].data[4] = 0; + gSprites[spriteId1].data[4] = 128; + gSprites[spriteId2].data[5] = 24; + gSprites[spriteId1].data[5] = 24; + gSprites[spriteId2].data[6] = taskId; + gSprites[spriteId1].data[6] = taskId; + gSprites[spriteId2].data[7] = 0; + gSprites[spriteId1].data[7] = 0; + gTasks[taskId].data[0] = 2; + + if (!gBattleSpritesDataPtr->battlerData[gBattleAnimTarget].invisible) + { + gSprites[spriteId2].invisible = 0; + gSprites[spriteId1].invisible = 1; + } + else + { + gSprites[spriteId2].invisible = 1; + gSprites[spriteId1].invisible = 1; + } + + + gSprites[spriteId2].oam.objMode = ST_OAM_OBJ_NORMAL; + gSprites[spriteId1].oam.objMode = ST_OAM_OBJ_NORMAL; + gSprites[spriteId2].callback = sub_815F7C4; + gSprites[spriteId1].callback = sub_815F7C4; + gTasks[taskId].func = sub_815F79C; +} + +static void sub_815F79C(u8 taskId) +{ + if (gTasks[taskId].data[0] == 0) + DestroyAnimVisualTask(taskId); +} + +static void sub_815F7C4(struct Sprite *sprite) +{ + int zero = 0; + if (++sprite->data[1] > 1) + { + sprite->data[1] = 0; + if (!gBattleSpritesDataPtr->battlerData[gBattleAnimTarget].invisible) + sprite->invisible ^= 1; + } + + sprite->data[4] = sprite->data[4] + sprite->data[3]; + sprite->data[4] &= 0xFF; + sprite->pos2.x = Cos(sprite->data[4], sprite->data[5]); + switch (sprite->data[0]) + { + case 0: + if (++sprite->data[2] == 60) + { + sprite->data[2] = 0; + sprite->data[0]++; + } + break; + case 1: + if (++sprite->data[2] > 0) + { + sprite->data[2] = 0; + sprite->data[5] -= 2; + if (sprite->data[5] < 0) + { + gTasks[sprite->data[6]].data[sprite->data[7]]--; + obj_delete_but_dont_free_vram(sprite); + } + } + break; + } +} diff --git a/src/battle_factory.c b/src/battle_factory.c index a693acfb6..801b33ba7 100644 --- a/src/battle_factory.c +++ b/src/battle_factory.c @@ -526,7 +526,7 @@ static void sub_81A67EC(void) } var_40 = sub_81A6F70(factoryBattleMode, factoryLvlMode); - currSpecies = 0; + currSpecies = SPECIES_NONE; i = 0; while (i != PARTY_SIZE) { @@ -546,7 +546,7 @@ static void sub_81A67EC(void) break; if (species[j] == gFacilityTrainerMons[monSetId].species) { - if (currSpecies == 0) + if (currSpecies == SPECIES_NONE) currSpecies = gFacilityTrainerMons[monSetId].species; else break; @@ -561,7 +561,7 @@ static void sub_81A67EC(void) if (heldItems[j] != 0 && heldItems[j] == gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]) { if (gFacilityTrainerMons[monSetId].species == currSpecies) - currSpecies = 0; + currSpecies = SPECIES_NONE; break; } } @@ -579,7 +579,7 @@ static void sub_81A67EC(void) static void sub_81A6A08(void) { u8 i; - u8 typesCount[18]; + u8 typesCount[NUMBER_OF_MON_TYPES]; u8 usedType[2]; gFacilityTrainerMons = gBattleFrontierMons; diff --git a/src/battle_main.c b/src/battle_main.c index d3e532748..42f204508 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -2109,12 +2109,12 @@ static void sub_8038B94(u8 taskId) if (species != SPECIES_EGG && hp != 0 && status == 0) r7 |= 1 << i * 2; - if (species == 0) + if (species == SPECIES_NONE) continue; if (hp != 0 && (species == SPECIES_EGG || status != 0)) r7 |= 2 << i * 2; - if (species == 0) + if (species == SPECIES_NONE) continue; if (species != SPECIES_EGG && hp == 0) r7 |= 3 << i * 2; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 119607d0e..d399cddbb 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -8648,7 +8648,7 @@ static void atkAE_healpartystatus(void) u16 species = GetMonData(&party[i], MON_DATA_SPECIES2); u8 abilityBit = GetMonData(&party[i], MON_DATA_ALT_ABILITY); - if (species != 0 && species != SPECIES_EGG) + if (species != SPECIES_NONE && species != SPECIES_EGG) { u8 ability; diff --git a/src/battle_tent.c b/src/battle_tent.c index d66c093e9..c358deaa5 100644 --- a/src/battle_tent.c +++ b/src/battle_tent.c @@ -13,6 +13,7 @@ #include "string_util.h" #include "constants/items.h" #include "constants/region_map_sections.h" +#include "constants/species.h" // This file's functions. static void sub_81B99D4(void); @@ -292,7 +293,7 @@ static void sub_81B9EC0(void) heldItems[i] = 0; } gFacilityTrainerMons = gSlateportBattleTentMons; - currSpecies = 0; + currSpecies = SPECIES_NONE; i = 0; while (i != PARTY_SIZE) { @@ -305,7 +306,7 @@ static void sub_81B9EC0(void) break; if (species[j] == gFacilityTrainerMons[monSetId].species) { - if (currSpecies == 0) + if (currSpecies == SPECIES_NONE) currSpecies = gFacilityTrainerMons[monSetId].species; else break; @@ -320,7 +321,7 @@ static void sub_81B9EC0(void) if (heldItems[j] != 0 && heldItems[j] == gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]) { if (gFacilityTrainerMons[monSetId].species == currSpecies) - currSpecies = 0; + currSpecies = SPECIES_NONE; break; } } diff --git a/src/data/pokemon_graphics/front_anims.h b/src/data/pokemon_graphics/front_anims.h index 0e7b75bde..8a42eb5c9 100644 --- a/src/data/pokemon_graphics/front_anims.h +++ b/src/data/pokemon_graphics/front_anims.h @@ -1,4 +1,4 @@ - + const union AnimCmd gAnimCmd_NONE_1[] = { ANIMCMD_FRAME(0, 30), @@ -6946,446 +6946,449 @@ const union AnimCmd *const gAnims_UNOWN_QMARK[] ={ gAnimCmd_UNOWN_QMARK_1, }; +#define ANIM_CMD(name) [SPECIES_##name] = gAnims_##name +#define ANIM_CMD_FULL(name, anims) [SPECIES_##name] = anims + const union AnimCmd* const * const gMonAnimationsSpriteAnimsPtrTable[] = { - gAnims_NONE, - gAnims_BULBASAUR, - gAnims_IVYSAUR, - gAnims_VENUSAUR, - gAnims_CHARMANDER, - gAnims_CHARMELEON, - gAnims_CHARIZARD, - gAnims_SQUIRTLE, - gAnims_WARTORTLE, - gAnims_BLASTOISE, - gAnims_CATERPIE, - gAnims_METAPOD, - gAnims_BUTTERFREE, - gAnims_WEEDLE, - gAnims_KAKUNA, - gAnims_BEEDRILL, - gAnims_PIDGEY, - gAnims_PIDGEOTTO, - gAnims_PIDGEOT, - gAnims_RATTATA, - gAnims_RATICATE, - gAnims_SPEAROW, - gAnims_FEAROW, - gAnims_EKANS, - gAnims_ARBOK, - gAnims_PIKACHU, - gAnims_RAICHU, - gAnims_SANDSHREW, - gAnims_SANDSLASH, - gAnims_NIDORAN_F, - gAnims_NIDORINA, - gAnims_NIDOQUEEN, - gAnims_NIDORAN_M, - gAnims_NIDORINO, - gAnims_NIDOKING, - gAnims_CLEFAIRY, - gAnims_CLEFABLE, - gAnims_VULPIX, - gAnims_NINETALES, - gAnims_JIGGLYPUFF, - gAnims_WIGGLYTUFF, - gAnims_ZUBAT, - gAnims_GOLBAT, - gAnims_ODDISH, - gAnims_GLOOM, - gAnims_VILEPLUME, - gAnims_PARAS, - gAnims_PARASECT, - gAnims_VENONAT, - gAnims_VENOMOTH, - gAnims_DIGLETT, - gAnims_DUGTRIO, - gAnims_MEOWTH, - gAnims_PERSIAN, - gAnims_PSYDUCK, - gAnims_GOLDUCK, - gAnims_MANKEY, - gAnims_PRIMEAPE, - gAnims_GROWLITHE, - gAnims_ARCANINE, - gAnims_POLIWAG, - gAnims_POLIWHIRL, - gAnims_POLIWRATH, - gAnims_ABRA, - gAnims_KADABRA, - gAnims_ALAKAZAM, - gAnims_MACHOP, - gAnims_MACHOKE, - gAnims_MACHAMP, - gAnims_BELLSPROUT, - gAnims_WEEPINBELL, - gAnims_VICTREEBEL, - gAnims_TENTACOOL, - gAnims_TENTACRUEL, - gAnims_GEODUDE, - gAnims_GRAVELER, - gAnims_GOLEM, - gAnims_PONYTA, - gAnims_RAPIDASH, - gAnims_SLOWPOKE, - gAnims_SLOWBRO, - gAnims_MAGNEMITE, - gAnims_MAGNETON, - gAnims_FARFETCHD, - gAnims_DODUO, - gAnims_DODRIO, - gAnims_SEEL, - gAnims_DEWGONG, - gAnims_GRIMER, - gAnims_MUK, - gAnims_SHELLDER, - gAnims_CLOYSTER, - gAnims_GASTLY, - gAnims_HAUNTER, - gAnims_GENGAR, - gAnims_ONIX, - gAnims_DROWZEE, - gAnims_HYPNO, - gAnims_KRABBY, - gAnims_KINGLER, - gAnims_VOLTORB, - gAnims_ELECTRODE, - gAnims_EXEGGCUTE, - gAnims_EXEGGUTOR, - gAnims_CUBONE, - gAnims_MAROWAK, - gAnims_HITMONLEE, - gAnims_HITMONCHAN, - gAnims_LICKITUNG, - gAnims_KOFFING, - gAnims_WEEZING, - gAnims_RHYHORN, - gAnims_RHYDON, - gAnims_CHANSEY, - gAnims_TANGELA, - gAnims_KANGASKHAN, - gAnims_HORSEA, - gAnims_SEADRA, - gAnims_GOLDEEN, - gAnims_SEAKING, - gAnims_STARYU, - gAnims_STARMIE, - gAnims_MR_MIME, - gAnims_SCYTHER, - gAnims_JYNX, - gAnims_ELECTABUZZ, - gAnims_MAGMAR, - gAnims_PINSIR, - gAnims_TAUROS, - gAnims_MAGIKARP, - gAnims_GYARADOS, - gAnims_LAPRAS, - gAnims_DITTO, - gAnims_EEVEE, - gAnims_VAPOREON, - gAnims_JOLTEON, - gAnims_FLAREON, - gAnims_PORYGON, - gAnims_OMANYTE, - gAnims_OMASTAR, - gAnims_KABUTO, - gAnims_KABUTOPS, - gAnims_AERODACTYL, - gAnims_SNORLAX, - gAnims_ARTICUNO, - gAnims_ZAPDOS, - gAnims_MOLTRES, - gAnims_DRATINI, - gAnims_DRAGONAIR, - gAnims_DRAGONITE, - gAnims_MEWTWO, - gAnims_MEW, - gAnims_CHIKORITA, - gAnims_BAYLEEF, - gAnims_MEGANIUM, - gAnims_CYNDAQUIL, - gAnims_QUILAVA, - gAnims_TYPHLOSION, - gAnims_TOTODILE, - gAnims_CROCONAW, - gAnims_FERALIGATR, - gAnims_SENTRET, - gAnims_FURRET, - gAnims_HOOTHOOT, - gAnims_NOCTOWL, - gAnims_LEDYBA, - gAnims_LEDIAN, - gAnims_SPINARAK, - gAnims_ARIADOS, - gAnims_CROBAT, - gAnims_CHINCHOU, - gAnims_LANTURN, - gAnims_PICHU, - gAnims_CLEFFA, - gAnims_IGGLYBUFF, - gAnims_TOGEPI, - gAnims_TOGETIC, - gAnims_NATU, - gAnims_XATU, - gAnims_MAREEP, - gAnims_FLAAFFY, - gAnims_AMPHAROS, - gAnims_BELLOSSOM, - gAnims_MARILL, - gAnims_AZUMARILL, - gAnims_SUDOWOODO, - gAnims_POLITOED, - gAnims_HOPPIP, - gAnims_SKIPLOOM, - gAnims_JUMPLUFF, - gAnims_AIPOM, - gAnims_SUNKERN, - gAnims_SUNFLORA, - gAnims_YANMA, - gAnims_WOOPER, - gAnims_QUAGSIRE, - gAnims_ESPEON, - gAnims_UMBREON, - gAnims_MURKROW, - gAnims_SLOWKING, - gAnims_MISDREAVUS, - gAnims_UNOWN, - gAnims_WOBBUFFET, - gAnims_GIRAFARIG, - gAnims_PINECO, - gAnims_FORRETRESS, - gAnims_DUNSPARCE, - gAnims_GLIGAR, - gAnims_STEELIX, - gAnims_SNUBBULL, - gAnims_GRANBULL, - gAnims_QWILFISH, - gAnims_SCIZOR, - gAnims_SHUCKLE, - gAnims_HERACROSS, - gAnims_SNEASEL, - gAnims_TEDDIURSA, - gAnims_URSARING, - gAnims_SLUGMA, - gAnims_MAGCARGO, - gAnims_SWINUB, - gAnims_PILOSWINE, - gAnims_CORSOLA, - gAnims_REMORAID, - gAnims_OCTILLERY, - gAnims_DELIBIRD, - gAnims_MANTINE, - gAnims_SKARMORY, - gAnims_HOUNDOUR, - gAnims_HOUNDOOM, - gAnims_KINGDRA, - gAnims_PHANPY, - gAnims_DONPHAN, - gAnims_PORYGON2, - gAnims_STANTLER, - gAnims_SMEARGLE, - gAnims_TYROGUE, - gAnims_HITMONTOP, - gAnims_SMOOCHUM, - gAnims_ELEKID, - gAnims_MAGBY, - gAnims_MILTANK, - gAnims_BLISSEY, - gAnims_RAIKOU, - gAnims_ENTEI, - gAnims_SUICUNE, - gAnims_LARVITAR, - gAnims_PUPITAR, - gAnims_TYRANITAR, - gAnims_LUGIA, - gAnims_HO_OH, - gAnims_CELEBI, - gAnims_OLD_UNOWN_B, - gAnims_OLD_UNOWN_B, - gAnims_OLD_UNOWN_B, - gAnims_OLD_UNOWN_B, - gAnims_OLD_UNOWN_B, - gAnims_OLD_UNOWN_B, - gAnims_OLD_UNOWN_B, - gAnims_OLD_UNOWN_B, - gAnims_OLD_UNOWN_B, - gAnims_OLD_UNOWN_B, - gAnims_OLD_UNOWN_B, - gAnims_OLD_UNOWN_B, - gAnims_OLD_UNOWN_B, - gAnims_OLD_UNOWN_B, - gAnims_OLD_UNOWN_B, - gAnims_OLD_UNOWN_B, - gAnims_OLD_UNOWN_B, - gAnims_OLD_UNOWN_B, - gAnims_OLD_UNOWN_B, - gAnims_OLD_UNOWN_B, - gAnims_OLD_UNOWN_B, - gAnims_OLD_UNOWN_B, - gAnims_OLD_UNOWN_B, - gAnims_OLD_UNOWN_B, - gAnims_OLD_UNOWN_B, - gAnims_TREECKO, - gAnims_GROVYLE, - gAnims_SCEPTILE, - gAnims_TORCHIC, - gAnims_COMBUSKEN, - gAnims_BLAZIKEN, - gAnims_MUDKIP, - gAnims_MARSHTOMP, - gAnims_SWAMPERT, - gAnims_POOCHYENA, - gAnims_MIGHTYENA, - gAnims_ZIGZAGOON, - gAnims_LINOONE, - gAnims_WURMPLE, - gAnims_SILCOON, - gAnims_BEAUTIFLY, - gAnims_CASCOON, - gAnims_DUSTOX, - gAnims_LOTAD, - gAnims_LOMBRE, - gAnims_LUDICOLO, - gAnims_SEEDOT, - gAnims_NUZLEAF, - gAnims_SHIFTRY, - gAnims_NINCADA, - gAnims_NINJASK, - gAnims_SHEDINJA, - gAnims_TAILLOW, - gAnims_SWELLOW, - gAnims_SHROOMISH, - gAnims_BRELOOM, - gAnims_SPINDA, - gAnims_WINGULL, - gAnims_PELIPPER, - gAnims_SURSKIT, - gAnims_MASQUERAIN, - gAnims_WAILMER, - gAnims_WAILORD, - gAnims_SKITTY, - gAnims_DELCATTY, - gAnims_KECLEON, - gAnims_BALTOY, - gAnims_CLAYDOL, - gAnims_NOSEPASS, - gAnims_TORKOAL, - gAnims_SABLEYE, - gAnims_BARBOACH, - gAnims_WHISCASH, - gAnims_LUVDISC, - gAnims_CORPHISH, - gAnims_CRAWDAUNT, - gAnims_FEEBAS, - gAnims_MILOTIC, - gAnims_CARVANHA, - gAnims_SHARPEDO, - gAnims_TRAPINCH, - gAnims_VIBRAVA, - gAnims_FLYGON, - gAnims_MAKUHITA, - gAnims_HARIYAMA, - gAnims_ELECTRIKE, - gAnims_MANECTRIC, - gAnims_NUMEL, - gAnims_CAMERUPT, - gAnims_SPHEAL, - gAnims_SEALEO, - gAnims_WALREIN, - gAnims_CACNEA, - gAnims_CACTURNE, - gAnims_SNORUNT, - gAnims_GLALIE, - gAnims_LUNATONE, - gAnims_SOLROCK, - gAnims_AZURILL, - gAnims_SPOINK, - gAnims_GRUMPIG, - gAnims_PLUSLE, - gAnims_MINUN, - gAnims_MAWILE, - gAnims_MEDITITE, - gAnims_MEDICHAM, - gAnims_SWABLU, - gAnims_ALTARIA, - gAnims_WYNAUT, - gAnims_DUSKULL, - gAnims_DUSCLOPS, - gAnims_ROSELIA, - gAnims_SLAKOTH, - gAnims_VIGOROTH, - gAnims_SLAKING, - gAnims_GULPIN, - gAnims_SWALOT, - gAnims_TROPIUS, - gAnims_WHISMUR, - gAnims_LOUDRED, - gAnims_EXPLOUD, - gAnims_CLAMPERL, - gAnims_HUNTAIL, - gAnims_GOREBYSS, - gAnims_ABSOL, - gAnims_SHUPPET, - gAnims_BANETTE, - gAnims_SEVIPER, - gAnims_ZANGOOSE, - gAnims_RELICANTH, - gAnims_ARON, - gAnims_LAIRON, - gAnims_AGGRON, - gAnims_CASTFORM, - gAnims_VOLBEAT, - gAnims_ILLUMISE, - gAnims_LILEEP, - gAnims_CRADILY, - gAnims_ANORITH, - gAnims_ARMALDO, - gAnims_RALTS, - gAnims_KIRLIA, - gAnims_GARDEVOIR, - gAnims_BAGON, - gAnims_SHELGON, - gAnims_SALAMENCE, - gAnims_BELDUM, - gAnims_METANG, - gAnims_METAGROSS, - gAnims_REGIROCK, - gAnims_REGICE, - gAnims_REGISTEEL, - gAnims_KYOGRE, - gAnims_GROUDON, - gAnims_RAYQUAZA, - gAnims_LATIAS, - gAnims_LATIOS, - gAnims_JIRACHI, - gAnims_DEOXYS, - gAnims_CHIMECHO, - gAnims_EGG, - gAnims_UNOWN_B, - gAnims_UNOWN_C, - gAnims_UNOWN_D, - gAnims_UNOWN_E, - gAnims_UNOWN_F, - gAnims_UNOWN_G, - gAnims_UNOWN_H, - gAnims_UNOWN_I, - gAnims_UNOWN_J, - gAnims_UNOWN_K, - gAnims_UNOWN_L, - gAnims_UNOWN_M, - gAnims_UNOWN_N, - gAnims_UNOWN_O, - gAnims_UNOWN_P, - gAnims_UNOWN_Q, - gAnims_UNOWN_R, - gAnims_UNOWN_S, - gAnims_UNOWN_T, - gAnims_UNOWN_U, - gAnims_UNOWN_V, - gAnims_UNOWN_W, - gAnims_UNOWN_X, - gAnims_UNOWN_Y, - gAnims_UNOWN_Z, - gAnims_UNOWN_EMARK, - gAnims_UNOWN_QMARK, + ANIM_CMD(NONE), + ANIM_CMD(BULBASAUR), + ANIM_CMD(IVYSAUR), + ANIM_CMD(VENUSAUR), + ANIM_CMD(CHARMANDER), + ANIM_CMD(CHARMELEON), + ANIM_CMD(CHARIZARD), + ANIM_CMD(SQUIRTLE), + ANIM_CMD(WARTORTLE), + ANIM_CMD(BLASTOISE), + ANIM_CMD(CATERPIE), + ANIM_CMD(METAPOD), + ANIM_CMD(BUTTERFREE), + ANIM_CMD(WEEDLE), + ANIM_CMD(KAKUNA), + ANIM_CMD(BEEDRILL), + ANIM_CMD(PIDGEY), + ANIM_CMD(PIDGEOTTO), + ANIM_CMD(PIDGEOT), + ANIM_CMD(RATTATA), + ANIM_CMD(RATICATE), + ANIM_CMD(SPEAROW), + ANIM_CMD(FEAROW), + ANIM_CMD(EKANS), + ANIM_CMD(ARBOK), + ANIM_CMD(PIKACHU), + ANIM_CMD(RAICHU), + ANIM_CMD(SANDSHREW), + ANIM_CMD(SANDSLASH), + ANIM_CMD(NIDORAN_F), + ANIM_CMD(NIDORINA), + ANIM_CMD(NIDOQUEEN), + ANIM_CMD(NIDORAN_M), + ANIM_CMD(NIDORINO), + ANIM_CMD(NIDOKING), + ANIM_CMD(CLEFAIRY), + ANIM_CMD(CLEFABLE), + ANIM_CMD(VULPIX), + ANIM_CMD(NINETALES), + ANIM_CMD(JIGGLYPUFF), + ANIM_CMD(WIGGLYTUFF), + ANIM_CMD(ZUBAT), + ANIM_CMD(GOLBAT), + ANIM_CMD(ODDISH), + ANIM_CMD(GLOOM), + ANIM_CMD(VILEPLUME), + ANIM_CMD(PARAS), + ANIM_CMD(PARASECT), + ANIM_CMD(VENONAT), + ANIM_CMD(VENOMOTH), + ANIM_CMD(DIGLETT), + ANIM_CMD(DUGTRIO), + ANIM_CMD(MEOWTH), + ANIM_CMD(PERSIAN), + ANIM_CMD(PSYDUCK), + ANIM_CMD(GOLDUCK), + ANIM_CMD(MANKEY), + ANIM_CMD(PRIMEAPE), + ANIM_CMD(GROWLITHE), + ANIM_CMD(ARCANINE), + ANIM_CMD(POLIWAG), + ANIM_CMD(POLIWHIRL), + ANIM_CMD(POLIWRATH), + ANIM_CMD(ABRA), + ANIM_CMD(KADABRA), + ANIM_CMD(ALAKAZAM), + ANIM_CMD(MACHOP), + ANIM_CMD(MACHOKE), + ANIM_CMD(MACHAMP), + ANIM_CMD(BELLSPROUT), + ANIM_CMD(WEEPINBELL), + ANIM_CMD(VICTREEBEL), + ANIM_CMD(TENTACOOL), + ANIM_CMD(TENTACRUEL), + ANIM_CMD(GEODUDE), + ANIM_CMD(GRAVELER), + ANIM_CMD(GOLEM), + ANIM_CMD(PONYTA), + ANIM_CMD(RAPIDASH), + ANIM_CMD(SLOWPOKE), + ANIM_CMD(SLOWBRO), + ANIM_CMD(MAGNEMITE), + ANIM_CMD(MAGNETON), + ANIM_CMD(FARFETCHD), + ANIM_CMD(DODUO), + ANIM_CMD(DODRIO), + ANIM_CMD(SEEL), + ANIM_CMD(DEWGONG), + ANIM_CMD(GRIMER), + ANIM_CMD(MUK), + ANIM_CMD(SHELLDER), + ANIM_CMD(CLOYSTER), + ANIM_CMD(GASTLY), + ANIM_CMD(HAUNTER), + ANIM_CMD(GENGAR), + ANIM_CMD(ONIX), + ANIM_CMD(DROWZEE), + ANIM_CMD(HYPNO), + ANIM_CMD(KRABBY), + ANIM_CMD(KINGLER), + ANIM_CMD(VOLTORB), + ANIM_CMD(ELECTRODE), + ANIM_CMD(EXEGGCUTE), + ANIM_CMD(EXEGGUTOR), + ANIM_CMD(CUBONE), + ANIM_CMD(MAROWAK), + ANIM_CMD(HITMONLEE), + ANIM_CMD(HITMONCHAN), + ANIM_CMD(LICKITUNG), + ANIM_CMD(KOFFING), + ANIM_CMD(WEEZING), + ANIM_CMD(RHYHORN), + ANIM_CMD(RHYDON), + ANIM_CMD(CHANSEY), + ANIM_CMD(TANGELA), + ANIM_CMD(KANGASKHAN), + ANIM_CMD(HORSEA), + ANIM_CMD(SEADRA), + ANIM_CMD(GOLDEEN), + ANIM_CMD(SEAKING), + ANIM_CMD(STARYU), + ANIM_CMD(STARMIE), + ANIM_CMD(MR_MIME), + ANIM_CMD(SCYTHER), + ANIM_CMD(JYNX), + ANIM_CMD(ELECTABUZZ), + ANIM_CMD(MAGMAR), + ANIM_CMD(PINSIR), + ANIM_CMD(TAUROS), + ANIM_CMD(MAGIKARP), + ANIM_CMD(GYARADOS), + ANIM_CMD(LAPRAS), + ANIM_CMD(DITTO), + ANIM_CMD(EEVEE), + ANIM_CMD(VAPOREON), + ANIM_CMD(JOLTEON), + ANIM_CMD(FLAREON), + ANIM_CMD(PORYGON), + ANIM_CMD(OMANYTE), + ANIM_CMD(OMASTAR), + ANIM_CMD(KABUTO), + ANIM_CMD(KABUTOPS), + ANIM_CMD(AERODACTYL), + ANIM_CMD(SNORLAX), + ANIM_CMD(ARTICUNO), + ANIM_CMD(ZAPDOS), + ANIM_CMD(MOLTRES), + ANIM_CMD(DRATINI), + ANIM_CMD(DRAGONAIR), + ANIM_CMD(DRAGONITE), + ANIM_CMD(MEWTWO), + ANIM_CMD(MEW), + ANIM_CMD(CHIKORITA), + ANIM_CMD(BAYLEEF), + ANIM_CMD(MEGANIUM), + ANIM_CMD(CYNDAQUIL), + ANIM_CMD(QUILAVA), + ANIM_CMD(TYPHLOSION), + ANIM_CMD(TOTODILE), + ANIM_CMD(CROCONAW), + ANIM_CMD(FERALIGATR), + ANIM_CMD(SENTRET), + ANIM_CMD(FURRET), + ANIM_CMD(HOOTHOOT), + ANIM_CMD(NOCTOWL), + ANIM_CMD(LEDYBA), + ANIM_CMD(LEDIAN), + ANIM_CMD(SPINARAK), + ANIM_CMD(ARIADOS), + ANIM_CMD(CROBAT), + ANIM_CMD(CHINCHOU), + ANIM_CMD(LANTURN), + ANIM_CMD(PICHU), + ANIM_CMD(CLEFFA), + ANIM_CMD(IGGLYBUFF), + ANIM_CMD(TOGEPI), + ANIM_CMD(TOGETIC), + ANIM_CMD(NATU), + ANIM_CMD(XATU), + ANIM_CMD(MAREEP), + ANIM_CMD(FLAAFFY), + ANIM_CMD(AMPHAROS), + ANIM_CMD(BELLOSSOM), + ANIM_CMD(MARILL), + ANIM_CMD(AZUMARILL), + ANIM_CMD(SUDOWOODO), + ANIM_CMD(POLITOED), + ANIM_CMD(HOPPIP), + ANIM_CMD(SKIPLOOM), + ANIM_CMD(JUMPLUFF), + ANIM_CMD(AIPOM), + ANIM_CMD(SUNKERN), + ANIM_CMD(SUNFLORA), + ANIM_CMD(YANMA), + ANIM_CMD(WOOPER), + ANIM_CMD(QUAGSIRE), + ANIM_CMD(ESPEON), + ANIM_CMD(UMBREON), + ANIM_CMD(MURKROW), + ANIM_CMD(SLOWKING), + ANIM_CMD(MISDREAVUS), + ANIM_CMD(UNOWN), + ANIM_CMD(WOBBUFFET), + ANIM_CMD(GIRAFARIG), + ANIM_CMD(PINECO), + ANIM_CMD(FORRETRESS), + ANIM_CMD(DUNSPARCE), + ANIM_CMD(GLIGAR), + ANIM_CMD(STEELIX), + ANIM_CMD(SNUBBULL), + ANIM_CMD(GRANBULL), + ANIM_CMD(QWILFISH), + ANIM_CMD(SCIZOR), + ANIM_CMD(SHUCKLE), + ANIM_CMD(HERACROSS), + ANIM_CMD(SNEASEL), + ANIM_CMD(TEDDIURSA), + ANIM_CMD(URSARING), + ANIM_CMD(SLUGMA), + ANIM_CMD(MAGCARGO), + ANIM_CMD(SWINUB), + ANIM_CMD(PILOSWINE), + ANIM_CMD(CORSOLA), + ANIM_CMD(REMORAID), + ANIM_CMD(OCTILLERY), + ANIM_CMD(DELIBIRD), + ANIM_CMD(MANTINE), + ANIM_CMD(SKARMORY), + ANIM_CMD(HOUNDOUR), + ANIM_CMD(HOUNDOOM), + ANIM_CMD(KINGDRA), + ANIM_CMD(PHANPY), + ANIM_CMD(DONPHAN), + ANIM_CMD(PORYGON2), + ANIM_CMD(STANTLER), + ANIM_CMD(SMEARGLE), + ANIM_CMD(TYROGUE), + ANIM_CMD(HITMONTOP), + ANIM_CMD(SMOOCHUM), + ANIM_CMD(ELEKID), + ANIM_CMD(MAGBY), + ANIM_CMD(MILTANK), + ANIM_CMD(BLISSEY), + ANIM_CMD(RAIKOU), + ANIM_CMD(ENTEI), + ANIM_CMD(SUICUNE), + ANIM_CMD(LARVITAR), + ANIM_CMD(PUPITAR), + ANIM_CMD(TYRANITAR), + ANIM_CMD(LUGIA), + ANIM_CMD(HO_OH), + ANIM_CMD(CELEBI), + ANIM_CMD(OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_C, gAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_D, gAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_E, gAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_F, gAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_G, gAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_H, gAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_I, gAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_J, gAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_K, gAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_L, gAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_M, gAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_N, gAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_O, gAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_P, gAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_Q, gAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_R, gAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_S, gAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_T, gAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_U, gAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_V, gAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_W, gAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_X, gAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_Y, gAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_Z, gAnims_OLD_UNOWN_B), + ANIM_CMD(TREECKO), + ANIM_CMD(GROVYLE), + ANIM_CMD(SCEPTILE), + ANIM_CMD(TORCHIC), + ANIM_CMD(COMBUSKEN), + ANIM_CMD(BLAZIKEN), + ANIM_CMD(MUDKIP), + ANIM_CMD(MARSHTOMP), + ANIM_CMD(SWAMPERT), + ANIM_CMD(POOCHYENA), + ANIM_CMD(MIGHTYENA), + ANIM_CMD(ZIGZAGOON), + ANIM_CMD(LINOONE), + ANIM_CMD(WURMPLE), + ANIM_CMD(SILCOON), + ANIM_CMD(BEAUTIFLY), + ANIM_CMD(CASCOON), + ANIM_CMD(DUSTOX), + ANIM_CMD(LOTAD), + ANIM_CMD(LOMBRE), + ANIM_CMD(LUDICOLO), + ANIM_CMD(SEEDOT), + ANIM_CMD(NUZLEAF), + ANIM_CMD(SHIFTRY), + ANIM_CMD(NINCADA), + ANIM_CMD(NINJASK), + ANIM_CMD(SHEDINJA), + ANIM_CMD(TAILLOW), + ANIM_CMD(SWELLOW), + ANIM_CMD(SHROOMISH), + ANIM_CMD(BRELOOM), + ANIM_CMD(SPINDA), + ANIM_CMD(WINGULL), + ANIM_CMD(PELIPPER), + ANIM_CMD(SURSKIT), + ANIM_CMD(MASQUERAIN), + ANIM_CMD(WAILMER), + ANIM_CMD(WAILORD), + ANIM_CMD(SKITTY), + ANIM_CMD(DELCATTY), + ANIM_CMD(KECLEON), + ANIM_CMD(BALTOY), + ANIM_CMD(CLAYDOL), + ANIM_CMD(NOSEPASS), + ANIM_CMD(TORKOAL), + ANIM_CMD(SABLEYE), + ANIM_CMD(BARBOACH), + ANIM_CMD(WHISCASH), + ANIM_CMD(LUVDISC), + ANIM_CMD(CORPHISH), + ANIM_CMD(CRAWDAUNT), + ANIM_CMD(FEEBAS), + ANIM_CMD(MILOTIC), + ANIM_CMD(CARVANHA), + ANIM_CMD(SHARPEDO), + ANIM_CMD(TRAPINCH), + ANIM_CMD(VIBRAVA), + ANIM_CMD(FLYGON), + ANIM_CMD(MAKUHITA), + ANIM_CMD(HARIYAMA), + ANIM_CMD(ELECTRIKE), + ANIM_CMD(MANECTRIC), + ANIM_CMD(NUMEL), + ANIM_CMD(CAMERUPT), + ANIM_CMD(SPHEAL), + ANIM_CMD(SEALEO), + ANIM_CMD(WALREIN), + ANIM_CMD(CACNEA), + ANIM_CMD(CACTURNE), + ANIM_CMD(SNORUNT), + ANIM_CMD(GLALIE), + ANIM_CMD(LUNATONE), + ANIM_CMD(SOLROCK), + ANIM_CMD(AZURILL), + ANIM_CMD(SPOINK), + ANIM_CMD(GRUMPIG), + ANIM_CMD(PLUSLE), + ANIM_CMD(MINUN), + ANIM_CMD(MAWILE), + ANIM_CMD(MEDITITE), + ANIM_CMD(MEDICHAM), + ANIM_CMD(SWABLU), + ANIM_CMD(ALTARIA), + ANIM_CMD(WYNAUT), + ANIM_CMD(DUSKULL), + ANIM_CMD(DUSCLOPS), + ANIM_CMD(ROSELIA), + ANIM_CMD(SLAKOTH), + ANIM_CMD(VIGOROTH), + ANIM_CMD(SLAKING), + ANIM_CMD(GULPIN), + ANIM_CMD(SWALOT), + ANIM_CMD(TROPIUS), + ANIM_CMD(WHISMUR), + ANIM_CMD(LOUDRED), + ANIM_CMD(EXPLOUD), + ANIM_CMD(CLAMPERL), + ANIM_CMD(HUNTAIL), + ANIM_CMD(GOREBYSS), + ANIM_CMD(ABSOL), + ANIM_CMD(SHUPPET), + ANIM_CMD(BANETTE), + ANIM_CMD(SEVIPER), + ANIM_CMD(ZANGOOSE), + ANIM_CMD(RELICANTH), + ANIM_CMD(ARON), + ANIM_CMD(LAIRON), + ANIM_CMD(AGGRON), + ANIM_CMD(CASTFORM), + ANIM_CMD(VOLBEAT), + ANIM_CMD(ILLUMISE), + ANIM_CMD(LILEEP), + ANIM_CMD(CRADILY), + ANIM_CMD(ANORITH), + ANIM_CMD(ARMALDO), + ANIM_CMD(RALTS), + ANIM_CMD(KIRLIA), + ANIM_CMD(GARDEVOIR), + ANIM_CMD(BAGON), + ANIM_CMD(SHELGON), + ANIM_CMD(SALAMENCE), + ANIM_CMD(BELDUM), + ANIM_CMD(METANG), + ANIM_CMD(METAGROSS), + ANIM_CMD(REGIROCK), + ANIM_CMD(REGICE), + ANIM_CMD(REGISTEEL), + ANIM_CMD(KYOGRE), + ANIM_CMD(GROUDON), + ANIM_CMD(RAYQUAZA), + ANIM_CMD(LATIAS), + ANIM_CMD(LATIOS), + ANIM_CMD(JIRACHI), + ANIM_CMD(DEOXYS), + ANIM_CMD(CHIMECHO), + ANIM_CMD(EGG), + ANIM_CMD(UNOWN_B), + ANIM_CMD(UNOWN_C), + ANIM_CMD(UNOWN_D), + ANIM_CMD(UNOWN_E), + ANIM_CMD(UNOWN_F), + ANIM_CMD(UNOWN_G), + ANIM_CMD(UNOWN_H), + ANIM_CMD(UNOWN_I), + ANIM_CMD(UNOWN_J), + ANIM_CMD(UNOWN_K), + ANIM_CMD(UNOWN_L), + ANIM_CMD(UNOWN_M), + ANIM_CMD(UNOWN_N), + ANIM_CMD(UNOWN_O), + ANIM_CMD(UNOWN_P), + ANIM_CMD(UNOWN_Q), + ANIM_CMD(UNOWN_R), + ANIM_CMD(UNOWN_S), + ANIM_CMD(UNOWN_T), + ANIM_CMD(UNOWN_U), + ANIM_CMD(UNOWN_V), + ANIM_CMD(UNOWN_W), + ANIM_CMD(UNOWN_X), + ANIM_CMD(UNOWN_Y), + ANIM_CMD(UNOWN_Z), + ANIM_CMD(UNOWN_EMARK), + ANIM_CMD(UNOWN_QMARK), }; diff --git a/src/data/pokemon_graphics/still_front_pic_table.h b/src/data/pokemon_graphics/still_front_pic_table.h index a345a3d43..308a872b4 100644 --- a/src/data/pokemon_graphics/still_front_pic_table.h +++ b/src/data/pokemon_graphics/still_front_pic_table.h @@ -1,446 +1,448 @@ +#define STILL_FRONT_PIC(species, frontpic) [SPECIES_##species] = {frontpic, 0x800, SPECIES_##species} + const struct CompressedSpriteSheet gMonStillFrontPicTable[] = -{ //.data .size .tag - gMonStillFrontPic_CircledQuestionMark, 0x800, 0, - gMonStillFrontPic_Bulbasaur, 0x800, 1, - gMonStillFrontPic_Ivysaur, 0x800, 2, - gMonStillFrontPic_Venusaur, 0x800, 3, - gMonStillFrontPic_Charmander, 0x800, 4, - gMonStillFrontPic_Charmeleon, 0x800, 5, - gMonStillFrontPic_Charizard, 0x800, 6, - gMonStillFrontPic_Squirtle, 0x800, 7, - gMonStillFrontPic_Wartortle, 0x800, 8, - gMonStillFrontPic_Blastoise, 0x800, 9, - gMonStillFrontPic_Caterpie, 0x800, 10, - gMonStillFrontPic_Metapod, 0x800, 11, - gMonStillFrontPic_Butterfree, 0x800, 12, - gMonStillFrontPic_Weedle, 0x800, 13, - gMonStillFrontPic_Kakuna, 0x800, 14, - gMonStillFrontPic_Beedrill, 0x800, 15, - gMonStillFrontPic_Pidgey, 0x800, 16, - gMonStillFrontPic_Pidgeotto, 0x800, 17, - gMonStillFrontPic_Pidgeot, 0x800, 18, - gMonStillFrontPic_Rattata, 0x800, 19, - gMonStillFrontPic_Raticate, 0x800, 20, - gMonStillFrontPic_Spearow, 0x800, 21, - gMonStillFrontPic_Fearow, 0x800, 22, - gMonStillFrontPic_Ekans, 0x800, 23, - gMonStillFrontPic_Arbok, 0x800, 24, - gMonStillFrontPic_Pikachu, 0x800, 25, - gMonStillFrontPic_Raichu, 0x800, 26, - gMonStillFrontPic_Sandshrew, 0x800, 27, - gMonStillFrontPic_Sandslash, 0x800, 28, - gMonStillFrontPic_NidoranF, 0x800, 29, - gMonStillFrontPic_Nidorina, 0x800, 30, - gMonStillFrontPic_Nidoqueen, 0x800, 31, - gMonStillFrontPic_NidoranM, 0x800, 32, - gMonStillFrontPic_Nidorino, 0x800, 33, - gMonStillFrontPic_Nidoking, 0x800, 34, - gMonStillFrontPic_Clefairy, 0x800, 35, - gMonStillFrontPic_Clefable, 0x800, 36, - gMonStillFrontPic_Vulpix, 0x800, 37, - gMonStillFrontPic_Ninetales, 0x800, 38, - gMonStillFrontPic_Jigglypuff, 0x800, 39, - gMonStillFrontPic_Wigglytuff, 0x800, 40, - gMonStillFrontPic_Zubat, 0x800, 41, - gMonStillFrontPic_Golbat, 0x800, 42, - gMonStillFrontPic_Oddish, 0x800, 43, - gMonStillFrontPic_Gloom, 0x800, 44, - gMonStillFrontPic_Vileplume, 0x800, 45, - gMonStillFrontPic_Paras, 0x800, 46, - gMonStillFrontPic_Parasect, 0x800, 47, - gMonStillFrontPic_Venonat, 0x800, 48, - gMonStillFrontPic_Venomoth, 0x800, 49, - gMonStillFrontPic_Diglett, 0x800, 50, - gMonStillFrontPic_Dugtrio, 0x800, 51, - gMonStillFrontPic_Meowth, 0x800, 52, - gMonStillFrontPic_Persian, 0x800, 53, - gMonStillFrontPic_Psyduck, 0x800, 54, - gMonStillFrontPic_Golduck, 0x800, 55, - gMonStillFrontPic_Mankey, 0x800, 56, - gMonStillFrontPic_Primeape, 0x800, 57, - gMonStillFrontPic_Growlithe, 0x800, 58, - gMonStillFrontPic_Arcanine, 0x800, 59, - gMonStillFrontPic_Poliwag, 0x800, 60, - gMonStillFrontPic_Poliwhirl, 0x800, 61, - gMonStillFrontPic_Poliwrath, 0x800, 62, - gMonStillFrontPic_Abra, 0x800, 63, - gMonStillFrontPic_Kadabra, 0x800, 64, - gMonStillFrontPic_Alakazam, 0x800, 65, - gMonStillFrontPic_Machop, 0x800, 66, - gMonStillFrontPic_Machoke, 0x800, 67, - gMonStillFrontPic_Machamp, 0x800, 68, - gMonStillFrontPic_Bellsprout, 0x800, 69, - gMonStillFrontPic_Weepinbell, 0x800, 70, - gMonStillFrontPic_Victreebel, 0x800, 71, - gMonStillFrontPic_Tentacool, 0x800, 72, - gMonStillFrontPic_Tentacruel, 0x800, 73, - gMonStillFrontPic_Geodude, 0x800, 74, - gMonStillFrontPic_Graveler, 0x800, 75, - gMonStillFrontPic_Golem, 0x800, 76, - gMonStillFrontPic_Ponyta, 0x800, 77, - gMonStillFrontPic_Rapidash, 0x800, 78, - gMonStillFrontPic_Slowpoke, 0x800, 79, - gMonStillFrontPic_Slowbro, 0x800, 80, - gMonStillFrontPic_Magnemite, 0x800, 81, - gMonStillFrontPic_Magneton, 0x800, 82, - gMonStillFrontPic_Farfetchd, 0x800, 83, - gMonStillFrontPic_Doduo, 0x800, 84, - gMonStillFrontPic_Dodrio, 0x800, 85, - gMonStillFrontPic_Seel, 0x800, 86, - gMonStillFrontPic_Dewgong, 0x800, 87, - gMonStillFrontPic_Grimer, 0x800, 88, - gMonStillFrontPic_Muk, 0x800, 89, - gMonStillFrontPic_Shellder, 0x800, 90, - gMonStillFrontPic_Cloyster, 0x800, 91, - gMonStillFrontPic_Gastly, 0x800, 92, - gMonStillFrontPic_Haunter, 0x800, 93, - gMonStillFrontPic_Gengar, 0x800, 94, - gMonStillFrontPic_Onix, 0x800, 95, - gMonStillFrontPic_Drowzee, 0x800, 96, - gMonStillFrontPic_Hypno, 0x800, 97, - gMonStillFrontPic_Krabby, 0x800, 98, - gMonStillFrontPic_Kingler, 0x800, 99, - gMonStillFrontPic_Voltorb, 0x800, 100, - gMonStillFrontPic_Electrode, 0x800, 101, - gMonStillFrontPic_Exeggcute, 0x800, 102, - gMonStillFrontPic_Exeggutor, 0x800, 103, - gMonStillFrontPic_Cubone, 0x800, 104, - gMonStillFrontPic_Marowak, 0x800, 105, - gMonStillFrontPic_Hitmonlee, 0x800, 106, - gMonStillFrontPic_Hitmonchan, 0x800, 107, - gMonStillFrontPic_Lickitung, 0x800, 108, - gMonStillFrontPic_Koffing, 0x800, 109, - gMonStillFrontPic_Weezing, 0x800, 110, - gMonStillFrontPic_Rhyhorn, 0x800, 111, - gMonStillFrontPic_Rhydon, 0x800, 112, - gMonStillFrontPic_Chansey, 0x800, 113, - gMonStillFrontPic_Tangela, 0x800, 114, - gMonStillFrontPic_Kangaskhan, 0x800, 115, - gMonStillFrontPic_Horsea, 0x800, 116, - gMonStillFrontPic_Seadra, 0x800, 117, - gMonStillFrontPic_Goldeen, 0x800, 118, - gMonStillFrontPic_Seaking, 0x800, 119, - gMonStillFrontPic_Staryu, 0x800, 120, - gMonStillFrontPic_Starmie, 0x800, 121, - gMonStillFrontPic_Mrmime, 0x800, 122, - gMonStillFrontPic_Scyther, 0x800, 123, - gMonStillFrontPic_Jynx, 0x800, 124, - gMonStillFrontPic_Electabuzz, 0x800, 125, - gMonStillFrontPic_Magmar, 0x800, 126, - gMonStillFrontPic_Pinsir, 0x800, 127, - gMonStillFrontPic_Tauros, 0x800, 128, - gMonStillFrontPic_Magikarp, 0x800, 129, - gMonStillFrontPic_Gyarados, 0x800, 130, - gMonStillFrontPic_Lapras, 0x800, 131, - gMonStillFrontPic_Ditto, 0x800, 132, - gMonStillFrontPic_Eevee, 0x800, 133, - gMonStillFrontPic_Vaporeon, 0x800, 134, - gMonStillFrontPic_Jolteon, 0x800, 135, - gMonStillFrontPic_Flareon, 0x800, 136, - gMonStillFrontPic_Porygon, 0x800, 137, - gMonStillFrontPic_Omanyte, 0x800, 138, - gMonStillFrontPic_Omastar, 0x800, 139, - gMonStillFrontPic_Kabuto, 0x800, 140, - gMonStillFrontPic_Kabutops, 0x800, 141, - gMonStillFrontPic_Aerodactyl, 0x800, 142, - gMonStillFrontPic_Snorlax, 0x800, 143, - gMonStillFrontPic_Articuno, 0x800, 144, - gMonStillFrontPic_Zapdos, 0x800, 145, - gMonStillFrontPic_Moltres, 0x800, 146, - gMonStillFrontPic_Dratini, 0x800, 147, - gMonStillFrontPic_Dragonair, 0x800, 148, - gMonStillFrontPic_Dragonite, 0x800, 149, - gMonStillFrontPic_Mewtwo, 0x800, 150, - gMonStillFrontPic_Mew, 0x800, 151, +{ + STILL_FRONT_PIC(NONE, gMonStillFrontPic_CircledQuestionMark), + STILL_FRONT_PIC(BULBASAUR, gMonStillFrontPic_Bulbasaur), + STILL_FRONT_PIC(IVYSAUR, gMonStillFrontPic_Ivysaur), + STILL_FRONT_PIC(VENUSAUR, gMonStillFrontPic_Venusaur), + STILL_FRONT_PIC(CHARMANDER, gMonStillFrontPic_Charmander), + STILL_FRONT_PIC(CHARMELEON, gMonStillFrontPic_Charmeleon), + STILL_FRONT_PIC(CHARIZARD, gMonStillFrontPic_Charizard), + STILL_FRONT_PIC(SQUIRTLE, gMonStillFrontPic_Squirtle), + STILL_FRONT_PIC(WARTORTLE, gMonStillFrontPic_Wartortle), + STILL_FRONT_PIC(BLASTOISE, gMonStillFrontPic_Blastoise), + STILL_FRONT_PIC(CATERPIE, gMonStillFrontPic_Caterpie), + STILL_FRONT_PIC(METAPOD, gMonStillFrontPic_Metapod), + STILL_FRONT_PIC(BUTTERFREE, gMonStillFrontPic_Butterfree), + STILL_FRONT_PIC(WEEDLE, gMonStillFrontPic_Weedle), + STILL_FRONT_PIC(KAKUNA, gMonStillFrontPic_Kakuna), + STILL_FRONT_PIC(BEEDRILL, gMonStillFrontPic_Beedrill), + STILL_FRONT_PIC(PIDGEY, gMonStillFrontPic_Pidgey), + STILL_FRONT_PIC(PIDGEOTTO, gMonStillFrontPic_Pidgeotto), + STILL_FRONT_PIC(PIDGEOT, gMonStillFrontPic_Pidgeot), + STILL_FRONT_PIC(RATTATA, gMonStillFrontPic_Rattata), + STILL_FRONT_PIC(RATICATE, gMonStillFrontPic_Raticate), + STILL_FRONT_PIC(SPEAROW, gMonStillFrontPic_Spearow), + STILL_FRONT_PIC(FEAROW, gMonStillFrontPic_Fearow), + STILL_FRONT_PIC(EKANS, gMonStillFrontPic_Ekans), + STILL_FRONT_PIC(ARBOK, gMonStillFrontPic_Arbok), + STILL_FRONT_PIC(PIKACHU, gMonStillFrontPic_Pikachu), + STILL_FRONT_PIC(RAICHU, gMonStillFrontPic_Raichu), + STILL_FRONT_PIC(SANDSHREW, gMonStillFrontPic_Sandshrew), + STILL_FRONT_PIC(SANDSLASH, gMonStillFrontPic_Sandslash), + STILL_FRONT_PIC(NIDORAN_F, gMonStillFrontPic_NidoranF), + STILL_FRONT_PIC(NIDORINA, gMonStillFrontPic_Nidorina), + STILL_FRONT_PIC(NIDOQUEEN, gMonStillFrontPic_Nidoqueen), + STILL_FRONT_PIC(NIDORAN_M, gMonStillFrontPic_NidoranM), + STILL_FRONT_PIC(NIDORINO, gMonStillFrontPic_Nidorino), + STILL_FRONT_PIC(NIDOKING, gMonStillFrontPic_Nidoking), + STILL_FRONT_PIC(CLEFAIRY, gMonStillFrontPic_Clefairy), + STILL_FRONT_PIC(CLEFABLE, gMonStillFrontPic_Clefable), + STILL_FRONT_PIC(VULPIX, gMonStillFrontPic_Vulpix), + STILL_FRONT_PIC(NINETALES, gMonStillFrontPic_Ninetales), + STILL_FRONT_PIC(JIGGLYPUFF, gMonStillFrontPic_Jigglypuff), + STILL_FRONT_PIC(WIGGLYTUFF, gMonStillFrontPic_Wigglytuff), + STILL_FRONT_PIC(ZUBAT, gMonStillFrontPic_Zubat), + STILL_FRONT_PIC(GOLBAT, gMonStillFrontPic_Golbat), + STILL_FRONT_PIC(ODDISH, gMonStillFrontPic_Oddish), + STILL_FRONT_PIC(GLOOM, gMonStillFrontPic_Gloom), + STILL_FRONT_PIC(VILEPLUME, gMonStillFrontPic_Vileplume), + STILL_FRONT_PIC(PARAS, gMonStillFrontPic_Paras), + STILL_FRONT_PIC(PARASECT, gMonStillFrontPic_Parasect), + STILL_FRONT_PIC(VENONAT, gMonStillFrontPic_Venonat), + STILL_FRONT_PIC(VENOMOTH, gMonStillFrontPic_Venomoth), + STILL_FRONT_PIC(DIGLETT, gMonStillFrontPic_Diglett), + STILL_FRONT_PIC(DUGTRIO, gMonStillFrontPic_Dugtrio), + STILL_FRONT_PIC(MEOWTH, gMonStillFrontPic_Meowth), + STILL_FRONT_PIC(PERSIAN, gMonStillFrontPic_Persian), + STILL_FRONT_PIC(PSYDUCK, gMonStillFrontPic_Psyduck), + STILL_FRONT_PIC(GOLDUCK, gMonStillFrontPic_Golduck), + STILL_FRONT_PIC(MANKEY, gMonStillFrontPic_Mankey), + STILL_FRONT_PIC(PRIMEAPE, gMonStillFrontPic_Primeape), + STILL_FRONT_PIC(GROWLITHE, gMonStillFrontPic_Growlithe), + STILL_FRONT_PIC(ARCANINE, gMonStillFrontPic_Arcanine), + STILL_FRONT_PIC(POLIWAG, gMonStillFrontPic_Poliwag), + STILL_FRONT_PIC(POLIWHIRL, gMonStillFrontPic_Poliwhirl), + STILL_FRONT_PIC(POLIWRATH, gMonStillFrontPic_Poliwrath), + STILL_FRONT_PIC(ABRA, gMonStillFrontPic_Abra), + STILL_FRONT_PIC(KADABRA, gMonStillFrontPic_Kadabra), + STILL_FRONT_PIC(ALAKAZAM, gMonStillFrontPic_Alakazam), + STILL_FRONT_PIC(MACHOP, gMonStillFrontPic_Machop), + STILL_FRONT_PIC(MACHOKE, gMonStillFrontPic_Machoke), + STILL_FRONT_PIC(MACHAMP, gMonStillFrontPic_Machamp), + STILL_FRONT_PIC(BELLSPROUT, gMonStillFrontPic_Bellsprout), + STILL_FRONT_PIC(WEEPINBELL, gMonStillFrontPic_Weepinbell), + STILL_FRONT_PIC(VICTREEBEL, gMonStillFrontPic_Victreebel), + STILL_FRONT_PIC(TENTACOOL, gMonStillFrontPic_Tentacool), + STILL_FRONT_PIC(TENTACRUEL, gMonStillFrontPic_Tentacruel), + STILL_FRONT_PIC(GEODUDE, gMonStillFrontPic_Geodude), + STILL_FRONT_PIC(GRAVELER, gMonStillFrontPic_Graveler), + STILL_FRONT_PIC(GOLEM, gMonStillFrontPic_Golem), + STILL_FRONT_PIC(PONYTA, gMonStillFrontPic_Ponyta), + STILL_FRONT_PIC(RAPIDASH, gMonStillFrontPic_Rapidash), + STILL_FRONT_PIC(SLOWPOKE, gMonStillFrontPic_Slowpoke), + STILL_FRONT_PIC(SLOWBRO, gMonStillFrontPic_Slowbro), + STILL_FRONT_PIC(MAGNEMITE, gMonStillFrontPic_Magnemite), + STILL_FRONT_PIC(MAGNETON, gMonStillFrontPic_Magneton), + STILL_FRONT_PIC(FARFETCHD, gMonStillFrontPic_Farfetchd), + STILL_FRONT_PIC(DODUO, gMonStillFrontPic_Doduo), + STILL_FRONT_PIC(DODRIO, gMonStillFrontPic_Dodrio), + STILL_FRONT_PIC(SEEL, gMonStillFrontPic_Seel), + STILL_FRONT_PIC(DEWGONG, gMonStillFrontPic_Dewgong), + STILL_FRONT_PIC(GRIMER, gMonStillFrontPic_Grimer), + STILL_FRONT_PIC(MUK, gMonStillFrontPic_Muk), + STILL_FRONT_PIC(SHELLDER, gMonStillFrontPic_Shellder), + STILL_FRONT_PIC(CLOYSTER, gMonStillFrontPic_Cloyster), + STILL_FRONT_PIC(GASTLY, gMonStillFrontPic_Gastly), + STILL_FRONT_PIC(HAUNTER, gMonStillFrontPic_Haunter), + STILL_FRONT_PIC(GENGAR, gMonStillFrontPic_Gengar), + STILL_FRONT_PIC(ONIX, gMonStillFrontPic_Onix), + STILL_FRONT_PIC(DROWZEE, gMonStillFrontPic_Drowzee), + STILL_FRONT_PIC(HYPNO, gMonStillFrontPic_Hypno), + STILL_FRONT_PIC(KRABBY, gMonStillFrontPic_Krabby), + STILL_FRONT_PIC(KINGLER, gMonStillFrontPic_Kingler), + STILL_FRONT_PIC(VOLTORB, gMonStillFrontPic_Voltorb), + STILL_FRONT_PIC(ELECTRODE, gMonStillFrontPic_Electrode), + STILL_FRONT_PIC(EXEGGCUTE, gMonStillFrontPic_Exeggcute), + STILL_FRONT_PIC(EXEGGUTOR, gMonStillFrontPic_Exeggutor), + STILL_FRONT_PIC(CUBONE, gMonStillFrontPic_Cubone), + STILL_FRONT_PIC(MAROWAK, gMonStillFrontPic_Marowak), + STILL_FRONT_PIC(HITMONLEE, gMonStillFrontPic_Hitmonlee), + STILL_FRONT_PIC(HITMONCHAN, gMonStillFrontPic_Hitmonchan), + STILL_FRONT_PIC(LICKITUNG, gMonStillFrontPic_Lickitung), + STILL_FRONT_PIC(KOFFING, gMonStillFrontPic_Koffing), + STILL_FRONT_PIC(WEEZING, gMonStillFrontPic_Weezing), + STILL_FRONT_PIC(RHYHORN, gMonStillFrontPic_Rhyhorn), + STILL_FRONT_PIC(RHYDON, gMonStillFrontPic_Rhydon), + STILL_FRONT_PIC(CHANSEY, gMonStillFrontPic_Chansey), + STILL_FRONT_PIC(TANGELA, gMonStillFrontPic_Tangela), + STILL_FRONT_PIC(KANGASKHAN, gMonStillFrontPic_Kangaskhan), + STILL_FRONT_PIC(HORSEA, gMonStillFrontPic_Horsea), + STILL_FRONT_PIC(SEADRA, gMonStillFrontPic_Seadra), + STILL_FRONT_PIC(GOLDEEN, gMonStillFrontPic_Goldeen), + STILL_FRONT_PIC(SEAKING, gMonStillFrontPic_Seaking), + STILL_FRONT_PIC(STARYU, gMonStillFrontPic_Staryu), + STILL_FRONT_PIC(STARMIE, gMonStillFrontPic_Starmie), + STILL_FRONT_PIC(MR_MIME, gMonStillFrontPic_Mrmime), + STILL_FRONT_PIC(SCYTHER, gMonStillFrontPic_Scyther), + STILL_FRONT_PIC(JYNX, gMonStillFrontPic_Jynx), + STILL_FRONT_PIC(ELECTABUZZ, gMonStillFrontPic_Electabuzz), + STILL_FRONT_PIC(MAGMAR, gMonStillFrontPic_Magmar), + STILL_FRONT_PIC(PINSIR, gMonStillFrontPic_Pinsir), + STILL_FRONT_PIC(TAUROS, gMonStillFrontPic_Tauros), + STILL_FRONT_PIC(MAGIKARP, gMonStillFrontPic_Magikarp), + STILL_FRONT_PIC(GYARADOS, gMonStillFrontPic_Gyarados), + STILL_FRONT_PIC(LAPRAS, gMonStillFrontPic_Lapras), + STILL_FRONT_PIC(DITTO, gMonStillFrontPic_Ditto), + STILL_FRONT_PIC(EEVEE, gMonStillFrontPic_Eevee), + STILL_FRONT_PIC(VAPOREON, gMonStillFrontPic_Vaporeon), + STILL_FRONT_PIC(JOLTEON, gMonStillFrontPic_Jolteon), + STILL_FRONT_PIC(FLAREON, gMonStillFrontPic_Flareon), + STILL_FRONT_PIC(PORYGON, gMonStillFrontPic_Porygon), + STILL_FRONT_PIC(OMANYTE, gMonStillFrontPic_Omanyte), + STILL_FRONT_PIC(OMASTAR, gMonStillFrontPic_Omastar), + STILL_FRONT_PIC(KABUTO, gMonStillFrontPic_Kabuto), + STILL_FRONT_PIC(KABUTOPS, gMonStillFrontPic_Kabutops), + STILL_FRONT_PIC(AERODACTYL, gMonStillFrontPic_Aerodactyl), + STILL_FRONT_PIC(SNORLAX, gMonStillFrontPic_Snorlax), + STILL_FRONT_PIC(ARTICUNO, gMonStillFrontPic_Articuno), + STILL_FRONT_PIC(ZAPDOS, gMonStillFrontPic_Zapdos), + STILL_FRONT_PIC(MOLTRES, gMonStillFrontPic_Moltres), + STILL_FRONT_PIC(DRATINI, gMonStillFrontPic_Dratini), + STILL_FRONT_PIC(DRAGONAIR, gMonStillFrontPic_Dragonair), + STILL_FRONT_PIC(DRAGONITE, gMonStillFrontPic_Dragonite), + STILL_FRONT_PIC(MEWTWO, gMonStillFrontPic_Mewtwo), + STILL_FRONT_PIC(MEW, gMonStillFrontPic_Mew), // Gen II - gMonStillFrontPic_Chikorita, 0x800, 152, - gMonStillFrontPic_Bayleef, 0x800, 153, - gMonStillFrontPic_Meganium, 0x800, 154, - gMonStillFrontPic_Cyndaquil, 0x800, 155, - gMonStillFrontPic_Quilava, 0x800, 156, - gMonStillFrontPic_Typhlosion, 0x800, 157, - gMonStillFrontPic_Totodile, 0x800, 158, - gMonStillFrontPic_Croconaw, 0x800, 159, - gMonStillFrontPic_Feraligatr, 0x800, 160, - gMonStillFrontPic_Sentret, 0x800, 161, - gMonStillFrontPic_Furret, 0x800, 162, - gMonStillFrontPic_Hoothoot, 0x800, 163, - gMonStillFrontPic_Noctowl, 0x800, 164, - gMonStillFrontPic_Ledyba, 0x800, 165, - gMonStillFrontPic_Ledian, 0x800, 166, - gMonStillFrontPic_Spinarak, 0x800, 167, - gMonStillFrontPic_Ariados, 0x800, 168, - gMonStillFrontPic_Crobat, 0x800, 169, - gMonStillFrontPic_Chinchou, 0x800, 170, - gMonStillFrontPic_Lanturn, 0x800, 171, - gMonStillFrontPic_Pichu, 0x800, 172, - gMonStillFrontPic_Cleffa, 0x800, 173, - gMonStillFrontPic_Igglybuff, 0x800, 174, - gMonStillFrontPic_Togepi, 0x800, 175, - gMonStillFrontPic_Togetic, 0x800, 176, - gMonStillFrontPic_Natu, 0x800, 177, - gMonStillFrontPic_Xatu, 0x800, 178, - gMonStillFrontPic_Mareep, 0x800, 179, - gMonStillFrontPic_Flaaffy, 0x800, 180, - gMonStillFrontPic_Ampharos, 0x800, 181, - gMonStillFrontPic_Bellossom, 0x800, 182, - gMonStillFrontPic_Marill, 0x800, 183, - gMonStillFrontPic_Azumarill, 0x800, 184, - gMonStillFrontPic_Sudowoodo, 0x800, 185, - gMonStillFrontPic_Politoed, 0x800, 186, - gMonStillFrontPic_Hoppip, 0x800, 187, - gMonStillFrontPic_Skiploom, 0x800, 188, - gMonStillFrontPic_Jumpluff, 0x800, 189, - gMonStillFrontPic_Aipom, 0x800, 190, - gMonStillFrontPic_Sunkern, 0x800, 191, - gMonStillFrontPic_Sunflora, 0x800, 192, - gMonStillFrontPic_Yanma, 0x800, 193, - gMonStillFrontPic_Wooper, 0x800, 194, - gMonStillFrontPic_Quagsire, 0x800, 195, - gMonStillFrontPic_Espeon, 0x800, 196, - gMonStillFrontPic_Umbreon, 0x800, 197, - gMonStillFrontPic_Murkrow, 0x800, 198, - gMonStillFrontPic_Slowking, 0x800, 199, - gMonStillFrontPic_Misdreavus, 0x800, 200, - gMonStillFrontPic_UnownA, 0x800, 201, - gMonStillFrontPic_Wobbuffet, 0x800, 202, - gMonStillFrontPic_Girafarig, 0x800, 203, - gMonStillFrontPic_Pineco, 0x800, 204, - gMonStillFrontPic_Forretress, 0x800, 205, - gMonStillFrontPic_Dunsparce, 0x800, 206, - gMonStillFrontPic_Gligar, 0x800, 207, - gMonStillFrontPic_Steelix, 0x800, 208, - gMonStillFrontPic_Snubbull, 0x800, 209, - gMonStillFrontPic_Granbull, 0x800, 210, - gMonStillFrontPic_Qwilfish, 0x800, 211, - gMonStillFrontPic_Scizor, 0x800, 212, - gMonStillFrontPic_Shuckle, 0x800, 213, - gMonStillFrontPic_Heracross, 0x800, 214, - gMonStillFrontPic_Sneasel, 0x800, 215, - gMonStillFrontPic_Teddiursa, 0x800, 216, - gMonStillFrontPic_Ursaring, 0x800, 217, - gMonStillFrontPic_Slugma, 0x800, 218, - gMonStillFrontPic_Magcargo, 0x800, 219, - gMonStillFrontPic_Swinub, 0x800, 220, - gMonStillFrontPic_Piloswine, 0x800, 221, - gMonStillFrontPic_Corsola, 0x800, 222, - gMonStillFrontPic_Remoraid, 0x800, 223, - gMonStillFrontPic_Octillery, 0x800, 224, - gMonStillFrontPic_Delibird, 0x800, 225, - gMonStillFrontPic_Mantine, 0x800, 226, - gMonStillFrontPic_Skarmory, 0x800, 227, - gMonStillFrontPic_Houndour, 0x800, 228, - gMonStillFrontPic_Houndoom, 0x800, 229, - gMonStillFrontPic_Kingdra, 0x800, 230, - gMonStillFrontPic_Phanpy, 0x800, 231, - gMonStillFrontPic_Donphan, 0x800, 232, - gMonStillFrontPic_Porygon2, 0x800, 233, - gMonStillFrontPic_Stantler, 0x800, 234, - gMonStillFrontPic_Smeargle, 0x800, 235, - gMonStillFrontPic_Tyrogue, 0x800, 236, - gMonStillFrontPic_Hitmontop, 0x800, 237, - gMonStillFrontPic_Smoochum, 0x800, 238, - gMonStillFrontPic_Elekid, 0x800, 239, - gMonStillFrontPic_Magby, 0x800, 240, - gMonStillFrontPic_Miltank, 0x800, 241, - gMonStillFrontPic_Blissey, 0x800, 242, - gMonStillFrontPic_Raikou, 0x800, 243, - gMonStillFrontPic_Entei, 0x800, 244, - gMonStillFrontPic_Suicune, 0x800, 245, - gMonStillFrontPic_Larvitar, 0x800, 246, - gMonStillFrontPic_Pupitar, 0x800, 247, - gMonStillFrontPic_Tyranitar, 0x800, 248, - gMonStillFrontPic_Lugia, 0x800, 249, - gMonStillFrontPic_HoOh, 0x800, 250, - gMonStillFrontPic_Celebi, 0x800, 251, + STILL_FRONT_PIC(CHIKORITA, gMonStillFrontPic_Chikorita), + STILL_FRONT_PIC(BAYLEEF, gMonStillFrontPic_Bayleef), + STILL_FRONT_PIC(MEGANIUM, gMonStillFrontPic_Meganium), + STILL_FRONT_PIC(CYNDAQUIL, gMonStillFrontPic_Cyndaquil), + STILL_FRONT_PIC(QUILAVA, gMonStillFrontPic_Quilava), + STILL_FRONT_PIC(TYPHLOSION, gMonStillFrontPic_Typhlosion), + STILL_FRONT_PIC(TOTODILE, gMonStillFrontPic_Totodile), + STILL_FRONT_PIC(CROCONAW, gMonStillFrontPic_Croconaw), + STILL_FRONT_PIC(FERALIGATR, gMonStillFrontPic_Feraligatr), + STILL_FRONT_PIC(SENTRET, gMonStillFrontPic_Sentret), + STILL_FRONT_PIC(FURRET, gMonStillFrontPic_Furret), + STILL_FRONT_PIC(HOOTHOOT, gMonStillFrontPic_Hoothoot), + STILL_FRONT_PIC(NOCTOWL, gMonStillFrontPic_Noctowl), + STILL_FRONT_PIC(LEDYBA, gMonStillFrontPic_Ledyba), + STILL_FRONT_PIC(LEDIAN, gMonStillFrontPic_Ledian), + STILL_FRONT_PIC(SPINARAK, gMonStillFrontPic_Spinarak), + STILL_FRONT_PIC(ARIADOS, gMonStillFrontPic_Ariados), + STILL_FRONT_PIC(CROBAT, gMonStillFrontPic_Crobat), + STILL_FRONT_PIC(CHINCHOU, gMonStillFrontPic_Chinchou), + STILL_FRONT_PIC(LANTURN, gMonStillFrontPic_Lanturn), + STILL_FRONT_PIC(PICHU, gMonStillFrontPic_Pichu), + STILL_FRONT_PIC(CLEFFA, gMonStillFrontPic_Cleffa), + STILL_FRONT_PIC(IGGLYBUFF, gMonStillFrontPic_Igglybuff), + STILL_FRONT_PIC(TOGEPI, gMonStillFrontPic_Togepi), + STILL_FRONT_PIC(TOGETIC, gMonStillFrontPic_Togetic), + STILL_FRONT_PIC(NATU, gMonStillFrontPic_Natu), + STILL_FRONT_PIC(XATU, gMonStillFrontPic_Xatu), + STILL_FRONT_PIC(MAREEP, gMonStillFrontPic_Mareep), + STILL_FRONT_PIC(FLAAFFY, gMonStillFrontPic_Flaaffy), + STILL_FRONT_PIC(AMPHAROS, gMonStillFrontPic_Ampharos), + STILL_FRONT_PIC(BELLOSSOM, gMonStillFrontPic_Bellossom), + STILL_FRONT_PIC(MARILL, gMonStillFrontPic_Marill), + STILL_FRONT_PIC(AZUMARILL, gMonStillFrontPic_Azumarill), + STILL_FRONT_PIC(SUDOWOODO, gMonStillFrontPic_Sudowoodo), + STILL_FRONT_PIC(POLITOED, gMonStillFrontPic_Politoed), + STILL_FRONT_PIC(HOPPIP, gMonStillFrontPic_Hoppip), + STILL_FRONT_PIC(SKIPLOOM, gMonStillFrontPic_Skiploom), + STILL_FRONT_PIC(JUMPLUFF, gMonStillFrontPic_Jumpluff), + STILL_FRONT_PIC(AIPOM, gMonStillFrontPic_Aipom), + STILL_FRONT_PIC(SUNKERN, gMonStillFrontPic_Sunkern), + STILL_FRONT_PIC(SUNFLORA, gMonStillFrontPic_Sunflora), + STILL_FRONT_PIC(YANMA, gMonStillFrontPic_Yanma), + STILL_FRONT_PIC(WOOPER, gMonStillFrontPic_Wooper), + STILL_FRONT_PIC(QUAGSIRE, gMonStillFrontPic_Quagsire), + STILL_FRONT_PIC(ESPEON, gMonStillFrontPic_Espeon), + STILL_FRONT_PIC(UMBREON, gMonStillFrontPic_Umbreon), + STILL_FRONT_PIC(MURKROW, gMonStillFrontPic_Murkrow), + STILL_FRONT_PIC(SLOWKING, gMonStillFrontPic_Slowking), + STILL_FRONT_PIC(MISDREAVUS, gMonStillFrontPic_Misdreavus), + STILL_FRONT_PIC(UNOWN, gMonStillFrontPic_UnownA), + STILL_FRONT_PIC(WOBBUFFET, gMonStillFrontPic_Wobbuffet), + STILL_FRONT_PIC(GIRAFARIG, gMonStillFrontPic_Girafarig), + STILL_FRONT_PIC(PINECO, gMonStillFrontPic_Pineco), + STILL_FRONT_PIC(FORRETRESS, gMonStillFrontPic_Forretress), + STILL_FRONT_PIC(DUNSPARCE, gMonStillFrontPic_Dunsparce), + STILL_FRONT_PIC(GLIGAR, gMonStillFrontPic_Gligar), + STILL_FRONT_PIC(STEELIX, gMonStillFrontPic_Steelix), + STILL_FRONT_PIC(SNUBBULL, gMonStillFrontPic_Snubbull), + STILL_FRONT_PIC(GRANBULL, gMonStillFrontPic_Granbull), + STILL_FRONT_PIC(QWILFISH, gMonStillFrontPic_Qwilfish), + STILL_FRONT_PIC(SCIZOR, gMonStillFrontPic_Scizor), + STILL_FRONT_PIC(SHUCKLE, gMonStillFrontPic_Shuckle), + STILL_FRONT_PIC(HERACROSS, gMonStillFrontPic_Heracross), + STILL_FRONT_PIC(SNEASEL, gMonStillFrontPic_Sneasel), + STILL_FRONT_PIC(TEDDIURSA, gMonStillFrontPic_Teddiursa), + STILL_FRONT_PIC(URSARING, gMonStillFrontPic_Ursaring), + STILL_FRONT_PIC(SLUGMA, gMonStillFrontPic_Slugma), + STILL_FRONT_PIC(MAGCARGO, gMonStillFrontPic_Magcargo), + STILL_FRONT_PIC(SWINUB, gMonStillFrontPic_Swinub), + STILL_FRONT_PIC(PILOSWINE, gMonStillFrontPic_Piloswine), + STILL_FRONT_PIC(CORSOLA, gMonStillFrontPic_Corsola), + STILL_FRONT_PIC(REMORAID, gMonStillFrontPic_Remoraid), + STILL_FRONT_PIC(OCTILLERY, gMonStillFrontPic_Octillery), + STILL_FRONT_PIC(DELIBIRD, gMonStillFrontPic_Delibird), + STILL_FRONT_PIC(MANTINE, gMonStillFrontPic_Mantine), + STILL_FRONT_PIC(SKARMORY, gMonStillFrontPic_Skarmory), + STILL_FRONT_PIC(HOUNDOUR, gMonStillFrontPic_Houndour), + STILL_FRONT_PIC(HOUNDOOM, gMonStillFrontPic_Houndoom), + STILL_FRONT_PIC(KINGDRA, gMonStillFrontPic_Kingdra), + STILL_FRONT_PIC(PHANPY, gMonStillFrontPic_Phanpy), + STILL_FRONT_PIC(DONPHAN, gMonStillFrontPic_Donphan), + STILL_FRONT_PIC(PORYGON2, gMonStillFrontPic_Porygon2), + STILL_FRONT_PIC(STANTLER, gMonStillFrontPic_Stantler), + STILL_FRONT_PIC(SMEARGLE, gMonStillFrontPic_Smeargle), + STILL_FRONT_PIC(TYROGUE, gMonStillFrontPic_Tyrogue), + STILL_FRONT_PIC(HITMONTOP, gMonStillFrontPic_Hitmontop), + STILL_FRONT_PIC(SMOOCHUM, gMonStillFrontPic_Smoochum), + STILL_FRONT_PIC(ELEKID, gMonStillFrontPic_Elekid), + STILL_FRONT_PIC(MAGBY, gMonStillFrontPic_Magby), + STILL_FRONT_PIC(MILTANK, gMonStillFrontPic_Miltank), + STILL_FRONT_PIC(BLISSEY, gMonStillFrontPic_Blissey), + STILL_FRONT_PIC(RAIKOU, gMonStillFrontPic_Raikou), + STILL_FRONT_PIC(ENTEI, gMonStillFrontPic_Entei), + STILL_FRONT_PIC(SUICUNE, gMonStillFrontPic_Suicune), + STILL_FRONT_PIC(LARVITAR, gMonStillFrontPic_Larvitar), + STILL_FRONT_PIC(PUPITAR, gMonStillFrontPic_Pupitar), + STILL_FRONT_PIC(TYRANITAR, gMonStillFrontPic_Tyranitar), + STILL_FRONT_PIC(LUGIA, gMonStillFrontPic_Lugia), + STILL_FRONT_PIC(HO_OH, gMonStillFrontPic_HoOh), + STILL_FRONT_PIC(CELEBI, gMonStillFrontPic_Celebi), // Empty slots - gMonStillFrontPic_DoubleQuestionMark, 0x800, 252, - gMonStillFrontPic_DoubleQuestionMark, 0x800, 253, - gMonStillFrontPic_DoubleQuestionMark, 0x800, 254, - gMonStillFrontPic_DoubleQuestionMark, 0x800, 255, - gMonStillFrontPic_DoubleQuestionMark, 0x800, 256, - gMonStillFrontPic_DoubleQuestionMark, 0x800, 257, - gMonStillFrontPic_DoubleQuestionMark, 0x800, 258, - gMonStillFrontPic_DoubleQuestionMark, 0x800, 259, - gMonStillFrontPic_DoubleQuestionMark, 0x800, 260, - gMonStillFrontPic_DoubleQuestionMark, 0x800, 261, - gMonStillFrontPic_DoubleQuestionMark, 0x800, 262, - gMonStillFrontPic_DoubleQuestionMark, 0x800, 263, - gMonStillFrontPic_DoubleQuestionMark, 0x800, 264, - gMonStillFrontPic_DoubleQuestionMark, 0x800, 265, - gMonStillFrontPic_DoubleQuestionMark, 0x800, 266, - gMonStillFrontPic_DoubleQuestionMark, 0x800, 267, - gMonStillFrontPic_DoubleQuestionMark, 0x800, 268, - gMonStillFrontPic_DoubleQuestionMark, 0x800, 269, - gMonStillFrontPic_DoubleQuestionMark, 0x800, 270, - gMonStillFrontPic_DoubleQuestionMark, 0x800, 271, - gMonStillFrontPic_DoubleQuestionMark, 0x800, 272, - gMonStillFrontPic_DoubleQuestionMark, 0x800, 273, - gMonStillFrontPic_DoubleQuestionMark, 0x800, 274, - gMonStillFrontPic_DoubleQuestionMark, 0x800, 275, - gMonStillFrontPic_DoubleQuestionMark, 0x800, 276, + STILL_FRONT_PIC(OLD_UNOWN_B, gMonStillFrontPic_DoubleQuestionMark), + STILL_FRONT_PIC(OLD_UNOWN_C, gMonStillFrontPic_DoubleQuestionMark), + STILL_FRONT_PIC(OLD_UNOWN_D, gMonStillFrontPic_DoubleQuestionMark), + STILL_FRONT_PIC(OLD_UNOWN_E, gMonStillFrontPic_DoubleQuestionMark), + STILL_FRONT_PIC(OLD_UNOWN_F, gMonStillFrontPic_DoubleQuestionMark), + STILL_FRONT_PIC(OLD_UNOWN_G, gMonStillFrontPic_DoubleQuestionMark), + STILL_FRONT_PIC(OLD_UNOWN_H, gMonStillFrontPic_DoubleQuestionMark), + STILL_FRONT_PIC(OLD_UNOWN_I, gMonStillFrontPic_DoubleQuestionMark), + STILL_FRONT_PIC(OLD_UNOWN_J, gMonStillFrontPic_DoubleQuestionMark), + STILL_FRONT_PIC(OLD_UNOWN_K, gMonStillFrontPic_DoubleQuestionMark), + STILL_FRONT_PIC(OLD_UNOWN_L, gMonStillFrontPic_DoubleQuestionMark), + STILL_FRONT_PIC(OLD_UNOWN_M, gMonStillFrontPic_DoubleQuestionMark), + STILL_FRONT_PIC(OLD_UNOWN_N, gMonStillFrontPic_DoubleQuestionMark), + STILL_FRONT_PIC(OLD_UNOWN_O, gMonStillFrontPic_DoubleQuestionMark), + STILL_FRONT_PIC(OLD_UNOWN_P, gMonStillFrontPic_DoubleQuestionMark), + STILL_FRONT_PIC(OLD_UNOWN_Q, gMonStillFrontPic_DoubleQuestionMark), + STILL_FRONT_PIC(OLD_UNOWN_R, gMonStillFrontPic_DoubleQuestionMark), + STILL_FRONT_PIC(OLD_UNOWN_S, gMonStillFrontPic_DoubleQuestionMark), + STILL_FRONT_PIC(OLD_UNOWN_T, gMonStillFrontPic_DoubleQuestionMark), + STILL_FRONT_PIC(OLD_UNOWN_U, gMonStillFrontPic_DoubleQuestionMark), + STILL_FRONT_PIC(OLD_UNOWN_V, gMonStillFrontPic_DoubleQuestionMark), + STILL_FRONT_PIC(OLD_UNOWN_W, gMonStillFrontPic_DoubleQuestionMark), + STILL_FRONT_PIC(OLD_UNOWN_X, gMonStillFrontPic_DoubleQuestionMark), + STILL_FRONT_PIC(OLD_UNOWN_Y, gMonStillFrontPic_DoubleQuestionMark), + STILL_FRONT_PIC(OLD_UNOWN_Z, gMonStillFrontPic_DoubleQuestionMark), // Gen III - gMonStillFrontPic_Treecko, 0x800, 277, - gMonStillFrontPic_Grovyle, 0x800, 278, - gMonStillFrontPic_Sceptile, 0x800, 279, - gMonStillFrontPic_Torchic, 0x800, 280, - gMonStillFrontPic_Combusken, 0x800, 281, - gMonStillFrontPic_Blaziken, 0x800, 282, - gMonStillFrontPic_Mudkip, 0x800, 283, - gMonStillFrontPic_Marshtomp, 0x800, 284, - gMonStillFrontPic_Swampert, 0x800, 285, - gMonStillFrontPic_Poochyena, 0x800, 286, - gMonStillFrontPic_Mightyena, 0x800, 287, - gMonStillFrontPic_Zigzagoon, 0x800, 288, - gMonStillFrontPic_Linoone, 0x800, 289, - gMonStillFrontPic_Wurmple, 0x800, 290, - gMonStillFrontPic_Silcoon, 0x800, 291, - gMonStillFrontPic_Beautifly, 0x800, 292, - gMonStillFrontPic_Cascoon, 0x800, 293, - gMonStillFrontPic_Dustox, 0x800, 294, - gMonStillFrontPic_Lotad, 0x800, 295, - gMonStillFrontPic_Lombre, 0x800, 296, - gMonStillFrontPic_Ludicolo, 0x800, 297, - gMonStillFrontPic_Seedot, 0x800, 298, - gMonStillFrontPic_Nuzleaf, 0x800, 299, - gMonStillFrontPic_Shiftry, 0x800, 300, - gMonStillFrontPic_Nincada, 0x800, 301, - gMonStillFrontPic_Ninjask, 0x800, 302, - gMonStillFrontPic_Shedinja, 0x800, 303, - gMonStillFrontPic_Taillow, 0x800, 304, - gMonStillFrontPic_Swellow, 0x800, 305, - gMonStillFrontPic_Shroomish, 0x800, 306, - gMonStillFrontPic_Breloom, 0x800, 307, - gMonStillFrontPic_Spinda, 0x800, 308, - gMonStillFrontPic_Wingull, 0x800, 309, - gMonStillFrontPic_Pelipper, 0x800, 310, - gMonStillFrontPic_Surskit, 0x800, 311, - gMonStillFrontPic_Masquerain, 0x800, 312, - gMonStillFrontPic_Wailmer, 0x800, 313, - gMonStillFrontPic_Wailord, 0x800, 314, - gMonStillFrontPic_Skitty, 0x800, 315, - gMonStillFrontPic_Delcatty, 0x800, 316, - gMonStillFrontPic_Kecleon, 0x800, 317, - gMonStillFrontPic_Baltoy, 0x800, 318, - gMonStillFrontPic_Claydol, 0x800, 319, - gMonStillFrontPic_Nosepass, 0x800, 320, - gMonStillFrontPic_Torkoal, 0x800, 321, - gMonStillFrontPic_Sableye, 0x800, 322, - gMonStillFrontPic_Barboach, 0x800, 323, - gMonStillFrontPic_Whiscash, 0x800, 324, - gMonStillFrontPic_Luvdisc, 0x800, 325, - gMonStillFrontPic_Corphish, 0x800, 326, - gMonStillFrontPic_Crawdaunt, 0x800, 327, - gMonStillFrontPic_Feebas, 0x800, 328, - gMonStillFrontPic_Milotic, 0x800, 329, - gMonStillFrontPic_Carvanha, 0x800, 330, - gMonStillFrontPic_Sharpedo, 0x800, 331, - gMonStillFrontPic_Trapinch, 0x800, 332, - gMonStillFrontPic_Vibrava, 0x800, 333, - gMonStillFrontPic_Flygon, 0x800, 334, - gMonStillFrontPic_Makuhita, 0x800, 335, - gMonStillFrontPic_Hariyama, 0x800, 336, - gMonStillFrontPic_Electrike, 0x800, 337, - gMonStillFrontPic_Manectric, 0x800, 338, - gMonStillFrontPic_Numel, 0x800, 339, - gMonStillFrontPic_Camerupt, 0x800, 340, - gMonStillFrontPic_Spheal, 0x800, 341, - gMonStillFrontPic_Sealeo, 0x800, 342, - gMonStillFrontPic_Walrein, 0x800, 343, - gMonStillFrontPic_Cacnea, 0x800, 344, - gMonStillFrontPic_Cacturne, 0x800, 345, - gMonStillFrontPic_Snorunt, 0x800, 346, - gMonStillFrontPic_Glalie, 0x800, 347, - gMonStillFrontPic_Lunatone, 0x800, 348, - gMonStillFrontPic_Solrock, 0x800, 349, - gMonStillFrontPic_Azurill, 0x800, 350, - gMonStillFrontPic_Spoink, 0x800, 351, - gMonStillFrontPic_Grumpig, 0x800, 352, - gMonStillFrontPic_Plusle, 0x800, 353, - gMonStillFrontPic_Minun, 0x800, 354, - gMonStillFrontPic_Mawile, 0x800, 355, - gMonStillFrontPic_Meditite, 0x800, 356, - gMonStillFrontPic_Medicham, 0x800, 357, - gMonStillFrontPic_Swablu, 0x800, 358, - gMonStillFrontPic_Altaria, 0x800, 359, - gMonStillFrontPic_Wynaut, 0x800, 360, - gMonStillFrontPic_Duskull, 0x800, 361, - gMonStillFrontPic_Dusclops, 0x800, 362, - gMonStillFrontPic_Roselia, 0x800, 363, - gMonStillFrontPic_Slakoth, 0x800, 364, - gMonStillFrontPic_Vigoroth, 0x800, 365, - gMonStillFrontPic_Slaking, 0x800, 366, - gMonStillFrontPic_Gulpin, 0x800, 367, - gMonStillFrontPic_Swalot, 0x800, 368, - gMonStillFrontPic_Tropius, 0x800, 369, - gMonStillFrontPic_Whismur, 0x800, 370, - gMonStillFrontPic_Loudred, 0x800, 371, - gMonStillFrontPic_Exploud, 0x800, 372, - gMonStillFrontPic_Clamperl, 0x800, 373, - gMonStillFrontPic_Huntail, 0x800, 374, - gMonStillFrontPic_Gorebyss, 0x800, 375, - gMonStillFrontPic_Absol, 0x800, 376, - gMonStillFrontPic_Shuppet, 0x800, 377, - gMonStillFrontPic_Banette, 0x800, 378, - gMonStillFrontPic_Seviper, 0x800, 379, - gMonStillFrontPic_Zangoose, 0x800, 380, - gMonStillFrontPic_Relicanth, 0x800, 381, - gMonStillFrontPic_Aron, 0x800, 382, - gMonStillFrontPic_Lairon, 0x800, 383, - gMonStillFrontPic_Aggron, 0x800, 384, - gMonStillFrontPic_Castform, 0x800, 385, - gMonStillFrontPic_Volbeat, 0x800, 386, - gMonStillFrontPic_Illumise, 0x800, 387, - gMonStillFrontPic_Lileep, 0x800, 388, - gMonStillFrontPic_Cradily, 0x800, 389, - gMonStillFrontPic_Anorith, 0x800, 390, - gMonStillFrontPic_Armaldo, 0x800, 391, - gMonStillFrontPic_Ralts, 0x800, 392, - gMonStillFrontPic_Kirlia, 0x800, 393, - gMonStillFrontPic_Gardevoir, 0x800, 394, - gMonStillFrontPic_Bagon, 0x800, 395, - gMonStillFrontPic_Shelgon, 0x800, 396, - gMonStillFrontPic_Salamence, 0x800, 397, - gMonStillFrontPic_Beldum, 0x800, 398, - gMonStillFrontPic_Metang, 0x800, 399, - gMonStillFrontPic_Metagross, 0x800, 400, - gMonStillFrontPic_Regirock, 0x800, 401, - gMonStillFrontPic_Regice, 0x800, 402, - gMonStillFrontPic_Registeel, 0x800, 403, - gMonStillFrontPic_Kyogre, 0x800, 404, - gMonStillFrontPic_Groudon, 0x800, 405, - gMonStillFrontPic_Rayquaza, 0x800, 406, - gMonStillFrontPic_Latias, 0x800, 407, - gMonStillFrontPic_Latios, 0x800, 408, - gMonStillFrontPic_Jirachi, 0x800, 409, - gMonStillFrontPic_Deoxys, 0x800, 410, - gMonStillFrontPic_Chimecho, 0x800, 411, - gMonStillFrontPic_Egg, 0x800, 412, - gMonStillFrontPic_UnownB, 0x800, 413, - gMonStillFrontPic_UnownC, 0x800, 414, - gMonStillFrontPic_UnownD, 0x800, 415, - gMonStillFrontPic_UnownE, 0x800, 416, - gMonStillFrontPic_UnownF, 0x800, 417, - gMonStillFrontPic_UnownG, 0x800, 418, - gMonStillFrontPic_UnownH, 0x800, 419, - gMonStillFrontPic_UnownI, 0x800, 420, - gMonStillFrontPic_UnownJ, 0x800, 421, - gMonStillFrontPic_UnownK, 0x800, 422, - gMonStillFrontPic_UnownL, 0x800, 423, - gMonStillFrontPic_UnownM, 0x800, 424, - gMonStillFrontPic_UnownN, 0x800, 425, - gMonStillFrontPic_UnownO, 0x800, 426, - gMonStillFrontPic_UnownP, 0x800, 427, - gMonStillFrontPic_UnownQ, 0x800, 428, - gMonStillFrontPic_UnownR, 0x800, 429, - gMonStillFrontPic_UnownS, 0x800, 430, - gMonStillFrontPic_UnownT, 0x800, 431, - gMonStillFrontPic_UnownU, 0x800, 432, - gMonStillFrontPic_UnownV, 0x800, 433, - gMonStillFrontPic_UnownW, 0x800, 434, - gMonStillFrontPic_UnownX, 0x800, 435, - gMonStillFrontPic_UnownY, 0x800, 436, - gMonStillFrontPic_UnownZ, 0x800, 437, - gMonStillFrontPic_UnownExclamationMark, 0x800, 438, - gMonStillFrontPic_UnownQuestionMark, 0x800, 439, + STILL_FRONT_PIC(TREECKO, gMonStillFrontPic_Treecko), + STILL_FRONT_PIC(GROVYLE, gMonStillFrontPic_Grovyle), + STILL_FRONT_PIC(SCEPTILE, gMonStillFrontPic_Sceptile), + STILL_FRONT_PIC(TORCHIC, gMonStillFrontPic_Torchic), + STILL_FRONT_PIC(COMBUSKEN, gMonStillFrontPic_Combusken), + STILL_FRONT_PIC(BLAZIKEN, gMonStillFrontPic_Blaziken), + STILL_FRONT_PIC(MUDKIP, gMonStillFrontPic_Mudkip), + STILL_FRONT_PIC(MARSHTOMP, gMonStillFrontPic_Marshtomp), + STILL_FRONT_PIC(SWAMPERT, gMonStillFrontPic_Swampert), + STILL_FRONT_PIC(POOCHYENA, gMonStillFrontPic_Poochyena), + STILL_FRONT_PIC(MIGHTYENA, gMonStillFrontPic_Mightyena), + STILL_FRONT_PIC(ZIGZAGOON, gMonStillFrontPic_Zigzagoon), + STILL_FRONT_PIC(LINOONE, gMonStillFrontPic_Linoone), + STILL_FRONT_PIC(WURMPLE, gMonStillFrontPic_Wurmple), + STILL_FRONT_PIC(SILCOON, gMonStillFrontPic_Silcoon), + STILL_FRONT_PIC(BEAUTIFLY, gMonStillFrontPic_Beautifly), + STILL_FRONT_PIC(CASCOON, gMonStillFrontPic_Cascoon), + STILL_FRONT_PIC(DUSTOX, gMonStillFrontPic_Dustox), + STILL_FRONT_PIC(LOTAD, gMonStillFrontPic_Lotad), + STILL_FRONT_PIC(LOMBRE, gMonStillFrontPic_Lombre), + STILL_FRONT_PIC(LUDICOLO, gMonStillFrontPic_Ludicolo), + STILL_FRONT_PIC(SEEDOT, gMonStillFrontPic_Seedot), + STILL_FRONT_PIC(NUZLEAF, gMonStillFrontPic_Nuzleaf), + STILL_FRONT_PIC(SHIFTRY, gMonStillFrontPic_Shiftry), + STILL_FRONT_PIC(NINCADA, gMonStillFrontPic_Nincada), + STILL_FRONT_PIC(NINJASK, gMonStillFrontPic_Ninjask), + STILL_FRONT_PIC(SHEDINJA, gMonStillFrontPic_Shedinja), + STILL_FRONT_PIC(TAILLOW, gMonStillFrontPic_Taillow), + STILL_FRONT_PIC(SWELLOW, gMonStillFrontPic_Swellow), + STILL_FRONT_PIC(SHROOMISH, gMonStillFrontPic_Shroomish), + STILL_FRONT_PIC(BRELOOM, gMonStillFrontPic_Breloom), + STILL_FRONT_PIC(SPINDA, gMonStillFrontPic_Spinda), + STILL_FRONT_PIC(WINGULL, gMonStillFrontPic_Wingull), + STILL_FRONT_PIC(PELIPPER, gMonStillFrontPic_Pelipper), + STILL_FRONT_PIC(SURSKIT, gMonStillFrontPic_Surskit), + STILL_FRONT_PIC(MASQUERAIN, gMonStillFrontPic_Masquerain), + STILL_FRONT_PIC(WAILMER, gMonStillFrontPic_Wailmer), + STILL_FRONT_PIC(WAILORD, gMonStillFrontPic_Wailord), + STILL_FRONT_PIC(SKITTY, gMonStillFrontPic_Skitty), + STILL_FRONT_PIC(DELCATTY, gMonStillFrontPic_Delcatty), + STILL_FRONT_PIC(KECLEON, gMonStillFrontPic_Kecleon), + STILL_FRONT_PIC(BALTOY, gMonStillFrontPic_Baltoy), + STILL_FRONT_PIC(CLAYDOL, gMonStillFrontPic_Claydol), + STILL_FRONT_PIC(NOSEPASS, gMonStillFrontPic_Nosepass), + STILL_FRONT_PIC(TORKOAL, gMonStillFrontPic_Torkoal), + STILL_FRONT_PIC(SABLEYE, gMonStillFrontPic_Sableye), + STILL_FRONT_PIC(BARBOACH, gMonStillFrontPic_Barboach), + STILL_FRONT_PIC(WHISCASH, gMonStillFrontPic_Whiscash), + STILL_FRONT_PIC(LUVDISC, gMonStillFrontPic_Luvdisc), + STILL_FRONT_PIC(CORPHISH, gMonStillFrontPic_Corphish), + STILL_FRONT_PIC(CRAWDAUNT, gMonStillFrontPic_Crawdaunt), + STILL_FRONT_PIC(FEEBAS, gMonStillFrontPic_Feebas), + STILL_FRONT_PIC(MILOTIC, gMonStillFrontPic_Milotic), + STILL_FRONT_PIC(CARVANHA, gMonStillFrontPic_Carvanha), + STILL_FRONT_PIC(SHARPEDO, gMonStillFrontPic_Sharpedo), + STILL_FRONT_PIC(TRAPINCH, gMonStillFrontPic_Trapinch), + STILL_FRONT_PIC(VIBRAVA, gMonStillFrontPic_Vibrava), + STILL_FRONT_PIC(FLYGON, gMonStillFrontPic_Flygon), + STILL_FRONT_PIC(MAKUHITA, gMonStillFrontPic_Makuhita), + STILL_FRONT_PIC(HARIYAMA, gMonStillFrontPic_Hariyama), + STILL_FRONT_PIC(ELECTRIKE, gMonStillFrontPic_Electrike), + STILL_FRONT_PIC(MANECTRIC, gMonStillFrontPic_Manectric), + STILL_FRONT_PIC(NUMEL, gMonStillFrontPic_Numel), + STILL_FRONT_PIC(CAMERUPT, gMonStillFrontPic_Camerupt), + STILL_FRONT_PIC(SPHEAL, gMonStillFrontPic_Spheal), + STILL_FRONT_PIC(SEALEO, gMonStillFrontPic_Sealeo), + STILL_FRONT_PIC(WALREIN, gMonStillFrontPic_Walrein), + STILL_FRONT_PIC(CACNEA, gMonStillFrontPic_Cacnea), + STILL_FRONT_PIC(CACTURNE, gMonStillFrontPic_Cacturne), + STILL_FRONT_PIC(SNORUNT, gMonStillFrontPic_Snorunt), + STILL_FRONT_PIC(GLALIE, gMonStillFrontPic_Glalie), + STILL_FRONT_PIC(LUNATONE, gMonStillFrontPic_Lunatone), + STILL_FRONT_PIC(SOLROCK, gMonStillFrontPic_Solrock), + STILL_FRONT_PIC(AZURILL, gMonStillFrontPic_Azurill), + STILL_FRONT_PIC(SPOINK, gMonStillFrontPic_Spoink), + STILL_FRONT_PIC(GRUMPIG, gMonStillFrontPic_Grumpig), + STILL_FRONT_PIC(PLUSLE, gMonStillFrontPic_Plusle), + STILL_FRONT_PIC(MINUN, gMonStillFrontPic_Minun), + STILL_FRONT_PIC(MAWILE, gMonStillFrontPic_Mawile), + STILL_FRONT_PIC(MEDITITE, gMonStillFrontPic_Meditite), + STILL_FRONT_PIC(MEDICHAM, gMonStillFrontPic_Medicham), + STILL_FRONT_PIC(SWABLU, gMonStillFrontPic_Swablu), + STILL_FRONT_PIC(ALTARIA, gMonStillFrontPic_Altaria), + STILL_FRONT_PIC(WYNAUT, gMonStillFrontPic_Wynaut), + STILL_FRONT_PIC(DUSKULL, gMonStillFrontPic_Duskull), + STILL_FRONT_PIC(DUSCLOPS, gMonStillFrontPic_Dusclops), + STILL_FRONT_PIC(ROSELIA, gMonStillFrontPic_Roselia), + STILL_FRONT_PIC(SLAKOTH, gMonStillFrontPic_Slakoth), + STILL_FRONT_PIC(VIGOROTH, gMonStillFrontPic_Vigoroth), + STILL_FRONT_PIC(SLAKING, gMonStillFrontPic_Slaking), + STILL_FRONT_PIC(GULPIN, gMonStillFrontPic_Gulpin), + STILL_FRONT_PIC(SWALOT, gMonStillFrontPic_Swalot), + STILL_FRONT_PIC(TROPIUS, gMonStillFrontPic_Tropius), + STILL_FRONT_PIC(WHISMUR, gMonStillFrontPic_Whismur), + STILL_FRONT_PIC(LOUDRED, gMonStillFrontPic_Loudred), + STILL_FRONT_PIC(EXPLOUD, gMonStillFrontPic_Exploud), + STILL_FRONT_PIC(CLAMPERL, gMonStillFrontPic_Clamperl), + STILL_FRONT_PIC(HUNTAIL, gMonStillFrontPic_Huntail), + STILL_FRONT_PIC(GOREBYSS, gMonStillFrontPic_Gorebyss), + STILL_FRONT_PIC(ABSOL, gMonStillFrontPic_Absol), + STILL_FRONT_PIC(SHUPPET, gMonStillFrontPic_Shuppet), + STILL_FRONT_PIC(BANETTE, gMonStillFrontPic_Banette), + STILL_FRONT_PIC(SEVIPER, gMonStillFrontPic_Seviper), + STILL_FRONT_PIC(ZANGOOSE, gMonStillFrontPic_Zangoose), + STILL_FRONT_PIC(RELICANTH, gMonStillFrontPic_Relicanth), + STILL_FRONT_PIC(ARON, gMonStillFrontPic_Aron), + STILL_FRONT_PIC(LAIRON, gMonStillFrontPic_Lairon), + STILL_FRONT_PIC(AGGRON, gMonStillFrontPic_Aggron), + STILL_FRONT_PIC(CASTFORM, gMonStillFrontPic_Castform), + STILL_FRONT_PIC(VOLBEAT, gMonStillFrontPic_Volbeat), + STILL_FRONT_PIC(ILLUMISE, gMonStillFrontPic_Illumise), + STILL_FRONT_PIC(LILEEP, gMonStillFrontPic_Lileep), + STILL_FRONT_PIC(CRADILY, gMonStillFrontPic_Cradily), + STILL_FRONT_PIC(ANORITH, gMonStillFrontPic_Anorith), + STILL_FRONT_PIC(ARMALDO, gMonStillFrontPic_Armaldo), + STILL_FRONT_PIC(RALTS, gMonStillFrontPic_Ralts), + STILL_FRONT_PIC(KIRLIA, gMonStillFrontPic_Kirlia), + STILL_FRONT_PIC(GARDEVOIR, gMonStillFrontPic_Gardevoir), + STILL_FRONT_PIC(BAGON, gMonStillFrontPic_Bagon), + STILL_FRONT_PIC(SHELGON, gMonStillFrontPic_Shelgon), + STILL_FRONT_PIC(SALAMENCE, gMonStillFrontPic_Salamence), + STILL_FRONT_PIC(BELDUM, gMonStillFrontPic_Beldum), + STILL_FRONT_PIC(METANG, gMonStillFrontPic_Metang), + STILL_FRONT_PIC(METAGROSS, gMonStillFrontPic_Metagross), + STILL_FRONT_PIC(REGIROCK, gMonStillFrontPic_Regirock), + STILL_FRONT_PIC(REGICE, gMonStillFrontPic_Regice), + STILL_FRONT_PIC(REGISTEEL, gMonStillFrontPic_Registeel), + STILL_FRONT_PIC(KYOGRE, gMonStillFrontPic_Kyogre), + STILL_FRONT_PIC(GROUDON, gMonStillFrontPic_Groudon), + STILL_FRONT_PIC(RAYQUAZA, gMonStillFrontPic_Rayquaza), + STILL_FRONT_PIC(LATIAS, gMonStillFrontPic_Latias), + STILL_FRONT_PIC(LATIOS, gMonStillFrontPic_Latios), + STILL_FRONT_PIC(JIRACHI, gMonStillFrontPic_Jirachi), + STILL_FRONT_PIC(DEOXYS, gMonStillFrontPic_Deoxys), + STILL_FRONT_PIC(CHIMECHO, gMonStillFrontPic_Chimecho), + STILL_FRONT_PIC(EGG, gMonStillFrontPic_Egg), + STILL_FRONT_PIC(UNOWN_B, gMonStillFrontPic_UnownB), + STILL_FRONT_PIC(UNOWN_C, gMonStillFrontPic_UnownC), + STILL_FRONT_PIC(UNOWN_D, gMonStillFrontPic_UnownD), + STILL_FRONT_PIC(UNOWN_E, gMonStillFrontPic_UnownE), + STILL_FRONT_PIC(UNOWN_F, gMonStillFrontPic_UnownF), + STILL_FRONT_PIC(UNOWN_G, gMonStillFrontPic_UnownG), + STILL_FRONT_PIC(UNOWN_H, gMonStillFrontPic_UnownH), + STILL_FRONT_PIC(UNOWN_I, gMonStillFrontPic_UnownI), + STILL_FRONT_PIC(UNOWN_J, gMonStillFrontPic_UnownJ), + STILL_FRONT_PIC(UNOWN_K, gMonStillFrontPic_UnownK), + STILL_FRONT_PIC(UNOWN_L, gMonStillFrontPic_UnownL), + STILL_FRONT_PIC(UNOWN_M, gMonStillFrontPic_UnownM), + STILL_FRONT_PIC(UNOWN_N, gMonStillFrontPic_UnownN), + STILL_FRONT_PIC(UNOWN_O, gMonStillFrontPic_UnownO), + STILL_FRONT_PIC(UNOWN_P, gMonStillFrontPic_UnownP), + STILL_FRONT_PIC(UNOWN_Q, gMonStillFrontPic_UnownQ), + STILL_FRONT_PIC(UNOWN_R, gMonStillFrontPic_UnownR), + STILL_FRONT_PIC(UNOWN_S, gMonStillFrontPic_UnownS), + STILL_FRONT_PIC(UNOWN_T, gMonStillFrontPic_UnownT), + STILL_FRONT_PIC(UNOWN_U, gMonStillFrontPic_UnownU), + STILL_FRONT_PIC(UNOWN_V, gMonStillFrontPic_UnownV), + STILL_FRONT_PIC(UNOWN_W, gMonStillFrontPic_UnownW), + STILL_FRONT_PIC(UNOWN_X, gMonStillFrontPic_UnownX), + STILL_FRONT_PIC(UNOWN_Y, gMonStillFrontPic_UnownY), + STILL_FRONT_PIC(UNOWN_Z, gMonStillFrontPic_UnownZ), + STILL_FRONT_PIC(UNOWN_EMARK, gMonStillFrontPic_UnownExclamationMark), + STILL_FRONT_PIC(UNOWN_QMARK, gMonStillFrontPic_UnownQuestionMark), }; diff --git a/src/event_object_movement.c b/src/event_object_movement.c index ef125e564..ffa8f53c9 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -1144,7 +1144,7 @@ u8 GetFirstInactiveEventObjectId(void) u8 GetEventObjectIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroupId) { - if (localId < 0xFF) + if (localId < EVENT_OBJ_ID_PLAYER) { return GetEventObjectIdByLocalIdAndMapInternal(localId, mapNum, mapGroupId); } diff --git a/src/field_specials.c b/src/field_specials.c index 3a50e272e..3f945fcfb 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -1279,17 +1279,17 @@ void IsGrassTypeInParty(void) gSpecialVar_Result = FALSE; } -void SpawnScriptEventObject(void) +void SpawnCameraObject(void) { - u8 obj = SpawnSpecialEventObjectParameterized(EVENT_OBJ_GFX_BOY_1, 8, 0x7F, gSaveBlock1Ptr->pos.x + 7, gSaveBlock1Ptr->pos.y + 7, 3); + u8 obj = SpawnSpecialEventObjectParameterized(EVENT_OBJ_GFX_BOY_1, 8, EVENT_OBJ_ID_CAMERA, gSaveBlock1Ptr->pos.x + 7, gSaveBlock1Ptr->pos.y + 7, 3); gEventObjects[obj].invisible = TRUE; CameraObjectSetFollowedObjectId(gEventObjects[obj].spriteId); } -void RemoveScriptEventObject(void) +void RemoveCameraObject(void) { CameraObjectSetFollowedObjectId(GetPlayerAvatarObjectId()); - RemoveEventObjectByLocalIdAndMap(0x7F, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + RemoveEventObjectByLocalIdAndMap(EVENT_OBJ_ID_CAMERA, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); } u8 GetPokeblockNameByMonNature(void) diff --git a/src/graphics.c b/src/graphics.c index b2de074bc..c0deb2883 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -897,9 +897,9 @@ const u32 gBattleStatMask6_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat6 const u32 gBattleStatMask7_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat7.gbapal.lz"); const u32 gBattleStatMask8_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat8.gbapal.lz"); -const u32 gUnknown_08C2DC68[] = INCBIN_U32("graphics/battle_anims/masks/cure_bubbles.4bpp.lz"); -const u32 gUnknown_08C2DDA4[] = INCBIN_U32("graphics/battle_anims/masks/cure_bubbles.gbapal.lz"); -const u32 gUnknown_08C2DDC4[] = INCBIN_U32("graphics/battle_anims/masks/cure_bubbles.bin.lz"); +const u8 gUnknown_08C2DC68[] = INCBIN_U8("graphics/battle_anims/masks/cure_bubbles.4bpp.lz"); +const u16 gUnknown_08C2DDA4[] = INCBIN_U16("graphics/battle_anims/masks/cure_bubbles.gbapal.lz"); +const u8 gUnknown_08C2DDC4[] = INCBIN_U8("graphics/battle_anims/masks/cure_bubbles.bin.lz"); const u32 gBattleAnimSpritePalette_245[] = INCBIN_U32("graphics/battle_anims/sprites/245.gbapal.lz"); const u32 gBattleAnimSpriteSheet_245[] = INCBIN_U32("graphics/battle_anims/sprites/245.4bpp.lz"); diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c index ad5673036..f7792e935 100644 --- a/src/hall_of_fame.c +++ b/src/hall_of_fame.c @@ -497,7 +497,7 @@ static void Task_Hof_InitTeamSaveData(u8 taskId) for (i = 0; i < HALL_OF_FAME_MAX_TEAMS; i++, lastSavedTeam++) { - if (lastSavedTeam->mon[0].species == 0) + if (lastSavedTeam->mon[0].species == SPECIES_NONE) break; } if (i >= HALL_OF_FAME_MAX_TEAMS) diff --git a/src/pokemon.c b/src/pokemon.c index 14b4ea388..640d70776 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -5929,13 +5929,13 @@ u16 HoennToNationalOrder(u16 hoennNum) u16 SpeciesToCryId(u16 species) { - if (species <= 250) + if (species <= SPECIES_CELEBI - 1) return species; - if (species < 276) - return 200; + if (species < SPECIES_TREECKO - 1) + return SPECIES_UNOWN - 1; - return gSpeciesIdToCryId[species - 276]; + return gSpeciesIdToCryId[species - (SPECIES_TREECKO - 1)]; } void sub_806D544(u16 species, u32 personality, u8 *dest) @@ -3231,7 +3231,7 @@ u16 TV_GetSomeOtherSpeciesAlreadySeenByPlayer(u16 passedSpecies) initSpecies = species; while (GetSetPokedexFlag(SpeciesToNationalPokedexNum(species), FLAG_GET_SEEN) != TRUE || species == passedSpecies) { - if (species == 1) + if (species == SPECIES_NONE + 1) { species = NUM_SPECIES - 1; } diff --git a/src/water.c b/src/water.c index 955526ccd..fd31b324a 100644 --- a/src/water.c +++ b/src/water.c @@ -1,21 +1,60 @@ #include "global.h" +#include "battle.h" #include "battle_anim.h" +#include "gpu_regs.h" +#include "graphics.h" +#include "palette.h" +#include "random.h" +#include "scanline_effect.h" +#include "sprite.h" +#include "task.h" +#include "trig.h" +#include "util.h" +#include "constants/battle.h" #include "constants/rgb.h" extern void sub_810721C(struct Sprite *); +extern void sub_8107228(struct Sprite *); extern void sub_8107260(struct Sprite *); +extern void sub_8107380(struct Sprite *); +extern void sub_8107408(struct Sprite *); +extern void sub_8107430(struct Sprite *); extern void sub_810744C(struct Sprite *); +extern void sub_81074E4(struct Sprite *); extern void sub_81075EC(struct Sprite *); +extern void sub_8107674(struct Sprite *); extern void sub_8107730(struct Sprite *); +extern void sub_81077A4(struct Sprite *); extern void sub_81077C0(struct Sprite *); extern void sub_80A78AC(struct Sprite *); extern void sub_8107894(struct Sprite *); extern void sub_81078D0(struct Sprite *); +extern void sub_810790C(struct Sprite *); extern void sub_8108034(struct Sprite *); +extern void sub_8108098(struct Sprite *); extern void sub_810851C(struct Sprite *); +extern void sub_81087C0(struct Sprite *); +extern void sub_810886C(struct Sprite *); +extern void sub_8108B2C(struct Sprite *); +extern void sub_8108B94(struct Sprite *); extern void sub_8108BE0(struct Sprite *); +extern void sub_8108C08(struct Sprite *); extern void sub_8108C54(struct Sprite *); +extern void sub_8108CDC(struct Sprite *); extern void sub_80A8EE4(struct Sprite *); +void sub_810756C(u8); +void sub_81076F4(u8); +void sub_8107B84(u8); +void sub_8107CC4(u8); +void sub_8107D58(u8); +void sub_8108140(u8); +void sub_810862C(u8); +void sub_8108978(u8); +u8 sub_8108384(void); +void sub_8108408(struct Task*, u8); +void sub_810871C(struct Task*, u8); +void sub_8108AC0(struct Task*); +void sub_8108D54(struct Sprite*, int, int); extern const union AffineAnimCmd *const gUnknown_08593420[]; extern const union AffineAnimCmd *const gUnknown_08596208[]; @@ -440,3 +479,2149 @@ const struct SpriteTemplate gUnknown_08595328 = .affineAnims = gUnknown_085952F4, .callback = sub_80A8EE4, }; + +extern const struct SpriteTemplate gUnknown_08597388; + +void AnimTask_CreateRaindrops(u8 taskId) +{ + u8 x, y; + + if (gTasks[taskId].data[0] == 0) + { + gTasks[taskId].data[1] = gBattleAnimArgs[0]; + gTasks[taskId].data[2] = gBattleAnimArgs[1]; + gTasks[taskId].data[3] = gBattleAnimArgs[2]; + } + gTasks[taskId].data[0]++; + if (gTasks[taskId].data[0] % gTasks[taskId].data[2] == 1) + { + x = Random2() % 240; + y = Random2() % 80; + CreateSprite(&gUnknown_08595020, x, y, 4); + } + if (gTasks[taskId].data[0] == gTasks[taskId].data[3]) + DestroyAnimVisualTask(taskId); +} + +void sub_810721C(struct Sprite *sprite) +{ + sprite->callback = sub_8107228; +} + +void sub_8107228(struct Sprite *sprite) +{ + if (++sprite->data[0] <= 13) + { + sprite->pos2.x++; + sprite->pos2.y += 4; + } + if (sprite->animEnded) + DestroySprite(sprite); +} + +void sub_8107260(struct Sprite *sprite) +{ + u8 spriteId; + + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) + { + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) - gBattleAnimArgs[0]; + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[1]; + sprite->animPaused = TRUE; + } + else + { + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[0]; + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[1]; + sprite->animPaused = TRUE; + } + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) + gBattleAnimArgs[2] = -gBattleAnimArgs[2]; + sprite->data[0] = gBattleAnimArgs[6]; + sprite->data[1] = sprite->pos1.x; + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2); + sprite->data[3] = sprite->pos1.y; + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3); + InitAnimLinearTranslation(sprite); + spriteId = CreateInvisibleSpriteWithCallback(SpriteCallbackDummy); + sprite->data[5] = spriteId; + sprite->pos1.x -= Sin((u8)gBattleAnimArgs[4], gBattleAnimArgs[2]); + sprite->pos1.y -= Cos((u8)gBattleAnimArgs[4], gBattleAnimArgs[3]); + gSprites[spriteId].data[0] = gBattleAnimArgs[2]; + gSprites[spriteId].data[1] = gBattleAnimArgs[3]; + gSprites[spriteId].data[2] = gBattleAnimArgs[5]; + gSprites[spriteId].data[3] = (u8)gBattleAnimArgs[4] * 256; + gSprites[spriteId].data[4] = gBattleAnimArgs[6]; + sprite->callback = sub_8107380; + sprite->callback(sprite); +} + +void sub_8107380(struct Sprite *sprite) +{ + u8 otherSpriteId = sprite->data[5]; + u8 timer = gSprites[otherSpriteId].data[4]; + u16 trigIndex = gSprites[otherSpriteId].data[3]; + + sprite->data[0] = 1; + TranslateAnimLinear(sprite); + sprite->pos2.x += Sin(trigIndex >> 8, gSprites[otherSpriteId].data[0]); + sprite->pos2.y += Cos(trigIndex >> 8, gSprites[otherSpriteId].data[1]); + gSprites[otherSpriteId].data[3] = trigIndex + gSprites[otherSpriteId].data[2]; + if (--timer != 0) + { + gSprites[otherSpriteId].data[4] = timer; + } + else + { + sprite->callback = sub_8107408; + DestroySprite(&gSprites[otherSpriteId]); + } +} + +void sub_8107408(struct Sprite *sprite) +{ + sprite->animPaused = FALSE; + sprite->callback = RunStoredCallbackWhenAnimEnds; + StoreSpriteCallbackInData6(sprite, sub_8107430); +} + +void sub_8107430(struct Sprite *sprite) +{ + sprite->data[0] = 10; + sprite->callback = WaitAnimForDuration; + StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix); +} + +void sub_810744C(struct Sprite *sprite) +{ + s16 unkArg; + + InitAnimSpritePos(sprite, TRUE); + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) + unkArg = -gBattleAnimArgs[2]; + else + unkArg = gBattleAnimArgs[2]; + sprite->data[0] = gBattleAnimArgs[4]; + sprite->data[1] = sprite->pos1.x; + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + unkArg; + sprite->data[3] = sprite->pos1.y; + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3]; + InitAnimLinearTranslation(sprite); + sprite->callback = sub_81074E4; + sprite->affineAnimPaused = TRUE; + sprite->callback(sprite); +} + +void sub_81074E4(struct Sprite *sprite) +{ + if ((u16)gBattleAnimArgs[ARG_RET_ID] == 0xFFFF) + { + StartSpriteAnim(sprite, 1); + sprite->affineAnimPaused = FALSE; + } + if (TranslateAnimLinear(sprite)) + DestroyAnimSprite(sprite); +} + +void sub_8107528(u8 taskId) +{ + gTasks[taskId].data[0] = gBattleAnimArgs[0]; + gTasks[taskId].data[2] = IndexOfSpritePaletteTag(ANIM_TAG_RAINBOW_RINGS) * 16 + 256; + gTasks[taskId].func = sub_810756C; +} + +#ifdef NONMATCHING +void sub_810756C(u8 taskId) +{ + int i; + u16 palIndex; + u16 *palPtr1; + u16 *palPtr2; + u16 rgbBuffer; + + if (++gTasks[taskId].data[10] == 3) + { + gTasks[taskId].data[10] = 0; + palIndex = gTasks[taskId].data[2] + 1; + palPtr1 = &gPlttBufferFaded[palIndex]; + rgbBuffer = *palPtr1; + palPtr2 = &palPtr1[1]; + for (i = 0; i < 7; i++) + palPtr1[i] = palPtr2[i]; + gPlttBufferFaded[palIndex + 7] = rgbBuffer; + } + if (++gTasks[taskId].data[11] == gTasks[taskId].data[0]) + DestroyAnimVisualTask(taskId); +} +#else +NAKED +void sub_810756C(u8 taskId) +{ + asm_unified("push {r4-r7,lr}\n\ + lsls r0, 24\n\ + lsrs r4, r0, 24\n\ + ldr r1, =gTasks\n\ + lsls r0, r4, 2\n\ + adds r0, r4\n\ + lsls r0, 3\n\ + adds r2, r0, r1\n\ + ldrh r0, [r2, 0x1C]\n\ + adds r0, 0x1\n\ + strh r0, [r2, 0x1C]\n\ + lsls r0, 16\n\ + asrs r0, 16\n\ + mov r12, r1\n\ + cmp r0, 0x3\n\ + bne _081075BE\n\ + movs r0, 0\n\ + strh r0, [r2, 0x1C]\n\ + ldrh r0, [r2, 0xC]\n\ + adds r0, 0x1\n\ + lsls r0, 16\n\ + lsrs r5, r0, 16\n\ + ldr r1, =gPlttBufferFaded\n\ + lsls r0, r5, 1\n\ + adds r0, r1\n\ + ldrh r6, [r0]\n\ + adds r7, r1, 0\n\ + adds r3, r0, 0x2\n\ + movs r1, 0x6\n\ + adds r2, r0, 0\n\ +_081075A8:\n\ + ldrh r0, [r3]\n\ + strh r0, [r2]\n\ + adds r3, 0x2\n\ + adds r2, 0x2\n\ + subs r1, 0x1\n\ + cmp r1, 0\n\ + bge _081075A8\n\ + adds r0, r5, 0x7\n\ + lsls r0, 1\n\ + adds r0, r7\n\ + strh r6, [r0]\n\ +_081075BE:\n\ + lsls r0, r4, 2\n\ + adds r0, r4\n\ + lsls r0, 3\n\ + add r0, r12\n\ + ldrh r1, [r0, 0x1E]\n\ + adds r1, 0x1\n\ + strh r1, [r0, 0x1E]\n\ + lsls r1, 16\n\ + asrs r1, 16\n\ + movs r2, 0x8\n\ + ldrsh r0, [r0, r2]\n\ + cmp r1, r0\n\ + bne _081075DE\n\ + adds r0, r4, 0\n\ + bl DestroyAnimVisualTask\n\ +_081075DE:\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .pool\n"); +} +#endif + +void sub_81075EC(struct Sprite *sprite) +{ + u16 retArg; + + InitAnimSpritePos(sprite, TRUE); + sprite->data[0] = 30; + sprite->data[1] = sprite->pos1.x; + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2); + sprite->data[3] = sprite->pos1.y; + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3); + InitAnimLinearTranslation(sprite); + sprite->data[5] = 0xD200 / sprite->data[0]; + sprite->data[7] = gBattleAnimArgs[3]; + retArg = gBattleAnimArgs[ARG_RET_ID]; + if (gBattleAnimArgs[ARG_RET_ID] > 127) + { + sprite->data[6] = (retArg - 127) * 256; + sprite->data[7] = -sprite->data[7]; + } + else + { + sprite->data[6] = retArg * 256; + } + sprite->callback = sub_8107674; + sprite->callback(sprite); +} + +void sub_8107674(struct Sprite *sprite) +{ + if (TranslateAnimLinear(sprite)) + DestroyAnimSprite(sprite); + sprite->pos2.y += Sin(sprite->data[6] >> 8, sprite->data[7]); + if ((sprite->data[6] + sprite->data[5]) >> 8 > 127) + { + sprite->data[6] = 0; + sprite->data[7] = -sprite->data[7]; + } + else + { + sprite->data[6] += sprite->data[5]; + } +} + +void sub_81076C8(u8 taskId) +{ + gTasks[taskId].data[0] = gBattleAnimArgs[0]; + gBattleAnimArgs[ARG_RET_ID] = 0; + gTasks[taskId].func = sub_81076F4; +} + +void sub_81076F4(u8 taskId) +{ + gBattleAnimArgs[ARG_RET_ID] = (gBattleAnimArgs[ARG_RET_ID] + 3) & 0xFF; + if (--gTasks[taskId].data[0] == 0) + DestroyAnimVisualTask(taskId); +} + +void sub_8107730(struct Sprite *sprite) +{ + u8 priority; + + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0); + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1); + sprite->pos2.y = -10; + priority = GetBattlerSpriteSubpriority(gBattleAnimAttacker); + if (!IsContest()) + { + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) + { + sprite->pos2.x = 10; + sprite->subpriority = priority + 2; + } + else + { + sprite->pos2.x = -10; + sprite->subpriority = priority - 2; + } + } + else + { + sprite->pos2.x = -10; + sprite->subpriority = priority + 2; + } + sprite->callback = sub_81077A4; +} + +void sub_81077A4(struct Sprite *sprite) +{ + if (sprite->affineAnimEnded) + DestroyAnimSprite(sprite); +} + +void sub_81077C0(struct Sprite *sprite) +{ + bool8 animType; + u8 coordType; + if (GetBattlerSide(gBattleAnimAttacker) == GetBattlerSide(gBattleAnimTarget)) + { + gBattleAnimArgs[0] *= -1; + if (GetBattlerPosition(gBattleAnimAttacker) == B_POSITION_PLAYER_LEFT || GetBattlerPosition(gBattleAnimAttacker) == B_POSITION_OPPONENT_LEFT) + gBattleAnimArgs[0] *= -1; + } + if ((gBattleAnimArgs[5] & 0xFF00) == 0) + animType = TRUE; + else + animType = FALSE; + if ((u8)gBattleAnimArgs[5] == 0) + coordType = 3; + else + coordType = 1; + InitAnimSpritePos(sprite, animType); + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) + gBattleAnimArgs[2] = -gBattleAnimArgs[2]; + sprite->data[0] = gBattleAnimArgs[4]; + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2]; + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, coordType) + gBattleAnimArgs[3]; + sprite->callback = StartAnimLinearTranslation; + StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); +} + +void sub_8107894(struct Sprite *sprite) +{ + sub_80A6980(sprite, TRUE); + sprite->data[0] = gBattleAnimArgs[4]; + sprite->data[2] = sprite->pos1.x + gBattleAnimArgs[2]; + sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[4]; + sprite->callback = StartAnimLinearTranslation; + StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); +} + +void sub_81078D0(struct Sprite *sprite) +{ + if (gBattleAnimArgs[3]) + sub_80A6980(sprite, TRUE); + else + InitAnimSpritePos(sprite, TRUE); + sprite->data[7] = gBattleAnimArgs[2]; + sprite->callback = sub_810790C; +} + +void sub_810790C(struct Sprite *sprite) +{ + sprite->data[0] = (sprite->data[0] + 11) & 0xFF; + sprite->pos2.x = Sin(sprite->data[0], 4); + sprite->data[1] += 48; + sprite->pos2.y = -(sprite->data[1] >> 8); + if (--sprite->data[7] == -1) + DestroyAnimSprite(sprite); +} + +#ifdef NONMATCHING +void AnimTask_CreateSurfWave(u8 taskId) +{ + struct UnknownAnimStruct2 unk; + u8 taskId2; + + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16)); + SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1); + SetAnimBgAttribute(1, BG_ANIM_SCREEN_SIZE, 1); + sub_80A6B30(&unk); + if (!IsContest()) + { + SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 1); + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT) + sub_80A6D48(unk.bgId, gUnknown_08D95E00); + else + sub_80A6D48(unk.bgId, gUnknown_08D960D0); + } + else + { + sub_80A6D60(&unk, gUnknown_08D963A4, 1); + } + sub_80A6CC0(unk.bgId, gBattleAnimBackgroundImage_Surf, unk.tilesOffset); + if (gBattleAnimArgs[0] == 0) + LoadCompressedPalette(gBattleAnimBackgroundPalette_Surf, unk.unk8 * 16, 32); + else + LoadCompressedPalette(gBattleAnimBackgroundImageMuddyWater_Pal, unk.unk8 * 16, 32); + taskId2 = CreateTask(sub_8107D58, gTasks[taskId].priority + 1); + gTasks[taskId].data[15] = taskId2; + gTasks[taskId2].data[0] = 0; + gTasks[taskId2].data[1] = 0x1000; + gTasks[taskId2].data[2] = 0x1000; + if (IsContest()) + { + gBattle_BG1_X = -80; + gBattle_BG1_Y = -48; + gTasks[taskId].data[0] = 2; + gTasks[taskId].data[1] = 1; + gTasks[taskId2].data[3] = 0; + } + else if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT) + { + gBattle_BG1_X = -224; + gBattle_BG1_Y = 256; + gTasks[taskId].data[0] = 2; + gTasks[taskId].data[1] = -1; + gTasks[taskId2].data[3] = 1; + } + else + { + gBattle_BG1_X = 0; + gBattle_BG1_Y = -48; + gTasks[taskId].data[0] = -2; + gTasks[taskId].data[1] = 1; + gTasks[taskId2].data[3] = 0; + } + SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X); + SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y); + if (gTasks[taskId2].data[3] == 0) + { + gTasks[taskId2].data[4] = 48; + gTasks[taskId2].data[5] = 112; + } + else + { + gTasks[taskId2].data[4] = 0; + gTasks[taskId2].data[5] = 0; + } + gTasks[taskId].data[6] = 1; + gTasks[taskId].func = sub_8107B84; +} +#else +NAKED +void AnimTask_CreateSurfWave(u8 taskId) +{ + asm_unified("push {r4-r7,lr}\n\ + mov r7, r10\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5-r7}\n\ + sub sp, 0x10\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + mov r10, r0\n\ + ldr r1, =0x00003f42\n\ + movs r0, 0x50\n\ + bl SetGpuReg\n\ + movs r1, 0x80\n\ + lsls r1, 5\n\ + movs r0, 0x52\n\ + bl SetGpuReg\n\ + movs r0, 0x1\n\ + movs r1, 0x4\n\ + movs r2, 0x1\n\ + bl SetAnimBgAttribute\n\ + movs r0, 0x1\n\ + movs r1, 0\n\ + movs r2, 0x1\n\ + bl SetAnimBgAttribute\n\ + mov r0, sp\n\ + bl sub_80A6B30\n\ + bl IsContest\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + bne _081079E0\n\ + movs r0, 0x1\n\ + movs r1, 0x3\n\ + movs r2, 0x1\n\ + bl SetAnimBgAttribute\n\ + ldr r0, =gBattleAnimAttacker\n\ + ldrb r0, [r0]\n\ + bl GetBattlerSide\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + cmp r0, 0x1\n\ + bne _081079D0\n\ + mov r0, sp\n\ + ldrb r0, [r0, 0x9]\n\ + ldr r1, =gUnknown_08D95E00\n\ + bl sub_80A6D48\n\ + b _081079EA\n\ + .pool\n\ +_081079D0:\n\ + mov r0, sp\n\ + ldrb r0, [r0, 0x9]\n\ + ldr r1, =gUnknown_08D960D0\n\ + bl sub_80A6D48\n\ + b _081079EA\n\ + .pool\n\ +_081079E0:\n\ + ldr r1, =gUnknown_08D963A4\n\ + mov r0, sp\n\ + movs r2, 0x1\n\ + bl sub_80A6D60\n\ +_081079EA:\n\ + mov r0, sp\n\ + ldrb r0, [r0, 0x9]\n\ + ldr r1, =gBattleAnimBackgroundImage_Surf\n\ + mov r2, sp\n\ + ldrh r2, [r2, 0xA]\n\ + bl sub_80A6CC0\n\ + ldr r0, =gBattleAnimArgs\n\ + movs r1, 0\n\ + ldrsh r0, [r0, r1]\n\ + cmp r0, 0\n\ + bne _08107A24\n\ + ldr r0, =gBattleAnimBackgroundPalette_Surf\n\ + mov r1, sp\n\ + ldrb r1, [r1, 0x8]\n\ + lsls r1, 4\n\ + movs r2, 0x20\n\ + bl LoadCompressedPalette\n\ + b _08107A32\n\ + .pool\n\ +_08107A24:\n\ + ldr r0, =gBattleAnimBackgroundImageMuddyWater_Pal\n\ + mov r1, sp\n\ + ldrb r1, [r1, 0x8]\n\ + lsls r1, 4\n\ + movs r2, 0x20\n\ + bl LoadCompressedPalette\n\ +_08107A32:\n\ + ldr r0, =sub_8107D58\n\ + ldr r4, =gTasks\n\ + mov r2, r10\n\ + lsls r5, r2, 2\n\ + adds r1, r5, r2\n\ + lsls r1, 3\n\ + adds r6, r1, r4\n\ + ldrb r1, [r6, 0x7]\n\ + adds r1, 0x1\n\ + lsls r1, 24\n\ + lsrs r1, 24\n\ + bl CreateTask\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + mov r8, r0\n\ + movs r0, 0\n\ + mov r9, r0\n\ + mov r1, r8\n\ + strh r1, [r6, 0x26]\n\ + mov r2, r8\n\ + lsls r0, r2, 2\n\ + add r0, r8\n\ + lsls r0, 3\n\ + adds r7, r0, r4\n\ + mov r0, r9\n\ + strh r0, [r7, 0x8]\n\ + movs r0, 0x80\n\ + lsls r0, 5\n\ + strh r0, [r7, 0xA]\n\ + strh r0, [r7, 0xC]\n\ + bl IsContest\n\ + lsls r0, 24\n\ + lsrs r4, r0, 24\n\ + cmp r4, 0\n\ + beq _08107AB4\n\ + ldr r1, =0x0000ffb0\n\ + adds r0, r1, 0\n\ + ldr r2, =gBattle_BG1_X\n\ + strh r0, [r2]\n\ + adds r1, 0x20\n\ + adds r0, r1, 0\n\ + ldr r2, =gBattle_BG1_Y\n\ + strh r0, [r2]\n\ + movs r0, 0x2\n\ + strh r0, [r6, 0x8]\n\ + movs r0, 0x1\n\ + strh r0, [r6, 0xA]\n\ + mov r0, r9\n\ + strh r0, [r7, 0xE]\n\ + b _08107B0E\n\ + .pool\n\ +_08107AB4:\n\ + ldr r0, =gBattleAnimAttacker\n\ + ldrb r0, [r0]\n\ + bl GetBattlerSide\n\ + lsls r0, 24\n\ + lsrs r1, r0, 24\n\ + cmp r1, 0x1\n\ + bne _08107AF8\n\ + ldr r2, =0x0000ff20\n\ + adds r0, r2, 0\n\ + ldr r2, =gBattle_BG1_X\n\ + strh r0, [r2]\n\ + movs r2, 0x80\n\ + lsls r2, 1\n\ + adds r0, r2, 0\n\ + ldr r2, =gBattle_BG1_Y\n\ + strh r0, [r2]\n\ + movs r0, 0x2\n\ + strh r0, [r6, 0x8]\n\ + ldr r0, =0x0000ffff\n\ + strh r0, [r6, 0xA]\n\ + strh r1, [r7, 0xE]\n\ + b _08107B0E\n\ + .pool\n\ +_08107AF8:\n\ + ldr r0, =gBattle_BG1_X\n\ + strh r4, [r0]\n\ + ldr r1, =0x0000ffd0\n\ + adds r0, r1, 0\n\ + ldr r2, =gBattle_BG1_Y\n\ + strh r0, [r2]\n\ + ldr r0, =0x0000fffe\n\ + strh r0, [r6, 0x8]\n\ + movs r0, 0x1\n\ + strh r0, [r6, 0xA]\n\ + strh r4, [r7, 0xE]\n\ +_08107B0E:\n\ + ldr r0, =gBattle_BG1_X\n\ + ldrh r1, [r0]\n\ + movs r0, 0x14\n\ + bl SetGpuReg\n\ + ldr r2, =gBattle_BG1_Y\n\ + ldrh r1, [r2]\n\ + movs r0, 0x16\n\ + bl SetGpuReg\n\ + ldr r1, =gTasks\n\ + mov r2, r8\n\ + lsls r0, r2, 2\n\ + add r0, r8\n\ + lsls r0, 3\n\ + adds r1, r0, r1\n\ + movs r2, 0xE\n\ + ldrsh r0, [r1, r2]\n\ + cmp r0, 0\n\ + bne _08107B54\n\ + movs r0, 0x30\n\ + strh r0, [r1, 0x10]\n\ + movs r0, 0x70\n\ + b _08107B58\n\ + .pool\n\ +_08107B54:\n\ + movs r0, 0\n\ + strh r0, [r1, 0x10]\n\ +_08107B58:\n\ + strh r0, [r1, 0x12]\n\ + ldr r1, =gTasks\n\ + mov r2, r10\n\ + adds r0, r5, r2\n\ + lsls r0, 3\n\ + adds r0, r1\n\ + movs r1, 0x1\n\ + strh r1, [r0, 0x14]\n\ + ldr r1, =sub_8107B84\n\ + str r1, [r0]\n\ + add sp, 0x10\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\ + .pool\n"); +} +#endif + +#ifdef NONMATCHING +void sub_8107B84(u8 taskId) +{ + struct UnknownAnimStruct2 unk; + u8 i; + u16 rgbBuffer; + u16 *BGptrX = &gBattle_BG1_X; + u16 *BGptrY = &gBattle_BG1_Y; + s16 unkUse; + u32 palOffset; + u16 palNum; + + *BGptrX += gTasks[taskId].data[0]; + *BGptrY += gTasks[taskId].data[1]; + sub_80A6B30(&unk); + gTasks[taskId].data[2] += gTasks[taskId].data[1]; + if (++gTasks[taskId].data[5] == 4) + { + rgbBuffer = gPlttBufferFaded[unk.unk8 * 16 + 7]; + for (i = 6; i != 0; i--) + { + palNum = unk.unk8 * 16; + palOffset = 1 + i; + gPlttBufferFaded[palNum + palOffset] = gPlttBufferFaded[palNum + palOffset - 1]; + } + gPlttBufferFaded[unk.unk8 * 16 + 1] = rgbBuffer; + gTasks[taskId].data[5] = 0; + } + if (++gTasks[taskId].data[6] > 1) + { + gTasks[taskId].data[6] = 0; + unkUse = ++gTasks[taskId].data[3]; + if (unkUse <= 13) + { + gTasks[gTasks[taskId].data[15]].data[1] = unkUse | ((16 - unkUse) * 256); + gTasks[taskId].data[4]++; + } + if (gTasks[taskId].data[3] > 54) + { + unkUse = --gTasks[taskId].data[4]; + gTasks[gTasks[taskId].data[15]].data[1] = unkUse | ((16 - unkUse) * 256); + } + } + if (!(gTasks[gTasks[taskId].data[15]].data[1] & 0x1F)) + { + gTasks[taskId].data[0] = gTasks[gTasks[taskId].data[15]].data[1] & 0x1F; + gTasks[taskId].func = sub_8107CC4; + } +} +#else +NAKED +void sub_8107B84(u8 taskId) +{ + asm_unified("push {r4-r7,lr}\n\ + sub sp, 0x10\n\ + lsls r0, 24\n\ + lsrs r5, r0, 24\n\ + ldr r1, =gBattle_BG1_X\n\ + ldr r2, =gBattle_BG1_Y\n\ + ldr r0, =gTasks\n\ + lsls r4, r5, 2\n\ + adds r4, r5\n\ + lsls r4, 3\n\ + adds r4, r0\n\ + ldrh r0, [r4, 0x8]\n\ + ldrh r3, [r1]\n\ + adds r0, r3\n\ + strh r0, [r1]\n\ + ldrh r0, [r4, 0xA]\n\ + ldrh r1, [r2]\n\ + adds r0, r1\n\ + strh r0, [r2]\n\ + mov r0, sp\n\ + bl sub_80A6B30\n\ + ldrh r0, [r4, 0xA]\n\ + ldrh r3, [r4, 0xC]\n\ + adds r0, r3\n\ + strh r0, [r4, 0xC]\n\ + ldrh r0, [r4, 0x12]\n\ + adds r0, 0x1\n\ + strh r0, [r4, 0x12]\n\ + lsls r0, 16\n\ + asrs r0, 16\n\ + cmp r0, 0x4\n\ + bne _08107C18\n\ + ldr r1, =gPlttBufferFaded\n\ + mov r0, sp\n\ + ldrb r0, [r0, 0x8]\n\ + lsls r0, 4\n\ + adds r0, 0x7\n\ + lsls r0, 1\n\ + adds r0, r1\n\ + ldrh r6, [r0]\n\ + movs r2, 0x6\n\ + adds r7, r1, 0\n\ + adds r3, r7, 0\n\ + mov r4, sp\n\ +_08107BDE:\n\ + ldrb r0, [r4, 0x8]\n\ + lsls r0, 4\n\ + adds r1, r2, 0x1\n\ + adds r0, r1\n\ + lsls r1, r0, 1\n\ + adds r1, r3\n\ + subs r0, 0x1\n\ + lsls r0, 1\n\ + adds r0, r3\n\ + ldrh r0, [r0]\n\ + strh r0, [r1]\n\ + subs r0, r2, 0x1\n\ + lsls r0, 24\n\ + lsrs r2, r0, 24\n\ + cmp r2, 0\n\ + bne _08107BDE\n\ + mov r0, sp\n\ + ldrb r0, [r0, 0x8]\n\ + lsls r0, 4\n\ + adds r0, 0x1\n\ + lsls r0, 1\n\ + adds r0, r7\n\ + strh r6, [r0]\n\ + ldr r1, =gTasks\n\ + lsls r0, r5, 2\n\ + adds r0, r5\n\ + lsls r0, 3\n\ + adds r0, r1\n\ + strh r2, [r0, 0x12]\n\ +_08107C18:\n\ + ldr r1, =gTasks\n\ + lsls r2, r5, 2\n\ + adds r0, r2, r5\n\ + lsls r0, 3\n\ + adds r3, r0, r1\n\ + ldrh r0, [r3, 0x14]\n\ + adds r0, 0x1\n\ + strh r0, [r3, 0x14]\n\ + lsls r0, 16\n\ + asrs r0, 16\n\ + adds r4, r1, 0\n\ + adds r6, r2, 0\n\ + cmp r0, 0x1\n\ + ble _08107C86\n\ + movs r0, 0\n\ + strh r0, [r3, 0x14]\n\ + ldrh r0, [r3, 0xE]\n\ + adds r2, r0, 0x1\n\ + strh r2, [r3, 0xE]\n\ + lsls r0, r2, 16\n\ + asrs r0, 16\n\ + cmp r0, 0xD\n\ + bgt _08107C62\n\ + movs r1, 0x26\n\ + ldrsh r0, [r3, r1]\n\ + lsls r1, r0, 2\n\ + adds r1, r0\n\ + lsls r1, 3\n\ + adds r1, r4\n\ + movs r0, 0x10\n\ + subs r0, r2\n\ + lsls r0, 8\n\ + orrs r2, r0\n\ + strh r2, [r1, 0xA]\n\ + ldrh r0, [r3, 0x10]\n\ + adds r0, 0x1\n\ + strh r0, [r3, 0x10]\n\ +_08107C62:\n\ + movs r1, 0xE\n\ + ldrsh r0, [r3, r1]\n\ + cmp r0, 0x36\n\ + ble _08107C86\n\ + ldrh r2, [r3, 0x10]\n\ + subs r2, 0x1\n\ + strh r2, [r3, 0x10]\n\ + movs r1, 0x26\n\ + ldrsh r0, [r3, r1]\n\ + lsls r1, r0, 2\n\ + adds r1, r0\n\ + lsls r1, 3\n\ + adds r1, r4\n\ + movs r0, 0x10\n\ + subs r0, r2\n\ + lsls r0, 8\n\ + orrs r2, r0\n\ + strh r2, [r1, 0xA]\n\ +_08107C86:\n\ + adds r0, r6, r5\n\ + lsls r0, 3\n\ + adds r2, r0, r4\n\ + movs r3, 0x26\n\ + ldrsh r1, [r2, r3]\n\ + lsls r0, r1, 2\n\ + adds r0, r1\n\ + lsls r0, 3\n\ + adds r0, r4\n\ + ldrh r0, [r0, 0xA]\n\ + movs r3, 0x1F\n\ + ands r3, r0\n\ + cmp r3, 0\n\ + bne _08107CA8\n\ + strh r3, [r2, 0x8]\n\ + ldr r0, =sub_8107CC4\n\ + str r0, [r2]\n\ +_08107CA8:\n\ + add sp, 0x10\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .pool\n"); +} +#endif + +void sub_8107CC4(u8 taskId) +{ + u16 *BGptrX = &gBattle_BG1_X; + u16 *BGptrY = &gBattle_BG1_Y; + if (gTasks[taskId].data[0] == 0) + { + sub_80A6C68(1); + sub_80A6C68(2); + gTasks[taskId].data[0]++; + } + else + { + if (!IsContest()) + SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 0); + *BGptrX = 0; + *BGptrY = 0; + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 0)); + gTasks[gTasks[taskId].data[15]].data[15] = -1; + DestroyAnimVisualTask(taskId); + } +} + +#ifdef NONMATCHING +void sub_8107D58(u8 taskId) +{ + s16 i; + struct ScanlineEffectParams params; + struct Task *task = &gTasks[taskId]; + // u16 *scanlineBuffer; + + switch (task->data[0]) + { + case 0: + for (i = 0; i < task->data[4]; i++) + { + /* scanlineBuffer = &gScanlineEffectRegBuffers[0][i]; + *(u16 *)(&gScanlineEffect) = task->data[2]; + *scanlineBuffer = task->data[2] & -1; */ + gScanlineEffectRegBuffers[1][i] = task->data[2]; + gScanlineEffectRegBuffers[0][i] = (u16)((int)(task->data[2] & 0xFFFF)); + } + for (i = task->data[4]; i < task->data[5]; i++) + { + gScanlineEffectRegBuffers[1][i] = task->data[1]; + gScanlineEffectRegBuffers[0][i] = (u16)((int)(task->data[1] & 0xFFFF)); + } + for (i = task->data[5]; i < 160; i++) + { + gScanlineEffectRegBuffers[1][i] = task->data[2]; + gScanlineEffectRegBuffers[0][i] = (u16)((int)(task->data[2] & 0xFFFF)); + } + if (task->data[4] == 0) + { + gScanlineEffectRegBuffers[1][i] = task->data[1]; + gScanlineEffectRegBuffers[0][i] = task->data[1]; + } + else + { + gScanlineEffectRegBuffers[1][i] = task->data[2]; + gScanlineEffectRegBuffers[0][i] = task->data[2]; + } + params.dmaDest = (vu16 *)REG_ADDR_BLDALPHA; + params.dmaControl = SCANLINE_EFFECT_DMACNT_16BIT; + params.initState = 1; + params.unused9 = 0; + ScanlineEffect_SetParams(params); + task->data[0]++; + break; + case 1: + if (task->data[3] == 0) + { + if (--task->data[4] <= 0) + { + task->data[4] = 0; + task->data[0]++; + } + } + else if (++task->data[5] > 111) + { + task->data[0]++; + } + for (i = 0; i < task->data[4]; i++) + { + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[2]; + } + for (i = task->data[4]; i < task->data[5]; i++) + { + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[1]; + } + for (i = task->data[5]; i < 160; i++) + { + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[2]; + } + break; + case 2: + for (i = 0; i < task->data[4]; i++) + { + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[2]; + } + for (i = task->data[4]; i < task->data[5]; i++) + { + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[1]; + } + for (i = task->data[5]; i < 160; i++) + { + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[2]; + } + if (task->data[15] == -1) + { + ScanlineEffect_Stop(); + DestroyTask(taskId); + } + break; + } +} +#else +NAKED +void sub_8107D58(u8 taskId) +{ + asm_unified("push {r4-r7,lr}\n\ + sub sp, 0xC\n\ + lsls r0, 24\n\ + lsrs r7, r0, 24\n\ + lsls r0, r7, 2\n\ + adds r0, r7\n\ + lsls r0, 3\n\ + ldr r1, =gTasks\n\ + adds r4, r0, r1\n\ + movs r1, 0x8\n\ + ldrsh r0, [r4, r1]\n\ + cmp r0, 0x1\n\ + bne _08107D74\n\ + b _08107EAC\n\ +_08107D74:\n\ + cmp r0, 0x1\n\ + bgt _08107D84\n\ + cmp r0, 0\n\ + beq _08107D8C\n\ + b _08108022\n\ + .pool\n\ +_08107D84:\n\ + cmp r0, 0x2\n\ + bne _08107D8A\n\ + b _08107F78\n\ +_08107D8A:\n\ + b _08108022\n\ +_08107D8C:\n\ + movs r3, 0\n\ + movs r2, 0x10\n\ + ldrsh r0, [r4, r2]\n\ + ldr r1, =gScanlineEffectRegBuffers\n\ + mov r12, r1\n\ + cmp r3, r0\n\ + bge _08107DCA\n\ + mov r7, r12\n\ + movs r5, 0xF0\n\ + lsls r5, 3\n\ + add r5, r12\n\ + ldr r6, =0x0000ffff\n\ +_08107DA4:\n\ + lsls r2, r3, 16\n\ + asrs r2, 16\n\ + lsls r1, r2, 1\n\ + adds r3, r1, r7\n\ + adds r1, r5\n\ + ldrh r0, [r4, 0xC]\n\ + strh r0, [r1]\n\ + ldrh r1, [r4, 0xC]\n\ + adds r0, r6, 0\n\ + ands r0, r1\n\ + strh r0, [r3]\n\ + adds r2, 0x1\n\ + lsls r2, 16\n\ + lsrs r3, r2, 16\n\ + asrs r2, 16\n\ + movs r1, 0x10\n\ + ldrsh r0, [r4, r1]\n\ + cmp r2, r0\n\ + blt _08107DA4\n\ +_08107DCA:\n\ + ldrh r3, [r4, 0x10]\n\ + lsls r2, r3, 16\n\ + asrs r1, r2, 16\n\ + movs r3, 0x12\n\ + ldrsh r0, [r4, r3]\n\ + cmp r1, r0\n\ + bge _08107E04\n\ + ldr r5, =gScanlineEffectRegBuffers\n\ + movs r0, 0xF0\n\ + lsls r0, 3\n\ + adds r6, r5, r0\n\ + ldr r7, =0x0000ffff\n\ +_08107DE2:\n\ + asrs r2, 16\n\ + lsls r1, r2, 1\n\ + adds r3, r1, r5\n\ + adds r1, r6\n\ + ldrh r0, [r4, 0xA]\n\ + strh r0, [r1]\n\ + ldrh r1, [r4, 0xA]\n\ + adds r0, r7, 0\n\ + ands r0, r1\n\ + strh r0, [r3]\n\ + adds r2, 0x1\n\ + lsls r2, 16\n\ + asrs r1, r2, 16\n\ + movs r3, 0x12\n\ + ldrsh r0, [r4, r3]\n\ + cmp r1, r0\n\ + blt _08107DE2\n\ +_08107E04:\n\ + ldrh r3, [r4, 0x12]\n\ + lsls r2, r3, 16\n\ + asrs r0, r2, 16\n\ + cmp r0, 0x9F\n\ + bgt _08107E3A\n\ + ldr r5, =gScanlineEffectRegBuffers\n\ + movs r0, 0xF0\n\ + lsls r0, 3\n\ + adds r6, r5, r0\n\ + ldr r7, =0x0000ffff\n\ +_08107E18:\n\ + asrs r2, 16\n\ + lsls r1, r2, 1\n\ + adds r3, r1, r5\n\ + adds r1, r6\n\ + ldrh r0, [r4, 0xC]\n\ + strh r0, [r1]\n\ + ldrh r1, [r4, 0xC]\n\ + adds r0, r7, 0\n\ + ands r0, r1\n\ + strh r0, [r3]\n\ + adds r2, 0x1\n\ + lsls r2, 16\n\ + lsrs r3, r2, 16\n\ + lsls r2, r3, 16\n\ + asrs r0, r2, 16\n\ + cmp r0, 0x9F\n\ + ble _08107E18\n\ +_08107E3A:\n\ + movs r1, 0x10\n\ + ldrsh r0, [r4, r1]\n\ + cmp r0, 0\n\ + bne _08107E64\n\ + lsls r0, r3, 16\n\ + asrs r0, 15\n\ + mov r3, r12\n\ + adds r2, r0, r3\n\ + movs r1, 0xF0\n\ + lsls r1, 3\n\ + add r1, r12\n\ + adds r0, r1\n\ + ldrh r1, [r4, 0xA]\n\ + strh r1, [r0]\n\ + ldrh r0, [r4, 0xA]\n\ + b _08107E7A\n\ + .pool\n\ +_08107E64:\n\ + lsls r0, r3, 16\n\ + asrs r0, 15\n\ + mov r1, r12\n\ + adds r2, r0, r1\n\ + movs r1, 0xF0\n\ + lsls r1, 3\n\ + add r1, r12\n\ + adds r0, r1\n\ + ldrh r1, [r4, 0xC]\n\ + strh r1, [r0]\n\ + ldrh r0, [r4, 0xC]\n\ +_08107E7A:\n\ + strh r0, [r2]\n\ + ldr r0, =0x04000052\n\ + str r0, [sp]\n\ + ldr r0, =0xa2600001\n\ + str r0, [sp, 0x4]\n\ + mov r1, sp\n\ + movs r2, 0\n\ + movs r0, 0x1\n\ + strb r0, [r1, 0x8]\n\ + mov r0, sp\n\ + strb r2, [r0, 0x9]\n\ + ldr r0, [sp]\n\ + ldr r1, [sp, 0x4]\n\ + ldr r2, [sp, 0x8]\n\ + bl ScanlineEffect_SetParams\n\ + ldrh r0, [r4, 0x8]\n\ + adds r0, 0x1\n\ + strh r0, [r4, 0x8]\n\ + b _08108022\n\ + .pool\n\ +_08107EAC:\n\ + movs r2, 0xE\n\ + ldrsh r1, [r4, r2]\n\ + cmp r1, 0\n\ + bne _08107EC4\n\ + ldrh r0, [r4, 0x10]\n\ + subs r0, 0x1\n\ + strh r0, [r4, 0x10]\n\ + lsls r0, 16\n\ + cmp r0, 0\n\ + bgt _08107ED8\n\ + strh r1, [r4, 0x10]\n\ + b _08107ED2\n\ +_08107EC4:\n\ + ldrh r0, [r4, 0x12]\n\ + adds r0, 0x1\n\ + strh r0, [r4, 0x12]\n\ + lsls r0, 16\n\ + asrs r0, 16\n\ + cmp r0, 0x6F\n\ + ble _08107ED8\n\ +_08107ED2:\n\ + ldrh r0, [r4, 0x8]\n\ + adds r0, 0x1\n\ + strh r0, [r4, 0x8]\n\ +_08107ED8:\n\ + movs r3, 0\n\ + movs r1, 0x10\n\ + ldrsh r0, [r4, r1]\n\ + cmp r3, r0\n\ + bge _08107F0C\n\ + ldr r6, =gScanlineEffectRegBuffers\n\ + ldr r5, =gScanlineEffect\n\ +_08107EE6:\n\ + lsls r1, r3, 16\n\ + asrs r1, 16\n\ + lsls r3, r1, 1\n\ + ldrb r2, [r5, 0x14]\n\ + lsls r0, r2, 4\n\ + subs r0, r2\n\ + lsls r0, 7\n\ + adds r3, r0\n\ + adds r3, r6\n\ + ldrh r0, [r4, 0xC]\n\ + strh r0, [r3]\n\ + adds r1, 0x1\n\ + lsls r1, 16\n\ + lsrs r3, r1, 16\n\ + asrs r1, 16\n\ + movs r2, 0x10\n\ + ldrsh r0, [r4, r2]\n\ + cmp r1, r0\n\ + blt _08107EE6\n\ +_08107F0C:\n\ + ldrh r3, [r4, 0x10]\n\ + lsls r2, r3, 16\n\ + asrs r1, r2, 16\n\ + movs r3, 0x12\n\ + ldrsh r0, [r4, r3]\n\ + cmp r1, r0\n\ + bge _08107F40\n\ + ldr r6, =gScanlineEffectRegBuffers\n\ + ldr r5, =gScanlineEffect\n\ +_08107F1E:\n\ + asrs r3, r2, 16\n\ + lsls r2, r3, 1\n\ + ldrb r1, [r5, 0x14]\n\ + lsls r0, r1, 4\n\ + subs r0, r1\n\ + lsls r0, 7\n\ + adds r2, r0\n\ + adds r2, r6\n\ + ldrh r0, [r4, 0xA]\n\ + strh r0, [r2]\n\ + adds r3, 0x1\n\ + lsls r2, r3, 16\n\ + asrs r1, r2, 16\n\ + movs r3, 0x12\n\ + ldrsh r0, [r4, r3]\n\ + cmp r1, r0\n\ + blt _08107F1E\n\ +_08107F40:\n\ + ldrh r3, [r4, 0x12]\n\ + lsls r1, r3, 16\n\ + asrs r0, r1, 16\n\ + cmp r0, 0x9F\n\ + bgt _08108022\n\ + ldr r6, =gScanlineEffectRegBuffers\n\ + ldr r5, =gScanlineEffect\n\ +_08107F4E:\n\ + asrs r3, r1, 16\n\ + lsls r2, r3, 1\n\ + ldrb r1, [r5, 0x14]\n\ + lsls r0, r1, 4\n\ + subs r0, r1\n\ + lsls r0, 7\n\ + adds r2, r0\n\ + adds r2, r6\n\ + ldrh r0, [r4, 0xC]\n\ + strh r0, [r2]\n\ + adds r3, 0x1\n\ + lsls r1, r3, 16\n\ + asrs r0, r1, 16\n\ + cmp r0, 0x9F\n\ + ble _08107F4E\n\ + b _08108022\n\ + .pool\n\ +_08107F78:\n\ + movs r3, 0\n\ + movs r1, 0x10\n\ + ldrsh r0, [r4, r1]\n\ + cmp r3, r0\n\ + bge _08107FAC\n\ + ldr r6, =gScanlineEffectRegBuffers\n\ + ldr r5, =gScanlineEffect\n\ +_08107F86:\n\ + lsls r1, r3, 16\n\ + asrs r1, 16\n\ + lsls r3, r1, 1\n\ + ldrb r2, [r5, 0x14]\n\ + lsls r0, r2, 4\n\ + subs r0, r2\n\ + lsls r0, 7\n\ + adds r3, r0\n\ + adds r3, r6\n\ + ldrh r0, [r4, 0xC]\n\ + strh r0, [r3]\n\ + adds r1, 0x1\n\ + lsls r1, 16\n\ + lsrs r3, r1, 16\n\ + asrs r1, 16\n\ + movs r2, 0x10\n\ + ldrsh r0, [r4, r2]\n\ + cmp r1, r0\n\ + blt _08107F86\n\ +_08107FAC:\n\ + ldrh r3, [r4, 0x10]\n\ + lsls r2, r3, 16\n\ + asrs r1, r2, 16\n\ + movs r3, 0x12\n\ + ldrsh r0, [r4, r3]\n\ + cmp r1, r0\n\ + bge _08107FE0\n\ + ldr r6, =gScanlineEffectRegBuffers\n\ + ldr r5, =gScanlineEffect\n\ +_08107FBE:\n\ + asrs r3, r2, 16\n\ + lsls r2, r3, 1\n\ + ldrb r1, [r5, 0x14]\n\ + lsls r0, r1, 4\n\ + subs r0, r1\n\ + lsls r0, 7\n\ + adds r2, r0\n\ + adds r2, r6\n\ + ldrh r0, [r4, 0xA]\n\ + strh r0, [r2]\n\ + adds r3, 0x1\n\ + lsls r2, r3, 16\n\ + asrs r1, r2, 16\n\ + movs r3, 0x12\n\ + ldrsh r0, [r4, r3]\n\ + cmp r1, r0\n\ + blt _08107FBE\n\ +_08107FE0:\n\ + ldrh r3, [r4, 0x12]\n\ + lsls r1, r3, 16\n\ + asrs r0, r1, 16\n\ + cmp r0, 0x9F\n\ + bgt _0810800C\n\ + ldr r6, =gScanlineEffectRegBuffers\n\ + ldr r5, =gScanlineEffect\n\ +_08107FEE:\n\ + asrs r3, r1, 16\n\ + lsls r2, r3, 1\n\ + ldrb r1, [r5, 0x14]\n\ + lsls r0, r1, 4\n\ + subs r0, r1\n\ + lsls r0, 7\n\ + adds r2, r0\n\ + adds r2, r6\n\ + ldrh r0, [r4, 0xC]\n\ + strh r0, [r2]\n\ + adds r3, 0x1\n\ + lsls r1, r3, 16\n\ + asrs r0, r1, 16\n\ + cmp r0, 0x9F\n\ + ble _08107FEE\n\ +_0810800C:\n\ + movs r0, 0x26\n\ + ldrsh r1, [r4, r0]\n\ + movs r0, 0x1\n\ + negs r0, r0\n\ + cmp r1, r0\n\ + bne _08108022\n\ + bl ScanlineEffect_Stop\n\ + adds r0, r7, 0\n\ + bl DestroyTask\n\ +_08108022:\n\ + add sp, 0xC\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .pool\n"); +} +#endif + +void sub_8108034(struct Sprite *sprite) +{ + s16 randData; + s16 randData2; + + sprite->oam.tileNum += 8; + sub_80A6980(sprite, TRUE); + randData = (Random2() & 0xFF) | 256; + randData2 = (Random2() & 0x1FF); + if (randData2 > 255) + randData2 = 256 - randData2; + sprite->data[1] = randData; + sprite->data[2] = randData2; + sprite->callback = sub_8108098; +} + +void sub_8108098(struct Sprite *sprite) +{ + sprite->data[3] += sprite->data[1]; + sprite->data[4] += sprite->data[2]; + if (sprite->data[1] & 1) + sprite->pos2.x = -(sprite->data[3] >> 8); + else + sprite->pos2.x = sprite->data[3] >> 8; + sprite->pos2.y = sprite->data[4] >> 8; + if (++sprite->data[0] == 21) + DestroyAnimSprite(sprite); +} + +void sub_81080E4(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + task->data[15] = GetAnimBattlerSpriteId(ANIM_ATTACKER); + task->data[5] = gSprites[task->data[15]].pos1.y; + task->data[1] = sub_8108384(); + PrepareBattlerSpriteForRotScale(task->data[15], ST_OAM_OBJ_NORMAL); + task->func = sub_8108140; +} + +void sub_8108140(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + switch (task->data[0]) + { + case 0: + sub_80A805C(task, task->data[15], 0x100, 0x100, 224, 0x200, 32); + task->data[0]++; + case 1: + if (++task->data[3] > 1) + { + task->data[3] = 0; + if (++task->data[4] & 1) + { + gSprites[task->data[15]].pos2.x = 3; + gSprites[task->data[15]].pos1.y++; + } + else + { + gSprites[task->data[15]].pos2.x = -3; + } + } + if (sub_80A80C8(task) == 0) + { + SetBattlerSpriteYOffsetFromYScale(task->data[15]); + gSprites[task->data[15]].pos2.x = 0; + task->data[3] = 0; + task->data[4] = 0; + task->data[0]++; + } + break; + case 2: + if (++task->data[3] > 4) + { + sub_80A805C(task, task->data[15], 224, 0x200, 384, 224, 8); + task->data[3] = 0; + task->data[0]++; + } + break; + case 3: + if (sub_80A80C8(task) == 0) + { + task->data[3] = 0; + task->data[4] = 0; + task->data[0]++; + } + break; + case 4: + sub_8108408(task, taskId); + task->data[0]++; + case 5: + if (++task->data[3] > 1) + { + task->data[3] = 0; + if (++task->data[4] & 1) + gSprites[task->data[15]].pos2.y += 2; + else + gSprites[task->data[15]].pos2.y -= 2; + if (task->data[4] == 10) + { + sub_80A805C(task, task->data[15], 384, 224, 0x100, 0x100, 8); + task->data[3] = 0; + task->data[4] = 0; + task->data[0]++; + } + } + break; + case 6: + gSprites[task->data[15]].pos1.y--; + if (sub_80A80C8(task) == 0) + { + ResetSpriteRotScale(task->data[15]); + gSprites[task->data[15]].pos1.y = task->data[5]; + task->data[4] = 0; + task->data[0]++; + } + break; + case 7: + if (task->data[2] == 0) + DestroyAnimVisualTask(taskId); + break; + } +} + +u8 sub_8108384(void) +{ + u8 i; + u16 hp; + u16 maxhp; + u16 partyIndex; + struct Pokemon *slot; + + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) + { + partyIndex = gBattlerPartyIndexes[gBattleAnimAttacker]; + slot = &gPlayerParty[partyIndex]; + maxhp = GetMonData(slot, MON_DATA_MAX_HP); + hp = GetMonData(slot, MON_DATA_HP); + maxhp /= 4; + } + else + { + partyIndex = gBattlerPartyIndexes[gBattleAnimAttacker]; + slot = &gEnemyParty[partyIndex]; + maxhp = GetMonData(slot, MON_DATA_MAX_HP); + hp = GetMonData(slot, MON_DATA_HP); + maxhp /= 4; + } + for (i = 0; i < 3; i++) + { + if (hp < maxhp * (i + 1)) + return i; + } + return 3; +} + +void sub_8108408(struct Task *task, u8 taskId) +{ + s16 i; + s16 attackerCoordX = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); + s16 attackerCoordY = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); + s16 trigIndex = 172; + u8 subpriority = GetBattlerSpriteSubpriority(gBattleAnimAttacker) - 1; + s16 increment = 4 - task->data[1]; + u8 spriteId; + + if (increment <= 0) + increment = 1; + for (i = 0; i < 20; i += increment) + { + spriteId = CreateSprite(&gUnknown_08595268, attackerCoordX, attackerCoordY, subpriority); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].data[1] = i; + gSprites[spriteId].data[2] = attackerCoordX * 16; + gSprites[spriteId].data[3] = attackerCoordY * 16; + gSprites[spriteId].data[4] = Cos(trigIndex, 64); + gSprites[spriteId].data[5] = Sin(trigIndex, 64); + gSprites[spriteId].data[6] = taskId; + gSprites[spriteId].data[7] = 2; + if (task->data[2] & 1) + sub_810851C(&gSprites[spriteId]); + task->data[2]++; + } + trigIndex = (trigIndex + increment * 2); + trigIndex &= 0xFF; + } +} + +void sub_810851C(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { + case 0: + sprite->data[4] += (sprite->data[1] % 6) * 3; + sprite->data[5] += (sprite->data[1] % 3) * 3; + sprite->data[0]++; + case 1: + sprite->data[2] += sprite->data[4]; + sprite->data[3] += sprite->data[5]; + sprite->pos1.x = sprite->data[2] >> 4; + sprite->pos1.y = sprite->data[3] >> 4; + if (sprite->pos1.x < -8 || sprite->pos1.x > 248 || sprite->pos1.y < -8 || sprite->pos1.y > 120) + { + gTasks[sprite->data[6]].data[sprite->data[7]]--; + DestroySprite(sprite); + } + break; + } +} + +void sub_81085C8(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + task->data[1] = sub_8108384(); + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) + { + task->data[4] = 136; + task->data[6] = 40; + } + else + { + task->data[4] = 16; + task->data[6] = 80; + } + task->data[5] = 98; + task->data[7] = task->data[4] + 49; + task->data[12] = task->data[1] * 5 + 5; + task->func = sub_810862C; +} + +void sub_810862C(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + u8 taskId2; + + switch (task->data[0]) + { + case 0: + if (++task->data[2] > 2) + { + task->data[2] = 0; + sub_810871C(task, taskId); + } + if (task->data[10] != 0 && task->data[13] == 0) + { + gBattleAnimArgs[0] = 1; + gBattleAnimArgs[1] = 0; + gBattleAnimArgs[2] = 12; + taskId2 = CreateTask(sub_81152DC, 80); + if (taskId2 != 0xFF) + { + gTasks[taskId2].func(taskId2); + gAnimVisualTaskCount++; + } + gBattleAnimArgs[0] = 3; + taskId2 = CreateTask(sub_81152DC, 80); + if (taskId2 != 0xFF) + { + gTasks[taskId2].func(taskId2); + gAnimVisualTaskCount++; + } + task->data[13] = 1; + } + if (task->data[11] >= task->data[12]) + task->data[0]++; + break; + case 1: + if (task->data[9] == 0) + DestroyAnimVisualTask(taskId); + break; + } +} + +void sub_810871C(struct Task *task, u8 taskId) +{ + u16 yPosArg = ((gSineTable[task->data[8]] + 3) >> 4) + task->data[6]; + u8 spriteId = CreateSprite(&gUnknown_08595268, task->data[7], 0, 0); + + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].callback = sub_81087C0; + gSprites[spriteId].data[5] = yPosArg; + gSprites[spriteId].data[6] = taskId; + gSprites[spriteId].data[7] = 9; + task->data[9]++; + } + task->data[11]++; + task->data[8] = (task->data[8] + 39) & 0xFF; + task->data[7] = ((task->data[7] * 0x41c64e6d + 0x3039) % task->data[5]) + task->data[4]; +} + +void sub_81087C0(struct Sprite *sprite) +{ + if (sprite->data[0] == 0) + { + sprite->pos1.y += 8; + if (sprite->pos1.y >= sprite->data[5]) + { + gTasks[sprite->data[6]].data[10] = 1; + sprite->data[1] = CreateSprite(&gUnknown_08597388, sprite->pos1.x, sprite->pos1.y, 1); + if (sprite->data[1] != MAX_SPRITES) + { + StartSpriteAffineAnim(&gSprites[sprite->data[1]], 3); + gSprites[sprite->data[1]].data[6] = sprite->data[6]; + gSprites[sprite->data[1]].data[7] = sprite->data[7]; + gSprites[sprite->data[1]].callback = sub_810886C; + } + DestroySprite(sprite); + } + } +} + +void sub_810886C(struct Sprite *sprite) +{ + if (++sprite->data[1] > 1) + { + sprite->data[1] = 0; + sprite->invisible ^= 1; + if (++sprite->data[2] == 12) + { + gTasks[sprite->data[6]].data[sprite->data[7]]--; + FreeOamMatrix(sprite->oam.matrixNum); + DestroySprite(sprite); + } + } +} + +void sub_81088E4(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + task->data[3] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); + task->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); + task->data[7] = (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) ? 1 : -1; + if (IsContest()) + task->data[7] *= -1; + task->data[5] = task->data[3] + task->data[7] * 8; + task->data[6] = task->data[4] - task->data[7] * 8; + task->data[9] = -32; + task->data[1] = 0; + task->data[0] = 0; + task->func = sub_8108978; +} + +void sub_8108978(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + switch (task->data[0]) + { + case 0: + sub_8108AC0(task); + if (task->data[10] != 0) + task->data[0]++; + break; + case 1: + sub_8108AC0(task); + if (++task->data[1] > 16) + { + task->data[1] = 0; + task->data[0]++; + } + break; + case 2: + sub_8108AC0(task); + task->data[5] += task->data[7] * 6; + if (!(task->data[5] >= -16 && task->data[5] <= 256)) + { + if (++task->data[12] > 2) + { + task->data[13] = 1; + task->data[0] = 6; + task->data[1] = 0; + } + else + { + task->data[1] = 0; + task->data[0]++; + } + } + break; + case 3: + sub_8108AC0(task); + task->data[6] -= task->data[7] * 2; + if (++task->data[1] > 7) + task->data[0]++; + break; + case 4: + sub_8108AC0(task); + task->data[5] -= task->data[7] * 6; + if (!(task->data[5] >= -16 && task->data[5] <= 256)) + { + task->data[12]++; + task->data[1] = 0; + task->data[0]++; + } + break; + case 5: + sub_8108AC0(task); + task->data[6] -= task->data[7] * 2; + if (++task->data[1] > 7) + task->data[0] = 2; + break; + case 6: + if (task->data[8] == 0) + task->data[0]++; + break; + default: + DestroyAnimVisualTask(taskId); + break; + } +} + +void sub_8108AC0(struct Task *task) +{ + u8 spriteId; + + if (++task->data[2] > 1) + { + task->data[2] = 0; + spriteId = CreateSprite(&gUnknown_08595268, task->data[3], task->data[4], 10); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].data[0] = 16; + gSprites[spriteId].data[2] = task->data[5]; + gSprites[spriteId].data[4] = task->data[6]; + gSprites[spriteId].data[5] = task->data[9]; + InitAnimArcTranslation(&gSprites[spriteId]); + gSprites[spriteId].callback = sub_8108B2C; + task->data[8]++; + } + } +} + +void sub_8108B2C(struct Sprite *sprite) +{ + if (TranslateAnimArc(sprite)) + { + sprite->pos1.x += sprite->pos2.x; + sprite->pos1.y += sprite->pos2.y; + sprite->data[0] = 6; + sprite->data[2] = (Random2() & 0x1F) - 16 + sprite->pos1.x; + sprite->data[4] = (Random2() & 0x1F) - 16 + sprite->pos1.y; + sprite->data[5] = ~(Random2() & 7); + InitAnimArcTranslation(sprite); + sprite->callback = sub_8108B94; + } +} + +void sub_8108B94(struct Sprite *sprite) +{ + u16 i; + + if (TranslateAnimArc(sprite)) + { + for (i = 0; i < NUM_TASKS; i++) + { + if (gTasks[i].func == sub_8108978) + { + gTasks[i].data[10] = 1; + gTasks[i].data[8]--; + DestroySprite(sprite); + } + } + } +} + +void sub_8108BE0(struct Sprite *sprite) +{ + sprite->pos1.x = gBattleAnimArgs[0]; + sprite->pos1.y = gBattleAnimArgs[1]; + sprite->data[0] = gBattleAnimArgs[2]; + sprite->data[1] = gBattleAnimArgs[3]; + sprite->data[2] = gBattleAnimArgs[4]; + sprite->data[3] = gBattleAnimArgs[5]; + sprite->callback = sub_8108C08; +} + +void sub_8108C08(struct Sprite *sprite) +{ + sprite->data[4] -= sprite->data[0]; + sprite->pos2.y = sprite->data[4] / 10; + sprite->data[5] = (sprite->data[5] + sprite->data[1]) & 0xFF; + sprite->pos2.x = Sin(sprite->data[5], sprite->data[2]); + if (--sprite->data[3] == 0) + DestroyAnimSprite(sprite); +} + +void sub_8108C54(struct Sprite *sprite) +{ + sprite->data[3] += sprite->data[1]; + sprite->data[4] += sprite->data[2]; + sprite->pos2.x = sprite->data[3] >> 7; + sprite->pos2.y = sprite->data[4] >> 7; + if (--sprite->data[0] == 0) + { + FreeSpriteOamMatrix(sprite); + DestroySprite(sprite); + } +} + +void sub_8108C94(struct Sprite *sprite) +{ + InitAnimSpritePos(sprite, TRUE); + sprite->data[1] = GetBattlerSpriteCoord(gBattleAnimTarget, 2); + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 3); + sprite->data[3] = gBattleAnimArgs[2]; + sprite->data[4] = gBattleAnimArgs[3]; + sprite->callback = sub_8108CDC; +} + +void sub_8108CDC(struct Sprite *sprite) +{ + int xDiff = sprite->data[1] - sprite->pos1.x; + int yDiff = sprite->data[2] - sprite->pos1.y; + + sprite->pos2.x = (sprite->data[0] * xDiff) / sprite->data[3]; + sprite->pos2.y = (sprite->data[0] * yDiff) / sprite->data[3]; + if (++sprite->data[5] == sprite->data[4]) + { + sprite->data[5] = 0; + sub_8108D54(sprite, xDiff, yDiff); + } + if (sprite->data[3] == sprite->data[0]) + DestroyAnimSprite(sprite); + sprite->data[0]++; +} + +#ifdef NONMATCHING +void sub_8108D54(struct Sprite *sprite, int xDiff, int yDiff) +{ + s16 something = sprite->data[0] / 2; + s16 combinedX = sprite->pos1.x + sprite->pos2.x; + s16 combinedY = sprite->pos1.y + sprite->pos2.y; + s16 randomSomethingY = yDiff + (Random2() % 10) - 5; + s16 randomSomethingX = -xDiff + (Random2() % 10) - 5; + s16 i; + u8 spriteId; + + for (i = 0; i <= 0; i++) + { + spriteId = CreateSprite(&gUnknown_08595310, combinedX, combinedY + something, 130); + gSprites[spriteId].data[0] = 20; + gSprites[spriteId].data[1] = randomSomethingY; + gSprites[spriteId].subpriority = GetBattlerSpriteSubpriority(gBattleAnimAttacker) - 1; + if (randomSomethingX < 0) + gSprites[spriteId].data[2] = -randomSomethingX; + else + gSprites[spriteId].data[2] = randomSomethingX; + } + for (i = 0; i <= 0; i++) + { + spriteId = CreateSprite(&gUnknown_08595310, combinedX, combinedY - something, 130); + gSprites[spriteId].data[0] = 20; + gSprites[spriteId].data[1] = randomSomethingY; + gSprites[spriteId].subpriority = GetBattlerSpriteSubpriority(gBattleAnimAttacker) - 1; + if (randomSomethingX > 0) + gSprites[spriteId].data[2] = -randomSomethingX; + else + gSprites[spriteId].data[2] = randomSomethingX; + } +} +#else +NAKED +void sub_8108D54(struct Sprite *sprite, int xDiff, int yDiff) +{ + asm_unified("push {r4-r7,lr}\n\ + mov r7, r10\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5-r7}\n\ + sub sp, 0x18\n\ + adds r4, r1, 0\n\ + adds r5, r2, 0\n\ + movs r2, 0x2E\n\ + ldrsh r1, [r0, r2]\n\ + lsrs r2, r1, 31\n\ + adds r1, r2\n\ + lsls r1, 15\n\ + lsrs r1, 16\n\ + str r1, [sp]\n\ + ldrh r1, [r0, 0x24]\n\ + ldrh r3, [r0, 0x20]\n\ + adds r1, r3\n\ + lsls r1, 16\n\ + lsrs r1, 16\n\ + mov r8, r1\n\ + ldrh r1, [r0, 0x26]\n\ + ldrh r0, [r0, 0x22]\n\ + adds r1, r0\n\ + lsls r1, 16\n\ + lsrs r1, 16\n\ + mov r10, r1\n\ + bl Random2\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + movs r1, 0xA\n\ + bl __umodsi3\n\ + adds r0, r5, r0\n\ + subs r0, 0x5\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + mov r9, r0\n\ + bl Random2\n\ + negs r4, r4\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + movs r1, 0xA\n\ + bl __umodsi3\n\ + adds r4, r0\n\ + subs r4, 0x5\n\ + lsls r4, 16\n\ + lsrs r7, r4, 16\n\ + movs r6, 0\n\ + mov r0, r8\n\ + lsls r0, 16\n\ + mov r8, r0\n\ + mov r1, r10\n\ + lsls r1, 16\n\ + str r1, [sp, 0xC]\n\ + ldr r2, [sp]\n\ + lsls r2, 16\n\ + str r2, [sp, 0x10]\n\ + asrs r1, 16\n\ + lsls r0, r7, 16\n\ + asrs r5, r0, 16\n\ + str r0, [sp, 0x14]\n\ + negs r3, r5\n\ + str r3, [sp, 0x4]\n\ + asrs r0, r2, 16\n\ + adds r1, r0\n\ + lsls r1, 16\n\ + mov r10, r1\n\ +_08108DE2:\n\ + ldr r0, =gUnknown_08595310\n\ + mov r2, r8\n\ + asrs r1, r2, 16\n\ + mov r3, r10\n\ + asrs r2, r3, 16\n\ + movs r3, 0x82\n\ + bl CreateSprite\n\ + lsls r0, 24\n\ + lsrs r2, r0, 24\n\ + ldr r1, =gSprites\n\ + lsls r0, r2, 4\n\ + adds r0, r2\n\ + lsls r0, 2\n\ + adds r4, r0, r1\n\ + movs r0, 0x14\n\ + strh r0, [r4, 0x2E]\n\ + mov r0, r9\n\ + strh r0, [r4, 0x30]\n\ + ldr r0, =gBattleAnimAttacker\n\ + ldrb r0, [r0]\n\ + bl GetBattlerSpriteSubpriority\n\ + subs r0, 0x1\n\ + adds r1, r4, 0\n\ + adds r1, 0x43\n\ + strb r0, [r1]\n\ + cmp r5, 0\n\ + bge _08108E30\n\ + mov r1, sp\n\ + ldrh r1, [r1, 0x4]\n\ + strh r1, [r4, 0x32]\n\ + b _08108E32\n\ + .pool\n\ +_08108E30:\n\ + strh r7, [r4, 0x32]\n\ +_08108E32:\n\ + lsls r0, r6, 16\n\ + movs r2, 0x80\n\ + lsls r2, 9\n\ + adds r0, r2\n\ + lsrs r6, r0, 16\n\ + cmp r0, 0\n\ + ble _08108DE2\n\ + movs r6, 0\n\ + ldr r3, [sp, 0xC]\n\ + asrs r1, r3, 16\n\ + ldr r0, [sp, 0x14]\n\ + asrs r5, r0, 16\n\ + negs r2, r5\n\ + str r2, [sp, 0x8]\n\ + ldr r3, [sp, 0x10]\n\ + asrs r0, r3, 16\n\ + subs r1, r0\n\ + lsls r1, 16\n\ + mov r10, r1\n\ +_08108E58:\n\ + ldr r0, =gUnknown_08595310\n\ + mov r2, r8\n\ + asrs r1, r2, 16\n\ + mov r3, r10\n\ + asrs r2, r3, 16\n\ + movs r3, 0x82\n\ + bl CreateSprite\n\ + lsls r0, 24\n\ + lsrs r2, r0, 24\n\ + ldr r1, =gSprites\n\ + lsls r0, r2, 4\n\ + adds r0, r2\n\ + lsls r0, 2\n\ + adds r4, r0, r1\n\ + movs r0, 0x14\n\ + strh r0, [r4, 0x2E]\n\ + mov r0, r9\n\ + strh r0, [r4, 0x30]\n\ + ldr r0, =gBattleAnimAttacker\n\ + ldrb r0, [r0]\n\ + bl GetBattlerSpriteSubpriority\n\ + subs r0, 0x1\n\ + adds r1, r4, 0\n\ + adds r1, 0x43\n\ + strb r0, [r1]\n\ + cmp r5, 0\n\ + ble _08108EA8\n\ + mov r1, sp\n\ + ldrh r1, [r1, 0x8]\n\ + strh r1, [r4, 0x32]\n\ + b _08108EAA\n\ + .pool\n\ +_08108EA8:\n\ + strh r7, [r4, 0x32]\n\ +_08108EAA:\n\ + lsls r0, r6, 16\n\ + movs r2, 0x80\n\ + lsls r2, 9\n\ + adds r0, r2\n\ + lsrs r6, r0, 16\n\ + cmp r0, 0\n\ + ble _08108E58\n\ + add sp, 0x18\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"); +} +#endif |