+4
-4
@@ -1355,7 +1355,7 @@ const struct CompressedSpriteSheet gBattleAnimPicTable[] =
|
||||
{gBattleAnimSpriteGfx_Spotlight, 0x0800, ANIM_TAG_SPOTLIGHT},
|
||||
{gBattleAnimSpriteGfx_LetterZ, 0x0200, ANIM_TAG_LETTER_Z},
|
||||
{gBattleAnimSpriteGfx_RapidSpin, 0x0300, ANIM_TAG_RAPID_SPIN},
|
||||
{gBattleAnimSpriteGfx_TriForceTriangle, 0x0800, ANIM_TAG_TRI_FORCE_TRIANGLE},
|
||||
{gBattleAnimSpriteGfx_TriAttackTriangle, 0x0800, ANIM_TAG_TRI_ATTACK_TRIANGLE},
|
||||
{gBattleAnimSpriteGfx_WispOrb, 0x0380, ANIM_TAG_WISP_ORB},
|
||||
{gBattleAnimSpriteGfx_WispFire, 0x0800, ANIM_TAG_WISP_FIRE},
|
||||
{gBattleAnimSpriteGfx_GoldStars, 0x00c0, ANIM_TAG_GOLD_STARS},
|
||||
@@ -1648,7 +1648,7 @@ const struct CompressedSpritePalette gBattleAnimPaletteTable[] =
|
||||
{gBattleAnimSpritePal_Pokeball, ANIM_TAG_SPOTLIGHT},
|
||||
{gBattleAnimSpritePal_LetterZ, ANIM_TAG_LETTER_Z},
|
||||
{gBattleAnimSpritePal_RapidSpin, ANIM_TAG_RAPID_SPIN},
|
||||
{gBattleAnimSpritePal_TriForceTriangle, ANIM_TAG_TRI_FORCE_TRIANGLE},
|
||||
{gBattleAnimSpritePal_TriAttackTriangle, ANIM_TAG_TRI_ATTACK_TRIANGLE},
|
||||
{gBattleAnimSpritePal_WispOrb, ANIM_TAG_WISP_ORB},
|
||||
{gBattleAnimSpritePal_WispOrb, ANIM_TAG_WISP_FIRE},
|
||||
{gBattleAnimSpritePal_GoldStars, ANIM_TAG_GOLD_STARS},
|
||||
@@ -2808,12 +2808,12 @@ static void LoadMoveBg(u16 bgId)
|
||||
void *dmaDest;
|
||||
|
||||
LZDecompressWram(tilemap, gDecompressionBuffer);
|
||||
sub_80A4720(sub_80A6D94(), (void*)(gDecompressionBuffer), 0x100, 0);
|
||||
sub_80A4720(GetBattleBgPaletteNum(), (void*)(gDecompressionBuffer), 0x100, 0);
|
||||
dmaSrc = gDecompressionBuffer;
|
||||
dmaDest = (void *)(BG_SCREEN_ADDR(26));
|
||||
DmaCopy32(3, dmaSrc, dmaDest, 0x800);
|
||||
LZDecompressVram(gBattleAnimBackgroundTable[bgId].image, (void *)(BG_SCREEN_ADDR(4)));
|
||||
LoadCompressedPalette(gBattleAnimBackgroundTable[bgId].palette, sub_80A6D94() * 16, 32);
|
||||
LoadCompressedPalette(gBattleAnimBackgroundTable[bgId].palette, GetBattleBgPaletteNum() * 16, 32);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
+254
-254
File diff suppressed because it is too large
Load Diff
@@ -966,7 +966,7 @@ void sub_80A6D60(struct BattleAnimBgData *unk, const void *src, u32 arg2)
|
||||
CopyBgTilemapBufferToVram(unk->bgId);
|
||||
}
|
||||
|
||||
u8 sub_80A6D94(void)
|
||||
u8 GetBattleBgPaletteNum(void)
|
||||
{
|
||||
if (IsContest())
|
||||
return 1;
|
||||
@@ -1353,7 +1353,7 @@ u32 sub_80A75AC(u8 battleBackground, u8 attacker, u8 target, u8 attackerPartner,
|
||||
if (!IsContest())
|
||||
selectedPalettes = 0xe;
|
||||
else
|
||||
selectedPalettes = 1 << sub_80A6D94();
|
||||
selectedPalettes = 1 << GetBattleBgPaletteNum();
|
||||
}
|
||||
if (attacker)
|
||||
{
|
||||
|
||||
@@ -403,7 +403,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_085E535C =
|
||||
.callback = sub_817330C,
|
||||
};
|
||||
|
||||
extern const struct SpriteTemplate gUnknown_085CE388;
|
||||
extern const struct SpriteTemplate gWishStarSpriteTemplate;
|
||||
extern const struct SpriteTemplate gMiniTwinklingStarSpriteTemplate;
|
||||
|
||||
void unref_sub_8170478(u8 taskId)
|
||||
@@ -2081,7 +2081,7 @@ static void sub_8172FEC(u8 taskId)
|
||||
state = gTasks[taskId].data[11];
|
||||
if (state == 0)
|
||||
{
|
||||
spriteId = CreateSprite(&gUnknown_085CE388, x, y, 5);
|
||||
spriteId = CreateSprite(&gWishStarSpriteTemplate, x, y, 5);
|
||||
}
|
||||
else if (state >= 0 && gTasks[taskId].data[11] < 4)
|
||||
{
|
||||
|
||||
+2
-2
@@ -777,8 +777,8 @@ const u32 gBattleAnimSpriteGfx_Roots[] = INCBIN_U32("graphics/battle_anims/sprit
|
||||
const u32 gBattleAnimSpritePal_ItemBag[] = INCBIN_U32("graphics/battle_anims/sprites/item_bag.gbapal.lz");
|
||||
const u32 gBattleAnimSpriteGfx_ItemBag[] = INCBIN_U32("graphics/battle_anims/sprites/item_bag.4bpp.lz");
|
||||
|
||||
const u32 gBattleAnimSpritePal_TriForceTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/tri_force_triangle.gbapal.lz");
|
||||
const u32 gBattleAnimSpriteGfx_TriForceTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/tri_force_triangle.4bpp.lz");
|
||||
const u32 gBattleAnimSpritePal_TriAttackTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/tri_attack_triangle.gbapal.lz");
|
||||
const u32 gBattleAnimSpriteGfx_TriAttackTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/tri_attack_triangle.4bpp.lz");
|
||||
|
||||
const u32 gBattleAnimSpritePal_LetterZ[] = INCBIN_U32("graphics/battle_anims/sprites/letter_z.gbapal.lz");
|
||||
const u32 gBattleAnimSpriteGfx_LetterZ[] = INCBIN_U32("graphics/battle_anims/sprites/letter_z.4bpp.lz");
|
||||
|
||||
+17
-17
@@ -4,46 +4,46 @@
|
||||
#include "sprite.h"
|
||||
#include "util.h"
|
||||
|
||||
static void sub_8075370(struct Sprite *);
|
||||
static void SmokescreenImpact_Callback(struct Sprite *);
|
||||
|
||||
extern const struct CompressedSpriteSheet gUnknown_0831C620;
|
||||
extern const struct CompressedSpritePalette gUnknown_0831C628;
|
||||
extern const struct SpriteTemplate gUnknown_0831C688;
|
||||
extern const struct CompressedSpriteSheet gSmokescreenImpactSpriteSheet;
|
||||
extern const struct CompressedSpritePalette gSmokescreenlImpactSpritePalette;
|
||||
extern const struct SpriteTemplate gSmokescreenImpactSpriteTemplate;
|
||||
|
||||
u8 sub_807521C(s16 x, s16 y, u8 a3)
|
||||
u8 SmokescreenImpact(s16 x, s16 y, u8 a3)
|
||||
{
|
||||
u8 mainSpriteId;
|
||||
u8 spriteId1, spriteId2, spriteId3, spriteId4;
|
||||
struct Sprite *mainSprite;
|
||||
|
||||
if (GetSpriteTileStartByTag(gUnknown_0831C620.tag) == 0xFFFF)
|
||||
if (GetSpriteTileStartByTag(gSmokescreenImpactSpriteSheet.tag) == 0xFFFF)
|
||||
{
|
||||
LoadCompressedSpriteSheetUsingHeap(&gUnknown_0831C620);
|
||||
LoadCompressedSpritePaletteUsingHeap(&gUnknown_0831C628);
|
||||
LoadCompressedSpriteSheetUsingHeap(&gSmokescreenImpactSpriteSheet);
|
||||
LoadCompressedSpritePaletteUsingHeap(&gSmokescreenlImpactSpritePalette);
|
||||
}
|
||||
|
||||
mainSpriteId = CreateInvisibleSpriteWithCallback(sub_8075370);
|
||||
mainSpriteId = CreateInvisibleSpriteWithCallback(SmokescreenImpact_Callback);
|
||||
mainSprite = &gSprites[mainSpriteId];
|
||||
mainSprite->data[1] = a3;
|
||||
|
||||
spriteId1 = CreateSprite(&gUnknown_0831C688, x - 16, y - 16, 2);
|
||||
spriteId1 = CreateSprite(&gSmokescreenImpactSpriteTemplate, x - 16, y - 16, 2);
|
||||
gSprites[spriteId1].data[0] = mainSpriteId;
|
||||
mainSprite->data[0]++;
|
||||
AnimateSprite(&gSprites[spriteId1]);
|
||||
|
||||
spriteId2 = CreateSprite(&gUnknown_0831C688, x, y - 16, 2);
|
||||
spriteId2 = CreateSprite(&gSmokescreenImpactSpriteTemplate, x, y - 16, 2);
|
||||
gSprites[spriteId2].data[0] = mainSpriteId;
|
||||
mainSprite->data[0]++;
|
||||
StartSpriteAnim(&gSprites[spriteId2], 1);
|
||||
AnimateSprite(&gSprites[spriteId2]);
|
||||
|
||||
spriteId3 = CreateSprite(&gUnknown_0831C688, x - 16, y, 2);
|
||||
spriteId3 = CreateSprite(&gSmokescreenImpactSpriteTemplate, x - 16, y, 2);
|
||||
gSprites[spriteId3].data[0] = mainSpriteId;
|
||||
mainSprite->data[0]++;
|
||||
StartSpriteAnim(&gSprites[spriteId3], 2);
|
||||
AnimateSprite(&gSprites[spriteId3]);
|
||||
|
||||
spriteId4 = CreateSprite(&gUnknown_0831C688, x, y, 2);
|
||||
spriteId4 = CreateSprite(&gSmokescreenImpactSpriteTemplate, x, y, 2);
|
||||
gSprites[spriteId4].data[0] = mainSpriteId;
|
||||
mainSprite->data[0]++;
|
||||
StartSpriteAnim(&gSprites[spriteId4], 3);
|
||||
@@ -52,12 +52,12 @@ u8 sub_807521C(s16 x, s16 y, u8 a3)
|
||||
return mainSpriteId;
|
||||
}
|
||||
|
||||
static void sub_8075370(struct Sprite *sprite)
|
||||
static void SmokescreenImpact_Callback(struct Sprite *sprite)
|
||||
{
|
||||
if (!sprite->data[0])
|
||||
{
|
||||
FreeSpriteTilesByTag(gUnknown_0831C620.tag);
|
||||
FreeSpritePaletteByTag(gUnknown_0831C628.tag);
|
||||
FreeSpriteTilesByTag(gSmokescreenImpactSpriteSheet.tag);
|
||||
FreeSpritePaletteByTag(gSmokescreenlImpactSpritePalette.tag);
|
||||
if (!sprite->data[1])
|
||||
DestroySprite(sprite);
|
||||
else
|
||||
@@ -65,7 +65,7 @@ static void sub_8075370(struct Sprite *sprite)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_80753B4(struct Sprite *sprite)
|
||||
void SpriteCB_DestroySprite(struct Sprite *sprite)
|
||||
{
|
||||
if (sprite->animEnded)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user