Document summary screen extra windows

This commit is contained in:
RavePossum
2024-11-15 14:57:35 -05:00
parent 5007227b4b
commit a40e829a50
5 changed files with 453 additions and 423 deletions

View File

@@ -106,14 +106,14 @@ enum PSSStaticWindow {
PSS_WINDOW_LABEL_TYPE,
PSS_WINDOW_LABEL_OT_NAME,
PSS_WINDOW_LABEL_OT_ID,
PSS_WINDOW_LABEL_EXP_POINTS,
PSS_WINDOW_LABEL_TO_NEXT_LV,
PSS_WINDOW_LABEL_EXP,
PSS_WINDOW_LABEL_EXP_NEXT_LV,
PSS_WINDOW_DUMMY_14,
PSS_WINDOW_LABEL_HP,
PSS_WINDOW_LABEL_ATTACK,
PSS_WINDOW_LABEL_DEFENSE,
PSS_WINDOW_LABEL_SP_ATK,
PSS_WINDOW_LABEL_SP_DEF,
PSS_WINDOW_LABEL_SP_ATTACK,
PSS_WINDOW_LABEL_SP_DEFENSE,
PSS_WINDOW_LABEL_SPEED,
PSS_WINDOW_LABEL_ABILITY,
PSS_WINDOW_LABEL_SHEEN,
@@ -124,42 +124,85 @@ enum PSSStaticWindow {
PSS_WINDOW_LABEL_MOVE_ACCURACY,
PSS_WINDOW_LABEL_CLOSE_WINDOW,
PSS_WINDOW_LABEL_APPEAL_POINTS,
PSS_WINDOW_LABEL_NUM_OF_RIBBONS,
PSS_WINDOW_LABEL_RIBBON_COUNT,
PSS_WINDOW_LABEL_RIBBONS,
PSS_WINDOW_ITEM_NAME,
PSS_WINDOW_MON_LEVEL,
PSS_WINDOW_MON_NICKNAME_GENDER,
PSS_WINDOW_LABEL_BUTTON_PROMPT,
PSS_WINDOW_BUTTON_PROMPT,
PSS_STATIC_WINDOW_MAX
};
enum PSSExtraWindowInfo {
PSS_INFO_WINDOW_MAX = 6,
PSS_WINDOW_DEX_NUM = 0,
PSS_WINDOW_SPECIES_NAME,
PSS_WINDOW_OT_NAME,
PSS_WINDOW_OT_ID,
PSS_WINDOW_EXP,
PSS_WINDOW_EXP_NEXT_LV,
PSS_INFO_WINDOW_MAX,
};
enum PSSExtraWindowMemo {
PSS_MEMO_WINDOW_MAX = 1,
PSS_WINDOW_MEMO = 0,
PSS_MEMO_WINDOW_MAX,
};
enum PSSExtraWindowSkills {
PSS_SKILLS_WINDOW_MAX = 8,
PSS_WINDOW_HP = 0,
PSS_WINDOW_ATTACK,
PSS_WINDOW_DEFENSE,
PSS_WINDOW_SP_ATTACK,
PSS_WINDOW_SP_DEFENSE,
PSS_WINDOW_SPEED,
PSS_WINDOW_ABILITY,
PSS_WINDOW_ABILITY_DESCRIPTION,
PSS_SKILLS_WINDOW_MAX,
};
enum PSSExtraWindowBattleMoves {
PSS_BATTLE_MOVES_WINDOW_MAX = 8,
PSS_WINDOW_BATTLE_MOVE_1 = 0,
PSS_WINDOW_BATTLE_MOVE_2,
PSS_WINDOW_BATTLE_MOVE_3,
PSS_WINDOW_BATTLE_MOVE_4,
PSS_WINDOW_BATTLE_MOVE_5,
PSS_WINDOW_BATTLE_MOVE_POWER,
PSS_WINDOW_BATTLE_MOVE_ACCURACY,
PSS_WINDOW_BATTLE_MOVE_DESCRIPTION,
PSS_BATTLE_MOVES_WINDOW_MAX,
};
enum PSSExtraWindowContestMoves {
PSS_CONTEST_MOVES_WINDOW_MAX = 6,
PSS_WINDOW_CONTEST_MOVE_1 = 0,
PSS_WINDOW_CONTEST_MOVE_2,
PSS_WINDOW_CONTEST_MOVE_3,
PSS_WINDOW_CONTEST_MOVE_4,
PSS_WINDOW_CONTEST_MOVE_5,
PSS_WINDOW_CONTEST_MOVE_DESCRIPTION,
PSS_CONTEST_MOVES_WINDOW_MAX,
};
enum PSSExtraWindowRibbons {
PSS_RIBBONS_WINDOW_MAX = 4,
PSS_WINDOW_RIBBON_COUNT = 0,
PSS_WINDOW_RIBBON_INDEX,
PSS_WINDOW_RIBBON_NAME,
PSS_WINDOW_RIBBON_DESCRIPTION,
PSS_RIBBONS_WINDOW_MAX,
};
enum PSSExtraWindowConditionExit {
PSS_CONDITION_EXIT_WINDOW_MAX = 3,
enum PSSExtraWindowCondition {
PSS_WINDOW_POFFIN_BUTTON_PROMPT = 0,
PSS_WINDOW_FAVORITE_FOOD,
PSS_WINDOW_POFFIN_FEED_MSG,
PSS_CONDITION_WINDOW_MAX,
};
enum PSSSprite {
@@ -295,7 +338,7 @@ typedef struct PokemonSummaryMonData {
u8 type1;
u8 type2;
u8 level : 7;
u8 showGender : 1;
u8 hideGender : 1;
u8 gender : 2;
u8 caughtBall : 6;

View File

@@ -7,21 +7,21 @@ void PokemonSummaryScreen_DrawStaticWindows(PokemonSummaryScreen *summaryScreen)
void PokemonSummaryScreen_AddExtraWindows(PokemonSummaryScreen *summaryScreen);
void PokemonSummaryScreen_RemoveExtraWindows(PokemonSummaryScreen *summaryScreen);
void PokemonSummaryScreen_RemoveWindows(PokemonSummaryScreen *summaryScreen);
void PokemonSummaryScreen_PrintGenderSymbol(PokemonSummaryScreen *summaryScreen);
void PokemonSummaryScreen_PrintNicknameAndGender(PokemonSummaryScreen *summaryScreen);
void PokemonSummaryScreen_PrintLevel(PokemonSummaryScreen *summaryScreen);
void PokemonSummaryScreen_PrintItemName(PokemonSummaryScreen *summaryScreen);
void PokemonSummaryScreen_ClearAndPrintButtonPrompt(PokemonSummaryScreen *summaryScreen, u32 entryID);
void sub_020904C4(PokemonSummaryScreen *param0);
void PokemonSummaryScreen_DrawExtraWindows(PokemonSummaryScreen *summaryScreen);
void PokemonSummaryScreen_PrintRibbonIndexAndMax(PokemonSummaryScreen *summaryScreen);
void PokemonSummaryScreen_PrintRibbonNameAndDesc(PokemonSummaryScreen *summaryScreen);
void PokemonSummaryScreen_PrintBattleMoveInfo(PokemonSummaryScreen *summaryScreen, u32 move);
void PokemonSummaryScreen_ClearBattleInfoWindows(PokemonSummaryScreen *summaryScreen);
void PokemonSummaryScreen_ShowMoveInfoOrCancel(PokemonSummaryScreen *summaryScreen);
void PokemonSummaryScreen_PrintBattleMoveAttributes(PokemonSummaryScreen *summaryScreen, u32 move);
void PokemonSummaryScreen_ClearBattleAttributeWindows(PokemonSummaryScreen *summaryScreen);
void PokemonSummaryScreen_ShowMove5OrCancel(PokemonSummaryScreen *summaryScreen);
void PokemonSummaryScreen_HideMoveCancelText(PokemonSummaryScreen *summaryScreen);
void PokemonSummaryScreen_SwapMoveNameAndPP(PokemonSummaryScreen *summaryScreen);
void PokemonSummaryScreen_PrintHMMovesCantBeForgotten(PokemonSummaryScreen *summaryScreen);
void PokemonSummaryScreen_PrintContestMoveInfo(PokemonSummaryScreen *summaryScreen, u32 move);
void PokemonSummaryScreen_ClearContestInfoWindows(PokemonSummaryScreen *summaryScreen);
void PokemonSummaryScreen_PrintContestMoveAttributes(PokemonSummaryScreen *summaryScreen, u32 move);
void PokemonSummaryScreen_ClearContestAttributeWindows(PokemonSummaryScreen *summaryScreen);
void PokemonSummaryScreen_PrintPoffinFeedMsg(PokemonSummaryScreen *summaryScreen, enum PSSPoffinFeedMsg msg);
#endif // POKEPLATINUM_POKEMON_SUMMARY_SCREEN_WINDOW_H

View File

@@ -65,7 +65,7 @@
<attribute name="window_context_name">used</attribute>
<language name="English">ID No.</language>
</row>
<row id="pl_msg_00000455_00016" index="16">
<row id="pss_template_ot_id" index="16">
<attribute name="window_context_name">used</attribute>
<language name="English">{STRVAR_1 54, 0, 0}</language>
</row>
@@ -73,7 +73,7 @@
<attribute name="window_context_name">used</attribute>
<language name="English">Exp. Points</language>
</row>
<row id="pl_msg_00000455_00018" index="18">
<row id="pss_template_exp" index="18">
<attribute name="window_context_name">used</attribute>
<language name="English">{STRVAR_1 56, 0, 0}</language>
</row>
@@ -86,7 +86,7 @@
<language name="English"></language>
<language name="日本語">XX</language>
</row>
<row id="pl_msg_00000455_00021" index="21">
<row id="pss_template_exp_next_lv" index="21">
<attribute name="window_context_name">used</attribute>
<language name="English">{STRVAR_1 55, 0, 0}</language>
</row>
@@ -470,39 +470,39 @@
<attribute name="window_context_name">used</attribute>
<language name="English">Ability</language>
</row>
<row id="pl_msg_00000455_00117" index="117">
<row id="pss_slash" index="117">
<attribute name="window_context_name">used</attribute>
<language name="English">/</language>
</row>
<row id="pl_msg_00000455_00118" index="118">
<row id="pss_template_max_hp" index="118">
<attribute name="window_context_name">used</attribute>
<language name="English">{STRVAR_1 52, 0, 0}</language>
</row>
<row id="pl_msg_00000455_00119" index="119">
<row id="pss_template_current_hp" index="119">
<attribute name="window_context_name">used</attribute>
<language name="English">{STRVAR_1 52, 0, 0}</language>
</row>
<row id="pl_msg_00000455_00120" index="120">
<row id="pss_template_attack" index="120">
<attribute name="window_context_name">used</attribute>
<language name="English">{STRVAR_1 52, 0, 0}</language>
</row>
<row id="pl_msg_00000455_00121" index="121">
<row id="pss_template_defense" index="121">
<attribute name="window_context_name">used</attribute>
<language name="English">{STRVAR_1 52, 0, 0}</language>
</row>
<row id="pl_msg_00000455_00122" index="122">
<row id="pss_template_sp_attack" index="122">
<attribute name="window_context_name">used</attribute>
<language name="English">{STRVAR_1 52, 0, 0}</language>
</row>
<row id="pl_msg_00000455_00123" index="123">
<row id="pss_template_sp_defense" index="123">
<attribute name="window_context_name">used</attribute>
<language name="English">{STRVAR_1 52, 0, 0}</language>
</row>
<row id="pl_msg_00000455_00124" index="124">
<row id="pss_template_speed" index="124">
<attribute name="window_context_name">used</attribute>
<language name="English">{STRVAR_1 52, 0, 0}</language>
</row>
<row id="pl_msg_00000455_00125" index="125">
<row id="pss_template_ability" index="125">
<attribute name="window_context_name">used</attribute>
<language name="English">{STRVAR_1 5, 0, 0}</language>
</row>
@@ -518,7 +518,7 @@
<attribute name="window_context_name">used</attribute>
<language name="English">BATTLE MOVES</language>
</row>
<row id="pl_msg_00000455_00129" index="129">
<row id="pss_select_battle_move_info" index="129">
<attribute name="window_context_name">used</attribute>
<language name="English">INFO</language>
</row>
@@ -622,7 +622,7 @@
<attribute name="window_context_name">used</attribute>
<language name="English">---</language>
</row>
<row id="pl_msg_00000455_00155" index="155">
<row id="pss_select_battle_move_ok" index="155">
<attribute name="window_context_name">used</attribute>
<language name="English">OK</language>
</row>
@@ -634,11 +634,11 @@
<attribute name="window_context_name">used</attribute>
<language name="English">CONTEST MOVES</language>
</row>
<row id="pl_msg_00000455_00158" index="158">
<row id="pss_select_contest_move_info" index="158">
<attribute name="window_context_name">used</attribute>
<language name="English">INFO</language>
</row>
<row id="pl_msg_00000455_00159" index="159">
<row id="pss_select_contest_move_ok" index="159">
<attribute name="window_context_name">used</attribute>
<language name="English">OK</language>
</row>
@@ -646,7 +646,7 @@
<attribute name="window_context_name">used</attribute>
<language name="English">APPEAL POINTS</language>
</row>
<row id="pl_msg_00000455_00161" index="161">
<row id="pss_prompt_exit" index="161">
<attribute name="window_context_name">used</attribute>
<language name="English">EXIT</language>
</row>
@@ -654,7 +654,7 @@
<attribute name="window_context_name">used</attribute>
<language name="English">Close window.</language>
</row>
<row id="pl_msg_00000455_00163" index="163">
<row id="pss_poffin_feed_ok" index="163">
<attribute name="window_context_name">used</attribute>
<language name="English">OK</language>
</row>
@@ -663,27 +663,27 @@
<language name="English"></language>
<language name="日本語">XXX</language>
</row>
<row id="pl_msg_00000455_00165" index="165">
<row id="pss_favorite_food" index="165">
<attribute name="window_context_name">used</attribute>
<language name="English">FAVORITE FOOD</language>
</row>
<row id="pl_msg_00000455_00166" index="166">
<row id="pss_template_likes_spicy" index="166">
<attribute name="window_context_name">used</attribute>
<language name="English">Likes it {COLOR 2}spicy{COLOR 0}.</language>
</row>
<row id="pl_msg_00000455_00167" index="167">
<row id="pss_template_likes_dry" index="167">
<attribute name="window_context_name">used</attribute>
<language name="English">Likes it {COLOR 2}dry{COLOR 0}.</language>
</row>
<row id="pl_msg_00000455_00168" index="168">
<row id="pss_template_likes_sweet" index="168">
<attribute name="window_context_name">used</attribute>
<language name="English">Likes it {COLOR 2}sweet{COLOR 0}.</language>
</row>
<row id="pl_msg_00000455_00169" index="169">
<row id="pss_template_likes_bitter" index="169">
<attribute name="window_context_name">used</attribute>
<language name="English">Likes it {COLOR 2}bitter{COLOR 0}.</language>
</row>
<row id="pl_msg_00000455_00170" index="170">
<row id="pss_template_likes_sour" index="170">
<attribute name="window_context_name">used</attribute>
<language name="English">Likes it {COLOR 2}sour{COLOR 0}.</language>
</row>
@@ -723,7 +723,7 @@
<attribute name="window_context_name">used</attribute>
<language name="English">RIBBONS</language>
</row>
<row id="pl_msg_00000455_00180" index="180">
<row id="pss_ribbon_select_info" index="180">
<attribute name="window_context_name">used</attribute>
<language name="English">INFO</language>
</row>
@@ -735,7 +735,7 @@
<attribute name="window_context_name">used</attribute>
<language name="English">No. of Ribbons:</language>
</row>
<row id="pl_msg_00000455_00183" index="183">
<row id="pss_template_ribbon_count" index="183">
<attribute name="window_context_name">used</attribute>
<language name="English">{STRVAR_1 52, 0, 0}</language>
</row>

View File

@@ -1023,9 +1023,9 @@ static void SetMonDataFromMon(PokemonSummaryScreen *summaryScreen, Pokemon *mon,
monData->isEgg = Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL);
if (Pokemon_GetValue(mon, MON_DATA_NIDORAN_HAS_NICKNAME, NULL) == TRUE && monData->isEgg == FALSE) {
monData->showGender = FALSE;
monData->hideGender = FALSE;
} else {
monData->showGender = TRUE;
monData->hideGender = TRUE;
}
monData->gender = Pokemon_GetGender(mon);
@@ -1159,7 +1159,7 @@ static void SetupInitialPageGfx(PokemonSummaryScreen *summaryScreen)
PokemonSummaryScreen_UpdateMiscMonDataSprites(summaryScreen);
PokemonSummaryScreen_InitSheenSprites(summaryScreen);
PokemonSummaryScreen_AddExtraWindows(summaryScreen);
sub_020904C4(summaryScreen);
PokemonSummaryScreen_DrawExtraWindows(summaryScreen);
LoadCurrentPageTilemap(summaryScreen);
sub_020919E8(summaryScreen);
@@ -1249,7 +1249,7 @@ static void SetupPageFromSubscreenButton(PokemonSummaryScreen *summaryScreen, u8
Bg_FillTilemapRect(summaryScreen->bgConfig, BG_LAYER_MAIN_1, 0, 14, 4, 19, 20, 0);
Bg_CopyTilemapBufferToVRAM(summaryScreen->bgConfig, BG_LAYER_MAIN_1);
sub_020904C4(summaryScreen);
PokemonSummaryScreen_DrawExtraWindows(summaryScreen);
LoadCurrentPageTilemap(summaryScreen);
sub_020919E8(summaryScreen);
@@ -1424,7 +1424,7 @@ static void ChangeSummaryMon(PokemonSummaryScreen *summaryScreen, s8 delta)
SetMonData(summaryScreen);
PlayMonCry(summaryScreen);
PokemonSummaryScreen_PrintGenderSymbol(summaryScreen);
PokemonSummaryScreen_PrintNicknameAndGender(summaryScreen);
PokemonSummaryScreen_PrintLevel(summaryScreen);
PokemonSummaryScreen_PrintItemName(summaryScreen);
@@ -1448,7 +1448,7 @@ static void ChangeSummaryMon(PokemonSummaryScreen *summaryScreen, s8 delta)
sub_0208EE9C(summaryScreen);
PokemonSummaryScreen_InitSheenSprites(summaryScreen);
PokemonSummaryScreen_UpdateMiscMonDataSprites(summaryScreen);
sub_020904C4(summaryScreen);
PokemonSummaryScreen_DrawExtraWindows(summaryScreen);
}
static s8 TryAdvanceSummaryMonIndex(PokemonSummaryScreen *summaryScreen, s8 delta)
@@ -1585,7 +1585,7 @@ static u8 SetupBattleMoveInfo(PokemonSummaryScreen *summaryScreen)
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_MON_LEVEL]);
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_ITEM]);
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_ITEM_NAME]);
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_BUTTON_PROMPT]);
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_BUTTON_PROMPT]);
PokemonSummaryScreen_UpdateAButtonSprite(summaryScreen, NULL);
summaryScreen->cursor = 0;
@@ -1602,11 +1602,11 @@ static u8 SetupBattleMoveInfo(PokemonSummaryScreen *summaryScreen)
}
} break;
case 2:
PokemonSummaryScreen_ShowMoveInfoOrCancel(summaryScreen);
PokemonSummaryScreen_ShowMove5OrCancel(summaryScreen);
if (summaryScreen->data->mode != PSS_MODE_LOCK_MOVES) {
PokemonSummaryScreen_ClearAndPrintButtonPrompt(summaryScreen, 152);
PokemonSummaryScreen_UpdateAButtonSprite(summaryScreen, &summaryScreen->staticWindows[PSS_WINDOW_LABEL_BUTTON_PROMPT]);
PokemonSummaryScreen_UpdateAButtonSprite(summaryScreen, &summaryScreen->staticWindows[PSS_WINDOW_BUTTON_PROMPT]);
}
UpdateMoveAttributes(summaryScreen);
@@ -1633,10 +1633,10 @@ static u8 HideBattleMoveInfo(PokemonSummaryScreen *summaryScreen)
SpriteActor_DrawSprite(summaryScreen->sprites[18], FALSE);
SpriteActor_DrawSprite(summaryScreen->sprites[19], FALSE);
CellActor_SetDrawFlag(summaryScreen->sprites[PSS_SPRITE_MOVE_SELECTOR_1], FALSE);
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_BUTTON_PROMPT]);
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_BUTTON_PROMPT]);
PokemonSummaryScreen_UpdateAButtonSprite(summaryScreen, NULL);
PokemonSummaryScreen_HideMoveCancelText(summaryScreen);
PokemonSummaryScreen_ClearBattleInfoWindows(summaryScreen);
PokemonSummaryScreen_ClearBattleAttributeWindows(summaryScreen);
summaryScreen->subscreen = 1;
break;
case 1: {
@@ -1655,7 +1655,7 @@ static u8 HideBattleMoveInfo(PokemonSummaryScreen *summaryScreen)
Window_ScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_ITEM_NAME]);
PokemonSummaryScreen_ClearAndPrintButtonPrompt(summaryScreen, 129);
PokemonSummaryScreen_UpdatePageArrows(summaryScreen, TRUE);
PokemonSummaryScreen_UpdateAButtonSprite(summaryScreen, &summaryScreen->staticWindows[PSS_WINDOW_LABEL_BUTTON_PROMPT]);
PokemonSummaryScreen_UpdateAButtonSprite(summaryScreen, &summaryScreen->staticWindows[PSS_WINDOW_BUTTON_PROMPT]);
return TRUE;
}
@@ -1718,10 +1718,10 @@ static void UpdateMoveAttributes(PokemonSummaryScreen *summaryScreen)
static void UpdateBattleMoveAttributes(PokemonSummaryScreen *summaryScreen, u32 move)
{
if (move == PSS_MOVE_NONE) {
PokemonSummaryScreen_ClearBattleInfoWindows(summaryScreen);
PokemonSummaryScreen_ClearBattleAttributeWindows(summaryScreen);
SpriteActor_DrawSprite(summaryScreen->sprites[PSS_SPRITE_MOVE_CATEGORY_ICON], FALSE);
} else {
PokemonSummaryScreen_PrintBattleMoveInfo(summaryScreen, move);
PokemonSummaryScreen_PrintBattleMoveAttributes(summaryScreen, move);
PokemonSummaryScreen_UpdateMoveCategoryIcon(summaryScreen, move);
SpriteActor_DrawSprite(summaryScreen->sprites[PSS_SPRITE_MOVE_CATEGORY_ICON], TRUE);
}
@@ -1732,9 +1732,9 @@ static void UpdateContestMoveAttributes(PokemonSummaryScreen *summaryScreen, u32
UpdateAppealHearts(summaryScreen, move);
if (move == PSS_MOVE_NONE) {
PokemonSummaryScreen_ClearContestInfoWindows(summaryScreen);
PokemonSummaryScreen_ClearContestAttributeWindows(summaryScreen);
} else {
PokemonSummaryScreen_PrintContestMoveInfo(summaryScreen, move);
PokemonSummaryScreen_PrintContestMoveAttributes(summaryScreen, move);
}
}
@@ -1769,7 +1769,7 @@ static void SetupMoveInfoNoTransition(PokemonSummaryScreen *summaryScreen)
Bg_ScheduleScroll(summaryScreen->bgConfig, BG_LAYER_MAIN_2, BG_OFFSET_UPDATE_SET_X, 0);
PokemonSummaryScreen_ShowMoveInfoOrCancel(summaryScreen);
PokemonSummaryScreen_ShowMove5OrCancel(summaryScreen);
UpdateMoveAttributes(summaryScreen);
SpriteActor_DrawSprite(summaryScreen->sprites[PSS_SPRITE_MON_TYPE_ICON_1], TRUE);
@@ -1793,7 +1793,7 @@ static u8 SetupContestMoveInfo(PokemonSummaryScreen *summaryScreen)
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_MON_LEVEL]);
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_ITEM]);
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_ITEM_NAME]);
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_BUTTON_PROMPT]);
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_BUTTON_PROMPT]);
PokemonSummaryScreen_UpdateAButtonSprite(summaryScreen, NULL);
summaryScreen->cursor = 0;
summaryScreen->subscreen = 1;
@@ -1809,11 +1809,11 @@ static u8 SetupContestMoveInfo(PokemonSummaryScreen *summaryScreen)
}
} break;
case 2:
PokemonSummaryScreen_ShowMoveInfoOrCancel(summaryScreen);
PokemonSummaryScreen_ShowMove5OrCancel(summaryScreen);
if (summaryScreen->data->mode != PSS_MODE_LOCK_MOVES) {
PokemonSummaryScreen_ClearAndPrintButtonPrompt(summaryScreen, 152);
PokemonSummaryScreen_UpdateAButtonSprite(summaryScreen, &summaryScreen->staticWindows[PSS_WINDOW_LABEL_BUTTON_PROMPT]);
PokemonSummaryScreen_UpdateAButtonSprite(summaryScreen, &summaryScreen->staticWindows[PSS_WINDOW_BUTTON_PROMPT]);
}
UpdateMoveAttributes(summaryScreen);
@@ -1835,10 +1835,10 @@ static u8 HideContestMoveInfo(PokemonSummaryScreen *summaryScreen)
SpriteActor_DrawSprite(summaryScreen->sprites[19], FALSE);
UpdateAppealHearts(summaryScreen, PSS_MOVE_NONE);
CellActor_SetDrawFlag(summaryScreen->sprites[PSS_SPRITE_MOVE_SELECTOR_1], FALSE);
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_BUTTON_PROMPT]);
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_BUTTON_PROMPT]);
PokemonSummaryScreen_UpdateAButtonSprite(summaryScreen, NULL);
PokemonSummaryScreen_HideMoveCancelText(summaryScreen);
PokemonSummaryScreen_ClearContestInfoWindows(summaryScreen);
PokemonSummaryScreen_ClearContestAttributeWindows(summaryScreen);
summaryScreen->subscreen = 1;
break;
case 1: {
@@ -1857,7 +1857,7 @@ static u8 HideContestMoveInfo(PokemonSummaryScreen *summaryScreen)
Window_ScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_ITEM_NAME]);
PokemonSummaryScreen_ClearAndPrintButtonPrompt(summaryScreen, 158);
PokemonSummaryScreen_UpdatePageArrows(summaryScreen, TRUE);
PokemonSummaryScreen_UpdateAButtonSprite(summaryScreen, &summaryScreen->staticWindows[PSS_WINDOW_LABEL_BUTTON_PROMPT]);
PokemonSummaryScreen_UpdateAButtonSprite(summaryScreen, &summaryScreen->staticWindows[PSS_WINDOW_BUTTON_PROMPT]);
return TRUE;
}
@@ -1904,9 +1904,9 @@ static void UpdateAppealHearts(PokemonSummaryScreen *summaryScreen, u32 move)
static void ClearMoveInfoWindows(PokemonSummaryScreen *summaryScreen)
{
if (summaryScreen->page == PSS_PAGE_BATTLE_MOVES) {
PokemonSummaryScreen_ClearBattleInfoWindows(summaryScreen);
PokemonSummaryScreen_ClearBattleAttributeWindows(summaryScreen);
} else {
PokemonSummaryScreen_ClearContestInfoWindows(summaryScreen);
PokemonSummaryScreen_ClearContestAttributeWindows(summaryScreen);
}
}
@@ -1914,7 +1914,7 @@ static void ClearMoveInfoWindows(PokemonSummaryScreen *summaryScreen)
// subscreen input
static void SetupMoveInfoFromSubscreenButton(PokemonSummaryScreen *summaryScreen)
{
PokemonSummaryScreen_ShowMoveInfoOrCancel(summaryScreen);
PokemonSummaryScreen_ShowMove5OrCancel(summaryScreen);
UpdateMoveAttributes(summaryScreen);
PokemonSummaryScreen_ShowMonIcon(summaryScreen);
@@ -1943,9 +1943,9 @@ static u8 SetupRibbonInfo(PokemonSummaryScreen *summaryScreen)
PokemonSummaryScreen_UpdatePageArrows(summaryScreen, FALSE);
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_ITEM]);
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_ITEM_NAME]);
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_NUM_OF_RIBBONS]);
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_BUTTON_PROMPT]);
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->extraWindows[0]);
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_RIBBON_COUNT]);
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_BUTTON_PROMPT]);
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_RIBBON_COUNT]);
PokemonSummaryScreen_UpdateAButtonSprite(summaryScreen, NULL);
summaryScreen->ribbonCol = 0;
@@ -1964,7 +1964,7 @@ static u8 SetupRibbonInfo(PokemonSummaryScreen *summaryScreen)
} break;
case 2:
PokemonSummaryScreen_ClearAndPrintButtonPrompt(summaryScreen, 181);
PokemonSummaryScreen_UpdateAButtonSprite(summaryScreen, &summaryScreen->staticWindows[PSS_WINDOW_LABEL_BUTTON_PROMPT]);
PokemonSummaryScreen_UpdateAButtonSprite(summaryScreen, &summaryScreen->staticWindows[PSS_WINDOW_BUTTON_PROMPT]);
CellActor_SetDrawFlag(summaryScreen->sprites[67], TRUE);
CellActor_SetDrawFlag(summaryScreen->sprites[70], TRUE);
CellActor_SetDrawFlag(summaryScreen->sprites[63], FALSE);
@@ -1985,10 +1985,10 @@ static u8 HideRibbonInfo(PokemonSummaryScreen *summaryScreen)
case 0:
summaryScreen->ribbonCol = 0;
summaryScreen->ribbonRow = 0;
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->extraWindows[1]);
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->extraWindows[2]);
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->extraWindows[3]);
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_BUTTON_PROMPT]);
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_RIBBON_INDEX]);
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_RIBBON_NAME]);
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_RIBBON_DESCRIPTION]);
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_BUTTON_PROMPT]);
PokemonSummaryScreen_UpdateAButtonSprite(summaryScreen, NULL);
PokemonSummaryScreen_UpdateRibbonSprites(summaryScreen);
summaryScreen->subscreen = 1;
@@ -2006,12 +2006,12 @@ static u8 HideRibbonInfo(PokemonSummaryScreen *summaryScreen)
case 2:
Window_ScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_ITEM]);
Window_ScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_ITEM_NAME]);
Window_ScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_NUM_OF_RIBBONS]);
Window_ScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_BUTTON_PROMPT]);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[0]);
Window_ScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_RIBBON_COUNT]);
Window_ScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_BUTTON_PROMPT]);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_RIBBON_COUNT]);
PokemonSummaryScreen_ClearAndPrintButtonPrompt(summaryScreen, 180);
PokemonSummaryScreen_UpdatePageArrows(summaryScreen, TRUE);
PokemonSummaryScreen_UpdateAButtonSprite(summaryScreen, &summaryScreen->staticWindows[PSS_WINDOW_LABEL_BUTTON_PROMPT]);
PokemonSummaryScreen_UpdateAButtonSprite(summaryScreen, &summaryScreen->staticWindows[PSS_WINDOW_BUTTON_PROMPT]);
return TRUE;
}

View File

@@ -34,13 +34,13 @@ static void PrintTextToStaticWindow(PokemonSummaryScreen *summaryScreen, enum PS
static void PrintStaticWindows(PokemonSummaryScreen *summaryScreen);
static void PrintMoveNameAndPP(PokemonSummaryScreen *summaryScreen, u32 moveIndex);
static void DrawInfoPageWindows(PokemonSummaryScreen *summaryScreen);
static void sub_020908CC(PokemonSummaryScreen *param0);
static void sub_0209093C(PokemonSummaryScreen *param0);
static void sub_02090BDC(PokemonSummaryScreen *param0);
static void sub_02090CD4(PokemonSummaryScreen *param0);
static void sub_02090D90(PokemonSummaryScreen *param0);
static void sub_02090E4C(PokemonSummaryScreen *param0);
static void sub_02090EC8(PokemonSummaryScreen *param0);
static void DrawMemoPageWindows(PokemonSummaryScreen *summaryScreen);
static void DrawSkillsPageWindows(PokemonSummaryScreen *summaryScreen);
static void DrawConditionPageWindows(PokemonSummaryScreen *summaryScreen);
static void DrawBattleMovesPageWindows(PokemonSummaryScreen *summaryScreen);
static void DrawContestMovesPageWindows(PokemonSummaryScreen *summaryScreen);
static void DrawRibbonsPageWindows(PokemonSummaryScreen *summaryScreen);
static void DrawExitPageWindows(PokemonSummaryScreen *summaryScreen);
static const WindowTemplate sStaticWindowTemplates[] = {
[PSS_WINDOW_LABEL_INFO] = { 0x1, 0x1, 0x0, 0xD, 0x2, 0xF, 0x1 },
@@ -55,14 +55,14 @@ static const WindowTemplate sStaticWindowTemplates[] = {
[PSS_WINDOW_LABEL_TYPE] = { 0x1, 0xE, 0x9, 0x5, 0x2, 0xF, 0xB3 },
[PSS_WINDOW_LABEL_OT_NAME] = { 0x1, 0xE, 0xB, 0x5, 0x2, 0xF, 0xBD },
[PSS_WINDOW_LABEL_OT_ID] = { 0x1, 0xE, 0xD, 0x5, 0x2, 0xF, 0xC7 },
[PSS_WINDOW_LABEL_EXP_POINTS] = { 0x1, 0xE, 0xF, 0xF, 0x2, 0xF, 0xD1 },
[PSS_WINDOW_LABEL_TO_NEXT_LV] = { 0x1, 0xE, 0x13, 0xC, 0x2, 0xF, 0xEF },
[PSS_WINDOW_LABEL_EXP] = { 0x1, 0xE, 0xF, 0xF, 0x2, 0xF, 0xD1 },
[PSS_WINDOW_LABEL_EXP_NEXT_LV] = { 0x1, 0xE, 0x13, 0xC, 0x2, 0xF, 0xEF },
[PSS_WINDOW_DUMMY_14] = { 0x1, 0x13, 0x15, 0x3, 0x2, 0xF, 0x107 },
[PSS_WINDOW_LABEL_HP] = { 0x1, 0x12, 0x4, 0x2, 0x2, 0xF, 0x10D },
[PSS_WINDOW_LABEL_ATTACK] = { 0x1, 0x10, 0x7, 0x6, 0x2, 0xF, 0x111 },
[PSS_WINDOW_LABEL_DEFENSE] = { 0x1, 0x10, 0x9, 0x6, 0x2, 0xF, 0x11D },
[PSS_WINDOW_LABEL_SP_ATK] = { 0x1, 0x10, 0xB, 0x6, 0x2, 0xF, 0x129 },
[PSS_WINDOW_LABEL_SP_DEF] = { 0x1, 0x10, 0xD, 0x6, 0x2, 0xF, 0x135 },
[PSS_WINDOW_LABEL_SP_ATTACK] = { 0x1, 0x10, 0xB, 0x6, 0x2, 0xF, 0x129 },
[PSS_WINDOW_LABEL_SP_DEFENSE] = { 0x1, 0x10, 0xD, 0x6, 0x2, 0xF, 0x135 },
[PSS_WINDOW_LABEL_SPEED] = { 0x1, 0x10, 0xF, 0x6, 0x2, 0xF, 0x141 },
[PSS_WINDOW_LABEL_ABILITY] = { 0x1, 0xE, 0x12, 0x6, 0x2, 0xF, 0x14D },
[PSS_WINDOW_LABEL_SHEEN] = { 0x1, 0xE, 0x14, 0x5, 0x2, 0xF, 0x159 },
@@ -73,69 +73,69 @@ static const WindowTemplate sStaticWindowTemplates[] = {
[PSS_WINDOW_LABEL_MOVE_ACCURACY] = { 0x1, 0x1, 0xC, 0x8, 0x2, 0xF, 0x191 },
[PSS_WINDOW_LABEL_CLOSE_WINDOW] = { 0x1, 0x12, 0xB, 0x9, 0x2, 0xF, 0x1A1 },
[PSS_WINDOW_LABEL_APPEAL_POINTS] = { 0x1, 0x2, 0xD, 0xC, 0x2, 0xF, 0x1B3 },
[PSS_WINDOW_LABEL_NUM_OF_RIBBONS] = { 0x1, 0xE, 0x15, 0xC, 0x2, 0xF, 0x1CB },
[PSS_WINDOW_LABEL_RIBBON_COUNT] = { 0x1, 0xE, 0x15, 0xC, 0x2, 0xF, 0x1CB },
[PSS_WINDOW_LABEL_RIBBONS] = { 0x1, 0x1, 0x0, 0xB, 0x2, 0xF, 0x1E3 },
[PSS_WINDOW_ITEM_NAME] = { 0x1, 0x1, 0x16, 0xC, 0x2, 0xF, 0x1F9 },
[PSS_WINDOW_MON_LEVEL] = { 0x1, 0x1, 0x5, 0x6, 0x2, 0xF, 0x211 },
[PSS_WINDOW_MON_NICKNAME_GENDER] = { 0x1, 0x3, 0x3, 0x9, 0x2, 0xF, 0x21D },
[PSS_WINDOW_LABEL_BUTTON_PROMPT] = { 0x1, 0x1A, 0x0, 0x6, 0x2, 0xF, 0x22F }
[PSS_WINDOW_BUTTON_PROMPT] = { 0x1, 0x1A, 0x0, 0x6, 0x2, 0xF, 0x22F }
};
static const WindowTemplate sExtraWindowTemplates_Info[] = {
{ 0x1, 0x18, 0x5, 0x6, 0x2, 0xF, 0x23B },
{ 0x1, 0x17, 0x7, 0x8, 0x2, 0xF, 0x247 },
{ 0x1, 0x17, 0xB, 0x8, 0x2, 0xF, 0x257 },
{ 0x1, 0x19, 0xD, 0x4, 0x2, 0xF, 0x267 },
{ 0x1, 0x18, 0x11, 0x6, 0x2, 0xF, 0x271 },
{ 0x1, 0x18, 0x15, 0x6, 0x2, 0xF, 0x27F }
[PSS_WINDOW_DEX_NUM] = { 0x1, 0x18, 0x5, 0x6, 0x2, 0xF, 0x23B },
[PSS_WINDOW_SPECIES_NAME] = { 0x1, 0x17, 0x7, 0x8, 0x2, 0xF, 0x247 },
[PSS_WINDOW_OT_NAME] = { 0x1, 0x17, 0xB, 0x8, 0x2, 0xF, 0x257 },
[PSS_WINDOW_OT_ID] = { 0x1, 0x19, 0xD, 0x4, 0x2, 0xF, 0x267 },
[PSS_WINDOW_EXP] = { 0x1, 0x18, 0x11, 0x6, 0x2, 0xF, 0x271 },
[PSS_WINDOW_EXP_NEXT_LV] = { 0x1, 0x18, 0x15, 0x6, 0x2, 0xF, 0x27F }
};
static const WindowTemplate sExtraWindowTemplates_Memo[] = {
{ 0x1, 0xE, 0x5, 0x11, 0x12, 0xF, 0x23B }
[PSS_WINDOW_MEMO] = { 0x1, 0xE, 0x5, 0x11, 0x12, 0xF, 0x23B }
};
static const WindowTemplate sExtraWindowTemplates_Skills[] = {
{ 0x1, 0x17, 0x4, 0x7, 0x2, 0xF, 0x23B },
{ 0x1, 0x19, 0x7, 0x3, 0x2, 0xF, 0x249 },
{ 0x1, 0x19, 0x9, 0x3, 0x2, 0xF, 0x24F },
{ 0x1, 0x19, 0xB, 0x3, 0x2, 0xF, 0x255 },
{ 0x1, 0x19, 0xD, 0x3, 0x2, 0xF, 0x25B },
{ 0x1, 0x19, 0xF, 0x3, 0x2, 0xF, 0x261 },
{ 0x1, 0x15, 0x12, 0xB, 0x2, 0xF, 0x267 },
{ 0x1, 0xE, 0x14, 0x12, 0x4, 0xF, 0x27D }
[PSS_WINDOW_HP] = { 0x1, 0x17, 0x4, 0x7, 0x2, 0xF, 0x23B },
[PSS_WINDOW_ATTACK] = { 0x1, 0x19, 0x7, 0x3, 0x2, 0xF, 0x249 },
[PSS_WINDOW_DEFENSE] = { 0x1, 0x19, 0x9, 0x3, 0x2, 0xF, 0x24F },
[PSS_WINDOW_SP_ATTACK] = { 0x1, 0x19, 0xB, 0x3, 0x2, 0xF, 0x255 },
[PSS_WINDOW_SP_DEFENSE] = { 0x1, 0x19, 0xD, 0x3, 0x2, 0xF, 0x25B },
[PSS_WINDOW_SPEED] = { 0x1, 0x19, 0xF, 0x3, 0x2, 0xF, 0x261 },
[PSS_WINDOW_ABILITY] = { 0x1, 0x15, 0x12, 0xB, 0x2, 0xF, 0x267 },
[PSS_WINDOW_ABILITY_DESCRIPTION] = { 0x1, 0xE, 0x14, 0x12, 0x4, 0xF, 0x27D }
};
static const WindowTemplate sExtraWindowTemplates_BattleMoves[] = {
{ 0x1, 0x15, 0x4, 0xB, 0x4, 0xF, 0x23B },
{ 0x1, 0x15, 0x8, 0xB, 0x4, 0xF, 0x267 },
{ 0x1, 0x15, 0xC, 0xB, 0x4, 0xF, 0x293 },
{ 0x1, 0x15, 0x10, 0xB, 0x4, 0xF, 0x2BF },
{ 0x1, 0x15, 0x14, 0xB, 0x4, 0xF, 0x2EB },
{ 0x1, 0xC, 0xA, 0x3, 0x2, 0xF, 0x317 },
{ 0x1, 0xC, 0xC, 0x3, 0x2, 0xF, 0x31D },
{ 0x1, 0x1, 0xE, 0xF, 0xA, 0xF, 0x323 }
[PSS_WINDOW_BATTLE_MOVE_1] = { 0x1, 0x15, 0x4, 0xB, 0x4, 0xF, 0x23B },
[PSS_WINDOW_BATTLE_MOVE_2] = { 0x1, 0x15, 0x8, 0xB, 0x4, 0xF, 0x267 },
[PSS_WINDOW_BATTLE_MOVE_3] = { 0x1, 0x15, 0xC, 0xB, 0x4, 0xF, 0x293 },
[PSS_WINDOW_BATTLE_MOVE_4] = { 0x1, 0x15, 0x10, 0xB, 0x4, 0xF, 0x2BF },
[PSS_WINDOW_BATTLE_MOVE_5] = { 0x1, 0x15, 0x14, 0xB, 0x4, 0xF, 0x2EB },
[PSS_WINDOW_BATTLE_MOVE_POWER] = { 0x1, 0xC, 0xA, 0x3, 0x2, 0xF, 0x317 },
[PSS_WINDOW_BATTLE_MOVE_ACCURACY] = { 0x1, 0xC, 0xC, 0x3, 0x2, 0xF, 0x31D },
[PSS_WINDOW_BATTLE_MOVE_DESCRIPTION] = { 0x1, 0x1, 0xE, 0xF, 0xA, 0xF, 0x323 }
};
static const WindowTemplate sExtraWindowTemplates_ContestMoves[] = {
{ 0x1, 0x15, 0x4, 0xB, 0x4, 0xF, 0x23B },
{ 0x1, 0x15, 0x8, 0xB, 0x4, 0xF, 0x267 },
{ 0x1, 0x15, 0xC, 0xB, 0x4, 0xF, 0x293 },
{ 0x1, 0x15, 0x10, 0xB, 0x4, 0xF, 0x2BF },
{ 0x1, 0x15, 0x14, 0xB, 0x4, 0xF, 0x2EB },
{ 0x1, 0x1, 0x12, 0xF, 0x6, 0xF, 0x317 }
[PSS_WINDOW_CONTEST_MOVE_1] = { 0x1, 0x15, 0x4, 0xB, 0x4, 0xF, 0x23B },
[PSS_WINDOW_CONTEST_MOVE_2] = { 0x1, 0x15, 0x8, 0xB, 0x4, 0xF, 0x267 },
[PSS_WINDOW_CONTEST_MOVE_3] = { 0x1, 0x15, 0xC, 0xB, 0x4, 0xF, 0x293 },
[PSS_WINDOW_CONTEST_MOVE_4] = { 0x1, 0x15, 0x10, 0xB, 0x4, 0xF, 0x2BF },
[PSS_WINDOW_CONTEST_MOVE_5] = { 0x1, 0x15, 0x14, 0xB, 0x4, 0xF, 0x2EB },
[PSS_WINDOW_CONTEST_MOVE_DESCRIPTION] = { 0x1, 0x1, 0x12, 0xF, 0x6, 0xF, 0x317 }
};
static const WindowTemplate sExtraWindowTemplates_Ribbons[] = {
{ 0x1, 0x1A, 0x15, 0x5, 0x2, 0xF, 0x23B },
{ 0x1, 0x18, 0xF, 0x7, 0x2, 0xF, 0x245 },
{ 0x1, 0x1, 0x12, 0x15, 0x2, 0xF, 0x253 },
{ 0x1, 0x1, 0x14, 0x1E, 0x4, 0xF, 0x27D }
[PSS_WINDOW_RIBBON_COUNT] = { 0x1, 0x1A, 0x15, 0x5, 0x2, 0xF, 0x23B },
[PSS_WINDOW_RIBBON_INDEX] = { 0x1, 0x18, 0xF, 0x7, 0x2, 0xF, 0x245 },
[PSS_WINDOW_RIBBON_NAME] = { 0x1, 0x1, 0x12, 0x15, 0x2, 0xF, 0x253 },
[PSS_WINDOW_RIBBON_DESCRIPTION] = { 0x1, 0x1, 0x14, 0x1E, 0x4, 0xF, 0x27D }
};
static const WindowTemplate sExtraWindowTemplates_Exit[] = {
{ 0x1, 0x1A, 0x0, 0x5, 0x2, 0xF, 0x23B },
{ 0x1, 0x1, 0x14, 0xC, 0x4, 0xF, 0x24D },
{ 0x1, 0x2, 0x15, 0x1B, 0x2, 0xE, 0x27D }
static const WindowTemplate sExtraWindowTemplates_Condition[] = {
[PSS_WINDOW_POFFIN_BUTTON_PROMPT] = { 0x1, 0x1A, 0x0, 0x5, 0x2, 0xF, 0x23B },
[PSS_WINDOW_FAVORITE_FOOD] = { 0x1, 0x1, 0x14, 0xC, 0x4, 0xF, 0x24D },
[PSS_WINDOW_POFFIN_FEED_MSG] = { 0x1, 0x2, 0x15, 0x1B, 0x2, 0xE, 0x27D }
};
void PokemonSummaryScreen_DrawStaticWindows(PokemonSummaryScreen *summaryScreen)
@@ -146,7 +146,7 @@ void PokemonSummaryScreen_DrawStaticWindows(PokemonSummaryScreen *summaryScreen)
}
PrintStaticWindows(summaryScreen);
PokemonSummaryScreen_PrintGenderSymbol(summaryScreen);
PokemonSummaryScreen_PrintNicknameAndGender(summaryScreen);
PokemonSummaryScreen_PrintLevel(summaryScreen);
PokemonSummaryScreen_PrintItemName(summaryScreen);
}
@@ -182,12 +182,13 @@ void PokemonSummaryScreen_AddExtraWindows(PokemonSummaryScreen *summaryScreen)
break;
case PSS_PAGE_CONDITION:
case PSS_PAGE_EXIT:
// the exit page shows the "favorite food" condition extra window when feeding poffins
if (summaryScreen->data->mode != PSS_MODE_POFFIN && summaryScreen->data->mode != PSS_MODE_CONDITION) {
return;
}
extraWindows = sExtraWindowTemplates_Exit;
summaryScreen->numExtraWindows = PSS_CONDITION_EXIT_WINDOW_MAX;
extraWindows = sExtraWindowTemplates_Condition;
summaryScreen->numExtraWindows = PSS_CONDITION_WINDOW_MAX;
break;
default:
return;
@@ -212,6 +213,7 @@ void PokemonSummaryScreen_RemoveExtraWindows(PokemonSummaryScreen *summaryScreen
break;
case PSS_PAGE_CONDITION:
case PSS_PAGE_EXIT:
// the exit page shows the "favorite food" condition extra window when feeding poffins
if (summaryScreen->data->mode != PSS_MODE_POFFIN && summaryScreen->data->mode != PSS_MODE_CONDITION) {
return;
}
@@ -232,14 +234,14 @@ void PokemonSummaryScreen_RemoveWindows(PokemonSummaryScreen *summaryScreen)
}
}
void PokemonSummaryScreen_PrintGenderSymbol(PokemonSummaryScreen *summaryScreen)
void PokemonSummaryScreen_PrintNicknameAndGender(PokemonSummaryScreen *summaryScreen)
{
Window *window = &summaryScreen->staticWindows[PSS_WINDOW_MON_NICKNAME_GENDER];
Window_FillTilemap(window, 0);
Text_AddPrinterWithParamsAndColor(window, FONT_SYSTEM, summaryScreen->monData.nickname, 0, 0, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(15, 14, 0), NULL);
if (summaryScreen->monData.showGender == 0) {
if (summaryScreen->monData.hideGender == FALSE) {
if (summaryScreen->monData.gender == GENDER_MALE) {
MessageLoader_GetStrbuf(summaryScreen->msgLoader, pss_male_symbol, summaryScreen->strbuf);
PrintStrbufToWindow(summaryScreen, window, TEXT_COLOR(3, 4, 0), PSS_ALIGNMENT_RIGHT);
@@ -294,9 +296,9 @@ void PokemonSummaryScreen_PrintItemName(PokemonSummaryScreen *summaryScreen)
void PokemonSummaryScreen_ClearAndPrintButtonPrompt(PokemonSummaryScreen *summaryScreen, u32 entryID)
{
Window_FillTilemap(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_BUTTON_PROMPT], 0);
PrintTextToStaticWindow(summaryScreen, PSS_WINDOW_LABEL_BUTTON_PROMPT, entryID, TEXT_COLOR(15, 14, 0), PSS_ALIGNMENT_LEFT);
Window_ScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_BUTTON_PROMPT]);
Window_FillTilemap(&summaryScreen->staticWindows[PSS_WINDOW_BUTTON_PROMPT], 0);
PrintTextToStaticWindow(summaryScreen, PSS_WINDOW_BUTTON_PROMPT, entryID, TEXT_COLOR(15, 14, 0), PSS_ALIGNMENT_LEFT);
Window_ScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_BUTTON_PROMPT]);
}
static BOOL DoesMonOTMatchPlayer(PokemonSummaryScreen *summaryScreen)
@@ -347,23 +349,23 @@ static void SetAndFormatNumberBuf(PokemonSummaryScreen *summaryScreen, u32 entry
Strbuf_Free(buf);
}
static void PrintMovePPInfo(PokemonSummaryScreen *summaryScreen, u32 moveIndex, u32 slashEntryID, u32 curPPEntryID, u32 maxPPEntryID, u16 curPP, u16 maxPP, u8 digits, u8 xOffset, u8 yOffset)
static void PrintCurrentAndMaxInfo(PokemonSummaryScreen *summaryScreen, u32 moveIndex, u32 slashEntryID, u32 curEntryID, u32 maxEntryID, u16 curValue, u16 maxValue, u8 digits, u8 xOffset, u8 yOffset)
{
Window *window = &summaryScreen->extraWindows[moveIndex];
MessageLoader_GetStrbuf(summaryScreen->msgLoader, slashEntryID, summaryScreen->strbuf);
u32 strWidth = Font_CalcStrbufWidth(FONT_SYSTEM, summaryScreen->strbuf, 0);
u16 curPPXOffset = xOffset - strWidth / 2;
u16 maxPPXOffset = curPPXOffset + strWidth;
u16 curXOffset = xOffset - strWidth / 2;
u16 maxXOffset = curXOffset + strWidth;
Text_AddPrinterWithParamsAndColor(window, FONT_SYSTEM, summaryScreen->strbuf, curPPXOffset, yOffset, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(1, 2, 0), NULL);
SetAndFormatNumberBuf(summaryScreen, curPPEntryID, curPP, digits, PADDING_MODE_NONE);
Text_AddPrinterWithParamsAndColor(window, FONT_SYSTEM, summaryScreen->strbuf, curXOffset, yOffset, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(1, 2, 0), NULL);
SetAndFormatNumberBuf(summaryScreen, curEntryID, curValue, digits, PADDING_MODE_NONE);
strWidth = Font_CalcStrbufWidth(FONT_SYSTEM, summaryScreen->strbuf, 0);
Text_AddPrinterWithParamsAndColor(window, FONT_SYSTEM, summaryScreen->strbuf, curPPXOffset - strWidth, yOffset, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(1, 2, 0), NULL);
SetAndFormatNumberBuf(summaryScreen, maxPPEntryID, maxPP, digits, PADDING_MODE_NONE);
Text_AddPrinterWithParamsAndColor(window, FONT_SYSTEM, summaryScreen->strbuf, maxPPXOffset, yOffset, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(1, 2, 0), NULL);
Text_AddPrinterWithParamsAndColor(window, FONT_SYSTEM, summaryScreen->strbuf, curXOffset - strWidth, yOffset, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(1, 2, 0), NULL);
SetAndFormatNumberBuf(summaryScreen, maxEntryID, maxValue, digits, PADDING_MODE_NONE);
Text_AddPrinterWithParamsAndColor(window, FONT_SYSTEM, summaryScreen->strbuf, maxXOffset, yOffset, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(1, 2, 0), NULL);
}
static void PrintStaticWindows(PokemonSummaryScreen *summaryScreen)
@@ -380,13 +382,13 @@ static void PrintStaticWindows(PokemonSummaryScreen *summaryScreen)
PrintTextToStaticWindow(summaryScreen, PSS_WINDOW_LABEL_TYPE, 12, TEXT_COLOR(15, 14, 0), PSS_ALIGNMENT_LEFT);
PrintTextToStaticWindow(summaryScreen, PSS_WINDOW_LABEL_OT_NAME, 13, TEXT_COLOR(15, 14, 0), PSS_ALIGNMENT_LEFT);
PrintTextToStaticWindow(summaryScreen, PSS_WINDOW_LABEL_OT_ID, 15, TEXT_COLOR(15, 14, 0), PSS_ALIGNMENT_LEFT);
PrintTextToStaticWindow(summaryScreen, PSS_WINDOW_LABEL_EXP_POINTS, 17, TEXT_COLOR(15, 14, 0), PSS_ALIGNMENT_LEFT);
PrintTextToStaticWindow(summaryScreen, PSS_WINDOW_LABEL_TO_NEXT_LV, 19, TEXT_COLOR(15, 14, 0), PSS_ALIGNMENT_LEFT);
PrintTextToStaticWindow(summaryScreen, PSS_WINDOW_LABEL_EXP, 17, TEXT_COLOR(15, 14, 0), PSS_ALIGNMENT_LEFT);
PrintTextToStaticWindow(summaryScreen, PSS_WINDOW_LABEL_EXP_NEXT_LV, 19, TEXT_COLOR(15, 14, 0), PSS_ALIGNMENT_LEFT);
PrintTextToStaticWindow(summaryScreen, PSS_WINDOW_LABEL_HP, 110, TEXT_COLOR(15, 14, 0), PSS_ALIGNMENT_LEFT);
PrintTextToStaticWindow(summaryScreen, PSS_WINDOW_LABEL_ATTACK, 111, TEXT_COLOR(15, 14, 0), PSS_ALIGNMENT_LEFT);
PrintTextToStaticWindow(summaryScreen, PSS_WINDOW_LABEL_DEFENSE, 112, TEXT_COLOR(15, 14, 0), PSS_ALIGNMENT_LEFT);
PrintTextToStaticWindow(summaryScreen, PSS_WINDOW_LABEL_SP_ATK, 113, TEXT_COLOR(15, 14, 0), PSS_ALIGNMENT_LEFT);
PrintTextToStaticWindow(summaryScreen, PSS_WINDOW_LABEL_SP_DEF, 114, TEXT_COLOR(15, 14, 0), PSS_ALIGNMENT_LEFT);
PrintTextToStaticWindow(summaryScreen, PSS_WINDOW_LABEL_SP_ATTACK, 113, TEXT_COLOR(15, 14, 0), PSS_ALIGNMENT_LEFT);
PrintTextToStaticWindow(summaryScreen, PSS_WINDOW_LABEL_SP_DEFENSE, 114, TEXT_COLOR(15, 14, 0), PSS_ALIGNMENT_LEFT);
PrintTextToStaticWindow(summaryScreen, PSS_WINDOW_LABEL_SPEED, 115, TEXT_COLOR(15, 14, 0), PSS_ALIGNMENT_LEFT);
PrintTextToStaticWindow(summaryScreen, PSS_WINDOW_LABEL_ABILITY, 116, TEXT_COLOR(15, 14, 0), PSS_ALIGNMENT_LEFT);
PrintTextToStaticWindow(summaryScreen, PSS_WINDOW_LABEL_SHEEN, 127, TEXT_COLOR(15, 14, 0), PSS_ALIGNMENT_LEFT);
@@ -399,11 +401,11 @@ static void PrintStaticWindows(PokemonSummaryScreen *summaryScreen)
PrintTextToStaticWindow(summaryScreen, PSS_WINDOW_LABEL_MOVE_ACCURACY, 148, TEXT_COLOR(15, 14, 0), PSS_ALIGNMENT_LEFT);
PrintTextToStaticWindow(summaryScreen, PSS_WINDOW_LABEL_CLOSE_WINDOW, 162, TEXT_COLOR(15, 14, 0), PSS_ALIGNMENT_CENTER);
PrintTextToStaticWindow(summaryScreen, PSS_WINDOW_LABEL_APPEAL_POINTS, 160, TEXT_COLOR(1, 2, 0), PSS_ALIGNMENT_CENTER);
PrintTextToStaticWindow(summaryScreen, PSS_WINDOW_LABEL_NUM_OF_RIBBONS, 182, TEXT_COLOR(1, 2, 0), PSS_ALIGNMENT_LEFT);
PrintTextToStaticWindow(summaryScreen, PSS_WINDOW_LABEL_RIBBON_COUNT, 182, TEXT_COLOR(1, 2, 0), PSS_ALIGNMENT_LEFT);
PrintTextToStaticWindow(summaryScreen, PSS_WINDOW_LABEL_RIBBONS, 179, TEXT_COLOR(15, 14, 0), PSS_ALIGNMENT_LEFT);
}
// ravetodo PokemonSummaryScreen_DrawExtraWindows?
void sub_020904C4(PokemonSummaryScreen *summaryScreen)
void PokemonSummaryScreen_DrawExtraWindows(PokemonSummaryScreen *summaryScreen)
{
Bg_FillTilemapRect(summaryScreen->bgConfig, BG_LAYER_MAIN_1, 0, 0, 0, 32, 2, 16);
Bg_FillTilemapRect(summaryScreen->bgConfig, BG_LAYER_MAIN_1, 0, 14, 2, 18, 22, 16);
@@ -413,29 +415,29 @@ void sub_020904C4(PokemonSummaryScreen *summaryScreen)
DrawInfoPageWindows(summaryScreen);
break;
case PSS_PAGE_MEMO:
sub_020908CC(summaryScreen);
DrawMemoPageWindows(summaryScreen);
break;
case PSS_PAGE_SKILLS:
sub_0209093C(summaryScreen);
DrawSkillsPageWindows(summaryScreen);
break;
case PSS_PAGE_CONDITION:
sub_02090BDC(summaryScreen);
DrawConditionPageWindows(summaryScreen);
break;
case PSS_PAGE_BATTLE_MOVES:
sub_02090CD4(summaryScreen);
DrawBattleMovesPageWindows(summaryScreen);
break;
case PSS_PAGE_CONTEST_MOVES:
sub_02090D90(summaryScreen);
DrawContestMovesPageWindows(summaryScreen);
break;
case PSS_PAGE_RIBBONS:
sub_02090E4C(summaryScreen);
DrawRibbonsPageWindows(summaryScreen);
break;
case PSS_PAGE_EXIT:
sub_02090EC8(summaryScreen);
DrawExitPageWindows(summaryScreen);
break;
}
}
// ravetodo finish
static void DrawInfoPageWindows(PokemonSummaryScreen *summaryScreen)
{
Window_ScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_INFO]);
@@ -444,16 +446,16 @@ static void DrawInfoPageWindows(PokemonSummaryScreen *summaryScreen)
Window_ScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_TYPE]);
Window_ScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_OT_NAME]);
Window_ScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_OT_ID]);
Window_ScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_EXP_POINTS]);
Window_ScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_TO_NEXT_LV]);
Window_ScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_EXP]);
Window_ScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_EXP_NEXT_LV]);
Window_ScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_DUMMY_14]);
Window_FillTilemap(&summaryScreen->extraWindows[0], 0);
Window_FillTilemap(&summaryScreen->extraWindows[1], 0);
Window_FillTilemap(&summaryScreen->extraWindows[2], 0);
Window_FillTilemap(&summaryScreen->extraWindows[3], 0);
Window_FillTilemap(&summaryScreen->extraWindows[4], 0);
Window_FillTilemap(&summaryScreen->extraWindows[5], 0);
Window_FillTilemap(&summaryScreen->extraWindows[PSS_WINDOW_DEX_NUM], 0);
Window_FillTilemap(&summaryScreen->extraWindows[PSS_WINDOW_SPECIES_NAME], 0);
Window_FillTilemap(&summaryScreen->extraWindows[PSS_WINDOW_OT_NAME], 0);
Window_FillTilemap(&summaryScreen->extraWindows[PSS_WINDOW_OT_ID], 0);
Window_FillTilemap(&summaryScreen->extraWindows[PSS_WINDOW_EXP], 0);
Window_FillTilemap(&summaryScreen->extraWindows[PSS_WINDOW_EXP_NEXT_LV], 0);
u32 dexNum = sub_0207A294(summaryScreen->data->dexMode, summaryScreen->monData.species);
@@ -464,283 +466,271 @@ static void DrawInfoPageWindows(PokemonSummaryScreen *summaryScreen)
}
if (summaryScreen->monData.isShiny == FALSE) {
PrintStrbufToWindow(summaryScreen, &summaryScreen->extraWindows[0], TEXT_COLOR(1, 2, 0), PSS_ALIGNMENT_CENTER);
PrintStrbufToWindow(summaryScreen, &summaryScreen->extraWindows[PSS_WINDOW_DEX_NUM], TEXT_COLOR(1, 2, 0), PSS_ALIGNMENT_CENTER);
} else {
PrintStrbufToWindow(summaryScreen, &summaryScreen->extraWindows[0], TEXT_COLOR(5, 6, 0), PSS_ALIGNMENT_CENTER);
PrintStrbufToWindow(summaryScreen, &summaryScreen->extraWindows[PSS_WINDOW_DEX_NUM], TEXT_COLOR(5, 6, 0), PSS_ALIGNMENT_CENTER);
}
u32 speciesWidth = Font_CalcStrbufWidth(FONT_SYSTEM, summaryScreen->monData.speciesName, 0);
u32 speciesX = (summaryScreen->extraWindows[1].width * 8 - speciesWidth) / 2;
u32 speciesX = (summaryScreen->extraWindows[PSS_WINDOW_SPECIES_NAME].width * 8 - speciesWidth) / 2;
Text_AddPrinterWithParamsAndColor(&summaryScreen->extraWindows[1], FONT_SYSTEM, summaryScreen->monData.speciesName, speciesX, 0, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(1, 2, 0), NULL);
Text_AddPrinterWithParamsAndColor(&summaryScreen->extraWindows[PSS_WINDOW_SPECIES_NAME], FONT_SYSTEM, summaryScreen->monData.speciesName, speciesX, 0, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(1, 2, 0), NULL);
u32 OTNameWidth = Font_CalcStrbufWidth(FONT_SYSTEM, summaryScreen->monData.OTName, 0);
u32 OTNameX = (summaryScreen->extraWindows[2].width * 8 - OTNameWidth) / 2;
u32 OTNameX = (summaryScreen->extraWindows[PSS_WINDOW_OT_NAME].width * 8 - OTNameWidth) / 2;
if (summaryScreen->monData.OTGender == GENDER_MALE) {
Text_AddPrinterWithParamsAndColor(&summaryScreen->extraWindows[2], FONT_SYSTEM, summaryScreen->monData.OTName, OTNameX, 0, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(3, 4, 0), NULL);
Text_AddPrinterWithParamsAndColor(&summaryScreen->extraWindows[PSS_WINDOW_OT_NAME], FONT_SYSTEM, summaryScreen->monData.OTName, OTNameX, 0, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(3, 4, 0), NULL);
} else {
Text_AddPrinterWithParamsAndColor(&summaryScreen->extraWindows[2], FONT_SYSTEM, summaryScreen->monData.OTName, OTNameX, 0, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(5, 6, 0), NULL);
Text_AddPrinterWithParamsAndColor(&summaryScreen->extraWindows[PSS_WINDOW_OT_NAME], FONT_SYSTEM, summaryScreen->monData.OTName, OTNameX, 0, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(5, 6, 0), NULL);
}
SetAndFormatNumberBuf(summaryScreen, 16, (summaryScreen->monData.OTID & 0xffff), 5, PADDING_MODE_ZEROES);
PrintStrbufToWindow(summaryScreen, &summaryScreen->extraWindows[3], TEXT_COLOR(1, 2, 0), PSS_ALIGNMENT_CENTER);
SetAndFormatNumberBuf(summaryScreen, 18, summaryScreen->monData.curExp, 7, PADDING_MODE_SPACES);
PrintStrbufToWindow(summaryScreen, &summaryScreen->extraWindows[4], TEXT_COLOR(1, 2, 0), PSS_ALIGNMENT_CENTER);
SetAndFormatNumberBuf(summaryScreen, pss_template_ot_id, (summaryScreen->monData.OTID & 0xffff), 5, PADDING_MODE_ZEROES);
PrintStrbufToWindow(summaryScreen, &summaryScreen->extraWindows[PSS_WINDOW_OT_ID], TEXT_COLOR(1, 2, 0), PSS_ALIGNMENT_CENTER);
SetAndFormatNumberBuf(summaryScreen, pss_template_exp, summaryScreen->monData.curExp, 7, PADDING_MODE_SPACES);
PrintStrbufToWindow(summaryScreen, &summaryScreen->extraWindows[PSS_WINDOW_EXP], TEXT_COLOR(1, 2, 0), PSS_ALIGNMENT_CENTER);
if (summaryScreen->monData.level < MAX_POKEMON_LEVEL) {
SetAndFormatNumberBuf(summaryScreen, 21, summaryScreen->monData.nextLevelExp - summaryScreen->monData.curExp, 7, PADDING_MODE_SPACES);
SetAndFormatNumberBuf(summaryScreen, pss_template_exp_next_lv, summaryScreen->monData.nextLevelExp - summaryScreen->monData.curExp, 7, PADDING_MODE_SPACES);
} else {
SetAndFormatNumberBuf(summaryScreen, 21, 0, 7, PADDING_MODE_SPACES);
SetAndFormatNumberBuf(summaryScreen, pss_template_exp_next_lv, 0, 7, PADDING_MODE_SPACES);
}
PrintStrbufToWindow(summaryScreen, &summaryScreen->extraWindows[5], TEXT_COLOR(1, 2, 0), PSS_ALIGNMENT_CENTER);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[0]);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[1]);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[2]);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[3]);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[4]);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[5]);
PrintStrbufToWindow(summaryScreen, &summaryScreen->extraWindows[PSS_WINDOW_EXP_NEXT_LV], TEXT_COLOR(1, 2, 0), PSS_ALIGNMENT_CENTER);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_DEX_NUM]);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_SPECIES_NAME]);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_OT_NAME]);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_OT_ID]);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_EXP]);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_EXP_NEXT_LV]);
}
// ravetodo PrintTrainerMemo
static void sub_02090800(Window *window, Pokemon *mon, BOOL monOTMatches)
{
PokemonInfoDisplayStruct *infoDisplay = sub_02092494(mon, monOTMatches, 19);
if (infoDisplay->unk_14.unk_04 != NULL) {
Text_AddPrinterWithParamsAndColor(window, FONT_SYSTEM, infoDisplay->unk_14.unk_04, 0, 0 + (infoDisplay->unk_14.unk_00 - 1) * 16, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(1, 2, 0), NULL);
}
if (infoDisplay->unk_1C.unk_04 != NULL) {
Text_AddPrinterWithParamsAndColor(window, FONT_SYSTEM, infoDisplay->unk_1C.unk_04, 0, 0 + (infoDisplay->unk_1C.unk_00 - 1) * 16, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(1, 2, 0), NULL);
}
if (infoDisplay->unk_24.unk_04 != NULL) {
Text_AddPrinterWithParamsAndColor(window, FONT_SYSTEM, infoDisplay->unk_24.unk_04, 0, 0 + (infoDisplay->unk_24.unk_00 - 1) * 16, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(1, 2, 0), NULL);
}
if (infoDisplay->unk_2C.unk_04 != NULL) {
Text_AddPrinterWithParamsAndColor(window, FONT_SYSTEM, infoDisplay->unk_2C.unk_04, 0, 0 + (infoDisplay->unk_2C.unk_00 - 1) * 16, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(1, 2, 0), NULL);
}
if (infoDisplay->unk_34.unk_04 != NULL) {
Text_AddPrinterWithParamsAndColor(window, FONT_SYSTEM, infoDisplay->unk_34.unk_04, 0, 0 + (infoDisplay->unk_34.unk_00 - 1) * 16, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(1, 2, 0), NULL);
}
sub_0209282C(infoDisplay);
}
static void sub_02090800(Window *param0, Pokemon *param1, BOOL param2)
static void DrawMemoPageWindows(PokemonSummaryScreen *summaryScreen)
{
PokemonInfoDisplayStruct *v0 = sub_02092494(param1, param2, 19);
Window_ScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_MEMO]);
Window_FillTilemap(&summaryScreen->extraWindows[PSS_WINDOW_MEMO], 0);
if (v0->unk_14.unk_04 != NULL) {
Text_AddPrinterWithParamsAndColor(param0, FONT_SYSTEM, v0->unk_14.unk_04, 0, 0 + (v0->unk_14.unk_00 - 1) * 16, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(1, 2, 0), NULL);
void *monData = PokemonSummaryScreen_MonData(summaryScreen);
BOOL monOTMatches = DoesMonOTMatchPlayer(summaryScreen);
if (summaryScreen->data->dataType == PSS_DATA_BOX_MON) {
Pokemon *mon = Pokemon_New(HEAP_ID_POKEMON_SUMMARY_SCREEN);
Pokemon_FromBoxPokemon(monData, mon);
sub_02090800(&summaryScreen->extraWindows[PSS_WINDOW_MEMO], mon, monOTMatches);
Heap_FreeToHeap(mon);
} else {
sub_02090800(&summaryScreen->extraWindows[PSS_WINDOW_MEMO], monData, monOTMatches);
}
if (v0->unk_1C.unk_04 != NULL) {
Text_AddPrinterWithParamsAndColor(param0, FONT_SYSTEM, v0->unk_1C.unk_04, 0, 0 + (v0->unk_1C.unk_00 - 1) * 16, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(1, 2, 0), NULL);
}
if (v0->unk_24.unk_04 != NULL) {
Text_AddPrinterWithParamsAndColor(param0, FONT_SYSTEM, v0->unk_24.unk_04, 0, 0 + (v0->unk_24.unk_00 - 1) * 16, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(1, 2, 0), NULL);
}
if (v0->unk_2C.unk_04 != NULL) {
Text_AddPrinterWithParamsAndColor(param0, FONT_SYSTEM, v0->unk_2C.unk_04, 0, 0 + (v0->unk_2C.unk_00 - 1) * 16, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(1, 2, 0), NULL);
}
if (v0->unk_34.unk_04 != NULL) {
Text_AddPrinterWithParamsAndColor(param0, FONT_SYSTEM, v0->unk_34.unk_04, 0, 0 + (v0->unk_34.unk_00 - 1) * 16, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(1, 2, 0), NULL);
}
sub_0209282C(v0);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_MEMO]);
}
static void sub_020908CC(PokemonSummaryScreen *param0)
static void DrawSkillsPageWindows(PokemonSummaryScreen *summaryScreen)
{
Strbuf *v0;
Window_ScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_SKILLS]);
Window_ScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_HP]);
Window_ScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_ATTACK]);
Window_ScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_DEFENSE]);
Window_ScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_SP_ATTACK]);
Window_ScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_SP_DEFENSE]);
Window_ScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_SPEED]);
Window_ScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_ABILITY]);
Window_ScheduleCopyToVRAM(&param0->staticWindows[PSS_WINDOW_LABEL_MEMO]);
Window_FillTilemap(&param0->extraWindows[0], 0);
Window_FillTilemap(&summaryScreen->extraWindows[PSS_WINDOW_HP], 0);
Window_FillTilemap(&summaryScreen->extraWindows[PSS_WINDOW_ATTACK], 0);
Window_FillTilemap(&summaryScreen->extraWindows[PSS_WINDOW_DEFENSE], 0);
Window_FillTilemap(&summaryScreen->extraWindows[PSS_WINDOW_SP_ATTACK], 0);
Window_FillTilemap(&summaryScreen->extraWindows[PSS_WINDOW_SP_DEFENSE], 0);
Window_FillTilemap(&summaryScreen->extraWindows[PSS_WINDOW_SPEED], 0);
Window_FillTilemap(&summaryScreen->extraWindows[PSS_WINDOW_ABILITY], 0);
Window_FillTilemap(&summaryScreen->extraWindows[PSS_WINDOW_ABILITY_DESCRIPTION], 0);
{
void *v1 = PokemonSummaryScreen_MonData(param0);
BOOL v2 = DoesMonOTMatchPlayer(param0);
u32 hpWindowWidth = Window_GetWidth(&summaryScreen->extraWindows[PSS_WINDOW_HP]) * 8;
if (param0->data->dataType == 2) {
{
Pokemon *v3 = Pokemon_New(19);
PrintCurrentAndMaxInfo(summaryScreen, 0, pss_slash, pss_template_current_hp, pss_template_max_hp, summaryScreen->monData.curHP, summaryScreen->monData.maxHP, 3, hpWindowWidth / 2, 0);
SetAndFormatNumberBuf(summaryScreen, pss_template_attack, summaryScreen->monData.attack, 3, PADDING_MODE_NONE);
PrintStrbufToWindow(summaryScreen, &summaryScreen->extraWindows[PSS_WINDOW_ATTACK], TEXT_COLOR(1, 2, 0), PSS_ALIGNMENT_RIGHT);
SetAndFormatNumberBuf(summaryScreen, pss_template_defense, summaryScreen->monData.defense, 3, PADDING_MODE_NONE);
PrintStrbufToWindow(summaryScreen, &summaryScreen->extraWindows[PSS_WINDOW_DEFENSE], TEXT_COLOR(1, 2, 0), PSS_ALIGNMENT_RIGHT);
SetAndFormatNumberBuf(summaryScreen, pss_template_sp_attack, summaryScreen->monData.spAttack, 3, PADDING_MODE_NONE);
PrintStrbufToWindow(summaryScreen, &summaryScreen->extraWindows[PSS_WINDOW_SP_ATTACK], TEXT_COLOR(1, 2, 0), PSS_ALIGNMENT_RIGHT);
SetAndFormatNumberBuf(summaryScreen, pss_template_sp_defense, summaryScreen->monData.spDefense, 3, PADDING_MODE_NONE);
PrintStrbufToWindow(summaryScreen, &summaryScreen->extraWindows[PSS_WINDOW_SP_DEFENSE], TEXT_COLOR(1, 2, 0), PSS_ALIGNMENT_RIGHT);
SetAndFormatNumberBuf(summaryScreen, pss_template_speed, summaryScreen->monData.speed, 3, PADDING_MODE_NONE);
PrintStrbufToWindow(summaryScreen, &summaryScreen->extraWindows[PSS_WINDOW_SPEED], TEXT_COLOR(1, 2, 0), PSS_ALIGNMENT_RIGHT);
Pokemon_FromBoxPokemon(v1, v3);
sub_02090800(&param0->extraWindows[0], v3, v2);
Heap_FreeToHeap(v3);
}
} else {
sub_02090800(&param0->extraWindows[0], v1, v2);
}
}
StringTemplate_SetAbilityName(summaryScreen->strFormatter, 0, summaryScreen->monData.ability);
Strbuf *buf = MessageLoader_GetNewStrbuf(summaryScreen->msgLoader, pss_template_ability);
StringTemplate_Format(summaryScreen->strFormatter, summaryScreen->strbuf, buf);
Strbuf_Free(buf);
PrintStrbufToWindow(summaryScreen, &summaryScreen->extraWindows[PSS_WINDOW_ABILITY], TEXT_COLOR(1, 2, 0), PSS_ALIGNMENT_LEFT);
// ravetodo name ability desc bank
MessageLoader *msgLoader = MessageLoader_Init(MESSAGE_LOADER_NARC_HANDLE, NARC_INDEX_MSGDATA__PL_MSG, 612, HEAP_ID_POKEMON_SUMMARY_SCREEN);
MessageLoader_GetStrbuf(msgLoader, summaryScreen->monData.ability, summaryScreen->strbuf);
MessageLoader_Free(msgLoader);
PrintStrbufToWindow(summaryScreen, &summaryScreen->extraWindows[PSS_WINDOW_ABILITY_DESCRIPTION], TEXT_COLOR(1, 2, 0), PSS_ALIGNMENT_LEFT);
Window_ScheduleCopyToVRAM(&param0->extraWindows[0]);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_HP]);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_ATTACK]);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_DEFENSE]);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_SP_ATTACK]);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_SP_DEFENSE]);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_SPEED]);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_ABILITY]);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_ABILITY_DESCRIPTION]);
}
static void sub_0209093C(PokemonSummaryScreen *param0)
static void DrawConditionPageWindows(PokemonSummaryScreen *summaryScreen)
{
u32 v0;
Window_ScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_CONDITION]);
Window_ScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_SHEEN]);
Window_ScheduleCopyToVRAM(&param0->staticWindows[PSS_WINDOW_LABEL_SKILLS]);
Window_ScheduleCopyToVRAM(&param0->staticWindows[PSS_WINDOW_LABEL_HP]);
Window_ScheduleCopyToVRAM(&param0->staticWindows[PSS_WINDOW_LABEL_ATTACK]);
Window_ScheduleCopyToVRAM(&param0->staticWindows[PSS_WINDOW_LABEL_DEFENSE]);
Window_ScheduleCopyToVRAM(&param0->staticWindows[PSS_WINDOW_LABEL_SP_ATK]);
Window_ScheduleCopyToVRAM(&param0->staticWindows[PSS_WINDOW_LABEL_SP_DEF]);
Window_ScheduleCopyToVRAM(&param0->staticWindows[PSS_WINDOW_LABEL_SPEED]);
Window_ScheduleCopyToVRAM(&param0->staticWindows[PSS_WINDOW_LABEL_ABILITY]);
Window_FillTilemap(&param0->extraWindows[0], 0);
Window_FillTilemap(&param0->extraWindows[1], 0);
Window_FillTilemap(&param0->extraWindows[2], 0);
Window_FillTilemap(&param0->extraWindows[3], 0);
Window_FillTilemap(&param0->extraWindows[4], 0);
Window_FillTilemap(&param0->extraWindows[5], 0);
Window_FillTilemap(&param0->extraWindows[6], 0);
Window_FillTilemap(&param0->extraWindows[7], 0);
v0 = Window_GetWidth(&param0->extraWindows[0]) * 8;
PrintMovePPInfo(param0, 0, 117, 119, 118, param0->monData.curHP, param0->monData.maxHP, 3, v0 / 2, 0);
SetAndFormatNumberBuf(param0, 120, param0->monData.attack, 3, PADDING_MODE_NONE);
PrintStrbufToWindow(param0, &param0->extraWindows[1], TEXT_COLOR(1, 2, 0), PSS_ALIGNMENT_RIGHT);
SetAndFormatNumberBuf(param0, 121, param0->monData.defense, 3, PADDING_MODE_NONE);
PrintStrbufToWindow(param0, &param0->extraWindows[2], TEXT_COLOR(1, 2, 0), PSS_ALIGNMENT_RIGHT);
SetAndFormatNumberBuf(param0, 122, param0->monData.spAttack, 3, PADDING_MODE_NONE);
PrintStrbufToWindow(param0, &param0->extraWindows[3], TEXT_COLOR(1, 2, 0), PSS_ALIGNMENT_RIGHT);
SetAndFormatNumberBuf(param0, 123, param0->monData.spDefense, 3, PADDING_MODE_NONE);
PrintStrbufToWindow(param0, &param0->extraWindows[4], TEXT_COLOR(1, 2, 0), PSS_ALIGNMENT_RIGHT);
SetAndFormatNumberBuf(param0, 124, param0->monData.speed, 3, PADDING_MODE_NONE);
PrintStrbufToWindow(param0, &param0->extraWindows[5], TEXT_COLOR(1, 2, 0), PSS_ALIGNMENT_RIGHT);
{
MessageLoader *v1;
Strbuf *v2;
StringTemplate_SetAbilityName(param0->strFormatter, 0, param0->monData.ability);
v2 = MessageLoader_GetNewStrbuf(param0->msgLoader, 125);
StringTemplate_Format(param0->strFormatter, param0->strbuf, v2);
Strbuf_Free(v2);
PrintStrbufToWindow(param0, &param0->extraWindows[6], TEXT_COLOR(1, 2, 0), PSS_ALIGNMENT_LEFT);
v1 = MessageLoader_Init(1, 26, 612, 19);
MessageLoader_GetStrbuf(v1, param0->monData.ability, param0->strbuf);
MessageLoader_Free(v1);
PrintStrbufToWindow(param0, &param0->extraWindows[7], TEXT_COLOR(1, 2, 0), PSS_ALIGNMENT_LEFT);
}
Window_ScheduleCopyToVRAM(&param0->extraWindows[0]);
Window_ScheduleCopyToVRAM(&param0->extraWindows[1]);
Window_ScheduleCopyToVRAM(&param0->extraWindows[2]);
Window_ScheduleCopyToVRAM(&param0->extraWindows[3]);
Window_ScheduleCopyToVRAM(&param0->extraWindows[4]);
Window_ScheduleCopyToVRAM(&param0->extraWindows[5]);
Window_ScheduleCopyToVRAM(&param0->extraWindows[6]);
Window_ScheduleCopyToVRAM(&param0->extraWindows[7]);
}
static void sub_02090BDC(PokemonSummaryScreen *param0)
{
Window_ScheduleCopyToVRAM(&param0->staticWindows[PSS_WINDOW_LABEL_CONDITION]);
Window_ScheduleCopyToVRAM(&param0->staticWindows[PSS_WINDOW_LABEL_SHEEN]);
if ((param0->data->mode != 3) && (param0->data->mode != 4)) {
if (summaryScreen->data->mode != PSS_MODE_POFFIN && summaryScreen->data->mode != PSS_MODE_CONDITION) {
return;
}
Window_FillTilemap(&param0->extraWindows[1], 0);
MessageLoader_GetStrbuf(param0->msgLoader, 165, param0->strbuf);
PrintStrbufToWindow(param0, &param0->extraWindows[1], TEXT_COLOR(15, 14, 0), PSS_ALIGNMENT_LEFT);
MessageLoader_GetStrbuf(param0->msgLoader, 166 + param0->monData.preferredFlavor, param0->strbuf);
Text_AddPrinterWithParamsAndColor(&param0->extraWindows[1], FONT_SYSTEM, param0->strbuf, 0, 16, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(1, 2, 0), NULL);
Window_ScheduleCopyToVRAM(&param0->extraWindows[1]);
Window_FillTilemap(&summaryScreen->extraWindows[PSS_WINDOW_FAVORITE_FOOD], 0);
MessageLoader_GetStrbuf(summaryScreen->msgLoader, pss_favorite_food, summaryScreen->strbuf);
PrintStrbufToWindow(summaryScreen, &summaryScreen->extraWindows[PSS_WINDOW_FAVORITE_FOOD], TEXT_COLOR(15, 14, 0), PSS_ALIGNMENT_LEFT);
MessageLoader_GetStrbuf(summaryScreen->msgLoader, pss_template_likes_spicy + summaryScreen->monData.preferredFlavor, summaryScreen->strbuf);
Text_AddPrinterWithParamsAndColor(&summaryScreen->extraWindows[PSS_WINDOW_FAVORITE_FOOD], FONT_SYSTEM, summaryScreen->strbuf, 0, 16, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(1, 2, 0), NULL);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_FAVORITE_FOOD]);
if (param0->data->mode == 3) {
Window_FillTilemap(&param0->extraWindows[0], 0);
MessageLoader_GetStrbuf(param0->msgLoader, 163, param0->strbuf);
PrintStrbufToWindow(param0, &param0->extraWindows[0], TEXT_COLOR(15, 14, 0), PSS_ALIGNMENT_LEFT);
Window_ScheduleCopyToVRAM(&param0->extraWindows[0]);
PokemonSummaryScreen_UpdateAButtonSprite(param0, &param0->extraWindows[0]);
if (summaryScreen->data->mode == PSS_MODE_POFFIN) {
Window_FillTilemap(&summaryScreen->extraWindows[PSS_WINDOW_POFFIN_BUTTON_PROMPT], 0);
MessageLoader_GetStrbuf(summaryScreen->msgLoader, pss_poffin_feed_ok, summaryScreen->strbuf);
PrintStrbufToWindow(summaryScreen, &summaryScreen->extraWindows[PSS_WINDOW_POFFIN_BUTTON_PROMPT], TEXT_COLOR(15, 14, 0), PSS_ALIGNMENT_LEFT);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_POFFIN_BUTTON_PROMPT]);
PokemonSummaryScreen_UpdateAButtonSprite(summaryScreen, &summaryScreen->extraWindows[PSS_WINDOW_POFFIN_BUTTON_PROMPT]);
}
}
static void sub_02090CD4(PokemonSummaryScreen *param0)
static void DrawBattleMovesPageWindows(PokemonSummaryScreen *summaryScreen)
{
Window_ScheduleCopyToVRAM(&param0->staticWindows[PSS_WINDOW_LABEL_BATTLE_MOVES]);
Window_ScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_BATTLE_MOVES]);
if (param0->data->mode == 2) {
PokemonSummaryScreen_ClearAndPrintButtonPrompt(param0, 155);
if (summaryScreen->data->mode == PSS_MODE_SELECT_MOVE) {
PokemonSummaryScreen_ClearAndPrintButtonPrompt(summaryScreen, pss_select_battle_move_ok);
} else {
PokemonSummaryScreen_ClearAndPrintButtonPrompt(param0, 129);
PokemonSummaryScreen_ClearAndPrintButtonPrompt(summaryScreen, pss_select_battle_move_info);
}
PokemonSummaryScreen_UpdateAButtonSprite(param0, &param0->staticWindows[PSS_WINDOW_LABEL_BUTTON_PROMPT]);
PokemonSummaryScreen_UpdateAButtonSprite(summaryScreen, &summaryScreen->staticWindows[PSS_WINDOW_BUTTON_PROMPT]);
Window_FillTilemap(&param0->extraWindows[0], 0);
Window_FillTilemap(&param0->extraWindows[1], 0);
Window_FillTilemap(&param0->extraWindows[2], 0);
Window_FillTilemap(&param0->extraWindows[3], 0);
Window_FillTilemap(&summaryScreen->extraWindows[PSS_WINDOW_BATTLE_MOVE_1], 0);
Window_FillTilemap(&summaryScreen->extraWindows[PSS_WINDOW_BATTLE_MOVE_2], 0);
Window_FillTilemap(&summaryScreen->extraWindows[PSS_WINDOW_BATTLE_MOVE_3], 0);
Window_FillTilemap(&summaryScreen->extraWindows[PSS_WINDOW_BATTLE_MOVE_4], 0);
PrintMoveNameAndPP(param0, 0);
PrintMoveNameAndPP(param0, 1);
PrintMoveNameAndPP(param0, 2);
PrintMoveNameAndPP(param0, 3);
PrintMoveNameAndPP(summaryScreen, 0);
PrintMoveNameAndPP(summaryScreen, 1);
PrintMoveNameAndPP(summaryScreen, 2);
PrintMoveNameAndPP(summaryScreen, 3);
Window_ScheduleCopyToVRAM(&param0->extraWindows[0]);
Window_ScheduleCopyToVRAM(&param0->extraWindows[1]);
Window_ScheduleCopyToVRAM(&param0->extraWindows[2]);
Window_ScheduleCopyToVRAM(&param0->extraWindows[3]);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_BATTLE_MOVE_1]);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_BATTLE_MOVE_2]);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_BATTLE_MOVE_3]);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_BATTLE_MOVE_4]);
}
static void sub_02090D90(PokemonSummaryScreen *param0)
static void DrawContestMovesPageWindows(PokemonSummaryScreen *summaryScreen)
{
Window_ScheduleCopyToVRAM(&param0->staticWindows[PSS_WINDOW_LABEL_CONTEST_MOVES]);
Window_ScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_CONTEST_MOVES]);
if (param0->data->mode == 2) {
PokemonSummaryScreen_ClearAndPrintButtonPrompt(param0, 159);
if (summaryScreen->data->mode == PSS_MODE_SELECT_MOVE) {
PokemonSummaryScreen_ClearAndPrintButtonPrompt(summaryScreen, pss_select_contest_move_ok);
} else {
PokemonSummaryScreen_ClearAndPrintButtonPrompt(param0, 158);
PokemonSummaryScreen_ClearAndPrintButtonPrompt(summaryScreen, pss_select_contest_move_info);
}
PokemonSummaryScreen_UpdateAButtonSprite(param0, &param0->staticWindows[PSS_WINDOW_LABEL_BUTTON_PROMPT]);
PokemonSummaryScreen_UpdateAButtonSprite(summaryScreen, &summaryScreen->staticWindows[PSS_WINDOW_BUTTON_PROMPT]);
Window_FillTilemap(&param0->extraWindows[0], 0);
Window_FillTilemap(&param0->extraWindows[1], 0);
Window_FillTilemap(&param0->extraWindows[2], 0);
Window_FillTilemap(&param0->extraWindows[3], 0);
Window_FillTilemap(&summaryScreen->extraWindows[PSS_WINDOW_CONTEST_MOVE_1], 0);
Window_FillTilemap(&summaryScreen->extraWindows[PSS_WINDOW_CONTEST_MOVE_2], 0);
Window_FillTilemap(&summaryScreen->extraWindows[PSS_WINDOW_CONTEST_MOVE_3], 0);
Window_FillTilemap(&summaryScreen->extraWindows[PSS_WINDOW_CONTEST_MOVE_4], 0);
PrintMoveNameAndPP(param0, 0);
PrintMoveNameAndPP(param0, 1);
PrintMoveNameAndPP(param0, 2);
PrintMoveNameAndPP(param0, 3);
PrintMoveNameAndPP(summaryScreen, 0);
PrintMoveNameAndPP(summaryScreen, 1);
PrintMoveNameAndPP(summaryScreen, 2);
PrintMoveNameAndPP(summaryScreen, 3);
Window_ScheduleCopyToVRAM(&param0->extraWindows[0]);
Window_ScheduleCopyToVRAM(&param0->extraWindows[1]);
Window_ScheduleCopyToVRAM(&param0->extraWindows[2]);
Window_ScheduleCopyToVRAM(&param0->extraWindows[3]);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_CONTEST_MOVE_1]);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_CONTEST_MOVE_2]);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_CONTEST_MOVE_3]);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_CONTEST_MOVE_4]);
}
static void sub_02090E4C(PokemonSummaryScreen *param0)
static void DrawRibbonsPageWindows(PokemonSummaryScreen *summaryScreen)
{
Window_ScheduleCopyToVRAM(&param0->staticWindows[PSS_WINDOW_LABEL_RIBBONS]);
Window_ScheduleCopyToVRAM(&param0->staticWindows[PSS_WINDOW_LABEL_NUM_OF_RIBBONS]);
Window_ScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_RIBBONS]);
Window_ScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_RIBBON_COUNT]);
Window_FillTilemap(&param0->extraWindows[0], 0);
SetAndFormatNumberBuf(param0, 183, param0->ribbonMax, 3, PADDING_MODE_NONE);
PrintStrbufToWindow(param0, &param0->extraWindows[0], TEXT_COLOR(1, 2, 0), PSS_ALIGNMENT_LEFT);
Window_ScheduleCopyToVRAM(&param0->extraWindows[0]);
Window_FillTilemap(&summaryScreen->extraWindows[PSS_WINDOW_RIBBON_COUNT], 0);
SetAndFormatNumberBuf(summaryScreen, pss_template_ribbon_count, summaryScreen->ribbonMax, 3, PADDING_MODE_NONE);
PrintStrbufToWindow(summaryScreen, &summaryScreen->extraWindows[PSS_WINDOW_RIBBON_COUNT], TEXT_COLOR(1, 2, 0), PSS_ALIGNMENT_LEFT);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_RIBBON_COUNT]);
if (param0->ribbonMax != 0) {
PokemonSummaryScreen_ClearAndPrintButtonPrompt(param0, 180);
PokemonSummaryScreen_UpdateAButtonSprite(param0, &param0->staticWindows[PSS_WINDOW_LABEL_BUTTON_PROMPT]);
if (summaryScreen->ribbonMax != 0) {
PokemonSummaryScreen_ClearAndPrintButtonPrompt(summaryScreen, pss_ribbon_select_info);
PokemonSummaryScreen_UpdateAButtonSprite(summaryScreen, &summaryScreen->staticWindows[PSS_WINDOW_BUTTON_PROMPT]);
}
}
static void sub_02090EC8(PokemonSummaryScreen *param0)
static void DrawExitPageWindows(PokemonSummaryScreen *summaryScreen)
{
Window_ScheduleCopyToVRAM(&param0->staticWindows[PSS_WINDOW_LABEL_CLOSE_WINDOW]);
PokemonSummaryScreen_ClearAndPrintButtonPrompt(param0, 161);
PokemonSummaryScreen_UpdateAButtonSprite(param0, &param0->staticWindows[PSS_WINDOW_LABEL_BUTTON_PROMPT]);
Window_ScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_CLOSE_WINDOW]);
PokemonSummaryScreen_ClearAndPrintButtonPrompt(summaryScreen, pss_prompt_exit);
PokemonSummaryScreen_UpdateAButtonSprite(summaryScreen, &summaryScreen->staticWindows[PSS_WINDOW_BUTTON_PROMPT]);
if ((param0->data->mode != 3) && (param0->data->mode != 4)) {
// the exit page shows the "favorite food" condition extra window when feeding poffins
if (summaryScreen->data->mode != PSS_MODE_POFFIN && summaryScreen->data->mode != PSS_MODE_CONDITION) {
return;
}
Window_FillTilemap(&param0->extraWindows[1], 0);
Window_FillTilemap(&summaryScreen->extraWindows[PSS_WINDOW_FAVORITE_FOOD], 0);
MessageLoader_GetStrbuf(param0->msgLoader, 165, param0->strbuf);
PrintStrbufToWindow(param0, &param0->extraWindows[1], TEXT_COLOR(15, 14, 0), PSS_ALIGNMENT_LEFT);
MessageLoader_GetStrbuf(summaryScreen->msgLoader, pss_favorite_food, summaryScreen->strbuf);
PrintStrbufToWindow(summaryScreen, &summaryScreen->extraWindows[PSS_WINDOW_FAVORITE_FOOD], TEXT_COLOR(15, 14, 0), PSS_ALIGNMENT_LEFT);
MessageLoader_GetStrbuf(param0->msgLoader, 166 + param0->monData.preferredFlavor, param0->strbuf);
Text_AddPrinterWithParamsAndColor(&param0->extraWindows[1], FONT_SYSTEM, param0->strbuf, 0, 16, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(1, 2, 0), NULL);
MessageLoader_GetStrbuf(summaryScreen->msgLoader, pss_template_likes_spicy + summaryScreen->monData.preferredFlavor, summaryScreen->strbuf);
Text_AddPrinterWithParamsAndColor(&summaryScreen->extraWindows[PSS_WINDOW_FAVORITE_FOOD], FONT_SYSTEM, summaryScreen->strbuf, 0, 16, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(1, 2, 0), NULL);
Window_ScheduleCopyToVRAM(&param0->extraWindows[1]);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_FAVORITE_FOOD]);
}
void PokemonSummaryScreen_PrintRibbonIndexAndMax(PokemonSummaryScreen *summaryScreen)
{
Window_FillTilemap(&summaryScreen->extraWindows[1], 0);
Window_FillTilemap(&summaryScreen->extraWindows[PSS_WINDOW_RIBBON_INDEX], 0);
Strbuf *buf = MessageLoader_GetNewStrbuf(summaryScreen->msgLoader, pss_ribbon_max_number);
@@ -751,13 +741,13 @@ void PokemonSummaryScreen_PrintRibbonIndexAndMax(PokemonSummaryScreen *summarySc
u8 strWidth = Font_CalcStrbufWidth(FONT_SYSTEM, summaryScreen->strbuf, 0);
u8 xOffset = 7 * 8 - strWidth;
Text_AddPrinterWithParamsAndColor(&summaryScreen->extraWindows[1], FONT_SYSTEM, summaryScreen->strbuf, xOffset, 0, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(1, 2, 0), NULL);
Text_AddPrinterWithParamsAndColor(&summaryScreen->extraWindows[PSS_WINDOW_RIBBON_INDEX], FONT_SYSTEM, summaryScreen->strbuf, xOffset, 0, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(1, 2, 0), NULL);
buf = MessageLoader_GetNewStrbuf(summaryScreen->msgLoader, pss_ribbon_number_slash);
strWidth = Font_CalcStrbufWidth(FONT_SYSTEM, buf, 0);
xOffset -= strWidth;
Text_AddPrinterWithParamsAndColor(&summaryScreen->extraWindows[1], FONT_SYSTEM, buf, xOffset, 0, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(1, 2, 0), NULL);
Text_AddPrinterWithParamsAndColor(&summaryScreen->extraWindows[PSS_WINDOW_RIBBON_INDEX], FONT_SYSTEM, buf, xOffset, 0, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(1, 2, 0), NULL);
Strbuf_Free(buf);
buf = MessageLoader_GetNewStrbuf(summaryScreen->msgLoader, pss_ribbon_index_number);
@@ -769,23 +759,23 @@ void PokemonSummaryScreen_PrintRibbonIndexAndMax(PokemonSummaryScreen *summarySc
strWidth = Font_CalcStrbufWidth(FONT_SYSTEM, summaryScreen->strbuf, 0);
xOffset -= strWidth;
Text_AddPrinterWithParamsAndColor(&summaryScreen->extraWindows[1], FONT_SYSTEM, summaryScreen->strbuf, xOffset, 0, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(1, 2, 0), NULL);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[1]);
Text_AddPrinterWithParamsAndColor(&summaryScreen->extraWindows[PSS_WINDOW_RIBBON_INDEX], FONT_SYSTEM, summaryScreen->strbuf, xOffset, 0, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(1, 2, 0), NULL);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_RIBBON_INDEX]);
}
void PokemonSummaryScreen_PrintRibbonNameAndDesc(PokemonSummaryScreen *summaryScreen)
{
Window_FillTilemap(&summaryScreen->extraWindows[2], 0);
Window_FillTilemap(&summaryScreen->extraWindows[3], 0);
Window_FillTilemap(&summaryScreen->extraWindows[PSS_WINDOW_RIBBON_NAME], 0);
Window_FillTilemap(&summaryScreen->extraWindows[PSS_WINDOW_RIBBON_DESCRIPTION], 0);
MessageLoader_GetStrbuf(summaryScreen->ribbonLoader, Ribbon_GetData(summaryScreen->ribbonNum, RIBBON_DATA_NAME_ID), summaryScreen->strbuf);
PrintStrbufToWindow(summaryScreen, &summaryScreen->extraWindows[2], TEXT_COLOR(15, 14, 0), PSS_ALIGNMENT_LEFT);
PrintStrbufToWindow(summaryScreen, &summaryScreen->extraWindows[PSS_WINDOW_RIBBON_NAME], TEXT_COLOR(15, 14, 0), PSS_ALIGNMENT_LEFT);
MessageLoader_GetStrbuf(summaryScreen->ribbonLoader, PokemonSummaryScreen_GetRibbonDescriptionID(summaryScreen->data->ribbons, summaryScreen->ribbonNum), summaryScreen->strbuf);
PrintStrbufToWindow(summaryScreen, &summaryScreen->extraWindows[3], TEXT_COLOR(1, 2, 0), PSS_ALIGNMENT_LEFT);
PrintStrbufToWindow(summaryScreen, &summaryScreen->extraWindows[PSS_WINDOW_RIBBON_DESCRIPTION], TEXT_COLOR(1, 2, 0), PSS_ALIGNMENT_LEFT);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[2]);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[3]);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_RIBBON_NAME]);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_RIBBON_DESCRIPTION]);
}
static void PrintMoveNameAndPP(PokemonSummaryScreen *summaryScreen, u32 moveIndex)
@@ -811,7 +801,7 @@ static void PrintMoveNameAndPP(PokemonSummaryScreen *summaryScreen, u32 moveInde
if (moveName != MOVE_NONE) {
MessageLoader_GetStrbuf(summaryScreen->msgLoader, 135, summaryScreen->strbuf);
Text_AddPrinterWithParamsAndColor(window, FONT_SYSTEM, summaryScreen->strbuf, 16, 16, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(1, 2, 0), NULL);
PrintMovePPInfo(summaryScreen, moveIndex, 117, 136 + moveIndex, 141 + moveIndex, curPP, maxPP, 2, (40 + 20), 16);
PrintCurrentAndMaxInfo(summaryScreen, moveIndex, 117, 136 + moveIndex, 141 + moveIndex, curPP, maxPP, 2, (40 + 20), 16);
} else {
MessageLoader_GetStrbuf(summaryScreen->msgLoader, 153, summaryScreen->strbuf);
u32 strWidth = Font_CalcStrbufWidth(FONT_SYSTEM, summaryScreen->strbuf, 0);
@@ -819,15 +809,15 @@ static void PrintMoveNameAndPP(PokemonSummaryScreen *summaryScreen, u32 moveInde
}
}
void PokemonSummaryScreen_PrintBattleMoveInfo(PokemonSummaryScreen *summaryScreen, u32 move)
void PokemonSummaryScreen_PrintBattleMoveAttributes(PokemonSummaryScreen *summaryScreen, u32 move)
{
Window_ScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_MOVE_CATEGORY]);
Window_ScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_MOVE_POWER]);
Window_ScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_MOVE_ACCURACY]);
Window_FillTilemap(&summaryScreen->extraWindows[5], 0);
Window_FillTilemap(&summaryScreen->extraWindows[6], 0);
Window_FillTilemap(&summaryScreen->extraWindows[7], 0);
Window_FillTilemap(&summaryScreen->extraWindows[PSS_WINDOW_BATTLE_MOVE_POWER], 0);
Window_FillTilemap(&summaryScreen->extraWindows[PSS_WINDOW_BATTLE_MOVE_ACCURACY], 0);
Window_FillTilemap(&summaryScreen->extraWindows[PSS_WINDOW_BATTLE_MOVE_DESCRIPTION], 0);
u32 moveAttribute = MoveTable_LoadParam(move, MOVEATTRIBUTE_POWER);
@@ -837,7 +827,7 @@ void PokemonSummaryScreen_PrintBattleMoveInfo(PokemonSummaryScreen *summaryScree
SetAndFormatNumberBuf(summaryScreen, pss_move_power_template, moveAttribute, 3, PADDING_MODE_SPACES);
}
PrintStrbufToWindow(summaryScreen, &summaryScreen->extraWindows[5], TEXT_COLOR(1, 2, 0), PSS_ALIGNMENT_CENTER);
PrintStrbufToWindow(summaryScreen, &summaryScreen->extraWindows[PSS_WINDOW_BATTLE_MOVE_POWER], TEXT_COLOR(1, 2, 0), PSS_ALIGNMENT_CENTER);
moveAttribute = MoveTable_LoadParam(move, MOVEATTRIBUTE_ACCURACY);
@@ -847,35 +837,35 @@ void PokemonSummaryScreen_PrintBattleMoveInfo(PokemonSummaryScreen *summaryScree
SetAndFormatNumberBuf(summaryScreen, pss_move_accuracy_template, moveAttribute, 3, PADDING_MODE_SPACES);
}
PrintStrbufToWindow(summaryScreen, &summaryScreen->extraWindows[6], TEXT_COLOR(1, 2, 0), PSS_ALIGNMENT_CENTER);
PrintStrbufToWindow(summaryScreen, &summaryScreen->extraWindows[PSS_WINDOW_BATTLE_MOVE_ACCURACY], TEXT_COLOR(1, 2, 0), PSS_ALIGNMENT_CENTER);
MessageLoader *msgLoader = MessageLoader_Init(MESSAGE_LOADER_NARC_HANDLE, NARC_INDEX_MSGDATA__PL_MSG, message_bank_move_descriptions, HEAP_ID_POKEMON_SUMMARY_SCREEN);
MessageLoader_GetStrbuf(msgLoader, move, summaryScreen->strbuf);
PrintStrbufToWindow(summaryScreen, &summaryScreen->extraWindows[7], TEXT_COLOR(1, 2, 0), PSS_ALIGNMENT_LEFT);
PrintStrbufToWindow(summaryScreen, &summaryScreen->extraWindows[PSS_WINDOW_BATTLE_MOVE_DESCRIPTION], TEXT_COLOR(1, 2, 0), PSS_ALIGNMENT_LEFT);
MessageLoader_Free(msgLoader);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[5]);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[6]);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[7]);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_BATTLE_MOVE_POWER]);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_BATTLE_MOVE_ACCURACY]);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_BATTLE_MOVE_DESCRIPTION]);
}
void PokemonSummaryScreen_ClearBattleInfoWindows(PokemonSummaryScreen *summaryScreen)
void PokemonSummaryScreen_ClearBattleAttributeWindows(PokemonSummaryScreen *summaryScreen)
{
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_MOVE_CATEGORY]);
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_MOVE_POWER]);
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_MOVE_ACCURACY]);
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->extraWindows[5]);
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->extraWindows[6]);
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->extraWindows[7]);
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_BATTLE_MOVE_POWER]);
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_BATTLE_MOVE_ACCURACY]);
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_BATTLE_MOVE_DESCRIPTION]);
}
void PokemonSummaryScreen_ShowMoveInfoOrCancel(PokemonSummaryScreen *summaryScreen)
void PokemonSummaryScreen_ShowMove5OrCancel(PokemonSummaryScreen *summaryScreen)
{
if (summaryScreen->data->move != MOVE_NONE) {
Window_FillTilemap(&summaryScreen->extraWindows[4], 0);
Window_FillTilemap(&summaryScreen->extraWindows[PSS_WINDOW_BATTLE_MOVE_5], 0);
PrintMoveNameAndPP(summaryScreen, LEARNED_MOVES_MAX);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[4]);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_BATTLE_MOVE_5]);
} else {
Window_ScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_MOVE_CANCEL]);
}
@@ -904,12 +894,12 @@ void PokemonSummaryScreen_PrintHMMovesCantBeForgotten(PokemonSummaryScreen *summ
Window *window;
if (summaryScreen->page == PSS_PAGE_BATTLE_MOVES) {
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->extraWindows[5]);
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->extraWindows[6]);
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->extraWindows[7]);
window = &summaryScreen->extraWindows[7];
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_BATTLE_MOVE_POWER]);
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_BATTLE_MOVE_ACCURACY]);
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_BATTLE_MOVE_DESCRIPTION]);
window = &summaryScreen->extraWindows[PSS_WINDOW_BATTLE_MOVE_DESCRIPTION];
} else {
window = &summaryScreen->extraWindows[5];
window = &summaryScreen->extraWindows[PSS_WINDOW_CONTEST_MOVE_DESCRIPTION];
}
Window_FillTilemap(window, 0);
@@ -918,31 +908,28 @@ void PokemonSummaryScreen_PrintHMMovesCantBeForgotten(PokemonSummaryScreen *summ
Window_ScheduleCopyToVRAM(window);
}
void PokemonSummaryScreen_PrintContestMoveInfo(PokemonSummaryScreen *param0, u32 param1)
void PokemonSummaryScreen_PrintContestMoveAttributes(PokemonSummaryScreen *summaryScreen, u32 move)
{
MessageLoader *v0;
u32 v1;
u32 v2;
Window_FillTilemap(&summaryScreen->extraWindows[PSS_WINDOW_CONTEST_MOVE_DESCRIPTION], 0);
Window_FillTilemap(&param0->extraWindows[5], 0);
u32 contestEffect = MoveTable_LoadParam(move, MOVEATTRIBUTE_CONTEST_EFFECT);
u32 descEntryID = sub_0209577C(contestEffect);
// ravetodo rename contest move desc bank
MessageLoader *msgLoader = MessageLoader_Init(MESSAGE_LOADER_BANK_HANDLE, NARC_INDEX_MSGDATA__PL_MSG, 210, HEAP_ID_POKEMON_SUMMARY_SCREEN);
v1 = MoveTable_LoadParam(param1, MOVEATTRIBUTE_CONTEST_EFFECT);
v2 = sub_0209577C(v1);
v0 = MessageLoader_Init(0, 26, 210, 19);
MessageLoader_GetStrbuf(msgLoader, descEntryID, summaryScreen->strbuf);
Text_AddPrinterWithParamsAndColor(&summaryScreen->extraWindows[PSS_WINDOW_CONTEST_MOVE_DESCRIPTION], FONT_SYSTEM, summaryScreen->strbuf, 0, 0, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(1, 2, 0), NULL);
MessageLoader_GetStrbuf(v0, v2, param0->strbuf);
Text_AddPrinterWithParamsAndColor(&param0->extraWindows[5], FONT_SYSTEM, param0->strbuf, 0, 0, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(1, 2, 0), NULL);
MessageLoader_Free(msgLoader);
MessageLoader_Free(v0);
Window_ScheduleCopyToVRAM(&param0->staticWindows[PSS_WINDOW_LABEL_APPEAL_POINTS]);
Window_ScheduleCopyToVRAM(&param0->extraWindows[5]);
Window_ScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_APPEAL_POINTS]);
Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_CONTEST_MOVE_DESCRIPTION]);
}
void PokemonSummaryScreen_ClearContestInfoWindows(PokemonSummaryScreen *param0)
void PokemonSummaryScreen_ClearContestAttributeWindows(PokemonSummaryScreen *summaryScreen)
{
Window_ClearAndScheduleCopyToVRAM(&param0->staticWindows[PSS_WINDOW_LABEL_APPEAL_POINTS]);
Window_ClearAndScheduleCopyToVRAM(&param0->extraWindows[5]);
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->staticWindows[PSS_WINDOW_LABEL_APPEAL_POINTS]);
Window_ClearAndScheduleCopyToVRAM(&summaryScreen->extraWindows[PSS_WINDOW_CONTEST_MOVE_DESCRIPTION]);
}
void PokemonSummaryScreen_PrintPoffinFeedMsg(PokemonSummaryScreen *summaryScreen, enum PSSPoffinFeedMsg msg)
@@ -972,7 +959,7 @@ void PokemonSummaryScreen_PrintPoffinFeedMsg(PokemonSummaryScreen *summaryScreen
entryID = pss_pokemon_wont_eat_more;
}
Window *window = &summaryScreen->extraWindows[2];
Window *window = &summaryScreen->extraWindows[PSS_WINDOW_POFFIN_FEED_MSG];
Window_DrawMessageBoxWithScrollCursor(window, TRUE, (1024 - (18 + 12)), 13);
Window_FillTilemap(window, 15);