void sub_80DCF60(struct Sprite *sprite) { StartSpriteAnim(sprite, gBattleAnimArgs[5]); AnimateSprite(sprite); if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) sprite->pos1.x -= gBattleAnimArgs[0]; else sprite->pos1.x += gBattleAnimArgs[0]; sprite->pos1.y += gBattleAnimArgs[1]; sprite->data[0] = gBattleAnimArgs[4]; sprite->data[1] = sprite->pos1.x; sprite->data[2] = sprite->pos1.x + gBattleAnimArgs[2]; sprite->data[3] = sprite->pos1.y; sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[3]; InitSpriteDataForLinearTranslation(sprite); sprite->data[3] = 0; sprite->data[4] = 0; sprite->callback = sub_8078394; StoreSpriteCallbackInData(sprite, move_anim_8074EE0); }
void sub_80CA7B0(struct Sprite* sprite) { InitAnimSpritePos(sprite, 1); sprite->data[0] = gBattleAnimArgs[2]; sprite->data[2] = GetBattlerSpriteCoord(gAnimBankAttacker, 2); sprite->data[4] = GetBattlerSpriteCoord(gAnimBankAttacker, 3); sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, move_anim_8074EE0); }
void sub_80D2064(struct Sprite* sprite) { sprite->pos1.x = gBattleAnimArgs[0]; sprite->pos1.y = 0xA0; sprite->data[0] = gBattleAnimArgs[2]; sprite->data[1] = gBattleAnimArgs[1]; sprite->callback = WaitAnimForDuration; StoreSpriteCallbackInData(sprite, sub_80D2094); }
void sub_80CA800(struct Sprite* sprite) { InitAnimSpritePos(sprite, 1); StartSpriteAnim(sprite, gBattleAnimArgs[3]); sprite->data[0] = gBattleAnimArgs[2]; sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2); sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3); sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); }
// Animates the rising rocks in Ancient Power. // arg 0: initial x pixel offset // arg 1: initial y pixel offset // arg 2: terminal y offset // arg 3: duration // arg 4: sprite size [1,5] void AnimRaiseSprite(struct Sprite *sprite) { StartSpriteAnim(sprite, gBattleAnimArgs[4]); InitAnimSpritePos(sprite, 0); sprite->data[0] = gBattleAnimArgs[3]; sprite->data[2] = sprite->pos1.x; sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[2]; sprite->callback = StartAnimLinearTranslation; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); }
void sub_80CF280(struct Sprite* sprite) { sub_8078650(sprite); sub_807867C(sprite, gBattleAnimArgs[0]); sprite->pos1.y += gBattleAnimArgs[1]; sprite->data[1] = gBattleAnimArgs[2]; sprite->data[2] = gBattleAnimArgs[4]; sprite->data[3] = gBattleAnimArgs[5]; sprite->data[4] = gBattleAnimArgs[3]; StoreSpriteCallbackInData(sprite, move_anim_8074EE0); sprite->callback = sub_8078278; sub_8078278(sprite); }
static void sub_80DCF1C(struct Sprite *sprite) { sprite->pos1.x += sprite->data[5]; sprite->data[0] = 192; sprite->data[1] = sprite->data[5]; sprite->data[2] = 4; sprite->data[3] = 32; sprite->data[4] = -24; StoreSpriteCallbackInData(sprite, move_anim_8074EE0); sprite->callback = sub_8078278; sprite->callback(sprite); }
void sub_80CEDF0(struct Sprite* sprite) { s16 a; if (gBattleAnimArgs[0] == 1) { sprite->oam.matrixNum = 8; a = 16; } else { a = -16; } sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2) + a; sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3) + 8; sprite->data[0] = 8; sprite->callback = WaitAnimForDuration; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); }
void sub_80DCE9C(struct Sprite *sprite) { if (gBattleAnimArgs[3] != 0) SetAverageBattlerPositions(gBattleAnimTarget, 0, &sprite->pos1.x, &sprite->pos1.y); sprite->pos1.x += gBattleAnimArgs[0]; sprite->pos1.y += 14; StartSpriteAnim(sprite, gBattleAnimArgs[1]); AnimateSprite(sprite); sprite->data[0] = 0; sprite->data[1] = 0; sprite->data[2] = 4; sprite->data[3] = 16; sprite->data[4] = -70; sprite->data[5] = gBattleAnimArgs[2]; StoreSpriteCallbackInData(sprite, sub_80DCF1C); sprite->callback = sub_8078278; sprite->callback(sprite); }
void sub_80D0178(struct Sprite* sprite) { s16 r7 = 32; s16 r4 = -32; s16 r8 = 16; s16 r6 = -16; if (gBattleAnimArgs[0] != 0) { r7 = r4; r4 = 32; r8 = r6; r6 = 16; StartSpriteAnim(sprite, 1); } sprite->pos1.x += r7; sprite->pos1.y += r4; sprite->data[0] = 6; sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + r8; sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + r6; sprite->callback = StartAnimLinearTranslation; StoreSpriteCallbackInData(sprite, sub_80D020C); }
void WallyHandleTrainerBallThrow(void) { u8 paletteNum; u8 taskId; oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBattler]]); gSprites[gBankSpriteIds[gActiveBattler]].data[0] = 50; gSprites[gBankSpriteIds[gActiveBattler]].data[2] = -40; gSprites[gBankSpriteIds[gActiveBattler]].data[4] = gSprites[gBankSpriteIds[gActiveBattler]].pos1.y; gSprites[gBankSpriteIds[gActiveBattler]].callback = StartTranslateAnimSpriteByDeltas; gSprites[gBankSpriteIds[gActiveBattler]].data[5] = gActiveBattler; StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBattler]], sub_8030E38); StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBattler]], 1); paletteNum = AllocSpritePalette(0xD6F8); LoadCompressedPalette(gTrainerBackPicPaletteTable[2].data, 0x100 + paletteNum * 16, 32); gSprites[gBankSpriteIds[gActiveBattler]].oam.paletteNum = paletteNum; taskId = CreateTask(sub_8139A2C, 5); gTasks[taskId].data[0] = gActiveBattler; if (ewram17810[gActiveBattler].unk0_0) gTasks[gUnknown_02024E68[gActiveBattler]].func = sub_8044CA0; ewram17810[4].unk9 |= 1; gBattleBankFunc[gActiveBattler] = nullsub_91; }