TODO - v0.2.b13, 02-JAN-2010
Known bugs and restrictions
- Certain GUI styles may cause display problems for the emulator configuration widgets
- The ROM state filter cannot be applied to the hierarchical parent/clone view, because the display of clones depends on the display of their parents (this is a matter of principle)
- The joystick support introduced in v0.2.b3 also includes support for trackballs -- this is completely untested due to the lack of controllers with trackballs (it should basically work, but be prepared for bugs and unexpected behavior!)
- The icon sizes of all menu actions are not adjusted to the actual font size -- this is a Qt restriction, and I have not yet found a way to work around this restriction... however, it's just a minor/cosmetic issue
- On UNIX / X11 platforms, the QMC2 variant launcher will try to raise a probably already running other variant -- this feature is very dependent on the window manager which may decide to ignore XMapRaised()
- Variant launching does not work on Windows yet
- MAME/MESS output notifications are not supported on Windows yet
- The MiniWebBrowser -- used for the MAWS lookup and the documentation browser -- has a fairly restrictive set of features which is tailored to the uses of QMC2.
It's not even meant to be a full-featured browser. Nonetheless, as of Qt 4.5.2, the browser works quite well on UNIX and Windows (no idea about Mac OS X yet).
- Style sheets should only be activated if Qt 4.5.2+ is in use; Qt 4.5.1 works as well but has some QtWebKit related issues/crashes; Qt 4.5.0 shouldn't be used at all with style sheets
- Also, due to a Qt bug (as of 4.5.3) we have to change the current working directory (of the running application) to the style sheet's path to make sure that relative URLs (in the .qss file) are handled correctly. If you don't like that, use the -stylesheet command line parameter instead
- Depending on the complexity of a style / style sheet combination, it may slow down GUI operations (that's no bug, but you should note it)
- Qt 4.6 support is still experimental (and Qt 4.5 is recommended, so stay with it!); a known minor issue with Qt 4.6 is that the mini web browser will not correctly figure out the current favicon, another one is that looking up images in the pixmap cache is a bit slower (we'd need to reimplement the way cache keys are generated, but that's not easily feasible without breaking stable code, and it's not worthwhile doing so)
- Transfering input focus to embedded emulators sometimes fails. Click into the embedded window (or press tab) to transfer focus explicitly. Once transfered, the focus will be held by the emulator.
- Mixed joystick control may not work correctly when emulators are embedded.
- Once the first emulator was embedded, the game/machine-specific emulator configuration widget flickers when activated (and recreated). This is minor and just cosmetic, but it's annoying -- especially because we have no clue why this happens!
- Corrupted PNG images may cause crashes -- if the log file contains corresponding Qt warning or error messages after the crash, please correct your images!! For instance, we've experienced Qt paint engine crashes due to wrong iCCP chunks. After correcting the corrupted PNGs (using convert from ImageMagick) the crashes were history.
Work in progress
- Embedder options: additional functions for the snapshot tool (directly use snapshots as preview- or title-images), add a movie generator, ...
- Arcade mode: partially working, disabled by default (use "make WIP=1 ..." for a preview)
- Greek translation (thanks to Giorgos Kostopoulos)
Planned changes, new features and improvements for QMC2 0.2
- Fix case-insensitive obsoleteness checks (image- and sample-checks) on Windows -- bug tracker ID #5
- Fix web-cache compression on Windows (currently using no compression) -- bug tracker ID #4
- Add a standalone or built-in template translator
- Add support for even more game/machine images (hiscore, howto, ...)
- Allow changing the layout of the main widget's sub-sections (game/machine lists, game/machine details and logs/controls)
- Improve the image checker to also support all additional image data (consider a complete rewrite of the image checker)
- Improve ROMAlyzer: support for loading of CHDs and recalculating their checksums, add CHD management functions (using chdman as backend)
- Add a demo mode for MAME variants which runs random games for a selectable period of time -- requested by some cabinet users :)
- Add support for variant launching on Windows
- Add support for MAME/MESS output notifications on Windows
- Consider using QDial instead of QSlider for the audio player's volume control when Qt 4.6 is ready for prime time (see here for the great new look of Qt 4.6's QDial:
http://labs.trolltech.com/blogs/2009/03/31/a-new-face-for-qdial/)
- Improve the encryption for stored passwords (weak now, but a warning is presented)
- Add a joystick & keyboard configurator for MAME and MESS
- MESS device configurator: add a device configuration generator (generates configs from available files in a given directory the user selects) --
add favorites management for device configurations --
consider adding preview/flyer images for device configurations
- Add support for preview movies
- Provide freely configurable additional information sources (with individual markup and formatting settings), not only history.dat & mameinfo.dat
- Create an improved setup wizard with QWizard
- Add support for an emulator benchmark feature, probably including a server / DB application to store & compare benchmarks from different users and systems
- Add a preview image / movie generator
- Consider adding support for nplayers and catver files for MAME (+ support sorting by game type)