TODO - v0.2.b16, 30-JUL-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 -- this is more or less obsolete: since version 0.2.b16, you can specify the working directory that's used when the emulator is executed; this circumvents the issue cleanly!
- 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)
- 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.
- When Phonon features are enabled on Mac OS X, you'll likely get a crash report when QMC2 finishes -- this can safely be ignored (although it's annoying), because QMC2 has already finished cleanly at that point (if not, you'll be informed at the next start); it appears to be a Phonon bug, so we may not be able to fix it on our own -- we used Qt 4.6.2 (Cocoa) on Mac OS X 10.6.2 in our tests
Work in progress
- MESS targets only: support for MESS's new -listsoftware feature (new since version 0.138) as a new machine detail -- not really working yet, but basic GUI integration and software list caching are done -- thanks to etabeta78 for the suggestion
- 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
- 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
- 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