Releases: drpetersonfernandes/SimpleLauncher
release4.3.0
Major Feature: Multi-Folder Support
- Multiple System Folders: The core logic has been refactored to allow each system to scan for games across multiple folders instead of just one.
UI & UX Enhancements
- Improved Button Styles: Game and system buttons now feature refined 3D styles with hover and press animations for a more dynamic user experience.
Stability Improvements
- Improved Mounting Logic: The on-the-fly mounting for ZIP and XISO files no longer uses fixed delays. It now uses a more robust polling mechanism that actively checks for successful mounts, improving reliability and reducing unnecessary waiting.
Tooling
- New Tool Integration: A new
RomValidator
tool has been added. This tool can compare user game files with No-Intro dat files.
Other Enhancements
- Emulator Updates: Documentation and help files have been updated with information for new emulators (Gopher64, Hades, VisualBoy Advance M, Retroarch SwanStation).
- Emulator Updates: Emulators from Easy Mode have been updated to the latest versions.
- MAME Database Update: The mame.dat file has been updated to MAME 0.278.
- History Database Update: The history.xml file has been updated to the latest version.
release4.2.0
Core Feature Enhancements: On-the-Fly File Mounting
The most significant change is the introduction of on-the-fly file mounting, which allows users to launch games directly from compressed or disk image files without needing to manually extract them first.
Note: You need to install the Dokan from GitHub for ZIP and XISO file mounting.
- ISO & ZIP Mounting for RPCS3: The launcher can now mount
.iso
and.zip
files for the PlayStation 3 emulator (RPCS3). It uses PowerShell for native ISO mounting and a newSimpleZipDrive.exe
tool for ZIP files. After mounting, it automatically finds and launches the requiredEBOOT.BIN
file. - XISO Mounting for Cxbx-Reloaded: Support has been added to mount Xbox ISO (
.xiso
) files for the Cxbx-Reloaded emulator. This is handled by a newMountXisoFiles
service that uses thexbox-iso-vfs.exe
tool to create a virtual drive and launch thedefault.xbe
file. - XBLA ZIP Mounting: The system can now mount
.zip
files for Xbox Live Arcade (XBLA) games, searching for a specific nested file structure required to launch them. - ScummVM ZIP Mounting: The system can now mount
.zip
files for ScummVM games and automatically launch the game.
Major Refactoring & Dependency Changes
The project's core dependencies and internal logic for handling files have been substantially overhauled to improve robustness and unify functionality.
- Unified Archive Handling: The application has migrated away from using multiple libraries and external executables for file extraction. It now primarily uses
Squid-Box.SevenZipSharp
andICSharpCode.SharpZipLib
, providing a more integrated and reliable way to handle.zip
,.7z
, and.rar
files. TheExtractCompressedFile
service was refactored to use these new libraries. - Removal of Caching System: The
CacheManager
has been completely removed. The previous system of caching game lists for each system has been replaced with a more direct, on-demand file scanning approach. This simplifies the application's logic, eliminates thecache
directory, and ensures the game list is always up to date.
Update Tools
- BatchConvertToCHD: Improved UI. Added the ability to check the integrity of CHD files and convert CSO files to CHD.
- BatchConvertToCompressedFile: Improved UI. Added the ability to verify the integrity of compressed files.
- BatchConvertIsoToXiso: Improved UI. Added the ability to verify the integrity of XISO files.
- BatchConvertToRvz: Improved UI. Added the ability to test the integrity of the RVZ files.
Bug Fixes and Other Enhancements
- Fixed Threading Issue: The
PlayTimeWindow
andFavoritesWindow
have been refactored to handle file operations and UI updates more safely across different threads, preventing crashes and ensuring a smoother user experience. - UI Consistency: The system selection screen now limits the maximum size of system thumbnails to 100 px to prevent oversized images from distorting the layout and to ensure a consistent look.
release4.1.0
- Added a Sound Configuration feature allowing customizable notification sounds.
- Implemented a Debug Logger with a dedicated UI window for enhanced logging.
- Major overhaul and standardization of path resolution and handling, including support for placeholders
%BASEFOLDER%
,%SYSTEMFOLDER%
and%EMULATORFOLDER%
. - Refactored Parameter Validation logic for clarity and robustness, particularly concerning paths.
- Improved Error Handling, Logging, and messaging across various components (GameLauncher, Services, Managers), replacing
Debug.WriteLine
with the newDebugLogger
. - Added Status Bar updates to show current actions (e.g., game launched).
- Introduced 3D button styles for navigation buttons.
- Updated Tray Icon messaging and functionality (including Debug Window access).
- Refactored Edit System Window logic and validation for better user feedback on paths.
release4.0.1
Bug Fix Version
-
Parameter Handling Overhaul (
ParameterValidator.cs
,GameLauncher.cs
): Paths within parameters are converted to absolute paths. -
File Path Standardization (
GameLauncher.cs
,GameButtonFactory.cs
,GameListFactory.cs
): File paths used for launching games and creating UI elements are consistently resolved to absolute paths relative to the application directory, improving reliability. -
UI Enhancements (
MainWindow.xaml
): A new custom-styledGridSplitter
has been added to the list view in the main window, allowing for better resizing of the game list and preview areas. -
Improved Window Closing (
DownloadImagePackWindow.xaml.cs
,EasyModeWindow.xaml.cs
): Added logic to theCloseWindowRoutine
inDownloadImagePackWindow
andEasyModeWindow
to stop any ongoing operations (like downloads) before the window closes, preventing potential errors. -
Configuration Change (
SystemManager.cs
): The default value forReceiveANotificationOnEmulatorError
in system configurations has been changed fromfalse
totrue
, meaning users will now receive error notifications by default.
release4.0.0
This release brings significant user-interface improvements, new features for game browsing and management, enhanced stability, and various under-the-hood technical refinements.
Improvements
- New System Selection Screen: Displayed a more visual screen when no system is chosen to simplify platform selection.
- Revamped Navigation Panel: Added a panel on the left side of the main window with quick-access buttons for Restart, Global Search, Favorites, Play History, Edit System (Expert Mode), Toggle View Mode, Toggle Aspect Ratio, Zoom In, and Zoom Out.
- Switchable View Modes: Enabled toggling between Grid View (with game-cover images) and List View (showing game details in a table).
- Enhanced Zooming: Allowed zooming in and out of game thumbnails in Grid View via the new buttons or the Ctrl + mouse-wheel shortcut.
- Displayed Game File Sizes: Showed file sizes in List View.
- Overhauled UI Layout: Redesigned the main window and multiple dialogs (Easy Mode, Download Image Pack, Global Search, Favorites, Play History, Edit System).
- Refined Error Handling: Improved error messages and user prompts throughout the application.
- Updated Documentation Links: Improved Help User section and parameters guide links.
- Enhanced Gamepad Logic: Made controller navigation more reliable.
- Standardized Sound Effects: Switched to a consistent notification sound across the app.
- Updated Batch Convert To CHD: Added support for 7z and RAR files, enabled parallel processing, and improved multithreading.
- Added Batch Convert To RVZ: Introduced a tool to convert GameCube and Wii ISO files to RVZ format.
- Updated Emulators: Upgraded to the latest emulator versions.
- Updated MAME Data File: Bumped to version 0.277.
mame.dat
Bug Fixes & Internal Changes (for developers/advanced users)
- Fixed various Gamepad Controller issues
- Corrected typos and added null checks
- Addressed default-logic errors in emulator error notifications
- Prevented potential XML vulnerabilities during file loading/saving
- Fixed context-menu parameter-handling bugs
- Refactored and reorganized code for better maintainability and performance
- Replaced Newtonsoft.Json with System.Text.Json for JSON processing
- Improved file-path handling: more robust relative-path resolution and folder-name sanitization
- Enhanced asynchronous operations for smoother UI responsiveness
- Implemented stricter code-quality checks
- Consolidated “Please Wait” dialog logic
- Removed redundant or unused code
- Improved the structure and reusability of context-menu creation logic
- Integrated
IHttpClientFactory
for HTTP client management
release3.13
- Updated the [Batch Convert To Compressed File] tool to skip files that are already compressed.
- Improved the UI in the [Easy Mode] and [Download Image Pack] windows.
- Added code to enforce a single instance of the application.
- Implemented fuzzy image matching to enhance the user experience. This logic finds a cover image that partially matches the ROM filename. Users can disable this feature if desired.
- Updated emulators to the latest version.
- Updated
history.xml
(available at arcade-history.com) to the latest version.
pre-release3.13
This is a pre-release version. Consider it as a beta version for testers.
There may be bugs.
I did not properly test the application.
release3.12
- Added an option to turn off emulator error notifications from 'Simple Launcher'. Users can configure this per emulator in the 'Edit System - Expert Mode'.
- Updated the 'Batch Convert to CHD' tool application to accept new input formats, including ZIP files.
- Added the 'Batch Convert to Compressed File' tool.
- Added the 'Batch Verify CHD Files' tool.
- Added the 'Batch Verify Compressed Files' tool.
- Added a 'Support Request' window. Users can send questions to the developers.
- Updated emulators to the latest version.
- Updated the MAME database to the latest version (v0.276).
- Updated
history.xml
, available at arcade-history.com, to the latest version.
release3.11.1
- Added logic to check file and folder paths in the parameter field. Users will be notified if the check returns invalid.
- Updated the 'LogError' class to use a new, more flexible API.
- Added a bug report feature for all the tools bundled with 'Simple Launcher'.
- Improved the 'BatchConvertToCHD' tool to better handle the deletion of original files after conversion to CHD.
release3.11
- Added Play History Window and all the logic to implement it. Users can now see which games have been played and for how long.
- Implemented the Feeling Luck Button in the Main Window UI. This button will pick a random game for the selected system.
- Updated the MAME database to the latest version (v0.275).
- Changed the logic to load the MAME database into Simple Launcher. Instead of using a large XML file, it will now use a binary DAT file. This improves the database loading time and reduces the database size.
- Updated emulators to the latest version.
- Fixed some bugs.
- Improved the LogError logic to prevent UI freezing.
- Update the logic behind the tray icon to a more modern approach.