[Scummvm-cvs-logs] CVS: scummvm/scumm actor.cpp,1.261,1.262 saveload.cpp,1.163,1.164 script_v2.cpp,2.247,2.248 scumm.cpp,1.107,1.108 scumm.h,1.431,1.432

Travis Howell kirben at users.sourceforge.net
Mon Jul 26 08:22:26 CEST 2004


Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25231/scumm

Modified Files:
	actor.cpp saveload.cpp script_v2.cpp scumm.cpp scumm.h 
Log Message:

Keep compatbility with older saved games.


Index: actor.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/actor.cpp,v
retrieving revision 1.261
retrieving revision 1.262
diff -u -d -r1.261 -r1.262
--- actor.cpp	26 Jul 2004 13:53:24 -0000	1.261
+++ actor.cpp	26 Jul 2004 15:14:10 -0000	1.262
@@ -811,6 +811,17 @@
 	}
 }
 
+static const int v1MMActorTalkColor[25] = {
+	1, 7, 2, 14, 8, 1, 3, 7, 7, 12, 1, 13, 1, 4, 5, 5, 4, 3, 1, 5, 1, 1, 1, 7, 7
+};
+
+void ScummEngine::setupV1ActorTalkColor() {
+	int i;
+
+	for (i = 1; i < _numActors; i++)
+		_actors[i].talkColor = v1MMActorTalkColor[i];
+}
+
 void ScummEngine::showActors() {
 	int i;
 

Index: saveload.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/saveload.cpp,v
retrieving revision 1.163
retrieving revision 1.164
diff -u -d -r1.163 -r1.164
--- saveload.cpp	26 Jul 2004 04:03:11 -0000	1.163
+++ saveload.cpp	26 Jul 2004 15:14:10 -0000	1.164
@@ -256,6 +256,9 @@
 		setDirtyColors(0, 255);
 
 
+	if (_gameId == GID_MANIAC && _version == 1)
+		setupV1ActorTalkColor();
+
 	// Regenerate strip table (for V1/V2 games)
 	if (_version == 1) {
 		roomptr = getResourceAddress(rtRoom, _roomResource);


Index: scumm.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scumm.cpp,v
retrieving revision 1.107
retrieving revision 1.108
diff -u -d -r1.107 -r1.108
--- scumm.cpp	26 Jul 2004 13:53:24 -0000	1.107
+++ scumm.cpp	26 Jul 2004 15:14:10 -0000	1.108
@@ -1101,8 +1101,6 @@
 	}
 }
 
-int v1MMActorTalkColor[] = {1, 7, 2, 14, 8, 1, 3, 7, 7, 12, 1, 13, 1, 4, 5, 5, 4, 3, 1, 5, 1, 1, 1, 7, 7, 0};
-
 void ScummEngine::scummInit() {
 	int i;
 
@@ -1166,13 +1164,14 @@
 		// this is from IDB
 		if ((_version == 1) || (_gameId == GID_MANIAC && _demoMode)) {
 			_actors[i].setActorCostume(i);
-			_actors[i].talkColor = v1MMActorTalkColor[i];
 		}
 	}
 
-	// HACK Some palette changes needed for demo script
-	// in Maniac Mansion (Enchanced)
-	if (_gameId == GID_MANIAC && _version == 2 && _demoMode) {
+	if (_gameId == GID_MANIAC && _version == 1) {
+		setupV1ActorTalkColor();
+	} else if (_gameId == GID_MANIAC && _version == 2 && _demoMode) {
+		// HACK Some palette changes needed for demo script
+		// in Maniac Mansion (Enchanced)
 		_actors[3].setPalette(3, 1);
 		_actors[9].talkColor = 15;
 		_actors[10].talkColor = 7;

Index: scumm.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scumm.h,v
retrieving revision 1.431
retrieving revision 1.432
diff -u -d -r1.431 -r1.432
--- scumm.h	25 Jul 2004 11:29:38 -0000	1.431
+++ scumm.h	26 Jul 2004 15:14:10 -0000	1.432
@@ -798,6 +798,7 @@
 	void setActorRedrawFlags();
 	void putActors();
 	void showActors();
+	void setupV1ActorTalkColor();
 	void resetActorBgs();
 	void processActors();
 	void processUpperActors();





More information about the Scummvm-git-logs mailing list