[Scummvm-cvs-logs] CVS: scummvm/scumm akos.cpp,1.78,1.79 gfx.cpp,2.158,2.159 imuse.cpp,2.64,2.65 imuse_digi.cpp,1.16,1.17 object.cpp,1.121,1.122 resource.cpp,1.97,1.98 resource.h,1.3,1.4 saveload.cpp,1.88,1.89 script_v5.cpp,1.118,1.119 scummvm.cpp,2.241,2.242 sound.cpp,1.134,1.135 verbs.cpp,1.54,1.55

Max Horn fingolfin at users.sourceforge.net
Sat Jun 14 11:53:08 CEST 2003


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

Modified Files:
	akos.cpp gfx.cpp imuse.cpp imuse_digi.cpp object.cpp 
	resource.cpp resource.h saveload.cpp script_v5.cpp scummvm.cpp 
	sound.cpp verbs.cpp 
Log Message:
Patch #754151: Removed READ_*_UNALIGNED and always read stuff bytewise; augmented by some more changes of mine

Index: akos.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/akos.cpp,v
retrieving revision 1.78
retrieving revision 1.79
diff -u -d -r1.78 -r1.79
--- akos.cpp	7 Jun 2003 00:49:35 -0000	1.78
+++ akos.cpp	14 Jun 2003 18:52:29 -0000	1.79
@@ -255,7 +255,7 @@
 	if (code != AKC_ComplexChan) {
 		off = akof + (code & 0xFFF);
 
-		assert((code & 0xFFF) * 6 < READ_BE_UINT32_UNALIGNED((const byte *)akof - 4) - 8);
+		assert((code & 0xFFF) * 6 < READ_BE_UINT32((const byte *)akof - 4) - 8);
 		assert((code & 0x7000) == 0);
 
 		_srcptr = akcd + READ_LE_UINT32(&off->akcd);

Index: gfx.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/gfx.cpp,v
retrieving revision 2.158
retrieving revision 2.159
diff -u -d -r2.158 -r2.159
--- gfx.cpp	9 Jun 2003 01:32:36 -0000	2.158
+++ gfx.cpp	14 Jun 2003 18:52:29 -0000	2.159
@@ -2619,9 +2619,9 @@
 
 		ptr += 2;
 		cycl->counter = 0;
-		cycl->delay = 16384 / READ_BE_UINT16_UNALIGNED(ptr);
+		cycl->delay = 16384 / READ_BE_UINT16(ptr);
 		ptr += 2;
-		cycl->flags = READ_BE_UINT16_UNALIGNED(ptr);
+		cycl->flags = READ_BE_UINT16(ptr);
 		ptr += 2;
 		cycl->start = *ptr++;
 		cycl->end = *ptr++;

Index: imuse.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/imuse.cpp,v
retrieving revision 2.64
retrieving revision 2.65
diff -u -d -r2.64 -r2.65
--- imuse.cpp	12 Jun 2003 07:46:48 -0000	2.64
+++ imuse.cpp	14 Jun 2003 18:52:29 -0000	2.65
@@ -100,7 +100,7 @@
 	}
 
 	ptr += 8;
-	size = READ_BE_UINT32_UNALIGNED(ptr);
+	size = READ_BE_UINT32(ptr);
 	ptr += 4;
 
 	// Okay, we're looking for one of those things: either

Index: imuse_digi.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/imuse_digi.cpp,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- imuse_digi.cpp	14 Jun 2003 08:55:13 -0000	1.16
+++ imuse_digi.cpp	14 Jun 2003 18:52:29 -0000	1.17
@@ -803,7 +803,7 @@
 
 			uint32 tag, size = 0, r, t;
 
-			if (READ_UINT32_UNALIGNED(ptr) == MKID('Crea')) {
+			if (READ_UINT32(ptr) == MKID('Crea')) {
 				_channel[l]._bits = 8;
 				_channel[l]._channels = 2;
 				_channel[l]._mixerSize = (22050 / 5) * 2;
@@ -827,19 +827,19 @@
 				}
 				free(t_ptr);
 				_channel[l]._size = size;
-			} else if (READ_UINT32_UNALIGNED(ptr) == MKID('iMUS')) {
+			} else if (READ_UINT32(ptr) == MKID('iMUS')) {
 				ptr += 16;
 				for (;;) {
-					tag = READ_BE_UINT32_UNALIGNED(ptr); ptr += 4;
+					tag = READ_BE_UINT32(ptr); ptr += 4;
 					switch(tag) {
 						case MKID_BE('FRMT'):
 							ptr += 12;
-							_channel[l]._bits = READ_BE_UINT32_UNALIGNED(ptr); ptr += 4;
-							_channel[l]._freq = READ_BE_UINT32_UNALIGNED(ptr); ptr += 4;
-							_channel[l]._channels = READ_BE_UINT32_UNALIGNED(ptr); ptr += 4;
+							_channel[l]._bits = READ_BE_UINT32(ptr); ptr += 4;
+							_channel[l]._freq = READ_BE_UINT32(ptr); ptr += 4;
+							_channel[l]._channels = READ_BE_UINT32(ptr); ptr += 4;
 						break;
 						case MKID_BE('TEXT'):
-							size = READ_BE_UINT32_UNALIGNED(ptr); ptr += size + 4;
+							size = READ_BE_UINT32(ptr); ptr += size + 4;
 						break;
 						case MKID_BE('REGN'):
 							ptr += 4;
@@ -848,13 +848,13 @@
 								ptr += 8;
 								break;
 							}
-							_channel[l]._region[_channel[l]._numRegions]._offset = READ_BE_UINT32_UNALIGNED(ptr); ptr += 4;
-							_channel[l]._region[_channel[l]._numRegions]._length = READ_BE_UINT32_UNALIGNED(ptr); ptr += 4;
+							_channel[l]._region[_channel[l]._numRegions]._offset = READ_BE_UINT32(ptr); ptr += 4;
+							_channel[l]._region[_channel[l]._numRegions]._length = READ_BE_UINT32(ptr); ptr += 4;
 							_channel[l]._numRegions++;
 						break;
 						case MKID_BE('STOP'):
 							ptr += 4;
-							_channel[l]._offsetStop = READ_BE_UINT32_UNALIGNED(ptr); ptr += 4;
+							_channel[l]._offsetStop = READ_BE_UINT32(ptr); ptr += 4;
 						break;
 						case MKID_BE('JUMP'):
 							ptr += 4;
@@ -863,15 +863,15 @@
 								ptr += 16;
 								break;
 							}
-							_channel[l]._jump[_channel[l]._numJumps]._offset = READ_BE_UINT32_UNALIGNED(ptr); ptr += 4;
-							_channel[l]._jump[_channel[l]._numJumps]._dest = READ_BE_UINT32_UNALIGNED(ptr); ptr += 4;
-							_channel[l]._jump[_channel[l]._numJumps]._id = READ_BE_UINT32_UNALIGNED(ptr); ptr += 4;
-							_channel[l]._jump[_channel[l]._numJumps]._numLoops = READ_BE_UINT32_UNALIGNED(ptr); ptr += 4;
+							_channel[l]._jump[_channel[l]._numJumps]._offset = READ_BE_UINT32(ptr); ptr += 4;
+							_channel[l]._jump[_channel[l]._numJumps]._dest = READ_BE_UINT32(ptr); ptr += 4;
+							_channel[l]._jump[_channel[l]._numJumps]._id = READ_BE_UINT32(ptr); ptr += 4;
+							_channel[l]._jump[_channel[l]._numJumps]._numLoops = READ_BE_UINT32(ptr); ptr += 4;
 							_channel[l]._isJump = true;
 							_channel[l]._numJumps++;
 						break;
 						case MKID_BE('DATA'):
-							size = READ_BE_UINT32_UNALIGNED(ptr); ptr += 4;
+							size = READ_BE_UINT32(ptr); ptr += 4;
 						break;
 						default:
 							error("IMuseDigital::startSound(%d) Unknown sfx header %c%c%c%c", sound, (byte)(tag >> 24), (byte)(tag >> 16), (byte)(tag >> 8), (byte)tag);

Index: object.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/object.cpp,v
retrieving revision 1.121
retrieving revision 1.122
diff -u -d -r1.121 -r1.122
--- object.cpp	14 Jun 2003 12:23:30 -0000	1.121
+++ object.cpp	14 Jun 2003 18:52:29 -0000	1.122
@@ -973,7 +973,7 @@
 	if (whereIsObject(obj) == WIO_FLOBJECT) {
 		i = getObjectIndex(obj);
 		ptr = getResourceAddress(rtFlObject, _objs[i].fl_object_index) + 8;
-		size = READ_BE_UINT32_UNALIGNED(ptr + 4);
+		size = READ_BE_UINT32(ptr + 4);
 	} else {
 		findObjectInRoom(&foir, foCodeHeader, obj, room);
 		if (_features & GF_OLD_BUNDLE)
@@ -981,7 +981,7 @@
 		else if (_features & GF_SMALL_HEADER)
 			size = READ_LE_UINT32(foir.obcd);
 		else
-			size = READ_BE_UINT32_UNALIGNED(foir.obcd + 4);
+			size = READ_BE_UINT32(foir.obcd + 4);
 		ptr = foir.obcd;
 	}
 
@@ -1352,7 +1352,7 @@
 		if (dataptr == NULL)
 			error("setCursorImg: No such image");
 	
-		size = READ_BE_UINT32_UNALIGNED(dataptr + 4);
+		size = READ_BE_UINT32(dataptr + 4);
 		if (size > sizeof(_grabbedCursor))
 			error("setCursorImg: Cursor image too large");
 		
@@ -1628,10 +1628,10 @@
 	}
 
 	// Setup sizes
-	obcd_size = READ_BE_UINT32_UNALIGNED(foir.obcd + 4);
+	obcd_size = READ_BE_UINT32(foir.obcd + 4);
 	od->OBCDoffset = 8;
 	od->OBIMoffset = obcd_size + 8;
-	obim_size = READ_BE_UINT32_UNALIGNED(foir.obim + 4);
+	obim_size = READ_BE_UINT32(foir.obim + 4);
 	flob_size = obcd_size + obim_size + 8;
 
 	// Lock room/roomScripts for the given room. They contains the OBCD/OBIM

Index: resource.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/resource.cpp,v
retrieving revision 1.97
retrieving revision 1.98
diff -u -d -r1.97 -r1.98
--- resource.cpp	14 Jun 2003 08:57:56 -0000	1.97
+++ resource.cpp	14 Jun 2003 18:52:29 -0000	1.98
@@ -1366,7 +1366,7 @@
 	else if (_features & GF_SMALL_HEADER)
 		return READ_LE_UINT32(ptr) - 6;
 	else
-		return READ_BE_UINT32_UNALIGNED(ptr - 4) - 8;
+		return READ_BE_UINT32(ptr - 4) - 8;
 }
 
 struct FindResourceState {
@@ -1381,14 +1381,14 @@
 	FindResourceState *f = &frs;	/* easier to make it thread safe like this */
 
 	if (searchin) {
-		f->size = READ_BE_UINT32_UNALIGNED(searchin + 4);
+		f->size = READ_BE_UINT32(searchin + 4);
 		f->pos = 8;
 		f->ptr = searchin + 8;
 		goto StartScan;
 	}
 
 	do {
-		size = READ_BE_UINT32_UNALIGNED(f->ptr + 4);
+		size = READ_BE_UINT32(f->ptr + 4);
 		if ((int32)size <= 0)
 			return NULL;
 
@@ -1398,7 +1398,7 @@
 	StartScan:
 		if (f->pos >= f->size)
 			return NULL;
-	} while (READ_UINT32_UNALIGNED(f->ptr) != tag);
+	} while (READ_UINT32(f->ptr) != tag);
 
 	return f->ptr;
 }
@@ -1440,15 +1440,15 @@
 	assert(searchin);
 
 	searchin += 4;
-	totalsize = READ_BE_UINT32_UNALIGNED(searchin);
+	totalsize = READ_BE_UINT32(searchin);
 	curpos = 8;
 	searchin += 4;
 
 	while (curpos < totalsize) {
-		if (READ_UINT32_UNALIGNED(searchin) == tag && !idx--)
+		if (READ_UINT32(searchin) == tag && !idx--)
 			return searchin;
 
-		size = READ_BE_UINT32_UNALIGNED(searchin + 4);
+		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);

Index: resource.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/resource.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- resource.h	28 May 2003 20:01:45 -0000	1.3
+++ resource.h	14 Jun 2003 18:52:29 -0000	1.4
@@ -34,7 +34,7 @@
 #endif
 
 #define RES_DATA(x) (((const byte*)x) + sizeof(ResHdr))
-#define RES_SIZE(x) (READ_BE_UINT32_UNALIGNED(&((const ResHdr* )x)->size))
+#define RES_SIZE(x) (READ_BE_UINT32(&((const ResHdr* )x)->size))
 
 enum {
 	OF_OWNER_MASK = 0x0F,

Index: saveload.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/saveload.cpp,v
retrieving revision 1.88
retrieving revision 1.89
diff -u -d -r1.88 -r1.89
--- saveload.cpp	7 Jun 2003 00:13:24 -0000	1.88
+++ saveload.cpp	14 Jun 2003 18:52:29 -0000	1.89
@@ -99,7 +99,7 @@
 	// In older versions of ScummVM, the header version was not endian safe.
 	// We account for that by retrying once with swapped byte order.
 	if (hdr.ver > CURRENT_VER)
-		hdr.ver = SWAP_BYTES(hdr.ver);
+		hdr.ver = SWAP_BYTES_32(hdr.ver);
 	if (hdr.ver < VER_V7 || hdr.ver > CURRENT_VER)
 	{
 		warning("Invalid version of '%s'", filename);

Index: script_v5.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v5.cpp,v
retrieving revision 1.118
retrieving revision 1.119
diff -u -d -r1.118 -r1.119
--- script_v5.cpp	14 Jun 2003 12:23:30 -0000	1.118
+++ script_v5.cpp	14 Jun 2003 18:52:29 -0000	1.119
@@ -1951,17 +1951,17 @@
 		assert(searchin);
 	
 		searchin += 4;
-		totalsize = READ_BE_UINT32_UNALIGNED(searchin);
+		totalsize = READ_BE_UINT32(searchin);
 		curpos = 8;
 		searchin += 4;
 	
 		while (curpos < totalsize) {
-			if (READ_UINT32_UNALIGNED(searchin) == tag) {
+			if (READ_UINT32(searchin) == tag) {
 				name = searchin + _resourceHeaderSize;
 				break;
 			}
 	
-			size = READ_BE_UINT32_UNALIGNED(searchin + 4);
+			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);

Index: scummvm.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scummvm.cpp,v
retrieving revision 2.241
retrieving revision 2.242
diff -u -d -r2.241 -r2.242
--- scummvm.cpp	14 Jun 2003 13:39:03 -0000	2.241
+++ scummvm.cpp	14 Jun 2003 18:52:29 -0000	2.242
@@ -1780,7 +1780,7 @@
 	else if (_features & GF_SMALL_HEADER)
 		size = READ_LE_UINT32(ptr);
 	else
-		size = READ_BE_UINT32_UNALIGNED(ptr + 4);
+		size = READ_BE_UINT32(ptr + 4);
 
 #if defined(MACOS_CARBON)
 	sprintf(buf, ":dumps:%s%d.dmp", tag, idx);

Index: sound.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/sound.cpp,v
retrieving revision 1.134
retrieving revision 1.135
diff -u -d -r1.134 -r1.135
--- sound.cpp	13 Jun 2003 18:09:18 -0000	1.134
+++ sound.cpp	14 Jun 2003 18:52:29 -0000	1.135
@@ -180,17 +180,17 @@
 	debug(3,"playSound #%d (room %d)", soundID, _scumm->getResourceRoomNr(rtSound, soundID));
 	ptr = _scumm->getResourceAddress(rtSound, soundID);
 	if (ptr) {
-		if (READ_UINT32_UNALIGNED(ptr) == MKID('iMUS')){
+		if (READ_UINT32(ptr) == MKID('iMUS')){
 			assert(_scumm->_imuseDigital);
 			_scumm->_imuseDigital->startSound(soundID);
 			return;
 		}
-		else if (READ_UINT32_UNALIGNED(ptr) == MKID('Crea')) {
+		else if (READ_UINT32(ptr) == MKID('Crea')) {
 			assert(_scumm->_imuseDigital);
 			_scumm->_imuseDigital->startSound(soundID);
 			return;
 		}
-		else if (READ_UINT32_UNALIGNED(ptr) == MKID('SOUN')) {
+		else if (READ_UINT32(ptr) == MKID('SOUN')) {
 			ptr += 8;
 			_scumm->VAR(_scumm->VAR_MUSIC_TIMER) = 0;
 			playCDTrack(ptr[16], ptr[17] == 0xff ? -1 : ptr[17],
@@ -202,11 +202,11 @@
 		// Support for SFX in Monkey Island 1, Mac version
 		// This is rather hackish right now, but works OK. SFX are not sounding
 		// 100% correct, though, not sure right now what is causing this.
-		else if (READ_UINT32_UNALIGNED(ptr) == MKID('Mac1')) {
+		else if (READ_UINT32(ptr) == MKID('Mac1')) {
 
 			// Read info from the header
-			size = READ_BE_UINT32_UNALIGNED(ptr+0x60);
-			rate = READ_BE_UINT32_UNALIGNED(ptr+0x64) >> 16;
+			size = READ_BE_UINT32(ptr+0x60);
+			rate = READ_BE_UINT32(ptr+0x64) >> 16;
 
 			// Skip over the header (fixed size)
 			ptr += 0x72;
@@ -218,14 +218,14 @@
 			return;
 		}
 		// Support for Putt-Putt sounds - very hackish, too 8-)
-		else if (READ_UINT32_UNALIGNED(ptr) == MKID('DIGI')) {
+		else if (READ_UINT32(ptr) == MKID('DIGI')) {
 			// TODO - discover what data the first chunk, HSHD, contains
 			// it might be useful here.
-			ptr += 8 + READ_BE_UINT32_UNALIGNED(ptr+12);
-			if (READ_UINT32_UNALIGNED(ptr) != MKID('SDAT'))
+			ptr += 8 + READ_BE_UINT32(ptr+12);
+			if (READ_UINT32(ptr) != MKID('SDAT'))
 				return;	// abort
 
-			size = READ_BE_UINT32_UNALIGNED(ptr+4) - 8;
+			size = READ_BE_UINT32(ptr+4) - 8;
 			// FIXME - what value here ?!? 11025 is just a guess based on strings in w32 bin, prev guess 8000
 			rate = 11025;
 
@@ -236,16 +236,16 @@
 			return;
 		}
 		// XMIDI 
-		else if ((READ_UINT32_UNALIGNED(ptr) == MKID('MIDI')) && (_scumm->_features & GF_HUMONGOUS)) {
+		else if ((READ_UINT32(ptr) == MKID('MIDI')) && (_scumm->_features & GF_HUMONGOUS)) {
 			// Pass XMIDI on to IMuse unprocessed.
 			// IMuse can handle XMIDI resources now.
 		}
-		else if (READ_UINT32_UNALIGNED(ptr) == MKID('ADL ')) {
+		else if (READ_UINT32(ptr) == MKID('ADL ')) {
 			// played as MIDI, just to make perhaps the later use
 			// of WA possible (see "else if" with GF_OLD256 below)
 		}
 		// Support for sampled sound effects in Monkey1 and Monkey2
-		else if (READ_UINT32_UNALIGNED(ptr) == MKID('SBL ')) {
+		else if (READ_UINT32(ptr) == MKID('SBL ')) {
 			debug(2, "Using SBL sound effect");
 
 			// TODO - Figuring out how the SBL chunk works. Here's
@@ -283,12 +283,12 @@
 			// I'm going to assume that the sample frequency is
 			// the only important difference between the two.
 
-			if (READ_UINT32_UNALIGNED(ptr + 8) == MKID('WVhd'))
+			if (READ_UINT32(ptr + 8) == MKID('WVhd'))
 				rate = 11025;
 			else
 				rate = 8000;
 
-			size = READ_BE_UINT32_UNALIGNED(ptr + 4) - 27;
+			size = READ_BE_UINT32(ptr + 4) - 27;
 
 			// Allocate a sound buffer, copy the data into it, and play
 			sound = (char *)malloc(size);

Index: verbs.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/verbs.cpp,v
retrieving revision 1.54
retrieving revision 1.55
diff -u -d -r1.54 -r1.55
--- verbs.cpp	13 Jun 2003 09:24:00 -0000	1.54
+++ verbs.cpp	14 Jun 2003 18:52:29 -0000	1.55
@@ -558,7 +558,7 @@
 		}
 	} else {
 		findObjectInRoom(&foir, foImageHeader, object, room);
-		size = READ_BE_UINT32_UNALIGNED(foir.obim + 4);
+		size = READ_BE_UINT32(foir.obim + 4);
 		createResource(rtVerb, verb, size);
 		obimptr = getResourceAddress(rtRoom, room) - foir.roomptr + foir.obim;
 		memcpy(getResourceAddress(rtVerb, verb), obimptr, size);





More information about the Scummvm-git-logs mailing list