summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMarco Willems (M17.1) <progreon@gmail.com>2018-01-04 21:48:30 +0100
committerMarco Willems (M17.1) <progreon@gmail.com>2018-01-04 21:48:30 +0100
commitff1a79f2fcc111360fe0ce478fdd24cfcdf93932 (patch)
tree72a7336f28db1d64f74da1232b0c24b34e022516 /src
parent6649ab0876f608eedbdc5bff55d4c55593b12122 (diff)
Formatted to fit with the rest of the source code
Diffstat (limited to 'src')
-rw-r--r--src/battle/anim/fire.c84
-rw-r--r--src/battle/anim/fire_2.c307
2 files changed, 246 insertions, 145 deletions
diff --git a/src/battle/anim/fire.c b/src/battle/anim/fire.c
index d1ef86731..253236805 100644
--- a/src/battle/anim/fire.c
+++ b/src/battle/anim/fire.c
@@ -9,78 +9,105 @@ extern u8 gAnimBankAttacker;
void sub_80D5038(struct Sprite *);
void sub_80D50E8(struct Sprite *);
-void sub_80D4ED8(struct Sprite *sprite) {
+void sub_80D4ED8(struct Sprite *sprite)
+{
sprite->data[0] = gBattleAnimArgs[0];
sprite->data[1] = 0x3C;
sprite->data[2] = 0x9;
sprite->data[3] = 0x1E;
sprite->data[4] = 0xFE00;
+
StoreSpriteCallbackInData(sprite, DestroyAnimSprite);
+
sprite->callback = sub_8078174;
sub_8078174(sprite);
}
-void sub_80D4F18(struct Sprite *sprite) {
+void sub_80D4F18(struct Sprite *sprite)
+{
sub_807867C(sprite, gBattleAnimArgs[0]);
+
sprite->pos1.y += gBattleAnimArgs[1];
sprite->data[0] = gBattleAnimArgs[4];
sprite->data[1] = gBattleAnimArgs[2];
sprite->data[2] = gBattleAnimArgs[3];
+
sprite->callback = sub_8078394;
StoreSpriteCallbackInData(sprite, DestroyAnimSprite);
}
-void sub_80D4F5C(struct Sprite *sprite) {
+void sub_80D4F5C(struct Sprite *sprite)
+{
sub_8078650(sprite);
- if (GetBankSide(gAnimBankAttacker)) {
+
+ if (GetBankSide(gAnimBankAttacker))
+ {
sprite->pos1.x -= gBattleAnimArgs[0];
sprite->pos1.y += gBattleAnimArgs[1];
sprite->data[2] = -gBattleAnimArgs[4];
- } else {
+ }
+ else
+ {
sprite->pos1.x += gBattleAnimArgs[0];
sprite->pos1.y += gBattleAnimArgs[1];
sprite->data[2] = gBattleAnimArgs[4];
}
+
sprite->data[1] = gBattleAnimArgs[2];
sprite->data[4] = gBattleAnimArgs[3];
sprite->data[3] = gBattleAnimArgs[5];
+
sprite->callback = sub_80D5038;
}
-void sub_80D4FCC(struct Sprite *sprite) {
- if (GetBankSide(gAnimBankAttacker)) {
+void sub_80D4FCC(struct Sprite *sprite)
+{
+ if (GetBankSide(gAnimBankAttacker))
+ {
sprite->pos1.x -= gBattleAnimArgs[0];
sprite->pos1.y += gBattleAnimArgs[1];
sprite->data[2] = gBattleAnimArgs[4];
- } else {
+ }
+ else
+ {
sprite->pos1.x += gBattleAnimArgs[0];
sprite->pos1.y += gBattleAnimArgs[1];
sprite->data[2] = -gBattleAnimArgs[4];
}
+
sprite->data[1] = gBattleAnimArgs[2];
sprite->data[4] = gBattleAnimArgs[3];
sprite->data[3] = gBattleAnimArgs[5];
+
sprite->callback = sub_80D5038;
}
-void sub_80D5038(struct Sprite *sprite) {
- if (++sprite->data[0] < sprite->data[4]) {
+void sub_80D5038(struct Sprite *sprite)
+{
+ if (++sprite->data[0] < sprite->data[4])
+ {
sprite->pos2.x += sprite->data[2];
sprite->pos2.y += sprite->data[3];
}
- if (sprite->data[0] == sprite->data[1]) {
+
+ if (sprite->data[0] == sprite->data[1])
move_anim_8074EE0(sprite);
- }
}
-void sub_80D5074(struct Sprite *sprite) {
+void sub_80D5074(struct Sprite *sprite)
+{
sub_8078650(sprite);
- if (GetBankSide(gAnimBankAttacker)) {
+
+ if (GetBankSide(gAnimBankAttacker))
+ {
sprite->pos1.x -= gBattleAnimArgs[0];
- } else {
+ }
+ else
+ {
sprite->pos1.x += gBattleAnimArgs[0];
sprite->subpriority = 8;
}
+
sprite->pos1.y += gBattleAnimArgs[1];
sprite->data[0] = gBattleAnimArgs[2];
sprite->data[1] = gBattleAnimArgs[3];
@@ -88,25 +115,32 @@ void sub_80D5074(struct Sprite *sprite) {
sprite->data[3] = gBattleAnimArgs[5];
sprite->data[4] = gBattleAnimArgs[6];
sprite->data[5] = 0;
+
sprite->callback = sub_80D50E8;
}
-void sub_80D50E8(struct Sprite *sprite) {
- if (sprite->data[3]) {
- if(sprite->data[5] > 10000) {
+void sub_80D50E8(struct Sprite *sprite)
+{
+ if (sprite->data[3])
+ {
+ if(sprite->data[5] > 10000)
sprite->subpriority = 1;
- }
+
sprite->pos2.x = Sin(sprite->data[0], sprite->data[1] + (sprite->data[5] >> 8));
sprite->pos2.y = Cos(sprite->data[0], sprite->data[1] + (sprite->data[5] >> 8));
+
sprite->data[0] += sprite->data[2];
sprite->data[5] += sprite->data[4];
- if (sprite->data[0] > 0xFF) {
- sprite->data[0] -= 0x100;
- } else if (sprite->data[0] < 0) {
- sprite->data[0] += 0x100;
- }
+
+ if (sprite->data[0] > 255)
+ sprite->data[0] -= 256;
+ else if (sprite->data[0] < 0)
+ sprite->data[0] += 256;
+
sprite->data[3]--;
- } else {
+ }
+ else
+ {
move_anim_8074EE0(sprite);
}
} \ No newline at end of file
diff --git a/src/battle/anim/fire_2.c b/src/battle/anim/fire_2.c
index c68bc51f9..6dc304232 100644
--- a/src/battle/anim/fire_2.c
+++ b/src/battle/anim/fire_2.c
@@ -20,114 +20,149 @@ void sub_80D541C(struct Sprite *);
void sub_80D54E0(u8 taskId);
void sub_80D57C4(u8 spriteId, u8 taskId, u8 a3);
-void sub_80D51A8(struct Sprite *sprite) {
- if (GetBankSide(gAnimBankAttacker) == GetBankSide(gAnimBankTarget)) {
- if (gAnimBankAttacker == GetBankByPlayerAI(2) || gAnimBankAttacker == GetBankByPlayerAI(3)) {
+void sub_80D51A8(struct Sprite *sprite)
+{
+ if (GetBankSide(gAnimBankAttacker) == GetBankSide(gAnimBankTarget)
+ && (gAnimBankAttacker == GetBankByPlayerAI(2)
+ || gAnimBankAttacker == GetBankByPlayerAI(3)))
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
- }
- }
+
sprite->callback = sub_8079534;
sub_8079534(sprite);
}
-struct Sprite *sub_80D5210(struct Sprite *sprite) {
+struct Sprite *sub_80D5210(struct Sprite *sprite)
+{
gBattleAnimArgs[0] = -gBattleAnimArgs[0];
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
+
sprite->callback = sub_8079534;
return sprite;
}
-void sub_80D522C(struct Sprite *sprite) {
+void sub_80D522C(struct Sprite *sprite)
+{
sub_80787B0(sprite, 1);
+
sprite->data[7] = gBattleAnimArgs[2];
sprite->data[0] = 0;
+
sprite->callback = sub_80D5254;
}
-void sub_80D5254(struct Sprite *sprite) {
+void sub_80D5254(struct Sprite *sprite)
+{
sub_80D5348(sprite);
- sprite->data[0]++;
- if (sprite->data[0] == 0x12) {
+
+ if (++sprite->data[0] == 0x12)
+ {
sprite->data[0] = 0x19;
sprite->data[1] = sprite->pos1.x;
sprite->data[2] = GetBankPosition(gAnimBankTarget, 2);
sprite->data[3] = sprite->pos1.y;
sprite->data[4] = GetBankPosition(gAnimBankTarget, 3);
+
obj_translate_based_on_private_1_2_3_4(sprite);
+
sprite->callback = sub_80D52AC;
}
}
-void sub_80D52AC(struct Sprite *sprite) {
- if (sub_8078B5C(sprite)) {
+void sub_80D52AC(struct Sprite *sprite)
+{
+ if (sub_8078B5C(sprite))
+ {
sprite->data[0] = 0;
+
sprite->pos1.x = GetBankPosition(gAnimBankTarget, 2);
sprite->pos1.y = GetBankPosition(gAnimBankTarget, 3);
sprite->pos2.y = 0;
sprite->pos2.x = 0;
+
sprite->callback = sub_80D5324;
sub_80D5324(sprite);
- } else {
+ }
+ else
+ {
sprite->pos2.x += Sin(sprite->data[7], 28);
sprite->pos2.y += Cos(sprite->data[7], 28);
+
sprite->data[7] = (sprite->data[7] + 20) & 0xFF;
}
}
-void sub_80D5324(struct Sprite *sprite) {
+void sub_80D5324(struct Sprite *sprite)
+{
sub_80D5348(sprite);
- if (++sprite->data[0] == 0x1F) {
+
+ if (++sprite->data[0] == 0x1F)
DestroyAnimSprite(sprite);
- }
}
-void sub_80D5348(struct Sprite *sprite) {
+void sub_80D5348(struct Sprite *sprite)
+{
sprite->pos2.x = Sin(sprite->data[7], 28);
sprite->pos2.y = Cos(sprite->data[7], 28);
+
sprite->data[7] = (sprite->data[7] + 20) & 0xFF;
}
-void sub_80D5374(struct Sprite *sprite) {
+void sub_80D5374(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];
+
StoreSpriteCallbackInData(sprite, DestroyAnimSprite);
+
sprite->callback = sub_8078364;
}
-void sub_80D53B4(struct Sprite *sprite) {
+void sub_80D53B4(struct Sprite *sprite)
+{
sub_80787B0(sprite, 1);
+
sprite->data[1] = gBattleAnimArgs[2];
sprite->data[0] = gBattleAnimArgs[3];
+
sprite->invisible = TRUE;
sprite->callback = sub_80782D8;
+
StoreSpriteCallbackInData(sprite, sub_80D53F4);
}
-void sub_80D53F4(struct Sprite *sprite) {
+void sub_80D53F4(struct Sprite *sprite)
+{
sprite->invisible = FALSE;
+
sprite->data[0] = sprite->data[1];
sprite->data[1] = 0;
+
sprite->callback = sub_80D541C;
sub_80D541C(sprite);
}
-void sub_80D541C(struct Sprite *sprite) {
+void sub_80D541C(struct Sprite *sprite)
+{
sprite->pos2.x = Sin(sprite->data[1], sprite->data[2] >> 8);
sprite->pos2.y = Cos(sprite->data[1], sprite->data[2] >> 8);
+
sprite->data[1] = (sprite->data[1] + 10) & 0xFF;
sprite->data[2] += 0xD0;
- sprite->data[0]--;
- if (sprite->data[0] == -1) {
+
+ if (--sprite->data[0] == -1)
DestroyAnimSprite(sprite);
- }
}
-void sub_80D5470(u8 taskId) { // initialize animation task for Move_ERUPTION?
+void sub_80D5470(u8 taskId) // initialize animation task for Move_ERUPTION?
+{
struct Task *task = &gTasks[taskId];
+
task->data[15] = GetAnimBankSpriteId(0);
+
task->data[0] = 0;
task->data[1] = 0;
task->data[2] = 0;
@@ -135,124 +170,156 @@ void sub_80D5470(u8 taskId) { // initialize animation task for Move_ERUPTION?
task->data[4] = gSprites[task->data[15]].pos1.y;
task->data[5] = GetBankSide(gAnimBankAttacker);
task->data[6] = 0;
+
sub_8078E70(task->data[15], 0);
+
task->func = sub_80D54E0;
}
-void sub_80D54E0(u8 taskId) { // animate Move_ERUPTION?
+void sub_80D54E0(u8 taskId) // animate Move_ERUPTION?
+{
struct Task *task = &gTasks[taskId];
- switch (task->data[0]) {
- case 0:
- sub_8079C08(task, task->data[15], 0x100, 0x100, 0xE0, 0x200, 0x20);
- task->data[0]++;
- case 1:
- if (++task->data[1] > 1) {
- task->data[1] = 0;
- if (++task->data[2] & 0x1) {
- gSprites[task->data[15]].pos2.x = 3;
- } else {
- gSprites[task->data[15]].pos2.x = -3;
- }
- }
- if (task->data[5]) {
- if (++task->data[3] > 4) {
- task->data[3] = 0;
- gSprites[task->data[15]].pos1.y++;
- }
- }
- if(!sub_8079C74(task)) {
- sub_8079A64(task->data[15]);
- gSprites[task->data[15]].pos2.x = 0;
- task->data[1] = 0;
- task->data[2] = 0;
- task->data[3] = 0;
- task->data[0]++;
- }
- break;
- case 2:
- if (++task->data[1] > 4) {
- if (task->data[5]) {
- sub_8079C08(task, task->data[15], 0xE0, 0x200, 0x180, 0xF0, 0x6);
- } else {
- sub_8079C08(task, task->data[15], 0xE0, 0x200, 0x180, 0xC0, 0x6);
- }
- task->data[1] = 0;
- task->data[0]++;
- }
- break;
- case 3:
- if (!sub_8079C74(task)) {
- sub_80D57C4(task->data[15], taskId, 6);
- task->data[0]++;
- }
- break;
- case 4:
- if (++task->data[1] > 1) {
- task->data[1] = 0;
- if (++task->data[2] & 1) {
- gSprites[task->data[15]].pos2.y += 3;
- } else {
- gSprites[task->data[15]].pos2.y -= 3;
- }
- }
- if (++task->data[3] > 0x18) {
- if (task->data[5]) {
- sub_8079C08(task, task->data[15], 0x180, 0xF0, 0x100, 0x100, 0x8);
- } else {
- sub_8079C08(task, task->data[15], 0x180, 0xC0, 0x100, 0x100, 0x8);
- }
- if (task->data[2] & 1) {
- gSprites[task->data[15]].pos2.y -= 3;
- }
- task->data[1] = 0;
- task->data[2] = 0;
+
+ switch (task->data[0])
+ {
+ case 0:
+ sub_8079C08(task, task->data[15], 0x100, 0x100, 0xE0, 0x200, 0x20);
+
+ task->data[0]++;
+ case 1:
+ if (++task->data[1] > 1)
+ {
+ task->data[1] = 0;
+
+ if (++task->data[2] & 0x1)
+ gSprites[task->data[15]].pos2.x = 3;
+ else
+ gSprites[task->data[15]].pos2.x = -3;
+ }
+
+ if (task->data[5])
+ {
+ if (++task->data[3] > 4)
+ {
task->data[3] = 0;
- task->data[0]++;
- }
- break;
- case 5:
- if (task->data[5]) {
- gSprites[task->data[15]].pos1.y--;
- }
- if (!sub_8079C74(task)) {
- gSprites[task->data[15]].pos1.y = task->data[4];
- sub_8078F40(task->data[15]);
- task->data[2] = 0;
- task->data[0]++;
+ gSprites[task->data[15]].pos1.y++;
}
- break;
- case 6:
- if (!task->data[6]) {
- DestroyAnimVisualTask(taskId);
- }
- break;
- default:
+ }
+
+ if(!sub_8079C74(task))
+ {
+ sub_8079A64(task->data[15]);
+ gSprites[task->data[15]].pos2.x = 0;
+
+ task->data[1] = 0;
+ task->data[2] = 0;
+ task->data[3] = 0;
+ task->data[0]++;
+ }
+ break;
+ case 2:
+ if (++task->data[1] > 4)
+ {
+ if (task->data[5])
+ sub_8079C08(task, task->data[15], 0xE0, 0x200, 0x180, 0xF0, 0x6);
+ else
+ sub_8079C08(task, task->data[15], 0xE0, 0x200, 0x180, 0xC0, 0x6);
+
+ task->data[1] = 0;
+ task->data[0]++;
+ }
+ break;
+ case 3:
+ if (!sub_8079C74(task))
+ {
+ sub_80D57C4(task->data[15], taskId, 6);
+
+ task->data[0]++;
+ }
+ break;
+ case 4:
+ if (++task->data[1] > 1)
+ {
+ task->data[1] = 0;
+
+ if (++task->data[2] & 1)
+ gSprites[task->data[15]].pos2.y += 3;
+ else
+ gSprites[task->data[15]].pos2.y -= 3;
+ }
+
+ if (++task->data[3] > 0x18)
+ {
+ if (task->data[5])
+ sub_8079C08(task, task->data[15], 0x180, 0xF0, 0x100, 0x100, 0x8);
+ else
+ sub_8079C08(task, task->data[15], 0x180, 0xC0, 0x100, 0x100, 0x8);
+
+ if (task->data[2] & 1)
+ gSprites[task->data[15]].pos2.y -= 3;
+
+ task->data[1] = 0;
+ task->data[2] = 0;
+ task->data[3] = 0;
+ task->data[0]++;
+ }
+ break;
+ case 5:
+ if (task->data[5])
+ gSprites[task->data[15]].pos1.y--;
+
+ if (!sub_8079C74(task))
+ {
+ gSprites[task->data[15]].pos1.y = task->data[4];
+ sub_8078F40(task->data[15]);
+
+ task->data[2] = 0;
+ task->data[0]++;
+ }
+ break;
+ case 6:
+ if (!task->data[6])
+ DestroyAnimVisualTask(taskId);
+
+ break;
+ default:
}
}
-void sub_80D57C4(u8 spriteId, u8 taskId, u8 a3) {
- u16 i;
- u16 j;
+void sub_80D57C4(u8 spriteId, u8 taskId, u8 a3)
+{
+ u16 i, j;
+ s8 sign;
+
u16 y = sub_80D5940(spriteId);
u16 x = gSprites[spriteId].pos1.x;
- s8 sign;
- if(!GetBankSide(gAnimBankAttacker)) {
+
+ if(!GetBankSide(gAnimBankAttacker))
+ {
x -= 0xC;
sign = 1;
- } else {
+ }
+ else
+ {
x += 0x10;
sign = -1;
}
- for (i = 0, j = 0; i <= 6; i++) {
+
+ for (i = 0, j = 0; i <= 6; i++)
+ {
u8 spriteId = CreateSprite(&gSpriteTemplate_83D96C4, x, y, 2);
- if (spriteId != 0x40) {
+
+ if (spriteId != 0x40)
+ {
gSprites[spriteId].oam.tileNum += j * 4 + 0x40;
- if (++j >= 5) {
+
+ if (++j >= 5)
j = 0;
- }
+
sub_80D5994(&gSprites[spriteId], gHeatedRockCoords[i][0] * sign, gHeatedRockCoords[i][1]);
gSprites[spriteId].data[6] = taskId;
gSprites[spriteId].data[7] = a3;
+
gTasks[taskId].data[a3]++;
}
}