This commit is contained in:
2023-07-04 23:12:00 +02:00
3 changed files with 21 additions and 1 deletions

12
lua.cpp
View File

@@ -799,6 +799,16 @@ extern "C" {
return 1;
}
static int cpp_turbo(lua_State *L) {
if (lua_gettop(L) >= 1) {
setturbo(lua_toboolean(L, 1));
return 0;
} else {
setturbo(true);
return 0;
}
}
static int cpp_exit(lua_State *L) {
exit();
return 0;
@@ -922,6 +932,8 @@ void push_lua_funcs() {
lua_pushcfunction(L,cpp_setconf); lua_setglobal(L, "setconf");
lua_pushcfunction(L,cpp_configfolder); lua_setglobal(L, "configfolder");
lua_pushcfunction(L,cpp_turbo); lua_setglobal(L, "turbo");
lua_pushcfunction(L,cpp_exit); lua_setglobal(L, "quit");
lua_pushinteger(L, 0); lua_setglobal(L, "KEY_UNKNOWN");

View File

@@ -9,6 +9,8 @@
#include <libgen.h>
#endif
extern DECLSPEC int SDLCALL (*event_handler_ptr)(SDL_Event*) = &SDL_PollEvent;
#pragma pack(1)
struct surface_t {
@@ -286,7 +288,7 @@ int main(int argc,char*argv[]){
mouse_just_pressed = 0;
while(!should_exit) {
mouse_wheel = 0;
while(SDL_PollEvent(&mini_eve)) {
while(event_handler_ptr(&mini_eve)) {
if (mini_eve.type == SDL_QUIT) { should_exit=true; should_quit=true; break; }
if (mini_eve.type == SDL_KEYDOWN) {
/*
@@ -1248,6 +1250,10 @@ const char *configfolder() {
return file_getconfigfolder();
}
void setturbo(const bool value) {
event_handler_ptr = value ? &SDL_PollEvent : &SDL_WaitEvent;
}
void exit() {
should_exit = true;
should_quit = true;

2
mini.h
View File

@@ -288,4 +288,6 @@ const char *getconfig(const char* key);
void setconfig(const char* key, const char* value);
const char *configfolder();
void setturbo(const bool value);
void exit();