diff options
author | 2023-04-07 06:20:40 +1000 | |
---|---|---|
committer | 2023-04-07 06:20:40 +1000 | |
commit | b67b969bf0911d71396c77e42d85ddfe80de6f20 (patch) | |
tree | 8d964eac6e0c4c849dc2b9b0b3742154c6c943d4 /plugins/autofire/init.lua | |
parent | c4282fecede9032be78028e8fde737d44bf2b7c6 (diff) |
-Improved some Lua APIs:
* Moved several machine lifecycle callbacks to the notifier/subscriber
model. The old callback registration model is still available for
them for now, but prints a deprecation warning.
* Added pre-save/post-load notifications.
* Use a single allocated timer rather than one anonymous timer per
waiter. Waiters no longer prevent saved states from being loaded.
* Clean up outstanding waiters on stop or state load rather than just
leaking them.
* Started documenting parts of the emulator interface object that should
be relatively stable.
-imagedev/avivideo.cpp: Fixed an object leak on unload. Also changed
some other media image devices to use smart pointers.
Diffstat (limited to 'plugins/autofire/init.lua')
-rw-r--r-- | plugins/autofire/init.lua | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/plugins/autofire/init.lua b/plugins/autofire/init.lua index ab5e7b11f47..35d37e69592 100644 --- a/plugins/autofire/init.lua +++ b/plugins/autofire/init.lua @@ -9,6 +9,8 @@ local exports = { local autofire = exports +local frame_subscription, stop_subscription + function autofire.startplugin() -- List of autofire buttons, each being a table with keys: @@ -104,9 +106,9 @@ function autofire.startplugin() end end - emu.register_frame(process_frame) + frame_subscription = emu.add_machine_frame_notifier(process_frame) emu.register_prestart(load_settings) - emu.register_stop(save_settings) + stop_subscription = emu.add_machine_stop_notifier(save_settings) emu.register_menu(menu_callback, menu_populate, _p('plugin-autofire', 'Autofire')) end |