Closed neumatho closed 3 years ago
@AliceLR: Is this good?
At a glance this patch seems correct to me. Since it affects formats other than DSMI AMF (S3M, IT, GDM, IMF; OctaMED references this effect but bounds it outside of the affected value), I'll do a little bit of testing soon.
I haven't checked the other formats yet but the behavior of 0x80
being treated as speed 128 appears to be accurate to Dual Module Player 4.00, the MOD player that DSMI and the AMF format were originally created for. The notes in the final pattern also seem consistent with it being intended as speed 128 (subjective). OpenMPT also treats this as speed 128.
This doesn't mean this patch is wrong, but if the ST3 and DMP behaviors are different this effect might need to be split.
Does DMP also have silence for over 2 minutes at the end? I just tried with OpenMPT to see how it handles it, and it also sets the tempo to 128, so it seems to be the correct way.
Now we only need to check how the Streamtracker 3 editor handles it, to see if we need to split the command or not. Can you check that?
Send pa patch (a PR) that overrides this one.
Going to go ahead and close this, since #42 has been merged.
Fixed a little bug in S3M effect A (set speed). 0x80 is also a negative number, that's why the equal sign need to be there too. Found a module that sets the speed to 0x80, which made over a 2 minutes silence.
First I though that the bug need to be fixed in the DSMI/AMF loader, but found out that the issue is in fact in the player. Found module is attached. The speed is set at the end of the module.
Metromania Partie 1.zip