mirror of
https://github.com/tangerineturtle1/NX2navi.git
synced 2026-11-15 17:09:57 -04:00
Log a mod folder that cannot be listed, and let the game take long paths where Windows allows them.
A folder in a mod's RomFS that could not be listed (no permission, or a path longer than 260 characters, as a mod deep in a long game folder makes) lost its files without a word in the log; the walk now names it. The manifest asks for long path support, so where Windows has it switched on (LongPathsEnabled) those files are served. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -5,7 +5,11 @@
|
||||
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). -->
|
||||
change of the window's DPI (WM_GETDPISCALEDSIZE, WM_DPICHANGED).
|
||||
longPathAware lets the wide file functions of platform/win32.c take paths longer than 260 characters (a mod's
|
||||
files deep in a long game folder) where Windows has long paths switched on (LongPathsEnabled); elsewhere it does
|
||||
nothing. -->
|
||||
|
||||
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
|
||||
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<security>
|
||||
@@ -19,6 +23,7 @@
|
||||
<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>
|
||||
<longPathAware xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">true</longPathAware>
|
||||
</windowsSettings>
|
||||
</application>
|
||||
</assembly>
|
||||
|
||||
@@ -455,7 +455,10 @@ static int mod_walk_cb(const char *leaf, int kind, uint64_t size, void *ctx) {
|
||||
// The files under dir (a mod's RomFS root; rel: the RomFS path of dir, "" at the root) as overlays of mod k.
|
||||
static void mod_walk(int k, int prio, const char *dir, const char *rel) {
|
||||
ModWalk w = {k, prio, dir, rel};
|
||||
plat_fs_list(dir, mod_walk_cb, &w);
|
||||
// a folder that cannot be listed (no permission, a path longer than Windows allows) loses its files: say so
|
||||
if (plat_fs_list(dir, mod_walk_cb, &w) != PLAT_FS_OK)
|
||||
rt_log("mods: %s: cannot list %s (error %d); its files are left out", mods_at(k)->name, dir,
|
||||
plat_fs_os_error());
|
||||
}
|
||||
|
||||
// What overlays compete on: the RomFS index, an added file's path; the higher prio first.
|
||||
|
||||
Reference in New Issue
Block a user