summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/luaengine.h
diff options
context:
space:
mode:
author Miodrag Milanovic <mmicko@gmail.com>2016-02-14 15:29:12 +0100
committer Miodrag Milanovic <mmicko@gmail.com>2016-02-14 15:29:12 +0100
commitb60187faa2604b64e18f2b7d597796446f121e53 (patch)
treebfa32b5f97cab64a85b634f5a8c8401460b81d33 /src/emu/luaengine.h
parent618a7d4d283bb2b139b56d029cb09b750b3ba90a (diff)
Added multiple callback registration for lua scripts (nw)
Diffstat (limited to 'src/emu/luaengine.h')
-rw-r--r--src/emu/luaengine.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/emu/luaengine.h b/src/emu/luaengine.h
index 9bc6275100e..37660a28201 100644
--- a/src/emu/luaengine.h
+++ b/src/emu/luaengine.h
@@ -45,6 +45,7 @@ public:
void serve_lua();
void periodic_check();
bool frame_hook();
+ void execute_function(const char *id);
void resume(lua_State *L, int nparam = 0, lua_State *root = nullptr);
void set_machine(running_machine *machine) { m_machine = machine; update_machine(); }
@@ -78,6 +79,13 @@ private:
running_machine &machine() const { return *m_machine; }
void update_machine();
+
+ void on_machine_start();
+ void on_machine_stop();
+ void on_machine_pause();
+ void on_machine_resume();
+ void on_machine_frame();
+
void output_notifier(const char *outname, INT32 value);
static void s_output_notifier(const char *outname, INT32 value, void *param);
@@ -102,6 +110,12 @@ private:
static int l_emu_pause(lua_State *L);
static int l_emu_unpause(lua_State *L);
static int l_emu_set_hook(lua_State *L);
+ static int l_emu_register_start(lua_State *L);
+ static int l_emu_register_stop(lua_State *L);
+ static int l_emu_register_pause(lua_State *L);
+ static int l_emu_register_resume(lua_State *L);
+ static int l_emu_register_frame(lua_State *L);
+ static int register_function(lua_State *L, const char *id);
// "emu.machine" namespace
static luabridge::LuaRef l_machine_get_devices(const running_machine *r);