Previous 199869 Revisions Next

r46614 Wednesday 23rd March, 2016 at 15:31:40 UTC by Carl
luaengine: add popmessage and logerror for lua (nw)
[src/emu]luaengine.cpp luaengine.h

trunk/src/emu/luaengine.cpp
r255125r255126
13901390   machine().add_notifier(MACHINE_NOTIFY_FRAME, machine_notify_delegate(FUNC(lua_engine::on_machine_frame), this));
13911391}
13921392
1393int lua_engine::lua_machine::l_popmessage(lua_State *L)
1394{
1395   running_machine *m = luabridge::Stack<running_machine *>::get(L, 1);
1396   luaL_argcheck(L, lua_isstring(L, 2), 2, "message (string) expected");
1397   m->popmessage("%s", luaL_checkstring(L, 2));
1398   return 0;
1399}
1400
1401int lua_engine::lua_machine::l_logerror(lua_State *L)
1402{
1403   running_machine *m = luabridge::Stack<running_machine *>::get(L, 1);
1404   luaL_argcheck(L, lua_isstring(L, 2), 2, "message (string) expected");
1405   m->logerror("[luaengine] %s\n", luaL_checkstring(L, 2));
1406   return 0;
1407}
1408
13931409//-------------------------------------------------
13941410//  initialize - initialize lua hookup to emu engine
13951411//-------------------------------------------------
r255125r255126
14211437            .addFunction ("machine", &machine_manager::machine)
14221438            .addFunction ("options", &machine_manager::options)
14231439         .endClass ()
1424         .beginClass <running_machine> ("machine")
1440         .beginClass <lua_machine> ("lua_machine")
1441            .addCFunction ("popmessage", &lua_machine::l_popmessage)
1442            .addCFunction ("logerror", &lua_machine::l_logerror)
1443         .endClass ()
1444         .deriveClass <running_machine, lua_machine> ("machine")
14251445            .addFunction ("exit", &running_machine::schedule_exit)
14261446            .addFunction ("hard_reset", &running_machine::schedule_hard_reset)
14271447            .addFunction ("soft_reset", &running_machine::schedule_soft_reset)
trunk/src/emu/luaengine.h
r255125r255126
130130   static UINT64 l_state_get_value(const device_state_entry *d);
131131   static void l_state_set_value(device_state_entry *d, UINT64 v);
132132   static luabridge::LuaRef l_dev_get_memspaces(const device_t *d);
133   struct lua_machine {
134      int l_popmessage(lua_State *L);
135      int l_logerror(lua_State *L);
136   };
133137   struct lua_addr_space {
134138      template<typename T> int l_mem_read(lua_State *L);
135139      template<typename T> int l_mem_write(lua_State *L);


Previous 199869 Revisions Next


© 1997-2024 The MAME Team