X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2Finclude%2Fspiderscript.h;h=e0497305523d6dffc2cbc590cb14e78c72f0fc54;hb=f12d3444d2efeae97f8a4fc7ecf65b23087a653a;hp=92e6c139a15d6be970400d283889fcc3dbefde7a;hpb=92f8ce7927ee2ea3feb4b80a45f54f6fe8056c52;p=tpg%2Facess2.git diff --git a/Usermode/include/spiderscript.h b/Usermode/include/spiderscript.h index 92e6c139..e0497305 100644 --- a/Usermode/include/spiderscript.h +++ b/Usermode/include/spiderscript.h @@ -65,6 +65,10 @@ enum eSpiderScript_DataTypes NUM_SS_DATATYPES }; +#define SS_MAKEARRAY(_type) ((_type) + 0x10000) +#define SS_DOWNARRAY(_type) ((_type) - 0x10000) +#define SS_GETARRAYDEPTH(_type) ((_type) >> 16) + enum eSpiderValueOps { SS_VALUEOP_NOP, @@ -236,6 +240,12 @@ struct sSpiderFunction * \brief Function handler */ tSpiderValue *(*Handler)(tSpiderScript *Script, int nParams, tSpiderValue **Parameters); + + /** + * \brief What type is returned + */ + int ReturnType; + /** * \brief Argument types * @@ -263,8 +273,9 @@ extern tSpiderScript *SpiderScript_ParseFile(tSpiderVariant *Variant, const char * \return Return value */ extern tSpiderValue *SpiderScript_ExecuteFunction(tSpiderScript *Script, - tSpiderNamespace *Namespace, const char *Function, - int NArguments, tSpiderValue **Arguments + const char *Function, const char *DefaultNamespaces[], + int NArguments, tSpiderValue **Arguments, + void **FunctionIdent ); /** * \brief Execute an object method @@ -277,7 +288,7 @@ extern tSpiderValue *SpiderScript_ExecuteMethod(tSpiderScript *Script, * \brief Creates an object instance */ extern tSpiderValue *SpiderScript_CreateObject(tSpiderScript *Script, - tSpiderNamespace *Namespace, const char *ClassName, + const char *ClassName, const char *DefaultNamespaces[], int NArguments, tSpiderValue **Arguments );