diff --git a/targets/app/common/Audio/SoundEngine.cpp b/targets/app/common/Audio/SoundEngine.cpp index 7b769ffad..86e20e4d5 100644 --- a/targets/app/common/Audio/SoundEngine.cpp +++ b/targets/app/common/Audio/SoundEngine.cpp @@ -20,7 +20,7 @@ #include "minecraft/util/Mth.h" #include "minecraft/world/entity/Mob.h" #include "minecraft/world/level/storage/LevelData.h" -#include "platform/C4JThread.h" +#include "platform/thread/C4JThread.h" #include "platform/PlatformTypes.h" #include "platform/fs/fs.h" diff --git a/targets/app/common/Network/GameNetworkManager.h b/targets/app/common/Network/GameNetworkManager.h index 240a55a15..622d44112 100644 --- a/targets/app/common/Network/GameNetworkManager.h +++ b/targets/app/common/Network/GameNetworkManager.h @@ -5,7 +5,7 @@ #include #include #include "minecraft/network/INetworkService.h" -#include "platform/C4JThread.h" +#include "platform/thread/C4JThread.h" #include "platform/network/NetTypes.h" #include "platform/PlatformTypes.h" #include "platform/network/IPlatformNetwork.h" diff --git a/targets/app/common/UI/All Platforms/UIStructs.h b/targets/app/common/UI/All Platforms/UIStructs.h index 61cb842b3..1f303e75c 100644 --- a/targets/app/common/UI/All Platforms/UIStructs.h +++ b/targets/app/common/UI/All Platforms/UIStructs.h @@ -8,7 +8,7 @@ #include "UIEnums.h" #include "minecraft/GameHostOptions.h" -#include "platform/C4JThread.h" +#include "platform/thread/C4JThread.h" #include "platform/storage/storage.h" class Container; diff --git a/targets/app/common/UI/Scenes/UIScene_FullscreenProgress.cpp b/targets/app/common/UI/Scenes/UIScene_FullscreenProgress.cpp index 5b267ba42..b7481f470 100644 --- a/targets/app/common/UI/Scenes/UIScene_FullscreenProgress.cpp +++ b/targets/app/common/UI/Scenes/UIScene_FullscreenProgress.cpp @@ -17,7 +17,7 @@ #include "minecraft/client/Minecraft.h" #include "minecraft/client/ProgressRenderer.h" #include "minecraft/client/multiplayer/MultiPlayerGameMode.h" -#include "platform/C4JThread.h" +#include "platform/thread/C4JThread.h" #include "platform/PlatformTypes.h" #include "platform/profile/profile.h" #include "strings.h" diff --git a/targets/app/common/UI/UIController.cpp b/targets/app/common/UI/UIController.cpp index 0e8f16a1e..d4cfc9edf 100644 --- a/targets/app/common/UI/UIController.cpp +++ b/targets/app/common/UI/UIController.cpp @@ -45,7 +45,7 @@ #include "minecraft/client/skins/TexturePack.h" #include "minecraft/client/skins/TexturePackRepository.h" #include "minecraft/client/title/TitleScreen.h" -#include "platform/C4JThread.h" +#include "platform/thread/C4JThread.h" #include "platform/XboxStubs.h" #include "strings.h" #include "util/StringHelpers.h" diff --git a/targets/app/meson.build b/targets/app/meson.build index 717a1678e..920f4c386 100644 --- a/targets/app/meson.build +++ b/targets/app/meson.build @@ -50,7 +50,6 @@ if get_option('ui_backend') == 'shiggy' client_dependencies += shiggy_dep endif - client = executable( 'Minecraft.Client', platform_sources + localisation[1], diff --git a/targets/minecraft/client/Minecraft.h b/targets/minecraft/client/Minecraft.h index 5c2c3d45b..3468ae23a 100644 --- a/targets/minecraft/client/Minecraft.h +++ b/targets/minecraft/client/Minecraft.h @@ -9,7 +9,7 @@ #include "java/File.h" #include "minecraft/client/resources/ResourceLocation.h" #include "minecraft/network/packet/DisconnectPacket.h" -#include "platform/C4JThread.h" +#include "platform/thread/C4JThread.h" #include "platform/PlatformTypes.h" #include "platform/stubs.h" #include "platform/leaderboard/leaderboard.h" diff --git a/targets/minecraft/client/renderer/GameRenderer.cpp b/targets/minecraft/client/renderer/GameRenderer.cpp index 757ecaa35..c256a50a4 100644 --- a/targets/minecraft/client/renderer/GameRenderer.cpp +++ b/targets/minecraft/client/renderer/GameRenderer.cpp @@ -76,7 +76,7 @@ #include "minecraft/world/phys/HitResult.h" #include "minecraft/world/phys/Vec3.h" #include "platform/PlatformTypes.h" -#include "platform/ShutdownManager.h" +#include "platform/thread/ShutdownManager.h" #include "platform/input/input.h" #include "platform/renderer/renderer.h" #include "platform/stubs.h" diff --git a/targets/minecraft/client/renderer/GameRenderer.h b/targets/minecraft/client/renderer/GameRenderer.h index 11a1dfa10..84e835c31 100644 --- a/targets/minecraft/client/renderer/GameRenderer.h +++ b/targets/minecraft/client/renderer/GameRenderer.h @@ -9,7 +9,7 @@ #include "minecraft/client/resources/ResourceLocation.h" #include "minecraft/util/SmoothFloat.h" #include "minecraft/world/phys/Vec3.h" -#include "platform/C4JThread.h" +#include "platform/thread/C4JThread.h" class Minecraft; class Entity; diff --git a/targets/minecraft/client/renderer/LevelRenderer.h b/targets/minecraft/client/renderer/LevelRenderer.h index 233cd38bd..feee11326 100644 --- a/targets/minecraft/client/renderer/LevelRenderer.h +++ b/targets/minecraft/client/renderer/LevelRenderer.h @@ -6,7 +6,7 @@ #include "minecraft/world/level/Level.h" #include "minecraft/world/level/LevelListener.h" #include "minecraft/world/phys/AABB.h" -#include "platform/C4JThread.h" +#include "platform/thread/C4JThread.h" #include "platform/network/NetTypes.h" class ClipChunk; diff --git a/targets/minecraft/network/Connection.cpp b/targets/minecraft/network/Connection.cpp index def0ad791..4e290838e 100644 --- a/targets/minecraft/network/Connection.cpp +++ b/targets/minecraft/network/Connection.cpp @@ -18,7 +18,7 @@ #include "minecraft/network/packet/PacketListener.h" #include "platform/network/network.h" #include "minecraft/world/level/storage/ConsoleSaveFileIO/compression.h" -#include "platform/ShutdownManager.h" +#include "platform/thread/ShutdownManager.h" #include "util/StringHelpers.h" class SocketAddress; diff --git a/targets/minecraft/network/Connection.h b/targets/minecraft/network/Connection.h index e6d60480d..8d3ccaca6 100644 --- a/targets/minecraft/network/Connection.h +++ b/targets/minecraft/network/Connection.h @@ -12,7 +12,7 @@ #include "java/InputOutputStream/DataOutputStream.h" #include "java/System.h" #include "minecraft/network/packet/DisconnectPacket.h" -#include "platform/C4JThread.h" +#include "platform/thread/C4JThread.h" class DataInputStream; class DataOutputStream; diff --git a/targets/minecraft/network/Socket.cpp b/targets/minecraft/network/Socket.cpp index ad3f7c932..9ac574e16 100644 --- a/targets/minecraft/network/Socket.cpp +++ b/targets/minecraft/network/Socket.cpp @@ -10,7 +10,7 @@ #include "platform/network/network.h" #include "minecraft/server/network/ServerConnection.h" #include "platform/network/NetTypes.h" -#include "platform/ShutdownManager.h" +#include "platform/thread/ShutdownManager.h" class SocketAddress {}; diff --git a/targets/minecraft/network/Socket.h b/targets/minecraft/network/Socket.h index f0cb5b491..7c15f2b89 100644 --- a/targets/minecraft/network/Socket.h +++ b/targets/minecraft/network/Socket.h @@ -9,7 +9,7 @@ #include "java/InputOutputStream/InputStream.h" #include "java/InputOutputStream/OutputStream.h" #include "platform/network/network.h" -#include "platform/C4JThread.h" +#include "platform/thread/C4JThread.h" class INetworkPlayer; diff --git a/targets/minecraft/server/MinecraftServer.cpp b/targets/minecraft/server/MinecraftServer.cpp index dce5f4509..79622019f 100644 --- a/targets/minecraft/server/MinecraftServer.cpp +++ b/targets/minecraft/server/MinecraftServer.cpp @@ -80,7 +80,7 @@ #include "minecraft/world/level/chunk/SparseLightStorage.h" #include "minecraft/world/level/storage/ConsoleSaveFileIO/ConsoleSaveFileOriginal.h" #include "minecraft/world/level/storage/ConsoleSaveFileIO/compression.h" -#include "platform/ShutdownManager.h" +#include "platform/thread/ShutdownManager.h" #include "platform/input/input.h" class ConsoleInputSource; diff --git a/targets/minecraft/server/MinecraftServer.h b/targets/minecraft/server/MinecraftServer.h index e88f0d5f3..659865b6e 100644 --- a/targets/minecraft/server/MinecraftServer.h +++ b/targets/minecraft/server/MinecraftServer.h @@ -11,7 +11,7 @@ #include "minecraft/SharedConstants.h" #include "minecraft/world/level/chunk/ChunkSource.h" #include "minecraft/world/level/storage/ConsoleSaveFileIO/FileHeader.h" -#include "platform/C4JThread.h" +#include "platform/thread/C4JThread.h" #include "util/Timer.h" class ServerConnection; diff --git a/targets/minecraft/server/level/ServerChunkCache.h b/targets/minecraft/server/level/ServerChunkCache.h index 12554b626..00af9cd5f 100644 --- a/targets/minecraft/server/level/ServerChunkCache.h +++ b/targets/minecraft/server/level/ServerChunkCache.h @@ -10,7 +10,7 @@ #include "minecraft/world/level/biome/Biome.h" #include "minecraft/world/level/chunk/ChunkSource.h" #include "minecraft/world/level/levelgen/RandomLevelSource.h" -#include "platform/C4JThread.h" +#include "platform/thread/C4JThread.h" class ServerLevel; class ChunkStorage; diff --git a/targets/minecraft/server/level/ServerLevel.cpp b/targets/minecraft/server/level/ServerLevel.cpp index e041d390e..9b8746b62 100644 --- a/targets/minecraft/server/level/ServerLevel.cpp +++ b/targets/minecraft/server/level/ServerLevel.cpp @@ -60,7 +60,7 @@ #include "minecraft/world/level/tile/entity/ChestTileEntity.h" #include "minecraft/world/level/tile/entity/TileEntity.h" #include "minecraft/world/phys/Vec3.h" -#include "platform/ShutdownManager.h" +#include "platform/thread/ShutdownManager.h" #include "platform/input/input.h" #include "platform/storage/storage.h" #include "strings.h" diff --git a/targets/minecraft/server/level/ServerLevel.h b/targets/minecraft/server/level/ServerLevel.h index 8490d3910..6de6131e7 100644 --- a/targets/minecraft/server/level/ServerLevel.h +++ b/targets/minecraft/server/level/ServerLevel.h @@ -18,7 +18,7 @@ #include "minecraft/world/level/TickNextTickData.h" #include "minecraft/world/level/TileEventData.h" #include "minecraft/world/level/biome/Biome.h" -#include "platform/C4JThread.h" +#include "platform/thread/C4JThread.h" class ServerChunkCache; class MinecraftServer; diff --git a/targets/minecraft/world/level/Level.h b/targets/minecraft/world/level/Level.h index 43fa76d0b..741f607b7 100644 --- a/targets/minecraft/world/level/Level.h +++ b/targets/minecraft/world/level/Level.h @@ -22,7 +22,7 @@ #include "minecraft/world/level/biome/Biome.h" #include "minecraft/world/level/saveddata/SavedData.h" #include "minecraft/world/phys/AABB.h" -#include "platform/C4JThread.h" +#include "platform/thread/C4JThread.h" #include "platform/PlatformTypes.h" class CompoundTag; diff --git a/targets/minecraft/world/level/chunk/storage/McRegionChunkStorage.cpp b/targets/minecraft/world/level/chunk/storage/McRegionChunkStorage.cpp index ebad12c81..14b988009 100644 --- a/targets/minecraft/world/level/chunk/storage/McRegionChunkStorage.cpp +++ b/targets/minecraft/world/level/chunk/storage/McRegionChunkStorage.cpp @@ -29,7 +29,7 @@ #include "minecraft/world/level/storage/LevelData.h" #include "nbt/CompoundTag.h" #include "nbt/NbtIo.h" -#include "platform/C4JThread.h" +#include "platform/thread/C4JThread.h" #include "platform/input/input.h" class DataInput; diff --git a/targets/minecraft/world/level/chunk/storage/OldChunkStorage.cpp b/targets/minecraft/world/level/chunk/storage/OldChunkStorage.cpp index 9105ad805..4bd51bb3a 100644 --- a/targets/minecraft/world/level/chunk/storage/OldChunkStorage.cpp +++ b/targets/minecraft/world/level/chunk/storage/OldChunkStorage.cpp @@ -96,7 +96,7 @@ void to_base36(int value, char* buf) { } File OldChunkStorage::getFile(int x, int z) { - inline constexpr int MAX_PATH_SIZE = 256; + constexpr int MAX_PATH_SIZE = 256; char name[MAX_PATH_SIZE]; char path1[MAX_PATH_SIZE]; diff --git a/targets/platform/meson.build b/targets/platform/meson.build index 2eec79af5..5224c1502 100644 --- a/targets/platform/meson.build +++ b/targets/platform/meson.build @@ -10,19 +10,6 @@ else _defs = [] endif -# Core: thread + shutdown plumbing, no backend. -lib_platform_core = static_library('platform_core', - files('C4JThread.cpp', 'ShutdownManager.cpp'), - include_directories: [platform_inc, include_directories('..')], - dependencies: [_threads], - cpp_args: global_cpp_args + global_cpp_defs, -) - -platform_dep = declare_dependency( - link_with: lib_platform_core, - include_directories: platform_inc, -) - # Per-subsystem source lists. Each subdir owns its own list of backend # .cpp files via a `platform__sources` variable. The library # build is centralised so we get one library per platform target rather @@ -38,6 +25,20 @@ subdir('sound') subdir('network') subdir('leaderboard') subdir('game') +subdir('thread') + +# Core: thread + shutdown plumbing, no backend. +lib_platform_core = static_library('platform_core', + platform_thread_sources, + include_directories: [platform_inc, include_directories('..')], + dependencies: [_threads], + cpp_args: global_cpp_args + global_cpp_defs, +) + +platform_dep = declare_dependency( + link_with: lib_platform_core, + include_directories: platform_inc, +) lib_platform_sdl2 = static_library('platform_sdl2', platform_input_sources diff --git a/targets/platform/network/stub/StubPlatformNetwork.cpp b/targets/platform/network/stub/StubPlatformNetwork.cpp index 0a1032c62..f7870f4d6 100644 --- a/targets/platform/network/stub/StubPlatformNetwork.cpp +++ b/targets/platform/network/stub/StubPlatformNetwork.cpp @@ -8,7 +8,7 @@ #include "StubNetworkPlayer.h" #include "app/common/Network/GameNetworkManager.h" #include "minecraft/network/Socket.h" -#include "platform/C4JThread.h" +#include "platform/thread/C4JThread.h" #include "platform/network/NetTypes.h" #include "platform/network/network.h" diff --git a/targets/platform/C4JThread.cpp b/targets/platform/thread/C4JThread.cpp similarity index 99% rename from targets/platform/C4JThread.cpp rename to targets/platform/thread/C4JThread.cpp index 4a577ff02..51bf0a84d 100644 --- a/targets/platform/C4JThread.cpp +++ b/targets/platform/thread/C4JThread.cpp @@ -26,8 +26,8 @@ #include #endif -#include "platform/C4JThread.h" -#include "platform/ShutdownManager.h" +#include "platform/thread/C4JThread.h" +#include "platform/thread/ShutdownManager.h" class Level; diff --git a/targets/platform/C4JThread.h b/targets/platform/thread/C4JThread.h similarity index 100% rename from targets/platform/C4JThread.h rename to targets/platform/thread/C4JThread.h diff --git a/targets/platform/ShutdownManager.cpp b/targets/platform/thread/ShutdownManager.cpp similarity index 88% rename from targets/platform/ShutdownManager.cpp rename to targets/platform/thread/ShutdownManager.cpp index ae78d1847..d2361dfef 100644 --- a/targets/platform/ShutdownManager.cpp +++ b/targets/platform/thread/ShutdownManager.cpp @@ -1,8 +1,8 @@ // Linux stub implementations for ShutdownManager // The PS3/PSVita versions have full implementations; on Linux these are no-ops. -#include "platform/ShutdownManager.h" +#include "platform/thread/ShutdownManager.h" -#include "platform/C4JThread.h" +#include "platform/thread/C4JThread.h" void ShutdownManager::Initialise() {} void ShutdownManager::StartShutdown() {} diff --git a/targets/platform/ShutdownManager.h b/targets/platform/thread/ShutdownManager.h similarity index 96% rename from targets/platform/ShutdownManager.h rename to targets/platform/thread/ShutdownManager.h index 33f1019be..551039576 100644 --- a/targets/platform/ShutdownManager.h +++ b/targets/platform/thread/ShutdownManager.h @@ -6,7 +6,7 @@ #include #include -#include "platform/C4JThread.h" +#include "platform/thread/C4JThread.h" class ShutdownManager { public: diff --git a/targets/platform/thread/meson.build b/targets/platform/thread/meson.build new file mode 100644 index 000000000..c42ec30ec --- /dev/null +++ b/targets/platform/thread/meson.build @@ -0,0 +1 @@ +platform_thread_sources = files('C4JThread.cpp', 'ShutdownManager.cpp')