shithub: choc

Download patch

ref: 3fcdb6dc1835c87655ae45a1d362dc8b09f6849c
parent: a78ddf0ecadb3580f5f09b09a931abc5734b7f33
author: Simon Howard <fraggle@gmail.com>
date: Wed Jan 4 21:48:03 EST 2006

Fixes for big endian machines (thanks locust)

Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 255

--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,6 @@
 
+    Fixes for big endian machines (thanks locust)
+
 0.1.2 (2005-10-29):
 
     Silence sounds at odd sample rates (rather than bombing out); this
--- a/configure.in
+++ b/configure.in
@@ -45,6 +45,8 @@
 
 AC_SUBST(ac_aux_dir)
 
+AC_C_BIGENDIAN
+
 AC_OUTPUT([
 Makefile
 textscreen/Makefile
--- a/src/m_swap.c
+++ b/src/m_swap.c
@@ -1,7 +1,7 @@
 // Emacs style mode select   -*- C++ -*- 
 //-----------------------------------------------------------------------------
 //
-// $Id: m_swap.c 18 2005-07-23 18:56:07Z fraggle $
+// $Id: m_swap.c 255 2006-01-05 02:48:03Z fraggle $
 //
 // Copyright(C) 1993-1996 Id Software, Inc.
 // Copyright(C) 2005 Simon Howard
@@ -22,6 +22,9 @@
 // 02111-1307, USA.
 //
 // $Log$
+// Revision 1.4  2006/01/05 02:48:03  fraggle
+// Fixes for big endian machines (thanks locust)
+//
 // Revision 1.3  2005/07/23 18:56:07  fraggle
 // Remove unneccessary pragmas
 //
@@ -38,7 +41,7 @@
 //-----------------------------------------------------------------------------
 
 static const char
-rcsid[] = "$Id: m_swap.c 18 2005-07-23 18:56:07Z fraggle $";
+rcsid[] = "$Id: m_swap.c 255 2006-01-05 02:48:03Z fraggle $";
 
 
 #include "m_swap.h"
@@ -45,7 +48,7 @@
 
 
 // Not needed with big endian.
-#ifndef __BIG_ENDIAN__
+#ifndef WORDS_BIGENDIAN
 
 // Swap 16bit, that is, MSB and LSB byte.
 unsigned short SwapSHORT(unsigned short x)
--- a/src/m_swap.h
+++ b/src/m_swap.h
@@ -1,7 +1,7 @@
 // Emacs style mode select   -*- C++ -*- 
 //-----------------------------------------------------------------------------
 //
-// $Id: m_swap.h 75 2005-09-05 22:50:56Z fraggle $
+// $Id: m_swap.h 255 2006-01-05 02:48:03Z fraggle $
 //
 // Copyright(C) 1993-1996 Id Software, Inc.
 // Copyright(C) 2005 Simon Howard
@@ -35,7 +35,7 @@
 
 // Endianess handling.
 // WAD files are stored little endian.
-#ifdef __BIG_ENDIAN__
+#ifdef WORDS_BIGENDIAN
 short	SwapSHORT(short);
 long	SwapLONG(long);
 #define SHORT(x)	((short)SwapSHORT((unsigned short) (x)))
@@ -43,10 +43,6 @@
 #else
 #define SHORT(x)	(x)
 #define LONG(x)         (x)
-#define doom_wtohs(x)   ((short int) (x))
-#define doom_htows(x)   ((short int) (x))
-#define doom_wtohl(x)   ((long int) (x))
-#define doom_htowl(x)   ((long int) (x))
 #endif
 
 
@@ -56,6 +52,9 @@
 //-----------------------------------------------------------------------------
 //
 // $Log$
+// Revision 1.5  2006/01/05 02:48:03  fraggle
+// Fixes for big endian machines (thanks locust)
+//
 // Revision 1.4  2005/09/05 22:50:56  fraggle
 // Add mmus2mid code from prboom.  Use 'void *' for music handles.  Pass
 // length of data when registering music.
--- a/src/mmus2mid.c
+++ b/src/mmus2mid.c
@@ -1,7 +1,7 @@
 // Emacs style mode select   -*- C++ -*- 
 //-----------------------------------------------------------------------------
 //
-// $Id: mmus2mid.c 76 2005-09-06 21:06:45Z fraggle $
+// $Id: mmus2mid.c 255 2006-01-05 02:48:03Z fraggle $
 //
 // Copyright(C) 1993-1996 Id Software, Inc.
 //  Copyright (C) 1999 by
@@ -27,6 +27,9 @@
 // 02111-1307, USA.
 //
 // $Log$
+// Revision 1.3  2006/01/05 02:48:03  fraggle
+// Fixes for big endian machines (thanks locust)
+//
 // Revision 1.2  2005/09/06 21:06:45  fraggle
 // Newer versions of mmus2mid.c,h from prboom
 //
@@ -340,11 +343,11 @@
   // copy the MUS header from the MUS buffer to the MUSh header structure
 
   memcpy(&MUSh,mus,sizeof(MUSheader));
-  MUSh.ScoreLength = doom_wtohs(MUSh.ScoreLength);
-  MUSh.ScoreStart  = doom_wtohs(MUSh.ScoreStart);
-  MUSh.channels    = doom_wtohs(MUSh.channels);
-  MUSh.SecChannels = doom_wtohs(MUSh.SecChannels);
-  MUSh.InstrCnt    = doom_wtohs(MUSh.InstrCnt);
+  MUSh.ScoreLength = SHORT(MUSh.ScoreLength);
+  MUSh.ScoreStart  = SHORT(MUSh.ScoreStart);
+  MUSh.channels    = SHORT(MUSh.channels);
+  MUSh.SecChannels = SHORT(MUSh.SecChannels);
+  MUSh.InstrCnt    = SHORT(MUSh.InstrCnt);
 
   // check some things and set length of MUS buffer from internal data