make sky detect v.0.0348 (even though not existing ;)

svn-id: r8751
This commit is contained in:
Robert Göffringmann 2003-07-04 23:26:46 +00:00
parent a4bd31578b
commit 5854c6a7de
3 changed files with 9 additions and 15 deletions

View file

@ -46,8 +46,6 @@ SkyDisk::SkyDisk(char *gameDataPath) {
if (!(_dinnerTableEntries = _dnrHandle->readUint32LE())) if (!(_dinnerTableEntries = _dnrHandle->readUint32LE()))
error("Error reading from sky.dnr!\n"); //even though it was opened correctly?! 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); _dinnerTableArea = (uint8 *)malloc(_dinnerTableEntries * 8);
entriesRead = _dnrHandle->read(_dinnerTableArea, 8 * _dinnerTableEntries) / 8; entriesRead = _dnrHandle->read(_dinnerTableArea, 8 * _dinnerTableEntries) / 8;
@ -58,6 +56,8 @@ SkyDisk::SkyDisk(char *gameDataPath) {
if (_dataDiskHandle->isOpen() == false) if (_dataDiskHandle->isOpen() == false)
error("Error opening %s%s!\n", _gameDataPath, dataFilename); 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(_buildList, 0, 60 * 2);
memset(_loadedFilesList, 0, 60 * 4); memset(_loadedFilesList, 0, 60 * 4);
} }
@ -415,7 +415,8 @@ uint32 SkyDisk::determineGameVersion() {
return 303; return 303;
case 1445: case 1445:
//floppy (v0.0331 or v0.0348) //floppy (v0.0331 or v0.0348)
return 331; if (_dataDiskHandle->size() == 8830435) return 348;
else return 331;
case 1711: case 1711:
//cd demo (v0.0365) //cd demo (v0.0365)
return 365; return 365;

View file

@ -346,18 +346,14 @@ void SkyState::delay(uint amount) { //copied and mutilated from Simon.cpp
bool SkyState::isDemo(void) { bool SkyState::isDemo(void) {
switch (_systemVars.gameVersion) { switch (_systemVars.gameVersion) {
case 267: case 267: // floppy demo
case 365: // cd demo
return true; return true;
case 288: case 288:
return false;
case 303: case 303:
return false;
case 331: case 331:
return false; case 348:
case 365:
return true;
case 368: case 368:
return false;
case 372: case 372:
return false; return false;
default: default:
@ -369,17 +365,13 @@ bool SkyState::isCDVersion(void) {
switch (_systemVars.gameVersion) { switch (_systemVars.gameVersion) {
case 267: case 267:
return false;
case 288: case 288:
return false;
case 303: case 303:
return false;
case 331: case 331:
case 348:
return false; return false;
case 365: case 365:
return true;
case 368: case 368:
return true;
case 372: case 372:
return true; return true;
default: default:

View file

@ -1741,6 +1741,7 @@ void SkyText::initHuffTree() {
_huffTree = huffTree_00303; _huffTree = huffTree_00303;
break; break;
case 331: case 331:
case 348:
_huffTree = huffTree_00331; _huffTree = huffTree_00331;
break; break;
case 365: case 365: