You've already forked godot
							
							
				mirror of
				https://github.com/godotengine/godot.git
				synced 2025-11-03 11:50:27 +00:00 
			
		
		
		
	Cleanup various repository documentation files
- Reformat logo license as a plain text file. - Fix outdated links or references to SFC or Visual Script. - Tweak contents of `CONTRIBUTING.md` to highlight contributor docs more prominently, and make it easier to parse. - Tweak formatting and contents in `thirdparty/README.md` for consistency.
This commit is contained in:
		
							
								
								
									
										2
									
								
								.github/ISSUE_TEMPLATE/bug_report.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/ISSUE_TEMPLATE/bug_report.yml
									
									
									
									
										vendored
									
									
								
							@@ -59,7 +59,7 @@ body:
 | 
			
		||||
      - A small Godot project which reproduces the issue, with no unnecessary files included. Be sure to not include the `.godot` folder in the archive (but keep `project.godot`).
 | 
			
		||||
      - Required, unless the reproduction steps are trivial and don't require any project files to be followed. In this case, write "N/A" in the field.
 | 
			
		||||
      - Drag and drop a ZIP archive to upload it. **Do not select another field until the project is done uploading.**
 | 
			
		||||
      - **Note for C# users:** If your issue is *not* Mono-specific, please upload a minimal reproduction project written in GDScript or VisualScript. This will make it easier for contributors to reproduce the issue locally as not everyone has a Mono setup available.
 | 
			
		||||
      - **Note for C# users:** If your issue is *not* C#-specific, please upload a minimal reproduction project written in GDScript. This will make it easier for contributors to reproduce the issue locally as not everyone has a .NET setup available.
 | 
			
		||||
      - **If you've been asked by a maintainer to upload a minimal reproduction project, you *must* do so within 7 days.** Otherwise, your bug report will be closed as it'll be considered too difficult to diagnose.
 | 
			
		||||
  validations:
 | 
			
		||||
    required: true
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										206
									
								
								CONTRIBUTING.md
									
									
									
									
									
								
							
							
						
						
									
										206
									
								
								CONTRIBUTING.md
									
									
									
									
									
								
							@@ -1,11 +1,17 @@
 | 
			
		||||
# How to contribute efficiently
 | 
			
		||||
# Contributors guidelines
 | 
			
		||||
 | 
			
		||||
This document summarizes the most important points for people interested in
 | 
			
		||||
contributing to Godot, especially via bug reports or pull requests.
 | 
			
		||||
 | 
			
		||||
The Godot documentation has a dedicated [Contributing section](https://docs.godotengine.org/en/latest/contributing/ways_to_contribute.html)
 | 
			
		||||
which details these points and more, and is a recommended read.
 | 
			
		||||
 | 
			
		||||
## Table of contents
 | 
			
		||||
 | 
			
		||||
- [Reporting bugs](#reporting-bugs)
 | 
			
		||||
- [Proposing features or improvements](#proposing-features-or-improvements)
 | 
			
		||||
- [Contributing pull requests](#contributing-pull-requests)
 | 
			
		||||
- [Contributing to Godot's translation](#contributing-to-godots-translation)
 | 
			
		||||
- [Contributing to Godot translations](#contributing-to-godot-translations)
 | 
			
		||||
- [Communicating with developers](#communicating-with-developers)
 | 
			
		||||
 | 
			
		||||
## Reporting bugs
 | 
			
		||||
@@ -13,16 +19,26 @@
 | 
			
		||||
Report bugs [here](https://github.com/godotengine/godot/issues/new?assignees=&labels=&template=bug_report.yml).
 | 
			
		||||
Please follow the instructions in the template when you do.
 | 
			
		||||
 | 
			
		||||
Notably, please include a Minimal Reproduction Project (MRP), which is a small
 | 
			
		||||
Godot project which reproduces the issue, with no unnecessary files included.
 | 
			
		||||
Be sure to not include the `.godot` folder in the archive to save space.
 | 
			
		||||
 | 
			
		||||
Make sure that the bug you are experiencing is reproducible in the latest Godot
 | 
			
		||||
releases. You can find an overview of all Godot releases [on the website](https://godotengine.org/download/archive/)
 | 
			
		||||
to confirm whether your current version is the latest one. It's worth testing
 | 
			
		||||
against both the latest stable release and the latest dev snapshot for the next
 | 
			
		||||
Godot release.
 | 
			
		||||
 | 
			
		||||
If you run into a bug which wasn't present in an earlier Godot version (what we
 | 
			
		||||
call a _regression_), please mention it and clarify which versions you tested
 | 
			
		||||
(both the one(s) working and the one(s) exhibiting the bug).
 | 
			
		||||
 | 
			
		||||
## Proposing features or improvements
 | 
			
		||||
 | 
			
		||||
**Since August 2019, the main issue tracker no longer accepts feature proposals.**
 | 
			
		||||
Instead, head to the [Godot Proposals repository](https://github.com/godotengine/godot-proposals)
 | 
			
		||||
and follow the instructions in the README file. High-quality feature proposals
 | 
			
		||||
are more likely to be well-received by the maintainers and community, so do
 | 
			
		||||
your best :)
 | 
			
		||||
**The main issue tracker is for bug reports and does not accept feature proposals.**
 | 
			
		||||
 | 
			
		||||
See [this article](https://godotengine.org/article/introducing-godot-proposals-repository)
 | 
			
		||||
for detailed rationale on this change.
 | 
			
		||||
Instead, head to the [Godot Proposals repository](https://github.com/godotengine/godot-proposals)
 | 
			
		||||
and follow the instructions in the README file and issue template.
 | 
			
		||||
 | 
			
		||||
## Contributing pull requests
 | 
			
		||||
 | 
			
		||||
@@ -39,10 +55,9 @@ Similar rules can be applied when contributing bug fixes - it's always best to
 | 
			
		||||
discuss the implementation in the bug report first if you are not 100% about
 | 
			
		||||
what would be the best fix.
 | 
			
		||||
 | 
			
		||||
[This blog post](https://godotengine.org/article/will-your-contribution-be-merged-heres-how-tell)
 | 
			
		||||
outlines the process used by core developers when assessing PRs. We strongly
 | 
			
		||||
recommend that you have a look at it to know what's important to take into
 | 
			
		||||
account for a PR to be considered for merging.
 | 
			
		||||
You can refer to the [Pull request review process](https://docs.godotengine.org/en/latest/contributing/workflow/pr_review_guidelines.html)
 | 
			
		||||
for insights into the intended lifecycle of pull requests. This should help you
 | 
			
		||||
ensure that your pull request fulfills the requirements.
 | 
			
		||||
 | 
			
		||||
In addition to the following tips, also take a look at the
 | 
			
		||||
[Engine development guide](https://docs.godotengine.org/en/latest/contributing/development/index.html)
 | 
			
		||||
@@ -50,7 +65,79 @@ for an introduction to developing on Godot.
 | 
			
		||||
 | 
			
		||||
The [Contributing docs](https://docs.godotengine.org/en/latest/contributing/ways_to_contribute.html)
 | 
			
		||||
also have important information on the [PR workflow](https://docs.godotengine.org/en/latest/contributing/workflow/pr_workflow.html)
 | 
			
		||||
and the [code style](https://docs.godotengine.org/en/latest/contributing/development/code_style_guidelines.html) we use.
 | 
			
		||||
(with a helpful guide for Git usage), and our [Code style guidelines](https://docs.godotengine.org/en/latest/contributing/development/code_style_guidelines.html)
 | 
			
		||||
which all contributions need to follow.
 | 
			
		||||
 | 
			
		||||
### Be mindful of your commits
 | 
			
		||||
 | 
			
		||||
Try to make simple PRs that handle one specific topic. Just like for reporting
 | 
			
		||||
issues, it's better to open 3 different PRs that each address a different issue
 | 
			
		||||
than one big PR with three commits. This makes it easier to review, approve, and
 | 
			
		||||
merge the changes independently.
 | 
			
		||||
 | 
			
		||||
When updating your fork with upstream changes, please use ``git pull --rebase``
 | 
			
		||||
to avoid creating "merge commits". Those commits unnecessarily pollute the git
 | 
			
		||||
history when coming from PRs.
 | 
			
		||||
 | 
			
		||||
Also try to make commits that bring the engine from one stable state to another
 | 
			
		||||
stable state, i.e. if your first commit has a bug that you fixed in the second
 | 
			
		||||
commit, try to merge them together before making your pull request. This
 | 
			
		||||
includes fixing build issues or typos, adding documentation, etc.
 | 
			
		||||
 | 
			
		||||
See our [PR workflow](https://docs.godotengine.org/en/latest/contributing/workflow/pr_workflow.html)
 | 
			
		||||
documentation for tips on using Git, amending commits and rebasing branches.
 | 
			
		||||
 | 
			
		||||
This [Git style guide](https://github.com/agis-/git-style-guide) also has some
 | 
			
		||||
good practices to have in mind.
 | 
			
		||||
 | 
			
		||||
### Format your commit messages with readability in mind
 | 
			
		||||
 | 
			
		||||
The way you format your commit messages is quite important to ensure that the
 | 
			
		||||
commit history and changelog will be easy to read and understand. A Git commit
 | 
			
		||||
message is formatted as a short title (first line) and an extended description
 | 
			
		||||
(everything after the first line and an empty separation line).
 | 
			
		||||
 | 
			
		||||
The short title is the most important part, as it is what will appear in the
 | 
			
		||||
changelog or in the GitHub interface unless you click the "expand" button.
 | 
			
		||||
Try to keep that first line under 72 characters, but you can go slightly above
 | 
			
		||||
if necessary to keep the sentence clear.
 | 
			
		||||
 | 
			
		||||
It should be written in English, starting with a capital letter, and usually
 | 
			
		||||
with a verb in imperative form. A typical bugfix would start with "Fix", while
 | 
			
		||||
the addition of a new feature would start with "Add". A prefix can be added to
 | 
			
		||||
specify the engine area affected by the commit. Some examples:
 | 
			
		||||
 | 
			
		||||
- Add C# iOS support
 | 
			
		||||
- Show doc tooltips when hovering properties in the theme editor
 | 
			
		||||
- Fix GLES3 instanced rendering color and custom data defaults
 | 
			
		||||
- Core: Fix `Object::has_method()` for script static methods
 | 
			
		||||
 | 
			
		||||
If your commit fixes a reported issue, please include it in the _description_
 | 
			
		||||
of the commit (not in the title) using one of the
 | 
			
		||||
[GitHub closing keywords](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue)
 | 
			
		||||
such as "Fixes #1234". This will cause the issue to be closed automatically if
 | 
			
		||||
the PR is merged.
 | 
			
		||||
 | 
			
		||||
Here's an example of a well-formatted commit message (note how the extended
 | 
			
		||||
description is also manually wrapped at 80 chars for readability):
 | 
			
		||||
 | 
			
		||||
```text
 | 
			
		||||
Prevent French fries carbonization by fixing heat regulation
 | 
			
		||||
 | 
			
		||||
When using the French fries frying module, Godot would not regulate the heat
 | 
			
		||||
and thus bring the oil bath to supercritical liquid conditions, thus causing
 | 
			
		||||
unwanted side effects in the physics engine.
 | 
			
		||||
 | 
			
		||||
By fixing the regulation system via an added binding to the internal feature,
 | 
			
		||||
this commit now ensures that Godot will not go past the ebullition temperature
 | 
			
		||||
of cooking oil under normal atmospheric conditions.
 | 
			
		||||
 | 
			
		||||
Fixes #1340.
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
**Note:** When using the GitHub online editor or its drag-and-drop
 | 
			
		||||
feature, *please* edit the commit title to something meaningful. Commits named
 | 
			
		||||
"Update my_file.cpp" won't be accepted.
 | 
			
		||||
 | 
			
		||||
### Document your changes
 | 
			
		||||
 | 
			
		||||
@@ -59,14 +146,14 @@ scripting APIs, you **must** update the class reference to document those.
 | 
			
		||||
This is to ensure the documentation coverage doesn't decrease as contributions
 | 
			
		||||
are merged.
 | 
			
		||||
 | 
			
		||||
[Update documentation XML files](https://docs.godotengine.org/en/latest/contributing/documentation/updating_the_class_reference.html#updating-class-reference-when-working-on-the-engine)
 | 
			
		||||
[Update documentation XML files](https://docs.godotengine.org/en/latest/contributing/documentation/updating_the_class_reference.html)
 | 
			
		||||
using your compiled binary, then fill in the descriptions.
 | 
			
		||||
Follow the style guide described in the
 | 
			
		||||
[Writing guidelines](https://docs.godotengine.org/en/latest/contributing/documentation/docs_writing_guidelines.html).
 | 
			
		||||
[Documentation writing guidelines](https://docs.godotengine.org/en/latest/contributing/documentation/docs_writing_guidelines.html).
 | 
			
		||||
 | 
			
		||||
If your pull request modifies parts of the code in a non-obvious way, make sure
 | 
			
		||||
to add comments in the code as well. This helps other people understand the
 | 
			
		||||
change without having to look at `git blame`.
 | 
			
		||||
change without having to dive into the Git history.
 | 
			
		||||
 | 
			
		||||
### Write unit tests
 | 
			
		||||
 | 
			
		||||
@@ -91,74 +178,13 @@ existing tests as well.
 | 
			
		||||
See [Unit testing](https://docs.godotengine.org/en/latest/contributing/development/core_and_modules/unit_testing.html)
 | 
			
		||||
for information on writing tests in Godot's C++ codebase.
 | 
			
		||||
 | 
			
		||||
### Be nice to the Git history
 | 
			
		||||
## Contributing to Godot translations
 | 
			
		||||
 | 
			
		||||
Try to make simple PRs that handle one specific topic. Just like for reporting
 | 
			
		||||
issues, it's better to open 3 different PRs that each address a different issue
 | 
			
		||||
than one big PR with three commits.
 | 
			
		||||
You can contribute to Godot translations on [Hosted Weblate](https://hosted.weblate.org/projects/godot-engine/),
 | 
			
		||||
an open source and web-based translation platform.
 | 
			
		||||
 | 
			
		||||
When updating your fork with upstream changes, please use ``git pull --rebase``
 | 
			
		||||
to avoid creating "merge commits". Those commits unnecessarily pollute the git
 | 
			
		||||
history when coming from PRs.
 | 
			
		||||
 | 
			
		||||
Also try to make commits that bring the engine from one stable state to another
 | 
			
		||||
stable state, i.e. if your first commit has a bug that you fixed in the second
 | 
			
		||||
commit, try to merge them together before making your pull request (see ``git
 | 
			
		||||
rebase -i`` and relevant help about rebasing or amending commits on the
 | 
			
		||||
Internet).
 | 
			
		||||
 | 
			
		||||
This [Git style guide](https://github.com/agis-/git-style-guide) has some
 | 
			
		||||
good practices to have in mind.
 | 
			
		||||
 | 
			
		||||
See our [PR workflow](https://docs.godotengine.org/en/latest/contributing/workflow/pr_workflow.html)
 | 
			
		||||
documentation for tips on using Git, amending commits and rebasing branches.
 | 
			
		||||
 | 
			
		||||
### Format your commit messages with readability in mind
 | 
			
		||||
 | 
			
		||||
The way you format your commit messages is quite important to ensure that the
 | 
			
		||||
commit history and changelog will be easy to read and understand. A Git commit
 | 
			
		||||
message is formatted as a short title (first line) and an extended description
 | 
			
		||||
(everything after the first line and an empty separation line).
 | 
			
		||||
 | 
			
		||||
The short title is the most important part, as it is what will appear in the
 | 
			
		||||
`shortlog` changelog (one line per commit, so no description shown) or in the
 | 
			
		||||
GitHub interface unless you click the "expand" button. As the name says, try to
 | 
			
		||||
keep that first line under 72 characters. It should describe what the commit
 | 
			
		||||
does globally, while details would go in the description. Typically, if you
 | 
			
		||||
can't keep the title short because you have too much stuff to mention, it means
 | 
			
		||||
you should probably split your changes in several commits :)
 | 
			
		||||
 | 
			
		||||
Here's an example of a well-formatted commit message (note how the extended
 | 
			
		||||
description is also manually wrapped at 80 chars for readability):
 | 
			
		||||
 | 
			
		||||
```text
 | 
			
		||||
Prevent French fries carbonization by fixing heat regulation
 | 
			
		||||
 | 
			
		||||
When using the French fries frying module, Godot would not regulate the heat
 | 
			
		||||
and thus bring the oil bath to supercritical liquid conditions, thus causing
 | 
			
		||||
unwanted side effects in the physics engine.
 | 
			
		||||
 | 
			
		||||
By fixing the regulation system via an added binding to the internal feature,
 | 
			
		||||
this commit now ensures that Godot will not go past the ebullition temperature
 | 
			
		||||
of cooking oil under normal atmospheric conditions.
 | 
			
		||||
 | 
			
		||||
Fixes #1789, long live the Realm!
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
**Note:** When using the GitHub online editor or its drag-and-drop
 | 
			
		||||
feature, *please* edit the commit title to something meaningful. Commits named
 | 
			
		||||
"Update my_file.cpp" won't be accepted.
 | 
			
		||||
 | 
			
		||||
## Contributing to Godot's translation
 | 
			
		||||
 | 
			
		||||
You can contribute to Godot's translation from the [Hosted
 | 
			
		||||
Weblate](https://hosted.weblate.org/projects/godot-engine/godot), an open
 | 
			
		||||
source and web-based translation platform. Please refer to the [translation
 | 
			
		||||
readme](editor/translations/README.md) for more information.
 | 
			
		||||
 | 
			
		||||
You can also help translate [Godot's
 | 
			
		||||
documentation](https://hosted.weblate.org/projects/godot-engine/godot-docs/)
 | 
			
		||||
on Weblate.
 | 
			
		||||
Please refer to our [editor and documentation localization guidelines](https://docs.godotengine.org/en/latest/contributing/documentation/editor_and_docs_localization.html)
 | 
			
		||||
for an overview of the translation resources and what they correspond to.
 | 
			
		||||
 | 
			
		||||
## Communicating with developers
 | 
			
		||||
 | 
			
		||||
@@ -171,15 +197,13 @@ or a bug you want to fix), the following channels can be used:
 | 
			
		||||
 | 
			
		||||
- [Godot Contributors Chat](https://chat.godotengine.org): You will
 | 
			
		||||
  find most core developers there, so it's the go-to platform for direct chat
 | 
			
		||||
  about Godot Engine development. Feel free to start discussing something there
 | 
			
		||||
  to get some early feedback before writing up a detailed proposal in a GitHub
 | 
			
		||||
  issue.
 | 
			
		||||
  about Godot Engine development. Browse the [Directory](https://chat.godotengine.org/directory/channels)
 | 
			
		||||
  for an overview of public channels focusing on various engine areas which you
 | 
			
		||||
  might be interested in.
 | 
			
		||||
- [Bug tracker](https://github.com/godotengine/godot/issues): If there is an
 | 
			
		||||
  existing issue about a topic you want to discuss, just add a comment to it -
 | 
			
		||||
  many developers watch the repository and will get a notification. You can
 | 
			
		||||
  also create a new issue - please keep in mind to create issues only to
 | 
			
		||||
  discuss quite specific points about the development, and not general user
 | 
			
		||||
  feedback or support requests.
 | 
			
		||||
  existing issue about a topic you want to discuss, you can participate directly.
 | 
			
		||||
  If not, you can open a new issue. Please mind the guidelines outlined above
 | 
			
		||||
  for bug reporting.
 | 
			
		||||
- [Feature proposals](https://github.com/godotengine/godot-proposals/issues):
 | 
			
		||||
  To propose a new feature, we have a dedicated issue tracker for that. Don't
 | 
			
		||||
  hesitate to start by talking about your idea on the Godot Contributors Chat
 | 
			
		||||
 
 | 
			
		||||
@@ -383,7 +383,7 @@ License: Expat
 | 
			
		||||
Files: ./thirdparty/noise/FastNoiseLite.h
 | 
			
		||||
Comment: FastNoise Lite
 | 
			
		||||
Copyright: 2020, Jordan Peck and contributors
 | 
			
		||||
License: MIT
 | 
			
		||||
License: Expat
 | 
			
		||||
 | 
			
		||||
Files: ./thirdparty/misc/pcg.cpp
 | 
			
		||||
 ./thirdparty/misc/pcg.h
 | 
			
		||||
@@ -428,7 +428,7 @@ License: BSD-2-clause
 | 
			
		||||
Files: ./thirdparty/msdfgen/
 | 
			
		||||
Comment: Multi-channel signed distance field generator
 | 
			
		||||
Copyright: 2016-2022, Viktor Chlumsky
 | 
			
		||||
License: MIT
 | 
			
		||||
License: Expat
 | 
			
		||||
 | 
			
		||||
Files: ./thirdparty/nvapi/nvapi_minimal.h
 | 
			
		||||
Comment: Stripped down version of "nvapi.h" from the NVIDIA NVAPI SDK
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +0,0 @@
 | 
			
		||||
Godot Engine Logo
 | 
			
		||||
Copyright (c) 2017 Andrea Calabró
 | 
			
		||||
 | 
			
		||||
This work is licensed under a Creative Commons Attribution 4.0 International
 | 
			
		||||
License (CC-BY-4.0 International) <https://creativecommons.org/licenses/by/4.0/>.
 | 
			
		||||
							
								
								
									
										5
									
								
								LOGO_LICENSE.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								LOGO_LICENSE.txt
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
			
		||||
Godot Engine Logo
 | 
			
		||||
Copyright (c) 2017 Andrea Calabró
 | 
			
		||||
 | 
			
		||||
This work is licensed under the Creative Commons Attribution 4.0 International
 | 
			
		||||
license (CC BY 4.0 International): https://creativecommons.org/licenses/by/4.0/
 | 
			
		||||
							
								
								
									
										20
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								README.md
									
									
									
									
									
								
							@@ -10,11 +10,11 @@
 | 
			
		||||
 | 
			
		||||
**[Godot Engine](https://godotengine.org) is a feature-packed, cross-platform
 | 
			
		||||
game engine to create 2D and 3D games from a unified interface.** It provides a
 | 
			
		||||
comprehensive set of [common tools](https://godotengine.org/features), so that users can focus on making games
 | 
			
		||||
without having to reinvent the wheel. Games can be exported with one click to a
 | 
			
		||||
number of platforms, including the major desktop platforms (Linux, macOS,
 | 
			
		||||
Windows), mobile platforms (Android, iOS), as well as Web-based platforms
 | 
			
		||||
and [consoles](https://docs.godotengine.org/en/latest/tutorials/platform/consoles.html).
 | 
			
		||||
comprehensive set of [common tools](https://godotengine.org/features), so that
 | 
			
		||||
users can focus on making games without having to reinvent the wheel. Games can
 | 
			
		||||
be exported with one click to a number of platforms, including the major desktop
 | 
			
		||||
platforms (Linux, macOS, Windows), mobile platforms (Android, iOS), as well as
 | 
			
		||||
Web-based platforms and [consoles](https://docs.godotengine.org/en/latest/tutorials/platform/consoles.html).
 | 
			
		||||
 | 
			
		||||
## Free, open source and community-driven
 | 
			
		||||
 | 
			
		||||
@@ -22,13 +22,14 @@ Godot is completely free and open source under the very permissive [MIT license]
 | 
			
		||||
No strings attached, no royalties, nothing. The users' games are theirs, down
 | 
			
		||||
to the last line of engine code. Godot's development is fully independent and
 | 
			
		||||
community-driven, empowering users to help shape their engine to match their
 | 
			
		||||
expectations. It is supported by the [Software Freedom Conservancy](https://sfconservancy.org/)
 | 
			
		||||
expectations. It is supported by the [Godot Foundation](https://godot.foundation/)
 | 
			
		||||
not-for-profit.
 | 
			
		||||
 | 
			
		||||
Before being open sourced in [February 2014](https://github.com/godotengine/godot/commit/0b806ee0fc9097fa7bda7ac0109191c9c5e0a1ac),
 | 
			
		||||
Godot had been developed by [Juan Linietsky](https://github.com/reduz) and
 | 
			
		||||
[Ariel Manzur](https://github.com/punto-) (both still maintaining the project) for several
 | 
			
		||||
years as an in-house engine, used to publish several work-for-hire titles.
 | 
			
		||||
[Ariel Manzur](https://github.com/punto-) (both still maintaining the project)
 | 
			
		||||
for several years as an in-house engine, used to publish several work-for-hire
 | 
			
		||||
titles.
 | 
			
		||||
 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
@@ -37,7 +38,7 @@ years as an in-house engine, used to publish several work-for-hire titles.
 | 
			
		||||
### Binary downloads
 | 
			
		||||
 | 
			
		||||
Official binaries for the Godot editor and the export templates can be found
 | 
			
		||||
[on the homepage](https://godotengine.org/download).
 | 
			
		||||
[on the Godot website](https://godotengine.org/download).
 | 
			
		||||
 | 
			
		||||
### Compiling from source
 | 
			
		||||
 | 
			
		||||
@@ -53,6 +54,7 @@ The best way to get in touch with the core engine developers is to join the
 | 
			
		||||
[Godot Contributors Chat](https://chat.godotengine.org).
 | 
			
		||||
 | 
			
		||||
To get started contributing to the project, see the [contributing guide](CONTRIBUTING.md).
 | 
			
		||||
This document also includes guidelines for reporting bugs.
 | 
			
		||||
 | 
			
		||||
## Documentation and demos
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										198
									
								
								thirdparty/README.md
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										198
									
								
								thirdparty/README.md
									
									
									
									
										vendored
									
									
								
							@@ -94,8 +94,8 @@ Files extracted from upstream source:
 | 
			
		||||
## clipper2
 | 
			
		||||
 | 
			
		||||
- Upstream: https://github.com/AngusJohnson/Clipper2
 | 
			
		||||
- Version: 1.2.2  (756c5079aacab5837e812a143c59dc48a09f22e7, 2023)
 | 
			
		||||
- License: Boost Software License 1.0
 | 
			
		||||
- Version: 1.2.2 (756c5079aacab5837e812a143c59dc48a09f22e7, 2023)
 | 
			
		||||
- License: BSL 1.0
 | 
			
		||||
 | 
			
		||||
Files extracted from upstream source:
 | 
			
		||||
 | 
			
		||||
@@ -111,7 +111,8 @@ Files extracted from upstream source:
 | 
			
		||||
 | 
			
		||||
Files extracted from upstream source:
 | 
			
		||||
 | 
			
		||||
- all .cpp, .h, and .txt files except the folders MakeTables and etc2packer.
 | 
			
		||||
- All `.cpp` and `.h` files except the folders `MakeTables` and `etc2packer`
 | 
			
		||||
- `LICENSE.txt`
 | 
			
		||||
 | 
			
		||||
Changes related to BC6H packing and unpacking made upstream in
 | 
			
		||||
https://github.com/elasota/cvtt/commit/2e4b6b2747aec11f4cc6dd09ef43fa8ce769f6e2
 | 
			
		||||
@@ -139,7 +140,7 @@ Files extracted from upstream source:
 | 
			
		||||
 | 
			
		||||
Files extracted from upstream:
 | 
			
		||||
 | 
			
		||||
- All cpp files listed in `modules/raycast/godot_update_embree.py`
 | 
			
		||||
- All `.cpp` files listed in `modules/raycast/godot_update_embree.py`
 | 
			
		||||
- All header files in the directories listed in `modules/raycast/godot_update_embree.py`
 | 
			
		||||
 | 
			
		||||
The `modules/raycast/godot_update_embree.py` script can be used to pull the
 | 
			
		||||
@@ -153,26 +154,26 @@ commits.
 | 
			
		||||
 | 
			
		||||
## enet
 | 
			
		||||
 | 
			
		||||
- Upstream: http://enet.bespin.org
 | 
			
		||||
- Upstream: https://github.com/lsalzman/enet
 | 
			
		||||
- Version: git (ea4607a90dbfbcf4da2669ea998585253d8e70b1, 2023)
 | 
			
		||||
- 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
 | 
			
		||||
- All `.c` files in the main directory (except `unix.c` and `win32.c`)
 | 
			
		||||
- The `include/enet/` folder as `enet/` (except `unix.h` and `win32.h`)
 | 
			
		||||
- `LICENSE` file
 | 
			
		||||
 | 
			
		||||
Important: enet.h, host.c, protocol.c have been slightly modified
 | 
			
		||||
Important: `enet.h`, `host.c`, `protocol.c` have been slightly modified
 | 
			
		||||
to be usable by Godot's socket implementation and allow IPv6 and DTLS.
 | 
			
		||||
Apply the patches in the `patches/` folder when syncing on newer upstream
 | 
			
		||||
commits.
 | 
			
		||||
 | 
			
		||||
Three files (godot.cpp, enet/godot.h, enet/godot_ext.h) have been added to provide
 | 
			
		||||
enet socket implementation using Godot classes.
 | 
			
		||||
Three files (`godot.cpp`, `enet/godot.h`, `enet/godot_ext.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 its functionality to IPv4 only.
 | 
			
		||||
It is still possible to build against a system wide ENet but doing so will limit
 | 
			
		||||
its functionality to IPv4 only.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## etcpak
 | 
			
		||||
@@ -253,8 +254,12 @@ Files extracted from upstream source:
 | 
			
		||||
  * Upstream: https://fonts.google.com/specimen/Open+Sans
 | 
			
		||||
  * Version: 1.10 (downloaded from Google Fonts in February 2021)
 | 
			
		||||
  * License: Apache 2.0
 | 
			
		||||
- All fonts are converted from the unhinted `.ttf` sources using `https://github.com/google/woff2` tool.
 | 
			
		||||
- Comment: Use UI font variant if available, because it has tight vertical metrics and good for UI.
 | 
			
		||||
 | 
			
		||||
All fonts are converted from the unhinted `.ttf` sources using the
 | 
			
		||||
`https://github.com/google/woff2` tool.
 | 
			
		||||
 | 
			
		||||
Use UI font variant if available, because it has tight vertical metrics and good
 | 
			
		||||
for UI.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## freetype
 | 
			
		||||
@@ -315,7 +320,7 @@ Files extracted from upstream source:
 | 
			
		||||
- Run `cmake . && make` and copy generated `include/glslang/build_info.h`
 | 
			
		||||
  to `glslang/build_info.h`
 | 
			
		||||
- `LICENSE.txt`
 | 
			
		||||
- Unnecessary files like `CMakeLists.txt`, `*.m4` and `updateGrammar` removed.
 | 
			
		||||
- Unnecessary files like `CMakeLists.txt`, `*.m4` and `updateGrammar` removed
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## graphite
 | 
			
		||||
@@ -326,8 +331,8 @@ Files extracted from upstream source:
 | 
			
		||||
 | 
			
		||||
Files extracted from upstream source:
 | 
			
		||||
 | 
			
		||||
- the `include` folder
 | 
			
		||||
- the `src` folder (minus `CMakeLists.txt` and `files.mk`)
 | 
			
		||||
- The `include` folder
 | 
			
		||||
- The `src` folder (minus `CMakeLists.txt` and `files.mk`)
 | 
			
		||||
- `COPYING`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -340,9 +345,9 @@ Files extracted from upstream source:
 | 
			
		||||
Files extracted from upstream source:
 | 
			
		||||
 | 
			
		||||
- `AUTHORS`, `COPYING`, `THANKS`
 | 
			
		||||
- from the `src` folder, recursively
 | 
			
		||||
  - all the `*.c`, `*.cc`, `*.h`, `*.hh` files
 | 
			
		||||
  - _except_ `main.cc`, `harfbuzz*.cc`, `failing-alloc.c`, `test*.cc`, `hb-wasm*.*`
 | 
			
		||||
- From the `src` folder, recursively:
 | 
			
		||||
  - All the `.c`, `.cc`, `.h`, `.hh` files
 | 
			
		||||
  - Except `main.cc`, `harfbuzz*.cc`, `failing-alloc.c`, `test*.cc`, `hb-wasm*.*`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## icu4c
 | 
			
		||||
@@ -353,22 +358,24 @@ Files extracted from upstream source:
 | 
			
		||||
 | 
			
		||||
Files extracted from upstream source:
 | 
			
		||||
 | 
			
		||||
- the `common` folder
 | 
			
		||||
- The `common` folder
 | 
			
		||||
- `scriptset.*`, `ucln_in.*`, `uspoof.cpp"` and `uspoof_impl.cpp` from the `i18n` folder
 | 
			
		||||
- `uspoof.h` from the `i18n/unicode` folder
 | 
			
		||||
- `LICENSE`
 | 
			
		||||
 | 
			
		||||
Files generated from upstream source:
 | 
			
		||||
 | 
			
		||||
- the `icudt73l.dat` built with the provided `godot_data.json` config file (see
 | 
			
		||||
- The `icudt73l.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).
 | 
			
		||||
 | 
			
		||||
- Step 1: Download and extract both `icu4c-{version}-src.tgz` and `icu4c-{version}-data.zip` (replace `data` subfolder from the main source archive).
 | 
			
		||||
- Step 2: Build ICU with default options - `./runConfigureICU {PLATFORM} && make`.
 | 
			
		||||
- Step 3: Reconfigure ICU with custom data config - `ICU_DATA_FILTER_FILE={GODOT_SOURCE}/thirdparty/icu4c/godot_data.json ./runConfigureICU {PLATFORM} --with-data-packaging=common`.
 | 
			
		||||
- Step 4: Delete `data/out` folder and rebuild data - `cd data && rm -rf ./out && make`.
 | 
			
		||||
- Step 5: Copy `source/data/out/icudt73l.dat` to the `{GODOT_SOURCE}/thirdparty/icu4c/icudt73l.dat`.
 | 
			
		||||
1. Download and extract both `icu4c-{version}-src.tgz` and `icu4c-{version}-data.zip`
 | 
			
		||||
  (replace `data` subfolder from the main source archive)
 | 
			
		||||
2. Build ICU with default options: `./runConfigureICU {PLATFORM} && make`
 | 
			
		||||
3. Reconfigure ICU with custom data config:
 | 
			
		||||
   `ICU_DATA_FILTER_FILE={GODOT_SOURCE}/thirdparty/icu4c/godot_data.json ./runConfigureICU {PLATFORM} --with-data-packaging=common`
 | 
			
		||||
4. Delete `data/out` folder and rebuild data: `cd data && rm -rf ./out && make`
 | 
			
		||||
5. Copy `source/data/out/icudt73l.dat` to the `{GODOT_SOURCE}/thirdparty/icu4c/icudt73l.dat`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## jpeg-compressor
 | 
			
		||||
@@ -422,8 +429,8 @@ Files extracted from upstream source:
 | 
			
		||||
 | 
			
		||||
Files extracted from upstream source:
 | 
			
		||||
 | 
			
		||||
- all .c and .h files of the main directory, except from
 | 
			
		||||
  `example.c` and `pngtest.c`
 | 
			
		||||
- All `.c` and `.h` files of the main directory, except from `example.c` and
 | 
			
		||||
  `pngtest.c`
 | 
			
		||||
- `arm/`, `intel/` and `powerpc/` folders
 | 
			
		||||
- `scripts/pnglibconf.h.prebuilt` as `pnglibconf.h`
 | 
			
		||||
- `LICENSE`
 | 
			
		||||
@@ -437,9 +444,9 @@ Files extracted from upstream source:
 | 
			
		||||
 | 
			
		||||
Files extracted from upstream source:
 | 
			
		||||
 | 
			
		||||
- all .c, .h in lib/, except arm/ and c64x/ folders
 | 
			
		||||
- all .h files in include/theora/ as theora/
 | 
			
		||||
- COPYING and LICENSE
 | 
			
		||||
- All `.c` and `.h` files in `lib/`, except `arm/` and `c64x/` folders
 | 
			
		||||
- All `.h` files in `include/theora/` as `theora/`
 | 
			
		||||
- `COPYING` and `LICENSE`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## libvorbis
 | 
			
		||||
@@ -463,10 +470,11 @@ Files extracted from upstream source:
 | 
			
		||||
 | 
			
		||||
Files extracted from upstream source:
 | 
			
		||||
 | 
			
		||||
- `src/` and `sharpyuv/` except from: `.am`, `.rc` and `.in` files
 | 
			
		||||
- `src/` and `sharpyuv/` except from `.am`, `.rc` and `.in` files
 | 
			
		||||
- `AUTHORS`, `COPYING`, `PATENTS`
 | 
			
		||||
 | 
			
		||||
Patch `godot-node-debug-fix.patch` workarounds shadowing of godot's Node class in the MSVC debugger.
 | 
			
		||||
Patch `godot-node-debug-fix.patch` workarounds shadowing of Godot's Node class
 | 
			
		||||
in the MSVC debugger.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## mbedtls
 | 
			
		||||
@@ -477,14 +485,17 @@ Patch `godot-node-debug-fix.patch` workarounds shadowing of godot's Node class i
 | 
			
		||||
 | 
			
		||||
File extracted from upstream release tarball:
 | 
			
		||||
 | 
			
		||||
- All `*.h` from `include/mbedtls/` to `thirdparty/mbedtls/include/mbedtls/` except `config_psa.h` and `psa_util.h`.
 | 
			
		||||
- All `*.c` and `*.h` from `library/` to `thirdparty/mbedtls/library/` except those starting with `psa_*`.
 | 
			
		||||
- The `LICENSE` file.
 | 
			
		||||
- Applied the patch in `patches/windows-arm64-hardclock.diff`.
 | 
			
		||||
  Applied the patch in `aesni-no-arm-intrinsics.patch` to fix MSVC ARM build.
 | 
			
		||||
- All `.h` from `include/mbedtls/` to `thirdparty/mbedtls/include/mbedtls/`
 | 
			
		||||
  except `config_psa.h` and `psa_util.h`
 | 
			
		||||
- All `.c` and `.h` from `library/` to `thirdparty/mbedtls/library/` except
 | 
			
		||||
  those starting with `psa_*`
 | 
			
		||||
- The `LICENSE` file
 | 
			
		||||
- Applied the patch in `patches/windows-arm64-hardclock.diff`
 | 
			
		||||
  Applied the patch in `aesni-no-arm-intrinsics.patch` to fix MSVC ARM build
 | 
			
		||||
- Added 2 files `godot_core_mbedtls_platform.c` and `godot_core_mbedtls_config.h`
 | 
			
		||||
  providing configuration for light bundling with core.
 | 
			
		||||
- Added the file `godot_module_mbedtls_config.h` to customize the build configuration when bundling the full library.
 | 
			
		||||
  providing configuration for light bundling with core
 | 
			
		||||
- Added the file `godot_module_mbedtls_config.h` to customize the build
 | 
			
		||||
  configuration when bundling the full library
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## meshoptimizer
 | 
			
		||||
@@ -495,13 +506,13 @@ File extracted from upstream release tarball:
 | 
			
		||||
 | 
			
		||||
Files extracted from upstream repository:
 | 
			
		||||
 | 
			
		||||
- All files in `src/`.
 | 
			
		||||
- `LICENSE.md`.
 | 
			
		||||
- All files in `src/`
 | 
			
		||||
- `LICENSE.md`
 | 
			
		||||
 | 
			
		||||
An [experimental upstream feature](https://github.com/zeux/meshoptimizer/tree/simplify-attr),
 | 
			
		||||
has been backported. On top of that, it was modified to report only distance error metrics
 | 
			
		||||
instead of a combination of distance and attribute errors. Patches for both changes can be
 | 
			
		||||
found in the `patches` directory.
 | 
			
		||||
has been backported. On top of that, it was modified to report only distance
 | 
			
		||||
error metrics instead of a combination of distance and attribute errors. Patches
 | 
			
		||||
for both changes can be found in the `patches` directory.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## minimp3
 | 
			
		||||
@@ -571,10 +582,6 @@ Collection of single-file libraries used in Godot components.
 | 
			
		||||
  * Upstream: https://github.com/ariya/FastLZ
 | 
			
		||||
  * Version: 0.5.0 (4f20f54d46f5a6dd4fae4def134933369b7602d2, 2020)
 | 
			
		||||
  * License: MIT
 | 
			
		||||
- `hq2x.{cpp,h}`
 | 
			
		||||
  * Upstream: https://github.com/brunexgeek/hqx
 | 
			
		||||
  * Version: TBD, file structure differs
 | 
			
		||||
  * License: Apache 2.0
 | 
			
		||||
- `ifaddrs-android.{cc,h}`
 | 
			
		||||
  * Upstream: https://chromium.googlesource.com/external/webrtc/stable/talk/+/master/base/ifaddrs-android.h
 | 
			
		||||
  * Version: git (5976650443d68ccfadf1dea24999ee459dd2819d, 2013)
 | 
			
		||||
@@ -583,10 +590,6 @@ Collection of single-file libraries used in Godot components.
 | 
			
		||||
  * Upstream: https://archive.blender.org/wiki/index.php/Dev:Shading/Tangent_Space_Normal_Maps/
 | 
			
		||||
  * Version: 1.0 (2011)
 | 
			
		||||
  * License: zlib
 | 
			
		||||
- `FastNoiseLite.h}`
 | 
			
		||||
  * Upstream: https://github.com/Auburn/FastNoiseLite
 | 
			
		||||
  * Version: git (6be3d6bf7fb408de341285f9ee8a29b67fd953f1, 2022) + custom changes
 | 
			
		||||
  * License: MIT
 | 
			
		||||
- `ok_color.h`
 | 
			
		||||
  * Upstream: https://github.com/bottosson/bottosson.github.io/blob/master/misc/ok_color.h
 | 
			
		||||
  * Version: git (d69831edb90ffdcd08b7e64da3c5405acd48ad2c, 2022)
 | 
			
		||||
@@ -605,7 +608,7 @@ Collection of single-file libraries used in Godot components.
 | 
			
		||||
  * Version: git (7bdffb428b2b19ad1c43aa44c714dcc104177e84, 2021)
 | 
			
		||||
  * Modifications: Change from STL to Godot types (see provided patch).
 | 
			
		||||
  * License: MIT
 | 
			
		||||
- `r128.h`
 | 
			
		||||
- `r128.{c,h}`
 | 
			
		||||
  * Upstream: https://github.com/fahickman/r128
 | 
			
		||||
  * Version: 1.4.4 (cf2e88fc3e7d7dfe99189686f914874cd0bda15e, 2020)
 | 
			
		||||
  * License: Public Domain or Unlicense
 | 
			
		||||
@@ -614,7 +617,7 @@ Collection of single-file libraries used in Godot components.
 | 
			
		||||
  * Version: git (2f625846a775501fb69456567409a8b12f10ea25, 2012)
 | 
			
		||||
  * License: BSD-3-Clause
 | 
			
		||||
  * Modifications: use `const char*` instead of `char*` for input string
 | 
			
		||||
- `smolv.h`
 | 
			
		||||
- `smolv.{cpp,h}`
 | 
			
		||||
  * Upstream: https://github.com/aras-p/smol-v
 | 
			
		||||
  * Version: git (4b52c165c13763051a18e80ffbc2ee436314ceb2, 2020)
 | 
			
		||||
  * License: Public Domain or MIT
 | 
			
		||||
@@ -637,17 +640,33 @@ Collection of single-file libraries used in Godot components.
 | 
			
		||||
Files extracted from the upstream source:
 | 
			
		||||
 | 
			
		||||
- `msdfgen.h`
 | 
			
		||||
- Files in `core/` folder.
 | 
			
		||||
- Files in `core/` folder
 | 
			
		||||
- `LICENSE.txt`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## noise
 | 
			
		||||
 | 
			
		||||
- Upstream: https://github.com/Auburn/FastNoiseLite
 | 
			
		||||
- Version: git (6be3d6bf7fb408de341285f9ee8a29b67fd953f1, 2022)
 | 
			
		||||
- License: MIT
 | 
			
		||||
 | 
			
		||||
Files extracted from the upstream source:
 | 
			
		||||
 | 
			
		||||
- `FastNoiseLite.h`
 | 
			
		||||
- `LICENSE`
 | 
			
		||||
 | 
			
		||||
Some custom changes were made to fix compiler warnings, and can be re-applied
 | 
			
		||||
with the provided patch.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## nvapi
 | 
			
		||||
 | 
			
		||||
- Upstream: http://download.nvidia.com/XFree86/nvapi-open-source-sdk
 | 
			
		||||
- Version: R525
 | 
			
		||||
- License: MIT
 | 
			
		||||
 | 
			
		||||
- `nvapi_minimal.h` was created by using `nvapi.h` from upstream and removing unnecessary code.
 | 
			
		||||
- `nvapi_minimal.h` was created by using `nvapi.h` from upstream and removing
 | 
			
		||||
  unnecessary code.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## openxr
 | 
			
		||||
@@ -658,20 +677,21 @@ Files extracted from the upstream source:
 | 
			
		||||
 | 
			
		||||
Files extracted from upstream source:
 | 
			
		||||
 | 
			
		||||
- include/
 | 
			
		||||
- src/common/
 | 
			
		||||
- src/loader/
 | 
			
		||||
- src/*.{c,h}
 | 
			
		||||
- src/external/jsoncpp/include/
 | 
			
		||||
- src/external/jsoncpp/src/lib_json/
 | 
			
		||||
- LICENSE and COPYING.adoc
 | 
			
		||||
- `include/`
 | 
			
		||||
- `src/common/`
 | 
			
		||||
- `src/loader/`
 | 
			
		||||
- `src/*.{c,h}`
 | 
			
		||||
- `src/external/jsoncpp/include/`
 | 
			
		||||
- `src/external/jsoncpp/src/lib_json/`
 | 
			
		||||
- `LICENSE` and `COPYING.adoc`
 | 
			
		||||
 | 
			
		||||
Exclude:
 | 
			
		||||
 | 
			
		||||
- src/external/android-jni-wrappers and src/external/jnipp (not used yet)
 | 
			
		||||
- All CMake stuff: cmake/, CMakeLists.txt and *.cmake
 | 
			
		||||
- All Gradle stuff: *gradle*, AndroidManifest.xml
 | 
			
		||||
- All following files (and their .license files): *.{def,expsym,in,json,map,pom,rc,txt}
 | 
			
		||||
- `src/external/android-jni-wrappers` and `src/external/jnipp` (not used yet)
 | 
			
		||||
- All CMake stuff: `cmake/`, `CMakeLists.txt` and `*.cmake`
 | 
			
		||||
- All Gradle stuff: `*gradle*`, `AndroidManifest.xml`
 | 
			
		||||
- All following files (and their `.license` files):
 | 
			
		||||
  `*.{def,expsym,in,json,map,pom,rc,txt}`
 | 
			
		||||
- All dotfiles
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -683,12 +703,12 @@ Exclude:
 | 
			
		||||
 | 
			
		||||
Files extracted from upstream source:
 | 
			
		||||
 | 
			
		||||
- Files listed in the file NON-AUTOTOOLS-BUILD steps 1-4
 | 
			
		||||
- All .h files in src/ apart from pcre2posix.h
 | 
			
		||||
- src/pcre2_jit_match.c
 | 
			
		||||
- src/pcre2_jit_misc.c
 | 
			
		||||
- src/sljit/
 | 
			
		||||
- AUTHORS and LICENCE
 | 
			
		||||
- Files listed in the file `NON-AUTOTOOLS-BUILD` steps 1-4
 | 
			
		||||
- All `.h` files in `src/` apart from `pcre2posix.h`
 | 
			
		||||
- `src/pcre2_jit_match.c`
 | 
			
		||||
- `src/pcre2_jit_misc.c`
 | 
			
		||||
- `src/sljit/`
 | 
			
		||||
- `AUTHORS` and `LICENCE`
 | 
			
		||||
 | 
			
		||||
A sljit patch from upstream was backported to fix macOS < 11.0 compilation
 | 
			
		||||
in 10.40, it can be found in the `patches` folder.
 | 
			
		||||
@@ -703,7 +723,7 @@ in 10.40, it can be found in the `patches` folder.
 | 
			
		||||
Files extracted from upstream source:
 | 
			
		||||
 | 
			
		||||
- `Recast/` folder without `CMakeLists.txt`
 | 
			
		||||
- License.txt
 | 
			
		||||
- `License.txt`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## rvo2
 | 
			
		||||
@@ -722,8 +742,8 @@ For 3D in `rvo2_3d` folder
 | 
			
		||||
 | 
			
		||||
Files extracted from upstream source:
 | 
			
		||||
 | 
			
		||||
- All .cpp and .h files in the `src/` folder except for Export.h and RVO.h
 | 
			
		||||
- LICENSE
 | 
			
		||||
- All `.cpp` and `.h` files in the `src/` folder except for `Export.h` and `RVO.h`
 | 
			
		||||
- `LICENSE`
 | 
			
		||||
 | 
			
		||||
Important: Nearly all files have Godot-made changes and renames
 | 
			
		||||
to make the 2D and 3D rvo libraries compatible with each other
 | 
			
		||||
@@ -760,7 +780,7 @@ folder.
 | 
			
		||||
 | 
			
		||||
Files extracted from upstream source:
 | 
			
		||||
 | 
			
		||||
- all .cpp, .h and .inl files
 | 
			
		||||
- All `.cpp`, `.h` and `.inl` files
 | 
			
		||||
 | 
			
		||||
Important: Some files have Godot-made changes.
 | 
			
		||||
They are marked with `// -- GODOT start --` and `// -- GODOT end --`
 | 
			
		||||
@@ -819,9 +839,9 @@ folder.
 | 
			
		||||
Unless there is a specific reason to package a more recent version, please stick
 | 
			
		||||
to tagged releases. All Vulkan libraries and headers should be kept in sync so:
 | 
			
		||||
 | 
			
		||||
- Update Vulkan SDK components to the matching tag (see "vulkan").
 | 
			
		||||
- Update glslang (see "glslang").
 | 
			
		||||
- Update spirv-reflect (see "spirv-reflect").
 | 
			
		||||
- Update Vulkan SDK components to the matching tag (see "vulkan")
 | 
			
		||||
- Update glslang (see "glslang")
 | 
			
		||||
- Update spirv-reflect (see "spirv-reflect")
 | 
			
		||||
 | 
			
		||||
Files extracted from upstream source:
 | 
			
		||||
 | 
			
		||||
@@ -861,11 +881,11 @@ Patches in the `patches` directory should be re-applied after updates.
 | 
			
		||||
 | 
			
		||||
File extracted from upstream release tarball:
 | 
			
		||||
 | 
			
		||||
- Run `cmake .` to generate `config.h` and `wslayver.h`.
 | 
			
		||||
  Contents might need tweaking for Godot, review diff.
 | 
			
		||||
- All `*.c` and `*.h` files from `lib/`
 | 
			
		||||
- All `*.h` in `lib/includes/wslay/` as `wslay/`
 | 
			
		||||
- `wslay/wslay.h` has a small Godot addition to fix MSVC build.
 | 
			
		||||
- Run `cmake .` to generate `config.h` and `wslayver.h`
 | 
			
		||||
  Contents might need tweaking for Godot, review diff
 | 
			
		||||
- All `.c` and `.h` files from `lib/`
 | 
			
		||||
- All `.h` in `lib/includes/wslay/` as `wslay/`
 | 
			
		||||
- `wslay/wslay.h` has a small Godot addition to fix MSVC build
 | 
			
		||||
  See `patches/msvcfix.diff`
 | 
			
		||||
- `COPYING`
 | 
			
		||||
 | 
			
		||||
@@ -890,7 +910,7 @@ Files extracted from upstream source:
 | 
			
		||||
 | 
			
		||||
Files extracted from upstream source:
 | 
			
		||||
 | 
			
		||||
- All `*.c` and `*.h` files, minus `infback.c`
 | 
			
		||||
- All `.c` and `.h` files, minus `infback.c`
 | 
			
		||||
- `LICENSE`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										27
									
								
								thirdparty/cvtt/etc_notes.txt
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										27
									
								
								thirdparty/cvtt/etc_notes.txt
									
									
									
									
										vendored
									
									
								
							@@ -1,27 +0,0 @@
 | 
			
		||||
The ETC1 compressor uses modified cluster fit:
 | 
			
		||||
 | 
			
		||||
Assume that there exists an ideal base color and set of selectors for a given table.
 | 
			
		||||
For a given table and set of selectors, the ideal base color can be determined by subtracting the offsets from each pixel and averaging them.
 | 
			
		||||
Doing that is equivalent to subtracting the average offset from the average color.
 | 
			
		||||
Because positive and negative selectors of the same magnitude cancel out, the search space of possible average offsets is reduced: 57 unique offsets for the first table and 81 for the others.
 | 
			
		||||
Most of the offsets result in the same color as another average offset due to quantization of the base color, so those can be de-duplicated.
 | 
			
		||||
So:
 | 
			
		||||
- Start with a high-precision average color.
 | 
			
		||||
- Apply precomputed luma offsets to it.
 | 
			
		||||
- Quantize and de-duplicate the base colors.
 | 
			
		||||
- Find the ideal selectors for each base color.
 | 
			
		||||
 | 
			
		||||
Differential mode is solved by just finding the best legal combination from those attempts.
 | 
			
		||||
 | 
			
		||||
There are several scenarios where this is not ideal:
 | 
			
		||||
- Clamping behavior can sometimes be leveraged for a more accurate block.
 | 
			
		||||
- Differentials can sometimes be moved slightly closer to become legal.
 | 
			
		||||
- This only works when MSE is the error metric (i.e. not normal maps)
 | 
			
		||||
- This only works when pixel weights are of equal importance (i.e. not using weight by alpha or edge deblocking)
 | 
			
		||||
 | 
			
		||||
T and H mode just work by generating clustering assignments by computing a chrominance line and splitting the block in half by the chrominance midpoint and using those to determine the averages.
 | 
			
		||||
 | 
			
		||||
Planar mode is just solved algebraically.
 | 
			
		||||
 | 
			
		||||
If you want to emulate etc2comp's default settings, add the flag ETC_UseFakeBT709 to use its modified Rec. 709 error coefficients.
 | 
			
		||||
Doing that will significantly slow down encoding because it requires much more complicated quantization math.
 | 
			
		||||
		Reference in New Issue
	
	Block a user