Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*************************************************
- Pathogen Studios ARES Game Engine
- Copyright 2010 by Pathogen Studios
- http://www.pathogenstudios.com/
- **************************************************
- ARES_ScriptModule_Irrlicht.cpp
- Binds Irrlicht Stuff to the Scripting System.
- *************************************************/
- #include "ARES_Engine.h"
- #include "ScriptModules/ARES_ScriptModule_Irrlicht.h"
- #include <angelscript.h>
- #define _BIND_KEY(key) as->RegisterEnumValue("EKEY_CODE",#key,irr:: ## key)
- namespace ARES
- {
- namespace ScriptModules
- {
- IrrlichtKeys::IrrlichtKeys(ScriptManager* manager) : ScriptModule(manager) {name="IrrlichtKeys";}
- void IrrlichtKeys::unbind() {}
- bool IrrlichtKeys::bind()
- {
- manager->getEngine()->log("Binding IrrlichtKeys...");
- asIScriptEngine* as = manager->getScriptEngine();
- int result=0;
- if (as->RegisterEnum("EKEY_CODE")<0)
- {manager->getEngine()->error("Could not bind EKEY_CODE");return 0;}
- else
- {
- /*I generated this list using this regex:
- FIND: \s+(KEY_.+?)\s+= 0x[a-zA-Z0-9]+,?\s+//.*
- REPLACE: _BIND_KEY($1);\n*/
- result =
- _BIND_KEY(KEY_LBUTTON)+
- _BIND_KEY(KEY_RBUTTON)+
- _BIND_KEY(KEY_CANCEL)+
- _BIND_KEY(KEY_MBUTTON)+
- _BIND_KEY(KEY_XBUTTON1)+
- _BIND_KEY(KEY_XBUTTON2)+
- _BIND_KEY(KEY_BACK)+
- _BIND_KEY(KEY_TAB)+
- _BIND_KEY(KEY_CLEAR)+
- _BIND_KEY(KEY_RETURN)+
- _BIND_KEY(KEY_SHIFT)+
- _BIND_KEY(KEY_CONTROL)+
- _BIND_KEY(KEY_MENU)+
- _BIND_KEY(KEY_PAUSE)+
- _BIND_KEY(KEY_CAPITAL)+
- _BIND_KEY(KEY_KANA)+
- _BIND_KEY(KEY_HANGUEL)+
- _BIND_KEY(KEY_HANGUL)+
- _BIND_KEY(KEY_JUNJA)+
- _BIND_KEY(KEY_FINAL)+
- _BIND_KEY(KEY_HANJA)+
- _BIND_KEY(KEY_KANJI)+
- _BIND_KEY(KEY_ESCAPE)+
- _BIND_KEY(KEY_CONVERT)+
- _BIND_KEY(KEY_NONCONVERT)+
- _BIND_KEY(KEY_ACCEPT)+
- _BIND_KEY(KEY_MODECHANGE)+
- _BIND_KEY(KEY_SPACE)+
- _BIND_KEY(KEY_PRIOR)+
- _BIND_KEY(KEY_NEXT)+
- _BIND_KEY(KEY_END)+
- _BIND_KEY(KEY_HOME)+
- _BIND_KEY(KEY_LEFT)+
- _BIND_KEY(KEY_UP)+
- _BIND_KEY(KEY_RIGHT)+
- _BIND_KEY(KEY_DOWN)+
- _BIND_KEY(KEY_SELECT)+
- _BIND_KEY(KEY_PRINT)+
- _BIND_KEY(KEY_EXECUT)+
- _BIND_KEY(KEY_SNAPSHOT)+
- _BIND_KEY(KEY_INSERT)+
- _BIND_KEY(KEY_DELETE)+
- _BIND_KEY(KEY_HELP)+
- _BIND_KEY(KEY_KEY_0)+
- _BIND_KEY(KEY_KEY_1)+
- _BIND_KEY(KEY_KEY_2)+
- _BIND_KEY(KEY_KEY_3)+
- _BIND_KEY(KEY_KEY_4)+
- _BIND_KEY(KEY_KEY_5)+
- _BIND_KEY(KEY_KEY_6)+
- _BIND_KEY(KEY_KEY_7)+
- _BIND_KEY(KEY_KEY_8)+
- _BIND_KEY(KEY_KEY_9)+
- _BIND_KEY(KEY_KEY_A)+
- _BIND_KEY(KEY_KEY_B)+
- _BIND_KEY(KEY_KEY_C)+
- _BIND_KEY(KEY_KEY_D)+
- _BIND_KEY(KEY_KEY_E)+
- _BIND_KEY(KEY_KEY_F)+
- _BIND_KEY(KEY_KEY_G)+
- _BIND_KEY(KEY_KEY_H)+
- _BIND_KEY(KEY_KEY_I)+
- _BIND_KEY(KEY_KEY_J)+
- _BIND_KEY(KEY_KEY_K)+
- _BIND_KEY(KEY_KEY_L)+
- _BIND_KEY(KEY_KEY_M)+
- _BIND_KEY(KEY_KEY_N)+
- _BIND_KEY(KEY_KEY_O)+
- _BIND_KEY(KEY_KEY_P)+
- _BIND_KEY(KEY_KEY_Q)+
- _BIND_KEY(KEY_KEY_R)+
- _BIND_KEY(KEY_KEY_S)+
- _BIND_KEY(KEY_KEY_T)+
- _BIND_KEY(KEY_KEY_U)+
- _BIND_KEY(KEY_KEY_V)+
- _BIND_KEY(KEY_KEY_W)+
- _BIND_KEY(KEY_KEY_X)+
- _BIND_KEY(KEY_KEY_Y)+
- _BIND_KEY(KEY_KEY_Z)+
- _BIND_KEY(KEY_LWIN)+
- _BIND_KEY(KEY_RWIN)+
- _BIND_KEY(KEY_APPS)+
- _BIND_KEY(KEY_SLEEP)+
- _BIND_KEY(KEY_NUMPAD0)+
- _BIND_KEY(KEY_NUMPAD1)+
- _BIND_KEY(KEY_NUMPAD2)+
- _BIND_KEY(KEY_NUMPAD3)+
- _BIND_KEY(KEY_NUMPAD4)+
- _BIND_KEY(KEY_NUMPAD5)+
- _BIND_KEY(KEY_NUMPAD6)+
- _BIND_KEY(KEY_NUMPAD7)+
- _BIND_KEY(KEY_NUMPAD8)+
- _BIND_KEY(KEY_NUMPAD9)+
- _BIND_KEY(KEY_MULTIPLY)+
- _BIND_KEY(KEY_ADD)+
- _BIND_KEY(KEY_SEPARATOR)+
- _BIND_KEY(KEY_SUBTRACT)+
- _BIND_KEY(KEY_DECIMAL)+
- _BIND_KEY(KEY_DIVIDE)+
- _BIND_KEY(KEY_F1)+
- _BIND_KEY(KEY_F2)+
- _BIND_KEY(KEY_F3)+
- _BIND_KEY(KEY_F4)+
- _BIND_KEY(KEY_F5)+
- _BIND_KEY(KEY_F6)+
- _BIND_KEY(KEY_F7)+
- _BIND_KEY(KEY_F8)+
- _BIND_KEY(KEY_F9)+
- _BIND_KEY(KEY_F10)+
- _BIND_KEY(KEY_F11)+
- _BIND_KEY(KEY_F12)+
- _BIND_KEY(KEY_F13)+
- _BIND_KEY(KEY_F14)+
- _BIND_KEY(KEY_F15)+
- _BIND_KEY(KEY_F16)+
- _BIND_KEY(KEY_F17)+
- _BIND_KEY(KEY_F18)+
- _BIND_KEY(KEY_F19)+
- _BIND_KEY(KEY_F20)+
- _BIND_KEY(KEY_F21)+
- _BIND_KEY(KEY_F22)+
- _BIND_KEY(KEY_F23)+
- _BIND_KEY(KEY_F24)+
- _BIND_KEY(KEY_NUMLOCK)+
- _BIND_KEY(KEY_SCROLL)+
- _BIND_KEY(KEY_LSHIFT)+
- _BIND_KEY(KEY_RSHIFT)+
- _BIND_KEY(KEY_LCONTROL)+
- _BIND_KEY(KEY_RCONTROL)+
- _BIND_KEY(KEY_LMENU)+
- _BIND_KEY(KEY_RMENU)+
- _BIND_KEY(KEY_PLUS)+
- _BIND_KEY(KEY_COMMA)+
- _BIND_KEY(KEY_MINUS)+
- _BIND_KEY(KEY_PERIOD)+
- _BIND_KEY(KEY_TILDE)+
- _BIND_KEY(KEY_OPENBRACKET)+
- _BIND_KEY(KEY_BACKSLASH)+
- _BIND_KEY(KEY_CLOSEBRACKET)+
- _BIND_KEY(KEY_ATTN)+
- _BIND_KEY(KEY_CRSEL)+
- _BIND_KEY(KEY_EXSEL)+
- _BIND_KEY(KEY_EREOF)+
- _BIND_KEY(KEY_PLAY)+
- _BIND_KEY(KEY_ZOOM)+
- _BIND_KEY(KEY_PA1)+
- _BIND_KEY(KEY_OEM_CLEAR);
- }
- if (result<0)
- {manager->getEngine()->log("Issues occured when brinding the values.");return 0;}
- else
- {manager->getEngine()->log("Done binding.");return 1;}
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment