diff options
Diffstat (limited to 'src/script')
-rw-r--r-- | src/script/script_info.cpp | 6 | ||||
-rw-r--r-- | src/script/script_info.hpp | 9 |
2 files changed, 14 insertions, 1 deletions
diff --git a/src/script/script_info.cpp b/src/script/script_info.cpp index 12df08ce5..eaf757553 100644 --- a/src/script/script_info.cpp +++ b/src/script/script_info.cpp @@ -19,6 +19,7 @@ ScriptFileInfo::~ScriptFileInfo() free((void *)this->description); free((void *)this->date); free((void *)this->instance_name); + free((void *)this->url); free(this->main_script); free(this->SQ_instance); } @@ -68,5 +69,10 @@ bool ScriptFileInfo::CheckMethod(const char *name) const if (!info->engine->CallIntegerMethod(*info->SQ_instance, "GetVersion", &info->version)) return SQ_ERROR; if (!info->engine->CallStringMethodStrdup(*info->SQ_instance, "CreateInstance", &info->instance_name)) return SQ_ERROR; + /* The GetURL function is optional. */ + if (info->engine->MethodExists(*info->SQ_instance, "GetURL")) { + if (!info->engine->CallStringMethodStrdup(*info->SQ_instance, "GetURL", &info->url)) return SQ_ERROR; + } + return 0; } diff --git a/src/script/script_info.hpp b/src/script/script_info.hpp index d34fd4cef..945e86407 100644 --- a/src/script/script_info.hpp +++ b/src/script/script_info.hpp @@ -17,7 +17,8 @@ public: short_name(NULL), description(NULL), date(NULL), - instance_name(NULL) + instance_name(NULL), + url(NULL) {} ~ScriptFileInfo(); @@ -57,6 +58,11 @@ public: const char *GetInstanceName() const { return this->instance_name; } /** + * Get the website for this script. + */ + const char *GetURL() const { return this->url; } + + /** * Get the filename of the main.nut script. */ const char *GetMainScript() const { return this->main_script; } @@ -83,6 +89,7 @@ private: const char *date; const char *instance_name; int version; + const char *url; }; #endif /* SCRIPT_INFO */ |