Commit Graph

129 Commits

Author SHA1 Message Date
GabsPuNs
6b54299695 Discord Rich Presence 2026-04-19 03:03:52 -04:00
GabsPuNs
d318f40f1c F2 Screenshot + Update World Icons 2026-04-18 23:34:28 -04:00
GabsPuNs
0139a1d9c3 Swap from mi_malloc to malloc
I don't know how to use the modern ver of malloc
2026-04-18 16:01:31 -04:00
GabsPuNs
28cd1dd580 Revert secure funcs part 2 2026-04-18 14:10:17 -04:00
GabsPuNs
86879aa2fc Revert Secure funcs Part 1 2026-04-18 14:08:30 -04:00
GabsPuNs
1ceeb2a647 Merge
Use Latest 4JLIBS
Swap to mimalloc-static
Merge keyboard commits except HTML ones.
2026-04-18 12:12:40 -04:00
GabsPuNs
b9f73b00e2 Updates 2026-04-17 18:17:36 -04:00
GabsPuNs
289c74cc91 Revert DXGI_SWAP_EFFECT_FLIP_DISCARD
The game does not support it properly.
2026-04-15 19:25:08 -04:00
GabsPuNs
bd811a02fd Changes 2026-04-15 16:59:59 -04:00
GabsPuNs
76ee5fa8d8 Use Secure print funcs. Remove LCE File System 2026-04-14 03:44:00 -04:00
GabsPuNs
40d48948ff Use BYTE Win Typedef instead of byte typedef from Minecraft.World
"byte" wasnt working anymore for some reason
2026-04-13 17:54:28 -04:00
GabsPuNs
48d1f1dfe8 Use 64 bits for GetTickCount64 2026-04-13 04:41:54 -04:00
GabsPuNs
3d5357eeb3 More changes
Remove include stdafx.h from the .h files.
Replace malloc with mi_malloc and free with mi_free
Move MiniAudio and Zlib to Libs folder
2026-04-13 04:31:42 -04:00
GabsPuNs
6be56e5786 Update GetTickCount to GetTickCount64 2026-04-11 10:06:31 -04:00
GabsPuNs
1bc99a027d Changes
CPU SetPriority changes
Add SetProcessor for WINDOWS64
Fix Sheep color (jeb_)
More const to constexpr
2026-04-11 04:52:43 -04:00
GabsPuNs
23102c65b6 Remove 32 chunks render distance 2026-04-07 21:43:38 -04:00
GabsPuNs
792248c5d5 TU25 changes 2026-04-07 19:54:38 -04:00
GabsPuNs
a300c41a9d Stuff 2026-04-04 03:36:58 -04:00
GabsPuNs
757087d427 Update to C++20 2026-04-03 21:25:29 -04:00
GabsPuNs
385c1c711a Quick Equipment 2026-04-01 20:15:32 -04:00
GabsPuNs
489e19435c Localization for Classic Crafting 2026-04-01 01:42:18 -04:00
GabsPuNs
3523e3450c Add 2x2 classic crafting 2026-04-01 01:24:32 -04:00
GabsPuNs
e41642fe0b Update UILayer.cpp 2026-03-31 17:33:52 -04:00
GabsPuNs
deea6c12a6 Added 3x3 Crafting Menu 2026-03-31 06:19:16 -04:00
GabsPuNs
822e7f7c94 Fixes
- Disable annoying label in the hud.
- Updated game logo.
2026-03-29 23:24:55 -04:00
GabsPuNs
58461bfa3f Fixes
Renamed LoadOrJoinMenu to LoadCreateJoinMenu.
Fixed a Memory Leak.
Fixed GamemodeSlider.
2026-03-29 19:53:49 -04:00
GabsPuNs
a0f9d0f4d7 Revert "Remove Extra graphics mode."
This reverts commit 168b38249c.
2026-03-29 15:40:50 -04:00
GabsPuNs
940eaa54ac Classic Crafting (Dont Work) + Ice Texture Update 2026-03-29 15:40:36 -04:00
GabsPuNs
2e442104a2 TU 25 blocks + Cave Sound Option 2026-03-29 05:04:10 -04:00
GabsPuNs
168b38249c Remove Extra graphics mode.
Not needed anymore in TU25
2026-03-29 01:21:16 -04:00
GabsPuNs
edef78e648 TU25 Assets 2026-03-29 00:25:48 -04:00
GabsPuNs
f79ca9e411 Support for TU24 has been extended.
Since the TU25 update still requires a lot of work and the TU24 version does not yet include all the features, I have decided to continue working with the TU24 version for now.

Merge latest changes from Minecraft Consoles:
* Added support for Big-Endian DLCs.
* Fix redstone tick persistence on chunk unload.
* Fix pistons permanently breaking server-wide on dedicated servers.
* Fix Ender Dragon damage and End Poem crash.
* Disable font mipmapping to get rid of artifacts on signs.

Other:
* Music Fixes.
* Added missing sounds (Caves, Horse Eat, Sheep Shear, Water Swim, Thorns)
* Remove duplicated sounds.
* Added High Quality ver of "The End Dragon Alive" music.
* Fix Mobs sounds volume.
* Added Old Swing Animation Option.
* Added Graphics Mode (Potato, Fast, Fancy and Extra)
* Fix a small memory leak with signs.
* Fixed Pig Zombies attacking creative players.
2026-03-28 06:27:19 -04:00
GabsPuNs
7deba3acb2 Final Update for TU24 2/3
LCE Renewed
- Merged some fixes and code updates from TU25.
* Fixed transparent items in hand.
* Beacon beams fixes.
- Fixed a crash when a dispenser is dispensing water or lava when the dispenser is blocked.

Minecraft Consoles
- Merged Asynchronous server joining
- Memory leak fix: Make chunks unload properly

Other
- Fixed Server Menu and Rename World Menu in 720p Res
2026-03-25 05:01:35 -04:00
GabsPuNs
461e0f13dc Final Update for TU24 Part 1
Merged Minecraft-Consoles and LCE Renewed Latest Changes
 - Fixed Ice and Stained Glass X-Ray.
 - Fix initial cursor position for in-game UI elements.
 - Make handleParticleEvent actually parse the particle type instead of hardcoding hearts.
 - Add advanced tooltips, F3+H combo, and handle settings.

Other Fixes & Changes.
 - The sound from the portal was reduced.
 - Stained Glass removed from creative mode.
 - New F3 Menu.
 - Reduced UI Sounds volume by 25%.
 - Minor Fixes.
2026-03-24 04:07:17 -04:00
GabsPuNs
4acbe79ac0 Remove 64 chunks option. It Crash the game in any world size. 2026-03-23 01:25:09 -04:00
GabsPuNs
314d5038f6 Merge again
Skip stained glass commit. It will be added with the TU25 commit.
2026-03-22 22:47:02 -04:00
GabsPuNs
7e6d9c54c9 Revert change made by Void 2026-03-22 19:28:27 -04:00
GabsPuNs
78419d67d1 Merge Latest changes from Minecraft Consoles 2026-03-22 19:23:08 -04:00
GabsPuNs
10e23d3422 Update UIScene_SkinSelectMenu.cpp 2026-03-22 03:05:08 -04:00
GabsPuNs
5f747ee89f Update UIScene_LoadMenu.cpp 2026-03-22 02:39:43 -04:00
GabsPuNs
dd839194ce More audio changes 2026-03-21 16:27:55 -04:00
GabsPuNs
180b4a117b Revert "NULL to nullptr"
This reverts commit 4b4b20a84b.
2026-03-21 00:04:26 -04:00
GabsPuNs
4b4b20a84b NULL to nullptr 2026-03-20 23:51:37 -04:00
GabsPuNs
cc6403cf9a Port Audio Changes from Renewed 2026-03-20 23:30:30 -04:00
Xenovyy
a94ee1ca22 Fixed the ear bleeding sound when using a slider with mouse controls (#1296)
* Fixed the ear bleeding sound when using a slider with mouse controls

Now only ticks every 9 "ticks" unless the slider has less than 18 possible values..

* cured rtm516's ocd

title

* rtm516 reaches enlightenment

* rtm516 reaches total enlightenment
2026-03-17 22:44:12 +00:00
Loki Rautio
1a3fcb5b20 Remove Miles Sound System from credits
we don't use it anymore!
2026-03-17 16:22:49 -05:00
Loki Rautio
a3ca23fdf6 Cleanup project credits and README 2026-03-17 16:15:26 -05:00
Alex
994a23f96b Fix save space indicator display
Include space indicator UI element in windows build, logic to handle getting save file sizes on windows
2026-03-17 07:44:52 -07:00
Xenovyy
15ea3dc85c Adjusted Exit Game title (#1277)
* Adjusted Exit Game title

Replaced "Return to Xbox Dashboard" with "Exit Minecraft" on the exit game screen.

* Fixed Blending on Intro Sequence

Fixed Blocky, Crappy blending on the ESRB and Mojang Logos in the Intro Sequence.
2026-03-15 18:12:53 -05:00
MrTheShy
ad74d44300 Fix joining servers in split screen, splitscreen fixes (#1031)
* Fix split-screen join failing when connecting to a remote host via UI

When a non-host client connected to a remote server through the in-game
UI (as opposed to the -ip/-port command line flags), the global variables
g_Win64MultiplayerIP and g_Win64MultiplayerPort were never updated from
their defaults ("127.0.0.1" and the default port). JoinSplitScreen()
relies on these globals to open a second TCP connection for the local
split-screen pad, so it would always attempt to connect to localhost,
failing immediately on any remote session.

Fix: update g_Win64MultiplayerIP and g_Win64MultiplayerPort inside
JoinGame() once the primary connection is established. This ensures
subsequent JoinSplitScreen() calls always reach the correct host
regardless of how the session was joined.

Additionally, guard PushFreeSmallId() against recycling smallIds in the
range [0, XUSER_MAX_COUNT), which are permanently reserved for the
host's local controller slots. Previously, if a host-side local pad
disconnected its smallId could re-enter the free pool and be handed
to an incoming remote client, causing that client's IQNetPlayer slot
to collide with a local pad slot on the non-host machine.

* Fix tutorial popup positioning in split-screen viewports

Replace the manual switch-case that computed viewport origin with the shared GetViewportRect/Fit16x9 helpers (from UISplitScreenHelpers.h). This ensures the tutorial popup is positioned and scaled consistently with the rest of the split-screen UI, fitting a 16:9 box inside each viewport and applying safezone offsets correctly.

Also adds missing default:break to safezone switch statements to silence compiler warnings.

Made-with: Cursor

* Prevent split-screen join when game window is not focused

Add g_KBMInput.IsWindowFocused() guard to the tryJoin condition so that gamepad input from background windows does not accidentally trigger a split-screen player join. This avoids phantom joins when the user is interacting with another application.

* Open debug overlay in fullscreen UI group during split-screen

Pass eUIGroup_Fullscreen to NavigateToScene when opening the debug overlay, so it spans the entire window instead of being confined to a single split-screen viewport. This makes the debug info readable regardless of the current split-screen layout.

* Fix non-host split-screen connections missing world updates

Previously, secondary (non-host) split-screen connections used isPrimaryConnection()
to gate nearly all world update packets, meaning the second local player would never
receive tile updates, entity movement, sounds, particles, explosions, etc.

The fix introduces per-connection tracking of which entities and chunks each
ClientConnection has loaded, and uses that information to decide whether a secondary
connection needs to process a given packet or if the primary connection already
handled it.

New members in ClientConnection:
- m_trackedEntityIds: set of entity IDs this connection has received AddEntity/AddMob/AddPlayer etc. for
- m_visibleChunks: set of chunk coordinates (packed into int64) this connection has marked visible
- Both sets are cleared on close(), respawn (dimension change), and destructor

New helpers:
- findPrimaryConnection(): walks the MultiPlayerLevel connection list to find the connection on the primary pad
- shouldProcessForEntity(id): secondary connection skips the packet only if the primary is already tracking that entity
- shouldProcessForPosition(x, z): secondary connection skips the packet only if the primary already has that chunk visible
- anyOtherConnectionHasChunk(x, z): used when a chunk becomes invisible to avoid hiding it from the level if another connection still needs it
- isTrackingEntity(id): public accessor used by shouldProcessForEntity on the primary connection

Packet handler changes:
- handleMoveEntity, handleMoveEntitySmall, handleSetEntityMotion, handleTakeItemEntity:
  replaced isPrimaryConnection() with shouldProcessForEntity() so secondary
  connections still process movement for entities they know about
- handleExplosion, handleLevelEvent:
  replaced isPrimaryConnection() with shouldProcessForPosition() so block
  destruction and level events fire for the correct connection based on chunks
- handleChunkTilesUpdate, handleBlockRegionUpdate, handleTileUpdate, handleSignUpdate,
  handleTileEntityData, handleTileEvent, handleTileDestruction, handleComplexItemData,
  handleSoundEvent, handleParticleEvent:
  removed the isPrimaryConnection() guard entirely -- these are world-state updates
  that all connections must process regardless of which pad is primary
- handleChunkVisibilityArea / handleChunkVisibility:
  now populate m_visibleChunks; on visibility=false, setChunkVisible(false) is
  only called on the level if no other connection still has that chunk loaded
- handleAddEntity, handleAddExperienceOrb, handleAddPainting, handleAddPlayer,
  handleAddMob: now insert into m_trackedEntityIds on arrival
- handleRemoveEntity: now erases from m_trackedEntityIds on removal
- handleLevelEvent: removed a duplicate levelEvent() call that was always firing
  regardless of the isPrimaryConnection() check above it (latent bug)

MultiPlayerLevel: added friend class ClientConnection to allow access to the
connections list without exposing it publicly.

* Fix fullscreen progress screen swallowing input before load completes

Two issues in UIScene_FullscreenProgress::handleInput:

1. The touchpad/button press that triggers movie skip or input forwarding
   had no guard on m_threadCompleted, so pressing a button during the loading
   phase would fire the skip/send logic before the background thread finished.
   Added the m_threadCompleted check so that path is only reachable once
   the load is actually done.

2. The `handled = true` assignment was missing from that branch, so input
   events were not being consumed and could fall through to other handlers.
   Added it unconditionally at the end of the block.

* Update player count decrement logic in PlatformNetworkManagerStub

Refactor the condition for decrementing the player count in CPlatformNetworkManagerStub::DoWork. The previous check was replaced with a while loop to ensure that the player count is only decremented when there are more than one player and the last player's custom data value is zero. This change improves the handling of player connections in the network manager.

* Refactor safe zone calculations in UI components for consistency

Updated the safe zone calculations across multiple UI components to ensure symmetry in split viewports. Removed unnecessary assignments and added comments for clarity. Modified the repositionHud function to include an additional parameter for better handling of HUD positioning in split-screen scenarios.

* Gui.cpp: fix F3 debug overlay in splitscreen + minor perf cleanup

The F3 debug screen was badly broken in splitscreen: it used the GUI
coordinate space which gets distorted by the splitscreen scaling, so
text appeared stretched, misaligned or completely off-screen depending
on the viewport layout.

Fixed by setting up a dedicated projection matrix using physical pixel
coordinates (g_rScreenWidth / g_rScreenHeight) each time the overlay is
drawn, completely decoupled from whatever transform the HUD is using.
The viewport dimensions are now computed per screen section so the ortho
projection matches the actual pixel area of each player's quadrant.
Version and branch strings are only shown for player 0 (iPad == 0) to
avoid repeating them across every splitscreen pane.

Also removed a few redundant calculations that were being done twice in
the same frame (atan for xRot, health halves, air supply scaled value).
These are minor and have negligible real-world impact; more substantial
per-frame caching work (safe zone calculations etc.) will follow in a
separate commit.
2026-03-13 01:32:18 -05:00