Commit graph

1611 commits

Author SHA1 Message Date
JuiceyDev ddfdbcd1bc
Update README progress numbers. (#370)
Some checks failed
Publish Documentation / build (push) Has been cancelled
Build (Linux, x86-64) / build-linux (push) Has been cancelled
Format Check / clang-format (push) Has been cancelled
* Updated Readme numberz

* README: fix asset paths

---------

Co-authored-by: ffqq <36998498+realffqq@users.noreply.github.com>
2026-03-30 19:02:02 +03:00
Tropical bedd46fcec
Merge pull request #366 from TheComputerGuy96/fix/ci-meson
CI improvements
2026-03-30 10:57:32 -05:00
Echo J. b9b033c0a0 CI: Allow manual triggering for all workflows 2026-03-30 15:55:11 +00:00
Echo J. a03bdcaedf CI: Update cache action version 2026-03-30 15:55:11 +00:00
Echo J. 4f92504668 CI: Remove useless Meson cache/patchelf installation 2026-03-30 15:55:11 +00:00
Echo J. a045d26f05 CI: Fix the ccache path (and re-add cache key fallback) 2026-03-30 15:55:11 +00:00
Echo J. b6699f0269 CI: Use direct compiler variables instead of a native file
This interferes with our ccache setup
2026-03-30 15:55:11 +00:00
Echo J. d393a09a58 CI: Remove redundant ccache options 2026-03-30 15:55:11 +00:00
Tropical d5cf90c713
Merge pull request #369 from MatthewBeshay/refactor/nuke-critical-sections
Refactor/nuke critical sections
2026-03-30 09:37:57 -05:00
Tropical 1767c3f6e9 chore: fmt 2026-03-30 09:37:24 -05:00
MatthewBeshay e911e07a58 Refactor C4JThread: modernise API naming and replace Windows constants
Rename all PascalCase methods to camelCase, replace Windows macro constants with C++ constexpr members, convert ThreadPriority to enum class, remove unused Sleep(), fix memory ordering on inline accessors, extract platform code into helpers.
2026-03-31 01:06:06 +11:00
MatthewBeshay 156a23d744 Remove dead _ENTITIES_RW_SECTION code and update stale critical section comments
The RW section code path was never compiled. Updated remaining comments to reflect mutex/lock terminology.
2026-03-31 00:23:35 +11:00
MatthewBeshay a513fa7597 Rename CriticalSection wrapper functions to match std::mutex usage
EnterCallbackIdCriticalSection/LeaveCallbackIdCriticalSection -> lockCallbackScenes/unlockCallbackScenes, EnterSaveNotificationSection/LeaveSaveNotificationSection -> lockSaveNotification/unlockSaveNotification, m_saveNotificationCriticalSection -> m_saveNotificationMutex.
2026-03-31 00:16:16 +11:00
MatthewBeshay e4520df31f Restore recursive locking for mutexes converted from CRITICAL_SECTION
CRITICAL_SECTION is reentrant; std::mutex is not. This caused deadlocks during world generation, post-processing, and saving.
2026-03-30 22:14:14 +11:00
MatthewBeshay 57e4bdd973 Fix dirtyChunksLock scope in updateDirtyChunks
Move unique_lock declaration before the FRAME_PROFILE_SCOPE block so it remains in scope for the unlock() calls in the #if/#else branches below.
2026-03-30 19:12:22 +11:00
MatthewBeshay f1df21590b Merge dev and resolve formatting conflicts 2026-03-30 19:00:30 +11:00
MatthewBeshay 123c326881 Merge remote-tracking branch 'origin/dev' into refactor/nuke-critical-sections 2026-03-30 18:54:27 +11:00
MatthewBeshay bc6013ab70 Replace all CRITICAL_SECTION usage with std::mutex and std::lock_guard
Migrates 59 files from WinAPI CRITICAL_SECTION to portable C++ std::mutex/std::lock_guard/std::unique_lock. Removes Linux CRITICAL_SECTION shims from winapi_stubs.h.
2026-03-30 18:45:55 +11:00
Tropical 8a83ea0879
Merge pull request #363 from 4jcraft/chore/fmt2
Some checks are pending
Publish Documentation / build (push) Waiting to run
Build (Linux, x86-64) / build-linux (push) Waiting to run
Format Check / clang-format (push) Waiting to run
chore: format everything
2026-03-30 02:33:42 -05:00
Tropical a8b9e9a185 wtf 2026-03-30 02:31:58 -05:00
Tropical 078eb3a144 format UIScene_ControlsMenu 2026-03-30 02:24:37 -05:00
Tropical 826862e79e format more things i missed 2026-03-30 02:19:38 -05:00
Tropical c9b90cae2c chore: format everything 2026-03-30 02:17:54 -05:00
Tropical 470ddf959d
Merge pull request #362 from 4jcraft/in-tree-4jlibs
nuke Windows64 4jlibs
2026-03-30 02:11:45 -05:00
Tropical f1c9edb6b6 nuke Windows64 4jlibs 2026-03-30 02:11:28 -05:00
MatthewBeshay c772cfe8b3
Merge pull request #361 from 4jcraft/in-tree-4jlibs
refactor: bring 4jlibs back in-tree
2026-03-30 18:09:11 +11:00
Tropical ecc15c6148 refactor: bring 4jlibs back in-tree 2026-03-30 02:04:44 -05:00
Tropical 7c7446f407
Merge pull request #360 from MatthewBeshay/refactor/nuke-winapi-types
Refactor/nuke winapi types
2026-03-30 01:45:58 -05:00
MatthewBeshay 8a6d279230
Merge branch '4jcraft:dev' into refactor/nuke-winapi-types 2026-03-30 17:37:02 +11:00
MatthewBeshay 28d68befd4 Replace remaining WinAPI types with standard C++ equivalents
DWORD→uint32_t, BYTE→uint8_t, HRESULT→int32_t, HANDLE→void*, UINT→uint32_t, INT→int32_t, WORD→uint16_t, LONG→int32_t, SHORT→int16_t, LONGLONG→int64_t, ULONG_PTR→uintptr_t, PBYTE→uint8_t*, LPWSTR/PWSTR→wchar_t*, FLOAT→float, CHAR→char, boolean→bool, CONST→const, TRUE→true, FALSE→false across 176 files (excluding vendor libs and Linux stubs).
2026-03-30 17:36:15 +11:00
MatthewBeshay 56290446db
Merge pull request #359 from 4jcraft/nuke-zlib
remove xuiscene_base
2026-03-30 17:26:53 +11:00
Tropical d42f37c3ee remove xuiscene_base
duplicate of a file already in XboxMedia
2026-03-30 01:01:15 -05:00
MatthewBeshay b9c32b580c
Merge pull request #358 from 4jcraft/nuke-zlib
nuke in-tree zlib
2026-03-30 16:57:57 +11:00
Tropical df5d806c85 nuke in-tree zlib 2026-03-30 00:54:24 -05:00
MatthewBeshay b28650976d
Merge pull request #357 from 4jcraft/refactor/expand-auto-var
nuke more winapi types
2026-03-30 16:44:08 +11:00
Tropical cba5a56ee7 SIZE_T -> size_t 2026-03-30 00:42:26 -05:00
Tropical f03c7163f4 WCHAR -> wchar_t 2026-03-30 00:42:26 -05:00
Tropical be2c65486d VOID -> void 2026-03-30 00:38:52 -05:00
Tropical a518b51754 LONG64 -> int64_t 2026-03-30 00:38:52 -05:00
Tropical c8f59b4a99
Merge pull request #356 from MatthewBeshay/cleanup/nullptr-replacement
refactor: replace NULL with nullptr across C++ codebase
2026-03-30 00:35:20 -05:00
MatthewBeshay a0fdc643d1 Merge branch 'upstream-dev' into cleanup/nullptr-replacement
# Conflicts:
#	Minecraft.Client/Network/PlayerChunkMap.cpp
#	Minecraft.Client/Network/PlayerList.cpp
#	Minecraft.Client/Network/ServerChunkCache.cpp
#	Minecraft.Client/Platform/Common/Consoles_App.cpp
#	Minecraft.Client/Platform/Common/DLC/DLCManager.cpp
#	Minecraft.Client/Platform/Common/GameRules/LevelGenerationOptions.cpp
#	Minecraft.Client/Platform/Common/GameRules/LevelRuleset.cpp
#	Minecraft.Client/Platform/Common/Tutorial/Tutorial.cpp
#	Minecraft.Client/Platform/Common/Tutorial/TutorialTask.cpp
#	Minecraft.Client/Platform/Common/UI/IUIScene_CreativeMenu.cpp
#	Minecraft.Client/Platform/Common/UI/UIComponent_Panorama.cpp
#	Minecraft.Client/Platform/Common/UI/UIController.cpp
#	Minecraft.Client/Platform/Common/UI/UIController.h
#	Minecraft.Client/Platform/Extrax64Stubs.cpp
#	Minecraft.Client/Platform/Windows64/4JLibs/inc/4J_Input.h
#	Minecraft.Client/Platform/Windows64/4JLibs/inc/4J_Storage.h
#	Minecraft.Client/Player/EntityTracker.cpp
#	Minecraft.Client/Player/ServerPlayer.cpp
#	Minecraft.Client/Rendering/EntityRenderers/PlayerRenderer.cpp
#	Minecraft.Client/Textures/Packs/DLCTexturePack.cpp
#	Minecraft.Client/Textures/Stitching/StitchedTexture.cpp
#	Minecraft.Client/Textures/Stitching/TextureMap.cpp
#	Minecraft.Client/Textures/Textures.cpp
#	Minecraft.World/Blocks/NotGateTile.cpp
#	Minecraft.World/Blocks/PressurePlateTile.cpp
#	Minecraft.World/Blocks/TileEntities/PotionBrewing.cpp
#	Minecraft.World/Enchantments/EnchantmentHelper.cpp
#	Minecraft.World/Entities/HangingEntity.cpp
#	Minecraft.World/Entities/LeashFenceKnotEntity.cpp
#	Minecraft.World/Entities/LivingEntity.cpp
#	Minecraft.World/Entities/Mobs/Boat.cpp
#	Minecraft.World/Entities/Mobs/Minecart.cpp
#	Minecraft.World/Entities/Mobs/Witch.cpp
#	Minecraft.World/Entities/SyncedEntityData.cpp
#	Minecraft.World/Items/LeashItem.cpp
#	Minecraft.World/Items/PotionItem.cpp
#	Minecraft.World/Level/BaseMobSpawner.cpp
#	Minecraft.World/Level/CustomLevelSource.cpp
#	Minecraft.World/Level/Level.cpp
#	Minecraft.World/Level/Storage/DirectoryLevelStorage.cpp
#	Minecraft.World/Level/Storage/McRegionLevelStorage.cpp
#	Minecraft.World/Level/Storage/RegionFileCache.cpp
#	Minecraft.World/Player/Player.cpp
#	Minecraft.World/WorldGen/Biomes/BiomeCache.cpp
#	Minecraft.World/WorldGen/Features/RandomScatteredLargeFeature.cpp
#	Minecraft.World/WorldGen/Layers/BiomeOverrideLayer.cpp
2026-03-30 16:28:40 +11:00
MatthewBeshay dfb0e3b03e refactor: replace NULL with nullptr across C++ codebase
Excludes vendored C libs (zlib, Miles, DirectXMath, boost, Iggy).
2026-03-30 16:25:52 +11:00
MatthewBeshay 00cd713cc8
Merge pull request #355 from 4jcraft/refactor/expand-auto-var
refactor: replace some win32 typedefs
2026-03-30 16:21:16 +11:00
Tropical 2ebead56ca remove bool identity type 2026-03-30 00:17:42 -05:00
Tropical 51e61a12b4 refactor: replace some win32 typedefs 2026-03-30 00:16:26 -05:00
MatthewBeshay e65a78d6a7
Merge pull request #354 from 4jcraft/refactor/expand-auto-var
refactor: replace double-underscore MSVC integer types with stdint
2026-03-30 16:12:18 +11:00
Tropical 6ed953a3c3 refactor: replace double-underscore MSVC integer types with stdint 2026-03-30 00:08:25 -05:00
Tropical 1602fbec39
Merge pull request #353 from 4jcraft/refactor/expand-auto-var
refactor: expand AUTO_VAR macro
2026-03-30 00:04:49 -05:00
Tropical e45151ae64 refactor: expand AUTO_VAR macro 2026-03-29 23:59:05 -05:00
Tropical a330ecdcbb
Merge pull request #317 from MatthewBeshay/cleanup/shared-portability-reset-v2
Cleanup/shared portability reset v2
2026-03-29 23:38:24 -05:00