More HE v7.0+ resource fixes.

Make puttdemo.win runnable again.

svn-id: r13994
This commit is contained in:
Eugene Sandulenko 2004-06-21 10:06:52 +00:00
parent fdb2c41cdd
commit 69ab14e133
2 changed files with 8 additions and 3 deletions

View File

@ -622,7 +622,7 @@ int ScummEngine::loadResource(int type, int idx) {
if (roomNr == 0)
roomNr = _roomResource;
if (type == rtRoom) {
if (type == rtRoom && _heversion < 70) {
if (_version == 8)
fileOffs = 8;
else
@ -653,6 +653,11 @@ int ScummEngine::loadResource(int type, int idx) {
if ((type == rtSound) && !(_features & GF_AMIGA) && !(_features & GF_FMTOWNS)) {
return readSoundResourceSmallHeader(type, idx);
}
} else if (_heversion >= 70) {
tag = _fileHandle.readUint32LE();
size = _fileHandle.readUint32BE() + 8;
_fileHandle.seek(-8, SEEK_CUR);
} else {
if (type == rtSound) {
return readSoundResource(type, idx);
@ -1712,7 +1717,7 @@ int ScummEngine::readSoundResourceSmallHeader(int type, int idx) {
}
int ScummEngine::getResourceRoomNr(int type, int idx) {
if (type == rtRoom)
if (type == rtRoom && _heversion < 70)
return idx;
return res.roomno[type][idx];
}

View File

@ -2990,7 +2990,7 @@ Engine *Engine_SCUMM_create(GameDetector *detector, OSystem *syst) {
// There are both Windows and DOS versions of early HE titles
// specify correct version here
if (game.features & GF_HUMONGOUS && game.heversion == 60)
if (game.features & GF_HUMONGOUS && (game.heversion == 60 || game.id == GID_PUTTDEMO))
game.heversion = 70;
break;
case Common::kPlatformFMTowns: