Browse Source

AS Autobindings: Replace function param converter and function return type converter by single function

1vanK 4 years ago
parent
commit
3b835a7cd3
39 changed files with 1037 additions and 924 deletions
  1. 47 28
      Source/Tools/BindingGenerator/ASClassBinder.cpp
  2. 2 2
      Source/Tools/BindingGenerator/ASEnumBinder.cpp
  3. 22 12
      Source/Tools/BindingGenerator/ASGlobalFunctionBinder.cpp
  4. 1 1
      Source/Tools/BindingGenerator/ASGlobalVariableBinder.cpp
  5. 366 301
      Source/Tools/BindingGenerator/ASUtils.cpp
  6. 34 32
      Source/Tools/BindingGenerator/ASUtils.h
  7. 2 2
      Source/Tools/BindingGenerator/Main.cpp
  8. 3 3
      Source/Urho3D/AngelScript/GeneratedGlobalFunctions.cpp
  9. 21 21
      Source/Urho3D/AngelScript/Generated_Members_A.cpp
  10. 9 9
      Source/Urho3D/AngelScript/Generated_Members_B.cpp
  11. 6 6
      Source/Urho3D/AngelScript/Generated_Members_Ca_Cm.cpp
  12. 54 54
      Source/Urho3D/AngelScript/Generated_Members_Cn_Cz.cpp
  13. 39 39
      Source/Urho3D/AngelScript/Generated_Members_Constraint.cpp
  14. 35 27
      Source/Urho3D/AngelScript/Generated_Members_D.cpp
  15. 9 9
      Source/Urho3D/AngelScript/Generated_Members_E.cpp
  16. 24 24
      Source/Urho3D/AngelScript/Generated_Members_F.cpp
  17. 9 9
      Source/Urho3D/AngelScript/Generated_Members_G.cpp
  18. 18 18
      Source/Urho3D/AngelScript/Generated_Members_I.cpp
  19. 3 3
      Source/Urho3D/AngelScript/Generated_Members_J.cpp
  20. 21 21
      Source/Urho3D/AngelScript/Generated_Members_L.cpp
  21. 20 20
      Source/Urho3D/AngelScript/Generated_Members_M.cpp
  22. 35 27
      Source/Urho3D/AngelScript/Generated_Members_N.cpp
  23. 18 18
      Source/Urho3D/AngelScript/Generated_Members_O.cpp
  24. 30 30
      Source/Urho3D/AngelScript/Generated_Members_P.cpp
  25. 27 27
      Source/Urho3D/AngelScript/Generated_Members_R.cpp
  26. 27 27
      Source/Urho3D/AngelScript/Generated_Members_Sa_Sm.cpp
  27. 39 39
      Source/Urho3D/AngelScript/Generated_Members_Sn_Sz.cpp
  28. 42 42
      Source/Urho3D/AngelScript/Generated_Members_Ta_Tm.cpp
  29. 3 3
      Source/Urho3D/AngelScript/Generated_Members_Tn_Tz.cpp
  30. 15 15
      Source/Urho3D/AngelScript/Generated_Members_U.cpp
  31. 27 27
      Source/Urho3D/AngelScript/Generated_Members_V.cpp
  32. 8 8
      Source/Urho3D/AngelScript/Generated_Members_W.cpp
  33. 3 3
      Source/Urho3D/AngelScript/Generated_Members_X.cpp
  34. 3 3
      Source/Urho3D/AngelScript/Generated_Members_Z.cpp
  35. 9 9
      Source/Urho3D/AngelScript/Generated_Templates.h
  36. 2 0
      Source/Urho3D/AngelScript/Manual.cpp
  37. 0 1
      Source/Urho3D/AngelScript/Manual_Input.cpp
  38. 2 2
      Source/Urho3D/Navigation/DynamicNavigationMesh.h
  39. 2 2
      Source/Urho3D/Navigation/NavArea.h

+ 47 - 28
Source/Tools/BindingGenerator/ASClassBinder.cpp

@@ -197,43 +197,52 @@ static void RegisterStaticFunction(const ClassStaticFunctionAnalyzer& functionAn
     result->reg_ << "    // " << functionAnalyzer.GetLocation() << "\n";
 
     vector<ParamAnalyzer> params = functionAnalyzer.GetParams();
-    vector<shared_ptr<FuncParamConv> > convertedParams;
+    vector<ConvertedVariable> convertedParams;
     string outGlue;
     bool needWrapper = false;
 
     for (const ParamAnalyzer& param : params)
     {
-        shared_ptr<FuncParamConv> conv = CppFunctionParamToAS(param);
-        if (!conv->success_)
+        ConvertedVariable conv;
+        try
+        {
+            conv = CppVariableToAS(param.GetType(), param.GetDeclname(), VariableUsage::FunctionParameter, param.GetDefval());
+        }
+        catch (const Exception& e)
         {
-            result->reg_ << "    // " << conv->errorMessage_ << "\n";
+            result->reg_ << "    // " << e.what() << "\n";
             return;
         }
 
-        if (conv->NeedWrapper())
+        if (conv.NeedWrapper())
             needWrapper = true;
 
         convertedParams.push_back(conv);
     }
 
-    shared_ptr<FuncReturnTypeConv> convertedReturn = CppFunctionReturnTypeToAS(functionAnalyzer.GetReturnType());
-    if (!convertedReturn->success_)
+    ConvertedVariable convertedReturn;
+    
+    try
+    {
+        convertedReturn = CppVariableToAS(functionAnalyzer.GetReturnType(), "", VariableUsage::FunctionReturn);
+    }
+    catch (const Exception& e)
     {
-        result->reg_ << "    // " << convertedReturn->errorMessage_ << "\n";
+        result->reg_ << "    // " << e.what() << "\n";
         return;
     }
 
-    if (convertedReturn->needWrapper_)
+    if (convertedReturn.NeedWrapper())
         needWrapper = true;
 
     string declParams;
 
-    for (shared_ptr<FuncParamConv> conv : convertedParams)
+    for (const ConvertedVariable& conv : convertedParams)
     {
         if (declParams.length() > 0)
             declParams += ", ";
 
-        declParams += conv->asDecl_;
+        declParams += conv.asDeclaration_;
     }
 
     string asFunctionName = functionAnalyzer.GetName();
@@ -242,7 +251,7 @@ static void RegisterStaticFunction(const ClassStaticFunctionAnalyzer& functionAn
     if (needWrapper)
         result->glue_ << GenerateWrapper(functionAnalyzer, convertedParams, convertedReturn);
 
-    string decl = convertedReturn->asReturnType_ + " " + asFunctionName + "(" + declParams + ")";
+    string decl = convertedReturn.asDeclaration_ + " " + asFunctionName + "(" + declParams + ")";
 
     result->reg_ << "    engine->SetDefaultNamespace(\"" << className << "\");\n";
 
@@ -308,7 +317,7 @@ static void RegisterRefCountedConstructor(const ClassFunctionAnalyzer& functionA
 
         try
         {
-            decl += CppTypeToAS(param.GetType(), false);
+            decl += CppTypeToAS(param.GetType(), TypeUsage::FunctionParameter);
         }
         catch (const Exception& e)
         {
@@ -398,7 +407,7 @@ static void RegisterValueConstructor(const ClassFunctionAnalyzer& functionAnalyz
 
         try
         {
-            decl += CppTypeToAS(param.GetType(), false);
+            decl += CppTypeToAS(param.GetType(), TypeUsage::FunctionParameter);
         }
         catch (const Exception& e)
         {
@@ -771,45 +780,55 @@ static void RegisterMethod(const ClassFunctionAnalyzer& functionAnalyzer, bool t
     result->reg_ << "    // " << functionAnalyzer.GetLocation() << "\n";
 
     vector<ParamAnalyzer> params = functionAnalyzer.GetParams();
-    vector<shared_ptr<FuncParamConv> > convertedParams;
+    vector<ConvertedVariable> convertedParams;
     bool needWrapper = false;
 
     for (const ParamAnalyzer& param : params)
     {
-        shared_ptr<FuncParamConv> conv = CppFunctionParamToAS(param);
-        if (!conv->success_)
+        ConvertedVariable conv;
+        
+        try
+        {
+            conv = CppVariableToAS(param.GetType(), param.GetDeclname(), VariableUsage::FunctionParameter, param.GetDefval());
+        }
+        catch (const Exception& e)
         {
-            result->reg_ << "    // " << conv->errorMessage_ << "\n";
+            result->reg_ << "    // " << e.what() << "\n";
             return;
         }
 
-        if (conv->NeedWrapper())
+        if (conv.NeedWrapper())
             needWrapper = true;
 
         convertedParams.push_back(conv);
     }
 
-    shared_ptr<FuncReturnTypeConv> retConv = CppFunctionReturnTypeToAS(functionAnalyzer.GetReturnType());
-    if (!retConv->success_)
+    ConvertedVariable retConv;
+    
+    try
     {
-        result->reg_ << "    // " << retConv->errorMessage_ << "\n";
+        retConv = CppVariableToAS(functionAnalyzer.GetReturnType(), "", VariableUsage::FunctionReturn);
+    }
+    catch (const Exception& e)
+    {
+        result->reg_ << "    // " << e.what() << "\n";
         return;
     }
 
-    if (retConv->needWrapper_)
+    if (retConv.NeedWrapper())
         needWrapper = true;
 
     string declParams = "";
 
-    for (shared_ptr<FuncParamConv> conv : convertedParams)
+    for (const ConvertedVariable& conv : convertedParams)
     {
         if (declParams.length() > 0)
             declParams += ", ";
 
-        declParams += conv->asDecl_;
+        declParams += conv.asDeclaration_; // TODO функцию для джойна сделат ьвнутри конвертора
     }
 
-    string asReturnType = retConv->asReturnType_;
+    string asReturnType = retConv.asDeclaration_;
 
     string asFunctionName = functionAnalyzer.GetName();
     if (functionAnalyzer.IsConsversionOperator())
@@ -910,7 +929,7 @@ static void RegisterClassVarAsProperty(ClassVariableAnalyzer& variable)
 
         try
         {
-            asType = CppTypeToAS(variable.GetType(), false);
+            asType = CppTypeToAS(variable.GetType(), TypeUsage::ClassStaticVariable);
         }
         catch (const Exception& e)
         {
@@ -956,7 +975,7 @@ static void RegisterClassVarAsProperty(ClassVariableAnalyzer& variable)
         
         try
         {
-            propType = CppTypeToAS(variable.GetType(), false);
+            propType = CppTypeToAS(variable.GetType(), TypeUsage::ClassVariable);
         }
         catch (const Exception& e)
         {

+ 2 - 2
Source/Tools/BindingGenerator/ASEnumBinder.cpp

@@ -76,7 +76,7 @@ static void ProcessEnum(const EnumAnalyzer& analyzer)
     }
     else // If enum is not int then register as typedef. But this type can not be used in switch
     {
-        string asEnumBaseType = CppFundamentalTypeToAS(cppEnumBaseType);
+        string asEnumBaseType = CppPrimitiveTypeToAS(cppEnumBaseType);
 
         processedEnum.registration_.push_back("engine->RegisterTypedef(\"" + enumTypeName + "\", \"" + asEnumBaseType + "\");");
 
@@ -107,7 +107,7 @@ static void ProcessFlagset(const GlobalFunctionAnalyzer& analyzer)
     shared_ptr<EnumAnalyzer> enumAnalyzer = FindEnum(enumTypeName);
     assert(enumAnalyzer);
     string cppEnumBaseType = enumAnalyzer->GetBaseType();
-    string asEnumBaseType = CppFundamentalTypeToAS(cppEnumBaseType);
+    string asEnumBaseType = CppPrimitiveTypeToAS(cppEnumBaseType);
 
     ProcessedEnum processedEnum;
     processedEnum.name_ = flagsetName;

+ 22 - 12
Source/Tools/BindingGenerator/ASGlobalFunctionBinder.cpp

@@ -110,7 +110,7 @@ static void BindGlobalFunction(const GlobalFunctionAnalyzer& functionAnalyzer)
 
     bool needWrapper = false;
 
-    vector<shared_ptr<FuncParamConv>> convertedParams;
+    vector<ConvertedVariable> convertedParams;
 
     ProcessedGlobalFunction processedGlobalFunction;
     processedGlobalFunction.name_ = functionAnalyzer.GetName();
@@ -119,10 +119,15 @@ static void BindGlobalFunction(const GlobalFunctionAnalyzer& functionAnalyzer)
 
     for (const ParamAnalyzer& param : params)
     {
-        shared_ptr<FuncParamConv> conv = CppFunctionParamToAS(param);
-        if (!conv->success_)
+        ConvertedVariable conv;
+        
+        try
         {
-            processedGlobalFunction.registration_ = "// " + conv->errorMessage_;
+            conv = CppVariableToAS(param.GetType(), param.GetDeclname(), VariableUsage::FunctionParameter, param.GetDefval());
+        }
+        catch (const Exception& e)
+        {
+            processedGlobalFunction.registration_ = "// " + string(e.what());
             Result::globalFunctions_.push_back(processedGlobalFunction);
             return;
         }
@@ -130,29 +135,34 @@ static void BindGlobalFunction(const GlobalFunctionAnalyzer& functionAnalyzer)
         if (declParams.length() > 0)
             declParams += ", ";
 
-        declParams += conv->asDecl_;
+        declParams += conv.asDeclaration_;
 
-        if (conv->NeedWrapper())
+        if (conv.NeedWrapper())
             needWrapper = true;
 
         convertedParams.push_back(conv);
     }
 
-    shared_ptr<FuncReturnTypeConv> retConv = CppFunctionReturnTypeToAS(functionAnalyzer.GetReturnType());
-    if (!retConv->success_)
+    ConvertedVariable retConv;
+
+    try
     {
-        processedGlobalFunction.registration_ = "// " + retConv->errorMessage_;
+        retConv = CppVariableToAS(functionAnalyzer.GetReturnType(), "", VariableUsage::FunctionReturn);
+    }
+    catch (const Exception& e)
+    {
+        processedGlobalFunction.registration_ = "// " + string(e.what());
         Result::globalFunctions_.push_back(processedGlobalFunction);
         return;
     }
-    
-    if (retConv->needWrapper_)
+
+    if (retConv.NeedWrapper())
         needWrapper = true;
 
     if (needWrapper)
         processedGlobalFunction.glue_ = GenerateWrapper(functionAnalyzer, convertedParams, retConv);
 
-    string asReturnType = retConv->asReturnType_;
+    string asReturnType = retConv.asDeclaration_;
 
     string asFunctionName = functionAnalyzer.GetName();
 

+ 1 - 1
Source/Tools/BindingGenerator/ASGlobalVariableBinder.cpp

@@ -57,7 +57,7 @@ static void ProcessGlobalVariable(GlobalVariableAnalyzer varAnalyzer)
 
     try
     {
-        asType = CppFundamentalTypeToAS(typeAnalyzer.GetName());
+        asType = CppPrimitiveTypeToAS(typeAnalyzer.GetName());
     }
     catch (...)
     {

+ 366 - 301
Source/Tools/BindingGenerator/ASUtils.cpp

@@ -34,9 +34,8 @@ namespace ASBindingGenerator
 
 // https://www.angelcode.com/angelscript/sdk/docs/manual/doc_datatypes_primitives.html
 // https://en.cppreference.com/w/cpp/language/types
-string CppFundamentalTypeToAS(const string& cppType)
+string CppPrimitiveTypeToAS(const string& cppType)
 {
-    // AngelScript itself detect width of bool type (look AS_SIZEOF_BOOL define)
     if (cppType == "bool")
         return "bool";
 
@@ -70,7 +69,8 @@ string CppFundamentalTypeToAS(const string& cppType)
     if (cppType == "double")
         return "double";
 
-    // Types below have different width on different systems and are registered in Manual.cpp
+    // Types below are registered in Manual.cpp
+    
     if (cppType == "long")
         return "long";
 
@@ -80,7 +80,10 @@ string CppFundamentalTypeToAS(const string& cppType)
     if (cppType == "size_t")
         return "size_t";
 
-    throw Exception(cppType + " not a fundamental type");
+    if (cppType == "SDL_JoystickID")
+        return "SDL_JoystickID";
+
+    throw Exception(cppType + " not a primitive type");
 }
 
 shared_ptr<EnumAnalyzer> FindEnum(const string& name)
@@ -179,407 +182,411 @@ shared_ptr<ClassAnalyzer> FindClassByID(const string& id)
     return shared_ptr<ClassAnalyzer>();
 }
 
-string CppTypeToAS(const TypeAnalyzer& type, bool returnType)
+// Variable name can be empty for function return type
+ConvertedVariable CppVariableToAS(const TypeAnalyzer& type, const string& name, VariableUsage usage, string defaultValue)
 {
+    ConvertedVariable result;
+
     if (type.IsRvalueReference() || type.IsDoublePointer() || type.IsRefToPointer())
         throw Exception("Error: type \"" + type.ToString() + "\" can not automatically bind");
 
     string cppTypeName = type.GetNameWithTemplateParams();
 
-    if (cppTypeName == "Context" && returnType)
-        throw Exception("Error: type \"" + type.ToString() + "\" can not be returned");
-
-    if (!IsKnownCppType(type.GetNameWithTemplateParams()))
-        throw Exception("Error: type \"" + type.ToString() + "\" can not automatically bind");
-
-    shared_ptr<ClassAnalyzer> analyzer = FindClassByName(type.GetNameWithTemplateParams());
-    if (analyzer && analyzer->IsInternal())
-        throw Exception("Error: type \"" + type.ToString() + "\" can not automatically bind bacause internal");
-
-    if (analyzer && Contains(analyzer->GetComment(), "NO_BIND"))
-        throw Exception("Error: type \"" + cppTypeName + "\" can not automatically bind bacause have @nobind mark");
-
-    // analyzer can be null for simple types (int, float) or if type "using VariantVector = Vector<Variant>"
-    // TODO add to type info "IsUsing"
-    // TODO add description to TypeAnalyzer::GetClass()
-
-    if (IsUsing(cppTypeName) && cppTypeName != "VariantMap")
-        throw Exception("Using \"" + cppTypeName + "\" can not automatically bind");
-
-    string asTypeName;
-    
-    try
+    if (cppTypeName == "void" && !type.IsPointer() && usage == VariableUsage::FunctionReturn)
     {
-        asTypeName = CppFundamentalTypeToAS(cppTypeName);
+        result.asDeclaration_ = "void";
+        return result;
     }
-    catch (...)
+
+    // Works with both Vector<String> and Vector<String>&
+    if ((cppTypeName == "Vector<String>" || cppTypeName == "StringVector") && !type.IsPointer() && usage == VariableUsage::FunctionReturn)
     {
-        asTypeName = cppTypeName;
+        result.asDeclaration_ = "Array<String>@";
+        result.newCppDeclaration_ = "CScriptArray*";
+        result.glue_ = "return VectorToArray<String>(result, \"Array<String>\");\n";
+        return result;
     }
 
-    if (asTypeName == "void" && type.IsPointer())
-        throw Exception("Error: type \"void*\" can not automatically bind");
-
-    if (asTypeName.find('<') != string::npos)
-        throw Exception("Error: type \"" + type.ToString() + "\" can not automatically bind");
+    smatch match;
+    regex_match(cppTypeName, match, regex("SharedPtr<(\\w+)>"));
+    if (match.size() == 2 && usage == VariableUsage::FunctionReturn)
+    {
+        string cppSubtypeName = match[1].str();
 
-    if (Contains(type.ToString(), "::"))
-        throw Exception("Error: type \"" + type.ToString() + "\" can not automatically bind bacause internal");
+        string asSubtypeName;
 
-    if (type.IsConst() && type.IsReference() && !returnType)
-        return "const " + asTypeName + "&in";
+        try
+        {
+            asSubtypeName = CppPrimitiveTypeToAS(cppSubtypeName);
+        }
+        catch (...)
+        {
+            asSubtypeName = cppSubtypeName;
+        }
 
-    string result = asTypeName;
+        if (cppSubtypeName == "WorkItem") // TODO autodetect
+            throw Exception("Error: type \"" + type.ToString() + "\" can not automatically bind");
 
-    if (type.IsReference())
-    {
-        result += "&";
+        result.asDeclaration_ = asSubtypeName + "@+";
+        result.newCppDeclaration_ = cppSubtypeName + "*";
+        result.glue_ = "return result.Detach();\n";
+        return result;
     }
-    else if (type.IsPointer())
+
+    regex_match(cppTypeName, match, regex("Vector<SharedPtr<(\\w+)>>"));
+    if (match.size() == 2 && usage == VariableUsage::FunctionReturn)
     {
-        shared_ptr<ClassAnalyzer> analyzer = FindClassByName(type.GetNameWithTemplateParams());
+        string cppSubtypeName = match[1].str();
 
-        if (analyzer && (analyzer->IsRefCounted() || Contains(analyzer->GetComment(), "FAKE_REF")))
-            result += "@+";
-        else
-            throw Exception("Error: type \"" + type.ToString() + "\" can not automatically bind");
-    }
+        string asSubtypeName;
 
-    if (returnType && type.IsConst() && !type.IsPointer())
-        result = "const " + result;
+        try
+        {
+            asSubtypeName = CppPrimitiveTypeToAS(cppSubtypeName);
+        }
+        catch (...)
+        {
+            asSubtypeName = cppSubtypeName;
+        }
 
-    return result;
-}
+        result.asDeclaration_ = "Array<" + asSubtypeName + "@>@";
+        result.newCppDeclaration_ = "CScriptArray*";
 
-string CppValueToAS(const string& cppValue)
-{
-    if (cppValue == "nullptr")
-        return "null";
+        // Which variant is correct/better?
+#if 0
+        result->glueResult_ = "return VectorToArray<SharedPtr<" + cppTypeName + "> >(result, \"Array<" + asTypeName + "@>@\");\n";
+#else
+        result.glue_ = "return VectorToHandleArray(result, \"Array<" + asSubtypeName + "@>\");\n";
+#endif
+        return result;
+    }
 
-    if (cppValue == "Variant::emptyVariantMap")
-        return "VariantMap()";
+    regex_match(cppTypeName, match, regex("PODVector<(\\w+)\\*>"));
+    if (match.size() == 2 && usage == VariableUsage::FunctionReturn)
+    {
+        string cppSubtypeName = match[1].str();
 
-    if (cppValue == "NPOS")
-        return "String::NPOS";
+        string asSubtypeName;
 
-    return cppValue;
-}
+        try
+        {
+            asSubtypeName = CppPrimitiveTypeToAS(cppSubtypeName);
+        }
+        catch (...)
+        {
+            asSubtypeName = cppSubtypeName;
+        }
 
-// =================================================================================
+        result.asDeclaration_ = "Array<" + asSubtypeName + "@>@";
+        result.newCppDeclaration_ = "CScriptArray*";
+        result.glue_ = "return VectorToHandleArray(result, \"Array<" + asSubtypeName + "@>\");\n";
+        return result;
+    }
 
-shared_ptr<FuncParamConv> CppFunctionParamToAS(const ParamAnalyzer& paramAnalyzer)
-{
-    shared_ptr<FuncParamConv> result = make_shared<FuncParamConv>();
+    regex_match(cppTypeName, match, regex("PODVector<(\\w+)>"));
+    if (match.size() == 2 && type.IsConst() == type.IsReference() && usage == VariableUsage::FunctionReturn)
+    {
+        string cppSubtypeName = match[1].str();
 
-    TypeAnalyzer typeAnalyzer = paramAnalyzer.GetType();
-    string cppTypeName = typeAnalyzer.GetNameWithTemplateParams();
+        string asSubtypeName;
 
-    if (cppTypeName == "Context")
-    {
-        result->errorMessage_ = "Context can be used as firs parameter of constructors only";
+        try
+        {
+            asSubtypeName = CppPrimitiveTypeToAS(cppSubtypeName);
+        }
+        catch (...)
+        {
+            asSubtypeName = cppSubtypeName;
+        }
+
+        result.asDeclaration_ = "Array<" + asSubtypeName + ">@";
+        result.newCppDeclaration_ = "CScriptArray*";
+        result.glue_ = "return VectorToArray(result, \"Array<" + asSubtypeName + ">\");\n";
         return result;
     }
 
-    if (cppTypeName == "Vector<String>" && typeAnalyzer.IsConst() && typeAnalyzer.IsReference())
+    // =============================================================================
+    
+    if (cppTypeName == "Context" && usage == VariableUsage::FunctionParameter)
+        throw Exception("Context can be used as firs parameter of constructors only");
+
+    if (cppTypeName == "Vector<String>" && type.IsConst() && type.IsReference() && usage == VariableUsage::FunctionParameter)
     {
-        result->success_ = true;
-        result->inputVarName_ = paramAnalyzer.GetDeclname();
-        result->convertedVarName_ = result->inputVarName_ + "_conv";
-        result->glue_ = "    Vector<String> " + result->convertedVarName_ + " = ArrayToVector<String>(" + result->inputVarName_ + ");\n";
-        result->cppType_ = "CScriptArray*";
+        string newCppVarName = name + "_conv";
         //result->asDecl_ = "String[]&";
-        result->asDecl_ = "Array<String>@+";
+        result.asDeclaration_ = "Array<String>@+";
+        result.newCppDeclaration_ = "CScriptArray* " + newCppVarName;
+        result.glue_ = "    " + cppTypeName + " " + name + " = ArrayToVector<String>(" + newCppVarName + ");\n";
 
-        string defval = paramAnalyzer.GetDefval();
-        if (!defval.empty())
+        if (!defaultValue.empty())
         {
-            assert(defval == "Vector< String >()");
+            assert(defaultValue == "Vector< String >()");
             //result->asDecl_ += " = Array<String>()";
-            result->asDecl_ += " = null";
+            result.asDeclaration_ += " = null";
         }
 
         return result;
     }
 
-    smatch match;
     regex_match(cppTypeName, match, regex("PODVector<(\\w+)>"));
-    if (match.size() == 2 && typeAnalyzer.IsConst() && typeAnalyzer.IsReference())
+    if (match.size() == 2 && type.IsConst() && type.IsReference() && usage == VariableUsage::FunctionParameter)
     {
-        string cppTypeName = match[1].str();
-        
-        string asTypeName;
-        
+        string cppSubtypeName = match[1].str();
+
+        string asSubtypeName;
+
         try
         {
-            asTypeName = CppFundamentalTypeToAS(cppTypeName);
+            asSubtypeName = CppPrimitiveTypeToAS(cppSubtypeName);
         }
         catch (...)
         {
-            asTypeName = cppTypeName;
+            asSubtypeName = cppSubtypeName;
         }
 
-        result->success_ = true;
-        result->inputVarName_ = paramAnalyzer.GetDeclname();
-        result->convertedVarName_ = result->inputVarName_ + "_conv";
-        result->glue_ = "    PODVector<" + cppTypeName + "> " + result->convertedVarName_ + " = ArrayToPODVector<" + cppTypeName + ">(" + result->inputVarName_ + ");\n";
-        result->cppType_ = "CScriptArray*";
-        result->asDecl_ = "Array<" + asTypeName + ">@+";
+        string newCppVarName = name + "_conv";
+        result.asDeclaration_ = "Array<" + asSubtypeName + ">@+";
+        result.newCppDeclaration_ = "CScriptArray* " + newCppVarName;
+        result.glue_ = "    " + cppTypeName + " " + name + " = ArrayToPODVector<" + cppSubtypeName + ">(" + newCppVarName + ");\n";
 
-        string defval = paramAnalyzer.GetDefval();
-        assert(defval.empty()); // TODO: make
+        assert(defaultValue.empty()); // TODO: make
 
         return result;
     }
 
     regex_match(cppTypeName, match, regex("PODVector<(\\w+)\\*>"));
     // TODO check \\w is refcounted
-    if (match.size() == 2 && typeAnalyzer.IsConst() && typeAnalyzer.IsReference())
+    if (match.size() == 2 && type.IsConst() && type.IsReference() && usage == VariableUsage::FunctionParameter)
     {
-        string cppTypeName = match[1].str();
-        
-        string asTypeName;
+        string cppSubtypeName = match[1].str();
+
+        string asSubtypeName;
 
         try
         {
-            asTypeName = CppFundamentalTypeToAS(cppTypeName);
+            asSubtypeName = CppPrimitiveTypeToAS(cppSubtypeName);
         }
         catch (...)
         {
-            asTypeName = cppTypeName;
+            asSubtypeName = cppSubtypeName;
         }
 
-        result->success_ = true;
-        result->inputVarName_ = paramAnalyzer.GetDeclname();
-        result->convertedVarName_ = result->inputVarName_ + "_conv";
-        result->glue_ = "    PODVector<" + cppTypeName + "*> " + result->convertedVarName_ + " = ArrayToPODVector<" + cppTypeName + "*>(" + result->inputVarName_ + ");\n";
-        result->cppType_ = "CScriptArray*";
-        result->asDecl_ = "Array<" + asTypeName + "@>@";
+        string newCppVarName = name + "_conv";
+        result.asDeclaration_ = "Array<" + asSubtypeName + "@>@";
+        result.newCppDeclaration_ = "CScriptArray* " + newCppVarName;
+        result.glue_ = "    " + cppTypeName + " " + name + " = ArrayToPODVector<" + cppSubtypeName + "*>(" + newCppVarName + ");\n";
 
-        string defval = paramAnalyzer.GetDefval();
-        assert(defval.empty()); // TODO: make
+        assert(defaultValue.empty()); // TODO: make
 
         return result;
     }
 
     regex_match(cppTypeName, match, regex("Vector<SharedPtr<(\\w+)>>"));
-    if (match.size() == 2 && typeAnalyzer.IsConst() && typeAnalyzer.IsReference())
+    if (match.size() == 2 && type.IsConst() && type.IsReference() && usage == VariableUsage::FunctionParameter)
     {
-        string cppTypeName = match[1].str();
-        
-        string asTypeName;
+        string cppSubtypeName = match[1].str();
+
+        string asSubtypeName;
 
         try
         {
-            asTypeName = CppFundamentalTypeToAS(cppTypeName);
+            asSubtypeName = CppPrimitiveTypeToAS(cppSubtypeName);
         }
         catch (...)
         {
-            asTypeName = cppTypeName;
+            asSubtypeName = cppSubtypeName;
         }
 
-        if (cppTypeName == "WorkItem") // TODO autodetect
-        {
-            result->errorMessage_ = "TODO";
-            return result;
-        }
-
-        result->success_ = true;
-        result->inputVarName_ = paramAnalyzer.GetDeclname();
-        result->convertedVarName_ = result->inputVarName_ + "_conv";
-        result->glue_ = "    Vector<SharedPtr<" + cppTypeName + "> > " + result->convertedVarName_ + " = HandleArrayToVector<" + cppTypeName + ">(" + result->inputVarName_ + ");\n";
-        result->cppType_ = "CScriptArray*";
-        result->asDecl_ = "Array<" + asTypeName + "@>@+";
+        if (cppSubtypeName == "WorkItem") // TODO autodetect
+            throw Exception("Error: type \"" + type.ToString() + "\" can not automatically bind");
 
-        string defval = paramAnalyzer.GetDefval();
-        assert(defval.empty()); // TODO: make
+        string newCppVarName = name + "_conv";
+        result.asDeclaration_ = "Array<" + asSubtypeName + "@>@+";
+        result.newCppDeclaration_ = "CScriptArray* " + newCppVarName;
+        result.glue_ = "    " + cppTypeName + " " + name + " = HandleArrayToVector<" + cppSubtypeName + ">(" + newCppVarName + ");\n";
+        
+        assert(defaultValue.empty()); // TODO: make
 
         return result;
     }
 
+    // =============================================================================
+
+    if (cppTypeName == "Context" && usage == VariableUsage::FunctionReturn)
+        throw Exception("Error: type \"" + type.ToString() + "\" can not be returned");
+
+    if (!IsKnownCppType(cppTypeName))
+        throw Exception("Error: type \"" + type.ToString() + "\" can not automatically bind");
+
+    shared_ptr<ClassAnalyzer> analyzer = FindClassByName(cppTypeName);
+    if (analyzer && analyzer->IsInternal())
+        throw Exception("Error: type \"" + type.ToString() + "\" can not automatically bind bacause internal");
+
+    if (analyzer && Contains(analyzer->GetComment(), "NO_BIND"))
+        throw Exception("Error: type \"" + cppTypeName + "\" can not automatically bind bacause have @nobind mark");
+
+    // analyzer can be null for simple types (int, float) or if type "using VariantVector = Vector<Variant>"
+    // TODO add to type info "IsUsing"
+    // TODO add description to TypeAnalyzer::GetClass()
+
+    if (IsUsing(cppTypeName) && cppTypeName != "VariantMap")
+        throw Exception("Using \"" + cppTypeName + "\" can not automatically bind");
+
+    string asTypeName;
+
     try
     {
-        string asType = CppTypeToAS(typeAnalyzer, false);
-        result->asDecl_ = asType;
+        asTypeName = CppPrimitiveTypeToAS(cppTypeName);
     }
-    catch (const Exception& e)
+    catch (...)
     {
-        result->errorMessage_ = e.what();
-        return result;
+        asTypeName = cppTypeName;
     }
 
-    string defval = paramAnalyzer.GetDefval();
-    if (!defval.empty())
+    if (asTypeName == "void" && type.IsPointer())
+        throw Exception("Error: type \"void*\" can not automatically bind");
+
+    if (asTypeName.find('<') != string::npos)
+        throw Exception("Error: type \"" + type.ToString() + "\" can not automatically bind");
+
+    if (Contains(type.ToString(), "::"))
+        throw Exception("Error: type \"" + type.ToString() + "\" can not automatically bind bacause internal");
+
+    if (type.IsConst() && type.IsReference() && usage == VariableUsage::FunctionParameter)
     {
-        defval = CppValueToAS(defval);
-        defval = ReplaceAll(defval, "\"", "\\\"");
-        result->asDecl_ += " = " + defval;
-    }
+        result.asDeclaration_ = "const " + asTypeName + "&in";
 
-    result->success_ = true;
-    result->cppType_ = typeAnalyzer.ToString();
-    result->inputVarName_ = paramAnalyzer.GetDeclname();
-    result->convertedVarName_ = result->inputVarName_;
-    return result;
-}
+        if (!defaultValue.empty())
+        {
+            defaultValue = CppValueToAS(defaultValue);
+            defaultValue = ReplaceAll(defaultValue, "\"", "\\\"");
+            result.asDeclaration_ += " = " + defaultValue;
+        }
 
-shared_ptr<FuncReturnTypeConv> CppFunctionReturnTypeToAS(const TypeAnalyzer& typeAnalyzer)
-{
-    shared_ptr<FuncReturnTypeConv> result = make_shared<FuncReturnTypeConv>();
+        //if (!name.empty())
+        //    result.asDeclaration_ += result.asDeclaration_ + " " + name;
+        
+        return result;
+    }
 
-    string cppTypeName = typeAnalyzer.GetNameWithTemplateParams();
+    result.asDeclaration_ = asTypeName;
 
-    if (cppTypeName == "void" && !typeAnalyzer.IsPointer())
+    if (type.IsReference())
     {
-        result->success_ = true;
-        result->asReturnType_ = "void";
-        result->glueReturnType_ = "void";
-        result->glueReturn_ = "";
-        return result;
+        result.asDeclaration_ += "&";
     }
-    
-    if (cppTypeName == "Context")
+    else if (type.IsPointer())
     {
-        result->errorMessage_ = "Error: type \"" + typeAnalyzer.ToString() + "\" can not be returned";
-        return result;
+        shared_ptr<ClassAnalyzer> analyzer = FindClassByName(cppTypeName);
+
+        if (analyzer && (analyzer->IsRefCounted() || Contains(analyzer->GetComment(), "FAKE_REF")))
+            result.asDeclaration_ += "@+";
+        else
+            throw Exception("Error: type \"" + type.ToString() + "\" can not automatically bind");
     }
 
-    // Works with both Vector<String> and Vector<String>&
-    if ((cppTypeName == "Vector<String>" || cppTypeName == "StringVector") && !typeAnalyzer.IsPointer())
+    if (usage == VariableUsage::FunctionReturn && type.IsConst() && !type.IsPointer())
+        result.asDeclaration_ = "const " + result.asDeclaration_;
+
+    //if (!name.empty())
+    //    result.asDeclaration_ += result.asDeclaration_ + " " + name;
+
+    if (!defaultValue.empty())
     {
-        result->success_ = true;
-        result->needWrapper_ = true;
-        result->asReturnType_ = "Array<String>@";
-        result->glueReturnType_ = "CScriptArray*";
-        result->glueReturn_ = "return VectorToArray<String>(result, \"Array<String>\");\n";
-        return result;
+        defaultValue = CppValueToAS(defaultValue);
+        defaultValue = ReplaceAll(defaultValue, "\"", "\\\"");
+        result.asDeclaration_ += " = " + defaultValue;
     }
 
-    smatch match;
-    regex_match(cppTypeName, match, regex("SharedPtr<(\\w+)>"));
-    if (match.size() == 2)
-    {
-        string cppTypeName = match[1].str();
-        
-        string asTypeName;
+    return result;
+}
 
-        try
-        {
-            asTypeName = CppFundamentalTypeToAS(cppTypeName);
-        }
-        catch (...)
-        {
-            asTypeName = cppTypeName;
-        }
+string CppTypeToAS(const TypeAnalyzer& type, TypeUsage typeUsage)
+{
+    if (type.IsRvalueReference() || type.IsDoublePointer() || type.IsRefToPointer())
+        throw Exception("Error: type \"" + type.ToString() + "\" can not automatically bind");
 
-        if (cppTypeName == "WorkItem") // TODO autodetect
-        {
-            result->errorMessage_ = "TODO";
-            return result;
-        }
+    string cppTypeName = type.GetNameWithTemplateParams();
 
-        result->success_ = true;
-        result->needWrapper_ = true;
-        result->asReturnType_ = asTypeName + "@+";
-        result->glueReturnType_ = cppTypeName + "*";
-        result->glueReturn_ = "return result.Detach();\n";
-        return result;
-    }
+    if (cppTypeName == "Context" && typeUsage == TypeUsage::FunctionReturn)
+        throw Exception("Error: type \"" + type.ToString() + "\" can not be returned");
 
-    regex_match(cppTypeName, match, regex("Vector<SharedPtr<(\\w+)>>"));
-    if (match.size() == 2)
-    {
-        string cppTypeName = match[1].str();
-        
-        string asTypeName;
+    if (!IsKnownCppType(type.GetNameWithTemplateParams()))
+        throw Exception("Error: type \"" + type.ToString() + "\" can not automatically bind");
 
-        try
-        {
-            asTypeName = CppFundamentalTypeToAS(cppTypeName);
-        }
-        catch (...)
-        {
-            asTypeName = cppTypeName;
-        }
+    shared_ptr<ClassAnalyzer> analyzer = FindClassByName(type.GetNameWithTemplateParams());
+    if (analyzer && analyzer->IsInternal())
+        throw Exception("Error: type \"" + type.ToString() + "\" can not automatically bind bacause internal");
 
-        result->success_ = true;
-        result->needWrapper_ = true;
-        result->asReturnType_ = "Array<" + asTypeName + "@>@";
-        result->glueReturnType_ = "CScriptArray*";
+    if (analyzer && Contains(analyzer->GetComment(), "NO_BIND"))
+        throw Exception("Error: type \"" + cppTypeName + "\" can not automatically bind bacause have @nobind mark");
 
-        // Which variant is correct/better?
-#if 0
-        result->glueResult_ = "return VectorToArray<SharedPtr<" + cppTypeName + "> >(result, \"Array<" + cppTypeName + "@>@\");\n";
-#else
-        result->glueReturn_ = "return VectorToHandleArray(result, \"Array<" + cppTypeName + "@>\");\n";
-#endif
-        return result;
-    }
+    // analyzer can be null for simple types (int, float) or if type "using VariantVector = Vector<Variant>"
+    // TODO add to type info "IsUsing"
+    // TODO add description to TypeAnalyzer::GetClass()
 
-    regex_match(cppTypeName, match, regex("PODVector<(\\w+)\\*>"));
-    if (match.size() == 2)
+    if (IsUsing(cppTypeName) && cppTypeName != "VariantMap")
+        throw Exception("Using \"" + cppTypeName + "\" can not automatically bind");
+
+    string asTypeName;
+    
+    try
     {
-        string cppTypeName = match[1].str();
-        
-        string asTypeName;
+        asTypeName = CppPrimitiveTypeToAS(cppTypeName);
+    }
+    catch (...)
+    {
+        asTypeName = cppTypeName;
+    }
 
-        try
-        {
-            asTypeName = CppFundamentalTypeToAS(cppTypeName);
-        }
-        catch (...)
-        {
-            asTypeName = cppTypeName;
-        }
+    if (asTypeName == "void" && type.IsPointer())
+        throw Exception("Error: type \"void*\" can not automatically bind");
 
-        result->success_ = true;
-        result->needWrapper_ = true;
-        result->asReturnType_ = "Array<" + asTypeName + "@>@";
-        result->glueReturnType_ = "CScriptArray*";
-        result->glueReturn_ = "return VectorToHandleArray(result, \"Array<" + cppTypeName + "@>\");\n";
-        return result;
-    }
+    if (asTypeName.find('<') != string::npos)
+        throw Exception("Error: type \"" + type.ToString() + "\" can not automatically bind");
 
-    regex_match(cppTypeName, match, regex("PODVector<(\\w+)>"));
-    if (match.size() == 2 && (typeAnalyzer.IsConst() == typeAnalyzer.IsReference()))
-    {
-        string cppTypeName = match[1].str();
-        
-        string asTypeName;
+    if (Contains(type.ToString(), "::"))
+        throw Exception("Error: type \"" + type.ToString() + "\" can not automatically bind bacause internal");
 
-        try
-        {
-            asTypeName = CppFundamentalTypeToAS(cppTypeName);
-        }
-        catch (...)
-        {
-            asTypeName = cppTypeName;
-        }
+    if (type.IsConst() && type.IsReference() && typeUsage == TypeUsage::FunctionParameter)
+        return "const " + asTypeName + "&in";
 
-        result->success_ = true;
-        result->needWrapper_ = true;
-        result->asReturnType_ = "Array<" + asTypeName + ">@";
-        result->glueReturnType_ = "CScriptArray*";
-        result->glueReturn_ = "return VectorToArray(result, \"Array<" + asTypeName + ">\");\n";
-        return result;
-    }
+    string result = asTypeName;
 
-    try
+    if (type.IsReference())
     {
-        string asType = CppTypeToAS(typeAnalyzer, true);
-        result->asReturnType_ = asType;
+        result += "&";
     }
-    catch (const Exception& e)
+    else if (type.IsPointer())
     {
-        result->errorMessage_ = e.what();
-        return result;
+        shared_ptr<ClassAnalyzer> analyzer = FindClassByName(type.GetNameWithTemplateParams());
+
+        if (analyzer && (analyzer->IsRefCounted() || Contains(analyzer->GetComment(), "FAKE_REF")))
+            result += "@+";
+        else
+            throw Exception("Error: type \"" + type.ToString() + "\" can not automatically bind");
     }
 
-    result->success_ = true;
-    result->glueReturn_ = "return result;\n";
-    result->glueReturnType_ = typeAnalyzer.ToString();
+    if (typeUsage == TypeUsage::FunctionReturn && type.IsConst() && !type.IsPointer())
+        result = "const " + result;
+
     return result;
 }
 
+string CppValueToAS(const string& cppValue)
+{
+    if (cppValue == "nullptr")
+        return "null";
+
+    if (cppValue == "Variant::emptyVariantMap")
+        return "VariantMap()";
+
+    if (cppValue == "NPOS")
+        return "String::NPOS";
+
+    return cppValue;
+}
+
 // =================================================================================
 
 static string GenerateFunctionWrapperName(xml_node memberdef)
@@ -629,18 +636,34 @@ string GenerateWrapperName(const ClassFunctionAnalyzer& functionAnalyzer, bool t
 
 // =================================================================================
 
-string GenerateWrapper(const GlobalFunctionAnalyzer& functionAnalyzer, vector<shared_ptr<FuncParamConv> >& convertedParams, shared_ptr<FuncReturnTypeConv> convertedReturn)
+string GenerateWrapper(const GlobalFunctionAnalyzer& functionAnalyzer, const vector<ConvertedVariable>& convertedParams, const ConvertedVariable& convertedReturn)
 {
     string result;
+
+    string glueReturnType;
+
+    if (!convertedReturn.newCppDeclaration_.empty())
+        glueReturnType = convertedReturn.newCppDeclaration_;
+    else
+        glueReturnType = functionAnalyzer.GetReturnType().ToString();
+
+    vector<ParamAnalyzer> params = functionAnalyzer.GetParams();
     
-    result = "static " + convertedReturn->glueReturnType_ + " " + GenerateWrapperName(functionAnalyzer) + "(";
+    result = "static " + glueReturnType + " " + GenerateWrapperName(functionAnalyzer) + "(";
 
     for (size_t i = 0; i < convertedParams.size(); i++)
     {
         if (i != 0)
             result += ", ";
 
-        result += convertedParams[i]->cppType_ + " " + convertedParams[i]->inputVarName_;
+        string paramDecl;
+
+        if (!convertedParams[i].newCppDeclaration_.empty())
+            paramDecl = convertedParams[i].newCppDeclaration_;
+        else
+            paramDecl = params[i].GetType().ToString() + " " + params[i].GetDeclname();
+
+        result += paramDecl;
     }
 
     result +=
@@ -648,9 +671,9 @@ string GenerateWrapper(const GlobalFunctionAnalyzer& functionAnalyzer, vector<sh
         "{\n";
 
     for (size_t i = 0; i < convertedParams.size(); i++)
-        result += convertedParams[i]->glue_;
+        result += convertedParams[i].glue_;
 
-    if (convertedReturn->glueReturnType_ != "void")
+    if (glueReturnType != "void")
         result += "    " + functionAnalyzer.GetReturnType().ToString() + " result = ";
     else
         result += "    ";
@@ -662,22 +685,31 @@ string GenerateWrapper(const GlobalFunctionAnalyzer& functionAnalyzer, vector<sh
         if (i != 0)
             result += ", ";
 
-        result += convertedParams[i]->convertedVarName_;
+        result += params[i].GetDeclname();
     }
 
     result += ");\n";
 
-    if (convertedReturn->glueReturnType_ != "void")
-        result += "    " + convertedReturn->glueReturn_;
+    if (!convertedReturn.glue_.empty())
+        result += "    " + convertedReturn.glue_;
+    else if (glueReturnType != "void")
+        result += "    return result;\n";
 
     result += "}";
 
     return result;
 }
 
-string GenerateWrapper(const ClassStaticFunctionAnalyzer& functionAnalyzer, vector<shared_ptr<FuncParamConv> >& convertedParams, shared_ptr<FuncReturnTypeConv> convertedReturn)
+string GenerateWrapper(const ClassStaticFunctionAnalyzer& functionAnalyzer, const vector<ConvertedVariable>& convertedParams, const ConvertedVariable& convertedReturn)
 {
     string result;
+
+    string glueReturnType;
+
+    if (!convertedReturn.newCppDeclaration_.empty())
+        glueReturnType = convertedReturn.newCppDeclaration_;
+    else
+        glueReturnType = functionAnalyzer.GetReturnType().ToString();
     
     string insideDefine = InsideDefine(functionAnalyzer.GetHeaderFile());
 
@@ -686,14 +718,23 @@ string GenerateWrapper(const ClassStaticFunctionAnalyzer& functionAnalyzer, vect
 
     result +=
         "// " + functionAnalyzer.GetLocation() + "\n"
-        "static " + convertedReturn->glueReturnType_ + " " + GenerateWrapperName(functionAnalyzer) + "(";
+        "static " + glueReturnType + " " + GenerateWrapperName(functionAnalyzer) + "(";
+
+    vector<ParamAnalyzer> params = functionAnalyzer.GetParams();
 
     for (size_t i = 0; i < convertedParams.size(); i++)
     {
         if (i != 0)
             result += ", ";
 
-        result += convertedParams[i]->cppType_ + " " + convertedParams[i]->inputVarName_;
+        string paramDecl;
+
+        if (!convertedParams[i].newCppDeclaration_.empty())
+            paramDecl = convertedParams[i].newCppDeclaration_;
+        else
+            paramDecl = params[i].GetType().ToString() + " " + params[i].GetDeclname();
+
+        result += paramDecl;
     }
 
     result +=
@@ -701,9 +742,9 @@ string GenerateWrapper(const ClassStaticFunctionAnalyzer& functionAnalyzer, vect
         "{\n";
 
     for (size_t i = 0; i < convertedParams.size(); i++)
-        result += convertedParams[i]->glue_;
+        result += convertedParams[i].glue_;
 
-    if (convertedReturn->glueReturnType_ != "void")
+    if (glueReturnType != "void")
         result += "    " + functionAnalyzer.GetReturnType().ToString() + " result = ";
     else
         result += "    ";
@@ -715,13 +756,15 @@ string GenerateWrapper(const ClassStaticFunctionAnalyzer& functionAnalyzer, vect
         if (i != 0)
             result += ", ";
 
-        result += convertedParams[i]->convertedVarName_;
+        result += params[i].GetDeclname();
     }
 
     result += ");\n";
 
-    if (convertedReturn->glueReturnType_ != "void")
-        result += "    " + convertedReturn->glueReturn_;
+    if (!convertedReturn.glue_.empty())
+        result += "    " + convertedReturn.glue_;
+    else if (glueReturnType != "void")
+        result += "    return result;\n";
 
     result += "}\n";
 
@@ -733,7 +776,7 @@ string GenerateWrapper(const ClassStaticFunctionAnalyzer& functionAnalyzer, vect
     return result;
 }
 
-string GenerateWrapper(const ClassFunctionAnalyzer& functionAnalyzer, bool templateVersion, vector<shared_ptr<FuncParamConv> >& convertedParams, shared_ptr<FuncReturnTypeConv> convertedReturn)
+string GenerateWrapper(const ClassFunctionAnalyzer& functionAnalyzer, bool templateVersion, const vector<ConvertedVariable>& convertedParams, const ConvertedVariable& convertedReturn)
 {
     string result;
 
@@ -742,21 +785,41 @@ string GenerateWrapper(const ClassFunctionAnalyzer& functionAnalyzer, bool templ
     if (!insideDefine.empty())
         result += "#ifdef " + insideDefine + "\n";
 
+    string glueReturnType;
+
+    if (!convertedReturn.newCppDeclaration_.empty())
+        glueReturnType = convertedReturn.newCppDeclaration_;
+    else
+        glueReturnType = functionAnalyzer.GetReturnType().ToString();
+
     result +=
         "// " + functionAnalyzer.GetLocation() + "\n"
-        "static " + convertedReturn->glueReturnType_ + " " + GenerateWrapperName(functionAnalyzer, templateVersion) + "(" + functionAnalyzer.GetClassName() + "* ptr";
+        "static " + glueReturnType + " " + GenerateWrapperName(functionAnalyzer, templateVersion) + "(" + functionAnalyzer.GetClassName() + "* ptr";
+
+    vector<ParamAnalyzer> params = functionAnalyzer.GetParams();
 
     for (size_t i = 0; i < convertedParams.size(); i++)
-        result += ", " + convertedParams[i]->cppType_ + " " + convertedParams[i]->inputVarName_;
+    {
+        result += ", ";
+
+        string paramDecl;
+
+        if (!convertedParams[i].newCppDeclaration_.empty())
+            paramDecl = convertedParams[i].newCppDeclaration_;
+        else
+            paramDecl = params[i].GetType().ToString() + " " + params[i].GetDeclname();
+
+        result += paramDecl;
+    }
 
     result +=
         ")\n"
         "{\n";
 
     for (size_t i = 0; i < convertedParams.size(); i++)
-        result += convertedParams[i]->glue_;
+        result += convertedParams[i].glue_;
 
-    if (convertedReturn->glueReturnType_ != "void")
+    if (glueReturnType != "void")
         result += "    " + functionAnalyzer.GetReturnType().ToString() + " result = ";
     else
         result += "    ";
@@ -768,13 +831,15 @@ string GenerateWrapper(const ClassFunctionAnalyzer& functionAnalyzer, bool templ
         if (i != 0)
             result += ", ";
 
-        result += convertedParams[i]->convertedVarName_;
+        result += params[i].GetDeclname();
     }
 
     result += ");\n";
 
-    if (convertedReturn->glueReturnType_ != "void")
-        result += "    " + convertedReturn->glueReturn_;
+    if (!convertedReturn.glue_.empty())
+        result += "    " + convertedReturn.glue_;
+    else if (glueReturnType != "void")
+        result += "    return result;\n";
 
     result += "}\n";
 

+ 34 - 32
Source/Tools/BindingGenerator/ASUtils.h

@@ -33,9 +33,38 @@ using namespace std;
 namespace ASBindingGenerator
 {
 
+enum class TypeUsage
+{
+    FunctionParameter = 0,
+    FunctionReturn,
+    ClassStaticVariable,
+    ClassVariable,
+};
+
+struct ConvertedVariable
+{
+    string asDeclaration_;
+
+    string newCppDeclaration_;
+    string glue_;
+
+    bool NeedWrapper() const { return !glue_.empty() || !newCppDeclaration_.empty(); }
+};
+
+enum class VariableUsage
+{
+    FunctionParameter = 0,
+    FunctionReturn,
+    ClassStaticVariable,
+    ClassVariable,
+};
+
+ConvertedVariable CppVariableToAS(const TypeAnalyzer& type, const string& name, VariableUsage usage, string defaultValue = "");
+
+string CppTypeToAS(const TypeAnalyzer& type, TypeUsage typeUsage);
+
 shared_ptr<EnumAnalyzer> FindEnum(const string& name);
-string CppFundamentalTypeToAS(const string& cppType);
-string CppTypeToAS(const TypeAnalyzer& type, bool returnType);
+string CppPrimitiveTypeToAS(const string& cppType);
 string CppValueToAS(const string& cppValue);
 
 class Exception : public exception
@@ -47,45 +76,18 @@ public:
     }
 };
 
-struct FuncParamConv
-{
-    bool success_ = false;
-    string errorMessage_ = "TODO";
-    string asDecl_ = "TODO";
-    string cppType_ = "TODO";
-    string inputVarName_ = "TODO";
-    string convertedVarName_ = "TODO";
-    string glue_ = "";
-
-    bool NeedWrapper() const { return !glue_.empty(); }
-};
-
-shared_ptr<FuncParamConv> CppFunctionParamToAS(const ParamAnalyzer& paramAnalyzer);
-
-struct FuncReturnTypeConv
-{
-    bool success_ = false;
-    bool needWrapper_ = false;
-    string errorMessage_ = "TODO";
-    string asReturnType_ = "TODO";
-    string glueReturnType_ = "TODO";
-    string glueReturn_ = "TODO";
-};
-
 bool IsKnownCppType(const string& name);
 
 shared_ptr<ClassAnalyzer> FindClassByName(const string& name);
 shared_ptr<ClassAnalyzer> FindClassByID(const string& name);
 
-shared_ptr<FuncReturnTypeConv> CppFunctionReturnTypeToAS(const TypeAnalyzer& typeAnalyzer);
-
 string GenerateWrapperName(const GlobalFunctionAnalyzer& functionAnalyzer);
 string GenerateWrapperName(const ClassStaticFunctionAnalyzer& functionAnalyzer);
 string GenerateWrapperName(const ClassFunctionAnalyzer& functionAnalyzer, bool templateVersion);
 
-string GenerateWrapper(const GlobalFunctionAnalyzer& functionAnalyzer, vector<shared_ptr<FuncParamConv> >& convertedParams, shared_ptr<FuncReturnTypeConv> convertedReturn);
-string GenerateWrapper(const ClassStaticFunctionAnalyzer& functionAnalyzer, vector<shared_ptr<FuncParamConv> >& convertedParams, shared_ptr<FuncReturnTypeConv> convertedReturn);
-string GenerateWrapper(const ClassFunctionAnalyzer& functionAnalyzer, bool templateVersion, vector<shared_ptr<FuncParamConv> >& convertedParams, shared_ptr<FuncReturnTypeConv> convertedReturn);
+string GenerateWrapper(const GlobalFunctionAnalyzer& functionAnalyzer, const vector<ConvertedVariable>& convertedParams, const ConvertedVariable& convertedReturn);
+string GenerateWrapper(const ClassStaticFunctionAnalyzer& functionAnalyzer, const vector<ConvertedVariable>& convertedParams, const ConvertedVariable& convertedReturn);
+string GenerateWrapper(const ClassFunctionAnalyzer& functionAnalyzer, bool templateVersion, const vector<ConvertedVariable>& convertedParams, const ConvertedVariable& convertedReturn);
 
 string Generate_asFUNCTIONPR(const GlobalFunctionAnalyzer& functionAnalyzer);
 string Generate_asFUNCTIONPR(const ClassStaticFunctionAnalyzer& functionAnalyzer);

+ 2 - 2
Source/Tools/BindingGenerator/Main.cpp

@@ -75,8 +75,8 @@ namespace CSBindingGenerator
 int main(int argc, char* argv[])
 {
 #ifdef DEVELOP
-    string inputDir = R"(G:/MyGames/Urho3DFork2_TestOrg/Build/Source/Tools/BindingGenerator/generated/xml)";
-    string outputBasePath = R"(G:/MyGames/Urho3DFork2_TestOrg/Urho3D)";
+    string inputDir = R"(G:/MyGames/Urho3DCurrent/Build/Source/Tools/BindingGenerator/generated/xml)";
+    string outputBasePath = R"(G:/MyGames/Urho3DCurrent/Urho3D)";
 #else
     if (argc != 3)
         return -1;

+ 3 - 3
Source/Urho3D/AngelScript/GeneratedGlobalFunctions.cpp

@@ -23,10 +23,10 @@ static CScriptArray* ParseArguments_String_bool(const String& cmdLine, bool skip
 }
 
 // bool WriteDrawablesToOBJ(const PODVector<Drawable*>& drawables, File* outputFile, bool asZUp, bool asRightHanded, bool writeLightmapUV=false) | File: ../Graphics/Drawable.h
-static bool WriteDrawablesToOBJ_PODVectorDrawable_File_bool_bool_bool(CScriptArray* drawables, File* outputFile, bool asZUp, bool asRightHanded, bool writeLightmapUV)
+static bool WriteDrawablesToOBJ_PODVectorDrawable_File_bool_bool_bool(CScriptArray* drawables_conv, File* outputFile, bool asZUp, bool asRightHanded, bool writeLightmapUV)
 {
-    PODVector<Drawable*> drawables_conv = ArrayToPODVector<Drawable*>(drawables);
-    bool result = WriteDrawablesToOBJ(drawables_conv, outputFile, asZUp, asRightHanded, writeLightmapUV);
+    PODVector<Drawable*> drawables = ArrayToPODVector<Drawable*>(drawables_conv);
+    bool result = WriteDrawablesToOBJ(drawables, outputFile, asZUp, asRightHanded, writeLightmapUV);
     return result;
 }
 

+ 21 - 21
Source/Urho3D/AngelScript/Generated_Members_A.cpp

@@ -20,10 +20,10 @@ static CScriptArray* AbstractFile_ReadStringVector_void(AbstractFile* ptr)
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Animatable_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Animatable* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Animatable_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Animatable* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // explicit AnimatedModel::AnimatedModel(Context* context) | File: ../Graphics/AnimatedModel.h
@@ -61,10 +61,10 @@ static CScriptArray* AnimatedModel_GetVertexLights_void(AnimatedModel* ptr)
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void AnimatedModel_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(AnimatedModel* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void AnimatedModel_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(AnimatedModel* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 #ifdef URHO3D_URHO2D
@@ -95,10 +95,10 @@ static CScriptArray* AnimatedSprite2D_GetVertexLights_void(AnimatedSprite2D* ptr
 
 #ifdef URHO3D_URHO2D
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void AnimatedSprite2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(AnimatedSprite2D* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void AnimatedSprite2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(AnimatedSprite2D* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -116,10 +116,10 @@ static Animation* Animation_Clone_String(Animation* ptr, const String& cloneName
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Animation_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Animation* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Animation_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Animation* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // explicit AnimationController::AnimationController(Context* context) | File: ../Graphics/AnimationController.h
@@ -129,10 +129,10 @@ static AnimationController* AnimationController_AnimationController_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void AnimationController_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(AnimationController* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void AnimationController_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(AnimationController* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 #ifdef URHO3D_URHO2D
@@ -145,10 +145,10 @@ static AnimationSet2D* AnimationSet2D_AnimationSet2D_Context()
 
 #ifdef URHO3D_URHO2D
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void AnimationSet2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(AnimationSet2D* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void AnimationSet2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(AnimationSet2D* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -202,10 +202,10 @@ static CScriptArray* Audio_GetSoundSources_void(Audio* ptr)
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Audio_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Audio* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Audio_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Audio* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // AnimationControl::AnimationControl() | File: ../Graphics/AnimationController.h

+ 9 - 9
Source/Urho3D/AngelScript/Generated_Members_B.cpp

@@ -33,10 +33,10 @@ static CScriptArray* BillboardSet_GetVertexLights_void(BillboardSet* ptr)
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void BillboardSet_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(BillboardSet* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void BillboardSet_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(BillboardSet* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // explicit BorderImage::BorderImage(Context* context) | File: ../UI/BorderImage.h
@@ -74,10 +74,10 @@ static CScriptArray* BorderImage_GetTags_void(BorderImage* ptr)
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void BorderImage_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(BorderImage* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void BorderImage_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(BorderImage* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // BoundingBox::BoundingBox(const BoundingBox& box) noexcept | File: ../Math/BoundingBox.h
@@ -163,10 +163,10 @@ static CScriptArray* Button_GetTags_void(Button* ptr)
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Button_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Button* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Button_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Button* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // explicit Batch::Batch(const SourceBatch& rhs) | File: ../Graphics/Batch.h

+ 6 - 6
Source/Urho3D/AngelScript/Generated_Members_Ca_Cm.cpp

@@ -19,10 +19,10 @@ static Camera* Camera_Camera_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Camera_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Camera* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Camera_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Camera* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // explicit CheckBox::CheckBox(Context* context) | File: ../UI/CheckBox.h
@@ -60,10 +60,10 @@ static CScriptArray* CheckBox_GetTags_void(CheckBox* ptr)
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void CheckBox_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(CheckBox* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void CheckBox_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(CheckBox* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // CascadeParameters::CascadeParameters(float split1, float split2, float split3, float split4, float fadeStart, float biasAutoAdjust=1.0f) | File: ../Graphics/Light.h

+ 54 - 54
Source/Urho3D/AngelScript/Generated_Members_Cn_Cz.cpp

@@ -22,10 +22,10 @@ static CollisionBox2D* CollisionBox2D_CollisionBox2D_Context()
 
 #ifdef URHO3D_URHO2D
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void CollisionBox2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(CollisionBox2D* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void CollisionBox2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(CollisionBox2D* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -48,19 +48,19 @@ static CScriptArray* CollisionChain2D_GetVertices_void(CollisionChain2D* ptr)
 
 #ifdef URHO3D_URHO2D
 // void CollisionChain2D::SetVertices(const PODVector<Vector2>& vertices) | File: ../Urho2D/CollisionChain2D.h
-static void CollisionChain2D_SetVertices_PODVectorVector2(CollisionChain2D* ptr, CScriptArray* vertices)
+static void CollisionChain2D_SetVertices_PODVectorVector2(CollisionChain2D* ptr, CScriptArray* vertices_conv)
 {
-    PODVector<Vector2> vertices_conv = ArrayToPODVector<Vector2>(vertices);
-    ptr->SetVertices(vertices_conv);
+    PODVector<Vector2> vertices = ArrayToPODVector<Vector2>(vertices_conv);
+    ptr->SetVertices(vertices);
 }
 #endif
 
 #ifdef URHO3D_URHO2D
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void CollisionChain2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(CollisionChain2D* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void CollisionChain2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(CollisionChain2D* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -74,10 +74,10 @@ static CollisionCircle2D* CollisionCircle2D_CollisionCircle2D_Context()
 
 #ifdef URHO3D_URHO2D
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void CollisionCircle2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(CollisionCircle2D* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void CollisionCircle2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(CollisionCircle2D* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -91,10 +91,10 @@ static CollisionEdge2D* CollisionEdge2D_CollisionEdge2D_Context()
 
 #ifdef URHO3D_URHO2D
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void CollisionEdge2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(CollisionEdge2D* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void CollisionEdge2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(CollisionEdge2D* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -117,19 +117,19 @@ static CScriptArray* CollisionPolygon2D_GetVertices_void(CollisionPolygon2D* ptr
 
 #ifdef URHO3D_URHO2D
 // void CollisionPolygon2D::SetVertices(const PODVector<Vector2>& vertices) | File: ../Urho2D/CollisionPolygon2D.h
-static void CollisionPolygon2D_SetVertices_PODVectorVector2(CollisionPolygon2D* ptr, CScriptArray* vertices)
+static void CollisionPolygon2D_SetVertices_PODVectorVector2(CollisionPolygon2D* ptr, CScriptArray* vertices_conv)
 {
-    PODVector<Vector2> vertices_conv = ArrayToPODVector<Vector2>(vertices);
-    ptr->SetVertices(vertices_conv);
+    PODVector<Vector2> vertices = ArrayToPODVector<Vector2>(vertices_conv);
+    ptr->SetVertices(vertices);
 }
 #endif
 
 #ifdef URHO3D_URHO2D
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void CollisionPolygon2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(CollisionPolygon2D* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void CollisionPolygon2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(CollisionPolygon2D* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -143,19 +143,19 @@ static CollisionShape* CollisionShape_CollisionShape_Context()
 
 #ifdef URHO3D_PHYSICS
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void CollisionShape_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(CollisionShape* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void CollisionShape_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(CollisionShape* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
 #ifdef URHO3D_URHO2D
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void CollisionShape2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(CollisionShape2D* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void CollisionShape2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(CollisionShape2D* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -202,18 +202,18 @@ static Component* Component_Component_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Component_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Component* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Component_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Component* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 #ifdef URHO3D_NETWORK
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Connection_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Connection* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Connection_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Connection* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -224,10 +224,10 @@ static Console* Console_Console_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Console_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Console* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Console_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Console* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // explicit ConstantBuffer::ConstantBuffer(Context* context) | File: ../Graphics/ConstantBuffer.h
@@ -237,10 +237,10 @@ static ConstantBuffer* ConstantBuffer_ConstantBuffer_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void ConstantBuffer_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ConstantBuffer* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void ConstantBuffer_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ConstantBuffer* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // Context::Context() | File: ../Core/Context.h
@@ -266,10 +266,10 @@ static CrowdAgent* CrowdAgent_CrowdAgent_Context()
 
 #ifdef URHO3D_NAVIGATION
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void CrowdAgent_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(CrowdAgent* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void CrowdAgent_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(CrowdAgent* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -292,10 +292,10 @@ static CScriptArray* CrowdManager_GetAgents_Node_bool(CrowdManager* ptr, Node* n
 
 #ifdef URHO3D_NAVIGATION
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void CrowdManager_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(CrowdManager* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void CrowdManager_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(CrowdManager* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -334,10 +334,10 @@ static CScriptArray* Cursor_GetTags_void(Cursor* ptr)
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Cursor_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Cursor* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Cursor_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Cursor* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // explicit CustomGeometry::CustomGeometry(Context* context) | File: ../Graphics/CustomGeometry.h
@@ -361,10 +361,10 @@ static CScriptArray* CustomGeometry_GetVertexLights_void(CustomGeometry* ptr)
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void CustomGeometry_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(CustomGeometry* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void CustomGeometry_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(CustomGeometry* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // ColorFrame::ColorFrame() | File: ../Graphics/ParticleEffect.h
@@ -387,10 +387,10 @@ static ColorFrame* ColorFrame_ColorFrame_Color_float(const Color &color, float t
 
 #ifdef URHO3D_PHYSICS
 // void ConvexData::BuildHull(const PODVector<Vector3>& vertices) | File: ../Physics/CollisionShape.h
-static void ConvexData_BuildHull_PODVectorVector3(ConvexData* ptr, CScriptArray* vertices)
+static void ConvexData_BuildHull_PODVectorVector3(ConvexData* ptr, CScriptArray* vertices_conv)
 {
-    PODVector<Vector3> vertices_conv = ArrayToPODVector<Vector3>(vertices);
-    ptr->BuildHull(vertices_conv);
+    PODVector<Vector3> vertices = ArrayToPODVector<Vector3>(vertices_conv);
+    ptr->BuildHull(vertices);
 }
 #endif
 

+ 39 - 39
Source/Urho3D/AngelScript/Generated_Members_Constraint.cpp

@@ -22,10 +22,10 @@ static Constraint* Constraint_Constraint_Context()
 
 #ifdef URHO3D_PHYSICS
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Constraint_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Constraint* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Constraint_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Constraint* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -39,10 +39,10 @@ static Constraint2D* Constraint2D_Constraint2D_Context()
 
 #ifdef URHO3D_URHO2D
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Constraint2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Constraint2D* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Constraint2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Constraint2D* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -56,10 +56,10 @@ static ConstraintDistance2D* ConstraintDistance2D_ConstraintDistance2D_Context()
 
 #ifdef URHO3D_URHO2D
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void ConstraintDistance2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ConstraintDistance2D* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void ConstraintDistance2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ConstraintDistance2D* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -73,10 +73,10 @@ static ConstraintFriction2D* ConstraintFriction2D_ConstraintFriction2D_Context()
 
 #ifdef URHO3D_URHO2D
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void ConstraintFriction2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ConstraintFriction2D* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void ConstraintFriction2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ConstraintFriction2D* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -90,10 +90,10 @@ static ConstraintGear2D* ConstraintGear2D_ConstraintGear2D_Context()
 
 #ifdef URHO3D_URHO2D
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void ConstraintGear2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ConstraintGear2D* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void ConstraintGear2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ConstraintGear2D* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -107,10 +107,10 @@ static ConstraintMotor2D* ConstraintMotor2D_ConstraintMotor2D_Context()
 
 #ifdef URHO3D_URHO2D
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void ConstraintMotor2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ConstraintMotor2D* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void ConstraintMotor2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ConstraintMotor2D* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -124,10 +124,10 @@ static ConstraintMouse2D* ConstraintMouse2D_ConstraintMouse2D_Context()
 
 #ifdef URHO3D_URHO2D
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void ConstraintMouse2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ConstraintMouse2D* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void ConstraintMouse2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ConstraintMouse2D* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -141,10 +141,10 @@ static ConstraintPrismatic2D* ConstraintPrismatic2D_ConstraintPrismatic2D_Contex
 
 #ifdef URHO3D_URHO2D
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void ConstraintPrismatic2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ConstraintPrismatic2D* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void ConstraintPrismatic2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ConstraintPrismatic2D* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -158,10 +158,10 @@ static ConstraintPulley2D* ConstraintPulley2D_ConstraintPulley2D_Context()
 
 #ifdef URHO3D_URHO2D
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void ConstraintPulley2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ConstraintPulley2D* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void ConstraintPulley2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ConstraintPulley2D* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -175,10 +175,10 @@ static ConstraintRevolute2D* ConstraintRevolute2D_ConstraintRevolute2D_Context()
 
 #ifdef URHO3D_URHO2D
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void ConstraintRevolute2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ConstraintRevolute2D* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void ConstraintRevolute2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ConstraintRevolute2D* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -192,10 +192,10 @@ static ConstraintRope2D* ConstraintRope2D_ConstraintRope2D_Context()
 
 #ifdef URHO3D_URHO2D
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void ConstraintRope2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ConstraintRope2D* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void ConstraintRope2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ConstraintRope2D* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -209,10 +209,10 @@ static ConstraintWeld2D* ConstraintWeld2D_ConstraintWeld2D_Context()
 
 #ifdef URHO3D_URHO2D
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void ConstraintWeld2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ConstraintWeld2D* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void ConstraintWeld2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ConstraintWeld2D* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -226,10 +226,10 @@ static ConstraintWheel2D* ConstraintWheel2D_ConstraintWheel2D_Context()
 
 #ifdef URHO3D_URHO2D
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void ConstraintWheel2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ConstraintWheel2D* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void ConstraintWheel2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ConstraintWheel2D* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 

+ 35 - 27
Source/Urho3D/AngelScript/Generated_Members_D.cpp

@@ -22,10 +22,10 @@ static Database* Database_Database_Context()
 
 #ifdef URHO3D_DATABASE
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Database_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Database* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Database_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Database* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -36,10 +36,10 @@ static DebugHud* DebugHud_DebugHud_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void DebugHud_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(DebugHud* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void DebugHud_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(DebugHud* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // explicit DebugRenderer::DebugRenderer(Context* context) | File: ../Graphics/DebugRenderer.h
@@ -49,10 +49,10 @@ static DebugRenderer* DebugRenderer_DebugRenderer_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void DebugRenderer_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(DebugRenderer* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void DebugRenderer_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(DebugRenderer* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // explicit DecalSet::DecalSet(Context* context) | File: ../Graphics/DecalSet.h
@@ -76,10 +76,10 @@ static CScriptArray* DecalSet_GetVertexLights_void(DecalSet* ptr)
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void DecalSet_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(DecalSet* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void DecalSet_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(DecalSet* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // StringVector Deserializer::ReadStringVector() | File: ../IO/Deserializer.h
@@ -104,10 +104,10 @@ static CScriptArray* Drawable_GetVertexLights_void(Drawable* ptr)
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Drawable_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Drawable* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Drawable_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Drawable* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 #ifdef URHO3D_URHO2D
@@ -130,10 +130,10 @@ static CScriptArray* Drawable2D_GetVertexLights_void(Drawable2D* ptr)
 
 #ifdef URHO3D_URHO2D
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Drawable2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Drawable2D* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Drawable2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Drawable2D* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -179,18 +179,26 @@ static CScriptArray* DropDownList_GetTags_void(DropDownList* ptr)
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void DropDownList_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(DropDownList* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void DropDownList_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(DropDownList* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
+#ifdef URHO3D_NAVIGATION
+// explicit DynamicNavigationMesh::DynamicNavigationMesh(Context* context) | File: ../Navigation/DynamicNavigationMesh.h
+static DynamicNavigationMesh* DynamicNavigationMesh_DynamicNavigationMesh_Context()
+{
+    return new DynamicNavigationMesh(GetScriptContext());
+}
+#endif
+
 #ifdef URHO3D_NAVIGATION
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void DynamicNavigationMesh_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(DynamicNavigationMesh* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void DynamicNavigationMesh_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(DynamicNavigationMesh* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -3266,8 +3274,8 @@ void ASRegisterGenerated_Members_D(asIScriptEngine* engine)
     engine->RegisterObjectMethod("DynamicNavigationMesh", "void DrawDebugGeometry(DebugRenderer@+, bool)", asMETHODPR(DynamicNavigationMesh, DrawDebugGeometry, (DebugRenderer*, bool), void), asCALL_THISCALL);
     // void DynamicNavigationMesh::DrawDebugGeometry(bool depthTest) | File: ../Navigation/DynamicNavigationMesh.h
     engine->RegisterObjectMethod("DynamicNavigationMesh", "void DrawDebugGeometry(bool)", asMETHODPR(DynamicNavigationMesh, DrawDebugGeometry, (bool), void), asCALL_THISCALL);
-    // explicit DynamicNavigationMesh::DynamicNavigationMesh(Context*) | File: ../Navigation/DynamicNavigationMesh.h
-    // Error: context can be only first
+    // explicit DynamicNavigationMesh::DynamicNavigationMesh(Context* context) | File: ../Navigation/DynamicNavigationMesh.h
+    engine->RegisterObjectBehaviour("DynamicNavigationMesh", asBEHAVE_FACTORY, "DynamicNavigationMesh@+ f()", asFUNCTION(DynamicNavigationMesh_DynamicNavigationMesh_Context), asCALL_CDECL);
     // Vector3 NavigationMesh::FindNearestPoint(const Vector3& point, const Vector3& extents=Vector3::ONE, const dtQueryFilter* filter=nullptr, dtPolyRef* nearestRef=nullptr) | File: ../Navigation/NavigationMesh.h
     // Error: type "const dtQueryFilter*" can not automatically bind
     // void NavigationMesh::FindPath(PODVector<Vector3>& dest, const Vector3& start, const Vector3& end, const Vector3& extents=Vector3::ONE, const dtQueryFilter* filter=nullptr) | File: ../Navigation/NavigationMesh.h
@@ -3513,7 +3521,7 @@ void ASRegisterGenerated_Members_D(asIScriptEngine* engine)
     // int RefCounted::Refs() const | File: ../Container/RefCounted.h
     engine->RegisterObjectMethod("DynamicNavigationMesh", "int Refs() const", asMETHODPR(DynamicNavigationMesh, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("DynamicNavigationMesh", "int get_refs() const", asMETHODPR(DynamicNavigationMesh, Refs, () const, int), asCALL_THISCALL);
-    // static void DynamicNavigationMesh::RegisterObject(Context*) | File: ../Navigation/DynamicNavigationMesh.h
+    // static void DynamicNavigationMesh::RegisterObject(Context* context) | File: ../Navigation/DynamicNavigationMesh.h
     // Context can be used as firs parameter of constructors only
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("DynamicNavigationMesh", asBEHAVE_RELEASE, "void f()", asMETHODPR(DynamicNavigationMesh, ReleaseRef, (), void), asCALL_THISCALL);

+ 9 - 9
Source/Urho3D/AngelScript/Generated_Members_E.cpp

@@ -19,18 +19,18 @@ static Engine* Engine_Engine_Context()
 }
 
 // static VariantMap Engine::ParseParameters(const Vector<String>& arguments) | File: ../Engine/Engine.h
-static VariantMap Engine_ParseParameters_VectorString(CScriptArray* arguments)
+static VariantMap Engine_ParseParameters_VectorString(CScriptArray* arguments_conv)
 {
-    Vector<String> arguments_conv = ArrayToVector<String>(arguments);
-    VariantMap result = Engine::ParseParameters(arguments_conv);
+    Vector<String> arguments = ArrayToVector<String>(arguments_conv);
+    VariantMap result = Engine::ParseParameters(arguments);
     return result;
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Engine_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Engine* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Engine_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Engine* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // explicit EventProfiler::EventProfiler(Context* context) | File: ../Core/EventProfiler.h
@@ -40,10 +40,10 @@ static EventProfiler* EventProfiler_EventProfiler_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void EventProfiler_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(EventProfiler* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void EventProfiler_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(EventProfiler* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // EventReceiverGroup::EventReceiverGroup() | File: ../Core/Context.h

+ 24 - 24
Source/Urho3D/AngelScript/Generated_Members_F.cpp

@@ -38,10 +38,10 @@ static CScriptArray* File_ReadStringVector_void(File* ptr)
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void File_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(File* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void File_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(File* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // explicit FileSelector::FileSelector(Context* context) | File: ../UI/FileSelector.h
@@ -51,17 +51,17 @@ static FileSelector* FileSelector_FileSelector_Context()
 }
 
 // void FileSelector::SetFilters(const Vector<String>& filters, unsigned defaultIndex) | File: ../UI/FileSelector.h
-static void FileSelector_SetFilters_VectorString_unsigned(FileSelector* ptr, CScriptArray* filters, unsigned defaultIndex)
+static void FileSelector_SetFilters_VectorString_unsigned(FileSelector* ptr, CScriptArray* filters_conv, unsigned defaultIndex)
 {
-    Vector<String> filters_conv = ArrayToVector<String>(filters);
-    ptr->SetFilters(filters_conv, defaultIndex);
+    Vector<String> filters = ArrayToVector<String>(filters_conv);
+    ptr->SetFilters(filters, defaultIndex);
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void FileSelector_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(FileSelector* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void FileSelector_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(FileSelector* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // explicit FileSystem::FileSystem(Context* context) | File: ../IO/FileSystem.h
@@ -71,26 +71,26 @@ static FileSystem* FileSystem_FileSystem_Context()
 }
 
 // int FileSystem::SystemRun(const String& fileName, const Vector<String>& arguments) | File: ../IO/FileSystem.h
-static int FileSystem_SystemRun_String_VectorString(FileSystem* ptr, const String& fileName, CScriptArray* arguments)
+static int FileSystem_SystemRun_String_VectorString(FileSystem* ptr, const String& fileName, CScriptArray* arguments_conv)
 {
-    Vector<String> arguments_conv = ArrayToVector<String>(arguments);
-    int result = ptr->SystemRun(fileName, arguments_conv);
+    Vector<String> arguments = ArrayToVector<String>(arguments_conv);
+    int result = ptr->SystemRun(fileName, arguments);
     return result;
 }
 
 // unsigned FileSystem::SystemRunAsync(const String& fileName, const Vector<String>& arguments) | File: ../IO/FileSystem.h
-static unsigned FileSystem_SystemRunAsync_String_VectorString(FileSystem* ptr, const String& fileName, CScriptArray* arguments)
+static unsigned FileSystem_SystemRunAsync_String_VectorString(FileSystem* ptr, const String& fileName, CScriptArray* arguments_conv)
 {
-    Vector<String> arguments_conv = ArrayToVector<String>(arguments);
-    unsigned result = ptr->SystemRunAsync(fileName, arguments_conv);
+    Vector<String> arguments = ArrayToVector<String>(arguments_conv);
+    unsigned result = ptr->SystemRunAsync(fileName, arguments);
     return result;
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void FileSystem_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(FileSystem* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void FileSystem_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(FileSystem* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // explicit FileWatcher::FileWatcher(Context* context) | File: ../IO/FileWatcher.h
@@ -100,10 +100,10 @@ static FileWatcher* FileWatcher_FileWatcher_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void FileWatcher_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(FileWatcher* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void FileWatcher_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(FileWatcher* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // explicit Font::Font(Context* context) | File: ../UI/Font.h
@@ -113,10 +113,10 @@ static Font* Font_Font_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Font_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Font* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Font_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Font* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // const Vector<SharedPtr<Texture2D>>& FontFace::GetTextures() const | File: ../UI/FontFace.h

+ 9 - 9
Source/Urho3D/AngelScript/Generated_Members_G.cpp

@@ -32,10 +32,10 @@ static CScriptArray* Geometry_GetVertexBuffers_void(Geometry* ptr)
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Geometry_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Geometry* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Geometry_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Geometry* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // PODVector<int> Graphics::GetMultiSampleLevels() const | File: ../Graphics/Graphics.h
@@ -59,18 +59,18 @@ static Graphics* Graphics_Graphics_Context()
 }
 
 // bool Graphics::SetVertexBuffers(const Vector<SharedPtr<VertexBuffer>>& buffers, unsigned instanceOffset=0) | File: ../Graphics/Graphics.h
-static bool Graphics_SetVertexBuffers_VectorSharedPtrVertexBuffer_unsigned(Graphics* ptr, CScriptArray* buffers, unsigned instanceOffset)
+static bool Graphics_SetVertexBuffers_VectorSharedPtrVertexBuffer_unsigned(Graphics* ptr, CScriptArray* buffers_conv, unsigned instanceOffset)
 {
-    Vector<SharedPtr<VertexBuffer> > buffers_conv = HandleArrayToVector<VertexBuffer>(buffers);
-    bool result = ptr->SetVertexBuffers(buffers_conv, instanceOffset);
+    Vector<SharedPtr<VertexBuffer>> buffers = HandleArrayToVector<VertexBuffer>(buffers_conv);
+    bool result = ptr->SetVertexBuffers(buffers, instanceOffset);
     return result;
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Graphics_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Graphics* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Graphics_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Graphics* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 #ifdef URHO3D_PHYSICS

+ 18 - 18
Source/Urho3D/AngelScript/Generated_Members_I.cpp

@@ -22,10 +22,10 @@ static IKConstraint* IKConstraint_IKConstraint_Context()
 
 #ifdef URHO3D_IK
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void IKConstraint_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(IKConstraint* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void IKConstraint_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(IKConstraint* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -39,10 +39,10 @@ static IKEffector* IKEffector_IKEffector_Context()
 
 #ifdef URHO3D_IK
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void IKEffector_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(IKEffector* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void IKEffector_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(IKEffector* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -56,10 +56,10 @@ static IKSolver* IKSolver_IKSolver_Context()
 
 #ifdef URHO3D_IK
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void IKSolver_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(IKSolver* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void IKSolver_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(IKSolver* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -98,10 +98,10 @@ static Image* Image_Image_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Image_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Image* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Image_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Image* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // explicit IndexBuffer::IndexBuffer(Context* context, bool forceHeadless=false) | File: ../Graphics/IndexBuffer.h
@@ -111,10 +111,10 @@ static IndexBuffer* IndexBuffer_IndexBuffer_Context_bool(bool forceHeadless=fals
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void IndexBuffer_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(IndexBuffer* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void IndexBuffer_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(IndexBuffer* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // explicit Input::Input(Context* context) | File: ../Input/Input.h
@@ -124,10 +124,10 @@ static Input* Input_Input_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Input_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Input* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Input_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Input* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // IntRect::IntRect(const IntVector2& min, const IntVector2& max) noexcept | File: ../Math/Rect.h

+ 3 - 3
Source/Urho3D/AngelScript/Generated_Members_J.cpp

@@ -19,10 +19,10 @@ static JSONFile* JSONFile_JSONFile_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void JSONFile_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(JSONFile* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void JSONFile_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(JSONFile* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // JSONValue::JSONValue(bool value) | File: ../Resource/JSONValue.h

+ 21 - 21
Source/Urho3D/AngelScript/Generated_Members_L.cpp

@@ -33,10 +33,10 @@ static Light* Light_Light_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Light_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Light* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Light_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Light* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // const Vector<SharedPtr<UIElement>>& UIElement::GetChildren() const | File: ../UI/UIElement.h
@@ -74,10 +74,10 @@ static LineEdit* LineEdit_LineEdit_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void LineEdit_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(LineEdit* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void LineEdit_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(LineEdit* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // const Vector<SharedPtr<UIElement>>& UIElement::GetChildren() const | File: ../UI/UIElement.h
@@ -136,17 +136,17 @@ static ListView* ListView_ListView_Context()
 }
 
 // void ListView::SetSelections(const PODVector<unsigned>& indices) | File: ../UI/ListView.h
-static void ListView_SetSelections_PODVectorunsigned(ListView* ptr, CScriptArray* indices)
+static void ListView_SetSelections_PODVectorunsigned(ListView* ptr, CScriptArray* indices_conv)
 {
-    PODVector<unsigned> indices_conv = ArrayToPODVector<unsigned>(indices);
-    ptr->SetSelections(indices_conv);
+    PODVector<unsigned> indices = ArrayToPODVector<unsigned>(indices_conv);
+    ptr->SetSelections(indices);
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void ListView_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ListView* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void ListView_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ListView* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // explicit Localization::Localization(Context* context) | File: ../Resource/Localization.h
@@ -156,10 +156,10 @@ static Localization* Localization_Localization_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Localization_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Localization* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Localization_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Localization* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // explicit Log::Log(Context* context) | File: ../IO/Log.h
@@ -169,17 +169,17 @@ static Log* Log_Log_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Log_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Log* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Log_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Log* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void LogicComponent_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(LogicComponent* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void LogicComponent_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(LogicComponent* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 void ASRegisterGenerated_Members_L(asIScriptEngine* engine)

+ 20 - 20
Source/Urho3D/AngelScript/Generated_Members_M.cpp

@@ -26,10 +26,10 @@ static Material* Material_Material_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Material_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Material* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Material_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Material* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // Matrix2::Matrix2(const Matrix2& matrix) noexcept=default | File: ../Math/Matrix2.h
@@ -145,10 +145,10 @@ static Menu* Menu_Menu_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Menu_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Menu* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Menu_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Menu* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // explicit MessageBox::MessageBox(Context* context, const String& messageString=String::EMPTY, const String& titleString=String::EMPTY, XMLFile* layoutFile=nullptr, XMLFile* styleFile=nullptr) | File: ../UI/MessageBox.h
@@ -158,10 +158,10 @@ static MessageBox* MessageBox_MessageBox_Context_String_String_XMLFile_XMLFile(c
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void MessageBox_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(MessageBox* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void MessageBox_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(MessageBox* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // SharedPtr<Model> Model::Clone(const String& cloneName=String::EMPTY) const | File: ../Graphics/Model.h
@@ -199,28 +199,28 @@ static Model* Model_Model_Context()
 }
 
 // bool Model::SetIndexBuffers(const Vector<SharedPtr<IndexBuffer>>& buffers) | File: ../Graphics/Model.h
-static bool Model_SetIndexBuffers_VectorSharedPtrIndexBuffer(Model* ptr, CScriptArray* buffers)
+static bool Model_SetIndexBuffers_VectorSharedPtrIndexBuffer(Model* ptr, CScriptArray* buffers_conv)
 {
-    Vector<SharedPtr<IndexBuffer> > buffers_conv = HandleArrayToVector<IndexBuffer>(buffers);
-    bool result = ptr->SetIndexBuffers(buffers_conv);
+    Vector<SharedPtr<IndexBuffer>> buffers = HandleArrayToVector<IndexBuffer>(buffers_conv);
+    bool result = ptr->SetIndexBuffers(buffers);
     return result;
 }
 
 // bool Model::SetVertexBuffers(const Vector<SharedPtr<VertexBuffer>>& buffers, const PODVector<unsigned>& morphRangeStarts, const PODVector<unsigned>& morphRangeCounts) | File: ../Graphics/Model.h
-static bool Model_SetVertexBuffers_VectorSharedPtrVertexBuffer_PODVectorunsigned_PODVectorunsigned(Model* ptr, CScriptArray* buffers, CScriptArray* morphRangeStarts, CScriptArray* morphRangeCounts)
+static bool Model_SetVertexBuffers_VectorSharedPtrVertexBuffer_PODVectorunsigned_PODVectorunsigned(Model* ptr, CScriptArray* buffers_conv, CScriptArray* morphRangeStarts_conv, CScriptArray* morphRangeCounts_conv)
 {
-    Vector<SharedPtr<VertexBuffer> > buffers_conv = HandleArrayToVector<VertexBuffer>(buffers);
-    PODVector<unsigned> morphRangeStarts_conv = ArrayToPODVector<unsigned>(morphRangeStarts);
-    PODVector<unsigned> morphRangeCounts_conv = ArrayToPODVector<unsigned>(morphRangeCounts);
-    bool result = ptr->SetVertexBuffers(buffers_conv, morphRangeStarts_conv, morphRangeCounts_conv);
+    Vector<SharedPtr<VertexBuffer>> buffers = HandleArrayToVector<VertexBuffer>(buffers_conv);
+    PODVector<unsigned> morphRangeStarts = ArrayToPODVector<unsigned>(morphRangeStarts_conv);
+    PODVector<unsigned> morphRangeCounts = ArrayToPODVector<unsigned>(morphRangeCounts_conv);
+    bool result = ptr->SetVertexBuffers(buffers, morphRangeStarts, morphRangeCounts);
     return result;
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Model_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Model* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Model_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Model* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // explicit MutexLock::MutexLock(Mutex& mutex) | File: ../Core/Mutex.h

+ 35 - 27
Source/Urho3D/AngelScript/Generated_Members_N.cpp

@@ -32,18 +32,26 @@ static CScriptArray* NamedPipe_ReadStringVector_void(NamedPipe* ptr)
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void NamedPipe_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(NamedPipe* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void NamedPipe_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(NamedPipe* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
+#ifdef URHO3D_NAVIGATION
+// explicit NavArea::NavArea(Context* context) | File: ../Navigation/NavArea.h
+static NavArea* NavArea_NavArea_Context()
+{
+    return new NavArea(GetScriptContext());
+}
+#endif
+
 #ifdef URHO3D_NAVIGATION
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void NavArea_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(NavArea* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void NavArea_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(NavArea* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -57,10 +65,10 @@ static Navigable* Navigable_Navigable_Context()
 
 #ifdef URHO3D_NAVIGATION
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Navigable_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Navigable* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Navigable_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Navigable* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -74,10 +82,10 @@ static NavigationMesh* NavigationMesh_NavigationMesh_Context()
 
 #ifdef URHO3D_NAVIGATION
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void NavigationMesh_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(NavigationMesh* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void NavigationMesh_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(NavigationMesh* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -92,10 +100,10 @@ static CScriptArray* Network_GetClientConnections_void(Network* ptr)
 
 #ifdef URHO3D_NETWORK
 // SharedPtr<HttpRequest> Network::MakeHttpRequest(const String& url, const String& verb=String::EMPTY, const Vector<String>& headers=Vector<String>(), const String& postData=String::EMPTY) | File: ../Network/Network.h
-static HttpRequest* Network_MakeHttpRequest_String_String_VectorString_String(Network* ptr, const String& url, const String& verb, CScriptArray* headers, const String& postData)
+static HttpRequest* Network_MakeHttpRequest_String_String_VectorString_String(Network* ptr, const String& url, const String& verb, CScriptArray* headers_conv, const String& postData)
 {
-    Vector<String> headers_conv = ArrayToVector<String>(headers);
-    SharedPtr<HttpRequest> result = ptr->MakeHttpRequest(url, verb, headers_conv, postData);
+    Vector<String> headers = ArrayToVector<String>(headers_conv);
+    SharedPtr<HttpRequest> result = ptr->MakeHttpRequest(url, verb, headers, postData);
     return result.Detach();
 }
 #endif
@@ -110,10 +118,10 @@ static Network* Network_Network_Context()
 
 #ifdef URHO3D_NETWORK
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Network_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Network* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Network_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Network* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -127,10 +135,10 @@ static NetworkPriority* NetworkPriority_NetworkPriority_Context()
 
 #ifdef URHO3D_NETWORK
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void NetworkPriority_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(NetworkPriority* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void NetworkPriority_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(NetworkPriority* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -190,10 +198,10 @@ static Node* Node_Node_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Node_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Node* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Node_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Node* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 void ASRegisterGenerated_Members_N(asIScriptEngine* engine)
@@ -664,8 +672,8 @@ void ASRegisterGenerated_Members_N(asIScriptEngine* engine)
     engine->RegisterObjectMethod("NavArea", "bool LoadXML(const XMLElement&in)", asMETHODPR(NavArea, LoadXML, (const XMLElement&), bool), asCALL_THISCALL);
     // void Component::MarkNetworkUpdate() override | File: ../Scene/Component.h
     engine->RegisterObjectMethod("NavArea", "void MarkNetworkUpdate()", asMETHODPR(NavArea, MarkNetworkUpdate, (), void), asCALL_THISCALL);
-    // explicit NavArea::NavArea(Context*) | File: ../Navigation/NavArea.h
-    // Error: context can be only first
+    // explicit NavArea::NavArea(Context* context) | File: ../Navigation/NavArea.h
+    engine->RegisterObjectBehaviour("NavArea", asBEHAVE_FACTORY, "NavArea@+ f()", asFUNCTION(NavArea_NavArea_Context), asCALL_CDECL);
     // virtual void Object::OnEvent(Object* sender, StringHash eventType, VariantMap& eventData) | File: ../Core/Object.h
     engine->RegisterObjectMethod("NavArea", "void OnEvent(Object@+, StringHash, VariantMap&)", asMETHODPR(NavArea, OnEvent, (Object*, StringHash, VariantMap&), void), asCALL_THISCALL);
     // virtual void Serializable::OnGetAttribute(const AttributeInfo& attr, Variant& dest) const | File: ../Scene/Serializable.h
@@ -685,7 +693,7 @@ void ASRegisterGenerated_Members_N(asIScriptEngine* engine)
     // int RefCounted::Refs() const | File: ../Container/RefCounted.h
     engine->RegisterObjectMethod("NavArea", "int Refs() const", asMETHODPR(NavArea, Refs, () const, int), asCALL_THISCALL);
     engine->RegisterObjectMethod("NavArea", "int get_refs() const", asMETHODPR(NavArea, Refs, () const, int), asCALL_THISCALL);
-    // static void NavArea::RegisterObject(Context*) | File: ../Navigation/NavArea.h
+    // static void NavArea::RegisterObject(Context* context) | File: ../Navigation/NavArea.h
     // Context can be used as firs parameter of constructors only
     // void RefCounted::ReleaseRef() | File: ../Container/RefCounted.h
     engine->RegisterObjectBehaviour("NavArea", asBEHAVE_RELEASE, "void f()", asMETHODPR(NavArea, ReleaseRef, (), void), asCALL_THISCALL);

+ 18 - 18
Source/Urho3D/AngelScript/Generated_Members_O.cpp

@@ -13,10 +13,10 @@ void FakeAddRef(void* ptr);
 void FakeReleaseRef(void* ptr);
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Object_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Object* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Object_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Object* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // explicit ObjectAnimation::ObjectAnimation(Context* context) | File: ../Scene/ObjectAnimation.h
@@ -26,10 +26,10 @@ static ObjectAnimation* ObjectAnimation_ObjectAnimation_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void ObjectAnimation_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ObjectAnimation* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void ObjectAnimation_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ObjectAnimation* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // virtual SharedPtr<Object> ObjectFactory::CreateObject()=0 | File: ../Core/Object.h
@@ -49,10 +49,10 @@ static Obstacle* Obstacle_Obstacle_Context()
 
 #ifdef URHO3D_NAVIGATION
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Obstacle_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Obstacle* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Obstacle_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Obstacle* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -63,10 +63,10 @@ static OcclusionBuffer* OcclusionBuffer_OcclusionBuffer_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void OcclusionBuffer_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(OcclusionBuffer* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void OcclusionBuffer_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(OcclusionBuffer* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // explicit Octree::Octree(Context* context) | File: ../Graphics/Octree.h
@@ -76,10 +76,10 @@ static Octree* Octree_Octree_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Octree_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Octree* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Octree_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Octree* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 #ifdef URHO3D_NAVIGATION
@@ -92,10 +92,10 @@ static OffMeshConnection* OffMeshConnection_OffMeshConnection_Context()
 
 #ifdef URHO3D_NAVIGATION
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void OffMeshConnection_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(OffMeshConnection* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void OffMeshConnection_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(OffMeshConnection* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 

+ 30 - 30
Source/Urho3D/AngelScript/Generated_Members_P.cpp

@@ -32,10 +32,10 @@ static PackageFile* PackageFile_PackageFile_Context_String_unsigned(const String
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void PackageFile_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(PackageFile* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void PackageFile_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(PackageFile* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // SharedPtr<ParticleEffect> ParticleEffect::Clone(const String& cloneName=String::EMPTY) const | File: ../Graphics/ParticleEffect.h
@@ -52,10 +52,10 @@ static ParticleEffect* ParticleEffect_ParticleEffect_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void ParticleEffect_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ParticleEffect* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void ParticleEffect_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ParticleEffect* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 #ifdef URHO3D_URHO2D
@@ -77,10 +77,10 @@ static ParticleEffect2D* ParticleEffect2D_ParticleEffect2D_Context()
 
 #ifdef URHO3D_URHO2D
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void ParticleEffect2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ParticleEffect2D* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void ParticleEffect2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ParticleEffect2D* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -105,10 +105,10 @@ static ParticleEmitter* ParticleEmitter_ParticleEmitter_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void ParticleEmitter_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ParticleEmitter* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void ParticleEmitter_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ParticleEmitter* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 #ifdef URHO3D_URHO2D
@@ -139,10 +139,10 @@ static ParticleEmitter2D* ParticleEmitter2D_ParticleEmitter2D_Context()
 
 #ifdef URHO3D_URHO2D
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void ParticleEmitter2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ParticleEmitter2D* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void ParticleEmitter2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ParticleEmitter2D* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -190,10 +190,10 @@ static PhysicsWorld* PhysicsWorld_PhysicsWorld_Context()
 
 #ifdef URHO3D_PHYSICS
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void PhysicsWorld_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(PhysicsWorld* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void PhysicsWorld_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(PhysicsWorld* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -207,10 +207,10 @@ static PhysicsWorld2D* PhysicsWorld2D_PhysicsWorld2D_Context()
 
 #ifdef URHO3D_URHO2D
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void PhysicsWorld2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(PhysicsWorld2D* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void PhysicsWorld2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(PhysicsWorld2D* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -239,10 +239,10 @@ static void Plane_Plane_Vector4(Plane* ptr, const Vector4 &plane)
 }
 
 // void Polyhedron::AddFace(const PODVector<Vector3>& face) | File: ../Math/Polyhedron.h
-static void Polyhedron_AddFace_PODVectorVector3(Polyhedron* ptr, CScriptArray* face)
+static void Polyhedron_AddFace_PODVectorVector3(Polyhedron* ptr, CScriptArray* face_conv)
 {
-    PODVector<Vector3> face_conv = ArrayToPODVector<Vector3>(face);
-    ptr->AddFace(face_conv);
+    PODVector<Vector3> face = ArrayToPODVector<Vector3>(face_conv);
+    ptr->AddFace(face);
 }
 
 // Polyhedron::Polyhedron(const Polyhedron& polyhedron) | File: ../Math/Polyhedron.h
@@ -270,10 +270,10 @@ static Profiler* Profiler_Profiler_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Profiler_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Profiler* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Profiler_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Profiler* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // const Vector<SharedPtr<UIElement>>& UIElement::GetChildren() const | File: ../UI/UIElement.h
@@ -311,10 +311,10 @@ static ProgressBar* ProgressBar_ProgressBar_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void ProgressBar_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ProgressBar* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void ProgressBar_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ProgressBar* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 #ifdef URHO3D_URHO2D

+ 27 - 27
Source/Urho3D/AngelScript/Generated_Members_R.cpp

@@ -26,10 +26,10 @@ static void Ray_Ray_Ray(Ray* ptr, const Ray &ray)
 
 #ifdef URHO3D_PHYSICS
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void RaycastVehicle_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(RaycastVehicle* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void RaycastVehicle_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(RaycastVehicle* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -89,10 +89,10 @@ static Renderer* Renderer_Renderer_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Renderer_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Renderer* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Renderer_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Renderer* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 #ifdef URHO3D_URHO2D
@@ -123,10 +123,10 @@ static Renderer2D* Renderer2D_Renderer2D_Context()
 
 #ifdef URHO3D_URHO2D
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Renderer2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Renderer2D* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Renderer2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Renderer2D* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -137,10 +137,10 @@ static Resource* Resource_Resource_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Resource_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Resource* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Resource_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Resource* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // SharedPtr<File> ResourceCache::GetFile(const String& name, bool sendEventOnFailure=true) | File: ../Resource/ResourceCache.h
@@ -178,10 +178,10 @@ static ResourceCache* ResourceCache_ResourceCache_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void ResourceCache_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ResourceCache* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void ResourceCache_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ResourceCache* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // explicit ResourceWithMetadata::ResourceWithMetadata(Context* context) | File: ../Resource/Resource.h
@@ -191,10 +191,10 @@ static ResourceWithMetadata* ResourceWithMetadata_ResourceWithMetadata_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void ResourceWithMetadata_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ResourceWithMetadata* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void ResourceWithMetadata_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ResourceWithMetadata* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // const PODVector<Light*>& Drawable::GetLights() const | File: ../Graphics/Drawable.h
@@ -218,10 +218,10 @@ static RibbonTrail* RibbonTrail_RibbonTrail_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void RibbonTrail_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(RibbonTrail* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void RibbonTrail_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(RibbonTrail* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 #ifdef URHO3D_PHYSICS
@@ -234,10 +234,10 @@ static RigidBody* RigidBody_RigidBody_Context()
 
 #ifdef URHO3D_PHYSICS
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void RigidBody_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(RigidBody* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void RigidBody_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(RigidBody* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -251,10 +251,10 @@ static RigidBody2D* RigidBody2D_RigidBody2D_Context()
 
 #ifdef URHO3D_URHO2D
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void RigidBody2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(RigidBody2D* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void RigidBody2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(RigidBody2D* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 

+ 27 - 27
Source/Urho3D/AngelScript/Generated_Members_Sa_Sm.cpp

@@ -75,10 +75,10 @@ static Scene* Scene_Scene_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Scene_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Scene* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Scene_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Scene* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // const Vector<SharedPtr<UIElement>>& UIElement::GetChildren() const | File: ../UI/UIElement.h
@@ -116,10 +116,10 @@ static ScrollBar* ScrollBar_ScrollBar_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void ScrollBar_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ScrollBar* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void ScrollBar_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ScrollBar* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // const Vector<SharedPtr<UIElement>>& UIElement::GetChildren() const | File: ../UI/UIElement.h
@@ -157,10 +157,10 @@ static ScrollView* ScrollView_ScrollView_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void ScrollView_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ScrollView* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void ScrollView_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ScrollView* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // explicit Serializable::Serializable(Context* context) | File: ../Scene/Serializable.h
@@ -170,10 +170,10 @@ static Serializable* Serializable_Serializable_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Serializable_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Serializable* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Serializable_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Serializable* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // explicit Shader::Shader(Context* context) | File: ../Graphics/Shader.h
@@ -183,10 +183,10 @@ static Shader* Shader_Shader_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Shader_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Shader* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Shader_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Shader* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // ShaderParameterAnimationInfo::ShaderParameterAnimationInfo(Material* material, const String& name, ValueAnimation* attributeAnimation, WrapMode wrapMode, float speed) | File: ../Graphics/Material.h
@@ -208,10 +208,10 @@ static ShaderPrecache* ShaderPrecache_ShaderPrecache_Context_String(const String
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void ShaderPrecache_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ShaderPrecache* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void ShaderPrecache_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ShaderPrecache* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // ShaderVariation::ShaderVariation(Shader* owner, ShaderType type) | File: ../Graphics/ShaderVariation.h
@@ -247,10 +247,10 @@ static Skybox* Skybox_Skybox_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Skybox_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Skybox* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Skybox_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Skybox* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // const Vector<SharedPtr<UIElement>>& UIElement::GetChildren() const | File: ../UI/UIElement.h
@@ -288,10 +288,10 @@ static Slider* Slider_Slider_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Slider_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Slider* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Slider_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Slider* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // explicit SmoothedTransform::SmoothedTransform(Context* context) | File: ../Scene/SmoothedTransform.h
@@ -301,10 +301,10 @@ static SmoothedTransform* SmoothedTransform_SmoothedTransform_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void SmoothedTransform_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(SmoothedTransform* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void SmoothedTransform_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(SmoothedTransform* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // ShaderParameter::ShaderParameter(const String& name, unsigned glType, int location) | File: ../Graphics/ShaderVariation.h

+ 39 - 39
Source/Urho3D/AngelScript/Generated_Members_Sn_Sz.cpp

@@ -26,10 +26,10 @@ static Sound* Sound_Sound_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Sound_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Sound* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Sound_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Sound* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // explicit SoundListener::SoundListener(Context* context) | File: ../Audio/SoundListener.h
@@ -39,10 +39,10 @@ static SoundListener* SoundListener_SoundListener_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void SoundListener_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(SoundListener* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void SoundListener_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(SoundListener* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // explicit SoundSource::SoundSource(Context* context) | File: ../Audio/SoundSource.h
@@ -52,10 +52,10 @@ static SoundSource* SoundSource_SoundSource_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void SoundSource_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(SoundSource* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void SoundSource_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(SoundSource* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // explicit SoundSource3D::SoundSource3D(Context* context) | File: ../Audio/SoundSource3D.h
@@ -65,10 +65,10 @@ static SoundSource3D* SoundSource3D_SoundSource3D_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void SoundSource3D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(SoundSource3D* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void SoundSource3D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(SoundSource3D* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // Sphere::Sphere(const Sphere& sphere) noexcept=default | File: ../Math/Sphere.h
@@ -120,10 +120,10 @@ static SplinePath* SplinePath_SplinePath_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void SplinePath_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(SplinePath* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void SplinePath_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(SplinePath* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // const Vector<SharedPtr<UIElement>>& UIElement::GetChildren() const | File: ../UI/UIElement.h
@@ -161,10 +161,10 @@ static Sprite* Sprite_Sprite_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Sprite_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Sprite* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Sprite_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Sprite* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 #ifdef URHO3D_URHO2D
@@ -177,10 +177,10 @@ static Sprite2D* Sprite2D_Sprite2D_Context()
 
 #ifdef URHO3D_URHO2D
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Sprite2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Sprite2D* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Sprite2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Sprite2D* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -194,10 +194,10 @@ static SpriteSheet2D* SpriteSheet2D_SpriteSheet2D_Context()
 
 #ifdef URHO3D_URHO2D
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void SpriteSheet2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(SpriteSheet2D* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void SpriteSheet2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(SpriteSheet2D* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -222,10 +222,10 @@ static StaticModel* StaticModel_StaticModel_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void StaticModel_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(StaticModel* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void StaticModel_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(StaticModel* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // const PODVector<Light*>& Drawable::GetLights() const | File: ../Graphics/Drawable.h
@@ -249,10 +249,10 @@ static StaticModelGroup* StaticModelGroup_StaticModelGroup_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void StaticModelGroup_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(StaticModelGroup* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void StaticModelGroup_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(StaticModelGroup* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 #ifdef URHO3D_URHO2D
@@ -283,10 +283,10 @@ static StaticSprite2D* StaticSprite2D_StaticSprite2D_Context()
 
 #ifdef URHO3D_URHO2D
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void StaticSprite2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(StaticSprite2D* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void StaticSprite2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(StaticSprite2D* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -318,18 +318,18 @@ static StretchableSprite2D* StretchableSprite2D_StretchableSprite2D_Context()
 
 #ifdef URHO3D_URHO2D
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void StretchableSprite2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(StretchableSprite2D* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void StretchableSprite2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(StretchableSprite2D* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
 // void String::Join(const Vector<String>& subStrings, const String& glue) | File: ../Container/Str.h
-static void String_Join_VectorString_String(String* ptr, CScriptArray* subStrings, const String& glue)
+static void String_Join_VectorString_String(String* ptr, CScriptArray* subStrings_conv, const String& glue)
 {
-    Vector<String> subStrings_conv = ArrayToVector<String>(subStrings);
-    ptr->Join(subStrings_conv, glue);
+    Vector<String> subStrings = ArrayToVector<String>(subStrings_conv);
+    ptr->Join(subStrings, glue);
 }
 
 // Vector<String> String::Split(char separator, bool keepEmptyStrings=false) const | File: ../Container/Str.h

+ 42 - 42
Source/Urho3D/AngelScript/Generated_Members_Ta_Tm.cpp

@@ -47,10 +47,10 @@ static Technique* Technique_Technique_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Technique_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Technique* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Technique_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Technique* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // explicit Terrain::Terrain(Context* context) | File: ../Graphics/Terrain.h
@@ -60,10 +60,10 @@ static Terrain* Terrain_Terrain_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Terrain_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Terrain* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Terrain_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Terrain* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // const PODVector<Light*>& Drawable::GetLights() const | File: ../Graphics/Drawable.h
@@ -87,10 +87,10 @@ static TerrainPatch* TerrainPatch_TerrainPatch_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void TerrainPatch_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(TerrainPatch* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void TerrainPatch_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(TerrainPatch* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // const Vector<SharedPtr<UIElement>>& UIElement::GetChildren() const | File: ../UI/UIElement.h
@@ -128,10 +128,10 @@ static Text* Text_Text_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Text_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Text* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Text_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Text* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // const PODVector<Light*>& Drawable::GetLights() const | File: ../Graphics/Drawable.h
@@ -155,10 +155,10 @@ static Text3D* Text3D_Text3D_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Text3D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Text3D* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Text3D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Text3D* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // explicit Texture::Texture(Context* context) | File: ../Graphics/Texture.h
@@ -168,10 +168,10 @@ static Texture* Texture_Texture_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Texture_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Texture* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Texture_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Texture* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // SharedPtr<Image> Texture2D::GetImage() const | File: ../Graphics/Texture2D.h
@@ -188,10 +188,10 @@ static Texture2D* Texture2D_Texture2D_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Texture2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Texture2D* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Texture2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Texture2D* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // explicit Texture2DArray::Texture2DArray(Context* context) | File: ../Graphics/Texture2DArray.h
@@ -201,10 +201,10 @@ static Texture2DArray* Texture2DArray_Texture2DArray_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Texture2DArray_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Texture2DArray* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Texture2DArray_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Texture2DArray* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // explicit Texture3D::Texture3D(Context* context) | File: ../Graphics/Texture3D.h
@@ -214,10 +214,10 @@ static Texture3D* Texture3D_Texture3D_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Texture3D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Texture3D* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Texture3D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Texture3D* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // SharedPtr<Image> TextureCube::GetImage(CubeMapFace face) const | File: ../Graphics/TextureCube.h
@@ -234,10 +234,10 @@ static TextureCube* TextureCube_TextureCube_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void TextureCube_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(TextureCube* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void TextureCube_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(TextureCube* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 #ifdef URHO3D_URHO2D
@@ -267,10 +267,10 @@ static TileMap2D* TileMap2D_TileMap2D_Context()
 
 #ifdef URHO3D_URHO2D
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void TileMap2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(TileMap2D* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void TileMap2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(TileMap2D* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -284,10 +284,10 @@ static TileMapLayer2D* TileMapLayer2D_TileMapLayer2D_Context()
 
 #ifdef URHO3D_URHO2D
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void TileMapLayer2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(TileMapLayer2D* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void TileMapLayer2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(TileMapLayer2D* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 
@@ -306,10 +306,10 @@ static Time* Time_Time_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Time_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Time* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Time_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Time* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 #ifdef URHO3D_URHO2D
@@ -331,10 +331,10 @@ static TmxFile2D* TmxFile2D_TmxFile2D_Context()
 
 #ifdef URHO3D_URHO2D
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void TmxFile2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(TmxFile2D* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void TmxFile2D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(TmxFile2D* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 #endif
 

+ 3 - 3
Source/Urho3D/AngelScript/Generated_Members_Tn_Tz.cpp

@@ -47,10 +47,10 @@ static ToolTip* ToolTip_ToolTip_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void ToolTip_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ToolTip* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void ToolTip_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ToolTip* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // TrailPoint::TrailPoint(const Vector3& position, const Vector3& forward) | File: ../Graphics/RibbonTrail.h

+ 15 - 15
Source/Urho3D/AngelScript/Generated_Members_U.cpp

@@ -33,10 +33,10 @@ static UI* UI_UI_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void UI_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(UI* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void UI_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(UI* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // explicit UIComponent::UIComponent(Context* context) | File: ../UI/UIComponent.h
@@ -46,10 +46,10 @@ static UIComponent* UIComponent_UIComponent_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void UIComponent_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(UIComponent* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void UIComponent_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(UIComponent* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // const Vector<SharedPtr<UIElement>>& UIElement::GetChildren() const | File: ../UI/UIElement.h
@@ -87,10 +87,10 @@ static UIElement* UIElement_UIElement_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void UIElement_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(UIElement* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void UIElement_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(UIElement* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // const Vector<SharedPtr<UIElement>>& UIElement::GetChildren() const | File: ../UI/UIElement.h
@@ -122,10 +122,10 @@ static CScriptArray* UISelectable_GetTags_void(UISelectable* ptr)
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void UISelectable_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(UISelectable* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void UISelectable_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(UISelectable* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // const Vector<String>& UnknownComponent::GetXMLAttributes() const | File: ../Scene/UnknownComponent.h
@@ -136,10 +136,10 @@ static CScriptArray* UnknownComponent_GetXMLAttributes_void(UnknownComponent* pt
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void UnknownComponent_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(UnknownComponent* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void UnknownComponent_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(UnknownComponent* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 void ASRegisterGenerated_Members_U(asIScriptEngine* engine)

+ 27 - 27
Source/Urho3D/AngelScript/Generated_Members_V.cpp

@@ -13,10 +13,10 @@ void FakeAddRef(void* ptr);
 void FakeReleaseRef(void* ptr);
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void ValueAnimation_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ValueAnimation* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void ValueAnimation_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(ValueAnimation* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // explicit ValueAnimation::ValueAnimation(Context* context) | File: ../Scene/ValueAnimation.h
@@ -310,10 +310,10 @@ static void VectorBuffer_VectorBuffer_Deserializer_unsigned(VectorBuffer* ptr, D
 }
 
 // static unsigned VertexBuffer::GetElementOffset(const PODVector<VertexElement>& elements, VertexElementType type, VertexElementSemantic semantic, unsigned char index=0) | File: ../Graphics/VertexBuffer.h
-static unsigned VertexBuffer_GetElementOffset_PODVectorVertexElement_VertexElementType_VertexElementSemantic_unsignedchar(CScriptArray* elements, VertexElementType type, VertexElementSemantic semantic, unsigned char index)
+static unsigned VertexBuffer_GetElementOffset_PODVectorVertexElement_VertexElementType_VertexElementSemantic_unsignedchar(CScriptArray* elements_conv, VertexElementType type, VertexElementSemantic semantic, unsigned char index)
 {
-    PODVector<VertexElement> elements_conv = ArrayToPODVector<VertexElement>(elements);
-    unsigned result = VertexBuffer::GetElementOffset(elements_conv, type, semantic, index);
+    PODVector<VertexElement> elements = ArrayToPODVector<VertexElement>(elements_conv);
+    unsigned result = VertexBuffer::GetElementOffset(elements, type, semantic, index);
     return result;
 }
 
@@ -332,34 +332,34 @@ static CScriptArray* VertexBuffer_GetElements_unsigned(unsigned elementMask)
 }
 
 // static unsigned VertexBuffer::GetVertexSize(const PODVector<VertexElement>& elements) | File: ../Graphics/VertexBuffer.h
-static unsigned VertexBuffer_GetVertexSize_PODVectorVertexElement(CScriptArray* elements)
+static unsigned VertexBuffer_GetVertexSize_PODVectorVertexElement(CScriptArray* elements_conv)
 {
-    PODVector<VertexElement> elements_conv = ArrayToPODVector<VertexElement>(elements);
-    unsigned result = VertexBuffer::GetVertexSize(elements_conv);
+    PODVector<VertexElement> elements = ArrayToPODVector<VertexElement>(elements_conv);
+    unsigned result = VertexBuffer::GetVertexSize(elements);
     return result;
 }
 
 // static bool VertexBuffer::HasElement(const PODVector<VertexElement>& elements, VertexElementType type, VertexElementSemantic semantic, unsigned char index=0) | File: ../Graphics/VertexBuffer.h
-static bool VertexBuffer_HasElement_PODVectorVertexElement_VertexElementType_VertexElementSemantic_unsignedchar(CScriptArray* elements, VertexElementType type, VertexElementSemantic semantic, unsigned char index)
+static bool VertexBuffer_HasElement_PODVectorVertexElement_VertexElementType_VertexElementSemantic_unsignedchar(CScriptArray* elements_conv, VertexElementType type, VertexElementSemantic semantic, unsigned char index)
 {
-    PODVector<VertexElement> elements_conv = ArrayToPODVector<VertexElement>(elements);
-    bool result = VertexBuffer::HasElement(elements_conv, type, semantic, index);
+    PODVector<VertexElement> elements = ArrayToPODVector<VertexElement>(elements_conv);
+    bool result = VertexBuffer::HasElement(elements, type, semantic, index);
     return result;
 }
 
 // bool VertexBuffer::SetSize(unsigned vertexCount, const PODVector<VertexElement>& elements, bool dynamic=false) | File: ../Graphics/VertexBuffer.h
-static bool VertexBuffer_SetSize_unsigned_PODVectorVertexElement_bool(VertexBuffer* ptr, unsigned vertexCount, CScriptArray* elements, bool dynamic)
+static bool VertexBuffer_SetSize_unsigned_PODVectorVertexElement_bool(VertexBuffer* ptr, unsigned vertexCount, CScriptArray* elements_conv, bool dynamic)
 {
-    PODVector<VertexElement> elements_conv = ArrayToPODVector<VertexElement>(elements);
-    bool result = ptr->SetSize(vertexCount, elements_conv, dynamic);
+    PODVector<VertexElement> elements = ArrayToPODVector<VertexElement>(elements_conv);
+    bool result = ptr->SetSize(vertexCount, elements, dynamic);
     return result;
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void VertexBuffer_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(VertexBuffer* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void VertexBuffer_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(VertexBuffer* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // explicit VertexBuffer::VertexBuffer(Context* context, bool forceHeadless=false) | File: ../Graphics/VertexBuffer.h
@@ -390,10 +390,10 @@ static CScriptArray* View_GetOccluders_void(View* ptr)
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void View_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(View* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void View_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(View* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // explicit View::View(Context* context) | File: ../Graphics/View.h
@@ -431,10 +431,10 @@ static CScriptArray* View3D_GetTags_void(View3D* ptr)
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void View3D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(View3D* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void View3D_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(View3D* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // explicit View3D::View3D(Context* context) | File: ../UI/View3D.h
@@ -444,10 +444,10 @@ static View3D* View3D_View3D_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Viewport_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Viewport* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Viewport_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Viewport* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // explicit Viewport::Viewport(Context* context) | File: ../Graphics/Viewport.h

+ 8 - 8
Source/Urho3D/AngelScript/Generated_Members_W.cpp

@@ -41,10 +41,10 @@ static CScriptArray* Window_GetTags_void(Window* ptr)
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Window_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Window* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Window_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Window* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // explicit Window::Window(Context* context) | File: ../UI/Window.h
@@ -54,10 +54,10 @@ static Window* Window_Window_Context()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void WorkQueue_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(WorkQueue* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void WorkQueue_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(WorkQueue* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // explicit WorkQueue::WorkQueue(Context* context) | File: ../Core/WorkQueue.h
@@ -990,7 +990,7 @@ void ASRegisterGenerated_Members_W(asIScriptEngine* engine)
     // Object* Object::GetEventSender() const | File: ../Core/Object.h
     engine->RegisterObjectMethod("WorkQueue", "Object@+ GetEventSender() const", asMETHODPR(WorkQueue, GetEventSender, () const, Object*), asCALL_THISCALL);
     // SharedPtr<WorkItem> WorkQueue::GetFreeItem() | File: ../Core/WorkQueue.h
-    // TODO
+    // Error: type "SharedPtr<WorkItem>" can not automatically bind
     // const Variant& Object::GetGlobalVar(StringHash key) const | File: ../Core/Object.h
     engine->RegisterObjectMethod("WorkQueue", "const Variant& GetGlobalVar(StringHash) const", asMETHODPR(WorkQueue, GetGlobalVar, (StringHash) const, const Variant&), asCALL_THISCALL);
     engine->RegisterObjectMethod("WorkQueue", "const Variant& get_globalVar(StringHash) const", asMETHODPR(WorkQueue, GetGlobalVar, (StringHash) const, const Variant&), asCALL_THISCALL);
@@ -1047,7 +1047,7 @@ void ASRegisterGenerated_Members_W(asIScriptEngine* engine)
     // bool WorkQueue::RemoveWorkItem(SharedPtr<WorkItem> item) | File: ../Core/WorkQueue.h
     // Error: type "SharedPtr<WorkItem>" can not automatically bind
     // unsigned WorkQueue::RemoveWorkItems(const Vector<SharedPtr<WorkItem>>& items) | File: ../Core/WorkQueue.h
-    // TODO
+    // Error: type "const Vector<SharedPtr<WorkItem>>&" can not automatically bind
     // void WorkQueue::Resume() | File: ../Core/WorkQueue.h
     engine->RegisterObjectMethod("WorkQueue", "void Resume()", asMETHODPR(WorkQueue, Resume, (), void), asCALL_THISCALL);
     // void Object::SendEvent(StringHash eventType) | File: ../Core/Object.h

+ 3 - 3
Source/Urho3D/AngelScript/Generated_Members_X.cpp

@@ -33,10 +33,10 @@ static void XMLElement_XMLElement_XMLElement(XMLElement* ptr, const XMLElement &
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void XMLFile_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(XMLFile* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void XMLFile_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(XMLFile* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // explicit XMLFile::XMLFile(Context* context) | File: ../Resource/XMLFile.h

+ 3 - 3
Source/Urho3D/AngelScript/Generated_Members_Z.cpp

@@ -27,10 +27,10 @@ static CScriptArray* Zone_GetVertexLights_void(Zone* ptr)
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Zone_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Zone* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Zone_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool(Zone* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // explicit Zone::Zone(Context* context) | File: ../Graphics/Zone.h

+ 9 - 9
Source/Urho3D/AngelScript/Generated_Templates.h

@@ -22,17 +22,17 @@ static Component* Component_Component_Context_template()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Component_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool_template(Component* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Component_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool_template(Component* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Object_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool_template(Object* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Object_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool_template(Object* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 // explicit Resource::Resource(Context* context) | File: ../Resource/Resource.h
@@ -42,10 +42,10 @@ static Resource* Resource_Resource_Context_template()
 }
 
 // void Object::UnsubscribeFromAllEventsExcept(const PODVector<StringHash>& exceptions, bool onlyUserData) | File: ../Core/Object.h
-static void Resource_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool_template(Resource* ptr, CScriptArray* exceptions, bool onlyUserData)
+static void Resource_UnsubscribeFromAllEventsExcept_PODVectorStringHash_bool_template(Resource* ptr, CScriptArray* exceptions_conv, bool onlyUserData)
 {
-    PODVector<StringHash> exceptions_conv = ArrayToPODVector<StringHash>(exceptions);
-    ptr->UnsubscribeFromAllEventsExcept(exceptions_conv, onlyUserData);
+    PODVector<StringHash> exceptions = ArrayToPODVector<StringHash>(exceptions_conv);
+    ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData);
 }
 
 template <class T> void RegisterComponent(asIScriptEngine* engine, const char* className)

+ 2 - 0
Source/Urho3D/AngelScript/Manual.cpp

@@ -107,6 +107,8 @@ void ASRegisterManualFirst(asIScriptEngine* engine)
     else
         engine->RegisterTypedef("size_t", "uint64");
 
+    engine->RegisterTypedef("SDL_JoystickID", "int");
+
     ASRegisterManualFirst_Addons(engine);
     ASRegisterManualFirst_Graphics(engine);
     ASRegisterManualFirst_Core(engine);

+ 0 - 1
Source/Urho3D/AngelScript/Manual_Input.cpp

@@ -31,7 +31,6 @@ namespace Urho3D
 // This function is called before ASRegisterGenerated()
 void ASRegisterManualFirst_Input(asIScriptEngine* engine)
 {
-    engine->RegisterTypedef("SDL_JoystickID", "int");
 }
 
 // ========================================================================================

+ 2 - 2
Source/Urho3D/Navigation/DynamicNavigationMesh.h

@@ -47,12 +47,12 @@ class URHO3D_API DynamicNavigationMesh : public NavigationMesh
 
 public:
     /// Constructor.
-    explicit DynamicNavigationMesh(Context*);
+    explicit DynamicNavigationMesh(Context* context);
     /// Destructor.
     ~DynamicNavigationMesh() override;
 
     /// Register with engine context.
-    static void RegisterObject(Context*);
+    static void RegisterObject(Context* context);
 
     /// Allocate the navigation mesh without building any tiles. Bounding box is not padded. Return true if successful.
     bool Allocate(const BoundingBox& boundingBox, unsigned maxTiles) override;

+ 2 - 2
Source/Urho3D/Navigation/NavArea.h

@@ -34,11 +34,11 @@ class URHO3D_API NavArea : public Component
 
 public:
     /// Construct.
-    explicit NavArea(Context*);
+    explicit NavArea(Context* context);
     /// Destruct.
     ~NavArea() override;
     /// Register object factory and attributes.
-    static void RegisterObject(Context*);
+    static void RegisterObject(Context* context);
 
     /// Render debug geometry for the bounds.
     void DrawDebugGeometry(DebugRenderer* debug, bool depthTest) override;