diff options
author | lolbot-iichan | 2019-06-30 16:45:46 +0300 |
---|---|---|
committer | Filippos Karapetis | 2019-06-30 16:45:46 +0300 |
commit | 747ace78fc1767a549560c46d7689f1f8f1628d9 (patch) | |
tree | 036ee7cbf53ae058a273830016d0e5a93a8d9366 /engines/wintermute/utils/string_util.h | |
parent | 1276a4d6d7422ae3c995c800fcde6627f8d78b75 (diff) | |
download | scummvm-rg350-747ace78fc1767a549560c46d7689f1f8f1628d9.tar.gz scummvm-rg350-747ace78fc1767a549560c46d7689f1f8f1628d9.tar.bz2 scummvm-rg350-747ace78fc1767a549560c46d7689f1f8f1628d9.zip |
COMMON & WINTERMUTE: Use non-1252 for 125X games (PR 1698)
* WINTERMUTE: Add detection for "The Driller Incident"
"The Driller Incident" is a small freeware game for Wintermute,
avaliable in English and Russian: http://questzone.ru/enzi/files/1645
* WINTERMUTE: Add detection table for "One Helluva Day" demo
"One Helluva Day" is a point-and-click adventure demo in English / Czech
/ Russian.
Free download:
https://store.steampowered.com/app/603680/One_helluva_day/
* WINTERMUTE: Support CHARSET property for TT fonts
"// we don't need this anymore" was a mistake =)
Surely, most Wintermute games are either designed for 1252 language
(DE_DEU, EN_ANY, ES_ESP, FR_FRA, IT_ITA, PT_BRA), or don't use TrueType
fonts (5ma, deadcity, grotter1, grotter2, thekite, tib), or use
CHARSET=1 with UTF strings (dirtysplit, reversion1, reversion2, twc),
which meen this conversion is not needed for those games.
However, there are some games that explicitly states CHARSET=10 (driller
(RU_RUS), oknytt (RU_RUS), onehelluvaday (UNK_LANG when playing as
Russian)) and there are some games with CHARSET=1 with non-1252 in mind
(bookofgron (RU_RUS excepts 1251), carolreed4 (RU_RUS excepts 1251),
kulivocko (CZ_CZE excepts 1250)).
This fixes text in some games: bookofgron, carolreed4, driller, kulivocko,
oknytt, onehelluvaday.
* WINTERMUTE: Break savegame compatibility
sizeof(BaseFontTT) was changed, so let's break savegame compatibility
* COMMON: Add conversion tables for win1253 and win1257
* COMMON: Add string conversion from U32String back to Common::String
convertUtf32ToUtf8 code is based on Wintermute::ConvertUTF32toUTF8
convertFromU32String use convertUtf32ToUtf8 for UTF8 or lookup through
conversion table for single-byte encodings
* WINTERMUTE: Use Common::convert functions for non-UTF charsets
* WINTERMUTE: Fix whitespaces at detection tables
* WINTERMUTE: Add TODO comments
Diffstat (limited to 'engines/wintermute/utils/string_util.h')
-rw-r--r-- | engines/wintermute/utils/string_util.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/engines/wintermute/utils/string_util.h b/engines/wintermute/utils/string_util.h index 431d401d96..4657c66766 100644 --- a/engines/wintermute/utils/string_util.h +++ b/engines/wintermute/utils/string_util.h @@ -39,8 +39,8 @@ public: //static bool compareNoCase(const WideString &str1, const WideString &str2); static WideString utf8ToWide(const Utf8String &Utf8Str); static Utf8String wideToUtf8(const WideString &WideStr); - static WideString ansiToWide(const AnsiString &str); - static AnsiString wideToAnsi(const WideString &str); + static WideString ansiToWide(const AnsiString &str, TTextCharset charset = CHARSET_ANSI); + static AnsiString wideToAnsi(const WideString &str, TTextCharset charset = CHARSET_ANSI); static bool isUtf8BOM(const byte *buffer, uint32 bufferSize); static int indexOf(const WideString &str, const WideString &toFind, size_t startFrom); @@ -51,7 +51,7 @@ public: static AnsiString toString(int val); private: - static uint32 _ansiToUTF32[32]; + static Common::CodePage mapCodePage(TTextCharset charset); }; } // End of namespace Wintermute |