(svn r23613) -Add: allow IsDeveloperOnly in info.nut, to indicate if you can select this GS via the GUI (optional, defaults to false)
This commit is contained in:
@@ -67,7 +67,12 @@ template <> const char *GetClassName<GameInfo, ST_GS>() { return "GSInfo"; }
|
||||
} else {
|
||||
info->min_loadable_version = info->GetVersion();
|
||||
}
|
||||
|
||||
/* When there is an IsSelectable function, call it. */
|
||||
if (info->engine->MethodExists(*info->SQ_instance, "IsDeveloperOnly")) {
|
||||
if (!info->engine->CallBoolMethod(*info->SQ_instance, "IsDeveloperOnly", &info->is_developer_only, MAX_GET_OPS)) return SQ_ERROR;
|
||||
} else {
|
||||
info->is_developer_only = false;
|
||||
}
|
||||
/* Try to get the API version the AI is written for. */
|
||||
if (!info->CheckMethod("GetAPIVersion")) return SQ_ERROR;
|
||||
if (!info->engine->CallStringMethodStrdup(*info->SQ_instance, "GetAPIVersion", &info->api_version, MAX_GET_OPS)) return SQ_ERROR;
|
||||
@@ -85,6 +90,7 @@ template <> const char *GetClassName<GameInfo, ST_GS>() { return "GSInfo"; }
|
||||
|
||||
GameInfo::GameInfo() :
|
||||
min_loadable_version(0),
|
||||
is_developer_only(false),
|
||||
api_version(NULL)
|
||||
{
|
||||
}
|
||||
|
@@ -41,8 +41,11 @@ public:
|
||||
*/
|
||||
const char *GetAPIVersion() const { return this->api_version; }
|
||||
|
||||
/* virtual */ bool IsDeveloperOnly() const { return this->is_developer_only; }
|
||||
|
||||
private:
|
||||
int min_loadable_version; ///< The Game can load savegame data if the version is equal or greater than this.
|
||||
bool is_developer_only; ///< Is the script selectable by non-developers?
|
||||
const char *api_version; ///< API version used by this Game.
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user