aboutsummaryrefslogtreecommitdiff
path: root/sound/mods/tfmx.h
diff options
context:
space:
mode:
authorNorbert Lange2009-06-08 23:12:35 +0000
committerNorbert Lange2009-06-08 23:12:35 +0000
commitfe28f1c73c93b8fb20a3cee14acc1625adef37de (patch)
treef666037a0759e83d8875bacd45dbef2e1e509b8c /sound/mods/tfmx.h
parentc8d0335ea53b566943056b4edbfb03f5e50ee9c5 (diff)
downloadscummvm-rg350-fe28f1c73c93b8fb20a3cee14acc1625adef37de.tar.gz
scummvm-rg350-fe28f1c73c93b8fb20a3cee14acc1625adef37de.tar.bz2
scummvm-rg350-fe28f1c73c93b8fb20a3cee14acc1625adef37de.zip
tfmx.cpp:
added "vibrato-effect" paula.cpp: fixed bug introduced in last commit svn-id: r41392
Diffstat (limited to 'sound/mods/tfmx.h')
-rw-r--r--sound/mods/tfmx.h23
1 files changed, 15 insertions, 8 deletions
diff --git a/sound/mods/tfmx.h b/sound/mods/tfmx.h
index fa132d5618..0f33ecb763 100644
--- a/sound/mods/tfmx.h
+++ b/sound/mods/tfmx.h
@@ -122,7 +122,7 @@ public:
uint32 macroOffset;
uint32 macroReturnOffset;
uint16 macroStep;
- uint32 macroReturnStep;
+ uint16 macroReturnStep;
uint8 macroLoopCount;
bool macroRun;
@@ -142,7 +142,7 @@ public:
uint8 relVol;
uint8 note;
uint8 prevNote;
- uint16 fineTune;
+ int16 fineTune;
uint16 portaDestPeriod;
uint16 portaPeriod;
@@ -155,15 +155,14 @@ public:
uint8 envRate;
uint8 envEndVolume;
- int16 vibOffset;
- int8 vibWidth;
- uint8 vibFlag;
- uint8 vibReset;
- uint8 vibTime;
+ uint8 vibLength;
+ uint8 vibCount;
+ int16 vibValue;
+ int8 vibDelta;
uint8 addBeginTime;
uint8 addBeginReset;
- int32 addBegin;
+ int16 addBeginDelta;
} _channelCtx[kNumVoices];
struct PatternContext {
@@ -211,6 +210,14 @@ public:
channel.countDmaInterrupts = false;
}
+ void clearEffects(ChannelContext &channel) {
+ channel.envReset = 0;
+
+ channel.vibLength = 0;
+
+ channel.portaRate = 0;
+ }
+
void stopChannel(ChannelContext &channel) {
if (!channel.sfxLocked) {
channel.macroRun = false;