TODO - v0.2.b17, 22-OCT-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)
- 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 -- it happens with Qt 4.5 and 4.6 (Qt 4.7 has a fix for this).
- Mixed joystick control will not work correctly when emulators are embedded.
- 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.3 (Cocoa) on Mac OS X 10.6.4 in our tests
Work in progress
- Adding support for an optional ROM/CHD database which can be used to store unique copies of all (good) ROMs and CHDs and to retrieve complete sets from it to a local path -- among other things, this can be used to keep different versions of individual ROM/CHD files (due to changing sets) or to just keep your local ROM path clean
- MESS targets only: completing the support for MESS software lists -- basically working, but some functionality is still missing
- Adding a standalone template translator tool (see tools/template_tool/*)
- 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)
Planned changes, new features and improvements for QMC2 0.2
- Add a sysinfo.dat generator for MESS (may also be used as an official replacement for the existing wiki-to-sysinfo.dat converter from Duke)
- Add support to allow for tagging of games/machines and to use these tags later for batch processing (could be useful for the ROMAlyzer, individual ROM checks, the demo mode and the ROM tool)
- 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)
- Add a movie generator and support for preview movies
- Add a joystick & keyboard configurator for MAME and MESS
- Add support for variant launching on Windows
- Add support for MAME/MESS output notifications on Windows
- Add support for even more game/machine images (hiscores, howtos, ...)
- Improve the image checker to also support all additional image data (consider a complete rewrite of the image checker)
- Create an improved setup wizard with QWizard
- 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
- Consider improving the encryption for stored passwords (weak now, but a warning is presented)