aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/Common/UI/UIScene_Keyboard.h
diff options
context:
space:
mode:
authordtentiion <dtentiongit@gmail.com>2026-03-05 20:57:37 +0000
committerGitHub <noreply@github.com>2026-03-05 14:57:37 -0600
commitaadb5115040cfe0199e79a3e32dada6aa4b99fda (patch)
tree7aba2ccfc2d3361272ad0380ec69c98a4f6c3efe /Minecraft.Client/Common/UI/UIScene_Keyboard.h
parentf48a39ae3d72fc47ed3a050f6419716dc398d8f5 (diff)
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
Diffstat (limited to 'Minecraft.Client/Common/UI/UIScene_Keyboard.h')
-rw-r--r--Minecraft.Client/Common/UI/UIScene_Keyboard.h16
1 files changed, 16 insertions, 0 deletions
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