mirror of
https://github.com/libretro/scummvm.git
synced 2024-12-30 14:14:43 +00:00
Add index for HE C++ games.
Enable all HE games again. svn-id: r14939
This commit is contained in:
parent
44ab28cec5
commit
c6e0afadf0
@ -571,6 +571,11 @@ void ScummEngine::readIndexFile() {
|
||||
readResTypeList(rtImage, MKID('AWIZ'), "images");
|
||||
break;
|
||||
|
||||
case MKID('DIRT'):
|
||||
_fileHandle.seek(itemsize - 8, SEEK_CUR);
|
||||
warning("DIRT index block not yet handled, skipping");
|
||||
break;
|
||||
|
||||
case MKID('DISK'):
|
||||
_fileHandle.seek(itemsize - 8, SEEK_CUR);
|
||||
warning("DISK index block not yet handled, skipping");
|
||||
@ -2288,6 +2293,42 @@ void ScummEngine::readMAXS(int blockSize) {
|
||||
_numGlobalScripts = 2000;
|
||||
|
||||
_shadowPaletteSize = NUM_SHADOW_PALETTE * 256;
|
||||
} else if (_heversion >= 70 && (blockSize == 44 + 8)) { // C++ based engine
|
||||
_numVariables = _fileHandle.readUint16LE();
|
||||
_fileHandle.readUint16LE(); // not used in spydemo
|
||||
_fileHandle.readUint16LE(); // _numLocalVariables ?
|
||||
_numLocalObjects = _fileHandle.readUint16LE();
|
||||
_numArray = _fileHandle.readUint16LE();
|
||||
_fileHandle.readUint16LE(); // unknown
|
||||
_fileHandle.readUint16LE(); // unknown
|
||||
_numFlObject = _fileHandle.readUint16LE();
|
||||
_numInventory = _fileHandle.readUint16LE();
|
||||
_numRooms = _fileHandle.readUint16LE();
|
||||
_numScripts = _fileHandle.readUint16LE();
|
||||
_numSounds = _fileHandle.readUint16LE();
|
||||
_numCharsets = _fileHandle.readUint16LE();
|
||||
_numCostumes = _fileHandle.readUint16LE();
|
||||
_numGlobalObjects = _fileHandle.readUint16LE();
|
||||
_numImages = _fileHandle.readUint16LE();
|
||||
_fileHandle.readUint16LE(); // unknown
|
||||
_fileHandle.readUint16LE(); // _numLocalScriptOffsets
|
||||
_fileHandle.readUint16LE(); // unknown
|
||||
_fileHandle.readUint16LE(); // unknown
|
||||
_fileHandle.readUint16LE(); // unknown
|
||||
_fileHandle.readUint16LE(); // _numTalkie
|
||||
|
||||
/* TODO check these values */
|
||||
|
||||
_objectRoomTable = (byte *)calloc(_numGlobalObjects, 1);
|
||||
|
||||
_numNewNames = 10;
|
||||
_numRoomVariables = 64;
|
||||
|
||||
_objectRoomTable = (byte *)calloc(_numGlobalObjects * 4, 1);
|
||||
|
||||
_numGlobalScripts = 200;
|
||||
_shadowPaletteSize = 256;
|
||||
|
||||
} else if (_heversion >= 70 && (blockSize == 38 + 8)) { // Scummsys.9x
|
||||
_numVariables = _fileHandle.readUint16LE();
|
||||
_fileHandle.readUint16LE(); // not used in spydemo
|
||||
@ -2306,7 +2347,7 @@ void ScummEngine::readMAXS(int blockSize) {
|
||||
_numGlobalObjects = _fileHandle.readUint16LE();
|
||||
_numImages = _fileHandle.readUint16LE();
|
||||
_fileHandle.readUint16LE(); // unknown
|
||||
_fileHandle.readUint16LE(); // _numLocalScripts?
|
||||
_fileHandle.readUint16LE(); // _numLocalScriptOffsets
|
||||
_fileHandle.readUint16LE(); // unknown
|
||||
|
||||
/* TODO check these values */
|
||||
@ -2320,8 +2361,6 @@ void ScummEngine::readMAXS(int blockSize) {
|
||||
|
||||
_numGlobalScripts = 200;
|
||||
_shadowPaletteSize = 256;
|
||||
} else if (_heversion >= 70 && (blockSize == 44 + 8)) { // C++ based engine
|
||||
error("MAXS blocks from C++ based games not yet supported");
|
||||
} else if (_heversion >= 70 && blockSize > 38) { // sputm7.2
|
||||
if (blockSize != 32 + 8)
|
||||
error("MAXS block of size %d not supported, please report", blockSize);
|
||||
|
@ -306,7 +306,6 @@ static const ScummGameSettings scumm_settings[] = {
|
||||
{"chase", "Spy Fox in Cheese Chase Game", GID_HEGAME, 6, 90, MDT_NONE,
|
||||
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
|
||||
|
||||
#ifdef HEGAMES
|
||||
// Humongous Entertainment Scumm Version 9.8 ? Scummsys.98
|
||||
// these and later games can easily be identified by the .(a) file instead of a .he1
|
||||
// and INIB chunk in the .he0
|
||||
@ -325,6 +324,7 @@ static const ScummGameSettings scumm_settings[] = {
|
||||
{"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},
|
||||
|
||||
// Engine moved to c++
|
||||
// Humongous Entertainment Scumm Version 9.9 ? Scummsys.99
|
||||
{"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},
|
||||
@ -333,30 +333,29 @@ static const ScummGameSettings scumm_settings[] = {
|
||||
{"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++
|
||||
{"ff5demo", "Freddi Fish 5: The Case of the Creature of Coral Cave (Demo)", GID_HEGAME, 6, 90, MDT_NONE,
|
||||
// Humongous Entertainment Scumm Version ?
|
||||
{"ff5demo", "Freddi Fish 5: The Case of the Creature of Coral Cave (Demo)", GID_HEGAME, 6, 98, MDT_NONE,
|
||||
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
|
||||
{"freddicove", "Freddi Fish 5: The Case of the Creature of Coral Cave", GID_HEGAME, 6, 90, MDT_NONE,
|
||||
{"freddicove", "Freddi Fish 5: The Case of the Creature of Coral Cave", GID_HEGAME, 6, 98, MDT_NONE,
|
||||
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
|
||||
{"ffhsdemo", "Freddi Fish 2: The Case of the Haunted Schoolhouse (Demo)", GID_HEGAME, 6, 90, MDT_NONE,
|
||||
{"ffhsdemo", "Freddi Fish 2: The Case of the Haunted Schoolhouse (Demo)", GID_HEGAME, 6, 98, MDT_NONE,
|
||||
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
|
||||
{"pj3-demo", "Pajama Sam 3: You Are What You Eat From Your Head to Your Feet (Demo)", GID_HEGAME, 6, 90, MDT_NONE,
|
||||
{"pj3-demo", "Pajama Sam 3: You Are What You Eat From Your Head to Your Feet (Demo)", GID_HEGAME, 6, 98, MDT_NONE,
|
||||
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
|
||||
{"pajama3", "Pajama Sam 3: You Are What You Eat From Your Head to Your Feet", GID_HEGAME, 6, 90, MDT_NONE,
|
||||
{"pajama3", "Pajama Sam 3: You Are What You Eat From Your Head to Your Feet", GID_HEGAME, 6, 98, MDT_NONE,
|
||||
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
|
||||
{"PuttsFunShop", "Putt-Putt's One-Stop Fun Shop", GID_HEGAME, 6, 90, MDT_NONE,
|
||||
{"PuttsFunShop", "Putt-Putt's One-Stop Fun Shop", GID_HEGAME, 6, 98, MDT_NONE,
|
||||
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
|
||||
{"putttime", "Putt-Putt Travels Through Time", GID_HEGAME, 6, 90, MDT_NONE,
|
||||
{"putttime", "Putt-Putt Travels Through Time", GID_HEGAME, 6, 98, MDT_NONE,
|
||||
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
|
||||
{"spyozon", "Spyfox 3: Operation Ozone", GID_HEGAME, 6, 90, MDT_NONE,
|
||||
{"spyozon", "Spyfox 3: Operation Ozone", GID_HEGAME, 6, 98, MDT_NONE,
|
||||
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
|
||||
{"bb2demo", "Backyard Baseball 2001 (Demo)", GID_HEGAME, 6, 90, MDT_NONE,
|
||||
{"bb2demo", "Backyard Baseball 2001 (Demo)", GID_HEGAME, 6, 98, MDT_NONE,
|
||||
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
|
||||
{"football2002", "Backyard Football 2002 (Demo)", GID_HEGAME, 6, 90, MDT_NONE,
|
||||
{"football2002", "Backyard Football 2002 (Demo)", GID_HEGAME, 6, 98, MDT_NONE,
|
||||
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
|
||||
{"pjsamdemo", "Pajama Sam: No Need To Hide When It's Dark Outside (Demo)", GID_HEGAME, 6, 90, MDT_NONE,
|
||||
{"pjsamdemo", "Pajama Sam: No Need To Hide When It's Dark Outside (Demo)", GID_HEGAME, 6, 98, MDT_NONE,
|
||||
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
|
||||
#endif
|
||||
{NULL, NULL, 0, 0, 0, MDT_NONE, 0, 0, 0}
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user