EmuCR Feeds
Email Us

Simple Launcher v5.5.0 is released. Simple Launcher is an emulator frontend that makes playing retro games a breeze.

Simple Launcher Changelog:
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

Download: Simple Launcher v5.5.0
Source: Here



Random Related Topic Refresh Related Topic

Random Related Topic Loading...

0 Comments

Post a Comment

Can't post a comment? Try This!