Added some doxygen comments to (Plain)GameDescriptor, and added a findPlainGameDescriptor convenience function

svn-id: r27422
This commit is contained in:
Max Horn 2007-06-15 17:13:13 +00:00
parent a5c2c06a97
commit e627cddd19
2 changed files with 33 additions and 3 deletions

View File

@ -26,6 +26,16 @@
#include "base/game.h"
#include "base/plugins.h"
const PlainGameDescriptor *findPlainGameDescriptor(const char *gameid, const PlainGameDescriptor *list) {
const PlainGameDescriptor *g = list;
while (g->gameid) {
if (0 == scumm_stricmp(gameid, g->gameid))
break;
g++;
}
return g;
}
void GameDescriptor::updateDesc(const char *extra) {
// TODO: The format used here (LANG/PLATFORM/EXTRA) is not set in stone.
// We may want to change the order (PLATFORM/EXTRA/LANG, anybody?), or
@ -58,7 +68,7 @@ void GameDescriptor::updateDesc(const char *extra) {
namespace Base {
// TODO: Find a better place for this function.
// TODO: Find a better name & place for this function.
GameDescriptor findGame(const Common::String &gameName, const Plugin **plugin) {
// Find the GameDescriptor for this target
const PluginList &plugins = PluginManager::instance().getPlugins();

View File

@ -31,11 +31,31 @@
#include "common/array.h"
#include "common/hash-str.h"
/**
* A simple structure used to map gameids (like "monkey", "sword1", ...) to
* nice human readable and descriptive game titles (like "The Secret of Monkey Island").
* This is a plain struct to make it possible to declare NULL-terminated C arrays
* consisting of PlainGameDescriptors.
*/
struct PlainGameDescriptor {
const char *gameid;
const char *description; // TODO: Rename this to "title" or so
const char *description;
};
/**
* Given a list of PlainGameDescriptors, returns the first PlainGameDescriptor
* matching the given gameid. If not match is found return 0.
* The end of the list marked by a PlainGameDescriptor with gameid equal to 0.
*/
const PlainGameDescriptor *findPlainGameDescriptor(const char *gameid, const PlainGameDescriptor *list);
/**
* A hashmap describing details about a given game. In a sense this is a refined
* version of PlainGameDescriptor, as it also contains a gameid and a description string.
* But in addition, platform and language settings, as well as arbitrary other settings,
* can be contained in a GameDescriptor.
* This is an essential part of the glue between the game engines and the launcher code.
*/
class GameDescriptor : public Common::StringMap {
public:
GameDescriptor() {
@ -90,7 +110,7 @@ class Plugin;
namespace Base {
// TODO: Find a better place for this function.
// TODO: Find a better name & place for this function.
GameDescriptor findGame(const Common::String &gameName, const Plugin **plugin = NULL);
} // End of namespace Base