Simple Launcher est une interface moderne pour émulateurs qui facilite le lancement de jeux rétro et ajoute surtout un support CHD universel grâce à son module CHDMounter, permettant d’utiliser des fichiers CHD même avec des émulateurs qui ne les prennent pas en charge nativement, comme RPCS3, Xenia , Xemu ou autres.

Les changements sont les suivants:
New System Support
– Commander Genius — Added support for the Commander Keen engine recreation, including an intelligent launch strategy that:Automatically parses the cgenius.cfg config to resolve the data/games directory.
– Handles ${HOME} and ${BIN} variable expansion in config paths.
– Extracts ZIP/7z/RAR archives and automatically locates Keen game data files (.CK1–.CK6).
– Flattens nested folder structures and cleans up temp files after launch.
– Includes dedicated system image and setup documentation.
Improved DOSBox Support
– Full DOSBox launch strategy with intelligent game file detection — automatically finds .conf, .bat, .exe, and .com files inside archives or folders.
– ISO and CHD support for DOSBox — Mounts ISO files to scan for executables, then generates a DOSBox config with native imgmount commands. CHD files are mounted via CHDMounter and launched via DOSBox cdrom mount.
– DOSBox file selection dialog — When multiple game files are found, presents a clean selection window with file names and relative paths.
– « Group Files by Folder » extended to DOSBox — Now works with DOSBox-based emulators (DOSBox, DOSBox-X, DOSBox Staging, dosbox-pure).
– -conf %ROM% auto-injection — Automatically inserts the -conf flag when launching via DOSBox if not already present.
UI/UX Improvements
– New minimize-to-tray function — Allow Simple Launcher to remain open in the tray.
– System context menu — Right-click on system buttons now shows Edit and Delete actions, passing the pre-selected system name.
– Markdown rendering enhancements — Improved Markdown styling with proper headings, code blocks, tables, lists, blockquotes, and horizontal rules in release notes and help content.
New Parameter Placeholder
– %NAME% — Resolves to the ROM filename without path or extension. Useful for emulators that expect just the game name (e.g., Commander Genius dir= »games/%NAME% »).
Improved Error Handling
– Batch file error reporting — Batch file failures now show a detailed error dialog with the option to open the error log. Batch file contents are also logged on failure for easier debugging.
– Batch file working directory validation — Validates that the working directory exists before executing batch files.
– Unicode normalization for file paths — Files created on macOS (NFD) can now be found on Windows (NFC) by trying multiple Unicode normalization forms, preventing « file not found » errors.
– Access denied handling for Updater — The updater now handles Win32 access denied errors gracefully with a user-friendly message and download page redirect.
– COMException rendering detection — Detects WPF render thread failures (UCEERR_RENDERTHREADFAILURE) caused by GPU driver issues or per-pixel transparency.
HTTP Resilience
– Replaced custom retry logic with Polly resilience handler — HTTP downloads now use Microsoft.Extensions.Http.Resilience with exponential backoff and jitter (5 retry attempts, 2-second base delay).
Single Instance Improvements
– Improved single-instance behavior — Launching a second instance now restores the existing window instead of showing an error message. Uses named events for cross-process signaling with a fallback to window enumeration.
Sound Service
– Replaced Windows MediaPlayer with NAudio 2.3.0 — Sound playback no longer requires UI thread dispatcher invocations, improving reliability and eliminating thread-affinity issues.
– Registered IPlaySoundEffects interface — Added proper DI registration for sound effects service.
MVVM Migration to CommunityToolkit.Mvvm
– Migrated all ViewModels from custom ViewModelBase and RelayCommand infrastructure to CommunityToolkit.Mvvm 8.4.2.
– Created dedicated ViewModels for AboutWindow (AboutViewModel), ImageViewer (ImageViewerViewModel), SetFuzzyMatching (SetFuzzyMatchingViewModel), DebugWindow, and GlobalStatsWindow.
– Added unit tests for DebugViewModel, GameVerificationViewModel, and GlobalStatsViewModel.
Service Extraction from MainWindow
– LoadingOverlayService — Extracted loading overlay management with operation counting (SetLoadingState, EmergencyRelease).
– StartupInitializationService — Consolidated startup logic (first-run wizard, MS Store scanning, game loading).
– GameListUIService — Extracted UI state management (grid/list mode, game button image cleanup, pagination).
– ThemeMenuService — Extracted theme switching logic (base themes + accent colors).
– LanguageMenuService — Extracted language switching with checkmark management.
Code Refactoring
– Injected ILogErrors via constructor/parameter — Replaced ServiceProvider resolution with proper constructor and parameter injection across favorites page, global search, context menu services, game button factory, and mount services.
– Standardized emulator detection checks — Unified null-conditional access pattern for emulator detection checks (Azahar, Citra, DuckStation, Geolith, MAME, Ootake, Raine, RetroArch, Sameboy, Xemu).
Dokan Driver Validation
– New DokanValidation class — Uses P/Invoke directly against dokan2.dll to check if Dokan is installed before any mount operation.
– Provides clear error messages when Dokan is missing for ZIP/CHD mounts.
– Dokan localization — Added localized strings for Dokan driver not found dialog with option to open download page.
Dependency Updates
– CommunityToolkit.Mvvm 8.4.2 (new)
– NAudio 2.3.0 (new, replaces Windows MediaPlayer)
– Microsoft.Extensions.Http.Resilience 10.6.0 (new, Polly resilience handler)
– MessagePack 3.1.4 → 3.1.6
– YamlDotNet 17.1.0 → 18.0.0
– SharpCompress → 0.48.1
– Tomlyn 2.3.2 → 2.4.0
– Microsoft.Data.Sqlite 10.0.7 → 10.0.8
– Microsoft.Extensions.* 10.0.7 → 10.0.8
– Microsoft.CodeAnalysis.NetAnalyzers 10.0.203 → 10.0.300
Télécharger SimpleLauncher v5.5.0 (103 Mo)
Site Officiel
En savoir plus…