From cf351dffe6f91e43496080aba2b9df51aa10f061 Mon Sep 17 00:00:00 2001 From: Norbert Lange Date: Sat, 27 Jun 2009 07:07:20 +0000 Subject: 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 --- sound/mods/tfmx.h | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'sound/mods/tfmx.h') 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); }; -- cgit v1.2.3