1 // -------------------------------------------------------------------------------
2 //
3 //         DXライブラリ        Windows用データタイプ定義ヘッダファイル
4 //
5 //                 Ver 3.22a
6 //
7 // -------------------------------------------------------------------------------
8 module dxlib_d.dxdatayypewin;
9 
10 
11 version (Windows):
12 
13 extern (C):
14 nothrow @nogc:
15 
16 // インクルード ------------------------------------------------------------------
17 public import dxlib_d.dxcompileconfig;
18 
19 /+
20 #if defined(__c2__) && __clang_major__ == 3 && __clang_minor__ == 8
21 	//To avoid compile error
22 	//C:\Program Files (x86)\Windows Kits\8.1\Include\um\combaseapi.h(229,21): error : unknown type name 'IUnknown'
23 	//          static_cast<IUnknown*>(*pp);    // make sure everyone derives from IUnknown
24 	struct IUnknown;
25 #endif
26 +/
27 
28 private static import core.stdc.stddef;
29 private static import core.sys.windows.windef;
30 private static import core.sys.windows.wingdi;
31 private static import core.sys.windows.winnt;
32 private static import dxlib_d.dxlib;
33 
34 // ライブラリリンク定義--------------------------------------------------------
35 
36 version (DX_MAKE) {
37 } else {
38 	version (DX_LIB_NOT_DEFAULTPATH) {
39 	} else {
40 		version (DX_GCC_COMPILE) {
41 		} else {
42 			version (DX_SRC_COMPILE) {
43 			} else {
44 				//#ifdef _MSC_VER
45 				version (Windows) {
46 					//#if _MSC_VER < 1700
47 					version (none) {
48 						version (Win64) {
49 							debug {
50 								//  描画部分の抜き出し
51 								pragma(lib, "DxDrawFunc_x64_d.lib");
52 
53 								version (Unicode) {
54 									//  DXライブラリ使用指定
55 									pragma(lib, "DxLibW_x64_d.lib");
56 
57 									//  標準Cライブラリを使用する部分の lib ファイルの使用指定
58 									pragma(lib, "DxUseCLibW_x64_d.lib");
59 								} else {
60 									//  DXライブラリ使用指定
61 									pragma(lib, "DxLib_x64_d.lib");
62 
63 									//  標準Cライブラリを使用する部分の lib ファイルの使用指定
64 									pragma(lib, "DxUseCLib_x64_d.lib");
65 								}
66 							} else {
67 								//  描画部分の抜き出し
68 								pragma(lib, "DxDrawFunc_x64.lib");
69 
70 								version (Unicode) {
71 									//  DXライブラリ使用指定
72 									pragma(lib, "DxLibW_x64.lib");
73 
74 									//  標準Cライブラリを使用する部分の lib ファイルの使用指定
75 									pragma(lib, "DxUseCLibW_x64.lib");
76 								} else {
77 									//  DXライブラリ使用指定
78 									pragma(lib, "DxLib_x64.lib");
79 
80 									//  標準Cライブラリを使用する部分の lib ファイルの使用指定
81 									pragma(lib, "DxUseCLib_x64.lib");
82 								}
83 							}
84 						} else {
85 							debug {
86 								//  描画部分の抜き出し
87 								pragma(lib, "DxDrawFunc_d.lib");
88 
89 								version (Unicode) {
90 									//  DXライブラリ使用指定
91 									pragma(lib, "DxLibW_d.lib");
92 
93 									//  標準Cライブラリを使用する部分の lib ファイルの使用指定
94 									pragma(lib, "DxUseCLibW_d.lib");
95 								} else {
96 									//  DXライブラリ使用指定
97 									pragma(lib, "DxLib_d.lib");
98 
99 									//  標準Cライブラリを使用する部分の lib ファイルの使用指定
100 									pragma(lib, "DxUseCLib_d.lib");
101 								}
102 							} else {
103 								//  描画部分の抜き出し
104 								pragma(lib, "DxDrawFunc.lib");
105 
106 								version (Unicode) {
107 									//  DXライブラリ使用指定
108 									pragma(lib, "DxLibW.lib");
109 
110 									//  標準Cライブラリを使用する部分の lib ファイルの使用指定
111 									pragma(lib, "DxUseCLibW.lib");
112 								} else {
113 									//  DXライブラリ使用指定
114 									pragma(lib, "DxLib.lib");
115 
116 									//  標準Cライブラリを使用する部分の lib ファイルの使用指定
117 									pragma(lib, "DxUseCLib.lib");
118 								}
119 							}
120 						}
121 					} else {
122 						//#if _MSC_VER >= 1900
123 						version (all) {
124 							version (DLL) {
125 								version (Win64) {
126 									debug {
127 										//  描画部分の抜き出し
128 										pragma(lib, "DxDrawFunc_vs2015_x64_MDd.lib");
129 
130 										version (Unicode) {
131 											//  DXライブラリ使用指定
132 											pragma(lib, "DxLibW_vs2015_x64_MDd.lib");
133 
134 											//#if defined(_ITERATOR_DEBUG_LEVEL) && _ITERATOR_DEBUG_LEVEL == 0
135 											version (none) {
136 												//  標準Cライブラリを使用する部分の lib ファイルの使用指定
137 												pragma(lib, "DxUseCLibW_vs2015_x64_ItrDbgLv0_MDd.lib");
138 											} else {
139 												//  標準Cライブラリを使用する部分の lib ファイルの使用指定
140 												pragma(lib, "DxUseCLibW_vs2015_x64_MDd.lib");
141 											}
142 										} else {
143 											//  DXライブラリ使用指定
144 											pragma(lib, "DxLib_vs2015_x64_MDd.lib");
145 
146 											//#if defined(_ITERATOR_DEBUG_LEVEL) && _ITERATOR_DEBUG_LEVEL == 0
147 											version (none) {
148 												//  標準Cライブラリを使用する部分の lib ファイルの使用指定
149 												pragma(lib, "DxUseCLib_vs2015_x64_ItrDbgLv0_MDd.lib");
150 											} else {
151 												//  標準Cライブラリを使用する部分の lib ファイルの使用指定
152 												pragma(lib, "DxUseCLib_vs2015_x64_MDd.lib");
153 											}
154 										}
155 									} else {
156 										//  描画部分の抜き出し
157 										pragma(lib, "DxDrawFunc_vs2015_x64_MD.lib");
158 
159 										version (Unicode) {
160 											//  DXライブラリ使用指定
161 											pragma(lib, "DxLibW_vs2015_x64_MD.lib");
162 
163 											//  標準Cライブラリを使用する部分の lib ファイルの使用指定
164 											pragma(lib, "DxUseCLibW_vs2015_x64_MD.lib");
165 										} else {
166 											//  DXライブラリ使用指定
167 											pragma(lib, "DxLib_vs2015_x64_MD.lib");
168 
169 											//  標準Cライブラリを使用する部分の lib ファイルの使用指定
170 											pragma(lib, "DxUseCLib_vs2015_x64_MD.lib");
171 										}
172 									}
173 								} else {
174 									debug {
175 										//  描画部分の抜き出し
176 										pragma(lib, "DxDrawFunc_vs2015_x86_MDd.lib");
177 
178 										version (Unicode) {
179 											//  DXライブラリ使用指定
180 											pragma(lib, "DxLibW_vs2015_x86_MDd.lib");
181 
182 											//#if defined(_ITERATOR_DEBUG_LEVEL) && _ITERATOR_DEBUG_LEVEL == 0
183 											version (none) {
184 												//  標準Cライブラリを使用する部分の lib ファイルの使用指定
185 												pragma(lib, "DxUseCLibW_vs2015_x86_ItrDbgLv0_MDd.lib");
186 											} else {
187 												//  標準Cライブラリを使用する部分の lib ファイルの使用指定
188 												pragma(lib, "DxUseCLibW_vs2015_x86_MDd.lib");
189 											}
190 										} else {
191 											//  DXライブラリ使用指定
192 											pragma(lib, "DxLib_vs2015_x86_MDd.lib");
193 
194 											//#if defined(_ITERATOR_DEBUG_LEVEL) && _ITERATOR_DEBUG_LEVEL == 0
195 											version (none) {
196 												//  標準Cライブラリを使用する部分の lib ファイルの使用指定
197 												pragma(lib, "DxUseCLib_vs2015_x86_ItrDbgLv0_MDd.lib");
198 											} else {
199 												//  標準Cライブラリを使用する部分の lib ファイルの使用指定
200 												pragma(lib, "DxUseCLib_vs2015_x86_MDd.lib");
201 											}
202 										}
203 									} else {
204 										//  描画部分の抜き出し
205 										pragma(lib, "DxDrawFunc_vs2015_x86_MD.lib");
206 
207 										version (Unicode) {
208 											//  DXライブラリ使用指定
209 											pragma(lib, "DxLibW_vs2015_x86_MD.lib");
210 
211 											//  標準Cライブラリを使用する部分の lib ファイルの使用指定
212 											pragma(lib, "DxUseCLibW_vs2015_x86_MD.lib");
213 										} else {
214 											//  DXライブラリ使用指定
215 											pragma(lib, "DxLib_vs2015_x86_MD.lib");
216 
217 											//  標準Cライブラリを使用する部分の lib ファイルの使用指定
218 											pragma(lib, "DxUseCLib_vs2015_x86_MD.lib");
219 										}
220 									}
221 								}
222 							} else {
223 								version (Win64) {
224 									debug {
225 										//  描画部分の抜き出し
226 										pragma(lib, "DxDrawFunc_vs2015_x64_MTd.lib");
227 
228 										version (Unicode) {
229 											//  DXライブラリ使用指定
230 											pragma(lib, "DxLibW_vs2015_x64_MTd.lib");
231 
232 											//#if defined(_ITERATOR_DEBUG_LEVEL) && _ITERATOR_DEBUG_LEVEL == 0
233 											version (none) {
234 												//  標準Cライブラリを使用する部分の lib ファイルの使用指定
235 												pragma(lib, "DxUseCLibW_vs2015_x64_ItrDbgLv0_MTd.lib");
236 											} else {
237 												//  標準Cライブラリを使用する部分の lib ファイルの使用指定
238 												pragma(lib, "DxUseCLibW_vs2015_x64_MTd.lib");
239 											}
240 										} else {
241 											//  DXライブラリ使用指定
242 											pragma(lib, "DxLib_vs2015_x64_MTd.lib");
243 
244 											//#if defined(_ITERATOR_DEBUG_LEVEL) && _ITERATOR_DEBUG_LEVEL == 0
245 											version (none) {
246 												//  標準Cライブラリを使用する部分の lib ファイルの使用指定
247 												pragma(lib, "DxUseCLib_vs2015_x64_ItrDbgLv0_MTd.lib");
248 											} else {
249 												//  標準Cライブラリを使用する部分の lib ファイルの使用指定
250 												pragma(lib, "DxUseCLib_vs2015_x64_MTd.lib");
251 											}
252 										}
253 									} else {
254 										//  描画部分の抜き出し
255 										pragma(lib, "DxDrawFunc_vs2015_x64_MT.lib");
256 
257 										version (Unicode) {
258 											//  DXライブラリ使用指定
259 											pragma(lib, "DxLibW_vs2015_x64_MT.lib");
260 
261 											//  標準Cライブラリを使用する部分の lib ファイルの使用指定
262 											pragma(lib, "DxUseCLibW_vs2015_x64_MT.lib");
263 										} else {
264 											//  DXライブラリ使用指定
265 											pragma(lib, "DxLib_vs2015_x64_MT.lib");
266 
267 											//  標準Cライブラリを使用する部分の lib ファイルの使用指定
268 											pragma(lib, "DxUseCLib_vs2015_x64_MT.lib");
269 										}
270 									}
271 								} else {
272 									debug {
273 										//  描画部分の抜き出し
274 										pragma(lib, "DxDrawFunc_vs2015_x86_MTd.lib");
275 
276 										version (Unicode) {
277 											//  DXライブラリ使用指定
278 											pragma(lib, "DxLibW_vs2015_x86_MTd.lib");
279 
280 											//#if defined(_ITERATOR_DEBUG_LEVEL) && _ITERATOR_DEBUG_LEVEL == 0
281 											version (none) {
282 												//  標準Cライブラリを使用する部分の lib ファイルの使用指定
283 												pragma(lib, "DxUseCLibW_vs2015_x86_ItrDbgLv0_MTd.lib");
284 											} else {
285 												//  標準Cライブラリを使用する部分の lib ファイルの使用指定
286 												pragma(lib, "DxUseCLibW_vs2015_x86_MTd.lib");
287 											}
288 										} else {
289 											//  DXライブラリ使用指定
290 											pragma(lib, "DxLib_vs2015_x86_MTd.lib");
291 
292 											//#if defined(_ITERATOR_DEBUG_LEVEL) && _ITERATOR_DEBUG_LEVEL == 0
293 											version (none) {
294 												//  標準Cライブラリを使用する部分の lib ファイルの使用指定
295 												pragma(lib, "DxUseCLib_vs2015_x86_ItrDbgLv0_MTd.lib");
296 											} else {
297 												//  標準Cライブラリを使用する部分の lib ファイルの使用指定
298 												pragma(lib, "DxUseCLib_vs2015_x86_MTd.lib");
299 											}
300 										}
301 									} else {
302 										//  描画部分の抜き出し
303 										pragma(lib, "DxDrawFunc_vs2015_x86_MT.lib");
304 
305 										version (Unicode) {
306 											//  DXライブラリ使用指定
307 											pragma(lib, "DxLibW_vs2015_x86_MT.lib");
308 
309 											//  標準Cライブラリを使用する部分の lib ファイルの使用指定
310 											pragma(lib, "DxUseCLibW_vs2015_x86_MT.lib");
311 										} else {
312 											//  DXライブラリ使用指定
313 											pragma(lib, "DxLib_vs2015_x86_MT.lib");
314 
315 											//  標準Cライブラリを使用する部分の lib ファイルの使用指定
316 											pragma(lib, "DxUseCLib_vs2015_x86_MT.lib");
317 										}
318 									}
319 								}
320 							}
321 						} else version (none) {
322 							//_MSC_VER >= 1800
323 
324 							version (Win64) {
325 								debug {
326 									//  描画部分の抜き出し
327 									pragma(lib, "DxDrawFunc_vs2012_x64_d.lib");
328 
329 									version (Unicode) {
330 										//  DXライブラリ使用指定
331 										pragma(lib, "DxLibW_vs2012_x64_d.lib");
332 
333 										//#if defined(_ITERATOR_DEBUG_LEVEL) && _ITERATOR_DEBUG_LEVEL == 0
334 										version (none) {
335 											//  標準Cライブラリを使用する部分の lib ファイルの使用指定
336 											pragma(lib, "DxUseCLibW_vs2013_x64_ItrDbgLv0_d.lib");
337 										} else {
338 											//  標準Cライブラリを使用する部分の lib ファイルの使用指定
339 											pragma(lib, "DxUseCLibW_vs2013_x64_d.lib");
340 										}
341 									} else {
342 										//  DXライブラリ使用指定
343 										pragma(lib, "DxLib_vs2012_x64_d.lib");
344 
345 										//#if defined(_ITERATOR_DEBUG_LEVEL) && _ITERATOR_DEBUG_LEVEL == 0
346 										version (none) {
347 											//  標準Cライブラリを使用する部分の lib ファイルの使用指定
348 											pragma(lib, "DxUseCLib_vs2013_x64_ItrDbgLv0_d.lib");
349 										} else {
350 											//  標準Cライブラリを使用する部分の lib ファイルの使用指定
351 											pragma(lib, "DxUseCLib_vs2013_x64_d.lib");
352 										}
353 									}
354 								} else {
355 									//  描画部分の抜き出し
356 									pragma(lib, "DxDrawFunc_vs2012_x64.lib");
357 
358 									version (Unicode) {
359 										//  DXライブラリ使用指定
360 										pragma(lib, "DxLibW_vs2012_x64.lib");
361 
362 										//  標準Cライブラリを使用する部分の lib ファイルの使用指定
363 										pragma(lib, "DxUseCLibW_vs2013_x64.lib");
364 									} else {
365 										//  DXライブラリ使用指定
366 										pragma(lib, "DxLib_vs2012_x64.lib");
367 
368 										//  標準Cライブラリを使用する部分の lib ファイルの使用指定
369 										pragma(lib, "DxUseCLib_vs2013_x64.lib");
370 									}
371 								}
372 							} else {
373 								debug {
374 									//  描画部分の抜き出し
375 									pragma(lib, "DxDrawFunc_vs2012_x86_d.lib");
376 
377 									version (Unicode) {
378 										//  DXライブラリ使用指定
379 										pragma(lib, "DxLibW_vs2012_x86_d.lib");
380 
381 										//#if defined(_ITERATOR_DEBUG_LEVEL) && _ITERATOR_DEBUG_LEVEL == 0
382 										version (none) {
383 											//  標準Cライブラリを使用する部分の lib ファイルの使用指定
384 											pragma(lib, "DxUseCLibW_vs2013_x86_ItrDbgLv0_d.lib");
385 										} else {
386 											//  標準Cライブラリを使用する部分の lib ファイルの使用指定
387 											pragma(lib, "DxUseCLibW_vs2013_x86_d.lib");
388 										}
389 									} else {
390 										//  DXライブラリ使用指定
391 										pragma(lib, "DxLib_vs2012_x86_d.lib");
392 
393 										//#if defined(_ITERATOR_DEBUG_LEVEL) && _ITERATOR_DEBUG_LEVEL == 0
394 										version (none) {
395 											//  標準Cライブラリを使用する部分の lib ファイルの使用指定
396 											pragma(lib, "DxUseCLib_vs2013_x86_ItrDbgLv0_d.lib");
397 										} else {
398 											//  標準Cライブラリを使用する部分の lib ファイルの使用指定
399 											pragma(lib, "DxUseCLib_vs2013_x86_d.lib");
400 										}
401 									}
402 								} else {
403 									//  描画部分の抜き出し
404 									pragma(lib, "DxDrawFunc_vs2012_x86.lib");
405 
406 									version (Unicode) {
407 										//  DXライブラリ使用指定
408 										pragma(lib, "DxLibW_vs2012_x86.lib");
409 
410 										//  標準Cライブラリを使用する部分の lib ファイルの使用指定
411 										pragma(lib, "DxUseCLibW_vs2013_x86.lib");
412 									} else {
413 										//  DXライブラリ使用指定
414 										pragma(lib, "DxLib_vs2012_x86.lib");
415 
416 										//  標準Cライブラリを使用する部分の lib ファイルの使用指定
417 										pragma(lib, "DxUseCLib_vs2013_x86.lib");
418 									}
419 								}
420 							}
421 						} else version (none) {
422 							//_MSC_VER >= 1700
423 
424 							version (Win64) {
425 								debug {
426 									//  描画部分の抜き出し
427 									pragma(lib, "DxDrawFunc_vs2012_x64_d.lib");
428 
429 									version (Unicode) {
430 										//  DXライブラリ使用指定
431 										pragma(lib, "DxLibW_vs2012_x64_d.lib");
432 
433 										//#if defined(_ITERATOR_DEBUG_LEVEL) && _ITERATOR_DEBUG_LEVEL == 0
434 										version (none) {
435 											//  標準Cライブラリを使用する部分の lib ファイルの使用指定
436 											pragma(lib, "DxUseCLibW_vs2012_x64_ItrDbgLv0_d.lib");
437 										} else {
438 											//  標準Cライブラリを使用する部分の lib ファイルの使用指定
439 											pragma(lib, "DxUseCLibW_vs2012_x64_d.lib");
440 										}
441 									} else {
442 										//  DXライブラリ使用指定
443 										pragma(lib, "DxLib_vs2012_x64_d.lib");
444 
445 										//#if defined(_ITERATOR_DEBUG_LEVEL) && _ITERATOR_DEBUG_LEVEL == 0
446 										version (none) {
447 											//  標準Cライブラリを使用する部分の lib ファイルの使用指定
448 											pragma(lib, "DxUseCLib_vs2012_x64_ItrDbgLv0_d.lib");
449 										} else {
450 											//  標準Cライブラリを使用する部分の lib ファイルの使用指定
451 											pragma(lib, "DxUseCLib_vs2012_x64_d.lib");
452 										}
453 									}
454 								} else {
455 									//  描画部分の抜き出し
456 									pragma(lib, "DxDrawFunc_vs2012_x64.lib");
457 
458 									version (Unicode) {
459 										//  DXライブラリ使用指定
460 										pragma(lib, "DxLibW_vs2012_x64.lib");
461 
462 										//  標準Cライブラリを使用する部分の lib ファイルの使用指定
463 										pragma(lib, "DxUseCLibW_vs2012_x64.lib");
464 									} else {
465 										//  DXライブラリ使用指定
466 										pragma(lib, "DxLib_vs2012_x64.lib");
467 
468 										//  標準Cライブラリを使用する部分の lib ファイルの使用指定
469 										pragma(lib, "DxUseCLib_vs2012_x64.lib");
470 									}
471 								}
472 							} else {
473 								debug {
474 									//  描画部分の抜き出し
475 									pragma(lib, "DxDrawFunc_vs2012_x86_d.lib");
476 
477 									version (Unicode) {
478 										//  DXライブラリ使用指定
479 										pragma(lib, "DxLibW_vs2012_x86_d.lib");
480 
481 										//#if defined(_ITERATOR_DEBUG_LEVEL) && _ITERATOR_DEBUG_LEVEL == 0
482 										version (none) {
483 											//  標準Cライブラリを使用する部分の lib ファイルの使用指定
484 											pragma(lib, "DxUseCLibW_vs2012_x86_ItrDbgLv0_d.lib");
485 										} else {
486 											//  標準Cライブラリを使用する部分の lib ファイルの使用指定
487 											pragma(lib, "DxUseCLibW_vs2012_x86_d.lib");
488 										}
489 									} else {
490 										//  DXライブラリ使用指定
491 										pragma(lib, "DxLib_vs2012_x86_d.lib");
492 
493 										//#if defined(_ITERATOR_DEBUG_LEVEL) && _ITERATOR_DEBUG_LEVEL == 0
494 										version (none) {
495 											//  標準Cライブラリを使用する部分の lib ファイルの使用指定
496 											pragma(lib, "DxUseCLib_vs2012_x86_ItrDbgLv0_d.lib");
497 										} else {
498 											//  標準Cライブラリを使用する部分の lib ファイルの使用指定
499 											pragma(lib, "DxUseCLib_vs2012_x86_d.lib");
500 										}
501 									}
502 								} else {
503 									//  描画部分の抜き出し
504 									pragma(lib, "DxDrawFunc_vs2012_x86.lib");
505 
506 									version (Unicode) {
507 										//  DXライブラリ使用指定
508 										pragma(lib, "DxLibW_vs2012_x86.lib");
509 
510 										//  標準Cライブラリを使用する部分の lib ファイルの使用指定
511 										pragma(lib, "DxUseCLibW_vs2012_x86.lib");
512 									} else {
513 										//  DXライブラリ使用指定
514 										pragma(lib, "DxLib_vs2012_x86.lib");
515 
516 										//  標準Cライブラリを使用する部分の lib ファイルの使用指定
517 										pragma(lib, "DxUseCLib_vs2012_x86.lib");
518 									}
519 								}
520 							}
521 						}
522 					}
523 				} else {
524 					//  描画部分の抜き出し
525 					pragma(lib, "DxDrawFunc.lib");
526 
527 					version (Unicode) {
528 						//  DXライブラリ使用指定
529 						pragma(lib, "DxLibW.lib");
530 
531 						//  標準Cライブラリを使用する部分の lib ファイルの使用指定
532 						pragma(lib, "DxUseCLibW.lib");
533 					} else {
534 						//  DXライブラリ使用指定
535 						pragma(lib, "DxLib.lib");
536 
537 						//  標準Cライブラリを使用する部分の lib ファイルの使用指定
538 						pragma(lib, "DxUseCLib.lib");
539 					}
540 				}
541 
542 				debug {
543 					pragma(linkerDirective, "/NODEFAULTLIB:libcmt.lib");
544 					pragma(linkerDirective, "/NODEFAULTLIB:libc.lib");
545 					pragma(linkerDirective, "/NODEFAULTLIB:libcd.lib");
546 					//pragma(linkerDirective, "/NODEFAULTLIB:msvcrt.lib");
547 					//pragma(linkerDirective, "/NODEFAULTLIB:msvcrtd.lib");
548 				} else {
549 					pragma(linkerDirective, "/NODEFAULTLIB:libcmtd.lib");
550 					pragma(linkerDirective, "/NODEFAULTLIB:libc.lib");
551 					pragma(linkerDirective, "/NODEFAULTLIB:libcd.lib");
552 					//pragma(linkerDirective, "/NODEFAULTLIB:msvcrt.lib");
553 					//pragma(linkerDirective, "/NODEFAULTLIB:msvcrtd.lib");
554 				}
555 			}
556 
557 			//  C標準マルチスレッド対応ライブラリ
558 			//pragma(lib, "libcmt.lib");
559 
560 			//  Win32カーネルライブラリ
561 			pragma(lib, "kernel32.lib");
562 
563 			// Win32APIライブラリ
564 			//pragma(lib, "comctl32.lib");
565 
566 			//  Win32APIライブラリ
567 			pragma(lib, "user32.lib");
568 
569 			//  Win32APIライブラリ
570 			pragma(lib, "gdi32.lib");
571 
572 			//  Win32APIライブラリ
573 			pragma(lib, "advapi32.lib");
574 
575 			//  Win32APIライブラリ
576 			//pragma(lib, "ole32.lib");
577 
578 			//  マルチメディアライブラリ
579 			pragma(lib, "shell32.lib");
580 
581 			//  マルチメディアライブラリ
582 			//pragma(lib, "winmm.lib");
583 
584 			version (DX_NON_MOVIE) {
585 			} else {
586 				// DirectShowライブラリ
587 				//pragma(lib, "Strmiids.lib");
588 			}
589 
590 			version (DX_NON_NETWORK) {
591 			} else {
592 				//  WinSocketsライブラリ
593 				//pragma(lib, "wsock32.lib");
594 			}
595 
596 			version (DX_NON_KEYEX) {
597 			} else {
598 				// IME操作用ライブラリ
599 				//pragma(lib, "imm32.lib");
600 			}
601 
602 			version (DX_NON_ACM) {
603 			} else {
604 				// ACM操作用ライブラリ
605 				//pragma(lib, "msacm32.lib");
606 			}
607 
608 			version (DX_NON_BULLET_PHYSICS) {
609 			} else {
610 				//#ifdef _MSC_VER
611 				version (Windows) {
612 					//#if _MSC_VER < 1700
613 					version (none) {
614 						version (DX_USE_VC8_BULLET_PHYSICS_LIB) {
615 							version (Win64) {
616 								debug {
617 									// Visual C++ 8.0 でコンパイルした Bullet Physics ライブラリ
618 									pragma(lib, "libbulletcollision_vc8_x64_d.lib");
619 
620 									pragma(lib, "libbulletdynamics_vc8_x64_d.lib");
621 									pragma(lib, "libbulletmath_vc8_x64_d.lib");
622 								} else {
623 									// Visual C++ 8.0 でコンパイルした Bullet Physics ライブラリ
624 									pragma(lib, "libbulletcollision_vc8_x64.lib");
625 
626 									pragma(lib, "libbulletdynamics_vc8_x64.lib");
627 									pragma(lib, "libbulletmath_vc8_x64.lib");
628 								}
629 							} else {
630 								debug {
631 									// Visual C++ 8.0 でコンパイルした Bullet Physics ライブラリ
632 									pragma(lib, "libbulletcollision_vc8_d.lib");
633 
634 									pragma(lib, "libbulletdynamics_vc8_d.lib");
635 									pragma(lib, "libbulletmath_vc8_d.lib");
636 								} else {
637 									// Visual C++ 8.0 でコンパイルした Bullet Physics ライブラリ
638 									pragma(lib, "libbulletcollision_vc8.lib");
639 
640 									pragma(lib, "libbulletdynamics_vc8.lib");
641 									pragma(lib, "libbulletmath_vc8.lib");
642 								}
643 							}
644 						} else {
645 							version (Win64) {
646 								debug {
647 									// Visual C++ 8.0 でコンパイルした Bullet Physics ライブラリ
648 									pragma(lib, "libbulletcollision_vc8_x64_d.lib");
649 
650 									pragma(lib, "libbulletdynamics_vc8_x64_d.lib");
651 									pragma(lib, "libbulletmath_vc8_x64_d.lib");
652 								} else {
653 									// Visual C++ 8.0 でコンパイルした Bullet Physics ライブラリ
654 									pragma(lib, "libbulletcollision_vc8_x64.lib");
655 
656 									pragma(lib, "libbulletdynamics_vc8_x64.lib");
657 									pragma(lib, "libbulletmath_vc8_x64.lib");
658 								}
659 							} else {
660 								debug {
661 									// Visual C++ 6.0 でコンパイルした Bullet Physics ライブラリ
662 									pragma(lib, "libbulletcollision_vc6_d.lib");
663 
664 									pragma(lib, "libbulletdynamics_vc6_d.lib");
665 									pragma(lib, "libbulletmath_vc6_d.lib");
666 								} else {
667 									// Visual C++ 6.0 でコンパイルした Bullet Physics ライブラリ
668 									pragma(lib, "libbulletcollision_vc6.lib");
669 
670 									pragma(lib, "libbulletdynamics_vc6.lib");
671 									pragma(lib, "libbulletmath_vc6.lib");
672 								}
673 							}
674 						}
675 					} else {
676 						//#if _MSC_VER >= 1900
677 						version (all) {
678 							version (DLL) {
679 								version (Win64) {
680 									debug {
681 										//#if defined(_ITERATOR_DEBUG_LEVEL) && _ITERATOR_DEBUG_LEVEL == 0
682 										version (none) {
683 											pragma(lib, "libbulletcollision_vs2015_x64_ItrDbgLv0_MDd.lib");
684 											pragma(lib, "libbulletdynamics_vs2015_x64_ItrDbgLv0_MDd.lib");
685 											pragma(lib, "libbulletmath_vs2015_x64_ItrDbgLv0_MDd.lib");
686 										} else {
687 											pragma(lib, "libbulletcollision_vs2015_x64_MDd.lib");
688 											pragma(lib, "libbulletdynamics_vs2015_x64_MDd.lib");
689 											pragma(lib, "libbulletmath_vs2015_x64_MDd.lib");
690 										}
691 									} else {
692 										pragma(lib, "libbulletcollision_vs2015_x64_MD.lib");
693 										pragma(lib, "libbulletdynamics_vs2015_x64_MD.lib");
694 										pragma(lib, "libbulletmath_vs2015_x64_MD.lib");
695 									}
696 								} else {
697 									debug {
698 										//#if defined(_ITERATOR_DEBUG_LEVEL) && _ITERATOR_DEBUG_LEVEL == 0
699 										version (none) {
700 											pragma(lib, "libbulletcollision_vs2015_x86_ItrDbgLv0_MDd.lib");
701 											pragma(lib, "libbulletdynamics_vs2015_x86_ItrDbgLv0_MDd.lib");
702 											pragma(lib, "libbulletmath_vs2015_x86_ItrDbgLv0_MDd.lib");
703 										} else {
704 											pragma(lib, "libbulletcollision_vs2015_x86_MDd.lib");
705 											pragma(lib, "libbulletdynamics_vs2015_x86_MDd.lib");
706 											pragma(lib, "libbulletmath_vs2015_x86_MDd.lib");
707 										}
708 									} else {
709 										pragma(lib, "libbulletcollision_vs2015_x86_MD.lib");
710 										pragma(lib, "libbulletdynamics_vs2015_x86_MD.lib");
711 										pragma(lib, "libbulletmath_vs2015_x86_MD.lib");
712 									}
713 								}
714 							} else {
715 								version (Win64) {
716 									debug {
717 										//#if defined(_ITERATOR_DEBUG_LEVEL) && _ITERATOR_DEBUG_LEVEL == 0
718 										version (none) {
719 											pragma(lib, "libbulletcollision_vs2015_x64_ItrDbgLv0_MTd.lib");
720 											pragma(lib, "libbulletdynamics_vs2015_x64_ItrDbgLv0_MTd.lib");
721 											pragma(lib, "libbulletmath_vs2015_x64_ItrDbgLv0_MTd.lib");
722 										} else {
723 											pragma(lib, "libbulletcollision_vs2015_x64_MTd.lib");
724 											pragma(lib, "libbulletdynamics_vs2015_x64_MTd.lib");
725 											pragma(lib, "libbulletmath_vs2015_x64_MTd.lib");
726 										}
727 									} else {
728 										pragma(lib, "libbulletcollision_vs2015_x64_MT.lib");
729 										pragma(lib, "libbulletdynamics_vs2015_x64_MT.lib");
730 										pragma(lib, "libbulletmath_vs2015_x64_MT.lib");
731 									}
732 								} else {
733 									debug {
734 										//#if defined(_ITERATOR_DEBUG_LEVEL) && _ITERATOR_DEBUG_LEVEL == 0
735 										version (none) {
736 											pragma(lib, "libbulletcollision_vs2015_x86_ItrDbgLv0_MTd.lib");
737 											pragma(lib, "libbulletdynamics_vs2015_x86_ItrDbgLv0_MTd.lib");
738 											pragma(lib, "libbulletmath_vs2015_x86_ItrDbgLv0_MTd.lib");
739 										} else {
740 											pragma(lib, "libbulletcollision_vs2015_x86_MTd.lib");
741 											pragma(lib, "libbulletdynamics_vs2015_x86_MTd.lib");
742 											pragma(lib, "libbulletmath_vs2015_x86_MTd.lib");
743 										}
744 									} else {
745 										pragma(lib, "libbulletcollision_vs2015_x86_MT.lib");
746 										pragma(lib, "libbulletdynamics_vs2015_x86_MT.lib");
747 										pragma(lib, "libbulletmath_vs2015_x86_MT.lib");
748 									}
749 								}
750 							}
751 						} else version (none) {
752 							//_MSC_VER >= 1800
753 
754 							version (Win64) {
755 								debug {
756 									//#if defined(_ITERATOR_DEBUG_LEVEL) && _ITERATOR_DEBUG_LEVEL == 0
757 									version (none) {
758 										pragma(lib, "libbulletcollision_vs2013_x64_ItrDbgLv0_d.lib");
759 										pragma(lib, "libbulletdynamics_vs2013_x64_ItrDbgLv0_d.lib");
760 										pragma(lib, "libbulletmath_vs2013_x64_ItrDbgLv0_d.lib");
761 									} else {
762 										pragma(lib, "libbulletcollision_vs2013_x64_d.lib");
763 										pragma(lib, "libbulletdynamics_vs2013_x64_d.lib");
764 										pragma(lib, "libbulletmath_vs2013_x64_d.lib");
765 									}
766 								} else {
767 									pragma(lib, "libbulletcollision_vs2013_x64.lib");
768 									pragma(lib, "libbulletdynamics_vs2013_x64.lib");
769 									pragma(lib, "libbulletmath_vs2013_x64.lib");
770 								}
771 							} else {
772 								debug {
773 									//#if defined(_ITERATOR_DEBUG_LEVEL) && _ITERATOR_DEBUG_LEVEL == 0
774 									version (none) {
775 										pragma(lib, "libbulletcollision_vs2013_x86_ItrDbgLv0_d.lib");
776 										pragma(lib, "libbulletdynamics_vs2013_x86_ItrDbgLv0_d.lib");
777 										pragma(lib, "libbulletmath_vs2013_x86_ItrDbgLv0_d.lib");
778 									} else {
779 										pragma(lib, "libbulletcollision_vs2013_x86_d.lib");
780 										pragma(lib, "libbulletdynamics_vs2013_x86_d.lib");
781 										pragma(lib, "libbulletmath_vs2013_x86_d.lib");
782 									}
783 								} else {
784 									pragma(lib, "libbulletcollision_vs2013_x86.lib");
785 									pragma(lib, "libbulletdynamics_vs2013_x86.lib");
786 									pragma(lib, "libbulletmath_vs2013_x86.lib");
787 								}
788 							}
789 						} else version (none) {
790 							//_MSC_VER >= 1700
791 
792 							version (Win64) {
793 								debug {
794 									//#if defined(_ITERATOR_DEBUG_LEVEL) && _ITERATOR_DEBUG_LEVEL == 0
795 									version (none) {
796 										pragma(lib, "libbulletcollision_vs2012_x64_ItrDbgLv0_d.lib");
797 										pragma(lib, "libbulletdynamics_vs2012_x64_ItrDbgLv0_d.lib");
798 										pragma(lib, "libbulletmath_vs2012_x64_ItrDbgLv0_d.lib");
799 									} else {
800 										pragma(lib, "libbulletcollision_vs2012_x64_d.lib");
801 										pragma(lib, "libbulletdynamics_vs2012_x64_d.lib");
802 										pragma(lib, "libbulletmath_vs2012_x64_d.lib");
803 									}
804 								} else {
805 									pragma(lib, "libbulletcollision_vs2012_x64.lib");
806 									pragma(lib, "libbulletdynamics_vs2012_x64.lib");
807 									pragma(lib, "libbulletmath_vs2012_x64.lib");
808 								}
809 							} else {
810 								debug {
811 									//#if defined(_ITERATOR_DEBUG_LEVEL) && _ITERATOR_DEBUG_LEVEL == 0
812 									version (none) {
813 										pragma(lib, "libbulletcollision_vs2012_x86_ItrDbgLv0_d.lib");
814 										pragma(lib, "libbulletdynamics_vs2012_x86_ItrDbgLv0_d.lib");
815 										pragma(lib, "libbulletmath_vs2012_x86_ItrDbgLv0_d.lib");
816 									} else {
817 										pragma(lib, "libbulletcollision_vs2012_x86_d.lib");
818 										pragma(lib, "libbulletdynamics_vs2012_x86_d.lib");
819 										pragma(lib, "libbulletmath_vs2012_x86_d.lib");
820 									}
821 								} else {
822 									pragma(lib, "libbulletcollision_vs2012_x86.lib");
823 									pragma(lib, "libbulletdynamics_vs2012_x86.lib");
824 									pragma(lib, "libbulletmath_vs2012_x86.lib");
825 								}
826 							}
827 						}
828 					}
829 				} else {
830 					// Bullet Physics ライブラリ
831 					pragma(lib, "libbulletcollision.lib");
832 
833 					pragma(lib, "libbulletdynamics.lib");
834 					pragma(lib, "libbulletmath.lib");
835 				}
836 			}
837 
838 			version (DX_NON_TIFFREAD) {
839 			} else {
840 				//#ifdef _MSC_VER
841 				version (Windows) {
842 					//#if _MSC_VER < 1700
843 					version (none) {
844 						version (Win64) {
845 							debug {
846 								// TIFFライブラリ
847 								pragma(lib, "libtiff_x64_d.lib");
848 							} else {
849 								// TIFFライブラリ
850 								pragma(lib, "libtiff_x64.lib");
851 							}
852 						} else {
853 							debug {
854 								// TIFFライブラリ
855 								pragma(lib, "libtiff_d.lib");
856 							} else {
857 								// TIFFライブラリ
858 								pragma(lib, "libtiff.lib");
859 							}
860 						}
861 					} else {
862 						//#if _MSC_VER >= 1900
863 						version (all) {
864 							version (DLL) {
865 								version (Win64) {
866 									debug {
867 										// TIFFライブラリ
868 										pragma(lib, "libtiff_vs2015_x64_MDd.lib");
869 									} else {
870 										// TIFFライブラリ
871 										pragma(lib, "libtiff_vs2015_x64_MD.lib");
872 									}
873 								} else {
874 									debug {
875 										// TIFFライブラリ
876 										pragma(lib, "libtiff_vs2015_x86_MDd.lib");
877 									} else {
878 										// TIFFライブラリ
879 										pragma(lib, "libtiff_vs2015_x86_MD.lib");
880 									}
881 								}
882 							} else {
883 								version (Win64) {
884 									debug {
885 										// TIFFライブラリ
886 										pragma(lib, "libtiff_vs2015_x64_MTd.lib");
887 									} else {
888 										// TIFFライブラリ
889 										pragma(lib, "libtiff_vs2015_x64_MT.lib");
890 									}
891 								} else {
892 									debug {
893 										// TIFFライブラリ
894 										pragma(lib, "libtiff_vs2015_x86_MTd.lib");
895 									} else {
896 										// TIFFライブラリ
897 										pragma(lib, "libtiff_vs2015_x86_MT.lib");
898 									}
899 								}
900 							}
901 						} else version (none) {
902 							//_MSC_VER >= 1800
903 
904 							version (Win64) {
905 								debug {
906 									// TIFFライブラリ
907 									pragma(lib, "libtiff_vs2013_x64_d.lib");
908 								} else {
909 									// TIFFライブラリ
910 									pragma(lib, "libtiff_vs2013_x64.lib");
911 								}
912 							} else {
913 								debug {
914 									// TIFFライブラリ
915 									pragma(lib, "libtiff_vs2013_x86_d.lib");
916 								} else {
917 									// TIFFライブラリ
918 									pragma(lib, "libtiff_vs2013_x86.lib");
919 								}
920 							}
921 						} else version (none) {
922 							//_MSC_VER >= 1700
923 
924 							version (Win64) {
925 								debug {
926 									// TIFFライブラリ
927 									pragma(lib, "libtiff_vs2012_x64_d.lib");
928 								} else {
929 									// TIFFライブラリ
930 									pragma(lib, "libtiff_vs2012_x64.lib");
931 								}
932 							} else {
933 								debug {
934 									// TIFFライブラリ
935 									pragma(lib, "libtiff_vs2012_x86_d.lib");
936 								} else {
937 									// TIFFライブラリ
938 									pragma(lib, "libtiff_vs2012_x86.lib");
939 								}
940 							}
941 						}
942 					}
943 				} else {
944 					// TIFFライブラリ
945 					pragma(lib, "libtiff.lib");
946 				}
947 			}
948 
949 			version (DX_NON_PNGREAD) {
950 			} else {
951 				//#ifdef _MSC_VER
952 				version (Windows) {
953 					//#if _MSC_VER < 1700
954 					version (none) {
955 						version (Win64) {
956 							debug {
957 								// PNGライブラリ
958 								pragma(lib, "libpng_x64_d.lib");
959 
960 								pragma(lib, "zlib_x64_d.lib");
961 							} else {
962 								// PNGライブラリ
963 								pragma(lib, "libpng_x64.lib");
964 
965 								pragma(lib, "zlib_x64.lib");
966 							}
967 						} else {
968 							debug {
969 								// PNGライブラリ
970 								pragma(lib, "libpng_d.lib");
971 
972 								pragma(lib, "zlib_d.lib");
973 							} else {
974 								// PNGライブラリ
975 								pragma(lib, "libpng.lib");
976 
977 								pragma(lib, "zlib.lib");
978 							}
979 						}
980 					} else {
981 						//#if _MSC_VER >= 1900
982 						version (all) {
983 							version (DLL) {
984 								version (Win64) {
985 									debug {
986 										// PNGライブラリ
987 										pragma(lib, "libpng_vs2015_x64_MDd.lib");
988 
989 										pragma(lib, "zlib_vs2015_x64_MDd.lib");
990 									} else {
991 										// PNGライブラリ
992 										pragma(lib, "libpng_vs2015_x64_MD.lib");
993 
994 										pragma(lib, "zlib_vs2015_x64_MD.lib");
995 									}
996 								} else {
997 									debug {
998 										// PNGライブラリ
999 										pragma(lib, "libpng_vs2015_x86_MDd.lib");
1000 
1001 										pragma(lib, "zlib_vs2015_x86_MDd.lib");
1002 									} else {
1003 										// PNGライブラリ
1004 										pragma(lib, "libpng_vs2015_x86_MD.lib");
1005 
1006 										pragma(lib, "zlib_vs2015_x86_MD.lib");
1007 									}
1008 								}
1009 							} else {
1010 								version (Win64) {
1011 									debug {
1012 										// PNGライブラリ
1013 										pragma(lib, "libpng_vs2015_x64_MTd.lib");
1014 
1015 										pragma(lib, "zlib_vs2015_x64_MTd.lib");
1016 									} else {
1017 										// PNGライブラリ
1018 										pragma(lib, "libpng_vs2015_x64_MT.lib");
1019 
1020 										pragma(lib, "zlib_vs2015_x64_MT.lib");
1021 									}
1022 								} else {
1023 									debug {
1024 										// PNGライブラリ
1025 										pragma(lib, "libpng_vs2015_x86_MTd.lib");
1026 
1027 										pragma(lib, "zlib_vs2015_x86_MTd.lib");
1028 									} else {
1029 										// PNGライブラリ
1030 										pragma(lib, "libpng_vs2015_x86_MT.lib");
1031 
1032 										pragma(lib, "zlib_vs2015_x86_MT.lib");
1033 									}
1034 								}
1035 							}
1036 						} else version (none) {
1037 							//_MSC_VER >= 1800
1038 
1039 							version (Win64) {
1040 								debug {
1041 									// PNGライブラリ
1042 									pragma(lib, "libpng_vs2013_x64_d.lib");
1043 
1044 									pragma(lib, "zlib_vs2013_x64_d.lib");
1045 								} else {
1046 									// PNGライブラリ
1047 									pragma(lib, "libpng_vs2013_x64.lib");
1048 
1049 									pragma(lib, "zlib_vs2013_x64.lib");
1050 								}
1051 							} else {
1052 								debug {
1053 									// PNGライブラリ
1054 									pragma(lib, "libpng_vs2013_x86_d.lib");
1055 
1056 									pragma(lib, "zlib_vs2013_x86_d.lib");
1057 								} else {
1058 									// PNGライブラリ
1059 									pragma(lib, "libpng_vs2013_x86.lib");
1060 
1061 									pragma(lib, "zlib_vs2013_x86.lib");
1062 								}
1063 							}
1064 						} else version (none) {
1065 							//_MSC_VER >= 1700
1066 
1067 							version (Win64) {
1068 								debug {
1069 									// PNGライブラリ
1070 									pragma(lib, "libpng_vs2012_x64_d.lib");
1071 
1072 									pragma(lib, "zlib_vs2012_x64_d.lib");
1073 								} else {
1074 									// PNGライブラリ
1075 									pragma(lib, "libpng_vs2012_x64.lib");
1076 
1077 									pragma(lib, "zlib_vs2012_x64.lib");
1078 								}
1079 							} else {
1080 								debug {
1081 									// PNGライブラリ
1082 									pragma(lib, "libpng_vs2012_x86_d.lib");
1083 
1084 									pragma(lib, "zlib_vs2012_x86_d.lib");
1085 								} else {
1086 									// PNGライブラリ
1087 									pragma(lib, "libpng_vs2012_x86.lib");
1088 
1089 									pragma(lib, "zlib_vs2012_x86.lib");
1090 								}
1091 							}
1092 						}
1093 					}
1094 				} else {
1095 					// PNGライブラリ
1096 					pragma(lib, "libpng.lib");
1097 
1098 					pragma(lib, "zlib.lib");
1099 				}
1100 			}
1101 
1102 			version (DX_NON_JPEGREAD) {
1103 			} else {
1104 				//#ifdef _MSC_VER
1105 				version (Windows) {
1106 					//#if _MSC_VER < 1700
1107 					version (none) {
1108 						version (Win64) {
1109 							debug {
1110 								// JPEGライブラリ
1111 								pragma(lib, "libjpeg_x64_d.lib");
1112 							} else {
1113 								// JPEGライブラリ
1114 								pragma(lib, "libjpeg_x64.lib");
1115 							}
1116 						} else {
1117 							debug {
1118 								// JPEGライブラリ
1119 								pragma(lib, "libjpeg_d.lib");
1120 							} else {
1121 								// JPEGライブラリ
1122 								pragma(lib, "libjpeg.lib");
1123 							}
1124 						}
1125 					} else {
1126 						//#if _MSC_VER >= 1900
1127 						version (all) {
1128 							version (DLL) {
1129 								version (Win64) {
1130 									debug {
1131 										// JPEGライブラリ
1132 										pragma(lib, "libjpeg_vs2015_x64_MDd.lib");
1133 									} else {
1134 										// JPEGライブラリ
1135 										pragma(lib, "libjpeg_vs2015_x64_MD.lib");
1136 									}
1137 								} else {
1138 									debug {
1139 										// JPEGライブラリ
1140 										pragma(lib, "libjpeg_vs2015_x86_MDd.lib");
1141 									} else {
1142 										// JPEGライブラリ
1143 										pragma(lib, "libjpeg_vs2015_x86_MD.lib");
1144 									}
1145 								}
1146 							} else {
1147 								version (Win64) {
1148 									debug {
1149 										// JPEGライブラリ
1150 										pragma(lib, "libjpeg_vs2015_x64_MTd.lib");
1151 									} else {
1152 										// JPEGライブラリ
1153 										pragma(lib, "libjpeg_vs2015_x64_MT.lib");
1154 									}
1155 								} else {
1156 									debug {
1157 										// JPEGライブラリ
1158 										pragma(lib, "libjpeg_vs2015_x86_MTd.lib");
1159 									} else {
1160 										// JPEGライブラリ
1161 										pragma(lib, "libjpeg_vs2015_x86_MT.lib");
1162 									}
1163 								}
1164 							}
1165 						} else version (none) {
1166 							//_MSC_VER >= 1800
1167 
1168 							version (Win64) {
1169 								debug {
1170 									// JPEGライブラリ
1171 									pragma(lib, "libjpeg_vs2013_x64_d.lib");
1172 								} else {
1173 									// JPEGライブラリ
1174 									pragma(lib, "libjpeg_vs2013_x64.lib");
1175 								}
1176 							} else {
1177 								debug {
1178 									// JPEGライブラリ
1179 									pragma(lib, "libjpeg_vs2013_x86_d.lib");
1180 								} else {
1181 									// JPEGライブラリ
1182 									pragma(lib, "libjpeg_vs2013_x86.lib");
1183 								}
1184 							}
1185 						} else version (none) {
1186 							//_MSC_VER >= 1700
1187 
1188 							version (Win64) {
1189 								debug {
1190 									// JPEGライブラリ
1191 									pragma(lib, "libjpeg_vs2012_x64_d.lib");
1192 								} else {
1193 									// JPEGライブラリ
1194 									pragma(lib, "libjpeg_vs2012_x64.lib");
1195 								}
1196 							} else {
1197 								debug {
1198 									// JPEGライブラリ
1199 									pragma(lib, "libjpeg_vs2012_x86_d.lib");
1200 								} else {
1201 									// JPEGライブラリ
1202 									pragma(lib, "libjpeg_vs2012_x86.lib");
1203 								}
1204 							}
1205 						}
1206 					}
1207 				} else {
1208 					// JPEGライブラリ
1209 					pragma(lib, "libjpeg.lib");
1210 				}
1211 			}
1212 
1213 			// OggVorbisライブラリ
1214 			version (DX_NON_OGGVORBIS) {
1215 			} else {
1216 				//#ifdef _MSC_VER
1217 				version (Windows) {
1218 					//#if _MSC_VER < 1700
1219 					version (none) {
1220 						version (Win64) {
1221 							debug {
1222 								pragma(lib, "ogg_static_x64_d.lib");
1223 								pragma(lib, "vorbis_static_x64_d.lib");
1224 								pragma(lib, "vorbisfile_static_x64_d.lib");
1225 							} else {
1226 								pragma(lib, "ogg_static_x64.lib");
1227 								pragma(lib, "vorbis_static_x64.lib");
1228 								pragma(lib, "vorbisfile_static_x64.lib");
1229 							}
1230 						} else {
1231 							debug {
1232 								pragma(lib, "ogg_static_d.lib");
1233 								pragma(lib, "vorbis_static_d.lib");
1234 								pragma(lib, "vorbisfile_static_d.lib");
1235 							} else {
1236 								pragma(lib, "ogg_static.lib");
1237 								pragma(lib, "vorbis_static.lib");
1238 								pragma(lib, "vorbisfile_static.lib");
1239 							}
1240 						}
1241 					} else {
1242 						//#if _MSC_VER >= 1900
1243 						version (all) {
1244 							version (DLL) {
1245 								version (Win64) {
1246 									debug {
1247 										pragma(lib, "ogg_static_vs2015_x64_MDd.lib");
1248 										pragma(lib, "vorbis_static_vs2015_x64_MDd.lib");
1249 										pragma(lib, "vorbisfile_static_vs2015_x64_MDd.lib");
1250 									} else {
1251 										pragma(lib, "ogg_static_vs2015_x64_MD.lib");
1252 										pragma(lib, "vorbis_static_vs2015_x64_MD.lib");
1253 										pragma(lib, "vorbisfile_static_vs2015_x64_MD.lib");
1254 									}
1255 								} else {
1256 									debug {
1257 										pragma(lib, "ogg_static_vs2015_x86_MDd.lib");
1258 										pragma(lib, "vorbis_static_vs2015_x86_MDd.lib");
1259 										pragma(lib, "vorbisfile_static_vs2015_x86_MDd.lib");
1260 									} else {
1261 										pragma(lib, "ogg_static_vs2015_x86_MD.lib");
1262 										pragma(lib, "vorbis_static_vs2015_x86_MD.lib");
1263 										pragma(lib, "vorbisfile_static_vs2015_x86_MD.lib");
1264 									}
1265 								}
1266 							} else {
1267 								version (Win64) {
1268 									debug {
1269 										pragma(lib, "ogg_static_vs2015_x64_MTd.lib");
1270 										pragma(lib, "vorbis_static_vs2015_x64_MTd.lib");
1271 										pragma(lib, "vorbisfile_static_vs2015_x64_MTd.lib");
1272 									} else {
1273 										pragma(lib, "ogg_static_vs2015_x64_MT.lib");
1274 										pragma(lib, "vorbis_static_vs2015_x64_MT.lib");
1275 										pragma(lib, "vorbisfile_static_vs2015_x64_MT.lib");
1276 									}
1277 								} else {
1278 									debug {
1279 										pragma(lib, "ogg_static_vs2015_x86_MTd.lib");
1280 										pragma(lib, "vorbis_static_vs2015_x86_MTd.lib");
1281 										pragma(lib, "vorbisfile_static_vs2015_x86_MTd.lib");
1282 									} else {
1283 										pragma(lib, "ogg_static_vs2015_x86_MT.lib");
1284 										pragma(lib, "vorbis_static_vs2015_x86_MT.lib");
1285 										pragma(lib, "vorbisfile_static_vs2015_x86_MT.lib");
1286 									}
1287 								}
1288 							}
1289 						} else version (none) {
1290 							//_MSC_VER >= 1800
1291 
1292 							version (Win64) {
1293 								debug {
1294 									pragma(lib, "ogg_static_vs2013_x64_d.lib");
1295 									pragma(lib, "vorbis_static_vs2013_x64_d.lib");
1296 									pragma(lib, "vorbisfile_static_vs2013_x64_d.lib");
1297 								} else {
1298 									pragma(lib, "ogg_static_vs2013_x64.lib");
1299 									pragma(lib, "vorbis_static_vs2013_x64.lib");
1300 									pragma(lib, "vorbisfile_static_vs2013_x64.lib");
1301 								}
1302 							} else {
1303 								debug {
1304 									pragma(lib, "ogg_static_vs2013_x86_d.lib");
1305 									pragma(lib, "vorbis_static_vs2013_x86_d.lib");
1306 									pragma(lib, "vorbisfile_static_vs2013_x86_d.lib");
1307 								} else {
1308 									pragma(lib, "ogg_static_vs2013_x86.lib");
1309 									pragma(lib, "vorbis_static_vs2013_x86.lib");
1310 									pragma(lib, "vorbisfile_static_vs2013_x86.lib");
1311 								}
1312 							}
1313 						} else version (none) {
1314 							//_MSC_VER >= 1700
1315 
1316 							version (Win64) {
1317 								debug {
1318 									pragma(lib, "ogg_static_vs2012_x64_d.lib");
1319 									pragma(lib, "vorbis_static_vs2012_x64_d.lib");
1320 									pragma(lib, "vorbisfile_static_vs2012_x64_d.lib");
1321 								} else {
1322 									pragma(lib, "ogg_static_vs2012_x64.lib");
1323 									pragma(lib, "vorbis_static_vs2012_x64.lib");
1324 									pragma(lib, "vorbisfile_static_vs2012_x64.lib");
1325 								}
1326 							} else {
1327 								debug {
1328 									pragma(lib, "ogg_static_vs2012_x86_d.lib");
1329 									pragma(lib, "vorbis_static_vs2012_x86_d.lib");
1330 									pragma(lib, "vorbisfile_static_vs2012_x86_d.lib");
1331 								} else {
1332 									pragma(lib, "ogg_static_vs2012_x86.lib");
1333 									pragma(lib, "vorbis_static_vs2012_x86.lib");
1334 									pragma(lib, "vorbisfile_static_vs2012_x86.lib");
1335 								}
1336 							}
1337 						}
1338 					}
1339 				} else {
1340 					pragma(lib, "ogg_static.lib");
1341 					pragma(lib, "vorbis_static.lib");
1342 					pragma(lib, "vorbisfile_static.lib");
1343 				}
1344 			}
1345 
1346 			// OggTheoraライブラリ
1347 			version (DX_NON_OGGTHEORA) {
1348 			} else {
1349 				//#ifdef _MSC_VER
1350 				version (Windows) {
1351 					//#if _MSC_VER < 1700
1352 					version (none) {
1353 						version (Win64) {
1354 							debug {
1355 								pragma(lib, "ogg_static_x64_d.lib");
1356 								pragma(lib, "vorbis_static_x64_d.lib");
1357 								pragma(lib, "vorbisfile_static_x64_d.lib");
1358 
1359 								pragma(lib, "libtheora_static_x64_d.lib");
1360 							} else {
1361 								pragma(lib, "ogg_static_x64.lib");
1362 								pragma(lib, "vorbis_static_x64.lib");
1363 								pragma(lib, "vorbisfile_static_x64.lib");
1364 
1365 								pragma(lib, "libtheora_static_x64.lib");
1366 							}
1367 						} else {
1368 							debug {
1369 								pragma(lib, "ogg_static_d.lib");
1370 								pragma(lib, "vorbis_static_d.lib");
1371 								pragma(lib, "vorbisfile_static_d.lib");
1372 
1373 								pragma(lib, "libtheora_static_d.lib");
1374 							} else {
1375 								pragma(lib, "ogg_static.lib");
1376 								pragma(lib, "vorbis_static.lib");
1377 								pragma(lib, "vorbisfile_static.lib");
1378 
1379 								pragma(lib, "libtheora_static.lib");
1380 							}
1381 						}
1382 					} else {
1383 						//#if _MSC_VER >= 1900
1384 						version (all) {
1385 							version (DLL) {
1386 								version (Win64) {
1387 									debug {
1388 										pragma(lib, "ogg_static_vs2015_x64_MDd.lib");
1389 										pragma(lib, "vorbis_static_vs2015_x64_MDd.lib");
1390 										pragma(lib, "vorbisfile_static_vs2015_x64_MDd.lib");
1391 
1392 										pragma(lib, "libtheora_static_vs2015_x64_MDd.lib");
1393 									} else {
1394 										pragma(lib, "ogg_static_vs2015_x64_MD.lib");
1395 										pragma(lib, "vorbis_static_vs2015_x64_MD.lib");
1396 										pragma(lib, "vorbisfile_static_vs2015_x64_MD.lib");
1397 
1398 										pragma(lib, "libtheora_static_vs2015_x64_MD.lib");
1399 									}
1400 								} else {
1401 									debug {
1402 										pragma(lib, "ogg_static_vs2015_x86_MDd.lib");
1403 										pragma(lib, "vorbis_static_vs2015_x86_MDd.lib");
1404 										pragma(lib, "vorbisfile_static_vs2015_x86_MDd.lib");
1405 
1406 										pragma(lib, "libtheora_static_vs2015_x86_MDd.lib");
1407 									} else {
1408 										pragma(lib, "ogg_static_vs2015_x86_MD.lib");
1409 										pragma(lib, "vorbis_static_vs2015_x86_MD.lib");
1410 										pragma(lib, "vorbisfile_static_vs2015_x86_MD.lib");
1411 
1412 										pragma(lib, "libtheora_static_vs2015_x86_MD.lib");
1413 									}
1414 								}
1415 							} else {
1416 								version (Win64) {
1417 									debug {
1418 										pragma(lib, "ogg_static_vs2015_x64_MTd.lib");
1419 										pragma(lib, "vorbis_static_vs2015_x64_MTd.lib");
1420 										pragma(lib, "vorbisfile_static_vs2015_x64_MTd.lib");
1421 
1422 										pragma(lib, "libtheora_static_vs2015_x64_MTd.lib");
1423 									} else {
1424 										pragma(lib, "ogg_static_vs2015_x64_MT.lib");
1425 										pragma(lib, "vorbis_static_vs2015_x64_MT.lib");
1426 										pragma(lib, "vorbisfile_static_vs2015_x64_MT.lib");
1427 
1428 										pragma(lib, "libtheora_static_vs2015_x64_MT.lib");
1429 									}
1430 								} else {
1431 									debug {
1432 										pragma(lib, "ogg_static_vs2015_x86_MTd.lib");
1433 										pragma(lib, "vorbis_static_vs2015_x86_MTd.lib");
1434 										pragma(lib, "vorbisfile_static_vs2015_x86_MTd.lib");
1435 
1436 										pragma(lib, "libtheora_static_vs2015_x86_MTd.lib");
1437 									} else {
1438 										pragma(lib, "ogg_static_vs2015_x86_MT.lib");
1439 										pragma(lib, "vorbis_static_vs2015_x86_MT.lib");
1440 										pragma(lib, "vorbisfile_static_vs2015_x86_MT.lib");
1441 
1442 										pragma(lib, "libtheora_static_vs2015_x86_MT.lib");
1443 									}
1444 								}
1445 							}
1446 						} else version (none) {
1447 							//_MSC_VER >= 1800
1448 
1449 							version (Win64) {
1450 								debug {
1451 									pragma(lib, "ogg_static_vs2013_x64_d.lib");
1452 									pragma(lib, "vorbis_static_vs2013_x64_d.lib");
1453 									pragma(lib, "vorbisfile_static_vs2013_x64_d.lib");
1454 
1455 									pragma(lib, "libtheora_static_vs2013_x64_d.lib");
1456 								} else {
1457 									pragma(lib, "ogg_static_vs2013_x64.lib");
1458 									pragma(lib, "vorbis_static_vs2013_x64.lib");
1459 									pragma(lib, "vorbisfile_static_vs2013_x64.lib");
1460 
1461 									pragma(lib, "libtheora_static_vs2013_x64.lib");
1462 								}
1463 							} else {
1464 								debug {
1465 									pragma(lib, "ogg_static_vs2013_x86_d.lib");
1466 									pragma(lib, "vorbis_static_vs2013_x86_d.lib");
1467 									pragma(lib, "vorbisfile_static_vs2013_x86_d.lib");
1468 
1469 									pragma(lib, "libtheora_static_vs2013_x86_d.lib");
1470 								} else {
1471 									pragma(lib, "ogg_static_vs2013_x86.lib");
1472 									pragma(lib, "vorbis_static_vs2013_x86.lib");
1473 									pragma(lib, "vorbisfile_static_vs2013_x86.lib");
1474 
1475 									pragma(lib, "libtheora_static_vs2013_x86.lib");
1476 								}
1477 							}
1478 						} else version (none) {
1479 							//_MSC_VER >= 1700
1480 
1481 							version (Win64) {
1482 								debug {
1483 									pragma(lib, "ogg_static_vs2012_x64_d.lib");
1484 									pragma(lib, "vorbis_static_vs2012_x64_d.lib");
1485 									pragma(lib, "vorbisfile_static_vs2012_x64_d.lib");
1486 
1487 									pragma(lib, "libtheora_static_vs2012_x64_d.lib");
1488 								} else {
1489 									pragma(lib, "ogg_static_vs2012_x64.lib");
1490 									pragma(lib, "vorbis_static_vs2012_x64.lib");
1491 									pragma(lib, "vorbisfile_static_vs2012_x64.lib");
1492 
1493 									pragma(lib, "libtheora_static_vs2012_x64.lib");
1494 								}
1495 							} else {
1496 								debug {
1497 									pragma(lib, "ogg_static_vs2012_x86_d.lib");
1498 									pragma(lib, "vorbis_static_vs2012_x86_d.lib");
1499 									pragma(lib, "vorbisfile_static_vs2012_x86_d.lib");
1500 
1501 									pragma(lib, "libtheora_static_vs2012_x86_d.lib");
1502 								} else {
1503 									pragma(lib, "ogg_static_vs2012_x86.lib");
1504 									pragma(lib, "vorbis_static_vs2012_x86.lib");
1505 									pragma(lib, "vorbisfile_static_vs2012_x86.lib");
1506 
1507 									pragma(lib, "libtheora_static_vs2012_x86.lib");
1508 								}
1509 							}
1510 						}
1511 					}
1512 				} else {
1513 					pragma(lib, "ogg_static.lib");
1514 					pragma(lib, "vorbis_static.lib");
1515 					pragma(lib, "vorbisfile_static.lib");
1516 
1517 					pragma(lib, "libtheora_static.lib");
1518 				}
1519 			}
1520 
1521 			// Opusライブラリ
1522 			version (DX_NON_OPUS) {
1523 			} else {
1524 				//#ifdef _MSC_VER
1525 				version (Windows) {
1526 					//#if _MSC_VER < 1700
1527 					version (none) {
1528 						version (Win64) {
1529 							debug {
1530 								pragma(lib, "opus_x64_d.lib");
1531 								pragma(lib, "opusfile_x64_d.lib");
1532 								pragma(lib, "silk_common_x64_d.lib");
1533 								pragma(lib, "celt_x64_d.lib");
1534 							} else {
1535 								pragma(lib, "opus_x64.lib");
1536 								pragma(lib, "opusfile_x64.lib");
1537 								pragma(lib, "silk_common_x64.lib");
1538 								pragma(lib, "celt_x64.lib");
1539 							}
1540 						} else {
1541 							debug {
1542 								pragma(lib, "opus_d.lib");
1543 								pragma(lib, "opusfile_d.lib");
1544 								pragma(lib, "silk_common_d.lib");
1545 								pragma(lib, "celt_d.lib");
1546 							} else {
1547 								pragma(lib, "opus.lib");
1548 								pragma(lib, "opusfile.lib");
1549 								pragma(lib, "silk_common.lib");
1550 								pragma(lib, "celt.lib");
1551 							}
1552 						}
1553 					} else {
1554 						//#if _MSC_VER >= 1900
1555 						version (all) {
1556 							version (DLL) {
1557 								version (Win64) {
1558 									debug {
1559 										pragma(lib, "opus_vs2015_x64_MDd.lib");
1560 										pragma(lib, "opusfile_vs2015_x64_MDd.lib");
1561 										pragma(lib, "silk_common_vs2015_x64_MDd.lib");
1562 										pragma(lib, "celt_vs2015_x64_MDd.lib");
1563 									} else {
1564 										pragma(lib, "opus_vs2015_x64_MD.lib");
1565 										pragma(lib, "opusfile_vs2015_x64_MD.lib");
1566 										pragma(lib, "silk_common_vs2015_x64_MD.lib");
1567 										pragma(lib, "celt_vs2015_x64_MD.lib");
1568 									}
1569 								} else {
1570 									debug {
1571 										pragma(lib, "opus_vs2015_x86_MDd.lib");
1572 										pragma(lib, "opusfile_vs2015_x86_MDd.lib");
1573 										pragma(lib, "silk_common_vs2015_x86_MDd.lib");
1574 										pragma(lib, "celt_vs2015_x86_MDd.lib");
1575 									} else {
1576 										pragma(lib, "opus_vs2015_x86_MD.lib");
1577 										pragma(lib, "opusfile_vs2015_x86_MD.lib");
1578 										pragma(lib, "silk_common_vs2015_x86_MD.lib");
1579 										pragma(lib, "celt_vs2015_x86_MD.lib");
1580 									}
1581 								}
1582 							} else {
1583 								version (Win64) {
1584 									debug {
1585 										pragma(lib, "opus_vs2015_x64_MTd.lib");
1586 										pragma(lib, "opusfile_vs2015_x64_MTd.lib");
1587 										pragma(lib, "silk_common_vs2015_x64_MTd.lib");
1588 										pragma(lib, "celt_vs2015_x64_MTd.lib");
1589 									} else {
1590 										pragma(lib, "opus_vs2015_x64_MT.lib");
1591 										pragma(lib, "opusfile_vs2015_x64_MT.lib");
1592 										pragma(lib, "silk_common_vs2015_x64_MT.lib");
1593 										pragma(lib, "celt_vs2015_x64_MT.lib");
1594 									}
1595 								} else {
1596 									debug {
1597 										pragma(lib, "opus_vs2015_x86_MTd.lib");
1598 										pragma(lib, "opusfile_vs2015_x86_MTd.lib");
1599 										pragma(lib, "silk_common_vs2015_x86_MTd.lib");
1600 										pragma(lib, "celt_vs2015_x86_MTd.lib");
1601 									} else {
1602 										pragma(lib, "opus_vs2015_x86_MT.lib");
1603 										pragma(lib, "opusfile_vs2015_x86_MT.lib");
1604 										pragma(lib, "silk_common_vs2015_x86_MT.lib");
1605 										pragma(lib, "celt_vs2015_x86_MT.lib");
1606 									}
1607 								}
1608 							}
1609 						} else version (none) {
1610 							//_MSC_VER >= 1800
1611 
1612 							version (Win64) {
1613 								debug {
1614 									pragma(lib, "opus_vs2013_x64_d.lib");
1615 									pragma(lib, "opusfile_vs2013_x64_d.lib");
1616 									pragma(lib, "silk_common_vs2013_x64_d.lib");
1617 									pragma(lib, "celt_vs2013_x64_d.lib");
1618 								} else {
1619 									pragma(lib, "opus_vs2013_x64.lib");
1620 									pragma(lib, "opusfile_vs2013_x64.lib");
1621 									pragma(lib, "silk_common_vs2013_x64.lib");
1622 									pragma(lib, "celt_vs2013_x64.lib");
1623 								}
1624 							} else {
1625 								debug {
1626 									pragma(lib, "opus_vs2013_x86_d.lib");
1627 									pragma(lib, "opusfile_vs2013_x86_d.lib");
1628 									pragma(lib, "silk_common_vs2013_x86_d.lib");
1629 									pragma(lib, "celt_vs2013_x86_d.lib");
1630 								} else {
1631 									pragma(lib, "opus_vs2013_x86.lib");
1632 									pragma(lib, "opusfile_vs2013_x86.lib");
1633 									pragma(lib, "silk_common_vs2013_x86.lib");
1634 									pragma(lib, "celt_vs2013_x86.lib");
1635 								}
1636 							}
1637 						} else version (none) {
1638 							//_MSC_VER >= 1700
1639 
1640 							version (Win64) {
1641 								debug {
1642 									pragma(lib, "opus_vs2012_x64_d.lib");
1643 									pragma(lib, "opusfile_vs2012_x64_d.lib");
1644 									pragma(lib, "silk_common_vs2012_x64_d.lib");
1645 									pragma(lib, "celt_vs2012_x64_d.lib");
1646 								} else {
1647 									pragma(lib, "opus_vs2012_x64.lib");
1648 									pragma(lib, "opusfile_vs2012_x64.lib");
1649 									pragma(lib, "silk_common_vs2012_x64.lib");
1650 									pragma(lib, "celt_vs2012_x64.lib");
1651 								}
1652 							} else {
1653 								debug {
1654 									pragma(lib, "opus_vs2012_x86_d.lib");
1655 									pragma(lib, "opusfile_vs2012_x86_d.lib");
1656 									pragma(lib, "silk_common_vs2012_x86_d.lib");
1657 									pragma(lib, "celt_vs2012_x86_d.lib");
1658 								} else {
1659 									pragma(lib, "opus_vs2012_x86.lib");
1660 									pragma(lib, "opusfile_vs2012_x86.lib");
1661 									pragma(lib, "silk_common_vs2012_x86.lib");
1662 									pragma(lib, "celt_vs2012_x86.lib");
1663 								}
1664 							}
1665 						}
1666 					}
1667 				} else {
1668 					pragma(lib, "opus.lib");
1669 					pragma(lib, "opusfile.lib");
1670 					pragma(lib, "silk_common.lib");
1671 					pragma(lib, "celt.lib");
1672 				}
1673 			}
1674 		}
1675 	}
1676 }
1677 
1678 extern (C++, DxLib) {
1679 	// マクロ定義 --------------------------------------------------------------------
1680 
1681 	// 環境依存キーワードなど
1682 	/+
1683 	#ifndef FASTCALL
1684 		#define FASTCALL __fastcall
1685 	#endif
1686 	+/
1687 
1688 	// DirectInputのバージョン設定
1689 	enum DIRECTINPUT_VERSION = 0x0700;
1690 
1691 	version (Win64) {
1692 		alias DWORD_PTR = core.sys.windows.winnt.ULONGLONG;
1693 	} else {
1694 		alias DWORD_PTR = core.sys.windows.windef.DWORD;
1695 	}
1696 
1697 	version (Win64) {
1698 		alias LONG_PTR = long;
1699 	} else {
1700 		alias LONG_PTR = int;
1701 	}
1702 
1703 	alias BITMAPINFO = core.sys.windows.wingdi.BITMAPINFO;
1704 	alias BOOL = core.sys.windows.windef.BOOL;
1705 	alias BYTE = core.sys.windows.windef.BYTE;
1706 	alias DWORD = core.sys.windows.windef.DWORD;
1707 	alias FALSE = core.sys.windows.windef.FALSE;
1708 	alias HBITMAP = core.sys.windows.windef.HBITMAP;
1709 	alias LONG = core.sys.windows.windef.LONG;
1710 	alias LONGLONG = core.sys.windows.winnt.LONGLONG;
1711 	alias POINT = core.sys.windows.windef.POINT;
1712 	alias RECT = core.sys.windows.windef.RECT;
1713 	alias SIZE = core.sys.windows.windef.SIZE;
1714 	alias TCHAR = core.sys.windows.winnt.TCHAR;
1715 	alias TRUE = core.sys.windows.windef.TRUE;
1716 	alias ULONGLONG = core.sys.windows.winnt.ULONGLONG;
1717 	alias WORD = core.sys.windows.windef.WORD;
1718 	alias wchar_t = core.stdc.stddef.wchar_t;
1719 
1720 	/**
1721 	 * ACM を使用した読み込み処理
1722 	 */
1723 	enum DX_READSOUNDFUNCTION_ACM = 1 << (dxlib_d.dxlib.DX_READSOUNDFUNCTION_DEFAULT_NUM + 0);
1724 
1725 	/**
1726 	 * ACM を使用した MP3 の読み込み処理
1727 	 */
1728 	enum DX_READSOUNDFUNCTION_MP3 = 1 << (dxlib_d.dxlib.DX_READSOUNDFUNCTION_DEFAULT_NUM + 1);
1729 
1730 	/**
1731 	 * DirectShow を使用した MP3 の読み込み処理
1732 	 */
1733 	enum DX_READSOUNDFUNCTION_DSMP3 = 1 << (dxlib_d.dxlib.DX_READSOUNDFUNCTION_DEFAULT_NUM + 2);
1734 
1735 	/**
1736 	 * Media Foundation を使用した読み込み処理
1737 	 */
1738 	enum DX_READSOUNDFUNCTION_MF = 1 << (dxlib_d.dxlib.DX_READSOUNDFUNCTION_DEFAULT_NUM + 3);
1739 
1740 	// Direct3D9 用テクスチャフォーマット
1741 	enum DX_TEXTUREFORMAT_DIRECT3D9_R8G8B8 = 1;
1742 	enum DX_TEXTUREFORMAT_DIRECT3D9_A8R8G8B8 = 2;
1743 	enum DX_TEXTUREFORMAT_DIRECT3D9_X8R8G8B8 = 3;
1744 	enum DX_TEXTUREFORMAT_DIRECT3D9_R5G6B5 = 4;
1745 	enum DX_TEXTUREFORMAT_DIRECT3D9_X1R5G5B5 = 5;
1746 	enum DX_TEXTUREFORMAT_DIRECT3D9_A1R5G5B5 = 6;
1747 	enum DX_TEXTUREFORMAT_DIRECT3D9_A4R4G4B4 = 7;
1748 	enum DX_TEXTUREFORMAT_DIRECT3D9_R3G3B2 = 8;
1749 	enum DX_TEXTUREFORMAT_DIRECT3D9_A8R3G3B2 = 9;
1750 	enum DX_TEXTUREFORMAT_DIRECT3D9_X4R4G4B4 = 10;
1751 	enum DX_TEXTUREFORMAT_DIRECT3D9_A2B10G10R10 = 11;
1752 	enum DX_TEXTUREFORMAT_DIRECT3D9_G16R16 = 12;
1753 	enum DX_TEXTUREFORMAT_DIRECT3D9_A8B8G8R8 = 13;
1754 	enum DX_TEXTUREFORMAT_DIRECT3D9_X8B8G8R8 = 14;
1755 	enum DX_TEXTUREFORMAT_DIRECT3D9_A2R10G10B10 = 15;
1756 	enum DX_TEXTUREFORMAT_DIRECT3D9_A16B16G16R16 = 16;
1757 	enum DX_TEXTUREFORMAT_DIRECT3D9_R16F = 17;
1758 	enum DX_TEXTUREFORMAT_DIRECT3D9_G16R16F = 18;
1759 	enum DX_TEXTUREFORMAT_DIRECT3D9_A16B16G16R16F = 19;
1760 	enum DX_TEXTUREFORMAT_DIRECT3D9_R32F = 20;
1761 	enum DX_TEXTUREFORMAT_DIRECT3D9_G32R32F = 21;
1762 	enum DX_TEXTUREFORMAT_DIRECT3D9_A32B32G32R32F = 22;
1763 
1764 	// エラーコード
1765 
1766 	/**
1767 	 * デスクトップが24ビットカラーモードだった
1768 	 */
1769 	enum DX_ERRORCODE_WIN_DESKTOP_24BIT_COLOR = 0x01010001;
1770 
1771 	/**
1772 	 * 二重起動
1773 	 */
1774 	enum DX_ERRORCODE_WIN_DOUBLE_START = 0x01010002;
1775 
1776 	/**
1777 	 * ウインドウの作成に失敗
1778 	 */
1779 	enum DX_ERRORCODE_WIN_FAILED_CREATEWINDOW = 0x01010003;
1780 
1781 	/**
1782 	 * 非同期読み込み処理を行うスレッドの立ち上げに失敗
1783 	 */
1784 	enum DX_ERRORCODE_WIN_FAILED_ASYNCLOAD_CREATE_THREAD = 0x01010004;
1785 
1786 	/**
1787 	 * DirectDraw7 の取得に失敗
1788 	 */
1789 	enum DX_ERRORCODE_WIN_FAILED_CREATE_DIRECTDRAW7 = 0x01020001;
1790 
1791 	/**
1792 	 * DirectDraw7 の初期化に失敗
1793 	 */
1794 	enum DX_ERRORCODE_WIN_FAILED_INITIALIZE_DIRECTDRAW7 = 0x01020002;
1795 
1796 	/**
1797 	 * 非対応の画面カラーモードが指定された
1798 	 */
1799 	enum DX_ERRORCODE_WIN_NOT_COMPATIBLE_SCREEN_COLOR_MODE = 0x01020003;
1800 
1801 	/**
1802 	 * Win32API の ChangeDisplaySettings を使用した画面モードの変更に失敗
1803 	 */
1804 	enum DX_ERRORCODE_WIN_FAILED_CHANGE_DISPLAY_SETTINGS = 0x01020004;
1805 
1806 	// 構造体定義 --------------------------------------------------------------------
1807 
1808 	// テーブル-----------------------------------------------------------------------
1809 
1810 	// 内部大域変数宣言 --------------------------------------------------------------
1811 
1812 	// 関数プロトタイプ宣言-----------------------------------------------------------
1813 }