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
This commit is contained in:
rtm516
2026-03-17 21:39:22 +00:00
committed by GitHub
parent 1a3fcb5b20
commit 02a5961f39
106 changed files with 8070 additions and 72800 deletions

View File

@@ -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"
)

15
cmake/CommonSources.cmake Normal file
View File

@@ -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}
)

101
cmake/CopyAssets.cmake Normal file
View File

@@ -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()

View File

@@ -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()

View File

@@ -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()

View File

@@ -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"
)

View File

@@ -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()

28
cmake/Utils.cmake Normal file
View File

@@ -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()

View File

@@ -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"
)

View File

View File

View File

View File

View File