Pass mouse coordinates (mousex, mousey, mouseb, mousebq) and Lua click handling
This commit is contained in:
parent
2327d9678d
commit
2c8c4bc567
@ -9,4 +9,6 @@ function do_step()
|
|||||||
increment = 2
|
increment = 2
|
||||||
end
|
end
|
||||||
tpt.drawtext(numberthing, 50, "Oh my god, this is amazing", 255, 255, 255, 255)
|
tpt.drawtext(numberthing, 50, "Oh my god, this is amazing", 255, 255, 255, 255)
|
||||||
|
tpt.drawtext(mousex, mousey, "Oh my god, this is amazing", 255, 255, 255, 255)
|
||||||
|
return true
|
||||||
end
|
end
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
#include <defines.h>
|
#include <defines.h>
|
||||||
|
|
||||||
void luacon_open();
|
void luacon_open();
|
||||||
int luacon_step();
|
int luacon_step(int mx, int my, int mb, int mbq, char key);
|
||||||
int luacon_keypress(char key);
|
int luacon_keypress(char key);
|
||||||
int luacon_eval(char *command);
|
int luacon_eval(char *command);
|
||||||
char *luacon_geterror();
|
char *luacon_geterror();
|
||||||
|
@ -34,17 +34,23 @@ void luacon_open(){
|
|||||||
luaL_openlibs(l);
|
luaL_openlibs(l);
|
||||||
luaL_openlib(l, "tpt", tptluaapi, 0);
|
luaL_openlib(l, "tpt", tptluaapi, 0);
|
||||||
}
|
}
|
||||||
int luacon_step(){
|
int luacon_step(int mx, int my, int mb, int mbq, char key){
|
||||||
if(step_function && step_function[0]){
|
if(step_function && step_function[0]){
|
||||||
|
//Set mouse globals
|
||||||
|
lua_pushinteger(l, mbq);
|
||||||
|
lua_pushinteger(l, mb);
|
||||||
|
lua_pushinteger(l, my);
|
||||||
|
lua_pushinteger(l, mx);
|
||||||
|
lua_setfield(l, LUA_GLOBALSINDEX, "mousex");
|
||||||
|
lua_setfield(l, LUA_GLOBALSINDEX, "mousey");
|
||||||
|
lua_setfield(l, LUA_GLOBALSINDEX, "mouseb");
|
||||||
|
lua_setfield(l, LUA_GLOBALSINDEX, "mousebq");
|
||||||
lua_getfield(l, LUA_GLOBALSINDEX, step_function);
|
lua_getfield(l, LUA_GLOBALSINDEX, step_function);
|
||||||
lua_call(l, 0, 0);
|
lua_call(l, 0, 0);
|
||||||
|
return lua_toboolean(l, -1);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
int luacon_keypress(char key){
|
|
||||||
//Nothing here yet
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
int luacon_eval(char *command){
|
int luacon_eval(char *command){
|
||||||
return luaL_dostring (l, command);
|
return luaL_dostring (l, command);
|
||||||
}
|
}
|
||||||
|
14
src/main.c
14
src/main.c
@ -2372,9 +2372,9 @@ int main(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#ifdef LUACONSOLE
|
//#ifdef LUACONSOLE
|
||||||
luacon_keypress(sdl_key);
|
//luacon_keypress(sdl_key);
|
||||||
#endif
|
//#endif
|
||||||
#ifdef PYCONSOLE
|
#ifdef PYCONSOLE
|
||||||
if (pyready==1 && pygood==1)
|
if (pyready==1 && pygood==1)
|
||||||
if (pkey!=NULL && sdl_key!=NULL)
|
if (pkey!=NULL && sdl_key!=NULL)
|
||||||
@ -2466,6 +2466,11 @@ int main(int argc, char *argv[])
|
|||||||
bq = b; // bq is previous mouse state
|
bq = b; // bq is previous mouse state
|
||||||
b = SDL_GetMouseState(&x, &y); // b is current mouse state
|
b = SDL_GetMouseState(&x, &y); // b is current mouse state
|
||||||
|
|
||||||
|
#ifdef LUACONSOLE
|
||||||
|
if(luacon_step(x, y, b, bq, sdl_key))
|
||||||
|
b = 0; //Mouse click was handled by Lua step
|
||||||
|
#endif
|
||||||
|
|
||||||
for (i=0; i<SC_TOTAL; i++)//draw all the menu sections
|
for (i=0; i<SC_TOTAL; i++)//draw all the menu sections
|
||||||
{
|
{
|
||||||
draw_menu(vid_buf, i, active_menu);
|
draw_menu(vid_buf, i, active_menu);
|
||||||
@ -3372,9 +3377,6 @@ int main(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
|
|
||||||
//execute python step hook
|
//execute python step hook
|
||||||
#ifdef LUACONSOLE
|
|
||||||
luacon_step();
|
|
||||||
#endif
|
|
||||||
#ifdef PYCONSOLE
|
#ifdef PYCONSOLE
|
||||||
if (pyready==1 && pygood==1)
|
if (pyready==1 && pygood==1)
|
||||||
if (pstep!=NULL)
|
if (pstep!=NULL)
|
||||||
|
Loading…
Reference in New Issue
Block a user