diff options
| -rw-r--r-- | engines/gob/coktelvideo.cpp | 2 | ||||
| -rw-r--r-- | engines/gob/videoplayer.cpp | 4 | ||||
| -rw-r--r-- | engines/gob/videoplayer.h | 3 | 
3 files changed, 6 insertions, 3 deletions
| diff --git a/engines/gob/coktelvideo.cpp b/engines/gob/coktelvideo.cpp index c86ac48459..b7d13333b3 100644 --- a/engines/gob/coktelvideo.cpp +++ b/engines/gob/coktelvideo.cpp @@ -1213,7 +1213,7 @@ CoktelVideo::State Vmd::processFrame(uint16 frame) {  	if (!_vidMem)  		setVideoMemory(); -	for (uint16 i = 0; i < _partsPerFrame; i++) { +	for (uint16 i = 0; (i < _partsPerFrame) && (frame < _framesCount); i++) {  		Part &part = _frames[frame].parts[i];  		if (part.type == kPartTypeAudio) { diff --git a/engines/gob/videoplayer.cpp b/engines/gob/videoplayer.cpp index 4fa07af5dc..ef9d663b6f 100644 --- a/engines/gob/videoplayer.cpp +++ b/engines/gob/videoplayer.cpp @@ -38,7 +38,7 @@  namespace Gob { -const char *VideoPlayer::_extensions[] = { "IMD", "VMD" }; +const char *VideoPlayer::_extensions[] = { "IMD", "VMD", "RMD" };  VideoPlayer::Video::Video(GobEngine *vm) : _vm(vm), _fileName(0), _stream(0), _video(0) {  } @@ -63,6 +63,8 @@ bool VideoPlayer::Video::open(const char *fileName, Type which) {  		_video = new Imd();  	} else if (which == kVideoTypeVMD) {  		_video = new Vmd(_vm->_video->_palLUT); +	} else if (which == kVideoTypeRMD) { +		_video = new Vmd(_vm->_video->_palLUT);  	} else {  		warning("Couldn't open video \"%s\": Invalid video Type", fileName);  		close(); diff --git a/engines/gob/videoplayer.h b/engines/gob/videoplayer.h index 65d1e2b2cf..d7b55fa98f 100644 --- a/engines/gob/videoplayer.h +++ b/engines/gob/videoplayer.h @@ -48,7 +48,8 @@ public:  	enum Type {  		kVideoTypeTry = -1,  		kVideoTypeIMD = 0, -		kVideoTypeVMD = 1 +		kVideoTypeVMD = 1, +		kVideoTypeRMD = 2  	};  	VideoPlayer(GobEngine *vm); | 
