diff options
author | Travis Howell | 2003-08-14 10:28:16 +0000 |
---|---|---|
committer | Travis Howell | 2003-08-14 10:28:16 +0000 |
commit | 57133e526f0cb88024fd662dd351a35a3e50029b (patch) | |
tree | 4d9d9ac7f44b6b068490503ea53a56be56b3b738 /scumm | |
parent | 7faa06aecd43c38da6e72388c6124708de16de94 (diff) | |
download | scummvm-rg350-57133e526f0cb88024fd662dd351a35a3e50029b.tar.gz scummvm-rg350-57133e526f0cb88024fd662dd351a35a3e50029b.tar.bz2 scummvm-rg350-57133e526f0cb88024fd662dd351a35a3e50029b.zip |
Add roland support for loom )ega)
Enable roland support for monkeyega
svn-id: r9688
Diffstat (limited to 'scumm')
-rw-r--r-- | scumm/resource.cpp | 15 | ||||
-rw-r--r-- | scumm/scummvm.cpp | 4 |
2 files changed, 16 insertions, 3 deletions
diff --git a/scumm/resource.cpp b/scumm/resource.cpp index b4c20dea3f..877bd3b473 100644 --- a/scumm/resource.cpp +++ b/scumm/resource.cpp @@ -1426,7 +1426,20 @@ int Scumm::readSoundResourceSmallHeader(int type, int idx) { debug(4, "readSoundResourceSmallHeader(%s,%d)", resTypeFromId(type), idx); - if ((_features & GF_OLD_BUNDLE)) { + if ((_gameId == GID_LOOM) && VAR_SOUNDCARD == 4) { + byte *ptr, *src_ptr; + ro_offs = _fileHandle.pos(); + ro_size = _fileHandle.readUint16LE(); + + src_ptr = (byte *) calloc(ro_size - 4, 1); + _fileHandle.seek(ro_offs +4, SEEK_SET); + _fileHandle.read(src_ptr, ro_size -4); + + ptr = createResource(type, idx, ro_size + 2); + memcpy(ptr, "RO", 2); ptr += 2; + memcpy(ptr, src_ptr, ro_size - 4); ptr += ro_size - 4; + return 1; + } else if (_features & GF_OLD_BUNDLE) { wa_offs = _fileHandle.pos(); wa_size = _fileHandle.readUint16LE(); _fileHandle.seek(wa_size - 2, SEEK_CUR); diff --git a/scumm/scummvm.cpp b/scumm/scummvm.cpp index ef6e3aa684..b4ef0688b8 100644 --- a/scumm/scummvm.cpp +++ b/scumm/scummvm.cpp @@ -82,11 +82,11 @@ static const VersionSettings scumm_settings[] = { GF_SMALL_HEADER | GF_SMALL_NAMES | GF_NO_SCALING | GF_OLD256 | GF_FEW_LOCALS, "00.LFL"}, {"zak256", "Zak McKracken and the Alien Mindbenders (256)", GID_ZAK256, 3, VersionSettings::ADLIB_ALWAYS, GF_SMALL_HEADER | GF_SMALL_NAMES | GF_NO_SCALING | GF_OLD256 | GF_FMTOWNS | GF_AUDIOTRACKS, "00.LFL"}, - {"loom", "Loom", GID_LOOM, 3, VersionSettings::ADLIB_ALWAYS, + {"loom", "Loom", GID_LOOM, 3, VersionSettings::ADLIB_PREFERRED, GF_SMALL_HEADER | GF_SMALL_NAMES | GF_NO_SCALING | GF_USE_KEY | GF_16COLOR | GF_OLD_BUNDLE, "00.LFL"}, /* Scumm Version 4 */ - {"monkeyEGA", "Monkey Island 1 (EGA)", GID_MONKEY_EGA, 4, VersionSettings::ADLIB_ALWAYS, + {"monkeyEGA", "Monkey Island 1 (EGA)", GID_MONKEY_EGA, 4, VersionSettings::ADLIB_PREFERRED, GF_SMALL_HEADER | GF_USE_KEY | GF_16COLOR, "000.LFL"}, {"pass", "Passport to Adventure", GID_PASS, 4, VersionSettings::ADLIB_ALWAYS, GF_SMALL_HEADER | GF_USE_KEY | GF_16COLOR, "000.LFL"}, |