Merge branch 'master' into jgrpp

Remove the viewport sign cache as this is now superseded by the kd tree
implementation

# Conflicts:
#	src/crashlog.cpp
#	src/lang/english.txt
#	src/misc.cpp
#	src/pathfinder/follow_track.hpp
#	src/pbs.cpp
#	src/rail_cmd.cpp
#	src/saveload/vehicle_sl.cpp
#	src/settings.cpp
#	src/settings_gui.cpp
#	src/ship_cmd.cpp
#	src/station.cpp
#	src/station_base.h
#	src/station_cmd.cpp
#	src/table/settings.ini
#	src/thread/thread_morphos.cpp
#	src/town_cmd.cpp
#	src/train_cmd.cpp
#	src/viewport.cpp
#	src/waypoint.cpp
This commit is contained in:
Jonathan G Rennison
2019-03-12 18:00:36 +00:00
177 changed files with 3131 additions and 2247 deletions

View File

@@ -16,22 +16,19 @@
#include "os/macosx/osx_stdafx.h"
#endif /* __APPLE__ */
#if defined(__BEOS__) || defined(__HAIKU__)
#if defined(__HAIKU__)
#include <SupportDefs.h>
#include <unistd.h>
#define _GNU_SOURCE
#define TROUBLED_INTS
#include <strings.h>
#elif defined(__NDS__)
#include <nds/jtypes.h>
#define TROUBLED_INTS
#endif
/* It seems that we need to include stdint.h before anything else
* We need INT64_MAX, which for most systems comes from stdint.h. However, MSVC
* does not have stdint.h and apparently neither does MorphOS.
* 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) && !defined(__MORPHOS__)
#if !defined(__APPLE__) && (!defined(_MSC_VER) || _MSC_VER >= 1600)
#if defined(SUNOS)
/* SunOS/Solaris does not have stdint.h, but inttypes.h defines everything
* stdint.h defines and we need. */
@@ -104,30 +101,6 @@
#include <alloca.h>
#endif
#if defined(__MORPHOS__)
/* MorphOS defines certain Amiga defines per default, we undefine them
* here to make the rest of source less messy and more clear what is
* required for morphos and what for AmigaOS */
#if defined(amigaos)
#undef amigaos
#endif
#if defined(__amigaos__)
#undef __amigaos__
# endif
#if defined(__AMIGA__)
#undef __AMIGA__
#endif
#if defined(AMIGA)
#undef AMIGA
#endif
#if defined(amiga)
#undef amiga
#endif
/* Act like we already included this file, as it somehow gives linkage problems
* (mismatch linkage of C++ and C between this include and unistd.h). */
#define CLIB_USERGROUP_PROTOS_H
#endif /* __MORPHOS__ */
/* Stuff for GCC */
#if defined(__GNUC__) || defined(__clang__)
#define NORETURN __attribute__ ((noreturn))
@@ -329,17 +302,23 @@
typedef unsigned char byte;
/* This is already defined in unix, but not in QNX Neutrino (6.x)*/
#if (!defined(UNIX) && !defined(__CYGWIN__) && !defined(__BEOS__) && !defined(__HAIKU__) && !defined(__MORPHOS__)) || defined(__QNXNTO__)
#if (!defined(UNIX) && !defined(__CYGWIN__) && !defined(__HAIKU__)) || defined(__QNXNTO__)
typedef unsigned int uint;
#endif
#if defined(TROUBLED_INTS)
/* NDS'/BeOS'/Haiku's types for uint32/int32 are based on longs, which causes
* trouble all over the place in OpenTTD. */
#define uint32 uint32_ugly_hack
#define int32 int32_ugly_hack
/* Haiku's types for uint32/int32/uint64/int64 are different than what
* they are on other platforms; not in length, but how to print them.
* So make them more like the other platforms, to make printf() etc a
* little bit easier. */
# define uint32 uint32_ugly_hack
# define int32 int32_ugly_hack
# define uint64 uint64_ugly_hack
# define int64 int64_ugly_hack
typedef unsigned int uint32_ugly_hack;
typedef signed int int32_ugly_hack;
typedef unsigned __int64 uint64_ugly_hack;
typedef signed __int64 int64_ugly_hack;
#else
typedef unsigned char uint8;
typedef signed char int8;
@@ -470,8 +449,8 @@ const char *assert_tile_info(uint32 tile);
#define assert_tile(expression, tile)
#endif
#if defined(MORPHOS) || defined(__NDS__) || defined(__DJGPP__)
/* MorphOS and NDS don't have C++ conformant _stricmp... */
#if defined(__DJGPP__)
/* DJGPP doesn't have C++ conformant _stricmp... */
#define _stricmp stricmp
#elif defined(OPENBSD)
/* OpenBSD uses strcasecmp(3) */