diff options
author | Norbert Lange | 2009-06-27 07:07:20 +0000 |
---|---|---|
committer | Norbert Lange | 2009-06-27 07:07:20 +0000 |
commit | cf351dffe6f91e43496080aba2b9df51aa10f061 (patch) | |
tree | a15b348eeb7eb65c3f2b1578ce3c9befa59e53cd /sound/mods/tfmx.h | |
parent | 536eb14d03ee02ed52e7c82372f3f955a7026245 (diff) | |
download | scummvm-rg350-cf351dffe6f91e43496080aba2b9df51aa10f061.tar.gz scummvm-rg350-cf351dffe6f91e43496080aba2b9df51aa10f061.tar.bz2 scummvm-rg350-cf351dffe6f91e43496080aba2b9df51aa10f061.zip |
Modified macro-,patter-,track-step functions to loop aslong they are supposed to execute. (instead of doing that loop "outside").
Added "addBeginn" Effect, not used by MI but simple to implemt.
svn-id: r41910
Diffstat (limited to 'sound/mods/tfmx.h')
-rw-r--r-- | sound/mods/tfmx.h | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/sound/mods/tfmx.h b/sound/mods/tfmx.h index 36e4151ce9..695062762c 100644 --- a/sound/mods/tfmx.h +++ b/sound/mods/tfmx.h @@ -184,9 +184,9 @@ public: int16 vibValue; int8 vibDelta; - uint8 addBeginTime; - uint8 addBeginReset; - int16 addBeginDelta; + uint8 addBeginLength; + uint8 addBeginCount; + int32 addBeginDelta; } _channelCtx[kNumVoices]; struct PatternContext { @@ -237,6 +237,7 @@ private: } static void clearEffects(ChannelContext &channel) { + channel.addBeginLength = 0; channel.envSkip = 0; channel.vibLength = 0; channel.portaDelta = 0; @@ -280,10 +281,10 @@ private: } void effects(ChannelContext &channel); - inline bool macroStep(ChannelContext &channel); + void macroRun(ChannelContext &channel); void advancePatterns(); - inline bool patternStep(PatternContext &pattern, bool &pendingTrackstep); - bool trackStep(); + bool patternRun(PatternContext &pattern); + bool trackRun(bool incStep = false); void noteCommand(uint8 note, uint8 param1, uint8 param2, uint8 param3); }; |