Commit graph

127 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
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
Tropical 2912e9ae2e refactor: nuke all widestrings and widechars everywhere 2026-04-07 23:23:31 -05:00
MatthewBeshay f1f1d116b3
Merge pull request #409 from 4jcraft/platform-refactor 2026-04-08 13:39:24 +10:00
Tropical 56caa4f2dc fix(perf): don't compute chunk connectivity when the BFS occluder is disabled 2026-04-07 19:11:30 -05:00
Tropical e4883d87fc replace __debugbreak with assert, fix full build
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-07 18:58:49 -05:00
Tropical 6faa481013 byte byte DWORD 2026-04-07 18:38:04 -05:00
Tropical 4a365e19f2 nuke a ton of winapi garbage 2026-04-07 18:35:43 -05:00
Tropical 0e6a6cc537 nuke a ton of winapi stubs 2026-04-07 18:18:46 -05:00
Tropical 559b207ee2 nuke d3d11_stubs 2026-04-07 18:05:45 -05:00
Tropical d9f2cb03c7 nuke more unused stubs 2026-04-07 18:00:30 -05:00
Tropical 489ca2675d nuke in-tree base64 2026-04-07 17:42:07 -05:00
Tropical c6285c903d nuke PlatformServices 2026-04-07 17:38:21 -05:00