[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