summaryrefslogtreecommitdiffstatshomepage
path: root/plugins/layout/init.lua
Commit message (Collapse)AuthorAgeFilesLines
* -Improved some Lua APIs: Vas Crabb2023-04-071-9/+13
| | | | | | | | | | | | | | | | * 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.
* Tie up a few loose ends: Vas Crabb2023-03-081-2/+5
| | | | | | * msx2_flop.xml: Fixed a couple of Japanese titles. * plugins/layout: Added a couple of things to the layout script sandbox. * Tidied up Hyper Neo Geo 64 code (srcclean etc.).
* hegenerglaser/*: add clickable element to internal artwork that presses 2 ↵ hap2022-07-261-0/+1
| | | | buttons at the same time where applicable
* plugins: Use SPDX short identifiers for licenses in exports (more precise ↵ Vas Crabb2021-10-251-1/+1
| | | | and easier to localise), use CC0 for hiscore plugin rather than CC0.
* More Lua interface cleanup - it's simpler with cleaner underlyng APIs. Vas Crabb2020-12-271-2/+2
| | | | | | | | | | | Made the sound manager mute controls readable, and got rid of system enable since it just controls system mute anyway. This was causing confusion: phantom2 was trying to use both independentlyt casuing the mute bit to be ignored. THe Lua interface changes are mostly changing methods to properties, some renames to make things clearer, and some additional properties for better control over snapshots.
* Expose enough of the layout system to Lua to allow position and colour to be ↵ Vas Crabb2020-12-051-0/+7
| | | | animated.
* Fairly significant overhaul of Lua engine and some cleanup. Vas Crabb2020-11-251-6/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The things that were previously called device iterators are not iterators in the C++ sense of the word. This is confusing for newcomers. These have been renamed to be device enumerators. Several Lua methods and properties that previously returned tables now return lightweight wrappers for the underlying objects. This means creating them is a lot faster, but you can't modify them, and the performance characteristics of different operations varies. The render manager's target list uses 1-based indexing to be more like idiomatic Lua. It's now possible to create a device enumerator on any device, and then get subdevices (or sibling devices) using a relative tag. Much more render/layout functionality has been exposed to Lua. Layout scripts now have access to the layout file and can directly set the state of an item with no bindings, or register callbacks to obtain state. Some things that were previously methods are now read-only properties. Layout files are no longer required to supply a "name". This was problematic because the same layout file could be loaded for multiple instances of the same device, and each instance of the layout file should use the correct inputs (and in the future outputs) for the device instance it's associated with. This should also fix video output with MSVC builds by avoiding delegates that return things that don't fit in a register.
* srcclean on lua plugins, too Vas Crabb2016-08-301-2/+2
|
* plugins/layout: layout embedded script helper plugin [Carl] cracyc2016-04-271-0/+50
luaengine: callbacks for plugins (nw) rendlay: layout tag external handler support (nw) fidel_csc and mdndclab: example layout scripts (nw) -- Neither layout script is complete. The chess doesn't handle castling or en passant and the Dungeons and Dragons only does the walls.