[Scummvm-cvs-logs] SF.net SVN: scummvm:[51868] scummvm/trunk/engines/gob/mult_v2.cpp
drmccoy at users.sourceforge.net
drmccoy at users.sourceforge.net
Sun Aug 8 02:43:23 CEST 2010
Revision: 51868
http://scummvm.svn.sourceforge.net/scummvm/?rev=51868&view=rev
Author: drmccoy
Date: 2010-08-08 00:43:22 +0000 (Sun, 08 Aug 2010)
Log Message:
-----------
GOB: Make playImd() use the new VideoPlayer interface
Modified Paths:
--------------
scummvm/trunk/engines/gob/mult_v2.cpp
Modified: scummvm/trunk/engines/gob/mult_v2.cpp
===================================================================
--- scummvm/trunk/engines/gob/mult_v2.cpp 2010-08-08 00:42:59 UTC (rev 51867)
+++ scummvm/trunk/engines/gob/mult_v2.cpp 2010-08-08 00:43:22 UTC (rev 51868)
@@ -1100,50 +1100,56 @@
void Mult_v2::playImd(const char *imdFile, Mult::Mult_ImdKey &key, int16 dir,
int16 startFrame) {
- int16 x, y;
- int16 palStart, palEnd;
- int16 baseFrame, palFrame, lastFrame;
- uint16 flags;
+ VideoPlayer::Properties props;
+
if (_vm->_draw->_renderFlags & 0x100) {
- x = VAR(55);
- y = VAR(56);
- } else
- x = y = -1;
+ props.x = VAR(55);
+ props.y = VAR(56);
+ }
if (key.imdFile == -1) {
- _vm->_vidPlayer->primaryClose();
+ _vm->_vidPlayer->closeVideo();
return;
}
- flags = (key.flags >> 8) & 0xFF;
- if (flags & 0x20)
- flags = (flags & 0x9F) | 0x80;
+ props.flags = (key.flags >> 8) & 0xFF;
+ if (props.flags & 0x20)
+ props.flags = (props.flags & 0x9F) | 0x80;
- palStart = key.palStart;
- palEnd = key.palEnd;
- palFrame = key.palFrame;
- lastFrame = key.lastFrame;
+ props.palStart = key.palStart;
+ props.palEnd = key.palEnd;
+ props.palFrame = key.palFrame;
+ props.lastFrame = key.lastFrame;
- if ((palFrame != -1) && (lastFrame != -1))
- if ((lastFrame - palFrame) < startFrame)
+ if ((props.palFrame != -1) && (props.lastFrame != -1))
+ if ((props.lastFrame - props.palFrame) < props.startFrame)
if (!(key.flags & 0x4000)) {
- _vm->_vidPlayer->primaryClose();
+ _vm->_vidPlayer->closeVideo();
return;
}
- if (!_vm->_vidPlayer->primaryOpen(imdFile, x, y, flags))
+ int slot;
+ if ((slot = _vm->_vidPlayer->openVideo(true, imdFile, props)) < 0)
return;
- if (palFrame == -1)
- palFrame = 0;
+ if (props.palFrame == -1)
+ props.palFrame = 0;
- if (lastFrame == -1)
- lastFrame = _vm->_vidPlayer->getFrameCount() - 1;
+ if (props.lastFrame == -1)
+ props.lastFrame = _vm->_vidPlayer->getFrameCount() - 1;
- baseFrame = startFrame % (lastFrame - palFrame + 1);
- _vm->_vidPlayer->primaryPlay(baseFrame + palFrame, baseFrame + palFrame, 0,
- flags & 0x7F, palStart, palEnd, palFrame, lastFrame);
+ uint32 baseFrame = startFrame % (props.lastFrame - props.palFrame + 1);
+
+ props.startFrame = baseFrame + props.palFrame;
+ props.lastFrame = baseFrame + props.palFrame;
+
+ debugC(2, kDebugVideo, "Playing mult video \"%s\" @ %d+%d, frame %d, "
+ "paletteCmd %d (%d - %d), flags %X", imdFile,
+ props.x, props.y, props.startFrame,
+ props.palCmd, props.palStart, props.palEnd, props.flags);
+
+ _vm->_vidPlayer->play(slot, props);
}
void Mult_v2::advanceObjects(int16 index) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list