diff options
| author | daoge_cmd <3523206925@qq.com> | 2026-03-01 21:22:02 +0800 |
|---|---|---|
| committer | daoge_cmd <3523206925@qq.com> | 2026-03-01 21:22:02 +0800 |
| commit | 8b1dafd36151cb319e3ef77f778fcbb2f9348d60 (patch) | |
| tree | e45d6cc1b7f836aae53bbdfc5519a5fc2bd34209 /Minecraft.Client | |
| parent | f90c74d9a3cb5501fe3279bbf9b0186d69f27b7d (diff) | |
feat: add DPI awareness and auto-detect screen resolution
Diffstat (limited to 'Minecraft.Client')
| -rw-r--r-- | Minecraft.Client/Common/UI/UIController.cpp | 18 | ||||
| -rw-r--r-- | Minecraft.Client/Windows64/Windows64_Minecraft.cpp | 11 |
2 files changed, 20 insertions, 9 deletions
diff --git a/Minecraft.Client/Common/UI/UIController.cpp b/Minecraft.Client/Common/UI/UIController.cpp index 8045695e..241f6835 100644 --- a/Minecraft.Client/Common/UI/UIController.cpp +++ b/Minecraft.Client/Common/UI/UIController.cpp @@ -426,36 +426,36 @@ void UIController::loadSkins() #elif defined __PSVITA__ platformSkinPath = L"skinVita.swf"; #elif defined _WINDOWS64 - if(m_fScreenHeight==1080.0f) + if(m_fScreenHeight>=1080.0f) { platformSkinPath = L"skinHDWin.swf"; } else { - platformSkinPath = L"skinWin.swf"; + platformSkinPath = L"skinWin.swf"; } #elif defined _DURANGO - if(m_fScreenHeight==1080.0f) + if(m_fScreenHeight>=1080.0f) { - platformSkinPath = L"skinHDDurango.swf"; + platformSkinPath = L"skinHDDurango.swf"; } else { - platformSkinPath = L"skinDurango.swf"; + platformSkinPath = L"skinDurango.swf"; } #elif defined __ORBIS__ - if(m_fScreenHeight==1080.0f) + if(m_fScreenHeight>=1080.0f) { - platformSkinPath = L"skinHDOrbis.swf"; + platformSkinPath = L"skinHDOrbis.swf"; } else { - platformSkinPath = L"skinOrbis.swf"; + platformSkinPath = L"skinOrbis.swf"; } #endif // Every platform has one of these, so nothing shared - if(m_fScreenHeight==1080.0f) + if(m_fScreenHeight>=1080.0f) { m_iggyLibraries[eLibrary_Platform] = loadSkin(platformSkinPath, L"platformskinHD.swf"); } diff --git a/Minecraft.Client/Windows64/Windows64_Minecraft.cpp b/Minecraft.Client/Windows64/Windows64_Minecraft.cpp index cc589771..472d10a6 100644 --- a/Minecraft.Client/Windows64/Windows64_Minecraft.cpp +++ b/Minecraft.Client/Windows64/Windows64_Minecraft.cpp @@ -698,6 +698,17 @@ int APIENTRY _tWinMain(_In_ HINSTANCE hInstance, UNREFERENCED_PARAMETER(hPrevInstance); UNREFERENCED_PARAMETER(lpCmdLine); + // Declare DPI awareness so GetSystemMetrics returns physical pixels + SetProcessDPIAware(); + 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') |
