diff --git a/src/m_swap.h b/src/m_swap.h index c1e5e39b7..faa54e0b2 100644 --- a/src/m_swap.h +++ b/src/m_swap.h @@ -44,4 +44,13 @@ #define MSBF_LONG SWAP_LONG #endif +// Big to little endian +#ifdef SRB2_LITTLE_ENDIAN + #define BIGENDIAN_LONG(x) ((INT32)(((x)>>24)&0xff)|(((x)<<8)&0xff0000)|(((x)>>8)&0xff00)|(((x)<<24)&0xff000000)) + #define BIGENDIAN_SHORT(x) ((INT16)(((x)>>8)|((x)<<8))) +#else + #define BIGENDIAN_LONG(x) ((INT32)(x)) + #define BIGENDIAN_SHORT(x) ((INT16)(x)) +#endif + #endif