src/core/endian_func.hpp
branchnoai
changeset 11044 097ea3e7ec56
parent 10455 22c441f5adf9
child 11126 72d4c9314c72
--- a/src/core/endian_func.hpp	Sat Jun 21 13:35:29 2008 +0000
+++ b/src/core/endian_func.hpp	Sat Jun 21 13:40:17 2008 +0000
@@ -5,26 +5,11 @@
 #ifndef ENDIAN_FUNC_H
 #define ENDIAN_FUNC_H
 
+#include "endian_type.hpp"
 #include "bitmath_func.hpp"
 
-#if defined(ARM) || defined(__arm__) || defined(__alpha__)
-	#define OTTD_ALIGNMENT
-#endif
-
-/* Windows has always LITTLE_ENDIAN */
-#if defined(WIN32) || defined(__OS2__) || defined(WIN64)
-	#define TTD_LITTLE_ENDIAN
-#elif !defined(TESTING)
-	/* Else include endian[target/host].h, which has the endian-type, autodetected by the Makefile */
-	#if defined(STRGEN)
-		#include "endian_host.h"
-	#else
-		#include "endian_target.h"
-	#endif
-#endif /* WIN32 || __OS2__ || WIN64 */
-
 /* Setup alignment and conversion macros */
-#if defined(TTD_BIG_ENDIAN)
+#if TTD_ENDIAN == TTD_BIG_ENDIAN
 	#define FROM_BE16(x) (x)
 	#define FROM_BE32(x) (x)
 	#define TO_BE16(x)   (x)
@@ -46,7 +31,7 @@
 	#define TO_LE16(x)   (x)
 	#define TO_LE32(x)   (x)
 	#define TO_LE32X(x)  (x)
-#endif /* TTD_BIG_ENDIAN */
+#endif /* TTD_ENDIAN == TTD_BIG_ENDIAN */
 
 static inline uint16 ReadLE16Aligned(const void *x)
 {
@@ -55,11 +40,11 @@
 
 static inline uint16 ReadLE16Unaligned(const void *x)
 {
-#ifdef OTTD_ALIGNMENT
+#if OTTD_ALIGNMENT == 1
 	return ((const byte*)x)[0] | ((const byte*)x)[1] << 8;
 #else
 	return FROM_LE16(*(const uint16*)x);
-#endif
+#endif /* OTTD_ALIGNMENT == 1 */
 }
 
 #endif /* ENDIAN_FUNC_HPP */