Exposing running_machine::phase() to LUA (#13026)

This commit is contained in:
npwoods 2024-12-07 19:07:03 -05:00 committed by GitHub
parent 4d7a586ba6
commit f3e5305dd2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1462,7 +1462,19 @@ void lua_engine::initialize()
machine_type["cassettes"] = sol::property([] (running_machine &m) { return devenum<cassette_device_enumerator>(m.root_device()); });
machine_type["images"] = sol::property([] (running_machine &m) { return devenum<image_interface_enumerator>(m.root_device()); });
machine_type["slots"] = sol::property([](running_machine &m) { return devenum<slot_interface_enumerator>(m.root_device()); });
machine_type["phase"] = sol::property(
[](running_machine& m)
{
switch (m.phase())
{
case machine_phase::PREINIT: return "preinit";
case machine_phase::INIT: return "init";
case machine_phase::RESET: return "reset";
case machine_phase::RUNNING: return "running";
case machine_phase::EXIT: return "exit";
default: return "";
}
});
auto game_driver_type = sol().registry().new_usertype<game_driver>("game_driver", sol::no_constructor);
game_driver_type["name"] = sol::property([] (game_driver const &driver) { return &driver.name[0]; });