X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=tools%2Fminiswig%2Fcreate_wrapper.cpp;h=2233f8334308e12d2c0020d898fa979fd435ea63;hb=dd55cca1a8ee48e2c74ae9e62893bc2c124244b4;hp=83c6d2aab570b276fcc15d6c045cb1a2b8a62ede;hpb=2dac096150909264ff61a8f1c82f99aec76cb979;p=supertux.git diff --git a/tools/miniswig/create_wrapper.cpp b/tools/miniswig/create_wrapper.cpp index 83c6d2aab..2233f8334 100644 --- a/tools/miniswig/create_wrapper.cpp +++ b/tools/miniswig/create_wrapper.cpp @@ -139,12 +139,17 @@ WrapperCreator::create_function_wrapper(Class* _class, Function* function) // declare and retrieve arguments int i = 0; + int arg_offset = 2; for(std::vector::iterator p = function->parameters.begin(); p != function->parameters.end(); ++p) { - char argname[64]; - snprintf(argname, sizeof(argname), "arg%d", i); - prepare_argument(p->type, i + 2, argname); - + if(i == 0 && p->type.atomic_type == HSQUIRRELVMType::instance()) { + out << ind << "HSQUIRRELVM arg0 = v;\n"; + arg_offset++; + } else { + char argname[64]; + snprintf(argname, sizeof(argname), "arg%d", i); + prepare_argument(p->type, i + arg_offset, argname); + } ++i; }