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/Common/UI/UIScene_Keyboard.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'Minecraft.Client/Common/UI/UIScene_Keyboard.h') diff --git a/Minecraft.Client/Common/UI/UIScene_Keyboard.h b/Minecraft.Client/Common/UI/UIScene_Keyboard.h index f4e4c899..054322f2 100644 --- a/Minecraft.Client/Common/UI/UIScene_Keyboard.h +++ b/Minecraft.Client/Common/UI/UIScene_Keyboard.h @@ -7,6 +7,14 @@ class UIScene_Keyboard : public UIScene private: bool m_bKeyboardDonePressed; +#ifdef _WINDOWS64 + int(*m_win64Callback)(LPVOID, const bool); + LPVOID m_win64CallbackParam; + wstring m_win64TextBuffer; + int m_win64MaxChars; + bool m_bPCMode; // Hides on-screen keyboard buttons; physical keyboard only +#endif + protected: UIControl_Label m_EnterTextLabel; UIControl_TextInput m_KeyboardTextInput; @@ -49,6 +57,10 @@ public: // INPUT virtual void handleInput(int iPad, int key, bool repeat, bool pressed, bool released, bool &handled); +#ifdef _WINDOWS64 + virtual void tick(); +#endif + virtual void handleTimerComplete(int id); protected: @@ -75,5 +87,9 @@ public: #endif // Returns true if lower scenes in this scenes layer, or in any layer below this scenes layers should be hidden +#ifdef _WINDOWS64 + virtual bool hidesLowerScenes() { return true; } +#else virtual bool hidesLowerScenes() { return false; } +#endif }; \ No newline at end of file -- cgit v1.2.3