diff --git a/engine/Makefile b/engine/Makefile index 73e4d0c7e..1b124652f 100644 --- a/engine/Makefile +++ b/engine/Makefile @@ -923,7 +923,7 @@ ifneq ($(shell echo $(FTE_TARGET)|grep linux),) NPFTE_OBJS=httpclient.o image.o sys_linux_threads.o sys_npfte.o sys_axfte.o sys_plugfte.o NPFTE_DLL_NAME=../npfte$(BITS).so - NPFTE_LDFLAGS=-shared + NPFTE_LDFLAGS=-shared -Wl,-z,defs -lX11 -lXt NPFTE_CFLAGS=$(NPFTECFLAGS) $(W32_CFLAGS) -DMULTITHREAD -fPIC -DDYNAMIC_LIBPNG -DDYNAMIC_LIBJPEG NPFTEB_DIR=npfte_linux$(BITS) @@ -1243,9 +1243,9 @@ d3d-profile: npfte-tmprel: reldir - @$(MAKE) $(OUT_DIR)/$(EXE_NAME) OUT_DIR="$(OUT_DIR)" WCFLAGS="$(NPFTE_CFLAGS) $(RELEASE_CFLAGS)" LDFLAGS="$(NPFTE_LDFLAGS) $(LDFLAGS) $(RELEASE_LDFLAGS)" OBJS="NPFTE_OBJS" + @$(MAKE) $(OUT_DIR)/$(EXE_NAME) OUT_DIR="$(OUT_DIR)" WCFLAGS="$(NPFTE_CFLAGS) $(RELEASE_CFLAGS)" LDFLAGS="$(BASELDFLAGS) $(NPFTE_LDFLAGS) $(LDFLAGS) $(RELEASE_LDFLAGS)" OBJS="NPFTE_OBJS" npfte-tmpdbg: debugdir - @$(MAKE) $(OUT_DIR)/$(EXE_NAME) OUT_DIR="$(OUT_DIR)" WCFLAGS="$(NPFTE_CFLAGS) $(DEBUG_CFLAGS)" LDFLAGS="$(NPFTE_LDFLAGS) $(LDFLAGS) $(DEBUG_LDFLAGS)" OBJS="NPFTE_OBJS" + @$(MAKE) $(OUT_DIR)/$(EXE_NAME) OUT_DIR="$(OUT_DIR)" WCFLAGS="$(NPFTE_CFLAGS) $(DEBUG_CFLAGS)" LDFLAGS="$(BASELDFLAGS) $(NPFTE_LDFLAGS) $(LDFLAGS) $(DEBUG_LDFLAGS)" OBJS="NPFTE_OBJS" npfte-rel: @$(MAKE) npfte-tmprel OUT_DIR="$(RELEASE_DIR)/$(NPFTEB_DIR)w32" EXE_NAME="../npfte.dll" PRECOMPHEADERS="" FTE_TARGET=win32 @$(MAKE) npfte-tmprel OUT_DIR="$(RELEASE_DIR)/$(NPFTEB_DIR)l32" EXE_NAME="../npfte32.so" PRECOMPHEADERS="" FTE_TARGET=linux32 diff --git a/engine/client/image.c b/engine/client/image.c index 8a7c314a5..d9db1f2f1 100644 --- a/engine/client/image.c +++ b/engine/client/image.c @@ -667,7 +667,11 @@ void (PNGAPI *qpng_set_expand) PNGARG((png_structp png_ptr)) PSTATIC(png_set_exp void (PNGAPI *qpng_set_gray_to_rgb) PNGARG((png_structp png_ptr)) PSTATIC(png_set_gray_to_rgb); void (PNGAPI *qpng_set_tRNS_to_alpha) PNGARG((png_structp png_ptr)) PSTATIC(png_set_tRNS_to_alpha); png_uint_32 (PNGAPI *qpng_get_valid) PNGARG((png_const_structp png_ptr, png_const_infop info_ptr, png_uint_32 flag)) PSTATIC(png_get_valid); +#if PNG_LIBPNG_VER > 10400 void (PNGAPI *qpng_set_expand_gray_1_2_4_to_8) PNGARG((png_structp png_ptr)) PSTATIC(png_set_expand_gray_1_2_4_to_8); +#else +void (PNGAPI *qpng_set_gray_1_2_4_to_8) PNGARG((png_structp png_ptr)) PSTATIC(png_set_gray_1_2_4_to_8); +#endif void (PNGAPI *qpng_set_filler) PNGARG((png_structp png_ptr, png_uint_32 filler, int flags)) PSTATIC(png_set_filler); void (PNGAPI *qpng_set_palette_to_rgb) PNGARG((png_structp png_ptr)) PSTATIC(png_set_palette_to_rgb); png_uint_32 (PNGAPI *qpng_get_IHDR) PNGARG((png_structp png_ptr, png_infop info_ptr, png_uint_32 *width, png_uint_32 *height, @@ -687,6 +691,7 @@ void (PNGAPI *qpng_set_IHDR) PNGARG((png_structp png_ptr, png_infop info_ptr, pn int bit_depth, int color_type, int interlace_method, int compression_method, int filter_method)) PSTATIC(png_set_IHDR); void (PNGAPI *qpng_set_compression_level) PNGARG((png_structp png_ptr, int level)) PSTATIC(png_set_compression_level); void (PNGAPI *qpng_init_io) PNGARG((png_structp png_ptr, png_FILE_p fp)) PSTATIC(png_init_io); +png_voidp (PNGAPI *qpng_get_io_ptr) PNGARG((png_structp png_ptr)) PSTATIC(png_get_io_ptr); void (PNGAPI *qpng_destroy_write_struct) PNGARG((png_structpp png_ptr_ptr, png_infopp info_ptr_ptr)) PSTATIC(png_destroy_write_struct); png_structp (PNGAPI *qpng_create_write_struct) PNGARG((png_const_charp user_png_ver, png_voidp error_ptr, png_error_ptr error_fn, png_error_ptr warn_fn)) PSTATIC(png_create_write_struct); @@ -707,7 +712,11 @@ qboolean LibPNG_Init(void) {(void **) &qpng_set_gray_to_rgb, "png_set_gray_to_rgb"}, {(void **) &qpng_set_tRNS_to_alpha, "png_set_tRNS_to_alpha"}, {(void **) &qpng_get_valid, "png_get_valid"}, + #if PNG_LIBPNG_VER > 10400 {(void **) &qpng_set_expand_gray_1_2_4_to_8, "png_set_expand_gray_1_2_4_to_8"}, + #else + {(void **) &qpng_set_gray_1_2_4_to_8, "png_set_gray_1_2_4_to_8"}, + #endif {(void **) &qpng_set_filler, "png_set_filler"}, {(void **) &qpng_set_palette_to_rgb, "png_set_palette_to_rgb"}, {(void **) &qpng_get_IHDR, "png_get_IHDR"}, @@ -756,7 +765,7 @@ void PNGAPI png_default_read_data(png_structp png_ptr, png_bytep data, png_size_ void VARGS readpngdata(png_structp png_ptr,png_bytep data,png_size_t len) { - pngreadinfo_t *ri = (pngreadinfo_t*)png_get_io_ptr(png_ptr); + pngreadinfo_t *ri = (pngreadinfo_t*)qpng_get_io_ptr(png_ptr); if (ri->readposition+len > ri->filelen) { qpng_error(png_ptr, "unexpected eof"); @@ -829,7 +838,7 @@ error: #if PNG_LIBPNG_VER > 10400 qpng_set_expand_gray_1_2_4_to_8(png); #else - png_set_gray_1_2_4_to_8(png); + qpng_set_gray_1_2_4_to_8(png); #endif } diff --git a/engine/client/sys_plugfte.c b/engine/client/sys_plugfte.c index c8408b5a3..e9c153845 100644 --- a/engine/client/sys_plugfte.c +++ b/engine/client/sys_plugfte.c @@ -18,6 +18,11 @@ void *globalmutex; # endif #endif +dllhandle_t *Sys_LoadLibrary(const char *name, dllfunction_t *funcs) +{ + return NULL; +} + void BZ_Free(void *ptr) { free(ptr); @@ -1037,7 +1042,7 @@ qboolean Plug_GenCommandlineString(struct context *ctx, char *cmdline, int cmdli for (i = 0; i < argc; i++) { //add quotes for any arguments with spaces - if (strchr(argv[i], ' ') || strchr(arg[i], '\t')) + if (strchr(argv[i], ' ') || strchr(argv[i], '\t')) { Q_strncatz(cmdline, "\"", cmdlinelen); Q_strncatz(cmdline, argv[i], cmdlinelen); diff --git a/engine/server/sv_sql.c b/engine/server/sv_sql.c index 2b214b94d..0247a0428 100644 --- a/engine/server/sv_sql.c +++ b/engine/server/sv_sql.c @@ -1205,10 +1205,12 @@ void SQL_DeInit(void) if (qmysql_library_end) qmysql_library_end(); - Sys_CloseLibrary(mysqlhandle); + if (mysqlhandle) + Sys_CloseLibrary(mysqlhandle); #endif #ifdef USE_SQLITE - Sys_CloseLibrary(sqlitehandle); + if (sqlitehandle) + Sys_CloseLibrary(sqlitehandle); #endif }