Changeset - r24313:2bdedaa009a4
[Not reviewed]
master
0 13 0
TechGeekNZ - 4 years ago 2020-07-02 21:36:10
git@tech.geek.nz
Fix: Globally apply preprocessor directive coding style

Global; except for the 32-bit SSE blitter, which has some #DEFINEs
in not-very-nice places.
13 files changed with 192 insertions and 192 deletions:
0 comments (0 inline, 0 general)
src/core/endian_func.hpp
Show inline comments
 
@@ -15,27 +15,27 @@
 

	
 
/* Setup alignment and conversion macros */
 
#if TTD_ENDIAN == TTD_BIG_ENDIAN
 
	#define FROM_BE16(x) (x)
 
	#define FROM_BE32(x) (x)
 
	#define TO_BE16(x)   (x)
 
	#define TO_BE32(x)   (x)
 
	#define TO_BE32X(x)  (x)
 
	#define FROM_LE16(x) BSWAP16(x)
 
	#define FROM_LE32(x) BSWAP32(x)
 
	#define TO_LE16(x)   BSWAP16(x)
 
	#define TO_LE32(x)   BSWAP32(x)
 
	#define TO_LE32X(x)  BSWAP32(x)
 
#	define FROM_BE16(x) (x)
 
#	define FROM_BE32(x) (x)
 
#	define TO_BE16(x)   (x)
 
#	define TO_BE32(x)   (x)
 
#	define TO_BE32X(x)  (x)
 
#	define FROM_LE16(x) BSWAP16(x)
 
#	define FROM_LE32(x) BSWAP32(x)
 
#	define TO_LE16(x)   BSWAP16(x)
 
#	define TO_LE32(x)   BSWAP32(x)
 
#	define TO_LE32X(x)  BSWAP32(x)
 
#else
 
	#define FROM_BE16(x) BSWAP16(x)
 
	#define FROM_BE32(x) BSWAP32(x)
 
	#define TO_BE16(x)   BSWAP16(x)
 
	#define TO_BE32(x)   BSWAP32(x)
 
	#define TO_BE32X(x)  BSWAP32(x)
 
	#define FROM_LE16(x) (x)
 
	#define FROM_LE32(x) (x)
 
	#define TO_LE16(x)   (x)
 
	#define TO_LE32(x)   (x)
 
	#define TO_LE32X(x)  (x)
 
#	define FROM_BE16(x) BSWAP16(x)
 
#	define FROM_BE32(x) BSWAP32(x)
 
#	define TO_BE16(x)   BSWAP16(x)
 
#	define TO_BE32(x)   BSWAP32(x)
 
#	define TO_BE32X(x)  BSWAP32(x)
 
#	define FROM_LE16(x) (x)
 
#	define FROM_LE32(x) (x)
 
#	define TO_LE16(x)   (x)
 
#	define TO_LE32(x)   (x)
 
#	define TO_LE32X(x)  (x)
 
#endif /* TTD_ENDIAN == TTD_BIG_ENDIAN */
 

	
 
static inline uint16 ReadLE16Aligned(const void *x)
src/core/endian_type.hpp
Show inline comments
 
@@ -12,10 +12,10 @@
 

	
 
#if defined(ARM) || defined(__arm__) || defined(__alpha__)
 
	/** The architecture requires aligned access. */
 
	#define OTTD_ALIGNMENT 1
 
#	define OTTD_ALIGNMENT 1
 
#else
 
	/** The architecture does not require aligned access. */
 
	#define OTTD_ALIGNMENT 0
 
#	define OTTD_ALIGNMENT 0
 
#endif
 

	
 
/** Little endian builds use this for TTD_ENDIAN. */
src/core/geometry_type.hpp
Show inline comments
 
@@ -12,8 +12,8 @@
 

	
 
#if defined(__APPLE__)
 
	/* Mac OS X already has both Rect and Point declared */
 
	#define Rect OTTD_Rect
 
	#define Point OTTD_Point
 
#	define Rect OTTD_Rect
 
#	define Point OTTD_Point
 
#endif /* __APPLE__ */
 

	
 

	
src/core/random_func.hpp
Show inline comments
 
@@ -12,7 +12,7 @@
 

	
 
#if defined(__APPLE__)
 
	/* Apple already has Random declared */
 
	#define Random OTTD_Random
 
#	define Random OTTD_Random
 
#endif /* __APPLE__ */
 

	
 
/**
 
@@ -57,13 +57,13 @@ static inline void RestoreRandomSeeds(co
 

	
 
void SetRandomSeed(uint32 seed);
 
#ifdef RANDOM_DEBUG
 
	#ifdef __APPLE__
 
		#define OTTD_Random() DoRandom(__LINE__, __FILE__)
 
	#else
 
		#define Random() DoRandom(__LINE__, __FILE__)
 
	#endif
 
#	ifdef __APPLE__
 
#		define OTTD_Random() DoRandom(__LINE__, __FILE__)
 
#	else
 
#		define Random() DoRandom(__LINE__, __FILE__)
 
#	endif
 
	uint32 DoRandom(int line, const char *file);
 
	#define RandomRange(limit) DoRandomRange(limit, __LINE__, __FILE__)
 
#	define RandomRange(limit) DoRandomRange(limit, __LINE__, __FILE__)
 
	uint32 DoRandomRange(uint32 limit, int line, const char *file);
 
#else
 
	static inline uint32 Random()
 
@@ -126,7 +126,7 @@ static inline bool Chance16I(const uint 
 
 * @return True with (a/b) probability
 
 */
 
#ifdef RANDOM_DEBUG
 
	#define Chance16(a, b) Chance16I(a, b, DoRandom(__LINE__, __FILE__))
 
#	define Chance16(a, b) Chance16I(a, b, DoRandom(__LINE__, __FILE__))
 
#else
 
static inline bool Chance16(const uint a, const uint b)
 
{
 
@@ -150,7 +150,7 @@ static inline bool Chance16(const uint a
 
 * @return True in (a/b) percent
 
 */
 
#ifdef RANDOM_DEBUG
 
	#define Chance16R(a, b, r) (r = DoRandom(__LINE__, __FILE__), Chance16I(a, b, r))
 
#	define Chance16R(a, b, r) (r = DoRandom(__LINE__, __FILE__), Chance16I(a, b, r))
 
#else
 
static inline bool Chance16R(const uint a, const uint b, uint32 &r)
 
{
src/ini.cpp
Show inline comments
 
@@ -90,7 +90,7 @@ bool IniFile::SaveToDisk(const char *fil
 

	
 
#if defined(_WIN32)
 
	/* _tcsncpy = strcpy is TCHAR is char, but isn't when TCHAR is wchar. */
 
	#undef strncpy
 
#	undef strncpy
 
	/* Allocate space for one more \0 character. */
 
	TCHAR tfilename[MAX_PATH + 1], tfile_new[MAX_PATH + 1];
 
	_tcsncpy(tfilename, OTTD2FS(filename), MAX_PATH);
src/landscape.cpp
Show inline comments
 
@@ -1186,8 +1186,8 @@ static void BuildRiver(TileIndex begin, 
 
 */
 
static bool FlowRiver(TileIndex spring, TileIndex begin)
 
{
 
	#define SET_MARK(x) marks.insert(x)
 
	#define IS_MARKED(x) (marks.find(x) != marks.end())
 
#	define SET_MARK(x) marks.insert(x)
 
#	define IS_MARKED(x) (marks.find(x) != marks.end())
 

	
 
	uint height = TileHeight(begin);
 
	if (IsWaterTile(begin)) return DistanceManhattan(spring, begin) > _settings_game.game_creation.min_river_length;
src/map_func.h
Show inline comments
 
@@ -241,11 +241,11 @@ static inline TileIndexDiff ToTileIndexD
 
	 * @param y Another tile to add
 
	 * @return The resulting tile(index)
 
	 */
 
	#define TILE_ADD(x, y) ((x) + (y))
 
#	define TILE_ADD(x, y) ((x) + (y))
 
#else
 
	extern TileIndex TileAdd(TileIndex tile, TileIndexDiff add,
 
		const char *exp, const char *file, int line);
 
	#define TILE_ADD(x, y) (TileAdd((x), (y), #x " + " #y, __FILE__, __LINE__))
 
#	define TILE_ADD(x, y) (TileAdd((x), (y), #x " + " #y, __FILE__, __LINE__))
 
#endif
 

	
 
/**
src/misc/binaryheap.hpp
Show inline comments
 
@@ -17,10 +17,10 @@
 

	
 
#if BINARYHEAP_CHECK
 
	/** Check for consistency. */
 
	#define CHECK_CONSISTY() this->CheckConsistency()
 
#	define CHECK_CONSISTY() this->CheckConsistency()
 
#else
 
	/** Don't check for consistency. */
 
	#define CHECK_CONSISTY() ;
 
#	define CHECK_CONSISTY() ;
 
#endif
 

	
 
/**
src/music/dmusic.cpp
Show inline comments
 
@@ -10,7 +10,7 @@
 
#define INITGUID
 
#include "../stdafx.h"
 
#ifdef WIN32_LEAN_AND_MEAN
 
	#undef WIN32_LEAN_AND_MEAN // Don't exclude rarely-used stuff from Windows headers
 
#	undef WIN32_LEAN_AND_MEAN // Don't exclude rarely-used stuff from Windows headers
 
#endif
 
#include "../debug.h"
 
#include "../os/windows/win32.h"
src/os/os2/os2.cpp
Show inline comments
 
@@ -26,7 +26,7 @@
 
#include <stdlib.h>
 
#include <time.h>
 
#ifndef __INNOTEK_LIBC__
 
	#include <dos.h>
 
#	include <dos.h>
 
#endif
 

	
 
#include "../../safeguards.h"
 
@@ -36,7 +36,7 @@
 

	
 
#include <os2.h>
 
#ifndef __INNOTEK_LIBC__
 
	#include <i86.h>
 
#	include <i86.h>
 
#endif
 

	
 
bool FiosIsRoot(const char *file)
src/os/unix/unix.cpp
Show inline comments
 
@@ -29,13 +29,13 @@
 
#endif
 

	
 
#ifdef __APPLE__
 
	#include <sys/mount.h>
 
#	include <sys/mount.h>
 
#elif (defined(_POSIX_VERSION) && _POSIX_VERSION >= 200112L) || defined(__GLIBC__)
 
	#define HAS_STATVFS
 
#	define HAS_STATVFS
 
#endif
 

	
 
#if defined(OPENBSD) || defined(__NetBSD__) || defined(__FreeBSD__)
 
	#define HAS_SYSCTL
 
#	define HAS_SYSCTL
 
#endif
 

	
 
#ifdef HAS_STATVFS
src/stdafx.h
Show inline comments
 
@@ -18,14 +18,14 @@
 
#endif
 

	
 
#if defined(__APPLE__)
 
	#include "os/macosx/osx_stdafx.h"
 
#	include "os/macosx/osx_stdafx.h"
 
#endif /* __APPLE__ */
 

	
 
#if defined(__HAIKU__)
 
	#include <SupportDefs.h>
 
	#include <unistd.h>
 
	#define _GNU_SOURCE
 
	#define TROUBLED_INTS
 
#	include <SupportDefs.h>
 
#	include <unistd.h>
 
#	define _GNU_SOURCE
 
#	define TROUBLED_INTS
 
#endif
 

	
 
#if defined(__HAIKU__) || defined(__CYGWIN__)
 
@@ -37,52 +37,52 @@
 
 * does not have stdint.h.
 
 * For OSX the inclusion is already done in osx_stdafx.h. */
 
#if !defined(__APPLE__) && (!defined(_MSC_VER) || _MSC_VER >= 1600)
 
	#if defined(SUNOS)
 
#	if defined(SUNOS)
 
		/* SunOS/Solaris does not have stdint.h, but inttypes.h defines everything
 
		 * stdint.h defines and we need. */
 
		#include <inttypes.h>
 
	#else
 
		#define __STDC_LIMIT_MACROS
 
		#include <stdint.h>
 
	#endif
 
#		include <inttypes.h>
 
#	else
 
#		define __STDC_LIMIT_MACROS
 
#		include <stdint.h>
 
#	endif
 
#endif
 

	
 
/* The conditions for these constants to be available are way too messy; so check them one by one */
 
#if !defined(UINT64_MAX)
 
	#define UINT64_MAX (18446744073709551615ULL)
 
#	define UINT64_MAX (18446744073709551615ULL)
 
#endif
 
#if !defined(INT64_MAX)
 
	#define INT64_MAX  (9223372036854775807LL)
 
#	define INT64_MAX  (9223372036854775807LL)
 
#endif
 
#if !defined(INT64_MIN)
 
	#define INT64_MIN  (-INT64_MAX - 1)
 
#	define INT64_MIN  (-INT64_MAX - 1)
 
#endif
 
#if !defined(UINT32_MAX)
 
	#define UINT32_MAX (4294967295U)
 
#	define UINT32_MAX (4294967295U)
 
#endif
 
#if !defined(INT32_MAX)
 
	#define INT32_MAX  (2147483647)
 
#	define INT32_MAX  (2147483647)
 
#endif
 
#if !defined(INT32_MIN)
 
	#define INT32_MIN  (-INT32_MAX - 1)
 
#	define INT32_MIN  (-INT32_MAX - 1)
 
#endif
 
#if !defined(UINT16_MAX)
 
	#define UINT16_MAX (65535U)
 
#	define UINT16_MAX (65535U)
 
#endif
 
#if !defined(INT16_MAX)
 
	#define INT16_MAX  (32767)
 
#	define INT16_MAX  (32767)
 
#endif
 
#if !defined(INT16_MIN)
 
	#define INT16_MIN  (-INT16_MAX - 1)
 
#	define INT16_MIN  (-INT16_MAX - 1)
 
#endif
 
#if !defined(UINT8_MAX)
 
	#define UINT8_MAX  (255)
 
#	define UINT8_MAX  (255)
 
#endif
 
#if !defined(INT8_MAX)
 
	#define INT8_MAX   (127)
 
#	define INT8_MAX   (127)
 
#endif
 
#if !defined(INT8_MIN)
 
	#define INT8_MIN   (-INT8_MAX - 1)
 
#	define INT8_MIN   (-INT8_MAX - 1)
 
#endif
 

	
 
#include <cstdio>
 
@@ -94,116 +94,116 @@
 
#include <memory>
 

	
 
#ifndef SIZE_MAX
 
	#define SIZE_MAX ((size_t)-1)
 
#	define SIZE_MAX ((size_t)-1)
 
#endif
 

	
 
#if defined(UNIX) || defined(__MINGW32__)
 
	#include <sys/types.h>
 
#	include <sys/types.h>
 
#endif
 

	
 
#if defined(__OS2__)
 
	#include <types.h>
 
	#define strcasecmp stricmp
 
#	include <types.h>
 
#	define strcasecmp stricmp
 
#endif
 

	
 
#if defined(SUNOS) || defined(HPUX) || defined(__CYGWIN__)
 
	#include <alloca.h>
 
#	include <alloca.h>
 
#endif
 

	
 
/* Stuff for GCC */
 
#if defined(__GNUC__)
 
	#define NORETURN __attribute__ ((noreturn))
 
	#define CDECL
 
	#define __int64 long long
 
#	define NORETURN __attribute__ ((noreturn))
 
#	define CDECL
 
#	define __int64 long long
 
	/* Warn about functions using 'printf' format syntax. First argument determines which parameter
 
	 * is the format string, second argument is start of values passed to printf. */
 
	#define WARN_FORMAT(string, args) __attribute__ ((format (printf, string, args)))
 
	#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)
 
		#define FINAL final
 
	#else
 
		#define FINAL
 
	#endif
 
#	define WARN_FORMAT(string, args) __attribute__ ((format (printf, string, args)))
 
#	if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)
 
#		define FINAL final
 
#	else
 
#		define FINAL
 
#	endif
 

	
 
	/* Use fallthrough attribute where supported */
 
	#if __GNUC__ >= 7
 
		#if __cplusplus > 201402L // C++17
 
			#define FALLTHROUGH [[fallthrough]]
 
		#else
 
			#define FALLTHROUGH __attribute__((fallthrough))
 
		#endif
 
	#else
 
		#define FALLTHROUGH
 
	#endif
 
#	if __GNUC__ >= 7
 
#		if __cplusplus > 201402L // C++17
 
#			define FALLTHROUGH [[fallthrough]]
 
#		else
 
#			define FALLTHROUGH __attribute__((fallthrough))
 
#		endif
 
#	else
 
#		define FALLTHROUGH
 
#	endif
 
#endif /* __GNUC__ */
 

	
 
#if defined(__WATCOMC__)
 
	#define NORETURN
 
	#define CDECL
 
	#define WARN_FORMAT(string, args)
 
	#define FINAL
 
	#define FALLTHROUGH
 
	#include <malloc.h>
 
#	define NORETURN
 
#	define CDECL
 
#	define WARN_FORMAT(string, args)
 
#	define FINAL
 
#	define FALLTHROUGH
 
#	include <malloc.h>
 
#endif /* __WATCOMC__ */
 

	
 
#if defined(__MINGW32__)
 
	#include <malloc.h> // alloca()
 
#	include <malloc.h> // alloca()
 
#endif
 

	
 
#if defined(_WIN32)
 
	#define WIN32_LEAN_AND_MEAN     // Exclude rarely-used stuff from Windows headers
 
#	define WIN32_LEAN_AND_MEAN     // Exclude rarely-used stuff from Windows headers
 
#endif
 

	
 
/* Stuff for MSVC */
 
#if defined(_MSC_VER)
 
	#pragma once
 
	#ifdef _WIN64
 
#	pragma once
 
#	ifdef _WIN64
 
		/* No 64-bit Windows below XP, so we can safely assume it as the target platform. */
 
		#define NTDDI_VERSION NTDDI_WINXP // Windows XP
 
		#define _WIN32_WINNT 0x501        // Windows XP
 
		#define _WIN32_WINDOWS 0x501      // Windows XP
 
		#define WINVER 0x0501             // Windows XP
 
		#define _WIN32_IE_ 0x0600         // 6.0 (XP+)
 
	#else
 
#		define NTDDI_VERSION NTDDI_WINXP // Windows XP
 
#		define _WIN32_WINNT 0x501        // Windows XP
 
#		define _WIN32_WINDOWS 0x501      // Windows XP
 
#		define WINVER 0x0501             // Windows XP
 
#		define _WIN32_IE_ 0x0600         // 6.0 (XP+)
 
#	else
 
		/* Define a win32 target platform, to override defaults of the SDK
 
		 * We need to define NTDDI version for Vista SDK, but win2k is minimum */
 
		#define NTDDI_VERSION NTDDI_WIN2K // Windows 2000
 
		#define _WIN32_WINNT 0x0500       // Windows 2000
 
		#define _WIN32_WINDOWS 0x400      // Windows 95
 
		#define WINVER 0x0400             // Windows NT 4.0 / Windows 95
 
		#define _WIN32_IE_ 0x0401         // 4.01 (win98 and NT4SP5+)
 
	#endif
 
	#define NOMINMAX                // Disable min/max macros in windows.h.
 
#		define NTDDI_VERSION NTDDI_WIN2K // Windows 2000
 
#		define _WIN32_WINNT 0x0500       // Windows 2000
 
#		define _WIN32_WINDOWS 0x400      // Windows 95
 
#		define WINVER 0x0400             // Windows NT 4.0 / Windows 95
 
#		define _WIN32_IE_ 0x0401         // 4.01 (win98 and NT4SP5+)
 
#	endif
 
#	define NOMINMAX                // Disable min/max macros in windows.h.
 

	
 
	#pragma warning(disable: 4244)  // 'conversion' conversion from 'type1' to 'type2', possible loss of data
 
	#pragma warning(disable: 4761)  // integral size mismatch in argument : conversion supplied
 
	#pragma warning(disable: 4200)  // nonstandard extension used : zero-sized array in struct/union
 
	#pragma warning(disable: 4355)  // 'this' : used in base member initializer list
 
#	pragma warning(disable: 4244)  // 'conversion' conversion from 'type1' to 'type2', possible loss of data
 
#	pragma warning(disable: 4761)  // integral size mismatch in argument : conversion supplied
 
#	pragma warning(disable: 4200)  // nonstandard extension used : zero-sized array in struct/union
 
#	pragma warning(disable: 4355)  // 'this' : used in base member initializer list
 

	
 
	#if (_MSC_VER < 1400)                   // MSVC 2005 safety checks
 
		#error "Only MSVC 2005 or higher are supported. MSVC 2003 and earlier are not! Upgrade your compiler."
 
	#endif /* (_MSC_VER < 1400) */
 
	#pragma warning(disable: 4291)   // no matching operator delete found; memory will not be freed if initialization throws an exception (reason: our overloaded functions never throw an exception)
 
	#pragma warning(disable: 4996)   // 'function': was declared deprecated
 
	#pragma warning(disable: 6308)   // code analyzer: 'realloc' might return null pointer: assigning null pointer to 't_ptr', which is passed as an argument to 'realloc', will cause the original memory block to be leaked
 
	#pragma warning(disable: 6011)   // code analyzer: Dereferencing NULL pointer 'pfGetAddrInfo': Lines: 995, 996, 998, 999, 1001
 
	#pragma warning(disable: 6326)   // code analyzer: potential comparison of a constant with another constant
 
	#pragma warning(disable: 6031)   // code analyzer: Return value ignored: 'ReadFile'
 
	#pragma warning(disable: 6255)   // code analyzer: _alloca indicates failure by raising a stack overflow exception. Consider using _malloca instead
 
	#pragma warning(disable: 6246)   // code analyzer: Local declaration of 'statspec' hides declaration of the same name in outer scope. For additional information, see previous declaration at ...
 
#	if (_MSC_VER < 1400)                   // MSVC 2005 safety checks
 
#		error "Only MSVC 2005 or higher are supported. MSVC 2003 and earlier are not! Upgrade your compiler."
 
#	endif /* (_MSC_VER < 1400) */
 
#	pragma warning(disable: 4291)   // no matching operator delete found; memory will not be freed if initialization throws an exception (reason: our overloaded functions never throw an exception)
 
#	pragma warning(disable: 4996)   // 'function': was declared deprecated
 
#	pragma warning(disable: 6308)   // code analyzer: 'realloc' might return null pointer: assigning null pointer to 't_ptr', which is passed as an argument to 'realloc', will cause the original memory block to be leaked
 
#	pragma warning(disable: 6011)   // code analyzer: Dereferencing NULL pointer 'pfGetAddrInfo': Lines: 995, 996, 998, 999, 1001
 
#	pragma warning(disable: 6326)   // code analyzer: potential comparison of a constant with another constant
 
#	pragma warning(disable: 6031)   // code analyzer: Return value ignored: 'ReadFile'
 
#	pragma warning(disable: 6255)   // code analyzer: _alloca indicates failure by raising a stack overflow exception. Consider using _malloca instead
 
#	pragma warning(disable: 6246)   // code analyzer: Local declaration of 'statspec' hides declaration of the same name in outer scope. For additional information, see previous declaration at ...
 

	
 
	#if (_MSC_VER == 1500)           // Addresses item #13 on http://blogs.msdn.com/b/vcblog/archive/2008/08/11/tr1-fixes-in-vc9-sp1.aspx, for Visual Studio 2008
 
		#define _DO_NOT_DECLARE_INTERLOCKED_INTRINSICS_IN_MEMORY
 
		#include <intrin.h>
 
	#endif
 
#	if (_MSC_VER == 1500)           // Addresses item #13 on http://blogs.msdn.com/b/vcblog/archive/2008/08/11/tr1-fixes-in-vc9-sp1.aspx, for Visual Studio 2008
 
#		define _DO_NOT_DECLARE_INTERLOCKED_INTRINSICS_IN_MEMORY
 
#		include <intrin.h>
 
#	endif
 

	
 
	#include <malloc.h> // alloca()
 
	#define NORETURN __declspec(noreturn)
 
	#if (_MSC_VER < 1900)
 
		#define inline __forceinline
 
	#endif
 
#	include <malloc.h> // alloca()
 
#	define NORETURN __declspec(noreturn)
 
#	if (_MSC_VER < 1900)
 
#		define inline __forceinline
 
#	endif
 

	
 
	#define CDECL _cdecl
 
	#define WARN_FORMAT(string, args)
 
#	define CDECL _cdecl
 
#	define WARN_FORMAT(string, args)
 
#	ifndef __clang__
 
#		define FINAL sealed
 
#	else
 
@@ -211,23 +211,23 @@
 
#	endif
 

	
 
	/* fallthrough attribute, VS 2017 */
 
	#if (_MSC_VER >= 1910)
 
		#define FALLTHROUGH [[fallthrough]]
 
	#else
 
		#define FALLTHROUGH
 
	#endif
 
#	if (_MSC_VER >= 1910)
 
#		define FALLTHROUGH [[fallthrough]]
 
#	else
 
#		define FALLTHROUGH
 
#	endif
 

	
 
#	if defined(_WIN32) && !defined(_WIN64)
 
		#if !defined(_W64)
 
			#define _W64
 
		#endif
 
#		if !defined(_W64)
 
#			define _W64
 
#		endif
 

	
 
		typedef _W64 int INT_PTR, *PINT_PTR;
 
		typedef _W64 unsigned int UINT_PTR, *PUINT_PTR;
 
#	endif /* _WIN32 && !_WIN64 */
 

	
 
#	if defined(_WIN64)
 
		#define fseek _fseeki64
 
#		define fseek _fseeki64
 
#	endif /* _WIN64 */
 

	
 
	/* zlib from vcpkg use cdecl calling convention without enforcing it in the headers */
 
@@ -251,13 +251,13 @@
 
#		endif
 
#	endif
 

	
 
	#define strcasecmp stricmp
 
	#define strncasecmp strnicmp
 
	#define strtoull _strtoui64
 
#	define strcasecmp stricmp
 
#	define strncasecmp strnicmp
 
#	define strtoull _strtoui64
 

	
 
	/* MSVC doesn't have these :( */
 
	#define S_ISDIR(mode) (mode & S_IFDIR)
 
	#define S_ISREG(mode) (mode & S_IFREG)
 
#	define S_ISDIR(mode) (mode & S_IFDIR)
 
#	define S_ISREG(mode) (mode & S_IFREG)
 

	
 
#endif /* defined(_MSC_VER) */
 

	
 
@@ -266,28 +266,28 @@
 
#if !defined(STRGEN) && !defined(SETTINGSGEN)
 
#	if defined(_WIN32)
 
		char *getcwd(char *buf, size_t size);
 
		#include <tchar.h>
 
		#include <io.h>
 
#		include <tchar.h>
 
#		include <io.h>
 

	
 
		namespace std { using ::_tfopen; }
 
		#define fopen(file, mode) _tfopen(OTTD2FS(file), _T(mode))
 
		#define unlink(file) _tunlink(OTTD2FS(file))
 
#		define fopen(file, mode) _tfopen(OTTD2FS(file), _T(mode))
 
#		define unlink(file) _tunlink(OTTD2FS(file))
 

	
 
		const char *FS2OTTD(const TCHAR *name);
 
		const TCHAR *OTTD2FS(const char *name, bool console_cp = false);
 
#	else
 
		#define fopen(file, mode) fopen(OTTD2FS(file), mode)
 
#		define fopen(file, mode) fopen(OTTD2FS(file), mode)
 
		const char *FS2OTTD(const char *name);
 
		const char *OTTD2FS(const char *name);
 
#	endif /* _WIN32 */
 
#endif /* STRGEN || SETTINGSGEN */
 

	
 
#if defined(_WIN32) || defined(__OS2__) && !defined(__INNOTEK_LIBC__)
 
	#define PATHSEP "\\"
 
	#define PATHSEPCHAR '\\'
 
#	define PATHSEP "\\"
 
#	define PATHSEPCHAR '\\'
 
#else
 
	#define PATHSEP "/"
 
	#define PATHSEPCHAR '/'
 
#	define PATHSEP "/"
 
#	define PATHSEPCHAR '/'
 
#endif
 

	
 
#if defined(_MSC_VER) || defined(__WATCOMC__)
 
@@ -345,22 +345,22 @@ typedef unsigned char byte;
 
#endif /* !TROUBLED_INTS */
 

	
 
#if !defined(WITH_PERSONAL_DIR)
 
	#define PERSONAL_DIR ""
 
#	define PERSONAL_DIR ""
 
#endif
 

	
 
/* Compile time assertions. Prefer c++0x static_assert().
 
 * Older compilers cannot evaluate some expressions at compile time,
 
 * typically when templates are involved, try assert_tcompile() in those cases. */
 
#if __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1600)
 
	#define assert_compile(expr) static_assert(expr, #expr )
 
	#define assert_tcompile(expr) assert_compile(expr)
 
#	define assert_compile(expr) static_assert(expr, #expr )
 
#	define assert_tcompile(expr) assert_compile(expr)
 
#elif defined(__OS2__)
 
	/* Disabled for OS/2 */
 
	#define assert_compile(expr)
 
	#define assert_tcompile(expr) assert_compile(expr)
 
#	define assert_compile(expr)
 
#	define assert_tcompile(expr) assert_compile(expr)
 
#else
 
	#define assert_compile(expr) typedef int __ct_assert__[1 - 2 * !(expr)]
 
	#define assert_tcompile(expr) assert(expr)
 
#	define assert_compile(expr) typedef int __ct_assert__[1 - 2 * !(expr)]
 
#	define assert_tcompile(expr) assert(expr)
 
#endif
 

	
 
/* Check if the types have the bitsizes like we are using them */
 
@@ -403,7 +403,7 @@ assert_compile(SIZE_MAX >= UINT32_MAX);
 

	
 
#define cpp_offsetof(s, m)   (((size_t)&reinterpret_cast<const volatile char&>((((s*)(char*)8)->m))) - 8)
 
#if !defined(offsetof)
 
	#define offsetof(s, m) cpp_offsetof(s, m)
 
#	define offsetof(s, m) cpp_offsetof(s, m)
 
#endif /* offsetof */
 

	
 
/**
 
@@ -425,9 +425,9 @@ assert_compile(SIZE_MAX >= UINT32_MAX);
 

	
 
/* take care of some name clashes on MacOS */
 
#if defined(__APPLE__)
 
	#define GetString OTTD_GetString
 
	#define DrawString OTTD_DrawString
 
	#define CloseConnection OTTD_CloseConnection
 
#	define GetString OTTD_GetString
 
#	define DrawString OTTD_DrawString
 
#	define CloseConnection OTTD_CloseConnection
 
#endif /* __APPLE__ */
 

	
 
void NORETURN CDECL usererror(const char *str, ...) WARN_FORMAT(1, 2);
 
@@ -436,28 +436,28 @@ void NORETURN CDECL error(const char *st
 

	
 
/* For non-debug builds with assertions enabled use the special assertion handler. */
 
#if defined(NDEBUG) && defined(WITH_ASSERT)
 
	#undef assert
 
	#define assert(expression) if (!(expression)) error("Assertion failed at line %i of %s: %s", __LINE__, __FILE__, #expression);
 
#	undef assert
 
#	define assert(expression) if (!(expression)) error("Assertion failed at line %i of %s: %s", __LINE__, __FILE__, #expression);
 
#endif
 

	
 
/* Asserts are enabled if NDEBUG isn't defined or WITH_ASSERT is defined. */
 
#if !defined(NDEBUG) || defined(WITH_ASSERT)
 
	#define OTTD_ASSERT
 
#	define OTTD_ASSERT
 
#endif
 

	
 
#if defined(OPENBSD)
 
	/* OpenBSD uses strcasecmp(3) */
 
	#define _stricmp strcasecmp
 
#	define _stricmp strcasecmp
 
#endif
 

	
 
#if defined(MAX_PATH)
 
	/* It's already defined, no need to override */
 
#elif defined(PATH_MAX) && PATH_MAX > 0
 
	/* Use the value from PATH_MAX, if it exists */
 
	#define MAX_PATH PATH_MAX
 
#	define MAX_PATH PATH_MAX
 
#else
 
	/* If all else fails, hardcode something :( */
 
	#define MAX_PATH 260
 
#	define MAX_PATH 260
 
#endif
 

	
 
/**
 
@@ -476,24 +476,24 @@ static inline void free(const void *ptr)
 
#define MAX_UVALUE(type) ((type)~(type)0)
 

	
 
#if defined(_MSC_VER) && !defined(_DEBUG)
 
	#define IGNORE_UNINITIALIZED_WARNING_START __pragma(warning(push)) __pragma(warning(disable:4700))
 
	#define IGNORE_UNINITIALIZED_WARNING_STOP __pragma(warning(pop))
 
#	define IGNORE_UNINITIALIZED_WARNING_START __pragma(warning(push)) __pragma(warning(disable:4700))
 
#	define IGNORE_UNINITIALIZED_WARNING_STOP __pragma(warning(pop))
 
#elif defined(__GNUC__) && !defined(_DEBUG)
 
	#define HELPER0(x) #x
 
	#define HELPER1(x) HELPER0(GCC diagnostic ignored x)
 
	#define HELPER2(y) HELPER1(#y)
 
#	define HELPER0(x) #x
 
#	define HELPER1(x) HELPER0(GCC diagnostic ignored x)
 
#	define HELPER2(y) HELPER1(#y)
 
#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
 
	#define IGNORE_UNINITIALIZED_WARNING_START \
 
#	define IGNORE_UNINITIALIZED_WARNING_START \
 
		_Pragma("GCC diagnostic push") \
 
		_Pragma(HELPER2(-Wuninitialized)) \
 
		_Pragma(HELPER2(-Wmaybe-uninitialized))
 
	#define IGNORE_UNINITIALIZED_WARNING_STOP _Pragma("GCC diagnostic pop")
 
#	define IGNORE_UNINITIALIZED_WARNING_STOP _Pragma("GCC diagnostic pop")
 
#endif
 
#endif
 

	
 
#ifndef IGNORE_UNINITIALIZED_WARNING_START
 
	#define IGNORE_UNINITIALIZED_WARNING_START
 
	#define IGNORE_UNINITIALIZED_WARNING_STOP
 
#	define IGNORE_UNINITIALIZED_WARNING_START
 
#	define IGNORE_UNINITIALIZED_WARNING_STOP
 
#endif
 

	
 
#endif /* STDAFX_H */
src/viewport_sprite_sorter_sse4.cpp
Show inline comments
 
@@ -18,9 +18,9 @@
 

	
 
#ifdef _SQ64
 
	assert_compile((sizeof(ParentSpriteToDraw) % 16) == 0);
 
	#define LOAD_128 _mm_load_si128
 
#	define LOAD_128 _mm_load_si128
 
#else
 
	#define LOAD_128 _mm_loadu_si128
 
#	define LOAD_128 _mm_loadu_si128
 
#endif
 

	
 
/** Sort parent sprites pointer array using SSE4.1 optimizations. */
0 comments (0 inline, 0 general)