diff options
-rw-r--r-- | scumm/resource.cpp | 10 | ||||
-rw-r--r-- | scumm/scumm.cpp | 28 |
2 files changed, 24 insertions, 14 deletions
diff --git a/scumm/resource.cpp b/scumm/resource.cpp index d97c89f8e0..508b9e211f 100644 --- a/scumm/resource.cpp +++ b/scumm/resource.cpp @@ -241,7 +241,10 @@ void ScummEngine::openRoom(int room) { if (!(_features & GF_SMALL_HEADER)) { if (_heversion >= 70) { // Windows titles - sprintf(buf, "%s.he%.1d", _gameName.c_str(), room == 0 ? 0 : 1); + if (_heversion >= 98) + sprintf(buf, "%s.%s", _gameName.c_str(), room == 0 ? "he0" : "(a)"); + else + sprintf(buf, "%s.he%.1d", _gameName.c_str(), room == 0 ? 0 : 1); } else if (_version >= 7) { if (room > 0 && (_version == 8)) VAR(VAR_CURRENTDISK) = res.roomno[rtRoom][room]; @@ -573,6 +576,11 @@ void ScummEngine::readIndexFile() { warning("DISK index block not yet handled, skipping"); break; + case MKID('INIB'): + _fileHandle.seek(itemsize - 8, SEEK_CUR); + warning("INIB index block not yet handled, skipping"); + break; + case MKID('DIRI'): readResTypeList(rtRoom, MKID('RMIM'), "room image"); break; diff --git a/scumm/scumm.cpp b/scumm/scumm.cpp index 8913fe7448..e664ba6294 100644 --- a/scumm/scumm.cpp +++ b/scumm/scumm.cpp @@ -279,11 +279,11 @@ static const ScummGameSettings scumm_settings[] = { #ifdef HEGAMES // Humongous Entertainment Scumm Version 9.0 ? Scummsys.90 - {"kinddemo", "Big Thinkers Kindergarten (Demo)", GID_HEGAME, 6, 90, MDT_NONE, + {"kinddemo", "Big Thinkers Kindergarten (Demo)", GID_PAJAMA, 6, 90, MDT_NONE, GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0}, - {"1grademo", "Big Thinkers First Grade (Demo)", GID_HEGAME, 6, 90, MDT_NONE, + {"1grademo", "Big Thinkers First Grade (Demo)", GID_PAJAMA, 6, 90, MDT_NONE, GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0}, - {"f3-mdemo", "Freddi Fish 3: The Case of the Stolen Conch Shell (Demo)", GID_HEGAME, 6, 90, MDT_NONE, + {"f3-mdemo", "Freddi Fish 3: The Case of the Stolen Conch Shell (Demo)", GID_PAJAMA, 6, 90, MDT_NONE, GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0}, // there is also a C++ engine based version of timedemo {"timedemo", "Putt-Putt Travels Through Time (Demo)", GID_HEGAME, 6, 90, MDT_NONE, @@ -306,27 +306,28 @@ static const ScummGameSettings scumm_settings[] = { // Humongous Entertainment Scumm Version 9.8 ? Scummsys.98 // these and later games can easily be identified by the .(a) file instead of a .he1 - {"freddi4", "Freddi Fish 4: The Case of the Hogfish Rustlers of Briny Gulch", GID_HEGAME, 6, 90, MDT_NONE, + // and INIB chunk in the .he0 + {"freddi4", "Freddi Fish 4: The Case of the Hogfish Rustlers of Briny Gulch", GID_HEGAME, 6, 98, MDT_NONE, GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0}, - {"f4-demo", "Freddi Fish 4: The Case of the Hogfish Rustlers of Briny Gulch (Demo)", GID_HEGAME, 6, 90, MDT_NONE, + {"f4-demo", "Freddi Fish 4: The Case of the Hogfish Rustlers of Briny Gulch (Demo)", GID_HEGAME, 6, 98, MDT_NONE, GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0}, - {"lost", "Pajama Sam's Lost & Found", GID_HEGAME, 6, 72, MDT_NONE, + {"lost", "Pajama Sam's Lost & Found", GID_HEGAME, 6, 98, MDT_NONE, GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0}, - {"smaller", "Pajama Sam's Lost & Found (Test)", GID_HEGAME, 6, 72, MDT_NONE, + {"smaller", "Pajama Sam's Lost & Found (Test)", GID_HEGAME, 6, 98, MDT_NONE, GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0}, - {"racedemo", "Putt-Putt Enters the Race (Demo)", GID_HEGAME, 6, 90, MDT_NONE, + {"racedemo", "Putt-Putt Enters the Race (Demo)", GID_HEGAME, 6, 98, MDT_NONE, GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0}, - {"puttrace", "Putt-Putt Enters the Race", GID_HEGAME, 6, 90, MDT_NONE, + {"puttrace", "Putt-Putt Enters the Race", GID_HEGAME, 6, 98, MDT_NONE, GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0}, - {"bluesabctimedemo", "Blue's ABC Time (Demo)", GID_HEGAME, 6, 90, MDT_NONE, + {"BluesABCTimeDemo", "Blue's ABC Time (Demo)", GID_HEGAME, 6, 98, MDT_NONE, GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0}, // Humongous Entertainment Scumm Version 9.9 ? Scummsys.99 - {"sf2-demo", "Spyfox 2: Some Assembly Required (Demo)", GID_HEGAME, 6, 90, MDT_NONE, + {"sf2-demo", "Spyfox 2: Some Assembly Required (Demo)", GID_HEGAME, 6, 98, MDT_NONE, GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0}, - {"spyfox2", "Spyfox 2: Some Assembly Required", GID_HEGAME, 6, 90, MDT_NONE, + {"spyfox2", "Spyfox 2: Some Assembly Required", GID_HEGAME, 6, 98, MDT_NONE, GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0}, - {"mustard", "Spy Fox in Hold the Mustard", GID_HEGAME, 6, 90, MDT_NONE, + {"mustard", "Spy Fox in Hold the Mustard", GID_HEGAME, 6, 98, MDT_NONE, GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0}, // Humongous Entertainment Scumm Version ? engine moved to c++ @@ -3275,6 +3276,7 @@ Engine *Engine_SCUMM_create(GameDetector *detector, OSystem *syst) { #ifndef __PALM_OS__ case 72: case 90: + case 98: engine = new ScummEngine_v72he(detector, syst, game); break; case 71: |