mirror of
https://github.com/pret/pokefirered.git
synced 2026-09-30 04:48:36 -05:00
removed special deoxys sprite handling
This commit is contained in:
@@ -341,7 +341,7 @@ void InitPrioritiesForVisibleBattlers(void);
|
||||
u8 GetBattlerSpriteSubpriority(u8 battlerId);
|
||||
u8 GetBattlerSpriteBGPriority(u8 battlerId);
|
||||
u8 GetBattlerSpriteBGPriorityRank(u8 battlerId);
|
||||
u8 CreateAdditionalMonSpriteForMoveAnim(u16 species, bool8 isBackpic, u8 templateId, s16 x, s16 y, u8 subpriority, u32 personality, bool32 isShiny, u32 battlerId, u32 ignoreDeoxys);
|
||||
u8 CreateAdditionalMonSpriteForMoveAnim(u16 species, bool8 isBackpic, u8 templateId, s16 x, s16 y, u8 subpriority, u32 personality, bool32 isShiny, u32 battlerId);
|
||||
void DestroySpriteAndFreeResources_(struct Sprite *sprite);
|
||||
s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 attr);
|
||||
void SetAverageBattlerPositions(u8 battlerId, bool8 respectMonPicOffsets, s16 *x, s16 *y);
|
||||
|
||||
@@ -268,10 +268,6 @@
|
||||
|
||||
#define SKIP_FRONT_ANIM (1 << 7)
|
||||
|
||||
// used by ShouldIgnoreDeoxysForm
|
||||
#define DEOXYS_CHECK_BATTLE_SPRITE 1
|
||||
#define DEOXYS_CHECK_TRADE_MAIN 3
|
||||
#define DEOXYS_CHECK_BATTLE_ANIM 5
|
||||
|
||||
#define NUM_ABILITY_SLOTS (NUM_NORMAL_ABILITY_SLOTS + NUM_HIDDEN_ABILITY_SLOTS)
|
||||
#define NUM_NORMAL_ABILITY_SLOTS 2
|
||||
|
||||
@@ -798,7 +798,6 @@ void SetWildMonHeldItem(void);
|
||||
bool8 IsMonShiny(struct Pokemon *mon);
|
||||
u8 *GetTrainerPartnerName(void);
|
||||
u8 GetPlayerPartyHighestLevel(void);
|
||||
bool8 ShouldIgnoreDeoxysForm(u8 caseId, u8 battlerId);
|
||||
u16 GetUnionRoomTrainerPic(void);
|
||||
u16 GetUnionRoomTrainerClass(void);
|
||||
void CreateEnemyEventMon(void);
|
||||
|
||||
@@ -14,11 +14,11 @@ const u16 *GetValidMonIconPalettePtr(u16 speciesId);
|
||||
void LoadMonIconPalettes(void);
|
||||
void FreeMonIconPalettes(void);
|
||||
u16 MailSpeciesToIconSpecies(u16);
|
||||
u8 CreateMonIcon_HandleDeoxys(u16 species, SpriteCallback callback, s16 x, s16 y, u8 subpriority);
|
||||
u8 CreateMonIconNoPersonality(u16 species, SpriteCallback callback, s16 x, s16 y, u8 subpriority);
|
||||
void DestroyMonIcon(struct Sprite *);
|
||||
u16 GetUnownLetterByPersonality(u32 personality);
|
||||
void SpriteCB_MonIcon(struct Sprite *);
|
||||
u8 CreateMonIcon(u16 species, SpriteCallback callback, s16 x, s16 y, u8 subpriority, u32 personality, bool32 extra);
|
||||
u8 CreateMonIcon(u16 species, SpriteCallback callback, s16 x, s16 y, u8 subpriority, u32 personality);
|
||||
u8 UpdateMonIconFrame(struct Sprite *sprite);
|
||||
void LoadMonIconPalette(u16 iconId);
|
||||
void FreeMonIconPalette(u16 iconId);
|
||||
|
||||
@@ -3211,7 +3211,7 @@ void AnimTask_RolePlaySilhouette(u8 taskId)
|
||||
|
||||
coord1 = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X);
|
||||
coord2 = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y);
|
||||
spriteId = CreateAdditionalMonSpriteForMoveAnim(species, isBackPic, 0, coord1 + xOffset, coord2, 5, personality, isShiny, gBattleAnimTarget, 1);
|
||||
spriteId = CreateAdditionalMonSpriteForMoveAnim(species, isBackPic, 0, coord1 + xOffset, coord2, 5, personality, isShiny, gBattleAnimTarget);
|
||||
gSprites[spriteId].oam.priority = priority;
|
||||
gSprites[spriteId].oam.objMode = ST_OAM_OBJ_BLEND;
|
||||
FillPalette(RGB_WHITE, OBJ_PLTT_ID(gSprites[spriteId].oam.paletteNum), PLTT_SIZE_4BPP);
|
||||
@@ -5059,7 +5059,7 @@ void AnimTask_SnatchOpposingMonMove(u8 taskId)
|
||||
x = -32;
|
||||
}
|
||||
|
||||
spriteId2 = CreateAdditionalMonSpriteForMoveAnim(species, isBackPic, 0, x, GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y), subpriority, personality, isShiny, gBattleAnimAttacker, 0);
|
||||
spriteId2 = CreateAdditionalMonSpriteForMoveAnim(species, isBackPic, 0, x, GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y), subpriority, personality, isShiny, gBattleAnimAttacker);
|
||||
|
||||
if (gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies != SPECIES_NONE)
|
||||
BlendPalette(OBJ_PLTT_ID(gSprites[spriteId2].oam.paletteNum), 16, 6, RGB_WHITE);
|
||||
|
||||
@@ -1899,7 +1899,7 @@ u8 GetBattlerSpriteBGPriorityRank(u8 battlerId)
|
||||
}
|
||||
|
||||
// Create pokemon sprite to be used for a move animation effect (e.g. Role Play / Snatch)
|
||||
u8 CreateAdditionalMonSpriteForMoveAnim(u16 species, bool8 isBackpic, u8 templateId, s16 x, s16 y, u8 subpriority, u32 personality, bool32 isShiny, u32 battlerId, bool32 ignoreDeoxys)
|
||||
u8 CreateAdditionalMonSpriteForMoveAnim(u16 species, bool8 isBackpic, u8 templateId, s16 x, s16 y, u8 subpriority, u32 personality, bool32 isShiny, u32 battlerId)
|
||||
{
|
||||
u8 spriteId;
|
||||
u16 sheet = LoadSpriteSheet(&sSpriteSheets_MoveEffectMons[templateId]);
|
||||
|
||||
@@ -3,11 +3,6 @@
|
||||
#include "decompress.h"
|
||||
#include "pokemon.h"
|
||||
|
||||
// extern const struct CompressedSpriteSheet gMonFrontPicTable[];
|
||||
// extern const struct CompressedSpriteSheet gMonBackPicTable[];
|
||||
|
||||
static void DuplicateDeoxysTiles(void *pointer, s32 species);
|
||||
|
||||
void LZDecompressWram(const void *src, void *dest)
|
||||
{
|
||||
LZ77UnCompWram(src, dest);
|
||||
@@ -104,17 +99,6 @@ void LoadSpecialPokePic(void *dest, s32 species, u32 personality, bool8 isFrontP
|
||||
DrawSpindaSpots(species, personality, dest, isFrontPic);
|
||||
}
|
||||
|
||||
static void DuplicateDeoxysTiles(void *pointer, s32 species)
|
||||
{
|
||||
if (species == SPECIES_DEOXYS)
|
||||
CpuCopy32(pointer + 0x800, pointer, 0x800);
|
||||
}
|
||||
|
||||
static void Unused_LZDecompressWramIndirect(const void **src, void *dest)
|
||||
{
|
||||
LZ77UnCompWram(*src, dest);
|
||||
}
|
||||
|
||||
static void StitchObjectsOn8x8Canvas(s32 object_size, s32 object_count, u8 *src_tiles, u8 *dest_tiles)
|
||||
{
|
||||
/*
|
||||
|
||||
@@ -597,11 +597,11 @@ static bool8 DoInitMailView(void)
|
||||
{
|
||||
case MAIL_ICON_BEAD:
|
||||
LoadMonIconPalette(iconId);
|
||||
sMailViewResources->monIconSpriteId = CreateMonIcon_HandleDeoxys(iconId, SpriteCallbackDummy, 0x60, 0x80, 0);
|
||||
sMailViewResources->monIconSpriteId = CreateMonIconNoPersonality(iconId, SpriteCallbackDummy, 0x60, 0x80, 0);
|
||||
break;
|
||||
case MAIL_ICON_DREAM:
|
||||
LoadMonIconPalette(iconId);
|
||||
sMailViewResources->monIconSpriteId = CreateMonIcon_HandleDeoxys(iconId, SpriteCallbackDummy, 0x28, 0x80, 0);
|
||||
sMailViewResources->monIconSpriteId = CreateMonIconNoPersonality(iconId, SpriteCallbackDummy, 0x28, 0x80, 0);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -465,7 +465,7 @@ static void CreateCardSprites(void)
|
||||
// Create icon sprite
|
||||
if (sWonderCardData->cardMetadata.iconSpecies != SPECIES_NONE)
|
||||
{
|
||||
sWonderCardData->monIconSpriteId = CreateMonIcon_HandleDeoxys(MailSpeciesToIconSpecies(sWonderCardData->cardMetadata.iconSpecies), SpriteCallbackDummy, 220, 20, 0);
|
||||
sWonderCardData->monIconSpriteId = CreateMonIconNoPersonality(MailSpeciesToIconSpecies(sWonderCardData->cardMetadata.iconSpecies), SpriteCallbackDummy, 220, 20, 0);
|
||||
gSprites[sWonderCardData->monIconSpriteId].oam.priority = 2;
|
||||
}
|
||||
|
||||
@@ -481,7 +481,7 @@ static void CreateCardSprites(void)
|
||||
sWonderCardData->stampSpriteIds[i][0] = CreateSprite(&sSpriteTemplate_StampShadow, 216 - 32 * i, 0x90, 8);
|
||||
if (sWonderCardData->cardMetadata.stampData[0][i] != 0)
|
||||
{
|
||||
sWonderCardData->stampSpriteIds[i][1] = CreateMonIcon_HandleDeoxys(MailSpeciesToIconSpecies(sWonderCardData->cardMetadata.stampData[0][i]), SpriteCallbackDummy, 216 - 32 * i, 136, 0);
|
||||
sWonderCardData->stampSpriteIds[i][1] = CreateMonIconNoPersonality(MailSpeciesToIconSpecies(sWonderCardData->cardMetadata.stampData[0][i]), SpriteCallbackDummy, 216 - 32 * i, 136, 0);
|
||||
gSprites[sWonderCardData->stampSpriteIds[i][1]].oam.priority = 2;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1410,7 +1410,7 @@ static void NamingScreen_CreateMonIcon(void)
|
||||
u8 spriteId;
|
||||
|
||||
LoadMonIconPalettes();
|
||||
spriteId = CreateMonIcon(sNamingScreen->monSpecies, SpriteCallbackDummy, 56, 40, 0, sNamingScreen->monPersonality, 1);
|
||||
spriteId = CreateMonIcon(sNamingScreen->monSpecies, SpriteCallbackDummy, 56, 40, 0, sNamingScreen->monPersonality);
|
||||
gSprites[spriteId].oam.priority = 3;
|
||||
}
|
||||
|
||||
|
||||
@@ -2646,14 +2646,8 @@ static void ToggleFieldMoveDescriptionWindow(u8 action)
|
||||
|
||||
static void CreatePartyMonIconSprite(struct Pokemon *mon, struct PartyMenuBox *menuBox, u32 slot)
|
||||
{
|
||||
bool32 handleDeoxys = TRUE;
|
||||
u16 species2;
|
||||
|
||||
// If in a multi battle, show partners Deoxys icon as Normal forme
|
||||
if (IsMultiBattle() == TRUE && gMain.inBattle)
|
||||
handleDeoxys = (sMultiBattlePartnersPartyMask[slot] ^ handleDeoxys) ? TRUE : FALSE;
|
||||
species2 = GetMonData(mon, MON_DATA_SPECIES_OR_EGG);
|
||||
CreatePartyMonIconSpriteParameterized(species2, GetMonData(mon, MON_DATA_PERSONALITY), menuBox, 1);
|
||||
u16 species = GetMonData(mon, MON_DATA_SPECIES_OR_EGG);
|
||||
CreatePartyMonIconSpriteParameterized(species, GetMonData(mon, MON_DATA_PERSONALITY), menuBox, 1);
|
||||
UpdatePartyMonHPBar(menuBox->monSpriteId, mon);
|
||||
}
|
||||
|
||||
@@ -2661,7 +2655,7 @@ static void CreatePartyMonIconSpriteParameterized(u16 species, u32 pid, struct P
|
||||
{
|
||||
if (species != SPECIES_NONE)
|
||||
{
|
||||
menuBox->monSpriteId = CreateMonIcon(species, SpriteCB_MonIcon, menuBox->spriteCoords[0], menuBox->spriteCoords[1], 4, pid, FALSE);
|
||||
menuBox->monSpriteId = CreateMonIcon(species, SpriteCB_MonIcon, menuBox->spriteCoords[0], menuBox->spriteCoords[1], 4, pid);
|
||||
gSprites[menuBox->monSpriteId].oam.priority = priority;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5573,63 +5573,6 @@ u8 GetPlayerPartyHighestLevel(void)
|
||||
return level;
|
||||
}
|
||||
|
||||
// If FALSE, should load this game's Deoxys form. If TRUE, should load normal Deoxys form
|
||||
bool8 ShouldIgnoreDeoxysForm(u8 caseId, u8 battlerId)
|
||||
{
|
||||
switch (caseId)
|
||||
{
|
||||
case 0:
|
||||
default:
|
||||
return FALSE;
|
||||
case DEOXYS_CHECK_BATTLE_SPRITE:
|
||||
if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI))
|
||||
return FALSE;
|
||||
if (!gMain.inBattle)
|
||||
return FALSE;
|
||||
if (gLinkPlayers[GetMultiplayerId()].id == battlerId)
|
||||
return FALSE;
|
||||
break;
|
||||
case 2:
|
||||
break;
|
||||
case DEOXYS_CHECK_TRADE_MAIN:
|
||||
if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI))
|
||||
return FALSE;
|
||||
if (!gMain.inBattle)
|
||||
return FALSE;
|
||||
if (battlerId == 1 || battlerId == 4 || battlerId == 5)
|
||||
return TRUE;
|
||||
return FALSE;
|
||||
case 4:
|
||||
break;
|
||||
case DEOXYS_CHECK_BATTLE_ANIM:
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_LINK)
|
||||
{
|
||||
if (!gMain.inBattle)
|
||||
return FALSE;
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
|
||||
{
|
||||
if (gLinkPlayers[GetMultiplayerId()].id == battlerId)
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (GetBattlerSide(battlerId) == B_SIDE_PLAYER)
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!gMain.inBattle)
|
||||
return FALSE;
|
||||
if (GetBattlerSide(battlerId) == B_SIDE_PLAYER)
|
||||
return FALSE;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
u16 GetUnionRoomTrainerPic(void)
|
||||
{
|
||||
u8 linkId = GetMultiplayerId() ^ 1;
|
||||
|
||||
@@ -126,7 +126,7 @@ static const u16 sSpriteImageSizes[][4] = {
|
||||
},
|
||||
};
|
||||
|
||||
u8 CreateMonIcon(u16 species, SpriteCallback callback, s16 x, s16 y, u8 subpriority, u32 personality, bool32 extra)
|
||||
u8 CreateMonIcon(u16 species, SpriteCallback callback, s16 x, s16 y, u8 subpriority, u32 personality)
|
||||
{
|
||||
u8 spriteId;
|
||||
struct MonIconSpriteTemplate iconTemplate =
|
||||
@@ -149,7 +149,7 @@ u8 CreateMonIcon(u16 species, SpriteCallback callback, s16 x, s16 y, u8 subprior
|
||||
return spriteId;
|
||||
}
|
||||
|
||||
u8 CreateMonIcon_HandleDeoxys(u16 species, SpriteCallback callback, s16 x, s16 y, u8 subpriority)
|
||||
u8 CreateMonIconNoPersonality(u16 species, SpriteCallback callback, s16 x, s16 y, u8 subpriority)
|
||||
{
|
||||
u8 spriteId;
|
||||
struct MonIconSpriteTemplate iconTemplate =
|
||||
|
||||
@@ -4298,20 +4298,7 @@ static void PokeSum_CreateMonIconSprite(void)
|
||||
|
||||
SafeLoadMonIconPalette(species);
|
||||
|
||||
if (sMonSummaryScreen->savedCallback == CB2_ReturnToTradeMenuFromSummary)
|
||||
{
|
||||
if (sMonSummaryScreen->isEnemyParty == TRUE)
|
||||
sMonSummaryScreen->monIconSpriteId = CreateMonIcon(species, SpriteCallbackDummy, 24, 32, 0, personality, 0);
|
||||
else
|
||||
sMonSummaryScreen->monIconSpriteId = CreateMonIcon(species, SpriteCallbackDummy, 24, 32, 0, personality, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (ShouldIgnoreDeoxysForm(DEOXYS_CHECK_TRADE_MAIN, sLastViewedMonIndex))
|
||||
sMonSummaryScreen->monIconSpriteId = CreateMonIcon(species, SpriteCallbackDummy, 24, 32, 0, personality, 0);
|
||||
else
|
||||
sMonSummaryScreen->monIconSpriteId = CreateMonIcon(species, SpriteCallbackDummy, 24, 32, 0, personality, 1);
|
||||
}
|
||||
sMonSummaryScreen->monIconSpriteId = CreateMonIcon(species, SpriteCallbackDummy, 24, 32, 0, personality);
|
||||
|
||||
if (!IsMonSpriteNotFlipped(species))
|
||||
gSprites[sMonSummaryScreen->monIconSpriteId].hFlip = TRUE;
|
||||
|
||||
14
src/trade.c
14
src/trade.c
@@ -953,8 +953,7 @@ static void CB2_CreateTradeMenu(void)
|
||||
(sTradeMonSpriteCoords[i][0] * 8) + 14,
|
||||
(sTradeMonSpriteCoords[i][1] * 8) - 12,
|
||||
1,
|
||||
GetMonData(mon, MON_DATA_PERSONALITY),
|
||||
TRUE);
|
||||
GetMonData(mon, MON_DATA_PERSONALITY));
|
||||
}
|
||||
|
||||
for (i = 0; i < sTradeMenu->partyCounts[TRADE_PARTNER]; i++)
|
||||
@@ -965,8 +964,7 @@ static void CB2_CreateTradeMenu(void)
|
||||
(sTradeMonSpriteCoords[i + PARTY_SIZE][0] * 8) + 14,
|
||||
(sTradeMonSpriteCoords[i + PARTY_SIZE][1] * 8) - 12,
|
||||
1,
|
||||
GetMonData(mon, MON_DATA_PERSONALITY),
|
||||
FALSE);
|
||||
GetMonData(mon, MON_DATA_PERSONALITY));
|
||||
}
|
||||
gMain.state++;
|
||||
break;
|
||||
@@ -1150,9 +1148,7 @@ void CB2_ReturnToTradeMenuFromSummary(void)
|
||||
sTradeMonSpriteCoords[i][0] * 8 + 14,
|
||||
sTradeMonSpriteCoords[i][1] * 8 - 12,
|
||||
1,
|
||||
GetMonData(&gPlayerParty[i], MON_DATA_PERSONALITY),
|
||||
TRUE
|
||||
);
|
||||
GetMonData(&gPlayerParty[i], MON_DATA_PERSONALITY));
|
||||
}
|
||||
for (i = 0; i < sTradeMenu->partyCounts[TRADE_PARTNER]; i++)
|
||||
{
|
||||
@@ -1162,9 +1158,7 @@ void CB2_ReturnToTradeMenuFromSummary(void)
|
||||
sTradeMonSpriteCoords[i + PARTY_SIZE][0] * 8 + 14,
|
||||
sTradeMonSpriteCoords[i + PARTY_SIZE][1] * 8 - 12,
|
||||
1,
|
||||
GetMonData(&gEnemyParty[i], MON_DATA_PERSONALITY),
|
||||
FALSE
|
||||
);
|
||||
GetMonData(&gEnemyParty[i], MON_DATA_PERSONALITY));
|
||||
}
|
||||
gMain.state++;
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user