From afa4efbc8513cbb8565b9700cae48648e3dffe29 Mon Sep 17 00:00:00 2001 From: daoge <3523206925@qq.com> Date: Mon, 2 Mar 2026 23:52:18 +0800 Subject: fix: fix resolution detection (#133) * fix: fix UI skin/scene resolution mismatch and readd screen resolution detection * fix: fix build in vs2022 --- Minecraft.Client/Common/UI/UIController.cpp | 8 ++++---- Minecraft.Client/Minecraft.Client.vcxproj | 6 +++--- Minecraft.Client/Windows64/Windows64_Minecraft.cpp | 13 ++----------- 3 files changed, 9 insertions(+), 18 deletions(-) (limited to 'Minecraft.Client') diff --git a/Minecraft.Client/Common/UI/UIController.cpp b/Minecraft.Client/Common/UI/UIController.cpp index eb33b6b3..87c495d2 100644 --- a/Minecraft.Client/Common/UI/UIController.cpp +++ b/Minecraft.Client/Common/UI/UIController.cpp @@ -426,7 +426,7 @@ void UIController::loadSkins() #elif defined __PSVITA__ platformSkinPath = L"skinVita.swf"; #elif defined _WINDOWS64 - if(m_fScreenHeight>=1080.0f) + if(m_fScreenHeight>720.0f) { platformSkinPath = L"skinHDWin.swf"; } @@ -435,7 +435,7 @@ void UIController::loadSkins() platformSkinPath = L"skinWin.swf"; } #elif defined _DURANGO - if(m_fScreenHeight>=1080.0f) + if(m_fScreenHeight>720.0f) { platformSkinPath = L"skinHDDurango.swf"; } @@ -444,7 +444,7 @@ void UIController::loadSkins() platformSkinPath = L"skinDurango.swf"; } #elif defined __ORBIS__ - if(m_fScreenHeight>=1080.0f) + if(m_fScreenHeight>720.0f) { platformSkinPath = L"skinHDOrbis.swf"; } @@ -455,7 +455,7 @@ void UIController::loadSkins() #endif // Every platform has one of these, so nothing shared - if(m_fScreenHeight>=1080.0f) + if(m_fScreenHeight>720.0f) { m_iggyLibraries[eLibrary_Platform] = loadSkin(platformSkinPath, L"platformskinHD.swf"); } diff --git a/Minecraft.Client/Minecraft.Client.vcxproj b/Minecraft.Client/Minecraft.Client.vcxproj index 4e8d46be..607d158c 100644 --- a/Minecraft.Client/Minecraft.Client.vcxproj +++ b/Minecraft.Client/Minecraft.Client.vcxproj @@ -1296,7 +1296,7 @@ if not exist "$(TargetDir)\savedata" mkdir "$(TargetDir)\savedata" true $(OutDir)$(ProjectName).pdb - d3d11.lib;..\Minecraft.World\x64_Debug\Minecraft.World.lib;%(AdditionalDependencies);XInput9_1_0.lib;..\Minecraft.Client\Windows64\Miles\Lib\mss64.lib + d3d11.lib;Shcore.lib;..\Minecraft.World\x64_Debug\Minecraft.World.lib;%(AdditionalDependencies);XInput9_1_0.lib;..\Minecraft.Client\Windows64\Miles\Lib\mss64.lib NotSet false MultiplyDefinedSymbolOnly @@ -1429,7 +1429,7 @@ xcopy /q /y /i /s /e $(ProjectDir)Durango\CU $(LayoutDir)Image\Loose\CU true $(OutDir)$(ProjectName).pdb - d3d11.lib;..\Minecraft.World\x64_Release\Minecraft.World.lib;XInput9_1_0.lib;Windows64\Iggy\lib\iggy_w64.lib;%(AdditionalDependencies) + d3d11.lib;Shcore.lib;..\Minecraft.World\x64_Release\Minecraft.World.lib;XInput9_1_0.lib;Windows64\Iggy\lib\iggy_w64.lib;%(AdditionalDependencies) NotSet false @@ -1474,7 +1474,7 @@ xcopy /q /y /i /s /e $(ProjectDir)Durango\CU $(LayoutDir)Image\Loose\CU true $(OutDir)$(ProjectName).pdb - d3d11.lib;..\Minecraft.World\x64_Release\Minecraft.World.lib;XInput9_1_0.lib;Windows64\Iggy\lib\iggy_w64.lib;%(AdditionalDependencies) + d3d11.lib;Shcore.lib;..\Minecraft.World\x64_Release\Minecraft.World.lib;XInput9_1_0.lib;Windows64\Iggy\lib\iggy_w64.lib;%(AdditionalDependencies) NotSet false diff --git a/Minecraft.Client/Windows64/Windows64_Minecraft.cpp b/Minecraft.Client/Windows64/Windows64_Minecraft.cpp index d822e943..3268a02b 100644 --- a/Minecraft.Client/Windows64/Windows64_Minecraft.cpp +++ b/Minecraft.Client/Windows64/Windows64_Minecraft.cpp @@ -4,6 +4,7 @@ #include "stdafx.h" #include +#include #include "GameConfig\Minecraft.spa.h" #include "..\MinecraftServer.h" #include "..\LocalPlayer.h" @@ -716,20 +717,10 @@ int APIENTRY _tWinMain(_In_ HINSTANCE hInstance, UNREFERENCED_PARAMETER(hPrevInstance); UNREFERENCED_PARAMETER(lpCmdLine); - /* - // Declare DPI awareness so GetSystemMetrics returns physical pixels - SetProcessDPIAware(); + SetProcessDpiAwareness(PROCESS_PER_MONITOR_DPI_AWARE); g_iScreenWidth = GetSystemMetrics(SM_CXSCREEN); g_iScreenHeight = GetSystemMetrics(SM_CYSCREEN); - { - char buf[128]; - sprintf(buf, "Screen resolution: %dx%d\n", g_iScreenWidth, g_iScreenHeight); - OutputDebugStringA(buf); - } - */ - - if(lpCmdLine) { if(lpCmdLine[0] == '1') -- cgit v1.2.3