From 3866e525f144f482065c1c3ebdcd2712be6578b0 Mon Sep 17 00:00:00 2001 From: str1k3r <115313679+S1l3ntStr1ke87@users.noreply.github.com> Date: Mon, 3 Aug 2026 21:55:05 -0400 Subject: [PATCH] fix(Windows64): 720p crash, Update README & .gitignore --- .gitignore | 30 ++++----- Minecraft.Client/Common/UI/UIController.cpp | 69 +++++++-------------- Minecraft.Client/Common/UI/UIController.h | 19 +----- README.md | 11 ++-- 4 files changed, 43 insertions(+), 86 deletions(-) diff --git a/.gitignore b/.gitignore index 89805a14..76482abb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,33 +1,25 @@ -/*Debug -/*Release -/*ContentPackage -/*ContentPackage_NO_TU -/*ContentPackage_SYMBOLS -/*ReleaseForArt +.vs /x64 /ipch -.vs/ +.vscode +/*Debug +/*Release* +/*ContentPackage* # Minecraft.Client -/Minecraft.Client/x64/ +/Minecraft.Client/x64 /Minecraft.Client/x64_* /Minecraft.Client/*Debug -/Minecraft.Client/*Release -/Minecraft.Client/*ContentPackage -/Minecraft.Client/*ContentPackage_NO_TU -/Minecraft.Client/*ContentPackage_SYMBOLS -/Minecraft.Client/*ReleaseForArt +/Minecraft.Client/*Release* +/Minecraft.Client/*ContentPackage* /Minecraft.Client/Windows64/GameHDD # Minecraft.world -/Minecraft.World/x64/ +/Minecraft.World/x64 /Minecraft.World/x64_* /Minecraft.World/*Debug -/Minecraft.World/*Release -/Minecraft.World/*ContentPackage -/Minecraft.World/*ContentPackage_NO_TU -/Minecraft.World/*ContentPackage_SYMBOLS -/Minecraft.World/*ReleaseForArt +/Minecraft.World/*Release* +/Minecraft.World/*ContentPackage* # PS3 SPU Tasks /Minecraft.Client/PS3/SPU_Tasks/objFiles diff --git a/Minecraft.Client/Common/UI/UIController.cpp b/Minecraft.Client/Common/UI/UIController.cpp index d7e5dadb..bec19c1c 100644 --- a/Minecraft.Client/Common/UI/UIController.cpp +++ b/Minecraft.Client/Common/UI/UIController.cpp @@ -528,58 +528,37 @@ void UIController::loadSkins() } #endif - // Every platform has one of these, so nothing shared - if(m_fScreenHeight==1080.0f) + + // str1k3r - Fixes 720p/480p Crashes on Windows64, also allows this to be used on 1080p consoles instead of just Windows64 + // This also cleans up some 4J code and turns 3 if statements into 1. + if (m_fScreenHeight >= 1080.0f) { m_iggyLibraries[eLibrary_Platform] = loadSkin(platformSkinPath, L"platformskinHD.swf"); + m_iggyLibraries[eLibrary_GraphicsDefault] = loadSkin(L"skinHDGraphics.swf", L"skinHDGraphics.swf"); + m_iggyLibraries[eLibrary_GraphicsHUD] = loadSkin(L"skinHDGraphicsHud.swf", L"skinHDGraphicsHud.swf"); + m_iggyLibraries[eLibrary_GraphicsInGame] = loadSkin(L"skinHDGraphicsInGame.swf", L"skinHDGraphicsInGame.swf"); + m_iggyLibraries[eLibrary_GraphicsTooltips] = loadSkin(L"skinHDGraphicsTooltips.swf", L"skinHDGraphicsTooltips.swf"); + m_iggyLibraries[eLibrary_GraphicsLabels] = loadSkin(L"skinHDGraphicsLabels.swf", L"skinHDGraphicsLabels.swf"); + m_iggyLibraries[eLibrary_Labels] = loadSkin(L"skinHDLabels.swf", L"skinHDLabels.swf"); + m_iggyLibraries[eLibrary_InGame] = loadSkin(L"skinHDInGame.swf", L"skinHDInGame.swf"); + m_iggyLibraries[eLibrary_HUD] = loadSkin(L"skinHDHud.swf", L"skinHDHud.swf"); + m_iggyLibraries[eLibrary_Tooltips] = loadSkin(L"skinHDTooltips.swf", L"skinHDTooltips.swf"); + m_iggyLibraries[eLibrary_Default] = loadSkin(L"skinHD.swf", L"skinHD.swf"); } else { m_iggyLibraries[eLibrary_Platform] = loadSkin(platformSkinPath, L"platformskin.swf"); + m_iggyLibraries[eLibrary_GraphicsDefault] = loadSkin(L"skinGraphics.swf", L"skinGraphics.swf"); + m_iggyLibraries[eLibrary_GraphicsHUD] = loadSkin(L"skinGraphicsHud.swf", L"skinGraphicsHud.swf"); + m_iggyLibraries[eLibrary_GraphicsInGame] = loadSkin(L"skinGraphicsInGame.swf", L"skinGraphicsInGame.swf"); + m_iggyLibraries[eLibrary_GraphicsTooltips] = loadSkin(L"skinGraphicsTooltips.swf", L"skinGraphicsTooltips.swf"); + m_iggyLibraries[eLibrary_GraphicsLabels] = loadSkin(L"skinGraphicsLabels.swf", L"skinGraphicsLabels.swf"); + m_iggyLibraries[eLibrary_Labels] = loadSkin(L"skinLabels.swf", L"skinLabels.swf"); + m_iggyLibraries[eLibrary_InGame] = loadSkin(L"skinInGame.swf", L"skinInGame.swf"); + m_iggyLibraries[eLibrary_HUD] = loadSkin(L"skinHud.swf", L"skinHud.swf"); + m_iggyLibraries[eLibrary_Tooltips] = loadSkin(L"skinTooltips.swf", L"skinTooltips.swf"); + m_iggyLibraries[eLibrary_Default] = loadSkin(L"skin.swf", L"skin.swf"); } - -#if defined(__PS3__) || defined(__PSVITA__) - m_iggyLibraries[eLibrary_GraphicsDefault] = loadSkin(L"skinGraphics.swf", L"skinGraphics.swf"); - m_iggyLibraries[eLibrary_GraphicsHUD] = loadSkin(L"skinGraphicsHud.swf", L"skinGraphicsHud.swf"); - m_iggyLibraries[eLibrary_GraphicsInGame] = loadSkin(L"skinGraphicsInGame.swf", L"skinGraphicsInGame.swf"); - m_iggyLibraries[eLibrary_GraphicsTooltips] = loadSkin(L"skinGraphicsTooltips.swf", L"skinGraphicsTooltips.swf"); - m_iggyLibraries[eLibrary_GraphicsLabels] = loadSkin(L"skinGraphicsLabels.swf", L"skinGraphicsLabels.swf"); - m_iggyLibraries[eLibrary_Labels] = loadSkin(L"skinLabels.swf", L"skinLabels.swf"); - m_iggyLibraries[eLibrary_InGame] = loadSkin(L"skinInGame.swf", L"skinInGame.swf"); - m_iggyLibraries[eLibrary_HUD] = loadSkin(L"skinHud.swf", L"skinHud.swf"); - m_iggyLibraries[eLibrary_Tooltips] = loadSkin(L"skinTooltips.swf", L"skinTooltips.swf"); - m_iggyLibraries[eLibrary_Default] = loadSkin(L"skin.swf", L"skin.swf"); -#endif - -#if ( defined(_WINDOWS64) || defined(_DURANGO) || defined(__ORBIS__) ) - -#if defined(_WINDOWS64) - // 4J Stu - Load the 720/480 skins so that we have something to fallback on during development -#ifndef _FINAL_BUILD - m_iggyLibraries[eLibraryFallback_GraphicsDefault] = loadSkin(L"skinGraphics.swf", L"skinGraphics.swf"); - m_iggyLibraries[eLibraryFallback_GraphicsHUD] = loadSkin(L"skinGraphicsHud.swf", L"skinGraphicsHud.swf"); - m_iggyLibraries[eLibraryFallback_GraphicsInGame] = loadSkin(L"skinGraphicsInGame.swf", L"skinGraphicsInGame.swf"); - m_iggyLibraries[eLibraryFallback_GraphicsTooltips] = loadSkin(L"skinGraphicsTooltips.swf", L"skinGraphicsTooltips.swf"); - m_iggyLibraries[eLibraryFallback_GraphicsLabels] = loadSkin(L"skinGraphicsLabels.swf", L"skinGraphicsLabels.swf"); - m_iggyLibraries[eLibraryFallback_Labels] = loadSkin(L"skinLabels.swf", L"skinLabels.swf"); - m_iggyLibraries[eLibraryFallback_InGame] = loadSkin(L"skinInGame.swf", L"skinInGame.swf"); - m_iggyLibraries[eLibraryFallback_HUD] = loadSkin(L"skinHud.swf", L"skinHud.swf"); - m_iggyLibraries[eLibraryFallback_Tooltips] = loadSkin(L"skinTooltips.swf", L"skinTooltips.swf"); - m_iggyLibraries[eLibraryFallback_Default] = loadSkin(L"skin.swf", L"skin.swf"); -#endif -#endif - - m_iggyLibraries[eLibrary_GraphicsDefault] = loadSkin(L"skinHDGraphics.swf", L"skinHDGraphics.swf"); - m_iggyLibraries[eLibrary_GraphicsHUD] = loadSkin(L"skinHDGraphicsHud.swf", L"skinHDGraphicsHud.swf"); - m_iggyLibraries[eLibrary_GraphicsInGame] = loadSkin(L"skinHDGraphicsInGame.swf", L"skinHDGraphicsInGame.swf"); - m_iggyLibraries[eLibrary_GraphicsTooltips] = loadSkin(L"skinHDGraphicsTooltips.swf", L"skinHDGraphicsTooltips.swf"); - m_iggyLibraries[eLibrary_GraphicsLabels] = loadSkin(L"skinHDGraphicsLabels.swf", L"skinHDGraphicsLabels.swf"); - m_iggyLibraries[eLibrary_Labels] = loadSkin(L"skinHDLabels.swf", L"skinHDLabels.swf"); - m_iggyLibraries[eLibrary_InGame] = loadSkin(L"skinHDInGame.swf", L"skinHDInGame.swf"); - m_iggyLibraries[eLibrary_HUD] = loadSkin(L"skinHDHud.swf", L"skinHDHud.swf"); - m_iggyLibraries[eLibrary_Tooltips] = loadSkin(L"skinHDTooltips.swf", L"skinHDTooltips.swf"); - m_iggyLibraries[eLibrary_Default] = loadSkin(L"skinHD.swf", L"skinHD.swf"); -#endif // HD platforms } IggyLibrary UIController::loadSkin(const wstring &skinPath, const wstring &skinName) diff --git a/Minecraft.Client/Common/UI/UIController.h b/Minecraft.Client/Common/UI/UIController.h index 289c12b0..2a81694f 100644 --- a/Minecraft.Client/Common/UI/UIController.h +++ b/Minecraft.Client/Common/UI/UIController.h @@ -96,24 +96,7 @@ private: eLibrary_HUD, eLibrary_Tooltips, eLibrary_Default, - -#if ( defined(_WINDOWS64) ) - // 4J Stu - Load the 720/480 skins so that we have something to fallback on during development -#ifndef _FINAL_BUILD - eLibraryFallback_Platform, - eLibraryFallback_GraphicsDefault, - eLibraryFallback_GraphicsHUD, - eLibraryFallback_GraphicsInGame, - eLibraryFallback_GraphicsTooltips, - eLibraryFallback_GraphicsLabels, - eLibraryFallback_Labels, - eLibraryFallback_InGame, - eLibraryFallback_HUD, - eLibraryFallback_Tooltips, - eLibraryFallback_Default, -#endif -#endif - + eLibrary_Count, }; diff --git a/README.md b/README.md index 6fc18557..e67ea8e8 100644 --- a/README.md +++ b/README.md @@ -7,13 +7,16 @@ Cafeberry is a project aiming to update the December 17th 2014 codebase (mostly) | Platform | Development Status | Known Issues | | :------------- | :-------------------- | :------------------------------------------------------------------------ | | PS3 | Active | SPU variants for TU19 blocks are missing, needs to be further optimized. | -| Xbox 360 | On hold | Havent tested, should work? | -| PS4 | Active | Only buildable on Windows 7 With 1.70 SDK. See Notes | +| Xbox 360 | Active | Works, Crashes when using updated XUI Scenes. See Notes | +| PS4 | Active | Only Easily buildable on Windows 7. See Notes | | Xbox One | On hold | Needs to be re-coded to run on Developer Mode UWP instead. | -| PS Vita | Active | Only buildable on Windows 7 With 3.75 SDK. | +| PSVita | Active | Buildable With 3.570 or 3.750 SDK. | | Wii U & Switch | Work in progress | UI System (ImXui) is still in progress, need to decompile the rest. | **Notes:** - **PS4:** Can't be built on Windows 10+ because the 1.70 SDK only supports Windows 7, solutions: 1. Attempt to add support for 4.50 SDK (difficult or unlikely to work) - 2. Getting the 1.70 SDK on Windows 10+ (annoying to do) \ No newline at end of file + 2. Force the 1.70 SDK on Windows 10+ (Takes 5-15m) +- **Xbox 360:** Needs XUI Scenes from TU18+, solutions: + 1. Get XURS from built .xex's and turn them back into XUI file's + 2. Recreate XUI scenes based off of Iggy scenes from TU57+ \ No newline at end of file