Commit graph

1861 commits

Author SHA1 Message Date
MatthewBeshay aa83320be8 chore: drop a few more dead app/ includes from minecraft
Some checks are pending
Build (Linux, x86-64) / build-linux-amalgamate (push) Waiting to run
Build (Linux, x86-64) / build-linux-full (push) Waiting to run
Format Check / clang-format (push) Waiting to run
Release Nightly (Linux, x86-64) / release-linux (push) Waiting to run
2026-04-09 15:49:31 +10:00
MatthewBeshay 2a3b891be8 refactor: relocate IPlatformNetwork/Leaderboard/Game interfaces to platform/
Pulls the three remaining platform-shaped interfaces out of app/common/
and into platform/network/, platform/leaderboard/ and platform/game/,
each with a function accessor + true no-op stub backend matching the
existing platform/profile/ template. Drops the duplicate
PlatformNetworkManagerInterface.h that was a stale copy of the same
type. Existing app-side singletons (LeaderboardManager,
LinuxLeaderboardManager, IPlatformNetworkStub, LinuxGame) keep working
unchanged - the structural fix is just that the interface they depend
on now lives in platform/ where it belongs.
2026-04-09 15:42:23 +10:00
MatthewBeshay 3304b2e3db refactor: replace XuiActionPayload polling with server-owned typed action queue
Drops the polymorphic XuiActionPayload variant and the per-pad
setXuiServerAction/getXuiServerAction polling on IGameServices in
favour of a std::variant of typed action structs in
minecraft/server/ServerAction.h. MinecraftServer owns the queue,
drains it from the tick loop via std::visit, and exposes
queueServerAction() that any thread can call. Eliminates the
dynamic_cast across the minecraft<-app boundary, the per-pad slot,
and two busy-wait-for-Idle loops.
2026-04-09 15:24:13 +10:00
MatthewBeshay 45c85fcf79 perf: stop heap-allocating mob restriction state and Path nodes
Inlines restrictCenter and leashRestrictionGoal as value members and
stores Path nodes by value, removing per-mob and per-path malloc churn.
2026-04-09 15:24:13 +10:00
MatthewBeshay fe77d9c2a0 build: optional mimalloc replacement for system malloc
Toggle with -Denable_mimalloc=enabled/disabled/auto.
2026-04-09 15:24:13 +10:00
MatthewBeshay b7792622a9 perf: replace EventArray mutex+cv with atomic mask
set() is now lock-free; waiters block via std::atomic::wait.
2026-04-09 15:24:13 +10:00
MatthewBeshay cd4b39cf88 style: clang-format the entire project 2026-04-09 15:24:13 +10:00
MatthewBeshay 81c2eb82f0 fix: clear all build warnings and clean up review nits 2026-04-09 15:24:13 +10:00
MatthewBeshay aa515c5f3d refactor: replace winapi_stubs with std::vector, std::atomic_ref and std::chrono 2026-04-09 15:24:13 +10:00
MatthewBeshay 1b9d27f4a0 refactor: hide miniaudio behind PIMPL in SoundEngine 2026-04-09 15:24:13 +10:00
MatthewBeshay 0ef3b2de31 refactor: pull DLC enums out into their own header 2026-04-09 15:24:13 +10:00
MatthewBeshay b3d6e7151b refactor: extract a network service interface for minecraft to depend on 2026-04-09 15:24:13 +10:00
MatthewBeshay 03618ed156 refactor: move leaderboard/network interfaces back into app 2026-04-09 15:24:13 +10:00
MatthewBeshay 33fe5fec3a chore: drop a few more dead LinuxGame.h includes 2026-04-09 15:24:13 +10:00
MatthewBeshay 61a0d9690b chore: drop a few more dead winapi_stubs.h includes 2026-04-09 15:24:13 +10:00
MatthewBeshay 09a6ba4a12 refactor: move Minecraft_Macros.h into minecraft 2026-04-09 15:24:13 +10:00
MatthewBeshay e14825c302 refactor: move GameRule chain headers into minecraft 2026-04-09 15:24:13 +10:00
MatthewBeshay efe4c91538 refactor: move BuildVer.h into minecraft 2026-04-09 15:24:13 +10:00
MatthewBeshay a3b8adeb5a refactor: move Console_Debug_enum.h into minecraft 2026-04-09 15:24:13 +10:00
MatthewBeshay 58de5bb40b refactor: move ConsoleGameRulesConstants.h into minecraft 2026-04-09 15:24:13 +10:00
MatthewBeshay 1ddf12beb9 refactor: move WstringLookup into minecraft 2026-04-09 15:24:13 +10:00
MatthewBeshay e5cdd2c370 refactor: move NetworkPlayerInterface and SessionInfo into minecraft 2026-04-09 15:24:13 +10:00
MatthewBeshay 9b830f1bfc refactor: carve out a proper sound interface with miniaudio behind it 2026-04-09 15:24:13 +10:00
MatthewBeshay b032e2a3a0 refactor: use function-local statics for platform accessors to dodge SIOF 2026-04-09 15:24:13 +10:00
MatthewBeshay 60410f59bf refactor: split GLRenderer so the class is not tangled with GL macros 2026-04-09 15:24:13 +10:00
MatthewBeshay 9834a95f0e build: break platform_sdl2 up into per-subsystem libraries 2026-04-09 15:24:13 +10:00
MatthewBeshay 7b28bcbcb6 refactor: move ColourTable into minecraft 2026-04-09 15:24:13 +10:00
MatthewBeshay 016b2d91b4 refactor: move StringTable.h into minecraft (impl stays for now) 2026-04-09 15:24:13 +10:00
MatthewBeshay 5f7e4ab703 refactor: move Console_Awards_enum.h into minecraft 2026-04-09 15:24:13 +10:00
MatthewBeshay 95efdb54dd chore: drop dead winapi_stubs.h includes across minecraft 2026-04-09 15:24:13 +10:00
MatthewBeshay 6e1964adb3 chore: drop dead LinuxGame.h includes across minecraft 2026-04-09 15:24:12 +10:00
MatthewBeshay 52b4ccaea2 refactor: type the IGameServices payload as a variant instead of void* 2026-04-09 15:24:12 +10:00
MatthewBeshay 8084ec7857 chore: delete unused IPlatformUIController and Platform aggregator 2026-04-09 15:24:12 +10:00
MatthewBeshay 6b3b0134cf build: list sources explicitly in meson.build instead of shelling out 2026-04-09 15:24:12 +10:00
MatthewBeshay d7eca58551 refactor: split App_Defines.h up by concern and drop the umbrella 2026-04-09 15:24:12 +10:00
MatthewBeshay 875039a6dd refactor: use unique_ptr<byte[]> in ImageFileBuffer instead of malloc/free 2026-04-09 15:24:12 +10:00
MatthewBeshay 7cceb05d83 build: turn on LTO and tidy up release build flags 2026-04-09 15:24:12 +10:00
DecalOverdose b3223ff8e3
Merge pull request #417 from StevenSYS/dev
Remove the now unused button images.
2026-04-09 08:31:26 +04:00
StevenSYS 7af301c62b
Removed the now unused button images. 2026-04-08 17:24:53 +00:00
ThePixelMoon 7e97721325
Merge pull request #416 from 4jcraft/DecalOverdose-patch-1
Update README.md
2026-04-08 13:59:26 +03:00
DecalOverdose 552ef2b92f
Update README.md 2026-04-08 14:58:30 +04:00
ViniciusCruzMoura 265c5d03e6 Dockerfile: change to use llvm/clang toolchain
Some checks failed
Build (Linux, x86-64) / build-linux-amalgamate (push) Has been cancelled
Build (Linux, x86-64) / build-linux-full (push) Has been cancelled
Format Check / clang-format (push) Has been cancelled
Release Nightly (Linux, x86-64) / release-linux (push) Has been cancelled
add a dedicated clang stage that installs llvm/clang
sets clang/clang++ and lld as default

Signed-off-by: ViniciusCruzMoura <contato.cruz.moura@gmail.com>
2026-04-08 02:09:54 -05:00
ViniciusCruzMoura 223541b009 fix(Dockerfile): install libglm-dev to satisfy meson glm dependency
meson failed with a runtime dependency error
"""
4J.Render/meson.build:4:7: ERROR: Dependency "glm" not found, tried pkgconfig and cmake
"""
add libglm-dev so meson can find glm

Signed-off-by: ViniciusCruzMoura <contato.cruz.moura@gmail.com>
2026-04-08 02:09:54 -05:00
ViniciusCruzMoura 1e94adb190 Dockerfile: upgrade GCC to 15
replace gcc-14/g++-14 with gcc-15/g++-15 and change update-alternatives
to make gcc 15 the default,
this fixes compiler errors caused by use of c++23 (flat_map)
which require gcc 15+

Signed-off-by: ViniciusCruzMoura <contato.cruz.moura@gmail.com>
2026-04-08 02:09:54 -05:00
MatthewBeshay 48a170a6c4
Merge pull request #412 from 4jcraft/refactor/nuke-widestrings
refactor: nuke all widestrings and widechars everywhere
2026-04-08 17:02:56 +10:00
Tropical 5ba98a547e fix: properly detect/skip UTF-8 text modifier character 2026-04-08 01:41:56 -05:00
Tropical dcf9e0bcdb refactor: convert DLC string data directly to UTF-8 w/ simdutf 2026-04-08 01:41:34 -05:00
Tropical 00fec789b5 fix: don't truncate codepoints in DataInputStream::readUTF 2026-04-08 00:05:37 -05:00
over 50147bd2a6 problematic media loaded..... 2026-04-07 23:43:06 -05:00
over 34c8421d2c problematic media loading...... 2026-04-07 23:43:06 -05:00