45 Commits
Author SHA1 Message Date
Andrew Mickelson 814d48d8fc correct default value in LCDRefresh plugin 2026-05-02 22:15:53 -07:00
Andrew Mickelson ad408674e7 Add display width, height and refresh to romolist. Added LCDRefresh plugin 2026-05-02 22:07:35 -07:00
Andrew Mickelson d4c7c7bbb4 Update history.dat plugin to use the new history.xml format 2025-04-19 19:11:35 -07:00
Andrew Mickelson 7313c4d220 Update UltraStik plugin to support .json and to use joystick controls
when multiple controls available
2025-01-24 19:52:09 -08:00
Andrew Mickelson 86d2070596 Merge pull request #656 from arzoo1/master
Update LEDBlinky plugin.
2020-09-25 10:45:10 -07:00
arzoo1 11dba67176 Update LEDBlinky.nut
This is the version of the plugin that is distributed with the LEDBlinky install.
2020-09-24 14:43:31 -04:00
Radek Dutkiewicz e291977602 Fixed FPS graph not hiding on pressing the hotkey
Fixed the situation when On/Off hotkey was not hiding the fps graph when frame time graph was disabled
2020-09-16 00:18:59 +01:00
Radek Dutkiewicz 9105f35a7b Added 2 new properties for surfaces + FPSMonitor optimization
The FPSMonitor was not performing well enough on RPI3, so I've decided to do it properly. Instead of redrawing the whole graph now only one bar is drawn on each frame. I've made that possible by introducing 2 new properties for surfaces which allowed to draw a scrolling buffer:
`clear` - T/F  (Default: T) determines whether to clear the surface or leave the content from the previous frame.
`repeat` - T/F (Default: F)  changes the wrapping mode from clamp_to_edge to repeat. Those properties are not exposed atm until I find some interesting usage scenarios for them, I've got some ideas, which I will post later.
2020-08-26 00:23:02 +01:00
Radek Dutkiewicz 7e4e1f9700 Added ScreenRefreshRate global variable
AM now is able to detect the refresh rate of the monitor. it takes just 200ms on AM start, but it does not utilize any platform specific functions. I think it's a good trade-off. This is useful for calculating the target speed of frame based animations on displays other than 60Hz. The advantage of frame based animations over time based is that they remain smooth when the frame delta time varies significantly on artwork reloading but there is no skipped frames due to triple buffering.

FPSMonitor plugin updates:
- not fixed to 60Hz anymore
- added frame time graph.
- fixed scaling issues when layout width, or height was overridden
2020-08-06 19:33:35 +01:00
Radek Dutkiewicz 0a1961cdb9 FPS Monitor Fix
Changed the way the graph is drawn due to some reported problems under DRM. FPS Monitor previously used a trick with surface clones to retrieve a previous frame content which allowed to make a scrolling buffer. Now it's drawn using the conventional method with image clones which is also as fast as before.
2020-06-02 00:09:22 +01:00
Radek Dutkiewicz d87030130d FPSMonitor and font loading fix (#572)
* Fixed fonts not loading in plugins

* Added FPS monitor plugin
2020-01-13 21:11:11 -08:00
progets f78655de67 RocketLauncher plugin (#470) - Written by ArcadeBliss
Written by ArcadeBliss
2018-08-16 21:50:45 -07:00
mbalfour ce0a08761e Improve Multi Monitor support (#405) and fix NES romlist crash
* Improve multi-monitor support

Add configurable size & placement for artwork.
Ensure cross-fade completes when entering game.

* Improve MultiMon config labels

Change the MultiMon config labels to have 1-based monitor numbers
instead of 0-based.

* Allow artwork to remain during launch

Remove the clear so that multi-monitor artwork can remain during launch.

* Fix NES romlist crash

Fix crash for NES romlist parsing.  For files ending in .nes, the
buff_ptr pointer gets modified, which caused the delete to be incorrect.
2018-01-10 21:38:41 -08:00
Andrew Mickelson 26907a66de Issue #372 - Added plugin to change display on joystick input
- The frontend now includes the "SpecificDisplay" plugin which can be
configured to show a specific display when particular custom input is
received.
- Exposed the fe.Display and fe.Filters arrays for plugin and layout
access from within the config menu
2017-10-15 12:08:39 -07:00
Andrew Mickelson 5e818ebdef Updated the "Keyboard Search" plugin so "Back" clears the current search 2016-09-04 11:22:59 -07:00
Andrew Mickelson e7d577c3ff Added chrisvg's updated intro and LEDBlinky scripts 2016-03-17 21:37:05 -07:00
Andrew Mickelson 2ca10ece42 Issue #163 - Added "preserve_aspect_ratio" setting for entire layout
- scripts can now set fe.layout.preserve_aspect_ratio to true to have the
frontend preserve the overall aspect ratio for the layout
- Updated the RotationControl plugin to have a setting for this
2015-12-15 22:05:11 -08:00
Andrew Mickelson 8c208aad32 Issue 120 - added functionality to let plugins show search results
- added 'fe.list.search_rule' property to squirrel, which can be used by
  plugin scripts to apply a search rule to the currently displayed game
  list.  The search is cleared when the search_rule property is cleared, or
  when the user navigates away from the current display or filter
- The KeyboardSearch plugin demonstrates this functionality
- Added '[Search]' to the available magic tags to allow layouts to display
  the currently applied search
2015-10-11 16:00:26 -07:00
Andrew Mickelson 639f62fcec Added KeyboardSearch plugin 2015-10-07 10:28:12 -07:00
Andrew Mickelson c5627250ca Update language template with missing strings
Also includes a small change to KonamiCode plugin, so that it
behaves a bit better when idle
2015-09-22 22:49:50 -07:00
Andrew Mickelson 54ef2bd27a Issue #121 - Added fe.nv table to squirrel, for persistent storage
Layouts and plugins can use the fe.nv table to store values which will be
available the next time the layout or plugin is loaded.  This table is shared
between all layouts and plugins.
2015-09-01 22:08:08 -07:00
Andrew Mickelson ad725393f5 MultiMon plugin now clears any spillover of main layout onto other screens 2015-05-27 21:04:04 -07:00
Andrew Mickelson 216a1955c9 Added "fade" module for smooth fading between artwork images/videos
- Added the fe.get_art() script command, which can be used to return the
  appropriate artwork filenames for a game.
- Updated cools layout with an option for fanart background w/ fade
- Updated reflect layout to use fade for snaps
- Updated multimonitor plugin to use fade
2015-04-26 09:37:14 -07:00
Andrew Mickelson cc8c2ac7cf Further changes for multimonitor support 2015-04-10 23:16:39 -07:00
Andrew Mickelson f1e4677379 [Windows] Issue #122 - initial addition of multi-monitor support
- layouts get displayed on the primary monitor
- the fe.monitors array can be used in squirrel to interact with the
  system's monitors.  you can add_images etc. to each monitor
- updated Layout.md to describe monitor interface
- Added MultiMon plugin to throw up artworks on other monitors
2015-04-09 00:23:28 -07:00
Andrew Mickelson cfc36592fd Attract-Mode can now load MALA layouts
- Added a framework for launching loader scripts when Attract-Mode can't
  find one of its layouts in a layout directory.  The only loader
  available for now is for MALA.
- Added loader script for MALA layouts, with most features being supported.
  Includes options for animating the MALA game list and for fade transitions.
- Updated documentation.
2015-02-16 18:05:14 -08:00
Andrew Mickelson 221aeca439 Faster history.dat index generation 2015-02-02 23:18:54 -08:00
Andrew Mickelson 492cf9bfea Improved error checking in AudioMode plugin 2014-10-13 22:34:11 -07:00
Andrew Mickelson fc55c242c1 Testing fixes 2014-10-13 21:46:40 -07:00
Andrew Mickelson 66e482bc1b Updated KonamiCode plugin 2014-10-13 12:13:37 -07:00
Andrew Mickelson a06d9e9430 Updates to layouts and plugins for 1.4 2014-10-13 00:05:51 -07:00
Andrew Mickelson 12f530d520 Fixed AutoRotation, renamed plugin 2014-10-11 22:14:52 -07:00
Andrew Mickelson 6dbe8bdcf2 Initial addition of thegamesdb.net scraper 2014-09-18 23:06:09 -07:00
Andrew Mickelson 562bed30f5 Updates and bugfixes in plugin scripts 2014-09-06 22:37:26 -07:00
Andrew Mickelson 74c38c8cc6 Added the 'grid' layout, rewrote the 'orbit' layout, various related changes
- Added the 'conveyor' module on which the grid and orbit layouts are
  based
- Fixed index file generation in the history.dat plugin
2014-09-06 19:35:59 -07:00
Andrew Mickelson 24fbb46085 Improved script control over ambient music. Added the AudioMode plugin 2014-08-21 21:48:23 -07:00
Andrew Mickelson f9bab1a140 Issues #10, #46 - Added history.dat plugin and related improvements.
- fe.get_input_state() can now test if any control mapped to a
  particular frontend action is pressed.  For example
  fe.get_input_state( "select" ) will return true if any button mapped to
  game selection is pressed.
- transition and tick callback functions inside squirrel tables or class
  instances can now be registered.
- Improvements for multiline text display in the frontend
- Added ability to run squirrel script functions from the config menus for
  layouts, plugins and the screensaver.
- Added a plugin for history.dat viewing.
- Added a "submenu" module to simplify creating submenus in
  layouts/plugins.
- Removed some deprecated script functions.
2014-08-14 22:38:22 -07:00
Andrew Mickelson 92061fccbe Issue #77 - added UtilityMenu plugin to allow running user commands
- Added a UtilityMenu plugin that can be configured to run up to six
  different shell commands or other squirrel scripts.  Included a script
  (any_command.nut) that when run will prompt the user to enter the command
  to run and will display the output in the frontend.
- Added the fe.list_dialog() and fe.edit_dialog() script functions which
  allow scripts to prompt the user for input.
- Handle newline characters in text objects appropriately
2014-08-03 23:01:29 -07:00
Andrew Mickelson e1d247579c Removed autorotation from the frontend proper and put it in a plugin 2014-07-31 22:01:27 -07:00
Andrew Mickelson bc68c5ba9c Various changes to plug-ins (Allow scripts to use all squirrel libs, etc.)
- Load the blob, io, and system squirrel libraries for scripts
- Removed the "command" setting associated with plug-ins,  The interface
for the "fe.plugin_command()" functions change as a result
- Added "fe.load_module()" script function
- The "Toggle Layout" action will now just toggle between layout scripts
beginning with "layout" in their name... so between "layout.nut" and
"layout.90.nut" for example
2014-05-24 22:53:52 -07:00
Andrew Mickelson 8312b4658c Added the ability to configure layout-specific options
- Extended configurability of plugins to layouts and screensavers
- Attrac-Man Layout: player controls can now be configured from the UI
- Screen Saver: modes can now be configured by user
2014-02-19 23:05:43 -08:00
Andrew Mickelson ce39ef7a53 Ultrastik360 plugin added plus some minor cleanup 2014-01-01 00:41:44 -08:00
Andrew Mickelson 9e5753a61b Changed voice options 2013-12-27 22:23:47 -08:00
Andrew Mickelson d594a6e931 Reworked and simplified the plug-in configuration system 2013-12-26 23:42:53 -08:00
Andrew Mickelson f38a205a99 Initial addition of Plug-ins 2013-12-12 22:42:00 -08:00