From 2f5bdc9bb63d8018d79980fa7749b9792fc40452 Mon Sep 17 00:00:00 2001 From: niklascfw Date: Tue, 3 Nov 2026 21:13:18 +0100 Subject: [PATCH] Install the HWTest SD folder on payload and desktop. HWTest 0.15 only opens its GUI when sd:/hwtest is present, so clean and update installs now replace and copy that directory. --- .../OmniNX.DesktopInstaller/Data/DeletionLists.Generated.cs | 2 ++ desktop/OmniNX.DesktopInstaller/Services/InstallEngine.cs | 3 ++- source/deletion_lists_clean.h | 1 + source/deletion_lists_update.h | 1 + source/install_update.c | 4 ++++ 5 files changed, 10 insertions(+), 1 deletion(-) diff --git a/desktop/OmniNX.DesktopInstaller/Data/DeletionLists.Generated.cs b/desktop/OmniNX.DesktopInstaller/Data/DeletionLists.Generated.cs index ce98b8d..8fadc98 100644 --- a/desktop/OmniNX.DesktopInstaller/Data/DeletionLists.Generated.cs +++ b/desktop/OmniNX.DesktopInstaller/Data/DeletionLists.Generated.cs @@ -82,6 +82,7 @@ public static partial class DeletionLists { @"argon", @"games", + @"hwtest", @"NSPs (Tools)", @"Patched Apps", @"SaltySD\flags", @@ -384,6 +385,7 @@ public static partial class DeletionLists { @"argon", @"games", + @"hwtest", @"NSPs (Tools)", @"Patched Apps", @"SaltySD\flags", diff --git a/desktop/OmniNX.DesktopInstaller/Services/InstallEngine.cs b/desktop/OmniNX.DesktopInstaller/Services/InstallEngine.cs index 175a037..2a81f67 100644 --- a/desktop/OmniNX.DesktopInstaller/Services/InstallEngine.cs +++ b/desktop/OmniNX.DesktopInstaller/Services/InstallEngine.cs @@ -112,6 +112,7 @@ public sealed class InstallEngine CopyFolderIfExists(staging, driveRoot, "switch", progress); CopyFolderIfExists(staging, driveRoot, "themes", progress); CopyFolderIfExists(staging, driveRoot, "warmboot_mariko", progress); + CopyFolderIfExists(staging, driveRoot, "hwtest", progress); if (variant == OmniNxVariant.Oc) CopyFolderIfExists(staging, driveRoot, "SaltySD", progress); @@ -153,7 +154,7 @@ public sealed class InstallEngine var skipDirs = new HashSet(StringComparer.OrdinalIgnoreCase) { "atmosphere", "bootloader", "config", "switch", "themes", - "warmboot_mariko", "SaltySD", "extras", + "warmboot_mariko", "hwtest", "SaltySD", "extras", }; foreach (var file in Directory.GetFiles(staging)) diff --git a/source/deletion_lists_clean.h b/source/deletion_lists_clean.h index 2ef50e0..72635df 100644 --- a/source/deletion_lists_clean.h +++ b/source/deletion_lists_clean.h @@ -88,6 +88,7 @@ static const char* clean_root_files_to_delete[] = { static const char* clean_misc_dirs_to_delete[] = { "sd:/argon", "sd:/games", + "sd:/hwtest", "sd:/NSPs (Tools)", "sd:/Patched Apps", "sd:/SaltySD/flags", diff --git a/source/deletion_lists_update.h b/source/deletion_lists_update.h index 2ccba7f..d96e533 100644 --- a/source/deletion_lists_update.h +++ b/source/deletion_lists_update.h @@ -272,6 +272,7 @@ static const char* root_files_to_delete[] = { static const char* misc_dirs_to_delete[] = { "sd:/argon", "sd:/games", + "sd:/hwtest", "sd:/NSPs (Tools)", "sd:/Patched Apps", "sd:/SaltySD/flags", diff --git a/source/install_update.c b/source/install_update.c index 4029f50..28a87bc 100644 --- a/source/install_update.c +++ b/source/install_update.c @@ -113,6 +113,10 @@ int update_mode_install(omninx_variant_t variant) { res = folder_copy_with_progress_v2(src_path, "sd:/", "warmboot_mariko/"); if (res != FR_OK && res != FR_NO_FILE) return res; + s_printf(src_path, "%s/hwtest", staging); + res = folder_copy_with_progress_v2(src_path, "sd:/", "hwtest/"); + if (res != FR_OK && res != FR_NO_FILE) return res; + if (variant == VARIANT_OC) { s_printf(src_path, "%s/SaltySD", staging); res = folder_copy_with_progress_v2(src_path, "sd:/", "SaltySD/");