mirror of
https://github.com/godotengine/godot.git
synced 2024-11-21 03:22:33 +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:
parent
b931a6e5ce
commit
dff6752ac8
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.
|
||||
|
||||
![Screenshot of a 3D scene in the Godot Engine editor](https://raw.githubusercontent.com/godotengine/godot-design/master/screenshots/editor_tps_demo_1920x1080.jpg)
|
||||
|
||||
@ -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.
|
Loading…
Reference in New Issue
Block a user