aboutsummaryrefslogtreecommitdiff
path: root/engines/game.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/game.h')
-rw-r--r--engines/game.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/engines/game.h b/engines/game.h
index 1cf2c4b39d..9082d93793 100644
--- a/engines/game.h
+++ b/engines/game.h
@@ -47,6 +47,15 @@ struct PlainGameDescriptor {
const PlainGameDescriptor *findPlainGameDescriptor(const char *gameid, const PlainGameDescriptor *list);
/**
+ * Ths is an enum to describe how done a game is. This also indicates what level of support is expected.
+ */
+enum GameSupportLevel {
+ kStableGame = 0, // the game is fully supported
+ kTestingGame, // the game is not supposed to end up in releases yet but is ready for public testing
+ kUnstableGame // the game is not even ready for public testing yet
+};
+
+/**
* 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,
@@ -61,7 +70,8 @@ public:
const Common::String &description,
Common::Language language = Common::UNK_LANG,
Common::Platform platform = Common::kPlatformUnknown,
- uint32 guioptions = 0);
+ uint32 guioptions = 0,
+ GameSupportLevel gsl = kStableGame);
/**
* Update the description string by appending (EXTRA/PLATFORM/LANG) to it.
@@ -73,6 +83,12 @@ public:
void setGUIOptions(uint32 options);
void appendGUIOptions(const Common::String &str);
+ /**
+ * What level of support is expected of this game
+ */
+ GameSupportLevel getSupportLevel();
+ void setSupportLevel(GameSupportLevel gsl);
+
Common::String &gameid() { return getVal("gameid"); }
Common::String &description() { return getVal("description"); }
const Common::String &gameid() const { return getVal("gameid"); }