/*
-Minetest-c55
-Copyright (C) 2010-2011 celeron55, Perttu Ahola <celeron55@gmail.com>
+Minetest
+Copyright (C) 2010-2013 celeron55, Perttu Ahola <celeron55@gmail.com>
This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
+it under the terms of the GNU Lesser General Public License as published by
+the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
+GNU Lesser General Public License for more details.
-You should have received a copy of the GNU General Public License along
+You should have received a copy of the GNU Lesser General Public License along
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
-#include <irrTypes.h>
-#include <vector2d.h>
-#include <vector3d.h>
-#include <irrMap.h>
-#include <irrList.h>
-#include <irrArray.h>
-#include <aabbox3d.h>
-#include <SColor.h>
-using namespace irr;
-typedef core::vector3df v3f;
-typedef core::vector3d<s16> v3s16;
-typedef core::vector3d<s32> v3s32;
+/* Ensure that <stdint.h> is included before <irrTypes.h>, 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 <stdint.h> can always be included
+ * regardless of the compiler.
+ */
+#ifndef _MSC_VER
+# include <stdint.h>
+#endif
-typedef core::vector2d<f32> v2f;
-typedef core::vector2d<s16> v2s16;
-typedef core::vector2d<s32> v2s32;
-typedef core::vector2d<u32> v2u32;
-typedef core::vector2d<f32> v2f32;
+#include <irrTypes.h>
-typedef core::aabbox3d<f32> aabb3f;
+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 <stdint.h>
+ typedef int64_t s64;
typedef uint64_t u64;
- //typedef unsigned long long u64;
#endif
-
#endif
+#endif