Add some basic support for pjgames.

svn-id: r17831
This commit is contained in:
Travis Howell 2005-04-27 04:47:02 +00:00
parent f28c3d14a3
commit 3065bab0cb
2 changed files with 28 additions and 16 deletions

View file

@ -379,6 +379,8 @@ static const ScummGameSettings scumm_settings[] = {
// Humongous Entertainment Scumm Version ?
{"ff5demo", "Freddi Fish 5: The Case of the Creature of Coral Cave (Demo)", GID_FREDDICOVE, 6, 100, 61, MDT_NONE,
GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformUnknown, 0, 0},
{"pjgames", "Pajama Sam: Games to Play On Any Day", GID_HEGAME, 6, 100, 62, MDT_NONE,
GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformUnknown, 0, 0},
// Uses smacker in external files
{"artdemo", "Blue's Art Time Activities (Demo)", GID_HEGAME, 6, 99, 61, MDT_NONE,

View file

@ -703,12 +703,21 @@ void Sound::startTalkSound(uint32 offset, uint32 b, int mode, SoundHandle *handl
_sfxFile->seek(offset, SEEK_SET);
if (_sfxFile->readUint32LE() == TO_LE_32(MKID('WSOU'))) {
debug(1, "IMA ADPCM compression not supported");
// Skip the WSOU chunk
_sfxFile->seek(offset + 8, SEEK_SET);
// Try to load the WAVE data into an audio stream
AudioStream *stream = makeWAVStream(*_sfxFile);
if (!stream) {
warning("startTalkSound: IMA ADPCM compression not supported");
return;
}
int channel = _vm->VAR(_vm->VAR_SOUND_CHANNEL);
_vm->_mixer->playInputStream(SoundMixer::kSFXSoundType, &_heSoundChannels[channel], stream, 1);
} else {
// Skip the TALK (8) and HSHD (24) chunks
_sfxFile->seek(28, SEEK_CUR);
}
if (_sfxFile->readUint32LE() == TO_LE_32(MKID('SBNG'))) {
// Skip the SBNG, so we end up at the SDAT chunk
@ -725,6 +734,7 @@ void Sound::startTalkSound(uint32 offset, uint32 b, int mode, SoundHandle *handl
} else {
_vm->_mixer->playRaw(handle, sound, size, 11000, SoundMixer::FLAG_UNSIGNED | SoundMixer::FLAG_AUTOFREE);
}
}
return;
}