Emu Loader Change Logs

# version 8.6.6 change log - August 31, 2018

## Fixed

### Wrong "Panels Colors" settings at startup, "Title Font/Shadow", "Title 2 Font/Shadow", "Text Font/Shadow" ("Night Mode" page, Preferences screen)

### Wrong "Search Games Panel Colors" settings at startup, "Filter Font/Shadow" ("Night Mode" page, Preferences screen)

## Changed

### Modified the scope of "Ignore Exit Code 1: Invalid Function" setting to support all console/computer emulators
- "KEGA Fusion" is no longer the only emulator returning exit code of "one" on exit
- this error might be related to a missing and/or incompatible plugin or badly configured emulator
- even when nothing is wrong, the emulator might give you "code 1" as an exit code :(
NOTE: this exit code is caused by the emulators, not the frontend

### Updates to "Cleanse" feature in "Favorites Manager" screen - a list of all entries to be removed from the favorite profile is shown for review
- you can remove entries from that list so they are not deleted from the profile .ini
- there's no way to show titles, only game names and/or filenames and the system they belong to

## Added

### Requested setting "Add Leading Zero to Version Info Column (MAME)" so you can have "0.200" text in the version info column instead of ".200"

### Multiple paths support for MAME preview images
- MAME and HBMAME only
- all image categories are supported: snaps, titles, covers, flyers, etc...
- you can have define as many image directories you want
- MAME softlist .zip files don't have to be in the same place as the arcade .zip files anymore, you can have "snap.zip" in one folder and "snap_sl.zip" in another

### Support for MAME .201
- vgmplay software list is now correctly detected and sets are correctly loaded by the frontend
- new filter to hide vgmplay softlist entries from the games list: "Hide Video Game Music Files" ("Arcade Misc Filter" tool bar button)

# version 8.6.5 change log - August 04, 2018

## Fixed

### "Machines List Filter" implementation is complete
- if you hide the parent set, all clone will hide as well
- forgot to link the code for checkbox "Show Parent Sets Only" in "Customize Machines List" screen
- window width increases if screen width is 1280 pixels or higher so all columns are visible without showing a horizontal scrollbar
- proper colors in night mode

### Machines list wrong font colors in "MAME Machines Filter Panel"

### Icon alpha blending bug in "Machine Types And Systems Filters" screen when items are unchecked (tool bar button filter)

## Changed

### Renamed "MachinesList_SidePanel" section to "MAMEMachinesFilterPanel", for consistency

### Renamed "Game Font Settings" to "Customize Game Fonts" in games popup menu and main menu "Games List"

## Removed

### Colors array vars of games selection bar are no more; colors are taken from ColorBoxes in Preferences screen

## Added

### Games list selection bar colors customization (Preferences screen)
- customize background color, frame color and font color
- there are two bar settings for MAME and arcade, one for available games (default blue color) and one for games with missing ROMs/CHDs (default red color)
- re-added "Gradient Bar" setting
- two separate sets, one for light mode in "Games List" page and another for the night mode in "Night Mode" page
- light mode settings are saved in "EmuLoader.ini"
- night mode settings are saved in "nightmode.ini"
- affected features so far: main games list, MAME Machines Filter Panel, "Customize Game Fonts" screen, "Customize Thumbnails" screen
NOTE: frame cannot be removed but it can be masked with "alpha blending" and frame colors like black or white

### Night mode custom user colors support in a couple more screens (no more forced blue frames)

### New "Slot Machines" catver.ini filter added to "Arcade Miscellaneous Filters" screen

# version 8.6.4 change log - August 01, 2018

## Fixed

### Oh darn... I forgot to delete some beep/ding sound commands when initializing game zipped images lists

### Re-added support to generate zipped snapshot thumbs in thumbnails view
- the code was removed by mistake more than a year ago when EmuCon was merged with Emu Loader, and nobody noticed, not even me
- all arcade systems are supported, "snap.zip" file; MAME also support "softwarename.zip" and "snap_sl.zip"
- Console/computer systems from EmuCon were Ok

### Games list was not focused after a manual switch between light and night mode (main menu)

## Changed

### Minor optimizations to save some RAM when handling game image folders and improve game images preview search

### Changes to "Image Category Settings" screen
- button "Default" folder was doing nothing
- category folders are now read directly from config files and not from RAM vars, which might contain different data
- relative paths in console/computer systems (from EmuCon) are now relative to the frontend root path since you can have multiple emulators per system
- minor code tweaks

## Added

### New "Machines List Filter" filter for "MAME Machines Filter Panel" (machines list popup menu)
- you can customize what machines appear in the list
- it works like the "Customize MAME Software List" feature
- excluded machines list is saved in "\arcade\mame_machines_exclude.txt" file
- machines are only hidden from the list, not disabled
- it's only for the machines filter panel, not for the main games list

### Support for "all-in-one" zipped image files (MAME software lists only)
- you can have snaps for all MAME softlist games combined into one humongous file instead of separate "softwarename.zip" files
- filename is the same as MAME's image .zip filenames, plus a "_sl" suffix
- filename format: "snap_sl.zip", "titles_sl.zip", "covers_sl.zip", etc (all categories are supported)
- files must be located in the same place as their "arcade/machine" files (snap.zip, titles.zip, etc)
- you can use "softwarename.zip" files together with these new files
- they will be scanned after "softwarename.zip"
- easy to use, just drop files in them proper folders and start the frontend

### Mulitple image paths detection (MAME only)
- only the first path will be used, ignoring everything else after the ; char (snaps, titles, cabinets, covers, etc)
- removal of surrouning quotes, just to be safe (first and last char on the string)
NOTE: there is no multi directories scan to show game preview images!

### Added "\videosnaps_sl\" sub-folder scanning for video preview, MAME software lists

# version 8.6.3 change log - July 19, 2018

## Fixed

### Heavy tool bar flickering when resizing main screen / images panel
- caused by the tool bar's "repaint" internal event (not accessible by the user)
- tool bar "DoubleBuffer" property is now always enabled

### Frontend crash when clicking "All Visible" button in "Customize Tool Bar" (games filters tool bar)

### Image category icon in images tool bar was showing the night mode overlay while in light mode

### Frontend crash when detecting "Atari 800" cartridge type from an unzipped game Unicode filename

## Changed

### "Search Games" panel is back in the games filters tool bar
- floating panel is still available as an option (access in "Settings" button)
- games list attached panel is gone
- new "Use Small 16x16 Icons" option , access in "Settings" button (default 24x24 icons)
- new "Show Filter Labels in Small Tool Bar" option to show labels, "small tool bar" mode only
- the "Search" tool bar button is visible only for the floating panel
- the floating panel "enabled" state is no longer restored at startup

### "Games List Status Bar" colors limited to the light mode (Preferences screen, "Games List" page)

### Setting "Panel Outer Frame Color (7 Pixels)" renamed to "Image 7 Pixels Border Color" to avoid confusion with night mode (Preferences screen, "Games List" page)

### Behavior of panel frames have changed, two options to choose from:
"Outer Frame": enable this to use a single frame
"Inner Frame": enable this to use a double frame; "outer frame" must also be enabled
- disabling both settings or just "outer frame" removes the panel border completely
- tool bars updated to support the new setings

### Message box now show top bar color and labels colors according to game's set status
- green bar for available games
- red bar for available games with missing ROMs/CHDs
- gray bar for missing games

## Added

### New "Show Game Documents 7 Pixels Border" checkbox and "Border Color" settings, to align the panel with images panel (Preference screen, "Game Docs" page)

### Night mode improvements ("Night Mode" page in Preferences screen)
- "Search Games" panel colors customization expanded to include the edit box
- customize games list frame color and visibility
- tick the new "Use Windows Themed Border" to disable games custom frame color; it shows a single border
- the frame in games filters tool bar is now drawn outside the client area, and it can be set to disabled, single or double frame
- customize images panel frame colors and visibility
- images tool bar height aligned with games filters "small tool bar", frame is now drawn outside the client area
- "Customize Games List Status Bar Colors" settings for the night mode (colors box in "Games List" page is now only for the light mode)

### New "Panels Colors" general settings for the night mode, so you can change frame colors, background color, font color and shadow font color
- "Apply Filters" message box
- "Initialize Zipped Images Contents" message box
- Game Details
- Select a Machine to Run Game
- Load Multi-Slot MAME Games
- Load Console/Computer Multi Floppy Disk Games
- Search Games floating panel
- Rename/Delete Game Images
- Customize MAME Software List
NOTE 1: not all texts can have custom colors (font color and shadow font color)
NOTE 2: background color is it's not widely applied; only for a few panels

### New setting "Tool Bar Overlay Icons Folder" (preferences screen, "Games List" page)
- you don't have to overwrite frontend's overlay icons anymore, just create a sub-folder with your custom icons and select it in the drop-down box
- sub-folder must be inside "frontend_dir\resources\main_icons\overlay\" base folder
- for both light mode and night mode
- use ANSI directory names only, no Unicode support
- you only need to add icons that are different than the ones from the base folder
- if an icon doesn't exist in the sub-folder, the overlay icon from the base folder will be used
- overlay icons are used in games filters tool bar and images tool bar (so far...)
- folder name is used as the icons set title
- added a "Dark Grey" icons set for the night mode; thanks to "Fabian" for creating the icons

# version 8.6.2 change log - July 06, 2018

## Fixed

### Forgot to include the updated file "\arcade\filters\mame_filters.ini" for "Arcade Games Filters" tool bar button
- some filters were renamed
- one filter slip in two for easier games filtering
- the frontend was crashing without this updated file

## Changed

### Color tweaks to night mode

### Tweaks to "Delete/Rename Game Image File" screen

### "Search Games" panel expanded, 3 view modes:
1. floating panel: default behavior, located just below the search button in filters tool bar
2. panel attached to the bottom of the games list: slim panel with 40 pixels height
3. panel attached to the top of the games list: slim panel with 40 pixels height
- to switch between modes, click the new "tool bar" button next to the close button
- you can customize "Night Mode" colors of the attached panel, "Night Mode" page in preferences screen
- floating panel still have fixed colors - in light mode, colors are fixed

### "Search Games" panel "enabled" state is now restored on a frontend restart

## Removed

### Minor source code cleanup

# version 8.6.1 change log - July 02, 2018

## Fixed

### Non-game files were added to a MAME software list games
- some games have "rom" entries (battery backup, NVRAM, etc) but are not game files and should not be added ("hash\nes.xml", "hash\msx_cart.xml", others)
- you must re-create all your MAME software list games lists again, either delete all files in "frontend_dir\arcade\mame_softwarelist_games\" folder (easier) or select "Enable: Overwrite Mode" when choosing the arcade scan mode

### FATALITY! When validating multiple selected games, bios/device sets were not validated at all (works fine with scall all games, scan single game)

### FINISH HIM! Games of "SEGA Model 2 Emulator" were not validated correctly, "model2.zip" board ROMs completely ignored

### When running single MAME arcade games, frontend was trying to detect the "machine title", intended for multi-slot machines ("uMain.GetTitleMachineToUse" function)

### Timer freeze when applying games filters on grouped view mode

### Button "Default Grid Size" and "Show Game Title" were not repainting thumb preview images (Thumbnail Settings)

### Font style was set to game filename instead of game title in "Delete Multiple Selected Games Files" screen

### Some messages were not showing up in splash screen when creating games lists, specially for "SEGA Model 2"

### CRC-32 / SHA-1 checksums of unzipped game files failed to be generated
- some games could not be added to the games list (console/computer systems only)
- most noticeable in "Game Details" screen
- mostly for Unicode filenames
- console/computer games only (ported from EmuCon)
- some internal functions updated to support "WideString" parameters and slightly modified to fix this bug

### Frontend crash when trying to open a .zip / .7z Unicode filename in "Game Details" screen (console/computer games from EmuCon) ... this bug is almost 2 years old!

### Megatons of drawing bugs thru the entire project

## Changed

### Changes and improvements to games tool bar:
- resized large icons from 44x40 to 48x48
- resized small icons from 28x22 to 30x24
- added 68x68 icons size support, useful for 2K (2560x1440) and 4K (3840x2160) screen resolutions
- added a white background in the lower text so it's visible in night mode
- several icons were completely remade
- split the icon outer frame from current icons into separate overlay icons, located in a new "resources\main_icons\overlay\" folder
- overlay icons are painted on top of the icon, alpha blend support
- overlay icons can be customized to your liking without altering the filter icons
- replaced the "Search" tool bar by a simple button; edit box and buttons are now placed in a new floating panel below the main tool bar
- you can move the panel around by dragging it with the title bar
- finally removed the dreadful "TCoolBar" control; tool bar background colors can now be customized (night mode only)
- Renamed settings entries in "EmuLoader.ini", you need to customize buttons again in "Customize Tool Bar"

### Improvements to "Arcade Games Filters" screen (tool bar button)
- if filter icon not found, the "no icon" was not set correctly
- added support for 68x68 and 30x24 icon sizes, found in "resources\main_icon\arcade_filters\" folder
- choose an icon size to browse the filters list: "Extra Large (68x68)", "Large (48x48)", "Small (30x24)"
- additional tweaks

### Moved "Tool Bar Buttons" menu options from "View" to "Games List" main menu, renamed "Small Tool Bar" to "Icon Size" and expanded to:
- Extra Large (68x68)
- Large (48x48)
- Small (30x24)

### Changes to "Customize Tool Bar"
- replaced "Small Tool Bar" checkbox by a "Set Icon Size" buttons group: "Very Large (68x68)", "Large (48x48)", "Small (30x24)"
- removed "Search Games Bar" checkbox since it's now listed with the other buttons
- renamed "Hide Tool Bar" to "Show Tool Bar", so it's the same title as the checkbox option in main menu
- additional tweaks

### Moved "Show Games Status Bar" setting from "View" to "Games List" main menu, where is belongs

### Changes to Preferences screen
- size increased to 850x600 to give its contents more breathing room
- moved "Internet Game Info" panel from "Images" to "General" page
- renamed TSlitter component names of games list and images to avoid overlap settings; you must customize splitters again as "EmuLoader.ini" entries were also renamed
- additional interface tweaks (still needs work)

### Changes and fixes to "Supermodel 3 Emulator" features
- entries in file "frontend_dir\arcade\emulator_ini\supermodel_ini\Supermodel.ini" have changed to avoid settings overlap
NOTE 1: you must re-configure AND save the emulator default settings to update the .ini file
NOTE 2: settings key names are the same as emulator's "Supermodel.ini" file, but not all of them
- game custom setting files changed as well (change/save emulator default settings first!)
NOTE: you must re-configure AND save the game custom settings again to update the .ini file
- additional interface updates
- FATALITY! game custom settings were not added properly to command line when running games (nobody noticed this ?!)
- custom settings and emulator default settings were added twice to command line
- new behavior: emulator settings is now loaded first, followed by game custom settings file (just like MAME)
- if game setting is the same as emulator setting, it's no longer added in "ganename.ini" file (just like MAME)
- when running emulator in full screen, if the custom resolution is not valid, current desktop resolution will be used automatically
- if game filename is not found, emulator will not run; it was causing the "Error: Invalid Function 1" message on emulator exit

### Replaced the "Main CPU MAME Filter" bar by a floating panel
- it was wasting too much space above the main games list
- the "enabled" filter state is now restored on a frontend restart ("Arcade Misc" filters tool bar button)
- panel position is always at the top left corner of the games list
- you can move the panel around by dragging it with the title bar
- limited the games search pattern to MAME / HBMAME as it's useless for other systems
- added support for night mode

### Several tweaks to "Delete Multiple Selected Games" screen; also added "night mode" support

### Changes and fixes to "Arcade Scan Games Results" screen ("View Missing ROMs/CHDs" in games popup menu)
- added a Device column to easily identify game sets with device ROMs
- added a file size column (you must create all arcade games lists to see this info)
- MAME CHD file sizes are detected "on the fly" while scan results list is being generated
- missing files texts are now painted in a dark gray color (light mode) and silver color (night mode)
- status columns text is painted in red color; much easier to spot missing files
- device ROMs were not properly tagged as device ROMs; weird bug as it was working fine for games with multiple device sets
- parent ROMs/CHDs were not properly tagged as parent files, making it not show "Parent" text in status column
- moved controls from bottom bar to top bar, reducing waste of space
- increased selected system icon size and font size of emulator/games list version texts to keep in sync with other screens
- window now have a fixed width size of 1015 pixels
- when viewing a single game, the window height will be shortened to avoid waste of space
- removed the redundant Close button since you can close it with the caption bar "close" button (or ESC key)
- "filename.zip found" and "filename.zip not found" texts are now in "green" and "red" color for easier reading
- status texts are now properly separated by comma; it gives a whole new meaning to the texts being shown
- support for night mode; visibility on this mode is much nicer and detailed than light mode

### Tweaks to "Game Details" screen (access in games popup menu or "Shift+I" shortcut)
- missing files texts are now painted in a dark grey color (light mode) and silver color (night mode)
- file size column added to game files list
- MAME CHD file sizes are detected "on the fly" while files list is being generated
- if a CHD filename text is larger than the label dimensions, the hint text will be enabled, hover mouse on it to see it

### Since MAME can load Unicode filenames directly from command line, Emu Loader will no longer convert them to DOS 8.3 format (run custom EmuCon console/computer games with MAME)

## Added

### Tool bar colors settings for night mode in the new "Night Mode" page, Preferences screen
- for games tool bar filters, images tool bar and other "captionless" tool bars in the future
- support custom gradient background; gradient can be disabled to use a single color
- frame color is customizable; it can also be disabled
- tool bars with button caption enabled cannot be customized (TToolBar component limitation)

### Added a "Splitter" setting for "Game Documents" panel so you can customize it (Preferences screen, "Game Docs" page)

### Added a "Splitter Style" setting for image splitters, default to "Single Color" (Preferences screen, "Images" page)

### Support for Supermodel 3 Emulator SVN 735 ("Supermodel 3 Emulator Default Settings" screen)
- new settings: "scroll fog shaders", "tile map shaders", "stretch"
- added a "Use Custom [1-1000]" checkbox so you can enable/disable custom "PowerPC Bus Frequency (PPC)" frequency at will

### Added save states support for "Supermodel 3 Emulator"
- select a save state file before loading the game
- valid filenames are "gamename.st?" (state slots go from 0 to 9)
- save state folder is fixed by the Supermodel emulator and cannot be changed ("emudir\Saves\")

### ROM/CHD size info added to arcade and MAME software list sets
- games validation system do not use it, it's for information only
- ROM size info can be viewed in "Game Details" and "Games Scan Results" screens (games popup menu)
- you need to create new games lists for all arcade systems and MAME software lists to see this info, but frontend works fine without it
- games of Supermodel 3 emulator doesn't have ROM size info in "emudir\Config\games.xml"
- games of console/computer systems already have file size info (systems ported from EmuCon Frontend)

# version 8.6 change log - May 30, 2018

## Fixed

### Several drawing bugs in games lists, top bars and icons

### Top bar lower gradient color was silver instead of white in "Delete/Rename Game Snapshot"

### Empty space in multi-floppy games list panel if games of different systems are selected in main games list ("Load Multi Floppy Disks Game" screen)

### Set default font was not working in "Game Font Settings" (games popup menu)

### Arcade game font was not set correctly on several screens if game status is tagged "found with missing ROMs" and game driver is tagged "preliminary"

### Main games list not focused after exiting "Favorites Manager"

### Main games list not focused after exiting "Last Played Games (MRU)"

## Changed

### Minimum required resolution bumped to 1024x768 / 1280x720; plus, dialogs and screens will no longer auto-resize to fit in lower resolutions

### Changes and fixes to Mustangpeak's "EasyListView" component (EasyListView.pas)
- it was drawing "State Images" in normal mode when TEasyItem is ghosted and/or not enabled; TEasyViewItem.PaintImage() function
- icon top border was not properly set if cell size if larger than icon size; "large icons view" only
- to fix this I added a new "IconViewAdjustIconTopBorder" property in "TEasyPaintInfoBasic" class, used in TEasyViewIconItem.ItemRectArray() procedure

### Improvements to my "TPanelEx" component
- added a "Inner Border Color" property for a cool neon effect, and a property to enable/disable it
- added a "Enable Custom Border" property to create a dual color border in the "non-client area"
-> border colors are customizable
-> no more drawing borders over the client area, covering 2 pixels at all sides of the panel!
-> it cannot be used with "Border Style" and/or "Bevel Kind" properties
-> "Frames" property is still available but it paints in the client area
- fixed paint flickering when enable/disable frames and/or borders
- code clean up ("Border Style" and "Bevel" properties will eventually be removed from the component)

### Improved my custom TGroupBox component, added "Dual Color" border style for a cool neon effect (see "Delete Games Files" screen in night mode)

### Interface changes to "Console/Computer Emulators Setup" and "Console/Computer Games Folders Settings"
- default system icons size is now 68x68 (resolution 1280x800 and higher)
- 48x48 icons are used for 1280x720 / 1024x768 resolutions
- left some room in systems panel for the future (just in case)
- additional tweaks

### Minor tweaks to "Game Details" screen

### Interface changes to several screens
- 48x48 game icon replaced by 68x68 size (top bar)
- 16x16 system / media type icon replaced by 24x24 size (top bar)
- increased game title font size from 8 to 10 (top bar)
- increased game name+extra info font size from 7 to 8 for easier reading (top bar)
- removed ListView border (Windows theme forced painting), replaced by a custom panel with dual colors so night mode can be applied
- additional tweaks

## Removed

### Full screen mode is gone. It's an ugly hack, it causes the dreadful "out of focus" bug at startup and it doesn't work correctly under Windows 10

## Added

### Updates to "Night Mode"
- Setting "Enable Night Mode" added to main menu for easy access; you can still change it in the message box
- added support for several screens
- added support for images tool bar buttons
- added support for images panel border color
- coded some functions to change colors with ease: panels, labels, check boxes, radio groups, group boxes, forms
- the following controls are incompatible with dark themes, due to Windows theme forced painting or zero customization properties:
edit box, combo box, button, main menu, popup menu, tool bar button text
- additional tweaks to avoid flickering, highly noticeable in night mode

### New "Board Game" catver.ini filter added to "Arcade Miscellaneous Filter" (below "Mechanical" filter)

### New screen with 128x128 monster icons for "Arcade Files Versions" if screen resolution is 1024x768 and up (main menu "View")

### Interface changes to "Arcade Emulators Setup" and "View Arcade ROMs Folders" screens
- added monster 128x128 icons to systems list
- use checkbox "Large Icons" in bottom bar to enable the big system icons (disabled by default)
- additional tweaks

# version 8.5.7 change log - May 07, 2018

## Fixed

### Severe memory leaks after closing the clean install dialog (1 thousand memory blocks), caused by two TStringList vars

### All selected Neo-Geo MSV games are listed in "Run Game Confirmation Dialog" if you select a Neo-Geo machine with less cart slots

## Changed

### Remade some console/computer system icons so they can be properly used with dark backgrounds

## Added

### Dark themed message box... lights out!
- just tick the new "Night Mode" checkbox in the dialog's lower left corner
- since the RichEdit text colors cannot be changed "on-the-fly", it will only take effect next time the dialog appears

### "Multi-slot Machine" text added to show the selected "Neo-Geo MVS" machine before listing the games ("Run Game Configirmation Dialog")

# version 8.5.6 change log - May 02, 2018

## Fixed

### Holy crap-a-monium! Fix losing arcade emulator filename from "\arcade\emulators.ini" at startup, take three
- the info will be saved in .ini file only if emulator date/time stamp has changed
- whatever happens, current emulator info entries and system sections are no longer deleted from .ini file (garbage entries mode ON)
- only at "Arcade Emulator Setup" screen "emulators.ini" will change (add/delete entries and sections)

### MAMu_ icons folder path saving twice to "mame\ui.ini" after exiting "Preferences" screen

### MAMu_ icons folder path read from MAME and then read again from HBMAME (only MAME's "ui.ini" is used)

## Changed

### Reverted back some function calls in main screen's OnShow() event to OnActivate() event like it was in EL v8.4.7 as the newer tweaks were causing weird problems

# version 8.5.5 change log - May 01, 2018

## Fixed

### Obscure bug: after updating arcade emulator version info at startup, the filename with full path is somehow deleted from "\arcade\emulators.ini"; filename is no longer updated, just file date/time and version info

### Out of focus bug at startup still haunts us, so the new init zip images form is replaced by a simple panel directly in the main screen

## Changed

### The window "Layout Dimensions" will no longer be restored at startup to avoid the dreadul "out of focus" bug (accessible in images popup menu)

# version 8.5.4 change log - April 30, 2018

## Fixed

### Image layout splitters not restored correctly at startup for triple/quad layouts

### Zipped images contents list for MAME software lists not initializing correctly, causing them to not show up in preview images panel

### Image layout splitters not restoring to current positions after exiting "Image Category Settings" and "Image Layout Settings" screens

### Image category was not properly set to in-game snapshot at startup causing several problems:
- image panel settings not initialized correctly
- image hint panel settings not initialized correctly
- arcade emulator game snapshot folder setting was not being read from emulator config file
- zipped images was not initialized

### Fixes to clean install mode
- arcade emulator config file was not read/initialized
- arcade image folder paths were not being read/initialized
- tons of memory leaks caused by two vars that were not freed from RAM

## Changed

### Interface tweaks in "Arcade Emulators Setup" screen
- button "Update System" renamed to "Reset System" and its help text changed to reflect what it actually does
- lowered dialog height and merged all buttons in the bottom bar where they belong
- aligned "Ok" and "Cancel" buttons to the right side of the dialog
- "MAME Ash" build label link removed since it's no longer updated, replaced by HomeBrew MAME
- changed font of "Autorun Game With AlterMAME" to the same as other labels and simplified its help text to be more clear

### "Delete/Rename Preview Image" screen
- added "Dimensions: 0000x0000" label to show the image's resolution
- replaced category icon by a 68x68 sized monster and removed category title text
- interface tweaks

### Optimized uMain.DestroyImageLayoutControls function and removed fixed indexes of panels/splitters count

### Deleted "destroy controls" code in "uMain.SetImageLayout" function since it's an exact copy from uMain.DestroyImageLayoutControls function

### Replaced "image category selector" and "image layout selector" quick popup menus by improved dialogs in images tool bar buttons
- popup lists were too big for screen resolutions lower than 1080p
- 68x68 monster sized icons for easier navigation
- disabled categories/layouts do not appear in the list
- select a category/layout with mouse double-click or ENTER key or "Ok" button
- abort operation with ESC key or "Cancel" button
- reduced RAM usage and code tweaks for future improvements

### Startup tweaks
- double-checked function calls to prevent them executing more than once
- moved some code from uMain.OnActivate() event to uMain.OnShow() event to help mitigate the "out of focus" bug
- fixed a really weird "out of focus" bug that prevents scrolling games with mouse wheel after games list is loaded
- remove a few function calls trying to set focus to the main games list without populating it first

### Replaced zipped images initialization messages in splash screen by a darn cute small msgbox below the images tool bar
- way easier to spot categoy/layout changes
- centered on main screen window in thumbnails view
- message texts no longer sent to splash screen
- action text and visual improvements are now possible

### Image layout splitters now update the image panel while dragging them instead of just show a pattern line (experimental)

### Clean install dialog interface changed to a dark theme (old light theme is gone)

## Removed

### 2 TImageList components with 24x24 sized image categories/layouts icons and a TImageList with 68x68 arcade systems icons are no longer necessary as they are loaded on demand, directly from .ico files

## Added

### Quad Image Layouts
- 18 new image layouts to display 4 game preview images at the same time
- image panels cannot be hidden due to layouts mount complexity
- layout 1 have two modes: horizontal and vertical
hor: a single horizontal splitter that separates up and down panels
vert: a single vertical splitter that separates left and right panels
- hide layouts you don't want to use
- "Image Layout Settings" interface updated, 1024x768 / 1280x720 minimum screen resolution required

### New image layout setting "Use Custom Category for Console/Computer" ("Image Layout Settings" screen)
- define alternate image categories for MAME software games / console / computer systems
- dual / triple / quad layouts only; no point in doing this for single layout
- disabled by default, you can enable this setting in "Image Layout Settings" screen only - categories can be assigned to any panel
- unzipped and zipped images support
- image hint box in images preview panel is updated only when hovering the mouse on top of image panels, to maintain games scrolling high speed
- category background color is ignored to avoid heavy flickering while scrolling games
- useful to show "software cover" in place of "arcade flyer"

### Support new "Neo-Geo MVS" machines for MAME v0.197
- you can choose what Neo-Geo MVS machine to use when running multi-slot arcade games
- new file "arcade\mame_multislot_machines.txt" containing the valid list of machines; it can be manually updated when needed
- last used machine is restored next time you run multi-slot games
- when changing the machine to be used, games that exceed slot count are grayed out but can still be moved up/down in the list

# version 8.5.3 change log - April 04, 2018

## Fixed

### Supermodel3 emulator settings screen was not centered in the desktop

### The "Select" button for "BGFX Shadow Mask" file was not implemented

### Calling "set emulator default settings" from "Arcade Emulators Setup" was not passing the correct emulator filename parameter, resulting in bogus "full_path\emu_cfg_filename.ini" and causing frontend to crash when saving emu default settings

## Changed

### Enabled "Save to File" button in madExcept settings (bug report crash dialog)

### Send bug report will no longer zip the .txt; .png files (madExcept)

# version 8.5.2 change log - April 02, 2018

## Fixed

### "Image Category Settings" bug fixes (left-overs from old code)
- "Select" category was disabled and its folder selections was never saved on exit
- zipped images cache wasn't rebuilt on exit while in multiple images layouts, causing selected game images to not load

### Frontend crash if you try to use "Select" image category

### Auditing multiple selected games was not working if any of them use device or bios sets

### Wrong system selected in "single system selection" mode (Arcade system selection dialog)

## Changed

### Preview images panel color/splitter settings moved from "EmuLoader.ini" to "\ini_files\image_category.ini"; no more losing image splitter settings on a fresh install

### You can select scan mode and software list build mode when using "Create MAME Software Games List" in main menu "Arcade"

## Added

### Customize "preview images hint box" appearance (Preferences screen, "Images" tab)
- the hint box shows up when hovering the mouse on top on images panel
- box background color, box frame color and visibility, text color, text shadow color and visibility
- box opacity level (255 is opaque, 0 is transparent)
- settings saved in "\ini_files\image_category.ini" file to avoid loss on a clean install
- new setting "Show Unzipped/Zipped Icon" that display an "image icon" for unzipped images and "zip icon" for zipped images
(easier to spot if the loaded image is unzipped or zipped when hovering the mouse on top of it)

### Moved "Update Favorites Profiles" from main menu to "Help" sub-menu since its usefulness has passed; but if you're late into the frontend party, it's still available

# version 8.5.1 change log - March 29, 2018

## Fixed

### OH NO! Software lists were not audited after creating games lists in "update" mode

## Removed

### Removed a couple "[.zip; .7z]" strings from the splash screen's messages when auditing MAME/HBMAME games since it include CHD files, which are not zipped

# version 8.5 change log - March 28, 2018

## Fixed

### Bios/device ROMs showing as "Parent Bios" / "Parent Device" in game sets ("Arcade Scan Results" screen)

### Message panel not showing up when applying quick systems filter in grouped view mode

### MAME software list games not audited correctly if set has no main "gamename.zip" file but have CHD files

### Setting "MAMU_ Icons Folder" was not saved in .ini file when closing "Preferences" screen

### TEdit was in read-only mode; you can rename files in "Rename Image" dialog again

### Background color of single image layout was not restored at startup and not set after closing "Image Category Settings" screen

### Create ZiNc games list was setting bios ROMs as "parent ROM" on games sets

## Changed

### File "\arcade\image_categories.ini" renamed to "\arcade\sysimagefolders_arcade.ini" (done at startup)

### Image category background color/visibility settings moved out of "EmuLoader.ini" into a new "\ini_files\image_category.ini" file (done at startup)
- from now on, file is updated only when you change settings in "Image Category Settings" screen
- settings are no longer lost on a frontend crash or clean install

### Image layout visibility settings moved out of "EmuLoader.ini" into "\ini_files\screenshot_layouts.ini", where they belong (done at startup)
- from now on, file is updated only when you change settings in "Image Layout Settings" screen
- settings are no longer lost on a frontend crash or clean install

### Changes and fixes to "Game Details" screen
- CHD files of software list games were not correctly detected, "software name" parameter was missing
- added "extra required set" info for software list games
- bios set filename not shown in "Game Files" section (left panel)
- several tweaks

### Tweaks to "Create MAME Games List"

### Changes/fixes to "MAME Software List Games"
- detection of "sharedfeat requirement" tags in .xml files when creating games lists; highly experimental!
- some games require an extra set to run properly; Atari 2600 cassette, PC-Engine CD, others (info shown in "Game Details" screen)
- if a game doesn't run and you're sure you have all game files, look for this extra info above the "Games Files" section, left panel
- requirement data stored in a new "arcade\games\mame.elsoftlistreq" file
- the extra parameter is added before the gamename parameter
- expanded options to create software lists (new "update" mode)
- "Disable": do not create software lists and delete current games list files
- "Enable: Update": create new lists and update existing ones only if CRC32 checksum of "mamedir\hash\softwarename.xml" file has changed (XML file updated)
- "Enable: Overwrite": create new lists and overwrite existing ones even if CRC32 checksum match
NOTE: settings can be found in the screen to select systems when creating MAME games list and in "Scan Games Mode" screen
- new "xmlfile_crc32" entry in "frontenddir\arcade\mame_softwarelist_games\softname.el" to compare with MAME "softname.xml" (for "update" mode only)

### Interface changes to Select Arcade System" dialog
- added new software list modes
- systems list moved to a left panel
- option "For This Task Only" is unchecked by default
- info texts improved

### Changes to "Arcade Miscellaneous Filters" (main tool bar buttons)
- renamed "Device" drop-down list to "Device ROMs" since this filter is not exclusive to device sets
- renamed "BIOS" drop-down list do "BIOS ROMs" since this filter is not exclusive to bios sets
- renamed texts from "Sets" to "ROMs" in "Device ROMs" and "Bios ROMs" drop-down filters since they are related to particular ROMs, not the entire set
- renamed "Filter by Main CPU Filter" to "Enable Main CPU Filter Bar"
- renamed "Games with ROMs (any set)" to "Games With ROMs (any ROM)" in "Game ROMs" drop-down list since this filter includes device/bios ROMs
- renamed "Games with no ROMs" to "Games With no ROMs/CHDs" in "Game ROMs" drop-down list to reflect what the filter actually does
- new category filter "Music" for sets like "VGM Player" (vgmplay)
- minor interface tweaks

### Renamed several "function" code blocks to "procedure" since they don't need to return a result

### Minor interface tweaks to Preferences screen, and removal of texts with "7 pixel" font size

### If screen resolution is smaller than the dialog, scroll bars will be added to the TForm so you can see everything (experimental!)
- for screen resolutions smaller than 1280x1024 and because some dialogs just can't be scaled down
- supported dialogs: "MAME Settings", "Game Details"
NOTE: minimum screen resolution for Emu Loader is 1024x768 / 1280x720 but some dialogs still fit on 640x480 resolution

## Removed

### Masssive source code cleanup (commented/not used code)

## Added

### Search .chd files in "\softlist_name\" sub-folder for MAME software lists

### Support to search .chd file in "\parent_gamename\" sub-folder; MAME supports this; "romspath\parent_gamename\clonename_file.chd"
- now you can have clone CHD files in the parent folder
- for MAME arcade, MAME software list, Demul

### New file "arcade\filters\supermodelsegamodel3_control_type.ini"
- a list of control tags and descriptions, extracted from Supermodel3 source code
- for now, it only show controls list in "Game Details" screen; not used anywhere else

### File header detection for "Atari 800" cartridges before running games (highy experimental, used by all Atari800 emulators, except MAME)
- the first 4 bytes of file will be read, looking for 'C' 'A' 'R' 'T'
- if tag is found, Emu Loader will no longer add the cartridge type in the full command line
- any file extension is supported for unzipped game files
- for zipped game files, Emu Loader will unzip it to a TMemoryStream and validate the tag; only ".bin; .car; .rom" file extensions are supported
(if there's more than one file inside .zip, the first one found with any of the 3 supported extensions will be used)

### HBMAME Software List support, to be used in the distant future, in a galaxy far, far way... what works:
- create games list
- audit games files
- show softlist games in main games list
- run games
- for everything else, they are handled as MAME softlist games (for now)

### Setting "Restore Internet Game Info at Startup", to restore the last state of internet game info button at startup ("Preferences" screen, "General" tab)

### Setting "Disable Threaded Preview Image Loading" in "Preferences" screen / "Images" page, to prevent images loading delay and "Invalid pointer operation" error

### Support for MAME 0.196
- new comm setting: "Syncronize Frames" in "Input" tab

# version 8.4.7 change log - February 22, 2018

## Fixed

### Proper detection of "Board ROMs" on game sets that use "model2" ROMs; "SEGA Model 2" system
- you must re-create games list fix this
- this is a cosmetic fix, ROMs validation is not affected

### Fixes and tweaks to Game Details screen
- missing parent setname text not showing in left panel if parent zip file is not found
- SHA-1 checksum generated for zipped EmuCon console/computer games (32 MegaBytes max file size)
- bios/device icon indexes were switched in left column
- "Bios CHD" file was tagged as "Device CHD"; cosmetic fix

## Changed

### "Create MAME/HBMAME/Demul Games List" updates
- improved detection of sets with CRC32 collisions, a new file created "arcade\games\systemname_crc32collision.txt"
- added a "devicename" tag for each device ROM entry for proper SHA-1 validation (MAME)
- added "feature patelle" tag detection in -listxml output to fix missing "color status" (MAME v0.194 and newer)
- optimizations and code cleanup

### MAME and arcade games files validation system changes and fixes (games audit)
- device sets not scanned correctly when auditing a single game (MAME) - device ROMs are now properly validated and game sets are no longer tagged as "available" if a device ROM is missing (MAME)
- device and bios zip file list contents (CRC32/SHA-1) are now loaded into RAM only once when validating multiple games, for faster access
- CRC32 collision detection and SHA-1 validation for device/bios ROMs; game ROMs are not yet supported (MAME and Demul)
- game files are unzipped directly into a "TMemoryStream" var (RAM), so SHA-1 checksums can be generated
- several optimizations and code cleanup

## Removed

### Old commented code cleanup

# version 8.4.6 change log - February 13, 2018

## Fixed

### A "beep" command was left in zipped images list chaching function

### Forgot to reindex the tab's internal indexes in MAME Settings screen

# version 8.4.5 change log - February 12, 2018

## Fixed

### Previous/Next buttons events executing when "Internet Game Info" is enabled (images tool bar)

### Images panel canvas locked before loading "Layout Settings" screen, causing memory leaks and frontend freeze

### Current images layout settings was not saved when exiting the frontend

### Tool bar "Filter By Main CPU" was appearing above the main tool bar buttons (Arcade Miscellaneous Filters)

## Changed

### "Internet Game Info" tweaks
- images tool bar buttons visibility are no longer changed as they cannot be used with web viewer
- added a "Play Video Preview" button in the web panel's tool bar for easier access

### Changes to "Preview Images" feature
- more tweaks to improve category selection events
- removed remaining "Internet Game Info" code from main menu "Images"
- added "image_category_dir\softlist\softlist.zip" path scan support for MAME software lists
- now you can have your zipped images file in a "\softlist\" sub-folder (eg.: "snap\msx1_cart\msx1_cart.zip")
- file "image_category_dir\softlist.zip" will be searched first (eg.: "snap\msx1_cart.zip")
- not sure if MAME's internal frontend supports this... - tweaks to selected game's image file search function (tiny speed boost)

### Renamed "View Game Documents" to "Show MAME Game Documents" (games popup menu), as this is a MAME exclusive feature

### Tweaks in game documents feature to remove redundant selected game checks

### Minor improvement when switching Images on/off while in thumbnails view; StringList cache for zipped images is reloaded only when setting "Images" enabled (might need further tweaks)

## Removed

### Deleted several old commented code from source code

## Added

### New "Show Only Sets With CRC32 Collision" arcade misc filter (to help future games audit improvements)
- useful filter to know what sets have same CRC32 checksum on different game files
- if the set is a game (parent or clone) but the affected files are from a device or bios set, the game will NOT be tagged as "CRC32 collision"
- so far, only two MAME sets have this: "segadimm" and "segasp"

### New feature: "Game Documents Display Mode"
- wanna show game docs in a full panel without disabling images ? there are two settings:
- "Images and Game Docs Single Panel": default frontend behavior and will show game docs together with preview images
- "Images and Game Docs Tabbed Panels": use this to show images and game docs in separate panels (like MAME's internal UI)
- to change it, go to Preferences screen (main menu) and select "Game Docs" page
NOTES:
- two new buttons added on images tool bar to switch between panels: "Images" / "Game Documents"
- if images tab is selected, game docs for selected game will not load
- if game docs tab is selected, images for selected game will not load
- settings are saved in "el_extras.ini", "[GameDocuments]" section
- if either images or game docs is disabled, a blank panel will be displayed (behavior may change later)
- if both images and game docs features are disabled, no panel will be displayed

# version 8.4.4 change log - February 05, 2018

## Fixed

### Function uMain.EncodeUnicodeString() was not converting WideString to UTF-8 correctly

### Timer frozen while loading MAME software list games at startup (splash screen)

### Fixed a bug in my TPanelEx component for proper Windows themed "Tool Bar" paint style

### Some calls to preferences screen were not redirected to "Preferences" main menu event

### Setting "http_root" in "mame.ini" was not implemented (it used to be "http_path")

### Total play time info corruption ("frontend_dir\arcade\played_games\" folder)
- playing a game for 2 minutes was adding 4 hours or so
- MAME softlist games are also affected
- console/computer games were not affected (EmuCon frontend ported systems)

### Driver status not set to "Good" when creating Supermodel games list
- "supermodel_dir\config\games.xml" doesn't have "driver status" entries
- selecting a driver status filter other than "List All", makes Supermodel games not visible
- you must create Supermodel games list again for proper games filtering

## Changed

### Changes to "Export Games List To File" feature (main menu "Games List")
- exported file was not saved in UTF-8 format
- expanded game info options; "Full Format" only
- you can export the file to a format compatible with Microsoft Excel's "import file" feature, using the new "Microsoft Excel Format" checkbox; "Full Format" only
- added a new "Use Games List Columns" checkbox to use current columns settings from main games list; "Full Format" only
- added a couple help buttons with usage instructions
- settings are saved in "el_extras.ini" so you won't have to change settings all over again
- removal of dead code
- several tweaks

### Changes and fixes to "Preview Images"
- added a couple variables in "ImageDetails[]" array to keep track of last used image index (max 30 images per category)
- several changes in uMain.LoadScreenshot() function for different image index per image panel
- several changes in "Previous/Next Image" buttons for proper index detection on each image panel (images tool bar)
- removed "Category Prev/Next Auto Switch" and "Layout Prev/Next Auto Switch" settings as they don't work anymore ("Images" main menu)
(use "F11" / "F12" and "F9" / "Ctrl+F9" hotkeys to change categories and layouts... or prev/next category/layout buttons in images tool bar)
- uMain.DisplayImage fuction tweaks to prevent memory leaks, leading to frontend crashes
- feature "Image View Mode" is no more, only layouts are available from now on
- classic view was using single image layout, it makes no sense keeping it
- you can change image category only when in single image layout, with category buttons in images tool bar or in "Layout Settings" screen
- fixed some bugs in load/save layout profiles
- single image layout setting is now saved in "ini_files\screenshot_layouts.ini" file
- tweaks, tweaks, tweaks!

### Removed "Internet Game Info" from image categories and made it standalone
- access with a new button in images tool bar
- if this panel is enabled, images and game docs of the selected game will not load
- images tool bar is no longer visible in the internet browser panel; to go back into "images / game docs" just click "Exit Internet Game Info" button
- it requires preview images to be enabled
- renamed file "image_internet.ico" to "internet_gameinfo.ico" in "resources\main_icons\" folder

### Changes and tweaks to "MAME Settings" screen
- renamed "Video 2" tab to "Video 3"
- added a new "Video 2" tab and moved some settings into it ("Video" tab was getting extra cluttered)
- "Performace" settings
- "Screens" settings
- "Monitor Provider" setting
- UI tweaks in "Video 2" tab
- "Render Options" panel
- "Artwork" panel
- "Snapshots / Movies" panel
- new MAME v0.194 settings: "Fallback Artwork" and "Override Artwork" ("Video" tab)

## Removed

### The following files are no longer needed:
- "resources\main_icons\ok.ico"
- "resources\main_icons\image_viewmode.ico"
- "resources\main_icons\chronometer.ico"

# version 8.4.3 change log - January 05, 2018

## Fixed

### Oh boy... "Delete/Copy/Move Games Files" was not working at all (games popup menu)
- copy/move operations not working even when game file exists
- replaced action functions by Unicode ones: "CopyFileW()", "MoveFileW()", "DeleteFileW()"; they seem to work OK
- the "\mame_softlist_folder_name\" folder was being added BEFORE "\system_folder_name\" folder... D'OH!

## Changed

### Changes to "Copy/Move Games Files"
- games list screen is closed after moving files even with operation errors; after moving files you can't move them again anyway
- when copying files, the games list screen stays open in case you want to copy them to another location (handy mode ON)
- forgot to add support for "Video Tape (VHS)" media type in the "copy/move" dialog (MAME CHD files)
- several tweaks
- removal of ancient code

## Added

### Feature "Copy/Move Games Files" got a new checkbox setting, enabled by default: "Add System Folder"
- what does it do ? It adds a "\system_name\" sub-folder at the end of the "Destination Path" you selected
- in previous frontend builds this was enfoced, giving you no option to disable it
- system names cannot be customized but are really easy to spot
- for both single and multiple games selection dialogs
- useful when you want to copy/move files of games from the same system and don't want them to be copied/moved to a "system" sub-folder
- when multiple games of different systems are selected, this settings is always enabled, even if you uncheck it ("Crash 'n Burn" mode OFF)

# version 8.4.2 change log - January 03, 2018

## Fixed

### Frontend crash if you select "All Systems" in the arcade systems select dialog, when ZERO systems are enabled ("Create Arcade Games List" / "Scan Games")

### You could select "All Systems" in the arcade systems select dialog even if ZERO systems are enabled, making the frontend crash

### System title and type text bar properly relocated for 1280x720 resolution; it was completely hidden in "Image Category Settings" screen

## Changed

### Memory card changes and fixes
- finished implementing the file search routine, it was still only searching for "*.mc", "*.mc1", "*.mc2" files
- all file extensions are now scanned and displayed in the memcard files list, no longer limited to MAME's file extensions from -listxml output
- file search masks: "gamename.*" and "game title.*"
- MAME's file extensions are only used to select files in the "open file dialog", used in slots "Select" buttons
- fixed an error where softlist memcard files could not be located in the correct folder, which is "machine_to_run_foldername\softist_foldername\gamename_foldername\"
example of the corrected search fix: "mamedir\memcard\psu\psx\wildarms\*.*" ("psx" softlist folder name wasn't being added before)
- for software list games, ALL files are scanned inside the "\gamename\" folder since you will only have memcard files for that game
- more teaks are removal of dead code

## Added

### New "This system is not available" text in the system title bar below the systems list; for systems that are disabled ("Image Category Settings" and "Video Preview Settings")

# version 8.4.1 change log - January 01, 2018

## Fixed

### FATALITY! Demul games with CHD files and ZiNc games with CDs were not being set as "Media Type = Disc" when creating games lists, messing up with games filtering and games files validation system; you MUST create games list for both systems again, it's the only way to fix it

## Changed

### Fixes and changes to "Filter Arcade Games by Main CPU" ("Miscellaneous Filters" tool bar button)
- partial string support in TEdit box; you don't need to type the full CPU title anymore
- files "arcade\games\mame_maincpu.ini" and "arcade\games\hbmame_maincpu.ini" were not being loaded to the combo box control, making it impossible to select a CPU to filter the list
- selecting a CPU in the combo box list will automatic filter the games list... as it should have been!
- the CPU TEdit box will be emptied when selecting a CPU in the combo box
- moved the CPU combo box list to the left as it makes more sense
- improved filtering speed when games list is in grouped view mode
- tweaks to improve CPU names search speed

### Changes to the startup process
- detailed messages in splash screen so you know what the frontend is actually doing
- on a clean install (no arcade/console/computer games files found), the splash screen is closed to avoid being on top of the clean install dialog, making it look like the frontend is frozen, even though the timer is still running
- if you have arcade emulators selected but the executable files are not found, the frontend will no longer ask you to select them again ... old code leftover, sorry
- source code cleaning and some minor tweaks applied

### Changes to "Run Game (Extra Parameters)" (games popup menu)
- added support to four (4) memory card slots; PGM2 games use it
- detection of memory card file extensions (from -listxml output) so you can use MAME's supported file extensions per game/driver
(you need to create MAME/HBMAME games list again)
- file extension filters in select file dialog changed to support any extension (.*)
- mouse double-click on a listed memcard file will add it to "slot 1"
- resize memcard files list panel according to slots count

## Removed

### Demul v0.582 and older is no longer supported!
- games with GD-ROM files were never properly detected and were handled by the frontend in a extremely weird way
- nobody probably use old Demul builds anyway because I haven't got a single bug report for the last 2 years
- from now on, only Demul v0.7 and newer will be supported

## Added

### Detection of "ced_videodisc" disk region tag in -listxml output
- for "disk" entries and MAME only
- "CED VideoDisc" is handled as "Disc" (or "CD") media type
- this is purely cosmetic and it doesn't alter the way Emu Loader validates CHD files

### New MAME CHD media type: "Video Tape"
- detection of "vhs" region tag in -listxml output ("disk" entries only)
- new game file IDs: "21 -> Game Video Tape"; "22 -> Device Video Tape"; "23 - Bios Video Tape"
- this is purely cosmetic and it doesn't alter the way Emu Loader validates CHD files

### New "mediatype_tag" for MAME CHDs, Demul CHDs and ZiNc games
- tags added when creating games lists
- tags are listed in "arcade\games\system_name.elrom" files
- only "Disc" media type have this new tag (CD, DVD, Laserdisc, GD-ROM, AudioCD, CED VideoDisc)
- supported tags: "cdrom", "laserdisc", "gdrom", "audiocd", "ced_videodisc"
- for a future improvement, and there won't be exclusive icons for them, only a general "disc" icon
- MAME software lists "MIGHT" be supported in the future... maybe
- this is purely cosmetic and it doesn't alter the way Emu Loader validates CHD files

# version 8.4 change log - December 28, 2017

## Fixed

### Clicking "Abort" button in "Systems Quick Filter" was resetting the filter to the full filter... DUH!

### Search bar filter was not working with "Systems Quick Filter"

### Some detail texts were incomplete in search bar's settings popup menu (tool bar buttons)

## Changed

### Tweaks to "Arcade Misc Filters"
- moved enable/disable filter code from main form to misc filters form
- code cleaning and minor tweaks

## Added

### Support for AntoPISA's "mature.ini" file so you can filter out adult/mature games using "Arcade Miscellaneous Filters" tool bar button (thank you AntoPISA!)
- to be used with "category.ini" which doesn't have adult or mature categories
- the frontend will add a * Mature * string at the end of categories for proper display (only in RAM)
- you'll find "mature.ini" file inside the "CatVer" package at http://www.progettosnaps.net/catver/
- you can still use AntoPISA's "catver.ini" instead of "category.ini" + "mature.ini"

### New MAME v0.193 settings in "MAME Settings" screen, "Miscellaneous" tab
- "Save NVRAM on Exit": to disable saving NVRAM on exit
- "Enable Save State Rewind": to enable rewind save states
- "Rewind Buffer Size": to set a rewind buffer size in megabytes
NOTE: setting "Directory to Save States" is still in "Folders" tab

# version 8.3.9 change log - December 21, 2017

## Fixed

### Fixes and changes to "Last Played Games (MRU)
- bugged user interface if a console/computer game (from EmuCon) is selected in main games list (cosmetic fix)
- button "Abort" renamed to "Close" since it doesn't reset to the last selected game in main games list if a new game is selected with "Select Game" button
- the dialog was not resizing correctly, several adjustments were made; also, added proper support for resolutions lower than 1680x1050

### EmuCon system was not properly selected in "Console/Computer Games Folders Settings" dialog (main menu "Console/Computer" and "Select Games folders" button in "Console/Computer Emulators Setup" dialog

## Changed

### Changes to "Select a Machine to Run the Game With" dialog
- display filename text below the game title for EmuCon games
- minor tweaks to the user interface, both visual and loading speed
- deleted a nasty message box that appears if the selected EmuCon system doesn't have assigned MAME software lists

### Neat new looks for the "Select Default Emulators to Play" dialog ("emulators" tool bar button); plus a few tweaks
... still, more cuteness tweaks required

# version 8.3.8 change log - December 18, 2017

## Fixed

### Function ELV_SelectItem() was only handling ANSI strings, making it impossible to search for Unicode game titles

### Systems popup menu was not drawing correctly; mouse right-click ("Machine Type / Systems" full filter in tool bar buttons)

## Changed

### Changes and fixes to "Console/Computer Games Editor" (main menu "Console/Computer")
- if a EmuCon game is selected in the main games list, the corresponding system and game is selected in this dialog
- bug fix: when selecting another system, the games filter was not making the last selected game visible

## Added

### Changes to "Systems Quick Filter" (tool bar buttons)
- added a popup menu in the Systems list to help select/unselect systems with ease (mouse right-click)
- to avoid unselecting systems that are already selected, I recommend to move the mouse on top a selected system
- added "[enabled]" and "[disabled]" texts in the filter caption bar so you know if it's currently enabled or not

# version 8.3.7 change log - December 13, 2017

## Fixed

### A few bugs in the function to restore last selected game on a frontend restart or when changing the view mode (tool bar buttons)
- wrong game selected if two games of the same system have the same file name but different media types
- added support for console/computer games (from EmuCon frontend)
- Unicode filenames was not handled correctly
- settings stored in "EmuLoader.ini", "[Selected]" section have changed
- code optimization

### The feature "Select Game at Startup" was not working properly (games popup menu)
- added support for console/computer games, ported from EmuCon frontend
- added detection of media type
- settings stored in "EmuLoader.ini", "[SelectGameStartup]" section have changed
- code optimization

### More general tweaks

# version 8.3.6 change log - December 11, 2017

## Changed

### Initial work to expand media type indexes for MAME and arcade games
- currently there is only "0 = ROM" and "1 = CHD"
- future changes will include "Cartridge", "Floppy Disk", "Cassette Tape", "MAME CHD", "Hard Disk Drive", "Compact Flash Card", "Video Tape" (or "VHS")

### Changes to last played games (MRU)
- added gamename / gamefile column to the games list
- removed "title", "media" and "execparam" tags from .txt files (arcade games); they will be parsed from the main games list, if available
("game name" is used as game title if not found in main games list)
- several tweaks to the user interface and internal code
- MAME software name column now shows the softlist title instead of softlist name
- CHD media type for MAME and arcade games is still using general CHD index; no "disc", "hard disk drive" or "compact flash card" support yet
- if screen resolution is 2560x1440 or higher, 68x68 icons are used in systems list and system title font changed to "Verdana" because the text is clearer than Tahoma
- fixed a bug were the selected system was not updating internal variables and not showing the games list for the selected system

# version 8.3.5 change log - December 05, 2017

## Fixed

### System type label was invisible in "Last Played Games" (MRU) screen

### Filters tool bar customize dialog changes - moved "Search Bar" from the list to the bottom since it's a different kind of filter
- all tool bar filters are visible again

## Changed

### Fixes/changes to the games search bar panel (tool bar buttons)
- removed the "down arrow" from the TEdit box and added a new "settings" button next to it
- fixed a drawing bug related to that "fake" down arrow button inside the TEdit box
- the TEdit box doesn't cut the right-end text anymore when scrolling the text
- minor tweaks

### Changes to the "Systems Quick Filter"
- renamed "Reset" button to "Reload" since it only re-select last used systems in the systems list
- added a new "Reset To Default" button that disable quick filter and reset games filter to "Machine Type / Systems" full filter
(it works the same way as clicking "Apply" button in "Machine Type / Systems" dialog)
- added new system selections: "All Arcade Systems", "All Console Systems", "All Computer Systems", "All Handheld Systems"
individual selected systems will remain selected even after exiting the quick filter dialog

# version 8.3.4 change log - December 04, 2017

## Fixed

### Some icons were misplaced when "Small Tool Bar" buttons setting is enabled

## Changed

### More source code optimizations

### Changes to the Machine Type / Systems mega filter (tool bar buttons)
- custom cell drawing with customized icons draw position
- added a system type icon/text below the sytem title; now you know if a system is arcade, console, computer or handheld
- fixed a bug were unchecked systems were not ghosting the system icon when opening the dialog

## Added

### Forgot to implement the "Read Usage Rules" viewer in games popup menu / "Run Console/Computer Game"... oopsie!

### New "Systems Quick Filter"
- this filter allows you to quickly select one or more systems to show in the list without making changes to the "machine type / systems" main filter
- it will bypass the settings from the "machine type / systems" completely but it will apply the settings from the other filter in the tool bar
- the "MAME Machines Filter Panel" will be automatically disabled, even if MAME system is selected in this quick filter
- if filter is active, an icon with a green stripe will be loaded in the tool bar button
- if filter is disabled, an icon with a red stripe will be loaded in the tool bar button

# version 8.3.3 change log - November 29, 2017

## Fixed

### No more crashes when fast scrolling games by holding down UP/DOWN keys; caused by the LoadScreenshot() function when "Images Layouts" view mode is enabled

### Games list was not reloaded after creating a games list for a single console/computer/handheld system

### Bugs in "Create Console/Computer/Handheld Games List" (main menu)
- memory leak after creating games lists
- from now on, the games list will only be reloaded if there are new games added (new games lists or existing games lists)

### Bugs in "Delete Multiple Selected Games Files" feature (games popup menu)
- access violation if there are console/computer/handheld in the list due to a leftover code from the EmuCon port
- if you disable "Delete Games Files From Disk", the game filename was still being validated for deletion (without actually deleting the file)
- the delete/copy/move progress dialog was left open if zero files were processed

## Changed

### Several optimizations and source code cleanup; arcade related files also moved to a new "source\arcade\" folder

# version 8.3.2 change log - November 27, 2017

## Added

### New game category filters in "Arcade Misc Filters" tool bar button... for MAME v0.191 and newer ("category.ini" or "catver.ini" required)
- Calculator: for calculator machines
- Educational: for educational machines
- Electronic: for all electronic boards and devices
- Utilities: misc utility machines/devices
- Printers: for printer devices
- Phones: for various phone devices
- MAME Console Machines: for console machines (extracted from -listxml output)
- MAME Computer Machines: for computer machines (extracted from -listxml output)
- MAME Handheld Machines: for handheld machines (extracted from -listxml output)
NOTE: the misc screen was enlarged to fit more filter options

# version 8.3.1 change log - November 26, 2017

## Fixed

### Error message "The system name is blank" when trying to run bios sets with Demul emulator; the frontend will no longer allow to run bios sets with Demul

### Frontend crash due to a fatal "out of memory resources" error when in thumbnails view mode, if the thumb cell width and/or height are set to zero; this is a strange bug that might happen at startup

### I forgot to change the game icons to 68x68 if thumb image size is smaller than 128x128; thumbnails view mode only

# version 8.3 change log - November 24, 2017

## Fixed

### ZiNc returning "Error Code 1: Invalid Function"
WARNING: this is not a bugfix! If you get this error, make sure to install the "d3d-ogl12.zip" plugin and the problem WILL go away

### No more "new display type found" annoying messages when creting MAME/HBMAME games lists; warning messages will be displayed one ONCE at the end of the process!

### Selected game always moving position in the screen after running a game or changing preview image category/layout... "Don't get jittery!"

### FATALITY! Emulators executable info and ROMs folders info are deleted if a new emulator build is found at startup (file "eldir\arcade\emulators.ini")

### Path bug when searching unzipped preview images for software list games, resulting in existing images not showing... nobody noticed this ?

### ListView item height changed to 22 pixels when icon size is 16x16; icon/text vertical alignment was not centered

### Hitting ESC key would execute the "Apply" button instead of "Abort" button (Image Category/Layout Settings)

### Custom font for games with preliminary drivers added back (MAME/HBMAME)

### MAME software list games with no ROMs were not tagged as "Game with no ROMs", causing some problems when auditing and running games

### Setting "AutoRun Game With AlterMAME" was not restored at startup; moved setting from "eldir\arcade\emulators.ini" to "EmuLoader.ini" ("Arcade Emulators Setup" screen and games popup menu)

### EL was trying to run MAME software list games with AlterMAME when its build version is lower than 0.162

### EL was trying to run HBMAME games with AlterMAME

### The following settings were never read from mame.ini: "OSD Lightgun Input Provider", "OSD Joystick Input Provider" (MAME Settings screen)

### You could not select items by clicking outsize the text area ("Arcade Games Filter" tool bar button)

### Unicode strings were not decoded correctly for software list games

### Category and VersionAdded are now limited to MAME and HBMAME sets only; MAME software list games also excluded

### Option "Show/Hide All Categories" was not working properly (Image Categories Settings)

### Selecting an image category folder was changing internal vars even if you don't have a system and/or image category selected ("Image Category Settings")

### Frontend crash at startup if in thumbnails view with MAMu_ icons feature enabled

### Thumbnails grid size not properly set at startup, creating a larger thumb image on the last selected game; plus a couple optimizations to improve startup speed

### If system icon is disabled, game icon and favorite icon are painted outside the thumb image bounds, making them invisible (thumbnail view)

### Game snapshots panel is now cleared when switching to internet game info

### Setting "Hide Command Prompt Box" / "Run Game" disabled for all emulators except MAME/HBMAME; emulators do not work correctly if setting enabled (also causes ERROR 1 in ZiNc)

### Editing a field directly in EasyListView conponent was not showing the text if the font color is other than black (TEdit controls background color is always white...)

### Feature "Scan Games With Missing ROMs/CHDs" was not working at all (games popup menu, MAME and arcade emulators)

### Dialog "Select Arcade System" was default to "MAME" instead of "All Systems"

### Neo-Geo games with "neopcb" driver were not included in the "Neo-Geo" filter (MAME arcade only)

### Games popup menu option "Set Custom Options" for "arcade", "console", "computer", "othersys" doesn't show the current selected game in "MAME Settings" screen anymore

### YOU LOSE! Daphne game .zip files were not being searched at all when scanning for games; I guess NOBODY uses Daphne with Emu Loader because I've got ZERO bug reports for the past year!

### If the filename for games list background image doesn't exist, after a manual filename edit (edit box), the current loaded bk image was not cleared (preferences screen)

### Wrong media type for"disk" entries in games files for ZiNc games; they were detected as "Hard Disk Drive" when the correct media is "Disc"
To fix this you need to re-create ZiNc games list. Not doing so will cause no harm to the way ZiNc games are handled (it's up to you)

## Changed

### MAME machines filter panel can have the same background color/image and font settings from main games list

### MAME/arcade emulators and MAME/arcade games lists are no longer required to use the frontend!

### Unavailable systems are now shown with a ghosted icon and gray text (systems selection panels), except for "Emulators Setup" screens

### EasyListView component changes and improvements:
- New "TileCaptionLines" property (ItemPaintInfo) so you can change how many lines the main caption will be shown; normal behaviour is a two lines caption for tiles view; this change is used in the new game custom fonts dialog, to display a single line on the main caption
- cosmetic fix: focus rect is now a solid frame

### Renamed "Delete Selected Games" to "Delete Selected Games Files" to avoid confusion (games popup menu); this option delete your game's ROMs/CHDs/CFGs/Cartridge/Floppy/Cassette...

### Renamed "Copy/Move Selected Games to Folder" to "Copy/Move Selected Games Files to Folder" to avoid confusion (games popup menu)

### Moved MAME softlist games list folder from "eldir\softwarelist\" to "eldir\arcade\mame_softwarelist_games\" since they belong to MAME emulator; EL will try to move this folder at startup

### From now on, setting "Show Favorite Icon in Games" is only for details view mode ("Favorites" tool bar button)
... to enable/disable favorite icon in thumbnails view, go to "Customize Thumbnails" screen ("View" tool bar button or "Thumbnails" sub-menu in games popup menu)

### Unicode WinAPI "CreateProcessW()" is now the default function to run emulator executables; better compatibility with Windows 10;
also, the "StartF_UsePosition" flag is always enabled

### Moved arcade games list files from "el_dir\arcade\" to new folder "el_dir\arcade\games\"
WARNING: you must move all files manually before using this build (or delete your current arcade game lists and start over)

### Moved "\ini_files\cpu.ini" file to "\arcade\games\" folder, renamed and split file in two: "mame_maincpu.ini" and "hbmame_maincpu.ini"
WARNING: the frontend will not do this for you, you need to re-create MAME and HBMAME games lists

### Moved "ini_files\games_played.ini" to new folder "\arcade\played_games\", split file for each arcade emulator and renamed to "system_name.txt"
- the frontend will try to move/split/rename "games_played.ini" at startup, no action required from your part
- last played game is always moved/added at the top of the list (like it does in EmuCon frontend)
- arcade files format has changed; added a "title" tag with the game title, a "media" tag with the media type index and a "execparam" tag with MAME softlist execution parameter
- console/computer/handheld (EmuCon) files format has changed; "game" tag replaced by "file" tag

### Moved folder "\emulator_ini\" and all its files/sub-folders to "\arcade\emulator_ini\" new folder (you must move it manually)

### Moved files "emulators.ini" and "image_categories.ini" from "\ini_files\" folder to "\arcade\" folder (EL will move them at startup)

### Moved the following files from "\ini_files\" folder to "\arcade\" folder (you must move them manually before using this build)
- mame_softlist_exclude.txt
- el_mamu_exclude.ini
- mame_machines_usercustom.ini

### Moved the following files from "\ini_files\" folder to "\arcade\filters\" new folder (you must move them manually)
- category.ini
- version.ini
- catver.ini
- mess.ini
- nplayers.ini
- languages.ini

### Moved "\ini_files\memcard_lastused\" folder and all its files/sub-folders to "\arcade\memcard_lastused\" (you must move the folder manually)

### Moved the following files from frontend's root folder to "\arcade\db_xml\" new folder; they were also updated (make sure to delete your current files from EL's root folder)
- DICE_xml.dat
- SEGAModel2_xml.dat
- SEGAModel2-v1.0_xml.dat
- SupermodelSEGAModel3_xml.dat
- ZiNc_xml.dat

### Frontend logo changed to "Multiple Systems Frontend" since it's not just arcade systems anymore

### Minor hack in TFontDialog component to allow custom colors selection (first color in colors list); it's not perfect but it works

### Support for 3840x2160 resolution (4K) in "Scan Results" screen. ListView font sizes increased to 14 pixels and form width increased extra 500 pixels (squinty mode off)

### Removed the 1000 chars limitation from command line string... uMain.RunProcess() function

### Default MAME machines for softlist games is no more! Bugged feature. eg.: "Atari 400" machine was auto-assigned to "Atari 800" games... DUH!
From now on, you will be prompt to select a MAME machine just before running a game... if a machine is not already selected

### Changed the scope of a few internal vars from global to local; no need to define them as global and waste RAM

### Updates to favorites profiles
- filename extension changed from .ini to .txt as they are plain text files, either ANSI or UTF-8 format
- merged profiles of same filename from Emu Loader frontend and EmuCon frontend into a single file
- you must use fav profiles from EmuCon v2.7.6 or v2.7.7 (profiles of older EmuCon builds are NOT compatible)
- moved arcade favorites profiles from "\ini_files\favorites\" folder to "eldir\favorites\" (DO NOT MOVE fav profiles manually!!!)
IMPORTANT: profile files must be manually updated by you, using the new "Update Favorites Profiles" in main menu (AFTER updating EmuCon fav profiles, if you have them!)

### Updates to "Favorites Manager"
- new "Settings" button in the buttons tool bar: "show small, medium, large fonts"
- you can resize the window to any size
- you can resize columns
- better handling when renaming title/filename and when cleansing invalid game entries
- button "Cleanse" modified to handle arcade and console/computer/handheld (EmuCon) games
- dialog is now always centered on screen

### Updates to the customize main tool bar buttons
- support for new "EmuCon" buttons
- added new "MAME and Arcade" and "Console/Computer/Handheld" text tags on each button
- auto-resize if resolution is 640x480
- minor tweaks to the interface

### Changes to the thumbnails view and the "Customize Thumbnails" dialog
- renamed "Keep Aspect Ratio" to "Maintain Aspect Ratio"
- renamed "Grid Size" to "Cell Size" since you change the size of each cell not the entire grid
- added support to customize width and height of the thumbnail
- cell vertical size is not increased internally by the frontend if game title text setting is enabled... that's your job
- if game title text is enabled, you must increase cell vertical size to accomodate text
- new thumbnail preview panel so you can view changes on-the-fly without appling them to the main games list
- new files "resources\images\thumbnail_preview_hor.png" and "resources\images\thumbnail_preview_vert.png" required
(vertical image is only used/viewed if your screen resolution is 1280x720 or higher!)
- new "Image Size" text above thumb preview panel, for fine-tuning... if you want perfect square images when "Game Title" checkbox is enabled
(it won't work if you have custom game fonts of different sizes!)
- game icon size 128x128 is now used if no snapshot is found
- minimum thumbnail cell size changed to 120x120 pixels; 68x68 game icons will be used if cell size is smaller than 144x144 pixels
- new settings "Left Align Icons" and "Right Align Icons"; align system/game/favorite icons to the left corver or the right corner of the thumbnail image
- new "Cancel" button to restore last settings before entering custom thumbnail settings screen (even after using the "Update" button!)
- main games list thumbnails are only refreshed if you actually change thumb settings when pressing "Update" or "Confirm" buttons

### Several changes, fixes and optimizations to frontend startup
- the frontend will no longer complain if you have an emulator selected without a games list for it, or have a games list without an emulator selected
- clean install has changed: it only validate frontend games list files (MAME/MAME software list/arcade/console/computer/handheld); emulator executables are only required to create MAME/arcade games lists
- new "clean install" dialog with multiple choices for easier handling; self-explanatory with detailed information
- some tweaking to prevent arcade emulators settings from loading twice (in some cases)
- removed redundant validation code to decrease the startup time

### Split image category settings and image layout settings dialog into two dialogs to avoid confusion (and duplicate code)

### Changes to "Image Category Settings" feature
- added support for console/computer/handheld systems ported from EmuCon
- merged arcade/console/computer/handheld systems into one big list for easier access
- minimum 1024x768 / 1280x720 resolution required
- several tweaks

### Changes to "Game Video Preview" feature
- moved settings from preferences screen to its own dialog, accessible in main menu "Images", images popup menu, and games popup menu
- you can abort changes by clicking the "Cancel" button (safe mode)
- added support for all console/computer/handheld systems ported from EmuCon
- merged arcade/console/computer/handheld systems into one big list for easier access
- minimum 1024x768 / 1280x720 resolution required
- minor optimizations

### Games list font settings changes:
- support console/computer/handheld systems ported from EmuCon
- font settings saved on a new file "ini_files\sysgamecustomfont.ini" instead of "EmuLoader.ini" so you don't lose them on a clean frontend install
(you can copy this file from EmuCon before using this Emu Loader build)
- new "All Systems" font setting added so EL can use it as a general systems font (arcade systems font settings are EXCLUDED from this)
- added games list background color/image settings if you want to change those settings while choosing game fonts (settings are still in preferences screen)
- huge UI facelift
- access more settings in the popup menu (mouse right-click)
- support various screen resolutions, including 4K (3840x2160)

### Tiles view mode changes:
- new setting: "Tiles View Cell Size" (view mode tool bar buton); change this option if you're using large game fonts
- details text font is now fixed to "Trebuchet MS", size 9 (size 12 for larger cell sizes)
- details text font color is set automatically by the frontend depending on the games list background color (either black or white font color)... HIGHLY EXPERIMENTAL!

### Changes to "Delete/Copy/Move Multiple Selected Games"
- support for console/computer/handheld systems from EmuCon
- bios name set info removed (MAME and arcade systems)
- the "Check Arcade File Types To Delete" box options are limited to MAME, MAME software list games and arcade systems
- new settings for the console/computer/handheld systems (MAME and arcade are not supported)
- "Delete Game From Games List"; you can delete a game from the main games list files (like in EmuCon)
- "Delete Game Files From Disk"; checking this option will delete the game files (like in EmuCon)
- gamename search bar removed; this was a ridiculously useless thing to have in there...

### Several files in "eldir\resources\main_icons\" renamed and moved to another folder

## Removed

### Last selected game per system is gone; if last selected game is no longer visible after a games filters change, the first visible game is selected

### File "resources\images\favicon_thumbnail.png" no longer required

### Machines filter tool bar button is no more (replaced by something a lot better)

### Arcade systems filter tool bar button is no more (replaced by something a lot better)

### The following icon files are no longer required, "\resources\main_icons\" folder: "filterarcade_00_listall.ico"; "filterarcade_00_multi_system.ico"; "filterarcade_01_mame.ico"; "filterarcade_02_supermodelsegamodel3.ico"; "filterarcade_03_daphne.ico"; "filterarcade_04_demul.ico"; "filterarcade_05_hbmame.ico"; "filterarcade_06_dice.ico"; "filterarcade_07_segamodel2.ico"; "filterarcade_08_zinc.ico"

###

## Added

### Support for latest Demul 0.7 WIP (November 11, 2017)
- detection of "merge" tag and alternate filenames
- fix bios titles to match MAME

### New "media type" status bar icon next to the game name / game filename for the main games list (preliminary feature!)

### Support new "Games.xml" file used in Supermodel 3 emulator SVN 592 and newer, so games list can be created from it
- if this file is not found ("supermodel3_dir\Config\Games.xml"), the frontend "outdated" custom file will be used (frontend_dir\arcade\db_xml\SupermodelSEGAModel3_xml.dat)
- support fully merged child sets (clone games); note that partially merged child sets are NOT supported by the "Supermodel 3 Emulator"... you either have all child ROMs in the parent set or all child ROMs in the child set!

### New options for screen view: "Cropped" and "Stretched" (MAME Settings screen)

### Support for MAME v0.183 and newer:
- new "PortAudio" sound output mode ("Sound" tab); also extra settings: API, device, latency
- new "UWP (Windows 10)" OSD Input Provider for keyboard and joystick; only supported in Windows 10
- new "Hybrid DInput/XInput" in "OSD Joystick Input Provider"... hybrid DirectInput/XInput joystick, Windows only

### Support for MAME v0.190 and newer
- detection of new "feature" entries from -listxml output ("sound" and "graphics" types only for now...)
"unemulated" entries are renamed to "preliminary"
- detection of new "SVG" display type for MAME v0.191 and newer

### Added several Unicode functions in "source\uCommon.pas" for future improvements and better Windows 10 support

### Added detection of the "optional" tag in ROMs/CHDs (MAME/HBMAME), for future frontend improvements

### New console/computer/handheld systems and games lists (major port from EmuCon frontend!!!)
- what ???! MAME calls them "loose software"; games that are not listed in software lists ("mamedir\hash\" folder)
- in most features, handheld systems are included in "console" system
- created two new main menu items to separate system types: "MAME/Arcade" and "Console/Computer"
- new menu items to setup emulators, games folders, images folders (main menu "Console/Computer"):
-> Emulators Setup
- select up to 4 emulators per system
-> Systems Folders Settings
- select games folders for each system and media type (cartridge, floppy disk, cassette tape, disc, hard disk drive)
-> Systems Editor
- assign MAME software lists to EmuCon systems; multiple software lists can be assigned to a single EmuCon system ; (this requires a MAME games list and a MAME/arcade emulator selected)
-> Games Editor
- you can split games data: title, year, manufacturer, number of players (MAME and arcade games are not supported)
-> Create Games List
- I wonder what this does. Humm... I've got it! It makes pudding :)
- new "frontend_dir\console_computer\" sub-folder to store config files, games lists and extra stuff
- column "Category" shows the system name + media type, just like MAME softlist games
- play MAME software list games with custom emulators: BlueMSX, WinVICE, Win-UAE, FS-UAE, Snes9X, ZSNES, Altirra, Atari 800 Emulator, Stella, and many others
- you can use MAME and AlterMAME emulators selected in the arcade front to play console/computer games from EmuCon (some games might not work)
- you can still select MAME/MESS/UME binaries in "console/computer emulators setup" and use them to play games (to maintain EmuCon compatibility)
- you can have two parameters for each emulator; to change between them, go to the new "Use Param" tool bar button
- you can play a EmuCon game using different MAME machines, by using the new "Run Game With MAME" in games popup menu... thanks to the new "Systems Editor"
- this setting is saved in "frontend_dir\console_computer\mame_systems_softwarelist.ini" file
eg.: "msx1_cart", "msx1_flop", "msx1_cass" MAME softlists are assigned to the "MSX" system; you can use any MSX/MSX2/MSX2+/MSX Turbo-R MAME machine to play games not found in MAME software lists
- settings from EmuCon frontend can be easily used in Emu Loader simply by copying some files into Emu Loader's new "\console_computer\" sub-folder
-> EmuCon files/folders to be copied to "el_root_dir\console_computer\" folder:
- sysemulators.ini
- sysgamefolders.ini
- sysimagefolders.ini
- emulator_parameters.ini
- emulator_parameters[default].ini
- ignore_extensions.txt
- "\games\" folder and all its files
- "\game_cfg\" folder and all its files
- "\played_games\" folder and all its files
-> EmuCon favorites profiles must be copied to "el_root_dir\favorites\" new folder
-> NOTE: if you make changes to these files in Emu Loader, you can copy them back into EmuCon install dir and use them there without worries :)
-> NOTE: you must update favorites profiles manually using "Update Favorites Profiles" in main menu; after the update you can delete "frontend_dir\console_computer\favorites\" and "frontend_dir\ini_files\favorites\" folders

### New mega filter dialog for machine types and systems filters
- all systems now have check boxes, make sure to tick them to select the desired systems
- new "All Arcade Systems" and "All Console/Computer/Handheld Systems" options so you can quickly show or hide all available systems
- individual systems checked status are no longer lost if you check "All Systems" options :) :) :) :)
- machine types expanded:
- "Arcade Systems": to hide/show all arcade systems (MAME softlist games excluded)
- "Console Systems": to hide/show all console systems ported from EmuCon (MAME softlist games excluded)
- "Computer Systems": to hide/show all computer systems ported from EmuCon (MAME softlist games excluded)
- "Handheld Systems": to hide/show all handheld systems ported from EmuCon (MAME softlist games excluded)
- "MAME Machines With Software Lists: to hide/show all MAME machines that have software lists (info from -listxml output)
- "MAME Machines Without Software Lists: to hide/show all MAME machines that do not have software lists (AntoPISA's "mess.ini" file required)
- "MAME Software List Games: to hide/show all softlist games from MAME (based on "mamedir\hash\*.xml" files
- "Enable MAME Machines Filter Panel": filter MAME software list games by MAME machines (left side of main games list)
- check more options in the systems popup menu (mouse right-click)
- settings are saved in EmuLoader.ini when exiting the frontend

### Added a warning message in the "Run Game Confirmation" dialog for ZiNc; ZiNc returns "error 1: incorrect function" if don't have the "d3d-ogl12.zip" plugin installed in ZiNc

### Support AntoPISA's version info and category .ini files for HBMAME emulator
- rename "version.ini" to "version_hb.ini" to avoid replacing MAME's "version.ini" file
- rename "category.ini" to "category_hb.ini" to avoid replacing MAME's "category.ini"
- only then, copy both .ini files to "eldir\arcade\filters\" folder

# version 8.2.9 change log - November 26, 2016

## Fixed

### Frontend crash when switching to internet game info (images tool bar button) and if starting the frontend with "internet game info" selected

### Error detecting MAME driver .ini files if gamename and drivername are the same (games popup menu, custom game/driver settings)

# version 8.2.8 change log - November 23, 2016

## Fixed

### Oopsie! Crash when trying to read "ini_files\image_categories.ini" when it doesn't exist

# version 8.2.7 change log - November 23, 2016

## Changed

### Split "ini_files\folders_emulators.ini" in two: "emulators.ini" and "image_categories.ini"; to fix MAMu_ icons folder not updating to .ini file
- this update will occur at startup, if file "folders_emulators.ini" still exists...

# version 8.2.6 change log - November 22, 2016

## Fixed

### Select a media player and reset parameters buttons doesn't work; video preview, preferences screen

### Message box dialog doesn't display unicode game titles in the top bar

### Proper detection of PNG, JPG, GIF, BMP image types, to fix frontend freezes and crashes (unzipped and zipped)

### Memory leak when exiting the frontend; image panel controls were not destroyed properly

### If clicking button OK in "Emulators Setup" screen, emulators info are not updated correctly in "folders_emulators.ini" file

### Neo-Geo filter was broken; from now on, it is done by checking only the "neogeo" bios name instead of driver names

### Several fixes to preview images and EL's internal zip files cache system
- memory leak when switching image categories in classic view mode; images zip cache was not properly terminated
- memory leak when exiting the frontend if it was started directly in thumbnails view
- images zip cache were initialized three times over if starting frontend directly in thumbnails view
- when starting frontend directly in thumbnails view, after switching to another view mode, images zip files cache was not reinitializing; on images layout view, only game snapshots were showing
- when switching to thumbnails view, image zip files cache was not cleared, wasting RAM... only game snapshot cache is needed

### Frontend crash while parsing LUA plugin info from "plugin.json" files... EL was not checking for empty lines, causing the crash (MAME settings screen)

### MAME snapshot name format was not scanned correctly for parent sets (snap\gamename\0000.png)

### Switching to "Internet Game Info" now clears the image zip files cache (image categories popup menu)

### Cycle image categories doesn't select "Internet Game Info" anymore (images tool bar button)

### Filter "Taito G-NET" was not working

## Changed

### Changes to thumbnails view
- minimum size increased to 152 pixels
- game icon size changed to 128x128 pixels
- added system icon in thumbnails to separate similar games of different systems
- added game icon so you know if game is parent, clone, available, missing
- you can no longer delete game snapshots of multiple selected games; to prevent frontend corruption
- setting "Show Images/Game Docs Panel" is no more, it was causing too many bugs; from now on, images panel is always enable in thumbs view
-> you must enable/disable images in main menu images, view mode button, games popup menu "Thumbnails" sub-menu or in Thumbnais Settings dialog
-> this also fixes a couple bugs related to game docs panel in thumbs view
- UNFIXABLE bug: if you change games font (name/size), the thumbnail cell size doesn't update correctly; only a frontend restart fixes it

### Game name icon in games list status bar now show frontend's default game icon (system/have/miss icon status)

### From now on, driver ini files are only searched in "inidir\source\" folder, except for MAME builds older than v0.118
- it fixes gamename.ini files from being deleted if driver name and game name are the same
- starting MAME v0.179 there is no support for drivername.ini in "inidir\" folder

### No more gradient selection bar on games lists, and any other list that uses EasyListView; single color is enough

### Changes to "Delete single selected game dialog"
- fixed a bug that was not calculating the total files listed, so dialog's width/height can be properly adjusted
- extended width and height to support higher screen resolutions; 640x480 is still supported

### User interface tweaks/updates to "delete/rename game image"

### Split read/write routines of emulators binaries and images folders from the main ReadIniFile() / UpdateIniFile() functions
- to update images paths settings (ui.ini; folders_emulators.ini) right after exiting "Image Categories Settings" screen; prevent loss of changes in case of an app crash... FINALLY!!!

###

### Tweaks to "Select Machine to Run Game" (software list games related)
- show favorite icon in machines
- support higher screen resolutions

### Load preview images with threads enabled by default... toggle button no longer available in images tool bar

## Removed

### Setting "Selected Game Dark Font" no longer needed; font is always in black color on selected games (preferences screen)

### Columns "Game Status" and "Software Info Tip" removed from the main games list
IMPORTANT: make sure to delete "eldir\ini_files\columns_profile.ini" before starting the frontend or it might crash!

## Added

### Driver status icon info next to the game icon in games list status bar (useful in thumbnails view)
-> good = green; imperfect = yellow; preliminary = red

###

### Support MAME v0.179

### New security setting: Disable "Delete/Copy/Move Games Files"; to prevent kiddies from messing with your games files (preferences screen, "Games List" tab)
NOTE: this setting is disabled by default; to protect your ROMs you must check the new setting

### Multi-slot arcade games loading support for HBMAME
- systems: Neo-Geo, STV, MegaTech
- new files: "arcade\hbmame_multicart_neogeo.ini"; "arcade\hbmame_multicart_stv.ini"
- misc filters "Show Only Neo-Geo MVS" and "Show Only STV Multi-Slot" also include HBMAME games

### Software list games: new info "part name" / "part title" for games with multiple files (floppy disk/cassette)
- EL can show you the title of the floppy disk (see game "aleste2" in "msx2_flop" softlist)... for future expansion

### Changes to preview images feature:
- file "image_09_internet.ico" renamed to "image_internet.ico"
- new categories: end, boss, logo, score, versus, game over, how to play, select
-> read/write folder paths in MAME's "ui.ini", if file found
-> only .png files are supported since these categories are from the actual game screen
-> see "docs\el-readme.txt" to find out what are the valid .zip filenames for each category (same as ClrMAME)
-> you can find these collections at Progetto-SNAPS (http://www.progettosnaps.net)
- added a new image category custom hint box that doesn't disappear after 4 seconds (mouse hover over image)
- maximum images per category increased from 10 to 30

### Support separate zip filenames for software list snapshots, so you don't have to put snapshots of all your software lists in "snap.zip"
- files must be the in same folder as snap.zip (or same folder as titles.zip; marquees.zip; cabinets.zip; etc...)
- zip filenames must be the same as software list names, for all image categories! (msx1_cart.zip; nes.zip; n64.zip; snes.zip; etc...)
- filenames like "msx1_cart_titles.zip" or "a7800_titles.zip" are not supported
- you can find these image packs in Progetto-SNAPS website (http://www.progettosnaps.net)
- all image categories are supported
- if you make changes to any .zip file, a frontend restart is required; Emu Loader uses a temporary cache system to avoid open/close .zip files for each selected game (abuse mode OFF)
- these softlist zip files will be scanned before snap.zip

### Added icons size options for machines list side panel; "small (16x16)", "standard (24x24)", "large (32x32)", so you can use bigger game fonts (machines list popup menu)

### Setting "Multiline Captions" is alsos applied to machines list side panel (preferences screen, "Games List" tab)

### Machines list side panel background color and parent/clone font settings are now the same as main games list

# version 8.2.5 change log - October 19, 2016

## Fixed

### Removed the "ding" sound if you press ENTER key in the select folder dialog

### No "ui.ini" detection when changing MAME/HBMAME binary; it was causing problems if "ui.ini" is missing

### ZiNc games failed to run, generating error code 1; frontend "LongToShortPath()" function was not working; it's replaced by "ExtractShortPathName()" function from Delphi XE 10 Seattle compiler, which works... YAY!

## Added

### Support "ui.ini" for HBMAME; v0.172 and newer required

# version 8.2.4 change log - September 28, 2016

## Fixed

### Misc filter: Hide "nodump" Games was showing these sets and hiding everything else... sorry, my mistake!

## Added

### Support for MAME v0.178
- games filters updates:
- "Arcadia Systems": added "arsystems" driver to filter
- "Capcom ZN-1": added "coh1000c" bios set to filter
- "Capcom ZN-1": added "coh1000a" and "acpsx" bios sets to filter (Acclaim PSX)
- "Capcom ZN-1": added "coh1000w" and "atpsx'" bios sets to filter (Atari PSX)
- "Capcom ZN-1": added "coh1001l" and "atluspsx" bios sets to filter (Atlus PSX)
- "Capcom ZN-1": added "coh1002e" and "psarc95" bios sets to filter (PS Arcade 95)
- "Capcom ZN-1": added "coh1002m" and "tps" bios sets to filter (TPS Tecmo PSX)
- "Capcom ZN-1": added "coh1002v" and "vspsx" bios sets to filter (Video System PSX)
- "Capcom ZN-2": added "coh3002c" bios set to filter
- new filter "Sega Chihiro", validated by driver name "chihiro"
- new setting "Monitor Discovery Method: "auto'; 'win32"; "sdl" "dxgi" ("mame.ini"; MAME settings screen/Video 2 tab)

### New column for details/grouped views: "Software Name" (software list games only)

# version 8.2.3 change log - September 27, 2016

## Fixed

### ROMs/CHDs validation system fixes
- old Demul builds v5.8.2 was setting GD games available when they shouldn't (naomigd, naomigd2); they use .bin files instead of CHDs, and must be handled as ROMs; EL was wrongly detecting them as CHD files...
- from now on, MAME games with all ROMs tagged "nodump" are set as "available", even if you don't have the "gamename.zip" file (excluding CHD files)
-> why ??? "nodump" ROMs can't be validated as they don't have CRC32 checksum and the frontend doesn't validate ROM names or ROM sizes; take "Taito Type-X" games, they have CHD files and all ROMs tagged "nodump"; if you have the CHD files, game should be set as available so you know you have the CHD files, even if you can't play (tagging those games as missing makes no sence)
- sets with no ROMs/CHDs were being tagged as "all ROMs no dump", affecting set validation ("Atari 2600" and others)
- sets with no ROMs but have CHDs, were being tagged as "all ROMs no dump", affecting set validation

## Changed

### Tweaks in the game details screen (ROMs/CHDs list)

## Added

### Support for ROM/CHD "baddump" status tag. This doesn't affect the audit system, it's for information only (game details screen, audit results screen). To see this info you must re-create the games list (MAME/HBMAME, Demul)

# version 8.2.2 change log - September 24, 2016

## Fixed

### CHDs of bios/device sets were not being detected when deleting game files (single game selected or multiple selections)

### Frontend crash if destination path is empty (copy/move game files); Added an error message box to remind the user

### Version info was not being read from emulators other than MAME/HBMAME in "Emulators Setup" screen (oops!)

### The function to fix Demul bios titles was returning the set name instead of set title

### FATAL BUG: non-smooth list scrolling with UP/DOWN arrows; you couldn't select games from "middle to top"; ... the "MakeVisible(Middle)" function from EasyListView was causing horrible problems

### Renamed a few remaining "Control Panel Layout" texts to "Software Cover"

## Changed

### BIG update: Format of ROMs list files have changed (arcade\systemname.elrom)... again. This requires you to re-create the games list for ALL systems!
- ROM/CHD filenames with equal sign ( = ) are no longer renamed; it was causing problems with some MAME .chd filenames
- SHA-1 checksum included to separate the CRC32 from SHA-1 data
- detection of CRC32 collisions within the same set (MAME/HBMAME v0.177 and newer, Demul)
- detection of duplicate ROMs in the same set; they are no longer added when creating a games list (same name, same CRC32, same SHA-1)
- File ID tag expanded to support cartridge, floppy disk, cassette tapes, hard disk, Disc (LD/CD/DVD/GD), Compact Flash Card file
see "docs\el-romsdatabaseformat.txt" file for details
- Media type tag added to each file, to keep track of what kind of file it is (same as " "0" for ROM/Cartrige/Floppy Disk/Cassette; "1" for CHDs (HDD, CD, Flash Card)
- all features updated to use the new file format (delete games files, scan games, scan results, game details, and others

### Missing ROMs/CHDs file format update (arcade\systemname.miss)
- file entries changed to "CRC32;SHA1=FileStatus"
- CHD filenames are no longer used
- ROMs tagged as "nodump" are not added to the miss file anymore

### Game details screen fixes and changes
- added SHA-1 checksum in ROMs/CHDs list
- added file type icon in the filename column
- removed "ROM", "CHD" strings from the status column
- changed ROMs list font to "Segoe UI" size 9 and checksum columns to "Consolas" size 9
- made ROMs list columns header clickable so you can sort the files by checksum
- weird bug where Delphi 7 compiler was seeing a local var as initialized when its NIL; fixed by moving the var into global scope
- window would cut the CHD filename text in the left panel if the text uses more than 1 line
- increased window size; required resolution is now 1024x768 / 1280x720 (lower resolutions will show horizontal and/or vertical scroll bars so you can view all the info)

### Fixes and changes to "delete selected games"
- fixed a few bugs regarding files listing; affected systems: MAME/HBMAME
- CHD files of clone sets were showing as "[Parent CHD]" (fixed)
- two new CHD icons, "Disc" (LD/CD/DVD/GD) and "Compact Flash Card"
- adjustments and tweaks to "view files list"; access it with popup menu in "Delete Multiple Files" dialog
- many, many... many optimizations and code cleaning

### Split "last used memory card .ini" file to support different machines for the same game (MAME/HBMAME)
- file "ini_files\mame_memcard_lastused.ini" is no more; this file didn't care what machine you were using
- new files are now in "ini_files\memcard_lastused\mame\machine_name.ini"
... the "machine_name" is replaced by the actual name of the machine you selected to run games
- one game can have an unique memory card for EACH different machine (psu, psa, psj, pse)
NOTE: the data on your current "ini_files\mame_memcard_lastused.ini" file cannot be used, sorry for the inconvenience

### Some texts were still using "Lucida Console" font instead of "Consolas"

### Replaced all "image not found" files by "resources\images\emuloader.png"; files in "resouces\images\no_image\" are no longer required

### Moved "novideo.avi" file from "resources\images\no_image\" to "resources\images\" folder

## Removed

### Replaced the "MachinesTitle" TStringList var by a optimized function, to retrieve the title of "machine to use" directly from the main list (for software list games); this var was only being used in the "Run Game Confirmation Dialog", wasting precious 20KBytes of RAM :D

## Added

### Internal var "buildHBMAME" to track the HBMAME version in use
- needed for CRC32 collision checkups (HBMAME v0.177 and newer)
- some features might require this version validation in the future, just like MAME does

### Support for the latest Demul v0.7 (August 18, 2016)
- detection of new games and new machines to run them
- support for MAME CHD files
- detection and removal of duplicate ROMs
- detection of CRC32 collisions ("dimm" set and perhaps others ?)
- older Demul builds are still supported (minimum v0.57)

### New icons for cartrige, floppy disk, cassete tape, CHDs (CD and Flash Card)
- files "media_Cartridge.ico", "media_FloppyDisk.ico", "media_CassetteTape.ico", "chd_cd.ico", "chd_cfcard.ico" ("\resources\main_icons\" folder)
- used in game details screen, delete selected game files, show scan results

# version 8.2.1 change log - September 05, 2016

## Fixed

### Record input was not working at all due to source code corruption; had to write some functions from scratch :(

### Reset record input filename was not selecting a valid file in the files list (if a match exist)

## Changed

### Changes and fixes for "Run MAME With Extra Parameters":
- added a new "Reset to Title" button so you can reset the filename to the game title (Input File tab)
- file "gamename.inp" is not always at the top anymore (Input File tab)
- finished implementation of "Record Current Section to a Movie" (.avi; .wav; .mng)
-> default save folder for arcade/non-arcade machines is "mame_snapdir\record_video\gamename\"
-> default save folder for software lists is "mame_snapdir\record_video\softlistname\gamename\"
-> you can select a file in the list to overwrite it with a new recording

# version 8.2 change log - September 01, 2016

## Fixed

### EL was trying to get emulator version info from batch files, something impossible; it only works if you select a .exe file as emulator filename

### Tweak: zipped image filenames are now the same as MAME's default image folder names; "uMain.GetImgZipFileName()" function

### Updated frontend docs files, specially "docs\el-quick-setup-quide.txt" that had wrong/missing information

### Parsing MAME .ini files array detection was a little bugged (mame.ini, drivername.ini, biosname.ini, gamename.ini, etc)
- last file in the array was not being read at all... the most important file with final settings (MAME settings screen)
- file "arcade.ini" was being read for software list games
- files "console.ini", "computer.ini", "othersys.ini" were being read for arcade games/machines
- added a "MaxIniCountMAME" constant for easier tracking

### Folder of record input files and the "-statename" parameter for software list games were wrong. They must be saved in a "machinename" sub-folder because an input file (and save state) from one machine is not compatible with a different machine
- MSX1 machine name "expert11"; file "mame_inpdir\expert11\msx1_cart\gooniesb.inp" cannot be loaded in the MSX 1 machine "cf3300"
- MSX1 machine name "expert11"; file "mame_savestatedir\expert11\msx1_cart\gooniesb\gooniesb-slot1.sta" cannot be loaded in the MSX 1 machine "cf3300"

### Menu item shortcut (right-align) was not aligned correctly due to shortcut text font being 1 pixel smaller than menu text

## Changed

### A bunch of "Date/Time" texts replaced by "Date Modified"

### From now on, if the MAME version cannot be extracted, EL will assume you're using the latest MAME build; this is necessary to prevent further frontend corruption

### When running software list games, the -snapname and -statename parameters on "mame.ini" are ignored and modified by the frontend, so game snapshots and save state files are created on proper folders... adding "\machine_name\softlist_name\gamename\" sub-folders to the full path, parsed from "mame.ini"
- run game "gooniesb" from "msx1_cart" software list and "expert11" machine, save state files will be saved in "mame_statedir\expert11\msx1_cart\gooniesb\0.sta"
- run same game above and take a screenshot, the file will be saved in "mame_snapdir\msx1_cart\gooniesb\0000.png"
- this is only for software list games... arcade games don't need this as MAME save files in proper folders
- there's no ON/OFF toggle, this feature is always enabled

### Changes to "Internet Game Info"
- MAWS game info removed since it no longer exists
- renamed "Progetto EMMA Game Info" to "Internet Game Info"
- added edit boxes to customize internet link games and MAME software list games (preferences screen, "Images" tab)

### Changes to "Video Preview"
- relative path is now bound to the emulator directory, not the frontend
- new feature "Snap Dir Auto-search": videos will be searched in "emudir\videosnaps\", "snap\videosnaps\" and "snap" folders ("snap" folder parsed from emulator config file)
- custom video folders are now optional due to the auto-search feature; you can leave them blank (preferences screen, "Video Preview" tab)
- when searching videos in the "snap" folder, EL will try to ignore files with .png and .jpg extension

### Big changes to the image preview feature (snapshots, cabinets, flyers, etc...)
- default folder for "In-Game Artwork" renamed from "snapartwork" to "artpreview"; to match MAME folder name
- file "image_09_maws.ico" renamed to "image_09_internet.ico" ("eldir\resources\main_icons\" folder)
- added support for MAME's filename format "\snap\gamename\0000.png" and "\snap\softlist_name\gamename\0000.png"
- only in-game snapshot category is supported!
- only unzipped files are scanned (zipped images will NOT be supported!)
- replaced the zombie "Control Panel Layout" image category that nobody uses by "Software Cover"
- MAME's new "ui.ini" file is now used to read/write image folder settings; if file not found, settings will be saved in frontend "\ini_files\folders_emulators.ini" file
- added compatibility with ClrMAME: unzipped image files can be in extra sub-folders for each image category
-> game snapshot: custom_snapdir\snap\gamename.png
-> title snapshot: custom_titledir\titles\gamename.png
-> marquee:custom_marqueedir\marquees\gamename.png
-> flyer: custom_flyerdir\flyers\gamename.png
-> cabinet: custom_cabdir\cabinets\gamename.png
-> control panel: custom_ctrlpaneldir\cpanel\gamename.png
-> software cover: custom_softcoverdir\covers\gamename.png
-> pcb: custom_pcbdir\pcb\gamename.png
-> in-game artwork: custom_artpreviewdir\artpreview\gamename.png
NOTE 1: these extra folder names are hard-coded in MAME source code and cannot be changed!
NOTE 2: only MAME/HBMAME are supported!
- image folder keyname entries in "eldir\ini_files\folders_emulators.ini" have changed to meet MAME setting names from "mamedir\ui.ini"
- file scanning order changed to prioritize unzipped images
1. custom_snapdir\gamename.png
2. custom_snapdir\snap\gamename.png
3. custom_snapdir\gamename\0000.png
4. custom_snapdir\parent_gamename.png
5. custom_snapdir\snap\parent_gamename.png
6. custom_snapdir\snap\parent_gamename\0000.png
7. gamename.png (from snap.zip)
8. parent_gamename.png (from snap.zip)

### Changes to MAMu_ icons feature
- MAME's new "ui.ini" file is now used to read/write icons folder setting; if not found, setting will be saved in "eldir\ini_files\folders_emulators.ini"
- default icons folder is now "icons" since this is MAME's default folder
- relative path is now bound to the emulator directory, not the frontend; this is the way it should've been from the start!
- unzipped files can be on an extra "icons" sub-folder; "custom_iconsdir\icons\gamename.ico" (ClrMAME friendly)
- HBMAME games also display MAMu_ icons, but there is no separate icons folder or icons.zip support for HBMAME; MAME game icon files are used

### File "ini_files\times_played.ini" renamed to "ini_files\played_games.ini" and the game name format of software list games
- old format: 'gamename_softlistname=???"
- new format: 'softlistname\gamename=???"
- the file will be renamed and updated the first time you start Emu Loader
- invalid game name entries will be deleted from the file

### Favorite profile files format has changed for software list game entries ("eldir\ini_files\favorites\" folder)
- old format: 'gamename_softlistname=system_name"
- new format: 'softlistname\gamename=system_name"
- arcade games and MAME machine name entries have not changed
NOTE: Emu Loader will NOT update favorites to avoid file corruption

### File "arcade\multicart_neogeo.ini" renamed to "arcade\mame_multicart_neogeo.ini"

### File "arcade\multicart_stv.ini" renamed to "arcade\mame_multicart_stv.ini"

### Speed up several operations with multiple selected games, specially in grouped view mode (50% faster)... games filtering is still slow

### The following functions were modified by me and optimized for multiple TEasyGroups usage (EasyListView.pas)
- function TEasySelectionManager.First: TEasyItem;
- function TEasySelectionManager.Next(Item: TEasyItem): TEasyItem;

### Load Multi-Slot Games dialog updates
- UI adapted to avoid "squinty face" mode on high resolutions
- font of all columns changed to "Segoe UI" size "9"
- all column resize according to text length, except game title
- for resolutions lower than 800x600, dialog resizes itself

### Big rewrite of "Run MAME with extra parameters" feature... games popup menu, "Run Game (Extra)" menu item
- new feature: load memory card files; basically for Sony PlayStation (software list games) and Neo-Geo machines (arcade/console)
- you can use "play/rec input files", "load save state", "load memory card" features all at the same time now!!!
- menu items tree "Play Game (Extra)" removed, replaced by a single and more optimized "Play Game (Extra Parameters)" menu item (games popup menu)
- new screen with tab pages so you can activate each feature (all disabled by default)
Playback/Record an Input File
Load a Save State
Insert Memory Card
- you must check the "Enabled" checkbox to activate each feature you want to use
- files lists are always sorted by newest date and the newest file is always selected by default
- insert memory card details:
- default folder is "mamedir\memcard\" even though MAME doesn't support "memcard_directory" entry anymore
- you can select a file from any folder you want or choose a file listed in the "\memcard\" folder
- if a relative path is used, the "mamedir\memcard"\ folder is used for the full path
- only file extensions ".mc", ".mc1", '.mc2" are supported... let's not make a mess here!
- machines that support memory cards are listed in a new file "\arcade\mame_memcard_support.ini"
- EL will save and restore the last used files into a new "ini_files\mame_memcard_lastused.ini" for every game you play!
- only 2 memcard slots are supported; if a machine support more slots, please let me know

### Some UI adjustments in MAME Settings screen (still not good enough)

## Added

### Support for MAME v0.176
- support reading "plugin.ini" from MAME's root folder and/or "mamedir\ini\" sub-folder (root folder is searched first)
- settings "Record Rendered Video Filename (AVI)" removed from both BGFX and HLSL features since they now support "auto" (it uses game name filenames automatically)

### Support for MAME v0.177
- new "mame.ini" settings: "Uneven Stretch Vertical" and "Auto Uneven Stretch" (MAME settings screen)

### New "Save State" filter (machines popup menu) and new column in "MAME Machines List Side Panel" (Machines toolbar button)

### New columns "Clone of" and "Save State" in "Select Machine to Run Game" (games popup menu)... for software list games

# version 8.1.7 change log - July 05, 2016

## Fixed

### Var "eThumbnailFileName" was not being cleared when reloading games data into the list or deleting selected game thumbnail

### Memory leak when exiting the frontend while in thumbnails view mode (selected game thumb var still in RAM)

## Changed

### Modified my custom "TGaugeBar2" component (Graphics32 library) to support "0.000" float values (three decimals)

### Whene deleting thumbnails, zipped thumbs are skipped since they cannot be deleted... to improve speed when deleting multiple thumbs

## Added

### Setting "Disable V-Sync" added back to Supermodel settings (requires emulator SVN 446 or newer)

### Support for MAME v0.175; also added new "Vector Post-Processing" settings in "Direct3D Post-Processing" page ("Video 2" tab)

# version 8.1.6 change log - June 05, 2016

## Fixed

### Sega Model 2 ROMs paths were not being correcty read from "emulator.ini", making it impossible to validate games

## Changed

### Moved all category filters inside a group box; removed "Light Gun" category filter (Miscellaneous tool bar filters)

### Clicking "Reset" button, text in TEdit box is cleared (search bar)

### Pressing "ESC" key, the text in TEdit box is cleared (search bar)

### Changes to "Game Details" (games popup menu / Shift+I shortcut)
- if save state is "unknown" (empty), info is not shown anymore
- "Played" info renamed to "Last Played"
- "times played" info moved from "Last Played" to "Playtime" info

# version 8.1.5 change log - May 29, 2016

## Fixed

### Search bar was not working anymore after implementing controls search bar button

### Removed the annoying "ding" sound when pressing ENTER and ESC keys in the search bar TEdit control

## Changed

### Setting "Allow Only One Instance" is now enabled by default; to avoid problems and unwanted crashes, you shouldn't run more than one instance of the frontend from the same folder

## Added

### Added a separate setting "Include Tool Bar Filters" to the new controls search bar button (its setting can be different than the one from the search criteria!)

# version 8.1.4 change log - May 26, 2016

## Fixed

### Neo-Geo filter was not showing all games for MAME v0.174; there is a new driver name: "neodriv"
EL will also validate Neo-Geo game names by its bios set name...: "neogeo"

# version 8.1.3 change log - May 25, 2016

## Fixed

### Control "none or empty" was not filtering the games list correctly ("MISC" main tool bar filter)
- software list games should not be listed as they don't have control entries (mamedir\hash\*.xml files)

## Changed

### Renamed "\ini_files\control_type.ini" to "\ini_files\mame_control_type.ini" since this file is for MAME/HBMAME only

## Added

### New search bar filter: Controls
- a quick way to filter games by controls (for MAME/HBMAME only)
- the results are affected if "Include Tool Bar Filters" option is checked (search bar options button)
- software list games are excluded from this filter since they don't have controls listed in "mamedir\hash\*.xml" files
- this new filter ignores the search criteria and overwrites the controls filter selection in the miscellaneous filters ("MISC" main tool bar button)

# version 8.1.2 change log - May 02, 2016

## Fixed

### Danger, Will Robinson. DANGER! Feature "Machine to Run Game" was resetting user custom machine names to their default values when creating a new MAME games list (games popup menu)
- file file "mame_machineslast.ini" renamed to "mame_machines_usercustom.ini" and moved from "\arcade\" to "\ini_files\" folder
- file "\arcade\mame_machines.ini" is now used to get default machine names for each softlist file
- file "\ini_files\mame_machines_usercustom.ini" now only list machine names that differ from default machine names in "mame_machines.ini"
(default is the first machine listed in each section... MAME has no default machine for software lists)
- fixed a crash when a machine is not selected in the list and you click "Confirm" button
- file "\ini_files\softlist_exclude.txt" renamed to "ini_files\mame_softlist_exclude.txt" ("Customize Software List" in main menu)

## Added

### Partial support for software lists in HBMAME; it might never be used by the emulator, but you never know...

# version 8.1.1 change log - April 29, 2016

## Fixed

### Systems other than MAME and HBMAME were not showing in the list

### Detection of the new "neopcb.cpp" Neo-Geo driver name, so Neo-Geo filter works again

# version 8.1 change log - April 28, 2016

## Fixed

### App crash when trying to read/write "language" setting in "mame.ini" (MAME Settings screen)

### Selected game docs texts were parsed twice at startup ("mameinfo.dat" and others); startup is 1 second faster...

### When the frontend is all setup (emulators already selected), if an emulator executable is not found at startup you couldn't select a new file, forcing you to edit "eldit\ini_files\folders_emulators.ini" manually or make a clean install

### Control Type filter was adding blank control names into the ComboBox (Miscellaneous filter, tool bar buttons)

### If "ini_files\folders_emulators.ini" read fails at startup, EL would re-write existing "EmuLoader.ini", changing some frontend settings to their default values

## Changed

### Deleted extra TPanel component from game docs panel (not needed); moved game docs panel below the image panel in project's source code

### Replaced a bunch of Pos() function calls by the faster asm optimized function PosEx()

### Grouped all controls and players info texts for easier reading ("Game Details" screen)

### File "ini_files\control_type.ini" updated to include new control tags for MAME v0.173; a bunch of unused entries were also removed

### madExcept library now shows error messages automatically

## Removed

### Support for MAME Plus! is no more... you can still use it to create a games list and play games, but do not use emulator/game settings or EL might crash and/or damage "mame.ini" contents

## Added

### MAME/HBMAME save state info is back; you must create a new games list to use this
- to filter by save state, go to the "Miscellaneous" filter in main tool bar buttons
- this info/filter is available for MAME/HBMAME only; other emulators are not supported
- software lists are not supported since they can be used by different machines, and their save state values may differ
- info is shown in "Game Details" screen, nowhere else

### Support for MAME v0.173
- huge update to the "input" / "control" tags in -listxml output; future changes in the frontend might be necessary
- the "buttons" tag is not separated by player; frontend's "buttons count fixed (do not merge all players buttons...)
- buttons count for keyboards, keypad and other controls are now added to the buttons count info (might change in the future)
- new settings

# version 8.0.8 change log - April 23, 2016

## Fixed

### App crash due to a bug in the "ini_files\times_played.ini" file update function after exiting a game.

# version 8.0.7 change log - April 23, 2016

## Fixed

### Fixed read/write Supermodel settings for good! Also, custom game settings that are the same as emulator settings are no longer added to .ini files

## Removed

### Setting "Disable V-Sync" removed since this setting doesn't exist in Supermodel emulator (Supermode Settings screen)

# version 8.0.6 change log - April 21, 2016

## Fixed

### Extra bios names were added into the Bios List when changing MAME/HBMAME default settings

### The "New 3D Engine / Legacy 3D Engine" was not being correctly set in Supermodel settings screen, and when running games

### Renamed all "FileName" texts to "Filename" (cosmetic fix)

## Changed

### Added custom folders support for "View Game Docs" (mameinfo.dat; history.dat; etc); it requires MAME v0.172 minimum with "ui.ini" file and "historypath" entry

### Updated Supermodel XML games list file based on SVN 351 (Games.cpp), and added a new "controls" tag

### Changes to MAME settings screen
- added support for Unicode title strings in LUA plugins list (just in case...)
- BGFX / HLSL / GLSL post-processing settings split into their own sub-pages ("Video 2" tab)
- moved "Video Output Mode" setting to "Video 2" tab
- added a list of all available BGFX shader chain files for easier usage
- all .json files from the "bgfx\chains\" folder will be read and added into a ListView (title, author, filename)
- use button "Select" (or mouse double-click) to select a single shader and make active; use button "Add" to add multiple shaders to the Edit box
NOTE: you must make sure the selected shader appears in the Edit box... just selecting a shader in the list will not make it active!
- new BGFX setting: "Record Rendered Video Filename (AVI)"; default key to save a video rendered by BGFX is Shift+F12 (same as HLSL and "record video" in MAME's internal UI)
- new OSD output options: "OSD Provider" ("Input" tab)
- more interface tweaks

## Added

### Link to the new MAME documentation in "Help" main menu: http://docs.mamedev.org/index.html

# version 8.0.5 change log - April 11, 2016

## Fixed

### Daphne version info not showing up correctly in Daphne settings screen on a fresh install, or if changing exe filename in Emulator Setup screen

### Finished updating "LoadROMsFolders" function calls for all the non-MAME related emulators; added the custom emu exe filename parameter

### ROMs folders lists for all system were being loaded into RAM twice at startup (cosmetic fix)

### Some SEGA Model 2 games were missing screen orientation, resolution and refresh rate (need to re-create games list to fix this...)

### Some ZiNc games were missing screen orientation, resolution and refresh rate (need to re-create games list to fix this...)

### Filters were not applied after creating games list manually (main menu "Create Games List")

## Changed

### Finished updating some function calls, related to bugs fixed in EL v8.0.4

### More code cleaning

### Changes and improvements to MAME Settings screen
- improved hint texts on some settings (hover mouse in them)
- setting "HLSL Prescale Override Factor" is no more ("Video 2" tab, "Direct3D Post-Processing Effects" group box)
- setting "Hardware Stretch" is gone; DirectDraw is gone from MAME and this setting is always enabled anyway
- new setting "HLSL Oversampling" ("Video" tab, "Direct 3D Post-Processing Effects" group box)
- moved all LUA related settings into a new "LUA" tab since MAME v0.172 have a bunch of new LUA settings
- moved Audio settings to "LUA" page, renamed "Video and Audio" to "Video"
- moved "Visual Effects Overlay File" from "Video 2" tab to "Game Screen" panel in "Video" tab
- new setting "Integer Scale Overscan" (for MAME v0.173)
- removed setting "Write Dummy Snapshot" since you need a MAME compile with debug enabled (and EL is all about playing games)
- moved setting "Video Output Mode" to "Video 2" tab, to be placed with HLSL/GLSL/BGFX Pos-Processing Effects
- fixed audio latency setting
- several settings are now disabled if they are not present in "mame.ini" (emulator default settings file)
- source code optimizations and removal of redundant code
- UI tweaks to reduce waste of space between controls

### Updates to Supermodel emulator (settings screen, and games list)
- minimum emulator version supported is now v0.3a SVN release 335
(using older emulator builds might cause problems)
- added new video setting: "3D Engine"; you can select between the new engine by Ian Curtis or the old one (legacy)
- updated "SupermodelSEGAModel3_xml.dat" file with new/changed games, based on source code v0.3a SVN R335
- fixed missing screen resolution/refresh rate and driver name in some games

## Added

### Enabled support for AntoPISA's "gameinit.dat", not that's officially supported in MAME; to be used with "Game Docs" feature; place file in MAME's root folder
http://www.progettosnaps.net/gameinit

# version 8.0.4 change log - March 18, 2016

## Fixed

### Games list background image was not loading; there was a tiny 1 line code missing in the function to fix full paths when you use relative paths

# version 8.0.3 change log - March 17, 2016

## Fixed

### Crash when changing MAME settings... this was a really old bug, introduced in my last MAME settings screen re-write

### MAME Artwork path was not being read from "mame.ini" correctly, causing EL to parse filenames list from a wrong directory

### MAME version info not showing up correctly in MAME settings screen on a fresh install, or if changing exe filename in Emulator Setup screen

### Wrong default config file was being used if you tried to set emulator default settings from "Emulator Setup" screen (all systems, not just MAME)

### Added emulator exe filename parameter in several functions to fix "file not found" and parse settings of the wrong default config file

### Crash when using "Scan Missing Audio Samples" (main menu "Games List'); scanning is also a lot faster now

## Changed

### MAME Artwork path is now parsed from "mame.ini" everytime it needs it (no more ArtworksDir[] array var stored in RAM):
- "Run Game with Effect Overlay" (games popup menu)
- changing MAME/HBMAME settings
- select artwork files (frontend's custom "Select File" dialog)

### Input path is now parsed from "mame.ini" everytime it needs it (no more InputDir[] array var stored in RAM)

# version 8.0.2 change log - March 15, 2016

## Fixed

### Added a validation check to prevent "Create Games List" from executing again while it's still running (main menu)

### Tag "compat" was not being read from softlist games files ("eldir\softwarelist\" folder)

### Software list counter label in splash screen was off by 1 (cosmetic)

### Frontend crash when using "Create Software List Games" main menu (weird Delphi 7 compiler bug!)

### Ultra slow game name searching in "systemname.elstatus" files when scanning for games; quick scan was the most affected

### Setting "# inipath" was not being correctly detected on old MAME builds, making impossible to set custom game settings

### Could not set media player file in preferences screen (video preview tab)

### Old bug... I guess people don't use ZiNc anymore! Setting "Texture Cache" was not being parsed correctly from "renderer.cfg" (ZiNc settings screen)

## Changed

### MAME/HBMAME emulators full title are no more; they are now simply "MAME" and "HBMAME: HomeBrew MAME"

### MAME build is detected before creating MAME games list; the "-listxml" output will only be used for MAME v0.70 and newer; this is to avoid EL trying to use "-listinfo" output on new MAME builds if the build number detection function fails

### Changed LUA scripts delay timer default's value from 2 secs to 0 secs; for MAME v0.172 (MAME settings, "Input" tab)

### Images manager updates and changes (main menu "Images")
- window mode is now "modal" instead of "stay on top"; you can't access the main games list anymore
- new feature: Search available images on missing games; easier to delete images of games you don't have
- use button "Scan Not Used Images" for this new fuction
- a new image preview floating panel will show the image of the selected game (its last position is saved/restored)
- create a list of missing MAME games where images are found, so you can remove unwanted image files from your collection
- software list games support
- unzipped images only
- new popup menu option: "Scan Arcade Games/Machines", to scan for arcade games/machines
- the button "Scan Missing Images" updated to scan all games for missing image files
- the button "Scan Invalid Images" updated to scan all image files and compare with MAME game names for unknown filenames
NOTE: make sure to check the popup menu for some settings before scanning (mouse right-click)
- minor tweaks and code optimizations

### AntoPISA's "category.ini" and "version.ini" have priority over "catver.ini"

### From now on, you need AntoPISA's "mess.ini" file to filter MAME non-arcade machines (found in "renameSet pack" or "version.ini pack"); if you still want to use "category_home.ini", rename the file to "mess.ini"

### UI tweaks in MAME settings screen to fit new settings

### UI tweaks in "SEGA Model 2" settings screen to fit on 640x480 resolution

### UI tweaks to remove the large and unnecessary 16 pixels borders in the following screens:
- "MAME settings (Basic Mode)"
- "Supermodel 3" settings
- "Daphne" settings
- "SEGA Model 2" settings
- "ZiNc" settings

### Changes to ZiNc settings screen
- grouped related settings next to each other
- added new "Enable Keys" setting (renderer)
- replaced "Manual Framerate" by a TEdit control and support values from 0 to 1000
- UI tweaks to minimize the mess

## Removed

### Removed support for AntoPISA's "catver_full.ini"; rename the file to "catver.ini" if you still want to use it

### Removed support for AntoPISA's "category_home.ini"

## Added

### New HLSL settings: "Shadow Mask Tile Mode" and "Bloom Blend Mode" (MAME Settings screen, "Video 2" tab); for MAME v0.169 and up

### New "Sound Output Mode" option: "XAudio2" (MAME Settings screen, "Audio" tab); for MAME v0.170
WARNING: Windows 8 or newer required!

### Support for MAME v0.171 new settings (MAME settings screen)
- Plugins directory selector ("Folders" tab)
- Languages directory selector ("Folders" tab)
- Language selection for text localization in the emulator ("Miscellaneous" tab)
- "Record an Input Timecode File" ("Input" tab)
- "Exit Emulator After Input Playback" ("Input" tab)
- "Type of User Interface" ("Miscellaneous" tab)
-

### Added a way to cancel changes in "Category / Layout Settings" (images main menu; images popup menu); you must click the "Apply" button to save and apply changes to categories and layouts

# version 8.0.1 change log - December 26, 2015

## Fixed

### Forgot to update "docs\el-listformat" file with new games list format

## Added

### New MISC tool bar filter: Hide "No Dump" Games; it will hide games were all ROMs/CHDs are tagged as "nodump"

# version 8.0 change log - December 09, 2015

## Changed

### Frontend games list files format have changed to use tags, to avoid problems with non-English code pages and localization ("\eldir\arcade\" folder). EL will try to convert your current games list files at startup; sadly, games list file sizes have doubled :(
Additional changes were made to help reduce file sizes and to avoid adding pointless data
- fields "emulation/color/sound/graphic status" are only added if driver status is "imperfect" or "preliminary"; no need to add them if driver status is "unknown" or "good" - field "game size" is only added if value different than 0 (zero)
- following fields are only added if they appear in MAME's -listxml output: "buttons", "mechanical", "controls", "number of players", "screen type", "screen orientation", "screen resolution", "screen refresh rate"

### Updated softlist games list files format to match the new arcade list format; "softname.el" file sizes are smaller than before :)
WARNING: you must manually delete all files from "eldir\softwarelist\" folder before using this build or the frontend will crash (no auto-update)!

### Updated "\ini_files\times_played.ini" to replace " ¬ " char by " ; " char to avoid problems with non-English Windows code pages and localization. File will be updated at startup if found and not already updated

### Replaced a bunch of Pos() calls by a faster assembler optimized PosEx() function (source\uCommon.pas)
Note: PosEx() function doesn't work with Unicode strings (Delphi WideString)

### Disabled deprecated settings in MAME setting screen: "HTTP Server" and "Enable LUA Console" for MAME v0.168 and up

# version 7.9.6 change log - November 07, 2015

## Fixed

### Emulator binary detection at startup was not updating emulator version info; also, the version info for MAME and AlterMAME was switched
...be aware that the new data is only saved to "ini_files\folders_emulators.ini" when exiting the frontend or accessing "Emulators Setup" screen

## Changed

### Changes to customize columns screen
- added "Customize Header Font" and "Default Font" buttons for easier access
- removed test/debug button

### Game custom settings (game, driver, screen type, etc...) is disabled if selected game is a MAME software list game (non-arcade). MAME doesn't support custom settings for software list games

## Removed

### Some source code cleanup
- game info var "eUseDeviceROMs" no longer used... completely removed from the project
- array "ListGamesDeviceROMs" no longer used... completely removed from the project
- removed a couple disabled functions since they are no longer used

## Added

### Columns sub-menu in main menu to access the customize games list columns (sub-menu "Games List")

### Games list status bar color customization (preferences screen, "Games List" tab)

### Support "raster.ini"; "lcd.ini" screen type settings for MAME v0.167 (games popup menu, "Custom Settting" / "AlterMAME Custom Settings")

# version 7.9.5 change log - November 01, 2015

## Fixed

### Export games list to .txt file fixes/changes (main menu "Games List")
- new feature dialog with several options to choose from
- full format was not listing all info; entries format changed a little bit
sys_name: game_title [softlist_name\gamename; cloneof parentname] - export to "MAME Content Manager Plus" was including software list games. MCM+ only support arcade/non-arcade machines from -listxml output and MAME/HBMAME emulators

### Fixes to delete/copy/move multiple games files
- frontend frozen in an endless loop when trying to detect software list names, resulting in a crash
- only MAME games were being processed, ignoring games from other systems
- memory leak when processing software list games
- some optimizations to improve speed
- created an internal list of MAME games files to be processed so they won't have duplicate copies for other systems, in case MAME game files are being shared with different systems (MAME, HBMAME, ZiNc...)

## Changed

### File 'ini_files\videopreview.ini' is not available in the distribution pack anymore. It will be generated at startup if not found. This is to prevent overwriting your current video preview settings

## Added

### Support for new MAME v0.167 vector settings (MAME settings screen, "Vector" groupbox)... setting "beam" for older MAME builds is still supported

### New file "ini_files\videopreview[default].ini"

# version 7.9.4 change log - October 13, 2015

## Fixed

### MAMu_ icon was not showing in the selected game at startup (old bug)

### Error message "28x22 icon could not be loaded" if changing arcade filters while "Small Tool Bar" setting is enabled (files in "resources\main_icons\arcade_filters\" folder don't have small icons, only 44x40 size)

## Changed

### Setting "Run Game Confirmation Dialog" is now disabled by default (main menu)... no more nagging dialog on a fresh install

### From now on, when a game is re-selected (filter change, view mode change, etc...), it will always appear in the middle of the list (vertically); it's easier to find this way

## Added

### New setting: "Allow Only One Instance"; prevent multiple instances of the frontend running at the same time (preferences screen)

# version 7.9.3 change log - October 07, 2015

## Fixed

### Access to main menu from games popup menu was not possible while frontend in full screen mode

### Games list splitter and images splitter incorrectly set at startup

# version 7.9.2 change log - October 05, 2015

## Fixed

### Creating HBMAME games list would corrupt MAME games list, deleting MAME software list files and multi-cart files ('eldir\arcade\' and 'eldir\softwarelist\' folders)

### Application crash after creating games list for multiple systems at once

### Main screen doesn't hide anymore when creating games list; it was creating too many problems

## Changed

### File 'ini_files\catver_full.ini' is now priority; file 'ini_files\catver.ini' is used if the other is not found (when loading games list)

### If you use 'ini_files\catver_full.ini', there's no need to use "version ini for MESS" pack (version.ini) as version added for non-arcade machines can be read from 'catve_full.ini'
NOTE: you still need 'ini_files\category_home.ini' for proper non-arcade machines tagging! ("category ini for MESS" pack)

## Added

### New setting: "Images Panel Outer Frame Color", so you can change the color of the 7 pixels frame in the images panel (preferences screen, 'Images' tab)

# version 7.9.1 change log - October 03, 2015

## Fixed

### Game icons weren't updated correctly after single/multi game audit (visual bug only)

### Application crash when trying to setup MAME default settings on a fresh install, while at Emulators Setup screen

### Apply filters message box was not centered on screen (grouped view mode)

## Changed

### If MAME build number can't be detected, full MAME settings mode will be used by default (if using old MAME builds, the frontend might crash)

# version 7.8.3 change log - June 04, 2015

## Fixed

### Create MAME games list was bugged, making tons of games not appear in final games list and generating errors in arcade\mame.el file; you must re-create MAME and HBMAME games lists to fix this

## Changed

### MD5 checksum detection for emulators executable files replaced by file modified date (Windows file properties); much faster specially on large files (50 MB+)

### Source code cleanup; some unused variable declarations and a couple deprecated functions

## Added

### Several unicode functions ported from Tnt Unicode Library to EL's uCommon.pas file; to handle non ANSI files and string/integer operations

# version 7.8.2 change log - June 01, 2015

## Fixed

### Bios CHDs not searched if CHD file is in a 'biosname' sub-folder, tagging a few games as missing CHD files (Sega Lindbergh)

### Game details fixes:
- bios name info listed when viewing a bios set... WHY?!
- bios filename not listed when viewing a game with a bios set
- parent filename listed when viewing a clone game with no ROMs

## Removed

### No more softwarelist tag detection in -listxml output. All MESS machines are added to the games list, even though you can't play them

# version 7.8.1 change log - May 28, 2015

## Fixed

### Frontend crash when changing between image layouts too fast if "Load Image With Threads" button is enabled (images tool bar buttons)
Component 'Graphics32' was missing 'fmShareDenyNone' parameter in TCustomBitmap32.LoadFromFile() function

### Number of players info overwritten in 'mame.el' and 'hbmame.el' files by the info from 'nplayers.ini' when games are validated

### Device ROM file sizes were not added to the total game size on games that use device ROMs (create MAME/HBMAME games list)

### MAME build number was not updated in '\ini_files\folders_emulators.ini' file, causing a MAME version detection error (create MAME games list, select MAME executable in Emulators Setup screen)

## Changed

### Optimized 'nplayers.ini' loading; no need to reload the file when toggle 'Show Players Info From nplayers.ini Only' on/off (main menu 'Games List')

### Updates and fixes for MAME v0.162 (creating MAME/HBMAME games list)
- games were not being added to the main list; game tag changed from "game" to "machine" in -listxml
- dirty-hack-mode ON: all machines with "softwarelist" tags in -listxml are no longer added to main list (mostly console/computer machines)
- the following sets using software lists are still required: Neo-Geo; Sega Mega-Play; ST-V; Vectrex, Neo-Geo CD
- new file "arcade\mame_softwarelist.txt" listing all game names excluded from the main list (documentation only)

## Removed

### Device sets with no ROMs are no longer added to the games list (Create MAME/HBMAME games list)

### Filter "Hide Device Sets With No ROMs" no longer needed ('Misc' filter in tool bar buttons)

### Options 'Debugger Font Name' and 'Debugger Font Size' are no more (MAME/HBMAME settings screen)

## Added

### New 'System Type' tag for games: 0 -> arcade; 1 -> console; 2 -> handheld; 3 -> computer
for future expansion ?... only time will tell (feature disabled for now)

# version 7.8 change log - April 14, 2015

## Fixed

### Search game function was not looking for HBMAME game names, only MAME (main menu "Games List" / "Scan Missing MAME/HBMAME Audio Samples")

### Frontend crash when loading a games list with no device sets (MAME/HBMAME)

### EL was not detecting game driver .ini in '\ini\' folder when calling games popup menu, only in '\ini\source\' folder

## Changed

### Updates to MAME/HBMAME Settings screen
- minimum MAME version supported is v0.125; still, one or more settings might not be 100% compatible
- corrected 'Prescale' limits to 1..3; values 4 to 8 are invalid ('Video and Audio' tab, 'Game Screen' box)
- updated 'Use Bilinear Filter' hint text to include 'D3D / OpenGL / SDL2 Accel' for easier usage ('Video and Audio' tab, 'Output Mode' box)
- added 'Dummy Write Snapshot' setting for MAME v0.160 ('Video 2' tab, 'Snapshots' panel)
- adjusted the height of a few TEdit, TBitBtn, TComboBox controls; for consistency
- added more HLSL settings: 'HLSL Prescale Override Factor'; 'HLSL Preset to Use'; 'Upscaled Snapshot Resolution'
- 'resolution@refresh_rate' value would not be correctly saved in 'mame.ini' if screen resolution is 'auto' with a custom refresh rate

### Image category icons replaced by new and improved ones

### Image Category/Layout Settings screen interface update with new category icons and some layout changes

### Select image category dialog updated with new icons

### Interface minor tweaks

### Implemented "HideCaption" property on Tiles view and fixed a couple drawing bugs in TEasyListView component; required to use the new category icons without items captions showing up
That's the third change/fix I've made in the now 'abandoned/discontinued' TEasyListView component... sorry Jim!

### 'View Missing ROMs/CHDs' now self-adapts to fit 640x480 resolution; and some layout changes to reduce visual pollution (games popup menu)

### Device sets .ini file ('mame_devicesets.ini'; 'hbmame_devicesets.ini') is now deleted after creating games list, if empty (MAME/HBMAME)

### Reduced main tool bar height by 1 pixel

## Added

### Support for old MAME builds; DOS MAME is not supported!
- MAME v0.37 beta 15 (0.51) to v0.69 (-listinfo)
- MAME 0.70 to latest version (-listxml)
- not all game infos are available, but most are
- parent+clone relationship
- bios detection
- CHD header v1 and v2 detection with MD5 checksum validation; v3 and up use SHA-1 checksum validation
- full ROMs validation
- wav samples detection
- discrete audio detection
- main CPU detection
- controls
- game size
- auto-detection of the MAME build number (this is not the version info)
- play game and record/playback input files; MAME build detection at work... :)
- load the proper 'inipath' for MAME versions that do not have this setting in 'mame.ini'
- set MAME default settings / game custom settings is extremely limited
- full MAME settings is for MAME v0.125 and up; older MAME builds use the new 'basic mode'
- custom game .ini files (game and driver) must be in MAME's root folder for MAME v0.37 to v0.60
- driver .ini files in "\ini\source\" path is supported on v0.119 and up; v0.61 to v0.118 use '\ini\' path only
- screen is built to fit 640x480 resolution
The cannots for old builds:
- record wav/video/mng
- load save state
- run game with effect overlay
- I'm sure there are other stuff...

# version 7.7.3 change log - March 16, 2015

## Fixed

### Tons of Neo-Geo games were left out of the 'Neo-Geo' filter for HBMAME as there are lots of different driver names for Neo-Geo hacks ('NeoGeo' device sets are not included!)

### Tons of CPS-1 games were left out of the 'CPS-1' filter for HBMAME; added support for 'cps1mis' driver name; CPS-1 hacks now appear in the list

### Some PGM 2 games were left out of the "PGM' filter; added 'pgm2.c' driver detection

### Windows themes disabled in checkboxes (SEGA Model 2 Settings screeen)

### Horizontal scroll bar visible when CHD files are shown (Game Details screen)

### Crazy flickering in TLabel controls when using with TGaugeBar controls

### If emu default settings file (mame.ini and others) for AlterMAME is not found, EL would not auto-create the file for AlterMAME, but for MAME (main menu "AlterMAME Default Settings" and games popup menu "AlterMAME Custom Settings)

### Bios entry '[Use Default]' was not sticking at the top of the list (MAME/HBMAME Settings screen, Miscellaneous tab)

### If you have multiple folders in 'inipath' entry (mame.ini), EL would force the use of 'mame_dir\ini\' no matter what. This is now fixed, but only the first folder will be used
eg.: inipath c:\emu\mame\mycustom_ini;.;ini
EL will use 'c:\emu\mame\mycustom_ini' as MAME's ini folder
eg.: inipath .;ini;c:\emu\mame\mycustom_ini
EL will fallback to 'mame_dir\ini\' as MAME's ini folder (no support for '.' folder path)

### Error 'Cannot focus an invisible window' when switching between grouped view and other view modes

## Changed

### Updates to Create MAME/HBMAME Games List:
- detection of CHD files in bios/device sets, for MAME v0.159 and newer
- detection of discrete audio type for bios/device sets
- detection of samples entry for device sets
- detection of display info for device sets
- improved detection of discrete audio entries to maintain compatibility with older and new MAME builds
- all games with driver name '???discrete???' will be tagged as discrete audio; for UME
- some code optimization to remove duplicated code

### Catlist filter 'PinMAME' renamed to 'Mechanical' ('Misc' tool bar button), and catver.ini scan is now done by a 'mechanic' tag instead of 'pinmame' to maintain compatiblity with older and new Catlist files

### Catlist filter 'Fruit Machines' ('Misc' tool bar button) are now also filtered with categories that contain 'reel' tag (for Catlist v0.159 and newer); 'fruit' tag is still checked to maintain compatibility with older Catlist files

### Updates to the multi-games loading feature (select multiple games of the same system and run with MAME):
- broken feature... now it works again
- Neo-Geo compatible games list renamed from 'neogeo.ini' to 'multicart_neogeo.ini'
- removed custom Neo-Geo and SEGA Mega-Tech message box icons ('resouces\main_icons\msgbox\' folder)
- added support for ST-V system (4 games max); supported games listed in 'arcade\multicart_stv.ini'
- new filter: 'Show Only ST-V Multi-Slot', to filter out games not compatible with multi-slot ('Misc' tool bar button)
- added support for PlayChoice-10 system (10 games max), but MAME doesn't support multi-slot loading for this system yet

### Minor source code maintenance... for consistency

## Removed

### Create custom settings for device sets is disabled (pointless anyway). Custom settings for bios sets is still supported

## Added

### Changes to MAME/HBMAME Settings screen:
- you can select multiple folders for .ini paths again; 'Folders' tab
- screen layout seriously updated (... still need some work)
- grouped the most important and most used settings in 'Video 1' tab
- grouped HLSL and GLSL into 'Video 2' tab
- renamed 'Video 1' tab to 'Video and Audio'
- renamed 'Video 2 and Audio' to 'Video 2'
- HLSL and GLSL auto-detection updated (mame.ini; ume.ini; sdlmame.ini; etc)
-'Direct3D Post-Processing Effects' panel and its options will only be enabled if 'hlsl_enable' entry is found in the .ini file
-'OpenGL Post-Processing Effects' panel and its options will only be enabled if 'gl_glsl' entry is found in the .ini file
- new 'OpenGL' and 'BGFX' options in 'Video Output Mode'; MAME v0.159 minimum required
- new 'SDL 2 Accel' and 'BGFX' options in 'Video Output Mode'; SDLMAME v0.159 minimum required
- new setting: "Provider for UI Font" (Miscellaneous tab)
- you can no longer customize folders for custom game settings (rom_path, ini_path, artwork_directory, etc...); only available on emulator default settings
- when creating custom game settings, Emu Loader will read a list of config files, so settings from previous files are loaded and overwritten, just like MAME does when loading a game. From top to bottom:
- mame.ini; ume.ini; hbmame.ini; emufilename.ini; etc...
- debug.ini
- vertical.ini (if game screen is vertical)
- horizont.ini (if game screen is horizontal)
- arcade.ini (UME only)
- console.ini (UME only
- computer.ini (UME only)
- othersys.ini (UME only; this filename and its purpose is a mistery to me!)
- vector.ini (if game is vector)
- source\sourcefile.ini or sourcefile.ini
- biosname.ini
- parentgame.ini (if game is clone)
- gamename.ini
Notes:
- every time you click on "Reload Settings" button, all these files are reloaded, starting from mame.ini
- if you create a custom settings for say... Vector games, files below vector.ini are ignored (as it should be...)
- there's a new "Reset to Default" button, that reset settings to emulator default, ignoring all custom files
- new feature 'Validate All Custom Files on Save': when saving custom settings back, EL will compare current settings with all previous files (if found), to make sure these settings are not duplicated and to keep custom files clean;
keep this setting disabled to validate settings only against emulator default settings (mame.ini; ume.ini; etc)
- SDLMAME/SDLUME/SDLHBMAME auto-detection function updated to search for 'sdlvideofps' entry in 'sdlmame.ini'; 'sdlume.ini'; etc
- select folder for fonts added back, multiple folders supported (Folders tab)
- select folder for debugger comments added back (Folders tab)
- replaced TListView by a regular TEdit control for 'Controllers Definitions' folder, 'Crosshair Files' folder, 'Sample Sets' folder; multiple folders are still supported
- replaced TEdit control by TListView for 'Ini Files' folder; easier to move folders around...
- removed "custom screen name" edit box as screen names in the format "\\.\DISPLAYn" are safe to use

### Driver 'timeplt' (Time Pilot), 'tp84' (Time Pilot '84), 'circusc' (Circus Charlie GX380) added to the 'Konami Old School 2 (80s)' filter

### Driver 'asterix' added to the 'Konami Old School 1 (90s)' filter

# version 7.7.2 change log - November 27, 2014

## Added

### New MAME settings (MAME Settings screen):
- Apply Bilinear Filter: create snapshot/movie with bilinear filter in "Video 1" tab / "Snapshots" panel
- Write DRC UML Disassembly Log: "Miscellaneous" panel
- Write DRC Native Disassembly Log: "Miscellaneous" panel

# version 7.7.1 change log - October 17, 2014

## Fixed

### Proper grayscale icons on disabled menu items (experimental)

## Changed

### Tweaks in uMain.RunProcess() function reverted back to ANSI strings since all games are executed using game names... and they don't use Unicode... it was a pointless optimization anyway

## Added

### Added 'DirectSound' in Sound Method for SDLMAME / SDLUME (MAME Settings screen)

# version 7.7 change log - August 24, 2014

## Fixed

### Atomiswave games not loading with Demul emulator due to wrong machine name call. It should be -run=atomiswave (with a "V")

### Daphne games was not being set as available even if gamename.zip is found. I forgot to set the game status tag. You must create Daphne games list again to fix this

## Changed

### Setting "Run Game Confirmation Dialog" enabled by default (main menu)

### Tweaks to the multi-slot screen

# version 7.6.9 change log - August 17, 2014

## Fixed

### App crash if file '\arcade\neogeo.ini' is not found. Bug fixed by creating a globar var instead of a local var to handle this file (silly crash bug...)

# version 7.6.8 change log - August 16, 2014

## Fixed

### Tasks executing twice when changing games view modes: reselect last selected game and reset thumbnails when switching to thumbnails view

### Status bar not updating if no games are visible/selected after filters change

### Detection of the new 'neogeo_noslot.c' driver from MAME v0.154. Neo-Geo games filter works again

### Horizontal scroll bar setting to last visible column if last games filter had no visible games

### If using '.;ini' or '.' in MAME's 'inipath' entry (mame.ini), EL will not change it to 'ini' (but only ONE ini path is supported by the frontend)

## Changed

### Major core change: function uMain.SetGameType() properly split into separate functions to prevent them executing 3 times over in the same task: change tool bar icons; auto-toggle settings ON/OFF; load games list; apply games filters; re-select last selected game; reload images / load game docs / load game video preview
Extra optimizations/fixes:
- several function calls are no longer necessary
- a bunch of memory vars resetting multiple times in the same task
- apply games filter executing multiple times when creating a new games list
- select last game function executing multiple times when scanning/auditing multiple games at once (F5 or Shift+F5 shortcuts)
- selecting between games too fast should not cause crashes anymore; when using tripple images layout view, load zipped images with threads enabled)
- only the tool bar icon related to filter you change is reloaded (all icons were resetting on a single filter change...)

### Column header captions indent set to zero to align with game captions positions. Columns width can be 5 pixels smaller now, useful for driver status columns :)

### Column '# of Players' renamed to 'Players'

### Split 'MegaPlay / MegaTech' filter into two separate filters

### Replaced 'CreateProcess' WinAPI call by 'CreateProcessW' to work with Unicode and WideStrings

### More tweaks...

## Added

### Game details screen, if a game is tagged as 'Found With Missing ROMs/CHDs', all missing ROMs in the right panel will have a red text in the 'status' column for easier reading

### Support for Neo-Geo MVS multi-slot cartridge loading (MAME/UME v0.154 minimum required)
- a list of supported games is in new '\arcade\neogeo.ini' file
- supported games parsed from software list 'neogeo.xml' in MAME's 'hash' sub-folder (file must exist!)
if file neogeo.xml doesn't exist, no list is created (file is NOT created by Emu Loader!)
- only available games are added to the list
- you can choose what game goes in what slot before starting the emulator :)
- not all cartridge combinations will work; this is a limitation of the arcade and/or the emulator
- HBMAME is not yet supported (no software lists available)

### New games filter 'Show Only Neo-Geo MVS' to list only games compatible with Neo-Geo MVS multi-slot (misc filters tool bar button)

### Support for Sega Mega-Tech multi-slot cartridge loading (MAME/UME v0.154 minimum ? required)
- no software list required as all games from MAME's Mega-Tech driver are supported
- up to 8 cartridge slots can be used
- only available games are added to the list

### New setting "Disable Natural Sorting (1, 2, 3, 10, 11, 20)" (preferences screen)
- for the purists that want to enjoy the full ASCII sort glory (1, 10, 11, 2, 20, 3)!
also due to games with leading zero ('005') not being listed before games starting with '1' ("StrCmpLogicalW" API is to blame...)
- all games lists are affected by this setting, not just the main games list

### Unicode baby steps #1: uMain.IsUnicodeStr() function to check for non-ASCII chars (char > 127)
- this is necessary as Delphi 7 compiler is not Unicode friendly
- so far, only 'f16mbeta' (from UME) have Unicode chars in game title; -listxml output
- unicode strings must use UTf8Decode() function to show properly in games list

# version 7.6.7 change log - July 27, 2014

## Fixed

### Fatality! Dirty fix mode ON. The following were executing 3 times over when creating a new games list with main menu "Create Games List"
apply games filters; update tool bar filter icons, re-select last selected game; load selected game images; load/play selected game video preview
I really need to separate the single function that does all these processes into different functions for a proper fix

## Changed

### Restored 'Playtime' column title back to 'Total Playtime' and default width back to 110 pixels

### Minor optimization in the new sorting routine. Sort time is 100ms faster than is was before

### Improved startup process even further. Loading zipped images list to RAM was executing twice...

# version 7.6.6 change log - July 24, 2014

## Fixed

### App crash when loading games list at startup or after creating a new list; related to MAME/HBMAME device sets

### Gold fix: games sorting was incorrect since... ever. Windows API "StrCmpLogicalW" is now used for sorting, applied to:
- main game list columns: game "The King of Fighters '99" is now correctly listed BEFORE "The King of Fighters 2000"
- Bios sets list in MAME/HBMAME Settings screen
- Screen resolution list in SEGA Model 2 Settings screen
- MAMu_ Icons Manager screen
- Scan results screen
- Custom frontend select file dialog
- Zip Files Not Used screen
NOTE: the new sorting routine is a little bit slower (300 milliseconds slower on my Core I7 3.4GHz)

### Select Scan Mode dialog was showing up more than once on a fresh install and/or at startup

## Changed

### Screen resolutions drop-down boxes are populated dynamically and properly sorted with the new "StrCmpLogicalW" API. EL will try to read all valid resolutions of your video card

## Added

### New sort options for not used icons in MAMu_ Icons Manager; popup menu, mouse right-click:
- Sort List by Filename: regular filename sorting (ascending)
- Sort List by Newest Date/Time: sort by date/time info (descending; newest to oldest)

# version 7.6.5 change log - July 22, 2014

## Fixed

### Search bar function was executing even if edit box is empty

### Minor UI fixes:
- Edit boxes/buttons in Emulators Setup screen were not aligned correctly
- More tweaks for 640x480 resolution
- Message box was not increasing its height with extremely long texts, showing the vertical scrollbar

### Crash when using "Clear History" button/menu item in MAMu_ Icons Manager

## Changed

### Game ROMs info improvement: internal TStringLists assinged to ROMs/CHDs are no longer initialized for games that do not have ROMs/CHDs *DUH!* This saves around 2MB of RAM (35000 games)... it's not much but it prevents EL from creating/initializing 2300++ TStringList vars in RAM!!!

### Moved menu items 'Customize Columns' and 'Customize Columns Header Font' from games popup menu / view mode menu to the new columns popup menu (mouse right-click in any column header). Much easier to rememeber...

### Custom title in font selection dialog (experimental)

### Column 'Total Playtime' renamed to 'Playtime'

### All date/time strings are now in 24 hours format (no more AM/PM). Removed 70 pixels from 'Playtime' column

### Message box icon size changed to 32x32. Icon size 48x48 is only used to display game icons and when gamename info label is visible

### Source code tweaks and cleanups... yet again

## Added

### New 'devices list' property for each game info, loaded in RAM. Usage around 2MB of RAM for 35000 MAME games (TStringList var). It makes some features much easier to work with and it prevents from loading 'arcade\mame_deviceset.ini' contents to RAM every time devices list is needed
Game info property 'eUseDeviceROMs' removed as it's no longer needed

### New quick jump menu "Select Set" (mouse right-click in games popup menu)
- 'Select Bios [bios name]': click on it to go directly to the bios set
- 'Select Device [device name]': click on it to go directly to the device set(s)
- Contents of this sub-menu change based on clone of, bios and device sets info; only when calling the popup menu
- Similar to 'Select Parent Game' option... which is moved to the new 'Select Set' menu
- Merged all related functions and simplified the code
- All systems are supported, not just MAME/HBMAME

### Assigned a "Go To Parent Set" button to all arcade controllers; only X-Arcade was supporting this

### New settings: 'Hide Seconds in Last Played' / 'Hide Seconds in Playtime' columns. Check to show only hours/minutes (preferences screen)

### New games filter: "Global VR" (PC based hardware)... from 'globalvr.c' driver

# version 7.6.4 change log - June 25, 2014

## Fixed

### Function to auto-create MAME/HBMAME default .ini file was not being called when using main menu 'Default Emulator Settings', 'AlterMAME Default Settings', 'Set Custom Game/Driver/Misc Settings' in games popup menu

## Added

### Support for MAME/UME/SDLMAME 0.153ex4 / ex5 settings changes (including a new HBMAME when released). Older MAME/UME/HBMAME builds are still supported
- new setting 'Enable Emulator LUA Console'
- added 'auto' to the video output dropdown list; populated dynamically based on MAME/UME/HBMAME or SDLMAME/SDLUME
- replaced boolean 'Sound' setting by a dropdown list with string values; populated dynamically based on MAME/UME or SDLMAME/SDLUME
- replaced boolean 'Internal Debugger' by 'Debugger To Use' dropdown list with string values; values dynamically adapt based on on MAME/UME or SDLMAME/SDLUME
You can change MAME/UME/SDLMAME/SDLUME settings in Emu Loader again without app crashes :)
Thanks to Haze for the updated builds...

### Detection of *sdlume* filenames for proper SDL U.M.E. emulator title

### Detection of *sdl* filenames for SDL HBMAME emulator title... if someday someone decides to create a SDL version for HBMAME :)

# version 7.6.3 change log - June 24, 2014

## Fixed

### Yet another favorites fix. Game.eIsFavorite var was not updated in the selected games after exiting favorites profile manager

### Fatality! The last selected game along with game images and game docs were being loaded several times at startup. With video preview enabled, the same video was loading over and over... EmuCon have the same problem. Bad bug, B.A.D. B.U.G.!!!

### Finish Him! ROMs folders for ZiNc and Supermodel 3 were not being saved in "ini_files\folders_emulators.ini", making them reset on every frontend restart

### You Lose! Games sizes were doubled with game size + MAME game size; all systems except MAME and HBMAME. You must create games list to fix this (optional); all systems except MAME/HBMAME

### Watchdog setting on MAME debugger changed to a edit box so you can enter seconds; it's not a on/off setting...

### Backspace not working when typing in TEdit controls that only accept numbers

## Changed

### Splash screen is resized when using 720x480 / 640x480 resolutions; controls are resized to fix texts; even the image shrinks now and nothing is lost :)
I can't test those resolutions, please let me know if texts are not readable

### Minor tweaks to the games popup menu

### Minor tweaks in MAME settings screen

### Delete game files (single game); dialog width is now fixed to 630 pixels. Removed waste of space and easier to maintain. Dialog height still adjusts according to screen resolution

### Main games filters updated with smaller texts and selection bar

### Game details form update
- minimum resolution recommended for this feature is 1024x768
- smaller text font (left panel) - dynamic form width and height according to text length and lines count (left panel)
- if a game have up to 25 ROMs, form height changes based on ROMs count, if higher than left panel's text count
- dynamic checksum column size; shorter for CRC32 and larger for MD5 checksum (CHD files, if not tagged as 'nodump')
- if text in left panel is too big (more than 179 pixels), it breaks into two lines (word wrap)
- form minimum width is 631 pixels

## Added

### SDLMAME for Windows support!
- http://forums.bannister.org/ubbthreads.php?ubb=postlist&Board=8&page=1
- detection of SDLMAME file (*sdl*.*) for proper emulator title
- set default SDLMAME settings and game/bios/device settings; MAME settings screen
- all unique mame.ini settings are in a new SDLMAME pages; MAME settings screen
- in "Output Mode" setting, "Video 1" page, the valid options are dynamically added based on mame.ini ("gl_glsl" entry) or emulator filename (*sdl*.*)
- OpenGL shaders support, SDLMAME page; MAME settings screen
- Common MAME settings are blended in other pages: video, audio, input; MAME settings screen
- HLSL settings are not supported by SDLMAME, they appear disabled if using an SDLMAME executable; MAME settings screen
- SDL lightgun mapping (Xinput); SDL2 mouse mapping; SDL2 keyboard mapping settings are supported, but SDLMAME doesn't officially support them yet
WARNING: SDLMAME will freeze on exit if you're using OpenGL video output and have either 'eVGA Precision X' or 'MSI Afterburner' running

### Set default emulator settings and game custom settings for AlterMAME (I hope I didn't miss anything) :)
- default settings can be accessed in emulators setup screen or main menu "AlterMAME Default Settings"
- custom game/driver/extra settings can be created/deleted in the new games popup menu item "AlterMAME Custom Settings"
- only the 'inipath' entry is read from mame.ini and used to create emulator/game settings

# version 7.6.2 change log - June 06, 2014

## Fixed

### Deleting a favorite profile not currently active would set the new selected profile active (favorites profile editor)

### Renaming the active favorites profile title was not updating the favorites menu item hint in main screen

# version 7.6.1 change log - May 27, 2014

## Changed

### Changes to the thumbnails view mode; thanks to Fabian for reporting bugs on this feature and helping with beta testing
- thumbnail cell resize when hiding game titles
- if using game fonts of different sizes (parent font, clones font, preliminary font, etc) the thumbnail cell will update based to the biggest font, to fix screen garbage
- thumbnail cell resize when editing game fonts (parent, clones, preliminary, etc)... no need to be in thumbnails view mode
- thumbnails settings screen updated to include a "Confirm" button (apply settings and close dialog)
- new setting "Keep Aspect Ratio", enabled by default. If you want the image to fill the entire thumbnail cell, uncheck this option
- new generate thumbnail function to work with aspect ratio disabled; this one also does anti-aliasing... sharpening code from previous function actually made thumb images worse!!
- fixed huge ammounts of memory leaks by placing GlobalThreadManager.FlushMessageCache() calls BEFORE reinitializing thumbnails... same fix for MAMu_ icons

### Search bar changes
- removed fiter title bar; edit box hint now show the current filter title
- a grayed out "Search games..." text is displayed if edit box is empty
- buttons/icons size changed to match the edit box
- removed filter search pattern button and replaced it by a small down arrow button inside the edit box (preliminary)
- edit box width increased by 20 pixels

## Added

### New setting "Show Games Status Bar", enabled by default. Unckeck it to hide the status bar below the games list (main menu "View")

# version 7.6 change log - May 21, 2014

## Fixed

### Game info and game icon displayed when editing MAME/HBMAME custom settings: horizont.ini; vertical.ini; debug.ini; vector.ini

### Hint texts not showing on some menu items

### Splash screen resize function for 740x480 / 640x480 resolutions was being executed on every FormShow() call. It should be executed only once

### Messages dialog height is bigger than Windows resolution if the text is too long. Fix for all resolutions, not just low res

### Minor interface tweaks

## Changed

### Moved driver status settings from customize columns dialog / View Mode tool bar button to preference screen, "Games List" page. It makes more sense. The customize columns dialog exists purely to change columns positions, visibility and their sizes (details/grouped view modes)
Read/write settings also moved from [Configuration] to [Preferences] section (EmuLoader.ini)

### The following screens/dialogs automatically adapt their layouts to fit 640x480 / 720x480 resolutions (only when needed)
- messages dialog
- emulators setup screen
- customize columns screen
- select system dialog
- delete/copy/move single game dialog
- view file versions (redesigned, main menu "View")

### Preferences screen redesigned to fit 640x480 resolution... and to avoid waste of space

### The following screens/dialogs were resized to fit 640x480 /720x480 resolutions
- frontend's select file custom dialog
- frontend's select folder custom dialog
- favorites manager dialog

### Images manager update (main menu "Images")
- layout updated to maximize workspace and to fit 1024x768 resolution (minimum res required!)
- proper image folder detection, in case the folder is defined but doesn't actually exist
- removed the image category column as you can only scan one category at a time; category now shown at the top (missing icons list)
- added all driver status fields; icons only, no texts (columns cannot be resized)
- added driver name column
- new scan option: "Scan Devices With No ROMs", disabled by default so you can eliminate device sets like "sound", "screen", "spc700", "5380 SCSI"
- fixed a few bugs, internal and visual

### MAMu_ icons manager update (you should reset columns sizes in "Options" button, status bar)
- layout updated to maximize workspace and to fit 800x600 resolution (minimum res required!)
- proper folder detection, in case the folder is selected but doesn't actually exist
- added all driver status fields; icons only, no texts (columns cannot be resized)
- columns order changed for better viewing: game title; game name; clone of; bios name; driver name; driver status; emulation status; color status; sound status; graphic status; manufacturer; version added
- new scan option: "Search Icons for Devices With No ROMs", disabled by default so you can eliminate device sets like "sound", "screen", "spc700", "5380 SCSI"
- fixed a few bugs, internal and visual

## Added

### Support to read/write mame.ini in "emu_dir\ini\" sub-folder

### Detection of "drivername.ini" files in "emu_dir\ini\" folder along with "emu_dir\ini\source\" on set/delete custom driver options (MAME/HBMAME)

### Small tool bar buttons is back! Icons size used is 28x22 pixels (main menu "View" / "Tool Bar Buttons" or customize tool bar dialog)
The main filter button only show the "all games" icon no matter what filter is selected

### Read/write support for "arcade.ini" config file, exclusive for UME v0.153ex2 and newer (games popup menu, Custom Settings sub-menu)

### Watch game video previews using a media player of your choise. This feature was created with "Media Player Classic Home Cinema" portability in mind... http://mpc-hc.org
- any video/audio format is supported as long as you have the codec installed in Windows and/or an application to play them
- only the first file found is played if there are multiple files with same gamename but different extensions (TSearchRec search pattern: gamename.*)
- any media player application that load video/audio from the command line can be used
- feature settings located in "Video Preview" page, preferences screen and saved in "el_dir\ini_files\video_preview.ini" file
- command line parameters support for more control over the media player (switches)
- a %1 tag is required so it can be replaced by the video/audio filename (no surrounding quotes required)
- relative paths are relative to the frontend, not emulators
- folder recursive scan is NOT supported to avoid dog-slow file search, excessive disk reading and pointless waste of RAM/CPU resources
- executable or batch files can be used
- media player parameters are saved based on the app filename, you can have as many media players setup as you want. Emu Loader will remember parameters for each of them :)
- manual playback: "Shift-V" shortcut; "Play Video Preview" in games popup menu or button in images tool bar buttons; assigned button for arcade controllers
- setting "AutoPlay" to play videos as you select games (disabled by default for safety reasons)
- setting "Parent Game Video" to play video of parent game, if selected game is a clone and the video is not found (disabled by default)
- setting "Play Videos Enabled" to toggle the feature ON/OFF in case you wish to completely disable this feature (enabled by default)

### Columns header custom font. That's right, now you can customize the header font in details/grouped view mode. Found in games popup menu and preferences screen, "Games List" page

# version 7.5.8 change log - April 24, 2014

## Fixed

### Daphne games with missing ROMs sets were tagged as available

### Selecting games with USB editions of X-Arcade / HotRod SE controllers was not working due to NumLock key state. EL will try to detect NumPad key presses (arrow keys). No need to change NumLock key state anymore! :)
Devastator II / SlikStik controllers don't require this as they use regular arrow keys for player 1 stick

## Added

### Added DICE v0.9 new games (DICE_xml.dat)

# version 7.5.7 change log - April 08, 2014

## Fixed

### Setting "Show Game Snap if Artwork Not Found" was not working at all (main menu Images). Remember that only unzipped images are supported

## Changed

### New splash screen image. Dozens of characters in one scene :)
- no more multiplexed alpha-blend irregular image. It used to look cool though
- size increased to 768x450. If you're desktop is lower than 800x600 (720x480 or 640x480), the logo will be cutoff on the right to fit those resolutions
- messages area improved for easier text reading
- splash screen cannot be moved around anymore

### New about screen image. No more multiplexed alpha-blend image. Size increased to 640x450

### Frontend documentation updated. There were some typos and wrong info about frontend features

## Removed

### none

## Added

### New setting to show number of players info from nplayers.ini only, ignoring the info from MAME's -listxml (main menu "Games list" / "Show Players Info From nplayers.ini Only")

# version 7.5.6 change log - March 21, 2014

## Fixed

### Set default settings button was disabled for SEGA Model 2 emulator in emulators setup screen

## Changed

### File \arcade\mame_listxml.xml is always deleted after creating MAME games list. File will be generated every time you create a MAME games list. It usually takes around 20 seconds

### Get version info function updated and improved to show similar string format on all emulators. To update the version info for both emulator and games list you need to create games list for all systems again

### View missing ROMs/CHDs screen updated, removing waste of screen space and to fit on 720x480 resolution (games popup menu / Shift+F8 or Shift+A hotkeys)

### Delete selected game screen updated. Minimized icons pollution, waste of screen space and adapted to fit on 720x480 resolution

### Delete multiple games screen updated
- replaced buttons by a popup menu (mouse right-click) to remove pollution and waste of space
- window height is dynamic now, depending on the games list count
- if there are no listed games with CHDs, the CHD column is hidden
- if there are no merged sets, the Merged column is hidden
- if there are no games with bios sets, the Bios Name column is hidden

### Delete/rename image file updated. Removed icons pollution, waste of space and adjusted image panel

### Category / layout settings screen updated to remove very large icons pollution and made image categories selection easier to work with

### Scan MAME/HBMAME missing audio samples updated to show system icon with game icon instead of a system column (main menu "Games List")

### Emulators setup screen updated. When in MAME panel, emulator file texts have clickable links so you can go directly to the emulator's official website

### Interface tweaks everywhere

## Added

### New "Game ROMs" filter option: "Games With No Main Set" (extra filters tool bar button)
Select this filter to view games that have bios ROMs and/or device ROMs and/or CHD files, but no game ROMs (no gamename.zip set)

# version 7.5.5 change log - March 08, 2014

## Fixed

### Categories from catver.ini are no longer loaded for DICE games so you can filter PinMAME without removing DICE games from the list

### Controls parsing function was confusing and inaccurate (-listxml). Parse function is now perfect!

### Number of players was set to blank if info not found in "nplayers.ini", when this file is available

### In-game snapshot folder setting was being saved in EmuLoader.ini for MAME and HBMAME. Not required as they are read directly from emulators config files

## Changed

### Main menu and view mode buttons have dynamic item height to avoid waste of space. Also, icons were removed to clear the interface a little bit

### Check menu and radio menu icons were finally moved to position 0 and 1 in ImageList components. All ImageLists updated

### Even more interface tweaks (clean sweep mode ON)

### File "leftpanel_btn_help.ico" renamed to "help.ico" (resources\main_icons\)

### Settings for images folders and emulators selections moved from EmuLoader.ini to a new "\ini_files\folders_emulators.ini" file. You can now do a clean install without the need to set up images folders or emulators executables all over again :)

### Moved and renamed file from "\ini_files\biosset.ini" to "\arcade\mame_biossets.ini" and file from "\ini_files\biosset_hbmame.ini" to "\arcade\hbmame_biossets.ini"

### Favorites profile editor updated. Removed "Active Profile" text and added an icon to the active profile in the list. Hotkeys text updated

## Removed

### The following files are no longer used: "resize_window.ico", "option_radiogroup_off.ico", "leftpanel_btn_addgame.ico", "leftpanel_btn_deletegame.ico", "leftpanel_btn_add.ico", "leftpanel_btn_delete.ico"; "scanresult_game.ico", "copy.ico" (resources\main_icons\)

### The following entries are no longer added for Daphne games since game names are completely different from MAME: controls, category, number of players

## Added

### Updated "DICE_XML.dat" file with an "Attack" alternate set, titled "Attack (set 2)" and named "attack2". I failed to see there was tho valid sets in "attack.cpp"
Note: Emu Loader rename its gamename to "attack" before loading in DICE emulator

### New game tag: buttons count (controls info). Game details now show buttons count in controls list. You must create games list for all systems... again

### All image categories have a default folder now. Folders are relative to the emulators selected. This is useful on a clean install and for new users
NOTE: in-game snapshots for MAME/HBMAME/UME are already set in mame.ini; hbmame.ini; ume.ini!
- Title snapshot: titles
- In-game snapshot: snap
- Marquee: marquees
- Flyer: flyers
- Cabinet: cabinets
- Control Panel: cpanel
- Control Panel Layout: cplayout
- PCB: pcb
- In-game Artwork: snapartwork

### Added new options for "File" / "Export Games List" compatible with "MAME Content Manager Plus" util (game name only). Only MAME and HBMAME are supported
http://mcm.mameworld.info

# version 7.5.4 change log - February 18, 2014

## Fixed

### History quick access menu was not showing up (game docs popup menu)... weird, don't know why

### URL in HTML format detection is fixed for history.dat (might not work 100% though)

### Game details screen was cutting files info due to new driver status info (left panel)

### ROMs and CHDs files tagged "no dump" (empty CRC32) were being wrongly set as missing and using wrong status icon
These files should be shown as found and Ok (green) if game is available or found with missing ROMs/CHDS and gray if game is missing (game details screen)

### The following filters were not working (MAME / Demul): Naomi, Naomi GD, Naomi 2, Naomi 2 GD

### Function uMain.GetSizeType() was returning an empty string if file size equal zero

## Changed

### Some more interface tweaks

### Updated DICE_xml.dat file to support DICE v0.8

### Updated the scan results screen for easier reading

## Added

### Customize columns shortcut in view mode tool bar button for easier access... and unaware users (for details/grouped view modes)
Remember that you can access the customize screen by mouse right-click directly in columns header...

# version 7.5.3 change log - February 14, 2014

## Fixed

### Changing emulator version manually was not updating the memory var, info was never updated after closing emulator setup screen

### Played and total playtime info texts were not updated in games list after quitting game (just an item repaint issue, info was updated in files)

### Fixed double text "Astron Belt" in game titles (Daphne emulator)

### Sets sorting in scan results feature is fixed. Device sets are shown first, then bios sets and finally game sets

### Scan for HBMAME device sets was wrongly searching in MAME's ROMs folder instead of HBMAME (scan games feature)

### Added the ENM_LINK message directly in Delphi's TCustomRichEdit component (ComCtrls.pas) to fix the "OnResizeRequest" event trigger in RichEditURL component

### ZiNc bios sets had the game index set to zero. ZiNc cannot run bios sets. Value is now set to -1 as it should have been

## Changed

### Added a AlterMAME version edit box for manual editing (emulator setup screen)

### MAME/HBMAME game titles with "game desc, the" will no longer be fixed to "the game desc" when creating games lists, except for games tagged "IsMechanic"

### View game docs feature (games popup menu) is limited to MAME and HBMAME now. No point in supporting other systems

### Update "ini_files\control_type.ini" to include "joy1way", fixing control filters and missing controls list info in game details screen

### Clones indentation width increased for better viewing (grouped view mode)

### Code optimization: many variables were defined with Integer type when they could be Byte or ShortInt type (I hope I didn't break anything...)

### Moved setting "Disable Clone Indent" to a new "Details/Grouped" sub-menu (view mode tool bar button)

### Moved several entries from el-todo.txt to a new el-project.txt file

### Some messages (error, info, warning) were updated with simplified texts

### Message boxes (error, info, warning, etc) can have formatted fonts now

### Several interface tweaks

## Removed

### Hidden feature to run custom batch files is no more ("el_dir\ini_files\cmdline\")... gone, finito, no mas, kaput, removed from source code

### entry "isdevice" removed from mame/hbmame .miss file (no longer needed)

### More source code cleanup

### A few icons are no longer used (resources\main_icons\ folder): disable_clone_indent.ico; display.ico; input.ico; multimedia.ico; sound.ico; video.ico; font_parent.ico; font_clone.ico; font_imperfect.ico; font_preliminary.ico; font_missroms.ico

### The reminder button in game docs panel is gone... redundant since you can access the popup menu by mouse right-click in the docs panel

## Added

### Support to use batch files as emulator executables in emulator setup screen, like in EmuCon
If you want to run games thru batch files (.bat; .cmd), now you can. And there's a bonus... due to the way I implemented the CreateProcess API call, EL is capable of returning execution exit codes even from batch files! :)
Note: emulator version detection will fail and you must enter the info manually

### New misc filter (requested): "Hide Games With CHD Files", so you can hide all games that use CHDs. It's an inverted filter from the main filter "CHD", where only games with CHDs are visible

### Extended driver status with new info and new columns: emulation status, color status, sound status, graphic status
- only MAME and HBMAME are supported, all other systems show blank, nada, emptiness
- must re-create games list for MAME and HBMAME, if you want to see the new info
- info also shown in game details screen
- you'll have to reset and customize columns settings again... sorry - status icons directly in the games list, enabled by default (details/grouped view modes only)
green icon for "good"; yellow icon for "imperfect"; red icon for "preliminary"
- four new settings for this feature (view mode tool bar button, "Extra Settings" sub-menu)
- Disable Status Icons: Bothered by the colored icons in the list ? Use this option to hide them
- Status First Letter Only: Want to lower the width of all driver status columns but still have a readable status text ?
- Hide Status Texts: Wanna view status icons only ? No problem...
- Short Driver Column Titles: Use it with "hide status texts". Titles are reduced to 3 letter texts so you can lower the column width to its minimum

### Added the four new "driver status" settings above in the customize columns screen, so they can be found by unaware users :)

### Modified and extended "Working/Non-Working" filter (main tool bar button):
- filter renamed to "Driver Status Filter"
- you can select the status category to filter: "Driver", "Emulation", "Color", "Sound", "Graphic" (for MAME/HBMAME only)
- filter options expanded to "Working (Good + Imperfect)", "Working (Good)", "Working (Imperfect"), "Non-Working (Preliminary)"

### Game docs popup menu (mouse right-click) have new options to quickly view a info category: "Go To Game Info", "Go To History", "Go To Driver Info", "Go To Story", "Go To Marp"

# version 7.5.2 change log - January 28, 2014

## Fixed

### Some buttons hints were disabled and/or with inaccurate text

### Forgot to update the scan results feature
- ROM tag was not being handled and ROM status text was incomplete
- games with no game set (Taito GNET and others) and games with all ROMs tagged "nodump" were still showing "game set missing", which is wrong
- minor tweaks

## Changed

### Some source code cleanup

## Added

### New stuff: "Last Played (date/time)" and "Total Playtime"
- every time you play a game both fields are updated
- new columns for details/grouped view modes
- info stored in \ini_files\times_played.ini file (both in milliseconds)
- info is not updated if aborting run confirmation dialog

# version 7.5.1 change log - January 24, 2014

## Fixed

### Scan games fixes. I missed three other cases. With these fixes I hope the scan system validate MAME games with 100% accuracy... and it seems to be :)
- if all ROMs are tagged "nodump", game is now set available (no validation required). MAME still run the game even if the gamename.zip set is not found (some bios sets and device sets)
- if all ROMs are tagged "nodump" and all CHD files are found and OK, game is now set available. MAME still run the game even if the gamename.zip set is not found (Taito Type X and others)
- if a game has only CHD files, like Global VR games (Need For Speed Underground), game is now validated

## Changed

### Select scan mode dialog pops up at startup, if "Games List Not Found" or "New Emulator Detection" is set to ask or auto-create, or if EmuLoader.ini file is missing (fresh install), so you can select how your games ROMs will be handled
... useful for those who have a complete MAME collection and need/want to force all games available right from the start

### Reduced games list loading time by around 500 milliseconds. No way to optimize it further as the EasyListView component takes its time to load 30000 items

## Added

### Added support to delete game input files for SEGA Model 2 emulator (\cfg\gamename.input)

### SEGA Model 2 emulator settings is back. I didn't realized you couldn't set folders within the emulator
- Gamma correction and Force feedback settings are NOT included
- Per game settings is also not supported
- File emulator.ini comments and format are kept intact :)

# version 7.5 change log - January 22, 2014

## Fixed

### Games list was still scrolling back to the title column if sorting games by a column (details view)

### No more scrolling back to the title column when changing games filters (details/grouped view modes)

### Create games list fixes:
- create list for multiple systems was NOT working (main menu "Create Games List")... and no bug reports ?
- it was parsing wrong info from MAME database, also messing up with ZiNc driver names
- small speed increase

### I had to adjust my CheckBox and RadioGroup custom components once more. Radio/check and texts were not aligned correctly, clearly noticeable if you place both components side by side

### When in grouped view mode, if a parent game is hidden and the clone is visible, the clone game would mix with an unrelated group. To fix this the hidden parent is forced to visible no matter the games filters being used
eg.1: "Megaman 1" clone set (cps1) seen as clone of parent set "Megaman 2" (cps2)
eg.2: "Missile Command" clone set seen as clone of parent set "Millipede"

### Application freeze and crash if button "Enable Threads" is enabled, after switching favorites on/off

### Feature "Delete/Copy/Move Selected Games" was NOT working at all if "Auto-Check" options were unchecked even if you select files in the list, they were NOT deleted/copied/moved... again, no bug reports :(
The dialog will not automatically close anymore if you answer NO to the confirmation dialog

### Fixing game titles from "King of Fighters, The" back to "The King of Fighters" was adding a letter "e" at the end, making it read "The King of Fitherse"

### Exit code for both MAME and AlterMAME emulators, are displayed in the error message box... after trying to run a game (when "Autorun Game With AlterMAME" is enabled)

## Changed

### Each game ROM has received a tag to facilitate ROMs validation, and to display "Bios ROM" in game details screen along with the "Device ROM" text. It's easy to know what ROMs are from the game and what ROMs are from device sets and/or bios sets
- for all systems except Daphne (no ROMs database)
- Demul doesn't have CHD files as they are in .bin format and need to be in the game set as regular ROMs
- Demul bios sets are required to be present even if they are not used by any game. Without bios sets, Demul doesn't run games!
- 0 -> game ROM
- 1 -> device ROM
- 2 -> bios ROM
- 3 -> chd file

### Scan games feature (audit ROMs) is finally fixed and updated more options
- fix: all games are recognized correctly no matter the order they appear in the main games list, specially clones and CHD files
- new feature: "Scan Games Mode". Supported (and selectable) in by scan games and create games list features You have three options (games popup or system selection dilaog):
- Full Scan: ROMs and CHDs are fully validated by CRC32 / SHA-1 checksum
- Quick Scan: No ROMs validation. EL only search for the gamename (.zip; .7z) and CHD files, but CHDs are validated (SHA-1 info text from header)
- Force Games Available: This mode sets games to available even if game files are nowhere to be found (it replaces the "Set All Games Available" from preferences screen)
- new scan option in games popup menu: "Force Selected Games Available" (Shift+F6 hot key). Use this to force the available status in games (single or multi selections)
- fix: many clones were set as merged or as missing ROMs/CHDs even if set is ok
- fix: CHDs were set as found and OK when the file was actually missing
- fix: games with no game set (gamename.zip) similar to Taito GNET (only bios set + chd) were not recognized at all or sometimes, incorrectly
- improved: "Scan Selected Game" (Shift+F5) and "Scan Multiple Selected Games" (Shift+F6) merged into one option: "Scan Selected Games" (Shift+F5)
... NOTE: Shift+F6 hot key is now used in another option!
- new "scan mode" tag for each game, so you know what mode was used to validated a game, visible only in game details screen (games popup menu or Shift+I hot key)
this tag is saved in games list files "\arcade\sysname.el" (see "docs\el-listformat.txt" file for the "Scan Mode" notes)
Important notes:
- to work properly, the game set (gamename.zip) or the bios set is required. If neither is found, game will be set as missing, even if CHD files exist!
- for systems like Taito GNET (only bios + chd), having the CHD file but not the bios set, game will be set as "missing"!
- games from the "globalvr.c" driver are not validated as they only have CHD files and nothing else (this is the only limitation in EL's scan feature now)
just select those games and force them available using Shift+F6 hot key or use the option in games popup menu

### More tweaks, both visual and internal

### Text Filter Bar renamed to Search Bar

### Improvements when creating games lists for multiple systems (manually or at startup). All lists are created first, then loaded back all at once instead of system by system. No speed improvement but it feels better this way

### Settings in search bar are now saved/restored at startup (tool bar filters)

### Updated FastMM library to latest v4.991 (3 September 2012)

### Messages dialog box now accept clickable URL links

### Long overdue updates for Demul... and full support for v0.5.8.2 (Oct 23 2013):
- games and bios titles were not handled correctly
- machine names are extracted from the romof="" entry and are now used to generate the run parameter ("-run=machine gamename")
- driver names info is used as machine names so games can be loaded correctly
this removes the limited machine detection function in EL's source code, and it makes possible to run the "gaelco" games ^-^
...except modelgd, model2, model2gd, atomiswave games which still need to be handled internally by the frontend (hard-coded)
- still no support to use MAME .chd files... this needs an external database, which Demul doesn't have, or have CHDs listed in its internal XML generator

### ZiNc database file "ZiNc_xml.dat" updated:
- Game descriptions and manufacturers changed to match MAME 0.152
- Source driver and game index added (sourcefile="" gameindex="" tags). File "\ini_files\zinc.ini" no longer needed
- Tags moved around to make file format consistent with MAME -listxml output
- made "Beastorizer (USA bootleg)" a clone of "Beastorizser (USA)" to match MAME 0.152. It makes no difference to the emulator

### Delete multiple games finally updated to use ROMs list from the games list instead of external files

### Improved the accuracy of the file size string generator. File size info in games list is displayed correctly now (and in other screens too)

### CHD list files (\arcade\sysname_chd.ini) are no longer needed, EL get CHDs list directly from the ROMsList info of each game

### Source code cleanup (finally!): created general functions to detect CHD filenames and to search CHD files. Multiple features can now use the same functions instead of having duplicate code (scan games, delete/copy/move games, game details)

## Added

### Sega Model 2 update:
- support for SEGA Model 2 Emulator v1.1a
- emulator version detection (v1.0 or v1.1a) by searching for the new "FSAA" setting in emulator.ini file
- database file "SEGAModel2_xml.dat" updated for emulator v1.1a with new games and parent+clone relationship (I didn't know this was possible for this emulator)
- if emulator v1.1 / v1.1a is detected, file "SEGAModel2_xml.dat" is used to create games list
- if emulator v1.0 is detected, file "SEGAModel2-v1.0_xml.dat" is used to create games list
- if emulator.ini file is not found, EL assume you are using the new version 1.1a (Jan 02, 2014)
- the "model2" set is properly renamed to "Model 2 Board ROMs" - proper games audit: if the file "model2.zip" exists in your ROMs folders, EL will use it, no need to have those files on every game set
the emulator actually need this set to check for ROMs... and I DIDN'T KNOW about it!

### Multiple systems filter! Choose multiple systems to filter the gameslist (main tool bar button)
- tool bar button "Arcade System" renamed to "Systems Filter"
- button's popup menu replaced by a custom dialog to allow multiple selections
- if "all systems" is selected, other selections are ingored
- if you select a single system, the last selected game for that system is still used (no change)
- only available systems are shown in the list (emulator + games list)

### WinKawaks emulator detection in the AlterMAME feature. Emulator doesn't load anymore when you select it in the filename. Emulator version must be edited manually. http://www.winkawaks.org

### New documentation file "docs\el-romsdatabaseformat.txt"

### New feature: Multiple Favorites Profiles. Simple, quick and easy to use...
- favorites file moved a new "\ini_files\favorites\" sub-folder
- proper validation for favorites title to avoid empty titles
- create as many favorites lists your heart desires
- favorites manager to create/edit/clean/duplicate/delete profiles
- the favorites tool bar button have a new popup menu, but the "Ctrl+F3" hot key still works to enable/disable favorites
- option "Validate Favorites File" moved from main menu "Maintenance" to the manager as "Cleanse"
- the "favorite_title" entry must exist for proper titles, at any position in the file (default profile "favorites.ini doesn't need it)
Important notes:
- when setting a new active profile, EL needs to update the favorite tag in main games list. The more games you have in the favorites profile, more time it will take (around 2.3 seconds for 30000 games on a Core I7 2600 3.4Ghz)
- when in grouped view mode, if a parent game is hidden and the clone is visible, the parent is forced visible to avoid mixing games that are not related to each other so, you might see more total games than your actual favorite games count

### New font style for games with preliminary driver and missing ROMs/CHDs (see "Font Settings" in games popup menu)

### Option "Run Game With AlterMAME" is back (games popup menu). Run a game directly with AlterMAME without using MAME. You can use any emulator you want

# version 7.4.4 change log - December 30, 2013

## Fixed

### There was a beep command in a function that resets list colors, noticeable at startup... debug leftover, sorry folks

## Changed

### Tweaks in run game confirmation dialog

## Added

### Support for HqMAME build detection (*hqmame*.* filename)

# version 7.4.3 change log - December 23, 2013

## Fixed

### Games list was being fully loaded twice when creating games lists (main menu). One after create list function (required) and a second time after auditing games (2x waiting time!!!)
Most affected system is MAME due to its huge games database. Auto-create at startup was never affected by this bug

### Games were not sorted correctly when sorting the list by a column other than game title. To fix this, the list is internally sorted by title (ascending) before sorting by the selected column. Details view mode only
The down side... an extra 100 milliseconds to sort (timing based on games list with 31 thousand games and a Core I7 3.4 GHz CPU)

### Parent CHDs were not detected correctly in game details screen. This is purely for information only, game audit is NOT affected by this!
- CHD and parent CHD files with same MD5 checksum and same file name, the "Parent CHD" entry is not added (duplicate info), but the "header" info text have a new "Parent CHD" tag
- CHD and parent CHD files with same MD5 checksum but different file name, both entries will be shown even if only the parent CHD is found

### Some system IDs were not updated in the source code, making EL malfunction or even crash

### Open/save file dialog was pointing to a random folder if MAME/HBMAME input folder was not found. Folder is created by EL now (Run Game and Playback/Record Input)

### Save file dialog was pointing to a random folder if EL's custom folder "\multimedia_files\" was not found. MAME/HBMAME only. Folder is created by EL now (Record WAV/MNG/AVI Output)

### New emulator detection is working as it should (preferences screen, startup). Emulator version info is also updated if action is set to "skip"

### Disabled status was not being applied when loading the image layouts settings screen (ghosted icon)

## Changed

### Selection bar width increased to 250 pixels in tiles view mode

### Renamed "Standard" view mode to "Details" view mode... it makes more sense

### Moved "Game Icon Size" and "Disable Clone Indent" options from main menu "View" to view mode button in tool bar buttons Both options are only visible in details/grouped view modes

### Many, many... many user interface tweaks

### Improved function that extracts MAME/HBMAME version info from the "-help" command line parameter, to generate the same text as in MAME's -listxml output
This feature can read version strings up to v99.999 so, when MAME reaches version 100.000... "Houston, we have a problem!"

### EL's custom select file dialog has been improved and optimized, both internally and visually

### Features "Run Game and Playback/Record Input" are using EL's custom file dialog again. MAME only support 1 input folder anyway (no sub-folders ?)

### Scan MAME/HBMAME audio samples feature has been simplified to scan games with missing samples... no more, no less

### Added a "Ghosted" property in TEasyItem type so EL can check if items are ghosted or not with ease... EasyListView component improvement

## Added

### Last sorted column is now restored at startup (details view mode). Experimental feature

### New game info: game size
- want to know the size of each game ?... for details/grouped view modes
- game size is extracted from emulator' games database when creating games lists, not from actual games files - CHD files are not included since they don't have a fixed file size
- all systems are supported except for Daphne emulator

### MAME version info and game list version info are customized based on the emulator filename
- official MAME: no filename restrictions...
- MAME Plus!: filename containing "*mamep*.* - UME: filename containing "*ume*.*
- WolfMAME: any filename since this variant is detected in version info text
Notes:
- WolfMAME detection is done thru the "[W]" tag in version string
- Emulator icon remains the same
- This feature is hard-coded in the source code and other MAME variants are not supported, specially MAMEUI and MAMEUIFX

### You can now select multiple systems at once to create games list and audit ROMs/CHDs (scan games), like in EmuCon. Just select the system(s) in the system selection dialog. Preliminary feature, please report any bugs
- Create games list feature is located in main menu "Create Games List" - Scan games is located in games popup menu "Scan Games (Audit ROMs)" and it works with all menu options except "Selected Game" and "Selected Game (Multiple)"
- If any system fails to create games list, the failed systems list will be shown in a message box
- Selecting "All Systems" ingore all other selections

# version 7.4.2 change log - November 28, 2013

## Fixed

### Proper support for UME emulator. EL was not looking for "ume.ini" file when reading emulator settings. Sorry for that folks...

## Changed

### Delete/rename image dialog updated with a cleaner interface and more details

### System icon / game icon layout changed in a few screens. Using two 68x68 icons was a bit weird. There's still room for improvement

### Buttons size are back to standard 87x23 pixels

### Game details screen rewrite. Made several tweaks and removed redundant info
- Section "Device ROMs" removed. Kinda pointless since you have this info in the "Game Files" section
- Merged set info text moved from list to the "gamename" text, below game title
- Game files info now show a "(.zip; .7z)" text if the system supports 7-Zip file format (only when file not found)

# version 7.4.1 change log - November 12, 2013

## Fixed

### FATALITY! I can't beleive it... I FORGOT to change the audit feature to get .7z contents using the 7-Zip library!
Emu Loader would simply crash as EL was trying to open .7z files as they were in .zip format, using the ZipForge library
Well, that's fixed so you can start using MAME/HBMAME/Demul ROM sets in 7-Zip again. Thousand apologies...

### Vertical scrollbar would go back to position zero after clicking on a column (details view mode)

### Filters based on driver names were not working. Now all driver names are handled without the file extension

## Changed

### Section entries of games/devices with no ROMs are removed from ROMs list files (sysname_roms.el). This does not improve performance and it reduces only mere KBytes of file size, but it keep files clean (crete games list)

## Added

### New feature: Select a fixed game at startup (requested). It allows you to always select the same game at startup, regardless the last selected game when exiting the frontend
- Access thru a new games popup sub-menu "Select Game at Startup"
- Just select the desired game, call the popup menu and select "Use Current: game_title" menu option
- This overwrites the "select last selected game" feature. To go back to the regular mode, just click on "Clear Selection" menu item
- If the game cannot be found (not visible due to filters, etc), this feature will fallback to the regular last selected game
- The first menu item is the game you chose as a fixed game. Cliking on it will select that game
- Selection details are saved in EmuLoader.ini using a new "[SelectGameStartup]" section

# version 7.4 change log - November 08, 2013

## Fixed

### Access violation after closing the select folder dialog. It didn't happen for everyone one though (not even on my system)

### Some MAME folders were being wrongly handled as ROMs folders, using "uMain.ExtractROMsFolders()" function. Replaced by a proper "uMain.ExtractMultiFolders()" function
Weird that Emu Loader was "kinda" loading those info to MAME settings screen without problems... but it was being loaded WRONG!

### Proper load support for multiple MAME folders: samples, artwork, controllers. EL could only work with single folders

### Memory leak when exiting the frontend if MAME settings screen was accessed at least once

### When handling multiple items in a ListView (delete/move/copy files, remove item from list), only the first item would be processed and loop routines would self-terminate prematurely

### Minor visual tweaks

## Improved

### Updates to "Not Used Zip Files" (main menu "Settings"/Maintenance"):
- support .7z format
- added a destination folder edit box and a overwrite files checkbox
- menu option "Maintenance" moved out of "Settings" as a sub-menu
- feature renamed to "Not Used Game Files"

## Added

### Support for DICE v0.7. File "DICE_xml.dat" updated with new games and a few other changes
- a new "sourcefile" tag was added to show driver name (reduntant for DICE ???)
- a new "versionadded" tag was added to show which emulator version each game was added
- driver status is now always set to "Good" (hard-coded in EL's source code) - category info is now shown using MAME's catver.ini (might not be accurate)

### New feature: Copy/move game files
- Feature can be accessed only in games popup menu (mouse right-click)
- Similar to "Delete Selected Games" feature, but to copy or move game files
- It works with single and multiple games selections
- New "Destination Folder" edit box so you can select the destination path when copying/moving files (full paths only!)
- If destination path doesn't exist, EL will try to create it
- New "Overwrite Existing Files" option so you can choose to overwrite or not existing files in the destination folder
- Added a new (and fancy) dialog box to show operation progress (delete/copy/move)... with an error log too
NOTES:
- if you click on cancel button, all files that were already deleted/copied/moved will NOT be restored
- CHD files are copied/moved to a "\chd_files\" sub-folder in the destination path. This cannot be changed
- when copying/moving files for multiple games of different systems (MAME, ZiNc, etc), systems othen than MAME are placed in a sub-folder to avoid mixing files, like so:
- MAME: root of the destination path
- Supermodel: root_path\SupermodelSEGAModel3\
- Daphne: root_path\Daphne\
- Demul: root_path\Demul\
- HBMAME: root_path\HBMAME\
- DICE: root_path\DICE\
- Sega Model 2: root_path\SEGAModel2\
- ZiNc: root_path\ZiNc\ - when copying files of games that share the exact same ROMs/CHDs files (MAME and HBMAME games for example), to prevent EL from creating duplicates, EL keeps an internal list of all MAME files. This list is checked against game files of all the other systems

### Some HLSL options are back for better compatibility with previous MAME builds (0.149 and older): "read custom ini file", "write custom ini file", "hlsl file name"

# version 7.3.4 change log - October 09, 2013

## Fixed

### Clicking "reset" button in text filter bar, games were not being shown if games list was empty due to previous filters

### Buttons hints were disabled in customize columns screen

## Changed

### Updated options in MAME settings screen, for MAME v0.150 release
- HLSL options ("Video 1" tab)
- Seconds to run; MAME use values in seconds and not milliseconds. Also, renamed it to "Time to Run" ("Video 2" tab)
- Added "Benchmark" option in performance panel ("Video 1" tab)

## Improved

### Minor tweaks

## Removed

### none

## Added

### none

# version 7.3.3 change log - September 20, 2013

## Fixed

### Application crash when viewing MAME/HBMAME games list in "View Missing ROMs/CHDs" screen (F8 hot-key)

## Changed

### none

## Improved

### none

## Removed

### none

## Added

### none

# version 7.3.2 change log - September 17, 2013

## Fixed

### none

## Changed

### Replaced "Snapshot Name Format" combo box control by a proper text box control

## Improved

### none

## Removed

### none

## Added

### Support for MAME v0.150 new "mame.ini" settings (MAME Settings screen)

# version 7.3.1 change log - August 25, 2013

## Fixed

### Misc filters were not being validated when using text filter bar

# version 7.3 change log - August 22, 2013

## Fixed

### HBMAME settings file was not being loaded if you have MAME and HBMAME in the same folder tree

### Columns were not being updated after closing customize columns screen

## Added

### Number of players option added to the text bar filter

# version 7.2 change log - August 01, 2013

## Fixed

### Previous/next image buttons were not working correctly. Also, they do NOT work at all if the "load image with threads" button is enabled

## Added

### New misc filter: Hide Device Sets with no ROMs
Check this option to hide all device sets that have no ROMs (for MAME and HBMAME). Note that this does not hide device sets with ROMs (like mie and qsound)

### Support for MAME 0.149u1

# version 7.1 change log - July 11, 2013

## Fixed

### Crash fix for Demul 0.58 (create games list)

### Some systems were still using media type index higher than 1. You must re-create games lists for all systems that use CHDs or disc image files (Daphne, Demul... except MAME/HBMAME)

## Improved

### Optimizations in view audit results feature. Support up to 19 devices per game. I doubt a game will use that much devices... future proof :)

## Added

### New arcade filter: Taito Type-X System

### New column "Game Status": available, missing ROMs/CHDS, missing

### Extremely ultra mega preliminary support for 7-Zip files. This is an experimental feature. I recommend to keep your MAME/HBMAME/Demul collections in ZIP format though. With 7-zip you can save around 3GB of HDD space if you have ALL MAME games but c'mon... 500GB external HDDs USB 3.0 are so cheap these days!
- for MAME/HBMAME and Demul only!!!
- file "7z.dll" must be placed in same folder as EmuLoader.exe (file must be downloaded separately)
- if you do not have ROM sets in 7-Zip format, you don't need "7z.dll" as Emu Loader works just fine without it
- very high compression profiles will be slower to handle (compared to zipped sets)
- Zip and 7-Zip formats are supported at the same time. You can have mixed sets in both formats, no need to convert your entire ROMs collection
- newer 7z compression profiles might not be compatible as the only Delphi library I could find compatible with Emu Loader's internal code was coded in 2011 (not by me...). There is no way to adapt EL's internal code without breaking the entire project!
- MAME/HBMAME audio samples are also supported... are .7z samples supported in MAME ?
- for information, the library source code is "source\sevenzip.pas" and 7z.dll version supported in v4.65.0.0

# version 7.0 change log - June 26, 2013

## Fixed

### -FATAL BUG: image zip content lists were not being re-initialized after switching images categories/layouts. Only fixed by restarting the application

### Application crash when creating games lists or auditing games. Equal chars ( = ) of ROM names replaced by by minus chars ( - )

### All ROM names are now checked for HTML tags, fixing A LOT of unusual ROM names (cosmetic fix)

### False "file not found" messages due to a couple variables not being handled correctly at frontend's startup (cosmetic fix)

### Wrong system icon and game name in Emu Loader's "Select File" custom dialog (cosmetic fix)

### Fatal bug haunting Emu Loader for more than a year! When game is already set as missing, ROMs list was not being updated in "system_name.miss" files after auditing... games with device sets were the most affected
This was a big problem as available ROMs were being shown as missing, making it impossible to update ROM sets
I don't know how I could have missed this for so long!!!

### Several minor fixes, app settings and cosmetic fixes

### Images layout feature was being initialized TWICE at startup!!!

### Images splitter grip icon not being set at startup if setting was disabled

### Minor bug preventing EL from deleting "arcade\systemname.miss"

### Columns could be clicked while in grouped view... this mode does not allow sorting for obvious reasons

## Changed

### File "biosset.ini" is only used for MAME now. This file's purpose is to change the bios used on systems with multiple bios sets (like Neo-Geo). This prevents other emulators from messing this file up

### MAMu_ icons folders unified into a single folder. Select folder is now in Preferences screen, "Games List" page. Relative path is supported (relative to Emu Loader)
- EL use the same icons for all systems, but the following systems can be in a sub-folder (not required):
ZiNc: "mamu_icons_dir\zinc\"
DICE: "mamu_icons_dir\dice\"

### Option "Run Game [AlterMAME]" is gone (games popup menu), and a new "Autorun Game with AlterMAME" menu item is added (ON/OFF toggle). Feature is located in emulators setup screen and in games popup menu
Just choose an alternate MAME build in Emulator Setup screen, run game normally. If it fails (MAME exit code 2), Emu Loader will try to re-run the game using AlterMAME executable
The AlterMAME feature now works as it was originally intended...

### Feature "Show Game Docs" now display info for MAME only. No point showing info on other systems

## Improved

### Several tweaks and optimizations everywhere

### Favorites list is always loaded with games list now, regardless of the feature being enabled or not. This causes a tremendous speed up when switching favorites on/off. One downside... games list loading can be up to 2.5 seconds slower if you favorites list is larger than three thousand games

## Removed

### Settings "Bold font style in selected games" is removed. Pointless feature...

### MAME features "Show Average FPS" and "Show Error Messages" are no more. When running a game with missing ROMs, a error message will popup after exiting the emulator, and the "Game Details" screen can be open, showing what ROMs are missing for the game... this CANNOT be disabled and it's supported on all systems (except Daphne)

### Button "Delete Image" removed from images tool bar. This feature can only be accessed in images popup menu (mouse right-click)

## Added

### Support for MAME 0.149

### New emulator support: HBMAME (HomeBrew MAME), completely independant from MAME: http://hbmame.the-chronicles.org
Most MAME based features are supported
- support for games with multiple bios sets like Neo-Geo (biosset_hbmame.ini)
- partial merged sets support (just like MAME)
- game custom settings
- game audio samples detection. also, scan for audio samples in "Games List" main menu
- features from "Run Game (Extra)" games popup menu are supported - NO support for mameinfo.dat, history.dat and other docs
- support for catver.ini, languages.ini and others
- detection of device sets and games with CHDs
- AlterMAME is NOT supported

### New emulator support: DICE: Discrete Integrated Circuit Emulator
- it uses an external ClrMAME XML games list "DICE_xml.dat", created by myself specially for Emu Loader. It has more game info compared to regular XML lists
- ROMs folder cannot be customized. ROMs sets, zipped only, must be placed in DICE's own "roms" sub-folder
- Games with no ROMs are set as available

### Display orientation, number of players and controls types are now extracted from external ClrMAME XML .dat files, if available. This is mostly for DICE...

### Support for zipped MAMu_ Icons (icons.zip). YES you read it right!
Notes:
- for ZiNc games, icons from "icons\zinc\" sub-folder are used, if found but it's not required
- for DICE games, icons from "icons\dice\" sub-folder are used, if found, to avoid mixing with MAME icons (not required)
- MAMEUI icons do not have those special sub-folders. Icons from the root .zip folder are used instead

### New setting: "Dark Font Selection Bar", for those who want to use a white font in games list (preferences screen, Games List tab)

### Multi-column sorting. Sort by 2 different columns at the same time (request). Usage: click on first column header, then hold Ctrl key and click on a second column header
Notes:
- this is a hack and extremely experimental... not a true multi-column sort implementation!
- it only works with ascending sort (A to Z)
- only works with details view mode

### Re-added screen resolution and screen refresh rate info in games list columns

# version 6.7 change log - February 20, 2013

## Fixed

### Random application crash after selecting games

### Menu option "Enable MAMu_ Icons" was grayed out after selecting folders for icons

### Image Layout "tripple 6" was not loading/saving image 3 width correctly

### Games splitter bar disappears when making the games list panel too small

### Auditing multiple selected games was showing the system selection window. It's not necessary as the system of the first selected game is used. Games of different systems cannot be scanned together on this feature!

### No more script error messages when using web browser game info (ProgettoEMMA) on certain games (88games and others)
It was as simple as enabling the "silent" mode in the TWebBrowser component

### A few buttons in images tool bar should not be visible when viewing game web info

### Clicking the close button in message box window was not returning the correct "abort" message

### Unfocused lists had wrong sized selection bar

### Images tool bar buttons still visible after disabling preview images, while info game docs panel enabled

### Images panel messed up when disabling preview images, while internet game info is being used

### Preview images being loaded twice at startup. Startup is now 2 seconds faster

## Changed

### Button "Toggle view mode" in images tool bar moved to a fixed position (second button). Easier to switch between view modes as it never moves to another position

### Finally updated the Graphics32 component to latest v1.9.1. There are no speed improvements though

### Renamed "Enable Layout Dimensions" to "Show Layout Dimensions" (images popup menu). You'll need to re-enable this setting

### User interface back to the good old looks. No gradient backgrounds, glowing texts or glass buttons

### Fixed background color of many controls to pure white RGB(255, 255, 255)

### Main image panel does not change color anymore, it's always black... as it should have been

### Replaced the last semicolon char " ; " by the special " ¬ " char. Now EL can have game titles with semicolon (Japan titles ?)
Games list files are updated automatically at startup

## Improved

### Showing preview images on selected games is a bit faster. If the game image is already loaded in images panel, it is not loaded again (parent + clones related games). This is good for zipped images and when "load using threads" is disabled
eg.: selecting "Elevator Action" and its clones. If you only have the image for the parent game, selecting its clones will not reload the parent image... if it's already loaded

### Switching between image layouts is lightning fast now!

### Replaced the "Lanczos" resampler filter by "Hermite". It's faster and it looks better. No noise, phantom pixels or over-sharpening added to the image

### Expanded the "Interface Type" filter in "Misc" filters (tool bar button) to include fruit machines in the mechanical option, and added a "Fruit Machine" option. Also, for better filtering, catver.ini is also used if available

## Removed

### Setting "Show Image Border" is gone. 7 pixels border in images panel is always enabled from now on. It looks more professional...

## Added

### Load preview images using threads
- Preliminary feature, disabled by default. To enable it, check the first button in images tool bar buttons
- It works great for images layout view mode and zipped images, as all 3 images load at the same time
- Unzipped images are also supported, but the speed gain is less apparent
- One nice side effect, no lag when scrolling the games list (if images panel is enabled)
- If you select games too fast, sometimes images of the last selected game might not load. This was necessary to prevent the application from crashing
- a 2 milliseconds delay was added before loading each image panel, to avoid crashes when switching between image layouts views
- Best used with multi-core CPUs

### New filter: "Games ROMs" ("Misc" filter button) -> you can choose to show only games with ROMs/CHDs or only games with no ROMs (pong ?).
For MAME Plus! this is handy since it has more than 30 games that do not use ROMs

### Re-added the function to select random games. Access "Select a Random Game" in games popup menu (mouse right-click) or with the "Ctrl+R" hot-key. There will be no tool bar button for this. It does NOT work with the grouped view mode!

### Support for "languages.ini" from AntoPISA Progetto-SNAPS. Place file in "emuloader\ini_files\" folder
- new column in games list (details, grouped views)
- new "Language" option in "text bar" filter settings (tool bar buttons)

# version 6.6 change log - December 23, 2012

## Fixed

### Applied a dirty fix for the "gamename.zip not found" message, for sets with no ROMs ("Game Details" screen)

### "Ghost" effect not being applied to unchecked files in "Delete Selected Games" feature

### MAME games with no ROMs were being handled as "missing ROMs" (pongf, ide_baseboard, hdd, and others from MAME Plus!)

### Proper MAME NVRAM file type detection ("Delete Selected Games" feature). This is just a cosmetic fix, to display correct file type descriptions...

### Fixed my TShadowLabel component. It was cutting 3 pixels at the right side and 1 pixel at the bottom. The regular TLabel component also does that when text have "Italic" style enabled or the component is set to "disabled"

### Menu item caption was appearing as hints in some menus/popup menus

### Button "Yes" being executed when pressing "ENTER" key, while button "No" is focused (MessageBox screen)

## Changed

### Rewrite of "Emulator Setup" screen. A new "glowing text" unit is in for testing (might be removed/replaced in a future build)
To avoid repaint crazyness (like TLabel component), the new "CreateGlowText()" function can only be used with TImage components

### Visual updates on a few screens that have "emulator select" and "image category select" panels and/or screens

### Rewrite of "Image Category / Image Layouts" settings screen and fixed a few visual bugs

## Improved

### Delete multiple games at once has been completely rewritten.
- Added game config files (cfg; nvram; eeprom; sram; flash) to "Delete Selected Games" feature. Also added ".flash" files detection for Demul (nvram folder)
- ALL selected games are now scanned, not just available ones. This is necessary since config files are included in the search, and you might have config files but not the actual ROMs/CHDs files
- Files list no longer appear while scrolling the games list. Instead, a "Files Details" button is available if you want to see the full files list (all games or selected games)
IMPORTANT: You cannot select individual files per game to delete anymore. A new checkbox group has been created, called "Check File Types to Delete".
There are three options: "ROMs", "CHDs" and "CFGs/NVRAMs". Just check the file types you want to delete and uncheck the ones you want to keep. It's very simple

### Rewrite of "Show Game Details" screen and a few optimizations. Still not final... I'm not yet happy with how it looks

### Buttons "No" / "Yes" re-arranged in MessageBox screen. Button "No" should be on the right side...

### Replaced open/save file dialogs by Windows native dialogs. The proper dialogs are displayed now on Windows 7 :)

### Finally found a way to compile the project with a high res icon with many resolutions, including 256x256

## Removed

### Feature "Delete Game Config Files" is no longer needed

### Feature "Delete Not Used Game Config Files". It's way easier to manually empty config folders from all emulators anyway...

## Added

### Support for MAME v147u1 new "mame.ini" settings

### It's bigger... it's better... zipped images is BACK!
- Files are extracted directly into a memory stream (RAM). No temporary files are created - All systems are supported
- If you modify any of the .zip files, Emu Loader must be restarted, or you can disable/enable images (F6 hot-key) - Files must be placed in the same folders as images, for each system
- None of the rename/delete features support zipped images, because it's ultra mega dog slow to update .zip files - Each .zip file is closed after the image is loaded. This prevent files from being locked and always opened...
- The priority is still unzipped images. If no unzipped images are found (both parent and clone), .zip files are searched
- Use of internal string lists for faster file searching
- Filenames for each image category (same as MAME Plus! / MAMEUI). Same filenames for all emulators as well:
- Title Snapshot: titles.zip
- In-Game Snapshot: snap.zip
- Marquee: marquees.zip
- Flyer: flyers.zip
- Cabinet: cabinets.zip
- Control Panel: cpanel.zip
- Control Panel Layout: cpanellayout.zip
- PCB: pcb.zip
- In-Game Artwork: snapartwork.zip
Notes:
1. if you select the same image folder for different systems, the same .zip file will be used!
eg.: select same folder for snaps in MAME and ZiNc. EL will search images for both systems using the same "snap.zip" file
2. Searching internal lists, it takes zero ms (milliseconds) on a list with 30 thousand items (15 ms on a list with 60 thousand items, 30 ms on a 120 thousand list... and up on larger lists)
Unzipping files takes between 15 ms to 50 ms, depending on how big or small the .zip file is. This is measured on a Core I7 2600 3.4GHz)

# version 6.5.4 change log - September 15, 2012

## Fixed

### Critical error: a few important features were not working due to new "TrkGlassButton" button types still being handled as regular "TButton" on many functions

### Several games filters were not working due to a glitch in the source code... sorry, my fault

### Button "Image View Mode" is now the last button in images tool bar button... as it should have been from day one

# version 6.5.3 change log - May 27, 2012

## Fixed

### Rename/delete images was never possible, unless the main menu "Images" was accessed first

### Rename/delete images with popup menu was not working while in layouts view mode

### Minor UI bugs

### Quiting the frontend in full screen mode. After restart EL and disable full screen mode, main window state was not restored correctly

### Images panel visible when restarting EL in thumbnails view mode

### Feature "center image splitters" was not working correctly for some layouts (image layouts view)

### Buttons / checkboxes / radiogroups components disappear when pressing the ALT key (Windows themes support is buggy in Delphi 7 for some components)

### Game selection's alpha blend setting was always disabled on restart

### Panels in "Image Layout Settings" screen were not being correctly shown/hidden (visual bug only)

### Splash screen's texts frame not moving along with splash screen while dragging it

### Several UI bugs in MAME settings screen, including tooltips

## Changed

### Main menu bar is gone. All options are now in the first button at the main tool bar buttons. Can also be hidden

### Modified my splitter component to accept a single color, a popup menu... and more goodies

### Splitters in main screen set to "Office 2007 Luna" style by default. Customizable at preferences screen, "General" page

### Replaced all top/bottom bars by my new TPanelEx component with vista grandient styles (external image files no longer needed)

### Moved Daphne settings from preferences screen to its own config screen and added new settings. A new file is created: "\emulator_ini\daphne_el.ini"

### Moved "\images\msgbox_icons\" folder to "\resources\main_icons\msgbox_icons\" and converted into .ico files

## Improved

### Dual gradient selection bar visually improved (menus / popup menus)

### Preferences screen make-up. Sections separated by pages

### New hint control to mimic Windows 7 hints/tooltips (games list has its own custom hint, it cannot be changed)

### More code cleanups and optimizations

### Replaced all checkboxes, radiogroups and groupboxes by my new custom components. Custom label colors and shadow texts

## Removed

### Select random game feature on main tool bar buttons is gone. This feature never worked right while filters are enabled

### The following files are no longer needed (all from "resources\images\" folder):
"msgbox_bottom.png", "msgbox_bottom_border_left.png", "msgbox_bottom_border_right.png", "checkbox_on.png", "checkbox_off.png", "msgbox_top.png", "systembk_top.png", "textbar.png", "textbar2.png"

## Added

### New settings for "Image Layouts View"
- "Show Splitter Grip Icon" -> toggle on/off grip dots in splitter (images popup menu)... enabled by default - "Customize Splitters" -> customize splitters appearance (images popup menu, preferences screen / "Images" section) - "Splitter Style" -> fixed gradient colors, "single color" style can be customized (preferences screen / "Images" section)
- "Center This Splitter" -> center only one splitter on a image layouts view (mouse right-click directly on the splitter)
- "Enable Layout Dimensions" -> show a window with the size of each image panel (in pixels), for extreme fine-tuning (images popup menu)

### Option "Category / Layout Settings" added in images popup menu for quicker access

### New setting for main tool bar filters: "Bound To Games Panel". Check this option to limit the tool bar to the games list panel. This will increase the size of the images panel even more (menu "View" / "Tool Bar" and in "Customize Tool Bar" screen
NOTE: if the games panel is too short, use the small tool bar buttons or increase the games panel width by using the splitter

### New setting: "Show Image Border" (enabled by default). Show a 7 pixels border around the image panel (images popup menu)

# version 6.5.2 change log - February 28, 2012

## Fixed

### Minor command line fix for Supermodel 0.3a (run games)

## Added

### Support for Demul v0.5.7

# version 6.5.1 change log - February 25, 2012

## Fixed

### Games with discrete audio were not being parsed correctly from -listxml output (MAME)

### Feature "Delete Selected Game(s)" was not searching CHD filenames correctly and not listing them on the game files list

## Improved

### More source code cleanups

## Removed

### CHD Sub-filters removed. Only a single CHD filter is available from now on. File "chd_mediatypes.ini" no longer required

### CHD compression type info completely removed from the project. Now only the header version is shown

### Support for "Game FAQ Files" and "PCB Info Files" removed (preferences screen, game info feature)

# version 6.5 change log - February 21, 2012

## Fixed

### Since MAME 0.144u7 main CPU tags have a " : " char in the tag name (-listxml output). Dunno why they did this... :_(

## Added

### View game info from Progetto EMMA website, since MAWS is offline and there's no ETA on its return (if ever)
To change between them, go to main menu "Images", and select one of the options. "Progetto EMMA" will be the default setting from now on

### Support MAME v0.145u1: new CHD header v5 detection (no compression type detection though)

### Support new settings for the latest Supermodel 0.3a-WIP ("Supermodel Default Settings" and run games)

# version 6.4.2 change log - January 28, 2012

## Fixed

### ROM status begin set as missing for available games. I guess I missed that small tiny detail. All is good now :)

# version 6.4.1 change log - January 22, 2012

## Fixed

### ROM CRC32 checksum was not being parsed correctly from mame's -listxml output (several sets). This greatly affects game audit!

### Game status not being properly set on missing sets, showing wrong info in "Game Details" screen and set status icon at games list's status bar

# version 6.4 change log - January 10, 2012

## Fixed

### Minor cosmetic fixes in the user interface

### Application crash after deleting a game .zip file... this bug has been there for months :_(

### Events of several buttons and components in "MAME Settings" screen were missing (folders tabs). Not a single bug report about this either :_(

### Status bar not updated after single game scan (audit)

### The folder for SEGA Model 2 Emu config file could not be located, as the folder was not being properly set. That means NO ONE could run games with the frontend! Sadly, nobody reported this :_(

### Games list was not being generated at startup, if games list file and ROMs database file were not found

### Minor bug that was not properly adding merged clone "names" into "arcade\mame_merged.ini"

## Changed

### If option "Set All Games Available", only the games from the selected "scan games" option will be updated (not the entire games list). But the "arcade\system_name.miss" file will not be updated

### Selection bar updated

### Blank icon renamed to "blank_icon.ico" and it's now a 32-bits icon ("resources" folder). "MAMu_ Icons Manager" feature updated to use this new icon

### Big core change 1! From now one, the entire ROMs database is loaded in RAM for easier and faster access. You must re-create the games list for all systems!
- ROMs database changed again ("\arcade\systemname_roms.el" files). Used by following features: "scan games (audit)", "scan results" and "game details"
- no more "baddump" / "nodump" tags detection (this is not a ROM manager), although "nodump" is set if the checksum is empty
- the "is / is not device rom" tags are now placed before the rom name (MAME only)
- entries "gmtitle", "cloneof", "biosname" removed since they're not needed anymore
- an addition of 3 seconds to load the ROMs database, when loading the games list

### Features "Scan Games (Audit)" and "Scan Results" updated to use the new ROMs database format. The data needed (game info and ROMs list) are read directly from the games list

### Big core change 2! Game set status info expanded into three categories and added directly into game list files ("arcade\system_name.el"), for easier access and game auditing. You must re-create the games list for all systems!
- code 0 -> available game
- code 1 -> missing ROMs/CHDs - code 2 -> missing (no .zip file found)
- file "arcade\system_name.miss" still used to display ROMs status in "Game Details" and "Scan Results" screens

## Improved

### Code cleanups

## Removed

### The following "selection bar" settings were removed (preferences screen, "Selection Bar" frame box)
- "Full Item Paint" -> it's always enabled anyway
- "White Text Color" -> not needed anymore
- "Gradient Bar" -> gradient selection bar is always enabled now

## Added

### New scan games option: audit multiple selected games at once :)
- only games from ONE system will be scanned (based on the first selected game) - option located below "Selected Game [Shift+F5]", called "Selected Games (Multiple)"... games popup menu, "Scan Games (Audit ROMs)" sub-menu or just use the hot-key "Shift+F6"

### New selection bar option: "Round Corners". Enable or disable the rounded corners in the selection bar (preferences screen)

# version 6.3 change log - December 15, 2011

## Fixed

### Average FPS was not being shown after exiting a MAME game, if "Show Error Messages" was also checked (main menu "View" / "Command Line")

### Paiting bug when selecting items on large icons view mode

## Changed

### The -listxml output file is no longer deleted after creating a MAME games list. It is now a fixed file: "elfolder\arcade\mame_listxml.xml"
It will only be updated if a new MAME build is used. It takes way too long for this file to be created
Avoid deleting this file manually...

### XP themes must be enabled from now on, so EL can work properly. Windows 7 needs aero interface. Otherwise, the UI will be all messed up

### New screens for Delete/Rename image files

## Improved

### New rename/delete images dialog

## Removed

### No more true color icons (24-bits) support. EL was built for XP icons from day one (32-bits, alpha blend)
MAMu_ icons still supports 8 bits (256-colors), 24 bits (true-color) and 32 bits (XP-icons) and that will never change

### Support for Win9x / WinMe is gone

### Setting "Force Quotes (XP/Win7)" (main menu "View" / "Command Line"). It has been disabled for many builds

### Setting "Disable Icon Stretch (48x48)". Not needed anymore (MAMu_ icons)

### File "EmuLoader.exe.manifest" is not needed anymore. Themes is always enabled from now on and there's no way to turn them off

## Added

### Support for the new control tags format in -listxml output (MAME 0.144 and newer). Games with dual joysticks are displayed correctly at "Game Details" screen. File "ini_files\control_type.ini" updated (MAME Plus! also supported)
Old MAME builds are still supported (minimum 0.84)

### Support 48x48 icons for MAMu_ icons (alpha blend-32 bits, true color-24 bits and 256 colors 8-bits)
Only when using tiles view mode or standard/grouped views with "extra large icons" settings enabled

# version 6.2.1 change log - Novermber 24, 2011

## Fixed

### Game sets that have no ROMs where being set as missing as there is no ROMs list for the audit feature. They are all set as available sets from now on (pong, a2600, nes, etc). This fix only applies to "MAME Plus!"

## Changed

### Changes in "MAMu_ Icons Manager" feature:
- new "Mechanical" column in missing icons list
- icons do not get copied/updated when closing the screen with the window close button ("Copy zzz to Selected Games" setting)
- support for multiple zzz icon files for the missing icons list. Missing icons list will be checked against all zzz icon files found in icons folder. files naming MUST be "zzz_nameofyourfile.ico" (always start with "zzz_")
- icons in the "Delete Not Working Icon" screen are now properly loaded, due to multiple "zzz" files (right after scanning for missing icons) - feature "Update Not Working Icons" is broken for now

### Updated "Delete Config Files" feature (games popup menu) to support the new nvram file system for MAME (nvram\gamename\*.*)
Notes: - this is only supported with single game selection!
- old .nv files are still supported...
- multiple folders support for games with multiple bioses, like NeoGeo... "systemname_biosnum.nv"
- delete config files when multiple games are selected, only the old "nvram\gamename.nv" method is supported

## Improved

### 3rd pass when creating MAME games list is way faster now

# version 6.2 change log - October 27, 2011

## Fixed

### Workaround for ROM names with equal char " = ". Due to the way the frontend was coded, this char cannot be used on ROM names. ROMs are validated by CRC32 checksum only, ROM names are irrelevant. This applies to the "gamtor.c" driver only (for now)

## Changed

### The available ClrMAME .dat file is now used to create Supermodel games list (file: "SupermodelSEGAModel3_xml.dat")
But game info is incomplete. A working MAME list is needed to fill the blanks (optional)

### Changes in "MAMu_ Icons Manager" feature:
- new column in missing icons list: "Mechanical"
- icons do not get copied/updated when closing the screen with the window's close button ("Copy zzz to Selected Games" setting)
- support for multiple zzz icon files for the missing icons list. Missing icons list will be checked against all zzz icon files found in icons folder. files naming MUST be "zzz_nameofyourfile.ico" (always start with "zzz_")
- icons in the "Delete Not Working Icon" screen are not properly loaded, due to multiple "zzz" files (right after scanning for missing icons)

## Added

### Support for new MAME 0.143u8 settings ("MAME Setting" screen)

# version 6.1.9 change log - September 27, 2011

## Fixed

### On a fresh install, large icons (32x32) are displayed instead of standard size (24x24)

### Red alert! Red alert! CRC32 checksum for several Demul games have leading spaces (-listxml output), causing EL to set these games as "found with missing roms". Funny, after many months, only ONE user reported this bug!!!
I don't use Demul so, I never got this problem

## Added

### Support for MAME v0.143u6

### Support for Supermodel v0.2a (older builds are no longer supported!)
- emulator settings and custom game settings are saved on EL's own .ini files (folder "\emulator_ini\supermodel_ini\")
- settings from "emulator_folder\Config\Supermodel.ini" file are never read or used by the frontend
- a working MAME 0.143u6 games list is required to create a Supermodel games list (older versions are not supported)

# version 6.1.8 change log - August 22, 2011

## Fixed

### Game titles in SEGA Model 2 XML file fixed. Many thanks go to user "Retroplay" from RetroRoms forum for fixing them

## Added

### Changes in the frontend's core to support MAME v0.143u3 new device sets ("mie", "namco50" and others)... from "-listxml" output
- new file, listing all games that use ROMs from device sets ("\arcade\mame_devicesets.ini")
- new "IsDeviceSet" field in games list files ("\arcade\system.el"). Also a new "devices" section is added, listing all device sets - new "IsDeviceROM" field in ROMs list files ("\arcade\system_roms.el")
- separate .zip sets support for these new devices when scanning/auditing games ("mie.zip", "namco50.zip" and others)

### New main filter: "Device Sets" that show only device sets (main filters button, right next to the Bios filter)

### New "Devices" filter (extra filters tool bar button):
- "Show Games With Device ROMs" -> show all games that use device ROMs - "Show Games With No Device ROMs" -> show all games that do not use device ROMs - "Hide Device Sets" -> hide all device sets (same as "Hide Bios Sets")

### Feature "Game Details" (Ctrl+I hotkey / mouse right-click) have the following new information: - "Device Set / Yes" -> so you know it's a device set, not a game
- "Device ROMs / Yes", "Device Set #" -> if a game use device ROMs and the set names of the devices - "Device Zip" (in "Game Files" section) -> show if the .zip file for each device set is found or not - Text tag "Device ROM" on each ROM that's from a device set (ROMs list panel). This is only shown on games, not device sets

### Feature "View Missing ROMs/CHDs" (F8 hot-key) updated to list device names and "device_name.zip" found or missing
NOTE: this feature support a max of 10 device sets per game... for now (will be increased if needed for future MAME builds)

# version 6.1.7 change log - July 09, 2011

## Fixed

### Window status (normal/maximized) not being correctly handled when switching between windowed/full screen mode

### Main menu "Images" showing up when initializing the frontend in full screen mode

### Selected game not visible on screen after resizing the main window or resizing the preview snapshots panel

### Document files updated ("docs\" folder). Some of them had incorrect/incomplete information

### In-game snapshot not being updated after exiting a game

### Fixed a huge bug that was messing up image layout settings when switching between layouts, and when switching between classic and layout view modes

### game snapshots were not loading correctly in layouts view mode, if one of the images was not found

### Application crash when changing image's "stretch" setting (classic view mode only)

## Changed

### Bios selection in "MAME Default" and "MAME Game/Driver Custom" settings screen only show sets for games that have external bios sets, like "Neo-Geo", "PlayChoice-10" ("Miscellaneous" tab)
This way, a bios won't be selectable for games that do not use bios or for MAME default settings

### Renamed "Scan Results" to "View Missing ROMs/CHDs". This feature is ment to show you only available games with missing ROMs/CHDs... not after using "Scan Games" feature

### Favorites profiles removed. Only a single favorites list is supported from now on
Either create a new favorites list or rename one of the favorites files from "\ini_files\favorites\*.el" to "\ini_files\favorites.ini"... and remove the "fav_username=" line (first entry in the file)
You can delete "\ini_files\favorites\" folder and its files
The "Validate Favorites File" option is at main menu "Settings" / "Maintenance"

### Replaced "Number of Screens" by "Audio Type" (only used by MAME)

### Screen "Emulator Setup" re-write
- Simplified interface. Only emulator filename needs to be selected
- MD5 checksum info removed (useless)
- New "Update System" button. Useful if you change emulator file and have "New Emulator Detection" option disabled (preferences)

### ClrMAMEPro XML .dat files must be in frontend's main folder now, and named as follows:
- ZiNc: "ZiNc_xml.dat"
- SEGA Model 2 Emu: "SEGAModel2_xml.dat"
As of this version, both files will be released with frontend's binary package... no more .dat file hunting :-))

### Moved games scan result files (.miss) from "arcade\scan_results\" to "arcade\" folder

### Control type entries in "\arcade\system_name.el" files have MAME's control names now
A new file is also available listing all control types ("\ini_files\control_type.ini"). You can expand this list manually if a new MAME has a new control... even AFTER creating a MAME games list

### If version info cannot be parsed from emulator binary, "Unknown" will be set automatically (no more user input)

### New "game status" icon at games list status bar, next to the game name label
- green ball : available game (.zip found and ok) - black ball : missing game (.zip missing)
- yellow ball: have game with missing ROMs/CHDs (.zip found)

## Improved

### Minor user interface tweaks... for consistency

### Feature "Delete Clone Images" updated. Removed multi-screens support (main menu "Images" / "Maintenance")

### Text filter bar updated. New visual, easier to use. More options available
To change options, click on "settings" button and select the desired filter. Remember, checking "Include Tool Bar Filters", the filters from main tool bar buttons will also be applied

### Game snapshots were being loaded three (3) times over at startup!

## Removed

### Feature "Bios Sets [M.A.M.E.]" (main menu "Emulator"). Select a bios using custom game/driver settings

### Feature "Convert Snapshots". Snap files are automatically renamed after exiting MAME anyway

### Hidden games feature is no more. Wanna hide games from kids and stuff ? Easy... don't have the ROMs in your computer
... or edit "\arcade\mame.el" manually and remove the games you don't want (NEVER remove the first game of each section!)

### Multi-games loading feature removed (megatech, and others). This will not be supported by the frontend anymore. The folder "arcade\multi-games\" and its files can be deleted

### "Classic" filter is gone (arcade filters). It's an old filter, when MAME only had Neo-Geo as a driver with external bios sets

### Support for "Screen Resolution", "Save State", "Audio Samples" infos is no more (MAME has LOTS of games without resolution info)

### Option "Display Image Label Info" ...pointless

### Support of following ZiNc features:
- Glide rendering settings ("ZiNc Settings" screen)
- Option "One Setting Per Line" from preferences screen (only single line settings from now on)
- Driver custom settings support (only game custom settings from now on)

### SEGA Model 2 Emulator default settings and custom game settings is no more. The settings file "emulator.ini" have a lot of comments and they were being removed every time you changed something with the frontend. Most option can be changed directly in the emulator anyway

### Emulator default settings for Demul is gone. You can set ALL options directly into the emulator, including ROMs folders

### Setting "Show Not Available Image" is gone. The "not available images" are always displayed now

### Delphi component "VirtualTreeView" is not used anywhere on the project anymore... references and component links completely removed from the project

### More source code clean-up.

## Added

### Frontend documentation files accessible in "Help" main menu

### Support for latest MAME build

### New "Extra Filters" button in main tool bar. All filters from the main menu "Game Filters" are here now. The main reason ? To remind you that these filters exist! They are also saved/restored on restart from now on

### New filter: "Audio Type" (extra filters tool bar button):
- Standard Audio: most games, using sound chips
- Discrete Audio: games that use discrete sound circuits
- Wave Sample Audio: games that use external .wav samples for sound

### XML .dat file for "SEGA Model 2 Emu" v1.0 finally added :)

# version 6.1.6 change log - May 01, 2011

## Fixed

### Atomiswave games not loading with Demul emulator

### Waste of RAM when switching view modes in "MAMu_ Icons Manager" screen (missing icons list)

### Columns sorting was not working when columns positions changed

## Changed

### Removed multiple folders support for MAMu_ Icons feature. If you were using multiple folders, please select a folder for each system again. Relative path support is also removed

## Improved

### Feature "MAMu_ Icons Manager" improved. More "Not Working" icons features

# version 6.1.5 change log - April 22, 2011

## Fixed

### Played column was not being sorted correctly. All other columns are sorted as strings so, they should sort correctly

### When in grouped view mode, all columns were being indented (clone games). Only the title column should be indented

### Games filters were messing games list up (main tool bar buttons, left panel filter, text bar filter)

## Improved

### After scaning a single game, left panel filter is re-applied if enabled

## Added

### New setting: "Disable Clone Indent" (main menu "View"). Check this option to prevent clone games indentation (grouped view mode only)

# version 6.1.4 change log - April 19, 2011

## Fixed

### Supermodel games list not being created at a fresh install

## Added

### New feature: AlterMAME ("Emulator Setup" screen and games popup menu). You can select an anternate MAME build to run games
See the help button in emulator setup screen, "AlterMAME" panel (after selecting MAME system) for more info

# version 6.1.3 change log - April 18, 2011

## Fixed

### Custom settings were not being saved ("SEGA Model 2", custom game settings)

## Changed

### Fancy new splash screen with transparency and alpha blend effect!!! Also, new about screen

### Custom settings (game and driver) are loaded automatically now, if the custom settings file is found
This is how MAME works, and that's how it will work for all other supported systems (except Daphne and Demul that do not support custom game/driver settings)

### Custom game/driver settings files moved from "frontend\arcade\" path to a new folder: "frontend\emulator_ini\".
For easier access and to separate them from games list files. Old folders and files will be automatically move to the new folder (ZiNc and SEGA Model 2)
Supported systems: ZiNc, SEGA Model 2, Supermodel: SEGA Model 3

### Removed all instances of VirtualTreeView component from the frontend, except from the "left panel" feature that requires a TreeView component. Improvements made:
- standard and grouped view modes converted to use EasyListView component. all views use the same component now
- no need to reload the games list when switching view modes, except for grouped view that requires special handling
- slow games scrolling with mouse wheel fixed
- better integration with other features that need to extract game details info from the main games list

## Improved

### Removed hourglass cursor from a few functions

### Support for "Windows Clear Type Fonts" improved. I think all screens can show clear type fonts now

### Changed all "CompareText()" function calls to "AnsiCompareText()" (multi-byte and accented characters support!) :)

### Major source code cleanup

## Removed

### Scan games list cannot be stopped anymore, to avoid crashes and weird errors

### Custom command line feature is "gone with the wind...". Blame those damn leechers that keep using my frontend for profit!
...plus, I've never ever used this feature anyway. Also, to prevent people from using unsupported emulators with the frontend

### Folder "resources\images\topbars\" and all its .png files are gone as they are not needed anymore

### Columns profile per system is gone (standard/grouped view modes). All systems share the same sort parameters
Columns settings file renamed to "frontend\ini_files\columns_profile.ini"

## Added

### Support for Supermodel: A SEGA Model 3 Emulator
NOTES:
- you need a working MAME games list to use this new emulator (games and ROMs list extracted from MAME)
- emulator settings and custom game settings will be stored in "frontend_dir\emulator_ini\supermodel_ini\" folder
- emulator default setting stored in "supermodel.ini" file (frontend custom folder)
- custom game options stored in "gamename.ini" files (frontend custom folder)
- there is no support for custom driver options since Supermodel only has SEGA Model 3 games
- merged games are not supported and no split-merged sets either
- ROMs paths info is stored in "EmuLoader.ini" file, for now. Multiple paths are supported
- options "vertex shader" and "fragment shader" are available. use them at your own risk!

### New feature: "Save State Manager". View/delete/rename save states files of your MAME and Supermodel: SEGA Model 3 games (main menu "Games List")

### Feature "Show Not Available Image" is back. If setting enabled, will display a "Not Available" image instead of an empty panel... when the image category for the selected game is not found (snapshot, cabinet, flyer, etc)
All images must be in .png format and they are placed in the new "frontend_dir\resources\images\no_image\" folder.
See "docs\el-notavailableimage.txt" for more details

# version 6.1.2 change log - March 22, 2011

## Fixed

### Colors and transparency in MAMu_ icons not being handled correctly. White frame surrounding many icons is gone.
They are perfect now, and there is a small speed improvement in the loading function :)
Tiles view mode, with "Disable Icon Stretch" option checked

### Removed the annoying "Devices for games are not supported, only for bios sets." message when creating MAME games lists

### Timer in splash screen is back. Now it's really working properly... I swear :)

### Minor fixes and tweaks in "MAMu_ Icons Manager"

## Added

### New preferences setting: "Text In Bold". Check this option to enable font style "Bold" in selected items (requested feature)

### Features "Scan Missing Images" and "Scan Not Used Images" merged into "Images Manager" (main menu "Images"). Minor fixes and some optimizations were also made.
Like MAMu_ Icons Manager, you can work with both lists at the same time. Some key features:
- rename not used images
- ability to maximize the window for better visual
- columns width on missing images list are saved/restored in "el_extras.ini" file
- images are loaded as icons in not used images list
- not used images are separated by folders, shown in different groups, for easier access
- move not used icons to another folder

# version 6.1.1 change log - March 13, 2011

## Fixed

### Folder "arcade\multi-games\" was not being created when creating MAME games list, crashing the frontend

### Disabled the timer in splash screen (for now) to fix a bug when creating multiple games list at startup

### Daphne games list was not being created, and the scan for .zip files was crashing the frontend.
Funny that no one ever reported this!

# version 6.1 change log - March 11, 2011

## Fixed

### Proper detection of MAMu_ icons (color depth and multiple icons inside .ico file):
- several icons were displaying white/black background colors in transparent areas
- only the 32x32 icon is loaded, regardless the view mode used
- icons are now loaded using their original color pallette (no conversion to 24-bit color depth)
- added support 32-bit icons (alpha blend)

### Feature "Scan For Missing MAMu_ Icons" was not loading game name icons, only bios icon or driver icon (options "Show Game Bios Icons" / "Show Game Driver Icons" / "Reload Icons")

### Text in auto game docs window was not being moved to top when selecting games

### Access violation when trying to delete game config files (Demul system)

### Feature "Not Used Game Config Files" was not working with Demul system and "Delete Files" button was not working at all!!! (main menu "Settings", "Maintenance")

### Delete files button in "Not Used Zip Files" feature was not working at all!!! (main menu "Settings", "Maintenance")

### I totally forgot to implement the function to delete files on "Delete Clones Images" (main menu "Images", "Maintenance")

## Changed

### Convert screenshots feature re-write (main menu "Images", "Maintenance"). Replaced VirtualTreeView by EasyListView and some performance tweaks

### Updated EasyListView component to latest SVN (February 2011)

### All splitters replaced by a custom gradient splitter, easier to resize panels (main screen and others)

## Improved

### Minor tweaks

### Removed the hour glass cursor from a bunch of functions because they don't make sense

### Text in games list status bar updated to display game name, clone name and bios name: "mslug3h [clone of mslug3] [bios: neogeo]"

### Splash screen timer does not reset to zero when switching from creating games list to scanning games functions. Now you can see the total time it takes to create games list/verify your games sets

### Merged left panel populate functions into one since they are almost the same (main screen and left panel editor)

### Added column "Bios" into the games list (left panel editor) and the width of game title column is now dynamically resized

### Replaced Delphi 7 "RenameFile" function (it uses MoveFile() function) by a custom function that uses "MoveFileEx()" function... it fixes errors in Windows 7 when renaming files

## Removed

### File "\ini_files\daphne.ini" not needed anymore (Daphne v1.0 is the lowest supported version)

### Custom titles are no longer supported for image layouts feature

### Custom labels for game columns is gone (details / grouped view modes). Pointless feature...

## Added

### New text filter bar (main tool bar buttons, right side). Yep, you can filter games by title, manufacturer or driver name now. Just Type a partial description, hit ENTER key or press the apply button and BAM! :)
Main filter tool bar buttons are partially supported: "System", "Parent / Clone", "Have / Miss", "Working / Non-Working", "Bios / No Bios" and "Hide Bios" from main menu games filters.
There are some options buttons below the text box: "Filter by title", "Filter by manufacturer", "Filter by driver name", "Enable/disable filters on main tool bar buttons".
Clicking on the "Reset" button will reload the main filters (without this new text bar filter)

### New setting: "Setup Folders", image category tool bar button. Easier to know where to go to setup folders

### Setting "Path to hash files" was missing in MAME settings screen

### Support for SEGA Model 2 Emu v1.0 (scripts are not yet supported, if ever)

### Support for the new mechanical tag on games list (MAME 0.141u1 and newer)

### New filter: "Interface Type" with 2 options "Classic" and "Mechanical" ("Games Filters" main menu)
NOTE: unlike others, this setting is saved in "EmuLoader.ini" and restored when restarting the frontend

### Support for MAME 0.141u3

### Preliminary support for multi-cart games loading: megatech (MAME v0.141u3 and never only! Other emulators are not supported)
There is a new folder listing all supported systems (when creating a games list): "\arcade\multi-games\"
... that's it for now. you cannot run multiple games with this frontend yet!!!

### Features "Scan Missing MAMu_ Icons" and "Scan Not Used MAMu_ Icons" merged into "MAMu_ Icons Manager" (MAMu_ tool bar button). Minor fixes and some optimizations were also made.
Managing missing / not used icons is easier than ever!. Some key features:
- rename not used icons
- all new history system for not used icons, so you can keep track of changes made to each icon (.txt files located in "resources\icons_history\ folder)
- when renaming a not used icon to a valid MAME game name, the icon is immediately loaded into the missing icons list
- ability to maximize the window for better visual
- columns width on missing icons list are saved/restored in "el_extras.ini" file

### New MAMu_ icons feature: "Switch Game Icons" (MAMu_ tool bar button). Have two game icons that you need to switch places because MAME switched two games parent/clone, clone/parent ? This is what this feature is for

# version 6.0 change log - December 02, 2010

## Fixed

### Features "Run Game (Custom)" and "Run Game (Extra)" were not working at all due to wrong indexes (games popup menu)

### Emulator folders info used by EL not being reloaded into memory after acessing custom game settings (all systems)

### Default bios setting not being selected on the list (MAME settings screen)

### Feature "Not Used Zip Files" was not working correctly and other systems were fully dependable of a working MAME setup (main menu "Settings" / "Maintenance"). It's also a little faster. Again, EL is NOT a ROM manager. Please use ClrMAME or RomCenter to maintain your ROMs collection. Use it at your own risk!

### Float values on MAME custom game options were being handled as strings (cosmetic fix)

### Konami Viper game "ParaParaParadise 2nd Mix" (name: ppp2nd) was not being correctly detected

### Entries "Game Zip" / "Parent Zip" being listed with "gamename.zip not found" for Taito G-NET. This system does not use gamename.zip sets (Game Details screen)

### Unwanted horizontal scroll when selecting games in Standard/grouped view modes

## Changed

### Updated settings screen to MAME 0.140u1

### Updated FastMM library (Fast Memory Manager) to v4.97

### Game docs (mameinfo.dat and others) support only at MAME's main folder from now on

### Moved 'el_extras.ini' file to EL's main folder (makes more sense)

## Improved

### Several tweaks in the source code and user interface

### You can now select an existing file for the effect overlay, using EL's file dialog box, or type the filename into the edit box (MAME settings screen, "Options" / "Video 1" tab)

### Extra game info extracted from MAME for all ClrMAME based systems, when creating ZiNc, Demul, SEGA Model 2 games lists

### Controls info for Daphne games are extracted from MAME, if available (create Daphne games list)

### Merged "uFilesUtil.pas" routines into "uCommon.pas" (file uFilesUtil.pas no longer available)

### Auto game documents feature (preferences screen):
- duplicate settings not allowed anymore
- clear the checkbox to disable an info

### Relative path support for games list background image (preferences screen)

## Removed

### Support for the following systems completely removed from the project (EL is a M.A.M.E. frontend anyway):
- AGEMAME: Merged into MAME
- Mjolnir: Discontinued and old MAME drivers. The only game that can be fully played anyway is "Starblade"
- PinMAME: Discontinued. Also, without the actual pinball tables, you can't play anything
- HazeMD: MegaDrive/Master Systems games are in MAME for quite some time now, and the emulator will get no further updates
- Another Arcade Emulator (AAE): Discontinued and its unique features might be implemented in MAME
NOTE: you will have to re-create games list for "Demul" and "SEGA Model 2" systems

### Commented options support for mame.ini files is gone (using ' # ' char, on old MAME builds)

### Windows 7 cosmetic fixes removed from EasyListView and Virtual TreeView components as they were causing glitches

### Custom description support for image categories is gone. There's no point editing their titles anyway

### Label image info custom colors is gone

### Option "Smooth Scroll (Double Buffering)" is gone (VirtualTreeView / EasyListView). I've never noticed any difference with this setting anyway

## Added

### New setting: "Disable Icon Stretch (48x48)", MAMu_ tool bar button. Enable this option to prevent MAMu_ icons from being stretched when using "Tiles" view mode or "Standard / Grouped" view modes with "Extra Large" icons (48x48)

### New left panel filter: "Discrete Audio": filter all games that use discrete audio (create file at "Left Panel" main menu)

### Support for multiple MAME directories: "sample files", "artwork files", "font files", "crosshair files", "controller files"

### New MAME option "Run Game with Effect Overlay", games popup menu "Run Game (Extra)". You can run games with an effect overlay located in one of the artwork folders (unzipped PNG files only!). Useful to test effects without changing mame.ini

### Small reminder button in game docs panel to open the hidden popup menu (top/left)... you can call the popup menu at any position, not just this button!

# version 5.9 change log - October 10, 2010

## Fixed

### Video output "GDI" setting on mame.ini misspelled (write)

### Setting "ClrMAMEPro XML Data File" not clearing after pressing "Clear" button (Emulators Setup screen)

### A few minor fixes

### The following MAME filters now sort games correctly: "Naomi", "Naomi 2", "Naomi GD", "Naomi 2 GD" (does not work 100% for Demul)

### An empty file was being created when trying to load ROMs folders if file was not found (emulator main settings file)

## Added

### Updated MAME settings to v0.139u3

### Preliminary support for a new emulator: Demul v0.5.6 (Sega Dreamcast / Naomi hardware):
- Since its games list output is based on ClrMAME database and the emulator itself can create the file, the external "ClrMAMEPro XML Data File" is optional. If not selected, the internal "-listxml" output will be used
- Game column's missing entries are extracted from MAME's games list, if available
- Only zipped sets are supported (GD-ROM image must be inside game .zip file)
- MAME CHDs (v0.139u3) are NOT supported yet (GD-ROM based games)
- Feature "Delete Game Configs" (games popup menu) support both NVRAM files (.eeprom; .sram) - Multiple ROMs folders support (native support on Demul) - Multiple bios sets is not supported yet (and it might never be) - No support for game custom options

### New games filter: "SAMMY Atomiswave"

# version 5.8.7 change log - June 02, 2010

## Fixed

### Access violation on "Not Used Zip Files" feature when MAME .zip files list is empty

## Changed

### Rollback VirtualTreeview component to version 4.7.4 as newer versions are messed up

### Replaced VirtualTreeView games list for EasyListView... "Left Panel Editor" screen only (right panel)

# version 5.8.6.1 change log - April 23, 2010

## Fixed

### MAME create games list feature missing a new input type: "keyboard"; also, the new DVD-ROM CHD media type was not being correctly assigned

# version 5.8.6 change log - April 22, 2010

## Fixed

### Website addresses updated on main menu "Help" / "Visit Homepage"

## Improved

### Updated components VirtualTreeView to v4.8.6 and EasyListView to v2.1.0 (latest SVN)
Front-end updated to meet some of the component's changes

## Removed

### none

## Added

### New mame.ini options for MAME 0.137u1 (MAME Settings / Options / Input tab)

### New debugger option "Internal Debugger" (MAME Settings / Options / Miscellaneous tab)

### New games filters: "CHD DVD-ROM" (CHD sub-filter); "System 246 / 256" (main filter); "Namco System 246 / 256" (Namco sub-filter)

# version 5.8.5 change log - February 12, 2010

## Fixed

### MAME game titles ending with ", The" were being wrongly parsed and the following game titles are fixed:
ssideki4
lastblad
lastbladh
lastbld2

### HazeMD and PinMAME game titles ending with ", The" fixed. The full title is now parsed correctly

### Game title fix not needed for systems based on ClrMAME Pro .xml database files (ZiNc, SEGA Model 2, AAE)

# version 5.8.4 change log - December 26, 2009

## Added

### Support for MAME v0.135u4 new feature: "Number of Processors" (3rd video tab, "MAME Settings" screen, "Performance")
In Emu Loader, this feature lists all CPUs that Windows detects. Info taken from Windows registry:
"HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\"

# version 5.8.3 change log - September 28, 2009

## Fixed

### Some weird user messages in "Not Used Zip Files" feature (main menu "Settings" / "Maintenance")

### Delete/move selected files in "Not Used Zip Files" and "Not Used Game Config Files" features was freezing after removing items from the list

### User selected bios was not being added into the command line (MAME, multi-bios games)

### Front-end freezing after running "BlinkBkEdit() function". It was using "GetTickCount()", not accurate on new CPUs (Core2Duo, PhenomII, etc). "No one reported this since the function was added... FATALITY!"
Replaced by "Sleep()" function that can handle microseconds. Other functions do not require this.

### Function "Export Games List" was only working for "standard" and "grouped" view modes (left panel popup menu)
Again, no bug reports :_((

## Changed

### Updated EasyListView/CommonLibrary to latest SVN source (August 10, 2009)

### File "\docs\el-readme.txt" updated with latest changes

### FastMM library updated to version 4.94

## Improved

### Minor tweaks in the user interface and source code

## Added

### New feature: "Delete Game Config" (access on games popup menu or "Sift+DELETE" hot-key)
Use this to delete CFG/NVRAM files from MAME based emulators, NVDATA file from SEGA Model 2, CFG file from ZiNc and Another Arcade Emulator (AAE)
When selecting one game, you are able to check/uncheck files. When in multi-selection screen, all games will be listed and you will be able to check/uncheck what files you want to delete or keep. Also, use the "Check All CFGs" / "Check All NVRAMs" buttons to check/uncheck all files for all games
Daphne system is not supported by this feature, and there's no recycle bin support!

### New feature: "Not Used Game Config Files" ("Settings" main menu, "Maintenance")
Scan all systems for not used configuration files (cfg and non-volatile RAM). It works similar to the "Not Used Zip Files" feature. All systems supported, except from Daphne

# version 5.8.2 change log - July 16, 2009

## Added

### Support for MAME v0.132u5

# version 5.8.1 change log - July 04, 2009

## Fixed

### EL standard game icons were not being reset after disabling MAMu_ icons (EasyListView view modes only)

### Adding .zip files as folder in the select directory screen is back... :_((
I thought I had it fixed but I was wrong. The only way to really get rid of this annoying bug is to disable the "zip as folder" feature in Windows (who uses this annoying feature anyway ???)

### MAMu_ icon was not being loaded at startup on the selected game

## Changed

### Not used 24x24 icons removed from several .ico files ("\resources\main_icons\arcade_filters\" folder)
Some icons in "resources\main_icons\" folder also changed

## Improved

### ImageIndex value is not assigned directly into main games list anymore (game icons)

### Minor and invisible bug fixes

## Removed

### Play custom from arcade controller layouts since it has been removed from the front-end quite a while ago

### Support for the hidden "\arcade\customgames.el" file

## Added

### "Triforce" main games filter

### New thumbnails setting: "Show Game Title". Disable this option to hide game titles while in thumbnails view mode (main menu "Settings" / "Thumbnail Settings")

### Added some missing widescreen resolutions to MAME and ZiNc settings screens (resolution drop-down buttons)

### Move folder up/down buttons on the following screens: "MAME Settings", "ZiNc Settings", "SEGA Model 2 Settings", "MAMu_ Folders"

# version 5.8 change log - June 02, 2009

## Fixed

### Taito G-NET games being set as found with missing ROMs/CHDs when the bios set if found and ok, but the CHD is missing
This is a special case to avoid all G-NET games being set as missing ROMs/CHDs since this system only use a bios set. The Konami Viper system is similar but some of its games have a game set...

### View game details was being called while multiple games selected

### Left panel editor not working if MAME binary file is not defined

### Selected game not visible on screen when switching between windowed/full screen modes

### Wrong system being scanned: "Scan For Missing MAMu_ Icons / Images";

### Columns width in hidden games editor were not being updated correctly after manual resize

## Changed

### Delete game files improved (single/multiple selection). Now you have a files list of the game (Game .zip and CHDs). CHD files are unchecked by default for safety (enable the "Always Select CHD Files" checkbox so they are checked automatically).
Only files that are found will be listed, even if the games is set as available. You can uncheck any file(s) you want to keep :-))
NOTES:
-> for single selection, the amount of CHD files is unlimited but for multiple selections, they are limited to 3 (three) CHD files per game. If appear a game in MAME with more than 3 CHD files, the front-end will be updated...
-> the multiple selections screen is a little more complex, but filled with hints all over it
-> Recycle bin is NOT supported so, be very careful on the game files you want to delete!
-> only available games and found games with missing ROMs are supported
-> This feature is accessed by selecting one or more games and hitting the "DELETE" key or using the "Delete" option in games popup menu

### Replaced all select folder dialog calls by EL's custom folder dialog

### Updated EasyListView component to latest SVN sources

### Moved debug.ini custom options (Set/Delete) to "M.A.M.E. Only" sub-menu (games popup menu, "Custom Options")

## Improved

### No more zip files or hidden folders in browse for folder dialog

### Generate .ini files for left panel is now based on the main games list, except "Refresh Rate" (still depends on MAME's -listxml output)... they are lightning fast too (main menu "Left Panel")

### Minor UI optimizations

## Removed

### Option "Enable Multiple Selection". Multi-select is always enabled

### Daphne v0.99.7 pre 5 support removed

## Added

### New file when creating MAME/ZiNc games lists: "mame_chd.ini" and "zinc_chd.ini" ("frontend\arcade\" folder)
It contains a list of all CHD files for each game and the specific media type for each CHD (in case a game use more than one CHD file and each of these files are in different formats (hard-disk, CD-ROM, GD-ROM, flash cards, etc...)
This file is used when deleting game files and might be used on other features for a quicker access (acessing "\arcade\systemname_roms.el" is slow if the file size is too large!)

### Support MAME 0.131u3 new .ini files "horizont.ini" / "vertical.ini" (games popup menu, "Custom Options" / "M.A.M.E. Only")

# version 5.7.6 change log - May 08, 2009

## Fixed

### Detection of large files (bigger than 1.7 GigaBytes) and sorting "file size" columns was not possible due to the range of the "integer" variable type... updated all required variables in the project to "Int64" (64-bit integer)

### Option "Move Selected to Folder" implemented (scan not used MAMu_ icons feature, popup menu)

### When selecting parent or using the find game edit box in "delete multiple games files" window, the previous selections were not being de-selected (games popup menu, "Delete" / "Game File")

### All available Taito G-NET clones were being added in the merged sets list. Probably other games that use a bios set but no game set is being added in the list as well (not fixed)

## Changed

### Simplified "delete multiple game .zip files" feature. No more checking games to delete. To keep any game just remove it from the list using the "Remove Selected" button

### Scan for not used MAMu_ icons only scan ".ico" files from now on... file "\ini_files\el_mamu_exclude.ini" updated to only list files with .ico extension

## Improved

### Updated function "GetFileSize" (uFilesUtil.pas) to use Int64 (64-bit integer variable)

### Files list of "delete not used zip files" feature now have columns that can be sorted (main menu "Settings" / "Maintenance" / "Not Used Zip Files")

## Added

### A couple more details in the CHD info (game details screen, left panel)... also, file size for game .zip and .chd :)

# version 5.7.5 change log - May 04, 2009

## Fixed

### Game status not being updated after scanning games (only between "missing" and "found with missing ROMs/CHDs" status)

### Main screen not being set active after exiting a game

### The "Played x" captions in tiles view mode were being loaded without using virtual mode after exiting a game

### Convert snapshots feature now support and rename up to 100 images per game

### Scan games feature was not handling games with missing ROMs/CHDs correctly

### Wrong CHD media type for some ZiNc games

### ZiNc games set as available when all ROMs are found but .zip files are not in the same folder (not valid for ZiNc emulator). All files (.zip / .chd) must be in the same folder, but the .chd file can be placed in a sub-folder with the name of the gamename (like MAME). You do not need to add this sub-folder into the ROMs paths!
Remember that EL support multiple ROMs folders, even if ZiNc doen't, but to run games, all files of a particular game must be in the same folder
And NO MERGED sets!

### A few games filters fixes (you need to create MAME games list again to apply them):
-> CHD tags "scsi0" and "scsi1" are moved to "CD-ROM" media type (\ini_files\chd_mediatypes.ini" file)... for now. This fixes all Konami System 573 games that were being set as hard-disk based games instead of CD-ROM
-> Konami Viper games were wrongly tagged as "Hard-Disk" CHD types. Changed them to "Compact Flash Card"... hard-coded into the "uMain.CreateGamesListXML" function!
-> American Laser Games were wrongly tagged as "Hard-Disk" CHD types as none of the discs are dumped yet. Changed them to "LaserDisc"... hard-coded into the "uMain.CreateGamesListXML" function!

### Taito G-NET games were not being correctly detected due to not using "gamename.zip" files, only bios sets. But now, games that you do not have the .chd file are set as found with missing ROMs (Taito G-NET only) :_((
...some other games do not use "gamename.zip" as well but are not on this fix ("Konami Viper" system)

### Visual bug in the message box when vertical scrollbar is visible

### The current favorite profile was not being correctly selected when opening the favorites profile editor

### Image resampler not being applied at startup and when switching between classic/layout image view modes

### Merged games were not being added into the merged list ("\arcade\systemname_merged.ini")

## Changed

### All ZiNc icons renewed

### Only 1 system support for "Scan Missing Images / MAMu_ Icons", "Scan Not Used Images / MAMu_ Icons"
...old screens with TreeView and multiple systems at once was a mess :_(

### Scan not used MAMu_ icons: changed popup menu option "View Excluded List" to "View/Edit Excluded List" so you can edit and use the updated files list in real time ("\ini_files\el_mamu_exclude.ini" file)

### New setting in popup menu on scan missing MAMu_ icons screen: icon size 16x16 or 32x32 :)

## Improved

### Games details screen:
-> CHD files are always audited in games details screen, no matter the status of the game
-> The parent CHD info is displayed in the ROMs list if the CHD of the clone game is not found but the parent CHD is (only if filenames are different)
-> Header version info for older CHD files (versions 1 and 2) are still displayed, but are not supported by the front-end

### Minor optimizations to the scan results screen

### Changes and optimizations in customize hidden games screen (main menu "Games Filters" / "Hidden Games" / "Customize")
-> Search patterns and columns width are saved in "el_extras.ini"
-> Games are now validated by "game name" and "system ID" tags only (no "clone of" anymore... kinda pointless)
-> Removed "Delete Duplicates" button. Done automatically when using "BEGIN SEARCH" button
-> All lists replaced by EasyListView components (cleaner and easier to work with)
-> This feature is main games list dependant now. External files ("\arcade\*.el" and "catver.ini") are no longer used to build the list in the editor. The scan is NOT affected by the main games filter
-> New layout :)
-> Fixed loading hidden games into the editor (very old bug!). It was not checking for the system tag. If there's a game with same name on different systems, they would all be added
-> System icon displayed with game icon on the first column

### Feature scan audio samples optimized and UI updated

### Other features are also dependant on the current main games list instead of "\arcade\*.el" and extras. Main games list is processed twice as fast and the progress bar became reduntant...
- "Scan for Missing Images / MAMu_ Icons"
- "Scan for Not Used Images / MAMu_ Icons"
- "Left Panel editor"
- "Scan Audio Samples"
- "Customize Hidden Games"
- "Not Used Zip Files"

### Heavy optimization on add/delete games to/from favorites/hidden list functions (10000 items in 2 seconds!)

### Tweaks and optimizations to EL's custom select file dialog (virtual mode)

## Removed

### An extra (and invisible) background for the icons was being draw on top bars (all screens)... guess I forgot to remove it from the source code

### Revised and removed some more reduntant lines of code in the entire project

## Added

### Disk entry detection when creating games list for systems that use ClrMAME's external XML databases

### Support for ROMs list on ZiNc (based on ClrMAME XML file). EL can detect missing ROMs/CHDs on this system now ("\arcade\zinc_roms.el") :)
Get the ClrMAME XML file at Logiqx website (ZiNc v1.1 only!). The missing data is extracted from the MAME games list (if available).
Also updated file "\ini_files\zinc.ini", split in 2 sections: "[driver]" and "[gameindex]"
That makes Daphne the only system without ROMs list support...

### Support for ZiNc bios entries. Now you have "parent / clone / bios" games IDs. The ID for all other systems were re-arranged, except MAME. You must re-create games list for all systems, except MAME. Also added 2 new icons for the ZiNc bios: "ZiNcBios.ico" and "UnZiNcBios.ico"
Note that you cannot run ZiNc bioses, this is only to improve games scanning...

### New option to scan all games with missing ROMs/CHDs (games popup menu, "Scan Games" / "Missing ROMs/CHDs")
Support all systems, except Daphne

### Support for MAME 0.131

# version 5.7.4 change log - March 21, 2009

## Fixed

### Image resampler not working with layouts view mode

# version 5.7.3 change log - March 21, 2009

## Fixed

### ROMs were not being shown correctly in game details screen, when tagged with bad checksum (ROMs List)

### Media type of CHD based games was not being set correctly when creating a MAME games list

### Single game scans were not updating the games list file (.el) correctly in some cases

### After adding/deleting games to/from favorites/hidden games list, the memory vars were not being updated with the new game selection

### Found ROMs info in game details screen was not including CHDs with bad checksum

### Main window out of focus after exiting MAWS game info

## Changed

### CHD files are verified thru its SHA-1 checksum now (header version 3 and 4). Unfortunately, CHD files that use a header version 1 or 2 are not supported by the front-end anymore!
You must create your MAME games list again

## Improved

### MAME CHD files are correctly validated now, by detecting the "MComprHD" tag and the header version. If the tag doesn't exist, the CHD file is set as invalid, and the MD5/SHA1 checksum is not verified

### Game details UI changed a little bit. CHD files are also listed in the "Game Files" section. It shows file found or missing status, and the version of the header next to it... :-))

## Removed

### Option "Generate ZiNc Driver File" from main menu "Settings" / "Maintenance"... no use for it anymore

## Added

### Support for MAME 0.130u1
Detection of the new version 4 header (CHD files). Headers version 1 and 2 are no longer supported by the front-end

### New CHD type added: "PCMCIA" in "\ini_files\chd_mediatype.ini" (used when creating MAME games list)

### New games filters added: "Taito G-Net System" and "CHD - PCMCIA"

# version 5.7.2 change log - March 15, 2009

## Fixed

### Image resampler is updated correctly when switching between view modes (classic, layouts) and it is applied to all panels when in layouts view mode

### Selecting the already selected image resampler, the item was being set as unchecked

### Internet link for MAWS game info updated to the mameworld.info server

### Expand/collapse buttons on left panel tree were being disabled after toggling alpha blend

### Image resampler correctly set at startup

### Access violation on scan for missing images, missing MAMu_ icons, not used images and not used MAMu_ icons

### Fatality! Evil Bug Wins... Game was not being properly re-selected after changing games filters...

### CHD filename was not being shown correctly at game details screen if CHD name also contains the parent name ("_parentchd_" tag)

### Year and manufacturer were not being detected on bios entries, leaving these infos blank in the games list (MAME based emulators)

### Features to create .ini files for the left panel were missing a few games that has no information ("Left Panel" main menu)

## Changed

### Removed minimum size limitation from the screenshots panel

### Main menu / popup menus font changed from "Segoe UI" to "Trebuchet MS"

### Updated the convert snapshots to EL format feature. Only works with the "Gamename/Increment" naming format

## Improved

### Alpha blend and background color on all TreeView lists that contain a games list are updated to match the settings of the main games list, except background image (hidden games list, MAMu_ missing icons, left panel editor, games list font settings and some ListView lists)
This also improves visibility if using dark background color

### Selection bars colors and texts optimized for a large range of background colorsSome code merging to remove duplicated functions/procedures

### Added a button in left panel editor's toolbar to restore default sizes for window, panels and columns width

## Added

### Button at preferences screen, "Folders" tab: "Setup Image Categories Folders", for those who cannot find the folder setup screen in main menu "Images"

### Setting: "White Text Color (For Dark Backgrounds)" that will paint selected text in white-ish instead of the blue/red colors. It works only when alpha blend is enabled (preferences screen)

###

### New games filter in main tool bar buttons: "Game Orientation" (Horizontal / Vertical)

### New menu item in game documents popup menu (mouse right-click): "Customize Panel". A shortcut for those that do not know about it ;)

### Support for MAME v0.130... CHD files can be at any folder now. The old "romfolder\gamename\gamefile.chd" method is still supported. I'm moving my 3 images to "c:\mame_roms\chd_files\" folder :)
NOTE: you still do not need to set folders for CHD files if using the old method

### A few more options to create .ini files for the left panel:
- Screen refresh rate
- Year
- Manufacturer

### Search keywords in hidden games editor is now saved/restored in file: "\ini_files\hidden_games_keywords.txt"

# version 5.7.1 change log - February 18, 2009

## Fixed

### Some default front-end settings on a fresh install were incorrect (first run)

### Colors of selected items (EasyListView and Virtual TreeView) were being set incorrectly

### Selected game not being visible on the screen when in grouped view mode

### Selecting next image category/layout with hot-key F10 was not working. Now changed to:
- Ctrl + F9 -> show previous
- F9 -> show next

### The array "image[???].NoImageLoaded" was not being reset correctly when the image to be loaded is not found

### Some arcade controller hot-keys were not working. Also, keys assignments were changed to simplify future updates and to use similar buttons on all controllers (Browse games with arcade controller feature)

### Message about average FPS and error messages before running games showing for systems not based on MAME

### Removed code redundancy and fixed possible bug when editing column settings in the customize columns screen

### Some system specific items in games popup menu were enabled when they shouldn't. Also, they are now hidden instead of disabled

### UI bug in custom command line settings screen (paremeters list)

### Width of left panel is automatically adjusted when resizing it. Horizontal scrollbar is not needed anymore

## Changed

### View ROMs paths have its own screen and you can view folders for all systems at once

### Added a new screen for "games list font settings" more detailed and moved it from preferences screen to main menu "Games List"

### Moved "Image Category / Layout Auto Switch" setting from images popup menu to main menu "Images" (easier to find)

### Delete multiple games files improved:
- added support for games with missing ROMs (.zip found but game set as missing) - added a checkbox on each game so you can uncheck all games you want to keep
- changed component to EasyListView
- view mode is set to tile and it shows in 2 lines:
-> first line is the game's title
-> second line is "game name [clone of], zip file with full path
NOTES:
- if game is merged, it will display "merged [parent zip file with full path]" - if game is marked as missing ROMs/CHDs it the selection bar is red - font settings are applied on this list (parent, clone, preliminary, miss ROMs/CHDs) - Zip files are Merged games and games where the .zip file is not found are unckecked by default

## Improved

### Daphne folder is now loaded into RAM to simplify a few functions calls

### Optimized a few functions in uCommon.pas file and removed some redundant coding

### More source code optimizations:
- Like in EasyListView, all general functions and procedures for VirtualTreeView will begin with "VTV_" to group all of them into one place and to make it easier to read

### Games have their defined fonts and selection bar colors on hidden games editor and left panel editor :)

### Optimized hot-keys for games list and arcade controllers (when feature is activated)

### Selection bar turns red on current selected filter (MAME Games Filters screen)

### Updated EasyListView component to latest SVN source that fix a couple UI bugs

## Removed

### Main menu / popup menu themes is no more. Only the default theme is available from now on

### Setting "Bold Font In Selected Game" is gone. Font of selected items are always in bold style

### Selection bar colors customization (preferences screen). Only fixed colors are supported, blue for have/miss games and red for games with missing ROMs/CHDs (red ribbon might be used on other screens, but for a different situation)

### procedure uCommon.GetGamesFilesList() and function uCommon.ExtMatch() deleted as they are not being used anywhere

### Alpha blend for EasyListView / VirtualTreeView components have a fixed factor of 128 from now on (half alpha blend)

### Background color of sorted column is gone (games list treeview). No need since you have the sort icon in the header (ascending/descending)

## Added

### New main menu "Settings". This menu item will hold several front-end settings
Menu items moved to the new settings main menu:
-> All items from main menu "Advanced User" (main menu also removed)
-> "Favorites - Profile Settings" moved from "View" main menu

### New feature: scan for not used zip files (main menu "Settings / Maintenance")
Use this to list all .zip files that are not being used by any game (all systems supported)
WARNING: if you share ROMs with different emulators on the same directory, take extra careful when deleting files. Recycle bin is NOT supported by this feature
-> You can choose to delete files or move them to another folder

### Support for SEGA Model 2 Emulator v0.9 and its new settings (emulator.ini)

### Features "delete current image" and "rename current image" support all 3 image panels when image layouts view mode is enabled (images popup menu, mouse right-button click)
I finally found a way to verify what image component is calling the popup menu!!! :-))

# version 5.7 change log - January 26, 2009

## Fixed

### Cheat settings updated to latest MAME build (MAME Settings screen)

### Access violation when using Hidden Games feature and the file "hidden_games.ini" does not exist

### Image info panel:
-> appearing when switching from layouts view mode to classic view mode, when setting is turned off
-> not being emptied when no image is found -> not updating its text after turning on/off

### Scan audio samples feature was not working (main menu "Games List"). Apparently nobody use this thing because I never got any bug reports on this bug

### "Danger Will Robinson... DANGER!"
Columns profile editor load/save was not working correctly and, when closing the editor while viewing a different profile than the actual profile being used on the games list, this new profile was being set and messing up data for all columns when opening the columns editor again.
And even more disturbing... nobody reported this fatal bug for the last 18 months!

### Pixelated game icon on several screens. Also, they are now displayed directly into the TImage32 canvas :-))

### Select file for left panel editor was not working correctly (custom EL select file dialog)

### Glide renderer config now load/save keys settings (file "glide_renderer.cfg", ZiNc settings screen)

### Glide renderer detection was not working, making EL load/save settings on the wrong renderer CFG file (ZiNc settings screen)

### Some minor bugs in the favorites profiles editor

### A bunch of small fixes everywhere... mostly UI

### Transparency (alpha channel) and smoothness were not being applied corretly on any top and bottom bars

### Incremetal search still working on EasyListView when "Control Games List With Arcade Controller" is enabled

### Access violation when auto-selecting an item in TColorBox component if its OnSelect event is empty

### Filter for "Sega System 24" was not showing any games (driver name on newer MAME builds have changed)

## Changed

### Several files renamed ("resources\main_icons\" folder)

### Minimum screen resolution increased to 960x600 (16:10)... but you still can use EL at 800x600
I recommend 1024x768 as minimum resolution as this is a Windows application, not for arcade monitors

### Front-end main icons reduced to 16x16 (tool bar icons are still 24x24)

### Virtual TreeView component updated to v4.7.0 and to the latest SVN version

### EasyListView component updated v2.0 and to the latest SVN version

### Menu theme "Office 2007" renamed to "Default", but .ini entries remain the same

### Several changes to columns profiles feature:
- Default profile name changed from "default.ini" to "col_profile_general.ini"
- Columns profiles folder is no more. All files will be saved in "resources\ini_files\" and must begin with "col_profile_systemname.ini"
- Profiles editor only works for the selected system (no more editing profiles for multiple systems at once)
- Only 2 profiles are available for each system: "General" for all systems (default) and "System" that can only be used by the selected system

### View emulator versions and games list versions replaced by a new and single screen "File Versions" (main menu "View")

### User interface on several screens are changed and lots of controls were replaced to simplify future updates in EL

### Updated FastMM to version 4.9.2 (several fixes and full support for Delphi 2009)

### Moved image layouts feature (title edit and visible layouts) and image category settings (category titles, visible categories and folders settings) from preferences screen to a new "Category / Layout Settings" screen that can be accessed from main menu "Images", "Category / Layout Settings"
This has been done to merge all features in one place and for easy access. Also to improve loading time of preferences screen at startup and remove all these ListView components from sitting idle in RAM without reason

### Moved "Control Games List With Arcade Controllers" from preferences screen to main menu "Games List" and renamed it to "Browse Games With". To disable this feature just select "Keyboard + Mouse"

### Moved "Auto Rename Snapshots To Old Format" from preferences screen to main menu "Images". These 2 settings are enabled by default and are for conveniece only. If you want to keep MAME snaps original filenames, disable it

## Improved

### Optimizations to popup menus (context menus), main menu, UI and a bunch of common functions

### Aut-select previous/next visible game instead of the top game in the list after using certain features: selete game, add/remove favorites and hidden list

### Converted a lot of functions into procedures since they do not need to return a confirmation value. Don't know if this saves memory or if the reduced memory usage is relevant

### Some error/warning message boxes replaced by a blinking background in edit boxes (left panel editor screen, favorites profiles screen, emulator setup screen). Other features will use this new function in the future

### Optimized the icons loading at startup and merged a couple "ImageList" since they use the same icons

### Some settings on EmuLoader.ini have been simplified and merged. Some other entries renamed

### All ListView components replaced by EasyListView since it's safer and far easier to work with. By doing this, several functionality and visual bugs were fixed

### Height of top and bottom bars reduced

### Browse for folder (multiple folders) dialog box now have a "Include Subfolders" checkbox and the dialog was completely coded from scratch.
[WARNING] If you have "view zip as folder" feature enabled on your OS, when opening a folder with lots of .zip files, the dialog will take some time to read sub-folders and display them on the screen. The only way to fix this is to disable "zip as folder" from Windows. Google it and you'll find out how to do that

### Browse for folder (single) and select file dialog boxes optimized to reduce redundant lines of code

### Removed the "Close" button command from several screens since the TButton component have a "ModalResult" property that closes the form automatically without a single line of code

### MAME "snapshot_directory" entry in "mame.ini" is updated automatically when closing the new "Image Category / Layout Settings" screen (all MAME based systems, if they are available)

## Removed

### Left-overs in "EmuLoader.ini" from previous builds

### Some unused icons ("resources\main_icons\" folder)"

### Unused variables and old codes thru the entire project (some functions are still there, commented out)

### AnotherArcadeEmulator settings screen removed completely from the project

## Added

### Filter: "Missing ROMs/CHDs" (tool bar button "Have / Miss Games")
Select this filter to display all games that have one or more missing ROMs/CHDs

### Feature: Customizable font for games found with 1 or more missing ROMs/CHDs (preferences screen, "Games" / "Games List" tab, "Font Settings" box, "Missing ROMs/CHDs"). Games where the .zip was found but there are ROMs or CHDs missing, will be displayed in a different font. It uses the same files as the "Scan Results" feature (games popup menu)
Not all systems are supported!

### PinMAME system is back (only Win32 binary is supported)
NOTE: I am NOT adding native support for "Visual PinMAME" tables so please, do not ask

### New files added for PinMAME

### Setting: "New Emulator Binaries Detection Enabled" (preferences screen, "General" tab, "Miscellaneous" tab, "Startup" frame box)
Disable this option to prevent the front-end from verifying the checksum of available emulators, for a faster start (enabled by default)

### Images tool bar buttons:
- toggle classic/layouts view mode
- delete snapshot of selected category (classic view mode only)

### New .ttf font: "Consolas", used in the project (this font is way better than "Courier New")

### The window position and size is restored on left panel editor screen ("ini_files\el_extras.ini" file)

### Support for MAME 0.129u2 including new CHD types: "Video Home System" and "Compact Flash Card"

# version 5.6.2 change log - October 22, 2008

## Fixed

### Front-end crashes on some systems with Vista x64 and 4GB RAM

## Changed

### Updates to "\ini_files\mame_filters.ini" file

### Disabled AAE setup screen to avoid messing with "aae.ini" file and due to the fact that you can configure the emulator directly in its own menu (why re-invent the wheel, right ?)

## Improved

### Some minor improvements on some screens and popup menus

## Added

### Expanded the "CHD" games filter with more options:
- "Hard-Drive" -> games that use a hard-drive device (ide, scsi, disk)
- "Laserdisc" -> games that use a laserdisc media
- "CD-ROM" -> games that use a CD-ROM media
- "GD-ROM" -> games that use a GD-ROM media

### New file to detect CHD correctly based on new CHD filters: "\ini_files\chd_mediatypes.ini".
This file contains a list of tags found on MAME's "listxml" output, and it's a temporary fix. If there is one or more tags missing, you can add them into this file

### New Sega games filters:
- Sega Naomi GD-ROM
- Sega Naomi 2
- Sega Naomi 2 GD-ROM

### New files:
-> folder: "resources\main_icons\arcade_filters\"
"chd_hd.ico", "chd_laserdisc.ico", "chd_cdrom.ico", "chd_gdrom.ico"
"naomigd.ico", "naomi2.ico", "naomi2gd.ico"

# version 5.6.1 change log - August 07, 2008

## Fixed

### Could not select .avi file to record with MAME

### Setting debugscript was being saved as comment if value is empty (MAME settings)

## Changed

### Read/write emulator/game full setting only works on MAME and AGEMAME. All other emulator have support for paths only (this is for MAME based emulator only!)

## Improved

### Left panel files can now handle any word surrounded by asterisks. They will be converted into sub-nodes.
The section "[ROOT_FOLDER]" is not required anymore but if this section is not found, it will be added automatically (required, so the tree nodes can be created correctly)

## Removed

### Support for "optionXx (NULL) (not set)" entries from MAME based emulators (mame.ini)
This means that configuring old MAME/AGEMAMGE builds and HazeMD/Mjolnir emus with EL is no longer possible (I might do something about that in a future version, but can't promisse anything)

## Added

### Support for MAME 0.126u3

# version 5.6 change log - June 01, 2008

## Changed

### Create games list for "SEGA Model 2 Emu v0.8a" and "AAE beta 1 update 5" emulators are updated to use the new XML files from Logix (ClrMAMEPro).
Old .dat files are no longer supported!

### AAE and SEGAModel2 games lists must be created again due to changes in the ROMs IDs (games list files)

## Added

### Support new settings for MAME 0.125u8

### Support for SEGA Model 2 Emulator v0.8a. Emulator settings screen updated, but unfortunatelly the format and comments of "emulator.ini" file cannot be maintained

# version 5.5.1 change log - May 23, 2008

## Fixed

### Option "Enable Image Label Info" not being disabled at startup

### Access violation when viewing MAME game faqs (auto game docs)

### Load/save MAME input, load MAME savestate was not working. Also removed warning message when hitting the cancel button

## Added

### Support to create AVI output with MAME 0.125u1 (games popup menu)
... files always created in "multimedia_files\" sub-folder of MAME's "snap" folder

### Re-added empty bios value support (MAME settings) using a new checkbox named "Default = Empty Value"

# version 5.5 change log - May 13, 2008

## Fixed

### When exiting MAWS view, games list focus was not restored

### MAME ini files not being generated when setting emulator options from "Emulator Setup" screen, making settings all messed up

### Error when loading image background in treeviews and listviews if file does not exist

### Bug that did not always minimized the front-end when running games (when feature is enabled)

### Weird bug when running Model 2 emu. Front-end window is now restored correctly

### Vista taskbar / Vista Flip3D previews now show correctly when the front-end is minimized... yay!

###

### Game name in status bar not properly set when switching between games filters

### Minor visual bugs

## Changed

### All MAME WAV/MNG files are now created in the same folder: "mamesnaps\multimedia_files\"

### No more folder restrictions for MAME playback/record input and save state files

## Improved

### No need for the arrow in drop-down buttons anymore (tool bar buttons)

### Feature "select parent game" does nothing if parent is not found or is hidden

### Save file dialogs merged and simplified

## Removed

### "Delete .wav / .mng Files" popup menus

### Custom MAME wave output folder (preferences screen)

## Added

### Support for LCD screen type when creating MAME games lists (no support in screen type filter though)

### Incremental search by game name now works for view modes that use EasyListView

### Support for MAME 0.125

# version 5.4.1 change log - March 23, 2008

## Fixed

### Menu theme, font color of selected item was not being applied

### Snapshots not always displayed after image panel was set empty

### Scan for missing icons was not running games in some view modes

### Games list not being correctly sorted (left panel editor)

### Access violations in scan missing/not used icons/images

## Changed

### Scan for not used images. Only files that are not used by any games are removed

## Added

### New setting: "Auto Rename Snapshots to Old Format" / "Delete Files After Rename" (preferences, "Images" / "Categories" tab)
This will automatically rename snaps from new MAME format "\gamename\0000.png" to the old format used by the front-end "full_gamename0000.png". Click on the "help" button next to its checkbox for a more detailed info... disabled by default

# version 5.4 change log - March 07, 2008

## Fixed

### Select parent game was bugged

### Access violation with columns profiles if a column index is invalid

### Several visual bugs

### Button "Resize screenshots area" was not working correctly in some layout

### Prev/next images browse buttons were bugged (blue ones)

### Image types auto cycle feature not working in some cases

### Add/remove to/from favorites/hidden list was not working right

### MAME features: "record .wav; .mng"; "record/play .inp; .sta" was not working. Funny no one reported this... does anyone use these features ? :(

### Button "Clear Selected" not working in "Delete Multiple Games Files"

### Several cosmetic fixes (too many to list)

### Open picture dialog, replaced by open file dialog

## Changed

### Image type is now known as "Image Category". Entries in "EmuLoader.ini are changed as well

### Renamed "Show Command Line Before Running Game" to "Run Game Confirmation Dialog" (main menu "View")

### Renamed "Auto Cycle Previous/Next Image Types" to "Image Category Prev/Next Auto Switch" (images popup menu)

### Column "Description" renamed to "Title"

### Renamed "Resize screenshots area" to "Center Splitters (Resize Images)" (images popup menu)

### Feature "Automatic Game Documents" is now called "View Game Documents"

### You cannot rename image files while in layouts view

### Replaced game documents tool bar panel by a popup menu (mouse right-click)

### Moved "\resources\msgbox_icons\" folder to "\resoureces\images\msgbox_icons\"

## Improved

### Columns positions ([Position] section) are not saved in profiles if their positions are same as default... to prevent further errors

### Major rewrite on prev/next image buttons. Only sequential image filenames are supported from now on, meaning you no longer can have gaps in filenames like:
"galaga.png"; "galaga0002.png"; galaga0008.png"
These files must be renamed as:
"galaga.png"; "galaga0000.png"; galaga0001.png"

### Even more source code cleanup and optimizations (again and again and again!!!) ^-^

### Systems filter menus (tool bar button and main menu "Games Filters") are only visible if the emulator and games list are valid)

### Face lift and optimizations on all screens and some features

## Removed

### System view mode is gone. To view games by system use the system filter (main tool bar buttons or "Games Filters" main menu)

### Feature "Open in a window" (view game documents) is no more

### File "\resources\images\NoSnapshot.png" is no longer used. A blank image panel is displayed when no valid screenshot is found (for the 1st image only)

### Tray icon is no more. EL now stay minimized when running games. TrayIcon component is also removed from the project

### A bunch of images from "\resources\images\" folder and sub-folders (not used anymore)

### Several icons from "\resources\main_icons\"folder that are not used anymore

### Option: "Blend Clone Icons in 50%"

## Added

### Support for MAMEUI games icons

### Large icons, small icons, tiles view modes are back! (EasyListView v1.72)
-> Everything works, except the following limitations / bugs:
- No virtual mode to keep it as simple as possible
- Incremental search does not support searching by game name
- Visual bugs that cannot be fixed (EasyListView's fault)
- No support for arcade controllers to navigate in the games list (still working on a solution for this one!)
- No hot-keys support for some actions
-> Some visual tweaks were added (preferences screen, "Games List" tab):
- "Gradient Selection Bar", a nice customizable gradient bar. Thumbnails view looks awesome with this...
- "Selected Full Item Paint" will select the entire cell (text + icon)

### Thumbnails view mode! (EasyListView v1.72)
This is an experimental feature. Only game snapshots are supported
-> Feature:
- Custom settings (main menu "View", "Thumbnail Settings"):
1. Size scale from 90x90 to 400x400
2. Enable/disable border and color customizable
3. "Show Parent if Thumb Not Found": Load parent snapshots if clone snapshots are not found (enabled by default)
- All thumbs are processed within threads for faster loading
- You can delete game snapshots directly from this view mode. Just select all games you want and use the new "Delete Selected Game Snapshots" option in the games popup menu, new "Thumbnails" sub-menu
- MAMu_ icons are not displayed in this view mode
- Reload selected Thumb (games popup menu, "Thumbnails" sub-menu)
- Reload All Thumbnails (games popup menu, "Thumbnails" sub-menu)
- Images preview and game documents are disabled in this view mode. To convert snapshots, use the "Convert Snapshots" menu item from the "Thumbnails" sub-menu (games popup)
- Games filters are fully supported, including the left bar -> NOTES:
- If you keep switching between thumbnails and other view modes very fast, EL might crash
- This feature use A LOT of memory when viewing all games. About 240MB to load one thousand images, at 125x125 size. The bigger the thumbs, more memory will be used
- Thumbs are loaded only when games appear in the screen for the fist time to save memory, if you are using a filter with only a few games

### View modes for the images preview (main menu "Images", "View Mode" menu item):
-> "Classic Mode": old 1 image mode with no multi-screenshots or layouts support
-> "Layouts Mode": new view mode with multi-screenshots and layouts support

### Show/hide images layouts and change their title. To edit a title, select the one you want and hit "F2" hot-key (or use the "Edit Title" button), and type the new description directly into the list. Hit "ESC" key to abort or "ENTER" key to confirm the change (preferences screen, "Images" / "Layouts" sub-tab)
Note: single layout cis always visible so do not try to hide it!

### New setting: "Layout Prev/Next Auto Switch" (images popup menu)
Enable this so you can cycle between images and layouts with the prev/next blue button, while in layouts view mode (same as image category auto cycle)

### Ability to hide panels in the layouts customize screen (dual and triple layouts), so you can view only 1 or 2 images in a triple layout and 1 image in a dual layout.
Panels sizes might not be saved/restored when restarting, and there can be weird results when hiding panels (layouts were not ment to have hidden images!)

### Hidden games feature is changed into a filter now ("Games Filters"). Valid options are:
-> "List All": all games are visible
-> "Hidden Games": only games listed in the hidden list are visible
-> "No Hidden Games": all games are visible except the from in the hidden list

### New Delphi component: "ExTrackBar". A trackbar with labels and other stuff

### New images resampler filter: "Scale2x". This one doubles the snapshots resolution, and support only title snapshots and game snapshots

# version 5.3.1 change log - February 11, 2008

## Fixed

### Screenshots alpha blend was disabled

### Crash when scanning ZiNc and Daphne games lists

### Games with multiple controls were not being properly filtered when using "Control Type" filters (main menu "Games Filters")

## Changed

### Files renamed/moved:
-> from "\ini_files\favorites\default.ico" to "\resources\main_icons\favorite_user.ico"
-> from "\resources\tray_icons\el_icon1.ico" to "\resources\main_icons\trayicon.ico"

## Improved

### "Bad Dump" / "No Dump" info in scan results screen for each ROM/CHD

### Display screenshots is a lot faster

### The "no snaphshot" image is shown only when the first screenshot is missing. When using previous/next buttons, if screenshot is not found, the last one loaded is not removed

### Hint for previous/next screenshot buttons

### Even more source code cleanup and optimizations

## Removed

### URL label link on top of game documents window/panel

### Files deleted:
-> Folder: "\resources\main_icons\"
"leftpanel_root.ico"

### Folder and all its files "\resources\tray_icons\" deleted

### New MAME snaps filename format. Only the old "fullgamename0000.ext" is supported from now on (use the new "Convert Snapshots" feature to avoid renaming all files manually)

### Icon files from favorites feature. No more custom favorites icons

## Added

### Multi-screenshots layouts!!!!!!!!!
View up to 3 screenshots at the same time
-> Features:
- set what image types to use for each layout using the "Customize" menu item in the new "layouts" tool bar button
- switch layouts easily using the new "layout" tool bar button
- resize each image using the splitters
- settings are saved in the new "[front-end]\ini_files\screenshot_layouts.ini" file
- each image panel use the background color configured in preferences screen
- each image panel have a hint with its type description so you know what is being shown (just pass the mouse thru the image)
- features disabled multi-screenshots is enabled: "filename / resolution label"; "change image types"
- use the new "Reset Screenshots Sizes" menu item (images popup menu) to center the splitters into the screenshots preview area (current layout only!)
- use the same image type in more than one place

### New Delphi component, "RichEditURL". URL detection is within the game document text now :)
No HTML tags support though

### New setting: "Set All Games as Available (Scan Games)" (preferences screen) See the help button next to this setting for more info...

### New feature: "convert snapshots from MAME to EL format" (main menu "Images")
Use this to convert all your "gamename\0000.png" snapshots to "fullgamename0000.png"

### Added the "Screen Resolution" column back (1st screen only). You need to re-create your games lists again. I will not add refresh rate though
Warning: you must delete all your games lists and columns profiles before using this new build if you are upgrading from v5.3 or EL will crash!

### New button in screenshots tool bar to resize its area so only description column is visible

### Driver "m52.c" into the "Irem Old School" filter for "Moon Patrol" game

### New files:
-> Folder: "\resources\images\img_layouts\"
"img2_layout1.png"; "img2_layout2.png"; "img3_layout1.png"
"img3_layout2.png"; "img3_layout3.png"; "img3_layout4.png"
"img3_layout5.png"; "img3_layout6.png"
-> Folder: "\resources\main_icons\"
"img1_layout.ico"; "img2_layout1.ico"; "img2_layout2.ico";
"img3_layout1.ico"; "img3_layout2.ico"; "img3_layout3.ico"
"img3_layout4.ico"; "img3_layout5.ico"; "img3_layout6.ico"
-> Folder: "\resources\images\
"msgbox_top.png"

# version 5.3 change log - January 26, 2008

## Fixed

### Clone games not showing in the list when using grouped view mode and "show available only " or "show missing only" filters
This fix will show parent games in the list one way or another, so clones can be shown

### Access violation when trying to delete .zip games while game is set as missing (MAME only)

### Driver status info in "game details" screen was not showing for all systems

### ClrMAMEPro .dat files info not being restored on restart

### Input playback / record was not working

### Add games to hidden list not working... also fixed re-select item if feature is enabled

### Re-select item after deleting games from favorites lists

### Random game button is finally fixed
Also, added a timer of 03 seconds. If no game is chosen by then, the first visible game on the list is selected... to prevent front-end from freezing when games list is too small

### System nodes still showing when they shouldn't (system view mode)

### Game name not being reset when no games are selected

### Threaded timer was not being stopped in some operations (splash screen)

### Entries not being properly handled in scan result files (.miss)

### 10 seconds delay when running emulators in some systems

## Changed

### Support for the new MAME image format "\gamename\0000.png" is reduced to the first 2 image types (title snapshots / game snapshots). All other image types will only use the old format "full_gamename0000.png"

### "Emu Loader image format (fullgamename0000.png) is always enabled now, and the new MAME format is optional. Removed the setting from "Images" main menu

### Files renamed:
-> Folder: "\resources\main_icons\"
"image_07_gameartwork" to "image_08_gameartwork"
"image_08_maws" to "image_09_maws"
"filterarcade_10_aae.ico" to "filterarcade_09_aae.ico"
"filterarcade_09_mjolnir.ico" to "filterarcade_06_mjolnir.ico"

### Game details screen remade

### Moved Mjolnir from 8th to 3rd system in the list

### Playback / record input files are now read/written inside a game sub-folder
You only need to set the main folder for the inp files and EL will add the game name sub-folder automatically (just the way the savestate feature works)

### ROMs/CHDs marked as "nodump" are never checked and will be marked as valid since games can run even when they are missing (mainly for MAME)

### Format of "sysname_roms.el" files are changed. ROM size info is removed since it's never used by the front-end when scanning the games list

## Improved

### Frame box label of image types folder selection show all possible file formats for each type (preferences screen, "Images" tab)

### Code optimizations and removal of some unused functions / variables

### Status bar "game name" label now show "gamename [parent_gamename]"

### Select item function is a lot faster and its implementation is 100% ghost-safe

### Reduced image filters to 3 states: "off", "Linear" and "Lanczos"

## Removed

### Status bar panels: "game size"; "current favorite profile"

### Status bar icons and customization

### Files removed:
- Folder: "\resources\main_icons\"
"statusbar_game_size_emu.ico"; "statusbar_game_size_zip.ico"; "emu_pinmame.ico"
"filterarcade_06_pinmame.ico"; "unzipfile.ico"
- Folder: "\resources\gameslist_icons\"
"PinMAMEParent.ico"; "PinMAMEClone.ico"; "PinMAMEBios.ico"
"UnPinMAMEParent.ico"; "UnPinMAMEClone.ico"; "UnPinMAMEBios.ico"
- Folder: "\resources\images\topbars\"
"emu_pinmame.png" - Folder: "\resources\images\"
"NoGamesAvailable.png"

### PinMAME system is gone...

### ROMs list from game details screen. Not much useful...

### ROM size info from "sysname_roms.el" file. EL never check ROM sizes anyway (you'll need to re-create all your games lists...)

### Game size info is gone. Wanna know a game's size ? Go to MAWS for that info

### Setting "Display Zip Error Messages" since the new zip library does not open the file if there are errors

### "No Games Available" when games list is empty (unnecessary screenshot)

## Added

### PCB image type added back

### New files:
-> folder: '\resources\main_icons\"
"image_07_pcb.ico"

### Some emulator settings for Daphne. Also added support for laserdisc players other then the "Virtual" type (preferences screen, Emulators tab)

# version 5.2.1 change log - January 18, 2008

## Fixed

### No need to select a game in the main list to edit left panel filters

### Left panel's node height fixed to 18 pixels (same as games list with 16x16 icons)

### Main menu / popup menus not loading / using custom themes (preferences screen)

# version 5.2 change log - January 17, 2008

## Fixed

### Merged sets being added more than once in "\arcade\mame_merged.ini" file

### MAME ROMs folder selection was auto-sorting the list

### Scan games function now search all MAME folders for .chd files

### System node were counting as games when using system view mode

### All system nodes were visible when selecting one system (system view mode)

### Random game button was bugged again (this feature is very slow when just a fewer games are visible)

## Changed

### Files updated:
-> folder: "\resources\images\"
"about.png"; "logo.png"
-> folder: "\resources\main_icons\"
"statusbar_game_size_emu.ico"; "statusbar_game_size_zip.ico"

### Files renamed:
-> folder: "\resources\main_icons\"
"image_12_gameartwork.ico" to "image_07_gameartwork.ico"
"image_13_maws.ico" to "image_08_maws.ico"

### Moved "number of screens" from main tool bar buttons to "Games Filters" main menu

### Hot-key for "previous image type" is now F9 and for "next image type" is F10

### Status bar "standard" size changed to 16x16 icons. 24x24 icons were removed

### Image type #1 (game snapshot) cannot be disabled anymore (preferences screen)

### Moved screenshots "stretch" and "display parent images" settings back to screenshots popup menu and removed the "settings and special effects" button from the tool bar

### Added a "ClrMAMEPro Data File" edit box in "Emulator Setup" screen so you can define a .dat file for all systems that need it to create the games list. There is no need to put a "SEGAModel2Emulator.dat" in "\ini_files\" folder anymore
If the file is not found or not defined, when creating the games list you will be prompted to select one

### Read/write resolution settings for "SEGA Model 2 Emulator" was bugged
Also, added support for custom resolutions

### Remove "Show expanded Items" menu option from "View" main menu and added a new "Collapse Tree" / "Expand Tree" to toggle between collapse and expanded

### Merged sets are a MAME exclusive feature from now on. This front-end will not support merged sets for any other system, including MAME based ones (AGEMAME, PinMAME, HazeMD, etc...)

### The follwing options are now MAME exclusive features (games popup menu):
-> "Run Game and Playback Input"
-> "Run Game Game and Record Input"
-> "Run Game and Load a Save State"
-> "Run Game and Record Wave Output"
-> "Run Game and Record MNG Output"

### Game documents feature is a MAME only feature now (it always was)

### Moved "Auto Previous/Next Image Type" from main menu "Images" to images popup menu

### Audio samples, main chip, display, sound, input, driver status and savestate info are now extracted from MAME's "-listxml" output... for bios entries

### Read/write columns profiles were adding the full path twice on the filename string, preventing the profile to be read/written

## Improved

### More code optimizations (again, no speed gains)

### Display game screenshots is a little faster (not noticeable for most of you)

### Support for "filter / Mature" entries in .ini files (left panel)

### Only available systems can be selected when scanning the games list (games popup menu)

### Removed the "Delete Selected Games Files" option from games popup menu ("Delete" menu item), and changed the "Delete "gamename.zip" menu option so it can handle multiple selected games as well, using the same "Delete" keyboard hot-key

### Treeview's FullExpand() command used instead of a loop (don't know why I never used this command before...)

### You can delete files in the "Select File" screen using the "Delete" keyboard hot-key

### Centralized all the calls for the "\ini_files\" folder and its sub-folders into one function

### Updated the function that create games lists based on ClrMAMEPro .dat files so other emulators can also use it

## Removed

### DOS box run mode. Games run with DOS box in normal state and extract games list / emulator version minimized

### The following image types are gone: "Select"; "Versus"; "Wallpaper"; "Hardware"; "PCB"
Go to MAWS to check on these images...

### Files deleted:
-> folder: "\resources\main_icons\"
"filter6_numscreens_all.ico"; "filter6_numscreens_1.ico"; "filter6_numscreens_2.ico";
"filter6_numscreens_3.ico"; "filter6_numscreens_4.ico"; "mamu_scanmiss.ico";
"mamu_scannotneeded.ico"; "binary.ico"; "statusbar_total_games.ico";
"create_gameslist.ico"; "emu_extrafiles.ico"; "image_07_select.ico";
"image_08_versus.ico"; "image_09_wallpaper.ico"; "image_10_hardware.ico"
"image_11_pcb.ico"; "image_nextno.ico"; "image_prevno.ico"

### Support for zipped images is gone... for good this time

### Customize images tool bar. You can only show or hide this bar from now on

### Image type button from main tool bar button. Now only available in images tool bar

### Option: "Use MAME Games Info" for ZiNc system. If a MAME games list already exists, EL will get all extra info from it automatically

### Option: "Delete All Visible Games" from favorites popup menu. If you want to delete all games from a favorites list, enable "Multiple Section", select all games and use "Delete / Delete All Selected Games Files" (games popup menu)

### Several menu items from games popup menu "Delete" (sorry but you're gonna have to delete files manually from now on)
-> "Config File"
-> "Nvram File"
-> "Input File"
-> "Save State File"

### Number of screens column from the main games list... you still have the filter in the "Games Filters" main menu

## Added

### Support for a new emulator: "AAE - Another Arcade Emulator"
New emulator that run vector games using OpenGL width hardware acceleration, adding some cool effects. A ClrMAMEPro .dat file is required for this system (go to "Logiqx")
Note: this system support only full split ROMs (no parent/clone relationships)!

### Main filter "Parent/Clone" is also applied in the left panel

### New left panel popup items:
-> "Apply Main Tool Bar Filters": Use this option to re-apply main filters from the tool bar buttons
-> "Export Games List": Export the current games list to a .ini file so you can use it as a new filter for the left panel

### New button for the MAWS web browser tool bar: "Exit MAWS", to exit the browser and load the game snapshot image type

### New feature: "Left Panel Editor" (main menu "Left Panel" / left panel popup menu)
This is what you've been waiting for. A complete editor for all your custom filter needs
You can even edit existing filters like "catlist.ini", "artwork.ini", "series.ini" and others. Read "docs\el-leftpanel.txt" file for a user guide
There are 2 possible options:
-> "Create a New Filter": the editor will open with a new filter already initialized waiting for your input
-> "Edit a Filter": after selecting a .ini from the list, the editor will open and load the filter so you can add/remove folders or games
The editor is very easy to use and visualize. See the "help" button at the editor's tool bar for a small tutorial
Warning: only MAME is supported by the editor. Even if you select games from other systems, they will not be added

### New files:
-> folder: "\resources\images\topbars\"
"filters.png"; "emu_aae.png"
-> folder: '\resources\main_icons\"
"emu_aae.ico"; "filterarcade_10_aae.ico";
"leftpanel_btn_add.ico"; "leftpanel_btn_delete.ico"; "leftpanel_btn_save.ico";
"leftpanel_btn_help.ico"; "leftpanel_btn_addgame.ico"; "leftpanel_btn_deletegame.ico";
"search.ico"
-> folder: "\resources\gameslist_icons\"
"AAEParent.ico"; "AAEClone.ico"; "UnAAEParent.ico"; "UnAAEClone.ico"

### Detection of available screen resolutions, based on your video card+monitor
Used in ZiNc settings screen, SEGA Model 2 settings screen, AAE settings screen

### New filter: "Save State" in "Games Filters" main menu

# version 5.1.9 change log - January 04, 2008

## Fixed

### File "\arcade\system_name.el" not updated correctly when doing a single game scan

### Left panel custom background color not being set (same as games list)

### Scan results was not checking for merged sets and adding all those games to its list

### ZiNc games showing when using "Vector" filter

### History label (top game documents panel) was bugged

### Bad treeview colors in "check for missing images" and "check for missing MAMu_ icons"

### Executing games with "Run Custom Game Settings By Default" enabled was searching only for game custom command lines

### Setting / deleting "debug.ini" for MAME was not working correctly

## Changed

### Scan results changed to not include games where "gamename.zip" is not found (for both master and clone sets

## Improved

### Emulators setup screen UI updated for easier access

### Fixed appearance of ListView lists in several screens (for Windows Vista)

### Multi-selection enabled for the left panel filters. Select a bunch of filters and all games from those filters combined will be displayed in the list
Single selection is still supported... of course

### Left panel now use the main filter "Have / Miss". Note that selecting this main filter will overwrite the select filters from the left panel!

### Columns editor UI improved a little bit for easier maintenance

### Minor improvements to the left panel

### More optimizations for easier maintenance (no speed improvements)

### Reduced to 10 tries the "Random Game" feature so the front-end does not fall into an endless loop. Useful if you are viewing a list where most games are hidden

## Removed

### Games list icons are not validated anymore. If there is one or more files missing, the icons in the games list will be messed up

## Added

### Support for MARP data file (http://marp.retrogames.com)... game documents feature
File is updated daily. Download it from this link: http://marp.retrogames.com/marp.dat
Place it in "[frontend]\ini_files\" folder or MAME root folder.

### New main menu: "Left Panel"
This menu will have some special options. One of them, create special filters using Emu Loader's internal database, to be used with the left panel
Menu Items so far:
"Create Control Types File" -> create a "controltype.ini" with a list of all MAME control types and its games. Some users might want to use this filter instead of the one from "Games Filters" main menu

### More improvements to the left panel:
-> Left panel popup menu:
"Apply Selected Filters" -> use this menu item to enforce the left panel to apply its selected filters (useful when multiple filters are selected and you used the main filters and want to revert to the left panel)
"Collapse / Expand Tree" -> collapse or expand all items in the tree
"Reload TreeView" -> reload all .ini files into the treeview (no filters are applied!)
"Default Panel Size" -> restore the default width of the left panel

### New files: -> folder: "\resources\main_icons\"
"leftpanel_root.ico"
-> folder: "\resources\gameslist_icons\"
"MAMEParent.ico"
"MAMEClone.ico"
"MAMEBios.ico"
"UnMAMEParent.ico"
"UnMAMEClone.ico"
"UnMAMEBios.ico"

# version 5.1.8 change log - December 20, 2007

## Fixed

### When disabling left panel, main tool bar filters were not being applied again

### Hidden games stay hidden when left panel and hidden games features are enabled at the same time

### Open/close button for root nodes in left panel disappearing when starting front-end with left panel enabled

### Memory leak in "game details" screen

### Incremental search not working in several screens

## Improved

### Files that do not follow the standard format are not added into the left panel (catver.ini for example)

### Merged some more functions to remove unecessary code duplicates

## Removed

### Several audit icons from folder "\resources\main_icons\"

### Artwork filters from "Games Filters" main menu. Also removed support for the now old artwork.ini (thanks Mr. Do!)... "[frontend]\ini_files\artwork.ini" file
Only the new artwork.ini file is supported and is to be used with the left panel

### Audit feature is completely removed from the project (see new feature "Scan Results" for more info)

## Added

### Added a new main tool bar button: "Left Panel Filters" for easier access and removed the menu item from the "Games Filters" main menu

### Left panel now have a popup menu with some options

### New files: -> folder: "\resources\main_icons\"
"left_panel.ico"
"scanresult_ok.ico"
"scanresult_badcrc.ico"
"scanresult_notfound.ico"
"scanresult_game.ico"

### Support for custom background image and font for the left panel Same background image as games list and font is the same as parent games font

### New options for MAME 0.122 in MAME settings screen

### Custom width for the left panel is now saved in "EmuLoader.ini"

### New folder "font_ttf" with some custom fonts used by the front-end, in case you don't have them

### New feature: "Scan Results" (games popup menu)
Every time you scan the games list, files are created or updated in a new folder: "[frontend]\arcade\scan_results\". Each system have a file with the ".miss" extension, except for "ZiNc" and "Daphne" systems (no support for these 2). Only games that have missing ROMs/CHD are added
There are 2 options for this feature:
1. Selected Game ("Shift+A" hotkey) -> view the results of a single game
2. All Missing Games ("F8" hotkey) -> view the results of all missing games for all systems
NOTES:
- At least one ROM or CHD file must be found for each game or it will not be added in the list
- Green status is for "Ok" ROMs/CHD files
- Red status is for "bad checksum" and is for CHD files only (no ROMs)
- Gray status is for "missing" ROMs/CHD files
- If you download a new .zip file you must re-scan the games list since this feature does not do any scanning, it only read "system_name.miss" files

# version 5.1.7 change log - December 04, 2007

## Fixed

### Some sample files being set as "not used" in "Scan Audio Samples" (main menu "Games List")

### New history link label background color and font settings not updated with game docs settings

### Cannot create a new favorites profile when "Default" profile is selected

### Default ini file for MAME based emulators not created on a couple situations

### Bug when editing ROM paths in emulators settings screens

## Changed

### Renamed "Bios Sets" to "Bios Sets Settings" and removed the "Default / User Define" options. This feature is now enabled by default (non-default biosset is automatically loaded when starting MAME games). Remember that this is a MAME only feature

## Improved

### Some code optimizations for easier maintenance and redundancy removal

### More internal updates for the upcoming large icons view mode

## Added

### New system: Mjolnir - Arcade Emulator v0.4 [Namco's System 21, System 22, and Super System 22 harware]
Another MAME based emulator. It works the same way as MAME. Enough said :-)) Ini files (mjolnir.ini; etc) might not be fully compatible though

### ROMs files format updated with one more field so EL can know if a specific ROM is from a bios set or is a regular ROM. This will only be used by the new audit system ("mame_roms.el", "agemame_roms.el", "pinmame_roms.el", "hazemd_roms.el", "mjolnir.el")
New format: rom_name=rom_size¬rom_crc32¬rom_status¬is_bios_rom;
bios.ic23_l=65536¬e5693ce3¬baddump¬1;
pacmanh.6j=4096¬5c96a733¬¬;
Note that you don't have to recreate your games lists... at least not until I finish rewriting and activate the new audit feature

### New feature: Left panel filters
Same panel as in MAME32 but with a huge difference... you can have as many sub-levels as you like, all you need to do is create a section in the file like so:
file: 'catlist.ini'
[My filter / Maze / Top View / Multiplayer / Level 33.1 / Konami]
game1
game2
.
To toggle this feature ON/OFF, use the new "Enable Left Panel" setting in "Games Filters" main menu (enabled by default)
NOTES:
- you do not need to add all sub-levels way down to the last one (EL will do that automatically)
- all files must be placed in the new "[frontend]\leftpanel_filters\" folder
- you can have a custom description for each root node (.ini file). Just create a new section inside called [TITLE] with the following format:
[TITLE]
FolderTitle = Type any description you want here
- other files like "catver.ini", "nplayers.ini", "mameinfo.dat", etc... are still located in "[frontend]\ini_files\" folder
- All files from MAME32 are supported, "rankings.ini", "series.ini", "catlist.ini", "version.ini", "artwork.ini", and others
- Use mouse right-button click to call popup menu

# version 5.1.6 change log - August 27, 2007

## Fixed

### Auto game document #6 not being correctly read (preferences screen)

### Painting bug when scrolling games list while auto game documents is enabled

### Columns profile not being saved on certain cases (front-end startup)

### Columns profile .ini file is always deleted before saving again... to fix bug

### Games not being set correctly in grouped view mode. You'll need to re-create your games lists to fix this bug

### Custom driver options was setting game name instead of driver name

### Entries with null value now do not have "# entry" (mame.ini)... ctrlr, mngwrite, etc

### Couple bugs when scanning games list and CHD files

### Accesss violation when deleting multiple .zip files (progress bar bug)

### When favorites profile is empty, it was not being set as default at startup

### A few internal bugs

### The drop-down box # 6 (preferences screen) was reading the setting from the drop-down box #5

## Changed

### Renamed "Hidden Games Enabled" to "Activate Hidden Games" / "De-activate Hidden Games"

### For MAME based systems, all driver .ini files will now be handled in "[mame_inifolder]\source\" folder. For MAME builds older than v0.118u2, you will need to move the files to "[mame_inifolder]" manually

### ZiNc games now use the field "ScreenType" to hold the index of games, so EL can run them with ZiNc emulator

### Games list files are changed again. Please re-create all your games lists

### User interface in games filters selection screen has changed. Filters descriptions are now displayed as hints as you move the mouse over each option

## Improved

### Feature "Scan Audio Samples" ("Games List" main menu)
It only shows a list of sample from missing games and sample files not used by any game

### First change to start implementing large view mode, using "EasyListView" v1.60 component
On every game selection, the full game data will have to be redirected to memory variables
I just hope this does not generate the bug from old EL buids...

### Removed systems lists from main menus to add them at runtime... much easier to add new systems in the future since I don't need to manually add the menu items

### Main buttons tool bar / images buttons tool bar / status bar customization simplified

### Customize columns screen

### Bios sets selection screen (main menu "Emulator", "Bios Set" menu item)

## Removed

### Menu setting: "Use Controller" (main menu "Emulator")

### Menu theme selection from "View" main menu. To select a theme go to preferences screen, "Front-end" tab, "Menu / Popup Themes" sub-tab

### Game size (.zip file size)

### Top bars and feature descriptions from some screens. Also some files from "[front-end]\resources\images\topbars\" folder

## Added

### ROMs validation. All games are now fully scanned when updating the games list. If a game is missing a single ROM, it will be set as unavailable
Notes:
- ROMs of bios sets can now be placed in game sets (parents and/or clones)
- ROMs of bios sets can now be placed in game sets (parents and/or clones)
- you can put ROMs of game sets into bios sets, but parent set must still exist
- you still cannot put ROMs of parent sets into clone sets
- ROMs for ZiNc and Daphne systems are not fully scanned (no ROMs list...)

### Customize main menu and popup menu colors (preferences screen, "Front-end" main tab, "Menu / Popup Themes" sub-tab)
Notes:
- You can create as many themes as you like. They will be saved in "\ini_files\menu_themes.ini" file
- Setting "Frame Round Corners" is used for both selection band and checked items
- You can set single color, 2 colors gradient or 4 colors gradient for the selection band
- Theme "Office 2007" cannot be modified

### A pretty timer in status screen so you can keep track on how long a task is taking. This is my first piece of code that use a second thread! :-))
Only create/scan games use this timer for now

### Fix for clone games with CHD files. File "\arcade\mame_roms.el" is updated to support filenames of clone CHD + filename of the parent CHD, using a ' _"parentchd"_ ' tag, like so:
Game: konam80u
CHD : 826uaa01.chd
Parent CHD: 826eaa01.chd
.. sample from "mame_roms.el"..
826uaa01.chd_"parentchd"_826eaa01.chd=0¬456f683c5d47dd73cfb73ce80b8a7351¬;
This means that the front-end will detect both chd files and if found will set the game as available... Make sure to create the games list again

### New files to keep track of merged games located in "[frontend]\arcade\" folder (MAME based systems only)
- mame_merged.ini
- agemame_merged.ini
- pinmame_merged.ini
- hazemd_merged.ini

### You can resize game columns directly into the list now. Columns profile will be saved when:
- exiting the front-end
- swicthing between system filters
- when opening columns customizer screen

### Support for html link on new history.dat (not directly into the richedit box, but with a label above it)

### New menu option: Reload "catver.ini" / "nplayers.ini" / "artwork.ini" (main menu "Games List")
Use it to load the info from those files without restarting the front-end