aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
Diffstat (limited to 'scumm')
-rw-r--r--scumm/actor.cpp4
-rw-r--r--scumm/saveload.cpp5
-rw-r--r--scumm/saveload.h2
-rw-r--r--scumm/script.cpp4
-rw-r--r--scumm/script_v8.cpp4
5 files changed, 7 insertions, 12 deletions
diff --git a/scumm/actor.cpp b/scumm/actor.cpp
index 5a5b780ded..095b8535cc 100644
--- a/scumm/actor.cpp
+++ b/scumm/actor.cpp
@@ -1746,6 +1746,8 @@ const SaveLoadEntry *Actor::getSaveLoadEntries() {
static const SaveLoadEntry actorEntries[] = {
MKLINE(Actor, _pos.x, sleInt16, VER(8)),
MKLINE(Actor, _pos.y, sleInt16, VER(8)),
+ MKLINE(Actor, offs_x, sleInt16, VER(32)),
+ MKLINE(Actor, offs_y, sleInt16, VER(32)),
MKLINE(Actor, top, sleInt16, VER(8)),
MKLINE(Actor, bottom, sleInt16, VER(8)),
MKLINE(Actor, elevation, sleInt16, VER(8)),
@@ -1775,11 +1777,9 @@ const SaveLoadEntry *Actor::getSaveLoadEntries() {
MKLINE(Actor, speedy, sleUint16, VER(8)),
MKLINE(Actor, cost.animCounter, sleUint16, VER(8)),
MKLINE(Actor, cost.soundCounter, sleByte, VER(8)),
-/*
MKLINE(Actor, actorDrawVirScr, sleByte, VER(32)),
MKLINE(Actor, flip, sleByte, VER(32)),
MKLINE(Actor, skipLimb, sleByte, VER(32)),
-*/
// Actor palette grew from 64 to 256 bytes
MKARRAY_OLD(Actor, palette[0], sleByte, 64, VER(8), VER(9)),
diff --git a/scumm/saveload.cpp b/scumm/saveload.cpp
index aa07434dad..b2e806732b 100644
--- a/scumm/saveload.cpp
+++ b/scumm/saveload.cpp
@@ -183,7 +183,6 @@ bool ScummEngine::loadState(int slot, bool compat) {
if (_screenTop < 0)
_screenTop = 0;
-/*
if (hdr.ver < VER(32) && _heversion == 70) {
roomptr = getResourceAddress(rtRoom, _roomResource);
const byte *ptr = findResourceData(MKID('REMP'), roomptr);
@@ -196,8 +195,6 @@ bool ScummEngine::loadState(int slot, bool compat) {
}
}
-*/
-
if (hdr.ver < VER(30)) {
// For a long time, we used incorrect location, causing it to default to zero.
if (_version == 8)
@@ -737,10 +734,8 @@ void ScummEngine::saveOrLoad(Serializer *s, uint32 savegameVersion) {
s->saveLoadArrayOf(_roomPalette, sizeof(_roomPalette), 1, sleByte);
}
-/*
if (savegameVersion >= VER(32) && _heversion == 70)
s->saveLoadArrayOf(_HEV7ActorPalette, sizeof(_HEV7ActorPalette), 1, sleByte);
-*/
// PalManip data was not saved before V10 save games
if (savegameVersion < VER(10))
diff --git a/scumm/saveload.h b/scumm/saveload.h
index 4b0b6146c8..389a215a9e 100644
--- a/scumm/saveload.h
+++ b/scumm/saveload.h
@@ -32,7 +32,7 @@ namespace Scumm {
// Can be useful for other ports too :)
#define VER(x) x
-#define CURRENT_VER 31
+#define CURRENT_VER 32
// To work around a warning in GCC 3.2 (and 3.1 ?) regarding non-POD types,
// we use a small trick: instead of 0 we use 42. Why? Well, it seems newer GCC
diff --git a/scumm/script.cpp b/scumm/script.cpp
index 8d1f353c49..56ad1ae5b1 100644
--- a/scumm/script.cpp
+++ b/scumm/script.cpp
@@ -552,8 +552,8 @@ void ScummEngine::writeVar(uint var, int value) {
// FIXME: Find some better place to put this.
if (var == VAR_CHARINC && ConfMan.hasKey("talkspeed")) {
- int talkspeed = ConfMan.getInt("talkspeed") / 20;
- if (talkspeed >= 0 && talkspeed <= 180)
+ uint talkspeed = ConfMan.getInt("talkspeed");
+ if (talkspeed <= 9)
VAR(VAR_CHARINC) = talkspeed;
} else
_scummVars[var] = value;
diff --git a/scumm/script_v8.cpp b/scumm/script_v8.cpp
index 0d09074430..500ad1b913 100644
--- a/scumm/script_v8.cpp
+++ b/scumm/script_v8.cpp
@@ -426,8 +426,8 @@ void ScummEngine_v8::writeVar(uint var, int value) {
if (var == VAR_CHARINC) {
if (ConfMan.hasKey("talkspeed")) {
- int talkspeed = ConfMan.getInt("talkspeed") / 20;
- if (talkspeed >= 0 && talkspeed <= 9)
+ uint talkspeed = ConfMan.getInt("talkspeed");
+ if (talkspeed <= 9)
VAR(VAR_CHARINC) = talkspeed;
} else
VAR(VAR_CHARINC) = (_features & GF_DEMO) ? value : (9 - value);