//! WIN32 for Windows32\r
//! WIN64 for Windows64\r
// The windows platform and API support SDL and WINDOW device\r
-#if defined(_WIN32) || defined(_WIN64) || defined(WIN32) || defined(WIN64)\r
+#if defined(_WIN32) || defined(_WIN64)\r
#define _IRR_WINDOWS_\r
#define _IRR_WINDOWS_API_\r
#ifndef _IRR_COMPILE_WITH_SDL_DEVICE_\r
#endif\r
#endif\r
\r
-#if defined(_MSC_VER) && (_MSC_VER < 1500)\r
-# error "Only Microsoft Visual Studio 9.0 and later are supported."\r
-#endif\r
-\r
-#if defined(__APPLE__) || defined(MACOSX)\r
-#if !defined(MACOSX)\r
-#define MACOSX // legacy support\r
-#endif\r
+#if defined(__APPLE__)\r
#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) || defined(__IPHONE_OS_VERSION_MIN_REQUIRED)\r
#define _IRR_IOS_PLATFORM_\r
#define _IRR_COMPILE_WITH_IOS_DEVICE_\r
#ifdef NO_IRR_COMPILE_WITH_DIRECTINPUT_JOYSTICK_\r
#undef _IRR_COMPILE_WITH_DIRECTINPUT_JOYSTICK_\r
#endif\r
-// can't get this to compile currently under borland, can be removed if someone has a better solution\r
-#if defined(__BORLANDC__)\r
-#undef _IRR_COMPILE_WITH_DIRECTINPUT_JOYSTICK_\r
-#endif\r
\r
#endif\r
\r
#else // _IRR_WINDOWS_API_\r
\r
// Force symbol export in shared libraries built with gcc.\r
-#if (__GNUC__ >= 4) && !defined(_IRR_STATIC_LIB_) && defined(IRRLICHT_EXPORTS)\r
+#if defined(__GNUC__) && !defined(_IRR_STATIC_LIB_) && defined(IRRLICHT_EXPORTS)\r
#define IRRLICHT_API __attribute__ ((visibility("default")))\r
#else\r
#define IRRLICHT_API\r
#undef __IRR_HAS_S64\r
#endif\r
\r
-#if defined(__BORLANDC__)\r
- #include <tchar.h>\r
-\r
- // Borland 5.5.1\r
- #if __BORLANDC__ == 0x551\r
- #undef _tfinddata_t\r
- #undef _tfindfirst\r
- #undef _tfindnext\r
-\r
- #define _tfinddata_t __tfinddata_t\r
- #define _tfindfirst __tfindfirst\r
- #define _tfindnext __tfindnext\r
- typedef long intptr_t;\r
- #endif\r
-#endif\r
-\r
#ifndef __has_feature\r
#define __has_feature(x) 0 // Compatibility with non-clang compilers.\r
#endif\r
namespace core\r
{\r
\r
-#ifdef DEBUG_CLIENTBLOCK\r
-#undef DEBUG_CLIENTBLOCK\r
-#define DEBUG_CLIENTBLOCK new\r
-#endif\r
-\r
//! Very simple allocator implementation, containers using it can be used across dll boundaries\r
template<typename T>\r
class irrAllocator\r
};\r
\r
\r
-\r
-#ifdef DEBUG_CLIENTBLOCK\r
-#undef DEBUG_CLIENTBLOCK\r
-#define DEBUG_CLIENTBLOCK new( _CLIENT_BLOCK, __FILE__, __LINE__)\r
-#endif\r
-\r
//! defines an allocation strategy (used only by irr::array so far)\r
enum eAllocStrategy\r
{\r
\r
\r
#include <wchar.h>\r
-#ifdef _IRR_WINDOWS_API_\r
//! Defines for s{w,n}printf_irr because s{w,n}printf methods do not match the ISO C\r
//! standard on Windows platforms.\r
//! We want int snprintf_irr(char *str, size_t size, const char *format, ...);\r
//! and int swprintf_irr(wchar_t *wcs, size_t maxlen, const wchar_t *format, ...);\r
-#if defined(_MSC_VER) && _MSC_VER > 1310 && !defined (_WIN32_WCE)\r
+#if defined(_MSC_VER)\r
#define swprintf_irr swprintf_s\r
#define snprintf_irr sprintf_s\r
-#elif !defined(__CYGWIN__)\r
-#define swprintf_irr _snwprintf\r
-#define snprintf_irr _snprintf\r
-#endif\r
#else\r
#define swprintf_irr swprintf\r
#define snprintf_irr snprintf\r
-#endif // _IRR_WINDOWS_API_\r
+#endif // _MSC_VER\r
\r
namespace irr\r
{\r
\r
//! define a break macro for debugging.\r
#if defined(_DEBUG)\r
-#if defined(_IRR_WINDOWS_API_) && defined(_MSC_VER) && !defined (_WIN32_WCE)\r
-#if defined(WIN64) || defined(_WIN64) // using portable common solution for x64 configuration\r
+#if defined(_IRR_WINDOWS_API_) && defined(_MSC_VER)\r
#include <crtdbg.h>\r
#define _IRR_DEBUG_BREAK_IF( _CONDITION_ ) if (_CONDITION_) {_CrtDbgBreak();}\r
#else\r
- #define _IRR_DEBUG_BREAK_IF( _CONDITION_ ) if (_CONDITION_) {_asm int 3}\r
-#endif\r
-#else\r
- #include "assert.h"\r
+ #include <assert.h>\r
#define _IRR_DEBUG_BREAK_IF( _CONDITION_ ) assert( !(_CONDITION_) );\r
#endif\r
#else\r
**/\r
#if defined(IGNORE_DEPRECATED_WARNING)\r
#define _IRR_DEPRECATED_\r
-#elif _MSC_VER >= 1310 //vs 2003 or higher\r
+#elif defined(_MSC_VER)\r
#define _IRR_DEPRECATED_ __declspec(deprecated)\r
-#elif (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) // all versions above 3.0 should support this feature\r
+#elif defined(__GNUC__)\r
#define _IRR_DEPRECATED_ __attribute__ ((deprecated))\r
#else\r
#define _IRR_DEPRECATED_\r
/** Usage in a derived class:\r
virtual void somefunc() _IRR_OVERRIDE_;\r
*/\r
-#if ( ((__GNUC__ > 4 ) || ((__GNUC__ == 4 ) && (__GNUC_MINOR__ >= 7))) && (defined(__GXX_EXPERIMENTAL_CXX0X) || __cplusplus >= 201103L) )\r
-#define _IRR_OVERRIDE_ override\r
-#elif (_MSC_VER >= 1600 ) /* supported since MSVC 2010 */\r
#define _IRR_OVERRIDE_ override\r
-#elif (__clang_major__ >= 3 && __has_feature(cxx_override_control))\r
-#define _IRR_OVERRIDE_ override\r
-#else\r
-#define _IRR_OVERRIDE_\r
-#endif\r
-\r
-// memory debugging\r
-#if defined(_DEBUG) && defined(IRRLICHT_EXPORTS) && defined(_MSC_VER) && \\r
- (_MSC_VER > 1299) && !defined(_IRR_DONT_DO_MEMORY_DEBUGGING_HERE) && !defined(_WIN32_WCE)\r
-\r
- #define CRTDBG_MAP_ALLOC\r
- #define _CRTDBG_MAP_ALLOC\r
- #define DEBUG_CLIENTBLOCK new( _CLIENT_BLOCK, __FILE__, __LINE__)\r
- #include <stdlib.h>\r
- #include <crtdbg.h>\r
- #define new DEBUG_CLIENTBLOCK\r
-#endif\r
-\r
-//! ignore VC8 warning deprecated\r
-/** The Microsoft compiler */\r
-#if defined(_IRR_WINDOWS_API_) && defined(_MSC_VER) && (_MSC_VER >= 1400)\r
- //#pragma warning( disable: 4996)\r
- //#define _CRT_SECURE_NO_DEPRECATE 1\r
- //#define _CRT_NONSTDC_NO_DEPRECATE 1\r
-#endif\r
\r
\r
//! creates four CC codes used in Irrlicht for simple ids\r
// in between!\r
\r
// byte-align structures\r
-#if defined(_MSC_VER) || defined(__BORLANDC__) || defined (__BCPLUSPLUS__)\r
+#if defined(_MSC_VER)\r
# pragma warning(disable: 4103)\r
# pragma pack( push, packing )\r
# pragma pack( 1 )\r
# define PACK_STRUCT\r
-#elif defined( __DMC__ )\r
-# pragma pack( push, 1 )\r
-# define PACK_STRUCT\r
#elif defined( __GNUC__ )\r
- // Using pragma pack might work with earlier gcc versions already, but\r
- // it started to be necessary with gcc 4.7 on mingw unless compiled with -mno-ms-bitfields.\r
- // And I found some hints on the web that older gcc versions on the other hand had sometimes\r
- // trouble with pragma pack while they worked with __attribute__((packed)).\r
-# if (__GNUC__ > 4 ) || ((__GNUC__ == 4 ) && (__GNUC_MINOR__ >= 7))\r
-# pragma pack( push, packing )\r
-# pragma pack( 1 )\r
-# define PACK_STRUCT\r
-# else\r
-# define PACK_STRUCT __attribute__((packed))\r
- #endif\r
+# define PACK_STRUCT __attribute__((packed))\r
#else\r
# error compiler not supported\r
#endif\r
// file belongs to irrpack.h, see there for more info\r
\r
// Default alignment\r
-#if defined(_MSC_VER) || defined(__BORLANDC__) || defined (__BCPLUSPLUS__)\r
+#if defined(_MSC_VER)\r
# pragma pack( pop, packing )\r
-#elif defined (__DMC__)\r
-# pragma pack( pop )\r
-#elif defined( __GNUC__ )\r
-# if (__GNUC__ > 4 ) || ((__GNUC__ == 4 ) && (__GNUC_MINOR__ >= 7))\r
-# pragma pack( pop, packing )\r
-# endif\r
#endif\r
\r
#undef PACK_STRUCT\r
#include "SExposedVideoData.h"\r
#include "IContextManager.h"\r
\r
-#ifdef _MSC_VER\r
-#pragma comment(lib, "libEGL.lib")\r
-#endif\r
-\r
namespace irr\r
{\r
namespace video\r
#endif\r
\r
#if defined (_IRR_WINDOWS_API_)\r
- #if !defined ( _WIN32_WCE )\r
- #include <direct.h> // for _chdir\r
- #include <io.h> // for _access\r
- #include <tchar.h>\r
- #endif\r
+ #include <direct.h> // for _chdir\r
+ #include <io.h> // for _access\r
+ #include <tchar.h>\r
#elif (defined(_IRR_POSIX_API_) || defined(_IRR_OSX_PLATFORM_) || defined(_IRR_IOS_PLATFORM_) || defined(_IRR_ANDROID_PLATFORM_))\r
#include <stdio.h>\r
#include <stdlib.h>\r
// --------------------------------------------\r
//! Windows version\r
#ifdef _IRR_WINDOWS_API_\r
- #if !defined ( _WIN32_WCE )\r
\r
r = new CFileList(Path, true, false);\r
\r
\r
_findclose( hFile );\r
}\r
- #endif\r
\r
- //TODO add drives\r
- //entry.Name = "E:\\";\r
- //entry.isDirectory = true;\r
- //Files.push_back(entry);\r
#endif\r
\r
// --------------------------------------------\r
\r
#ifdef _IRR_WINDOWS_API_\r
#define WIN32_LEAN_AND_MEAN\r
-#if !defined(_IRR_XBOX_PLATFORM_)\r
- #include <windows.h>\r
-#endif\r
+#include <windows.h>\r
#define _IRR_WINDOWS_NT_CONSOLE_\r
#else\r
#include <time.h>\r
#include "IGUISpriteBank.h"\r
#include <winuser.h>\r
#include "SExposedVideoData.h"\r
+\r
#if defined(_IRR_COMPILE_WITH_JOYSTICK_EVENTS_)\r
#include <mmsystem.h>\r
#include <regstr.h>\r
#ifdef _IRR_COMPILE_WITH_DIRECTINPUT_JOYSTICK_\r
#define DIRECTINPUT_VERSION 0x0800\r
#include <dinput.h>\r
-#ifdef _MSC_VER\r
-#pragma comment(lib, "dinput8.lib")\r
-#pragma comment(lib, "dxguid.lib")\r
-#endif\r
-#else\r
-#ifdef _MSC_VER\r
-#pragma comment(lib, "winmm.lib")\r
-#endif\r
#endif\r
#endif\r
\r
#include "IImagePresenter.h"\r
\r
#define WIN32_LEAN_AND_MEAN\r
-#if !defined(_IRR_XBOX_PLATFORM_)\r
- #include <windows.h>\r
- #include <mmsystem.h> // For JOYCAPS\r
- #include <windowsx.h>\r
-#endif\r
+#include <windows.h>\r
+#include <mmsystem.h> // For JOYCAPS\r
+#include <windowsx.h>\r
#if !defined(GET_X_LPARAM)\r
#define GET_X_LPARAM(lp) ((int)(short)LOWORD(lp))\r
#define GET_Y_LPARAM(lp) ((int)(short)HIWORD(lp))\r
#include "SLight.h"\r
#include "SExposedVideoData.h"\r
\r
-#ifdef _MSC_VER\r
-#pragma warning( disable: 4996)\r
-#endif\r
-\r
namespace irr\r
{\r
namespace io\r
#include <windows.h>\r
#endif\r
\r
-#ifdef _MSC_VER\r
-#pragma comment(lib, "libGLESv2.lib")\r
-#endif\r
-\r
namespace irr\r
{\r
namespace video\r
#include <windows.h>\r
#endif\r
\r
-#ifdef _MSC_VER\r
-#pragma comment(lib, "libGLES_CM.lib")\r
-#endif\r
-\r
namespace irr\r
{\r
namespace video\r
#include "COSOperator.h"\r
\r
#ifdef _IRR_WINDOWS_API_\r
-#ifndef _IRR_XBOX_PLATFORM_\r
#include <windows.h>\r
-#endif\r
#else\r
#include <string.h>\r
#include <unistd.h>\r
return;\r
\r
// Windows version\r
-#if defined(_IRR_XBOX_PLATFORM_)\r
-#elif defined(_IRR_WINDOWS_API_)\r
+#if defined(_IRR_WINDOWS_API_)\r
if (!OpenClipboard(NULL) || text == 0)\r
return;\r
\r
#elif defined(_IRR_COMPILE_WITH_X11_DEVICE_)\r
if ( IrrDeviceLinux )\r
IrrDeviceLinux->copyToClipboard(text);\r
-#else\r
-\r
#endif\r
}\r
\r
//! \return Returns 0 if no string is in there, otherwise an utf-8 string.\r
const c8* COSOperator::getTextFromClipboard() const\r
{\r
-#if defined(_IRR_XBOX_PLATFORM_)\r
- return 0;\r
-#elif defined(_IRR_WINDOWS_API_)\r
+#if defined(_IRR_WINDOWS_API_)\r
if (!OpenClipboard(NULL))\r
return 0;\r
\r
\r
bool COSOperator::getSystemMemory(u32* Total, u32* Avail) const\r
{\r
-#if defined(_IRR_WINDOWS_API_) && !defined (_IRR_XBOX_PLATFORM_)\r
+#if defined(_IRR_WINDOWS_API_)\r
\r
MEMORYSTATUSEX MemoryStatusEx;\r
MemoryStatusEx.dwLength = sizeof(MEMORYSTATUSEX);\r
#include <GL/glext.h>\r
#endif\r
#include <GL/wglext.h>\r
-\r
- #ifdef _MSC_VER\r
- #pragma comment(lib, "OpenGL32.lib")\r
- #endif\r
-\r
#elif defined(_IRR_COMPILE_WITH_OSX_DEVICE_)\r
#if defined(_IRR_OPENGL_USE_EXTPOINTER_)\r
#define GL_GLEXT_LEGACY 1\r
#include <GL/gl.h>\r
#include <GL/wglext.h>\r
\r
-#ifdef _MSC_VER\r
- #pragma comment(lib, "OpenGL32.lib")\r
-#endif\r
-\r
namespace irr\r
{\r
namespace video\r
\r
#ifdef _IRR_WINDOWS_\r
#include <windows.h>\r
- #if defined(_DEBUG) && !defined(__GNUWIN32__) && !defined(_WIN32_WCE)\r
+ #if defined(_DEBUG) && !defined(__GNUWIN32__)\r
#include <crtdbg.h>\r
#endif // _DEBUG\r
#endif\r
switch (ul_reason_for_call)\r
{\r
case DLL_PROCESS_ATTACH:\r
- #if defined(_DEBUG) && !defined(__GNUWIN32__) && !defined(__BORLANDC__) && !defined (_WIN32_WCE) && !defined (_IRR_XBOX_PLATFORM_)\r
+ #if defined(_DEBUG) && !defined(__GNUWIN32__)\r
_CrtSetDbgFlag(_CRTDBG_LEAK_CHECK_DF | _CRTDBG_ALLOC_MEM_DF);\r
#endif\r
break;\r
+++ /dev/null
-// Copyright (C) 2002-2012 Nikolaus Gebhardt / Thomas Alten\r
-// This file is part of the "Irrlicht Engine".\r
-// For conditions of distribution and use, see copyright notice in irrlicht.h\r
-\r
-#ifndef __S_VIDEO_2_SOFTWARE_COMPILE_CONFIG_H_INCLUDED__\r
-#define __S_VIDEO_2_SOFTWARE_COMPILE_CONFIG_H_INCLUDED__\r
-\r
-#include "IrrCompileConfig.h"\r
-\r
-#ifndef REALINLINE\r
-#ifdef _MSC_VER\r
-#define REALINLINE __forceinline\r
-#else\r
-#define REALINLINE inline\r
-#endif\r
-#endif\r
-\r
-//! Size of a static C-style array.\r
-#define array_size(_arr) ((sizeof(_arr)/sizeof(*_arr)))\r
-\r
-//! Compiler Align\r
-#if defined(_MSC_VER)\r
-#define ALIGN(x) __declspec(align(x))\r
-#elif defined(__GNUC__)\r
-#define ALIGN(x) __attribute__ ((aligned(x)))\r
-#else\r
-#define ALIGN(x)\r
-#endif\r
-\r
-#endif // __S_VIDEO_2_SOFTWARE_COMPILE_CONFIG_H_INCLUDED__\r
#ifndef __S_VIDEO_2_SOFTWARE_HELPER_H_INCLUDED__\r
#define __S_VIDEO_2_SOFTWARE_HELPER_H_INCLUDED__\r
\r
-#include "SoftwareDriver2_compile_config.h"\r
#include "irrMath.h"\r
#include "SMaterial.h"\r
\r
+#ifndef REALINLINE\r
+#ifdef _MSC_VER\r
+#define REALINLINE __forceinline\r
+#else\r
+#define REALINLINE inline\r
+#endif\r
+#endif\r
+\r
\r
namespace irr\r
{\r
#define bswap_16(X) SDL_Swap16(X)\r
#define bswap_32(X) SDL_Swap32(X)\r
#define bswap_64(X) SDL_Swap64(X)\r
-#elif defined(_IRR_WINDOWS_API_) && defined(_MSC_VER) && (_MSC_VER > 1298)\r
+#elif defined(_IRR_WINDOWS_API_) && defined(_MSC_VER)\r
#include <stdlib.h>\r
#define bswap_16(X) _byteswap_ushort(X)\r
#define bswap_32(X) _byteswap_ulong(X)\r
#define bswap_64(X) _byteswap_uint64(X)\r
-#if (_MSC_VER >= 1400)\r
#define localtime _localtime_s\r
-#endif\r
#elif defined(_IRR_OSX_PLATFORM_) || defined(_IRR_IOS_PLATFORM_)\r
#include <libkern/OSByteOrder.h>\r
#define bswap_16(X) OSReadSwapInt16(&X,0)\r
// Windows specific functions\r
// ----------------------------------------------------------------\r
\r
-#ifdef _IRR_XBOX_PLATFORM_\r
-#include <xtl.h>\r
-#else\r
#define WIN32_LEAN_AND_MEAN\r
#include <windows.h>\r
#include <time.h>\r
-#endif\r
\r
namespace irr\r
{\r
//! prints a debuginfo string\r
void Printer::print(const c8* message, ELOG_LEVEL ll)\r
{\r
-#if defined (_WIN32_WCE )\r
- core::stringw tmp(message);\r
- tmp += L"\n";\r
- OutputDebugStringW(tmp.c_str());\r
-#else\r
core::stringc tmp(message);\r
tmp += "\n";\r
OutputDebugStringA(tmp.c_str());\r
printf("%s", tmp.c_str());\r
-#endif\r
}\r
\r
static LARGE_INTEGER HighPerformanceFreq;\r