mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2024-12-22 17:49:43 +01:00
Initial implementation of localisation credits
This commit adds translation credits to the game's end credits screen. Note that this is not implemented into the menu credits screen yet. The translator name list is subject to tweaks, and additionally some localised strings ("Localisation Project Led by" and "Pan-European Font Design by") run off the screen in some languages (Catalan, Spanish, Irish, Italian, Dutch, European Portuguese and Ukrainian) and will need to be addressed later.
This commit is contained in:
parent
c660000292
commit
79376ae82e
2 changed files with 113 additions and 6 deletions
|
@ -5,6 +5,59 @@
|
||||||
|
|
||||||
namespace Credits {
|
namespace Credits {
|
||||||
|
|
||||||
|
/* Translators list; lines prefaced with a space aren't translatable */
|
||||||
|
static const char* translators[] = {
|
||||||
|
"Catalan",
|
||||||
|
" Eduard Ereza Martínez",
|
||||||
|
"Welsh",
|
||||||
|
" Morgan Roberts",
|
||||||
|
"German",
|
||||||
|
" Thomas Faust",
|
||||||
|
"Esperanto",
|
||||||
|
" Reese Rivers",
|
||||||
|
"Spanish",
|
||||||
|
" Felipe Mercader",
|
||||||
|
" Sara Marín",
|
||||||
|
"French",
|
||||||
|
" Words of Magic",
|
||||||
|
"Irish",
|
||||||
|
" Úna-Minh Kavanagh",
|
||||||
|
" Seaghán Ó Modhráin",
|
||||||
|
" Davis Sandefur",
|
||||||
|
"Italian",
|
||||||
|
" A. Dellepiane",
|
||||||
|
" M. Scarabelli",
|
||||||
|
" L. Bertolucci",
|
||||||
|
" F. Bortolotti",
|
||||||
|
"Japanese",
|
||||||
|
" Nicalis, Inc.",
|
||||||
|
" KabanFriends",
|
||||||
|
"Korean",
|
||||||
|
" Bada Im",
|
||||||
|
" Hyungseok Cho",
|
||||||
|
"Dutch",
|
||||||
|
" Dav999",
|
||||||
|
"Polish",
|
||||||
|
" Kuba Kallus",
|
||||||
|
"Brazilian Portuguese",
|
||||||
|
" Lucas Araujo",
|
||||||
|
" Thiago Araujo",
|
||||||
|
"European Portuguese",
|
||||||
|
" Locsmiths",
|
||||||
|
"Russian",
|
||||||
|
" TheMysticSword",
|
||||||
|
"Silesian",
|
||||||
|
" Kuba Kallus",
|
||||||
|
"Turkish",
|
||||||
|
" Engin İlkiz",
|
||||||
|
"Ukrainian",
|
||||||
|
" Olya Sushytska",
|
||||||
|
"Chinese (Simplified)",
|
||||||
|
" Sound of Mystery",
|
||||||
|
"Chinese (Traditional)",
|
||||||
|
" Sound of Mystery / craft",
|
||||||
|
};
|
||||||
|
|
||||||
/* Terry's Patrons... */
|
/* Terry's Patrons... */
|
||||||
static const char* superpatrons[] = {
|
static const char* superpatrons[] = {
|
||||||
"Anders Ekermo",
|
"Anders Ekermo",
|
||||||
|
@ -121,9 +174,9 @@ static const char* githubfriends[] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Calculate credits length, finally. */
|
/* Calculate credits length, finally. */
|
||||||
static const int creditmaxposition = 1068 + (10 * (
|
static const int creditmaxposition = 1228 + (10 * (
|
||||||
SDL_arraysize(superpatrons) + SDL_arraysize(patrons) + SDL_arraysize(githubfriends)
|
SDL_arraysize(superpatrons) + SDL_arraysize(patrons) + SDL_arraysize(githubfriends)
|
||||||
));
|
)) + (12 * SDL_arraysize(translators));
|
||||||
|
|
||||||
} /* namespace Credits */
|
} /* namespace Credits */
|
||||||
|
|
||||||
|
|
|
@ -1945,9 +1945,57 @@ void gamecompleterender(void)
|
||||||
font::print(PR_2X | PR_FONT_8X8, 60, 830 + position, "Pauli Kohberger", tr, tg, tb);
|
font::print(PR_2X | PR_FONT_8X8, 60, 830 + position, "Pauli Kohberger", tr, tg, tb);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (graphics.onscreen(910 + position)) font::print(PR_3X | PR_CEN, -1, 890 + position, loc::gettext("Patrons"), tr, tg, tb);
|
int creditOffset = 890;
|
||||||
|
|
||||||
int creditOffset = 950;
|
if (graphics.onscreen(creditOffset + position))
|
||||||
|
{
|
||||||
|
font::print(PR_2X | PR_CEN, -1, creditOffset + position, loc::gettext("Localisation"), tr, tg, tb);
|
||||||
|
}
|
||||||
|
creditOffset += 30;
|
||||||
|
|
||||||
|
if (graphics.onscreen(creditOffset + position))
|
||||||
|
{
|
||||||
|
font::print(PR_CJK_HIGH, 40, creditOffset + position, loc::gettext("Localisation Project Led by"), tr, tg, tb);
|
||||||
|
font::print(PR_2X | PR_FONT_8X8, 60, creditOffset + position + 10, "Dav999", tr, tg, tb);
|
||||||
|
}
|
||||||
|
creditOffset += 40;
|
||||||
|
if (graphics.onscreen(creditOffset + position))
|
||||||
|
{
|
||||||
|
font::print(PR_CJK_HIGH, 40, creditOffset + position, loc::gettext("Pan-European Font Design by"), tr, tg, tb);
|
||||||
|
font::print(PR_2X | PR_FONT_8X8, 60, creditOffset + position + 10, "Reese Rivers", tr, tg, tb);
|
||||||
|
}
|
||||||
|
creditOffset += 40;
|
||||||
|
if (graphics.onscreen(creditOffset + position))
|
||||||
|
{
|
||||||
|
font::print(PR_CJK_HIGH | PR_CEN, -1, creditOffset + position, loc::gettext("Translators"), tr, tg, tb);
|
||||||
|
}
|
||||||
|
creditOffset += 20;
|
||||||
|
for (size_t i = 0; i < SDL_arraysize(Credits::translators); i += 1)
|
||||||
|
{
|
||||||
|
if (graphics.onscreen(creditOffset + position))
|
||||||
|
{
|
||||||
|
if (Credits::translators[i][0] != ' ')
|
||||||
|
{
|
||||||
|
// Not prefixed with a space, so this line is the name of a language, display its localised string
|
||||||
|
font::print(0, 60, creditOffset + position, loc::gettext(Credits::translators[i]), tr, tg, tb);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Otherwise, this line is the name of a translator, indent it and display with the original 8x8 font always
|
||||||
|
font::print(PR_FONT_8X8, 72, creditOffset + position, Credits::translators[i], tr, tg, tb);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
creditOffset += 12;
|
||||||
|
}
|
||||||
|
|
||||||
|
creditOffset += 40;
|
||||||
|
|
||||||
|
if (graphics.onscreen(creditOffset + position))
|
||||||
|
{
|
||||||
|
font::print(PR_3X | PR_CEN, -1, creditOffset + position, loc::gettext("Patrons"), tr, tg, tb);
|
||||||
|
}
|
||||||
|
|
||||||
|
creditOffset += 50;
|
||||||
|
|
||||||
for (size_t i = 0; i < SDL_arraysize(Credits::superpatrons); i += 1)
|
for (size_t i = 0; i < SDL_arraysize(Credits::superpatrons); i += 1)
|
||||||
{
|
{
|
||||||
|
@ -1959,7 +2007,10 @@ void gamecompleterender(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
creditOffset += 10;
|
creditOffset += 10;
|
||||||
if (graphics.onscreen(creditOffset + position)) font::print(PR_CEN, -1, creditOffset + position, loc::gettext("and"), tr, tg, tb);
|
if (graphics.onscreen(creditOffset + position))
|
||||||
|
{
|
||||||
|
font::print(PR_CEN, -1, creditOffset + position, loc::gettext("and"), tr, tg, tb);
|
||||||
|
}
|
||||||
creditOffset += 20;
|
creditOffset += 20;
|
||||||
|
|
||||||
for (size_t i = 0; i < SDL_arraysize(Credits::patrons); i += 1)
|
for (size_t i = 0; i < SDL_arraysize(Credits::patrons); i += 1)
|
||||||
|
@ -1972,7 +2023,10 @@ void gamecompleterender(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
creditOffset += 20;
|
creditOffset += 20;
|
||||||
if (graphics.onscreen(creditOffset + position)) font::print(PR_2X | PR_CEN, -1, creditOffset + position, loc::gettext("GitHub Contributors"), tr, tg, tb);
|
if (graphics.onscreen(creditOffset + position))
|
||||||
|
{
|
||||||
|
font::print(PR_2X | PR_CEN, -1, creditOffset + position, loc::gettext("GitHub Contributors"), tr, tg, tb);
|
||||||
|
}
|
||||||
creditOffset += 30;
|
creditOffset += 30;
|
||||||
|
|
||||||
for (size_t i = 0; i < SDL_arraysize(Credits::githubfriends); i += 1)
|
for (size_t i = 0; i < SDL_arraysize(Credits::githubfriends); i += 1)
|
||||||
|
|
Loading…
Reference in a new issue