@@ -594,28 +594,27 @@ static void TimerAssignOperator(const Timer& other, Timer* self)
594
594
}
595
595
596
596
/***GPUPROGRAMPARAMETERSPTR***/
597
- // Note: The `*SharedPtr` is a deprecated alias of `*Ptr` in OGRE 14, but it's not yet present in the version we use.
598
- static void GpuProgramParametersPtrDefaultConstructor (GpuProgramParametersSharedPtr* self)
597
+ static void GpuProgramParametersPtrDefaultConstructor(GpuProgramParametersPtr* self)
599
598
{
600
- new (self) GpuProgramParametersSharedPtr ();
599
+ new (self) GpuProgramParametersPtr ();
601
600
}
602
601
603
- static void GpuProgramParametersPtrCopyConstructor (const GpuProgramParametersSharedPtr & other, GpuProgramParametersSharedPtr * self)
602
+ static void GpuProgramParametersPtrCopyConstructor(const GpuProgramParametersPtr & other, GpuProgramParametersPtr * self)
604
603
{
605
- new (self) GpuProgramParametersSharedPtr (other);
604
+ new (self) GpuProgramParametersPtr (other);
606
605
}
607
606
608
- static void GpuProgramParametersPtrDestructor (GpuProgramParametersSharedPtr * self)
607
+ static void GpuProgramParametersPtrDestructor(GpuProgramParametersPtr * self)
609
608
{
610
- (self)->~GpuProgramParametersSharedPtr ();
609
+ (self)->~GpuProgramParametersPtr ();
611
610
}
612
611
613
- static void GpuProgramParametersPtrAssignOperator (const GpuProgramParametersSharedPtr & other, GpuProgramParametersSharedPtr * self)
612
+ static void GpuProgramParametersPtrAssignOperator(const GpuProgramParametersPtr & other, GpuProgramParametersPtr * self)
614
613
{
615
614
(self)->operator=(other);
616
615
}
617
616
618
- static bool GpuProgramParametersPtrIsNull (GpuProgramParametersSharedPtr * self)
617
+ static bool GpuProgramParametersPtrIsNull(GpuProgramParametersPtr * self)
619
618
{
620
619
return !(self)->operator bool();
621
620
}
@@ -2142,18 +2141,42 @@ void registerOgreTechnique(AngelScript::asIScriptEngine* engine)
2142
2141
2143
2142
void registerOgrePass(AngelScript::asIScriptEngine* engine)
2144
2143
{
2144
+ int r = 0;
2145
2145
engine->SetDefaultNamespace("Ogre");
2146
2146
2147
2147
engine->RegisterObjectMethod("Pass", "const string& getName() const", asMETHOD(Ogre::Pass, getName), asCALL_THISCALL);
2148
2148
engine->RegisterObjectMethod("Pass", "TextureUnitStateArray @getTextureUnitStates()", asFUNCTION(PassGetTextureUnitStates), asCALL_CDECL_OBJFIRST);
2149
2149
engine->RegisterObjectMethod("Pass", "void removeTextureUnitState(uint16 index)", asMETHOD(Ogre::Pass, removeTextureUnitState), asCALL_THISCALL);
2150
2150
2151
- engine->RegisterObjectMethod (" Pass" , " GpuProgramParametersPtr getVertexProgramParameters()" , asMETHOD (Ogre::Pass, getVertexProgramParameters), asCALL_THISCALL);
2152
- engine->RegisterObjectMethod (" Pass" , " GpuProgramParametersPtr getFragmentProgramParameters()" , asMETHOD (Ogre::Pass, getFragmentProgramParameters), asCALL_THISCALL);
2153
- engine->RegisterObjectMethod (" Pass" , " GpuProgramParametersPtr getGeometryProgramParameters()" , asMETHOD (Ogre::Pass, getGeometryProgramParameters), asCALL_THISCALL);
2154
- engine->RegisterObjectMethod (" Pass" , " GpuProgramParametersPtr getTessellationHullProgramParameters()" , asMETHOD (Ogre::Pass, getTessellationHullProgramParameters), asCALL_THISCALL);
2155
- engine->RegisterObjectMethod (" Pass" , " GpuProgramParametersPtr getTessellationDomainProgramParameters()" , asMETHOD (Ogre::Pass, getTessellationDomainProgramParameters), asCALL_THISCALL);
2156
- engine->RegisterObjectMethod (" Pass" , " GpuProgramParametersPtr getComputeProgramParameters()" , asMETHOD (Ogre::Pass, getComputeProgramParameters), asCALL_THISCALL);
2151
+ r = engine->RegisterObjectMethod("Pass", "GpuProgramParametersPtr getVertexProgramParameters()", asFUNCTIONPR([](Ogre::Pass* self) -> Ogre::GpuProgramParametersPtr {
2152
+ try { return self->getVertexProgramParameters(); }
2153
+ catch (...) { App::GetScriptEngine()->forwardExceptionAsScriptEvent("Ogre::Pass::getVertexProgramParameters()"); return Ogre::GpuProgramParametersPtr(); }
2154
+ }, (Ogre::Pass*), Ogre::GpuProgramParametersPtr), asCALL_CDECL_OBJFIRST); ROR_ASSERT(r >= 0);
2155
+
2156
+ r = engine->RegisterObjectMethod("Pass", "GpuProgramParametersPtr getFragmentProgramParameters()", asFUNCTIONPR([](Ogre::Pass* self) -> Ogre::GpuProgramParametersPtr {
2157
+ try { return self->getFragmentProgramParameters(); }
2158
+ catch (...) { App::GetScriptEngine()->forwardExceptionAsScriptEvent("Ogre::Pass::getFragmentProgramParameters()"); return Ogre::GpuProgramParametersPtr(); }
2159
+ }, (Ogre::Pass*), Ogre::GpuProgramParametersPtr), asCALL_CDECL_OBJFIRST); ROR_ASSERT(r >= 0);
2160
+
2161
+ r = engine->RegisterObjectMethod("Pass", "GpuProgramParametersPtr getGeometryProgramParameters()", asFUNCTIONPR([](Ogre::Pass* self) -> Ogre::GpuProgramParametersPtr {
2162
+ try { return self->getGeometryProgramParameters(); }
2163
+ catch (...) { App::GetScriptEngine()->forwardExceptionAsScriptEvent("Ogre::Pass::getGeometryProgramParameters()"); return Ogre::GpuProgramParametersPtr(); }
2164
+ }, (Ogre::Pass*), Ogre::GpuProgramParametersPtr), asCALL_CDECL_OBJFIRST); ROR_ASSERT(r >= 0);
2165
+
2166
+ r = engine->RegisterObjectMethod("Pass", "GpuProgramParametersPtr getTessellationHullProgramParameters()", asFUNCTIONPR([](Ogre::Pass* self) -> Ogre::GpuProgramParametersPtr {
2167
+ try { return self->getTessellationHullProgramParameters(); }
2168
+ catch (...) { App::GetScriptEngine()->forwardExceptionAsScriptEvent("Ogre::Pass::getTessellationHullProgramParameters()"); return Ogre::GpuProgramParametersPtr(); }
2169
+ }, (Ogre::Pass*), Ogre::GpuProgramParametersPtr), asCALL_CDECL_OBJFIRST); ROR_ASSERT(r >= 0);
2170
+
2171
+ r = engine->RegisterObjectMethod("Pass", "GpuProgramParametersPtr getTessellationDomainProgramParameters()", asFUNCTIONPR([](Ogre::Pass* self) -> Ogre::GpuProgramParametersPtr {
2172
+ try { return self->getTessellationDomainProgramParameters(); }
2173
+ catch (...) { App::GetScriptEngine()->forwardExceptionAsScriptEvent("Ogre::Pass::getTessellationDomainProgramParameters()"); return Ogre::GpuProgramParametersPtr(); }
2174
+ }, (Ogre::Pass*), Ogre::GpuProgramParametersPtr), asCALL_CDECL_OBJFIRST); ROR_ASSERT(r >= 0);
2175
+
2176
+ r = engine->RegisterObjectMethod("Pass", "GpuProgramParametersPtr getComputeProgramParameters()", asFUNCTIONPR([](Ogre::Pass* self) -> Ogre::GpuProgramParametersPtr {
2177
+ try { return self->getComputeProgramParameters(); }
2178
+ catch (...) { App::GetScriptEngine()->forwardExceptionAsScriptEvent("Ogre::Pass::getComputeProgramParameters()"); return Ogre::GpuProgramParametersPtr(); }
2179
+ }, (Ogre::Pass*), Ogre::GpuProgramParametersPtr), asCALL_CDECL_OBJFIRST); ROR_ASSERT(r >= 0);
2157
2180
2158
2181
engine->RegisterObjectMethod("Pass", "void setVertexProgramParameters(GpuProgramParametersPtr)", asMETHOD(Ogre::Pass, setVertexProgramParameters), asCALL_THISCALL);
2159
2182
engine->RegisterObjectMethod("Pass", "void setFragmentProgramParameters(GpuProgramParametersPtr)", asMETHOD(Ogre::Pass, setFragmentProgramParameters), asCALL_THISCALL);
@@ -2290,6 +2313,19 @@ void registerOgreGpuProgramParameters(AngelScript::asIScriptEngine* engine)
2290
2313
catch (...) { App::GetScriptEngine()->forwardExceptionAsScriptEvent("Ogre::GpuProgramParameters::setNamedConstant(string, array<color>)"); }
2291
2314
}, (GpuProgramParametersPtr const&, const std::string&, CScriptArray*), void), asCALL_CDECL_OBJFIRST); ROR_ASSERT(r >= 0);
2292
2315
2316
+ r = engine->RegisterObjectMethod("GpuProgramParametersPtr", "array<string>@ __getNamedConstants()", asFUNCTIONPR([](GpuProgramParametersPtr const& self) -> CScriptArray* {
2317
+ try {
2318
+ std::vector<std::string> keys;
2319
+ const Ogre::GpuNamedConstants& namedConstants = self->getConstantDefinitions();
2320
+ for (auto& pair : namedConstants.map)
2321
+ keys.push_back(pair.first);
2322
+ return RoR::VectorToScriptArray(keys, "string");
2323
+ }
2324
+ catch (...) {
2325
+ App::GetScriptEngine()->forwardExceptionAsScriptEvent("Ogre::GpuProgramParameters::__getNamedConstants()");
2326
+ return nullptr; }
2327
+ }, (GpuProgramParametersPtr const&), CScriptArray*), asCALL_CDECL_OBJFIRST); ROR_ASSERT(r >= 0);
2328
+
2293
2329
2294
2330
r = engine->SetDefaultNamespace(""); ROR_ASSERT(r >= 0);
2295
2331
}
0 commit comments