diff options
author | Robert Göffringmann | 2003-07-04 23:26:46 +0000 |
---|---|---|
committer | Robert Göffringmann | 2003-07-04 23:26:46 +0000 |
commit | 5854c6a7de6742fcbaeeb90ccd26906e755c47ee (patch) | |
tree | bf2627e03d88f7c545cdbd54bed312765cecccfb /sky | |
parent | a4bd31578b41bfd9fc33cf33d77cafed4de40013 (diff) | |
download | scummvm-rg350-5854c6a7de6742fcbaeeb90ccd26906e755c47ee.tar.gz scummvm-rg350-5854c6a7de6742fcbaeeb90ccd26906e755c47ee.tar.bz2 scummvm-rg350-5854c6a7de6742fcbaeeb90ccd26906e755c47ee.zip |
make sky detect v.0.0348 (even though not existing ;)
svn-id: r8751
Diffstat (limited to 'sky')
-rw-r--r-- | sky/disk.cpp | 7 | ||||
-rw-r--r-- | sky/sky.cpp | 16 | ||||
-rw-r--r-- | sky/text.cpp | 1 |
3 files changed, 9 insertions, 15 deletions
diff --git a/sky/disk.cpp b/sky/disk.cpp index c02f061445..723195da52 100644 --- a/sky/disk.cpp +++ b/sky/disk.cpp @@ -45,8 +45,6 @@ SkyDisk::SkyDisk(char *gameDataPath) { if (!(_dinnerTableEntries = _dnrHandle->readUint32LE())) error("Error reading from sky.dnr!\n"); //even though it was opened correctly?! - - debug(1, "Found BASS version v0.0%d (%d dnr entries)", determineGameVersion(), _dinnerTableEntries); _dinnerTableArea = (uint8 *)malloc(_dinnerTableEntries * 8); entriesRead = _dnrHandle->read(_dinnerTableArea, 8 * _dinnerTableEntries) / 8; @@ -58,6 +56,8 @@ SkyDisk::SkyDisk(char *gameDataPath) { if (_dataDiskHandle->isOpen() == false) error("Error opening %s%s!\n", _gameDataPath, dataFilename); + debug(1, "Found BASS version v0.0%d (%d dnr entries)", determineGameVersion(), _dinnerTableEntries); + memset(_buildList, 0, 60 * 2); memset(_loadedFilesList, 0, 60 * 4); } @@ -415,7 +415,8 @@ uint32 SkyDisk::determineGameVersion() { return 303; case 1445: //floppy (v0.0331 or v0.0348) - return 331; + if (_dataDiskHandle->size() == 8830435) return 348; + else return 331; case 1711: //cd demo (v0.0365) return 365; diff --git a/sky/sky.cpp b/sky/sky.cpp index ed94bd7471..8e03dc1b77 100644 --- a/sky/sky.cpp +++ b/sky/sky.cpp @@ -346,18 +346,14 @@ void SkyState::delay(uint amount) { //copied and mutilated from Simon.cpp bool SkyState::isDemo(void) { switch (_systemVars.gameVersion) { - case 267: + case 267: // floppy demo + case 365: // cd demo return true; case 288: - return false; case 303: - return false; case 331: - return false; - case 365: - return true; + case 348: case 368: - return false; case 372: return false; default: @@ -369,17 +365,13 @@ bool SkyState::isCDVersion(void) { switch (_systemVars.gameVersion) { case 267: - return false; case 288: - return false; case 303: - return false; case 331: + case 348: return false; case 365: - return true; case 368: - return true; case 372: return true; default: diff --git a/sky/text.cpp b/sky/text.cpp index 6d834a756f..ad3a16ac61 100644 --- a/sky/text.cpp +++ b/sky/text.cpp @@ -1741,6 +1741,7 @@ void SkyText::initHuffTree() { _huffTree = huffTree_00303; break; case 331: + case 348: _huffTree = huffTree_00331; break; case 365: |