summaryrefslogtreecommitdiff
path: root/thirdparty/misc
AgeCommit message (Collapse)Author
2022-05-16Replace most uses of Map by HashMapreduz
* Map is unnecessary and inefficient in almost every case. * Replaced by the new HashMap. * Renamed Map to RBMap and Set to RBSet for cases that still make sense (order matters) but use is discouraged. There were very few cases where replacing by HashMap was undesired because keeping the key order was intended. I tried to keep those (as RBMap) as much as possible, but might have missed some. Review appreciated!
2022-03-20Add FastNoiseLite / general noise overhaulHendrik Brucker
- replace OpenSimplexNoise Co-authored-by: Cory Petkovsek <tinmanjuggernaut@users.noreply.github.com>
2022-02-25Merge pull request #58497 from JFonS/stb_rect_pack_upgradeRémi Verschelde
2022-02-24Upgrade stb_rect_pack to 1.01jfons
Enables large rectangle support by default.
2022-02-21Fixed issue with Godot modifications to polypartition.cpp third-party fileNova
2022-02-04Core: Move Vector2i to its own `vector2i.h` headerRémi Verschelde
Also reduce interdependencies and clean up a bit.
2021-09-24Refactor and move easing equationskobewi
2021-09-24Add a special case for 0-time interpolationskobewi
2021-09-09Replace stb_vorbis with libogg+libvorbisEllen Poe
2021-06-19Complete rewrite of TweensTomasz Chabora
* Tweens were changed from Node to RefCounted. New API is inspired by DOTween. * Tweens are created and managed by SceneTree, similar to SceneTreeTimer, which makes them ultra cheap to use a lot. * Animating with Tweens is done by creating sequences of Tweeners. You create them from code and they autostart by default (fire-and-forget). * There are 4 Tweeners that cover the former Tween functionality: PropertyTweener, IntervalTweener, CallbackTweener and MethodTweener. * The methods were simplified a lot. Long argument lists are replaced with chained calls on Tweens and Tweeners. * Tweeners by default execute in sequence, so it's easy to create complex chained animations. * You can bind a Tween to a node. Tween will be removed automatically when the bound node is freed.
2021-05-31Implement shader cachingreduz
* Shader compilation is now cached. Subsequent loads take less than a millisecond. * Improved game, editor and project manager startup time. * Editor uses .godot/shader_cache to store shaders. * Game uses user://shader_cache * Project manager uses $config_dir/shader_cache * Options to tweak shader caching in project settings. * Editor path configuration moved from EditorSettings to new class, EditorPaths, so it can be available early on (before shaders are compiled). * Reworked ShaderCompilerRD to ensure deterministic shader code creation (else shader may change and cache will be invalidated). * Added shader compression with SMOLV: https://github.com/aras-p/smol-v
2021-05-21Fix STL to Godot type convertion of polypartitionHaoyu Qiu
2021-01-12Update PolyPartition / Triangulator libraryAaron Franke
2021-01-08r128: Update to upstream 1.4.4, fixes warningsRémi Verschelde
2020-12-28Rename empty() to is_empty()Marcel Admiraal
2020-12-08Fix some easing equations' undefined behaviours.Fabio Alessandrelli
Spotted via -Wunsequenced. Easing equations had different behaviours depending on the toolchain due to its abusing of inline assignments.
2020-12-04Updated open-simplex to have const noise functionsSacha Waked
"open-simplex-noise-in-c" now updated to master and "opensimplex" module refactored accordingly
2020-11-09Update "open-simplex-noise-in-c" to fix undefined signed overflow.bruvzg
2020-11-07Reorganized core/ directory, it was too fatty alreadyreduz
-Removed FuncRef, since Callable makes it obsolete -Removed int_types.h as its obsolete in c++11+ -Changed color names code
2020-11-06Exposed randi_range to global funcs + renamed rand_range to randf_rangeYuri Roubinsky
2020-10-29Fix biased output of randi_rangeYuri Roubinsky
2020-07-20stb_vorbis: Update to upstream version 1.20Rémi Verschelde
Upstreams our crash fixes from #38422 and #40174.
2020-07-07stb_vorbis: Add missing error checks in comment reading mallocsRémi Verschelde
Backported from https://github.com/nothings/stb/pull/989. Fixes #40164.
2020-05-18Merge pull request #38711 from clayjohn/force-floatRémi Verschelde
Force using floats in cubemap coefficient
2020-05-16Remove HQ2X and the `Image.expand_2x_hq2x()` methodHugo Locurcio
As of Godot 3.0, HQ2X is no longer used to upscale the editor theme and icons on hiDPI displays, which limited its effective uses. HQ2X was also used to upscale the project theme when the "Use Hidpi" project setting was enabled, but results were often less than ideal. The new StyleBoxFlat and SVG support also make HQ2X less important to have as a core feature. This decreases binary sizes slightly (-150 KB on most platforms, -212 KB on WebAssembly release). This partially addresses #12419.
2020-05-16Update r128.h to include latest fix for mingw-64 32 bit builds.Marcel Admiraal
2020-05-12Force using floats in cubemap coefficientclayjohn
2020-05-11thirdparty: Cleanup after #38386, document provenance and copyrightRémi Verschelde
Also renamed `delaunay.h` to `delaunay_2d.h` to match the class name.
2020-05-03Fix crash in stb_vorbis.cPedro J. Estébanez
2020-04-30Merge pull request #38361 from akien-mga/stb_vorbis-1.19Rémi Verschelde
stb_vorbis: Update to upstream version 1.19
2020-04-30Merge pull request #38360 from akien-mga/drop-unused-curl_hostcheckRémi Verschelde
Drop now unused curl_hostcheck.c
2020-04-30stb_vorbis: Update to upstream version 1.19Rémi Verschelde
1.19 - 2020-02-05 - warnings 1.18 - 2020-02-02 - fix seek bugs; parse header comments; misc warnings etc.
2020-04-30Drop now unused curl_hostcheck.cRémi Verschelde
One less thirdparty library to document \o/
2020-04-30FastLZ: Update to upstream version 0.5.0Rémi Verschelde
Upstream development restarted after 13 years. Changes: 2020-02-02: Version 0.5.0 Minor speed improvement on the decompressor. Prevent memory violation when decompressing corrupted input. 2020-01-10: Version 0.4.0 Only code & infrastructure clean-up, no new functionality.
2020-03-28Fix copyright headers for recently added filesRémi Verschelde
2019-12-04Mono/C#: Several android fixesIgnacio Etcheverry
- Added correct config file for android dllmaps. - Fix __Internal DllImports with a dlopen fallback. - Add missing P/Invoke functions and internal calls expected by the monodroid BCL and our custom version of the 'Android.Runtime.AndroidEnvironment' class (this last one can be found in the godot-mono-builds repo). - Make sure to set 'btls' instead of 'legacy' as the default TLS provider on Android.
2019-11-10Update stb_vorbis to 1.17Jonathan Mannancheril
2019-10-03Remove unused stb_truetype-based DynamicFont implementationHugo Locurcio
The DynamicFont implementation currently in use is based on FreeType, which provides much better visual quality. This old implementation wasn't exposed anywhere, so this shouldn't break compatibility. This decreases binary sizes by a few kilobytes.
2019-07-11stb_vorbis: Update to upstream version 1.16Rémi Verschelde
2019-07-02CryptoCore class to access to base crypto utils.Fabio Alessandrelli
Godot core needs MD5/SHA256/AES/Base64 which used to be provided by separate libraries. Since we bundle mbedtls in most cases, and we can easily only include the needed sources if we so desire, let's use it. To simplify library changes in the future, and better isolate header dependencies all functions have been wrapped around inside a class in `core/math/crypto_base.h`. If the mbedtls module is disabled, we only bundle the needed source files independently of the `builtin_mbedtls` option. If the module is enabled, the `builtin_mbedtls` option works as usual. Also remove some unused headers from StreamPeerMbedTLS which were causing build issues.
2019-05-22Build Clipper with `tools=no` and patch it to auto-disable exceptionsAndrii Doroshenko (Xrayez)
Reverts "Build polygon clipper only in tools builds" (see #17319) which allows to build Clipper with tools disabled (release) and because of that, Clipper has to be patched to optionally disable exceptions in order to be built on some platforms. Patched Clipper 6.4.2 to be compiled with exceptions enabled/disabled. and ensure that Clipper-specific exception macros are defined: don't use exceptions by default unless exception handling is detected. Compilation with exceptions will be determined by various C++ exceptions defines: * ` __cpp_exceptions` is part of C++ feature testing macros (since C++98); * `__EXCEPTIONS` is used by some GNU compilers; * `_CPPUNWIND` is used by MSVC. The user can override specific exceptions behavior via corresponding `*_USER` macros (i.e. compiling for embedded systems).
2019-05-22Fix non UTF8-encoded thirdparty filesRémi Verschelde
2019-04-30Merge pull request #26051 from 20kdc/videofixRémi Verschelde
webm/theora/yuv2rgb/libsimplewebm: Fix colour issues I could find.
2019-03-27Properly setup seed in RNGChaosus
2019-03-04stb: Update to upstream stb_truetype 1.21 and stb_vorbis 1.15Rémi Verschelde
2019-02-21webm/theora/yuv2rgb: Fix YUV conversion issues and add BGRP WEBM handling. ↵20kdc
(Now clang-format friendly.) This should fix the various issues with colours in Ogg Theora and WEBM playback. (A reference project is attached to PR #26051, which this commit should be part of.) This version of the commit, rather than moving x->RGBA handling into libsimplewebm, uses a colourspace field added to libsimplewebm by a PR there. Thus, the commit that precedes this should be the synchronization & cleanup commit for that. Also, this version is now clang-format friendly. I hope.
2019-01-22base64.h: Fix return type mismatchRémi Verschelde
Fixes #25220.
2018-12-20Android: Better identify thirdparty C/C++ codeRémi Verschelde
- The `cpu-features.{c,h}` code was only used by chance by the webm (libvpx) code, so I moved it there. It was actually introduced before that and wasn't in use, and libvpx just happened to be able to compile thanks to it being bundled. It could potentially be compiled on the fly from the Android NDK, but since we plan to replace the webm module by a GDNative plugin in the near future, I went the bundling route. - `ifaddrs_android.h` is already provided in the Android NDK as `ifaddrs.h`, same as on other Unixes. Yet we cannot use it until we up the min API level to 24, where `getifaddrs` is first defined. I moved the files to `thirdparty/misc` and synced them with upstream WebRTC (only indentation changes and removal of `static` qualifiers). Also removes dropped thirdparty files from COPYRIGHT.txt after changes in #24105 and #24145.
2018-09-29Fix warning about functions defined but not used [-Wunused-function]Rémi Verschelde
Fixes the following GCC 5 warnings: ``` core/io/zip_io.h:128:26: warning: 'zlib_filefunc_def zipio_create_io_from_file(FileAccess**)' defined but not used [-Wunused-function] core/script_debugger_remote.cpp:110:17: warning: 'ObjectID safe_get_instance_id(const Variant&)' defined but not used [-Wunused-function] drivers/unix/socket_helpers.h:103:12: warning: 'int _socket_create(IP::Type&, int, int)' defined but not used [-Wunused-function] drivers/unix/socket_helpers.h:45:15: warning: 'size_t _set_sockaddr(sockaddr_storage*, const IP_Address&, int, IP::Type)' defined but not used [-Wunused-function] drivers/unix/socket_helpers.h:76:15: warning: 'size_t _set_listen_sockaddr(sockaddr_storage*, int, IP::Type, IP_Address)' defined but not used [-Wunused-function] editor/editor_fonts.cpp:40:24: warning: 'Ref<BitmapFont> make_font(int, int, int, int, const int*, const Ref<Texture>&)' defined but not used [-Wunused-function] editor/editor_themes.cpp:85:26: warning: 'Ref<StyleBoxFlat> change_border_color(Ref<StyleBoxFlat>, Color)' defined but not used [-Wunused-function] editor/import/editor_import_collada.cpp:493:13: warning: 'void _generate_normals(const PoolVector<int>&, const PoolVector<Vector3>&, PoolVector<Vector3>&)' defined but not used [-Wunused-function] editor/import/editor_import_collada.cpp:524:13: warning: 'void _generate_tangents_and_binormals(const PoolVector<int>&, const PoolVector<Vector3>&, const PoolVector<Vector3>&, const PoolVector<Vector3>&, PoolVector<float>&)' defined but not used [-Wunused-function] editor/pvrtc_compress.cpp:118:13: warning: 'void _compress_etc(Image*)' defined but not used [-Wunused-function] modules/etc/image_etc.cpp:89:13: warning: 'void _decompress_etc1(Image*)' defined but not used [-Wunused-function] modules/etc/image_etc.cpp:93:13: warning: 'void _decompress_etc2(Image*)' defined but not used [-Wunused-function] modules/gdscript/editor/gdscript_highlighter.cpp:46:13: warning: 'bool _is_whitespace(CharType)' defined but not used [-Wunused-function] scene/2d/cpu_particles_2d.cpp:510:14: warning: 'float rand_from_seed_m1_p1(uint32_t&)' defined but not used [-Wunused-function] scene/3d/cpu_particles.cpp:474:14: warning: 'float rand_from_seed_m1_p1(uint32_t&)' defined but not used [-Wunused-function] scene/resources/default_theme/default_theme.cpp:123:20: warning: 'Ref<Shader> make_shader(const char*, const char*, const char*)' defined but not used [-Wunused-function] scene/resources/default_theme/default_theme.cpp:130:24: warning: 'Ref<BitmapFont> make_font(int, int, int, int, const int*, const Ref<Texture>&)' defined but not used [-Wunused-function] ``` Had to split `core/io/zip_io.h` into header and .cpp file without 'static' keyword. Not fixed yet (static definition in header used in some files but not all): ``` modules/websocket/lws_helper.h:111:13: warning: 'void _lws_make_protocols(void*, int (*)(lws*, lws_callback_reasons, void*, void*, size_t), PoolVector<String>, _LWSRef**)' defined but not used [-Wunused-function] ``` Also fixed a couple other warnings missed in previous commits.
2018-09-28Move Penner easing equations to thirdparty/miscRémi Verschelde
It was Godot-ified and integrated into Tween originally (#628) without mention that it was thirdparty code, but it's actually derived from https://github.com/jesusgollonet/ofpennereasing. It's also very bad quality code and should be replaced by a better, properly-maintained library of easing equations.