From 8a9b2fd336d081ab6886435ed0b4ce019d48f724 Mon Sep 17 00:00:00 2001 From: Tropical <42101043+tropicaaal@users.noreply.github.com> Date: Wed, 4 Mar 2026 16:01:49 -0600 Subject: [PATCH 01/12] fix: link `Minecraft.World` to `Minecraft.Client` on linux --- Minecraft.Client/CMakeLists.txt | 2 ++ Minecraft.World/Item.cpp | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Minecraft.Client/CMakeLists.txt b/Minecraft.Client/CMakeLists.txt index 0856ea680..9847a044a 100644 --- a/Minecraft.Client/CMakeLists.txt +++ b/Minecraft.Client/CMakeLists.txt @@ -3986,6 +3986,8 @@ if("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Durango") ">" "xaudio2" ) +elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Linux") + set(ADDITIONAL_LIBRARY_DEPENDENCIES "Minecraft.World") elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "ORBIS") set(ADDITIONAL_LIBRARY_DEPENDENCIES "$<$:" diff --git a/Minecraft.World/Item.cpp b/Minecraft.World/Item.cpp index 5d723ec57..03eb71f53 100644 --- a/Minecraft.World/Item.cpp +++ b/Minecraft.World/Item.cpp @@ -950,7 +950,7 @@ void Item::registerIcons(IconRegister *iconRegister) 4J: These are necesary on the PS3. (and 4 and Vita). */ -#if (defined __PS3__ || defined __ORBIS__ || defined __PSVITA__) +#if (defined __PS3__ || defined __ORBIS__ || defined __PSVITA__ || defined __linux__) const int Item::shovel_iron_Id ; const int Item::pickAxe_iron_Id ; const int Item::hatchet_iron_Id ; From 7cb82626fa4ac7caed0fb1bd7dba56bca2278489 Mon Sep 17 00:00:00 2001 From: Tropical <42101043+tropicaaal@users.noreply.github.com> Date: Wed, 4 Mar 2026 18:05:13 -0600 Subject: [PATCH 02/12] fix: why was this commented --- Minecraft.Client/CMakeLists.txt | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/Minecraft.Client/CMakeLists.txt b/Minecraft.Client/CMakeLists.txt index 9847a044a..cb2b18152 100644 --- a/Minecraft.Client/CMakeLists.txt +++ b/Minecraft.Client/CMakeLists.txt @@ -1099,6 +1099,14 @@ set(PS3__Source_Files__Social ) source_group("PS3\\Source Files\\Social" FILES ${PS3__Source_Files__Social}) + +set(Linux + "Linux/Linux_UIController.cpp" + "Linux/Linux_Minecraft.cpp" + "Linux/Linux_App.cpp" +) +source_group("Linux" FILES ${Linux}) + set(PSVita # "PSVita/PSVita_App.cpp" "PSVita/PSVita_App.h" @@ -1716,8 +1724,8 @@ set(net__minecraft__client "Lighting.h" "MemoryTracker.cpp" "MemoryTracker.h" -# "Minecraft.cpp" -# "Minecraft.h" + "Minecraft.cpp" + "Minecraft.h" "Options.cpp" "Options.h" "ProgressRenderer.cpp" @@ -2369,6 +2377,7 @@ set(ALL_FILES ${PS3__Source_Files__Network} ${PS3__Source_Files__Sentient} ${PS3__Source_Files__Social} + ${Linux} ${PSVita} ${PSVita__4JLibs__inc} ${PSVita__GameConfig} @@ -2452,9 +2461,6 @@ set(ALL_FILES ${net__minecraft__server__level} ${net__minecraft__server__network} ${net__minecraft__stats} - Linux/Linux_UIController.cpp - Linux/Linux_Minecraft.cpp - Linux/Linux_App.cpp ) ################################################################################ From 1eac848d3d5e626cc37c6412fdc7740b22305394 Mon Sep 17 00:00:00 2001 From: Tropical <42101043+tropicaaal@users.noreply.github.com> Date: Wed, 4 Mar 2026 18:24:32 -0600 Subject: [PATCH 03/12] fix: remove hardcoded win64 app includes --- Minecraft.World/BlockRegionUpdatePacket.cpp | 2 -- Minecraft.World/CommandDispatcher.cpp | 1 - Minecraft.World/CustomPayloadPacket.cpp | 2 +- Minecraft.World/EnderDragon.cpp | 2 -- Minecraft.World/EnderMan.cpp | 1 - Minecraft.World/Entity.cpp | 1 - Minecraft.World/FileHeader.cpp | 2 +- Minecraft.World/FileInputStream.cpp | 1 - Minecraft.World/Fireball.cpp | 1 - Minecraft.World/GameCommandPacket.cpp | 1 - Minecraft.World/LoginPacket.cpp | 1 - Minecraft.World/MobEffectInstance.cpp | 1 - Minecraft.World/Monster.cpp | 1 - Minecraft.World/Packet.cpp | 1 - Minecraft.World/PreLoginPacket.cpp | 2 -- Minecraft.World/RespawnPacket.cpp | 1 - Minecraft.World/Silverfish.cpp | 3 --- Minecraft.World/Stat.h | 2 -- Minecraft.World/SynchedEntityData.cpp | 2 -- Minecraft.World/Tag.cpp | 1 - Minecraft.World/stdafx.h | 4 ++-- 21 files changed, 4 insertions(+), 29 deletions(-) diff --git a/Minecraft.World/BlockRegionUpdatePacket.cpp b/Minecraft.World/BlockRegionUpdatePacket.cpp index b485ef057..fcceb59a5 100644 --- a/Minecraft.World/BlockRegionUpdatePacket.cpp +++ b/Minecraft.World/BlockRegionUpdatePacket.cpp @@ -10,8 +10,6 @@ #include "DataLayer.h" #include "Dimension.h" -#include "../Minecraft.Client/Windows64/Windows64_App.h" - BlockRegionUpdatePacket::~BlockRegionUpdatePacket() { delete [] buffer.data; diff --git a/Minecraft.World/CommandDispatcher.cpp b/Minecraft.World/CommandDispatcher.cpp index 0f494ba49..2cf4ce295 100644 --- a/Minecraft.World/CommandDispatcher.cpp +++ b/Minecraft.World/CommandDispatcher.cpp @@ -1,7 +1,6 @@ #include "stdafx.h" #include "net.minecraft.commands.h" #include "CommandDispatcher.h" -#include "../Minecraft.Client/Windows64/Windows64_App.h" void CommandDispatcher::performCommand(shared_ptr sender, EGameCommand command, byteArray commandData) { diff --git a/Minecraft.World/CustomPayloadPacket.cpp b/Minecraft.World/CustomPayloadPacket.cpp index eadc01fe9..75f27b414 100644 --- a/Minecraft.World/CustomPayloadPacket.cpp +++ b/Minecraft.World/CustomPayloadPacket.cpp @@ -3,7 +3,7 @@ #include "PacketListener.h" #include "BasicTypeContainers.h" #include "CustomPayloadPacket.h" -#include "../Minecraft.Client/Windows64/Windows64_App.h" + // Mojang-defined custom packets const wstring CustomPayloadPacket::CUSTOM_BOOK_PACKET = L"MC|BEdit"; const wstring CustomPayloadPacket::CUSTOM_BOOK_SIGN_PACKET = L"MC|BSign"; diff --git a/Minecraft.World/EnderDragon.cpp b/Minecraft.World/EnderDragon.cpp index 2211cdeb2..36e6eb99a 100644 --- a/Minecraft.World/EnderDragon.cpp +++ b/Minecraft.World/EnderDragon.cpp @@ -13,8 +13,6 @@ #include "SharedConstants.h" #include "EnderDragon.h" -#include "../Minecraft.Client/Windows64/Windows64_App.h" - #define PRINT_DRAGON_STATE_CHANGE_MESSAGES 1 diff --git a/Minecraft.World/EnderMan.cpp b/Minecraft.World/EnderMan.cpp index 39e4ebdb1..a34786054 100644 --- a/Minecraft.World/EnderMan.cpp +++ b/Minecraft.World/EnderMan.cpp @@ -9,7 +9,6 @@ #include "com.mojang.nbt.h" #include "../Minecraft.Client/Textures.h" #include "EnderMan.h" -#include "../Minecraft.Client/Windows64/Windows64_App.h" bool EnderMan::MAY_TAKE[256]; diff --git a/Minecraft.World/Entity.cpp b/Minecraft.World/Entity.cpp index 4841e697c..24b4c5e5a 100644 --- a/Minecraft.World/Entity.cpp +++ b/Minecraft.World/Entity.cpp @@ -21,7 +21,6 @@ #include "../Minecraft.Client/MinecraftServer.h" #include "../Minecraft.Client/MultiPlayerLevel.h" #include "../Minecraft.Client/MultiPlayerLocalPlayer.h" -#include "../Minecraft.Client/Windows64/Windows64_App.h" int Entity::entityCounter = 2048; // 4J - changed initialiser to 2048, as we are using range 0 - 2047 as special unique smaller ids for things that need network tracked diff --git a/Minecraft.World/FileHeader.cpp b/Minecraft.World/FileHeader.cpp index febb021ac..5e853f318 100644 --- a/Minecraft.World/FileHeader.cpp +++ b/Minecraft.World/FileHeader.cpp @@ -1,6 +1,6 @@ #include "stdafx.h" #include "FileHeader.h" -#include "../Minecraft.Client/Windows64/Windows64_App.cpp" + //#define _DEBUG_FILE_HEADER extern CConsoleMinecraftApp app; diff --git a/Minecraft.World/FileInputStream.cpp b/Minecraft.World/FileInputStream.cpp index 62173f47d..5fdb9188c 100644 --- a/Minecraft.World/FileInputStream.cpp +++ b/Minecraft.World/FileInputStream.cpp @@ -2,7 +2,6 @@ #include "File.h" #include "FileInputStream.h" -#include "../Minecraft.Client/Windows64/Windows64_App.h" #include #include // for close() diff --git a/Minecraft.World/Fireball.cpp b/Minecraft.World/Fireball.cpp index d8be2d3b0..6efb230d4 100644 --- a/Minecraft.World/Fireball.cpp +++ b/Minecraft.World/Fireball.cpp @@ -9,7 +9,6 @@ #include "Fireball.h" #include "net.minecraft.world.level.dimension.h" #include "SharedConstants.h" -#include "../Minecraft.Client/Windows64/Windows64_App.h" // 4J - added common ctor code. diff --git a/Minecraft.World/GameCommandPacket.cpp b/Minecraft.World/GameCommandPacket.cpp index c5e2ca118..53be23fda 100644 --- a/Minecraft.World/GameCommandPacket.cpp +++ b/Minecraft.World/GameCommandPacket.cpp @@ -3,7 +3,6 @@ #include "PacketListener.h" #include "BasicTypeContainers.h" #include "GameCommandPacket.h" -#include "../Minecraft.Client/Windows64/Windows64_App.h" GameCommandPacket::GameCommandPacket() { diff --git a/Minecraft.World/LoginPacket.cpp b/Minecraft.World/LoginPacket.cpp index 92e998323..f5afb5ac5 100644 --- a/Minecraft.World/LoginPacket.cpp +++ b/Minecraft.World/LoginPacket.cpp @@ -5,7 +5,6 @@ #include "PacketListener.h" #include "LoginPacket.h" #include "LevelType.h" -#include "../Minecraft.Client/Windows64/Windows64_App.h" LoginPacket::LoginPacket() diff --git a/Minecraft.World/MobEffectInstance.cpp b/Minecraft.World/MobEffectInstance.cpp index fca51e4bc..2c6ea5eb8 100644 --- a/Minecraft.World/MobEffectInstance.cpp +++ b/Minecraft.World/MobEffectInstance.cpp @@ -1,6 +1,5 @@ #include "stdafx.h" #include "net.minecraft.world.effect.h" -#include "../Minecraft.Client/Windows64/Windows64_App.h" void MobEffectInstance::_init(int id, int duration, int amplifier) { diff --git a/Minecraft.World/Monster.cpp b/Minecraft.World/Monster.cpp index 25ec4a5d6..5a9502497 100644 --- a/Minecraft.World/Monster.cpp +++ b/Minecraft.World/Monster.cpp @@ -7,7 +7,6 @@ #include "net.minecraft.world.effect.h" #include "net.minecraft.world.item.enchantment.h" #include "Monster.h" -#include "../Minecraft.Client/Windows64/Windows64_App.h" #include "../Minecraft.Client/Minecraft.h" diff --git a/Minecraft.World/Packet.cpp b/Minecraft.World/Packet.cpp index 70bbe83dd..147d91b5d 100644 --- a/Minecraft.World/Packet.cpp +++ b/Minecraft.World/Packet.cpp @@ -6,7 +6,6 @@ #include "PacketListener.h" #include "Packet.h" #include "com.mojang.nbt.h" -#include "../Minecraft.Client/Windows64/Windows64_App.h" #ifndef _CONTENT_PACKAGE #include "../Minecraft.Client/Minecraft.h" diff --git a/Minecraft.World/PreLoginPacket.cpp b/Minecraft.World/PreLoginPacket.cpp index 7079af8b5..e162dba33 100644 --- a/Minecraft.World/PreLoginPacket.cpp +++ b/Minecraft.World/PreLoginPacket.cpp @@ -3,8 +3,6 @@ #include "PacketListener.h" #include "PreLoginPacket.h" #include "InputOutputStream.h" -#include "../Minecraft.Client/Windows64/Windows64_App.h" - PreLoginPacket::PreLoginPacket() { diff --git a/Minecraft.World/RespawnPacket.cpp b/Minecraft.World/RespawnPacket.cpp index 5211e3792..5c04bbebb 100644 --- a/Minecraft.World/RespawnPacket.cpp +++ b/Minecraft.World/RespawnPacket.cpp @@ -4,7 +4,6 @@ #include "PacketListener.h" #include "RespawnPacket.h" #include "LevelType.h" -#include "../Minecraft.Client/Windows64/Windows64_App.h" RespawnPacket::RespawnPacket() { diff --git a/Minecraft.World/Silverfish.cpp b/Minecraft.World/Silverfish.cpp index a235492e7..dc597b743 100644 --- a/Minecraft.World/Silverfish.cpp +++ b/Minecraft.World/Silverfish.cpp @@ -7,9 +7,6 @@ #include "../Minecraft.Client/Textures.h" #include "Silverfish.h" #include "SoundTypes.h" -#include "../Minecraft.Client/Windows64/Windows64_App.h" - - Silverfish::Silverfish(Level *level) : Monster( level ) { diff --git a/Minecraft.World/Stat.h b/Minecraft.World/Stat.h index e46900773..3c2ab071d 100644 --- a/Minecraft.World/Stat.h +++ b/Minecraft.World/Stat.h @@ -4,8 +4,6 @@ using namespace std; #include "StatFormatter.h" #include "GenericStats.h" -#include "../Minecraft.Client/Windows64/Windows64_App.h" - class DecimalFormat; class Stat diff --git a/Minecraft.World/SynchedEntityData.cpp b/Minecraft.World/SynchedEntityData.cpp index bff268436..ebb831674 100644 --- a/Minecraft.World/SynchedEntityData.cpp +++ b/Minecraft.World/SynchedEntityData.cpp @@ -7,8 +7,6 @@ #include "net.minecraft.world.item.h" #include "SynchedEntityData.h" -#include "../Minecraft.Client/Windows64/Windows64_App.h" - SynchedEntityData::SynchedEntityData() { m_isDirty = false; diff --git a/Minecraft.World/Tag.cpp b/Minecraft.World/Tag.cpp index 2f8edf225..3c79b73fe 100644 --- a/Minecraft.World/Tag.cpp +++ b/Minecraft.World/Tag.cpp @@ -11,7 +11,6 @@ #include "StringTag.h" #include "ListTag.h" #include "CompoundTag.h" -#include "../Minecraft.Client/Windows64/Windows64_App.h" Tag::Tag(const wstring &name) { diff --git a/Minecraft.World/stdafx.h b/Minecraft.World/stdafx.h index 841fb6900..fe28d124f 100644 --- a/Minecraft.World/stdafx.h +++ b/Minecraft.World/stdafx.h @@ -241,8 +241,8 @@ void MemSect(int sect); #include "../Minecraft.Client/PSVita/Sentient/MinecraftTelemetry.h" #elif defined(__linux__) // FIXME: Move and port to ../Minecraft.Client/Linux -#include "../Minecraft.Client/Windows64/Windows64_App.h" -#include "../Minecraft.Client/Windows64Media/strings.h" +#include "../Minecraft.Client/Linux/Linux_App.h" +#include "../Minecraft.Client/OrbisMedia/strings.h" #include "../Minecraft.Client/Windows64/Sentient/SentientTelemetryCommon.h" // #include "../Minecraft.Client/Windows64/Sentient/MinecraftTelemetry.h" #else From ef4c61c6df2995564581a231516a56b8217b948b Mon Sep 17 00:00:00 2001 From: Tropical <42101043+tropicaaal@users.noreply.github.com> Date: Wed, 4 Mar 2026 18:25:03 -0600 Subject: [PATCH 04/12] fix: use orbis strings for now since they have `IDS_CONTENT_RESTRICTION` --- Minecraft.Client/Linux/Linux_Minecraft.cpp | 2 +- Minecraft.Client/stdafx.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Minecraft.Client/Linux/Linux_Minecraft.cpp b/Minecraft.Client/Linux/Linux_Minecraft.cpp index f9fdccc8d..a631cb8a0 100644 --- a/Minecraft.Client/Linux/Linux_Minecraft.cpp +++ b/Minecraft.Client/Linux/Linux_Minecraft.cpp @@ -19,7 +19,7 @@ #include "../../Minecraft.World/Vec3.h" #include "../../Minecraft.World/Level.h" #include "../../Minecraft.World/net.minecraft.world.level.tile.h" -#include "../../Minecraft.Client/Windows64Media/strings.h" +#include "../../Minecraft.Client/OrbisMedia/strings.h" #include "../ClientConnection.h" #include "../User.h" diff --git a/Minecraft.Client/stdafx.h b/Minecraft.Client/stdafx.h index 42914c8c9..cc0a03d0b 100644 --- a/Minecraft.Client/stdafx.h +++ b/Minecraft.Client/stdafx.h @@ -297,7 +297,7 @@ typedef XUID GameSessionUID; #elif defined __linux__ // FIXME: Make Linux/ versions of all of these // #include "Windows64/Sentient/MinecraftTelemetry.h" // conflicts with Common/Telemetry/TelemetryManager.h, no idea whats up with that - #include "Windows64Media/strings.h" + #include "OrbisMedia/strings.h" // using Orbis or Vita strings because IDS_CONTENT_RESTRICTION exists #include "Windows64/Windows64_App.h" #include "Windows64/Sentient/DynamicConfigurations.h" #include "Windows64/Sentient/SentientTelemetryCommon.h" From b4833bf7c20e0bd01d69d4b9479d2a9946b6c51e Mon Sep 17 00:00:00 2001 From: Tropical <42101043+tropicaaal@users.noreply.github.com> Date: Wed, 4 Mar 2026 18:26:00 -0600 Subject: [PATCH 05/12] fix: use single-argument RenderManager::Clear --- Minecraft.Client/Common/UI/UIController.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Minecraft.Client/Common/UI/UIController.cpp b/Minecraft.Client/Common/UI/UIController.cpp index f777805e7..d7d4233ad 100644 --- a/Minecraft.Client/Common/UI/UIController.cpp +++ b/Minecraft.Client/Common/UI/UIController.cpp @@ -1284,7 +1284,7 @@ void UIController::setupCustomDrawGameStateAndMatrices(UIScene *scene, CustomDra void UIController::endCustomDrawGameState() { -#ifdef __ORBIS__ +#if defined(__ORBIS__) || defined(__linux__) // TO BE IMPLEMENTED RenderManager.Clear(GL_DEPTH_BUFFER_BIT); #else From 3b234ca6597a392de40e581f09f911ec805d2e8e Mon Sep 17 00:00:00 2001 From: Tropical <42101043+tropicaaal@users.noreply.github.com> Date: Wed, 4 Mar 2026 18:28:34 -0600 Subject: [PATCH 06/12] fix: resolve warnings on `TUImagePaths` --- Minecraft.Client/Textures.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Minecraft.Client/Textures.cpp b/Minecraft.Client/Textures.cpp index cf4542833..ff285c5ff 100644 --- a/Minecraft.Client/Textures.cpp +++ b/Minecraft.Client/Textures.cpp @@ -1312,7 +1312,7 @@ TEXTURE_NAME TUImages[] = }; // This is for any TU textures that aren't part of our enum indexed preload set -wchar_t *TUImagePaths[] = +const wchar_t *TUImagePaths[] = { L"font/Default", L"font/Mojangles_7", From 4c770ce4c33774bc2e3b17a1fb2001128c7506de Mon Sep 17 00:00:00 2001 From: Tropical <42101043+tropicaaal@users.noreply.github.com> Date: Wed, 4 Mar 2026 19:38:00 -0600 Subject: [PATCH 07/12] fix: add extra `Tile` constants for __linux__ --- Minecraft.World/Tile.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Minecraft.World/Tile.cpp b/Minecraft.World/Tile.cpp index e0ef8dd98..97ade6c33 100644 --- a/Minecraft.World/Tile.cpp +++ b/Minecraft.World/Tile.cpp @@ -1481,7 +1481,7 @@ int Tile::SoundType::getPlaceSound() const 4J: These are necessary on the PS3. (and 4 and Vita). */ -#if (defined __PS3__ || defined __ORBIS__ || defined __PSVITA__) +#if (defined __PS3__ || defined __ORBIS__ || defined __PSVITA__ || defined __linux__) const int Tile::rock_Id; const int Tile::grass_Id; const int Tile::dirt_Id; From 5cf845ad1bdc02d141ea7e4c8968fe2f3a8a25b9 Mon Sep 17 00:00:00 2001 From: Tropical <42101043+tropicaaal@users.noreply.github.com> Date: Wed, 4 Mar 2026 19:38:28 -0600 Subject: [PATCH 08/12] fix: `Entity::tlsIdx` shouldn't be WIN32-specific --- Minecraft.World/Entity.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/Minecraft.World/Entity.cpp b/Minecraft.World/Entity.cpp index 24b4c5e5a..af040f65e 100644 --- a/Minecraft.World/Entity.cpp +++ b/Minecraft.World/Entity.cpp @@ -24,9 +24,7 @@ int Entity::entityCounter = 2048; // 4J - changed initialiser to 2048, as we are using range 0 - 2047 as special unique smaller ids for things that need network tracked -#ifdef _WIN32 DWORD Entity::tlsIdx = TlsAlloc(); -#endif // _WIN32 // 4J - added getSmallId & freeSmallId methods unsigned int Entity::entityIdUsedFlags[2048/32] = {0}; From ced8eed69b32e4391b8e3cd760717a13b2f4fddb Mon Sep 17 00:00:00 2001 From: Tropical <42101043+tropicaaal@users.noreply.github.com> Date: Wed, 4 Mar 2026 19:38:45 -0600 Subject: [PATCH 09/12] fix: `LocalPlayer.cpp` include capitalization --- Minecraft.Client/LocalPlayer.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Minecraft.Client/LocalPlayer.cpp b/Minecraft.Client/LocalPlayer.cpp index 53ac603bf..587d4720a 100644 --- a/Minecraft.Client/LocalPlayer.cpp +++ b/Minecraft.Client/LocalPlayer.cpp @@ -33,9 +33,9 @@ #include "CritParticle.h" // 4J : WESTY : Added for new achievements. -#include "../Minecraft.World/item.h" -#include "../Minecraft.World/mapitem.h" -#include "../Minecraft.World/tile.h" +#include "../Minecraft.World/Item.h" +#include "../Minecraft.World/MapItem.h" +#include "../Minecraft.World/Tile.h" // 4J Stu - Added for tutorial callbacks #include "Minecraft.h" From 35f5167c3be3acf211fa10915084b07441521c97 Mon Sep 17 00:00:00 2001 From: Tropical <42101043+tropicaaal@users.noreply.github.com> Date: Wed, 4 Mar 2026 19:39:02 -0600 Subject: [PATCH 10/12] fix: use win64 `platformIdx` for intro UIScene --- Minecraft.Client/Common/UI/UIScene_Intro.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Minecraft.Client/Common/UI/UIScene_Intro.cpp b/Minecraft.Client/Common/UI/UIScene_Intro.cpp index 2c50612f9..dd1dc1fca 100644 --- a/Minecraft.Client/Common/UI/UIScene_Intro.cpp +++ b/Minecraft.Client/Common/UI/UIScene_Intro.cpp @@ -18,7 +18,7 @@ UIScene_Intro::UIScene_Intro(int iPad, void *initData, UILayer *parentLayer) : U #endif // 4J Stu - These map to values in the Actionscript -#ifdef _WINDOWS64 +#if defined(_WINDOWS64) || defined(__linux__) int platformIdx = 0; #elif defined(_XBOX) int platformIdx = 1; From 17a9762122e96913f1be8670bdd93730850d7d84 Mon Sep 17 00:00:00 2001 From: Tropical <42101043+tropicaaal@users.noreply.github.com> Date: Wed, 4 Mar 2026 19:39:16 -0600 Subject: [PATCH 11/12] fix: properly define `MAX_CREDIT_STRINGS` for linux --- Minecraft.Client/Common/UI/UIScene_Credits.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Minecraft.Client/Common/UI/UIScene_Credits.h b/Minecraft.Client/Common/UI/UIScene_Credits.h index 28f400d9d..015170e5a 100644 --- a/Minecraft.Client/Common/UI/UIScene_Credits.h +++ b/Minecraft.Client/Common/UI/UIScene_Credits.h @@ -18,7 +18,7 @@ #elif defined(_DURANGO) || defined _WIN64 #define MAX_CREDIT_STRINGS (XBOXONE_CREDITS_COUNT + MILES_AND_IGGY_CREDITS_COUNT) #elif defined (__linux__) -#define MAX_CREDIT_STRINGS +#define MAX_CREDIT_STRINGS (XBOXONE_CREDITS_COUNT + MILES_AND_IGGY_CREDITS_COUNT) #elif defined(__PSVITA__) #define MAX_CREDIT_STRINGS (PSVITA_CREDITS_COUNT + MILES_AND_IGGY_CREDITS_COUNT + DYNAMODE_FONT_CREDITS_COUNT) #endif From 0c31a7a943df5fa8b903eb671fd097049ba22cb4 Mon Sep 17 00:00:00 2001 From: Tropical <42101043+tropicaaal@users.noreply.github.com> Date: Wed, 4 Mar 2026 19:40:23 -0600 Subject: [PATCH 12/12] fix: include all missing files in `Common` This resolves all non-C4J linker errors. --- Minecraft.Client/CMakeLists.txt | 480 +++++++++--------- Minecraft.Client/Common/Consoles_App.cpp | 3 +- .../Common/UI/UIControl_EnchantmentButton.cpp | 2 + .../Common/UI/UIScene_DLCOffersMenu.cpp | 2 +- Minecraft.Client/Linux/Stubs/winapi_stubs.h | 26 +- 5 files changed, 270 insertions(+), 243 deletions(-) diff --git a/Minecraft.Client/CMakeLists.txt b/Minecraft.Client/CMakeLists.txt index cb2b18152..24dab0d39 100644 --- a/Minecraft.Client/CMakeLists.txt +++ b/Minecraft.Client/CMakeLists.txt @@ -294,27 +294,27 @@ set(Common__Source_Files__Tutorial__Tasks source_group("Common\\Source Files\\Tutorial\\Tasks" FILES ${Common__Source_Files__Tutorial__Tasks}) set(Common__Source_Files__UI -# "Common/UI/UI.h" -# "Common/UI/UIBitmapFont.cpp" -# "Common/UI/UIBitmapFont.h" -# "Common/UI/UIController.cpp" -# "Common/UI/UIController.h" -# "Common/UI/UIFontData.cpp" -# "Common/UI/UIFontData.h" -# "Common/UI/UIGroup.cpp" -# "Common/UI/UIGroup.h" -# "Common/UI/UILayer.cpp" -# "Common/UI/UILayer.h" -# "Common/UI/UIScene.cpp" -# "Common/UI/UIScene.h" -# "Common/UI/UITTFFont.cpp" -# "Common/UI/UITTFFont.h" + "Common/UI/UI.h" + "Common/UI/UIBitmapFont.cpp" + "Common/UI/UIBitmapFont.h" + "Common/UI/UIController.cpp" + "Common/UI/UIController.h" + "Common/UI/UIFontData.cpp" + "Common/UI/UIFontData.h" + "Common/UI/UIGroup.cpp" + "Common/UI/UIGroup.h" + "Common/UI/UILayer.cpp" + "Common/UI/UILayer.h" + "Common/UI/UIScene.cpp" + "Common/UI/UIScene.h" + "Common/UI/UITTFFont.cpp" + "Common/UI/UITTFFont.h" ) source_group("Common\\Source Files\\UI" FILES ${Common__Source_Files__UI}) set(Common__Source_Files__UI__All_Platforms -# "ArchiveFile.cpp" -# "ArchiveFile.h" + "ArchiveFile.cpp" + "ArchiveFile.h" "Common/UI/IUIController.h" "Common/UI/IUIScene_AbstractContainerMenu.cpp" "Common/UI/IUIScene_AbstractContainerMenu.h" @@ -340,224 +340,224 @@ set(Common__Source_Files__UI__All_Platforms "Common/UI/IUIScene_PauseMenu.h" "Common/UI/IUIScene_TradingMenu.cpp" "Common/UI/IUIScene_TradingMenu.h" -# "Common/UI/UIEnums.h" + "Common/UI/UIEnums.h" "Common/UI/UIStructs.h" ) source_group("Common\\Source Files\\UI\\All Platforms" FILES ${Common__Source_Files__UI__All_Platforms}) set(Common__Source_Files__UI__Components -# "Common/UI/UIComponent_Chat.cpp" -# "Common/UI/UIComponent_Chat.h" -# "Common/UI/UIComponent_DebugUIConsole.cpp" -# "Common/UI/UIComponent_DebugUIConsole.h" -# "Common/UI/UIComponent_DebugUIMarketingGuide.cpp" -# "Common/UI/UIComponent_DebugUIMarketingGuide.h" -# "Common/UI/UIComponent_Logo.cpp" -# "Common/UI/UIComponent_Logo.h" -# "Common/UI/UIComponent_MenuBackground.cpp" -# "Common/UI/UIComponent_MenuBackground.h" -# "Common/UI/UIComponent_Panorama.cpp" -# "Common/UI/UIComponent_Panorama.h" -# "Common/UI/UIComponent_PressStartToPlay.cpp" -# "Common/UI/UIComponent_PressStartToPlay.h" -# "Common/UI/UIComponent_Tooltips.cpp" -# "Common/UI/UIComponent_Tooltips.h" -# "Common/UI/UIComponent_TutorialPopup.cpp" -# "Common/UI/UIComponent_TutorialPopup.h" -# "Common/UI/UIScene_HUD.cpp" -# "Common/UI/UIScene_HUD.h" + "Common/UI/UIComponent_Chat.cpp" + "Common/UI/UIComponent_Chat.h" + "Common/UI/UIComponent_DebugUIConsole.cpp" + "Common/UI/UIComponent_DebugUIConsole.h" + "Common/UI/UIComponent_DebugUIMarketingGuide.cpp" + "Common/UI/UIComponent_DebugUIMarketingGuide.h" + "Common/UI/UIComponent_Logo.cpp" + "Common/UI/UIComponent_Logo.h" + "Common/UI/UIComponent_MenuBackground.cpp" + "Common/UI/UIComponent_MenuBackground.h" + "Common/UI/UIComponent_Panorama.cpp" + "Common/UI/UIComponent_Panorama.h" + "Common/UI/UIComponent_PressStartToPlay.cpp" + "Common/UI/UIComponent_PressStartToPlay.h" + "Common/UI/UIComponent_Tooltips.cpp" + "Common/UI/UIComponent_Tooltips.h" + "Common/UI/UIComponent_TutorialPopup.cpp" + "Common/UI/UIComponent_TutorialPopup.h" + "Common/UI/UIScene_HUD.cpp" + "Common/UI/UIScene_HUD.h" ) source_group("Common\\Source Files\\UI\\Components" FILES ${Common__Source_Files__UI__Components}) set(Common__Source_Files__UI__Controls -# "Common/UI/UIControl.cpp" -# "Common/UI/UIControl.h" -# "Common/UI/UIControl_Base.cpp" -# "Common/UI/UIControl_Base.h" -# "Common/UI/UIControl_BitmapIcon.cpp" -# "Common/UI/UIControl_BitmapIcon.h" -# "Common/UI/UIControl_Button.cpp" -# "Common/UI/UIControl_Button.h" -# "Common/UI/UIControl_ButtonList.cpp" -# "Common/UI/UIControl_ButtonList.h" -# "Common/UI/UIControl_CheckBox.cpp" -# "Common/UI/UIControl_CheckBox.h" -# "Common/UI/UIControl_Cursor.cpp" -# "Common/UI/UIControl_Cursor.h" -# "Common/UI/UIControl_DLCList.cpp" -# "Common/UI/UIControl_DLCList.h" -# "Common/UI/UIControl_DynamicLabel.cpp" -# "Common/UI/UIControl_DynamicLabel.h" -# "Common/UI/UIControl_EnchantmentBook.cpp" -# "Common/UI/UIControl_EnchantmentBook.h" -# "Common/UI/UIControl_EnchantmentButton.cpp" -# "Common/UI/UIControl_EnchantmentButton.h" -# "Common/UI/UIControl_HTMLLabel.cpp" -# "Common/UI/UIControl_HTMLLabel.h" -# "Common/UI/UIControl_Label.cpp" -# "Common/UI/UIControl_Label.h" -# "Common/UI/UIControl_LeaderboardList.cpp" -# "Common/UI/UIControl_LeaderboardList.h" -# "Common/UI/UIControl_MinecraftPlayer.cpp" -# "Common/UI/UIControl_MinecraftPlayer.h" -# "Common/UI/UIControl_PlayerList.cpp" -# "Common/UI/UIControl_PlayerList.h" -# "Common/UI/UIControl_PlayerSkinPreview.cpp" -# "Common/UI/UIControl_PlayerSkinPreview.h" -# "Common/UI/UIControl_Progress.cpp" -# "Common/UI/UIControl_Progress.h" -# "Common/UI/UIControl_SaveList.cpp" -# "Common/UI/UIControl_SaveList.h" -# "Common/UI/UIControl_Slider.cpp" -# "Common/UI/UIControl_Slider.h" -# "Common/UI/UIControl_SlotList.cpp" -# "Common/UI/UIControl_SlotList.h" -# "Common/UI/UIControl_SpaceIndicatorBar.cpp" -# "Common/UI/UIControl_SpaceIndicatorBar.h" -# "Common/UI/UIControl_TextInput.cpp" -# "Common/UI/UIControl_TextInput.h" -# "Common/UI/UIControl_TexturePackList.cpp" -# "Common/UI/UIControl_TexturePackList.h" + "Common/UI/UIControl.cpp" + "Common/UI/UIControl.h" + "Common/UI/UIControl_Base.cpp" + "Common/UI/UIControl_Base.h" + "Common/UI/UIControl_BitmapIcon.cpp" + "Common/UI/UIControl_BitmapIcon.h" + "Common/UI/UIControl_Button.cpp" + "Common/UI/UIControl_Button.h" + "Common/UI/UIControl_ButtonList.cpp" + "Common/UI/UIControl_ButtonList.h" + "Common/UI/UIControl_CheckBox.cpp" + "Common/UI/UIControl_CheckBox.h" + "Common/UI/UIControl_Cursor.cpp" + "Common/UI/UIControl_Cursor.h" + "Common/UI/UIControl_DLCList.cpp" + "Common/UI/UIControl_DLCList.h" + "Common/UI/UIControl_DynamicLabel.cpp" + "Common/UI/UIControl_DynamicLabel.h" + "Common/UI/UIControl_EnchantmentBook.cpp" + "Common/UI/UIControl_EnchantmentBook.h" + "Common/UI/UIControl_EnchantmentButton.cpp" + "Common/UI/UIControl_EnchantmentButton.h" + "Common/UI/UIControl_HTMLLabel.cpp" + "Common/UI/UIControl_HTMLLabel.h" + "Common/UI/UIControl_Label.cpp" + "Common/UI/UIControl_Label.h" + "Common/UI/UIControl_LeaderboardList.cpp" + "Common/UI/UIControl_LeaderboardList.h" + "Common/UI/UIControl_MinecraftPlayer.cpp" + "Common/UI/UIControl_MinecraftPlayer.h" + "Common/UI/UIControl_PlayerList.cpp" + "Common/UI/UIControl_PlayerList.h" + "Common/UI/UIControl_PlayerSkinPreview.cpp" + "Common/UI/UIControl_PlayerSkinPreview.h" + "Common/UI/UIControl_Progress.cpp" + "Common/UI/UIControl_Progress.h" + "Common/UI/UIControl_SaveList.cpp" + "Common/UI/UIControl_SaveList.h" + "Common/UI/UIControl_Slider.cpp" + "Common/UI/UIControl_Slider.h" + "Common/UI/UIControl_SlotList.cpp" + "Common/UI/UIControl_SlotList.h" + "Common/UI/UIControl_SpaceIndicatorBar.cpp" + "Common/UI/UIControl_SpaceIndicatorBar.h" + "Common/UI/UIControl_TextInput.cpp" + "Common/UI/UIControl_TextInput.h" + "Common/UI/UIControl_TexturePackList.cpp" + "Common/UI/UIControl_TexturePackList.h" # "Common/UI/UIControl_Touch.cpp" # "Common/UI/UIControl_Touch.h" ) source_group("Common\\Source Files\\UI\\Controls" FILES ${Common__Source_Files__UI__Controls}) set(Common__Source_Files__UI__Scenes -# "Common/UI/UIScene_ConnectingProgress.cpp" -# "Common/UI/UIScene_ConnectingProgress.h" -# "Common/UI/UIScene_FullscreenProgress.cpp" -# "Common/UI/UIScene_FullscreenProgress.h" -# "Common/UI/UIScene_Keyboard.cpp" -# "Common/UI/UIScene_Keyboard.h" -# "Common/UI/UIScene_MessageBox.cpp" -# "Common/UI/UIScene_MessageBox.h" -# "Common/UI/UIScene_QuadrantSignin.cpp" -# "Common/UI/UIScene_QuadrantSignin.h" -# "Common/UI/UIScene_Timer.cpp" -# "Common/UI/UIScene_Timer.h" + "Common/UI/UIScene_ConnectingProgress.cpp" + "Common/UI/UIScene_ConnectingProgress.h" + "Common/UI/UIScene_FullscreenProgress.cpp" + "Common/UI/UIScene_FullscreenProgress.h" + "Common/UI/UIScene_Keyboard.cpp" + "Common/UI/UIScene_Keyboard.h" + "Common/UI/UIScene_MessageBox.cpp" + "Common/UI/UIScene_MessageBox.h" + "Common/UI/UIScene_QuadrantSignin.cpp" + "Common/UI/UIScene_QuadrantSignin.h" + "Common/UI/UIScene_Timer.cpp" + "Common/UI/UIScene_Timer.h" ) source_group("Common\\Source Files\\UI\\Scenes" FILES ${Common__Source_Files__UI__Scenes}) set(Common__Source_Files__UI__Scenes__Debug -# "Common/UI/UIScene_DebugCreateSchematic.cpp" -# "Common/UI/UIScene_DebugCreateSchematic.h" -# "Common/UI/UIScene_DebugOptions.cpp" -# "Common/UI/UIScene_DebugOptions.h" -# "Common/UI/UIScene_DebugOverlay.cpp" -# "Common/UI/UIScene_DebugOverlay.h" -# "Common/UI/UIScene_DebugSetCamera.cpp" -# "Common/UI/UIScene_DebugSetCamera.h" + "Common/UI/UIScene_DebugCreateSchematic.cpp" + "Common/UI/UIScene_DebugCreateSchematic.h" + "Common/UI/UIScene_DebugOptions.cpp" + "Common/UI/UIScene_DebugOptions.h" + "Common/UI/UIScene_DebugOverlay.cpp" + "Common/UI/UIScene_DebugOverlay.h" + "Common/UI/UIScene_DebugSetCamera.cpp" + "Common/UI/UIScene_DebugSetCamera.h" ) source_group("Common\\Source Files\\UI\\Scenes\\Debug" FILES ${Common__Source_Files__UI__Scenes__Debug}) set(Common__Source_Files__UI__Scenes__Frontend_Menu_screens -# "Common/UI/IUIScene_StartGame.cpp" -# "Common/UI/IUIScene_StartGame.h" -# "Common/UI/UIScene_CreateWorldMenu.cpp" -# "Common/UI/UIScene_CreateWorldMenu.h" -# "Common/UI/UIScene_DLCMainMenu.cpp" -# "Common/UI/UIScene_DLCMainMenu.h" -# "Common/UI/UIScene_DLCOffersMenu.cpp" -# "Common/UI/UIScene_DLCOffersMenu.h" -# "Common/UI/UIScene_EULA.cpp" -# "Common/UI/UIScene_EULA.h" -# "Common/UI/UIScene_Intro.cpp" -# "Common/UI/UIScene_Intro.h" -# "Common/UI/UIScene_JoinMenu.cpp" -# "Common/UI/UIScene_JoinMenu.h" -# "Common/UI/UIScene_LaunchMoreOptionsMenu.cpp" -# "Common/UI/UIScene_LaunchMoreOptionsMenu.h" -# "Common/UI/UIScene_LeaderboardsMenu.cpp" -# "Common/UI/UIScene_LeaderboardsMenu.h" -# "Common/UI/UIScene_LoadMenu.cpp" -# "Common/UI/UIScene_LoadMenu.h" -# "Common/UI/UIScene_LoadOrJoinMenu.cpp" -# "Common/UI/UIScene_LoadOrJoinMenu.h" -# "Common/UI/UIScene_MainMenu.cpp" -# "Common/UI/UIScene_MainMenu.h" -# "Common/UI/UIScene_SaveMessage.cpp" -# "Common/UI/UIScene_SaveMessage.h" -# "Common/UI/UIScene_TrialExitUpsell.cpp" -# "Common/UI/UIScene_TrialExitUpsell.h" + "Common/UI/IUIScene_StartGame.cpp" + "Common/UI/IUIScene_StartGame.h" + "Common/UI/UIScene_CreateWorldMenu.cpp" + "Common/UI/UIScene_CreateWorldMenu.h" + "Common/UI/UIScene_DLCMainMenu.cpp" + "Common/UI/UIScene_DLCMainMenu.h" + "Common/UI/UIScene_DLCOffersMenu.cpp" + "Common/UI/UIScene_DLCOffersMenu.h" + "Common/UI/UIScene_EULA.cpp" + "Common/UI/UIScene_EULA.h" + "Common/UI/UIScene_Intro.cpp" + "Common/UI/UIScene_Intro.h" + "Common/UI/UIScene_JoinMenu.cpp" + "Common/UI/UIScene_JoinMenu.h" + "Common/UI/UIScene_LaunchMoreOptionsMenu.cpp" + "Common/UI/UIScene_LaunchMoreOptionsMenu.h" + "Common/UI/UIScene_LeaderboardsMenu.cpp" + "Common/UI/UIScene_LeaderboardsMenu.h" + "Common/UI/UIScene_LoadMenu.cpp" + "Common/UI/UIScene_LoadMenu.h" + "Common/UI/UIScene_LoadOrJoinMenu.cpp" + "Common/UI/UIScene_LoadOrJoinMenu.h" + "Common/UI/UIScene_MainMenu.cpp" + "Common/UI/UIScene_MainMenu.h" + "Common/UI/UIScene_SaveMessage.cpp" + "Common/UI/UIScene_SaveMessage.h" + "Common/UI/UIScene_TrialExitUpsell.cpp" + "Common/UI/UIScene_TrialExitUpsell.h" ) source_group("Common\\Source Files\\UI\\Scenes\\Frontend Menu screens" FILES ${Common__Source_Files__UI__Scenes__Frontend_Menu_screens}) set(Common__Source_Files__UI__Scenes__Help__Options -# "Common/UI/UIScene_ControlsMenu.cpp" -# "Common/UI/UIScene_ControlsMenu.h" -# "Common/UI/UIScene_Credits.cpp" -# "Common/UI/UIScene_Credits.h" -# "Common/UI/UIScene_HelpAndOptionsMenu.cpp" -# "Common/UI/UIScene_HelpAndOptionsMenu.h" -# "Common/UI/UIScene_HowToPlay.cpp" -# "Common/UI/UIScene_HowToPlay.h" -# "Common/UI/UIScene_HowToPlayMenu.cpp" -# "Common/UI/UIScene_HowToPlayMenu.h" -# "Common/UI/UIScene_ReinstallMenu.cpp" -# "Common/UI/UIScene_ReinstallMenu.h" -# "Common/UI/UIScene_SettingsAudioMenu.cpp" -# "Common/UI/UIScene_SettingsAudioMenu.h" -# "Common/UI/UIScene_SettingsControlMenu.cpp" -# "Common/UI/UIScene_SettingsControlMenu.h" -# "Common/UI/UIScene_SettingsGraphicsMenu.cpp" -# "Common/UI/UIScene_SettingsGraphicsMenu.h" -# "Common/UI/UIScene_SettingsMenu.cpp" -# "Common/UI/UIScene_SettingsMenu.h" -# "Common/UI/UIScene_SettingsOptionsMenu.cpp" -# "Common/UI/UIScene_SettingsOptionsMenu.h" -# "Common/UI/UIScene_SettingsUIMenu.cpp" -# "Common/UI/UIScene_SettingsUIMenu.h" -# "Common/UI/UIScene_SkinSelectMenu.cpp" -# "Common/UI/UIScene_SkinSelectMenu.h" + "Common/UI/UIScene_ControlsMenu.cpp" + "Common/UI/UIScene_ControlsMenu.h" + "Common/UI/UIScene_Credits.cpp" + "Common/UI/UIScene_Credits.h" + "Common/UI/UIScene_HelpAndOptionsMenu.cpp" + "Common/UI/UIScene_HelpAndOptionsMenu.h" + "Common/UI/UIScene_HowToPlay.cpp" + "Common/UI/UIScene_HowToPlay.h" + "Common/UI/UIScene_HowToPlayMenu.cpp" + "Common/UI/UIScene_HowToPlayMenu.h" + "Common/UI/UIScene_ReinstallMenu.cpp" + "Common/UI/UIScene_ReinstallMenu.h" + "Common/UI/UIScene_SettingsAudioMenu.cpp" + "Common/UI/UIScene_SettingsAudioMenu.h" + "Common/UI/UIScene_SettingsControlMenu.cpp" + "Common/UI/UIScene_SettingsControlMenu.h" + "Common/UI/UIScene_SettingsGraphicsMenu.cpp" + "Common/UI/UIScene_SettingsGraphicsMenu.h" + "Common/UI/UIScene_SettingsMenu.cpp" + "Common/UI/UIScene_SettingsMenu.h" + "Common/UI/UIScene_SettingsOptionsMenu.cpp" + "Common/UI/UIScene_SettingsOptionsMenu.h" + "Common/UI/UIScene_SettingsUIMenu.cpp" + "Common/UI/UIScene_SettingsUIMenu.h" + "Common/UI/UIScene_SkinSelectMenu.cpp" + "Common/UI/UIScene_SkinSelectMenu.h" ) source_group("Common\\Source Files\\UI\\Scenes\\Help & Options" FILES ${Common__Source_Files__UI__Scenes__Help__Options}) set(Common__Source_Files__UI__Scenes__In-Game_Menu_Screens -# "Common/UI/UIScene_CraftingMenu.cpp" -# "Common/UI/UIScene_CraftingMenu.h" -# "Common/UI/UIScene_DeathMenu.cpp" -# "Common/UI/UIScene_DeathMenu.h" -# "Common/UI/UIScene_EndPoem.cpp" -# "Common/UI/UIScene_EndPoem.h" -# "Common/UI/UIScene_InGameHostOptionsMenu.cpp" -# "Common/UI/UIScene_InGameHostOptionsMenu.h" -# "Common/UI/UIScene_InGameInfoMenu.cpp" -# "Common/UI/UIScene_InGameInfoMenu.h" -# "Common/UI/UIScene_InGamePlayerOptionsMenu.cpp" -# "Common/UI/UIScene_InGamePlayerOptionsMenu.h" + "Common/UI/UIScene_CraftingMenu.cpp" + "Common/UI/UIScene_CraftingMenu.h" + "Common/UI/UIScene_DeathMenu.cpp" + "Common/UI/UIScene_DeathMenu.h" + "Common/UI/UIScene_EndPoem.cpp" + "Common/UI/UIScene_EndPoem.h" + "Common/UI/UIScene_InGameHostOptionsMenu.cpp" + "Common/UI/UIScene_InGameHostOptionsMenu.h" + "Common/UI/UIScene_InGameInfoMenu.cpp" + "Common/UI/UIScene_InGameInfoMenu.h" + "Common/UI/UIScene_InGamePlayerOptionsMenu.cpp" + "Common/UI/UIScene_InGamePlayerOptionsMenu.h" # "Common/UI/UIScene_InGameSaveManagementMenu.cpp" # "Common/UI/UIScene_InGameSaveManagementMenu.h" -# "Common/UI/UIScene_PauseMenu.cpp" -# "Common/UI/UIScene_PauseMenu.h" -# "Common/UI/UIScene_SignEntryMenu.cpp" -# "Common/UI/UIScene_SignEntryMenu.h" -# "Common/UI/UIScene_TeleportMenu.cpp" -# "Common/UI/UIScene_TeleportMenu.h" + "Common/UI/UIScene_PauseMenu.cpp" + "Common/UI/UIScene_PauseMenu.h" + "Common/UI/UIScene_SignEntryMenu.cpp" + "Common/UI/UIScene_SignEntryMenu.h" + "Common/UI/UIScene_TeleportMenu.cpp" + "Common/UI/UIScene_TeleportMenu.h" ) source_group("Common\\Source Files\\UI\\Scenes\\In-Game Menu Screens" FILES ${Common__Source_Files__UI__Scenes__In-Game_Menu_Screens}) set(Common__Source_Files__UI__Scenes__In-Game_Menu_Screens__Containers -# "Common/UI/UIScene_AbstractContainerMenu.cpp" -# "Common/UI/UIScene_AbstractContainerMenu.h" -# "Common/UI/UIScene_AnvilMenu.cpp" -# "Common/UI/UIScene_AnvilMenu.h" -# "Common/UI/UIScene_BrewingStandMenu.cpp" -# "Common/UI/UIScene_BrewingStandMenu.h" -# "Common/UI/UIScene_ContainerMenu.cpp" -# "Common/UI/UIScene_ContainerMenu.h" -# "Common/UI/UIScene_CreativeMenu.cpp" -# "Common/UI/UIScene_CreativeMenu.h" -# "Common/UI/UIScene_DispenserMenu.cpp" -# "Common/UI/UIScene_DispenserMenu.h" -# "Common/UI/UIScene_EnchantingMenu.cpp" -# "Common/UI/UIScene_EnchantingMenu.h" -# "Common/UI/UIScene_FurnaceMenu.cpp" -# "Common/UI/UIScene_FurnaceMenu.h" -# "Common/UI/UIScene_InventoryMenu.cpp" -# "Common/UI/UIScene_InventoryMenu.h" -# "Common/UI/UIScene_TradingMenu.cpp" -# "Common/UI/UIScene_TradingMenu.h" + "Common/UI/UIScene_AbstractContainerMenu.cpp" + "Common/UI/UIScene_AbstractContainerMenu.h" + "Common/UI/UIScene_AnvilMenu.cpp" + "Common/UI/UIScene_AnvilMenu.h" + "Common/UI/UIScene_BrewingStandMenu.cpp" + "Common/UI/UIScene_BrewingStandMenu.h" + "Common/UI/UIScene_ContainerMenu.cpp" + "Common/UI/UIScene_ContainerMenu.h" + "Common/UI/UIScene_CreativeMenu.cpp" + "Common/UI/UIScene_CreativeMenu.h" + "Common/UI/UIScene_DispenserMenu.cpp" + "Common/UI/UIScene_DispenserMenu.h" + "Common/UI/UIScene_EnchantingMenu.cpp" + "Common/UI/UIScene_EnchantingMenu.h" + "Common/UI/UIScene_FurnaceMenu.cpp" + "Common/UI/UIScene_FurnaceMenu.h" + "Common/UI/UIScene_InventoryMenu.cpp" + "Common/UI/UIScene_InventoryMenu.h" + "Common/UI/UIScene_TradingMenu.cpp" + "Common/UI/UIScene_TradingMenu.h" ) source_group("Common\\Source Files\\UI\\Scenes\\In-Game Menu Screens\\Containers" FILES ${Common__Source_Files__UI__Scenes__In-Game_Menu_Screens__Containers}) @@ -1041,8 +1041,8 @@ set(PS3__PS3Extras # "PS3/PS3Extras/Ps3Stubs.cpp" # "PS3/PS3Extras/Ps3Stubs.h" # "PS3/PS3Extras/Ps3Types.h" -# "PS3/PS3Extras/ShutdownManager.cpp" -# "PS3/PS3Extras/ShutdownManager.h" + "PS3/PS3Extras/ShutdownManager.cpp" + "PS3/PS3Extras/ShutdownManager.h" # "PS3/PS3Extras/TLSStorage.cpp" # "PS3/PS3Extras/TLSStorage.h" # "PS3/PS3Extras/winerror.h" @@ -1234,7 +1234,7 @@ source_group("PSVita\\XML" FILES ${PSVita__XML}) set(Source_Files "BufferedImage.cpp" -# "Extrax64Stubs.cpp" + "Extrax64Stubs.cpp" "glWrapper.cpp" "stdafx.cpp" "stubs.cpp" @@ -1302,8 +1302,8 @@ set(Windows64__Source_Files source_group("Windows64\\Source Files" FILES ${Windows64__Source_Files}) set(Windows64__Source_Files__Leaderboards -# "Windows64/Leaderboards/WindowsLeaderboardManager.cpp" -# "Windows64/Leaderboards/WindowsLeaderboardManager.h" + "Windows64/Leaderboards/WindowsLeaderboardManager.cpp" + "Windows64/Leaderboards/WindowsLeaderboardManager.h" ) source_group("Windows64\\Source Files\\Leaderboards" FILES ${Windows64__Source_Files__Leaderboards}) @@ -1802,20 +1802,20 @@ set(net__minecraft__client__gui__achievement source_group("net\\minecraft\\client\\gui\\achievement" FILES ${net__minecraft__client__gui__achievement}) set(net__minecraft__client__gui__inventory -# "AbstractContainerScreen.cpp" -# "AbstractContainerScreen.h" -# "ContainerScreen.cpp" -# "ContainerScreen.h" -# "CraftingScreen.cpp" -# "CraftingScreen.h" -# "FurnaceScreen.cpp" -# "FurnaceScreen.h" -# "InventoryScreen.cpp" -# "InventoryScreen.h" -# "TextEditScreen.cpp" -# "TextEditScreen.h" -# "TrapScreen.cpp" -# "TrapScreen.h" + "AbstractContainerScreen.cpp" + "AbstractContainerScreen.h" + "ContainerScreen.cpp" + "ContainerScreen.h" + "CraftingScreen.cpp" + "CraftingScreen.h" + "FurnaceScreen.cpp" + "FurnaceScreen.h" + "InventoryScreen.cpp" + "InventoryScreen.h" + "TextEditScreen.cpp" + "TextEditScreen.h" + "TrapScreen.cpp" + "TrapScreen.h" ) source_group("net\\minecraft\\client\\gui\\inventory" FILES ${net__minecraft__client__gui__inventory}) @@ -1924,23 +1924,23 @@ set(net__minecraft__client__model__geom source_group("net\\minecraft\\client\\model\\geom" FILES ${net__minecraft__client__model__geom}) set(net__minecraft__client__multiplayer -# "ClientConnection.cpp" -# "ClientConnection.h" -# "ConnectScreen.cpp" -# "ConnectScreen.h" -# "DisconnectedScreen.cpp" -# "DisconnectedScreen.h" -# "MultiPlayerChunkCache.cpp" -# "MultiPlayerChunkCache.h" -# "MultiPlayerGameMode.cpp" -# "MultiPlayerGameMode.h" -# "MultiPlayerLevel.cpp" -# "MultiPlayerLevel.h" -# "MultiPlayerLocalPlayer.cpp" -# "MultiPlayerLocalPlayer.h" -# "PlayerInfo.h" -# "ReceivingLevelScreen.cpp" -# "ReceivingLevelScreen.h" + "ClientConnection.cpp" + "ClientConnection.h" + "ConnectScreen.cpp" + "ConnectScreen.h" + "DisconnectedScreen.cpp" + "DisconnectedScreen.h" + "MultiPlayerChunkCache.cpp" + "MultiPlayerChunkCache.h" + "MultiPlayerGameMode.cpp" + "MultiPlayerGameMode.h" + "MultiPlayerLevel.cpp" + "MultiPlayerLevel.h" + "MultiPlayerLocalPlayer.cpp" + "MultiPlayerLocalPlayer.h" + "PlayerInfo.h" + "ReceivingLevelScreen.cpp" + "ReceivingLevelScreen.h" ) source_group("net\\minecraft\\client\\multiplayer" FILES ${net__minecraft__client__multiplayer}) @@ -2011,8 +2011,8 @@ source_group("net\\minecraft\\client\\particle" FILES ${net__minecraft__client__ set(net__minecraft__client__player "Input.cpp" "Input.h" -# "LocalPlayer.cpp" -# "LocalPlayer.h" + "LocalPlayer.cpp" + "LocalPlayer.h" "RemotePlayer.cpp" "RemotePlayer.h" ) @@ -2238,8 +2238,8 @@ set(net__minecraft__server "ConsoleInput.cpp" "ConsoleInput.h" "ConsoleInputSource.h" -# "MinecraftServer.cpp" -# "MinecraftServer.h" + "MinecraftServer.cpp" + "MinecraftServer.h" "PlayerList.cpp" "PlayerList.h" "ServerInterface.h" @@ -2289,8 +2289,8 @@ set(net__minecraft__server__network source_group("net\\minecraft\\server\\network" FILES ${net__minecraft__server__network}) set(net__minecraft__stats -# "StatsCounter.cpp" -# "StatsCounter.h" + "StatsCounter.cpp" + "StatsCounter.h" "StatsSyncher.cpp" "StatsSyncher.h" ) diff --git a/Minecraft.Client/Common/Consoles_App.cpp b/Minecraft.Client/Common/Consoles_App.cpp index ce0359f90..0ceb05c5e 100644 --- a/Minecraft.Client/Common/Consoles_App.cpp +++ b/Minecraft.Client/Common/Consoles_App.cpp @@ -6647,7 +6647,8 @@ HRESULT CMinecraftApp::RegisterDLCData(eDLCContentType eType, WCHAR *pwchBannerN #elif defined(__linux__) HRESULT CMinecraftApp::RegisterDLCData(WCHAR *pType, WCHAR *pBannerName, int iGender, __uint64 ullOfferID_Full, __uint64 ullOfferID_Trial, WCHAR *pFirstSkin, unsigned int uiSortIndex, int iConfig, WCHAR *pDataFile) { - // TODO + fprintf(stderr, "warning: CMinecraftApp::RegisterDLCData unimplemented for platform `__linux__`\n"); + return S_OK; } #else HRESULT CMinecraftApp::RegisterDLCData(char *pchDLCName, unsigned int uiSortIndex,char *pchImageURL) diff --git a/Minecraft.Client/Common/UI/UIControl_EnchantmentButton.cpp b/Minecraft.Client/Common/UI/UIControl_EnchantmentButton.cpp index 0de2f0098..bac5f91ae 100644 --- a/Minecraft.Client/Common/UI/UIControl_EnchantmentButton.cpp +++ b/Minecraft.Client/Common/UI/UIControl_EnchantmentButton.cpp @@ -6,6 +6,8 @@ #include "../../MultiPlayerLocalPlayer.h" #include "../../../Minecraft.World/StringHelpers.h" +#include + UIControl_EnchantmentButton::UIControl_EnchantmentButton() { m_index = 0; diff --git a/Minecraft.Client/Common/UI/UIScene_DLCOffersMenu.cpp b/Minecraft.Client/Common/UI/UIScene_DLCOffersMenu.cpp index 0d2e3aff4..e3ddd3abe 100644 --- a/Minecraft.Client/Common/UI/UIScene_DLCOffersMenu.cpp +++ b/Minecraft.Client/Common/UI/UIScene_DLCOffersMenu.cpp @@ -269,7 +269,7 @@ void UIScene_DLCOffersMenu::handlePress(F64 controlId, F64 childId) ULONGLONG ullIndexA[1]; ullIndexA[0]=StorageManager.GetOffer(iIndex).qwOfferID; - StorageManager.InstallOffer(1,ullIndexA,NULL,NULL); + StorageManager.InstallOffer(1,(__uint64*)ullIndexA,NULL,NULL); #endif } break; diff --git a/Minecraft.Client/Linux/Stubs/winapi_stubs.h b/Minecraft.Client/Linux/Stubs/winapi_stubs.h index 00c7c54b5..0d5c41486 100644 --- a/Minecraft.Client/Linux/Stubs/winapi_stubs.h +++ b/Minecraft.Client/Linux/Stubs/winapi_stubs.h @@ -57,7 +57,7 @@ typedef struct { typedef long long LONGLONG; typedef size_t SIZE_T; -typedef std::wstring LPWSTR; +typedef WCHAR *LPWSTR, *PWSTR; typedef unsigned char boolean; // java brainrot #define __debugbreak() #define __int32 int @@ -147,6 +147,30 @@ typedef float FLOAT; #define MEM_HEAP 0x40000000 #define MEM_16MB_PAGES 0x80000000 +#define THREAD_BASE_PRIORITY_LOWRT 15 // value that gets a thread to LowRealtime-1 +#define THREAD_BASE_PRIORITY_MAX 2 // maximum thread base priority boost +#define THREAD_BASE_PRIORITY_MIN -2 // minimum thread base priority boost +#define THREAD_BASE_PRIORITY_IDLE -15 // value that gets a thread to idle + +#define THREAD_PRIORITY_LOWEST THREAD_BASE_PRIORITY_MIN +#define THREAD_PRIORITY_BELOW_NORMAL (THREAD_PRIORITY_LOWEST+1) +#define THREAD_PRIORITY_NORMAL 0 +#define THREAD_PRIORITY_HIGHEST THREAD_BASE_PRIORITY_MAX +#define THREAD_PRIORITY_ABOVE_NORMAL (THREAD_PRIORITY_HIGHEST-1) +#define THREAD_PRIORITY_ERROR_RETURN (MAXLONG) + +#define THREAD_PRIORITY_TIME_CRITICAL THREAD_BASE_PRIORITY_LOWRT +#define THREAD_PRIORITY_IDLE THREAD_BASE_PRIORITY_IDLE + +#define IGNORE 0 // Ignore signal +#define INFINITE 0xFFFFFFFF // Infinite timeout +#define WAIT_FAILED ((DWORD)0xFFFFFFFF) +#define STATUS_WAIT_0 ((DWORD )0x00000000L) +#define WAIT_OBJECT_0 ((STATUS_WAIT_0 ) + 0 ) +#define STATUS_PENDING ((DWORD )0x00000103L) +#define STILL_ACTIVE STATUS_PENDING + + #define INVALID_HANDLE_VALUE ((HANDLE)(ULONG_PTR)-1) // https://learn.microsoft.com/en-us/windows/win32/api/minwinbase/ns-minwinbase-filetime