aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
authorTravis Howell2005-10-21 12:06:03 +0000
committerTravis Howell2005-10-21 12:06:03 +0000
commit159958dbc79ab1af227753b664cec68764d835f9 (patch)
tree27c1e22f6f7aabff1aebbc59e83b92afc425abf9 /scumm
parent8cc72cc03b37753de7c047d736031358e3de15a5 (diff)
downloadscummvm-rg350-159958dbc79ab1af227753b664cec68764d835f9.tar.gz
scummvm-rg350-159958dbc79ab1af227753b664cec68764d835f9.tar.bz2
scummvm-rg350-159958dbc79ab1af227753b664cec68764d835f9.zip
Actor layer in HE games uses an int32.
svn-id: r19212
Diffstat (limited to 'scumm')
-rw-r--r--scumm/actor.cpp4
-rw-r--r--scumm/actor.h2
-rw-r--r--scumm/saveload.h2
-rw-r--r--scumm/script_v100he.cpp3
-rw-r--r--scumm/script_v72he.cpp7
-rw-r--r--scumm/scumm.cpp6
-rw-r--r--scumm/scumm.h1
7 files changed, 12 insertions, 13 deletions
diff --git a/scumm/actor.cpp b/scumm/actor.cpp
index 3fda0bf72e..05f81b0a0b 100644
--- a/scumm/actor.cpp
+++ b/scumm/actor.cpp
@@ -2201,7 +2201,9 @@ const SaveLoadEntry *Actor::getSaveLoadEntries() {
MKLINE(Actor, _talkPosX, sleInt16, VER(8)),
MKLINE(Actor, _ignoreTurns, sleByte, VER(8)),
- MKLINE(Actor, _layer, sleByte, VER(8)),
+ // Actor layer switched to int32 in HE games
+ MKLINE_OLD(Actor, _layer, sleByte, VER(8), VER(57)),
+ MKLINE(Actor, _layer, sleInt32, VER(58)),
MKLINE(Actor, _talkScript, sleUint16, VER(8)),
MKLINE(Actor, _walkScript, sleUint16, VER(8)),
diff --git a/scumm/actor.h b/scumm/actor.h
index d3af472e23..9c921de6fb 100644
--- a/scumm/actor.h
+++ b/scumm/actor.h
@@ -129,7 +129,7 @@ public:
uint16 _talkScript, _walkScript;
bool _ignoreTurns;
bool _drawToBackBuf;
- int8 _layer;
+ int32 _layer;
uint16 _sound[32];
CostumeData _cost;
diff --git a/scumm/saveload.h b/scumm/saveload.h
index 9d0bce31b7..e413f1288c 100644
--- a/scumm/saveload.h
+++ b/scumm/saveload.h
@@ -45,7 +45,7 @@ namespace Scumm {
* only saves/loads those which are valid for the version of the savegame
* which is being loaded/saved currently.
*/
-#define CURRENT_VER 57
+#define CURRENT_VER 58
/**
* An auxillary macro, used to specify savegame versions. We use this instead
diff --git a/scumm/script_v100he.cpp b/scumm/script_v100he.cpp
index 0aba798cfe..907a596c8e 100644
--- a/scumm/script_v100he.cpp
+++ b/scumm/script_v100he.cpp
@@ -457,7 +457,8 @@ void ScummEngine_v100he::o100_actorOps() {
a->_needRedraw = true;
break;
case 59:
- a->_layer = pop();
+ // HE games use reverse order of layering, so we adjust
+ a->_layer = -pop();
a->_needRedraw = true;
break;
case 63:
diff --git a/scumm/script_v72he.cpp b/scumm/script_v72he.cpp
index 642405cbb7..ee5c4397d5 100644
--- a/scumm/script_v72he.cpp
+++ b/scumm/script_v72he.cpp
@@ -1146,11 +1146,8 @@ void ScummEngine_v72he::o72_actorOps() {
debug(1,"o72_actorOps: case 24 (%d)", k);
break;
case 43: // HE 90+
- a->_layer = pop();
- if (_gameId != GID_FREDDICOVE) {
- // HE games use reverse order of layering, so we adjust
- a->_layer = -a->_layer;
- }
+ // HE games use reverse order of layering, so we adjust
+ a->_layer = -pop();
a->_needRedraw = true;
break;
case 64:
diff --git a/scumm/scumm.cpp b/scumm/scumm.cpp
index 366e3bc2ed..a9d17999d4 100644
--- a/scumm/scumm.cpp
+++ b/scumm/scumm.cpp
@@ -314,7 +314,7 @@ static const ScummGameSettings scumm_settings[] = {
GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
// Humongous Entertainment Scumm Version ?
- {"freddicove", "Freddi Fish 5: The Case of the Creature of Coral Cave", GID_FREDDICOVE, 6, 99, MDT_NONE,
+ {"freddicove", "Freddi Fish 5: The Case of the Creature of Coral Cave", GID_HEGAME, 6, 99, MDT_NONE,
GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_LOCALIZED | GF_HE_NOSUBTITLES | GF_16BIT_COLOR | GF_MULTIPLE_VERSIONS, Common::kPlatformWindows},
{"pajama3", "Pajama Sam 3: You Are What You Eat From Your Head to Your Feet", GID_HEGAME, 6, 99, MDT_NONE,
GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_LOCALIZED, Common::kPlatformWindows},
@@ -429,9 +429,9 @@ static const ScummGameSettings multiple_versions_md5_settings[] = {
GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_NOSUBTITLES | GF_HE_LOCALIZED | GF_16BIT_COLOR, Common::kPlatformWindows},
{"21abe302e1b1e2b66d6f5c12e241ebfd", "Freddi Fish 5: The Case of the Creature of Coral Cave (Unencrypted Russian)", GID_HEGAME, 6, 99, MDT_NONE,
GF_NEW_COSTUMES | GF_HE_NOSUBTITLES | GF_HE_LOCALIZED | GF_16BIT_COLOR, Common::kPlatformWindows},
- {"45082a5c9f42ba14dacfe1fdeeba819d", "Freddi Fish 5: The Case of the Creature of Coral Cave (Updated Demo)", GID_FREDDICOVE, 6, 100, MDT_NONE,
+ {"45082a5c9f42ba14dacfe1fdeeba819d", "Freddi Fish 5: The Case of the Creature of Coral Cave (Updated Demo)", GID_HEGAME, 6, 100, MDT_NONE,
GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_NOSUBTITLES | GF_HE_LOCALIZED | GF_16BIT_COLOR, Common::kPlatformWindows},
- {"6b257bb2827dd894b8109a50a1a18b5a", "Freddi Fish 5: The Case of the Creature of Coral Cave (Updated Dutch Demo)", GID_FREDDICOVE, 6, 100, MDT_NONE,
+ {"6b257bb2827dd894b8109a50a1a18b5a", "Freddi Fish 5: The Case of the Creature of Coral Cave (Updated Dutch Demo)", GID_HEGAME, 6, 100, MDT_NONE,
GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_NOSUBTITLES | GF_HE_LOCALIZED | GF_16BIT_COLOR, Common::kPlatformWindows}, // FF5Demo
{"4dbff3787aedcd96b0b325f2d92d7ad9", "Freddi Fish and Luther's Maze Madness (Updated)", GID_HEGAME, 6, 100, MDT_NONE,
diff --git a/scumm/scumm.h b/scumm/scumm.h
index 169c3f1b8c..6f4f7c8b45 100644
--- a/scumm/scumm.h
+++ b/scumm/scumm.h
@@ -212,7 +212,6 @@ enum ScummGameId {
GID_FBEAR,
GID_FUNPACK,
GID_FREDDI2,
- GID_FREDDICOVE,
GID_PUTTDEMO,
GID_PUTTRACE,
GID_FUNSHOP, // Used for all three funshops