123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873 |
- // Copyright (C) 2002-2012 Nikolaus Gebhardt
- // This file is part of the "Irrlicht Engine".
- // For conditions of distribution and use, see copyright notice in irrlicht.h
- #ifndef IRR_COMPILE_CONFIG_H_INCLUDED
- #define IRR_COMPILE_CONFIG_H_INCLUDED
- //! Irrlicht SDK Version
- #define IRRLICHT_VERSION_MAJOR 1
- #define IRRLICHT_VERSION_MINOR 9
- #define IRRLICHT_VERSION_REVISION 0
- // This flag will be defined only in SVN, the official release code will have
- // it undefined
- #define IRRLICHT_VERSION_SVN alpha
- #define IRRLICHT_SDK_VERSION "1.9.0"
- #include <stdio.h> // TODO: Although included elsewhere this is required at least for mingw
- //! The defines for different operating system are:
- //! _IRR_WINDOWS_ for all irrlicht supported Windows versions
- //! _IRR_WINDOWS_API_ for Windows or XBox
- //! _IRR_LINUX_PLATFORM_ for Linux (it is defined here if no other os is defined)
- //! _IRR_SOLARIS_PLATFORM_ for Solaris
- //! _IRR_OSX_PLATFORM_ for Apple systems running OSX
- //! _IRR_POSIX_API_ for Posix compatible systems
- //! Note: PLATFORM defines the OS specific layer, API can group several platforms
- //! DEVICE is the windowing system used, several PLATFORMs support more than one DEVICE
- //! Irrlicht can be compiled with more than one device
- //! _IRR_COMPILE_WITH_WINDOWS_DEVICE_ for Windows API based device
- //! _IRR_COMPILE_WITH_OSX_DEVICE_ for Cocoa native windowing on OSX
- //! _IRR_COMPILE_WITH_X11_DEVICE_ for Linux X11 based device
- //! _IRR_COMPILE_WITH_SDL_DEVICE_ for platform independent SDL framework
- //! _IRR_COMPILE_WITH_CONSOLE_DEVICE_ for no windowing system, used as a fallback
- //! _IRR_COMPILE_WITH_FB_DEVICE_ for framebuffer systems
- //! Passing defines to the compiler which have NO in front of the _IRR definename is an alternative
- //! way which can be used to disable defines (instead of outcommenting them in this header).
- //! So defines can be controlled from Makefiles or Projectfiles which allows building
- //! different library versions without having to change the sources.
- //! Example: NO_IRR_COMPILE_WITH_X11_ would disable X11
- //! Uncomment this line to compile with the SDL device
- //#define _IRR_COMPILE_WITH_SDL_DEVICE_
- #ifdef NO_IRR_COMPILE_WITH_SDL_DEVICE_
- #undef _IRR_COMPILE_WITH_SDL_DEVICE_
- #endif
- //! Comment this line to compile without the fallback console device.
- #define _IRR_COMPILE_WITH_CONSOLE_DEVICE_
- #ifdef NO_IRR_COMPILE_WITH_CONSOLE_DEVICE_
- #undef _IRR_COMPILE_WITH_CONSOLE_DEVICE_
- #endif
- //! WIN32 for Windows32
- //! WIN64 for Windows64
- // The windows platform and API support SDL and WINDOW device
- #if defined(_WIN32) || defined(_WIN64) || defined(WIN32) || defined(WIN64)
- #define _IRR_WINDOWS_
- #define _IRR_WINDOWS_API_
- #define _IRR_COMPILE_WITH_WINDOWS_DEVICE_
- #endif
- #if defined(_MSC_VER) && (_MSC_VER < 1500)
- # error "Only Microsoft Visual Studio 9.0 and later are supported."
- #endif
- // XBox is deprecated (as DX8 is removed). Use Irrlicht 1.8 if you still want to work on this.
- #if defined(_XBOX)
- #undef _IRR_WINDOWS_
- #define _IRR_XBOX_PLATFORM_ // deprecated
- #define _IRR_WINDOWS_API_
- //#define _IRR_COMPILE_WITH_WINDOWS_DEVICE_
- #undef _IRR_COMPILE_WITH_WINDOWS_DEVICE_
- //#define _IRR_COMPILE_WITH_SDL_DEVICE_
- #include <xtl.h>
- #endif
- #if defined(__APPLE__) || defined(MACOSX)
- #if !defined(MACOSX)
- #define MACOSX // legacy support
- #endif
- #define _IRR_OSX_PLATFORM_
- #define _IRR_COMPILE_WITH_OSX_DEVICE_
- #endif
- #if defined(__SVR4) && defined(__sun)
- #define _IRR_SOLARIS_PLATFORM_
- #if defined(__sparc)
- #define __BIG_ENDIAN__
- #endif
- #endif
- #if !defined(_IRR_WINDOWS_API_) && !defined(_IRR_OSX_PLATFORM_)
- #ifndef _IRR_SOLARIS_PLATFORM_
- #define _IRR_LINUX_PLATFORM_
- #endif
- #define _IRR_POSIX_API_
- #define _IRR_COMPILE_WITH_X11_DEVICE_
- #endif
- //! Define _IRR_COMPILE_WITH_JOYSTICK_SUPPORT_ if you want joystick events.
- #define _IRR_COMPILE_WITH_JOYSTICK_EVENTS_
- #ifdef NO_IRR_COMPILE_WITH_JOYSTICK_EVENTS_
- #undef _IRR_COMPILE_WITH_JOYSTICK_EVENTS_
- #endif
- //! Maximum number of texture an SMaterial can have, up to 8 are supported by Irrlicht.
- #define _IRR_MATERIAL_MAX_TEXTURES_ 8
- //! Whether to support XML and XML-based formats (irrmesh, collada...)
- #define _IRR_COMPILE_WITH_XML_
- #ifdef NO_IRR_COMPILE_WITH_XML_
- #undef _IRR_COMPILE_WITH_XML_
- #endif
- //! Add a leak-hunter to Irrlicht which helps finding unreleased reference counted objects.
- //! NOTE: This is slow and should only be used for debugging
- //#define _IRR_COMPILE_WITH_LEAK_HUNTER_
- #ifdef NO_IRR_COMPILE_WITH_LEAK_HUNTER_
- #undef _IRR_COMPILE_WITH_LEAK_HUNTER_
- #endif
- //! Enable profiling information in the engine
- /** NOTE: The profiler itself always exists and can be used by applications.
- This define is about the engine creating profile data
- while it runs and enabling it will slow down the engine. */
- //#define _IRR_COMPILE_WITH_PROFILING_
- #ifdef NO_IRR_COMPILE_WITH_PROFILING_
- #undef _IRR_COMPILE_WITH_PROFILING_
- #endif
- //! Define _IRR_COMPILE_WITH_DIRECT3D_9_ to compile the Irrlicht engine with DIRECT3D9.
- /** If you only want to use the software device or opengl you can disable those defines.
- This switch is mostly disabled because people do not get the g++ compiler compile
- directX header files, and directX is only available on Windows platforms. If you
- are using Dev-Cpp, and want to compile this using a DX dev pack, you can define
- _IRR_COMPILE_WITH_DX9_DEV_PACK_. So you simply need to add something like this
- to the compiler settings: -DIRR_COMPILE_WITH_DX9_DEV_PACK
- and this to the linker settings: -ld3dx9
- */
- #if defined(_IRR_WINDOWS_API_) && (!defined(__GNUC__) || defined(IRR_COMPILE_WITH_DX9_DEV_PACK))
- //! Define _IRR_COMPILE_WITH_DIRECTINPUT_JOYSTICK_ if you want to use DirectInput for joystick handling.
- /** This only applies to Windows devices, currently only supported under Win32 device.
- If not defined, Windows Multimedia library is used, which offers also broad support for joystick devices. */
- #define _IRR_COMPILE_WITH_DIRECTINPUT_JOYSTICK_
- #ifdef NO_IRR_COMPILE_WITH_DIRECTINPUT_JOYSTICK_
- #undef _IRR_COMPILE_WITH_DIRECTINPUT_JOYSTICK_
- #endif
- // can't get this to compile currently under borland, can be removed if someone has a better solution
- #if defined(__BORLANDC__)
- #undef _IRR_COMPILE_WITH_DIRECTINPUT_JOYSTICK_
- #endif
- //! enabled Direct3D 9
- #define _IRR_COMPILE_WITH_DIRECT3D_9_
- #ifdef NO_IRR_COMPILE_WITH_DIRECT3D_9_
- #undef _IRR_COMPILE_WITH_DIRECT3D_9_
- #endif
- #endif
- //! Define _IRR_COMPILE_WITH_OPENGL_ to compile the Irrlicht engine with OpenGL.
- /** If you do not wish the engine to be compiled with OpenGL, comment this
- define out. */
- #define _IRR_COMPILE_WITH_OPENGL_
- #ifdef NO_IRR_COMPILE_WITH_OPENGL_
- #undef _IRR_COMPILE_WITH_OPENGL_
- #endif
- //! Define required options for OpenGL drivers.
- #if defined(_IRR_COMPILE_WITH_OPENGL_)
- #if defined(_IRR_COMPILE_WITH_WINDOWS_DEVICE_)
- #define _IRR_OPENGL_USE_EXTPOINTER_
- #define _IRR_COMPILE_WITH_WGL_MANAGER_
- #elif defined(_IRR_COMPILE_WITH_X11_DEVICE_)
- #define _IRR_OPENGL_USE_EXTPOINTER_
- #define _IRR_COMPILE_WITH_GLX_MANAGER_
- #elif defined(_IRR_COMPILE_WITH_OSX_DEVICE_)
- #define _IRR_COMPILE_WITH_NSOGL_MANAGER_
- #elif defined(_IRR_SOLARIS_PLATFORM_)
- #define _IRR_COMPILE_WITH_GLX_MANAGER_
- #elif defined(_IRR_COMPILE_WITH_SDL_DEVICE_)
- #define _IRR_OPENGL_USE_EXTPOINTER_
- #endif
- #endif
- //! Define _IRR_COMPILE_WITH_SOFTWARE_ to compile the Irrlicht engine with software driver
- /** If you do not need the software driver, or want to use Burning's Video instead,
- comment this define out */
- #define _IRR_COMPILE_WITH_SOFTWARE_
- #ifdef NO_IRR_COMPILE_WITH_SOFTWARE_
- #undef _IRR_COMPILE_WITH_SOFTWARE_
- #endif
- //! Define _IRR_COMPILE_WITH_BURNINGSVIDEO_ to compile the Irrlicht engine with Burning's video driver
- /** If you do not need this software driver, you can comment this define out. */
- #define _IRR_COMPILE_WITH_BURNINGSVIDEO_
- #ifdef NO_IRR_COMPILE_WITH_BURNINGSVIDEO_
- #undef _IRR_COMPILE_WITH_BURNINGSVIDEO_
- #endif
- //! Define _IRR_COMPILE_WITH_X11_ to compile the Irrlicht engine with X11 support.
- /** If you do not wish the engine to be compiled with X11, comment this
- define out. */
- // Only used in LinuxDevice.
- #define _IRR_COMPILE_WITH_X11_
- #ifdef NO_IRR_COMPILE_WITH_X11_
- #undef _IRR_COMPILE_WITH_X11_
- #endif
- //! On some Linux systems the XF86 vidmode extension, X11 RandR, or XInput2 are missing.
- //! Use these defines to add/remove support for those dependencies as needed.
- //! XInput2 (library called Xi) is currently only used to support touch-input.
- #if defined(_IRR_LINUX_PLATFORM_) && defined(_IRR_COMPILE_WITH_X11_)
- #define _IRR_LINUX_X11_VIDMODE_
- //#define _IRR_LINUX_X11_RANDR_
- //#define _IRR_LINUX_X11_XINPUT2_
- #ifdef NO_IRR_LINUX_X11_VIDMODE_
- #undef _IRR_LINUX_X11_VIDMODE_
- #endif
- #ifdef NO_IRR_LINUX_X11_RANDR_
- #undef _IRR_LINUX_X11_RANDR_
- #endif
- #ifdef NO_IRR_LINUX_X11_XINPUT2_
- #undef _IRR_LINUX_X11_XINPUT2_
- #endif
- //! X11 has by default only monochrome cursors, but using the Xcursor library we can also get color cursor support.
- //! If you have the need for custom color cursors on X11 then enable this and make sure you also link
- //! to the Xcursor library in your Makefile/Projectfile.
- //#define _IRR_LINUX_XCURSOR_
- #ifdef NO_IRR_LINUX_XCURSOR_
- #undef _IRR_LINUX_XCURSOR_
- #endif
- #endif
- //! Define _IRR_COMPILE_WITH_GUI_ to compile the engine with the built-in GUI
- /** Disable this if you are using an external library to draw the GUI. If you disable this then
- you will not be able to use anything provided by the GUI Environment, including loading fonts. */
- #define _IRR_COMPILE_WITH_GUI_
- #ifdef NO_IRR_COMPILE_WITH_GUI_
- #undef _IRR_COMPILE_WITH_GUI_
- #endif
- //! Define _IRR_COMPILE_WITH_PARTICLES to compile the engine the with the build-in particle system
- /** You can disable this if you don't need particles or use an external particle system. */
- #define _IRR_COMPILE_WITH_PARTICLES_
- #ifdef NO_IRR_COMPILE_WITH_PARTICLES_
- #undef _IRR_COMPILE_WITH_PARTICLES_
- #endif
- //! Define _IRR_WCHAR_FILESYSTEM to enable unicode filesystem support for the engine.
- /** This enables the engine to read/write from unicode filesystem. If you
- disable this feature, the engine behave as before (ansi). This is currently only supported
- for Windows based systems. You also have to set #define UNICODE for this to compile.
- */
- //#define _IRR_WCHAR_FILESYSTEM
- #ifdef NO_IRR_WCHAR_FILESYSTEM
- #undef _IRR_WCHAR_FILESYSTEM
- #endif
- //! Define _IRR_COMPILE_WITH_LIBJPEG_ to enable compiling the engine using libjpeg.
- /** This enables the engine to read jpeg images. If you comment this out,
- the engine will no longer read .jpeg images. */
- #define _IRR_COMPILE_WITH_LIBJPEG_
- #ifdef NO_IRR_COMPILE_WITH_LIBJPEG_
- #undef _IRR_COMPILE_WITH_LIBJPEG_
- #endif
- //! Define _IRR_USE_NON_SYSTEM_JPEG_LIB_ to let irrlicht use the jpeglib which comes with irrlicht.
- /** If this is commented out, Irrlicht will try to compile using the jpeg lib installed in the system.
- This is only used when _IRR_COMPILE_WITH_LIBJPEG_ is defined.
- NOTE: You will also have to modify the Makefile or project files when changing this default.
- */
- #define _IRR_USE_NON_SYSTEM_JPEG_LIB_
- #ifdef NO_IRR_USE_NON_SYSTEM_JPEG_LIB_
- #undef _IRR_USE_NON_SYSTEM_JPEG_LIB_
- #endif
- //! Define _IRR_COMPILE_WITH_LIBPNG_ to enable compiling the engine using libpng.
- /** This enables the engine to read png images. If you comment this out,
- the engine will no longer read .png images. */
- #define _IRR_COMPILE_WITH_LIBPNG_
- #ifdef NO_IRR_COMPILE_WITH_LIBPNG_
- #undef _IRR_COMPILE_WITH_LIBPNG_
- #endif
- //! Define _IRR_USE_NON_SYSTEM_LIBPNG_ to let irrlicht use the libpng which comes with irrlicht.
- /** If this is commented out, Irrlicht will try to compile using the libpng installed in the system.
- This is only used when _IRR_COMPILE_WITH_LIBPNG_ is defined.
- NOTE: You will also have to modify the Makefile or project files when changing this default.
- */
- #define _IRR_USE_NON_SYSTEM_LIB_PNG_
- #ifdef NO_IRR_USE_NON_SYSTEM_LIB_PNG_
- #undef _IRR_USE_NON_SYSTEM_LIB_PNG_
- #endif
- //! Define _IRR_D3D_NO_SHADER_DEBUGGING to disable shader debugging in D3D9
- /** If _IRR_D3D_NO_SHADER_DEBUGGING is undefined in IrrCompileConfig.h,
- it is possible to debug all D3D9 shaders in VisualStudio. All shaders
- (which have been generated in memory or read from archives for example) will be emitted
- into a temporary file at runtime for this purpose. To debug your shaders, choose
- Debug->Direct3D->StartWithDirect3DDebugging in Visual Studio, and for every shader a
- file named 'irr_dbg_shader_%%.vsh' or 'irr_dbg_shader_%%.psh' will be created. Drag'n'drop
- the file you want to debug into visual studio. That's it. You can now set breakpoints and
- watch registers, variables etc. This works with ASM, HLSL, and both with pixel and vertex shaders.
- Note that the engine will run in D3D REF for this, which is a lot slower than HAL. */
- #define _IRR_D3D_NO_SHADER_DEBUGGING
- #ifdef NO_IRR_D3D_NO_SHADER_DEBUGGING
- #undef _IRR_D3D_NO_SHADER_DEBUGGING
- #endif
- //! Define _IRR_D3D_USE_LEGACY_HLSL_COMPILER to enable the old HLSL compiler in recent DX SDKs
- /** This enables support for ps_1_x shaders for recent DX SDKs. Otherwise, support
- for this shader model is not available anymore in SDKs after Oct2006. You need to
- distribute the OCT2006_d3dx9_31_x86.cab or OCT2006_d3dx9_31_x64.cab though, in order
- to provide the user with the proper DLL. That's why it's disabled by default. */
- //#define _IRR_D3D_USE_LEGACY_HLSL_COMPILER
- #ifdef NO_IRR_D3D_USE_LEGACY_HLSL_COMPILER
- #undef _IRR_D3D_USE_LEGACY_HLSL_COMPILER
- #endif
- //! Define _IRR_USE_NVIDIA_PERFHUD_ to opt-in to using the nVidia PerHUD tool
- /** Enable, by opting-in, to use the nVidia PerfHUD performance analysis driver
- tool <http://developer.nvidia.com/object/nvperfhud_home.html>. */
- #undef _IRR_USE_NVIDIA_PERFHUD_
- //! Define one of the three setting for Burning's Video Software Rasterizer
- /** So if we were marketing guys we could say Irrlicht has 4 Software-Rasterizers.
- In a Nutshell:
- All Burnings Rasterizers use 32 Bit Backbuffer, 32Bit Texture & 32 Bit Z or WBuffer,
- 16 Bit/32 Bit can be adjusted on a global flag.
- BURNINGVIDEO_RENDERER_BEAUTIFUL
- 32 Bit + Vertexcolor + Lighting + Per Pixel Perspective Correct + SubPixel/SubTexel Correct +
- Bilinear Texturefiltering + WBuffer
- BURNINGVIDEO_RENDERER_FAST
- 32 Bit + Per Pixel Perspective Correct + SubPixel/SubTexel Correct + WBuffer +
- Bilinear Dithering TextureFiltering + WBuffer
- BURNINGVIDEO_RENDERER_ULTRA_FAST
- 16Bit + SubPixel/SubTexel Correct + ZBuffer
- */
- #define BURNINGVIDEO_RENDERER_BEAUTIFUL
- //#define BURNINGVIDEO_RENDERER_FAST
- //#define BURNINGVIDEO_RENDERER_ULTRA_FAST
- //#define BURNINGVIDEO_RENDERER_CE
- //! Uncomment the following line if you want to ignore the deprecated warnings
- //#define IGNORE_DEPRECATED_WARNING
- //! Define _IRR_COMPILE_WITH_SHADOW_VOLUME_SCENENODE_ to support ShadowVolumes
- #define _IRR_COMPILE_WITH_SHADOW_VOLUME_SCENENODE_
- #ifdef NO_IRR_COMPILE_WITH_SHADOW_VOLUME_SCENENODE_
- #undef _IRR_COMPILE_WITH_SHADOW_VOLUME_SCENENODE_
- #endif
- //! Define _IRR_COMPILE_WITH_OCTREE_SCENENODE_ to support OctreeSceneNodes
- #define _IRR_COMPILE_WITH_OCTREE_SCENENODE_
- #ifdef NO_IRR_COMPILE_WITH_OCTREE_SCENENODE_
- #undef _IRR_COMPILE_WITH_OCTREE_SCENENODE_
- #endif
- //! Define _IRR_COMPILE_WITH_TERRAIN_SCENENODE_ to support TerrainSceneNodes
- #define _IRR_COMPILE_WITH_TERRAIN_SCENENODE_
- #ifdef NO_IRR_COMPILE_WITH_TERRAIN_SCENENODE_
- #undef _IRR_COMPILE_WITH_TERRAIN_SCENENODE_
- #endif
- //! Define _IRR_COMPILE_WITH_BILLBOARD_SCENENODE_ to support BillboardSceneNodes
- #define _IRR_COMPILE_WITH_BILLBOARD_SCENENODE_
- #ifdef NO_IRR_COMPILE_WITH_BILLBOARD_SCENENODE_
- #undef _IRR_COMPILE_WITH_BILLBOARD_SCENENODE_
- #endif
- //! Define _IRR_COMPILE_WITH_WATER_SURFACE_SCENENODE_ to support WaterSurfaceSceneNodes
- #define _IRR_COMPILE_WITH_WATER_SURFACE_SCENENODE_
- #ifdef NO_IRR_COMPILE_WITH_WATER_SURFACE_SCENENODE_
- #undef _IRR_COMPILE_WITH_WATER_SURFACE_SCENENODE_
- #endif
- //! Define _IRR_COMPILE_WITH_SKYDOME_SCENENODE_ to support SkydomeSceneNodes
- #define _IRR_COMPILE_WITH_SKYDOME_SCENENODE_
- #ifdef NO_IRR_COMPILE_WITH_SKYDOME_SCENENODE_
- #undef _IRR_COMPILE_WITH_SKYDOME_SCENENODE_
- #endif
- //! Define _IRR_COMPILE_WITH_CUBE_SCENENODE_ to support CubeSceneNodes
- #define _IRR_COMPILE_WITH_CUBE_SCENENODE_
- #ifdef NO_IRR_COMPILE_WITH_CUBE_SCENENODE_
- #undef _IRR_COMPILE_WITH_CUBE_SCENENODE_
- #endif
- //! Define _IRR_COMPILE_WITH_SPHERE_SCENENODE_ to support CubeSceneNodes
- #define _IRR_COMPILE_WITH_SPHERE_SCENENODE_
- #ifdef NO_IRR_COMPILE_WITH_SPHERE_SCENENODE_
- #undef _IRR_COMPILE_WITH_SPHERE_SCENENODE_
- #endif
- //! Define _IRR_COMPILE_WITH_IRR_SCENE_LOADER_ if you want to be able to load
- /** .irr scenes using ISceneManager::loadScene */
- #define _IRR_COMPILE_WITH_IRR_SCENE_LOADER_
- #ifdef NO_IRR_COMPILE_WITH_IRR_SCENE_LOADER_
- #undef _IRR_COMPILE_WITH_IRR_SCENE_LOADER_
- #endif
- //! Define _IRR_COMPILE_WITH_SKINNED_MESH_SUPPORT_ if you want to use bone based
- /** animated meshes. If you compile without this, you will be unable to load
- B3D, MS3D or X meshes */
- #define _IRR_COMPILE_WITH_SKINNED_MESH_SUPPORT_
- #ifdef NO_IRR_COMPILE_WITH_SKINNED_MESH_SUPPORT_
- #undef _IRR_COMPILE_WITH_SKINNED_MESH_SUPPORT_
- #endif
- #ifdef _IRR_COMPILE_WITH_SKINNED_MESH_SUPPORT_
- //! Define _IRR_COMPILE_WITH_B3D_LOADER_ if you want to use Blitz3D files
- #define _IRR_COMPILE_WITH_B3D_LOADER_
- #ifdef NO_IRR_COMPILE_WITH_B3D_LOADER_
- #undef _IRR_COMPILE_WITH_B3D_LOADER_
- #endif
- //! Define _IRR_COMPILE_WITH_MS3D_LOADER_ if you want to Milkshape files
- #define _IRR_COMPILE_WITH_MS3D_LOADER_
- #ifdef NO_IRR_COMPILE_WITH_MS3D_LOADER_
- #undef _IRR_COMPILE_WITH_MS3D_LOADER_
- #endif
- //! Define _IRR_COMPILE_WITH_X_LOADER_ if you want to use Microsoft X files
- #define _IRR_COMPILE_WITH_X_LOADER_
- #ifdef NO_IRR_COMPILE_WITH_X_LOADER_
- #undef _IRR_COMPILE_WITH_X_LOADER_
- #endif
- //! Define _IRR_COMPILE_WITH_OGRE_LOADER_ if you want to load Ogre 3D files
- #define _IRR_COMPILE_WITH_OGRE_LOADER_
- #ifdef NO_IRR_COMPILE_WITH_OGRE_LOADER_
- #undef _IRR_COMPILE_WITH_OGRE_LOADER_
- #endif
- #endif // _IRR_COMPILE_WITH_SKINNED_MESH_SUPPORT_
- //! Define _IRR_COMPILE_WITH_IRR_MESH_LOADER_ if you want to load Irrlicht Engine .irrmesh files
- #define _IRR_COMPILE_WITH_IRR_MESH_LOADER_
- #ifdef NO_IRR_COMPILE_WITH_IRR_MESH_LOADER_
- #undef _IRR_COMPILE_WITH_IRR_MESH_LOADER_
- #endif
- //! Define _IRR_COMPILE_WITH_HALFLIFE_LOADER_ if you want to load Halflife animated files
- #define _IRR_COMPILE_WITH_HALFLIFE_LOADER_
- #ifdef NO_IRR_COMPILE_WITH_HALFLIFE_LOADER_
- #undef _IRR_COMPILE_WITH_HALFLIFE_LOADER_
- #endif
- //! Define _IRR_COMPILE_WITH_MD2_LOADER_ if you want to load Quake 2 animated files
- #define _IRR_COMPILE_WITH_MD2_LOADER_
- #ifdef NO_IRR_COMPILE_WITH_MD2_LOADER_
- #undef _IRR_COMPILE_WITH_MD2_LOADER_
- #endif
- //! Define _IRR_COMPILE_WITH_MD3_LOADER_ if you want to load Quake 3 animated files
- #define _IRR_COMPILE_WITH_MD3_LOADER_
- #ifdef NO_IRR_COMPILE_WITH_MD3_LOADER_
- #undef _IRR_COMPILE_WITH_MD3_LOADER_
- #endif
- //! Define _IRR_COMPILE_WITH_3DS_LOADER_ if you want to load 3D Studio Max files
- #define _IRR_COMPILE_WITH_3DS_LOADER_
- #ifdef NO_IRR_COMPILE_WITH_3DS_LOADER_
- #undef _IRR_COMPILE_WITH_3DS_LOADER_
- #endif
- //! Define _IRR_COMPILE_WITH_COLLADA_LOADER_ if you want to load Collada files
- #define _IRR_COMPILE_WITH_COLLADA_LOADER_
- #ifdef NO_IRR_COMPILE_WITH_COLLADA_LOADER_
- #undef _IRR_COMPILE_WITH_COLLADA_LOADER_
- #endif
- //! Define _IRR_COMPILE_WITH_CSM_LOADER_ if you want to load Cartography Shop files
- #define _IRR_COMPILE_WITH_CSM_LOADER_
- #ifdef NO_IRR_COMPILE_WITH_CSM_LOADER_
- #undef _IRR_COMPILE_WITH_CSM_LOADER_
- #endif
- //! Define _IRR_COMPILE_WITH_BSP_LOADER_ if you want to load Quake 3 BSP files
- #define _IRR_COMPILE_WITH_BSP_LOADER_
- #ifdef NO_IRR_COMPILE_WITH_BSP_LOADER_
- #undef _IRR_COMPILE_WITH_BSP_LOADER_
- #endif
- //! Define _IRR_COMPILE_WITH_DMF_LOADER_ if you want to load DeleD files
- #define _IRR_COMPILE_WITH_DMF_LOADER_
- #ifdef NO_IRR_COMPILE_WITH_DMF_LOADER_
- #undef _IRR_COMPILE_WITH_DMF_LOADER_
- #endif
- //! Define _IRR_COMPILE_WITH_LMTS_LOADER_ if you want to load LMTools files
- #define _IRR_COMPILE_WITH_LMTS_LOADER_
- #ifdef NO_IRR_COMPILE_WITH_LMTS_LOADER_
- #undef _IRR_COMPILE_WITH_LMTS_LOADER_
- #endif
- //! Define _IRR_COMPILE_WITH_MY3D_LOADER_ if you want to load MY3D files
- #define _IRR_COMPILE_WITH_MY3D_LOADER_
- #ifdef NO_IRR_COMPILE_WITH_MY3D_LOADER_
- #undef _IRR_COMPILE_WITH_MY3D_LOADER_
- #endif
- //! Define _IRR_COMPILE_WITH_OBJ_LOADER_ if you want to load Wavefront OBJ files
- #define _IRR_COMPILE_WITH_OBJ_LOADER_
- #ifdef NO_IRR_COMPILE_WITH_OBJ_LOADER_
- #undef _IRR_COMPILE_WITH_OBJ_LOADER_
- #endif
- //! Define _IRR_COMPILE_WITH_OCT_LOADER_ if you want to load FSRad OCT files
- #define _IRR_COMPILE_WITH_OCT_LOADER_
- #ifdef NO_IRR_COMPILE_WITH_OCT_LOADER_
- #undef _IRR_COMPILE_WITH_OCT_LOADER_
- #endif
- //! Define _IRR_COMPILE_WITH_LWO_LOADER_ if you want to load Lightwave3D files
- #define _IRR_COMPILE_WITH_LWO_LOADER_
- #ifdef NO_IRR_COMPILE_WITH_LWO_LOADER_
- #undef _IRR_COMPILE_WITH_LWO_LOADER_
- #endif
- //! Define _IRR_COMPILE_WITH_STL_LOADER_ if you want to load stereolithography files
- #define _IRR_COMPILE_WITH_STL_LOADER_
- #ifdef NO_IRR_COMPILE_WITH_STL_LOADER_
- #undef _IRR_COMPILE_WITH_STL_LOADER_
- #endif
- //! Define _IRR_COMPILE_WITH_PLY_LOADER_ if you want to load Polygon (Stanford Triangle) files
- #define _IRR_COMPILE_WITH_PLY_LOADER_
- #ifdef NO_IRR_COMPILE_WITH_PLY_LOADER_
- #undef _IRR_COMPILE_WITH_PLY_LOADER_
- #endif
- //! Define _IRR_COMPILE_WITH_SMF_LOADER_ if you want to load 3D World Studio mesh files
- #define _IRR_COMPILE_WITH_SMF_LOADER_
- #ifdef NO_IRR_COMPILE_WITH_SMF_LOADER_
- #undef _IRR_COMPILE_WITH_SMF_LOADER_
- #endif
- //! Define _IRR_COMPILE_WITH_IRR_WRITER_ if you want to write static .irrMesh files
- #define _IRR_COMPILE_WITH_IRR_WRITER_
- #ifdef NO_IRR_COMPILE_WITH_IRR_WRITER_
- #undef _IRR_COMPILE_WITH_IRR_WRITER_
- #endif
- //! Define _IRR_COMPILE_WITH_COLLADA_WRITER_ if you want to write Collada files
- #define _IRR_COMPILE_WITH_COLLADA_WRITER_
- #ifdef NO_IRR_COMPILE_WITH_COLLADA_WRITER_
- #undef _IRR_COMPILE_WITH_COLLADA_WRITER_
- #endif
- //! Define _IRR_COMPILE_WITH_STL_WRITER_ if you want to write .stl files
- #define _IRR_COMPILE_WITH_STL_WRITER_
- #ifdef NO_IRR_COMPILE_WITH_STL_WRITER_
- #undef _IRR_COMPILE_WITH_STL_WRITER_
- #endif
- //! Define _IRR_COMPILE_WITH_OBJ_WRITER_ if you want to write .obj files
- #define _IRR_COMPILE_WITH_OBJ_WRITER_
- #ifdef NO_IRR_COMPILE_WITH_OBJ_WRITER_
- #undef _IRR_COMPILE_WITH_OBJ_WRITER_
- #endif
- //! Define _IRR_COMPILE_WITH_PLY_WRITER_ if you want to write .ply files
- #define _IRR_COMPILE_WITH_PLY_WRITER_
- #ifdef NO_IRR_COMPILE_WITH_PLY_WRITER_
- #undef _IRR_COMPILE_WITH_PLY_WRITER_
- #endif
- //! Define _IRR_COMPILE_WITH_B3D_WRITER_ if you want to write .b3d files
- #define _IRR_COMPILE_WITH_B3D_WRITER_
- #ifdef NO_IRR_COMPILE_WITH_B3D_WRITER_
- #undef _IRR_COMPILE_WITH_B3D_WRITER_
- #endif
- //! Define _IRR_COMPILE_WITH_BMP_LOADER_ if you want to load .bmp files
- //! Disabling this loader will also disable the built-in font
- #define _IRR_COMPILE_WITH_BMP_LOADER_
- #ifdef NO_IRR_COMPILE_WITH_BMP_LOADER_
- #undef _IRR_COMPILE_WITH_BMP_LOADER_
- #endif
- //! Define _IRR_COMPILE_WITH_JPG_LOADER_ if you want to load .jpg files
- #define _IRR_COMPILE_WITH_JPG_LOADER_
- #ifdef NO_IRR_COMPILE_WITH_JPG_LOADER_
- #undef _IRR_COMPILE_WITH_JPG_LOADER_
- #endif
- //! Define _IRR_COMPILE_WITH_PCX_LOADER_ if you want to load .pcx files
- #define _IRR_COMPILE_WITH_PCX_LOADER_
- #ifdef NO_IRR_COMPILE_WITH_PCX_LOADER_
- #undef _IRR_COMPILE_WITH_PCX_LOADER_
- #endif
- //! Define _IRR_COMPILE_WITH_PNG_LOADER_ if you want to load .png files
- #define _IRR_COMPILE_WITH_PNG_LOADER_
- #ifdef NO_IRR_COMPILE_WITH_PNG_LOADER_
- #undef _IRR_COMPILE_WITH_PNG_LOADER_
- #endif
- //! Define _IRR_COMPILE_WITH_PPM_LOADER_ if you want to load .ppm/.pgm/.pbm files
- #define _IRR_COMPILE_WITH_PPM_LOADER_
- #ifdef NO_IRR_COMPILE_WITH_PPM_LOADER_
- #undef _IRR_COMPILE_WITH_PPM_LOADER_
- #endif
- //! Define _IRR_COMPILE_WITH_PSD_LOADER_ if you want to load .psd files
- #define _IRR_COMPILE_WITH_PSD_LOADER_
- #ifdef NO_IRR_COMPILE_WITH_PSD_LOADER_
- #undef _IRR_COMPILE_WITH_PSD_LOADER_
- #endif
- //! Define _IRR_COMPILE_WITH_PVR_LOADER_ if you want to load .pvr files
- #define _IRR_COMPILE_WITH_PVR_LOADER_
- #ifdef NO_IRR_COMPILE_WITH_PVR_LOADER_
- #undef _IRR_COMPILE_WITH_PVR_LOADER_
- #endif
- //! Define _IRR_COMPILE_WITH_DDS_LOADER_ if you want to load compressed .dds files
- // Patent problem isn't related to this loader.
- #define _IRR_COMPILE_WITH_DDS_LOADER_
- #ifdef NO_IRR_COMPILE_WITH_DDS_LOADER_
- #undef _IRR_COMPILE_WITH_DDS_LOADER_
- #endif
- //! Define _IRR_COMPILE_WITH_DDS_DECODER_LOADER_ if you want to load .dds files
- //! loader will decompress these files and will send to the memory as uncompressed files.
- // Outcommented because
- // a) it doesn't compile on 64-bit currently
- // b) anyone enabling it should be aware that S3TC compression algorithm which might be used in that loader
- // is patented in the US by S3 and they do collect license fees when it's used in applications.
- // So if you are unfortunate enough to develop applications for US market and their broken patent system be careful.
- // #define _IRR_COMPILE_WITH_DDS_DECODER_LOADER_
- #ifdef NO_IRR_COMPILE_WITH_DDS_DECODER_LOADER_
- #undef _IRR_COMPILE_WITH_DDS_DECODER_LOADER_
- #endif
- #ifdef _IRR_COMPILE_WITH_DDS_DECODER_LOADER_
- #undef _IRR_COMPILE_WITH_DDS_LOADER_
- #endif
- //! Define _IRR_COMPILE_WITH_TGA_LOADER_ if you want to load .tga files
- #define _IRR_COMPILE_WITH_TGA_LOADER_
- #ifdef NO_IRR_COMPILE_WITH_TGA_LOADER_
- #undef _IRR_COMPILE_WITH_TGA_LOADER_
- #endif
- //! Define _IRR_COMPILE_WITH_WAL_LOADER_ if you want to load .wal files
- #define _IRR_COMPILE_WITH_WAL_LOADER_
- #ifdef NO_IRR_COMPILE_WITH_WAL_LOADER_
- #undef _IRR_COMPILE_WITH_WAL_LOADER_
- #endif
- //! Define _IRR_COMPILE_WITH_LMP_LOADER_ if you want to load .lmp files
- #define _IRR_COMPILE_WITH_LMP_LOADER_
- #ifdef NO_IRR_COMPILE_WITH_LMP_LOADER_
- #undef _IRR_COMPILE_WITH_LMP_LOADER_
- #endif
- //! Define _IRR_COMPILE_WITH_RGB_LOADER_ if you want to load Silicon Graphics .rgb/.rgba/.sgi/.int/.inta/.bw files
- #define _IRR_COMPILE_WITH_RGB_LOADER_
- #ifdef NO_IRR_COMPILE_WITH_RGB_LOADER_
- #undef _IRR_COMPILE_WITH_RGB_LOADER_
- #endif
- //! Define _IRR_COMPILE_WITH_BMP_WRITER_ if you want to write .bmp files
- #define _IRR_COMPILE_WITH_BMP_WRITER_
- #ifdef NO_IRR_COMPILE_WITH_BMP_WRITER_
- #undef _IRR_COMPILE_WITH_BMP_WRITER_
- #endif
- //! Define _IRR_COMPILE_WITH_JPG_WRITER_ if you want to write .jpg files
- #define _IRR_COMPILE_WITH_JPG_WRITER_
- #ifdef NO_IRR_COMPILE_WITH_JPG_WRITER_
- #undef _IRR_COMPILE_WITH_JPG_WRITER_
- #endif
- //! Define _IRR_COMPILE_WITH_PCX_WRITER_ if you want to write .pcx files
- #define _IRR_COMPILE_WITH_PCX_WRITER_
- #ifdef NO_IRR_COMPILE_WITH_PCX_WRITER_
- #undef _IRR_COMPILE_WITH_PCX_WRITER_
- #endif
- //! Define _IRR_COMPILE_WITH_PNG_WRITER_ if you want to write .png files
- #define _IRR_COMPILE_WITH_PNG_WRITER_
- #ifdef NO_IRR_COMPILE_WITH_PNG_WRITER_
- #undef _IRR_COMPILE_WITH_PNG_WRITER_
- #endif
- //! Define _IRR_COMPILE_WITH_PPM_WRITER_ if you want to write .ppm files
- #define _IRR_COMPILE_WITH_PPM_WRITER_
- #ifdef NO_IRR_COMPILE_WITH_PPM_WRITER_
- #undef _IRR_COMPILE_WITH_PPM_WRITER_
- #endif
- //! Define _IRR_COMPILE_WITH_PSD_WRITER_ if you want to write .psd files
- #define _IRR_COMPILE_WITH_PSD_WRITER_
- #ifdef NO_IRR_COMPILE_WITH_PSD_WRITER_
- #undef _IRR_COMPILE_WITH_PSD_WRITER_
- #endif
- //! Define _IRR_COMPILE_WITH_TGA_WRITER_ if you want to write .tga files
- #define _IRR_COMPILE_WITH_TGA_WRITER_
- #ifdef NO_IRR_COMPILE_WITH_TGA_WRITER_
- #undef _IRR_COMPILE_WITH_TGA_WRITER_
- #endif
- //! Define __IRR_COMPILE_WITH_ZIP_ARCHIVE_LOADER_ if you want to open ZIP and GZIP archives
- /** ZIP reading has several more options below to configure. */
- #define __IRR_COMPILE_WITH_ZIP_ARCHIVE_LOADER_
- #ifdef NO__IRR_COMPILE_WITH_ZIP_ARCHIVE_LOADER_
- #undef __IRR_COMPILE_WITH_ZIP_ARCHIVE_LOADER_
- #endif
- #ifdef __IRR_COMPILE_WITH_ZIP_ARCHIVE_LOADER_
- //! Define _IRR_COMPILE_WITH_ZLIB_ to enable compiling the engine using zlib.
- /** This enables the engine to read from compressed .zip archives. If you
- disable this feature, the engine can still read archives, but only uncompressed
- ones. */
- #define _IRR_COMPILE_WITH_ZLIB_
- #ifdef NO_IRR_COMPILE_WITH_ZLIB_
- #undef _IRR_COMPILE_WITH_ZLIB_
- #endif
- //! Define _IRR_USE_NON_SYSTEM_ZLIB_ to let irrlicht use the zlib which comes with irrlicht.
- /** If this is commented out, Irrlicht will try to compile using the zlib
- installed on the system. This is only used when _IRR_COMPILE_WITH_ZLIB_ is
- defined.
- NOTE: You will also have to modify the Makefile or project files when changing this default.
- */
- #define _IRR_USE_NON_SYSTEM_ZLIB_
- #ifdef NO_IRR_USE_NON_SYSTEM_ZLIB_
- #undef _IRR_USE_NON_SYSTEM_ZLIB_
- #endif
- //! Define _IRR_COMPILE_WITH_ZIP_ENCRYPTION_ if you want to read AES-encrypted ZIP archives
- #define _IRR_COMPILE_WITH_ZIP_ENCRYPTION_
- #ifdef NO_IRR_COMPILE_WITH_ZIP_ENCRYPTION_
- #undef _IRR_COMPILE_WITH_ZIP_ENCRYPTION_
- #endif
- //! Define _IRR_COMPILE_WITH_BZIP2_ if you want to support bzip2 compressed zip archives
- /** bzip2 is superior to the original zip file compression modes, but requires
- a certain amount of memory for decompression and adds several files to the
- library. */
- #define _IRR_COMPILE_WITH_BZIP2_
- #ifdef NO_IRR_COMPILE_WITH_BZIP2_
- #undef _IRR_COMPILE_WITH_BZIP2_
- #endif
- //! Define _IRR_USE_NON_SYSTEM_BZLIB_ to let irrlicht use the bzlib which comes with irrlicht.
- /** If this is commented out, Irrlicht will try to compile using the bzlib
- installed on the system. This is only used when _IRR_COMPILE_WITH_BZLIB_ is
- defined.
- NOTE: You will also have to modify the Makefile or project files when changing this default.
- */
- #define _IRR_USE_NON_SYSTEM_BZLIB_
- #ifdef NO_IRR_USE_NON_SYSTEM_BZLIB_
- #undef _IRR_USE_NON_SYSTEM_BZLIB_
- #endif
- //! Define _IRR_COMPILE_WITH_LZMA_ if you want to use LZMA compressed zip files.
- /** LZMA is a very efficient compression code, known from 7zip. Irrlicht
- currently only supports zip archives, though. */
- #define _IRR_COMPILE_WITH_LZMA_
- #ifdef NO_IRR_COMPILE_WITH_LZMA_
- #undef _IRR_COMPILE_WITH_LZMA_
- #endif
- #endif
- //! Define __IRR_COMPILE_WITH_MOUNT_ARCHIVE_LOADER_ if you want to mount folders as archives
- #define __IRR_COMPILE_WITH_MOUNT_ARCHIVE_LOADER_
- #ifdef NO__IRR_COMPILE_WITH_MOUNT_ARCHIVE_LOADER_
- #undef __IRR_COMPILE_WITH_MOUNT_ARCHIVE_LOADER_
- #endif
- //! Define __IRR_COMPILE_WITH_PAK_ARCHIVE_LOADER_ if you want to open ID software PAK archives
- #define __IRR_COMPILE_WITH_PAK_ARCHIVE_LOADER_
- #ifdef NO__IRR_COMPILE_WITH_PAK_ARCHIVE_LOADER_
- #undef __IRR_COMPILE_WITH_PAK_ARCHIVE_LOADER_
- #endif
- //! Define __IRR_COMPILE_WITH_NPK_ARCHIVE_LOADER_ if you want to open Nebula Device NPK archives
- #define __IRR_COMPILE_WITH_NPK_ARCHIVE_LOADER_
- #ifdef NO__IRR_COMPILE_WITH_NPK_ARCHIVE_LOADER_
- #undef __IRR_COMPILE_WITH_NPK_ARCHIVE_LOADER_
- #endif
- //! Define __IRR_COMPILE_WITH_TAR_ARCHIVE_LOADER_ if you want to open TAR archives
- #define __IRR_COMPILE_WITH_TAR_ARCHIVE_LOADER_
- #ifdef NO__IRR_COMPILE_WITH_TAR_ARCHIVE_LOADER_
- #undef __IRR_COMPILE_WITH_TAR_ARCHIVE_LOADER_
- #endif
- //! Define __IRR_COMPILE_WITH_WAD_ARCHIVE_LOADER_ if you want to open WAD archives
- #define __IRR_COMPILE_WITH_WAD_ARCHIVE_LOADER_
- #ifdef NO__IRR_COMPILE_WITH_WAD_ARCHIVE_LOADER_
- #undef __IRR_COMPILE_WITH_WAD_ARCHIVE_LOADER_
- #endif
- //! Set FPU settings
- /** Irrlicht should use approximate float and integer fpu techniques
- precision will be lower but speed higher. currently X86 only
- */
- #if !defined(_IRR_OSX_PLATFORM_) && !defined(_IRR_SOLARIS_PLATFORM_)
- //#define IRRLICHT_FAST_MATH
- #ifdef NO_IRRLICHT_FAST_MATH
- #undef IRRLICHT_FAST_MATH
- #endif
- #endif
- // Some cleanup and standard stuff
- #ifdef _IRR_WINDOWS_API_
- // To build Irrlicht as a static library, you must define _IRR_STATIC_LIB_ in both the
- // Irrlicht build, *and* in the user application, before #including <irrlicht.h>
- #ifndef _IRR_STATIC_LIB_
- #ifdef IRRLICHT_EXPORTS
- #define IRRLICHT_API __declspec(dllexport)
- #else
- #define IRRLICHT_API __declspec(dllimport)
- #endif // IRRLICHT_EXPORT
- #else
- #define IRRLICHT_API
- #endif // _IRR_STATIC_LIB_
- // Declare the calling convention.
- #if defined(_STDCALL_SUPPORTED)
- #define IRRCALLCONV __stdcall
- #else
- #define IRRCALLCONV __cdecl
- #endif // STDCALL_SUPPORTED
- #else // _IRR_WINDOWS_API_
- // Force symbol export in shared libraries built with gcc.
- #if (__GNUC__ >= 4) && !defined(_IRR_STATIC_LIB_) && defined(IRRLICHT_EXPORTS)
- #define IRRLICHT_API __attribute__ ((visibility("default")))
- #else
- #define IRRLICHT_API
- #endif
- #define IRRCALLCONV
- #endif // _IRR_WINDOWS_API_
- #ifndef _IRR_WINDOWS_API_
- #undef _IRR_WCHAR_FILESYSTEM
- #endif
- #if defined(_IRR_SOLARIS_PLATFORM_)
- #undef _IRR_COMPILE_WITH_JOYSTICK_EVENTS_
- #endif
- //! Define __IRR_HAS_S64 if the irr::s64 type should be enable (needs long long, available on most platforms, but not part of ISO C++ 98)
- #define __IRR_HAS_S64
- #ifdef NO__IRR_HAS_S64
- #undef __IRR_HAS_S64
- #endif
- // These depend on XML
- #ifndef _IRR_COMPILE_WITH_XML_
- #undef _IRR_COMPILE_WITH_IRR_MESH_LOADER_
- #undef _IRR_COMPILE_WITH_IRR_WRITER_
- #undef _IRR_COMPILE_WITH_COLLADA_WRITER_
- #undef _IRR_COMPILE_WITH_COLLADA_LOADER_
- #endif
- #if defined(__BORLANDC__)
- #include <tchar.h>
- // Borland 5.5.1
- #if __BORLANDC__ == 0x551
- #undef _tfinddata_t
- #undef _tfindfirst
- #undef _tfindnext
- #define _tfinddata_t __tfinddata_t
- #define _tfindfirst __tfindfirst
- #define _tfindnext __tfindnext
- typedef long intptr_t;
- #endif
- #endif
- #ifndef __has_feature
- #define __has_feature(x) 0 // Compatibility with non-clang compilers.
- #endif
- #ifdef _DEBUG
- //! A few attributes are written in CSceneManager when _IRR_SCENEMANAGER_DEBUG is enabled
- // NOTE: Those attributes were used always until 1.8.0 and became a global define for 1.8.1
- // which is only enabled in debug because it had a large (sometimes >5%) impact on speed.
- // A better solution in the long run is to break the interface and remove _all_ attribute
- // access in functions like CSceneManager::drawAll and instead put that information in some
- // own struct/class or in CSceneManager.
- // See http://irrlicht.sourceforge.net/forum/viewtopic.php?f=2&t=48211 for the discussion.
- #define _IRR_SCENEMANAGER_DEBUG
- #ifdef NO_IRR_SCENEMANAGER_DEBUG
- #undef _IRR_SCENEMANAGER_DEBUG
- #endif
- #endif
- //! Solve Camera errors - Debug Feature
- /* - Allow Camera 90 degree up, Target==Position,buildCameraLookAtMatrixLH
- - pre v1.9 CCameraSceneNode moved the up non-particular in the positive x-Direction. not compatible
- - Enabled is not compatible with Irrlicht Collision and Response.
- */
- //#define _IRR_COMPILE_WITH_90_DEGREE_CAMERA
- #endif // IRR_COMPILE_CONFIG_H_INCLUDED
|