X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=image_png.c;h=6b226af060d7f4f1eb85276a1ca3f8b08216757c;hb=49f0e1cbc8bc4ea8a165e8b86092c40bf4599a8e;hp=04419bd03551f29eca33ccb183ebca4f2437d787;hpb=15401d0a14c409b7dd75e88c603048c797fa2232;p=xonotic%2Fdarkplaces.git diff --git a/image_png.c b/image_png.c index 04419bd0..6b226af0 100644 --- a/image_png.c +++ b/image_png.c @@ -1,5 +1,5 @@ /* - Copyright (C) 2006 Serge "(515)" Ziryukin, Forest "LordHavoc" Hale + Copyright (C) 2006 Serge "(515)" Ziryukin, Ashley Rose Hale (LadyHavoc) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License @@ -24,9 +24,9 @@ //[515]: png implemented into DP ONLY FOR TESTING 2d stuff with csqc // so delete this bullshit :D // -//LordHavoc: rewrote most of this. +//LadyHavoc: rewrote most of this. -#include "quakedef.h" +#include "darkplaces.h" #include "image.h" #include "image_png.h" @@ -140,7 +140,7 @@ PNG_OpenLibrary Try to load the PNG DLL ==================== */ -qboolean PNG_OpenLibrary (void) +qbool PNG_OpenLibrary (void) { const char* dllnames [] = { @@ -172,12 +172,12 @@ qboolean PNG_OpenLibrary (void) return true; // Load the DLL - if(!Sys_LoadLibrary (dllnames, &png_dll, pngfuncs)) + if(!Sys_LoadDependency (dllnames, &png_dll, pngfuncs)) return false; if(qpng_access_version_number() / 100 >= 104) - if(!Sys_LoadLibrary (dllnames, &png14_dll, png14funcs)) + if(!Sys_LoadDependency (dllnames, &png14_dll, png14funcs)) { - Sys_UnloadLibrary (&png_dll); + Sys_FreeLibrary (&png_dll); return false; } return true; @@ -193,8 +193,8 @@ Unload the PNG DLL */ void PNG_CloseLibrary (void) { - Sys_UnloadLibrary (&png14_dll); - Sys_UnloadLibrary (&png_dll); + Sys_FreeLibrary (&png14_dll); + Sys_FreeLibrary (&png_dll); } /* @@ -254,7 +254,7 @@ static struct qfile_t *outfile; } my_png; -//LordHavoc: removed __cdecl prefix, added overrun protection, and rewrote this to be more efficient +//LadyHavoc: removed __cdecl prefix, added overrun protection, and rewrote this to be more efficient static void PNG_fReadData(void *png, unsigned char *data, size_t length) { size_t l; @@ -283,12 +283,12 @@ static void PNG_fFlushData(void *png) static void PNG_error_fn(void *png, const char *message) { - Con_Printf("PNG_LoadImage: error: %s\n", message); + Con_Printf(CON_ERROR "PNG_LoadImage: error: %s\n", message); } static void PNG_warning_fn(void *png, const char *message) { - Con_Printf("PNG_LoadImage: warning: %s\n", message); + Con_Printf(CON_WARN "PNG_LoadImage: warning: %s\n", message); } unsigned char *PNG_LoadImage_BGRA (const unsigned char *raw, int filesize, int *miplevel) @@ -474,7 +474,7 @@ PNG_SaveImage_preflipped Save a preflipped PNG image to a file ==================== */ -qboolean PNG_SaveImage_preflipped (const char *filename, int width, int height, qboolean has_alpha, unsigned char *data) +qbool PNG_SaveImage_preflipped (const char *filename, int width, int height, qbool has_alpha, unsigned char *data) { unsigned int offset, linesize; qfile_t* file = NULL; @@ -511,16 +511,14 @@ qboolean PNG_SaveImage_preflipped (const char *filename, int width, int height, // NOTE: this relies on jmp_buf being the first thing in the png structure // created by libpng! (this is correct for libpng 1.2.x) -#ifdef __cplusplus #ifdef WIN64 if (setjmp((_JBTYPE *)png)) #elif defined(MACOSX) || defined(WIN32) if (setjmp((int *)png)) +#elif defined(__ANDROID__) + if (setjmp((long *)png)) #else - if (setjmp((__jmp_buf_tag *)png)) -#endif -#else - if (setjmp(png)) + if (setjmp((struct __jmp_buf_tag *)png)) #endif { qpng_destroy_write_struct(&png, &pnginfo);