diff options
| author | Filippos Karapetis | 2010-06-17 00:07:03 +0000 | 
|---|---|---|
| committer | Filippos Karapetis | 2010-06-17 00:07:03 +0000 | 
| commit | a7b76c04d9df2c30d541554b9f907f6bcedd307a (patch) | |
| tree | f963e8031ecbd8f59b0fb409399b9ccb7d6a37e9 | |
| parent | 18dc295a339cb7cc618ba565f68d05c6eada9782 (diff) | |
| download | scummvm-rg350-a7b76c04d9df2c30d541554b9f907f6bcedd307a.tar.gz scummvm-rg350-a7b76c04d9df2c30d541554b9f907f6bcedd307a.tar.bz2 scummvm-rg350-a7b76c04d9df2c30d541554b9f907f6bcedd307a.zip  | |
Added handling of VMD video files in kResCheck, fixes video playing in GK2
svn-id: r49913
| -rw-r--r-- | engines/sci/engine/kscripts.cpp | 8 | ||||
| -rw-r--r-- | engines/sci/resource.h | 1 | ||||
| -rw-r--r-- | engines/sci/sci.cpp | 1 | 
3 files changed, 10 insertions, 0 deletions
diff --git a/engines/sci/engine/kscripts.cpp b/engines/sci/engine/kscripts.cpp index a8cf92b2a6..88e765a0ff 100644 --- a/engines/sci/engine/kscripts.cpp +++ b/engines/sci/engine/kscripts.cpp @@ -29,6 +29,8 @@  #include "sci/engine/selector.h"  #include "sci/engine/kernel.h" +#include "common/file.h" +  namespace Sci {  // Loads arbitrary resources of type 'restype' with resource numbers 'resnrs' @@ -93,6 +95,12 @@ reg_t kResCheck(EngineState *s, int argc, reg_t *argv) {  	Resource *res = NULL;  	ResourceType restype = (ResourceType)(argv[0].toUint16() & 0x7f); +	if (restype == kResourceTypeVMD) { +		char fileName[50]; +		sprintf(fileName, "%d.vmd", argv[1].toUint16()); +		return make_reg(0, Common::File::exists(fileName)); +	} +  	if ((restype == kResourceTypeAudio36) || (restype == kResourceTypeSync36)) {  		if (argc >= 6) {  			uint noun = argv[2].toUint16() & 0xff; diff --git a/engines/sci/resource.h b/engines/sci/resource.h index b37f71832d..591273b252 100644 --- a/engines/sci/resource.h +++ b/engines/sci/resource.h @@ -98,6 +98,7 @@ enum ResourceType {  	kResourceTypeUnknown1, // Translation, currently unsupported  	kResourceTypeUnknown2,  	kResourceTypeRobot, +	kResourceTypeVMD,  	kResourceTypeInvalid,  	// Mac-only resources, these resource types are self-defined diff --git a/engines/sci/sci.cpp b/engines/sci/sci.cpp index 03f54caf31..1dc02ac7c3 100644 --- a/engines/sci/sci.cpp +++ b/engines/sci/sci.cpp @@ -123,6 +123,7 @@ SciEngine::SciEngine(OSystem *syst, const ADGameDescription *desc)  	SearchMan.addSubDirectoryMatching(gameDataDir, "avi");	// AVI movie files for Windows versions  	SearchMan.addSubDirectoryMatching(gameDataDir, "seq");	// SEQ movie files for DOS versions  	SearchMan.addSubDirectoryMatching(gameDataDir, "robot");	// robot movie files +	SearchMan.addSubDirectoryMatching(gameDataDir, "movies");	// vmd movie files  	SearchMan.addSubDirectoryMatching(gameDataDir, "vmd");	// vmd movie files  	// Add the patches directory, except for KQ6CD; The patches folder in some versions of KQ6CD  | 
