jpage8580 / GTUltra

GTUltra - Extensively modified GoatTracker Stereo (2.76) version. With many new features. See the GTUltra.PDF file for full details
GNU General Public License v2.0
87 stars 10 forks source link

New orderlist: Jumping to a pattern that's not the in first row and uses the same transposition value as the pattern above it will make the packed tune continue to use the transposition value of the pattern jumped from #56

Closed acrouzet closed 1 year ago

acrouzet commented 1 year ago

I believe this is an issue with the conversion from the new to old orderlist. When converting from new to old, I believe an extra transpose command is needed before a pattern that's being jumped to.

jpage8580 commented 1 year ago

Will push a fix eventually - codebase is a bit messy with new fixes / changes, along with me having no time to really get things back into github.

Here's the line to add to fix though: song.c (function: generateCompressedSongChannel). Add this before the second compressChannel call. It will force a transpose to be inserted at the start of the loop position.

// JP - Loop transpose fix 15/4/23: Always loop to the correct transpose value at that loop position lastTranspose = songOrderTranspose[s][c][loopIndex] + 1; // Just make this dirty to force the transpose to be stored

compressChannel(s, c, loopIndex, endIndex, &p, &lastTranspose, validateOnly); // compress from loop position to end

On Fri, Apr 14, 2023 at 9:37 PM acrouzet @.***> wrote:

I believe this is an issue with the conversion from the new to old orderlist. When converting from new to old, I believe an extra transpose command is needed before a pattern that's being jumped to.

— Reply to this email directly, view it on GitHub https://github.com/jpage8580/GTUltra/issues/56, or unsubscribe https://github.com/notifications/unsubscribe-auth/AYGMDBUDF3PHF7O2JQPQOLLXBGYRVANCNFSM6AAAAAAW64G5XU . You are receiving this because you are subscribed to this thread.Message ID: @.***>