[Scummvm-cvs-logs] SF.net SVN: scummvm: [27441] scummvm/trunk/engines/parallaction
Kirben at users.sourceforge.net
Kirben at users.sourceforge.net
Sat Jun 16 04:43:32 CEST 2007
Revision: 27441
http://scummvm.svn.sourceforge.net/scummvm/?rev=27441&view=rev
Author: Kirben
Date: 2007-06-15 19:43:31 -0700 (Fri, 15 Jun 2007)
Log Message:
-----------
Add GF_LANG_MULT game flag, for detecting differences between the two Amiga versions.
Modified Paths:
--------------
scummvm/trunk/engines/parallaction/archive.cpp
scummvm/trunk/engines/parallaction/detection.cpp
scummvm/trunk/engines/parallaction/disk.cpp
scummvm/trunk/engines/parallaction/menu.cpp
scummvm/trunk/engines/parallaction/parallaction.h
Modified: scummvm/trunk/engines/parallaction/archive.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/archive.cpp 2007-06-16 02:38:17 UTC (rev 27440)
+++ scummvm/trunk/engines/parallaction/archive.cpp 2007-06-16 02:43:31 UTC (rev 27441)
@@ -68,8 +68,13 @@
error("archive '%s' not found", path);
bool isSmallArchive = false;
- if (_vm->getFeatures() & GF_DEMO)
- isSmallArchive = _archive.size() == SIZEOF_SMALL_ARCHIVE;
+ if (_vm->getPlatform() == Common::kPlatformAmiga) {
+ if (_vm->getFeatures() & GF_DEMO) {
+ isSmallArchive = _archive.size() == SIZEOF_SMALL_ARCHIVE;
+ } else if (_vm->getFeatures() & GF_LANG_MULT) {
+ isSmallArchive = (_archive.readUint32BE() != MKID_BE('NDOS'));
+ }
+ }
_numFiles = (isSmallArchive) ? SMALL_ARCHIVE_FILES_NUM : NORMAL_ARCHIVE_FILES_NUM;
Modified: scummvm/trunk/engines/parallaction/detection.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/detection.cpp 2007-06-16 02:38:17 UTC (rev 27440)
+++ scummvm/trunk/engines/parallaction/detection.cpp 2007-06-16 02:43:31 UTC (rev 27441)
@@ -75,7 +75,7 @@
Common::ADGF_NO_FLAGS
},
GType_Nippon,
- GF_LANG_EN | GF_LANG_FR | GF_LANG_DE | GF_LANG_IT,
+ GF_LANG_EN | GF_LANG_FR | GF_LANG_DE | GF_LANG_IT | GF_LANG_MULT,
},
{
@@ -98,7 +98,7 @@
Common::ADGF_NO_FLAGS
},
GType_Nippon,
- GF_LANG_EN | GF_LANG_FR | GF_LANG_DE,
+ GF_LANG_EN | GF_LANG_FR | GF_LANG_DE | GF_LANG_MULT,
},
{
Modified: scummvm/trunk/engines/parallaction/disk.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/disk.cpp 2007-06-16 02:38:17 UTC (rev 27440)
+++ scummvm/trunk/engines/parallaction/disk.cpp 2007-06-16 02:43:31 UTC (rev 27441)
@@ -1150,11 +1150,19 @@
char path[PATH_LEN];
sprintf(path, "%sfont", name);
- Common::File stream;
- if (!stream.open(path))
- errorFileNotFound(path);
+ if (_vm->getFeatures() & GF_LANG_MULT) {
+ if (!_resArchive.openArchivedFile(path))
+ errorFileNotFound(path);
- return createFont(name, stream);
+ return createFont(name, _resArchive);
+ } else {
+ // Italian version has separate font files?
+ Common::File stream;
+ if (!stream.open(path))
+ errorFileNotFound(path);
+
+ return createFont(name, stream);
+ }
}
Modified: scummvm/trunk/engines/parallaction/menu.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/menu.cpp 2007-06-16 02:38:17 UTC (rev 27440)
+++ scummvm/trunk/engines/parallaction/menu.cpp 2007-06-16 02:43:31 UTC (rev 27441)
@@ -105,7 +105,7 @@
void Menu::start() {
- _vm->_disk->selectArchive((_vm->getPlatform() == Common::kPlatformAmiga) ? "disk0" : "disk1");
+ _vm->_disk->selectArchive((_vm->getFeatures() & GF_LANG_MULT) ? "disk1" : "disk0");
splash();
@@ -335,7 +335,7 @@
_vm->_gfx->setFont(kFontMenu);
- _vm->_disk->selectArchive((_vm->getPlatform() == Common::kPlatformAmiga) ? "disk0" : "disk1");
+ _vm->_disk->selectArchive((_vm->getFeatures() & GF_LANG_MULT) ? "disk1" : "disk0");
_vm->_disk->loadSlide("password"); // loads background into kBitBack buffer
Modified: scummvm/trunk/engines/parallaction/parallaction.h
===================================================================
--- scummvm/trunk/engines/parallaction/parallaction.h 2007-06-16 02:38:17 UTC (rev 27440)
+++ scummvm/trunk/engines/parallaction/parallaction.h 2007-06-16 02:43:31 UTC (rev 27441)
@@ -64,7 +64,8 @@
GF_LANG_EN = 1 << 1,
GF_LANG_FR = 1 << 2,
GF_LANG_DE = 1 << 3,
- GF_LANG_IT = 1 << 4
+ GF_LANG_IT = 1 << 4,
+ GF_LANG_MULT = 1 << 5
};
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