recursive printing of evolutions aka now shows all follow up evolutions aswell, even complexer lines like Wurmple
This commit is contained in:
parent
c9d902d722
commit
9a5c196cd0
1 changed files with 106 additions and 101 deletions
207
src/pokedex.c
207
src/pokedex.c
|
@ -364,7 +364,7 @@ static void Task_LoadEvolutionScreen(u8 taskId);
|
|||
static void Task_HandleEvolutionScreenInput(u8 taskId);
|
||||
static void Task_SwitchScreensFromEvolutionScreen(u8 taskId);
|
||||
static void Task_ExitEvolutionScreen(u8 taskId);
|
||||
static void PrintEvolutionTargetSpeciesAndMethod(u8 taskId, u16 species);
|
||||
static u8 PrintEvolutionTargetSpeciesAndMethod(u8 taskId, u16 species, u8 depth, u8 depth_i);
|
||||
//Stat bars on scrolling screens
|
||||
static void TryDestroyStatBars(void);
|
||||
static void TryDestroyStatBarsBg(void);
|
||||
|
@ -7401,7 +7401,7 @@ static void Task_LoadEvolutionScreen(u8 taskId)
|
|||
case 4:
|
||||
//Print evo info and icons
|
||||
gTasks[taskId].data[3] = 0;
|
||||
PrintEvolutionTargetSpeciesAndMethod(taskId, NationalPokedexNumToSpecies(sPokedexListItem->dexNum));
|
||||
PrintEvolutionTargetSpeciesAndMethod(taskId, NationalPokedexNumToSpecies(sPokedexListItem->dexNum), 0, 0);
|
||||
gMain.state++;
|
||||
break;
|
||||
case 5:
|
||||
|
@ -7526,7 +7526,7 @@ static void CreateCaughtBallEvolutionScreen(u16 targetSpecies, u8 x, u8 y, u16 u
|
|||
}
|
||||
}
|
||||
#define EVO_SCREEN_LVL_DIGITS 2
|
||||
static void PrintEvolutionTargetSpeciesAndMethod(u8 taskId, u16 species)
|
||||
static u8 PrintEvolutionTargetSpeciesAndMethod(u8 taskId, u16 species, u8 depth, u8 depth_i)
|
||||
{
|
||||
int i;
|
||||
#ifdef POKEMON_EXPANSION
|
||||
|
@ -7544,6 +7544,7 @@ static void PrintEvolutionTargetSpeciesAndMethod(u8 taskId, u16 species)
|
|||
u8 base_y_offset = 9;
|
||||
u8 base_i = 0;
|
||||
u8 times = 0;
|
||||
u8 depth_x = 16;
|
||||
|
||||
StringCopy(gStringVar1, gSpeciesNames[species]);
|
||||
|
||||
|
@ -7562,7 +7563,7 @@ static void PrintEvolutionTargetSpeciesAndMethod(u8 taskId, u16 species)
|
|||
gTasks[taskId].data[3] = times;
|
||||
|
||||
//If there are no evolutions print text
|
||||
if (times == 0)
|
||||
if (times == 0 && depth == 0)
|
||||
{
|
||||
StringExpandPlaceholders(gStringVar4, gText_EVO_NONE);
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x-7, base_y + base_y_offset*base_i);
|
||||
|
@ -7571,273 +7572,277 @@ static void PrintEvolutionTargetSpeciesAndMethod(u8 taskId, u16 species)
|
|||
//If there are evolutions find out which and print them 1 by 1
|
||||
for (i = 0; i < times; i++)
|
||||
{
|
||||
base_i = i;
|
||||
base_i = i + depth_i;
|
||||
left = !left;
|
||||
switch (gEvolutionTable[species][i].method)
|
||||
{
|
||||
case EVO_FRIENDSHIP:
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x-9, base_y + base_y_offset*base_i, 0);
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x + depth_x*depth-9, base_y + base_y_offset*base_i, 0);
|
||||
ConvertIntToDecimalStringN(gStringVar2, 220, STR_CONV_MODE_LEADING_ZEROS, 3); //friendship value
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x, base_y, base_y_offset, base_i); //evolution mon name
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x + depth_x*depth, base_y, base_y_offset, base_i); //evolution mon name
|
||||
StringExpandPlaceholders(gStringVar4, gText_EVO_FRIENDSHIP );
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x+base_x_offset, base_y + base_y_offset*base_i);
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x + depth_x*depth+base_x_offset, base_y + base_y_offset*base_i);
|
||||
break;
|
||||
case EVO_FRIENDSHIP_DAY:
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x, base_y, base_y_offset, base_i); //evolution mon name
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x + depth_x*depth-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x + depth_x*depth, base_y, base_y_offset, base_i); //evolution mon name
|
||||
StringExpandPlaceholders(gStringVar4, gText_EVO_FRIENDSHIP_DAY );
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x+base_x_offset, base_y + base_y_offset*base_i);
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x + depth_x*depth+base_x_offset, base_y + base_y_offset*base_i);
|
||||
break;
|
||||
case EVO_FRIENDSHIP_NIGHT:
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x, base_y, base_y_offset, base_i); //evolution mon name
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x + depth_x*depth-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x + depth_x*depth, base_y, base_y_offset, base_i); //evolution mon name
|
||||
StringExpandPlaceholders(gStringVar4, gText_EVO_FRIENDSHIP_NIGHT );
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x+base_x_offset, base_y + base_y_offset*base_i);
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x + depth_x*depth+base_x_offset, base_y + base_y_offset*base_i);
|
||||
break;
|
||||
case EVO_LEVEL:
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x-9, base_y + base_y_offset*base_i, 0);
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x + depth_x*depth-9, base_y + base_y_offset*base_i, 0);
|
||||
ConvertIntToDecimalStringN(gStringVar2, gEvolutionTable[species][i].param, STR_CONV_MODE_LEADING_ZEROS, EVO_SCREEN_LVL_DIGITS); //level
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x, base_y, base_y_offset, base_i); //evolution mon name
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x + depth_x*depth, base_y, base_y_offset, base_i); //evolution mon name
|
||||
StringExpandPlaceholders(gStringVar4, gText_EVO_LEVEL );
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x+base_x_offset, base_y + base_y_offset*base_i);
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x + depth_x*depth+base_x_offset, base_y + base_y_offset*base_i);
|
||||
break;
|
||||
case EVO_TRADE:
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x, base_y, base_y_offset, base_i); //evolution mon name
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x + depth_x*depth-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x + depth_x*depth, base_y, base_y_offset, base_i); //evolution mon name
|
||||
StringExpandPlaceholders(gStringVar4, gText_EVO_TRADE );
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x+base_x_offset, base_y + base_y_offset*base_i);
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x + depth_x*depth+base_x_offset, base_y + base_y_offset*base_i);
|
||||
break;
|
||||
case EVO_TRADE_ITEM:
|
||||
item = gEvolutionTable[species][i].param; //item
|
||||
CopyItemName(item, gStringVar2); //item
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x, base_y, base_y_offset, base_i); //evolution mon name
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x + depth_x*depth-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x + depth_x*depth, base_y, base_y_offset, base_i); //evolution mon name
|
||||
StringExpandPlaceholders(gStringVar4, gText_EVO_TRADE_ITEM );
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x+base_x_offset, base_y + base_y_offset*base_i);
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x + depth_x*depth+base_x_offset, base_y + base_y_offset*base_i);
|
||||
break;
|
||||
case EVO_ITEM:
|
||||
item = gEvolutionTable[species][i].param;
|
||||
CopyItemName(item, gStringVar2);
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x, base_y, base_y_offset, base_i); //evolution mon name
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x + depth_x*depth-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x + depth_x*depth, base_y, base_y_offset, base_i); //evolution mon name
|
||||
StringExpandPlaceholders(gStringVar4, gText_EVO_ITEM );
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x+base_x_offset, base_y + base_y_offset*base_i);
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x + depth_x*depth+base_x_offset, base_y + base_y_offset*base_i);
|
||||
break;
|
||||
case EVO_LEVEL_ATK_GT_DEF:
|
||||
ConvertIntToDecimalStringN(gStringVar2, gEvolutionTable[species][i].param, STR_CONV_MODE_LEADING_ZEROS, EVO_SCREEN_LVL_DIGITS); //level
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x, base_y, base_y_offset, base_i); //evolution mon name
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x + depth_x*depth-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x + depth_x*depth, base_y, base_y_offset, base_i); //evolution mon name
|
||||
StringExpandPlaceholders(gStringVar4, gText_EVO_LEVEL_ATK_GT_DEF );
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x+base_x_offset, base_y + base_y_offset*base_i);
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x + depth_x*depth+base_x_offset, base_y + base_y_offset*base_i);
|
||||
break;
|
||||
case EVO_LEVEL_ATK_EQ_DEF:
|
||||
ConvertIntToDecimalStringN(gStringVar2, gEvolutionTable[species][i].param, STR_CONV_MODE_LEADING_ZEROS, EVO_SCREEN_LVL_DIGITS); //level
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x, base_y, base_y_offset, base_i); //evolution mon name
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x + depth_x*depth-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x + depth_x*depth, base_y, base_y_offset, base_i); //evolution mon name
|
||||
StringExpandPlaceholders(gStringVar4, gText_EVO_LEVEL_ATK_EQ_DEF );
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x+base_x_offset, base_y + base_y_offset*base_i);
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x + depth_x*depth+base_x_offset, base_y + base_y_offset*base_i);
|
||||
break;
|
||||
case EVO_LEVEL_ATK_LT_DEF:
|
||||
ConvertIntToDecimalStringN(gStringVar2, gEvolutionTable[species][i].param, STR_CONV_MODE_LEADING_ZEROS, EVO_SCREEN_LVL_DIGITS); //level
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x, base_y, base_y_offset, base_i); //evolution mon namee
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x + depth_x*depth-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x + depth_x*depth, base_y, base_y_offset, base_i); //evolution mon namee
|
||||
StringExpandPlaceholders(gStringVar4, gText_EVO_LEVEL_ATK_LT_DEF );
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x+base_x_offset, base_y + base_y_offset*base_i);
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x + depth_x*depth+base_x_offset, base_y + base_y_offset*base_i);
|
||||
break;
|
||||
case EVO_LEVEL_SILCOON:
|
||||
ConvertIntToDecimalStringN(gStringVar2, gEvolutionTable[species][i].param, STR_CONV_MODE_LEADING_ZEROS, EVO_SCREEN_LVL_DIGITS); //level
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x, base_y, base_y_offset, base_i); //evolution mon name
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x + depth_x*depth-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x + depth_x*depth, base_y, base_y_offset, base_i); //evolution mon name
|
||||
StringExpandPlaceholders(gStringVar4, gText_EVO_LEVEL_SILCOON );
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x+base_x_offset, base_y + base_y_offset*base_i);
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x + depth_x*depth+base_x_offset, base_y + base_y_offset*base_i);
|
||||
break;
|
||||
case EVO_LEVEL_CASCOON:
|
||||
ConvertIntToDecimalStringN(gStringVar2, gEvolutionTable[species][i].param, STR_CONV_MODE_LEADING_ZEROS, EVO_SCREEN_LVL_DIGITS); //level
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x, base_y, base_y_offset, base_i); //evolution mon name
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x + depth_x*depth-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x + depth_x*depth, base_y, base_y_offset, base_i); //evolution mon name
|
||||
StringExpandPlaceholders(gStringVar4, gText_EVO_LEVEL_CASCOON );
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x+base_x_offset, base_y + base_y_offset*base_i);
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x + depth_x*depth+base_x_offset, base_y + base_y_offset*base_i);
|
||||
break;
|
||||
case EVO_LEVEL_NINJASK:
|
||||
ConvertIntToDecimalStringN(gStringVar2, gEvolutionTable[species][i].param, STR_CONV_MODE_LEADING_ZEROS, EVO_SCREEN_LVL_DIGITS); //level
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x, base_y, base_y_offset, base_i); //evolution mon name
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x + depth_x*depth-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x + depth_x*depth, base_y, base_y_offset, base_i); //evolution mon name
|
||||
StringExpandPlaceholders(gStringVar4, gText_EVO_LEVEL_NINJASK );
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x+base_x_offset, base_y + base_y_offset*base_i);
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x + depth_x*depth+base_x_offset, base_y + base_y_offset*base_i);
|
||||
break;
|
||||
case EVO_LEVEL_SHEDINJA:
|
||||
ConvertIntToDecimalStringN(gStringVar2, gEvolutionTable[species][i].param, STR_CONV_MODE_LEADING_ZEROS, EVO_SCREEN_LVL_DIGITS); //level
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x, base_y, base_y_offset, base_i); //evolution mon name
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x + depth_x*depth-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x + depth_x*depth, base_y, base_y_offset, base_i); //evolution mon name
|
||||
StringExpandPlaceholders(gStringVar4, gText_EVO_LEVEL_SHEDINJA );
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x+base_x_offset, base_y + base_y_offset*base_i);
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x + depth_x*depth+base_x_offset, base_y + base_y_offset*base_i);
|
||||
break;
|
||||
case EVO_BEAUTY:
|
||||
ConvertIntToDecimalStringN(gStringVar2, gEvolutionTable[species][i].param, STR_CONV_MODE_LEADING_ZEROS, 3); //beauty
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x, base_y, base_y_offset, base_i); //evolution mon name
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x + depth_x*depth-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x + depth_x*depth, base_y, base_y_offset, base_i); //evolution mon name
|
||||
StringExpandPlaceholders(gStringVar4, gText_EVO_BEAUTY );
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x+base_x_offset, base_y + base_y_offset*base_i);
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x + depth_x*depth+base_x_offset, base_y + base_y_offset*base_i);
|
||||
break;
|
||||
#ifdef POKEMON_EXPANSION
|
||||
case EVO_LEVEL_FEMALE:
|
||||
ConvertIntToDecimalStringN(gStringVar2, gEvolutionTable[species][i].param, STR_CONV_MODE_LEADING_ZEROS, EVO_SCREEN_LVL_DIGITS); //level
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x, base_y, base_y_offset, base_i); //evolution mon name
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x + depth_x*depth-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x + depth_x*depth, base_y, base_y_offset, base_i); //evolution mon name
|
||||
StringExpandPlaceholders(gStringVar4, gText_EVO_LEVEL_FEMALE );
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x+base_x_offset, base_y + base_y_offset*base_i);
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x + depth_x*depth+base_x_offset, base_y + base_y_offset*base_i);
|
||||
break;
|
||||
case EVO_LEVEL_MALE:
|
||||
ConvertIntToDecimalStringN(gStringVar2, gEvolutionTable[species][i].param, STR_CONV_MODE_LEADING_ZEROS, EVO_SCREEN_LVL_DIGITS); //level
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x, base_y, base_y_offset, base_i); //evolution mon name
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x + depth_x*depth-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x + depth_x*depth, base_y, base_y_offset, base_i); //evolution mon name
|
||||
StringExpandPlaceholders(gStringVar4, gText_EVO_LEVEL_MALE );
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x+base_x_offset, base_y + base_y_offset*base_i);
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x + depth_x*depth+base_x_offset, base_y + base_y_offset*base_i);
|
||||
break;
|
||||
case EVO_LEVEL_NIGHT:
|
||||
ConvertIntToDecimalStringN(gStringVar2, gEvolutionTable[species][i].param, STR_CONV_MODE_LEADING_ZEROS, EVO_SCREEN_LVL_DIGITS); //level
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x, base_y, base_y_offset, base_i); //evolution mon name
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x + depth_x*depth-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x + depth_x*depth, base_y, base_y_offset, base_i); //evolution mon name
|
||||
StringExpandPlaceholders(gStringVar4, gText_EVO_LEVEL_NIGHT );
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x+base_x_offset, base_y + base_y_offset*base_i);
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x + depth_x*depth+base_x_offset, base_y + base_y_offset*base_i);
|
||||
break;
|
||||
case EVO_LEVEL_DAY:
|
||||
ConvertIntToDecimalStringN(gStringVar2, gEvolutionTable[species][i].param, STR_CONV_MODE_LEADING_ZEROS, EVO_SCREEN_LVL_DIGITS); //level
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x, base_y, base_y_offset, base_i); //evolution mon name
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x + depth_x*depth-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x + depth_x*depth, base_y, base_y_offset, base_i); //evolution mon name
|
||||
StringExpandPlaceholders(gStringVar4, gText_EVO_LEVEL_DAY );
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x+base_x_offset, base_y + base_y_offset*base_i);
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x + depth_x*depth+base_x_offset, base_y + base_y_offset*base_i);
|
||||
break;
|
||||
case EVO_LEVEL_DUSK:
|
||||
ConvertIntToDecimalStringN(gStringVar2, gEvolutionTable[species][i].param, STR_CONV_MODE_LEADING_ZEROS, EVO_SCREEN_LVL_DIGITS); //level
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x, base_y, base_y_offset, base_i); //evolution mon name
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x + depth_x*depth-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x + depth_x*depth, base_y, base_y_offset, base_i); //evolution mon name
|
||||
StringExpandPlaceholders(gStringVar4, gText_EVO_LEVEL_DUSK );
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x+base_x_offset, base_y + base_y_offset*base_i);
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x + depth_x*depth+base_x_offset, base_y + base_y_offset*base_i);
|
||||
break;
|
||||
case EVO_ITEM_HOLD_DAY:
|
||||
item = gEvolutionTable[species][i].param; //item
|
||||
CopyItemName(item, gStringVar2); //item
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x, base_y, base_y_offset, base_i); //evolution mon name
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x + depth_x*depth-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x + depth_x*depth, base_y, base_y_offset, base_i); //evolution mon name
|
||||
StringExpandPlaceholders(gStringVar4, gText_EVO_ITEM_HOLD_DAY );
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x+base_x_offset, base_y + base_y_offset*base_i);
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x + depth_x*depth+base_x_offset, base_y + base_y_offset*base_i);
|
||||
break;
|
||||
case EVO_ITEM_HOLD_NIGHT:
|
||||
item = gEvolutionTable[species][i].param; //item
|
||||
CopyItemName(item, gStringVar2); //item
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x, base_y, base_y_offset, base_i); //evolution mon name
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x + depth_x*depth-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x + depth_x*depth, base_y, base_y_offset, base_i); //evolution mon name
|
||||
StringExpandPlaceholders(gStringVar4, gText_EVO_ITEM_HOLD_NIGHT );
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x+base_x_offset, base_y + base_y_offset*base_i);
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x + depth_x*depth+base_x_offset, base_y + base_y_offset*base_i);
|
||||
break;
|
||||
case EVO_MOVE:
|
||||
StringCopy(gStringVar2, gMoveNames[gEvolutionTable[species][i].param]);
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x, base_y, base_y_offset, base_i); //evolution mon name
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x + depth_x*depth-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x + depth_x*depth, base_y, base_y_offset, base_i); //evolution mon name
|
||||
StringExpandPlaceholders(gStringVar4, gText_EVO_MOVE );
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x+base_x_offset, base_y + base_y_offset*base_i);
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x + depth_x*depth+base_x_offset, base_y + base_y_offset*base_i);
|
||||
break;
|
||||
case EVO_MOVE_TYPE:
|
||||
StringCopy(gStringVar2, gTypeNames[gEvolutionTable[species][i].param]);
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x, base_y, base_y_offset, base_i); //evolution mon name
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x + depth_x*depth-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x + depth_x*depth, base_y, base_y_offset, base_i); //evolution mon name
|
||||
StringExpandPlaceholders(gStringVar4, gText_EVO_MOVE_TYPE );
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x+base_x_offset, base_y + base_y_offset*base_i);
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x + depth_x*depth+base_x_offset, base_y + base_y_offset*base_i);
|
||||
break;
|
||||
case EVO_MAPSEC:
|
||||
StringCopy(gStringVar2, gRegionMapEntries[gEvolutionTable[species][i].param].name);
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x, base_y, base_y_offset, base_i); //evolution mon name
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x + depth_x*depth-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x + depth_x*depth, base_y, base_y_offset, base_i); //evolution mon name
|
||||
StringExpandPlaceholders(gStringVar4, gText_EVO_MAPSEC );
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x+base_x_offset, base_y + base_y_offset*base_i);
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x + depth_x*depth+base_x_offset, base_y + base_y_offset*base_i);
|
||||
break;
|
||||
case EVO_ITEM_MALE:
|
||||
item = gEvolutionTable[species][i].param; //item
|
||||
CopyItemName(item, gStringVar2); //item
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x, base_y, base_y_offset, base_i); //evolution mon name
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x + depth_x*depth-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x + depth_x*depth, base_y, base_y_offset, base_i); //evolution mon name
|
||||
StringExpandPlaceholders(gStringVar4, gText_EVO_ITEM_MALE );
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x+base_x_offset, base_y + base_y_offset*base_i);
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x + depth_x*depth+base_x_offset, base_y + base_y_offset*base_i);
|
||||
break;
|
||||
case EVO_ITEM_FEMALE:
|
||||
item = gEvolutionTable[species][i].param; //item
|
||||
CopyItemName(item, gStringVar2); //item
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x, base_y, base_y_offset, base_i); //evolution mon name
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x + depth_x*depth-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x + depth_x*depth, base_y, base_y_offset, base_i); //evolution mon name
|
||||
StringExpandPlaceholders(gStringVar4, gText_EVO_ITEM_FEMALE );
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x+base_x_offset, base_y + base_y_offset*base_i);
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x + depth_x*depth+base_x_offset, base_y + base_y_offset*base_i);
|
||||
break;
|
||||
case EVO_LEVEL_RAIN:
|
||||
//if (j == WEATHER_RAIN || j == WEATHER_RAIN_THUNDERSTORM || j == WEATHER_DOWNPOUR)
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x, base_y, base_y_offset, base_i); //evolution mon name
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x + depth_x*depth-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x + depth_x*depth, base_y, base_y_offset, base_i); //evolution mon name
|
||||
StringExpandPlaceholders(gStringVar4, gText_EVO_LEVEL_RAIN );
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x+base_x_offset, base_y + base_y_offset*base_i);
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x + depth_x*depth+base_x_offset, base_y + base_y_offset*base_i);
|
||||
break;
|
||||
case EVO_SPECIFIC_MON_IN_PARTY:
|
||||
StringCopy(gStringVar2, gSpeciesNames[gEvolutionTable[species][i].param]); //mon name
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x, base_y, base_y_offset, base_i); //evolution mon name
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x + depth_x*depth-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x + depth_x*depth, base_y, base_y_offset, base_i); //evolution mon name
|
||||
StringExpandPlaceholders(gStringVar4, gText_EVO_SPECIFIC_MON_IN_PARTY );
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x+base_x_offset, base_y + base_y_offset*base_i);
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x + depth_x*depth+base_x_offset, base_y + base_y_offset*base_i);
|
||||
break;
|
||||
case EVO_LEVEL_DARK_TYPE_MON_IN_PARTY:
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x, base_y, base_y_offset, base_i); //evolution mon name
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x + depth_x*depth-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x + depth_x*depth, base_y, base_y_offset, base_i); //evolution mon name
|
||||
StringExpandPlaceholders(gStringVar4, gText_EVO_LEVEL_DARK_TYPE_MON_IN_PARTY );
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x+base_x_offset, base_y + base_y_offset*base_i);
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x + depth_x*depth+base_x_offset, base_y + base_y_offset*base_i);
|
||||
break;
|
||||
case EVO_TRADE_SPECIFIC_MON:
|
||||
StringCopy(gStringVar2, gSpeciesNames[gEvolutionTable[species][i].param]); //mon name
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x, base_y, base_y_offset, base_i); //evolution mon name
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x + depth_x*depth-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x + depth_x*depth, base_y, base_y_offset, base_i); //evolution mon name
|
||||
StringExpandPlaceholders(gStringVar4, gText_EVO_TRADE_SPECIFIC_MON );
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x+base_x_offset, base_y + base_y_offset*base_i);
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x + depth_x*depth+base_x_offset, base_y + base_y_offset*base_i);
|
||||
break;
|
||||
case EVO_SPECIFIC_MAP:
|
||||
mapHeader = Overworld_GetMapHeaderByGroupAndId(gEvolutionTable[species][i].param >> 8, gEvolutionTable[species][i].param & 0xFF);
|
||||
GetMapName(gStringVar2, mapHeader->regionMapSectionId, 0);
|
||||
targetSpecies = gEvolutionTable[species][i].targetSpecies;
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x, base_y, base_y_offset, base_i); //evolution mon name
|
||||
CreateCaughtBallEvolutionScreen(targetSpecies, base_x + depth_x*depth-9, base_y + base_y_offset*base_i, 0);
|
||||
handleTargetSpeciesPrint(taskId, targetSpecies, base_x + depth_x*depth, base_y, base_y_offset, base_i); //evolution mon name
|
||||
StringExpandPlaceholders(gStringVar4, gText_EVO_SPECIFIC_MAP );
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x+base_x_offset, base_y + base_y_offset*base_i);
|
||||
PrintInfoScreenTextSmall(gStringVar4, base_x + depth_x*depth+base_x_offset, base_y + base_y_offset*base_i);
|
||||
break;
|
||||
#endif
|
||||
}//Switch end
|
||||
|
||||
depth_i += PrintEvolutionTargetSpeciesAndMethod(taskId, targetSpecies, depth+1, base_i+1);
|
||||
}//For loop end
|
||||
|
||||
return times;
|
||||
}
|
||||
static void Task_SwitchScreensFromEvolutionScreen(u8 taskId)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue