dev164 - Namco 163: improvements, part 4
- per-channel wave offset/length - wave load position/length effects - global wave load effects that actually make sense - update doc
This commit is contained in:
parent
d411c9caba
commit
ad88ce46ab
11 changed files with 172 additions and 159 deletions
|
|
@ -134,7 +134,24 @@ bool DivInstrumentN163::operator==(const DivInstrumentN163& other) {
|
|||
_C(wave) &&
|
||||
_C(wavePos) &&
|
||||
_C(waveLen) &&
|
||||
_C(waveMode)
|
||||
_C(waveMode) &&
|
||||
_C(perChanPos) &&
|
||||
_C(wavePosCh[0]) &&
|
||||
_C(wavePosCh[1]) &&
|
||||
_C(wavePosCh[2]) &&
|
||||
_C(wavePosCh[3]) &&
|
||||
_C(wavePosCh[4]) &&
|
||||
_C(wavePosCh[5]) &&
|
||||
_C(wavePosCh[6]) &&
|
||||
_C(wavePosCh[7]) &&
|
||||
_C(waveLenCh[0]) &&
|
||||
_C(waveLenCh[1]) &&
|
||||
_C(waveLenCh[2]) &&
|
||||
_C(waveLenCh[3]) &&
|
||||
_C(waveLenCh[4]) &&
|
||||
_C(waveLenCh[5]) &&
|
||||
_C(waveLenCh[6]) &&
|
||||
_C(waveLenCh[7])
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -519,6 +536,17 @@ void DivInstrument::writeFeatureN1(SafeWriter* w) {
|
|||
w->writeC(n163.waveLen);
|
||||
w->writeC(n163.waveMode);
|
||||
|
||||
w->writeC(n163.perChanPos);
|
||||
|
||||
if (n163.perChanPos) {
|
||||
for (int i=0; i<8; i++) {
|
||||
w->writeC(n163.wavePosCh[i]);
|
||||
}
|
||||
for (int i=0; i<8; i++) {
|
||||
w->writeC(n163.waveLenCh[i]);
|
||||
}
|
||||
}
|
||||
|
||||
FEATURE_END;
|
||||
}
|
||||
|
||||
|
|
@ -2280,6 +2308,18 @@ void DivInstrument::readFeatureN1(SafeReader& reader, short version) {
|
|||
n163.waveLen=(unsigned char)reader.readC();
|
||||
n163.waveMode=(unsigned char)reader.readC();
|
||||
|
||||
if (version>=164) {
|
||||
n163.perChanPos=reader.readC();
|
||||
if (n163.perChanPos) {
|
||||
for (int i=0; i<8; i++) {
|
||||
n163.wavePosCh[i]=(unsigned char)reader.readC();
|
||||
}
|
||||
for (int i=0; i<8; i++) {
|
||||
n163.waveLenCh[i]=(unsigned char)reader.readC();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
READ_FEAT_END;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue