27#include <angelscript.h>
29#include <OgreRenderOperation.h>
31#include <Overlay/OgreOverlaySystem.h>
32#include <Overlay/OgreOverlayManager.h>
33#include <Overlay/OgreOverlay.h>
34#include <Overlay/OgreOverlayContainer.h>
37using namespace AngelScript;
46 r = engine->RegisterObjectType(
"degree",
sizeof(Degree), asOBJ_VALUE | asOBJ_POD | asOBJ_APP_CLASS_CA | asOBJ_APP_CLASS_ALLFLOATS);
50 r = engine->RegisterObjectType(
"radian",
sizeof(Radian), asOBJ_VALUE | asOBJ_POD | asOBJ_APP_CLASS_CA | asOBJ_APP_CLASS_ALLFLOATS);
54 r = engine->RegisterObjectType(
"vector2",
sizeof(Vector2), asOBJ_VALUE | asOBJ_POD | asOBJ_APP_CLASS_CA | asOBJ_APP_CLASS_ALLFLOATS);
58 r = engine->RegisterObjectType(
"vector3",
sizeof(Vector3), asOBJ_VALUE | asOBJ_POD | asOBJ_APP_CLASS_CA | asOBJ_APP_CLASS_ALLFLOATS);
62 r = engine->RegisterObjectType(
"quaternion",
sizeof(Quaternion), asOBJ_VALUE | asOBJ_POD | asOBJ_APP_CLASS_CA | asOBJ_APP_CLASS_ALLFLOATS);
66 r = engine->RegisterObjectType(
"color",
sizeof(ColourValue), asOBJ_VALUE | asOBJ_POD | asOBJ_APP_CLASS_CA | asOBJ_APP_CLASS_ALLFLOATS);
70 r = engine->RegisterObjectType(
"box",
sizeof(Box), asOBJ_VALUE | asOBJ_POD | asOBJ_APP_CLASS_CA | asOBJ_APP_CLASS_ALLINTS);
75 r = engine->RegisterObjectProperty(
"vector3",
"float x", offsetof(Ogre::Vector3,
x));
ROR_ASSERT( r >= 0 );
76 r = engine->RegisterObjectProperty(
"vector3",
"float y", offsetof(Ogre::Vector3,
y));
ROR_ASSERT( r >= 0 );
77 r = engine->RegisterObjectProperty(
"vector3",
"float z", offsetof(Ogre::Vector3,
z));
ROR_ASSERT( r >= 0 );
79 r = engine->RegisterObjectProperty(
"vector2",
"float x", offsetof(Ogre::Vector2,
x));
ROR_ASSERT( r >= 0 );
80 r = engine->RegisterObjectProperty(
"vector2",
"float y", offsetof(Ogre::Vector2,
y));
ROR_ASSERT( r >= 0 );
82 r = engine->RegisterObjectProperty(
"quaternion",
"float w", offsetof(Quaternion,
w));
ROR_ASSERT( r >= 0 );
83 r = engine->RegisterObjectProperty(
"quaternion",
"float x", offsetof(Quaternion,
x));
ROR_ASSERT( r >= 0 );
84 r = engine->RegisterObjectProperty(
"quaternion",
"float y", offsetof(Quaternion,
y));
ROR_ASSERT( r >= 0 );
85 r = engine->RegisterObjectProperty(
"quaternion",
"float z", offsetof(Quaternion,
z));
ROR_ASSERT( r >= 0 );
87 r = engine->RegisterObjectProperty(
"color",
"float r", offsetof(ColourValue, r));
ROR_ASSERT( r >= 0 );
88 r = engine->RegisterObjectProperty(
"color",
"float g", offsetof(ColourValue, g));
ROR_ASSERT( r >= 0 );
89 r = engine->RegisterObjectProperty(
"color",
"float b", offsetof(ColourValue, b));
ROR_ASSERT( r >= 0 );
90 r = engine->RegisterObjectProperty(
"color",
"float a", offsetof(ColourValue, a));
ROR_ASSERT( r >= 0 );
92 r = engine->RegisterObjectProperty(
"box",
"uint left", offsetof(Box, left));
ROR_ASSERT( r >= 0 );
93 r = engine->RegisterObjectProperty(
"box",
"uint top", offsetof(Box, top));
ROR_ASSERT( r >= 0 );
94 r = engine->RegisterObjectProperty(
"box",
"uint right", offsetof(Box, right));
ROR_ASSERT( r >= 0 );
95 r = engine->RegisterObjectProperty(
"box",
"uint bottom", offsetof(Box, bottom));
ROR_ASSERT( r >= 0 );
96 r = engine->RegisterObjectProperty(
"box",
"uint front", offsetof(Box, front));
ROR_ASSERT( r >= 0 );
97 r = engine->RegisterObjectProperty(
"box",
"uint back", offsetof(Box, back));
ROR_ASSERT( r >= 0 );
101 r = engine->SetDefaultNamespace(
"Ogre");
ROR_ASSERT(r >= 0);
103 r = engine->RegisterObjectType(
"MovableObject",
sizeof(MovableObject), asOBJ_REF | asOBJ_NOCOUNT);
106 r = engine->RegisterObjectType(
"Entity",
sizeof(Entity), asOBJ_REF | asOBJ_NOCOUNT);
109 r = engine->RegisterObjectType(
"SubEntity",
sizeof(SubEntity), asOBJ_REF | asOBJ_NOCOUNT);
112 r = engine->RegisterObjectType(
"Node",
sizeof(Node), asOBJ_REF | asOBJ_NOCOUNT);
115 r = engine->RegisterObjectType(
"SceneNode",
sizeof(SceneNode), asOBJ_REF | asOBJ_NOCOUNT);
118 r = engine->RegisterObjectType(
"SceneManager",
sizeof(SceneManager), asOBJ_REF | asOBJ_NOCOUNT);
121 r = engine->RegisterObjectType(
"Root",
sizeof(Root), asOBJ_REF | asOBJ_NOCOUNT);
124 r = engine->RegisterObjectType(
"AnimationState",
sizeof(AnimationState), asOBJ_REF | asOBJ_NOCOUNT);
127 r = engine->RegisterObjectType(
"AnimationStateSet",
sizeof(AnimationStateSet), asOBJ_REF | asOBJ_NOCOUNT);
130 r = engine->RegisterObjectType(
"TexturePtr",
sizeof(TexturePtr), asOBJ_VALUE | asGetTypeTraits<TexturePtr>());
133 r = engine->RegisterObjectType(
"TextureManager",
sizeof(TextureManager), asOBJ_REF | asOBJ_NOCOUNT);
136 r = engine->RegisterObjectType(
"ManualObject",
sizeof(ManualObject), asOBJ_REF | asOBJ_NOCOUNT);
139 r = engine->RegisterObjectType(
"Image",
sizeof(Image), asOBJ_VALUE | asGetTypeTraits<Image>());
143 r = engine->RegisterObjectType(
"HardwarePixelBufferPtr",
sizeof(HardwarePixelBufferSharedPtr), asOBJ_VALUE | asGetTypeTraits<HardwarePixelBufferSharedPtr>());
146 r = engine->RegisterObjectType(
"PixelBox",
sizeof(PixelBox), asOBJ_VALUE | asGetTypeTraits<PixelBox>());
149 r = engine->RegisterObjectType(
"MeshPtr",
sizeof(MeshPtr), asOBJ_VALUE | asGetTypeTraits<MeshPtr>());
152 r = engine->RegisterObjectType(
"SubMesh",
sizeof(SubMesh), asOBJ_REF | asOBJ_NOCOUNT);
155 r = engine->RegisterObjectType(
"MeshManager",
sizeof(TextureManager), asOBJ_REF | asOBJ_NOCOUNT);
158 r = engine->RegisterObjectType(
"MaterialManager",
sizeof(MaterialManager), asOBJ_REF | asOBJ_NOCOUNT);
161 r = engine->RegisterObjectType(
"MaterialPtr",
sizeof(MaterialPtr), asOBJ_VALUE | asGetTypeTraits<MaterialPtr>());
164 r = engine->RegisterObjectType(
"Technique",
sizeof(Technique), asOBJ_REF | asOBJ_NOCOUNT);
167 r = engine->RegisterObjectType(
"Pass",
sizeof(Pass), asOBJ_REF | asOBJ_NOCOUNT);
170 r = engine->RegisterObjectType(
"TextureUnitState",
sizeof(TextureUnitState), asOBJ_REF | asOBJ_NOCOUNT);
173 r = engine->RegisterObjectType(
"Timer",
sizeof(Timer), asOBJ_VALUE | asGetTypeTraits<Timer>());
176 r = engine->RegisterObjectType(
"GpuProgramParametersPtr",
sizeof(GpuProgramParametersPtr), asOBJ_VALUE | asGetTypeTraits<GpuProgramParametersPtr>());
179 r = engine->RegisterObjectType(
"Light",
sizeof(Light), asOBJ_REF | asOBJ_NOCOUNT);
187 r = engine->RegisterObjectType(
"OverlayElement", 0, asOBJ_REF | asOBJ_NOCOUNT);
190 r = engine->RegisterObjectType(
"Overlay", 0, asOBJ_REF | asOBJ_NOCOUNT);
193 r = engine->RegisterObjectType(
"OverlayManager", 0, asOBJ_REF | asOBJ_NOCOUNT);
198 r = engine->RegisterEnum(
"IndexType");
ROR_ASSERT(r >= 0);
199 r = engine->RegisterEnumValue(
"IndexType",
"IT_16BIT", Ogre::HardwareIndexBuffer::IT_16BIT);
ROR_ASSERT(r >= 0);
200 r = engine->RegisterEnumValue(
"IndexType",
"IT_32BIT", Ogre::HardwareIndexBuffer::IT_32BIT);
ROR_ASSERT(r >= 0);
202 r = engine->RegisterEnum(
"TransformSpace");
ROR_ASSERT(r >= 0);
203 r = engine->RegisterEnumValue(
"TransformSpace",
"TS_LOCAL", Node::TS_LOCAL);
ROR_ASSERT(r >= 0);
204 r = engine->RegisterEnumValue(
"TransformSpace",
"TS_PARENT", Node::TS_PARENT);
ROR_ASSERT(r >= 0);
205 r = engine->RegisterEnumValue(
"TransformSpace",
"TS_WORLD", Node::TS_WORLD);
ROR_ASSERT(r >= 0);
207 r = engine->RegisterEnum(
"RenderOperation");
ROR_ASSERT(r >= 0);
208 r = engine->RegisterEnumValue(
"RenderOperation",
"OT_POINT_LIST", Ogre::RenderOperation::OT_POINT_LIST);
ROR_ASSERT(r >= 0);
209 r = engine->RegisterEnumValue(
"RenderOperation",
"OT_LINE_LIST", Ogre::RenderOperation::OT_LINE_LIST);
ROR_ASSERT(r >= 0);
210 r = engine->RegisterEnumValue(
"RenderOperation",
"OT_LINE_STRIP", Ogre::RenderOperation::OT_LINE_STRIP);
ROR_ASSERT(r >= 0);
211 r = engine->RegisterEnumValue(
"RenderOperation",
"OT_TRIANGLE_LIST", Ogre::RenderOperation::OT_TRIANGLE_LIST);
ROR_ASSERT(r >= 0);
212 r = engine->RegisterEnumValue(
"RenderOperation",
"OT_TRIANGLE_STRIP", Ogre::RenderOperation::OT_TRIANGLE_STRIP);
ROR_ASSERT(r >= 0);
213 r = engine->RegisterEnumValue(
"RenderOperation",
"OT_TRIANGLE_FAN", Ogre::RenderOperation::OT_TRIANGLE_FAN);
ROR_ASSERT(r >= 0);
215 r = engine->RegisterEnum(
"ImageFilter");
ROR_ASSERT(r >= 0);
216 r = engine->RegisterEnumValue(
"ImageFilter",
"FILTER_NEAREST", Image::Filter::FILTER_NEAREST);
ROR_ASSERT(r >= 0);
217 r = engine->RegisterEnumValue(
"ImageFilter",
"FILTER_LINEAR", Image::Filter::FILTER_LINEAR);
ROR_ASSERT(r >= 0);
218 r = engine->RegisterEnumValue(
"ImageFilter",
"FILTER_BILINEAR", Image::Filter::FILTER_BILINEAR);
ROR_ASSERT(r >= 0);
220 r = engine->RegisterEnum(
"HardwareBufferLockOptions");
ROR_ASSERT(r >= 0);
221 r = engine->RegisterEnumValue(
"HardwareBufferLockOptions",
"HBL_NORMAL", HardwareBuffer::LockOptions::HBL_NORMAL);
ROR_ASSERT(r >= 0);
222 r = engine->RegisterEnumValue(
"HardwareBufferLockOptions",
"HBL_DISCARD", HardwareBuffer::LockOptions::HBL_DISCARD);
ROR_ASSERT(r >= 0);
223 r = engine->RegisterEnumValue(
"HardwareBufferLockOptions",
"HBL_READ_ONLY", HardwareBuffer::LockOptions::HBL_READ_ONLY);
ROR_ASSERT(r >= 0);
224 r = engine->RegisterEnumValue(
"HardwareBufferLockOptions",
"HBL_NO_OVERWRITE", HardwareBuffer::LockOptions::HBL_NO_OVERWRITE);
ROR_ASSERT(r >= 0);
225 r = engine->RegisterEnumValue(
"HardwareBufferLockOptions",
"HBL_WRITE_ONLY", HardwareBuffer::LockOptions::HBL_WRITE_ONLY);
ROR_ASSERT(r >= 0);
227 r = engine->RegisterEnum(
"LightTypes");
ROR_ASSERT(r >= 0);
228 r = engine->RegisterEnumValue(
"LightTypes",
"LT_POINT", Light::LT_POINT);
ROR_ASSERT(r >= 0);
229 r = engine->RegisterEnumValue(
"LightTypes",
"LT_DIRECTIONAL", Light::LT_DIRECTIONAL);
ROR_ASSERT(r >= 0);
230 r = engine->RegisterEnumValue(
"LightTypes",
"LT_SPOTLIGHT", Light::LT_SPOTLIGHT);
ROR_ASSERT(r >= 0);
232 r = engine->RegisterEnum(
"GuiMetricsMode");
ROR_ASSERT(r >= 0);
233 r = engine->RegisterEnumValue(
"GuiMetricsMode",
"GMM_PIXELS", Ogre::GMM_PIXELS);
ROR_ASSERT(r >= 0);
234 r = engine->RegisterEnumValue(
"GuiMetricsMode",
"GMM_RELATIVE", Ogre::GMM_RELATIVE);
ROR_ASSERT(r >= 0);
235 r = engine->RegisterEnumValue(
"GuiMetricsMode",
"GMM_RELATIVE_ASPECT_ADJUSTED", Ogre::GMM_RELATIVE_ASPECT_ADJUSTED);
ROR_ASSERT(r >= 0);
237 r = engine->RegisterEnum(
"GuiHorizontalAlignment");
ROR_ASSERT(r >= 0);
238 r = engine->RegisterEnumValue(
"GuiHorizontalAlignment",
"GHA_LEFT", Ogre::GHA_LEFT);
ROR_ASSERT(r >= 0);
239 r = engine->RegisterEnumValue(
"GuiHorizontalAlignment",
"GHA_CENTER", Ogre::GHA_CENTER);
ROR_ASSERT(r >= 0);
240 r = engine->RegisterEnumValue(
"GuiHorizontalAlignment",
"GHA_RIGHT", Ogre::GHA_RIGHT);
ROR_ASSERT(r >= 0);
242 r = engine->SetDefaultNamespace(
"");
ROR_ASSERT(r >= 0);
Central state/object manager and communications hub.
#define ROR_ASSERT(_EXPR)
void RegisterOgreObjectsCommon(AngelScript::asIScriptEngine *engine)
defined in OgreAngelscript.cpp