summaryrefslogtreecommitdiff
path: root/src/script
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2012-02-12 10:58:18 +0000
committerrubidium <rubidium@openttd.org>2012-02-12 10:58:18 +0000
commit6356178a259d0734c49ef5c62bfbffb86097053b (patch)
treeab99429845ab4be9a15d179887f74a52ce5a3a9a /src/script
parent58269b7ad2a70b94de104ede2c69e126b58be534 (diff)
downloadopenttd-6356178a259d0734c49ef5c62bfbffb86097053b.tar.xz
(svn r23936) -Feature [FS#5047]: readme/licence/changelog viewer for AI and game scripts (LordAro)
Diffstat (limited to 'src/script')
-rw-r--r--src/script/api/game/game_window.hpp.sq1
-rw-r--r--src/script/api/script_window.hpp1
-rw-r--r--src/script/script_config.cpp8
-rw-r--r--src/script/script_config.hpp10
4 files changed, 20 insertions, 0 deletions
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 <list>
#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