v1.1.0 — SD card recovery, 25 new filesystem types, UI theme overhaul

- SD card recovery tool: detects and repairs cards Windows can't see,
  including mid-format failures, corrupted partition tables, RAW media.
  Uses IOCTL_DISK_CREATE_DISK + IOCTL_DISK_SET_DRIVE_LAYOUT_EX directly.
- 25 new filesystem types: F2FS, JFFS2, NILFS2, FATX, STFS, GDFX, PS2MC,
  VHD, VHDX, VMDK, QCOW2, VDI, RVZ, WUA, WBFS, NRG, CDFS, HDFS + more
- Detection routines for all new types with correct magic number signatures
- UI theme: bright green replaced with pale grayish peach, all text white
- hwdiag rebuilt in Release mode; added build_hwdiag_release.bat
- garbage.xtx auto-copied to build output directory post-build
This commit is contained in:
DigiJ
2026-03-11 23:56:12 -07:00
parent ff643d23f6
commit 6e40691548
17 changed files with 1592 additions and 35 deletions

60
build_hwdiag_release.bat Normal file
View File

@@ -0,0 +1,60 @@
@echo off
setlocal EnableDelayedExpansion
set "MSVC_VER=14.44.35207"
set "WINSDK_VER=10.0.26100.0"
set "VSDIR=C:\Program Files\Microsoft Visual Studio\2022\Professional"
set "VCDIR=%VSDIR%\VC\Tools\MSVC\%MSVC_VER%"
set "SDKDIR=C:\Program Files (x86)\Windows Kits\10"
set "PATH=%VCDIR%\bin\Hostx64\x64;%SDKDIR%\bin\%WINSDK_VER%\x64;C:\Qt\Tools\Ninja;C:\Program Files\CMake\bin;C:\Qt\6.10.0\msvc2022_64\bin;C:\Windows\System32;C:\Windows;C:\Program Files\Git\cmd"
set "INCLUDE=%VCDIR%\include;%SDKDIR%\Include\%WINSDK_VER%\ucrt;%SDKDIR%\Include\%WINSDK_VER%\um;%SDKDIR%\Include\%WINSDK_VER%\shared;%SDKDIR%\Include\%WINSDK_VER%\winrt"
set "LIB=%VCDIR%\lib\x64;%SDKDIR%\Lib\%WINSDK_VER%\ucrt\x64;%SDKDIR%\Lib\%WINSDK_VER%\um\x64"
set "HWDIAG_DIR=%~dp0third_party\hwdiag"
set "INTERNAL=%HWDIAG_DIR%\internal"
set "SRC_ROOT=%~dp0src"
echo === Copying internal sources ===
copy /Y "%SRC_ROOT%\ui\dialogs\AstroChicken.h" "%INTERNAL%\" >nul 2>&1
copy /Y "%SRC_ROOT%\ui\dialogs\AstroChicken.cpp" "%INTERNAL%\" >nul 2>&1
copy /Y "%SRC_ROOT%\ui\dialogs\Vohaul.h" "%INTERNAL%\" >nul 2>&1
copy /Y "%SRC_ROOT%\ui\dialogs\Vohaul.cpp" "%INTERNAL%\" >nul 2>&1
copy /Y "%SRC_ROOT%\ui\dialogs\Arnoid.h" "%INTERNAL%\" >nul 2>&1
copy /Y "%SRC_ROOT%\ui\dialogs\Arnoid.cpp" "%INTERNAL%\" >nul 2>&1
copy /Y "%SRC_ROOT%\ui\tabs\StarGenerator.h" "%INTERNAL%\" >nul 2>&1
copy /Y "%SRC_ROOT%\ui\tabs\StarGenerator.cpp" "%INTERNAL%\" >nul 2>&1
copy /Y "%SRC_ROOT%\core\security\OratDecoder.h" "%INTERNAL%\" >nul 2>&1
copy /Y "%SRC_ROOT%\core\security\OratDecoder.cpp" "%INTERNAL%\" >nul 2>&1
echo === Configuring hwdiag (Release) ===
cmake -B "%HWDIAG_DIR%\build_rel" -S "%HWDIAG_DIR%" ^
-G Ninja ^
-DCMAKE_BUILD_TYPE=Release ^
-DCMAKE_PREFIX_PATH=C:\Qt\6.10.0\msvc2022_64 ^
-DCMAKE_MAKE_PROGRAM=C:\Qt\Tools\Ninja\ninja.exe
if %ERRORLEVEL% NEQ 0 (
echo CONFIGURE FAILED
goto cleanup
)
echo === Building hwdiag (Release) ===
cmake --build "%HWDIAG_DIR%\build_rel"
if %ERRORLEVEL% NEQ 0 (
echo BUILD FAILED
goto cleanup
)
echo === hwdiag Release library built successfully ===
echo Output: %HWDIAG_DIR%\lib\spw_hwdiag.lib
:cleanup
echo === Cleaning up internal sources ===
del /f /q "%INTERNAL%\*.h" >nul 2>&1
del /f /q "%INTERNAL%\*.cpp" >nul 2>&1
rmdir /s /q "%HWDIAG_DIR%\build_rel" >nul 2>&1
echo === Done ===
endlocal