aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scumm/intern.h4
-rw-r--r--scumm/resource.cpp2
-rw-r--r--scumm/script_v6he.cpp33
-rw-r--r--scumm/script_v7he.cpp30
-rw-r--r--scumm/scumm.cpp152
-rw-r--r--scumm/scumm.h2
-rw-r--r--scumm/vars.cpp2
7 files changed, 113 insertions, 112 deletions
diff --git a/scumm/intern.h b/scumm/intern.h
index a8cc8ed556..adc258105d 100644
--- a/scumm/intern.h
+++ b/scumm/intern.h
@@ -603,7 +603,6 @@ protected:
void o6_localizeArray();
void o6_redimArray();
void o6_readFilePos();
- void o6_quitPauseRestart();
};
class ScummEngine_v7he : public ScummEngine_v6he {
@@ -620,7 +619,7 @@ public:
ScummEngine_v7he(GameDetector *detector, OSystem *syst, const ScummGameSettings &gs) : ScummEngine_v6he(detector, syst, gs) {}
protected:
- virtual void setupScummVars();
+ //virtual void setupScummVars();
virtual void setupOpcodes();
virtual void executeOpcode(byte i);
@@ -637,6 +636,7 @@ protected:
void o7_unknownF9();
void o7_unknownFA();
void o7_unknownFB();
+ void o7_quitPauseRestart();
};
class ScummEngine_v7 : public ScummEngine_v6 {
diff --git a/scumm/resource.cpp b/scumm/resource.cpp
index 168ac4f247..d3216e7096 100644
--- a/scumm/resource.cpp
+++ b/scumm/resource.cpp
@@ -2057,7 +2057,7 @@ void ScummEngine::readMAXS() {
_numGlobalScripts = 2000;
_shadowPaletteSize = NUM_SHADOW_PALETTE * 256;
- } else if (_features & GF_AFTER_HEV7) {
+ } else if (_heversion >= 70) {
_fileHandle.readUint16LE();
_numVariables = _fileHandle.readUint16LE();
_numBitVariables = _fileHandle.readUint16LE();
diff --git a/scumm/script_v6he.cpp b/scumm/script_v6he.cpp
index b723db98ef..60ee5ccaa6 100644
--- a/scumm/script_v6he.cpp
+++ b/scumm/script_v6he.cpp
@@ -1477,37 +1477,4 @@ void ScummEngine_v6he::decodeParseString(int m, int n) {
}
}
-void ScummEngine_v6he::o6_quitPauseRestart() {
- byte subOp = fetchScriptByte();
- int par1;
-
- if (_heversion == 60)
- if (subOp != 158 && subOp != 160)
- error("o6_quitPauseRestart invalid case %d", subOp);
-
-
- switch (subOp & 0xff) {
- case 158: // SO_RESTART
- restart();
- break;
- case 160: // SO_QUIT
- shutDown();
- break;
- case 250:
- par1 = pop();
- warning("stub: o6_quitPauseRestart subOpcode %d", subOp);
- break;
- case 253:
- par1 = pop();
- warning("stub: o6_quitPauseRestart subOpcode %d", subOp);
- case 244:
- case 251:
- case 252:
- warning("stub: o6_quitPauseRestart subOpcode %d", subOp);
- break;
- default:
- error("o6_quitPauseRestart invalid case %d", subOp);
- }
-}
-
} // End of namespace Scumm
diff --git a/scumm/script_v7he.cpp b/scumm/script_v7he.cpp
index 8fedba9744..f150895f0b 100644
--- a/scumm/script_v7he.cpp
+++ b/scumm/script_v7he.cpp
@@ -568,4 +568,34 @@ void ScummEngine_v7he::o7_unknownFB() {
warning("o7_unknownFB stub");
}
+void ScummEngine_v7he::o7_quitPauseRestart() {
+ byte subOp = fetchScriptByte();
+ int par1;
+
+ switch (subOp & 0xff) {
+ case 158: // SO_RESTART
+ // FIXME: check
+ restart();
+ break;
+ case 160: // SO_QUIT
+ // FIXME: check
+ shutDown();
+ break;
+ case 250:
+ par1 = pop();
+ warning("stub: o7_quitPauseRestart subOpcode %d", subOp);
+ break;
+ case 253:
+ par1 = pop();
+ warning("stub: o7_quitPauseRestart subOpcode %d", subOp);
+ case 244:
+ case 251:
+ case 252:
+ warning("stub: o7_quitPauseRestart subOpcode %d", subOp);
+ break;
+ default:
+ error("o7_quitPauseRestart invalid case %d", subOp);
+ }
+}
+
} // End of namespace Scumm
diff --git a/scumm/scumm.cpp b/scumm/scumm.cpp
index 7ff079d9cc..3333362a28 100644
--- a/scumm/scumm.cpp
+++ b/scumm/scumm.cpp
@@ -231,92 +231,92 @@ static const ScummGameSettings scumm_settings[] = {
GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_DEFAULT_TO_1X_SCALER, 0},
// Humongous Entertainment Scumm Version 8.0 ? Scummsrc.80
- {"zoodemo", "Putt-Putt Saves the Zoo (Demo)", GID_PJSDEMO, 6, 60, MDT_NONE,
- GF_NEW_OPCODES | GF_AFTER_HEV7 | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_DEFAULT_TO_1X_SCALER, 0},
- {"freddemo", "Freddi Fish 1: The Case of the Missing Kelp Seeds (Demo)", GID_FREDDEMO, 6, 60, MDT_NONE,
- GF_NEW_OPCODES | GF_AFTER_HEV7 | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_DEFAULT_TO_1X_SCALER, 0},
- {"ff2-demo", "Freddi Fish 2: The Case of the Haunted Schoolhouse (Demo)", GID_PJSDEMO, 6, 60, MDT_NONE,
- GF_NEW_OPCODES | GF_AFTER_HEV7 | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_DEFAULT_TO_1X_SCALER, 0},
- {"freddi2", "Freddi Fish 2: The Case of the Haunted Schoolhouse", GID_PJSDEMO, 6, 60, MDT_NONE,
- GF_NEW_OPCODES | GF_AFTER_HEV7 | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_DEFAULT_TO_1X_SCALER, 0},
- {"maze", "Freddi Fish and Luther's Maze Madness", GID_PJSDEMO, 6, 60, MDT_NONE,
- GF_NEW_OPCODES | GF_AFTER_HEV7 | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_DEFAULT_TO_1X_SCALER, 0},
- {"water", "Freddi Fish and Luther's Water Worries", GID_PJSDEMO, 6, 60, MDT_NONE,
- GF_NEW_OPCODES | GF_AFTER_HEV7 | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_DEFAULT_TO_1X_SCALER, 0},
- {"pjs-demo", "Pajama Sam 1: No Need to Hide When It's Dark Outside (Demo)", GID_PJSDEMO, 6, 60, MDT_NONE,
- GF_NEW_OPCODES | GF_AFTER_HEV7 | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_DEFAULT_TO_1X_SCALER, 0},
- {"socks", "Pajama Sam's Sock Works", GID_PJSDEMO, 6, 60, MDT_NONE,
- GF_NEW_OPCODES | GF_AFTER_HEV7 | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_DEFAULT_TO_1X_SCALER, 0},
+ {"zoodemo", "Putt-Putt Saves the Zoo (Demo)", GID_PJSDEMO, 6, 70, MDT_NONE,
+ GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_DEFAULT_TO_1X_SCALER, 0},
+ {"freddemo", "Freddi Fish 1: The Case of the Missing Kelp Seeds (Demo)", GID_FREDDEMO, 6, 70, MDT_NONE,
+ GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_DEFAULT_TO_1X_SCALER, 0},
+ {"ff2-demo", "Freddi Fish 2: The Case of the Haunted Schoolhouse (Demo)", GID_PJSDEMO, 6, 70, MDT_NONE,
+ GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_DEFAULT_TO_1X_SCALER, 0},
+ {"freddi2", "Freddi Fish 2: The Case of the Haunted Schoolhouse", GID_PJSDEMO, 6, 70, MDT_NONE,
+ GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_DEFAULT_TO_1X_SCALER, 0},
+ {"maze", "Freddi Fish and Luther's Maze Madness", GID_PJSDEMO, 6, 70, MDT_NONE,
+ GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_DEFAULT_TO_1X_SCALER, 0},
+ {"water", "Freddi Fish and Luther's Water Worries", GID_PJSDEMO, 6, 70, MDT_NONE,
+ GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_DEFAULT_TO_1X_SCALER, 0},
+ {"pjs-demo", "Pajama Sam 1: No Need to Hide When It's Dark Outside (Demo)", GID_PJSDEMO, 6, 70, MDT_NONE,
+ GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_DEFAULT_TO_1X_SCALER, 0},
+ {"socks", "Pajama Sam's Sock Works", GID_PJSDEMO, 6, 70, MDT_NONE,
+ GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_DEFAULT_TO_1X_SCALER, 0},
//Not checked
- {"ffhsdemo", "Freddi Fish 2: The Case of the Haunted Schoolhouse (Demo)", GID_PJSDEMO, 6, 60, MDT_NONE,
- GF_NEW_OPCODES | GF_AFTER_HEV7 | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_DEFAULT_TO_1X_SCALER, 0},
+ {"ffhsdemo", "Freddi Fish 2: The Case of the Haunted Schoolhouse (Demo)", GID_PJSDEMO, 6, 70, MDT_NONE,
+ GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_DEFAULT_TO_1X_SCALER, 0},
// Resource changed
- {"pajama", "Pajama Sam 1: No Need to Hide When It's Dark Outside", GID_PJSDEMO, 6, 60, MDT_NONE,
- GF_NEW_OPCODES | GF_AFTER_HEV7 | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_DEFAULT_TO_1X_SCALER, 0},
+ {"pajama", "Pajama Sam 1: No Need to Hide When It's Dark Outside", GID_PJSDEMO, 6, 70, MDT_NONE,
+ GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_DEFAULT_TO_1X_SCALER, 0},
// Humongous Entertainment Scumm Version 9.0 ? Scummsys.90
- {"kinddemo", "Big Thinkers Kindergarten (Demo)", GID_PJSDEMO, 6, 60, MDT_NONE,
- GF_NEW_OPCODES | GF_AFTER_HEV7 | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
- {"1grademo", "Big Thinkers First Grade (Demo)", GID_PJSDEMO, 6, 60, MDT_NONE,
- GF_NEW_OPCODES | GF_AFTER_HEV7 | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
- {"f3-mdemo", "Freddi Fish 3: The Case of the Stolen Conch Shell (Demo)", GID_PJSDEMO, 6, 60, MDT_NONE,
- GF_NEW_OPCODES | GF_AFTER_HEV7 | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
- {"timedemo", "Putt-Putt Travels Through Time (Demo)", GID_PJSDEMO, 6, 60, MDT_NONE,
- GF_NEW_OPCODES | GF_AFTER_HEV7 | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
- {"spyfox", "Spyfox 1: Dry Cereal", GID_PJSDEMO, 6, 60, MDT_NONE,
- GF_NEW_OPCODES | GF_AFTER_HEV7 | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
- {"foxdemo", "Spyfox 1: Dry Cereal (Demo)", GID_PJSDEMO, 6, 60, MDT_NONE,
- GF_NEW_OPCODES | GF_AFTER_HEV7 | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
- {"spydemo", "Spyfox 1: Dry Cereal (Demo)", GID_PJSDEMO, 6, 60, MDT_NONE,
- GF_NEW_OPCODES | GF_AFTER_HEV7 | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
+ {"kinddemo", "Big Thinkers Kindergarten (Demo)", GID_PJSDEMO, 6, 70, MDT_NONE,
+ GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
+ {"1grademo", "Big Thinkers First Grade (Demo)", GID_PJSDEMO, 6, 70, MDT_NONE,
+ 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_PJSDEMO, 6, 70, MDT_NONE,
+ GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
+ {"timedemo", "Putt-Putt Travels Through Time (Demo)", GID_PJSDEMO, 6, 70, MDT_NONE,
+ GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
+ {"spyfox", "Spyfox 1: Dry Cereal", GID_PJSDEMO, 6, 70, MDT_NONE,
+ GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
+ {"foxdemo", "Spyfox 1: Dry Cereal (Demo)", GID_PJSDEMO, 6, 70, MDT_NONE,
+ GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
+ {"spydemo", "Spyfox 1: Dry Cereal (Demo)", GID_PJSDEMO, 6, 70, MDT_NONE,
+ GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
// Humongous Entertainment Scumm Version 9.5 ? Scummsys.95
- {"pj2demo", "Pajama Sam 2: Thunder and Lightning Aren't so Frightening (Demo)", GID_PJSDEMO, 6, 60, MDT_NONE,
- GF_NEW_OPCODES | GF_AFTER_HEV7 | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
- {"pajama2", "Pajama Sam 2: Thunder and Lightning Aren't so Frightening", GID_PJSDEMO, 6, 60, MDT_NONE,
- GF_NEW_OPCODES | GF_AFTER_HEV7 | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
- {"chase", "Spy Fox in Cheese Chase Game", GID_PJSDEMO, 6, 60, MDT_NONE,
- GF_NEW_OPCODES | GF_AFTER_HEV7 | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
+ {"pj2demo", "Pajama Sam 2: Thunder and Lightning Aren't so Frightening (Demo)", GID_PJSDEMO, 6, 70, MDT_NONE,
+ GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
+ {"pajama2", "Pajama Sam 2: Thunder and Lightning Aren't so Frightening", GID_PJSDEMO, 6, 70, MDT_NONE,
+ GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
+ {"chase", "Spy Fox in Cheese Chase Game", GID_PJSDEMO, 6, 70, MDT_NONE,
+ GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
// Humongous Entertainment Scumm Version 9.8 ? Scummsys.98
// 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_PJSDEMO, 6, 60, MDT_NONE,
- GF_NEW_OPCODES | GF_AFTER_HEV7 | 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_PJSDEMO, 6, 60, MDT_NONE,
- GF_NEW_OPCODES | GF_AFTER_HEV7 | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
- {"lost", "Pajama Sam's Lost & Found", GID_PJSDEMO, 6, 60, MDT_NONE,
- GF_NEW_OPCODES | GF_AFTER_HEV7 | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
- {"racedemo", "Putt-Putt Enters the Race (Demo)", GID_PJSDEMO, 6, 60, MDT_NONE,
- GF_NEW_OPCODES | GF_AFTER_HEV7 | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
- {"puttrace", "Putt-Putt Enters the Race", GID_PJSDEMO, 6, 60, MDT_NONE,
- GF_NEW_OPCODES | GF_AFTER_HEV7 | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
+ {"freddi4", "Freddi Fish 4: The Case of the Hogfish Rustlers of Briny Gulch", GID_PJSDEMO, 6, 70, MDT_NONE,
+ 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_PJSDEMO, 6, 70, MDT_NONE,
+ GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
+ {"lost", "Pajama Sam's Lost & Found", GID_PJSDEMO, 6, 70, MDT_NONE,
+ GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
+ {"racedemo", "Putt-Putt Enters the Race (Demo)", GID_PJSDEMO, 6, 70, MDT_NONE,
+ GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
+ {"puttrace", "Putt-Putt Enters the Race", GID_PJSDEMO, 6, 70, MDT_NONE,
+ GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
// Humongous Entertainment Scumm Version 9.9 ? Scummsys.99
- {"sf2-demo", "Spyfox 2: Some Assembly Required (Demo)", GID_PJSDEMO, 6, 60, MDT_NONE,
- GF_NEW_OPCODES | GF_AFTER_HEV7 | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
- {"spyfox2", "Spyfox 2: Some Assembly Required", GID_PJSDEMO, 6, 60, MDT_NONE,
- GF_NEW_OPCODES | GF_AFTER_HEV7 | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
- {"mustard", "Spy Fox in Hold the Mustard", GID_PJSDEMO, 6, 60, MDT_NONE,
- GF_NEW_OPCODES | GF_AFTER_HEV7 | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
+ {"sf2-demo", "Spyfox 2: Some Assembly Required (Demo)", GID_PJSDEMO, 6, 70, MDT_NONE,
+ GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
+ {"spyfox2", "Spyfox 2: Some Assembly Required", GID_PJSDEMO, 6, 70, MDT_NONE,
+ GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
+ {"mustard", "Spy Fox in Hold the Mustard", GID_PJSDEMO, 6, 70, MDT_NONE,
+ GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
// Humongous Entertainment Scumm Version ? engine moved to c++
- {"ff5demo", "Freddi Fish 5: The Case of the Creature of Coral Cave (Demo)", GID_PJSDEMO, 6, 60, MDT_NONE,
- GF_NEW_OPCODES | GF_AFTER_HEV7 | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
- {"freddicove", "Freddi Fish 5: The Case of the Creature of Coral Cave", GID_PJSDEMO, 6, 60, MDT_NONE,
- GF_NEW_OPCODES | GF_AFTER_HEV7 | 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_PJSDEMO, 6, 60, MDT_NONE,
- GF_NEW_OPCODES | GF_AFTER_HEV7 | 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_PJSDEMO, 6, 60, MDT_NONE,
- GF_NEW_OPCODES | GF_AFTER_HEV7 | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
- {"dog", "Putt-Putt and Pep's Dog on a Stick", GID_PJSDEMO, 6, 60, MDT_NONE,
- GF_NEW_OPCODES | GF_AFTER_HEV7 | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
- {"PuttsFunShop", "Putt-Putt's One-Stop Fun Shop", GID_PJSDEMO, 6, 60, MDT_NONE,
- GF_NEW_OPCODES | GF_AFTER_HEV7 | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
- {"putttime", "Putt-Putt Travels Through Time", GID_PJSDEMO, 6, 60, MDT_NONE,
- GF_NEW_OPCODES | GF_AFTER_HEV7 | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
- {"spyozon", "Spyfox 3: Operation Ozone", GID_PJSDEMO, 6, 60, MDT_NONE,
- GF_NEW_OPCODES | GF_AFTER_HEV7 | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
+ {"ff5demo", "Freddi Fish 5: The Case of the Creature of Coral Cave (Demo)", GID_PJSDEMO, 6, 70, MDT_NONE,
+ 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_PJSDEMO, 6, 70, MDT_NONE,
+ 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_PJSDEMO, 6, 70, MDT_NONE,
+ 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_PJSDEMO, 6, 70, MDT_NONE,
+ GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
+ {"dog", "Putt-Putt and Pep's Dog on a Stick", GID_PJSDEMO, 6, 70, MDT_NONE,
+ GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
+ {"PuttsFunShop", "Putt-Putt's One-Stop Fun Shop", GID_PJSDEMO, 6, 70, MDT_NONE,
+ GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
+ {"putttime", "Putt-Putt Travels Through Time", GID_PJSDEMO, 6, 70, MDT_NONE,
+ GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
+ {"spyozon", "Spyfox 3: Operation Ozone", GID_PJSDEMO, 6, 70, MDT_NONE,
+ GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
#endif
{NULL, NULL, 0, 0, 0, MDT_NONE, 0, 0}
};
@@ -1173,7 +1173,7 @@ void ScummEngine::initScummVars() {
VAR(VAR_LANGUAGE) = _language;
} else if (_version >= 7) {
VAR(VAR_V6_EMSSPACE) = 10000;
- } else if (_features & GF_AFTER_HEV7) {
+ } else if (_heversion >= 70) {
VAR(VAR_SOUNDPARAM) = 1; // soundblaster for music
VAR(VAR_SOUNDPARAM2) = 1; // soundblaster for sfx
} else {
@@ -2967,6 +2967,10 @@ Engine *Engine_SCUMM_create(GameDetector *detector, OSystem *syst) {
break;
case Common::kPlatformWindows:
game.features |= GF_WINDOWS;
+
+ // Special case for early HE Windows titles
+ if (game.features & GF_HUMONGOUS && game.heversion == 60)
+ game.heversion = 70;
break;
case Common::kPlatformFMTowns:
if (game.version == 3) {
@@ -2999,7 +3003,7 @@ Engine *Engine_SCUMM_create(GameDetector *detector, OSystem *syst) {
if (game.features & GF_HUMONGOUS) {
// TODO: probably use another variable with version number
#ifndef __PALM_OS__
- if (game.features & GF_AFTER_HEV7)
+ if (game.heversion >= 70)
engine = new ScummEngine_v7he(detector, syst, game);
else
#endif
diff --git a/scumm/scumm.h b/scumm/scumm.h
index d2915bc995..7a6ecd3a1e 100644
--- a/scumm/scumm.h
+++ b/scumm/scumm.h
@@ -107,8 +107,6 @@ enum GameFeatures {
GF_NO_SCALING = 1 << 12,
GF_FEW_LOCALS = 1 << 13,
GF_HUMONGOUS = 1 << 14,
- GF_AFTER_HEV7 = 1 << 15,
- GF_AFTER_HEV8 = 1 << 16,
GF_FMTOWNS = 1 << 17,
GF_AMIGA = 1 << 18,
diff --git a/scumm/vars.cpp b/scumm/vars.cpp
index 7d3fb56d5b..28e73956d2 100644
--- a/scumm/vars.cpp
+++ b/scumm/vars.cpp
@@ -168,6 +168,7 @@ void ScummEngine_v6::setupScummVars() {
VAR_TIMEDATE_MINUTE = 126;
}
+#if 0
void ScummEngine_v7he::setupScummVars() {
// TODO Not complete
VAR_KEYPRESS = 0;
@@ -228,6 +229,7 @@ void ScummEngine_v7he::setupScummVars() {
VAR_TIMEDATE_YEAR = 67;
}
+#endif
void ScummEngine_v7::setupScummVars() {
VAR_MOUSE_X = 1;