pfeMame v2.4.3 is released. pfeMame is a front end for the Multiple Arcade Game Emulator (MAME) written in Python. It is cross platform (tested on Linux - Ubuntu and Windows XP). It also includes a graphical Tile View designed for MAME cabinets which allows control using joystick / gamepad. pfeMame was written by Gareth Finch and started in 2014.
Features:
- Customisable game types / categories filter for display
- Graphical image 'tile' view with joystick navigation - for dedicated MAME cabinets
- Cross platform - Linux & windows
- Python source code
pfeMame v2.4.3 Changelog:
• Fixed the formatting of the first time run message box. The text is now laid out properly.
• Corrected the status bar message when the first time run is detected.
• Changed the way the last game selected recall is done. It will now recall to any last game selected, even if it was found during a search. Previously it would not recall a selected game found using search.
• Have stopped the video player from trying to play a video when the type ahead search is used. When you start searching, the current rom name is lost and the video player code will generate an iteration error.
• Added a menu option under the Help menu to check for pfeMAME software updates.
• Added a blank (empty) selection as the first item in the game specific preferences slots options so that you can remove a slot configuration.
• Implemented a faster search method for last rom selected on startup – the previous version introduced in v2.3 was a quick hack but slow.
• Started replacing the discrete lines for 2-dimensional list searching to a def in functions. I don’t yet understand why, but calling a def with this search function is faster, especially if its in a nested loop (heaps faster it seems).
• Substantial speed improvement in refreshing games database if you have a lot of systems (can be up to twice as fast). My home development system wen to from 38 to 21 seconds total refresh time. A slower machine went from 23 to 13 seconds (It had a lot less roms & systems on it).
• Fixed a bug that was introduced some time ago that stopped missing games from being highlighted (If that option is selected).
• Added a new child window under the ‘Edit’ menu called Application Colors. This allows you to adjust some of the application object colors. This is an early work in progress as I have to balance the ability to customise the application against the applications ability to adjust to the operating systems theme. To make the background and text colors the same as the operating system theme, select ‘Default’.
• Capture the click on the URL at the end of the game information. The URL is loaded when left clicked in the systems default web browser.
• Changed the encoding when reading the history.dat file into memory. The problem is that this file doesn’t have just one encoding type and python requires you to be very specific. I have reverted to encoding to uft-8 and have told it to ignore any characters that don’t comply. This means anything that’s not utf-8 will just be omitted. This fixes some very odd characters from being displayed.
• More output formatting fixes in checkallgames. Display improved. Save option now strips out any HTML tag characters as well.
• Added a Stop button to the Check All Games window. As this process takes quite a long time, you can now stop it at any time and save what you have so far or just exit. Before, if you tried exiting before the process was complete, the application could lock up.
• Fixed some layout issues in the preferences window (extra blank line above the Video option due to incorrect number of cells defined for gridsizer).
• Fixed some minor text alignment issues in the rom information window
• Fixed issue in rungame where various message for the log file were never getting saved or sent to the messages window
• Removed a lot of unnecessary globals in tileview
• Cleaned up a bunch of tileview code
• Moved string concatenation formatting to f-strings
• Got rid of the splash screen – unnecessary and just downright annoying.
• Updated the rungame module to run in a separate thread. This means that a running MAME game no longer blocks the mainloop, i.e. you can continue using pfeMAME while the MAME game runs in the background. You can even open multiple MAME games. Each one will send back output to the messages window when completed (or if it’s trying to issue messages to the console).
• Fixed incorrect layout of tileview – mostly the scrolling games list in the RH panel. Sizes were being calculated before the layout was complete. Added wx.CallAfter to ensure the __init__ is completed before determining sizes.
• Fixed a long-standing bug that would cause the scrolling game list in TileView to get out of sync if you scrolled down to a line that was only partially populated by games. Have padded out the list to fix this and have padded out partial lines with blank images. You can’t actually scroll over the blank images though.
• Added a preference to enable / disable the ability to click in the favorites & ratings columns to set those values rather than using the right click menu. I think some people will like it, and others will hate it.
• Significant code refactoring in the rungame file. This has simplified the code and, in some places, will make it easier to extend the features in the future.
• Fixed some bogus code in the INI file parsing code in favorites.py
• Fixed a bug that would throw an error if you clicked on the games list during database refresh. Have disabled the control until a refresh is completed.
• Fixed a bug that caused incorrect linefeed characters to be inserted in messages received from Visual Pinball.
• Rewrote the code stripping and correctly formatting linefeeds from the subprocess.Popen – it wasn’t working 100% and was messy.
• Fixed an issue where a visual pinball table wouldn’t be shown if the file extension was not lower case.
• Updated the manual to use cx_Freeze for Linux deployments. This now works for both Windows and Linux.
Download: pfeMame v2.4.3 x64
Source: Here
0 Comments
Post a Comment