X operations(XOPS)に非常に近いFPSゲームを制作・リメイクし、成果物をオープンソースとして公開することを目的としたプロジェクトです。
Revision | 302 (tree) |
---|---|
Zeit | 2022-04-13 00:22:37 |
Autor | ![]() |
OpenGL向けlibjpeg・zlib・libpngの使用有無を定数で切り替えできるように。(通常は無効)
@@ -233,9 +233,11 @@ | ||
233 | 233 | #endif |
234 | 234 | |
235 | 235 | |
236 | +#ifdef ENABLE_OPENGL_LIBJPEGPNG | |
236 | 237 | //libjpeg初期化 |
237 | 238 | cinfo.err = jpeg_std_error(&jerr); |
238 | 239 | jpeg_create_decompress(&cinfo); |
240 | +#endif | |
239 | 241 | |
240 | 242 | return 0; |
241 | 243 | } |
@@ -367,8 +369,10 @@ | ||
367 | 369 | OutputLog.WriteLog(LOG_CLEANUP, "Graphics", "OpenGL"); |
368 | 370 | #endif |
369 | 371 | |
372 | +#ifdef ENABLE_OPENGL_LIBJPEGPNG | |
370 | 373 | //libjpeg解放 |
371 | 374 | jpeg_destroy_decompress(&cinfo); |
375 | +#endif | |
372 | 376 | } |
373 | 377 | |
374 | 378 | //! @brief デバイスのリソースを解放 |
@@ -1262,6 +1266,7 @@ | ||
1262 | 1266 | //! @attention 通常は LoadTexture()関数 から呼びだすこと。 |
1263 | 1267 | bool D3DGraphics::LoadJPEGTexture(const char* filename, bool BlackTransparent, TEXTUREDATA *ptexture) |
1264 | 1268 | { |
1269 | +#ifdef ENABLE_OPENGL_LIBJPEGPNG | |
1265 | 1270 | FILE *fp; |
1266 | 1271 | JSAMPARRAY img; |
1267 | 1272 | unsigned int width, height; |
@@ -1338,6 +1343,9 @@ | ||
1338 | 1343 | ptexture->useflag = true; |
1339 | 1344 | |
1340 | 1345 | return true; |
1346 | +#else | |
1347 | + return false; | |
1348 | +#endif | |
1341 | 1349 | } |
1342 | 1350 | |
1343 | 1351 | //! @brief PNGファイルを読み込む |
@@ -1348,6 +1356,7 @@ | ||
1348 | 1356 | //! @attention 通常は LoadTexture()関数 から呼びだすこと。 |
1349 | 1357 | bool D3DGraphics::LoadPNGTexture(const char* filename, bool BlackTransparent, TEXTUREDATA *ptexture) |
1350 | 1358 | { |
1359 | +#ifdef ENABLE_OPENGL_LIBJPEGPNG | |
1351 | 1360 | FILE *fp; |
1352 | 1361 | png_byte sig[4]; |
1353 | 1362 | png_structp pPng; |
@@ -1494,6 +1503,9 @@ | ||
1494 | 1503 | ptexture->useflag = true; |
1495 | 1504 | |
1496 | 1505 | return true; |
1506 | +#else | |
1507 | + return false; | |
1508 | +#endif | |
1497 | 1509 | } |
1498 | 1510 | |
1499 | 1511 | #ifdef ENABLE_DEBUGCONSOLE |
@@ -82,26 +82,31 @@ | ||
82 | 82 | |
83 | 83 | #elif GRAPHIC_ENGINE == 8 |
84 | 84 | |
85 | +//#define ENABLE_OPENGL_LIBJPEGPNG //!< OpenGLにおいてlibjpeg・libpngを使用する | |
86 | + | |
85 | 87 | #include <ctype.h> |
86 | 88 | #include <windows.h> |
87 | 89 | #include <GL/gl.h> |
88 | 90 | #include <GL/glu.h> |
89 | -#include "lib/libjpeg/jpeglib.h" | |
90 | -#include "lib/zlib/zlib.h" | |
91 | -#include "lib/libpng/png.h" | |
92 | 91 | |
93 | 92 | #pragma comment(lib, "opengl32.lib") |
94 | 93 | #pragma comment(lib, "glu32.lib") |
95 | 94 | |
96 | -#pragma comment(lib, "lib/libjpeg/libjpeg_t.lib") | |
97 | -#pragma comment(lib, "lib/zlib/zlib.lib") | |
98 | -#pragma comment(lib, "lib/libpng/libpng.lib") | |
95 | +#ifdef ENABLE_OPENGL_LIBJPEGPNG | |
96 | + #include "lib/libjpeg/jpeglib.h" | |
97 | + #include "lib/zlib/zlib.h" | |
98 | + #include "lib/libpng/png.h" | |
99 | 99 | |
100 | -//#pragma comment(lib, "legacy_stdio_definitions.lib") | |
100 | + #pragma comment(lib, "lib/libjpeg/libjpeg_t.lib") | |
101 | + #pragma comment(lib, "lib/zlib/zlib.lib") | |
102 | + #pragma comment(lib, "lib/libpng/libpng.lib") | |
101 | 103 | |
102 | -#pragma comment(linker, "/NODEFAULTLIB:libcmt.lib") | |
103 | -#pragma comment(linker, "/NODEFAULTLIB:libcpmt.lib") | |
104 | + //#pragma comment(lib, "legacy_stdio_definitions.lib") | |
104 | 105 | |
106 | + #pragma comment(linker, "/NODEFAULTLIB:libcmt.lib") | |
107 | + #pragma comment(linker, "/NODEFAULTLIB:libcpmt.lib") | |
108 | +#endif | |
109 | + | |
105 | 110 | #define GRAPHICS_CORE "OpenGL 1.1" //!< バージョン表示用情報 |
106 | 111 | |
107 | 112 | #endif //GRAPHIC_ENGINE |
@@ -261,8 +266,10 @@ | ||
261 | 266 | float HUD_myweapon_y[TOTAL_HAVEWEAPON]; //!< HUD_Aの武器描画 Y座標 |
262 | 267 | float HUD_myweapon_z[TOTAL_HAVEWEAPON]; //!< HUD_Aの武器描画 Z座標 |
263 | 268 | |
269 | +#ifdef ENABLE_OPENGL_LIBJPEGPNG | |
264 | 270 | jpeg_decompress_struct cinfo; //!< libjpeg |
265 | 271 | jpeg_error_mgr jerr; //!< libjpeg |
272 | +#endif | |
266 | 273 | |
267 | 274 | void CleanupD3Dresource(); |
268 | 275 | int CheckFileExtension(const char* filename, int nowformat); |