]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - image_png.c
README: Remove Discord invite link. The Discord server is now deprecated
[xonotic/darkplaces.git] / image_png.c
index 96fb4955049a0e51c26cf479ee3d1cc8261d5663..6b226af060d7f4f1eb85276a1ca3f8b08216757c 100644 (file)
@@ -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,7 +511,6 @@ 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)
@@ -519,10 +518,7 @@ qboolean PNG_SaveImage_preflipped (const char *filename, int width, int height,
 #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);