dev200 - new sample offset effects

90xx/91yy/92zz set offset zzyyxx
This commit is contained in:
tildearrow 2024-04-23 14:36:06 -05:00
parent 2b95da8d10
commit 7a217ccdb1
5 changed files with 43 additions and 12 deletions

View file

@ -156,7 +156,17 @@ const char* DivEngine::getEffectDesc(unsigned char effect, int chan, bool notNul
return "FFxx: Stop song";
default:
if ((effect&0xf0)==0x90) {
return "9xxx: Set sample offset*256";
if (song.oldSampleOffset) {
return "9xxx: Set sample offset*256";
}
switch (effect) {
case 0x90:
return "90xx: Set sample offset (first byte)";
case 0x91:
return "91xx: Set sample offset (second byte, ×256)";
case 0x92:
return "92xx: Set sample offset (third byte, ×65536)";
}
} else if (chan>=0 && chan<chans) {
DivSysDef* sysDef=sysDefs[sysOfChan[chan]];
auto iter=sysDef->effectHandlers.find(effect);
@ -562,8 +572,8 @@ void DivEngine::initSongWithDesc(const char* description, bool inBase64, bool ol
// extra attributes
song.subsong[0]->hz=c.getDouble("tickRate",60.0);
if (song.subsong[0]->hz<1.0) song->subsong[0]->hz=1.0;
if (song.subsong[0]->hz>999.0) song->subsong[0]->hz=999.0;
if (song.subsong[0]->hz<1.0) song.subsong[0]->hz=1.0;
if (song.subsong[0]->hz>999.0) song.subsong[0]->hz=999.0;
song.author=getConfString("defaultAuthorName","");
}