From 548cb2fbadece7d45a6b4a606385d953f46ffb6a Mon Sep 17 00:00:00 2001 From: Max Horn Date: Sun, 15 Oct 2006 01:51:02 +0000 Subject: [PATCH] Added FIXME comment about 'static' abuse in imuse_part.cpp svn-id: r24327 --- engines/scumm/imuse/imuse_part.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/engines/scumm/imuse/imuse_part.cpp b/engines/scumm/imuse/imuse_part.cpp index 3449c4e42ef..46ebd929824 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);