SCI: Some small fixes for KQ6CD.
svn-id: r40898
This commit is contained in:
parent
9d4776ebc5
commit
de5ca1e472
6 changed files with 14 additions and 6 deletions
|
@ -1232,7 +1232,7 @@ static const struct SciGameDescription SciGameDescriptions[] = {
|
|||
{"resource.000", 0, "233394a5f33b475ae5975e7e9a420865", 8376352},
|
||||
{NULL, 0, NULL, 0}}, Common::EN_ANY, Common::kPlatformPC, 0},
|
||||
0,
|
||||
SCI_VERSION_AUTODETECT,
|
||||
7,
|
||||
SCI_VERSION_1_1
|
||||
},
|
||||
|
||||
|
|
|
@ -642,6 +642,8 @@ void vocabulary_get_knames(ResourceManager *resmgr, Common::StringList &names) {
|
|||
break;
|
||||
case SCI_VERSION_1_1:
|
||||
vocabulary_get_knames1(resmgr, names);
|
||||
// KQ6CD calls unimplemented function 0x26
|
||||
names[0x26] = "Dummy";
|
||||
break;
|
||||
#ifdef ENABLE_SCI32
|
||||
case SCI_VERSION_32:
|
||||
|
|
|
@ -3330,7 +3330,7 @@ reg_t kShowMovie(EngineState *s, int funct_nr, int argc, reg_t *argv) {
|
|||
int frameNr = 0;
|
||||
SeqDecoder seq;
|
||||
|
||||
if (!seq.loadFile(filename)) {
|
||||
if (!seq.loadFile(filename) && !seq.loadFile(Common::String("SEQ/") + filename)) {
|
||||
warning("Failed to open movie file %s", filename);
|
||||
return s->r_acc;
|
||||
}
|
||||
|
|
|
@ -797,7 +797,8 @@ reg_t kDoSound_SCI1(EngineState *s, int funct_nr, int argc, reg_t *argv) {
|
|||
break;
|
||||
}
|
||||
case _K_SCI1_SOUND_GET_AUDIO_CAPABILITY : {
|
||||
return make_reg(0, 1);//NULL_REG;
|
||||
// Tests for digital audio support
|
||||
return make_reg(0, 1);
|
||||
}
|
||||
case _K_SCI1_SOUND_PLAY_HANDLE : {
|
||||
int looping = GET_SEL32V(obj, loop);
|
||||
|
@ -1051,7 +1052,12 @@ reg_t kDoAudio(EngineState *s, int funct_nr, int argc, reg_t *argv) {
|
|||
mixer->setVolumeForSoundType(Audio::Mixer::kSpeechSoundType, UKPV(1));
|
||||
break;
|
||||
case kSci1AudioLanguage:
|
||||
if (argc == 1) {
|
||||
// In SCI1.1: tests for digital audio support
|
||||
return make_reg(0, 1);
|
||||
} else {
|
||||
s->sound.audioResource->setAudioLang(SKPV(1));
|
||||
}
|
||||
break;
|
||||
default:
|
||||
warning("kDoAudio: Unhandled case %d", UKPV(0));
|
||||
|
|
|
@ -34,7 +34,7 @@ SeqDecoder::~SeqDecoder() {
|
|||
closeFile();
|
||||
}
|
||||
|
||||
bool SeqDecoder::loadFile(const char *fileName) {
|
||||
bool SeqDecoder::loadFile(Common::String fileName) {
|
||||
closeFile();
|
||||
|
||||
_fileStream = SearchMan.createReadStreamForMember(fileName);
|
||||
|
|
|
@ -32,7 +32,7 @@ class SeqDecoder {
|
|||
public:
|
||||
SeqDecoder() : _fileStream(0), _palette(0) { }
|
||||
~SeqDecoder();
|
||||
bool loadFile(const char *fileName);
|
||||
bool loadFile(Common::String fileName);
|
||||
void closeFile();
|
||||
gfx_pixmap_t *getFrame(bool &hasNext);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue