00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #include "asIrrlicht.h"
00018
00019 #ifdef __COMPILE_WITH_ANGELSCRIPT__
00020
00021 #include "asAabbox3d.h"
00022 #include "asDimension2d.h"
00023 #include "asLine2d.h"
00024 #include "asLine3d.h"
00025 #include "asMatrix4.h"
00026 #include "asRect.h"
00027 #include "asSColor.h"
00028 #include "asVector2d.h"
00029 #include "asVector3d.h"
00030
00031
00032
00035 void bindE_CULLING_TYPE(asIScriptEngine *engine)
00036 {
00037
00038 int r;
00039
00040
00041 r = engine->RegisterEnum("E_CULLING_TYPE"); assert(r >= 0);
00042
00043
00044 #define bindEnumValue(x) \
00045 r = engine->RegisterEnumValue("E_CULLING_TYPE", #x, x); assert(r >= 0)
00046 bindEnumValue(EAC_OFF);
00047 bindEnumValue(EAC_BOX);
00048 bindEnumValue(EAC_FRUSTUM_BOX);
00049 bindEnumValue(EAC_FRUSTUM_SPHERE);
00050 #undef bindEnumValue
00051 }
00052
00055 void bindEKEY_CODE(asIScriptEngine *engine)
00056 {
00057
00058 int r;
00059
00060
00061 r = engine->RegisterEnum("EKEY_CODE"); assert(r >= 0);
00062
00063
00064 #define bindEnumValue(x) \
00065 r = engine->RegisterEnumValue("EKEY_CODE", #x, x); assert(r >= 0)
00066 bindEnumValue(KEY_LBUTTON);
00067 bindEnumValue(KEY_RBUTTON);
00068 bindEnumValue(KEY_CANCEL);
00069 bindEnumValue(KEY_MBUTTON);
00070 bindEnumValue(KEY_XBUTTON1);
00071 bindEnumValue(KEY_XBUTTON2);
00072 bindEnumValue(KEY_BACK);
00073 bindEnumValue(KEY_TAB);
00074 bindEnumValue(KEY_CLEAR);
00075 bindEnumValue(KEY_RETURN);
00076 bindEnumValue(KEY_SHIFT);
00077 bindEnumValue(KEY_CONTROL);
00078 bindEnumValue(KEY_MENU);
00079 bindEnumValue(KEY_PAUSE);
00080 bindEnumValue(KEY_CAPITAL);
00081 bindEnumValue(KEY_KANA);
00082 bindEnumValue(KEY_HANGUEL);
00083 bindEnumValue(KEY_HANGUL);
00084 bindEnumValue(KEY_JUNJA);
00085 bindEnumValue(KEY_FINAL);
00086 bindEnumValue(KEY_HANJA);
00087 bindEnumValue(KEY_KANJI);
00088 bindEnumValue(KEY_ESCAPE);
00089 bindEnumValue(KEY_CONVERT);
00090 bindEnumValue(KEY_NONCONVERT);
00091 bindEnumValue(KEY_ACCEPT);
00092 bindEnumValue(KEY_MODECHANGE);
00093 bindEnumValue(KEY_SPACE);
00094 bindEnumValue(KEY_PRIOR);
00095 bindEnumValue(KEY_NEXT);
00096 bindEnumValue(KEY_END);
00097 bindEnumValue(KEY_HOME);
00098 bindEnumValue(KEY_LEFT);
00099 bindEnumValue(KEY_UP);
00100 bindEnumValue(KEY_RIGHT);
00101 bindEnumValue(KEY_DOWN);
00102 bindEnumValue(KEY_SELECT);
00103 bindEnumValue(KEY_PRINT);
00104 bindEnumValue(KEY_EXECUT);
00105 bindEnumValue(KEY_SNAPSHOT);
00106 bindEnumValue(KEY_INSERT);
00107 bindEnumValue(KEY_DELETE);
00108 bindEnumValue(KEY_HELP);
00109 bindEnumValue(KEY_KEY_0);
00110 bindEnumValue(KEY_KEY_1);
00111 bindEnumValue(KEY_KEY_2);
00112 bindEnumValue(KEY_KEY_3);
00113 bindEnumValue(KEY_KEY_4);
00114 bindEnumValue(KEY_KEY_5);
00115 bindEnumValue(KEY_KEY_6);
00116 bindEnumValue(KEY_KEY_7);
00117 bindEnumValue(KEY_KEY_8);
00118 bindEnumValue(KEY_KEY_9);
00119 bindEnumValue(KEY_KEY_A);
00120 bindEnumValue(KEY_KEY_B);
00121 bindEnumValue(KEY_KEY_C);
00122 bindEnumValue(KEY_KEY_D);
00123 bindEnumValue(KEY_KEY_E);
00124 bindEnumValue(KEY_KEY_F);
00125 bindEnumValue(KEY_KEY_G);
00126 bindEnumValue(KEY_KEY_H);
00127 bindEnumValue(KEY_KEY_I);
00128 bindEnumValue(KEY_KEY_J);
00129 bindEnumValue(KEY_KEY_K);
00130 bindEnumValue(KEY_KEY_L);
00131 bindEnumValue(KEY_KEY_M);
00132 bindEnumValue(KEY_KEY_N);
00133 bindEnumValue(KEY_KEY_O);
00134 bindEnumValue(KEY_KEY_P);
00135 bindEnumValue(KEY_KEY_Q);
00136 bindEnumValue(KEY_KEY_R);
00137 bindEnumValue(KEY_KEY_S);
00138 bindEnumValue(KEY_KEY_T);
00139 bindEnumValue(KEY_KEY_U);
00140 bindEnumValue(KEY_KEY_V);
00141 bindEnumValue(KEY_KEY_W);
00142 bindEnumValue(KEY_KEY_X);
00143 bindEnumValue(KEY_KEY_Y);
00144 bindEnumValue(KEY_KEY_Z);
00145 bindEnumValue(KEY_LWIN);
00146 bindEnumValue(KEY_RWIN);
00147 bindEnumValue(KEY_APPS);
00148 bindEnumValue(KEY_SLEEP);
00149 bindEnumValue(KEY_NUMPAD0);
00150 bindEnumValue(KEY_NUMPAD1);
00151 bindEnumValue(KEY_NUMPAD2);
00152 bindEnumValue(KEY_NUMPAD3);
00153 bindEnumValue(KEY_NUMPAD4);
00154 bindEnumValue(KEY_NUMPAD5);
00155 bindEnumValue(KEY_NUMPAD6);
00156 bindEnumValue(KEY_NUMPAD7);
00157 bindEnumValue(KEY_NUMPAD8);
00158 bindEnumValue(KEY_NUMPAD9);
00159 bindEnumValue(KEY_MULTIPLY);
00160 bindEnumValue(KEY_ADD);
00161 bindEnumValue(KEY_SEPARATOR);
00162 bindEnumValue(KEY_SUBTRACT);
00163 bindEnumValue(KEY_DECIMAL);
00164 bindEnumValue(KEY_DIVIDE);
00165 bindEnumValue(KEY_F1);
00166 bindEnumValue(KEY_F2);
00167 bindEnumValue(KEY_F3);
00168 bindEnumValue(KEY_F4);
00169 bindEnumValue(KEY_F5);
00170 bindEnumValue(KEY_F6);
00171 bindEnumValue(KEY_F7);
00172 bindEnumValue(KEY_F8);
00173 bindEnumValue(KEY_F9);
00174 bindEnumValue(KEY_F10);
00175 bindEnumValue(KEY_F11);
00176 bindEnumValue(KEY_F12);
00177 bindEnumValue(KEY_F13);
00178 bindEnumValue(KEY_F14);
00179 bindEnumValue(KEY_F15);
00180 bindEnumValue(KEY_F16);
00181 bindEnumValue(KEY_F17);
00182 bindEnumValue(KEY_F18);
00183 bindEnumValue(KEY_F19);
00184 bindEnumValue(KEY_F20);
00185 bindEnumValue(KEY_F21);
00186 bindEnumValue(KEY_F22);
00187 bindEnumValue(KEY_F23);
00188 bindEnumValue(KEY_F24);
00189 bindEnumValue(KEY_NUMLOCK);
00190 bindEnumValue(KEY_SCROLL);
00191 bindEnumValue(KEY_LSHIFT);
00192 bindEnumValue(KEY_RSHIFT);
00193 bindEnumValue(KEY_LCONTROL);
00194 bindEnumValue(KEY_RCONTROL);
00195 bindEnumValue(KEY_LMENU);
00196 bindEnumValue(KEY_RMENU);
00197 bindEnumValue(KEY_PLUS);
00198 bindEnumValue(KEY_COMMA);
00199 bindEnumValue(KEY_MINUS);
00200 bindEnumValue(KEY_PERIOD);
00201 bindEnumValue(KEY_ATTN);
00202 bindEnumValue(KEY_CRSEL);
00203 bindEnumValue(KEY_EXSEL);
00204 bindEnumValue(KEY_EREOF);
00205 bindEnumValue(KEY_PLAY);
00206 bindEnumValue(KEY_ZOOM);
00207 bindEnumValue(KEY_PA1);
00208 bindEnumValue(KEY_OEM_CLEAR);
00209 #undef bindEnumValue
00210 }
00211
00214 void bindE_LIGHT_TYPE(asIScriptEngine *engine)
00215 {
00216
00217 int r;
00218
00219
00220 r = engine->RegisterEnum("E_LIGHT_TYPE"); assert(r >= 0);
00221
00222
00223 #define bindEnumValue(x) \
00224 r = engine->RegisterEnumValue("E_LIGHT_TYPE", #x, x); assert(r >= 0)
00225 bindEnumValue(ELT_POINT);
00226 bindEnumValue(ELT_SPOT);
00227 bindEnumValue(ELT_DIRECTIONAL);
00228 #undef bindEnumValue
00229 }
00230
00233 void bindE_MATERIAL_FLAG(asIScriptEngine *engine)
00234 {
00235
00236 int r;
00237
00238
00239 r = engine->RegisterEnum("E_MATERIAL_FLAG"); assert(r >= 0);
00240
00241
00242 #define bindEnumValue(x) \
00243 r = engine->RegisterEnumValue("E_MATERIAL_FLAG", #x, x); assert(r >= 0)
00244 bindEnumValue(EMF_WIREFRAME);
00245 bindEnumValue(EMF_POINTCLOUD);
00246 bindEnumValue(EMF_GOURAUD_SHADING);
00247 bindEnumValue(EMF_LIGHTING);
00248 bindEnumValue(EMF_ZBUFFER);
00249 bindEnumValue(EMF_ZWRITE_ENABLE);
00250 bindEnumValue(EMF_BACK_FACE_CULLING);
00251 bindEnumValue(EMF_FRONT_FACE_CULLING);
00252 bindEnumValue(EMF_BILINEAR_FILTER);
00253 bindEnumValue(EMF_TRILINEAR_FILTER);
00254 bindEnumValue(EMF_ANISOTROPIC_FILTER);
00255 bindEnumValue(EMF_FOG_ENABLE);
00256 bindEnumValue(EMF_NORMALIZE_NORMALS);
00257 bindEnumValue(EMF_TEXTURE_WRAP);
00258 #undef bindEnumValue
00259 }
00260
00263 void bindE_MATERIAL_TYPE(asIScriptEngine *engine)
00264 {
00265
00266 int r;
00267
00268
00269 r = engine->RegisterEnum("E_MATERIAL_TYPE"); assert(r >= 0);
00270
00271
00272 #define bindEnumValue(x) \
00273 r = engine->RegisterEnumValue("E_MATERIAL_TYPE", #x, x); assert(r >= 0)
00274 bindEnumValue(EMT_SOLID);
00275 bindEnumValue(EMT_SOLID_2_LAYER);
00276 bindEnumValue(EMT_LIGHTMAP);
00277 bindEnumValue(EMT_LIGHTMAP_ADD);
00278 bindEnumValue(EMT_LIGHTMAP_M2);
00279 bindEnumValue(EMT_LIGHTMAP_M4);
00280 bindEnumValue(EMT_LIGHTMAP_LIGHTING);
00281 bindEnumValue(EMT_LIGHTMAP_LIGHTING_M2);
00282 bindEnumValue(EMT_LIGHTMAP_LIGHTING_M4);
00283 bindEnumValue(EMT_DETAIL_MAP);
00284 bindEnumValue(EMT_SPHERE_MAP);
00285 bindEnumValue(EMT_REFLECTION_2_LAYER);
00286 bindEnumValue(EMT_TRANSPARENT_ADD_COLOR);
00287 bindEnumValue(EMT_TRANSPARENT_ALPHA_CHANNEL);
00288 bindEnumValue(EMT_TRANSPARENT_ALPHA_CHANNEL_REF);
00289 bindEnumValue(EMT_TRANSPARENT_VERTEX_ALPHA);
00290 bindEnumValue(EMT_TRANSPARENT_REFLECTION_2_LAYER);
00291 bindEnumValue(EMT_NORMAL_MAP_SOLID);
00292 bindEnumValue(EMT_NORMAL_MAP_TRANSPARENT_ADD_COLOR);
00293 bindEnumValue(EMT_NORMAL_MAP_TRANSPARENT_VERTEX_ALPHA);
00294 bindEnumValue(EMT_PARALLAX_MAP_SOLID);
00295 bindEnumValue(EMT_PARALLAX_MAP_TRANSPARENT_ADD_COLOR);
00296 bindEnumValue(EMT_PARALLAX_MAP_TRANSPARENT_VERTEX_ALPHA);
00297 bindEnumValue(EMT_ONETEXTURE_BLEND);
00298 #undef bindEnumValue
00299 }
00300
00301
00303 void bindIrrlicht(asIScriptEngine *engine)
00304 {
00305
00306 bindDimension2d(engine);
00307 bindSColor(engine);
00308 bindVector2d(engine);
00309 bindVector3d(engine);
00310 bindLine2d(engine);
00311 bindLine3d(engine);
00312 bindAabbox3d(engine);
00313 bindMatrix4(engine);
00314 bindRect(engine);
00315
00316
00317 bindE_CULLING_TYPE(engine);
00318 bindEKEY_CODE(engine);
00319 bindE_LIGHT_TYPE(engine);
00320 bindE_MATERIAL_FLAG(engine);
00321 bindE_MATERIAL_TYPE(engine);
00322 }
00323
00324 #endif // __COMPILE_WITH_ANGELSCRIPT__
00325
00326