mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-10 08:00:05 +00:00
(svn r23597) -Codechange: fix up squirrel export script a bit
This commit is contained in:
parent
fceed4758c
commit
e75153d8ac
@ -117,17 +117,18 @@ BEGIN {
|
||||
{ if (doxygen_skip == "true") next }
|
||||
|
||||
/^([ ]*)\* @api/ {
|
||||
if (api == "Template") {
|
||||
api_selected = "true"
|
||||
next
|
||||
}
|
||||
|
||||
# By default, classes are not selected
|
||||
if (cls_level == 0) api_selected = "false"
|
||||
|
||||
gsub("^([ ]*)", "", $0)
|
||||
gsub("* @api ", "", $0)
|
||||
|
||||
if (api == "Template") {
|
||||
api_selected = "true"
|
||||
if ($0 == "none" || $0 == "-all") api_selected = "false"
|
||||
next
|
||||
}
|
||||
|
||||
if ($0 == "none") {
|
||||
api_selected = "false"
|
||||
} else if ($0 == "-all") {
|
||||
@ -501,6 +502,7 @@ BEGIN {
|
||||
sub("^[ ]*", "", params[len])
|
||||
if (match(params[len], "\\*") || match(params[len], "&")) {
|
||||
if (match(params[len], "^char")) {
|
||||
# Many types can be converted to string, so use '.', not 's'. (handled by our glue code)
|
||||
types = types "."
|
||||
} else if (match(params[len], "^void")) {
|
||||
types = types "p"
|
||||
|
@ -12,10 +12,6 @@
|
||||
#include "../script_log.hpp"
|
||||
|
||||
namespace SQConvert {
|
||||
/* Allow enums to be used as Squirrel parameters */
|
||||
template <> inline ScriptLog::ScriptLogType GetParam(ForceType<ScriptLog::ScriptLogType>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQInteger tmp; sq_getinteger(vm, index, &tmp); return (ScriptLog::ScriptLogType)tmp; }
|
||||
template <> inline int Return<ScriptLog::ScriptLogType>(HSQUIRRELVM vm, ScriptLog::ScriptLogType res) { sq_pushinteger(vm, (int32)res); return 1; }
|
||||
|
||||
/* Allow ScriptLog to be used as Squirrel parameter */
|
||||
template <> inline ScriptLog *GetParam(ForceType<ScriptLog *>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (ScriptLog *)instance; }
|
||||
template <> inline ScriptLog &GetParam(ForceType<ScriptLog &>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(ScriptLog *)instance; }
|
||||
|
@ -109,7 +109,9 @@ namespace SQConvert {
|
||||
template <> inline void *GetParam(ForceType<void *> , HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer tmp; sq_getuserpointer(vm, index, &tmp); return tmp; }
|
||||
template <> inline const char *GetParam(ForceType<const char *>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr)
|
||||
{
|
||||
/* Convert what-ever there is as parameter to a string */
|
||||
sq_tostring(vm, index);
|
||||
|
||||
const SQChar *tmp;
|
||||
sq_getstring(vm, -1, &tmp);
|
||||
char *tmp_str = strdup(SQ2OTTD(tmp));
|
||||
|
Loading…
Reference in New Issue
Block a user