X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;ds=inline;f=src%2Firrlichttypes.h;h=93c2d105b923e856729a34ff0d4a72735886e90c;hb=e16a470d59069692d654f5c1529ab313a01ded67;hp=dedebd45b4a87c67bceecbb6ba6413a572644a13;hpb=f0cd5da687ca216b4bdd9abe7bc8038a679d3763;p=minetest.git diff --git a/src/irrlichttypes.h b/src/irrlichttypes.h index dedebd45b..93c2d105b 100644 --- a/src/irrlichttypes.h +++ b/src/irrlichttypes.h @@ -17,37 +17,35 @@ with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#ifndef IRRLICHTTYPES_HEADER -#define IRRLICHTTYPES_HEADER +#pragma once -/* Ensure that is included before , unless building on - * MSVC, to address an irrlicht issue: https://sourceforge.net/p/irrlicht/bugs/433/ - * - * TODO: Decide whether or not we support non-compliant C++ compilers like old - * versions of MSCV. If we do not then can always be included - * regardless of the compiler. +/* + * IrrlichtMt already includes stdint.h in irrTypes.h. This works everywhere + * we need it to (including recent MSVC), so should be fine here too. */ -#ifndef _MSC_VER -# include -#endif +#include #include using namespace irr; -// Irrlicht 1.8+ defines 64bit unsigned symbol in irrTypes.h -#if (IRRLICHT_VERSION_MAJOR == 1 && IRRLICHT_VERSION_MINOR < 8) -#ifdef _MSC_VER - // Windows - typedef long long s64; - typedef unsigned long long u64; -#else - // Posix - typedef int64_t s64; - typedef uint64_t u64; -#endif +namespace irr { + +#if (IRRLICHT_VERSION_MAJOR == 1 && IRRLICHT_VERSION_MINOR >= 9) +namespace core { + template + inline T roundingError(); + + template <> + inline s16 roundingError() + { + return 0; + } +} #endif +} + #define S8_MIN (-0x7F - 1) #define S16_MIN (-0x7FFF - 1) #define S32_MIN (-0x7FFFFFFF - 1) @@ -62,5 +60,3 @@ using namespace irr; #define U16_MAX 0xFFFF #define U32_MAX 0xFFFFFFFF #define U64_MAX 0xFFFFFFFFFFFFFFFF - -#endif