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)