Skip to content

v2.2.0-BETA1

Pre-release
Pre-release
Compare
Choose a tag to compare
@freezy freezy released this 12 Jun 20:48
· 332 commits to master since this release

This is the first beta of v2.2.0. Internally, this is a major code update with over 10k lines of code changes, so I'd prefer to test this thoroughly before making it final.

The main feature of v2.2.0 is a plugin system that will allow third-party libraries to do frame colorizations. It's based on #347, but heavily refactored. Note that there is no plugin publicly available yet, so this beta should be focused on regression testing. Many thanks already to those who participate and report bugs!

The changes below are quite technical and describe how certain aspects of dmdext have changed.

New

  • Support for a plugin system for colorizations
  • When using --use-ini in dmdext.exe, it looks at DMDDEVICE_CONFIG is no value is provided.
  • Add warning to custom dialog when tint is modified in a colored game where it cannot be applied.

Changes

  • The way frames are passed through the render graph has changed. There is a more detailed description in #239, but the gist of it is that we now always pass frame objects instead of incoherent data objects. The frame objects contain their own business logic.
  • Up-scaling is done uniformly done through the render graph. Frame dimensions and frame data always match, and it's up to the render graph to up-scale if the setting is enabled and the destinations support it.
  • Frames are de-duped, meaning only frames that differ from the previous frame are processed. This leads to a massive improvement of garbage collection and thus, less micro stutter.
  • Converters can now be re-used, meaning we don't need to create separate converters for separate input frame formats anymore.
  • The render graph is now unit tested! This means we can more easily reproduce bugs, test assumptions, see code coverage, and generally debug much quicker.
  • ColoredFrame now extends DmdFrame and uses the same data structure.
  • Removed scaletohd in favor of scalermode. If you keep scaletohd in your configuration, it will work as before.

Bugfixes

  • Frankenstein now works properly in TPA (thanks @lucky01)
  • Bug when rendering Pinball FX's high-res DMDs through RGB24.
  • Fix Police Force and Riverboat Gambler.

Todo before final release

  • Add configurable ticker for converters
  • Test (and probably fix) Pinup