From 8312d421c6805d4bd25ce4f2937515cdfa43cb5d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi=20Verschelde?= <rverschelde@gmail.com>
Date: Fri, 28 Apr 2017 18:29:15 +0200
Subject: [PATCH] Move core thirdparty files to thirdparty/{minizip,misc}

(cherry picked from commit 2398eb6ed4832fd7b8eec778981cbd974b89634f)
---
 core/SCsub                                    | 44 +++++++++++++++--
 core/bind/core_bind.cpp                       |  4 +-
 core/image.cpp                                |  5 +-
 core/io/SCsub                                 |  2 -
 core/io/compression.cpp                       |  8 ++--
 core/io/file_access_encrypted.cpp             | 13 +++--
 core/io/file_access_zip.h                     |  4 +-
 core/io/sha-README.md                         |  5 --
 core/io/zip_io.h                              |  5 +-
 core/os/file_access.cpp                       |  6 ++-
 core/ustring.cpp                              |  6 ++-
 editor/editor_import_export.cpp               |  4 +-
 .../editor_texture_import_plugin.cpp          |  4 +-
 scene/2d/collision_polygon_2d.cpp             |  5 +-
 scene/2d/navigation_polygon.cpp               |  4 +-
 thirdparty/README.md                          | 48 +++++++++++++++++++
 .../minizip}/LICENSE-InfoZip.txt              |  0
 .../minizip}/LICENSE-MiniZip.txt              |  0
 {core/io => thirdparty/minizip}/crypt.h       |  0
 {core/io => thirdparty/minizip}/ioapi.c       |  0
 {core/io => thirdparty/minizip}/ioapi.h       |  0
 {core/io => thirdparty/minizip}/unzip.c       |  0
 {core/io => thirdparty/minizip}/unzip.h       |  0
 {core/io => thirdparty/minizip}/zip.c         |  0
 {core/io => thirdparty/minizip}/zip.h         |  0
 {core/io => thirdparty/misc}/aes256.cpp       |  0
 {core/io => thirdparty/misc}/aes256.h         |  0
 {core/io => thirdparty/misc}/base64.c         |  0
 {core/io => thirdparty/misc}/base64.h         |  0
 {core/io => thirdparty/misc}/fastlz.c         |  0
 {core/io => thirdparty/misc}/fastlz.h         |  0
 {core => thirdparty/misc}/hq2x.cpp            |  0
 {core => thirdparty/misc}/hq2x.h              |  0
 {core/io => thirdparty/misc}/md5.cpp          |  4 +-
 {core/io => thirdparty/misc}/md5.h            |  0
 {core/io => thirdparty/misc}/sha256.c         |  0
 {core/io => thirdparty/misc}/sha256.h         |  0
 .../math => thirdparty/misc}/triangulator.cpp |  0
 {core/math => thirdparty/misc}/triangulator.h |  0
 39 files changed, 137 insertions(+), 34 deletions(-)
 delete mode 100644 core/io/sha-README.md
 rename {core/io => thirdparty/minizip}/LICENSE-InfoZip.txt (100%)
 rename {core/io => thirdparty/minizip}/LICENSE-MiniZip.txt (100%)
 rename {core/io => thirdparty/minizip}/crypt.h (100%)
 rename {core/io => thirdparty/minizip}/ioapi.c (100%)
 rename {core/io => thirdparty/minizip}/ioapi.h (100%)
 rename {core/io => thirdparty/minizip}/unzip.c (100%)
 rename {core/io => thirdparty/minizip}/unzip.h (100%)
 rename {core/io => thirdparty/minizip}/zip.c (100%)
 rename {core/io => thirdparty/minizip}/zip.h (100%)
 rename {core/io => thirdparty/misc}/aes256.cpp (100%)
 rename {core/io => thirdparty/misc}/aes256.h (100%)
 rename {core/io => thirdparty/misc}/base64.c (100%)
 rename {core/io => thirdparty/misc}/base64.h (100%)
 rename {core/io => thirdparty/misc}/fastlz.c (100%)
 rename {core/io => thirdparty/misc}/fastlz.h (100%)
 rename {core => thirdparty/misc}/hq2x.cpp (100%)
 rename {core => thirdparty/misc}/hq2x.h (100%)
 rename {core/io => thirdparty/misc}/md5.cpp (99%)
 rename {core/io => thirdparty/misc}/md5.h (100%)
 rename {core/io => thirdparty/misc}/sha256.c (100%)
 rename {core/io => thirdparty/misc}/sha256.h (100%)
 rename {core/math => thirdparty/misc}/triangulator.cpp (100%)
 rename {core/math => thirdparty/misc}/triangulator.h (100%)

diff --git a/core/SCsub b/core/SCsub
index c22a2090405..e9da08c8395 100644
--- a/core/SCsub
+++ b/core/SCsub
@@ -5,6 +5,7 @@ Import('env')
 env.core_sources = []
 
 
+# Generate global defaults
 gd_call = ""
 gd_inc = ""
 
@@ -21,6 +22,8 @@ f = open("global_defaults.cpp", "wb")
 f.write(gd_cpp)
 f.close()
 
+
+# Generate AES256 script encryption key
 import os
 txt = "0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0"
 if ("SCRIPT_AES256_ENCRYPTION_KEY" in os.environ):
@@ -49,20 +52,55 @@ f.write("#include \"globals.h\"\nuint8_t script_encryption_key[32]={" + txt + "}
 f.close()
 
 
+# Add required thirdparty code. Header paths are hardcoded, we don't need to append
+# to the include path (saves a few chars on the compiler invocation for touchy MSVC...)
+thirdparty_dir = "#thirdparty/misc/"
+thirdparty_sources = [
+	# C sources
+	"base64.c",
+	"fastlz.c",
+	"sha256.c",
+
+	# C++ sources
+	"aes256.cpp",
+	"hq2x.cpp",
+	"md5.cpp",
+	"triangulator.cpp",
+]
+thirdparty_sources = [thirdparty_dir + file for file in thirdparty_sources]
+env.add_source_files(env.core_sources, thirdparty_sources)
+
+# Minizip library, can be unbundled in theory
+# However, our version has some custom modifications, so it won't compile with the system one
+thirdparty_minizip_dir = "#thirdparty/minizip/"
+thirdparty_minizip_sources = [
+	"ioapi.c",
+	"unzip.c",
+	"zip.c",
+]
+thirdparty_minizip_sources = [thirdparty_minizip_dir + file for file in thirdparty_minizip_sources]
+env.add_source_files(env.core_sources, thirdparty_minizip_sources)
+
+
+# Godot's own source
 env.add_source_files(env.core_sources, "*.cpp")
 
 
-Export('env')
-
+# Make binders
 import make_binders
 env.Command(['method_bind.inc', 'method_bind_ext.inc'], 'make_binders.py', make_binders.run)
 
+
+# Chain load SCsubs
 SConscript('os/SCsub')
 SConscript('math/SCsub')
 SConscript('io/SCsub')
 SConscript('bind/SCsub')
 SConscript('helper/SCsub')
 
-lib = env.Library("core", env.core_sources)
 
+# Build it all as a library
+lib = env.Library("core", env.core_sources)
 env.Prepend(LIBS=[lib])
+
+Export('env')
diff --git a/core/bind/core_bind.cpp b/core/bind/core_bind.cpp
index c38ef1d830b..3ebffd38076 100644
--- a/core/bind/core_bind.cpp
+++ b/core/bind/core_bind.cpp
@@ -28,14 +28,16 @@
 /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                */
 /*************************************************************************/
 #include "core_bind.h"
+
 #include "core/globals.h"
 #include "geometry.h"
-#include "io/base64.h"
 #include "io/file_access_encrypted.h"
 #include "io/marshalls.h"
 #include "os/keyboard.h"
 #include "os/os.h"
 
+#include "thirdparty/misc/base64.h"
+
 /**
  *  Time constants borrowed from loc_time.h
  */
diff --git a/core/image.cpp b/core/image.cpp
index 5b04da609a3..66f898c704b 100644
--- a/core/image.cpp
+++ b/core/image.cpp
@@ -28,11 +28,14 @@
 /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                */
 /*************************************************************************/
 #include "image.h"
+
 #include "core/io/image_loader.h"
 #include "core/os/copymem.h"
 #include "hash_map.h"
-#include "hq2x.h"
 #include "print_string.h"
+
+#include "thirdparty/misc/hq2x.h"
+
 #include <stdio.h>
 
 const char *Image::format_names[Image::FORMAT_MAX] = {
diff --git a/core/io/SCsub b/core/io/SCsub
index 6789aa8bc6f..4efc9027176 100644
--- a/core/io/SCsub
+++ b/core/io/SCsub
@@ -3,7 +3,5 @@
 Import('env')
 
 env.add_source_files(env.core_sources, "*.cpp")
-env.add_source_files(env.core_sources, "*.c")
-# env.core_sources.append("io/fastlz.c")
 
 Export('env')
diff --git a/core/io/compression.cpp b/core/io/compression.cpp
index 652f60966a5..672b8399c42 100644
--- a/core/io/compression.cpp
+++ b/core/io/compression.cpp
@@ -28,12 +28,14 @@
 /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                */
 /*************************************************************************/
 #include "compression.h"
-#include "os/copymem.h"
-#include "zlib.h"
 
-#include "fastlz.h"
+#include "os/copymem.h"
 #include "zip_io.h"
 
+#include "thirdparty/misc/fastlz.h"
+
+#include <zlib.h>
+
 int Compression::compress(uint8_t *p_dst, const uint8_t *p_src, int p_src_size, Mode p_mode) {
 
 	switch (p_mode) {
diff --git a/core/io/file_access_encrypted.cpp b/core/io/file_access_encrypted.cpp
index 2625e5fe344..f2b33a01bb6 100644
--- a/core/io/file_access_encrypted.cpp
+++ b/core/io/file_access_encrypted.cpp
@@ -28,15 +28,18 @@
 /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                */
 /*************************************************************************/
 #include "file_access_encrypted.h"
-#include "aes256.h"
-#include "md5.h"
-#include "os/copymem.h"
-#include "print_string.h"
-#define COMP_MAGIC 0x43454447
 
 #include "core/variant.h"
+#include "os/copymem.h"
+#include "print_string.h"
+
+#include "thirdparty/misc/aes256.h"
+#include "thirdparty/misc/md5.h"
+
 #include <stdio.h>
 
+#define COMP_MAGIC 0x43454447
+
 Error FileAccessEncrypted::open_and_parse(FileAccess *p_base, const Vector<uint8_t> &p_key, Mode p_mode) {
 
 	//print_line("open and parse!");
diff --git a/core/io/file_access_zip.h b/core/io/file_access_zip.h
index 8c3cd3ae672..c9cc2dac79e 100644
--- a/core/io/file_access_zip.h
+++ b/core/io/file_access_zip.h
@@ -34,7 +34,9 @@
 
 #include "core/io/file_access_pack.h"
 #include "map.h"
-#include "unzip.h"
+
+#include "thirdparty/minizip/unzip.h"
+
 #include <stdlib.h>
 
 class ZipArchive : public PackSource {
diff --git a/core/io/sha-README.md b/core/io/sha-README.md
deleted file mode 100644
index 27a73cffe73..00000000000
--- a/core/io/sha-README.md
+++ /dev/null
@@ -1,5 +0,0 @@
-SHA256
-======
-
-SHA-256 implementation to compliment a portable byte-oriented AES-256 
-implementation in C at http://www.literatecode.com/aes256 
diff --git a/core/io/zip_io.h b/core/io/zip_io.h
index d5af0424999..88e680c0e0e 100644
--- a/core/io/zip_io.h
+++ b/core/io/zip_io.h
@@ -30,11 +30,12 @@
 #ifndef ZIP_IO_H
 #define ZIP_IO_H
 
-#include "io/unzip.h"
-#include "io/zip.h"
 #include "os/copymem.h"
 #include "os/file_access.h"
 
+#include "thirdparty/minizip/unzip.h"
+#include "thirdparty/minizip/zip.h"
+
 static void *zipio_open(void *data, const char *p_fname, int mode) {
 
 	FileAccess *&f = *(FileAccess **)data;
diff --git a/core/os/file_access.cpp b/core/os/file_access.cpp
index 3d5745fc0e4..e24691c3a4d 100644
--- a/core/os/file_access.cpp
+++ b/core/os/file_access.cpp
@@ -28,13 +28,15 @@
 /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                */
 /*************************************************************************/
 #include "file_access.h"
+
 #include "core/io/file_access_pack.h"
 #include "core/io/marshalls.h"
 #include "globals.h"
-#include "io/md5.h"
-#include "io/sha256.h"
 #include "os/os.h"
 
+#include "thirdparty/misc/md5.h"
+#include "thirdparty/misc/sha256.h"
+
 FileAccess::CreateFunc FileAccess::create_func[ACCESS_MAX] = { 0, 0 };
 
 FileAccess::FileCloseFailNotify FileAccess::close_fail_notify = NULL;
diff --git a/core/ustring.cpp b/core/ustring.cpp
index 070db5cf8e9..394c68516ae 100644
--- a/core/ustring.cpp
+++ b/core/ustring.cpp
@@ -29,13 +29,15 @@
 /*************************************************************************/
 #include "ustring.h"
 #include "color.h"
-#include "io/md5.h"
-#include "io/sha256.h"
 #include "math_funcs.h"
 #include "os/memory.h"
 #include "print_string.h"
 #include "ucaps.h"
 #include "variant.h"
+
+#include "thirdparty/misc/md5.h"
+#include "thirdparty/misc/sha256.h"
+
 #include <wchar.h>
 #define MAX_DIGITS 6
 #define UPPERCASE(m_c) (((m_c) >= 'a' && (m_c) <= 'z') ? ((m_c) - ('a' - 'A')) : (m_c))
diff --git a/editor/editor_import_export.cpp b/editor/editor_import_export.cpp
index 82400336070..e17b58cfc25 100644
--- a/editor/editor_import_export.cpp
+++ b/editor/editor_import_export.cpp
@@ -28,13 +28,13 @@
 /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                */
 /*************************************************************************/
 #include "editor_import_export.h"
+
 #include "editor/editor_file_system.h"
 #include "editor/plugins/script_editor_plugin.h"
 #include "editor_node.h"
 #include "editor_settings.h"
 #include "globals.h"
 #include "io/config_file.h"
-#include "io/md5.h"
 #include "io/resource_loader.h"
 #include "io/resource_saver.h"
 #include "io/zip_io.h"
@@ -44,6 +44,8 @@
 #include "script_language.h"
 #include "version.h"
 
+#include "thirdparty/misc/md5.h"
+
 String EditorImportPlugin::validate_source_path(const String &p_path) {
 
 	String gp = Globals::get_singleton()->globalize_path(p_path);
diff --git a/editor/io_plugins/editor_texture_import_plugin.cpp b/editor/io_plugins/editor_texture_import_plugin.cpp
index d9aec3df22d..e5122210889 100644
--- a/editor/io_plugins/editor_texture_import_plugin.cpp
+++ b/editor/io_plugins/editor_texture_import_plugin.cpp
@@ -28,19 +28,21 @@
 /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                */
 /*************************************************************************/
 #include "editor_texture_import_plugin.h"
+
 #include "editor/editor_node.h"
 #include "editor/editor_settings.h"
 #include "editor_atlas.h"
 #include "globals.h"
 #include "io/image_loader.h"
 #include "io/marshalls.h"
-#include "io/md5.h"
 #include "io/resource_saver.h"
 #include "scene/gui/button_group.h"
 #include "scene/gui/check_button.h"
 #include "scene/gui/margin_container.h"
 #include "scene/io/resource_format_image.h"
 
+#include "thirdparty/misc/md5.h"
+
 static const char *flag_names[] = {
 	("Streaming Format"),
 	("Fix Border Alpha"),
diff --git a/scene/2d/collision_polygon_2d.cpp b/scene/2d/collision_polygon_2d.cpp
index bdc3903cf49..0abef06cf35 100644
--- a/scene/2d/collision_polygon_2d.cpp
+++ b/scene/2d/collision_polygon_2d.cpp
@@ -28,10 +28,13 @@
 /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                */
 /*************************************************************************/
 #include "collision_polygon_2d.h"
+
 #include "collision_object_2d.h"
 #include "scene/resources/concave_polygon_shape_2d.h"
 #include "scene/resources/convex_polygon_shape_2d.h"
-#include "triangulator.h"
+
+#include "thirdparty/misc/triangulator.h"
+
 void CollisionPolygon2D::_add_to_collision_object(Object *p_obj) {
 
 	if (unparenting || !can_update_body)
diff --git a/scene/2d/navigation_polygon.cpp b/scene/2d/navigation_polygon.cpp
index ca11983cf39..e677c3f6aa9 100644
--- a/scene/2d/navigation_polygon.cpp
+++ b/scene/2d/navigation_polygon.cpp
@@ -28,9 +28,11 @@
 /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                */
 /*************************************************************************/
 #include "navigation_polygon.h"
+
 #include "core_string_names.h"
 #include "navigation2d.h"
-#include "triangulator.h"
+
+#include "thirdparty/misc/triangulator.h"
 
 void NavigationPolygon::set_vertices(const DVector<Vector2> &p_vertices) {
 
diff --git a/thirdparty/README.md b/thirdparty/README.md
index 5b2139393b8..65d97f030d4 100644
--- a/thirdparty/README.md
+++ b/thirdparty/README.md
@@ -121,6 +121,54 @@ 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
+- `sha256.{c,h}`
+  * Upstream: https://github.com/ilvn/SHA256
+  * Version: git (35ff823, 2015)
+  * License: ISC
+- `triangulator.{cpp,h}`
+  * Upstream: https://github.com/ivanfratric/polypartition (`src/polypartition.cpp`)
+  * Version: TBD, class was renamed
+  * License: MIT
+
+
 ## openssl
 
 - Upstream: https://www.openssl.org
diff --git a/core/io/LICENSE-InfoZip.txt b/thirdparty/minizip/LICENSE-InfoZip.txt
similarity index 100%
rename from core/io/LICENSE-InfoZip.txt
rename to thirdparty/minizip/LICENSE-InfoZip.txt
diff --git a/core/io/LICENSE-MiniZip.txt b/thirdparty/minizip/LICENSE-MiniZip.txt
similarity index 100%
rename from core/io/LICENSE-MiniZip.txt
rename to thirdparty/minizip/LICENSE-MiniZip.txt
diff --git a/core/io/crypt.h b/thirdparty/minizip/crypt.h
similarity index 100%
rename from core/io/crypt.h
rename to thirdparty/minizip/crypt.h
diff --git a/core/io/ioapi.c b/thirdparty/minizip/ioapi.c
similarity index 100%
rename from core/io/ioapi.c
rename to thirdparty/minizip/ioapi.c
diff --git a/core/io/ioapi.h b/thirdparty/minizip/ioapi.h
similarity index 100%
rename from core/io/ioapi.h
rename to thirdparty/minizip/ioapi.h
diff --git a/core/io/unzip.c b/thirdparty/minizip/unzip.c
similarity index 100%
rename from core/io/unzip.c
rename to thirdparty/minizip/unzip.c
diff --git a/core/io/unzip.h b/thirdparty/minizip/unzip.h
similarity index 100%
rename from core/io/unzip.h
rename to thirdparty/minizip/unzip.h
diff --git a/core/io/zip.c b/thirdparty/minizip/zip.c
similarity index 100%
rename from core/io/zip.c
rename to thirdparty/minizip/zip.c
diff --git a/core/io/zip.h b/thirdparty/minizip/zip.h
similarity index 100%
rename from core/io/zip.h
rename to thirdparty/minizip/zip.h
diff --git a/core/io/aes256.cpp b/thirdparty/misc/aes256.cpp
similarity index 100%
rename from core/io/aes256.cpp
rename to thirdparty/misc/aes256.cpp
diff --git a/core/io/aes256.h b/thirdparty/misc/aes256.h
similarity index 100%
rename from core/io/aes256.h
rename to thirdparty/misc/aes256.h
diff --git a/core/io/base64.c b/thirdparty/misc/base64.c
similarity index 100%
rename from core/io/base64.c
rename to thirdparty/misc/base64.c
diff --git a/core/io/base64.h b/thirdparty/misc/base64.h
similarity index 100%
rename from core/io/base64.h
rename to thirdparty/misc/base64.h
diff --git a/core/io/fastlz.c b/thirdparty/misc/fastlz.c
similarity index 100%
rename from core/io/fastlz.c
rename to thirdparty/misc/fastlz.c
diff --git a/core/io/fastlz.h b/thirdparty/misc/fastlz.h
similarity index 100%
rename from core/io/fastlz.h
rename to thirdparty/misc/fastlz.h
diff --git a/core/hq2x.cpp b/thirdparty/misc/hq2x.cpp
similarity index 100%
rename from core/hq2x.cpp
rename to thirdparty/misc/hq2x.cpp
diff --git a/core/hq2x.h b/thirdparty/misc/hq2x.h
similarity index 100%
rename from core/hq2x.h
rename to thirdparty/misc/hq2x.h
diff --git a/core/io/md5.cpp b/thirdparty/misc/md5.cpp
similarity index 99%
rename from core/io/md5.cpp
rename to thirdparty/misc/md5.cpp
index 5a88328dd4f..1653ab0be51 100644
--- a/core/io/md5.cpp
+++ b/thirdparty/misc/md5.cpp
@@ -1,5 +1,3 @@
-#include "md5.h"
-
 /*
  **********************************************************************
  ** md5.c                                                            **
@@ -34,7 +32,7 @@
  */
 
 /* -- include the following line if the md5.h header file is separate -- */
-/* #include "md5.h" */
+#include "md5.h"
 
 /* forward declaration */
 static void Transform (uint32_t *buf, uint32_t *in);
diff --git a/core/io/md5.h b/thirdparty/misc/md5.h
similarity index 100%
rename from core/io/md5.h
rename to thirdparty/misc/md5.h
diff --git a/core/io/sha256.c b/thirdparty/misc/sha256.c
similarity index 100%
rename from core/io/sha256.c
rename to thirdparty/misc/sha256.c
diff --git a/core/io/sha256.h b/thirdparty/misc/sha256.h
similarity index 100%
rename from core/io/sha256.h
rename to thirdparty/misc/sha256.h
diff --git a/core/math/triangulator.cpp b/thirdparty/misc/triangulator.cpp
similarity index 100%
rename from core/math/triangulator.cpp
rename to thirdparty/misc/triangulator.cpp
diff --git a/core/math/triangulator.h b/thirdparty/misc/triangulator.h
similarity index 100%
rename from core/math/triangulator.h
rename to thirdparty/misc/triangulator.h