OpenXcom  1.0
Open-source clone of the original X-Com
pch.h
1 #pragma once
2 
3 // uncomment to check memory leaks in VS
4 //#define _CRTDBG_MAP_ALLOC
5 //#include <stdlib.h>
6 //#include <crtdbg.h>
7 
8 // c++ headers
9 #ifdef _MSC_VER
10 #define _SCL_SECURE_NO_WARNINGS
11 #define _CRT_SECURE_NO_WARNINGS
12 #endif
13 #define _USE_MATH_DEFINES
14 #include <algorithm>
15 #include <assert.h>
16 #include <bitset>
17 #include <cassert>
18 #include <cctype>
19 #include <cfloat>
20 #include <climits>
21 #include <cmath>
22 #include <cstdarg>
23 #include <cstddef>
24 #include <cstdio>
25 #include <cstdlib>
26 #include <cstring>
27 #include <ctime>
28 #include <deque>
29 #include <errno.h>
30 #include <exception>
31 #include <fstream>
32 #include <functional>
33 #include <iomanip>
34 #include <iostream>
35 #include <list>
36 #include <locale>
37 #include <map>
38 #include <memory.h>
39 #include <queue>
40 #include <set>
41 #include <sstream>
42 #include <stack>
43 #include <stdarg.h>
44 #include <stdint.h>
45 #include <stdio.h>
46 #include <stdlib.h>
47 #include <string.h>
48 #include <string>
49 #include <sys/stat.h>
50 #include <sys/types.h>
51 #include <time.h>
52 #include <typeinfo>
53 #include <utility>
54 #include <vector>
55 #include <wchar.h>
56 
57 #ifdef _WIN32
58 #ifndef NOMINMAX
59 #define NOMINMAX
60 #endif
61 #define WIN32_LEAN_AND_MEAN
62 #include <windows.h>
63 #include <malloc.h>
64 #else
65 #include <dirent.h>
66 #include <execinfo.h>
67 #include <pwd.h>
68 #include <sys/param.h>
69 #include <signal.h>
70 #include <unistd.h>
71 #endif
72 
73 #ifdef __MORPHOS__
74 #include <ppcinline/exec.h>
75 #endif
76 
77 #if (_MSC_VER >= 1400) || (defined(__MINGW32__) && defined(__SSE2__))
78 
79 #ifndef __SSE2__
80 #define __SSE2__ true
81 #endif
82 // probably Visual Studio (or Intel C++ which should also work)
83 #include <intrin.h>
84 #endif
85 
86 #ifdef __GNUC__
87 #if (__i386__ || __x86_64__)
88 #include <cpuid.h>
89 #endif
90 #endif
91 
92 #ifdef __SSE2__
93 #include <emmintrin.h> // for SSE2 intrinsics; see http://msdn.microsoft.com/en-us/library/has3d153%28v=vs.71%29.aspx
94 #endif
95 
96 // library headers
97 #ifndef __NO_OPENGL
98 #ifdef __APPLE__
99 #include <OpenGL/gl.h>
100 #include <OpenGL/glu.h>
101 #include <OpenGL/glext.h>
102 #include <GLUT/glut.h>
103 #endif
104 #include <SDL_opengl.h>
105 #endif
106 
107 #include <SDL.h>
108 #include <SDL_endian.h>
109 #include <SDL_gfxPrimitives.h>
110 #include <SDL_image.h>
111 #include <SDL_keysym.h>
112 #include <SDL_mixer.h>
113 #include <SDL_opengl.h>
114 #include <SDL_syswm.h>
115 #include <SDL_thread.h>
116 #include <SDL_types.h>
117 #include <SDL_video.h>
118 #include <yaml-cpp/yaml.h>
119 #include "./dirent.h"
120 #include "./lodepng.h"
121 
122 // uncomment to check memory leaks in VS
123 //#ifndef DBG_NEW
124 //#define DBG_NEW new ( _NORMAL_BLOCK , __FILE__ , __LINE__ )
125 //#define new DBG_NEW
126 //#endif
127 
128 // openxcom headers
129 #include "./fmath.h"
130 #include "./version.h"
131 
132 #include "./Engine/Adlib/adlplayer.h"
133 #include "./Engine/Adlib/fmopl.h"
134 #include "./Engine/Scalers/common.h"
135 #include "./Engine/Scalers/config.h"
136 #include "./Engine/Scalers/hqx.h"
137 #include "./Engine/Scalers/scale2x.h"
138 #include "./Engine/Scalers/scale3x.h"
139 #include "./Engine/Scalers/scalebit.h"
140 #include "./Engine/Scalers/xbrz.h"
141 #include "./Engine/Action.h"
142 #include "./Engine/AdlibMusic.h"
143 #include "./Engine/CatFile.h"
144 #include "./Engine/CrossPlatform.h"
145 #include "./Engine/Exception.h"
146 #include "./Engine/FastLineClip.h"
147 #include "./Engine/FileMap.h"
148 #include "./Engine/FlcPlayer.h"
149 #include "./Engine/Font.h"
150 #include "./Engine/Game.h"
151 #include "./Engine/GMCat.h"
152 #include "./Engine/GraphSubset.h"
153 #include "./Engine/InteractiveSurface.h"
154 #include "./Engine/Language.h"
155 #include "./Engine/LanguagePlurality.h"
156 #include "./Engine/LocalizedText.h"
157 #include "./Engine/Logger.h"
158 #include "./Engine/ModInfo.h"
159 #include "./Engine/Music.h"
160 #include "./Engine/OpenGL.h"
161 #include "./Engine/OptionInfo.h"
162 #include "./Engine/Options.h"
163 #include "./Engine/Palette.h"
164 #include "./Engine/RNG.h"
165 #include "./Engine/Screen.h"
166 #include "./Engine/ShaderDraw.h"
167 #include "./Engine/ShaderDrawHelper.h"
168 #include "./Engine/ShaderMove.h"
169 #include "./Engine/ShaderRepeat.h"
170 #include "./Engine/Sound.h"
171 #include "./Engine/SoundSet.h"
172 #include "./Engine/State.h"
173 #include "./Engine/Surface.h"
174 #include "./Engine/SurfaceSet.h"
175 #include "./Engine/Timer.h"
176 #include "./Engine/Zoom.h"
177 #include "./Interface/ArrowButton.h"
178 #include "./Interface/Bar.h"
179 #include "./Interface/BattlescapeButton.h"
180 #include "./Interface/ComboBox.h"
181 #include "./Interface/Cursor.h"
182 #include "./Interface/FpsCounter.h"
183 #include "./Interface/Frame.h"
184 #include "./Interface/ImageButton.h"
185 #include "./Interface/NumberText.h"
186 #include "./Interface/ScrollBar.h"
187 #include "./Interface/Slider.h"
188 #include "./Interface/Text.h"
189 #include "./Interface/TextButton.h"
190 #include "./Interface/TextEdit.h"
191 #include "./Interface/TextList.h"
192 #include "./Interface/ToggleTextButton.h"
193 #include "./Interface/Window.h"