|Ce frontend multi-systèmes a été mis à jour. A noter qu'à partir de cette version, ce logiciel n'est plus compatible avec Windows XP. Les améliorations sont les suivantes:
I'm back! Lots of stuff happened since February. I've been working hard on Emu Loader for the past 4 months, non-stop. I even stopped playing PC games since March 2021 to focus on this project... what did I miss ?
You'll need to download the full package this time around since all files have been updated (icons and images). Upgrading from previous build can still be done. In future builds, part of the 4K content will be distributed separately to make the full package smaller (not everyone uses a 4K monitor/TV).
First things first. I recommend to delete the entire app_path\resources\ folder if you want to prevent leftover files (this is not required). You can overwrite your current install with this build and execute it without worries. All require updates will be done once at startup.
To actually fix some of the crashes I had to update the format of a few files (non MAME/arcade related stuff). You can make a backup copy of these folders/files before running this build, just in case. The following will be updated:
- games files in \console_computer\games\ folder
- played games files in \console_computer\played_games\ folder
- games extra info files in \console_computer\games_extra_data\ folder
The star of this build is support for 4K screen resolution with the new 4K layouts (minimum 3840x2160 resolution equired).
Be aware that you must disable screen DPI scale for EmuLoader.exe in order for it to work. If your Windows screen DPI scale is already at 100% you don't have to do a thing. Forms, fonts and controls will resize to take advantage of the 4K resolution... and it looks so beautiful! :)
There's even a new 4K splash screen. Some of the sprites were updated with higher resolution versions and others scaled up (no upscale filters were used). The regular logo got some minor updates as well... I really need to re-create the splash screen with a different theme. This apocalyptic theme is getting old!
Light mode is starting to fade away as Emu Loader can turn all elements to the dark side now, even if your Windows 10 is not set to use a dark theme. Who still uses the frontend's light mode anyway !?
All icons and images have been updated, and most of the icons got 68x68 and 128x128 size versions, for the 4K mode. You can enable PNG compression tag in .ico files now, this is finally supported by the frontend thanks to the PrivateExtractIcons() WinAPI. Due to PNG compression, the file size of all .ico files have reduced considerably.
While implementing 4K layouts, I was able to find and fix tons of internal bugs and tweak lots and lots of functions in the source code. I was able to improve stability even further.
Both Supermodel3 and Demul were updated to support latest SVN builds. You'll need to re-create the games list to actually use the new stuff. Not doing so will not prevent you from playing their games.
A special thanks to Fabian Leonel for creating system type icons, they look amazing!
systemtype_arcade.ico; systemtype_computer.ico; systemtype_console.ico; systemtype_handheld.ico)
WARNING: As of this version, Windows XP is no longer supported and Emu Loader will not run on that OS anymore!
So much has changed in this build, mostly internally, but you will notice improvements in general even without the 4K mode. I hope you enjoy this build as much as I did coding it. Make sure to check the change log for a complete list of changes, which is extensive!
- Some top bar labels were invisible in message boxes, caused by the new 4K mode (oopsie!)
- Heavy flickering when selecting text with mouse on my TEditEx control (it's a component bug, not a frontend bug)
- "Arcade Systems" selector colors in main menu "View" / "Arcade ROMs Folders" were not properly set in night mode
- Some artwork checkbox settings in "MAME Settings" screen were still enabled even though MAME doesn't support them anymore
- Nasty bug. Every time the message box was called, "Night Mode" checkbox component would trigger the night mode's initialization function, resetting interface colors and components appearances; it's been there ever since night mode was implemented... D'OH!
- Added "Atari 2600" to the "cassette tape" supported systems list (oopsie!)
*this makes possible to run MAME cassette tape games with "Stella" Atari 2600 emulator
*added "Stella CASSETTE="%s" entry in "emulator_parameters[default].ini" file
- Fixes and improvements to my custom components "TComboBoxEx2" and "TColorBoxEx" (Night Mode only):
*finally found a way to draw Win10 dark scroll bars, using "GetComboBoxInfo()" WinAPI to access the component's internal drop-down list handle (HWND)
*fixed a repaint issue not triggering after mouse hover "on/off"
*fixed an issue were the drop-down arrow was not vertically centered
- Unicode game names and titles was not working correctly for Console/Computer/Handheld systems (ported from EmuCon)
*the frontend will decode strings when parsing entries from games ".el" files and set the "IsUnicode" tag directly
(the "IsUnicode" tag in .el files is no longer necessary (files in "\console_computer\games\" folder)
*games were displaying incorrect Unicode titles and filenames in games list
- Console/Computer/Handheld games lists were being tagged as "updated with new games" if "Create a New List" checkbox was ticked, even though no new games were found
- Frontend's button in Windows taskbar button not showing up at startup
*a small code is executed at startup to remove the "double taskbar button" in Windows Vista and newer, caused by Delphi 7 compiler, but it makes the taskbar button dissapear until the main form shows up
*to mitigate this issue, that code is executed right before the main form is shown (this is the point where the taskbar button doubles itself)
- Fixed from bottom color of emulator/game top bars in several screens while in light mode
- Text color in systems list panels were not properly painted when panel is out of focus and when a system is disabled/unchecked
- Not all games were being added in "Scan MAME/HBMAME Game Samples" feature (main menu "Games List")
- Fixed a bug that would crash the frontend when trying to update "played info" .ini files after exiting a game
*if the frontend still crashes after exiting a game, you'll need to clear its played info ("Reset Selected Game Info" menu in games popup menu)
- Changing "Tiles View Cell Size" setting in "View Mode" tool bar button now changes the icon size properly (48x48; 68x68; 128x128)
- Modifying the following settings do not reset "MAMu_ icons" cache if the view mode is not the correct one
&npsp;("Game Icon Size", "Tiles View Cell Size")
- New "Show Grayscale Icon In Game With Missing ROMs/CHDs" setting (preferences screen, "Games List" panel)
*by default, available games with missing ROMs/CHDs will show colored icons from now on
*these sets have a custom font to help you see the "have with missing ROMs" status
*why should a gray icon be displyed for sets you have, but there might be ONE tiny ROM missing ?
*it looks better this way; I myself confuse them with "missing sets" quite a lot (sets you don't have)
*for arcade systems only, including MAME software lists
*you can go back to the old gray icon by ticking the new checkbox setting in preferences screen
- Color of "disabled" button state updated with darker colors and a black font; the old one was too bright (night mode)
- Massive frontend icons update ("frontend_dir\resources\main_icons\" folder tree)
*added 128x128 resolution icons for the 4K mode (and some 256x256 icons for future use... maybe)
*icons texts color changed to white as default: "image category", "layout category", "tool bar filters", "arcade filters" icons
*overlay icons "image category" and "layout category" icons are no longer required, no need for this trickery anymore as the frontend can change text font color of .ico files on the fly!
(folder "main_icons\overlay\img_dark\" and files are no longer required)
*"background band" behind texts in tool bar icons are no longer needed
*replaced text silver pixels by a 25% opaque pixels in 32x32 and 48x48 tool bar filter icons
*image category 32x24 icons are no more; it hasn't been used in quite a while
*image category 32x32 icon new size; it's used in images tool bar and in 4K mode
*all frontend icons must be 32-bits color depth or hell will break loose (crashes all around and all kinds of weird behavior)
*if the .ico file doesn't have the requested icon resolution, icons are automatically upcaled thanks to the "PrivateExtractIcons() WinAPI
- Proper 10 pixels border for game info/emu info top bar (4K mode)
- Disabled systems are now painted with 25% blend, it makes them easier to spot in systems lists (EasyListView)
- Thumbnail view updates and fixes:
*support for 48x48 system background icons when thumb cell if smaller than 68x68
*minor tweaks and fixes in the thumb generation/loading functions
*painting bug fix in EasyListView if thumbnail cell is too small
*minor tweaks to fix misaligned overlay icons, specially if you use overlays of different sizes
- Moved checkbox "Create a New List" to the center of the lower bar so it's easier to spot ("Create Console/Computer/Handheld Games List")
- Removed "IsUnicode" tag from games list files (console/computer/handheld systems)
*this tag is now validated and set at runtime (tag might be removed in a future build)
*the following files will be updated automatically at startup (done only once)
.games files in "\console_computer\games\" folder
.played games files in "\console_computer\played_games\" folder
.games extra info files in "\console_computer\games_extra_data\" folder
- Modified TntCustomEdit component to fix heavy flickering when selecting text with mouse (TNT Unicode Delphi Components Pack)
*same fix as my TEditEx component was applied here
- Source code files for all 4K mode forms are stored in "source\4K\" folder
*RAM usage will not increase since forms are initialized only when used, then freed from RAM on exit
*files not used by the project, but used for layout designs are stored in "source\4K\designs\" folder
- Library "unitExIcon.pas" has been replaced by Microsoft's "forbidden" WinAPI "PrivateExtractIcons()"
*there's a weird bug in ExIcon unit that causes "out of resources" error under Windows 10... this unit is sooo old; great, but old
(I've been using this unit for many years and never had any problems, until I started using Windows 10!)
*the API PrivateExtractIcons() can extract icons of any resolution from 16x16 to 512x512 with just a couple lines of code, and is so much easier to use than ExIcon library; I hope Microsoft doesn't remove this API from Windows
(why Microsoft never created an "official" WinAPI capable of doing this job, is beyond me!)
*"Load MAMu_ icons" functions are still using TExIcon; it requires a rewrite
- Game Details updates
*fixed a crash when calling this feature for the same game twice in a row (open/close details screen, open it again... BOOM!)
*other minor fixes and tweaks here and there
- A couple more tweaks to "MAME Game Docs" parsing routines, they are 12ms faster
- New "TNT Unicode" component "TntEditEx", based on "TntEdit" but with custom frame drawing, just like my "EditEx" component
*an edit box that can display Unicode texts, used in "Rename Game Image" feature, for console/computer games
*new "TntEditEx.pas" file added to the TNT's "runtime" package (same package as "TntStdCtrls.pas", easier to compile and cleaner code)
*this component was made for the "Night Mode"
*better to create a new component and leave the original "TntEdit" unmodified
- Several edit boxes replaced by TTntEditEx component in the project to accept Unicode texts (Engligh / Non-Engligh mixed)
- Changes, updates and fixes to Delphi components: TAdvOfficeCheckBoxEx / TAdvOfficeRadioButtonEx / TEasyListView
*added support for 23x23 HD CheckBox/RadioButton icons, used by the new 4K mode (it looks sooo pretty...)
*new component property "CustomEnableIconHD" to toggle "HD icons" on/off (NOT available as a frontend setting)
(this only works with external icons, not with Windows themed ones)
*fixed CheckBox/RadioButton vertical alignment code in EasyListView component, so "HD icons" align correctly
*icons are now extracted from .ico files using "PrivateExtractIcons()" WinAPI
*new component properties "CustomIconsImages" and "CustomIconImagesHD" to assign external TImageLists, so the same CheckBox/RadioButton icons set can be shared by hundreds of CheckBox/RadioButton/EasyListView controls in the same TForm using a single TImageList (one for regular 13x13 icons and one for HD 23x23 icons)
(this prevents every control from loading the same set of .ico files; imagine a TForm with 50 CheckBox components in it... loading the same 12 icons!)
*added a small tutorial text in "TAdvOfficeCheckBox" source code, with instructions on how to use custom icons and the new external TImageList properties
*all .ico files from "resources\checkbox_radiobutton\" folder tree updated with the new 23x23 icons
- Tons of source code optimizations and removal of duplicate functions
- Custom CheckBox / RadioButton default profile changed to "Night Mode 1 Black" (as it should have been from day 1)
- Custom CheckBox icons set in "Customize Night Mode" and "Customize SplashScreen" changed from "Night Mode 1" to "Night Mode 1 Black"; it looks better (cannot be customized)
- Custom CheckBox/RadioButton "Night Mode 1" icons profile is gone (folder \resources\checkbox_radiobutton\)
- Updates/changes to "Night Mode Settings"
*setting "Use Windows 10 Dark Scroll Bar in Games List" removed
*removed "Floating Panel" / "Caption Font" setting from "Search Games Panel Colors"
*source code optimizations, some internal fixes and improved stability
- Splash screen optimizations
*Form is now created directly in the project's DPR file before anything else, including the main Form
*it should show up faster
*some functions moved from main unit file to splash screen's unit file
*moved splash settings from "ini_files\lightmode.ini" into a new "ini_files\splash.ini" file (done once at startup if "splash.ini" is not found)
*settings are the same for normal mode, 4K mode and "4K extra" mode, except "Version Info" label position and "Shadow Distance" settings
*you can drag and drop the version info text with mouse instead of using the Left/Top position bars (experimental)
*you can drag the splash screen around with the mouse now
*logo image updated with new sprites and some minor tweaking
*simplified the initialization code
- Updates and fixes to "View Missing ROMs/CHDs" feature (previously known as "Arcade Scan Results")
*some ROM types were not detected correctly, fixed ROM/CHD types validation list and included "vgmplay" software list detection
(games scan/validation rountine was not affected by this when creating a games list)
*fixed flicker on systems tool bar buttons
*added new checkboxes filtering options
."CHDs Only": show/hide sets with CHDs, with or without ROMs (HDD, CD, Flash Card, VHS)
."Device ROMs": show/hide sets that have device ROMs
."Bios ROMs": show/hide sets that have bios ROMs
.NOTE: unchecking "ROMs" filter will hide sets that only have game ROMs (no CHDs, devices, bios)
*renamed options in "MAME set type drop-down" filter to "Arcade Games" and "Software List Games"
- The following tool bar filter settings were moved from "EmuLoader.ini" to "ini_files\games_filters.ini"
*thumbnail view settings; "Machines/Systems Filter"; "Systems Quick Filter"; "MAME/Arcade Games Filter"; "Misc Filters"
*so you don't lose them in a clean install or if "EmuLoader.ini" gets deleted
*filters moved into proper sections so they are not all mixed up into a single section
*this process is done once at startup, if "games_filters.ini" is not found
*improved: tool bar settings are saved into the .ini file right after you change them (safe mode ON)
- Udpdates to "Arcade Controller Layout" images ("Browse Games With..." sub-menu in main menu "Games List")
*files moved to a new "\images\browse_controls\" folder
*file format changed from JPG to PNG, because they just look better
"X-Arcade.png"; "HotRodSE.png"; "SlikStik.png"; "Devastator2.png"
*images updated, some buttons captions were wrong and/or no longer assigned to anything
- Main menu "View" removed to prevent clutter, its items moved to proper sub-menus
- Support for "PNG compression" tag in .ico files, "PrivateExtractIcons() WinAPI supports this
*256x256 / 128x128 / 68x68 icons in .ico files now have the "PNG compression" tag enabled
*.ico file sizes reduced quite a bit; some file sizes are now half of the what they used to be
*no loss of quality since PNG format is lossless
*icons loading speed remains the same (from my tests)
- Added "Network Board" options to "Supermodel 3 Emulator Settings" screen
*you need to create Supermodel3 games list again
*no support in custom game settings yet since this is an emulator WIP feature
- Added "merge" ROM tag detection for Demul; you don't need to have parent ROMs in the clone set anymore, I think (just like MAME)
*it requires latest WIP Demul build 180428, date: April 28, 2018
*you need to create Demul games list again
*this feature was quietly implemented in the frontend a while ago, but now it's official
- New TEasyItem property "ReportFirstColumnIndent"
*for TEasyListView component, it will add a blank space in the first column, when in report view mode
*huge improvement for grouped view mode; no more blank icon trickery to indent clone games
*favorite icons can finally be displayed in grouped view mode
*this property only works in "report view"
- New "Mega Large" (68x68) game icons size for details and grouped view modes
*for the 4K mode and "multi-line captions" in games list, when game font size is 16 or bigger
*internal indexes for "Game Icon Size" have changed, you must change this setting again (View Mode tool bar button)
*this also makes it a lot easier (and faster) to display arcade/console/computer/handheld 68x68 system icons in TImage components, used everywhere
- New "Ultra Large" (128x128) game icons size for tiles view mode
*useful for 4K mode and "multi-line captions" in games list, when game font size is 16 or bigger
*internal indexes for "Tile View Cell Size" have changed, you must change this setting again (View Mode tool bar button)
*this also makes it a lot easier (and faster) to display arcade/console/computer/handheld 128x128 system icons in TImage components, used everywhere
- Implemented 4K layouts in all screens
*setting "Enable 4K Mode" is no more, 4K layouts are now integrated into the project and used by default
*minimum screen resolution required is 3840x2160 (anything lower will disable 4K feature completely)
*if your Windows DPI screen scale is higher than 100%, either disable DPI scale for "EmuLoader.exe" properties in Windows (recommended) or disable 4K mode in the frontend (main menu)... or set DPI scale to 100% in Windows
*image hint panel settings, image category type and image resolution, were adapted to show larger texts and icon (night mode settings and preferences "light mode")
(when in 4K mode, hint always use large font sizes and large icon, even if setting "Large Font Size" in "Image Hint Box", is disabled) *4K screen layouts might look different than standard layouts
*there's a "Disable 4K Mode" setting in main menu if you insist in not using the awesome 4K layouts........ WHY!?
.some screens require you to restart the frontend after disabling 4K mode ("Preferences" screen, "Customize Night Mode")
- 4K splash screen!
*big logo image 1960x1200 with adjustments and tweaks to sprites and background scenario
*new "4K Ultra Size x2" setting; HUGE splash screen with a 2940x1800 logo image (insane mode)
*a few sprites were remade from high resolution sources, and are a lot more detailed :)
*most small sprites were resampled to high resolution without disortion of loss of quality (no image filters were used)
*4K logo file: "resources\images\logo-4K.png"
*4K "insane" logo file: "resources\images\logo-4K_extra.png"
*alternate image files are also supported: "logo2-4K.png" or "logo2-4K_extra.png"
*if you're not going to use the 4K mode, files "logo-4K.png" and "logo-4K_extra.png" can be safely renamed/moved/deleted
- New "Mega Large (68x68) System Icon" for thumbnails view ("System" icon size selector in "Customize Thumbnails")
- New "Available + Missing ROMs/CHDs" games filter option ("Have/Miss Filter" tool bar button)
*so you can view available games and games with missing ROMs/CHDs at the same time
*new file "filter3_05_have_and_missroms.ico" (folder "resources\main_icons\toolbar_filters\")
*file "filter3_05_miss_and_missroms.ico" renamed to "filter3_06_miss_and_missroms.ico" (folder "resources\main_icons\toolbar_filters\")
- Support for "Ryujinx: Nintendo Switch Emulator"
*there is no command line or emulator setting to auto-exit after clicking ESC key (I think)
*emulator must be configured before using it with the frontend
- Added a new "VersionHelpers.pas" unit to the project, to detect the Windows version properly
*old code used the deprecated "GetVersionEx()" WinAPI
*minimum supported Windows version is now Windows Vista (frontend will NOT run on WinXP, no matter what you do)
*validation code runs BEFORE the application initialization commands