Cleaned by comparing evolution_scene.c with pokefirered
This commit is contained in:
@@ -212,7 +212,7 @@ void EvolutionScene(struct Pokemon* mon, u16 postEvoSpecies, bool8 canStopEvo, u
|
||||
u16 currSpecies;
|
||||
u32 trainerId, personality;
|
||||
const struct CompressedSpritePalette* pokePal;
|
||||
u8 ID;
|
||||
u8 id;
|
||||
|
||||
SetHBlankCallback(NULL);
|
||||
SetVBlankCallback(NULL);
|
||||
@@ -267,11 +267,11 @@ void EvolutionScene(struct Pokemon* mon, u16 postEvoSpecies, bool8 canStopEvo, u
|
||||
|
||||
SetMultiuseSpriteTemplateToPokemon(currSpecies, B_POSITION_OPPONENT_LEFT);
|
||||
gMultiuseSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable;
|
||||
sEvoStructPtr->preEvoSpriteId = ID = CreateSprite(&gMultiuseSpriteTemplate, 120, 64, 30);
|
||||
sEvoStructPtr->preEvoSpriteId = id = CreateSprite(&gMultiuseSpriteTemplate, 120, 64, 30);
|
||||
|
||||
gSprites[ID].callback = SpriteCallbackDummy_2;
|
||||
gSprites[ID].oam.paletteNum = 1;
|
||||
gSprites[ID].invisible = TRUE;
|
||||
gSprites[id].callback = SpriteCallbackDummy_2;
|
||||
gSprites[id].oam.paletteNum = 1;
|
||||
gSprites[id].invisible = TRUE;
|
||||
|
||||
// postEvo sprite
|
||||
DecompressPicFromTable_2(&gMonFrontPicTable[postEvoSpecies],
|
||||
@@ -282,21 +282,21 @@ void EvolutionScene(struct Pokemon* mon, u16 postEvoSpecies, bool8 canStopEvo, u
|
||||
|
||||
SetMultiuseSpriteTemplateToPokemon(postEvoSpecies, B_POSITION_OPPONENT_RIGHT);
|
||||
gMultiuseSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable;
|
||||
sEvoStructPtr->postEvoSpriteId = ID = CreateSprite(&gMultiuseSpriteTemplate, 120, 64, 30);
|
||||
gSprites[ID].callback = SpriteCallbackDummy_2;
|
||||
gSprites[ID].oam.paletteNum = 2;
|
||||
gSprites[ID].invisible = TRUE;
|
||||
sEvoStructPtr->postEvoSpriteId = id = CreateSprite(&gMultiuseSpriteTemplate, 120, 64, 30);
|
||||
gSprites[id].callback = SpriteCallbackDummy_2;
|
||||
gSprites[id].oam.paletteNum = 2;
|
||||
gSprites[id].invisible = TRUE;
|
||||
|
||||
LoadEvoSparkleSpriteAndPal();
|
||||
|
||||
sEvoStructPtr->evoTaskId = ID = CreateTask(Task_EvolutionScene, 0);
|
||||
gTasks[ID].tState = 0;
|
||||
gTasks[ID].tPreEvoSpecies = currSpecies;
|
||||
gTasks[ID].tPostEvoSpecies = postEvoSpecies;
|
||||
gTasks[ID].tCanStop = canStopEvo;
|
||||
gTasks[ID].tLearnsFirstMove = TRUE;
|
||||
gTasks[ID].tEvoWasStopped = FALSE;
|
||||
gTasks[ID].tPartyId = partyId;
|
||||
sEvoStructPtr->evoTaskId = id = CreateTask(Task_EvolutionScene, 0);
|
||||
gTasks[id].tState = 0;
|
||||
gTasks[id].tPreEvoSpecies = currSpecies;
|
||||
gTasks[id].tPostEvoSpecies = postEvoSpecies;
|
||||
gTasks[id].tCanStop = canStopEvo;
|
||||
gTasks[id].tLearnsFirstMove = TRUE;
|
||||
gTasks[id].tEvoWasStopped = FALSE;
|
||||
gTasks[id].tPartyId = partyId;
|
||||
|
||||
memcpy(&sEvoStructPtr->savedPalette, &gPlttBufferUnfaded[0x20], sizeof(sEvoStructPtr->savedPalette));
|
||||
|
||||
@@ -310,7 +310,7 @@ void EvolutionScene(struct Pokemon* mon, u16 postEvoSpecies, bool8 canStopEvo, u
|
||||
|
||||
static void CB2_EvolutionSceneLoadGraphics(void)
|
||||
{
|
||||
u8 ID;
|
||||
u8 id;
|
||||
const struct CompressedSpritePalette* pokePal;
|
||||
u16 postEvoSpecies;
|
||||
u32 trainerId, personality;
|
||||
@@ -360,10 +360,10 @@ static void CB2_EvolutionSceneLoadGraphics(void)
|
||||
|
||||
SetMultiuseSpriteTemplateToPokemon(postEvoSpecies, B_POSITION_OPPONENT_RIGHT);
|
||||
gMultiuseSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable;
|
||||
sEvoStructPtr->postEvoSpriteId = ID = CreateSprite(&gMultiuseSpriteTemplate, 120, 64, 30);
|
||||
sEvoStructPtr->postEvoSpriteId = id = CreateSprite(&gMultiuseSpriteTemplate, 120, 64, 30);
|
||||
|
||||
gSprites[ID].callback = SpriteCallbackDummy_2;
|
||||
gSprites[ID].oam.paletteNum = 2;
|
||||
gSprites[id].callback = SpriteCallbackDummy_2;
|
||||
gSprites[id].oam.paletteNum = 2;
|
||||
|
||||
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_BG_ALL_ON | DISPCNT_OBJ_1D_MAP);
|
||||
|
||||
@@ -433,14 +433,14 @@ static void CB2_TradeEvolutionSceneLoadGraphics(void)
|
||||
break;
|
||||
case 5:
|
||||
{
|
||||
u8 ID;
|
||||
u8 id;
|
||||
|
||||
SetMultiuseSpriteTemplateToPokemon(postEvoSpecies, B_POSITION_OPPONENT_LEFT);
|
||||
gMultiuseSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable;
|
||||
sEvoStructPtr->postEvoSpriteId = ID = CreateSprite(&gMultiuseSpriteTemplate, 120, 64, 30);
|
||||
sEvoStructPtr->postEvoSpriteId = id = CreateSprite(&gMultiuseSpriteTemplate, 120, 64, 30);
|
||||
|
||||
gSprites[ID].callback = SpriteCallbackDummy_2;
|
||||
gSprites[ID].oam.paletteNum = 2;
|
||||
gSprites[id].callback = SpriteCallbackDummy_2;
|
||||
gSprites[id].oam.paletteNum = 2;
|
||||
gMain.state++;
|
||||
LinkTradeDrawWindow();
|
||||
}
|
||||
@@ -451,7 +451,7 @@ static void CB2_TradeEvolutionSceneLoadGraphics(void)
|
||||
LoadWirelessStatusIndicatorSpriteGfx();
|
||||
CreateWirelessStatusIndicatorSprite(0, 0);
|
||||
}
|
||||
BlendPalettes(PALETTES_ALL, 0x10, 0);
|
||||
BlendPalettes(PALETTES_ALL, 0x10, RGB_BLACK);
|
||||
gMain.state++;
|
||||
break;
|
||||
case 7:
|
||||
@@ -471,7 +471,7 @@ void TradeEvolutionScene(struct Pokemon* mon, u16 postEvoSpecies, u8 preEvoSprit
|
||||
u16 currSpecies;
|
||||
u32 trainerId, personality;
|
||||
const struct CompressedSpritePalette* pokePal;
|
||||
u8 ID;
|
||||
u8 id;
|
||||
|
||||
GetMonData(mon, MON_DATA_NICKNAME, name);
|
||||
StringCopy_Nickname(gStringVar1, name);
|
||||
@@ -496,21 +496,21 @@ void TradeEvolutionScene(struct Pokemon* mon, u16 postEvoSpecies, u8 preEvoSprit
|
||||
|
||||
SetMultiuseSpriteTemplateToPokemon(postEvoSpecies, B_POSITION_OPPONENT_LEFT);
|
||||
gMultiuseSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable;
|
||||
sEvoStructPtr->postEvoSpriteId = ID = CreateSprite(&gMultiuseSpriteTemplate, 120, 64, 30);
|
||||
sEvoStructPtr->postEvoSpriteId = id = CreateSprite(&gMultiuseSpriteTemplate, 120, 64, 30);
|
||||
|
||||
gSprites[ID].callback = SpriteCallbackDummy_2;
|
||||
gSprites[ID].oam.paletteNum = 2;
|
||||
gSprites[ID].invisible = TRUE;
|
||||
gSprites[id].callback = SpriteCallbackDummy_2;
|
||||
gSprites[id].oam.paletteNum = 2;
|
||||
gSprites[id].invisible = TRUE;
|
||||
|
||||
LoadEvoSparkleSpriteAndPal();
|
||||
|
||||
sEvoStructPtr->evoTaskId = ID = CreateTask(Task_TradeEvolutionScene, 0);
|
||||
gTasks[ID].tState = 0;
|
||||
gTasks[ID].tPreEvoSpecies = currSpecies;
|
||||
gTasks[ID].tPostEvoSpecies = postEvoSpecies;
|
||||
gTasks[ID].tLearnsFirstMove = TRUE;
|
||||
gTasks[ID].tEvoWasStopped = FALSE;
|
||||
gTasks[ID].tPartyId = partyId;
|
||||
sEvoStructPtr->evoTaskId = id = CreateTask(Task_TradeEvolutionScene, 0);
|
||||
gTasks[id].tState = 0;
|
||||
gTasks[id].tPreEvoSpecies = currSpecies;
|
||||
gTasks[id].tPostEvoSpecies = postEvoSpecies;
|
||||
gTasks[id].tLearnsFirstMove = TRUE;
|
||||
gTasks[id].tEvoWasStopped = FALSE;
|
||||
gTasks[id].tPartyId = partyId;
|
||||
|
||||
gBattle_BG0_X = 0;
|
||||
gBattle_BG0_Y = 0;
|
||||
@@ -521,7 +521,7 @@ void TradeEvolutionScene(struct Pokemon* mon, u16 postEvoSpecies, u8 preEvoSprit
|
||||
gBattle_BG3_X = 256;
|
||||
gBattle_BG3_Y = 0;
|
||||
|
||||
gTextFlags.useAlternateDownArrow = 1;
|
||||
gTextFlags.useAlternateDownArrow = TRUE;
|
||||
|
||||
SetVBlankCallback(VBlankCB_TradeEvolutionScene);
|
||||
SetMainCallback2(CB2_TradeEvolutionSceneUpdate);
|
||||
@@ -657,7 +657,7 @@ static void Task_EvolutionScene(u8 taskId)
|
||||
ShowBg(2);
|
||||
ShowBg(3);
|
||||
break;
|
||||
case EVOSTATE_INTRO_MSG:
|
||||
case EVOSTATE_INTRO_MSG: // print 'whoa, poke is evolving!!!' msg
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
StringExpandPlaceholders(gStringVar4, gText_PkmnIsEvolving);
|
||||
@@ -665,7 +665,7 @@ static void Task_EvolutionScene(u8 taskId)
|
||||
gTasks[taskId].tState++;
|
||||
}
|
||||
break;
|
||||
case EVOSTATE_INTRO_MON_ANIM:
|
||||
case EVOSTATE_INTRO_MON_ANIM: // wait for string, animate mon(and play its cry)
|
||||
if (!IsTextPrinterActive(0))
|
||||
{
|
||||
EvoScene_DoMonAnimAndCry(sEvoStructPtr->preEvoSpriteId, gTasks[taskId].tPreEvoSpecies);
|
||||
@@ -679,7 +679,7 @@ static void Task_EvolutionScene(u8 taskId)
|
||||
gTasks[taskId].tState++;
|
||||
}
|
||||
break;
|
||||
case EVOSTATE_START_MUSIC:
|
||||
case EVOSTATE_START_MUSIC: // play evolution music and fade screen black
|
||||
if (!IsSEPlaying())
|
||||
{
|
||||
// Start music, fade background to black
|
||||
@@ -688,7 +688,7 @@ static void Task_EvolutionScene(u8 taskId)
|
||||
BeginNormalPaletteFade(0x1C, 4, 0, 0x10, RGB_BLACK);
|
||||
}
|
||||
break;
|
||||
case EVOSTATE_START_BG_AND_SPARKLE_SPIRAL:
|
||||
case EVOSTATE_START_BG_AND_SPARKLE_SPIRAL: // launch moving bg task, preapre evo sparkles
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
StartBgAnimation(FALSE);
|
||||
@@ -696,7 +696,7 @@ static void Task_EvolutionScene(u8 taskId)
|
||||
gTasks[taskId].tState++;
|
||||
}
|
||||
break;
|
||||
case EVOSTATE_SPARKLE_ARC:
|
||||
case EVOSTATE_SPARKLE_ARC: // another set of evo sparkles
|
||||
if (!gTasks[sEvoGraphicsTaskId].isActive)
|
||||
{
|
||||
gTasks[taskId].tState++;
|
||||
@@ -711,7 +711,7 @@ static void Task_EvolutionScene(u8 taskId)
|
||||
gTasks[taskId].tState++;
|
||||
}
|
||||
break;
|
||||
case EVOSTATE_WAIT_CYCLE_MON_SPRITE:
|
||||
case EVOSTATE_WAIT_CYCLE_MON_SPRITE: // wait for the above task to finish
|
||||
if (--sEvoStructPtr->delayTimer == 0)
|
||||
{
|
||||
sEvoStructPtr->delayTimer = 3;
|
||||
@@ -719,7 +719,7 @@ static void Task_EvolutionScene(u8 taskId)
|
||||
gTasks[taskId].tState++;
|
||||
}
|
||||
break;
|
||||
case EVOSTATE_SPARKLE_CIRCLE:
|
||||
case EVOSTATE_SPARKLE_CIRCLE: // post evo sparkles
|
||||
sEvoGraphicsTaskId = EvolutionSparkles_CircleInward();
|
||||
gTasks[taskId].tState++;
|
||||
break;
|
||||
@@ -730,7 +730,7 @@ static void Task_EvolutionScene(u8 taskId)
|
||||
gTasks[taskId].tState++;
|
||||
}
|
||||
break;
|
||||
case EVOSTATE_EVO_SOUND:
|
||||
case EVOSTATE_EVO_SOUND: // play tu du sound after evolution
|
||||
if (!gTasks[sEvoGraphicsTaskId].isActive)
|
||||
{
|
||||
PlaySE(SE_EXP);
|
||||
@@ -747,14 +747,14 @@ static void Task_EvolutionScene(u8 taskId)
|
||||
gTasks[taskId].tState++;
|
||||
}
|
||||
break;
|
||||
case EVOSTATE_EVO_MON_ANIM:
|
||||
case EVOSTATE_EVO_MON_ANIM: // animate mon
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
EvoScene_DoMonAnimAndCry(sEvoStructPtr->postEvoSpriteId, gTasks[taskId].tPostEvoSpecies);
|
||||
gTasks[taskId].tState++;
|
||||
}
|
||||
break;
|
||||
case EVOSTATE_SET_MON_EVOLVED:
|
||||
case EVOSTATE_SET_MON_EVOLVED: // congratulations string and rename prompt
|
||||
if (IsCryFinished())
|
||||
{
|
||||
StringExpandPlaceholders(gStringVar4, gText_CongratsPkmnEvolved);
|
||||
@@ -769,7 +769,7 @@ static void Task_EvolutionScene(u8 taskId)
|
||||
IncrementGameStat(GAME_STAT_EVOLVED_POKEMON);
|
||||
}
|
||||
break;
|
||||
case EVOSTATE_TRY_LEARN_MOVE:
|
||||
case EVOSTATE_TRY_LEARN_MOVE: // check if it wants to learn a new move
|
||||
if (!IsTextPrinterActive(0))
|
||||
{
|
||||
var = MonTryLearningNewMove(mon, gTasks[taskId].tLearnsFirstMove);
|
||||
@@ -803,7 +803,7 @@ static void Task_EvolutionScene(u8 taskId)
|
||||
}
|
||||
}
|
||||
break;
|
||||
case EVOSTATE_END:
|
||||
case EVOSTATE_END: // task has finished, return
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
if (!(gTasks[taskId].tBits & TASK_BIT_LEARN_MOVE))
|
||||
@@ -821,7 +821,7 @@ static void Task_EvolutionScene(u8 taskId)
|
||||
SetMainCallback2(gCB2_AfterEvolution);
|
||||
}
|
||||
break;
|
||||
case EVOSTATE_CANCEL:
|
||||
case EVOSTATE_CANCEL: // evolution has been canceled, stop music and re-fade palette
|
||||
if (!gTasks[sEvoGraphicsTaskId].isActive)
|
||||
{
|
||||
m4aMPlayAllStop();
|
||||
@@ -829,19 +829,19 @@ static void Task_EvolutionScene(u8 taskId)
|
||||
gTasks[taskId].tState++;
|
||||
}
|
||||
break;
|
||||
case EVOSTATE_CANCEL_MON_ANIM:
|
||||
case EVOSTATE_CANCEL_MON_ANIM: // animate pokemon trying to evolve again, evolution has been stopped
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
EvoScene_DoMonAnimAndCry(sEvoStructPtr->preEvoSpriteId, gTasks[taskId].tPreEvoSpecies);
|
||||
gTasks[taskId].tState++;
|
||||
}
|
||||
break;
|
||||
case EVOSTATE_CANCEL_MSG:
|
||||
case EVOSTATE_CANCEL_MSG: // after the animation, print the string 'WHOA IT DId NOT EVOLVE!!!'
|
||||
if (EvoScene_IsMonAnimFinished(sEvoStructPtr->preEvoSpriteId))
|
||||
{
|
||||
if (gTasks[taskId].tEvoWasStopped)
|
||||
if (gTasks[taskId].tEvoWasStopped) // FRLG auto cancellation
|
||||
StringExpandPlaceholders(gStringVar4, gText_EllipsisQuestionMark);
|
||||
else // Fire Red leftover probably
|
||||
else
|
||||
StringExpandPlaceholders(gStringVar4, gText_PkmnStoppedEvolving);
|
||||
|
||||
BattlePutTextOnWindow(gStringVar4, B_WIN_MSG);
|
||||
@@ -849,7 +849,7 @@ static void Task_EvolutionScene(u8 taskId)
|
||||
gTasks[taskId].tState = EVOSTATE_TRY_LEARN_MOVE;
|
||||
}
|
||||
break;
|
||||
case EVOSTATE_LEARNED_MOVE:
|
||||
case EVOSTATE_LEARNED_MOVE: // pokemon learned a new move, print string and play a fanfare
|
||||
if (!IsTextPrinterActive(0) && !IsSEPlaying())
|
||||
{
|
||||
BufferMoveToLearnIntoBattleTextBuff2();
|
||||
@@ -860,11 +860,11 @@ static void Task_EvolutionScene(u8 taskId)
|
||||
gTasks[taskId].tState++;
|
||||
}
|
||||
break;
|
||||
case EVOSTATE_TRY_LEARN_ANOTHER_MOVE:
|
||||
case EVOSTATE_TRY_LEARN_ANOTHER_MOVE: // wait a bit and check if can learn another move
|
||||
if (!IsTextPrinterActive(0) && !IsSEPlaying() && --gTasks[taskId].tLearnsFirstMove == 0)
|
||||
gTasks[taskId].tState = EVOSTATE_TRY_LEARN_MOVE;
|
||||
break;
|
||||
case EVOSTATE_REPLACE_MOVE:
|
||||
case EVOSTATE_REPLACE_MOVE: // try to learn a new move
|
||||
switch (gTasks[taskId].tLearnMoveState)
|
||||
{
|
||||
case MVSTATE_INTRO_MSG_1:
|
||||
@@ -1223,7 +1223,7 @@ static void Task_TradeEvolutionScene(u8 taskId)
|
||||
{
|
||||
DestroyTask(taskId);
|
||||
FREE_AND_SET_NULL(sEvoStructPtr);
|
||||
gTextFlags.useAlternateDownArrow = 0;
|
||||
gTextFlags.useAlternateDownArrow = FALSE;
|
||||
SetMainCallback2(gCB2_AfterEvolution);
|
||||
}
|
||||
break;
|
||||
@@ -1644,7 +1644,7 @@ static void PauseBgPaletteAnim(void)
|
||||
if (taskId != TASK_NONE)
|
||||
gTasks[taskId].tPaused = TRUE;
|
||||
|
||||
FillPalette(0, 0xA0, 0x20);
|
||||
FillPalette(RGB_BLACK, 0xA0, 0x20);
|
||||
}
|
||||
|
||||
#undef tPaused
|
||||
@@ -1658,7 +1658,7 @@ static void StopBgAnimation(void)
|
||||
if ((taskId = FindTaskIdByFunc(Task_AnimateBg)) != TASK_NONE)
|
||||
DestroyTask(taskId);
|
||||
|
||||
FillPalette(0, 0xA0, 0x20);
|
||||
FillPalette(RGB_BLACK, 0xA0, 0x20);
|
||||
RestoreBgAfterAnim();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user