TODO - v0.2.b14, 12-MAR-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) -- we're considering to drop it, because there has not been any real translation yet
Planned changes, new features and improvements for QMC2 0.2
- Add an on-demand "games by category" listing for all MAME targets (will require catver.ini)
- Add an option to interprete item activations in search-, favorites- and played-lists as "start playing" commands instead of jumping to the game/machine list (this - current - behavior will still be the default, though)
- Extend the template syntax to include the version an option was added/removed and process such options only if the current MAME/MESS version lies within this range (both new attributes will be optional, though, meaning that if they are omitted QMC2 will process the respective option regardless of the current MAME/MESS version -- just as it works now)
- 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, ...)
- Consider to migrate all data currently stored in 'flat files' (caches) to a database -- SQLite would be used per default (built-in), but basically it should be possible to use any DBMS that's supported by Qt -- also, this should reduce the overall memory footprint and would allow us to easily store user data as well (comments, rankings, etc.)
- Improve the image checker to also support all additional image data (consider a complete rewrite of the image checker)
- 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 a preview image / movie generator