[Scummvm-cvs-logs] CVS: scummvm/scumm resource.cpp,1.126,1.127

Travis Howell kirben at users.sourceforge.net
Thu Aug 14 08:29:01 CEST 2003


Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1:/tmp/cvs-serv20040/scumm

Modified Files:
	resource.cpp 
Log Message:

Rearrange to be safer


Index: resource.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/resource.cpp,v
retrieving revision 1.126
retrieving revision 1.127
diff -u -d -r1.126 -r1.127
--- resource.cpp	14 Aug 2003 08:26:59 -0000	1.126
+++ resource.cpp	14 Aug 2003 08:47:47 -0000	1.127
@@ -1484,20 +1484,7 @@
 		}
 	}
 
-	if (ro_offs != 0) {
-		_fileHandle.seek(ro_offs - 2, SEEK_SET);
-		_fileHandle.read(createResource(type, idx, ro_size + 2), ro_size + 2);
-		return 1;
-	} else if (((_midiDriver == MD_PCJR) || (_midiDriver == MD_PCSPK)) && wa_offs != 0) {
-		if (_features & GF_OLD_BUNDLE) {
-			_fileHandle.seek(wa_offs, SEEK_SET);
-			_fileHandle.read(createResource(type, idx, wa_size), wa_size);
-		} else {
-			_fileHandle.seek(wa_offs - 6, SEEK_SET);
-			_fileHandle.read(createResource(type, idx, wa_size + 6), wa_size + 6);
-		}
-		return 1;
-	} else if (ad_offs != 0) {
+	if ((_midiDriver == MD_ADLIB) && ad_offs != 0) {
 		// AD resources have a header, instrument definitions and one MIDI track.
 		// We build an 'ADL ' resource from that:
 		//   8 bytes resource header
@@ -1518,6 +1505,19 @@
 			_fileHandle.read(ptr, ad_size - 6);
 			return convertADResource(type, idx, ptr, ad_size - 6);
 		} 
+	} else if (((_midiDriver == MD_PCJR) || (_midiDriver == MD_PCSPK)) && wa_offs != 0) {
+		if (_features & GF_OLD_BUNDLE) {
+			_fileHandle.seek(wa_offs, SEEK_SET);
+			_fileHandle.read(createResource(type, idx, wa_size), wa_size);
+		} else {
+			_fileHandle.seek(wa_offs - 6, SEEK_SET);
+			_fileHandle.read(createResource(type, idx, wa_size + 6), wa_size + 6);
+		}
+		return 1;
+	} else if (ro_offs != 0) {
+		_fileHandle.seek(ro_offs - 2, SEEK_SET);
+		_fileHandle.read(createResource(type, idx, ro_size + 2), ro_size + 2);
+		return 1;
 	}
 	res.roomoffs[type][idx] = 0xFFFFFFFF;
 	return 0;





More information about the Scummvm-git-logs mailing list