summaryrefslogtreecommitdiff
path: root/src/battle/battle_anim_807B69C.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/battle/battle_anim_807B69C.c')
-rw-r--r--src/battle/battle_anim_807B69C.c354
1 files changed, 0 insertions, 354 deletions
diff --git a/src/battle/battle_anim_807B69C.c b/src/battle/battle_anim_807B69C.c
deleted file mode 100644
index 90e6ce38c..000000000
--- a/src/battle/battle_anim_807B69C.c
+++ /dev/null
@@ -1,354 +0,0 @@
-#include "global.h"
-#include "battle.h"
-#include "battle_anim.h"
-#include "blend_palette.h"
-#include "decompress.h"
-#include "palette.h"
-#include "sprite.h"
-#include "task.h"
-#include "trig.h"
-#include "ewram.h"
-
-extern u8 gBattleAnimAttacker;
-extern u8 gBattleAnimTarget;
-extern bool8 gAnimScriptActive;
-extern void (*gAnimScriptCallback)(void);
-extern s16 gBattleAnimArgs[];
-extern u8 gBattleAnimTarget;
-extern u8 gBankSpriteIds[];
-extern const struct CompressedSpriteSheet gBattleAnimPicTable[];
-extern const struct CompressedSpritePalette gBattleAnimPaletteTable[];
-extern const u8 *const gBattleAnims_StatusConditions[];
-extern const struct OamData gOamData_837E05C;
-extern const struct OamData gOamData_837DF24;
-
-extern u8 GetBattlerSpriteCoord(u8, u8);
-extern void sub_80E32E0(u8);
-
-
-static const struct Subsprite gSubspriteTable_83931B8[] =
-{
- {.x = -16, .y = -16, .shape = ST_OAM_SQUARE, .size = 3, .tileOffset = 0, .priority = 2},
- {.x = -16, .y = 48, .shape = ST_OAM_H_RECTANGLE, .size = 3, .tileOffset = 64, .priority = 2},
- {.x = 48, .y = -16, .shape = ST_OAM_V_RECTANGLE, .size = 3, .tileOffset = 96, .priority = 2},
- {.x = 48, .y = 48, .shape = ST_OAM_SQUARE, .size = 2, .tileOffset = 128, .priority = 2},
-};
-
-static const struct SubspriteTable gSubspriteTables_83931D8[] =
-{
- {ARRAY_COUNT(gSubspriteTable_83931B8), gSubspriteTable_83931B8},
-};
-
-static const struct SpriteTemplate gSpriteTemplate_83931E0 =
-{
- .tileTag = ANIM_TAG_ICE_CUBE,
- .paletteTag = ANIM_TAG_ICE_CUBE,
- .oam = &gOamData_837E05C,
- .anims = gDummySpriteAnimTable,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = SpriteCallbackDummy,
-};
-
-static void sub_807B870(struct Sprite *);
-static const struct SpriteTemplate gSpriteTemplate_83931F8 =
-{
- .tileTag = ANIM_TAG_CIRCLE_IMPACT,
- .paletteTag = ANIM_TAG_CIRCLE_IMPACT,
- .oam = &gOamData_837DF24,
- .anims = gDummySpriteAnimTable,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_807B870,
-};
-
-static void sub_807B7E0(u8);
-static void sub_807B8A4(struct Sprite *);
-static void sub_807B9D8(u8);
-static void sub_807BA24(u8);
-static void sub_807BAD4(u8);
-static void sub_807BB24(u8);
-static void sub_807BDAC(u8);
-
-u8 unref_sub_807B69C(u8 a, u8 b)
-{
- u8 spriteId1 = gBankSpriteIds[a];
- u8 taskId = CreateTask(sub_807B7E0, 10);
- u8 spriteId2;
- u8 i;
-
- LoadCompressedObjectPic(&gBattleAnimPicTable[136]);
- LoadCompressedObjectPalette(&gBattleAnimPaletteTable[136]);
- gTasks[taskId].data[0] = a;
- if (b != 0)
- {
- gTasks[taskId].data[1] = 0x1F;
- for (i = 0; i < 10; i++)
- {
- spriteId2 = CreateSprite(&gSpriteTemplate_83931F8, gSprites[spriteId1].pos1.x, gSprites[spriteId1].pos1.y + 32, 0);
- gSprites[spriteId2].data[0] = i * 51;
- gSprites[spriteId2].data[1] = -256;
- gSprites[spriteId2].invisible = TRUE;
- if (i > 4)
- gSprites[spriteId2].data[6] = 21;
- }
- }
- else
- {
- gTasks[taskId].data[1] = 0x7C00;
- for (i = 0; i < 10; i++)
- {
- spriteId2 = CreateSprite(&gSpriteTemplate_83931F8, gSprites[spriteId1].pos1.x, gSprites[spriteId1].pos1.y - 32, 0);
- gSprites[spriteId2].data[0] = i * 51;
- gSprites[spriteId2].data[1] = 256;
- gSprites[spriteId2].invisible = TRUE;
- if (i > 4)
- gSprites[spriteId2].data[6] = 21;
- }
- }
- gSprites[spriteId2].data[7] = 1;
- return taskId;
-}
-
-static void sub_807B7E0(u8 taskId)
-{
- if (gTasks[taskId].data[2] == 2)
- {
- gTasks[taskId].data[2] = 0;
- BlendPalette(0x100 + gTasks[taskId].data[0] * 16, 16, gTasks[taskId].data[4], gTasks[taskId].data[1]);
- if (gTasks[taskId].data[5] == 0)
- {
- gTasks[taskId].data[4]++;
- if (gTasks[taskId].data[4] > 8)
- gTasks[taskId].data[5] ^= 1;
- }
- else
- {
- u16 var = gTasks[taskId].data[4];
-
- gTasks[taskId].data[4]--;
- if (gTasks[taskId].data[4] < 0)
- {
- gTasks[taskId].data[4] = var;
- gTasks[taskId].data[5] ^= 1;
- gTasks[taskId].data[3]++;
- if (gTasks[taskId].data[3] == 2)
- DestroyTask(taskId);
- }
- }
- }
- else
- {
- gTasks[taskId].data[2]++;
- }
-}
-
-static void sub_807B870(struct Sprite *sprite)
-{
- if (sprite->data[6] == 0)
- {
- sprite->invisible = FALSE;
- sprite->callback = sub_807B8A4;
- sub_807B8A4(sprite);
- }
- else
- {
- sprite->data[6] --;
- }
-}
-
-static void sub_807B8A4(struct Sprite *sprite)
-{
- sprite->pos2.x = Cos(sprite->data[0], 32);
- sprite->pos2.y = Sin(sprite->data[0], 8);
- if (sprite->data[0] < 128)
- sprite->subpriority = 29;
- else
- sprite->subpriority = 31;
- sprite->data[0] = (sprite->data[0] + 8) & 0xFF;
- sprite->data[5] += sprite->data[1];
- sprite->pos2.y += sprite->data[5] >> 8;
- sprite->data[2]++;
- if (sprite->data[2] == 52)
- {
- if (sprite->data[7] != 0)
- DestroySpriteAndFreeResources(sprite);
- else
- DestroySprite(sprite);
- }
-}
-
-void sub_807B920(u8 taskId)
-{
- s16 x = GetBattlerSpriteCoord(gBattleAnimTarget, 2) - 32;
- s16 y = GetBattlerSpriteCoord(gBattleAnimTarget, 3) - 36;
- u8 spriteId;
-
- if (IsContest())
- x -= 6;
- REG_BLDCNT = 0x3F40;
- REG_BLDALPHA = 0x1000;
- spriteId = CreateSprite(&gSpriteTemplate_83931E0, x, y, 4);
- SetSubspriteTables(&gSprites[spriteId], gSubspriteTables_83931D8);
- gTasks[taskId].data[15] = spriteId;
- gTasks[taskId].func = sub_807B9D8;
-}
-
-static void sub_807B9D8(u8 taskId)
-{
- gTasks[taskId].data[1]++;
- if (gTasks[taskId].data[1] == 10)
- {
- gTasks[taskId].func = sub_807BA24;
- gTasks[taskId].data[1] = 0;
- }
- else
- {
- u8 var = gTasks[taskId].data[1];
-
- REG_BLDALPHA = ((16 - var) << 8) | var;
- }
-}
-
-static void sub_807BA24(u8 taskId)
-{
- u8 r2 = IndexOfSpritePaletteTag(0x271A);
-
- if (gTasks[taskId].data[1]++ > 13)
- {
- gTasks[taskId].data[2]++;
- if (gTasks[taskId].data[2] == 3)
- {
- u16 temp;
-
- temp = gPlttBufferFaded[0x100 + r2 * 16 + 13];
- gPlttBufferFaded[0x100 + r2 * 16 + 13] = gPlttBufferFaded[0x100 + r2 * 16 + 14];
- gPlttBufferFaded[0x100 + r2 * 16 + 14] = gPlttBufferFaded[0x100 + r2 * 16 + 15];
- gPlttBufferFaded[0x100 + r2 * 16 + 15] = temp;
-
- gTasks[taskId].data[2] = 0;
- gTasks[taskId].data[3]++;
- if (gTasks[taskId].data[3] == 3)
- {
- gTasks[taskId].data[3] = 0;
- gTasks[taskId].data[1] = 0;
- gTasks[taskId].data[4]++;
- if (gTasks[taskId].data[4] == 2)
- {
- gTasks[taskId].data[1] = 9;
- gTasks[taskId].func = sub_807BAD4;
- }
- }
- }
- }
-}
-
-static void sub_807BAD4(u8 taskId)
-{
- gTasks[taskId].data[1]--;
- if (gTasks[taskId].data[1] == -1)
- {
- gTasks[taskId].func = sub_807BB24;
- gTasks[taskId].data[1] = 0;
- }
- else
- {
- u8 var = gTasks[taskId].data[1];
-
- REG_BLDALPHA = ((16 - var) << 8) | var;
- }
-}
-
-static void sub_807BB24(u8 taskId)
-{
- gTasks[taskId].data[1]++;
- if (gTasks[taskId].data[1] == 37)
- {
- u8 spriteId = gTasks[taskId].data[15];
-
- FreeSpriteOamMatrix(&gSprites[spriteId]);
- DestroySprite(&gSprites[spriteId]);
- }
- else if (gTasks[taskId].data[1] == 39)
- {
- REG_BLDCNT = 0;
- REG_BLDALPHA = 0;
- DestroyAnimVisualTask(taskId);
- }
-}
-
-void sub_807BB88(u8 taskId)
-{
- s16 r5;
- s16 r2;
- s16 r3 = 0;
-
- switch (ewram17840.unk0)
- {
- case 15: r5 = 0; r2 = 0; break;
- case 16: r5 = 0; r2 = 1; break;
- case 17: r5 = 0; r2 = 3; break;
- case 18: r5 = 0; r2 = 5; break;
- case 19: r5 = 0; r2 = 6; break;
- case 20: r5 = 0; r2 = 2; break;
- case 21: r5 = 0; r2 = 4; break;
- case 22: r5 = 1; r2 = 0; break;
- case 23: r5 = 1; r2 = 1; break;
- case 24: r5 = 1; r2 = 3; break;
- case 25: r5 = 1; r2 = 5; break;
- case 26: r5 = 1; r2 = 6; break;
- case 27: r5 = 1; r2 = 2; break;
- case 28: r5 = 1; r2 = 4; break;
- case 39: r5 = 0; r2 = 0; r3 = 1; break;
- case 40: r5 = 0; r2 = 1; r3 = 1; break;
- case 41: r5 = 0; r2 = 3; r3 = 1; break;
- case 42: r5 = 0; r2 = 5; r3 = 1; break;
- case 43: r5 = 0; r2 = 6; r3 = 1; break;
- case 44: r5 = 0; r2 = 2; r3 = 1; break;
- case 45: r5 = 0; r2 = 4; r3 = 1; break;
- case 46: r5 = 1; r2 = 0; r3 = 1; break;
- case 47: r5 = 1; r2 = 1; r3 = 1; break;
- case 48: r5 = 1; r2 = 3; r3 = 1; break;
- case 49: r5 = 1; r2 = 5; r3 = 1; break;
- case 50: r5 = 1; r2 = 6; r3 = 1; break;
- case 51: r5 = 1; r2 = 2; r3 = 1; break;
- case 52: r5 = 1; r2 = 4; r3 = 1; break;
- case 55: r5 = 0; r2 = 0xFF; r3 = 0; break;
- case 56: r5 = 0; r2 = 0xFF; r3 = 1; break;
- case 57: r5 = 1; r2 = 0xFF; r3 = 0; break;
- case 58: r5 = 1; r2 = 0xFF; r3 = 1; break;
-
- default:
- DestroyAnimVisualTask(taskId);
- return;
- }
-
- gBattleAnimArgs[0] = r5;
- gBattleAnimArgs[1] = r2;
- gBattleAnimArgs[2] = 0;
- gBattleAnimArgs[3] = 0;
- gBattleAnimArgs[4] = r3;
- gTasks[taskId].func = sub_80E32E0;
- sub_80E32E0(taskId);
-}
-
-void move_anim_start_t2(u8 a, u8 b)
-{
- u8 taskId;
-
- gBattleAnimAttacker = a;
- gBattleAnimTarget = a;
- LaunchBattleAnimation(gBattleAnims_StatusConditions, b, 0);
- taskId = CreateTask(sub_807BDAC, 10);
- gTasks[taskId].data[0] = a;
-}
-
-static void sub_807BDAC(u8 taskId)
-{
- gAnimScriptCallback();
- if (!gAnimScriptActive)
- {
- ewram17810[gTasks[taskId].data[0]].unk0_4 = 0;
- DestroyTask(taskId);
- }
-}