Skip to content

Releases: missionpinball/mpf

v0.20.3

26 Oct 20:53
Compare
Choose a tag to compare

Mission Pinball Framework 0.20.3. (Bug fix where keyboard "toggle" switches would not start in the same state as the associated MPF switch. This bug broke the tutorial which is why the fix is being pushed to the master branch immediately.

Documentation remains unchanged from the 0.20.2 version.

v0.20.2

21 Oct 01:48
Compare
Choose a tag to compare

Mission Pinball Framework v0.20.2

v0.20.1

15 Sep 22:25
Compare
Choose a tag to compare

Mission Pinball Framework v0.20.1

v0.20.0

15 Sep 05:34
Compare
Choose a tag to compare

Mission Pinball Framework v0.20.0

v0.19.2

07 Aug 07:03
Compare
Choose a tag to compare

Bug fix: Switches actions from non-configured switches would crash

v0.19.1

06 Aug 17:42
Compare
Choose a tag to compare

Bug fix: Keyboard switch names became case sensitive due to a change in the BCP module. This has been corrected.

v0.19.0

06 Aug 08:13
Compare
Choose a tag to compare

New Features

  • Completely rewritten target and drop target device module, including:
    • Per-player state tracking for targets
    • Target "profiles" that control how targets behave, completely integrated with the mode system
    • New "how to" guides explaining this.
  • Light show "sync_ms" which allows new light shows to sync up with existing running shows.
  • Timed switch events can be set up via the config files.
  • Added "recycle_time" to switches. (Switches can be configured to not report multiple events until a cool-down time has passed.)
  • Created an events_player module
  • Player variables in slides automatically update themselves when they change. (No more need to find an event to tie the slide to in order for it to update!)
  • Device control events exposed via the config files
  • Automatic control of GI
  • Activation and deactivation events can be automatically created for every switch.
  • Allow multiple playfield objects to be created at once (for head-to-head pinball)
  • Added support for FAST Pinball's new WPC controller
  • Added a Linux shell script to launch mc.py and mpf.py
  • Created the config file migration tool
  • Added per-timer debug loggers
  • Standardization of many non-standard config file naming conventions
  • Color logging to LEDs
  • Added P3-ROC switch test tool
  • Added reset to mode timer action list
  • Added restart feature to mode timers
  • Flipper Device: Add debug logging to rules
  • FAST: Added minimum firmware version checking for IO boards
  • Added "restart" method to logic blocks
  • Text display element min_digits
  • Allow system modules to be replaced and subclassed
  • Added configurable event names for switch tag events
  • Added callback kwargs to switch handlers
  • Added light and LED reset on machine mode start
  • Added default machine and mode delay managers

v0.18.0

02 Jun 06:55
Compare
Choose a tag to compare

New features in 0.18.0

  • FadeCandy and Open Pixel Control (OPC) support. This means you can use a FadeCandy or other OPC devices to control the LEDs in your machine.
  • Rewritten FAST platform interface. It's now "driverless," meaning you no longer need to download and compile drivers to make it work.
  • Added support to allow multiple hardware platforms to be used at once. (e.g. LEDs can be from a FadeCandy while coils are from a P-ROC.) You can even use multiple different platform interfaces for the same types of devices at once (e.g. some LEDs are FadeCandy and others are FAST).
  • Added support for GI and flashers to light shows
  • Added activation and deactivation events to switches
  • Added support for sounds in media shows
  • Added per-sound volume control
  • Added support for P-ROC / P3-ROC non-debounced switches
  • Exceptions and bugs that cause MPF to crash are now captured in the log file. (This will be great for troubleshooting since you can just send your log. No more needing to capture a screenshot of the crash.)
  • If a child thread crashes, MPF will also crash. (Previously child threads were crashing but people didn't know it, so things were breaking but it was hard to tell why.)
  • MPF can now be used without switches or coils defined. (Makes getting started even easier.)
  • "Preload" assets loading process is tracked as MPF boots, allowing display to show a countdown of the asset loading process
  • Added restart_on_complete to mode timers
  • Smarter handling of player-controlled eject requests while existing eject requests are in progress
  • eject_all() returns True if it was able to eject any balls
  • Playfield "add ball" requests are queued if there’s a current player eject request in progress
  • Created a smarter asset loading process
  • The attract mode start is held until all the "preload" assets are loaded
  • Updated how the game controller tracks balls in play

Bug fixes

  • Image loading for DMD is now working again
  • Sequence logic block was always starting on step 2
  • Prevent crash if no hardware DMD is configured
  • Typo in unlit_complete_script setting
  • Prevent crash if an update from a non-configured switch is received
  • Fixed sequence logic block crash
  • Mode light player shows would crash if the mode had already been loaded once before
  • Remove all active instances of a show from the active shows list
  • Logic block counters restart_on_complete wasn’t working
  • Made switch controller handlers case insensitive
  • Triggers in the machine-wide config now work without parameters
  • Media controller wasn’t always shutting down properly
  • Changed when shots and diverters register switch handlers
  • Plungers without coils work when a player controlled eject tag has been specified
  • Made light shows and scripts case insensitive
  • Made mode names case insensitive
  • Allowed shows to end even if MPF didn’t think they were running
  • Made switch controller handlers case insensitive
  • Tags in light shows and scripts
  • Prevent crash on config_file loading with no config path
  • Event manager crash on some iterations
  • Prevent crash in invalid LED name logging
  • Active event logging could sometimes cause a crash
  • Fixed asset loader errors about assets already being loaded
  • Holdpatter fix
  • Media and light shows were sometimes getting multiple instances running at once
  • Light show wasn't restoring previous led and matrix light states properly when a show ended
  • Auditor would crash if shots were defined in modes but not in the systemwide config
  • Prevent crash is sound stop attempt is made when no sound object is loaded
  • Media show events only post triggers, not raw events. This was causing some "double playing" of sounds
  • Raise exception if an invalid sound name is specified in the sound player instead of failing silently
  • Media and light shows ending under certain conditions could cause an infinite loop

v0.17.1

05 May 13:37
Compare
Choose a tag to compare

Bug fix: holdpatter setting needed to be changed in the driver module to match the new case insensitivity of config files.

v0.17.0

04 May 20:45
Compare
Choose a tag to compare

New features in MPF 0.17.0

  • Broke MPF into two pieces: The MPF core engine and the MPF media player
  • Added support for the Backbox Control Protocol (BCP)
  • Added device-specific debugging for LEDs. (For example, if you have one LED that you can’t figure out why it’s not working, you can enable debugging for just that LED and it will show you all the light shows, scripts, priorities, cache, current state, etc. This lets you zero-in on just that without having to filter through thousands of pages of logs.)
  • Added version control to config files (to ensure the config files being used match the version of MPF).

Changes in MPF 0.17.0

  • Switches that you want to start active when using virtual hardware are now added to the virtual platform start active switches: section instead of being a property of the keyboard: entry.
  • Converted several former plugins to system modules, including shots, scoring, bcp, and logic blocks.
  • General performance improvements. (Running MPF on my machine used to take about 50% CPU. Now it’s down to 15%.)

Bug Fixes

  • Fixed bug where ball devices configured for eject confirmations other than ‘playfield’ would sometimes still try to confirm via the playfield.
  • Fixed a bug where FAST Pinball controller port mappings were not correct
  • Bug fix: Send BCP timer commands before posting events
  • Bug fix: Removed Media Controller mode stop events
  • Fixed crash when no player_controlled_eject_tag was specified
  • Fixed a bug in logging of some plugins
  • Bug fix when creating system timers
  • Bug fix in ModeTimer start() method.
  • Parameters for events triggered by keybaord plugin are now optional
  • Fixed some bugs that were causing config file processing to crash