# 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.9 change log - October 01, 2015

## Fixed

### Some sets with no game ROMs but with device ROMs were not audited correctly even when all device ROMs are found (I hope I didn't break anything else in EL's games validation system)
- alto2: Alto-II
- fds: Famicom (W/ Disk System add-on)

### Frontend crash at StrToInt() conversion if ROM size contains '????' instead of numbers

### Heavy text flickering in splash screen if they change too fast

### Old "Game Documents" bug (F3 hotkey; games popu menu): game entry detection function would continue to scan all the way to the end of the file even after the game info was found and loaded, resulting in slow text parsing and games browsing (mameinfo.dat; history.dat; story.dat; marp.dat; messinfo.dat);

### "quick access" menus in game documents popup menu were still visible for games without text to show

### Grouped view mode fixes:
- search bar filtering was placing clone sets in wrong parent sets (main tool bar buttons)... nobody noticed this ?!!
- tweaks when accessing group items; twice as fast when looping thru games so filters can be applied; this view mode is still slow as hell though
NOTE: a new message panel appears when changing games filters, so you know the frontend is not frozen

### Changing game icons size was unnecessarily resetting icon indexes and reinitializing items, causing lag ("View Mode" tool bar button, "Game Icon Size" sub-menu... grouped/details view modes)

### Some categories were displaying HTML tags (function "uMain.HTMLDecode()" is now executed in 'category' field)

### Feature "Add Selected to Favorites" / "Delete Selected From Favorites" updated to check for the "IsFavorite" game tag before displaying games popup menu on a single game selected. Both menu items will appear if multiple games are selected

### Interface bugs in "Multi-Slot Games" dialog

### Memory leaks when switching in and out of thumbnails view mode

### Setting "Alternate Title Format [Game, The]" was not working when loading the games list (main menu "Games List")

### Atomiswave games not using the new "awave" machine name of Demul v0.7; Emu Loader now tries to detect Demul version to support older Demul builds

### Frontend crash when trying to select parent set with arcade controller, if current selected game is not a clone

### Emulators selections were not saved to "\ini_files\folders_emulators.ini" file after exiting "Emulators Setup" screen

## Changed

### Changes and optimizations to frontend's games list files
- ROMs database files renamed from "systemname_roms.el" to "systemname.elrom" ('frontend_dir\arcade\' folder)
- new "systemname.elstatus" file with "game ROM ID", "set status", "scan mode" and "is_merged"; moved from "systemname.el"; easier and faster to update game status info without altering game list files (arcade games; MESS software lists)
- files "mame_merged.ini" and "hb_merged.ini" no longer required
- audio samples files renamed from "systemname_samples.el" to "systemname.elsamples" (MAME/HBMAME)
- detection of "softwarelist" entries from "-listxml" output, for MESS games (non-arcade)
- the following machines are not included on software lists: neogeo, stv, megatech, playch10
- new file: 'arcade\mame.elsoftlist' with software lists for each MESS machine
- new file: 'arcade\mame_machines.ini' to list all supported machines for each software list
- new file: 'arcade\mame_machineslast.ini' with the last used machine for each software list
- minor code optimizations and removal of unused variable declarations

### Minor change to frontend's logo, now called "Emu Loader: MAME and Arcade Frontend"... because MAME is no longer an "arcade only" emulator

### Optimized MAME/HBMAME emulator version info detection
- emulator version info no longer extracted from -listxml output
- for MAME v0.119 and newer, version number is read from file details (Windows file properties); much faster than "mame -help" output
- older MAME builds and builds with no file details falls back to "mame -help" output
- emulator custom title is limited to "MAME Plus!" (*mamep*); "UME" (*ume*) and HqMAME (*hqmame*), and no longer extracted from file details or -help output
- emulator MD5/version parsing message panel removed from emulators setup screen
- new emulator binary detection is always done at startup and their info updated (all emulators)

### Moved "Export Games List" sub-menu from "File" to "Games List" main menu; deleted "File" main menu

### Optimized games list/ROMs list loading by adding game info + ROMs list in one pass instead of loading all games first and then ROMs lists separately

### Optimized games list filtering when in grouped view mode... it takes around 3 to 5 seconds now; still too slow for my taste since details view takes less than ONE second

### Renamed "Main Filters" tool bar button to "Main Arcade Filters" since they are for arcade games only

### Feature "Images Manager" is limited to MAME emulator only, other emulators are no longer supported! (main menu "Images"); software list games are partially supported

### Changes to "MAMu_ Icons Manager" feature
- removed "Search Icons for Devices With No ROMs" option from missing icons, they are not runnable games!
- New missing icons option "Search Icons for Device Sets", disabled by default ("Options", status bar button)

### Moved "Screen Orientation" filter tool bar button to MISC filters button

### Optimized frontend startup to avoid unnecessary function calls and speed things up a little bit :)

### Renamed "Show User Interface" to "Enable Partial Keyboard Emulation (UI Enabled)" to make it easier to understand (MAME Settings, "Input" tab)

### Scanning games list would call "ApplyFilters()" function repeatedly on every scanned system (MAME, ZiNc, Demul, MAME software list games, etc). If status of any game changed, EL was re-applying the games filters several times over. Now, ApplyFilters() function is called only once at the end of the scanning process

### Tweaks in "Run Game Confirmation Dialog" (main menu)
- default font size reduced to size 9
- added support to show info on software lists and non-arcade machines
- replaced "Consolas" font by "Lucida Console" on full command line texts and reduced font size
- games list version info and emulator version info texts merged into one line to reduce dialog height and to avoid waste of space
- removed some redundant text to avoid confusion
- added "usage" text below game name text (top bar) for software list games
- machine name is now displayed below the machine title when running multi-slot machines (neogeo, megatech, stv, playch10)
- renamed "Run Game" button to "Execute"

### Full scan games feature always close/re-open parent .zip sets now, to avoid validating ROMs of parent sets with no relationship to the clone set being scanned... huh, what did you say ? :D

### Screen "Select System" to create games list and scan games is properly resized to fit 640x480 resolution

### Screen "View ROMs Folders" properly resized to fit 640x480 resolution (main menu, "View" sub-menu)

### Feature "Scan MAME/HBMAME Missing Audio Samples" (main menu "Games List): multiple games using the same sample file are no longer listed, only the first found game

### You can select between different favorites profiles while favorites filter is enabled (main tool bar button). :)
All other favorites functions are disabled!

### Tweaks to game details screen (games popup menu or "Shift+I" shortcut)

### Frontend's main screen now hides itself when creating a new games list using main menu "Create Games List", and it restores itself at the end

## Removed

### A few redundant messages were removed from the splash screen (and at startup) since they appear only for a split of a second

### Setting "New Emulator Detection" removed (preferences screen); no longer needed, now always enabled

### Setting "Games List Not Found" went kaput! (preferences screen); games lists will not be auto-created anymore, except on a clean install; use "Create Games List" option in main menu to create lists manually when updating your emulators executables

### Feature "Not Used Game Files" is no more; it was never 100% accurate, it always listed files that shouldn't be removed

### Feature "Auto Rename Snaps to EL Format" is gone. Emu Loader will no longer try to rename "snap\gamename\0000.png" files to "snap\gamename.png"... if you want to take MAME snapshots in "snap\gamename.png" format just change "snapname" entry to "%g" (without quotes) in "mame.ini"
You can find this setting in MAME Settings screen, "Video 2" tab, "Snapshots/Movies panel", "Name Format" edit box

### Replaced all texts using the odd "Segoe UI Semibold" font by more common Windows fonts

### Replaced almost all texts with "Consolas" font by "Lucida Console" and "Verdana" fonts

### Image splitters style is gone, only solid style is avaiable from now on with customizable colors (preferences screen, "Images" tag)

### Feature "Images Manager" is disabled; adding software list games support broke this feature and it needs to be completely rewritten :_((

### Image effect "Scale 2x" is no more (main menu "Images" / "Resampler")

## Added

### New MAMu_ icons setting: "Enable Device Set Custom Icon". Enable this setting to use a single "deviceset.ico" file for all device set entries... only if "deviceset_name.ico" is not found!
I'm sure MAMu_ will appreciate this setting as device sets are non-playable sets

### New library "SynFastWideString.pas"; better handling of WideString vars; this libary is a lot faster than WideString var from Delphi 7, and use FastMM v4 improved RAM manager

### Unicode strings support in games list; game title; manufacturer; category; language; and usage tip for softlist games

### New "Scan MAME Sets (v0.162 and newer)": choose what kind of MAME sets will be validated; located in "Scan Games Mode" screen (games popup menu) and select system dialog (create games list/scan games)
- Scan All -> will validate both arcade/machines and software list games
- Arcade/Machines -> will validate only arcade/machines sets, excluding software list games
- Software List Games -> will validate only software list games, excluding arcade/machines sets

### Support for MAME software list games (home consoles, computers)
- feature enabled by default, you can disable it when creating a new MAME games list (select system dialog)
- for UME and MAME 0.162+ builds
- game files must be placed in sub-folders with the same names as xml filenames from 'mamdir\hash' folder
- DO NOT set folders for software lists in 'rompath' (mame.ini); MAME and Emu Loader search in 'roms\soflistname\' sub-folders automatically
- games files must be zipped; except CHDs
- detection of 'softwarelist' tags in MAME -listxml output
- new status bar info text "xml file: softlist_name" (selected game)
- XML files in 'mamedir\hash\' folder are required and NOT auto-created by the frontend
- XML files in 'mamedir\hash\' folder not used by MAME's -listxml are not used by the frontend
- basic games loading support only (no multi-floppy disk drives or multi-slot cartridges)
- category column is used to display software list descriptions
- new 'frontend_dir\softwarelist\' folder with all supported lists; for faster games list loading and auditing (direct XML parsing is too darn slow)
- full scan games support (audit system)
- preview snapshots and video previews use the softwarelist filename as a sub-folder (zipped images are supported); eg.: "mamedir\snap\msx1_cart\"
- you can disable software lists you don't want when creating MAME games lists by using "Customize Software List" (main menu) or clicking the "custom" text in "Scan Games Mode" (games popup menu) or select system dialog
...or manually delete the desired files in 'frontend_dir\softwarelist\' folder
- internet game info support with new MESS pages from Progetto-SNAPS

### New "Machines" filter in main tool bar button
- Filter games in the list the way you want; MAME arcade + machines + softlist games
- Use the new "Machines List Side Panel" to filter games by a specific machine (all other machines filters are ignored)
(extra options can be found in the machines list popup menu)
NOTE: To properly filter arcade and non-arcade machines you need "category_home.ini" file from "category.ini for MESS" pack made by AntoPISA

### New "Machine to Run Game" menu item in games popup menu
- When machines list side panel is disabled, to run softlist games you can select what machine to use
The latest selected machine for each softlist will be used if you hit ENTER or double click a softlist game... quick launch mode! :D

### New icons for software list games; so you know if a MAME game is arcade/machine or from software lists
- MAMESoftwarelistParent.ico; MAMESoftwarelistClone.ico; UnMAMESoftwarelistParent.ico; UnMAMESoftwarelistClone.ico

### New column "Usage" for software list games; details/grouped view modes

### Support AntoPISA "catver_full.ini"; category and version added for arcade and non-arcade machines
WARNING: this file will tag all non-arcade machines as arcade machines and the "MAME Machines Without Software Lists" filter will not work! ('Machines' filter)

### Support AntoPISA "category.ini for MESS" and "version.ini for MESS" so Emu Loader can separate MAME arcade from non-arcade (MESS) machines Put both files "category_home.ini" and "version.ini" in "frontend_dir\ini_files\" folder
- for MAME 0.162 and newer / UME builds only; these files have no use on older MAME builds or MAME arcade builds
- file 'version.ini' is optional and if using 'catver_full.ini' there's no need for this file
- file 'catver.ini' or 'catver_full.ini" is still required for MAME arcade games
- games from software lists are not supported since category is used to show softlist titles
Get files in Progetto-SNAPS website (renameSet page): http://www.progettosnaps.net/renameset/
WARNING: do not use "category_full.ini" file or the frontend will show incorrect categories for MAME arcade games and the frontend will not work properly!

### Support "History.dat" 0.162 to show info for software list games ($softlistname=rom1,rom2); sadly, Unicode texts are not displayed in the RichEdit control

### Support "messinfo.dat" created by AntoPISA; for non-arcade machines (MAME v0.162 and newer); put "messinfo.dat" in MAME's main folder (same as mameinfo.dat)

### favorites and playtime .ini files expanded to support software list games (MESS)... no updates required from your part
- arcade: 'gamename=systemname'
- softlist: 'gamename_softwarelist=systemname'

### Support new .ini files for MAME v0.162 and newer: arcade.ini; console.ini; computer.ini; othersys.ini (games popup menu, "Custom Settings" / "Extra")

### New setting: "Use Custom "snapname" To Take Snapshots" (main menu "Images")
Disabled by default, it adds an extra "-snapname softlistname/gamename" parameter into MAME's command line so your snapshots for software list games can be correctly created in MAME: "snap\softlistname\gamename.png"
Without this, you'll need to manually rename files and move them to proper folders
eg.: "goonies" game for MSX 1 cartridge ("msx1_cart" softlist name) will have a "-snapname msx1_cart/goonies" parameter; the created screenshot filename will be "snap\msx1_cart\goonies.png" no matter what MSX machine you're using to play the game
It makes taking snapshots a lot easier, using the actual software list name "msx1_cart" as a sub-folder instead of the machine name

### New games popup option "Main Menu" to access the main menu when tool bar filters is not visible

### New feature: "Multiline Captions"; Enable it to show "two line" captions in details/grouped view modes; 32x32 and 48x48 icons only (preferences screen, "Games List" tag)

### Support for zipped images in thumbnails view mode (finally!)

### New MISC filter: "Show Merged Sets Only"; what does it do ? make you a cup of coffee... :)

### New MISC filter: "Light Gun"; show/hide all games that use a light gun control; file "catver.ini" or "catver_full.ini" is required to detect "gun", "gallery" categories

### Preview images / game docs panel can be enabled while in thumbnails view mode, using the new "Show Images/Game Docs Panel" setting ("Thumbnails" sub-menu in view mode tool bar / games popup menu)

### Changes and updates to the video preview feature
- new "experimental" setting: "Play Dummy Video to Stop Current Playback" in preferences screen; play a short video to stop current video playing if you select a new game that have no video to play
(also executed before starting a game and exiting the frontend)
- new file "resources\images\no_image\novideo.avi"
- minor optimizations to the CallPlayVideoPreview() function

### New favorites setting: "Show Favorite Icon In Games" (favorites tool bar button); show a fav icon in details view and add a fav image on top of thumb images (thumbnail view)

### New game status filter: "Missing + Missing ROMs/CHDs" ("available/missing" tool bar button)
- this filter will show games with all files missing and found games with missing ROMs/CHDs
- filter "Missing" changed to only show games with all files missing (games you don't have)

# 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