On 7 Dec 2004, at 12:00 PM, Mark Friedgan wrote:
What if it there was a game playing plugin and a "rom figuring out" plugin mechanism?
I think that would be the best way to go. The API might look something like:
bool UsesRoms(void)
Returns "true" if it's an emulator, "false" if it's a standalone game that doesn't need a file parameter.
bool RomFile(QString path)
Returns "true" or "false" for the given file. Plugins could use a suffix filter or more sophisticated info.
void Run(QString rom_path)
Launch the emulator with the specified ROM. If UsesRoms() is false, then rom_path will be NULL.
ConfigurationWizard *ConfigOptions(QSqlDatabase *db)
Create the settings for this game. It could be as simple as a single text-box for a command line, or a full GUI like the current mame settings. This gives maximum flexibility, though a generic plugin would probably have "path to application", "path to ROMs", "extra options".
QString RomDirectory(void)
The root directory to search for ROM files. This is recursively searched, with RomFile() called for each candidate. The user probably specifies this directory in the ConfigOptions.
Creating a new filter instance would be like creating a new video source, as Mark suggested: you pick the filter type (we'd have "Generic ROM-based" and "Generic standalone" to add new emulators/games), give it a name, and then set the options.
The main UI could have all of the filter instances on the left, and the ROMs (or a single "Launch game" item) on the right. Not sure how to add categorization into this mix though.
I don't use mythgame a whole lot, so I might be missing some obvious features, but how does this sound for a start?
- Jeremiah
_______________________________________________ mythtv-dev mailing list [EMAIL PROTECTED] http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev
