Drop libpng and zlib in favor of a custom < 100 line .png writer and a drop-in zlib replacement called miniz.

git-svn-id: https://svn.eduke32.com/eduke32@6365 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
terminx 2017-07-18 20:53:00 +00:00
parent a17eb158e8
commit fd19569099
33 changed files with 10668 additions and 11289 deletions

View file

@ -273,7 +273,6 @@ USE_LUAJIT_2_1 ?= 0
# Library toggles
HAVE_GTK2 ?= 1
USE_LIBPNG ?= 1
USE_LIBVPX ?= 1
HAVE_VORBIS ?= 1
HAVE_FLAC ?= 1
@ -754,16 +753,6 @@ ifneq ($(LUNATIC),0)
endif
endif
ifneq (0,$(USE_LIBPNG))
COMPILERFLAGS+= -DUSE_LIBPNG
ifeq ($(PLATFORM),WINDOWS)
LIBS+= -lpng_mini -lz_mini
else ifeq ($(PLATFORM),DARWIN)
LIBS+= -lpng # -lz
else
LIBS+= -lpng -lz
endif
endif
ifneq (0,$(USE_LIBVPX))
COMPILERFLAGS+= -DUSE_LIBVPX
LIBS+= -lvpx

View file

@ -172,6 +172,8 @@ ENGINE_OBJS = \
colmatch.cpp \
screenshot.cpp \
mhk.cpp \
pngwrite.cpp \
miniz.c \
ENGINE_EDITOR_OBJS = \
build.cpp \

View file

@ -355,8 +355,6 @@
00970E2419F2076B00873EB9 /* libFLAC.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00970E1B19F2076B00873EB9 /* libFLAC.a */; };
00970E2519F2076B00873EB9 /* libogg.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00970E1C19F2076B00873EB9 /* libogg.a */; };
00970E2619F2076B00873EB9 /* libogg.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00970E1C19F2076B00873EB9 /* libogg.a */; };
00970E2719F2076B00873EB9 /* libpng.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00970E1D19F2076B00873EB9 /* libpng.a */; };
00970E2819F2076B00873EB9 /* libpng.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00970E1D19F2076B00873EB9 /* libpng.a */; };
00970E2919F2076B00873EB9 /* libSDL2_mixer.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00970E1E19F2076B00873EB9 /* libSDL2_mixer.a */; };
00970E2A19F2076B00873EB9 /* libSDL2_mixer.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00970E1E19F2076B00873EB9 /* libSDL2_mixer.a */; };
00970E2B19F2076B00873EB9 /* libSDL2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00970E1F19F2076B00873EB9 /* libSDL2.a */; };
@ -379,8 +377,6 @@
00970E5019F2108600873EB9 /* driver_nosound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 00970E4E19F2108600873EB9 /* driver_nosound.cpp */; };
00970E5119F2108600873EB9 /* driver_nosound.h in Headers */ = {isa = PBXBuildFile; fileRef = 00970E4F19F2108600873EB9 /* driver_nosound.h */; };
00970E5219F210C100873EB9 /* rev.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0008E9D219F1AD9B0091588D /* rev.cpp */; };
00970E5819F2128300873EB9 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 00970E5719F2128300873EB9 /* libz.dylib */; };
00970E5919F2129B00873EB9 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 00970E5719F2128300873EB9 /* libz.dylib */; };
00970E5B19F2139500873EB9 /* ForceFeedback.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 00970E5A19F2139500873EB9 /* ForceFeedback.framework */; };
00970E5C19F2139C00873EB9 /* ForceFeedback.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 00970E5A19F2139500873EB9 /* ForceFeedback.framework */; };
00970E5E19F213B300873EB9 /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 00970E5D19F213B300873EB9 /* libiconv.dylib */; };
@ -776,7 +772,6 @@
0013832819F366720007DA6C /* libc++.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libc++.dylib"; path = "usr/lib/libc++.dylib"; sourceTree = SDKROOT; };
00970E1B19F2076B00873EB9 /* libFLAC.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libFLAC.a; path = /usr/local/lib/libFLAC.a; sourceTree = "<absolute>"; };
00970E1C19F2076B00873EB9 /* libogg.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libogg.a; path = /usr/local/lib/libogg.a; sourceTree = "<absolute>"; };
00970E1D19F2076B00873EB9 /* libpng.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libpng.a; path = /usr/local/lib/libpng.a; sourceTree = "<absolute>"; };
00970E1E19F2076B00873EB9 /* libSDL2_mixer.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libSDL2_mixer.a; path = /usr/local/lib/libSDL2_mixer.a; sourceTree = "<absolute>"; };
00970E1F19F2076B00873EB9 /* libSDL2.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libSDL2.a; path = /usr/local/lib/libSDL2.a; sourceTree = "<absolute>"; };
00970E2019F2076B00873EB9 /* libvorbis.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libvorbis.a; path = /usr/local/lib/libvorbis.a; sourceTree = "<absolute>"; };
@ -785,7 +780,6 @@
00970E3319F207F000873EB9 /* a-c.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.c; name = "a-c.cpp"; path = "../../source/build/src/a-c.cpp"; sourceTree = SOURCE_ROOT; };
00970E4E19F2108600873EB9 /* driver_nosound.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.c; name = driver_nosound.cpp; path = ../../source/audiolib/src/driver_nosound.cpp; sourceTree = SOURCE_ROOT; };
00970E4F19F2108600873EB9 /* driver_nosound.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = driver_nosound.h; path = ../../source/audiolib/src/driver_nosound.h; sourceTree = SOURCE_ROOT; };
00970E5719F2128300873EB9 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; };
00970E5A19F2139500873EB9 /* ForceFeedback.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ForceFeedback.framework; path = System/Library/Frameworks/ForceFeedback.framework; sourceTree = SDKROOT; };
00970E5D19F213B300873EB9 /* libiconv.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libiconv.dylib; path = usr/lib/libiconv.dylib; sourceTree = SDKROOT; };
00970E6019F2142400873EB9 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; };
@ -844,7 +838,6 @@
files = (
00970E6119F2142400873EB9 /* CoreAudio.framework in Frameworks */,
00970E5E19F213B300873EB9 /* libiconv.dylib in Frameworks */,
00970E5819F2128300873EB9 /* libz.dylib in Frameworks */,
00970E4A19F20F7E00873EB9 /* libBUILD.a in Frameworks */,
0008EA8419F1B1E80091588D /* IOKit.framework in Frameworks */,
00970E4B19F20F7E00873EB9 /* libMACT.a in Frameworks */,
@ -866,7 +859,6 @@
000C48E519F35DA9006E6B52 /* Foundation.framework in Frameworks */,
0008EA7819F1B1AC0091588D /* Carbon.framework in Frameworks */,
00970E4C19F20F7E00873EB9 /* libAudioLib.a in Frameworks */,
00970E2719F2076B00873EB9 /* libpng.a in Frameworks */,
0008E64F19F1A66E0091588D /* Cocoa.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
@ -876,7 +868,6 @@
buildActionMask = 2147483647;
files = (
00970E5B19F2139500873EB9 /* ForceFeedback.framework in Frameworks */,
00970E5919F2129B00873EB9 /* libz.dylib in Frameworks */,
00970E4619F20F7E00873EB9 /* libBUILD.a in Frameworks */,
0008EA8819F1B2400091588D /* AudioToolbox.framework in Frameworks */,
00970E4719F20F7E00873EB9 /* libMACT.a in Frameworks */,
@ -899,7 +890,6 @@
000C48E219F35DA8006E6B52 /* Foundation.framework in Frameworks */,
0008E68719F1A8F10091588D /* Cocoa.framework in Frameworks */,
00970E4819F20F7E00873EB9 /* libAudioLib.a in Frameworks */,
00970E2819F2076B00873EB9 /* libpng.a in Frameworks */,
0008EA9D19F1BB3A0091588D /* CoreMIDI.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
@ -1029,7 +1019,6 @@
00970E6019F2142400873EB9 /* CoreAudio.framework */,
00970E5D19F213B300873EB9 /* libiconv.dylib */,
00970E5A19F2139500873EB9 /* ForceFeedback.framework */,
00970E5719F2128300873EB9 /* libz.dylib */,
0008EA8319F1B1E80091588D /* IOKit.framework */,
0008EA8119F1B1E20091588D /* AudioToolbox.framework */,
0008EA7F19F1B1D30091588D /* AGL.framework */,
@ -1433,7 +1422,6 @@
00970E2119F2076B00873EB9 /* libvorbisfile.a */,
00970E1C19F2076B00873EB9 /* libogg.a */,
00970E2219F2076B00873EB9 /* libvpx.a */,
00970E1D19F2076B00873EB9 /* libpng.a */,
);
name = Libraries;
sourceTree = "<group>";
@ -2405,7 +2393,6 @@
"-DNDEBUG",
"-DNO_GCC_BUILTINS",
"-D_FORTIFY_SOURCE=2",
"-DUSE_LIBPNG",
"-DUSE_LIBVPX",
"-DSDL_TARGET=2",
"-DRENDERTYPESDL=1",
@ -2518,7 +2505,6 @@
"-DNDEBUG",
"-DNO_GCC_BUILTINS",
"-D_FORTIFY_SOURCE=2",
"-DUSE_LIBPNG",
"-DUSE_LIBVPX",
"-DSDL_TARGET=2",
"-DRENDERTYPESDL=1",
@ -2637,7 +2623,6 @@
"-DNDEBUG",
"-DNO_GCC_BUILTINS",
"-D_FORTIFY_SOURCE=2",
"-DUSE_LIBPNG",
"-DUSE_LIBVPX",
"-DSDL_TARGET=2",
"-DRENDERTYPESDL=1",
@ -2750,7 +2735,6 @@
"-DNDEBUG",
"-DNO_GCC_BUILTINS",
"-D_FORTIFY_SOURCE=2",
"-DUSE_LIBPNG",
"-DUSE_LIBVPX",
"-DSDL_TARGET=2",
"-DRENDERTYPESDL=1",
@ -2860,7 +2844,6 @@
"-DNDEBUG",
"-DNO_GCC_BUILTINS",
"-D_FORTIFY_SOURCE=2",
"-DUSE_LIBPNG",
"-DUSE_LIBVPX",
"-DSDL_TARGET=2",
"-DRENDERTYPESDL=1",
@ -2962,7 +2945,6 @@
"-DNDEBUG",
"-DNO_GCC_BUILTINS",
"-D_FORTIFY_SOURCE=2",
"-DUSE_LIBPNG",
"-DUSE_LIBVPX",
"-DSDL_TARGET=2",
"-DRENDERTYPESDL=1",
@ -3067,7 +3049,6 @@
"-DNDEBUG",
"-DNO_GCC_BUILTINS",
"-D_FORTIFY_SOURCE=2",
"-DUSE_LIBPNG",
"-DUSE_LIBVPX",
"-DSDL_TARGET=2",
"-DRENDERTYPESDL=1",
@ -3166,7 +3147,6 @@
"-DNDEBUG",
"-DNO_GCC_BUILTINS",
"-D_FORTIFY_SOURCE=2",
"-DUSE_LIBPNG",
"-DUSE_LIBVPX",
"-DSDL_TARGET=2",
"-DRENDERTYPESDL=1",
@ -3270,7 +3250,6 @@
"-DNDEBUG",
"-DNO_GCC_BUILTINS",
"-D_FORTIFY_SOURCE=2",
"-DUSE_LIBPNG",
"-DUSE_LIBVPX",
"-DSDL_TARGET=2",
"-DRENDERTYPESDL=1",
@ -3368,7 +3347,6 @@
"-DNDEBUG",
"-DNO_GCC_BUILTINS",
"-D_FORTIFY_SOURCE=2",
"-DUSE_LIBPNG",
"-DUSE_LIBVPX",
"-DSDL_TARGET=2",
"-DRENDERTYPESDL=1",
@ -3505,7 +3483,6 @@
"-DNDEBUG",
"-DNO_GCC_BUILTINS",
"-D_FORTIFY_SOURCE=2",
"-DUSE_LIBPNG",
"-DUSE_LIBVPX",
"-DSDL_TARGET=2",
"-DRENDERTYPESDL=1",
@ -3604,7 +3581,6 @@
"-DNDEBUG",
"-DNO_GCC_BUILTINS",
"-D_FORTIFY_SOURCE=2",
"-DUSE_LIBPNG",
"-DUSE_LIBVPX",
"-DSDL_TARGET=2",
"-DRENDERTYPESDL=1",

File diff suppressed because it is too large Load diff

View file

@ -1,619 +0,0 @@
/* pngconf.h - machine configurable file for libpng
*
* libpng version 1.5.4 - July 7, 2011
*
* Copyright (c) 1998-2011 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
*
* This code is released under the libpng license.
* For conditions of distribution and use, see the disclaimer
* and license in png.h
*
*/
/* Any machine specific code is near the front of this file, so if you
* are configuring libpng for a machine, you may want to read the section
* starting here down to where it starts to typedef png_color, png_text,
* and png_info.
*/
#ifndef PNGCONF_H
#define PNGCONF_H
#ifndef PNG_BUILDING_SYMBOL_TABLE
/* PNG_NO_LIMITS_H may be used to turn off the use of the standard C
* definition file for machine specific limits, this may impact the
* correctness of the definitons below (see uses of INT_MAX).
*/
# ifndef PNG_NO_LIMITS_H
# include <limits.h>
# endif
/* For the memory copy APIs (i.e. the standard definitions of these),
* because this file defines png_memcpy and so on the base APIs must
* be defined here.
*/
# ifdef BSD
# include <strings.h>
# else
# include <string.h>
# endif
/* For png_FILE_p - this provides the standard definition of a
* FILE
*/
# ifdef PNG_STDIO_SUPPORTED
# include <stdio.h>
# endif
#endif
/* This controls optimization of the reading of 16 and 32 bit values
* from PNG files. It can be set on a per-app-file basis - it
* just changes whether a macro is used to the function is called.
* The library builder sets the default, if read functions are not
* built into the library the macro implementation is forced on.
*/
#ifndef PNG_READ_INT_FUNCTIONS_SUPPORTED
# define PNG_USE_READ_MACROS
#endif
#if !defined(PNG_NO_USE_READ_MACROS) && !defined(PNG_USE_READ_MACROS)
# if PNG_DEFAULT_READ_MACROS
# define PNG_USE_READ_MACROS
# endif
#endif
/* COMPILER SPECIFIC OPTIONS.
*
* These options are provided so that a variety of difficult compilers
* can be used. Some are fixed at build time (e.g. PNG_API_RULE
* below) but still have compiler specific implementations, others
* may be changed on a per-file basis when compiling against libpng.
*/
/* The PNGARG macro protects us against machines that don't have function
* prototypes (ie K&R style headers). If your compiler does not handle
* function prototypes, define this macro and use the included ansi2knr.
* I've always been able to use _NO_PROTO as the indicator, but you may
* need to drag the empty declaration out in front of here, or change the
* ifdef to suit your own needs.
*/
#ifndef PNGARG
# ifdef OF /* zlib prototype munger */
# define PNGARG(arglist) OF(arglist)
# else
# ifdef _NO_PROTO
# define PNGARG(arglist) ()
# else
# define PNGARG(arglist) arglist
# endif /* _NO_PROTO */
# endif /* OF */
#endif /* PNGARG */
/* Function calling conventions.
* =============================
* Normally it is not necessary to specify to the compiler how to call
* a function - it just does it - however on x86 systems derived from
* Microsoft and Borland C compilers ('IBM PC', 'DOS', 'Windows' systems
* and some others) there are multiple ways to call a function and the
* default can be changed on the compiler command line. For this reason
* libpng specifies the calling convention of every exported function and
* every function called via a user supplied function pointer. This is
* done in this file by defining the following macros:
*
* PNGAPI Calling convention for exported functions.
* PNGCBAPI Calling convention for user provided (callback) functions.
* PNGCAPI Calling convention used by the ANSI-C library (required
* for longjmp callbacks and sometimes used internally to
* specify the calling convention for zlib).
*
* These macros should never be overridden. If it is necessary to
* change calling convention in a private build this can be done
* by setting PNG_API_RULE (which defaults to 0) to one of the values
* below to select the correct 'API' variants.
*
* PNG_API_RULE=0 Use PNGCAPI - the 'C' calling convention - throughout.
* This is correct in every known environment.
* PNG_API_RULE=1 Use the operating system convention for PNGAPI and
* the 'C' calling convention (from PNGCAPI) for
* callbacks (PNGCBAPI). This is no longer required
* in any known environment - if it has to be used
* please post an explanation of the problem to the
* libpng mailing list.
*
* These cases only differ if the operating system does not use the C
* calling convention, at present this just means the above cases
* (x86 DOS/Windows sytems) and, even then, this does not apply to
* Cygwin running on those systems.
*
* Note that the value must be defined in pnglibconf.h so that what
* the application uses to call the library matches the conventions
* set when building the library.
*/
/* Symbol export
* =============
* When building a shared library it is almost always necessary to tell
* the compiler which symbols to export. The png.h macro 'PNG_EXPORT'
* is used to mark the symbols. On some systems these symbols can be
* extracted at link time and need no special processing by the compiler,
* on other systems the symbols are flagged by the compiler and just
* the declaration requires a special tag applied (unfortunately) in a
* compiler dependent way. Some systems can do either.
*
* A small number of older systems also require a symbol from a DLL to
* be flagged to the program that calls it. This is a problem because
* we do not know in the header file included by application code that
* the symbol will come from a shared library, as opposed to a statically
* linked one. For this reason the application must tell us by setting
* the magic flag PNG_USE_DLL to turn on the special processing before
* it includes png.h.
*
* Four additional macros are used to make this happen:
*
* PNG_IMPEXP The magic (if any) to cause a symbol to be exported from
* the build or imported if PNG_USE_DLL is set - compiler
* and system specific.
*
* PNG_EXPORT_TYPE(type) A macro that pre or appends PNG_IMPEXP to
* 'type', compiler specific.
*
* PNG_DLL_EXPORT Set to the magic to use during a libpng build to
* make a symbol exported from the DLL.
*
* PNG_DLL_IMPORT Set to the magic to force the libpng symbols to come
* from a DLL - used to define PNG_IMPEXP when
* PNG_USE_DLL is set.
*/
/* System specific discovery.
* ==========================
* This code is used at build time to find PNG_IMPEXP, the API settings
* and PNG_EXPORT_TYPE(), it may also set a macro to indicate the DLL
* import processing is possible. On Windows/x86 systems it also sets
* compiler-specific macros to the values required to change the calling
* conventions of the various functions.
*/
#if ( defined(_Windows) || defined(_WINDOWS) || defined(WIN32) ||\
defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) ) &&\
( defined(_X86_) || defined(_X64_) || defined(_M_IX86) ||\
defined(_M_X64) || defined(_M_IA64) )
/* Windows system (DOS doesn't support DLLs) running on x86/x64. Includes
* builds under Cygwin or MinGW. Also includes Watcom builds but these need
* special treatment because they are not compatible with GCC or Visual C
* because of different calling conventions.
*/
# if PNG_API_RULE == 2
/* If this line results in an error, either because __watcall is not
* understood or because of a redefine just below you cannot use *this*
* build of the library with the compiler you are using. *This* build was
* build using Watcom and applications must also be built using Watcom!
*/
# define PNGCAPI __watcall
# endif
# if defined(__GNUC__) || (defined (_MSC_VER) && (_MSC_VER >= 800))
# define PNGCAPI __cdecl
# if PNG_API_RULE == 1
# define PNGAPI __stdcall
# endif
# else
/* An older compiler, or one not detected (erroneously) above,
* if necessary override on the command line to get the correct
* variants for the compiler.
*/
# ifndef PNGCAPI
# define PNGCAPI _cdecl
# endif
# if PNG_API_RULE == 1 && !defined(PNGAPI)
# define PNGAPI _stdcall
# endif
# endif /* compiler/api */
/* NOTE: PNGCBAPI always defaults to PNGCAPI. */
# if defined(PNGAPI) && !defined(PNG_USER_PRIVATEBUILD)
ERROR: PNG_USER_PRIVATEBUILD must be defined if PNGAPI is changed
# endif
# if (defined(_MSC_VER) && _MSC_VER < 800) ||\
(defined(__BORLANDC__) && __BORLANDC__ < 0x500)
/* older Borland and MSC
* compilers used '__export' and required this to be after
* the type.
*/
# ifndef PNG_EXPORT_TYPE
# define PNG_EXPORT_TYPE(type) type PNG_IMPEXP
# endif
# define PNG_DLL_EXPORT __export
# else /* newer compiler */
# define PNG_DLL_EXPORT __declspec(dllexport)
# ifndef PNG_DLL_IMPORT
# define PNG_DLL_IMPORT __declspec(dllimport)
# endif
# endif /* compiler */
#else /* !Windows/x86 */
# if (defined(__IBMC__) || defined(__IBMCPP__)) && defined(__OS2__)
# define PNGAPI _System
# else /* !Windows/x86 && !OS/2 */
/* Use the defaults, or define PNG*API on the command line (but
* this will have to be done for every compile!)
*/
# endif /* other system, !OS/2 */
#endif /* !Windows/x86 */
/* Now do all the defaulting . */
#ifndef PNGCAPI
# define PNGCAPI
#endif
#ifndef PNGCBAPI
# define PNGCBAPI PNGCAPI
#endif
#ifndef PNGAPI
# define PNGAPI PNGCAPI
#endif
/* The default for PNG_IMPEXP depends on whether the library is
* being built or used.
*/
#ifndef PNG_IMPEXP
# ifdef PNGLIB_BUILD
/* Building the library */
# if (defined(DLL_EXPORT)/*from libtool*/ ||\
defined(_WINDLL) || defined(_DLL) || defined(__DLL__) ||\
defined(_USRDLL) ||\
defined(PNG_BUILD_DLL)) && defined(PNG_DLL_EXPORT)
/* Building a DLL. */
# define PNG_IMPEXP PNG_DLL_EXPORT
# endif /* DLL */
# else
/* Using the library */
# if defined(PNG_USE_DLL) && defined(PNG_DLL_IMPORT)
/* This forces use of a DLL, disallowing static linking */
# define PNG_IMPEXP PNG_DLL_IMPORT
# endif
# endif
# ifndef PNG_IMPEXP
# define PNG_IMPEXP
# endif
#endif
/* In 1.5.2 the definition of PNG_FUNCTION has been changed to always treat
* 'attributes' as a storage class - the attributes go at the start of the
* function definition, and attributes are always appended regardless of the
* compiler. This considerably simplifies these macros but may cause problems
* if any compilers both need function attributes and fail to handle them as
* a storage class (this is unlikely.)
*/
#ifndef PNG_FUNCTION
# define PNG_FUNCTION(type, name, args, attributes) attributes type name args
#endif
#ifndef PNG_EXPORT_TYPE
# define PNG_EXPORT_TYPE(type) PNG_IMPEXP type
#endif
/* The ordinal value is only relevant when preprocessing png.h for symbol
* table entries, so we discard it here. See the .dfn files in the
* scripts directory.
*/
#ifndef PNG_EXPORTA
# define PNG_EXPORTA(ordinal, type, name, args, attributes)\
PNG_FUNCTION(PNG_EXPORT_TYPE(type),(PNGAPI name),PNGARG(args), \
extern attributes)
#endif
/* ANSI-C (C90) does not permit a macro to be invoked with an empty argument,
* so make something non-empty to satisfy the requirement:
*/
#define PNG_EMPTY /*empty list*/
#define PNG_EXPORT(ordinal, type, name, args)\
PNG_EXPORTA(ordinal, type, name, args, PNG_EMPTY)
/* Use PNG_REMOVED to comment out a removed interface. */
#ifndef PNG_REMOVED
# define PNG_REMOVED(ordinal, type, name, args, attributes)
#endif
#ifndef PNG_CALLBACK
# define PNG_CALLBACK(type, name, args) type (PNGCBAPI name) PNGARG(args)
#endif
/* Support for compiler specific function attributes. These are used
* so that where compiler support is available incorrect use of API
* functions in png.h will generate compiler warnings.
*
* Added at libpng-1.2.41.
*/
#ifndef PNG_NO_PEDANTIC_WARNINGS
# ifndef PNG_PEDANTIC_WARNINGS_SUPPORTED
# define PNG_PEDANTIC_WARNINGS_SUPPORTED
# endif
#endif
#ifdef PNG_PEDANTIC_WARNINGS_SUPPORTED
/* Support for compiler specific function attributes. These are used
* so that where compiler support is available incorrect use of API
* functions in png.h will generate compiler warnings. Added at libpng
* version 1.2.41.
*/
# if defined(__GNUC__)
# ifndef PNG_USE_RESULT
# define PNG_USE_RESULT __attribute__((__warn_unused_result__))
# endif
# ifndef PNG_NORETURN
# define PNG_NORETURN __attribute__((__noreturn__))
# endif
# ifndef PNG_ALLOCATED
# define PNG_ALLOCATED __attribute__((__malloc__))
# endif
/* This specifically protects structure members that should only be
* accessed from within the library, therefore should be empty during
* a library build.
*/
# ifndef PNGLIB_BUILD
# ifndef PNG_DEPRECATED
# define PNG_DEPRECATED __attribute__((__deprecated__))
# endif
# ifndef PNG_PRIVATE
# if 0 /* Doesn't work so we use deprecated instead*/
# define PNG_PRIVATE \
__attribute__((warning("This function is not exported by libpng.")))
# else
# define PNG_PRIVATE \
__attribute__((__deprecated__))
# endif
# endif
# endif /* PNGLIB_BUILD */
# endif /* __GNUC__ */
# if defined(_MSC_VER) && (_MSC_VER >= 1300)
# ifndef PNG_USE_RESULT
# define PNG_USE_RESULT /* not supported */
# endif
# ifndef PNG_NORETURN
# define PNG_NORETURN __declspec(noreturn)
# endif
# ifndef PNG_ALLOCATED
# if (_MSC_VER >= 1400)
# define PNG_ALLOCATED __declspec(restrict)
# endif
# endif
/* This specifically protects structure members that should only be
* accessed from within the library, therefore should be empty during
* a library build.
*/
# ifndef PNGLIB_BUILD
# ifndef PNG_DEPRECATED
# define PNG_DEPRECATED __declspec(deprecated)
# endif
# ifndef PNG_PRIVATE
# define PNG_PRIVATE __declspec(deprecated)
# endif
# endif /* PNGLIB_BUILD */
# endif /* _MSC_VER */
#endif /* PNG_PEDANTIC_WARNINGS */
#ifndef PNG_DEPRECATED
# define PNG_DEPRECATED /* Use of this function is deprecated */
#endif
#ifndef PNG_USE_RESULT
# define PNG_USE_RESULT /* The result of this function must be checked */
#endif
#ifndef PNG_NORETURN
# define PNG_NORETURN /* This function does not return */
#endif
#ifndef PNG_ALLOCATED
# define PNG_ALLOCATED /* The result of the function is new memory */
#endif
#ifndef PNG_PRIVATE
# define PNG_PRIVATE /* This is a private libpng function */
#endif
#ifndef PNG_FP_EXPORT /* A floating point API. */
# ifdef PNG_FLOATING_POINT_SUPPORTED
# define PNG_FP_EXPORT(ordinal, type, name, args)\
PNG_EXPORT(ordinal, type, name, args)
# else /* No floating point APIs */
# define PNG_FP_EXPORT(ordinal, type, name, args)
# endif
#endif
#ifndef PNG_FIXED_EXPORT /* A fixed point API. */
# ifdef PNG_FIXED_POINT_SUPPORTED
# define PNG_FIXED_EXPORT(ordinal, type, name, args)\
PNG_EXPORT(ordinal, type, name, args)
# else /* No fixed point APIs */
# define PNG_FIXED_EXPORT(ordinal, type, name, args)
# endif
#endif
/* The following uses const char * instead of char * for error
* and warning message functions, so some compilers won't complain.
* If you do not want to use const, define PNG_NO_CONST here.
*
* This should not change how the APIs are called, so it can be done
* on a per-file basis in the application.
*/
#ifndef PNG_CONST
# ifndef PNG_NO_CONST
# define PNG_CONST const
# else
# define PNG_CONST
# endif
#endif
/* Some typedefs to get us started. These should be safe on most of the
* common platforms. The typedefs should be at least as large as the
* numbers suggest (a png_uint_32 must be at least 32 bits long), but they
* don't have to be exactly that size. Some compilers dislike passing
* unsigned shorts as function parameters, so you may be better off using
* unsigned int for png_uint_16.
*/
#if defined(INT_MAX) && (INT_MAX > 0x7ffffffeL)
typedef unsigned int png_uint_32;
typedef int png_int_32;
#else
typedef unsigned long png_uint_32;
typedef long png_int_32;
#endif
typedef unsigned short png_uint_16;
typedef short png_int_16;
typedef unsigned char png_byte;
#ifdef PNG_NO_SIZE_T
typedef unsigned int png_size_t;
#else
typedef size_t png_size_t;
#endif
#define png_sizeof(x) (sizeof (x))
/* The following is needed for medium model support. It cannot be in the
* pngpriv.h header. Needs modification for other compilers besides
* MSC. Model independent support declares all arrays and pointers to be
* large using the far keyword. The zlib version used must also support
* model independent data. As of version zlib 1.0.4, the necessary changes
* have been made in zlib. The USE_FAR_KEYWORD define triggers other
* changes that are needed. (Tim Wegner)
*/
/* Separate compiler dependencies (problem here is that zlib.h always
* defines FAR. (SJT)
*/
#ifdef __BORLANDC__
# if defined(__LARGE__) || defined(__HUGE__) || defined(__COMPACT__)
# define LDATA 1
# else
# define LDATA 0
# endif
/* GRR: why is Cygwin in here? Cygwin is not Borland C... */
# if !defined(__WIN32__) && !defined(__FLAT__) && !defined(__CYGWIN__)
# define PNG_MAX_MALLOC_64K /* only used in build */
# if (LDATA != 1)
# ifndef FAR
# define FAR __far
# endif
# define USE_FAR_KEYWORD
# endif /* LDATA != 1 */
/* Possibly useful for moving data out of default segment.
* Uncomment it if you want. Could also define FARDATA as
* const if your compiler supports it. (SJT)
# define FARDATA FAR
*/
# endif /* __WIN32__, __FLAT__, __CYGWIN__ */
#endif /* __BORLANDC__ */
/* Suggest testing for specific compiler first before testing for
* FAR. The Watcom compiler defines both __MEDIUM__ and M_I86MM,
* making reliance oncertain keywords suspect. (SJT)
*/
/* MSC Medium model */
#ifdef FAR
# ifdef M_I86MM
# define USE_FAR_KEYWORD
# define FARDATA FAR
# include <dos.h>
# endif
#endif
/* SJT: default case */
#ifndef FAR
# define FAR
#endif
/* At this point FAR is always defined */
#ifndef FARDATA
# define FARDATA
#endif
/* Typedef for floating-point numbers that are converted
* to fixed-point with a multiple of 100,000, e.g., gamma
*/
typedef png_int_32 png_fixed_point;
/* Add typedefs for pointers */
typedef void FAR * png_voidp;
typedef PNG_CONST void FAR * png_const_voidp;
typedef png_byte FAR * png_bytep;
typedef PNG_CONST png_byte FAR * png_const_bytep;
typedef png_uint_32 FAR * png_uint_32p;
typedef PNG_CONST png_uint_32 FAR * png_const_uint_32p;
typedef png_int_32 FAR * png_int_32p;
typedef PNG_CONST png_int_32 FAR * png_const_int_32p;
typedef png_uint_16 FAR * png_uint_16p;
typedef PNG_CONST png_uint_16 FAR * png_const_uint_16p;
typedef png_int_16 FAR * png_int_16p;
typedef PNG_CONST png_int_16 FAR * png_const_int_16p;
typedef char FAR * png_charp;
typedef PNG_CONST char FAR * png_const_charp;
typedef png_fixed_point FAR * png_fixed_point_p;
typedef PNG_CONST png_fixed_point FAR * png_const_fixed_point_p;
typedef png_size_t FAR * png_size_tp;
typedef PNG_CONST png_size_t FAR * png_const_size_tp;
#ifdef PNG_STDIO_SUPPORTED
typedef FILE * png_FILE_p;
#endif
#ifdef PNG_FLOATING_POINT_SUPPORTED
typedef double FAR * png_doublep;
typedef PNG_CONST double FAR * png_const_doublep;
#endif
/* Pointers to pointers; i.e. arrays */
typedef png_byte FAR * FAR * png_bytepp;
typedef png_uint_32 FAR * FAR * png_uint_32pp;
typedef png_int_32 FAR * FAR * png_int_32pp;
typedef png_uint_16 FAR * FAR * png_uint_16pp;
typedef png_int_16 FAR * FAR * png_int_16pp;
typedef PNG_CONST char FAR * FAR * png_const_charpp;
typedef char FAR * FAR * png_charpp;
typedef png_fixed_point FAR * FAR * png_fixed_point_pp;
#ifdef PNG_FLOATING_POINT_SUPPORTED
typedef double FAR * FAR * png_doublepp;
#endif
/* Pointers to pointers to pointers; i.e., pointer to array */
typedef char FAR * FAR * FAR * png_charppp;
/* png_alloc_size_t is guaranteed to be no smaller than png_size_t,
* and no smaller than png_uint_32. Casts from png_size_t or png_uint_32
* to png_alloc_size_t are not necessary; in fact, it is recommended
* not to use them at all so that the compiler can complain when something
* turns out to be problematic.
* Casts in the other direction (from png_alloc_size_t to png_size_t or
* png_uint_32) should be explicitly applied; however, we do not expect
* to encounter practical situations that require such conversions.
*/
#if defined(__TURBOC__) && !defined(__FLAT__)
typedef unsigned long png_alloc_size_t;
#else
# if defined(_MSC_VER) && defined(MAXSEG_64K)
typedef unsigned long png_alloc_size_t;
# else
/* This is an attempt to detect an old Windows system where (int) is
* actually 16 bits, in that case png_malloc must have an argument with a
* bigger size to accomodate the requirements of the library.
*/
# if (defined(_Windows) || defined(_WINDOWS) || defined(_WINDOWS_)) && \
(!defined(INT_MAX) || INT_MAX <= 0x7ffffffeL)
typedef DWORD png_alloc_size_t;
# else
typedef png_size_t png_alloc_size_t;
# endif
# endif
#endif
#endif /* PNGCONF_H */

View file

@ -1,180 +0,0 @@
/* pnglibconf.h - library build configuration */
/* libpng version 1.5.3 - July 7, 2011 */
/* Copyright (c) 1998-2011 Glenn Randers-Pehrson */
/* This code is released under the libpng license. */
/* For conditions of distribution and use, see the disclaimer */
/* and license in png.h */
/* pnglibconf.h */
/* Machine generated file: DO NOT EDIT */
/* Derived from: scripts/pnglibconf.dfa */
#ifndef PNGLCONF_H
#define PNGLCONF_H
/* settings */
#define PNG_USER_HEIGHT_MAX 1000000L
#define PNG_USER_CHUNK_MALLOC_MAX 0
#define PNG_COST_SHIFT 3
#define PNG_GAMMA_THRESHOLD_FIXED 5000
#define PNG_QUANTIZE_BLUE_BITS 5
#define PNG_WEIGHT_SHIFT 8
#define PNG_API_RULE 0
#define PNG_CALLOC_SUPPORTED
#define PNG_ZBUF_SIZE 8192
#define PNG_QUANTIZE_GREEN_BITS 5
#define PNG_sCAL_PRECISION 5
#define PNG_USER_WIDTH_MAX 1000000L
#define PNG_QUANTIZE_RED_BITS 5
#define PNG_DEFAULT_READ_MACROS 1
#define PNG_MAX_GAMMA_8 11
#define PNG_USER_CHUNK_CACHE_MAX 0
/* end of settings */
/* options */
#define PNG_IO_STATE_SUPPORTED
#define PNG_BENIGN_ERRORS_SUPPORTED
#define PNG_WRITE_SUPPORTED
#define PNG_EASY_ACCESS_SUPPORTED
#define PNG_INFO_IMAGE_SUPPORTED
#define PNG_TIME_RFC1123_SUPPORTED
#define PNG_WRITE_FILTER_SUPPORTED
#define PNG_FIXED_POINT_SUPPORTED
#define PNG_READ_SUPPORTED
#define PNG_WRITE_OPTIMIZE_CMF_SUPPORTED
#define PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED
#define PNG_WRITE_FLUSH_SUPPORTED
#define PNG_WRITE_INTERLACING_SUPPORTED
#define PNG_USER_LIMITS_SUPPORTED
#define PNG_WRITE_TRANSFORMS_SUPPORTED
#define PNG_READ_UNKNOWN_CHUNKS_SUPPORTED
#define PNG_SET_USER_LIMITS_SUPPORTED
#define PNG_INCH_CONVERSIONS_SUPPORTED
#define PNG_USER_MEM_SUPPORTED
#define PNG_SETJMP_SUPPORTED
#define PNG_WARNINGS_SUPPORTED
#define PNG_FLOATING_POINT_SUPPORTED
#define PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED
#define PNG_READ_QUANTIZE_SUPPORTED
#define PNG_READ_16BIT_SUPPORTED
#define PNG_SET_CHUNK_MALLOC_LIMIT_SUPPORTED
#define PNG_ALIGN_MEMORY_SUPPORTED
/*#undef PNG_ERROR_NUMBERS_SUPPORTED*/
#define PNG_SEQUENTIAL_READ_SUPPORTED
#define PNG_BUILD_GRAYSCALE_PALETTE_SUPPORTED
#define PNG_WRITE_SHIFT_SUPPORTED
#define PNG_ERROR_TEXT_SUPPORTED
#define PNG_WRITE_FILLER_SUPPORTED
#define PNG_WRITE_WEIGHTED_FILTER_SUPPORTED
#define PNG_WRITE_16BIT_SUPPORTED
#define PNG_WRITE_SWAP_ALPHA_SUPPORTED
#define PNG_POINTER_INDEXING_SUPPORTED
#define PNG_FLOATING_ARITHMETIC_SUPPORTED
#define PNG_MNG_FEATURES_SUPPORTED
#define PNG_STDIO_SUPPORTED
#define PNG_WRITE_INT_FUNCTIONS_SUPPORTED
#define PNG_WRITE_PACKSWAP_SUPPORTED
#define PNG_READ_INTERLACING_SUPPORTED
#define PNG_READ_COMPOSITE_NODIV_SUPPORTED
#define PNG_PROGRESSIVE_READ_SUPPORTED
#define PNG_READ_INT_FUNCTIONS_SUPPORTED
#define PNG_HANDLE_AS_UNKNOWN_SUPPORTED
#define PNG_WRITE_INVERT_SUPPORTED
#define PNG_WRITE_PACK_SUPPORTED
#define PNG_WRITE_ANCILLARY_CHUNKS_SUPPORTED
#define PNG_16BIT_SUPPORTED
#define PNG_WRITE_cHRM_SUPPORTED
#define PNG_READ_ANCILLARY_CHUNKS_SUPPORTED
#define PNG_WRITE_BGR_SUPPORTED
#define PNG_SET_CHUNK_CACHE_LIMIT_SUPPORTED
#define PNG_WRITE_sBIT_SUPPORTED
#define PNG_READ_sBIT_SUPPORTED
#define PNG_READ_TRANSFORMS_SUPPORTED
#define PNG_READ_EXPAND_16_SUPPORTED
#define PNG_WRITE_SWAP_SUPPORTED
#define PNG_READ_SWAP_SUPPORTED
#define PNG_WRITE_oFFs_SUPPORTED
#define PNG_READ_oFFs_SUPPORTED
#define PNG_WRITE_USER_TRANSFORM_SUPPORTED
#define PNG_WRITE_tIME_SUPPORTED
#define PNG_WRITE_INVERT_ALPHA_SUPPORTED
#define PNG_READ_tIME_SUPPORTED
#define PNG_READ_PACKSWAP_SUPPORTED
#define PNG_READ_GRAY_TO_RGB_SUPPORTED
#define PNG_READ_STRIP_16_TO_8_SUPPORTED
#define PNG_READ_SCALE_16_TO_8_SUPPORTED
#define PNG_READ_USER_CHUNKS_SUPPORTED
#define PNG_READ_OPT_PLTE_SUPPORTED
#define PNG_UNKNOWN_CHUNKS_SUPPORTED
#define PNG_WRITE_gAMA_SUPPORTED
#define PNG_WRITE_iCCP_SUPPORTED
#define PNG_READ_iCCP_SUPPORTED
#define PNG_READ_SHIFT_SUPPORTED
#define PNG_READ_EXPAND_SUPPORTED
#define PNG_WRITE_iTXt_SUPPORTED
#define PNG_READ_iTXt_SUPPORTED
#define PNG_READ_SWAP_ALPHA_SUPPORTED
#define PNG_CONSOLE_IO_SUPPORTED
#define PNG_sBIT_SUPPORTED
#define PNG_WRITE_sRGB_SUPPORTED
#define PNG_READ_sRGB_SUPPORTED
#define PNG_READ_ALPHA_MODE_SUPPORTED
#define PNG_WRITE_sCAL_SUPPORTED
#define PNG_READ_sCAL_SUPPORTED
#define PNG_USER_CHUNKS_SUPPORTED
#define PNG_oFFs_SUPPORTED
#define PNG_READ_GAMMA_SUPPORTED
#define PNG_WRITE_pHYs_SUPPORTED
#define PNG_WRITE_tRNS_SUPPORTED
#define PNG_READ_pHYs_SUPPORTED
#define PNG_READ_tRNS_SUPPORTED
#define PNG_READ_RGB_TO_GRAY_SUPPORTED
#define PNG_tIME_SUPPORTED
#define PNG_WRITE_bKGD_SUPPORTED
#define PNG_READ_bKGD_SUPPORTED
#define PNG_WRITE_zTXt_SUPPORTED
#define PNG_WRITE_pCAL_SUPPORTED
#define PNG_READ_zTXt_SUPPORTED
#define PNG_READ_pCAL_SUPPORTED
#define PNG_WRITE_hIST_SUPPORTED
#define PNG_READ_hIST_SUPPORTED
#define PNG_WRITE_sPLT_SUPPORTED
#define PNG_READ_sPLT_SUPPORTED
#define PNG_READ_INVERT_ALPHA_SUPPORTED
#define PNG_iCCP_SUPPORTED
#define PNG_CONVERT_tIME_SUPPORTED
#define PNG_READ_FILLER_SUPPORTED
#define PNG_READ_USER_TRANSFORM_SUPPORTED
#define PNG_READ_PACK_SUPPORTED
#define PNG_READ_BACKGROUND_SUPPORTED
#define PNG_iTXt_SUPPORTED
#define PNG_READ_cHRM_SUPPORTED
#define PNG_USER_TRANSFORM_INFO_SUPPORTED
#define PNG_sRGB_SUPPORTED
#define PNG_USER_TRANSFORM_PTR_SUPPORTED
#define PNG_sCAL_SUPPORTED
#define PNG_READ_BGR_SUPPORTED
#define PNG_READ_INVERT_SUPPORTED
#define PNG_READ_COMPRESSED_TEXT_SUPPORTED
#define PNG_pHYs_SUPPORTED
#define PNG_tRNS_SUPPORTED
#define PNG_bKGD_SUPPORTED
#define PNG_pCAL_SUPPORTED
#define PNG_zTXt_SUPPORTED
#define PNG_READ_TEXT_SUPPORTED
#define PNG_hIST_SUPPORTED
#define PNG_READ_STRIP_ALPHA_SUPPORTED
#define PNG_WRITE_COMPRESSED_TEXT_SUPPORTED
#define PNG_sPLT_SUPPORTED
#define PNG_READ_gAMA_SUPPORTED
#define PNG_SAVE_INT_32_SUPPORTED
#define PNG_cHRM_SUPPORTED
#define PNG_CHECK_cHRM_SUPPORTED
#define PNG_gAMA_SUPPORTED
#define PNG_READ_tEXt_SUPPORTED
#define PNG_WRITE_TEXT_SUPPORTED
#define PNG_TEXT_SUPPORTED
#define PNG_WRITE_tEXt_SUPPORTED
#define PNG_tEXt_SUPPORTED
/* end of options */
#endif /* PNGLCONF_H */

View file

@ -1,428 +0,0 @@
/* zconf.h -- configuration of the zlib compression library
* Copyright (C) 1995-2010 Jean-loup Gailly.
* For conditions of distribution and use, see copyright notice in zlib.h
*/
/* @(#) $Id$ */
#ifndef ZCONF_H
#define ZCONF_H
/*
* If you *really* need a unique prefix for all types and library functions,
* compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
* Even better than compiling with -DZ_PREFIX would be to use configure to set
* this permanently in zconf.h using "./configure --zprefix".
*/
#ifdef Z_PREFIX /* may be set to #if 1 by ./configure */
/* all linked symbols */
# define _dist_code z__dist_code
# define _length_code z__length_code
# define _tr_align z__tr_align
# define _tr_flush_block z__tr_flush_block
# define _tr_init z__tr_init
# define _tr_stored_block z__tr_stored_block
# define _tr_tally z__tr_tally
# define adler32 z_adler32
# define adler32_combine z_adler32_combine
# define adler32_combine64 z_adler32_combine64
# define compress z_compress
# define compress2 z_compress2
# define compressBound z_compressBound
# define crc32 z_crc32
# define crc32_combine z_crc32_combine
# define crc32_combine64 z_crc32_combine64
# define deflate z_deflate
# define deflateBound z_deflateBound
# define deflateCopy z_deflateCopy
# define deflateEnd z_deflateEnd
# define deflateInit2_ z_deflateInit2_
# define deflateInit_ z_deflateInit_
# define deflateParams z_deflateParams
# define deflatePrime z_deflatePrime
# define deflateReset z_deflateReset
# define deflateSetDictionary z_deflateSetDictionary
# define deflateSetHeader z_deflateSetHeader
# define deflateTune z_deflateTune
# define deflate_copyright z_deflate_copyright
# define get_crc_table z_get_crc_table
# define gz_error z_gz_error
# define gz_intmax z_gz_intmax
# define gz_strwinerror z_gz_strwinerror
# define gzbuffer z_gzbuffer
# define gzclearerr z_gzclearerr
# define gzclose z_gzclose
# define gzclose_r z_gzclose_r
# define gzclose_w z_gzclose_w
# define gzdirect z_gzdirect
# define gzdopen z_gzdopen
# define gzeof z_gzeof
# define gzerror z_gzerror
# define gzflush z_gzflush
# define gzgetc z_gzgetc
# define gzgets z_gzgets
# define gzoffset z_gzoffset
# define gzoffset64 z_gzoffset64
# define gzopen z_gzopen
# define gzopen64 z_gzopen64
# define gzprintf z_gzprintf
# define gzputc z_gzputc
# define gzputs z_gzputs
# define gzread z_gzread
# define gzrewind z_gzrewind
# define gzseek z_gzseek
# define gzseek64 z_gzseek64
# define gzsetparams z_gzsetparams
# define gztell z_gztell
# define gztell64 z_gztell64
# define gzungetc z_gzungetc
# define gzwrite z_gzwrite
# define inflate z_inflate
# define inflateBack z_inflateBack
# define inflateBackEnd z_inflateBackEnd
# define inflateBackInit_ z_inflateBackInit_
# define inflateCopy z_inflateCopy
# define inflateEnd z_inflateEnd
# define inflateGetHeader z_inflateGetHeader
# define inflateInit2_ z_inflateInit2_
# define inflateInit_ z_inflateInit_
# define inflateMark z_inflateMark
# define inflatePrime z_inflatePrime
# define inflateReset z_inflateReset
# define inflateReset2 z_inflateReset2
# define inflateSetDictionary z_inflateSetDictionary
# define inflateSync z_inflateSync
# define inflateSyncPoint z_inflateSyncPoint
# define inflateUndermine z_inflateUndermine
# define inflate_copyright z_inflate_copyright
# define inflate_fast z_inflate_fast
# define inflate_table z_inflate_table
# define uncompress z_uncompress
# define zError z_zError
# define zcalloc z_zcalloc
# define zcfree z_zcfree
# define zlibCompileFlags z_zlibCompileFlags
# define zlibVersion z_zlibVersion
/* all zlib typedefs in zlib.h and zconf.h */
# define Byte z_Byte
# define Bytef z_Bytef
# define alloc_func z_alloc_func
# define charf z_charf
# define free_func z_free_func
# define gzFile z_gzFile
# define gz_header z_gz_header
# define gz_headerp z_gz_headerp
# define in_func z_in_func
# define intf z_intf
# define out_func z_out_func
# define uInt z_uInt
# define uIntf z_uIntf
# define uLong z_uLong
# define uLongf z_uLongf
# define voidp z_voidp
# define voidpc z_voidpc
# define voidpf z_voidpf
/* all zlib structs in zlib.h and zconf.h */
# define gz_header_s z_gz_header_s
# define internal_state z_internal_state
#endif
#if defined(__MSDOS__) && !defined(MSDOS)
# define MSDOS
#endif
#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2)
# define OS2
#endif
#if defined(_WINDOWS) && !defined(WINDOWS)
# define WINDOWS
#endif
#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__)
# ifndef WIN32
# define WIN32
# endif
#endif
#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32)
# if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__)
# ifndef SYS16BIT
# define SYS16BIT
# endif
# endif
#endif
/*
* Compile with -DMAXSEG_64K if the alloc function cannot allocate more
* than 64k bytes at a time (needed on systems with 16-bit int).
*/
#ifdef SYS16BIT
# define MAXSEG_64K
#endif
#ifdef MSDOS
# define UNALIGNED_OK
#endif
#ifdef __STDC_VERSION__
# ifndef STDC
# define STDC
# endif
# if __STDC_VERSION__ >= 199901L
# ifndef STDC99
# define STDC99
# endif
# endif
#endif
#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus))
# define STDC
#endif
#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__))
# define STDC
#endif
#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32))
# define STDC
#endif
#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__))
# define STDC
#endif
#if defined(__OS400__) && !defined(STDC) /* iSeries (formerly AS/400). */
# define STDC
#endif
#ifndef STDC
# ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */
# define const /* note: need a more gentle solution here */
# endif
#endif
/* Some Mac compilers merge all .h files incorrectly: */
#if defined(__MWERKS__)||defined(applec)||defined(THINK_C)||defined(__SC__)
# define NO_DUMMY_DECL
#endif
/* Maximum value for memLevel in deflateInit2 */
#ifndef MAX_MEM_LEVEL
# ifdef MAXSEG_64K
# define MAX_MEM_LEVEL 8
# else
# define MAX_MEM_LEVEL 9
# endif
#endif
/* Maximum value for windowBits in deflateInit2 and inflateInit2.
* WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files
* created by gzip. (Files created by minigzip can still be extracted by
* gzip.)
*/
#ifndef MAX_WBITS
# define MAX_WBITS 15 /* 32K LZ77 window */
#endif
/* The memory requirements for deflate are (in bytes):
(1 << (windowBits+2)) + (1 << (memLevel+9))
that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values)
plus a few kilobytes for small objects. For example, if you want to reduce
the default memory requirements from 256K to 128K, compile with
make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
Of course this will generally degrade compression (there's no free lunch).
The memory requirements for inflate are (in bytes) 1 << windowBits
that is, 32K for windowBits=15 (default value) plus a few kilobytes
for small objects.
*/
/* Type declarations */
#ifndef OF /* function prototypes */
# ifdef STDC
# define OF(args) args
# else
# define OF(args) ()
# endif
#endif
/* The following definitions for FAR are needed only for MSDOS mixed
* model programming (small or medium model with some far allocations).
* This was tested only with MSC; for other MSDOS compilers you may have
* to define NO_MEMCPY in zutil.h. If you don't need the mixed model,
* just define FAR to be empty.
*/
#ifdef SYS16BIT
# if defined(M_I86SM) || defined(M_I86MM)
/* MSC small or medium model */
# define SMALL_MEDIUM
# ifdef _MSC_VER
# define FAR _far
# else
# define FAR far
# endif
# endif
# if (defined(__SMALL__) || defined(__MEDIUM__))
/* Turbo C small or medium model */
# define SMALL_MEDIUM
# ifdef __BORLANDC__
# define FAR _far
# else
# define FAR far
# endif
# endif
#endif
#if defined(WINDOWS) || defined(WIN32)
/* If building or using zlib as a DLL, define ZLIB_DLL.
* This is not mandatory, but it offers a little performance increase.
*/
# ifdef ZLIB_DLL
# if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500))
# ifdef ZLIB_INTERNAL
# define ZEXTERN extern __declspec(dllexport)
# else
# define ZEXTERN extern __declspec(dllimport)
# endif
# endif
# endif /* ZLIB_DLL */
/* If building or using zlib with the WINAPI/WINAPIV calling convention,
* define ZLIB_WINAPI.
* Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI.
*/
# ifdef ZLIB_WINAPI
# ifdef FAR
# undef FAR
# endif
# include <windows.h>
/* No need for _export, use ZLIB.DEF instead. */
/* For complete Windows compatibility, use WINAPI, not __stdcall. */
# define ZEXPORT WINAPI
# ifdef WIN32
# define ZEXPORTVA WINAPIV
# else
# define ZEXPORTVA FAR CDECL
# endif
# endif
#endif
#if defined (__BEOS__)
# ifdef ZLIB_DLL
# ifdef ZLIB_INTERNAL
# define ZEXPORT __declspec(dllexport)
# define ZEXPORTVA __declspec(dllexport)
# else
# define ZEXPORT __declspec(dllimport)
# define ZEXPORTVA __declspec(dllimport)
# endif
# endif
#endif
#ifndef ZEXTERN
# define ZEXTERN extern
#endif
#ifndef ZEXPORT
# define ZEXPORT
#endif
#ifndef ZEXPORTVA
# define ZEXPORTVA
#endif
#ifndef FAR
# define FAR
#endif
#if !defined(__MACTYPES__)
typedef unsigned char Byte; /* 8 bits */
#endif
typedef unsigned int uInt; /* 16 bits or more */
typedef unsigned long uLong; /* 32 bits or more */
#ifdef SMALL_MEDIUM
/* Borland C/C++ and some old MSC versions ignore FAR inside typedef */
# define Bytef Byte FAR
#else
typedef Byte FAR Bytef;
#endif
typedef char FAR charf;
typedef int FAR intf;
typedef uInt FAR uIntf;
typedef uLong FAR uLongf;
#ifdef STDC
typedef void const *voidpc;
typedef void FAR *voidpf;
typedef void *voidp;
#else
typedef Byte const *voidpc;
typedef Byte FAR *voidpf;
typedef Byte *voidp;
#endif
#if 1 /* was set to #if 1 by ./configure */
# define Z_HAVE_UNISTD_H
#endif
#ifdef STDC
# include <sys/types.h> /* for off_t */
#endif
/* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and
* "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even
* though the former does not conform to the LFS document), but considering
* both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as
* equivalently requesting no 64-bit operations
*/
#if -_LARGEFILE64_SOURCE - -1 == 1
# undef _LARGEFILE64_SOURCE
#endif
#if defined(Z_HAVE_UNISTD_H) || defined(_LARGEFILE64_SOURCE)
# include <unistd.h> /* for SEEK_* and off_t */
# ifdef VMS
# include <unixio.h> /* for off_t */
# endif
# ifndef z_off_t
# define z_off_t off_t
# endif
#endif
#ifndef SEEK_SET
# define SEEK_SET 0 /* Seek from beginning of file. */
# define SEEK_CUR 1 /* Seek from current position. */
# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */
#endif
#ifndef z_off_t
# define z_off_t long
#endif
#if defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0
# define z_off64_t off64_t
#else
# define z_off64_t z_off_t
#endif
#if defined(__OS400__)
# define NO_vsnprintf
#endif
#if defined(__MVS__)
# define NO_vsnprintf
#endif
/* MVS linker does not support external names larger than 8 bytes */
#if defined(__MVS__)
#pragma map(deflateInit_,"DEIN")
#pragma map(deflateInit2_,"DEIN2")
#pragma map(deflateEnd,"DEEND")
#pragma map(deflateBound,"DEBND")
#pragma map(inflateInit_,"ININ")
#pragma map(inflateInit2_,"ININ2")
#pragma map(inflateEnd,"INEND")
#pragma map(inflateSync,"INSY")
#pragma map(inflateSetDictionary,"INSEDI")
#pragma map(compressBound,"CMBND")
#pragma map(inflate_table,"INTABL")
#pragma map(inflate_fast,"INFA")
#pragma map(inflate_copyright,"INCOPY")
#endif
#endif /* ZCONF_H */

File diff suppressed because it is too large Load diff

Binary file not shown.

Binary file not shown.

View file

@ -128,11 +128,13 @@
<ClInclude Include="..\..\source\build\include\m32script.h" />
<ClInclude Include="..\..\source\build\include\md4.h" />
<ClInclude Include="..\..\source\build\include\mdsprite.h" />
<ClInclude Include="..\..\source\build\include\miniz.h" />
<ClInclude Include="..\..\source\build\include\mmulti.h" />
<ClInclude Include="..\..\source\build\include\mutex.h" />
<ClInclude Include="..\..\source\build\include\osd.h" />
<ClInclude Include="..\..\source\build\include\osxbits.h" />
<ClInclude Include="..\..\source\build\include\palette.h" />
<ClInclude Include="..\..\source\build\include\pngwrite.h" />
<ClInclude Include="..\..\source\build\include\polymer.h" />
<ClInclude Include="..\..\source\build\include\polymost.h" />
<ClInclude Include="..\..\source\build\include\pragmas.h" />
@ -281,9 +283,11 @@
<ClCompile Include="..\..\source\build\src\md4.cpp" />
<ClCompile Include="..\..\source\build\src\mdsprite.cpp" />
<ClCompile Include="..\..\source\build\src\mhk.cpp" />
<ClCompile Include="..\..\source\build\src\miniz.c" />
<ClCompile Include="..\..\source\build\src\mutex.cpp" />
<ClCompile Include="..\..\source\build\src\osd.cpp" />
<ClCompile Include="..\..\source\build\src\palette.cpp" />
<ClCompile Include="..\..\source\build\src\pngwrite.cpp" />
<ClCompile Include="..\..\source\build\src\polymer.cpp" />
<ClCompile Include="..\..\source\build\src\polymost.cpp" />
<ClCompile Include="..\..\source\build\src\pragmas.cpp" />

View file

@ -543,6 +543,12 @@
<ClInclude Include="..\..\source\build\include\scancodes.h">
<Filter>build\headers</Filter>
</ClInclude>
<ClInclude Include="..\..\source\build\include\pngwrite.h">
<Filter>build\headers</Filter>
</ClInclude>
<ClInclude Include="..\..\source\build\include\miniz.h">
<Filter>build\headers</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\source\build\src\a-c.cpp">
@ -953,6 +959,12 @@
<ClCompile Include="..\..\source\build\src\tiles.cpp">
<Filter>build\source</Filter>
</ClCompile>
<ClCompile Include="..\..\source\build\src\pngwrite.cpp">
<Filter>build\source</Filter>
</ClCompile>
<ClCompile Include="..\..\source\build\src\miniz.c">
<Filter>build\source</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<None Include="msvc.mak">

File diff suppressed because it is too large Load diff

View file

@ -1,622 +0,0 @@
/* pngconf.h - machine configurable file for libpng
*
* libpng version 1.6.25, September 1, 2016
*
* Copyright (c) 1998-2002,2004,2006-2016 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
*
* This code is released under the libpng license.
* For conditions of distribution and use, see the disclaimer
* and license in png.h
*
* Any machine specific code is near the front of this file, so if you
* are configuring libpng for a machine, you may want to read the section
* starting here down to where it starts to typedef png_color, png_text,
* and png_info.
*/
#ifndef PNGCONF_H
#define PNGCONF_H
#ifndef PNG_BUILDING_SYMBOL_TABLE /* else includes may cause problems */
/* From libpng 1.6.0 libpng requires an ANSI X3.159-1989 ("ISOC90") compliant C
* compiler for correct compilation. The following header files are required by
* the standard. If your compiler doesn't provide these header files, or they
* do not match the standard, you will need to provide/improve them.
*/
#include <limits.h>
#include <stddef.h>
/* Library header files. These header files are all defined by ISOC90; libpng
* expects conformant implementations, however, an ISOC90 conformant system need
* not provide these header files if the functionality cannot be implemented.
* In this case it will be necessary to disable the relevant parts of libpng in
* the build of pnglibconf.h.
*
* Prior to 1.6.0 string.h was included here; the API changes in 1.6.0 to not
* include this unnecessary header file.
*/
#ifdef PNG_STDIO_SUPPORTED
/* Required for the definition of FILE: */
# include <stdio.h>
#endif
#ifdef PNG_SETJMP_SUPPORTED
/* Required for the definition of jmp_buf and the declaration of longjmp: */
# include <setjmp.h>
#endif
#ifdef PNG_CONVERT_tIME_SUPPORTED
/* Required for struct tm: */
# include <time.h>
#endif
#endif /* PNG_BUILDING_SYMBOL_TABLE */
/* Prior to 1.6.0 it was possible to turn off 'const' in declarations using
* PNG_NO_CONST; this is no longer supported except for data declarations which
* apparently still cause problems in 2011 on some compilers.
*/
#define PNG_CONST const /* backward compatibility only */
/* This controls optimization of the reading of 16-bit and 32-bit values
* from PNG files. It can be set on a per-app-file basis - it
* just changes whether a macro is used when the function is called.
* The library builder sets the default; if read functions are not
* built into the library the macro implementation is forced on.
*/
#ifndef PNG_READ_INT_FUNCTIONS_SUPPORTED
# define PNG_USE_READ_MACROS
#endif
#if !defined(PNG_NO_USE_READ_MACROS) && !defined(PNG_USE_READ_MACROS)
# if PNG_DEFAULT_READ_MACROS
# define PNG_USE_READ_MACROS
# endif
#endif
/* COMPILER SPECIFIC OPTIONS.
*
* These options are provided so that a variety of difficult compilers
* can be used. Some are fixed at build time (e.g. PNG_API_RULE
* below) but still have compiler specific implementations, others
* may be changed on a per-file basis when compiling against libpng.
*/
/* The PNGARG macro was used in versions of libpng prior to 1.6.0 to protect
* against legacy (pre ISOC90) compilers that did not understand function
* prototypes. It is not required for modern C compilers.
*/
#ifndef PNGARG
# define PNGARG(arglist) arglist
#endif
/* Function calling conventions.
* =============================
* Normally it is not necessary to specify to the compiler how to call
* a function - it just does it - however on x86 systems derived from
* Microsoft and Borland C compilers ('IBM PC', 'DOS', 'Windows' systems
* and some others) there are multiple ways to call a function and the
* default can be changed on the compiler command line. For this reason
* libpng specifies the calling convention of every exported function and
* every function called via a user supplied function pointer. This is
* done in this file by defining the following macros:
*
* PNGAPI Calling convention for exported functions.
* PNGCBAPI Calling convention for user provided (callback) functions.
* PNGCAPI Calling convention used by the ANSI-C library (required
* for longjmp callbacks and sometimes used internally to
* specify the calling convention for zlib).
*
* These macros should never be overridden. If it is necessary to
* change calling convention in a private build this can be done
* by setting PNG_API_RULE (which defaults to 0) to one of the values
* below to select the correct 'API' variants.
*
* PNG_API_RULE=0 Use PNGCAPI - the 'C' calling convention - throughout.
* This is correct in every known environment.
* PNG_API_RULE=1 Use the operating system convention for PNGAPI and
* the 'C' calling convention (from PNGCAPI) for
* callbacks (PNGCBAPI). This is no longer required
* in any known environment - if it has to be used
* please post an explanation of the problem to the
* libpng mailing list.
*
* These cases only differ if the operating system does not use the C
* calling convention, at present this just means the above cases
* (x86 DOS/Windows sytems) and, even then, this does not apply to
* Cygwin running on those systems.
*
* Note that the value must be defined in pnglibconf.h so that what
* the application uses to call the library matches the conventions
* set when building the library.
*/
/* Symbol export
* =============
* When building a shared library it is almost always necessary to tell
* the compiler which symbols to export. The png.h macro 'PNG_EXPORT'
* is used to mark the symbols. On some systems these symbols can be
* extracted at link time and need no special processing by the compiler,
* on other systems the symbols are flagged by the compiler and just
* the declaration requires a special tag applied (unfortunately) in a
* compiler dependent way. Some systems can do either.
*
* A small number of older systems also require a symbol from a DLL to
* be flagged to the program that calls it. This is a problem because
* we do not know in the header file included by application code that
* the symbol will come from a shared library, as opposed to a statically
* linked one. For this reason the application must tell us by setting
* the magic flag PNG_USE_DLL to turn on the special processing before
* it includes png.h.
*
* Four additional macros are used to make this happen:
*
* PNG_IMPEXP The magic (if any) to cause a symbol to be exported from
* the build or imported if PNG_USE_DLL is set - compiler
* and system specific.
*
* PNG_EXPORT_TYPE(type) A macro that pre or appends PNG_IMPEXP to
* 'type', compiler specific.
*
* PNG_DLL_EXPORT Set to the magic to use during a libpng build to
* make a symbol exported from the DLL. Not used in the
* public header files; see pngpriv.h for how it is used
* in the libpng build.
*
* PNG_DLL_IMPORT Set to the magic to force the libpng symbols to come
* from a DLL - used to define PNG_IMPEXP when
* PNG_USE_DLL is set.
*/
/* System specific discovery.
* ==========================
* This code is used at build time to find PNG_IMPEXP, the API settings
* and PNG_EXPORT_TYPE(), it may also set a macro to indicate the DLL
* import processing is possible. On Windows systems it also sets
* compiler-specific macros to the values required to change the calling
* conventions of the various functions.
*/
#if defined(_Windows) || defined(_WINDOWS) || defined(WIN32) ||\
defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
/* Windows system (DOS doesn't support DLLs). Includes builds under Cygwin or
* MinGW on any architecture currently supported by Windows. Also includes
* Watcom builds but these need special treatment because they are not
* compatible with GCC or Visual C because of different calling conventions.
*/
# if PNG_API_RULE == 2
/* If this line results in an error, either because __watcall is not
* understood or because of a redefine just below you cannot use *this*
* build of the library with the compiler you are using. *This* build was
* build using Watcom and applications must also be built using Watcom!
*/
# define PNGCAPI __watcall
# endif
# if defined(__GNUC__) || (defined(_MSC_VER) && (_MSC_VER >= 800))
# define PNGCAPI __cdecl
# if PNG_API_RULE == 1
/* If this line results in an error __stdcall is not understood and
* PNG_API_RULE should not have been set to '1'.
*/
# define PNGAPI __stdcall
# endif
# else
/* An older compiler, or one not detected (erroneously) above,
* if necessary override on the command line to get the correct
* variants for the compiler.
*/
# ifndef PNGCAPI
# define PNGCAPI _cdecl
# endif
# if PNG_API_RULE == 1 && !defined(PNGAPI)
# define PNGAPI _stdcall
# endif
# endif /* compiler/api */
/* NOTE: PNGCBAPI always defaults to PNGCAPI. */
# if defined(PNGAPI) && !defined(PNG_USER_PRIVATEBUILD)
# error "PNG_USER_PRIVATEBUILD must be defined if PNGAPI is changed"
# endif
# if (defined(_MSC_VER) && _MSC_VER < 800) ||\
(defined(__BORLANDC__) && __BORLANDC__ < 0x500)
/* older Borland and MSC
* compilers used '__export' and required this to be after
* the type.
*/
# ifndef PNG_EXPORT_TYPE
# define PNG_EXPORT_TYPE(type) type PNG_IMPEXP
# endif
# define PNG_DLL_EXPORT __export
# else /* newer compiler */
# define PNG_DLL_EXPORT __declspec(dllexport)
# ifndef PNG_DLL_IMPORT
# define PNG_DLL_IMPORT __declspec(dllimport)
# endif
# endif /* compiler */
#else /* !Windows */
# if (defined(__IBMC__) || defined(__IBMCPP__)) && defined(__OS2__)
# define PNGAPI _System
# else /* !Windows/x86 && !OS/2 */
/* Use the defaults, or define PNG*API on the command line (but
* this will have to be done for every compile!)
*/
# endif /* other system, !OS/2 */
#endif /* !Windows/x86 */
/* Now do all the defaulting . */
#ifndef PNGCAPI
# define PNGCAPI
#endif
#ifndef PNGCBAPI
# define PNGCBAPI PNGCAPI
#endif
#ifndef PNGAPI
# define PNGAPI PNGCAPI
#endif
/* PNG_IMPEXP may be set on the compilation system command line or (if not set)
* then in an internal header file when building the library, otherwise (when
* using the library) it is set here.
*/
#ifndef PNG_IMPEXP
# if defined(PNG_USE_DLL) && defined(PNG_DLL_IMPORT)
/* This forces use of a DLL, disallowing static linking */
# define PNG_IMPEXP PNG_DLL_IMPORT
# endif
# ifndef PNG_IMPEXP
# define PNG_IMPEXP
# endif
#endif
/* In 1.5.2 the definition of PNG_FUNCTION has been changed to always treat
* 'attributes' as a storage class - the attributes go at the start of the
* function definition, and attributes are always appended regardless of the
* compiler. This considerably simplifies these macros but may cause problems
* if any compilers both need function attributes and fail to handle them as
* a storage class (this is unlikely.)
*/
#ifndef PNG_FUNCTION
# define PNG_FUNCTION(type, name, args, attributes) attributes type name args
#endif
#ifndef PNG_EXPORT_TYPE
# define PNG_EXPORT_TYPE(type) PNG_IMPEXP type
#endif
/* The ordinal value is only relevant when preprocessing png.h for symbol
* table entries, so we discard it here. See the .dfn files in the
* scripts directory.
*/
#ifndef PNG_EXPORTA
# define PNG_EXPORTA(ordinal, type, name, args, attributes) \
PNG_FUNCTION(PNG_EXPORT_TYPE(type), (PNGAPI name), PNGARG(args), \
PNG_LINKAGE_API attributes)
#endif
/* ANSI-C (C90) does not permit a macro to be invoked with an empty argument,
* so make something non-empty to satisfy the requirement:
*/
#define PNG_EMPTY /*empty list*/
#define PNG_EXPORT(ordinal, type, name, args) \
PNG_EXPORTA(ordinal, type, name, args, PNG_EMPTY)
/* Use PNG_REMOVED to comment out a removed interface. */
#ifndef PNG_REMOVED
# define PNG_REMOVED(ordinal, type, name, args, attributes)
#endif
#ifndef PNG_CALLBACK
# define PNG_CALLBACK(type, name, args) type (PNGCBAPI name) PNGARG(args)
#endif
/* Support for compiler specific function attributes. These are used
* so that where compiler support is available incorrect use of API
* functions in png.h will generate compiler warnings.
*
* Added at libpng-1.2.41.
*/
#ifndef PNG_NO_PEDANTIC_WARNINGS
# ifndef PNG_PEDANTIC_WARNINGS_SUPPORTED
# define PNG_PEDANTIC_WARNINGS_SUPPORTED
# endif
#endif
#ifdef PNG_PEDANTIC_WARNINGS_SUPPORTED
/* Support for compiler specific function attributes. These are used
* so that where compiler support is available, incorrect use of API
* functions in png.h will generate compiler warnings. Added at libpng
* version 1.2.41. Disabling these removes the warnings but may also produce
* less efficient code.
*/
# if defined(__clang__) && defined(__has_attribute)
/* Clang defines both __clang__ and __GNUC__. Check __clang__ first. */
# if !defined(PNG_USE_RESULT) && __has_attribute(__warn_unused_result__)
# define PNG_USE_RESULT __attribute__((__warn_unused_result__))
# endif
# if !defined(PNG_NORETURN) && __has_attribute(__noreturn__)
# define PNG_NORETURN __attribute__((__noreturn__))
# endif
# if !defined(PNG_ALLOCATED) && __has_attribute(__malloc__)
# define PNG_ALLOCATED __attribute__((__malloc__))
# endif
# if !defined(PNG_DEPRECATED) && __has_attribute(__deprecated__)
# define PNG_DEPRECATED __attribute__((__deprecated__))
# endif
# if !defined(PNG_PRIVATE)
# ifdef __has_extension
# if __has_extension(attribute_unavailable_with_message)
# define PNG_PRIVATE __attribute__((__unavailable__(\
"This function is not exported by libpng.")))
# endif
# endif
# endif
# ifndef PNG_RESTRICT
# define PNG_RESTRICT __restrict
# endif
# elif defined(__GNUC__)
# ifndef PNG_USE_RESULT
# define PNG_USE_RESULT __attribute__((__warn_unused_result__))
# endif
# ifndef PNG_NORETURN
# define PNG_NORETURN __attribute__((__noreturn__))
# endif
# if __GNUC__ >= 3
# ifndef PNG_ALLOCATED
# define PNG_ALLOCATED __attribute__((__malloc__))
# endif
# ifndef PNG_DEPRECATED
# define PNG_DEPRECATED __attribute__((__deprecated__))
# endif
# ifndef PNG_PRIVATE
# if 0 /* Doesn't work so we use deprecated instead*/
# define PNG_PRIVATE \
__attribute__((warning("This function is not exported by libpng.")))
# else
# define PNG_PRIVATE \
__attribute__((__deprecated__))
# endif
# endif
# if ((__GNUC__ > 3) || !defined(__GNUC_MINOR__) || (__GNUC_MINOR__ >= 1))
# ifndef PNG_RESTRICT
# define PNG_RESTRICT __restrict
# endif
# endif /* __GNUC__.__GNUC_MINOR__ > 3.0 */
# endif /* __GNUC__ >= 3 */
# elif defined(_MSC_VER) && (_MSC_VER >= 1300)
# ifndef PNG_USE_RESULT
# define PNG_USE_RESULT /* not supported */
# endif
# ifndef PNG_NORETURN
# define PNG_NORETURN __declspec(noreturn)
# endif
# ifndef PNG_ALLOCATED
# if (_MSC_VER >= 1400)
# define PNG_ALLOCATED __declspec(restrict)
# endif
# endif
# ifndef PNG_DEPRECATED
# define PNG_DEPRECATED __declspec(deprecated)
# endif
# ifndef PNG_PRIVATE
# define PNG_PRIVATE __declspec(deprecated)
# endif
# ifndef PNG_RESTRICT
# if (_MSC_VER >= 1400)
# define PNG_RESTRICT __restrict
# endif
# endif
# elif defined(__WATCOMC__)
# ifndef PNG_RESTRICT
# define PNG_RESTRICT __restrict
# endif
# endif
#endif /* PNG_PEDANTIC_WARNINGS */
#ifndef PNG_DEPRECATED
# define PNG_DEPRECATED /* Use of this function is deprecated */
#endif
#ifndef PNG_USE_RESULT
# define PNG_USE_RESULT /* The result of this function must be checked */
#endif
#ifndef PNG_NORETURN
# define PNG_NORETURN /* This function does not return */
#endif
#ifndef PNG_ALLOCATED
# define PNG_ALLOCATED /* The result of the function is new memory */
#endif
#ifndef PNG_PRIVATE
# define PNG_PRIVATE /* This is a private libpng function */
#endif
#ifndef PNG_RESTRICT
# define PNG_RESTRICT /* The C99 "restrict" feature */
#endif
#ifndef PNG_FP_EXPORT /* A floating point API. */
# ifdef PNG_FLOATING_POINT_SUPPORTED
# define PNG_FP_EXPORT(ordinal, type, name, args)\
PNG_EXPORT(ordinal, type, name, args);
# else /* No floating point APIs */
# define PNG_FP_EXPORT(ordinal, type, name, args)
# endif
#endif
#ifndef PNG_FIXED_EXPORT /* A fixed point API. */
# ifdef PNG_FIXED_POINT_SUPPORTED
# define PNG_FIXED_EXPORT(ordinal, type, name, args)\
PNG_EXPORT(ordinal, type, name, args);
# else /* No fixed point APIs */
# define PNG_FIXED_EXPORT(ordinal, type, name, args)
# endif
#endif
#ifndef PNG_BUILDING_SYMBOL_TABLE
/* Some typedefs to get us started. These should be safe on most of the common
* platforms.
*
* png_uint_32 and png_int_32 may, currently, be larger than required to hold a
* 32-bit value however this is not normally advisable.
*
* png_uint_16 and png_int_16 should always be two bytes in size - this is
* verified at library build time.
*
* png_byte must always be one byte in size.
*
* The checks below use constants from limits.h, as defined by the ISOC90
* standard.
*/
#if CHAR_BIT == 8 && UCHAR_MAX == 255
typedef unsigned char png_byte;
#else
# error "libpng requires 8-bit bytes"
#endif
#if INT_MIN == -32768 && INT_MAX == 32767
typedef int png_int_16;
#elif SHRT_MIN == -32768 && SHRT_MAX == 32767
typedef short png_int_16;
#else
# error "libpng requires a signed 16-bit type"
#endif
#if UINT_MAX == 65535
typedef unsigned int png_uint_16;
#elif USHRT_MAX == 65535
typedef unsigned short png_uint_16;
#else
# error "libpng requires an unsigned 16-bit type"
#endif
#if INT_MIN < -2147483646 && INT_MAX > 2147483646
typedef int png_int_32;
#elif LONG_MIN < -2147483646 && LONG_MAX > 2147483646
typedef long int png_int_32;
#else
# error "libpng requires a signed 32-bit (or more) type"
#endif
#if UINT_MAX > 4294967294
typedef unsigned int png_uint_32;
#elif ULONG_MAX > 4294967294
typedef unsigned long int png_uint_32;
#else
# error "libpng requires an unsigned 32-bit (or more) type"
#endif
/* Prior to 1.6.0 it was possible to disable the use of size_t, 1.6.0, however,
* requires an ISOC90 compiler and relies on consistent behavior of sizeof.
*/
typedef size_t png_size_t;
typedef ptrdiff_t png_ptrdiff_t;
/* libpng needs to know the maximum value of 'size_t' and this controls the
* definition of png_alloc_size_t, below. This maximum value of size_t limits
* but does not control the maximum allocations the library makes - there is
* direct application control of this through png_set_user_limits().
*/
#ifndef PNG_SMALL_SIZE_T
/* Compiler specific tests for systems where size_t is known to be less than
* 32 bits (some of these systems may no longer work because of the lack of
* 'far' support; see above.)
*/
# if (defined(__TURBOC__) && !defined(__FLAT__)) ||\
(defined(_MSC_VER) && defined(MAXSEG_64K))
# define PNG_SMALL_SIZE_T
# endif
#endif
/* png_alloc_size_t is guaranteed to be no smaller than png_size_t, and no
* smaller than png_uint_32. Casts from png_size_t or png_uint_32 to
* png_alloc_size_t are not necessary; in fact, it is recommended not to use
* them at all so that the compiler can complain when something turns out to be
* problematic.
*
* Casts in the other direction (from png_alloc_size_t to png_size_t or
* png_uint_32) should be explicitly applied; however, we do not expect to
* encounter practical situations that require such conversions.
*
* PNG_SMALL_SIZE_T must be defined if the maximum value of size_t is less than
* 4294967295 - i.e. less than the maximum value of png_uint_32.
*/
#ifdef PNG_SMALL_SIZE_T
typedef png_uint_32 png_alloc_size_t;
#else
typedef png_size_t png_alloc_size_t;
#endif
/* Prior to 1.6.0 libpng offered limited support for Microsoft C compiler
* implementations of Intel CPU specific support of user-mode segmented address
* spaces, where 16-bit pointers address more than 65536 bytes of memory using
* separate 'segment' registers. The implementation requires two different
* types of pointer (only one of which includes the segment value.)
*
* If required this support is available in version 1.2 of libpng and may be
* available in versions through 1.5, although the correctness of the code has
* not been verified recently.
*/
/* Typedef for floating-point numbers that are converted to fixed-point with a
* multiple of 100,000, e.g., gamma
*/
typedef png_int_32 png_fixed_point;
/* Add typedefs for pointers */
typedef void * png_voidp;
typedef const void * png_const_voidp;
typedef png_byte * png_bytep;
typedef const png_byte * png_const_bytep;
typedef png_uint_32 * png_uint_32p;
typedef const png_uint_32 * png_const_uint_32p;
typedef png_int_32 * png_int_32p;
typedef const png_int_32 * png_const_int_32p;
typedef png_uint_16 * png_uint_16p;
typedef const png_uint_16 * png_const_uint_16p;
typedef png_int_16 * png_int_16p;
typedef const png_int_16 * png_const_int_16p;
typedef char * png_charp;
typedef const char * png_const_charp;
typedef png_fixed_point * png_fixed_point_p;
typedef const png_fixed_point * png_const_fixed_point_p;
typedef png_size_t * png_size_tp;
typedef const png_size_t * png_const_size_tp;
#ifdef PNG_STDIO_SUPPORTED
typedef FILE * png_FILE_p;
#endif
#ifdef PNG_FLOATING_POINT_SUPPORTED
typedef double * png_doublep;
typedef const double * png_const_doublep;
#endif
/* Pointers to pointers; i.e. arrays */
typedef png_byte * * png_bytepp;
typedef png_uint_32 * * png_uint_32pp;
typedef png_int_32 * * png_int_32pp;
typedef png_uint_16 * * png_uint_16pp;
typedef png_int_16 * * png_int_16pp;
typedef const char * * png_const_charpp;
typedef char * * png_charpp;
typedef png_fixed_point * * png_fixed_point_pp;
#ifdef PNG_FLOATING_POINT_SUPPORTED
typedef double * * png_doublepp;
#endif
/* Pointers to pointers to pointers; i.e., pointer to array */
typedef char * * * png_charppp;
#endif /* PNG_BUILDING_SYMBOL_TABLE */
#endif /* PNGCONF_H */

View file

@ -1,213 +0,0 @@
/* pnglibconf.h - library build configuration */
/* libpng version 1.6.25, September 1, 2016 */
/* Copyright (c) 1998-2016 Glenn Randers-Pehrson */
/* This code is released under the libpng license. */
/* For conditions of distribution and use, see the disclaimer */
/* and license in png.h */
/* pnglibconf.h */
/* Machine generated file: DO NOT EDIT */
/* Derived from: scripts/pnglibconf.dfa */
#ifndef PNGLCONF_H
#define PNGLCONF_H
/* options */
/*#undef PNG_16BIT_SUPPORTED*/
/*#undef PNG_ALIGNED_MEMORY_SUPPORTED*/
/*#undef PNG_ARM_NEON_API_SUPPORTED*/
/*#undef PNG_ARM_NEON_CHECK_SUPPORTED*/
/*#undef PNG_BENIGN_ERRORS_SUPPORTED*/
/*#undef PNG_BENIGN_READ_ERRORS_SUPPORTED*/
/*#undef PNG_BENIGN_WRITE_ERRORS_SUPPORTED*/
/*#undef PNG_BUILD_GRAYSCALE_PALETTE_SUPPORTED*/
/*#undef PNG_CHECK_FOR_INVALID_INDEX_SUPPORTED*/
/*#undef PNG_COLORSPACE_SUPPORTED*/
/*#undef PNG_CONSOLE_IO_SUPPORTED*/
/*#undef PNG_CONVERT_tIME_SUPPORTED*/
/*#undef PNG_EASY_ACCESS_SUPPORTED*/
/*#undef PNG_ERROR_NUMBERS_SUPPORTED*/
/*#undef PNG_ERROR_TEXT_SUPPORTED*/
#define PNG_FIXED_POINT_SUPPORTED
/*#undef PNG_FLOATING_ARITHMETIC_SUPPORTED*/
/*#undef PNG_FLOATING_POINT_SUPPORTED*/
/*#undef PNG_FORMAT_AFIRST_SUPPORTED*/
/*#undef PNG_FORMAT_BGR_SUPPORTED*/
/*#undef PNG_GAMMA_SUPPORTED*/
/*#undef PNG_GET_PALETTE_MAX_SUPPORTED*/
/*#undef PNG_HANDLE_AS_UNKNOWN_SUPPORTED*/
/*#undef PNG_INCH_CONVERSIONS_SUPPORTED*/
#define PNG_INFO_IMAGE_SUPPORTED
/*#undef PNG_IO_STATE_SUPPORTED*/
/*#undef PNG_MNG_FEATURES_SUPPORTED*/
/*#undef PNG_POINTER_INDEXING_SUPPORTED*/
/*#undef PNG_PROGRESSIVE_READ_SUPPORTED*/
/*#undef PNG_READ_16BIT_SUPPORTED*/
/*#undef PNG_READ_ALPHA_MODE_SUPPORTED*/
/*#undef PNG_READ_ANCILLARY_CHUNKS_SUPPORTED*/
/*#undef PNG_READ_BACKGROUND_SUPPORTED*/
/*#undef PNG_READ_BGR_SUPPORTED*/
/*#undef PNG_READ_CHECK_FOR_INVALID_INDEX_SUPPORTED*/
/*#undef PNG_READ_COMPOSITE_NODIV_SUPPORTED*/
/*#undef PNG_READ_COMPRESSED_TEXT_SUPPORTED*/
/*#undef PNG_READ_EXPAND_16_SUPPORTED*/
/*#undef PNG_READ_EXPAND_SUPPORTED*/
/*#undef PNG_READ_FILLER_SUPPORTED*/
/*#undef PNG_READ_GAMMA_SUPPORTED*/
/*#undef PNG_READ_GET_PALETTE_MAX_SUPPORTED*/
/*#undef PNG_READ_GRAY_TO_RGB_SUPPORTED*/
/*#undef PNG_READ_INTERLACING_SUPPORTED*/
/*#undef PNG_READ_INT_FUNCTIONS_SUPPORTED*/
/*#undef PNG_READ_INVERT_ALPHA_SUPPORTED*/
/*#undef PNG_READ_INVERT_SUPPORTED*/
/*#undef PNG_READ_OPT_PLTE_SUPPORTED*/
/*#undef PNG_READ_PACKSWAP_SUPPORTED*/
/*#undef PNG_READ_PACK_SUPPORTED*/
/*#undef PNG_READ_QUANTIZE_SUPPORTED*/
/*#undef PNG_READ_RGB_TO_GRAY_SUPPORTED*/
/*#undef PNG_READ_SCALE_16_TO_8_SUPPORTED*/
/*#undef PNG_READ_SHIFT_SUPPORTED*/
/*#undef PNG_READ_STRIP_16_TO_8_SUPPORTED*/
/*#undef PNG_READ_STRIP_ALPHA_SUPPORTED*/
/*#undef PNG_READ_SUPPORTED*/
/*#undef PNG_READ_SWAP_ALPHA_SUPPORTED*/
/*#undef PNG_READ_SWAP_SUPPORTED*/
/*#undef PNG_READ_TEXT_SUPPORTED*/
/*#undef PNG_READ_TRANSFORMS_SUPPORTED*/
/*#undef PNG_READ_UNKNOWN_CHUNKS_SUPPORTED*/
/*#undef PNG_READ_USER_CHUNKS_SUPPORTED*/
/*#undef PNG_READ_USER_TRANSFORM_SUPPORTED*/
/*#undef PNG_READ_bKGD_SUPPORTED*/
/*#undef PNG_READ_cHRM_SUPPORTED*/
/*#undef PNG_READ_gAMA_SUPPORTED*/
/*#undef PNG_READ_hIST_SUPPORTED*/
/*#undef PNG_READ_iCCP_SUPPORTED*/
/*#undef PNG_READ_iTXt_SUPPORTED*/
/*#undef PNG_READ_oFFs_SUPPORTED*/
/*#undef PNG_READ_pCAL_SUPPORTED*/
/*#undef PNG_READ_pHYs_SUPPORTED*/
/*#undef PNG_READ_sBIT_SUPPORTED*/
/*#undef PNG_READ_sCAL_SUPPORTED*/
/*#undef PNG_READ_sPLT_SUPPORTED*/
/*#undef PNG_READ_sRGB_SUPPORTED*/
/*#undef PNG_READ_tEXt_SUPPORTED*/
/*#undef PNG_READ_tIME_SUPPORTED*/
/*#undef PNG_READ_tRNS_SUPPORTED*/
/*#undef PNG_READ_zTXt_SUPPORTED*/
/*#undef PNG_SAVE_INT_32_SUPPORTED*/
/*#undef PNG_SAVE_UNKNOWN_CHUNKS_SUPPORTED*/
/*#undef PNG_SEQUENTIAL_READ_SUPPORTED*/
#define PNG_SETJMP_SUPPORTED
/*#undef PNG_SET_OPTION_SUPPORTED*/
/*#undef PNG_SET_UNKNOWN_CHUNKS_SUPPORTED*/
/*#undef PNG_SET_USER_LIMITS_SUPPORTED*/
/*#undef PNG_SIMPLIFIED_READ_AFIRST_SUPPORTED*/
/*#undef PNG_SIMPLIFIED_READ_BGR_SUPPORTED*/
/*#undef PNG_SIMPLIFIED_READ_SUPPORTED*/
/*#undef PNG_SIMPLIFIED_WRITE_AFIRST_SUPPORTED*/
/*#undef PNG_SIMPLIFIED_WRITE_BGR_SUPPORTED*/
/*#undef PNG_SIMPLIFIED_WRITE_STDIO_SUPPORTED*/
/*#undef PNG_SIMPLIFIED_WRITE_SUPPORTED*/
#define PNG_STDIO_SUPPORTED
/*#undef PNG_STORE_UNKNOWN_CHUNKS_SUPPORTED*/
#define PNG_TEXT_SUPPORTED
/*#undef PNG_TIME_RFC1123_SUPPORTED*/
/*#undef PNG_UNKNOWN_CHUNKS_SUPPORTED*/
/*#undef PNG_USER_CHUNKS_SUPPORTED*/
/*#undef PNG_USER_LIMITS_SUPPORTED*/
#define PNG_USER_MEM_SUPPORTED
/*#undef PNG_USER_TRANSFORM_INFO_SUPPORTED*/
/*#undef PNG_USER_TRANSFORM_PTR_SUPPORTED*/
/*#undef PNG_WARNINGS_SUPPORTED*/
/*#undef PNG_WRITE_16BIT_SUPPORTED*/
#define PNG_WRITE_ANCILLARY_CHUNKS_SUPPORTED
/*#undef PNG_WRITE_BGR_SUPPORTED*/
/*#undef PNG_WRITE_CHECK_FOR_INVALID_INDEX_SUPPORTED*/
/*#undef PNG_WRITE_COMPRESSED_TEXT_SUPPORTED*/
/*#undef PNG_WRITE_CUSTOMIZE_COMPRESSION_SUPPORTED*/
/*#undef PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED*/
/*#undef PNG_WRITE_FILLER_SUPPORTED*/
/*#undef PNG_WRITE_FILTER_SUPPORTED*/
/*#undef PNG_WRITE_FLUSH_SUPPORTED*/
/*#undef PNG_WRITE_GET_PALETTE_MAX_SUPPORTED*/
/*#undef PNG_WRITE_INTERLACING_SUPPORTED*/
#define PNG_WRITE_INT_FUNCTIONS_SUPPORTED
/*#undef PNG_WRITE_INVERT_ALPHA_SUPPORTED*/
/*#undef PNG_WRITE_INVERT_SUPPORTED*/
/*#undef PNG_WRITE_OPTIMIZE_CMF_SUPPORTED*/
/*#undef PNG_WRITE_PACKSWAP_SUPPORTED*/
/*#undef PNG_WRITE_PACK_SUPPORTED*/
/*#undef PNG_WRITE_SHIFT_SUPPORTED*/
#define PNG_WRITE_SUPPORTED
/*#undef PNG_WRITE_SWAP_ALPHA_SUPPORTED*/
/*#undef PNG_WRITE_SWAP_SUPPORTED*/
#define PNG_WRITE_TEXT_SUPPORTED
/*#undef PNG_WRITE_TRANSFORMS_SUPPORTED*/
/*#undef PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED*/
/*#undef PNG_WRITE_USER_TRANSFORM_SUPPORTED*/
/*#undef PNG_WRITE_WEIGHTED_FILTER_SUPPORTED*/
/*#undef PNG_WRITE_bKGD_SUPPORTED*/
/*#undef PNG_WRITE_cHRM_SUPPORTED*/
/*#undef PNG_WRITE_gAMA_SUPPORTED*/
/*#undef PNG_WRITE_hIST_SUPPORTED*/
/*#undef PNG_WRITE_iCCP_SUPPORTED*/
/*#undef PNG_WRITE_iTXt_SUPPORTED*/
/*#undef PNG_WRITE_oFFs_SUPPORTED*/
/*#undef PNG_WRITE_pCAL_SUPPORTED*/
/*#undef PNG_WRITE_pHYs_SUPPORTED*/
/*#undef PNG_WRITE_sBIT_SUPPORTED*/
/*#undef PNG_WRITE_sCAL_SUPPORTED*/
/*#undef PNG_WRITE_sPLT_SUPPORTED*/
/*#undef PNG_WRITE_sRGB_SUPPORTED*/
/*#undef PNG_WRITE_tEXt_SUPPORTED*/
/*#undef PNG_WRITE_tIME_SUPPORTED*/
#define PNG_WRITE_tRNS_SUPPORTED
/*#undef PNG_WRITE_zTXt_SUPPORTED*/
/*#undef PNG_bKGD_SUPPORTED*/
/*#undef PNG_cHRM_SUPPORTED*/
/*#undef PNG_gAMA_SUPPORTED*/
/*#undef PNG_hIST_SUPPORTED*/
/*#undef PNG_iCCP_SUPPORTED*/
/*#undef PNG_iTXt_SUPPORTED*/
/*#undef PNG_oFFs_SUPPORTED*/
/*#undef PNG_pCAL_SUPPORTED*/
/*#undef PNG_pHYs_SUPPORTED*/
/*#undef PNG_sBIT_SUPPORTED*/
/*#undef PNG_sCAL_SUPPORTED*/
/*#undef PNG_sPLT_SUPPORTED*/
/*#undef PNG_sRGB_SUPPORTED*/
/*#undef PNG_tEXt_SUPPORTED*/
/*#undef PNG_tIME_SUPPORTED*/
#define PNG_tRNS_SUPPORTED
/*#undef PNG_zTXt_SUPPORTED*/
/* end of options */
/* settings */
#define PNG_API_RULE 0
#define PNG_DEFAULT_READ_MACROS 1
#define PNG_GAMMA_THRESHOLD_FIXED 5000
#define PNG_IDAT_READ_SIZE PNG_ZBUF_SIZE
#define PNG_INFLATE_BUF_SIZE 1024
#define PNG_LINKAGE_API extern
#define PNG_LINKAGE_CALLBACK extern
#define PNG_LINKAGE_DATA extern
#define PNG_LINKAGE_FUNCTION extern
#define PNG_MAX_GAMMA_8 11
#define PNG_QUANTIZE_BLUE_BITS 5
#define PNG_QUANTIZE_GREEN_BITS 5
#define PNG_QUANTIZE_RED_BITS 5
#define PNG_TEXT_Z_DEFAULT_COMPRESSION (-1)
#define PNG_TEXT_Z_DEFAULT_STRATEGY 0
#define PNG_USER_CHUNK_CACHE_MAX 1000
#define PNG_USER_CHUNK_MALLOC_MAX 8000000
#define PNG_USER_HEIGHT_MAX 1000000
#define PNG_USER_WIDTH_MAX 1000000
#define PNG_ZBUF_SIZE 8192
#define PNG_ZLIB_VERNUM 0x1280
#define PNG_Z_DEFAULT_COMPRESSION (-1)
#define PNG_Z_DEFAULT_NOFILTER_STRATEGY 0
#define PNG_Z_DEFAULT_STRATEGY 1
#define PNG_sCAL_PRECISION 5
#define PNG_sRGB_PROFILE_CHECKS 2
/* end of settings */
#endif /* PNGLCONF_H */

Binary file not shown.

Binary file not shown.

View file

@ -86,7 +86,7 @@ flags_cl=$(flags_cl) /arch:SSE
flags_link=/RELEASE /LTCG # /LIBPATH:$(WDKROOT)\lib\wxp\i386 /LIBPATH:$(WDKROOT)\lib\Crt\i386
!endif
ENGINEOPTS=/DUSE_OPENGL /DPOLYMER /DSTARTUP_WINDOW /DUSE_LIBPNG /DUSE_LIBVPX /DHAVE_VORBIS /DHAVE_XMP
ENGINEOPTS=/DUSE_OPENGL /DPOLYMER /DSTARTUP_WINDOW /DUSE_LIBVPX /DHAVE_VORBIS /DHAVE_XMP
!ifdef CPLUSPLUS
ENGINEOPTS=$(ENGINEOPTS) /TP
@ -110,8 +110,7 @@ LIBXMPLITE_CFLAGS=/I$(LIBXMPLITE_INC) /I$(LIBXMPLITE_INC)/libxmp-lite /I$(LIBXMP
AUDIOLIB_CFLAGS=/I$(AUDIOLIB_INC) /I$(AUDIOLIB_SRC)
LIBS=user32.lib gdi32.lib shell32.lib winmm.lib ws2_32.lib comctl32.lib shlwapi.lib oleaut32.lib ole32.lib imm32.lib version.lib \
libogg.a libvorbis.a libvorbisfile.a libxmp-lite.a libvpx.a libpng_mini.a libz_mini.a \
dxguid.lib dsound.lib advapi32.lib libcompat-to-msvc.a
libogg.a libvorbis.a libvorbisfile.a libxmp-lite.a libvpx.a dxguid.lib dsound.lib advapi32.lib libcompat-to-msvc.a
!if ("$(RENDERTYPE)"=="SDL")
LIBS=libSDL2main.a libSDL2.a $(LIBS)
@ -177,7 +176,10 @@ ENGINE_OBJS= \
$(ENGINE_OBJ)\winbits.$o \
$(ENGINE_OBJ)\xxhash.$o \
$(ENGINE_OBJ)\screenshot.$o \
$(ENGINE_OBJ)\mhk.$o
$(ENGINE_OBJ)\mhk.$o \
$(ENGINE_OBJ)\pngwrite.$o \
$(ENGINE_OBJ)\miniz.$o
ENGINE_EDITOR_OBJS=$(ENGINE_OBJ)\build.$o \
$(ENGINE_OBJ)\startwin.editor.$o \

View file

@ -44,6 +44,8 @@ $(ENGINE_OBJ)/rawinput.$o: $(ENGINE_SRC)/rawinput.cpp $(ENGINE_INC)/rawinput.h
$(ENGINE_OBJ)/wiibits.$o: $(ENGINE_SRC)/wiibits.cpp $(ENGINE_INC)/wiibits.h
$(ENGINE_OBJ)/winbits.$o: $(ENGINE_SRC)/winbits.cpp $(ENGINE_INC)/winbits.h
$(ENGINE_OBJ)/xxhash.$o: $(ENGINE_SRC)/xxhash.c $(ENGINE_INC)/xxhash.h
$(ENGINE_OBJ)/pngwrite.$o: $(ENGINE_SRC)/pngwrite.cpp $(ENGINE_INC)/pngwrite.h
$(ENGINE_OBJ)/miniz.$o: $(ENGINE_SRC)/miniz.c $(ENGINE_INC)/miniz.h
$(ENGINE_OBJ)/lunatic.$o: $(ENGINE_SRC)/lunatic.cpp $(ENGINE_INC)/lunatic.h $(ENGINE_INC)/cache1d.h $(ENGINE_INC)/osd.h

View file

@ -1209,7 +1209,8 @@ static FORCE_INLINE int32_t spriteheightofs(int16_t i, int32_t *height, int32_t
return spriteheightofsptr((uspritetype *)&sprite[i], height, alsotileyofs);
}
int32_t screencapture(const char *filename, char inverseit, const char *versionstr) ATTRIBUTE((nonnull(1)));
int screencapture(const char *filename, char inverseit) ATTRIBUTE((nonnull(1)));
int screencapture_tga(const char *filename, char inverseit) ATTRIBUTE((nonnull(1)));
// PLAG: line utility functions
typedef struct s_equation {

1328
source/build/include/miniz.h Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,37 @@
#ifndef __PNGWRITE_H__
#define __PNGWRITE_H__
#include "miniz.h"
#define CHUNK_COMPRESSED 1
#define CHUNK_ROW 2
enum
{
PNG_TRUECOLOR = 2,
PNG_INDEXED = 3,
};
#pragma pack(push, 1)
typedef struct
{
z_stream *zs;
FILE *file;
uint8_t *pal_data;
uint16_t pal_entries;
uint8_t *text;
uint8_t textlen;
} pngwrite_t;
typedef struct
{
uint32_t width, height;
uint8_t depth, type, filler[3];
} png_ihdr_t;
#pragma pack(pop)
void png_set_pal(uint8_t const * const data, int numentries);
void png_set_text(char const * const keyword, char const * const text);
void png_write(FILE * const file, uint32_t const width, uint32_t const height, uint8_t type, uint8_t const * const data);
#endif

View file

@ -548,7 +548,7 @@ void M32_DrawRoomsAndMasks(void)
if (g_doScreenShot)
{
screencapture("mcapxxxx.tga", 0, "Mapster32, from script");
screencapture("mcapxxxx.tga", 0);
g_doScreenShot = 0;
}
@ -4168,9 +4168,7 @@ void overheadeditor(void)
{
keystatus[88] = 0;
//__clearscreen_beforecapture__
Bsnprintf(tempbuf, sizeof(tempbuf), "%s %s", AppProperName, CallExtGetVer());
screencapture("captxxxx.tga", eitherSHIFT, tempbuf);
screencapture("captxxxx.tga", eitherSHIFT);
showframe(1);
}

View file

@ -4340,7 +4340,7 @@ static void drawalls(int32_t bunch)
printext256(8,8, whitecol,0, tmpbuf, 0);
Bsprintf(fn, "engshot%04d.png", engine_screenshot);
screencapture(fn, 0, "BUILD engine");
screencapture(fn, 0);
engine_screenshot++;
Bmemcpy((char *)frameplace, bakframe, xdim*ydim);

7557
source/build/src/miniz.c Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,93 @@
#include "compat.h"
#include "pngwrite.h"
#include "crc32.h"
pngwrite_t png;
#define png_write_buf(p, size) Bfwrite(p, size, 1, png.file)
static void png_write_uint32(uint32_t const in)
{
uint8_t buf[4];
*(uint32_t *)buf = B_BIG32(in);
png_write_buf(buf, sizeof(uint32_t));
}
static void png_write_chunk(uint32_t const size, char const *const type,
uint8_t const *const data, uint32_t flags)
{
uint32_t chunk_size = flags & CHUNK_COMPRESSED ? compressBound(size) : size;
uint8_t * const chunk = (uint8_t *) Xcalloc(1, 4 + chunk_size);
Bmemcpy(chunk, type, 4);
if (flags & CHUNK_COMPRESSED)
compress(chunk + 4, (mz_ulong *) &chunk_size, data, size);
else
Bmemcpy(chunk + 4, data, size);
png_write_uint32(chunk_size);
png_write_buf(chunk, chunk_size + 4);
uint32_t crc = Bcrc32(NULL, 0, 0L);
crc = Bcrc32(chunk, chunk_size + 4, crc);
png_write_uint32(crc);
Bfree(chunk);
}
void png_set_pal(uint8_t const * const data, int numentries)
{
png.pal_entries = numentries;
png.pal_data = (uint8_t *)Xmalloc(numentries * 3);
Bmemcpy(png.pal_data, data, numentries * 3);
}
void png_set_text(char const * const keyword, char const * const text)
{
unsigned const keylen = Bstrlen(keyword);
Bassert(keylen < 79);
unsigned const textlen = Bstrlen(text);
png.textlen = keylen + textlen + 1;
png.text = (uint8_t *) Xrealloc(png.text, png.textlen);
Bmemcpy(png.text, keyword, keylen);
*(png.text + keylen) = 0;
Bmemcpy(png.text + keylen + 1, text, textlen);
}
void png_write(FILE * const file, uint32_t const width, uint32_t const height,
uint8_t type, uint8_t const * const data)
{
png.file = file;
png_write_buf("\x89\x50\x4E\x47\x0D\x0A\x1A\x0A", 8);
png_ihdr_t const png_header = { B_BIG32(width), B_BIG32(height), 8, type, 0 };
png_write_chunk(sizeof(png_ihdr_t), "IHDR", (uint8_t const *)&png_header, 0);
if (png.text)
{
png_write_chunk(png.textlen, "tEXt", png.text, 0);
DO_FREE_AND_NULL(png.text);
}
uint32_t const bytesPerPixel = (type == PNG_TRUECOLOR ? 3 : 1);
uint32_t const bytesPerLine = width * bytesPerPixel;
if (type == PNG_INDEXED)
png_write_chunk(png.pal_entries * 3, "PLTE", png.pal_data, 0);
unsigned const linesiz = height * bytesPerLine + height;
uint8_t *lines = (uint8_t *) Xcalloc(1, linesiz);
for (unsigned i = 0; i < height; i++)
Bmemcpy(lines + i * bytesPerLine + i + 1, data + i * bytesPerLine, bytesPerLine);
png_write_chunk(linesiz, "IDAT", lines, CHUNK_COMPRESSED);
png_write_chunk(0, "IEND", NULL, 0);
Bfree(lines);
}

View file

@ -1,20 +1,16 @@
#include "compat.h"
#include "build.h"
#include "editor.h"
#ifdef USE_LIBPNG
//# include <setjmp.h>
# include <png.h>
#endif
#include "pngwrite.h"
int16_t capturecount = 0;
uint16_t capturecount = 0;
//
// screencapture
//
static int32_t screencapture_common1(char *fn, const char *ext, BFILE** filptr)
static int screencapture_begin(char *fn, const char *ext, BFILE** filptr)
{
bssize_t i;
@ -42,191 +38,107 @@ static int32_t screencapture_common1(char *fn, const char *ext, BFILE** filptr)
return 0;
}
#ifdef USE_LIBPNG
// PNG screenshots -- adapted from libpng example.c
static int32_t screencapture_png(const char *filename, char inverseit, const char *versionstr)
static void screencapture_end(char *fn, BFILE** filptr)
{
BFILE *fp;
Bfclose(*filptr);
OSD_Printf("Saved screenshot to %s\n", fn);
Bfree(fn);
capturecount++;
}
# ifdef USE_OPENGL
# define HICOLOR (getrendermode() >= REND_POLYMOST && in3dmode())
# else
# define HICOLOR 0
# endif
png_structp png_ptr;
png_infop info_ptr;
png_colorp volatile palette = NULL;
png_textp volatile text = NULL;
png_bytep volatile buf = NULL;
png_bytepp volatile rowptrs = NULL;
int screencapture(const char *filename, char inverseit)
{
char *fn = Xstrdup(filename);
BFILE *fp;
int const retval = screencapture_begin(fn, "png", &fp);
bssize_t const s_xdim = xdim, s_ydim = ydim;
char fn[32]; // careful...
Bstrcpy(fn, filename);
int32_t const retval = screencapture_common1(fn, "png", &fp);
if (retval)
{
Bfree(fn);
return retval;
/* Create and initialize the png_struct with default error handling. */
png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
if (png_ptr == NULL)
{
Bfclose(fp);
return -1;
}
/* Allocate/initialize the image information data. */
info_ptr = png_create_info_struct(png_ptr);
if (info_ptr == NULL)
uint8_t * const imgBuf = (uint8_t *) Xmalloc(xdim * ydim * (HICOLOR ? 3 : 1));
begindrawing(); //{{{
#ifdef USE_OPENGL
if (HICOLOR)
{
Bfclose(fp);
png_destroy_write_struct(&png_ptr, NULL);
return -1;
bglReadPixels(0, 0, xdim, ydim, GL_RGB, GL_UNSIGNED_BYTE, imgBuf);
int const bytesPerLine = xdim * 3;
if (inverseit)
{
for (bsize_t i=0, j = ydim * bytesPerLine; i<j; i+=3)
swapchar(&imgBuf[i], &imgBuf[i+2]);
}
/* Set error handling. */
if (setjmp(png_jmpbuf(png_ptr)))
{
/* If we get here, we had a problem writing the file */
Bfclose(fp);
if (palette) png_free(png_ptr, palette);
if (text) png_free(png_ptr, text);
if (buf) png_free(png_ptr, buf);
if (rowptrs) png_free(png_ptr, rowptrs);
png_destroy_write_struct(&png_ptr, &info_ptr);
// flip rows
uint8_t* rowBuf = (uint8_t *) Xmalloc(bytesPerLine);
return -1;
for (int i = 0, numRows = ydim >> 1; i < numRows; ++i)
{
Bmemcpy(rowBuf, imgBuf + i * bytesPerLine, bytesPerLine);
Bmemcpy(imgBuf + i * bytesPerLine, imgBuf + (ydim - i - 1) * bytesPerLine, bytesPerLine);
Bmemcpy(imgBuf + (ydim - i - 1) * bytesPerLine, rowBuf, bytesPerLine);
}
png_init_io(png_ptr, fp);
// initialize various info fields from here on
png_set_IHDR(png_ptr, info_ptr, xdim, ydim, 8,
HICOLOR ? PNG_COLOR_TYPE_RGB : PNG_COLOR_TYPE_PALETTE,
PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_DEFAULT, PNG_FILTER_TYPE_DEFAULT);
if (HICOLOR && editstatus==0)
png_set_filter(png_ptr, PNG_FILTER_TYPE_BASE, PNG_FILTER_VALUE_NONE);
if (!HICOLOR)
#if (PNG_LIBPNG_VER > 10599)
palette = (png_colorp) png_malloc(png_ptr, 256*sizeof(png_color));
#else
palette = (png_colorp) png_malloc(png_ptr, 256*png_sizeof(png_color));
Bfree(rowBuf);
}
else
#endif
if (palette)
{
struct {
uint8_t r, g, b;
} palette[256];
if (inverseit)
{
for (bssize_t i = 0; i < 256; ++i)
{
palette[i].red = 255 - curpalettefaded[i].r;
palette[i].green = 255 - curpalettefaded[i].g;
palette[i].blue = 255 - curpalettefaded[i].b;
palette[i].r = 255 - curpalettefaded[i].r;
palette[i].g = 255 - curpalettefaded[i].g;
palette[i].b = 255 - curpalettefaded[i].b;
}
}
else
{
for (bssize_t i = 0; i < 256; ++i)
{
palette[i].red = curpalettefaded[i].r;
palette[i].green = curpalettefaded[i].g;
palette[i].blue = curpalettefaded[i].b;
}
Bmemcpy(&palette[i], &curpalettefaded[i], sizeof(palette[0]));
}
png_set_PLTE(png_ptr, info_ptr, palette, 256);
png_set_pal((uint8_t *)palette, 256);
for (int i = 0; i < ydim; ++i)
Bmemcpy(imgBuf + i * xdim, (uint8_t *)frameplace + ylookup[i], xdim);
}
// png_set_gAMA(png_ptr, info_ptr, vid_gamma); // 1.0/vid_gamma ?
// png_set_sRGB(png_ptr, info_ptr, PNG_sRGB_INTENT_SATURATION); // hm...
#if (PNG_LIBPNG_VER > 10599)
text = (png_textp) png_malloc(png_ptr, 2*sizeof(png_text));
#else
text = (png_textp) png_malloc(png_ptr, 2*png_sizeof(png_text));
#endif
text[0].compression = PNG_TEXT_COMPRESSION_NONE;
text[0].key = Bstrdup("Title");
text[0].text = Bstrdup((editstatus ? "Mapster32 screenshot" : "EDuke32 screenshot"));
text[1].compression = PNG_TEXT_COMPRESSION_NONE;
text[1].key = Bstrdup("Software");
text[1].text = Bstrdup(versionstr);
png_set_text(png_ptr, info_ptr, text, 2);
// get/set the pixel data
begindrawing(); //{{{
if (palette)
{
buf = (png_bytep) png_malloc(png_ptr, bytesperline*ydim);
Bmemcpy(buf, (char *) frameplace, bytesperline*ydim);
}
# ifdef USE_OPENGL
else
{
buf = (png_bytep) png_malloc(png_ptr, xdim*ydim*3);
bglReadPixels(0, 0, xdim, ydim, GL_RGB, GL_UNSIGNED_BYTE, buf);
}
# endif
enddrawing(); //}}}
rowptrs = (png_bytepp) png_malloc(png_ptr, ydim*sizeof(png_bytep));
png_set_text("Software", osd->version.buf);
png_write(fp, xdim, ydim, HICOLOR ? PNG_TRUECOLOR : PNG_INDEXED, imgBuf);
Bfree(imgBuf);
screencapture_end(fn, &fp);
if (!palette)
{
for (bssize_t i = 0; i < s_ydim; ++i)
rowptrs[i] = &buf[3*s_xdim*(s_ydim-i-1)];
}
else
{
for (bssize_t i = 0; i < s_ydim; ++i)
rowptrs[i] = &buf[ylookup[i]];
}
png_set_rows(png_ptr, info_ptr, rowptrs);
// write the png file!
png_write_png(png_ptr, info_ptr, PNG_TRANSFORM_IDENTITY, NULL);
Bfclose(fp);
if (palette) png_free(png_ptr, palette);
DO_FREE_AND_NULL(text[0].key);
DO_FREE_AND_NULL(text[0].text);
DO_FREE_AND_NULL(text[1].key);
DO_FREE_AND_NULL(text[1].text);
if (text) png_free(png_ptr, text);
if (buf) png_free(png_ptr, buf);
if (rowptrs) png_free(png_ptr, rowptrs);
png_destroy_write_struct(&png_ptr, &info_ptr);
OSD_Printf("Saved screenshot to %s\n", fn);
capturecount++;
return 0;
}
# undef HICOLOR
#else // if !defined USE_LIBPNG
static int32_t screencapture_tga(const char *filename, char inverseit)
int screencapture_tga(const char *filename, char inverseit)
{
int32_t i;
char *ptr, head[18] = { 0,1,1,0,0,0,1,24,0,0,0,0,0/*wlo*/,0/*whi*/,0/*hlo*/,0/*hhi*/,8,0 };
char head[18] = { 0,1,1,0,0,0,1,24,0,0,0,0,0/*wlo*/,0/*whi*/,0/*hlo*/,0/*hhi*/,8,0 };
//char palette[4*256];
char *fn = Xstrdup(filename);
# ifdef USE_OPENGL
int32_t j;
char *inversebuf;
# endif
BFILE *fil;
i = screencapture_common1(fn, "tga", &fil);
i = screencapture_begin(fn, "tga", &fil);
if (i)
{
Bfree(fn);
@ -234,7 +146,7 @@ static int32_t screencapture_tga(const char *filename, char inverseit)
}
#ifdef USE_OPENGL
if (getrendermode() >= REND_POLYMOST && in3dmode())
if (HICOLOR)
{
head[1] = 0; // no colourmap
head[2] = 2; // uncompressed truecolour
@ -254,66 +166,62 @@ static int32_t screencapture_tga(const char *filename, char inverseit)
Bfwrite(head, 18, 1, fil);
begindrawing(); //{{{
ptr = (char *) frameplace;
// palette first
#ifdef USE_OPENGL
if (getrendermode() < REND_POLYMOST || (getrendermode() >= REND_POLYMOST && !in3dmode()))
if (!HICOLOR)
#endif
{
//getpalette(0,256,palette);
if (inverseit)
{
for (i=0; i<256; i++)
{
Bfputc(inverseit ? 255-curpalettefaded[i].b : curpalettefaded[i].b, fil); // b
Bfputc(inverseit ? 255-curpalettefaded[i].g : curpalettefaded[i].g, fil); // g
Bfputc(inverseit ? 255-curpalettefaded[i].r : curpalettefaded[i].r, fil); // r
Bfputc(255 - curpalettefaded[i].b, fil);
Bfputc(255 - curpalettefaded[i].g, fil);
Bfputc(255 - curpalettefaded[i].r, fil);
}
}
else
{
for (i=0; i<256; i++)
{
Bfputc(curpalettefaded[i].b, fil);
Bfputc(curpalettefaded[i].g, fil);
Bfputc(curpalettefaded[i].r, fil);
}
}
}
begindrawing(); //{{{
# ifdef USE_OPENGL
if (getrendermode() >= REND_POLYMOST && in3dmode())
if (HICOLOR)
{
char c;
// 24bit
inversebuf = (char *) Xmalloc(xdim*ydim*3);
int const size = xdim * ydim * 3;
uint8_t *inversebuf = (uint8_t *) Xmalloc(size);
bglReadPixels(0, 0, xdim, ydim, GL_RGB, GL_UNSIGNED_BYTE, inversebuf);
j = xdim*ydim*3;
for (i=0; i<j; i+=3)
{
c = inversebuf[i];
inversebuf[i] = inversebuf[i+2];
inversebuf[i+2] = c;
}
Bfwrite(inversebuf, xdim*ydim, 3, fil);
for (i = 0; i < size; i += 3)
swapchar(&inversebuf[i], &inversebuf[i + 2]);
Bfwrite(inversebuf, xdim*ydim, 3, fil);
Bfree(inversebuf);
}
else
# endif
{
char * const ptr = (char *) frameplace;
for (i = ydim-1; i >= 0; i--)
Bfwrite(ptr + i * bytesperline, xdim, 1, fil);
}
enddrawing(); //}}}
Bfclose(fil);
OSD_Printf("Saved screenshot to %s\n", fn);
Bfree(fn);
capturecount++;
screencapture_end(fn, &fil);
return 0;
}
# endif
#undef HICOLOR
int32_t screencapture(const char *filename, char inverseit, const char *versionstr)
{
#ifndef USE_LIBPNG
UNREFERENCED_PARAMETER(versionstr);
return screencapture_tga(filename, inverseit);
#else
return screencapture_png(filename, inverseit, versionstr);
#endif
}

View file

@ -10935,10 +10935,9 @@ void ExtCheckKeys(void)
extern int32_t engine_screenshot;
engine_screenshot = 1;
#else
extern int16_t capturecount;
extern uint16_t capturecount;
Bsnprintf(tempbuf, sizeof(tempbuf), "%s %s", AppProperName, ExtGetVer());
screencapture("captxxxx.tga", eitherSHIFT, tempbuf);
screencapture("captxxxx.tga", eitherSHIFT);
silentmessage("Saved screenshot %04d", capturecount-1);
#endif
}

View file

@ -201,17 +201,15 @@ void G_HandleSpecialKeys(void)
if (KB_UnBoundKeyPressed(sc_F12))
{
char titlebuf[256];
Bsprintf(titlebuf,HEAD2 " %s",s_buildRev);
KB_ClearKeyDown(sc_F12);
screencapture(
#ifndef EDUKE32_STANDALONE
"duke0000.tga"
#else
"scrn0000.tga"
"capt0000.tga"
#endif
,0,titlebuf);
,
0);
P_DoQuote(QUOTE_SCREEN_SAVED, g_player[myconnectindex].ps);
}

View file

@ -1214,17 +1214,19 @@ static int32_t osdcmd_quickload(osdfuncparm_t const * const UNUSED(parm))
return OSDCMD_OK;
}
static int32_t osdcmd_screenshot(osdfuncparm_t const * const UNUSED(parm))
static int32_t osdcmd_screenshot(osdfuncparm_t const * const parm)
{
UNREFERENCED_CONST_PARAMETER(parm);
// KB_ClearKeysDown();
screencapture(
#ifndef EDUKE32_STANDALONE
"duke0000.tga"
static const char *fn = "duke0000.png";
#else
"scrn0000.tga"
static const char *fn = "capt0000.png";
#endif
,0,"EDuke32");
if (parm->numparms == 1 && !Bstrcasecmp(parm->parms[0], "tga"))
screencapture_tga(fn, 0);
else screencapture(fn, 0);
return OSDCMD_OK;
}
@ -1750,7 +1752,7 @@ int32_t registerosdcommands(void)
#else
OSD_RegisterFunction("lua", "lua \"Lua code...\": runs Lunatic code", osdcmd_lua);
#endif
OSD_RegisterFunction("screenshot","screenshot: takes a screenshot. See r_scrcaptureformat.", osdcmd_screenshot);
OSD_RegisterFunction("screenshot","screenshot [format]: takes a screenshot.", osdcmd_screenshot);
OSD_RegisterFunction("spawn","spawn <picnum> [palnum] [cstat] [ang] [x y z]: spawns a sprite with the given properties",osdcmd_spawn);