tildearrow / furnace

a multi-system chiptune tracker compatible with DefleMask modules
GNU General Public License v2.0
2.63k stars 208 forks source link

S3M import, effect termination commands (FA00 0400) being placed at the wrong line if there's a 0D00. #1998

Closed gtr3qq closed 4 months ago

gtr3qq commented 4 months ago

It's still A .s3m peloponn.s3m

Tested on latest commit(https://github.com/tildearrow/furnace/commit/a816eee5b2bb8c0ede1ac7d0fb62705e24e7dc23) ins. transposing is fixed.

Tho, a different issue emerges.

The effect termination command got placed at a line that's after 0D00. image

Where it's expected to have the 0400 FA00 command at line.0 here. image

Here's the same pat. on OpenMPT. image

K00 means VolSlide+Vibrato: continue.

But the odd thing is, the next pattern, it's generated correctly....more or less... the command dupped, but it's there......

image

I don't quite understand what's happening here, or is it patchable. One thing should note is that the pattern sequence in the .s3m is out of order with pat.04 being first played.

Thank you for your amazing tracker!

tildearrow commented 4 months ago

Seems like we have yet another variable conflict...

tildearrow commented 4 months ago

Effect termination now appears at the first line. It will still appear at the last line, but don't worry about it.