aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorMax Horn2006-10-15 01:51:02 +0000
committerMax Horn2006-10-15 01:51:02 +0000
commit548cb2fbadece7d45a6b4a606385d953f46ffb6a (patch)
tree00134040a8fbad53687e8cddd8ac35fc140c8771 /engines
parent65e923480eec9e73ca6eaca5a3ad2ab62089d92f (diff)
downloadscummvm-rg350-548cb2fbadece7d45a6b4a606385d953f46ffb6a.tar.gz
scummvm-rg350-548cb2fbadece7d45a6b4a606385d953f46ffb6a.tar.bz2
scummvm-rg350-548cb2fbadece7d45a6b4a606385d953f46ffb6a.zip
Added FIXME comment about 'static' abuse in imuse_part.cpp
svn-id: r24327
Diffstat (limited to 'engines')
-rw-r--r--engines/scumm/imuse/imuse_part.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/engines/scumm/imuse/imuse_part.cpp b/engines/scumm/imuse/imuse_part.cpp
index 3449c4e42e..46ebd92982 100644
--- a/engines/scumm/imuse/imuse_part.cpp
+++ b/engines/scumm/imuse/imuse_part.cpp
@@ -230,6 +230,13 @@ void Part::noteOn(byte note, byte velocity) {
mc = _player->getMidiDriver()->getPercussionChannel();
if (!mc)
return;
+
+ // FIXME: The following is evil, EVIL!!! Either prev_vol_eff is
+ // actually meant to be a member of the Part class (i.e. each
+ // instance of Part keeps a separate copy of it); or it really
+ // is supposed to be shared by all Part instances -- but then it
+ // should be implemented as a class static var. As it is, using
+ // a function level static var in most cases is arcane and evil.
static byte prev_vol_eff = 128;
if (_vol_eff != prev_vol_eff){
mc->volume(_vol_eff);