[Scummvm-cvs-logs] SF.net SVN: scummvm: [30638] residual/trunk/common

aquadran at users.sourceforge.net aquadran at users.sourceforge.net
Sat Jan 26 11:17:53 CET 2008


Revision: 30638
          http://scummvm.svn.sourceforge.net/scummvm/?rev=30638&view=rev
Author:   aquadran
Date:     2008-01-26 02:17:52 -0800 (Sat, 26 Jan 2008)

Log Message:
-----------
renames bits.h -> platform.h, stdafx.h -> sys.h

Added Paths:
-----------
    residual/trunk/common/platform.h
    residual/trunk/common/sys.h

Removed Paths:
-------------
    residual/trunk/common/bits.h
    residual/trunk/common/stdafx.h

Deleted: residual/trunk/common/bits.h
===================================================================
--- residual/trunk/common/bits.h	2008-01-26 09:18:08 UTC (rev 30637)
+++ residual/trunk/common/bits.h	2008-01-26 10:17:52 UTC (rev 30638)
@@ -1,388 +0,0 @@
-/* Residual - Virtual machine to run LucasArts' 3D adventure games
- * Copyright (C) 2003-2006 The ScummVM-Residual Team (www.scummvm.org)
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
-
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
-
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
- *
- * $URL$
- * $Id$
- *
- */
-
-#ifndef BITS_H
-#define BITS_H
-
-#include "stdafx.h"
-#include "vector3d.h"
-
-#include <stdlib.h>
-#include <stdio.h>
-#ifndef __DC__
-#include <SDL_byteorder.h>
-#endif
-
-// Use config.h, generated by configure
-#if defined(HAVE_CONFIG_H)
-#include "config.h"
-#endif
-
-#ifndef PI
-#define PI 3.14159265358979323846
-#endif
-
-#define ARRAYSIZE(x) ((int)(sizeof(x) / sizeof(x[0])))
-
-template<typename T> inline T ABS (T x)			{ return (x>=0) ? x : -x; }
-template<typename T> inline T MIN (T a, T b)	{ return (a<b) ? a : b; }
-template<typename T> inline T MAX (T a, T b)	{ return (a>b) ? a : b; }
-
-#ifndef round
-#define round(x) ((x > 0.0) ? floor((x) + 0.5) : ceil((x) - 0.5))
-#endif
-
-#if defined(_MSC_VER)
-
-	#define snprintf _snprintf
-
-	#if defined(CHECK_HEAP)
-	#undef CHECK_HEAP
-	#define CHECK_HEAP checkHeap();
-	#else
-	#define CHECK_HEAP
-	#endif
-
-	#define SYSTEM_LITTLE_ENDIAN
-
-	#define FORCEINLINE __forceinline
-	#define NORETURN _declspec(noreturn)
-
-	typedef unsigned char byte;
-	typedef unsigned char uint8;
-	typedef unsigned short uint16;
-	typedef unsigned long uint32;
-	typedef unsigned int uint;
-	typedef signed char int8;
-	typedef signed short int16;
-	typedef signed long int32;
-	
-	#define START_PACK_STRUCTS pack(push, 1)
-	#define END_PACK_STRUCTS	 pack(pop)
-	#define GCC_PACK
-
-#elif defined(__MINGW32__)
-
-	#define CHECK_HEAP
-	#define SYSTEM_LITTLE_ENDIAN
-
-	#define NORETURN __attribute__((__noreturn__))
-	#define GCC_PACK __attribute__((packed))
-	#define _HEAPOK 0
-
-	typedef unsigned char byte;
-	typedef unsigned char uint8;
-	typedef unsigned short uint16;
-	typedef unsigned int uint32;
-	typedef unsigned int uint;
-	typedef signed char int8;
-	typedef signed short int16;
-	typedef signed int int32;
-
-	#define START_PACK_STRUCTS pack (push, 1)
-	#define END_PACK_STRUCTS	 pack(pop)
-
-#elif defined(UNIX)
-
-	#define CHECK_HEAP
-
-	#ifdef X11_BACKEND
-
-	// You need to set this manually if necessary
-//	#define SYSTEM_LITTLE_ENDIAN
-	
-	#else
-	/* need this for the SDL_BYTEORDER define */
-	#include <SDL_byteorder.h>
-
-	#if SDL_BYTEORDER == SDL_LIL_ENDIAN
-	#define SYSTEM_LITTLE_ENDIAN
-	#elif SDL_BYTEORDER == SDL_BIG_ENDIAN
-	#define SYSTEM_BIG_ENDIAN
-	#else
-	#error Neither SDL_BIG_ENDIAN nor SDL_LIL_ENDIAN is set.
-	#endif
-	#endif
-
-	// You need to set this manually if necessary
-//	#define SYSTEM_NEED_ALIGNMENT
-
-	#define FORCEINLINE inline
-	#define CDECL 
-
-	#ifndef HAVE_CONFIG_H
-	typedef unsigned char byte;
-	typedef unsigned char uint8;
-	typedef unsigned short uint16;
-	typedef unsigned int uint;
-	typedef unsigned int uint32;
-	typedef signed char int8;
-	typedef signed short int16;
-	typedef signed int int32;
-	#endif
-
-	#if defined(__DECCXX) // Assume alpha architecture
-	#define INVERSE_MKID
-	#define SYSTEM_NEED_ALIGNMENT
-	#endif
-
-	#if defined(__GNUC__)
-	#define START_PACK_STRUCTS
-	#define END_PACK_STRUCTS
-	#define GCC_PACK __attribute__((packed))
-	#define NORETURN __attribute__((__noreturn__)) 
-	#else
-	#define START_PACK_STRUCTS pack (1)
-	#define END_PACK_STRUCTS	 pack ()
-	#define GCC_PACK
-	#define NORETURN
-	#endif
-
-	#ifdef __FreeBSD__
-	#undef ROUND
-	#define ROUND(x) rint(x)
-	#endif
-
-	#if defined(__APPLE__) && defined(__MACH__)
-	#define MACOSX
-	#endif
-	
-#elif defined(__MORPHOS__)
-	#define scumm_stricmp stricmp
-	#define scumm_strnicmp strnicmp
-	#define CHECK_HEAP
-
-	#define SYSTEM_BIG_ENDIAN
-	#define SYSTEM_NEED_ALIGNMENT
-
-	#define FORCEINLINE inline
-	#define CDECL
-
-	typedef unsigned char byte;
-	typedef unsigned char uint8;
-	typedef unsigned short uint16;
-	typedef unsigned long uint32;
-	typedef unsigned int uint;
-	typedef signed char int8;
-	typedef signed short int16;
-	typedef signed long int32;
-
-	#if defined(__GNUC__)
-		#define START_PACK_STRUCTS
-		#define END_PACK_STRUCTS
-		#define GCC_PACK __attribute__((packed))
-		#define NORETURN __attribute__((__noreturn__))
-	#else
-		#define START_PACK_STRUCTS pack (1)
-		#define END_PACK_STRUCTS	 pack ()
-		#define GCC_PACK
-		#define NORETURN
-	#endif
-	#define main morphos_main
-
-#elif defined(__DC__)
-
-	#define CHECK_HEAP
-	#define SYSTEM_LITTLE_ENDIAN
-	#define SYSTEM_NEED_ALIGNMENT
-
-	#define FORCEINLINE inline
-	#define NORETURN __attribute__((__noreturn__))
-	#define GCC_PACK __attribute__((packed))
-	#define CDECL
-
-	typedef unsigned char byte;
-	typedef unsigned char uint8;
-	typedef unsigned short uint16;
-	typedef unsigned long uint32;
-	typedef unsigned int uint;
-	typedef signed char int8;
-	typedef signed short int16;
-	typedef signed long int32;
-
-	#define START_PACK_STRUCTS pack (push, 1)
-	#define END_PACK_STRUCTS	 pack(pop)
-
-#else
-	#error No system type defined
-#endif
-
-FORCEINLINE uint32 SWAP_BYTES_32(uint32 a) {
-	return ((a >> 24) & 0x000000FF) |
-		   ((a >>  8) & 0x0000FF00) |
-		   ((a <<  8) & 0x00FF0000) |
-		   ((a << 24) & 0xFF000000);
-}
-
-FORCEINLINE uint16 SWAP_BYTES_16(uint16 a) {
-	return ((a >> 8) & 0x00FF) + ((a << 8) & 0xFF00);
-}
-
-
-#if defined(SYSTEM_LITTLE_ENDIAN)
-
-	#define PROTO_MKID(a) ((uint32) \
-			(((a) >> 24) & 0x000000FF) | \
-			(((a) >>  8) & 0x0000FF00) | \
-			(((a) <<  8) & 0x00FF0000) | \
-			(((a) << 24) & 0xFF000000))
-	#define PROTO_MKID_BE(a) ((uint32)(a))
-
-	#if defined(INVERSE_MKID)
-	#  define MKID(a) PROTO_MKID_BE(a)
-	#  define MKID_BE(a) PROTO_MKID(a)
-	#else
-	#  define MKID(a) PROTO_MKID(a)
-	#  define MKID_BE(a) PROTO_MKID_BE(a)
-	#endif
-
-	#define READ_UINT32(a) READ_LE_UINT32(a)
-
-	#define FROM_LE_32(a) ((uint32)(a))
-	#define FROM_LE_16(a) ((uint16)(a))
-
-	#define TO_LE_32(a) ((uint32)(a))
-	#define TO_LE_16(a) ((uint16)(a))
-
-	#define TO_BE_32(a) SWAP_BYTES_32(a)
-	#define TO_BE_16(a) SWAP_BYTES_16(a)
-
-#elif defined(SYSTEM_BIG_ENDIAN)
-
-	#define MKID(a) ((uint32)(a))
-	#define MKID_BE(a) ((uint32)(a))
-
-	#define READ_UINT32(a) READ_BE_UINT32(a)
-
-	#define FROM_LE_32(a) SWAP_BYTES_32(a)
-	#define FROM_LE_16(a) SWAP_BYTES_16(a)
-
-	#define TO_LE_32(a) SWAP_BYTES_32(a)
-	#define TO_LE_16(a) SWAP_BYTES_16(a)
-
-	#define TO_BE_32(a) ((uint32)(a))
-	#define TO_BE_16(a) ((uint16)(a))
-
-#else
-
-	#error No endianness defined
-
-#endif
-
-
-#if defined(SYSTEM_NEED_ALIGNMENT) || defined(SYSTEM_BIG_ENDIAN)
-	FORCEINLINE uint16 READ_LE_UINT16(const void *ptr) {
-		const byte *b = (const byte *)ptr;
-		return (b[1] << 8) + b[0];
-	}
-	FORCEINLINE uint32 READ_LE_UINT32(const void *ptr) {
-		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);
-	}
-	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
-
-
-#if defined(SYSTEM_NEED_ALIGNMENT) || defined(SYSTEM_LITTLE_ENDIAN)
-	FORCEINLINE uint16 READ_BE_UINT16(const void *ptr) {
-		const byte *b = (const byte *)ptr;
-		return (b[0] << 8) + b[1];
-	}
-	FORCEINLINE uint32 READ_BE_UINT32(const void *ptr) {
-		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
-
-#if defined(SYSTEM_BIG_ENDIAN)
-
-inline float get_float(const char *data) {
-	const unsigned char *udata = reinterpret_cast<const unsigned char *>(data);
-	unsigned char fdata[4];
-	fdata[0] = udata[3];
-	fdata[1] = udata[2];
-	fdata[2] = udata[1];
-	fdata[3] = udata[0];
-	return *(reinterpret_cast<const float *>(fdata));
-}
-
-#else
-
-inline float get_float(const char *data) {
-	return *(reinterpret_cast<const float *>(data));
-}
-#endif
-
-inline Vector3d get_vector3d(const char *data) {
-	return Vector3d(get_float(data), get_float(data + 4), get_float(data + 8));
-}
-
-#endif

Copied: residual/trunk/common/platform.h (from rev 30637, residual/trunk/common/bits.h)
===================================================================
--- residual/trunk/common/platform.h	                        (rev 0)
+++ residual/trunk/common/platform.h	2008-01-26 10:17:52 UTC (rev 30638)
@@ -0,0 +1,388 @@
+/* Residual - Virtual machine to run LucasArts' 3D adventure games
+ * Copyright (C) 2003-2006 The ScummVM-Residual Team (www.scummvm.org)
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+ *
+ * $URL$
+ * $Id$
+ *
+ */
+
+#ifndef BITS_H
+#define BITS_H
+
+#include "stdafx.h"
+#include "vector3d.h"
+
+#include <stdlib.h>
+#include <stdio.h>
+#ifndef __DC__
+#include <SDL_byteorder.h>
+#endif
+
+// Use config.h, generated by configure
+#if defined(HAVE_CONFIG_H)
+#include "config.h"
+#endif
+
+#ifndef PI
+#define PI 3.14159265358979323846
+#endif
+
+#define ARRAYSIZE(x) ((int)(sizeof(x) / sizeof(x[0])))
+
+template<typename T> inline T ABS (T x)			{ return (x>=0) ? x : -x; }
+template<typename T> inline T MIN (T a, T b)	{ return (a<b) ? a : b; }
+template<typename T> inline T MAX (T a, T b)	{ return (a>b) ? a : b; }
+
+#ifndef round
+#define round(x) ((x > 0.0) ? floor((x) + 0.5) : ceil((x) - 0.5))
+#endif
+
+#if defined(_MSC_VER)
+
+	#define snprintf _snprintf
+
+	#if defined(CHECK_HEAP)
+	#undef CHECK_HEAP
+	#define CHECK_HEAP checkHeap();
+	#else
+	#define CHECK_HEAP
+	#endif
+
+	#define SYSTEM_LITTLE_ENDIAN
+
+	#define FORCEINLINE __forceinline
+	#define NORETURN _declspec(noreturn)
+
+	typedef unsigned char byte;
+	typedef unsigned char uint8;
+	typedef unsigned short uint16;
+	typedef unsigned long uint32;
+	typedef unsigned int uint;
+	typedef signed char int8;
+	typedef signed short int16;
+	typedef signed long int32;
+	
+	#define START_PACK_STRUCTS pack(push, 1)
+	#define END_PACK_STRUCTS	 pack(pop)
+	#define GCC_PACK
+
+#elif defined(__MINGW32__)
+
+	#define CHECK_HEAP
+	#define SYSTEM_LITTLE_ENDIAN
+
+	#define NORETURN __attribute__((__noreturn__))
+	#define GCC_PACK __attribute__((packed))
+	#define _HEAPOK 0
+
+	typedef unsigned char byte;
+	typedef unsigned char uint8;
+	typedef unsigned short uint16;
+	typedef unsigned int uint32;
+	typedef unsigned int uint;
+	typedef signed char int8;
+	typedef signed short int16;
+	typedef signed int int32;
+
+	#define START_PACK_STRUCTS pack (push, 1)
+	#define END_PACK_STRUCTS	 pack(pop)
+
+#elif defined(UNIX)
+
+	#define CHECK_HEAP
+
+	#ifdef X11_BACKEND
+
+	// You need to set this manually if necessary
+//	#define SYSTEM_LITTLE_ENDIAN
+	
+	#else
+	/* need this for the SDL_BYTEORDER define */
+	#include <SDL_byteorder.h>
+
+	#if SDL_BYTEORDER == SDL_LIL_ENDIAN
+	#define SYSTEM_LITTLE_ENDIAN
+	#elif SDL_BYTEORDER == SDL_BIG_ENDIAN
+	#define SYSTEM_BIG_ENDIAN
+	#else
+	#error Neither SDL_BIG_ENDIAN nor SDL_LIL_ENDIAN is set.
+	#endif
+	#endif
+
+	// You need to set this manually if necessary
+//	#define SYSTEM_NEED_ALIGNMENT
+
+	#define FORCEINLINE inline
+	#define CDECL 
+
+	#ifndef HAVE_CONFIG_H
+	typedef unsigned char byte;
+	typedef unsigned char uint8;
+	typedef unsigned short uint16;
+	typedef unsigned int uint;
+	typedef unsigned int uint32;
+	typedef signed char int8;
+	typedef signed short int16;
+	typedef signed int int32;
+	#endif
+
+	#if defined(__DECCXX) // Assume alpha architecture
+	#define INVERSE_MKID
+	#define SYSTEM_NEED_ALIGNMENT
+	#endif
+
+	#if defined(__GNUC__)
+	#define START_PACK_STRUCTS
+	#define END_PACK_STRUCTS
+	#define GCC_PACK __attribute__((packed))
+	#define NORETURN __attribute__((__noreturn__)) 
+	#else
+	#define START_PACK_STRUCTS pack (1)
+	#define END_PACK_STRUCTS	 pack ()
+	#define GCC_PACK
+	#define NORETURN
+	#endif
+
+	#ifdef __FreeBSD__
+	#undef ROUND
+	#define ROUND(x) rint(x)
+	#endif
+
+	#if defined(__APPLE__) && defined(__MACH__)
+	#define MACOSX
+	#endif
+	
+#elif defined(__MORPHOS__)
+	#define scumm_stricmp stricmp
+	#define scumm_strnicmp strnicmp
+	#define CHECK_HEAP
+
+	#define SYSTEM_BIG_ENDIAN
+	#define SYSTEM_NEED_ALIGNMENT
+
+	#define FORCEINLINE inline
+	#define CDECL
+
+	typedef unsigned char byte;
+	typedef unsigned char uint8;
+	typedef unsigned short uint16;
+	typedef unsigned long uint32;
+	typedef unsigned int uint;
+	typedef signed char int8;
+	typedef signed short int16;
+	typedef signed long int32;
+
+	#if defined(__GNUC__)
+		#define START_PACK_STRUCTS
+		#define END_PACK_STRUCTS
+		#define GCC_PACK __attribute__((packed))
+		#define NORETURN __attribute__((__noreturn__))
+	#else
+		#define START_PACK_STRUCTS pack (1)
+		#define END_PACK_STRUCTS	 pack ()
+		#define GCC_PACK
+		#define NORETURN
+	#endif
+	#define main morphos_main
+
+#elif defined(__DC__)
+
+	#define CHECK_HEAP
+	#define SYSTEM_LITTLE_ENDIAN
+	#define SYSTEM_NEED_ALIGNMENT
+
+	#define FORCEINLINE inline
+	#define NORETURN __attribute__((__noreturn__))
+	#define GCC_PACK __attribute__((packed))
+	#define CDECL
+
+	typedef unsigned char byte;
+	typedef unsigned char uint8;
+	typedef unsigned short uint16;
+	typedef unsigned long uint32;
+	typedef unsigned int uint;
+	typedef signed char int8;
+	typedef signed short int16;
+	typedef signed long int32;
+
+	#define START_PACK_STRUCTS pack (push, 1)
+	#define END_PACK_STRUCTS	 pack(pop)
+
+#else
+	#error No system type defined
+#endif
+
+FORCEINLINE uint32 SWAP_BYTES_32(uint32 a) {
+	return ((a >> 24) & 0x000000FF) |
+		   ((a >>  8) & 0x0000FF00) |
+		   ((a <<  8) & 0x00FF0000) |
+		   ((a << 24) & 0xFF000000);
+}
+
+FORCEINLINE uint16 SWAP_BYTES_16(uint16 a) {
+	return ((a >> 8) & 0x00FF) + ((a << 8) & 0xFF00);
+}
+
+
+#if defined(SYSTEM_LITTLE_ENDIAN)
+
+	#define PROTO_MKID(a) ((uint32) \
+			(((a) >> 24) & 0x000000FF) | \
+			(((a) >>  8) & 0x0000FF00) | \
+			(((a) <<  8) & 0x00FF0000) | \
+			(((a) << 24) & 0xFF000000))
+	#define PROTO_MKID_BE(a) ((uint32)(a))
+
+	#if defined(INVERSE_MKID)
+	#  define MKID(a) PROTO_MKID_BE(a)
+	#  define MKID_BE(a) PROTO_MKID(a)
+	#else
+	#  define MKID(a) PROTO_MKID(a)
+	#  define MKID_BE(a) PROTO_MKID_BE(a)
+	#endif
+
+	#define READ_UINT32(a) READ_LE_UINT32(a)
+
+	#define FROM_LE_32(a) ((uint32)(a))
+	#define FROM_LE_16(a) ((uint16)(a))
+
+	#define TO_LE_32(a) ((uint32)(a))
+	#define TO_LE_16(a) ((uint16)(a))
+
+	#define TO_BE_32(a) SWAP_BYTES_32(a)
+	#define TO_BE_16(a) SWAP_BYTES_16(a)
+
+#elif defined(SYSTEM_BIG_ENDIAN)
+
+	#define MKID(a) ((uint32)(a))
+	#define MKID_BE(a) ((uint32)(a))
+
+	#define READ_UINT32(a) READ_BE_UINT32(a)
+
+	#define FROM_LE_32(a) SWAP_BYTES_32(a)
+	#define FROM_LE_16(a) SWAP_BYTES_16(a)
+
+	#define TO_LE_32(a) SWAP_BYTES_32(a)
+	#define TO_LE_16(a) SWAP_BYTES_16(a)
+
+	#define TO_BE_32(a) ((uint32)(a))
+	#define TO_BE_16(a) ((uint16)(a))
+
+#else
+
+	#error No endianness defined
+
+#endif
+
+
+#if defined(SYSTEM_NEED_ALIGNMENT) || defined(SYSTEM_BIG_ENDIAN)
+	FORCEINLINE uint16 READ_LE_UINT16(const void *ptr) {
+		const byte *b = (const byte *)ptr;
+		return (b[1] << 8) + b[0];
+	}
+	FORCEINLINE uint32 READ_LE_UINT32(const void *ptr) {
+		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);
+	}
+	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
+
+
+#if defined(SYSTEM_NEED_ALIGNMENT) || defined(SYSTEM_LITTLE_ENDIAN)
+	FORCEINLINE uint16 READ_BE_UINT16(const void *ptr) {
+		const byte *b = (const byte *)ptr;
+		return (b[0] << 8) + b[1];
+	}
+	FORCEINLINE uint32 READ_BE_UINT32(const void *ptr) {
+		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
+
+#if defined(SYSTEM_BIG_ENDIAN)
+
+inline float get_float(const char *data) {
+	const unsigned char *udata = reinterpret_cast<const unsigned char *>(data);
+	unsigned char fdata[4];
+	fdata[0] = udata[3];
+	fdata[1] = udata[2];
+	fdata[2] = udata[1];
+	fdata[3] = udata[0];
+	return *(reinterpret_cast<const float *>(fdata));
+}
+
+#else
+
+inline float get_float(const char *data) {
+	return *(reinterpret_cast<const float *>(data));
+}
+#endif
+
+inline Vector3d get_vector3d(const char *data) {
+	return Vector3d(get_float(data), get_float(data + 4), get_float(data + 8));
+}
+
+#endif

Deleted: residual/trunk/common/stdafx.h
===================================================================
--- residual/trunk/common/stdafx.h	2008-01-26 09:18:08 UTC (rev 30637)
+++ residual/trunk/common/stdafx.h	2008-01-26 10:17:52 UTC (rev 30638)
@@ -1,131 +0,0 @@
-/* Residual - Virtual machine to run LucasArts' 3D adventure games
- * Copyright (C) 2003-2006 The ScummVM-Residual Team (www.scummvm.org)
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
-
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
-
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
- *
- * $URL$
- * $Id$
- *
- */
-
-#ifndef _STDAFX_H
-#define _STDAFX_H
-
-
-typedef struct Mutex *MutexRef;
-
-#ifndef _MSC_VER
-#include <unistd.h>
-#endif
-
-#if defined(WIN32)
-
-#ifdef _MSC_VER
-#pragma once
-#pragma warning( disable : 4068 ) // turn off "unknown pragma" warning
-#pragma warning( disable : 4244 ) // turn off "conversion type" warning
-#endif
-
-#if !defined(_WIN32_WCE)
-
-
-#define WIN32_LEAN_AND_MEAN		// Exclude rarely-used stuff from Windows headers
-#define NOGDICAPMASKS
-#define OEMRESOURCE
-#define NONLS
-#define NOICONS
-#define NOMCX
-#define NOPROFILER
-#define NOKANJI
-#define NOSERVICE
-#define NOMETAFILE
-#define NOCOMM
-#define NOCRYPT
-#define NOIME
-#define NOATOM
-#define NOCTLMGR
-#define NOCLIPBOARD
-#define NOMEMMGR
-#define NOSYSMETRICS
-#define NOMENUS
-#define NOOPENFILE
-#define NOWH
-#define NOSOUND
-#define NODRAWTEXT
-
-
-#endif
-
-
-#include <windows.h>
-#if defined(ARRAYSIZE)
-// VS2005beta2 introduces new stuff in winnt.h
-#undef ARRAYSIZE
-#endif
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <io.h>
-#include <stdarg.h>
-#include <fcntl.h>
-#include <conio.h>
-#include <assert.h>
-#include <mmsystem.h>
-#include <ctype.h>
-#include <winuser.h>
-#include <direct.h>
-#define strcasecmp stricmp
-#define M_PI 3.14159265358979323846
-
-#ifndef _MSC_VER
-#include <stdint.h>
-#include <dirent.h>
-#endif
-
-#else
-
-#if defined(__MORPHOS__)
-#include <devices/timer.h>
-#undef CMD_INVALID
-#endif
-#if !defined(macintosh)
-#include <sys/types.h>
-#if !defined(__DC__)
-#include <sys/uio.h>
-#endif
-#endif
-#if !defined (__BEOS__)
-#include <unistd.h>
-#endif
-#if defined(__QNXNTO__)
-#include <strings.h>	/* For strcasecmp */
-#endif
-#include <stdio.h>
-#include <fcntl.h>
-#include <stdlib.h>
-#include <string.h>
-#include <stdarg.h>
-#include <assert.h>
-#include <ctype.h>
-#if defined(__DC__)
-#include <ronin/cdfs.h>
-#else
-#include <dirent.h>
-#endif
-
-
-#endif
-
-#endif

Copied: residual/trunk/common/sys.h (from rev 30637, residual/trunk/common/stdafx.h)
===================================================================
--- residual/trunk/common/sys.h	                        (rev 0)
+++ residual/trunk/common/sys.h	2008-01-26 10:17:52 UTC (rev 30638)
@@ -0,0 +1,131 @@
+/* Residual - Virtual machine to run LucasArts' 3D adventure games
+ * Copyright (C) 2003-2006 The ScummVM-Residual Team (www.scummvm.org)
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+ *
+ * $URL$
+ * $Id$
+ *
+ */
+
+#ifndef _STDAFX_H
+#define _STDAFX_H
+
+
+typedef struct Mutex *MutexRef;
+
+#ifndef _MSC_VER
+#include <unistd.h>
+#endif
+
+#if defined(WIN32)
+
+#ifdef _MSC_VER
+#pragma once
+#pragma warning( disable : 4068 ) // turn off "unknown pragma" warning
+#pragma warning( disable : 4244 ) // turn off "conversion type" warning
+#endif
+
+#if !defined(_WIN32_WCE)
+
+
+#define WIN32_LEAN_AND_MEAN		// Exclude rarely-used stuff from Windows headers
+#define NOGDICAPMASKS
+#define OEMRESOURCE
+#define NONLS
+#define NOICONS
+#define NOMCX
+#define NOPROFILER
+#define NOKANJI
+#define NOSERVICE
+#define NOMETAFILE
+#define NOCOMM
+#define NOCRYPT
+#define NOIME
+#define NOATOM
+#define NOCTLMGR
+#define NOCLIPBOARD
+#define NOMEMMGR
+#define NOSYSMETRICS
+#define NOMENUS
+#define NOOPENFILE
+#define NOWH
+#define NOSOUND
+#define NODRAWTEXT
+
+
+#endif
+
+
+#include <windows.h>
+#if defined(ARRAYSIZE)
+// VS2005beta2 introduces new stuff in winnt.h
+#undef ARRAYSIZE
+#endif
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <io.h>
+#include <stdarg.h>
+#include <fcntl.h>
+#include <conio.h>
+#include <assert.h>
+#include <mmsystem.h>
+#include <ctype.h>
+#include <winuser.h>
+#include <direct.h>
+#define strcasecmp stricmp
+#define M_PI 3.14159265358979323846
+
+#ifndef _MSC_VER
+#include <stdint.h>
+#include <dirent.h>
+#endif
+
+#else
+
+#if defined(__MORPHOS__)
+#include <devices/timer.h>
+#undef CMD_INVALID
+#endif
+#if !defined(macintosh)
+#include <sys/types.h>
+#if !defined(__DC__)
+#include <sys/uio.h>
+#endif
+#endif
+#if !defined (__BEOS__)
+#include <unistd.h>
+#endif
+#if defined(__QNXNTO__)
+#include <strings.h>	/* For strcasecmp */
+#endif
+#include <stdio.h>
+#include <fcntl.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdarg.h>
+#include <assert.h>
+#include <ctype.h>
+#if defined(__DC__)
+#include <ronin/cdfs.h>
+#else
+#include <dirent.h>
+#endif
+
+
+#endif
+
+#endif


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