| Age | Commit message (Collapse) | Author |
|
|
|
* Initial fixes for ContainerSetSlotPacket and CraftItemPacket
* Chat: paste, history, § formatting, 1-9 block when open (Windows64)
Made-with: Cursor
* static_cast refactor
|
|
persistence (#536)
* fix: fix multiplayer player data mix between different players bug
Fixes a Win64 multiplayer issue where player data (`players/*.dat`) could be mismatched because identity was effectively tied to connection-order `smallId` XUIDs.
Introduces a deterministic username-derived persistent XUID and integrates it into the existing XUID-based save pipeline.
- Added `Windows64_NameXuid` for deterministic `name -> persistent xuid` resolution
- On Win64 login (`PlayerList`), set `ServerPlayer::xuid` from username-based resolver
- Aligned local player `xuid` assignment (`Minecraft`) for create/init/respawn paths to use the same resolver
- Added Win64 local-self guard in `ClientConnection::handleAddPlayer` using name match to avoid duplicate local remote-player creation
- Kept `IQNet::GetPlayerByXuid` compatibility fallback behavior, while extending lookup to also resolve username-based XUIDs
- Moved implementation to `Minecraft.Client/Windows64/Windows64_NameXuid.h`; kept legacy `Win64NameXuid.h` as compatibility include
Rename migration is intentionally out of scope (same-name identity only).
* fix: preserve legacy host xuid (base xuid + 0) for existing world compatibility
- Add legacy embedded host XUID helper (base + 0).
- When Minecraft.Client is hosting, force only the first host player to use legacy host XUID.
- Keep name-based XUID for non-host players.
- Prevent old singleplayer/hosted worlds from losing/mismatching host player data.
* update: migrate Win64 player uid to `uid.dat`-backed XUID and add XUID based duplicate login guards
- Replace Win64 username-derived XUID resolution with persistent `uid.dat`-backed identity (`Windows64_Xuid` / `Win64Xuid`).
- Persist a per-client XUID next to the executable, with first-run generation, read/write, and process-local caching.
- Keep legacy host compatibility by pinning host self to legacy embedded `base + 0` XUID for existing world/playerdata continuity.
- Propagate packet-authoritative XUIDs into QNet player slots via `m_resolvedXuid`, and use it for `GetXuid`/`GetPlayerByXuid` with legacy fallback.
- Update Win64 profile/network paths to use persistent XUID for non-host clients and clear resolved identity on disconnect.
- Add login-time duplicate checks: reject connections when the same XUID is already connected (in addition to existing duplicate-name checks on Win64).
- Add inline compatibility comments around legacy/new identity coexistence paths for easier future maintenance.
* update: ensure uid.dat exists at startup in client mode for multiplayer
|
|
* per user config should be .gitignored
* add comment surrounding gitignore update
* make it wildcard
* add fullscreen to launch option struct
* remove redundant forward declaration and use fullscreen launch option in main
|
|
|
|
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
|
|
* Fix gamma slider via pixel shader #178
* LCE-like gamma using postprocess shader
|
|
|
|
* Fix debug menu opening game info menu
* remove redundant F4 handling
|
|
Save fullscreen toggle state to options.txt when F11 is pressed, and restore it on the next launch. When starting in windowed mode, the window now opens maximized instead of at a smaller default size.
Previously, g_isFullscreen was hardcoded to false and never persisted, so the game always started in windowed mode. The window also started at a non-maximized size requiring manual maximization.
Fixes #391
|
|
* Add initial AnyAspectRatio support
* Remove some logic that didn't work
* Remove rogue back slash
* Remove more remnants
* Update UILayer.h
* Update some comments
* Remove WIP UI changes
* Fix diffs
* Remove UI resize call from `UpdateAspectRatio`
* handle merge conflict
* Update to C++ style static cast
* Fix syntax
|
|
|
|
Still allows for -name launch argument, but restores old expected behavior
|
|
This could reveal someone's private information on a livestream or video.
We need a long-term username implementation
|
|
|
|
|
|
* Fix overlapping debug menus and screens
Also resolves a formatting issue with clang-format
* Update readme
|
|
* Update username logic and implement latest LCEMP changes
* Update old reference
* Fix tutorial world crash
* Restore deleted comment
|
|
* fix saving issue & multiple username implementations
* Update README.md
Updated the method for overriding in-game username from '-name' to 'username.txt'.
* remove unused include i forgot to get rid of while testing
|
|
|
|
ga…" (#235)
This reverts commit 7f7d99501cf87fcc234a5d3af453e7e0642f96a3.
|
|
setti…" (#234)
This reverts commit b8a7f816b52775fdcfb3503f0000accb8cd65765.
|
|
|
|
|
|
(settings.dat) (#195)
|
|
* Implement basic multiplayer functionality
* Update README.md
---------
Co-authored-by: Slenderman <ssimulpong@outlook.com>
|
|
* TAB key opens up game info instead of host options
TAB key opens up game info menu instead of host options menu because the player accesses host options from game info
* Update README.md
|
|
|
|
|
|
* Call SetProcessDpiAwareness via GetProcAddress to preserve Windows 7 compatibility
Shcore.dll and SetProcessDpiAwareness were introduced in Windows 8 and higher, so to keep compatibility with Windows 7, we use GetProcAddress to call this function dynamically, avoiding linker writing binary dependency on shcore.dll in the import table
* Revert "Call SetProcessDpiAwareness via GetProcAddress to preserve Windows 7 compatibility"
This reverts commit f1f397fdbe64e64ab8f7b5457e8206e9193cece0.
* Reapply the fix
|
|
|
|
This reverts commit 8c18926d5911343975604b93c51efbcd926c133a.
|
|
This reverts commit afa4efbc8513cbb8565b9700cae48648e3dffe29.
|
|
* fix: fix UI skin/scene resolution mismatch and readd screen resolution detection
* fix: fix build in vs2022
|
|
* feat: Added f3 and f4 keys to open debug stuff
* fix: only open debug overlay when ingame, to avoid crashes
* docs: added keybinds to docs
* docs: moved the keybinds to the bottom, as they are less important
* fix: add missing # ifdef
|
|
|
|
The code that was supposed to make the game DPI-aware was broken. I remove it until a proper implementation.
|
|
|
|
Windows: More proper shutdown
|
|
This reverts commit 33e1b5ceb9970e08cb6b2b987afdff4bd42331ac, reversing
changes made to 44b68333a31727f2869470acb8df3dab2c653f68.
This is a hacky way of doing it instead of just copying the assets that are needed
|
|
|
|
thx to @void2012
|
|
In _tWinMain (Windows64_Minecraft.cpp) add logic to detect if the executable path contains "\\x64\\". If found, truncate the path at that position, append "\\Minecraft.Client" and call SetCurrentDirectoryA to set the process working directory. This ensures relative resource paths resolve correctly when running from an x64 build output directory; the change is guarded by a substring check and uses MAX_PATH-safe APIs.
|
|
|
|
|
|
1. Converted `MinecraftWindows.rc` and `Resource.h` to UTF-8 from UTF-16(they didn't use any UTF-16 symbols anyway);
2. Added explicit signed->unsigned integer casts in `gdraw_d3d1x_shared.inl` for C++11 compatibility
3. Linked against `legacy_stdio_definitions.lib` to avoid undefined references to `_vsnprintf` llvm-link errors
|
|
|
|
|
|
|
|
|