Files
@ r11049:6eb2c87ed64a
Branch filter:
Location: cpp/openttd-patchpack/source/src/core/endian_func.hpp - annotation
r11049:6eb2c87ed64a
1.2 KiB
text/x-c++hdr
(svn r15389) -Feature: Add ability to select which base graphics set is used from the Game Options window. The change takes effect when the window is closed. This option can only be used from the intro menu, as reloading graphics during a game may cause issues.
r8113:7815c26d7612 r8113:7815c26d7612 r9111:983de9c5a848 r8113:7815c26d7612 r8113:7815c26d7612 r8113:7815c26d7612 r8113:7815c26d7612 r9543:54a9c0376831 r8132:f5cfeb0d46c0 r8132:f5cfeb0d46c0 r8132:f5cfeb0d46c0 r9543:54a9c0376831 r8133:beb8760dad9b r8132:f5cfeb0d46c0 r8132:f5cfeb0d46c0 r8133:beb8760dad9b r8133:beb8760dad9b r8133:beb8760dad9b r8133:beb8760dad9b r8133:beb8760dad9b r8133:beb8760dad9b r8132:f5cfeb0d46c0 r8132:f5cfeb0d46c0 r8133:beb8760dad9b r8133:beb8760dad9b r8133:beb8760dad9b r8133:beb8760dad9b r8132:f5cfeb0d46c0 r8133:beb8760dad9b r8133:beb8760dad9b r8133:beb8760dad9b r8133:beb8760dad9b r8132:f5cfeb0d46c0 r9543:54a9c0376831 r8132:f5cfeb0d46c0 r9575:665324c39b56 r8113:7815c26d7612 r8113:7815c26d7612 r8113:7815c26d7612 r8113:7815c26d7612 r9575:665324c39b56 r8113:7815c26d7612 r9543:54a9c0376831 r8113:7815c26d7612 r8113:7815c26d7612 r8113:7815c26d7612 r9543:54a9c0376831 r8113:7815c26d7612 r8113:7815c26d7612 r8132:f5cfeb0d46c0 | /* $Id$ */
/** @file endian_func.hpp Function to handling different endian machines. */
#ifndef ENDIAN_FUNC_H
#define ENDIAN_FUNC_H
#include "endian_type.hpp"
#include "bitmath_func.hpp"
/* Setup alignment and conversion macros */
#if TTD_ENDIAN == TTD_BIG_ENDIAN
#define FROM_BE16(x) (x)
#define FROM_BE32(x) (x)
#define TO_BE16(x) (x)
#define TO_BE32(x) (x)
#define TO_BE32X(x) (x)
#define FROM_LE16(x) BSWAP16(x)
#define FROM_LE32(x) BSWAP32(x)
#define TO_LE16(x) BSWAP16(x)
#define TO_LE32(x) BSWAP32(x)
#define TO_LE32X(x) BSWAP32(x)
#else
#define FROM_BE16(x) BSWAP16(x)
#define FROM_BE32(x) BSWAP32(x)
#define TO_BE16(x) BSWAP16(x)
#define TO_BE32(x) BSWAP32(x)
#define TO_BE32X(x) BSWAP32(x)
#define FROM_LE16(x) (x)
#define FROM_LE32(x) (x)
#define TO_LE16(x) (x)
#define TO_LE32(x) (x)
#define TO_LE32X(x) (x)
#endif /* TTD_ENDIAN == TTD_BIG_ENDIAN */
static FORCEINLINE uint16 ReadLE16Aligned(const void *x)
{
return FROM_LE16(*(const uint16*)x);
}
static FORCEINLINE uint16 ReadLE16Unaligned(const void *x)
{
#if OTTD_ALIGNMENT == 1
return ((const byte*)x)[0] | ((const byte*)x)[1] << 8;
#else
return FROM_LE16(*(const uint16*)x);
#endif /* OTTD_ALIGNMENT == 1 */
}
#endif /* ENDIAN_FUNC_HPP */
|