diff options
author | Florian Kagerer | 2008-08-20 22:38:36 +0000 |
---|---|---|
committer | Florian Kagerer | 2008-08-20 22:38:36 +0000 |
commit | 1a7d3ef5eefd372d93a1298883120b9a835fd271 (patch) | |
tree | b355641b0654908eefad79890864a0b7a1eb3827 /engines | |
parent | 3717d6b9436d47e3717c04346b9e08422e86df44 (diff) | |
download | scummvm-rg350-1a7d3ef5eefd372d93a1298883120b9a835fd271.tar.gz scummvm-rg350-1a7d3ef5eefd372d93a1298883120b9a835fd271.tar.bz2 scummvm-rg350-1a7d3ef5eefd372d93a1298883120b9a835fd271.zip |
KYRA: Towns/PC-98-Audio: fix bug where pitch wheel is processed twice instead of once
svn-id: r34076
Diffstat (limited to 'engines')
-rw-r--r-- | engines/kyra/sound_towns.cpp | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/engines/kyra/sound_towns.cpp b/engines/kyra/sound_towns.cpp index cec238862f..6f06fa9b5e 100644 --- a/engines/kyra/sound_towns.cpp +++ b/engines/kyra/sound_towns.cpp @@ -2459,8 +2459,6 @@ void TownsPC98_OpnChannelSSG::processFrequency() { if (!processPitchWheel()) return; - processPitchWheel(); - uint16 f = _frequency >> _block; writeReg(_regOffset << 1, f & 0xff); writeReg((_regOffset << 1) + 1, f >> 8); @@ -3517,12 +3515,12 @@ void TownsPC98_OpnDriver::startSoundEffect() { } void TownsPC98_OpnDriver::setMusicTempo(uint8 tempo) { - float spc = (float)(0x100 - tempo) * 10.0 * _baserate; + float spc = (float)(0x100 - tempo) * 10.0f * _baserate; _samplesPerMusicCallback = (int32) spc; } void TownsPC98_OpnDriver::setSfxTempo(uint16 tempo) { - float spc = (float)(0x400 - tempo) * _baserate; + float spc = (float)(0x400 - tempo) * 0.625f * _baserate; _samplesPerSfxCallback = (int32) spc; } |