[Scummvm-cvs-logs] SF.net SVN: scummvm: [29361] scummvm/trunk/engines/parallaction

peres001 at users.sourceforge.net peres001 at users.sourceforge.net
Thu Nov 1 18:39:58 CET 2007


Revision: 29361
          http://scummvm.svn.sourceforge.net/scummvm/?rev=29361&view=rev
Author:   peres001
Date:     2007-11-01 10:39:58 -0700 (Thu, 01 Nov 2007)

Log Message:
-----------
Fix for bug #1822819. Donna now changes her look into Suzy after makeup.

Modified Paths:
--------------
    scummvm/trunk/engines/parallaction/callables_ns.cpp
    scummvm/trunk/engines/parallaction/parallaction.cpp
    scummvm/trunk/engines/parallaction/parallaction.h
    scummvm/trunk/engines/parallaction/parallaction_ns.cpp

Modified: scummvm/trunk/engines/parallaction/callables_ns.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/callables_ns.cpp	2007-11-01 17:06:03 UTC (rev 29360)
+++ scummvm/trunk/engines/parallaction/callables_ns.cpp	2007-11-01 17:39:58 UTC (rev 29361)
@@ -308,6 +308,9 @@
 
 void Parallaction_ns::_c_trasformata(void *parm) {
 	_engineFlags ^= kEngineTransformedDonna;
+	// No need to invoke changeCharacter here, as
+	// transformation happens on a location switch
+	// and character change is automatically triggered.
 	return;
 }
 

Modified: scummvm/trunk/engines/parallaction/parallaction.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/parallaction.cpp	2007-11-01 17:06:03 UTC (rev 29360)
+++ scummvm/trunk/engines/parallaction/parallaction.cpp	2007-11-01 17:39:58 UTC (rev 29361)
@@ -1084,15 +1084,20 @@
 	const char *end = begin + strlen(name);
 
 	_prefix = _empty;
-	_suffix = _empty;
 
 	_dummy = IS_DUMMY_CHARACTER(name);
 
 	if (!_dummy) {
-		const char *s = strstr(name, "tras");
-		if (s) {
+		if (_engineFlags & kEngineTransformedDonna) {
 			_suffix = _suffixTras;
-			end = s;
+		} else {
+			const char *s = strstr(name, "tras");
+			if (s) {
+				_suffix = _suffixTras;
+				end = s;
+			} else {
+				_suffix = _empty;
+			}
 		}
 		if (IS_MINI_CHARACTER(name)) {
 			_prefix = _prefixMini;
@@ -1106,21 +1111,6 @@
 	sprintf(_fullName, "%s%s%s", _prefix, _baseName, _suffix);
 }
 
-void Character::transform() {
-	if (scumm_stricmp("donna", _baseName)) {
-		error("can't transform character %s", _baseName);
-	}
-
-	if (_suffix) {
-		_suffix = _empty;
-	} else {
-		_suffix = _suffixTras;
-	}
-
-	_engineFlags ^= kEngineTransformedDonna;
-	setName(_name);
-}
-
 const char *Character::getName() const {
 	return _name;
 }

Modified: scummvm/trunk/engines/parallaction/parallaction.h
===================================================================
--- scummvm/trunk/engines/parallaction/parallaction.h	2007-11-01 17:06:03 UTC (rev 29360)
+++ scummvm/trunk/engines/parallaction/parallaction.h	2007-11-01 17:39:58 UTC (rev 29361)
@@ -241,7 +241,6 @@
 
 public:
 	void setName(const char *name);
-	void transform();
 	const char *getName() const;
 	const char *getBaseName() const;
 	const char *getFullName() const;

Modified: scummvm/trunk/engines/parallaction/parallaction_ns.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/parallaction_ns.cpp	2007-11-01 17:06:03 UTC (rev 29360)
+++ scummvm/trunk/engines/parallaction/parallaction_ns.cpp	2007-11-01 17:39:58 UTC (rev 29361)
@@ -455,6 +455,8 @@
 
 void Parallaction_ns::cleanupGame() {
 
+	_engineFlags &= ~kEngineTransformedDonna;
+
 	// this code saves main character animation from being removed from the following code
 	_animations.remove(&_char._ani);
 	_numLocations = 0;


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list