Commit graph

1615 commits

Author SHA1 Message Date
/home/neo 74db007403
feat(CI): add nightly build workflow (#390)
* feat(CI): add nightly build workflow

* ci: trigger nightly

* ci: workflow dispatch

* ci: oh god

* fix(ci): build the whole game not just the executable
2026-04-03 02:13:30 -05:00
JuiceyDev bd87f4d245
Merge pull request #381 from silverhadch/dev
Some checks failed
Build (Linux, x86-64) / build-linux (push) Has been cancelled
Refactor subprojects in nix flake to be attributes.
2026-04-02 11:08:37 +02:00
Hadi Chokr f9d49e57d5 Made a PR for the overflow fix, reenable hardening. 2026-03-31 21:01:20 +02:00
Hadi Chokr d11a24c720 Refactor subprojects in nix flake to be attributes.
Also wrote and by wrote I mean stole from other projects helper
functions for bypassing the nodownload restriction of the nix sandbox.

This uses the wrap files in the repo ecxept for the download part which
has to be an input for reproducibility sake.

The Nix Code is ugly and I am gonna vomit.
2026-03-31 20:29:42 +02:00
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