From 6356178a259d0734c49ef5c62bfbffb86097053b Mon Sep 17 00:00:00 2001 From: rubidium Date: Sun, 12 Feb 2012 10:58:18 +0000 Subject: (svn r23936) -Feature [FS#5047]: readme/licence/changelog viewer for AI and game scripts (LordAro) --- src/script/api/game/game_window.hpp.sq | 1 + src/script/api/script_window.hpp | 1 + src/script/script_config.cpp | 8 ++++++++ src/script/script_config.hpp | 10 ++++++++++ 4 files changed, 20 insertions(+) (limited to 'src/script') diff --git a/src/script/api/game/game_window.hpp.sq b/src/script/api/game/game_window.hpp.sq index e1c118adf..395a60c6d 100644 --- a/src/script/api/game/game_window.hpp.sq +++ b/src/script/api/game/game_window.hpp.sq @@ -180,6 +180,7 @@ void SQGSWindow_Register(Squirrel *engine) SQGSWindow.DefSQConst(engine, ScriptWindow::WID_AIC_CHANGE, "WID_AIC_CHANGE"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_AIC_CONFIGURE, "WID_AIC_CONFIGURE"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_AIC_CLOSE, "WID_AIC_CLOSE"); + SQGSWindow.DefSQConst(engine, ScriptWindow::WID_AIC_TEXTFILE, "WID_AIC_TEXTFILE"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_AIC_CONTENT_DOWNLOAD, "WID_AIC_CONTENT_DOWNLOAD"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_AID_VIEW, "WID_AID_VIEW"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_AID_NAME_TEXT, "WID_AID_NAME_TEXT"); diff --git a/src/script/api/script_window.hpp b/src/script/api/script_window.hpp index 0cda667db..b31c738f0 100644 --- a/src/script/api/script_window.hpp +++ b/src/script/api/script_window.hpp @@ -843,6 +843,7 @@ public: WID_AIC_CHANGE = ::WID_AIC_CHANGE, ///< Select another AI button. WID_AIC_CONFIGURE = ::WID_AIC_CONFIGURE, ///< Change AI settings button. WID_AIC_CLOSE = ::WID_AIC_CLOSE, ///< Close window button. + WID_AIC_TEXTFILE = ::WID_AIC_TEXTFILE, ///< Open Script readme, changelog (+1) or license (+2). WID_AIC_CONTENT_DOWNLOAD = ::WID_AIC_CONTENT_DOWNLOAD, ///< Download content button. }; diff --git a/src/script/script_config.cpp b/src/script/script_config.cpp index 70ffbfd83..7f41304d4 100644 --- a/src/script/script_config.cpp +++ b/src/script/script_config.cpp @@ -13,6 +13,7 @@ #include "../settings_type.h" #include "../core/random_func.hpp" #include "script_info.hpp" +#include "../textfile_gui.h" void ScriptConfig::Change(const char *name, int version, bool force_exact_match, bool is_random) { @@ -198,3 +199,10 @@ void ScriptConfig::SettingsToString(char *string, size_t size) const size_t len = strlen(string); if (len > 0) string[len - 1] = '\0'; } + +const char *ScriptConfig::GetTextfile(TextfileType type, CompanyID slot) const +{ + if (slot == INVALID_COMPANY || this->GetInfo() == NULL) return NULL; + + return ::GetTextfile(type, (slot == OWNER_DEITY) ? GAME_DIR : AI_DIR, this->GetInfo()->GetMainScript()); +} diff --git a/src/script/script_config.hpp b/src/script/script_config.hpp index b6c7a8fa6..9ae6fba70 100644 --- a/src/script/script_config.hpp +++ b/src/script/script_config.hpp @@ -16,6 +16,8 @@ #include #include "../core/smallmap_type.hpp" #include "../core/string_compare_type.hpp" +#include "../company_type.h" +#include "../textfile_gui.h" /** Bitmask of flags for Script settings. */ enum ScriptConfigFlags { @@ -161,6 +163,14 @@ public: */ void SettingsToString(char *string, size_t size) const; + /** + * Search a textfile file next to this script. + * @param type The type of the textfile to search for. + * @param slot #CompanyID to check status of. + * @return The filename for the textfile, \c NULL otherwise. + */ + const char *GetTextfile(TextfileType type, CompanyID slot) const; + protected: const char *name; ///< Name of the Script int version; ///< Version of the Script -- cgit v1.2.3-70-g09d2