diff options
Diffstat (limited to 'utils/gen_adldata/file_formats')
-rw-r--r-- | utils/gen_adldata/file_formats/load_op2.h | 8 | ||||
-rw-r--r-- | utils/gen_adldata/file_formats/load_wopl.h | 2 |
2 files changed, 3 insertions, 7 deletions
diff --git a/utils/gen_adldata/file_formats/load_op2.h b/utils/gen_adldata/file_formats/load_op2.h index 1d7ea6f..6599a9f 100644 --- a/utils/gen_adldata/file_formats/load_op2.h +++ b/utils/gen_adldata/file_formats/load_op2.h @@ -112,10 +112,6 @@ bool BankFormats::LoadDoom(BanksDump &db, const char *fn, unsigned bank, const s tmp[index].data[10] = src.feedback; tmp[index].finetune = int8_t(src.basenote + 12); inst.fbConn |= (uint_fast16_t(src.feedback) << (a == 1 ? 8 : 0)); - if(a == 0) - inst.noteOffset1 = int8_t(src.basenote + 12); - else - inst.noteOffset2 = int8_t(src.basenote + 12); db.toOps(tmp[index], ops, index * 2); } struct ins tmp2; @@ -137,9 +133,9 @@ bool BankFormats::LoadDoom(BanksDump &db, const char *fn, unsigned bank, const s inst.noteOffset2 = int8_t(tmp[1].finetune); if((ins.flags & FL_DOUBLE_VOICE) != 0) - inst.instFlags |= BanksDump::InstrumentEntry::WOPL_Ins_Pseudo4op; + inst.instFlags |= BanksDump::InstrumentEntry::WOPL_Ins_4op | BanksDump::InstrumentEntry::WOPL_Ins_Pseudo4op; inst.percussionKeyNumber = tmp2.notenum; - inst.secondVoiceDetune = ins.finetune; + inst.secondVoiceDetune = static_cast<char>(static_cast<int>(ins.finetune) - 128); if(!(ins.flags & FL_DOUBLE_VOICE)) { diff --git a/utils/gen_adldata/file_formats/load_wopl.h b/utils/gen_adldata/file_formats/load_wopl.h index 0f05b6a..0db911c 100644 --- a/utils/gen_adldata/file_formats/load_wopl.h +++ b/utils/gen_adldata/file_formats/load_wopl.h @@ -208,7 +208,7 @@ bool BankFormats::LoadWopl(BanksDump &db, const char *fn, unsigned bank, const s inst.instFlags = flags; inst.percussionKeyNumber = is_percussion ? data[offset + 38] : 0; inst.noteOffset1 = int8_t(toSint16BE((const uint8_t *)data.data() + offset + 32)); - inst.noteOffset2 = int8_t(toSint16BE((const uint8_t *)data.data() + offset + 32)); + inst.noteOffset2 = int8_t(toSint16BE((const uint8_t *)data.data() + offset + 34)); inst.secondVoiceDetune = static_cast<int_fast8_t>(data[offset + 37]); inst.midiVelocityOffset = static_cast<int_fast8_t>(data[offset + 36]); inst.fbConn = (static_cast<uint_fast16_t>(data[offset + 40])) | |