mirror of
https://github.com/pret/pokeemerald.git
synced 2026-10-02 14:57:55 -05:00
(90/654)
This commit is contained in:
4
.github/workflows/build.yml
vendored
4
.github/workflows/build.yml
vendored
@@ -53,13 +53,13 @@ jobs:
|
||||
run: make -j${nproc} all
|
||||
|
||||
- name: French Compare
|
||||
run: make -j${nproc} compare_french
|
||||
run: make -j${nproc} compare_fr
|
||||
|
||||
- name: French Modern
|
||||
env:
|
||||
MODERN: 1
|
||||
COMPARE: 0
|
||||
run: make -j${nproc} french
|
||||
run: make -j${nproc} modern_fr
|
||||
|
||||
- name: Move symfiles
|
||||
if: ${{ github.event_name == 'push' }}
|
||||
|
||||
@@ -10,7 +10,6 @@ extern const u8 gText_MysteryEventRareWord[];
|
||||
extern const u8 gText_MysteryEventSentOver[];
|
||||
extern const u8 gText_MysteryEventFullParty[];
|
||||
extern const u8 gText_MysteryEventNewTrainer[];
|
||||
extern const u8 gText_MysteryEventNewAdversaryInBattleTower[];
|
||||
extern const u8 gText_MysteryEventCantBeUsed[];
|
||||
|
||||
#endif // GUARD_MYSTERY_EVENT_MSG_H
|
||||
|
||||
@@ -43,15 +43,22 @@ enum
|
||||
PAGE_COORDINATORS,
|
||||
PAGE_ENGLISH_VERSION,
|
||||
PAGE_TRANSLATOR,
|
||||
#if ENGLISH
|
||||
PAGE_TEXT_EDITOR,
|
||||
#endif
|
||||
PAGE_NCL_COORDINATOR,
|
||||
PAGE_PROGRAMMERS_5,
|
||||
PAGE_GRAPHIC_DESIGNER,
|
||||
PAGE_ENVIRONMENT_AND_TOOL_PROGRAMS_2,
|
||||
PAGE_NOA_TESTING,
|
||||
#if ENGLISH
|
||||
PAGE_BRAILLE_CODE_CHECK_1,
|
||||
PAGE_BRAILLE_CODE_CHECK_2,
|
||||
#endif
|
||||
PAGE_SPECIAL_THANKS_5,
|
||||
#if FRENCH
|
||||
PAGE_SPECIAL_THANKS_6,
|
||||
#endif
|
||||
PAGE_TASK_MANAGERS,
|
||||
PAGE_PRODUCERS,
|
||||
PAGE_EXECUTIVE_DIRECTOR,
|
||||
@@ -63,7 +70,11 @@ enum
|
||||
#define ENTRIES_PER_PAGE 5
|
||||
|
||||
static const u8 sCreditsText_EmptyString[] = _("");
|
||||
#if ENGLISH
|
||||
static const u8 sCreditsText_PkmnEmeraldVersion[] = _("POKéMON EMERALD VERSION");
|
||||
#elif FRENCH
|
||||
static const u8 sCreditsText_PkmnEmeraldVersion[] = _("POKéMON VERSION EMERAUDE");
|
||||
#endif
|
||||
static const u8 sCreditsText_Credits[] = _("Credits");
|
||||
static const u8 sCreditsText_ExecutiveDirector[] = _("Executive Director");
|
||||
static const u8 sCreditsText_Director[] = _("Director");
|
||||
@@ -193,12 +204,21 @@ static const u8 sCreditsText_RetsujiNomoto[] = _("Retsuji Nomot
|
||||
static const u8 sCreditsText_AzusaTajima[] = _("Azusa Tajima");
|
||||
static const u8 sCreditsText_ShusakuEgami[] = _("Shusaku Egami");
|
||||
static const u8 sCreditsText_PackageAndManual[] = _("Package & Manual Illustration");
|
||||
#if ENGLISH
|
||||
static const u8 sCreditsText_EnglishVersion[] = _("English Version Coordinators");
|
||||
static const u8 sCreditsText_Translator[] = _("Translator");
|
||||
static const u8 sCreditsText_TextEditor[] = _("Text Editor");
|
||||
static const u8 sCreditsText_NCLCoordinator[] = _("NCL Coordinator");
|
||||
static const u8 sCreditsText_GraphicDesigner[] = _("Graphic Designer");
|
||||
static const u8 sCreditsText_NOAProductTesting[] = _("NOA Product Testing");
|
||||
#elif FRENCH
|
||||
static const u8 sCreditsText_EnglishVersion[] = _("French Version Coordinators");
|
||||
static const u8 sCreditsText_Translator[] = _("Translators");
|
||||
static const u8 sCreditsText_TextEditor[] = _("Text Editor");
|
||||
static const u8 sCreditsText_NCLCoordinator[] = _("NCL Coordinators");
|
||||
static const u8 sCreditsText_GraphicDesigner[] = _("Graphic Designer");
|
||||
static const u8 sCreditsText_NOAProductTesting[] = _("NOE Product Testing");
|
||||
#endif
|
||||
static const u8 sCreditsText_HideyukiNakajima[] = _("Hideyuki Nakajima");
|
||||
static const u8 sCreditsText_HidenoriSaeki[] = _("Hidenori Saeki");
|
||||
static const u8 sCreditsText_YokoWatanabe[] = _("Yoko Watanabe");
|
||||
@@ -216,11 +236,30 @@ static const u8 sCreditsText_NationalFederationBlind[] = _("National Fede
|
||||
static const u8 sCreditsText_PatriciaAMaurer[] = _("Patricia A. Maurer");
|
||||
static const u8 sCreditsText_EuropeanBlindUnion[] = _("European Blind Union");
|
||||
static const u8 sCreditsText_AustralianBrailleAuthority[] = _("Australian Braille Authority");
|
||||
#if ENGLISH
|
||||
static const u8 sCreditsText_RoyalNewZealandFederationBlind[] = _("Royal New Zealand Federation for the Blind");
|
||||
static const u8 sCreditsText_MotoyasuTojima[] = _("Motoyasu Tojima");
|
||||
static const u8 sCreditsText_NicolaPrattBarlow[] = _("Nicola Pratt-Barlow");
|
||||
static const u8 sCreditsText_ShellieDow[] = _("Shellie Dow");
|
||||
static const u8 sCreditsText_ErikJohnson[] = _("Erik Johnson");
|
||||
#elif FRENCH
|
||||
static const u8 sCreditsText_EuropeanBlindUnion2[] = _("European Blind Union");
|
||||
static const u8 sCreditsText_MotoyasuTojima[] = _("Motoyasu Tojima");
|
||||
static const u8 sCreditsText_NicolaPrattBarlow[] = _("Nicola Wright"); // Possibly got married :)
|
||||
static const u8 sCreditsText_ShellieDow[] = _("Shellie Dow");
|
||||
static const u8 sCreditsText_ErikJohnson[] = _("Erik Johnson");
|
||||
// New
|
||||
static const u8 sCreditsText_NorikoNetley[] = _("Noriko Netley");
|
||||
static const u8 sCreditsText_PierreSanchez[] = _("Pierre Sanchez");
|
||||
static const u8 sCreditsText_SabrinaBretant[] = _("Sabrina Bretant");
|
||||
static const u8 sCreditsText_ThomasFougeray[] = _("Thomas Fougeray");
|
||||
static const u8 sCreditsText_AlessioDanieli[] = _("Alessio Danieli");
|
||||
static const u8 sCreditsText_NOETestingTeam[] = _("NOE Testing Team");
|
||||
static const u8 sCreditsText_StefanRomberg[] = _("Stefan Romberg");
|
||||
static const u8 sCreditsText_MihoKozawa[] = _("Miho Kozawa");
|
||||
static const u8 sCreditsText_ToshifumiSayama[] = _("Toshifumi Sayama");
|
||||
static const u8 sCreditsText_Hiroshi_Akune[] = _("Hiroshi Akune");
|
||||
#endif
|
||||
static const struct CreditsEntry sCreditsEntry_EmptyString[] = { 0, FALSE, sCreditsText_EmptyString};
|
||||
static const struct CreditsEntry sCreditsEntry_PkmnEmeraldVersion[] = { 7, TRUE, sCreditsText_PkmnEmeraldVersion};
|
||||
static const struct CreditsEntry sCreditsEntry_Credits[] = {11, TRUE, sCreditsText_Credits};
|
||||
@@ -375,11 +414,30 @@ static const struct CreditsEntry sCreditsEntry_NationalFederationBlind[]
|
||||
static const struct CreditsEntry sCreditsEntry_PatriciaAMaurer[] = { 0, FALSE, sCreditsText_PatriciaAMaurer};
|
||||
static const struct CreditsEntry sCreditsEntry_EuropeanBlindUnion[] = { 0, FALSE, sCreditsText_EuropeanBlindUnion};
|
||||
static const struct CreditsEntry sCreditsEntry_AustralianBrailleAuthority[] = { 0, FALSE, sCreditsText_AustralianBrailleAuthority};
|
||||
#if ENGLISH
|
||||
static const struct CreditsEntry sCreditsEntry_RoyalNewZealandFederationBlind[] = { 0, FALSE, sCreditsText_RoyalNewZealandFederationBlind};
|
||||
static const struct CreditsEntry sCreditsEntry_MotoyasuTojima[] = { 0, FALSE, sCreditsText_MotoyasuTojima};
|
||||
static const struct CreditsEntry sCreditsEntry_NicolaPrattBarlow[] = { 0, FALSE, sCreditsText_NicolaPrattBarlow};
|
||||
static const struct CreditsEntry sCreditsEntry_ShellieDow[] = { 0, FALSE, sCreditsText_ShellieDow};
|
||||
static const struct CreditsEntry sCreditsEntry_ErikJohnson[] = { 0, FALSE, sCreditsText_ErikJohnson};
|
||||
#elif FRENCH
|
||||
static const struct CreditsEntry sCreditsEntry_EuropeanBlindUnion2[] = { 0, FALSE, sCreditsText_EuropeanBlindUnion2};
|
||||
static const struct CreditsEntry sCreditsEntry_MotoyasuTojima[] = { 0, FALSE, sCreditsText_MotoyasuTojima};
|
||||
static const struct CreditsEntry sCreditsEntry_NicolaPrattBarlow[] = { 0, FALSE, sCreditsText_NicolaPrattBarlow};
|
||||
static const struct CreditsEntry sCreditsEntry_ShellieDow[] = { 0, FALSE, sCreditsText_ShellieDow};
|
||||
static const struct CreditsEntry sCreditsEntry_ErikJohnson[] = { 0, FALSE, sCreditsText_ErikJohnson};
|
||||
// New
|
||||
static const struct CreditsEntry sCreditsEntry_NorikoNetley[] = { 0, FALSE, sCreditsText_NorikoNetley};
|
||||
static const struct CreditsEntry sCreditsEntry_PierreSanchez[] = { 0, FALSE, sCreditsText_PierreSanchez};
|
||||
static const struct CreditsEntry sCreditsEntry_SabrinaBretant[] = { 0, FALSE, sCreditsText_SabrinaBretant};
|
||||
static const struct CreditsEntry sCreditsEntry_ThomasFougeray[] = { 0, FALSE, sCreditsText_ThomasFougeray};
|
||||
static const struct CreditsEntry sCreditsEntry_AlessioDanieli[] = { 0, FALSE, sCreditsText_AlessioDanieli};
|
||||
static const struct CreditsEntry sCreditsEntry_NOETestingTeam[] = { 0, FALSE, sCreditsText_NOETestingTeam};
|
||||
static const struct CreditsEntry sCreditsEntry_StefanRomberg[] = { 0, FALSE, sCreditsText_StefanRomberg};
|
||||
static const struct CreditsEntry sCreditsEntry_MihoKozawa[] = { 0, FALSE, sCreditsText_MihoKozawa};
|
||||
static const struct CreditsEntry sCreditsEntry_ToshifumiSayama[] = { 0, FALSE, sCreditsText_ToshifumiSayama};
|
||||
static const struct CreditsEntry sCreditsEntry_HiroshiAkune[] = { 0, FALSE, sCreditsText_Hiroshi_Akune};
|
||||
#endif
|
||||
|
||||
#define _ sCreditsEntry_EmptyString
|
||||
static const struct CreditsEntry *const sCreditsEntryPointerTable[PAGE_COUNT][ENTRIES_PER_PAGE] =
|
||||
@@ -671,6 +729,7 @@ static const struct CreditsEntry *const sCreditsEntryPointerTable[PAGE_COUNT][EN
|
||||
sCreditsEntry_RetsujiNomoto,
|
||||
_,
|
||||
},
|
||||
#if ENGLISH
|
||||
[PAGE_ENGLISH_VERSION] = {
|
||||
_,
|
||||
sCreditsEntry_EnglishVersion,
|
||||
@@ -699,6 +758,29 @@ static const struct CreditsEntry *const sCreditsEntryPointerTable[PAGE_COUNT][EN
|
||||
_,
|
||||
_,
|
||||
},
|
||||
#elif FRENCH
|
||||
[PAGE_ENGLISH_VERSION] = {
|
||||
_,
|
||||
sCreditsEntry_EnglishVersion,
|
||||
sCreditsEntry_NorikoNetley,
|
||||
sCreditsEntry_HiroyukiUesugi,
|
||||
_,
|
||||
},
|
||||
[PAGE_TRANSLATOR] = {
|
||||
sCreditsEntry_Translator,
|
||||
sCreditsEntry_PierreSanchez,
|
||||
sCreditsEntry_SabrinaBretant,
|
||||
sCreditsEntry_ThomasFougeray,
|
||||
_,
|
||||
},
|
||||
[PAGE_NCL_COORDINATOR] = {
|
||||
_,
|
||||
sCreditsEntry_NCLCoordinator,
|
||||
sCreditsEntry_KimikoNakamichi,
|
||||
sCreditsEntry_HiroshiAkune,
|
||||
_,
|
||||
},
|
||||
#endif
|
||||
[PAGE_PROGRAMMERS_5] = {
|
||||
sCreditsEntry_Programmers,
|
||||
sCreditsEntry_TerukiMurakawa,
|
||||
@@ -720,6 +802,7 @@ static const struct CreditsEntry *const sCreditsEntryPointerTable[PAGE_COUNT][EN
|
||||
sCreditsEntry_KimikoNakamichi,
|
||||
_,
|
||||
},
|
||||
#if ENGLISH
|
||||
[PAGE_NOA_TESTING] = {
|
||||
sCreditsEntry_NOAProductTesting,
|
||||
sCreditsEntry_ThomasHertzog,
|
||||
@@ -748,6 +831,29 @@ static const struct CreditsEntry *const sCreditsEntryPointerTable[PAGE_COUNT][EN
|
||||
sCreditsEntry_NicolaPrattBarlow,
|
||||
sCreditsEntry_ShellieDow,
|
||||
},
|
||||
#elif FRENCH
|
||||
[PAGE_NOA_TESTING] = {
|
||||
_,
|
||||
sCreditsEntry_NOAProductTesting,
|
||||
sCreditsEntry_AlessioDanieli,
|
||||
sCreditsEntry_NOETestingTeam,
|
||||
_,
|
||||
},
|
||||
[PAGE_SPECIAL_THANKS_5] = {
|
||||
sCreditsEntry_SpecialThanks,
|
||||
sCreditsEntry_StefanRomberg,
|
||||
sCreditsEntry_MihoKozawa,
|
||||
sCreditsEntry_ToshifumiSayama,
|
||||
_,
|
||||
},
|
||||
[PAGE_SPECIAL_THANKS_6] = {
|
||||
_,
|
||||
sCreditsEntry_SpecialThanks,
|
||||
sCreditsEntry_EuropeanBlindUnion2,
|
||||
_,
|
||||
_,
|
||||
},
|
||||
#endif
|
||||
[PAGE_TASK_MANAGERS] = {
|
||||
_,
|
||||
sCreditsEntry_TaskManagers,
|
||||
|
||||
@@ -182,7 +182,11 @@ static void DetermineCyclingRoadResults(u32 numFrames, u8 numBikeCollisions)
|
||||
if (numFrames < 3600)
|
||||
{
|
||||
ConvertIntToDecimalStringN(gStringVar2, numFrames / 60, STR_CONV_MODE_RIGHT_ALIGN, 2);
|
||||
#if ENGLISH
|
||||
gStringVar2[2] = CHAR_PERIOD;
|
||||
#elif FRENCH
|
||||
gStringVar2[2] = CHAR_COMMA;
|
||||
#endif
|
||||
ConvertIntToDecimalStringN(&gStringVar2[3], ((numFrames % 60) * 100) / 60, STR_CONV_MODE_LEADING_ZEROS, 2);
|
||||
StringAppend(gStringVar2, gText_SpaceSeconds);
|
||||
}
|
||||
@@ -2139,6 +2143,15 @@ void BufferBattleTowerElevatorFloors(void)
|
||||
u16 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
|
||||
u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
|
||||
|
||||
#if FRENCH
|
||||
if (battleMode == FRONTIER_MODE_LINK_MULTIS)
|
||||
{
|
||||
gSpecialVar_0x8005 = 4;
|
||||
gSpecialVar_0x8006 = 5;
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (battleMode == FRONTIER_MODE_MULTIS && !FlagGet(FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER))
|
||||
{
|
||||
gSpecialVar_0x8005 = 5;
|
||||
|
||||
@@ -167,7 +167,9 @@ static void SpriteCB_PlayerHead(struct Sprite *);
|
||||
|
||||
static const u16 sMaleHead_Pal[] = INCBIN_U16("graphics/frontier_pass/map_heads.gbapal");
|
||||
static const u16 sFemaleHead_Pal[] = INCBIN_U16("graphics/frontier_pass/map_heads_female.gbapal");
|
||||
#if ENGLISH
|
||||
static const u32 sMapScreen_Gfx[] = INCBIN_U32("graphics/frontier_pass/map_screen.4bpp.lz");
|
||||
#endif
|
||||
static const u32 sCursor_Gfx[] = INCBIN_U32("graphics/frontier_pass/cursor.4bpp.lz");
|
||||
static const u32 sHeads_Gfx[] = INCBIN_U32("graphics/frontier_pass/map_heads.4bpp.lz");
|
||||
static const u32 sMapCursor_Gfx[] = INCBIN_U32("graphics/frontier_pass/map_cursor.4bpp.lz");
|
||||
@@ -1407,7 +1409,11 @@ static bool32 InitFrontierMap(void)
|
||||
InitWindows(sMapWindowTemplates);
|
||||
DeactivateAllTextPrinters();
|
||||
PrintOnFrontierMap();
|
||||
#if ENGLISH
|
||||
DecompressAndCopyTileDataToVram(1, sMapScreen_Gfx, 0, 0, 0);
|
||||
#elif FRENCH
|
||||
DecompressAndCopyTileDataToVram(1, gFrontierPassMapScreen_Gfx, 0, 0, 0);
|
||||
#endif
|
||||
break;
|
||||
case 5:
|
||||
if (FreeTempTileDataBuffersIfPossible())
|
||||
|
||||
@@ -1127,12 +1127,21 @@ static void ShowDomeResultsWindow(u8 battleMode)
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_Lv502, 8, 33, TEXT_SKIP_DRAW, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_OpenLv, 8, 97, TEXT_SKIP_DRAW, NULL);
|
||||
PrintHyphens(10);
|
||||
#if ENGLISH
|
||||
DomePrintPrevOrCurrentStreak(battleMode, FRONTIER_LVL_50, 64, 121, 33);
|
||||
PrintTwoStrings(gText_Record, gText_ClearStreak, gSaveBlock2Ptr->frontier.domeRecordWinStreaks[battleMode][FRONTIER_LVL_50], 64, 121, 49);
|
||||
PrintTwoStrings(gText_Total, gText_Championships, gSaveBlock2Ptr->frontier.domeTotalChampionships[battleMode][FRONTIER_LVL_50], 64, 112, 65);
|
||||
DomePrintPrevOrCurrentStreak(battleMode, FRONTIER_LVL_OPEN, 64, 121, 97);
|
||||
PrintTwoStrings(gText_Record, gText_ClearStreak, gSaveBlock2Ptr->frontier.domeRecordWinStreaks[battleMode][FRONTIER_LVL_OPEN], 64, 121, 113);
|
||||
PrintTwoStrings(gText_Total, gText_Championships, gSaveBlock2Ptr->frontier.domeTotalChampionships[battleMode][FRONTIER_LVL_OPEN], 64, 112, 129);
|
||||
#elif FRENCH
|
||||
DomePrintPrevOrCurrentStreak(battleMode, FRONTIER_LVL_50, 64, 153, 33);
|
||||
PrintTwoStrings(gText_Record, gText_ClearStreak, gSaveBlock2Ptr->frontier.domeRecordWinStreaks[battleMode][FRONTIER_LVL_50], 64, 153, 49);
|
||||
PrintTwoStrings(gText_Total, gText_Championships, gSaveBlock2Ptr->frontier.domeTotalChampionships[battleMode][FRONTIER_LVL_50], 64, 116, 65);
|
||||
DomePrintPrevOrCurrentStreak(battleMode, FRONTIER_LVL_OPEN, 64, 153, 97);
|
||||
PrintTwoStrings(gText_Record, gText_ClearStreak, gSaveBlock2Ptr->frontier.domeRecordWinStreaks[battleMode][FRONTIER_LVL_OPEN], 64, 153, 113);
|
||||
PrintTwoStrings(gText_Total, gText_Championships, gSaveBlock2Ptr->frontier.domeTotalChampionships[battleMode][FRONTIER_LVL_OPEN], 64, 116, 129);
|
||||
#endif
|
||||
PutWindowTilemap(gRecordsWindowId);
|
||||
CopyWindowToVram(gRecordsWindowId, COPYWIN_FULL);
|
||||
}
|
||||
@@ -1255,12 +1264,21 @@ static void ShowPikeResultsWindow(void)
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_Lv502, 8, 33, TEXT_SKIP_DRAW, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_OpenLv, 8, 97, TEXT_SKIP_DRAW, NULL);
|
||||
PrintHyphens(10);
|
||||
#if ENGLISH
|
||||
PikePrintPrevOrCurrentStreak(FRONTIER_LVL_50, 64, 114, 33);
|
||||
PikePrintCleared(gText_Record, gText_RoomsCleared, gSaveBlock2Ptr->frontier.pikeRecordStreaks[FRONTIER_LVL_50], 64, 114, 49);
|
||||
PikePrintCleared(gText_Total, gText_TimesCleared, gSaveBlock2Ptr->frontier.pikeTotalStreaks[FRONTIER_LVL_50], 64, 114, 65);
|
||||
PikePrintPrevOrCurrentStreak(FRONTIER_LVL_OPEN, 64, 114, 97);
|
||||
PikePrintCleared(gText_Record, gText_RoomsCleared, gSaveBlock2Ptr->frontier.pikeRecordStreaks[FRONTIER_LVL_OPEN], 64, 114, 113);
|
||||
PikePrintCleared(gText_Total, gText_TimesCleared, gSaveBlock2Ptr->frontier.pikeTotalStreaks[FRONTIER_LVL_OPEN], 64, 114, 129);
|
||||
#elif FRENCH
|
||||
PikePrintPrevOrCurrentStreak(FRONTIER_LVL_50, 64, 138, 33);
|
||||
PikePrintCleared(gText_Record, gText_RoomsCleared, gSaveBlock2Ptr->frontier.pikeRecordStreaks[FRONTIER_LVL_50], 64, 138, 49);
|
||||
PikePrintCleared(gText_Total, gText_TimesCleared, gSaveBlock2Ptr->frontier.pikeTotalStreaks[FRONTIER_LVL_50], 64, 118, 65);
|
||||
PikePrintPrevOrCurrentStreak(FRONTIER_LVL_OPEN, 64, 138, 97);
|
||||
PikePrintCleared(gText_Record, gText_RoomsCleared, gSaveBlock2Ptr->frontier.pikeRecordStreaks[FRONTIER_LVL_OPEN], 64, 138, 113);
|
||||
PikePrintCleared(gText_Total, gText_TimesCleared, gSaveBlock2Ptr->frontier.pikeTotalStreaks[FRONTIER_LVL_OPEN], 64, 118, 129);
|
||||
#endif
|
||||
PutWindowTilemap(gRecordsWindowId);
|
||||
CopyWindowToVram(gRecordsWindowId, COPYWIN_FULL);
|
||||
}
|
||||
@@ -1405,7 +1423,11 @@ static void ShowFactoryResultsWindow(u8 battleMode)
|
||||
|
||||
PrintAligned(gStringVar4, 0);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_Lv502, 8, 33, TEXT_SKIP_DRAW, NULL);
|
||||
#if ENGLISH
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_RentalSwap, 152, 33, TEXT_SKIP_DRAW, NULL);
|
||||
#elif FRENCH
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_RentalSwap, 158, 33, TEXT_SKIP_DRAW, NULL);
|
||||
#endif
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_OpenLv, 8, 97, TEXT_SKIP_DRAW, NULL);
|
||||
PrintHyphens(10);
|
||||
FactoryPrintPrevOrCurrentStreak(battleMode, FRONTIER_LVL_50, 8, 64, 158, 49);
|
||||
@@ -2474,7 +2496,11 @@ void CopyFrontierBrainTrainerName(u8 *dst)
|
||||
else
|
||||
facility = VarGet(VAR_FRONTIER_FACILITY);
|
||||
|
||||
#if ENGLISH
|
||||
for (i = 0; i < PLAYER_NAME_LENGTH; i++)
|
||||
#elif FRENCH
|
||||
for (i = 0; i < TRAINER_NAME_LENGTH + 1; i++)
|
||||
#endif
|
||||
dst[i] = gTrainers[sFrontierBrainTrainerIds[facility]].trainerName[i];
|
||||
|
||||
dst[i] = EOS;
|
||||
|
||||
@@ -146,7 +146,11 @@ static void Task_CloseBagMenu(u8);
|
||||
static u8 AddItemMessageWindow(u8);
|
||||
static void RemoveItemMessageWindow(u8);
|
||||
static void ReturnToItemList(u8);
|
||||
#if ENGLISH
|
||||
static void PrintItemQuantity(u8, s16);
|
||||
#elif FRENCH
|
||||
static void PrintItemQuantity(u8, s16, u32);
|
||||
#endif
|
||||
static u8 BagMenu_AddWindow(u8);
|
||||
static u8 GetSwitchBagPocketDirection(void);
|
||||
static void SwitchBagPocket(u8, s16, bool16);
|
||||
@@ -275,7 +279,11 @@ static const struct MenuAction sItemMenuActions[] = {
|
||||
[ACTION_WALK] = {gMenuText_Walk, ItemMenu_UseOutOfBattle},
|
||||
[ACTION_DESELECT] = {gMenuText_Deselect, ItemMenu_Register},
|
||||
[ACTION_CHECK_TAG] = {gMenuText_CheckTag, ItemMenu_CheckTag},
|
||||
#if ENGLISH
|
||||
[ACTION_CONFIRM] = {gMenuText_Confirm, Task_FadeAndCloseBagMenu},
|
||||
#elif FRENCH
|
||||
[ACTION_CONFIRM] = {gMenuText_Confirm2, Task_FadeAndCloseBagMenu},
|
||||
#endif
|
||||
[ACTION_SHOW] = {gMenuText_Show, ItemMenu_Show},
|
||||
[ACTION_GIVE_FAVOR_LADY] = {gMenuText_Give2, ItemMenu_GiveFavorLady},
|
||||
[ACTION_CONFIRM_QUIZ_LADY] = {gMenuText_Confirm, ItemMenu_ConfirmQuizLady},
|
||||
@@ -323,8 +331,14 @@ static const u8 sContextMenuItems_Cancel[] = {
|
||||
};
|
||||
|
||||
static const u8 sContextMenuItems_BerryBlenderCrush[] = {
|
||||
#if ENGLISH
|
||||
ACTION_CONFIRM, ACTION_CHECK_TAG,
|
||||
ACTION_DUMMY, ACTION_CANCEL
|
||||
#elif FRENCH
|
||||
ACTION_CONFIRM, ACTION_DUMMY,
|
||||
ACTION_CHECK_TAG, ACTION_DUMMY,
|
||||
ACTION_CANCEL, ACTION_DUMMY
|
||||
#endif
|
||||
};
|
||||
|
||||
static const u8 sContextMenuItems_Apprentice[] = {
|
||||
@@ -1187,15 +1201,29 @@ void CloseItemMessage(u8 taskId)
|
||||
|
||||
static void AddItemQuantityWindow(u8 windowType)
|
||||
{
|
||||
#if ENGLISH
|
||||
PrintItemQuantity(BagMenu_AddWindow(windowType), 1);
|
||||
#elif FRENCH
|
||||
u32 windowId = BagMenu_AddWindow(windowType);
|
||||
PrintItemQuantity(windowId, 1, TEXT_SKIP_DRAW);
|
||||
CopyWindowToVram(windowId, 3);
|
||||
#endif
|
||||
}
|
||||
|
||||
#if ENGLISH
|
||||
static void PrintItemQuantity(u8 windowId, s16 quantity)
|
||||
#elif FRENCH
|
||||
static void PrintItemQuantity(u8 windowId, s16 quantity, u32 speed)
|
||||
#endif
|
||||
{
|
||||
u8 numDigits = (gBagPosition.pocket == BERRIES_POCKET) ? BERRY_CAPACITY_DIGITS : BAG_ITEM_CAPACITY_DIGITS;
|
||||
ConvertIntToDecimalStringN(gStringVar1, quantity, STR_CONV_MODE_LEADING_ZEROS, numDigits);
|
||||
StringExpandPlaceholders(gStringVar4, gText_xVar1);
|
||||
#if ENGLISH
|
||||
AddTextPrinterParameterized(windowId, FONT_NORMAL, gStringVar4, GetStringCenterAlignXOffset(FONT_NORMAL, gStringVar4, 40), 2, 0, 0);
|
||||
#elif FRENCH
|
||||
AddTextPrinterParameterized(windowId, FONT_NORMAL, gStringVar4, GetStringCenterAlignXOffset(FONT_NORMAL, gStringVar4, 40), 2, speed, NULL);
|
||||
#endif
|
||||
}
|
||||
|
||||
// Prints the quantity of items to be sold and the amount that would be earned
|
||||
@@ -1852,7 +1880,11 @@ static void Task_ChooseHowManyToToss(u8 taskId)
|
||||
|
||||
if (AdjustQuantityAccordingToDPadInput(&tItemCount, tQuantity) == TRUE)
|
||||
{
|
||||
#if ENGLISH
|
||||
PrintItemQuantity(gBagMenu->windowIds[ITEMWIN_QUANTITY], tItemCount);
|
||||
#elif FRENCH
|
||||
PrintItemQuantity(gBagMenu->windowIds[ITEMWIN_QUANTITY], tItemCount, 0);
|
||||
#endif
|
||||
}
|
||||
else if (JOY_NEW(A_BUTTON))
|
||||
{
|
||||
@@ -2215,7 +2247,11 @@ static void Task_ChooseHowManyToDeposit(u8 taskId)
|
||||
|
||||
if (AdjustQuantityAccordingToDPadInput(&tItemCount, tQuantity) == TRUE)
|
||||
{
|
||||
#if ENGLISH
|
||||
PrintItemQuantity(gBagMenu->windowIds[ITEMWIN_QUANTITY], tItemCount);
|
||||
#elif FRENCH
|
||||
PrintItemQuantity(gBagMenu->windowIds[ITEMWIN_QUANTITY], tItemCount, 0);
|
||||
#endif
|
||||
}
|
||||
else if (JOY_NEW(A_BUTTON))
|
||||
{
|
||||
@@ -2528,7 +2564,11 @@ static void DisplayCurrentMoneyWindow(void)
|
||||
{
|
||||
u8 windowId = BagMenu_AddWindow(ITEMWIN_MONEY);
|
||||
PrintMoneyAmountInMoneyBoxWithBorder(windowId, 1, 14, GetMoney(&gSaveBlock1Ptr->money));
|
||||
#if ENGLISH
|
||||
AddMoneyLabelObject(19, 11);
|
||||
#elif FRENCH
|
||||
AddMoneyLabelObject(24, 11);
|
||||
#endif
|
||||
}
|
||||
|
||||
static void RemoveMoneyWindow(void)
|
||||
|
||||
@@ -15,6 +15,7 @@ struct LandmarkList
|
||||
const struct Landmark *const *landmarks;
|
||||
};
|
||||
|
||||
#if ENGLISH
|
||||
static const u8 LandmarkName_FlowerShop[] = _("FLOWER SHOP");
|
||||
static const u8 LandmarkName_PetalburgWoods[] = _("PETALBURG WOODS");
|
||||
static const u8 LandmarkName_MrBrineysCottage[] = _("MR. BRINEY'S COTTAGE");
|
||||
@@ -57,6 +58,50 @@ static const u8 LandmarkName_MirageTower[] = _("MIRAGE TOWER");
|
||||
static const u8 LandmarkName_AlteringCave[] = _("ALTERING CAVE");
|
||||
static const u8 LandmarkName_DesertUnderpass[] = _("DESERT UNDERPASS");
|
||||
static const u8 LandmarkName_TrainerHill[] = _("TRAINER HILL");
|
||||
#elif FRENCH
|
||||
static const u8 LandmarkName_FlowerShop[] = _("FLEURISTE");
|
||||
static const u8 LandmarkName_PetalburgWoods[] = _("BOIS CLEMENTI");
|
||||
static const u8 LandmarkName_MrBrineysCottage[] = _("COTTAGE DE M. MARCO");
|
||||
static const u8 LandmarkName_AbandonedShip[] = _("EPAVE");
|
||||
static const u8 LandmarkName_SeashoreHouse[] = _("MAISON DU BORD DE MER");
|
||||
static const u8 LandmarkName_SlateportBeach[] = _("PLAGE POIVRESSEL");
|
||||
static const u8 LandmarkName_CyclingRoad[] = _("PISTE CYCLABLE");
|
||||
static const u8 LandmarkName_NewMauville[] = _("NEW LAVANDIA");
|
||||
static const u8 LandmarkName_TrickHouse[] = _("MAISON DES PIEGES");
|
||||
static const u8 LandmarkName_OldLadysRestShop[] = _("GITE VIEILLE DAME");
|
||||
static const u8 LandmarkName_Desert[] = _("DESERT");
|
||||
static const u8 LandmarkName_WinstrateFamily[] = _("FAMILLE STRATEGE");
|
||||
static const u8 LandmarkName_CableCar[] = _("TELEPHERIQUE");
|
||||
static const u8 LandmarkName_GlassWorkshop[] = _("ATELIER DU VERRE");
|
||||
static const u8 LandmarkName_WeatherInstitute[] = _("CENTRE METEO");
|
||||
static const u8 LandmarkName_MeteorFalls[] = _("SITE METEORE");
|
||||
static const u8 LandmarkName_TunnelersRestHouse[] = _("REFUGE DES FOREURS");
|
||||
static const u8 LandmarkName_RusturfTunnel[] = _("TUNNEL MERAZON");
|
||||
static const u8 LandmarkName_PokemonDayCare[] = _("PENSION POKéMON");
|
||||
static const u8 LandmarkName_SafariZoneEntrance[] = _("ENTREE PARC SAFARI");
|
||||
static const u8 LandmarkName_MtPyre[] = _("MONT MEMORIA");
|
||||
static const u8 LandmarkName_ShoalCave[] = _("GROTTE TREFONDS");
|
||||
static const u8 LandmarkName_SeafloorCavern[] = _("CAVERNE FONDMER");
|
||||
static const u8 LandmarkName_GraniteCave[] = _("GROTTE GRANITE");
|
||||
static const u8 LandmarkName_OceanCurrent[] = _("COURANT OCEANIQUE");
|
||||
static const u8 LandmarkName_LanettesHouse[] = _("MAISON D’ANNETTE");
|
||||
static const u8 LandmarkName_FieryPath[] = _("CHEMIN ARDENT");
|
||||
static const u8 LandmarkName_JaggedPass[] = _("SENTIER SINUROC");
|
||||
static const u8 LandmarkName_SkyPillar[] = _("PILIER CELESTE");
|
||||
static const u8 LandmarkName_BerryMastersHouse[] = _("MAITRE DES BAIES");
|
||||
static const u8 LandmarkName_IslandCave[] = _("GROTTE ISLAND");
|
||||
static const u8 LandmarkName_DesertRuins[] = _("RUINES DESERT");
|
||||
static const u8 LandmarkName_ScorchedSlab[] = _("GROTTE ZENITH");
|
||||
static const u8 LandmarkName_AncientTomb[] = _("TOMBEAU ANTIQUE");
|
||||
static const u8 LandmarkName_SealedChamber[] = _("SANCTUAIRE");
|
||||
static const u8 LandmarkName_FossilManiacsHouse[] = _("MANIAQUE DES FOSSILES");
|
||||
static const u8 LandmarkName_HuntersHouse[] = _("CHERCHEUR DE TRESORS");
|
||||
static const u8 LandmarkName_MagmaHideout[] = _("PLANQUE MAGMA");
|
||||
static const u8 LandmarkName_MirageTower[] = _("TOUR MIRAGE");
|
||||
static const u8 LandmarkName_AlteringCave[] = _("GROTTE METAMO");
|
||||
static const u8 LandmarkName_DesertUnderpass[] = _("VOIE DU DESERT");
|
||||
static const u8 LandmarkName_TrainerHill[] = _("MONT DRESSEURS");
|
||||
#endif
|
||||
|
||||
static const struct Landmark Landmark_FlowerShop = {LandmarkName_FlowerShop, FLAG_LANDMARK_FLOWER_SHOP};
|
||||
static const struct Landmark Landmark_PetalburgWoods = {LandmarkName_PetalburgWoods, -1};
|
||||
|
||||
@@ -396,7 +396,11 @@ static u8 BufferQuizAuthorName(void)
|
||||
sQuizLadyPtr = &gSaveBlock1Ptr->lilycoveLady.quiz;
|
||||
if (sQuizLadyPtr->playerName[0] == EOS)
|
||||
{
|
||||
#if ENGLISH
|
||||
StringCopy_PlayerName(gStringVar1, gText_QuizLady_Lady);
|
||||
#elif FRENCH
|
||||
StringCopy(gStringVar1, gText_QuizLady_Lady);
|
||||
#endif
|
||||
authorNameId = QUIZ_AUTHOR_NAME_LADY;
|
||||
}
|
||||
else
|
||||
|
||||
@@ -33,9 +33,13 @@ static void IntrDummy(void);
|
||||
|
||||
const u8 gGameVersion = GAME_VERSION;
|
||||
|
||||
const u8 gGameLanguage = GAME_LANGUAGE; // English
|
||||
const u8 gGameLanguage = GAME_LANGUAGE;
|
||||
|
||||
#if ENGLISH
|
||||
const char BuildDateTime[] = "2005 02 21 11:10";
|
||||
#elif FRENCH
|
||||
const char BuildDateTime[] = "2005 07 01 18:30";
|
||||
#endif
|
||||
|
||||
const IntrFunc gIntrTableTemplate[] =
|
||||
{
|
||||
|
||||
@@ -38,12 +38,21 @@ static EWRAM_DATA struct MauvilleManStoryteller * sStorytellerPtr = NULL;
|
||||
static EWRAM_DATA u8 sStorytellerWindowId = 0;
|
||||
|
||||
static const u16 sDefaultBardSongLyrics[BARD_SONG_LENGTH] = {
|
||||
#if ENGLISH
|
||||
EC_WORD_SHAKE,
|
||||
EC_WORD_IT,
|
||||
EC_WORD_DO,
|
||||
EC_WORD_THE,
|
||||
EC_WORD_DIET,
|
||||
EC_WORD_DANCE
|
||||
#elif FRENCH
|
||||
EC_WORD_FEELING,
|
||||
EC_WORD_DIET,
|
||||
EC_WORD_IT_S,
|
||||
EC_EMPTY_WORD,
|
||||
EC_WORD_COOL,
|
||||
EC_EMPTY_WORD
|
||||
#endif
|
||||
};
|
||||
|
||||
static const u8 * const sGiddyAdjectives[] = {
|
||||
|
||||
@@ -46,7 +46,11 @@ static const struct WindowTemplate sWindowTemplates_MailboxMenu[MAILBOXWIN_COUNT
|
||||
.bg = 0,
|
||||
.tilemapLeft = 1,
|
||||
.tilemapTop = 1,
|
||||
#if ENGLISH
|
||||
.width = 8,
|
||||
#elif FRENCH
|
||||
.width = 24,
|
||||
#endif
|
||||
.height = 2,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x8
|
||||
@@ -58,7 +62,11 @@ static const struct WindowTemplate sWindowTemplates_MailboxMenu[MAILBOXWIN_COUNT
|
||||
.width = 8,
|
||||
.height = 18,
|
||||
.paletteNum = 15,
|
||||
#if ENGLISH
|
||||
.baseBlock = 0x18
|
||||
#elif FRENCH
|
||||
.baseBlock = 0x38
|
||||
#endif
|
||||
},
|
||||
[MAILBOXWIN_OPTIONS] = {
|
||||
.bg = 0,
|
||||
@@ -67,7 +75,11 @@ static const struct WindowTemplate sWindowTemplates_MailboxMenu[MAILBOXWIN_COUNT
|
||||
.width = 11,
|
||||
.height = 8,
|
||||
.paletteNum = 15,
|
||||
#if ENGLISH
|
||||
.baseBlock = 0x18
|
||||
#elif FRENCH
|
||||
.baseBlock = 0x38
|
||||
#endif
|
||||
}
|
||||
};
|
||||
|
||||
@@ -219,7 +231,16 @@ u8 MailboxMenu_AddWindow(u8 windowIdx)
|
||||
template.width = GetMaxWidthInMenuTable(&gMailboxMailOptions[0], 4);
|
||||
sMailboxWindowIds[windowIdx] = AddWindow(&template);
|
||||
}
|
||||
else // MAILBOXWIN_TITLE or MAILBOXWIN_LIST
|
||||
#if FRENCH
|
||||
else if (windowIdx == MAILBOXWIN_TITLE)
|
||||
{
|
||||
struct WindowTemplate template = sWindowTemplates_MailboxMenu[windowIdx];
|
||||
s32 width = GetStringWidth(FONT_NORMAL, gText_Mailbox, 0) + 9;
|
||||
template.width = (width / 8) + 2;
|
||||
sMailboxWindowIds[windowIdx] = AddWindow(&template);
|
||||
}
|
||||
#endif
|
||||
else // MAILBOXWIN_TITLE or MAILBOXWIN_LIST in English. MAILBOXWIN_LIST in French.
|
||||
{
|
||||
sMailboxWindowIds[windowIdx] = AddWindow(&sWindowTemplates_MailboxMenu[windowIdx]);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
#include "global.h"
|
||||
#include "decompress.h"
|
||||
#if FRENCH
|
||||
#include "graphics.h"
|
||||
#endif
|
||||
#include "link.h"
|
||||
#include "link_rfu.h"
|
||||
#include "sound.h"
|
||||
@@ -374,8 +377,10 @@ static void CreateStartSprite(u16 tileTag, u16 palTag, s16 x, s16 y, u8 subprior
|
||||
static void InitStartGraphic(u8 spriteId1, u8 spriteId2, u8 spriteId3);
|
||||
static void SpriteCB_Start(struct Sprite *sprite);
|
||||
|
||||
#if ENGLISH
|
||||
static const u16 s321Start_Pal[] = INCBIN_U16("graphics/link/321start.gbapal");
|
||||
static const u32 s321Start_Gfx[] = INCBIN_U32("graphics/link/321start.4bpp.lz");
|
||||
#endif
|
||||
|
||||
#define tState data[0]
|
||||
#define tTilesTag data[2]
|
||||
@@ -603,8 +608,13 @@ static void SpriteCB_Start(struct Sprite *sprite)
|
||||
|
||||
static void Load321StartGfx(u16 tileTag, u16 palTag)
|
||||
{
|
||||
#if ENGLISH
|
||||
struct CompressedSpriteSheet spriteSheet = {s321Start_Gfx, 0xE00, 0};
|
||||
struct SpritePalette spritePalette = {s321Start_Pal, 0};
|
||||
#elif FRENCH
|
||||
struct CompressedSpriteSheet spriteSheet = {g321Start_Gfx, 0xE00, 0};
|
||||
struct SpritePalette spritePalette = {g321Start_Pal, 0};
|
||||
#endif
|
||||
|
||||
spriteSheet.tag = tileTag;
|
||||
spritePalette.tag = palTag;
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#include "global.h"
|
||||
|
||||
#if ENGLISH
|
||||
const u8 gText_MysteryEventBerry[] = _("Obtained a {STR_VAR_2} BERRY!\nDad has it at PETALBURG GYM.");
|
||||
const u8 gText_MysteryEventBerryTransform[] = _("The {STR_VAR_1} BERRY transformed into\none {STR_VAR_2} BERRY.");
|
||||
const u8 gText_MysteryEventBerryObtained[] = _("The {STR_VAR_1} BERRY has already been\nobtained.");
|
||||
@@ -9,5 +10,19 @@ const u8 gText_MysteryEventRareWord[] = _("A rare word has been added.");
|
||||
const u8 gText_MysteryEventSentOver[] = _("{STR_VAR_1} was sent over!");
|
||||
const u8 gText_MysteryEventFullParty[] = _("Your party is full.\n{STR_VAR_1} could not be sent over.");
|
||||
const u8 gText_MysteryEventNewTrainer[] = _("A new TRAINER has arrived in\nHOENN.");
|
||||
const u8 gText_MysteryEventNewAdversaryInBattleTower[] = _("A new adversary has arrived in the\nBATTLE TOWER.");
|
||||
static const u8 gText_MysteryEventNewAdversaryInBattleTower[] = _("A new adversary has arrived in the\nBATTLE TOWER."); // Unused
|
||||
const u8 gText_MysteryEventCantBeUsed[] = _("This data can't be used in\nthis version.");
|
||||
#elif FRENCH
|
||||
ALIGNED(4)
|
||||
const u8 gText_MysteryEventBerry[] = _("Tu as obtenu une BAIE {STR_VAR_2}!\nPapa en a une à l’ARENE de CLEMENTI.");
|
||||
const u8 gText_MysteryEventBerryTransform[] = _("La BAIE {STR_VAR_1} s’est transformée en\nune BAIE {STR_VAR_2}.");
|
||||
const u8 gText_MysteryEventBerryObtained[] = _("Tu avais déjà obtenu la BAIE\n{STR_VAR_1}.");
|
||||
const u8 gText_MysteryEventSpecialRibbon[] = _("Un RUBAN spécial a été remis au\nPOKéMON de ton équipe.");
|
||||
const u8 gText_MysteryEventNationalDex[] = _("Tu peux maintenant accéder au\nMODE NATIONAL dans ton POKéDEX.");
|
||||
const u8 gText_MysteryEventRareWord[] = _("Un mot rare a été ajouté.");
|
||||
const u8 gText_MysteryEventSentOver[] = _("{STR_VAR_1} a été envoyé!");
|
||||
const u8 gText_MysteryEventFullParty[] = _("Ton équipe est complète.\n{STR_VAR_1} ne peut pas être envoyé.");
|
||||
const u8 gText_MysteryEventNewTrainer[] = _("Un nouveau DRESSEUR est arrivé\ndans la région de HOENN.");
|
||||
static const u8 gText_MysteryEventNewAdversaryInBattleTower[] = _("A new adversary has arrived in the\nBATTLE TOWER."); // Unused
|
||||
const u8 gText_MysteryEventCantBeUsed[] = _("Ces données ne peuvent être utilisées\ndans cette version.");
|
||||
#endif
|
||||
@@ -3,7 +3,11 @@
|
||||
#include "mystery_gift_server.h"
|
||||
#include "mystery_gift.h"
|
||||
|
||||
#if ENGLISH
|
||||
static const u8 sText_CanceledReadingCard[] = _("Canceled reading\nthe Card.");
|
||||
#elif FRENCH
|
||||
static const u8 sText_CanceledReadingCard[] = _("Annuler la lecture\nde la carte.");
|
||||
#endif
|
||||
|
||||
|
||||
//==================
|
||||
|
||||
@@ -312,7 +312,11 @@ static const struct WindowTemplate sWindowTemplates[] =
|
||||
.bg = 0,
|
||||
.tilemapLeft = 2,
|
||||
.tilemapTop = 1,
|
||||
#if ENGLISH
|
||||
.width = 9,
|
||||
#elif FRENCH
|
||||
.width = 10,
|
||||
#endif
|
||||
.height = 2,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x1E
|
||||
@@ -324,7 +328,11 @@ static const struct WindowTemplate sWindowTemplates[] =
|
||||
.width = 14,
|
||||
.height = 18,
|
||||
.paletteNum = 15,
|
||||
#if ENGLISH
|
||||
.baseBlock = 0x30
|
||||
#elif FRENCH
|
||||
.baseBlock = 0x32
|
||||
#endif
|
||||
},
|
||||
[WIN_SPICY] = {
|
||||
.bg = 0,
|
||||
@@ -333,7 +341,11 @@ static const struct WindowTemplate sWindowTemplates[] =
|
||||
.width = 5,
|
||||
.height = 2,
|
||||
.paletteNum = 15,
|
||||
#if ENGLISH
|
||||
.baseBlock = 0x12C
|
||||
#elif FRENCH
|
||||
.baseBlock = 0x12E
|
||||
#endif
|
||||
},
|
||||
[WIN_DRY] = {
|
||||
.bg = 0,
|
||||
@@ -342,7 +354,11 @@ static const struct WindowTemplate sWindowTemplates[] =
|
||||
.width = 5,
|
||||
.height = 2,
|
||||
.paletteNum = 15,
|
||||
#if ENGLISH
|
||||
.baseBlock = 0x136
|
||||
#elif FRENCH
|
||||
.baseBlock = 0x138
|
||||
#endif
|
||||
},
|
||||
[WIN_SWEET] = {
|
||||
.bg = 0,
|
||||
@@ -351,7 +367,11 @@ static const struct WindowTemplate sWindowTemplates[] =
|
||||
.width = 5,
|
||||
.height = 2,
|
||||
.paletteNum = 15,
|
||||
#if ENGLISH
|
||||
.baseBlock = 0x140
|
||||
#elif FRENCH
|
||||
.baseBlock = 0x142
|
||||
#endif
|
||||
},
|
||||
[WIN_BITTER] = {
|
||||
.bg = 0,
|
||||
@@ -360,7 +380,11 @@ static const struct WindowTemplate sWindowTemplates[] =
|
||||
.width = 5,
|
||||
.height = 2,
|
||||
.paletteNum = 15,
|
||||
#if ENGLISH
|
||||
.baseBlock = 0x14A
|
||||
#elif FRENCH
|
||||
.baseBlock = 0x14C
|
||||
#endif
|
||||
},
|
||||
[WIN_SOUR] = {
|
||||
.bg = 0,
|
||||
@@ -369,7 +393,11 @@ static const struct WindowTemplate sWindowTemplates[] =
|
||||
.width = 5,
|
||||
.height = 2,
|
||||
.paletteNum = 15,
|
||||
#if ENGLISH
|
||||
.baseBlock = 0x154
|
||||
#elif FRENCH
|
||||
.baseBlock = 0x156
|
||||
#endif
|
||||
},
|
||||
[WIN_FEEL] = {
|
||||
.bg = 0,
|
||||
@@ -378,7 +406,11 @@ static const struct WindowTemplate sWindowTemplates[] =
|
||||
.width = 2,
|
||||
.height = 2,
|
||||
.paletteNum = 15,
|
||||
#if ENGLISH
|
||||
.baseBlock = 0x15E
|
||||
#elif FRENCH
|
||||
.baseBlock = 0x160
|
||||
#endif
|
||||
},
|
||||
[WIN_ACTIONS_TALL] = {
|
||||
.bg = 1,
|
||||
@@ -387,7 +419,11 @@ static const struct WindowTemplate sWindowTemplates[] =
|
||||
.width = 6,
|
||||
.height = 6,
|
||||
.paletteNum = 15,
|
||||
#if ENGLISH
|
||||
.baseBlock = 0x162
|
||||
#elif FRENCH
|
||||
.baseBlock = 0x164
|
||||
#endif
|
||||
},
|
||||
[WIN_ACTIONS] = {
|
||||
.bg = 1,
|
||||
@@ -396,7 +432,11 @@ static const struct WindowTemplate sWindowTemplates[] =
|
||||
.width = 6,
|
||||
.height = 4,
|
||||
.paletteNum = 15,
|
||||
#if ENGLISH
|
||||
.baseBlock = 0x186
|
||||
#elif FRENCH
|
||||
.baseBlock = 0x188
|
||||
#endif
|
||||
},
|
||||
[WIN_TOSS_MSG] = {
|
||||
.bg = 1,
|
||||
@@ -405,7 +445,11 @@ static const struct WindowTemplate sWindowTemplates[] =
|
||||
.width = 27,
|
||||
.height = 4,
|
||||
.paletteNum = 15,
|
||||
#if ENGLISH
|
||||
.baseBlock = 0x19E
|
||||
#elif FRENCH
|
||||
.baseBlock = 0x1A0
|
||||
#endif
|
||||
},
|
||||
DUMMY_WIN_TEMPLATE
|
||||
};
|
||||
@@ -418,7 +462,11 @@ static const struct WindowTemplate sTossPkblockWindowTemplate =
|
||||
.width = 5,
|
||||
.height = 4,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x20A
|
||||
#if ENGLISH
|
||||
.baseBlock = 0x20A
|
||||
#elif FRENCH
|
||||
.baseBlock = 0x20C
|
||||
#endif
|
||||
};
|
||||
|
||||
static const struct ListMenuTemplate sPokeblockListMenuTemplate =
|
||||
@@ -700,7 +748,12 @@ static void DrawPokeblockMenuTitleText(void)
|
||||
u8 i;
|
||||
|
||||
const u8 *itemName = ItemId_GetName(ITEM_POKEBLOCK_CASE);
|
||||
|
||||
#if ENGLISH
|
||||
PrintOnPokeblockWindow(WIN_TITLE, itemName, GetStringCenterAlignXOffset(FONT_NORMAL, itemName, 72));
|
||||
#elif FRENCH
|
||||
PrintOnPokeblockWindow(WIN_TITLE, itemName, GetStringCenterAlignXOffset(FONT_NORMAL, itemName, 80));
|
||||
#endif
|
||||
|
||||
PrintOnPokeblockWindow(WIN_SPICY, gText_Spicy, 0);
|
||||
PrintOnPokeblockWindow(WIN_DRY, gText_Dry, 0);
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
#include "global.h"
|
||||
#include "bg.h"
|
||||
#if FRENCH
|
||||
#include "graphics.h"
|
||||
#endif
|
||||
#include "m4a.h"
|
||||
#include "main.h"
|
||||
#include "malloc.h"
|
||||
@@ -69,8 +72,10 @@ static const u16 sCryMeterNeedle_Pal[] = INCBIN_U16("graphics/pokedex/cry_meter_
|
||||
static const u8 sCryMeterNeedle_Gfx[] = INCBIN_U8("graphics/pokedex/cry_meter_needle.4bpp");
|
||||
|
||||
static const u16 sCryMeter_Tilemap[] = INCBIN_U16("graphics/pokedex/cry_meter_map.bin"); // Unused
|
||||
#if ENGLISH
|
||||
static const u16 sCryMeter_Pal[] = INCBIN_U16("graphics/pokedex/cry_meter.gbapal");
|
||||
static const u8 sCryMeter_Gfx[] = INCBIN_U8("graphics/pokedex/cry_meter.4bpp.lz");
|
||||
#endif
|
||||
|
||||
static const u16 sWaveformOffsets[][72] =
|
||||
{
|
||||
@@ -457,8 +462,13 @@ bool8 LoadCryMeter(struct CryScreenWindow *window, u8 windowId)
|
||||
if (!sCryMeterNeedle)
|
||||
sCryMeterNeedle = AllocZeroed(sizeof(*sCryMeterNeedle));
|
||||
|
||||
#if ENGLISH
|
||||
CopyToWindowPixelBuffer(windowId, sCryMeter_Gfx, 0, 0);
|
||||
LoadPalette(sCryMeter_Pal, window->paletteNo * 16, 32);
|
||||
#elif FRENCH
|
||||
CopyToWindowPixelBuffer(windowId, gCryMeter_Gfx, 0, 0);
|
||||
LoadPalette(gCryMeter_Pal, window->paletteNo * 16, 32);
|
||||
#endif
|
||||
gDexCryScreenState++;
|
||||
break;
|
||||
case 1:
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
#include "global.h"
|
||||
#include "pokenav.h"
|
||||
#include "bg.h"
|
||||
#if FRENCH
|
||||
#include "graphics.h"
|
||||
#endif
|
||||
#include "menu.h"
|
||||
#include "window.h"
|
||||
#include "sound.h"
|
||||
@@ -76,9 +79,11 @@ static const LoopedTask sConditionSearchLoopedTaskFuncs[] =
|
||||
ConvertConditionsToListRanks
|
||||
};
|
||||
|
||||
#if ENGLISH
|
||||
static const u16 sConditionSearchResultFramePal[] = INCBIN_U16("graphics/pokenav/condition/search_results.gbapal");
|
||||
static const u32 sConditionSearchResultTiles[] = INCBIN_U32("graphics/pokenav/condition/search_results.4bpp.lz");
|
||||
static const u32 sConditionSearchResultTilemap[] = INCBIN_U32("graphics/pokenav/condition/search_results.bin.lz");
|
||||
#endif
|
||||
static const u16 sListBg_Pal[] = INCBIN_U16("graphics/pokenav/condition/search_results_list.gbapal");
|
||||
|
||||
static const struct BgTemplate sConditionSearchResultBgTemplates[] =
|
||||
@@ -427,11 +432,19 @@ static u32 LoopedTask_OpenConditionSearchResults(s32 state)
|
||||
{
|
||||
case 0:
|
||||
InitBgTemplates(sConditionSearchResultBgTemplates, ARRAY_COUNT(sConditionSearchResultBgTemplates));
|
||||
#if ENGLISH
|
||||
DecompressAndCopyTileDataToVram(1, sConditionSearchResultTiles, 0, 0, 0);
|
||||
SetBgTilemapBuffer(1, gfx->buff);
|
||||
CopyToBgTilemapBuffer(1, sConditionSearchResultTilemap, 0, 0);
|
||||
CopyBgTilemapBufferToVram(1);
|
||||
CopyPaletteIntoBufferUnfaded(sConditionSearchResultFramePal, 0x10, 0x20);
|
||||
#elif FRENCH
|
||||
DecompressAndCopyTileDataToVram(1, gConditionSearchResultTiles, 0, 0, 0);
|
||||
SetBgTilemapBuffer(1, gfx->buff);
|
||||
CopyToBgTilemapBuffer(1, gConditionSearchResultTilemap, 0, 0);
|
||||
CopyBgTilemapBufferToVram(1);
|
||||
CopyPaletteIntoBufferUnfaded(gConditionSearchResultFramePal, 0x10, 0x20);
|
||||
#endif
|
||||
CopyBgTilemapBufferToVram(1);
|
||||
return LT_INC_AND_PAUSE;
|
||||
case 1:
|
||||
@@ -676,8 +689,13 @@ static void CreateSearchResultsList(void)
|
||||
template.count = GetSearchResultsMonListCount();
|
||||
template.itemSize = sizeof(struct PokenavListItem);
|
||||
template.startIndex = GetSearchResultsCurrentListIndex();
|
||||
#if ENGLISH
|
||||
template.item_X = 13;
|
||||
template.windowWidth = 17;
|
||||
#elif FRENCH
|
||||
template.item_X = 12;
|
||||
template.windowWidth = 18;
|
||||
#endif
|
||||
template.listTop = 1;
|
||||
template.maxShowed = 8;
|
||||
template.fillValue = 2;
|
||||
|
||||
@@ -224,7 +224,11 @@ static u32 LoopedTask_PrintListItems(s32 state)
|
||||
if (listSub->iconDrawFunc != NULL)
|
||||
listSub->iconDrawFunc(listSub->listWindow.windowId, listSub->printIndex, row);
|
||||
|
||||
#if ENGLISH
|
||||
AddTextPrinterParameterized(listSub->listWindow.windowId, listSub->listWindow.fontId, listSub->itemTextBuffer, 8, (row << 4) + 1, TEXT_SKIP_DRAW, NULL);
|
||||
#elif FRENCH
|
||||
AddTextPrinterParameterized(listSub->listWindow.windowId, listSub->listWindow.fontId, listSub->itemTextBuffer, 10, (row << 4) + 1, TEXT_SKIP_DRAW, NULL);
|
||||
#endif
|
||||
if (++listSub->listWindow.numPrinted >= listSub->listWindow.numToPrint)
|
||||
{
|
||||
// Finished printing items. If icons were being drawn, draw the
|
||||
@@ -714,7 +718,11 @@ static void PrintCheckPageTrainerName(struct PokenavListWindowState *state, stru
|
||||
list->bufferItemFunc(state->listPtr + state->listItemSize * state->windowTopIndex, list->itemTextBuffer);
|
||||
list->iconDrawFunc(list->listWindow.windowId, state->windowTopIndex, list->listWindow.unkA);
|
||||
FillWindowPixelRect(list->listWindow.windowId, PIXEL_FILL(4), 0, list->listWindow.unkA * 16, list->listWindow.width * 8, 16);
|
||||
#if ENGLISH
|
||||
AddTextPrinterParameterized3(list->listWindow.windowId, list->listWindow.fontId, 8, (list->listWindow.unkA * 16) + 1, colors, TEXT_SKIP_DRAW, list->itemTextBuffer);
|
||||
#elif FRENCH
|
||||
AddTextPrinterParameterized3(list->listWindow.windowId, list->listWindow.fontId, 10, (list->listWindow.unkA * 16) + 1, colors, TEXT_SKIP_DRAW, list->itemTextBuffer);
|
||||
#endif
|
||||
SetListMarginTile(&list->listWindow, TRUE);
|
||||
CopyWindowRectToVram(list->listWindow.windowId, COPYWIN_FULL, 0, list->listWindow.unkA * 2, list->listWindow.width, 2);
|
||||
}
|
||||
@@ -724,7 +732,11 @@ static void PrintMatchCallListTrainerName(struct PokenavListWindowState *state,
|
||||
{
|
||||
list->bufferItemFunc(state->listPtr + state->listItemSize * state->windowTopIndex, list->itemTextBuffer);
|
||||
FillWindowPixelRect(list->listWindow.windowId, PIXEL_FILL(1), 0, list->listWindow.unkA * 16, list->listWindow.width * 8, 16);
|
||||
#if ENGLISH
|
||||
AddTextPrinterParameterized(list->listWindow.windowId, list->listWindow.fontId, list->itemTextBuffer, 8, list->listWindow.unkA * 16 + 1, TEXT_SKIP_DRAW, NULL);
|
||||
#elif FRENCH
|
||||
AddTextPrinterParameterized(list->listWindow.windowId, list->listWindow.fontId, list->itemTextBuffer, 10, list->listWindow.unkA * 16 + 1, TEXT_SKIP_DRAW, NULL);
|
||||
#endif
|
||||
SetListMarginTile(&list->listWindow, FALSE);
|
||||
CopyWindowToVram(list->listWindow.windowId, COPYWIN_FULL);
|
||||
}
|
||||
@@ -740,7 +752,11 @@ static void PrintMatchCallFieldNames(struct PokenavListSub *list, u32 fieldId)
|
||||
u32 top = (list->listWindow.unkA + 1 + (fieldId * 2)) & 0xF;
|
||||
|
||||
FillWindowPixelRect(list->listWindow.windowId, PIXEL_FILL(1), 0, top << 4, list->listWindow.width, 16);
|
||||
#if ENGLISH
|
||||
AddTextPrinterParameterized3(list->listWindow.windowId, FONT_NARROW, 2, (top << 4) + 1, colors, TEXT_SKIP_DRAW, fieldNames[fieldId]);
|
||||
#elif FRENCH
|
||||
AddTextPrinterParameterized3(list->listWindow.windowId, FONT_NARROW, 4, (top << 4) + 1, colors, TEXT_SKIP_DRAW, fieldNames[fieldId]);
|
||||
#endif
|
||||
CopyWindowRectToVram(list->listWindow.windowId, COPYWIN_GFX, 0, top << 1, list->listWindow.width, 2);
|
||||
}
|
||||
|
||||
@@ -760,7 +776,11 @@ static void PrintMatchCallFlavorText(struct PokenavListWindowState *windowState,
|
||||
if (str != NULL)
|
||||
{
|
||||
FillWindowTilesByRow(list->listWindow.windowId, 1, r6 * 2, list->listWindow.width - 1, 2);
|
||||
AddTextPrinterParameterized(list->listWindow.windowId, FONT_NARROW, str, 2, (r6 << 4) + 1, TEXT_SKIP_DRAW, NULL);
|
||||
#if ENGLISH
|
||||
AddTextPrinterParameterized(list->listWindow.windowId, FONT_NARROW, str, 2, (r6 << 4) + 1, TEXT_SKIP_DRAW, NULL);
|
||||
#elif FRENCH
|
||||
AddTextPrinterParameterized(list->listWindow.windowId, FONT_NARROW, str, 4, (r6 << 4) + 1, TEXT_SKIP_DRAW, NULL);
|
||||
#endif
|
||||
CopyWindowRectToVram(list->listWindow.windowId, COPYWIN_GFX, 0, r6 * 2, list->listWindow.width, 2);
|
||||
}
|
||||
}
|
||||
@@ -849,7 +869,11 @@ static void CreateListArrowSprites(struct PokenavListWindowState *windowState, s
|
||||
u32 spriteId;
|
||||
s16 x;
|
||||
|
||||
#if ENGLISH
|
||||
spriteId = CreateSprite(&sSpriteTemplate_RightArrow, list->listWindow.x * 8 + 3, (list->listWindow.y + 1) * 8, 7);
|
||||
#elif FRENCH
|
||||
spriteId = CreateSprite(&sSpriteTemplate_RightArrow, list->listWindow.x * 8 + 5, (list->listWindow.y + 1) * 8, 7);
|
||||
#endif
|
||||
list->rightArrow = &gSprites[spriteId];
|
||||
|
||||
x = list->listWindow.x * 8 + (list->listWindow.width - 1) * 4;
|
||||
|
||||
@@ -688,9 +688,11 @@ static void LoadLeftHeaderGfxForMenu(u32 menuGfxId)
|
||||
RequestDma3Copy(gDecompressionBuffer, (void *)OBJ_VRAM0 + (GetSpriteTileStartByTag(2) * 32), size, 1);
|
||||
menu->leftHeaderSprites[1]->oam.tileNum = GetSpriteTileStartByTag(2) + sMenuLeftHeaderSpriteSheets[menuGfxId].size;
|
||||
|
||||
#if ENGLISH
|
||||
if (menuGfxId == POKENAV_GFX_MAP_MENU_ZOOMED_OUT || menuGfxId == POKENAV_GFX_MAP_MENU_ZOOMED_IN)
|
||||
menu->leftHeaderSprites[1]->x2 = 56;
|
||||
else
|
||||
#endif
|
||||
menu->leftHeaderSprites[1]->x2 = 64;
|
||||
}
|
||||
|
||||
@@ -761,7 +763,11 @@ static void ShowLeftHeaderSprites(u32 startY, bool32 isOnRightSide)
|
||||
if (!isOnRightSide)
|
||||
start = -96, end = 32;
|
||||
else
|
||||
#if ENGLISH
|
||||
start = 256, end = 160;
|
||||
#elif FRENCH
|
||||
start = 256, end = 144;
|
||||
#endif
|
||||
|
||||
for (i = 0; i < (s32)ARRAY_COUNT(menu->leftHeaderSprites); i++)
|
||||
{
|
||||
|
||||
@@ -3,6 +3,9 @@
|
||||
#include "data.h"
|
||||
#include "decompress.h"
|
||||
#include "dma3.h"
|
||||
#if FRENCH
|
||||
#include "graphics.h"
|
||||
#endif
|
||||
#include "international_string_util.h"
|
||||
#include "main.h"
|
||||
#include "match_call.h"
|
||||
@@ -114,9 +117,11 @@ static u32 ShowCheckPageDown(s32);
|
||||
static u32 ExitCheckPage(s32);
|
||||
static u32 ExitMatchCall(s32);
|
||||
|
||||
#if ENGLISH
|
||||
static const u16 sMatchCallUI_Pal[] = INCBIN_U16("graphics/pokenav/match_call/ui.gbapal");
|
||||
static const u32 sMatchCallUI_Gfx[] = INCBIN_U32("graphics/pokenav/match_call/ui.4bpp.lz");
|
||||
static const u32 sMatchCallUI_Tilemap[] = INCBIN_U32("graphics/pokenav/match_call/ui.bin.lz");
|
||||
#endif
|
||||
static const u16 sOptionsCursor_Pal[] = INCBIN_U16("graphics/pokenav/match_call/options_cursor.gbapal");
|
||||
static const u32 sOptionsCursor_Gfx[] = INCBIN_U32("graphics/pokenav/match_call/options_cursor.4bpp.lz");
|
||||
static const u16 sCallWindow_Pal[] = INCBIN_U16("graphics/pokenav/match_call/call_window.gbapal");
|
||||
@@ -329,11 +334,19 @@ static u32 LoopedTask_OpenMatchCall(s32 state)
|
||||
InitBgTemplates(sMatchCallBgTemplates, ARRAY_COUNT(sMatchCallBgTemplates));
|
||||
ChangeBgX(2, 0, BG_COORD_SET);
|
||||
ChangeBgY(2, 0, BG_COORD_SET);
|
||||
#if ENGLISH
|
||||
DecompressAndCopyTileDataToVram(2, sMatchCallUI_Gfx, 0, 0, 0);
|
||||
SetBgTilemapBuffer(2, gfx->bgTilemapBuffer2);
|
||||
CopyToBgTilemapBuffer(2, sMatchCallUI_Tilemap, 0, 0);
|
||||
CopyBgTilemapBufferToVram(2);
|
||||
CopyPaletteIntoBufferUnfaded(sMatchCallUI_Pal, 0x20, 0x20);
|
||||
#elif FRENCH
|
||||
DecompressAndCopyTileDataToVram(2, gMatchCallUI_Gfx, 0, 0, 0);
|
||||
SetBgTilemapBuffer(2, gfx->bgTilemapBuffer2);
|
||||
CopyToBgTilemapBuffer(2, gMatchCallUI_Tilemap, 0, 0);
|
||||
CopyBgTilemapBufferToVram(2);
|
||||
CopyPaletteIntoBufferUnfaded(gMatchCallUI_Pal, 0x20, 0x20);
|
||||
#endif
|
||||
CopyBgTilemapBufferToVram(2);
|
||||
return LT_INC_AND_PAUSE;
|
||||
case 1:
|
||||
|
||||
@@ -405,11 +405,19 @@ void BufferMatchCallNameAndDesc(struct PokenavMatchCallEntry *matchCallEntry, u8
|
||||
const u8 *className;
|
||||
if (!matchCallEntry->isSpecialTrainer)
|
||||
{
|
||||
#if ENGLISH
|
||||
int index = GetTrainerIdxByRematchIdx(matchCallEntry->headerId);
|
||||
const struct Trainer *trainer = &gTrainers[index];
|
||||
int class = trainer->trainerClass;
|
||||
className = gTrainerClassNames[class];
|
||||
trainerName = trainer->trainerName;
|
||||
#elif FRENCH
|
||||
const struct Trainer *trainer = &gTrainers[GetTrainerIdxByRematchIdx(matchCallEntry->headerId)];
|
||||
int class = trainer->trainerClass;
|
||||
int gender = trainer->encounterMusic_gender;
|
||||
className = GetTrainerClassNameGenderSpecific(class, gender, trainer->trainerName);
|
||||
trainerName = trainer->trainerName;
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -138,7 +138,11 @@ static const struct WindowTemplate sMapSecInfoWindowTemplate =
|
||||
.bg = 1,
|
||||
.tilemapLeft = 17,
|
||||
.tilemapTop = 4,
|
||||
#if ENGLISH
|
||||
.width = 12,
|
||||
#elif FRENCH
|
||||
.width = 13,
|
||||
#endif
|
||||
.height = 13,
|
||||
.paletteNum = 1,
|
||||
.baseBlock = 0x4C
|
||||
@@ -537,7 +541,11 @@ static void UpdateMapSecInfoWindow(struct Pokenav_RegionMapGfx *state)
|
||||
{
|
||||
case MAPSECTYPE_CITY_CANFLY:
|
||||
FillWindowPixelBuffer(state->infoWindowId, PIXEL_FILL(1));
|
||||
#if ENGLISH
|
||||
PutWindowRectTilemap(state->infoWindowId, 0, 0, 12, 2);
|
||||
#elif FRENCH
|
||||
PutWindowRectTilemap(state->infoWindowId, 0, 0, 13, 2);
|
||||
#endif
|
||||
AddTextPrinterParameterized(state->infoWindowId, FONT_NARROW, regionMap->mapSecName, 0, 1, TEXT_SKIP_DRAW, NULL);
|
||||
DrawCityMap(state, regionMap->mapSecId, regionMap->posWithinMapSec);
|
||||
CopyWindowToVram(state->infoWindowId, COPYWIN_FULL);
|
||||
@@ -545,9 +553,15 @@ static void UpdateMapSecInfoWindow(struct Pokenav_RegionMapGfx *state)
|
||||
break;
|
||||
case MAPSECTYPE_CITY_CANTFLY:
|
||||
FillWindowPixelBuffer(state->infoWindowId, PIXEL_FILL(1));
|
||||
#if ENGLISH
|
||||
PutWindowRectTilemap(state->infoWindowId, 0, 0, 12, 2);
|
||||
AddTextPrinterParameterized(state->infoWindowId, FONT_NARROW, regionMap->mapSecName, 0, 1, TEXT_SKIP_DRAW, NULL);
|
||||
FillBgTilemapBufferRect(1, 0x1041, 17, 6, 12, 11, 17);
|
||||
#elif FRENCH
|
||||
PutWindowRectTilemap(state->infoWindowId, 0, 0, 13, 2);
|
||||
AddTextPrinterParameterized(state->infoWindowId, FONT_NARROW, regionMap->mapSecName, 0, 1, TEXT_SKIP_DRAW, NULL);
|
||||
FillBgTilemapBufferRect(1, 0x1041, 17, 6, 13, 11, 17);
|
||||
#endif
|
||||
CopyWindowToVram(state->infoWindowId, COPYWIN_FULL);
|
||||
SetCityZoomTextInvisibility(TRUE);
|
||||
break;
|
||||
@@ -561,7 +575,11 @@ static void UpdateMapSecInfoWindow(struct Pokenav_RegionMapGfx *state)
|
||||
SetCityZoomTextInvisibility(TRUE);
|
||||
break;
|
||||
case MAPSECTYPE_NONE:
|
||||
#if ENGLISH
|
||||
FillBgTilemapBufferRect(1, 0x1041, 17, 4, 12, 13, 17);
|
||||
#elif FRENCH
|
||||
FillBgTilemapBufferRect(1, 0x1041, 17, 4, 13, 13, 17);
|
||||
#endif
|
||||
CopyBgTilemapBufferToVram(1);
|
||||
SetCityZoomTextInvisibility(TRUE);
|
||||
break;
|
||||
@@ -643,7 +661,11 @@ static void DrawCityMap(struct Pokenav_RegionMapGfx *state, int mapSecId, int po
|
||||
if (i == NUM_CITY_MAPS)
|
||||
return;
|
||||
|
||||
#if ENGLISH
|
||||
FillBgTilemapBufferRect_Palette0(1, 0x1041, 17, 6, 12, 11);
|
||||
#elif FRENCH
|
||||
FillBgTilemapBufferRect_Palette0(1, 0x1041, 17, 6, 13, 11);
|
||||
#endif
|
||||
CopyToBgTilemapBufferRect(1, state->cityZoomPics[i], 18, 6, 10, 10);
|
||||
}
|
||||
|
||||
@@ -656,7 +678,11 @@ static void PrintLandmarkNames(struct Pokenav_RegionMapGfx *state, int mapSecId,
|
||||
if (!landmarkName)
|
||||
break;
|
||||
|
||||
#if ENGLISH
|
||||
StringCopyPadded(gStringVar1, landmarkName, CHAR_SPACE, 12);
|
||||
#elif FRENCH
|
||||
StringCopyPadded(gStringVar1, landmarkName, CHAR_SPACE, 13);
|
||||
#endif
|
||||
AddTextPrinterParameterized(state->infoWindowId, FONT_NARROW, gStringVar1, 0, i * 16 + 17, TEXT_SKIP_DRAW, NULL);
|
||||
i++;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
#include "global.h"
|
||||
#include "pokenav.h"
|
||||
#if FRENCH
|
||||
#include "graphics.h"
|
||||
#endif
|
||||
#include "bg.h"
|
||||
#include "menu.h"
|
||||
#include "window.h"
|
||||
@@ -71,9 +74,11 @@ static const LoopedTask sMonRibbonListLoopTaskFuncs[] =
|
||||
BuildBoxMonRibbonList
|
||||
};
|
||||
|
||||
#if ENGLISH
|
||||
static const u16 sMonRibbonListFramePal[] = INCBIN_U16("graphics/pokenav/ribbons/list_bg.gbapal");
|
||||
static const u32 sMonRibbonListFrameTiles[] = INCBIN_U32("graphics/pokenav/ribbons/list_bg.4bpp.lz");
|
||||
static const u32 sMonRibbonListFrameTilemap[] = INCBIN_U32("graphics/pokenav/ribbons/list_bg.bin.lz");
|
||||
#endif
|
||||
static const u16 sMonRibbonListUi_Pal[] = INCBIN_U16("graphics/pokenav/ribbons/list_ui.gbapal");
|
||||
|
||||
static const struct BgTemplate sMonRibbonListBgTemplates[] =
|
||||
@@ -428,10 +433,17 @@ static u32 LoopedTask_OpenRibbonsMonList(s32 state)
|
||||
{
|
||||
case 0:
|
||||
InitBgTemplates(sMonRibbonListBgTemplates, ARRAY_COUNT(sMonRibbonListBgTemplates));
|
||||
#if ENGLISH
|
||||
DecompressAndCopyTileDataToVram(1, sMonRibbonListFrameTiles, 0, 0, 0);
|
||||
SetBgTilemapBuffer(1, menu->buff);
|
||||
CopyToBgTilemapBuffer(1, sMonRibbonListFrameTilemap, 0, 0);
|
||||
CopyPaletteIntoBufferUnfaded(sMonRibbonListFramePal, 0x10, 0x20);
|
||||
#elif FRENCH
|
||||
DecompressAndCopyTileDataToVram(1, gMonRibbonListFrameTiles, 0, 0, 0);
|
||||
SetBgTilemapBuffer(1, menu->buff);
|
||||
CopyToBgTilemapBuffer(1, gMonRibbonListFrameTilemap, 0, 0);
|
||||
CopyPaletteIntoBufferUnfaded(gMonRibbonListFramePal, 0x10, 0x20);
|
||||
#endif
|
||||
CopyBgTilemapBufferToVram(1);
|
||||
return LT_INC_AND_PAUSE;
|
||||
case 1:
|
||||
@@ -684,8 +696,13 @@ static void CreateRibbonMonsList(void)
|
||||
template.count = GetRibbonsMonListCount();
|
||||
template.itemSize = sizeof(struct PokenavListItem);
|
||||
template.startIndex = GetRibbonListMenuCurrIndex();
|
||||
#if ENGLISH
|
||||
template.item_X = 13;
|
||||
template.windowWidth = 17;
|
||||
#elif FRENCH
|
||||
template.item_X = 12;
|
||||
template.windowWidth = 18;
|
||||
#endif
|
||||
template.listTop = 1;
|
||||
template.maxShowed = 8;
|
||||
template.fillValue = 2;
|
||||
|
||||
Reference in New Issue
Block a user