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
This commit is contained in:
dtentiion
2026-03-05 20:57:37 +00:00
committed by GitHub
parent f48a39ae3d
commit aadb511504
12 changed files with 486 additions and 21 deletions

View File

@@ -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;