Add HE version 80 to avoid additional game ids

svn-id: r14843
This commit is contained in:
Travis Howell 2004-08-31 07:32:53 +00:00
parent 292846c2f5
commit 93584bcdc3
5 changed files with 39 additions and 39 deletions

View file

@ -123,7 +123,7 @@ int CharsetRenderer::getStringWidth(int arg, const byte *text) {
int width = 1;
byte chr;
int oldID = getCurID();
int code = (_vm->_gameId == GID_PAJAMA) ? 127 : 64;
int code = (_vm->_heversion >= 80) ? 127 : 64;
while ((chr = text[pos++]) != 0) {
if (_vm->_heversion >= 72 && chr == code) {
@ -178,7 +178,7 @@ void CharsetRenderer::addLinebreaks(int a, byte *str, int pos, int maxwidth) {
int curw = 1;
byte chr;
int oldID = getCurID();
int code = (_vm->_gameId == GID_PAJAMA) ? 127 : 64;
int code = (_vm->_heversion >= 80) ? 127 : 64;
while ((chr = str[pos++]) != 0) {
if (_vm->_heversion >= 72 && chr == code) {

View file

@ -518,7 +518,7 @@ int ScummEngine::readVar(uint var) {
}
if (var & 0x8000) {
if (_gameId == GID_PAJAMA || _gameId == GID_WATER) {
if (_heversion >= 80) {
var &= 0xFFF;
checkRange(_numRoomVariables - 1, 0, var, "Room variable %d out of range(w)");
return _roomVars[var];
@ -601,7 +601,7 @@ void ScummEngine::writeVar(uint var, int value) {
}
if (var & 0x8000) {
if (_gameId == GID_PAJAMA || _gameId == GID_WATER) {
if (_heversion >= 80) {
var &= 0xFFF;
checkRange(_numRoomVariables - 1, 0, var, "Room variable %d out of range(w)");
_roomVars[var] = value;

View file

@ -241,9 +241,9 @@ static const ScummGameSettings scumm_settings[] = {
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
// Humongous Entertainment Scumm Version 7.2
{"catalog2", "Humongous Interactive Catalog 2", GID_PAJAMA, 6, 72, MDT_NONE,
{"catalog2", "Humongous Interactive Catalog 2", GID_HEGAME, 6, 72, MDT_NONE,
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
{"farm", "Let's Explore the Farm with Buzzy", GID_PAJAMA, 6, 72, MDT_NONE,
{"farm", "Let's Explore the Farm with Buzzy", GID_HEGAME, 6, 72, MDT_NONE,
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
{"airport", "Let's Explore the Airport with Buzzy", GID_HEGAME, 6, 72, MDT_NONE,
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
@ -253,52 +253,53 @@ static const ScummGameSettings scumm_settings[] = {
// There is also a Scummsys.90 version of puttzoo
{"puttzoo", "Putt-Putt Saves the Zoo", GID_HEGAME, 6, 72, MDT_NONE,
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
// Humongous Entertainment Scumm Version 8.0 ? Scummsrc.80
{"dog", "Putt-Putt and Pep's Dog on a Stick", GID_HEGAME, 6, 72, MDT_NONE,
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
{"balloon", "Putt-Putt and Pep's Balloon-O-Rama", GID_HEGAME, 6, 72, MDT_NONE,
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
{"zoodemo", "Putt-Putt Saves the Zoo (Demo)", GID_HEGAME, 6, 72, MDT_NONE,
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
{"ff2-demo", "Freddi Fish 2: The Case of the Haunted Schoolhouse (Demo)", GID_HEGAME, 6, 72, MDT_NONE,
// Humongous Entertainment Scumm Version 8.0 ? Scummsrc.80
{"ff2-demo", "Freddi Fish 2: The Case of the Haunted Schoolhouse (Demo)", GID_HEGAME, 6, 80, MDT_NONE,
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
{"freddi2", "Freddi Fish 2: The Case of the Haunted Schoolhouse", GID_HEGAME, 6, 72, MDT_NONE,
{"freddi2", "Freddi Fish 2: The Case of the Haunted Schoolhouse", GID_HEGAME, 6, 80, MDT_NONE,
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
{"maze", "Freddi Fish and Luther's Maze Madness", GID_HEGAME, 6, 72, MDT_NONE,
{"pjs-demo", "Pajama Sam 1: No Need to Hide When It's Dark Outside (Demo)", GID_HEGAME, 6, 80, MDT_NONE,
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
{"water", "Freddi Fish and Luther's Water Worries", GID_WATER, 6, 72, MDT_NONE,
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
{"pjs-demo", "Pajama Sam 1: No Need to Hide When It's Dark Outside (Demo)", GID_PAJAMA, 6, 72, MDT_NONE,
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
{"socks", "Pajama Sam's Sock Works", GID_PAJAMA, 6, 72, MDT_NONE,
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
// Resource changed for pajama
{"pajama", "Pajama Sam 1: No Need to Hide When It's Dark Outside", GID_PAJAMA, 6, 72, MDT_NONE,
{"pajama", "Pajama Sam 1: No Need to Hide When It's Dark Outside", GID_HEGAME, 6, 80, MDT_NONE,
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
{"balloon", "Putt-Putt and Pep's Balloon-O-Rama", GID_HEGAME, 6, 80, MDT_NONE,
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
{"dog", "Putt-Putt and Pep's Dog on a Stick", GID_HEGAME, 6, 80, MDT_NONE,
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
{"maze", "Freddi Fish and Luther's Maze Madness", GID_HEGAME, 6, 80, MDT_NONE,
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
{"socks", "Pajama Sam's Sock Works", GID_HEGAME, 6, 80, MDT_NONE,
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
{"water", "Freddi Fish and Luther's Water Worries", GID_HEGAME, 6, 80, MDT_NONE,
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
// Humongous Entertainment Scumm Version 9.0 ? Scummsys.90
{"kinddemo", "Big Thinkers Kindergarten (Demo)", GID_PAJAMA, 6, 90, 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, 0},
{"1grademo", "Big Thinkers First Grade (Demo)", GID_PAJAMA, 6, 90, 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, 0},
{"f3-mdemo", "Freddi Fish 3: The Case of the Stolen Conch Shell (Demo)", GID_PAJAMA, 6, 90, 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, 0},
// there is also a C++ engine based version of timedemo
{"timedemo", "Putt-Putt Travels Through Time (Demo)", GID_PAJAMA, 6, 90, 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, 0},
{"spyfox", "Spyfox 1: Dry Cereal", GID_PAJAMA, 6, 90, 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, 0},
{"foxdemo", "Spyfox 1: Dry Cereal (Demo)", GID_PAJAMA, 6, 90, 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, 0},
// there is also a C++ engine version of spydemo
{"spydemo", "Spyfox 1: Dry Cereal (Demo)", GID_PAJAMA, 6, 90, 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, 0},
// Humongous Entertainment Scumm Version 9.5 ? Scummsys.95
{"pj2demo", "Pajama Sam 2: Thunder and Lightning Aren't so Frightening (Demo)", GID_PAJAMA, 6, 90, 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, 0},
{"pajama2", "Pajama Sam 2: Thunder and Lightning Aren't so Frightening", GID_PAJAMA, 6, 90, 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, 0},
{"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},
@ -1099,10 +1100,10 @@ void ScummEngine::launch() {
_numActors = 30;
else if (_gameId == GID_MANIAC)
_numActors = 25;
else if (_gameId == GID_PAJAMA)
else if (_heversion >= 80)
_numActors = 62;
else if (_gameId == GID_WATER)
_numActors = 61;
else if (_heversion == 72)
_numActors = 29;
else
_numActors = 13;
@ -3289,6 +3290,7 @@ Engine *Engine_SCUMM_create(GameDetector *detector, OSystem *syst) {
switch (game.heversion) {
#ifndef __PALM_OS__
case 72:
case 80:
case 90:
case 98:
engine = new ScummEngine_v72he(detector, syst, game);

View file

@ -256,9 +256,7 @@ enum ScummGameId {
GID_PUTTDEMO,
GID_PUTTMOON,
GID_FBEAR,
GID_FUNPACK,
GID_PAJAMA,
GID_WATER
GID_FUNPACK
};
#define _baseRooms res.address[rtRoom]

View file

@ -82,7 +82,7 @@ void ScummEngine::CHARSET_1() {
int frme;
Actor *a;
byte *buffer;
int code = (_gameId == GID_PAJAMA) ? 127 : 64;
int code = (_heversion >= 80) ? 127 : 64;
char value[32];
if (!_haveMsg)