mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-23 12:44:02 +00:00
GOB: Don't recalculate the AdLib frequencies table on every player reset
This commit is contained in:
parent
b812ed50c8
commit
f538b76586
@ -98,6 +98,8 @@ AdLib::AdLib(Audio::Mixer &mixer) : _mixer(&mixer), _opl(0),
|
||||
|
||||
_rate = _mixer->getOutputRate();
|
||||
|
||||
initFreqs();
|
||||
|
||||
createOPL();
|
||||
initOPL();
|
||||
|
||||
@ -295,7 +297,7 @@ void AdLib::initOPL() {
|
||||
_opl->reset();
|
||||
|
||||
initOperatorVolumes();
|
||||
initFreqs();
|
||||
resetFreqs();
|
||||
|
||||
setPercussionMode(false);
|
||||
|
||||
@ -581,6 +583,10 @@ void AdLib::initFreqs() {
|
||||
for (int i = 0; i < kPitchStepCount; i++)
|
||||
setFreqs(_freqs[i], i * numStep, 100);
|
||||
|
||||
resetFreqs();
|
||||
}
|
||||
|
||||
void AdLib::resetFreqs() {
|
||||
for (int i = 0; i < kMaxVoiceCount; i++) {
|
||||
_freqPtr [i] = _freqs[0];
|
||||
_halfToneOffset[i] = 0;
|
||||
|
@ -295,6 +295,7 @@ private:
|
||||
void initFreqs();
|
||||
void setFreqs(uint16 *freqs, int32 num, int32 denom);
|
||||
int32 calcFreq(int32 deltaDemiToneNum, int32 deltaDemiToneDenom);
|
||||
void resetFreqs();
|
||||
|
||||
void changePitch(uint8 voice, uint16 pitchBend);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user