mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2026-01-29 17:38:16 +03: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:
@@ -5,6 +5,59 @@
|
||||
|
||||
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... */
|
||||
static const char* superpatrons[] = {
|
||||
"Anders Ekermo",
|
||||
@@ -121,9 +174,9 @@ static const char* githubfriends[] = {
|
||||
};
|
||||
|
||||
/* 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)
|
||||
));
|
||||
)) + (12 * SDL_arraysize(translators));
|
||||
|
||||
} /* namespace Credits */
|
||||
|
||||
|
||||
@@ -1945,9 +1945,57 @@ void gamecompleterender(void)
|
||||
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)
|
||||
{
|
||||
@@ -1959,7 +2007,10 @@ void gamecompleterender(void)
|
||||
}
|
||||
|
||||
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;
|
||||
|
||||
for (size_t i = 0; i < SDL_arraysize(Credits::patrons); i += 1)
|
||||
@@ -1972,7 +2023,10 @@ void gamecompleterender(void)
|
||||
}
|
||||
|
||||
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;
|
||||
|
||||
for (size_t i = 0; i < SDL_arraysize(Credits::githubfriends); i += 1)
|
||||
|
||||
Reference in New Issue
Block a user