diff options
| author | Slenderman <ssimulpong@outlook.com> | 2026-03-01 14:22:01 -0500 |
|---|---|---|
| committer | Slenderman <ssimulpong@outlook.com> | 2026-03-01 14:22:01 -0500 |
| commit | a2bcce6426f6179ec8fbdda7086a16db2f69ae67 (patch) | |
| tree | fbfaa3a4ae9f936290b13f439edb8be44a8d2b98 | |
| parent | 6080c4ceac7a0968db06deac0853209f69aba2ab (diff) | |
fix my cast and put it into a separate function
| -rw-r--r-- | .gitignore | 3 | ||||
| -rw-r--r-- | Minecraft.Client/Common/UI/UIScene_SkinSelectMenu.cpp | 27 |
2 files changed, 15 insertions, 15 deletions
@@ -418,3 +418,6 @@ Minecraft.World/x64/ Minecraft.World/x64_Debug/ Minecraft.World/Debug/ Minecraft.World/Release/ +Minecraft.World/x64_Release/Minecraft.World.vcxproj.FileListAbsolute.txt +Minecraft.World/x64_Release/Minecraft.World.lib +Minecraft.World/x64_Release/Minecraft.World.lib.recipe diff --git a/Minecraft.Client/Common/UI/UIScene_SkinSelectMenu.cpp b/Minecraft.Client/Common/UI/UIScene_SkinSelectMenu.cpp index bce5e34e..33f41994 100644 --- a/Minecraft.Client/Common/UI/UIScene_SkinSelectMenu.cpp +++ b/Minecraft.Client/Common/UI/UIScene_SkinSelectMenu.cpp @@ -1242,6 +1242,15 @@ void UIScene_SkinSelectMenu::handlePackIndexChanged() updatePackDisplay(); } +std::wstring fakeWideToRealWide(const wchar_t* original) +{ + const char* name = reinterpret_cast<const char*>(original); + int len = MultiByteToWideChar(CP_UTF8, 0, name, -1, NULL, 0); + std::wstring wName(len, 0); + MultiByteToWideChar(CP_UTF8, 0, name, -1, &wName[0], len); + return wName.c_str(); +} + void UIScene_SkinSelectMenu::updatePackDisplay() { m_currentPackCount = app.m_dlcManager.getPackCount(DLCManager::e_DLCType_Skin) + SKIN_SELECT_MAX_DEFAULTS; @@ -1250,11 +1259,7 @@ void UIScene_SkinSelectMenu::updatePackDisplay() { DLCPack *thisPack = app.m_dlcManager.getPack(m_packIndex - SKIN_SELECT_MAX_DEFAULTS, DLCManager::e_DLCType_Skin); // Fix the incorrect string type on title to display correctly - const char* name = static_cast<const char*>(thisPack->getName().c_str()); - int len = MultiByteToWideChar(CP_UTF8, 0, name, -1, NULL, 0); - std::wstring wName(len, 0); - MultiByteToWideChar(CP_UTF8, 0, name, -1, &wName[0], len); - setCentreLabel(wName.c_str()); + setCentreLabel(fakeWideToRealWide(thisPack->getName().c_str())); //setCentreLabel(thisPack->getName().c_str()); } else @@ -1275,11 +1280,7 @@ void UIScene_SkinSelectMenu::updatePackDisplay() { DLCPack *thisPack = app.m_dlcManager.getPack(nextPackIndex - SKIN_SELECT_MAX_DEFAULTS, DLCManager::e_DLCType_Skin); // Fix the incorrect string type on title to display correctly - const char* name = static_cast<const char*>(thisPack->getName().c_str()); - int len = MultiByteToWideChar(CP_UTF8, 0, name, -1, NULL, 0); - std::wstring wName(len, 0); - MultiByteToWideChar(CP_UTF8, 0, name, -1, &wName[0], len); - setRightLabel(wName.c_str()); + setRightLabel(fakeWideToRealWide(thisPack->getName().c_str())); //setRightLabel(thisPack->getName().c_str()); } else @@ -1300,11 +1301,7 @@ void UIScene_SkinSelectMenu::updatePackDisplay() { DLCPack *thisPack = app.m_dlcManager.getPack(previousPackIndex - SKIN_SELECT_MAX_DEFAULTS, DLCManager::e_DLCType_Skin); // Fix the incorrect string type on title to display correctly - const char* name = static_cast<const char*>(thisPack->getName().c_str()); - int len = MultiByteToWideChar(CP_UTF8, 0, name, -1, NULL, 0); - std::wstring wName(len, 0); - MultiByteToWideChar(CP_UTF8, 0, name, -1, &wName[0], len); - setLeftLabel(wName.c_str()); + setLeftLabel(fakeWideToRealWide(thisPack->getName().c_str())); //setLeftLabel(thisPack->getName().c_str()); } else |
