From d4ef7b08949db9b094d37d860ce7209425972c27 Mon Sep 17 00:00:00 2001 From: dtentiion Date: Thu, 5 Mar 2026 01:42:40 +0000 Subject: [PATCH] Fixed gamertag being blank upon renaming and re-joining a save --- Minecraft.Client/Common/UI/UIScene_LoadMenu.cpp | 9 ++++++++- Minecraft.Client/Extrax64Stubs.cpp | 4 ++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/Minecraft.Client/Common/UI/UIScene_LoadMenu.cpp b/Minecraft.Client/Common/UI/UIScene_LoadMenu.cpp index 92f2a403f..ed3c8137e 100644 --- a/Minecraft.Client/Common/UI/UIScene_LoadMenu.cpp +++ b/Minecraft.Client/Common/UI/UIScene_LoadMenu.cpp @@ -2,6 +2,7 @@ #include "UI.h" #include "UIScene_LoadMenu.h" #include "..\..\Minecraft.h" +#include "..\..\User.h" #include "..\..\TexturePackRepository.h" #include "..\..\Options.h" #include "..\..\MinecraftServer.h" @@ -273,7 +274,7 @@ UIScene_LoadMenu::UIScene_LoadMenu(int iPad, void *initData, UILayer *parentLaye m_bIgnoreInput = false; Minecraft *pMinecraft = Minecraft::GetInstance(); - int texturePacksCount = pMinecraft->skins->getTexturePackCount(); + unsigned int texturePacksCount = (unsigned int)pMinecraft->skins->getTexturePackCount(); for(unsigned int i = 0; i < texturePacksCount; ++i) { TexturePack *tp = pMinecraft->skins->getTexturePackByIndex(i); @@ -1629,6 +1630,12 @@ void UIScene_LoadMenu::StartGameFromSave(UIScene_LoadMenu* pClass, DWORD dwLocal param->settings = app.GetGameHostOption( eGameHostOption_All ); +#ifdef _WINDOWS64 + { + extern wchar_t g_Win64UsernameW[17]; + Minecraft::GetInstance()->user->name = g_Win64UsernameW; + } +#endif #ifndef _XBOX g_NetworkManager.FakeLocalPlayerJoined(); #endif diff --git a/Minecraft.Client/Extrax64Stubs.cpp b/Minecraft.Client/Extrax64Stubs.cpp index 5a3c52790..29865e400 100644 --- a/Minecraft.Client/Extrax64Stubs.cpp +++ b/Minecraft.Client/Extrax64Stubs.cpp @@ -329,6 +329,10 @@ void IQNet::EndGame() m_player[i].m_gamertag[0] = 0; m_player[i].SetCustomDataValue(0); } + // Restore local player 0's gamertag so re-joining works correctly + extern wchar_t g_Win64UsernameW[17]; + m_player[0].m_isHostPlayer = true; + wcscpy_s(m_player[0].m_gamertag, 32, g_Win64UsernameW); } DWORD MinecraftDynamicConfigurations::GetTrialTime() { return DYNAMIC_CONFIG_DEFAULT_TRIAL_TIME; }