[Scummvm-cvs-logs] CVS: scummvm/scumm resource.cpp,1.101,1.102

Max Horn fingolfin at users.sourceforge.net
Thu Jun 26 06:55:12 CEST 2003


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

Modified Files:
	resource.cpp 
Log Message:
rearragned stuff

Index: resource.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/resource.cpp,v
retrieving revision 1.101
retrieving revision 1.102
diff -u -d -r1.101 -r1.102
--- resource.cpp	26 Jun 2003 00:47:39 -0000	1.101
+++ resource.cpp	26 Jun 2003 13:54:29 -0000	1.102
@@ -1370,116 +1370,6 @@
 		return READ_BE_UINT32(ptr - 4) - 8;
 }
 
-ResourceIterator::ResourceIterator(const byte *searchin, bool smallHeader)
-	: _ptr(searchin), _smallHeader(smallHeader) {
-	assert(searchin);
-	if (_smallHeader) {
-		_size = READ_LE_UINT32(searchin);
-		_pos = 6;
-		_ptr = searchin + 6;
-	} else {
-		_size = READ_BE_UINT32(searchin + 4);
-		_pos = 8;
-		_ptr = searchin + 8;
-	}
-	
-}
-
-const byte *ResourceIterator::findNext(uint32 tag) {
-	uint32 size = 0;
-	const byte *result = 0;
-	
-	if (_smallHeader) {
-		uint16 smallTag = newTag2Old(tag);
-		do {
-			if (_pos >= _size)
-				return 0;
-	
-			result = _ptr;
-			size = READ_LE_UINT32(result);
-			if ((int32)size <= 0)
-				return 0;	// Avoid endless loop
-			
-			_pos += size;
-			_ptr += size;
-		} while (READ_LE_UINT16(result + 4) != smallTag);
-	} else {
-		do {
-			if (_pos >= _size)
-				return 0;
-	
-			result = _ptr;
-			size = READ_BE_UINT32(result + 4);
-			if ((int32)size <= 0)
-				return 0;	// Avoid endless loop
-			
-			_pos += size;
-			_ptr += size;
-		} while (READ_UINT32(result) != tag);
-	}
-
-	return result;
-}
-
-const byte *findResource(uint32 tag, const byte *searchin) {
-	uint32 curpos, totalsize, size;
-
-	assert(searchin);
-
-	searchin += 4;
-	totalsize = READ_BE_UINT32(searchin);
-	curpos = 8;
-	searchin += 4;
-
-	while (curpos < totalsize) {
-		if (READ_UINT32(searchin) == tag)
-			return searchin;
-
-		size = READ_BE_UINT32(searchin + 4);
-		if ((int32)size <= 0) {
-			error("(%c%c%c%c) Not found in %d... illegal block len %d",
-						tag & 0xFF, (tag >> 8) & 0xFF, (tag >> 16) & 0xFF, (tag >> 24) & 0xFF, 0, size);
-			return NULL;
-		}
-
-		curpos += size;
-		searchin += size;
-	}
-
-	return NULL;
-}
-
-const byte *findResourceSmall(uint32 tag, const byte *searchin) {
-	uint32 curpos, totalsize, size;
-	uint16 smallTag;
-
-	smallTag = newTag2Old(tag);
-
-	assert(searchin);
-
-	totalsize = READ_LE_UINT32(searchin);
-	searchin += 6;
-	curpos = 6;
-
-	while (curpos < totalsize) {
-		size = READ_LE_UINT32(searchin);
-
-		if (READ_LE_UINT16(searchin + 4) == smallTag)
-			return searchin;
-
-		if ((int32)size <= 0) {
-			error("(%c%c%c%c) Not found in %d... illegal block len %d",
-						tag & 0xFF, (tag >> 8) & 0xFF, (tag >> 16) & 0xFF, (tag >> 24) & 0xFF, 0, size);
-			return NULL;
-		}
-
-		curpos += size;
-		searchin += size;
-	}
-
-	return NULL;
-}
-
 void Scumm::lock(int type, int i) {
 	if (!validateResource("Locking", type, i))
 		return;
@@ -1772,6 +1662,116 @@
 		return false;
 
 	return res.address[type][idx] != NULL;
+}
+
+ResourceIterator::ResourceIterator(const byte *searchin, bool smallHeader)
+	: _ptr(searchin), _smallHeader(smallHeader) {
+	assert(searchin);
+	if (_smallHeader) {
+		_size = READ_LE_UINT32(searchin);
+		_pos = 6;
+		_ptr = searchin + 6;
+	} else {
+		_size = READ_BE_UINT32(searchin + 4);
+		_pos = 8;
+		_ptr = searchin + 8;
+	}
+	
+}
+
+const byte *ResourceIterator::findNext(uint32 tag) {
+	uint32 size = 0;
+	const byte *result = 0;
+	
+	if (_smallHeader) {
+		uint16 smallTag = newTag2Old(tag);
+		do {
+			if (_pos >= _size)
+				return 0;
+	
+			result = _ptr;
+			size = READ_LE_UINT32(result);
+			if ((int32)size <= 0)
+				return 0;	// Avoid endless loop
+			
+			_pos += size;
+			_ptr += size;
+		} while (READ_LE_UINT16(result + 4) != smallTag);
+	} else {
+		do {
+			if (_pos >= _size)
+				return 0;
+	
+			result = _ptr;
+			size = READ_BE_UINT32(result + 4);
+			if ((int32)size <= 0)
+				return 0;	// Avoid endless loop
+			
+			_pos += size;
+			_ptr += size;
+		} while (READ_UINT32(result) != tag);
+	}
+
+	return result;
+}
+
+const byte *findResource(uint32 tag, const byte *searchin) {
+	uint32 curpos, totalsize, size;
+
+	assert(searchin);
+
+	searchin += 4;
+	totalsize = READ_BE_UINT32(searchin);
+	curpos = 8;
+	searchin += 4;
+
+	while (curpos < totalsize) {
+		if (READ_UINT32(searchin) == tag)
+			return searchin;
+
+		size = READ_BE_UINT32(searchin + 4);
+		if ((int32)size <= 0) {
+			error("(%c%c%c%c) Not found in %d... illegal block len %d",
+						tag & 0xFF, (tag >> 8) & 0xFF, (tag >> 16) & 0xFF, (tag >> 24) & 0xFF, 0, size);
+			return NULL;
+		}
+
+		curpos += size;
+		searchin += size;
+	}
+
+	return NULL;
+}
+
+const byte *findResourceSmall(uint32 tag, const byte *searchin) {
+	uint32 curpos, totalsize, size;
+	uint16 smallTag;
+
+	smallTag = newTag2Old(tag);
+
+	assert(searchin);
+
+	totalsize = READ_LE_UINT32(searchin);
+	searchin += 6;
+	curpos = 6;
+
+	while (curpos < totalsize) {
+		size = READ_LE_UINT32(searchin);
+
+		if (READ_LE_UINT16(searchin + 4) == smallTag)
+			return searchin;
+
+		if ((int32)size <= 0) {
+			error("(%c%c%c%c) Not found in %d... illegal block len %d",
+						tag & 0xFF, (tag >> 8) & 0xFF, (tag >> 16) & 0xFF, (tag >> 24) & 0xFF, 0, size);
+			return NULL;
+		}
+
+		curpos += size;
+		searchin += size;
+	}
+
+	return NULL;
 }
 
 uint16 newTag2Old(uint32 oldTag) {





More information about the Scummvm-git-logs mailing list