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
Esvcpp
esv::print