aboutsummaryrefslogtreecommitdiff
path: root/engines/game.h
diff options
context:
space:
mode:
authorTarek Soliman2011-04-25 15:26:38 -0500
committerTarek Soliman2011-06-16 13:37:13 -0500
commit4d0bba314d3b584f15d1d50e59d8f1b8c9a39161 (patch)
treeb6daa3b7cc5fff831af5aba08c389748b5871d3d /engines/game.h
parent71759eab534512e7a4df557f12ffadb0062a56ad (diff)
downloadscummvm-rg350-4d0bba314d3b584f15d1d50e59d8f1b8c9a39161.tar.gz
scummvm-rg350-4d0bba314d3b584f15d1d50e59d8f1b8c9a39161.tar.bz2
scummvm-rg350-4d0bba314d3b584f15d1d50e59d8f1b8c9a39161.zip
ENGINES: Warn user about games marked with ADGF_UNSTABLE flags
ADGF_UNSTABLE is always warned about. ADGF_TESTING is only warned about when running configure with --enable-relase. Both warnings are subject to the enable_wip_game_warning config option.
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 3216cfb628..9798954437 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 (LANG/PLATFORM/EXTRA) to it.
@@ -71,6 +81,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"); }