[Scummvm-cvs-logs] SF.net SVN: scummvm: [26074] scummvm/trunk/engines/parallaction
peres001 at users.sourceforge.net
peres001 at users.sourceforge.net
Sat Mar 10 23:55:10 CET 2007
Revision: 26074
http://scummvm.svn.sourceforge.net/scummvm/?rev=26074&view=rev
Author: peres001
Date: 2007-03-10 14:55:09 -0800 (Sat, 10 Mar 2007)
Log Message:
-----------
simplified character mode handling
Modified Paths:
--------------
scummvm/trunk/engines/parallaction/disk.cpp
scummvm/trunk/engines/parallaction/parallaction.cpp
scummvm/trunk/engines/parallaction/parallaction.h
scummvm/trunk/engines/parallaction/saveload.cpp
Modified: scummvm/trunk/engines/parallaction/disk.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/disk.cpp 2007-03-10 22:49:19 UTC (rev 26073)
+++ scummvm/trunk/engines/parallaction/disk.cpp 2007-03-10 22:55:09 UTC (rev 26074)
@@ -179,15 +179,15 @@
} else {
// character talk
-
+/*
if (scumm_stricmp(name, _doughName) &&
scumm_stricmp(name, _dinoName) &&
scumm_stricmp(name, _donnaName) &&
scumm_stricmp(name, _drkiName)) return;
-
+*/
char v20[PATH_LEN];
char *v24 = const_cast<char*>(name);
- if (!scumm_strnicmp(v24, "mini", 4)) {
+ if (IS_MINI_CHARACTER(v24)) {
v24+=4;
}
@@ -207,10 +207,10 @@
char archivefile[PATH_LEN];
- if (_vm->_characterName[0] == 'm') {
+ if (IS_MINI_CHARACTER(_vm->_characterName)) {
sprintf(archivefile, "%s%s", _vm->_characterName+4, _vm->_languageDir);
} else {
- if (_vm->_characterName[0] == 'D') strcpy(archivefile, _vm->_languageDir);
+ if (IS_DUMMY_CHARACTER(_vm->_characterName)) strcpy(archivefile, _vm->_languageDir);
else {
sprintf(archivefile, "%s%s", _vm->_characterName, _vm->_languageDir);
}
@@ -257,13 +257,13 @@
void Disk::loadHead(const char* name, StaticCnv* cnv) {
char path[PATH_LEN];
-
+/*
if (scumm_stricmp(name, _doughName) &&
scumm_stricmp(name, _dinoName) &&
scumm_stricmp(name, _donnaName) &&
scumm_stricmp(name, _drkiName)) return;
-
- if (!scumm_strnicmp(name, "mini", 4)) {
+*/
+ if (IS_MINI_CHARACTER(name)) {
name += 4;
}
@@ -290,7 +290,7 @@
void Disk::loadObjects(const char *name, Cnv* cnv) {
- if (!scumm_strnicmp("mini", name, 4)) {
+ if (IS_MINI_CHARACTER(name)) {
name += 4;
}
Modified: scummvm/trunk/engines/parallaction/parallaction.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/parallaction.cpp 2007-03-10 22:49:19 UTC (rev 26073)
+++ scummvm/trunk/engines/parallaction/parallaction.cpp 2007-03-10 22:55:09 UTC (rev 26074)
@@ -829,7 +829,7 @@
_vm->_graphics->freeCnv(&_tempFrames);
- if (_vm->_characterName[0] != 'D') {
+ if (!IS_DUMMY_CHARACTER(_vm->_characterName)) {
_vm->_graphics->freeCnv(&_miniCharacterFrames);
_vm->freeTable(_objectsNames);
_vm->_graphics->freeCnv(&_yourTalk);
@@ -840,7 +840,7 @@
}
void Parallaction::selectCharacterMusic(const char *name) {
- if (!scumm_strnicmp(name, "mini", 4))
+ if (IS_MINI_CHARACTER(name))
name+=4;
if (!scumm_stricmp(name, _dinoName)) {
@@ -859,7 +859,7 @@
bool miniCharacter = false;
- if (!scumm_strnicmp(name, "mini", 4)) {
+ if (IS_MINI_CHARACTER(name)) {
name+=4;
miniCharacter = true;
}
@@ -885,10 +885,10 @@
strcpy(path, v32);
_disk->loadFrames(path, &_tempFrames);
- _disk->loadHead(path, &_yourHead);
- _disk->loadTalk(path, &_yourTalk);
+ if (!IS_DUMMY_CHARACTER(name)) {
+ _disk->loadHead(path, &_yourHead);
+ _disk->loadTalk(path, &_yourTalk);
- if (name[0] != 'D') {
sprintf(path, "mini%s", v32);
_disk->loadFrames(path, &_miniCharacterFrames);
Modified: scummvm/trunk/engines/parallaction/parallaction.h
===================================================================
--- scummvm/trunk/engines/parallaction/parallaction.h 2007-03-10 22:49:19 UTC (rev 26073)
+++ scummvm/trunk/engines/parallaction/parallaction.h 2007-03-10 22:55:09 UTC (rev 26074)
@@ -149,6 +149,17 @@
extern const char *_minidoughName;
extern const char *_minidrkiName;
+// Various ways of detecting character modes used to exist
+// inside the engine, so they have been unified in the two
+// following macros.
+// Mini characters are those used in far away shots, like
+// the highway scenery, while Dummy characters are a mere
+// workaround to keep the engine happy when showing slides.
+// As a sidenote, standard sized characters' names start
+// with a lowercase 'd'.
+#define IS_MINI_CHARACTER(s) (((s)[0] == 'm'))
+#define IS_DUMMY_CHARACTER(s) (((s)[0] == 'D'))
+
void waitUntilLeftClick();
void addNode(Node *list, Node *n);
Modified: scummvm/trunk/engines/parallaction/saveload.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/saveload.cpp 2007-03-10 22:49:19 UTC (rev 26073)
+++ scummvm/trunk/engines/parallaction/saveload.cpp 2007-03-10 22:55:09 UTC (rev 26074)
@@ -122,7 +122,7 @@
strcpy(_vm->_characterName, _minidonnaName);
}
- if (_vm->_characterName[0] == 'm') {
+ if (IS_MINI_CHARACTER(_vm->_characterName)) {
strcpy(filename, _vm->_characterName+4);
} else {
strcpy(filename, _vm->_characterName);
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