aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
authorTravis Howell2004-08-31 07:32:53 +0000
committerTravis Howell2004-08-31 07:32:53 +0000
commit93584bcdc395cc34e3ccde3ce47e5aa3aaec98d3 (patch)
tree8db4e6c59a5ca554e8036b55347289b9eb3a4d9b /scumm
parent292846c2f531748d343e33c3cf45dde726ffaf75 (diff)
downloadscummvm-rg350-93584bcdc395cc34e3ccde3ce47e5aa3aaec98d3.tar.gz
scummvm-rg350-93584bcdc395cc34e3ccde3ce47e5aa3aaec98d3.tar.bz2
scummvm-rg350-93584bcdc395cc34e3ccde3ce47e5aa3aaec98d3.zip
Add HE version 80 to avoid additional game ids
svn-id: r14843
Diffstat (limited to 'scumm')
-rw-r--r--scumm/charset.cpp4
-rw-r--r--scumm/script.cpp4
-rw-r--r--scumm/scumm.cpp56
-rw-r--r--scumm/scumm.h4
-rw-r--r--scumm/string.cpp2
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)