28using namespace AngelScript;
50 result = engine->RegisterEnum(
"RoadType");
ROR_ASSERT(result >= 0);
51 result = engine->RegisterEnumValue(
"RoadType",
"ROAD_AUTOMATIC", (
int)RoadType::ROAD_AUTOMATIC);
ROR_ASSERT(result >= 0);
52 result = engine->RegisterEnumValue(
"RoadType",
"ROAD_FLAT", (
int)RoadType::ROAD_FLAT);
ROR_ASSERT(result >= 0);
53 result = engine->RegisterEnumValue(
"RoadType",
"ROAD_LEFT", (
int)RoadType::ROAD_LEFT);
ROR_ASSERT(result >= 0);
54 result = engine->RegisterEnumValue(
"RoadType",
"ROAD_RIGHT", (
int)RoadType::ROAD_RIGHT);
ROR_ASSERT(result >= 0);
55 result = engine->RegisterEnumValue(
"RoadType",
"ROAD_BOTH", (
int)RoadType::ROAD_BOTH);
ROR_ASSERT(result >= 0);
56 result = engine->RegisterEnumValue(
"RoadType",
"ROAD_BRIDGE", (
int)RoadType::ROAD_BRIDGE);
ROR_ASSERT(result >= 0);
57 result = engine->RegisterEnumValue(
"RoadType",
"ROAD_MONORAIL", (
int)RoadType::ROAD_MONORAIL);
ROR_ASSERT(result >= 0);
60 result = engine->RegisterEnum(
"TextureFit");
ROR_ASSERT(result >= 0);
61 result = engine->RegisterEnumValue(
"TextureFit",
"TEXFIT_NONE", (
int)TextureFit::TEXFIT_NONE);
ROR_ASSERT(result >= 0);
62 result = engine->RegisterEnumValue(
"TextureFit",
"TEXFIT_BRICKWALL", (
int)TextureFit::TEXFIT_BRICKWALL);
ROR_ASSERT(result >= 0);
63 result = engine->RegisterEnumValue(
"TextureFit",
"TEXFIT_ROADS1", (
int)TextureFit::TEXFIT_ROADS1);
ROR_ASSERT(result >= 0);
64 result = engine->RegisterEnumValue(
"TextureFit",
"TEXFIT_ROADS2", (
int)TextureFit::TEXFIT_ROADS2);
ROR_ASSERT(result >= 0);
65 result = engine->RegisterEnumValue(
"TextureFit",
"TEXFIT_ROAD", (
int)TextureFit::TEXFIT_ROAD);
ROR_ASSERT(result >= 0);
66 result = engine->RegisterEnumValue(
"TextureFit",
"TEXFIT_ROADS3", (
int)TextureFit::TEXFIT_ROADS3);
ROR_ASSERT(result >= 0);
67 result = engine->RegisterEnumValue(
"TextureFit",
"TEXFIT_ROADS4", (
int)TextureFit::TEXFIT_ROADS4);
ROR_ASSERT(result >= 0);
68 result = engine->RegisterEnumValue(
"TextureFit",
"TEXFIT_CONCRETEWALL", (
int)TextureFit::TEXFIT_CONCRETEWALL);
ROR_ASSERT(result >= 0);
69 result = engine->RegisterEnumValue(
"TextureFit",
"TEXFIT_CONCRETEWALLI", (
int)TextureFit::TEXFIT_CONCRETEWALLI);
ROR_ASSERT(result >= 0);
70 result = engine->RegisterEnumValue(
"TextureFit",
"TEXFIT_CONCRETETOP", (
int)TextureFit::TEXFIT_CONCRETETOP);
ROR_ASSERT(result >= 0);
71 result = engine->RegisterEnumValue(
"TextureFit",
"TEXFIT_CONCRETEUNDER", (
int)TextureFit::TEXFIT_CONCRETEUNDER);
ROR_ASSERT(result >= 0);
76 ProceduralPoint::RegisterRefCountingObject(engine,
"ProceduralPointClass");
78 result = engine->RegisterObjectBehaviour(
"ProceduralPointClass", asBEHAVE_FACTORY,
"ProceduralPointClass@+ f()", asFUNCTION(
ProceduralPointFactory), asCALL_CDECL);
ROR_ASSERT(result >= 0);
80 result = engine->RegisterObjectMethod(
"ProceduralPointClass",
"vector3& get_position() property", asFUNCTIONPR([](
ProceduralPoint* self) -> Ogre::Vector3& {
return self->
position; }, (
ProceduralPoint*), Ogre::Vector3&), asCALL_CDECL_OBJFIRST);
ROR_ASSERT(result >= 0);
81 result = engine->RegisterObjectMethod(
"ProceduralPointClass",
"quaternion& get_rotation() property", asFUNCTIONPR([](
ProceduralPoint* self) -> Ogre::Quaternion& {
return self->
rotation; }, (
ProceduralPoint*), Ogre::Quaternion&), asCALL_CDECL_OBJFIRST);
ROR_ASSERT(result >= 0);
82 result = engine->RegisterObjectMethod(
"ProceduralPointClass",
"float get_width() property", asFUNCTIONPR([](
ProceduralPoint* self) {
return self->
width; }, (
ProceduralPoint*),
float), asCALL_CDECL_OBJFIRST);
ROR_ASSERT(result >= 0);
83 result = engine->RegisterObjectMethod(
"ProceduralPointClass",
"float get_border_width() property", asFUNCTIONPR([](
ProceduralPoint* self) {
return self->
bwidth; }, (
ProceduralPoint*),
float), asCALL_CDECL_OBJFIRST);
ROR_ASSERT(result >= 0);
84 result = engine->RegisterObjectMethod(
"ProceduralPointClass",
"float get_border_height() property", asFUNCTIONPR([](
ProceduralPoint* self) {
return self->
bheight; }, (
ProceduralPoint*),
float), asCALL_CDECL_OBJFIRST);
ROR_ASSERT(result >= 0);
88 result = engine->RegisterObjectMethod(
"ProceduralPointClass",
"void set_position(const vector3& in pos) property", asFUNCTIONPR([](
ProceduralPoint* self,
const Ogre::Vector3& pos) { self->
position = pos; }, (
ProceduralPoint*,
const Ogre::Vector3&),
void), asCALL_CDECL_OBJFIRST);
ROR_ASSERT(result >= 0);
89 result = engine->RegisterObjectMethod(
"ProceduralPointClass",
"void set_rotation(const quaternion& in rot) property", asFUNCTIONPR([](
ProceduralPoint* self,
const Ogre::Quaternion& rot) { self->
rotation = rot; }, (
ProceduralPoint*,
const Ogre::Quaternion&),
void), asCALL_CDECL_OBJFIRST);
ROR_ASSERT(result >= 0);
90 result = engine->RegisterObjectMethod(
"ProceduralPointClass",
"void set_width(float width) property", asFUNCTIONPR([](
ProceduralPoint* self,
float width) { self->
width = width; }, (
ProceduralPoint*, float),
void), asCALL_CDECL_OBJFIRST);
ROR_ASSERT(result >= 0);
91 result = engine->RegisterObjectMethod(
"ProceduralPointClass",
"void set_border_width(float bwidth) property", asFUNCTIONPR([](
ProceduralPoint* self,
float bwidth) { self->
bwidth = bwidth; }, (
ProceduralPoint*, float),
void), asCALL_CDECL_OBJFIRST);
ROR_ASSERT(result >= 0);
92 result = engine->RegisterObjectMethod(
"ProceduralPointClass",
"void set_border_height(float bheight) property", asFUNCTIONPR([](
ProceduralPoint* self,
float bheight) { self->
bheight = bheight; }, (
ProceduralPoint*, float),
void), asCALL_CDECL_OBJFIRST);
ROR_ASSERT(result >= 0);
94 result = engine->RegisterObjectMethod(
"ProceduralPointClass",
"void set_pillar_type(int type) property", asFUNCTIONPR([](
ProceduralPoint* self,
int type) { self->
pillartype = type; }, (
ProceduralPoint*, int),
void), asCALL_CDECL_OBJFIRST);
ROR_ASSERT(result >= 0);
97 ProceduralRoad::RegisterRefCountingObject(engine,
"ProceduralRoadClass");
99 result = engine->RegisterObjectBehaviour(
"ProceduralRoadClass", asBEHAVE_FACTORY,
"ProceduralRoadClass@+ f()", asFUNCTION(
ProceduralRoadFactory), asCALL_CDECL);
ROR_ASSERT(result >= 0);
100 result = engine->RegisterObjectMethod(
"ProceduralRoadClass",
"void addBlock(vector3 pos, quaternion rot, RoadType type, float width, float border_width, float border_height, int pillar_type = 1)", asMETHOD(
RoR::ProceduralRoad, addBlock), asCALL_THISCALL);
ROR_ASSERT(result >= 0);
101 result = engine->RegisterObjectMethod(
"ProceduralRoadClass",
"void addQuad(vector3 p1, vector3 p2, vector3 p3, vector3 p4, TextureFit texfit, vector3 pos, vector3 lastpos, float width, bool flip = false)", asMETHOD(
RoR::ProceduralRoad, addQuad), asCALL_THISCALL);
ROR_ASSERT(result >= 0);
102 result = engine->RegisterObjectMethod(
"ProceduralRoadClass",
"void addCollisionQuad(vector3 p1, vector3 p2, vector3 p3, vector3 p4, const string&in gm_name, bool flip = false)", asMETHODPR(
RoR::ProceduralRoad, addCollisionQuad, (Ogre::Vector3, Ogre::Vector3, Ogre::Vector3, Ogre::Vector3, std::string
const&,
bool),
void), asCALL_THISCALL);
ROR_ASSERT(result >= 0);
103 result = engine->RegisterObjectMethod(
"ProceduralRoadClass",
"void createMesh()", asMETHOD(
RoR::ProceduralRoad, createMesh), asCALL_THISCALL);
ROR_ASSERT(result >= 0);
104 result = engine->RegisterObjectMethod(
"ProceduralRoadClass",
"void finish()", asMETHOD(
RoR::ProceduralRoad, finish), asCALL_THISCALL);
ROR_ASSERT(result >= 0);
105 result = engine->RegisterObjectMethod(
"ProceduralRoadClass",
"void setCollisionEnabled(bool v)", asMETHOD(
RoR::ProceduralRoad, setCollisionEnabled), asCALL_THISCALL);
ROR_ASSERT(result >= 0);
108 ProceduralObject::RegisterRefCountingObject(engine,
"ProceduralObjectClass");
110 result = engine->RegisterObjectBehaviour(
"ProceduralObjectClass", asBEHAVE_FACTORY,
"ProceduralObjectClass@+ f()", asFUNCTION(
ProceduralObjectFactory), asCALL_CDECL);
ROR_ASSERT(result >= 0);
111 result = engine->RegisterObjectMethod(
"ProceduralObjectClass",
"string getName()", asMETHOD(
RoR::ProceduralObject, getName), asCALL_THISCALL);
ROR_ASSERT(result >= 0);
112 result = engine->RegisterObjectMethod(
"ProceduralObjectClass",
"void setName(const string&in)", asMETHOD(
RoR::ProceduralObject, setName), asCALL_THISCALL);
ROR_ASSERT(result >= 0);
113 result = engine->RegisterObjectMethod(
"ProceduralObjectClass",
"void addPoint(ProceduralPointClassPtr @)", asMETHOD(
RoR::ProceduralObject, addPoint), asCALL_THISCALL);
ROR_ASSERT(result >= 0);
114 result = engine->RegisterObjectMethod(
"ProceduralObjectClass",
"void insertPoint(int pos, ProceduralPointClassPtr @)", asMETHOD(
RoR::ProceduralObject, insertPoint), asCALL_THISCALL);
ROR_ASSERT(result >= 0);
115 result = engine->RegisterObjectMethod(
"ProceduralObjectClass",
"void deletePoint(int pos)", asMETHOD(
RoR::ProceduralObject, deletePoint), asCALL_THISCALL);
ROR_ASSERT(result >= 0);
116 result = engine->RegisterObjectMethod(
"ProceduralObjectClass",
"ProceduralPointClassPtr @getPoint(int pos)", asMETHOD(
RoR::ProceduralObject, getPoint), asCALL_THISCALL);
ROR_ASSERT(result >= 0);
117 result = engine->RegisterObjectMethod(
"ProceduralObjectClass",
"int getNumPoints()", asMETHOD(
RoR::ProceduralObject, getNumPoints), asCALL_THISCALL);
ROR_ASSERT(result >= 0);
118 result = engine->RegisterObjectMethod(
"ProceduralObjectClass",
"ProceduralRoadClassPtr @getRoad()", asMETHOD(
ProceduralObject, getRoad), asCALL_THISCALL);
ROR_ASSERT(result >= 0);
125 ProceduralManager::RegisterRefCountingObject(engine,
"ProceduralManagerClass");
127 result = engine->RegisterObjectMethod(
"ProceduralManagerClass",
"void addObject(ProceduralObjectClassPtr@)", asMETHOD(
ProceduralManager, addObject), asCALL_THISCALL);
ROR_ASSERT(result>=0);
128 result = engine->RegisterObjectMethod(
"ProceduralManagerClass",
"void removeObject(ProceduralObjectClassPtr@)", asMETHOD(
ProceduralManager, removeObject), asCALL_THISCALL);
ROR_ASSERT(result >= 0);
129 result = engine->RegisterObjectMethod(
"ProceduralManagerClass",
"int getNumObjects()", asMETHOD(
RoR::ProceduralManager, getNumObjects), asCALL_THISCALL);
ROR_ASSERT(result >= 0);
130 result = engine->RegisterObjectMethod(
"ProceduralManagerClass",
"ProceduralObjectClassPtr @getObject(int pos)", asMETHOD(
ProceduralManager, getObject), asCALL_THISCALL);
ROR_ASSERT(result >= 0);
131 result = engine->RegisterObjectMethod(
"ProceduralManagerClass",
"void rebuildObjectMesh(ProceduralObjectClassPtr@)", asMETHOD(
ProceduralManager, rebuildObjectMesh), asCALL_THISCALL);
ROR_ASSERT(result >= 0);
132 result = engine->RegisterObjectMethod(
"ProceduralManagerClass",
"void deleteObjectMesh(ProceduralObjectClassPtr@)", asMETHOD(
ProceduralManager, deleteObjectMesh), asCALL_THISCALL);
ROR_ASSERT(result >= 0);
#define ROR_ASSERT(_EXPR)
static ProceduralPoint * ProceduralPointFactory()
static ProceduralObject * ProceduralObjectFactory()
static ProceduralRoad * ProceduralRoadFactory()
static void RegisterRefCountingObjectPtr(AS_NAMESPACE_QUALIFIER asIScriptEngine *engine, const char *handle_name, const char *obj_name)
void RegisterProceduralRoad(AngelScript::asIScriptEngine *engine)
defined in ProceduralRoadAngelscript.cpp
bool collision_enabled
Generate collision triangles?
Ogre::Quaternion rotation