Commit Graph
100 Commits
Author SHA1 Message Date
MatthewBeshay 7513c37f52 refactor: extend ITutorial to cover MultiPlayerLocalPlayer event hooks 2026-04-09 22:38:11 +10:00
MatthewBeshay 650c81db3d refactor: relocate ConsoleSchematicFile into minecraft/world/level/levelgen 2026-04-09 22:35:33 +10:00
MatthewBeshay 684b55c260 refactor: relocate Socket header into minecraft/network 2026-04-09 22:31:09 +10:00
MatthewBeshay 41d139ce32 refactor: replace Tutorial::staticCtor with ITutorial::staticInit in Minecraft.cpp 2026-04-09 22:27:26 +10:00
MatthewBeshay 514c75bf01 chore: drop redundant Socket.h include from Connection.cpp 2026-04-09 22:21:49 +10:00
MatthewBeshay 557dd7430b refactor: extract ITutorial interface and move TutorialEnum to minecraft 2026-04-09 22:20:30 +10:00
MatthewBeshay 6fd9148e17 chore: drop redundant Socket.h includes from PlayerList and PlayerConnection 2026-04-09 22:06:25 +10:00
MatthewBeshay a1b9329ad8 refactor: move GAME_RULE_SAVENAME to ConsoleGameRulesConstants.h 2026-04-09 22:03:05 +10:00
MatthewBeshay 9b729ed19e refactor: drop GameNetworkManager.h transitive include from Socket.h 2026-04-09 21:57:30 +10:00
MatthewBeshay 0a5cf82d80 chore: drop unused extern LinuxGame app from FileHeader.cpp 2026-04-09 21:48:47 +10:00
MatthewBeshay e174fabcb6 chore: drop stale app/common/App_structs.h includes from minecraft consumers 2026-04-09 21:45:21 +10:00
MatthewBeshay 62186f8afb refactor: relocate ConsoleSoundEngine base into minecraft/sounds/ 2026-04-09 21:41:06 +10:00
MatthewBeshay 4d9db3ed3b refactor: hide DLC pack lookups behind TexturePack::needsPurchase and BufferedImage helper 2026-04-09 21:22:07 +10:00
MatthewBeshay 8b202ba5f1 refactor: extract ISkinAssetData so minecraft/ stops including DLCSkinFile.h 2026-04-09 21:11:41 +10:00
MatthewBeshay 80019158da fix: harden Log::info, switch StringTable to span, consolidate getLocale 2026-04-09 20:59:00 +10:00
MatthewBeshay 84140ae6d4 refactor: move StringTable impl into minecraft/locale and inject locales 2026-04-09 20:35:53 +10:00
MatthewBeshay aa250ff560 refactor: inject IPlatformLeaderboard into Minecraft and StatsCounter via constructor 2026-04-09 20:19:50 +10:00
MatthewBeshay 08d8e341b9 refactor: stop inheriting Game from IPlatformGame and delete the override stubs 2026-04-09 19:35:47 +10:00
MatthewBeshay 9c502ce8fc refactor: route IPlatformGame and Leaderboard call sites through platform/ 2026-04-09 19:28:57 +10:00
MatthewBeshay fbfccdeac6 chore: drop a few more dead app/ includes from minecraft 2026-04-09 15:49:31 +10:00
MatthewBeshay 5d86773134 refactor: relocate IPlatformNetwork/Leaderboard/Game interfaces to platform/ 2026-04-09 15:42:23 +10:00
MatthewBeshay e051527607 refactor: replace XuiActionPayload polling with server-owned typed action queue 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
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
MatthewBeshay f1f1d116b3 Merge pull request #409 from 4jcraft/platform-refactor 2026-04-08 13:39:24 +10:00
MatthewBeshay b88a89ae01 Merge pull request #407 from 4jcraft/fix/includes
fix: missing includes in MenuController/XuiActions
2026-04-07 12:55:07 +10:00
MatthewBeshay 5d9bcac156 refactor: decouple minecraft/ from app/ via IGameServices virtual interface 2026-04-06 20:32:24 -05:00
MatthewBeshay 7787015025 refactor: move HandleXuiActions to separate translation unit 2026-04-06 20:32:24 -05:00
MatthewBeshay 3b47b80762 refactor: extract GameSettingsManager, DLCController, NetworkController, MenuController from Game 2026-04-06 20:32:24 -05:00
MatthewBeshay d61d3cddab refactor: extract LocalizationManager, ArchiveManager, SkinManager from Game 2026-04-06 20:32:24 -05:00
MatthewBeshay 0c7800d28b refactor: extract SaveManager, BannedListManager, TerrainFeatureManager, DebugOptions from Game 2026-04-06 20:32:24 -05:00
MatthewBeshay 5f64818302 refactor: eliminate app. calls from minecraft via Log, Strings, GameHostOptions, and service wiring 2026-04-06 20:32:24 -05:00
MatthewBeshay f28c722da4 refactor: split QNet stubs out of XboxStubs.cpp, remove dead Xbox symbols 2026-04-06 20:32:24 -05:00
MatthewBeshay 54a1f90212 refactor: move misplaced headers to their proper modules 2026-04-06 20:32:24 -05:00
MatthewBeshay d814a78453 refactor: flatten app/ and util/ directory structure 2026-04-06 20:32:24 -05:00
MatthewBeshay 31580d44dd refactor: rename CMinecraftApp to Game, extract IPlatformGame interface 2026-04-04 10:17:12 +11:00
MatthewBeshay 7ecb17596a refactor: migrate platform interface callbacks from C-style to std::function 2026-04-04 09:42:27 +11:00
MatthewBeshay f11473776c refactor: switch CompoundTag from unordered_map to flat_map 2026-04-04 09:42:27 +11:00
MatthewBeshay c3312a9a01 fix: update CI to install libc++ and fix artifact path 2026-04-03 19:43:00 +11:00
MatthewBeshay ec0a8af821 fix: update CI to install libc++ and fix artifact path 2026-04-03 19:14:29 +11:00
MatthewBeshay 5105f89648 refactor: use std::endian directly, enum class EDefaultSkins, rename reserved-prefix helpers 2026-04-03 19:05:19 +11:00
MatthewBeshay 3f33bf4817 fix: remove unnecessary zlib Byte typedef workaround in compression.cpp 2026-04-03 19:01:05 +11:00
MatthewBeshay bfc960c0f1 refactor: split EDefaultSkins out of Definitions.h into SkinTypes.h 2026-04-03 19:01:05 +11:00
MatthewBeshay decc20b70f refactor: dissolve console_helpers into util, platform, and minecraft 2026-04-03 19:01:05 +11:00
MatthewBeshay 116cf4887d refactor: remove dead code and fix thread safety in console_helpers 2026-04-03 19:00:40 +11:00
MatthewBeshay 5bbb045e86 refactor: consolidate timing utilities into header-only Timer.h 2026-04-03 18:57:29 +11:00
MatthewBeshay 98e23cfd4d refactor: consolidate file I/O into IPlatformFileIO, delete PortableFileIO and PathHelper 2026-04-03 18:57:29 +11:00
MatthewBeshay e4d871cd2f chore: switch default toolchain to LLVM 20 + libc++ for full C++23 support 2026-04-03 18:57:29 +11:00
MatthewBeshay bc2a0d6c7f feat: add IPlatformFileIO interface for cross-platform file access 2026-04-03 18:57:29 +11:00
MatthewBeshay 5b93add4c4 docs: fix binary path and run instructions in README 2026-04-03 18:57:29 +11:00
MatthewBeshay f2a6d29fa1 refactor: wire IPlatformLeaderboard and IPlatformNetwork into PlatformServices 2026-04-03 18:57:29 +11:00
MatthewBeshay eacf5ccf30 refactor: remove backwards-compat enum aliases from PlatformTypes 2026-04-02 16:30:19 +11:00
MatthewBeshay 26222f26e0 refactor: fold 4J.Common into platform types, eliminate last 4J directory 2026-04-02 16:27:06 +11:00
MatthewBeshay 11f9bd6046 refactor: move Minecraft.Client into app 2026-04-02 16:09:32 +11:00
MatthewBeshay e5a859f8a7 refactor: move 4J implementations into platform/sdl2 2026-04-02 16:03:08 +11:00
MatthewBeshay 35b63da24d refactor: migrate CPlatformNetworkManager into IPlatformNetwork 2026-04-02 15:42:22 +11:00
MatthewBeshay 7b1a6092e1 refactor: extract IPlatformLeaderboard from LeaderboardManager 2026-04-02 15:36:42 +11:00
MatthewBeshay f70d4b703b refactor: split extraX64.h into NetTypes.h and XboxStubs.h
World no longer depends on Xbox/network stubs. INVALID_XUID moved to
4J_Compat.h. XPhysicalAlloc replaced with std::vector in HellFlatLevelSource.
2026-04-01 17:48:04 +11:00
MatthewBeshay b4feb6ce92 chore: mark comment 4jcraft 2026-04-01 16:28:57 +11:00
MatthewBeshay cca286b73a fix: getSubimage pixel data written to copy, not actual buffer 2026-04-01 16:18:40 +11:00
MatthewBeshay be3cb9ad92 fix: undef stb_vorbis macros leaking into unity build chunks 2026-04-01 13:47:25 +11:00
MatthewBeshay 4271e562a6 fix: clean up __valid macro leak at source in sal.h instead of patching every include site 2026-04-01 13:15:16 +11:00
MatthewBeshay ee31bfcec5 refactor: replace POSIX/Win32 APIs with standard C++ equivalents
Replaces platform-specific APIs across 21 files with std::chrono, std::fstream, std::filesystem, and std::this_thread. Adds PlatformTime.h utility header wrapping std::chrono::steady_clock for GetTickCount/QueryPerformanceCounter patterns.
2026-04-01 05:01:37 +11:00
MatthewBeshay 2f92b07c1f fix: resolve ByteBuffer hardcoded path and static const linker errors 2026-03-31 21:50:15 +11:00
MatthewBeshay a18cb3d484 refactor: replace shared_ptr(new T) with make_shared<T> 2026-03-31 20:42:45 +11:00
MatthewBeshay 8b836cf604 refactor: remove remaining trial/upsell from platform interfaces 2026-03-31 20:12:15 +11:00
MatthewBeshay f7241f8064 chore: add TODO for std::function migration in platform interfaces 2026-03-31 20:05:59 +11:00