1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-20 05:23:04 +01:00

Refactor string conversion between RCT2 and UTF8

Use Win32 API for conversion on Windows for non-1252 code pages instead of built-in tables.
This commit is contained in:
Ted John
2018-04-14 18:06:49 +01:00
committed by Aaron van Geffen
parent 2512e4959c
commit deaa60f8f1
17 changed files with 343 additions and 250 deletions

View File

@@ -68,13 +68,13 @@ void StringTable::Read(IReadObjectContext * context, IStream * stream, uint8 id)
entry.LanguageId = languageId;
std::string stringAsWin1252 = stream->ReadStdString();
utf8 * stringAsUtf8 = rct2_language_string_to_utf8(stringAsWin1252.c_str(), stringAsWin1252.size(), rct2LanguageId);
auto stringAsUtf8 = rct2_to_utf8(stringAsWin1252, rct2LanguageId);
if (StringIsBlank(stringAsUtf8))
if (StringIsBlank(stringAsUtf8.data()))
{
entry.LanguageId = LANGUAGE_UNDEFINED;
}
String::Trim(stringAsUtf8);
stringAsUtf8 = String::Trim(stringAsUtf8);
entry.Text = stringAsUtf8;
_strings.push_back(entry);