This fixes a Protracker module in the OS/2 version of
Hopkins FBI (bug #3612101). In row 0x30 of the first
pattern, the set channel offset effect in the fourth track
pushes the offset past the sample (repeat) length.
This is not error; the mixing function already handles this
case flawlessly. No assert() is necessary there.
A large part of cadavre.mod is broken. No new notes play, and only
the old background sounds remain. It's possible, perhaps even
probable, that the original MOD player didn't have this problem,
but all standalone players I've tried do, so I'm assuming it's the
file that's broken. We work around it by changing the length of
the song after it's been loaded to only include the good parts.
MKID_BE relied on unspecified behavior of the C++ compiler,
and as such was always a bit unsafe. The new MKTAG macro
is slightly less elegant, but does no longer depend on the
behavior of the compiler.
Inspired by FFmpeg, which has an almost identical macro.