From aadb5115040cfe0199e79a3e32dada6aa4b99fda Mon Sep 17 00:00:00 2001 From: dtentiion Date: Thu, 5 Mar 2026 20:57:37 +0000 Subject: Fix save list, delete save, exit without saving, and blank username on Windows64 (#539) * Fix world save rename not applying new name KeyboardCompleteWorldNameCallback had no _WINDOWS64 branch, so the typed name was validated then silently discarded on every rename attempt. Write the new name to a worldname.txt sidecar file next to the save (Windows64\GameHDD\{folder}\worldname.txt) and update the in-memory display name immediately. ReadLevelNameFromSaveFile now checks for this sidecar first so renamed saves persist correctly across restarts. * Fixed gamertag being blank upon renaming and re-joining a save * Save deletion fix, exiting without saving fix * Add native in-game keyboard UI for world naming and renaming --- Minecraft.Client/Windows64/KeyboardMouseInput.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'Minecraft.Client/Windows64/KeyboardMouseInput.h') diff --git a/Minecraft.Client/Windows64/KeyboardMouseInput.h b/Minecraft.Client/Windows64/KeyboardMouseInput.h index 5945b26a..fff924bf 100644 --- a/Minecraft.Client/Windows64/KeyboardMouseInput.h +++ b/Minecraft.Client/Windows64/KeyboardMouseInput.h @@ -84,6 +84,11 @@ public: void SetScreenCursorHidden(bool hidden) { m_screenWantsCursorHidden = hidden; } bool IsScreenCursorHidden() const { return m_screenWantsCursorHidden; } + // Text input: buffer characters typed while the native keyboard scene is open + void OnChar(wchar_t c); + bool ConsumeChar(wchar_t &outChar); + void ClearCharBuffer(); + float GetMoveX() const; float GetMoveY() const; @@ -129,6 +134,11 @@ private: bool m_kbmActive; bool m_screenWantsCursorHidden; + + static const int CHAR_BUFFER_SIZE = 32; + wchar_t m_charBuffer[CHAR_BUFFER_SIZE]; + int m_charBufferHead; + int m_charBufferTail; }; extern KeyboardMouseInput g_KBMInput; -- cgit v1.2.3