aboutsummaryrefslogtreecommitdiff
path: root/scumm/util.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2005-03-30 23:25:49 +0000
committerEugene Sandulenko2005-03-30 23:25:49 +0000
commitf4c50eff957a7bdb65769fbee9e60c63e24605bf (patch)
treea9ccd799f6e9ae68f28259c7d52f4eb25bf1a353 /scumm/util.cpp
parent9c772ce7d85153e4cfb44d8510569bc7fc2004d2 (diff)
downloadscummvm-rg350-f4c50eff957a7bdb65769fbee9e60c63e24605bf.tar.gz
scummvm-rg350-f4c50eff957a7bdb65769fbee9e60c63e24605bf.tar.bz2
scummvm-rg350-f4c50eff957a7bdb65769fbee9e60c63e24605bf.zip
Switch to headerless PRG data for MM NES for better compatibility.
svn-id: r17302
Diffstat (limited to 'scumm/util.cpp')
-rw-r--r--scumm/util.cpp21
1 files changed, 10 insertions, 11 deletions
diff --git a/scumm/util.cpp b/scumm/util.cpp
index 9ef56cfe8d..9a7a1d21f2 100644
--- a/scumm/util.cpp
+++ b/scumm/util.cpp
@@ -766,7 +766,7 @@ uint16 ScummNESFile::extractResource(Common::MemoryWriteStream *output, p_resour
if ((resOffset(res) == 0) && (resLength(res) == 0))
return 0; /* there are 8 scripts that are zero bytes long, so we should skip them */
- File::seek(16 + resOffset(res),SEEK_SET);
+ File::seek(resOffset(res),SEEK_SET);
switch (res->type) {
case NES_GLOBDATA:
@@ -794,8 +794,8 @@ uint16 ScummNESFile::extractResource(Common::MemoryWriteStream *output, p_resour
reslen += write_byte(output, FileReadByte());
}
- if (File::pos() - resOffset(res) - 16 != resLength(res))
- error("extract_resource - length mismatch while extracting graphics resource (was %04X, should be %04X)", File::pos() - resOffset(res) - 16, resLength(res));
+ if (File::pos() - resOffset(res) != resLength(res))
+ error("extract_resource - length mismatch while extracting graphics resource (was %04X, should be %04X)", File::pos() - resOffset(res), resLength(res));
break;
@@ -849,8 +849,8 @@ uint16 ScummNESFile::extractResource(Common::MemoryWriteStream *output, p_resour
} else
error("extract_resource - unknown sound type %d/%d detected",val,cnt);
- if (File::pos() - resOffset(res) - 16 != resLength(res))
- error("extract_resource - length mismatch while extracting sound resource (was %04X, should be %04X)", File::pos() - resOffset(res) - 16, resLength(res));
+ if (File::pos() - resOffset(res) != resLength(res))
+ error("extract_resource - length mismatch while extracting sound resource (was %04X, should be %04X)", File::pos() - resOffset(res), resLength(res));
break;
@@ -1136,23 +1136,22 @@ bool ScummNESFile::open(const char *filename, AccessMode mode) {
uint8 md5sum[16];
if (_ROMset == kROMsetNum) {
- // calculate md5 of first 900 bytes which is enough to tell the difference
- if (md5_file(filename, md5sum, 0, 900)) {
+ if (md5_file(filename, md5sum)) {
char md5str[32+1];
for (int j = 0; j < 16; j++) {
sprintf(md5str + j*2, "%02x", (int)md5sum[j]);
}
- if (!strcmp(md5str, "27b1163056a66b16f862345ecb433890")) {
+ if (!strcmp(md5str, "3905799e081b80a61d4460b7b733c206")) {
_ROMset = kROMsetUSA;
debug(1, "ROM contents verified as Maniac Mansion (USA)");
- } else if (!strcmp(md5str, "3a831207809d1dc8e6ca323102827ec1")) {
+ } else if (!strcmp(md5str, "d8d07efcb88f396bee0b402b10c3b1c9")) {
_ROMset = kROMsetEurope;
debug(1, "ROM contents verified as Maniac Mansion (Europe)");
- } else if (!strcmp(md5str, "96129094b3e09b7e3292b132bf345b17")) {
+ } else if (!strcmp(md5str, "22d07d6c386c9c25aca5dac2a0c0d94b")) {
_ROMset = kROMsetSweden;
debug(1, "ROM contents verified as Maniac Mansion (Sweden)");
- } else if (!strcmp(md5str, "95274b9e82c15b1be98ba6e99122196d")) {
+ } else if (!strcmp(md5str, "81bbfa181184cb494e7a81dcfa94fbd9")) {
_ROMset = kROMsetFrance;
debug(2, "ROM contents verified as Maniac Mansion (France)");
} else {