Changeset - r3016:b28a60dfd364
[Not reviewed]
master
0 3 1
bjarni - 19 years ago 2006-02-12 14:31:33
bjarni@openttd.org
(svn r3596) -Codechange: [OSX] changed to use Apple's macros instead of OTTD macros for endian conversion
This increases the execution speed a lot since GCC can't detect the OTTD macro as an endian conversion
while Apple's code uses the instruction to convert endian instead of a series of instructions to produce the same result

Since we don't have that many endian conversions in the game, overall performance should not increase noteworthy
4 files changed with 30 insertions and 12 deletions:
0 comments (0 inline, 0 general)
music/qtmidi.c
Show inline comments
 
@@ -24,6 +24,10 @@
 
/*
 
 * OpenTTD includes.
 
 */
 
#define  WindowClass OSX_WindowClass
 
#include <QuickTime/QuickTime.h>
 
#undef   WindowClass
 

	
 
#include "../stdafx.h"
 
#include "../openttd.h"
 
#include "qtmidi.h"
 
@@ -32,19 +36,10 @@
 
 * System includes. We need to workaround with some defines because there's
 
 * stuff already defined in QuickTime headers.
 
 */
 
#define  bool        OSX_bool
 
#define  Rect        OSX_Rect
 
#define  Point       OSX_Point
 
#define  SL_ERROR    OSX_SL_ERROR
 
#define  WindowClass OSX_WindowClass
 
#define  OTTD_Random OSX_OTTD_Random
 
#include <CoreServices/CoreServices.h>
 
#include <QuickTime/QuickTime.h>
 
#undef   OTTD_Random
 
#undef   WindowClass
 
#undef   SL_ERROR
 
#undef   Point
 
#undef   Rect
 
#undef   bool
 

	
 
#include <assert.h>
os/macosx/osx_stdafx.h
Show inline comments
 
new file 100644
 
/* $Id$ */
 

	
 
#ifndef MACOS_STDAFX_H
 
#define MACOS_STDAFX_H
 

	
 
#include <CoreServices/CoreServices.h>
 
// remove the variables that CoreServices defines, but we define ourselves too
 
#undef bool
 
#undef false
 
#undef true
 

	
 
/* Name conflict */
 
#define Rect		OTTDRect
 
#define Point		OTTDPoint
 
#define GetTime		OTTDGetTime
 

	
 
#define SL_ERROR OSX_SL_ERROR
 

	
 
#endif /* MACOS_STDAFX_H */
stdafx.h
Show inline comments
 
@@ -52,8 +52,15 @@
 
# endif
 
#endif /* __MORPHOS__ */
 

	
 
#ifdef __APPLE__
 
#include "os/macosx/osx_stdafx.h"
 
// make endian swapping use Apple's macros to increase speed
 
#define BSWAP32(x) Endian32_Swap(x)
 
#define BSWAP16(x) Endian16_Swap(x)
 
#else
 
#define BSWAP32(x) ((((x) >> 24) & 0xFF) | (((x) >> 8) & 0xFF00) | (((x) << 8) & 0xFF0000) | (((x) << 24) & 0xFF000000))
 
#define BSWAP16(x) ((x) >> 8 | (x) << 8)
 
#endif
 

	
 
// by default we use [] var arrays
 
#define VARARRAY_SIZE
video/cocoa_v.m
Show inline comments
 
@@ -36,9 +36,6 @@ extern void HideMenuBar(void);
 
#endif
 

	
 

	
 
/* Name conflict */
 
#define Rect		OTTDRect
 
#define Point		OTTDPoint
 
/* Defined in ppc/param.h or i386/param.h included from sys/param.h */
 
#undef ALIGN
 
/* Defined in stdbool.h */
0 comments (0 inline, 0 general)