diff options
| author | rtm516 <rtm516@users.noreply.github.com> | 2026-03-17 21:39:22 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-03-17 16:39:22 -0500 |
| commit | 02a5961f39673be403fda3edbf6fb1265bd93477 (patch) | |
| tree | ade5f3cfd70fcb6e0add6492f182cc571bec7f3a /cmake | |
| parent | 1a3fcb5b2010fbbf5ef0ab52f7291a4129f05842 (diff) | |
Move project to CMake (#781)
* Move to cmake
* Move sources to source_groups and ditch more old VS files
* Add BuildVer.h generation
* Break out cmake source lists to platforms
* Don't copy swf files
* Revert audio changes from merge
* Add platform defines
* Match MSBuild flags
* Move BuildVer.h to common include and fix rebuild issue
* Seperate projects properly
* Exclude more files and make sure GameHDD exists
* Missing line
* Remove remaining VS project files
* Update readme and actions
* Use incremental LTCG
* Update workflows
* Update build workflows and output folder
* Disable vcpkg checks
* Force MSVC
* Use precompiled headers
* Only use PCH for cpp
* Exclude compat_shims from PCH
* Handle per-platform source includes
* Copy only current platform media
* Define Iggy libs per platform
* Fix EnsureGameHDD check
* Only set WIN32_EXECUTABLE on Windows
* Correct Iggy libs path
* Remove include of terrain_MipmapLevel
* Correct path to xsb/xwb
* Implement copilot suggestions
* Add clang flags (untested)
* Fix robocopy error checking
* Update documentation
* Drop CMakePresets.json version as we dont use v6 features
* Always cleanup artifacts in nightly even if some builds fail
* Re-work compiler target options
* Move newer iggy dll into redist and cleanup
* Fix typos
* Remove 'Source Files' from all source groups
* Remove old ps1 build scripts
Diffstat (limited to 'cmake')
| -rw-r--r-- | cmake/ClientSources.cmake | 498 | ||||
| -rw-r--r-- | cmake/CommonSources.cmake | 15 | ||||
| -rw-r--r-- | cmake/CopyAssets.cmake | 101 | ||||
| -rw-r--r-- | cmake/CopyFileScript.cmake | 51 | ||||
| -rw-r--r-- | cmake/CopyFolderScript.cmake | 70 | ||||
| -rw-r--r-- | cmake/CopyServerAssets.cmake | 72 | ||||
| -rw-r--r-- | cmake/GenerateBuildVer.cmake | 91 | ||||
| -rw-r--r-- | cmake/Utils.cmake | 28 | ||||
| -rw-r--r-- | cmake/WorldSources.cmake | 801 | ||||
| -rw-r--r-- | cmake/toolchains/durango.cmake | 0 | ||||
| -rw-r--r-- | cmake/toolchains/orbis.cmake | 0 | ||||
| -rw-r--r-- | cmake/toolchains/ps3.cmake | 0 | ||||
| -rw-r--r-- | cmake/toolchains/psvita.cmake | 0 | ||||
| -rw-r--r-- | cmake/toolchains/xbox360.cmake | 0 |
14 files changed, 356 insertions, 1371 deletions
diff --git a/cmake/ClientSources.cmake b/cmake/ClientSources.cmake deleted file mode 100644 index 6467a243..00000000 --- a/cmake/ClientSources.cmake +++ /dev/null @@ -1,498 +0,0 @@ -set(MINECRAFT_CLIENT_SOURCES - "../include/lce_filesystem/lce_filesystem.cpp" - - "AbstractTexturePack.cpp" - "AchievementPopup.cpp" - "AchievementScreen.cpp" - "AllowAllCuller.cpp" - "ArchiveFile.cpp" - "ArrowRenderer.cpp" - "BatModel.cpp" - "BatRenderer.cpp" - "BeaconRenderer.cpp" - "BlazeModel.cpp" - "BlazeRenderer.cpp" - "BoatModel.cpp" - "BoatRenderer.cpp" - "BookModel.cpp" - "BossMobGuiInfo.cpp" - "BreakingItemParticle.cpp" - "BubbleParticle.cpp" - "BufferedImage.cpp" - "Button.cpp" - "Camera.cpp" - "CaveSpiderRenderer.cpp" - "ChatScreen.cpp" - "ChestModel.cpp" - "ChestRenderer.cpp" - "ChickenModel.cpp" - "ChickenRenderer.cpp" - "Chunk.cpp" - "ClientConnection.cpp" - "ClientConstants.cpp" - "ClockTexture.cpp" - "Common/Audio/Consoles_SoundEngine.cpp" - "Common/Audio/SoundEngine.cpp" - "Common/Audio/SoundNames.cpp" - "Common/Colours/ColourTable.cpp" - "Common/ConsoleGameMode.cpp" - "Common/Console_Utils.cpp" - "Common/Consoles_App.cpp" - "Common/DLC/DLCAudioFile.cpp" - "Common/DLC/DLCCapeFile.cpp" - "Common/DLC/DLCColourTableFile.cpp" - "Common/DLC/DLCFile.cpp" - "Common/DLC/DLCGameRulesFile.cpp" - "Common/DLC/DLCGameRulesHeader.cpp" - "Common/DLC/DLCLocalisationFile.cpp" - "Common/DLC/DLCManager.cpp" - "Common/DLC/DLCPack.cpp" - "Common/DLC/DLCSkinFile.cpp" - "Common/DLC/DLCTextureFile.cpp" - "Common/DLC/DLCUIDataFile.cpp" - "Common/GameRules/AddEnchantmentRuleDefinition.cpp" - "Common/GameRules/AddItemRuleDefinition.cpp" - "Common/GameRules/ApplySchematicRuleDefinition.cpp" - "Common/GameRules/BiomeOverride.cpp" - "Common/GameRules/CollectItemRuleDefinition.cpp" - "Common/GameRules/CompleteAllRuleDefinition.cpp" - "Common/GameRules/CompoundGameRuleDefinition.cpp" - "Common/GameRules/ConsoleGenerateStructure.cpp" - "Common/GameRules/ConsoleSchematicFile.cpp" - "Common/GameRules/GameRule.cpp" - "Common/GameRules/GameRuleDefinition.cpp" - "Common/GameRules/GameRuleManager.cpp" - "Common/GameRules/LevelGenerationOptions.cpp" - "Common/GameRules/LevelGenerators.cpp" - "Common/GameRules/LevelRules.cpp" - "Common/GameRules/LevelRuleset.cpp" - "Common/GameRules/NamedAreaRuleDefinition.cpp" - "Common/GameRules/StartFeature.cpp" - "Common/GameRules/UpdatePlayerRuleDefinition.cpp" - "Common/GameRules/UseTileRuleDefinition.cpp" - "Common/GameRules/XboxStructureActionGenerateBox.cpp" - "Common/GameRules/XboxStructureActionPlaceBlock.cpp" - "Common/GameRules/XboxStructureActionPlaceContainer.cpp" - "Common/GameRules/XboxStructureActionPlaceSpawner.cpp" - "Common/Leaderboards/LeaderboardInterface.cpp" - "Common/Leaderboards/LeaderboardManager.cpp" - "Common/Network/GameNetworkManager.cpp" - "Common/Network/PlatformNetworkManagerStub.cpp" - "Common/Telemetry/TelemetryManager.cpp" - "Common/Trial/TrialMode.cpp" - "Common/Tutorial/AreaConstraint.cpp" - "Common/Tutorial/AreaHint.cpp" - "Common/Tutorial/AreaTask.cpp" - "Common/Tutorial/ChangeStateConstraint.cpp" - "Common/Tutorial/ChoiceTask.cpp" - "Common/Tutorial/CompleteUsingItemTask.cpp" - "Common/Tutorial/ControllerTask.cpp" - "Common/Tutorial/CraftTask.cpp" - "Common/Tutorial/DiggerItemHint.cpp" - "Common/Tutorial/EffectChangedTask.cpp" - "Common/Tutorial/FullTutorial.cpp" - "Common/Tutorial/FullTutorialActiveTask.cpp" - "Common/Tutorial/FullTutorialMode.cpp" - "Common/Tutorial/HorseChoiceTask.cpp" - "Common/Tutorial/InfoTask.cpp" - "Common/Tutorial/InputConstraint.cpp" - "Common/Tutorial/LookAtEntityHint.cpp" - "Common/Tutorial/LookAtTileHint.cpp" - "Common/Tutorial/PickupTask.cpp" - "Common/Tutorial/ProcedureCompoundTask.cpp" - "Common/Tutorial/ProgressFlagTask.cpp" - "Common/Tutorial/RideEntityTask.cpp" - "Common/Tutorial/StatTask.cpp" - "Common/Tutorial/TakeItemHint.cpp" - "Common/Tutorial/Tutorial.cpp" - "Common/Tutorial/TutorialHint.cpp" - "Common/Tutorial/TutorialMessage.cpp" - "Common/Tutorial/TutorialMode.cpp" - "Common/Tutorial/TutorialTask.cpp" - "Common/Tutorial/UseItemTask.cpp" - "Common/Tutorial/UseTileTask.cpp" - "Common/Tutorial/XuiCraftingTask.cpp" - "Common/UI/IUIScene_AbstractContainerMenu.cpp" - "Common/UI/IUIScene_AnvilMenu.cpp" - "Common/UI/IUIScene_BeaconMenu.cpp" - "Common/UI/IUIScene_BrewingMenu.cpp" - "Common/UI/IUIScene_CommandBlockMenu.cpp" - "Common/UI/IUIScene_ContainerMenu.cpp" - "Common/UI/IUIScene_CraftingMenu.cpp" - "Common/UI/IUIScene_CreativeMenu.cpp" - "Common/UI/IUIScene_DispenserMenu.cpp" - "Common/UI/IUIScene_EnchantingMenu.cpp" - "Common/UI/IUIScene_FireworksMenu.cpp" - "Common/UI/IUIScene_FurnaceMenu.cpp" - "Common/UI/IUIScene_HUD.cpp" - "Common/UI/IUIScene_HopperMenu.cpp" - "Common/UI/IUIScene_HorseInventoryMenu.cpp" - "Common/UI/IUIScene_InventoryMenu.cpp" - "Common/UI/IUIScene_PauseMenu.cpp" - "Common/UI/IUIScene_StartGame.cpp" - "Common/UI/IUIScene_TradingMenu.cpp" - "Common/UI/UIBitmapFont.cpp" - "Common/UI/UIComponent_Chat.cpp" - "Common/UI/UIComponent_DebugUIConsole.cpp" - "Common/UI/UIComponent_DebugUIMarketingGuide.cpp" - "Common/UI/UIComponent_Logo.cpp" - "Common/UI/UIComponent_MenuBackground.cpp" - "Common/UI/UIComponent_Panorama.cpp" - "Common/UI/UIComponent_PressStartToPlay.cpp" - "Common/UI/UIComponent_Tooltips.cpp" - "Common/UI/UIComponent_TutorialPopup.cpp" - "Common/UI/UIControl.cpp" - "Common/UI/UIControl_Base.cpp" - "Common/UI/UIControl_BeaconEffectButton.cpp" - "Common/UI/UIControl_BitmapIcon.cpp" - "Common/UI/UIControl_Button.cpp" - "Common/UI/UIControl_ButtonList.cpp" - "Common/UI/UIControl_CheckBox.cpp" - "Common/UI/UIControl_Cursor.cpp" - "Common/UI/UIControl_DLCList.cpp" - "Common/UI/UIControl_DynamicLabel.cpp" - "Common/UI/UIControl_EnchantmentBook.cpp" - "Common/UI/UIControl_EnchantmentButton.cpp" - "Common/UI/UIControl_HTMLLabel.cpp" - "Common/UI/UIControl_Label.cpp" - "Common/UI/UIControl_LeaderboardList.cpp" - "Common/UI/UIControl_MinecraftHorse.cpp" - "Common/UI/UIControl_MinecraftPlayer.cpp" - "Common/UI/UIControl_PlayerList.cpp" - "Common/UI/UIControl_PlayerSkinPreview.cpp" - "Common/UI/UIControl_Progress.cpp" - "Common/UI/UIControl_SaveList.cpp" - "Common/UI/UIControl_Slider.cpp" - "Common/UI/UIControl_SlotList.cpp" - "Common/UI/UIControl_SpaceIndicatorBar.cpp" - "Common/UI/UIControl_TextInput.cpp" - "Common/UI/UIControl_TexturePackList.cpp" - "Common/UI/UIController.cpp" - "Common/UI/UIFontData.cpp" - "Common/UI/UIGroup.cpp" - "Common/UI/UILayer.cpp" - "Common/UI/UIScene.cpp" - "Common/UI/UIScene_AbstractContainerMenu.cpp" - "Common/UI/UIScene_AnvilMenu.cpp" - "Common/UI/UIScene_BeaconMenu.cpp" - "Common/UI/UIScene_BrewingStandMenu.cpp" - "Common/UI/UIScene_ConnectingProgress.cpp" - "Common/UI/UIScene_ContainerMenu.cpp" - "Common/UI/UIScene_ControlsMenu.cpp" - "Common/UI/UIScene_CraftingMenu.cpp" - "Common/UI/UIScene_CreateWorldMenu.cpp" - "Common/UI/UIScene_CreativeMenu.cpp" - "Common/UI/UIScene_Credits.cpp" - "Common/UI/UIScene_DLCMainMenu.cpp" - "Common/UI/UIScene_DLCOffersMenu.cpp" - "Common/UI/UIScene_DeathMenu.cpp" - "Common/UI/UIScene_DebugCreateSchematic.cpp" - "Common/UI/UIScene_DebugOptions.cpp" - "Common/UI/UIScene_DebugOverlay.cpp" - "Common/UI/UIScene_DebugSetCamera.cpp" - "Common/UI/UIScene_DispenserMenu.cpp" - "Common/UI/UIScene_EULA.cpp" - "Common/UI/UIScene_EnchantingMenu.cpp" - "Common/UI/UIScene_EndPoem.cpp" - "Common/UI/UIScene_FireworksMenu.cpp" - "Common/UI/UIScene_FullscreenProgress.cpp" - "Common/UI/UIScene_FurnaceMenu.cpp" - "Common/UI/UIScene_HUD.cpp" - "Common/UI/UIScene_HelpAndOptionsMenu.cpp" - "Common/UI/UIScene_HopperMenu.cpp" - "Common/UI/UIScene_HorseInventoryMenu.cpp" - "Common/UI/UIScene_HowToPlay.cpp" - "Common/UI/UIScene_HowToPlayMenu.cpp" - "Common/UI/UIScene_InGameHostOptionsMenu.cpp" - "Common/UI/UIScene_InGameInfoMenu.cpp" - "Common/UI/UIScene_InGamePlayerOptionsMenu.cpp" - "Common/UI/UIScene_Intro.cpp" - "Common/UI/UIScene_InventoryMenu.cpp" - "Common/UI/UIScene_JoinMenu.cpp" - "Common/UI/UIScene_Keyboard.cpp" - "Common/UI/UIScene_LanguageSelector.cpp" - "Common/UI/UIScene_LaunchMoreOptionsMenu.cpp" - "Common/UI/UIScene_LeaderboardsMenu.cpp" - "Common/UI/UIScene_LoadMenu.cpp" - "Common/UI/UIScene_LoadOrJoinMenu.cpp" - "Common/UI/UIScene_MainMenu.cpp" - "Common/UI/UIScene_MessageBox.cpp" - "Common/UI/UIScene_NewUpdateMessage.cpp" - "Common/UI/UIScene_PauseMenu.cpp" - "Common/UI/UIScene_QuadrantSignin.cpp" - "Common/UI/UIScene_ReinstallMenu.cpp" - "Common/UI/UIScene_SaveMessage.cpp" - "Common/UI/UIScene_SettingsAudioMenu.cpp" - "Common/UI/UIScene_SettingsControlMenu.cpp" - "Common/UI/UIScene_SettingsGraphicsMenu.cpp" - "Common/UI/UIScene_SettingsMenu.cpp" - "Common/UI/UIScene_SettingsOptionsMenu.cpp" - "Common/UI/UIScene_SettingsUIMenu.cpp" - "Common/UI/UIScene_SignEntryMenu.cpp" - "Common/UI/UIScene_SkinSelectMenu.cpp" - "Common/UI/UIScene_TeleportMenu.cpp" - "Common/UI/UIScene_Timer.cpp" - "Common/UI/UIScene_TradingMenu.cpp" - "Common/UI/UIScene_TrialExitUpsell.cpp" - "Common/UI/UIString.cpp" - "Common/UI/UITTFFont.cpp" - "Common/zlib/adler32.c" - "Common/zlib/compress.c" - "Common/zlib/crc32.c" - "Common/zlib/deflate.c" - "Common/zlib/gzclose.c" - "Common/zlib/gzlib.c" - "Common/zlib/gzread.c" - "Common/zlib/gzwrite.c" - "Common/zlib/infback.c" - "Common/zlib/inffast.c" - "Common/zlib/inflate.c" - "Common/zlib/inftrees.c" - "Common/zlib/trees.c" - "Common/zlib/uncompr.c" - "Common/zlib/zutil.c" - "CompassTexture.cpp" - "ConfirmScreen.cpp" - "ConsoleInput.cpp" - "ControlsScreen.cpp" - "CowModel.cpp" - "CowRenderer.cpp" - "CreateWorldScreen.cpp" - "CreeperModel.cpp" - "CreeperRenderer.cpp" - "CritParticle.cpp" - "CritParticle2.cpp" - "Cube.cpp" - "DLCTexturePack.cpp" - "DeathScreen.cpp" - "DefaultRenderer.cpp" - "DefaultTexturePack.cpp" - "DemoUser.cpp" - "DerivedServerLevel.cpp" - "DirtyChunkSorter.cpp" - "DispenserBootstrap.cpp" - "DistanceChunkSorter.cpp" - "DragonBreathParticle.cpp" - "DragonModel.cpp" - "DripParticle.cpp" - "EchantmentTableParticle.cpp" - "EditBox.cpp" - "EnchantTableRenderer.cpp" - "EnderChestRenderer.cpp" - "EnderCrystalModel.cpp" - "EnderCrystalRenderer.cpp" - "EnderDragonRenderer.cpp" - "EnderParticle.cpp" - "EndermanModel.cpp" - "EndermanRenderer.cpp" - "EntityRenderDispatcher.cpp" - "EntityRenderer.cpp" - "EntityTileRenderer.cpp" - "EntityTracker.cpp" - "ErrorScreen.cpp" - "ExperienceOrbRenderer.cpp" - "ExplodeParticle.cpp" - "Extrax64Stubs.cpp" - "FallingTileRenderer.cpp" - "FileTexturePack.cpp" - "FireballRenderer.cpp" - "FireworksParticles.cpp" - "FishingHookRenderer.cpp" - "FlameParticle.cpp" - "FolderTexturePack.cpp" - "Font.cpp" - "FootstepParticle.cpp" - "Frustum.cpp" - "FrustumCuller.cpp" - "FrustumData.cpp" - "GameRenderer.cpp" - "GhastModel.cpp" - "GhastRenderer.cpp" - "GiantMobRenderer.cpp" - "Gui.cpp" - "GuiComponent.cpp" - "GuiMessage.cpp" - "GuiParticle.cpp" - "GuiParticles.cpp" - "HeartParticle.cpp" - "HorseRenderer.cpp" - "HttpTexture.cpp" - "HugeExplosionParticle.cpp" - "HugeExplosionSeedParticle.cpp" - "HumanoidMobRenderer.cpp" - "HumanoidModel.cpp" - "InBedChatScreen.cpp" - "Input.cpp" - "iob_shim.asm" - "ItemFrameRenderer.cpp" - "ItemInHandRenderer.cpp" - "ItemRenderer.cpp" - "ItemSpriteRenderer.cpp" - "JoinMultiplayerScreen.cpp" - "KeyMapping.cpp" - "LargeChestModel.cpp" - "LavaParticle.cpp" - "LavaSlimeModel.cpp" - "LavaSlimeRenderer.cpp" - "LeashKnotModel.cpp" - "LeashKnotRenderer.cpp" - "LevelRenderer.cpp" - "Lighting.cpp" - "LightningBoltRenderer.cpp" - "LivingEntityRenderer.cpp" - "LocalPlayer.cpp" - "MemTexture.cpp" - "MemoryTracker.cpp" - "MinecartModel.cpp" - "MinecartRenderer.cpp" - "MinecartSpawnerRenderer.cpp" - "Minecraft.cpp" - "MinecraftServer.cpp" - "Minimap.cpp" - "MobRenderer.cpp" - "MobSkinMemTextureProcessor.cpp" - "MobSkinTextureProcessor.cpp" - "MobSpawnerRenderer.cpp" - "Model.cpp" - "ModelHorse.cpp" - "ModelPart.cpp" - "MultiPlayerChunkCache.cpp" - "MultiPlayerGameMode.cpp" - "MultiPlayerLevel.cpp" - "MultiPlayerLocalPlayer.cpp" - "MushroomCowRenderer.cpp" - "NameEntryScreen.cpp" - "NetherPortalParticle.cpp" - "NoteParticle.cpp" - "OcelotModel.cpp" - "OcelotRenderer.cpp" - "OffsettedRenderList.cpp" - "Options.cpp" - "OptionsScreen.cpp" - "PS3/PS3Extras/ShutdownManager.cpp" - "PaintingRenderer.cpp" - "Particle.cpp" - "ParticleEngine.cpp" - "PauseScreen.cpp" - "PendingConnection.cpp" - "PigModel.cpp" - "PigRenderer.cpp" - "PistonPieceRenderer.cpp" - "PlayerChunkMap.cpp" - "PlayerCloudParticle.cpp" - "PlayerConnection.cpp" - "PlayerList.cpp" - "PlayerRenderer.cpp" - "Polygon.cpp" - "PreStitchedTextureMap.cpp" - "ProgressRenderer.cpp" - "QuadrupedModel.cpp" - "Rect2i.cpp" - "RedDustParticle.cpp" - "RemotePlayer.cpp" - "RenameWorldScreen.cpp" - "Screen.cpp" - "ScreenSizeCalculator.cpp" - "ScrolledSelectionList.cpp" - "SelectWorldScreen.cpp" - "ServerChunkCache.cpp" - "ServerCommandDispatcher.cpp" - "ServerConnection.cpp" - "ServerLevel.cpp" - "ServerLevelListener.cpp" - "ServerPlayer.cpp" - "ServerPlayerGameMode.cpp" - "ServerScoreboard.cpp" - "Settings.cpp" - "SheepFurModel.cpp" - "SheepModel.cpp" - "SheepRenderer.cpp" - "SignModel.cpp" - "SignRenderer.cpp" - "SilverfishModel.cpp" - "SilverfishRenderer.cpp" - "SimpleIcon.cpp" - "SkeletonHeadModel.cpp" - "SkeletonModel.cpp" - "SkeletonRenderer.cpp" - "SkiModel.cpp" - "SkullTileRenderer.cpp" - "SlideButton.cpp" - "SlimeModel.cpp" - "SlimeRenderer.cpp" - "SmallButton.cpp" - "SmokeParticle.cpp" - "SnowManModel.cpp" - "SnowManRenderer.cpp" - "SnowShovelParticle.cpp" - "SpellParticle.cpp" - "SpiderModel.cpp" - "SpiderRenderer.cpp" - "SplashParticle.cpp" - "SquidModel.cpp" - "SquidRenderer.cpp" - "StatsCounter.cpp" - "StatsScreen.cpp" - "StatsSyncher.cpp" - "StitchSlot.cpp" - "StitchedTexture.cpp" - "Stitcher.cpp" - "StringTable.cpp" - "SuspendedParticle.cpp" - "SuspendedTownParticle.cpp" - "TakeAnimationParticle.cpp" - "TeleportCommand.cpp" - "TerrainParticle.cpp" - "Tesselator.cpp" - "TexOffs.cpp" - "Texture.cpp" - "TextureAtlas.cpp" - "TextureHolder.cpp" - "TextureManager.cpp" - "TextureMap.cpp" - "TexturePack.cpp" - "TexturePackRepository.cpp" - "Textures.cpp" - "TheEndPortalRenderer.cpp" - "TileEntityRenderDispatcher.cpp" - "TileEntityRenderer.cpp" - "TileRenderer.cpp" - "Timer.cpp" - "TitleScreen.cpp" - "TntMinecartRenderer.cpp" - "TntRenderer.cpp" - "TrackedEntity.cpp" - "User.cpp" - "Vertex.cpp" - "VideoSettingsScreen.cpp" - "ViewportCuller.cpp" - "VillagerGolemModel.cpp" - "VillagerGolemRenderer.cpp" - "VillagerModel.cpp" - "VillagerRenderer.cpp" - "VillagerZombieModel.cpp" - "WaterDropParticle.cpp" - "Windows64/Iggy/gdraw/gdraw_d3d11.cpp" - "Windows64/KeyboardMouseInput.cpp" - "Windows64/PostProcesser.cpp" - "Windows64/Leaderboards/WindowsLeaderboardManager.cpp" - "Windows64/Windows64_App.cpp" - "Windows64/Windows64_Minecraft.cpp" - "Windows64/Windows64_UIController.cpp" - "Windows64/Network/WinsockNetLayer.cpp" - "WitchModel.cpp" - "WitchRenderer.cpp" - "WitherBossModel.cpp" - "WitherBossRenderer.cpp" - "WitherSkullRenderer.cpp" - "WolfModel.cpp" - "WolfRenderer.cpp" - "WstringLookup.cpp" - "Xbox/Network/NetworkPlayerXbox.cpp" - "ZombieModel.cpp" - "ZombieRenderer.cpp" - "compat_shims.cpp" - "glWrapper.cpp" - "stdafx.cpp" - "stubs.cpp" -) diff --git a/cmake/CommonSources.cmake b/cmake/CommonSources.cmake new file mode 100644 index 00000000..e6ad7d3d --- /dev/null +++ b/cmake/CommonSources.cmake @@ -0,0 +1,15 @@ +set(_INCLUDE_LCE_FILESYSTEM + "${CMAKE_SOURCE_DIR}/include/lce_filesystem/lce_filesystem.cpp" + "${CMAKE_SOURCE_DIR}/include/lce_filesystem/lce_filesystem.h" +) +source_group("include/lce_filesystem" FILES ${_INCLUDE_LCE_FILESYSTEM}) + +set(_INCLUDE_BUILDVER + "${CMAKE_SOURCE_DIR}/include/Common/BuildVer.h" +) +source_group("Common" FILES ${_INCLUDE_BUILDVER}) + +set(SOURCES_COMMON + ${_INCLUDE_LCE_FILESYSTEM} + ${_INCLUDE_BUILDVER} +)
\ No newline at end of file diff --git a/cmake/CopyAssets.cmake b/cmake/CopyAssets.cmake new file mode 100644 index 00000000..a78c9170 --- /dev/null +++ b/cmake/CopyAssets.cmake @@ -0,0 +1,101 @@ +function(setup_asset_folder_copy TARGET_NAME ASSET_FOLDER_PAIRS) + set(COPY_FOLDER_SCRIPT "${CMAKE_SOURCE_DIR}/cmake/CopyFolderScript.cmake") + + # Global exclusions applied to every folder copy + set(ASSET_EXCLUDE_FILES + "*.cpp" "*.h" + "*.xml" "*.lang" + "*.bat" "*.cmd" + "*.msscmp" "*.binka" # Old audio formats + "*.swf" # These are built into the .arc + "*.resx" "*.loc" + "*.wav" # Unsupported audio format + "*.xui" + ) + + # Global folder exclusions applied to every folder copy + set(ASSET_EXCLUDE_FOLDERS + "Graphics" + ) + + # Exclude platform-specific arc media files + set(PLATFORM_MEDIA_FILES + "MediaWindows64.arc" + "MediaDurango.arc" + "MediaOrbis.arc" + "MediaPS3.arc" + "MediaPSVita.arc" + "MediaXbox.arc" # Seems to be missing? + ) + + # Exclude all platform media files except the one for the current platform + foreach(media_file IN LISTS PLATFORM_MEDIA_FILES) + if(NOT media_file MATCHES "Media${PLATFORM_NAME}\\.arc") + list(APPEND ASSET_EXCLUDE_FILES "${media_file}") + endif() + endforeach() + + # Join the exclusion patterns into a single string for passing to the copy script + list(JOIN ASSET_EXCLUDE_FILES "|" ASSET_EXCLUDE_FILES_STR) + list(JOIN ASSET_EXCLUDE_FOLDERS "|" ASSET_EXCLUDE_FOLDERS_STR) + + set(copy_commands "") + list(LENGTH ASSET_FOLDER_PAIRS pair_count) + math(EXPR last "${pair_count} - 1") + + # Loop through the source;dest pairs and create a copy command for each + foreach(i RANGE 0 ${last} 2) + math(EXPR j "${i} + 1") + list(GET ASSET_FOLDER_PAIRS ${i} src) + list(GET ASSET_FOLDER_PAIRS ${j} dest) + + list(APPEND copy_commands + COMMAND ${CMAKE_COMMAND} + "-DCOPY_SOURCE=${src}" + "-DCOPY_DEST=$<TARGET_FILE_DIR:${TARGET_NAME}>/${dest}" + "-DEXCLUDE_FILES=${ASSET_EXCLUDE_FILES_STR}" + "-DEXCLUDE_FOLDERS=${ASSET_EXCLUDE_FOLDERS_STR}" + -P "${COPY_FOLDER_SCRIPT}" + ) + endforeach() + + add_custom_target(AssetFolderCopy_${TARGET_NAME} ALL + ${copy_commands} + COMMENT "Copying assets (folders) for ${TARGET_NAME}..." + VERBATIM + ) + + add_dependencies(${TARGET_NAME} AssetFolderCopy_${TARGET_NAME}) + set_property(TARGET AssetFolderCopy_${TARGET_NAME} PROPERTY FOLDER "Build") +endfunction() + +function(setup_asset_file_copy TARGET_NAME ASSET_FILE_PAIRS) + set(COPY_FILE_SCRIPT "${CMAKE_SOURCE_DIR}/cmake/CopyFileScript.cmake") + + set(copy_commands "") + list(LENGTH ASSET_FILE_PAIRS pair_count) + math(EXPR last "${pair_count} - 1") + + # Loop through the source;dest pairs and create a copy command for each + foreach(i RANGE 0 ${last} 2) + math(EXPR j "${i} + 1") + list(GET ASSET_FILE_PAIRS ${i} src) + list(GET ASSET_FILE_PAIRS ${j} dest) + + list(APPEND copy_commands + COMMAND ${CMAKE_COMMAND} + "-DCOPY_SOURCE=${src}" + "-DCOPY_DEST=$<TARGET_FILE_DIR:${TARGET_NAME}>/${dest}" + -P "${COPY_FILE_SCRIPT}" + ) + endforeach() + + add_custom_target(AssetFileCopy_${TARGET_NAME} ALL + ${copy_commands} + COMMENT "Copying assets (files) for ${TARGET_NAME}..." + VERBATIM + ) + + add_dependencies(${TARGET_NAME} AssetFileCopy_${TARGET_NAME}) + set_property(TARGET AssetFileCopy_${TARGET_NAME} PROPERTY FOLDER "Build") +endfunction() diff --git a/cmake/CopyFileScript.cmake b/cmake/CopyFileScript.cmake new file mode 100644 index 00000000..a6b2f839 --- /dev/null +++ b/cmake/CopyFileScript.cmake @@ -0,0 +1,51 @@ +# Cross-platform single file copy using fast native tools +# +# Required: +# COPY_SOURCE – pipe-separated list of source file paths +# COPY_DEST – destination directory + +if(NOT COPY_SOURCE OR NOT COPY_DEST) + message(FATAL_ERROR "COPY_SOURCE and COPY_DEST must be set.") +endif() + +string(REPLACE "|" ";" COPY_SOURCE "${COPY_SOURCE}") + +if(CMAKE_HOST_WIN32) + # Group files by parent directory so we can batch them into single robocopy calls + set(dir_file_map "") + set(unique_dirs "") + + foreach(filepath IN LISTS COPY_SOURCE) + get_filename_component(dir "${filepath}" DIRECTORY) + get_filename_component(name "${filepath}" NAME) + + if(NOT dir IN_LIST unique_dirs) + list(APPEND unique_dirs "${dir}") + endif() + + list(APPEND "FILES_IN_${dir}" "${name}") + endforeach() + + foreach(dir IN LISTS unique_dirs) + execute_process( + COMMAND robocopy.exe "${dir}" "${COPY_DEST}" ${FILES_IN_${dir}} /MT /R:0 /W:0 /NP + RESULT_VARIABLE rc + ) + + if(rc GREATER 7) # Allows for "files copied" and "no files copied" cases, but treats actual errors as failures + message(FATAL_ERROR "robocopy failed (exit code ${rc})") + endif() + endforeach() + +elseif(CMAKE_HOST_UNIX) + execute_process( + COMMAND rsync -av ${COPY_SOURCE} "${COPY_DEST}/" + RESULT_VARIABLE rs + ) + + if(rs GREATER 0) # Any non-zero exit code indicates an error + message(FATAL_ERROR "rsync failed (exit code ${rs})") + endif() +else() + message(FATAL_ERROR "Unsupported host platform for asset copying.") +endif()
\ No newline at end of file diff --git a/cmake/CopyFolderScript.cmake b/cmake/CopyFolderScript.cmake new file mode 100644 index 00000000..e725b68d --- /dev/null +++ b/cmake/CopyFolderScript.cmake @@ -0,0 +1,70 @@ +# Cross-platform recursive copy with exclusion support +# +# Required: +# COPY_SOURCE – source directory +# COPY_DEST – destination directory +# +# Optional: +# EXCLUDE_FILES – pipe-separated file patterns to exclude +# EXCLUDE_FOLDERS – pipe-separated folder patterns to exclude + +if(NOT COPY_SOURCE OR NOT COPY_DEST) + message(FATAL_ERROR "COPY_SOURCE and COPY_DEST must be set.") +endif() + +# Replace "|" with ";" to convert the exclusion patterns back into a list +if(EXCLUDE_FILES) + string(REPLACE "|" ";" EXCLUDE_FILES "${EXCLUDE_FILES}") +endif() + +if(EXCLUDE_FOLDERS) + string(REPLACE "|" ";" EXCLUDE_FOLDERS "${EXCLUDE_FOLDERS}") +endif() + +message(STATUS "Copying from ${COPY_SOURCE} to ${COPY_DEST}") + +if(CMAKE_HOST_WIN32) + set(robocopy_args + "${COPY_SOURCE}" "${COPY_DEST}" + /S /MT /R:0 /W:0 /NP + ) + + if(EXCLUDE_FILES) + list(APPEND robocopy_args /XF ${EXCLUDE_FILES}) + endif() + + if(EXCLUDE_FOLDERS) + list(APPEND robocopy_args /XD ${EXCLUDE_FOLDERS}) + endif() + + execute_process( + COMMAND robocopy.exe ${robocopy_args} + RESULT_VARIABLE rc + ) + + if(rc GREATER 7) # Allows for "files copied" and "no files copied" cases, but treats actual errors as failures + message(FATAL_ERROR "robocopy failed (exit code ${rc})") + endif() +elseif(CMAKE_HOST_UNIX) + set(rsync_args -av) + + foreach(pattern IN LISTS EXCLUDE_FILES) + list(APPEND rsync_args "--exclude=${pattern}") + endforeach() + + foreach(pattern IN LISTS EXCLUDE_FOLDERS) + list(APPEND rsync_args "--exclude=${pattern}") + endforeach() + + # Trailing slashes ensure rsync copies contents, not the directory itself + execute_process( + COMMAND rsync ${rsync_args} "${COPY_SOURCE}/" "${COPY_DEST}/" + RESULT_VARIABLE rs + ) + + if(rs GREATER 0) # Any non-zero exit code indicates an error + message(FATAL_ERROR "rsync failed (exit code ${rs})") + endif() +else() + message(FATAL_ERROR "Unsupported host platform for asset copying.") +endif() diff --git a/cmake/CopyServerAssets.cmake b/cmake/CopyServerAssets.cmake deleted file mode 100644 index d1e6fa4e..00000000 --- a/cmake/CopyServerAssets.cmake +++ /dev/null @@ -1,72 +0,0 @@ -if(NOT DEFINED PROJECT_SOURCE_DIR OR NOT DEFINED OUTPUT_DIR OR NOT DEFINED CONFIGURATION) - message(FATAL_ERROR "CopyServerAssets.cmake requires PROJECT_SOURCE_DIR, OUTPUT_DIR, and CONFIGURATION.") -endif() - -string(REPLACE "\"" "" PROJECT_SOURCE_DIR "${PROJECT_SOURCE_DIR}") -string(REPLACE "\"" "" OUTPUT_DIR "${OUTPUT_DIR}") -string(REPLACE "\"" "" CONFIGURATION "${CONFIGURATION}") - -set(_project_dir "${PROJECT_SOURCE_DIR}/Minecraft.Client") - -function(copy_tree_if_exists src_rel dst_rel) - set(_src "${_project_dir}/${src_rel}") - set(_dst "${OUTPUT_DIR}/${dst_rel}") - - if(EXISTS "${_src}") - file(MAKE_DIRECTORY "${_dst}") - file(GLOB_RECURSE _files RELATIVE "${_src}" "${_src}/*") - - foreach(_file IN LISTS _files) - if(NOT _file MATCHES "\\.(cpp|c|h|hpp|xml|lang)$") - set(_full_src "${_src}/${_file}") - set(_full_dst "${_dst}/${_file}") - - if(IS_DIRECTORY "${_full_src}") - file(MAKE_DIRECTORY "${_full_dst}") - else() - get_filename_component(_dst_dir "${_full_dst}" DIRECTORY) - file(MAKE_DIRECTORY "${_dst_dir}") - execute_process( - COMMAND "${CMAKE_COMMAND}" -E copy_if_different - "${_full_src}" "${_full_dst}" - ) - endif() - endif() - endforeach() - endif() -endfunction() - -function(copy_file_if_exists src_rel dst_rel) - set(_src "${PROJECT_SOURCE_DIR}/${src_rel}") - set(_dst "${OUTPUT_DIR}/${dst_rel}") - - get_filename_component(_dst_dir "${_dst}" DIRECTORY) - file(MAKE_DIRECTORY "${_dst_dir}") - - if(EXISTS "${_src}") - execute_process( - COMMAND "${CMAKE_COMMAND}" -E copy_if_different - "${_src}" "${_dst}" - ) - endif() -endfunction() - -function(copy_first_existing dst_rel) - foreach(_candidate IN LISTS ARGN) - if(EXISTS "${PROJECT_SOURCE_DIR}/${_candidate}") - copy_file_if_exists("${_candidate}" "${dst_rel}") - return() - endif() - endforeach() -endfunction() - -# Dedicated server runtime assets (minimal set validated in startup tests). -copy_file_if_exists("Minecraft.Client/Common/Media/MediaWindows64.arc" "Common/Media/MediaWindows64.arc") -copy_tree_if_exists("Common/res" "Common/res") -copy_tree_if_exists("Windows64/GameHDD" "Windows64/GameHDD") - -copy_first_existing("iggy_w64.dll" - "Minecraft.Client/Windows64/Iggy/lib/redist64/iggy_w64.dll" - "x64/${CONFIGURATION}/iggy_w64.dll" -) - diff --git a/cmake/GenerateBuildVer.cmake b/cmake/GenerateBuildVer.cmake new file mode 100644 index 00000000..5db7f0d0 --- /dev/null +++ b/cmake/GenerateBuildVer.cmake @@ -0,0 +1,91 @@ +# Generates BuildVer.h with git version info. +# +# Required: +# OUTPUT_FILE - path to write BuildVer.h + +if(NOT OUTPUT_FILE) + message(FATAL_ERROR "OUTPUT_FILE must be set.") +endif() + +set(BUILD_NUMBER 560) # Note: Build/network has to stay static for now, as without it builds wont be able to play together. We can change it later when we have a better versioning scheme in place. +set(SUFFIX "") + +# Get short SHA +execute_process( + COMMAND git rev-parse --short HEAD + OUTPUT_VARIABLE GIT_SHA + OUTPUT_STRIP_TRAILING_WHITESPACE + RESULT_VARIABLE rc +) +if(NOT rc EQUAL 0) + set(GIT_SHA "unknown") +endif() + +# Get branch name +execute_process( + COMMAND git symbolic-ref --short HEAD + OUTPUT_VARIABLE GIT_BRANCH + OUTPUT_STRIP_TRAILING_WHITESPACE + RESULT_VARIABLE rc +) +if(NOT rc EQUAL 0) + set(GIT_BRANCH "unknown") +endif() + +# Get GitHub repository from environment variable (if available) or git remote +if(DEFINED ENV{GITHUB_REPOSITORY}) + set(GIT_REF "$ENV{GITHUB_REPOSITORY}/${GIT_BRANCH}") +else() + execute_process( + COMMAND git remote get-url origin + OUTPUT_VARIABLE GIT_REMOTE_URL + OUTPUT_STRIP_TRAILING_WHITESPACE + RESULT_VARIABLE rc + ) + # Handle github urls only + if(rc EQUAL 0 AND GIT_REMOTE_URL MATCHES "github\\.com[:/]([^/:]+/[^/.]+)(\\.git)?") + set(GIT_REF "${CMAKE_MATCH_1}/${GIT_BRANCH}") + else() + set(GIT_REF "UNKNOWN/${GIT_BRANCH}") + endif() +endif() + +# If we have uncommitted changes, add a suffix to the version string +execute_process( + COMMAND git status --porcelain + OUTPUT_VARIABLE GIT_STATUS + OUTPUT_STRIP_TRAILING_WHITESPACE +) +if(GIT_STATUS) + set(SUFFIX "-dev") +endif() + +# Write to a temp file first, only overwrite if content changed. +# This prevents unnecessary rebuilds when the version info hasn't changed. +set(_content + "#pragma once\n" + "\n" + "#define VER_PRODUCTBUILD ${BUILD_NUMBER}\n" + "#define VER_PRODUCTVERSION_STR_W L\"${GIT_SHA}${SUFFIX}\"\n" + "#define VER_FILEVERSION_STR_W VER_PRODUCTVERSION_STR_W\n" + "#define VER_BRANCHVERSION_STR_W L\"${GIT_REF}\"\n" + "#define VER_NETWORK VER_PRODUCTBUILD\n" +) + +set(_tmp "${OUTPUT_FILE}.tmp") +file(WRITE "${_tmp}" ${_content}) + +if(EXISTS "${OUTPUT_FILE}") + execute_process( + COMMAND ${CMAKE_COMMAND} -E compare_files "${OUTPUT_FILE}" "${_tmp}" + RESULT_VARIABLE _changed + ) +else() + set(_changed 1) +endif() + +if(_changed) + file(RENAME "${_tmp}" "${OUTPUT_FILE}") +else() + file(REMOVE "${_tmp}") +endif()
\ No newline at end of file diff --git a/cmake/Utils.cmake b/cmake/Utils.cmake new file mode 100644 index 00000000..8e1e0ae5 --- /dev/null +++ b/cmake/Utils.cmake @@ -0,0 +1,28 @@ +# Make sure the GameHDD directory exists, only supported on Windows +function(add_gamehdd_target TARGET_NAME) + add_custom_target(EnsureGameHDD_${TARGET_NAME} ALL + COMMAND ${CMAKE_COMMAND} + -E make_directory "$<TARGET_FILE_DIR:${TARGET_NAME}>/Windows64/GameHDD" + COMMENT "Ensuring GameHDD directory exists..." + VERBATIM + ) + add_dependencies(${TARGET_NAME} EnsureGameHDD_${TARGET_NAME}) + set_property(TARGET EnsureGameHDD_${TARGET_NAME} PROPERTY FOLDER "Build") +endfunction() + +# Copy any needed redist files to the output directory +function(add_copyredist_target TARGET_NAME) + set(COPY_SCRIPT "${CMAKE_SOURCE_DIR}/cmake/CopyFolderScript.cmake") + + add_custom_target(CopyRedist_${TARGET_NAME} ALL + COMMAND ${CMAKE_COMMAND} + "-DCOPY_SOURCE=${CMAKE_SOURCE_DIR}/Minecraft.Client/${PLATFORM_NAME}/Iggy/lib/redist64" + "-DCOPY_DEST=$<TARGET_FILE_DIR:${TARGET_NAME}>" + -P "${COPY_SCRIPT}" + COMMENT "Copying redist files..." + VERBATIM + ) + + add_dependencies(${TARGET_NAME} CopyRedist_${TARGET_NAME}) + set_property(TARGET CopyRedist_${TARGET_NAME} PROPERTY FOLDER "Build") +endfunction() diff --git a/cmake/WorldSources.cmake b/cmake/WorldSources.cmake deleted file mode 100644 index cd6c1b81..00000000 --- a/cmake/WorldSources.cmake +++ /dev/null @@ -1,801 +0,0 @@ -set(MINECRAFT_WORLD_SOURCES - "AABB.cpp" - "Abilities.cpp" - "AbsoptionMobEffect.cpp" - "AbstractContainerMenu.cpp" - "AbstractProjectileDispenseBehavior.cpp" - "Achievement.cpp" - "Achievements.cpp" - "AddEntityPacket.cpp" - "AddExperienceOrbPacket.cpp" - "AddGlobalEntityPacket.cpp" - "AddIslandLayer.cpp" - "AddMobPacket.cpp" - "AddMushroomIslandLayer.cpp" - "AddPaintingPacket.cpp" - "AddPlayerPacket.cpp" - "AddSnowLayer.cpp" - "AgableMob.cpp" - "AirTile.cpp" - "AmbientCreature.cpp" - "Animal.cpp" - "AnimalChest.cpp" - "AnimatePacket.cpp" - "AnvilMenu.cpp" - "AnvilTile.cpp" - "AnvilTileItem.cpp" - "ArmorDyeRecipe.cpp" - "ArmorItem.cpp" - "ArmorRecipes.cpp" - "ArmorSlot.cpp" - "Arrow.cpp" - "ArrowDamageEnchantment.cpp" - "ArrowFireEnchantment.cpp" - "ArrowInfiniteEnchantment.cpp" - "ArrowKnockbackEnchantment.cpp" - "AttackDamageMobEffect.cpp" - "Attribute.cpp" - "AttributeModifier.cpp" - "AuxDataTileItem.cpp" - "AvoidPlayerGoal.cpp" - "AwardStatPacket.cpp" - "BaseAttribute.cpp" - "BaseAttributeMap.cpp" - "BaseEntityTile.cpp" - "BaseMobSpawner.cpp" - "BasePressurePlateTile.cpp" - "BaseRailTile.cpp" - "BasicTree.cpp" - "BasicTypeContainers.cpp" - "Bat.cpp" - "BeachBiome.cpp" - "BeaconMenu.cpp" - "BeaconTile.cpp" - "BeaconTileEntity.cpp" - "BedItem.cpp" - "BedTile.cpp" - "BegGoal.cpp" - "BehaviorRegistry.cpp" - "BinaryHeap.cpp" - "Biome.cpp" - "BiomeCache.cpp" - "BiomeDecorator.cpp" - "BiomeInitLayer.cpp" - "BiomeOverrideLayer.cpp" - "BiomeSource.cpp" - "BirchFeature.cpp" - "Blaze.cpp" - "BlockDestructionProgress.cpp" - "BlockGenMethods.cpp" - "BlockRegionUpdatePacket.cpp" - "BlockReplacements.cpp" - "BlockSourceImpl.cpp" - "Boat.cpp" - "BoatItem.cpp" - "BodyControl.cpp" - "BonusChestFeature.cpp" - "BookItem.cpp" - "BookshelfTile.cpp" - "BottleItem.cpp" - "BoundingBox.cpp" - "BowItem.cpp" - "BowlFoodItem.cpp" - "BreakDoorGoal.cpp" - "BreedGoal.cpp" - "BrewingStandMenu.cpp" - "BrewingStandTile.cpp" - "BrewingStandTileEntity.cpp" - "BucketItem.cpp" - "Buffer.cpp" - "BufferedOutputStream.cpp" - "BufferedReader.cpp" - "Bush.cpp" - "ButtonTile.cpp" - "ByteArrayInputStream.cpp" - "ByteArrayOutputStream.cpp" - "ByteBuffer.cpp" - "C4JThread.cpp" - "CactusFeature.cpp" - "CactusTile.cpp" - "CakeTile.cpp" - "Calendar.cpp" - "CanyonFeature.cpp" - "CarrotOnAStickItem.cpp" - "CarrotTile.cpp" - "CauldronTile.cpp" - "CaveFeature.cpp" - "CaveSpider.cpp" - "ChatPacket.cpp" - "ChestTile.cpp" - "ChestTileEntity.cpp" - "Chicken.cpp" - "ChunkPos.cpp" - "ChunkStorageProfileDecorator.cpp" - "ChunkTilesUpdatePacket.cpp" - "ChunkVisibilityAreaPacket.cpp" - "ChunkVisibilityPacket.cpp" - "Class.cpp" - "ClayFeature.cpp" - "ClayTile.cpp" - "ClientCommandPacket.cpp" - "ClientSideMerchant.cpp" - "ClockItem.cpp" - "ClothDyeRecipes.cpp" - "CoalItem.cpp" - "CocoaTile.cpp" - "Color.cpp" - "ColoredTile.cpp" - "ColoredTileItem.cpp" - "CombatEntry.cpp" - "CombatTracker.cpp" - "Command.cpp" - "CommandBlock.cpp" - "CommandBlockEntity.cpp" - "CommandDispatcher.cpp" - "CommonStats.cpp" - "ComparatorTile.cpp" - "ComparatorTileEntity.cpp" - "CompassItem.cpp" - "ComplexItem.cpp" - "ComplexItemDataPacket.cpp" - "CompoundContainer.cpp" - "CompressedTileStorage.cpp" - "Connection.cpp" - "ConsoleSaveFileConverter.cpp" - "ConsoleSaveFileInputStream.cpp" - "ConsoleSaveFileOriginal.cpp" - "ConsoleSaveFileOutputStream.cpp" - "ContainerAckPacket.cpp" - "ContainerButtonClickPacket.cpp" - "ContainerClickPacket.cpp" - "ContainerClosePacket.cpp" - "ContainerMenu.cpp" - "ContainerOpenPacket.cpp" - "ContainerSetContentPacket.cpp" - "ContainerSetDataPacket.cpp" - "ContainerSetSlotPacket.cpp" - "ControlledByPlayerGoal.cpp" - "CoralTile.cpp" - "Cow.cpp" - "CraftItemPacket.cpp" - "CraftingContainer.cpp" - "CraftingMenu.cpp" - "Creature.cpp" - "Creeper.cpp" - "CropTile.cpp" - "CustomLevelSource.cpp" - "CustomPayloadPacket.cpp" - "DamageEnchantment.cpp" - "DamageSource.cpp" - "DataInputStream.cpp" - "DataLayer.cpp" - "DataOutputStream.cpp" - "DaylightDetectorTile.cpp" - "DaylightDetectorTileEntity.cpp" - "DeadBushFeature.cpp" - "DeadBushTile.cpp" - "DebugOptionsPacket.cpp" - "DefaultDispenseItemBehavior.cpp" - "DefaultGameModeCommand.cpp" - "DefendVillageTargetGoal.cpp" - "DelayedRelease.cpp" - "DerivedLevelData.cpp" - "DesertBiome.cpp" - "DesertWellFeature.cpp" - "DetectorRailTile.cpp" - "DigDurabilityEnchantment.cpp" - "DiggerItem.cpp" - "DiggingEnchantment.cpp" - "Dimension.cpp" - "DiodeTile.cpp" - "Direction.cpp" - "DirectionalTile.cpp" - "DirectoryLevelStorage.cpp" - "DirectoryLevelStorageSource.cpp" - "DirtTile.cpp" - "DisconnectPacket.cpp" - "DispenseItemBehavior.cpp" - "DispenserTile.cpp" - "DispenserTileEntity.cpp" - "Distort.cpp" - "DoorInfo.cpp" - "DoorInteractGoal.cpp" - "DoorItem.cpp" - "DoorTile.cpp" - "DownfallLayer.cpp" - "DownfallMixerLayer.cpp" - "DragonFireball.cpp" - "DropperTile.cpp" - "DropperTileEntity.cpp" - "DummyCriteria.cpp" - "DungeonFeature.cpp" - "DyePowderItem.cpp" - "EatTileGoal.cpp" - "EffectCommand.cpp" - "EggItem.cpp" - "EggTile.cpp" - "Emboss.cpp" - "EmptyLevelChunk.cpp" - "EmptyMapItem.cpp" - "EnchantItemCommand.cpp" - "EnchantedBookItem.cpp" - "Enchantment.cpp" - "EnchantmentCategory.cpp" - "EnchantmentContainer.cpp" - "EnchantmentHelper.cpp" - "EnchantmentInstance.cpp" - "EnchantmentMenu.cpp" - "EnchantmentTableEntity.cpp" - "EnchantmentTableTile.cpp" - "EndPodiumFeature.cpp" - "EnderChestTile.cpp" - "EnderChestTileEntity.cpp" - "EnderCrystal.cpp" - "EnderDragon.cpp" - "EnderEyeItem.cpp" - "EnderMan.cpp" - "EnderpearlItem.cpp" - "Enemy.cpp" - "Entity.cpp" - "EntityActionAtPositionPacket.cpp" - "EntityDamageSource.cpp" - "EntityEventPacket.cpp" - "EntityHorse.cpp" - "EntityIO.cpp" - "EntityPos.cpp" - "EntitySelector.cpp" - "ExperienceCommand.cpp" - "ExperienceItem.cpp" - "ExperienceOrb.cpp" - "ExplodePacket.cpp" - "Explosion.cpp" - "ExtremeHillsBiome.cpp" - "EyeOfEnderSignal.cpp" - "Facing.cpp" - "FacingEnum.cpp" - "FallingTile.cpp" - "FarmTile.cpp" - "FastNoise.cpp" - "Feature.cpp" - "FenceGateTile.cpp" - "FenceTile.cpp" - "File.cpp" - "FileHeader.cpp" - "FileInputStream.cpp" - "FileOutputStream.cpp" - "FireAspectEnchantment.cpp" - "FireChargeItem.cpp" - "FireTile.cpp" - "Fireball.cpp" - "FireworksChargeItem.cpp" - "FireworksItem.cpp" - "FireworksMenu.cpp" - "FireworksRecipe.cpp" - "FireworksRocketEntity.cpp" - "FishingHook.cpp" - "FishingRodItem.cpp" - "FixedBiomeSource.cpp" - "FlatGeneratorInfo.cpp" - "FlatLayer.cpp" - "FlatLayerInfo.cpp" - "FlatLevelSource.cpp" - "FleeSunGoal.cpp" - "FlintAndSteelItem.cpp" - "FlippedIcon.cpp" - "FloatBuffer.cpp" - "FloatGoal.cpp" - "FlowerFeature.cpp" - "FlowerPotTile.cpp" - "FlyingMob.cpp" - "FoliageColor.cpp" - "FollowOwnerGoal.cpp" - "FollowParentGoal.cpp" - "FoodConstants.cpp" - "FoodData.cpp" - "FoodItem.cpp" - "FoodRecipies.cpp" - "ForestBiome.cpp" - "FurnaceMenu.cpp" - "FurnaceRecipes.cpp" - "FurnaceResultSlot.cpp" - "FurnaceTile.cpp" - "FurnaceTileEntity.cpp" - "FuzzyZoomLayer.cpp" - "GameCommandPacket.cpp" - "GameEventPacket.cpp" - "GameModeCommand.cpp" - "GameRules.cpp" - "GeneralStat.cpp" - "GenericStats.cpp" - "GetInfoPacket.cpp" - "Ghast.cpp" - "Giant.cpp" - "GiveItemCommand.cpp" - "GlassTile.cpp" - "GlobalEntity.cpp" - "GlowstoneTile.cpp" - "Goal.cpp" - "GoalSelector.cpp" - "GoldenAppleItem.cpp" - "Golem.cpp" - "GrassColor.cpp" - "GrassTile.cpp" - "GravelTile.cpp" - "GroundBushFeature.cpp" - "GrowMushroomIslandLayer.cpp" - "HalfSlabTile.cpp" - "HalfTransparentTile.cpp" - "HangingEntity.cpp" - "HangingEntityItem.cpp" - "Hasher.cpp" - "HatchetItem.cpp" - "HayBlockTile.cpp" - "HealthBoostMobEffect.cpp" - "HealthCriteria.cpp" - "HeavyTile.cpp" - "HellBiome.cpp" - "HellDimension.cpp" - "HellFireFeature.cpp" - "HellFlatLevelSource.cpp" - "HellPortalFeature.cpp" - "HellRandomLevelSource.cpp" - "HellSpringFeature.cpp" - "HitResult.cpp" - "HoeItem.cpp" - "HopperMenu.cpp" - "HopperTile.cpp" - "HopperTileEntity.cpp" - "HorseInventoryMenu.cpp" - "HouseFeature.cpp" - "HtmlString.cpp" - "HugeMushroomFeature.cpp" - "HugeMushroomTile.cpp" - "HurtByTargetGoal.cpp" - "I18n.cpp" - "IceBiome.cpp" - "IceTile.cpp" - "ImprovedNoise.cpp" - "IndirectEntityDamageSource.cpp" - "InputStream.cpp" - "InputStreamReader.cpp" - "InstantenousMobEffect.cpp" - "IntBuffer.cpp" - "IntCache.cpp" - "InteractGoal.cpp" - "InteractPacket.cpp" - "Inventory.cpp" - "InventoryMenu.cpp" - "IslandLayer.cpp" - "Item.cpp" - "ItemDispenseBehaviors.cpp" - "ItemEntity.cpp" - "ItemFrame.cpp" - "ItemInstance.cpp" - "ItemStat.cpp" - "JavaMath.cpp" - "JukeboxTile.cpp" - "JumpControl.cpp" - "JungleBiome.cpp" - "KeepAlivePacket.cpp" - "KickPlayerPacket.cpp" - "KillCommand.cpp" - "KnockbackEnchantment.cpp" - "LadderTile.cpp" - "LakeFeature.cpp" - "Language.cpp" - "LargeCaveFeature.cpp" - "LargeFeature.cpp" - "LargeFireball.cpp" - "LargeHellCaveFeature.cpp" - "LavaSlime.cpp" - "Layer.cpp" - "LeafTile.cpp" - "LeafTileItem.cpp" - "LeapAtTargetGoal.cpp" - "LeashFenceKnotEntity.cpp" - "LeashItem.cpp" - "Level.cpp" - "LevelChunk.cpp" - "LevelConflictException.cpp" - "LevelData.cpp" - "LevelEventPacket.cpp" - "LevelParticlesPacket.cpp" - "LevelSettings.cpp" - "LevelSoundPacket.cpp" - "LevelStorage.cpp" - "LevelStorageProfilerDecorator.cpp" - "LevelSummary.cpp" - "LevelType.cpp" - "LeverTile.cpp" - "LightGemFeature.cpp" - "LightningBolt.cpp" - "LiquidTile.cpp" - "LiquidTileDynamic.cpp" - "LiquidTileStatic.cpp" - "LivingEntity.cpp" - "LockedChestTile.cpp" - "LoginPacket.cpp" - "LookAtPlayerGoal.cpp" - "LookAtTradingPlayerGoal.cpp" - "LookControl.cpp" - "LootBonusEnchantment.cpp" - "MakeLoveGoal.cpp" - "MapItem.cpp" - "MapItemSavedData.cpp" - "Material.cpp" - "MaterialColor.cpp" - "McRegionChunkStorage.cpp" - "McRegionLevelStorage.cpp" - "McRegionLevelStorageSource.cpp" - "MegaTreeFeature.cpp" - "MeleeAttackGoal.cpp" - "MelonTile.cpp" - "MenuBackup.cpp" - "MerchantContainer.cpp" - "MerchantMenu.cpp" - "MerchantRecipe.cpp" - "MerchantRecipeList.cpp" - "MerchantResultSlot.cpp" - "MetalTile.cpp" - "MilkBucketItem.cpp" - "MineShaftFeature.cpp" - "MineShaftPieces.cpp" - "MineShaftStart.cpp" - "Minecart.cpp" - "MinecartChest.cpp" - "MinecartContainer.cpp" - "MinecartFurnace.cpp" - "MinecartHopper.cpp" - "MinecartItem.cpp" - "MinecartRideable.cpp" - "MinecartSpawner.cpp" - "MinecartTNT.cpp" - "Minecraft.World.cpp" - "Mob.cpp" - "MobCategory.cpp" - "MobEffect.cpp" - "MobEffectInstance.cpp" - "MobSpawner.cpp" - "MobSpawnerTile.cpp" - "MobSpawnerTileEntity.cpp" - "MockedLevelStorage.cpp" - "ModifiableAttributeInstance.cpp" - "Monster.cpp" - "MonsterRoomFeature.cpp" - "MoveControl.cpp" - "MoveEntityPacket.cpp" - "MoveEntityPacketSmall.cpp" - "MoveIndoorsGoal.cpp" - "MovePlayerPacket.cpp" - "MoveThroughVillageGoal.cpp" - "MoveTowardsRestrictionGoal.cpp" - "MoveTowardsTargetGoal.cpp" - "Mth.cpp" - "MultiEntityMobPart.cpp" - "MultiTextureTileItem.cpp" - "Mushroom.cpp" - "MushroomCow.cpp" - "MushroomIslandBiome.cpp" - "MusicTileEntity.cpp" - "MycelTile.cpp" - "NameTagItem.cpp" - "NbtIo.cpp" - "NearestAttackableTargetGoal.cpp" - "NetherBridgeFeature.cpp" - "NetherBridgePieces.cpp" - "NetherSphere.cpp" - "NetherWartTile.cpp" - "NetherrackTile.cpp" - "Node.cpp" - "NonTameRandomTargetGoal.cpp" - "NotGateTile.cpp" - "NoteBlockTile.cpp" - "Npc.cpp" - "Objective.cpp" - "ObjectiveCriteria.cpp" - "ObsidianTile.cpp" - "Ocelot.cpp" - "OcelotAttackGoal.cpp" - "OcelotSitOnTileGoal.cpp" - "OfferFlowerGoal.cpp" - "OldChunkStorage.cpp" - "OpenDoorGoal.cpp" - "OreFeature.cpp" - "OreRecipies.cpp" - "OreTile.cpp" - "OwnerHurtByTargetGoal.cpp" - "OwnerHurtTargetGoal.cpp" - "OxygenEnchantment.cpp" - "Packet.cpp" - "PacketListener.cpp" - "Painting.cpp" - "PanicGoal.cpp" - "Path.cpp" - "PathFinder.cpp" - "PathNavigation.cpp" - "PathfinderMob.cpp" - "PerformanceTimer.cpp" - "PerlinNoise.cpp" - "PerlinSimplexNoise.cpp" - "PickaxeItem.cpp" - "Pig.cpp" - "PigZombie.cpp" - "PineFeature.cpp" - "PistonBaseTile.cpp" - "PistonExtensionTile.cpp" - "PistonMovingPiece.cpp" - "PistonPieceEntity.cpp" - "PistonTileItem.cpp" - "PlainsBiome.cpp" - "PlayGoal.cpp" - "Player.cpp" - "PlayerAbilitiesPacket.cpp" - "PlayerActionPacket.cpp" - "PlayerCommandPacket.cpp" - "PlayerEnderChestContainer.cpp" - "PlayerInfoPacket.cpp" - "PlayerInputPacket.cpp" - "PlayerTeam.cpp" - "PortalForcer.cpp" - "PortalTile.cpp" - "Pos.cpp" - "PotatoTile.cpp" - "PotionBrewing.cpp" - "PotionItem.cpp" - "PoweredMetalTile.cpp" - "PoweredRailTile.cpp" - "PreLoginPacket.cpp" - "PressurePlateTile.cpp" - "PrimedTnt.cpp" - "ProtectionEnchantment.cpp" - "PumpkinFeature.cpp" - "PumpkinTile.cpp" - "QuartzBlockTile.cpp" - "RailTile.cpp" - "RainforestBiome.cpp" - "Random.cpp" - "RandomLevelSource.cpp" - "RandomLookAroundGoal.cpp" - "RandomPos.cpp" - "RandomScatteredLargeFeature.cpp" - "RandomStrollGoal.cpp" - "RangedAttackGoal.cpp" - "RangedAttribute.cpp" - "Rarity.cpp" - "Recipes.cpp" - "RecordingItem.cpp" - "RedStoneDustTile.cpp" - "RedStoneItem.cpp" - "RedStoneOreTile.cpp" - "RedlightTile.cpp" - "Redstone.cpp" - "ReedTile.cpp" - "ReedsFeature.cpp" - "Region.cpp" - "RegionFile.cpp" - "RegionFileCache.cpp" - "RegionHillsLayer.cpp" - "RemoveEntitiesPacket.cpp" - "RemoveMobEffectPacket.cpp" - "RepairContainer.cpp" - "RepairResultSlot.cpp" - "RepeaterTile.cpp" - "RespawnPacket.cpp" - "RestrictOpenDoorGoal.cpp" - "RestrictSunGoal.cpp" - "ResultContainer.cpp" - "ResultSlot.cpp" - "RiverInitLayer.cpp" - "RiverLayer.cpp" - "RiverMixerLayer.cpp" - "Rotate.cpp" - "RotateHeadPacket.cpp" - "RotatedPillarTile.cpp" - "RunAroundLikeCrazyGoal.cpp" - "SaddleItem.cpp" - "SandFeature.cpp" - "SandStoneTile.cpp" - "Sapling.cpp" - "SaplingTileItem.cpp" - "SavedData.cpp" - "SavedDataStorage.cpp" - "Scale.cpp" - "ScatteredFeaturePieces.cpp" - "Score.cpp" - "Scoreboard.cpp" - "SeedFoodItem.cpp" - "SeedItem.cpp" - "Sensing.cpp" - "ServerSettingsChangedPacket.cpp" - "ServersideAttributeMap.cpp" - "SetCarriedItemPacket.cpp" - "SetCreativeModeSlotPacket.cpp" - "SetDisplayObjectivePacket.cpp" - "SetEntityDataPacket.cpp" - "SetEntityLinkPacket.cpp" - "SetEntityMotionPacket.cpp" - "SetEquippedItemPacket.cpp" - "SetExperiencePacket.cpp" - "SetHealthPacket.cpp" - "SetObjectivePacket.cpp" - "SetPlayerTeamPacket.cpp" - "SetScorePacket.cpp" - "SetSpawnPositionPacket.cpp" - "SetTimePacket.cpp" - "ShapedRecipy.cpp" - "ShapelessRecipy.cpp" - "SharedConstants.cpp" - "SharedMonsterAttributes.cpp" - "ShearsItem.cpp" - "Sheep.cpp" - "ShoreLayer.cpp" - "ShovelItem.cpp" - "SignItem.cpp" - "SignTile.cpp" - "SignTileEntity.cpp" - "SignUpdatePacket.cpp" - "Silverfish.cpp" - "SimpleContainer.cpp" - "SimpleFoiledItem.cpp" - "SimplexNoise.cpp" - "SitGoal.cpp" - "Skeleton.cpp" - "SkullItem.cpp" - "SkullTile.cpp" - "SkullTileEntity.cpp" - "Slime.cpp" - "Slot.cpp" - "SmallFireball.cpp" - "SmoothFloat.cpp" - "SmoothLayer.cpp" - "SmoothStoneBrickTile.cpp" - "SmoothZoomLayer.cpp" - "SnowItem.cpp" - "SnowMan.cpp" - "SnowTile.cpp" - "Snowball.cpp" - "SnowballItem.cpp" - "Socket.cpp" - "SoulSandTile.cpp" - "SparseDataStorage.cpp" - "SparseLightStorage.cpp" - "SpawnEggItem.cpp" - "Spider.cpp" - "SpikeFeature.cpp" - "Sponge.cpp" - "SpringFeature.cpp" - "SpruceFeature.cpp" - "Squid.cpp" - "StainedGlassBlock.cpp" - "StainedGlassPaneBlock.cpp" - "StairTile.cpp" - "Stat.cpp" - "Stats.cpp" - "StemTile.cpp" - "StoneButtonTile.cpp" - "StoneMonsterTile.cpp" - "StoneSlabTile.cpp" - "StoneSlabTileItem.cpp" - "StoneTile.cpp" - "StringHelpers.cpp" - "StrongholdFeature.cpp" - "StrongholdPieces.cpp" - "StructureFeature.cpp" - "StructureFeatureIO.cpp" - "StructureFeatureSavedData.cpp" - "StructurePiece.cpp" - "StructureRecipies.cpp" - "StructureStart.cpp" - "SwampBiome.cpp" - "SwampRiversLayer.cpp" - "SwampTreeFeature.cpp" - "SwellGoal.cpp" - "SynchedEntityData.cpp" - "Synth.cpp" - "Tag.cpp" - "TaigaBiome.cpp" - "TakeFlowerGoal.cpp" - "TakeItemEntityPacket.cpp" - "TallGrass.cpp" - "TallGrassFeature.cpp" - "TamableAnimal.cpp" - "TargetGoal.cpp" - "Team.cpp" - "TeleportEntityPacket.cpp" - "TemperatureLayer.cpp" - "TemperatureMixerLayer.cpp" - "TemptGoal.cpp" - "TextureAndGeometryChangePacket.cpp" - "TextureAndGeometryPacket.cpp" - "TextureChangePacket.cpp" - "TexturePacket.cpp" - "TheEndBiome.cpp" - "TheEndBiomeDecorator.cpp" - "TheEndDimension.cpp" - "TheEndLevelRandomLevelSource.cpp" - "TheEndPortal.cpp" - "TheEndPortalFrameTile.cpp" - "TheEndPortalTileEntity.cpp" - "ThinFenceTile.cpp" - "ThornsEnchantment.cpp" - "ThreadName.cpp" - "Throwable.cpp" - "ThrownEgg.cpp" - "ThrownEnderpearl.cpp" - "ThrownExpBottle.cpp" - "ThrownPotion.cpp" - "TickNextTickData.cpp" - "Tile.cpp" - "TileDestructionPacket.cpp" - "TileEditorOpenPacket.cpp" - "TileEntity.cpp" - "TileEntityDataPacket.cpp" - "TileEventData.cpp" - "TileEventPacket.cpp" - "TileItem.cpp" - "TilePlanterItem.cpp" - "TilePos.cpp" - "TileUpdatePacket.cpp" - "TimeCommand.cpp" - "TntTile.cpp" - "ToggleDownfallCommand.cpp" - "ToolRecipies.cpp" - "TopSnowTile.cpp" - "TorchTile.cpp" - "TradeItemPacket.cpp" - "TradeWithPlayerGoal.cpp" - "TransparentTile.cpp" - "TrapDoorTile.cpp" - "TrapMenu.cpp" - "TreeFeature.cpp" - "TreeTile.cpp" - "TripWireSourceTile.cpp" - "TripWireTile.cpp" - "UntouchingEnchantment.cpp" - "UpdateAttributesPacket.cpp" - "UpdateGameRuleProgressPacket.cpp" - "UpdateMobEffectPacket.cpp" - "UpdateProgressPacket.cpp" - "UseItemPacket.cpp" - "Vec3.cpp" - "Village.cpp" - "VillageFeature.cpp" - "VillagePieces.cpp" - "VillageSiege.cpp" - "Villager.cpp" - "VillagerGolem.cpp" - "Villages.cpp" - "VineTile.cpp" - "VinesFeature.cpp" - "VoronoiZoom.cpp" - "WallTile.cpp" - "WaterAnimal.cpp" - "WaterColor.cpp" - "WaterLevelChunk.cpp" - "WaterLilyTile.cpp" - "WaterLilyTileItem.cpp" - "WaterWorkerEnchantment.cpp" - "WaterlilyFeature.cpp" - "WeaponItem.cpp" - "WeaponRecipies.cpp" - "WebTile.cpp" - "WeighedRandom.cpp" - "WeighedTreasure.cpp" - "WeightedPressurePlateTile.cpp" - "Witch.cpp" - "WitherBoss.cpp" - "WitherSkull.cpp" - "Wolf.cpp" - "WoodButtonTile.cpp" - "WoodSlabTile.cpp" - "WoodTile.cpp" - "WoolCarpetTile.cpp" - "WoolTileItem.cpp" - "WorkbenchTile.cpp" - "XZPacket.cpp" - "Zombie.cpp" - "ZoomLayer.cpp" - "compression.cpp" - "stdafx.cpp" - "system.cpp" -) diff --git a/cmake/toolchains/durango.cmake b/cmake/toolchains/durango.cmake new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/cmake/toolchains/durango.cmake diff --git a/cmake/toolchains/orbis.cmake b/cmake/toolchains/orbis.cmake new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/cmake/toolchains/orbis.cmake diff --git a/cmake/toolchains/ps3.cmake b/cmake/toolchains/ps3.cmake new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/cmake/toolchains/ps3.cmake diff --git a/cmake/toolchains/psvita.cmake b/cmake/toolchains/psvita.cmake new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/cmake/toolchains/psvita.cmake diff --git a/cmake/toolchains/xbox360.cmake b/cmake/toolchains/xbox360.cmake new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/cmake/toolchains/xbox360.cmake |
