fix: fix resolution detection (#133)

* fix: fix UI skin/scene resolution mismatch and readd screen resolution detection

* fix: fix build in vs2022
This commit is contained in:
daoge
2026-03-02 23:52:18 +08:00
committed by GitHub
parent 2145ada7ce
commit afa4efbc85
5 changed files with 11 additions and 18 deletions

View File

@@ -54,6 +54,7 @@ target_link_libraries(MinecraftClient PRIVATE
MinecraftWorld MinecraftWorld
d3d11 d3d11
XInput9_1_0 XInput9_1_0
Shcore
"${CMAKE_CURRENT_SOURCE_DIR}/Minecraft.Client/Windows64/Iggy/lib/iggy_w64.lib" "${CMAKE_CURRENT_SOURCE_DIR}/Minecraft.Client/Windows64/Iggy/lib/iggy_w64.lib"
"${CMAKE_CURRENT_SOURCE_DIR}/Minecraft.Client/Windows64/Miles/lib/mss64.lib" "${CMAKE_CURRENT_SOURCE_DIR}/Minecraft.Client/Windows64/Miles/lib/mss64.lib"
$<$<CONFIG:Debug>: $<$<CONFIG:Debug>:

View File

@@ -426,7 +426,7 @@ void UIController::loadSkins()
#elif defined __PSVITA__ #elif defined __PSVITA__
platformSkinPath = L"skinVita.swf"; platformSkinPath = L"skinVita.swf";
#elif defined _WINDOWS64 #elif defined _WINDOWS64
if(m_fScreenHeight>=1080.0f) if(m_fScreenHeight>720.0f)
{ {
platformSkinPath = L"skinHDWin.swf"; platformSkinPath = L"skinHDWin.swf";
} }
@@ -435,7 +435,7 @@ void UIController::loadSkins()
platformSkinPath = L"skinWin.swf"; platformSkinPath = L"skinWin.swf";
} }
#elif defined _DURANGO #elif defined _DURANGO
if(m_fScreenHeight>=1080.0f) if(m_fScreenHeight>720.0f)
{ {
platformSkinPath = L"skinHDDurango.swf"; platformSkinPath = L"skinHDDurango.swf";
} }
@@ -444,7 +444,7 @@ void UIController::loadSkins()
platformSkinPath = L"skinDurango.swf"; platformSkinPath = L"skinDurango.swf";
} }
#elif defined __ORBIS__ #elif defined __ORBIS__
if(m_fScreenHeight>=1080.0f) if(m_fScreenHeight>720.0f)
{ {
platformSkinPath = L"skinHDOrbis.swf"; platformSkinPath = L"skinHDOrbis.swf";
} }
@@ -455,7 +455,7 @@ void UIController::loadSkins()
#endif #endif
// Every platform has one of these, so nothing shared // 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"); m_iggyLibraries[eLibrary_Platform] = loadSkin(platformSkinPath, L"platformskinHD.swf");
} }

View File

@@ -1296,7 +1296,7 @@ if not exist "$(TargetDir)\savedata" mkdir "$(TargetDir)\savedata"</Command>
<Link> <Link>
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile> <ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
<AdditionalDependencies>d3d11.lib;..\Minecraft.World\x64_Debug\Minecraft.World.lib;%(AdditionalDependencies);XInput9_1_0.lib;..\Minecraft.Client\Windows64\Miles\Lib\mss64.lib</AdditionalDependencies> <AdditionalDependencies>d3d11.lib;Shcore.lib;..\Minecraft.World\x64_Debug\Minecraft.World.lib;%(AdditionalDependencies);XInput9_1_0.lib;..\Minecraft.Client\Windows64\Miles\Lib\mss64.lib</AdditionalDependencies>
<ShowProgress>NotSet</ShowProgress> <ShowProgress>NotSet</ShowProgress>
<SuppressStartupBanner>false</SuppressStartupBanner> <SuppressStartupBanner>false</SuppressStartupBanner>
<ForceFileOutput>MultiplyDefinedSymbolOnly</ForceFileOutput> <ForceFileOutput>MultiplyDefinedSymbolOnly</ForceFileOutput>
@@ -1429,7 +1429,7 @@ xcopy /q /y /i /s /e $(ProjectDir)Durango\CU $(LayoutDir)Image\Loose\CU</Comman
<Link> <Link>
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile> <ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
<AdditionalDependencies>d3d11.lib;..\Minecraft.World\x64_Release\Minecraft.World.lib;XInput9_1_0.lib;Windows64\Iggy\lib\iggy_w64.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>d3d11.lib;Shcore.lib;..\Minecraft.World\x64_Release\Minecraft.World.lib;XInput9_1_0.lib;Windows64\Iggy\lib\iggy_w64.lib;%(AdditionalDependencies)</AdditionalDependencies>
<ShowProgress>NotSet</ShowProgress> <ShowProgress>NotSet</ShowProgress>
<SuppressStartupBanner>false</SuppressStartupBanner> <SuppressStartupBanner>false</SuppressStartupBanner>
</Link> </Link>
@@ -1474,7 +1474,7 @@ xcopy /q /y /i /s /e $(ProjectDir)Durango\CU $(LayoutDir)Image\Loose\CU</Comman
<Link> <Link>
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile> <ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
<AdditionalDependencies>d3d11.lib;..\Minecraft.World\x64_Release\Minecraft.World.lib;XInput9_1_0.lib;Windows64\Iggy\lib\iggy_w64.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>d3d11.lib;Shcore.lib;..\Minecraft.World\x64_Release\Minecraft.World.lib;XInput9_1_0.lib;Windows64\Iggy\lib\iggy_w64.lib;%(AdditionalDependencies)</AdditionalDependencies>
<ShowProgress>NotSet</ShowProgress> <ShowProgress>NotSet</ShowProgress>
<SuppressStartupBanner>false</SuppressStartupBanner> <SuppressStartupBanner>false</SuppressStartupBanner>
</Link> </Link>

View File

@@ -4,6 +4,7 @@
#include "stdafx.h" #include "stdafx.h"
#include <assert.h> #include <assert.h>
#include <ShellScalingApi.h>
#include "GameConfig\Minecraft.spa.h" #include "GameConfig\Minecraft.spa.h"
#include "..\MinecraftServer.h" #include "..\MinecraftServer.h"
#include "..\LocalPlayer.h" #include "..\LocalPlayer.h"
@@ -716,20 +717,10 @@ int APIENTRY _tWinMain(_In_ HINSTANCE hInstance,
UNREFERENCED_PARAMETER(hPrevInstance); UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine); UNREFERENCED_PARAMETER(lpCmdLine);
/* SetProcessDpiAwareness(PROCESS_PER_MONITOR_DPI_AWARE);
// Declare DPI awareness so GetSystemMetrics returns physical pixels
SetProcessDPIAware();
g_iScreenWidth = GetSystemMetrics(SM_CXSCREEN); g_iScreenWidth = GetSystemMetrics(SM_CXSCREEN);
g_iScreenHeight = GetSystemMetrics(SM_CYSCREEN); 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)
{ {
if(lpCmdLine[0] == '1') if(lpCmdLine[0] == '1')

View File

@@ -16,6 +16,7 @@ This project contains the source code of Minecraft Legacy Console Edition v1.3.0
- Added support for keyboard and mouse input - Added support for keyboard and mouse input
- Added fullscreen mode support (toggle using F11) - Added fullscreen mode support (toggle using F11)
- Disabled V-Sync for better performance - Disabled V-Sync for better performance
- Device's screen resolution will be used as the game resolution instead of using a fixed resolution (1920x1080)
## Controls (Keyboard & Mouse) ## Controls (Keyboard & Mouse)