[Scummvm-cvs-logs] CVS: scummvm/common scummsys.h,1.36,1.37

Max Horn fingolfin at users.sourceforge.net
Sun Sep 21 11:16:10 CEST 2003


Update of /cvsroot/scummvm/scummvm/common
In directory sc8-pr-cvs1:/tmp/cvs-serv15786

Modified Files:
	scummsys.h 
Log Message:
added WRITE_LE/BE_16/32 functions to match our current READ_ funcs - useful in some places

Index: scummsys.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/common/scummsys.h,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -d -r1.36 -r1.37
--- scummsys.h	18 Sep 2003 18:22:15 -0000	1.36
+++ scummsys.h	21 Sep 2003 18:15:32 -0000	1.37
@@ -345,6 +345,18 @@
 		const byte *b = (const byte *)ptr;
 		return (b[3] << 24) + (b[2] << 16) + (b[1] << 8) + (b[0]);
 	}
+	FORCEINLINE void WRITE_LE_UINT16(void *ptr, uint16 value) {
+		byte *b = (byte *)ptr;
+		b[0] = (byte)(value >> 0);
+		b[1] = (byte)(value >> 8);
+	}
+	FORCEINLINE void WRITE_LE_UINT32(void *ptr, uint32 value) {
+		byte *b = (byte *)ptr;
+		b[0] = (byte)(value >>  0);
+		b[1] = (byte)(value >>  8);
+		b[2] = (byte)(value >> 16);
+		b[3] = (byte)(value >> 24);
+	}
 #else
 	FORCEINLINE uint16 READ_LE_UINT16(const void *ptr) {
 		return *(const uint16 *)(ptr);
@@ -352,6 +364,12 @@
 	FORCEINLINE uint32 READ_LE_UINT32(const void *ptr) {
 		return *(const uint32 *)(ptr);
 	}
+	FORCEINLINE void WRITE_LE_UINT16(void *ptr, uint16 value) {
+		*(uint16 *)(ptr) = value;
+	}
+	FORCEINLINE void WRITE_LE_UINT32(void *ptr, uint32 value) {
+		*(uint32 *)(ptr) = value;
+	}
 #endif
 
 
@@ -364,12 +382,30 @@
 		const byte *b = (const byte*)ptr;
 		return (b[0] << 24) + (b[1] << 16) + (b[2] << 8) + (b[3]);
 	}
+	FORCEINLINE void WRITE_BE_UINT16(void *ptr, uint16 value) {
+		byte *b = (byte *)ptr;
+		b[0] = (byte)(value >> 8);
+		b[1] = (byte)(value >> 0);
+	}
+	FORCEINLINE void WRITE_BE_UINT32(void *ptr, uint32 value) {
+		byte *b = (byte *)ptr;
+		b[0] = (byte)(value >> 24);
+		b[1] = (byte)(value >> 16);
+		b[2] = (byte)(value >>  8);
+		b[3] = (byte)(value >>  0);
+	}
 #else
 	FORCEINLINE uint16 READ_BE_UINT16(const void *ptr) {
 		return *(const uint16 *)(ptr);
 	}
 	FORCEINLINE uint32 READ_BE_UINT32(const void *ptr) {
 		return *(const uint32 *)(ptr);
+	}
+	FORCEINLINE void WRITE_BE_UINT16(void *ptr, uint16 value) {
+		*(uint16 *)(ptr) = value;
+	}
+	FORCEINLINE void WRITE_BE_UINT32(void *ptr, uint32 value) {
+		*(uint32 *)(ptr) = value;
 	}
 #endif
 





More information about the Scummvm-git-logs mailing list