aboutsummaryrefslogtreecommitdiff
path: root/sound/mods/tfmx.h
diff options
context:
space:
mode:
authorNorbert Lange2009-06-27 07:07:20 +0000
committerNorbert Lange2009-06-27 07:07:20 +0000
commitcf351dffe6f91e43496080aba2b9df51aa10f061 (patch)
treea15b348eeb7eb65c3f2b1578ce3c9befa59e53cd /sound/mods/tfmx.h
parent536eb14d03ee02ed52e7c82372f3f955a7026245 (diff)
downloadscummvm-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.h13
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);
};