diff options
-rw-r--r-- | scumm/charset.cpp | 4 | ||||
-rw-r--r-- | scumm/script.cpp | 4 | ||||
-rw-r--r-- | scumm/scumm.cpp | 56 | ||||
-rw-r--r-- | scumm/scumm.h | 4 | ||||
-rw-r--r-- | scumm/string.cpp | 2 |
5 files changed, 35 insertions, 35 deletions
diff --git a/scumm/charset.cpp b/scumm/charset.cpp index 1fd22ffe17..fff1f3b728 100644 --- a/scumm/charset.cpp +++ b/scumm/charset.cpp @@ -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) { diff --git a/scumm/script.cpp b/scumm/script.cpp index c8f2ec364d..6287bf416b 100644 --- a/scumm/script.cpp +++ b/scumm/script.cpp @@ -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; diff --git a/scumm/scumm.cpp b/scumm/scumm.cpp index e7131762eb..f14c630cff 100644 --- a/scumm/scumm.cpp +++ b/scumm/scumm.cpp @@ -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}, + {"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}, // 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, + {"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, 80, 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, + {"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}, - {"ff2-demo", "Freddi Fish 2: The Case of the Haunted Schoolhouse (Demo)", GID_HEGAME, 6, 72, 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, + {"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}, - {"maze", "Freddi Fish and Luther's Maze Madness", GID_HEGAME, 6, 72, MDT_NONE, + + {"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}, - {"water", "Freddi Fish and Luther's Water Worries", GID_WATER, 6, 72, MDT_NONE, + {"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}, - {"pjs-demo", "Pajama Sam 1: No Need to Hide When It's Dark Outside (Demo)", GID_PAJAMA, 6, 72, MDT_NONE, + {"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_PAJAMA, 6, 72, MDT_NONE, + {"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}, - // Resource changed for pajama - {"pajama", "Pajama Sam 1: No Need to Hide When It's Dark Outside", GID_PAJAMA, 6, 72, MDT_NONE, + {"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); diff --git a/scumm/scumm.h b/scumm/scumm.h index 43e89058b1..e9f3ed0c8b 100644 --- a/scumm/scumm.h +++ b/scumm/scumm.h @@ -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] diff --git a/scumm/string.cpp b/scumm/string.cpp index c9fedee288..0a7f01ee08 100644 --- a/scumm/string.cpp +++ b/scumm/string.cpp @@ -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) |