Rigs of Rods 2023.09
Soft-body Physics Simulation
Loading...
Searching...
No Matches
TurbopropAngelscript.cpp
Go to the documentation of this file.
1#include "Application.h"
2#include "ScriptEngine.h"
3#include "TurboProp.h"
4#include "SimData.h"
5
6#include <angelscript.h>
7
8using namespace AngelScript;
9
10void RoR::RegisterTurboprop(asIScriptEngine* engine)
11{
12 int result = 0;
13
14 AeroEngine::RegisterRefCountingObject(engine, "TurbopropClass");
15 AeroEnginePtr::RegisterRefCountingObjectPtr(engine, "TurbopropClassPtr", "TurbopropClass");
16
17 // PLEASE maintain same order as in 'physics/air/Turboprop.h' and 'doc/angelscript/Script2Game/TurbopropClass.h'
18 result = engine->RegisterObjectMethod("TurbopropClass", "float getPropellerPitch()", asFUNCTIONPR([](Turboprop* self) -> float {
19 return self->pitch; }, (Turboprop*), float), asCALL_CDECL_OBJFIRST); ROR_ASSERT(result >= 0);
20 result = engine->RegisterObjectMethod("TurbopropClass", "float getPropellerIndicatedTorque()", asFUNCTIONPR([](Turboprop* self) -> float {
21 return self->indicated_torque; }, (Turboprop*), float), asCALL_CDECL_OBJFIRST); ROR_ASSERT(result >= 0);
22 result = engine->RegisterObjectMethod("TurbopropClass", "float getPropellerMaxTorque()", asFUNCTIONPR([](Turboprop* self) -> float {
23 return self->max_torque; }, (Turboprop*), float), asCALL_CDECL_OBJFIRST); ROR_ASSERT(result >= 0);
24 result = engine->RegisterObjectMethod("TurbopropClass", "float getPropellerMaxPower()", asFUNCTIONPR([](Turboprop* self) -> float {
25 return self->getMaxPower(); }, (Turboprop*), float), asCALL_CDECL_OBJFIRST); ROR_ASSERT(result >= 0);
26 result = engine->RegisterObjectMethod("TurbopropClass", "bool isPistonProp()", asFUNCTIONPR([](Turboprop* self) -> bool {
27 return self->is_piston; }, (Turboprop*), bool), asCALL_CDECL_OBJFIRST); ROR_ASSERT(result >= 0);
28}
Central state/object manager and communications hub.
#define ROR_ASSERT(_EXPR)
Definition Application.h:40
Core data structures for simulation; Everything affected by by either physics, network or user intera...
void RegisterTurboprop(AngelScript::asIScriptEngine *engine)