diff options
author | Simon Howard | 2005-07-23 16:19:41 +0000 |
---|---|---|
committer | Simon Howard | 2005-07-23 16:19:41 +0000 |
commit | 66a2cc66d7504c9b64e1c461e62ad2a9d964fa95 (patch) | |
tree | 1e34ee102280a912989ec3084427850372348ebd /src/m_swap.c | |
download | chocolate-doom-66a2cc66d7504c9b64e1c461e62ad2a9d964fa95.tar.gz chocolate-doom-66a2cc66d7504c9b64e1c461e62ad2a9d964fa95.tar.bz2 chocolate-doom-66a2cc66d7504c9b64e1c461e62ad2a9d964fa95.zip |
Initial revision
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 4
Diffstat (limited to 'src/m_swap.c')
-rw-r--r-- | src/m_swap.c | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/src/m_swap.c b/src/m_swap.c new file mode 100644 index 00000000..9c9ef0f5 --- /dev/null +++ b/src/m_swap.c @@ -0,0 +1,60 @@ +// Emacs style mode select -*- C++ -*- +//----------------------------------------------------------------------------- +// +// $Id: m_swap.c 4 2005-07-23 16:19:41Z fraggle $ +// +// Copyright (C) 1993-1996 by id Software, Inc. +// +// This source is available for distribution and/or modification +// only under the terms of the DOOM Source Code License as +// published by id Software. All rights reserved. +// +// The source is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License +// for more details. +// +// $Log$ +// Revision 1.1 2005/07/23 16:19:58 fraggle +// Initial revision +// +// +// DESCRIPTION: +// Endianess handling, swapping 16bit and 32bit. +// +//----------------------------------------------------------------------------- + +static const char +rcsid[] = "$Id: m_swap.c 4 2005-07-23 16:19:41Z fraggle $"; + + +#ifdef __GNUG__ +#pragma implementation "m_swap.h" +#endif +#include "m_swap.h" + + +// Not needed with big endian. +#ifndef __BIG_ENDIAN__ + +// Swap 16bit, that is, MSB and LSB byte. +unsigned short SwapSHORT(unsigned short x) +{ + // No masking with 0xFF should be necessary. + return (x>>8) | (x<<8); +} + +// Swapping 32bit. +unsigned long SwapLONG( unsigned long x) +{ + return + (x>>24) + | ((x>>8) & 0xff00) + | ((x<<8) & 0xff0000) + | (x<<24); +} + + +#endif + + |