Read the RNAM data (might be useful for debugging)

svn-id: r17510
This commit is contained in:
Max Horn 2005-04-10 13:16:49 +00:00
parent 232860bc44
commit 0553720ca0
2 changed files with 22 additions and 9 deletions

View file

@ -345,10 +345,15 @@ void ScummEngine::readIndexFile() {
break; break;
case MKID('RNAM'): case MKID('RNAM'):
// Names of rooms. Maybe we should read them and put them // Names of rooms. Maybe we should put them into a table, for use by the debugger?
// into a table, for use by the debugger? for (int room; (room = _fileHandle->readByte()); ) {
_fileHandle->seek(itemsize - 8, SEEK_CUR); char buf[10];
debug(9, "found RNAM block, skipping"); _fileHandle->read(buf, 9);
buf[9] = 0;
for (i = 0; i < 9; i++)
buf[i] ^= 0xFF;
debug(5, "Room %d: '%s'\n", room, buf);
}
break; break;
case MKID('DLFL'): case MKID('DLFL'):
@ -994,7 +999,8 @@ void ScummEngine_v5::readMAXS(int blockSize) {
void ScummEngine_v8::readMAXS(int blockSize) { void ScummEngine_v8::readMAXS(int blockSize) {
debug(9, "readMAXS: MAXS has blocksize %d", blockSize); debug(9, "readMAXS: MAXS has blocksize %d", blockSize);
_fileHandle->seek(50 + 50, SEEK_CUR); // 176 - 8 _fileHandle->seek(50, SEEK_CUR); // Skip over SCUMM engine version
_fileHandle->seek(50, SEEK_CUR); // Skip over data file version
_numVariables = _fileHandle->readUint32LE(); // 1500 _numVariables = _fileHandle->readUint32LE(); // 1500
_numBitVariables = _fileHandle->readUint32LE(); // 2048 _numBitVariables = _fileHandle->readUint32LE(); // 2048
_fileHandle->readUint32LE(); // 40 _fileHandle->readUint32LE(); // 40
@ -1023,7 +1029,8 @@ void ScummEngine_v8::readMAXS(int blockSize) {
void ScummEngine_v7::readMAXS(int blockSize) { void ScummEngine_v7::readMAXS(int blockSize) {
debug(9, "readMAXS: MAXS has blocksize %d", blockSize); debug(9, "readMAXS: MAXS has blocksize %d", blockSize);
_fileHandle->seek(50 + 50, SEEK_CUR); _fileHandle->seek(50, SEEK_CUR); // Skip over SCUMM engine version
_fileHandle->seek(50, SEEK_CUR); // Skip over data file version
_numVariables = _fileHandle->readUint16LE(); _numVariables = _fileHandle->readUint16LE();
_numBitVariables = _fileHandle->readUint16LE(); _numBitVariables = _fileHandle->readUint16LE();
_fileHandle->readUint16LE(); _fileHandle->readUint16LE();

View file

@ -87,9 +87,15 @@ void ScummEngine_v4::readIndexFile() {
switch (blocktype) { switch (blocktype) {
case 0x4E52: // 'NR' case 0x4E52: // 'NR'
// Names of rooms. Maybe we should read them and put them // Names of rooms. Maybe we should put them into a table, for use by the debugger?
// into a table, for use by the debugger? for (int room; (room = _fileHandle->readByte()); ) {
_fileHandle->seek(itemsize - 6, SEEK_CUR); char buf[10];
_fileHandle->read(buf, 9);
buf[9] = 0;
for (int i = 0; i < 9; i++)
buf[i] ^= 0xFF;
debug(5, "Room %d: '%s'\n", room, buf);
}
break; break;
case 0x5230: // 'R0' case 0x5230: // 'R0'