summaryrefslogtreecommitdiff
path: root/src/smokescreen.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/smokescreen.c')
-rw-r--r--src/smokescreen.c75
1 files changed, 0 insertions, 75 deletions
diff --git a/src/smokescreen.c b/src/smokescreen.c
deleted file mode 100644
index 1ee0c658c..000000000
--- a/src/smokescreen.c
+++ /dev/null
@@ -1,75 +0,0 @@
-#include "global.h"
-#include "data.h"
-#include "decompress.h"
-#include "sprite.h"
-#include "util.h"
-
-static void SmokescreenImpact_Callback(struct Sprite *);
-
-extern const struct CompressedSpriteSheet gSmokescreenImpactSpriteSheet;
-extern const struct CompressedSpritePalette gSmokescreenlImpactSpritePalette;
-extern const struct SpriteTemplate gSmokescreenImpactSpriteTemplate;
-
-u8 SmokescreenImpact(s16 x, s16 y, u8 a3)
-{
- u8 mainSpriteId;
- u8 spriteId1, spriteId2, spriteId3, spriteId4;
- struct Sprite *mainSprite;
-
- if (GetSpriteTileStartByTag(gSmokescreenImpactSpriteSheet.tag) == 0xFFFF)
- {
- LoadCompressedSpriteSheetUsingHeap(&gSmokescreenImpactSpriteSheet);
- LoadCompressedSpritePaletteUsingHeap(&gSmokescreenlImpactSpritePalette);
- }
-
- mainSpriteId = CreateInvisibleSpriteWithCallback(SmokescreenImpact_Callback);
- mainSprite = &gSprites[mainSpriteId];
- mainSprite->data[1] = a3;
-
- spriteId1 = CreateSprite(&gSmokescreenImpactSpriteTemplate, x - 16, y - 16, 2);
- gSprites[spriteId1].data[0] = mainSpriteId;
- mainSprite->data[0]++;
- AnimateSprite(&gSprites[spriteId1]);
-
- spriteId2 = CreateSprite(&gSmokescreenImpactSpriteTemplate, x, y - 16, 2);
- gSprites[spriteId2].data[0] = mainSpriteId;
- mainSprite->data[0]++;
- StartSpriteAnim(&gSprites[spriteId2], 1);
- AnimateSprite(&gSprites[spriteId2]);
-
- spriteId3 = CreateSprite(&gSmokescreenImpactSpriteTemplate, x - 16, y, 2);
- gSprites[spriteId3].data[0] = mainSpriteId;
- mainSprite->data[0]++;
- StartSpriteAnim(&gSprites[spriteId3], 2);
- AnimateSprite(&gSprites[spriteId3]);
-
- spriteId4 = CreateSprite(&gSmokescreenImpactSpriteTemplate, x, y, 2);
- gSprites[spriteId4].data[0] = mainSpriteId;
- mainSprite->data[0]++;
- StartSpriteAnim(&gSprites[spriteId4], 3);
- AnimateSprite(&gSprites[spriteId4]);
-
- return mainSpriteId;
-}
-
-static void SmokescreenImpact_Callback(struct Sprite *sprite)
-{
- if (!sprite->data[0])
- {
- FreeSpriteTilesByTag(gSmokescreenImpactSpriteSheet.tag);
- FreeSpritePaletteByTag(gSmokescreenlImpactSpritePalette.tag);
- if (!sprite->data[1])
- DestroySprite(sprite);
- else
- sprite->callback = SpriteCallbackDummy;
- }
-}
-
-void SpriteCB_DestroySprite(struct Sprite *sprite)
-{
- if (sprite->animEnded)
- {
- gSprites[sprite->data[0]].data[0]--;
- DestroySprite(sprite);
- }
-}