Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
6ac70ff
TileMap Fix rendering odd-sized tiles
kleonc Mar 12, 2023
39c0392
Document using AnimatableBody when needed in StaticBody description
Calinou Mar 29, 2023
769daf7
Fix multi-line string highlighting with single quotes.
HolonProduction Apr 17, 2023
357e2ec
[Image Font] Fix fractional ascent for font with odd height.
bruvzg Apr 16, 2023
10547de
[Windows TTS] Fix queuing utterances in rapid succession.
bruvzg Apr 10, 2023
f1505fe
Fix NavigationMesh baking for HeightMapShape
smix8 Apr 18, 2023
cce2ffd
Remove wrong Ctrl from 2D editor tooltip
KoBeWi Apr 18, 2023
46e7f33
[Windows] Cleanup COM library initialization/uninitialization.
bruvzg Apr 10, 2023
a27dd86
Fix editor lock on sdf collision bake on error
spanzeri Apr 19, 2023
878367b
mbedtls: Update to upstream version 2.28.3
akien-mga Apr 18, 2023
fcdd7ed
Fix expected argument count in Callable call error text
kleonc Apr 19, 2023
f241b17
CI: Speed up static checks by checking only changed files
akien-mga Apr 19, 2023
82a17d0
CI: Fixup failure to get changed files on merge
akien-mga Apr 20, 2023
c893968
CI: Fix checks fallback logic when changed files listing is missing
akien-mga Apr 20, 2023
4d38529
Fix for mixed tabs and spaces in gdscript
MystMagus Apr 20, 2023
c465501
Fix lerp error message
pkowal1982 Apr 21, 2023
f5721ca
Document custom mouse cursors larger than 128×128 potentially having …
Calinou Apr 21, 2023
c8ed59b
Validate renderer selection in project manager and change default ren…
clayjohn Apr 21, 2023
82aab2b
Fix invalid global position when read outside tree
KoBeWi Mar 30, 2023
eae3d61
Downgrade android gradle plugin to version 7.2.1.
Apr 21, 2023
bceb910
Make `EditorPropertyLayersGrid` responsive to touch taps
m4gr3d Apr 5, 2023
01014a7
Make tab's close button responsive to touch taps
m4gr3d Apr 5, 2023
9336866
Fix layout list not resizing in editor layout dialog
timothyqiu Apr 23, 2023
7f1b1e1
Fix TouchScreenButton not redrawn when texture changes
timothyqiu Mar 17, 2023
12969aa
Fix editor spin slider remaining editable if set read_only during an …
spanzeri Apr 16, 2023
e03ee06
Fix GDScript LSP variable rename
adamscott Apr 15, 2023
75a33fd
Add missing PhysicalBone2D icon
MewPurPur Apr 22, 2023
112677c
Fix `line_spacing` in code editor will not take effect immediately on…
Rindbee Apr 24, 2023
289d551
Create an "Editor-only" section in the online class reference
YuriSizov Apr 24, 2023
4c8946c
Fix issues with Vulkan layout transitions
RandomShaper Apr 21, 2023
389045c
Fix inconsistent file dialog settings usage
timothyqiu Apr 25, 2023
0132c29
Fix wrong file on function call error
sodaJar Apr 24, 2023
7b59361
Document why Gradient.reverse() doesn't reverse constant gradients
MewPurPur Apr 17, 2023
b711b45
ios splash screen rotation fix
theromis Apr 13, 2023
4b45561
Fix the uid field of the tscn/res file is lost when the external depe…
Rindbee Dec 18, 2022
5120afc
Fix crash caused by invalid mix_rate assignment due to bogus
Eoin-ONeill-Yokai Dec 10, 2022
d327bb7
Fix issue with resizing the display on Android when using the compati…
m4gr3d Apr 26, 2023
08ec4a8
Add information about how `Engine.time_scale` affects Timers
AThousandShips Apr 23, 2023
b9e75e5
Document automatic center mode using shape origins
winston-yallow Apr 26, 2023
56110a3
Err when trying to build the editor without its required modules
YuriSizov Mar 16, 2023
7f09c3d
Provide an example on how to use ImmediateMesh
MewPurPur Apr 26, 2023
e7f4af0
Update the changelog for 4.0.3
YuriSizov Apr 26, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/runner.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ concurrency:

jobs:
static-checks:
name: 📊 Static
name: 📊 Static checks
uses: ./.github/workflows/static_checks.yml

android-build:
Expand Down
69 changes: 49 additions & 20 deletions .github/workflows/static_checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,49 +8,73 @@ concurrency:

jobs:
static-checks:
name: Static Checks (clang-format, black format, file format, documentation checks)
runs-on: ubuntu-20.04
name: Code style, file formatting, and docs
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 2

- name: Install APT dependencies
uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: dos2unix libxml2-utils moreutils

- name: Install dependencies
- name: Install Python dependencies and general setup
run: |
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
sudo apt-add-repository "deb http://apt.llvm.org/focal/ llvm-toolchain-focal-15 main"
sudo apt-get install -qq dos2unix clang-format-15 libxml2-utils python3-pip moreutils
sudo update-alternatives --remove-all clang-format || true
sudo update-alternatives --install /usr/bin/clang-format clang-format /usr/bin/clang-format-15 100
sudo pip3 install black==22.3.0 pytest==7.1.2 mypy==0.971
pip3 install black==22.3.0 pytest==7.1.2 mypy==0.971
git config diff.wsErrorHighlight all

- name: Get changed files
id: changed-files
run: |
if [ "${{ github.event_name }}" == "pull_request" ]; then
files=$(git diff-tree --no-commit-id --name-only -r ${{ github.event.pull_request.base.sha }}..${{ github.event.pull_request.head.sha }} 2> /dev/null || true)
elif [ "${{ github.event_name }}" == "push" -a "${{ github.event.forced }}" == "false" -a "${{ github.event.created }}" == "false" ]; then
files=$(git diff-tree --no-commit-id --name-only -r ${{ github.event.before }}..${{ github.event.after }} 2> /dev/null || true)
fi
echo "$files" >> changed.txt
cat changed.txt

- name: File formatting checks (file_format.sh)
run: |
bash ./misc/scripts/file_format.sh
bash ./misc/scripts/file_format.sh changed.txt

- name: Header guards formatting checks (header_guards.sh)
run: |
bash ./misc/scripts/header_guards.sh
bash ./misc/scripts/header_guards.sh changed.txt

- name: Python style checks via black (black_format.sh)
run: |
bash ./misc/scripts/black_format.sh
if grep -qE '\.py$|SConstruct|SCsub' changed.txt || [ -z "$(cat changed.txt)" ]; then
bash ./misc/scripts/black_format.sh
else
echo "Skipping Python formatting as no Python files were changed."
fi

- name: Python scripts static analysis (mypy_check.sh)
run: |
bash ./misc/scripts/mypy_check.sh
if grep -qE '\.py$|SConstruct|SCsub' changed.txt || [ -z "$(cat changed.txt)" ]; then
bash ./misc/scripts/mypy_check.sh
else
echo "Skipping Python static analysis as no Python files were changed."
fi

- name: Python builders checks via pytest (pytest_builders.sh)
run: |
bash ./misc/scripts/pytest_builders.sh

- name: JavaScript style and documentation checks via ESLint and JSDoc
run: |
cd platform/web
npm ci
npm run lint
npm run docs -- -d dry-run
if grep -q "platform/web" changed.txt || [ -z "$(cat changed.txt)" ]; then
cd platform/web
npm ci
npm run lint
npm run docs -- -d dry-run
else
echo "Skipping JavaScript formatting as no Web/JS files were changed."
fi

- name: Class reference schema checks
run: |
Expand All @@ -62,11 +86,16 @@ jobs:

- name: Style checks via clang-format (clang_format.sh)
run: |
bash ./misc/scripts/clang_format.sh
clang-format --version
bash ./misc/scripts/clang_format.sh changed.txt

- name: Style checks via dotnet format (dotnet_format.sh)
run: |
bash ./misc/scripts/dotnet_format.sh
if grep -q "modules/mono" changed.txt || [ -z "$(cat changed.txt)" ]; then
bash ./misc/scripts/dotnet_format.sh
else
echo "Skipping dotnet format as no C# files were changed."
fi

- name: Spell checks via codespell
uses: codespell-project/actions-codespell@v1
Expand Down
40 changes: 37 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ See the [release announcement](https://godotengine.org/article/maintenance-relea

### Added

#### Documentation

- Create an "Editor-only" section in the online class reference ([GH-76410](https://github.com/godotengine/godot/pull/76410)).

#### Editor

- Properly remember snapping options per-project ([GH-74682](https://github.com/godotengine/godot/pull/74682)).
Expand Down Expand Up @@ -37,8 +41,10 @@ See the [release announcement](https://godotengine.org/article/maintenance-relea
#### Buildsystem

- Wait for static check results before starting other CI builds ([GH-65232](https://github.com/godotengine/godot/pull/65232)).
- Err when trying to build the editor without its required modules ([GH-74980](https://github.com/godotengine/godot/pull/74980)).
- Remove obsolete 'tools' in a CI workflow name ([GH-75687](https://github.com/godotengine/godot/pull/75687)).
- Visibly print trailing whitespace when static checks fail ([GH-75700](https://github.com/godotengine/godot/pull/75700)).
- CI: Speed up static checks by checking only changed files ([GH-76263](https://github.com/godotengine/godot/pull/76263)).

#### C#/.NET

Expand All @@ -57,9 +63,9 @@ See the [release announcement](https://godotengine.org/article/maintenance-relea
- Re-enable script editor File menu shortcuts when the menu is hidden ([GH-74319](https://github.com/godotengine/godot/pull/74319)).
- Prevent color conversion of the big Godot logo ([GH-75653](https://github.com/godotengine/godot/pull/75653)).
- Set font sizes for various styles in editor output panel ([GH-75780](https://github.com/godotengine/godot/pull/75780)).
- Remove unnecessary zero multiplications ([GH-75822](https://github.com/godotengine/godot/pull/75822)).
- Adjust size of some dialogs ([GH-75895](https://github.com/godotengine/godot/pull/75895)).
- Change cursor consistently when panning in the 2D Editor ([GH-75997](https://github.com/godotengine/godot/pull/75997)).
- Validate renderer selection in project manager and expose default renderer setting as an enum ([GH-76331](https://github.com/godotengine/godot/pull/76331)).

#### GUI

Expand All @@ -71,7 +77,6 @@ See the [release announcement](https://godotengine.org/article/maintenance-relea
- Use dedicated flag for object replacement characters in TextServer ([GH-75974](https://github.com/godotengine/godot/pull/75974)).
- Improve line BiDi handling, prevent crash on recursive log updates ([GH-75975](https://github.com/godotengine/godot/pull/75975)).
- Don't apply scale to autohide theme property ([GH-75993](https://github.com/godotengine/godot/pull/75993)).
- Use Point2 consistently in Control methods ([GH-76029](https://github.com/godotengine/godot/pull/76029)).

#### Import

Expand All @@ -92,6 +97,10 @@ See the [release announcement](https://godotengine.org/article/maintenance-relea

- Modify contact_max_allowed_penetration precision to 3 significant digits ([GH-75665](https://github.com/godotengine/godot/pull/75665)).

#### Porting

- Android: Downgrade Android gradle plugin to version 7.2.1 ([GH-76325](https://github.com/godotengine/godot/pull/76325)).

#### Rendering

- Recreate swap chain when suboptimal to avoid error spam ([GH-72859](https://github.com/godotengine/godot/pull/72859)).
Expand All @@ -105,19 +114,23 @@ See the [release announcement](https://godotengine.org/article/maintenance-relea
#### Thirdparty

- thorvg updated to 0.8.4.
- mbedtls updated to 2.28.3.

### Fixed

#### 2D

- Fix RemoteTransform2D could fail to update AnimatableBody2D's position or rotation ([GH-75487](https://github.com/godotengine/godot/pull/75487)).
- Fix rendering odd-sized tiles ([GH-74814](https://github.com/godotengine/godot/pull/74814)).
- Fix TouchScreenButton not redrawn when texture changes ([GH-75016](https://github.com/godotengine/godot/pull/75016)).

#### Animation

- Fix blend_shape (shapekey) empty name import ([GH-75990](https://github.com/godotengine/godot/pull/75990)).

#### Audio

- Fix crash caused by invalid mix_rate assignment due to bogus project settings ([GH-69833](https://github.com/godotengine/godot/pull/69833)).
- Fix AudioStreamPlayer2D crash when PhysicsServer2D runs on thread ([GH-75728](https://github.com/godotengine/godot/pull/75728)).

#### Buildsystem
Expand All @@ -127,15 +140,24 @@ See the [release announcement](https://godotengine.org/article/maintenance-relea

#### Core

- Fix the UID field of the tscn/res file is lost when the external dependency is updated ([GH-70234](https://github.com/godotengine/godot/pull/70234)).
- Fix invalid global position when read outside tree ([GH-75509](https://github.com/godotengine/godot/pull/75509)).
- Fix moving position indicator out of bounds in FileAccessMemory ([GH-75641](https://github.com/godotengine/godot/pull/75641)).
- Fix expected argument count in Callable call error text ([GH-76259](https://github.com/godotengine/godot/pull/76259)).
- Fix lerp error message ([GH-76314](https://github.com/godotengine/godot/pull/76314)).

#### Editor

- Fix off-by-one issue where "Go to Line" dialog shows the incorrect line number ([GH-75523](https://github.com/godotengine/godot/pull/75523)).
- Fix UI responsiveness to touch taps ([GH-75703](https://github.com/godotengine/godot/pull/75703)).
- Fix deserializing resource usage debug data ([GH-75782](https://github.com/godotengine/godot/pull/75782)).
- Initialize editor values on first launch ([GH-75799](https://github.com/godotengine/godot/pull/75799)).
- Fix connect signal dialog not allowing Unicode method name ([GH-75814](https://github.com/godotengine/godot/pull/75814)).
- Fix method dialog label ([GH-75844](https://github.com/godotengine/godot/pull/75844)).
- Fix editor spin slider remaining editable if set read_only while editing ([GH-76122](https://github.com/godotengine/godot/pull/76122)).
- Fix layout list not resizing in editor layout dialog ([GH-76364](https://github.com/godotengine/godot/pull/76364)).
- Fix `line_spacing` in code editor will not take effect immediately on change ([GH-76396](https://github.com/godotengine/godot/pull/76396)).
- Fix inconsistent file dialog settings usage ([GH-76421](https://github.com/godotengine/godot/pull/76421)).

#### Export

Expand All @@ -145,6 +167,10 @@ See the [release announcement](https://godotengine.org/article/maintenance-relea

- Add missing member type check when resolving `extends` ([GH-75879](https://github.com/godotengine/godot/pull/75879)).
- Fix typo in LSP parse function parameters ([GH-76090](https://github.com/godotengine/godot/pull/76090)).
- Fix inner method variable rename in LSP ([GH-76095](https://github.com/godotengine/godot/pull/76095)).
- Fix multi-line string highlighting with single quotes ([GH-76170](https://github.com/godotengine/godot/pull/76170)).
- Fix mixed tabs and spaces issues ([GH-76286](https://github.com/godotengine/godot/pull/76286)).
- Fix wrong file name on function call error ([GH-76404](https://github.com/godotengine/godot/pull/76404)).

#### GUI

Expand All @@ -158,6 +184,7 @@ See the [release announcement](https://godotengine.org/article/maintenance-relea
- Fix offset calculation in Tree when there are hidden items ([GH-75977](https://github.com/godotengine/godot/pull/75977)).
- Add missing LineEdit constants in editor theme ([GH-76123](https://github.com/godotengine/godot/pull/76123)).
- Fix blurry borders on antialiased StyleBoxFlat ([GH-76132](https://github.com/godotengine/godot/pull/76132)).
- Fix fractional ascent for image fonts with odd height ([GH-76136](https://github.com/godotengine/godot/pull/76136)).

#### Import

Expand All @@ -173,7 +200,8 @@ See the [release announcement](https://godotengine.org/article/maintenance-relea

#### Navigation

- Navigation: Fix NavigationObstacles not being added to avoidance simulation ([GH-75756](https://github.com/godotengine/godot/pull/75756)).
- Fix NavigationObstacles not being added to avoidance simulation ([GH-75756](https://github.com/godotengine/godot/pull/75756)).
- Fix NavigationMesh baking for HeightMapShape ([GH-76212](https://github.com/godotengine/godot/pull/76212)).

#### Particles

Expand All @@ -186,14 +214,20 @@ See the [release announcement](https://godotengine.org/article/maintenance-relea

#### Porting

- Android: Fix issue with resizing the display when using the compatibility renderer ([GH-76464](https://github.com/godotengine/godot/pull/76464)).
- iOS: Fix splash screen rotation ([GH-76037](https://github.com/godotengine/godot/pull/76037)).
- Windows: Fix clipboard relying on focused window ([GH-73878](https://github.com/godotengine/godot/pull/73878)).
- Windows: Fix queuing utterances in rapid succession ([GH-75880](https://github.com/godotengine/godot/pull/75880)).
- Windows: Cleanup COM library initialization/uninitialization ([GH-75881](https://github.com/godotengine/godot/pull/75881)).
- Windows: Fix StringFileInfo structure ([GH-76001](https://github.com/godotengine/godot/pull/76001)).

#### Rendering

- Fix interpolation of R0 for metallic and calculation of the Fresnel Shlick term in SSR ([GH-75368](https://github.com/godotengine/godot/pull/75368)).
- Fix `get_test_texture()` returning an almost fully white texture ([GH-75632](https://github.com/godotengine/godot/pull/75632)).
- Ensure that depth write state is updated before transparent pass in OpenGL3 renderer ([GH-75968](https://github.com/godotengine/godot/pull/75968)).
- Fix editor lock on sdf collision bake on error ([GH-76257](https://github.com/godotengine/godot/pull/76257)).
- Fix issues with Vulkan layout transitions ([GH-76315](https://github.com/godotengine/godot/pull/76315)).

#### Shaders

Expand Down
13 changes: 11 additions & 2 deletions SConstruct
Original file line number Diff line number Diff line change
Expand Up @@ -820,6 +820,15 @@ if selected_platform in platform_list:
env.module_list = modules_enabled
methods.sort_module_list(env)

if env.editor_build:
# Add editor-specific dependencies to the dependency graph.
env.module_add_dependencies("editor", ["freetype", "svg"])

# And check if they are met.
if not env.module_check_dependencies("editor"):
print("Not all modules required by editor builds are enabled.")
Exit(255)

methods.generate_version_header(env.module_version_string)

env["PROGSUFFIX_WRAP"] = suffix + env.module_version_string + ".console" + env["PROGSUFFIX"]
Expand All @@ -840,15 +849,15 @@ if selected_platform in platform_list:

if env["disable_3d"]:
if env.editor_build:
print("Build option 'disable_3d=yes' cannot be used for editor builds, but only for export templates.")
print("Build option 'disable_3d=yes' cannot be used for editor builds, only for export template builds.")
Exit(255)
else:
env.Append(CPPDEFINES=["_3D_DISABLED"])
if env["disable_advanced_gui"]:
if env.editor_build:
print(
"Build option 'disable_advanced_gui=yes' cannot be used for editor builds, "
"but only for export templates."
"only for export template builds."
)
Exit(255)
else:
Expand Down
4 changes: 2 additions & 2 deletions core/variant/variant.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3659,9 +3659,9 @@ String Variant::get_call_error_text(Object *p_base, const StringName &p_method,
err_text = "Cannot convert argument " + itos(errorarg + 1) + " from [missing argptr, type unknown] to " + Variant::get_type_name(Variant::Type(ce.expected));
}
} else if (ce.error == Callable::CallError::CALL_ERROR_TOO_MANY_ARGUMENTS) {
err_text = "Method expected " + itos(ce.argument) + " arguments, but called with " + itos(p_argcount);
err_text = "Method expected " + itos(ce.expected) + " arguments, but called with " + itos(p_argcount);
} else if (ce.error == Callable::CallError::CALL_ERROR_TOO_FEW_ARGUMENTS) {
err_text = "Method expected " + itos(ce.argument) + " arguments, but called with " + itos(p_argcount);
err_text = "Method expected " + itos(ce.expected) + " arguments, but called with " + itos(p_argcount);
} else if (ce.error == Callable::CallError::CALL_ERROR_INVALID_METHOD) {
err_text = "Method not found";
} else if (ce.error == Callable::CallError::CALL_ERROR_INSTANCE_IS_NULL) {
Expand Down
1 change: 1 addition & 0 deletions core/variant/variant_utility.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -374,6 +374,7 @@ struct VariantUtilityFunctions {
r_error.error = Callable::CallError::CALL_OK;
if (from.get_type() != to.get_type()) {
r_error.error = Callable::CallError::CALL_ERROR_INVALID_ARGUMENT;
r_error.expected = from.get_type();
r_error.argument = 1;
return Variant();
}
Expand Down
2 changes: 1 addition & 1 deletion doc/classes/AnimatableBody2D.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AnimatableBody2D" inherits="StaticBody2D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
Physics body for 2D physics which moves only by script or animation. Useful for moving platforms and doors.
Physics body for 2D physics which moves only by script or animation (while affecting other bodies on its path). Useful for moving platforms and doors.
</brief_description>
<description>
Animatable body for 2D physics.
Expand Down
2 changes: 1 addition & 1 deletion doc/classes/AnimatableBody3D.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AnimatableBody3D" inherits="StaticBody3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
Physics body for 3D physics which moves only by script or animation. Useful for moving platforms and doors.
Physics body for 3D physics which moves only by script or animation (while affecting other bodies on its path). Useful for moving platforms and doors.
</brief_description>
<description>
Animatable body for 3D physics.
Expand Down
2 changes: 1 addition & 1 deletion doc/classes/Engine.xml
Original file line number Diff line number Diff line change
Expand Up @@ -306,7 +306,7 @@
[b]Note:[/b] This property does not impact the editor's Errors tab when running a project from the editor.
</member>
<member name="time_scale" type="float" setter="set_time_scale" getter="get_time_scale" default="1.0">
Controls how fast or slow the in-game clock ticks versus the real life one. It defaults to 1.0. A value of 2.0 means the game moves twice as fast as real life, whilst a value of 0.5 means the game moves at half the regular speed.
Controls how fast or slow the in-game clock ticks versus the real life one. It defaults to 1.0. A value of 2.0 means the game moves twice as fast as real life, whilst a value of 0.5 means the game moves at half the regular speed. This also affects [Timer] and [SceneTreeTimer] (see [method SceneTree.create_timer] for how to control this).
</member>
</members>
</class>
1 change: 1 addition & 0 deletions doc/classes/Expression.xml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@
[/codeblocks]
</description>
<tutorials>
<link title="Evaluating Expressions">$DOCS_URL/tutorials/scripting/evaluating_expressions.html</link>
</tutorials>
<methods>
<method name="execute">
Expand Down
3 changes: 2 additions & 1 deletion doc/classes/Gradient.xml
Original file line number Diff line number Diff line change
Expand Up @@ -49,13 +49,14 @@
<return type="void" />
<description>
Reverses/mirrors the gradient.
[b]Note:[/b] This method mirrors all points around the middle of the gradient, which may produce unexpected results when [member interpolation_mode] is set to [constant GRADIENT_INTERPOLATE_CONSTANT].
</description>
</method>
<method name="sample">
<return type="Color" />
<param index="0" name="offset" type="float" />
<description>
Returns the interpolated color specified by [code]offset[/code].
Returns the interpolated color specified by [param offset].
</description>
</method>
<method name="set_color">
Expand Down
Loading