]> icculus.org git repositories - btb/d2x.git/blob - include/byteswap.h
Allow use of 22K sound samples
[btb/d2x.git] / include / byteswap.h
1 /* $ Id: $ */
2 /*
3 THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
4 SOFTWARE CORPORATION ("PARALLAX").  PARALLAX, IN DISTRIBUTING THE CODE TO
5 END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A
6 ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS
7 IN USING, DISPLAYING,  AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
8 SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
9 FREE PURPOSES.  IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
10 CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES.  THE END-USER UNDERSTANDS
11 AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.
12 COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION.  ALL RIGHTS RESERVED.
13 */
14
15 #ifndef _BYTESWAP_H
16 #define _BYTESWAP_H
17
18 #include "pstypes.h"
19
20 #define SWAPSHORT(x) (((ubyte)(x) << 8) | (((ushort)(x)) >> 8))
21 #define SWAPINT(x)   (((x)<<24) | (((uint)(x)) >> 24) | (((x) &0x0000ff00) << 8) | (((x) & 0x00ff0000) >> 8))
22
23 #ifndef WORDS_BIGENDIAN
24 #define INTEL_INT(x)    x
25 #define INTEL_SHORT(x)  x
26 #else
27 #define INTEL_INT(x)    SWAPINT(x)
28 #define INTEL_SHORT(x)  SWAPSHORT(x)
29 #endif
30
31 #endif