diff options
author | Eugene Sandulenko | 2004-06-03 00:55:40 +0000 |
---|---|---|
committer | Eugene Sandulenko | 2004-06-03 00:55:40 +0000 |
commit | 2a34b9d5a1f7573621a0e3c352e790f8a102859c (patch) | |
tree | dc3cfcaa96d3e338d5464b18fbe18eb85d133037 | |
parent | d6aa0a47908b2f9bad74d3a334681ae37aef2079 (diff) | |
download | scummvm-rg350-2a34b9d5a1f7573621a0e3c352e790f8a102859c.tar.gz scummvm-rg350-2a34b9d5a1f7573621a0e3c352e790f8a102859c.tar.bz2 scummvm-rg350-2a34b9d5a1f7573621a0e3c352e790f8a102859c.zip |
Phase 1 of move to _heversion use.
svn-id: r13926
-rw-r--r-- | scumm/intern.h | 4 | ||||
-rw-r--r-- | scumm/resource.cpp | 2 | ||||
-rw-r--r-- | scumm/script_v6he.cpp | 33 | ||||
-rw-r--r-- | scumm/script_v7he.cpp | 30 | ||||
-rw-r--r-- | scumm/scumm.cpp | 152 | ||||
-rw-r--r-- | scumm/scumm.h | 2 | ||||
-rw-r--r-- | scumm/vars.cpp | 2 |
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; |