2017-09-30

pfeMame v2.0.0

EmuCR: pfeMamepfeMame v2.0.0 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.0.0 Changelog:
* Updated version control to something more standard MAJOR.MINOR.REVISION BLUILD
* Made the right click menu item ‘Play game without softlist hash support’ only enabled if the program selected actually has a short name.
* Added right click menu items to run Sega model 2/3 games using a different emulation engine. I’ve done this as I quite like some of those games (Daytona), but MAME currently doesn’t emulate them very well, if at all.
* Fixed bug in dynamic search – when setting current row to the first row (0), it needs to ensure there are actually results otherwise the ultimatelistctrl throws an error.
* Visual Pinball tables support has now been added in properly. When you refresh the database, if you have set a path to the visual pinball tables and the executable file, then the tables will be added to the games list under ‘Visual Pinball’ – just search for that. The number of runs, favorites, etc work as per normal. You will have to copy game snaps into the snapshots folder yourself though.
* Removed the old ‘temporary’ method for playing Visual Pinball tables
* The manual has been updated to include the new alternate emulation engines
* Removed some more unnecessary use of ‘global’
* Moved some repeated code into functions
* Updated the menubar code to be more consistent and make it easier to add icons or effects / colors at a later date
* Have moved some global variable declarations to the main module in the main application – now that I know how to use global variables properly. No change to function and personally I think it’s a bit harder to read, but hey, apparently, it’s the right way to do it. Have a lot more that will need to be corrected over time – no hurry.
* Improved output display of the rom information window – style now consistent with the rest of the application
* Added a copy to clipboard option for the rom information display window. Aligned the buttons to the right and made the text uppercase as per other windows
* When running a game using a non-MAME emulation engine (e.g. Sega Model 2/3), a note is made in a new DAT file called enginetouse.dat. After that when you select that same game it will look up what engine to use. For now, if you want to go back to using MAME you will have to delete this game entry from the enginetouse.dat file manually.
* Replaced the exists and favorites columns Yes / no text with ticks and crosses – this requires a database refresh to start working properly.
* Fixed a bug that picks up on a configparser error when reading the catver.ini file. If it finds an error you will now be told that it can’t parse the file and you should revert to a previous one. Had to do this with the catver.ini version 0.189 as it broke my parser. Change made in pfemame.py and gametypes.py.
* Added a ‘allow no value=true’ to the configparser reading the catver.ini file as 0.189 version contains some lines with no values and it broke my parser. Change made in pfemame.py and gametypes.py.
* Added ‘Computer’ as a system type. Prior to catver 0.189 it was called ‘Home Computer’
* YOU MUST OPEN GAME CATEGORIES AND SET UP YOUR GAME CATEGORIES AGAIN AND THEN REFRESH THE GAMES DATABASE WHEN UPDATING TO THIS VERSION OF PFEMAME DUE TO CATVER.INI CHANGES.
* Updated the project to work with Python 3 and wxpython phoenix. A lot of code changes to support the differences between 2.7 and 3.x. If you want to build the project yourself then you will need to move across to Python 3.x .
* Confirmed issue with Ultimatelistctrl.py library. As of wxpython phoenix a divide is treated as a float. This was causing exceptions in the right click context menu. Raised the issue on Github and a change will be made. If you are building from scratch you will need to find this line in the ultimatelistctrl.py library and add a second slash (divide) to instruct it to perform an integer divide (Note, as of 17 Sept I see that the download files are updated so you no longer have to do this manually);
current = y/self.GetLineHeight()
* Changed the Windows exe creation script and batch file to use cx_Freeze (Was previously using py2exe) as py2exe is currently not supporting python 3.6. This change means you have to install cx_Freeze (pip install cx_Freeze) if building from source.
* Added a check in rungame to make sure that if we are trying to use an alternate emulation engine, that the paths to that engines executable file are actually valid.
* Removed wx.richtext import from checkall as its not been used in a long time.
* Merged icons and images folders into the images folder (removed icons folder). Moved the pfeMAME.ico file from root to the images folder.
* Replaced the old wait display with a proper splash screen – its displayed for 5 seconds on application startup
* Fixed bug in preferences.py. The code to write to game specific INI files used a binary write which worked ok in python 2.7 but is not valid in 3.x as its text I am writing.
* Removed the minimise button from sub windows (preferences etc) and set them to always on top so that you can’t have a confusing situation where the window gets minimised so you think you’re working with the main window but nothing is happening as the sub window has control.
* A whole lot of code improvements / corrections. Not bug fixes but things like removing unnecessary duplications, id’s, variables, complexity, etc)
* Added a verify rom toolbar icon
* Added an adjuster to the horizontal size of the filepaths frame and panels to try and may it lay out better in both Windows and Linix – its better but still needs some work.
* Removed the blank.png image used in Tileview with wx.Image(x,y) as this does the same thing and is built in.

EmuCR: pfeMame
EmuCR: pfeMame

Download: pfeMame v2.0.0 x64
Source: Here

0 Comments

Post a Comment