aboutsummaryrefslogtreecommitdiffstats
path: root/demos/3rdparty/doom/m_swap.c
diff options
context:
space:
mode:
Diffstat (limited to 'demos/3rdparty/doom/m_swap.c')
-rw-r--r--demos/3rdparty/doom/m_swap.c57
1 files changed, 57 insertions, 0 deletions
diff --git a/demos/3rdparty/doom/m_swap.c b/demos/3rdparty/doom/m_swap.c
new file mode 100644
index 00000000..1db93c86
--- /dev/null
+++ b/demos/3rdparty/doom/m_swap.c
@@ -0,0 +1,57 @@
+// Emacs style mode select -*- C++ -*-
+//-----------------------------------------------------------------------------
+//
+// $Id:$
+//
+// 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:$
+//
+// DESCRIPTION:
+// Endianess handling, swapping 16bit and 32bit.
+//
+//-----------------------------------------------------------------------------
+
+static const char
+rcsid[] = "$Id: m_bbox.c,v 1.1 1997/02/03 22:45:10 b1 Exp $";
+
+
+#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
+
+