(svn r23597) -Codechange: fix up squirrel export script a bit

pull/155/head
truebrain 13 years ago
parent ae5e6af6e3
commit 3c7627fb7f

@ -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…
Cancel
Save