[Scummvm-cvs-logs] SF.net SVN: scummvm: [22548] scummvm/trunk/engines/scumm/he

fingolfin at users.sourceforge.net fingolfin at users.sourceforge.net
Sat May 20 08:10:02 CEST 2006


Revision: 22548
Author:   fingolfin
Date:     2006-05-20 08:09:15 -0700 (Sat, 20 May 2006)
ViewCVS:  http://svn.sourceforge.net/scummvm/?rev=22548&view=rev

Log Message:
-----------
Pass values by-reference, using C++ references, and not by using pointers

Modified Paths:
--------------
    scummvm/trunk/engines/scumm/he/resource_he.cpp
    scummvm/trunk/engines/scumm/he/resource_he.h
Modified: scummvm/trunk/engines/scumm/he/resource_he.cpp
===================================================================
--- scummvm/trunk/engines/scumm/he/resource_he.cpp	2006-05-20 15:02:39 UTC (rev 22547)
+++ scummvm/trunk/engines/scumm/he/resource_he.cpp	2006-05-20 15:09:15 UTC (rev 22548)
@@ -1310,13 +1310,13 @@
 
 	// we haven't calculated it
 	if (_resOffset == -1) {
-		if (!init(&in))
+		if (!init(in))
 			error("Resource fork is missing in file '%s'", _fileName.c_str());
 		in.close();
 		in.open(_fileName);
 	}
 
-	*buf = getResource(&in, "crsr", 1000 + id, &size);
+	*buf = getResource(in, "crsr", 1000 + id, &size);
 
 	in.close();
 
@@ -1335,14 +1335,14 @@
 #define MBI_RFLEN 87
 #define MAXNAMELEN 63
 
-bool MacResExtractor::init(Common::File *in) {
+bool MacResExtractor::init(Common::File &in) {
 	byte infoHeader[MBI_INFOHDR];
 	int32 data_size, rsrc_size;
 	int32 data_size_pad, rsrc_size_pad;
 	int filelen;
 
-	filelen = in->size();
-	in->read(infoHeader, MBI_INFOHDR);
+	filelen = in.size();
+	in.read(infoHeader, MBI_INFOHDR);
 
 	// Maybe we have MacBinary?
 	if (infoHeader[MBI_ZERO1] == 0 && infoHeader[MBI_ZERO2] == 0 &&
@@ -1365,12 +1365,12 @@
 	if (_resOffset == -1) // MacBinary check is failed
 		_resOffset = 0; // Maybe we have dumped fork?
 
-	in->seek(_resOffset);
+	in.seek(_resOffset);
 
-	_dataOffset = in->readUint32BE() + _resOffset;
-	_mapOffset = in->readUint32BE() + _resOffset;
-	_dataLength = in->readUint32BE();
-	_mapLength = in->readUint32BE();
+	_dataOffset = in.readUint32BE() + _resOffset;
+	_mapOffset = in.readUint32BE() + _resOffset;
+	_dataLength = in.readUint32BE();
+	_mapLength = in.readUint32BE();
 
 	// do sanity check
 	if (_dataOffset >= filelen || _mapOffset >= filelen ||
@@ -1387,7 +1387,7 @@
 	return true;
 }
 
-byte *MacResExtractor::getResource(Common::File *in, const char *typeID, int16 resID, int *size) {
+byte *MacResExtractor::getResource(Common::File &in, const char *typeID, int16 resID, int *size) {
 	int i;
 	int typeNum = -1;
 	int resNum = -1;
@@ -1412,37 +1412,37 @@
 	if (resNum == -1)
 		return NULL;
 
-	in->seek(_dataOffset + _resLists[typeNum][resNum].dataOffset);
+	in.seek(_dataOffset + _resLists[typeNum][resNum].dataOffset);
 
-	len = in->readUint32BE();
+	len = in.readUint32BE();
 	buf = (byte *)malloc(len);
 
-	in->read(buf, len);
+	in.read(buf, len);
 
 	*size = len;
 
 	return buf;
 }
 
-void MacResExtractor::readMap(Common::File *in) {
+void MacResExtractor::readMap(Common::File &in) {
 	int	i, j, len;
 
-	in->seek(_mapOffset + 22);
+	in.seek(_mapOffset + 22);
 
-	_resMap.resAttr = in->readUint16BE();
-	_resMap.typeOffset = in->readUint16BE();
-	_resMap.nameOffset = in->readUint16BE();
-	_resMap.numTypes = in->readUint16BE();
+	_resMap.resAttr = in.readUint16BE();
+	_resMap.typeOffset = in.readUint16BE();
+	_resMap.nameOffset = in.readUint16BE();
+	_resMap.numTypes = in.readUint16BE();
 	_resMap.numTypes++;
 
-	in->seek(_mapOffset + _resMap.typeOffset + 2);
+	in.seek(_mapOffset + _resMap.typeOffset + 2);
 	_resTypes = new ResType[_resMap.numTypes];
 
 	for (i = 0; i < _resMap.numTypes; i++) {
-		in->read(_resTypes[i].id, 4);
+		in.read(_resTypes[i].id, 4);
 		_resTypes[i].id[4] = 0;
-		_resTypes[i].items = in->readUint16BE();
-		_resTypes[i].offset = in->readUint16BE();
+		_resTypes[i].items = in.readUint16BE();
+		_resTypes[i].offset = in.readUint16BE();
 		_resTypes[i].items++;
 	}
 
@@ -1450,15 +1450,15 @@
 
 	for (i = 0; i < _resMap.numTypes; i++) {
 		_resLists[i] = new Resource[_resTypes[i].items];
-		in->seek(_resTypes[i].offset + _mapOffset + _resMap.typeOffset);
+		in.seek(_resTypes[i].offset + _mapOffset + _resMap.typeOffset);
 
 		for (j = 0; j < _resTypes[i].items; j++) {
 			ResPtr resPtr = _resLists[i] + j;
 
-			resPtr->id = in->readUint16BE();
-			resPtr->nameOffset = in->readUint16BE();
-			resPtr->dataOffset = in->readUint32BE();
-			in->readUint32BE();
+			resPtr->id = in.readUint16BE();
+			resPtr->nameOffset = in.readUint16BE();
+			resPtr->dataOffset = in.readUint32BE();
+			in.readUint32BE();
 			resPtr->name = 0;
 
 			resPtr->attr = resPtr->dataOffset >> 24;
@@ -1467,12 +1467,12 @@
 
 		for (j = 0; j < _resTypes[i].items; j++) {
 			if (_resLists[i][j].nameOffset != -1) {
-				in->seek(_resLists[i][j].nameOffset + _mapOffset + _resMap.nameOffset);
+				in.seek(_resLists[i][j].nameOffset + _mapOffset + _resMap.nameOffset);
 
-				len = in->readByte();
+				len = in.readByte();
 				_resLists[i][j].name = new byte[len + 1];
 				_resLists[i][j].name[len] = 0;
-				in->read(_resLists[i][j].name, len);
+				in.read(_resLists[i][j].name, len);
 			}
 		}
 	}

Modified: scummvm/trunk/engines/scumm/he/resource_he.h
===================================================================
--- scummvm/trunk/engines/scumm/he/resource_he.h	2006-05-20 15:02:39 UTC (rev 22547)
+++ scummvm/trunk/engines/scumm/he/resource_he.h	2006-05-20 15:09:15 UTC (rev 22548)
@@ -511,9 +511,9 @@
 
 private:
 	int extractResource(int id, byte **buf);
-	bool init(Common::File *in);
-	void readMap(Common::File *in);
-	byte *getResource(Common::File *in, const char *typeID, int16 resID, int *size);
+	bool init(Common::File &in);
+	void readMap(Common::File &in);
+	byte *getResource(Common::File &in, const char *typeID, int16 resID, int *size);
 	int convertIcons(byte *data, int datasize, byte **cursor, int *w, int *h,
 			 int *hotspot_x, int *hotspot_y, int *keycolor, byte **palette, int *palSize);
 


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.





More information about the Scummvm-git-logs mailing list