summaryrefslogtreecommitdiff
path: root/src/core/endian_func.hpp
diff options
context:
space:
mode:
authorsmatz <smatz@openttd.org>2008-06-17 19:38:00 +0000
committersmatz <smatz@openttd.org>2008-06-17 19:38:00 +0000
commitcf489a25b0a826f616bf958e3e6e172944016c02 (patch)
treeb271027ea798874acb1d7592eb84626b079887e9 /src/core/endian_func.hpp
parent4e2e07874345f45bd0c640f94c73dfe9dafa4956 (diff)
downloadopenttd-cf489a25b0a826f616bf958e3e6e172944016c02.tar.xz
(svn r13552) -Codechange: use TTD_ENDIAN comparations instead of tests if TTD_[BIG/LITTLE]_ENDIAN is defined
Diffstat (limited to 'src/core/endian_func.hpp')
-rw-r--r--src/core/endian_func.hpp25
1 files changed, 5 insertions, 20 deletions
diff --git a/src/core/endian_func.hpp b/src/core/endian_func.hpp
index 71b81059c..9032b4cef 100644
--- a/src/core/endian_func.hpp
+++ b/src/core/endian_func.hpp
@@ -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 ReadLE16Aligned(const void *x)
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 */