Rigs of Rods 2023.09
Soft-body Physics Simulation
Loading...
Searching...
No Matches
AircraftEngineAngelscript.cpp
Go to the documentation of this file.
1#include "Application.h"
2#include "ScriptEngine.h"
3#include "AeroEngine.h"
4#include "SimData.h"
5
6#include <angelscript.h>
7
8using namespace AngelScript;
9
10void RoR::RegisterAircraftEngine(asIScriptEngine* engine)
11{
12 int result = 0;
13
14 AeroEngine::RegisterRefCountingObject(engine, "AircraftEngineClass");
15 AeroEnginePtr::RegisterRefCountingObjectPtr(engine, "AircraftEngineClassPtr", "AircraftEngineClass");
16
17 // enum AircraftDataTypes
18 result = engine->RegisterEnum("AircraftEngineTypes"); ROR_ASSERT(result >= 0);
19 result = engine->RegisterEnumValue("AircraftEngineTypes", "AE_UNKNOWN", (int)AeroEngineType::AE_UNKNOWN); ROR_ASSERT(result >= 0);
20 result = engine->RegisterEnumValue("AircraftEngineTypes", "AE_TURBOJET", (int)AeroEngineType::AE_TURBOJET); ROR_ASSERT(result >= 0);
21 result = engine->RegisterEnumValue("AircraftEngineTypes", "AE_PROPELLER", (int)AeroEngineType::AE_XPROP); ROR_ASSERT(result >= 0);
22
23 // PLEASE maintain same order as in 'physics/air/AeroEngine.h' and 'doc/angelscript/Script2Game/AircraftEngineClass.h'
24 result = engine->RegisterObjectMethod("AircraftEngineClass", "void setThrottle(float)", asMETHOD(AeroEngine, setThrottle), asCALL_THISCALL); ROR_ASSERT(result >= 0);
25 result = engine->RegisterObjectMethod("AircraftEngineClass", "float getThrottle()", asMETHOD(AeroEngine, getThrottle), asCALL_THISCALL); ROR_ASSERT(result >= 0);
26 result = engine->RegisterObjectMethod("AircraftEngineClass", "void toggleReverse()", asMETHOD(AeroEngine, toggleReverse), asCALL_THISCALL); ROR_ASSERT(result >= 0);
27 result = engine->RegisterObjectMethod("AircraftEngineClass", "void setReverse(bool)", asMETHOD(AeroEngine, setReverse), asCALL_THISCALL); ROR_ASSERT(result >= 0);
28 result = engine->RegisterObjectMethod("AircraftEngineClass", "bool getReverse()", asMETHOD(AeroEngine, getReverse), asCALL_THISCALL); ROR_ASSERT(result >= 0);
29 result = engine->RegisterObjectMethod("AircraftEngineClass", "void flipStart()", asMETHOD(AeroEngine, flipStart), asCALL_THISCALL); ROR_ASSERT(result >= 0);
30 result = engine->RegisterObjectMethod("AircraftEngineClass", "float getRPMPercent()", asMETHOD(AeroEngine, getRPMpc), asCALL_THISCALL); ROR_ASSERT(result >= 0);
31 result = engine->RegisterObjectMethod("AircraftEngineClass", "bool isFailed()", asMETHOD(AeroEngine, isFailed), asCALL_THISCALL); ROR_ASSERT(result >= 0);
32 result = engine->RegisterObjectMethod("AircraftEngineClass", "AircraftEngineTypes getType()", asMETHOD(AeroEngine, getType), asCALL_THISCALL); ROR_ASSERT(result >= 0);
33 result = engine->RegisterObjectMethod("AircraftEngineClass", "bool getIgnition()", asMETHOD(AeroEngine, getIgnition), asCALL_THISCALL); ROR_ASSERT(result >= 0);
34 result = engine->RegisterObjectMethod("AircraftEngineClass", "int getFrontNode()", asMETHOD(AeroEngine, GetFrontNode), asCALL_THISCALL); ROR_ASSERT(result >= 0);
35 result = engine->RegisterObjectMethod("AircraftEngineClass", "int getBackNode()", asMETHOD(AeroEngine, GetBackNode), asCALL_THISCALL); ROR_ASSERT(result >= 0);
36 result = engine->RegisterObjectMethod("AircraftEngineClass", "bool getWarmup()", asMETHOD(AeroEngine, getWarmup), asCALL_THISCALL); ROR_ASSERT(result >= 0);
37}
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 RegisterAircraftEngine(AngelScript::asIScriptEngine *engine)