27 #include <angelscript.h>
29 using namespace AngelScript;
35 r = engine->RegisterEnum(
"autoswitch");
ROR_ASSERT(r >= 0);
43 r = engine->RegisterEnum(
"SimGearboxMode");
ROR_ASSERT(r >= 0);
44 r = engine->RegisterEnumValue(
"SimGearboxMode",
"AUTO",
static_cast<int>(SimGearboxMode::AUTO));
ROR_ASSERT(r >= 0);
45 r = engine->RegisterEnumValue(
"SimGearboxMode",
"SEMI_AUTO",
static_cast<int>(SimGearboxMode::SEMI_AUTO));
ROR_ASSERT(r >= 0);
46 r = engine->RegisterEnumValue(
"SimGearboxMode",
"MANUAL",
static_cast<int>(SimGearboxMode::MANUAL));
ROR_ASSERT(r >= 0);
47 r = engine->RegisterEnumValue(
"SimGearboxMode",
"MANUAL_STICK",
static_cast<int>(SimGearboxMode::MANUAL_STICK));
ROR_ASSERT(r >= 0);
48 r = engine->RegisterEnumValue(
"SimGearboxMode",
"MANUAL_RANGES",
static_cast<int>(SimGearboxMode::MANUAL_RANGES));
ROR_ASSERT(r >= 0);
51 Engine::RegisterRefCountingObject(engine,
"EngineClass");
52 EnginePtr::RegisterRefCountingObjectPtr(engine,
"EngineClassPtr",
"EngineClass");
55 r = engine->RegisterObjectMethod(
"EngineClass",
"float getShiftDownRPM() const", asMETHOD(Engine, getShiftDownRPM), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
56 r = engine->RegisterObjectMethod(
"EngineClass",
"float getShiftUpRPM() const", asMETHOD(Engine, getShiftUpRPM), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
57 r = engine->RegisterObjectMethod(
"EngineClass",
"float getEngineTorque() const", asMETHOD(Engine, getEngineTorque), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
58 r = engine->RegisterObjectMethod(
"EngineClass",
"float getDiffRatio() const", asMETHOD(Engine, getDiffRatio), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
59 r = engine->RegisterObjectMethod(
"EngineClass",
"float getGearRatio(int) const", asMETHODPR(Engine, getGearRatio, (
int),
float), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
60 r = engine->RegisterObjectMethod(
"EngineClass",
"int getNumGears() const", asMETHOD(Engine, getNumGears), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
61 r = engine->RegisterObjectMethod(
"EngineClass",
"int getNumGearsRanges() const", asMETHOD(Engine, getNumGearsRanges), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
64 r = engine->RegisterObjectMethod(
"EngineClass",
"float getEngineInertia() const", asMETHOD(Engine, getEngineInertia), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
65 r = engine->RegisterObjectMethod(
"EngineClass",
"uint8 getEngineType() const", asMETHOD(Engine, getEngineType), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
66 r = engine->RegisterObjectMethod(
"EngineClass",
"bool isElectric() const", asMETHOD(Engine, isElectric), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
67 r = engine->RegisterObjectMethod(
"EngineClass",
"bool hasAir() const", asMETHOD(Engine, hasAir), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
68 r = engine->RegisterObjectMethod(
"EngineClass",
"bool hasTurbo() const", asMETHOD(Engine, hasTurbo), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
69 r = engine->RegisterObjectMethod(
"EngineClass",
"float getClutchForce() const", asMETHOD(Engine, getClutchForce), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
70 r = engine->RegisterObjectMethod(
"EngineClass",
"float getShiftTime() const", asMETHOD(Engine, getShiftTime), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
71 r = engine->RegisterObjectMethod(
"EngineClass",
"float getClutchTime() const", asMETHOD(Engine, getClutchTime), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
72 r = engine->RegisterObjectMethod(
"EngineClass",
"float getPostShiftTime() const", asMETHOD(Engine, getPostShiftTime), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
73 r = engine->RegisterObjectMethod(
"EngineClass",
"float getStallRPM() const", asMETHOD(Engine, getStallRPM), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
74 r = engine->RegisterObjectMethod(
"EngineClass",
"float getIdleRPM() const", asMETHOD(Engine, getIdleRPM), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
75 r = engine->RegisterObjectMethod(
"EngineClass",
"float getMaxIdleMixture() const", asMETHOD(Engine, getMaxIdleMixture), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
76 r = engine->RegisterObjectMethod(
"EngineClass",
"float getMinIdleMixture() const", asMETHOD(Engine, getMinIdleMixture), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
77 r = engine->RegisterObjectMethod(
"EngineClass",
"float getBrakingTorque() const", asMETHOD(Engine, getBrakingTorque), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
80 r = engine->RegisterObjectMethod(
"EngineClass",
"float getAcc()", asMETHOD(Engine, getAcc), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
81 r = engine->RegisterObjectMethod(
"EngineClass",
"float getClutch()", asMETHOD(Engine, getClutch), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
82 r = engine->RegisterObjectMethod(
"EngineClass",
"float getCrankFactor()", asMETHOD(Engine, getCrankFactor), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
83 r = engine->RegisterObjectMethod(
"EngineClass",
"float getRPM()", asMETHOD(Engine, getRPM), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
84 r = engine->RegisterObjectMethod(
"EngineClass",
"float getSmoke()", asMETHOD(Engine, getSmoke), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
85 r = engine->RegisterObjectMethod(
"EngineClass",
"float getTorque()", asMETHOD(Engine, getTorque), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
86 r = engine->RegisterObjectMethod(
"EngineClass",
"float getTurboPSI()", asMETHOD(Engine, getTurboPSI), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
87 r = engine->RegisterObjectMethod(
"EngineClass",
"SimGearboxMode getAutoMode()", asMETHOD(Engine, getAutoMode), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
88 r = engine->RegisterObjectMethod(
"EngineClass",
"int getGear()", asMETHOD(Engine, getGear), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
89 r = engine->RegisterObjectMethod(
"EngineClass",
"int getGearRange()", asMETHOD(Engine, getGearRange), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
90 r = engine->RegisterObjectMethod(
"EngineClass",
"bool isRunning()", asMETHOD(Engine, isRunning), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
91 r = engine->RegisterObjectMethod(
"EngineClass",
"bool hasContact()", asMETHOD(Engine, hasContact), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
92 r = engine->RegisterObjectMethod(
"EngineClass",
"float getCurEngineTorque()", asMETHOD(Engine, getCurEngineTorque), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
93 r = engine->RegisterObjectMethod(
"EngineClass",
"float getInputShaftRPM()", asMETHOD(Engine, getInputShaftRPM), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
94 r = engine->RegisterObjectMethod(
"EngineClass",
"float getDriveRatio()", asMETHOD(Engine, getDriveRatio), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
95 r = engine->RegisterObjectMethod(
"EngineClass",
"float getEnginePower()", asMETHODPR(Engine, getEnginePower, (),
float), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
96 r = engine->RegisterObjectMethod(
"EngineClass",
"float getEnginePower(float)", asMETHODPR(Engine, getEnginePower, (
float),
float), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
97 r = engine->RegisterObjectMethod(
"EngineClass",
"float getTurboPower()", asMETHOD(Engine, getTurboPower), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
98 r = engine->RegisterObjectMethod(
"EngineClass",
"float getIdleMixture()", asMETHOD(Engine, getIdleMixture), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
99 r = engine->RegisterObjectMethod(
"EngineClass",
"float getPrimeMixture()", asMETHOD(Engine, getPrimeMixture), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
100 r = engine->RegisterObjectMethod(
"EngineClass",
"autoswitch getAutoShift()", asMETHOD(Engine, getAutoShift), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
101 r = engine->RegisterObjectMethod(
"EngineClass",
"float getAccToHoldRPM()", asMETHOD(Engine, getAccToHoldRPM), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
102 r = engine->RegisterObjectMethod(
"EngineClass",
"float getWheelSpin()", asMETHOD(Engine, getWheelSpin), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
105 r = engine->RegisterObjectMethod(
"EngineClass",
"float getPostShiftClock()", asMETHOD(Engine, getPostShiftClock), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
106 r = engine->RegisterObjectMethod(
"EngineClass",
"float getShiftClock()", asMETHOD(Engine, getShiftClock), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
107 r = engine->RegisterObjectMethod(
"EngineClass",
"bool isPostShifting()", asMETHOD(Engine, isPostShifting), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
108 r = engine->RegisterObjectMethod(
"EngineClass",
"bool isShifting()", asMETHOD(Engine, isShifting), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
109 r = engine->RegisterObjectMethod(
"EngineClass",
"int getShifTargetGear()", asMETHOD(Engine, getShifTargetGear), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
110 r = engine->RegisterObjectMethod(
"EngineClass",
"float getAutoShiftBehavior()", asMETHOD(Engine, getAutoShiftBehavior), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
111 r = engine->RegisterObjectMethod(
"EngineClass",
"int getUpshiftDelayCounter()", asMETHOD(Engine, getUpshiftDelayCounter), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
112 r = engine->RegisterObjectMethod(
"EngineClass",
"int getKickdownDelayCounter()", asMETHOD(Engine, getKickdownDelayCounter), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
115 r = engine->RegisterObjectMethod(
"EngineClass",
"void setAcc(float val)", asMETHOD(Engine, setAcc), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
116 r = engine->RegisterObjectMethod(
"EngineClass",
"void autoSetAcc(float val)", asMETHOD(Engine, autoSetAcc), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
117 r = engine->RegisterObjectMethod(
"EngineClass",
"void setClutch(float clutch)", asMETHOD(Engine, setClutch), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
118 r = engine->RegisterObjectMethod(
"EngineClass",
"void setRPM(float rpm)", asMETHOD(Engine, setRPM), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
119 r = engine->RegisterObjectMethod(
"EngineClass",
"void setWheelSpin(float rpm)", asMETHOD(Engine, setWheelSpin), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
120 r = engine->RegisterObjectMethod(
"EngineClass",
"void setAutoMode(SimGearboxMode mode)", asMETHOD(Engine, setAutoMode), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
121 r = engine->RegisterObjectMethod(
"EngineClass",
"void setPrime(bool p)", asMETHOD(Engine, setPrime), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
122 r = engine->RegisterObjectMethod(
"EngineClass",
"void setHydroPump(float work)", asMETHOD(Engine, setHydroPump), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
123 r = engine->RegisterObjectMethod(
"EngineClass",
"void setManualClutch(float val)", asMETHOD(Engine, setManualClutch), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
124 r = engine->RegisterObjectMethod(
"EngineClass",
"void setTCaseRatio(float ratio)", asMETHOD(Engine, setTCaseRatio), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
125 r = engine->RegisterObjectMethod(
"EngineClass",
"void toggleContact()", asMETHOD(Engine, toggleContact), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
126 r = engine->RegisterObjectMethod(
"EngineClass",
"void offStart()", asMETHOD(Engine, offStart), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
127 r = engine->RegisterObjectMethod(
"EngineClass",
"void startEngine()", asMETHOD(Engine, startEngine), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
128 r = engine->RegisterObjectMethod(
"EngineClass",
"void stopEngine()", asMETHOD(Engine, stopEngine), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
131 r = engine->RegisterObjectMethod(
"EngineClass",
"void toggleAutoMode()", asMETHOD(Engine, toggleAutoMode), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
132 r = engine->RegisterObjectMethod(
"EngineClass",
"void autoShiftDown()", asMETHOD(Engine, autoShiftDown), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
133 r = engine->RegisterObjectMethod(
"EngineClass",
"void autoShiftSet(autoswitch mode)", asMETHOD(Engine, autoShiftSet), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
134 r = engine->RegisterObjectMethod(
"EngineClass",
"void autoShiftUp()", asMETHOD(Engine, autoShiftUp), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
135 r = engine->RegisterObjectMethod(
"EngineClass",
"void setGear(int v)", asMETHOD(Engine, setGear), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
136 r = engine->RegisterObjectMethod(
"EngineClass",
"void setGearRange(int v)", asMETHOD(Engine, setGearRange), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
137 r = engine->RegisterObjectMethod(
"EngineClass",
"void shift(int val)", asMETHOD(Engine, shift), asCALL_THISCALL);
ROR_ASSERT(r >= 0);
138 r = engine->RegisterObjectMethod(
"EngineClass",
"void shiftTo(int val)", asMETHOD(Engine, shiftTo), asCALL_THISCALL);
ROR_ASSERT(r >= 0);