Nirtcpp 2.1.0
Nirtcpp is a high-performance c++ graphics engine.
Loading...
Searching...
No Matches
NirtCompileConfig.hpp
1// Copyright (C) 2002-2012 Nikolaus Gebhardt
2// This file is part of the "Irrlicht Engine".
3// For conditions of distribution and use, see copyright notice in nirtcpp/nirtcpp.hpp
4
5// This file in "Nirtcpp Engine" forks from "Irrlicht Engine".
6
7#ifndef NIRT_COMPILE_CONFIG_HPP_INCLUDED
8#define NIRT_COMPILE_CONFIG_HPP_INCLUDED
9
11#define NIRTCPP_VERSION_MAJOR 2
12#define NIRTCPP_VERSION_MINOR 1
13#define NIRTCPP_VERSION_REVISION 0
14// This flag will be defined only in SVN, the official release code will have
15// it undefined
16#define NIRTCPP_VERSION_SVN alpha
17#define NIRTCPP_SDK_VERSION "2.1.0"
18
27
36
42
44//#define _NIRT_COMPILE_WITH_SFML_DEVICE_
45#ifdef NO_NIRT_COMPILE_WITH_SFML_DEVICE_
46#undef _NIRT_COMPILE_WITH_SFML_DEVICE_
47#endif
48
49
51#define _NIRT_COMPILE_WITH_CONSOLE_DEVICE_
52#ifdef NO_NIRT_COMPILE_WITH_CONSOLE_DEVICE_
53#undef _NIRT_COMPILE_WITH_CONSOLE_DEVICE_
54#endif
55
58// The windows platform and API support SFML and WINDOW device
59#if defined(_WIN32) || defined(_WIN64) || defined(WIN32) || defined(WIN64)
60#define _NIRT_WINDOWS_
61#define _NIRT_WINDOWS_API_
62#define _NIRT_COMPILE_WITH_WINDOWS_DEVICE_
63#endif
64
65#if defined(_MSC_VER) && (_MSC_VER < 1500)
66# error "Only Microsoft Visual Studio 9.0 and later are supported."
67#endif
68
69// XBox is deprecated (as DX8 is removed). Use Nirtcpp 1.8 if you still want to work on this.
70#if defined(_XBOX)
71 #undef _NIRT_WINDOWS_
72 #define _NIRT_XBOX_PLATFORM_ // deprecated
73 #define _NIRT_WINDOWS_API_
74 //#define _NIRT_COMPILE_WITH_WINDOWS_DEVICE_
75 #undef _NIRT_COMPILE_WITH_WINDOWS_DEVICE_
76 //#define _NIRT_COMPILE_WITH_SFML_DEVICE_
77
78 #include <xtl.h>
79#endif
80
81#if defined(__APPLE__) || defined(MACOSX)
82#if !defined(MACOSX)
83#define MACOSX // legacy support
84#endif
85#define _NIRT_OSX_PLATFORM_
86#define _NIRT_COMPILE_WITH_OSX_DEVICE_
87#endif
88
89#if defined(__SVR4) && defined(__sun)
90#define _NIRT_SOLARIS_PLATFORM_
91#if defined(__sparc)
92 #define __BIG_ENDIAN__
93#endif
94#endif
95
96#if !defined(_NIRT_WINDOWS_API_) && !defined(_NIRT_OSX_PLATFORM_)
97#ifndef _NIRT_SOLARIS_PLATFORM_
98#define _NIRT_LINUX_PLATFORM_
99#endif
100#define _NIRT_POSIX_API_
101#define _NIRT_COMPILE_WITH_X11_DEVICE_
102#endif
103
104
106#define _NIRT_COMPILE_WITH_JOYSTICK_EVENTS_
107#ifdef NO_NIRT_COMPILE_WITH_JOYSTICK_EVENTS_
108#undef _NIRT_COMPILE_WITH_JOYSTICK_EVENTS_
109#endif
110
111
113#define _NIRT_MATERIAL_MAX_TEXTURES_ 8
114
116#define _NIRT_COMPILE_WITH_XML_
117#ifdef NO_NIRT_COMPILE_WITH_XML_
118#undef _NIRT_COMPILE_WITH_XML_
119#endif
120
123//#define _NIRT_COMPILE_WITH_LEAK_HUNTER_
124#ifdef NO_NIRT_COMPILE_WITH_LEAK_HUNTER_
125#undef _NIRT_COMPILE_WITH_LEAK_HUNTER_
126#endif
127
129
132//#define _NIRT_COMPILE_WITH_PROFILING_
133#ifdef NO_NIRT_COMPILE_WITH_PROFILING_
134#undef _NIRT_COMPILE_WITH_PROFILING_
135#endif
136
138
146#if defined(_NIRT_WINDOWS_API_) && (!defined(__GNUC__) || defined(NIRT_COMPILE_WITH_DX9_DEV_PACK))
147
149
151#define _NIRT_COMPILE_WITH_DIRECTINPUT_JOYSTICK_
152#ifdef NO_NIRT_COMPILE_WITH_DIRECTINPUT_JOYSTICK_
153#undef _NIRT_COMPILE_WITH_DIRECTINPUT_JOYSTICK_
154#endif
155// can't get this to compile currently under borland, can be removed if someone has a better solution
156#if defined(__BORLANDC__)
157#undef _NIRT_COMPILE_WITH_DIRECTINPUT_JOYSTICK_
158#endif
159
161#define _NIRT_COMPILE_WITH_DIRECT3D_9_
162#ifdef NO_NIRT_COMPILE_WITH_DIRECT3D_9_
163#undef _NIRT_COMPILE_WITH_DIRECT3D_9_
164#endif
165
166#endif
167
169
171#define _NIRT_COMPILE_WITH_OPENGL_
172#ifdef NO_NIRT_COMPILE_WITH_OPENGL_
173#undef _NIRT_COMPILE_WITH_OPENGL_
174#endif
175
177#if defined(_NIRT_COMPILE_WITH_OPENGL_)
178 #if defined(_NIRT_COMPILE_WITH_WINDOWS_DEVICE_)
179 #define _NIRT_OPENGL_USE_EXTPOINTER_
180 #define _NIRT_COMPILE_WITH_WGL_MANAGER_
181 #elif defined(_NIRT_COMPILE_WITH_X11_DEVICE_)
182 #define _NIRT_OPENGL_USE_EXTPOINTER_
183 #define _NIRT_COMPILE_WITH_GLX_MANAGER_
184 #elif defined(_NIRT_COMPILE_WITH_OSX_DEVICE_)
185 #define _NIRT_COMPILE_WITH_NSOGL_MANAGER_
186 #elif defined(_NIRT_SOLARIS_PLATFORM_)
187 #define _NIRT_COMPILE_WITH_GLX_MANAGER_
188 #elif defined(_NIRT_COMPILE_WITH_SFML_DEVICE_)
189 #define _NIRT_OPENGL_USE_EXTPOINTER_
190 #endif
191#endif
192
193
194
196
198#define _NIRT_COMPILE_WITH_SOFTWARE_
199#ifdef NO_NIRT_COMPILE_WITH_SOFTWARE_
200#undef _NIRT_COMPILE_WITH_SOFTWARE_
201#endif
202
204
205#define _NIRT_COMPILE_WITH_BURNINGSVIDEO_
206#ifdef NO_NIRT_COMPILE_WITH_BURNINGSVIDEO_
207#undef _NIRT_COMPILE_WITH_BURNINGSVIDEO_
208#endif
209
211
213// Only used in LinuxDevice.
214#define _NIRT_COMPILE_WITH_X11_
215#ifdef NO_NIRT_COMPILE_WITH_X11_
216#undef _NIRT_COMPILE_WITH_X11_
217#endif
218
222#if defined(_NIRT_LINUX_PLATFORM_) && defined(_NIRT_COMPILE_WITH_X11_)
223#define _NIRT_LINUX_X11_VIDMODE_
224//#define _NIRT_LINUX_X11_RANDR_
225//#define _NIRT_LINUX_X11_XINPUT2_
226#ifdef NO_NIRT_LINUX_X11_VIDMODE_
227#undef _NIRT_LINUX_X11_VIDMODE_
228#endif
229#ifdef NO_NIRT_LINUX_X11_RANDR_
230#undef _NIRT_LINUX_X11_RANDR_
231#endif
232#ifdef NO_NIRT_LINUX_X11_XINPUT2_
233#undef _NIRT_LINUX_X11_XINPUT2_
234#endif
235
239//#define _NIRT_LINUX_XCURSOR_
240#ifdef NO_NIRT_LINUX_XCURSOR_
241#undef _NIRT_LINUX_XCURSOR_
242#endif
243
244#endif
245
247
249#define _NIRT_COMPILE_WITH_GUI_
250#ifdef NO_NIRT_COMPILE_WITH_GUI_
251#undef _NIRT_COMPILE_WITH_GUI_
252#endif
253
255
256#define _NIRT_COMPILE_WITH_PARTICLES_
257#ifdef NO_NIRT_COMPILE_WITH_PARTICLES_
258#undef _NIRT_COMPILE_WITH_PARTICLES_
259#endif
260
262
266//#define _NIRT_WCHAR_FILESYSTEM
267#ifdef NO_NIRT_WCHAR_FILESYSTEM
268#undef _NIRT_WCHAR_FILESYSTEM
269#endif
270
272
274#define _NIRT_COMPILE_WITH_LIBJPEG_
275#ifdef NO_NIRT_COMPILE_WITH_LIBJPEG_
276#undef _NIRT_COMPILE_WITH_LIBJPEG_
277#endif
278
280
284//#define _NIRT_USE_NON_SYSTEM_JPEG_LIB_
285#ifdef NO_NIRT_USE_NON_SYSTEM_JPEG_LIB_
286#undef _NIRT_USE_NON_SYSTEM_JPEG_LIB_
287#endif
288
290
292#define _NIRT_COMPILE_WITH_LIBPNG_
293#ifdef NO_NIRT_COMPILE_WITH_LIBPNG_
294#undef _NIRT_COMPILE_WITH_LIBPNG_
295#endif
296
298
302//#define _NIRT_USE_NON_SYSTEM_LIB_PNG_
303#ifdef NO_NIRT_USE_NON_SYSTEM_LIB_PNG_
304#undef _NIRT_USE_NON_SYSTEM_LIB_PNG_
305#endif
306
308
317#define _NIRT_D3D_NO_SHADER_DEBUGGING
318#ifdef NO_NIRT_D3D_NO_SHADER_DEBUGGING
319#undef _NIRT_D3D_NO_SHADER_DEBUGGING
320#endif
321
323
327//#define _NIRT_D3D_USE_LEGACY_HLSL_COMPILER
328#ifdef NO_NIRT_D3D_USE_LEGACY_HLSL_COMPILER
329#undef _NIRT_D3D_USE_LEGACY_HLSL_COMPILER
330#endif
331
333
335#undef _NIRT_USE_NVIDIA_PERFHUD_
336
338
355#define BURNINGVIDEO_RENDERER_BEAUTIFUL
356//#define BURNINGVIDEO_RENDERER_FAST
357//#define BURNINGVIDEO_RENDERER_ULTRA_FAST
358//#define BURNINGVIDEO_RENDERER_CE
359
361//#define IGNORE_DEPRECATED_WARNING
362
364#define _NIRT_COMPILE_WITH_SHADOW_VOLUME_SCENENODE_
365#ifdef NO_NIRT_COMPILE_WITH_SHADOW_VOLUME_SCENENODE_
366#undef _NIRT_COMPILE_WITH_SHADOW_VOLUME_SCENENODE_
367#endif
368
370#define _NIRT_COMPILE_WITH_OCTREE_SCENENODE_
371#ifdef NO_NIRT_COMPILE_WITH_OCTREE_SCENENODE_
372#undef _NIRT_COMPILE_WITH_OCTREE_SCENENODE_
373#endif
374
376#define _NIRT_COMPILE_WITH_TERRAIN_SCENENODE_
377#ifdef NO_NIRT_COMPILE_WITH_TERRAIN_SCENENODE_
378#undef _NIRT_COMPILE_WITH_TERRAIN_SCENENODE_
379#endif
380
382#define _NIRT_COMPILE_WITH_BILLBOARD_SCENENODE_
383#ifdef NO_NIRT_COMPILE_WITH_BILLBOARD_SCENENODE_
384#undef _NIRT_COMPILE_WITH_BILLBOARD_SCENENODE_
385#endif
386
388#define _NIRT_COMPILE_WITH_WATER_SURFACE_SCENENODE_
389#ifdef NO_NIRT_COMPILE_WITH_WATER_SURFACE_SCENENODE_
390#undef _NIRT_COMPILE_WITH_WATER_SURFACE_SCENENODE_
391#endif
392
394#define _NIRT_COMPILE_WITH_SKYDOME_SCENENODE_
395#ifdef NO_NIRT_COMPILE_WITH_SKYDOME_SCENENODE_
396#undef _NIRT_COMPILE_WITH_SKYDOME_SCENENODE_
397#endif
398
400#define _NIRT_COMPILE_WITH_CUBE_SCENENODE_
401#ifdef NO_NIRT_COMPILE_WITH_CUBE_SCENENODE_
402#undef _NIRT_COMPILE_WITH_CUBE_SCENENODE_
403#endif
404
406#define _NIRT_COMPILE_WITH_SPHERE_SCENENODE_
407#ifdef NO_NIRT_COMPILE_WITH_SPHERE_SCENENODE_
408#undef _NIRT_COMPILE_WITH_SPHERE_SCENENODE_
409#endif
410
412
413#define _NIRT_COMPILE_WITH_NIRT_SCENE_LOADER_
414#ifdef NO_NIRT_COMPILE_WITH_NIRT_SCENE_LOADER_
415#undef _NIRT_COMPILE_WITH_NIRT_SCENE_LOADER_
416#endif
417
419
421#define _NIRT_COMPILE_WITH_SKINNED_MESH_SUPPORT_
422#ifdef NO_NIRT_COMPILE_WITH_SKINNED_MESH_SUPPORT_
423#undef _NIRT_COMPILE_WITH_SKINNED_MESH_SUPPORT_
424#endif
425
426#ifdef _NIRT_COMPILE_WITH_SKINNED_MESH_SUPPORT_
428#define _NIRT_COMPILE_WITH_B3D_LOADER_
429#ifdef NO_NIRT_COMPILE_WITH_B3D_LOADER_
430#undef _NIRT_COMPILE_WITH_B3D_LOADER_
431#endif
433#define _NIRT_COMPILE_WITH_MS3D_LOADER_
434#ifdef NO_NIRT_COMPILE_WITH_MS3D_LOADER_
435#undef _NIRT_COMPILE_WITH_MS3D_LOADER_
436#endif
438#define _NIRT_COMPILE_WITH_X_LOADER_
439#ifdef NO_NIRT_COMPILE_WITH_X_LOADER_
440#undef _NIRT_COMPILE_WITH_X_LOADER_
441#endif
443#define _NIRT_COMPILE_WITH_OGRE_LOADER_
444#ifdef NO_NIRT_COMPILE_WITH_OGRE_LOADER_
445#undef _NIRT_COMPILE_WITH_OGRE_LOADER_
446#endif
447#endif // _NIRT_COMPILE_WITH_SKINNED_MESH_SUPPORT_
448
450#define _NIRT_COMPILE_WITH_NIRT_MESH_LOADER_
451#ifdef NO_NIRT_COMPILE_WITH_NIRT_MESH_LOADER_
452#undef _NIRT_COMPILE_WITH_NIRT_MESH_LOADER_
453#endif
455#define _NIRT_COMPILE_WITH_HALFLIFE_LOADER_
456#ifdef NO_NIRT_COMPILE_WITH_HALFLIFE_LOADER_
457#undef _NIRT_COMPILE_WITH_HALFLIFE_LOADER_
458#endif
460#define _NIRT_COMPILE_WITH_MD2_LOADER_
461#ifdef NO_NIRT_COMPILE_WITH_MD2_LOADER_
462#undef _NIRT_COMPILE_WITH_MD2_LOADER_
463#endif
465#define _NIRT_COMPILE_WITH_MD3_LOADER_
466#ifdef NO_NIRT_COMPILE_WITH_MD3_LOADER_
467#undef _NIRT_COMPILE_WITH_MD3_LOADER_
468#endif
470#define _NIRT_COMPILE_WITH_3DS_LOADER_
471#ifdef NO_NIRT_COMPILE_WITH_3DS_LOADER_
472#undef _NIRT_COMPILE_WITH_3DS_LOADER_
473#endif
475#define _NIRT_COMPILE_WITH_COLLADA_LOADER_
476#ifdef NO_NIRT_COMPILE_WITH_COLLADA_LOADER_
477#undef _NIRT_COMPILE_WITH_COLLADA_LOADER_
478#endif
480#define _NIRT_COMPILE_WITH_CSM_LOADER_
481#ifdef NO_NIRT_COMPILE_WITH_CSM_LOADER_
482#undef _NIRT_COMPILE_WITH_CSM_LOADER_
483#endif
485#define _NIRT_COMPILE_WITH_BSP_LOADER_
486#ifdef NO_NIRT_COMPILE_WITH_BSP_LOADER_
487#undef _NIRT_COMPILE_WITH_BSP_LOADER_
488#endif
490#define _NIRT_COMPILE_WITH_DMF_LOADER_
491#ifdef NO_NIRT_COMPILE_WITH_DMF_LOADER_
492#undef _NIRT_COMPILE_WITH_DMF_LOADER_
493#endif
495#define _NIRT_COMPILE_WITH_LMTS_LOADER_
496#ifdef NO_NIRT_COMPILE_WITH_LMTS_LOADER_
497#undef _NIRT_COMPILE_WITH_LMTS_LOADER_
498#endif
500#define _NIRT_COMPILE_WITH_MY3D_LOADER_
501#ifdef NO_NIRT_COMPILE_WITH_MY3D_LOADER_
502#undef _NIRT_COMPILE_WITH_MY3D_LOADER_
503#endif
505#define _NIRT_COMPILE_WITH_OBJ_LOADER_
506#ifdef NO_NIRT_COMPILE_WITH_OBJ_LOADER_
507#undef _NIRT_COMPILE_WITH_OBJ_LOADER_
508#endif
510#define _NIRT_COMPILE_WITH_OCT_LOADER_
511#ifdef NO_NIRT_COMPILE_WITH_OCT_LOADER_
512#undef _NIRT_COMPILE_WITH_OCT_LOADER_
513#endif
515#define _NIRT_COMPILE_WITH_LWO_LOADER_
516#ifdef NO_NIRT_COMPILE_WITH_LWO_LOADER_
517#undef _NIRT_COMPILE_WITH_LWO_LOADER_
518#endif
520#define _NIRT_COMPILE_WITH_STL_LOADER_
521#ifdef NO_NIRT_COMPILE_WITH_STL_LOADER_
522#undef _NIRT_COMPILE_WITH_STL_LOADER_
523#endif
525#define _NIRT_COMPILE_WITH_PLY_LOADER_
526#ifdef NO_NIRT_COMPILE_WITH_PLY_LOADER_
527#undef _NIRT_COMPILE_WITH_PLY_LOADER_
528#endif
530#define _NIRT_COMPILE_WITH_SMF_LOADER_
531#ifdef NO_NIRT_COMPILE_WITH_SMF_LOADER_
532#undef _NIRT_COMPILE_WITH_SMF_LOADER_
533#endif
534
536#define _NIRT_COMPILE_WITH_NIRT_WRITER_
537#ifdef NO_NIRT_COMPILE_WITH_NIRT_WRITER_
538#undef _NIRT_COMPILE_WITH_NIRT_WRITER_
539#endif
541#define _NIRT_COMPILE_WITH_COLLADA_WRITER_
542#ifdef NO_NIRT_COMPILE_WITH_COLLADA_WRITER_
543#undef _NIRT_COMPILE_WITH_COLLADA_WRITER_
544#endif
546#define _NIRT_COMPILE_WITH_STL_WRITER_
547#ifdef NO_NIRT_COMPILE_WITH_STL_WRITER_
548#undef _NIRT_COMPILE_WITH_STL_WRITER_
549#endif
551#define _NIRT_COMPILE_WITH_OBJ_WRITER_
552#ifdef NO_NIRT_COMPILE_WITH_OBJ_WRITER_
553#undef _NIRT_COMPILE_WITH_OBJ_WRITER_
554#endif
556#define _NIRT_COMPILE_WITH_PLY_WRITER_
557#ifdef NO_NIRT_COMPILE_WITH_PLY_WRITER_
558#undef _NIRT_COMPILE_WITH_PLY_WRITER_
559#endif
561#define _NIRT_COMPILE_WITH_B3D_WRITER_
562#ifdef NO_NIRT_COMPILE_WITH_B3D_WRITER_
563#undef _NIRT_COMPILE_WITH_B3D_WRITER_
564#endif
565
568#define _NIRT_COMPILE_WITH_BMP_LOADER_
569#ifdef NO_NIRT_COMPILE_WITH_BMP_LOADER_
570#undef _NIRT_COMPILE_WITH_BMP_LOADER_
571#endif
573#define _NIRT_COMPILE_WITH_JPG_LOADER_
574#ifdef NO_NIRT_COMPILE_WITH_JPG_LOADER_
575#undef _NIRT_COMPILE_WITH_JPG_LOADER_
576#endif
578#define _NIRT_COMPILE_WITH_PCX_LOADER_
579#ifdef NO_NIRT_COMPILE_WITH_PCX_LOADER_
580#undef _NIRT_COMPILE_WITH_PCX_LOADER_
581#endif
583#define _NIRT_COMPILE_WITH_PNG_LOADER_
584#ifdef NO_NIRT_COMPILE_WITH_PNG_LOADER_
585#undef _NIRT_COMPILE_WITH_PNG_LOADER_
586#endif
588#define _NIRT_COMPILE_WITH_PPM_LOADER_
589#ifdef NO_NIRT_COMPILE_WITH_PPM_LOADER_
590#undef _NIRT_COMPILE_WITH_PPM_LOADER_
591#endif
593#define _NIRT_COMPILE_WITH_PSD_LOADER_
594#ifdef NO_NIRT_COMPILE_WITH_PSD_LOADER_
595#undef _NIRT_COMPILE_WITH_PSD_LOADER_
596#endif
598#define _NIRT_COMPILE_WITH_PVR_LOADER_
599#ifdef NO_NIRT_COMPILE_WITH_PVR_LOADER_
600#undef _NIRT_COMPILE_WITH_PVR_LOADER_
601#endif
603// Patent problem isn't related to this loader.
604#define _NIRT_COMPILE_WITH_DDS_LOADER_
605#ifdef NO_NIRT_COMPILE_WITH_DDS_LOADER_
606#undef _NIRT_COMPILE_WITH_DDS_LOADER_
607#endif
610// Outcommented because
611// a) it doesn't compile on 64-bit currently
612// b) anyone enabling it should be aware that S3TC compression algorithm which might be used in that loader
613// is patented in the US by S3 and they do collect license fees when it's used in applications.
614// So if you are unfortunate enough to develop applications for US market and their broken patent system be careful.
615// #define _NIRT_COMPILE_WITH_DDS_DECODER_LOADER_
616#ifdef NO_NIRT_COMPILE_WITH_DDS_DECODER_LOADER_
617#undef _NIRT_COMPILE_WITH_DDS_DECODER_LOADER_
618#endif
619#ifdef _NIRT_COMPILE_WITH_DDS_DECODER_LOADER_
620#undef _NIRT_COMPILE_WITH_DDS_LOADER_
621#endif
623#define _NIRT_COMPILE_WITH_TGA_LOADER_
624#ifdef NO_NIRT_COMPILE_WITH_TGA_LOADER_
625#undef _NIRT_COMPILE_WITH_TGA_LOADER_
626#endif
628#define _NIRT_COMPILE_WITH_WAL_LOADER_
629#ifdef NO_NIRT_COMPILE_WITH_WAL_LOADER_
630#undef _NIRT_COMPILE_WITH_WAL_LOADER_
631#endif
633#define _NIRT_COMPILE_WITH_LMP_LOADER_
634#ifdef NO_NIRT_COMPILE_WITH_LMP_LOADER_
635#undef _NIRT_COMPILE_WITH_LMP_LOADER_
636#endif
638#define _NIRT_COMPILE_WITH_RGB_LOADER_
639#ifdef NO_NIRT_COMPILE_WITH_RGB_LOADER_
640#undef _NIRT_COMPILE_WITH_RGB_LOADER_
641#endif
642
644#define _NIRT_COMPILE_WITH_BMP_WRITER_
645#ifdef NO_NIRT_COMPILE_WITH_BMP_WRITER_
646#undef _NIRT_COMPILE_WITH_BMP_WRITER_
647#endif
649#define _NIRT_COMPILE_WITH_JPG_WRITER_
650#ifdef NO_NIRT_COMPILE_WITH_JPG_WRITER_
651#undef _NIRT_COMPILE_WITH_JPG_WRITER_
652#endif
654#define _NIRT_COMPILE_WITH_PCX_WRITER_
655#ifdef NO_NIRT_COMPILE_WITH_PCX_WRITER_
656#undef _NIRT_COMPILE_WITH_PCX_WRITER_
657#endif
659#define _NIRT_COMPILE_WITH_PNG_WRITER_
660#ifdef NO_NIRT_COMPILE_WITH_PNG_WRITER_
661#undef _NIRT_COMPILE_WITH_PNG_WRITER_
662#endif
664#define _NIRT_COMPILE_WITH_PPM_WRITER_
665#ifdef NO_NIRT_COMPILE_WITH_PPM_WRITER_
666#undef _NIRT_COMPILE_WITH_PPM_WRITER_
667#endif
669#define _NIRT_COMPILE_WITH_PSD_WRITER_
670#ifdef NO_NIRT_COMPILE_WITH_PSD_WRITER_
671#undef _NIRT_COMPILE_WITH_PSD_WRITER_
672#endif
674#define _NIRT_COMPILE_WITH_TGA_WRITER_
675#ifdef NO_NIRT_COMPILE_WITH_TGA_WRITER_
676#undef _NIRT_COMPILE_WITH_TGA_WRITER_
677#endif
678
680
681#define __NIRT_COMPILE_WITH_ZIP_ARCHIVE_LOADER_
682#ifdef NO__NIRT_COMPILE_WITH_ZIP_ARCHIVE_LOADER_
683#undef __NIRT_COMPILE_WITH_ZIP_ARCHIVE_LOADER_
684#endif
685#ifdef __NIRT_COMPILE_WITH_ZIP_ARCHIVE_LOADER_
687
690#define _NIRT_COMPILE_WITH_ZLIB_
691#ifdef NO_NIRT_COMPILE_WITH_ZLIB_
692#undef _NIRT_COMPILE_WITH_ZLIB_
693#endif
695
700//#define _NIRT_USE_NON_SYSTEM_ZLIB_
701#ifdef NO_NIRT_USE_NON_SYSTEM_ZLIB_
702#undef _NIRT_USE_NON_SYSTEM_ZLIB_
703#endif
705#define _NIRT_COMPILE_WITH_ZIP_ENCRYPTION_
706#ifdef NO_NIRT_COMPILE_WITH_ZIP_ENCRYPTION_
707#undef _NIRT_COMPILE_WITH_ZIP_ENCRYPTION_
708#endif
710
713#define _NIRT_COMPILE_WITH_BZIP2_
714#ifdef NO_NIRT_COMPILE_WITH_BZIP2_
715#undef _NIRT_COMPILE_WITH_BZIP2_
716#endif
718
723//#define _NIRT_USE_NON_SYSTEM_BZLIB_
724#ifdef NO_NIRT_USE_NON_SYSTEM_BZLIB_
725#undef _NIRT_USE_NON_SYSTEM_BZLIB_
726#endif
728
730#define _NIRT_COMPILE_WITH_LZMA_
731#ifdef NO_NIRT_COMPILE_WITH_LZMA_
732#undef _NIRT_COMPILE_WITH_LZMA_
733#endif
734#endif
735
737#define __NIRT_COMPILE_WITH_MOUNT_ARCHIVE_LOADER_
738#ifdef NO__NIRT_COMPILE_WITH_MOUNT_ARCHIVE_LOADER_
739#undef __NIRT_COMPILE_WITH_MOUNT_ARCHIVE_LOADER_
740#endif
742#define __NIRT_COMPILE_WITH_PAK_ARCHIVE_LOADER_
743#ifdef NO__NIRT_COMPILE_WITH_PAK_ARCHIVE_LOADER_
744#undef __NIRT_COMPILE_WITH_PAK_ARCHIVE_LOADER_
745#endif
747#define __NIRT_COMPILE_WITH_NPK_ARCHIVE_LOADER_
748#ifdef NO__NIRT_COMPILE_WITH_NPK_ARCHIVE_LOADER_
749#undef __NIRT_COMPILE_WITH_NPK_ARCHIVE_LOADER_
750#endif
752#define __NIRT_COMPILE_WITH_TAR_ARCHIVE_LOADER_
753#ifdef NO__NIRT_COMPILE_WITH_TAR_ARCHIVE_LOADER_
754#undef __NIRT_COMPILE_WITH_TAR_ARCHIVE_LOADER_
755#endif
757#define __NIRT_COMPILE_WITH_WAD_ARCHIVE_LOADER_
758#ifdef NO__NIRT_COMPILE_WITH_WAD_ARCHIVE_LOADER_
759#undef __NIRT_COMPILE_WITH_WAD_ARCHIVE_LOADER_
760#endif
761
763
766#if !defined(_NIRT_OSX_PLATFORM_) && !defined(_NIRT_SOLARIS_PLATFORM_)
767 //#define NIRTCPP_FAST_MATH
768 #ifdef NO_NIRTCPP_FAST_MATH
769 #undef NIRTCPP_FAST_MATH
770 #endif
771#endif
772
773// Some cleanup and standard stuff
774
775#ifdef _NIRT_WINDOWS_API_
776
777// To build Nirtcpp as a static library, you must define _NIRT_STATIC_LIB_ in both the
778// Nirtcpp build, *and* in the user application, before #including <nirtcpp/core/engine/nirtcpp.hpp>
779#ifndef _NIRT_STATIC_LIB_
780#ifdef NIRTCPP_EXPORTS
781#define NIRTCPP_API __declspec(dllexport)
782#else
783#define NIRTCPP_API __declspec(dllimport)
784#endif // NIRTCPP_EXPORT
785#else
786#define NIRTCPP_API
787#endif // _NIRT_STATIC_LIB_
788
789// Declare the calling convention.
790#if defined(_STDCALL_SUPPORTED)
791#define IRRCALLCONV __stdcall
792#else
793#define IRRCALLCONV __cdecl
794#endif // STDCALL_SUPPORTED
795
796#else // _NIRT_WINDOWS_API_
797
798// Force symbol export in shared libraries built with gcc.
799#if (__GNUC__ >= 4) && !defined(_NIRT_STATIC_LIB_) && defined(NIRTCPP_EXPORTS)
800#define NIRTCPP_API __attribute__ ((visibility("default")))
801#else
802#define NIRTCPP_API
803#endif
804
805#define IRRCALLCONV
806
807#endif // _NIRT_WINDOWS_API_
808
809#ifndef _NIRT_WINDOWS_API_
810 #undef _NIRT_WCHAR_FILESYSTEM
811#endif
812
813#if defined(_NIRT_SOLARIS_PLATFORM_)
814 #undef _NIRT_COMPILE_WITH_JOYSTICK_EVENTS_
815#endif
816
818#define __NIRT_HAS_S64
819#ifdef NO__NIRT_HAS_S64
820#undef __NIRT_HAS_S64
821#endif
822
823// These depend on XML
824#ifndef _NIRT_COMPILE_WITH_XML_
825 #undef _NIRT_COMPILE_WITH_NIRT_MESH_LOADER_
826 #undef _NIRT_COMPILE_WITH_NIRT_WRITER_
827 #undef _NIRT_COMPILE_WITH_COLLADA_WRITER_
828 #undef _NIRT_COMPILE_WITH_COLLADA_LOADER_
829#endif
830
831#if defined(__BORLANDC__)
832 #include <tchar.h>
833
834 // Borland 5.5.1
835 #if __BORLANDC__ == 0x551
836 #undef _tfinddata_t
837 #undef _tfindfirst
838 #undef _tfindnext
839
840 #define _tfinddata_t __tfinddata_t
841 #define _tfindfirst __tfindfirst
842 #define _tfindnext __tfindnext
843 using intptr_t = long;
844 #endif
845#endif
846
847#ifndef __has_feature
848 #define __has_feature(x) 0 // Compatibility with non-clang compilers.
849#endif
850
851#ifdef _DEBUG
853 // NOTE: Those attributes were used always until 1.8.0 and became a global define for 1.8.1
854 // which is only enabled in debug because it had a large (sometimes >5%) impact on speed.
855 // A better solution in the long run is to break the interface and remove _all_ attribute
856 // access in functions like CSceneManager::drawAll and instead put that information in some
857 // own class or in CSceneManager.
858 // See http://nirtcpp.sourceforge.net/forum/viewtopic.php?f=2&t=48211 for the discussion.
859 #define _NIRT_SCENEMANAGER_DEBUG
860 #ifdef NO_NIRT_SCENEMANAGER_DEBUG
861 #undef _NIRT_SCENEMANAGER_DEBUG
862 #endif
863#endif
864
866/* - Allow Camera 90 degree up, Target==Position,buildCameraLookAtMatrixLH
867 - pre v1.9 CCameraSceneNode moved the up non-particular in the positive x-Direction. not compatible
868 - Enabled is not compatible with Nirtcpp Collision and Response.
869*/
870//#define _NIRT_COMPILE_WITH_90_DEGREE_CAMERA
871
872// Device user settings can overwrite above settings.
873#include <nirtcpp/core/engine/device_user_options.hpp>
874
875#endif // NIRT_COMPILE_CONFIG_HPP_INCLUDED
876

Nirtcpp    @cppfx.xyz

Utxcpp    utx::print