mirror of
https://github.com/valentderah/totk-pc-recomp.git
synced 2026-11-11 01:41:02 +00:00
The manifest declared no DPI awareness, so Windows ran the process DPI-unaware: on a 4K monitor at 150% scale the fullscreen window and its swapchain were 2560x1440, the 4K game image was shrunk to it and Windows stretched the result back up, blurred (issues #25, #56, #31). The manifest now declares PerMonitorV2 (true/pm for older Windows 10). The window frame is measured at the window's DPI, a framed window keeps its client size when it moves to a monitor at another scale, WM_DPICHANGED takes the suggested rect or keeps fullscreen over the monitor, and window_size means screen pixels. The menu's minimum text size follows the window's DPI, and the text entry dialog is measured at the game window's DPI. --probe-dpi prints the process awareness and fails unless it is per-monitor v2. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
25 lines
1.5 KiB
XML
25 lines
1.5 KiB
XML
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
<!-- Embedded by totk.rc. activeCodePage makes UTF-8 the process code page (Windows 10 1903 and later): the narrow file
|
|
functions (fopen, CreateFileA, GetModuleFileNameA) and getenv then carry UTF-8, the same encoding platform/win32.c
|
|
and fs_host.c convert with, so an install folder or user profile with a non-ASCII name works.
|
|
dpiAwareness PerMonitorV2 (dpiAware true/pm on Windows 10 before 1607): window, monitor and cursor sizes are physical
|
|
pixels and the swapchain matches the screen. A DPI-unaware process gets them divided by the display scale and its
|
|
image stretched back up by Windows, so 4K at 150% presented a 2560x1440 image, blurred. gfx_window.c follows a
|
|
change of the window's DPI (WM_GETDPISCALEDSIZE, WM_DPICHANGED). -->
|
|
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
|
|
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
|
|
<security>
|
|
<requestedPrivileges>
|
|
<requestedExecutionLevel level="asInvoker"/>
|
|
</requestedPrivileges>
|
|
</security>
|
|
</trustInfo>
|
|
<application xmlns="urn:schemas-microsoft-com:asm.v3">
|
|
<windowsSettings>
|
|
<activeCodePage xmlns="http://schemas.microsoft.com/SMI/2019/WindowsSettings">UTF-8</activeCodePage>
|
|
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true/pm</dpiAware>
|
|
<dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitorV2, PerMonitor</dpiAwareness>
|
|
</windowsSettings>
|
|
</application>
|
|
</assembly>
|