2016-10-09 21:36:17 +00:00
# Third party libraries
2019-08-05 09:48:54 +00:00
Please keep categories (`##` level) listed alphabetically and matching their
respective folder names. Use two empty lines to separate categories for
readability.
Subcategories (`###` level) where needed are separated by a single empty line.
2019-04-11 15:30:12 +00:00
2019-04-03 05:54:58 +00:00
## assimp
- Upstream: http://github.com/assimp/assimp
2020-03-09 09:42:18 +00:00
- Version: git (308db73d0b3c2d1870cd3e465eaa283692a4cf23, 2019)
2019-04-03 05:54:58 +00:00
- License: BSD-3-Clause
2020-03-06 12:31:52 +00:00
Files extracted from upstream source:
- Run `cmake .` in root folder to generate files
- `code/{CApi,Common,FBX,Material,PostProcessing}/`
- `contrib/utf8cpp/source/`
- `include/`
- `revision.h`
- `CREDITS` and `LICENSE` files
- `rm -f code/Common/ZipArchiveIOSystem.cpp include/assimp/ZipArchiveIOSystem.h
include/assimp/irrXMLWrapper.h`
2016-10-09 21:36:17 +00:00
2019-09-27 07:05:04 +00:00
## basis_universal
- Upstream: https://github.com/BinomialLLC/basis_universal
2020-05-01 08:48:15 +00:00
- Version: git (895ee8ee7e04f22267f8d16d46de04d5a01d63ac, 2020)
2019-09-27 07:05:04 +00:00
- License: Apache 2.0
Files extracted from upstream source:
2020-03-09 23:17:52 +00:00
- `.cpp` and `.h` files in root folder except for `basisu_tool.cpp` (contains `main` and can cause link error)
2019-09-27 07:05:04 +00:00
- `.cpp` , `.h` and `.inc` files in `transcoder/` , keeping folder structure
- `LICENSE`
2018-01-13 13:01:53 +00:00
## bullet
- Upstream: https://github.com/bulletphysics/bullet3
2020-12-17 12:51:12 +00:00
- Version: 3.07 (e32fc59c88a3908876949c6f2665e8d091d987fa, 2020)
2018-01-13 13:01:53 +00:00
- License: zlib
Files extracted from upstream source:
- src/* apart from CMakeLists.txt and premake4.lua files
- LICENSE.txt
2017-02-08 23:07:44 +00:00
## certs
2018-02-16 16:58:43 +00:00
- Upstream: Mozilla, via https://apps.fedoraproject.org/packages/ca-certificates
2020-05-01 08:48:15 +00:00
- Version: 2018.2.26 (2018)
2018-01-22 10:11:51 +00:00
- License: MPL 2.0
2017-02-08 23:07:44 +00:00
2018-02-16 16:58:43 +00:00
File extracted from a recent Fedora install:
/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
(It can't be extracted directly from the package,
as it's generated on the user's system.)
2017-02-08 23:07:44 +00:00
2018-08-22 02:56:04 +00:00
## cvtt
- Upstream: https://github.com/elasota/cvtt
2020-05-01 08:48:15 +00:00
- Version: 1.0.0-beta4 (2018)
2018-08-22 02:56:04 +00:00
- License: MIT
Files extracted from upstream source:
- all .cpp, .h, and .txt files in ConvectionKernels/
2020-07-20 16:35:34 +00:00
## doctest
- Upstream: https://github.com/onqtam/doctest
2020-11-20 11:42:08 +00:00
- Version: 8424be5 (2.4.1)
2020-07-20 16:35:34 +00:00
- License: MIT
Extracted from .zip provided. Extracted license and header only.
2016-10-10 17:50:51 +00:00
## enet
- Upstream: http://enet.bespin.org
2020-04-21 10:26:42 +00:00
- Version: 1.3.15 (224f31101fc60939c02f6bbe8e8fc810a7db306b, 2020)
2016-10-10 17:50:51 +00:00
- License: MIT
Files extracted from upstream source:
2017-03-08 20:13:03 +00:00
- all .c files in the main directory (except unix.c win32.c)
- the include/enet/ folder as enet/ (except unix.h win32.h)
2016-10-10 17:50:51 +00:00
- LICENSE file
2017-03-08 20:13:03 +00:00
Important: enet.h, host.c, protocol.c have been slightly modified
2020-04-21 10:26:42 +00:00
to be usable by godot socket implementation and allow IPv6 and DTLS.
Apply the patches in the `patches/` folder when syncing on newer upstream
2020-01-05 18:05:42 +00:00
commits.
2017-03-23 12:27:41 +00:00
Two files (godot.cpp and enet/godot.h) have been added to provide
2017-03-08 20:13:03 +00:00
enet socket implementation using Godot classes.
2020-01-05 18:05:42 +00:00
2017-03-23 12:27:41 +00:00
It is still possible to build against a system wide ENet but doing so
2020-04-21 10:26:42 +00:00
will limit its functionality to IPv4 only.
2016-10-10 17:50:51 +00:00
2017-04-26 15:49:08 +00:00
## etc2comp
- Upstream: https://github.com/google/etc2comp
2020-05-01 08:48:15 +00:00
- Version: git (9cd0f9cae0f32338943699bb418107db61bb66f2, 2017)
2018-01-13 13:44:16 +00:00
- License: Apache 2.0
2017-04-26 15:49:08 +00:00
Files extracted from upstream source:
- all .cpp and .h files in EtcLib/
- README.md, LICENSE, AUTHORS
2018-02-26 09:47:58 +00:00
Important: Some files have Godot-made changes.
They are marked with `// -- GODOT start --` and `// -- GODOT end --`
comments.
2017-04-26 15:49:08 +00:00
2018-06-07 08:46:05 +00:00
2017-02-08 23:07:44 +00:00
## fonts
2017-08-31 12:49:48 +00:00
### Noto Sans
2017-02-08 23:07:44 +00:00
2017-08-31 12:49:48 +00:00
- Upstream: https://github.com/googlei18n/noto-fonts
2020-05-01 08:48:15 +00:00
- Version: 1.06 (2017)
2017-08-31 12:49:48 +00:00
- License: OFL-1.1
2018-01-13 13:44:16 +00:00
Use UI font variant if available, because it has tight vertical metrics and good for UI.
2017-02-08 23:07:44 +00:00
2017-09-16 00:46:00 +00:00
### Hack Regular
2017-08-31 12:31:46 +00:00
2017-09-16 00:46:00 +00:00
- Upstream: https://github.com/source-foundry/Hack
2020-05-01 08:48:15 +00:00
- Version: 3.003 (2018)
2017-12-15 09:25:12 +00:00
- License: MIT + Bitstream Vera License
2017-08-31 12:31:46 +00:00
2017-08-31 12:49:48 +00:00
### DroidSans*.ttf
2018-01-13 13:44:16 +00:00
- Upstream: https://android.googlesource.com/platform/frameworks/base/+/master/data/fonts/
- Version: ? (pre-2014 commit when DroidSansJapanese.ttf was obsoleted)
- License: Apache 2.0
2017-08-31 12:49:48 +00:00
2020-08-05 06:25:28 +00:00
### Tamsyn
- Upstream: http://www.fial.com/~scott/tamsyn-font/
- Version: 1.11
- License: Tamsyn
Extracted "0..9,A..F" characters for hex code printing.
2017-02-08 23:07:44 +00:00
2016-10-14 19:57:43 +00:00
## freetype
- Upstream: https://www.freetype.org
2020-10-19 17:15:54 +00:00
- Version: 2.10.4 (2020)
2016-10-14 19:57:43 +00:00
- License: FreeType License (BSD-like)
Files extracted from upstream source:
2019-07-11 07:48:08 +00:00
- the `src/` folder, stripped of the `Jamfile` files and the `tools` subfolder
- the `include/` folder
2016-10-14 19:57:43 +00:00
- `docs/{FTL.TXT,LICENSE.TXT}`
2019-06-22 16:34:26 +00:00
## glslang
- Upstream: https://github.com/KhronosGroup/glslang
2020-10-15 10:04:10 +00:00
- Version: git (bacaef3237c515e40d1a24722be48c0a0b30f75f, 2020)
2019-06-22 16:34:26 +00:00
- License: glslang
2020-03-09 08:35:55 +00:00
Version should be kept in sync with the one of the used Vulkan SDK (see `vulkan`
section). Check Vulkan-ValidationLayers at the matching SDK tag for the known
good glslang commit: https://github.com/KhronosGroup/Vulkan-ValidationLayers/blob/master/scripts/known_good.json
Files extracted from upstream source:
2020-10-15 10:04:10 +00:00
- `glslang` (except `glslang/HLSL` ), `OGLCompilersDLL` , `SPIRV`
- `StandAlone/{DirStackFileIncluder.h,ResourceLimits.{cpp,h}}`
- Run `cmake . && make` and copy generated `include/glslang/build_info.h`
to `glslang/build_info.h`
2020-03-09 08:35:55 +00:00
- `LICENSE.txt`
2020-10-15 10:04:10 +00:00
- Unnecessary files like `CMakeLists.txt` and `updateGrammar` removed.
2020-03-09 08:35:55 +00:00
Patches in the `patches` directory should be re-applied after updates.
2019-06-22 16:34:26 +00:00
2020-08-11 09:10:23 +00:00
## Graphite engine
- Upstream: https://github.com/silnrsi/graphite
- Version: 1.3.14
- License: MPL-2.0
Files extracted from upstream source:
- the `include` folder
- the `src` folder
- `COPYING` , `ChangeLog`
## HarfBuzz
- Upstream: https://github.com/harfbuzz/harfbuzz
- Version: 2.7.2
- License: HarfBuzz
Files extracted from upstream source:
- the `src` folder
- `AUTHORS` , `COPYING` , `NEWS` , `THANKS`
## International Components for Unicode
- Upstream: https://github.com/unicode-org/icu
2020-12-18 21:02:48 +00:00
- Version: 68.2
2020-08-11 09:10:23 +00:00
- License: Unicode
Files extracted from upstream source:
- the `common` folder
- `APIChangeReport.md` , `LICENSE`
Files generated from upstream source:
- the `icudt68l.dat` built with the provided `godot_data.json` config file (see https://github.com/unicode-org/icu/blob/master/docs/userguide/icu_data/buildtool.md for instructions)
2019-08-05 09:48:54 +00:00
2016-10-09 22:03:33 +00:00
## jpeg-compressor
- Upstream: https://github.com/richgel999/jpeg-compressor
2020-05-18 12:22:37 +00:00
- Version: 2.00 (aeb7d3b463aa8228b87a28013c15ee50a7e6fcf3, 2020)
2016-10-09 22:03:33 +00:00
- License: Public domain
Files extracted from upstream source:
2020-04-21 09:30:48 +00:00
- `jpgd*.{c,h}`
2016-10-09 22:03:33 +00:00
2016-10-12 18:37:38 +00:00
## libogg
- Upstream: https://www.xiph.org/ogg
2020-05-01 08:48:15 +00:00
- Version: git (c8fca6b4a02d695b1ceea39b330d4406001c03ed, 2019)
2016-10-12 18:37:38 +00:00
- License: BSD-3-Clause
Files extracted from upstream source:
2019-10-31 22:30:36 +00:00
- `src/*.{c,h}`
2016-10-14 16:58:24 +00:00
- `include/ogg/*.h` in ogg/
2016-10-12 18:37:38 +00:00
- COPYING
2016-10-09 21:36:17 +00:00
## libpng
- Upstream: http://libpng.org/pub/png/libpng.html
2020-05-01 08:48:15 +00:00
- Version: 1.6.37 (2019)
2016-10-09 21:36:17 +00:00
- License: libpng/zlib
Files extracted from upstream source:
2016-10-14 16:58:24 +00:00
- all .c and .h files of the main directory, except from
`example.c` and `pngtest.c`
2016-10-09 21:36:17 +00:00
- the arm/ folder
2016-10-14 16:58:24 +00:00
- `scripts/pnglibconf.h.prebuilt` as `pnglibconf.h`
2018-07-28 08:56:24 +00:00
- `LICENSE`
2016-10-11 18:44:26 +00:00
2016-10-17 15:13:34 +00:00
## libsimplewebm
- Upstream: https://github.com/zaps166/libsimplewebm
2020-05-01 08:48:15 +00:00
- Version: git (fe57fd3cfe6c0af4c6af110b1f84a90cf191d943, 2019)
2019-02-21 20:36:43 +00:00
- License: MIT (main), BSD-3-Clause (libwebm)
This contains libwebm, but the version in use is updated from the one used by libsimplewebm,
and may have *unmarked* alterations from that.
2016-10-17 15:13:34 +00:00
2017-01-05 22:09:29 +00:00
Files extracted from upstream source:
2019-02-21 20:36:43 +00:00
- all the .cpp, .hpp files in the main folder except `example.cpp`
- LICENSE
2017-01-05 22:09:29 +00:00
2018-02-26 09:47:58 +00:00
Important: Some files have Godot-made changes.
They are marked with `// -- GODOT start --` and `// -- GODOT end --`
comments.
2016-10-17 15:13:34 +00:00
2019-07-20 18:47:07 +00:00
2017-08-27 10:16:36 +00:00
## libtheora
- Upstream: https://www.theora.org
2020-05-01 08:48:15 +00:00
- Version: 1.1.1 (2010)
2017-08-27 10:16:36 +00:00
- 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
2019-01-23 11:02:34 +00:00
Upstream patches included in the `patches` directory have been applied
on top of the 1.1.1 source (not included in any stable release yet).
2017-08-27 10:16:36 +00:00
2016-10-12 18:37:38 +00:00
## libvorbis
- Upstream: https://www.xiph.org/vorbis
2020-05-01 08:48:15 +00:00
- Version: 1.3.6 (2018)
2016-10-12 18:37:38 +00:00
- License: BSD-3-Clause
Files extracted from upstream source:
2016-10-14 16:58:24 +00:00
- `src/*` except from: `lookups.pl` , `Makefile.*`
- `include/vorbis/*.h` as vorbis/
2016-10-12 18:37:38 +00:00
- COPYING
2016-09-14 20:10:03 +00:00
## libvpx
2018-01-13 13:44:16 +00:00
- Upstream: https://chromium.googlesource.com/webm/libvpx/
2020-05-01 08:48:15 +00:00
- Version: 1.6.0 (2016)
2016-09-14 20:10:03 +00:00
- License: BSD-3-Clause
2017-01-05 22:09:29 +00:00
Files extracted from upstream source:
TODO.
2017-12-14 14:15:06 +00:00
Important: File `libvpx/vpx_dsp/x86/vpx_subpixel_8t_intrin_avx2.c` has
Godot-made change marked with `// -- GODOT --` comments.
2018-12-20 09:38:05 +00:00
The files `libvpx/third_party/android/cpu-features.{c,h}` were copied
from the Android NDK r18.
2016-09-14 20:10:03 +00:00
2016-10-11 21:35:58 +00:00
## libwebp
- Upstream: https://chromium.googlesource.com/webm/libwebp/
2020-05-01 08:48:15 +00:00
- Version: 1.1.0 (2020)
2016-10-11 21:35:58 +00:00
- License: BSD-3-Clause
2016-10-14 19:57:43 +00:00
Files extracted from upstream source:
2016-10-11 21:35:58 +00:00
2017-02-17 14:49:40 +00:00
- `src/*` except from: .am, .rc and .in files
2016-10-11 21:35:58 +00:00
- AUTHORS, COPYING, PATENTS
2017-02-17 14:49:40 +00:00
Important: The files `utils/bit_reader_utils.{c,h}` have Godot-made
2016-10-11 21:35:58 +00:00
changes to ensure they build for Javascript/HTML5. Those
changes are marked with `// -- GODOT --` comments.
2018-06-07 08:46:05 +00:00
## mbedtls
2018-02-08 18:04:43 +00:00
- Upstream: https://tls.mbed.org/
2020-12-18 20:22:37 +00:00
- Version: 2.16.9 (2020)
2018-02-08 18:04:43 +00:00
- License: Apache 2.0
2020-07-02 13:13:55 +00:00
File extracted from upstream release tarball:
2020-01-26 17:06:09 +00:00
2018-03-28 15:26:33 +00:00
- All `*.h` from `include/mbedtls/` to `thirdparty/mbedtls/include/mbedtls/`
- All `*.c` from `library/` to `thirdparty/mbedtls/library/`
2019-11-12 07:55:43 +00:00
- LICENSE and apache-2.0.txt files
- Applied the patch in `thirdparty/mbedtls/patches/1453.diff` (PR 1453).
2019-04-11 15:30:12 +00:00
Soon to be merged upstream. Check it out at next update.
2020-03-10 08:11:16 +00:00
- Applied the patch in `thirdparty/mbedtls/patches/padlock.diff` . This disables
VIA padlock support which defines a symbol `unsupported` which clashes with
a pre-defined symbol.
2019-07-02 01:06:52 +00:00
- Added 2 files `godot_core_mbedtls_platform.{c,h}` providing configuration
for light bundling with core.
2019-04-11 15:30:12 +00:00
2020-12-17 18:56:59 +00:00
2020-12-12 12:06:59 +00:00
## meshoptimizer
- Upstream: https://github.com/zeux/meshoptimizer
2020-12-17 18:56:59 +00:00
- Version: 0.15 (2020)
2020-12-12 12:06:59 +00:00
- License: MIT
File extracted from upstream release tarball:
2020-12-17 18:56:59 +00:00
- All files in `src/` .
Important: Some files have Godot-made changes.
They can be applied with the patch in the `patches` folder, but are meant to be superseded
by upstream API changes.
2020-12-12 12:06:59 +00:00
2018-02-08 18:04:43 +00:00
2018-05-11 00:00:16 +00:00
## miniupnpc
- Upstream: https://github.com/miniupnp/miniupnp/tree/master/miniupnpc
2020-05-01 08:48:15 +00:00
- Version: git (44366328661826603982d1e0d7ebb4062c5f2bfc, 2020)
2018-05-11 00:00:16 +00:00
- License: BSD-3-Clause
2019-11-12 08:06:31 +00:00
Files extracted from upstream source:
- All `*.c` and `*.h` files from `miniupnpc` to `thirdparty/miniupnpc/miniupnpc`
- Remove `test*` , `minihttptestserver.c` and `wingenminiupnpcstrings.c`
2019-06-30 15:31:51 +00:00
2020-02-06 15:00:32 +00:00
The patch `windows_fix.diff` is applied to `minissdpc.c` to fix an upstream issue.
2019-03-04 13:50:50 +00:00
The only modified file is miniupnpcstrings.h, which was created for Godot
(it is usually autogenerated by cmake).
2018-05-11 00:00:16 +00:00
2018-06-07 08:46:05 +00:00
2017-04-28 16:29:15 +00:00
## minizip
- Upstream: http://www.zlib.net
2020-05-01 08:48:15 +00:00
- Version: 1.2.11 (zlib contrib, 2017)
2017-04-28 16:29:15 +00:00
- 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.
2017-08-18 21:20:22 +00:00
They are marked with `/* GODOT start */` and `/* GODOT end */`
comments and a patch is provided in the minizip/ folder.
2017-04-28 16:29:15 +00:00
## misc
2017-04-28 17:28:21 +00:00
Collection of single-file libraries used in Godot components.
### core
2017-04-28 16:29:15 +00:00
2019-07-02 01:06:52 +00:00
- `clipper.{cpp,hpp}`
2018-06-07 08:46:05 +00:00
* Upstream: https://sourceforge.net/projects/polyclipping
2020-05-01 08:48:15 +00:00
* Version: 6.4.2 (2017) + Godot changes (added optional exceptions handling)
2018-06-07 08:46:05 +00:00
* License: BSL-1.0
2020-03-28 12:29:29 +00:00
- `cubemap_coeffs.h`
* Upstream: https://research.activision.com/publications/archives/fast-filtering-of-reflection-probes
2020-05-01 08:48:15 +00:00
File coeffs_const_8.txt (retrieved April 2020)
2020-03-28 12:29:29 +00:00
* License: MIT
2017-04-28 16:29:15 +00:00
- `fastlz.{c,h}`
2018-01-13 13:44:16 +00:00
* Upstream: https://github.com/ariya/FastLZ
2020-04-30 12:24:03 +00:00
* Version: 0.5.0 (4f20f54d46f5a6dd4fae4def134933369b7602d2, 2020)
2017-04-28 16:29:15 +00:00
* License: MIT
- `hq2x.{cpp,h}`
* Upstream: https://github.com/brunexgeek/hqx
* Version: TBD, file structure differs
* License: Apache 2.0
2018-12-20 09:38:05 +00:00
- `open-simplex-noise.{c,h}`
* Upstream: https://github.com/smcameron/open-simplex-noise-in-c
2020-12-04 08:38:42 +00:00
* Version: git (826f1dd1724e6fb3ff45f58e48c0fbae864c3403, 2020) + custom changes
2018-12-20 09:38:05 +00:00
* License: Unlicense
2017-04-28 16:29:15 +00:00
- `pcg.{cpp,h}`
* Upstream: http://www.pcg-random.org
2017-11-28 15:18:22 +00:00
* Version: minimal C implementation, http://www.pcg-random.org/download.html
2017-04-28 16:29:15 +00:00
* License: Apache 2.0
2020-05-11 12:36:46 +00:00
- `r128.h`
* Upstream: https://github.com/fahickman/r128
2020-05-16 08:59:56 +00:00
* Version: git (423f693617faafd01de21e92818add4208eb8bd1, 2020)
2020-05-11 12:36:46 +00:00
* License: Public Domain
Split thirdparty smaz.c out of compressed_translation.cpp
Code comes from https://github.com/antirez/smaz/blob/150e125cbae2e8fd20dd332432776ce13395d4d4/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
```
2017-04-28 17:00:11 +00:00
- `smaz.{c,h}`
* Upstream: https://github.com/antirez/smaz
2020-05-01 08:48:15 +00:00
* Version: git (150e125cbae2e8fd20dd332432776ce13395d4d4, 2009)
2018-01-13 13:44:16 +00:00
* License: BSD-3-Clause
Split thirdparty smaz.c out of compressed_translation.cpp
Code comes from https://github.com/antirez/smaz/blob/150e125cbae2e8fd20dd332432776ce13395d4d4/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
```
2017-04-28 17:00:11 +00:00
* Modifications: use `const char*` instead of `char*` for input string
2020-05-11 12:36:46 +00:00
- `stb_rect_pack.h`
* Upstream: https://github.com/nothings/stb
* Version: 1.00 (2019)
* License: Public Domain (Unlicense) or MIT
2017-04-28 16:29:15 +00:00
- `triangulator.{cpp,h}`
* Upstream: https://github.com/ivanfratric/polypartition (`src/polypartition.cpp`)
* Version: TBD, class was renamed
* License: MIT
2017-04-28 17:28:21 +00:00
### modules
- `yuv2rgb.h`
* Upstream: http://wss.co.uk/pinknoise/yuv2rgb/ (to check)
* Version: ?
* License: BSD
2018-12-20 09:38:05 +00:00
### platform
- `ifaddrs-android.{cc,h}`
* Upstream: https://chromium.googlesource.com/external/webrtc/stable/talk/+/master/base/ifaddrs-android.h
2020-05-01 08:48:15 +00:00
* Version: git (5976650443d68ccfadf1dea24999ee459dd2819d, 2013)
2018-12-20 09:38:05 +00:00
* License: BSD-3-Clause
2017-04-28 17:28:21 +00:00
### scene
2018-09-28 13:59:21 +00:00
- `easing_equations.cpp`
* Upstream: http://robertpenner.com/easing/ via https://github.com/jesusgollonet/ofpennereasing (modified to fit Godot types)
2020-05-01 08:48:15 +00:00
* Version: git (af72c147c3a74e7e872aa28c7e2abfcced04fdce, 2008) + Godot types and style changes
2018-09-28 13:59:21 +00:00
* License: BSD-3-Clause
2017-04-28 17:28:21 +00:00
- `mikktspace.{c,h}`
2020-05-01 08:48:15 +00:00
* Upstream: https://archive.blender.org/wiki/index.php/Dev:Shading/Tangent_Space_Normal_Maps/
* Version: 1.0 (2011)
2017-04-28 17:28:21 +00:00
* License: zlib
- `stb_vorbis.c`
* Upstream: https://github.com/nothings/stb
2020-07-20 07:40:48 +00:00
* Version: 1.20
2017-04-28 17:28:21 +00:00
* License: Public Domain (Unlicense) or MIT
2017-12-15 07:04:51 +00:00
2017-08-27 11:32:23 +00:00
## nanosvg
- Upstream: https://github.com/memononen/nanosvg
2020-11-20 11:01:23 +00:00
- Version: git (3e403ec72a9145cbbcc6c63d94a4caf079aafec2, 2020)
2017-08-27 11:32:23 +00:00
- License: zlib
Files extracted from the upstream source:
- All .h files in `src/`
- LICENSE.txt
2018-06-07 08:46:05 +00:00
2020-05-11 12:36:46 +00:00
## oidn
- Upstream: https://github.com/OpenImageDenoise/oidn
2020-06-06 18:44:16 +00:00
- Version: 1.1.0 (c58c5216db05ceef4cde5a096862f2eeffd14c06, 2019)
2020-05-11 12:36:46 +00:00
- License: Apache 2.0
Files extracted from upstream source:
2020-06-06 17:03:16 +00:00
common/* (except tasking.* and CMakeLists.txt)
core/*
include/OpenImageDenoise/* (except version.h.in)
LICENSE.txt
mkl-dnn/include/*
mkl-dnn/src/* (except CMakeLists.txt)
weights/rtlightmap_hdr.tza
scripts/resource_to_cpp.py
Modified files:
2020-06-06 18:44:16 +00:00
Modifications are marked with `// -- GODOT start --` and `// -- GODOT end --` .
Patch files are provided in `oidn/patches/` .
2020-06-06 17:03:16 +00:00
core/autoencoder.cpp
core/autoencoder.h
core/common.h
core/device.cpp
core/device.h
core/transfer_function.cpp
scripts/resource_to_cpp.py (used in modules/denoise/resource_to_cpp.py)
2020-05-11 12:36:46 +00:00
2016-10-12 18:37:38 +00:00
## opus
- Upstream: https://opus-codec.org
2020-05-01 08:48:15 +00:00
- Version: 1.1.5 (opus) and 0.8 (opusfile) (2017)
2016-10-12 18:37:38 +00:00
- License: BSD-3-Clause
Files extracted from upstream source:
2019-02-28 13:23:53 +00:00
- all .c and .h files in src/ (both opus and opusfile)
2016-11-03 20:10:34 +00:00
- all .h files in include/ (both opus and opusfile) as opus/
2019-02-28 13:23:53 +00:00
- remove unused `opus_demo.c` ,
- remove `http.c` , `wincerts.c` and `winerrno.h` (part of
unused libopusurl)
2019-11-18 08:56:18 +00:00
- celt/ and silk/ subfolders
2016-10-12 18:37:38 +00:00
- COPYING
2017-11-18 23:24:31 +00:00
2017-08-07 15:13:15 +00:00
## pcre2
2019-07-11 08:27:11 +00:00
- Upstream: http://www.pcre.org
2020-05-01 08:48:15 +00:00
- Version: 10.34 (2019)
2017-08-07 15:13:15 +00:00
- License: BSD-3-Clause
Files extracted from upstream source:
2018-05-24 06:13:24 +00:00
- Files listed in the file NON-AUTOTOOLS-BUILD steps 1-4
2019-03-04 13:25:49 +00:00
- All .h files in src/ apart from pcre2posix.h
2018-05-24 06:13:24 +00:00
- src/pcre2_jit_match.c
- src/pcre2_jit_misc.c
- src/sljit/*
- AUTHORS and LICENCE
2016-10-12 18:37:38 +00:00
2017-11-18 23:24:31 +00:00
2016-10-11 18:44:26 +00:00
## pvrtccompressor
- Upstream: https://bitbucket.org/jthlim/pvrtccompressor
2020-05-01 08:48:15 +00:00
- Version: hg (cf7177748ee0dcdccfe89716dc11a47d2dc81af5, 2015)
2016-10-11 18:44:26 +00:00
- License: BSD-3-Clause
Files extracted from upstream source:
2016-10-14 16:58:24 +00:00
- all .cpp and .h files apart from `main.cpp`
2016-10-11 18:44:26 +00:00
- LICENSE.TXT
2017-11-18 23:24:31 +00:00
2017-09-13 17:24:43 +00:00
## recastnavigation
2017-02-28 12:10:29 +00:00
- Upstream: https://github.com/recastnavigation/recastnavigation
2020-04-30 13:16:13 +00:00
- Version: git (57610fa6ef31b39020231906f8c5d40eaa8294ae, 2019)
2017-09-13 17:24:43 +00:00
- License: zlib
2016-10-11 18:44:26 +00:00
2018-01-13 13:44:16 +00:00
Files extracted from upstream source:
2020-04-30 13:16:13 +00:00
- `Recast/` folder without `CMakeLists.txt`
2018-01-13 13:44:16 +00:00
- License.txt
2017-11-18 23:24:31 +00:00
2020-05-01 08:48:15 +00:00
## rvo2
2020-01-10 11:22:34 +00:00
- Upstream: http://gamma.cs.unc.edu/RVO2/
2020-05-01 08:48:15 +00:00
- Version: 3D - 1.0.1 (2016)
2020-01-10 11:22:34 +00:00
- License: Apache 2.0
Files extracted from upstream source:
2020-02-11 12:49:12 +00:00
- All .cpp and .h files in the `src/` folder except for RVO.h, RVOSimulator.cpp and RVOSimulator.h
2020-01-10 11:22:34 +00:00
- LICENSE
2020-02-10 14:24:00 +00:00
Important: Some files have Godot-made changes; so to enrich the features
originally proposed by this library and better integrate this library with
Godot. Please check the file to know what's new.
2020-01-10 11:22:34 +00:00
2016-10-13 19:48:06 +00:00
## squish
2016-10-13 19:52:16 +00:00
- Upstream: https://sourceforge.net/projects/libsquish
2020-05-01 08:48:15 +00:00
- Version: 1.15 (2017)
2016-10-13 19:48:06 +00:00
- License: MIT
Files extracted from upstream source:
- all .cpp, .h and .inl files
2017-11-18 23:24:31 +00:00
Important: Some files have Godot-made changes.
They are marked with `// -- GODOT start --` and `// -- GODOT end --`
comments and a patch is provided in the squish/ folder.
2016-10-13 19:48:06 +00:00
2017-05-27 11:41:18 +00:00
## tinyexr
- Upstream: https://github.com/syoyo/tinyexr
2020-09-09 20:06:04 +00:00
- Version: 1.0.0 (e4b7840d9448b7d57a88384ce26143004f3c0c71, 2020)
2017-05-27 11:41:18 +00:00
- License: BSD-3-Clause
Files extracted from upstream source:
- `tinyexr.{cc,h}`
2019-04-11 15:30:12 +00:00
## vhacd
- Upstream: https://github.com/kmammou/v-hacd
2020-05-01 08:48:15 +00:00
- Version: git (b07958e18e01d504e3af80eeaeb9f033226533d7, 2019)
2019-04-11 15:30:12 +00:00
- License: BSD-3-Clause
Files extracted from upstream source:
- From `src/VHACD_Lib/` : `inc` , `public` and `src`
- `LICENSE`
2019-04-11 15:48:49 +00:00
Some downstream changes have been made and are identified by
`// -- GODOT start --` and `// -- GODOT end --` comments.
They can be reapplied using the patches included in the `vhacd`
folder.
2019-04-11 15:30:12 +00:00
2019-08-05 09:48:54 +00:00
## vulkan
- Upstream: https://github.com/KhronosGroup/Vulkan-Loader
2020-10-15 10:04:10 +00:00
- Version: sdk-1.2.154.0 (2020)
2019-08-05 09:48:54 +00:00
- License: Apache 2.0
Unless there is a specific reason to package a more recent version, please stick
to Vulkan SDK releases (prefixed by `sdk-` ) for all components.
NOTE: Use `scripts/update_deps.py --ref <version>` in the Loader git repository
to retrieve the `Vulkan-Headers` repository matching the loader version.
Files extracted from upstream source:
- `Vulkan-Headers/include/` as `include/`
- All `.c` and `.h` files in `loader/` and `loader/generated/` , put in a common
`loader/` folder
- `LICENSE.txt`
2020-03-09 08:29:14 +00:00
`vk_enum_string_helper.h` is taken from the matching `Vulkan-ValidationLayers`
SDK release: https://github.com/KhronosGroup/Vulkan-ValidationLayers/blob/master/layers/generated/vk_enum_string_helper.h
2020-02-11 13:01:43 +00:00
`vk_mem_alloc.h` is taken from https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator
2020-05-01 08:48:15 +00:00
Version: 2.3.0 (2019)
2020-10-15 10:04:10 +00:00
`vk_mem_alloc.cpp` and `android/vk_mem_alloc.cpp` are Godot files and should be preserved on updates.
2020-02-11 13:01:43 +00:00
2020-03-09 14:23:42 +00:00
Patches in the `patches` directory should be re-applied after updates.
2019-08-05 09:48:54 +00:00
2019-07-20 18:47:07 +00:00
## wslay
- Upstream: https://github.com/tatsuhiro-t/wslay
2020-07-02 14:00:56 +00:00
- Version: 1.1.1 (2020)
2019-07-20 18:47:07 +00:00
- License: MIT
File extracted from upstream release tarball:
- All `*.c` and `*.h` in `lib/` and `lib/includes/`
- `wslay.h` has a small Godot addition to fix MSVC build.
See `thirdparty/wslay/msvcfix.diff`
2019-04-19 10:03:12 +00:00
## xatlas
- Upstream: https://github.com/jpcy/xatlas
2020-12-01 23:49:39 +00:00
- Version: git (5571fc7ef0d06832947c0a935ccdcf083f7a9264, 2020)
2019-04-19 10:03:12 +00:00
- License: MIT
Files extracted from upstream source:
- `xatlas.{cpp,h}`
2019-12-22 10:23:44 +00:00
- `LICENSE`
2019-04-19 10:03:12 +00:00
2016-10-14 16:58:24 +00:00
## zlib
2018-01-13 13:44:16 +00:00
- Upstream: http://www.zlib.net
2020-05-01 08:48:15 +00:00
- Version: 1.2.11 (2017)
2016-10-14 16:58:24 +00:00
- License: zlib
Files extracted from upstream source:
2017-01-05 21:30:02 +00:00
- all .c and .h files
2017-06-09 01:43:56 +00:00
2017-08-27 10:05:17 +00:00
2017-06-09 01:43:56 +00:00
## zstd
- Upstream: https://github.com/facebook/zstd
2020-09-18 19:38:36 +00:00
- Version: 1.4.5 (2020)
2017-06-09 01:43:56 +00:00
- License: BSD-3-Clause
Files extracted from upstream source:
2017-08-27 10:05:17 +00:00
- lib/{common/,compress/,decompress/,zstd.h}
2018-01-13 12:50:59 +00:00
- LICENSE