diff options
| author | Norbert Lange | 2009-06-30 17:41:24 +0000 |
|---|---|---|
| committer | Norbert Lange | 2009-06-30 17:41:24 +0000 |
| commit | e3a5da7b7ed1581e31b47dceabddb46f49b29cd7 (patch) | |
| tree | 61b00799ab74383ec024a7b345d9506c35863b17 /sound | |
| parent | cf351dffe6f91e43496080aba2b9df51aa10f061 (diff) | |
| download | scummvm-rg350-e3a5da7b7ed1581e31b47dceabddb46f49b29cd7.tar.gz scummvm-rg350-e3a5da7b7ed1581e31b47dceabddb46f49b29cd7.tar.bz2 scummvm-rg350-e3a5da7b7ed1581e31b47dceabddb46f49b29cd7.zip | |
engines/scumm/*: enabled choosing of the colorpalette, by setting RenderMode to EGA the "old" palette will be used
tfmx/tfmxplayer.cpp: removed some unused stuff
sound/mods/tfmx.cpp: emulating the way MI initialises new macro-programms. (Difference might not be audible at all)
svn-id: r41976
Diffstat (limited to 'sound')
| -rw-r--r-- | sound/mods/tfmx.cpp | 10 | ||||
| -rw-r--r-- | sound/mods/tfmx.h | 3 |
2 files changed, 11 insertions, 2 deletions
diff --git a/sound/mods/tfmx.cpp b/sound/mods/tfmx.cpp index f813212a82..cf34a9715d 100644 --- a/sound/mods/tfmx.cpp +++ b/sound/mods/tfmx.cpp @@ -93,8 +93,9 @@ void Tfmx::interrupt() { channel.sfxLocked = (channel.customMacroPrio != 0); } - // apply timebased effects on Parameters - effects(channel); + // apply timebased effects on Parameters + if (channel.macroSfxRun > 0) + effects(channel); // see if we have to run the macro-program if (channel.macroRun) { @@ -107,6 +108,8 @@ void Tfmx::interrupt() { } Paula::setChannelPeriod(channel.paulaChannel, channel.period); + if (channel.macroSfxRun >= 0) + channel.macroSfxRun = 1; // TODO: handling pending DMAOff? } @@ -253,6 +256,9 @@ void Tfmx::macroRun(ChannelContext &channel) { continue; case 0x01: // DMA On + // TODO: Parameter macroPtr[1] - en-/disable effects + if (macroPtr[1]) + debug("Tfmx: DMA On %i", (int8)macroPtr[1]); channel.dmaIntCount = 0; if (deferWait) { // TODO diff --git a/sound/mods/tfmx.h b/sound/mods/tfmx.h index 695062762c..fccdf0aa01 100644 --- a/sound/mods/tfmx.h +++ b/sound/mods/tfmx.h @@ -146,6 +146,7 @@ public: uint16 macroReturnStep; uint8 macroLoopCount; bool macroRun; + int8 macroSfxRun; uint32 customMacro; uint8 customMacroIndex; @@ -232,6 +233,7 @@ private: channel.macroStep = 0; channel.macroWait = 0; channel.macroRun = true; + channel.macroSfxRun = 0; channel.macroLoopCount = 0xFF; channel.dmaIntCount = 0; } @@ -245,6 +247,7 @@ private: static void clearMacroProgramm(ChannelContext &channel) { channel.macroRun = false; + channel.macroSfxRun = 0; channel.dmaIntCount = 0; } |
