Code comes from 150e125cba/smaz.c
With a small modification to match Godot expectations:
```
diff --git a/thirdparty/core/smaz.c b/thirdparty/core/smaz.c
index 9b1ebc2..555dfea 100644
--- a/thirdparty/core/smaz.c
+++ b/thirdparty/core/smaz.c
@@ -14,7 +14,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
#include <string.h>
/* Our compression codebook, used for compression */
-static char *Smaz_cb[241] = {
+static const char *Smaz_cb[241] = {
"\002s,\266", "\003had\232\002leW", "\003on \216", "", "\001yS",
"\002ma\255\002li\227", "\003or \260", "", "\002ll\230\003s t\277",
"\004fromg\002mel", "", "\003its\332", "\001z\333", "\003ingF", "\001>\336",
@@ -89,7 +89,7 @@ static char *Smaz_rcb[254] = {
"e, ", " it", "whi", " ma", "ge", "x", "e c", "men", ".com"
};
-int smaz_compress(char *in, int inlen, char *out, int outlen) {
+int smaz_compress(const char *in, int inlen, char *out, int outlen) {
unsigned int h1,h2,h3=0;
int verblen = 0, _outlen = outlen;
char verb[256], *_out = out;
@@ -167,7 +167,7 @@ out:
return out-_out;
}
-int smaz_decompress(char *in, int inlen, char *out, int outlen) {
+int smaz_decompress(const char *in, int inlen, char *out, int outlen) {
unsigned char *c = (unsigned char*) in;
char *_out = out;
int _outlen = outlen;
@@ -192,7 +192,7 @@ int smaz_decompress(char *in, int inlen, char *out, int outlen) {
inlen -= 2+len;
} else {
/* Codebook entry */
- char *s = Smaz_rcb[*c];
+ const char *s = Smaz_rcb[*c];
int len = strlen(s);
if (outlen < len) return _outlen+1;
diff --git a/thirdparty/core/smaz.h b/thirdparty/core/smaz.h
index a547d89..a9d8a33 100644
--- a/thirdparty/core/smaz.h
+++ b/thirdparty/core/smaz.h
@@ -14,7 +14,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
#ifndef _SMAZ_H
#define _SMAZ_H
-int smaz_compress(char *in, int inlen, char *out, int outlen);
-int smaz_decompress(char *in, int inlen, char *out, int outlen);
+int smaz_compress(const char *in, int inlen, char *out, int outlen);
+int smaz_decompress(const char *in, int inlen, char *out, int outlen);
#endif
```
5.9 KiB
Third party libraries
certs
- Upstream: ?
TODO.
enet
- Upstream: http://enet.bespin.org
- Version: 1.3.13
- License: MIT
Files extracted from upstream source:
- all .c files in the main directory (except unix.c win32.c)
- the include/enet/ folder as enet/ (except unix.h win32.h)
- LICENSE file
Important: enet.h, host.c, protocol.c have been slightly modified to be usable by godot socket implementation and allow IPv6. Two files (godot.cpp and enet/godot.h) have been added to provide enet socket implementation using Godot classes. It is still possible to build against a system wide ENet but doing so will limit it's functionality to IPv4 only. Check the diff of enet.h, protocol.c, and host.c with the 1.3.13 tarball before the next update.
fonts
- Upstream: ?
TODO.
freetype
- Upstream: https://www.freetype.org
- Version: 2.6.5
- License: FreeType License (BSD-like)
Files extracted from upstream source:
- the src/ folder, stripped of the
Jamfile
files - the include/ folder
docs/{FTL.TXT,LICENSE.TXT}
glad
- Upstream: https://github.com/Dav1dde/glad
- Version: 0.1.13a0
- License: MIT
The files we package are automatically generated. See the header of glad.c for instructions on how to generate them for the GLES version Godot targets.
jpeg-compressor
- Upstream: https://github.com/richgel999/jpeg-compressor
- Version: 1.04
- License: Public domain
Files extracted from upstream source:
jpgd.{c,h}
libogg
- Upstream: https://www.xiph.org/ogg
- Version: 1.3.2
- License: BSD-3-Clause
Files extracted from upstream source:
src/*.c
include/ogg/*.h
in ogg/- COPYING
libpng
- Upstream: http://libpng.org/pub/png/libpng.html
- Version: 1.6.28
- License: libpng/zlib
Files extracted from upstream source:
- all .c and .h files of the main directory, except from
example.c
andpngtest.c
- the arm/ folder
scripts/pnglibconf.h.prebuilt
aspnglibconf.h
libsimplewebm
- Upstream: https://github.com/zaps166/libsimplewebm
- Version: 05cfdc2 (git)
- License: MIT, BSD-3-Clause
libvorbis
- Upstream: https://www.xiph.org/vorbis
- Version: 1.3.5
- License: BSD-3-Clause
Files extracted from upstream source:
src/*
except from:lookups.pl
,Makefile.*
include/vorbis/*.h
as vorbis/- COPYING
libvpx
- Upstream: http://www.webmproject.org/code/
- Version: 1.6.0
- License: BSD-3-Clause
libwebp
- Upstream: https://chromium.googlesource.com/webm/libwebp/
- Version: 0.6.0
- License: BSD-3-Clause
Files extracted from upstream source:
src/*
except from: .am, .rc and .in files- AUTHORS, COPYING, PATENTS
Important: The files utils/bit_reader_utils.{c,h}
have Godot-made
changes to ensure they build for Javascript/HTML5. Those
changes are marked with // -- GODOT --
comments.
minizip
- Upstream: http://www.zlib.net
- Version: 1.2.4 (zlib contrib)
- License: zlib
Files extracted from the upstream source:
- contrib/minizip/{crypt.h,ioapi.{c,h},zip.{c,h},unzip.{c,h}}
Important: Some files have Godot-made changes for use in core/io. TODO: Properly sync with version 1.2.4 and document changes.
misc
Collection of single-file libraries used in Godot.
aes256.{cpp,h}
- Upstream: http://www.literatecode.com/aes256
- Version: latest, as of April 2017
- License: ISC
base64.{c,h}
- Upstream: http://episec.com/people/edelkind/c.html
- Version: latest, as of April 2017
- License: Public Domain
fastlz.{c,h}
- Upstream: https://code.google.com/archive/p/fastlz
- Version: svn (r12)
- License: MIT
hq2x.{cpp,h}
- Upstream: https://github.com/brunexgeek/hqx
- Version: TBD, file structure differs
- License: Apache 2.0
md5.{cpp,h}
- Upstream: http://www.efgh.com/software/md5.htm
- Version: TBD, might not be latest from above URL
- License: RSA Message-Digest License
pcg.{cpp,h}
- Upstream: http://www.pcg-random.org
- Version: minimal C implemention, http://www.pcg-random.org/download.html
- License: Apache 2.0
sha256.{c,h}
- Upstream: https://github.com/ilvn/SHA256
- Version: git (35ff823, 2015)
- License: ISC
smaz.{c,h}
- Upstream: https://github.com/antirez/smaz
- Version: git (150e125, 2009)
- License: BSD 3-clause
- Modifications: use
const char*
instead ofchar*
for input string
triangulator.{cpp,h}
- Upstream: https://github.com/ivanfratric/polypartition (
src/polypartition.cpp
) - Version: TBD, class was renamed
- License: MIT
- Upstream: https://github.com/ivanfratric/polypartition (
openssl
- Upstream: https://www.openssl.org
- Version: 1.0.2h
- License: OpenSSL license / BSD-like
Files extracted from the upstream source:
TODO.
opus
- Upstream: https://opus-codec.org
- Version: 1.1.4 (opus) and 0.8 (opusfile)
- License: BSD-3-Clause
Files extracted from upstream source:
- all .c and .h files in src/ (both opus and opusfile),
except
opus_demo.c
- all .h files in include/ (both opus and opusfile) as opus/
- celt/ and silk/ subfolders
- COPYING
pvrtccompressor
- Upstream: https://bitbucket.org/jthlim/pvrtccompressor
- Version: hg commit cf71777 - 2015-01-08
- License: BSD-3-Clause
Files extracted from upstream source:
- all .cpp and .h files apart from
main.cpp
- LICENSE.TXT
rg-etc1
- Upstream: https://github.com/richgel999/rg-etc1
- Version: 1.04
- License: zlib
Files extracted from upstream source:
rg_etc1.{cpp,h}
rtaudio
- Upstream: http://www.music.mcgill.ca/~gary/rtaudio/
- Version: 4.1.2
- License: MIT-like
Files extracted from upstream source:
RtAudio.{cpp,h}
squish
- Upstream: https://sourceforge.net/projects/libsquish
- Version: 1.15
- License: MIT
Files extracted from upstream source:
- all .cpp, .h and .inl files
theora
- Upstream: https://www.theora.org
- Version: 1.1.1
- License: BSD-3-Clause
Files extracted from upstream source:
- all .c, .h in lib/
- all .h files in include/theora/ as theora/
- COPYING and LICENSE
zlib
- Upstream: http://www.zlib.net/
- Version: 1.2.11
- License: zlib
Files extracted from upstream source:
- all .c and .h files