From 5c40e5ea212c947b1853a8c8dc23dcb8d882bf90 Mon Sep 17 00:00:00 2001 From: Evan Date: Mon, 2 Dec 2019 17:58:49 -0700 Subject: battle_anim_status_effects --- src/battle_anim_status_effects.c | 538 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 538 insertions(+) create mode 100644 src/battle_anim_status_effects.c (limited to 'src/battle_anim_status_effects.c') diff --git a/src/battle_anim_status_effects.c b/src/battle_anim_status_effects.c new file mode 100644 index 000000000..582dd20a5 --- /dev/null +++ b/src/battle_anim_status_effects.c @@ -0,0 +1,538 @@ +#include "global.h" +#include "battle.h" +#include "battle_anim.h" +#include "decompress.h" +#include "gpu_regs.h" +#include "palette.h" +#include "sprite.h" +#include "task.h" +#include "trig.h" +#include "util.h" +#include "constants/battle_anim.h" +#include "constants/rgb.h" + +// Function Declarations +static u8 sub_8078178(u8 battlerId, bool8 b); +static void sub_80782BC(u8 taskId); +static void sub_80784D8(u8 taskId); +static void sub_8078528(u8 taskId); +static void sub_80785D8(u8 taskId); +static void sub_807862C(u8 taskId); +static void Task_DoStatusAnimation(u8 taskId); +static void sub_807834C(struct Sprite *sprite); +static void sub_8078380(struct Sprite *sprite); + +// Data +extern const struct CompressedSpriteSheet gBattleAnimPicTable[]; +extern const struct CompressedSpritePalette gBattleAnimPaletteTable[]; +extern const u8 *const gBattleAnims_StatusConditions[]; +extern const struct OamData gOamData_AffineOff_ObjNormal_8x8; +extern const struct OamData gOamData_AffineOff_ObjBlend_64x64; + +static const union AnimCmd gUnknown_83BF3E0[] = +{ + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(4, 3), + ANIMCMD_FRAME(8, 3), + ANIMCMD_FRAME(12, 3), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd *const gSpriteAnimTable_83BF3F4[] = +{ + gUnknown_83BF3E0 +}; + +const struct SpriteTemplate gSpriteTemplate_83BF3F8 = +{ + .tileTag = ANIM_TAG_ORB, + .paletteTag = ANIM_TAG_ORB, + .oam = &gOamData_AffineOff_ObjNormal_16x16, + .anims = gSpriteAnimTable_83BF3F4, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80A8AEC, +}; + +const struct SpriteTemplate gSpriteTemplate_83BF410 = +{ + .tileTag = ANIM_TAG_ORB, + .paletteTag = ANIM_TAG_ORB, + .oam = &gOamData_AffineOff_ObjNormal_16x16, + .anims = gSpriteAnimTable_83BF3F4, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80A8A6C, +}; + +static const union AnimCmd gUnknown_83BF428[] = +{ + ANIMCMD_FRAME(0, 3), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd *const gSpriteAnimTable_83BF430[] = +{ + gUnknown_83BF428 +}; + +const struct SpriteTemplate gSpriteTemplate_83BF434 = +{ + .tileTag = ANIM_TAG_WEATHER_BALL, + .paletteTag = ANIM_TAG_WEATHER_BALL, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gSpriteAnimTable_83BF430, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80A8E30, +}; + +const struct SpriteTemplate gSpriteTemplate_83BF44C = +{ + .tileTag = ANIM_TAG_WEATHER_BALL, + .paletteTag = ANIM_TAG_WEATHER_BALL, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gSpriteAnimTable_83BF430, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80A8EE4, +}; + +static const union AnimCmd gUnknown_83BF464[] = +{ + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(16, 3), + ANIMCMD_FRAME(32, 3), + ANIMCMD_FRAME(48, 3), + ANIMCMD_FRAME(64, 3), + ANIMCMD_END +}; + +static const union AnimCmd *const gSpriteAnimTable_83BF47C[] = +{ + gUnknown_83BF464 +}; + +const struct SpriteTemplate gSpriteTemplate_83BF480 = +{ + .tileTag = ANIM_TAG_SPARKLE_4, + .paletteTag = ANIM_TAG_SPARKLE_4, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gSpriteAnimTable_83BF47C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80A8B64, +}; + +const struct SpriteTemplate gSpriteTemplate_83BF498 = +{ + .tileTag = ANIM_TAG_MONSTER_FOOT, + .paletteTag = ANIM_TAG_MONSTER_FOOT, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80A8AEC, +}; + +static const union AnimCmd gUnknown_83BF4B0[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd gUnknown_83BF4B8[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd gUnknown_83BF4C0[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd *const gSpriteAniimTable_83BF4C8[] = +{ + gUnknown_83BF4B0, + gUnknown_83BF4B8, + gUnknown_83BF4C0 +}; + +const struct SpriteTemplate gSpriteTemplate_83BF4D4 = +{ + .tileTag = ANIM_TAG_IMPACT, + .paletteTag = ANIM_TAG_IMPACT, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gSpriteAniimTable_83BF4C8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80A8AEC, +}; + +static const union AnimCmd gUnknown_83BF4EC[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd *const gSpriteAnimTable_83BF4F4[] = +{ + gUnknown_83BF4EC +}; + +static const union AffineAnimCmd gUnknown_83BF4F8[] = +{ + AFFINEANIMCMD_FRAME(96, 96, 0, 0), + AFFINEANIMCMD_FRAME(2, 2, 0, 1), + AFFINEANIMCMD_JUMP(1) +}; + +static const union AffineAnimCmd *const gSpriteAffineAnimTable_83BF510[] = +{ + gUnknown_83BF4F8 +}; + +const struct SpriteTemplate gSpriteTemplate_83BF514 = +{ + .tileTag = ANIM_TAG_ORB, + .paletteTag = ANIM_TAG_ORB, + .oam = &gOamData_AffineDouble_ObjNormal_16x16, + .anims = gSpriteAnimTable_83BF4F4, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83BF510, + .callback = sub_80A8A6C, +}; + +static const u32 gUnknown_83BF52C = _("TASK OVER\nタスクがオーバーしました$"); + +static const struct Subsprite gSubsprites_83BF544[] = +{ + {.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 gUnknown_83BF554[] = +{ + {ARRAY_COUNT(gSubsprites_83BF544), gSubsprites_83BF544}, +}; + +static const struct SpriteTemplate gUnknown_83BF55C = +{ + .tileTag = ANIM_TAG_ICE_CUBE, + .paletteTag = ANIM_TAG_ICE_CUBE, + .oam = &gOamData_AffineOff_ObjBlend_64x64, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const struct SpriteTemplate gUnknown_83BF574 = +{ + .tileTag = ANIM_TAG_CIRCLE_IMPACT, + .paletteTag = ANIM_TAG_CIRCLE_IMPACT, + .oam = &gOamData_AffineOff_ObjNormal_8x8, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_807834C, +}; + +// Functions +static u8 sub_8078178(u8 battlerId, bool8 b) +{ + u8 battlerSpriteId = gBattlerSpriteIds[battlerId]; + u8 taskId = CreateTask(sub_80782BC, 10); + u8 spriteId2; + u8 i; + + LoadCompressedSpriteSheetUsingHeap(&gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_CIRCLE_IMPACT)]); + LoadCompressedSpritePaletteUsingHeap(&gBattleAnimPaletteTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_CIRCLE_IMPACT)]); + gTasks[taskId].data[0] = battlerId; + if (b) + { + gTasks[taskId].data[1] = RGB_RED; + for (i = 0; i < 10; i++) + { + spriteId2 = CreateSprite(&gUnknown_83BF574, gSprites[battlerSpriteId].pos1.x, gSprites[battlerSpriteId].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] = RGB_BLUE; + for (i = 0; i < 10; i++) + { + spriteId2 = CreateSprite(&gUnknown_83BF574, gSprites[battlerSpriteId].pos1.x, gSprites[battlerSpriteId].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; +} + +// Functions +static void sub_80782BC(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_807834C(struct Sprite *sprite) +{ + if (sprite->data[6] == 0) + { + sprite->invisible = FALSE; + sprite->callback = sub_8078380; + sub_8078380(sprite); + } + else + { + sprite->data[6]--; + } +} + +static void sub_8078380(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]) + DestroySpriteAndFreeResources(sprite); + else + DestroySprite(sprite); + } +} + +void sub_80783FC(u8 taskId) +{ + s16 x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) - 32; + s16 y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) - 36; + u8 spriteId; + + if (IsContest()) + x -= 6; + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16)); + spriteId = CreateSprite(&gUnknown_83BF55C, x, y, 4); + if (GetSpriteTileStartByTag(ANIM_TAG_ICE_CUBE) == 0xFFFF) + gSprites[spriteId].invisible = TRUE; + SetSubspriteTables(&gSprites[spriteId], gUnknown_83BF554); + gTasks[taskId].data[15] = spriteId; + gTasks[taskId].func = sub_80784D8; +} + +static void sub_80784D8(u8 taskId) +{ + gTasks[taskId].data[1]++; + if (gTasks[taskId].data[1] == 10) + { + gTasks[taskId].func = sub_8078528; + gTasks[taskId].data[1] = 0; + } + else + { + u8 var = gTasks[taskId].data[1]; + + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(var, 16 - var)); + } +} + +static void sub_8078528(u8 taskId) +{ + u8 palIndex = IndexOfSpritePaletteTag(ANIM_TAG_ICE_CUBE); + + if (gTasks[taskId].data[1]++ > 13) + { + gTasks[taskId].data[2]++; + if (gTasks[taskId].data[2] == 3) + { + u16 temp; + + temp = gPlttBufferFaded[0x100 + palIndex * 16 + 13]; + gPlttBufferFaded[0x100 + palIndex * 16 + 13] = gPlttBufferFaded[0x100 + palIndex * 16 + 14]; + gPlttBufferFaded[0x100 + palIndex * 16 + 14] = gPlttBufferFaded[0x100 + palIndex * 16 + 15]; + gPlttBufferFaded[0x100 + palIndex * 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_80785D8; + } + } + } + } +} + +static void sub_80785D8(u8 taskId) +{ + gTasks[taskId].data[1]--; + if (gTasks[taskId].data[1] == -1) + { + gTasks[taskId].func = sub_807862C; + gTasks[taskId].data[1] = 0; + } + else + { + u8 var = gTasks[taskId].data[1]; + + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(var, 16 - var)); + } +} + +static void sub_807862C(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) + { + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BLDALPHA, 0); + DestroyAnimVisualTask(taskId); + } +} + +#define CASE(by, stat) case (STAT_ANIM_##by + stat - 1) + +void AnimTask_StatsChange(u8 taskId) +{ + bool16 goesDown = FALSE; + s16 animStatId = 0; + bool16 sharply = FALSE; + + switch (gBattleSpritesDataPtr->animationData->animArg) + { + CASE(PLUS1, STAT_ATK): goesDown = FALSE; animStatId = 0; break; + CASE(PLUS1, STAT_DEF): goesDown = FALSE; animStatId = 1; break; + CASE(PLUS1, STAT_SPEED): goesDown = FALSE; animStatId = 3; break; + CASE(PLUS1, STAT_SPATK): goesDown = FALSE; animStatId = 5; break; + CASE(PLUS1, STAT_SPDEF): goesDown = FALSE; animStatId = 6; break; + CASE(PLUS1, STAT_ACC): goesDown = FALSE; animStatId = 2; break; + CASE(PLUS1, STAT_EVASION): goesDown = FALSE; animStatId = 4; break; + + CASE(MINUS1, STAT_ATK): goesDown = TRUE; animStatId = 0; break; + CASE(MINUS1, STAT_DEF): goesDown = TRUE; animStatId = 1; break; + CASE(MINUS1, STAT_SPEED): goesDown = TRUE; animStatId = 3; break; + CASE(MINUS1, STAT_SPATK): goesDown = TRUE; animStatId = 5; break; + CASE(MINUS1, STAT_SPDEF): goesDown = TRUE; animStatId = 6; break; + CASE(MINUS1, STAT_ACC): goesDown = TRUE; animStatId = 2; break; + CASE(MINUS1, STAT_EVASION): goesDown = TRUE; animStatId = 4; break; + + CASE(PLUS2, STAT_ATK): goesDown = FALSE; animStatId = 0; sharply = TRUE; break; + CASE(PLUS2, STAT_DEF): goesDown = FALSE; animStatId = 1; sharply = TRUE; break; + CASE(PLUS2, STAT_SPEED): goesDown = FALSE; animStatId = 3; sharply = TRUE; break; + CASE(PLUS2, STAT_SPATK): goesDown = FALSE; animStatId = 5; sharply = TRUE; break; + CASE(PLUS2, STAT_SPDEF): goesDown = FALSE; animStatId = 6; sharply = TRUE; break; + CASE(PLUS2, STAT_ACC): goesDown = FALSE; animStatId = 2; sharply = TRUE; break; + CASE(PLUS2, STAT_EVASION): goesDown = FALSE; animStatId = 4; sharply = TRUE; break; + + CASE(MINUS2, STAT_ATK): goesDown = TRUE; animStatId = 0; sharply = TRUE; break; + CASE(MINUS2, STAT_DEF): goesDown = TRUE; animStatId = 1; sharply = TRUE; break; + CASE(MINUS2, STAT_SPEED): goesDown = TRUE; animStatId = 3; sharply = TRUE; break; + CASE(MINUS2, STAT_SPATK): goesDown = TRUE; animStatId = 5; sharply = TRUE; break; + CASE(MINUS2, STAT_SPDEF): goesDown = TRUE; animStatId = 6; sharply = TRUE; break; + CASE(MINUS2, STAT_ACC): goesDown = TRUE; animStatId = 2; sharply = TRUE; break; + CASE(MINUS2, STAT_EVASION): goesDown = TRUE; animStatId = 4; sharply = TRUE; break; + + case STAT_ANIM_MULTIPLE_PLUS1: goesDown = FALSE; animStatId = 0xFF; sharply = FALSE; break; + case STAT_ANIM_MULTIPLE_PLUS2: goesDown = FALSE; animStatId = 0xFF; sharply = TRUE; break; + case STAT_ANIM_MULTIPLE_MINUS1: goesDown = TRUE; animStatId = 0xFF; sharply = FALSE; break; + case STAT_ANIM_MULTIPLE_MINUS2: goesDown = TRUE; animStatId = 0xFF; sharply = TRUE; break; + + default: + DestroyAnimVisualTask(taskId); + return; + } + + gBattleAnimArgs[0] = goesDown; + gBattleAnimArgs[1] = animStatId; + gBattleAnimArgs[2] = 0; + gBattleAnimArgs[3] = 0; + gBattleAnimArgs[4] = sharply; + gTasks[taskId].func = sub_8116EB4; + sub_8116EB4(taskId); +} + +#undef CASE + +void LaunchStatusAnimation(u8 battlerId, u8 statusAnimId) +{ + u8 taskId; + + gBattleAnimAttacker = battlerId; + gBattleAnimTarget = battlerId; + LaunchBattleAnimation(gBattleAnims_StatusConditions, statusAnimId, 0); + taskId = CreateTask(Task_DoStatusAnimation, 10); + gTasks[taskId].data[0] = battlerId; +} + +static void Task_DoStatusAnimation(u8 taskId) +{ + gAnimScriptCallback(); + if (!gAnimScriptActive) + { + gBattleSpritesDataPtr->healthBoxesData[gTasks[taskId].data[0]].statusAnimActive = FALSE; + DestroyTask(taskId); + } +} -- cgit v1.2.3 From f1bd7a41cc1e2bcd730a0c2c6c5c4c618044f631 Mon Sep 17 00:00:00 2001 From: Evan Date: Mon, 2 Dec 2019 20:58:12 -0700 Subject: resolve compiler errors --- src/battle_anim_status_effects.c | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) (limited to 'src/battle_anim_status_effects.c') diff --git a/src/battle_anim_status_effects.c b/src/battle_anim_status_effects.c index 582dd20a5..91c1fabec 100644 --- a/src/battle_anim_status_effects.c +++ b/src/battle_anim_status_effects.c @@ -9,7 +9,7 @@ #include "trig.h" #include "util.h" #include "constants/battle_anim.h" -#include "constants/rgb.h" +#include "constants/pokemon.h" // Function Declarations static u8 sub_8078178(u8 battlerId, bool8 b); @@ -51,7 +51,7 @@ const struct SpriteTemplate gSpriteTemplate_83BF3F8 = .anims = gSpriteAnimTable_83BF3F4, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80A8AEC, + .callback = sub_8076F58, }; const struct SpriteTemplate gSpriteTemplate_83BF410 = @@ -62,7 +62,7 @@ const struct SpriteTemplate gSpriteTemplate_83BF410 = .anims = gSpriteAnimTable_83BF3F4, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80A8A6C, + .callback = sub_8076ED8, }; static const union AnimCmd gUnknown_83BF428[] = @@ -84,7 +84,7 @@ const struct SpriteTemplate gSpriteTemplate_83BF434 = .anims = gSpriteAnimTable_83BF430, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80A8E30, + .callback = sub_807729C, }; const struct SpriteTemplate gSpriteTemplate_83BF44C = @@ -95,7 +95,7 @@ const struct SpriteTemplate gSpriteTemplate_83BF44C = .anims = gSpriteAnimTable_83BF430, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80A8EE4, + .callback = sub_8077350, }; static const union AnimCmd gUnknown_83BF464[] = @@ -121,7 +121,7 @@ const struct SpriteTemplate gSpriteTemplate_83BF480 = .anims = gSpriteAnimTable_83BF47C, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80A8B64, + .callback = sub_8076FD0, }; const struct SpriteTemplate gSpriteTemplate_83BF498 = @@ -132,7 +132,7 @@ const struct SpriteTemplate gSpriteTemplate_83BF498 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80A8AEC, + .callback = sub_8076F58, }; static const union AnimCmd gUnknown_83BF4B0[] = @@ -168,7 +168,7 @@ const struct SpriteTemplate gSpriteTemplate_83BF4D4 = .anims = gSpriteAniimTable_83BF4C8, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80A8AEC, + .callback = sub_8076F58, }; static const union AnimCmd gUnknown_83BF4EC[] = @@ -202,10 +202,11 @@ const struct SpriteTemplate gSpriteTemplate_83BF514 = .anims = gSpriteAnimTable_83BF4F4, .images = NULL, .affineAnims = gSpriteAffineAnimTable_83BF510, - .callback = sub_80A8A6C, + .callback = sub_8076ED8, }; -static const u32 gUnknown_83BF52C = _("TASK OVER\nタスクがオーバーしました$"); +const u8 gUnknown_83BF52C[] = _("TASK OVER\n"); +const u8 gUnknown_83BF536[] = {0x60, 0x5D, 0x58, 0x37, 0x55, 0xAE, 0x96, 0xAE, 0x0C, 0x1F, 0x0C, 0x10, 0xFF}; // static const struct Subsprite gSubsprites_83BF544[] = { @@ -510,8 +511,8 @@ void AnimTask_StatsChange(u8 taskId) gBattleAnimArgs[2] = 0; gBattleAnimArgs[3] = 0; gBattleAnimArgs[4] = sharply; - gTasks[taskId].func = sub_8116EB4; - sub_8116EB4(taskId); + gTasks[taskId].func = sub_80BB088; + sub_80BB088(taskId); } #undef CASE -- cgit v1.2.3 From 6581fdb69ddb2be974aa2278381c334b71a4a5ff Mon Sep 17 00:00:00 2001 From: Evan Date: Wed, 4 Dec 2019 18:53:21 -0700 Subject: almost all matching --- src/battle_anim_status_effects.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/battle_anim_status_effects.c') diff --git a/src/battle_anim_status_effects.c b/src/battle_anim_status_effects.c index 91c1fabec..4a45a3d8b 100644 --- a/src/battle_anim_status_effects.c +++ b/src/battle_anim_status_effects.c @@ -205,8 +205,8 @@ const struct SpriteTemplate gSpriteTemplate_83BF514 = .callback = sub_8076ED8, }; -const u8 gUnknown_83BF52C[] = _("TASK OVER\n"); -const u8 gUnknown_83BF536[] = {0x60, 0x5D, 0x58, 0x37, 0x55, 0xAE, 0x96, 0xAE, 0x0C, 0x1F, 0x0C, 0x10, 0xFF}; // +//const u8 gUnknown_83BF52C[] = _("TASK OVER\nタスクがオーバーしました"); //wont compile...? +const u8 gUnknown_83BF52C[] = {0xCE, 0xBB, 0xCD, 0xC5, 0x00, 0xC9, 0xD0, 0xBF, 0xCC, 0xFE, 0x60, 0x5D, 0x58, 0x37, 0x55, 0xAE, 0x96, 0xAE, 0x0C, 0x1F, 0x0C, 0x10, 0xFF}; static const struct Subsprite gSubsprites_83BF544[] = { -- cgit v1.2.3 From c8b22e2680d64f3a52e8f9ba8ccc81de9480ad5f Mon Sep 17 00:00:00 2001 From: Evan Date: Wed, 4 Dec 2019 21:18:40 -0700 Subject: format fixes --- src/battle_anim_status_effects.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'src/battle_anim_status_effects.c') diff --git a/src/battle_anim_status_effects.c b/src/battle_anim_status_effects.c index 4a45a3d8b..1e05e0e68 100644 --- a/src/battle_anim_status_effects.c +++ b/src/battle_anim_status_effects.c @@ -26,8 +26,6 @@ static void sub_8078380(struct Sprite *sprite); extern const struct CompressedSpriteSheet gBattleAnimPicTable[]; extern const struct CompressedSpritePalette gBattleAnimPaletteTable[]; extern const u8 *const gBattleAnims_StatusConditions[]; -extern const struct OamData gOamData_AffineOff_ObjNormal_8x8; -extern const struct OamData gOamData_AffineOff_ObjBlend_64x64; static const union AnimCmd gUnknown_83BF3E0[] = { @@ -205,8 +203,7 @@ const struct SpriteTemplate gSpriteTemplate_83BF514 = .callback = sub_8076ED8, }; -//const u8 gUnknown_83BF52C[] = _("TASK OVER\nタスクがオーバーしました"); //wont compile...? -const u8 gUnknown_83BF52C[] = {0xCE, 0xBB, 0xCD, 0xC5, 0x00, 0xC9, 0xD0, 0xBF, 0xCC, 0xFE, 0x60, 0x5D, 0x58, 0x37, 0x55, 0xAE, 0x96, 0xAE, 0x0C, 0x1F, 0x0C, 0x10, 0xFF}; +const u8 gUnknown_83BF52C[] = _("TASK OVER\nタスクがオ-バ-しました"); static const struct Subsprite gSubsprites_83BF544[] = { @@ -284,7 +281,6 @@ static u8 sub_8078178(u8 battlerId, bool8 b) return taskId; } -// Functions static void sub_80782BC(u8 taskId) { if (gTasks[taskId].data[2] == 2) @@ -361,11 +357,13 @@ void sub_80783FC(u8 taskId) if (IsContest()) x -= 6; + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16)); spriteId = CreateSprite(&gUnknown_83BF55C, x, y, 4); if (GetSpriteTileStartByTag(ANIM_TAG_ICE_CUBE) == 0xFFFF) gSprites[spriteId].invisible = TRUE; + SetSubspriteTables(&gSprites[spriteId], gUnknown_83BF554); gTasks[taskId].data[15] = spriteId; gTasks[taskId].func = sub_80784D8; -- cgit v1.2.3 From 66cf904343a3aa7e9f161707ee2d366053afba63 Mon Sep 17 00:00:00 2001 From: Evan Date: Thu, 5 Dec 2019 14:18:45 -0700 Subject: data type fixes --- src/battle_anim_status_effects.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) (limited to 'src/battle_anim_status_effects.c') diff --git a/src/battle_anim_status_effects.c b/src/battle_anim_status_effects.c index 1e05e0e68..afa0c5c42 100644 --- a/src/battle_anim_status_effects.c +++ b/src/battle_anim_status_effects.c @@ -23,10 +23,6 @@ static void sub_807834C(struct Sprite *sprite); static void sub_8078380(struct Sprite *sprite); // Data -extern const struct CompressedSpriteSheet gBattleAnimPicTable[]; -extern const struct CompressedSpritePalette gBattleAnimPaletteTable[]; -extern const u8 *const gBattleAnims_StatusConditions[]; - static const union AnimCmd gUnknown_83BF3E0[] = { ANIMCMD_FRAME(0, 3), @@ -207,15 +203,15 @@ const u8 gUnknown_83BF52C[] = _("TASK OVER\nタスクがオ-バ-しました"); static const struct Subsprite gSubsprites_83BF544[] = { - {.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}, + {.x = -16, .y = -16, .shape = SPRITE_SHAPE(8x8), .size = 3, .tileOffset = 0, .priority = 2}, + {.x = -16, .y = 48, .shape = SPRITE_SHAPE(16x8), .size = 3, .tileOffset = 64, .priority = 2}, + {.x = 48, .y = -16, .shape = SPRITE_SHAPE(8x16), .size = 3, .tileOffset = 96, .priority = 2}, + {.x = 48, .y = 48, .shape = SPRITE_SHAPE(8x8), .size = 2, .tileOffset = 128, .priority = 2}, }; static const struct SubspriteTable gUnknown_83BF554[] = { - {ARRAY_COUNT(gSubsprites_83BF544), gSubsprites_83BF544}, + {NELEMS(gSubsprites_83BF544), gSubsprites_83BF544}, }; static const struct SpriteTemplate gUnknown_83BF55C = @@ -361,7 +357,7 @@ void sub_80783FC(u8 taskId) SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16)); spriteId = CreateSprite(&gUnknown_83BF55C, x, y, 4); - if (GetSpriteTileStartByTag(ANIM_TAG_ICE_CUBE) == 0xFFFF) + if (GetSpriteTileStartByTag(ANIM_TAG_ICE_CUBE) == SPRITE_INVALID_TAG) gSprites[spriteId].invisible = TRUE; SetSubspriteTables(&gSprites[spriteId], gUnknown_83BF554); -- cgit v1.2.3 From 88fae7ed40e47eff562b70cd0a504aeed5bb7102 Mon Sep 17 00:00:00 2001 From: Evan Date: Sat, 7 Dec 2019 18:09:22 -0700 Subject: fix static var names --- src/battle_anim_status_effects.c | 80 ++++++++++++++++++++-------------------- 1 file changed, 40 insertions(+), 40 deletions(-) (limited to 'src/battle_anim_status_effects.c') diff --git a/src/battle_anim_status_effects.c b/src/battle_anim_status_effects.c index afa0c5c42..2e7f30ff1 100644 --- a/src/battle_anim_status_effects.c +++ b/src/battle_anim_status_effects.c @@ -23,7 +23,7 @@ static void sub_807834C(struct Sprite *sprite); static void sub_8078380(struct Sprite *sprite); // Data -static const union AnimCmd gUnknown_83BF3E0[] = +static const union AnimCmd sUnknown_83BF3E0[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_FRAME(4, 3), @@ -32,9 +32,9 @@ static const union AnimCmd gUnknown_83BF3E0[] = ANIMCMD_JUMP(0) }; -static const union AnimCmd *const gSpriteAnimTable_83BF3F4[] = +static const union AnimCmd *const sSpriteAnimTable_83BF3F4[] = { - gUnknown_83BF3E0 + sUnknown_83BF3E0 }; const struct SpriteTemplate gSpriteTemplate_83BF3F8 = @@ -42,7 +42,7 @@ const struct SpriteTemplate gSpriteTemplate_83BF3F8 = .tileTag = ANIM_TAG_ORB, .paletteTag = ANIM_TAG_ORB, .oam = &gOamData_AffineOff_ObjNormal_16x16, - .anims = gSpriteAnimTable_83BF3F4, + .anims = sSpriteAnimTable_83BF3F4, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = sub_8076F58, @@ -53,21 +53,21 @@ const struct SpriteTemplate gSpriteTemplate_83BF410 = .tileTag = ANIM_TAG_ORB, .paletteTag = ANIM_TAG_ORB, .oam = &gOamData_AffineOff_ObjNormal_16x16, - .anims = gSpriteAnimTable_83BF3F4, + .anims = sSpriteAnimTable_83BF3F4, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = sub_8076ED8, }; -static const union AnimCmd gUnknown_83BF428[] = +static const union AnimCmd sUnknown_83BF428[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_JUMP(0) }; -static const union AnimCmd *const gSpriteAnimTable_83BF430[] = +static const union AnimCmd *const sSpriteAnimTable_83BF430[] = { - gUnknown_83BF428 + sUnknown_83BF428 }; const struct SpriteTemplate gSpriteTemplate_83BF434 = @@ -75,7 +75,7 @@ const struct SpriteTemplate gSpriteTemplate_83BF434 = .tileTag = ANIM_TAG_WEATHER_BALL, .paletteTag = ANIM_TAG_WEATHER_BALL, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gSpriteAnimTable_83BF430, + .anims = sSpriteAnimTable_83BF430, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = sub_807729C, @@ -86,13 +86,13 @@ const struct SpriteTemplate gSpriteTemplate_83BF44C = .tileTag = ANIM_TAG_WEATHER_BALL, .paletteTag = ANIM_TAG_WEATHER_BALL, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gSpriteAnimTable_83BF430, + .anims = sSpriteAnimTable_83BF430, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = sub_8077350, }; -static const union AnimCmd gUnknown_83BF464[] = +static const union AnimCmd sUnknown_83BF464[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_FRAME(16, 3), @@ -102,9 +102,9 @@ static const union AnimCmd gUnknown_83BF464[] = ANIMCMD_END }; -static const union AnimCmd *const gSpriteAnimTable_83BF47C[] = +static const union AnimCmd *const sSpriteAnimTable_83BF47C[] = { - gUnknown_83BF464 + sUnknown_83BF464 }; const struct SpriteTemplate gSpriteTemplate_83BF480 = @@ -112,7 +112,7 @@ const struct SpriteTemplate gSpriteTemplate_83BF480 = .tileTag = ANIM_TAG_SPARKLE_4, .paletteTag = ANIM_TAG_SPARKLE_4, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gSpriteAnimTable_83BF47C, + .anims = sSpriteAnimTable_83BF47C, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = sub_8076FD0, @@ -129,29 +129,29 @@ const struct SpriteTemplate gSpriteTemplate_83BF498 = .callback = sub_8076F58, }; -static const union AnimCmd gUnknown_83BF4B0[] = +static const union AnimCmd sUnknown_83BF4B0[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_JUMP(0) }; -static const union AnimCmd gUnknown_83BF4B8[] = +static const union AnimCmd sUnknown_83BF4B8[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_JUMP(0) }; -static const union AnimCmd gUnknown_83BF4C0[] = +static const union AnimCmd sUnknown_83BF4C0[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_JUMP(0) }; -static const union AnimCmd *const gSpriteAniimTable_83BF4C8[] = +static const union AnimCmd *const sSpriteAniimTable_83BF4C8[] = { - gUnknown_83BF4B0, - gUnknown_83BF4B8, - gUnknown_83BF4C0 + sUnknown_83BF4B0, + sUnknown_83BF4B8, + sUnknown_83BF4C0 }; const struct SpriteTemplate gSpriteTemplate_83BF4D4 = @@ -159,33 +159,33 @@ const struct SpriteTemplate gSpriteTemplate_83BF4D4 = .tileTag = ANIM_TAG_IMPACT, .paletteTag = ANIM_TAG_IMPACT, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gSpriteAniimTable_83BF4C8, + .anims = sSpriteAniimTable_83BF4C8, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = sub_8076F58, }; -static const union AnimCmd gUnknown_83BF4EC[] = +static const union AnimCmd sUnknown_83BF4EC[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_JUMP(0) }; -static const union AnimCmd *const gSpriteAnimTable_83BF4F4[] = +static const union AnimCmd *const sSpriteAnimTable_83BF4F4[] = { - gUnknown_83BF4EC + sUnknown_83BF4EC }; -static const union AffineAnimCmd gUnknown_83BF4F8[] = +static const union AffineAnimCmd sUnknown_83BF4F8[] = { AFFINEANIMCMD_FRAME(96, 96, 0, 0), AFFINEANIMCMD_FRAME(2, 2, 0, 1), AFFINEANIMCMD_JUMP(1) }; -static const union AffineAnimCmd *const gSpriteAffineAnimTable_83BF510[] = +static const union AffineAnimCmd *const sSpriteAffineAnimTable_83BF510[] = { - gUnknown_83BF4F8 + sUnknown_83BF4F8 }; const struct SpriteTemplate gSpriteTemplate_83BF514 = @@ -193,15 +193,15 @@ const struct SpriteTemplate gSpriteTemplate_83BF514 = .tileTag = ANIM_TAG_ORB, .paletteTag = ANIM_TAG_ORB, .oam = &gOamData_AffineDouble_ObjNormal_16x16, - .anims = gSpriteAnimTable_83BF4F4, + .anims = sSpriteAnimTable_83BF4F4, .images = NULL, - .affineAnims = gSpriteAffineAnimTable_83BF510, + .affineAnims = sSpriteAffineAnimTable_83BF510, .callback = sub_8076ED8, }; -const u8 gUnknown_83BF52C[] = _("TASK OVER\nタスクがオ-バ-しました"); +static const u8 sUnknown_83BF52C[] = _("TASK OVER\nタスクがオ-バ-しました"); -static const struct Subsprite gSubsprites_83BF544[] = +static const struct Subsprite sSubsprites_83BF544[] = { {.x = -16, .y = -16, .shape = SPRITE_SHAPE(8x8), .size = 3, .tileOffset = 0, .priority = 2}, {.x = -16, .y = 48, .shape = SPRITE_SHAPE(16x8), .size = 3, .tileOffset = 64, .priority = 2}, @@ -209,12 +209,12 @@ static const struct Subsprite gSubsprites_83BF544[] = {.x = 48, .y = 48, .shape = SPRITE_SHAPE(8x8), .size = 2, .tileOffset = 128, .priority = 2}, }; -static const struct SubspriteTable gUnknown_83BF554[] = +static const struct SubspriteTable sUnknown_83BF554[] = { - {NELEMS(gSubsprites_83BF544), gSubsprites_83BF544}, + {NELEMS(sSubsprites_83BF544), sSubsprites_83BF544}, }; -static const struct SpriteTemplate gUnknown_83BF55C = +static const struct SpriteTemplate sUnknown_83BF55C = { .tileTag = ANIM_TAG_ICE_CUBE, .paletteTag = ANIM_TAG_ICE_CUBE, @@ -225,7 +225,7 @@ static const struct SpriteTemplate gUnknown_83BF55C = .callback = SpriteCallbackDummy, }; -static const struct SpriteTemplate gUnknown_83BF574 = +static const struct SpriteTemplate sUnknown_83BF574 = { .tileTag = ANIM_TAG_CIRCLE_IMPACT, .paletteTag = ANIM_TAG_CIRCLE_IMPACT, @@ -252,7 +252,7 @@ static u8 sub_8078178(u8 battlerId, bool8 b) gTasks[taskId].data[1] = RGB_RED; for (i = 0; i < 10; i++) { - spriteId2 = CreateSprite(&gUnknown_83BF574, gSprites[battlerSpriteId].pos1.x, gSprites[battlerSpriteId].pos1.y + 32, 0); + spriteId2 = CreateSprite(&sUnknown_83BF574, gSprites[battlerSpriteId].pos1.x, gSprites[battlerSpriteId].pos1.y + 32, 0); gSprites[spriteId2].data[0] = i * 51; gSprites[spriteId2].data[1] = -256; gSprites[spriteId2].invisible = TRUE; @@ -265,7 +265,7 @@ static u8 sub_8078178(u8 battlerId, bool8 b) gTasks[taskId].data[1] = RGB_BLUE; for (i = 0; i < 10; i++) { - spriteId2 = CreateSprite(&gUnknown_83BF574, gSprites[battlerSpriteId].pos1.x, gSprites[battlerSpriteId].pos1.y - 32, 0); + spriteId2 = CreateSprite(&sUnknown_83BF574, gSprites[battlerSpriteId].pos1.x, gSprites[battlerSpriteId].pos1.y - 32, 0); gSprites[spriteId2].data[0] = i * 51; gSprites[spriteId2].data[1] = 256; gSprites[spriteId2].invisible = TRUE; @@ -356,11 +356,11 @@ void sub_80783FC(u8 taskId) SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16)); - spriteId = CreateSprite(&gUnknown_83BF55C, x, y, 4); + spriteId = CreateSprite(&sUnknown_83BF55C, x, y, 4); if (GetSpriteTileStartByTag(ANIM_TAG_ICE_CUBE) == SPRITE_INVALID_TAG) gSprites[spriteId].invisible = TRUE; - SetSubspriteTables(&gSprites[spriteId], gUnknown_83BF554); + SetSubspriteTables(&gSprites[spriteId], sUnknown_83BF554); gTasks[taskId].data[15] = spriteId; gTasks[taskId].func = sub_80784D8; } -- cgit v1.2.3