X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Firrlichttypes.h;h=93c2d105b923e856729a34ff0d4a72735886e90c;hb=e16a470d59069692d654f5c1529ab313a01ded67;hp=2db744a48fff743020c4738503f2b198a5d501c7;hpb=b55fb4f2f6952f08ede8b37ba15ec8639410cca4;p=minetest.git diff --git a/src/irrlichttypes.h b/src/irrlichttypes.h index 2db744a48..93c2d105b 100644 --- a/src/irrlichttypes.h +++ b/src/irrlichttypes.h @@ -1,6 +1,6 @@ /* -Minetest-c55 -Copyright (C) 2010-2012 celeron55, Perttu Ahola +Minetest +Copyright (C) 2010-2013 celeron55, Perttu Ahola This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by @@ -17,26 +17,46 @@ 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 + +/* + * IrrlichtMt already includes stdint.h in irrTypes.h. This works everywhere + * we need it to (including recent MSVC), so should be fine here too. + */ +#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 - #include - typedef int64_t s64; - typedef uint64_t u64; -#endif -#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) +#define S64_MIN (-0x7FFFFFFFFFFFFFFF - 1) + +#define S8_MAX 0x7F +#define S16_MAX 0x7FFF +#define S32_MAX 0x7FFFFFFF +#define S64_MAX 0x7FFFFFFFFFFFFFFF + +#define U8_MAX 0xFF +#define U16_MAX 0xFFFF +#define U32_MAX 0xFFFFFFFF +#define U64_MAX 0xFFFFFFFFFFFFFFFF