version 8.6 change log - May 30, 2018

Fixed

Several drawing bugs in games lists, top bars and icons

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

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

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

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

Main games list not focused after exiting "Favorites Manager"

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

Changed

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

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

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

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

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

Minor tweaks to "Game Details" screen

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

Removed

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

Added

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

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

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

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



version 8.5.7 change log - May 07, 2018

Fixed

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

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

Changed

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

Added

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

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



version 8.5.6 change log - May 02, 2018

Fixed

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

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

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

Changed

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



version 8.5.5 change log - May 01, 2018

Fixed

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

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

Changed

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



version 8.5.4 change log - April 30, 2018

Fixed

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

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

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

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

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

Changed

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

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

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

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

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

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

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

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

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

Removed

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

Added

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

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

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



version 8.5.3 change log - April 04, 2018

Fixed

Supermodel3 emulator settings screen was not centered in the desktop

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

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

Changed

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

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



version 8.5.2 change log - April 02, 2018

Fixed

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

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

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

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

Changed

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

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

Added

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

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



version 8.5.1 change log - March 29, 2018

Fixed

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

Removed

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



version 8.5 change log - March 28, 2018

Fixed

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

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

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

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

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

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

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

Changed

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

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

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

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

Tweaks to "Create MAME Games List"

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

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

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

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

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

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

Removed

Masssive source code cleanup (commented/not used code)

Added

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

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

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

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

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

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

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

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