From d10d38a12808d78c92b9ee30379776e95d27eb9d Mon Sep 17 00:00:00 2001 From: Gymnasiast Date: Sun, 21 Jun 2015 14:53:04 +0200 Subject: [PATCH 1/2] First version (crashy) --- src/localisation/language.c | 8 +++++--- src/localisation/language.h | 1 + 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/localisation/language.c b/src/localisation/language.c index 5d4e1b17d1..03f3c2abfc 100644 --- a/src/localisation/language.c +++ b/src/localisation/language.c @@ -43,7 +43,8 @@ const char *language_names[LANGUAGE_COUNT] = { "Polski", // LANGUAGE_POLISH "Espa\u00F1ol", // LANGUAGE_SPANISH "Svenska", // LANGUAGE_SWEDISH - "Italiano" // LANGUAGE_ITALIAN + "Italiano", // LANGUAGE_ITALIAN + "Portug\u00CAs (BR)"// LANGUAGE_PORTUGUESE_BR }; const char *language_filenames[LANGUAGE_COUNT] = { @@ -57,7 +58,8 @@ const char *language_filenames[LANGUAGE_COUNT] = { "polish", // LANGUAGE_POLISH "spanish_sp", // LANGUAGE_SPANISH "swedish", // LANGUAGE_SWEDISH - "italian" // LANGUAGE_ITALIAN + "italian", // LANGUAGE_ITALIAN + "portuguese_br" // LANGUAGE_PORTUGUESE_BR }; int gCurrentLanguage = LANGUAGE_UNDEFINED; @@ -268,7 +270,7 @@ static void language_close(language_data *language) } const int OpenRCT2LangIdToObjectLangId[] = { - 0, 0, 1, 3, 6, 2, 0, 0, 4, 7, 5 + 0, 0, 1, 3, 6, 2, 0, 0, 4, 7, 5, 11 }; /* rct2: 0x0098DA16 */ diff --git a/src/localisation/language.h b/src/localisation/language.h index c86906f773..a8eeb81f5d 100644 --- a/src/localisation/language.h +++ b/src/localisation/language.h @@ -35,6 +35,7 @@ enum { LANGUAGE_SPANISH, LANGUAGE_SWEDISH, LANGUAGE_ITALIAN, + LANGUAGE_PORTUGUESE_BR, LANGUAGE_COUNT }; From 0dfdb3302833d3cf69020d4e0b4915e6c5e2b26b Mon Sep 17 00:00:00 2001 From: Gymnasiast Date: Sun, 21 Jun 2015 15:13:40 +0200 Subject: [PATCH 2/2] Complete support, read .DAT entries from correct table --- src/config.c | 1 + src/localisation/language.c | 2 +- src/platform/windows.c | 3 +++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/config.c b/src/config.c index 2acfd44095..a5521c2cf1 100644 --- a/src/config.c +++ b/src/config.c @@ -136,6 +136,7 @@ config_enum_definition _languageEnum[] = { { "es-ES", LANGUAGE_SPANISH }, { "sv-SE", LANGUAGE_SWEDISH }, { "it-IT", LANGUAGE_ITALIAN }, + { "pt-BR", LANGUAGE_PORTUGUESE_BR }, END_OF_ENUM }; diff --git a/src/localisation/language.c b/src/localisation/language.c index 03f3c2abfc..05c7eae239 100644 --- a/src/localisation/language.c +++ b/src/localisation/language.c @@ -270,7 +270,7 @@ static void language_close(language_data *language) } const int OpenRCT2LangIdToObjectLangId[] = { - 0, 0, 1, 3, 6, 2, 0, 0, 4, 7, 5, 11 + 0, 0, 1, 3, 6, 2, 0, 0, 4, 7, 5, 13 }; /* rct2: 0x0098DA16 */ diff --git a/src/platform/windows.c b/src/platform/windows.c index b090bae968..52fb1000df 100644 --- a/src/platform/windows.c +++ b/src/platform/windows.c @@ -635,6 +635,9 @@ uint16 platform_get_locale_language(){ else if (strcmp(langCode, "ITA") == 0){ return LANGUAGE_ITALIAN; } + else if (strcmp(langCode, "POR") == 0){ + return LANGUAGE_PORTUGUESE_BR; + } return LANGUAGE_UNDEFINED; }