The following change notes are a summary of changes since 1.0:
- Changed named parameter for procgame.game.Driver.patter(): orig_on_time is now original_on_time, to be consistent with pypinproc and other existing methods.
- Added child modes. See procgame.game.Mode.add_child_mode() for more details.
- procgame.game.Mode.delay() now has more optional parameters, and will autogenerate a unique name and return it.
- Added procgame.dmd.Font.draw_in_rect().
- Added procgame.dmd.TextLayer.fill_color.
- procgame.game.Switch.hw_timestamp is now set when available.
- Added procgame.modes.ScoreDisplay.credit_string_callback.
- procgame.dmd.DisplayController.update() now returns the frame it generated.
- Added dmdimage tool.
- Game configuration file: game items (switches, coils, and lamps) can now have a tags key. This allows obtaining game items with a certain tag via procgame.game.AttrCollection.items_tagged().
- Fixed an issue where procgame.game.Switch.time_since_change() did not behave as documented. Previously, querying time_since_changed() would always return 0 if called within that switch’s handler. Now the time will be properly reset after the switch’s events are handled.
- Added procgame.game.GameController.load_config_stream().
- Added procgame.events.EventManager, a general purpose event dispatcher.
- In procgame.game.GameController.end_game(), ball is now set to 0 before calling game_ended().
- Added procgame.game.GameController.is_game_over().
- Added ‘now’ parameter to procgame.game.Driver.patter().
- Added procgame.game.Driver.future_pulse()
- Added procgame.game.PDBConfig to handle ‘pdb’ machineType YAML parsing
- Added ‘polarity’ field to YAML driver parsing
- Added ‘pulseTime’ field to YAML driver parsing to set a driver’s default pulse width.
- Added ‘label’ field to YAML item parsing for human readable item descriptions.