mirror of https://github.com/OpenRCT2/OpenRCT2.git
Rename ToUtf16 to ToWideChar
This is more correct as wchar_t size can differ, for example Linux typically uses 32 bits for wchar_t where as Windows uses 16 bits.
This commit is contained in:
parent
6f61c94dbd
commit
a1d9e52046
|
@ -32,7 +32,7 @@ using namespace OpenRCT2::Ui;
|
|||
|
||||
static char** GetCommandLineArgs(int argc, wchar_t** argvW);
|
||||
static void FreeCommandLineArgs(int argc, char** argv);
|
||||
static char* ConvertUTF16toUTF8(const wchar_t* src);
|
||||
static char* ConvertWideChartoUTF8(const wchar_t* src);
|
||||
|
||||
DLLEXPORT int LaunchOpenRCT2(int argc, wchar_t** argvW)
|
||||
{
|
||||
|
@ -63,7 +63,7 @@ static char** GetCommandLineArgs(int argc, wchar_t** argvW)
|
|||
// Convert to UTF-8
|
||||
for (int i = 0; i < argc; i++)
|
||||
{
|
||||
argv[i] = ConvertUTF16toUTF8(argvW[i]);
|
||||
argv[i] = ConvertWideChartoUTF8(argvW[i]);
|
||||
}
|
||||
|
||||
return argv;
|
||||
|
@ -79,7 +79,7 @@ static void FreeCommandLineArgs(int argc, char** argv)
|
|||
free(argv);
|
||||
}
|
||||
|
||||
static char* ConvertUTF16toUTF8(const wchar_t* src)
|
||||
static char* ConvertWideChartoUTF8(const wchar_t* src)
|
||||
{
|
||||
int srcLen = lstrlenW(src);
|
||||
int sizeReq = WideCharToMultiByte(CP_UTF8, 0, src, srcLen, nullptr, 0, nullptr, nullptr);
|
||||
|
|
|
@ -87,23 +87,23 @@ namespace OpenRCT2::Ui
|
|||
void ShowMessageBox(SDL_Window* window, const std::string& message) override
|
||||
{
|
||||
HWND hwnd = GetHWND(window);
|
||||
std::wstring messageW = String::ToUtf16(message);
|
||||
std::wstring messageW = String::ToWideChar(message);
|
||||
MessageBoxW(hwnd, messageW.c_str(), L"OpenRCT2", MB_OK);
|
||||
}
|
||||
|
||||
void OpenFolder(const std::string& path) override
|
||||
{
|
||||
std::wstring pathW = String::ToUtf16(path);
|
||||
std::wstring pathW = String::ToWideChar(path);
|
||||
ShellExecuteW(NULL, L"open", pathW.c_str(), NULL, NULL, SW_SHOWNORMAL);
|
||||
}
|
||||
|
||||
std::string ShowFileDialog(SDL_Window* window, const FileDialogDesc& desc) override
|
||||
{
|
||||
std::wstring wcFilename = String::ToUtf16(desc.DefaultFilename);
|
||||
std::wstring wcFilename = String::ToWideChar(desc.DefaultFilename);
|
||||
wcFilename.resize(std::max<size_t>(wcFilename.size(), MAX_PATH));
|
||||
|
||||
std::wstring wcTitle = String::ToUtf16(desc.Title);
|
||||
std::wstring wcInitialDirectory = String::ToUtf16(desc.InitialDirectory);
|
||||
std::wstring wcTitle = String::ToWideChar(desc.Title);
|
||||
std::wstring wcInitialDirectory = String::ToWideChar(desc.InitialDirectory);
|
||||
std::wstring wcFilters = GetFilterString(desc.Filters);
|
||||
|
||||
// Set open file name options
|
||||
|
@ -162,7 +162,7 @@ namespace OpenRCT2::Ui
|
|||
LPMALLOC lpMalloc;
|
||||
if (SUCCEEDED(CoInitializeEx(0, COINIT_APARTMENTTHREADED)) && SUCCEEDED(SHGetMalloc(&lpMalloc)))
|
||||
{
|
||||
std::wstring titleW = String::ToUtf16(title);
|
||||
std::wstring titleW = String::ToWideChar(title);
|
||||
BROWSEINFOW bi = {};
|
||||
bi.lpszTitle = titleW.c_str();
|
||||
bi.ulFlags = BIF_RETURNONLYFSDIRS | BIF_NEWDIALOGSTYLE | BIF_NONEWFOLDERBUTTON;
|
||||
|
@ -211,7 +211,7 @@ namespace OpenRCT2::Ui
|
|||
std::wstringstream filtersb;
|
||||
for (auto filter : filters)
|
||||
{
|
||||
filtersb << String::ToUtf16(filter.Name) << '\0' << String::ToUtf16(filter.Pattern) << '\0';
|
||||
filtersb << String::ToWideChar(filter.Name) << '\0' << String::ToWideChar(filter.Pattern) << '\0';
|
||||
}
|
||||
return filtersb.str();
|
||||
}
|
||||
|
|
|
@ -213,7 +213,7 @@ static std::string GetChangelogText()
|
|||
{
|
||||
auto path = GetChangelogPath();
|
||||
#if defined(_WIN32) && !defined(__MINGW32__)
|
||||
auto pathW = String::ToUtf16(path);
|
||||
auto pathW = String::ToWideChar(path);
|
||||
auto fs = std::ifstream(pathW, std::ios::in);
|
||||
#else
|
||||
auto fs = std::ifstream(path, std::ios::in);
|
||||
|
|
|
@ -69,8 +69,8 @@ static uint8_t* spriteFileData;
|
|||
|
||||
static FILE* fopen_utf8(const char* path, const char* mode)
|
||||
{
|
||||
auto pathW = String::ToUtf16(path);
|
||||
auto modeW = String::ToUtf16(mode);
|
||||
auto pathW = String::ToWideChar(path);
|
||||
auto modeW = String::ToWideChar(mode);
|
||||
auto file = _wfopen(pathW.c_str(), modeW.c_str());
|
||||
return file;
|
||||
}
|
||||
|
|
|
@ -31,10 +31,6 @@ using namespace Numerics;
|
|||
using utf8 = char;
|
||||
using utf8string = utf8*;
|
||||
using const_utf8string = const utf8*;
|
||||
#ifdef _WIN32
|
||||
using utf16 = wchar_t;
|
||||
using utf16string = utf16*;
|
||||
#endif
|
||||
|
||||
// Define MAX_PATH for various headers that don't want to include system headers
|
||||
// just for MAX_PATH
|
||||
|
|
|
@ -49,7 +49,7 @@ namespace File
|
|||
std::vector<uint8_t> result;
|
||||
|
||||
#if defined(_WIN32) && !defined(__MINGW32__)
|
||||
auto pathW = String::ToUtf16(std::string(path));
|
||||
auto pathW = String::ToWideChar(std::string(path));
|
||||
std::ifstream fs(pathW, std::ios::in | std::ios::binary);
|
||||
#else
|
||||
std::ifstream fs(std::string(path), std::ios::in | std::ios::binary);
|
||||
|
@ -125,7 +125,7 @@ namespace File
|
|||
{
|
||||
uint64_t lastModified = 0;
|
||||
#ifdef _WIN32
|
||||
auto pathW = String::ToUtf16(path.c_str());
|
||||
auto pathW = String::ToWideChar(path.c_str());
|
||||
auto hFile = CreateFileW(pathW.c_str(), GENERIC_READ, FILE_SHARE_READ, nullptr, OPEN_EXISTING, 0, nullptr);
|
||||
if (hFile != INVALID_HANDLE_VALUE)
|
||||
{
|
||||
|
|
|
@ -228,7 +228,7 @@ public:
|
|||
void GetDirectoryChildren(std::vector<DirectoryChild>& children, const std::string& path) override
|
||||
{
|
||||
auto pattern = path + "\\*";
|
||||
auto wPattern = String::ToUtf16(pattern.c_str());
|
||||
auto wPattern = String::ToWideChar(pattern.c_str());
|
||||
|
||||
WIN32_FIND_DATAW findData;
|
||||
HANDLE hFile = FindFirstFileW(wPattern.c_str(), &findData);
|
||||
|
|
|
@ -70,8 +70,8 @@ public:
|
|||
}
|
||||
|
||||
#ifdef _WIN32
|
||||
auto pathW = String::ToUtf16(path);
|
||||
auto modeW = String::ToUtf16(mode);
|
||||
auto pathW = String::ToWideChar(path);
|
||||
auto modeW = String::ToWideChar(mode);
|
||||
_file = _wfopen(pathW.c_str(), modeW.c_str());
|
||||
#else
|
||||
if (fileMode == FILE_MODE_OPEN)
|
||||
|
|
|
@ -305,7 +305,7 @@ namespace Imaging
|
|||
default:
|
||||
{
|
||||
#if defined(_WIN32) && !defined(__MINGW32__)
|
||||
auto pathW = String::ToUtf16(path);
|
||||
auto pathW = String::ToWideChar(path);
|
||||
std::ifstream fs(pathW, std::ios::binary);
|
||||
#else
|
||||
std::ifstream fs(path.data(), std::ios::binary);
|
||||
|
@ -331,7 +331,7 @@ namespace Imaging
|
|||
case IMAGE_FORMAT::PNG:
|
||||
{
|
||||
#if defined(_WIN32) && !defined(__MINGW32__)
|
||||
auto pathW = String::ToUtf16(path);
|
||||
auto pathW = String::ToWideChar(path);
|
||||
std::ofstream fs(pathW, std::ios::binary);
|
||||
#else
|
||||
std::ofstream fs(path.data(), std::ios::binary);
|
||||
|
|
|
@ -171,7 +171,7 @@ namespace Path
|
|||
utf8* GetAbsolute(utf8* buffer, size_t bufferSize, const utf8* relativePath)
|
||||
{
|
||||
#ifdef _WIN32
|
||||
auto relativePathW = String::ToUtf16(relativePath);
|
||||
auto relativePathW = String::ToWideChar(relativePath);
|
||||
wchar_t absolutePathW[MAX_PATH];
|
||||
DWORD length = GetFullPathNameW(relativePathW.c_str(), (DWORD)std::size(absolutePathW), absolutePathW, nullptr);
|
||||
if (length == 0)
|
||||
|
|
|
@ -97,7 +97,7 @@ namespace String
|
|||
#endif
|
||||
}
|
||||
|
||||
std::wstring ToUtf16(const std::string_view& src)
|
||||
std::wstring ToWideChar(const std::string_view& src)
|
||||
{
|
||||
#ifdef _WIN32
|
||||
int srcLen = (int)src.size();
|
||||
|
@ -706,7 +706,7 @@ namespace String
|
|||
std::string ToUpper(const std::string_view& src)
|
||||
{
|
||||
#ifdef _WIN32
|
||||
auto srcW = ToUtf16(src);
|
||||
auto srcW = ToWideChar(src);
|
||||
|
||||
// Measure how long the destination needs to be
|
||||
auto requiredSize = LCMapStringEx(
|
||||
|
|
|
@ -37,7 +37,7 @@ namespace String
|
|||
std::string StdFormat_VA(const utf8* format, va_list args);
|
||||
std::string StdFormat(const utf8* format, ...);
|
||||
std::string ToUtf8(const std::wstring_view& src);
|
||||
std::wstring ToUtf16(const std::string_view& src);
|
||||
std::wstring ToWideChar(const std::string_view& src);
|
||||
|
||||
bool IsNullOrEmpty(const utf8* str);
|
||||
int32_t Compare(const std::string& a, const std::string& b, bool ignoreCase = false);
|
||||
|
|
|
@ -1356,7 +1356,7 @@ void Network::BeginChatLog()
|
|||
_chatLogPath = BeginLog(directory, "", _chatLogFilenameFormat);
|
||||
|
||||
# if defined(_WIN32) && !defined(__MINGW32__)
|
||||
auto pathW = String::ToUtf16(_chatLogPath.c_str());
|
||||
auto pathW = String::ToWideChar(_chatLogPath.c_str());
|
||||
_chat_log_fs.open(pathW.c_str(), std::ios::out | std::ios::app);
|
||||
# else
|
||||
_chat_log_fs.open(_chatLogPath, std::ios::out | std::ios::app);
|
||||
|
@ -1382,7 +1382,7 @@ void Network::BeginServerLog()
|
|||
_serverLogPath = BeginLog(directory, ServerName, _serverLogFilenameFormat);
|
||||
|
||||
# if defined(_WIN32) && !defined(__MINGW32__)
|
||||
auto pathW = String::ToUtf16(_serverLogPath.c_str());
|
||||
auto pathW = String::ToWideChar(_serverLogPath.c_str());
|
||||
_server_log_fs.open(pathW.c_str(), std::ios::out | std::ios::app | std::ios::binary);
|
||||
# else
|
||||
_server_log_fs.open(_serverLogPath, std::ios::out | std::ios::app | std::ios::binary);
|
||||
|
|
|
@ -68,7 +68,7 @@ static bool UploadMinidump(const std::map<std::wstring, std::wstring>& files, in
|
|||
}
|
||||
else
|
||||
{
|
||||
parameters[L"commit"] = String::ToUtf16(gVersionInfoFull);
|
||||
parameters[L"commit"] = String::ToWideChar(gVersionInfoFull);
|
||||
}
|
||||
int timeout = 10000;
|
||||
bool success = google_breakpad::HTTPUpload::SendRequest(url, parameters, files, &timeout, &response, &error);
|
||||
|
@ -189,7 +189,7 @@ static bool OnCrash(
|
|||
std::string screenshotPath = screenshot_dump();
|
||||
if (!screenshotPath.empty())
|
||||
{
|
||||
auto screenshotPathW = String::ToUtf16(screenshotPath.c_str());
|
||||
auto screenshotPathW = String::ToWideChar(screenshotPath.c_str());
|
||||
uploadFiles[L"attachment_screenshot.png"] = screenshotPathW;
|
||||
}
|
||||
|
||||
|
@ -266,7 +266,7 @@ static std::wstring GetDumpDirectory()
|
|||
{
|
||||
char userDirectory[MAX_PATH];
|
||||
platform_get_user_directory(userDirectory, nullptr, sizeof(userDirectory));
|
||||
auto result = String::ToUtf16(userDirectory);
|
||||
auto result = String::ToWideChar(userDirectory);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
|
@ -50,7 +50,7 @@ namespace Platform
|
|||
std::string GetEnvironmentVariable(const std::string& name)
|
||||
{
|
||||
std::wstring result;
|
||||
auto wname = String::ToUtf16(name);
|
||||
auto wname = String::ToWideChar(name);
|
||||
wchar_t wvalue[256];
|
||||
auto valueSize = GetEnvironmentVariableW(wname.c_str(), wvalue, (DWORD)std::size(wvalue));
|
||||
if (valueSize < std::size(wvalue))
|
||||
|
|
|
@ -98,7 +98,7 @@ void platform_get_time_local(rct2_time* out_time)
|
|||
|
||||
static size_t platform_utf8_to_multibyte(const utf8* path, char* buffer, size_t buffer_size)
|
||||
{
|
||||
auto wpath = String::ToUtf16(path);
|
||||
auto wpath = String::ToWideChar(path);
|
||||
setlocale(LC_CTYPE, "UTF-8");
|
||||
size_t len = wcstombs(NULL, wpath.c_str(), 0);
|
||||
bool truncated = false;
|
||||
|
|
|
@ -85,7 +85,7 @@ void platform_get_time_local(rct2_time* out_time)
|
|||
|
||||
bool platform_file_exists(const utf8* path)
|
||||
{
|
||||
auto wPath = String::ToUtf16(path);
|
||||
auto wPath = String::ToWideChar(path);
|
||||
DWORD result = GetFileAttributesW(wPath.c_str());
|
||||
DWORD error = GetLastError();
|
||||
return !(result == INVALID_FILE_ATTRIBUTES && (error == ERROR_FILE_NOT_FOUND || error == ERROR_PATH_NOT_FOUND));
|
||||
|
@ -93,7 +93,7 @@ bool platform_file_exists(const utf8* path)
|
|||
|
||||
bool platform_directory_exists(const utf8* path)
|
||||
{
|
||||
auto wPath = String::ToUtf16(path);
|
||||
auto wPath = String::ToWideChar(path);
|
||||
DWORD dwAttrib = GetFileAttributesW(wPath.c_str());
|
||||
return dwAttrib != INVALID_FILE_ATTRIBUTES && (dwAttrib & FILE_ATTRIBUTE_DIRECTORY);
|
||||
}
|
||||
|
@ -125,7 +125,7 @@ bool platform_ensure_directory_exists(const utf8* path)
|
|||
if (platform_directory_exists(path))
|
||||
return 1;
|
||||
|
||||
auto wPath = String::ToUtf16(path);
|
||||
auto wPath = String::ToWideChar(path);
|
||||
auto success = CreateDirectoryW(wPath.c_str(), nullptr);
|
||||
return success != FALSE;
|
||||
}
|
||||
|
@ -133,7 +133,7 @@ bool platform_ensure_directory_exists(const utf8* path)
|
|||
bool platform_directory_delete(const utf8* path)
|
||||
{
|
||||
// Needs to be double-null terminated as pFrom is a null terminated array of strings
|
||||
auto wPath = String::ToUtf16(path) + L"\0";
|
||||
auto wPath = String::ToWideChar(path) + L"\0";
|
||||
|
||||
SHFILEOPSTRUCTW fileop;
|
||||
fileop.hwnd = nullptr; // no status display
|
||||
|
@ -180,23 +180,23 @@ int32_t platform_get_drives()
|
|||
|
||||
bool platform_file_copy(const utf8* srcPath, const utf8* dstPath, bool overwrite)
|
||||
{
|
||||
auto wSrcPath = String::ToUtf16(srcPath);
|
||||
auto wDstPath = String::ToUtf16(dstPath);
|
||||
auto wSrcPath = String::ToWideChar(srcPath);
|
||||
auto wDstPath = String::ToWideChar(dstPath);
|
||||
auto success = CopyFileW(wSrcPath.c_str(), wDstPath.c_str(), overwrite ? FALSE : TRUE);
|
||||
return success != FALSE;
|
||||
}
|
||||
|
||||
bool platform_file_move(const utf8* srcPath, const utf8* dstPath)
|
||||
{
|
||||
auto wSrcPath = String::ToUtf16(srcPath);
|
||||
auto wDstPath = String::ToUtf16(dstPath);
|
||||
auto wSrcPath = String::ToWideChar(srcPath);
|
||||
auto wDstPath = String::ToWideChar(dstPath);
|
||||
auto success = MoveFileW(wSrcPath.c_str(), wDstPath.c_str());
|
||||
return success != FALSE;
|
||||
}
|
||||
|
||||
bool platform_file_delete(const utf8* path)
|
||||
{
|
||||
auto wPath = String::ToUtf16(path);
|
||||
auto wPath = String::ToWideChar(path);
|
||||
auto success = DeleteFileW(wPath.c_str());
|
||||
return success != FALSE;
|
||||
}
|
||||
|
@ -326,7 +326,7 @@ uint16_t platform_get_locale_language()
|
|||
time_t platform_file_get_modified_time(const utf8* path)
|
||||
{
|
||||
WIN32_FILE_ATTRIBUTE_DATA data{};
|
||||
auto wPath = String::ToUtf16(path);
|
||||
auto wPath = String::ToWideChar(path);
|
||||
auto result = GetFileAttributesExW(wPath.c_str(), GetFileExInfoStandard, &data);
|
||||
if (result != FALSE)
|
||||
{
|
||||
|
@ -488,7 +488,7 @@ std::string platform_get_absolute_path(const utf8* relativePath, const utf8* bas
|
|||
pathToResolve = std::string(basePath) + std::string("\\") + relativePath;
|
||||
}
|
||||
|
||||
auto pathToResolveW = String::ToUtf16(pathToResolve);
|
||||
auto pathToResolveW = String::ToWideChar(pathToResolve);
|
||||
wchar_t fullPathW[MAX_PATH]{};
|
||||
auto fullPathLen = GetFullPathNameW(pathToResolveW.c_str(), (DWORD)std::size(fullPathW), fullPathW, nullptr);
|
||||
if (fullPathLen != 0)
|
||||
|
@ -554,7 +554,7 @@ bool platform_process_is_elevated()
|
|||
static std::wstring get_progIdName(const std::string_view& extension)
|
||||
{
|
||||
auto progIdName = std::string(OPENRCT2_NAME) + std::string(extension);
|
||||
auto progIdNameW = String::ToUtf16(progIdName);
|
||||
auto progIdNameW = String::ToWideChar(progIdName);
|
||||
return progIdNameW;
|
||||
}
|
||||
|
||||
|
@ -569,10 +569,10 @@ static bool windows_setup_file_association(
|
|||
GetModuleFileNameW(nullptr, exePathW, (DWORD)std::size(exePathW));
|
||||
GetModuleFileNameW(plaform_get_dll_module(), dllPathW, (DWORD)std::size(dllPathW));
|
||||
|
||||
auto extensionW = String::ToUtf16(extension);
|
||||
auto fileTypeTextW = String::ToUtf16(fileTypeText);
|
||||
auto commandTextW = String::ToUtf16(commandText);
|
||||
auto commandArgsW = String::ToUtf16(commandArgs);
|
||||
auto extensionW = String::ToWideChar(extension);
|
||||
auto fileTypeTextW = String::ToWideChar(fileTypeText);
|
||||
auto commandTextW = String::ToWideChar(commandText);
|
||||
auto commandArgsW = String::ToWideChar(commandArgs);
|
||||
auto progIdNameW = get_progIdName(extension);
|
||||
|
||||
bool result = false;
|
||||
|
|
Loading…
Reference in New Issue