Closed neumatho closed 2 years ago
Alice: please have a look.
Rebased properly.
At a glance this looks correct. I'll locate some XM modules that rely on Lxx
to test and report back.
I made a test module that uses Lxx
to create a volume effect with an envelope with exponentially spaced points. As expected, the old behavior is extremely buggy (reads out-of-bounds envelope points) and the new behavior is indistinguishable from FastTracker 2, OpenMPT, libxmp, etc. villgust.xm.zip
Still need to locate actual modules with substantial examples of this effect, which will take a while. : |
I was able to find a small handful of modules noticeably affected by this issue (before I got tired of searching). I also found some other XM playback bugs I need to diagnose. The following modules have playback issues that (I think) are fixed by the patch:
The last one is the most noticeable by far. I think when the issues I've commented on are addressed this can be merged.
This looks OK to me. Merging.
Created a pull request for issue #48, so the XM effect L to behave correctly.