I decided to rewrite this entire module from scratch. The resulting Lua module was cut ~in half, design complexity was drastically reduced, the code is much more readable, and performance has been slightly improved.
Additionally, due to my recent learning about semantic versioning and how to properly manage a GitHub release, all erroneous previous releases have been deleted and replaced with version 0.1.0. Sorry for any inconvenience, although I am relieved to know that this will no longer be an issue in the future. Please take a look through the new README.md for setup changes.
Finally, a few notes about improvements to the module:
once_ callback presets have been removed. Instead, you are able to define your own custom animation sequences without being forced to conform to a preset. Very handy!
- Tilemap layers have better support, namely when activating a
trigger animation from a script.
- Message passing has been incorporated into the project. DTA will send animation progress updates to your
on_message() function. This can be disabled by calling
I noticed that using
tilemap.set_tile() does not play nice with DTA, since the only version of tilemap that the module knows about is the one that exists when
dta.init() is called. It will continue animating the exact same tiles regardless of how the tilemap changes throughout its lifetime. If you are setting new tiles to your map, then you will likely run into this problem. I am looking into how to handle this.
Let me know if you run into any glitches or unexpected behaviors. I will be sure to fix them as soon as possible.