Add initial support for reading sputm.9x index files. Teach ScummVM about res type 13 (rtImage/AWIZ), although don't actually allocate when reading the DIRI block yet. Error out when trying to read a sputm.9x DOBJ block as they are different to earlier versions and not yet supported
svn-id: r14073
This commit is contained in:
parent
5268717ad4
commit
b02221a613
3 changed files with 70 additions and 45 deletions
|
@ -351,7 +351,9 @@ void ScummEngine::readIndexFile() {
|
||||||
_fileHandle.read(_objectStateTable, num);
|
_fileHandle.read(_objectStateTable, num);
|
||||||
_fileHandle.read(_objectRoomTable, num);
|
_fileHandle.read(_objectRoomTable, num);
|
||||||
memset(_objectOwnerTable, 0xFF, num);
|
memset(_objectOwnerTable, 0xFF, num);
|
||||||
} else if (_heversion >= 70) { // Windows titles
|
} else if (_heversion >= 90) { // newer windows titles
|
||||||
|
error("DOBJ reading not yet supported for Scummsys >= 90");
|
||||||
|
} else if (_heversion >= 70) { // older Windows titles
|
||||||
_fileHandle.read(_objectStateTable, num);
|
_fileHandle.read(_objectStateTable, num);
|
||||||
_fileHandle.read(_objectOwnerTable, num);
|
_fileHandle.read(_objectOwnerTable, num);
|
||||||
_fileHandle.read(_objectRoomTable, num);
|
_fileHandle.read(_objectRoomTable, num);
|
||||||
|
@ -394,7 +396,8 @@ void ScummEngine::readIndexFile() {
|
||||||
debug(9, "found DIRM block, skipping");
|
debug(9, "found DIRM block, skipping");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MKID('DIRI'):
|
case MKID('DIRI'): // Images?
|
||||||
|
// readResTypeList(rtImage, MKID('AWIZ'), "images");
|
||||||
num = _fileHandle.readUint16LE();
|
num = _fileHandle.readUint16LE();
|
||||||
_fileHandle.seek(num + (8 * num), SEEK_CUR);
|
_fileHandle.seek(num + (8 * num), SEEK_CUR);
|
||||||
debug(9, "found DIRI block, skipping");
|
debug(9, "found DIRI block, skipping");
|
||||||
|
@ -2045,6 +2048,10 @@ void ScummEngine::resourceStats() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void ScummEngine::readMAXS(int blockSize) {
|
void ScummEngine::readMAXS(int blockSize) {
|
||||||
|
// FIXME: trying to detect multiple targets probably a better way to do this
|
||||||
|
if (_heversion >= 70 && blockSize > 38 && _heversion < 72)
|
||||||
|
_heversion = 72;
|
||||||
|
|
||||||
if (_version == 8) { // CMI
|
if (_version == 8) { // CMI
|
||||||
_fileHandle.seek(50 + 50, SEEK_CUR); // 176 - 8
|
_fileHandle.seek(50 + 50, SEEK_CUR); // 176 - 8
|
||||||
_numVariables = _fileHandle.readUint32LE(); // 1500
|
_numVariables = _fileHandle.readUint32LE(); // 1500
|
||||||
|
@ -2096,19 +2103,31 @@ void ScummEngine::readMAXS(int blockSize) {
|
||||||
_numGlobalScripts = 2000;
|
_numGlobalScripts = 2000;
|
||||||
|
|
||||||
_shadowPaletteSize = NUM_SHADOW_PALETTE * 256;
|
_shadowPaletteSize = NUM_SHADOW_PALETTE * 256;
|
||||||
// check blocksize instead of just >= 72 as some 70 targets have later engine versions
|
} else if (_heversion >= 70 && (blockSize == 38 + 8)) { // Scummsys.9x
|
||||||
// freddi being an example of this
|
_numVariables = _fileHandle.readUint16LE();
|
||||||
} else if (_heversion >= 70 && blockSize > 38) { // sputm7.2
|
_fileHandle.readUint16LE(); // not used in spydemo
|
||||||
if (_heversion < 72)
|
_fileHandle.readUint16LE(); // _numLocalVariables ?
|
||||||
_heversion = 72;
|
_numLocalObjects = _fileHandle.readUint16LE();
|
||||||
if (blockSize != 32 + 8) {
|
_numArray = _fileHandle.readUint16LE();
|
||||||
if (blockSize == 44 + 8)
|
_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(); // _numLocalScripts?
|
||||||
|
_fileHandle.readUint16LE(); // unknown
|
||||||
|
} else if (_heversion >= 70 && (blockSize == 44 + 8)) { // C++ based engine
|
||||||
error("MAXS blocks from C++ based games not yet supported");
|
error("MAXS blocks from C++ based games not yet supported");
|
||||||
else if (blockSize == 38 + 8)
|
} else if (_heversion >= 70 && blockSize > 38) { // sputm7.2
|
||||||
error("MAXS blocks from Scummsys.9x games not yet supported");
|
if (blockSize != 32 + 8)
|
||||||
else
|
|
||||||
error("MAXS block of size %d not supported, please report", blockSize);
|
error("MAXS block of size %d not supported, please report", blockSize);
|
||||||
}
|
|
||||||
_fileHandle.readUint16LE();
|
_fileHandle.readUint16LE();
|
||||||
_numVariables = _fileHandle.readUint16LE();
|
_numVariables = _fileHandle.readUint16LE();
|
||||||
_numBitVariables = _fileHandle.readUint16LE();
|
_numBitVariables = _fileHandle.readUint16LE();
|
||||||
|
@ -2210,6 +2229,7 @@ void ScummEngine::allocateArrays() {
|
||||||
debug(2, "Allocated %d space in numObjects", _numLocalObjects);
|
debug(2, "Allocated %d space in numObjects", _numLocalObjects);
|
||||||
_scummVars = (int32 *)calloc(_numVariables, sizeof(int32));
|
_scummVars = (int32 *)calloc(_numVariables, sizeof(int32));
|
||||||
_bitVars = (byte *)calloc(_numBitVariables >> 3, 1);
|
_bitVars = (byte *)calloc(_numBitVariables >> 3, 1);
|
||||||
|
_images = (uint16 *)calloc(_numImages, sizeof(uint16));
|
||||||
|
|
||||||
allocResTypeData(rtCostume, (_features & GF_NEW_COSTUMES) ? MKID('AKOS') : MKID('COST'),
|
allocResTypeData(rtCostume, (_features & GF_NEW_COSTUMES) ? MKID('AKOS') : MKID('COST'),
|
||||||
_numCostumes, "costume", 1);
|
_numCostumes, "costume", 1);
|
||||||
|
@ -2227,6 +2247,7 @@ void ScummEngine::allocateArrays() {
|
||||||
allocResTypeData(rtString, MKID('NONE'), _numArray, "array", 0);
|
allocResTypeData(rtString, MKID('NONE'), _numArray, "array", 0);
|
||||||
allocResTypeData(rtFlObject, MKID('NONE'), _numFlObject, "flobject", 0);
|
allocResTypeData(rtFlObject, MKID('NONE'), _numFlObject, "flobject", 0);
|
||||||
allocResTypeData(rtMatrix, MKID('NONE'), 10, "boxes", 0);
|
allocResTypeData(rtMatrix, MKID('NONE'), 10, "boxes", 0);
|
||||||
|
allocResTypeData(rtImage, MKID('AWIZ'), _numImages, "images", 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -2456,6 +2477,8 @@ const char *resTypeFromId(int id) {
|
||||||
return "Last";
|
return "Last";
|
||||||
case rtNumTypes:
|
case rtNumTypes:
|
||||||
return "NumTypes";
|
return "NumTypes";
|
||||||
|
case rtImage:
|
||||||
|
return "Image";
|
||||||
default:
|
default:
|
||||||
sprintf(buf, "%d", id);
|
sprintf(buf, "%d", id);
|
||||||
return buf;
|
return buf;
|
||||||
|
|
|
@ -260,78 +260,78 @@ static const ScummGameSettings scumm_settings[] = {
|
||||||
|
|
||||||
#ifdef HEGAMES
|
#ifdef HEGAMES
|
||||||
// Humongous Entertainment Scumm Version 9.0 ? Scummsys.90
|
// Humongous Entertainment Scumm Version 9.0 ? Scummsys.90
|
||||||
{"kinddemo", "Big Thinkers Kindergarten (Demo)", GID_HEGAME, 6, 72, MDT_NONE,
|
{"kinddemo", "Big Thinkers Kindergarten (Demo)", GID_HEGAME, 6, 90, MDT_NONE,
|
||||||
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
||||||
{"1grademo", "Big Thinkers First Grade (Demo)", GID_HEGAME, 6, 72, MDT_NONE,
|
{"1grademo", "Big Thinkers First Grade (Demo)", GID_HEGAME, 6, 90, MDT_NONE,
|
||||||
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
||||||
{"f3-mdemo", "Freddi Fish 3: The Case of the Stolen Conch Shell (Demo)", GID_HEGAME, 6, 72, MDT_NONE,
|
{"f3-mdemo", "Freddi Fish 3: The Case of the Stolen Conch Shell (Demo)", GID_HEGAME, 6, 90, MDT_NONE,
|
||||||
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
||||||
// there is also a C++ engine based version of timedemo
|
// there is also a C++ engine based version of timedemo
|
||||||
{"timedemo", "Putt-Putt Travels Through Time (Demo)", GID_HEGAME, 6, 72, MDT_NONE,
|
{"timedemo", "Putt-Putt Travels Through Time (Demo)", GID_HEGAME, 6, 90, MDT_NONE,
|
||||||
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
||||||
{"spyfox", "Spyfox 1: Dry Cereal", GID_HEGAME, 6, 72, MDT_NONE,
|
{"spyfox", "Spyfox 1: Dry Cereal", GID_HEGAME, 6, 90, MDT_NONE,
|
||||||
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
||||||
{"foxdemo", "Spyfox 1: Dry Cereal (Demo)", GID_HEGAME, 6, 72, MDT_NONE,
|
{"foxdemo", "Spyfox 1: Dry Cereal (Demo)", GID_HEGAME, 6, 90, MDT_NONE,
|
||||||
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
||||||
// there is also a C++ engine version of spydemo
|
// there is also a C++ engine version of spydemo
|
||||||
{"spydemo", "Spyfox 1: Dry Cereal (Demo)", GID_HEGAME, 6, 72, MDT_NONE,
|
{"spydemo", "Spyfox 1: Dry Cereal (Demo)", GID_HEGAME, 6, 90, MDT_NONE,
|
||||||
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
||||||
|
|
||||||
// Humongous Entertainment Scumm Version 9.5 ? Scummsys.95
|
// Humongous Entertainment Scumm Version 9.5 ? Scummsys.95
|
||||||
{"pj2demo", "Pajama Sam 2: Thunder and Lightning Aren't so Frightening (Demo)", GID_HEGAME, 6, 72, MDT_NONE,
|
{"pj2demo", "Pajama Sam 2: Thunder and Lightning Aren't so Frightening (Demo)", GID_HEGAME, 6, 90, MDT_NONE,
|
||||||
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
||||||
{"pajama2", "Pajama Sam 2: Thunder and Lightning Aren't so Frightening", GID_HEGAME, 6, 72, MDT_NONE,
|
{"pajama2", "Pajama Sam 2: Thunder and Lightning Aren't so Frightening", GID_HEGAME, 6, 90, MDT_NONE,
|
||||||
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
||||||
{"chase", "Spy Fox in Cheese Chase Game", GID_HEGAME, 6, 72, MDT_NONE,
|
{"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},
|
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
||||||
|
|
||||||
// Humongous Entertainment Scumm Version 9.8 ? Scummsys.98
|
// Humongous Entertainment Scumm Version 9.8 ? Scummsys.98
|
||||||
// these and later games can easily be identified by the .(a) file instead of a .he1
|
// 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, 72, MDT_NONE,
|
{"freddi4", "Freddi Fish 4: The Case of the Hogfish Rustlers of Briny Gulch", GID_HEGAME, 6, 90, MDT_NONE,
|
||||||
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
||||||
{"f4-demo", "Freddi Fish 4: The Case of the Hogfish Rustlers of Briny Gulch (Demo)", GID_HEGAME, 6, 72, MDT_NONE,
|
{"f4-demo", "Freddi Fish 4: The Case of the Hogfish Rustlers of Briny Gulch (Demo)", GID_HEGAME, 6, 90, MDT_NONE,
|
||||||
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
||||||
{"lost", "Pajama Sam's Lost & Found", GID_HEGAME, 6, 72, MDT_NONE,
|
{"lost", "Pajama Sam's Lost & Found", GID_HEGAME, 6, 72, MDT_NONE,
|
||||||
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
||||||
{"racedemo", "Putt-Putt Enters the Race (Demo)", GID_HEGAME, 6, 72, MDT_NONE,
|
{"racedemo", "Putt-Putt Enters the Race (Demo)", GID_HEGAME, 6, 90, MDT_NONE,
|
||||||
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
||||||
{"puttrace", "Putt-Putt Enters the Race", GID_HEGAME, 6, 72, MDT_NONE,
|
{"puttrace", "Putt-Putt Enters the Race", GID_HEGAME, 6, 90, MDT_NONE,
|
||||||
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
||||||
{"bluesabctimedemo", "Blue's ABC Time (Demo)", GID_HEGAME, 6, 72, MDT_NONE,
|
{"bluesabctimedemo", "Blue's ABC Time (Demo)", GID_HEGAME, 6, 90, MDT_NONE,
|
||||||
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
||||||
|
|
||||||
// Humongous Entertainment Scumm Version 9.9 ? Scummsys.99
|
// Humongous Entertainment Scumm Version 9.9 ? Scummsys.99
|
||||||
{"sf2-demo", "Spyfox 2: Some Assembly Required (Demo)", GID_HEGAME, 6, 72, MDT_NONE,
|
{"sf2-demo", "Spyfox 2: Some Assembly Required (Demo)", GID_HEGAME, 6, 90, MDT_NONE,
|
||||||
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
||||||
{"spyfox2", "Spyfox 2: Some Assembly Required", GID_HEGAME, 6, 72, MDT_NONE,
|
{"spyfox2", "Spyfox 2: Some Assembly Required", GID_HEGAME, 6, 90, MDT_NONE,
|
||||||
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
||||||
{"mustard", "Spy Fox in Hold the Mustard", GID_HEGAME, 6, 72, MDT_NONE,
|
{"mustard", "Spy Fox in Hold the Mustard", GID_HEGAME, 6, 90, MDT_NONE,
|
||||||
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
||||||
|
|
||||||
// Humongous Entertainment Scumm Version ? engine moved to c++
|
// Humongous Entertainment Scumm Version ? engine moved to c++
|
||||||
{"ff5demo", "Freddi Fish 5: The Case of the Creature of Coral Cave (Demo)", GID_HEGAME, 6, 72, MDT_NONE,
|
{"ff5demo", "Freddi Fish 5: The Case of the Creature of Coral Cave (Demo)", GID_HEGAME, 6, 90, MDT_NONE,
|
||||||
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
||||||
{"freddicove", "Freddi Fish 5: The Case of the Creature of Coral Cave", GID_HEGAME, 6, 72, MDT_NONE,
|
{"freddicove", "Freddi Fish 5: The Case of the Creature of Coral Cave", GID_HEGAME, 6, 90, MDT_NONE,
|
||||||
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
||||||
{"ffhsdemo", "Freddi Fish 2: The Case of the Haunted Schoolhouse (Demo)", GID_HEGAME, 6, 72, MDT_NONE,
|
{"ffhsdemo", "Freddi Fish 2: The Case of the Haunted Schoolhouse (Demo)", GID_HEGAME, 6, 90, MDT_NONE,
|
||||||
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
||||||
{"pj3-demo", "Pajama Sam 3: You Are What You Eat From Your Head to Your Feet (Demo)", GID_HEGAME, 6, 72, MDT_NONE,
|
{"pj3-demo", "Pajama Sam 3: You Are What You Eat From Your Head to Your Feet (Demo)", GID_HEGAME, 6, 90, MDT_NONE,
|
||||||
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
||||||
{"pajama3", "Pajama Sam 3: You Are What You Eat From Your Head to Your Feet", GID_HEGAME, 6, 72, MDT_NONE,
|
{"pajama3", "Pajama Sam 3: You Are What You Eat From Your Head to Your Feet", GID_HEGAME, 6, 90, MDT_NONE,
|
||||||
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
||||||
{"dog", "Putt-Putt and Pep's Dog on a Stick", GID_HEGAME, 6, 72, MDT_NONE,
|
{"dog", "Putt-Putt and Pep's Dog on a Stick", GID_HEGAME, 6, 90, MDT_NONE,
|
||||||
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
||||||
{"PuttsFunShop", "Putt-Putt's One-Stop Fun Shop", GID_HEGAME, 6, 72, MDT_NONE,
|
{"PuttsFunShop", "Putt-Putt's One-Stop Fun Shop", GID_HEGAME, 6, 90, MDT_NONE,
|
||||||
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
||||||
{"putttime", "Putt-Putt Travels Through Time", GID_HEGAME, 6, 72, MDT_NONE,
|
{"putttime", "Putt-Putt Travels Through Time", GID_HEGAME, 6, 90, MDT_NONE,
|
||||||
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
||||||
{"spyozon", "Spyfox 3: Operation Ozone", GID_HEGAME, 6, 72, MDT_NONE,
|
{"spyozon", "Spyfox 3: Operation Ozone", GID_HEGAME, 6, 90, MDT_NONE,
|
||||||
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
||||||
{"bb2demo", "Backyard Baseball 2001 (Demo)", GID_HEGAME, 6, 72, MDT_NONE,
|
{"bb2demo", "Backyard Baseball 2001 (Demo)", GID_HEGAME, 6, 90, MDT_NONE,
|
||||||
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
||||||
{"football2002", "Backyard Football 2002 (Demo)", GID_HEGAME, 6, 72, MDT_NONE,
|
{"football2002", "Backyard Football 2002 (Demo)", GID_HEGAME, 6, 90, MDT_NONE,
|
||||||
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
||||||
{"pjsamdemo", "Pajama Sam: No Need To Hide When It's Dark Outside (Demo)", GID_HEGAME, 6, 72, MDT_NONE,
|
{"pjsamdemo", "Pajama Sam: No Need To Hide When It's Dark Outside (Demo)", GID_HEGAME, 6, 90, MDT_NONE,
|
||||||
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
|
||||||
#endif
|
#endif
|
||||||
{NULL, NULL, 0, 0, 0, MDT_NONE, 0, 0}
|
{NULL, NULL, 0, 0, 0, MDT_NONE, 0, 0}
|
||||||
|
|
|
@ -207,7 +207,8 @@ enum ResTypes {
|
||||||
rtRoomScripts = 17,
|
rtRoomScripts = 17,
|
||||||
rtRoomStart = 17,
|
rtRoomStart = 17,
|
||||||
rtLast = 17,
|
rtLast = 17,
|
||||||
rtNumTypes = 18
|
rtImage = 19,
|
||||||
|
rtNumTypes = 20
|
||||||
};
|
};
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
|
@ -429,6 +430,7 @@ protected:
|
||||||
|
|
||||||
uint16 *_inventory;
|
uint16 *_inventory;
|
||||||
uint16 *_newNames;
|
uint16 *_newNames;
|
||||||
|
uint16 *_images;
|
||||||
public:
|
public:
|
||||||
// VAR is a wrapper around scummVar, which attempts to include additional
|
// VAR is a wrapper around scummVar, which attempts to include additional
|
||||||
// useful information should an illegal var access be detected.
|
// useful information should an illegal var access be detected.
|
||||||
|
@ -458,7 +460,7 @@ protected:
|
||||||
int _numGlobalObjects, _numArray, _numVerbs, _numFlObject;
|
int _numGlobalObjects, _numArray, _numVerbs, _numFlObject;
|
||||||
int _numInventory, _numRooms, _numScripts, _numSounds;
|
int _numInventory, _numRooms, _numScripts, _numSounds;
|
||||||
int _numNewNames, _numGlobalScripts;
|
int _numNewNames, _numGlobalScripts;
|
||||||
int _numActors;
|
int _numActors, _numImages;
|
||||||
public:
|
public:
|
||||||
int _numCostumes; // FIXME - should be protected, used by Actor::remapActorPalette
|
int _numCostumes; // FIXME - should be protected, used by Actor::remapActorPalette
|
||||||
int _numCharsets; // FIXME - should be protected, used by CharsetRenderer
|
int _numCharsets; // FIXME - should be protected, used by CharsetRenderer
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue