pfeMame - Windows  pfeMame - Linux  pfeMame - Mac  pfeMame (Source)

What's New:

- Added a cache file (xmlcache.dat) that is written to the pfeMAME folder after a full database refresh. This is essentially a copy of the output from the mame.exe -list xml command. Then on the next database refresh I read that file and compare its MAME version info with the MAME version info currently running. If they match, then I use that data. If not then I have to perform the full -listxml which takes longer. This has reduced a full database refresh on my machine from 36 to 24 seconds.
- Fixed a but that stopped the visual pinball roms from working. I hadn’t updated that code in quite a long time and found that the list format was no longer correct. I need to find a better way of doing this moving forward.
- Removed the right click context menu items for playing ROMs with different emulation engines.
- Removed enginetouse.dat file and related code.
- Added a new non_mame_exulators.xml file.
- Rewrote the playgame code to allow for reading different emulator engine options from the XML file.
- Added additional code to the database build to support the new alternate emulation engine process.
- Added a new menu item under the Edit Menu -> Setup Alternate Emulators.
- Added a new module -> Alternate Emulators
- Fixed a bug that caused the filepaths buttons to be greyed out on first-time-run even though they were enabled. Just needed a refresh after the first time run popup message.
- Removed any code and manual references relating to the psutil and keyboard imports and ability to shut down MAME by holding a key. This never worked properly as various platforms think you are trying to run a key logger and block it or require admin rights which is bonkers.
- Added a button hover highlight effect
- Added a bold font and underline to the slot headings
- Other graphical improvements to the slot controls page
- Additional changes to controls in preferences window to support color modes
- Improved the refresh of the quantities section of the statusbar when searching. Still not perfect but at least better.
- Added a startup window to select the application language
- Added application language selection to the preferences window and command line
- Added a framework for the application languages (still needs a lot of work)
- More changes to preferences window layout to sizer better for different languages
- Moved logging to functions.py module and got rid of write_log_remote. Any module that now needs to write to the log file can set up local logging or receive the logging object through init.
- Added line number and module name to the logger to assist with debug
- Fixed setup.py to handle multiple folder imports with setuptools
- Updated build_source_distribution.py so that for folder creation with all sub folders and files you just have to include the top level folder and refer to it as ‘folder_all’
- Updated the manual to include language selection and the new alternate emulation engine support.
- Command line errors will now generate a message but not then start the pfeMAME application. This way you can see they you had an error.
- Updated the search box so that when it looses focus, the search text gets cleared. Fixes an issue where the box locks up when it looses focus after some text is entered.
- Updated the setup.py file for building distributions. Under macOS you need to put the ‘locales’ language folder within the ‘Resources’ folder. To do this just define a second insertion point for the data_files setup variable.