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