diff options
| author | Alexander Pickering <alexandermpickering@gmail.com> | 2017-07-29 13:53:52 -0400 |
|---|---|---|
| committer | Alexander Pickering <alexandermpickering@gmail.com> | 2017-07-29 13:53:52 -0400 |
| commit | 76b4fddee6106b60dbc6da6d7bcef61b42a3c310 (patch) | |
| tree | 7c98499a8d32d6415a6cfb5f318943c744778172 /src/client/lua_api/gui/iguiutil.cpp | |
| parent | fa49161fe2d7e0a025c9fd8559815d56dfd1f427 (diff) | |
| download | brokengine-76b4fddee6106b60dbc6da6d7bcef61b42a3c310.tar.gz brokengine-76b4fddee6106b60dbc6da6d7bcef61b42a3c310.tar.bz2 brokengine-76b4fddee6106b60dbc6da6d7bcef61b42a3c310.zip | |
Added gui window
Bound irrlicht's IGUIWindow to lua
Diffstat (limited to 'src/client/lua_api/gui/iguiutil.cpp')
| -rw-r--r-- | src/client/lua_api/gui/iguiutil.cpp | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/src/client/lua_api/gui/iguiutil.cpp b/src/client/lua_api/gui/iguiutil.cpp new file mode 100644 index 0000000..0e8d179 --- /dev/null +++ b/src/client/lua_api/gui/iguiutil.cpp @@ -0,0 +1,61 @@ +#include <stdio.h> + +extern "C" { + #include <lua.h> + #include <lauxlib.h> + #include <lualib.h> +} + +#include <btBulletDynamicsCommon.h> + +#include <irrlicht.h> +#include "iguiutil.hpp" + +int lua_popvector2(lua_State* L,int pos, float* x,float* y){ + float p[2]; + + for(int i = 0; i < 2; i++){ + lua_pushnumber(L,i+1); + lua_gettable(L,pos); + p[i] = (float) lua_tonumber(L,-1); + lua_pop(L,1); + } + + printf("Found vector (%f,%f)\n",p[0],p[1]); + *x = p[0]; + *y = p[1]; + return 0; +} + +int lua_popvector2i(lua_State* L,int pos, int* x,int* y){ + int p[2]; + + for(int i = 0; i < 2; i++){ + lua_pushnumber(L,i+1); + lua_gettable(L,pos); + p[i] = (int) lua_tonumber(L,-1); + lua_pop(L,1); + } + + printf("Found vector (%d,%d)\n",p[0],p[1]); + *x = p[0]; + *y = p[1]; + return 0; +} + +int lua_popscolor(lua_State* L, int pos, irr::video::SColor* c){ + int p[4]; + + for(int i = 0; i < 4; i++){ + lua_pushnumber(L,i+1); + lua_gettable(L,pos); + p[i] = (int) lua_tonumber(L,-1); + lua_pop(L,1); + } + c->setRed(p[0]); + c->setBlue(p[1]); + c->setGreen(p[2]); + c->setAlpha(p[3]); + + return 0; +} |
