diff --git a/data/resources/thirdparty.html b/data/resources/thirdparty.html
index 4961ce3a5..443e2180c 100644
--- a/data/resources/thirdparty.html
+++ b/data/resources/thirdparty.html
@@ -1535,30 +1535,6 @@ THE SOFTWARE.
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
-
-
-The MIT License (MIT)
-
-Copyright (c) 2006-2013 Brodie Thiesfield
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-the Software, and to permit persons to whom the Software is furnished to do so,
-subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-
Tencent is pleased to support the open source community by making
RapidJSON available.
diff --git a/dep/CMakeLists.txt b/dep/CMakeLists.txt
index dc7372747..ea5fb53cd 100644
--- a/dep/CMakeLists.txt
+++ b/dep/CMakeLists.txt
@@ -20,8 +20,6 @@ add_subdirectory(xxhash EXCLUDE_FROM_ALL)
disable_compiler_warnings_for_target(xxhash)
add_subdirectory(imgui EXCLUDE_FROM_ALL)
disable_compiler_warnings_for_target(imgui)
-add_subdirectory(simpleini EXCLUDE_FROM_ALL)
-disable_compiler_warnings_for_target(simpleini)
add_subdirectory(vulkan EXCLUDE_FROM_ALL)
add_subdirectory(googletest EXCLUDE_FROM_ALL)
add_subdirectory(fast_float EXCLUDE_FROM_ALL)
diff --git a/dep/simpleini/CMakeLists.txt b/dep/simpleini/CMakeLists.txt
deleted file mode 100644
index e557ed5a0..000000000
--- a/dep/simpleini/CMakeLists.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-set(SRCS
- include/ConvertUTF.h
- include/SimpleIni.h
- src/ConvertUTF.c
-)
-
-add_library(simpleini ${SRCS})
-target_include_directories(simpleini PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/include" "${CMAKE_CURRENT_SOURCE_DIR}/src")
-target_include_directories(simpleini INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}/include")
diff --git a/dep/simpleini/LICENCE.txt b/dep/simpleini/LICENCE.txt
deleted file mode 100644
index 88aefbcdb..000000000
--- a/dep/simpleini/LICENCE.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2006-2022 Brodie Thiesfield
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-the Software, and to permit persons to whom the Software is furnished to do so,
-subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/dep/simpleini/include/ConvertUTF.h b/dep/simpleini/include/ConvertUTF.h
deleted file mode 100644
index 6ecc819cb..000000000
--- a/dep/simpleini/include/ConvertUTF.h
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * Copyright 2001-2004 Unicode, Inc.
- *
- * Disclaimer
- *
- * This source code is provided as is by Unicode, Inc. No claims are
- * made as to fitness for any particular purpose. No warranties of any
- * kind are expressed or implied. The recipient agrees to determine
- * applicability of information provided. If this file has been
- * purchased on magnetic or optical media from Unicode, Inc., the
- * sole remedy for any claim will be exchange of defective media
- * within 90 days of receipt.
- *
- * Limitations on Rights to Redistribute This Code
- *
- * Unicode, Inc. hereby grants the right to freely use the information
- * supplied in this file in the creation of products supporting the
- * Unicode Standard, and to make copies of this file in any form
- * for internal or external distribution as long as this notice
- * remains attached.
- */
-
-/* ---------------------------------------------------------------------
-
- Conversions between UTF32, UTF-16, and UTF-8. Header file.
-
- Several functions are included here, forming a complete set of
- conversions between the three formats. UTF-7 is not included
- here, but is handled in a separate source file.
-
- Each of these routines takes pointers to input buffers and output
- buffers. The input buffers are const.
-
- Each routine converts the text between *sourceStart and sourceEnd,
- putting the result into the buffer between *targetStart and
- targetEnd. Note: the end pointers are *after* the last item: e.g.
- *(sourceEnd - 1) is the last item.
-
- The return result indicates whether the conversion was successful,
- and if not, whether the problem was in the source or target buffers.
- (Only the first encountered problem is indicated.)
-
- After the conversion, *sourceStart and *targetStart are both
- updated to point to the end of last text successfully converted in
- the respective buffers.
-
- Input parameters:
- sourceStart - pointer to a pointer to the source buffer.
- The contents of this are modified on return so that
- it points at the next thing to be converted.
- targetStart - similarly, pointer to pointer to the target buffer.
- sourceEnd, targetEnd - respectively pointers to the ends of the
- two buffers, for overflow checking only.
-
- These conversion functions take a ConversionFlags argument. When this
- flag is set to strict, both irregular sequences and isolated surrogates
- will cause an error. When the flag is set to lenient, both irregular
- sequences and isolated surrogates are converted.
-
- Whether the flag is strict or lenient, all illegal sequences will cause
- an error return. This includes sequences such as: , ,
- or in UTF-8, and values above 0x10FFFF in UTF-32. Conformant code
- must check for illegal sequences.
-
- When the flag is set to lenient, characters over 0x10FFFF are converted
- to the replacement character; otherwise (when the flag is set to strict)
- they constitute an error.
-
- Output parameters:
- The value "sourceIllegal" is returned from some routines if the input
- sequence is malformed. When "sourceIllegal" is returned, the source
- value will point to the illegal value that caused the problem. E.g.,
- in UTF-8 when a sequence is malformed, it points to the start of the
- malformed sequence.
-
- Author: Mark E. Davis, 1994.
- Rev History: Rick McGowan, fixes & updates May 2001.
- Fixes & updates, Sept 2001.
-
------------------------------------------------------------------------- */
-
-/* ---------------------------------------------------------------------
- The following 4 definitions are compiler-specific.
- The C standard does not guarantee that wchar_t has at least
- 16 bits, so wchar_t is no less portable than unsigned short!
- All should be unsigned values to avoid sign extension during
- bit mask & shift operations.
------------------------------------------------------------------------- */
-
-typedef unsigned int UTF32; /* at least 32 bits */
-typedef unsigned short UTF16; /* at least 16 bits */
-typedef unsigned char UTF8; /* typically 8 bits */
-typedef unsigned char Boolean; /* 0 or 1 */
-
-/* Some fundamental constants */
-#define UNI_REPLACEMENT_CHAR (UTF32)0x0000FFFD
-#define UNI_MAX_BMP (UTF32)0x0000FFFF
-#define UNI_MAX_UTF16 (UTF32)0x0010FFFF
-#define UNI_MAX_UTF32 (UTF32)0x7FFFFFFF
-#define UNI_MAX_LEGAL_UTF32 (UTF32)0x0010FFFF
-
-typedef enum {
- conversionOK, /* conversion successful */
- sourceExhausted, /* partial character in source, but hit end */
- targetExhausted, /* insufficient room in target for conversion */
- sourceIllegal /* source sequence is illegal/malformed */
-} ConversionResult;
-
-typedef enum {
- strictConversion = 0,
- lenientConversion
-} ConversionFlags;
-
-/* This is for C++ and does no harm in C */
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-ConversionResult ConvertUTF8toUTF16 (
- const UTF8** sourceStart, const UTF8* sourceEnd,
- UTF16** targetStart, UTF16* targetEnd, ConversionFlags flags);
-
-ConversionResult ConvertUTF16toUTF8 (
- const UTF16** sourceStart, const UTF16* sourceEnd,
- UTF8** targetStart, UTF8* targetEnd, ConversionFlags flags);
-
-ConversionResult ConvertUTF8toUTF32 (
- const UTF8** sourceStart, const UTF8* sourceEnd,
- UTF32** targetStart, UTF32* targetEnd, ConversionFlags flags);
-
-ConversionResult ConvertUTF32toUTF8 (
- const UTF32** sourceStart, const UTF32* sourceEnd,
- UTF8** targetStart, UTF8* targetEnd, ConversionFlags flags);
-
-ConversionResult ConvertUTF16toUTF32 (
- const UTF16** sourceStart, const UTF16* sourceEnd,
- UTF32** targetStart, UTF32* targetEnd, ConversionFlags flags);
-
-ConversionResult ConvertUTF32toUTF16 (
- const UTF32** sourceStart, const UTF32* sourceEnd,
- UTF16** targetStart, UTF16* targetEnd, ConversionFlags flags);
-
-Boolean isLegalUTF8Sequence(const UTF8 *source, const UTF8 *sourceEnd);
-
-#ifdef __cplusplus
-}
-#endif
-
-/* --------------------------------------------------------------------- */
diff --git a/dep/simpleini/include/SimpleIni.h b/dep/simpleini/include/SimpleIni.h
deleted file mode 100644
index 9681487db..000000000
--- a/dep/simpleini/include/SimpleIni.h
+++ /dev/null
@@ -1,3646 +0,0 @@
-/** @mainpage
-
-
- | Library | SimpleIni
- |
|---|
| File | SimpleIni.h
- |
|---|
| Author | Brodie Thiesfield
- |
|---|
| Source | https://github.com/brofield/simpleini
- |
|---|
| Version | 4.22
- |
|---|
-
- Jump to the @link CSimpleIniTempl CSimpleIni @endlink interface documentation.
-
- @section intro INTRODUCTION
-
- This component allows an INI-style configuration file to be used on both
- Windows and Linux/Unix. It is fast, simple and source code using this
- component will compile unchanged on either OS.
-
- @section features FEATURES
-
- - MIT Licence allows free use in all software (including GPL and commercial)
- - multi-platform (Windows CE/9x/NT..10/etc, Linux, MacOSX, Unix)
- - loading and saving of INI-style configuration files
- - configuration files can have any newline format on all platforms
- - liberal acceptance of file format
- - key/values with no section
- - removal of whitespace around sections, keys and values
- - support for multi-line values (values with embedded newline characters)
- - optional support for multiple keys with the same name
- - optional case-insensitive sections and keys (for ASCII characters only)
- - saves files with sections and keys in the same order as they were loaded
- - preserves comments on the file, section and keys where possible.
- - supports both char or wchar_t programming interfaces
- - supports both MBCS (system locale) and UTF-8 file encodings
- - system locale does not need to be UTF-8 on Linux/Unix to load UTF-8 file
- - support for non-ASCII characters in section, keys, values and comments
- - support for non-standard character types or file encodings
- via user-written converter classes
- - support for adding/modifying values programmatically
- - should compile cleanly without warning usually at the strictest warning level
- - it has been tested with the following compilers:
- - Windows/VC6 (warning level 3)
- - Windows/VC.NET 2003 (warning level 4)
- - Windows/VC 2005 (warning level 4)
- - Windows/VC 2019 (warning level 4)
- - Linux/gcc (-Wall)
- - Mac OS/c++ (-Wall)
-
- @section usage USAGE SUMMARY
-
- -# Decide if you will be using utf8 or MBCS files, and working with the
- data in utf8, wchar_t or ICU chars.
- -# If you will only be using straight utf8 files and access the data via the
- char interface, then you do not need any conversion library and could define
- SI_NO_CONVERSION. Note that no conversion also means no validation of the data.
- If no converter is specified then the default converter is SI_CONVERT_GENERIC
- on Mac/Linux and SI_CONVERT_WIN32 on Windows. If you need widechar support on
- Mac/Linux then use either SI_CONVERT_GENERIC or SI_CONVERT_ICU. These are also
- supported on all platforms.
- -# Define the appropriate symbol for the converter you wish to use and
- include the SimpleIni.h header file.
- -# Declare an instance of the appropriate class. Note that the following
- definitions are just shortcuts for commonly used types. Other types
- (PRUnichar, unsigned short, unsigned char) are also possible.
-
- | Interface | Case-sensitive | Load UTF-8 | Load MBCS | Typedef
- |
|---|
| SI_NO_CONVERSION
- |
|---|
| char | No | Yes | No | CSimpleIniA
- |
| char | Yes | Yes | No | CSimpleIniCaseA
- |
| SI_CONVERT_GENERIC
- |
|---|
| char | No | Yes | Yes #1 | CSimpleIniA
- |
| char | Yes | Yes | Yes | CSimpleIniCaseA
- |
| wchar_t | No | Yes | Yes | CSimpleIniW
- |
| wchar_t | Yes | Yes | Yes | CSimpleIniCaseW
- |
| SI_CONVERT_WIN32
- |
|---|
| char | No | No #2 | Yes | CSimpleIniA
- |
| char | Yes | Yes | Yes | CSimpleIniCaseA
- |
| wchar_t | No | Yes | Yes | CSimpleIniW
- |
| wchar_t | Yes | Yes | Yes | CSimpleIniCaseW
- |
| SI_CONVERT_ICU
- |
|---|
| char | No | Yes | Yes | CSimpleIniA
- |
| char | Yes | Yes | Yes | CSimpleIniCaseA
- |
| UChar | No | Yes | Yes | CSimpleIniW
- |
| UChar | Yes | Yes | Yes | CSimpleIniCaseW
- |
- #1 On Windows you are better to use CSimpleIniA with SI_CONVERT_WIN32.
- #2 Only affects Windows. On Windows this uses MBCS functions and
- so may fold case incorrectly leading to uncertain results.
- -# Set all the options that you require, see all the Set*() options below.
- The SetUnicode() option is very common and can be specified in the constructor.
- -# Call LoadData() or LoadFile() to load and parse the INI configuration file
- -# Access and modify the data of the file using the following functions
-
- | GetAllSections | Return all section names
- |
| GetAllKeys | Return all key names within a section
- |
| GetAllValues | Return all values within a section & key
- |
| GetSection | Return all key names and values in a section
- |
| GetSectionSize | Return the number of keys in a section
- |
| GetValue | Return a value for a section & key
- |
| SetValue | Add or update a value for a section & key
- |
| Delete | Remove a section, or a key from a section
- |
| SectionExists | Does a section exist?
- |
| KeyExists | Does a key exist?
- |
- -# Call Save() or SaveFile() to save the INI configuration data
-
- @section iostreams IO STREAMS
-
- SimpleIni supports reading from and writing to STL IO streams. Enable this
- by defining SI_SUPPORT_IOSTREAMS before including the SimpleIni.h header
- file. Ensure that if the streams are backed by a file (e.g. ifstream or
- ofstream) then the flag ios_base::binary has been used when the file was
- opened.
-
- @section multiline MULTI-LINE VALUES
-
- Values that span multiple lines are created using the following format.
-
-
- key = <<
-
- Note the following:
- - The text used for ENDTAG can be anything and is used to find
- where the multi-line text ends.
- - The newline after ENDTAG in the start tag, and the newline
- before ENDTAG in the end tag is not included in the data value.
- - The ending tag must be on it's own line with no whitespace before
- or after it.
- - The multi-line value is modified at load so that each line in the value
- is delimited by a single '\\n' character on all platforms. At save time
- it will be converted into the newline format used by the current
- platform.
-
- @section comments COMMENTS
-
- Comments are preserved in the file within the following restrictions:
- - Every file may have a single "file comment". It must start with the
- first character in the file, and will end with the first non-comment
- line in the file.
- - Every section may have a single "section comment". It will start
- with the first comment line following the file comment, or the last
- data entry. It ends at the beginning of the section.
- - Every key may have a single "key comment". This comment will start
- with the first comment line following the section start, or the file
- comment if there is no section name.
- - Comments are set at the time that the file, section or key is first
- created. The only way to modify a comment on a section or a key is to
- delete that entry and recreate it with the new comment. There is no
- way to change the file comment.
-
- @section save SAVE ORDER
-
- The sections and keys are written out in the same order as they were
- read in from the file. Sections and keys added to the data after the
- file has been loaded will be added to the end of the file when it is
- written. There is no way to specify the location of a section or key
- other than in first-created, first-saved order.
-
- @section notes NOTES
-
- - To load UTF-8 data on Windows 95, you need to use Microsoft Layer for
- Unicode, or SI_CONVERT_GENERIC, or SI_CONVERT_ICU.
- - When using SI_CONVERT_GENERIC, ConvertUTF.c must be compiled and linked.
- - When using SI_CONVERT_ICU, ICU header files must be on the include
- path and icuuc.lib must be linked in.
- - To load a UTF-8 file on Windows AND expose it with SI_CHAR == char,
- you should use SI_CONVERT_GENERIC.
- - The collation (sorting) order used for sections and keys returned from
- iterators is NOT DEFINED. If collation order of the text is important
- then it should be done yourself by either supplying a replacement
- SI_STRLESS class, or by sorting the strings external to this library.
- - Usage of the header on Windows can be disabled by defining
- SI_NO_MBCS. This is defined automatically on Windows CE platforms.
- - Not thread-safe so manage your own locking
-
- @section contrib CONTRIBUTIONS
-
- Many thanks to the following contributors:
-
- - 2010/05/03: Tobias Gehrig: added GetDoubleValue()
- - See list of many contributors in github
-
- @section licence MIT LICENCE
-
- The licence text below is the boilerplate "MIT Licence" used from:
- http://www.opensource.org/licenses/mit-license.php
-
- Copyright (c) 2006-2024, Brodie Thiesfield
-
- Permission is hereby granted, free of charge, to any person obtaining a copy
- of this software and associated documentation files (the "Software"), to deal
- in the Software without restriction, including without limitation the rights
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- copies of the Software, and to permit persons to whom the Software is furnished
- to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be included in
- all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
- FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
- COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
- IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-*/
-
-#ifndef INCLUDED_SimpleIni_h
-#define INCLUDED_SimpleIni_h
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-// Disable these warnings in MSVC:
-// 4127 "conditional expression is constant" as the conversion classes trigger
-// it with the statement if (sizeof(SI_CHAR) == sizeof(char)). This test will
-// be optimized away in a release build.
-// 4503 'insert' : decorated name length exceeded, name was truncated
-// 4702 "unreachable code" as the MS STL header causes it in release mode.
-// Again, the code causing the warning will be cleaned up by the compiler.
-// 4786 "identifier truncated to 256 characters" as this is thrown hundreds
-// of times VC6 as soon as STL is used.
-#ifdef _MSC_VER
-# pragma warning (push)
-# pragma warning (disable: 4127 4503 4702 4786)
-#endif
-
-#include
-#include
-#include
-#include