aboutsummaryrefslogtreecommitdiff
path: root/utils/gen_adldata/file_formats
diff options
context:
space:
mode:
Diffstat (limited to 'utils/gen_adldata/file_formats')
-rw-r--r--utils/gen_adldata/file_formats/load_op2.h8
-rw-r--r--utils/gen_adldata/file_formats/load_wopl.h2
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])) |