summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/luaengine.c
diff options
context:
space:
mode:
author Miodrag Milanovic <mmicko@gmail.com>2014-06-09 14:32:44 +0000
committer Miodrag Milanovic <mmicko@gmail.com>2014-06-09 14:32:44 +0000
commitae785a1ed6625df007add1836c07142ee7b9c1b1 (patch)
tree358dc5bf7519d636be3d9aeef986d42128db4023 /src/emu/luaengine.c
parent5e558f534d295490a81280ea1ddfe1d3acae976a (diff)
few more commands just for fun (nw)
Diffstat (limited to 'src/emu/luaengine.c')
-rw-r--r--src/emu/luaengine.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/emu/luaengine.c b/src/emu/luaengine.c
index e9f46dca489..07d8641bfa8 100644
--- a/src/emu/luaengine.c
+++ b/src/emu/luaengine.c
@@ -12,6 +12,7 @@
#include "emu.h"
#include "emuopts.h"
#include "osdepend.h"
+#include "drivenum.h"
#include "lua/lua.hpp"
#include "lua/lib/lualibs.h"
#include "web/mongoose.h"
@@ -131,10 +132,30 @@ int emu_keypost(lua_State *L)
return 1;
}
+int emu_exit(lua_State *L)
+{
+ machine_manager::instance()->machine()->schedule_exit();
+ return 1;
+}
+
+int emu_start(lua_State *L)
+{
+ const char *system_name = luaL_checkstring(L,1);
+
+ int index = driver_list::find(system_name);
+ if (index != -1) {
+ machine_manager::instance()->schedule_new_driver(driver_list::driver(index));
+ machine_manager::instance()->machine()->schedule_hard_reset();
+ }
+ return 1;
+}
+
static const struct luaL_Reg emu_funcs [] =
{
{ "gamename", emu_gamename },
{ "keypost", emu_keypost },
+ { "exit", emu_exit },
+ { "start", emu_start },
{ NULL, NULL } /* sentinel */
};